From d307d32d4609b335e1063e5d17097cf7840f16d4 Mon Sep 17 00:00:00 2001 From: noppoman Date: Mon, 6 Aug 2018 16:02:12 +0900 Subject: [PATCH] Sync models with aws-sdk-go v1.15.5 --- Dockerfile | 2 +- .../AWSMigrationHub/AWSMigrationHub_API.swift | 6 +- .../AWSMigrationHub_Shapes.swift | 3 +- .../Services/Cloud9/Cloud9_API.swift | 6 +- .../Services/Cloud9/Cloud9_Shapes.swift | 8 +- .../Services/GuardDuty/GuardDuty_API.swift | 61 +- .../Services/GuardDuty/GuardDuty_Error.swift | 6 +- .../Services/GuardDuty/GuardDuty_Shapes.swift | 747 +- .../Services/SageMaker/SageMaker_API.swift | 112 +- .../Services/SageMaker/SageMaker_Error.swift | 12 +- .../Services/SageMaker/SageMaker_Shapes.swift | 3807 ++-- .../Services/acm-pca/AcmPca_API.swift | 114 + .../Services/acm-pca/AcmPca_Error.swift | 68 + .../Services/acm-pca/AcmPca_Shapes.swift | 937 + .../AWSSDKSwift/Services/acm/Acm_API.swift | 42 +- .../AWSSDKSwift/Services/acm/Acm_Error.swift | 6 +- .../AWSSDKSwift/Services/acm/Acm_Shapes.swift | 276 +- .../Alexaforbusiness_API.swift | 213 +- .../Alexaforbusiness_Error.swift | 21 +- .../Alexaforbusiness_Shapes.swift | 2091 ++- .../Services/apigateway/Apigateway_API.swift | 137 +- .../apigateway/Apigateway_Shapes.swift | 788 +- .../ApplicationAutoscaling_API.swift | 10 +- .../ApplicationAutoscaling_Shapes.swift | 171 +- .../Services/appstream/Appstream_API.swift | 106 +- .../Services/appstream/Appstream_Error.swift | 3 + .../Services/appstream/Appstream_Shapes.swift | 1173 +- .../Services/appsync/Appsync_API.swift | 29 +- .../Services/appsync/Appsync_Error.swift | 3 + .../Services/appsync/Appsync_Shapes.swift | 1549 +- .../AutoscalingPlans_API.swift | 54 + .../AutoscalingPlans_Error.swift | 38 + .../AutoscalingPlans_Shapes.swift | 625 + .../autoscaling/Autoscaling_API.swift | 20 +- .../autoscaling/Autoscaling_Error.swift | 9 +- .../autoscaling/Autoscaling_Shapes.swift | 141 +- .../Services/batch/Batch_Shapes.swift | 58 +- .../Services/budgets/Budgets_API.swift | 28 +- .../Services/budgets/Budgets_Shapes.swift | 162 +- Sources/AWSSDKSwift/Services/ce/Ce_API.swift | 22 +- .../AWSSDKSwift/Services/ce/Ce_Error.swift | 12 + .../AWSSDKSwift/Services/ce/Ce_Shapes.swift | 1256 +- .../clouddirectory/Clouddirectory_API.swift | 51 +- .../clouddirectory/Clouddirectory_Error.swift | 15 +- .../Clouddirectory_Shapes.swift | 843 +- .../cloudformation/Cloudformation_API.swift | 2 +- .../cloudformation/Cloudformation_Error.swift | 6 +- .../Cloudformation_Shapes.swift | 191 +- .../Services/cloudfront/Cloudfront_API.swift | 182 +- .../cloudfront/Cloudfront_Error.swift | 72 +- .../cloudfront/Cloudfront_Shapes.swift | 1997 ++- .../Services/cloudhsmv2/Cloudhsmv2_API.swift | 4 + .../cloudhsmv2/Cloudhsmv2_Shapes.swift | 157 +- .../cloudsearch/Cloudsearch_Shapes.swift | 22 +- .../cloudtrail/Cloudtrail_Shapes.swift | 34 +- .../Services/codebuild/Codebuild_API.swift | 10 +- .../Services/codebuild/Codebuild_Shapes.swift | 317 +- .../Services/codecommit/Codecommit_API.swift | 7 +- .../codecommit/Codecommit_Error.swift | 42 + .../codecommit/Codecommit_Shapes.swift | 237 +- .../Services/codedeploy/Codedeploy_API.swift | 12 +- .../codedeploy/Codedeploy_Error.swift | 54 +- .../codedeploy/Codedeploy_Shapes.swift | 467 +- .../codepipeline/Codepipeline_API.swift | 31 +- .../codepipeline/Codepipeline_Error.swift | 9 + .../codepipeline/Codepipeline_Shapes.swift | 340 +- .../Services/cognito-idp/CognitoIdp_API.swift | 7 +- .../cognito-idp/CognitoIdp_Shapes.swift | 186 +- .../Services/comprehend/Comprehend_API.swift | 130 +- .../comprehend/Comprehend_Error.swift | 12 +- .../comprehend/Comprehend_Shapes.swift | 1763 +- .../Services/config/Config_API.swift | 134 +- .../Services/config/Config_Error.swift | 42 +- .../Services/config/Config_Shapes.swift | 3184 ++-- .../Services/connect/Connect_API.swift | 113 + .../Services/connect/Connect_Error.swift | 53 + .../Services/connect/Connect_Shapes.swift | 1037 ++ .../AWSSDKSwift/Services/dax/Dax_Shapes.swift | 12 +- .../Services/devicefarm/Devicefarm_API.swift | 109 +- .../devicefarm/Devicefarm_Error.swift | 3 + .../devicefarm/Devicefarm_Shapes.swift | 1548 +- .../directconnect/Directconnect_Shapes.swift | 259 +- .../Services/discovery/Discovery_API.swift | 4 +- .../Services/discovery/Discovery_Shapes.swift | 83 +- .../AWSSDKSwift/Services/dlm/Dlm_API.swift | 53 + .../AWSSDKSwift/Services/dlm/Dlm_Error.swift | 32 + .../AWSSDKSwift/Services/dlm/Dlm_Shapes.swift | 414 + .../AWSSDKSwift/Services/dms/Dms_API.swift | 34 +- .../AWSSDKSwift/Services/dms/Dms_Error.swift | 6 +- .../AWSSDKSwift/Services/dms/Dms_Shapes.swift | 646 +- Sources/AWSSDKSwift/Services/ds/Ds_API.swift | 15 +- .../AWSSDKSwift/Services/ds/Ds_Error.swift | 6 + .../AWSSDKSwift/Services/ds/Ds_Shapes.swift | 164 +- .../Services/dynamodb/Dynamodb_API.swift | 80 +- .../Services/dynamodb/Dynamodb_Error.swift | 51 +- .../Services/dynamodb/Dynamodb_Shapes.swift | 1154 +- .../AWSSDKSwift/Services/ec2/Ec2_API.swift | 132 +- .../AWSSDKSwift/Services/ec2/Ec2_Shapes.swift | 3011 +++- .../AWSSDKSwift/Services/ecr/Ecr_API.swift | 4 +- .../AWSSDKSwift/Services/ecr/Ecr_Shapes.swift | 36 +- .../AWSSDKSwift/Services/ecs/Ecs_API.swift | 8 +- .../AWSSDKSwift/Services/ecs/Ecs_Shapes.swift | 4548 ++--- .../AWSSDKSwift/Services/eks/Eks_API.swift | 48 + .../AWSSDKSwift/Services/eks/Eks_Error.swift | 44 + .../AWSSDKSwift/Services/eks/Eks_Shapes.swift | 298 + .../elasticache/Elasticache_API.swift | 1 + .../elasticache/Elasticache_Shapes.swift | 104 +- .../Elasticbeanstalk_API.swift | 13 +- .../Elasticbeanstalk_Shapes.swift | 97 +- .../Elasticfilesystem_API.swift | 27 +- .../Elasticfilesystem_Error.swift | 33 +- .../Elasticfilesystem_Shapes.swift | 133 +- .../Elasticloadbalancing_API.swift | 18 +- .../Elasticloadbalancing_Error.swift | 3 + .../Elasticloadbalancing_Shapes.swift | 12 +- .../Elasticloadbalancingv2_API.swift | 18 +- .../Elasticloadbalancingv2_Error.swift | 12 +- .../Elasticloadbalancingv2_Shapes.swift | 563 +- .../Elasticmapreduce_API.swift | 2 +- .../Elasticmapreduce_Shapes.swift | 28 +- .../Services/email/Email_API.swift | 72 +- .../Services/email/Email_Error.swift | 15 + .../Services/email/Email_Shapes.swift | 339 +- Sources/AWSSDKSwift/Services/es/Es_API.swift | 15 + .../AWSSDKSwift/Services/es/Es_Error.swift | 6 +- .../AWSSDKSwift/Services/es/Es_Shapes.swift | 670 +- .../Services/events/Events_API.swift | 4 +- .../Services/events/Events_Shapes.swift | 319 +- .../Services/firehose/Firehose_API.swift | 41 +- .../Services/firehose/Firehose_Error.swift | 12 +- .../Services/firehose/Firehose_Shapes.swift | 1163 +- .../AWSSDKSwift/Services/fms/Fms_API.swift | 89 + .../AWSSDKSwift/Services/fms/Fms_Error.swift | 35 + .../AWSSDKSwift/Services/fms/Fms_Shapes.swift | 600 + .../Services/gamelift/Gamelift_API.swift | 83 +- .../Services/gamelift/Gamelift_Shapes.swift | 475 +- .../Services/glacier/Glacier_API.swift | 10 +- .../Services/glacier/Glacier_Shapes.swift | 126 +- .../AWSSDKSwift/Services/glue/Glue_API.swift | 43 +- .../Services/glue/Glue_Error.swift | 6 +- .../Services/glue/Glue_Shapes.swift | 5878 ++++--- .../Services/greengrass/Greengrass_API.swift | 56 +- .../greengrass/Greengrass_Shapes.swift | 534 +- .../Services/health/Health_Shapes.swift | 80 +- .../AWSSDKSwift/Services/iam/Iam_API.swift | 149 +- .../AWSSDKSwift/Services/iam/Iam_Error.swift | 6 +- .../AWSSDKSwift/Services/iam/Iam_Shapes.swift | 664 +- .../Services/inspector/Inspector_API.swift | 56 +- .../Services/inspector/Inspector_Error.swift | 18 +- .../Services/inspector/Inspector_Shapes.swift | 3224 ++-- .../AWSSDKSwift/Services/iot/Iot_API.swift | 353 +- .../AWSSDKSwift/Services/iot/Iot_Error.swift | 39 +- .../AWSSDKSwift/Services/iot/Iot_Shapes.swift | 4526 ++++- .../Iot1clickDevices_API.swift | 92 + .../Iot1clickDevices_Error.swift | 41 + .../Iot1clickDevices_Shapes.swift | 509 + .../Iot1clickProjects_API.swift | 93 + .../Iot1clickProjects_Error.swift | 35 + .../Iot1clickProjects_Shapes.swift | 604 + .../iotanalytics/Iotanalytics_API.swift | 193 + .../iotanalytics/Iotanalytics_Error.swift | 41 + .../iotanalytics/Iotanalytics_Shapes.swift | 2060 +++ .../KinesisVideoArchivedMedia_API.swift | 7 +- .../KinesisVideoArchivedMedia_Error.swift | 12 + .../KinesisVideoArchivedMedia_Shapes.swift | 242 +- .../Services/kinesis/Kinesis_API.swift | 110 +- .../Services/kinesis/Kinesis_Error.swift | 15 +- .../Services/kinesis/Kinesis_Shapes.swift | 1168 +- .../Kinesisanalytics_API.swift | 6 +- .../Kinesisanalytics_Shapes.swift | 153 +- .../kinesisvideo/Kinesisvideo_Shapes.swift | 3 +- .../AWSSDKSwift/Services/kms/Kms_API.swift | 50 +- .../AWSSDKSwift/Services/kms/Kms_Shapes.swift | 201 +- .../Services/lambda/Lambda_API.swift | 16 +- .../Services/lambda/Lambda_Error.swift | 6 + .../Services/lambda/Lambda_Shapes.swift | 217 +- .../Services/lex-models/LexModels_API.swift | 20 +- .../lex-models/LexModels_Shapes.swift | 1107 +- .../Services/lightsail/Lightsail_API.swift | 16 +- .../Services/lightsail/Lightsail_Shapes.swift | 142 +- .../Services/logs/Logs_Shapes.swift | 24 +- .../Machinelearning_Shapes.swift | 10 +- .../Services/macie/Macie_API.swift | 64 + .../Services/macie/Macie_Error.swift | 32 + .../Services/macie/Macie_Shapes.swift | 408 + .../mediaconvert/Mediaconvert_API.swift | 41 +- .../mediaconvert/Mediaconvert_Shapes.swift | 8713 +++++----- .../Services/medialive/Medialive_API.swift | 69 +- .../Services/medialive/Medialive_Shapes.swift | 8988 ++++++---- .../mediapackage/Mediapackage_Shapes.swift | 500 +- .../mediastore-data/MediastoreData_API.swift | 2 +- .../MediastoreData_Shapes.swift | 4 +- .../Services/mediastore/Mediastore_API.swift | 21 +- .../mediastore/Mediastore_Error.swift | 3 + .../mediastore/Mediastore_Shapes.swift | 154 +- .../mediatailor/Mediatailor_API.swift | 47 + .../mediatailor/Mediatailor_Shapes.swift | 276 + .../Services/monitoring/Monitoring_API.swift | 7 +- .../monitoring/Monitoring_Shapes.swift | 422 +- Sources/AWSSDKSwift/Services/mq/Mq_API.swift | 2 +- .../AWSSDKSwift/Services/mq/Mq_Shapes.swift | 1826 +- .../mturk-requester/MturkRequester_API.swift | 4 +- .../MturkRequester_Shapes.swift | 114 +- .../Services/neptune/Neptune_API.swift | 313 + .../Services/neptune/Neptune_Error.swift | 197 + .../Services/neptune/Neptune_Shapes.swift | 5467 ++++++ .../Services/opsworks/Opsworks_API.swift | 83 +- .../Services/opsworks/Opsworks_Shapes.swift | 329 +- .../Services/opsworkscm/Opsworkscm_API.swift | 10 +- .../opsworkscm/Opsworkscm_Shapes.swift | 48 +- .../organizations/Organizations_API.swift | 50 +- .../organizations/Organizations_Shapes.swift | 27 +- Sources/AWSSDKSwift/Services/pi/Pi_API.swift | 39 + .../AWSSDKSwift/Services/pi/Pi_Error.swift | 29 + .../AWSSDKSwift/Services/pi/Pi_Shapes.swift | 359 + .../Services/pinpoint/Pinpoint_API.swift | 97 +- .../Services/pinpoint/Pinpoint_Shapes.swift | 1705 +- .../Services/polly/Polly_API.swift | 33 +- .../Services/polly/Polly_Error.swift | 18 + .../Services/polly/Polly_Shapes.swift | 287 +- .../AWSSDKSwift/Services/rds/Rds_API.swift | 40 +- .../AWSSDKSwift/Services/rds/Rds_Error.swift | 3 + .../AWSSDKSwift/Services/rds/Rds_Shapes.swift | 2332 ++- .../Services/redshift/Redshift_API.swift | 39 +- .../Services/redshift/Redshift_Error.swift | 33 +- .../Services/redshift/Redshift_Shapes.swift | 691 +- .../rekognition/Rekognition_API.swift | 50 +- .../rekognition/Rekognition_Shapes.swift | 134 +- .../resource-groups/ResourceGroups_API.swift | 4 +- .../ResourceGroups_Shapes.swift | 119 +- .../Services/route53/Route53_API.swift | 2 +- .../Services/route53/Route53_Error.swift | 3 + .../Services/route53/Route53_Shapes.swift | 35 +- .../route53domains/Route53domains_API.swift | 10 +- .../Route53domains_Shapes.swift | 129 +- .../runtime.lex/Runtimelex_Shapes.swift | 36 +- Sources/AWSSDKSwift/Services/s3/S3_API.swift | 17 +- .../AWSSDKSwift/Services/s3/S3_Shapes.swift | 436 +- .../secretsmanager/Secretsmanager_API.swift | 119 + .../secretsmanager/Secretsmanager_Error.swift | 53 + .../Secretsmanager_Shapes.swift | 1091 ++ .../serverlessrepo/Serverlessrepo_API.swift | 34 +- .../Serverlessrepo_Shapes.swift | 418 +- .../servicecatalog/Servicecatalog_API.swift | 129 +- .../Servicecatalog_Shapes.swift | 1515 +- .../Servicediscovery_API.swift | 118 + .../Servicediscovery_Error.swift | 53 + .../Servicediscovery_Shapes.swift | 1353 ++ .../Services/shield/Shield_API.swift | 76 +- .../Services/shield/Shield_Error.swift | 33 +- .../Services/shield/Shield_Shapes.swift | 545 +- .../AWSSDKSwift/Services/sms/Sms_Shapes.swift | 10 +- .../Services/snowball/Snowball_API.swift | 15 +- .../Services/snowball/Snowball_Error.swift | 3 + .../Services/snowball/Snowball_Shapes.swift | 521 +- .../AWSSDKSwift/Services/sns/Sns_API.swift | 18 +- .../AWSSDKSwift/Services/sns/Sns_Error.swift | 3 + .../AWSSDKSwift/Services/sns/Sns_Shapes.swift | 134 +- .../AWSSDKSwift/Services/sqs/Sqs_API.swift | 1 + .../AWSSDKSwift/Services/sqs/Sqs_Shapes.swift | 44 +- .../AWSSDKSwift/Services/ssm/Ssm_API.swift | 122 +- .../AWSSDKSwift/Services/ssm/Ssm_Error.swift | 75 +- .../AWSSDKSwift/Services/ssm/Ssm_Shapes.swift | 11876 +++++++------ .../Services/states/States_Shapes.swift | 12 +- .../storagegateway/Storagegateway_API.swift | 58 +- .../Storagegateway_Shapes.swift | 859 +- .../Streamsdynamodb_Shapes.swift | 26 +- .../AWSSDKSwift/Services/sts/Sts_API.swift | 6 +- .../AWSSDKSwift/Services/sts/Sts_Shapes.swift | 28 +- .../AWSSDKSwift/Services/swf/Swf_API.swift | 10 +- .../AWSSDKSwift/Services/swf/Swf_Shapes.swift | 22 +- .../Services/transcribe/Transcribe_API.swift | 69 + .../transcribe/Transcribe_Error.swift | 35 + .../transcribe/Transcribe_Shapes.swift | 648 + .../Services/translate/Translate_API.swift | 2 +- .../Services/translate/Translate_Error.swift | 3 + .../Services/translate/Translate_Shapes.swift | 2 +- .../waf-regional/WafRegional_API.swift | 15 + .../waf-regional/WafRegional_Error.swift | 3 + .../waf-regional/WafRegional_Shapes.swift | 169 +- .../AWSSDKSwift/Services/waf/Waf_API.swift | 15 + .../AWSSDKSwift/Services/waf/Waf_Error.swift | 3 + .../AWSSDKSwift/Services/waf/Waf_Shapes.swift | 179 +- .../Services/workdocs/Workdocs_Shapes.swift | 58 +- .../Services/workmail/Workmail_API.swift | 184 + .../Services/workmail/Workmail_Error.swift | 68 + .../Services/workmail/Workmail_Shapes.swift | 1584 ++ .../Services/workspaces/Workspaces_API.swift | 99 +- .../workspaces/Workspaces_Error.swift | 24 +- .../workspaces/Workspaces_Shapes.swift | 713 +- .../AWSSDKSwift/Services/xray/Xray_API.swift | 16 +- .../Services/xray/Xray_Shapes.swift | 177 +- Sources/CodeGenerator/AWSService.swift | 20 +- .../AWSMigrationHub/2017-05-31/api-2.json | 3 +- .../AWSMigrationHub/2017-05-31/docs-2.json | 16 +- models/apis/Cloud9/2017-09-23/docs-2.json | 14 +- models/apis/Cloud9/2017-09-23/examples-1.json | 303 + models/apis/GuardDuty/2017-11-28/api-2.json | 433 +- models/apis/GuardDuty/2017-11-28/docs-2.json | 160 +- .../GuardDuty/2017-11-28/paginators-1.json | 6 + models/apis/SageMaker/2017-07-24/api-2.json | 1187 +- models/apis/SageMaker/2017-07-24/docs-2.json | 878 +- .../SageMaker/2017-07-24/paginators-1.json | 20 + .../apis/SageMaker/2017-07-24/waiters-2.json | 132 +- models/apis/acm-pca/2017-08-22/api-2.json | 938 + models/apis/acm-pca/2017-08-22/docs-2.json | 589 + .../2017-08-22}/examples-1.json | 0 .../apis/acm-pca/2017-08-22/paginators-1.json | 4 + models/apis/acm/2015-12-08/api-2.json | 113 +- models/apis/acm/2015-12-08/docs-2.json | 103 +- models/apis/acm/2015-12-08/smoke.json | 18 + models/apis/acm/2015-12-08/waiters-2.json | 35 + .../alexaforbusiness/2017-11-09/api-2.json | 506 +- .../alexaforbusiness/2017-11-09/docs-2.json | 345 +- .../2017-11-09/paginators-1.json | 15 + models/apis/apigateway/2015-07-09/api-2.json | 148 +- models/apis/apigateway/2015-07-09/docs-2.json | 480 +- .../2016-02-06/api-2.json | 13 +- .../2016-02-06/docs-2.json | 128 +- .../2016-02-06/smoke.json | 13 + models/apis/appstream/2016-12-01/api-2.json | 471 +- models/apis/appstream/2016-12-01/docs-2.json | 494 +- .../appstream/2016-12-01/paginators-1.json | 10 + models/apis/appstream/2016-12-01/smoke.json | 11 + models/apis/appsync/2017-07-25/api-2.json | 126 +- models/apis/appsync/2017-07-25/docs-2.json | 77 +- .../autoscaling-plans/2018-01-06/api-2.json | 529 + .../autoscaling-plans/2018-01-06/docs-2.json | 417 + .../2018-01-06}/examples-1.json | 0 .../2018-01-06}/paginators-1.json | 0 models/apis/autoscaling/2011-01-01/api-2.json | 48 +- .../apis/autoscaling/2011-01-01/docs-2.json | 63 +- models/apis/batch/2016-08-10/api-2.json | 19 +- models/apis/batch/2016-08-10/docs-2.json | 24 +- models/apis/batch/2016-08-10/smoke.json | 11 + models/apis/budgets/2016-10-20/api-2.json | 43 +- models/apis/budgets/2016-10-20/docs-2.json | 333 +- models/apis/ce/2017-10-25/api-2.json | 368 +- models/apis/ce/2017-10-25/docs-2.json | 406 +- .../{2016-05-10 => 2017-01-11}/api-2.json | 431 +- .../{2016-05-10 => 2017-01-11}/docs-2.json | 235 +- .../2017-01-11}/examples-1.json | 0 .../paginators-1.json | 5 + .../apis/cloudformation/2010-05-15/api-2.json | 27 +- .../cloudformation/2010-05-15/docs-2.json | 43 +- models/apis/cloudfront/2015-04-17/api-2.json | 2651 --- models/apis/cloudfront/2015-04-17/docs-2.json | 1141 -- .../cloudfront/2015-04-17/paginators-1.json | 32 - models/apis/cloudfront/2015-07-27/api-2.json | 2721 --- models/apis/cloudfront/2015-07-27/docs-2.json | 1164 -- .../cloudfront/2015-07-27/paginators-1.json | 32 - .../apis/cloudfront/2015-07-27/waiters-2.json | 47 - models/apis/cloudfront/2015-09-17/api-2.json | 2150 --- models/apis/cloudfront/2015-09-17/docs-2.json | 1173 -- .../cloudfront/2015-09-17/paginators-1.json | 32 - .../apis/cloudfront/2015-09-17/waiters-2.json | 47 - models/apis/cloudfront/2016-01-13/api-2.json | 2216 --- models/apis/cloudfront/2016-01-13/docs-2.json | 1219 -- .../cloudfront/2016-01-13/paginators-1.json | 32 - .../apis/cloudfront/2016-01-13/waiters-2.json | 47 - models/apis/cloudfront/2016-01-28/api-2.json | 2219 --- models/apis/cloudfront/2016-01-28/docs-2.json | 1220 -- .../cloudfront/2016-01-28/paginators-1.json | 32 - .../apis/cloudfront/2016-01-28/waiters-2.json | 47 - models/apis/cloudfront/2016-08-01/api-2.json | 2548 --- models/apis/cloudfront/2016-08-01/docs-2.json | 1355 -- .../cloudfront/2016-08-01/paginators-1.json | 32 - .../apis/cloudfront/2016-08-01/waiters-2.json | 47 - models/apis/cloudfront/2016-08-20/api-2.json | 2586 --- models/apis/cloudfront/2016-08-20/docs-2.json | 1381 -- .../cloudfront/2016-08-20/paginators-1.json | 32 - .../apis/cloudfront/2016-08-20/waiters-2.json | 47 - models/apis/cloudfront/2016-09-07/api-2.json | 2596 --- models/apis/cloudfront/2016-09-07/docs-2.json | 1388 -- .../cloudfront/2016-09-07/paginators-1.json | 32 - .../apis/cloudfront/2016-09-07/waiters-2.json | 47 - models/apis/cloudfront/2016-09-29/api-2.json | 2599 --- models/apis/cloudfront/2016-09-29/docs-2.json | 1390 -- .../cloudfront/2016-09-29/paginators-1.json | 32 - .../apis/cloudfront/2016-09-29/waiters-2.json | 47 - models/apis/cloudfront/2016-11-25/api-2.json | 2665 --- models/apis/cloudfront/2016-11-25/docs-2.json | 1435 -- .../cloudfront/2016-11-25/paginators-1.json | 32 - .../apis/cloudfront/2016-11-25/waiters-2.json | 47 - .../cloudfront/2017-03-25/examples-1.json | 83 - .../apis/cloudfront/2017-03-25/waiters-2.json | 47 - .../{2017-03-25 => 2017-10-30}/api-2.json | 1412 +- .../{2017-03-25 => 2017-10-30}/docs-2.json | 603 +- .../examples-1.json | 0 .../paginators-1.json | 0 models/apis/cloudfront/2017-10-30/smoke.json | 20 + .../{2015-04-17 => 2017-10-30}/waiters-2.json | 0 models/apis/cloudhsmv2/2017-04-28/api-2.json | 66 +- models/apis/cloudhsmv2/2017-04-28/docs-2.json | 42 +- models/apis/cloudhsmv2/2017-04-28/smoke.json | 18 + models/apis/codebuild/2016-10-06/api-2.json | 98 +- models/apis/codebuild/2016-10-06/docs-2.json | 100 +- models/apis/codebuild/2016-10-06/smoke.json | 11 + models/apis/codecommit/2015-04-13/api-2.json | 168 + models/apis/codecommit/2015-04-13/docs-2.json | 117 +- models/apis/codecommit/2015-04-13/smoke.json | 18 + models/apis/codedeploy/2014-10-06/api-2.json | 280 +- models/apis/codedeploy/2014-10-06/docs-2.json | 196 +- models/apis/codedeploy/2014-10-06/smoke.json | 18 + .../apis/codepipeline/2015-07-09/api-2.json | 294 +- .../apis/codepipeline/2015-07-09/docs-2.json | 220 +- models/apis/cognito-idp/2016-04-18/api-2.json | 42 +- .../apis/cognito-idp/2016-04-18/docs-2.json | 66 +- models/apis/comprehend/2017-11-27/api-2.json | 819 +- models/apis/comprehend/2017-11-27/docs-2.json | 473 +- .../comprehend/2017-11-27/paginators-1.json | 20 + models/apis/config/2014-11-12/api-2.json | 803 +- models/apis/config/2014-11-12/docs-2.json | 668 +- models/apis/config/2014-11-12/smoke.json | 19 + models/apis/connect/2017-08-08/api-2.json | 1003 ++ models/apis/connect/2017-08-08/docs-2.json | 606 + .../2017-08-08}/examples-1.json | 0 .../apis/connect/2017-08-08/paginators-1.json | 4 + models/apis/devicefarm/2015-06-23/api-2.json | 542 +- models/apis/devicefarm/2015-06-23/docs-2.json | 354 +- models/apis/devicefarm/2015-06-23/smoke.json | 18 + .../apis/directconnect/2012-10-25/api-2.json | 23 +- .../apis/directconnect/2012-10-25/docs-2.json | 22 +- models/apis/discovery/2015-11-01/api-2.json | 16 +- models/apis/discovery/2015-11-01/docs-2.json | 6 +- models/apis/dlm/2018-01-12/api-2.json | 416 + models/apis/dlm/2018-01-12/docs-2.json | 318 + .../2018-01-12}/examples-1.json | 0 models/apis/dlm/2018-01-12/paginators-1.json | 4 + models/apis/dms/2016-01-01/api-2.json | 127 +- models/apis/dms/2016-01-01/docs-2.json | 109 +- models/apis/dms/2016-01-01/paginators-1.json | 5 + models/apis/dms/2016-01-01/smoke.json | 18 + models/apis/ds/2015-04-16/api-2.json | 82 +- models/apis/ds/2015-04-16/docs-2.json | 51 +- models/apis/ds/2015-04-16/smoke.json | 20 + models/apis/dynamodb/2011-12-05/api-2.json | 803 - models/apis/dynamodb/2011-12-05/docs-2.json | 606 - .../dynamodb/2011-12-05/paginators-1.json | 26 - .../apis/dynamodb/2011-12-05/waiters-2.json | 35 - models/apis/dynamodb/2012-08-10/api-2.json | 385 +- models/apis/dynamodb/2012-08-10/docs-2.json | 353 +- models/apis/dynamodb/2012-08-10/smoke.json | 20 + models/apis/ec2/2015-04-15/api-2.json | 12049 ------------- models/apis/ec2/2015-04-15/docs-2.json | 5495 ------ models/apis/ec2/2015-04-15/paginators-1.json | 125 - models/apis/ec2/2015-04-15/waiters-2.json | 494 - models/apis/ec2/2015-10-01/api-2.json | 13760 --------------- models/apis/ec2/2015-10-01/docs-2.json | 6382 ------- models/apis/ec2/2015-10-01/paginators-1.json | 138 - models/apis/ec2/2015-10-01/waiters-2.json | 593 - models/apis/ec2/2016-04-01/api-2.json | 14191 --------------- models/apis/ec2/2016-04-01/docs-2.json | 6582 ------- models/apis/ec2/2016-04-01/examples-1.json | 3729 ---- models/apis/ec2/2016-04-01/paginators-1.json | 138 - models/apis/ec2/2016-04-01/waiters-2.json | 593 - models/apis/ec2/2016-09-15/api-2.json | 14415 ---------------- models/apis/ec2/2016-09-15/docs-2.json | 6696 ------- models/apis/ec2/2016-09-15/examples-1.json | 3740 ---- models/apis/ec2/2016-09-15/paginators-1.json | 138 - models/apis/ec2/2016-09-15/waiters-2.json | 593 - models/apis/ec2/2016-11-15/api-2.json | 985 +- models/apis/ec2/2016-11-15/docs-2.json | 820 +- models/apis/ec2/2016-11-15/examples-1.json | 1326 +- models/apis/ecr/2015-09-21/docs-2.json | 32 +- models/apis/ecs/2014-11-13/api-2.json | 98 +- models/apis/ecs/2014-11-13/docs-2.json | 238 +- models/apis/eks/2017-11-01/api-2.json | 301 + models/apis/eks/2017-11-01/docs-2.json | 189 + models/apis/eks/2017-11-01/examples-1.json | 114 + models/apis/eks/2017-11-01/paginators-1.json | 4 + .../elasticbeanstalk/2010-12-01/api-2.json | 44 +- .../elasticbeanstalk/2010-12-01/docs-2.json | 2861 +-- .../2010-12-01/examples-1.json | 1374 +- .../elasticbeanstalk/2010-12-01/smoke.json | 18 + .../elasticfilesystem/2015-02-01/api-2.json | 87 +- .../elasticfilesystem/2015-02-01/docs-2.json | 68 +- .../elasticfilesystem/2015-02-01/smoke.json | 18 + .../2012-06-01/api-2.json | 14 +- .../2012-06-01/docs-2.json | 7 +- .../2015-12-01/api-2.json | 228 +- .../2015-12-01/docs-2.json | 314 +- .../2015-12-01/smoke.json | 20 + .../elasticmapreduce/2009-03-31/api-2.json | 1 + .../elasticmapreduce/2009-03-31/docs-2.json | 18 +- .../elasticmapreduce/2009-03-31/smoke.json | 18 + models/apis/email/2010-12-01/api-2.json | 252 + models/apis/email/2010-12-01/docs-2.json | 243 +- .../apis/email/2010-12-01/paginators-1.json | 5 + models/apis/email/2010-12-01/smoke.json | 18 + models/apis/es/2015-01-01/api-2.json | 264 +- models/apis/es/2015-01-01/docs-2.json | 197 +- models/apis/es/2015-01-01/paginators-1.json | 10 + models/apis/es/2015-01-01/smoke.json | 18 + models/apis/events/2014-02-03/api-2.json | 643 - models/apis/events/2014-02-03/docs-2.json | 411 - models/apis/events/2015-10-07/api-2.json | 42 +- models/apis/events/2015-10-07/docs-2.json | 42 +- models/apis/events/2015-10-07/smoke.json | 18 + models/apis/firehose/2015-08-04/api-2.json | 304 +- models/apis/firehose/2015-08-04/docs-2.json | 463 +- models/apis/firehose/2015-08-04/smoke.json | 18 + models/apis/fms/2018-01-01/api-2.json | 544 + models/apis/fms/2018-01-01/docs-2.json | 371 + .../2018-01-01}/examples-1.json | 0 models/apis/fms/2018-01-01/paginators-1.json | 4 + models/apis/gamelift/2015-10-01/api-2.json | 192 +- models/apis/gamelift/2015-10-01/docs-2.json | 251 +- models/apis/glacier/2012-06-01/api-2.json | 1 + models/apis/glacier/2012-06-01/docs-2.json | 42 +- models/apis/glacier/2012-06-01/smoke.json | 18 + models/apis/glue/2017-03-31/api-2.json | 310 +- models/apis/glue/2017-03-31/docs-2.json | 425 +- models/apis/greengrass/2017-06-07/api-2.json | 295 +- models/apis/greengrass/2017-06-07/docs-2.json | 634 +- models/apis/iam/2010-05-08/api-2.json | 169 +- models/apis/iam/2010-05-08/docs-2.json | 628 +- models/apis/iam/2010-05-08/smoke.json | 18 + models/apis/inspector/2015-08-18/api-2.json | 1426 -- models/apis/inspector/2015-08-18/docs-2.json | 1016 -- models/apis/inspector/2016-02-16/api-2.json | 326 +- models/apis/inspector/2016-02-16/docs-2.json | 195 +- .../apis/inspector/2016-02-16/examples-1.json | 1 + .../inspector/2016-02-16/paginators-1.json | 10 + models/apis/inspector/2016-02-16/smoke.json | 18 + models/apis/iot/2015-05-28/api-2.json | 2306 ++- models/apis/iot/2015-05-28/docs-2.json | 1651 +- .../iot1click-devices/2018-05-14/api-2.json | 769 + .../iot1click-devices/2018-05-14/docs-2.json | 199 + .../iot1click-projects/2018-05-14/api-2.json | 748 + .../iot1click-projects/2018-05-14/docs-2.json | 403 + .../2018-05-14}/examples-1.json | 0 .../2018-05-14/paginators-1.json | 4 + .../apis/iotanalytics/2017-11-27/api-2.json | 1785 ++ .../apis/iotanalytics/2017-11-27/docs-2.json | 1094 ++ .../2017-11-27}/examples-1.json | 0 .../iotanalytics/2017-11-27/paginators-1.json | 24 + .../2017-09-30/api-2.json | 120 +- .../2017-09-30/docs-2.json | 95 +- models/apis/kinesis/2013-12-02/api-2.json | 351 +- models/apis/kinesis/2013-12-02/docs-2.json | 310 +- .../apis/kinesis/2013-12-02/paginators-1.json | 5 + models/apis/kinesis/2013-12-02/smoke.json | 18 + .../kinesisanalytics/2015-08-14/api-2.json | 29 + .../kinesisanalytics/2015-08-14/docs-2.json | 124 +- .../apis/kinesisvideo/2017-09-30/api-2.json | 3 +- .../apis/kinesisvideo/2017-09-30/docs-2.json | 6 +- models/apis/kms/2014-11-01/api-2.json | 2 + models/apis/kms/2014-11-01/docs-2.json | 89 +- models/apis/kms/2014-11-01/smoke.json | 19 + models/apis/lambda/2014-11-11/api-2.json | 668 - models/apis/lambda/2014-11-11/docs-2.json | 303 - .../apis/lambda/2014-11-11/paginators-1.json | 16 - models/apis/lambda/2015-03-31/api-2.json | 81 +- models/apis/lambda/2015-03-31/docs-2.json | 111 +- models/apis/lambda/2015-03-31/smoke.json | 18 + models/apis/lex-models/2017-04-19/api-2.json | 185 +- models/apis/lex-models/2017-04-19/docs-2.json | 101 +- models/apis/lightsail/2016-11-28/api-2.json | 6 +- models/apis/lightsail/2016-11-28/docs-2.json | 118 +- models/apis/macie/2017-12-19/api-2.json | 365 + models/apis/macie/2017-12-19/docs-2.json | 261 + models/apis/macie/2017-12-19/examples-1.json | 5 + .../apis/macie/2017-12-19/paginators-1.json | 14 + .../apis/mediaconvert/2017-08-29/api-2.json | 2201 ++- .../apis/mediaconvert/2017-08-29/docs-2.json | 1517 +- models/apis/medialive/2017-10-14/api-2.json | 2662 ++- models/apis/medialive/2017-10-14/docs-2.json | 1153 +- .../medialive/2017-10-14/paginators-1.json | 12 + .../apis/mediapackage/2017-10-12/api-2.json | 295 +- .../apis/mediapackage/2017-10-12/docs-2.json | 147 +- .../mediastore-data/2017-09-01/docs-2.json | 6 +- models/apis/mediastore/2017-09-01/api-2.json | 153 + models/apis/mediastore/2017-09-01/docs-2.json | 114 +- models/apis/mediatailor/2018-04-23/api-2.json | 266 + .../apis/mediatailor/2018-04-23/docs-2.json | 67 + .../mediatailor/2018-04-23/paginators-1.json | 3 + models/apis/monitoring/2010-08-01/api-2.json | 146 +- models/apis/monitoring/2010-08-01/docs-2.json | 166 +- models/apis/mq/2017-11-27/api-2.json | 336 +- models/apis/mq/2017-11-27/docs-2.json | 238 +- models/apis/mq/2017-11-27/paginators-1.json | 3 + .../mturk-requester/2017-01-17/api-2.json | 15 +- .../mturk-requester/2017-01-17/docs-2.json | 20 +- .../mturk-requester/2017-01-17/smoke.json | 11 + .../2014-10-31}/api-2.json | 2535 +-- models/apis/neptune/2014-10-31/docs-2.json | 2063 +++ .../apis/neptune/2014-10-31/examples-1.json | 5 + .../2014-10-31}/paginators-1.json | 36 - .../2014-10-31}/waiters-2.json | 17 +- models/apis/opsworks/2013-02-18/api-2.json | 52 +- models/apis/opsworks/2013-02-18/docs-2.json | 158 +- models/apis/opsworks/2013-02-18/smoke.json | 18 + .../apis/opsworks/2013-02-18/waiters-2.json | 8 +- .../apis/organizations/2016-11-28/api-2.json | 8 +- .../apis/organizations/2016-11-28/docs-2.json | 64 +- models/apis/pi/2018-02-27/api-2.json | 253 + models/apis/pi/2018-02-27/docs-2.json | 219 + .../2018-02-27}/examples-1.json | 0 models/apis/pi/2018-02-27/paginators-1.json | 4 + models/apis/pinpoint/2016-12-01/api-2.json | 1435 +- models/apis/pinpoint/2016-12-01/docs-2.json | 659 +- models/apis/polly/2016-06-10/api-2.json | 252 +- models/apis/polly/2016-06-10/docs-2.json | 176 +- .../apis/polly/2016-06-10/paginators-1.json | 5 + models/apis/polly/2016-06-10/smoke.json | 11 + models/apis/rds/2013-01-10/api-2.json | 2903 ---- models/apis/rds/2013-01-10/docs-2.json | 1681 -- models/apis/rds/2013-02-12/api-2.json | 3059 ---- models/apis/rds/2013-02-12/docs-2.json | 1796 -- models/apis/rds/2013-02-12/examples-1.json | 5 - models/apis/rds/2013-02-12/paginators-1.json | 110 - models/apis/rds/2013-09-09/api-2.json | 3160 ---- models/apis/rds/2013-09-09/docs-2.json | 1876 -- models/apis/rds/2013-09-09/examples-1.json | 5 - models/apis/rds/2013-09-09/paginators-1.json | 110 - models/apis/rds/2014-09-01/docs-2.json | 1932 --- models/apis/rds/2014-09-01/examples-1.json | 5 - models/apis/rds/2014-10-31/api-2.json | 236 +- models/apis/rds/2014-10-31/docs-2.json | 5142 +++--- models/apis/rds/2014-10-31/examples-1.json | 2276 +-- models/apis/rds/2014-10-31/smoke.json | 18 + models/apis/redshift/2012-12-01/api-2.json | 352 +- models/apis/redshift/2012-12-01/docs-2.json | 211 +- models/apis/redshift/2012-12-01/smoke.json | 18 + .../apis/rekognition/2016-06-27/docs-2.json | 2066 +-- .../rekognition/2016-06-27/examples-1.json | 840 +- .../resource-groups/2017-11-27/api-2.json | 44 +- .../resource-groups/2017-11-27/docs-2.json | 36 +- models/apis/route53/2013-04-01/api-2.json | 17 + models/apis/route53/2013-04-01/docs-2.json | 16 +- models/apis/route53/2013-04-01/smoke.json | 18 + .../apis/route53domains/2014-05-15/api-2.json | 1 + .../route53domains/2014-05-15/docs-2.json | 51 +- models/apis/runtime.lex/2016-11-28/api-2.json | 16 + .../apis/runtime.lex/2016-11-28/docs-2.json | 11 +- models/apis/s3/2006-03-01/api-2.json | 194 +- models/apis/s3/2006-03-01/docs-2.json | 1483 +- models/apis/s3/2006-03-01/smoke.json | 11 + .../apis/secretsmanager/2017-10-17/api-2.json | 970 ++ .../secretsmanager/2017-10-17/docs-2.json | 637 + .../secretsmanager/2017-10-17/examples-1.json | 571 + .../2017-10-17/paginators-1.json | 14 + .../apis/secretsmanager/2017-10-17/smoke.json | 18 + .../apis/serverlessrepo/2017-09-08/api-2.json | 255 +- .../serverlessrepo/2017-09-08/docs-2.json | 309 +- .../2017-09-08/paginators-1.json | 14 + .../apis/servicecatalog/2015-12-10/api-2.json | 496 +- .../servicecatalog/2015-12-10/docs-2.json | 1082 +- .../2015-12-10/paginators-1.json | 5 + .../apis/servicecatalog/2015-12-10/smoke.json | 11 + .../servicediscovery/2017-03-14/api-2.json | 1047 ++ .../servicediscovery/2017-03-14/docs-2.json | 742 + .../2017-03-14}/examples-1.json | 0 .../2017-03-14/paginators-1.json | 29 + models/apis/shield/2016-06-02/api-2.json | 304 +- models/apis/shield/2016-06-02/docs-2.json | 180 +- models/apis/sms/2016-10-24/docs-2.json | 2 +- models/apis/snowball/2016-06-30/api-2.json | 82 +- models/apis/snowball/2016-06-30/docs-2.json | 86 +- models/apis/snowball/2016-06-30/smoke.json | 11 + models/apis/sns/2010-03-31/api-2.json | 21 +- models/apis/sns/2010-03-31/docs-2.json | 40 +- models/apis/sns/2010-03-31/paginators-1.json | 2 +- models/apis/sns/2010-03-31/smoke.json | 19 + models/apis/ssm/2014-11-06/api-2.json | 625 +- models/apis/ssm/2014-11-06/docs-2.json | 670 +- .../apis/storagegateway/2013-06-30/api-2.json | 323 +- .../storagegateway/2013-06-30/docs-2.json | 301 +- models/apis/sts/2011-06-15/api-2.json | 5 +- models/apis/sts/2011-06-15/docs-2.json | 12 +- models/apis/sts/2011-06-15/smoke.json | 19 + models/apis/transcribe/2017-10-26/api-2.json | 472 + models/apis/transcribe/2017-10-26/docs-2.json | 334 + .../2017-10-26}/examples-1.json | 0 .../transcribe/2017-10-26/paginators-1.json | 14 + models/apis/translate/2017-07-01/api-2.json | 11 +- models/apis/translate/2017-07-01/docs-2.json | 11 +- .../apis/waf-regional/2016-11-28/api-2.json | 94 + .../apis/waf-regional/2016-11-28/docs-2.json | 57 +- models/apis/waf/2015-08-24/api-2.json | 99 + models/apis/waf/2015-08-24/docs-2.json | 62 +- models/apis/workmail/2017-10-01/api-2.json | 1482 ++ models/apis/workmail/2017-10-01/docs-2.json | 811 + .../2017-10-01}/examples-1.json | 0 .../workmail/2017-10-01/paginators-1.json | 39 + models/apis/workspaces/2015-04-08/api-2.json | 403 +- models/apis/workspaces/2015-04-08/docs-2.json | 520 +- models/apis/workspaces/2015-04-08/smoke.json | 18 + models/apis/xray/2016-04-12/api-2.json | 78 + models/apis/xray/2016-04-12/docs-2.json | 57 +- models/endpoints/endpoints.json | 763 +- 692 files changed, 165825 insertions(+), 204777 deletions(-) create mode 100644 Sources/AWSSDKSwift/Services/acm-pca/AcmPca_API.swift create mode 100644 Sources/AWSSDKSwift/Services/acm-pca/AcmPca_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/acm-pca/AcmPca_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/autoscaling-plans/AutoscalingPlans_API.swift create mode 100644 Sources/AWSSDKSwift/Services/autoscaling-plans/AutoscalingPlans_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/autoscaling-plans/AutoscalingPlans_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/connect/Connect_API.swift create mode 100644 Sources/AWSSDKSwift/Services/connect/Connect_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/connect/Connect_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/dlm/Dlm_API.swift create mode 100644 Sources/AWSSDKSwift/Services/dlm/Dlm_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/dlm/Dlm_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/eks/Eks_API.swift create mode 100644 Sources/AWSSDKSwift/Services/eks/Eks_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/eks/Eks_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/fms/Fms_API.swift create mode 100644 Sources/AWSSDKSwift/Services/fms/Fms_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/fms/Fms_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/iot1click-devices/Iot1clickDevices_API.swift create mode 100644 Sources/AWSSDKSwift/Services/iot1click-devices/Iot1clickDevices_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/iot1click-devices/Iot1clickDevices_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/iot1click-projects/Iot1clickProjects_API.swift create mode 100644 Sources/AWSSDKSwift/Services/iot1click-projects/Iot1clickProjects_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/iot1click-projects/Iot1clickProjects_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/iotanalytics/Iotanalytics_API.swift create mode 100644 Sources/AWSSDKSwift/Services/iotanalytics/Iotanalytics_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/iotanalytics/Iotanalytics_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/macie/Macie_API.swift create mode 100644 Sources/AWSSDKSwift/Services/macie/Macie_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/macie/Macie_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/mediatailor/Mediatailor_API.swift create mode 100644 Sources/AWSSDKSwift/Services/mediatailor/Mediatailor_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/neptune/Neptune_API.swift create mode 100644 Sources/AWSSDKSwift/Services/neptune/Neptune_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/neptune/Neptune_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/pi/Pi_API.swift create mode 100644 Sources/AWSSDKSwift/Services/pi/Pi_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/pi/Pi_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/secretsmanager/Secretsmanager_API.swift create mode 100644 Sources/AWSSDKSwift/Services/secretsmanager/Secretsmanager_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/secretsmanager/Secretsmanager_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/servicediscovery/Servicediscovery_API.swift create mode 100644 Sources/AWSSDKSwift/Services/servicediscovery/Servicediscovery_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/servicediscovery/Servicediscovery_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/transcribe/Transcribe_API.swift create mode 100644 Sources/AWSSDKSwift/Services/transcribe/Transcribe_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/transcribe/Transcribe_Shapes.swift create mode 100644 Sources/AWSSDKSwift/Services/workmail/Workmail_API.swift create mode 100644 Sources/AWSSDKSwift/Services/workmail/Workmail_Error.swift create mode 100644 Sources/AWSSDKSwift/Services/workmail/Workmail_Shapes.swift create mode 100644 models/apis/acm-pca/2017-08-22/api-2.json create mode 100644 models/apis/acm-pca/2017-08-22/docs-2.json rename models/apis/{events/2014-02-03 => acm-pca/2017-08-22}/examples-1.json (100%) create mode 100644 models/apis/acm-pca/2017-08-22/paginators-1.json create mode 100644 models/apis/acm/2015-12-08/smoke.json create mode 100644 models/apis/acm/2015-12-08/waiters-2.json create mode 100644 models/apis/application-autoscaling/2016-02-06/smoke.json create mode 100644 models/apis/appstream/2016-12-01/smoke.json create mode 100644 models/apis/autoscaling-plans/2018-01-06/api-2.json create mode 100644 models/apis/autoscaling-plans/2018-01-06/docs-2.json rename models/apis/{clouddirectory/2016-05-10 => autoscaling-plans/2018-01-06}/examples-1.json (100%) rename models/apis/{rds/2014-09-01 => autoscaling-plans/2018-01-06}/paginators-1.json (100%) create mode 100644 models/apis/batch/2016-08-10/smoke.json rename models/apis/clouddirectory/{2016-05-10 => 2017-01-11}/api-2.json (90%) rename models/apis/clouddirectory/{2016-05-10 => 2017-01-11}/docs-2.json (87%) rename models/apis/{cloudfront/2015-09-17 => clouddirectory/2017-01-11}/examples-1.json (100%) rename models/apis/clouddirectory/{2016-05-10 => 2017-01-11}/paginators-1.json (94%) delete mode 100644 models/apis/cloudfront/2015-04-17/api-2.json delete mode 100644 models/apis/cloudfront/2015-04-17/docs-2.json delete mode 100644 models/apis/cloudfront/2015-04-17/paginators-1.json delete mode 100644 models/apis/cloudfront/2015-07-27/api-2.json delete mode 100644 models/apis/cloudfront/2015-07-27/docs-2.json delete mode 100644 models/apis/cloudfront/2015-07-27/paginators-1.json delete mode 100644 models/apis/cloudfront/2015-07-27/waiters-2.json delete mode 100644 models/apis/cloudfront/2015-09-17/api-2.json delete mode 100644 models/apis/cloudfront/2015-09-17/docs-2.json delete mode 100644 models/apis/cloudfront/2015-09-17/paginators-1.json delete mode 100644 models/apis/cloudfront/2015-09-17/waiters-2.json delete mode 100644 models/apis/cloudfront/2016-01-13/api-2.json delete mode 100644 models/apis/cloudfront/2016-01-13/docs-2.json delete mode 100644 models/apis/cloudfront/2016-01-13/paginators-1.json delete mode 100644 models/apis/cloudfront/2016-01-13/waiters-2.json delete mode 100644 models/apis/cloudfront/2016-01-28/api-2.json delete mode 100644 models/apis/cloudfront/2016-01-28/docs-2.json delete mode 100644 models/apis/cloudfront/2016-01-28/paginators-1.json delete mode 100644 models/apis/cloudfront/2016-01-28/waiters-2.json delete mode 100644 models/apis/cloudfront/2016-08-01/api-2.json delete mode 100644 models/apis/cloudfront/2016-08-01/docs-2.json delete mode 100644 models/apis/cloudfront/2016-08-01/paginators-1.json delete mode 100644 models/apis/cloudfront/2016-08-01/waiters-2.json delete mode 100755 models/apis/cloudfront/2016-08-20/api-2.json delete mode 100755 models/apis/cloudfront/2016-08-20/docs-2.json delete mode 100755 models/apis/cloudfront/2016-08-20/paginators-1.json delete mode 100755 models/apis/cloudfront/2016-08-20/waiters-2.json delete mode 100755 models/apis/cloudfront/2016-09-07/api-2.json delete mode 100755 models/apis/cloudfront/2016-09-07/docs-2.json delete mode 100755 models/apis/cloudfront/2016-09-07/paginators-1.json delete mode 100755 models/apis/cloudfront/2016-09-07/waiters-2.json delete mode 100644 models/apis/cloudfront/2016-09-29/api-2.json delete mode 100644 models/apis/cloudfront/2016-09-29/docs-2.json delete mode 100644 models/apis/cloudfront/2016-09-29/paginators-1.json delete mode 100644 models/apis/cloudfront/2016-09-29/waiters-2.json delete mode 100644 models/apis/cloudfront/2016-11-25/api-2.json delete mode 100644 models/apis/cloudfront/2016-11-25/docs-2.json delete mode 100644 models/apis/cloudfront/2016-11-25/paginators-1.json delete mode 100644 models/apis/cloudfront/2016-11-25/waiters-2.json delete mode 100644 models/apis/cloudfront/2017-03-25/examples-1.json delete mode 100644 models/apis/cloudfront/2017-03-25/waiters-2.json rename models/apis/cloudfront/{2017-03-25 => 2017-10-30}/api-2.json (65%) rename models/apis/cloudfront/{2017-03-25 => 2017-10-30}/docs-2.json (81%) rename models/apis/cloudfront/{2016-01-13 => 2017-10-30}/examples-1.json (100%) rename models/apis/cloudfront/{2017-03-25 => 2017-10-30}/paginators-1.json (100%) create mode 100644 models/apis/cloudfront/2017-10-30/smoke.json rename models/apis/cloudfront/{2015-04-17 => 2017-10-30}/waiters-2.json (100%) create mode 100644 models/apis/cloudhsmv2/2017-04-28/smoke.json create mode 100644 models/apis/codebuild/2016-10-06/smoke.json create mode 100644 models/apis/codecommit/2015-04-13/smoke.json create mode 100644 models/apis/codedeploy/2014-10-06/smoke.json create mode 100644 models/apis/config/2014-11-12/smoke.json create mode 100644 models/apis/connect/2017-08-08/api-2.json create mode 100644 models/apis/connect/2017-08-08/docs-2.json rename models/apis/{cloudfront/2016-01-28 => connect/2017-08-08}/examples-1.json (100%) create mode 100644 models/apis/connect/2017-08-08/paginators-1.json create mode 100644 models/apis/devicefarm/2015-06-23/smoke.json create mode 100644 models/apis/dlm/2018-01-12/api-2.json create mode 100644 models/apis/dlm/2018-01-12/docs-2.json rename models/apis/{cloudfront/2016-08-01 => dlm/2018-01-12}/examples-1.json (100%) create mode 100644 models/apis/dlm/2018-01-12/paginators-1.json create mode 100644 models/apis/dms/2016-01-01/smoke.json create mode 100644 models/apis/ds/2015-04-16/smoke.json delete mode 100644 models/apis/dynamodb/2011-12-05/api-2.json delete mode 100644 models/apis/dynamodb/2011-12-05/docs-2.json delete mode 100644 models/apis/dynamodb/2011-12-05/paginators-1.json delete mode 100644 models/apis/dynamodb/2011-12-05/waiters-2.json create mode 100644 models/apis/dynamodb/2012-08-10/smoke.json delete mode 100644 models/apis/ec2/2015-04-15/api-2.json delete mode 100644 models/apis/ec2/2015-04-15/docs-2.json delete mode 100644 models/apis/ec2/2015-04-15/paginators-1.json delete mode 100644 models/apis/ec2/2015-04-15/waiters-2.json delete mode 100644 models/apis/ec2/2015-10-01/api-2.json delete mode 100644 models/apis/ec2/2015-10-01/docs-2.json delete mode 100644 models/apis/ec2/2015-10-01/paginators-1.json delete mode 100644 models/apis/ec2/2015-10-01/waiters-2.json delete mode 100644 models/apis/ec2/2016-04-01/api-2.json delete mode 100644 models/apis/ec2/2016-04-01/docs-2.json delete mode 100644 models/apis/ec2/2016-04-01/examples-1.json delete mode 100644 models/apis/ec2/2016-04-01/paginators-1.json delete mode 100644 models/apis/ec2/2016-04-01/waiters-2.json delete mode 100755 models/apis/ec2/2016-09-15/api-2.json delete mode 100755 models/apis/ec2/2016-09-15/docs-2.json delete mode 100755 models/apis/ec2/2016-09-15/examples-1.json delete mode 100755 models/apis/ec2/2016-09-15/paginators-1.json delete mode 100755 models/apis/ec2/2016-09-15/waiters-2.json create mode 100644 models/apis/eks/2017-11-01/api-2.json create mode 100644 models/apis/eks/2017-11-01/docs-2.json create mode 100644 models/apis/eks/2017-11-01/examples-1.json create mode 100644 models/apis/eks/2017-11-01/paginators-1.json create mode 100644 models/apis/elasticbeanstalk/2010-12-01/smoke.json create mode 100644 models/apis/elasticfilesystem/2015-02-01/smoke.json create mode 100644 models/apis/elasticloadbalancingv2/2015-12-01/smoke.json create mode 100644 models/apis/elasticmapreduce/2009-03-31/smoke.json create mode 100644 models/apis/email/2010-12-01/smoke.json create mode 100644 models/apis/es/2015-01-01/smoke.json delete mode 100644 models/apis/events/2014-02-03/api-2.json delete mode 100644 models/apis/events/2014-02-03/docs-2.json create mode 100644 models/apis/events/2015-10-07/smoke.json create mode 100644 models/apis/firehose/2015-08-04/smoke.json create mode 100644 models/apis/fms/2018-01-01/api-2.json create mode 100644 models/apis/fms/2018-01-01/docs-2.json rename models/apis/{cloudfront/2016-09-07 => fms/2018-01-01}/examples-1.json (100%) mode change 100755 => 100644 create mode 100644 models/apis/fms/2018-01-01/paginators-1.json create mode 100644 models/apis/glacier/2012-06-01/smoke.json create mode 100644 models/apis/iam/2010-05-08/smoke.json delete mode 100644 models/apis/inspector/2015-08-18/api-2.json delete mode 100644 models/apis/inspector/2015-08-18/docs-2.json create mode 100644 models/apis/inspector/2016-02-16/smoke.json create mode 100644 models/apis/iot1click-devices/2018-05-14/api-2.json create mode 100644 models/apis/iot1click-devices/2018-05-14/docs-2.json create mode 100644 models/apis/iot1click-projects/2018-05-14/api-2.json create mode 100644 models/apis/iot1click-projects/2018-05-14/docs-2.json rename models/apis/{cloudfront/2016-09-29 => iot1click-projects/2018-05-14}/examples-1.json (100%) create mode 100644 models/apis/iot1click-projects/2018-05-14/paginators-1.json create mode 100644 models/apis/iotanalytics/2017-11-27/api-2.json create mode 100644 models/apis/iotanalytics/2017-11-27/docs-2.json rename models/apis/{cloudfront/2016-11-25 => iotanalytics/2017-11-27}/examples-1.json (100%) create mode 100644 models/apis/iotanalytics/2017-11-27/paginators-1.json create mode 100644 models/apis/kinesis/2013-12-02/smoke.json create mode 100644 models/apis/kms/2014-11-01/smoke.json delete mode 100644 models/apis/lambda/2014-11-11/api-2.json delete mode 100644 models/apis/lambda/2014-11-11/docs-2.json delete mode 100644 models/apis/lambda/2014-11-11/paginators-1.json create mode 100644 models/apis/lambda/2015-03-31/smoke.json create mode 100644 models/apis/macie/2017-12-19/api-2.json create mode 100644 models/apis/macie/2017-12-19/docs-2.json create mode 100644 models/apis/macie/2017-12-19/examples-1.json create mode 100644 models/apis/macie/2017-12-19/paginators-1.json create mode 100644 models/apis/mediatailor/2018-04-23/api-2.json create mode 100644 models/apis/mediatailor/2018-04-23/docs-2.json create mode 100644 models/apis/mediatailor/2018-04-23/paginators-1.json create mode 100644 models/apis/mq/2017-11-27/paginators-1.json create mode 100644 models/apis/mturk-requester/2017-01-17/smoke.json rename models/apis/{rds/2014-09-01 => neptune/2014-10-31}/api-2.json (65%) create mode 100644 models/apis/neptune/2014-10-31/docs-2.json create mode 100644 models/apis/neptune/2014-10-31/examples-1.json rename models/apis/{rds/2013-01-10 => neptune/2014-10-31}/paginators-1.json (61%) rename models/apis/{rds/2013-09-09 => neptune/2014-10-31}/waiters-2.json (86%) create mode 100644 models/apis/opsworks/2013-02-18/smoke.json create mode 100644 models/apis/pi/2018-02-27/api-2.json create mode 100644 models/apis/pi/2018-02-27/docs-2.json rename models/apis/{dynamodb/2011-12-05 => pi/2018-02-27}/examples-1.json (100%) create mode 100644 models/apis/pi/2018-02-27/paginators-1.json create mode 100644 models/apis/polly/2016-06-10/smoke.json delete mode 100644 models/apis/rds/2013-01-10/api-2.json delete mode 100644 models/apis/rds/2013-01-10/docs-2.json delete mode 100644 models/apis/rds/2013-02-12/api-2.json delete mode 100644 models/apis/rds/2013-02-12/docs-2.json delete mode 100644 models/apis/rds/2013-02-12/examples-1.json delete mode 100644 models/apis/rds/2013-02-12/paginators-1.json delete mode 100644 models/apis/rds/2013-09-09/api-2.json delete mode 100644 models/apis/rds/2013-09-09/docs-2.json delete mode 100644 models/apis/rds/2013-09-09/examples-1.json delete mode 100644 models/apis/rds/2013-09-09/paginators-1.json delete mode 100644 models/apis/rds/2014-09-01/docs-2.json delete mode 100644 models/apis/rds/2014-09-01/examples-1.json create mode 100644 models/apis/rds/2014-10-31/smoke.json create mode 100644 models/apis/redshift/2012-12-01/smoke.json create mode 100644 models/apis/route53/2013-04-01/smoke.json create mode 100644 models/apis/s3/2006-03-01/smoke.json create mode 100644 models/apis/secretsmanager/2017-10-17/api-2.json create mode 100644 models/apis/secretsmanager/2017-10-17/docs-2.json create mode 100644 models/apis/secretsmanager/2017-10-17/examples-1.json create mode 100644 models/apis/secretsmanager/2017-10-17/paginators-1.json create mode 100644 models/apis/secretsmanager/2017-10-17/smoke.json create mode 100644 models/apis/serverlessrepo/2017-09-08/paginators-1.json create mode 100644 models/apis/servicecatalog/2015-12-10/smoke.json create mode 100644 models/apis/servicediscovery/2017-03-14/api-2.json create mode 100644 models/apis/servicediscovery/2017-03-14/docs-2.json rename models/apis/{ec2/2015-10-01 => servicediscovery/2017-03-14}/examples-1.json (100%) create mode 100644 models/apis/servicediscovery/2017-03-14/paginators-1.json create mode 100644 models/apis/snowball/2016-06-30/smoke.json create mode 100644 models/apis/sns/2010-03-31/smoke.json create mode 100644 models/apis/sts/2011-06-15/smoke.json create mode 100644 models/apis/transcribe/2017-10-26/api-2.json create mode 100644 models/apis/transcribe/2017-10-26/docs-2.json rename models/apis/{inspector/2015-08-18 => transcribe/2017-10-26}/examples-1.json (100%) create mode 100644 models/apis/transcribe/2017-10-26/paginators-1.json create mode 100644 models/apis/workmail/2017-10-01/api-2.json create mode 100644 models/apis/workmail/2017-10-01/docs-2.json rename models/apis/{rds/2013-01-10 => workmail/2017-10-01}/examples-1.json (100%) create mode 100644 models/apis/workmail/2017-10-01/paginators-1.json create mode 100644 models/apis/workspaces/2015-04-08/smoke.json diff --git a/Dockerfile b/Dockerfile index f67bd455943..0a36c4d320a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,7 @@ RUN apt-get install -y clang \ libcurl4-openssl-dev \ wget -ENV SWIFT_VERSION="3.1" +ENV SWIFT_VERSION="4.1.2" ENV SWIFTFILE="swift-$SWIFT_VERSION-RELEASE-ubuntu14.04" RUN wget https://swift.org/builds/swift-$SWIFT_VERSION-release/ubuntu1404/swift-$SWIFT_VERSION-RELEASE/$SWIFTFILE.tar.gz diff --git a/Sources/AWSSDKSwift/Services/AWSMigrationHub/AWSMigrationHub_API.swift b/Sources/AWSSDKSwift/Services/AWSMigrationHub/AWSMigrationHub_API.swift index 741ce167b05..37e5def5735 100644 --- a/Sources/AWSSDKSwift/Services/AWSMigrationHub/AWSMigrationHub_API.swift +++ b/Sources/AWSSDKSwift/Services/AWSMigrationHub/AWSMigrationHub_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** - +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. */ public struct AWSMigrationHub { @@ -35,7 +35,7 @@ public struct AWSMigrationHub { return try client.send(operation: "DisassociateDiscoveredResource", path: "/", httpMethod: "POST", input: input) } - /// 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. 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 ListAssociatedResource. + /// 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. public func putResourceAttributes(_ input: PutResourceAttributesRequest) throws -> PutResourceAttributesResult { return try client.send(operation: "PutResourceAttributes", path: "/", httpMethod: "POST", input: input) } @@ -60,7 +60,7 @@ public struct AWSMigrationHub { return try client.send(operation: "NotifyMigrationTaskState", path: "/", httpMethod: "POST", input: input) } - /// 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 be doing the actual delete of 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). + /// 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). public func deleteProgressUpdateStream(_ input: DeleteProgressUpdateStreamRequest) throws -> DeleteProgressUpdateStreamResult { return try client.send(operation: "DeleteProgressUpdateStream", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/AWSMigrationHub/AWSMigrationHub_Shapes.swift b/Sources/AWSSDKSwift/Services/AWSMigrationHub/AWSMigrationHub_Shapes.swift index 54a1d39000d..5fa79986951 100644 --- a/Sources/AWSSDKSwift/Services/AWSMigrationHub/AWSMigrationHub_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/AWSMigrationHub/AWSMigrationHub_Shapes.swift @@ -250,7 +250,6 @@ extension AWSMigrationHub { case vmPath = "VM_PATH" case biosId = "BIOS_ID" case motherboardSerialNumber = "MOTHERBOARD_SERIAL_NUMBER" - case label = "LABEL" public var description: String { return self.rawValue } } @@ -653,7 +652,7 @@ extension AWSMigrationHub { ] /// Unique identifier that references the migration task. public let migrationTaskName: String - /// 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. + /// 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. public let resourceAttributeList: [ResourceAttribute] /// Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call. public let dryRun: Bool? diff --git a/Sources/AWSSDKSwift/Services/Cloud9/Cloud9_API.swift b/Sources/AWSSDKSwift/Services/Cloud9/Cloud9_API.swift index 6897686983d..ebf1e5802b9 100644 --- a/Sources/AWSSDKSwift/Services/Cloud9/Cloud9_API.swift +++ b/Sources/AWSSDKSwift/Services/Cloud9/Cloud9_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -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. In the background, these tools are available through development environments running on Amazon Elastic Compute Cloud (Amazon EC2) instances (known as Amazon EC2 environments), your own servers (known as SSH environments), or a combination. This enables you to create and switch between multiple environments, with each environment set up for a specific development project. 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 hosts the environment on the instance. CreateEnvironmentMembership: Adds an environment member to an environment. DeleteEnvironment: Deletes an environment. If the environment is hosted on an Amazon EC2 instance, 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. +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. */ public struct Cloud9 { @@ -25,7 +25,7 @@ public struct Cloud9 { ) } - /// Deletes an AWS Cloud9 development environment. If the environment is hosted on an Amazon Elastic Compute Cloud (Amazon EC2) instance, also terminates the instance. + /// Deletes an AWS Cloud9 development environment. If an Amazon EC2 instance is connected to the environment, also terminates the instance. public func deleteEnvironment(_ input: DeleteEnvironmentRequest) throws -> DeleteEnvironmentResult { return try client.send(operation: "DeleteEnvironment", path: "/", httpMethod: "POST", input: input) } @@ -45,7 +45,7 @@ public struct Cloud9 { return try client.send(operation: "DescribeEnvironmentStatus", path: "/", httpMethod: "POST", input: input) } - /// Creates an AWS Cloud9 development environment, launches an Amazon Elastic Compute Cloud (Amazon EC2) instance, and then hosts the environment on the instance. + /// Creates an AWS Cloud9 development environment, launches an Amazon Elastic Compute Cloud (Amazon EC2) instance, and then connects from the instance to the environment. public func createEnvironmentEC2(_ input: CreateEnvironmentEC2Request) throws -> CreateEnvironmentEC2Result { return try client.send(operation: "CreateEnvironmentEC2", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/Cloud9/Cloud9_Shapes.swift b/Sources/AWSSDKSwift/Services/Cloud9/Cloud9_Shapes.swift index dddc69de5c9..7513c48d27b 100644 --- a/Sources/AWSSDKSwift/Services/Cloud9/Cloud9_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/Cloud9/Cloud9_Shapes.swift @@ -9,7 +9,7 @@ extension Cloud9 { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "environmentIds", required: true, type: .list) ] - /// The IDs of invidividual environments to get information about. + /// The IDs of individual environments to get information about. public let environmentIds: [String] public init(environmentIds: [String]) { @@ -29,7 +29,7 @@ extension Cloud9 { ] /// Any new or replacement description for the environment. public let description: String? - /// Any replacement name for the environment. + /// A replacement name for the environment. public let name: String? /// The ID of the environment to change settings. public let environmentId: String @@ -197,7 +197,7 @@ extension Cloud9 { public let ownerArn: String? /// The ID of the environment. public let id: String? - /// The type of environment. Valid values include the following: ec2: An environment hosted on an Amazon Elastic Compute Cloud (Amazon EC2) instance. ssh: An environment hosted on your own server. + /// 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. public let `type`: EnvironmentType? /// The Amazon Resource Name (ARN) of the environment. public let arn: String? @@ -467,7 +467,7 @@ extension Cloud9 { ] /// The name of the environment to create. This name is visible to other AWS IAM users in the same AWS account. public let name: String - /// The type of instance to host the environment on (for example, t2.micro). + /// The type of instance to connect to the environment (for example, t2.micro). public let instanceType: String /// 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. public let ownerArn: String? diff --git a/Sources/AWSSDKSwift/Services/GuardDuty/GuardDuty_API.swift b/Sources/AWSSDKSwift/Services/GuardDuty/GuardDuty_API.swift index 1c53c1d6839..ed9a609dc20 100644 --- a/Sources/AWSSDKSwift/Services/GuardDuty/GuardDuty_API.swift +++ b/Sources/AWSSDKSwift/Services/GuardDuty/GuardDuty_API.swift @@ -6,7 +6,7 @@ import AWSSDKSwiftCore /** Assess, monitor, manage, and remediate security issues across your AWS infrastructure, applications, and data. */ -public struct GuardDuty { +public struct Guardduty { let client: AWSClient @@ -20,10 +20,15 @@ public struct GuardDuty { apiVersion: "2017-11-28", endpoint: endpoint, middlewares: [], - possibleErrorTypes: [GuardDutyError.self] + possibleErrorTypes: [GuarddutyError.self] ) } + /// Creates a filter using the specified finding criteria. + public func createFilter(_ input: CreateFilterRequest) throws -> CreateFilterResponse { + return try client.send(operation: "CreateFilter", path: "/detector/{detectorId}/filter", httpMethod: "POST", input: input) + } + /// 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. public func startMonitoringMembers(_ input: StartMonitoringMembersRequest) throws -> StartMonitoringMembersResponse { return try client.send(operation: "StartMonitoringMembers", path: "/detector/{detectorId}/member/start", httpMethod: "POST", input: input) @@ -44,16 +49,16 @@ public struct GuardDuty { return try client.send(operation: "CreateIPSet", path: "/detector/{detectorId}/ipset", httpMethod: "POST", input: input) } - /// Unarchives Amazon GuardDuty findings specified by the list of finding IDs. - public func unarchiveFindings(_ input: UnarchiveFindingsRequest) throws -> UnarchiveFindingsResponse { - return try client.send(operation: "UnarchiveFindings", path: "/detector/{detectorId}/findings/unarchive", httpMethod: "POST", input: input) - } - /// 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. public func createSampleFindings(_ input: CreateSampleFindingsRequest) throws -> CreateSampleFindingsResponse { return try client.send(operation: "CreateSampleFindings", path: "/detector/{detectorId}/findings/create", httpMethod: "POST", input: input) } + /// Unarchives Amazon GuardDuty findings specified by the list of finding IDs. + public func unarchiveFindings(_ input: UnarchiveFindingsRequest) throws -> UnarchiveFindingsResponse { + return try client.send(operation: "UnarchiveFindings", path: "/detector/{detectorId}/findings/unarchive", httpMethod: "POST", input: input) + } + /// Updates an Amazon GuardDuty detector specified by the detectorId. public func updateDetector(_ input: UpdateDetectorRequest) throws -> UpdateDetectorResponse { return try client.send(operation: "UpdateDetector", path: "/detector/{detectorId}", httpMethod: "POST", input: input) @@ -84,21 +89,26 @@ public struct GuardDuty { return try client.send(operation: "GetThreatIntelSet", path: "/detector/{detectorId}/threatintelset/{threatIntelSetId}", httpMethod: "GET", input: input) } + /// Deletes the filter specified by the filter name. + public func deleteFilter(_ input: DeleteFilterRequest) throws -> DeleteFilterResponse { + return try client.send(operation: "DeleteFilter", path: "/detector/{detectorId}/filter/{filterName}", httpMethod: "DELETE", input: input) + } + /// Deletes a Amazon GuardDuty detector specified by the detector ID. public func deleteDetector(_ input: DeleteDetectorRequest) throws -> DeleteDetectorResponse { return try client.send(operation: "DeleteDetector", path: "/detector/{detectorId}", httpMethod: "DELETE", input: input) } + /// Updates the filter specified by the filter name. + public func updateFilter(_ input: UpdateFilterRequest) throws -> UpdateFilterResponse { + return try client.send(operation: "UpdateFilter", path: "/detector/{detectorId}/filter/{filterName}", httpMethod: "POST", input: input) + } + /// Retrieves the IPSet specified by the IPSet ID. public func getIPSet(_ input: GetIPSetRequest) throws -> GetIPSetResponse { return try client.send(operation: "GetIPSet", path: "/detector/{detectorId}/ipset/{ipSetId}", httpMethod: "GET", input: input) } - /// Marks specified Amazon GuardDuty findings as useful or not useful. - public func updateFindingsFeedback(_ input: UpdateFindingsFeedbackRequest) throws -> UpdateFindingsFeedbackResponse { - return try client.send(operation: "UpdateFindingsFeedback", path: "/detector/{detectorId}/findings/feedback", httpMethod: "POST", input: input) - } - /// Returns the count of all GuardDuty membership invitations that were sent to the current member account except the currently accepted invitation. public func getInvitationsCount(_ input: GetInvitationsCountRequest) throws -> GetInvitationsCountResponse { return try client.send(operation: "GetInvitationsCount", path: "/invitation/count", httpMethod: "GET", input: input) @@ -109,6 +119,11 @@ public struct GuardDuty { return try client.send(operation: "CreateDetector", path: "/detector", httpMethod: "POST", input: input) } + /// Marks specified Amazon GuardDuty findings as useful or not useful. + public func updateFindingsFeedback(_ input: UpdateFindingsFeedbackRequest) throws -> UpdateFindingsFeedbackResponse { + return try client.send(operation: "UpdateFindingsFeedback", path: "/detector/{detectorId}/findings/feedback", httpMethod: "POST", input: input) + } + /// Deletes ThreatIntelSet specified by the ThreatIntelSet ID. public func deleteThreatIntelSet(_ input: DeleteThreatIntelSetRequest) throws -> DeleteThreatIntelSetResponse { return try client.send(operation: "DeleteThreatIntelSet", path: "/detector/{detectorId}/threatintelset/{threatIntelSetId}", httpMethod: "DELETE", input: input) @@ -124,21 +139,21 @@ public struct GuardDuty { return try client.send(operation: "UpdateThreatIntelSet", path: "/detector/{detectorId}/threatintelset/{threatIntelSetId}", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func stopMonitoringMembers(_ input: StopMonitoringMembersRequest) throws -> StopMonitoringMembersResponse { return try client.send(operation: "StopMonitoringMembers", path: "/detector/{detectorId}/member/stop", httpMethod: "POST", input: input) } - /// Retrieves GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs. - public func getMembers(_ input: GetMembersRequest) throws -> GetMembersResponse { - return try client.send(operation: "GetMembers", path: "/detector/{detectorId}/member/get", httpMethod: "POST", input: input) - } - /// Lists Amazon GuardDuty findings for the specified detector ID. public func listFindings(_ input: ListFindingsRequest) throws -> ListFindingsResponse { return try client.send(operation: "ListFindings", path: "/detector/{detectorId}/findings", httpMethod: "POST", input: input) } + /// Retrieves GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs. + public func getMembers(_ input: GetMembersRequest) throws -> GetMembersResponse { + return try client.send(operation: "GetMembers", path: "/detector/{detectorId}/member/get", httpMethod: "POST", input: input) + } + /// Declines invitations sent to the current member account by AWS account specified by their account IDs. public func declineInvitations(_ input: DeclineInvitationsRequest) throws -> DeclineInvitationsResponse { return try client.send(operation: "DeclineInvitations", path: "/invitation/decline", httpMethod: "POST", input: input) @@ -149,6 +164,11 @@ public struct GuardDuty { return try client.send(operation: "GetFindings", path: "/detector/{detectorId}/findings/get", httpMethod: "POST", input: input) } + /// Returns the details of the filter specified by the filter name. + public func getFilter(_ input: GetFilterRequest) throws -> GetFilterResponse { + return try client.send(operation: "GetFilter", path: "/detector/{detectorId}/filter/{filterName}", httpMethod: "GET", input: input) + } + /// 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. public func createMembers(_ input: CreateMembersRequest) throws -> CreateMembersResponse { return try client.send(operation: "CreateMembers", path: "/detector/{detectorId}/member", httpMethod: "POST", input: input) @@ -159,6 +179,11 @@ public struct GuardDuty { return try client.send(operation: "DisassociateMembers", path: "/detector/{detectorId}/member/disassociate", httpMethod: "POST", input: input) } + /// Returns a paginated list of the current filters. + public func listFilters(_ input: ListFiltersRequest) throws -> ListFiltersResponse { + return try client.send(operation: "ListFilters", path: "/detector/{detectorId}/filter", httpMethod: "GET", input: input) + } + /// Create a new ThreatIntelSet. ThreatIntelSets consist of known malicious IP addresses. GuardDuty generates findings based on ThreatIntelSets. public func createThreatIntelSet(_ input: CreateThreatIntelSetRequest) throws -> CreateThreatIntelSetResponse { return try client.send(operation: "CreateThreatIntelSet", path: "/detector/{detectorId}/threatintelset", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/GuardDuty/GuardDuty_Error.swift b/Sources/AWSSDKSwift/Services/GuardDuty/GuardDuty_Error.swift index d7ed7df3aa4..81ace8225f5 100644 --- a/Sources/AWSSDKSwift/Services/GuardDuty/GuardDuty_Error.swift +++ b/Sources/AWSSDKSwift/Services/GuardDuty/GuardDuty_Error.swift @@ -2,13 +2,13 @@ import AWSSDKSwiftCore -/// Error enum for GuardDuty -public enum GuardDutyError: AWSErrorType { +/// Error enum for Guardduty +public enum GuarddutyError: AWSErrorType { case badRequestException(message: String?) case internalServerErrorException(message: String?) } -extension GuardDutyError { +extension GuarddutyError { public init?(errorCode: String, message: String?){ var errorCode = errorCode if let index = errorCode.index(of: "#") { diff --git a/Sources/AWSSDKSwift/Services/GuardDuty/GuardDuty_Shapes.swift b/Sources/AWSSDKSwift/Services/GuardDuty/GuardDuty_Shapes.swift index 7066601b904..ed8def41df8 100644 --- a/Sources/AWSSDKSwift/Services/GuardDuty/GuardDuty_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/GuardDuty/GuardDuty_Shapes.swift @@ -3,7 +3,7 @@ import Foundation import AWSSDKSwiftCore -extension GuardDuty { +extension Guardduty { public struct DeleteMembersResponse: AWSShape { public static var _members: [AWSShapeMember] = [ @@ -56,6 +56,25 @@ extension GuardDuty { } } + public struct DeleteFilterRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DetectorId", location: .uri(locationName: "detectorId"), required: true, type: .string), + AWSShapeMember(label: "FilterName", location: .uri(locationName: "filterName"), required: true, type: .string) + ] + public let detectorId: String + public let filterName: String + + public init(detectorId: String, filterName: String) { + self.detectorId = detectorId + self.filterName = filterName + } + + private enum CodingKeys: String, CodingKey { + case detectorId = "detectorId" + case filterName = "filterName" + } + } + public struct GetThreatIntelSetResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Format", location: .body(locationName: "format"), required: false, type: .enum), @@ -87,6 +106,25 @@ extension GuardDuty { } } + public struct ListFiltersResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "FilterNames", location: .body(locationName: "filterNames"), required: false, type: .list) + ] + public let nextToken: String? + public let filterNames: [String]? + + public init(nextToken: String? = nil, filterNames: [String]? = nil) { + self.nextToken = nextToken + self.filterNames = filterNames + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case filterNames = "filterNames" + } + } + public struct ListFindingsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FindingCriteria", location: .body(locationName: "findingCriteria"), required: false, type: .structure), @@ -183,23 +221,10 @@ extension GuardDuty { } } - public struct ListInvitationsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) - ] - public let nextToken: String? - public let maxResults: Int32? - - public init(nextToken: String? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case maxResults = "maxResults" - } + public enum FilterAction: String, CustomStringConvertible, Codable { + case noop = "NOOP" + case archive = "ARCHIVE" + public var description: String { return self.rawValue } } public enum OrderBy: String, CustomStringConvertible, Codable { @@ -233,6 +258,7 @@ extension GuardDuty { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ActionType", location: .body(locationName: "actionType"), required: false, type: .string), AWSShapeMember(label: "DnsRequestAction", location: .body(locationName: "dnsRequestAction"), required: false, type: .structure), + AWSShapeMember(label: "PortProbeAction", location: .body(locationName: "portProbeAction"), required: false, type: .structure), AWSShapeMember(label: "AwsApiCallAction", location: .body(locationName: "awsApiCallAction"), required: false, type: .structure), AWSShapeMember(label: "NetworkConnectionAction", location: .body(locationName: "networkConnectionAction"), required: false, type: .structure) ] @@ -240,14 +266,17 @@ extension GuardDuty { public let actionType: String? /// Information about the DNS_REQUEST action described in this finding. public let dnsRequestAction: DnsRequestAction? + /// Information about the PORT_PROBE action described in this finding. + public let portProbeAction: PortProbeAction? /// Information about the AWS_API_CALL action described in this finding. public let awsApiCallAction: AwsApiCallAction? /// Information about the NETWORK_CONNECTION action described in this finding. public let networkConnectionAction: NetworkConnectionAction? - public init(actionType: String? = nil, dnsRequestAction: DnsRequestAction? = nil, awsApiCallAction: AwsApiCallAction? = nil, networkConnectionAction: NetworkConnectionAction? = nil) { + public init(actionType: String? = nil, dnsRequestAction: DnsRequestAction? = nil, portProbeAction: PortProbeAction? = nil, awsApiCallAction: AwsApiCallAction? = nil, networkConnectionAction: NetworkConnectionAction? = nil) { self.actionType = actionType self.dnsRequestAction = dnsRequestAction + self.portProbeAction = portProbeAction self.awsApiCallAction = awsApiCallAction self.networkConnectionAction = networkConnectionAction } @@ -255,6 +284,7 @@ extension GuardDuty { private enum CodingKeys: String, CodingKey { case actionType = "actionType" case dnsRequestAction = "dnsRequestAction" + case portProbeAction = "portProbeAction" case awsApiCallAction = "awsApiCallAction" case networkConnectionAction = "networkConnectionAction" } @@ -289,6 +319,25 @@ extension GuardDuty { } + public struct ListInvitationsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + public let nextToken: String? + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + public struct CreateThreatIntelSetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Format", location: .body(locationName: "format"), required: false, type: .enum), @@ -324,14 +373,14 @@ extension GuardDuty { } } - public enum DetectorStatus: String, CustomStringConvertible, Codable { - case enabled = "ENABLED" - case disabled = "DISABLED" + public enum FindingStatisticType: String, CustomStringConvertible, Codable { + case countBySeverity = "COUNT_BY_SEVERITY" public var description: String { return self.rawValue } } - public enum FindingStatisticType: String, CustomStringConvertible, Codable { - case countBySeverity = "COUNT_BY_SEVERITY" + public enum DetectorStatus: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" public var description: String { return self.rawValue } } @@ -478,21 +527,6 @@ extension GuardDuty { } } - public struct CreateIPSetResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "IpSetId", location: .body(locationName: "ipSetId"), required: false, type: .string) - ] - public let ipSetId: String? - - public init(ipSetId: String? = nil) { - self.ipSetId = ipSetId - } - - private enum CodingKeys: String, CodingKey { - case ipSetId = "ipSetId" - } - } - public struct UpdateIPSetResponse: AWSShape { } @@ -513,16 +547,6 @@ extension GuardDuty { } } - public enum ThreatIntelSetFormat: String, CustomStringConvertible, Codable { - case txt = "TXT" - case stix = "STIX" - case otxCsv = "OTX_CSV" - case alienVault = "ALIEN_VAULT" - case proofPoint = "PROOF_POINT" - case fireEye = "FIRE_EYE" - public var description: String { return self.rawValue } - } - public enum Feedback: String, CustomStringConvertible, Codable { case useful = "USEFUL" case notUseful = "NOT_USEFUL" @@ -549,25 +573,6 @@ extension GuardDuty { } } - public struct DeleteIPSetRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DetectorId", location: .uri(locationName: "detectorId"), required: true, type: .string), - AWSShapeMember(label: "IpSetId", location: .uri(locationName: "ipSetId"), required: true, type: .string) - ] - public let detectorId: String - public let ipSetId: String - - public init(detectorId: String, ipSetId: String) { - self.detectorId = detectorId - self.ipSetId = ipSetId - } - - private enum CodingKeys: String, CodingKey { - case detectorId = "detectorId" - case ipSetId = "ipSetId" - } - } - public struct Tag: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Value", location: .body(locationName: "value"), required: false, type: .string), @@ -589,6 +594,50 @@ extension GuardDuty { } } + public struct CreateIPSetResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "IpSetId", location: .body(locationName: "ipSetId"), required: false, type: .string) + ] + public let ipSetId: String? + + public init(ipSetId: String? = nil) { + self.ipSetId = ipSetId + } + + private enum CodingKeys: String, CodingKey { + case ipSetId = "ipSetId" + } + } + + public struct DeleteIPSetRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DetectorId", location: .uri(locationName: "detectorId"), required: true, type: .string), + AWSShapeMember(label: "IpSetId", location: .uri(locationName: "ipSetId"), required: true, type: .string) + ] + public let detectorId: String + public let ipSetId: String + + public init(detectorId: String, ipSetId: String) { + self.detectorId = detectorId + self.ipSetId = ipSetId + } + + private enum CodingKeys: String, CodingKey { + case detectorId = "detectorId" + case ipSetId = "ipSetId" + } + } + + public enum ThreatIntelSetFormat: String, CustomStringConvertible, Codable { + case txt = "TXT" + case stix = "STIX" + case otxCsv = "OTX_CSV" + case alienVault = "ALIEN_VAULT" + case proofPoint = "PROOF_POINT" + case fireEye = "FIRE_EYE" + public var description: String { return self.rawValue } + } + public enum IpSetStatus: String, CustomStringConvertible, Codable { case inactive = "INACTIVE" case activating = "ACTIVATING" @@ -600,34 +649,55 @@ extension GuardDuty { public var description: String { return self.rawValue } } + public struct PortProbeDetail: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RemoteIpDetails", location: .body(locationName: "remoteIpDetails"), required: false, type: .structure), + AWSShapeMember(label: "LocalPortDetails", location: .body(locationName: "localPortDetails"), required: false, type: .structure) + ] + /// Remote IP information of the connection. + public let remoteIpDetails: RemoteIpDetails? + /// Local port information of the connection. + public let localPortDetails: LocalPortDetails? + + public init(remoteIpDetails: RemoteIpDetails? = nil, localPortDetails: LocalPortDetails? = nil) { + self.remoteIpDetails = remoteIpDetails + self.localPortDetails = localPortDetails + } + + private enum CodingKeys: String, CodingKey { + case remoteIpDetails = "remoteIpDetails" + case localPortDetails = "localPortDetails" + } + } + public struct Organization: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AsnOrg", location: .body(locationName: "asnOrg"), required: false, type: .string), + AWSShapeMember(label: "Asn", location: .body(locationName: "asn"), required: false, type: .string), AWSShapeMember(label: "Isp", location: .body(locationName: "isp"), required: false, type: .string), - AWSShapeMember(label: "Org", location: .body(locationName: "org"), required: false, type: .string), - AWSShapeMember(label: "Asn", location: .body(locationName: "asn"), required: false, type: .string) + AWSShapeMember(label: "Org", location: .body(locationName: "org"), required: false, type: .string) ] /// Organization that registered this ASN. public let asnOrg: String? + /// Autonomous system number of the internet provider of the remote IP address. + public let asn: String? /// ISP information for the internet provider. public let isp: String? /// Name of the internet provider. public let org: String? - /// Autonomous system number of the internet provider of the remote IP address. - public let asn: String? - public init(asnOrg: String? = nil, isp: String? = nil, org: String? = nil, asn: String? = nil) { + public init(asnOrg: String? = nil, asn: String? = nil, isp: String? = nil, org: String? = nil) { self.asnOrg = asnOrg + self.asn = asn self.isp = isp self.org = org - self.asn = asn } private enum CodingKeys: String, CodingKey { case asnOrg = "asnOrg" + case asn = "asn" case isp = "isp" case org = "org" - case asn = "asn" } } @@ -718,6 +788,90 @@ extension GuardDuty { } } + public struct UpdateFilterRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FindingCriteria", location: .body(locationName: "findingCriteria"), required: false, type: .structure), + AWSShapeMember(label: "DetectorId", location: .uri(locationName: "detectorId"), required: true, type: .string), + AWSShapeMember(label: "Rank", location: .body(locationName: "rank"), required: false, type: .integer), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "Action", location: .body(locationName: "action"), required: false, type: .enum), + AWSShapeMember(label: "FilterName", location: .uri(locationName: "filterName"), required: true, type: .string) + ] + /// Represents the criteria to be used in the filter for querying findings. + public let findingCriteria: FindingCriteria? + public let detectorId: String + /// 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. + public let rank: Int32? + /// The description of the filter. + public let description: String? + /// Specifies the action that is to be applied to the findings that match the filter. + public let action: FilterAction? + public let filterName: String + + public init(findingCriteria: FindingCriteria? = nil, detectorId: String, rank: Int32? = nil, description: String? = nil, action: FilterAction? = nil, filterName: String) { + self.findingCriteria = findingCriteria + self.detectorId = detectorId + self.rank = rank + self.description = description + self.action = action + self.filterName = filterName + } + + private enum CodingKeys: String, CodingKey { + case findingCriteria = "findingCriteria" + case detectorId = "detectorId" + case rank = "rank" + case description = "description" + case action = "action" + case filterName = "filterName" + } + } + + public struct CreateFilterRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DetectorId", location: .uri(locationName: "detectorId"), required: true, type: .string), + AWSShapeMember(label: "ClientToken", location: .body(locationName: "clientToken"), required: false, type: .string), + AWSShapeMember(label: "Action", location: .body(locationName: "action"), required: false, type: .enum), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "FindingCriteria", location: .body(locationName: "findingCriteria"), required: false, type: .structure), + AWSShapeMember(label: "Rank", location: .body(locationName: "rank"), required: false, type: .integer), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + ] + public let detectorId: String + /// The idempotency token for the create request. + public let clientToken: String? + /// Specifies the action that is to be applied to the findings that match the filter. + public let action: FilterAction? + /// The name of the filter. + public let name: String? + /// Represents the criteria to be used in the filter for querying findings. + public let findingCriteria: FindingCriteria? + /// 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. + public let rank: Int32? + /// The description of the filter. + public let description: String? + + public init(detectorId: String, clientToken: String? = nil, action: FilterAction? = nil, name: String? = nil, findingCriteria: FindingCriteria? = nil, rank: Int32? = nil, description: String? = nil) { + self.detectorId = detectorId + self.clientToken = clientToken + self.action = action + self.name = name + self.findingCriteria = findingCriteria + self.rank = rank + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case detectorId = "detectorId" + case clientToken = "clientToken" + case action = "action" + case name = "name" + case findingCriteria = "findingCriteria" + case rank = "rank" + case description = "description" + } + } + public struct GetThreatIntelSetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ThreatIntelSetId", location: .uri(locationName: "threatIntelSetId"), required: true, type: .string), @@ -758,15 +912,15 @@ extension GuardDuty { public struct UnprocessedAccount: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AccountId", location: .body(locationName: "accountId"), required: false, type: .string), - AWSShapeMember(label: "Result", location: .body(locationName: "result"), required: false, type: .string) + AWSShapeMember(label: "AccountId", location: .body(locationName: "accountId"), required: true, type: .string), + AWSShapeMember(label: "Result", location: .body(locationName: "result"), required: true, type: .string) ] /// AWS Account ID. - public let accountId: String? + public let accountId: String /// A reason why the account hasn't been processed. - public let result: String? + public let result: String - public init(accountId: String? = nil, result: String? = nil) { + public init(accountId: String, result: String) { self.accountId = accountId self.result = result } @@ -777,22 +931,30 @@ extension GuardDuty { } } + public struct DeleteFilterResponse: AWSShape { + + } + public struct Resource: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "InstanceDetails", location: .body(locationName: "instanceDetails"), required: false, type: .structure), + AWSShapeMember(label: "AccessKeyDetails", location: .body(locationName: "accessKeyDetails"), required: false, type: .structure), AWSShapeMember(label: "ResourceType", location: .body(locationName: "resourceType"), required: false, type: .string) ] public let instanceDetails: InstanceDetails? + public let accessKeyDetails: AccessKeyDetails? /// The type of the AWS resource. public let resourceType: String? - public init(instanceDetails: InstanceDetails? = nil, resourceType: String? = nil) { + public init(instanceDetails: InstanceDetails? = nil, accessKeyDetails: AccessKeyDetails? = nil, resourceType: String? = nil) { self.instanceDetails = instanceDetails + self.accessKeyDetails = accessKeyDetails self.resourceType = resourceType } private enum CodingKeys: String, CodingKey { case instanceDetails = "instanceDetails" + case accessKeyDetails = "accessKeyDetails" case resourceType = "resourceType" } } @@ -829,7 +991,62 @@ extension GuardDuty { } private enum CodingKeys: String, CodingKey { - case threatIntelSetId = "threatIntelSetId" + case threatIntelSetId = "threatIntelSetId" + } + } + + public struct GetFilterRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DetectorId", location: .uri(locationName: "detectorId"), required: true, type: .string), + AWSShapeMember(label: "FilterName", location: .uri(locationName: "filterName"), required: true, type: .string) + ] + public let detectorId: String + public let filterName: String + + public init(detectorId: String, filterName: String) { + self.detectorId = detectorId + self.filterName = filterName + } + + private enum CodingKeys: String, CodingKey { + case detectorId = "detectorId" + case filterName = "filterName" + } + } + + public struct GetFilterResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FindingCriteria", location: .body(locationName: "findingCriteria"), required: false, type: .structure), + AWSShapeMember(label: "Rank", location: .body(locationName: "rank"), required: false, type: .integer), + AWSShapeMember(label: "Action", location: .body(locationName: "action"), required: false, type: .enum), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + ] + /// Represents the criteria to be used in the filter for querying findings. + public let findingCriteria: FindingCriteria? + /// 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. + public let rank: Int32? + /// Specifies the action that is to be applied to the findings that match the filter. + public let action: FilterAction? + /// The name of the filter. + public let name: String? + /// The description of the filter. + public let description: String? + + public init(findingCriteria: FindingCriteria? = nil, rank: Int32? = nil, action: FilterAction? = nil, name: String? = nil, description: String? = nil) { + self.findingCriteria = findingCriteria + self.rank = rank + self.action = action + self.name = name + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case findingCriteria = "findingCriteria" + case rank = "rank" + case action = "action" + case name = "name" + case description = "description" } } @@ -891,25 +1108,30 @@ extension GuardDuty { public struct InviteMembersRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string), + AWSShapeMember(label: "DisableEmailNotification", location: .body(locationName: "disableEmailNotification"), required: false, type: .boolean), AWSShapeMember(label: "DetectorId", location: .uri(locationName: "detectorId"), required: true, type: .string), + AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string), AWSShapeMember(label: "AccountIds", location: .body(locationName: "accountIds"), required: false, type: .list) ] - /// The invitation message that you want to send to the accounts that you're inviting to GuardDuty as members. - public let message: String? + /// A boolean value that specifies whether you want to disable email notification to the accounts that you’re inviting to GuardDuty as members. + public let disableEmailNotification: Bool? public let detectorId: String + /// The invitation message that you want to send to the accounts that you’re inviting to GuardDuty as members. + public let message: String? /// A list of account IDs of the accounts that you want to invite to GuardDuty as members. public let accountIds: [String]? - public init(message: String? = nil, detectorId: String, accountIds: [String]? = nil) { - self.message = message + public init(disableEmailNotification: Bool? = nil, detectorId: String, message: String? = nil, accountIds: [String]? = nil) { + self.disableEmailNotification = disableEmailNotification self.detectorId = detectorId + self.message = message self.accountIds = accountIds } private enum CodingKeys: String, CodingKey { - case message = "message" + case disableEmailNotification = "disableEmailNotification" case detectorId = "detectorId" + case message = "message" case accountIds = "accountIds" } } @@ -936,15 +1158,15 @@ extension GuardDuty { public struct AccountDetail: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AccountId", location: .body(locationName: "accountId"), required: false, type: .string), - AWSShapeMember(label: "Email", location: .body(locationName: "email"), required: false, type: .string) + AWSShapeMember(label: "AccountId", location: .body(locationName: "accountId"), required: true, type: .string), + AWSShapeMember(label: "Email", location: .body(locationName: "email"), required: true, type: .string) ] /// Member account ID. - public let accountId: String? + public let accountId: String /// Member account's email address. - public let email: String? + public let email: String - public init(accountId: String? = nil, email: String? = nil) { + public init(accountId: String, email: String) { self.accountId = accountId self.email = email } @@ -978,68 +1200,24 @@ extension GuardDuty { } } - public struct InstanceDetails: AWSShape { + public struct PortProbeAction: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InstanceState", location: .body(locationName: "instanceState"), required: false, type: .string), - AWSShapeMember(label: "Platform", location: .body(locationName: "platform"), required: false, type: .string), - AWSShapeMember(label: "ProductCodes", location: .body(locationName: "productCodes"), required: false, type: .list), - AWSShapeMember(label: "LaunchTime", location: .body(locationName: "launchTime"), required: false, type: .string), - AWSShapeMember(label: "InstanceId", location: .body(locationName: "instanceId"), required: false, type: .string), - AWSShapeMember(label: "Tags", location: .body(locationName: "tags"), required: false, type: .list), - AWSShapeMember(label: "IamInstanceProfile", location: .body(locationName: "iamInstanceProfile"), required: false, type: .structure), - AWSShapeMember(label: "ImageId", location: .body(locationName: "imageId"), required: false, type: .string), - AWSShapeMember(label: "NetworkInterfaces", location: .body(locationName: "networkInterfaces"), required: false, type: .list), - AWSShapeMember(label: "InstanceType", location: .body(locationName: "instanceType"), required: false, type: .string), - AWSShapeMember(label: "AvailabilityZone", location: .body(locationName: "availabilityZone"), required: false, type: .string) + AWSShapeMember(label: "PortProbeDetails", location: .body(locationName: "portProbeDetails"), required: false, type: .list), + AWSShapeMember(label: "Blocked", location: .body(locationName: "blocked"), required: false, type: .boolean) ] - /// The state of the EC2 instance. - public let instanceState: String? - /// The platform of the EC2 instance. - public let platform: String? - /// The product code of the EC2 instance. - public let productCodes: [ProductCode]? - /// The launch time of the EC2 instance. - public let launchTime: String? - /// The ID of the EC2 instance. - public let instanceId: String? - /// The tags of the EC2 instance. - public let tags: [Tag]? - public let iamInstanceProfile: IamInstanceProfile? - /// The image ID of the EC2 instance. - public let imageId: String? - /// The network interface information of the EC2 instance. - public let networkInterfaces: [NetworkInterface]? - /// The type of the EC2 instance. - public let instanceType: String? - /// The availability zone of the EC2 instance. - public let availabilityZone: String? + /// A list of port probe details objects. + public let portProbeDetails: [PortProbeDetail]? + /// Port probe blocked information. + public let blocked: Bool? - public init(instanceState: String? = nil, platform: String? = nil, productCodes: [ProductCode]? = nil, launchTime: String? = nil, instanceId: String? = nil, tags: [Tag]? = nil, iamInstanceProfile: IamInstanceProfile? = nil, imageId: String? = nil, networkInterfaces: [NetworkInterface]? = nil, instanceType: String? = nil, availabilityZone: String? = nil) { - self.instanceState = instanceState - self.platform = platform - self.productCodes = productCodes - self.launchTime = launchTime - self.instanceId = instanceId - self.tags = tags - self.iamInstanceProfile = iamInstanceProfile - self.imageId = imageId - self.networkInterfaces = networkInterfaces - self.instanceType = instanceType - self.availabilityZone = availabilityZone + public init(portProbeDetails: [PortProbeDetail]? = nil, blocked: Bool? = nil) { + self.portProbeDetails = portProbeDetails + self.blocked = blocked } private enum CodingKeys: String, CodingKey { - case instanceState = "instanceState" - case platform = "platform" - case productCodes = "productCodes" - case launchTime = "launchTime" - case instanceId = "instanceId" - case tags = "tags" - case iamInstanceProfile = "iamInstanceProfile" - case imageId = "imageId" - case networkInterfaces = "networkInterfaces" - case instanceType = "instanceType" - case availabilityZone = "availabilityZone" + case portProbeDetails = "portProbeDetails" + case blocked = "blocked" } } @@ -1086,34 +1264,108 @@ extension GuardDuty { } } + public struct InstanceDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ProductCodes", location: .body(locationName: "productCodes"), required: false, type: .list), + AWSShapeMember(label: "Platform", location: .body(locationName: "platform"), required: false, type: .string), + AWSShapeMember(label: "InstanceState", location: .body(locationName: "instanceState"), required: false, type: .string), + AWSShapeMember(label: "LaunchTime", location: .body(locationName: "launchTime"), required: false, type: .string), + AWSShapeMember(label: "InstanceId", location: .body(locationName: "instanceId"), required: false, type: .string), + AWSShapeMember(label: "IamInstanceProfile", location: .body(locationName: "iamInstanceProfile"), required: false, type: .structure), + AWSShapeMember(label: "ImageId", location: .body(locationName: "imageId"), required: false, type: .string), + AWSShapeMember(label: "NetworkInterfaces", location: .body(locationName: "networkInterfaces"), required: false, type: .list), + AWSShapeMember(label: "Tags", location: .body(locationName: "tags"), required: false, type: .list), + AWSShapeMember(label: "InstanceType", location: .body(locationName: "instanceType"), required: false, type: .string), + AWSShapeMember(label: "AvailabilityZone", location: .body(locationName: "availabilityZone"), required: false, type: .string), + AWSShapeMember(label: "ImageDescription", location: .body(locationName: "imageDescription"), required: false, type: .string) + ] + /// The product code of the EC2 instance. + public let productCodes: [ProductCode]? + /// The platform of the EC2 instance. + public let platform: String? + /// The state of the EC2 instance. + public let instanceState: String? + /// The launch time of the EC2 instance. + public let launchTime: String? + /// The ID of the EC2 instance. + public let instanceId: String? + public let iamInstanceProfile: IamInstanceProfile? + /// The image ID of the EC2 instance. + public let imageId: String? + /// The network interface information of the EC2 instance. + public let networkInterfaces: [NetworkInterface]? + /// The tags of the EC2 instance. + public let tags: [Tag]? + /// The type of the EC2 instance. + public let instanceType: String? + /// The availability zone of the EC2 instance. + public let availabilityZone: String? + /// The image description of the EC2 instance. + public let imageDescription: String? + + public init(productCodes: [ProductCode]? = nil, platform: String? = nil, instanceState: String? = nil, launchTime: String? = nil, instanceId: String? = nil, iamInstanceProfile: IamInstanceProfile? = nil, imageId: String? = nil, networkInterfaces: [NetworkInterface]? = nil, tags: [Tag]? = nil, instanceType: String? = nil, availabilityZone: String? = nil, imageDescription: String? = nil) { + self.productCodes = productCodes + self.platform = platform + self.instanceState = instanceState + self.launchTime = launchTime + self.instanceId = instanceId + self.iamInstanceProfile = iamInstanceProfile + self.imageId = imageId + self.networkInterfaces = networkInterfaces + self.tags = tags + self.instanceType = instanceType + self.availabilityZone = availabilityZone + self.imageDescription = imageDescription + } + + private enum CodingKeys: String, CodingKey { + case productCodes = "productCodes" + case platform = "platform" + case instanceState = "instanceState" + case launchTime = "launchTime" + case instanceId = "instanceId" + case iamInstanceProfile = "iamInstanceProfile" + case imageId = "imageId" + case networkInterfaces = "networkInterfaces" + case tags = "tags" + case instanceType = "instanceType" + case availabilityZone = "availabilityZone" + case imageDescription = "imageDescription" + } + } + + public struct ArchiveFindingsResponse: AWSShape { + + } + public struct Member: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AccountId", location: .body(locationName: "accountId"), required: false, type: .string), + AWSShapeMember(label: "AccountId", location: .body(locationName: "accountId"), required: true, type: .string), AWSShapeMember(label: "DetectorId", location: .body(locationName: "detectorId"), required: false, type: .string), - AWSShapeMember(label: "Email", location: .body(locationName: "email"), required: false, type: .string), - AWSShapeMember(label: "MasterId", location: .body(locationName: "masterId"), required: false, type: .string), - AWSShapeMember(label: "UpdatedAt", location: .body(locationName: "updatedAt"), required: false, type: .string), + AWSShapeMember(label: "Email", location: .body(locationName: "email"), required: true, type: .string), AWSShapeMember(label: "InvitedAt", location: .body(locationName: "invitedAt"), required: false, type: .string), - AWSShapeMember(label: "RelationshipStatus", location: .body(locationName: "relationshipStatus"), required: false, type: .string) + AWSShapeMember(label: "UpdatedAt", location: .body(locationName: "updatedAt"), required: true, type: .string), + AWSShapeMember(label: "MasterId", location: .body(locationName: "masterId"), required: true, type: .string), + AWSShapeMember(label: "RelationshipStatus", location: .body(locationName: "relationshipStatus"), required: true, type: .string) ] - public let accountId: String? + public let accountId: String public let detectorId: String? /// Member account's email address. - public let email: String? - public let masterId: String? - public let updatedAt: String? + public let email: String /// Timestamp at which the invitation was sent public let invitedAt: String? + public let updatedAt: String + public let masterId: String /// The status of the relationship between the member and the master. - public let relationshipStatus: String? + public let relationshipStatus: String - public init(accountId: String? = nil, detectorId: String? = nil, email: String? = nil, masterId: String? = nil, updatedAt: String? = nil, invitedAt: String? = nil, relationshipStatus: String? = nil) { + public init(accountId: String, detectorId: String? = nil, email: String, invitedAt: String? = nil, updatedAt: String, masterId: String, relationshipStatus: String) { self.accountId = accountId self.detectorId = detectorId self.email = email - self.masterId = masterId - self.updatedAt = updatedAt self.invitedAt = invitedAt + self.updatedAt = updatedAt + self.masterId = masterId self.relationshipStatus = relationshipStatus } @@ -1121,17 +1373,13 @@ extension GuardDuty { case accountId = "accountId" case detectorId = "detectorId" case email = "email" - case masterId = "masterId" - case updatedAt = "updatedAt" case invitedAt = "invitedAt" + case updatedAt = "updatedAt" + case masterId = "masterId" case relationshipStatus = "relationshipStatus" } } - public struct ArchiveFindingsResponse: AWSShape { - - } - public struct GetDetectorResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UpdatedAt", location: .body(locationName: "updatedAt"), required: false, type: .string), @@ -1303,54 +1551,54 @@ extension GuardDuty { public struct Finding: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Severity", location: .body(locationName: "severity"), required: false, type: .double), - AWSShapeMember(label: "AccountId", location: .body(locationName: "accountId"), required: false, type: .string), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "Severity", location: .body(locationName: "severity"), required: true, type: .double), + AWSShapeMember(label: "AccountId", location: .body(locationName: "accountId"), required: true, type: .string), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: true, type: .string), AWSShapeMember(label: "Partition", location: .body(locationName: "partition"), required: false, type: .string), AWSShapeMember(label: "Service", location: .body(locationName: "service"), required: false, type: .structure), - AWSShapeMember(label: "Region", location: .body(locationName: "region"), required: false, type: .string), - AWSShapeMember(label: "UpdatedAt", location: .body(locationName: "updatedAt"), required: false, type: .string), + AWSShapeMember(label: "Region", location: .body(locationName: "region"), required: true, type: .string), + AWSShapeMember(label: "UpdatedAt", location: .body(locationName: "updatedAt"), required: true, type: .string), AWSShapeMember(label: "Title", location: .body(locationName: "title"), required: false, type: .string), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: true, type: .string), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), - AWSShapeMember(label: "CreatedAt", location: .body(locationName: "createdAt"), required: false, type: .string), - AWSShapeMember(label: "Resource", location: .body(locationName: "resource"), required: false, type: .structure), - AWSShapeMember(label: "SchemaVersion", location: .body(locationName: "schemaVersion"), required: false, type: .string), + AWSShapeMember(label: "CreatedAt", location: .body(locationName: "createdAt"), required: true, type: .string), + AWSShapeMember(label: "Resource", location: .body(locationName: "resource"), required: true, type: .structure), + AWSShapeMember(label: "SchemaVersion", location: .body(locationName: "schemaVersion"), required: true, type: .string), AWSShapeMember(label: "Confidence", location: .body(locationName: "confidence"), required: false, type: .double), - AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .string) + AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: true, type: .string) ] /// The severity of a finding. - public let severity: Double? + public let severity: Double /// AWS account ID where the activity occurred that prompted GuardDuty to generate a finding. - public let accountId: String? + public let accountId: String /// The ARN of a finding described by the action. - public let arn: String? + public let arn: String /// The AWS resource partition. public let partition: String? /// Additional information assigned to the generated finding by GuardDuty. public let service: Service? /// The AWS region where the activity occurred that prompted GuardDuty to generate a finding. - public let region: String? + public let region: String /// The time stamp at which a finding was last updated. - public let updatedAt: String? + public let updatedAt: String /// The title of a finding. public let title: String? + /// The identifier that corresponds to a finding described by the action. + public let id: String /// The description of a finding. public let description: String? - /// The identifier that corresponds to a finding described by the action. - public let id: String? /// The time stamp at which a finding was generated. - public let createdAt: String? + public let createdAt: String /// The AWS resource associated with the activity that prompted GuardDuty to generate a finding. - public let resource: Resource? + public let resource: Resource /// Findings' schema version. - public let schemaVersion: String? + public let schemaVersion: String /// The confidence level of a finding. public let confidence: Double? /// The type of a finding described by the action. - public let `type`: String? + public let `type`: String - public init(severity: Double? = nil, accountId: String? = nil, arn: String? = nil, partition: String? = nil, service: Service? = nil, region: String? = nil, updatedAt: String? = nil, title: String? = nil, description: String? = nil, id: String? = nil, createdAt: String? = nil, resource: Resource? = nil, schemaVersion: String? = nil, confidence: Double? = nil, type: String? = nil) { + public init(severity: Double, accountId: String, arn: String, partition: String? = nil, service: Service? = nil, region: String, updatedAt: String, title: String? = nil, id: String, description: String? = nil, createdAt: String, resource: Resource, schemaVersion: String, confidence: Double? = nil, type: String) { self.severity = severity self.accountId = accountId self.arn = arn @@ -1359,8 +1607,8 @@ extension GuardDuty { self.region = region self.updatedAt = updatedAt self.title = title - self.description = description self.id = id + self.description = description self.createdAt = createdAt self.resource = resource self.schemaVersion = schemaVersion @@ -1377,8 +1625,8 @@ extension GuardDuty { case region = "region" case updatedAt = "updatedAt" case title = "title" - case description = "description" case id = "id" + case description = "description" case createdAt = "createdAt" case resource = "resource" case schemaVersion = "schemaVersion" @@ -1400,6 +1648,7 @@ extension GuardDuty { AWSShapeMember(label: "PrivateIpAddresses", location: .body(locationName: "privateIpAddresses"), required: false, type: .list), AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "securityGroups"), required: false, type: .list), AWSShapeMember(label: "SubnetId", location: .body(locationName: "subnetId"), required: false, type: .string), + AWSShapeMember(label: "NetworkInterfaceId", location: .body(locationName: "networkInterfaceId"), required: false, type: .string), AWSShapeMember(label: "VpcId", location: .body(locationName: "vpcId"), required: false, type: .string), AWSShapeMember(label: "PublicDnsName", location: .body(locationName: "publicDnsName"), required: false, type: .string), AWSShapeMember(label: "Ipv6Addresses", location: .body(locationName: "ipv6Addresses"), required: false, type: .list), @@ -1413,6 +1662,8 @@ extension GuardDuty { public let securityGroups: [SecurityGroup]? /// The subnet ID of the EC2 instance. public let subnetId: String? + /// The ID of the network interface + public let networkInterfaceId: String? /// The VPC ID of the EC2 instance. public let vpcId: String? /// Public DNS name of the EC2 instance. @@ -1426,10 +1677,11 @@ extension GuardDuty { /// Private IP address of the EC2 instance. public let privateIpAddress: String? - public init(privateIpAddresses: [PrivateIpAddressDetails]? = nil, securityGroups: [SecurityGroup]? = nil, subnetId: String? = nil, vpcId: String? = nil, publicDnsName: String? = nil, ipv6Addresses: [String]? = nil, publicIp: String? = nil, privateDnsName: String? = nil, privateIpAddress: String? = nil) { + public init(privateIpAddresses: [PrivateIpAddressDetails]? = nil, securityGroups: [SecurityGroup]? = nil, subnetId: String? = nil, networkInterfaceId: String? = nil, vpcId: String? = nil, publicDnsName: String? = nil, ipv6Addresses: [String]? = nil, publicIp: String? = nil, privateDnsName: String? = nil, privateIpAddress: String? = nil) { self.privateIpAddresses = privateIpAddresses self.securityGroups = securityGroups self.subnetId = subnetId + self.networkInterfaceId = networkInterfaceId self.vpcId = vpcId self.publicDnsName = publicDnsName self.ipv6Addresses = ipv6Addresses @@ -1442,6 +1694,7 @@ extension GuardDuty { case privateIpAddresses = "privateIpAddresses" case securityGroups = "securityGroups" case subnetId = "subnetId" + case networkInterfaceId = "networkInterfaceId" case vpcId = "vpcId" case publicDnsName = "publicDnsName" case ipv6Addresses = "ipv6Addresses" @@ -1579,6 +1832,10 @@ extension GuardDuty { } } + public struct AcceptInvitationResponse: AWSShape { + + } + public struct IamInstanceProfile: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), @@ -1600,10 +1857,6 @@ extension GuardDuty { } } - public struct AcceptInvitationResponse: AWSShape { - - } - public struct ListDetectorsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), @@ -1775,6 +2028,37 @@ extension GuardDuty { } } + public struct AccessKeyDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserName", location: .body(locationName: "userName"), required: false, type: .string), + AWSShapeMember(label: "PrincipalId", location: .body(locationName: "principalId"), required: false, type: .string), + AWSShapeMember(label: "AccessKeyId", location: .body(locationName: "accessKeyId"), required: false, type: .string), + AWSShapeMember(label: "UserType", location: .body(locationName: "userType"), required: false, type: .string) + ] + /// The name of the user. + public let userName: String? + /// The principal ID of the user. + public let principalId: String? + /// Access key ID of the user. + public let accessKeyId: String? + /// The type of the user. + public let userType: String? + + public init(userName: String? = nil, principalId: String? = nil, accessKeyId: String? = nil, userType: String? = nil) { + self.userName = userName + self.principalId = principalId + self.accessKeyId = accessKeyId + self.userType = userType + } + + private enum CodingKeys: String, CodingKey { + case userName = "userName" + case principalId = "principalId" + case accessKeyId = "accessKeyId" + case userType = "userType" + } + } + public struct GetIPSetResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Format", location: .body(locationName: "format"), required: false, type: .enum), @@ -1806,19 +2090,19 @@ extension GuardDuty { } } - public struct DeleteInvitationsRequest: AWSShape { + public struct UpdateFilterResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AccountIds", location: .body(locationName: "accountIds"), required: false, type: .list) + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string) ] - /// A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to delete invitations from. - public let accountIds: [String]? + /// The name of the filter. + public let name: String? - public init(accountIds: [String]? = nil) { - self.accountIds = accountIds + public init(name: String? = nil) { + self.name = name } private enum CodingKeys: String, CodingKey { - case accountIds = "accountIds" + case name = "name" } } @@ -1868,6 +2152,22 @@ extension GuardDuty { } } + public struct DeleteInvitationsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AccountIds", location: .body(locationName: "accountIds"), required: false, type: .list) + ] + /// A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to delete invitations from. + public let accountIds: [String]? + + public init(accountIds: [String]? = nil) { + self.accountIds = accountIds + } + + private enum CodingKeys: String, CodingKey { + case accountIds = "accountIds" + } + } + public struct UpdateDetectorRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DetectorId", location: .uri(locationName: "detectorId"), required: true, type: .string), @@ -2110,6 +2410,29 @@ extension GuardDuty { } } + public struct ListFiltersRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DetectorId", location: .uri(locationName: "detectorId"), required: true, type: .string), + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + public let detectorId: String + public let nextToken: String? + public let maxResults: Int32? + + public init(detectorId: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.detectorId = detectorId + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case detectorId = "detectorId" + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + public struct DeleteDetectorRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DetectorId", location: .uri(locationName: "detectorId"), required: true, type: .string) @@ -2323,4 +2646,20 @@ extension GuardDuty { } } + public struct CreateFilterResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string) + ] + /// The name of the successfully created filter. + public let name: String? + + public init(name: String? = nil) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + } + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/SageMaker/SageMaker_API.swift b/Sources/AWSSDKSwift/Services/SageMaker/SageMaker_API.swift index aa4617dfe03..94f08396f09 100644 --- a/Sources/AWSSDKSwift/Services/SageMaker/SageMaker_API.swift +++ b/Sources/AWSSDKSwift/Services/SageMaker/SageMaker_API.swift @@ -6,7 +6,7 @@ import AWSSDKSwiftCore /** Definition of the public APIs exposed by SageMaker */ -public struct SageMaker { +public struct Sagemaker { let client: AWSClient @@ -21,13 +21,13 @@ public struct SageMaker { apiVersion: "2017-07-24", endpoint: endpoint, middlewares: [], - possibleErrorTypes: [SageMakerError.self] + possibleErrorTypes: [SagemakerError.self] ) } - /// Returns a URL that you can use to connect to the Juypter 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. - public func createPresignedNotebookInstanceUrl(_ input: CreatePresignedNotebookInstanceUrlInput) throws -> CreatePresignedNotebookInstanceUrlOutput { - return try client.send(operation: "CreatePresignedNotebookInstanceUrl", path: "/", httpMethod: "POST", input: input) + /// Starts a hyperparameter tuning job. + public func createHyperParameterTuningJob(_ input: CreateHyperParameterTuningJobRequest) throws -> CreateHyperParameterTuningJobResponse { + return try client.send(operation: "CreateHyperParameterTuningJob", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -35,19 +35,34 @@ public struct SageMaker { _ = try client.send(operation: "DeleteModel", path: "/", httpMethod: "POST", input: input) } - /// 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 (is this same as "Running" in the console?) before you can connect to your Jupyter notebook. + /// 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. + public func createPresignedNotebookInstanceUrl(_ input: CreatePresignedNotebookInstanceUrlInput) throws -> CreatePresignedNotebookInstanceUrlOutput { + return try client.send(operation: "CreatePresignedNotebookInstanceUrl", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes a notebook instance lifecycle configuration. + public func deleteNotebookInstanceLifecycleConfig(_ input: DeleteNotebookInstanceLifecycleConfigInput) throws { + _ = try client.send(operation: "DeleteNotebookInstanceLifecycleConfig", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func startNotebookInstance(_ input: StartNotebookInstanceInput) throws { _ = try client.send(operation: "StartNotebookInstance", path: "/", httpMethod: "POST", input: input) } + /// Returns information about a notebook instance. + public func describeNotebookInstance(_ input: DescribeNotebookInstanceInput) throws -> DescribeNotebookInstanceOutput { + return try client.send(operation: "DescribeNotebookInstance", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func updateNotebookInstance(_ input: UpdateNotebookInstanceInput) throws -> UpdateNotebookInstanceOutput { return try client.send(operation: "UpdateNotebookInstance", path: "/", httpMethod: "POST", input: input) } - /// Returns information about a notebook instance. - public func describeNotebookInstance(_ input: DescribeNotebookInstanceInput) throws -> DescribeNotebookInstanceOutput { - return try client.send(operation: "DescribeNotebookInstance", path: "/", httpMethod: "POST", input: input) + /// Updates a notebook instance lifecycle configuration created with the CreateNotebookInstanceLifecycleConfig API. + public func updateNotebookInstanceLifecycleConfig(_ input: UpdateNotebookInstanceLifecycleConfigInput) throws -> UpdateNotebookInstanceLifecycleConfigOutput { + return try client.send(operation: "UpdateNotebookInstanceLifecycleConfig", path: "/", httpMethod: "POST", input: input) } /// Returns the tags for the specified Amazon SageMaker resource. @@ -55,14 +70,24 @@ public struct SageMaker { return try client.send(operation: "ListTags", path: "/", httpMethod: "POST", input: input) } + /// Gets a list of TrainingJobSummary objects that describe the training jobs that a hyperparameter tuning job launched. + public func listTrainingJobsForHyperParameterTuningJob(_ input: ListTrainingJobsForHyperParameterTuningJobRequest) throws -> ListTrainingJobsForHyperParameterTuningJobResponse { + return try client.send(operation: "ListTrainingJobsForHyperParameterTuningJob", path: "/", httpMethod: "POST", input: input) + } + /// Returns the description of an endpoint configuration created using the CreateEndpointConfig API. public func describeEndpointConfig(_ input: DescribeEndpointConfigInput) throws -> DescribeEndpointConfigOutput { return try client.send(operation: "DescribeEndpointConfig", path: "/", httpMethod: "POST", input: input) } - /// Lists models created with the CreateModel API. - public func listModels(_ input: ListModelsInput) throws -> ListModelsOutput { - return try client.send(operation: "ListModels", path: "/", httpMethod: "POST", input: input) + /// Returns information about a transform job. + public func describeTransformJob(_ input: DescribeTransformJobRequest) throws -> DescribeTransformJobResponse { + return try client.send(operation: "DescribeTransformJob", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func stopHyperParameterTuningJob(_ input: StopHyperParameterTuningJobRequest) throws { + _ = try client.send(operation: "StopHyperParameterTuningJob", path: "/", httpMethod: "POST", input: input) } /// Lists training jobs. @@ -70,6 +95,21 @@ public struct SageMaker { return try client.send(operation: "ListTrainingJobs", path: "/", httpMethod: "POST", input: input) } + /// Lists models created with the CreateModel API. + public func listModels(_ input: ListModelsInput) throws -> ListModelsOutput { + return try client.send(operation: "ListModels", path: "/", httpMethod: "POST", input: input) + } + + /// Returns a description of a notebook instance lifecycle configuration. For information about notebook instance lifestyle configurations, see notebook-lifecycle-config. + public func describeNotebookInstanceLifecycleConfig(_ input: DescribeNotebookInstanceLifecycleConfigInput) throws -> DescribeNotebookInstanceLifecycleConfigOutput { + return try client.send(operation: "DescribeNotebookInstanceLifecycleConfig", path: "/", httpMethod: "POST", input: input) + } + + /// Gets a description of a hyperparameter tuning job. + public func describeHyperParameterTuningJob(_ input: DescribeHyperParameterTuningJobRequest) throws -> DescribeHyperParameterTuningJobResponse { + return try client.send(operation: "DescribeHyperParameterTuningJob", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func deleteNotebookInstance(_ input: DeleteNotebookInstanceInput) throws { _ = try client.send(operation: "DeleteNotebookInstance", path: "/", httpMethod: "POST", input: input) @@ -80,22 +120,27 @@ public struct SageMaker { _ = try client.send(operation: "StopTrainingJob", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func createNotebookInstanceLifecycleConfig(_ input: CreateNotebookInstanceLifecycleConfigInput) throws -> CreateNotebookInstanceLifecycleConfigOutput { + return try client.send(operation: "CreateNotebookInstanceLifecycleConfig", path: "/", httpMethod: "POST", input: input) + } + /// Returns information about a training job. public func describeTrainingJob(_ input: DescribeTrainingJobRequest) throws -> DescribeTrainingJobResponse { return try client.send(operation: "DescribeTrainingJob", path: "/", httpMethod: "POST", input: input) } - /// Creates an Amazon SageMaker notebook instance. A notebook instance is an ML compute instance running on a Jupyter notebook. In a CreateNotebookInstance request, you 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 an algorithm or with a machine learning framework. After receiving the request, Amazon SageMaker does the following: Creates a network interface in the Amazon SageMaker VPC. (Option) If you specified SubnetId, 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. 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. + /// 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: Creates a network interface in the Amazon SageMaker VPC. (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. 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. public func createNotebookInstance(_ input: CreateNotebookInstanceInput) throws -> CreateNotebookInstanceOutput { return try client.send(operation: "CreateNotebookInstance", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func createTrainingJob(_ input: CreateTrainingJobRequest) throws -> CreateTrainingJobResponse { return try client.send(operation: "CreateTrainingJob", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func updateEndpoint(_ input: UpdateEndpointInput) throws -> UpdateEndpointOutput { return try client.send(operation: "UpdateEndpoint", path: "/", httpMethod: "POST", input: input) } @@ -105,12 +150,17 @@ public struct SageMaker { return try client.send(operation: "ListEndpointConfigs", path: "/", httpMethod: "POST", input: input) } - /// Updates variant weight, capacity, or both of one or more variants associated with an endpoint. This operation updates weight, capacity, or both for the previously provisioned 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. + /// 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. public func updateEndpointWeightsAndCapacities(_ input: UpdateEndpointWeightsAndCapacitiesInput) throws -> UpdateEndpointWeightsAndCapacitiesOutput { return try client.send(operation: "UpdateEndpointWeightsAndCapacities", path: "/", httpMethod: "POST", input: input) } - /// Creates a model in Amazon SageMaker. In the request, you name the model and describe one or more containers. For each 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 into production. Use this API to create a model only if you want to use Amazon SageMaker hosting services. 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. In the CreateModel request, you must define at least one container with the PrimaryContainer parameter. You can optionally specify additional containers with the SupplementalContainers 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. 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. + /// Lists transform jobs. + public func listTransformJobs(_ input: ListTransformJobsRequest) throws -> ListTransformJobsResponse { + return try client.send(operation: "ListTransformJobs", path: "/", httpMethod: "POST", input: input) + } + + /// Creates a model in Amazon SageMaker. In the request, you name the model and describe one or more containers. For each 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 into production. Use this API to create a model only if you want to use Amazon SageMaker hosting services. 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. 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. 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. public func createModel(_ input: CreateModelInput) throws -> CreateModelOutput { return try client.send(operation: "CreateModel", path: "/", httpMethod: "POST", input: input) } @@ -120,11 +170,16 @@ public struct SageMaker { return try client.send(operation: "AddTags", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func createEndpointConfig(_ input: CreateEndpointConfigInput) throws -> CreateEndpointConfigOutput { return try client.send(operation: "CreateEndpointConfig", path: "/", httpMethod: "POST", input: input) } + /// Gets a list of HyperParameterTuningJobSummary objects that describe the hyperparameter tuning jobs launched in your account. + public func listHyperParameterTuningJobs(_ input: ListHyperParameterTuningJobsRequest) throws -> ListHyperParameterTuningJobsResponse { + return try client.send(operation: "ListHyperParameterTuningJobs", path: "/", httpMethod: "POST", input: input) + } + /// Returns the description of an endpoint. public func describeEndpoint(_ input: DescribeEndpointInput) throws -> DescribeEndpointOutput { return try client.send(operation: "DescribeEndpoint", path: "/", httpMethod: "POST", input: input) @@ -140,12 +195,12 @@ public struct SageMaker { return try client.send(operation: "ListEndpoints", path: "/", httpMethod: "POST", input: input) } - /// Deletes an endpoint. Amazon SageMaker frees up all of the resources that were deployed when the endpoint was created. + /// 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. public func deleteEndpoint(_ input: DeleteEndpointInput) throws { _ = try client.send(operation: "DeleteEndpoint", path: "/", httpMethod: "POST", input: input) } - /// Deletes an endpoint configuration. The DeleteEndpoingConfig API deletes only the specified configuration. It does not delete endpoints created using the configuration. + /// Deletes an endpoint configuration. The DeleteEndpointConfig API deletes only the specified configuration. It does not delete endpoints created using the configuration. public func deleteEndpointConfig(_ input: DeleteEndpointConfigInput) throws { _ = try client.send(operation: "DeleteEndpointConfig", path: "/", httpMethod: "POST", input: input) } @@ -155,7 +210,17 @@ public struct SageMaker { return try client.send(operation: "DeleteTags", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. + public func stopTransformJob(_ input: StopTransformJobRequest) throws { + _ = try client.send(operation: "StopTransformJob", path: "/", httpMethod: "POST", input: input) + } + + /// Lists notebook instance lifestyle configurations created with the CreateNotebookInstanceLifecycleConfig API. + public func listNotebookInstanceLifecycleConfigs(_ input: ListNotebookInstanceLifecycleConfigsInput) throws -> ListNotebookInstanceLifecycleConfigsOutput { + return try client.send(operation: "ListNotebookInstanceLifecycleConfigs", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func createEndpoint(_ input: CreateEndpointInput) throws -> CreateEndpointOutput { return try client.send(operation: "CreateEndpoint", path: "/", httpMethod: "POST", input: input) } @@ -165,6 +230,11 @@ public struct SageMaker { _ = try client.send(operation: "StopNotebookInstance", path: "/", httpMethod: "POST", input: input) } + /// 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 within an AWS Region in an AWS account. 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. + public func createTransformJob(_ input: CreateTransformJobRequest) throws -> CreateTransformJobResponse { + return try client.send(operation: "CreateTransformJob", path: "/", httpMethod: "POST", input: input) + } + /// Returns a list of the Amazon SageMaker notebook instances in the requester's account in an AWS Region. public func listNotebookInstances(_ input: ListNotebookInstancesInput) throws -> ListNotebookInstancesOutput { return try client.send(operation: "ListNotebookInstances", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/SageMaker/SageMaker_Error.swift b/Sources/AWSSDKSwift/Services/SageMaker/SageMaker_Error.swift index a8f7f65e8b8..896f1f8042a 100644 --- a/Sources/AWSSDKSwift/Services/SageMaker/SageMaker_Error.swift +++ b/Sources/AWSSDKSwift/Services/SageMaker/SageMaker_Error.swift @@ -2,26 +2,26 @@ import AWSSDKSwiftCore -/// Error enum for SageMaker -public enum SageMakerError: AWSErrorType { +/// Error enum for Sagemaker +public enum SagemakerError: AWSErrorType { + case resourceInUse(message: String?) case resourceLimitExceeded(message: String?) case resourceNotFound(message: String?) - case resourceInUse(message: String?) } -extension SageMakerError { +extension SagemakerError { public init?(errorCode: String, message: String?){ var errorCode = errorCode if let index = errorCode.index(of: "#") { errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) } switch errorCode { + case "ResourceInUse": + self = .resourceInUse(message: message) case "ResourceLimitExceeded": self = .resourceLimitExceeded(message: message) case "ResourceNotFound": self = .resourceNotFound(message: message) - case "ResourceInUse": - self = .resourceInUse(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/SageMaker/SageMaker_Shapes.swift b/Sources/AWSSDKSwift/Services/SageMaker/SageMaker_Shapes.swift index dd43d0e014f..85d439223fe 100644 --- a/Sources/AWSSDKSwift/Services/SageMaker/SageMaker_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/SageMaker/SageMaker_Shapes.swift @@ -3,7 +3,14 @@ import Foundation import AWSSDKSwiftCore -extension SageMaker { +extension Sagemaker { + + public enum HyperParameterTuningJobSortByOptions: String, CustomStringConvertible, Codable { + case name = "Name" + case status = "Status" + case creationtime = "CreationTime" + public var description: String { return self.rawValue } + } public struct DescribeModelOutput: AWSShape { public static var _members: [AWSShapeMember] = [ @@ -11,8 +18,8 @@ extension SageMaker { AWSShapeMember(label: "ExecutionRoleArn", required: true, type: .string), AWSShapeMember(label: "ModelArn", required: true, type: .string), AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), - AWSShapeMember(label: "PrimaryContainer", required: true, type: .structure), - AWSShapeMember(label: "SupplementalContainers", required: true, type: .list) + AWSShapeMember(label: "VpcConfig", required: false, type: .structure), + AWSShapeMember(label: "PrimaryContainer", required: true, type: .structure) ] /// Name of the Amazon SageMaker model. public let modelName: String @@ -22,18 +29,18 @@ extension SageMaker { public let modelArn: String /// A timestamp that shows when the model was created. public let creationTime: TimeStamp + /// A VpcConfig object that specifies the VPC that this model has access to. For more information, see host-vpc + public let vpcConfig: VpcConfig? /// The location of the primary inference code, associated artifacts, and custom environment map that the inference code uses when it is deployed in production. public let primaryContainer: ContainerDefinition - /// The description of additional optional containers that you defined when creating the model. - public let supplementalContainers: [ContainerDefinition] - public init(modelName: String, executionRoleArn: String, modelArn: String, creationTime: TimeStamp, primaryContainer: ContainerDefinition, supplementalContainers: [ContainerDefinition]) { + public init(modelName: String, executionRoleArn: String, modelArn: String, creationTime: TimeStamp, vpcConfig: VpcConfig? = nil, primaryContainer: ContainerDefinition) { self.modelName = modelName self.executionRoleArn = executionRoleArn self.modelArn = modelArn self.creationTime = creationTime + self.vpcConfig = vpcConfig self.primaryContainer = primaryContainer - self.supplementalContainers = supplementalContainers } private enum CodingKeys: String, CodingKey { @@ -41,86 +48,55 @@ extension SageMaker { case executionRoleArn = "ExecutionRoleArn" case modelArn = "ModelArn" case creationTime = "CreationTime" + case vpcConfig = "VpcConfig" case primaryContainer = "PrimaryContainer" - case supplementalContainers = "SupplementalContainers" - } - } - - public struct NotebookInstanceSummary: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), - AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string), - AWSShapeMember(label: "Url", required: false, type: .string), - AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), - AWSShapeMember(label: "NotebookInstanceArn", required: true, type: .string), - AWSShapeMember(label: "InstanceType", required: false, type: .enum), - AWSShapeMember(label: "NotebookInstanceStatus", required: false, type: .enum) - ] - /// A timestamp that shows when the notebook instance was last modified. - public let lastModifiedTime: TimeStamp? - /// The name of the notebook instance that you want a summary for. - public let notebookInstanceName: String - /// The URL that you use to connect to the Jupyter instance running in your notebook instance. - public let url: String? - /// A timestamp that shows when the notebook instance was created. - public let creationTime: TimeStamp? - /// The Amazon Resource Name (ARN) of the notebook instance. - public let notebookInstanceArn: String - /// The type of ML compute instance that the notebook instance is running on. - public let instanceType: InstanceType? - /// The status of the notebook instance. - public let notebookInstanceStatus: NotebookInstanceStatus? - - public init(lastModifiedTime: TimeStamp? = nil, notebookInstanceName: String, url: String? = nil, creationTime: TimeStamp? = nil, notebookInstanceArn: String, instanceType: InstanceType? = nil, notebookInstanceStatus: NotebookInstanceStatus? = nil) { - self.lastModifiedTime = lastModifiedTime - self.notebookInstanceName = notebookInstanceName - self.url = url - self.creationTime = creationTime - self.notebookInstanceArn = notebookInstanceArn - self.instanceType = instanceType - self.notebookInstanceStatus = notebookInstanceStatus - } - - private enum CodingKeys: String, CodingKey { - case lastModifiedTime = "LastModifiedTime" - case notebookInstanceName = "NotebookInstanceName" - case url = "Url" - case creationTime = "CreationTime" - case notebookInstanceArn = "NotebookInstanceArn" - case instanceType = "InstanceType" - case notebookInstanceStatus = "NotebookInstanceStatus" } } - public struct DeleteEndpointConfigInput: AWSShape { + public struct DescribeNotebookInstanceLifecycleConfigInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointConfigName", required: true, type: .string) + AWSShapeMember(label: "NotebookInstanceLifecycleConfigName", required: true, type: .string) ] - /// The name of the endpoint configuration that you want to delete. - public let endpointConfigName: String + /// The name of the lifecycle configuration to describe. + public let notebookInstanceLifecycleConfigName: String - public init(endpointConfigName: String) { - self.endpointConfigName = endpointConfigName + public init(notebookInstanceLifecycleConfigName: String) { + self.notebookInstanceLifecycleConfigName = notebookInstanceLifecycleConfigName } private enum CodingKeys: String, CodingKey { - case endpointConfigName = "EndpointConfigName" + case notebookInstanceLifecycleConfigName = "NotebookInstanceLifecycleConfigName" } } - public struct DeleteNotebookInstanceInput: AWSShape { + public struct CreateHyperParameterTuningJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string) + AWSShapeMember(label: "HyperParameterTuningJobConfig", required: true, type: .structure), + AWSShapeMember(label: "HyperParameterTuningJobName", required: true, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "TrainingJobDefinition", required: true, type: .structure) ] - /// The name of the Amazon SageMaker notebook instance to delete. - public let notebookInstanceName: String + /// 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. + public let hyperParameterTuningJobConfig: HyperParameterTuningJobConfig + /// 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. + public let hyperParameterTuningJobName: String + /// 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. + public let tags: [Tag]? + /// 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. + public let trainingJobDefinition: HyperParameterTrainingJobDefinition - public init(notebookInstanceName: String) { - self.notebookInstanceName = notebookInstanceName + public init(hyperParameterTuningJobConfig: HyperParameterTuningJobConfig, hyperParameterTuningJobName: String, tags: [Tag]? = nil, trainingJobDefinition: HyperParameterTrainingJobDefinition) { + self.hyperParameterTuningJobConfig = hyperParameterTuningJobConfig + self.hyperParameterTuningJobName = hyperParameterTuningJobName + self.tags = tags + self.trainingJobDefinition = trainingJobDefinition } private enum CodingKeys: String, CodingKey { - case notebookInstanceName = "NotebookInstanceName" + case hyperParameterTuningJobConfig = "HyperParameterTuningJobConfig" + case hyperParameterTuningJobName = "HyperParameterTuningJobName" + case tags = "Tags" + case trainingJobDefinition = "TrainingJobDefinition" } } @@ -135,112 +111,76 @@ extension SageMaker { public var description: String { return self.rawValue } } - public enum EndpointConfigSortKey: String, CustomStringConvertible, Codable { - case name = "Name" - case creationtime = "CreationTime" - public var description: String { return self.rawValue } + public struct ListHyperParameterTuningJobsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "HyperParameterTuningJobSummaries", required: true, type: .list) + ] + /// 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. + public let nextToken: String? + /// A list of HyperParameterTuningJobSummary objects that describe the tuning jobs that the ListHyperParameterTuningJobs request returned. + public let hyperParameterTuningJobSummaries: [HyperParameterTuningJobSummary] + + public init(nextToken: String? = nil, hyperParameterTuningJobSummaries: [HyperParameterTuningJobSummary]) { + self.nextToken = nextToken + self.hyperParameterTuningJobSummaries = hyperParameterTuningJobSummaries + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case hyperParameterTuningJobSummaries = "HyperParameterTuningJobSummaries" + } } - public struct DescribeEndpointOutput: AWSShape { + public struct CreateTransformJobResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LastModifiedTime", required: true, type: .timestamp), - AWSShapeMember(label: "ProductionVariants", required: false, type: .list), - AWSShapeMember(label: "EndpointConfigName", required: true, type: .string), - AWSShapeMember(label: "EndpointName", required: true, type: .string), - AWSShapeMember(label: "EndpointArn", required: true, type: .string), - AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), - AWSShapeMember(label: "FailureReason", required: false, type: .string), - AWSShapeMember(label: "EndpointStatus", required: true, type: .enum) + AWSShapeMember(label: "TransformJobArn", required: true, type: .string) ] - /// A timestamp that shows when the endpoint was last modified. - public let lastModifiedTime: TimeStamp - /// An array of ProductionVariant objects, one for each model hosted behind this endpoint. - public let productionVariants: [ProductionVariantSummary]? - /// The name of the endpoint configuration associated with this endpoint. - public let endpointConfigName: String - /// Name of the endpoint. - public let endpointName: String - /// The Amazon Resource Name (ARN) of the endpoint. - public let endpointArn: String - /// A timestamp that shows when the endpoint was created. - public let creationTime: TimeStamp - /// If the status of the endpoint is Failed, the reason why it failed. - public let failureReason: String? - /// The status of the endpoint. - public let endpointStatus: EndpointStatus + /// The Amazon Resource Name (ARN) of the transform job. + public let transformJobArn: String - public init(lastModifiedTime: TimeStamp, productionVariants: [ProductionVariantSummary]? = nil, endpointConfigName: String, endpointName: String, endpointArn: String, creationTime: TimeStamp, failureReason: String? = nil, endpointStatus: EndpointStatus) { - self.lastModifiedTime = lastModifiedTime - self.productionVariants = productionVariants - self.endpointConfigName = endpointConfigName - self.endpointName = endpointName - self.endpointArn = endpointArn - self.creationTime = creationTime - self.failureReason = failureReason - self.endpointStatus = endpointStatus + public init(transformJobArn: String) { + self.transformJobArn = transformJobArn } private enum CodingKeys: String, CodingKey { - case lastModifiedTime = "LastModifiedTime" - case productionVariants = "ProductionVariants" - case endpointConfigName = "EndpointConfigName" - case endpointName = "EndpointName" - case endpointArn = "EndpointArn" - case creationTime = "CreationTime" - case failureReason = "FailureReason" - case endpointStatus = "EndpointStatus" + case transformJobArn = "TransformJobArn" } } public struct CreateModelInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ModelName", required: true, type: .string), - AWSShapeMember(label: "ExecutionRoleArn", required: false, type: .string), + AWSShapeMember(label: "ExecutionRoleArn", required: true, type: .string), AWSShapeMember(label: "PrimaryContainer", required: true, type: .structure), - AWSShapeMember(label: "Tags", required: false, type: .list), - AWSShapeMember(label: "SupplementalContainers", required: false, type: .list) + AWSShapeMember(label: "VpcConfig", required: false, type: .structure), + AWSShapeMember(label: "Tags", required: false, type: .list) ] /// The name of the new model. public let modelName: String - /// 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. Deploying on ML compute instances is part of model hosting. For more information, see Amazon SageMaker Roles. - public let executionRoleArn: String? + /// 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. 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. + public let executionRoleArn: String /// 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 into production. public let primaryContainer: ContainerDefinition + /// 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. For more information, see host-vpc. + public let vpcConfig: VpcConfig? /// An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. public let tags: [Tag]? - /// The additional optional containers to deploy. - public let supplementalContainers: [ContainerDefinition]? - public init(modelName: String, executionRoleArn: String? = nil, primaryContainer: ContainerDefinition, tags: [Tag]? = nil, supplementalContainers: [ContainerDefinition]? = nil) { + public init(modelName: String, executionRoleArn: String, primaryContainer: ContainerDefinition, vpcConfig: VpcConfig? = nil, tags: [Tag]? = nil) { self.modelName = modelName self.executionRoleArn = executionRoleArn self.primaryContainer = primaryContainer + self.vpcConfig = vpcConfig self.tags = tags - self.supplementalContainers = supplementalContainers } private enum CodingKeys: String, CodingKey { case modelName = "ModelName" case executionRoleArn = "ExecutionRoleArn" case primaryContainer = "PrimaryContainer" + case vpcConfig = "VpcConfig" case tags = "Tags" - case supplementalContainers = "SupplementalContainers" - } - } - - public struct CreateEndpointOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointArn", required: true, type: .string) - ] - /// The Amazon Resource Name (ARN) of the endpoint. - public let endpointArn: String - - public init(endpointArn: String) { - self.endpointArn = endpointArn - } - - private enum CodingKeys: String, CodingKey { - case endpointArn = "EndpointArn" } } @@ -260,64 +200,19 @@ extension SageMaker { } } - public struct ListNotebookInstancesInput: AWSShape { + public struct CreateEndpointOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SortBy", required: false, type: .enum), - AWSShapeMember(label: "LastModifiedTimeAfter", required: false, type: .timestamp), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "CreationTimeAfter", required: false, type: .timestamp), - AWSShapeMember(label: "NameContains", required: false, type: .string), - AWSShapeMember(label: "SortOrder", required: false, type: .enum), - AWSShapeMember(label: "LastModifiedTimeBefore", required: false, type: .timestamp), - AWSShapeMember(label: "StatusEquals", required: false, type: .enum), - AWSShapeMember(label: "CreationTimeBefore", required: false, type: .timestamp), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "EndpointArn", required: true, type: .string) ] - /// The field to sort results by. The default is Name. - public let sortBy: NotebookInstanceSortKey? - /// A filter that returns only notebook instances that were modified after the specified time (timestamp). - public let lastModifiedTimeAfter: TimeStamp? - /// 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. - public let nextToken: String? - /// A filter that returns only notebook instances that were created after the specified time (timestamp). - public let creationTimeAfter: TimeStamp? - /// A string in the notebook instances' name. This filter returns only notebook instances whose name contains the specified string. - public let nameContains: String? - /// The sort order for results. - public let sortOrder: NotebookInstanceSortOrder? - /// A filter that returns only notebook instances that were modified before the specified time (timestamp). - public let lastModifiedTimeBefore: TimeStamp? - /// A filter that returns only notebook instances with the specified status. - public let statusEquals: NotebookInstanceStatus? - /// A filter that returns only notebook instances that were created before the specified time (timestamp). - public let creationTimeBefore: TimeStamp? - /// The maximum number of notebook instances to return. - public let maxResults: Int32? + /// The Amazon Resource Name (ARN) of the endpoint. + public let endpointArn: String - public init(sortBy: NotebookInstanceSortKey? = nil, lastModifiedTimeAfter: TimeStamp? = nil, nextToken: String? = nil, creationTimeAfter: TimeStamp? = nil, nameContains: String? = nil, sortOrder: NotebookInstanceSortOrder? = nil, lastModifiedTimeBefore: TimeStamp? = nil, statusEquals: NotebookInstanceStatus? = nil, creationTimeBefore: TimeStamp? = nil, maxResults: Int32? = nil) { - self.sortBy = sortBy - self.lastModifiedTimeAfter = lastModifiedTimeAfter - self.nextToken = nextToken - self.creationTimeAfter = creationTimeAfter - self.nameContains = nameContains - self.sortOrder = sortOrder - self.lastModifiedTimeBefore = lastModifiedTimeBefore - self.statusEquals = statusEquals - self.creationTimeBefore = creationTimeBefore - self.maxResults = maxResults + public init(endpointArn: String) { + self.endpointArn = endpointArn } private enum CodingKeys: String, CodingKey { - case sortBy = "SortBy" - case lastModifiedTimeAfter = "LastModifiedTimeAfter" - case nextToken = "NextToken" - case creationTimeAfter = "CreationTimeAfter" - case nameContains = "NameContains" - case sortOrder = "SortOrder" - case lastModifiedTimeBefore = "LastModifiedTimeBefore" - case statusEquals = "StatusEquals" - case creationTimeBefore = "CreationTimeBefore" - case maxResults = "MaxResults" + case endpointArn = "EndpointArn" } } @@ -337,49 +232,30 @@ extension SageMaker { } } - public struct ListEndpointConfigsInput: AWSShape { + public enum ModelSortKey: String, CustomStringConvertible, Codable { + case name = "Name" + case creationtime = "CreationTime" + public var description: String { return self.rawValue } + } + + public struct HyperParameterTuningJobObjective: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SortBy", required: false, type: .enum), - AWSShapeMember(label: "CreationTimeAfter", required: false, type: .timestamp), - AWSShapeMember(label: "NameContains", required: false, type: .string), - AWSShapeMember(label: "SortOrder", required: false, type: .enum), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "CreationTimeBefore", required: false, type: .timestamp), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "MetricName", required: true, type: .string), + AWSShapeMember(label: "Type", required: true, type: .enum) ] - /// The field to sort results by. The default is CreationTime. - public let sortBy: EndpointConfigSortKey? - /// A filter that returns only endpoint configurations created after the specified time (timestamp). - public let creationTimeAfter: TimeStamp? - /// A string in the endpoint configuration name. This filter returns only endpoint configurations whose name contains the specified string. - public let nameContains: String? - /// The sort order for results. The default is Ascending. - public let sortOrder: OrderKey? - /// 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. - public let nextToken: String? - /// A filter that returns only endpoint configurations created before the specified time (timestamp). - public let creationTimeBefore: TimeStamp? - /// The maximum number of training jobs to return in the response. - public let maxResults: Int32? + /// The name of the metric to use for the objective metric. + public let metricName: String + /// Whether to minimize or maximize the objective metric. + public let `type`: HyperParameterTuningJobObjectiveType - public init(sortBy: EndpointConfigSortKey? = nil, creationTimeAfter: TimeStamp? = nil, nameContains: String? = nil, sortOrder: OrderKey? = nil, nextToken: String? = nil, creationTimeBefore: TimeStamp? = nil, maxResults: Int32? = nil) { - self.sortBy = sortBy - self.creationTimeAfter = creationTimeAfter - self.nameContains = nameContains - self.sortOrder = sortOrder - self.nextToken = nextToken - self.creationTimeBefore = creationTimeBefore - self.maxResults = maxResults + public init(metricName: String, type: HyperParameterTuningJobObjectiveType) { + self.metricName = metricName + self.`type` = `type` } private enum CodingKeys: String, CodingKey { - case sortBy = "SortBy" - case creationTimeAfter = "CreationTimeAfter" - case nameContains = "NameContains" - case sortOrder = "SortOrder" - case nextToken = "NextToken" - case creationTimeBefore = "CreationTimeBefore" - case maxResults = "MaxResults" + case metricName = "MetricName" + case `type` = "Type" } } @@ -404,33 +280,46 @@ extension SageMaker { } } - public enum ModelSortKey: String, CustomStringConvertible, Codable { - case name = "Name" - case creationtime = "CreationTime" - public var description: String { return self.rawValue } - } - - public struct UpdateEndpointOutput: AWSShape { + public struct HyperParameterAlgorithmSpecification: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointArn", required: true, type: .string) + AWSShapeMember(label: "MetricDefinitions", required: false, type: .list), + AWSShapeMember(label: "TrainingInputMode", required: true, type: .enum), + AWSShapeMember(label: "TrainingImage", required: true, type: .string) ] - /// The Amazon Resource Name (ARN) of the endpoint. - public let endpointArn: String + /// An array of MetricDefinition objects that specify the metrics that the algorithm emits. + public let metricDefinitions: [MetricDefinition]? + /// 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. + public let trainingInputMode: TrainingInputMode + /// 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. + public let trainingImage: String - public init(endpointArn: String) { - self.endpointArn = endpointArn + public init(metricDefinitions: [MetricDefinition]? = nil, trainingInputMode: TrainingInputMode, trainingImage: String) { + self.metricDefinitions = metricDefinitions + self.trainingInputMode = trainingInputMode + self.trainingImage = trainingImage } private enum CodingKeys: String, CodingKey { - case endpointArn = "EndpointArn" + case metricDefinitions = "MetricDefinitions" + case trainingInputMode = "TrainingInputMode" + case trainingImage = "TrainingImage" } } - public enum NotebookInstanceSortKey: String, CustomStringConvertible, Codable { - case name = "Name" - case creationtime = "CreationTime" - case status = "Status" - public var description: String { return self.rawValue } + public struct CreateNotebookInstanceLifecycleConfigOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NotebookInstanceLifecycleConfigArn", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the lifecycle configuration. + public let notebookInstanceLifecycleConfigArn: String? + + public init(notebookInstanceLifecycleConfigArn: String? = nil) { + self.notebookInstanceLifecycleConfigArn = notebookInstanceLifecycleConfigArn + } + + private enum CodingKeys: String, CodingKey { + case notebookInstanceLifecycleConfigArn = "NotebookInstanceLifecycleConfigArn" + } } public struct ProductionVariantSummary: AWSShape { @@ -438,24 +327,28 @@ extension SageMaker { AWSShapeMember(label: "CurrentWeight", required: false, type: .float), AWSShapeMember(label: "DesiredWeight", required: false, type: .float), AWSShapeMember(label: "DesiredInstanceCount", required: false, type: .integer), + AWSShapeMember(label: "DeployedImages", required: false, type: .list), AWSShapeMember(label: "VariantName", required: true, type: .string), AWSShapeMember(label: "CurrentInstanceCount", required: false, type: .integer) ] /// The weight associated with the variant. public let currentWeight: Float? - /// The requested weight, as specified in the UpdateWeightAndCapacities request. + /// The requested weight, as specified in the UpdateEndpointWeightsAndCapacities request. public let desiredWeight: Float? - /// The number of instances requested in the UpdateWeightAndCapacities request. + /// The number of instances requested in the UpdateEndpointWeightsAndCapacities request. public let desiredInstanceCount: Int32? + /// An array of DeployedImage objects that specify the Amazon EC2 Container Registry paths of the inference images deployed on instances of this ProductionVariant. + public let deployedImages: [DeployedImage]? /// The name of the variant. public let variantName: String /// The number of instances associated with the variant. public let currentInstanceCount: Int32? - public init(currentWeight: Float? = nil, desiredWeight: Float? = nil, desiredInstanceCount: Int32? = nil, variantName: String, currentInstanceCount: Int32? = nil) { + public init(currentWeight: Float? = nil, desiredWeight: Float? = nil, desiredInstanceCount: Int32? = nil, deployedImages: [DeployedImage]? = nil, variantName: String, currentInstanceCount: Int32? = nil) { self.currentWeight = currentWeight self.desiredWeight = desiredWeight self.desiredInstanceCount = desiredInstanceCount + self.deployedImages = deployedImages self.variantName = variantName self.currentInstanceCount = currentInstanceCount } @@ -464,106 +357,121 @@ extension SageMaker { case currentWeight = "CurrentWeight" case desiredWeight = "DesiredWeight" case desiredInstanceCount = "DesiredInstanceCount" + case deployedImages = "DeployedImages" case variantName = "VariantName" case currentInstanceCount = "CurrentInstanceCount" } } - public struct DescribeNotebookInstanceInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string) - ] - /// The name of the notebook instance that you want information about. - public let notebookInstanceName: String - - public init(notebookInstanceName: String) { - self.notebookInstanceName = notebookInstanceName - } - - private enum CodingKeys: String, CodingKey { - case notebookInstanceName = "NotebookInstanceName" - } - } - public enum ProductionVariantInstanceType: String, CustomStringConvertible, Codable { + case mlT2Medium = "ml.t2.medium" + case mlT2Large = "ml.t2.large" + case mlT2Xlarge = "ml.t2.xlarge" + case mlT22Xlarge = "ml.t2.2xlarge" + case mlM4Xlarge = "ml.m4.xlarge" + case mlM42Xlarge = "ml.m4.2xlarge" + case mlM44Xlarge = "ml.m4.4xlarge" + case mlM410Xlarge = "ml.m4.10xlarge" + case mlM416Xlarge = "ml.m4.16xlarge" + case mlM5Large = "ml.m5.large" + case mlM5Xlarge = "ml.m5.xlarge" + case mlM52Xlarge = "ml.m5.2xlarge" + case mlM54Xlarge = "ml.m5.4xlarge" + case mlM512Xlarge = "ml.m5.12xlarge" + case mlM524Xlarge = "ml.m5.24xlarge" + case mlC4Large = "ml.c4.large" + case mlC4Xlarge = "ml.c4.xlarge" case mlC42Xlarge = "ml.c4.2xlarge" + case mlC44Xlarge = "ml.c4.4xlarge" case mlC48Xlarge = "ml.c4.8xlarge" - case mlC4Xlarge = "ml.c4.xlarge" - case mlC52Xlarge = "ml.c5.2xlarge" - case mlC59Xlarge = "ml.c5.9xlarge" - case mlC5Xlarge = "ml.c5.xlarge" - case mlM4Xlarge = "ml.m4.xlarge" case mlP2Xlarge = "ml.p2.xlarge" + case mlP28Xlarge = "ml.p2.8xlarge" + case mlP216Xlarge = "ml.p2.16xlarge" case mlP32Xlarge = "ml.p3.2xlarge" - case mlT2Medium = "ml.t2.medium" - public var description: String { return self.rawValue } - } - - public enum S3DataType: String, CustomStringConvertible, Codable { - case manifestfile = "ManifestFile" - case s3prefix = "S3Prefix" + case mlP38Xlarge = "ml.p3.8xlarge" + case mlP316Xlarge = "ml.p3.16xlarge" + case mlC5Large = "ml.c5.large" + case mlC5Xlarge = "ml.c5.xlarge" + case mlC52Xlarge = "ml.c5.2xlarge" + case mlC54Xlarge = "ml.c5.4xlarge" + case mlC59Xlarge = "ml.c5.9xlarge" + case mlC518Xlarge = "ml.c5.18xlarge" public var description: String { return self.rawValue } } - public struct StartNotebookInstanceInput: AWSShape { + public struct CreateTrainingJobResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string) + AWSShapeMember(label: "TrainingJobArn", required: true, type: .string) ] - /// The name of the notebook instance to start. - public let notebookInstanceName: String + /// The Amazon Resource Name (ARN) of the training job. + public let trainingJobArn: String - public init(notebookInstanceName: String) { - self.notebookInstanceName = notebookInstanceName + public init(trainingJobArn: String) { + self.trainingJobArn = trainingJobArn } private enum CodingKeys: String, CodingKey { - case notebookInstanceName = "NotebookInstanceName" + case trainingJobArn = "TrainingJobArn" } } - public struct UpdateEndpointWeightsAndCapacitiesInput: AWSShape { + public struct CreateNotebookInstanceLifecycleConfigInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointName", required: true, type: .string), - AWSShapeMember(label: "DesiredWeightsAndCapacities", required: true, type: .list) + AWSShapeMember(label: "OnCreate", required: false, type: .list), + AWSShapeMember(label: "NotebookInstanceLifecycleConfigName", required: true, type: .string), + AWSShapeMember(label: "OnStart", required: false, type: .list) ] - /// The name of an existing Amazon SageMaker endpoint. - public let endpointName: String - /// An object that provides new capacity and weight values for a variant. - public let desiredWeightsAndCapacities: [DesiredWeightAndCapacity] + /// A shell script that runs only once, when you create a notebook instance. + public let onCreate: [NotebookInstanceLifecycleHook]? + /// The name of the lifecycle configuration. + public let notebookInstanceLifecycleConfigName: String + /// A shell script that runs every time you start a notebook instance, including when you create the notebook instance. + public let onStart: [NotebookInstanceLifecycleHook]? - public init(endpointName: String, desiredWeightsAndCapacities: [DesiredWeightAndCapacity]) { - self.endpointName = endpointName - self.desiredWeightsAndCapacities = desiredWeightsAndCapacities + public init(onCreate: [NotebookInstanceLifecycleHook]? = nil, notebookInstanceLifecycleConfigName: String, onStart: [NotebookInstanceLifecycleHook]? = nil) { + self.onCreate = onCreate + self.notebookInstanceLifecycleConfigName = notebookInstanceLifecycleConfigName + self.onStart = onStart } private enum CodingKeys: String, CodingKey { - case endpointName = "EndpointName" - case desiredWeightsAndCapacities = "DesiredWeightsAndCapacities" + case onCreate = "OnCreate" + case notebookInstanceLifecycleConfigName = "NotebookInstanceLifecycleConfigName" + case onStart = "OnStart" } } - public struct DeleteModelInput: AWSShape { + public struct TransformInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ModelName", required: true, type: .string) + AWSShapeMember(label: "DataSource", required: true, type: .structure), + AWSShapeMember(label: "CompressionType", required: false, type: .enum), + AWSShapeMember(label: "SplitType", required: false, type: .enum), + AWSShapeMember(label: "ContentType", required: false, type: .string) ] - /// The name of the model to delete. - public let modelName: String + /// Describes the location of the channel data, meaning the S3 location of the input data that the model can consume. + public let dataSource: TransformDataSource + /// 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. + public let compressionType: CompressionType? + /// 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. + public let splitType: SplitType? + /// 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. + public let contentType: String? - public init(modelName: String) { - self.modelName = modelName + public init(dataSource: TransformDataSource, compressionType: CompressionType? = nil, splitType: SplitType? = nil, contentType: String? = nil) { + self.dataSource = dataSource + self.compressionType = compressionType + self.splitType = splitType + self.contentType = contentType } private enum CodingKeys: String, CodingKey { - case modelName = "ModelName" + case dataSource = "DataSource" + case compressionType = "CompressionType" + case splitType = "SplitType" + case contentType = "ContentType" } } - public enum TrainingInputMode: String, CustomStringConvertible, Codable { - case pipe = "Pipe" - case file = "File" - public var description: String { return self.rawValue } - } - public struct Tag: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Value", required: true, type: .string), @@ -585,6 +493,38 @@ extension SageMaker { } } + public struct StartNotebookInstanceInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string) + ] + /// The name of the notebook instance to start. + public let notebookInstanceName: String + + public init(notebookInstanceName: String) { + self.notebookInstanceName = notebookInstanceName + } + + private enum CodingKeys: String, CodingKey { + case notebookInstanceName = "NotebookInstanceName" + } + } + + public struct DescribeTransformJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TransformJobName", required: true, type: .string) + ] + /// The name of the transform job that you want to view details of. + public let transformJobName: String + + public init(transformJobName: String) { + self.transformJobName = transformJobName + } + + private enum CodingKeys: String, CodingKey { + case transformJobName = "TransformJobName" + } + } + public struct ListEndpointsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -606,41 +546,41 @@ extension SageMaker { } } - public struct ContainerDefinition: AWSShape { + public struct TransformS3DataSource: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Environment", required: false, type: .map), - AWSShapeMember(label: "Image", required: true, type: .string), - AWSShapeMember(label: "ModelDataUrl", required: false, type: .string), - AWSShapeMember(label: "ContainerHostname", required: false, type: .string) + AWSShapeMember(label: "S3Uri", required: true, type: .string), + AWSShapeMember(label: "S3DataType", required: true, type: .enum) ] - /// 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. - public let environment: [String: String]? - /// 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. For more information, see Using Your Own Algorithms with Amazon SageMaker - public let image: String - /// 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). - public let modelDataUrl: String? - /// The DNS host name for the container after Amazon SageMaker deploys it. - public let containerHostname: String? + /// 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. + public let s3Uri: String + /// 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. + public let s3DataType: S3DataType - public init(environment: [String: String]? = nil, image: String, modelDataUrl: String? = nil, containerHostname: String? = nil) { - self.environment = environment - self.image = image - self.modelDataUrl = modelDataUrl - self.containerHostname = containerHostname + public init(s3Uri: String, s3DataType: S3DataType) { + self.s3Uri = s3Uri + self.s3DataType = s3DataType } private enum CodingKeys: String, CodingKey { - case environment = "Environment" - case image = "Image" - case modelDataUrl = "ModelDataUrl" - case containerHostname = "ContainerHostname" + case s3Uri = "S3Uri" + case s3DataType = "S3DataType" } } - public enum SortOrder: String, CustomStringConvertible, Codable { - case ascending = "Ascending" - case descending = "Descending" - public var description: String { return self.rawValue } + public struct CreateNotebookInstanceOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NotebookInstanceArn", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the notebook instance. + public let notebookInstanceArn: String? + + public init(notebookInstanceArn: String? = nil) { + self.notebookInstanceArn = notebookInstanceArn + } + + private enum CodingKeys: String, CodingKey { + case notebookInstanceArn = "NotebookInstanceArn" + } } public struct DescribeModelInput: AWSShape { @@ -685,68 +625,6 @@ extension SageMaker { } } - public struct Channel: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ContentType", required: false, type: .string), - AWSShapeMember(label: "DataSource", required: true, type: .structure), - AWSShapeMember(label: "CompressionType", required: false, type: .enum), - AWSShapeMember(label: "ChannelName", required: true, type: .string), - AWSShapeMember(label: "RecordWrapperType", required: false, type: .enum) - ] - /// The MIME type of the data. - public let contentType: String? - /// The location of the channel data. - public let dataSource: DataSource - /// 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. - public let compressionType: CompressionType? - /// The name of the channel. - public let channelName: String - /// Specify RecordIO as the value when input data is in raw format but the training algorithm requires the RecordIO format, in which caseAmazon 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. - public let recordWrapperType: RecordWrapper? - - public init(contentType: String? = nil, dataSource: DataSource, compressionType: CompressionType? = nil, channelName: String, recordWrapperType: RecordWrapper? = nil) { - self.contentType = contentType - self.dataSource = dataSource - self.compressionType = compressionType - self.channelName = channelName - self.recordWrapperType = recordWrapperType - } - - private enum CodingKeys: String, CodingKey { - case contentType = "ContentType" - case dataSource = "DataSource" - case compressionType = "CompressionType" - case channelName = "ChannelName" - case recordWrapperType = "RecordWrapperType" - } - } - - public struct CreateEndpointConfigInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointConfigName", required: true, type: .string), - AWSShapeMember(label: "Tags", required: false, type: .list), - AWSShapeMember(label: "ProductionVariants", required: true, type: .list) - ] - /// The name of the endpoint configuration. You specify this name in a CreateEndpoint request. - public let endpointConfigName: String - /// An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. - public let tags: [Tag]? - /// An array of ProductionVariant objects, one for each model that you want to host at this endpoint. - public let productionVariants: [ProductionVariant] - - public init(endpointConfigName: String, tags: [Tag]? = nil, productionVariants: [ProductionVariant]) { - self.endpointConfigName = endpointConfigName - self.tags = tags - self.productionVariants = productionVariants - } - - private enum CodingKeys: String, CodingKey { - case endpointConfigName = "EndpointConfigName" - case tags = "Tags" - case productionVariants = "ProductionVariants" - } - } - public struct ModelArtifacts: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "S3ModelArtifacts", required: true, type: .string) @@ -770,7 +648,7 @@ extension SageMaker { ] /// Identifies the S3 path where you want Amazon SageMaker to store the model artifacts. For example, s3://bucket-name/key-name-prefix. public let s3OutputPath: String - /// 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 the configuration of the output S3 bucket requires server-side encryption for objects, and you don't provide the KMS key ID, Amazon SageMaker uses the default service key. 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. + /// 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. public let kmsKeyId: String? public init(s3OutputPath: String, kmsKeyId: String? = nil) { @@ -784,96 +662,21 @@ extension SageMaker { } } - public struct CreateTrainingJobResponse: AWSShape { + public enum S3DataDistribution: String, CustomStringConvertible, Codable { + case fullyreplicated = "FullyReplicated" + case shardedbys3key = "ShardedByS3Key" + public var description: String { return self.rawValue } + } + + public enum NotebookInstanceLifecycleConfigSortOrder: String, CustomStringConvertible, Codable { + case ascending = "Ascending" + case descending = "Descending" + public var description: String { return self.rawValue } + } + + public struct AddTagsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TrainingJobArn", required: true, type: .string) - ] - /// The Amazon Resource Name (ARN) of the training job. - public let trainingJobArn: String - - public init(trainingJobArn: String) { - self.trainingJobArn = trainingJobArn - } - - private enum CodingKeys: String, CodingKey { - case trainingJobArn = "TrainingJobArn" - } - } - - public struct CreateNotebookInstanceOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NotebookInstanceArn", required: false, type: .string) - ] - /// The Amazon Resource Name (ARN) of the notebook instance. - public let notebookInstanceArn: String? - - public init(notebookInstanceArn: String? = nil) { - self.notebookInstanceArn = notebookInstanceArn - } - - private enum CodingKeys: String, CodingKey { - case notebookInstanceArn = "NotebookInstanceArn" - } - } - - public enum RecordWrapper: String, CustomStringConvertible, Codable { - case none = "None" - case recordio = "RecordIO" - public var description: String { return self.rawValue } - } - - public enum TrainingInstanceType: String, CustomStringConvertible, Codable { - case mlM4Xlarge = "ml.m4.xlarge" - case mlM44Xlarge = "ml.m4.4xlarge" - case mlM410Xlarge = "ml.m4.10xlarge" - case mlC4Xlarge = "ml.c4.xlarge" - case mlC42Xlarge = "ml.c4.2xlarge" - case mlC48Xlarge = "ml.c4.8xlarge" - case mlP2Xlarge = "ml.p2.xlarge" - case mlP28Xlarge = "ml.p2.8xlarge" - case mlP216Xlarge = "ml.p2.16xlarge" - case mlP32Xlarge = "ml.p3.2xlarge" - case mlP38Xlarge = "ml.p3.8xlarge" - case mlP316Xlarge = "ml.p3.16xlarge" - case mlC5Xlarge = "ml.c5.xlarge" - case mlC52Xlarge = "ml.c5.2xlarge" - case mlC54Xlarge = "ml.c5.4xlarge" - case mlC59Xlarge = "ml.c5.9xlarge" - case mlC518Xlarge = "ml.c5.18xlarge" - public var description: String { return self.rawValue } - } - - public enum OrderKey: String, CustomStringConvertible, Codable { - case ascending = "Ascending" - case descending = "Descending" - public var description: String { return self.rawValue } - } - - public struct DescribeTrainingJobRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TrainingJobName", required: true, type: .string) - ] - /// The name of the training job. - public let trainingJobName: String - - public init(trainingJobName: String) { - self.trainingJobName = trainingJobName - } - - private enum CodingKeys: String, CodingKey { - case trainingJobName = "TrainingJobName" - } - } - - public enum S3DataDistribution: String, CustomStringConvertible, Codable { - case fullyreplicated = "FullyReplicated" - case shardedbys3key = "ShardedByS3Key" - public var description: String { return self.rawValue } - } - - public struct AddTagsOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Tags", required: false, type: .list) + AWSShapeMember(label: "Tags", required: false, type: .list) ] /// A list of tags associated with the Amazon SageMaker resource. public let tags: [Tag]? @@ -934,42 +737,46 @@ extension SageMaker { } } - public struct DescribeEndpointConfigOutput: AWSShape { + public struct DeployedImage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointConfigArn", required: true, type: .string), - AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), - AWSShapeMember(label: "ProductionVariants", required: true, type: .list), - AWSShapeMember(label: "EndpointConfigName", required: true, type: .string) + AWSShapeMember(label: "ResolvedImage", required: false, type: .string), + AWSShapeMember(label: "ResolutionTime", required: false, type: .timestamp), + AWSShapeMember(label: "SpecifiedImage", required: false, type: .string) ] - /// The Amazon Resource Name (ARN) of the endpoint configuration. - public let endpointConfigArn: String - /// A timestamp that shows when the endpoint configuration was created. - public let creationTime: TimeStamp - /// An array of ProductionVariant objects, one for each model that you want to host at this endpoint. - public let productionVariants: [ProductionVariant] - /// Name of the Amazon SageMaker endpoint configuration. - public let endpointConfigName: String + /// The specific digest path of the image hosted in this ProductionVariant. + public let resolvedImage: String? + /// The date and time when the image path for the model resolved to the ResolvedImage + public let resolutionTime: TimeStamp? + /// The image path you specified when you created the model. + public let specifiedImage: String? - public init(endpointConfigArn: String, creationTime: TimeStamp, productionVariants: [ProductionVariant], endpointConfigName: String) { - self.endpointConfigArn = endpointConfigArn - self.creationTime = creationTime - self.productionVariants = productionVariants - self.endpointConfigName = endpointConfigName + public init(resolvedImage: String? = nil, resolutionTime: TimeStamp? = nil, specifiedImage: String? = nil) { + self.resolvedImage = resolvedImage + self.resolutionTime = resolutionTime + self.specifiedImage = specifiedImage } private enum CodingKeys: String, CodingKey { - case endpointConfigArn = "EndpointConfigArn" - case creationTime = "CreationTime" - case productionVariants = "ProductionVariants" - case endpointConfigName = "EndpointConfigName" + case resolvedImage = "ResolvedImage" + case resolutionTime = "ResolutionTime" + case specifiedImage = "SpecifiedImage" } } - public enum EndpointSortKey: String, CustomStringConvertible, Codable { - case name = "Name" - case creationtime = "CreationTime" - case status = "Status" - public var description: String { return self.rawValue } + public struct DescribeHyperParameterTuningJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "HyperParameterTuningJobName", required: true, type: .string) + ] + /// The name of the tuning job to describe. + public let hyperParameterTuningJobName: String + + public init(hyperParameterTuningJobName: String) { + self.hyperParameterTuningJobName = hyperParameterTuningJobName + } + + private enum CodingKeys: String, CodingKey { + case hyperParameterTuningJobName = "HyperParameterTuningJobName" + } } public struct DescribeEndpointInput: AWSShape { @@ -988,24 +795,36 @@ extension SageMaker { } } - public struct CreatePresignedNotebookInstanceUrlInput: AWSShape { + public enum EndpointSortKey: String, CustomStringConvertible, Codable { + case name = "Name" + case creationtime = "CreationTime" + case status = "Status" + public var description: String { return self.rawValue } + } + + public struct ObjectiveStatusCounters: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SessionExpirationDurationInSeconds", required: false, type: .integer), - AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string) + AWSShapeMember(label: "Pending", required: false, type: .integer), + AWSShapeMember(label: "Failed", required: false, type: .integer), + AWSShapeMember(label: "Succeeded", required: false, type: .integer) ] - /// The duration of the session, in seconds. The default is 12 hours. - public let sessionExpirationDurationInSeconds: Int32? - /// The name of the notebook instance. - public let notebookInstanceName: String + /// The number of training jobs that are in progress and pending evaluation of their final objective metric. + public let pending: Int32? + /// 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. + public let failed: Int32? + /// The number of training jobs whose final objective metric was evaluated by the hyperparameter tuning job and used in the hyperparameter tuning process. + public let succeeded: Int32? - public init(sessionExpirationDurationInSeconds: Int32? = nil, notebookInstanceName: String) { - self.sessionExpirationDurationInSeconds = sessionExpirationDurationInSeconds - self.notebookInstanceName = notebookInstanceName + public init(pending: Int32? = nil, failed: Int32? = nil, succeeded: Int32? = nil) { + self.pending = pending + self.failed = failed + self.succeeded = succeeded } private enum CodingKeys: String, CodingKey { - case sessionExpirationDurationInSeconds = "SessionExpirationDurationInSeconds" - case notebookInstanceName = "NotebookInstanceName" + case pending = "Pending" + case failed = "Failed" + case succeeded = "Succeeded" } } @@ -1047,24 +866,36 @@ extension SageMaker { public enum InstanceType: String, CustomStringConvertible, Codable { case mlT2Medium = "ml.t2.medium" + case mlT2Large = "ml.t2.large" + case mlT2Xlarge = "ml.t2.xlarge" + case mlT22Xlarge = "ml.t2.2xlarge" case mlM4Xlarge = "ml.m4.xlarge" + case mlM42Xlarge = "ml.m4.2xlarge" + case mlM44Xlarge = "ml.m4.4xlarge" + case mlM410Xlarge = "ml.m4.10xlarge" + case mlM416Xlarge = "ml.m4.16xlarge" case mlP2Xlarge = "ml.p2.xlarge" + case mlP28Xlarge = "ml.p2.8xlarge" + case mlP216Xlarge = "ml.p2.16xlarge" + case mlP32Xlarge = "ml.p3.2xlarge" + case mlP38Xlarge = "ml.p3.8xlarge" + case mlP316Xlarge = "ml.p3.16xlarge" public var description: String { return self.rawValue } } - public struct CreateEndpointConfigOutput: AWSShape { + public struct CreateHyperParameterTuningJobResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointConfigArn", required: true, type: .string) + AWSShapeMember(label: "HyperParameterTuningJobArn", required: true, type: .string) ] - /// The Amazon Resource Name (ARN) of the endpoint configuration. - public let endpointConfigArn: String + /// The Amazon Resource Name (ARN) of the tuning job. + public let hyperParameterTuningJobArn: String - public init(endpointConfigArn: String) { - self.endpointConfigArn = endpointConfigArn + public init(hyperParameterTuningJobArn: String) { + self.hyperParameterTuningJobArn = hyperParameterTuningJobArn } private enum CodingKeys: String, CodingKey { - case endpointConfigArn = "EndpointConfigArn" + case hyperParameterTuningJobArn = "HyperParameterTuningJobArn" } } @@ -1094,40 +925,218 @@ extension SageMaker { } } - public struct StoppingCondition: AWSShape { + public struct FinalHyperParameterTuningJobObjectiveMetric: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MaxRuntimeInSeconds", required: false, type: .integer) + AWSShapeMember(label: "MetricName", required: true, type: .string), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Value", required: true, type: .float) ] - /// 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. - public let maxRuntimeInSeconds: Int32? + /// The name of the objective metric. + public let metricName: String + /// Whether to minimize or maximize the objective metric. Valid values are Minimize and Maximize. + public let `type`: HyperParameterTuningJobObjectiveType? + /// The value of the objective metric. + public let value: Float - public init(maxRuntimeInSeconds: Int32? = nil) { - self.maxRuntimeInSeconds = maxRuntimeInSeconds + public init(metricName: String, type: HyperParameterTuningJobObjectiveType? = nil, value: Float) { + self.metricName = metricName + self.`type` = `type` + self.value = value } private enum CodingKeys: String, CodingKey { - case maxRuntimeInSeconds = "MaxRuntimeInSeconds" + case metricName = "MetricName" + case `type` = "Type" + case value = "Value" } } - public struct ListTrainingJobsResponse: AWSShape { + public struct HyperParameterTuningJobSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), + AWSShapeMember(label: "Strategy", required: true, type: .enum), + AWSShapeMember(label: "ObjectiveStatusCounters", required: true, type: .structure), + AWSShapeMember(label: "HyperParameterTuningJobName", required: true, type: .string), + AWSShapeMember(label: "TrainingJobStatusCounters", required: true, type: .structure), + AWSShapeMember(label: "HyperParameterTuningJobStatus", required: true, type: .enum), + AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), + AWSShapeMember(label: "HyperParameterTuningJobArn", required: true, type: .string), + AWSShapeMember(label: "ResourceLimits", required: false, type: .structure), + AWSShapeMember(label: "HyperParameterTuningEndTime", required: false, type: .timestamp) + ] + /// The date and time that the tuning job was modified. + public let lastModifiedTime: TimeStamp? + /// Specifies the search strategy hyperparameter tuning uses to choose which hyperparameters to use for each iteration. Currently, the only valid value is Bayesian. + public let strategy: HyperParameterTuningJobStrategyType + /// The ObjectiveStatusCounters object that specifies the numbers of training jobs, categorized by objective metric status, that this tuning job launched. + public let objectiveStatusCounters: ObjectiveStatusCounters + /// The name of the tuning job. + public let hyperParameterTuningJobName: String + /// The TrainingJobStatusCounters object that specifies the numbers of training jobs, categorized by status, that this tuning job launched. + public let trainingJobStatusCounters: TrainingJobStatusCounters + /// The status of the tuning job. + public let hyperParameterTuningJobStatus: HyperParameterTuningJobStatus + /// The date and time that the tuning job was created. + public let creationTime: TimeStamp + /// The Amazon Resource Name (ARN) of the tuning job. + public let hyperParameterTuningJobArn: String + /// The ResourceLimits object that specifies the maximum number of training jobs and parallel training jobs allowed for this tuning job. + public let resourceLimits: ResourceLimits? + /// The date and time that the tuning job ended. + public let hyperParameterTuningEndTime: TimeStamp? + + public init(lastModifiedTime: TimeStamp? = nil, strategy: HyperParameterTuningJobStrategyType, objectiveStatusCounters: ObjectiveStatusCounters, hyperParameterTuningJobName: String, trainingJobStatusCounters: TrainingJobStatusCounters, hyperParameterTuningJobStatus: HyperParameterTuningJobStatus, creationTime: TimeStamp, hyperParameterTuningJobArn: String, resourceLimits: ResourceLimits? = nil, hyperParameterTuningEndTime: TimeStamp? = nil) { + self.lastModifiedTime = lastModifiedTime + self.strategy = strategy + self.objectiveStatusCounters = objectiveStatusCounters + self.hyperParameterTuningJobName = hyperParameterTuningJobName + self.trainingJobStatusCounters = trainingJobStatusCounters + self.hyperParameterTuningJobStatus = hyperParameterTuningJobStatus + self.creationTime = creationTime + self.hyperParameterTuningJobArn = hyperParameterTuningJobArn + self.resourceLimits = resourceLimits + self.hyperParameterTuningEndTime = hyperParameterTuningEndTime + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case strategy = "Strategy" + case objectiveStatusCounters = "ObjectiveStatusCounters" + case hyperParameterTuningJobName = "HyperParameterTuningJobName" + case trainingJobStatusCounters = "TrainingJobStatusCounters" + case hyperParameterTuningJobStatus = "HyperParameterTuningJobStatus" + case creationTime = "CreationTime" + case hyperParameterTuningJobArn = "HyperParameterTuningJobArn" + case resourceLimits = "ResourceLimits" + case hyperParameterTuningEndTime = "HyperParameterTuningEndTime" + } + } + + public struct DescribeHyperParameterTuningJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), + AWSShapeMember(label: "TrainingJobDefinition", required: true, type: .structure), + AWSShapeMember(label: "HyperParameterTuningJobName", required: true, type: .string), + AWSShapeMember(label: "TrainingJobStatusCounters", required: true, type: .structure), + AWSShapeMember(label: "ObjectiveStatusCounters", required: true, type: .structure), + AWSShapeMember(label: "HyperParameterTuningJobStatus", required: true, type: .enum), + AWSShapeMember(label: "HyperParameterTuningJobConfig", required: true, type: .structure), + AWSShapeMember(label: "BestTrainingJob", required: false, type: .structure), + AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), + AWSShapeMember(label: "FailureReason", required: false, type: .string), + AWSShapeMember(label: "HyperParameterTuningJobArn", required: true, type: .string), + AWSShapeMember(label: "HyperParameterTuningEndTime", required: false, type: .timestamp) + ] + /// The date and time that the status of the tuning job was modified. + public let lastModifiedTime: TimeStamp? + /// The HyperParameterTrainingJobDefinition object that specifies the definition of the training jobs that this tuning job launches. + public let trainingJobDefinition: HyperParameterTrainingJobDefinition + /// The name of the tuning job. + public let hyperParameterTuningJobName: String + /// The TrainingJobStatusCounters object that specifies the number of training jobs, categorized by status, that this tuning job launched. + public let trainingJobStatusCounters: TrainingJobStatusCounters + /// The ObjectiveStatusCounters object that specifies the number of training jobs, categorized by the status of their final objective metric, that this tuning job launched. + public let objectiveStatusCounters: ObjectiveStatusCounters + /// The status of the tuning job: InProgress, Completed, Failed, Stopping, or Stopped. + public let hyperParameterTuningJobStatus: HyperParameterTuningJobStatus + /// The HyperParameterTuningJobConfig object that specifies the configuration of the tuning job. + public let hyperParameterTuningJobConfig: HyperParameterTuningJobConfig + /// A TrainingJobSummary object that describes the training job that completed with the best current HyperParameterTuningJobObjective. + public let bestTrainingJob: HyperParameterTrainingJobSummary? + /// The date and time that the tuning job started. + public let creationTime: TimeStamp + /// If the tuning job failed, the reason it failed. + public let failureReason: String? + /// The Amazon Resource Name (ARN) of the tuning job. + public let hyperParameterTuningJobArn: String + /// The date and time that the tuning job ended. + public let hyperParameterTuningEndTime: TimeStamp? + + public init(lastModifiedTime: TimeStamp? = nil, trainingJobDefinition: HyperParameterTrainingJobDefinition, hyperParameterTuningJobName: String, trainingJobStatusCounters: TrainingJobStatusCounters, objectiveStatusCounters: ObjectiveStatusCounters, hyperParameterTuningJobStatus: HyperParameterTuningJobStatus, hyperParameterTuningJobConfig: HyperParameterTuningJobConfig, bestTrainingJob: HyperParameterTrainingJobSummary? = nil, creationTime: TimeStamp, failureReason: String? = nil, hyperParameterTuningJobArn: String, hyperParameterTuningEndTime: TimeStamp? = nil) { + self.lastModifiedTime = lastModifiedTime + self.trainingJobDefinition = trainingJobDefinition + self.hyperParameterTuningJobName = hyperParameterTuningJobName + self.trainingJobStatusCounters = trainingJobStatusCounters + self.objectiveStatusCounters = objectiveStatusCounters + self.hyperParameterTuningJobStatus = hyperParameterTuningJobStatus + self.hyperParameterTuningJobConfig = hyperParameterTuningJobConfig + self.bestTrainingJob = bestTrainingJob + self.creationTime = creationTime + self.failureReason = failureReason + self.hyperParameterTuningJobArn = hyperParameterTuningJobArn + self.hyperParameterTuningEndTime = hyperParameterTuningEndTime + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case trainingJobDefinition = "TrainingJobDefinition" + case hyperParameterTuningJobName = "HyperParameterTuningJobName" + case trainingJobStatusCounters = "TrainingJobStatusCounters" + case objectiveStatusCounters = "ObjectiveStatusCounters" + case hyperParameterTuningJobStatus = "HyperParameterTuningJobStatus" + case hyperParameterTuningJobConfig = "HyperParameterTuningJobConfig" + case bestTrainingJob = "BestTrainingJob" + case creationTime = "CreationTime" + case failureReason = "FailureReason" + case hyperParameterTuningJobArn = "HyperParameterTuningJobArn" + case hyperParameterTuningEndTime = "HyperParameterTuningEndTime" + } + } + + public struct ListTrainingJobsForHyperParameterTuningJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SortBy", required: false, type: .enum), + AWSShapeMember(label: "SortOrder", required: false, type: .enum), + AWSShapeMember(label: "HyperParameterTuningJobName", required: true, type: .string), + AWSShapeMember(label: "StatusEquals", required: false, type: .enum), AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "TrainingJobSummaries", required: true, type: .list) + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of training jobs, use it in the subsequent request. + /// 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. + public let sortBy: TrainingJobSortByOptions? + /// The sort order for results. The default is Ascending. + public let sortOrder: SortOrder? + /// The name of the tuning job whose training jobs you want to list. + public let hyperParameterTuningJobName: String + /// A filter that returns only training jobs with the specified status. + public let statusEquals: TrainingJobStatus? + /// 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. public let nextToken: String? - /// An array of TrainingJobSummary objects, each listing a training job. - public let trainingJobSummaries: [TrainingJobSummary] + /// The maximum number of training jobs to return. The default value is 10. + public let maxResults: Int32? - public init(nextToken: String? = nil, trainingJobSummaries: [TrainingJobSummary]) { + public init(sortBy: TrainingJobSortByOptions? = nil, sortOrder: SortOrder? = nil, hyperParameterTuningJobName: String, statusEquals: TrainingJobStatus? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.sortBy = sortBy + self.sortOrder = sortOrder + self.hyperParameterTuningJobName = hyperParameterTuningJobName + self.statusEquals = statusEquals self.nextToken = nextToken - self.trainingJobSummaries = trainingJobSummaries + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { + case sortBy = "SortBy" + case sortOrder = "SortOrder" + case hyperParameterTuningJobName = "HyperParameterTuningJobName" + case statusEquals = "StatusEquals" case nextToken = "NextToken" - case trainingJobSummaries = "TrainingJobSummaries" + case maxResults = "MaxResults" + } + } + + public struct DeleteNotebookInstanceLifecycleConfigInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NotebookInstanceLifecycleConfigName", required: true, type: .string) + ] + /// The name of the lifecycle configuration to delete. + public let notebookInstanceLifecycleConfigName: String + + public init(notebookInstanceLifecycleConfigName: String) { + self.notebookInstanceLifecycleConfigName = notebookInstanceLifecycleConfigName + } + + private enum CodingKeys: String, CodingKey { + case notebookInstanceLifecycleConfigName = "NotebookInstanceLifecycleConfigName" } } @@ -1233,342 +1242,2022 @@ extension SageMaker { } } - public struct CreateTrainingJobRequest: AWSShape { + public struct DescribeTransformJobResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OutputDataConfig", required: true, type: .structure), - AWSShapeMember(label: "AlgorithmSpecification", required: true, type: .structure), - AWSShapeMember(label: "HyperParameters", required: false, type: .map), - AWSShapeMember(label: "Tags", required: false, type: .list), - AWSShapeMember(label: "InputDataConfig", required: true, type: .list), - AWSShapeMember(label: "ResourceConfig", required: true, type: .structure), - AWSShapeMember(label: "RoleArn", required: true, type: .string), - AWSShapeMember(label: "TrainingJobName", required: true, type: .string), - AWSShapeMember(label: "StoppingCondition", required: true, type: .structure) - ] - /// Specifies the path to the S3 bucket where you want to store model artifacts. Amazon SageMaker creates subfolders for the artifacts. - public let outputDataConfig: OutputDataConfig - /// 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 Bring Your Own Algorithms . - public let algorithmSpecification: AlgorithmSpecification - /// Algorithm-specific parameters. You set hyperparameters before you start the learning process. Hyperparameters influence the quality of the model. 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. - public let hyperParameters: [String: String]? - /// An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. - public let tags: [Tag]? - /// 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. - public let inputDataConfig: [Channel] - /// 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. - public let resourceConfig: ResourceConfig - /// 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. - public let roleArn: String - /// The name of the training job. The name must be unique within an AWS Region in an AWS account. It appears in the Amazon SageMaker console. - public let trainingJobName: String - /// 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. - public let stoppingCondition: StoppingCondition - - public init(outputDataConfig: OutputDataConfig, algorithmSpecification: AlgorithmSpecification, hyperParameters: [String: String]? = nil, tags: [Tag]? = nil, inputDataConfig: [Channel], resourceConfig: ResourceConfig, roleArn: String, trainingJobName: String, stoppingCondition: StoppingCondition) { - self.outputDataConfig = outputDataConfig - self.algorithmSpecification = algorithmSpecification - self.hyperParameters = hyperParameters - self.tags = tags - self.inputDataConfig = inputDataConfig - self.resourceConfig = resourceConfig - self.roleArn = roleArn - self.trainingJobName = trainingJobName - self.stoppingCondition = stoppingCondition - } - - private enum CodingKeys: String, CodingKey { - case outputDataConfig = "OutputDataConfig" - case algorithmSpecification = "AlgorithmSpecification" - case hyperParameters = "HyperParameters" - case tags = "Tags" - case inputDataConfig = "InputDataConfig" - case resourceConfig = "ResourceConfig" - case roleArn = "RoleArn" - case trainingJobName = "TrainingJobName" - case stoppingCondition = "StoppingCondition" - } - } - - public struct DesiredWeightAndCapacity: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "VariantName", required: true, type: .string), - AWSShapeMember(label: "DesiredInstanceCount", required: false, type: .integer), - AWSShapeMember(label: "DesiredWeight", required: false, type: .float) - ] - /// The name of the variant to update. - public let variantName: String - /// The variant's capacity. - public let desiredInstanceCount: Int32? - /// The variant's weight. - public let desiredWeight: Float? - - public init(variantName: String, desiredInstanceCount: Int32? = nil, desiredWeight: Float? = nil) { - self.variantName = variantName - self.desiredInstanceCount = desiredInstanceCount - self.desiredWeight = desiredWeight + AWSShapeMember(label: "MaxConcurrentTransforms", required: false, type: .integer), + AWSShapeMember(label: "TransformInput", required: true, type: .structure), + AWSShapeMember(label: "BatchStrategy", required: false, type: .enum), + AWSShapeMember(label: "TransformResources", required: true, type: .structure), + AWSShapeMember(label: "ModelName", required: true, type: .string), + AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), + AWSShapeMember(label: "TransformStartTime", required: false, type: .timestamp), + AWSShapeMember(label: "MaxPayloadInMB", required: false, type: .integer), + AWSShapeMember(label: "TransformOutput", required: false, type: .structure), + AWSShapeMember(label: "Environment", required: false, type: .map), + AWSShapeMember(label: "TransformJobArn", required: true, type: .string), + AWSShapeMember(label: "TransformEndTime", required: false, type: .timestamp), + AWSShapeMember(label: "FailureReason", required: false, type: .string), + AWSShapeMember(label: "TransformJobStatus", required: true, type: .enum), + AWSShapeMember(label: "TransformJobName", required: true, type: .string) + ] + /// The maximum number of parallel requests on each instance node that can be launched in a transform job. The default value is 1. + public let maxConcurrentTransforms: Int32? + /// Describes the dataset to be transformed and the Amazon S3 location where it is stored. + public let transformInput: TransformInput + /// 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. + public let batchStrategy: BatchStrategy? + /// Describes the resources, including ML instance types and ML instance count, to use for the transform job. + public let transformResources: TransformResources + /// The name of the model used in the transform job. + public let modelName: String + /// A timestamp that shows when the transform Job was created. + public let creationTime: TimeStamp + /// Indicates when the transform job starts on ML instances. You are billed for the time interval between this time and the value of TransformEndTime. + public let transformStartTime: TimeStamp? + /// The maximum payload size , in MB used in the transform job. + public let maxPayloadInMB: Int32? + /// Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job. + public let transformOutput: TransformOutput? + public let environment: [String: String]? + /// The Amazon Resource Name (ARN) of the transform job. + public let transformJobArn: String + /// 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. + public let transformEndTime: TimeStamp? + /// If the transform job failed, the reason that it failed. + public let failureReason: String? + /// The status of the transform job. If the transform job failed, the reason is returned in the FailureReason field. + public let transformJobStatus: TransformJobStatus + /// The name of the transform job. + public let transformJobName: String + + public init(maxConcurrentTransforms: Int32? = nil, transformInput: TransformInput, batchStrategy: BatchStrategy? = nil, transformResources: TransformResources, modelName: String, creationTime: TimeStamp, transformStartTime: TimeStamp? = nil, maxPayloadInMB: Int32? = nil, transformOutput: TransformOutput? = nil, environment: [String: String]? = nil, transformJobArn: String, transformEndTime: TimeStamp? = nil, failureReason: String? = nil, transformJobStatus: TransformJobStatus, transformJobName: String) { + self.maxConcurrentTransforms = maxConcurrentTransforms + self.transformInput = transformInput + self.batchStrategy = batchStrategy + self.transformResources = transformResources + self.modelName = modelName + self.creationTime = creationTime + self.transformStartTime = transformStartTime + self.maxPayloadInMB = maxPayloadInMB + self.transformOutput = transformOutput + self.environment = environment + self.transformJobArn = transformJobArn + self.transformEndTime = transformEndTime + self.failureReason = failureReason + self.transformJobStatus = transformJobStatus + self.transformJobName = transformJobName } private enum CodingKeys: String, CodingKey { - case variantName = "VariantName" - case desiredInstanceCount = "DesiredInstanceCount" - case desiredWeight = "DesiredWeight" + case maxConcurrentTransforms = "MaxConcurrentTransforms" + case transformInput = "TransformInput" + case batchStrategy = "BatchStrategy" + case transformResources = "TransformResources" + case modelName = "ModelName" + case creationTime = "CreationTime" + case transformStartTime = "TransformStartTime" + case maxPayloadInMB = "MaxPayloadInMB" + case transformOutput = "TransformOutput" + case environment = "Environment" + case transformJobArn = "TransformJobArn" + case transformEndTime = "TransformEndTime" + case failureReason = "FailureReason" + case transformJobStatus = "TransformJobStatus" + case transformJobName = "TransformJobName" } } public struct DescribeTrainingJobResponse: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TuningJobArn", required: false, type: .string), AWSShapeMember(label: "AlgorithmSpecification", required: true, type: .structure), - AWSShapeMember(label: "InputDataConfig", required: true, type: .list), + AWSShapeMember(label: "VpcConfig", required: false, type: .structure), + AWSShapeMember(label: "SecondaryStatus", required: true, type: .enum), AWSShapeMember(label: "TrainingStartTime", required: false, type: .timestamp), + AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), AWSShapeMember(label: "TrainingJobStatus", required: true, type: .enum), AWSShapeMember(label: "ResourceConfig", required: true, type: .structure), - AWSShapeMember(label: "SecondaryStatus", required: true, type: .enum), AWSShapeMember(label: "TrainingJobName", required: true, type: .string), - AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), + AWSShapeMember(label: "InputDataConfig", required: true, type: .list), AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), + AWSShapeMember(label: "ModelArtifacts", required: true, type: .structure), AWSShapeMember(label: "OutputDataConfig", required: false, type: .structure), AWSShapeMember(label: "TrainingJobArn", required: true, type: .string), - AWSShapeMember(label: "ModelArtifacts", required: true, type: .structure), AWSShapeMember(label: "HyperParameters", required: false, type: .map), AWSShapeMember(label: "TrainingEndTime", required: false, type: .timestamp), - AWSShapeMember(label: "FailureReason", required: false, type: .string), + AWSShapeMember(label: "RoleArn", required: false, type: .string), AWSShapeMember(label: "StoppingCondition", required: true, type: .structure), - AWSShapeMember(label: "RoleArn", required: false, type: .string) + AWSShapeMember(label: "FailureReason", required: false, type: .string), + AWSShapeMember(label: "SecondaryStatusTransitions", required: false, type: .list) ] + /// The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the training job was launched by a hyperparameter tuning job. + public let tuningJobArn: String? /// Information about the algorithm used for training, and algorithm metadata. public let algorithmSpecification: AlgorithmSpecification - /// An array of Channel objects that describes each data input channel. - public let inputDataConfig: [Channel] - /// A timestamp that indicates when training started. + /// A VpcConfig object that specifies the VPC that this training job has access to. For more information, see train-vpc. + public let vpcConfig: VpcConfig? + /// Provides granular information about the system state. For more information, see TrainingJobStatus. Starting - starting the training job. LaunchingMLInstances - launching ML instances for the training job. PreparingTrainingStack - preparing the ML instances for the training job. Downloading - downloading the input data. DownloadingTrainingImage - downloading the training algorithm image. 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 provided in the StatusMessage. The valid values for SecondaryStatus are subject to change. They primarily provide information on the progress of the training job. + public let secondaryStatus: SecondaryStatus + /// 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. public let trainingStartTime: TimeStamp? + /// A timestamp that indicates when the training job was created. + public let creationTime: TimeStamp /// 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. public let trainingJobStatus: TrainingJobStatus /// Resources, including ML compute instances and ML storage volumes, that are configured for model training. public let resourceConfig: ResourceConfig - /// Provides granular information about the system state. For more information, see TrainingJobStatus. - public let secondaryStatus: SecondaryStatus /// Name of the model training job. public let trainingJobName: String - /// A timestamp that indicates when the training job was created. - public let creationTime: TimeStamp + /// An array of Channel objects that describes each data input channel. + public let inputDataConfig: [Channel] /// A timestamp that indicates when the status of the training job was last modified. public let lastModifiedTime: TimeStamp? + /// Information about the Amazon S3 location that is configured for storing model artifacts. + public let modelArtifacts: ModelArtifacts /// The S3 path where model artifacts that you configured when creating the job are stored. Amazon SageMaker creates subfolders for model artifacts. public let outputDataConfig: OutputDataConfig? /// The Amazon Resource Name (ARN) of the training job. public let trainingJobArn: String - /// Information about the Amazon S3 location that is configured for storing model artifacts. - public let modelArtifacts: ModelArtifacts /// Algorithm-specific parameters. public let hyperParameters: [String: String]? - /// A timestamp that indicates when model training ended. + /// 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. public let trainingEndTime: TimeStamp? - /// If the training job failed, the reason it failed. - public let failureReason: String? - /// The condition under which to stop the training job. - public let stoppingCondition: StoppingCondition /// The AWS Identity and Access Management (IAM) role configured for the training job. public let roleArn: String? + /// The condition under which to stop the training job. + public let stoppingCondition: StoppingCondition + /// If the training job failed, the reason it failed. + public let failureReason: String? + /// To give an overview of the training job lifecycle, SecondaryStatusTransitions is a log of time-ordered secondary statuses that a training job has transitioned. + public let secondaryStatusTransitions: [SecondaryStatusTransition]? - public init(algorithmSpecification: AlgorithmSpecification, inputDataConfig: [Channel], trainingStartTime: TimeStamp? = nil, trainingJobStatus: TrainingJobStatus, resourceConfig: ResourceConfig, secondaryStatus: SecondaryStatus, trainingJobName: String, creationTime: TimeStamp, lastModifiedTime: TimeStamp? = nil, outputDataConfig: OutputDataConfig? = nil, trainingJobArn: String, modelArtifacts: ModelArtifacts, hyperParameters: [String: String]? = nil, trainingEndTime: TimeStamp? = nil, failureReason: String? = nil, stoppingCondition: StoppingCondition, roleArn: String? = nil) { + public init(tuningJobArn: String? = nil, algorithmSpecification: AlgorithmSpecification, vpcConfig: VpcConfig? = nil, secondaryStatus: SecondaryStatus, trainingStartTime: TimeStamp? = nil, creationTime: TimeStamp, trainingJobStatus: TrainingJobStatus, resourceConfig: ResourceConfig, trainingJobName: String, inputDataConfig: [Channel], lastModifiedTime: TimeStamp? = nil, modelArtifacts: ModelArtifacts, outputDataConfig: OutputDataConfig? = nil, trainingJobArn: String, hyperParameters: [String: String]? = nil, trainingEndTime: TimeStamp? = nil, roleArn: String? = nil, stoppingCondition: StoppingCondition, failureReason: String? = nil, secondaryStatusTransitions: [SecondaryStatusTransition]? = nil) { + self.tuningJobArn = tuningJobArn self.algorithmSpecification = algorithmSpecification - self.inputDataConfig = inputDataConfig + self.vpcConfig = vpcConfig + self.secondaryStatus = secondaryStatus self.trainingStartTime = trainingStartTime + self.creationTime = creationTime self.trainingJobStatus = trainingJobStatus self.resourceConfig = resourceConfig - self.secondaryStatus = secondaryStatus self.trainingJobName = trainingJobName - self.creationTime = creationTime + self.inputDataConfig = inputDataConfig self.lastModifiedTime = lastModifiedTime + self.modelArtifacts = modelArtifacts self.outputDataConfig = outputDataConfig self.trainingJobArn = trainingJobArn - self.modelArtifacts = modelArtifacts self.hyperParameters = hyperParameters self.trainingEndTime = trainingEndTime - self.failureReason = failureReason - self.stoppingCondition = stoppingCondition self.roleArn = roleArn + self.stoppingCondition = stoppingCondition + self.failureReason = failureReason + self.secondaryStatusTransitions = secondaryStatusTransitions } private enum CodingKeys: String, CodingKey { + case tuningJobArn = "TuningJobArn" case algorithmSpecification = "AlgorithmSpecification" - case inputDataConfig = "InputDataConfig" + case vpcConfig = "VpcConfig" + case secondaryStatus = "SecondaryStatus" case trainingStartTime = "TrainingStartTime" + case creationTime = "CreationTime" case trainingJobStatus = "TrainingJobStatus" case resourceConfig = "ResourceConfig" - case secondaryStatus = "SecondaryStatus" case trainingJobName = "TrainingJobName" - case creationTime = "CreationTime" + case inputDataConfig = "InputDataConfig" case lastModifiedTime = "LastModifiedTime" + case modelArtifacts = "ModelArtifacts" case outputDataConfig = "OutputDataConfig" case trainingJobArn = "TrainingJobArn" - case modelArtifacts = "ModelArtifacts" case hyperParameters = "HyperParameters" case trainingEndTime = "TrainingEndTime" - case failureReason = "FailureReason" - case stoppingCondition = "StoppingCondition" case roleArn = "RoleArn" + case stoppingCondition = "StoppingCondition" + case failureReason = "FailureReason" + case secondaryStatusTransitions = "SecondaryStatusTransitions" } } - public struct ListNotebookInstancesOutput: AWSShape { + public struct ListNotebookInstanceLifecycleConfigsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NotebookInstances", required: false, type: .list), + AWSShapeMember(label: "NotebookInstanceLifecycleConfigs", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// An array of NotebookInstanceSummary objects, one for each notebook instance. - public let notebookInstances: [NotebookInstanceSummary]? - /// 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. + /// An array of NotebookInstanceLifecycleConfiguration objects, each listing a lifecycle configuration. + public let notebookInstanceLifecycleConfigs: [NotebookInstanceLifecycleConfigSummary]? + /// If the response is truncated, Amazon SageMaker returns this token. To get the next set of lifecycle configurations, use it in the next request. public let nextToken: String? - public init(notebookInstances: [NotebookInstanceSummary]? = nil, nextToken: String? = nil) { - self.notebookInstances = notebookInstances + public init(notebookInstanceLifecycleConfigs: [NotebookInstanceLifecycleConfigSummary]? = nil, nextToken: String? = nil) { + self.notebookInstanceLifecycleConfigs = notebookInstanceLifecycleConfigs self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case notebookInstances = "NotebookInstances" + case notebookInstanceLifecycleConfigs = "NotebookInstanceLifecycleConfigs" case nextToken = "NextToken" } } - public struct ListTrainingJobsRequest: AWSShape { + public enum HyperParameterTuningJobObjectiveType: String, CustomStringConvertible, Codable { + case maximize = "Maximize" + case minimize = "Minimize" + public var description: String { return self.rawValue } + } + + public struct ContinuousParameterRange: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SortBy", required: false, type: .enum), - AWSShapeMember(label: "LastModifiedTimeAfter", required: false, type: .timestamp), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "CreationTimeAfter", required: false, type: .timestamp), - AWSShapeMember(label: "NameContains", required: false, type: .string), - AWSShapeMember(label: "SortOrder", required: false, type: .enum), - AWSShapeMember(label: "LastModifiedTimeBefore", required: false, type: .timestamp), - AWSShapeMember(label: "StatusEquals", required: false, type: .enum), - AWSShapeMember(label: "CreationTimeBefore", required: false, type: .timestamp), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "MaxValue", required: true, type: .string), + AWSShapeMember(label: "MinValue", required: true, type: .string) ] - /// The field to sort results by. The default is CreationTime. - public let sortBy: SortBy? - /// A filter that returns only training jobs modified after the specified time (timestamp). - public let lastModifiedTimeAfter: TimeStamp? - /// 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. - public let nextToken: String? - /// A filter that only training jobs created after the specified time (timestamp). - public let creationTimeAfter: TimeStamp? - /// A string in the training job name. This filter returns only models whose name contains the specified string. - public let nameContains: String? - /// The sort order for results. The default is Ascending. - public let sortOrder: SortOrder? - /// A filter that returns only training jobs modified before the specified time (timestamp). - public let lastModifiedTimeBefore: TimeStamp? - /// A filter that retrieves only training jobs with a specific status. - public let statusEquals: TrainingJobStatus? - /// A filter that returns only training jobs created before the specified time (timestamp). - public let creationTimeBefore: TimeStamp? - /// The maximum number of training jobs to return in the response. - public let maxResults: Int32? + /// The name of the continuous hyperparameter to tune. + public let name: String + /// The maximum value for the hyperparameter. The tuning job uses floating-point values between MinValue value and this value for tuning. + public let maxValue: String + /// The minimum value for the hyperparameter. The tuning job uses floating-point values between this value and MaxValuefor tuning. + public let minValue: String - public init(sortBy: SortBy? = nil, lastModifiedTimeAfter: TimeStamp? = nil, nextToken: String? = nil, creationTimeAfter: TimeStamp? = nil, nameContains: String? = nil, sortOrder: SortOrder? = nil, lastModifiedTimeBefore: TimeStamp? = nil, statusEquals: TrainingJobStatus? = nil, creationTimeBefore: TimeStamp? = nil, maxResults: Int32? = nil) { - self.sortBy = sortBy - self.lastModifiedTimeAfter = lastModifiedTimeAfter - self.nextToken = nextToken - self.creationTimeAfter = creationTimeAfter - self.nameContains = nameContains - self.sortOrder = sortOrder - self.lastModifiedTimeBefore = lastModifiedTimeBefore - self.statusEquals = statusEquals - self.creationTimeBefore = creationTimeBefore - self.maxResults = maxResults + public init(name: String, maxValue: String, minValue: String) { + self.name = name + self.maxValue = maxValue + self.minValue = minValue } private enum CodingKeys: String, CodingKey { - case sortBy = "SortBy" - case lastModifiedTimeAfter = "LastModifiedTimeAfter" - case nextToken = "NextToken" - case creationTimeAfter = "CreationTimeAfter" - case nameContains = "NameContains" - case sortOrder = "SortOrder" - case lastModifiedTimeBefore = "LastModifiedTimeBefore" - case statusEquals = "StatusEquals" - case creationTimeBefore = "CreationTimeBefore" - case maxResults = "MaxResults" + case name = "Name" + case maxValue = "MaxValue" + case minValue = "MinValue" } } - public struct ListModelsInput: AWSShape { + public struct VpcConfig: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SortBy", required: false, type: .enum), - AWSShapeMember(label: "CreationTimeAfter", required: false, type: .timestamp), - AWSShapeMember(label: "NameContains", required: false, type: .string), - AWSShapeMember(label: "SortOrder", required: false, type: .enum), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "CreationTimeBefore", required: false, type: .timestamp), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "Subnets", required: true, type: .list), + AWSShapeMember(label: "SecurityGroupIds", required: true, type: .list) ] - /// Sorts the list of results. The default is CreationTime. - public let sortBy: ModelSortKey? - /// A filter that returns only models created after the specified time (timestamp). + /// The ID of the subnets in the VPC to which you want to connect your training job or model. + public let subnets: [String] + /// The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. + public let securityGroupIds: [String] + + public init(subnets: [String], securityGroupIds: [String]) { + self.subnets = subnets + self.securityGroupIds = securityGroupIds + } + + private enum CodingKeys: String, CodingKey { + case subnets = "Subnets" + case securityGroupIds = "SecurityGroupIds" + } + } + + public struct ResourceConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VolumeSizeInGB", required: true, type: .integer), + AWSShapeMember(label: "InstanceCount", required: true, type: .integer), + AWSShapeMember(label: "InstanceType", required: true, type: .enum), + AWSShapeMember(label: "VolumeKmsKeyId", required: false, type: .string) + ] + /// 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. + public let volumeSizeInGB: Int32 + /// The number of ML compute instances to use. For distributed training, provide a value greater than 1. + public let instanceCount: Int32 + /// The ML compute instance type. + public let instanceType: TrainingInstanceType + /// 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. + public let volumeKmsKeyId: String? + + public init(volumeSizeInGB: Int32, instanceCount: Int32, instanceType: TrainingInstanceType, volumeKmsKeyId: String? = nil) { + self.volumeSizeInGB = volumeSizeInGB + self.instanceCount = instanceCount + self.instanceType = instanceType + self.volumeKmsKeyId = volumeKmsKeyId + } + + private enum CodingKeys: String, CodingKey { + case volumeSizeInGB = "VolumeSizeInGB" + case instanceCount = "InstanceCount" + case instanceType = "InstanceType" + case volumeKmsKeyId = "VolumeKmsKeyId" + } + } + + public struct EndpointSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: true, type: .timestamp), + AWSShapeMember(label: "EndpointArn", required: true, type: .string), + AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), + AWSShapeMember(label: "EndpointName", required: true, type: .string), + AWSShapeMember(label: "EndpointStatus", required: true, type: .enum) + ] + /// A timestamp that shows when the endpoint was last modified. + public let lastModifiedTime: TimeStamp + /// The Amazon Resource Name (ARN) of the endpoint. + public let endpointArn: String + /// A timestamp that shows when the endpoint was created. + public let creationTime: TimeStamp + /// The name of the endpoint. + public let endpointName: String + /// The status of the endpoint. + public let endpointStatus: EndpointStatus + + public init(lastModifiedTime: TimeStamp, endpointArn: String, creationTime: TimeStamp, endpointName: String, endpointStatus: EndpointStatus) { + self.lastModifiedTime = lastModifiedTime + self.endpointArn = endpointArn + self.creationTime = creationTime + self.endpointName = endpointName + self.endpointStatus = endpointStatus + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case endpointArn = "EndpointArn" + case creationTime = "CreationTime" + case endpointName = "EndpointName" + case endpointStatus = "EndpointStatus" + } + } + + public struct IntegerParameterRange: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "MaxValue", required: true, type: .string), + AWSShapeMember(label: "MinValue", required: true, type: .string) + ] + /// The name of the hyperparameter to search. + public let name: String + /// The maximum value of the hyperparameter to search. + public let maxValue: String + /// The minimum value of the hyperparameter to search. + public let minValue: String + + public init(name: String, maxValue: String, minValue: String) { + self.name = name + self.maxValue = maxValue + self.minValue = minValue + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case maxValue = "MaxValue" + case minValue = "MinValue" + } + } + + public struct HyperParameterTrainingJobDefinition: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OutputDataConfig", required: true, type: .structure), + AWSShapeMember(label: "AlgorithmSpecification", required: true, type: .structure), + AWSShapeMember(label: "VpcConfig", required: false, type: .structure), + AWSShapeMember(label: "InputDataConfig", required: true, type: .list), + AWSShapeMember(label: "StaticHyperParameters", required: false, type: .map), + AWSShapeMember(label: "ResourceConfig", required: true, type: .structure), + AWSShapeMember(label: "RoleArn", required: true, type: .string), + AWSShapeMember(label: "StoppingCondition", required: true, type: .structure) + ] + /// Specifies the path to the Amazon S3 bucket where you store model artifacts from the training jobs that the tuning job launches. + public let outputDataConfig: OutputDataConfig + /// The HyperParameterAlgorithmSpecification object that specifies the algorithm to use for the training jobs that the tuning job launches. + public let algorithmSpecification: HyperParameterAlgorithmSpecification + /// 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. + public let vpcConfig: VpcConfig? + /// An array of Channel objects that specify the input for the training jobs that the tuning job launches. + public let inputDataConfig: [Channel] + /// Specifies the values of hyperparameters that do not change for the tuning job. + public let staticHyperParameters: [String: String]? + /// 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. + public let resourceConfig: ResourceConfig + /// The Amazon Resource Name (ARN) of the IAM role associated with the training jobs that the tuning job launches. + public let roleArn: String + /// 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. + public let stoppingCondition: StoppingCondition + + public init(outputDataConfig: OutputDataConfig, algorithmSpecification: HyperParameterAlgorithmSpecification, vpcConfig: VpcConfig? = nil, inputDataConfig: [Channel], staticHyperParameters: [String: String]? = nil, resourceConfig: ResourceConfig, roleArn: String, stoppingCondition: StoppingCondition) { + self.outputDataConfig = outputDataConfig + self.algorithmSpecification = algorithmSpecification + self.vpcConfig = vpcConfig + self.inputDataConfig = inputDataConfig + self.staticHyperParameters = staticHyperParameters + self.resourceConfig = resourceConfig + self.roleArn = roleArn + self.stoppingCondition = stoppingCondition + } + + private enum CodingKeys: String, CodingKey { + case outputDataConfig = "OutputDataConfig" + case algorithmSpecification = "AlgorithmSpecification" + case vpcConfig = "VpcConfig" + case inputDataConfig = "InputDataConfig" + case staticHyperParameters = "StaticHyperParameters" + case resourceConfig = "ResourceConfig" + case roleArn = "RoleArn" + case stoppingCondition = "StoppingCondition" + } + } + + public struct NotebookInstanceLifecycleHook: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Content", required: false, type: .string) + ] + /// A base64-encoded string that contains a shell script for a notebook instance lifecycle configuration. + public let content: String? + + public init(content: String? = nil) { + self.content = content + } + + private enum CodingKeys: String, CodingKey { + case content = "Content" + } + } + + public enum DirectInternetAccess: String, CustomStringConvertible, Codable { + case enabled = "Enabled" + case disabled = "Disabled" + public var description: String { return self.rawValue } + } + + public enum TransformJobStatus: String, CustomStringConvertible, Codable { + case inprogress = "InProgress" + case completed = "Completed" + case failed = "Failed" + case stopping = "Stopping" + case stopped = "Stopped" + public var description: String { return self.rawValue } + } + + public enum NotebookInstanceStatus: String, CustomStringConvertible, Codable { + case pending = "Pending" + case inservice = "InService" + case stopping = "Stopping" + case stopped = "Stopped" + case failed = "Failed" + case deleting = "Deleting" + case updating = "Updating" + public var description: String { return self.rawValue } + } + + public struct CreateTransformJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TransformJobName", required: true, type: .string), + AWSShapeMember(label: "TransformInput", required: true, type: .structure), + AWSShapeMember(label: "BatchStrategy", required: false, type: .enum), + AWSShapeMember(label: "TransformResources", required: true, type: .structure), + AWSShapeMember(label: "TransformOutput", required: true, type: .structure), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "ModelName", required: true, type: .string), + AWSShapeMember(label: "Environment", required: false, type: .map), + AWSShapeMember(label: "MaxPayloadInMB", required: false, type: .integer), + AWSShapeMember(label: "MaxConcurrentTransforms", required: false, type: .integer) + ] + /// The name of the transform job. The name must be unique within an AWS Region in an AWS account. + public let transformJobName: String + /// Describes the input source and the way the transform job consumes it. + public let transformInput: TransformInput + /// 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. + public let batchStrategy: BatchStrategy? + /// Describes the resources, including ML instance types and ML instance count, to use for the transform job. + public let transformResources: TransformResources + /// Describes the results of the transform job. + public let transformOutput: TransformOutput + /// 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. + public let tags: [Tag]? + /// 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. + public let modelName: String + /// The environment variables to set in the Docker container. We support up to 16 key and values entries in the map. + public let environment: [String: String]? + /// 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. + public let maxPayloadInMB: Int32? + /// 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. + public let maxConcurrentTransforms: Int32? + + public init(transformJobName: String, transformInput: TransformInput, batchStrategy: BatchStrategy? = nil, transformResources: TransformResources, transformOutput: TransformOutput, tags: [Tag]? = nil, modelName: String, environment: [String: String]? = nil, maxPayloadInMB: Int32? = nil, maxConcurrentTransforms: Int32? = nil) { + self.transformJobName = transformJobName + self.transformInput = transformInput + self.batchStrategy = batchStrategy + self.transformResources = transformResources + self.transformOutput = transformOutput + self.tags = tags + self.modelName = modelName + self.environment = environment + self.maxPayloadInMB = maxPayloadInMB + self.maxConcurrentTransforms = maxConcurrentTransforms + } + + private enum CodingKeys: String, CodingKey { + case transformJobName = "TransformJobName" + case transformInput = "TransformInput" + case batchStrategy = "BatchStrategy" + case transformResources = "TransformResources" + case transformOutput = "TransformOutput" + case tags = "Tags" + case modelName = "ModelName" + case environment = "Environment" + case maxPayloadInMB = "MaxPayloadInMB" + case maxConcurrentTransforms = "MaxConcurrentTransforms" + } + } + + public enum SortBy: String, CustomStringConvertible, Codable { + case name = "Name" + case creationtime = "CreationTime" + case status = "Status" + public var description: String { return self.rawValue } + } + + public struct AlgorithmSpecification: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TrainingInputMode", required: true, type: .enum), + AWSShapeMember(label: "TrainingImage", required: true, type: .string) + ] + /// 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. + public let trainingInputMode: TrainingInputMode + /// 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. + public let trainingImage: String + + public init(trainingInputMode: TrainingInputMode, trainingImage: String) { + self.trainingInputMode = trainingInputMode + self.trainingImage = trainingImage + } + + private enum CodingKeys: String, CodingKey { + case trainingInputMode = "TrainingInputMode" + case trainingImage = "TrainingImage" + } + } + + public enum BatchStrategy: String, CustomStringConvertible, Codable { + case multirecord = "MultiRecord" + case singlerecord = "SingleRecord" + public var description: String { return self.rawValue } + } + + public struct CreateEndpointInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointConfigName", required: true, type: .string), + AWSShapeMember(label: "EndpointName", required: true, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .list) + ] + /// The name of an endpoint configuration. For more information, see CreateEndpointConfig. + public let endpointConfigName: String + /// The name of the endpoint. The name must be unique within an AWS Region in your AWS account. + public let endpointName: String + /// An array of key-value pairs. For more information, see Using Cost Allocation Tagsin the AWS Billing and Cost Management User Guide. + public let tags: [Tag]? + + public init(endpointConfigName: String, endpointName: String, tags: [Tag]? = nil) { + self.endpointConfigName = endpointConfigName + self.endpointName = endpointName + self.tags = tags + } + + private enum CodingKeys: String, CodingKey { + case endpointConfigName = "EndpointConfigName" + case endpointName = "EndpointName" + case tags = "Tags" + } + } + + public enum NotebookInstanceSortOrder: String, CustomStringConvertible, Codable { + case ascending = "Ascending" + case descending = "Descending" + public var description: String { return self.rawValue } + } + + public enum TrainingJobStatus: String, CustomStringConvertible, Codable { + case inprogress = "InProgress" + case completed = "Completed" + case failed = "Failed" + case stopping = "Stopping" + case stopped = "Stopped" + public var description: String { return self.rawValue } + } + + public struct ListTagsOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .list) + ] + /// 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. + public let nextToken: String? + /// An array of Tag objects, each with a tag key and a value. + public let tags: [Tag]? + + public init(nextToken: String? = nil, tags: [Tag]? = nil) { + self.nextToken = nextToken + self.tags = tags + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case tags = "Tags" + } + } + + public struct UpdateNotebookInstanceInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceType", required: false, type: .enum), + AWSShapeMember(label: "RoleArn", required: false, type: .string), + AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string) + ] + /// The Amazon ML compute instance type. + public let instanceType: InstanceType? + /// 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. + public let roleArn: String? + /// The name of the notebook instance to update. + public let notebookInstanceName: String + + public init(instanceType: InstanceType? = nil, roleArn: String? = nil, notebookInstanceName: String) { + self.instanceType = instanceType + self.roleArn = roleArn + self.notebookInstanceName = notebookInstanceName + } + + private enum CodingKeys: String, CodingKey { + case instanceType = "InstanceType" + case roleArn = "RoleArn" + case notebookInstanceName = "NotebookInstanceName" + } + } + + public struct CreateNotebookInstanceInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LifecycleConfigName", required: false, type: .string), + AWSShapeMember(label: "SubnetId", required: false, type: .string), + AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "DirectInternetAccess", required: false, type: .enum), + AWSShapeMember(label: "SecurityGroupIds", required: false, type: .list), + AWSShapeMember(label: "RoleArn", required: true, type: .string), + AWSShapeMember(label: "InstanceType", required: true, type: .enum), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string) + ] + /// The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see notebook-lifecycle-config. + public let lifecycleConfigName: String? + /// The ID of the subnet in a VPC to which you would like to have a connectivity from your ML compute instance. + public let subnetId: String? + /// The name of the new notebook instance. + public let notebookInstanceName: String + /// A list of tags to associate with the notebook instance. You can add tags later by using the CreateTags API. + public let tags: [Tag]? + /// 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. + public let directInternetAccess: DirectInternetAccess? + /// The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet. + public let securityGroupIds: [String]? + /// 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. + public let roleArn: String + /// The type of ML compute instance to launch for the notebook instance. + public let instanceType: InstanceType + /// 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. + public let kmsKeyId: String? + + public init(lifecycleConfigName: String? = nil, subnetId: String? = nil, notebookInstanceName: String, tags: [Tag]? = nil, directInternetAccess: DirectInternetAccess? = nil, securityGroupIds: [String]? = nil, roleArn: String, instanceType: InstanceType, kmsKeyId: String? = nil) { + self.lifecycleConfigName = lifecycleConfigName + self.subnetId = subnetId + self.notebookInstanceName = notebookInstanceName + self.tags = tags + self.directInternetAccess = directInternetAccess + self.securityGroupIds = securityGroupIds + self.roleArn = roleArn + self.instanceType = instanceType + self.kmsKeyId = kmsKeyId + } + + private enum CodingKeys: String, CodingKey { + case lifecycleConfigName = "LifecycleConfigName" + case subnetId = "SubnetId" + case notebookInstanceName = "NotebookInstanceName" + case tags = "Tags" + case directInternetAccess = "DirectInternetAccess" + case securityGroupIds = "SecurityGroupIds" + case roleArn = "RoleArn" + case instanceType = "InstanceType" + case kmsKeyId = "KmsKeyId" + } + } + + public struct StopNotebookInstanceInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string) + ] + /// The name of the notebook instance to terminate. + public let notebookInstanceName: String + + public init(notebookInstanceName: String) { + self.notebookInstanceName = notebookInstanceName + } + + private enum CodingKeys: String, CodingKey { + case notebookInstanceName = "NotebookInstanceName" + } + } + + public struct UpdateNotebookInstanceOutput: AWSShape { + + } + + public struct ListTrainingJobsForHyperParameterTuningJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "TrainingJobSummaries", required: true, type: .list) + ] + /// 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. + public let nextToken: String? + /// A list of TrainingJobSummary objects that describe the training jobs that the ListTrainingJobsForHyperParameterTuningJob request returned. + public let trainingJobSummaries: [HyperParameterTrainingJobSummary] + + public init(nextToken: String? = nil, trainingJobSummaries: [HyperParameterTrainingJobSummary]) { + self.nextToken = nextToken + self.trainingJobSummaries = trainingJobSummaries + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case trainingJobSummaries = "TrainingJobSummaries" + } + } + + public struct UpdateNotebookInstanceLifecycleConfigInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OnCreate", required: false, type: .list), + AWSShapeMember(label: "NotebookInstanceLifecycleConfigName", required: true, type: .string), + AWSShapeMember(label: "OnStart", required: false, type: .list) + ] + /// The shell script that runs only once, when you create a notebook instance + public let onCreate: [NotebookInstanceLifecycleHook]? + /// The name of the lifecycle configuration. + public let notebookInstanceLifecycleConfigName: String + /// The shell script that runs every time you start a notebook instance, including when you create the notebook instance. + public let onStart: [NotebookInstanceLifecycleHook]? + + public init(onCreate: [NotebookInstanceLifecycleHook]? = nil, notebookInstanceLifecycleConfigName: String, onStart: [NotebookInstanceLifecycleHook]? = nil) { + self.onCreate = onCreate + self.notebookInstanceLifecycleConfigName = notebookInstanceLifecycleConfigName + self.onStart = onStart + } + + private enum CodingKeys: String, CodingKey { + case onCreate = "OnCreate" + case notebookInstanceLifecycleConfigName = "NotebookInstanceLifecycleConfigName" + case onStart = "OnStart" + } + } + + public struct NotebookInstanceSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), + AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string), + AWSShapeMember(label: "Url", required: false, type: .string), + AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), + AWSShapeMember(label: "NotebookInstanceArn", required: true, type: .string), + AWSShapeMember(label: "InstanceType", required: false, type: .enum), + AWSShapeMember(label: "NotebookInstanceStatus", required: false, type: .enum), + AWSShapeMember(label: "NotebookInstanceLifecycleConfigName", required: false, type: .string) + ] + /// A timestamp that shows when the notebook instance was last modified. + public let lastModifiedTime: TimeStamp? + /// The name of the notebook instance that you want a summary for. + public let notebookInstanceName: String + /// The URL that you use to connect to the Jupyter instance running in your notebook instance. + public let url: String? + /// A timestamp that shows when the notebook instance was created. + public let creationTime: TimeStamp? + /// The Amazon Resource Name (ARN) of the notebook instance. + public let notebookInstanceArn: String + /// The type of ML compute instance that the notebook instance is running on. + public let instanceType: InstanceType? + /// The status of the notebook instance. + public let notebookInstanceStatus: NotebookInstanceStatus? + /// The name of a notebook instance lifecycle configuration associated with this notebook instance. For information about notebook instance lifestyle configurations, see notebook-lifecycle-config. + public let notebookInstanceLifecycleConfigName: String? + + public init(lastModifiedTime: TimeStamp? = nil, notebookInstanceName: String, url: String? = nil, creationTime: TimeStamp? = nil, notebookInstanceArn: String, instanceType: InstanceType? = nil, notebookInstanceStatus: NotebookInstanceStatus? = nil, notebookInstanceLifecycleConfigName: String? = nil) { + self.lastModifiedTime = lastModifiedTime + self.notebookInstanceName = notebookInstanceName + self.url = url + self.creationTime = creationTime + self.notebookInstanceArn = notebookInstanceArn + self.instanceType = instanceType + self.notebookInstanceStatus = notebookInstanceStatus + self.notebookInstanceLifecycleConfigName = notebookInstanceLifecycleConfigName + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case notebookInstanceName = "NotebookInstanceName" + case url = "Url" + case creationTime = "CreationTime" + case notebookInstanceArn = "NotebookInstanceArn" + case instanceType = "InstanceType" + case notebookInstanceStatus = "NotebookInstanceStatus" + case notebookInstanceLifecycleConfigName = "NotebookInstanceLifecycleConfigName" + } + } + + public struct DeleteEndpointConfigInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointConfigName", required: true, type: .string) + ] + /// The name of the endpoint configuration that you want to delete. + public let endpointConfigName: String + + public init(endpointConfigName: String) { + self.endpointConfigName = endpointConfigName + } + + private enum CodingKeys: String, CodingKey { + case endpointConfigName = "EndpointConfigName" + } + } + + public enum HyperParameterTuningJobStatus: String, CustomStringConvertible, Codable { + case completed = "Completed" + case inprogress = "InProgress" + case failed = "Failed" + case stopped = "Stopped" + case stopping = "Stopping" + public var description: String { return self.rawValue } + } + + public struct DeleteNotebookInstanceInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string) + ] + /// The name of the Amazon SageMaker notebook instance to delete. + public let notebookInstanceName: String + + public init(notebookInstanceName: String) { + self.notebookInstanceName = notebookInstanceName + } + + private enum CodingKeys: String, CodingKey { + case notebookInstanceName = "NotebookInstanceName" + } + } + + public enum HyperParameterTuningJobStrategyType: String, CustomStringConvertible, Codable { + case bayesian = "Bayesian" + public var description: String { return self.rawValue } + } + + public enum EndpointConfigSortKey: String, CustomStringConvertible, Codable { + case name = "Name" + case creationtime = "CreationTime" + public var description: String { return self.rawValue } + } + + public struct DescribeEndpointOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: true, type: .timestamp), + AWSShapeMember(label: "ProductionVariants", required: false, type: .list), + AWSShapeMember(label: "EndpointConfigName", required: true, type: .string), + AWSShapeMember(label: "EndpointName", required: true, type: .string), + AWSShapeMember(label: "EndpointArn", required: true, type: .string), + AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), + AWSShapeMember(label: "FailureReason", required: false, type: .string), + AWSShapeMember(label: "EndpointStatus", required: true, type: .enum) + ] + /// A timestamp that shows when the endpoint was last modified. + public let lastModifiedTime: TimeStamp + /// An array of ProductionVariantSummary objects, one for each model hosted behind this endpoint. + public let productionVariants: [ProductionVariantSummary]? + /// The name of the endpoint configuration associated with this endpoint. + public let endpointConfigName: String + /// Name of the endpoint. + public let endpointName: String + /// The Amazon Resource Name (ARN) of the endpoint. + public let endpointArn: String + /// A timestamp that shows when the endpoint was created. + public let creationTime: TimeStamp + /// If the status of the endpoint is Failed, the reason why it failed. + public let failureReason: String? + /// The status of the endpoint. + public let endpointStatus: EndpointStatus + + public init(lastModifiedTime: TimeStamp, productionVariants: [ProductionVariantSummary]? = nil, endpointConfigName: String, endpointName: String, endpointArn: String, creationTime: TimeStamp, failureReason: String? = nil, endpointStatus: EndpointStatus) { + self.lastModifiedTime = lastModifiedTime + self.productionVariants = productionVariants + self.endpointConfigName = endpointConfigName + self.endpointName = endpointName + self.endpointArn = endpointArn + self.creationTime = creationTime + self.failureReason = failureReason + self.endpointStatus = endpointStatus + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case productionVariants = "ProductionVariants" + case endpointConfigName = "EndpointConfigName" + case endpointName = "EndpointName" + case endpointArn = "EndpointArn" + case creationTime = "CreationTime" + case failureReason = "FailureReason" + case endpointStatus = "EndpointStatus" + } + } + + public struct ListNotebookInstancesInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SortBy", required: false, type: .enum), + AWSShapeMember(label: "LastModifiedTimeAfter", required: false, type: .timestamp), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "NotebookInstanceLifecycleConfigNameContains", required: false, type: .string), + AWSShapeMember(label: "CreationTimeAfter", required: false, type: .timestamp), + AWSShapeMember(label: "NameContains", required: false, type: .string), + AWSShapeMember(label: "SortOrder", required: false, type: .enum), + AWSShapeMember(label: "LastModifiedTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "StatusEquals", required: false, type: .enum), + AWSShapeMember(label: "CreationTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The field to sort results by. The default is Name. + public let sortBy: NotebookInstanceSortKey? + /// A filter that returns only notebook instances that were modified after the specified time (timestamp). + public let lastModifiedTimeAfter: TimeStamp? + /// 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. + public let nextToken: String? + /// 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. + public let notebookInstanceLifecycleConfigNameContains: String? + /// A filter that returns only notebook instances that were created after the specified time (timestamp). + public let creationTimeAfter: TimeStamp? + /// A string in the notebook instances' name. This filter returns only notebook instances whose name contains the specified string. + public let nameContains: String? + /// The sort order for results. + public let sortOrder: NotebookInstanceSortOrder? + /// A filter that returns only notebook instances that were modified before the specified time (timestamp). + public let lastModifiedTimeBefore: TimeStamp? + /// A filter that returns only notebook instances with the specified status. + public let statusEquals: NotebookInstanceStatus? + /// A filter that returns only notebook instances that were created before the specified time (timestamp). + public let creationTimeBefore: TimeStamp? + /// The maximum number of notebook instances to return. + public let maxResults: Int32? + + public init(sortBy: NotebookInstanceSortKey? = nil, lastModifiedTimeAfter: TimeStamp? = nil, nextToken: String? = nil, notebookInstanceLifecycleConfigNameContains: String? = nil, creationTimeAfter: TimeStamp? = nil, nameContains: String? = nil, sortOrder: NotebookInstanceSortOrder? = nil, lastModifiedTimeBefore: TimeStamp? = nil, statusEquals: NotebookInstanceStatus? = nil, creationTimeBefore: TimeStamp? = nil, maxResults: Int32? = nil) { + self.sortBy = sortBy + self.lastModifiedTimeAfter = lastModifiedTimeAfter + self.nextToken = nextToken + self.notebookInstanceLifecycleConfigNameContains = notebookInstanceLifecycleConfigNameContains + self.creationTimeAfter = creationTimeAfter + self.nameContains = nameContains + self.sortOrder = sortOrder + self.lastModifiedTimeBefore = lastModifiedTimeBefore + self.statusEquals = statusEquals + self.creationTimeBefore = creationTimeBefore + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case sortBy = "SortBy" + case lastModifiedTimeAfter = "LastModifiedTimeAfter" + case nextToken = "NextToken" + case notebookInstanceLifecycleConfigNameContains = "NotebookInstanceLifecycleConfigNameContains" + case creationTimeAfter = "CreationTimeAfter" + case nameContains = "NameContains" + case sortOrder = "SortOrder" + case lastModifiedTimeBefore = "LastModifiedTimeBefore" + case statusEquals = "StatusEquals" + case creationTimeBefore = "CreationTimeBefore" + case maxResults = "MaxResults" + } + } + + public struct ListEndpointConfigsInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SortBy", required: false, type: .enum), + AWSShapeMember(label: "CreationTimeAfter", required: false, type: .timestamp), + AWSShapeMember(label: "NameContains", required: false, type: .string), + AWSShapeMember(label: "SortOrder", required: false, type: .enum), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "CreationTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The field to sort results by. The default is CreationTime. + public let sortBy: EndpointConfigSortKey? + /// A filter that returns only endpoint configurations created after the specified time (timestamp). + public let creationTimeAfter: TimeStamp? + /// A string in the endpoint configuration name. This filter returns only endpoint configurations whose name contains the specified string. + public let nameContains: String? + /// The sort order for results. The default is Ascending. + public let sortOrder: OrderKey? + /// 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. + public let nextToken: String? + /// A filter that returns only endpoint configurations created before the specified time (timestamp). + public let creationTimeBefore: TimeStamp? + /// The maximum number of training jobs to return in the response. + public let maxResults: Int32? + + public init(sortBy: EndpointConfigSortKey? = nil, creationTimeAfter: TimeStamp? = nil, nameContains: String? = nil, sortOrder: OrderKey? = nil, nextToken: String? = nil, creationTimeBefore: TimeStamp? = nil, maxResults: Int32? = nil) { + self.sortBy = sortBy + self.creationTimeAfter = creationTimeAfter + self.nameContains = nameContains + self.sortOrder = sortOrder + self.nextToken = nextToken + self.creationTimeBefore = creationTimeBefore + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case sortBy = "SortBy" + case creationTimeAfter = "CreationTimeAfter" + case nameContains = "NameContains" + case sortOrder = "SortOrder" + case nextToken = "NextToken" + case creationTimeBefore = "CreationTimeBefore" + case maxResults = "MaxResults" + } + } + + public struct UpdateNotebookInstanceLifecycleConfigOutput: AWSShape { + + } + + public struct MetricDefinition: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Regex", required: true, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// 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. + public let regex: String + /// The name of the metric. + public let name: String + + public init(regex: String, name: String) { + self.regex = regex + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case regex = "Regex" + case name = "Name" + } + } + + public struct UpdateEndpointOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointArn", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) of the endpoint. + public let endpointArn: String + + public init(endpointArn: String) { + self.endpointArn = endpointArn + } + + private enum CodingKeys: String, CodingKey { + case endpointArn = "EndpointArn" + } + } + + public struct TrainingJobStatusCounters: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InProgress", required: false, type: .integer), + AWSShapeMember(label: "Completed", required: false, type: .integer), + AWSShapeMember(label: "NonRetryableError", required: false, type: .integer), + AWSShapeMember(label: "RetryableError", required: false, type: .integer), + AWSShapeMember(label: "Stopped", required: false, type: .integer) + ] + /// The number of in-progress training jobs launched by a hyperparameter tuning job. + public let inProgress: Int32? + /// The number of completed training jobs launched by a hyperparameter tuning job. + public let completed: Int32? + /// 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. + public let nonRetryableError: Int32? + /// 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. + public let retryableError: Int32? + /// The number of training jobs launched by a hyperparameter tuning job that were manually stopped. + public let stopped: Int32? + + public init(inProgress: Int32? = nil, completed: Int32? = nil, nonRetryableError: Int32? = nil, retryableError: Int32? = nil, stopped: Int32? = nil) { + self.inProgress = inProgress + self.completed = completed + self.nonRetryableError = nonRetryableError + self.retryableError = retryableError + self.stopped = stopped + } + + private enum CodingKeys: String, CodingKey { + case inProgress = "InProgress" + case completed = "Completed" + case nonRetryableError = "NonRetryableError" + case retryableError = "RetryableError" + case stopped = "Stopped" + } + } + + public enum NotebookInstanceSortKey: String, CustomStringConvertible, Codable { + case name = "Name" + case creationtime = "CreationTime" + case status = "Status" + public var description: String { return self.rawValue } + } + + public struct DescribeNotebookInstanceInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string) + ] + /// The name of the notebook instance that you want information about. + public let notebookInstanceName: String + + public init(notebookInstanceName: String) { + self.notebookInstanceName = notebookInstanceName + } + + private enum CodingKeys: String, CodingKey { + case notebookInstanceName = "NotebookInstanceName" + } + } + + public struct HyperParameterTuningJobConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ParameterRanges", required: true, type: .structure), + AWSShapeMember(label: "Strategy", required: true, type: .enum), + AWSShapeMember(label: "HyperParameterTuningJobObjective", required: true, type: .structure), + AWSShapeMember(label: "ResourceLimits", required: true, type: .structure) + ] + /// The ParameterRanges object that specifies the ranges of hyperparameters that this tuning job searches. + public let parameterRanges: ParameterRanges + /// Specifies the search strategy for hyperparameters. Currently, the only valid value is Bayesian. + public let strategy: HyperParameterTuningJobStrategyType + /// The HyperParameterTuningJobObjective object that specifies the objective metric for this tuning job. + public let hyperParameterTuningJobObjective: HyperParameterTuningJobObjective + /// The ResourceLimits object that specifies the maximum number of training jobs and parallel training jobs for this tuning job. + public let resourceLimits: ResourceLimits + + public init(parameterRanges: ParameterRanges, strategy: HyperParameterTuningJobStrategyType, hyperParameterTuningJobObjective: HyperParameterTuningJobObjective, resourceLimits: ResourceLimits) { + self.parameterRanges = parameterRanges + self.strategy = strategy + self.hyperParameterTuningJobObjective = hyperParameterTuningJobObjective + self.resourceLimits = resourceLimits + } + + private enum CodingKeys: String, CodingKey { + case parameterRanges = "ParameterRanges" + case strategy = "Strategy" + case hyperParameterTuningJobObjective = "HyperParameterTuningJobObjective" + case resourceLimits = "ResourceLimits" + } + } + + public enum S3DataType: String, CustomStringConvertible, Codable { + case manifestfile = "ManifestFile" + case s3prefix = "S3Prefix" + public var description: String { return self.rawValue } + } + + public struct ResourceLimits: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxParallelTrainingJobs", required: true, type: .integer), + AWSShapeMember(label: "MaxNumberOfTrainingJobs", required: true, type: .integer) + ] + /// The maximum number of concurrent training jobs that a hyperparameter tuning job can launch. + public let maxParallelTrainingJobs: Int32 + /// The maximum number of training jobs that a hyperparameter tuning job can launch. + public let maxNumberOfTrainingJobs: Int32 + + public init(maxParallelTrainingJobs: Int32, maxNumberOfTrainingJobs: Int32) { + self.maxParallelTrainingJobs = maxParallelTrainingJobs + self.maxNumberOfTrainingJobs = maxNumberOfTrainingJobs + } + + private enum CodingKeys: String, CodingKey { + case maxParallelTrainingJobs = "MaxParallelTrainingJobs" + case maxNumberOfTrainingJobs = "MaxNumberOfTrainingJobs" + } + } + + public enum TrainingInputMode: String, CustomStringConvertible, Codable { + case pipe = "Pipe" + case file = "File" + public var description: String { return self.rawValue } + } + + public struct NotebookInstanceLifecycleConfigSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), + AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), + AWSShapeMember(label: "NotebookInstanceLifecycleConfigArn", required: true, type: .string), + AWSShapeMember(label: "NotebookInstanceLifecycleConfigName", required: true, type: .string) + ] + /// A timestamp that tells when the lifecycle configuration was last modified. + public let lastModifiedTime: TimeStamp? + /// A timestamp that tells when the lifecycle configuration was created. + public let creationTime: TimeStamp? + /// The Amazon Resource Name (ARN) of the lifecycle configuration. + public let notebookInstanceLifecycleConfigArn: String + /// The name of the lifecycle configuration. + public let notebookInstanceLifecycleConfigName: String + + public init(lastModifiedTime: TimeStamp? = nil, creationTime: TimeStamp? = nil, notebookInstanceLifecycleConfigArn: String, notebookInstanceLifecycleConfigName: String) { + self.lastModifiedTime = lastModifiedTime + self.creationTime = creationTime + self.notebookInstanceLifecycleConfigArn = notebookInstanceLifecycleConfigArn + self.notebookInstanceLifecycleConfigName = notebookInstanceLifecycleConfigName + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case creationTime = "CreationTime" + case notebookInstanceLifecycleConfigArn = "NotebookInstanceLifecycleConfigArn" + case notebookInstanceLifecycleConfigName = "NotebookInstanceLifecycleConfigName" + } + } + + public struct DeleteModelInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ModelName", required: true, type: .string) + ] + /// The name of the model to delete. + public let modelName: String + + public init(modelName: String) { + self.modelName = modelName + } + + private enum CodingKeys: String, CodingKey { + case modelName = "ModelName" + } + } + + public struct UpdateEndpointWeightsAndCapacitiesInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointName", required: true, type: .string), + AWSShapeMember(label: "DesiredWeightsAndCapacities", required: true, type: .list) + ] + /// The name of an existing Amazon SageMaker endpoint. + public let endpointName: String + /// An object that provides new capacity and weight values for a variant. + public let desiredWeightsAndCapacities: [DesiredWeightAndCapacity] + + public init(endpointName: String, desiredWeightsAndCapacities: [DesiredWeightAndCapacity]) { + self.endpointName = endpointName + self.desiredWeightsAndCapacities = desiredWeightsAndCapacities + } + + private enum CodingKeys: String, CodingKey { + case endpointName = "EndpointName" + case desiredWeightsAndCapacities = "DesiredWeightsAndCapacities" + } + } + + public enum SortOrder: String, CustomStringConvertible, Codable { + case ascending = "Ascending" + case descending = "Descending" + public var description: String { return self.rawValue } + } + + public struct CategoricalParameterRange: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Values", required: true, type: .list) + ] + /// The name of the categorical hyperparameter to tune. + public let name: String + /// A list of the categories for the hyperparameter. + public let values: [String] + + public init(name: String, values: [String]) { + self.name = name + self.values = values + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case values = "Values" + } + } + + public struct Channel: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContentType", required: false, type: .string), + AWSShapeMember(label: "DataSource", required: true, type: .structure), + AWSShapeMember(label: "CompressionType", required: false, type: .enum), + AWSShapeMember(label: "ChannelName", required: true, type: .string), + AWSShapeMember(label: "RecordWrapperType", required: false, type: .enum) + ] + /// The MIME type of the data. + public let contentType: String? + /// The location of the channel data. + public let dataSource: DataSource + /// 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. + public let compressionType: CompressionType? + /// The name of the channel. + public let channelName: String + /// 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. + public let recordWrapperType: RecordWrapper? + + public init(contentType: String? = nil, dataSource: DataSource, compressionType: CompressionType? = nil, channelName: String, recordWrapperType: RecordWrapper? = nil) { + self.contentType = contentType + self.dataSource = dataSource + self.compressionType = compressionType + self.channelName = channelName + self.recordWrapperType = recordWrapperType + } + + private enum CodingKeys: String, CodingKey { + case contentType = "ContentType" + case dataSource = "DataSource" + case compressionType = "CompressionType" + case channelName = "ChannelName" + case recordWrapperType = "RecordWrapperType" + } + } + + public struct ContainerDefinition: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Environment", required: false, type: .map), + AWSShapeMember(label: "Image", required: true, type: .string), + AWSShapeMember(label: "ModelDataUrl", required: false, type: .string), + AWSShapeMember(label: "ContainerHostname", required: false, type: .string) + ] + /// 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. + public let environment: [String: String]? + /// 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 + public let image: String + /// 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. + public let modelDataUrl: String? + /// The DNS host name for the container after Amazon SageMaker deploys it. + public let containerHostname: String? + + public init(environment: [String: String]? = nil, image: String, modelDataUrl: String? = nil, containerHostname: String? = nil) { + self.environment = environment + self.image = image + self.modelDataUrl = modelDataUrl + self.containerHostname = containerHostname + } + + private enum CodingKeys: String, CodingKey { + case environment = "Environment" + case image = "Image" + case modelDataUrl = "ModelDataUrl" + case containerHostname = "ContainerHostname" + } + } + + public struct CreateEndpointConfigInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ProductionVariants", required: true, type: .list), + AWSShapeMember(label: "EndpointConfigName", required: true, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string) + ] + /// An array of ProductionVariant objects, one for each model that you want to host at this endpoint. + public let productionVariants: [ProductionVariant] + /// The name of the endpoint configuration. You specify this name in a CreateEndpoint request. + public let endpointConfigName: String + /// An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. + public let tags: [Tag]? + /// 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. + public let kmsKeyId: String? + + public init(productionVariants: [ProductionVariant], endpointConfigName: String, tags: [Tag]? = nil, kmsKeyId: String? = nil) { + self.productionVariants = productionVariants + self.endpointConfigName = endpointConfigName + self.tags = tags + self.kmsKeyId = kmsKeyId + } + + private enum CodingKeys: String, CodingKey { + case productionVariants = "ProductionVariants" + case endpointConfigName = "EndpointConfigName" + case tags = "Tags" + case kmsKeyId = "KmsKeyId" + } + } + + public struct DescribeNotebookInstanceLifecycleConfigOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), + AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), + AWSShapeMember(label: "OnStart", required: false, type: .list), + AWSShapeMember(label: "OnCreate", required: false, type: .list), + AWSShapeMember(label: "NotebookInstanceLifecycleConfigArn", required: false, type: .string), + AWSShapeMember(label: "NotebookInstanceLifecycleConfigName", required: false, type: .string) + ] + /// A timestamp that tells when the lifecycle configuration was last modified. + public let lastModifiedTime: TimeStamp? + /// A timestamp that tells when the lifecycle configuration was created. + public let creationTime: TimeStamp? + /// The shell script that runs every time you start a notebook instance, including when you create the notebook instance. + public let onStart: [NotebookInstanceLifecycleHook]? + /// The shell script that runs only once, when you create a notebook instance. + public let onCreate: [NotebookInstanceLifecycleHook]? + /// The Amazon Resource Name (ARN) of the lifecycle configuration. + public let notebookInstanceLifecycleConfigArn: String? + /// The name of the lifecycle configuration. + public let notebookInstanceLifecycleConfigName: String? + + public init(lastModifiedTime: TimeStamp? = nil, creationTime: TimeStamp? = nil, onStart: [NotebookInstanceLifecycleHook]? = nil, onCreate: [NotebookInstanceLifecycleHook]? = nil, notebookInstanceLifecycleConfigArn: String? = nil, notebookInstanceLifecycleConfigName: String? = nil) { + self.lastModifiedTime = lastModifiedTime + self.creationTime = creationTime + self.onStart = onStart + self.onCreate = onCreate + self.notebookInstanceLifecycleConfigArn = notebookInstanceLifecycleConfigArn + self.notebookInstanceLifecycleConfigName = notebookInstanceLifecycleConfigName + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case creationTime = "CreationTime" + case onStart = "OnStart" + case onCreate = "OnCreate" + case notebookInstanceLifecycleConfigArn = "NotebookInstanceLifecycleConfigArn" + case notebookInstanceLifecycleConfigName = "NotebookInstanceLifecycleConfigName" + } + } + + public struct ListHyperParameterTuningJobsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SortBy", required: false, type: .enum), + AWSShapeMember(label: "LastModifiedTimeAfter", required: false, type: .timestamp), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "CreationTimeAfter", required: false, type: .timestamp), + AWSShapeMember(label: "NameContains", required: false, type: .string), + AWSShapeMember(label: "SortOrder", required: false, type: .enum), + AWSShapeMember(label: "LastModifiedTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "StatusEquals", required: false, type: .enum), + AWSShapeMember(label: "CreationTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The field to sort results by. The default is Name. + public let sortBy: HyperParameterTuningJobSortByOptions? + /// A filter that returns only tuning jobs that were modified after the specified time. + public let lastModifiedTimeAfter: TimeStamp? + /// 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. + public let nextToken: String? + /// A filter that returns only tuning jobs that were created after the specified time. + public let creationTimeAfter: TimeStamp? + /// A string in the tuning job name. This filter returns only tuning jobs whose name contains the specified string. + public let nameContains: String? + /// The sort order for results. The default is Ascending. + public let sortOrder: SortOrder? + /// A filter that returns only tuning jobs that were modified before the specified time. + public let lastModifiedTimeBefore: TimeStamp? + /// A filter that returns only tuning jobs with the specified status. + public let statusEquals: HyperParameterTuningJobStatus? + /// A filter that returns only tuning jobs that were created before the specified time. + public let creationTimeBefore: TimeStamp? + /// The maximum number of tuning jobs to return. The default value is 10. + public let maxResults: Int32? + + public init(sortBy: HyperParameterTuningJobSortByOptions? = nil, lastModifiedTimeAfter: TimeStamp? = nil, nextToken: String? = nil, creationTimeAfter: TimeStamp? = nil, nameContains: String? = nil, sortOrder: SortOrder? = nil, lastModifiedTimeBefore: TimeStamp? = nil, statusEquals: HyperParameterTuningJobStatus? = nil, creationTimeBefore: TimeStamp? = nil, maxResults: Int32? = nil) { + self.sortBy = sortBy + self.lastModifiedTimeAfter = lastModifiedTimeAfter + self.nextToken = nextToken + self.creationTimeAfter = creationTimeAfter + self.nameContains = nameContains + self.sortOrder = sortOrder + self.lastModifiedTimeBefore = lastModifiedTimeBefore + self.statusEquals = statusEquals + self.creationTimeBefore = creationTimeBefore + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case sortBy = "SortBy" + case lastModifiedTimeAfter = "LastModifiedTimeAfter" + case nextToken = "NextToken" + case creationTimeAfter = "CreationTimeAfter" + case nameContains = "NameContains" + case sortOrder = "SortOrder" + case lastModifiedTimeBefore = "LastModifiedTimeBefore" + case statusEquals = "StatusEquals" + case creationTimeBefore = "CreationTimeBefore" + case maxResults = "MaxResults" + } + } + + public enum RecordWrapper: String, CustomStringConvertible, Codable { + case none = "None" + case recordio = "RecordIO" + public var description: String { return self.rawValue } + } + + public struct TransformOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "KmsKeyId", required: false, type: .string), + AWSShapeMember(label: "Accept", required: false, type: .string), + AWSShapeMember(label: "S3OutputPath", required: true, type: .string), + AWSShapeMember(label: "AssembleWith", required: false, type: .enum) + ] + /// 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. + public let kmsKeyId: String? + /// 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. + public let accept: String? + /// 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). + public let s3OutputPath: String + /// 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. + public let assembleWith: AssemblyType? + + public init(kmsKeyId: String? = nil, accept: String? = nil, s3OutputPath: String, assembleWith: AssemblyType? = nil) { + self.kmsKeyId = kmsKeyId + self.accept = accept + self.s3OutputPath = s3OutputPath + self.assembleWith = assembleWith + } + + private enum CodingKeys: String, CodingKey { + case kmsKeyId = "KmsKeyId" + case accept = "Accept" + case s3OutputPath = "S3OutputPath" + case assembleWith = "AssembleWith" + } + } + + public enum SplitType: String, CustomStringConvertible, Codable { + case none = "None" + case line = "Line" + case recordio = "RecordIO" + public var description: String { return self.rawValue } + } + + public enum OrderKey: String, CustomStringConvertible, Codable { + case ascending = "Ascending" + case descending = "Descending" + public var description: String { return self.rawValue } + } + + public enum TrainingInstanceType: String, CustomStringConvertible, Codable { + case mlM4Xlarge = "ml.m4.xlarge" + case mlM42Xlarge = "ml.m4.2xlarge" + case mlM44Xlarge = "ml.m4.4xlarge" + case mlM410Xlarge = "ml.m4.10xlarge" + case mlM416Xlarge = "ml.m4.16xlarge" + case mlM5Large = "ml.m5.large" + case mlM5Xlarge = "ml.m5.xlarge" + case mlM52Xlarge = "ml.m5.2xlarge" + case mlM54Xlarge = "ml.m5.4xlarge" + case mlM512Xlarge = "ml.m5.12xlarge" + case mlM524Xlarge = "ml.m5.24xlarge" + case mlC4Xlarge = "ml.c4.xlarge" + case mlC42Xlarge = "ml.c4.2xlarge" + case mlC44Xlarge = "ml.c4.4xlarge" + case mlC48Xlarge = "ml.c4.8xlarge" + case mlP2Xlarge = "ml.p2.xlarge" + case mlP28Xlarge = "ml.p2.8xlarge" + case mlP216Xlarge = "ml.p2.16xlarge" + case mlP32Xlarge = "ml.p3.2xlarge" + case mlP38Xlarge = "ml.p3.8xlarge" + case mlP316Xlarge = "ml.p3.16xlarge" + case mlC5Xlarge = "ml.c5.xlarge" + case mlC52Xlarge = "ml.c5.2xlarge" + case mlC54Xlarge = "ml.c5.4xlarge" + case mlC59Xlarge = "ml.c5.9xlarge" + case mlC518Xlarge = "ml.c5.18xlarge" + public var description: String { return self.rawValue } + } + + public struct ListNotebookInstanceLifecycleConfigsInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SortBy", required: false, type: .enum), + AWSShapeMember(label: "LastModifiedTimeAfter", required: false, type: .timestamp), + AWSShapeMember(label: "CreationTimeAfter", required: false, type: .timestamp), + AWSShapeMember(label: "NameContains", required: false, type: .string), + AWSShapeMember(label: "SortOrder", required: false, type: .enum), + AWSShapeMember(label: "LastModifiedTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "CreationTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// Sorts the list of results. The default is CreationTime. + public let sortBy: NotebookInstanceLifecycleConfigSortKey? + /// A filter that returns only lifecycle configurations that were modified after the specified time (timestamp). + public let lastModifiedTimeAfter: TimeStamp? + /// A filter that returns only lifecycle configurations that were created after the specified time (timestamp). + public let creationTimeAfter: TimeStamp? + /// A string in the lifecycle configuration name. This filter returns only lifecycle configurations whose name contains the specified string. + public let nameContains: String? + /// The sort order for results. + public let sortOrder: NotebookInstanceLifecycleConfigSortOrder? + /// A filter that returns only lifecycle configurations that were modified before the specified time (timestamp). + public let lastModifiedTimeBefore: TimeStamp? + /// 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. + public let nextToken: String? + /// A filter that returns only lifecycle configurations that were created before the specified time (timestamp). + public let creationTimeBefore: TimeStamp? + /// The maximum number of lifecycle configurations to return in the response. + public let maxResults: Int32? + + public init(sortBy: NotebookInstanceLifecycleConfigSortKey? = nil, lastModifiedTimeAfter: TimeStamp? = nil, creationTimeAfter: TimeStamp? = nil, nameContains: String? = nil, sortOrder: NotebookInstanceLifecycleConfigSortOrder? = nil, lastModifiedTimeBefore: TimeStamp? = nil, nextToken: String? = nil, creationTimeBefore: TimeStamp? = nil, maxResults: Int32? = nil) { + self.sortBy = sortBy + self.lastModifiedTimeAfter = lastModifiedTimeAfter + self.creationTimeAfter = creationTimeAfter + self.nameContains = nameContains + self.sortOrder = sortOrder + self.lastModifiedTimeBefore = lastModifiedTimeBefore + self.nextToken = nextToken + self.creationTimeBefore = creationTimeBefore + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case sortBy = "SortBy" + case lastModifiedTimeAfter = "LastModifiedTimeAfter" + case creationTimeAfter = "CreationTimeAfter" + case nameContains = "NameContains" + case sortOrder = "SortOrder" + case lastModifiedTimeBefore = "LastModifiedTimeBefore" + case nextToken = "NextToken" + case creationTimeBefore = "CreationTimeBefore" + case maxResults = "MaxResults" + } + } + + public struct DescribeTrainingJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TrainingJobName", required: true, type: .string) + ] + /// The name of the training job. + public let trainingJobName: String + + public init(trainingJobName: String) { + self.trainingJobName = trainingJobName + } + + private enum CodingKeys: String, CodingKey { + case trainingJobName = "TrainingJobName" + } + } + + public enum NotebookInstanceLifecycleConfigSortKey: String, CustomStringConvertible, Codable { + case name = "Name" + case creationtime = "CreationTime" + case lastmodifiedtime = "LastModifiedTime" + public var description: String { return self.rawValue } + } + + public enum TrainingJobSortByOptions: String, CustomStringConvertible, Codable { + case name = "Name" + case creationtime = "CreationTime" + case status = "Status" + case finalobjectivemetricvalue = "FinalObjectiveMetricValue" + public var description: String { return self.rawValue } + } + + public struct DescribeEndpointConfigOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointConfigArn", required: true, type: .string), + AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), + AWSShapeMember(label: "ProductionVariants", required: true, type: .list), + AWSShapeMember(label: "EndpointConfigName", required: true, type: .string), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the endpoint configuration. + public let endpointConfigArn: String + /// A timestamp that shows when the endpoint configuration was created. + public let creationTime: TimeStamp + /// An array of ProductionVariant objects, one for each model that you want to host at this endpoint. + public let productionVariants: [ProductionVariant] + /// Name of the Amazon SageMaker endpoint configuration. + public let endpointConfigName: String + /// AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage volume attached to the instance. + public let kmsKeyId: String? + + public init(endpointConfigArn: String, creationTime: TimeStamp, productionVariants: [ProductionVariant], endpointConfigName: String, kmsKeyId: String? = nil) { + self.endpointConfigArn = endpointConfigArn + self.creationTime = creationTime + self.productionVariants = productionVariants + self.endpointConfigName = endpointConfigName + self.kmsKeyId = kmsKeyId + } + + private enum CodingKeys: String, CodingKey { + case endpointConfigArn = "EndpointConfigArn" + case creationTime = "CreationTime" + case productionVariants = "ProductionVariants" + case endpointConfigName = "EndpointConfigName" + case kmsKeyId = "KmsKeyId" + } + } + + public struct CreatePresignedNotebookInstanceUrlInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SessionExpirationDurationInSeconds", required: false, type: .integer), + AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string) + ] + /// The duration of the session, in seconds. The default is 12 hours. + public let sessionExpirationDurationInSeconds: Int32? + /// The name of the notebook instance. + public let notebookInstanceName: String + + public init(sessionExpirationDurationInSeconds: Int32? = nil, notebookInstanceName: String) { + self.sessionExpirationDurationInSeconds = sessionExpirationDurationInSeconds + self.notebookInstanceName = notebookInstanceName + } + + private enum CodingKeys: String, CodingKey { + case sessionExpirationDurationInSeconds = "SessionExpirationDurationInSeconds" + case notebookInstanceName = "NotebookInstanceName" + } + } + + public struct CreateEndpointConfigOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointConfigArn", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) of the endpoint configuration. + public let endpointConfigArn: String + + public init(endpointConfigArn: String) { + self.endpointConfigArn = endpointConfigArn + } + + private enum CodingKeys: String, CodingKey { + case endpointConfigArn = "EndpointConfigArn" + } + } + + public struct StoppingCondition: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxRuntimeInSeconds", required: false, type: .integer) + ] + /// 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. + public let maxRuntimeInSeconds: Int32? + + public init(maxRuntimeInSeconds: Int32? = nil) { + self.maxRuntimeInSeconds = maxRuntimeInSeconds + } + + private enum CodingKeys: String, CodingKey { + case maxRuntimeInSeconds = "MaxRuntimeInSeconds" + } + } + + public struct StopHyperParameterTuningJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "HyperParameterTuningJobName", required: true, type: .string) + ] + /// The name of the tuning job to stop. + public let hyperParameterTuningJobName: String + + public init(hyperParameterTuningJobName: String) { + self.hyperParameterTuningJobName = hyperParameterTuningJobName + } + + private enum CodingKeys: String, CodingKey { + case hyperParameterTuningJobName = "HyperParameterTuningJobName" + } + } + + public struct TransformResources: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceType", required: true, type: .enum), + AWSShapeMember(label: "InstanceCount", required: true, type: .integer) + ] + /// 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. + public let instanceType: TransformInstanceType + /// 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. + public let instanceCount: Int32 + + public init(instanceType: TransformInstanceType, instanceCount: Int32) { + self.instanceType = instanceType + self.instanceCount = instanceCount + } + + private enum CodingKeys: String, CodingKey { + case instanceType = "InstanceType" + case instanceCount = "InstanceCount" + } + } + + public struct ListTrainingJobsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "TrainingJobSummaries", required: true, type: .list) + ] + /// If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of training jobs, use it in the subsequent request. + public let nextToken: String? + /// An array of TrainingJobSummary objects, each listing a training job. + public let trainingJobSummaries: [TrainingJobSummary] + + public init(nextToken: String? = nil, trainingJobSummaries: [TrainingJobSummary]) { + self.nextToken = nextToken + self.trainingJobSummaries = trainingJobSummaries + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case trainingJobSummaries = "TrainingJobSummaries" + } + } + + public struct CreateTrainingJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OutputDataConfig", required: true, type: .structure), + AWSShapeMember(label: "AlgorithmSpecification", required: true, type: .structure), + AWSShapeMember(label: "VpcConfig", required: false, type: .structure), + AWSShapeMember(label: "HyperParameters", required: false, type: .map), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "InputDataConfig", required: true, type: .list), + AWSShapeMember(label: "ResourceConfig", required: true, type: .structure), + AWSShapeMember(label: "RoleArn", required: true, type: .string), + AWSShapeMember(label: "TrainingJobName", required: true, type: .string), + AWSShapeMember(label: "StoppingCondition", required: true, type: .structure) + ] + /// Specifies the path to the S3 bucket where you want to store model artifacts. Amazon SageMaker creates subfolders for the artifacts. + public let outputDataConfig: OutputDataConfig + /// 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. + public let algorithmSpecification: AlgorithmSpecification + /// 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 + public let vpcConfig: VpcConfig? + /// 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. + public let hyperParameters: [String: String]? + /// An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. + public let tags: [Tag]? + /// 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. + public let inputDataConfig: [Channel] + /// 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. + public let resourceConfig: ResourceConfig + /// 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. + public let roleArn: String + /// The name of the training job. The name must be unique within an AWS Region in an AWS account. + public let trainingJobName: String + /// 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. + public let stoppingCondition: StoppingCondition + + public init(outputDataConfig: OutputDataConfig, algorithmSpecification: AlgorithmSpecification, vpcConfig: VpcConfig? = nil, hyperParameters: [String: String]? = nil, tags: [Tag]? = nil, inputDataConfig: [Channel], resourceConfig: ResourceConfig, roleArn: String, trainingJobName: String, stoppingCondition: StoppingCondition) { + self.outputDataConfig = outputDataConfig + self.algorithmSpecification = algorithmSpecification + self.vpcConfig = vpcConfig + self.hyperParameters = hyperParameters + self.tags = tags + self.inputDataConfig = inputDataConfig + self.resourceConfig = resourceConfig + self.roleArn = roleArn + self.trainingJobName = trainingJobName + self.stoppingCondition = stoppingCondition + } + + private enum CodingKeys: String, CodingKey { + case outputDataConfig = "OutputDataConfig" + case algorithmSpecification = "AlgorithmSpecification" + case vpcConfig = "VpcConfig" + case hyperParameters = "HyperParameters" + case tags = "Tags" + case inputDataConfig = "InputDataConfig" + case resourceConfig = "ResourceConfig" + case roleArn = "RoleArn" + case trainingJobName = "TrainingJobName" + case stoppingCondition = "StoppingCondition" + } + } + + public struct DesiredWeightAndCapacity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VariantName", required: true, type: .string), + AWSShapeMember(label: "DesiredInstanceCount", required: false, type: .integer), + AWSShapeMember(label: "DesiredWeight", required: false, type: .float) + ] + /// The name of the variant to update. + public let variantName: String + /// The variant's capacity. + public let desiredInstanceCount: Int32? + /// The variant's weight. + public let desiredWeight: Float? + + public init(variantName: String, desiredInstanceCount: Int32? = nil, desiredWeight: Float? = nil) { + self.variantName = variantName + self.desiredInstanceCount = desiredInstanceCount + self.desiredWeight = desiredWeight + } + + private enum CodingKeys: String, CodingKey { + case variantName = "VariantName" + case desiredInstanceCount = "DesiredInstanceCount" + case desiredWeight = "DesiredWeight" + } + } + + public enum TransformInstanceType: String, CustomStringConvertible, Codable { + case mlM4Xlarge = "ml.m4.xlarge" + case mlM42Xlarge = "ml.m4.2xlarge" + case mlM44Xlarge = "ml.m4.4xlarge" + case mlM410Xlarge = "ml.m4.10xlarge" + case mlM416Xlarge = "ml.m4.16xlarge" + case mlC4Xlarge = "ml.c4.xlarge" + case mlC42Xlarge = "ml.c4.2xlarge" + case mlC44Xlarge = "ml.c4.4xlarge" + case mlC48Xlarge = "ml.c4.8xlarge" + case mlP2Xlarge = "ml.p2.xlarge" + case mlP28Xlarge = "ml.p2.8xlarge" + case mlP216Xlarge = "ml.p2.16xlarge" + case mlP32Xlarge = "ml.p3.2xlarge" + case mlP38Xlarge = "ml.p3.8xlarge" + case mlP316Xlarge = "ml.p3.16xlarge" + case mlC5Xlarge = "ml.c5.xlarge" + case mlC52Xlarge = "ml.c5.2xlarge" + case mlC54Xlarge = "ml.c5.4xlarge" + case mlC59Xlarge = "ml.c5.9xlarge" + case mlC518Xlarge = "ml.c5.18xlarge" + case mlM5Large = "ml.m5.large" + case mlM5Xlarge = "ml.m5.xlarge" + case mlM52Xlarge = "ml.m5.2xlarge" + case mlM54Xlarge = "ml.m5.4xlarge" + case mlM512Xlarge = "ml.m5.12xlarge" + case mlM524Xlarge = "ml.m5.24xlarge" + public var description: String { return self.rawValue } + } + + public struct ListNotebookInstancesOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NotebookInstances", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// An array of NotebookInstanceSummary objects, one for each notebook instance. + public let notebookInstances: [NotebookInstanceSummary]? + /// 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. + public let nextToken: String? + + public init(notebookInstances: [NotebookInstanceSummary]? = nil, nextToken: String? = nil) { + self.notebookInstances = notebookInstances + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case notebookInstances = "NotebookInstances" + case nextToken = "NextToken" + } + } + + public struct ListTrainingJobsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SortBy", required: false, type: .enum), + AWSShapeMember(label: "LastModifiedTimeAfter", required: false, type: .timestamp), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "CreationTimeAfter", required: false, type: .timestamp), + AWSShapeMember(label: "NameContains", required: false, type: .string), + AWSShapeMember(label: "SortOrder", required: false, type: .enum), + AWSShapeMember(label: "LastModifiedTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "StatusEquals", required: false, type: .enum), + AWSShapeMember(label: "CreationTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The field to sort results by. The default is CreationTime. + public let sortBy: SortBy? + /// A filter that returns only training jobs modified after the specified time (timestamp). + public let lastModifiedTimeAfter: TimeStamp? + /// 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. + public let nextToken: String? + /// A filter that returns only training jobs created after the specified time (timestamp). public let creationTimeAfter: TimeStamp? - /// A string in the training job name. This filter returns only models in the training job whose name contains the specified string. + /// A string in the training job name. This filter returns only training jobs whose name contains the specified string. public let nameContains: String? /// The sort order for results. The default is Ascending. - public let sortOrder: OrderKey? - /// 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. - public let nextToken: String? - /// A filter that returns only models created before the specified time (timestamp). + public let sortOrder: SortOrder? + /// A filter that returns only training jobs modified before the specified time (timestamp). + public let lastModifiedTimeBefore: TimeStamp? + /// A filter that retrieves only training jobs with a specific status. + public let statusEquals: TrainingJobStatus? + /// A filter that returns only training jobs created before the specified time (timestamp). public let creationTimeBefore: TimeStamp? - /// The maximum number of models to return in the response. + /// The maximum number of training jobs to return in the response. public let maxResults: Int32? - public init(sortBy: ModelSortKey? = nil, creationTimeAfter: TimeStamp? = nil, nameContains: String? = nil, sortOrder: OrderKey? = nil, nextToken: String? = nil, creationTimeBefore: TimeStamp? = nil, maxResults: Int32? = nil) { + public init(sortBy: SortBy? = nil, lastModifiedTimeAfter: TimeStamp? = nil, nextToken: String? = nil, creationTimeAfter: TimeStamp? = nil, nameContains: String? = nil, sortOrder: SortOrder? = nil, lastModifiedTimeBefore: TimeStamp? = nil, statusEquals: TrainingJobStatus? = nil, creationTimeBefore: TimeStamp? = nil, maxResults: Int32? = nil) { self.sortBy = sortBy + self.lastModifiedTimeAfter = lastModifiedTimeAfter + self.nextToken = nextToken self.creationTimeAfter = creationTimeAfter self.nameContains = nameContains self.sortOrder = sortOrder - self.nextToken = nextToken + self.lastModifiedTimeBefore = lastModifiedTimeBefore + self.statusEquals = statusEquals self.creationTimeBefore = creationTimeBefore self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { case sortBy = "SortBy" + case lastModifiedTimeAfter = "LastModifiedTimeAfter" + case nextToken = "NextToken" case creationTimeAfter = "CreationTimeAfter" case nameContains = "NameContains" case sortOrder = "SortOrder" - case nextToken = "NextToken" + case lastModifiedTimeBefore = "LastModifiedTimeBefore" + case statusEquals = "StatusEquals" case creationTimeBefore = "CreationTimeBefore" case maxResults = "MaxResults" } } - public struct DataSource: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "S3DataSource", required: true, type: .structure) - ] - /// The S3 location of the data source that is associated with a channel. - public let s3DataSource: S3DataSource - - public init(s3DataSource: S3DataSource) { - self.s3DataSource = s3DataSource - } - - private enum CodingKeys: String, CodingKey { - case s3DataSource = "S3DataSource" - } - } - public struct DescribeNotebookInstanceOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SubnetId", required: false, type: .string), AWSShapeMember(label: "NetworkInterfaceId", required: false, type: .string), AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), AWSShapeMember(label: "InstanceType", required: false, type: .enum), + AWSShapeMember(label: "NotebookInstanceLifecycleConfigName", required: false, type: .string), AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), AWSShapeMember(label: "SecurityGroups", required: false, type: .list), AWSShapeMember(label: "NotebookInstanceName", required: false, type: .string), AWSShapeMember(label: "Url", required: false, type: .string), + AWSShapeMember(label: "DirectInternetAccess", required: false, type: .enum), AWSShapeMember(label: "NotebookInstanceArn", required: false, type: .string), - AWSShapeMember(label: "RoleArn", required: false, type: .string), - AWSShapeMember(label: "NotebookInstanceStatus", required: false, type: .enum), AWSShapeMember(label: "FailureReason", required: false, type: .string), + AWSShapeMember(label: "NotebookInstanceStatus", required: false, type: .enum), + AWSShapeMember(label: "RoleArn", required: false, type: .string), AWSShapeMember(label: "KmsKeyId", required: false, type: .string) ] /// The ID of the VPC subnet. @@ -1579,6 +3268,8 @@ extension SageMaker { public let creationTime: TimeStamp? /// The type of ML compute instance running on the notebook instance. public let instanceType: InstanceType? + /// Returns the name of a notebook instance lifecycle configuration. For information about notebook instance lifestyle configurations, see notebook-lifecycle-config. + public let notebookInstanceLifecycleConfigName: String? /// A timestamp. Use this parameter to retrieve the time when the notebook instance was last modified. public let lastModifiedTime: TimeStamp? /// The IDs of the VPC security groups. @@ -1587,30 +3278,34 @@ extension SageMaker { public let notebookInstanceName: String? /// The URL that you use to connect to the Jupyter notebook that is running in your notebook instance. public let url: String? + /// 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. + public let directInternetAccess: DirectInternetAccess? /// The Amazon Resource Name (ARN) of the notebook instance. public let notebookInstanceArn: String? - /// Amazon Resource Name (ARN) of the IAM role associated with the instance. - public let roleArn: String? + /// If status is failed, the reason it failed. + public let failureReason: String? /// The status of the notebook instance. public let notebookInstanceStatus: NotebookInstanceStatus? - /// If staus is failed, the reason it failed. - public let failureReason: String? + /// Amazon Resource Name (ARN) of the IAM role associated with the instance. + public let roleArn: String? /// AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage volume attached to the instance. public let kmsKeyId: String? - public init(subnetId: String? = nil, networkInterfaceId: String? = nil, creationTime: TimeStamp? = nil, instanceType: InstanceType? = nil, lastModifiedTime: TimeStamp? = nil, securityGroups: [String]? = nil, notebookInstanceName: String? = nil, url: String? = nil, notebookInstanceArn: String? = nil, roleArn: String? = nil, notebookInstanceStatus: NotebookInstanceStatus? = nil, failureReason: String? = nil, kmsKeyId: String? = nil) { + public init(subnetId: String? = nil, networkInterfaceId: String? = nil, creationTime: TimeStamp? = nil, instanceType: InstanceType? = nil, notebookInstanceLifecycleConfigName: String? = nil, lastModifiedTime: TimeStamp? = nil, securityGroups: [String]? = nil, notebookInstanceName: String? = nil, url: String? = nil, directInternetAccess: DirectInternetAccess? = nil, notebookInstanceArn: String? = nil, failureReason: String? = nil, notebookInstanceStatus: NotebookInstanceStatus? = nil, roleArn: String? = nil, kmsKeyId: String? = nil) { self.subnetId = subnetId self.networkInterfaceId = networkInterfaceId self.creationTime = creationTime self.instanceType = instanceType + self.notebookInstanceLifecycleConfigName = notebookInstanceLifecycleConfigName self.lastModifiedTime = lastModifiedTime self.securityGroups = securityGroups self.notebookInstanceName = notebookInstanceName self.url = url + self.directInternetAccess = directInternetAccess self.notebookInstanceArn = notebookInstanceArn - self.roleArn = roleArn - self.notebookInstanceStatus = notebookInstanceStatus self.failureReason = failureReason + self.notebookInstanceStatus = notebookInstanceStatus + self.roleArn = roleArn self.kmsKeyId = kmsKeyId } @@ -1619,146 +3314,286 @@ extension SageMaker { case networkInterfaceId = "NetworkInterfaceId" case creationTime = "CreationTime" case instanceType = "InstanceType" + case notebookInstanceLifecycleConfigName = "NotebookInstanceLifecycleConfigName" case lastModifiedTime = "LastModifiedTime" case securityGroups = "SecurityGroups" case notebookInstanceName = "NotebookInstanceName" case url = "Url" + case directInternetAccess = "DirectInternetAccess" case notebookInstanceArn = "NotebookInstanceArn" - case roleArn = "RoleArn" - case notebookInstanceStatus = "NotebookInstanceStatus" case failureReason = "FailureReason" + case notebookInstanceStatus = "NotebookInstanceStatus" + case roleArn = "RoleArn" case kmsKeyId = "KmsKeyId" } } - public struct DeleteTagsInput: AWSShape { + public struct ListModelsInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ResourceArn", required: true, type: .string), - AWSShapeMember(label: "TagKeys", required: true, type: .list) + AWSShapeMember(label: "SortBy", required: false, type: .enum), + AWSShapeMember(label: "CreationTimeAfter", required: false, type: .timestamp), + AWSShapeMember(label: "NameContains", required: false, type: .string), + AWSShapeMember(label: "SortOrder", required: false, type: .enum), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "CreationTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The Amazon Resource Name (ARN) of the resource whose tags you want to delete. - public let resourceArn: String - /// An array or one or more tag keys to delete. - public let tagKeys: [String] + /// Sorts the list of results. The default is CreationTime. + public let sortBy: ModelSortKey? + /// A filter that returns only models created after the specified time (timestamp). + public let creationTimeAfter: TimeStamp? + /// A string in the training job name. This filter returns only models in the training job whose name contains the specified string. + public let nameContains: String? + /// The sort order for results. The default is Ascending. + public let sortOrder: OrderKey? + /// 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. + public let nextToken: String? + /// A filter that returns only models created before the specified time (timestamp). + public let creationTimeBefore: TimeStamp? + /// The maximum number of models to return in the response. + public let maxResults: Int32? - public init(resourceArn: String, tagKeys: [String]) { - self.resourceArn = resourceArn - self.tagKeys = tagKeys + public init(sortBy: ModelSortKey? = nil, creationTimeAfter: TimeStamp? = nil, nameContains: String? = nil, sortOrder: OrderKey? = nil, nextToken: String? = nil, creationTimeBefore: TimeStamp? = nil, maxResults: Int32? = nil) { + self.sortBy = sortBy + self.creationTimeAfter = creationTimeAfter + self.nameContains = nameContains + self.sortOrder = sortOrder + self.nextToken = nextToken + self.creationTimeBefore = creationTimeBefore + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case resourceArn = "ResourceArn" - case tagKeys = "TagKeys" + case sortBy = "SortBy" + case creationTimeAfter = "CreationTimeAfter" + case nameContains = "NameContains" + case sortOrder = "SortOrder" + case nextToken = "NextToken" + case creationTimeBefore = "CreationTimeBefore" + case maxResults = "MaxResults" } } - public struct DescribeEndpointConfigInput: AWSShape { + public struct DataSource: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointConfigName", required: true, type: .string) + AWSShapeMember(label: "S3DataSource", required: true, type: .structure) ] - /// The name of the endpoint configuration. - public let endpointConfigName: String + /// The S3 location of the data source that is associated with a channel. + public let s3DataSource: S3DataSource - public init(endpointConfigName: String) { - self.endpointConfigName = endpointConfigName + public init(s3DataSource: S3DataSource) { + self.s3DataSource = s3DataSource } private enum CodingKeys: String, CodingKey { - case endpointConfigName = "EndpointConfigName" + case s3DataSource = "S3DataSource" } } - public struct DeleteEndpointInput: AWSShape { + public struct HyperParameterTrainingJobSummary: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointName", required: true, type: .string) + AWSShapeMember(label: "TrainingJobArn", required: true, type: .string), + AWSShapeMember(label: "TunedHyperParameters", required: true, type: .map), + AWSShapeMember(label: "ObjectiveStatus", required: false, type: .enum), + AWSShapeMember(label: "TrainingJobStatus", required: true, type: .enum), + AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), + AWSShapeMember(label: "TrainingStartTime", required: false, type: .timestamp), + AWSShapeMember(label: "TrainingEndTime", required: false, type: .timestamp), + AWSShapeMember(label: "FailureReason", required: false, type: .string), + AWSShapeMember(label: "TrainingJobName", required: true, type: .string), + AWSShapeMember(label: "FinalHyperParameterTuningJobObjectiveMetric", required: false, type: .structure) ] - /// The name of the endpoint that you want to delete. - public let endpointName: String + /// The Amazon Resource Name (ARN) of the training job. + public let trainingJobArn: String + /// A list of the hyperparameters for which you specified ranges to search. + public let tunedHyperParameters: [String: String] + /// 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. + public let objectiveStatus: ObjectiveStatus? + /// The status of the training job. + public let trainingJobStatus: TrainingJobStatus + /// The date and time that the training job was created. + public let creationTime: TimeStamp + /// The date and time that the training job started. + public let trainingStartTime: TimeStamp? + /// The date and time that the training job ended. + public let trainingEndTime: TimeStamp? + /// The reason that the training job failed. + public let failureReason: String? + /// The name of the training job. + public let trainingJobName: String + /// The FinalHyperParameterTuningJobObjectiveMetric object that specifies the value of the objective metric of the tuning job that launched this training job. + public let finalHyperParameterTuningJobObjectiveMetric: FinalHyperParameterTuningJobObjectiveMetric? - public init(endpointName: String) { - self.endpointName = endpointName + public init(trainingJobArn: String, tunedHyperParameters: [String: String], objectiveStatus: ObjectiveStatus? = nil, trainingJobStatus: TrainingJobStatus, creationTime: TimeStamp, trainingStartTime: TimeStamp? = nil, trainingEndTime: TimeStamp? = nil, failureReason: String? = nil, trainingJobName: String, finalHyperParameterTuningJobObjectiveMetric: FinalHyperParameterTuningJobObjectiveMetric? = nil) { + self.trainingJobArn = trainingJobArn + self.tunedHyperParameters = tunedHyperParameters + self.objectiveStatus = objectiveStatus + self.trainingJobStatus = trainingJobStatus + self.creationTime = creationTime + self.trainingStartTime = trainingStartTime + self.trainingEndTime = trainingEndTime + self.failureReason = failureReason + self.trainingJobName = trainingJobName + self.finalHyperParameterTuningJobObjectiveMetric = finalHyperParameterTuningJobObjectiveMetric } private enum CodingKeys: String, CodingKey { - case endpointName = "EndpointName" + case trainingJobArn = "TrainingJobArn" + case tunedHyperParameters = "TunedHyperParameters" + case objectiveStatus = "ObjectiveStatus" + case trainingJobStatus = "TrainingJobStatus" + case creationTime = "CreationTime" + case trainingStartTime = "TrainingStartTime" + case trainingEndTime = "TrainingEndTime" + case failureReason = "FailureReason" + case trainingJobName = "TrainingJobName" + case finalHyperParameterTuningJobObjectiveMetric = "FinalHyperParameterTuningJobObjectiveMetric" } } - public enum SecondaryStatus: String, CustomStringConvertible, Codable { - case starting = "Starting" - case downloading = "Downloading" - case training = "Training" - case uploading = "Uploading" - case stopping = "Stopping" - case stopped = "Stopped" - case maxruntimeexceeded = "MaxRuntimeExceeded" - case completed = "Completed" + public enum ObjectiveStatus: String, CustomStringConvertible, Codable { + case succeeded = "Succeeded" + case pending = "Pending" case failed = "Failed" public var description: String { return self.rawValue } } - public struct ResourceConfig: AWSShape { + public struct ListTransformJobsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InstanceType", required: true, type: .enum), - AWSShapeMember(label: "VolumeSizeInGB", required: true, type: .integer), - AWSShapeMember(label: "InstanceCount", required: true, type: .integer) + AWSShapeMember(label: "SortBy", required: false, type: .enum), + AWSShapeMember(label: "LastModifiedTimeAfter", required: false, type: .timestamp), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "CreationTimeAfter", required: false, type: .timestamp), + AWSShapeMember(label: "NameContains", required: false, type: .string), + AWSShapeMember(label: "SortOrder", required: false, type: .enum), + AWSShapeMember(label: "LastModifiedTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "StatusEquals", required: false, type: .enum), + AWSShapeMember(label: "CreationTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The ML compute instance type. - public let instanceType: TrainingInstanceType - /// 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. - public let volumeSizeInGB: Int32 - /// The number of ML compute instances to use. For distributed training, provide a value greater than 1. - public let instanceCount: Int32 + /// The field to sort results by. The default is CreationTime. + public let sortBy: SortBy? + /// A filter that returns only transform jobs modified after the specified time. + public let lastModifiedTimeAfter: TimeStamp? + /// 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. + public let nextToken: String? + /// A filter that returns only transform jobs created after the specified time. + public let creationTimeAfter: TimeStamp? + /// A string in the transform job name. This filter returns only transform jobs whose name contains the specified string. + public let nameContains: String? + /// The sort order for results. The default is Descending. + public let sortOrder: SortOrder? + /// A filter that returns only transform jobs modified before the specified time. + public let lastModifiedTimeBefore: TimeStamp? + /// A filter that retrieves only transform jobs with a specific status. + public let statusEquals: TransformJobStatus? + /// A filter that returns only transform jobs created before the specified time. + public let creationTimeBefore: TimeStamp? + /// The maximum number of transform jobs to return in the response. The default value is 10. + public let maxResults: Int32? + + public init(sortBy: SortBy? = nil, lastModifiedTimeAfter: TimeStamp? = nil, nextToken: String? = nil, creationTimeAfter: TimeStamp? = nil, nameContains: String? = nil, sortOrder: SortOrder? = nil, lastModifiedTimeBefore: TimeStamp? = nil, statusEquals: TransformJobStatus? = nil, creationTimeBefore: TimeStamp? = nil, maxResults: Int32? = nil) { + self.sortBy = sortBy + self.lastModifiedTimeAfter = lastModifiedTimeAfter + self.nextToken = nextToken + self.creationTimeAfter = creationTimeAfter + self.nameContains = nameContains + self.sortOrder = sortOrder + self.lastModifiedTimeBefore = lastModifiedTimeBefore + self.statusEquals = statusEquals + self.creationTimeBefore = creationTimeBefore + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case sortBy = "SortBy" + case lastModifiedTimeAfter = "LastModifiedTimeAfter" + case nextToken = "NextToken" + case creationTimeAfter = "CreationTimeAfter" + case nameContains = "NameContains" + case sortOrder = "SortOrder" + case lastModifiedTimeBefore = "LastModifiedTimeBefore" + case statusEquals = "StatusEquals" + case creationTimeBefore = "CreationTimeBefore" + case maxResults = "MaxResults" + } + } + + public enum AssemblyType: String, CustomStringConvertible, Codable { + case none = "None" + case line = "Line" + public var description: String { return self.rawValue } + } + + public struct DeleteTagsInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceArn", required: true, type: .string), + AWSShapeMember(label: "TagKeys", required: true, type: .list) + ] + /// The Amazon Resource Name (ARN) of the resource whose tags you want to delete. + public let resourceArn: String + /// An array or one or more tag keys to delete. + public let tagKeys: [String] + + public init(resourceArn: String, tagKeys: [String]) { + self.resourceArn = resourceArn + self.tagKeys = tagKeys + } + + private enum CodingKeys: String, CodingKey { + case resourceArn = "ResourceArn" + case tagKeys = "TagKeys" + } + } + + public struct DescribeEndpointConfigInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointConfigName", required: true, type: .string) + ] + /// The name of the endpoint configuration. + public let endpointConfigName: String - public init(instanceType: TrainingInstanceType, volumeSizeInGB: Int32, instanceCount: Int32) { - self.instanceType = instanceType - self.volumeSizeInGB = volumeSizeInGB - self.instanceCount = instanceCount + public init(endpointConfigName: String) { + self.endpointConfigName = endpointConfigName } private enum CodingKeys: String, CodingKey { - case instanceType = "InstanceType" - case volumeSizeInGB = "VolumeSizeInGB" - case instanceCount = "InstanceCount" + case endpointConfigName = "EndpointConfigName" } } - public struct EndpointSummary: AWSShape { + public struct DeleteEndpointInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LastModifiedTime", required: true, type: .timestamp), - AWSShapeMember(label: "EndpointArn", required: true, type: .string), - AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), - AWSShapeMember(label: "EndpointName", required: true, type: .string), - AWSShapeMember(label: "EndpointStatus", required: true, type: .enum) + AWSShapeMember(label: "EndpointName", required: true, type: .string) ] - /// A timestamp that shows when the endpoint was last modified. - public let lastModifiedTime: TimeStamp - /// The Amazon Resource Name (ARN) of the endpoint. - public let endpointArn: String - /// A timestamp that shows when the endpoint was created. - public let creationTime: TimeStamp - /// The name of the endpoint. + /// The name of the endpoint that you want to delete. public let endpointName: String - /// The status of the endpoint. - public let endpointStatus: EndpointStatus - public init(lastModifiedTime: TimeStamp, endpointArn: String, creationTime: TimeStamp, endpointName: String, endpointStatus: EndpointStatus) { - self.lastModifiedTime = lastModifiedTime - self.endpointArn = endpointArn - self.creationTime = creationTime + public init(endpointName: String) { self.endpointName = endpointName - self.endpointStatus = endpointStatus } private enum CodingKeys: String, CodingKey { - case lastModifiedTime = "LastModifiedTime" - case endpointArn = "EndpointArn" - case creationTime = "CreationTime" case endpointName = "EndpointName" - case endpointStatus = "EndpointStatus" } } + public enum SecondaryStatus: String, CustomStringConvertible, Codable { + case starting = "Starting" + case launchingmlinstances = "LaunchingMLInstances" + case preparingtrainingstack = "PreparingTrainingStack" + case downloading = "Downloading" + case downloadingtrainingimage = "DownloadingTrainingImage" + case training = "Training" + case uploading = "Uploading" + case stopping = "Stopping" + case stopped = "Stopped" + case maxruntimeexceeded = "MaxRuntimeExceeded" + case completed = "Completed" + case failed = "Failed" + public var description: String { return self.rawValue } + } + public struct EndpointConfigSummary: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EndpointConfigName", required: true, type: .string), @@ -1785,6 +3620,48 @@ extension SageMaker { } } + public struct StopTransformJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TransformJobName", required: true, type: .string) + ] + /// The name of the transform job to stop. + public let transformJobName: String + + public init(transformJobName: String) { + self.transformJobName = transformJobName + } + + private enum CodingKeys: String, CodingKey { + case transformJobName = "TransformJobName" + } + } + + public struct ParameterRanges: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "IntegerParameterRanges", required: false, type: .list), + AWSShapeMember(label: "CategoricalParameterRanges", required: false, type: .list), + AWSShapeMember(label: "ContinuousParameterRanges", required: false, type: .list) + ] + /// The array of IntegerParameterRange objects that specify ranges of integer hyperparameters that a hyperparameter tuning job searches. + public let integerParameterRanges: [IntegerParameterRange]? + /// The array of CategoricalParameterRange objects that specify ranges of categorical hyperparameters that a hyperparameter tuning job searches. + public let categoricalParameterRanges: [CategoricalParameterRange]? + /// The array of ContinuousParameterRange objects that specify ranges of continuous hyperparameters that a hyperparameter tuning job searches. + public let continuousParameterRanges: [ContinuousParameterRange]? + + public init(integerParameterRanges: [IntegerParameterRange]? = nil, categoricalParameterRanges: [CategoricalParameterRange]? = nil, continuousParameterRanges: [ContinuousParameterRange]? = nil) { + self.integerParameterRanges = integerParameterRanges + self.categoricalParameterRanges = categoricalParameterRanges + self.continuousParameterRanges = continuousParameterRanges + } + + private enum CodingKeys: String, CodingKey { + case integerParameterRanges = "IntegerParameterRanges" + case categoricalParameterRanges = "CategoricalParameterRanges" + case continuousParameterRanges = "ContinuousParameterRanges" + } + } + public struct ListEndpointConfigsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -1806,50 +3683,49 @@ extension SageMaker { } } - public enum NotebookInstanceStatus: String, CustomStringConvertible, Codable { - case pending = "Pending" - case inservice = "InService" - case stopping = "Stopping" - case stopped = "Stopped" - case failed = "Failed" - case deleting = "Deleting" - public var description: String { return self.rawValue } - } - - public enum SortBy: String, CustomStringConvertible, Codable { - case name = "Name" - case creationtime = "CreationTime" - case status = "Status" - public var description: String { return self.rawValue } - } - - public struct AlgorithmSpecification: AWSShape { + public struct SecondaryStatusTransition: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TrainingInputMode", required: true, type: .enum), - AWSShapeMember(label: "TrainingImage", required: true, type: .string) + AWSShapeMember(label: "StartTime", required: true, type: .timestamp), + AWSShapeMember(label: "Status", required: true, type: .enum), + AWSShapeMember(label: "EndTime", required: false, type: .timestamp), + AWSShapeMember(label: "StatusMessage", required: false, type: .string) ] - /// 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 accomodate 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. - public let trainingInputMode: TrainingInputMode - /// The registry path of the Docker image that contains the training algorithm. For information about using your own algorithms, see Docker Registry Paths for Algorithms Provided by Amazon SageMaker . - public let trainingImage: String + /// A timestamp that shows when the training job has entered this secondary status. + public let startTime: TimeStamp + /// Provides granular information about the system state. For more information, see SecondaryStatus under the DescribeTrainingJob response elements. + public let status: SecondaryStatus + /// 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. + public let endTime: TimeStamp? + /// 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". + public let statusMessage: String? - public init(trainingInputMode: TrainingInputMode, trainingImage: String) { - self.trainingInputMode = trainingInputMode - self.trainingImage = trainingImage + public init(startTime: TimeStamp, status: SecondaryStatus, endTime: TimeStamp? = nil, statusMessage: String? = nil) { + self.startTime = startTime + self.status = status + self.endTime = endTime + self.statusMessage = statusMessage } private enum CodingKeys: String, CodingKey { - case trainingInputMode = "TrainingInputMode" - case trainingImage = "TrainingImage" + case startTime = "StartTime" + case status = "Status" + case endTime = "EndTime" + case statusMessage = "StatusMessage" } } + public enum CompressionType: String, CustomStringConvertible, Codable { + case none = "None" + case gzip = "Gzip" + public var description: String { return self.rawValue } + } + public struct AddTagsInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ResourceArn", required: true, type: .string), AWSShapeMember(label: "Tags", required: true, type: .list) ] - /// The Amazon Resource Name (ARN) of the resource that you want to tag. + /// The Amazon Resource Name (ARN) of the resource that you want to tag. public let resourceArn: String /// 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. public let tags: [Tag] @@ -1865,143 +3741,86 @@ extension SageMaker { } } - public enum CompressionType: String, CustomStringConvertible, Codable { - case none = "None" - case gzip = "Gzip" - public var description: String { return self.rawValue } - } - - public enum NotebookInstanceSortOrder: String, CustomStringConvertible, Codable { - case ascending = "Ascending" - case descending = "Descending" - public var description: String { return self.rawValue } - } - - public enum TrainingJobStatus: String, CustomStringConvertible, Codable { - case inprogress = "InProgress" - case completed = "Completed" - case failed = "Failed" - case stopping = "Stopping" - case stopped = "Stopped" - public var description: String { return self.rawValue } - } - - public struct ListTagsOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Tags", required: false, type: .list) - ] - /// 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. - public let nextToken: String? - /// An array of Tag objects, each with a tag key and a value. - public let tags: [Tag]? - - public init(nextToken: String? = nil, tags: [Tag]? = nil) { - self.nextToken = nextToken - self.tags = tags - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case tags = "Tags" - } - } - - public struct CreateEndpointInput: AWSShape { + public struct TransformJobSummary: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointConfigName", required: true, type: .string), - AWSShapeMember(label: "EndpointName", required: true, type: .string), - AWSShapeMember(label: "Tags", required: false, type: .list) + AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), + AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), + AWSShapeMember(label: "TransformJobArn", required: true, type: .string), + AWSShapeMember(label: "FailureReason", required: false, type: .string), + AWSShapeMember(label: "TransformJobStatus", required: true, type: .enum), + AWSShapeMember(label: "TransformEndTime", required: false, type: .timestamp), + AWSShapeMember(label: "TransformJobName", required: true, type: .string) ] - /// The name of an endpoint configuration. For more information, see CreateEndpointConfig. - public let endpointConfigName: String - /// The name of the endpoint. The name must be unique within an AWS Region in your AWS account. - public let endpointName: String - /// An array of key-value pairs. For more information, see Using Cost Allocation Tagsin the AWS Billing and Cost Management User Guide. - public let tags: [Tag]? - - public init(endpointConfigName: String, endpointName: String, tags: [Tag]? = nil) { - self.endpointConfigName = endpointConfigName - self.endpointName = endpointName - self.tags = tags + /// Indicates when the transform job was last modified. + public let lastModifiedTime: TimeStamp? + /// A timestamp that shows when the transform Job was created. + public let creationTime: TimeStamp + /// The Amazon Resource Name (ARN) of the transform job. + public let transformJobArn: String + /// If the transform job failed, the reason it failed. + public let failureReason: String? + /// The status of the transform job. + public let transformJobStatus: TransformJobStatus + /// 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. + public let transformEndTime: TimeStamp? + /// The name of the transform job. + public let transformJobName: String + + public init(lastModifiedTime: TimeStamp? = nil, creationTime: TimeStamp, transformJobArn: String, failureReason: String? = nil, transformJobStatus: TransformJobStatus, transformEndTime: TimeStamp? = nil, transformJobName: String) { + self.lastModifiedTime = lastModifiedTime + self.creationTime = creationTime + self.transformJobArn = transformJobArn + self.failureReason = failureReason + self.transformJobStatus = transformJobStatus + self.transformEndTime = transformEndTime + self.transformJobName = transformJobName } private enum CodingKeys: String, CodingKey { - case endpointConfigName = "EndpointConfigName" - case endpointName = "EndpointName" - case tags = "Tags" + case lastModifiedTime = "LastModifiedTime" + case creationTime = "CreationTime" + case transformJobArn = "TransformJobArn" + case failureReason = "FailureReason" + case transformJobStatus = "TransformJobStatus" + case transformEndTime = "TransformEndTime" + case transformJobName = "TransformJobName" } } - public struct UpdateNotebookInstanceInput: AWSShape { + public struct ListTransformJobsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InstanceType", required: false, type: .enum), - AWSShapeMember(label: "RoleArn", required: false, type: .string), - AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "TransformJobSummaries", required: true, type: .list) ] - /// The Amazon ML compute instance type. - public let instanceType: InstanceType? - /// Amazon Resource Name (ARN) of the IAM role to associate with the instance. - public let roleArn: String? - /// The name of the notebook instance to update. - public let notebookInstanceName: String + /// If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of transform jobs, use it in the next request. + public let nextToken: String? + /// An array of TransformJobSummary objects. + public let transformJobSummaries: [TransformJobSummary] - public init(instanceType: InstanceType? = nil, roleArn: String? = nil, notebookInstanceName: String) { - self.instanceType = instanceType - self.roleArn = roleArn - self.notebookInstanceName = notebookInstanceName + public init(nextToken: String? = nil, transformJobSummaries: [TransformJobSummary]) { + self.nextToken = nextToken + self.transformJobSummaries = transformJobSummaries } private enum CodingKeys: String, CodingKey { - case instanceType = "InstanceType" - case roleArn = "RoleArn" - case notebookInstanceName = "NotebookInstanceName" + case nextToken = "NextToken" + case transformJobSummaries = "TransformJobSummaries" } } - public struct CreateNotebookInstanceInput: AWSShape { + public struct TransformDataSource: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SubnetId", required: false, type: .string), - AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string), - AWSShapeMember(label: "Tags", required: false, type: .list), - AWSShapeMember(label: "SecurityGroupIds", required: false, type: .list), - AWSShapeMember(label: "RoleArn", required: true, type: .string), - AWSShapeMember(label: "InstanceType", required: true, type: .enum), - AWSShapeMember(label: "KmsKeyId", required: false, type: .string) + AWSShapeMember(label: "S3DataSource", required: true, type: .structure) ] - /// The ID of the subnet in a VPC to which you would like to have a connectivity from your ML compute instance. - public let subnetId: String? - /// The name of the new notebook instance. - public let notebookInstanceName: String - /// A list of tags to associate with the notebook instance. You can add tags later by using the CreateTags API. - public let tags: [Tag]? - /// The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet. - public let securityGroupIds: [String]? - /// 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. - public let roleArn: String - /// The type of ML compute instance to launch for the notebook instance. - public let instanceType: InstanceType - /// 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. - public let kmsKeyId: String? + /// The S3 location of the data source that is associated with a channel. + public let s3DataSource: TransformS3DataSource - public init(subnetId: String? = nil, notebookInstanceName: String, tags: [Tag]? = nil, securityGroupIds: [String]? = nil, roleArn: String, instanceType: InstanceType, kmsKeyId: String? = nil) { - self.subnetId = subnetId - self.notebookInstanceName = notebookInstanceName - self.tags = tags - self.securityGroupIds = securityGroupIds - self.roleArn = roleArn - self.instanceType = instanceType - self.kmsKeyId = kmsKeyId + public init(s3DataSource: TransformS3DataSource) { + self.s3DataSource = s3DataSource } private enum CodingKeys: String, CodingKey { - case subnetId = "SubnetId" - case notebookInstanceName = "NotebookInstanceName" - case tags = "Tags" - case securityGroupIds = "SecurityGroupIds" - case roleArn = "RoleArn" - case instanceType = "InstanceType" - case kmsKeyId = "KmsKeyId" + case s3DataSource = "S3DataSource" } } @@ -2021,26 +3840,6 @@ extension SageMaker { } } - public struct StopNotebookInstanceInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NotebookInstanceName", required: true, type: .string) - ] - /// The name of the notebook instance to terminate. - public let notebookInstanceName: String - - public init(notebookInstanceName: String) { - self.notebookInstanceName = notebookInstanceName - } - - private enum CodingKeys: String, CodingKey { - case notebookInstanceName = "NotebookInstanceName" - } - } - - public struct UpdateNotebookInstanceOutput: AWSShape { - - } - public struct DeleteTagsOutput: AWSShape { } diff --git a/Sources/AWSSDKSwift/Services/acm-pca/AcmPca_API.swift b/Sources/AWSSDKSwift/Services/acm-pca/AcmPca_API.swift new file mode 100644 index 00000000000..406de375756 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/acm-pca/AcmPca_API.swift @@ -0,0 +1,114 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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. +*/ +public struct AcmPca { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + amzTarget: "ACMPrivateCA", + service: "acm-pca", + serviceProtocol: ServiceProtocol(type: .json, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2017-08-22", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [AcmPcaError.self] + ) + } + + /// 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. + public func updateCertificateAuthority(_ input: UpdateCertificateAuthorityRequest) throws { + _ = try client.send(operation: "UpdateCertificateAuthority", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func getCertificateAuthorityCsr(_ input: GetCertificateAuthorityCsrRequest) throws -> GetCertificateAuthorityCsrResponse { + return try client.send(operation: "GetCertificateAuthorityCsr", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func revokeCertificate(_ input: RevokeCertificateRequest) throws { + _ = try client.send(operation: "RevokeCertificate", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func describeCertificateAuthority(_ input: DescribeCertificateAuthorityRequest) throws -> DescribeCertificateAuthorityResponse { + return try client.send(operation: "DescribeCertificateAuthority", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func listTags(_ input: ListTagsRequest) throws -> ListTagsResponse { + return try client.send(operation: "ListTags", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func deleteCertificateAuthority(_ input: DeleteCertificateAuthorityRequest) throws { + _ = try client.send(operation: "DeleteCertificateAuthority", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func importCertificateAuthorityCertificate(_ input: ImportCertificateAuthorityCertificateRequest) throws { + _ = try client.send(operation: "ImportCertificateAuthorityCertificate", path: "/", httpMethod: "POST", input: input) + } + + /// Lists the private certificate authorities that you created by using the CreateCertificateAuthority operation. + public func listCertificateAuthorities(_ input: ListCertificateAuthoritiesRequest) throws -> ListCertificateAuthoritiesResponse { + return try client.send(operation: "ListCertificateAuthorities", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func describeCertificateAuthorityAuditReport(_ input: DescribeCertificateAuthorityAuditReportRequest) throws -> DescribeCertificateAuthorityAuditReportResponse { + return try client.send(operation: "DescribeCertificateAuthorityAuditReport", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func restoreCertificateAuthority(_ input: RestoreCertificateAuthorityRequest) throws { + _ = try client.send(operation: "RestoreCertificateAuthority", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func untagCertificateAuthority(_ input: UntagCertificateAuthorityRequest) throws { + _ = try client.send(operation: "UntagCertificateAuthority", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func getCertificateAuthorityCertificate(_ input: GetCertificateAuthorityCertificateRequest) throws -> GetCertificateAuthorityCertificateResponse { + return try client.send(operation: "GetCertificateAuthorityCertificate", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func createCertificateAuthorityAuditReport(_ input: CreateCertificateAuthorityAuditReportRequest) throws -> CreateCertificateAuthorityAuditReportResponse { + return try client.send(operation: "CreateCertificateAuthorityAuditReport", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func tagCertificateAuthority(_ input: TagCertificateAuthorityRequest) throws { + _ = try client.send(operation: "TagCertificateAuthority", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func createCertificateAuthority(_ input: CreateCertificateAuthorityRequest) throws -> CreateCertificateAuthorityResponse { + return try client.send(operation: "CreateCertificateAuthority", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func issueCertificate(_ input: IssueCertificateRequest) throws -> IssueCertificateResponse { + return try client.send(operation: "IssueCertificate", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func getCertificate(_ input: GetCertificateRequest) throws -> GetCertificateResponse { + return try client.send(operation: "GetCertificate", path: "/", httpMethod: "POST", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/acm-pca/AcmPca_Error.swift b/Sources/AWSSDKSwift/Services/acm-pca/AcmPca_Error.swift new file mode 100644 index 00000000000..e34e96bf3eb --- /dev/null +++ b/Sources/AWSSDKSwift/Services/acm-pca/AcmPca_Error.swift @@ -0,0 +1,68 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for AcmPca +public enum AcmPcaError: AWSErrorType { + case concurrentModificationException(message: String?) + case resourceNotFoundException(message: String?) + case invalidArgsException(message: String?) + case invalidArnException(message: String?) + case invalidStateException(message: String?) + case invalidPolicyException(message: String?) + case requestInProgressException(message: String?) + case requestFailedException(message: String?) + case requestAlreadyProcessedException(message: String?) + case malformedCertificateException(message: String?) + case certificateMismatchException(message: String?) + case invalidNextTokenException(message: String?) + case invalidTagException(message: String?) + case tooManyTagsException(message: String?) + case limitExceededException(message: String?) + case malformedCSRException(message: String?) +} + +extension AcmPcaError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "ConcurrentModificationException": + self = .concurrentModificationException(message: message) + case "ResourceNotFoundException": + self = .resourceNotFoundException(message: message) + case "InvalidArgsException": + self = .invalidArgsException(message: message) + case "InvalidArnException": + self = .invalidArnException(message: message) + case "InvalidStateException": + self = .invalidStateException(message: message) + case "InvalidPolicyException": + self = .invalidPolicyException(message: message) + case "RequestInProgressException": + self = .requestInProgressException(message: message) + case "RequestFailedException": + self = .requestFailedException(message: message) + case "RequestAlreadyProcessedException": + self = .requestAlreadyProcessedException(message: message) + case "MalformedCertificateException": + self = .malformedCertificateException(message: message) + case "CertificateMismatchException": + self = .certificateMismatchException(message: message) + case "InvalidNextTokenException": + self = .invalidNextTokenException(message: message) + case "InvalidTagException": + self = .invalidTagException(message: message) + case "TooManyTagsException": + self = .tooManyTagsException(message: message) + case "LimitExceededException": + self = .limitExceededException(message: message) + case "MalformedCSRException": + self = .malformedCSRException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/acm-pca/AcmPca_Shapes.swift b/Sources/AWSSDKSwift/Services/acm-pca/AcmPca_Shapes.swift new file mode 100644 index 00000000000..1f9df81cf44 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/acm-pca/AcmPca_Shapes.swift @@ -0,0 +1,937 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension AcmPca { + + public struct DescribeCertificateAuthorityAuditReportRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AuditReportId", required: true, type: .string), + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string) + ] + /// The report ID returned by calling the CreateCertificateAuthorityAuditReport operation. + public let auditReportId: String + /// 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 . + public let certificateAuthorityArn: String + + public init(auditReportId: String, certificateAuthorityArn: String) { + self.auditReportId = auditReportId + self.certificateAuthorityArn = certificateAuthorityArn + } + + private enum CodingKeys: String, CodingKey { + case auditReportId = "AuditReportId" + case certificateAuthorityArn = "CertificateAuthorityArn" + } + } + + public struct CreateCertificateAuthorityAuditReportRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string), + AWSShapeMember(label: "S3BucketName", required: true, type: .string), + AWSShapeMember(label: "AuditReportResponseFormat", required: true, type: .enum) + ] + /// 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 . + public let certificateAuthorityArn: String + /// Name of the S3 bucket that will contain the audit report. + public let s3BucketName: String + /// Format in which to create the report. This can be either JSON or CSV. + public let auditReportResponseFormat: AuditReportResponseFormat + + public init(certificateAuthorityArn: String, s3BucketName: String, auditReportResponseFormat: AuditReportResponseFormat) { + self.certificateAuthorityArn = certificateAuthorityArn + self.s3BucketName = s3BucketName + self.auditReportResponseFormat = auditReportResponseFormat + } + + private enum CodingKeys: String, CodingKey { + case certificateAuthorityArn = "CertificateAuthorityArn" + case s3BucketName = "S3BucketName" + case auditReportResponseFormat = "AuditReportResponseFormat" + } + } + + public enum ValidityPeriodType: String, CustomStringConvertible, Codable { + case endDate = "END_DATE" + case absolute = "ABSOLUTE" + case days = "DAYS" + case months = "MONTHS" + case years = "YEARS" + public var description: String { return self.rawValue } + } + + public struct ASN1Subject: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DistinguishedNameQualifier", required: false, type: .string), + AWSShapeMember(label: "Country", required: false, type: .string), + AWSShapeMember(label: "Locality", required: false, type: .string), + AWSShapeMember(label: "CommonName", required: false, type: .string), + AWSShapeMember(label: "State", required: false, type: .string), + AWSShapeMember(label: "Organization", required: false, type: .string), + AWSShapeMember(label: "Pseudonym", required: false, type: .string), + AWSShapeMember(label: "Title", required: false, type: .string), + AWSShapeMember(label: "GenerationQualifier", required: false, type: .string), + AWSShapeMember(label: "SerialNumber", required: false, type: .string), + AWSShapeMember(label: "OrganizationalUnit", required: false, type: .string), + AWSShapeMember(label: "GivenName", required: false, type: .string), + AWSShapeMember(label: "Surname", required: false, type: .string), + AWSShapeMember(label: "Initials", required: false, type: .string) + ] + /// Disambiguating information for the certificate subject. + public let distinguishedNameQualifier: String? + /// Two-digit code that specifies the country in which the certificate subject located. + public let country: String? + /// The locality (such as a city or town) in which the certificate subject is located. + public let locality: String? + /// Fully qualified domain name (FQDN) associated with the certificate subject. + public let commonName: String? + /// State in which the subject of the certificate is located. + public let state: String? + /// Legal name of the organization with which the certificate subject is affiliated. + public let organization: String? + /// 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. + public let pseudonym: String? + /// A title such as Mr. or Ms., which is pre-pended to the name to refer formally to the certificate subject. + public let title: String? + /// Typically a qualifier appended to the name of an individual. Examples include Jr. for junior, Sr. for senior, and III for third. + public let generationQualifier: String? + /// The certificate serial number. + public let serialNumber: String? + /// A subdivision or unit of the organization (such as sales or finance) with which the certificate subject is affiliated. + public let organizationalUnit: String? + /// First name. + public let givenName: String? + /// 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. + public let surname: String? + /// 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. + public let initials: String? + + public init(distinguishedNameQualifier: String? = nil, country: String? = nil, locality: String? = nil, commonName: String? = nil, state: String? = nil, organization: String? = nil, pseudonym: String? = nil, title: String? = nil, generationQualifier: String? = nil, serialNumber: String? = nil, organizationalUnit: String? = nil, givenName: String? = nil, surname: String? = nil, initials: String? = nil) { + self.distinguishedNameQualifier = distinguishedNameQualifier + self.country = country + self.locality = locality + self.commonName = commonName + self.state = state + self.organization = organization + self.pseudonym = pseudonym + self.title = title + self.generationQualifier = generationQualifier + self.serialNumber = serialNumber + self.organizationalUnit = organizationalUnit + self.givenName = givenName + self.surname = surname + self.initials = initials + } + + private enum CodingKeys: String, CodingKey { + case distinguishedNameQualifier = "DistinguishedNameQualifier" + case country = "Country" + case locality = "Locality" + case commonName = "CommonName" + case state = "State" + case organization = "Organization" + case pseudonym = "Pseudonym" + case title = "Title" + case generationQualifier = "GenerationQualifier" + case serialNumber = "SerialNumber" + case organizationalUnit = "OrganizationalUnit" + case givenName = "GivenName" + case surname = "Surname" + case initials = "Initials" + } + } + + public struct CertificateAuthorityConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "KeyAlgorithm", required: true, type: .enum), + AWSShapeMember(label: "Subject", required: true, type: .structure), + AWSShapeMember(label: "SigningAlgorithm", required: true, type: .enum) + ] + /// Type of the public key algorithm and size, in bits, of the key pair that your key pair creates when it issues a certificate. + public let keyAlgorithm: KeyAlgorithm + /// Structure that contains X.500 distinguished name information for your private CA. + public let subject: ASN1Subject + /// Name of the algorithm your private CA uses to sign certificate requests. + public let signingAlgorithm: SigningAlgorithm + + public init(keyAlgorithm: KeyAlgorithm, subject: ASN1Subject, signingAlgorithm: SigningAlgorithm) { + self.keyAlgorithm = keyAlgorithm + self.subject = subject + self.signingAlgorithm = signingAlgorithm + } + + private enum CodingKeys: String, CodingKey { + case keyAlgorithm = "KeyAlgorithm" + case subject = "Subject" + case signingAlgorithm = "SigningAlgorithm" + } + } + + public struct DescribeCertificateAuthorityRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string) + ] + /// 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 . + public let certificateAuthorityArn: String + + public init(certificateAuthorityArn: String) { + self.certificateAuthorityArn = certificateAuthorityArn + } + + private enum CodingKeys: String, CodingKey { + case certificateAuthorityArn = "CertificateAuthorityArn" + } + } + + public struct CrlConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExpirationInDays", required: false, type: .integer), + AWSShapeMember(label: "CustomCname", required: false, type: .string), + AWSShapeMember(label: "S3BucketName", required: false, type: .string), + AWSShapeMember(label: "Enabled", required: true, type: .boolean) + ] + /// Number of days until a certificate expires. + public let expirationInDays: Int32? + /// 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. + public let customCname: String? + /// 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. + public let s3BucketName: String? + /// 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. + public let enabled: Bool + + public init(expirationInDays: Int32? = nil, customCname: String? = nil, s3BucketName: String? = nil, enabled: Bool) { + self.expirationInDays = expirationInDays + self.customCname = customCname + self.s3BucketName = s3BucketName + self.enabled = enabled + } + + private enum CodingKeys: String, CodingKey { + case expirationInDays = "ExpirationInDays" + case customCname = "CustomCname" + case s3BucketName = "S3BucketName" + case enabled = "Enabled" + } + } + + public struct ListTagsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .list) + ] + /// When the list is truncated, this value is present and should be used for the NextToken parameter in a subsequent pagination request. + public let nextToken: String? + /// The tags associated with your private CA. + public let tags: [Tag]? + + public init(nextToken: String? = nil, tags: [Tag]? = nil) { + self.nextToken = nextToken + self.tags = tags + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case tags = "Tags" + } + } + + public struct IssueCertificateResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CertificateArn", required: false, type: .string) + ] + /// 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 + public let certificateArn: String? + + public init(certificateArn: String? = nil) { + self.certificateArn = certificateArn + } + + private enum CodingKeys: String, CodingKey { + case certificateArn = "CertificateArn" + } + } + + public struct CreateCertificateAuthorityResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CertificateAuthorityArn", required: false, type: .string) + ] + /// 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 . + public let certificateAuthorityArn: String? + + public init(certificateAuthorityArn: String? = nil) { + self.certificateAuthorityArn = certificateAuthorityArn + } + + private enum CodingKeys: String, CodingKey { + case certificateAuthorityArn = "CertificateAuthorityArn" + } + } + + public struct RevocationConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CrlConfiguration", required: false, type: .structure) + ] + /// Configuration of the certificate revocation list (CRL), if any, maintained by your private CA. + public let crlConfiguration: CrlConfiguration? + + public init(crlConfiguration: CrlConfiguration? = nil) { + self.crlConfiguration = crlConfiguration + } + + private enum CodingKeys: String, CodingKey { + case crlConfiguration = "CrlConfiguration" + } + } + + public struct CreateCertificateAuthorityRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RevocationConfiguration", required: false, type: .structure), + AWSShapeMember(label: "IdempotencyToken", required: false, type: .string), + AWSShapeMember(label: "CertificateAuthorityType", required: true, type: .enum), + AWSShapeMember(label: "CertificateAuthorityConfiguration", required: true, type: .structure) + ] + /// 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. + public let revocationConfiguration: RevocationConfiguration? + /// 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. + public let idempotencyToken: String? + /// The type of the certificate authority. Currently, this must be SUBORDINATE. + public let certificateAuthorityType: CertificateAuthorityType + /// Name and bit size of the private key algorithm, the name of the signing algorithm, and X.500 certificate subject information. + public let certificateAuthorityConfiguration: CertificateAuthorityConfiguration + + public init(revocationConfiguration: RevocationConfiguration? = nil, idempotencyToken: String? = nil, certificateAuthorityType: CertificateAuthorityType, certificateAuthorityConfiguration: CertificateAuthorityConfiguration) { + self.revocationConfiguration = revocationConfiguration + self.idempotencyToken = idempotencyToken + self.certificateAuthorityType = certificateAuthorityType + self.certificateAuthorityConfiguration = certificateAuthorityConfiguration + } + + private enum CodingKeys: String, CodingKey { + case revocationConfiguration = "RevocationConfiguration" + case idempotencyToken = "IdempotencyToken" + case certificateAuthorityType = "CertificateAuthorityType" + case certificateAuthorityConfiguration = "CertificateAuthorityConfiguration" + } + } + + public struct CertificateAuthority: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "CreatedAt", required: false, type: .timestamp), + AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "LastStateChangeAt", required: false, type: .timestamp), + AWSShapeMember(label: "NotBefore", required: false, type: .timestamp), + AWSShapeMember(label: "RestorableUntil", required: false, type: .timestamp), + AWSShapeMember(label: "Serial", required: false, type: .string), + AWSShapeMember(label: "RevocationConfiguration", required: false, type: .structure), + AWSShapeMember(label: "NotAfter", required: false, type: .timestamp), + AWSShapeMember(label: "FailureReason", required: false, type: .enum), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "CertificateAuthorityConfiguration", required: false, type: .structure) + ] + /// Status of your private CA. + public let status: CertificateAuthorityStatus? + /// Date and time at which your private CA was created. + public let createdAt: TimeStamp? + /// Amazon Resource Name (ARN) for your private certificate authority (CA). The format is 12345678-1234-1234-1234-123456789012 . + public let arn: String? + /// Date and time at which your private CA was last updated. + public let lastStateChangeAt: TimeStamp? + /// Date and time before which your private CA certificate is not valid. + public let notBefore: TimeStamp? + /// The period during which a deleted CA can be restored. For more information, see the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthorityRequest operation. + public let restorableUntil: TimeStamp? + /// Serial number of your private CA. + public let serial: String? + /// Information about the certificate revocation list (CRL) created and maintained by your private CA. + public let revocationConfiguration: RevocationConfiguration? + /// Date and time after which your private CA certificate is not valid. + public let notAfter: TimeStamp? + /// Reason the request to create your private CA failed. + public let failureReason: FailureReason? + /// Type of your private CA. + public let `type`: CertificateAuthorityType? + /// Your private CA configuration. + public let certificateAuthorityConfiguration: CertificateAuthorityConfiguration? + + public init(status: CertificateAuthorityStatus? = nil, createdAt: TimeStamp? = nil, arn: String? = nil, lastStateChangeAt: TimeStamp? = nil, notBefore: TimeStamp? = nil, restorableUntil: TimeStamp? = nil, serial: String? = nil, revocationConfiguration: RevocationConfiguration? = nil, notAfter: TimeStamp? = nil, failureReason: FailureReason? = nil, type: CertificateAuthorityType? = nil, certificateAuthorityConfiguration: CertificateAuthorityConfiguration? = nil) { + self.status = status + self.createdAt = createdAt + self.arn = arn + self.lastStateChangeAt = lastStateChangeAt + self.notBefore = notBefore + self.restorableUntil = restorableUntil + self.serial = serial + self.revocationConfiguration = revocationConfiguration + self.notAfter = notAfter + self.failureReason = failureReason + self.`type` = `type` + self.certificateAuthorityConfiguration = certificateAuthorityConfiguration + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case createdAt = "CreatedAt" + case arn = "Arn" + case lastStateChangeAt = "LastStateChangeAt" + case notBefore = "NotBefore" + case restorableUntil = "RestorableUntil" + case serial = "Serial" + case revocationConfiguration = "RevocationConfiguration" + case notAfter = "NotAfter" + case failureReason = "FailureReason" + case `type` = "Type" + case certificateAuthorityConfiguration = "CertificateAuthorityConfiguration" + } + } + + public struct GetCertificateAuthorityCertificateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string) + ] + /// 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 . + public let certificateAuthorityArn: String + + public init(certificateAuthorityArn: String) { + self.certificateAuthorityArn = certificateAuthorityArn + } + + private enum CodingKeys: String, CodingKey { + case certificateAuthorityArn = "CertificateAuthorityArn" + } + } + + public struct DeleteCertificateAuthorityRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PermanentDeletionTimeInDays", required: false, type: .integer), + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string) + ] + /// 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. + public let permanentDeletionTimeInDays: Int32? + /// 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 . + public let certificateAuthorityArn: String + + public init(permanentDeletionTimeInDays: Int32? = nil, certificateAuthorityArn: String) { + self.permanentDeletionTimeInDays = permanentDeletionTimeInDays + self.certificateAuthorityArn = certificateAuthorityArn + } + + private enum CodingKeys: String, CodingKey { + case permanentDeletionTimeInDays = "PermanentDeletionTimeInDays" + case certificateAuthorityArn = "CertificateAuthorityArn" + } + } + + public struct TagCertificateAuthorityRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Tags", required: true, type: .list), + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string) + ] + /// List of tags to be associated with the CA. + public let tags: [Tag] + /// 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 + public let certificateAuthorityArn: String + + public init(tags: [Tag], certificateAuthorityArn: String) { + self.tags = tags + self.certificateAuthorityArn = certificateAuthorityArn + } + + private enum CodingKeys: String, CodingKey { + case tags = "Tags" + case certificateAuthorityArn = "CertificateAuthorityArn" + } + } + + public enum AuditReportResponseFormat: String, CustomStringConvertible, Codable { + case json = "JSON" + case csv = "CSV" + public var description: String { return self.rawValue } + } + + public struct GetCertificateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string), + AWSShapeMember(label: "CertificateArn", required: true, type: .string) + ] + /// 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 . + public let certificateAuthorityArn: String + /// 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 + public let certificateArn: String + + public init(certificateAuthorityArn: String, certificateArn: String) { + self.certificateAuthorityArn = certificateAuthorityArn + self.certificateArn = certificateArn + } + + private enum CodingKeys: String, CodingKey { + case certificateAuthorityArn = "CertificateAuthorityArn" + case certificateArn = "CertificateArn" + } + } + + public struct Tag: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: false, type: .string), + AWSShapeMember(label: "Key", required: true, type: .string) + ] + /// Value of the tag. + public let value: String? + /// Key (name) of the tag. + public let key: String + + public init(value: String? = nil, key: String) { + self.value = value + self.key = key + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case key = "Key" + } + } + + public struct IssueCertificateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SigningAlgorithm", required: true, type: .enum), + AWSShapeMember(label: "Validity", required: true, type: .structure), + AWSShapeMember(label: "Csr", required: true, type: .blob), + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string), + AWSShapeMember(label: "IdempotencyToken", required: false, type: .string) + ] + /// The name of the algorithm that will be used to sign the certificate to be issued. + public let signingAlgorithm: SigningAlgorithm + /// The type of the validity period. + public let validity: Validity + /// 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 + public let csr: Data + /// 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 + public let certificateAuthorityArn: String + /// 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. + public let idempotencyToken: String? + + public init(signingAlgorithm: SigningAlgorithm, validity: Validity, csr: Data, certificateAuthorityArn: String, idempotencyToken: String? = nil) { + self.signingAlgorithm = signingAlgorithm + self.validity = validity + self.csr = csr + self.certificateAuthorityArn = certificateAuthorityArn + self.idempotencyToken = idempotencyToken + } + + private enum CodingKeys: String, CodingKey { + case signingAlgorithm = "SigningAlgorithm" + case validity = "Validity" + case csr = "Csr" + case certificateAuthorityArn = "CertificateAuthorityArn" + case idempotencyToken = "IdempotencyToken" + } + } + + public struct GetCertificateResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Certificate", required: false, type: .string), + AWSShapeMember(label: "CertificateChain", required: false, type: .string) + ] + /// The base64 PEM-encoded certificate specified by the CertificateArn parameter. + public let certificate: String? + /// 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. + public let certificateChain: String? + + public init(certificate: String? = nil, certificateChain: String? = nil) { + self.certificate = certificate + self.certificateChain = certificateChain + } + + private enum CodingKeys: String, CodingKey { + case certificate = "Certificate" + case certificateChain = "CertificateChain" + } + } + + public enum RevocationReason: String, CustomStringConvertible, Codable { + case unspecified = "UNSPECIFIED" + case keyCompromise = "KEY_COMPROMISE" + case certificateAuthorityCompromise = "CERTIFICATE_AUTHORITY_COMPROMISE" + case affiliationChanged = "AFFILIATION_CHANGED" + case superseded = "SUPERSEDED" + case cessationOfOperation = "CESSATION_OF_OPERATION" + case privilegeWithdrawn = "PRIVILEGE_WITHDRAWN" + case aACompromise = "A_A_COMPROMISE" + public var description: String { return self.rawValue } + } + + public struct Validity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", required: true, type: .enum), + AWSShapeMember(label: "Value", required: true, type: .long) + ] + /// Specifies whether the Value parameter represents days, months, or years. + public let `type`: ValidityPeriodType + /// Time period. + public let value: Int64 + + public init(type: ValidityPeriodType, value: Int64) { + self.`type` = `type` + self.value = value + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + case value = "Value" + } + } + + public struct RestoreCertificateAuthorityRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string) + ] + /// 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 + public let certificateAuthorityArn: String + + public init(certificateAuthorityArn: String) { + self.certificateAuthorityArn = certificateAuthorityArn + } + + private enum CodingKeys: String, CodingKey { + case certificateAuthorityArn = "CertificateAuthorityArn" + } + } + + public struct DescribeCertificateAuthorityAuditReportResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CreatedAt", required: false, type: .timestamp), + AWSShapeMember(label: "S3BucketName", required: false, type: .string), + AWSShapeMember(label: "AuditReportStatus", required: false, type: .enum), + AWSShapeMember(label: "S3Key", required: false, type: .string) + ] + /// The date and time at which the report was created. + public let createdAt: TimeStamp? + /// Name of the S3 bucket that contains the report. + public let s3BucketName: String? + /// Specifies whether report creation is in progress, has succeeded, or has failed. + public let auditReportStatus: AuditReportStatus? + /// S3 key that uniquely identifies the report file in your S3 bucket. + public let s3Key: String? + + public init(createdAt: TimeStamp? = nil, s3BucketName: String? = nil, auditReportStatus: AuditReportStatus? = nil, s3Key: String? = nil) { + self.createdAt = createdAt + self.s3BucketName = s3BucketName + self.auditReportStatus = auditReportStatus + self.s3Key = s3Key + } + + private enum CodingKeys: String, CodingKey { + case createdAt = "CreatedAt" + case s3BucketName = "S3BucketName" + case auditReportStatus = "AuditReportStatus" + case s3Key = "S3Key" + } + } + + public struct GetCertificateAuthorityCsrRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string) + ] + /// 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 + public let certificateAuthorityArn: String + + public init(certificateAuthorityArn: String) { + self.certificateAuthorityArn = certificateAuthorityArn + } + + private enum CodingKeys: String, CodingKey { + case certificateAuthorityArn = "CertificateAuthorityArn" + } + } + + public struct GetCertificateAuthorityCsrResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Csr", required: false, type: .string) + ] + /// The base64 PEM-encoded certificate signing request (CSR) for your private CA certificate. + public let csr: String? + + public init(csr: String? = nil) { + self.csr = csr + } + + private enum CodingKeys: String, CodingKey { + case csr = "Csr" + } + } + + public struct DescribeCertificateAuthorityResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CertificateAuthority", required: false, type: .structure) + ] + /// A CertificateAuthority structure that contains information about your private CA. + public let certificateAuthority: CertificateAuthority? + + public init(certificateAuthority: CertificateAuthority? = nil) { + self.certificateAuthority = certificateAuthority + } + + private enum CodingKeys: String, CodingKey { + case certificateAuthority = "CertificateAuthority" + } + } + + public enum KeyAlgorithm: String, CustomStringConvertible, Codable { + case rsa2048 = "RSA_2048" + case rsa4096 = "RSA_4096" + case ecPrime256V1 = "EC_prime256v1" + case ecSecp384R1 = "EC_secp384r1" + public var description: String { return self.rawValue } + } + + public struct ImportCertificateAuthorityCertificateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Certificate", required: true, type: .blob), + AWSShapeMember(label: "CertificateChain", required: true, type: .blob), + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string) + ] + /// The PEM-encoded certificate for your private CA. This must be signed by using your on-premises CA. + public let certificate: Data + /// 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. + public let certificateChain: Data + /// 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 + public let certificateAuthorityArn: String + + public init(certificate: Data, certificateChain: Data, certificateAuthorityArn: String) { + self.certificate = certificate + self.certificateChain = certificateChain + self.certificateAuthorityArn = certificateAuthorityArn + } + + private enum CodingKeys: String, CodingKey { + case certificate = "Certificate" + case certificateChain = "CertificateChain" + case certificateAuthorityArn = "CertificateAuthorityArn" + } + } + + public enum AuditReportStatus: String, CustomStringConvertible, Codable { + case creating = "CREATING" + case success = "SUCCESS" + case failed = "FAILED" + public var description: String { return self.rawValue } + } + + public struct UntagCertificateAuthorityRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Tags", required: true, type: .list), + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string) + ] + /// List of tags to be removed from the CA. + public let tags: [Tag] + /// 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 + public let certificateAuthorityArn: String + + public init(tags: [Tag], certificateAuthorityArn: String) { + self.tags = tags + self.certificateAuthorityArn = certificateAuthorityArn + } + + private enum CodingKeys: String, CodingKey { + case tags = "Tags" + case certificateAuthorityArn = "CertificateAuthorityArn" + } + } + + public struct UpdateCertificateAuthorityRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RevocationConfiguration", required: false, type: .structure), + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string) + ] + /// Revocation information for your private CA. + public let revocationConfiguration: RevocationConfiguration? + /// Status of your private CA. + public let status: CertificateAuthorityStatus? + /// 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 + public let certificateAuthorityArn: String + + public init(revocationConfiguration: RevocationConfiguration? = nil, status: CertificateAuthorityStatus? = nil, certificateAuthorityArn: String) { + self.revocationConfiguration = revocationConfiguration + self.status = status + self.certificateAuthorityArn = certificateAuthorityArn + } + + private enum CodingKeys: String, CodingKey { + case revocationConfiguration = "RevocationConfiguration" + case status = "Status" + case certificateAuthorityArn = "CertificateAuthorityArn" + } + } + + public struct ListCertificateAuthoritiesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "CertificateAuthorities", required: false, type: .list) + ] + /// When the list is truncated, this value is present and should be used for the NextToken parameter in a subsequent pagination request. + public let nextToken: String? + /// Summary information about each certificate authority you have created. + public let certificateAuthorities: [CertificateAuthority]? + + public init(nextToken: String? = nil, certificateAuthorities: [CertificateAuthority]? = nil) { + self.nextToken = nextToken + self.certificateAuthorities = certificateAuthorities + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case certificateAuthorities = "CertificateAuthorities" + } + } + + public struct ListCertificateAuthoritiesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public enum CertificateAuthorityType: String, CustomStringConvertible, Codable { + case subordinate = "SUBORDINATE" + public var description: String { return self.rawValue } + } + + public struct CreateCertificateAuthorityAuditReportResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AuditReportId", required: false, type: .string), + AWSShapeMember(label: "S3Key", required: false, type: .string) + ] + /// An alphanumeric string that contains a report identifier. + public let auditReportId: String? + /// The key that uniquely identifies the report file in your S3 bucket. + public let s3Key: String? + + public init(auditReportId: String? = nil, s3Key: String? = nil) { + self.auditReportId = auditReportId + self.s3Key = s3Key + } + + private enum CodingKeys: String, CodingKey { + case auditReportId = "AuditReportId" + case s3Key = "S3Key" + } + } + + public struct ListTagsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let nextToken: String? + /// 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 + public let certificateAuthorityArn: String + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, certificateAuthorityArn: String, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.certificateAuthorityArn = certificateAuthorityArn + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case certificateAuthorityArn = "CertificateAuthorityArn" + case maxResults = "MaxResults" + } + } + + public enum CertificateAuthorityStatus: String, CustomStringConvertible, Codable { + case creating = "CREATING" + case pendingCertificate = "PENDING_CERTIFICATE" + case active = "ACTIVE" + case deleted = "DELETED" + case disabled = "DISABLED" + case expired = "EXPIRED" + case failed = "FAILED" + public var description: String { return self.rawValue } + } + + public struct RevokeCertificateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CertificateSerial", required: true, type: .string), + AWSShapeMember(label: "RevocationReason", required: true, type: .enum), + AWSShapeMember(label: "CertificateAuthorityArn", required: true, type: .string) + ] + /// 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. + public let certificateSerial: String + /// Specifies why you revoked the certificate. + public let revocationReason: RevocationReason + /// 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 + public let certificateAuthorityArn: String + + public init(certificateSerial: String, revocationReason: RevocationReason, certificateAuthorityArn: String) { + self.certificateSerial = certificateSerial + self.revocationReason = revocationReason + self.certificateAuthorityArn = certificateAuthorityArn + } + + private enum CodingKeys: String, CodingKey { + case certificateSerial = "CertificateSerial" + case revocationReason = "RevocationReason" + case certificateAuthorityArn = "CertificateAuthorityArn" + } + } + + public enum SigningAlgorithm: String, CustomStringConvertible, Codable { + case sha256withecdsa = "SHA256WITHECDSA" + case sha384withecdsa = "SHA384WITHECDSA" + case sha512withecdsa = "SHA512WITHECDSA" + case sha256withrsa = "SHA256WITHRSA" + case sha384withrsa = "SHA384WITHRSA" + case sha512withrsa = "SHA512WITHRSA" + public var description: String { return self.rawValue } + } + + public struct GetCertificateAuthorityCertificateResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Certificate", required: false, type: .string), + AWSShapeMember(label: "CertificateChain", required: false, type: .string) + ] + /// Base64-encoded certificate authority (CA) certificate. + public let certificate: String? + /// 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. + public let certificateChain: String? + + public init(certificate: String? = nil, certificateChain: String? = nil) { + self.certificate = certificate + self.certificateChain = certificateChain + } + + private enum CodingKeys: String, CodingKey { + case certificate = "Certificate" + case certificateChain = "CertificateChain" + } + } + + public enum FailureReason: String, CustomStringConvertible, Codable { + case requestTimedOut = "REQUEST_TIMED_OUT" + case unsupportedAlgorithm = "UNSUPPORTED_ALGORITHM" + case other = "OTHER" + public var description: String { return self.rawValue } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/acm/Acm_API.swift b/Sources/AWSSDKSwift/Services/acm/Acm_API.swift index a3a6f4e5793..e5d82339cc1 100644 --- a/Sources/AWSSDKSwift/Services/acm/Acm_API.swift +++ b/Sources/AWSSDKSwift/Services/acm/Acm_API.swift @@ -25,52 +25,62 @@ public struct Acm { ) } - /// 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. + /// 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. public func removeTagsFromCertificate(_ input: RemoveTagsFromCertificateRequest) throws { _ = try client.send(operation: "RemoveTagsFromCertificate", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func deleteCertificate(_ input: DeleteCertificateRequest) throws { _ = try client.send(operation: "DeleteCertificate", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func listTagsForCertificate(_ input: ListTagsForCertificateRequest) throws -> ListTagsForCertificateResponse { - return try client.send(operation: "ListTagsForCertificate", path: "/", httpMethod: "POST", input: input) + /// 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 + public func exportCertificate(_ input: ExportCertificateRequest) throws -> ExportCertificateResponse { + return try client.send(operation: "ExportCertificate", path: "/", httpMethod: "POST", input: input) } - /// Retrieves a certificate specified by an ARN and its certificate chain . The chain is an ordered list of certificates that contains the end entity ertificate, 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. + /// 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. public func getCertificate(_ input: GetCertificateRequest) throws -> GetCertificateResponse { return try client.send(operation: "GetCertificate", path: "/", httpMethod: "POST", input: input) } - /// Imports a certificate into AWS Certificate Manager (ACM) to use with services that are integrated with ACM. For more information, see Integrated Services. ACM does not provide managed renewal for certificates that you import. For more information about importing certificates into ACM, including the differences between certificates that you import and those that ACM provides, see Importing Certificates in the AWS Certificate Manager User Guide. In general, you can import almost any valid certificate. However, services integrated with ACM allow only certificate types they support to be associated with their resources. The following guidelines are also important: 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 must not exceed 1000 characters. To import a new certificate, omit the CertificateArn field. Include this field only when you want to replace a previously imported certificate. When you import a certificate by using the CLI or one of the SDKs, you must specify the certificate, certificate chain, and private key parameters as file names preceded by file://. For example, you can specify a certificate saved in the C:\temp folder as C:\temp\certificate_to_import.pem. If you are making an HTTP or HTTPS Query request, include these parameters as BLOBs. This operation returns the Amazon Resource Name (ARN) of the imported certificate. - public func importCertificate(_ input: ImportCertificateRequest) throws -> ImportCertificateResponse { - return try client.send(operation: "ImportCertificate", path: "/", httpMethod: "POST", input: input) + /// 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. + public func listTagsForCertificate(_ input: ListTagsForCertificateRequest) throws -> ListTagsForCertificateResponse { + return try client.send(operation: "ListTagsForCertificate", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func listCertificates(_ input: ListCertificatesRequest) throws -> ListCertificatesResponse { - return try client.send(operation: "ListCertificates", path: "/", httpMethod: "POST", input: input) + /// 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. + public func importCertificate(_ input: ImportCertificateRequest) throws -> ImportCertificateResponse { + return try client.send(operation: "ImportCertificate", path: "/", httpMethod: "POST", input: input) } - /// Requests an ACM Certificate for use with other AWS services. To request an ACM Certificate, you must specify the fully qualified domain name (FQDN) for your site in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter if users can reach your site by using other names. For each domain name you specify, email is sent to the domain owner to request approval to issue the certificate. Email is sent to three registered contact addresses in the WHOIS database and to five common system administration addresses formed from the DomainName you enter or the optional ValidationDomain parameter. For more information, see Validate Domain Ownership. After receiving approval from the domain owner, the ACM Certificate is issued. For more information, see the AWS Certificate Manager User Guide. + /// 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. public func requestCertificate(_ input: RequestCertificateRequest) throws -> RequestCertificateResponse { return try client.send(operation: "RequestCertificate", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. + public func updateCertificateOptions(_ input: UpdateCertificateOptionsRequest) throws { + _ = try client.send(operation: "UpdateCertificateOptions", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func addTagsToCertificate(_ input: AddTagsToCertificateRequest) throws { _ = try client.send(operation: "AddTagsToCertificate", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. + public func listCertificates(_ input: ListCertificatesRequest) throws -> ListCertificatesResponse { + return try client.send(operation: "ListCertificates", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func resendValidationEmail(_ input: ResendValidationEmailRequest) throws { _ = try client.send(operation: "ResendValidationEmail", path: "/", httpMethod: "POST", input: input) } - /// Returns detailed metadata about the specified ACM Certificate. + /// Returns detailed metadata about the specified ACM certificate. public func describeCertificate(_ input: DescribeCertificateRequest) throws -> DescribeCertificateResponse { return try client.send(operation: "DescribeCertificate", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/acm/Acm_Error.swift b/Sources/AWSSDKSwift/Services/acm/Acm_Error.swift index 6f1e78655b9..261ca29e29b 100644 --- a/Sources/AWSSDKSwift/Services/acm/Acm_Error.swift +++ b/Sources/AWSSDKSwift/Services/acm/Acm_Error.swift @@ -11,8 +11,8 @@ public enum AcmError: AWSErrorType { case requestInProgressException(message: String?) case limitExceededException(message: String?) case invalidDomainValidationOptionsException(message: String?) - case tooManyTagsException(message: String?) case invalidStateException(message: String?) + case tooManyTagsException(message: String?) } extension AcmError { @@ -36,10 +36,10 @@ extension AcmError { self = .limitExceededException(message: message) case "InvalidDomainValidationOptionsException": self = .invalidDomainValidationOptionsException(message: message) - case "TooManyTagsException": - self = .tooManyTagsException(message: message) case "InvalidStateException": self = .invalidStateException(message: message) + case "TooManyTagsException": + self = .tooManyTagsException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/acm/Acm_Shapes.swift b/Sources/AWSSDKSwift/Services/acm/Acm_Shapes.swift index 99d061bea05..75191a407e2 100644 --- a/Sources/AWSSDKSwift/Services/acm/Acm_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/acm/Acm_Shapes.swift @@ -8,6 +8,7 @@ extension Acm { public enum CertificateType: String, CustomStringConvertible, Codable { case imported = "IMPORTED" case amazonIssued = "AMAZON_ISSUED" + case `private` = "PRIVATE" public var description: String { return self.rawValue } } @@ -32,6 +33,49 @@ extension Acm { } } + public enum RenewalEligibility: String, CustomStringConvertible, Codable { + case eligible = "ELIGIBLE" + case ineligible = "INELIGIBLE" + public var description: String { return self.rawValue } + } + + public struct CertificateOptions: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CertificateTransparencyLoggingPreference", required: false, type: .enum) + ] + /// You can opt out of certificate transparency logging by specifying the DISABLED option. Opt in by specifying ENABLED. + public let certificateTransparencyLoggingPreference: CertificateTransparencyLoggingPreference? + + public init(certificateTransparencyLoggingPreference: CertificateTransparencyLoggingPreference? = nil) { + self.certificateTransparencyLoggingPreference = certificateTransparencyLoggingPreference + } + + private enum CodingKeys: String, CodingKey { + case certificateTransparencyLoggingPreference = "CertificateTransparencyLoggingPreference" + } + } + + public struct ExportCertificateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Passphrase", required: true, type: .blob), + AWSShapeMember(label: "CertificateArn", required: true, type: .string) + ] + /// 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 + public let passphrase: Data + /// 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 + public let certificateArn: String + + public init(passphrase: Data, certificateArn: String) { + self.passphrase = passphrase + self.certificateArn = certificateArn + } + + private enum CodingKeys: String, CodingKey { + case passphrase = "Passphrase" + case certificateArn = "CertificateArn" + } + } + public enum ExtendedKeyUsageName: String, CustomStringConvertible, Codable { case tlsWebServerAuthentication = "TLS_WEB_SERVER_AUTHENTICATION" case tlsWebClientAuthentication = "TLS_WEB_CLIENT_AUTHENTICATION" @@ -62,7 +106,7 @@ extension Acm { ] /// When the list is truncated, this value is present and contains the value to use for the NextToken parameter in a subsequent pagination request. public let nextToken: String? - /// A list of ACM Certificates. + /// A list of ACM certificates. public let certificateSummaryList: [CertificateSummary]? public init(nextToken: String? = nil, certificateSummaryList: [CertificateSummary]? = nil) { @@ -76,6 +120,32 @@ extension Acm { } } + public struct ExportCertificateResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Certificate", required: false, type: .string), + AWSShapeMember(label: "CertificateChain", required: false, type: .string), + AWSShapeMember(label: "PrivateKey", required: false, type: .string) + ] + /// The base64 PEM-encoded certificate. + public let certificate: String? + /// The base64 PEM-encoded certificate chain. This does not include the certificate that you are exporting. + public let certificateChain: String? + /// The PEM-encoded private key associated with the public key in the certificate. + public let privateKey: String? + + public init(certificate: String? = nil, certificateChain: String? = nil, privateKey: String? = nil) { + self.certificate = certificate + self.certificateChain = certificateChain + self.privateKey = privateKey + } + + private enum CodingKeys: String, CodingKey { + case certificate = "Certificate" + case certificateChain = "CertificateChain" + case privateKey = "PrivateKey" + } + } + public enum KeyUsageName: String, CustomStringConvertible, Codable { case digitalSignature = "DIGITAL_SIGNATURE" case nonRepudiation = "NON_REPUDIATION" @@ -306,7 +376,7 @@ extension Acm { ] /// The key-value pair that defines the tag. The tag value is optional. public let tags: [Tag] - /// 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. + /// 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. public let certificateArn: String public init(tags: [Tag], certificateArn: String) { @@ -325,7 +395,7 @@ extension Acm { AWSShapeMember(label: "Certificate", required: false, type: .string), AWSShapeMember(label: "CertificateChain", required: false, type: .string) ] - /// String that contains the ACM Certificate represented by the ARN specified at input. + /// String that contains the ACM certificate represented by the ARN specified at input. public let certificate: String? /// The certificate chain that contains the root certificate issued by the certificate authority (CA). public let certificateChain: String? @@ -474,7 +544,7 @@ extension Acm { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CertificateArn", required: true, type: .string) ] - /// 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. + /// 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. public let certificateArn: String public init(certificateArn: String) { @@ -507,7 +577,7 @@ extension Acm { public let certificateStatuses: [CertificateStatus]? /// 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. public let maxItems: Int32? - /// Filter the certificate list by one or more of the following values. For more information, see the Filters structure. extendedKeyUsage keyUsage keyTypes + /// Filter the certificate list. For more information, see the Filters structure. public let includes: Filters? /// 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. public let nextToken: String? @@ -543,39 +613,76 @@ extension Acm { } } + public enum CertificateTransparencyLoggingPreference: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" + public var description: String { return self.rawValue } + } + public struct RequestCertificateRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Options", required: false, type: .structure), + AWSShapeMember(label: "SubjectAlternativeNames", required: false, type: .list), AWSShapeMember(label: "DomainValidationOptions", required: false, type: .list), + AWSShapeMember(label: "CertificateAuthorityArn", required: false, type: .string), AWSShapeMember(label: "IdempotencyToken", required: false, type: .string), AWSShapeMember(label: "DomainName", required: true, type: .string), - AWSShapeMember(label: "ValidationMethod", required: false, type: .enum), - AWSShapeMember(label: "SubjectAlternativeNames", required: false, type: .list) + AWSShapeMember(label: "ValidationMethod", required: false, type: .enum) ] - /// The domain name that you want ACM to use to send you emails so taht your can validate domain ownership. + /// 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. + public let options: CertificateOptions? + /// 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. + public let subjectAlternativeNames: [String]? + /// The domain name that you want ACM to use to send you emails so that you can validate domain ownership. public let domainValidationOptions: [DomainValidationOption]? + /// 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 + public let certificateAuthorityArn: String? /// 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. public let idempotencyToken: String? - /// Fully qualified domain name (FQDN), such as www.example.com, of the site that you want to secure with an ACM Certificate. Use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, *.example.com protects www.example.com, site.example.com, and images.example.com. The 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. + /// 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. public let domainName: String - /// The method you want to use to validate your domain. + /// 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. public let validationMethod: ValidationMethod? - /// 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. - public let subjectAlternativeNames: [String]? - public init(domainValidationOptions: [DomainValidationOption]? = nil, idempotencyToken: String? = nil, domainName: String, validationMethod: ValidationMethod? = nil, subjectAlternativeNames: [String]? = nil) { + public init(options: CertificateOptions? = nil, subjectAlternativeNames: [String]? = nil, domainValidationOptions: [DomainValidationOption]? = nil, certificateAuthorityArn: String? = nil, idempotencyToken: String? = nil, domainName: String, validationMethod: ValidationMethod? = nil) { + self.options = options + self.subjectAlternativeNames = subjectAlternativeNames self.domainValidationOptions = domainValidationOptions + self.certificateAuthorityArn = certificateAuthorityArn self.idempotencyToken = idempotencyToken self.domainName = domainName self.validationMethod = validationMethod - self.subjectAlternativeNames = subjectAlternativeNames } private enum CodingKeys: String, CodingKey { + case options = "Options" + case subjectAlternativeNames = "SubjectAlternativeNames" case domainValidationOptions = "DomainValidationOptions" + case certificateAuthorityArn = "CertificateAuthorityArn" case idempotencyToken = "IdempotencyToken" case domainName = "DomainName" case validationMethod = "ValidationMethod" - case subjectAlternativeNames = "SubjectAlternativeNames" + } + } + + public struct UpdateCertificateOptionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Options", required: true, type: .structure), + AWSShapeMember(label: "CertificateArn", required: true, type: .string) + ] + /// 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. + public let options: CertificateOptions + /// 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 + public let certificateArn: String + + public init(options: CertificateOptions, certificateArn: String) { + self.options = options + self.certificateArn = certificateArn + } + + private enum CodingKeys: String, CodingKey { + case options = "Options" + case certificateArn = "CertificateArn" } } @@ -625,7 +732,7 @@ extension Acm { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CertificateArn", required: true, type: .string) ] - /// 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. + /// 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. public let certificateArn: String public init(certificateArn: String) { @@ -641,7 +748,7 @@ extension Acm { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CertificateArn", required: true, type: .string) ] - /// 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. + /// 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. public let certificateArn: String public init(certificateArn: String) { @@ -659,133 +766,154 @@ extension Acm { case domainNotAllowed = "DOMAIN_NOT_ALLOWED" case invalidPublicDomain = "INVALID_PUBLIC_DOMAIN" case caaError = "CAA_ERROR" + case pcaLimitExceeded = "PCA_LIMIT_EXCEEDED" + case pcaInvalidArn = "PCA_INVALID_ARN" + case pcaInvalidState = "PCA_INVALID_STATE" + case pcaRequestFailed = "PCA_REQUEST_FAILED" + case pcaResourceNotFound = "PCA_RESOURCE_NOT_FOUND" + case pcaInvalidArgs = "PCA_INVALID_ARGS" case other = "OTHER" public var description: String { return self.rawValue } } public struct CertificateDetail: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FailureReason", required: false, type: .enum), AWSShapeMember(label: "IssuedAt", required: false, type: .timestamp), - AWSShapeMember(label: "ExtendedKeyUsages", required: false, type: .list), - AWSShapeMember(label: "ImportedAt", required: false, type: .timestamp), AWSShapeMember(label: "RevokedAt", required: false, type: .timestamp), - AWSShapeMember(label: "KeyUsages", required: false, type: .list), AWSShapeMember(label: "RenewalSummary", required: false, type: .structure), + AWSShapeMember(label: "RenewalEligibility", required: false, type: .enum), + AWSShapeMember(label: "CertificateAuthorityArn", required: false, type: .string), AWSShapeMember(label: "SignatureAlgorithm", required: false, type: .string), - AWSShapeMember(label: "Serial", required: false, type: .string), AWSShapeMember(label: "RevocationReason", required: false, type: .enum), - AWSShapeMember(label: "NotAfter", required: false, type: .timestamp), AWSShapeMember(label: "Status", required: false, type: .enum), - AWSShapeMember(label: "CreatedAt", required: false, type: .timestamp), AWSShapeMember(label: "NotBefore", required: false, type: .timestamp), - AWSShapeMember(label: "SubjectAlternativeNames", required: false, type: .list), - AWSShapeMember(label: "DomainValidationOptions", required: false, type: .list), AWSShapeMember(label: "KeyAlgorithm", required: false, type: .enum), AWSShapeMember(label: "CertificateArn", required: false, type: .string), AWSShapeMember(label: "DomainName", required: false, type: .string), - AWSShapeMember(label: "Type", required: false, type: .enum), AWSShapeMember(label: "InUseBy", required: false, type: .list), - AWSShapeMember(label: "Issuer", required: false, type: .string), - AWSShapeMember(label: "Subject", required: false, type: .string) + AWSShapeMember(label: "Subject", required: false, type: .string), + AWSShapeMember(label: "Options", required: false, type: .structure), + AWSShapeMember(label: "ExtendedKeyUsages", required: false, type: .list), + AWSShapeMember(label: "ImportedAt", required: false, type: .timestamp), + AWSShapeMember(label: "KeyUsages", required: false, type: .list), + AWSShapeMember(label: "Serial", required: false, type: .string), + AWSShapeMember(label: "NotAfter", required: false, type: .timestamp), + AWSShapeMember(label: "CreatedAt", required: false, type: .timestamp), + AWSShapeMember(label: "SubjectAlternativeNames", required: false, type: .list), + AWSShapeMember(label: "DomainValidationOptions", required: false, type: .list), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "FailureReason", required: false, type: .enum), + AWSShapeMember(label: "Issuer", required: false, type: .string) ] - /// 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. - public let failureReason: FailureReason? /// The time at which the certificate was issued. This value exists only when the certificate type is AMAZON_ISSUED. public let issuedAt: TimeStamp? - /// 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). - public let extendedKeyUsages: [ExtendedKeyUsage]? - /// The date and time at which the certificate was imported. This value exists only when the certificate type is IMPORTED. - public let importedAt: TimeStamp? /// The time at which the certificate was revoked. This value exists only when the certificate status is REVOKED. public let revokedAt: TimeStamp? - /// 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. - public let keyUsages: [KeyUsage]? /// Contains information about the status of ACM's managed renewal for the certificate. This field exists only when the certificate type is AMAZON_ISSUED. public let renewalSummary: RenewalSummary? + /// Specifies whether the certificate is eligible for renewal. + public let renewalEligibility: RenewalEligibility? + /// 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 + public let certificateAuthorityArn: String? /// The algorithm that was used to sign the certificate. public let signatureAlgorithm: String? - /// The serial number of the certificate. - public let serial: String? /// The reason the certificate was revoked. This value exists only when the certificate status is REVOKED. public let revocationReason: RevocationReason? - /// The time after which the certificate is not valid. - public let notAfter: TimeStamp? /// The status of the certificate. public let status: CertificateStatus? - /// The time at which the certificate was requested. This value exists only when the certificate type is AMAZON_ISSUED. - public let createdAt: TimeStamp? /// The time before which the certificate is not valid. public let notBefore: TimeStamp? - /// 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. - public let subjectAlternativeNames: [String]? - /// 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. - public let domainValidationOptions: [DomainValidation]? /// The algorithm that was used to generate the public-private key pair. public let keyAlgorithm: KeyAlgorithm? /// 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. public let certificateArn: String? /// The fully qualified domain name for the certificate, such as www.example.com or example.com. public let domainName: String? - /// 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. - public let `type`: CertificateType? /// A list of ARNs for the AWS resources that are using the certificate. A certificate can be used by multiple AWS resources. public let inUseBy: [String]? - /// The name of the certificate authority that issued and signed the certificate. - public let issuer: String? /// The name of the entity that is associated with the public key contained in the certificate. public let subject: String? + /// 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. + public let options: CertificateOptions? + /// 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). + public let extendedKeyUsages: [ExtendedKeyUsage]? + /// The date and time at which the certificate was imported. This value exists only when the certificate type is IMPORTED. + public let importedAt: TimeStamp? + /// 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. + public let keyUsages: [KeyUsage]? + /// The serial number of the certificate. + public let serial: String? + /// The time after which the certificate is not valid. + public let notAfter: TimeStamp? + /// The time at which the certificate was requested. This value exists only when the certificate type is AMAZON_ISSUED. + public let createdAt: TimeStamp? + /// 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. + public let subjectAlternativeNames: [String]? + /// 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. + public let domainValidationOptions: [DomainValidation]? + /// 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. + public let `type`: CertificateType? + /// 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. + public let failureReason: FailureReason? + /// The name of the certificate authority that issued and signed the certificate. + public let issuer: String? - public init(failureReason: FailureReason? = nil, issuedAt: TimeStamp? = nil, extendedKeyUsages: [ExtendedKeyUsage]? = nil, importedAt: TimeStamp? = nil, revokedAt: TimeStamp? = nil, keyUsages: [KeyUsage]? = nil, renewalSummary: RenewalSummary? = nil, signatureAlgorithm: String? = nil, serial: String? = nil, revocationReason: RevocationReason? = nil, notAfter: TimeStamp? = nil, status: CertificateStatus? = nil, createdAt: TimeStamp? = nil, notBefore: TimeStamp? = nil, subjectAlternativeNames: [String]? = nil, domainValidationOptions: [DomainValidation]? = nil, keyAlgorithm: KeyAlgorithm? = nil, certificateArn: String? = nil, domainName: String? = nil, type: CertificateType? = nil, inUseBy: [String]? = nil, issuer: String? = nil, subject: String? = nil) { - self.failureReason = failureReason + public init(issuedAt: TimeStamp? = nil, revokedAt: TimeStamp? = nil, renewalSummary: RenewalSummary? = nil, renewalEligibility: RenewalEligibility? = nil, certificateAuthorityArn: String? = nil, signatureAlgorithm: String? = nil, revocationReason: RevocationReason? = nil, status: CertificateStatus? = nil, notBefore: TimeStamp? = nil, keyAlgorithm: KeyAlgorithm? = nil, certificateArn: String? = nil, domainName: String? = nil, inUseBy: [String]? = nil, subject: String? = nil, options: CertificateOptions? = nil, extendedKeyUsages: [ExtendedKeyUsage]? = nil, importedAt: TimeStamp? = nil, keyUsages: [KeyUsage]? = nil, serial: String? = nil, notAfter: TimeStamp? = nil, createdAt: TimeStamp? = nil, subjectAlternativeNames: [String]? = nil, domainValidationOptions: [DomainValidation]? = nil, type: CertificateType? = nil, failureReason: FailureReason? = nil, issuer: String? = nil) { self.issuedAt = issuedAt - self.extendedKeyUsages = extendedKeyUsages - self.importedAt = importedAt self.revokedAt = revokedAt - self.keyUsages = keyUsages self.renewalSummary = renewalSummary + self.renewalEligibility = renewalEligibility + self.certificateAuthorityArn = certificateAuthorityArn self.signatureAlgorithm = signatureAlgorithm - self.serial = serial self.revocationReason = revocationReason - self.notAfter = notAfter self.status = status - self.createdAt = createdAt self.notBefore = notBefore - self.subjectAlternativeNames = subjectAlternativeNames - self.domainValidationOptions = domainValidationOptions self.keyAlgorithm = keyAlgorithm self.certificateArn = certificateArn self.domainName = domainName - self.`type` = `type` self.inUseBy = inUseBy - self.issuer = issuer self.subject = subject + self.options = options + self.extendedKeyUsages = extendedKeyUsages + self.importedAt = importedAt + self.keyUsages = keyUsages + self.serial = serial + self.notAfter = notAfter + self.createdAt = createdAt + self.subjectAlternativeNames = subjectAlternativeNames + self.domainValidationOptions = domainValidationOptions + self.`type` = `type` + self.failureReason = failureReason + self.issuer = issuer } private enum CodingKeys: String, CodingKey { - case failureReason = "FailureReason" case issuedAt = "IssuedAt" - case extendedKeyUsages = "ExtendedKeyUsages" - case importedAt = "ImportedAt" case revokedAt = "RevokedAt" - case keyUsages = "KeyUsages" case renewalSummary = "RenewalSummary" + case renewalEligibility = "RenewalEligibility" + case certificateAuthorityArn = "CertificateAuthorityArn" case signatureAlgorithm = "SignatureAlgorithm" - case serial = "Serial" case revocationReason = "RevocationReason" - case notAfter = "NotAfter" case status = "Status" - case createdAt = "CreatedAt" case notBefore = "NotBefore" - case subjectAlternativeNames = "SubjectAlternativeNames" - case domainValidationOptions = "DomainValidationOptions" case keyAlgorithm = "KeyAlgorithm" case certificateArn = "CertificateArn" case domainName = "DomainName" - case `type` = "Type" case inUseBy = "InUseBy" - case issuer = "Issuer" case subject = "Subject" + case options = "Options" + case extendedKeyUsages = "ExtendedKeyUsages" + case importedAt = "ImportedAt" + case keyUsages = "KeyUsages" + case serial = "Serial" + case notAfter = "NotAfter" + case createdAt = "CreatedAt" + case subjectAlternativeNames = "SubjectAlternativeNames" + case domainValidationOptions = "DomainValidationOptions" + case `type` = "Type" + case failureReason = "FailureReason" + case issuer = "Issuer" } } diff --git a/Sources/AWSSDKSwift/Services/alexaforbusiness/Alexaforbusiness_API.swift b/Sources/AWSSDKSwift/Services/alexaforbusiness/Alexaforbusiness_API.swift index 2c7860cea49..a5cb373edf8 100644 --- a/Sources/AWSSDKSwift/Services/alexaforbusiness/Alexaforbusiness_API.swift +++ b/Sources/AWSSDKSwift/Services/alexaforbusiness/Alexaforbusiness_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -Alexa for Business makes it easy for you to use Alexa in your organization. Alexa for Business gives you the tools you need to manage Alexa devices, enroll your users, and assign skills, at scale. You can build your own context-aware voice skills using the Alexa Skills Kit, and the Alexa for Business APIs, and you can make these available as private skills for your organization. Alexa for Business also makes it easy to voice-enable your products and services, providing context-aware voice experiences for your customers. +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. */ public struct Alexaforbusiness { @@ -25,79 +25,34 @@ public struct Alexaforbusiness { ) } - /// Gets skill group details by skill group ARN. - public func getSkillGroup(_ input: GetSkillGroupRequest) throws -> GetSkillGroupResponse { - return try client.send(operation: "GetSkillGroup", path: "/", httpMethod: "POST", input: input) + /// Searches address books and lists the ones that meet a set of filter and sort criteria. + public func searchAddressBooks(_ input: SearchAddressBooksRequest) throws -> SearchAddressBooksResponse { + return try client.send(operation: "SearchAddressBooks", path: "/", httpMethod: "POST", input: input) } - /// Resets a device and its account to the known default settings by clearing all information and settings set by previous users. - public func startDeviceSync(_ input: StartDeviceSyncRequest) throws -> StartDeviceSyncResponse { - return try client.send(operation: "StartDeviceSync", path: "/", httpMethod: "POST", input: input) - } - - /// Creates a room with the specified details. - public func createRoom(_ input: CreateRoomRequest) throws -> CreateRoomResponse { - return try client.send(operation: "CreateRoom", path: "/", httpMethod: "POST", input: input) - } - - /// Deletes a skill group by skill group ARN. - public func deleteSkillGroup(_ input: DeleteSkillGroupRequest) throws -> DeleteSkillGroupResponse { - return try client.send(operation: "DeleteSkillGroup", path: "/", httpMethod: "POST", input: input) - } - - /// Lists all tags for a specific resource. + /// Lists all tags for the specified resource. public func listTags(_ input: ListTagsRequest) throws -> ListTagsResponse { return try client.send(operation: "ListTags", path: "/", httpMethod: "POST", input: input) } - /// Searches room profiles and lists the ones that meet a set of filter criteria. - public func searchProfiles(_ input: SearchProfilesRequest) throws -> SearchProfilesResponse { - return try client.send(operation: "SearchProfiles", path: "/", httpMethod: "POST", input: input) - } - /// Revokes an invitation and invalidates the enrollment URL. public func revokeInvitation(_ input: RevokeInvitationRequest) throws -> RevokeInvitationResponse { return try client.send(operation: "RevokeInvitation", path: "/", httpMethod: "POST", input: input) } - /// Associates a device to 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 a manual sync is required. - public func associateDeviceWithRoom(_ input: AssociateDeviceWithRoomRequest) throws -> AssociateDeviceWithRoomResponse { - return try client.send(operation: "AssociateDeviceWithRoom", path: "/", httpMethod: "POST", input: input) - } - /// Creates a user. public func createUser(_ input: CreateUserRequest) throws -> CreateUserResponse { return try client.send(operation: "CreateUser", path: "/", httpMethod: "POST", input: input) } - /// Deletes a room profile by the profile ARN. - public func deleteProfile(_ input: DeleteProfileRequest) throws -> DeleteProfileResponse { - return try client.send(operation: "DeleteProfile", path: "/", httpMethod: "POST", input: input) - } - /// Creates a new room profile with the specified details. public func createProfile(_ input: CreateProfileRequest) throws -> CreateProfileResponse { return try client.send(operation: "CreateProfile", path: "/", httpMethod: "POST", input: input) } - /// Updates the device name by device ARN. - public func updateDevice(_ input: UpdateDeviceRequest) throws -> UpdateDeviceResponse { - return try client.send(operation: "UpdateDevice", path: "/", httpMethod: "POST", input: input) - } - - /// Searches rooms and lists the ones that meet a set of filter and sort criteria. - public func searchRooms(_ input: SearchRoomsRequest) throws -> SearchRoomsResponse { - return try client.send(operation: "SearchRooms", path: "/", httpMethod: "POST", input: input) - } - - /// Disassociates a skill group from a specified room. This disables all skills in the skill group on all devices in the room. - public func disassociateSkillGroupFromRoom(_ input: DisassociateSkillGroupFromRoomRequest) throws -> DisassociateSkillGroupFromRoomResponse { - return try client.send(operation: "DisassociateSkillGroupFromRoom", path: "/", httpMethod: "POST", input: input) - } - - /// Creates a skill group with a specified name and description. - public func createSkillGroup(_ input: CreateSkillGroupRequest) throws -> CreateSkillGroupResponse { - return try client.send(operation: "CreateSkillGroup", path: "/", httpMethod: "POST", input: input) + /// Disassociates a contact from a given address book. + public func disassociateContactFromAddressBook(_ input: DisassociateContactFromAddressBookRequest) throws -> DisassociateContactFromAddressBookResponse { + return try client.send(operation: "DisassociateContactFromAddressBook", path: "/", httpMethod: "POST", input: input) } /// Gets the details of a device by device ARN. @@ -110,9 +65,9 @@ public struct Alexaforbusiness { return try client.send(operation: "GetRoom", path: "/", httpMethod: "POST", input: input) } - /// Searches skill groups and lists the ones that meet a set of filter and sort criteria. - public func searchSkillGroups(_ input: SearchSkillGroupsRequest) throws -> SearchSkillGroupsResponse { - return try client.send(operation: "SearchSkillGroups", path: "/", httpMethod: "POST", input: input) + /// Deletes a contact by the contact ARN. + public func deleteContact(_ input: DeleteContactRequest) throws -> DeleteContactResponse { + return try client.send(operation: "DeleteContact", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -120,6 +75,11 @@ public struct Alexaforbusiness { return try client.send(operation: "DisassociateDeviceFromRoom", path: "/", httpMethod: "POST", input: input) } + /// Associates a contact with a given address book. + public func associateContactWithAddressBook(_ input: AssociateContactWithAddressBookRequest) throws -> AssociateContactWithAddressBookResponse { + return try client.send(operation: "AssociateContactWithAddressBook", path: "/", httpMethod: "POST", input: input) + } + /// Deletes room skill parameter details by room, skill, and parameter key ID. public func deleteRoomSkillParameter(_ input: DeleteRoomSkillParameterRequest) throws -> DeleteRoomSkillParameterResponse { return try client.send(operation: "DeleteRoomSkillParameter", path: "/", httpMethod: "POST", input: input) @@ -130,14 +90,9 @@ public struct Alexaforbusiness { return try client.send(operation: "DeleteRoom", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func sendInvitation(_ input: SendInvitationRequest) throws -> SendInvitationResponse { - return try client.send(operation: "SendInvitation", path: "/", httpMethod: "POST", input: input) - } - - /// Updates room details by room ARN. - public func updateRoom(_ input: UpdateRoomRequest) throws -> UpdateRoomResponse { - return try client.send(operation: "UpdateRoom", path: "/", httpMethod: "POST", input: input) + /// Deletes an address book by the address book ARN. + public func deleteAddressBook(_ input: DeleteAddressBookRequest) throws -> DeleteAddressBookResponse { + return try client.send(operation: "DeleteAddressBook", path: "/", httpMethod: "POST", input: input) } /// Updates an existing room profile by room profile ARN. @@ -145,21 +100,16 @@ public struct Alexaforbusiness { return try client.send(operation: "UpdateProfile", path: "/", httpMethod: "POST", input: input) } + /// Gets address the book details by the address book ARN. + public func getAddressBook(_ input: GetAddressBookRequest) throws -> GetAddressBookResponse { + return try client.send(operation: "GetAddressBook", path: "/", httpMethod: "POST", input: input) + } + /// Updates room skill parameter details by room, skill, and parameter key ID. Not all skills have a room skill parameter. public func putRoomSkillParameter(_ input: PutRoomSkillParameterRequest) throws -> PutRoomSkillParameterResponse { return try client.send(operation: "PutRoomSkillParameter", path: "/", httpMethod: "POST", input: input) } - /// Associates a skill group to a given room. This enables all skills in the associated skill group on all devices in the room. - public func associateSkillGroupWithRoom(_ input: AssociateSkillGroupWithRoomRequest) throws -> AssociateSkillGroupWithRoomResponse { - return try client.send(operation: "AssociateSkillGroupWithRoom", path: "/", httpMethod: "POST", input: input) - } - - /// Removes metadata tags from a specified resource. - public func untagResource(_ input: UntagResourceRequest) throws -> UntagResourceResponse { - return try client.send(operation: "UntagResource", path: "/", httpMethod: "POST", input: input) - } - /// Determines the details for the room from which a skill request was invoked. This operation is used by skill developers. public func resolveRoom(_ input: ResolveRoomRequest) throws -> ResolveRoomResponse { return try client.send(operation: "ResolveRoom", path: "/", httpMethod: "POST", input: input) @@ -195,11 +145,126 @@ public struct Alexaforbusiness { return try client.send(operation: "UpdateSkillGroup", path: "/", httpMethod: "POST", input: input) } + /// Gets skill group details by skill group ARN. + public func getSkillGroup(_ input: GetSkillGroupRequest) throws -> GetSkillGroupResponse { + return try client.send(operation: "GetSkillGroup", path: "/", httpMethod: "POST", input: input) + } + /// Searches devices and lists the ones that meet a set of filter criteria. public func searchDevices(_ input: SearchDevicesRequest) throws -> SearchDevicesResponse { return try client.send(operation: "SearchDevices", path: "/", httpMethod: "POST", input: input) } + /// Resets a device and its account to the known default settings, by clearing all information and settings set by previous users. + public func startDeviceSync(_ input: StartDeviceSyncRequest) throws -> StartDeviceSyncResponse { + return try client.send(operation: "StartDeviceSync", path: "/", httpMethod: "POST", input: input) + } + + /// Lists the device event history, including device connection status, for up to 30 days. + public func listDeviceEvents(_ input: ListDeviceEventsRequest) throws -> ListDeviceEventsResponse { + return try client.send(operation: "ListDeviceEvents", path: "/", httpMethod: "POST", input: input) + } + + /// Creates a room with the specified details. + public func createRoom(_ input: CreateRoomRequest) throws -> CreateRoomResponse { + return try client.send(operation: "CreateRoom", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes a skill group by skill group ARN. + public func deleteSkillGroup(_ input: DeleteSkillGroupRequest) throws -> DeleteSkillGroupResponse { + return try client.send(operation: "DeleteSkillGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Gets the contact details by the contact ARN. + public func getContact(_ input: GetContactRequest) throws -> GetContactResponse { + return try client.send(operation: "GetContact", path: "/", httpMethod: "POST", input: input) + } + + /// Searches contacts and lists the ones that meet a set of filter and sort criteria. + public func searchContacts(_ input: SearchContactsRequest) throws -> SearchContactsResponse { + return try client.send(operation: "SearchContacts", path: "/", httpMethod: "POST", input: input) + } + + /// Searches room profiles and lists the ones that meet a set of filter criteria. + public func searchProfiles(_ input: SearchProfilesRequest) throws -> SearchProfilesResponse { + return try client.send(operation: "SearchProfiles", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func associateDeviceWithRoom(_ input: AssociateDeviceWithRoomRequest) throws -> AssociateDeviceWithRoomResponse { + return try client.send(operation: "AssociateDeviceWithRoom", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes a room profile by the profile ARN. + public func deleteProfile(_ input: DeleteProfileRequest) throws -> DeleteProfileResponse { + return try client.send(operation: "DeleteProfile", path: "/", httpMethod: "POST", input: input) + } + + /// Updates the device name by device ARN. + public func updateDevice(_ input: UpdateDeviceRequest) throws -> UpdateDeviceResponse { + return try client.send(operation: "UpdateDevice", path: "/", httpMethod: "POST", input: input) + } + + /// Searches rooms and lists the ones that meet a set of filter and sort criteria. + public func searchRooms(_ input: SearchRoomsRequest) throws -> SearchRoomsResponse { + return try client.send(operation: "SearchRooms", path: "/", httpMethod: "POST", input: input) + } + + /// Disassociates a skill group from a specified room. This disables all skills in the skill group on all devices in the room. + public func disassociateSkillGroupFromRoom(_ input: DisassociateSkillGroupFromRoomRequest) throws -> DisassociateSkillGroupFromRoomResponse { + return try client.send(operation: "DisassociateSkillGroupFromRoom", path: "/", httpMethod: "POST", input: input) + } + + /// Creates a skill group with a specified name and description. + public func createSkillGroup(_ input: CreateSkillGroupRequest) throws -> CreateSkillGroupResponse { + return try client.send(operation: "CreateSkillGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Updates the contact details by the contact ARN. + public func updateContact(_ input: UpdateContactRequest) throws -> UpdateContactResponse { + return try client.send(operation: "UpdateContact", path: "/", httpMethod: "POST", input: input) + } + + /// Searches skill groups and lists the ones that meet a set of filter and sort criteria. + public func searchSkillGroups(_ input: SearchSkillGroupsRequest) throws -> SearchSkillGroupsResponse { + return try client.send(operation: "SearchSkillGroups", path: "/", httpMethod: "POST", input: input) + } + + /// Creates an address book with the specified details. + public func createAddressBook(_ input: CreateAddressBookRequest) throws -> CreateAddressBookResponse { + return try client.send(operation: "CreateAddressBook", path: "/", httpMethod: "POST", input: input) + } + + /// Creates a contact with the specified details. + public func createContact(_ input: CreateContactRequest) throws -> CreateContactResponse { + return try client.send(operation: "CreateContact", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func sendInvitation(_ input: SendInvitationRequest) throws -> SendInvitationResponse { + return try client.send(operation: "SendInvitation", path: "/", httpMethod: "POST", input: input) + } + + /// Updates room details by room ARN. + public func updateRoom(_ input: UpdateRoomRequest) throws -> UpdateRoomResponse { + return try client.send(operation: "UpdateRoom", path: "/", httpMethod: "POST", input: input) + } + + /// Associates a skill group with a given room. This enables all skills in the associated skill group on all devices in the room. + public func associateSkillGroupWithRoom(_ input: AssociateSkillGroupWithRoomRequest) throws -> AssociateSkillGroupWithRoomResponse { + return try client.send(operation: "AssociateSkillGroupWithRoom", path: "/", httpMethod: "POST", input: input) + } + + /// Removes metadata tags from a specified resource. + public func untagResource(_ input: UntagResourceRequest) throws -> UntagResourceResponse { + return try client.send(operation: "UntagResource", path: "/", httpMethod: "POST", input: input) + } + + /// Updates address book details by the address book ARN. + public func updateAddressBook(_ input: UpdateAddressBookRequest) throws -> UpdateAddressBookResponse { + return try client.send(operation: "UpdateAddressBook", path: "/", httpMethod: "POST", input: input) + } + /// Searches users and lists the ones that meet a set of filter and sort criteria. public func searchUsers(_ input: SearchUsersRequest) throws -> SearchUsersResponse { return try client.send(operation: "SearchUsers", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/alexaforbusiness/Alexaforbusiness_Error.swift b/Sources/AWSSDKSwift/Services/alexaforbusiness/Alexaforbusiness_Error.swift index b604c7ab04e..847051d2547 100644 --- a/Sources/AWSSDKSwift/Services/alexaforbusiness/Alexaforbusiness_Error.swift +++ b/Sources/AWSSDKSwift/Services/alexaforbusiness/Alexaforbusiness_Error.swift @@ -5,11 +5,12 @@ import AWSSDKSwiftCore /// Error enum for Alexaforbusiness public enum AlexaforbusinessError: AWSErrorType { case notFoundException(message: String?) - case alreadyExistsException(message: String?) - case limitExceededException(message: String?) case resourceInUseException(message: String?) - case invalidUserStatusException(message: String?) + case limitExceededException(message: String?) + case alreadyExistsException(message: String?) + case deviceNotRegisteredException(message: String?) case nameInUseException(message: String?) + case invalidUserStatusException(message: String?) } extension AlexaforbusinessError { @@ -21,16 +22,18 @@ extension AlexaforbusinessError { switch errorCode { case "NotFoundException": self = .notFoundException(message: message) - case "AlreadyExistsException": - self = .alreadyExistsException(message: message) - case "LimitExceededException": - self = .limitExceededException(message: message) case "ResourceInUseException": self = .resourceInUseException(message: message) - case "InvalidUserStatusException": - self = .invalidUserStatusException(message: message) + case "LimitExceededException": + self = .limitExceededException(message: message) + case "AlreadyExistsException": + self = .alreadyExistsException(message: message) + case "DeviceNotRegisteredException": + self = .deviceNotRegisteredException(message: message) case "NameInUseException": self = .nameInUseException(message: message) + case "InvalidUserStatusException": + self = .invalidUserStatusException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/alexaforbusiness/Alexaforbusiness_Shapes.swift b/Sources/AWSSDKSwift/Services/alexaforbusiness/Alexaforbusiness_Shapes.swift index 032c3e5a47a..0d033c50357 100644 --- a/Sources/AWSSDKSwift/Services/alexaforbusiness/Alexaforbusiness_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/alexaforbusiness/Alexaforbusiness_Shapes.swift @@ -5,22 +5,6 @@ import AWSSDKSwiftCore extension Alexaforbusiness { - public struct GetSkillGroupResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SkillGroup", required: false, type: .structure) - ] - /// The details of the skill group requested. Required. - public let skillGroup: SkillGroup? - - public init(skillGroup: SkillGroup? = nil) { - self.skillGroup = skillGroup - } - - private enum CodingKeys: String, CodingKey { - case skillGroup = "SkillGroup" - } - } - public struct TagResourceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Tags", required: true, type: .list), @@ -46,69 +30,54 @@ extension Alexaforbusiness { } - public struct DeleteRoomRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RoomArn", required: false, type: .string) - ] - /// The ARN of the room to delete. Required. - public let roomArn: String? - - public init(roomArn: String? = nil) { - self.roomArn = roomArn - } - - private enum CodingKeys: String, CodingKey { - case roomArn = "RoomArn" - } + public enum TemperatureUnit: String, CustomStringConvertible, Codable { + case fahrenheit = "FAHRENHEIT" + case celsius = "CELSIUS" + public var description: String { return self.rawValue } } - public struct DeleteProfileRequest: AWSShape { + public struct ListTagsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ProfileArn", required: false, type: .string) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .list) ] - /// The ARN of the room profile to delete. Required. - public let profileArn: String? + /// The token returned to indicate that there is more data available. + public let nextToken: String? + /// The tags requested for the specified resource. + public let tags: [Tag]? - public init(profileArn: String? = nil) { - self.profileArn = profileArn + public init(nextToken: String? = nil, tags: [Tag]? = nil) { + self.nextToken = nextToken + self.tags = tags } private enum CodingKeys: String, CodingKey { - case profileArn = "ProfileArn" + case nextToken = "NextToken" + case tags = "Tags" } } - public enum TemperatureUnit: String, CustomStringConvertible, Codable { - case fahrenheit = "FAHRENHEIT" - case celsius = "CELSIUS" - public var description: String { return self.rawValue } - } - public enum DeviceStatus: String, CustomStringConvertible, Codable { case ready = "READY" case pending = "PENDING" case wasOffline = "WAS_OFFLINE" + case deregistered = "DEREGISTERED" public var description: String { return self.rawValue } } - public struct ListTagsResponse: AWSShape { + public struct GetContactResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Tags", required: false, type: .list) + AWSShapeMember(label: "Contact", required: false, type: .structure) ] - /// The token returned to indicate that there is more data available. - public let nextToken: String? - /// The list of tags requested for the specific resource. - public let tags: [Tag]? + /// The details of the requested contact. + public let contact: Contact? - public init(nextToken: String? = nil, tags: [Tag]? = nil) { - self.nextToken = nextToken - self.tags = tags + public init(contact: Contact? = nil) { + self.contact = contact } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case tags = "Tags" + case contact = "Contact" } } @@ -128,146 +97,56 @@ extension Alexaforbusiness { } } - public struct GetDeviceRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DeviceArn", required: false, type: .string) - ] - /// The ARN of the device for which to request details. Required. - public let deviceArn: String? - - public init(deviceArn: String? = nil) { - self.deviceArn = deviceArn - } + public struct UpdateContactResponse: AWSShape { - private enum CodingKeys: String, CodingKey { - case deviceArn = "DeviceArn" - } } public struct ProfileData: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TemperatureUnit", required: false, type: .enum), - AWSShapeMember(label: "Timezone", required: false, type: .string), - AWSShapeMember(label: "ProfileArn", required: false, type: .string), AWSShapeMember(label: "Address", required: false, type: .string), + AWSShapeMember(label: "ProfileArn", required: false, type: .string), + AWSShapeMember(label: "TemperatureUnit", required: false, type: .enum), AWSShapeMember(label: "ProfileName", required: false, type: .string), + AWSShapeMember(label: "Timezone", required: false, type: .string), AWSShapeMember(label: "WakeWord", required: false, type: .enum), AWSShapeMember(label: "DistanceUnit", required: false, type: .enum) ] - /// The temperature unit of a room profile. - public let temperatureUnit: TemperatureUnit? - /// The timezone of a room profile. - public let timezone: String? - /// The ARN of a room profile. - public let profileArn: String? /// The address of a room profile. public let address: String? + /// The ARN of a room profile. + public let profileArn: String? + /// The temperature unit of a room profile. + public let temperatureUnit: TemperatureUnit? /// The name of a room profile. public let profileName: String? + /// The timezone of a room profile. + public let timezone: String? /// The wake word of a room profile. public let wakeWord: WakeWord? /// The distance unit of a room profile. public let distanceUnit: DistanceUnit? - public init(temperatureUnit: TemperatureUnit? = nil, timezone: String? = nil, profileArn: String? = nil, address: String? = nil, profileName: String? = nil, wakeWord: WakeWord? = nil, distanceUnit: DistanceUnit? = nil) { - self.temperatureUnit = temperatureUnit - self.timezone = timezone - self.profileArn = profileArn + public init(address: String? = nil, profileArn: String? = nil, temperatureUnit: TemperatureUnit? = nil, profileName: String? = nil, timezone: String? = nil, wakeWord: WakeWord? = nil, distanceUnit: DistanceUnit? = nil) { self.address = address + self.profileArn = profileArn + self.temperatureUnit = temperatureUnit self.profileName = profileName + self.timezone = timezone self.wakeWord = wakeWord self.distanceUnit = distanceUnit } private enum CodingKeys: String, CodingKey { - case temperatureUnit = "TemperatureUnit" - case timezone = "Timezone" - case profileArn = "ProfileArn" case address = "Address" + case profileArn = "ProfileArn" + case temperatureUnit = "TemperatureUnit" case profileName = "ProfileName" + case timezone = "Timezone" case wakeWord = "WakeWord" case distanceUnit = "DistanceUnit" } } - public struct UpdateDeviceRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DeviceArn", required: false, type: .string), - AWSShapeMember(label: "DeviceName", required: false, type: .string) - ] - /// The ARN of the device to update. Required. - public let deviceArn: String? - /// The updated device name. Required. - public let deviceName: String? - - public init(deviceArn: String? = nil, deviceName: String? = nil) { - self.deviceArn = deviceArn - self.deviceName = deviceName - } - - private enum CodingKeys: String, CodingKey { - case deviceArn = "DeviceArn" - case deviceName = "DeviceName" - } - } - - public struct RoomData: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RoomArn", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "ProviderCalendarId", required: false, type: .string), - AWSShapeMember(label: "RoomName", required: false, type: .string), - AWSShapeMember(label: "ProfileName", required: false, type: .string), - AWSShapeMember(label: "ProfileArn", required: false, type: .string) - ] - /// The ARN of a room. - public let roomArn: String? - /// The description of a room. - public let description: String? - /// The provider calendar ARN of a room. - public let providerCalendarId: String? - /// The name of a room. - public let roomName: String? - /// The profile name of a room. - public let profileName: String? - /// The profile ARN of a room. - public let profileArn: String? - - public init(roomArn: String? = nil, description: String? = nil, providerCalendarId: String? = nil, roomName: String? = nil, profileName: String? = nil, profileArn: String? = nil) { - self.roomArn = roomArn - self.description = description - self.providerCalendarId = providerCalendarId - self.roomName = roomName - self.profileName = profileName - self.profileArn = profileArn - } - - private enum CodingKeys: String, CodingKey { - case roomArn = "RoomArn" - case description = "Description" - case providerCalendarId = "ProviderCalendarId" - case roomName = "RoomName" - case profileName = "ProfileName" - case profileArn = "ProfileArn" - } - } - - public struct GetSkillGroupRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SkillGroupArn", required: false, type: .string) - ] - /// The ARN of the skill group for which to get details. Required. - public let skillGroupArn: String? - - public init(skillGroupArn: String? = nil) { - self.skillGroupArn = skillGroupArn - } - - private enum CodingKeys: String, CodingKey { - case skillGroupArn = "SkillGroupArn" - } - } - public struct SearchDevicesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -294,51 +173,11 @@ extension Alexaforbusiness { } } - public struct CreateRoomRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "ProviderCalendarId", required: false, type: .string), - AWSShapeMember(label: "ClientRequestToken", required: false, type: .string), - AWSShapeMember(label: "Tags", required: false, type: .list), - AWSShapeMember(label: "RoomName", required: true, type: .string), - AWSShapeMember(label: "ProfileArn", required: false, type: .string) - ] - /// The description for the room. - public let description: String? - /// The calendar ARN for the room. - public let providerCalendarId: String? - /// A unique, user-specified identifier for this request that ensures idempotency. - public let clientRequestToken: String? - /// The tags for the room. - public let tags: [Tag]? - /// The name for the room. - public let roomName: String - /// The profile ARN for the room. - public let profileArn: String? - - public init(description: String? = nil, providerCalendarId: String? = nil, clientRequestToken: String? = nil, tags: [Tag]? = nil, roomName: String, profileArn: String? = nil) { - self.description = description - self.providerCalendarId = providerCalendarId - self.clientRequestToken = clientRequestToken - self.tags = tags - self.roomName = roomName - self.profileArn = profileArn - } - - private enum CodingKeys: String, CodingKey { - case description = "Description" - case providerCalendarId = "ProviderCalendarId" - case clientRequestToken = "ClientRequestToken" - case tags = "Tags" - case roomName = "RoomName" - case profileArn = "ProfileArn" - } - } - public enum EnrollmentStatus: String, CustomStringConvertible, Codable { case initialized = "INITIALIZED" case pending = "PENDING" case registered = "REGISTERED" + case disassociating = "DISASSOCIATING" case deregistering = "DEREGISTERING" public var description: String { return self.rawValue } } @@ -349,25 +188,8 @@ extension Alexaforbusiness { public var description: String { return self.rawValue } } - public struct Tag: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Value", required: false, type: .string), - AWSShapeMember(label: "Key", required: false, type: .string) - ] - /// The value of a tag. Tag values are case-sensitive and can be null. - public let value: String? - /// The key of a tag. Tag keys are case-sensitive. - public let key: String? - - public init(value: String? = nil, key: String? = nil) { - self.value = value - self.key = key - } + public struct DeleteContactResponse: AWSShape { - private enum CodingKeys: String, CodingKey { - case value = "Value" - case key = "Key" - } } public struct GetRoomSkillParameterRequest: AWSShape { @@ -402,6 +224,7 @@ extension Alexaforbusiness { AWSShapeMember(label: "MacAddress", required: false, type: .string), AWSShapeMember(label: "RoomName", required: false, type: .string), AWSShapeMember(label: "DeviceSerialNumber", required: false, type: .string), + AWSShapeMember(label: "DeviceStatusInfo", required: false, type: .structure), AWSShapeMember(label: "DeviceArn", required: false, type: .string), AWSShapeMember(label: "DeviceStatus", required: false, type: .enum), AWSShapeMember(label: "SoftwareVersion", required: false, type: .string), @@ -416,6 +239,8 @@ extension Alexaforbusiness { public let roomName: String? /// The serial number of a device. public let deviceSerialNumber: String? + /// Detailed information about a device's status. + public let deviceStatusInfo: DeviceStatusInfo? /// The ARN of a device. public let deviceArn: String? /// The status of a device. @@ -427,11 +252,12 @@ extension Alexaforbusiness { /// The name of a device. public let deviceName: String? - public init(roomArn: String? = nil, macAddress: String? = nil, roomName: String? = nil, deviceSerialNumber: String? = nil, deviceArn: String? = nil, deviceStatus: DeviceStatus? = nil, softwareVersion: String? = nil, deviceType: String? = nil, deviceName: String? = nil) { + public init(roomArn: String? = nil, macAddress: String? = nil, roomName: String? = nil, deviceSerialNumber: String? = nil, deviceStatusInfo: DeviceStatusInfo? = nil, deviceArn: String? = nil, deviceStatus: DeviceStatus? = nil, softwareVersion: String? = nil, deviceType: String? = nil, deviceName: String? = nil) { self.roomArn = roomArn self.macAddress = macAddress self.roomName = roomName self.deviceSerialNumber = deviceSerialNumber + self.deviceStatusInfo = deviceStatusInfo self.deviceArn = deviceArn self.deviceStatus = deviceStatus self.softwareVersion = softwareVersion @@ -444,6 +270,7 @@ extension Alexaforbusiness { case macAddress = "MacAddress" case roomName = "RoomName" case deviceSerialNumber = "DeviceSerialNumber" + case deviceStatusInfo = "DeviceStatusInfo" case deviceArn = "DeviceArn" case deviceStatus = "DeviceStatus" case softwareVersion = "SoftwareVersion" @@ -452,55 +279,24 @@ extension Alexaforbusiness { } } - public struct SkillGroup: AWSShape { + public struct Tag: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "SkillGroupArn", required: false, type: .string), - AWSShapeMember(label: "SkillGroupName", required: false, type: .string) + AWSShapeMember(label: "Value", required: false, type: .string), + AWSShapeMember(label: "Key", required: false, type: .string) ] - /// The description of a skill group. - public let description: String? - /// The ARN of a skill group. - public let skillGroupArn: String? - /// The name of a skill group. - public let skillGroupName: String? - - public init(description: String? = nil, skillGroupArn: String? = nil, skillGroupName: String? = nil) { - self.description = description - self.skillGroupArn = skillGroupArn - self.skillGroupName = skillGroupName - } - - private enum CodingKeys: String, CodingKey { - case description = "Description" - case skillGroupArn = "SkillGroupArn" - case skillGroupName = "SkillGroupName" - } - } - - public struct SearchRoomsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Rooms", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "TotalCount", required: false, type: .integer) - ] - /// The rooms that meet the specified set of filter criteria, in sort order. - public let rooms: [RoomData]? - /// The token returned to indicate that there is more data available. - public let nextToken: String? - /// The total number of rooms returned. - public let totalCount: Int32? + /// The value of a tag. Tag values are case-sensitive and can be null. + public let value: String? + /// The key of a tag. Tag keys are case-sensitive. + public let key: String? - public init(rooms: [RoomData]? = nil, nextToken: String? = nil, totalCount: Int32? = nil) { - self.rooms = rooms - self.nextToken = nextToken - self.totalCount = totalCount + public init(value: String? = nil, key: String? = nil) { + self.value = value + self.key = key } private enum CodingKeys: String, CodingKey { - case rooms = "Rooms" - case nextToken = "NextToken" - case totalCount = "TotalCount" + case value = "Value" + case key = "Key" } } @@ -551,32 +347,6 @@ extension Alexaforbusiness { } } - public struct SkillSummary: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SkillName", required: false, type: .string), - AWSShapeMember(label: "SkillId", required: false, type: .string), - AWSShapeMember(label: "SupportsLinking", required: false, type: .boolean) - ] - /// The name of the skill. - public let skillName: String? - /// The ARN of the skill summary. - public let skillId: String? - /// Linking support for a skill. - public let supportsLinking: Bool? - - public init(skillName: String? = nil, skillId: String? = nil, supportsLinking: Bool? = nil) { - self.skillName = skillName - self.skillId = skillId - self.supportsLinking = supportsLinking - } - - private enum CodingKeys: String, CodingKey { - case skillName = "SkillName" - case skillId = "SkillId" - case supportsLinking = "SupportsLinking" - } - } - public struct CreateUserRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Email", required: false, type: .string), @@ -618,6 +388,22 @@ extension Alexaforbusiness { } } + public struct DeviceStatusDetail: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Code", required: false, type: .enum) + ] + /// The device status detail code. + public let code: DeviceStatusDetailCode? + + public init(code: DeviceStatusDetailCode? = nil) { + self.code = code + } + + private enum CodingKeys: String, CodingKey { + case code = "Code" + } + } + public struct SearchSkillGroupsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Filters", required: false, type: .list), @@ -649,6 +435,1106 @@ extension Alexaforbusiness { } } + public struct PutRoomSkillParameterResponse: AWSShape { + + } + + public struct UpdateSkillGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "SkillGroupArn", required: false, type: .string), + AWSShapeMember(label: "SkillGroupName", required: false, type: .string) + ] + /// The updated description for the skill group. + public let description: String? + /// The ARN of the skill group to update. + public let skillGroupArn: String? + /// The updated name for the skill group. + public let skillGroupName: String? + + public init(description: String? = nil, skillGroupArn: String? = nil, skillGroupName: String? = nil) { + self.description = description + self.skillGroupArn = skillGroupArn + self.skillGroupName = skillGroupName + } + + private enum CodingKeys: String, CodingKey { + case description = "Description" + case skillGroupArn = "SkillGroupArn" + case skillGroupName = "SkillGroupName" + } + } + + public struct DeleteUserRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EnrollmentId", required: true, type: .string), + AWSShapeMember(label: "UserArn", required: false, type: .string) + ] + /// The ARN of the user's enrollment in the organization. Required. + public let enrollmentId: String + /// The ARN of the user to delete in the organization. Required. + public let userArn: String? + + public init(enrollmentId: String, userArn: String? = nil) { + self.enrollmentId = enrollmentId + self.userArn = userArn + } + + private enum CodingKeys: String, CodingKey { + case enrollmentId = "EnrollmentId" + case userArn = "UserArn" + } + } + + public struct StartDeviceSyncRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoomArn", required: false, type: .string), + AWSShapeMember(label: "DeviceArn", required: false, type: .string), + AWSShapeMember(label: "Features", required: true, type: .list) + ] + /// The ARN of the room with which the device to sync is associated. Required. + public let roomArn: String? + /// The ARN of the device to sync. Required. + public let deviceArn: String? + /// Request structure to start the device sync. Required. + public let features: [Feature] + + public init(roomArn: String? = nil, deviceArn: String? = nil, features: [Feature]) { + self.roomArn = roomArn + self.deviceArn = deviceArn + self.features = features + } + + private enum CodingKeys: String, CodingKey { + case roomArn = "RoomArn" + case deviceArn = "DeviceArn" + case features = "Features" + } + } + + public struct AssociateSkillGroupWithRoomResponse: AWSShape { + + } + + public struct SearchUsersRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "SortCriteria", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The filters to use for listing a specific set of users. Required. Supported filter keys are UserId, FirstName, LastName, Email, and EnrollmentStatus. + public let filters: [Filter]? + /// The sort order to use in listing the filtered set of users. Required. Supported sort keys are UserId, FirstName, LastName, Email, and EnrollmentStatus. + public let sortCriteria: [Sort]? + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(filters: [Filter]? = nil, sortCriteria: [Sort]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.filters = filters + self.sortCriteria = sortCriteria + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case filters = "Filters" + case sortCriteria = "SortCriteria" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct SearchAddressBooksRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "SortCriteria", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The filters to use to list a specified set of address books. The supported filter key is AddressBookName. + public let filters: [Filter]? + /// The sort order to use in listing the specified set of address books. The supported sort key is AddressBookName. + public let sortCriteria: [Sort]? + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(filters: [Filter]? = nil, sortCriteria: [Sort]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.filters = filters + self.sortCriteria = sortCriteria + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case filters = "Filters" + case sortCriteria = "SortCriteria" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct UpdateSkillGroupResponse: AWSShape { + + } + + public struct GetRoomResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Room", required: false, type: .structure) + ] + /// The details of the room requested. + public let room: Room? + + public init(room: Room? = nil) { + self.room = room + } + + private enum CodingKeys: String, CodingKey { + case room = "Room" + } + } + + public struct UpdateContactRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PhoneNumber", required: false, type: .string), + AWSShapeMember(label: "ContactArn", required: true, type: .string), + AWSShapeMember(label: "FirstName", required: false, type: .string), + AWSShapeMember(label: "DisplayName", required: false, type: .string), + AWSShapeMember(label: "LastName", required: false, type: .string) + ] + /// The updated phone number of the contact. + public let phoneNumber: String? + /// The ARN of the contact to update. + public let contactArn: String + /// The updated first name of the contact. + public let firstName: String? + /// The updated display name of the contact. + public let displayName: String? + /// The updated last name of the contact. + public let lastName: String? + + public init(phoneNumber: String? = nil, contactArn: String, firstName: String? = nil, displayName: String? = nil, lastName: String? = nil) { + self.phoneNumber = phoneNumber + self.contactArn = contactArn + self.firstName = firstName + self.displayName = displayName + self.lastName = lastName + } + + private enum CodingKeys: String, CodingKey { + case phoneNumber = "PhoneNumber" + case contactArn = "ContactArn" + case firstName = "FirstName" + case displayName = "DisplayName" + case lastName = "LastName" + } + } + + public struct ContactData: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PhoneNumber", required: false, type: .string), + AWSShapeMember(label: "ContactArn", required: false, type: .string), + AWSShapeMember(label: "FirstName", required: false, type: .string), + AWSShapeMember(label: "DisplayName", required: false, type: .string), + AWSShapeMember(label: "LastName", required: false, type: .string) + ] + /// The phone number of the contact. + public let phoneNumber: String? + /// The ARN of the contact. + public let contactArn: String? + /// The first name of the contact, used to call the contact on the device. + public let firstName: String? + /// The name of the contact to display on the console. + public let displayName: String? + /// The last name of the contact, used to call the contact on the device. + public let lastName: String? + + public init(phoneNumber: String? = nil, contactArn: String? = nil, firstName: String? = nil, displayName: String? = nil, lastName: String? = nil) { + self.phoneNumber = phoneNumber + self.contactArn = contactArn + self.firstName = firstName + self.displayName = displayName + self.lastName = lastName + } + + private enum CodingKeys: String, CodingKey { + case phoneNumber = "PhoneNumber" + case contactArn = "ContactArn" + case firstName = "FirstName" + case displayName = "DisplayName" + case lastName = "LastName" + } + } + + public struct CreateSkillGroupResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SkillGroupArn", required: false, type: .string) + ] + /// The ARN of the newly created skill group in the response. + public let skillGroupArn: String? + + public init(skillGroupArn: String? = nil) { + self.skillGroupArn = skillGroupArn + } + + private enum CodingKeys: String, CodingKey { + case skillGroupArn = "SkillGroupArn" + } + } + + public struct GetProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ProfileArn", required: false, type: .string) + ] + /// The ARN of the room profile for which to request details. Required. + public let profileArn: String? + + public init(profileArn: String? = nil) { + self.profileArn = profileArn + } + + private enum CodingKeys: String, CodingKey { + case profileArn = "ProfileArn" + } + } + + public struct UpdateRoomRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoomArn", required: false, type: .string), + AWSShapeMember(label: "ProviderCalendarId", required: false, type: .string), + AWSShapeMember(label: "RoomName", required: false, type: .string), + AWSShapeMember(label: "ProfileArn", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The ARN of the room to update. + public let roomArn: String? + /// The updated provider calendar ARN for the room. + public let providerCalendarId: String? + /// The updated name for the room. + public let roomName: String? + /// The updated profile ARN for the room. + public let profileArn: String? + /// The updated description for the room. + public let description: String? + + public init(roomArn: String? = nil, providerCalendarId: String? = nil, roomName: String? = nil, profileArn: String? = nil, description: String? = nil) { + self.roomArn = roomArn + self.providerCalendarId = providerCalendarId + self.roomName = roomName + self.profileArn = profileArn + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case roomArn = "RoomArn" + case providerCalendarId = "ProviderCalendarId" + case roomName = "RoomName" + case profileArn = "ProfileArn" + case description = "Description" + } + } + + public struct DeleteUserResponse: AWSShape { + + } + + public struct ListDeviceEventsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceEvents", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// The device events requested for the device ARN. + public let deviceEvents: [DeviceEvent]? + /// The token returned to indicate that there is more data available. + public let nextToken: String? + + public init(deviceEvents: [DeviceEvent]? = nil, nextToken: String? = nil) { + self.deviceEvents = deviceEvents + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case deviceEvents = "DeviceEvents" + case nextToken = "NextToken" + } + } + + public enum SortValue: String, CustomStringConvertible, Codable { + case asc = "ASC" + case desc = "DESC" + public var description: String { return self.rawValue } + } + + public struct CreateAddressBookRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClientRequestToken", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// A unique, user-specified identifier for the request that ensures idempotency. + public let clientRequestToken: String? + /// The name of the address book. + public let name: String + /// The description of the address book. + public let description: String? + + public init(clientRequestToken: String? = nil, name: String, description: String? = nil) { + self.clientRequestToken = clientRequestToken + self.name = name + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case clientRequestToken = "ClientRequestToken" + case name = "Name" + case description = "Description" + } + } + + public struct SearchUsersResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Users", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "TotalCount", required: false, type: .integer) + ] + /// The users that meet the specified set of filter criteria, in sort order. + public let users: [UserData]? + /// The token returned to indicate that there is more data available. + public let nextToken: String? + /// The total number of users returned. + public let totalCount: Int32? + + public init(users: [UserData]? = nil, nextToken: String? = nil, totalCount: Int32? = nil) { + self.users = users + self.nextToken = nextToken + self.totalCount = totalCount + } + + private enum CodingKeys: String, CodingKey { + case users = "Users" + case nextToken = "NextToken" + case totalCount = "TotalCount" + } + } + + public struct RoomSkillParameter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ParameterKey", required: true, type: .string), + AWSShapeMember(label: "ParameterValue", required: true, type: .string) + ] + /// The parameter key of a room skill parameter. ParameterKey is an enumerated type that only takes “DEFAULT” or “SCOPE” as valid values. + public let parameterKey: String + /// The parameter value of a room skill parameter. + public let parameterValue: String + + public init(parameterKey: String, parameterValue: String) { + self.parameterKey = parameterKey + self.parameterValue = parameterValue + } + + private enum CodingKeys: String, CodingKey { + case parameterKey = "ParameterKey" + case parameterValue = "ParameterValue" + } + } + + public struct DeviceEvent: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Value", required: false, type: .string), + AWSShapeMember(label: "Timestamp", required: false, type: .timestamp) + ] + /// The type of device event. + public let `type`: DeviceEventType? + /// The value of the event. + public let value: String? + /// The time (in epoch) when the event occurred. + public let timestamp: TimeStamp? + + public init(type: DeviceEventType? = nil, value: String? = nil, timestamp: TimeStamp? = nil) { + self.`type` = `type` + self.value = value + self.timestamp = timestamp + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + case value = "Value" + case timestamp = "Timestamp" + } + } + + public struct CreateUserResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserArn", required: false, type: .string) + ] + /// The ARN of the newly created user in the response. + public let userArn: String? + + public init(userArn: String? = nil) { + self.userArn = userArn + } + + private enum CodingKeys: String, CodingKey { + case userArn = "UserArn" + } + } + + public struct AssociateSkillGroupWithRoomRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoomArn", required: false, type: .string), + AWSShapeMember(label: "SkillGroupArn", required: false, type: .string) + ] + /// The ARN of the room with which to associate the skill group. Required. + public let roomArn: String? + /// The ARN of the skill group to associate with a room. Required. + public let skillGroupArn: String? + + public init(roomArn: String? = nil, skillGroupArn: String? = nil) { + self.roomArn = roomArn + self.skillGroupArn = skillGroupArn + } + + private enum CodingKeys: String, CodingKey { + case roomArn = "RoomArn" + case skillGroupArn = "SkillGroupArn" + } + } + + public struct GetRoomRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoomArn", required: false, type: .string) + ] + /// The ARN of the room for which to request details. Required. + public let roomArn: String? + + public init(roomArn: String? = nil) { + self.roomArn = roomArn + } + + private enum CodingKeys: String, CodingKey { + case roomArn = "RoomArn" + } + } + + public struct AddressBook: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "AddressBookArn", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The name of the address book. + public let name: String? + /// The ARN of the address book. + public let addressBookArn: String? + /// The description of the address book. + public let description: String? + + public init(name: String? = nil, addressBookArn: String? = nil, description: String? = nil) { + self.name = name + self.addressBookArn = addressBookArn + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case addressBookArn = "AddressBookArn" + case description = "Description" + } + } + + public struct ListSkillsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SkillSummaries", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// The list of enabled skills requested. Required. + public let skillSummaries: [SkillSummary]? + /// The token returned to indicate that there is more data available. + public let nextToken: String? + + public init(skillSummaries: [SkillSummary]? = nil, nextToken: String? = nil) { + self.skillSummaries = skillSummaries + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case skillSummaries = "SkillSummaries" + case nextToken = "NextToken" + } + } + + public struct GetAddressBookResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AddressBook", required: false, type: .structure) + ] + /// The details of the requested address book. + public let addressBook: AddressBook? + + public init(addressBook: AddressBook? = nil) { + self.addressBook = addressBook + } + + private enum CodingKeys: String, CodingKey { + case addressBook = "AddressBook" + } + } + + public enum WakeWord: String, CustomStringConvertible, Codable { + case alexa = "ALEXA" + case amazon = "AMAZON" + case echo = "ECHO" + case computer = "COMPUTER" + public var description: String { return self.rawValue } + } + + public struct AddressBookData: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "AddressBookArn", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The name of the address book. + public let name: String? + /// The ARN of the address book. + public let addressBookArn: String? + /// The description of the address book. + public let description: String? + + public init(name: String? = nil, addressBookArn: String? = nil, description: String? = nil) { + self.name = name + self.addressBookArn = addressBookArn + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case addressBookArn = "AddressBookArn" + case description = "Description" + } + } + + public struct DisassociateDeviceFromRoomRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceArn", required: false, type: .string) + ] + /// The ARN of the device to disassociate from a room. Required. + public let deviceArn: String? + + public init(deviceArn: String? = nil) { + self.deviceArn = deviceArn + } + + private enum CodingKeys: String, CodingKey { + case deviceArn = "DeviceArn" + } + } + + public struct ResolveRoomRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SkillId", required: true, type: .string), + AWSShapeMember(label: "UserId", required: true, type: .string) + ] + /// The ARN of the skill that was requested. Required. + public let skillId: String + /// The ARN of the user. Required. + public let userId: String + + public init(skillId: String, userId: String) { + self.skillId = skillId + self.userId = userId + } + + private enum CodingKeys: String, CodingKey { + case skillId = "SkillId" + case userId = "UserId" + } + } + + public enum DeviceEventType: String, CustomStringConvertible, Codable { + case connectionStatus = "CONNECTION_STATUS" + case deviceStatus = "DEVICE_STATUS" + public var description: String { return self.rawValue } + } + + public struct DeviceStatusInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConnectionStatus", required: false, type: .enum), + AWSShapeMember(label: "DeviceStatusDetails", required: false, type: .list) + ] + /// The latest available information about the connection status of a device. + public let connectionStatus: ConnectionStatus? + /// One or more device status detail descriptions. + public let deviceStatusDetails: [DeviceStatusDetail]? + + public init(connectionStatus: ConnectionStatus? = nil, deviceStatusDetails: [DeviceStatusDetail]? = nil) { + self.connectionStatus = connectionStatus + self.deviceStatusDetails = deviceStatusDetails + } + + private enum CodingKeys: String, CodingKey { + case connectionStatus = "ConnectionStatus" + case deviceStatusDetails = "DeviceStatusDetails" + } + } + + public struct SendInvitationResponse: AWSShape { + + } + + public struct UpdateAddressBookRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "AddressBookArn", required: true, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The updated name of the room. + public let name: String? + /// The ARN of the room to update. + public let addressBookArn: String + /// The updated description of the room. + public let description: String? + + public init(name: String? = nil, addressBookArn: String, description: String? = nil) { + self.name = name + self.addressBookArn = addressBookArn + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case addressBookArn = "AddressBookArn" + case description = "Description" + } + } + + public struct GetProfileResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Profile", required: false, type: .structure) + ] + /// The details of the room profile requested. Required. + public let profile: Profile? + + public init(profile: Profile? = nil) { + self.profile = profile + } + + private enum CodingKeys: String, CodingKey { + case profile = "Profile" + } + } + + public struct UntagResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Arn", required: true, type: .string), + AWSShapeMember(label: "TagKeys", required: true, type: .list) + ] + /// The ARN of the resource from which to remove metadata tags. Required. + public let arn: String + /// The tags to be removed from the specified resource. Do not provide system tags. Required. + public let tagKeys: [String] + + public init(arn: String, tagKeys: [String]) { + self.arn = arn + self.tagKeys = tagKeys + } + + private enum CodingKeys: String, CodingKey { + case arn = "Arn" + case tagKeys = "TagKeys" + } + } + + public struct SearchProfilesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "SortCriteria", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The filters to use to list a specified set of room profiles. Supported filter keys are ProfileName and Address. Required. + public let filters: [Filter]? + /// The sort order to use in listing the specified set of room profiles. Supported sort keys are ProfileName and Address. + public let sortCriteria: [Sort]? + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(filters: [Filter]? = nil, sortCriteria: [Sort]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.filters = filters + self.sortCriteria = sortCriteria + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case filters = "Filters" + case sortCriteria = "SortCriteria" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct GetSkillGroupResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SkillGroup", required: false, type: .structure) + ] + /// The details of the skill group requested. Required. + public let skillGroup: SkillGroup? + + public init(skillGroup: SkillGroup? = nil) { + self.skillGroup = skillGroup + } + + private enum CodingKeys: String, CodingKey { + case skillGroup = "SkillGroup" + } + } + + public struct GetAddressBookRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AddressBookArn", required: true, type: .string) + ] + /// The ARN of the address book for which to request details. + public let addressBookArn: String + + public init(addressBookArn: String) { + self.addressBookArn = addressBookArn + } + + private enum CodingKeys: String, CodingKey { + case addressBookArn = "AddressBookArn" + } + } + + public struct Contact: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PhoneNumber", required: false, type: .string), + AWSShapeMember(label: "ContactArn", required: false, type: .string), + AWSShapeMember(label: "FirstName", required: false, type: .string), + AWSShapeMember(label: "DisplayName", required: false, type: .string), + AWSShapeMember(label: "LastName", required: false, type: .string) + ] + /// The phone number of the contact. + public let phoneNumber: String? + /// The ARN of the contact. + public let contactArn: String? + /// The first name of the contact, used to call the contact on the device. + public let firstName: String? + /// The name of the contact to display on the console. + public let displayName: String? + /// The last name of the contact, used to call the contact on the device. + public let lastName: String? + + public init(phoneNumber: String? = nil, contactArn: String? = nil, firstName: String? = nil, displayName: String? = nil, lastName: String? = nil) { + self.phoneNumber = phoneNumber + self.contactArn = contactArn + self.firstName = firstName + self.displayName = displayName + self.lastName = lastName + } + + private enum CodingKeys: String, CodingKey { + case phoneNumber = "PhoneNumber" + case contactArn = "ContactArn" + case firstName = "FirstName" + case displayName = "DisplayName" + case lastName = "LastName" + } + } + + public struct DeleteRoomRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoomArn", required: false, type: .string) + ] + /// The ARN of the room to delete. Required. + public let roomArn: String? + + public init(roomArn: String? = nil) { + self.roomArn = roomArn + } + + private enum CodingKeys: String, CodingKey { + case roomArn = "RoomArn" + } + } + + public struct DeleteProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ProfileArn", required: false, type: .string) + ] + /// The ARN of the room profile to delete. Required. + public let profileArn: String? + + public init(profileArn: String? = nil) { + self.profileArn = profileArn + } + + private enum CodingKeys: String, CodingKey { + case profileArn = "ProfileArn" + } + } + + public struct GetDeviceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceArn", required: false, type: .string) + ] + /// The ARN of the device for which to request details. Required. + public let deviceArn: String? + + public init(deviceArn: String? = nil) { + self.deviceArn = deviceArn + } + + private enum CodingKeys: String, CodingKey { + case deviceArn = "DeviceArn" + } + } + + public struct UpdateDeviceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceArn", required: false, type: .string), + AWSShapeMember(label: "DeviceName", required: false, type: .string) + ] + /// The ARN of the device to update. Required. + public let deviceArn: String? + /// The updated device name. Required. + public let deviceName: String? + + public init(deviceArn: String? = nil, deviceName: String? = nil) { + self.deviceArn = deviceArn + self.deviceName = deviceName + } + + private enum CodingKeys: String, CodingKey { + case deviceArn = "DeviceArn" + case deviceName = "DeviceName" + } + } + + public struct RoomData: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoomArn", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "ProviderCalendarId", required: false, type: .string), + AWSShapeMember(label: "RoomName", required: false, type: .string), + AWSShapeMember(label: "ProfileName", required: false, type: .string), + AWSShapeMember(label: "ProfileArn", required: false, type: .string) + ] + /// The ARN of a room. + public let roomArn: String? + /// The description of a room. + public let description: String? + /// The provider calendar ARN of a room. + public let providerCalendarId: String? + /// The name of a room. + public let roomName: String? + /// The profile name of a room. + public let profileName: String? + /// The profile ARN of a room. + public let profileArn: String? + + public init(roomArn: String? = nil, description: String? = nil, providerCalendarId: String? = nil, roomName: String? = nil, profileName: String? = nil, profileArn: String? = nil) { + self.roomArn = roomArn + self.description = description + self.providerCalendarId = providerCalendarId + self.roomName = roomName + self.profileName = profileName + self.profileArn = profileArn + } + + private enum CodingKeys: String, CodingKey { + case roomArn = "RoomArn" + case description = "Description" + case providerCalendarId = "ProviderCalendarId" + case roomName = "RoomName" + case profileName = "ProfileName" + case profileArn = "ProfileArn" + } + } + + public struct GetSkillGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SkillGroupArn", required: false, type: .string) + ] + /// The ARN of the skill group for which to get details. Required. + public let skillGroupArn: String? + + public init(skillGroupArn: String? = nil) { + self.skillGroupArn = skillGroupArn + } + + private enum CodingKeys: String, CodingKey { + case skillGroupArn = "SkillGroupArn" + } + } + + public struct CreateRoomRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "ProviderCalendarId", required: false, type: .string), + AWSShapeMember(label: "ClientRequestToken", required: false, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "RoomName", required: true, type: .string), + AWSShapeMember(label: "ProfileArn", required: false, type: .string) + ] + /// The description for the room. + public let description: String? + /// The calendar ARN for the room. + public let providerCalendarId: String? + /// A unique, user-specified identifier for this request that ensures idempotency. + public let clientRequestToken: String? + /// The tags for the room. + public let tags: [Tag]? + /// The name for the room. + public let roomName: String + /// The profile ARN for the room. + public let profileArn: String? + + public init(description: String? = nil, providerCalendarId: String? = nil, clientRequestToken: String? = nil, tags: [Tag]? = nil, roomName: String, profileArn: String? = nil) { + self.description = description + self.providerCalendarId = providerCalendarId + self.clientRequestToken = clientRequestToken + self.tags = tags + self.roomName = roomName + self.profileArn = profileArn + } + + private enum CodingKeys: String, CodingKey { + case description = "Description" + case providerCalendarId = "ProviderCalendarId" + case clientRequestToken = "ClientRequestToken" + case tags = "Tags" + case roomName = "RoomName" + case profileArn = "ProfileArn" + } + } + + public struct SearchAddressBooksResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AddressBooks", required: false, type: .list), + AWSShapeMember(label: "TotalCount", required: false, type: .integer), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// The address books that meet the specified set of filter criteria, in sort order. + public let addressBooks: [AddressBookData]? + /// The total number of address books returned. + public let totalCount: Int32? + /// The token returned to indicate that there is more data available. + public let nextToken: String? + + public init(addressBooks: [AddressBookData]? = nil, totalCount: Int32? = nil, nextToken: String? = nil) { + self.addressBooks = addressBooks + self.totalCount = totalCount + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case addressBooks = "AddressBooks" + case totalCount = "TotalCount" + case nextToken = "NextToken" + } + } + + public struct SkillGroup: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "SkillGroupArn", required: false, type: .string), + AWSShapeMember(label: "SkillGroupName", required: false, type: .string) + ] + /// The description of a skill group. + public let description: String? + /// The ARN of a skill group. + public let skillGroupArn: String? + /// The name of a skill group. + public let skillGroupName: String? + + public init(description: String? = nil, skillGroupArn: String? = nil, skillGroupName: String? = nil) { + self.description = description + self.skillGroupArn = skillGroupArn + self.skillGroupName = skillGroupName + } + + private enum CodingKeys: String, CodingKey { + case description = "Description" + case skillGroupArn = "SkillGroupArn" + case skillGroupName = "SkillGroupName" + } + } + + public struct SearchRoomsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Rooms", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "TotalCount", required: false, type: .integer) + ] + /// The rooms that meet the specified set of filter criteria, in sort order. + public let rooms: [RoomData]? + /// The token returned to indicate that there is more data available. + public let nextToken: String? + /// The total number of rooms returned. + public let totalCount: Int32? + + public init(rooms: [RoomData]? = nil, nextToken: String? = nil, totalCount: Int32? = nil) { + self.rooms = rooms + self.nextToken = nextToken + self.totalCount = totalCount + } + + private enum CodingKeys: String, CodingKey { + case rooms = "Rooms" + case nextToken = "NextToken" + case totalCount = "TotalCount" + } + } + + public struct GetContactRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContactArn", required: true, type: .string) + ] + /// The ARN of the contact for which to request details. + public let contactArn: String + + public init(contactArn: String) { + self.contactArn = contactArn + } + + private enum CodingKeys: String, CodingKey { + case contactArn = "ContactArn" + } + } + + public struct SkillSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SkillName", required: false, type: .string), + AWSShapeMember(label: "SkillId", required: false, type: .string), + AWSShapeMember(label: "SupportsLinking", required: false, type: .boolean) + ] + /// The name of the skill. + public let skillName: String? + /// The ARN of the skill summary. + public let skillId: String? + /// Linking support for a skill. + public let supportsLinking: Bool? + + public init(skillName: String? = nil, skillId: String? = nil, supportsLinking: Bool? = nil) { + self.skillName = skillName + self.skillId = skillId + self.supportsLinking = supportsLinking + } + + private enum CodingKeys: String, CodingKey { + case skillName = "SkillName" + case skillId = "SkillId" + case supportsLinking = "SupportsLinking" + } + } + public struct DeleteSkillGroupRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SkillGroupArn", required: false, type: .string) @@ -691,10 +1577,6 @@ extension Alexaforbusiness { } } - public struct PutRoomSkillParameterResponse: AWSShape { - - } - public struct Sort: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Value", required: true, type: .enum), @@ -716,32 +1598,36 @@ extension Alexaforbusiness { } } - public struct UpdateSkillGroupRequest: AWSShape { + public struct SearchContactsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "SkillGroupArn", required: false, type: .string), - AWSShapeMember(label: "SkillGroupName", required: false, type: .string) + AWSShapeMember(label: "TotalCount", required: false, type: .integer), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Contacts", required: false, type: .list) ] - /// The updated description for the skill group. - public let description: String? - /// The ARN of the skill group to update. - public let skillGroupArn: String? - /// The updated name for the skill group. - public let skillGroupName: String? + /// The total number of contacts returned. + public let totalCount: Int32? + /// The token returned to indicate that there is more data available. + public let nextToken: String? + /// The contacts that meet the specified set of filter criteria, in sort order. + public let contacts: [ContactData]? - public init(description: String? = nil, skillGroupArn: String? = nil, skillGroupName: String? = nil) { - self.description = description - self.skillGroupArn = skillGroupArn - self.skillGroupName = skillGroupName + public init(totalCount: Int32? = nil, nextToken: String? = nil, contacts: [ContactData]? = nil) { + self.totalCount = totalCount + self.nextToken = nextToken + self.contacts = contacts } private enum CodingKeys: String, CodingKey { - case description = "Description" - case skillGroupArn = "SkillGroupArn" - case skillGroupName = "SkillGroupName" + case totalCount = "TotalCount" + case nextToken = "NextToken" + case contacts = "Contacts" } } + public struct StartDeviceSyncResponse: AWSShape { + + } + public struct SearchProfilesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Profiles", required: false, type: .list), @@ -768,10 +1654,6 @@ extension Alexaforbusiness { } } - public struct StartDeviceSyncResponse: AWSShape { - - } - public struct SearchDevicesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Filters", required: false, type: .list), @@ -779,9 +1661,9 @@ extension Alexaforbusiness { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The filters to use to list a specified set of devices. Supported filter keys are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber, and UnassociatedOnly. + /// 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). public let filters: [Filter]? - /// The sort order to use in listing the specified set of devices. Supported sort keys are DeviceName, DeviceStatus, RoomName, DeviceType, and DeviceSerialNumber. + /// The sort order to use in listing the specified set of devices. Supported sort keys are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber, and ConnectionStatus. public let sortCriteria: [Sort]? /// 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. public let nextToken: String? @@ -864,57 +1746,6 @@ extension Alexaforbusiness { } } - public struct StartDeviceSyncRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RoomArn", required: false, type: .string), - AWSShapeMember(label: "DeviceArn", required: false, type: .string), - AWSShapeMember(label: "Features", required: true, type: .list) - ] - /// The ARN of the room with which the device to sync is associated. Required. - public let roomArn: String? - /// The ARN of the device to sync. Required. - public let deviceArn: String? - /// Request structure to start the device sync. Required. - public let features: [Feature] - - public init(roomArn: String? = nil, deviceArn: String? = nil, features: [Feature]) { - self.roomArn = roomArn - self.deviceArn = deviceArn - self.features = features - } - - private enum CodingKeys: String, CodingKey { - case roomArn = "RoomArn" - case deviceArn = "DeviceArn" - case features = "Features" - } - } - - public struct DeleteUserRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EnrollmentId", required: true, type: .string), - AWSShapeMember(label: "UserArn", required: false, type: .string) - ] - /// The ARN of the user's enrollment in the organization. Required. - public let enrollmentId: String - /// The ARN of the user to delete in the organization. Required. - public let userArn: String? - - public init(enrollmentId: String, userArn: String? = nil) { - self.enrollmentId = enrollmentId - self.userArn = userArn - } - - private enum CodingKeys: String, CodingKey { - case enrollmentId = "EnrollmentId" - case userArn = "UserArn" - } - } - - public struct AssociateSkillGroupWithRoomResponse: AWSShape { - - } - public struct RevokeInvitationResponse: AWSShape { } @@ -923,55 +1754,10 @@ extension Alexaforbusiness { } - public struct GetRoomResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Room", required: false, type: .structure) - ] - /// The details of the room requested. - public let room: Room? - - public init(room: Room? = nil) { - self.room = room - } - - private enum CodingKeys: String, CodingKey { - case room = "Room" - } - } - - public struct UpdateSkillGroupResponse: AWSShape { - - } - - public struct SearchUsersRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "SortCriteria", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// The filters to use for listing a specific set of users. Required. Supported filter keys are UserId, FirstName, LastName, Email, and EnrollmentStatus. - public let filters: [Filter]? - /// The sort order to use in listing the filtered set of users. Required. Supported sort keys are UserId, FirstName, LastName, Email, and EnrollmentStatus. - public let sortCriteria: [Sort]? - /// 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. - public let nextToken: String? - /// 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. - public let maxResults: Int32? - - public init(filters: [Filter]? = nil, sortCriteria: [Sort]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.filters = filters - self.sortCriteria = sortCriteria - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case filters = "Filters" - case sortCriteria = "SortCriteria" - case nextToken = "NextToken" - case maxResults = "MaxResults" - } + public enum ConnectionStatus: String, CustomStringConvertible, Codable { + case online = "ONLINE" + case offline = "OFFLINE" + public var description: String { return self.rawValue } } public struct UpdateDeviceResponse: AWSShape { @@ -1003,75 +1789,65 @@ extension Alexaforbusiness { } } - public struct CreateSkillGroupResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SkillGroupArn", required: false, type: .string) - ] - /// The ARN of the newly created skill group in the response. - public let skillGroupArn: String? - - public init(skillGroupArn: String? = nil) { - self.skillGroupArn = skillGroupArn - } - - private enum CodingKeys: String, CodingKey { - case skillGroupArn = "SkillGroupArn" - } - } - public struct DisassociateDeviceFromRoomResponse: AWSShape { } - public struct GetProfileRequest: AWSShape { + public struct DisassociateContactFromAddressBookRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ProfileArn", required: false, type: .string) + AWSShapeMember(label: "AddressBookArn", required: true, type: .string), + AWSShapeMember(label: "ContactArn", required: true, type: .string) ] - /// The ARN of the room profile for which to request details. Required. - public let profileArn: String? + /// The ARN of the address from which to disassociate the contact. + public let addressBookArn: String + /// The ARN of the contact to disassociate from an address book. + public let contactArn: String - public init(profileArn: String? = nil) { - self.profileArn = profileArn + public init(addressBookArn: String, contactArn: String) { + self.addressBookArn = addressBookArn + self.contactArn = contactArn } private enum CodingKeys: String, CodingKey { - case profileArn = "ProfileArn" + case addressBookArn = "AddressBookArn" + case contactArn = "ContactArn" } } - public struct UpdateRoomRequest: AWSShape { + public enum DeviceStatusDetailCode: String, CustomStringConvertible, Codable { + case deviceSoftwareUpdateNeeded = "DEVICE_SOFTWARE_UPDATE_NEEDED" + case deviceWasOffline = "DEVICE_WAS_OFFLINE" + public var description: String { return self.rawValue } + } + + public struct SearchContactsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RoomArn", required: false, type: .string), - AWSShapeMember(label: "ProviderCalendarId", required: false, type: .string), - AWSShapeMember(label: "RoomName", required: false, type: .string), - AWSShapeMember(label: "ProfileArn", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "SortCriteria", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The ARN of the room to update. - public let roomArn: String? - /// The updated provider calendar ARN for the room. - public let providerCalendarId: String? - /// The updated name for the room. - public let roomName: String? - /// The updated profile ARN for the room. - public let profileArn: String? - /// The updated description for the room. - public let description: String? + /// The filters to use to list a specified set of address books. The supported filter keys are DisplayName, FirstName, LastName, and AddressBookArns. + public let filters: [Filter]? + /// The sort order to use in listing the specified set of contacts. The supported sort keys are DisplayName, FirstName, and LastName. + public let sortCriteria: [Sort]? + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? - public init(roomArn: String? = nil, providerCalendarId: String? = nil, roomName: String? = nil, profileArn: String? = nil, description: String? = nil) { - self.roomArn = roomArn - self.providerCalendarId = providerCalendarId - self.roomName = roomName - self.profileArn = profileArn - self.description = description + public init(filters: [Filter]? = nil, sortCriteria: [Sort]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.filters = filters + self.sortCriteria = sortCriteria + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case roomArn = "RoomArn" - case providerCalendarId = "ProviderCalendarId" - case roomName = "RoomName" - case profileArn = "ProfileArn" - case description = "Description" + case filters = "Filters" + case sortCriteria = "SortCriteria" + case nextToken = "NextToken" + case maxResults = "MaxResults" } } @@ -1079,7 +1855,7 @@ extension Alexaforbusiness { } - public struct DeleteUserResponse: AWSShape { + public struct DeleteAddressBookResponse: AWSShape { } @@ -1109,10 +1885,56 @@ extension Alexaforbusiness { } } - public enum SortValue: String, CustomStringConvertible, Codable { - case asc = "ASC" - case desc = "DESC" - public var description: String { return self.rawValue } + public struct CreateAddressBookResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AddressBookArn", required: false, type: .string) + ] + /// The ARN of the newly created address book. + public let addressBookArn: String? + + public init(addressBookArn: String? = nil) { + self.addressBookArn = addressBookArn + } + + private enum CodingKeys: String, CodingKey { + case addressBookArn = "AddressBookArn" + } + } + + public struct CreateContactRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PhoneNumber", required: true, type: .string), + AWSShapeMember(label: "FirstName", required: true, type: .string), + AWSShapeMember(label: "ClientRequestToken", required: false, type: .string), + AWSShapeMember(label: "DisplayName", required: false, type: .string), + AWSShapeMember(label: "LastName", required: false, type: .string) + ] + /// The phone number of the contact in E.164 format. + public let phoneNumber: String + /// The first name of the contact that is used to call the contact on the device. + public let firstName: String + /// A unique, user-specified identifier for this request that ensures idempotency. + public let clientRequestToken: String? + /// The name of the contact to display on the console. + public let displayName: String? + /// The last name of the contact that is used to call the contact on the device. + public let lastName: String? + + public init(phoneNumber: String, firstName: String, clientRequestToken: String? = nil, displayName: String? = nil, lastName: String? = nil) { + self.phoneNumber = phoneNumber + self.firstName = firstName + self.clientRequestToken = clientRequestToken + self.displayName = displayName + self.lastName = lastName + } + + private enum CodingKeys: String, CodingKey { + case phoneNumber = "PhoneNumber" + case firstName = "FirstName" + case clientRequestToken = "ClientRequestToken" + case displayName = "DisplayName" + case lastName = "LastName" + } } public struct SendInvitationRequest: AWSShape { @@ -1131,29 +1953,24 @@ extension Alexaforbusiness { } } - public struct SearchUsersResponse: AWSShape { + public struct AssociateContactWithAddressBookRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Users", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "TotalCount", required: false, type: .integer) + AWSShapeMember(label: "AddressBookArn", required: true, type: .string), + AWSShapeMember(label: "ContactArn", required: true, type: .string) ] - /// The users that meet the specified set of filter criteria, in sort order. - public let users: [UserData]? - /// The token returned to indicate that there is more data available. - public let nextToken: String? - /// The total number of users returned. - public let totalCount: Int32? + /// The ARN of the address book with which to associate the contact. + public let addressBookArn: String + /// The ARN of the contact to associate with an address book. + public let contactArn: String - public init(users: [UserData]? = nil, nextToken: String? = nil, totalCount: Int32? = nil) { - self.users = users - self.nextToken = nextToken - self.totalCount = totalCount + public init(addressBookArn: String, contactArn: String) { + self.addressBookArn = addressBookArn + self.contactArn = contactArn } private enum CodingKeys: String, CodingKey { - case users = "Users" - case nextToken = "NextToken" - case totalCount = "TotalCount" + case addressBookArn = "AddressBookArn" + case contactArn = "ContactArn" } } @@ -1202,25 +2019,55 @@ extension Alexaforbusiness { } } - public struct RoomSkillParameter: AWSShape { + public struct ListDeviceEventsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ParameterKey", required: true, type: .string), - AWSShapeMember(label: "ParameterValue", required: true, type: .string) + AWSShapeMember(label: "DeviceArn", required: true, type: .string), + AWSShapeMember(label: "EventType", required: false, type: .enum), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The parameter key of a room skill parameter. ParameterKey is an enumerated type that only takes “DEFAULT” or “SCOPE” as valid values. - public let parameterKey: String - /// The parameter value of a room skill parameter. - public let parameterValue: String + /// The ARN of a device. + public let deviceArn: String + /// 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. + public let eventType: DeviceEventType? + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? - public init(parameterKey: String, parameterValue: String) { - self.parameterKey = parameterKey - self.parameterValue = parameterValue + public init(deviceArn: String, eventType: DeviceEventType? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.deviceArn = deviceArn + self.eventType = eventType + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case parameterKey = "ParameterKey" - case parameterValue = "ParameterValue" + case deviceArn = "DeviceArn" + case eventType = "EventType" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct DeleteAddressBookRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AddressBookArn", required: true, type: .string) + ] + /// The ARN of the address book to delete. + public let addressBookArn: String + + public init(addressBookArn: String) { + self.addressBookArn = addressBookArn } + + private enum CodingKeys: String, CodingKey { + case addressBookArn = "AddressBookArn" + } + } + + public struct AssociateContactWithAddressBookResponse: AWSShape { + } public struct CreateSkillGroupRequest: AWSShape { @@ -1249,10 +2096,6 @@ extension Alexaforbusiness { } } - public struct UpdateProfileResponse: AWSShape { - - } - public struct SearchSkillGroupsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -1279,41 +2122,8 @@ extension Alexaforbusiness { } } - public struct CreateUserResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "UserArn", required: false, type: .string) - ] - /// The ARN of the newly created user in the response. - public let userArn: String? - - public init(userArn: String? = nil) { - self.userArn = userArn - } - - private enum CodingKeys: String, CodingKey { - case userArn = "UserArn" - } - } - - public struct AssociateSkillGroupWithRoomRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RoomArn", required: false, type: .string), - AWSShapeMember(label: "SkillGroupArn", required: false, type: .string) - ] - /// The ARN of the room with which to associate the skill group. Required. - public let roomArn: String? - /// The ARN of the skill group to associate with a room. Required. - public let skillGroupArn: String? - - public init(roomArn: String? = nil, skillGroupArn: String? = nil) { - self.roomArn = roomArn - self.skillGroupArn = skillGroupArn - } + public struct UpdateProfileResponse: AWSShape { - private enum CodingKeys: String, CodingKey { - case roomArn = "RoomArn" - case skillGroupArn = "SkillGroupArn" - } } public struct DeleteRoomResponse: AWSShape { @@ -1366,41 +2176,8 @@ extension Alexaforbusiness { } } - public struct GetRoomRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RoomArn", required: false, type: .string) - ] - /// The ARN of the room for which to request details. Required. - public let roomArn: String? - - public init(roomArn: String? = nil) { - self.roomArn = roomArn - } - - private enum CodingKeys: String, CodingKey { - case roomArn = "RoomArn" - } - } - - public struct ListSkillsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SkillSummaries", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) - ] - /// The list of enabled skills requested. Required. - public let skillSummaries: [SkillSummary]? - /// The token returned to indicate that there is more data available. - public let nextToken: String? - - public init(skillSummaries: [SkillSummary]? = nil, nextToken: String? = nil) { - self.skillSummaries = skillSummaries - self.nextToken = nextToken - } + public struct UpdateAddressBookResponse: AWSShape { - private enum CodingKeys: String, CodingKey { - case skillSummaries = "SkillSummaries" - case nextToken = "NextToken" - } } public struct GetDeviceResponse: AWSShape { @@ -1419,14 +2196,6 @@ extension Alexaforbusiness { } } - public enum WakeWord: String, CustomStringConvertible, Codable { - case alexa = "ALEXA" - case amazon = "AMAZON" - case echo = "ECHO" - case computer = "COMPUTER" - public var description: String { return self.rawValue } - } - public struct DisassociateSkillGroupFromRoomRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RoomArn", required: false, type: .string), @@ -1448,6 +2217,22 @@ extension Alexaforbusiness { } } + public struct DeleteContactRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContactArn", required: true, type: .string) + ] + /// The ARN of the contact to delete. + public let contactArn: String + + public init(contactArn: String) { + self.contactArn = contactArn + } + + private enum CodingKeys: String, CodingKey { + case contactArn = "ContactArn" + } + } + public struct SearchRoomsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Filters", required: false, type: .list), @@ -1483,19 +2268,19 @@ extension Alexaforbusiness { } - public struct DisassociateDeviceFromRoomRequest: AWSShape { + public struct CreateContactResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DeviceArn", required: false, type: .string) + AWSShapeMember(label: "ContactArn", required: false, type: .string) ] - /// The ARN of the device to disassociate from a room. Required. - public let deviceArn: String? + /// The ARN of the newly created address book. + public let contactArn: String? - public init(deviceArn: String? = nil) { - self.deviceArn = deviceArn + public init(contactArn: String? = nil) { + self.contactArn = contactArn } private enum CodingKeys: String, CodingKey { - case deviceArn = "DeviceArn" + case contactArn = "ContactArn" } } @@ -1503,42 +2288,12 @@ extension Alexaforbusiness { } - public struct ResolveRoomRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SkillId", required: true, type: .string), - AWSShapeMember(label: "UserId", required: true, type: .string) - ] - /// The ARN of the skill that was requested. Required. - public let skillId: String - /// The ARN of the user. Required. - public let userId: String - - public init(skillId: String, userId: String) { - self.skillId = skillId - self.userId = userId - } - - private enum CodingKeys: String, CodingKey { - case skillId = "SkillId" - case userId = "UserId" - } - } - - public enum Feature: String, CustomStringConvertible, Codable { - case bluetooth = "BLUETOOTH" - case volume = "VOLUME" - case notifications = "NOTIFICATIONS" - case lists = "LISTS" - case skills = "SKILLS" - case all = "ALL" - public var description: String { return self.rawValue } - } - public struct Device: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RoomArn", required: false, type: .string), AWSShapeMember(label: "MacAddress", required: false, type: .string), AWSShapeMember(label: "DeviceSerialNumber", required: false, type: .string), + AWSShapeMember(label: "DeviceStatusInfo", required: false, type: .structure), AWSShapeMember(label: "DeviceArn", required: false, type: .string), AWSShapeMember(label: "DeviceStatus", required: false, type: .enum), AWSShapeMember(label: "SoftwareVersion", required: false, type: .string), @@ -1551,9 +2306,11 @@ extension Alexaforbusiness { public let macAddress: String? /// The serial number of a device. public let deviceSerialNumber: String? + /// Detailed information about a device's status. + public let deviceStatusInfo: DeviceStatusInfo? /// The ARN of a device. public let deviceArn: String? - /// The status of a device. + /// The status of a device. If the status is not READY, check the DeviceStatusInfo value for details. public let deviceStatus: DeviceStatus? /// The software version of a device. public let softwareVersion: String? @@ -1562,10 +2319,11 @@ extension Alexaforbusiness { /// The name of a device. public let deviceName: String? - public init(roomArn: String? = nil, macAddress: String? = nil, deviceSerialNumber: String? = nil, deviceArn: String? = nil, deviceStatus: DeviceStatus? = nil, softwareVersion: String? = nil, deviceType: String? = nil, deviceName: String? = nil) { + public init(roomArn: String? = nil, macAddress: String? = nil, deviceSerialNumber: String? = nil, deviceStatusInfo: DeviceStatusInfo? = nil, deviceArn: String? = nil, deviceStatus: DeviceStatus? = nil, softwareVersion: String? = nil, deviceType: String? = nil, deviceName: String? = nil) { self.roomArn = roomArn self.macAddress = macAddress self.deviceSerialNumber = deviceSerialNumber + self.deviceStatusInfo = deviceStatusInfo self.deviceArn = deviceArn self.deviceStatus = deviceStatus self.softwareVersion = softwareVersion @@ -1577,6 +2335,7 @@ extension Alexaforbusiness { case roomArn = "RoomArn" case macAddress = "MacAddress" case deviceSerialNumber = "DeviceSerialNumber" + case deviceStatusInfo = "DeviceStatusInfo" case deviceArn = "DeviceArn" case deviceStatus = "DeviceStatus" case softwareVersion = "SoftwareVersion" @@ -1585,6 +2344,20 @@ extension Alexaforbusiness { } } + public enum Feature: String, CustomStringConvertible, Codable { + case bluetooth = "BLUETOOTH" + case volume = "VOLUME" + case notifications = "NOTIFICATIONS" + case lists = "LISTS" + case skills = "SKILLS" + case all = "ALL" + public var description: String { return self.rawValue } + } + + public struct DisassociateContactFromAddressBookResponse: AWSShape { + + } + public struct DeleteRoomSkillParameterRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RoomArn", required: false, type: .string), @@ -1611,10 +2384,6 @@ extension Alexaforbusiness { } } - public struct SendInvitationResponse: AWSShape { - - } - public struct Room: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RoomArn", required: false, type: .string), @@ -1720,7 +2489,7 @@ extension Alexaforbusiness { ] /// 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. public let nextToken: String? - /// The ARN of the specific resource for which to list tags. Required. + /// The ARN of the specified resource for which to list tags. public let arn: String /// 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. public let maxResults: Int32? @@ -1738,22 +2507,6 @@ extension Alexaforbusiness { } } - public struct GetProfileResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Profile", required: false, type: .structure) - ] - /// The details of the room profile requested. Required. - public let profile: Profile? - - public init(profile: Profile? = nil) { - self.profile = profile - } - - private enum CodingKeys: String, CodingKey { - case profile = "Profile" - } - } - public struct CreateRoomResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RoomArn", required: false, type: .string) @@ -1831,58 +2584,6 @@ extension Alexaforbusiness { } } - public struct SearchProfilesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "SortCriteria", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// The filters to use to list a specified set of room profiles. Supported filter keys are ProfileName and Address. Required. - public let filters: [Filter]? - /// The sort order to use in listing the specified set of room profiles. Supported sort keys are ProfileName and Address. - public let sortCriteria: [Sort]? - /// 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. - public let nextToken: String? - /// 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. - public let maxResults: Int32? - - public init(filters: [Filter]? = nil, sortCriteria: [Sort]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.filters = filters - self.sortCriteria = sortCriteria - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case filters = "Filters" - case sortCriteria = "SortCriteria" - case nextToken = "NextToken" - case maxResults = "MaxResults" - } - } - - public struct UntagResourceRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Arn", required: true, type: .string), - AWSShapeMember(label: "TagKeys", required: true, type: .list) - ] - /// The ARN of the resource from which to remove metadata tags. Required. - public let arn: String - /// The tags to be removed from the specified resource. Do not provide system tags. Required. - public let tagKeys: [String] - - public init(arn: String, tagKeys: [String]) { - self.arn = arn - self.tagKeys = tagKeys - } - - private enum CodingKeys: String, CodingKey { - case arn = "Arn" - case tagKeys = "TagKeys" - } - } - public struct Filter: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Key", required: true, type: .string), diff --git a/Sources/AWSSDKSwift/Services/apigateway/Apigateway_API.swift b/Sources/AWSSDKSwift/Services/apigateway/Apigateway_API.swift index 48b4c568b1c..217b76914c1 100644 --- a/Sources/AWSSDKSwift/Services/apigateway/Apigateway_API.swift +++ b/Sources/AWSSDKSwift/Services/apigateway/Apigateway_API.swift @@ -39,9 +39,8 @@ public struct Apigateway { return try client.send(operation: "GetBasePathMapping", path: "/domainnames/{domain_name}/basepathmappings/{base_path}", httpMethod: "GET", input: input) } - /// Represents a put integration. - public func putIntegrationResponse(_ input: PutIntegrationResponseRequest) throws -> IntegrationResponse { - return try client.send(operation: "PutIntegrationResponse", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", httpMethod: "PUT", input: input) + public func getDocumentationVersion(_ input: GetDocumentationVersionRequest) throws -> DocumentationVersion { + return try client.send(operation: "GetDocumentationVersion", path: "/restapis/{restapi_id}/documentation/versions/{doc_version}", httpMethod: "GET", input: input) } /// Gets information about the current Account resource. @@ -54,13 +53,9 @@ public struct Apigateway { return try client.send(operation: "GetApiKeys", path: "/apikeys", httpMethod: "GET", input: input) } - public func getDocumentationVersion(_ input: GetDocumentationVersionRequest) throws -> DocumentationVersion { - return try client.send(operation: "GetDocumentationVersion", path: "/restapis/{restapi_id}/documentation/versions/{doc_version}", httpMethod: "GET", input: input) - } - - /// Deletes an existing VpcLink of a specified identifier. - public func deleteVpcLink(_ input: DeleteVpcLinkRequest) throws { - _ = try client.send(operation: "DeleteVpcLink", path: "/vpclinks/{vpclink_id}", httpMethod: "DELETE", input: input) + /// Represents a put integration. + public func putIntegrationResponse(_ input: PutIntegrationResponseRequest) throws -> IntegrationResponse { + return try client.send(operation: "PutIntegrationResponse", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", httpMethod: "PUT", input: input) } /// Changes information about a Resource resource. @@ -68,14 +63,18 @@ public struct Apigateway { return try client.send(operation: "UpdateResource", path: "/restapis/{restapi_id}/resources/{resource_id}", httpMethod: "PATCH", input: input) } - /// Changes information about the BasePathMapping resource. - public func updateBasePathMapping(_ input: UpdateBasePathMappingRequest) throws -> BasePathMapping { - return try client.send(operation: "UpdateBasePathMapping", path: "/domainnames/{domain_name}/basepathmappings/{base_path}", httpMethod: "PATCH", input: input) + /// Deletes an existing VpcLink of a specified identifier. + public func deleteVpcLink(_ input: DeleteVpcLinkRequest) throws { + _ = try client.send(operation: "DeleteVpcLink", path: "/vpclinks/{vpclink_id}", httpMethod: "DELETE", input: input) } - /// Updates an existing Authorizer resource. AWS CLI - public func updateAuthorizer(_ input: UpdateAuthorizerRequest) throws -> Authorizer { - return try client.send(operation: "UpdateAuthorizer", path: "/restapis/{restapi_id}/authorizers/{authorizer_id}", httpMethod: "PATCH", input: input) + /// Gets the Tags collection for a given resource. + public func getTags(_ input: GetTagsRequest) throws -> Tags { + return try client.send(operation: "GetTags", path: "/tags/{resource_arn}", httpMethod: "GET", input: input) + } + + public func deleteDocumentationVersion(_ input: DeleteDocumentationVersionRequest) throws { + _ = try client.send(operation: "DeleteDocumentationVersion", path: "/restapis/{restapi_id}/documentation/versions/{doc_version}", httpMethod: "DELETE", input: input) } /// Represents a delete integration. @@ -106,8 +105,14 @@ public struct Apigateway { return try client.send(operation: "GetMethod", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}", httpMethod: "GET", input: input) } - public func deleteDocumentationVersion(_ input: DeleteDocumentationVersionRequest) throws { - _ = try client.send(operation: "DeleteDocumentationVersion", path: "/restapis/{restapi_id}/documentation/versions/{doc_version}", httpMethod: "DELETE", input: input) + /// Updates an existing Authorizer resource. AWS CLI + public func updateAuthorizer(_ input: UpdateAuthorizerRequest) throws -> Authorizer { + return try client.send(operation: "UpdateAuthorizer", path: "/restapis/{restapi_id}/authorizers/{authorizer_id}", httpMethod: "PATCH", input: input) + } + + /// Changes information about the BasePathMapping resource. + public func updateBasePathMapping(_ input: UpdateBasePathMappingRequest) throws -> BasePathMapping { + return try client.send(operation: "UpdateBasePathMapping", path: "/domainnames/{domain_name}/basepathmappings/{base_path}", httpMethod: "PATCH", input: input) } public func getDocumentationPart(_ input: GetDocumentationPartRequest) throws -> DocumentationPart { @@ -144,6 +149,11 @@ public struct Apigateway { return try client.send(operation: "GenerateClientCertificate", path: "/clientcertificates", httpMethod: "POST", input: input) } + /// Adds or updates a tag on a given resource. + public func tagResource(_ input: TagResourceRequest) throws { + _ = try client.send(operation: "TagResource", path: "/tags/{resource_arn}", httpMethod: "PUT", input: input) + } + /// Creates a usage plan with the throttle and quota limits, as well as the associated API stages, specified in the payload. public func createUsagePlan(_ input: CreateUsagePlanRequest) throws -> UsagePlan { return try client.send(operation: "CreateUsagePlan", path: "/usageplans", httpMethod: "POST", input: input) @@ -295,11 +305,6 @@ public struct Apigateway { return try client.send(operation: "GetAuthorizer", path: "/restapis/{restapi_id}/authorizers/{authorizer_id}", httpMethod: "GET", input: input) } - /// Deletes an existing MethodResponse resource. - public func deleteMethodResponse(_ input: DeleteMethodResponseRequest) throws { - _ = try client.send(operation: "DeleteMethodResponse", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}", httpMethod: "DELETE", input: input) - } - /// Describe an existing Authorizers resource. AWS CLI public func getAuthorizers(_ input: GetAuthorizersRequest) throws -> Authorizers { return try client.send(operation: "GetAuthorizers", path: "/restapis/{restapi_id}/authorizers", httpMethod: "GET", input: input) @@ -315,19 +320,18 @@ public struct Apigateway { return try client.send(operation: "UpdateMethod", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}", httpMethod: "PATCH", input: input) } + /// Deletes an existing MethodResponse resource. + public func deleteMethodResponse(_ input: DeleteMethodResponseRequest) throws { + _ = try client.send(operation: "DeleteMethodResponse", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}", httpMethod: "DELETE", input: input) + } + /// Deletes an existing Authorizer resource. AWS CLI public func deleteAuthorizer(_ input: DeleteAuthorizerRequest) throws { _ = try client.send(operation: "DeleteAuthorizer", path: "/restapis/{restapi_id}/authorizers/{authorizer_id}", httpMethod: "DELETE", input: input) } - /// Deletes the specified API. - public func deleteRestApi(_ input: DeleteRestApiRequest) throws { - _ = try client.send(operation: "DeleteRestApi", path: "/restapis/{restapi_id}", httpMethod: "DELETE", input: input) - } - - /// Changes information about an ApiKey resource. - public func updateApiKey(_ input: UpdateApiKeyRequest) throws -> ApiKey { - return try client.send(operation: "UpdateApiKey", path: "/apikeys/{api_Key}", httpMethod: "PATCH", input: input) + public func createDocumentationVersion(_ input: CreateDocumentationVersionRequest) throws -> DocumentationVersion { + return try client.send(operation: "CreateDocumentationVersion", path: "/restapis/{restapi_id}/documentation/versions", httpMethod: "POST", input: input) } /// Creates a Resource resource. @@ -335,8 +339,14 @@ public struct Apigateway { return try client.send(operation: "CreateResource", path: "/restapis/{restapi_id}/resources/{parent_id}", httpMethod: "POST", input: input) } - public func createDocumentationVersion(_ input: CreateDocumentationVersionRequest) throws -> DocumentationVersion { - return try client.send(operation: "CreateDocumentationVersion", path: "/restapis/{restapi_id}/documentation/versions", httpMethod: "POST", input: input) + /// Deletes the specified API. + public func deleteRestApi(_ input: DeleteRestApiRequest) throws { + _ = try client.send(operation: "DeleteRestApi", path: "/restapis/{restapi_id}", httpMethod: "DELETE", input: input) + } + + /// Represents a get integration response. + public func getIntegrationResponse(_ input: GetIntegrationResponseRequest) throws -> IntegrationResponse { + return try client.send(operation: "GetIntegrationResponse", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", httpMethod: "GET", input: input) } /// Adds a new Authorizer resource to an existing RestApi resource. AWS CLI @@ -344,9 +354,9 @@ public struct Apigateway { return try client.send(operation: "CreateAuthorizer", path: "/restapis/{restapi_id}/authorizers", httpMethod: "POST", input: input) } - /// Represents a get integration response. - public func getIntegrationResponse(_ input: GetIntegrationResponseRequest) throws -> IntegrationResponse { - return try client.send(operation: "GetIntegrationResponse", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", httpMethod: "GET", input: input) + /// Changes information about an ApiKey resource. + public func updateApiKey(_ input: UpdateApiKeyRequest) throws -> ApiKey { + return try client.send(operation: "UpdateApiKey", path: "/apikeys/{api_Key}", httpMethod: "PATCH", input: input) } /// Gets the usage data of a usage plan in a specified time interval. @@ -383,9 +393,9 @@ public struct Apigateway { return try client.send(operation: "CreateRequestValidator", path: "/restapis/{restapi_id}/requestvalidators", httpMethod: "POST", input: input) } - /// Flushes a stage's cache. - public func flushStageCache(_ input: FlushStageCacheRequest) throws { - _ = try client.send(operation: "FlushStageCache", path: "/restapis/{restapi_id}/stages/{stage_name}/cache/data", httpMethod: "DELETE", input: input) + /// Get the integration settings. + public func getIntegration(_ input: GetIntegrationRequest) throws -> Integration { + return try client.send(operation: "GetIntegration", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration", httpMethod: "GET", input: input) } /// 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. @@ -393,9 +403,9 @@ public struct Apigateway { return try client.send(operation: "CreateVpcLink", path: "/vpclinks", httpMethod: "POST", input: input) } - /// Get the integration settings. - public func getIntegration(_ input: GetIntegrationRequest) throws -> Integration { - return try client.send(operation: "GetIntegration", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration", httpMethod: "GET", input: input) + /// Flushes a stage's cache. + public func flushStageCache(_ input: FlushStageCacheRequest) throws { + _ = try client.send(operation: "FlushStageCache", path: "/restapis/{restapi_id}/stages/{stage_name}/cache/data", httpMethod: "DELETE", input: input) } /// Creates a new domain name. @@ -453,9 +463,9 @@ public struct Apigateway { return try client.send(operation: "GetClientCertificates", path: "/clientcertificates", httpMethod: "GET", input: input) } - /// Represents an update integration response. - public func updateIntegrationResponse(_ input: UpdateIntegrationResponseRequest) throws -> IntegrationResponse { - return try client.send(operation: "UpdateIntegrationResponse", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", httpMethod: "PATCH", input: input) + /// Changes information about the specified API. + public func updateRestApi(_ input: UpdateRestApiRequest) throws -> RestApi { + return try client.send(operation: "UpdateRestApi", path: "/restapis/{restapi_id}", httpMethod: "PATCH", input: input) } /// Updates an existing VpcLink of a specified identifier. @@ -463,9 +473,9 @@ public struct Apigateway { return try client.send(operation: "UpdateVpcLink", path: "/vpclinks/{vpclink_id}", httpMethod: "PATCH", input: input) } - /// Changes information about the specified API. - public func updateRestApi(_ input: UpdateRestApiRequest) throws -> RestApi { - return try client.send(operation: "UpdateRestApi", path: "/restapis/{restapi_id}", httpMethod: "PATCH", input: input) + /// Represents an update integration response. + public func updateIntegrationResponse(_ input: UpdateIntegrationResponseRequest) throws -> IntegrationResponse { + return try client.send(operation: "UpdateIntegrationResponse", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", httpMethod: "PATCH", input: input) } /// 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. @@ -508,16 +518,16 @@ public struct Apigateway { return try client.send(operation: "CreateRestApi", path: "/restapis", httpMethod: "POST", input: input) } - /// Updates an existing MethodResponse resource. - public func updateMethodResponse(_ input: UpdateMethodResponseRequest) throws -> MethodResponse { - return try client.send(operation: "UpdateMethodResponse", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}", httpMethod: "PATCH", input: input) - } - /// Deletes the BasePathMapping resource. public func deleteBasePathMapping(_ input: DeleteBasePathMappingRequest) throws { _ = try client.send(operation: "DeleteBasePathMapping", path: "/domainnames/{domain_name}/basepathmappings/{base_path}", httpMethod: "DELETE", input: input) } + /// Updates an existing MethodResponse resource. + public func updateMethodResponse(_ input: UpdateMethodResponseRequest) throws -> MethodResponse { + return try client.send(operation: "UpdateMethodResponse", path: "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}", httpMethod: "PATCH", input: input) + } + /// Gets information about a Deployments collection. public func getDeployments(_ input: GetDeploymentsRequest) throws -> Deployments { return try client.send(operation: "GetDeployments", path: "/restapis/{restapi_id}/deployments", httpMethod: "GET", input: input) @@ -552,19 +562,19 @@ public struct Apigateway { return try client.send(operation: "UpdateStage", path: "/restapis/{restapi_id}/stages/{stage_name}", httpMethod: "PATCH", input: input) } - /// Deletes the ClientCertificate resource. - public func deleteClientCertificate(_ input: DeleteClientCertificateRequest) throws { - _ = try client.send(operation: "DeleteClientCertificate", path: "/clientcertificates/{clientcertificate_id}", httpMethod: "DELETE", input: input) - } - /// Gets the RequestValidators collection of a given RestApi. public func getRequestValidators(_ input: GetRequestValidatorsRequest) throws -> RequestValidators { return try client.send(operation: "GetRequestValidators", path: "/restapis/{restapi_id}/requestvalidators", httpMethod: "GET", input: input) } - /// Lists information about a resource. - public func getResource(_ input: GetResourceRequest) throws -> Resource { - return try client.send(operation: "GetResource", path: "/restapis/{restapi_id}/resources/{resource_id}", httpMethod: "GET", input: input) + /// Deletes the ClientCertificate resource. + public func deleteClientCertificate(_ input: DeleteClientCertificateRequest) throws { + _ = try client.send(operation: "DeleteClientCertificate", path: "/clientcertificates/{clientcertificate_id}", httpMethod: "DELETE", input: input) + } + + /// Removes a tag from a given resource. + public func untagResource(_ input: UntagResourceRequest) throws { + _ = try client.send(operation: "UntagResource", path: "/tags/{resource_arn}", httpMethod: "DELETE", input: input) } /// Gets information about the current ClientCertificate resource. @@ -572,6 +582,11 @@ public struct Apigateway { return try client.send(operation: "GetClientCertificate", path: "/clientcertificates/{clientcertificate_id}", httpMethod: "GET", input: input) } + /// Lists information about a resource. + public func getResource(_ input: GetResourceRequest) throws -> Resource { + return try client.send(operation: "GetResource", path: "/restapis/{restapi_id}/resources/{resource_id}", httpMethod: "GET", input: input) + } + /// Updates a GatewayResponse of a specified response type on the given RestApi. public func updateGatewayResponse(_ input: UpdateGatewayResponseRequest) throws -> GatewayResponse { return try client.send(operation: "UpdateGatewayResponse", path: "/restapis/{restapi_id}/gatewayresponses/{response_type}", httpMethod: "PATCH", input: input) diff --git a/Sources/AWSSDKSwift/Services/apigateway/Apigateway_Shapes.swift b/Sources/AWSSDKSwift/Services/apigateway/Apigateway_Shapes.swift index b9fae7b7f63..ee5f4147538 100644 --- a/Sources/AWSSDKSwift/Services/apigateway/Apigateway_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/apigateway/Apigateway_Shapes.swift @@ -21,7 +21,7 @@ extension Apigateway { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "apiKey", location: .uri(locationName: "api_Key"), required: true, type: .string) ] - /// The identifier of the ApiKey resource to be deleted. + /// [Required] The identifier of the ApiKey resource to be deleted. public let apiKey: String public init(apiKey: String) { @@ -43,15 +43,15 @@ extension Apigateway { AWSShapeMember(label: "body", required: true, type: .blob), AWSShapeMember(label: "parameters", required: false, type: .map) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// The mode query parameter to specify the update mode. Valid values are "merge" and "overwrite". By default, the update mode is "merge". public let mode: PutMode? /// 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. public let failOnWarnings: Bool? - /// 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. + /// [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. public let body: Data - /// 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. + /// 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'. public let parameters: [String: String]? public init(restApiId: String, mode: PutMode? = nil, failOnWarnings: Bool? = nil, body: Data, parameters: [String: String]? = nil) { @@ -76,6 +76,27 @@ extension Apigateway { public var description: String { return self.rawValue } } + public struct TagResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceArn", location: .uri(locationName: "resource_arn"), required: true, type: .string), + AWSShapeMember(label: "tags", required: true, type: .map) + ] + /// [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. + public let resourceArn: String + /// [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. + public let tags: [String: String] + + public init(resourceArn: String, tags: [String: String]) { + self.resourceArn = resourceArn + self.tags = tags + } + + private enum CodingKeys: String, CodingKey { + case resourceArn = "resource_arn" + case tags = "tags" + } + } + public enum QuotaPeriodType: String, CustomStringConvertible, Codable { case day = "DAY" case week = "WEEK" @@ -86,6 +107,7 @@ extension Apigateway { public enum EndpointType: String, CustomStringConvertible, Codable { case regional = "REGIONAL" case edge = "EDGE" + case `private` = "PRIVATE" public var description: String { return self.rawValue } } @@ -93,7 +115,7 @@ extension Apigateway { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "domainName", location: .uri(locationName: "domain_name"), required: true, type: .string) ] - /// The name of the DomainName resource to be deleted. + /// [Required] The name of the DomainName resource to be deleted. public let domainName: String public init(domainName: String) { @@ -131,9 +153,9 @@ extension Apigateway { AWSShapeMember(label: "keyId", location: .uri(locationName: "keyId"), required: true, type: .string), AWSShapeMember(label: "usagePlanId", location: .uri(locationName: "usageplanId"), required: true, type: .string) ] - /// The key Id of the to-be-retrieved UsagePlanKey resource representing a plan customer. + /// [Required] The key Id of the to-be-retrieved UsagePlanKey resource representing a plan customer. public let keyId: String - /// The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer. + /// [Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer. public let usagePlanId: String public init(keyId: String, usagePlanId: String) { @@ -183,13 +205,13 @@ extension Apigateway { ] /// The description of the model. public let description: String? - /// The content-type for the model. + /// [Required] The content-type for the model. public let contentType: String - /// The RestApi identifier under which the Model will be created. + /// [Required] The RestApi identifier under which the Model will be created. public let restApiId: String - /// The name of the model. Must be alphanumeric. + /// [Required] The name of the model. Must be alphanumeric. public let name: String - /// The schema for the model. For application/json models, this should be JSON-schema draft v4 model. + /// The schema for the model. For application/json models, this should be JSON schema draft 4 model. public let schema: String? public init(description: String? = nil, contentType: String, restApiId: String, name: String, schema: String? = nil) { @@ -217,15 +239,15 @@ extension Apigateway { AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string), AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? - /// The status code for the MethodResponse resource. + /// [Required] The status code for the MethodResponse resource. public let statusCode: String - /// The Resource identifier for the MethodResponse resource. + /// [Required] The Resource identifier for the MethodResponse resource. public let resourceId: String - /// The HTTP verb of the Method resource. + /// [Required] The HTTP verb of the Method resource. public let httpMethod: String public init(restApiId: String, patchOperations: [PatchOperation]? = nil, statusCode: String, resourceId: String, httpMethod: String) { @@ -253,7 +275,7 @@ extension Apigateway { ] /// The replacement identifier for the Deployment resource to change information about. public let deploymentId: String - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? @@ -277,11 +299,11 @@ extension Apigateway { AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string), AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The HTTP verb of the Method resource. + /// [Required] The HTTP verb of the Method resource. public let httpMethod: String - /// The Resource identifier for the Method resource. + /// [Required] The Resource identifier for the Method resource. public let resourceId: String public init(restApiId: String, httpMethod: String, resourceId: String) { @@ -302,9 +324,9 @@ extension Apigateway { AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "stageName", location: .uri(locationName: "stage_name"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The name of the Stage resource to get information about. + /// [Required] The name of the Stage resource to get information about. public let stageName: String public init(restApiId: String, stageName: String) { @@ -330,7 +352,7 @@ extension Apigateway { public let includeValues: Bool? /// The current pagination position in the paged result set. public let position: String? - /// The maximum number of returned results per page. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? /// The name of queried API keys. public let nameQuery: String? @@ -387,13 +409,13 @@ extension Apigateway { public let keyId: String? /// The current pagination position in the paged result set. public let position: String? - /// The maximum number of returned results per page. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? - /// The starting date (e.g., 2016-01-01) of the usage data. + /// [Required] The starting date (e.g., 2016-01-01) of the usage data. public let startDate: String - /// The Id of the usage plan associated with the usage data. + /// [Required] The Id of the usage plan associated with the usage data. public let usagePlanId: String - /// The ending date (e.g., 2016-12-31) of the usage data. + /// [Required] The ending date (e.g., 2016-12-31) of the usage data. public let endDate: String public init(keyId: String? = nil, position: String? = nil, limit: Int32? = nil, startDate: String, usagePlanId: String, endDate: String) { @@ -415,6 +437,12 @@ extension Apigateway { } } + public enum ApiKeySourceType: String, CustomStringConvertible, Codable { + case header = "HEADER" + case authorizer = "AUTHORIZER" + public var description: String { return self.rawValue } + } + public struct SdkTypes: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "items", location: .body(locationName: "item"), required: false, type: .list), @@ -441,11 +469,11 @@ extension Apigateway { AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string), AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// Specifies a get integration request's HTTP method. + /// [Required] Specifies a get integration request's HTTP method. public let httpMethod: String - /// Specifies a get integration request's resource identifier + /// [Required] Specifies a get integration request's resource identifier public let resourceId: String public init(restApiId: String, httpMethod: String, resourceId: String) { @@ -512,7 +540,7 @@ extension Apigateway { public let position: String? /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The maximum number of returned results per page. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? public init(position: String? = nil, restApiId: String, limit: Int32? = nil) { @@ -534,9 +562,9 @@ extension Apigateway { AWSShapeMember(label: "domainName", location: .uri(locationName: "domain_name"), required: true, type: .string), AWSShapeMember(label: "patchOperations", required: false, type: .list) ] - /// The base path of the BasePathMapping resource to change. + /// [Required] The base path of the BasePathMapping resource to change. public let basePath: String - /// The domain name of the BasePathMapping resource to change. + /// [Required] The domain name of the BasePathMapping resource to change. public let domainName: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? @@ -558,7 +586,7 @@ extension Apigateway { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "clientCertificateId", location: .uri(locationName: "clientcertificate_id"), required: true, type: .string) ] - /// The identifier of the ClientCertificate resource to be deleted. + /// [Required] The identifier of the ClientCertificate resource to be deleted. public let clientCertificateId: String public init(clientCertificateId: String) { @@ -575,7 +603,7 @@ extension Apigateway { AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "requestValidatorId", location: .uri(locationName: "requestvalidator_id"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// [Required] The identifier of the RequestValidator to be deleted. public let requestValidatorId: String @@ -596,9 +624,9 @@ extension Apigateway { AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "modelName", location: .uri(locationName: "model_name"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The name of the model to delete. + /// [Required] The name of the model to delete. public let modelName: String public init(restApiId: String, modelName: String) { @@ -685,9 +713,9 @@ extension Apigateway { ] /// The current pagination position in the paged result set. public let position: String? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The maximum number of returned results per page. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? public init(position: String? = nil, restApiId: String, limit: Int32? = nil) { @@ -724,7 +752,7 @@ extension Apigateway { AWSShapeMember(label: "certificateArn", required: false, type: .string), AWSShapeMember(label: "regionalCertificateArn", required: false, type: .string) ] - /// (Required) The name of the DomainName resource. + /// [Required] The name of the DomainName resource. public let domainName: String /// [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. public let certificateChain: String? @@ -776,9 +804,9 @@ extension Apigateway { ] /// The current pagination position in the paged result set. public let position: String? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The maximum number of returned results per page. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? public init(position: String? = nil, restApiId: String, limit: Int32? = nil) { @@ -803,6 +831,7 @@ extension Apigateway { AWSShapeMember(label: "description", required: false, type: .string), AWSShapeMember(label: "methodSettings", required: false, type: .map), AWSShapeMember(label: "lastUpdatedDate", required: false, type: .timestamp), + AWSShapeMember(label: "tags", required: false, type: .map), AWSShapeMember(label: "canarySettings", required: false, type: .structure), AWSShapeMember(label: "variables", required: false, type: .map), AWSShapeMember(label: "accessLogSettings", required: false, type: .structure), @@ -825,6 +854,8 @@ extension Apigateway { public let methodSettings: [String: MethodSetting]? /// The timestamp when the stage last updated. public let lastUpdatedDate: TimeStamp? + /// The collection of tags. Each tag element is associated with a given resource. + public let tags: [String: String]? /// Settings for the canary deployment in this stage. public let canarySettings: CanarySettings? /// 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-._~:/?#&=,]+. @@ -840,7 +871,7 @@ extension Apigateway { /// Specifies whether a cache cluster is enabled for the stage. public let cacheClusterEnabled: Bool? - public init(documentationVersion: String? = nil, cacheClusterStatus: CacheClusterStatus? = nil, cacheClusterSize: CacheClusterSize? = nil, createdDate: TimeStamp? = nil, description: String? = nil, methodSettings: [String: MethodSetting]? = nil, lastUpdatedDate: TimeStamp? = nil, canarySettings: CanarySettings? = nil, variables: [String: String]? = nil, accessLogSettings: AccessLogSettings? = nil, deploymentId: String? = nil, clientCertificateId: String? = nil, stageName: String? = nil, cacheClusterEnabled: Bool? = nil) { + public init(documentationVersion: String? = nil, cacheClusterStatus: CacheClusterStatus? = nil, cacheClusterSize: CacheClusterSize? = nil, createdDate: TimeStamp? = nil, description: String? = nil, methodSettings: [String: MethodSetting]? = nil, lastUpdatedDate: TimeStamp? = nil, tags: [String: String]? = nil, canarySettings: CanarySettings? = nil, variables: [String: String]? = nil, accessLogSettings: AccessLogSettings? = nil, deploymentId: String? = nil, clientCertificateId: String? = nil, stageName: String? = nil, cacheClusterEnabled: Bool? = nil) { self.documentationVersion = documentationVersion self.cacheClusterStatus = cacheClusterStatus self.cacheClusterSize = cacheClusterSize @@ -848,6 +879,7 @@ extension Apigateway { self.description = description self.methodSettings = methodSettings self.lastUpdatedDate = lastUpdatedDate + self.tags = tags self.canarySettings = canarySettings self.variables = variables self.accessLogSettings = accessLogSettings @@ -865,6 +897,7 @@ extension Apigateway { case description = "description" case methodSettings = "methodSettings" case lastUpdatedDate = "lastUpdatedDate" + case tags = "tags" case canarySettings = "canarySettings" case variables = "variables" case accessLogSettings = "accessLogSettings" @@ -902,11 +935,11 @@ extension Apigateway { AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string), AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// Specifies the method request's HTTP method type. + /// [Required] Specifies the method request's HTTP method type. public let httpMethod: String - /// The Resource identifier for the Method resource. + /// [Required] The Resource identifier for the Method resource. public let resourceId: String public init(restApiId: String, httpMethod: String, resourceId: String) { @@ -934,9 +967,9 @@ extension Apigateway { AWSShapeMember(label: "responseType", location: .uri(locationName: "response_type"), required: true, type: .enum), AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string) ] - /// The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPES + /// [Required] The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPE public let responseType: GatewayResponseType - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String public init(responseType: GatewayResponseType, restApiId: String) { @@ -975,9 +1008,9 @@ extension Apigateway { AWSShapeMember(label: "deploymentId", location: .uri(locationName: "deployment_id"), required: true, type: .string), AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string) ] - /// The identifier of the Deployment resource to delete. + /// [Required] The identifier of the Deployment resource to delete. public let deploymentId: String - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String public init(deploymentId: String, restApiId: String) { @@ -996,9 +1029,9 @@ extension Apigateway { AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "stageName", location: .uri(locationName: "stage_name"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The name of the Stage resource to delete. + /// [Required] The name of the Stage resource to delete. public let stageName: String public init(restApiId: String, stageName: String) { @@ -1022,7 +1055,7 @@ extension Apigateway { AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "additionalContext", required: false, type: .map) ] - /// Specifies a test invoke authorizer request's Authorizer ID. + /// [Required] Specifies a test invoke authorizer request's Authorizer ID. public let authorizerId: String /// [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. public let headers: [String: String]? @@ -1032,7 +1065,7 @@ extension Apigateway { public let body: String? /// A key-value map of stage variables to simulate an invocation on a deployed Stage. public let stageVariables: [String: String]? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// [Optional] A key-value map of additional context variables. public let additionalContext: [String: String]? @@ -1061,60 +1094,65 @@ extension Apigateway { public struct PutMethodRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "authorizerId", required: false, type: .string), + AWSShapeMember(label: "authorizationScopes", required: false, type: .list), AWSShapeMember(label: "requestModels", required: false, type: .map), AWSShapeMember(label: "requestParameters", required: false, type: .map), AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string), AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "requestValidatorId", required: false, type: .string), AWSShapeMember(label: "apiKeyRequired", required: false, type: .boolean), - AWSShapeMember(label: "authorizationType", required: true, type: .string), AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string), + AWSShapeMember(label: "authorizationType", required: true, type: .string), AWSShapeMember(label: "operationName", required: false, type: .string) ] - /// Specifies the identifier of an Authorizer to use on this Method, if the type is CUSTOM. + /// 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. public let authorizerId: String? + /// 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. + public let authorizationScopes: [String]? /// 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. public let requestModels: [String: String]? /// 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. public let requestParameters: [String: Bool]? - /// Specifies the method request's HTTP method type. + /// [Required] Specifies the method request's HTTP method type. public let httpMethod: String - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// The identifier of a RequestValidator for validating the method request. public let requestValidatorId: String? /// Specifies whether the method required a valid ApiKey. public let apiKeyRequired: Bool? - /// 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. - public let authorizationType: String - /// The Resource identifier for the new Method resource. + /// [Required] The Resource identifier for the new Method resource. public let resourceId: String + /// [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. + public let authorizationType: String /// 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. public let operationName: String? - public init(authorizerId: String? = nil, requestModels: [String: String]? = nil, requestParameters: [String: Bool]? = nil, httpMethod: String, restApiId: String, requestValidatorId: String? = nil, apiKeyRequired: Bool? = nil, authorizationType: String, resourceId: String, operationName: String? = nil) { + public init(authorizerId: String? = nil, authorizationScopes: [String]? = nil, requestModels: [String: String]? = nil, requestParameters: [String: Bool]? = nil, httpMethod: String, restApiId: String, requestValidatorId: String? = nil, apiKeyRequired: Bool? = nil, resourceId: String, authorizationType: String, operationName: String? = nil) { self.authorizerId = authorizerId + self.authorizationScopes = authorizationScopes self.requestModels = requestModels self.requestParameters = requestParameters self.httpMethod = httpMethod self.restApiId = restApiId self.requestValidatorId = requestValidatorId self.apiKeyRequired = apiKeyRequired - self.authorizationType = authorizationType self.resourceId = resourceId + self.authorizationType = authorizationType self.operationName = operationName } private enum CodingKeys: String, CodingKey { case authorizerId = "authorizerId" + case authorizationScopes = "authorizationScopes" case requestModels = "requestModels" case requestParameters = "requestParameters" case httpMethod = "http_method" case restApiId = "restapi_id" case requestValidatorId = "requestValidatorId" case apiKeyRequired = "apiKeyRequired" - case authorizationType = "authorizationType" case resourceId = "resource_id" + case authorizationType = "authorizationType" case operationName = "operationName" } } @@ -1127,9 +1165,9 @@ extension Apigateway { ] /// The current pagination position in the paged result set. public let position: String? - /// The domain name of a BasePathMapping resource. + /// [Required] The domain name of a BasePathMapping resource. public let domainName: String - /// The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? public init(position: String? = nil, domainName: String, limit: Int32? = nil) { @@ -1193,15 +1231,15 @@ extension Apigateway { public let pathWithQueryString: String? /// The simulated request body of an incoming invocation request. public let body: String? - /// Specifies a test invoke method request's HTTP method. + /// [Required] Specifies a test invoke method request's HTTP method. public let httpMethod: String /// A key-value map of stage variables to simulate an invocation on a deployed Stage. public let stageVariables: [String: String]? /// 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. public let clientCertificateId: String? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// Specifies a test invoke method request's resource ID. + /// [Required] Specifies a test invoke method request's resource ID. public let resourceId: String public init(headers: [String: String]? = nil, pathWithQueryString: String? = nil, body: String? = nil, httpMethod: String, stageVariables: [String: String]? = nil, clientCertificateId: String? = nil, restApiId: String, resourceId: String) { @@ -1266,9 +1304,9 @@ extension Apigateway { ] /// The current pagination position in the paged result set. public let position: String? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? public init(position: String? = nil, restApiId: String, limit: Int32? = nil) { @@ -1289,9 +1327,9 @@ extension Apigateway { AWSShapeMember(label: "keyId", location: .uri(locationName: "keyId"), required: true, type: .string), AWSShapeMember(label: "usagePlanId", location: .uri(locationName: "usageplanId"), required: true, type: .string) ] - /// The Id of the UsagePlanKey resource to be deleted. + /// [Required] The Id of the UsagePlanKey resource to be deleted. public let keyId: String - /// The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer. + /// [Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer. public let usagePlanId: String public init(keyId: String, usagePlanId: String) { @@ -1310,9 +1348,9 @@ extension Apigateway { AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The identifier of the Resource resource. + /// [Required] The identifier of the Resource resource. public let resourceId: String public init(restApiId: String, resourceId: String) { @@ -1331,9 +1369,9 @@ extension Apigateway { AWSShapeMember(label: "responseType", location: .uri(locationName: "response_type"), required: true, type: .enum), AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string) ] - /// The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPES + /// [Required] The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPE public let responseType: GatewayResponseType - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String public init(responseType: GatewayResponseType, restApiId: String) { @@ -1354,7 +1392,7 @@ extension Apigateway { ] /// The current pagination position in the paged result set. public let position: String? - /// The maximum number of returned results per page. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? public init(position: String? = nil, limit: Int32? = nil) { @@ -1514,9 +1552,9 @@ extension Apigateway { AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "patchOperations", required: false, type: .list) ] - /// The identifier of the Authorizer resource. + /// [Required] The identifier of the Authorizer resource. public let authorizerId: String - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? @@ -1540,11 +1578,11 @@ extension Apigateway { AWSShapeMember(label: "flatten", location: .querystring(locationName: "flatten"), required: false, type: .boolean), AWSShapeMember(label: "modelName", location: .uri(locationName: "model_name"), required: true, type: .string) ] - /// The RestApi identifier under which the Model exists. + /// [Required] The RestApi identifier under which the Model exists. public let restApiId: String /// 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. public let flatten: Bool? - /// The name of the model as an identifier. + /// [Required] The name of the model as an identifier. public let modelName: String public init(restApiId: String, flatten: Bool? = nil, modelName: String) { @@ -1616,6 +1654,7 @@ extension Apigateway { AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "stageName", required: true, type: .string), AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "tags", required: false, type: .map), AWSShapeMember(label: "cacheClusterEnabled", required: false, type: .boolean) ] /// The version of the associated API documentation. @@ -1628,16 +1667,18 @@ extension Apigateway { public let cacheClusterSize: CacheClusterSize? /// [Required] The identifier of the Deployment resource for the Stage resource. public let deploymentId: String - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// [Required] The name for the Stage resource. public let stageName: String /// The description of the Stage resource. public let description: String? + /// 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. + public let tags: [String: String]? /// Whether cache clustering is enabled for the stage. public let cacheClusterEnabled: Bool? - public init(documentationVersion: String? = nil, variables: [String: String]? = nil, canarySettings: CanarySettings? = nil, cacheClusterSize: CacheClusterSize? = nil, deploymentId: String, restApiId: String, stageName: String, description: String? = nil, cacheClusterEnabled: Bool? = nil) { + public init(documentationVersion: String? = nil, variables: [String: String]? = nil, canarySettings: CanarySettings? = nil, cacheClusterSize: CacheClusterSize? = nil, deploymentId: String, restApiId: String, stageName: String, description: String? = nil, tags: [String: String]? = nil, cacheClusterEnabled: Bool? = nil) { self.documentationVersion = documentationVersion self.variables = variables self.canarySettings = canarySettings @@ -1646,6 +1687,7 @@ extension Apigateway { self.restApiId = restApiId self.stageName = stageName self.description = description + self.tags = tags self.cacheClusterEnabled = cacheClusterEnabled } @@ -1658,6 +1700,7 @@ extension Apigateway { case restApiId = "restapi_id" case stageName = "stageName" case description = "description" + case tags = "tags" case cacheClusterEnabled = "cacheClusterEnabled" } } @@ -1667,7 +1710,7 @@ extension Apigateway { AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "requestValidatorId", location: .uri(locationName: "requestvalidator_id"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// [Required] The identifier of the RequestValidator to be retrieved. public let requestValidatorId: String @@ -1687,7 +1730,7 @@ extension Apigateway { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "id", location: .uri(locationName: "sdktype_id"), required: true, type: .string) ] - /// The identifier of the queried SdkType instance. + /// [Required] The identifier of the queried SdkType instance. public let id: String public init(id: String) { @@ -1858,7 +1901,7 @@ extension Apigateway { public let responseParameters: [String: String]? /// The HTTP status code for this GatewayResponse. public let statusCode: String? - /// The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPES + /// The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPE public let responseType: GatewayResponseType? /// 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. public let defaultResponse: Bool? @@ -1888,15 +1931,15 @@ extension Apigateway { AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string), AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? - /// Specifies an update integration response request's status code. + /// [Required] Specifies an update integration response request's status code. public let statusCode: String - /// Specifies an update integration response request's resource identifier. + /// [Required] Specifies an update integration response request's resource identifier. public let resourceId: String - /// Specifies an update integration response request's HTTP method. + /// [Required] Specifies an update integration response request's HTTP method. public let httpMethod: String public init(restApiId: String, patchOperations: [PatchOperation]? = nil, statusCode: String, resourceId: String, httpMethod: String) { @@ -1923,7 +1966,7 @@ extension Apigateway { ] /// The current pagination position in the paged result set. public let position: String? - /// The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? public init(position: String? = nil, limit: Int32? = nil) { @@ -1953,7 +1996,7 @@ extension Apigateway { public let path: String? /// 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. public let statusCode: String? - /// The type of API entity to which the documentation content applies. It is a valid and required field for API entity types of API, AUTHORIZER, MODEL, RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Content inheritance does not apply to any entity of the API, AUTHORIZER, METHOD, MODEL, REQUEST_BODY, or RESOURCE type. + /// [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. public let `type`: DocumentationPartType public init(name: String? = nil, method: String? = nil, path: String? = nil, statusCode: String? = nil, type: DocumentationPartType) { @@ -2019,7 +2062,7 @@ extension Apigateway { AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "patchOperations", required: false, type: .list) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? @@ -2049,7 +2092,7 @@ extension Apigateway { AWSShapeMember(label: "regionalCertificateArn", required: false, type: .string), AWSShapeMember(label: "certificateArn", required: false, type: .string) ] - /// The name of the DomainName resource. + /// The custom domain name as an API host name, for example, my-api.example.com. public let domainName: String? /// The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was uploaded. public let certificateUploadDate: TimeStamp? @@ -2109,15 +2152,15 @@ extension Apigateway { AWSShapeMember(label: "accepts", location: .header(locationName: "Accept"), required: false, type: .string), AWSShapeMember(label: "parameters", required: false, type: .map) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The name of the Stage that will be exported. + /// [Required] The name of the Stage that will be exported. public let stageName: String - /// The type of export. Currently only 'swagger' is supported. + /// [Required] The type of export. Currently only 'swagger' is supported. public let exportType: String /// 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. public let accepts: String? - /// A key-value map of query string parameters that specify properties of the export, depending on the requested exportType. For exportType swagger, any combination of the following parameters are supported: integrations will export the API with x-amazon-apigateway-integration extensions. authorizers will export the API with x-amazon-apigateway-authorizer extensions. postman will export the API with Postman extensions, allowing for import to the Postman tool + /// 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 public let parameters: [String: String]? public init(restApiId: String, stageName: String, exportType: String, accepts: String? = nil, parameters: [String: String]? = nil) { @@ -2181,9 +2224,9 @@ extension Apigateway { ] /// The current pagination position in the paged result set. public let position: String? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? public init(position: String? = nil, restApiId: String, limit: Int32? = nil) { @@ -2210,11 +2253,11 @@ extension Apigateway { AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string), AWSShapeMember(label: "selectionPattern", required: false, type: .string) ] - /// Specifies the status code that is used to map the integration response to an existing MethodResponse. + /// [Required] Specifies the status code that is used to map the integration response to an existing MethodResponse. public let statusCode: String - /// Specifies a put integration response request's HTTP method. + /// [Required] Specifies a put integration response request's HTTP method. public let httpMethod: String - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// Specifies a put integration response's templates. public let responseTemplates: [String: String]? @@ -2222,7 +2265,7 @@ extension Apigateway { public let responseParameters: [String: String]? /// 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. public let contentHandling: ContentHandlingStrategy? - /// Specifies a put integration response request's resource identifier. + /// [Required] Specifies a put integration response request's resource identifier. public let resourceId: String /// Specifies the selection pattern of a put integration response. public let selectionPattern: String? @@ -2258,9 +2301,9 @@ extension Apigateway { ] /// 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. public let embed: [String]? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The identifier for the Resource resource. + /// [Required] The identifier for the Resource resource. public let resourceId: String public init(embed: [String]? = nil, restApiId: String, resourceId: String) { @@ -2301,9 +2344,9 @@ extension Apigateway { AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "stageName", location: .uri(locationName: "stage_name"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The name of the stage to flush its cache. + /// [Required] The name of the stage to flush its cache. public let stageName: String public init(restApiId: String, stageName: String) { @@ -2347,7 +2390,7 @@ extension Apigateway { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "clientCertificateId", location: .uri(locationName: "clientcertificate_id"), required: true, type: .string) ] - /// The identifier of the ClientCertificate resource to be described. + /// [Required] The identifier of the ClientCertificate resource to be described. public let clientCertificateId: String public init(clientCertificateId: String) { @@ -2367,9 +2410,9 @@ extension Apigateway { ] /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The name of the model to update. + /// [Required] The name of the model to update. public let modelName: String public init(patchOperations: [PatchOperation]? = nil, restApiId: String, modelName: String) { @@ -2436,9 +2479,9 @@ extension Apigateway { AWSShapeMember(label: "basePath", location: .uri(locationName: "base_path"), required: true, type: .string), AWSShapeMember(label: "domainName", location: .uri(locationName: "domain_name"), required: true, type: .string) ] - /// The base path name of the BasePathMapping resource to delete. + /// [Required] The base path name of the BasePathMapping resource to delete. public let basePath: String - /// The domain name of the BasePathMapping resource to delete. + /// [Required] The domain name of the BasePathMapping resource to delete. public let domainName: String public init(basePath: String, domainName: String) { @@ -2458,9 +2501,9 @@ extension Apigateway { AWSShapeMember(label: "usagePlanId", location: .uri(locationName: "usageplanId"), required: true, type: .string), AWSShapeMember(label: "patchOperations", required: false, type: .list) ] - /// The identifier of the API key associated with the usage plan in which a temporary extension is granted to the remaining quota. + /// [Required] The identifier of the API key associated with the usage plan in which a temporary extension is granted to the remaining quota. public let keyId: String - /// The Id of the usage plan associated with the usage data. + /// [Required] The Id of the usage plan associated with the usage data. public let usagePlanId: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? @@ -2509,7 +2552,7 @@ extension Apigateway { ] /// The associated API stages of the usage plan. public let apiStages: [ApiStage]? - /// The name of the usage plan. + /// [Required] The name of the usage plan. public let name: String /// The description of the usage plan. public let description: String? @@ -2535,34 +2578,34 @@ extension Apigateway { } } - public struct CanarySettings: AWSShape { + public struct SdkType: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "stageVariableOverrides", required: false, type: .map), - AWSShapeMember(label: "deploymentId", required: false, type: .string), - AWSShapeMember(label: "useStageCache", required: false, type: .boolean), - AWSShapeMember(label: "percentTraffic", required: false, type: .double) + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "configurationProperties", required: false, type: .list), + AWSShapeMember(label: "id", required: false, type: .string), + AWSShapeMember(label: "friendlyName", required: false, type: .string) ] - /// 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. - public let stageVariableOverrides: [String: String]? - /// The ID of the canary deployment. - public let deploymentId: String? - /// A Boolean flag to indicate whether the canary deployment uses the stage cache or not. - public let useStageCache: Bool? - /// The percent (0-100) of traffic diverted to a canary deployment. - public let percentTraffic: Double? + /// The description of an SdkType. + public let description: String? + /// A list of configuration properties of an SdkType. + public let configurationProperties: [SdkConfigurationProperty]? + /// The identifier of an SdkType instance. + public let id: String? + /// The user-friendly name of an SdkType instance. + public let friendlyName: String? - public init(stageVariableOverrides: [String: String]? = nil, deploymentId: String? = nil, useStageCache: Bool? = nil, percentTraffic: Double? = nil) { - self.stageVariableOverrides = stageVariableOverrides - self.deploymentId = deploymentId - self.useStageCache = useStageCache - self.percentTraffic = percentTraffic + public init(description: String? = nil, configurationProperties: [SdkConfigurationProperty]? = nil, id: String? = nil, friendlyName: String? = nil) { + self.description = description + self.configurationProperties = configurationProperties + self.id = id + self.friendlyName = friendlyName } private enum CodingKeys: String, CodingKey { - case stageVariableOverrides = "stageVariableOverrides" - case deploymentId = "deploymentId" - case useStageCache = "useStageCache" - case percentTraffic = "percentTraffic" + case description = "description" + case configurationProperties = "configurationProperties" + case id = "id" + case friendlyName = "friendlyName" } } @@ -2593,7 +2636,7 @@ extension Apigateway { public let connectionId: String? /// Specifies the integration's cache key parameters. public let cacheKeyParameters: [String]? - /// 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 an network load balancer in a VPC. The default value is INTERNET. + /// 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. public let connectionType: ConnectionType? /// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds. public let timeoutInMillis: Int32? @@ -2647,34 +2690,24 @@ extension Apigateway { } } - public struct SdkType: AWSShape { + public struct UntagResourceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "description", required: false, type: .string), - AWSShapeMember(label: "configurationProperties", required: false, type: .list), - AWSShapeMember(label: "id", required: false, type: .string), - AWSShapeMember(label: "friendlyName", required: false, type: .string) + AWSShapeMember(label: "resourceArn", location: .uri(locationName: "resource_arn"), required: true, type: .string), + AWSShapeMember(label: "tagKeys", location: .querystring(locationName: "tagKeys"), required: true, type: .list) ] - /// The description of an SdkType. - public let description: String? - /// A list of configuration properties of an SdkType. - public let configurationProperties: [SdkConfigurationProperty]? - /// The identifier of an SdkType instance. - public let id: String? - /// The user-friendly name of an SdkType instance. - public let friendlyName: String? + /// [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. + public let resourceArn: String + /// [Required] The Tag keys to delete. + public let tagKeys: [String] - public init(description: String? = nil, configurationProperties: [SdkConfigurationProperty]? = nil, id: String? = nil, friendlyName: String? = nil) { - self.description = description - self.configurationProperties = configurationProperties - self.id = id - self.friendlyName = friendlyName + public init(resourceArn: String, tagKeys: [String]) { + self.resourceArn = resourceArn + self.tagKeys = tagKeys } private enum CodingKeys: String, CodingKey { - case description = "description" - case configurationProperties = "configurationProperties" - case id = "id" - case friendlyName = "friendlyName" + case resourceArn = "resource_arn" + case tagKeys = "tagKeys" } } @@ -2713,6 +2746,37 @@ extension Apigateway { } } + public struct CanarySettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "stageVariableOverrides", required: false, type: .map), + AWSShapeMember(label: "deploymentId", required: false, type: .string), + AWSShapeMember(label: "useStageCache", required: false, type: .boolean), + AWSShapeMember(label: "percentTraffic", required: false, type: .double) + ] + /// 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. + public let stageVariableOverrides: [String: String]? + /// The ID of the canary deployment. + public let deploymentId: String? + /// A Boolean flag to indicate whether the canary deployment uses the stage cache or not. + public let useStageCache: Bool? + /// The percent (0-100) of traffic diverted to a canary deployment. + public let percentTraffic: Double? + + public init(stageVariableOverrides: [String: String]? = nil, deploymentId: String? = nil, useStageCache: Bool? = nil, percentTraffic: Double? = nil) { + self.stageVariableOverrides = stageVariableOverrides + self.deploymentId = deploymentId + self.useStageCache = useStageCache + self.percentTraffic = percentTraffic + } + + private enum CodingKeys: String, CodingKey { + case stageVariableOverrides = "stageVariableOverrides" + case deploymentId = "deploymentId" + case useStageCache = "useStageCache" + case percentTraffic = "percentTraffic" + } + } + public struct Deployment: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "description", required: false, type: .string), @@ -2787,7 +2851,7 @@ extension Apigateway { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "types", required: false, type: .list) ] - /// 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. + /// 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. public let types: [EndpointType]? public init(types: [EndpointType]? = nil) { @@ -2882,9 +2946,9 @@ extension Apigateway { AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "patchOperations", required: false, type: .list) ] - /// The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPES + /// [Required] The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPE public let responseType: GatewayResponseType - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? @@ -2909,9 +2973,9 @@ extension Apigateway { AWSShapeMember(label: "basePath", required: false, type: .string), AWSShapeMember(label: "stage", required: false, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The domain name of the BasePathMapping resource to create. + /// [Required] The domain name of the BasePathMapping resource to create. public let domainName: String /// 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. public let basePath: String? @@ -2938,7 +3002,7 @@ extension Apigateway { AWSShapeMember(label: "apiKey", location: .uri(locationName: "api_Key"), required: true, type: .string), AWSShapeMember(label: "patchOperations", required: false, type: .list) ] - /// The identifier of the ApiKey resource to be updated. + /// [Required] The identifier of the ApiKey resource to be updated. public let apiKey: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? @@ -2984,7 +3048,7 @@ extension Apigateway { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string) ] - /// The identifier of the RestApi resource. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String public init(restApiId: String) { @@ -3019,7 +3083,7 @@ extension Apigateway { ] /// A boolean flag to specify whether (true) or not (false) the result contains the key value. public let includeValue: Bool? - /// The identifier of the ApiKey resource. + /// [Required] The identifier of the ApiKey resource. public let apiKey: String public init(includeValue: Bool? = nil, apiKey: String) { @@ -3087,13 +3151,13 @@ extension Apigateway { AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string), AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// Specifies a delete integration response request's status code. + /// [Required] Specifies a delete integration response request's status code. public let statusCode: String - /// Specifies a delete integration response request's resource identifier. + /// [Required] Specifies a delete integration response request's resource identifier. public let resourceId: String - /// Specifies a delete integration response request's HTTP method. + /// [Required] Specifies a delete integration response request's HTTP method. public let httpMethod: String public init(restApiId: String, statusCode: String, resourceId: String, httpMethod: String) { @@ -3145,9 +3209,9 @@ extension Apigateway { AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string), AWSShapeMember(label: "patchOperations", required: false, type: .list) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The identifier of the Resource resource. + /// [Required] The identifier of the Resource resource. public let resourceId: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? @@ -3173,9 +3237,9 @@ extension Apigateway { ] /// The current pagination position in the paged result set. The GatewayResponse collection does not support pagination and the position does not apply here. public let position: String? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The maximum number of returned results per page. The GatewayResponses collection does not support pagination and the limit does not apply here. + /// 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. public let limit: Int32? public init(position: String? = nil, restApiId: String, limit: Int32? = nil) { @@ -3198,13 +3262,13 @@ extension Apigateway { AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string), AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? - /// Represents an update integration request's resource identifier. + /// [Required] Represents an update integration request's resource identifier. public let resourceId: String - /// Represents an update integration request's HTTP method. + /// [Required] Represents an update integration request's HTTP method. public let httpMethod: String public init(restApiId: String, patchOperations: [PatchOperation]? = nil, resourceId: String, httpMethod: String) { @@ -3276,22 +3340,27 @@ extension Apigateway { public struct ApiStage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "apiId", required: false, type: .string), - AWSShapeMember(label: "stage", required: false, type: .string) + AWSShapeMember(label: "stage", required: false, type: .string), + AWSShapeMember(label: "throttle", required: false, type: .map), + AWSShapeMember(label: "apiId", required: false, type: .string) ] - /// API Id of the associated API stage in a usage plan. - public let apiId: String? /// API stage name of the associated API stage in a usage plan. public let stage: String? + /// Map containing method level throttling information for API stage in a usage plan. + public let throttle: [String: ThrottleSettings]? + /// API Id of the associated API stage in a usage plan. + public let apiId: String? - public init(apiId: String? = nil, stage: String? = nil) { - self.apiId = apiId + public init(stage: String? = nil, throttle: [String: ThrottleSettings]? = nil, apiId: String? = nil) { self.stage = stage + self.throttle = throttle + self.apiId = apiId } private enum CodingKeys: String, CodingKey { - case apiId = "apiId" case stage = "stage" + case throttle = "throttle" + case apiId = "apiId" } } @@ -3302,13 +3371,13 @@ extension Apigateway { AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string), AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The status code for the MethodResponse resource. + /// [Required] The status code for the MethodResponse resource. public let statusCode: String - /// The Resource identifier for the MethodResponse resource. + /// [Required] The Resource identifier for the MethodResponse resource. public let resourceId: String - /// The HTTP verb of the Method resource. + /// [Required] The HTTP verb of the Method resource. public let httpMethod: String public init(restApiId: String, statusCode: String, resourceId: String, httpMethod: String) { @@ -3347,7 +3416,7 @@ extension Apigateway { ] /// The current pagination position in the paged result set. public let position: String? - /// The maximum number of returned results per page. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? /// The path of API entities of the to-be-retrieved documentation parts. public let path: String? @@ -3389,7 +3458,7 @@ extension Apigateway { AWSShapeMember(label: "responseParameters", required: false, type: .map), AWSShapeMember(label: "responseType", location: .uri(locationName: "response_type"), required: true, type: .enum) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// Response templates of the GatewayResponse as a string-to-string map of key-value pairs. public let responseTemplates: [String: String]? @@ -3397,7 +3466,7 @@ extension Apigateway { public let statusCode: String? /// Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs. public let responseParameters: [String: String]? - /// The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPES + /// [Required] The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPE public let responseType: GatewayResponseType public init(restApiId: String, responseTemplates: [String: String]? = nil, statusCode: String? = nil, responseParameters: [String: String]? = nil, responseType: GatewayResponseType) { @@ -3417,29 +3486,29 @@ extension Apigateway { } } - public struct CreateResourceRequest: AWSShape { + public struct GetTagsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), - AWSShapeMember(label: "pathPart", required: true, type: .string), - AWSShapeMember(label: "parentId", location: .uri(locationName: "parent_id"), required: true, type: .string) + AWSShapeMember(label: "resourceArn", location: .uri(locationName: "resource_arn"), required: true, type: .string), + AWSShapeMember(label: "position", location: .querystring(locationName: "position"), required: false, type: .string), + AWSShapeMember(label: "limit", location: .querystring(locationName: "limit"), required: false, type: .integer) ] - /// The string identifier of the associated RestApi. - public let restApiId: String - /// The last path segment for this resource. - public let pathPart: String - /// The parent resource's identifier. - public let parentId: String + /// [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. + public let resourceArn: String + /// (Not currently supported) The current pagination position in the paged result set. + public let position: String? + /// (Not currently supported) The maximum number of returned results per page. The default value is 25 and the maximum value is 500. + public let limit: Int32? - public init(restApiId: String, pathPart: String, parentId: String) { - self.restApiId = restApiId - self.pathPart = pathPart - self.parentId = parentId + public init(resourceArn: String, position: String? = nil, limit: Int32? = nil) { + self.resourceArn = resourceArn + self.position = position + self.limit = limit } private enum CodingKeys: String, CodingKey { - case restApiId = "restapi_id" - case pathPart = "pathPart" - case parentId = "parent_id" + case resourceArn = "resource_arn" + case position = "position" + case limit = "limit" } } @@ -3475,17 +3544,43 @@ extension Apigateway { } } + public struct CreateResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), + AWSShapeMember(label: "pathPart", required: true, type: .string), + AWSShapeMember(label: "parentId", location: .uri(locationName: "parent_id"), required: true, type: .string) + ] + /// [Required] The string identifier of the associated RestApi. + public let restApiId: String + /// The last path segment for this resource. + public let pathPart: String + /// [Required] The parent resource's identifier. + public let parentId: String + + public init(restApiId: String, pathPart: String, parentId: String) { + self.restApiId = restApiId + self.pathPart = pathPart + self.parentId = parentId + } + + private enum CodingKeys: String, CodingKey { + case restApiId = "restapi_id" + case pathPart = "pathPart" + case parentId = "parent_id" + } + } + public struct GetDeploymentRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "deploymentId", location: .uri(locationName: "deployment_id"), required: true, type: .string), AWSShapeMember(label: "embed", location: .querystring(locationName: "embed"), required: false, type: .list), AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string) ] - /// The identifier of the Deployment resource to get information about. + /// [Required] The identifier of the Deployment resource to get information about. public let deploymentId: String /// 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. public let embed: [String]? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String public init(deploymentId: String, embed: [String]? = nil, restApiId: String) { @@ -3548,9 +3643,9 @@ extension Apigateway { public let position: String? /// 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. public let embed: [String]? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? public init(position: String? = nil, embed: [String]? = nil, restApiId: String, limit: Int32? = nil) { @@ -3616,21 +3711,28 @@ extension Apigateway { public struct RestApi: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "apiKeySource", required: false, type: .enum), AWSShapeMember(label: "binaryMediaTypes", required: false, type: .list), - AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "minimumCompressionSize", required: false, type: .integer), AWSShapeMember(label: "id", required: false, type: .string), + AWSShapeMember(label: "name", required: false, type: .string), AWSShapeMember(label: "createdDate", required: false, type: .timestamp), AWSShapeMember(label: "endpointConfiguration", required: false, type: .structure), AWSShapeMember(label: "description", required: false, type: .string), AWSShapeMember(label: "version", required: false, type: .string), + AWSShapeMember(label: "policy", required: false, type: .string), AWSShapeMember(label: "warnings", required: false, type: .list) ] + /// 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. + public let apiKeySource: ApiKeySourceType? /// The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads. public let binaryMediaTypes: [String]? - /// The API's name. - public let name: String? + /// 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. + public let minimumCompressionSize: Int32? /// The API's identifier. This identifier is unique across all of your APIs in API Gateway. public let id: String? + /// The API's name. + public let name: String? /// The timestamp when the API was created. public let createdDate: TimeStamp? /// The endpoint configuration of this RestApi showing the endpoint types of the API. @@ -3639,28 +3741,36 @@ extension Apigateway { public let description: String? /// A version identifier for the API. public let version: String? + /// A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration. + public let policy: String? /// The warning messages reported when failonwarnings is turned on during API import. public let warnings: [String]? - public init(binaryMediaTypes: [String]? = nil, name: String? = nil, id: String? = nil, createdDate: TimeStamp? = nil, endpointConfiguration: EndpointConfiguration? = nil, description: String? = nil, version: String? = nil, warnings: [String]? = nil) { + public init(apiKeySource: ApiKeySourceType? = nil, binaryMediaTypes: [String]? = nil, minimumCompressionSize: Int32? = nil, id: String? = nil, name: String? = nil, createdDate: TimeStamp? = nil, endpointConfiguration: EndpointConfiguration? = nil, description: String? = nil, version: String? = nil, policy: String? = nil, warnings: [String]? = nil) { + self.apiKeySource = apiKeySource self.binaryMediaTypes = binaryMediaTypes - self.name = name + self.minimumCompressionSize = minimumCompressionSize self.id = id + self.name = name self.createdDate = createdDate self.endpointConfiguration = endpointConfiguration self.description = description self.version = version + self.policy = policy self.warnings = warnings } private enum CodingKeys: String, CodingKey { + case apiKeySource = "apiKeySource" case binaryMediaTypes = "binaryMediaTypes" - case name = "name" + case minimumCompressionSize = "minimumCompressionSize" case id = "id" + case name = "name" case createdDate = "createdDate" case endpointConfiguration = "endpointConfiguration" case description = "description" case version = "version" + case policy = "policy" case warnings = "warnings" } } @@ -3674,15 +3784,15 @@ extension Apigateway { AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string), AWSShapeMember(label: "responseParameters", required: false, type: .map) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The method response's status code. + /// [Required] The method response's status code. public let statusCode: String /// 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. public let responseModels: [String: String]? - /// The Resource identifier for the Method resource. + /// [Required] The Resource identifier for the Method resource. public let resourceId: String - /// The HTTP verb of the Method resource. + /// [Required] The HTTP verb of the Method resource. public let httpMethod: String /// 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.) public let responseParameters: [String: Bool]? @@ -3849,7 +3959,7 @@ extension Apigateway { ] /// [Required] The name of the authorizer. public let name: String - /// A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. API Gateway will match the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function 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. + /// 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. public let identityValidationExpression: String? /// 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. public let authorizerResultTtlInSeconds: Int32? @@ -3857,9 +3967,9 @@ extension Apigateway { public let authorizerUri: String? /// 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. public let authorizerCredentials: String? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The identity source for which authorization is requested. For a TOKEN 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.For a COGNITO_USER_POOLS authorizer, this property is not used. + /// 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. public let identitySource: String? /// Optional customer-defined field, used in Swagger imports and exports without functional impact. public let authType: String? @@ -3902,7 +4012,7 @@ extension Apigateway { ] /// The stages' deployment identifiers. public let deploymentId: String? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String public init(deploymentId: String? = nil, restApiId: String) { @@ -3926,9 +4036,9 @@ extension Apigateway { ] /// 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. public let failOnWarnings: Bool? - /// 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. + /// [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. public let body: Data - /// 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 orendpointConfigurationTypes=REGIONAL. 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 + /// 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' public let parameters: [String: String]? public init(failOnWarnings: Bool? = nil, body: Data, parameters: [String: String]? = nil) { @@ -3975,7 +4085,7 @@ extension Apigateway { ] /// The current pagination position in the paged result set. public let position: String? - /// The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? public init(position: String? = nil, limit: Int32? = nil) { @@ -3996,11 +4106,11 @@ extension Apigateway { AWSShapeMember(label: "stageName", location: .uri(locationName: "stage_name"), required: true, type: .string), AWSShapeMember(label: "parameters", required: false, type: .map) ] - /// The language for the generated SDK. Currently java, javascript, android, objectivec (for iOS), swift (for iOS), and ruby are supported. + /// [Required] The language for the generated SDK. Currently java, javascript, android, objectivec (for iOS), swift (for iOS), and ruby are supported. public let sdkType: String - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The name of the Stage that the SDK will use. + /// [Required] The name of the Stage that the SDK will use. public let stageName: String /// 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. public let parameters: [String: String]? @@ -4023,16 +4133,16 @@ extension Apigateway { public struct TestInvokeAuthorizerResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "authorization", required: false, type: .map), - AWSShapeMember(label: "principalId", required: false, type: .string), + AWSShapeMember(label: "claims", required: false, type: .map), AWSShapeMember(label: "log", required: false, type: .string), AWSShapeMember(label: "latency", required: false, type: .long), AWSShapeMember(label: "policy", required: false, type: .string), AWSShapeMember(label: "clientStatus", required: false, type: .integer), - AWSShapeMember(label: "claims", required: false, type: .map) + AWSShapeMember(label: "principalId", required: false, type: .string) ] public let authorization: [String: [String]]? - /// The principal identity returned by the Authorizer - public let principalId: String? + /// The open identity claims, with any supported custom attributes, returned from the Cognito Your User Pool configured for the API. + public let claims: [String: String]? /// The API Gateway execution log for the test authorizer request. public let log: String? /// The execution latency of the test authorizer request. @@ -4041,27 +4151,27 @@ extension Apigateway { public let policy: String? /// The HTTP status code that the client would have received. Value is 0 if the authorizer succeeded. public let clientStatus: Int32? - /// The open identity claims, with any supported custom attributes, returned from the Cognito Your User Pool configured for the API. - public let claims: [String: String]? + /// The principal identity returned by the Authorizer + public let principalId: String? - public init(authorization: [String: [String]]? = nil, principalId: String? = nil, log: String? = nil, latency: Int64? = nil, policy: String? = nil, clientStatus: Int32? = nil, claims: [String: String]? = nil) { + public init(authorization: [String: [String]]? = nil, claims: [String: String]? = nil, log: String? = nil, latency: Int64? = nil, policy: String? = nil, clientStatus: Int32? = nil, principalId: String? = nil) { self.authorization = authorization - self.principalId = principalId + self.claims = claims self.log = log self.latency = latency self.policy = policy self.clientStatus = clientStatus - self.claims = claims + self.principalId = principalId } private enum CodingKeys: String, CodingKey { case authorization = "authorization" - case principalId = "principalId" + case claims = "claims" case log = "log" case latency = "latency" case policy = "policy" case clientStatus = "clientStatus" - case claims = "claims" + case principalId = "principalId" } } @@ -4072,13 +4182,13 @@ extension Apigateway { AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string), AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? - /// The Resource identifier for the Method resource. + /// [Required] The Resource identifier for the Method resource. public let resourceId: String - /// The HTTP verb of the Method resource. + /// [Required] The HTTP verb of the Method resource. public let httpMethod: String public init(restApiId: String, patchOperations: [PatchOperation]? = nil, resourceId: String, httpMethod: String) { @@ -4113,7 +4223,7 @@ extension Apigateway { public let name: String? /// The identifier for the authorizer resource. public let id: String? - /// A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. API Gateway will match the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function 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. + /// 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. public let identityValidationExpression: String? /// 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. public let authorizerResultTtlInSeconds: Int32? @@ -4121,13 +4231,13 @@ extension Apigateway { public let authorizerUri: String? /// 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. public let authorizerCredentials: String? - /// The identity source for which authorization is requested. For a TOKEN 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.For a COGNITO_USER_POOLS authorizer, this property is not used. + /// 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. public let identitySource: String? /// Optional customer-defined field, used in Swagger imports and exports without functional impact. public let authType: String? /// 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. public let providerARNs: [String]? - /// [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. + /// 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. public let `type`: AuthorizerType? public init(name: String? = nil, id: String? = nil, identityValidationExpression: String? = nil, authorizerResultTtlInSeconds: Int32? = nil, authorizerUri: String? = nil, authorizerCredentials: String? = nil, identitySource: String? = nil, authType: String? = nil, providerARNs: [String]? = nil, type: AuthorizerType? = nil) { @@ -4164,7 +4274,7 @@ extension Apigateway { ] /// The current pagination position in the paged result set. public let position: String? - /// The maximum number of returned results per page. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? public init(position: String? = nil, limit: Int32? = nil) { @@ -4188,7 +4298,7 @@ extension Apigateway { public let keyId: String? /// The current pagination position in the paged result set. public let position: String? - /// The maximum number of returned results per page. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? public init(keyId: String? = nil, position: String? = nil, limit: Int32? = nil) { @@ -4210,9 +4320,9 @@ extension Apigateway { AWSShapeMember(label: "stageName", location: .uri(locationName: "stage_name"), required: true, type: .string), AWSShapeMember(label: "patchOperations", required: false, type: .list) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The name of the Stage resource to change information about. + /// [Required] The name of the Stage resource to change information about. public let stageName: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? @@ -4237,7 +4347,7 @@ extension Apigateway { ] /// The current pagination position in the paged result set. public let position: String? - /// The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? public init(position: String? = nil, limit: Int32? = nil) { @@ -4255,7 +4365,7 @@ extension Apigateway { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "usagePlanId", location: .uri(locationName: "usageplanId"), required: true, type: .string) ] - /// The identifier of the UsagePlan resource to be retrieved. + /// [Required] The identifier of the UsagePlan resource to be retrieved. public let usagePlanId: String public init(usagePlanId: String) { @@ -4344,42 +4454,57 @@ extension Apigateway { public struct CreateRestApiRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "apiKeySource", required: false, type: .enum), AWSShapeMember(label: "binaryMediaTypes", required: false, type: .list), + AWSShapeMember(label: "minimumCompressionSize", required: false, type: .integer), AWSShapeMember(label: "cloneFrom", required: false, type: .string), AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "endpointConfiguration", required: false, type: .structure), + AWSShapeMember(label: "description", required: false, type: .string), AWSShapeMember(label: "version", required: false, type: .string), - AWSShapeMember(label: "endpointConfiguration", required: false, type: .structure) + AWSShapeMember(label: "policy", required: false, type: .string) ] - /// The description of the RestApi. - public let description: String? + /// 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. + public let apiKeySource: ApiKeySourceType? /// The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads. public let binaryMediaTypes: [String]? + /// 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. + public let minimumCompressionSize: Int32? /// The ID of the RestApi that you want to clone from. public let cloneFrom: String? - /// The name of the RestApi. + /// [Required] The name of the RestApi. public let name: String - /// A version identifier for the API. - public let version: String? /// The endpoint configuration of this RestApi showing the endpoint types of the API. public let endpointConfiguration: EndpointConfiguration? + /// The description of the RestApi. + public let description: String? + /// A version identifier for the API. + public let version: String? + /// A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration. + public let policy: String? - public init(description: String? = nil, binaryMediaTypes: [String]? = nil, cloneFrom: String? = nil, name: String, version: String? = nil, endpointConfiguration: EndpointConfiguration? = nil) { - self.description = description + public init(apiKeySource: ApiKeySourceType? = nil, binaryMediaTypes: [String]? = nil, minimumCompressionSize: Int32? = nil, cloneFrom: String? = nil, name: String, endpointConfiguration: EndpointConfiguration? = nil, description: String? = nil, version: String? = nil, policy: String? = nil) { + self.apiKeySource = apiKeySource self.binaryMediaTypes = binaryMediaTypes + self.minimumCompressionSize = minimumCompressionSize self.cloneFrom = cloneFrom self.name = name - self.version = version self.endpointConfiguration = endpointConfiguration + self.description = description + self.version = version + self.policy = policy } private enum CodingKeys: String, CodingKey { - case description = "description" + case apiKeySource = "apiKeySource" case binaryMediaTypes = "binaryMediaTypes" + case minimumCompressionSize = "minimumCompressionSize" case cloneFrom = "cloneFrom" case name = "name" - case version = "version" case endpointConfiguration = "endpointConfiguration" + case description = "description" + case version = "version" + case policy = "policy" } } @@ -4406,17 +4531,17 @@ extension Apigateway { public struct CreateDeploymentRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "cacheClusterEnabled", required: false, type: .boolean), + AWSShapeMember(label: "stageDescription", required: false, type: .string), AWSShapeMember(label: "canarySettings", required: false, type: .structure), AWSShapeMember(label: "variables", required: false, type: .map), AWSShapeMember(label: "cacheClusterSize", required: false, type: .enum), AWSShapeMember(label: "description", required: false, type: .string), AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "stageName", required: false, type: .string), - AWSShapeMember(label: "stageDescription", required: false, type: .string) + AWSShapeMember(label: "cacheClusterEnabled", required: false, type: .boolean) ] - /// Enables a cache cluster for the Stage resource specified in the input. - public let cacheClusterEnabled: Bool? + /// The description of the Stage resource for the Deployment resource to create. + public let stageDescription: String? /// The input configuration for the canary deployment when the deployment is a canary release deployment. public let canarySettings: DeploymentCanarySettings? /// 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-._~:/?#&=,]+. @@ -4425,33 +4550,49 @@ extension Apigateway { public let cacheClusterSize: CacheClusterSize? /// The description for the Deployment resource to create. public let description: String? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// The name of the Stage resource for the Deployment resource to create. public let stageName: String? - /// The description of the Stage resource for the Deployment resource to create. - public let stageDescription: String? + /// Enables a cache cluster for the Stage resource specified in the input. + public let cacheClusterEnabled: Bool? - public init(cacheClusterEnabled: Bool? = nil, canarySettings: DeploymentCanarySettings? = nil, variables: [String: String]? = nil, cacheClusterSize: CacheClusterSize? = nil, description: String? = nil, restApiId: String, stageName: String? = nil, stageDescription: String? = nil) { - self.cacheClusterEnabled = cacheClusterEnabled + public init(stageDescription: String? = nil, canarySettings: DeploymentCanarySettings? = nil, variables: [String: String]? = nil, cacheClusterSize: CacheClusterSize? = nil, description: String? = nil, restApiId: String, stageName: String? = nil, cacheClusterEnabled: Bool? = nil) { + self.stageDescription = stageDescription self.canarySettings = canarySettings self.variables = variables self.cacheClusterSize = cacheClusterSize self.description = description self.restApiId = restApiId self.stageName = stageName - self.stageDescription = stageDescription + self.cacheClusterEnabled = cacheClusterEnabled } private enum CodingKeys: String, CodingKey { - case cacheClusterEnabled = "cacheClusterEnabled" + case stageDescription = "stageDescription" case canarySettings = "canarySettings" case variables = "variables" case cacheClusterSize = "cacheClusterSize" case description = "description" case restApiId = "restapi_id" case stageName = "stageName" - case stageDescription = "stageDescription" + case cacheClusterEnabled = "cacheClusterEnabled" + } + } + + public struct Tags: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "tags", required: false, type: .map) + ] + /// The collection of tags. Each tag element is associated with a given resource. + public let tags: [String: String]? + + public init(tags: [String: String]? = nil) { + self.tags = tags + } + + private enum CodingKeys: String, CodingKey { + case tags = "tags" } } @@ -4460,9 +4601,9 @@ extension Apigateway { AWSShapeMember(label: "basePath", location: .uri(locationName: "base_path"), required: true, type: .string), AWSShapeMember(label: "domainName", location: .uri(locationName: "domain_name"), required: true, type: .string) ] - /// 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. + /// [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. public let basePath: String - /// The domain name of the BasePathMapping resource to be described. + /// [Required] The domain name of the BasePathMapping resource to be described. public let domainName: String public init(basePath: String, domainName: String) { @@ -4538,7 +4679,7 @@ extension Apigateway { AWSShapeMember(label: "domainName", location: .uri(locationName: "domain_name"), required: true, type: .string), AWSShapeMember(label: "patchOperations", required: false, type: .list) ] - /// The name of the DomainName resource to be changed. + /// [Required] The name of the DomainName resource to be changed. public let domainName: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? @@ -4560,11 +4701,11 @@ extension Apigateway { AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string), AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// Specifies a delete integration request's HTTP method. + /// [Required] Specifies a delete integration request's HTTP method. public let httpMethod: String - /// Specifies a delete integration request's resource identifier. + /// [Required] Specifies a delete integration request's resource identifier. public let resourceId: String public init(restApiId: String, httpMethod: String, resourceId: String) { @@ -4586,11 +4727,11 @@ extension Apigateway { AWSShapeMember(label: "keyType", required: true, type: .string), AWSShapeMember(label: "usagePlanId", location: .uri(locationName: "usageplanId"), required: true, type: .string) ] - /// The identifier of a UsagePlanKey resource for a plan customer. + /// [Required] The identifier of a UsagePlanKey resource for a plan customer. public let keyId: String - /// The type of a UsagePlanKey resource for a plan customer. + /// [Required] The type of a UsagePlanKey resource for a plan customer. public let keyType: String - /// The Id of the UsagePlan resource representing the usage plan containing the to-be-created UsagePlanKey resource representing a plan customer. + /// [Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-created UsagePlanKey resource representing a plan customer. public let usagePlanId: String public init(keyId: String, keyType: String, usagePlanId: String) { @@ -4610,7 +4751,7 @@ extension Apigateway { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "domainName", location: .uri(locationName: "domain_name"), required: true, type: .string) ] - /// The name of the DomainName resource. + /// [Required] The name of the DomainName resource. public let domainName: String public init(domainName: String) { @@ -4633,9 +4774,9 @@ extension Apigateway { AWSShapeMember(label: "authorizerId", location: .uri(locationName: "authorizer_id"), required: true, type: .string), AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string) ] - /// The identifier of the Authorizer resource. + /// [Required] The identifier of the Authorizer resource. public let authorizerId: String - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String public init(authorizerId: String, restApiId: String) { @@ -4674,11 +4815,11 @@ extension Apigateway { ] /// The current pagination position in the paged result set. public let position: String? - /// The maximum number of returned results per page. + /// The maximum number of returned results per page. The default value is 25 and the maximum value is 500. public let limit: Int32? /// A query parameter specifying the name of the to-be-returned usage plan keys. public let nameQuery: String? - /// The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer. + /// [Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer. public let usagePlanId: String public init(position: String? = nil, limit: Int32? = nil, nameQuery: String? = nil, usagePlanId: String) { @@ -4746,17 +4887,17 @@ extension Apigateway { public let timeoutInMillis: Int32? /// Specifies a put integration input's cache key parameters. public let cacheKeyParameters: [String]? - /// 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 an network load balancer in a VPC. The default value is INTERNET. + /// 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. public let connectionType: ConnectionType? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// Specifies a put integration input's type. + /// [Required] Specifies a put integration input's type. public let `type`: IntegrationType - /// Specifies a put integration request's resource ID. + /// [Required] Specifies a put integration request's resource ID. public let resourceId: String /// 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. public let requestParameters: [String: String]? - /// Specifies a put integration request's HTTP method. + /// [Required] Specifies a put integration request's HTTP method. public let httpMethod: String /// 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. public let requestTemplates: [String: String]? @@ -4812,7 +4953,7 @@ extension Apigateway { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String public init(restApiId: String) { @@ -4836,7 +4977,7 @@ extension Apigateway { AWSShapeMember(label: "clientCertificateId", location: .uri(locationName: "clientcertificate_id"), required: true, type: .string), AWSShapeMember(label: "patchOperations", required: false, type: .list) ] - /// The identifier of the ClientCertificate resource to be updated. + /// [Required] The identifier of the ClientCertificate resource to be updated. public let clientCertificateId: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? @@ -4883,9 +5024,9 @@ extension Apigateway { AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string), AWSShapeMember(label: "modelName", location: .uri(locationName: "model_name"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The name of the model for which to generate a template. + /// [Required] The name of the model for which to generate a template. public let modelName: String public init(restApiId: String, modelName: String) { @@ -4929,7 +5070,7 @@ extension Apigateway { public let contentType: String? /// The name of the model. Must be an alphanumeric string. public let name: String? - /// The schema for the model. For application/json models, this should be JSON-schema draft v4 model. Do not include "\*/" characters in the description of any properties because such "\*/" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail. + /// 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. public let schema: String? /// The identifier for the model resource. public let id: String? @@ -5003,7 +5144,7 @@ extension Apigateway { AWSShapeMember(label: "usagePlanId", location: .uri(locationName: "usageplanId"), required: true, type: .string), AWSShapeMember(label: "patchOperations", required: false, type: .list) ] - /// The Id of the to-be-updated usage plan. + /// [Required] The Id of the to-be-updated usage plan. public let usagePlanId: String /// A list of update operations to be applied to the specified resource and in the order specified in this list. public let patchOperations: [PatchOperation]? @@ -5025,7 +5166,7 @@ extension Apigateway { AWSShapeMember(label: "requestValidatorId", location: .uri(locationName: "requestvalidator_id"), required: true, type: .string), AWSShapeMember(label: "patchOperations", required: false, type: .list) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// [Required] The identifier of RequestValidator to be updated. public let requestValidatorId: String @@ -5072,6 +5213,7 @@ extension Apigateway { AWSShapeMember(label: "requestValidatorId", required: false, type: .string), AWSShapeMember(label: "apiKeyRequired", required: false, type: .boolean), AWSShapeMember(label: "authorizationType", required: false, type: .string), + AWSShapeMember(label: "authorizationScopes", required: false, type: .list), AWSShapeMember(label: "operationName", required: false, type: .string) ] /// The identifier of an Authorizer to use on this method. The authorizationType must be CUSTOM. @@ -5092,10 +5234,12 @@ extension Apigateway { public let apiKeyRequired: Bool? /// 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. public let authorizationType: String? + /// 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. + public let authorizationScopes: [String]? /// 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. public let operationName: String? - public init(authorizerId: String? = nil, methodResponses: [String: MethodResponse]? = nil, requestModels: [String: String]? = nil, requestParameters: [String: Bool]? = nil, methodIntegration: Integration? = nil, httpMethod: String? = nil, requestValidatorId: String? = nil, apiKeyRequired: Bool? = nil, authorizationType: String? = nil, operationName: String? = nil) { + public init(authorizerId: String? = nil, methodResponses: [String: MethodResponse]? = nil, requestModels: [String: String]? = nil, requestParameters: [String: Bool]? = nil, methodIntegration: Integration? = nil, httpMethod: String? = nil, requestValidatorId: String? = nil, apiKeyRequired: Bool? = nil, authorizationType: String? = nil, authorizationScopes: [String]? = nil, operationName: String? = nil) { self.authorizerId = authorizerId self.methodResponses = methodResponses self.requestModels = requestModels @@ -5105,6 +5249,7 @@ extension Apigateway { self.requestValidatorId = requestValidatorId self.apiKeyRequired = apiKeyRequired self.authorizationType = authorizationType + self.authorizationScopes = authorizationScopes self.operationName = operationName } @@ -5118,6 +5263,7 @@ extension Apigateway { case requestValidatorId = "requestValidatorId" case apiKeyRequired = "apiKeyRequired" case authorizationType = "authorizationType" + case authorizationScopes = "authorizationScopes" case operationName = "operationName" } } @@ -5129,13 +5275,13 @@ extension Apigateway { AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string), AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// The status code identifier for the MethodResponse resource. + /// [Required] The status code identifier for the MethodResponse resource. public let statusCode: String - /// The Resource identifier for the MethodResponse resource. + /// [Required] The Resource identifier for the MethodResponse resource. public let resourceId: String - /// The HTTP verb of the Method resource. + /// [Required] The HTTP verb of the Method resource. public let httpMethod: String public init(restApiId: String, statusCode: String, resourceId: String, httpMethod: String) { @@ -5157,7 +5303,7 @@ extension Apigateway { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "usagePlanId", location: .uri(locationName: "usageplanId"), required: true, type: .string) ] - /// The Id of the to-be-deleted usage plan. + /// [Required] The Id of the to-be-deleted usage plan. public let usagePlanId: String public init(usagePlanId: String) { @@ -5204,7 +5350,7 @@ extension Apigateway { ] /// A Boolean flag to indicate whether to validate request body according to the configured model schema for the method (true) or not (false). public let validateRequestBody: Bool? - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String /// The name of the to-be-created RequestValidator. public let name: String? @@ -5277,9 +5423,9 @@ extension Apigateway { AWSShapeMember(label: "authorizerId", location: .uri(locationName: "authorizer_id"), required: true, type: .string), AWSShapeMember(label: "restApiId", location: .uri(locationName: "restapi_id"), required: true, type: .string) ] - /// The identifier of the Authorizer resource. + /// [Required] The identifier of the Authorizer resource. public let authorizerId: String - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String public init(authorizerId: String, restApiId: String) { @@ -5300,13 +5446,13 @@ extension Apigateway { AWSShapeMember(label: "resourceId", location: .uri(locationName: "resource_id"), required: true, type: .string), AWSShapeMember(label: "httpMethod", location: .uri(locationName: "http_method"), required: true, type: .string) ] - /// The string identifier of the associated RestApi. + /// [Required] The string identifier of the associated RestApi. public let restApiId: String - /// Specifies a get integration response request's status code. + /// [Required] Specifies a get integration response request's status code. public let statusCode: String - /// Specifies a get integration response request's resource identifier. + /// [Required] Specifies a get integration response request's resource identifier. public let resourceId: String - /// Specifies a get integration response request's HTTP method. + /// [Required] Specifies a get integration response request's HTTP method. public let httpMethod: String public init(restApiId: String, statusCode: String, resourceId: String, httpMethod: String) { diff --git a/Sources/AWSSDKSwift/Services/application-autoscaling/ApplicationAutoscaling_API.swift b/Sources/AWSSDKSwift/Services/application-autoscaling/ApplicationAutoscaling_API.swift index 3f6a1b635fe..b1bde9a6980 100644 --- a/Sources/AWSSDKSwift/Services/application-autoscaling/ApplicationAutoscaling_API.swift +++ b/Sources/AWSSDKSwift/Services/application-autoscaling/ApplicationAutoscaling_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -With Application Auto Scaling, you can automatically scale your AWS resources. The experience is similar to that of Auto Scaling. You can use Application Auto Scaling to accomplish the following tasks: Define scaling policies to automatically scale your AWS resources Scale your resources in response to CloudWatch alarms View the history of your scaling events Application Auto Scaling can scale the following AWS resources: Amazon ECS services. For more information, see Service Auto Scaling in the Amazon EC2 Container Service Developer Guide. Amazon EC2 Spot fleets. For more information, see Automatic Scaling for Spot Fleet in the Amazon EC2 User Guide. Amazon EMR clusters. For more information, see Using Automatic Scaling in Amazon EMR in the Amazon EMR Management Guide. AppStream 2.0 fleets. For more information, see Fleet Auto Scaling for Amazon AppStream 2.0 in the Amazon AppStream 2.0 Developer Guide. Provisioned read and write capacity for Amazon DynamoDB tables and global secondary indexes. For more information, see Managing Throughput Capacity Automatically with DynamoDB Auto Scaling in the Amazon DynamoDB Developer Guide. Amazon Aurora Replicas. For more information, see Using Application Auto Scaling with an Amazon Aurora DB Cluster. For a list of supported regions, see AWS Regions and Endpoints: Application Auto Scaling in the AWS General Reference. +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: Amazon ECS services. For more information, see Service Auto Scaling in the Amazon Elastic Container Service Developer Guide. Amazon EC2 Spot fleets. For more information, see Automatic Scaling for Spot Fleet in the Amazon EC2 User Guide. Amazon EMR clusters. For more information, see Using Automatic Scaling in Amazon EMR in the Amazon EMR Management Guide. AppStream 2.0 fleets. For more information, see Fleet Auto Scaling for Amazon AppStream 2.0 in the Amazon AppStream 2.0 Developer Guide. Provisioned read and write capacity for Amazon DynamoDB tables and global secondary indexes. For more information, see Managing Throughput Capacity Automatically with DynamoDB Auto Scaling in the Amazon DynamoDB Developer Guide. Amazon Aurora Replicas. For more information, see Using Amazon Aurora Auto Scaling with Aurora Replicas. Amazon SageMaker endpoint variants. For more information, see Automatically Scaling Amazon SageMaker Models. Custom resources provided by your own applications or services. More information is available in our GitHub repository. 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. */ public struct ApplicationAutoscaling { @@ -30,17 +30,17 @@ public struct ApplicationAutoscaling { return try client.send(operation: "DeregisterScalableTarget", path: "/", httpMethod: "POST", input: input) } - /// Provides descriptive 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. + /// 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. public func describeScalableTargets(_ input: DescribeScalableTargetsRequest) throws -> DescribeScalableTargetsResponse { return try client.send(operation: "DescribeScalableTargets", path: "/", httpMethod: "POST", input: input) } - /// Creates or updates a policy for an Application Auto Scaling scalable target. Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scaling policy applies to the scalable target identified by those three attributes. You cannot create a scaling policy without first registering a scalable target using RegisterScalableTarget. To update a policy, specify its policy name and the parameters that you want to change. Any parameters that you don't specify are not changed by this update request. You can view the scaling policies for a service namespace using DescribeScalingPolicies. If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy. + /// 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. public func putScalingPolicy(_ input: PutScalingPolicyRequest) throws -> PutScalingPolicyResponse { return try client.send(operation: "PutScalingPolicy", path: "/", httpMethod: "POST", input: input) } - /// 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 without first registering a 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. + /// 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. public func putScheduledAction(_ input: PutScheduledActionRequest) throws -> PutScheduledActionResponse { return try client.send(operation: "PutScheduledAction", path: "/", httpMethod: "POST", input: input) } @@ -60,7 +60,7 @@ public struct ApplicationAutoscaling { return try client.send(operation: "DescribeScheduledActions", path: "/", httpMethod: "POST", input: input) } - /// 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 your 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 are no longer using a scalable target, you can deregister it using DeregisterScalableTarget. + /// 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. public func registerScalableTarget(_ input: RegisterScalableTargetRequest) throws -> RegisterScalableTargetResponse { return try client.send(operation: "RegisterScalableTarget", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/application-autoscaling/ApplicationAutoscaling_Shapes.swift b/Sources/AWSSDKSwift/Services/application-autoscaling/ApplicationAutoscaling_Shapes.swift index 62cf5043745..1f341c339ae 100644 --- a/Sources/AWSSDKSwift/Services/application-autoscaling/ApplicationAutoscaling_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/application-autoscaling/ApplicationAutoscaling_Shapes.swift @@ -56,7 +56,7 @@ extension ApplicationAutoscaling { AWSShapeMember(label: "ScalableTargets", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// The list of scalable targets that matches the request parameters. + /// The scalable targets that match the request parameters. public let scalableTargets: [ScalableTarget]? /// The token required to get the next set of results. This value is null if there are no more results to return. public let nextToken: String? @@ -81,6 +81,9 @@ extension ApplicationAutoscaling { case ec2spotfleetrequestaveragecpuutilization = "EC2SpotFleetRequestAverageCPUUtilization" case ec2spotfleetrequestaveragenetworkin = "EC2SpotFleetRequestAverageNetworkIn" case ec2spotfleetrequestaveragenetworkout = "EC2SpotFleetRequestAverageNetworkOut" + case sagemakervariantinvocationsperinstance = "SageMakerVariantInvocationsPerInstance" + case ecsserviceaveragecpuutilization = "ECSServiceAverageCPUUtilization" + case ecsserviceaveragememoryutilization = "ECSServiceAverageMemoryUtilization" public var description: String { return self.rawValue } } @@ -156,17 +159,17 @@ extension ApplicationAutoscaling { public let targetTrackingScalingPolicyConfiguration: TargetTrackingScalingPolicyConfiguration? /// The scaling policy type. public let policyType: PolicyType - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. + /// 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. public let serviceNamespace: ServiceNamespace /// The Amazon Resource Name (ARN) of the scaling policy. public let policyARN: String /// The Unix timestamp for when the scaling policy was created. public let creationTime: TimeStamp - /// 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. + /// 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. public let scalableDimension: ScalableDimension /// The CloudWatch alarms associated with the scaling policy. public let alarms: [Alarm]? - /// 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. + /// 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. public let resourceId: String /// The name of the scaling policy. public let policyName: String @@ -216,32 +219,32 @@ extension ApplicationAutoscaling { public struct DeleteScalingPolicyRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PolicyName", required: true, type: .string), + AWSShapeMember(label: "ServiceNamespace", required: true, type: .enum), AWSShapeMember(label: "ScalableDimension", required: true, type: .enum), AWSShapeMember(label: "ResourceId", required: true, type: .string), - AWSShapeMember(label: "ServiceNamespace", required: true, type: .enum) + AWSShapeMember(label: "PolicyName", required: true, type: .string) ] - /// The name of the scaling policy. - public let policyName: String - /// 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. + /// 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. + public let serviceNamespace: ServiceNamespace + /// 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. public let scalableDimension: ScalableDimension - /// 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. + /// 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. public let resourceId: String - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. - public let serviceNamespace: ServiceNamespace + /// The name of the scaling policy. + public let policyName: String - public init(policyName: String, scalableDimension: ScalableDimension, resourceId: String, serviceNamespace: ServiceNamespace) { - self.policyName = policyName + public init(serviceNamespace: ServiceNamespace, scalableDimension: ScalableDimension, resourceId: String, policyName: String) { + self.serviceNamespace = serviceNamespace self.scalableDimension = scalableDimension self.resourceId = resourceId - self.serviceNamespace = serviceNamespace + self.policyName = policyName } private enum CodingKeys: String, CodingKey { - case policyName = "PolicyName" + case serviceNamespace = "ServiceNamespace" case scalableDimension = "ScalableDimension" case resourceId = "ResourceId" - case serviceNamespace = "ServiceNamespace" + case policyName = "PolicyName" } } @@ -255,52 +258,54 @@ extension ApplicationAutoscaling { case dynamodbIndexReadcapacityunits = "dynamodb:index:ReadCapacityUnits" case dynamodbIndexWritecapacityunits = "dynamodb:index:WriteCapacityUnits" case rdsClusterReadreplicacount = "rds:cluster:ReadReplicaCount" + case sagemakerVariantDesiredinstancecount = "sagemaker:variant:DesiredInstanceCount" + case customResourceResourcetypeProperty = "custom-resource:ResourceType:Property" public var description: String { return self.rawValue } } public struct PutScalingPolicyRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PolicyName", required: true, type: .string), + AWSShapeMember(label: "StepScalingPolicyConfiguration", required: false, type: .structure), AWSShapeMember(label: "TargetTrackingScalingPolicyConfiguration", required: false, type: .structure), AWSShapeMember(label: "PolicyType", required: false, type: .enum), AWSShapeMember(label: "ServiceNamespace", required: true, type: .enum), AWSShapeMember(label: "ScalableDimension", required: true, type: .enum), AWSShapeMember(label: "ResourceId", required: true, type: .string), - AWSShapeMember(label: "StepScalingPolicyConfiguration", required: false, type: .structure) + AWSShapeMember(label: "PolicyName", required: true, type: .string) ] - /// The name of the scaling policy. - public let policyName: String - /// A target tracking policy. This parameter is required if you are creating a new policy and the policy type is TargetTrackingScaling. + /// A step scaling policy. This parameter is required if you are creating a policy and the policy type is StepScaling. + public let stepScalingPolicyConfiguration: StepScalingPolicyConfiguration? + /// A target tracking policy. This parameter is required if you are creating a policy and the policy type is TargetTrackingScaling. public let targetTrackingScalingPolicyConfiguration: TargetTrackingScalingPolicyConfiguration? - /// The policy type. If you are creating a new policy, this parameter is required. If you are updating a policy, this parameter is not required. For DynamoDB, only TargetTrackingScaling is supported. For any other service, only StepScaling is supported. + /// 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. public let policyType: PolicyType? - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. + /// 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. public let serviceNamespace: ServiceNamespace - /// 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. + /// 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. public let scalableDimension: ScalableDimension - /// 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. + /// 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. public let resourceId: String - /// A step scaling policy. This parameter is required if you are creating a policy and the policy type is StepScaling. - public let stepScalingPolicyConfiguration: StepScalingPolicyConfiguration? + /// The name of the scaling policy. + public let policyName: String - public init(policyName: String, targetTrackingScalingPolicyConfiguration: TargetTrackingScalingPolicyConfiguration? = nil, policyType: PolicyType? = nil, serviceNamespace: ServiceNamespace, scalableDimension: ScalableDimension, resourceId: String, stepScalingPolicyConfiguration: StepScalingPolicyConfiguration? = nil) { - self.policyName = policyName + public init(stepScalingPolicyConfiguration: StepScalingPolicyConfiguration? = nil, targetTrackingScalingPolicyConfiguration: TargetTrackingScalingPolicyConfiguration? = nil, policyType: PolicyType? = nil, serviceNamespace: ServiceNamespace, scalableDimension: ScalableDimension, resourceId: String, policyName: String) { + self.stepScalingPolicyConfiguration = stepScalingPolicyConfiguration self.targetTrackingScalingPolicyConfiguration = targetTrackingScalingPolicyConfiguration self.policyType = policyType self.serviceNamespace = serviceNamespace self.scalableDimension = scalableDimension self.resourceId = resourceId - self.stepScalingPolicyConfiguration = stepScalingPolicyConfiguration + self.policyName = policyName } private enum CodingKeys: String, CodingKey { - case policyName = "PolicyName" + case stepScalingPolicyConfiguration = "StepScalingPolicyConfiguration" case targetTrackingScalingPolicyConfiguration = "TargetTrackingScalingPolicyConfiguration" case policyType = "PolicyType" case serviceNamespace = "ServiceNamespace" case scalableDimension = "ScalableDimension" case resourceId = "ResourceId" - case stepScalingPolicyConfiguration = "StepScalingPolicyConfiguration" + case policyName = "PolicyName" } } @@ -313,13 +318,13 @@ extension ApplicationAutoscaling { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. + /// 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. public let serviceNamespace: ServiceNamespace /// The names of the scheduled actions to describe. public let scheduledActionNames: [String]? - /// 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. + /// 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. public let scalableDimension: ScalableDimension? - /// 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. + /// 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. public let resourceId: String? /// The token for the next set of results. public let nextToken: String? @@ -347,32 +352,32 @@ extension ApplicationAutoscaling { public struct ScalableTarget: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ServiceNamespace", required: true, type: .enum), AWSShapeMember(label: "RoleARN", required: true, type: .string), + AWSShapeMember(label: "ServiceNamespace", required: true, type: .enum), AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), AWSShapeMember(label: "ScalableDimension", required: true, type: .enum), AWSShapeMember(label: "ResourceId", required: true, type: .string), AWSShapeMember(label: "MaxCapacity", required: true, type: .integer), AWSShapeMember(label: "MinCapacity", required: true, type: .integer) ] - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. - public let serviceNamespace: ServiceNamespace /// The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf. public let roleARN: String + /// 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. + public let serviceNamespace: ServiceNamespace /// The Unix timestamp for when the scalable target was created. public let creationTime: TimeStamp - /// 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. + /// 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. public let scalableDimension: ScalableDimension - /// 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. + /// 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. public let resourceId: String /// The maximum value to scale to in response to a scale out event. public let maxCapacity: Int32 /// The minimum value to scale to in response to a scale in event. public let minCapacity: Int32 - public init(serviceNamespace: ServiceNamespace, roleARN: String, creationTime: TimeStamp, scalableDimension: ScalableDimension, resourceId: String, maxCapacity: Int32, minCapacity: Int32) { - self.serviceNamespace = serviceNamespace + public init(roleARN: String, serviceNamespace: ServiceNamespace, creationTime: TimeStamp, scalableDimension: ScalableDimension, resourceId: String, maxCapacity: Int32, minCapacity: Int32) { self.roleARN = roleARN + self.serviceNamespace = serviceNamespace self.creationTime = creationTime self.scalableDimension = scalableDimension self.resourceId = resourceId @@ -381,8 +386,8 @@ extension ApplicationAutoscaling { } private enum CodingKeys: String, CodingKey { - case serviceNamespace = "ServiceNamespace" case roleARN = "RoleARN" + case serviceNamespace = "ServiceNamespace" case creationTime = "CreationTime" case scalableDimension = "ScalableDimension" case resourceId = "ResourceId" @@ -397,11 +402,11 @@ extension ApplicationAutoscaling { AWSShapeMember(label: "ScalableDimension", required: true, type: .enum), AWSShapeMember(label: "ServiceNamespace", required: true, type: .enum) ] - /// 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. + /// 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. public let resourceId: String - /// 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. + /// 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. public let scalableDimension: ScalableDimension - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. + /// 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. public let serviceNamespace: ServiceNamespace public init(resourceId: String, scalableDimension: ScalableDimension, serviceNamespace: ServiceNamespace) { @@ -424,6 +429,8 @@ extension ApplicationAutoscaling { case appstream = "appstream" case dynamodb = "dynamodb" case rds = "rds" + case sagemaker = "sagemaker" + case customResource = "custom-resource" public var description: String { return self.rawValue } } @@ -492,15 +499,15 @@ extension ApplicationAutoscaling { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. + /// 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. public let serviceNamespace: ServiceNamespace - /// 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. + /// 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. public let resourceIds: [String]? - /// 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. + /// 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. public let scalableDimension: ScalableDimension? /// The token for the next set of results. public let nextToken: String? - /// The maximum number of scalable target 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. + /// 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. public let maxResults: Int32? public init(serviceNamespace: ServiceNamespace, resourceIds: [String]? = nil, scalableDimension: ScalableDimension? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { @@ -529,11 +536,11 @@ extension ApplicationAutoscaling { ] /// The name of the scheduled action. public let scheduledActionName: String - /// 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. + /// 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. public let scalableDimension: ScalableDimension? - /// 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. + /// 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. public let resourceId: String - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. + /// 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. public let serviceNamespace: ServiceNamespace public init(scheduledActionName: String, scalableDimension: ScalableDimension? = nil, resourceId: String, serviceNamespace: ServiceNamespace) { @@ -590,9 +597,9 @@ extension ApplicationAutoscaling { AWSShapeMember(label: "PredefinedMetricType", required: true, type: .enum), AWSShapeMember(label: "ResourceLabel", required: false, type: .string) ] - /// The metric type. The ALBRequestCountPerTarget metric type applies only to Spot fleet requests. + /// The metric type. The ALBRequestCountPerTarget metric type applies only to Spot fleet requests and ECS services. public let predefinedMetricType: MetricType - /// 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. 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. + /// 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. public let resourceLabel: String? public init(predefinedMetricType: MetricType, resourceLabel: String? = nil) { @@ -623,7 +630,7 @@ extension ApplicationAutoscaling { public let predefinedMetricSpecification: PredefinedMetricSpecification? /// 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). public let targetValue: Double - /// Reserved for future use. + /// A customized metric. public let customizedMetricSpecification: CustomizedMetricSpecification? /// 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. public let disableScaleIn: Bool? @@ -731,7 +738,7 @@ extension ApplicationAutoscaling { public let startTime: TimeStamp? /// The Amazon Resource Name (ARN) of the scheduled action. public let scheduledActionARN: String - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. + /// 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. public let serviceNamespace: ServiceNamespace /// The date and time that the action is scheduled to end. public let endTime: TimeStamp? @@ -739,11 +746,11 @@ extension ApplicationAutoscaling { public let scheduledActionName: String /// The date and time that the scheduled action was created. public let creationTime: TimeStamp - /// 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. + /// 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. public let schedule: String - /// 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. + /// 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. public let resourceId: String - /// 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. + /// 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. public let scalableDimension: ScalableDimension? /// 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. public let scalableTargetAction: ScalableTargetAction? @@ -783,15 +790,15 @@ extension ApplicationAutoscaling { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. + /// 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. public let serviceNamespace: ServiceNamespace - /// 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. + /// 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. public let scalableDimension: ScalableDimension? - /// 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. + /// 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. public let resourceId: String? /// The token for the next set of results. public let nextToken: String? - /// The maximum number of scalable target 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. + /// 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. public let maxResults: Int32? public init(serviceNamespace: ServiceNamespace, scalableDimension: ScalableDimension? = nil, resourceId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { @@ -847,17 +854,17 @@ extension ApplicationAutoscaling { AWSShapeMember(label: "ResourceId", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. + /// 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. public let serviceNamespace: ServiceNamespace - /// 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. + /// 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. public let scalableDimension: ScalableDimension? /// The names of the scaling policies to describe. public let policyNames: [String]? /// The token for the next set of results. public let nextToken: String? - /// 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. + /// 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. public let resourceId: String? - /// The maximum number of scalable target 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. + /// 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. public let maxResults: Int32? public init(serviceNamespace: ServiceNamespace, scalableDimension: ScalableDimension? = nil, policyNames: [String]? = nil, nextToken: String? = nil, resourceId: String? = nil, maxResults: Int32? = nil) { @@ -892,17 +899,17 @@ extension ApplicationAutoscaling { ] /// The date and time for the scheduled action to start. public let startTime: TimeStamp? - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. + /// 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. public let serviceNamespace: ServiceNamespace /// The date and time for the scheduled action to end. public let endTime: TimeStamp? /// The name of the scheduled action. public let scheduledActionName: String - /// 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. + /// 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. public let schedule: String? - /// 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. + /// 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. public let scalableDimension: ScalableDimension? - /// 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. + /// 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. public let resourceId: String /// 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. public let scalableTargetAction: ScalableTargetAction? @@ -939,17 +946,17 @@ extension ApplicationAutoscaling { AWSShapeMember(label: "MinCapacity", required: false, type: .integer), AWSShapeMember(label: "ServiceNamespace", required: true, type: .enum) ] - /// The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf. With Amazon RDS resources, permissions are granted using a service-linked role. 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 when you register a scalable target and optional when you update one. + /// 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. public let roleARN: String? - /// 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. + /// 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. public let scalableDimension: ScalableDimension - /// The maximum value to scale to in response to a scale out event. This parameter is required if you are registering a scalable target and optional if you are updating one. + /// The maximum value to scale to in response to a scale out event. This parameter is required if you are registering a scalable target. public let maxCapacity: Int32? - /// 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. + /// 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. public let resourceId: String - /// The minimum value to scale to in response to a scale in event. This parameter is required if you are registering a scalable target and optional if you are updating one. + /// The minimum value to scale to in response to a scale in event. This parameter is required if you are registering a scalable target. public let minCapacity: Int32? - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. + /// 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. public let serviceNamespace: ServiceNamespace public init(roleARN: String? = nil, scalableDimension: ScalableDimension, maxCapacity: Int32? = nil, resourceId: String, minCapacity: Int32? = nil, serviceNamespace: ServiceNamespace) { @@ -993,7 +1000,7 @@ extension ApplicationAutoscaling { public let startTime: TimeStamp /// The details about the scaling activity. public let details: String? - /// The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. + /// 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. public let serviceNamespace: ServiceNamespace /// The Unix timestamp for when the scaling activity ended. public let endTime: TimeStamp? @@ -1001,13 +1008,13 @@ extension ApplicationAutoscaling { public let statusCode: ScalingActivityStatusCode /// A simple description of what caused the scaling activity to happen. public let cause: String - /// 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. + /// 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. public let scalableDimension: ScalableDimension /// The unique identifier of the scaling activity. public let activityId: String /// A simple message about the current status of the scaling activity. public let statusMessage: String? - /// 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. + /// 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. public let resourceId: String /// A simple description of what action the scaling activity intends to accomplish. public let description: String diff --git a/Sources/AWSSDKSwift/Services/appstream/Appstream_API.swift b/Sources/AWSSDKSwift/Services/appstream/Appstream_API.swift index 2f9c60554c2..73882ffde07 100644 --- a/Sources/AWSSDKSwift/Services/appstream/Appstream_API.swift +++ b/Sources/AWSSDKSwift/Services/appstream/Appstream_API.swift @@ -30,20 +30,21 @@ public struct Appstream { return try client.send(operation: "UpdateFleet", path: "/", httpMethod: "POST", input: input) } + /// 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. public func describeImageBuilders(_ input: DescribeImageBuildersRequest) throws -> DescribeImageBuildersResult { return try client.send(operation: "DescribeImageBuilders", path: "/", httpMethod: "POST", input: input) } - /// Lists the fleets associated with the specified stack. - public func listAssociatedFleets(_ input: ListAssociatedFleetsRequest) throws -> ListAssociatedFleetsResult { - return try client.send(operation: "ListAssociatedFleets", path: "/", httpMethod: "POST", input: input) - } - - /// Updates the specified directory configuration. + /// 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. public func updateDirectoryConfig(_ input: UpdateDirectoryConfigRequest) throws -> UpdateDirectoryConfigResult { return try client.send(operation: "UpdateDirectoryConfig", path: "/", httpMethod: "POST", input: input) } + /// Retrieves a list that describes the permissions for a private image that you own. + public func describeImagePermissions(_ input: DescribeImagePermissionsRequest) throws -> DescribeImagePermissionsResult { + return try client.send(operation: "DescribeImagePermissions", path: "/", httpMethod: "POST", input: input) + } + /// Stops the specified fleet. public func stopFleet(_ input: StopFleetRequest) throws -> StopFleetResult { return try client.send(operation: "StopFleet", path: "/", httpMethod: "POST", input: input) @@ -54,14 +55,21 @@ public struct Appstream { return try client.send(operation: "AssociateFleet", path: "/", httpMethod: "POST", input: input) } - public func stopImageBuilder(_ input: StopImageBuilderRequest) throws -> StopImageBuilderResult { - return try client.send(operation: "StopImageBuilder", path: "/", httpMethod: "POST", input: input) + /// Retrieves the name of the fleet that is associated with the specified stack. + public func listAssociatedFleets(_ input: ListAssociatedFleetsRequest) throws -> ListAssociatedFleetsResult { + return try client.send(operation: "ListAssociatedFleets", path: "/", httpMethod: "POST", input: input) } + /// Starts the specified image builder. public func startImageBuilder(_ input: StartImageBuilderRequest) throws -> StartImageBuilderResult { return try client.send(operation: "StartImageBuilder", path: "/", httpMethod: "POST", input: input) } + /// Creates a URL to start an image builder streaming session. + public func createImageBuilderStreamingURL(_ input: CreateImageBuilderStreamingURLRequest) throws -> CreateImageBuilderStreamingURLResult { + return try client.send(operation: "CreateImageBuilderStreamingURL", path: "/", httpMethod: "POST", input: input) + } + /// Deletes the specified fleet. public func deleteFleet(_ input: DeleteFleetRequest) throws -> DeleteFleetResult { return try client.send(operation: "DeleteFleet", path: "/", httpMethod: "POST", input: input) @@ -72,60 +80,72 @@ public struct Appstream { return try client.send(operation: "DisassociateFleet", path: "/", httpMethod: "POST", input: input) } - public func createImageBuilderStreamingURL(_ input: CreateImageBuilderStreamingURLRequest) throws -> CreateImageBuilderStreamingURLResult { - return try client.send(operation: "CreateImageBuilderStreamingURL", path: "/", httpMethod: "POST", input: input) + /// 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. + public func deleteImagePermissions(_ input: DeleteImagePermissionsRequest) throws -> DeleteImagePermissionsResult { + return try client.send(operation: "DeleteImagePermissions", path: "/", httpMethod: "POST", input: input) } - /// Creates a directory configuration. + /// Creates a Directory Config object in AppStream 2.0. This object includes the information required to join streaming instances to an Active Directory domain. public func createDirectoryConfig(_ input: CreateDirectoryConfigRequest) throws -> CreateDirectoryConfigResult { return try client.send(operation: "CreateDirectoryConfig", path: "/", httpMethod: "POST", input: input) } - /// Describes the streaming sessions for the specified stack and fleet. If a user ID is provided, only the streaming sessions for only that user are returned. If an authentication type is not provided, the default is to authenticate users using a streaming URL. - public func describeSessions(_ input: DescribeSessionsRequest) throws -> DescribeSessionsResult { - return try client.send(operation: "DescribeSessions", path: "/", httpMethod: "POST", input: input) - } - - /// Creates a fleet. + /// Creates a fleet. A fleet consists of streaming instances that run a specified image. public func createFleet(_ input: CreateFleetRequest) throws -> CreateFleetResult { return try client.send(operation: "CreateFleet", path: "/", httpMethod: "POST", input: input) } - /// Lists the stacks associated with the specified fleet. + /// 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. + public func describeSessions(_ input: DescribeSessionsRequest) throws -> DescribeSessionsResult { + return try client.send(operation: "DescribeSessions", path: "/", httpMethod: "POST", input: input) + } + + /// Retrieves the name of the stack with which the specified fleet is associated. public func listAssociatedStacks(_ input: ListAssociatedStacksRequest) throws -> ListAssociatedStacksResult { return try client.send(operation: "ListAssociatedStacks", path: "/", httpMethod: "POST", input: input) } - /// Describes the specified fleets or all fleets in the account. - public func describeFleets(_ input: DescribeFleetsRequest) throws -> DescribeFleetsResult { - return try client.send(operation: "DescribeFleets", path: "/", httpMethod: "POST", input: input) + /// 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. + public func listTagsForResource(_ input: ListTagsForResourceRequest) throws -> ListTagsForResourceResponse { + return try client.send(operation: "ListTagsForResource", path: "/", httpMethod: "POST", input: input) } - /// Deletes the specified stack. After this operation completes, the environment can no longer be activated and any reservations made for the stack are released. - public func deleteStack(_ input: DeleteStackRequest) throws -> DeleteStackResult { - return try client.send(operation: "DeleteStack", path: "/", httpMethod: "POST", input: input) + /// Stops the specified image builder. + public func stopImageBuilder(_ input: StopImageBuilderRequest) throws -> StopImageBuilderResult { + return try client.send(operation: "StopImageBuilder", path: "/", httpMethod: "POST", input: input) + } + + /// Retrieves a list that describes one or more specified fleets, if the fleet names are provided. Otherwise, all fleets in the account are described. + public func describeFleets(_ input: DescribeFleetsRequest) throws -> DescribeFleetsResult { + return try client.send(operation: "DescribeFleets", path: "/", httpMethod: "POST", input: input) } - /// Describes the specified images or all images in the account. + /// Retrieves a list that describes one or more specified images, if the image names are provided. Otherwise, all images in the account are described. public func describeImages(_ input: DescribeImagesRequest) throws -> DescribeImagesResult { return try client.send(operation: "DescribeImages", path: "/", httpMethod: "POST", input: input) } - /// Creates a URL to start a streaming session for the specified user. By default, the URL is valid only for one minute from the time that it is generated. + /// 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. + public func deleteStack(_ input: DeleteStackRequest) throws -> DeleteStackResult { + return try client.send(operation: "DeleteStack", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func createStreamingURL(_ input: CreateStreamingURLRequest) throws -> CreateStreamingURLResult { return try client.send(operation: "CreateStreamingURL", path: "/", httpMethod: "POST", input: input) } - /// Deletes the specified directory configuration. + /// 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. public func deleteDirectoryConfig(_ input: DeleteDirectoryConfigRequest) throws -> DeleteDirectoryConfigResult { return try client.send(operation: "DeleteDirectoryConfig", path: "/", httpMethod: "POST", input: input) } + /// 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. public func createImageBuilder(_ input: CreateImageBuilderRequest) throws -> CreateImageBuilderResult { return try client.send(operation: "CreateImageBuilder", path: "/", httpMethod: "POST", input: input) } - /// Creates a stack. + /// Creates a stack to start streaming applications to users. A stack consists of an associated fleet, user access policies, and storage configurations. public func createStack(_ input: CreateStackRequest) throws -> CreateStackResult { return try client.send(operation: "CreateStack", path: "/", httpMethod: "POST", input: input) } @@ -135,33 +155,55 @@ public struct Appstream { return try client.send(operation: "StartFleet", path: "/", httpMethod: "POST", input: input) } + /// 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. public func deleteImage(_ input: DeleteImageRequest) throws -> DeleteImageResult { return try client.send(operation: "DeleteImage", path: "/", httpMethod: "POST", input: input) } - /// Stops the specified streaming session. + /// Immediately stops the specified streaming session. public func expireSession(_ input: ExpireSessionRequest) throws -> ExpireSessionResult { return try client.send(operation: "ExpireSession", path: "/", httpMethod: "POST", input: input) } - /// Describes the specified stacks or all stacks in the account. + /// Retrieves a list that describes one or more specified stacks, if the stack names are provided. Otherwise, all stacks in the account are described. public func describeStacks(_ input: DescribeStacksRequest) throws -> DescribeStacksResult { return try client.send(operation: "DescribeStacks", path: "/", httpMethod: "POST", input: input) } - /// Describes the specified directory configurations. + /// 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. + public func untagResource(_ input: UntagResourceRequest) throws -> UntagResourceResponse { + return try client.send(operation: "UntagResource", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func describeDirectoryConfigs(_ input: DescribeDirectoryConfigsRequest) throws -> DescribeDirectoryConfigsResult { return try client.send(operation: "DescribeDirectoryConfigs", path: "/", httpMethod: "POST", input: input) } + /// Adds or updates permissions for the specified private image. + public func updateImagePermissions(_ input: UpdateImagePermissionsRequest) throws -> UpdateImagePermissionsResult { + return try client.send(operation: "UpdateImagePermissions", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes the specified image builder and releases the capacity. public func deleteImageBuilder(_ input: DeleteImageBuilderRequest) throws -> DeleteImageBuilderResult { return try client.send(operation: "DeleteImageBuilder", path: "/", httpMethod: "POST", input: input) } - /// Updates the specified stack. + /// 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. + public func tagResource(_ input: TagResourceRequest) throws -> TagResourceResponse { + return try client.send(operation: "TagResource", path: "/", httpMethod: "POST", input: input) + } + + /// Updates the specified fields for the specified stack. public func updateStack(_ input: UpdateStackRequest) throws -> UpdateStackResult { return try client.send(operation: "UpdateStack", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func copyImage(_ input: CopyImageRequest) throws -> CopyImageResponse { + return try client.send(operation: "CopyImage", path: "/", httpMethod: "POST", input: input) + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/appstream/Appstream_Error.swift b/Sources/AWSSDKSwift/Services/appstream/Appstream_Error.swift index b9ea4e45645..4fc590dfaba 100644 --- a/Sources/AWSSDKSwift/Services/appstream/Appstream_Error.swift +++ b/Sources/AWSSDKSwift/Services/appstream/Appstream_Error.swift @@ -6,6 +6,7 @@ import AWSSDKSwiftCore public enum AppstreamError: AWSErrorType { case resourceInUseException(message: String?) case limitExceededException(message: String?) + case invalidAccountStatusException(message: String?) case invalidRoleException(message: String?) case resourceNotFoundException(message: String?) case resourceNotAvailableException(message: String?) @@ -27,6 +28,8 @@ extension AppstreamError { self = .resourceInUseException(message: message) case "LimitExceededException": self = .limitExceededException(message: message) + case "InvalidAccountStatusException": + self = .invalidAccountStatusException(message: message) case "InvalidRoleException": self = .invalidRoleException(message: message) case "ResourceNotFoundException": diff --git a/Sources/AWSSDKSwift/Services/appstream/Appstream_Shapes.swift b/Sources/AWSSDKSwift/Services/appstream/Appstream_Shapes.swift index b789354a331..26c424c61b6 100644 --- a/Sources/AWSSDKSwift/Services/appstream/Appstream_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/appstream/Appstream_Shapes.swift @@ -5,10 +5,32 @@ import AWSSDKSwiftCore extension Appstream { + public struct TagResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceArn", required: true, type: .string), + AWSShapeMember(label: "Tags", required: true, type: .map) + ] + /// The Amazon Resource Name (ARN) of the resource. + public let resourceArn: String + /// 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. + public let tags: [String: String] + + public init(resourceArn: String, tags: [String: String]) { + self.resourceArn = resourceArn + self.tags = tags + } + + private enum CodingKeys: String, CodingKey { + case resourceArn = "ResourceArn" + case tags = "Tags" + } + } + public struct StopImageBuilderResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ImageBuilder", required: false, type: .structure) ] + /// Information about the image builder. public let imageBuilder: ImageBuilder? public init(imageBuilder: ImageBuilder? = nil) { @@ -71,6 +93,7 @@ extension Appstream { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ImageBuilder", required: false, type: .structure) ] + /// Information about the image builder. public let imageBuilder: ImageBuilder? public init(imageBuilder: ImageBuilder? = nil) { @@ -86,6 +109,7 @@ extension Appstream { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ImageBuilder", required: false, type: .structure) ] + /// Information about the image builder. public let imageBuilder: ImageBuilder? public init(imageBuilder: ImageBuilder? = nil) { @@ -97,68 +121,77 @@ extension Appstream { } } - public struct DescribeImagesRequest: AWSShape { + public struct ComputeCapacity: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Names", required: false, type: .list) + AWSShapeMember(label: "DesiredInstances", required: true, type: .integer) ] - /// The names of the images to describe. - public let names: [String]? + /// The desired number of streaming instances. + public let desiredInstances: Int32 - public init(names: [String]? = nil) { - self.names = names + public init(desiredInstances: Int32) { + self.desiredInstances = desiredInstances } private enum CodingKeys: String, CodingKey { - case names = "Names" + case desiredInstances = "DesiredInstances" } } + public enum Action: String, CustomStringConvertible, Codable { + case clipboardCopyFromLocalDevice = "CLIPBOARD_COPY_FROM_LOCAL_DEVICE" + case clipboardCopyToLocalDevice = "CLIPBOARD_COPY_TO_LOCAL_DEVICE" + case fileUpload = "FILE_UPLOAD" + case fileDownload = "FILE_DOWNLOAD" + case printingToLocalDevice = "PRINTING_TO_LOCAL_DEVICE" + public var description: String { return self.rawValue } + } + public struct Session: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UserId", required: true, type: .string), + AWSShapeMember(label: "State", required: true, type: .enum), + AWSShapeMember(label: "NetworkAccessConfiguration", required: false, type: .structure), AWSShapeMember(label: "AuthenticationType", required: false, type: .enum), AWSShapeMember(label: "StackName", required: true, type: .string), - AWSShapeMember(label: "State", required: true, type: .enum), AWSShapeMember(label: "FleetName", required: true, type: .string), AWSShapeMember(label: "Id", required: true, type: .string) ] /// The identifier of the user for whom the session was created. public let userId: String + /// The current state of the streaming session. + public let state: SessionState + /// The network details for the streaming session. + public let networkAccessConfiguration: NetworkAccessConfiguration? /// The authentication method. The user is authenticated using a streaming URL (API) or SAML federation (SAML). public let authenticationType: AuthenticationType? /// The name of the stack for the streaming session. public let stackName: String - /// The current state of the streaming session. - public let state: SessionState /// The name of the fleet for the streaming session. public let fleetName: String /// The ID of the streaming session. public let id: String - public init(userId: String, authenticationType: AuthenticationType? = nil, stackName: String, state: SessionState, fleetName: String, id: String) { + public init(userId: String, state: SessionState, networkAccessConfiguration: NetworkAccessConfiguration? = nil, authenticationType: AuthenticationType? = nil, stackName: String, fleetName: String, id: String) { self.userId = userId + self.state = state + self.networkAccessConfiguration = networkAccessConfiguration self.authenticationType = authenticationType self.stackName = stackName - self.state = state self.fleetName = fleetName self.id = id } private enum CodingKeys: String, CodingKey { case userId = "UserId" + case state = "State" + case networkAccessConfiguration = "NetworkAccessConfiguration" case authenticationType = "AuthenticationType" case stackName = "StackName" - case state = "State" case fleetName = "FleetName" case id = "Id" } } - public enum PlatformType: String, CustomStringConvertible, Codable { - case windows = "WINDOWS" - public var description: String { return self.rawValue } - } - public struct StackError: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ErrorMessage", required: false, type: .string), @@ -180,19 +213,65 @@ extension Appstream { } } - public struct ComputeCapacity: AWSShape { + public struct UserSetting: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DesiredInstances", required: true, type: .integer) + AWSShapeMember(label: "Action", required: true, type: .enum), + AWSShapeMember(label: "Permission", required: true, type: .enum) ] - /// The desired number of streaming instances. - public let desiredInstances: Int32 + /// The action that is enabled or disabled. + public let action: Action + /// Indicates whether the action is enabled or disabled. + public let permission: Permission - public init(desiredInstances: Int32) { - self.desiredInstances = desiredInstances + public init(action: Action, permission: Permission) { + self.action = action + self.permission = permission } private enum CodingKeys: String, CodingKey { - case desiredInstances = "DesiredInstances" + case action = "Action" + case permission = "Permission" + } + } + + public enum PlatformType: String, CustomStringConvertible, Codable { + case windows = "WINDOWS" + public var description: String { return self.rawValue } + } + + public struct DescribeImagesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Arns", required: false, type: .list), + AWSShapeMember(label: "Names", required: false, type: .list), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The ARNs of the public, private, and shared images to describe. + public let arns: [String]? + /// The names of the images to describe. + public let names: [String]? + /// The type of image (public, private, or shared) to describe. + public let `type`: VisibilityType? + /// The pagination token to use to retrieve the next page of results. If this value is empty, only the first page is retrieved. + public let nextToken: String? + /// The maximum size of each page of results. + public let maxResults: Int32? + + public init(arns: [String]? = nil, names: [String]? = nil, type: VisibilityType? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.arns = arns + self.names = names + self.`type` = `type` + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case arns = "Arns" + case names = "Names" + case `type` = "Type" + case nextToken = "NextToken" + case maxResults = "MaxResults" } } @@ -201,7 +280,9 @@ extension Appstream { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "ImageBuilders", required: false, type: .list) ] + /// 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. public let nextToken: String? + /// Information about the image builders. public let imageBuilders: [ImageBuilder]? public init(nextToken: String? = nil, imageBuilders: [ImageBuilder]? = nil) { @@ -240,6 +321,7 @@ extension Appstream { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Image", required: false, type: .structure) ] + /// Information about the image. public let image: Image? public init(image: Image? = nil) { @@ -253,6 +335,8 @@ extension Appstream { public enum StorageConnectorType: String, CustomStringConvertible, Codable { case homefolders = "HOMEFOLDERS" + case googleDrive = "GOOGLE_DRIVE" + case oneDrive = "ONE_DRIVE" public var description: String { return self.rawValue } } @@ -277,7 +361,7 @@ extension Appstream { AWSShapeMember(label: "DirectoryConfigs", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// Information about the directory configurations. + /// 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. public let directoryConfigs: [DirectoryConfig]? /// 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. public let nextToken: String? @@ -298,7 +382,9 @@ extension Appstream { AWSShapeMember(label: "Code", required: false, type: .enum), AWSShapeMember(label: "Message", required: false, type: .string) ] + /// The state change reason code. public let code: ImageBuilderStateChangeReasonCode? + /// The state change reason message. public let message: String? public init(code: ImageBuilderStateChangeReasonCode? = nil, message: String? = nil) { @@ -316,48 +402,84 @@ extension Appstream { } + public struct DeleteImagePermissionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SharedAccountId", required: true, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// The 12-digit ID of the AWS account for which to delete image permissions. + public let sharedAccountId: String + /// The name of the private image. + public let name: String + + public init(sharedAccountId: String, name: String) { + self.sharedAccountId = sharedAccountId + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case sharedAccountId = "SharedAccountId" + case name = "Name" + } + } + public struct Stack: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "FeedbackURL", required: false, type: .string), AWSShapeMember(label: "StackErrors", required: false, type: .list), AWSShapeMember(label: "DisplayName", required: false, type: .string), + AWSShapeMember(label: "RedirectURL", required: false, type: .string), AWSShapeMember(label: "Name", required: true, type: .string), AWSShapeMember(label: "StorageConnectors", required: false, type: .list), - AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), + AWSShapeMember(label: "UserSettings", required: false, type: .list), AWSShapeMember(label: "Description", required: false, type: .string) ] + /// The time the stack was created. + public let createdTime: TimeStamp? /// The ARN of the stack. public let arn: String? + /// 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. + public let feedbackURL: String? /// The errors for the stack. public let stackErrors: [StackError]? - /// The stack name displayed to end users. + /// The stack name for display. public let displayName: String? + /// The URL that users are redirected to after their streaming session ends. + public let redirectURL: String? /// The name of the stack. public let name: String /// The storage connectors to enable. public let storageConnectors: [StorageConnector]? - /// The time the stack was created. - public let createdTime: TimeStamp? - /// The description displayed to end users. + /// The actions that are enabled or disabled for users during their streaming sessions. By default these actions are enabled. + public let userSettings: [UserSetting]? + /// The description for display. public let description: String? - public init(arn: String? = nil, stackErrors: [StackError]? = nil, displayName: String? = nil, name: String, storageConnectors: [StorageConnector]? = nil, createdTime: TimeStamp? = nil, description: String? = nil) { + public init(createdTime: TimeStamp? = nil, arn: String? = nil, feedbackURL: String? = nil, stackErrors: [StackError]? = nil, displayName: String? = nil, redirectURL: String? = nil, name: String, storageConnectors: [StorageConnector]? = nil, userSettings: [UserSetting]? = nil, description: String? = nil) { + self.createdTime = createdTime self.arn = arn + self.feedbackURL = feedbackURL self.stackErrors = stackErrors self.displayName = displayName + self.redirectURL = redirectURL self.name = name self.storageConnectors = storageConnectors - self.createdTime = createdTime + self.userSettings = userSettings self.description = description } private enum CodingKeys: String, CodingKey { + case createdTime = "CreatedTime" case arn = "Arn" + case feedbackURL = "FeedbackURL" case stackErrors = "StackErrors" case displayName = "DisplayName" + case redirectURL = "RedirectURL" case name = "Name" case storageConnectors = "StorageConnectors" - case createdTime = "CreatedTime" + case userSettings = "UserSettings" case description = "Description" } } @@ -383,23 +505,20 @@ extension Appstream { } } - public struct DeleteDirectoryConfigResult: AWSShape { - - } - public struct UpdateFleetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DeleteVpcConfig", required: false, type: .boolean), AWSShapeMember(label: "VpcConfig", required: false, type: .structure), AWSShapeMember(label: "DisplayName", required: false, type: .string), AWSShapeMember(label: "ImageName", required: false, type: .string), - AWSShapeMember(label: "AttributesToDelete", required: false, type: .list), AWSShapeMember(label: "DomainJoinInfo", required: false, type: .structure), AWSShapeMember(label: "InstanceType", required: false, type: .string), AWSShapeMember(label: "EnableDefaultInternetAccess", required: false, type: .boolean), + AWSShapeMember(label: "AttributesToDelete", required: false, type: .list), AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "ComputeCapacity", required: false, type: .structure), - AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ImageArn", required: false, type: .string), AWSShapeMember(label: "DisconnectTimeoutInSeconds", required: false, type: .integer), AWSShapeMember(label: "MaxUserDurationInSeconds", required: false, type: .integer) ] @@ -407,41 +526,44 @@ extension Appstream { public let deleteVpcConfig: Bool? /// The VPC configuration for the fleet. public let vpcConfig: VpcConfig? - /// The fleet name displayed to end users. + /// The fleet name for display. public let displayName: String? - /// The name of the image used by the fleet. + /// The name of the image used to create the fleet. public let imageName: String? - /// The fleet attributes to delete. - public let attributesToDelete: [FleetAttribute]? - /// The information needed for streaming instances to join a domain. + /// The information needed to join a Microsoft Active Directory domain. public let domainJoinInfo: DomainJoinInfo? /// 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 public let instanceType: String? /// Enables or disables default internet access for the fleet. public let enableDefaultInternetAccess: Bool? - /// The description displayed to end users. + /// The fleet attributes to delete. + public let attributesToDelete: [FleetAttribute]? + /// The description for display. public let description: String? /// The desired capacity for the fleet. public let computeCapacity: ComputeCapacity? /// A unique name for the fleet. - public let name: String + public let name: String? + /// The ARN of the public, private, or shared image to use. + public let imageArn: String? /// 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. public let disconnectTimeoutInSeconds: Int32? /// The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600. public let maxUserDurationInSeconds: Int32? - public init(deleteVpcConfig: Bool? = nil, vpcConfig: VpcConfig? = nil, displayName: String? = nil, imageName: String? = nil, attributesToDelete: [FleetAttribute]? = nil, domainJoinInfo: DomainJoinInfo? = nil, instanceType: String? = nil, enableDefaultInternetAccess: Bool? = nil, description: String? = nil, computeCapacity: ComputeCapacity? = nil, name: String, disconnectTimeoutInSeconds: Int32? = nil, maxUserDurationInSeconds: Int32? = nil) { + public init(deleteVpcConfig: Bool? = nil, vpcConfig: VpcConfig? = nil, displayName: String? = nil, imageName: String? = nil, domainJoinInfo: DomainJoinInfo? = nil, instanceType: String? = nil, enableDefaultInternetAccess: Bool? = nil, attributesToDelete: [FleetAttribute]? = nil, description: String? = nil, computeCapacity: ComputeCapacity? = nil, name: String? = nil, imageArn: String? = nil, disconnectTimeoutInSeconds: Int32? = nil, maxUserDurationInSeconds: Int32? = nil) { self.deleteVpcConfig = deleteVpcConfig self.vpcConfig = vpcConfig self.displayName = displayName self.imageName = imageName - self.attributesToDelete = attributesToDelete self.domainJoinInfo = domainJoinInfo self.instanceType = instanceType self.enableDefaultInternetAccess = enableDefaultInternetAccess + self.attributesToDelete = attributesToDelete self.description = description self.computeCapacity = computeCapacity self.name = name + self.imageArn = imageArn self.disconnectTimeoutInSeconds = disconnectTimeoutInSeconds self.maxUserDurationInSeconds = maxUserDurationInSeconds } @@ -451,18 +573,23 @@ extension Appstream { case vpcConfig = "VpcConfig" case displayName = "DisplayName" case imageName = "ImageName" - case attributesToDelete = "AttributesToDelete" case domainJoinInfo = "DomainJoinInfo" case instanceType = "InstanceType" case enableDefaultInternetAccess = "EnableDefaultInternetAccess" + case attributesToDelete = "AttributesToDelete" case description = "Description" case computeCapacity = "ComputeCapacity" case name = "Name" + case imageArn = "ImageArn" case disconnectTimeoutInSeconds = "DisconnectTimeoutInSeconds" case maxUserDurationInSeconds = "MaxUserDurationInSeconds" } } + public struct DeleteDirectoryConfigResult: AWSShape { + + } + public struct Application: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Metadata", required: false, type: .map), @@ -477,7 +604,7 @@ extension Appstream { public let metadata: [String: String]? /// The name of the application. public let name: String? - /// The application name displayed to end users. + /// The application name for display. public let displayName: String? /// If there is a problem, the application can be disabled after image creation. public let enabled: Bool? @@ -529,50 +656,57 @@ extension Appstream { } - public enum ImageBuilderStateChangeReasonCode: String, CustomStringConvertible, Codable { - case internalError = "INTERNAL_ERROR" - case imageUnavailable = "IMAGE_UNAVAILABLE" - public var description: String { return self.rawValue } + public struct CreateImageBuilderStreamingURLRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Validity", required: false, type: .long) + ] + /// The name of the image builder. + public let name: String + /// The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 3600 seconds. + public let validity: Int64? + + public init(name: String, validity: Int64? = nil) { + self.name = name + self.validity = validity + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case validity = "Validity" + } } public struct StorageConnector: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ResourceIdentifier", required: false, type: .string), + AWSShapeMember(label: "Domains", required: false, type: .list), AWSShapeMember(label: "ConnectorType", required: true, type: .enum) ] /// The ARN of the storage connector. public let resourceIdentifier: String? + /// The names of the domains for the G Suite account. + public let domains: [String]? /// The type of storage connector. public let connectorType: StorageConnectorType - public init(resourceIdentifier: String? = nil, connectorType: StorageConnectorType) { + public init(resourceIdentifier: String? = nil, domains: [String]? = nil, connectorType: StorageConnectorType) { self.resourceIdentifier = resourceIdentifier + self.domains = domains self.connectorType = connectorType } private enum CodingKeys: String, CodingKey { case resourceIdentifier = "ResourceIdentifier" + case domains = "Domains" case connectorType = "ConnectorType" } } - public struct CreateImageBuilderStreamingURLRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "Validity", required: false, type: .long) - ] - public let name: String - public let validity: Int64? - - public init(name: String, validity: Int64? = nil) { - self.name = name - self.validity = validity - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - case validity = "Validity" - } + public enum ImageBuilderStateChangeReasonCode: String, CustomStringConvertible, Codable { + case internalError = "INTERNAL_ERROR" + case imageUnavailable = "IMAGE_UNAVAILABLE" + public var description: String { return self.rawValue } } public struct DescribeStacksRequest: AWSShape { @@ -596,12 +730,35 @@ extension Appstream { } } + public struct ImageStateChangeReason: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Code", required: false, type: .enum), + AWSShapeMember(label: "Message", required: false, type: .string) + ] + /// The state change reason code. + public let code: ImageStateChangeReasonCode? + /// The state change reason message. + public let message: String? + + public init(code: ImageStateChangeReasonCode? = nil, message: String? = nil) { + self.code = code + self.message = message + } + + private enum CodingKeys: String, CodingKey { + case code = "Code" + case message = "Message" + } + } + public struct CreateImageBuilderStreamingURLResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StreamingURL", required: false, type: .string), AWSShapeMember(label: "Expires", required: false, type: .timestamp) ] + /// The URL to start the AppStream 2.0 streaming session. public let streamingURL: String? + /// The elapsed time, in seconds after the Unix epoch, when this URL expires. public let expires: TimeStamp? public init(streamingURL: String? = nil, expires: TimeStamp? = nil) { @@ -615,42 +772,88 @@ extension Appstream { } } - public struct ImageStateChangeReason: AWSShape { + public enum AuthenticationType: String, CustomStringConvertible, Codable { + case api = "API" + case saml = "SAML" + case userpool = "USERPOOL" + public var description: String { return self.rawValue } + } + + public struct DescribeImagePermissionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Code", required: false, type: .enum), - AWSShapeMember(label: "Message", required: false, type: .string) + AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "SharedAwsAccountIds", required: false, type: .list) ] - /// The state change reason code. - public let code: ImageStateChangeReasonCode? - /// The state change reason message. - public let message: String? + /// The maximum size of each results page. + public let maxResults: Int32? + /// The name of the private image for which to describe permissions. The image must be one that you own. + public let name: String + /// The pagination token to use to retrieve the next page of results. If this value is empty, only the first page is retrieved. + public let nextToken: String? + /// The 12-digit ID of one or more AWS accounts with which the image is shared. + public let sharedAwsAccountIds: [String]? - public init(code: ImageStateChangeReasonCode? = nil, message: String? = nil) { - self.code = code - self.message = message + public init(maxResults: Int32? = nil, name: String, nextToken: String? = nil, sharedAwsAccountIds: [String]? = nil) { + self.maxResults = maxResults + self.name = name + self.nextToken = nextToken + self.sharedAwsAccountIds = sharedAwsAccountIds } private enum CodingKeys: String, CodingKey { - case code = "Code" - case message = "Message" + case maxResults = "MaxResults" + case name = "Name" + case nextToken = "NextToken" + case sharedAwsAccountIds = "SharedAwsAccountIds" } } - public enum AuthenticationType: String, CustomStringConvertible, Codable { - case api = "API" - case saml = "SAML" - case userpool = "USERPOOL" + public enum StackAttribute: String, CustomStringConvertible, Codable { + case storageConnectors = "STORAGE_CONNECTORS" + case storageConnectorHomefolders = "STORAGE_CONNECTOR_HOMEFOLDERS" + case storageConnectorGoogleDrive = "STORAGE_CONNECTOR_GOOGLE_DRIVE" + case storageConnectorOneDrive = "STORAGE_CONNECTOR_ONE_DRIVE" + case redirectUrl = "REDIRECT_URL" + case feedbackUrl = "FEEDBACK_URL" + case themeName = "THEME_NAME" + case userSettings = "USER_SETTINGS" public var description: String { return self.rawValue } } + public struct SharedImagePermissions: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "sharedAccountId", required: true, type: .string), + AWSShapeMember(label: "imagePermissions", required: true, type: .structure) + ] + /// The 12-digit ID of the AWS account with which the image is shared. + public let sharedAccountId: String + /// Describes the permissions for a shared image. + public let imagePermissions: ImagePermissions + + public init(sharedAccountId: String, imagePermissions: ImagePermissions) { + self.sharedAccountId = sharedAccountId + self.imagePermissions = imagePermissions + } + + private enum CodingKeys: String, CodingKey { + case sharedAccountId = "sharedAccountId" + case imagePermissions = "imagePermissions" + } + } + public struct DescribeImageBuildersRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Names", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] + /// The names of the image builders to describe. public let names: [String]? + /// 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. public let nextToken: String? + /// The maximum size of each page of results. public let maxResults: Int32? public init(names: [String]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { @@ -666,43 +869,12 @@ extension Appstream { } } - public struct CreateStackRequest: AWSShape { + public struct DeleteDirectoryConfigRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StorageConnectors", required: false, type: .list), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "DisplayName", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "DirectoryName", required: true, type: .string) ] - /// The storage connectors to enable. - public let storageConnectors: [StorageConnector]? - /// The name of the stack. - public let name: String - /// The stack name displayed to end users. - public let displayName: String? - /// The description displayed to end users. - public let description: String? - - public init(storageConnectors: [StorageConnector]? = nil, name: String, displayName: String? = nil, description: String? = nil) { - self.storageConnectors = storageConnectors - self.name = name - self.displayName = displayName - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case storageConnectors = "StorageConnectors" - case name = "Name" - case displayName = "DisplayName" - case description = "Description" - } - } - - public struct DeleteDirectoryConfigRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DirectoryName", required: true, type: .string) - ] - /// The name of the directory configuration. - public let directoryName: String + /// The name of the directory configuration. + public let directoryName: String public init(directoryName: String) { self.directoryName = directoryName @@ -717,6 +889,7 @@ extension Appstream { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ImageBuilder", required: false, type: .structure) ] + /// Information about the image builder. public let imageBuilder: ImageBuilder? public init(imageBuilder: ImageBuilder? = nil) { @@ -728,10 +901,57 @@ extension Appstream { } } + public struct CreateStackRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FeedbackURL", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "RedirectURL", required: false, type: .string), + AWSShapeMember(label: "DisplayName", required: false, type: .string), + AWSShapeMember(label: "StorageConnectors", required: false, type: .list), + AWSShapeMember(label: "UserSettings", required: false, type: .list), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// 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. + public let feedbackURL: String? + /// The name of the stack. + public let name: String + /// The URL that users are redirected to after their streaming session ends. + public let redirectURL: String? + /// The stack name for display. + public let displayName: String? + /// The storage connectors to enable. + public let storageConnectors: [StorageConnector]? + /// The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled. + public let userSettings: [UserSetting]? + /// The description for display. + public let description: String? + + public init(feedbackURL: String? = nil, name: String, redirectURL: String? = nil, displayName: String? = nil, storageConnectors: [StorageConnector]? = nil, userSettings: [UserSetting]? = nil, description: String? = nil) { + self.feedbackURL = feedbackURL + self.name = name + self.redirectURL = redirectURL + self.displayName = displayName + self.storageConnectors = storageConnectors + self.userSettings = userSettings + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case feedbackURL = "FeedbackURL" + case name = "Name" + case redirectURL = "RedirectURL" + case displayName = "DisplayName" + case storageConnectors = "StorageConnectors" + case userSettings = "UserSettings" + case description = "Description" + } + } + public struct StopImageBuilderRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: true, type: .string) ] + /// The name of the image builder. public let name: String public init(name: String) { @@ -746,6 +966,7 @@ extension Appstream { public enum ImageStateChangeReasonCode: String, CustomStringConvertible, Codable { case internalError = "INTERNAL_ERROR" case imageBuilderNotAvailable = "IMAGE_BUILDER_NOT_AVAILABLE" + case imageCopyFailure = "IMAGE_COPY_FAILURE" public var description: String { return self.rawValue } } @@ -795,6 +1016,10 @@ extension Appstream { } } + public struct DeleteImagePermissionsResult: AWSShape { + + } + public struct ComputeCapacityStatus: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Available", required: false, type: .integer), @@ -832,6 +1057,7 @@ extension Appstream { AWSShapeMember(label: "Arn", required: false, type: .string), AWSShapeMember(label: "State", required: false, type: .enum), AWSShapeMember(label: "DisplayName", required: false, type: .string), + AWSShapeMember(label: "ImagePermissions", required: false, type: .structure), AWSShapeMember(label: "BaseImageArn", required: false, type: .string), AWSShapeMember(label: "Applications", required: false, type: .list), AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), @@ -839,6 +1065,7 @@ extension Appstream { AWSShapeMember(label: "StateChangeReason", required: false, type: .structure), AWSShapeMember(label: "ImageBuilderSupported", required: false, type: .boolean), AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "AppstreamAgentVersion", required: false, type: .string), AWSShapeMember(label: "PublicBaseImageReleasedDate", required: false, type: .timestamp), AWSShapeMember(label: "Visibility", required: false, type: .enum) ] @@ -848,15 +1075,17 @@ extension Appstream { public let arn: String? /// The image starts in the PENDING state. If image creation succeeds, the state is AVAILABLE. If image creation fails, the state is FAILED. public let state: ImageState? - /// The image name displayed to end users. + /// The image name for display. public let displayName: String? + /// The permissions to provide to the destination AWS account for the specified image. + public let imagePermissions: ImagePermissions? /// The ARN of the image from which this image was created. public let baseImageArn: String? /// The applications associated with the image. public let applications: [Application]? /// The time the image was created. public let createdTime: TimeStamp? - /// The description displayed to end users. + /// The description for display. public let description: String? /// The reason why the last state change occurred. public let stateChangeReason: ImageStateChangeReason? @@ -864,16 +1093,19 @@ extension Appstream { public let imageBuilderSupported: Bool? /// The name of the image. public let name: String + /// The version of the AppStream 2.0 agent to use for instances that are launched from this image. + public let appstreamAgentVersion: String? /// 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. public let publicBaseImageReleasedDate: TimeStamp? /// Indicates whether the image is public or private. public let visibility: VisibilityType? - public init(platform: PlatformType? = nil, arn: String? = nil, state: ImageState? = nil, displayName: String? = nil, baseImageArn: String? = nil, applications: [Application]? = nil, createdTime: TimeStamp? = nil, description: String? = nil, stateChangeReason: ImageStateChangeReason? = nil, imageBuilderSupported: Bool? = nil, name: String, publicBaseImageReleasedDate: TimeStamp? = nil, visibility: VisibilityType? = nil) { + public init(platform: PlatformType? = nil, arn: String? = nil, state: ImageState? = nil, displayName: String? = nil, imagePermissions: ImagePermissions? = nil, baseImageArn: String? = nil, applications: [Application]? = nil, createdTime: TimeStamp? = nil, description: String? = nil, stateChangeReason: ImageStateChangeReason? = nil, imageBuilderSupported: Bool? = nil, name: String, appstreamAgentVersion: String? = nil, publicBaseImageReleasedDate: TimeStamp? = nil, visibility: VisibilityType? = nil) { self.platform = platform self.arn = arn self.state = state self.displayName = displayName + self.imagePermissions = imagePermissions self.baseImageArn = baseImageArn self.applications = applications self.createdTime = createdTime @@ -881,6 +1113,7 @@ extension Appstream { self.stateChangeReason = stateChangeReason self.imageBuilderSupported = imageBuilderSupported self.name = name + self.appstreamAgentVersion = appstreamAgentVersion self.publicBaseImageReleasedDate = publicBaseImageReleasedDate self.visibility = visibility } @@ -890,6 +1123,7 @@ extension Appstream { case arn = "Arn" case state = "State" case displayName = "DisplayName" + case imagePermissions = "ImagePermissions" case baseImageArn = "BaseImageArn" case applications = "Applications" case createdTime = "CreatedTime" @@ -897,6 +1131,7 @@ extension Appstream { case stateChangeReason = "StateChangeReason" case imageBuilderSupported = "ImageBuilderSupported" case name = "Name" + case appstreamAgentVersion = "AppstreamAgentVersion" case publicBaseImageReleasedDate = "PublicBaseImageReleasedDate" case visibility = "Visibility" } @@ -906,6 +1141,7 @@ extension Appstream { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: true, type: .string) ] + /// The name of the image. public let name: String public init(name: String) { @@ -980,7 +1216,7 @@ extension Appstream { AWSShapeMember(label: "ServiceAccountCredentials", required: false, type: .structure), AWSShapeMember(label: "OrganizationalUnitDistinguishedNames", required: false, type: .list) ] - /// The name of the directory configuration. + /// The name of the Directory Config object. public let directoryName: String /// The credentials for the service account used by the streaming instance to connect to the directory. public let serviceAccountCredentials: ServiceAccountCredentials? @@ -1000,6 +1236,22 @@ extension Appstream { } } + public struct ListTagsForResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceArn", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) of the resource. + public let resourceArn: String + + public init(resourceArn: String) { + self.resourceArn = resourceArn + } + + private enum CodingKeys: String, CodingKey { + case resourceArn = "ResourceArn" + } + } + public struct ListAssociatedFleetsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StackName", required: true, type: .string), @@ -1021,26 +1273,26 @@ extension Appstream { } } - public struct DeleteStackResult: AWSShape { - - } - - public struct DescribeImagesResult: AWSShape { + public struct ListTagsForResourceResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Images", required: false, type: .list) + AWSShapeMember(label: "Tags", required: false, type: .map) ] - /// Information about the images. - public let images: [Image]? + /// The information about the tags. + public let tags: [String: String]? - public init(images: [Image]? = nil) { - self.images = images + public init(tags: [String: String]? = nil) { + self.tags = tags } private enum CodingKeys: String, CodingKey { - case images = "Images" + case tags = "Tags" } } + public struct DeleteStackResult: AWSShape { + + } + public enum FleetState: String, CustomStringConvertible, Codable { case starting = "STARTING" case running = "RUNNING" @@ -1066,9 +1318,9 @@ extension Appstream { public let limit: Int32? /// 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. public let nextToken: String? - /// The name of the stack. + /// The name of the stack. This value is case-sensitive. public let stackName: String - /// The name of the fleet. + /// The name of the fleet. This value is case-sensitive. public let fleetName: String public init(authenticationType: AuthenticationType? = nil, userId: String? = nil, limit: Int32? = nil, nextToken: String? = nil, stackName: String, fleetName: String) { @@ -1097,7 +1349,7 @@ extension Appstream { ] /// 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. public let nextToken: String? - /// The names of the fleets. + /// The name of the fleet. public let names: [String]? public init(nextToken: String? = nil, names: [String]? = nil) { @@ -1111,6 +1363,27 @@ extension Appstream { } } + public struct DescribeImagesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Images", required: false, type: .list) + ] + /// The pagination token to use to retrieve the next page of results. If there are no more pages, this value is null. + public let nextToken: String? + /// Information about the images. + public let images: [Image]? + + public init(nextToken: String? = nil, images: [Image]? = nil) { + self.nextToken = nextToken + self.images = images + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case images = "Images" + } + } + public struct DescribeFleetsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -1132,6 +1405,10 @@ extension Appstream { } } + public struct TagResourceResponse: AWSShape { + + } + public enum StackErrorCode: String, CustomStringConvertible, Codable { case storageConnectorError = "STORAGE_CONNECTOR_ERROR" case internalServiceError = "INTERNAL_SERVICE_ERROR" @@ -1145,7 +1422,7 @@ extension Appstream { ] /// 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. public let nextToken: String? - /// The names of the stacks. + /// The name of the stack. public let names: [String]? public init(nextToken: String? = nil, names: [String]? = nil) { @@ -1159,6 +1436,32 @@ extension Appstream { } } + public struct DescribeImagePermissionsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SharedImagePermissionsList", required: false, type: .list), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// The permissions for a private image that you own. + public let sharedImagePermissionsList: [SharedImagePermissions]? + /// The name of the private image. + public let name: String? + /// The pagination token to use to retrieve the next page of results. If this value is empty, only the first page is retrieved. + public let nextToken: String? + + public init(sharedImagePermissionsList: [SharedImagePermissions]? = nil, name: String? = nil, nextToken: String? = nil) { + self.sharedImagePermissionsList = sharedImagePermissionsList + self.name = name + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case sharedImagePermissionsList = "SharedImagePermissionsList" + case name = "Name" + case nextToken = "NextToken" + } + } + public enum FleetAttribute: String, CustomStringConvertible, Codable { case vpcConfiguration = "VPC_CONFIGURATION" case vpcConfigurationSecurityGroupIds = "VPC_CONFIGURATION_SECURITY_GROUP_IDS" @@ -1170,80 +1473,107 @@ extension Appstream { } - public struct DisassociateFleetResult: AWSShape { + public struct ImagePermissions: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "allowFleet", required: false, type: .boolean), + AWSShapeMember(label: "allowImageBuilder", required: false, type: .boolean) + ] + /// Indicates whether the image can be used for a fleet. + public let allowFleet: Bool? + /// Indicates whether the image can be used for an image builder. + public let allowImageBuilder: Bool? + public init(allowFleet: Bool? = nil, allowImageBuilder: Bool? = nil) { + self.allowFleet = allowFleet + self.allowImageBuilder = allowImageBuilder + } + + private enum CodingKeys: String, CodingKey { + case allowFleet = "allowFleet" + case allowImageBuilder = "allowImageBuilder" + } } public struct CreateFleetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ComputeCapacity", required: true, type: .structure), - AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "VpcConfig", required: false, type: .structure), - AWSShapeMember(label: "Name", required: true, type: .string), AWSShapeMember(label: "DisplayName", required: false, type: .string), - AWSShapeMember(label: "ImageName", required: true, type: .string), - AWSShapeMember(label: "DisconnectTimeoutInSeconds", required: false, type: .integer), - AWSShapeMember(label: "FleetType", required: false, type: .enum), - AWSShapeMember(label: "EnableDefaultInternetAccess", required: false, type: .boolean), + AWSShapeMember(label: "ImageName", required: false, type: .string), AWSShapeMember(label: "DomainJoinInfo", required: false, type: .structure), + AWSShapeMember(label: "EnableDefaultInternetAccess", required: false, type: .boolean), AWSShapeMember(label: "InstanceType", required: true, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "ComputeCapacity", required: true, type: .structure), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "ImageArn", required: false, type: .string), + AWSShapeMember(label: "DisconnectTimeoutInSeconds", required: false, type: .integer), + AWSShapeMember(label: "FleetType", required: false, type: .enum), AWSShapeMember(label: "MaxUserDurationInSeconds", required: false, type: .integer) ] - /// The desired capacity for the fleet. - public let computeCapacity: ComputeCapacity - /// The description displayed to end users. - public let description: String? /// The VPC configuration for the fleet. public let vpcConfig: VpcConfig? - /// A unique name for the fleet. - public let name: String - /// The fleet name displayed to end users. + /// The fleet name for display. public let displayName: String? - /// The name of the image used by the fleet. - public let imageName: String - /// 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. - public let disconnectTimeoutInSeconds: Int32? - public let fleetType: FleetType? + /// The name of the image used to create the fleet. + public let imageName: String? + /// The information needed to join a Microsoft Active Directory domain. + public let domainJoinInfo: DomainJoinInfo? /// Enables or disables default internet access for the fleet. public let enableDefaultInternetAccess: Bool? - /// The information needed for streaming instances to join a domain. - public let domainJoinInfo: DomainJoinInfo? /// 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 public let instanceType: String + /// The description for display. + public let description: String? + /// The desired capacity for the fleet. + public let computeCapacity: ComputeCapacity + /// A unique name for the fleet. + public let name: String + /// The ARN of the public, private, or shared image to use. + public let imageArn: String? + /// 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. + public let disconnectTimeoutInSeconds: Int32? + /// 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. + public let fleetType: FleetType? /// The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600. public let maxUserDurationInSeconds: Int32? - public init(computeCapacity: ComputeCapacity, description: String? = nil, vpcConfig: VpcConfig? = nil, name: String, displayName: String? = nil, imageName: String, disconnectTimeoutInSeconds: Int32? = nil, fleetType: FleetType? = nil, enableDefaultInternetAccess: Bool? = nil, domainJoinInfo: DomainJoinInfo? = nil, instanceType: String, maxUserDurationInSeconds: Int32? = nil) { - self.computeCapacity = computeCapacity - self.description = description + public init(vpcConfig: VpcConfig? = nil, displayName: String? = nil, imageName: String? = nil, domainJoinInfo: DomainJoinInfo? = nil, enableDefaultInternetAccess: Bool? = nil, instanceType: String, description: String? = nil, computeCapacity: ComputeCapacity, name: String, imageArn: String? = nil, disconnectTimeoutInSeconds: Int32? = nil, fleetType: FleetType? = nil, maxUserDurationInSeconds: Int32? = nil) { self.vpcConfig = vpcConfig - self.name = name self.displayName = displayName self.imageName = imageName - self.disconnectTimeoutInSeconds = disconnectTimeoutInSeconds - self.fleetType = fleetType - self.enableDefaultInternetAccess = enableDefaultInternetAccess self.domainJoinInfo = domainJoinInfo + self.enableDefaultInternetAccess = enableDefaultInternetAccess self.instanceType = instanceType + self.description = description + self.computeCapacity = computeCapacity + self.name = name + self.imageArn = imageArn + self.disconnectTimeoutInSeconds = disconnectTimeoutInSeconds + self.fleetType = fleetType self.maxUserDurationInSeconds = maxUserDurationInSeconds } private enum CodingKeys: String, CodingKey { - case computeCapacity = "ComputeCapacity" - case description = "Description" case vpcConfig = "VpcConfig" - case name = "Name" case displayName = "DisplayName" case imageName = "ImageName" - case disconnectTimeoutInSeconds = "DisconnectTimeoutInSeconds" - case fleetType = "FleetType" - case enableDefaultInternetAccess = "EnableDefaultInternetAccess" case domainJoinInfo = "DomainJoinInfo" + case enableDefaultInternetAccess = "EnableDefaultInternetAccess" case instanceType = "InstanceType" + case description = "Description" + case computeCapacity = "ComputeCapacity" + case name = "Name" + case imageArn = "ImageArn" + case disconnectTimeoutInSeconds = "DisconnectTimeoutInSeconds" + case fleetType = "FleetType" case maxUserDurationInSeconds = "MaxUserDurationInSeconds" } } + public struct DisassociateFleetResult: AWSShape { + + } + public struct UpdateStackResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Stack", required: false, type: .structure) @@ -1260,18 +1590,90 @@ extension Appstream { } } - public struct StartImageBuilderRequest: AWSShape { + public struct NetworkAccessConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string) + AWSShapeMember(label: "EniPrivateIpAddress", required: false, type: .string), + AWSShapeMember(label: "EniId", required: false, type: .string) ] - public let name: String + /// The private IP address of the elastic network interface that is attached to instances in your VPC. + public let eniPrivateIpAddress: String? + /// 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. + public let eniId: String? - public init(name: String) { - self.name = name + public init(eniPrivateIpAddress: String? = nil, eniId: String? = nil) { + self.eniPrivateIpAddress = eniPrivateIpAddress + self.eniId = eniId } private enum CodingKeys: String, CodingKey { - case name = "Name" + case eniPrivateIpAddress = "EniPrivateIpAddress" + case eniId = "EniId" + } + } + + public struct CopyImageRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DestinationRegion", required: true, type: .string), + AWSShapeMember(label: "SourceImageName", required: true, type: .string), + AWSShapeMember(label: "DestinationImageName", required: true, type: .string), + AWSShapeMember(label: "DestinationImageDescription", required: false, type: .string) + ] + /// 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. + public let destinationRegion: String + /// The name of the image to copy. + public let sourceImageName: String + /// The name that the image will have when it is copied to the destination. + public let destinationImageName: String + /// The description that the image will have when it is copied to the destination. + public let destinationImageDescription: String? + + public init(destinationRegion: String, sourceImageName: String, destinationImageName: String, destinationImageDescription: String? = nil) { + self.destinationRegion = destinationRegion + self.sourceImageName = sourceImageName + self.destinationImageName = destinationImageName + self.destinationImageDescription = destinationImageDescription + } + + private enum CodingKeys: String, CodingKey { + case destinationRegion = "DestinationRegion" + case sourceImageName = "SourceImageName" + case destinationImageName = "DestinationImageName" + case destinationImageDescription = "DestinationImageDescription" + } + } + + public struct UpdateImagePermissionsResult: AWSShape { + + } + + public struct DirectoryConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationalUnitDistinguishedNames", required: false, type: .list), + AWSShapeMember(label: "DirectoryName", required: true, type: .string), + AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), + AWSShapeMember(label: "ServiceAccountCredentials", required: false, type: .structure) + ] + /// The distinguished names of the organizational units for computer accounts. + public let organizationalUnitDistinguishedNames: [String]? + /// The fully qualified name of the directory (for example, corp.example.com). + public let directoryName: String + /// The time the directory configuration was created. + public let createdTime: TimeStamp? + /// The credentials for the service account used by the streaming instance to connect to the directory. + public let serviceAccountCredentials: ServiceAccountCredentials? + + public init(organizationalUnitDistinguishedNames: [String]? = nil, directoryName: String, createdTime: TimeStamp? = nil, serviceAccountCredentials: ServiceAccountCredentials? = nil) { + self.organizationalUnitDistinguishedNames = organizationalUnitDistinguishedNames + self.directoryName = directoryName + self.createdTime = createdTime + self.serviceAccountCredentials = serviceAccountCredentials + } + + private enum CodingKeys: String, CodingKey { + case organizationalUnitDistinguishedNames = "OrganizationalUnitDistinguishedNames" + case directoryName = "DirectoryName" + case createdTime = "CreatedTime" + case serviceAccountCredentials = "ServiceAccountCredentials" } } @@ -1283,13 +1685,14 @@ extension Appstream { AWSShapeMember(label: "ComputeCapacityStatus", required: true, type: .structure), AWSShapeMember(label: "DisplayName", required: false, type: .string), AWSShapeMember(label: "FleetErrors", required: false, type: .list), - AWSShapeMember(label: "ImageName", required: true, type: .string), + AWSShapeMember(label: "ImageName", required: false, type: .string), AWSShapeMember(label: "DomainJoinInfo", required: false, type: .structure), - AWSShapeMember(label: "EnableDefaultInternetAccess", required: false, type: .boolean), AWSShapeMember(label: "InstanceType", required: true, type: .string), + AWSShapeMember(label: "EnableDefaultInternetAccess", required: false, type: .boolean), AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "ImageArn", required: false, type: .string), AWSShapeMember(label: "DisconnectTimeoutInSeconds", required: false, type: .integer), AWSShapeMember(label: "FleetType", required: false, type: .enum), AWSShapeMember(label: "MaxUserDurationInSeconds", required: false, type: .integer) @@ -1302,31 +1705,34 @@ extension Appstream { public let state: FleetState /// The capacity status for the fleet. public let computeCapacityStatus: ComputeCapacityStatus - /// The fleet name displayed to end users. + /// The fleet name for display. public let displayName: String? /// The fleet errors. public let fleetErrors: [FleetError]? - /// The image used by the fleet. - public let imageName: String - /// The information needed for streaming instances to join a domain. + /// The name of the image used to create the fleet. + public let imageName: String? + /// The information needed to join a Microsoft Active Directory domain. public let domainJoinInfo: DomainJoinInfo? - /// Indicates whether default internet access is enabled for the fleet. - public let enableDefaultInternetAccess: Bool? /// The instance type to use when launching fleet instances. public let instanceType: String + /// Indicates whether default internet access is enabled for the fleet. + public let enableDefaultInternetAccess: Bool? /// The time the fleet was created. public let createdTime: TimeStamp? - /// The description displayed to end users. + /// The description for display. public let description: String? /// The name of the fleet. public let name: String + /// The ARN for the public, private, or shared image. + public let imageArn: String? /// 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. public let disconnectTimeoutInSeconds: Int32? + /// 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. public let fleetType: FleetType? /// The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600. public let maxUserDurationInSeconds: Int32? - public init(arn: String, vpcConfig: VpcConfig? = nil, state: FleetState, computeCapacityStatus: ComputeCapacityStatus, displayName: String? = nil, fleetErrors: [FleetError]? = nil, imageName: String, domainJoinInfo: DomainJoinInfo? = nil, enableDefaultInternetAccess: Bool? = nil, instanceType: String, createdTime: TimeStamp? = nil, description: String? = nil, name: String, disconnectTimeoutInSeconds: Int32? = nil, fleetType: FleetType? = nil, maxUserDurationInSeconds: Int32? = nil) { + public init(arn: String, vpcConfig: VpcConfig? = nil, state: FleetState, computeCapacityStatus: ComputeCapacityStatus, displayName: String? = nil, fleetErrors: [FleetError]? = nil, imageName: String? = nil, domainJoinInfo: DomainJoinInfo? = nil, instanceType: String, enableDefaultInternetAccess: Bool? = nil, createdTime: TimeStamp? = nil, description: String? = nil, name: String, imageArn: String? = nil, disconnectTimeoutInSeconds: Int32? = nil, fleetType: FleetType? = nil, maxUserDurationInSeconds: Int32? = nil) { self.arn = arn self.vpcConfig = vpcConfig self.state = state @@ -1335,11 +1741,12 @@ extension Appstream { self.fleetErrors = fleetErrors self.imageName = imageName self.domainJoinInfo = domainJoinInfo - self.enableDefaultInternetAccess = enableDefaultInternetAccess self.instanceType = instanceType + self.enableDefaultInternetAccess = enableDefaultInternetAccess self.createdTime = createdTime self.description = description self.name = name + self.imageArn = imageArn self.disconnectTimeoutInSeconds = disconnectTimeoutInSeconds self.fleetType = fleetType self.maxUserDurationInSeconds = maxUserDurationInSeconds @@ -1354,45 +1761,36 @@ extension Appstream { case fleetErrors = "FleetErrors" case imageName = "ImageName" case domainJoinInfo = "DomainJoinInfo" - case enableDefaultInternetAccess = "EnableDefaultInternetAccess" case instanceType = "InstanceType" + case enableDefaultInternetAccess = "EnableDefaultInternetAccess" case createdTime = "CreatedTime" case description = "Description" case name = "Name" + case imageArn = "ImageArn" case disconnectTimeoutInSeconds = "DisconnectTimeoutInSeconds" case fleetType = "FleetType" case maxUserDurationInSeconds = "MaxUserDurationInSeconds" } } - public struct DirectoryConfig: AWSShape { + public struct StartImageBuilderRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OrganizationalUnitDistinguishedNames", required: false, type: .list), - AWSShapeMember(label: "DirectoryName", required: true, type: .string), - AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), - AWSShapeMember(label: "ServiceAccountCredentials", required: false, type: .structure) + AWSShapeMember(label: "AppstreamAgentVersion", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string) ] - /// The distinguished names of the organizational units for computer accounts. - public let organizationalUnitDistinguishedNames: [String]? - /// The fully qualified name of the directory (for example, corp.example.com). - public let directoryName: String - /// The time the directory configuration was created. - public let createdTime: TimeStamp? - /// The credentials for the service account used by the streaming instance to connect to the directory. - public let serviceAccountCredentials: ServiceAccountCredentials? + /// 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]. + public let appstreamAgentVersion: String? + /// The name of the image builder. + public let name: String - public init(organizationalUnitDistinguishedNames: [String]? = nil, directoryName: String, createdTime: TimeStamp? = nil, serviceAccountCredentials: ServiceAccountCredentials? = nil) { - self.organizationalUnitDistinguishedNames = organizationalUnitDistinguishedNames - self.directoryName = directoryName - self.createdTime = createdTime - self.serviceAccountCredentials = serviceAccountCredentials + public init(appstreamAgentVersion: String? = nil, name: String) { + self.appstreamAgentVersion = appstreamAgentVersion + self.name = name } private enum CodingKeys: String, CodingKey { - case organizationalUnitDistinguishedNames = "OrganizationalUnitDistinguishedNames" - case directoryName = "DirectoryName" - case createdTime = "CreatedTime" - case serviceAccountCredentials = "ServiceAccountCredentials" + case appstreamAgentVersion = "AppstreamAgentVersion" + case name = "Name" } } @@ -1411,24 +1809,41 @@ extension Appstream { AWSShapeMember(label: "StateChangeReason", required: false, type: .structure), AWSShapeMember(label: "ImageBuilderErrors", required: false, type: .list), AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "AppstreamAgentVersion", required: false, type: .string), AWSShapeMember(label: "ImageArn", required: false, type: .string) ] + /// The operating system platform of the image builder. public let platform: PlatformType? + /// The ARN for the image builder. public let arn: String? + /// The VPC configuration of the image builder. public let vpcConfig: VpcConfig? + /// The state of the image builder. public let state: ImageBuilderState? + /// The image builder name for display. public let displayName: String? + /// The information needed to join a Microsoft Active Directory domain. public let domainJoinInfo: DomainJoinInfo? + /// The instance type for the image builder. public let instanceType: String? + /// Enables or disables default internet access for the image builder. public let enableDefaultInternetAccess: Bool? + /// The time stamp when the image builder was created. public let createdTime: TimeStamp? + /// The description for display. public let description: String? + /// The reason why the last state change occurred. public let stateChangeReason: ImageBuilderStateChangeReason? + /// The image builder errors. public let imageBuilderErrors: [ResourceError]? + /// The name of the image builder. public let name: String + /// The version of the AppStream 2.0 agent that is currently being used by this image builder. + public let appstreamAgentVersion: String? + /// The ARN of the image from which this builder was created. public let imageArn: String? - public init(platform: PlatformType? = nil, arn: String? = nil, vpcConfig: VpcConfig? = nil, state: ImageBuilderState? = nil, displayName: String? = nil, domainJoinInfo: DomainJoinInfo? = nil, instanceType: String? = nil, enableDefaultInternetAccess: Bool? = nil, createdTime: TimeStamp? = nil, description: String? = nil, stateChangeReason: ImageBuilderStateChangeReason? = nil, imageBuilderErrors: [ResourceError]? = nil, name: String, imageArn: String? = nil) { + public init(platform: PlatformType? = nil, arn: String? = nil, vpcConfig: VpcConfig? = nil, state: ImageBuilderState? = nil, displayName: String? = nil, domainJoinInfo: DomainJoinInfo? = nil, instanceType: String? = nil, enableDefaultInternetAccess: Bool? = nil, createdTime: TimeStamp? = nil, description: String? = nil, stateChangeReason: ImageBuilderStateChangeReason? = nil, imageBuilderErrors: [ResourceError]? = nil, name: String, appstreamAgentVersion: String? = nil, imageArn: String? = nil) { self.platform = platform self.arn = arn self.vpcConfig = vpcConfig @@ -1442,6 +1857,7 @@ extension Appstream { self.stateChangeReason = stateChangeReason self.imageBuilderErrors = imageBuilderErrors self.name = name + self.appstreamAgentVersion = appstreamAgentVersion self.imageArn = imageArn } @@ -1459,6 +1875,7 @@ extension Appstream { case stateChangeReason = "StateChangeReason" case imageBuilderErrors = "ImageBuilderErrors" case name = "Name" + case appstreamAgentVersion = "AppstreamAgentVersion" case imageArn = "ImageArn" } } @@ -1469,8 +1886,11 @@ extension Appstream { AWSShapeMember(label: "ErrorCode", required: false, type: .enum), AWSShapeMember(label: "ErrorTimestamp", required: false, type: .timestamp) ] + /// The error message. public let errorMessage: String? + /// The error code. public let errorCode: FleetErrorCode? + /// The time the error occurred. public let errorTimestamp: TimeStamp? public init(errorMessage: String? = nil, errorCode: FleetErrorCode? = nil, errorTimestamp: TimeStamp? = nil) { @@ -1511,26 +1931,42 @@ extension Appstream { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "VpcConfig", required: false, type: .structure), AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "AppstreamAgentVersion", required: false, type: .string), AWSShapeMember(label: "DisplayName", required: false, type: .string), - AWSShapeMember(label: "ImageName", required: true, type: .string), + AWSShapeMember(label: "ImageArn", required: false, type: .string), + AWSShapeMember(label: "ImageName", required: false, type: .string), AWSShapeMember(label: "DomainJoinInfo", required: false, type: .structure), AWSShapeMember(label: "InstanceType", required: true, type: .string), AWSShapeMember(label: "EnableDefaultInternetAccess", required: false, type: .boolean), AWSShapeMember(label: "Description", required: false, type: .string) ] + /// The VPC configuration for the image builder. You can specify only one subnet. public let vpcConfig: VpcConfig? + /// A unique name for the image builder. public let name: String + /// 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]. + public let appstreamAgentVersion: String? + /// The image builder name for display. public let displayName: String? - public let imageName: String + /// The ARN of the public, private, or shared image to use. + public let imageArn: String? + /// The name of the image used to create the builder. + public let imageName: String? + /// The information needed to join a Microsoft Active Directory domain. public let domainJoinInfo: DomainJoinInfo? + /// The instance type to use when launching the image builder. public let instanceType: String + /// Enables or disables default internet access for the image builder. public let enableDefaultInternetAccess: Bool? + /// The description for display. public let description: String? - public init(vpcConfig: VpcConfig? = nil, name: String, displayName: String? = nil, imageName: String, domainJoinInfo: DomainJoinInfo? = nil, instanceType: String, enableDefaultInternetAccess: Bool? = nil, description: String? = nil) { + public init(vpcConfig: VpcConfig? = nil, name: String, appstreamAgentVersion: String? = nil, displayName: String? = nil, imageArn: String? = nil, imageName: String? = nil, domainJoinInfo: DomainJoinInfo? = nil, instanceType: String, enableDefaultInternetAccess: Bool? = nil, description: String? = nil) { self.vpcConfig = vpcConfig self.name = name + self.appstreamAgentVersion = appstreamAgentVersion self.displayName = displayName + self.imageArn = imageArn self.imageName = imageName self.domainJoinInfo = domainJoinInfo self.instanceType = instanceType @@ -1541,7 +1977,9 @@ extension Appstream { private enum CodingKeys: String, CodingKey { case vpcConfig = "VpcConfig" case name = "Name" + case appstreamAgentVersion = "AppstreamAgentVersion" case displayName = "DisplayName" + case imageArn = "ImageArn" case imageName = "ImageName" case domainJoinInfo = "DomainJoinInfo" case instanceType = "InstanceType" @@ -1571,46 +2009,52 @@ extension Appstream { } } - public struct UpdateDirectoryConfigResult: AWSShape { + public struct CopyImageResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DirectoryConfig", required: false, type: .structure) + AWSShapeMember(label: "DestinationImageName", required: false, type: .string) ] - /// Information about the directory configuration. - public let directoryConfig: DirectoryConfig? + /// The name of the destination image. + public let destinationImageName: String? - public init(directoryConfig: DirectoryConfig? = nil) { - self.directoryConfig = directoryConfig + public init(destinationImageName: String? = nil) { + self.destinationImageName = destinationImageName } private enum CodingKeys: String, CodingKey { - case directoryConfig = "DirectoryConfig" + case destinationImageName = "DestinationImageName" } } public enum VisibilityType: String, CustomStringConvertible, Codable { case `public` = "PUBLIC" case `private` = "PRIVATE" + case shared = "SHARED" public var description: String { return self.rawValue } } - public struct ListAssociatedStacksRequest: AWSShape { + public struct CreateDirectoryConfigRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "FleetName", required: true, type: .string) + AWSShapeMember(label: "DirectoryName", required: true, type: .string), + AWSShapeMember(label: "ServiceAccountCredentials", required: true, type: .structure), + AWSShapeMember(label: "OrganizationalUnitDistinguishedNames", required: true, type: .list) ] - /// 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. - public let nextToken: String? - /// The name of the fleet. - public let fleetName: String + /// The fully qualified name of the directory (for example, corp.example.com). + public let directoryName: String + /// The credentials for the service account used by the streaming instance to connect to the directory. + public let serviceAccountCredentials: ServiceAccountCredentials + /// The distinguished names of the organizational units for computer accounts. + public let organizationalUnitDistinguishedNames: [String] - public init(nextToken: String? = nil, fleetName: String) { - self.nextToken = nextToken - self.fleetName = fleetName + public init(directoryName: String, serviceAccountCredentials: ServiceAccountCredentials, organizationalUnitDistinguishedNames: [String]) { + self.directoryName = directoryName + self.serviceAccountCredentials = serviceAccountCredentials + self.organizationalUnitDistinguishedNames = organizationalUnitDistinguishedNames } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case fleetName = "FleetName" + case directoryName = "DirectoryName" + case serviceAccountCredentials = "ServiceAccountCredentials" + case organizationalUnitDistinguishedNames = "OrganizationalUnitDistinguishedNames" } } @@ -1618,6 +2062,7 @@ extension Appstream { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: true, type: .string) ] + /// The name of the image builder. public let name: String public init(name: String) { @@ -1629,34 +2074,50 @@ extension Appstream { } } - public struct CreateDirectoryConfigRequest: AWSShape { + public struct UntagResourceResponse: AWSShape { + + } + + public struct UpdateDirectoryConfigResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DirectoryName", required: true, type: .string), - AWSShapeMember(label: "ServiceAccountCredentials", required: true, type: .structure), - AWSShapeMember(label: "OrganizationalUnitDistinguishedNames", required: true, type: .list) + AWSShapeMember(label: "DirectoryConfig", required: false, type: .structure) ] - /// The fully qualified name of the directory (for example, corp.example.com). - public let directoryName: String - /// The credentials for the service account used by the streaming instance to connect to the directory. - public let serviceAccountCredentials: ServiceAccountCredentials - /// The distinguished names of the organizational units for computer accounts. - public let organizationalUnitDistinguishedNames: [String] + /// Information about the Directory Config object. + public let directoryConfig: DirectoryConfig? - public init(directoryName: String, serviceAccountCredentials: ServiceAccountCredentials, organizationalUnitDistinguishedNames: [String]) { - self.directoryName = directoryName - self.serviceAccountCredentials = serviceAccountCredentials - self.organizationalUnitDistinguishedNames = organizationalUnitDistinguishedNames + public init(directoryConfig: DirectoryConfig? = nil) { + self.directoryConfig = directoryConfig } private enum CodingKeys: String, CodingKey { - case directoryName = "DirectoryName" - case serviceAccountCredentials = "ServiceAccountCredentials" - case organizationalUnitDistinguishedNames = "OrganizationalUnitDistinguishedNames" + case directoryConfig = "DirectoryConfig" + } + } + + public struct ListAssociatedStacksRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "FleetName", required: true, type: .string) + ] + /// 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. + public let nextToken: String? + /// The name of the fleet. + public let fleetName: String + + public init(nextToken: String? = nil, fleetName: String) { + self.nextToken = nextToken + self.fleetName = fleetName + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case fleetName = "FleetName" } } public enum ImageBuilderState: String, CustomStringConvertible, Codable { case pending = "PENDING" + case updatingAgent = "UPDATING_AGENT" case running = "RUNNING" case stopping = "STOPPING" case stopped = "STOPPED" @@ -1667,61 +2128,91 @@ extension Appstream { public var description: String { return self.rawValue } } - public enum FleetType: String, CustomStringConvertible, Codable { - case alwaysOn = "ALWAYS_ON" - case onDemand = "ON_DEMAND" - public var description: String { return self.rawValue } + public struct CreateDirectoryConfigResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DirectoryConfig", required: false, type: .structure) + ] + /// Information about the directory configuration. + public let directoryConfig: DirectoryConfig? + + public init(directoryConfig: DirectoryConfig? = nil) { + self.directoryConfig = directoryConfig + } + + private enum CodingKeys: String, CodingKey { + case directoryConfig = "DirectoryConfig" + } } public struct UpdateStackRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DeleteStorageConnectors", required: false, type: .boolean), - AWSShapeMember(label: "StorageConnectors", required: false, type: .list), + AWSShapeMember(label: "FeedbackURL", required: false, type: .string), AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "RedirectURL", required: false, type: .string), AWSShapeMember(label: "DisplayName", required: false, type: .string), + AWSShapeMember(label: "DeleteStorageConnectors", required: false, type: .boolean), + AWSShapeMember(label: "AttributesToDelete", required: false, type: .list), + AWSShapeMember(label: "StorageConnectors", required: false, type: .list), + AWSShapeMember(label: "UserSettings", required: false, type: .list), AWSShapeMember(label: "Description", required: false, type: .string) ] + /// 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. + public let feedbackURL: String? + /// The name of the stack. + public let name: String + /// The URL that users are redirected to after their streaming session ends. + public let redirectURL: String? + /// The stack name for display. + public let displayName: String? /// Deletes the storage connectors currently enabled for the stack. public let deleteStorageConnectors: Bool? + /// The stack attributes to delete. + public let attributesToDelete: [StackAttribute]? /// The storage connectors to enable. public let storageConnectors: [StorageConnector]? - /// The name of the stack. - public let name: String - /// The stack name displayed to end users. - public let displayName: String? - /// The description displayed to end users. + /// The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled. + public let userSettings: [UserSetting]? + /// The description for display. public let description: String? - public init(deleteStorageConnectors: Bool? = nil, storageConnectors: [StorageConnector]? = nil, name: String, displayName: String? = nil, description: String? = nil) { - self.deleteStorageConnectors = deleteStorageConnectors - self.storageConnectors = storageConnectors + public init(feedbackURL: String? = nil, name: String, redirectURL: String? = nil, displayName: String? = nil, deleteStorageConnectors: Bool? = nil, attributesToDelete: [StackAttribute]? = nil, storageConnectors: [StorageConnector]? = nil, userSettings: [UserSetting]? = nil, description: String? = nil) { + self.feedbackURL = feedbackURL self.name = name + self.redirectURL = redirectURL self.displayName = displayName + self.deleteStorageConnectors = deleteStorageConnectors + self.attributesToDelete = attributesToDelete + self.storageConnectors = storageConnectors + self.userSettings = userSettings self.description = description } private enum CodingKeys: String, CodingKey { - case deleteStorageConnectors = "DeleteStorageConnectors" - case storageConnectors = "StorageConnectors" + case feedbackURL = "FeedbackURL" case name = "Name" + case redirectURL = "RedirectURL" case displayName = "DisplayName" + case deleteStorageConnectors = "DeleteStorageConnectors" + case attributesToDelete = "AttributesToDelete" + case storageConnectors = "StorageConnectors" + case userSettings = "UserSettings" case description = "Description" } } - public struct CreateDirectoryConfigResult: AWSShape { + public struct StopFleetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DirectoryConfig", required: false, type: .structure) + AWSShapeMember(label: "Name", required: true, type: .string) ] - /// Information about the directory configuration. - public let directoryConfig: DirectoryConfig? + /// The name of the fleet. + public let name: String - public init(directoryConfig: DirectoryConfig? = nil) { - self.directoryConfig = directoryConfig + public init(name: String) { + self.name = name } private enum CodingKeys: String, CodingKey { - case directoryConfig = "DirectoryConfig" + case name = "Name" } } @@ -1746,20 +2237,10 @@ extension Appstream { } } - public struct StopFleetRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string) - ] - /// The name of the fleet. - public let name: String - - public init(name: String) { - self.name = name - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - } + public enum FleetType: String, CustomStringConvertible, Codable { + case alwaysOn = "ALWAYS_ON" + case onDemand = "ON_DEMAND" + public var description: String { return self.rawValue } } public struct CreateStreamingURLRequest: AWSShape { @@ -1771,13 +2252,13 @@ extension Appstream { AWSShapeMember(label: "StackName", required: true, type: .string), AWSShapeMember(label: "FleetName", required: true, type: .string) ] - /// The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. + /// The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 60 seconds. public let validity: Int64? /// The ID of the user. public let userId: String - /// The ID of the application that must be launched after the session starts. + /// The name of the application to launch after the session starts. This is the name that you specified as Name in the Image Assistant. public let applicationId: String? - /// The session context of the streaming URL. + /// The session context. For more information, see Session Context in the Amazon AppStream 2.0 Developer Guide. public let sessionContext: String? /// The name of the stack. public let stackName: String @@ -1819,6 +2300,27 @@ extension Appstream { } } + public struct AssociateFleetRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StackName", required: true, type: .string), + AWSShapeMember(label: "FleetName", required: true, type: .string) + ] + /// The name of the stack. + public let stackName: String + /// The name of the fleet. + public let fleetName: String + + public init(stackName: String, fleetName: String) { + self.stackName = stackName + self.fleetName = fleetName + } + + private enum CodingKeys: String, CodingKey { + case stackName = "StackName" + case fleetName = "FleetName" + } + } + public struct CreateStreamingURLResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StreamingURL", required: false, type: .string), @@ -1840,27 +2342,6 @@ extension Appstream { } } - public struct AssociateFleetRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StackName", required: true, type: .string), - AWSShapeMember(label: "FleetName", required: true, type: .string) - ] - /// The name of the stack. - public let stackName: String - /// The name of the fleet. - public let fleetName: String - - public init(stackName: String, fleetName: String) { - self.stackName = stackName - self.fleetName = fleetName - } - - private enum CodingKeys: String, CodingKey { - case stackName = "StackName" - case fleetName = "FleetName" - } - } - public struct StopFleetResult: AWSShape { } @@ -1909,12 +2390,66 @@ extension Appstream { } } + public struct UpdateImagePermissionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SharedAccountId", required: true, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "ImagePermissions", required: true, type: .structure) + ] + /// The 12-digit ID of the AWS account for which you want add or update image permissions. + public let sharedAccountId: String + /// The name of the private image. + public let name: String + /// The permissions for the image. + public let imagePermissions: ImagePermissions + + public init(sharedAccountId: String, name: String, imagePermissions: ImagePermissions) { + self.sharedAccountId = sharedAccountId + self.name = name + self.imagePermissions = imagePermissions + } + + private enum CodingKeys: String, CodingKey { + case sharedAccountId = "SharedAccountId" + case name = "Name" + case imagePermissions = "ImagePermissions" + } + } + + public enum Permission: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" + public var description: String { return self.rawValue } + } + public enum ImageState: String, CustomStringConvertible, Codable { case pending = "PENDING" case available = "AVAILABLE" case failed = "FAILED" + case copying = "COPYING" case deleting = "DELETING" public var description: String { return self.rawValue } } + public struct UntagResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceArn", required: true, type: .string), + AWSShapeMember(label: "TagKeys", required: true, type: .list) + ] + /// The Amazon Resource Name (ARN) of the resource. + public let resourceArn: String + /// The tag keys for the tags to disassociate. + public let tagKeys: [String] + + public init(resourceArn: String, tagKeys: [String]) { + self.resourceArn = resourceArn + self.tagKeys = tagKeys + } + + private enum CodingKeys: String, CodingKey { + case resourceArn = "ResourceArn" + case tagKeys = "TagKeys" + } + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/appsync/Appsync_API.swift b/Sources/AWSSDKSwift/Services/appsync/Appsync_API.swift index 2e95a626516..cc10d15c595 100644 --- a/Sources/AWSSDKSwift/Services/appsync/Appsync_API.swift +++ b/Sources/AWSSDKSwift/Services/appsync/Appsync_API.swift @@ -29,7 +29,7 @@ public struct Appsync { return try client.send(operation: "DeleteApiKey", path: "/v1/apis/{apiId}/apikeys/{id}", httpMethod: "DELETE", input: input) } - /// Lists the API keys for a given API. + /// 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. public func listApiKeys(_ input: ListApiKeysRequest) throws -> ListApiKeysResponse { return try client.send(operation: "ListApiKeys", path: "/v1/apis/{apiId}/apikeys", httpMethod: "GET", input: input) } @@ -44,9 +44,9 @@ public struct Appsync { return try client.send(operation: "DeleteResolver", path: "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}", httpMethod: "DELETE", input: input) } - /// Adds a new schema to your GraphQL API. This operation is asynchronous. Use to determine when it has completed. - public func startSchemaCreation(_ input: StartSchemaCreationRequest) throws -> StartSchemaCreationResponse { - return try client.send(operation: "StartSchemaCreation", path: "/v1/apis/{apiId}/schemacreation", httpMethod: "POST", input: input) + /// 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. + public func createResolver(_ input: CreateResolverRequest) throws -> CreateResolverResponse { + return try client.send(operation: "CreateResolver", path: "/v1/apis/{apiId}/types/{typeName}/resolvers", httpMethod: "POST", input: input) } /// Deletes a Type object. @@ -79,6 +79,11 @@ public struct Appsync { return try client.send(operation: "GetResolver", path: "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}", httpMethod: "GET", input: input) } + /// Updates an API key. + public func updateApiKey(_ input: UpdateApiKeyRequest) throws -> UpdateApiKeyResponse { + return try client.send(operation: "UpdateApiKey", path: "/v1/apis/{apiId}/apikeys/{id}", httpMethod: "POST", input: input) + } + /// Creates a DataSource object. public func createDataSource(_ input: CreateDataSourceRequest) throws -> CreateDataSourceResponse { return try client.send(operation: "CreateDataSource", path: "/v1/apis/{apiId}/datasources", httpMethod: "POST", input: input) @@ -94,6 +99,11 @@ public struct Appsync { return try client.send(operation: "GetSchemaCreationStatus", path: "/v1/apis/{apiId}/schemacreation", httpMethod: "GET", input: input) } + /// Lists the data sources for a given API. + public func listDataSources(_ input: ListDataSourcesRequest) throws -> ListDataSourcesResponse { + return try client.send(operation: "ListDataSources", path: "/v1/apis/{apiId}/datasources", httpMethod: "GET", input: input) + } + /// Creates a GraphqlApi object. public func createGraphqlApi(_ input: CreateGraphqlApiRequest) throws -> CreateGraphqlApiResponse { return try client.send(operation: "CreateGraphqlApi", path: "/v1/apis", httpMethod: "POST", input: input) @@ -104,11 +114,6 @@ public struct Appsync { return try client.send(operation: "ListTypes", path: "/v1/apis/{apiId}/types", httpMethod: "GET", input: input) } - /// Lists the data sources for a given API. - public func listDataSources(_ input: ListDataSourcesRequest) throws -> ListDataSourcesResponse { - return try client.send(operation: "ListDataSources", path: "/v1/apis/{apiId}/datasources", httpMethod: "GET", input: input) - } - /// Deletes a GraphqlApi object. public func deleteGraphqlApi(_ input: DeleteGraphqlApiRequest) throws -> DeleteGraphqlApiResponse { return try client.send(operation: "DeleteGraphqlApi", path: "/v1/apis/{apiId}", httpMethod: "DELETE", input: input) @@ -149,9 +154,9 @@ public struct Appsync { return try client.send(operation: "UpdateGraphqlApi", path: "/v1/apis/{apiId}", httpMethod: "POST", input: input) } - /// 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. - public func createResolver(_ input: CreateResolverRequest) throws -> CreateResolverResponse { - return try client.send(operation: "CreateResolver", path: "/v1/apis/{apiId}/types/{typeName}/resolvers", httpMethod: "POST", input: input) + /// Adds a new schema to your GraphQL API. This operation is asynchronous. Use to determine when it has completed. + public func startSchemaCreation(_ input: StartSchemaCreationRequest) throws -> StartSchemaCreationResponse { + return try client.send(operation: "StartSchemaCreation", path: "/v1/apis/{apiId}/schemacreation", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/appsync/Appsync_Error.swift b/Sources/AWSSDKSwift/Services/appsync/Appsync_Error.swift index d56d2573482..4af193fa203 100644 --- a/Sources/AWSSDKSwift/Services/appsync/Appsync_Error.swift +++ b/Sources/AWSSDKSwift/Services/appsync/Appsync_Error.swift @@ -11,6 +11,7 @@ public enum AppsyncError: AWSErrorType { case concurrentModificationException(message: String?) case graphQLSchemaException(message: String?) case limitExceededException(message: String?) + case apiKeyValidityOutOfBoundsException(message: String?) case apiLimitExceededException(message: String?) case apiKeyLimitExceededException(message: String?) } @@ -36,6 +37,8 @@ extension AppsyncError { self = .graphQLSchemaException(message: message) case "LimitExceededException": self = .limitExceededException(message: message) + case "ApiKeyValidityOutOfBoundsException": + self = .apiKeyValidityOutOfBoundsException(message: message) case "ApiLimitExceededException": self = .apiLimitExceededException(message: message) case "ApiKeyLimitExceededException": diff --git a/Sources/AWSSDKSwift/Services/appsync/Appsync_Shapes.swift b/Sources/AWSSDKSwift/Services/appsync/Appsync_Shapes.swift index 43bd2142ee5..b1db1cb9467 100644 --- a/Sources/AWSSDKSwift/Services/appsync/Appsync_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/appsync/Appsync_Shapes.swift @@ -5,19 +5,24 @@ import AWSSDKSwiftCore extension Appsync { - public struct UpdateResolverResponse: AWSShape { + public struct GetIntrospectionSchemaRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resolver", required: false, type: .structure) + AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string), + AWSShapeMember(label: "format", location: .querystring(locationName: "format"), required: true, type: .enum) ] - /// The updated Resolver object. - public let resolver: Resolver? + /// The API ID. + public let apiId: String + /// The schema format: SDL or JSON. + public let format: OutputType - public init(resolver: Resolver? = nil) { - self.resolver = resolver + public init(apiId: String, format: OutputType) { + self.apiId = apiId + self.format = format } private enum CodingKeys: String, CodingKey { - case resolver = "resolver" + case apiId = "apiId" + case format = "format" } } @@ -42,33 +47,6 @@ extension Appsync { } } - public enum TypeDefinitionFormat: String, CustomStringConvertible, Codable { - case sdl = "SDL" - case json = "JSON" - public var description: String { return self.rawValue } - } - - public struct ListResolversResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resolvers", required: false, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) - ] - /// The Resolver objects. - public let resolvers: [Resolver]? - /// An identifier to be passed in the next request to this operation to return the next set of items in the list. - public let nextToken: String? - - public init(resolvers: [Resolver]? = nil, nextToken: String? = nil) { - self.resolvers = resolvers - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case resolvers = "resolvers" - case nextToken = "nextToken" - } - } - public struct GetResolverRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "typeName", location: .uri(locationName: "typeName"), required: true, type: .string), @@ -95,174 +73,192 @@ extension Appsync { } } - public struct GetGraphqlApiRequest: AWSShape { + public enum FieldLogLevel: String, CustomStringConvertible, Codable { + case none = "NONE" + case error = "ERROR" + case all = "ALL" + public var description: String { return self.rawValue } + } + + public struct GetTypeResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) + AWSShapeMember(label: "type", required: false, type: .structure) ] - /// The API ID for the GraphQL API. - public let apiId: String + /// The Type object. + public let `type`: `Type`? - public init(apiId: String) { - self.apiId = apiId + public init(type: `Type`? = nil) { + self.`type` = `type` } private enum CodingKeys: String, CodingKey { - case apiId = "apiId" + case `type` = "type" } } - public struct CreateGraphqlApiRequest: AWSShape { + public struct ListTypesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "userPoolConfig", required: false, type: .structure), - AWSShapeMember(label: "name", required: true, type: .string), - AWSShapeMember(label: "authenticationType", required: true, type: .enum) + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "types", required: false, type: .list) ] - /// The Amazon Cognito User Pool configuration. - public let userPoolConfig: UserPoolConfig? - /// A user-supplied name for the GraphqlApi. - public let name: String - /// The authentication type: API key, IAM, or Amazon Cognito User Pools. - public let authenticationType: AuthenticationType + /// An identifier to be passed in the next request to this operation to return the next set of items in the list. + public let nextToken: String? + /// The Type objects. + public let types: [`Type`]? - public init(userPoolConfig: UserPoolConfig? = nil, name: String, authenticationType: AuthenticationType) { - self.userPoolConfig = userPoolConfig - self.name = name - self.authenticationType = authenticationType + public init(nextToken: String? = nil, types: [`Type`]? = nil) { + self.nextToken = nextToken + self.types = types } private enum CodingKeys: String, CodingKey { - case userPoolConfig = "userPoolConfig" - case name = "name" - case authenticationType = "authenticationType" + case nextToken = "nextToken" + case types = "types" } } - public struct UpdateTypeRequest: AWSShape { + public struct UpdateApiKeyRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "typeName", location: .uri(locationName: "typeName"), required: true, type: .string), + AWSShapeMember(label: "description", required: false, type: .string), AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string), - AWSShapeMember(label: "definition", required: false, type: .string), - AWSShapeMember(label: "format", required: true, type: .enum) + AWSShapeMember(label: "id", location: .uri(locationName: "id"), required: true, type: .string), + AWSShapeMember(label: "expires", required: false, type: .long) ] - /// The new type name. - public let typeName: String - /// The API ID. + /// A description of the purpose of the API key. + public let description: String? + /// The ID for the GraphQL API public let apiId: String - /// The new definition. - public let definition: String? - /// The new type format: SDL or JSON. - public let format: TypeDefinitionFormat + /// The API key ID. + public let id: String + /// The time from update time after which the API key expires. The date is represented as seconds since the epoch. For more information, see . + public let expires: Int64? - public init(typeName: String, apiId: String, definition: String? = nil, format: TypeDefinitionFormat) { - self.typeName = typeName + public init(description: String? = nil, apiId: String, id: String, expires: Int64? = nil) { + self.description = description self.apiId = apiId - self.definition = definition - self.format = format + self.id = id + self.expires = expires } private enum CodingKeys: String, CodingKey { - case typeName = "typeName" + case description = "description" case apiId = "apiId" - case definition = "definition" - case format = "format" + case id = "id" + case expires = "expires" } } - public struct GetTypeResponse: AWSShape { + public struct GetResolverResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "type", required: false, type: .structure) + AWSShapeMember(label: "resolver", required: false, type: .structure) ] - /// The Type object. - public let `type`: `Type`? + /// The Resolver object. + public let resolver: Resolver? - public init(type: `Type`? = nil) { - self.`type` = `type` + public init(resolver: Resolver? = nil) { + self.resolver = resolver } private enum CodingKeys: String, CodingKey { - case `type` = "type" + case resolver = "resolver" } } - public struct ListTypesResponse: AWSShape { + public enum OutputType: String, CustomStringConvertible, Codable { + case sdl = "SDL" + case json = "JSON" + public var description: String { return self.rawValue } + } + + public enum DefaultAction: String, CustomStringConvertible, Codable { + case allow = "ALLOW" + case deny = "DENY" + public var description: String { return self.rawValue } + } + + public struct ListApiKeysResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "types", required: false, type: .list) + AWSShapeMember(label: "apiKeys", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) ] + /// The ApiKey objects. + public let apiKeys: [ApiKey]? /// An identifier to be passed in the next request to this operation to return the next set of items in the list. public let nextToken: String? - /// The Type objects. - public let types: [`Type`]? - public init(nextToken: String? = nil, types: [`Type`]? = nil) { + public init(apiKeys: [ApiKey]? = nil, nextToken: String? = nil) { + self.apiKeys = apiKeys self.nextToken = nextToken - self.types = types } private enum CodingKeys: String, CodingKey { + case apiKeys = "apiKeys" case nextToken = "nextToken" - case types = "types" } } - public struct DeleteDataSourceRequest: AWSShape { + public struct ListGraphqlApisRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), - AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) ] - /// The name of the data source. - public let name: String - /// The API ID. - public let apiId: String + /// 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. + public let nextToken: String? + /// The maximum number of results you want the request to return. + public let maxResults: Int32? - public init(name: String, apiId: String) { - self.name = name - self.apiId = apiId + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case name = "name" - case apiId = "apiId" + case nextToken = "nextToken" + case maxResults = "maxResults" } } - public struct GetDataSourceResponse: AWSShape { + public struct LambdaDataSourceConfig: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "dataSource", required: false, type: .structure) + AWSShapeMember(label: "lambdaFunctionArn", required: true, type: .string) ] - /// The DataSource object. - public let dataSource: DataSource? + /// The ARN for the Lambda function. + public let lambdaFunctionArn: String - public init(dataSource: DataSource? = nil) { - self.dataSource = dataSource + public init(lambdaFunctionArn: String) { + self.lambdaFunctionArn = lambdaFunctionArn } private enum CodingKeys: String, CodingKey { - case dataSource = "dataSource" + case lambdaFunctionArn = "lambdaFunctionArn" } } - public struct CreateDataSourceResponse: AWSShape { + public struct DeleteTypeResponse: AWSShape { + + } + + public struct UpdateTypeResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "dataSource", required: false, type: .structure) + AWSShapeMember(label: "type", required: false, type: .structure) ] - /// The DataSource object. - public let dataSource: DataSource? + /// The updated Type object. + public let `type`: `Type`? - public init(dataSource: DataSource? = nil) { - self.dataSource = dataSource + public init(type: `Type`? = nil) { + self.`type` = `type` } private enum CodingKeys: String, CodingKey { - case dataSource = "dataSource" + case `type` = "type" } } - public struct GetGraphqlApiResponse: AWSShape { + public struct CreateGraphqlApiResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "graphqlApi", required: false, type: .structure) ] - /// The GraphqlApi object. + /// The GraphqlApi. public let graphqlApi: GraphqlApi? public init(graphqlApi: GraphqlApi? = nil) { @@ -274,38 +270,13 @@ extension Appsync { } } - public struct GetDataSourceRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), - AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) - ] - /// The name of the data source. - public let name: String - /// The API ID. - public let apiId: String - - public init(name: String, apiId: String) { - self.name = name - self.apiId = apiId - } - - private enum CodingKeys: String, CodingKey { - case name = "name" - case apiId = "apiId" - } - } - - public struct DeleteApiKeyResponse: AWSShape { - - } - - public struct ListDataSourcesRequest: AWSShape { + public struct ListApiKeysRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) ] - /// 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. + /// 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. public let nextToken: String? /// The maximum number of results you want the request to return. public let maxResults: Int32? @@ -325,19 +296,612 @@ extension Appsync { } } - public struct GetResolverResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resolver", required: false, type: .structure) + public enum AuthenticationType: String, CustomStringConvertible, Codable { + case apiKey = "API_KEY" + case awsIam = "AWS_IAM" + case amazonCognitoUserPools = "AMAZON_COGNITO_USER_POOLS" + case openidConnect = "OPENID_CONNECT" + public var description: String { return self.rawValue } + } + + public struct ElasticsearchDataSourceConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "awsRegion", required: true, type: .string), + AWSShapeMember(label: "endpoint", required: true, type: .string) + ] + /// The AWS region. + public let awsRegion: String + /// The endpoint. + public let endpoint: String + + public init(awsRegion: String, endpoint: String) { + self.awsRegion = awsRegion + self.endpoint = endpoint + } + + private enum CodingKeys: String, CodingKey { + case awsRegion = "awsRegion" + case endpoint = "endpoint" + } + } + + public struct StartSchemaCreationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "definition", required: true, type: .blob), + AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) + ] + /// The schema definition, in GraphQL schema language format. + public let definition: Data + /// The API ID. + public let apiId: String + + public init(definition: Data, apiId: String) { + self.definition = definition + self.apiId = apiId + } + + private enum CodingKeys: String, CodingKey { + case definition = "definition" + case apiId = "apiId" + } + } + + public struct GetSchemaCreationStatusRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) + ] + /// The API ID. + public let apiId: String + + public init(apiId: String) { + self.apiId = apiId + } + + private enum CodingKeys: String, CodingKey { + case apiId = "apiId" + } + } + + public struct Resolver: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resolverArn", required: false, type: .string), + AWSShapeMember(label: "typeName", required: false, type: .string), + AWSShapeMember(label: "dataSourceName", required: false, type: .string), + AWSShapeMember(label: "responseMappingTemplate", required: false, type: .string), + AWSShapeMember(label: "fieldName", required: false, type: .string), + AWSShapeMember(label: "requestMappingTemplate", required: false, type: .string) + ] + /// The resolver ARN. + public let resolverArn: String? + /// The resolver type name. + public let typeName: String? + /// The resolver data source name. + public let dataSourceName: String? + /// The response mapping template. + public let responseMappingTemplate: String? + /// The resolver field name. + public let fieldName: String? + /// The request mapping template. + public let requestMappingTemplate: String? + + public init(resolverArn: String? = nil, typeName: String? = nil, dataSourceName: String? = nil, responseMappingTemplate: String? = nil, fieldName: String? = nil, requestMappingTemplate: String? = nil) { + self.resolverArn = resolverArn + self.typeName = typeName + self.dataSourceName = dataSourceName + self.responseMappingTemplate = responseMappingTemplate + self.fieldName = fieldName + self.requestMappingTemplate = requestMappingTemplate + } + + private enum CodingKeys: String, CodingKey { + case resolverArn = "resolverArn" + case typeName = "typeName" + case dataSourceName = "dataSourceName" + case responseMappingTemplate = "responseMappingTemplate" + case fieldName = "fieldName" + case requestMappingTemplate = "requestMappingTemplate" + } + } + + public struct UpdateDataSourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "dynamodbConfig", required: false, type: .structure), + AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string), + AWSShapeMember(label: "lambdaConfig", required: false, type: .structure), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "serviceRoleArn", required: false, type: .string), + AWSShapeMember(label: "httpConfig", required: false, type: .structure), + AWSShapeMember(label: "elasticsearchConfig", required: false, type: .structure), + AWSShapeMember(label: "type", required: true, type: .enum) + ] + /// The new DynamoDB configuration. + public let dynamodbConfig: DynamodbDataSourceConfig? + /// The new name for the data source. + public let name: String + /// The API ID. + public let apiId: String + /// The new Lambda configuration. + public let lambdaConfig: LambdaDataSourceConfig? + /// The new description for the data source. + public let description: String? + /// The new service role ARN for the data source. + public let serviceRoleArn: String? + /// The new http endpoint configuration + public let httpConfig: HttpDataSourceConfig? + /// The new Elasticsearch configuration. + public let elasticsearchConfig: ElasticsearchDataSourceConfig? + /// The new data source type. + public let `type`: DataSourceType + + public init(dynamodbConfig: DynamodbDataSourceConfig? = nil, name: String, apiId: String, lambdaConfig: LambdaDataSourceConfig? = nil, description: String? = nil, serviceRoleArn: String? = nil, httpConfig: HttpDataSourceConfig? = nil, elasticsearchConfig: ElasticsearchDataSourceConfig? = nil, type: DataSourceType) { + self.dynamodbConfig = dynamodbConfig + self.name = name + self.apiId = apiId + self.lambdaConfig = lambdaConfig + self.description = description + self.serviceRoleArn = serviceRoleArn + self.httpConfig = httpConfig + self.elasticsearchConfig = elasticsearchConfig + self.`type` = `type` + } + + private enum CodingKeys: String, CodingKey { + case dynamodbConfig = "dynamodbConfig" + case name = "name" + case apiId = "apiId" + case lambdaConfig = "lambdaConfig" + case description = "description" + case serviceRoleArn = "serviceRoleArn" + case httpConfig = "httpConfig" + case elasticsearchConfig = "elasticsearchConfig" + case `type` = "type" + } + } + + public struct LogConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "cloudWatchLogsRoleArn", required: true, type: .string), + AWSShapeMember(label: "fieldLogLevel", required: true, type: .enum) + ] + /// The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in your account. + public let cloudWatchLogsRoleArn: String + /// 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. + public let fieldLogLevel: FieldLogLevel + + public init(cloudWatchLogsRoleArn: String, fieldLogLevel: FieldLogLevel) { + self.cloudWatchLogsRoleArn = cloudWatchLogsRoleArn + self.fieldLogLevel = fieldLogLevel + } + + private enum CodingKeys: String, CodingKey { + case cloudWatchLogsRoleArn = "cloudWatchLogsRoleArn" + case fieldLogLevel = "fieldLogLevel" + } + } + + public struct StartSchemaCreationResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "status", required: false, type: .enum) + ] + /// The current state of the schema (PROCESSING, ACTIVE, or DELETING). Once the schema is in the ACTIVE state, you can add data. + public let status: SchemaStatus? + + public init(status: SchemaStatus? = nil) { + self.status = status + } + + private enum CodingKeys: String, CodingKey { + case status = "status" + } + } + + public struct ListTypesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), + AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string), + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "format", location: .querystring(locationName: "format"), required: true, type: .enum) + ] + /// The maximum number of results you want the request to return. + public let maxResults: Int32? + /// The API ID. + public let apiId: String + /// 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. + public let nextToken: String? + /// The type format: SDL or JSON. + public let format: TypeDefinitionFormat + + public init(maxResults: Int32? = nil, apiId: String, nextToken: String? = nil, format: TypeDefinitionFormat) { + self.maxResults = maxResults + self.apiId = apiId + self.nextToken = nextToken + self.format = format + } + + private enum CodingKeys: String, CodingKey { + case maxResults = "maxResults" + case apiId = "apiId" + case nextToken = "nextToken" + case format = "format" + } + } + + public struct CreateTypeRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "definition", required: true, type: .string), + AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string), + AWSShapeMember(label: "format", required: true, type: .enum) + ] + /// The type definition, in GraphQL Schema Definition Language (SDL) format. For more information, see the GraphQL SDL documentation. + public let definition: String + /// The API ID. + public let apiId: String + /// The type format: SDL or JSON. + public let format: TypeDefinitionFormat + + public init(definition: String, apiId: String, format: TypeDefinitionFormat) { + self.definition = definition + self.apiId = apiId + self.format = format + } + + private enum CodingKeys: String, CodingKey { + case definition = "definition" + case apiId = "apiId" + case format = "format" + } + } + + public enum SchemaStatus: String, CustomStringConvertible, Codable { + case processing = "PROCESSING" + case active = "ACTIVE" + case deleting = "DELETING" + public var description: String { return self.rawValue } + } + + public struct GetIntrospectionSchemaResponse: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "schema" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "schema", required: false, type: .blob) + ] + /// The schema, in GraphQL Schema Definition Language (SDL) format. For more information, see the GraphQL SDL documentation. + public let schema: Data? + + public init(schema: Data? = nil) { + self.schema = schema + } + + private enum CodingKeys: String, CodingKey { + case schema = "schema" + } + } + + public struct DeleteGraphqlApiResponse: AWSShape { + + } + + public struct DeleteTypeRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "typeName", location: .uri(locationName: "typeName"), required: true, type: .string), + AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) + ] + /// The type name. + public let typeName: String + /// The API ID. + public let apiId: String + + public init(typeName: String, apiId: String) { + self.typeName = typeName + self.apiId = apiId + } + + private enum CodingKeys: String, CodingKey { + case typeName = "typeName" + case apiId = "apiId" + } + } + + public struct UpdateResolverResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resolver", required: false, type: .structure) + ] + /// The updated Resolver object. + public let resolver: Resolver? + + public init(resolver: Resolver? = nil) { + self.resolver = resolver + } + + private enum CodingKeys: String, CodingKey { + case resolver = "resolver" + } + } + + public struct CreateDataSourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "dynamodbConfig", required: false, type: .structure), + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string), + AWSShapeMember(label: "lambdaConfig", required: false, type: .structure), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "serviceRoleArn", required: false, type: .string), + AWSShapeMember(label: "httpConfig", required: false, type: .structure), + AWSShapeMember(label: "elasticsearchConfig", required: false, type: .structure), + AWSShapeMember(label: "type", required: true, type: .enum) + ] + /// DynamoDB settings. + public let dynamodbConfig: DynamodbDataSourceConfig? + /// A user-supplied name for the DataSource. + public let name: String + /// The API ID for the GraphQL API for the DataSource. + public let apiId: String + /// AWS Lambda settings. + public let lambdaConfig: LambdaDataSourceConfig? + /// A description of the DataSource. + public let description: String? + /// The IAM service role ARN for the data source. The system assumes this role when accessing the data source. + public let serviceRoleArn: String? + /// Http endpoint settings. + public let httpConfig: HttpDataSourceConfig? + /// Amazon Elasticsearch settings. + public let elasticsearchConfig: ElasticsearchDataSourceConfig? + /// The type of the DataSource. + public let `type`: DataSourceType + + public init(dynamodbConfig: DynamodbDataSourceConfig? = nil, name: String, apiId: String, lambdaConfig: LambdaDataSourceConfig? = nil, description: String? = nil, serviceRoleArn: String? = nil, httpConfig: HttpDataSourceConfig? = nil, elasticsearchConfig: ElasticsearchDataSourceConfig? = nil, type: DataSourceType) { + self.dynamodbConfig = dynamodbConfig + self.name = name + self.apiId = apiId + self.lambdaConfig = lambdaConfig + self.description = description + self.serviceRoleArn = serviceRoleArn + self.httpConfig = httpConfig + self.elasticsearchConfig = elasticsearchConfig + self.`type` = `type` + } + + private enum CodingKeys: String, CodingKey { + case dynamodbConfig = "dynamodbConfig" + case name = "name" + case apiId = "apiId" + case lambdaConfig = "lambdaConfig" + case description = "description" + case serviceRoleArn = "serviceRoleArn" + case httpConfig = "httpConfig" + case elasticsearchConfig = "elasticsearchConfig" + case `type` = "type" + } + } + + public enum TypeDefinitionFormat: String, CustomStringConvertible, Codable { + case sdl = "SDL" + case json = "JSON" + public var description: String { return self.rawValue } + } + + public struct ListResolversResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resolvers", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// The Resolver objects. + public let resolvers: [Resolver]? + /// An identifier to be passed in the next request to this operation to return the next set of items in the list. + public let nextToken: String? + + public init(resolvers: [Resolver]? = nil, nextToken: String? = nil) { + self.resolvers = resolvers + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case resolvers = "resolvers" + case nextToken = "nextToken" + } + } + + public struct GetGraphqlApiRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) + ] + /// The API ID for the GraphQL API. + public let apiId: String + + public init(apiId: String) { + self.apiId = apiId + } + + private enum CodingKeys: String, CodingKey { + case apiId = "apiId" + } + } + + public struct CreateGraphqlApiRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "logConfig", required: false, type: .structure), + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "openIDConnectConfig", required: false, type: .structure), + AWSShapeMember(label: "userPoolConfig", required: false, type: .structure), + AWSShapeMember(label: "authenticationType", required: true, type: .enum) ] - /// The Resolver object. - public let resolver: Resolver? + /// The Amazon CloudWatch logs configuration. + public let logConfig: LogConfig? + /// A user-supplied name for the GraphqlApi. + public let name: String + /// The Open Id Connect configuration configuration. + public let openIDConnectConfig: OpenIDConnectConfig? + /// The Amazon Cognito User Pool configuration. + public let userPoolConfig: UserPoolConfig? + /// The authentication type: API key, IAM, or Amazon Cognito User Pools. + public let authenticationType: AuthenticationType - public init(resolver: Resolver? = nil) { - self.resolver = resolver + public init(logConfig: LogConfig? = nil, name: String, openIDConnectConfig: OpenIDConnectConfig? = nil, userPoolConfig: UserPoolConfig? = nil, authenticationType: AuthenticationType) { + self.logConfig = logConfig + self.name = name + self.openIDConnectConfig = openIDConnectConfig + self.userPoolConfig = userPoolConfig + self.authenticationType = authenticationType } private enum CodingKeys: String, CodingKey { - case resolver = "resolver" + case logConfig = "logConfig" + case name = "name" + case openIDConnectConfig = "openIDConnectConfig" + case userPoolConfig = "userPoolConfig" + case authenticationType = "authenticationType" + } + } + + public struct UpdateTypeRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "typeName", location: .uri(locationName: "typeName"), required: true, type: .string), + AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string), + AWSShapeMember(label: "definition", required: false, type: .string), + AWSShapeMember(label: "format", required: true, type: .enum) + ] + /// The new type name. + public let typeName: String + /// The API ID. + public let apiId: String + /// The new definition. + public let definition: String? + /// The new type format: SDL or JSON. + public let format: TypeDefinitionFormat + + public init(typeName: String, apiId: String, definition: String? = nil, format: TypeDefinitionFormat) { + self.typeName = typeName + self.apiId = apiId + self.definition = definition + self.format = format + } + + private enum CodingKeys: String, CodingKey { + case typeName = "typeName" + case apiId = "apiId" + case definition = "definition" + case format = "format" + } + } + + public struct GetDataSourceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "dataSource", required: false, type: .structure) + ] + /// The DataSource object. + public let dataSource: DataSource? + + public init(dataSource: DataSource? = nil) { + self.dataSource = dataSource + } + + private enum CodingKeys: String, CodingKey { + case dataSource = "dataSource" + } + } + + public struct DeleteDataSourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) + ] + /// The name of the data source. + public let name: String + /// The API ID. + public let apiId: String + + public init(name: String, apiId: String) { + self.name = name + self.apiId = apiId + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case apiId = "apiId" + } + } + + public struct GetGraphqlApiResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "graphqlApi", required: false, type: .structure) + ] + /// The GraphqlApi object. + public let graphqlApi: GraphqlApi? + + public init(graphqlApi: GraphqlApi? = nil) { + self.graphqlApi = graphqlApi + } + + private enum CodingKeys: String, CodingKey { + case graphqlApi = "graphqlApi" + } + } + + public struct CreateDataSourceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "dataSource", required: false, type: .structure) + ] + /// The DataSource object. + public let dataSource: DataSource? + + public init(dataSource: DataSource? = nil) { + self.dataSource = dataSource + } + + private enum CodingKeys: String, CodingKey { + case dataSource = "dataSource" + } + } + + public struct GetDataSourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) + ] + /// The name of the data source. + public let name: String + /// The API ID. + public let apiId: String + + public init(name: String, apiId: String) { + self.name = name + self.apiId = apiId + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case apiId = "apiId" + } + } + + public struct DeleteApiKeyResponse: AWSShape { + + } + + public struct ListDataSourcesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), + AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) + ] + /// 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. + public let nextToken: String? + /// The maximum number of results you want the request to return. + public let maxResults: Int32? + /// The API ID. + public let apiId: String + + public init(nextToken: String? = nil, maxResults: Int32? = nil, apiId: String) { + self.nextToken = nextToken + self.maxResults = maxResults + self.apiId = apiId + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" + case apiId = "apiId" } } @@ -360,7 +924,7 @@ extension Appsync { public let responseMappingTemplate: String? /// The name of the field to attach the resolver to. public let fieldName: String - /// The mapping template to be used for requests. A resolver use 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). + /// 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). public let requestMappingTemplate: String public init(typeName: String, apiId: String, dataSourceName: String, responseMappingTemplate: String? = nil, fieldName: String, requestMappingTemplate: String) { @@ -382,54 +946,52 @@ extension Appsync { } } - public enum OutputType: String, CustomStringConvertible, Codable { - case sdl = "SDL" - case json = "JSON" - public var description: String { return self.rawValue } - } - - public enum DefaultAction: String, CustomStringConvertible, Codable { - case allow = "ALLOW" - case deny = "DENY" - public var description: String { return self.rawValue } - } - public struct GraphqlApi: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "openIDConnectConfig", required: false, type: .structure), + AWSShapeMember(label: "logConfig", required: false, type: .structure), AWSShapeMember(label: "apiId", required: false, type: .string), - AWSShapeMember(label: "uris", required: false, type: .map), AWSShapeMember(label: "userPoolConfig", required: false, type: .structure), + AWSShapeMember(label: "uris", required: false, type: .map), + AWSShapeMember(label: "name", required: false, type: .string), AWSShapeMember(label: "authenticationType", required: false, type: .enum), AWSShapeMember(label: "arn", required: false, type: .string) ] - /// The API name. - public let name: String? + /// The Open Id Connect configuration. + public let openIDConnectConfig: OpenIDConnectConfig? + /// The Amazon CloudWatch Logs configuration. + public let logConfig: LogConfig? /// The API ID. public let apiId: String? - /// The URIs. - public let uris: [String: String]? /// The Amazon Cognito User Pool configuration. public let userPoolConfig: UserPoolConfig? + /// The URIs. + public let uris: [String: String]? + /// The API name. + public let name: String? /// The authentication type. public let authenticationType: AuthenticationType? /// The ARN. public let arn: String? - public init(name: String? = nil, apiId: String? = nil, uris: [String: String]? = nil, userPoolConfig: UserPoolConfig? = nil, authenticationType: AuthenticationType? = nil, arn: String? = nil) { - self.name = name + public init(openIDConnectConfig: OpenIDConnectConfig? = nil, logConfig: LogConfig? = nil, apiId: String? = nil, userPoolConfig: UserPoolConfig? = nil, uris: [String: String]? = nil, name: String? = nil, authenticationType: AuthenticationType? = nil, arn: String? = nil) { + self.openIDConnectConfig = openIDConnectConfig + self.logConfig = logConfig self.apiId = apiId - self.uris = uris self.userPoolConfig = userPoolConfig + self.uris = uris + self.name = name self.authenticationType = authenticationType self.arn = arn } private enum CodingKeys: String, CodingKey { - case name = "name" + case openIDConnectConfig = "openIDConnectConfig" + case logConfig = "logConfig" case apiId = "apiId" - case uris = "uris" case userPoolConfig = "userPoolConfig" + case uris = "uris" + case name = "name" case authenticationType = "authenticationType" case arn = "arn" } @@ -456,48 +1018,6 @@ extension Appsync { } } - public struct ListApiKeysResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "apiKeys", required: false, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) - ] - /// The ApiKey objects. - public let apiKeys: [ApiKey]? - /// An identifier to be passed in the next request to this operation to return the next set of items in the list. - public let nextToken: String? - - public init(apiKeys: [ApiKey]? = nil, nextToken: String? = nil) { - self.apiKeys = apiKeys - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case apiKeys = "apiKeys" - case nextToken = "nextToken" - } - } - - public struct ListGraphqlApisRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) - ] - /// 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. - public let nextToken: String? - /// The maximum number of results you want the request to return. - public let maxResults: Int32? - - public init(nextToken: String? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case maxResults = "maxResults" - } - } - public struct ListDataSourcesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), @@ -523,18 +1043,32 @@ extension Appsync { case awsLambda = "AWS_LAMBDA" case amazonDynamodb = "AMAZON_DYNAMODB" case amazonElasticsearch = "AMAZON_ELASTICSEARCH" + case none = "NONE" + case http = "HTTP" public var description: String { return self.rawValue } } - public struct DeleteTypeResponse: AWSShape { + public struct CreateApiKeyResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "apiKey", required: false, type: .structure) + ] + /// The API key. + public let apiKey: ApiKey? + + public init(apiKey: ApiKey? = nil) { + self.apiKey = apiKey + } + private enum CodingKeys: String, CodingKey { + case apiKey = "apiKey" + } } public struct UpdateGraphqlApiResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "graphqlApi", required: false, type: .structure) ] - /// The udpated GraphqlApi object. + /// The updated GraphqlApi object. public let graphqlApi: GraphqlApi? public init(graphqlApi: GraphqlApi? = nil) { @@ -626,6 +1160,7 @@ extension Appsync { AWSShapeMember(label: "lambdaConfig", required: false, type: .structure), AWSShapeMember(label: "description", required: false, type: .string), AWSShapeMember(label: "serviceRoleArn", required: false, type: .string), + AWSShapeMember(label: "httpConfig", required: false, type: .structure), AWSShapeMember(label: "elasticsearchConfig", required: false, type: .structure), AWSShapeMember(label: "type", required: false, type: .enum) ] @@ -641,18 +1176,21 @@ extension Appsync { public let description: String? /// The IAM service role ARN for the data source. The system assumes this role when accessing the data source. public let serviceRoleArn: String? + /// Http endpoint settings. + public let httpConfig: HttpDataSourceConfig? /// Amazon Elasticsearch settings. public let elasticsearchConfig: ElasticsearchDataSourceConfig? - /// The type of the data source. + /// 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. public let `type`: DataSourceType? - public init(dynamodbConfig: DynamodbDataSourceConfig? = nil, name: String? = nil, dataSourceArn: String? = nil, lambdaConfig: LambdaDataSourceConfig? = nil, description: String? = nil, serviceRoleArn: String? = nil, elasticsearchConfig: ElasticsearchDataSourceConfig? = nil, type: DataSourceType? = nil) { + public init(dynamodbConfig: DynamodbDataSourceConfig? = nil, name: String? = nil, dataSourceArn: String? = nil, lambdaConfig: LambdaDataSourceConfig? = nil, description: String? = nil, serviceRoleArn: String? = nil, httpConfig: HttpDataSourceConfig? = nil, elasticsearchConfig: ElasticsearchDataSourceConfig? = nil, type: DataSourceType? = nil) { self.dynamodbConfig = dynamodbConfig self.name = name self.dataSourceArn = dataSourceArn self.lambdaConfig = lambdaConfig self.description = description self.serviceRoleArn = serviceRoleArn + self.httpConfig = httpConfig self.elasticsearchConfig = elasticsearchConfig self.`type` = `type` } @@ -664,24 +1202,41 @@ extension Appsync { case lambdaConfig = "lambdaConfig" case description = "description" case serviceRoleArn = "serviceRoleArn" + case httpConfig = "httpConfig" case elasticsearchConfig = "elasticsearchConfig" case `type` = "type" } } - public struct CreateGraphqlApiResponse: AWSShape { + public struct CreateResolverResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "graphqlApi", required: false, type: .structure) + AWSShapeMember(label: "resolver", required: false, type: .structure) ] - /// The GraphqlApi. - public let graphqlApi: GraphqlApi? + /// The Resolver object. + public let resolver: Resolver? - public init(graphqlApi: GraphqlApi? = nil) { - self.graphqlApi = graphqlApi + public init(resolver: Resolver? = nil) { + self.resolver = resolver } private enum CodingKeys: String, CodingKey { - case graphqlApi = "graphqlApi" + case resolver = "resolver" + } + } + + public struct UpdateDataSourceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "dataSource", required: false, type: .structure) + ] + /// The updated DataSource object. + public let dataSource: DataSource? + + public init(dataSource: DataSource? = nil) { + self.dataSource = dataSource + } + + private enum CodingKeys: String, CodingKey { + case dataSource = "dataSource" } } @@ -747,22 +1302,6 @@ extension Appsync { } } - public struct CreateResolverResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resolver", required: false, type: .structure) - ] - /// The Resolver object. - public let resolver: Resolver? - - public init(resolver: Resolver? = nil) { - self.resolver = resolver - } - - private enum CodingKeys: String, CodingKey { - case resolver = "resolver" - } - } - public struct DynamodbDataSourceConfig: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "awsRegion", required: true, type: .string), @@ -789,48 +1328,6 @@ extension Appsync { } } - public struct UpdateDataSourceResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "dataSource", required: false, type: .structure) - ] - /// The updated DataSource object. - public let dataSource: DataSource? - - public init(dataSource: DataSource? = nil) { - self.dataSource = dataSource - } - - private enum CodingKeys: String, CodingKey { - case dataSource = "dataSource" - } - } - - public struct ListApiKeysRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), - AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) - ] - /// 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. - public let nextToken: String? - /// The maximum number of results you want the request to return. - public let maxResults: Int32? - /// The API ID. - public let apiId: String - - public init(nextToken: String? = nil, maxResults: Int32? = nil, apiId: String) { - self.nextToken = nextToken - self.maxResults = maxResults - self.apiId = apiId - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case maxResults = "maxResults" - case apiId = "apiId" - } - } - public struct ApiKey: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "id", required: false, type: .string), @@ -839,7 +1336,7 @@ extension Appsync { ] /// The API key ID. public let id: String? - /// The time when the API key expires. + /// The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour. public let expires: Int64? /// A description of the purpose of the API key. public let description: String? @@ -873,54 +1370,6 @@ extension Appsync { } } - public struct UpdateTypeResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "type", required: false, type: .structure) - ] - /// The updated Type object. - public let `type`: `Type`? - - public init(type: `Type`? = nil) { - self.`type` = `type` - } - - private enum CodingKeys: String, CodingKey { - case `type` = "type" - } - } - - public struct LambdaDataSourceConfig: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "lambdaFunctionArn", required: true, type: .string) - ] - /// The ARN for the Lambda function. - public let lambdaFunctionArn: String - - public init(lambdaFunctionArn: String) { - self.lambdaFunctionArn = lambdaFunctionArn - } - - private enum CodingKeys: String, CodingKey { - case lambdaFunctionArn = "lambdaFunctionArn" - } - } - - public struct CreateApiKeyResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "apiKey", required: false, type: .structure) - ] - /// The API key. - public let apiKey: ApiKey? - - public init(apiKey: ApiKey? = nil) { - self.apiKey = apiKey - } - - private enum CodingKeys: String, CodingKey { - case apiKey = "apiKey" - } - } - public struct ListResolversRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "typeName", location: .uri(locationName: "typeName"), required: true, type: .string), @@ -934,312 +1383,117 @@ extension Appsync { public let apiId: String /// 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. public let nextToken: String? - /// The maximum number of results you want the request to return. - public let maxResults: Int32? - - public init(typeName: String, apiId: String, nextToken: String? = nil, maxResults: Int32? = nil) { - self.typeName = typeName - self.apiId = apiId - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case typeName = "typeName" - case apiId = "apiId" - case nextToken = "nextToken" - case maxResults = "maxResults" - } - } - - public enum AuthenticationType: String, CustomStringConvertible, Codable { - case apiKey = "API_KEY" - case awsIam = "AWS_IAM" - case amazonCognitoUserPools = "AMAZON_COGNITO_USER_POOLS" - public var description: String { return self.rawValue } - } - - public struct ElasticsearchDataSourceConfig: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "awsRegion", required: true, type: .string), - AWSShapeMember(label: "endpoint", required: true, type: .string) - ] - /// The AWS region. - public let awsRegion: String - /// The endpoint. - public let endpoint: String - - public init(awsRegion: String, endpoint: String) { - self.awsRegion = awsRegion - self.endpoint = endpoint - } - - private enum CodingKeys: String, CodingKey { - case awsRegion = "awsRegion" - case endpoint = "endpoint" - } - } - - public struct CreateTypeResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "type", required: false, type: .structure) - ] - /// The Type object. - public let `type`: `Type`? - - public init(type: `Type`? = nil) { - self.`type` = `type` - } - - private enum CodingKeys: String, CodingKey { - case `type` = "type" - } - } - - public struct StartSchemaCreationRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "definition", required: true, type: .blob), - AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) - ] - /// The schema definition, in GraphQL schema language format. - public let definition: Data - /// The API ID. - public let apiId: String - - public init(definition: Data, apiId: String) { - self.definition = definition - self.apiId = apiId - } - - private enum CodingKeys: String, CodingKey { - case definition = "definition" - case apiId = "apiId" - } - } - - public struct GetSchemaCreationStatusRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) - ] - /// The API ID. - public let apiId: String - - public init(apiId: String) { - self.apiId = apiId - } - - private enum CodingKeys: String, CodingKey { - case apiId = "apiId" - } - } - - public struct Resolver: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resolverArn", required: false, type: .string), - AWSShapeMember(label: "typeName", required: false, type: .string), - AWSShapeMember(label: "dataSourceName", required: false, type: .string), - AWSShapeMember(label: "responseMappingTemplate", required: false, type: .string), - AWSShapeMember(label: "fieldName", required: false, type: .string), - AWSShapeMember(label: "requestMappingTemplate", required: false, type: .string) - ] - /// The resolver ARN. - public let resolverArn: String? - /// The resolver type name. - public let typeName: String? - /// The resolver data source name. - public let dataSourceName: String? - /// The response mapping template. - public let responseMappingTemplate: String? - /// The resolver field name. - public let fieldName: String? - /// The request mapping template. - public let requestMappingTemplate: String? + /// The maximum number of results you want the request to return. + public let maxResults: Int32? - public init(resolverArn: String? = nil, typeName: String? = nil, dataSourceName: String? = nil, responseMappingTemplate: String? = nil, fieldName: String? = nil, requestMappingTemplate: String? = nil) { - self.resolverArn = resolverArn + public init(typeName: String, apiId: String, nextToken: String? = nil, maxResults: Int32? = nil) { self.typeName = typeName - self.dataSourceName = dataSourceName - self.responseMappingTemplate = responseMappingTemplate - self.fieldName = fieldName - self.requestMappingTemplate = requestMappingTemplate + self.apiId = apiId + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case resolverArn = "resolverArn" case typeName = "typeName" - case dataSourceName = "dataSourceName" - case responseMappingTemplate = "responseMappingTemplate" - case fieldName = "fieldName" - case requestMappingTemplate = "requestMappingTemplate" + case apiId = "apiId" + case nextToken = "nextToken" + case maxResults = "maxResults" } } - public struct UpdateDataSourceRequest: AWSShape { + public struct CreateTypeResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "dynamodbConfig", required: false, type: .structure), - AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), - AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string), - AWSShapeMember(label: "lambdaConfig", required: false, type: .structure), - AWSShapeMember(label: "description", required: false, type: .string), - AWSShapeMember(label: "serviceRoleArn", required: false, type: .string), - AWSShapeMember(label: "elasticsearchConfig", required: false, type: .structure), - AWSShapeMember(label: "type", required: true, type: .enum) + AWSShapeMember(label: "type", required: false, type: .structure) ] - /// The new DynamoDB configuration. - public let dynamodbConfig: DynamodbDataSourceConfig? - /// The new name for the data source. - public let name: String - /// The API ID. - public let apiId: String - /// The new Lambda configuration. - public let lambdaConfig: LambdaDataSourceConfig? - /// The new description for the data source. - public let description: String? - /// The new service role ARN for the data source. - public let serviceRoleArn: String? - /// The new Elasticsearch configuration. - public let elasticsearchConfig: ElasticsearchDataSourceConfig? - /// The new data source type. - public let `type`: DataSourceType + /// The Type object. + public let `type`: `Type`? - public init(dynamodbConfig: DynamodbDataSourceConfig? = nil, name: String, apiId: String, lambdaConfig: LambdaDataSourceConfig? = nil, description: String? = nil, serviceRoleArn: String? = nil, elasticsearchConfig: ElasticsearchDataSourceConfig? = nil, type: DataSourceType) { - self.dynamodbConfig = dynamodbConfig - self.name = name - self.apiId = apiId - self.lambdaConfig = lambdaConfig - self.description = description - self.serviceRoleArn = serviceRoleArn - self.elasticsearchConfig = elasticsearchConfig + public init(type: `Type`? = nil) { self.`type` = `type` } private enum CodingKeys: String, CodingKey { - case dynamodbConfig = "dynamodbConfig" - case name = "name" - case apiId = "apiId" - case lambdaConfig = "lambdaConfig" - case description = "description" - case serviceRoleArn = "serviceRoleArn" - case elasticsearchConfig = "elasticsearchConfig" case `type` = "type" } } public struct UpdateGraphqlApiRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "logConfig", required: false, type: .structure), AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string), + AWSShapeMember(label: "name", required: true, type: .string), AWSShapeMember(label: "userPoolConfig", required: false, type: .structure), - AWSShapeMember(label: "authenticationType", required: false, type: .enum) + AWSShapeMember(label: "authenticationType", required: false, type: .enum), + AWSShapeMember(label: "openIDConnectConfig", required: false, type: .structure) ] - /// The new name for the GraphqlApi object. - public let name: String + /// The Amazon CloudWatch logs configuration for the GraphqlApi object. + public let logConfig: LogConfig? /// The API ID. public let apiId: String + /// The new name for the GraphqlApi object. + public let name: String /// The new Amazon Cognito User Pool configuration for the GraphqlApi object. public let userPoolConfig: UserPoolConfig? /// The new authentication type for the GraphqlApi object. public let authenticationType: AuthenticationType? + /// The Open Id Connect configuration configuration for the GraphqlApi object. + public let openIDConnectConfig: OpenIDConnectConfig? - public init(name: String, apiId: String, userPoolConfig: UserPoolConfig? = nil, authenticationType: AuthenticationType? = nil) { - self.name = name + public init(logConfig: LogConfig? = nil, apiId: String, name: String, userPoolConfig: UserPoolConfig? = nil, authenticationType: AuthenticationType? = nil, openIDConnectConfig: OpenIDConnectConfig? = nil) { + self.logConfig = logConfig self.apiId = apiId + self.name = name self.userPoolConfig = userPoolConfig self.authenticationType = authenticationType + self.openIDConnectConfig = openIDConnectConfig } private enum CodingKeys: String, CodingKey { - case name = "name" + case logConfig = "logConfig" case apiId = "apiId" + case name = "name" case userPoolConfig = "userPoolConfig" case authenticationType = "authenticationType" + case openIDConnectConfig = "openIDConnectConfig" } } - public struct StartSchemaCreationResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "status", required: false, type: .enum) - ] - /// The current state of the schema (PROCESSING, ACTIVE, or DELETING). Once the schema is in the ACTIVE state, you can add data. - public let status: SchemaStatus? - - public init(status: SchemaStatus? = nil) { - self.status = status - } + public struct DeleteDataSourceResponse: AWSShape { - private enum CodingKeys: String, CodingKey { - case status = "status" - } } - public struct ListTypesRequest: AWSShape { + public struct HttpDataSourceConfig: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), - AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string), - AWSShapeMember(label: "format", location: .querystring(locationName: "format"), required: true, type: .enum) + AWSShapeMember(label: "endpoint", required: false, type: .string) ] - /// 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. - public let nextToken: String? - /// The maximum number of results you want the request to return. - public let maxResults: Int32? - /// The API ID. - public let apiId: String - /// The type format: SDL or JSON. - public let format: TypeDefinitionFormat + /// 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. + public let endpoint: String? - public init(nextToken: String? = nil, maxResults: Int32? = nil, apiId: String, format: TypeDefinitionFormat) { - self.nextToken = nextToken - self.maxResults = maxResults - self.apiId = apiId - self.format = format + public init(endpoint: String? = nil) { + self.endpoint = endpoint } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case maxResults = "maxResults" - case apiId = "apiId" - case format = "format" + case endpoint = "endpoint" } } - public struct DeleteDataSourceResponse: AWSShape { - - } - - public struct CreateTypeRequest: AWSShape { + public struct UpdateApiKeyResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "definition", required: true, type: .string), - AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string), - AWSShapeMember(label: "format", required: true, type: .enum) + AWSShapeMember(label: "apiKey", required: false, type: .structure) ] - /// The type definition, in GraphQL Schema Definition Language (SDL) format. For more information, see the GraphQL SDL documentation. - public let definition: String - /// The API ID. - public let apiId: String - /// The type format: SDL or JSON. - public let format: TypeDefinitionFormat + /// The API key. + public let apiKey: ApiKey? - public init(definition: String, apiId: String, format: TypeDefinitionFormat) { - self.definition = definition - self.apiId = apiId - self.format = format + public init(apiKey: ApiKey? = nil) { + self.apiKey = apiKey } private enum CodingKeys: String, CodingKey { - case definition = "definition" - case apiId = "apiId" - case format = "format" + case apiKey = "apiKey" } } - public enum SchemaStatus: String, CustomStringConvertible, Codable { - case processing = "PROCESSING" - case active = "ACTIVE" - case deleting = "DELETING" - public var description: String { return self.rawValue } - } - public struct DeleteResolverResponse: AWSShape { } @@ -1265,28 +1519,6 @@ extension Appsync { } } - public struct GetIntrospectionSchemaResponse: AWSShape { - /// The key for the payload - public static let payloadPath: String? = "schema" - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "schema", required: false, type: .blob) - ] - /// The schema, in GraphQL Schema Definition Language (SDL) format. For more information, see the GraphQL SDL documentation. - public let schema: Data? - - public init(schema: Data? = nil) { - self.schema = schema - } - - private enum CodingKeys: String, CodingKey { - case schema = "schema" - } - } - - public struct DeleteGraphqlApiResponse: AWSShape { - - } - public struct DeleteResolverRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "typeName", location: .uri(locationName: "typeName"), required: true, type: .string), @@ -1316,114 +1548,57 @@ extension Appsync { public struct CreateApiKeyRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "expires", required: false, type: .long), AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) ] /// A description of the purpose of the API key. public let description: String? + /// 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 . + public let expires: Int64? /// The ID for your GraphQL API. public let apiId: String - public init(description: String? = nil, apiId: String) { + public init(description: String? = nil, expires: Int64? = nil, apiId: String) { self.description = description + self.expires = expires self.apiId = apiId } private enum CodingKeys: String, CodingKey { case description = "description" + case expires = "expires" case apiId = "apiId" } } - public struct DeleteTypeRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "typeName", location: .uri(locationName: "typeName"), required: true, type: .string), - AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string) - ] - /// The type name. - public let typeName: String - /// The API ID. - public let apiId: String - - public init(typeName: String, apiId: String) { - self.typeName = typeName - self.apiId = apiId - } - - private enum CodingKeys: String, CodingKey { - case typeName = "typeName" - case apiId = "apiId" - } - } - - public struct CreateDataSourceRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "dynamodbConfig", required: false, type: .structure), - AWSShapeMember(label: "name", required: true, type: .string), - AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string), - AWSShapeMember(label: "lambdaConfig", required: false, type: .structure), - AWSShapeMember(label: "description", required: false, type: .string), - AWSShapeMember(label: "serviceRoleArn", required: false, type: .string), - AWSShapeMember(label: "elasticsearchConfig", required: false, type: .structure), - AWSShapeMember(label: "type", required: true, type: .enum) - ] - /// DynamoDB settings. - public let dynamodbConfig: DynamodbDataSourceConfig? - /// A user-supplied name for the DataSource. - public let name: String - /// The API ID for the GraphQL API for the DataSource. - public let apiId: String - /// AWS Lambda settings. - public let lambdaConfig: LambdaDataSourceConfig? - /// A description of the DataSource. - public let description: String? - /// The IAM service role ARN for the data source. The system assumes this role when accessing the data source. - public let serviceRoleArn: String? - /// Amazon Elasticsearch settings. - public let elasticsearchConfig: ElasticsearchDataSourceConfig? - /// The type of the DataSource. - public let `type`: DataSourceType - - public init(dynamodbConfig: DynamodbDataSourceConfig? = nil, name: String, apiId: String, lambdaConfig: LambdaDataSourceConfig? = nil, description: String? = nil, serviceRoleArn: String? = nil, elasticsearchConfig: ElasticsearchDataSourceConfig? = nil, type: DataSourceType) { - self.dynamodbConfig = dynamodbConfig - self.name = name - self.apiId = apiId - self.lambdaConfig = lambdaConfig - self.description = description - self.serviceRoleArn = serviceRoleArn - self.elasticsearchConfig = elasticsearchConfig - self.`type` = `type` - } - - private enum CodingKeys: String, CodingKey { - case dynamodbConfig = "dynamodbConfig" - case name = "name" - case apiId = "apiId" - case lambdaConfig = "lambdaConfig" - case description = "description" - case serviceRoleArn = "serviceRoleArn" - case elasticsearchConfig = "elasticsearchConfig" - case `type` = "type" - } - } - - public struct GetIntrospectionSchemaRequest: AWSShape { + public struct OpenIDConnectConfig: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "apiId", location: .uri(locationName: "apiId"), required: true, type: .string), - AWSShapeMember(label: "format", location: .querystring(locationName: "format"), required: true, type: .enum) + AWSShapeMember(label: "iatTTL", required: false, type: .long), + AWSShapeMember(label: "issuer", required: true, type: .string), + AWSShapeMember(label: "clientId", required: false, type: .string), + AWSShapeMember(label: "authTTL", required: false, type: .long) ] - /// The API ID. - public let apiId: String - /// The schema format: SDL or JSON. - public let format: OutputType - - public init(apiId: String, format: OutputType) { - self.apiId = apiId - self.format = format + /// The number of milliseconds a token is valid after being issued to a user. + public let iatTTL: Int64? + /// The issuer for the open id connect configuration. The issuer returned by discovery MUST exactly match the value of iss in the ID Token. + public let issuer: String + /// 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 + public let clientId: String? + /// The number of milliseconds a token is valid after being authenticated. + public let authTTL: Int64? + + public init(iatTTL: Int64? = nil, issuer: String, clientId: String? = nil, authTTL: Int64? = nil) { + self.iatTTL = iatTTL + self.issuer = issuer + self.clientId = clientId + self.authTTL = authTTL } private enum CodingKeys: String, CodingKey { - case apiId = "apiId" - case format = "format" + case iatTTL = "iatTTL" + case issuer = "issuer" + case clientId = "clientId" + case authTTL = "authTTL" } } diff --git a/Sources/AWSSDKSwift/Services/autoscaling-plans/AutoscalingPlans_API.swift b/Sources/AWSSDKSwift/Services/autoscaling-plans/AutoscalingPlans_API.swift new file mode 100644 index 00000000000..c46869b017b --- /dev/null +++ b/Sources/AWSSDKSwift/Services/autoscaling-plans/AutoscalingPlans_API.swift @@ -0,0 +1,54 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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. +*/ +public struct AutoscalingPlans { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + amzTarget: "AnyScaleScalingPlannerFrontendService", + service: "autoscaling", + serviceProtocol: ServiceProtocol(type: .json, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2018-01-06", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [AutoscalingPlansError.self] + ) + } + + /// Describes the scalable resources in the specified scaling plan. + public func describeScalingPlanResources(_ input: DescribeScalingPlanResourcesRequest) throws -> DescribeScalingPlanResourcesResponse { + return try client.send(operation: "DescribeScalingPlanResources", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func createScalingPlan(_ input: CreateScalingPlanRequest) throws -> CreateScalingPlanResponse { + return try client.send(operation: "CreateScalingPlan", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func updateScalingPlan(_ input: UpdateScalingPlanRequest) throws -> UpdateScalingPlanResponse { + return try client.send(operation: "UpdateScalingPlan", path: "/", httpMethod: "POST", input: input) + } + + /// Describes the specified scaling plans or all of your scaling plans. + public func describeScalingPlans(_ input: DescribeScalingPlansRequest) throws -> DescribeScalingPlansResponse { + return try client.send(operation: "DescribeScalingPlans", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes the specified scaling plan. + public func deleteScalingPlan(_ input: DeleteScalingPlanRequest) throws -> DeleteScalingPlanResponse { + return try client.send(operation: "DeleteScalingPlan", path: "/", httpMethod: "POST", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/autoscaling-plans/AutoscalingPlans_Error.swift b/Sources/AWSSDKSwift/Services/autoscaling-plans/AutoscalingPlans_Error.swift new file mode 100644 index 00000000000..08092eb4d32 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/autoscaling-plans/AutoscalingPlans_Error.swift @@ -0,0 +1,38 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for AutoscalingPlans +public enum AutoscalingPlansError: AWSErrorType { + case validationException(message: String?) + case invalidNextTokenException(message: String?) + case concurrentUpdateException(message: String?) + case internalServiceException(message: String?) + case limitExceededException(message: String?) + case objectNotFoundException(message: String?) +} + +extension AutoscalingPlansError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "ValidationException": + self = .validationException(message: message) + case "InvalidNextTokenException": + self = .invalidNextTokenException(message: message) + case "ConcurrentUpdateException": + self = .concurrentUpdateException(message: message) + case "InternalServiceException": + self = .internalServiceException(message: message) + case "LimitExceededException": + self = .limitExceededException(message: message) + case "ObjectNotFoundException": + self = .objectNotFoundException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/autoscaling-plans/AutoscalingPlans_Shapes.swift b/Sources/AWSSDKSwift/Services/autoscaling-plans/AutoscalingPlans_Shapes.swift new file mode 100644 index 00000000000..2cf35f2cb69 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/autoscaling-plans/AutoscalingPlans_Shapes.swift @@ -0,0 +1,625 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension AutoscalingPlans { + + public struct CustomizedScalingMetricSpecification: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MetricName", required: true, type: .string), + AWSShapeMember(label: "Namespace", required: true, type: .string), + AWSShapeMember(label: "Unit", required: false, type: .string), + AWSShapeMember(label: "Dimensions", required: false, type: .list), + AWSShapeMember(label: "Statistic", required: true, type: .enum) + ] + /// The name of the metric. + public let metricName: String + /// The namespace of the metric. + public let namespace: String + /// The unit of the metric. + public let unit: String? + /// The dimensions of the metric. + public let dimensions: [MetricDimension]? + /// The statistic of the metric. + public let statistic: MetricStatistic + + public init(metricName: String, namespace: String, unit: String? = nil, dimensions: [MetricDimension]? = nil, statistic: MetricStatistic) { + self.metricName = metricName + self.namespace = namespace + self.unit = unit + self.dimensions = dimensions + self.statistic = statistic + } + + private enum CodingKeys: String, CodingKey { + case metricName = "MetricName" + case namespace = "Namespace" + case unit = "Unit" + case dimensions = "Dimensions" + case statistic = "Statistic" + } + } + + public enum ScalingStatusCode: String, CustomStringConvertible, Codable { + case inactive = "Inactive" + case partiallyactive = "PartiallyActive" + case active = "Active" + public var description: String { return self.rawValue } + } + + public struct TargetTrackingConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TargetValue", required: true, type: .double), + AWSShapeMember(label: "PredefinedScalingMetricSpecification", required: false, type: .structure), + AWSShapeMember(label: "CustomizedScalingMetricSpecification", required: false, type: .structure), + AWSShapeMember(label: "ScaleOutCooldown", required: false, type: .integer), + AWSShapeMember(label: "ScaleInCooldown", required: false, type: .integer), + AWSShapeMember(label: "DisableScaleIn", required: false, type: .boolean), + AWSShapeMember(label: "EstimatedInstanceWarmup", required: false, type: .integer) + ] + /// 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). + public let targetValue: Double + /// A predefined metric. + public let predefinedScalingMetricSpecification: PredefinedScalingMetricSpecification? + /// A customized metric. + public let customizedScalingMetricSpecification: CustomizedScalingMetricSpecification? + /// 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. + public let scaleOutCooldown: Int32? + /// 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. + public let scaleInCooldown: Int32? + /// 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. + public let disableScaleIn: Bool? + /// 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. + public let estimatedInstanceWarmup: Int32? + + public init(targetValue: Double, predefinedScalingMetricSpecification: PredefinedScalingMetricSpecification? = nil, customizedScalingMetricSpecification: CustomizedScalingMetricSpecification? = nil, scaleOutCooldown: Int32? = nil, scaleInCooldown: Int32? = nil, disableScaleIn: Bool? = nil, estimatedInstanceWarmup: Int32? = nil) { + self.targetValue = targetValue + self.predefinedScalingMetricSpecification = predefinedScalingMetricSpecification + self.customizedScalingMetricSpecification = customizedScalingMetricSpecification + self.scaleOutCooldown = scaleOutCooldown + self.scaleInCooldown = scaleInCooldown + self.disableScaleIn = disableScaleIn + self.estimatedInstanceWarmup = estimatedInstanceWarmup + } + + private enum CodingKeys: String, CodingKey { + case targetValue = "TargetValue" + case predefinedScalingMetricSpecification = "PredefinedScalingMetricSpecification" + case customizedScalingMetricSpecification = "CustomizedScalingMetricSpecification" + case scaleOutCooldown = "ScaleOutCooldown" + case scaleInCooldown = "ScaleInCooldown" + case disableScaleIn = "DisableScaleIn" + case estimatedInstanceWarmup = "EstimatedInstanceWarmup" + } + } + + public struct CreateScalingPlanResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ScalingPlanVersion", required: true, type: .long) + ] + /// The version of the scaling plan. This value is always 1. + public let scalingPlanVersion: Int64 + + public init(scalingPlanVersion: Int64) { + self.scalingPlanVersion = scalingPlanVersion + } + + private enum CodingKeys: String, CodingKey { + case scalingPlanVersion = "ScalingPlanVersion" + } + } + + public struct MetricDimension: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: true, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// The value of the dimension. + public let value: String + /// The name of the dimension. + public let name: String + + public init(value: String, name: String) { + self.value = value + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case name = "Name" + } + } + + public struct DescribeScalingPlanResourcesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ScalingPlanResources", required: false, type: .list) + ] + /// The token required to get the next set of results. This value is null if there are no more results to return. + public let nextToken: String? + /// Information about the scalable resources. + public let scalingPlanResources: [ScalingPlanResource]? + + public init(nextToken: String? = nil, scalingPlanResources: [ScalingPlanResource]? = nil) { + self.nextToken = nextToken + self.scalingPlanResources = scalingPlanResources + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case scalingPlanResources = "ScalingPlanResources" + } + } + + public struct ScalingPolicy: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TargetTrackingConfiguration", required: false, type: .structure), + AWSShapeMember(label: "PolicyType", required: true, type: .enum), + AWSShapeMember(label: "PolicyName", required: true, type: .string) + ] + /// The target tracking scaling policy. + public let targetTrackingConfiguration: TargetTrackingConfiguration? + /// The type of scaling policy. + public let policyType: PolicyType + /// The name of the scaling policy. + public let policyName: String + + public init(targetTrackingConfiguration: TargetTrackingConfiguration? = nil, policyType: PolicyType, policyName: String) { + self.targetTrackingConfiguration = targetTrackingConfiguration + self.policyType = policyType + self.policyName = policyName + } + + private enum CodingKeys: String, CodingKey { + case targetTrackingConfiguration = "TargetTrackingConfiguration" + case policyType = "PolicyType" + case policyName = "PolicyName" + } + } + + public enum MetricStatistic: String, CustomStringConvertible, Codable { + case average = "Average" + case minimum = "Minimum" + case maximum = "Maximum" + case samplecount = "SampleCount" + case sum = "Sum" + public var description: String { return self.rawValue } + } + + public struct ScalingInstruction: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ServiceNamespace", required: true, type: .enum), + AWSShapeMember(label: "ScalableDimension", required: true, type: .enum), + AWSShapeMember(label: "MaxCapacity", required: true, type: .integer), + AWSShapeMember(label: "ResourceId", required: true, type: .string), + AWSShapeMember(label: "TargetTrackingConfigurations", required: true, type: .list), + AWSShapeMember(label: "MinCapacity", required: true, type: .integer) + ] + /// The namespace of the AWS service. + public let serviceNamespace: ServiceNamespace + /// 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. + public let scalableDimension: ScalableDimension + /// The maximum value to scale to in response to a scale out event. + public let maxCapacity: Int32 + /// 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. + public let resourceId: String + /// The target tracking scaling policies (up to 10). + public let targetTrackingConfigurations: [TargetTrackingConfiguration] + /// The minimum value to scale to in response to a scale in event. + public let minCapacity: Int32 + + public init(serviceNamespace: ServiceNamespace, scalableDimension: ScalableDimension, maxCapacity: Int32, resourceId: String, targetTrackingConfigurations: [TargetTrackingConfiguration], minCapacity: Int32) { + self.serviceNamespace = serviceNamespace + self.scalableDimension = scalableDimension + self.maxCapacity = maxCapacity + self.resourceId = resourceId + self.targetTrackingConfigurations = targetTrackingConfigurations + self.minCapacity = minCapacity + } + + private enum CodingKeys: String, CodingKey { + case serviceNamespace = "ServiceNamespace" + case scalableDimension = "ScalableDimension" + case maxCapacity = "MaxCapacity" + case resourceId = "ResourceId" + case targetTrackingConfigurations = "TargetTrackingConfigurations" + case minCapacity = "MinCapacity" + } + } + + public struct PredefinedScalingMetricSpecification: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PredefinedScalingMetricType", required: true, type: .enum), + AWSShapeMember(label: "ResourceLabel", required: false, type: .string) + ] + /// The metric type. The ALBRequestCountPerTarget metric type applies only to Auto Scaling groups, Sport Fleet requests, and ECS services. + public let predefinedScalingMetricType: ScalingMetricType + /// 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. + public let resourceLabel: String? + + public init(predefinedScalingMetricType: ScalingMetricType, resourceLabel: String? = nil) { + self.predefinedScalingMetricType = predefinedScalingMetricType + self.resourceLabel = resourceLabel + } + + private enum CodingKeys: String, CodingKey { + case predefinedScalingMetricType = "PredefinedScalingMetricType" + case resourceLabel = "ResourceLabel" + } + } + + public enum ScalingMetricType: String, CustomStringConvertible, Codable { + case asgaveragecpuutilization = "ASGAverageCPUUtilization" + case asgaveragenetworkin = "ASGAverageNetworkIn" + case asgaveragenetworkout = "ASGAverageNetworkOut" + case dynamodbreadcapacityutilization = "DynamoDBReadCapacityUtilization" + case dynamodbwritecapacityutilization = "DynamoDBWriteCapacityUtilization" + case ecsserviceaveragecpuutilization = "ECSServiceAverageCPUUtilization" + case ecsserviceaveragememoryutilization = "ECSServiceAverageMemoryUtilization" + case albrequestcountpertarget = "ALBRequestCountPerTarget" + case rdsreaderaveragecpuutilization = "RDSReaderAverageCPUUtilization" + case rdsreaderaveragedatabaseconnections = "RDSReaderAverageDatabaseConnections" + case ec2spotfleetrequestaveragecpuutilization = "EC2SpotFleetRequestAverageCPUUtilization" + case ec2spotfleetrequestaveragenetworkin = "EC2SpotFleetRequestAverageNetworkIn" + case ec2spotfleetrequestaveragenetworkout = "EC2SpotFleetRequestAverageNetworkOut" + public var description: String { return self.rawValue } + } + + public enum ScalingPlanStatusCode: String, CustomStringConvertible, Codable { + case active = "Active" + case activewithproblems = "ActiveWithProblems" + case creationinprogress = "CreationInProgress" + case creationfailed = "CreationFailed" + case deletioninprogress = "DeletionInProgress" + case deletionfailed = "DeletionFailed" + case updateinprogress = "UpdateInProgress" + case updatefailed = "UpdateFailed" + public var description: String { return self.rawValue } + } + + public enum ScalableDimension: String, CustomStringConvertible, Codable { + case autoscalingAutoscalinggroupDesiredcapacity = "autoscaling:autoScalingGroup:DesiredCapacity" + case ecsServiceDesiredcount = "ecs:service:DesiredCount" + case ec2SpotFleetRequestTargetcapacity = "ec2:spot-fleet-request:TargetCapacity" + case rdsClusterReadreplicacount = "rds:cluster:ReadReplicaCount" + case dynamodbTableReadcapacityunits = "dynamodb:table:ReadCapacityUnits" + case dynamodbTableWritecapacityunits = "dynamodb:table:WriteCapacityUnits" + case dynamodbIndexReadcapacityunits = "dynamodb:index:ReadCapacityUnits" + case dynamodbIndexWritecapacityunits = "dynamodb:index:WriteCapacityUnits" + public var description: String { return self.rawValue } + } + + public enum ServiceNamespace: String, CustomStringConvertible, Codable { + case autoscaling = "autoscaling" + case ecs = "ecs" + case ec2 = "ec2" + case rds = "rds" + case dynamodb = "dynamodb" + public var description: String { return self.rawValue } + } + + public struct ScalingPlan: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ScalingInstructions", required: true, type: .list), + AWSShapeMember(label: "StatusStartTime", required: false, type: .timestamp), + AWSShapeMember(label: "ScalingPlanName", required: true, type: .string), + AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), + AWSShapeMember(label: "StatusCode", required: true, type: .enum), + AWSShapeMember(label: "StatusMessage", required: false, type: .string), + AWSShapeMember(label: "ApplicationSource", required: true, type: .structure), + AWSShapeMember(label: "ScalingPlanVersion", required: true, type: .long) + ] + /// The scaling instructions. + public let scalingInstructions: [ScalingInstruction] + /// The Unix timestamp when the scaling plan entered the current status. + public let statusStartTime: TimeStamp? + /// The name of the scaling plan. + public let scalingPlanName: String + /// The Unix timestamp when the scaling plan was created. + public let creationTime: TimeStamp? + /// 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. + public let statusCode: ScalingPlanStatusCode + /// A simple message about the current status of the scaling plan. + public let statusMessage: String? + /// The application source. + public let applicationSource: ApplicationSource + /// The version of the scaling plan. + public let scalingPlanVersion: Int64 + + public init(scalingInstructions: [ScalingInstruction], statusStartTime: TimeStamp? = nil, scalingPlanName: String, creationTime: TimeStamp? = nil, statusCode: ScalingPlanStatusCode, statusMessage: String? = nil, applicationSource: ApplicationSource, scalingPlanVersion: Int64) { + self.scalingInstructions = scalingInstructions + self.statusStartTime = statusStartTime + self.scalingPlanName = scalingPlanName + self.creationTime = creationTime + self.statusCode = statusCode + self.statusMessage = statusMessage + self.applicationSource = applicationSource + self.scalingPlanVersion = scalingPlanVersion + } + + private enum CodingKeys: String, CodingKey { + case scalingInstructions = "ScalingInstructions" + case statusStartTime = "StatusStartTime" + case scalingPlanName = "ScalingPlanName" + case creationTime = "CreationTime" + case statusCode = "StatusCode" + case statusMessage = "StatusMessage" + case applicationSource = "ApplicationSource" + case scalingPlanVersion = "ScalingPlanVersion" + } + } + + public struct DescribeScalingPlansRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ApplicationSources", required: false, type: .list), + AWSShapeMember(label: "ScalingPlanNames", required: false, type: .list), + AWSShapeMember(label: "ScalingPlanVersion", required: false, type: .long), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The sources for the applications (up to 10). If you specify scaling plan names, you cannot specify application sources. + public let applicationSources: [ApplicationSource]? + /// The names of the scaling plans (up to 10). If you specify application sources, you cannot specify scaling plan names. + public let scalingPlanNames: [String]? + /// The version of the scaling plan. If you specify a scaling plan version, you must also specify a scaling plan name. + public let scalingPlanVersion: Int64? + /// The token for the next set of results. + public let nextToken: String? + /// The maximum number of scalable resources to return. This value can be between 1 and 50. The default value is 50. + public let maxResults: Int32? + + public init(applicationSources: [ApplicationSource]? = nil, scalingPlanNames: [String]? = nil, scalingPlanVersion: Int64? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.applicationSources = applicationSources + self.scalingPlanNames = scalingPlanNames + self.scalingPlanVersion = scalingPlanVersion + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case applicationSources = "ApplicationSources" + case scalingPlanNames = "ScalingPlanNames" + case scalingPlanVersion = "ScalingPlanVersion" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct DeleteScalingPlanResponse: AWSShape { + + } + + public struct TagFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Key", required: false, type: .string), + AWSShapeMember(label: "Values", required: false, type: .list) + ] + /// The tag key. + public let key: String? + /// The tag values (0 to 20). + public let values: [String]? + + public init(key: String? = nil, values: [String]? = nil) { + self.key = key + self.values = values + } + + private enum CodingKeys: String, CodingKey { + case key = "Key" + case values = "Values" + } + } + + public struct UpdateScalingPlanResponse: AWSShape { + + } + + public struct DeleteScalingPlanRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ScalingPlanName", required: true, type: .string), + AWSShapeMember(label: "ScalingPlanVersion", required: true, type: .long) + ] + /// The name of the scaling plan. + public let scalingPlanName: String + /// The version of the scaling plan. + public let scalingPlanVersion: Int64 + + public init(scalingPlanName: String, scalingPlanVersion: Int64) { + self.scalingPlanName = scalingPlanName + self.scalingPlanVersion = scalingPlanVersion + } + + private enum CodingKeys: String, CodingKey { + case scalingPlanName = "ScalingPlanName" + case scalingPlanVersion = "ScalingPlanVersion" + } + } + + public enum PolicyType: String, CustomStringConvertible, Codable { + case targettrackingscaling = "TargetTrackingScaling" + public var description: String { return self.rawValue } + } + + public struct UpdateScalingPlanRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ScalingPlanName", required: true, type: .string), + AWSShapeMember(label: "ScalingInstructions", required: false, type: .list), + AWSShapeMember(label: "ScalingPlanVersion", required: true, type: .long), + AWSShapeMember(label: "ApplicationSource", required: false, type: .structure) + ] + /// The name of the scaling plan. + public let scalingPlanName: String + /// The scaling instructions. + public let scalingInstructions: [ScalingInstruction]? + /// The version number. + public let scalingPlanVersion: Int64 + /// A CloudFormation stack or set of tags. + public let applicationSource: ApplicationSource? + + public init(scalingPlanName: String, scalingInstructions: [ScalingInstruction]? = nil, scalingPlanVersion: Int64, applicationSource: ApplicationSource? = nil) { + self.scalingPlanName = scalingPlanName + self.scalingInstructions = scalingInstructions + self.scalingPlanVersion = scalingPlanVersion + self.applicationSource = applicationSource + } + + private enum CodingKeys: String, CodingKey { + case scalingPlanName = "ScalingPlanName" + case scalingInstructions = "ScalingInstructions" + case scalingPlanVersion = "ScalingPlanVersion" + case applicationSource = "ApplicationSource" + } + } + + public struct ScalingPlanResource: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ScalingStatusMessage", required: false, type: .string), + AWSShapeMember(label: "ServiceNamespace", required: true, type: .enum), + AWSShapeMember(label: "ScalingPlanName", required: true, type: .string), + AWSShapeMember(label: "ScalingPolicies", required: false, type: .list), + AWSShapeMember(label: "ScalableDimension", required: true, type: .enum), + AWSShapeMember(label: "ResourceId", required: true, type: .string), + AWSShapeMember(label: "ScalingPlanVersion", required: true, type: .long), + AWSShapeMember(label: "ScalingStatusCode", required: true, type: .enum) + ] + /// A simple message about the current scaling status of the resource. + public let scalingStatusMessage: String? + /// The namespace of the AWS service. + public let serviceNamespace: ServiceNamespace + /// The name of the scaling plan. + public let scalingPlanName: String + /// The scaling policies. + public let scalingPolicies: [ScalingPolicy]? + /// 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. + public let scalableDimension: ScalableDimension + /// 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. + public let resourceId: String + /// The version of the scaling plan. + public let scalingPlanVersion: Int64 + /// 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. + public let scalingStatusCode: ScalingStatusCode + + public init(scalingStatusMessage: String? = nil, serviceNamespace: ServiceNamespace, scalingPlanName: String, scalingPolicies: [ScalingPolicy]? = nil, scalableDimension: ScalableDimension, resourceId: String, scalingPlanVersion: Int64, scalingStatusCode: ScalingStatusCode) { + self.scalingStatusMessage = scalingStatusMessage + self.serviceNamespace = serviceNamespace + self.scalingPlanName = scalingPlanName + self.scalingPolicies = scalingPolicies + self.scalableDimension = scalableDimension + self.resourceId = resourceId + self.scalingPlanVersion = scalingPlanVersion + self.scalingStatusCode = scalingStatusCode + } + + private enum CodingKeys: String, CodingKey { + case scalingStatusMessage = "ScalingStatusMessage" + case serviceNamespace = "ServiceNamespace" + case scalingPlanName = "ScalingPlanName" + case scalingPolicies = "ScalingPolicies" + case scalableDimension = "ScalableDimension" + case resourceId = "ResourceId" + case scalingPlanVersion = "ScalingPlanVersion" + case scalingStatusCode = "ScalingStatusCode" + } + } + + public struct DescribeScalingPlansResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ScalingPlans", required: false, type: .list) + ] + /// The token required to get the next set of results. This value is null if there are no more results to return. + public let nextToken: String? + /// Information about the scaling plans. + public let scalingPlans: [ScalingPlan]? + + public init(nextToken: String? = nil, scalingPlans: [ScalingPlan]? = nil) { + self.nextToken = nextToken + self.scalingPlans = scalingPlans + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case scalingPlans = "ScalingPlans" + } + } + + public struct CreateScalingPlanRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ScalingPlanName", required: true, type: .string), + AWSShapeMember(label: "ApplicationSource", required: true, type: .structure), + AWSShapeMember(label: "ScalingInstructions", required: true, type: .list) + ] + /// The name of the scaling plan. Names cannot contain vertical bars, colons, or forward slashes. + public let scalingPlanName: String + /// A CloudFormation stack or set of tags. You can create one scaling plan per application source. + public let applicationSource: ApplicationSource + /// The scaling instructions. + public let scalingInstructions: [ScalingInstruction] + + public init(scalingPlanName: String, applicationSource: ApplicationSource, scalingInstructions: [ScalingInstruction]) { + self.scalingPlanName = scalingPlanName + self.applicationSource = applicationSource + self.scalingInstructions = scalingInstructions + } + + private enum CodingKeys: String, CodingKey { + case scalingPlanName = "ScalingPlanName" + case applicationSource = "ApplicationSource" + case scalingInstructions = "ScalingInstructions" + } + } + + public struct DescribeScalingPlanResourcesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ScalingPlanName", required: true, type: .string), + AWSShapeMember(label: "ScalingPlanVersion", required: true, type: .long), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The name of the scaling plan. + public let scalingPlanName: String + /// The version of the scaling plan. + public let scalingPlanVersion: Int64 + /// The token for the next set of results. + public let nextToken: String? + /// The maximum number of scalable resources to return. This value can be between 1 and 50. The default value is 50. + public let maxResults: Int32? + + public init(scalingPlanName: String, scalingPlanVersion: Int64, nextToken: String? = nil, maxResults: Int32? = nil) { + self.scalingPlanName = scalingPlanName + self.scalingPlanVersion = scalingPlanVersion + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case scalingPlanName = "ScalingPlanName" + case scalingPlanVersion = "ScalingPlanVersion" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct ApplicationSource: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CloudFormationStackARN", required: false, type: .string), + AWSShapeMember(label: "TagFilters", required: false, type: .list) + ] + /// The Amazon Resource Name (ARN) of a CloudFormation stack. + public let cloudFormationStackARN: String? + /// A set of tags (up to 50). + public let tagFilters: [TagFilter]? + + public init(cloudFormationStackARN: String? = nil, tagFilters: [TagFilter]? = nil) { + self.cloudFormationStackARN = cloudFormationStackARN + self.tagFilters = tagFilters + } + + private enum CodingKeys: String, CodingKey { + case cloudFormationStackARN = "CloudFormationStackARN" + case tagFilters = "TagFilters" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/autoscaling/Autoscaling_API.swift b/Sources/AWSSDKSwift/Services/autoscaling/Autoscaling_API.swift index c8ab0e5ad2f..e08a693406f 100644 --- a/Sources/AWSSDKSwift/Services/autoscaling/Autoscaling_API.swift +++ b/Sources/AWSSDKSwift/Services/autoscaling/Autoscaling_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -Auto Scaling Auto Scaling is designed to automatically launch or terminate EC2 instances based on user-defined policies, schedules, and health checks. Use this service in conjunction with the Amazon CloudWatch and Elastic Load Balancing services. +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. */ public struct Autoscaling { @@ -24,9 +24,9 @@ public struct Autoscaling { ) } - /// Describes the notification actions associated with the specified Auto Scaling group. - public func describeNotificationConfigurations(_ input: DescribeNotificationConfigurationsType) throws -> DescribeNotificationConfigurationsAnswer { - return try client.send(operation: "DescribeNotificationConfigurations", path: "/", httpMethod: "POST", input: input) + /// Describes the scaling process types for use with ResumeProcesses and SuspendProcesses. + public func describeScalingProcessTypes() throws -> ProcessesType { + return try client.send(operation: "DescribeScalingProcessTypes", path: "/", httpMethod: "POST") } /// 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. @@ -39,7 +39,7 @@ public struct Autoscaling { return try client.send(operation: "DescribeLoadBalancers", path: "/", httpMethod: "POST", input: input) } - /// Creates an Auto Scaling group with the specified name and attributes. If you exceed your maximum limit of Auto Scaling groups, which by default is 20 per region, the call fails. For information about viewing and updating this limit, see DescribeAccountLimits. For more information, see Auto Scaling Groups in the Auto Scaling User Guide. + /// 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 Auto Scaling User Guide. For more information, see Auto Scaling Groups in the Auto Scaling User Guide. public func createAutoScalingGroup(_ input: CreateAutoScalingGroupType) throws { _ = try client.send(operation: "CreateAutoScalingGroup", path: "/", httpMethod: "POST", input: input) } @@ -174,12 +174,12 @@ public struct Autoscaling { return try client.send(operation: "DescribeAutoScalingNotificationTypes", path: "/", httpMethod: "POST") } - /// Creates a launch configuration. If you exceed your maximum limit of launch configurations, which by default is 100 per region, the call fails. For information about viewing and updating this limit, see DescribeAccountLimits. For more information, see Launch Configurations in the Auto Scaling User Guide. + /// 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 Auto Scaling User Guide. For more information, see Launch Configurations in the Auto Scaling User Guide. public func createLaunchConfiguration(_ input: CreateLaunchConfigurationType) throws { _ = try client.send(operation: "CreateLaunchConfiguration", path: "/", httpMethod: "POST", input: input) } - /// Describes the current Auto Scaling resource limits for your AWS account. For information about requesting an increase in these limits, see AWS Service Limits in the Amazon Web Services General Reference. + /// 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 Auto Scaling User Guide. public func describeAccountLimits() throws -> DescribeAccountLimitsAnswer { return try client.send(operation: "DescribeAccountLimits", path: "/", httpMethod: "POST") } @@ -279,9 +279,9 @@ public struct Autoscaling { return try client.send(operation: "RecordLifecycleActionHeartbeat", path: "/", httpMethod: "POST", input: input) } - /// Describes the scaling process types for use with ResumeProcesses and SuspendProcesses. - public func describeScalingProcessTypes() throws -> ProcessesType { - return try client.send(operation: "DescribeScalingProcessTypes", path: "/", httpMethod: "POST") + /// Describes the notification actions associated with the specified Auto Scaling group. + public func describeNotificationConfigurations(_ input: DescribeNotificationConfigurationsType) throws -> DescribeNotificationConfigurationsAnswer { + return try client.send(operation: "DescribeNotificationConfigurations", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/autoscaling/Autoscaling_Error.swift b/Sources/AWSSDKSwift/Services/autoscaling/Autoscaling_Error.swift index e4a70899e5c..d40eed1cf80 100644 --- a/Sources/AWSSDKSwift/Services/autoscaling/Autoscaling_Error.swift +++ b/Sources/AWSSDKSwift/Services/autoscaling/Autoscaling_Error.swift @@ -4,11 +4,12 @@ import AWSSDKSwiftCore /// Error enum for Autoscaling public enum AutoscalingError: AWSErrorType { - case invalidNextToken(message: String?) case resourceContentionFault(message: String?) case limitExceededFault(message: String?) + case serviceLinkedRoleFailure(message: String?) case alreadyExistsFault(message: String?) case scalingActivityInProgressFault(message: String?) + case invalidNextToken(message: String?) case resourceInUseFault(message: String?) } @@ -19,16 +20,18 @@ extension AutoscalingError { errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) } switch errorCode { - case "InvalidNextToken": - self = .invalidNextToken(message: message) case "ResourceContentionFault": self = .resourceContentionFault(message: message) case "LimitExceededFault": self = .limitExceededFault(message: message) + case "ServiceLinkedRoleFailure": + self = .serviceLinkedRoleFailure(message: message) case "AlreadyExistsFault": self = .alreadyExistsFault(message: message) case "ScalingActivityInProgressFault": self = .scalingActivityInProgressFault(message: message) + case "InvalidNextToken": + self = .invalidNextToken(message: message) case "ResourceInUseFault": self = .resourceInUseFault(message: message) default: diff --git a/Sources/AWSSDKSwift/Services/autoscaling/Autoscaling_Shapes.swift b/Sources/AWSSDKSwift/Services/autoscaling/Autoscaling_Shapes.swift index bfb4acb0d04..a8ab8dc0c44 100644 --- a/Sources/AWSSDKSwift/Services/autoscaling/Autoscaling_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/autoscaling/Autoscaling_Shapes.swift @@ -55,7 +55,7 @@ extension Autoscaling { public let predefinedMetricSpecification: PredefinedMetricSpecification? /// A customized metric. public let customizedMetricSpecification: CustomizedMetricSpecification? - /// 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 instances from the Auto Scaling group. Otherwise, scale in is enabled and the target tracking policy can remove instances from the Auto Scaling group. The default value is false. + /// 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. public let disableScaleIn: Bool? public init(targetValue: Double, predefinedMetricSpecification: PredefinedMetricSpecification? = nil, customizedMetricSpecification: CustomizedMetricSpecification? = nil, disableScaleIn: Bool? = nil) { @@ -277,7 +277,7 @@ extension Autoscaling { AWSShapeMember(label: "LoadBalancerNames", required: true, type: .list), AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string) ] - /// One or more load balancer names. + /// The names of the load balancers. You can specify up to 10 load balancers. public let loadBalancerNames: [String] /// The name of the Auto Scaling group. public let autoScalingGroupName: String @@ -518,7 +518,7 @@ extension Autoscaling { public let breachThreshold: Double? /// The name of the Auto Scaling group. public let autoScalingGroupName: String? - /// If this parameter is true, Auto Scaling waits for the cooldown period to complete before executing the policy. Otherwise, Auto Scaling executes the policy without waiting for the cooldown period to complete. This parameter is not supported if the policy type is StepScaling. For more information, see Auto Scaling Cooldowns in the Auto Scaling User Guide. + /// Indicates whether 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 Auto Scaling Cooldowns in the Auto Scaling User Guide. public let honorCooldown: Bool? /// 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. public let metricValue: Double? @@ -618,7 +618,7 @@ extension Autoscaling { AWSShapeMember(label: "LoadBalancerNames", required: true, type: .list), AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string) ] - /// One or more load balancer names. + /// The names of the load balancers. You can specify up to 10 load balancers. public let loadBalancerNames: [String] /// The name of the Auto Scaling group. public let autoScalingGroupName: String @@ -850,7 +850,7 @@ extension Autoscaling { AWSShapeMember(label: "InstanceIds", required: false, type: .list), AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string) ] - /// One or more instance IDs. You must specify at least one instance ID. + /// The IDs of the instances. You can specify up to 20 instances. public let instanceIds: [String]? /// The name of the Auto Scaling group. public let autoScalingGroupName: String @@ -881,12 +881,13 @@ extension Autoscaling { AWSShapeMember(label: "PlacementGroup", required: false, type: .string), AWSShapeMember(label: "InstanceId", required: false, type: .string), AWSShapeMember(label: "DefaultCooldown", required: false, type: .integer), - AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string), - AWSShapeMember(label: "HealthCheckGracePeriod", required: false, type: .integer), + AWSShapeMember(label: "ServiceLinkedRoleARN", required: false, type: .string), + AWSShapeMember(label: "TerminationPolicies", required: false, type: .list), AWSShapeMember(label: "LaunchTemplate", required: false, type: .structure), + AWSShapeMember(label: "HealthCheckGracePeriod", required: false, type: .integer), AWSShapeMember(label: "LoadBalancerNames", required: false, type: .list), AWSShapeMember(label: "HealthCheckType", required: false, type: .string), - AWSShapeMember(label: "TerminationPolicies", required: false, type: .list) + AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string) ] /// One or more Availability Zones for the group. This parameter is optional if you specify one or more subnets. public let availabilityZones: [String]? @@ -914,20 +915,22 @@ extension Autoscaling { public let instanceId: String? /// The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default is 300. For more information, see Auto Scaling Cooldowns in the Auto Scaling User Guide. public let defaultCooldown: Int32? - /// The name of the Auto Scaling group. This name must be unique within the scope of your AWS account. - public let autoScalingGroupName: String - /// The amount of time, in seconds, that Auto Scaling waits before checking the health status of an EC2 instance that has come into service. During this time, any health check failures for the instance are ignored. The default is 0. This parameter is required if you are adding an ELB health check. For more information, see Health Checks in the Auto Scaling User Guide. - public let healthCheckGracePeriod: Int32? + /// 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, Auto Scaling uses a service-linked role named AWSServiceRoleForAutoScaling, which it creates if it does not exist. + public let serviceLinkedRoleARN: String? + /// 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. + public let terminationPolicies: [String]? /// 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. public let launchTemplate: LaunchTemplateSpecification? + /// The amount of time, in seconds, that Auto Scaling waits before checking the health status of an EC2 instance that has come into service. During this time, any health check failures for the instance are ignored. The default is 0. This parameter is required if you are adding an ELB health check. For more information, see Health Checks in the Auto Scaling User Guide. + public let healthCheckGracePeriod: Int32? /// One or more Classic Load Balancers. To specify an Application Load Balancer, use TargetGroupARNs instead. For more information, see Using a Load Balancer With an Auto Scaling Group in the Auto Scaling User Guide. public let loadBalancerNames: [String]? /// The service to use for the health checks. The valid values are EC2 and ELB. By default, health checks use Amazon EC2 instance status checks to determine the health of an instance. For more information, see Health Checks in the Auto Scaling User Guide. public let healthCheckType: String? - /// 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. - public let terminationPolicies: [String]? + /// The name of the Auto Scaling group. This name must be unique within the scope of your AWS account. + public let autoScalingGroupName: String - public init(availabilityZones: [String]? = nil, launchConfigurationName: String? = nil, newInstancesProtectedFromScaleIn: Bool? = nil, lifecycleHookSpecificationList: [LifecycleHookSpecification]? = nil, vPCZoneIdentifier: String? = nil, tags: [Tag]? = nil, maxSize: Int32, targetGroupARNs: [String]? = nil, minSize: Int32, desiredCapacity: Int32? = nil, placementGroup: String? = nil, instanceId: String? = nil, defaultCooldown: Int32? = nil, autoScalingGroupName: String, healthCheckGracePeriod: Int32? = nil, launchTemplate: LaunchTemplateSpecification? = nil, loadBalancerNames: [String]? = nil, healthCheckType: String? = nil, terminationPolicies: [String]? = nil) { + public init(availabilityZones: [String]? = nil, launchConfigurationName: String? = nil, newInstancesProtectedFromScaleIn: Bool? = nil, lifecycleHookSpecificationList: [LifecycleHookSpecification]? = nil, vPCZoneIdentifier: String? = nil, tags: [Tag]? = nil, maxSize: Int32, targetGroupARNs: [String]? = nil, minSize: Int32, desiredCapacity: Int32? = nil, placementGroup: String? = nil, instanceId: String? = nil, defaultCooldown: Int32? = nil, serviceLinkedRoleARN: String? = nil, terminationPolicies: [String]? = nil, launchTemplate: LaunchTemplateSpecification? = nil, healthCheckGracePeriod: Int32? = nil, loadBalancerNames: [String]? = nil, healthCheckType: String? = nil, autoScalingGroupName: String) { self.availabilityZones = availabilityZones self.launchConfigurationName = launchConfigurationName self.newInstancesProtectedFromScaleIn = newInstancesProtectedFromScaleIn @@ -941,12 +944,13 @@ extension Autoscaling { self.placementGroup = placementGroup self.instanceId = instanceId self.defaultCooldown = defaultCooldown - self.autoScalingGroupName = autoScalingGroupName - self.healthCheckGracePeriod = healthCheckGracePeriod + self.serviceLinkedRoleARN = serviceLinkedRoleARN + self.terminationPolicies = terminationPolicies self.launchTemplate = launchTemplate + self.healthCheckGracePeriod = healthCheckGracePeriod self.loadBalancerNames = loadBalancerNames self.healthCheckType = healthCheckType - self.terminationPolicies = terminationPolicies + self.autoScalingGroupName = autoScalingGroupName } private enum CodingKeys: String, CodingKey { @@ -963,12 +967,13 @@ extension Autoscaling { case placementGroup = "PlacementGroup" case instanceId = "InstanceId" case defaultCooldown = "DefaultCooldown" - case autoScalingGroupName = "AutoScalingGroupName" - case healthCheckGracePeriod = "HealthCheckGracePeriod" + case serviceLinkedRoleARN = "ServiceLinkedRoleARN" + case terminationPolicies = "TerminationPolicies" case launchTemplate = "LaunchTemplate" + case healthCheckGracePeriod = "HealthCheckGracePeriod" case loadBalancerNames = "LoadBalancerNames" case healthCheckType = "HealthCheckType" - case terminationPolicies = "TerminationPolicies" + case autoScalingGroupName = "AutoScalingGroupName" } } @@ -1180,7 +1185,7 @@ extension Autoscaling { AWSShapeMember(label: "InstanceIds", required: false, type: .list), AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string) ] - /// One or more instance IDs. + /// The IDs of the instances. You can specify up to 20 instances. public let instanceIds: [String]? /// The name of the Auto Scaling group. public let autoScalingGroupName: String @@ -1227,6 +1232,7 @@ extension Autoscaling { AWSShapeMember(label: "Tags", required: false, type: .list), AWSShapeMember(label: "MaxSize", required: true, type: .integer), AWSShapeMember(label: "SuspendedProcesses", required: false, type: .list), + AWSShapeMember(label: "TerminationPolicies", required: false, type: .list), AWSShapeMember(label: "TargetGroupARNs", required: false, type: .list), AWSShapeMember(label: "CreatedTime", required: true, type: .timestamp), AWSShapeMember(label: "Status", required: false, type: .string), @@ -1235,13 +1241,13 @@ extension Autoscaling { AWSShapeMember(label: "AutoScalingGroupARN", required: false, type: .string), AWSShapeMember(label: "PlacementGroup", required: false, type: .string), AWSShapeMember(label: "DefaultCooldown", required: true, type: .integer), + AWSShapeMember(label: "ServiceLinkedRoleARN", required: false, type: .string), + AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string), AWSShapeMember(label: "Instances", required: false, type: .list), - AWSShapeMember(label: "TerminationPolicies", required: false, type: .list), AWSShapeMember(label: "LaunchTemplate", required: false, type: .structure), AWSShapeMember(label: "HealthCheckGracePeriod", required: false, type: .integer), AWSShapeMember(label: "LoadBalancerNames", required: false, type: .list), - AWSShapeMember(label: "HealthCheckType", required: true, type: .string), - AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string) + AWSShapeMember(label: "HealthCheckType", required: true, type: .string) ] /// One or more Availability Zones for the group. public let availabilityZones: [String] @@ -1259,6 +1265,8 @@ extension Autoscaling { public let maxSize: Int32 /// The suspended processes associated with the group. public let suspendedProcesses: [SuspendedProcess]? + /// The termination policies for the group. + public let terminationPolicies: [String]? /// The Amazon Resource Names (ARN) of the target groups for your load balancer. public let targetGroupARNs: [String]? /// The date and time the group was created. @@ -1275,10 +1283,12 @@ extension Autoscaling { public let placementGroup: String? /// The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. public let defaultCooldown: Int32 + /// The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. + public let serviceLinkedRoleARN: String? + /// The name of the Auto Scaling group. + public let autoScalingGroupName: String /// The EC2 instances associated with the group. public let instances: [Instance]? - /// The termination policies for the group. - public let terminationPolicies: [String]? /// The launch template for the group. public let launchTemplate: LaunchTemplateSpecification? /// The amount of time, in seconds, that Auto Scaling waits before checking the health status of an EC2 instance that has come into service. @@ -1287,10 +1297,8 @@ extension Autoscaling { public let loadBalancerNames: [String]? /// The service to use for the health checks. The valid values are EC2 and ELB. public let healthCheckType: String - /// The name of the Auto Scaling group. - public let autoScalingGroupName: String - public init(availabilityZones: [String], enabledMetrics: [EnabledMetric]? = nil, launchConfigurationName: String? = nil, newInstancesProtectedFromScaleIn: Bool? = nil, vPCZoneIdentifier: String? = nil, tags: [TagDescription]? = nil, maxSize: Int32, suspendedProcesses: [SuspendedProcess]? = nil, targetGroupARNs: [String]? = nil, createdTime: TimeStamp, status: String? = nil, minSize: Int32, desiredCapacity: Int32, autoScalingGroupARN: String? = nil, placementGroup: String? = nil, defaultCooldown: Int32, instances: [Instance]? = nil, terminationPolicies: [String]? = nil, launchTemplate: LaunchTemplateSpecification? = nil, healthCheckGracePeriod: Int32? = nil, loadBalancerNames: [String]? = nil, healthCheckType: String, autoScalingGroupName: String) { + public init(availabilityZones: [String], enabledMetrics: [EnabledMetric]? = nil, launchConfigurationName: String? = nil, newInstancesProtectedFromScaleIn: Bool? = nil, vPCZoneIdentifier: String? = nil, tags: [TagDescription]? = nil, maxSize: Int32, suspendedProcesses: [SuspendedProcess]? = nil, terminationPolicies: [String]? = nil, targetGroupARNs: [String]? = nil, createdTime: TimeStamp, status: String? = nil, minSize: Int32, desiredCapacity: Int32, autoScalingGroupARN: String? = nil, placementGroup: String? = nil, defaultCooldown: Int32, serviceLinkedRoleARN: String? = nil, autoScalingGroupName: String, instances: [Instance]? = nil, launchTemplate: LaunchTemplateSpecification? = nil, healthCheckGracePeriod: Int32? = nil, loadBalancerNames: [String]? = nil, healthCheckType: String) { self.availabilityZones = availabilityZones self.enabledMetrics = enabledMetrics self.launchConfigurationName = launchConfigurationName @@ -1299,6 +1307,7 @@ extension Autoscaling { self.tags = tags self.maxSize = maxSize self.suspendedProcesses = suspendedProcesses + self.terminationPolicies = terminationPolicies self.targetGroupARNs = targetGroupARNs self.createdTime = createdTime self.status = status @@ -1307,13 +1316,13 @@ extension Autoscaling { self.autoScalingGroupARN = autoScalingGroupARN self.placementGroup = placementGroup self.defaultCooldown = defaultCooldown + self.serviceLinkedRoleARN = serviceLinkedRoleARN + self.autoScalingGroupName = autoScalingGroupName self.instances = instances - self.terminationPolicies = terminationPolicies self.launchTemplate = launchTemplate self.healthCheckGracePeriod = healthCheckGracePeriod self.loadBalancerNames = loadBalancerNames self.healthCheckType = healthCheckType - self.autoScalingGroupName = autoScalingGroupName } private enum CodingKeys: String, CodingKey { @@ -1325,6 +1334,7 @@ extension Autoscaling { case tags = "Tags" case maxSize = "MaxSize" case suspendedProcesses = "SuspendedProcesses" + case terminationPolicies = "TerminationPolicies" case targetGroupARNs = "TargetGroupARNs" case createdTime = "CreatedTime" case status = "Status" @@ -1333,13 +1343,13 @@ extension Autoscaling { case autoScalingGroupARN = "AutoScalingGroupARN" case placementGroup = "PlacementGroup" case defaultCooldown = "DefaultCooldown" + case serviceLinkedRoleARN = "ServiceLinkedRoleARN" + case autoScalingGroupName = "AutoScalingGroupName" case instances = "Instances" - case terminationPolicies = "TerminationPolicies" case launchTemplate = "LaunchTemplate" case healthCheckGracePeriod = "HealthCheckGracePeriod" case loadBalancerNames = "LoadBalancerNames" case healthCheckType = "HealthCheckType" - case autoScalingGroupName = "AutoScalingGroupName" } } @@ -1432,7 +1442,7 @@ extension Autoscaling { ] /// The ID of the snapshot. public let snapshotId: String? - /// Indicates whether the volume is deleted on instance termination. Default: true + /// Indicates whether the volume is deleted on instance termination. The default is true. public let deleteOnTermination: Bool? /// The volume type. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide. Valid values: standard | io1 | gp2 Default: standard public let volumeType: String? @@ -1468,7 +1478,7 @@ extension Autoscaling { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string) ] - /// The maximum number of items to return with this call. The default value is 50 and the maximum value is 100. + /// The maximum number of items to return with this call. The default value is 100 and the maximum value is 100. public let maxRecords: Int32? /// The token for the next set of items to return. (You received this token from a previous call.) public let nextToken: String? @@ -1511,7 +1521,7 @@ extension Autoscaling { AWSShapeMember(label: "ActivityIds", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// The maximum number of items to return with this call. The default value is 100. + /// The maximum number of items to return with this call. The default value is 100 and the maximum value is 100. public let maxRecords: Int32? /// The name of the Auto Scaling group. public let autoScalingGroupName: String? @@ -1541,11 +1551,11 @@ extension Autoscaling { AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string), AWSShapeMember(label: "InstanceIds", required: false, type: .list) ] - /// If True, the Auto Scaling group decrements the desired capacity value by the number of instances detached. + /// Indicates whether the Auto Scaling group decrements the desired capacity value by the number of instances detached. public let shouldDecrementDesiredCapacity: Bool /// The name of the Auto Scaling group. public let autoScalingGroupName: String - /// One or more instance IDs. + /// The IDs of the instances. You can specify up to 20 instances. public let instanceIds: [String]? public init(shouldDecrementDesiredCapacity: Bool, autoScalingGroupName: String, instanceIds: [String]? = nil) { @@ -1707,32 +1717,32 @@ extension Autoscaling { public struct DescribeAccountLimitsAnswer: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MaxNumberOfLaunchConfigurations", required: false, type: .integer), + AWSShapeMember(label: "MaxNumberOfAutoScalingGroups", required: false, type: .integer), AWSShapeMember(label: "NumberOfLaunchConfigurations", required: false, type: .integer), AWSShapeMember(label: "NumberOfAutoScalingGroups", required: false, type: .integer), - AWSShapeMember(label: "MaxNumberOfAutoScalingGroups", required: false, type: .integer) + AWSShapeMember(label: "MaxNumberOfLaunchConfigurations", required: false, type: .integer) ] - /// The maximum number of launch configurations allowed for your AWS account. The default limit is 100 per region. - public let maxNumberOfLaunchConfigurations: Int32? + /// The maximum number of groups allowed for your AWS account. The default limit is 20 per region. + public let maxNumberOfAutoScalingGroups: Int32? /// The current number of launch configurations for your AWS account. public let numberOfLaunchConfigurations: Int32? /// The current number of groups for your AWS account. public let numberOfAutoScalingGroups: Int32? - /// The maximum number of groups allowed for your AWS account. The default limit is 20 per region. - public let maxNumberOfAutoScalingGroups: Int32? + /// The maximum number of launch configurations allowed for your AWS account. The default limit is 100 per region. + public let maxNumberOfLaunchConfigurations: Int32? - public init(maxNumberOfLaunchConfigurations: Int32? = nil, numberOfLaunchConfigurations: Int32? = nil, numberOfAutoScalingGroups: Int32? = nil, maxNumberOfAutoScalingGroups: Int32? = nil) { - self.maxNumberOfLaunchConfigurations = maxNumberOfLaunchConfigurations + public init(maxNumberOfAutoScalingGroups: Int32? = nil, numberOfLaunchConfigurations: Int32? = nil, numberOfAutoScalingGroups: Int32? = nil, maxNumberOfLaunchConfigurations: Int32? = nil) { + self.maxNumberOfAutoScalingGroups = maxNumberOfAutoScalingGroups self.numberOfLaunchConfigurations = numberOfLaunchConfigurations self.numberOfAutoScalingGroups = numberOfAutoScalingGroups - self.maxNumberOfAutoScalingGroups = maxNumberOfAutoScalingGroups + self.maxNumberOfLaunchConfigurations = maxNumberOfLaunchConfigurations } private enum CodingKeys: String, CodingKey { - case maxNumberOfLaunchConfigurations = "MaxNumberOfLaunchConfigurations" + case maxNumberOfAutoScalingGroups = "MaxNumberOfAutoScalingGroups" case numberOfLaunchConfigurations = "NumberOfLaunchConfigurations" case numberOfAutoScalingGroups = "NumberOfAutoScalingGroups" - case maxNumberOfAutoScalingGroups = "MaxNumberOfAutoScalingGroups" + case maxNumberOfLaunchConfigurations = "MaxNumberOfLaunchConfigurations" } } @@ -1835,7 +1845,7 @@ extension Autoscaling { public let iamInstanceProfile: String? /// 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. public let imageId: String? - /// Used for groups that launch instances into a virtual private cloud (VPC). Specifies whether to assign a public IP address to each instance. For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling User Guide. If you specify this parameter, be sure to specify at least one subnet when you create your group. Default: If the instance is launched into a default subnet, the default is true. If the instance is launched into a nondefault subnet, the default is false. For more information, see Supported Platforms in the Amazon Elastic Compute Cloud User Guide. + /// Used for groups that launch instances into a virtual private cloud (VPC). Specifies whether to assign a public IP address to each instance. For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling User Guide. If you specify this parameter, be sure to specify at least one subnet when you create your group. Default: If the instance is launched into a default subnet, the default is 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. public let associatePublicIpAddress: Bool? /// The ID of the RAM disk associated with the AMI. public let ramdiskId: String? @@ -1905,7 +1915,7 @@ extension Autoscaling { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "InstanceIds", required: false, type: .list) ] - /// The maximum number of items to return with this call. The default value is 50 and the maximum value is 100. + /// The maximum number of items to return with this call. The default value is 50 and the maximum value is 50. public let maxRecords: Int32? /// The token for the next set of items to return. (You received this token from a previous call.) public let nextToken: String? @@ -2054,7 +2064,7 @@ extension Autoscaling { AWSShapeMember(label: "ShouldDecrementDesiredCapacity", required: true, type: .boolean), AWSShapeMember(label: "InstanceId", required: true, type: .string) ] - /// If true, terminating the instance also decrements the size of the Auto Scaling group. + /// Indicates whether terminating the instance also decrements the size of the Auto Scaling group. public let shouldDecrementDesiredCapacity: Bool /// The ID of the instance. public let instanceId: String @@ -2080,7 +2090,7 @@ extension Autoscaling { public let desiredCapacity: Int32 /// The name of the Auto Scaling group. public let autoScalingGroupName: String - /// By default, SetDesiredCapacity overrides any cooldown period associated with the Auto Scaling group. Specify True to make Auto Scaling to wait for the cool-down period associated with the Auto Scaling group to complete before initiating a scaling activity to set your Auto Scaling group to its new capacity. + /// Indicates whether 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, Auto Scaling does not honor the cooldown period during manual scaling activities. public let honorCooldown: Bool? public init(desiredCapacity: Int32, autoScalingGroupName: String, honorCooldown: Bool? = nil) { @@ -2304,6 +2314,7 @@ extension Autoscaling { AWSShapeMember(label: "DesiredCapacity", required: false, type: .integer), AWSShapeMember(label: "PlacementGroup", required: false, type: .string), AWSShapeMember(label: "DefaultCooldown", required: false, type: .integer), + AWSShapeMember(label: "ServiceLinkedRoleARN", required: false, type: .string), AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string), AWSShapeMember(label: "HealthCheckGracePeriod", required: false, type: .integer), AWSShapeMember(label: "LaunchTemplate", required: false, type: .structure), @@ -2312,7 +2323,7 @@ extension Autoscaling { ] /// One or more Availability Zones for the group. public let availabilityZones: [String]? - /// The name of the launch configuration. You must specify either a launch configuration or a launch template. + /// The name of the launch configuration. If you specify a launch configuration, you can't specify a launch template. public let launchConfigurationName: String? /// Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in. public let newInstancesProtectedFromScaleIn: Bool? @@ -2328,18 +2339,20 @@ extension Autoscaling { public let placementGroup: String? /// The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default is 300. For more information, see Auto Scaling Cooldowns in the Auto Scaling User Guide. public let defaultCooldown: Int32? + /// The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. + public let serviceLinkedRoleARN: String? /// The name of the Auto Scaling group. public let autoScalingGroupName: String /// The amount of time, in seconds, that Auto Scaling waits before checking the health status of an EC2 instance that has come into service. The default is 0. For more information, see Health Checks in the Auto Scaling User Guide. public let healthCheckGracePeriod: Int32? - /// The launch template to use to specify the updates. You must specify a launch configuration or a launch template. + /// The launch template to use to specify the updates. If you specify a launch template, you can't specify a launch configuration. public let launchTemplate: LaunchTemplateSpecification? /// 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. public let terminationPolicies: [String]? /// The service to use for the health checks. The valid values are EC2 and ELB. public let healthCheckType: String? - public init(availabilityZones: [String]? = nil, launchConfigurationName: String? = nil, newInstancesProtectedFromScaleIn: Bool? = nil, vPCZoneIdentifier: String? = nil, maxSize: Int32? = nil, minSize: Int32? = nil, desiredCapacity: Int32? = nil, placementGroup: String? = nil, defaultCooldown: Int32? = nil, autoScalingGroupName: String, healthCheckGracePeriod: Int32? = nil, launchTemplate: LaunchTemplateSpecification? = nil, terminationPolicies: [String]? = nil, healthCheckType: String? = nil) { + public init(availabilityZones: [String]? = nil, launchConfigurationName: String? = nil, newInstancesProtectedFromScaleIn: Bool? = nil, vPCZoneIdentifier: String? = nil, maxSize: Int32? = nil, minSize: Int32? = nil, desiredCapacity: Int32? = nil, placementGroup: String? = nil, defaultCooldown: Int32? = nil, serviceLinkedRoleARN: String? = nil, autoScalingGroupName: String, healthCheckGracePeriod: Int32? = nil, launchTemplate: LaunchTemplateSpecification? = nil, terminationPolicies: [String]? = nil, healthCheckType: String? = nil) { self.availabilityZones = availabilityZones self.launchConfigurationName = launchConfigurationName self.newInstancesProtectedFromScaleIn = newInstancesProtectedFromScaleIn @@ -2349,6 +2362,7 @@ extension Autoscaling { self.desiredCapacity = desiredCapacity self.placementGroup = placementGroup self.defaultCooldown = defaultCooldown + self.serviceLinkedRoleARN = serviceLinkedRoleARN self.autoScalingGroupName = autoScalingGroupName self.healthCheckGracePeriod = healthCheckGracePeriod self.launchTemplate = launchTemplate @@ -2366,6 +2380,7 @@ extension Autoscaling { case desiredCapacity = "DesiredCapacity" case placementGroup = "PlacementGroup" case defaultCooldown = "DefaultCooldown" + case serviceLinkedRoleARN = "ServiceLinkedRoleARN" case autoScalingGroupName = "AutoScalingGroupName" case healthCheckGracePeriod = "HealthCheckGracePeriod" case launchTemplate = "LaunchTemplate" @@ -2463,11 +2478,11 @@ extension Autoscaling { AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string), AWSShapeMember(label: "InstanceIds", required: false, type: .list) ] - /// Specifies whether the instances moved to Standby mode count as part of the Auto Scaling group's desired capacity. If set, the desired capacity for the Auto Scaling group decrements by the number of instances moved to Standby mode. + /// Indicates whether to decrement the desired capacity of the Auto Scaling group by the number of instances moved to Standby mode. public let shouldDecrementDesiredCapacity: Bool /// The name of the Auto Scaling group. public let autoScalingGroupName: String - /// One or more instances to move into Standby mode. You must specify at least one instance ID. + /// The IDs of the instances. You can specify up to 20 instances. public let instanceIds: [String]? public init(shouldDecrementDesiredCapacity: Bool, autoScalingGroupName: String, instanceIds: [String]? = nil) { @@ -2488,7 +2503,7 @@ extension Autoscaling { AWSShapeMember(label: "TargetGroupARNs", required: true, type: .list), AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string) ] - /// The Amazon Resource Names (ARN) of the target groups. + /// The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups. public let targetGroupARNs: [String] /// The name of the Auto Scaling group. public let autoScalingGroupName: String @@ -2517,7 +2532,7 @@ extension Autoscaling { AWSShapeMember(label: "TargetGroupARNs", required: true, type: .list), AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string) ] - /// The Amazon Resource Names (ARN) of the target groups. + /// The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups. public let targetGroupARNs: [String] /// The name of the Auto Scaling group. public let autoScalingGroupName: String @@ -2877,7 +2892,7 @@ extension Autoscaling { public let launchTemplateName: String? /// The ID of the launch template. You must specify either a template ID or a template name. public let launchTemplateId: String? - /// The version number. By default, the default version of the launch template is used. + /// The version number, $Latest, or $Default. If the value is $Latest, Auto Scaling selects the latest version of the launch template when launching instances. If the value is $Default, Auto Scaling selects the default version of the launch template when launching instances. The default value is $Default. public let version: String? public init(launchTemplateName: String? = nil, launchTemplateId: String? = nil, version: String? = nil) { @@ -2930,7 +2945,7 @@ extension Autoscaling { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "AutoScalingGroupName", required: true, type: .string) ] - /// The maximum number of items to return with this call. The default value is 50 and the maximum value is 100. + /// The maximum number of items to return with this call. The default value is 100 and the maximum value is 100. public let maxRecords: Int32? /// The token for the next set of items to return. (You received this token from a previous call.) public let nextToken: String? diff --git a/Sources/AWSSDKSwift/Services/batch/Batch_Shapes.swift b/Sources/AWSSDKSwift/Services/batch/Batch_Shapes.swift index 9f193217ce8..45e41150190 100644 --- a/Sources/AWSSDKSwift/Services/batch/Batch_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/batch/Batch_Shapes.swift @@ -164,11 +164,11 @@ extension Batch { ] /// A short, human-readable string to provide additional details about the current status of the job attempt. public let statusReason: String? - /// The Unix time stamp for when the attempt was started (when the attempt transitioned from the STARTING state to the RUNNING state). + /// 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). public let startedAt: Int64? /// Details about the container in this job attempt. public let container: AttemptContainerDetail? - /// The Unix time stamp for when the attempt was stopped (when the attempt transitioned from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED). + /// 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). public let stoppedAt: Int64? public init(statusReason: String? = nil, startedAt: Int64? = nil, container: AttemptContainerDetail? = nil, stoppedAt: Int64? = nil) { @@ -290,7 +290,7 @@ extension Batch { public let jobRoleArn: String? /// 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. public let ulimits: [Ulimit]? - /// 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. + /// 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. public let memory: Int32 public init(user: String? = nil, readonlyRootFilesystem: Bool? = nil, mountPoints: [MountPoint]? = nil, image: String, volumes: [Volume]? = nil, vcpus: Int32, privileged: Bool? = nil, environment: [KeyValuePair]? = nil, command: [String]? = nil, jobRoleArn: String? = nil, ulimits: [Ulimit]? = nil, memory: Int32) { @@ -933,15 +933,16 @@ extension Batch { AWSShapeMember(label: "attempts", required: false, type: .list), AWSShapeMember(label: "parameters", required: false, type: .map), AWSShapeMember(label: "stoppedAt", required: false, type: .long), + AWSShapeMember(label: "timeout", required: false, type: .structure), AWSShapeMember(label: "retryStrategy", required: false, type: .structure), AWSShapeMember(label: "jobDefinition", required: true, type: .string), AWSShapeMember(label: "jobId", required: true, type: .string) ] /// The name of the job. public let jobName: String - /// 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. + /// 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. public let createdAt: Int64? - /// The Unix time stamp for when the job was started (when the job transitioned from the STARTING state to the RUNNING state). + /// 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). public let startedAt: Int64 /// A short, human-readable string to provide additional details about the current status of the job. public let statusReason: String? @@ -959,8 +960,10 @@ extension Batch { public let attempts: [AttemptDetail]? /// Additional parameters passed to the job that replace parameter substitution placeholders or override any corresponding parameter defaults from the job definition. public let parameters: [String: String]? - /// 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). + /// 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). public let stoppedAt: Int64? + /// The timeout configuration for the job. + public let timeout: JobTimeout? /// The retry strategy to use for this job if an attempt fails. public let retryStrategy: RetryStrategy? /// The job definition that is used by this job. @@ -968,7 +971,7 @@ extension Batch { /// The ID for the job. public let jobId: String - public init(jobName: String, createdAt: Int64? = nil, startedAt: Int64, statusReason: String? = nil, container: ContainerDetail? = nil, dependsOn: [JobDependency]? = nil, jobQueue: String, arrayProperties: ArrayPropertiesDetail? = nil, status: JobStatus, attempts: [AttemptDetail]? = nil, parameters: [String: String]? = nil, stoppedAt: Int64? = nil, retryStrategy: RetryStrategy? = nil, jobDefinition: String, jobId: String) { + public init(jobName: String, createdAt: Int64? = nil, startedAt: Int64, statusReason: String? = nil, container: ContainerDetail? = nil, dependsOn: [JobDependency]? = nil, jobQueue: String, arrayProperties: ArrayPropertiesDetail? = nil, status: JobStatus, attempts: [AttemptDetail]? = nil, parameters: [String: String]? = nil, stoppedAt: Int64? = nil, timeout: JobTimeout? = nil, retryStrategy: RetryStrategy? = nil, jobDefinition: String, jobId: String) { self.jobName = jobName self.createdAt = createdAt self.startedAt = startedAt @@ -981,6 +984,7 @@ extension Batch { self.attempts = attempts self.parameters = parameters self.stoppedAt = stoppedAt + self.timeout = timeout self.retryStrategy = retryStrategy self.jobDefinition = jobDefinition self.jobId = jobId @@ -999,6 +1003,7 @@ extension Batch { case attempts = "attempts" case parameters = "parameters" case stoppedAt = "stoppedAt" + case timeout = "timeout" case retryStrategy = "retryStrategy" case jobDefinition = "jobDefinition" case jobId = "jobId" @@ -1042,6 +1047,7 @@ extension Batch { AWSShapeMember(label: "arrayProperties", required: false, type: .structure), AWSShapeMember(label: "jobName", required: true, type: .string), AWSShapeMember(label: "parameters", required: false, type: .map), + AWSShapeMember(label: "timeout", required: false, type: .structure), AWSShapeMember(label: "retryStrategy", required: false, type: .structure), AWSShapeMember(label: "jobDefinition", required: true, type: .string), AWSShapeMember(label: "containerOverrides", required: false, type: .structure), @@ -1055,6 +1061,8 @@ extension Batch { public let jobName: String /// 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. public let parameters: [String: String]? + /// 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. + public let timeout: JobTimeout? /// 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. public let retryStrategy: RetryStrategy? /// 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. @@ -1064,11 +1072,12 @@ extension Batch { /// 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. public let dependsOn: [JobDependency]? - public init(jobQueue: String, arrayProperties: ArrayProperties? = nil, jobName: String, parameters: [String: String]? = nil, retryStrategy: RetryStrategy? = nil, jobDefinition: String, containerOverrides: ContainerOverrides? = nil, dependsOn: [JobDependency]? = nil) { + public init(jobQueue: String, arrayProperties: ArrayProperties? = nil, jobName: String, parameters: [String: String]? = nil, timeout: JobTimeout? = nil, retryStrategy: RetryStrategy? = nil, jobDefinition: String, containerOverrides: ContainerOverrides? = nil, dependsOn: [JobDependency]? = nil) { self.jobQueue = jobQueue self.arrayProperties = arrayProperties self.jobName = jobName self.parameters = parameters + self.timeout = timeout self.retryStrategy = retryStrategy self.jobDefinition = jobDefinition self.containerOverrides = containerOverrides @@ -1080,6 +1089,7 @@ extension Batch { case arrayProperties = "arrayProperties" case jobName = "jobName" case parameters = "parameters" + case timeout = "timeout" case retryStrategy = "retryStrategy" case jobDefinition = "jobDefinition" case containerOverrides = "containerOverrides" @@ -1131,6 +1141,7 @@ extension Batch { public struct RegisterJobDefinitionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "jobDefinitionName", required: true, type: .string), + AWSShapeMember(label: "timeout", required: false, type: .structure), AWSShapeMember(label: "retryStrategy", required: false, type: .structure), AWSShapeMember(label: "type", required: true, type: .enum), AWSShapeMember(label: "containerProperties", required: false, type: .structure), @@ -1138,7 +1149,9 @@ extension Batch { ] /// The name of the job definition to register. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. public let jobDefinitionName: String - /// 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. + /// 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. + public let timeout: JobTimeout? + /// 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. public let retryStrategy: RetryStrategy? /// The type of job definition. public let `type`: JobDefinitionType @@ -1147,8 +1160,9 @@ extension Batch { /// 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. public let parameters: [String: String]? - public init(jobDefinitionName: String, retryStrategy: RetryStrategy? = nil, type: JobDefinitionType, containerProperties: ContainerProperties? = nil, parameters: [String: String]? = nil) { + public init(jobDefinitionName: String, timeout: JobTimeout? = nil, retryStrategy: RetryStrategy? = nil, type: JobDefinitionType, containerProperties: ContainerProperties? = nil, parameters: [String: String]? = nil) { self.jobDefinitionName = jobDefinitionName + self.timeout = timeout self.retryStrategy = retryStrategy self.`type` = `type` self.containerProperties = containerProperties @@ -1157,6 +1171,7 @@ extension Batch { private enum CodingKeys: String, CodingKey { case jobDefinitionName = "jobDefinitionName" + case timeout = "timeout" case retryStrategy = "retryStrategy" case `type` = "type" case containerProperties = "containerProperties" @@ -1376,6 +1391,7 @@ extension Batch { AWSShapeMember(label: "jobDefinitionName", required: true, type: .string), AWSShapeMember(label: "parameters", required: false, type: .map), AWSShapeMember(label: "jobDefinitionArn", required: true, type: .string), + AWSShapeMember(label: "timeout", required: false, type: .structure), AWSShapeMember(label: "retryStrategy", required: false, type: .structure), AWSShapeMember(label: "type", required: true, type: .string), AWSShapeMember(label: "containerProperties", required: false, type: .structure) @@ -1390,6 +1406,8 @@ extension Batch { public let parameters: [String: String]? /// The Amazon Resource Name (ARN) for the job definition. public let jobDefinitionArn: String + /// 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. + public let timeout: JobTimeout? /// The retry strategy to use for failed jobs that are submitted with this job definition. public let retryStrategy: RetryStrategy? /// The type of job definition. @@ -1397,12 +1415,13 @@ extension Batch { /// An object with various properties specific to container-based jobs. public let containerProperties: ContainerProperties? - public init(revision: Int32, status: String? = nil, jobDefinitionName: String, parameters: [String: String]? = nil, jobDefinitionArn: String, retryStrategy: RetryStrategy? = nil, type: String, containerProperties: ContainerProperties? = nil) { + public init(revision: Int32, status: String? = nil, jobDefinitionName: String, parameters: [String: String]? = nil, jobDefinitionArn: String, timeout: JobTimeout? = nil, retryStrategy: RetryStrategy? = nil, type: String, containerProperties: ContainerProperties? = nil) { self.revision = revision self.status = status self.jobDefinitionName = jobDefinitionName self.parameters = parameters self.jobDefinitionArn = jobDefinitionArn + self.timeout = timeout self.retryStrategy = retryStrategy self.`type` = `type` self.containerProperties = containerProperties @@ -1414,6 +1433,7 @@ extension Batch { case jobDefinitionName = "jobDefinitionName" case parameters = "parameters" case jobDefinitionArn = "jobDefinitionArn" + case timeout = "timeout" case retryStrategy = "retryStrategy" case `type` = "type" case containerProperties = "containerProperties" @@ -1472,6 +1492,22 @@ extension Batch { } } + public struct JobTimeout: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "attemptDurationSeconds", required: false, type: .integer) + ] + /// 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. + public let attemptDurationSeconds: Int32? + + public init(attemptDurationSeconds: Int32? = nil) { + self.attemptDurationSeconds = attemptDurationSeconds + } + + private enum CodingKeys: String, CodingKey { + case attemptDurationSeconds = "attemptDurationSeconds" + } + } + public struct CancelJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "jobId", required: true, type: .string), diff --git a/Sources/AWSSDKSwift/Services/budgets/Budgets_API.swift b/Sources/AWSSDKSwift/Services/budgets/Budgets_API.swift index a62e90b3f37..a680b79f234 100644 --- a/Sources/AWSSDKSwift/Services/budgets/Budgets_API.swift +++ b/Sources/AWSSDKSwift/Services/budgets/Budgets_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -All public APIs for AWS Budgets +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. */ public struct Budgets { @@ -27,67 +27,67 @@ public struct Budgets { ) } - /// Delete a notification and related subscribers + /// Deletes a notification. Deleting a notification also deletes the subscribers associated with the notification. public func deleteNotification(_ input: DeleteNotificationRequest) throws -> DeleteNotificationResponse { return try client.send(operation: "DeleteNotification", path: "/", httpMethod: "POST", input: input) } - /// Create a new Notification with subscribers for a budget + /// Creates a notification. You must create the budget before you create the associated notification. public func createNotification(_ input: CreateNotificationRequest) throws -> CreateNotificationResponse { return try client.send(operation: "CreateNotification", path: "/", httpMethod: "POST", input: input) } - /// Get a single budget + /// Describes a budget. public func describeBudget(_ input: DescribeBudgetRequest) throws -> DescribeBudgetResponse { return try client.send(operation: "DescribeBudget", path: "/", httpMethod: "POST", input: input) } - /// Get all budgets for an account + /// Lists the budgets associated with an account. public func describeBudgets(_ input: DescribeBudgetsRequest) throws -> DescribeBudgetsResponse { return try client.send(operation: "DescribeBudgets", path: "/", httpMethod: "POST", input: input) } - /// Update the information about a notification already created + /// Updates a notification. public func updateNotification(_ input: UpdateNotificationRequest) throws -> UpdateNotificationResponse { return try client.send(operation: "UpdateNotification", path: "/", httpMethod: "POST", input: input) } - /// Get notifications of a budget + /// Lists the notifications associated with a budget. public func describeNotificationsForBudget(_ input: DescribeNotificationsForBudgetRequest) throws -> DescribeNotificationsForBudgetResponse { return try client.send(operation: "DescribeNotificationsForBudget", path: "/", httpMethod: "POST", input: input) } - /// Update a subscriber + /// Updates a subscriber. public func updateSubscriber(_ input: UpdateSubscriberRequest) throws -> UpdateSubscriberResponse { return try client.send(operation: "UpdateSubscriber", path: "/", httpMethod: "POST", input: input) } - /// Create a new Subscriber for a notification + /// Creates a subscriber. You must create the associated budget and notification before you create the subscriber. public func createSubscriber(_ input: CreateSubscriberRequest) throws -> CreateSubscriberResponse { return try client.send(operation: "CreateSubscriber", path: "/", httpMethod: "POST", input: input) } - /// Delete a budget and related notifications + /// Deletes a budget. You can delete your budget at any time. Deleting a budget also deletes the notifications and subscribers associated with that budget. public func deleteBudget(_ input: DeleteBudgetRequest) throws -> DeleteBudgetResponse { return try client.send(operation: "DeleteBudget", path: "/", httpMethod: "POST", input: input) } - /// Get subscribers of a notification + /// Lists the subscribers associated with a notification. public func describeSubscribersForNotification(_ input: DescribeSubscribersForNotificationRequest) throws -> DescribeSubscribersForNotificationResponse { return try client.send(operation: "DescribeSubscribersForNotification", path: "/", httpMethod: "POST", input: input) } - /// Update the information of a budget already created + /// 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. public func updateBudget(_ input: UpdateBudgetRequest) throws -> UpdateBudgetResponse { return try client.send(operation: "UpdateBudget", path: "/", httpMethod: "POST", input: input) } - /// Delete a Subscriber for a notification + /// Deletes a subscriber. Deleting the last subscriber to a notification also deletes the notification. public func deleteSubscriber(_ input: DeleteSubscriberRequest) throws -> DeleteSubscriberResponse { return try client.send(operation: "DeleteSubscriber", path: "/", httpMethod: "POST", input: input) } - /// Create a new budget + /// Creates a budget and, if included, notifications and subscribers. public func createBudget(_ input: CreateBudgetRequest) throws -> CreateBudgetResponse { return try client.send(operation: "CreateBudget", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/budgets/Budgets_Shapes.swift b/Sources/AWSSDKSwift/Services/budgets/Budgets_Shapes.swift index 0c110a38a8f..4fc0696b625 100644 --- a/Sources/AWSSDKSwift/Services/budgets/Budgets_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/budgets/Budgets_Shapes.swift @@ -10,7 +10,9 @@ extension Budgets { AWSShapeMember(label: "AccountId", required: true, type: .string), AWSShapeMember(label: "BudgetName", required: true, type: .string) ] + /// The accountId that is associated with the budget that you want to delete. public let accountId: String + /// The name of the budget that you want to delete. public let budgetName: String public init(accountId: String, budgetName: String) { @@ -29,7 +31,9 @@ extension Budgets { AWSShapeMember(label: "Budgets", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] + /// A list of budgets. public let budgets: [Budget]? + /// The pagination token that indicates the next set of results that you can retrieve. public let nextToken: String? public init(budgets: [Budget]? = nil, nextToken: String? = nil) { @@ -48,7 +52,9 @@ extension Budgets { AWSShapeMember(label: "AccountId", required: true, type: .string), AWSShapeMember(label: "BudgetName", required: true, type: .string) ] + /// The accountId that is associated with the budget that you want a description of. public let accountId: String + /// The name of the budget that you want a description of. public let budgetName: String public init(accountId: String, budgetName: String) { @@ -66,6 +72,7 @@ extension Budgets { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Budget", required: false, type: .structure) ] + /// The description of the budget. public let budget: Budget? public init(budget: Budget? = nil) { @@ -83,8 +90,11 @@ extension Budgets { AWSShapeMember(label: "Notification", required: true, type: .structure), AWSShapeMember(label: "BudgetName", required: true, type: .string) ] + /// The accountId that is associated with the budget whose notification you want to delete. public let accountId: String + /// The notification that you want to delete. public let notification: Notification + /// The name of the budget whose notification you want to delete. public let budgetName: String public init(accountId: String, notification: Notification, budgetName: String) { @@ -105,7 +115,9 @@ extension Budgets { AWSShapeMember(label: "Subscribers", required: true, type: .list), AWSShapeMember(label: "Notification", required: true, type: .structure) ] + /// A list of subscribers who are subscribed to this notification. public let subscribers: [Subscriber] + /// The notification associated with a budget. public let notification: Notification public init(subscribers: [Subscriber], notification: Notification) { @@ -127,10 +139,15 @@ extension Budgets { AWSShapeMember(label: "BudgetName", required: true, type: .string), AWSShapeMember(label: "NewSubscriber", required: true, type: .structure) ] + /// The accountId that is associated with the budget whose subscriber you want to update. public let accountId: String + /// The notification whose subscriber you want to update. public let notification: Notification + /// The previous subscriber associated with a budget notification. public let oldSubscriber: Subscriber + /// The name of the budget whose subscriber you want to update. public let budgetName: String + /// The updated subscriber associated with a budget notification. public let newSubscriber: Subscriber public init(accountId: String, notification: Notification, oldSubscriber: Subscriber, budgetName: String, newSubscriber: Subscriber) { @@ -167,9 +184,13 @@ extension Budgets { AWSShapeMember(label: "Subscribers", required: true, type: .list), AWSShapeMember(label: "BudgetName", required: true, type: .string) ] + /// The accountId that is associated with the budget that you want to create a notification for. public let accountId: String + /// The notification that you want to create. public let notification: Notification + /// 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. public let subscribers: [Subscriber] + /// The name of the budget that you want AWS to notified you about. Budget names must be unique within an account. public let budgetName: String public init(accountId: String, notification: Notification, subscribers: [Subscriber], budgetName: String) { @@ -196,7 +217,9 @@ extension Budgets { AWSShapeMember(label: "Notifications", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] + /// A list of notifications associated with a budget. public let notifications: [Notification]? + /// The pagination token that indicates the next set of results that you can retrieve. public let nextToken: String? public init(notifications: [Notification]? = nil, nextToken: String? = nil) { @@ -217,9 +240,13 @@ extension Budgets { AWSShapeMember(label: "Notification", required: true, type: .structure), AWSShapeMember(label: "BudgetName", required: true, type: .string) ] + /// The accountId that is associated with the budget whose subscriber you want to delete. public let accountId: String + /// The subscriber that you want to delete. public let subscriber: Subscriber + /// The notification whose subscriber you want to delete. public let notification: Notification + /// The name of the budget whose subscriber you want to delete. public let budgetName: String public init(accountId: String, subscriber: Subscriber, notification: Notification, budgetName: String) { @@ -243,24 +270,67 @@ extension Budgets { public struct CostTypes: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "IncludeSubscription", required: true, type: .boolean), - AWSShapeMember(label: "UseBlended", required: true, type: .boolean), - AWSShapeMember(label: "IncludeTax", required: true, type: .boolean) + AWSShapeMember(label: "IncludeSupport", required: false, type: .boolean), + AWSShapeMember(label: "IncludeCredit", required: false, type: .boolean), + AWSShapeMember(label: "IncludeSubscription", required: false, type: .boolean), + AWSShapeMember(label: "IncludeUpfront", required: false, type: .boolean), + AWSShapeMember(label: "IncludeOtherSubscription", required: false, type: .boolean), + AWSShapeMember(label: "UseAmortized", required: false, type: .boolean), + AWSShapeMember(label: "IncludeTax", required: false, type: .boolean), + AWSShapeMember(label: "UseBlended", required: false, type: .boolean), + AWSShapeMember(label: "IncludeRefund", required: false, type: .boolean), + AWSShapeMember(label: "IncludeDiscount", required: false, type: .boolean), + AWSShapeMember(label: "IncludeRecurring", required: false, type: .boolean) ] - public let includeSubscription: Bool - public let useBlended: Bool - public let includeTax: Bool - - public init(includeSubscription: Bool, useBlended: Bool, includeTax: Bool) { + /// Specifies whether a budget includes support subscription fees. The default value is true. + public let includeSupport: Bool? + /// Specifies whether a budget includes credits. The default value is true. + public let includeCredit: Bool? + /// Specifies whether a budget includes subscriptions. The default value is true. + public let includeSubscription: Bool? + /// Specifies whether a budget includes upfront RI costs. The default value is true. + public let includeUpfront: Bool? + /// Specifies whether a budget includes non-RI subscription costs. The default value is true. + public let includeOtherSubscription: Bool? + /// Specifies whether a budget uses the amortized rate. The default value is false. + public let useAmortized: Bool? + /// Specifies whether a budget includes taxes. The default value is true. + public let includeTax: Bool? + /// Specifies whether a budget uses blended rate. The default value is false. + public let useBlended: Bool? + /// Specifies whether a budget includes refunds. The default value is true. + public let includeRefund: Bool? + /// Specifies whether a budget includes discounts. The default value is true. + public let includeDiscount: Bool? + /// Specifies whether a budget includes recurring fees such as monthly RI fees. The default value is true. + public let includeRecurring: Bool? + + public init(includeSupport: Bool? = nil, includeCredit: Bool? = nil, includeSubscription: Bool? = nil, includeUpfront: Bool? = nil, includeOtherSubscription: Bool? = nil, useAmortized: Bool? = nil, includeTax: Bool? = nil, useBlended: Bool? = nil, includeRefund: Bool? = nil, includeDiscount: Bool? = nil, includeRecurring: Bool? = nil) { + self.includeSupport = includeSupport + self.includeCredit = includeCredit self.includeSubscription = includeSubscription - self.useBlended = useBlended + self.includeUpfront = includeUpfront + self.includeOtherSubscription = includeOtherSubscription + self.useAmortized = useAmortized self.includeTax = includeTax + self.useBlended = useBlended + self.includeRefund = includeRefund + self.includeDiscount = includeDiscount + self.includeRecurring = includeRecurring } private enum CodingKeys: String, CodingKey { + case includeSupport = "IncludeSupport" + case includeCredit = "IncludeCredit" case includeSubscription = "IncludeSubscription" - case useBlended = "UseBlended" + case includeUpfront = "IncludeUpfront" + case includeOtherSubscription = "IncludeOtherSubscription" + case useAmortized = "UseAmortized" case includeTax = "IncludeTax" + case useBlended = "UseBlended" + case includeRefund = "IncludeRefund" + case includeDiscount = "IncludeDiscount" + case includeRecurring = "IncludeRecurring" } } @@ -274,8 +344,11 @@ extension Budgets { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] + /// The accountId that is associated with the budgets that you want descriptions of. public let accountId: String + /// The pagination token that indicates the next set of results to retrieve. public let nextToken: String? + /// Optional integer. Specifies the maximum number of results to return in response. public let maxResults: Int32? public init(accountId: String, nextToken: String? = nil, maxResults: Int32? = nil) { @@ -301,8 +374,11 @@ extension Budgets { AWSShapeMember(label: "Budget", required: true, type: .structure), AWSShapeMember(label: "NotificationsWithSubscribers", required: false, type: .list) ] + /// The accountId that is associated with the budget. public let accountId: String + /// The budget object that you want to create. public let budget: Budget + /// 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. public let notificationsWithSubscribers: [NotificationWithSubscribers]? public init(accountId: String, budget: Budget, notificationsWithSubscribers: [NotificationWithSubscribers]? = nil) { @@ -329,9 +405,13 @@ extension Budgets { AWSShapeMember(label: "NewNotification", required: true, type: .structure), AWSShapeMember(label: "BudgetName", required: true, type: .string) ] + /// The accountId that is associated with the budget whose notification you want to update. public let accountId: String + /// The previous notification associated with a budget. public let oldNotification: Notification + /// The updated notification to be associated with a budget. public let newNotification: Notification + /// The name of the budget whose notification you want to update. public let budgetName: String public init(accountId: String, oldNotification: Notification, newNotification: Notification, budgetName: String) { @@ -367,6 +447,7 @@ extension Budgets { case usage = "USAGE" case cost = "COST" case riUtilization = "RI_UTILIZATION" + case riCoverage = "RI_COVERAGE" public var description: String { return self.rawValue } } @@ -378,10 +459,15 @@ extension Budgets { AWSShapeMember(label: "BudgetName", required: true, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] + /// The accountId that is associated with the budget whose subscribers you want descriptions of. public let accountId: String + /// The notification whose subscribers you want to list. public let notification: Notification + /// The pagination token that indicates the next set of results to retrieve. public let nextToken: String? + /// The name of the budget whose subscribers you want descriptions of. public let budgetName: String + /// Optional integer. Specifies the maximum number of results to return in response. public let maxResults: Int32? public init(accountId: String, notification: Notification, nextToken: String? = nil, budgetName: String, maxResults: Int32? = nil) { @@ -408,9 +494,13 @@ extension Budgets { AWSShapeMember(label: "Notification", required: true, type: .structure), AWSShapeMember(label: "BudgetName", required: true, type: .string) ] + /// The accountId associated with the budget that you want to create a subscriber for. public let accountId: String + /// The subscriber that you want to associate with a budget notification. public let subscriber: Subscriber + /// The notification that you want to create a subscriber for. public let notification: Notification + /// The name of the budget that you want to subscribe to. Budget names must be unique within an account. public let budgetName: String public init(accountId: String, subscriber: Subscriber, notification: Notification, budgetName: String) { @@ -439,9 +529,13 @@ extension Budgets { AWSShapeMember(label: "ComparisonOperator", required: true, type: .enum), AWSShapeMember(label: "ThresholdType", required: false, type: .enum) ] + /// The threshold associated with a notification. Thresholds are always a percentage. public let threshold: Double + /// Whether the notification is for how much you have spent (ACTUAL) or for how much you are forecasted to spend (FORECASTED). public let notificationType: NotificationType + /// The comparison used for this notification. public let comparisonOperator: ComparisonOperator + /// 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. public let thresholdType: ThresholdType? public init(threshold: Double, notificationType: NotificationType, comparisonOperator: ComparisonOperator, thresholdType: ThresholdType? = nil) { @@ -464,7 +558,9 @@ extension Budgets { AWSShapeMember(label: "Address", required: true, type: .string), AWSShapeMember(label: "SubscriptionType", required: true, type: .enum) ] + /// The address that AWS sends budget notifications to, either an SNS topic or an email. public let address: String + /// The type of notification that AWS sends to a subscriber. public let subscriptionType: SubscriptionType public init(address: String, subscriptionType: SubscriptionType) { @@ -485,9 +581,13 @@ extension Budgets { AWSShapeMember(label: "BudgetName", required: true, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] + /// The accountId that is associated with the budget whose notifications you want descriptions of. public let accountId: String + /// The pagination token that indicates the next set of results to retrieve. public let nextToken: String? + /// The name of the budget whose notifications you want descriptions of. public let budgetName: String + /// Optional integer. Specifies the maximum number of results to return in response. public let maxResults: Int32? public init(accountId: String, nextToken: String? = nil, budgetName: String, maxResults: Int32? = nil) { @@ -510,7 +610,9 @@ extension Budgets { AWSShapeMember(label: "AccountId", required: true, type: .string), AWSShapeMember(label: "NewBudget", required: true, type: .structure) ] + /// The accountId that is associated with the budget that you want to update. public let accountId: String + /// The budget that you want to update your budget to. public let newBudget: Budget public init(accountId: String, newBudget: Budget) { @@ -535,24 +637,32 @@ extension Budgets { public struct Budget: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TimeUnit", required: true, type: .enum), - AWSShapeMember(label: "BudgetLimit", required: true, type: .structure), + AWSShapeMember(label: "BudgetLimit", required: false, type: .structure), AWSShapeMember(label: "BudgetName", required: true, type: .string), - AWSShapeMember(label: "TimePeriod", required: true, type: .structure), + AWSShapeMember(label: "TimePeriod", required: false, type: .structure), AWSShapeMember(label: "BudgetType", required: true, type: .enum), AWSShapeMember(label: "CostFilters", required: false, type: .map), AWSShapeMember(label: "CalculatedSpend", required: false, type: .structure), - AWSShapeMember(label: "CostTypes", required: true, type: .structure) + AWSShapeMember(label: "CostTypes", required: false, type: .structure) ] + /// The length of time until a budget resets the actual and forecasted spend. public let timeUnit: TimeUnit - public let budgetLimit: Spend + /// 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. + public let budgetLimit: Spend? + /// The name of a budget. Unique within accounts. : and \ characters are not allowed in the BudgetName. public let budgetName: String - public let timePeriod: TimePeriod + /// 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. + public let timePeriod: TimePeriod? + /// Whether this budget tracks monetary costs, usage, or RI utilization. public let budgetType: BudgetType + /// The cost filters applied to a budget, such as service or region. public let costFilters: [String: [String]]? + /// The actual and forecasted cost or usage being tracked by a budget. public let calculatedSpend: CalculatedSpend? - public let costTypes: CostTypes + /// The types of costs included in this budget. + public let costTypes: CostTypes? - public init(timeUnit: TimeUnit, budgetLimit: Spend, budgetName: String, timePeriod: TimePeriod, budgetType: BudgetType, costFilters: [String: [String]]? = nil, calculatedSpend: CalculatedSpend? = nil, costTypes: CostTypes) { + public init(timeUnit: TimeUnit, budgetLimit: Spend? = nil, budgetName: String, timePeriod: TimePeriod? = nil, budgetType: BudgetType, costFilters: [String: [String]]? = nil, calculatedSpend: CalculatedSpend? = nil, costTypes: CostTypes? = nil) { self.timeUnit = timeUnit self.budgetLimit = budgetLimit self.budgetName = budgetName @@ -577,13 +687,15 @@ extension Budgets { public struct TimePeriod: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Start", required: true, type: .timestamp), - AWSShapeMember(label: "End", required: true, type: .timestamp) + AWSShapeMember(label: "Start", required: false, type: .timestamp), + AWSShapeMember(label: "End", required: false, type: .timestamp) ] - public let start: TimeStamp - public let end: TimeStamp + /// 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. + public let start: TimeStamp? + /// 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. + public let end: TimeStamp? - public init(start: TimeStamp, end: TimeStamp) { + public init(start: TimeStamp? = nil, end: TimeStamp? = nil) { self.start = start self.end = end } @@ -599,7 +711,9 @@ extension Budgets { AWSShapeMember(label: "ForecastedSpend", required: false, type: .structure), AWSShapeMember(label: "ActualSpend", required: true, type: .structure) ] + /// The amount of cost, usage, or RI units that you are forecasted to use. public let forecastedSpend: Spend? + /// The amount of cost, usage, or RI units that you have used. public let actualSpend: Spend public init(forecastedSpend: Spend? = nil, actualSpend: Spend) { @@ -618,7 +732,9 @@ extension Budgets { AWSShapeMember(label: "Unit", required: true, type: .string), AWSShapeMember(label: "Amount", required: true, type: .string) ] + /// The unit of measurement used for the budget forecast, actual spend, or budget threshold, such as dollars or GB. public let unit: String + /// The cost or usage amount associated with a budget forecast, actual spend, or budget threshold. public let amount: String public init(unit: String, amount: String) { @@ -637,7 +753,9 @@ extension Budgets { AWSShapeMember(label: "Subscribers", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] + /// A list of subscribers associated with a notification. public let subscribers: [Subscriber]? + /// The pagination token that indicates the next set of results that you can retrieve. public let nextToken: String? public init(subscribers: [Subscriber]? = nil, nextToken: String? = nil) { diff --git a/Sources/AWSSDKSwift/Services/ce/Ce_API.swift b/Sources/AWSSDKSwift/Services/ce/Ce_API.swift index 319f5b4907f..ab8e9cbd90a 100644 --- a/Sources/AWSSDKSwift/Services/ce/Ce_API.swift +++ b/Sources/AWSSDKSwift/Services/ce/Ce_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -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 DynamoDB database tables in your production environment. Service Endpoint The Cost Explorer API provides the following endpoint: https://ce.us-east-1.amazonaws.com +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. */ public struct Ce { @@ -20,27 +20,39 @@ public struct Ce { serviceProtocol: ServiceProtocol(type: .json, version: ServiceProtocol.Version(major: 1, minor: 1)), apiVersion: "2017-10-25", endpoint: endpoint, + serviceEndpoints: ["aws-global": "ce.us-east-1.amazonaws.com"], + partitionEndpoint: "aws-global", middlewares: [], possibleErrorTypes: [CeError.self] ) } - /// Retrieve 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 AWS Service or AvailabilityZone, in a specific time range. See the GetDimensionValues action for a complete list of the valid dimensions. Master accounts in an organization have access to all member accounts. + /// 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. public func getCostAndUsage(_ input: GetCostAndUsageRequest) throws -> GetCostAndUsageResponse { return try client.send(operation: "GetCostAndUsage", path: "/", httpMethod: "POST", input: input) } - /// You can retrieve the Reservation utilization for your account. Master accounts in an organization have access to their associated 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. + /// 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. + public func getReservationPurchaseRecommendation(_ input: GetReservationPurchaseRecommendationRequest) throws -> GetReservationPurchaseRecommendationResponse { + return try client.send(operation: "GetReservationPurchaseRecommendation", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func getReservationUtilization(_ input: GetReservationUtilizationRequest) throws -> GetReservationUtilizationResponse { return try client.send(operation: "GetReservationUtilization", path: "/", httpMethod: "POST", input: input) } - /// You can use GetDimensionValues to retrieve all available filter values for a specific filter over a period of time. You can search the dimension values for an arbitrary string. + /// 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. + public func getReservationCoverage(_ input: GetReservationCoverageRequest) throws -> GetReservationCoverageResponse { + return try client.send(operation: "GetReservationCoverage", path: "/", httpMethod: "POST", input: input) + } + + /// Retrieves all available filter values for a specified filter over a period of time. You can search the dimension values for an arbitrary string. public func getDimensionValues(_ input: GetDimensionValuesRequest) throws -> GetDimensionValuesResponse { return try client.send(operation: "GetDimensionValues", path: "/", httpMethod: "POST", input: input) } - /// You can query for available tag keys and tag values for a specified period. You can search the tag values for an arbitrary string. + /// Queries for available tag keys and tag values for a specified period. You can search the tag values for an arbitrary string. public func getTags(_ input: GetTagsRequest) throws -> GetTagsResponse { return try client.send(operation: "GetTags", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/ce/Ce_Error.swift b/Sources/AWSSDKSwift/Services/ce/Ce_Error.swift index e938c32e58f..328c653a3ba 100644 --- a/Sources/AWSSDKSwift/Services/ce/Ce_Error.swift +++ b/Sources/AWSSDKSwift/Services/ce/Ce_Error.swift @@ -5,6 +5,10 @@ import AWSSDKSwiftCore /// Error enum for Ce public enum CeError: AWSErrorType { case limitExceededException(message: String?) + case billExpirationException(message: String?) + case dataUnavailableException(message: String?) + case invalidNextTokenException(message: String?) + case requestChangedException(message: String?) } extension CeError { @@ -16,6 +20,14 @@ extension CeError { switch errorCode { case "LimitExceededException": self = .limitExceededException(message: message) + case "BillExpirationException": + self = .billExpirationException(message: message) + case "DataUnavailableException": + self = .dataUnavailableException(message: message) + case "InvalidNextTokenException": + self = .invalidNextTokenException(message: message) + case "RequestChangedException": + self = .requestChangedException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/ce/Ce_Shapes.swift b/Sources/AWSSDKSwift/Services/ce/Ce_Shapes.swift index 49e94825513..98727202310 100644 --- a/Sources/AWSSDKSwift/Services/ce/Ce_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/ce/Ce_Shapes.swift @@ -11,9 +11,9 @@ extension Ce { AWSShapeMember(label: "ResultsByTime", required: false, type: .list), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// The groups specified by the the Filter or GroupBy parameters in the request. + /// The groups that are specified by the Filter or GroupBy parameters in the request. public let groupDefinitions: [GroupDefinition]? - /// The time period covered by the results in the response. + /// The time period that is covered by the results in the response. public let resultsByTime: [ResultByTime]? /// 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. public let nextPageToken: String? @@ -31,6 +31,855 @@ extension Ce { } } + public struct ReservationPurchaseRecommendationMetadata: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RecommendationId", required: false, type: .string), + AWSShapeMember(label: "GenerationTimestamp", required: false, type: .string) + ] + /// The ID for this specific recommendation. + public let recommendationId: String? + /// The time stamp for when AWS made this recommendation. + public let generationTimestamp: String? + + public init(recommendationId: String? = nil, generationTimestamp: String? = nil) { + self.recommendationId = recommendationId + self.generationTimestamp = generationTimestamp + } + + private enum CodingKeys: String, CodingKey { + case recommendationId = "RecommendationId" + case generationTimestamp = "GenerationTimestamp" + } + } + + public struct GroupDefinition: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Key", required: false, type: .string) + ] + /// The string that represents the type of group. + public let `type`: GroupDefinitionType? + /// The string that represents a key for a specified group. + public let key: String? + + public init(type: GroupDefinitionType? = nil, key: String? = nil) { + self.`type` = `type` + self.key = key + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + case key = "Key" + } + } + + public struct ReservationCoverageGroup: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Attributes", required: false, type: .map), + AWSShapeMember(label: "Coverage", required: false, type: .structure) + ] + /// The attributes for this group of reservations. + public let attributes: [String: String]? + /// How much instance usage this group of reservations covered. + public let coverage: Coverage? + + public init(attributes: [String: String]? = nil, coverage: Coverage? = nil) { + self.attributes = attributes + self.coverage = coverage + } + + private enum CodingKeys: String, CodingKey { + case attributes = "Attributes" + case coverage = "Coverage" + } + } + + public struct MetricValue: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Unit", required: false, type: .string), + AWSShapeMember(label: "Amount", required: false, type: .string) + ] + /// The unit that the metric is given in. + public let unit: String? + /// The actual number that represents the metric. + public let amount: String? + + public init(unit: String? = nil, amount: String? = nil) { + self.unit = unit + self.amount = amount + } + + private enum CodingKeys: String, CodingKey { + case unit = "Unit" + case amount = "Amount" + } + } + + public struct RedshiftInstanceDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CurrentGeneration", required: false, type: .boolean), + AWSShapeMember(label: "Family", required: false, type: .string), + AWSShapeMember(label: "SizeFlexEligible", required: false, type: .boolean), + AWSShapeMember(label: "Region", required: false, type: .string), + AWSShapeMember(label: "NodeType", required: false, type: .string) + ] + /// Whether the recommendation is for a current generation instance. + public let currentGeneration: Bool? + /// The instance family of the recommended reservation. + public let family: String? + /// Whether the recommended reservation is size flexible. + public let sizeFlexEligible: Bool? + /// The AWS Region of the recommended reservation. + public let region: String? + /// The type of node that AWS recommends. + public let nodeType: String? + + public init(currentGeneration: Bool? = nil, family: String? = nil, sizeFlexEligible: Bool? = nil, region: String? = nil, nodeType: String? = nil) { + self.currentGeneration = currentGeneration + self.family = family + self.sizeFlexEligible = sizeFlexEligible + self.region = region + self.nodeType = nodeType + } + + private enum CodingKeys: String, CodingKey { + case currentGeneration = "CurrentGeneration" + case family = "Family" + case sizeFlexEligible = "SizeFlexEligible" + case region = "Region" + case nodeType = "NodeType" + } + } + + public struct GetTagsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TagKey", required: false, type: .string), + AWSShapeMember(label: "TimePeriod", required: true, type: .structure), + AWSShapeMember(label: "SearchString", required: false, type: .string), + AWSShapeMember(label: "NextPageToken", required: false, type: .string) + ] + /// The key of the tag that you want to return values for. + public let tagKey: String? + /// 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. + public let timePeriod: DateInterval + /// The value that you want to search for. + public let searchString: String? + /// 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. + public let nextPageToken: String? + + public init(tagKey: String? = nil, timePeriod: DateInterval, searchString: String? = nil, nextPageToken: String? = nil) { + self.tagKey = tagKey + self.timePeriod = timePeriod + self.searchString = searchString + self.nextPageToken = nextPageToken + } + + private enum CodingKeys: String, CodingKey { + case tagKey = "TagKey" + case timePeriod = "TimePeriod" + case searchString = "SearchString" + case nextPageToken = "NextPageToken" + } + } + + public struct ElastiCacheInstanceDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CurrentGeneration", required: false, type: .boolean), + AWSShapeMember(label: "Family", required: false, type: .string), + AWSShapeMember(label: "NodeType", required: false, type: .string), + AWSShapeMember(label: "SizeFlexEligible", required: false, type: .boolean), + AWSShapeMember(label: "Region", required: false, type: .string), + AWSShapeMember(label: "ProductDescription", required: false, type: .string) + ] + /// Whether the recommendation is for a current generation instance. + public let currentGeneration: Bool? + /// The instance family of the recommended reservation. + public let family: String? + /// The type of node that AWS recommends. + public let nodeType: String? + /// Whether the recommended reservation is size flexible. + public let sizeFlexEligible: Bool? + /// The AWS Region of the recommended reservation. + public let region: String? + /// The description of the recommended reservation. + public let productDescription: String? + + public init(currentGeneration: Bool? = nil, family: String? = nil, nodeType: String? = nil, sizeFlexEligible: Bool? = nil, region: String? = nil, productDescription: String? = nil) { + self.currentGeneration = currentGeneration + self.family = family + self.nodeType = nodeType + self.sizeFlexEligible = sizeFlexEligible + self.region = region + self.productDescription = productDescription + } + + private enum CodingKeys: String, CodingKey { + case currentGeneration = "CurrentGeneration" + case family = "Family" + case nodeType = "NodeType" + case sizeFlexEligible = "SizeFlexEligible" + case region = "Region" + case productDescription = "ProductDescription" + } + } + + public struct UtilizationByTime: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TimePeriod", required: false, type: .structure), + AWSShapeMember(label: "Groups", required: false, type: .list), + AWSShapeMember(label: "Total", required: false, type: .structure) + ] + /// The period of time over which this utilization was used. + public let timePeriod: DateInterval? + /// The groups that are included in this utilization result. + public let groups: [ReservationUtilizationGroup]? + /// The total number of RI hours that were used. + public let total: ReservationAggregates? + + public init(timePeriod: DateInterval? = nil, groups: [ReservationUtilizationGroup]? = nil, total: ReservationAggregates? = nil) { + self.timePeriod = timePeriod + self.groups = groups + self.total = total + } + + private enum CodingKeys: String, CodingKey { + case timePeriod = "TimePeriod" + case groups = "Groups" + case total = "Total" + } + } + + public enum PaymentOption: String, CustomStringConvertible, Codable { + case noUpfront = "NO_UPFRONT" + case partialUpfront = "PARTIAL_UPFRONT" + case allUpfront = "ALL_UPFRONT" + case lightUtilization = "LIGHT_UTILIZATION" + case mediumUtilization = "MEDIUM_UTILIZATION" + case heavyUtilization = "HEAVY_UTILIZATION" + public var description: String { return self.rawValue } + } + + public struct ReservationAggregates: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NetRISavings", required: false, type: .string), + AWSShapeMember(label: "UtilizationPercentage", required: false, type: .string), + AWSShapeMember(label: "OnDemandCostOfRIHoursUsed", required: false, type: .string), + AWSShapeMember(label: "TotalActualHours", required: false, type: .string), + AWSShapeMember(label: "PurchasedHours", required: false, type: .string), + AWSShapeMember(label: "TotalAmortizedFee", required: false, type: .string), + AWSShapeMember(label: "AmortizedUpfrontFee", required: false, type: .string), + AWSShapeMember(label: "TotalPotentialRISavings", required: false, type: .string), + AWSShapeMember(label: "UnusedHours", required: false, type: .string), + AWSShapeMember(label: "AmortizedRecurringFee", required: false, type: .string) + ] + /// How much you saved due to purchasing and utilizing RIs. AWS calculates this by subtracting TotalAmortizedFee from OnDemandCostOfRIHoursUsed. + public let netRISavings: String? + /// The percentage of RI time that you used. + public let utilizationPercentage: String? + /// How much your RIs would cost if charged On-Demand rates. + public let onDemandCostOfRIHoursUsed: String? + /// The total number of RI hours that you used. + public let totalActualHours: String? + /// How many RI hours that you purchased. + public let purchasedHours: String? + /// The total cost of your RI, amortized over the RI period. + public let totalAmortizedFee: String? + /// The upfront cost of your RI, amortized over the RI period. + public let amortizedUpfrontFee: String? + /// How much you could save if you use your entire reservation. + public let totalPotentialRISavings: String? + /// The number of RI hours that you didn't use. + public let unusedHours: String? + /// The monthly cost of your RI, amortized over the RI period. + public let amortizedRecurringFee: String? + + public init(netRISavings: String? = nil, utilizationPercentage: String? = nil, onDemandCostOfRIHoursUsed: String? = nil, totalActualHours: String? = nil, purchasedHours: String? = nil, totalAmortizedFee: String? = nil, amortizedUpfrontFee: String? = nil, totalPotentialRISavings: String? = nil, unusedHours: String? = nil, amortizedRecurringFee: String? = nil) { + self.netRISavings = netRISavings + self.utilizationPercentage = utilizationPercentage + self.onDemandCostOfRIHoursUsed = onDemandCostOfRIHoursUsed + self.totalActualHours = totalActualHours + self.purchasedHours = purchasedHours + self.totalAmortizedFee = totalAmortizedFee + self.amortizedUpfrontFee = amortizedUpfrontFee + self.totalPotentialRISavings = totalPotentialRISavings + self.unusedHours = unusedHours + self.amortizedRecurringFee = amortizedRecurringFee + } + + private enum CodingKeys: String, CodingKey { + case netRISavings = "NetRISavings" + case utilizationPercentage = "UtilizationPercentage" + case onDemandCostOfRIHoursUsed = "OnDemandCostOfRIHoursUsed" + case totalActualHours = "TotalActualHours" + case purchasedHours = "PurchasedHours" + case totalAmortizedFee = "TotalAmortizedFee" + case amortizedUpfrontFee = "AmortizedUpfrontFee" + case totalPotentialRISavings = "TotalPotentialRISavings" + case unusedHours = "UnusedHours" + case amortizedRecurringFee = "AmortizedRecurringFee" + } + } + + public struct GetTagsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TotalSize", required: true, type: .integer), + AWSShapeMember(label: "ReturnSize", required: true, type: .integer), + AWSShapeMember(label: "Tags", required: true, type: .list), + AWSShapeMember(label: "NextPageToken", required: false, type: .string) + ] + /// The total number of query results. + public let totalSize: Int32 + /// The number of query results that AWS returns at a time. + public let returnSize: Int32 + /// The tags that match your request. + public let tags: [String] + /// 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. + public let nextPageToken: String? + + public init(totalSize: Int32, returnSize: Int32, tags: [String], nextPageToken: String? = nil) { + self.totalSize = totalSize + self.returnSize = returnSize + self.tags = tags + self.nextPageToken = nextPageToken + } + + private enum CodingKeys: String, CodingKey { + case totalSize = "TotalSize" + case returnSize = "ReturnSize" + case tags = "Tags" + case nextPageToken = "NextPageToken" + } + } + + public struct CoverageHours: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TotalRunningHours", required: false, type: .string), + AWSShapeMember(label: "OnDemandHours", required: false, type: .string), + AWSShapeMember(label: "CoverageHoursPercentage", required: false, type: .string), + AWSShapeMember(label: "ReservedHours", required: false, type: .string) + ] + /// The total instance usage, in hours. + public let totalRunningHours: String? + /// The number of instance running hours that are covered by On-Demand Instances. + public let onDemandHours: String? + /// The percentage of instance hours that are covered by a reservation. + public let coverageHoursPercentage: String? + /// The number of instance running hours that are covered by reservations. + public let reservedHours: String? + + public init(totalRunningHours: String? = nil, onDemandHours: String? = nil, coverageHoursPercentage: String? = nil, reservedHours: String? = nil) { + self.totalRunningHours = totalRunningHours + self.onDemandHours = onDemandHours + self.coverageHoursPercentage = coverageHoursPercentage + self.reservedHours = reservedHours + } + + private enum CodingKeys: String, CodingKey { + case totalRunningHours = "TotalRunningHours" + case onDemandHours = "OnDemandHours" + case coverageHoursPercentage = "CoverageHoursPercentage" + case reservedHours = "ReservedHours" + } + } + + public struct EC2InstanceDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Family", required: false, type: .string), + AWSShapeMember(label: "CurrentGeneration", required: false, type: .boolean), + AWSShapeMember(label: "Platform", required: false, type: .string), + AWSShapeMember(label: "SizeFlexEligible", required: false, type: .boolean), + AWSShapeMember(label: "Region", required: false, type: .string), + AWSShapeMember(label: "Tenancy", required: false, type: .string), + AWSShapeMember(label: "InstanceType", required: false, type: .string), + AWSShapeMember(label: "AvailabilityZone", required: false, type: .string) + ] + /// The instance family of the recommended reservation. + public let family: String? + /// Whether the recommendation is for a current generation instance. + public let currentGeneration: Bool? + /// The platform of the recommended reservation. The platform is the specific combination of operating system, license model, and software on an instance. + public let platform: String? + /// Whether the recommended reservation is size flexible. + public let sizeFlexEligible: Bool? + /// The AWS Region of the recommended reservation. + public let region: String? + /// Whether the recommended reservation is dedicated or shared. + public let tenancy: String? + /// The type of instance that AWS recommends. + public let instanceType: String? + /// The Availability Zone of the recommended reservation. + public let availabilityZone: String? + + public init(family: String? = nil, currentGeneration: Bool? = nil, platform: String? = nil, sizeFlexEligible: Bool? = nil, region: String? = nil, tenancy: String? = nil, instanceType: String? = nil, availabilityZone: String? = nil) { + self.family = family + self.currentGeneration = currentGeneration + self.platform = platform + self.sizeFlexEligible = sizeFlexEligible + self.region = region + self.tenancy = tenancy + self.instanceType = instanceType + self.availabilityZone = availabilityZone + } + + private enum CodingKeys: String, CodingKey { + case family = "Family" + case currentGeneration = "CurrentGeneration" + case platform = "Platform" + case sizeFlexEligible = "SizeFlexEligible" + case region = "Region" + case tenancy = "Tenancy" + case instanceType = "InstanceType" + case availabilityZone = "AvailabilityZone" + } + } + + public struct GetReservationPurchaseRecommendationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AccountId", required: false, type: .string), + AWSShapeMember(label: "PageSize", required: false, type: .integer), + AWSShapeMember(label: "AccountScope", required: false, type: .enum), + AWSShapeMember(label: "TermInYears", required: false, type: .enum), + AWSShapeMember(label: "Service", required: true, type: .string), + AWSShapeMember(label: "PaymentOption", required: false, type: .enum), + AWSShapeMember(label: "NextPageToken", required: false, type: .string), + AWSShapeMember(label: "ServiceSpecification", required: false, type: .structure), + AWSShapeMember(label: "LookbackPeriodInDays", required: false, type: .enum) + ] + /// The account ID that is associated with the recommendation. + public let accountId: String? + /// The number of recommendations that you want returned in a single response object. + public let pageSize: Int32? + /// 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. + public let accountScope: AccountScope? + /// The reservation term that you want recommendations for. + public let termInYears: TermInYears? + /// The specific service that you want recommendations for. + public let service: String + /// The reservation purchase option that you want recommendations for. + public let paymentOption: PaymentOption? + /// The pagination token that indicates the next set of results that you want to retrieve. + public let nextPageToken: String? + /// The hardware specifications for the service instances that you want recommendations for, such as standard or convertible EC2 instances. + public let serviceSpecification: ServiceSpecification? + /// The number of previous days that you want AWS to consider when it calculates your recommendations. + public let lookbackPeriodInDays: LookbackPeriodInDays? + + public init(accountId: String? = nil, pageSize: Int32? = nil, accountScope: AccountScope? = nil, termInYears: TermInYears? = nil, service: String, paymentOption: PaymentOption? = nil, nextPageToken: String? = nil, serviceSpecification: ServiceSpecification? = nil, lookbackPeriodInDays: LookbackPeriodInDays? = nil) { + self.accountId = accountId + self.pageSize = pageSize + self.accountScope = accountScope + self.termInYears = termInYears + self.service = service + self.paymentOption = paymentOption + self.nextPageToken = nextPageToken + self.serviceSpecification = serviceSpecification + self.lookbackPeriodInDays = lookbackPeriodInDays + } + + private enum CodingKeys: String, CodingKey { + case accountId = "AccountId" + case pageSize = "PageSize" + case accountScope = "AccountScope" + case termInYears = "TermInYears" + case service = "Service" + case paymentOption = "PaymentOption" + case nextPageToken = "NextPageToken" + case serviceSpecification = "ServiceSpecification" + case lookbackPeriodInDays = "LookbackPeriodInDays" + } + } + + public struct ReservationPurchaseRecommendation: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AccountScope", required: false, type: .enum), + AWSShapeMember(label: "TermInYears", required: false, type: .enum), + AWSShapeMember(label: "RecommendationSummary", required: false, type: .structure), + AWSShapeMember(label: "PaymentOption", required: false, type: .enum), + AWSShapeMember(label: "ServiceSpecification", required: false, type: .structure), + AWSShapeMember(label: "RecommendationDetails", required: false, type: .list), + AWSShapeMember(label: "LookbackPeriodInDays", required: false, type: .enum) + ] + /// 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. + public let accountScope: AccountScope? + /// The term of the reservation that you want recommendations for, in years. + public let termInYears: TermInYears? + /// A summary about the recommended purchase. + public let recommendationSummary: ReservationPurchaseRecommendationSummary? + /// The payment option for the reservation. For example, AllUpfront or NoUpfront. + public let paymentOption: PaymentOption? + /// Hardware specifications for the service that you want recommendations for. + public let serviceSpecification: ServiceSpecification? + /// Details about the recommended purchases. + public let recommendationDetails: [ReservationPurchaseRecommendationDetail]? + /// How many days of previous usage that AWS considers when making this recommendation. + public let lookbackPeriodInDays: LookbackPeriodInDays? + + public init(accountScope: AccountScope? = nil, termInYears: TermInYears? = nil, recommendationSummary: ReservationPurchaseRecommendationSummary? = nil, paymentOption: PaymentOption? = nil, serviceSpecification: ServiceSpecification? = nil, recommendationDetails: [ReservationPurchaseRecommendationDetail]? = nil, lookbackPeriodInDays: LookbackPeriodInDays? = nil) { + self.accountScope = accountScope + self.termInYears = termInYears + self.recommendationSummary = recommendationSummary + self.paymentOption = paymentOption + self.serviceSpecification = serviceSpecification + self.recommendationDetails = recommendationDetails + self.lookbackPeriodInDays = lookbackPeriodInDays + } + + private enum CodingKeys: String, CodingKey { + case accountScope = "AccountScope" + case termInYears = "TermInYears" + case recommendationSummary = "RecommendationSummary" + case paymentOption = "PaymentOption" + case serviceSpecification = "ServiceSpecification" + case recommendationDetails = "RecommendationDetails" + case lookbackPeriodInDays = "LookbackPeriodInDays" + } + } + + public struct InstanceDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ESInstanceDetails", required: false, type: .structure), + AWSShapeMember(label: "RedshiftInstanceDetails", required: false, type: .structure), + AWSShapeMember(label: "EC2InstanceDetails", required: false, type: .structure), + AWSShapeMember(label: "ElastiCacheInstanceDetails", required: false, type: .structure), + AWSShapeMember(label: "RDSInstanceDetails", required: false, type: .structure) + ] + /// The Amazon ES instances that AWS recommends that you purchase. + public let eSInstanceDetails: ESInstanceDetails? + /// The Amazon Redshift instances that AWS recommends that you purchase. + public let redshiftInstanceDetails: RedshiftInstanceDetails? + /// The EC2 instances that AWS recommends that you purchase. + public let eC2InstanceDetails: EC2InstanceDetails? + /// The ElastiCache instances that AWS recommends that you purchase. + public let elastiCacheInstanceDetails: ElastiCacheInstanceDetails? + /// The RDS instances that AWS recommends that you purchase. + public let rDSInstanceDetails: RDSInstanceDetails? + + public init(eSInstanceDetails: ESInstanceDetails? = nil, redshiftInstanceDetails: RedshiftInstanceDetails? = nil, eC2InstanceDetails: EC2InstanceDetails? = nil, elastiCacheInstanceDetails: ElastiCacheInstanceDetails? = nil, rDSInstanceDetails: RDSInstanceDetails? = nil) { + self.eSInstanceDetails = eSInstanceDetails + self.redshiftInstanceDetails = redshiftInstanceDetails + self.eC2InstanceDetails = eC2InstanceDetails + self.elastiCacheInstanceDetails = elastiCacheInstanceDetails + self.rDSInstanceDetails = rDSInstanceDetails + } + + private enum CodingKeys: String, CodingKey { + case eSInstanceDetails = "ESInstanceDetails" + case redshiftInstanceDetails = "RedshiftInstanceDetails" + case eC2InstanceDetails = "EC2InstanceDetails" + case elastiCacheInstanceDetails = "ElastiCacheInstanceDetails" + case rDSInstanceDetails = "RDSInstanceDetails" + } + } + + public struct GetReservationPurchaseRecommendationResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Metadata", required: false, type: .structure), + AWSShapeMember(label: "Recommendations", required: false, type: .list), + AWSShapeMember(label: "NextPageToken", required: false, type: .string) + ] + /// Information about this specific recommendation call, such as the time stamp for when Cost Explorer generated this recommendation. + public let metadata: ReservationPurchaseRecommendationMetadata? + /// Recommendations for reservations to purchase. + public let recommendations: [ReservationPurchaseRecommendation]? + /// The pagination token for the next set of retrievable results. + public let nextPageToken: String? + + public init(metadata: ReservationPurchaseRecommendationMetadata? = nil, recommendations: [ReservationPurchaseRecommendation]? = nil, nextPageToken: String? = nil) { + self.metadata = metadata + self.recommendations = recommendations + self.nextPageToken = nextPageToken + } + + private enum CodingKeys: String, CodingKey { + case metadata = "Metadata" + case recommendations = "Recommendations" + case nextPageToken = "NextPageToken" + } + } + + public struct Group: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Metrics", required: false, type: .map), + AWSShapeMember(label: "Keys", required: false, type: .list) + ] + /// The metrics that are included in this group. + public let metrics: [String: MetricValue]? + /// The keys that are included in this group. + public let keys: [String]? + + public init(metrics: [String: MetricValue]? = nil, keys: [String]? = nil) { + self.metrics = metrics + self.keys = keys + } + + private enum CodingKeys: String, CodingKey { + case metrics = "Metrics" + case keys = "Keys" + } + } + + public struct GetReservationUtilizationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Filter", required: false, type: .structure), + AWSShapeMember(label: "GroupBy", required: false, type: .list), + AWSShapeMember(label: "TimePeriod", required: true, type: .structure), + AWSShapeMember(label: "Granularity", required: false, type: .enum), + AWSShapeMember(label: "NextPageToken", required: false, type: .string) + ] + /// 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. + public let filter: Expression? + /// Groups only by SUBSCRIPTION_ID. Metadata is included. + public let groupBy: [GroupDefinition]? + /// 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. + public let timePeriod: DateInterval + /// 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. + public let granularity: Granularity? + /// 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. + public let nextPageToken: String? + + public init(filter: Expression? = nil, groupBy: [GroupDefinition]? = nil, timePeriod: DateInterval, granularity: Granularity? = nil, nextPageToken: String? = nil) { + self.filter = filter + self.groupBy = groupBy + self.timePeriod = timePeriod + self.granularity = granularity + self.nextPageToken = nextPageToken + } + + private enum CodingKeys: String, CodingKey { + case filter = "Filter" + case groupBy = "GroupBy" + case timePeriod = "TimePeriod" + case granularity = "Granularity" + case nextPageToken = "NextPageToken" + } + } + + public enum Granularity: String, CustomStringConvertible, Codable { + case daily = "DAILY" + case monthly = "MONTHLY" + public var description: String { return self.rawValue } + } + + public enum GroupDefinitionType: String, CustomStringConvertible, Codable { + case dimension = "DIMENSION" + case tag = "TAG" + public var description: String { return self.rawValue } + } + + public enum Context: String, CustomStringConvertible, Codable { + case costAndUsage = "COST_AND_USAGE" + case reservations = "RESERVATIONS" + public var description: String { return self.rawValue } + } + + public struct GetReservationCoverageResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextPageToken", required: false, type: .string), + AWSShapeMember(label: "CoveragesByTime", required: true, type: .list), + AWSShapeMember(label: "Total", required: false, type: .structure) + ] + /// 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. + public let nextPageToken: String? + /// The amount of time that your reservations covered. + public let coveragesByTime: [CoverageByTime] + /// The total amount of instance usage that is covered by a reservation. + public let total: Coverage? + + public init(nextPageToken: String? = nil, coveragesByTime: [CoverageByTime], total: Coverage? = nil) { + self.nextPageToken = nextPageToken + self.coveragesByTime = coveragesByTime + self.total = total + } + + private enum CodingKeys: String, CodingKey { + case nextPageToken = "NextPageToken" + case coveragesByTime = "CoveragesByTime" + case total = "Total" + } + } + + public enum LookbackPeriodInDays: String, CustomStringConvertible, Codable { + case sevenDays = "SEVEN_DAYS" + case thirtyDays = "THIRTY_DAYS" + case sixtyDays = "SIXTY_DAYS" + public var description: String { return self.rawValue } + } + + public struct ReservationPurchaseRecommendationDetail: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaximumNormalizedUnitsUsedPerHour", required: false, type: .string), + AWSShapeMember(label: "AverageNormalizedUnitsUsedPerHour", required: false, type: .string), + AWSShapeMember(label: "MinimumNormalizedUnitsUsedPerHour", required: false, type: .string), + AWSShapeMember(label: "InstanceDetails", required: false, type: .structure), + AWSShapeMember(label: "RecommendedNumberOfInstancesToPurchase", required: false, type: .string), + AWSShapeMember(label: "MinimumNumberOfInstancesUsedPerHour", required: false, type: .string), + AWSShapeMember(label: "EstimatedMonthlyOnDemandCost", required: false, type: .string), + AWSShapeMember(label: "EstimatedMonthlySavingsAmount", required: false, type: .string), + AWSShapeMember(label: "EstimatedBreakEvenInMonths", required: false, type: .string), + AWSShapeMember(label: "RecommendedNormalizedUnitsToPurchase", required: false, type: .string), + AWSShapeMember(label: "EstimatedMonthlySavingsPercentage", required: false, type: .string), + AWSShapeMember(label: "AverageNumberOfInstancesUsedPerHour", required: false, type: .string), + AWSShapeMember(label: "UpfrontCost", required: false, type: .string), + AWSShapeMember(label: "RecurringStandardMonthlyCost", required: false, type: .string), + AWSShapeMember(label: "MaximumNumberOfInstancesUsedPerHour", required: false, type: .string), + AWSShapeMember(label: "CurrencyCode", required: false, type: .string), + AWSShapeMember(label: "AverageUtilization", required: false, type: .string), + AWSShapeMember(label: "EstimatedReservationCostForLookbackPeriod", required: false, type: .string) + ] + /// 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. + public let maximumNormalizedUnitsUsedPerHour: String? + /// 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. + public let averageNormalizedUnitsUsedPerHour: String? + /// The minimum number of hours that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases. + public let minimumNormalizedUnitsUsedPerHour: String? + /// Details about the instances that AWS recommends that you purchase. + public let instanceDetails: InstanceDetails? + /// The number of instances that AWS recommends that you purchase. + public let recommendedNumberOfInstancesToPurchase: String? + /// The minimum number of instances that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases. + public let minimumNumberOfInstancesUsedPerHour: String? + /// How much AWS estimates that you spend on On-Demand Instances in a month. + public let estimatedMonthlyOnDemandCost: String? + /// How much AWS estimates that this specific recommendation could save you in a month. + public let estimatedMonthlySavingsAmount: String? + /// How long AWS estimates that it takes for this instance to start saving you money, in months. + public let estimatedBreakEvenInMonths: String? + /// The number of normalized units that AWS recommends that you purchase. + public let recommendedNormalizedUnitsToPurchase: String? + /// How much AWS estimates that this specific recommendation could save you in a month, as a percentage of your overall costs. + public let estimatedMonthlySavingsPercentage: String? + /// The average number of instances that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases. + public let averageNumberOfInstancesUsedPerHour: String? + /// How much purchasing this instance costs you upfront. + public let upfrontCost: String? + /// How much purchasing this instance costs you on a monthly basis. + public let recurringStandardMonthlyCost: String? + /// The maximum number of instances that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases. + public let maximumNumberOfInstancesUsedPerHour: String? + /// The currency code that AWS used to calculate the costs for this instance. + public let currencyCode: String? + /// The average utilization of your instances. AWS uses this to calculate your recommended reservation purchases. + public let averageUtilization: String? + /// How much AWS estimates that you would have spent for all usage during the specified historical period if you had had a reservation. + public let estimatedReservationCostForLookbackPeriod: String? + + public init(maximumNormalizedUnitsUsedPerHour: String? = nil, averageNormalizedUnitsUsedPerHour: String? = nil, minimumNormalizedUnitsUsedPerHour: String? = nil, instanceDetails: InstanceDetails? = nil, recommendedNumberOfInstancesToPurchase: String? = nil, minimumNumberOfInstancesUsedPerHour: String? = nil, estimatedMonthlyOnDemandCost: String? = nil, estimatedMonthlySavingsAmount: String? = nil, estimatedBreakEvenInMonths: String? = nil, recommendedNormalizedUnitsToPurchase: String? = nil, estimatedMonthlySavingsPercentage: String? = nil, averageNumberOfInstancesUsedPerHour: String? = nil, upfrontCost: String? = nil, recurringStandardMonthlyCost: String? = nil, maximumNumberOfInstancesUsedPerHour: String? = nil, currencyCode: String? = nil, averageUtilization: String? = nil, estimatedReservationCostForLookbackPeriod: String? = nil) { + self.maximumNormalizedUnitsUsedPerHour = maximumNormalizedUnitsUsedPerHour + self.averageNormalizedUnitsUsedPerHour = averageNormalizedUnitsUsedPerHour + self.minimumNormalizedUnitsUsedPerHour = minimumNormalizedUnitsUsedPerHour + self.instanceDetails = instanceDetails + self.recommendedNumberOfInstancesToPurchase = recommendedNumberOfInstancesToPurchase + self.minimumNumberOfInstancesUsedPerHour = minimumNumberOfInstancesUsedPerHour + self.estimatedMonthlyOnDemandCost = estimatedMonthlyOnDemandCost + self.estimatedMonthlySavingsAmount = estimatedMonthlySavingsAmount + self.estimatedBreakEvenInMonths = estimatedBreakEvenInMonths + self.recommendedNormalizedUnitsToPurchase = recommendedNormalizedUnitsToPurchase + self.estimatedMonthlySavingsPercentage = estimatedMonthlySavingsPercentage + self.averageNumberOfInstancesUsedPerHour = averageNumberOfInstancesUsedPerHour + self.upfrontCost = upfrontCost + self.recurringStandardMonthlyCost = recurringStandardMonthlyCost + self.maximumNumberOfInstancesUsedPerHour = maximumNumberOfInstancesUsedPerHour + self.currencyCode = currencyCode + self.averageUtilization = averageUtilization + self.estimatedReservationCostForLookbackPeriod = estimatedReservationCostForLookbackPeriod + } + + private enum CodingKeys: String, CodingKey { + case maximumNormalizedUnitsUsedPerHour = "MaximumNormalizedUnitsUsedPerHour" + case averageNormalizedUnitsUsedPerHour = "AverageNormalizedUnitsUsedPerHour" + case minimumNormalizedUnitsUsedPerHour = "MinimumNormalizedUnitsUsedPerHour" + case instanceDetails = "InstanceDetails" + case recommendedNumberOfInstancesToPurchase = "RecommendedNumberOfInstancesToPurchase" + case minimumNumberOfInstancesUsedPerHour = "MinimumNumberOfInstancesUsedPerHour" + case estimatedMonthlyOnDemandCost = "EstimatedMonthlyOnDemandCost" + case estimatedMonthlySavingsAmount = "EstimatedMonthlySavingsAmount" + case estimatedBreakEvenInMonths = "EstimatedBreakEvenInMonths" + case recommendedNormalizedUnitsToPurchase = "RecommendedNormalizedUnitsToPurchase" + case estimatedMonthlySavingsPercentage = "EstimatedMonthlySavingsPercentage" + case averageNumberOfInstancesUsedPerHour = "AverageNumberOfInstancesUsedPerHour" + case upfrontCost = "UpfrontCost" + case recurringStandardMonthlyCost = "RecurringStandardMonthlyCost" + case maximumNumberOfInstancesUsedPerHour = "MaximumNumberOfInstancesUsedPerHour" + case currencyCode = "CurrencyCode" + case averageUtilization = "AverageUtilization" + case estimatedReservationCostForLookbackPeriod = "EstimatedReservationCostForLookbackPeriod" + } + } + + public struct EC2Specification: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OfferingClass", required: false, type: .enum) + ] + /// Whether you want a recommendation for standard or convertible reservations. + public let offeringClass: OfferingClass? + + public init(offeringClass: OfferingClass? = nil) { + self.offeringClass = offeringClass + } + + private enum CodingKeys: String, CodingKey { + case offeringClass = "OfferingClass" + } + } + + public enum TermInYears: String, CustomStringConvertible, Codable { + case oneYear = "ONE_YEAR" + case threeYears = "THREE_YEARS" + public var description: String { return self.rawValue } + } + + public struct ResultByTime: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Estimated", required: false, type: .boolean), + AWSShapeMember(label: "TimePeriod", required: false, type: .structure), + AWSShapeMember(label: "Total", required: false, type: .map), + AWSShapeMember(label: "Groups", required: false, type: .list) + ] + /// Whether this result is estimated. + public let estimated: Bool? + /// The time period covered by a result. + public let timePeriod: DateInterval? + /// The total amount of cost or usage accrued during the time period. + public let total: [String: MetricValue]? + /// The groups that are included in this time period. + public let groups: [Group]? + + public init(estimated: Bool? = nil, timePeriod: DateInterval? = nil, total: [String: MetricValue]? = nil, groups: [Group]? = nil) { + self.estimated = estimated + self.timePeriod = timePeriod + self.total = total + self.groups = groups + } + + private enum CodingKeys: String, CodingKey { + case estimated = "Estimated" + case timePeriod = "TimePeriod" + case total = "Total" + case groups = "Groups" + } + } + + public struct DateInterval: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Start", required: true, type: .string), + AWSShapeMember(label: "End", required: true, type: .string) + ] + /// 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. + public let start: String + /// 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. + public let end: String + + public init(start: String, end: String) { + self.start = start + self.end = end + } + + private enum CodingKeys: String, CodingKey { + case start = "Start" + case end = "End" + } + } + public struct GetCostAndUsageRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Metrics", required: false, type: .list), @@ -40,15 +889,15 @@ extension Ce { AWSShapeMember(label: "Granularity", required: false, type: .enum), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// Which metrics are returned in the query. For more information about blended and unblended rates, see https://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/. Valid values are 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. + /// 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. public let metrics: [String]? - /// Filters AWS costs by different dimensions. For example, you can specify Service and Linked Account and get the costs 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 the Expression object or More Examples. + /// 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. public let filter: Expression? - /// 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, LINKED_ACCCOUNT, OPERATION, PURCHASE_TYPE, SERVICE, USAGE_TYPE, TAGS, and PLATFORM. + /// 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. public let groupBy: [GroupDefinition]? /// 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. public let timePeriod: DateInterval? - /// Sets the AWS cost granularity to MONTHLY or DAILY. + /// 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. public let granularity: Granularity? /// 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. public let nextPageToken: String? @@ -93,55 +942,39 @@ extension Ce { } } - public struct ResultByTime: AWSShape { + public struct GetReservationCoverageRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Estimated", required: false, type: .boolean), - AWSShapeMember(label: "TimePeriod", required: false, type: .structure), - AWSShapeMember(label: "Total", required: false, type: .map), - AWSShapeMember(label: "Groups", required: false, type: .list) + AWSShapeMember(label: "Filter", required: false, type: .structure), + AWSShapeMember(label: "GroupBy", required: false, type: .list), + AWSShapeMember(label: "TimePeriod", required: true, type: .structure), + AWSShapeMember(label: "Granularity", required: false, type: .enum), + AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// Whether or not this result is estimated. - public let estimated: Bool? - /// The time period covered by a result. - public let timePeriod: DateInterval? - /// The total amount of cost or usage accrued during the time period. - public let total: [String: MetricValue]? - /// The groups that are included in this time period. - public let groups: [Group]? + /// 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. + public let filter: Expression? + /// 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 + public let groupBy: [GroupDefinition]? + /// 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. + public let timePeriod: DateInterval + /// 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. + public let granularity: Granularity? + /// 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. + public let nextPageToken: String? - public init(estimated: Bool? = nil, timePeriod: DateInterval? = nil, total: [String: MetricValue]? = nil, groups: [Group]? = nil) { - self.estimated = estimated + public init(filter: Expression? = nil, groupBy: [GroupDefinition]? = nil, timePeriod: DateInterval, granularity: Granularity? = nil, nextPageToken: String? = nil) { + self.filter = filter + self.groupBy = groupBy self.timePeriod = timePeriod - self.total = total - self.groups = groups + self.granularity = granularity + self.nextPageToken = nextPageToken } private enum CodingKeys: String, CodingKey { - case estimated = "Estimated" + case filter = "Filter" + case groupBy = "GroupBy" case timePeriod = "TimePeriod" - case total = "Total" - case groups = "Groups" - } - } - - public struct DateInterval: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Start", required: true, type: .string), - AWSShapeMember(label: "End", required: true, type: .string) - ] - /// 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, then the cost and usage data is retrieved starting at 2017-01-01 up to the end date. - public let start: String - /// The end of the time period that you want the usage and costs for. The end date is exclusive. For example, if the end is 2017-05-01, then the cost and usage data is retrieved from the start date but not including 2017-05-01. - public let end: String - - public init(start: String, end: String) { - self.start = start - self.end = end - } - - private enum CodingKeys: String, CodingKey { - case start = "Start" - case end = "End" + case granularity = "Granularity" + case nextPageToken = "NextPageToken" } } @@ -153,11 +986,11 @@ extension Ce { AWSShapeMember(label: "Tags", required: false, type: .structure), AWSShapeMember(label: "And", required: false, type: .list) ] - /// Return results that match either Dimension. + /// Return results that match either Dimension object. public let or: [Expression]? /// The specific Dimension to use for Expression. public let dimensions: DimensionValues? - /// Return results that don't match Dimension. + /// Return results that don't match a Dimension object. public let not: Expression? /// The specific Tag to use for Expression. public let tags: TagValues? @@ -181,93 +1014,118 @@ extension Ce { } } - public struct GroupDefinition: AWSShape { + public struct Coverage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Type", required: false, type: .enum), - AWSShapeMember(label: "Key", required: false, type: .string) + AWSShapeMember(label: "CoverageHours", required: false, type: .structure) ] - /// The string that represents the type of group. - public let `type`: GroupDefinitionType? - /// The string that represents a key for a specified group. - public let key: String? + /// The amount of instance usage that a reservation covered, in hours. + public let coverageHours: CoverageHours? - public init(type: GroupDefinitionType? = nil, key: String? = nil) { - self.`type` = `type` - self.key = key + public init(coverageHours: CoverageHours? = nil) { + self.coverageHours = coverageHours } private enum CodingKeys: String, CodingKey { - case `type` = "Type" - case key = "Key" + case coverageHours = "CoverageHours" } } - public struct MetricValue: AWSShape { + public struct ReservationPurchaseRecommendationSummary: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Unit", required: false, type: .string), - AWSShapeMember(label: "Amount", required: false, type: .string) + AWSShapeMember(label: "TotalEstimatedMonthlySavingsPercentage", required: false, type: .string), + AWSShapeMember(label: "CurrencyCode", required: false, type: .string), + AWSShapeMember(label: "TotalEstimatedMonthlySavingsAmount", required: false, type: .string) ] - /// The unit that the metric is given in. - public let unit: String? - /// The actual number that represents the metric. - public let amount: String? - - public init(unit: String? = nil, amount: String? = nil) { - self.unit = unit - self.amount = amount + /// The total amount that AWS estimates that this recommendation could save you in a month, as a percentage of your costs. + public let totalEstimatedMonthlySavingsPercentage: String? + /// The currency code used for this recommendation. + public let currencyCode: String? + /// The total amount that AWS estimates that this recommendation could save you in a month. + public let totalEstimatedMonthlySavingsAmount: String? + + public init(totalEstimatedMonthlySavingsPercentage: String? = nil, currencyCode: String? = nil, totalEstimatedMonthlySavingsAmount: String? = nil) { + self.totalEstimatedMonthlySavingsPercentage = totalEstimatedMonthlySavingsPercentage + self.currencyCode = currencyCode + self.totalEstimatedMonthlySavingsAmount = totalEstimatedMonthlySavingsAmount } private enum CodingKeys: String, CodingKey { - case unit = "Unit" - case amount = "Amount" + case totalEstimatedMonthlySavingsPercentage = "TotalEstimatedMonthlySavingsPercentage" + case currencyCode = "CurrencyCode" + case totalEstimatedMonthlySavingsAmount = "TotalEstimatedMonthlySavingsAmount" } } - public struct GetTagsRequest: AWSShape { + public struct RDSInstanceDetails: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TagKey", required: false, type: .string), - AWSShapeMember(label: "TimePeriod", required: true, type: .structure), - AWSShapeMember(label: "SearchString", required: false, type: .string), - AWSShapeMember(label: "NextPageToken", required: false, type: .string) + AWSShapeMember(label: "Family", required: false, type: .string), + AWSShapeMember(label: "CurrentGeneration", required: false, type: .boolean), + AWSShapeMember(label: "SizeFlexEligible", required: false, type: .boolean), + AWSShapeMember(label: "DatabaseEngine", required: false, type: .string), + AWSShapeMember(label: "Region", required: false, type: .string), + AWSShapeMember(label: "LicenseModel", required: false, type: .string), + AWSShapeMember(label: "InstanceType", required: false, type: .string), + AWSShapeMember(label: "DeploymentOption", required: false, type: .string), + AWSShapeMember(label: "DatabaseEdition", required: false, type: .string) ] - /// The key of the tag that you want to return values for. - public let tagKey: String? - /// 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. - public let timePeriod: DateInterval - /// The value that you want to search for. - public let searchString: String? - /// 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. - public let nextPageToken: String? - - public init(tagKey: String? = nil, timePeriod: DateInterval, searchString: String? = nil, nextPageToken: String? = nil) { - self.tagKey = tagKey - self.timePeriod = timePeriod - self.searchString = searchString - self.nextPageToken = nextPageToken + /// The instance family of the recommended reservation. + public let family: String? + /// Whether the recommendation is for a current generation instance. + public let currentGeneration: Bool? + /// Whether the recommended reservation is size flexible. + public let sizeFlexEligible: Bool? + /// The database engine that the recommended reservation supports. + public let databaseEngine: String? + /// The AWS Region of the recommended reservation. + public let region: String? + /// The license model that the recommended reservation supports. + public let licenseModel: String? + /// The type of instance that AWS recommends. + public let instanceType: String? + /// Whether the recommendation is for a reservation in a single Availability Zone or a reservation with a backup in a second Availability Zone. + public let deploymentOption: String? + /// The database edition that the recommended reservation supports. + public let databaseEdition: String? + + public init(family: String? = nil, currentGeneration: Bool? = nil, sizeFlexEligible: Bool? = nil, databaseEngine: String? = nil, region: String? = nil, licenseModel: String? = nil, instanceType: String? = nil, deploymentOption: String? = nil, databaseEdition: String? = nil) { + self.family = family + self.currentGeneration = currentGeneration + self.sizeFlexEligible = sizeFlexEligible + self.databaseEngine = databaseEngine + self.region = region + self.licenseModel = licenseModel + self.instanceType = instanceType + self.deploymentOption = deploymentOption + self.databaseEdition = databaseEdition } private enum CodingKeys: String, CodingKey { - case tagKey = "TagKey" - case timePeriod = "TimePeriod" - case searchString = "SearchString" - case nextPageToken = "NextPageToken" + case family = "Family" + case currentGeneration = "CurrentGeneration" + case sizeFlexEligible = "SizeFlexEligible" + case databaseEngine = "DatabaseEngine" + case region = "Region" + case licenseModel = "LicenseModel" + case instanceType = "InstanceType" + case deploymentOption = "DeploymentOption" + case databaseEdition = "DatabaseEdition" } } - public struct UtilizationByTime: AWSShape { + public struct CoverageByTime: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TimePeriod", required: false, type: .structure), AWSShapeMember(label: "Groups", required: false, type: .list), AWSShapeMember(label: "Total", required: false, type: .structure) ] - /// The period of time over which this utilization was used. + /// The period over which this coverage was used. public let timePeriod: DateInterval? - /// The groups that are included in this utilization result. - public let groups: [ReservationUtilizationGroup]? - /// The total number of RI hours that were used. - public let total: ReservationAggregates? + /// The groups of instances that are covered by a reservation. + public let groups: [ReservationCoverageGroup]? + /// The total reservation coverage, in hours. + public let total: Coverage? - public init(timePeriod: DateInterval? = nil, groups: [ReservationUtilizationGroup]? = nil, total: ReservationAggregates? = nil) { + public init(timePeriod: DateInterval? = nil, groups: [ReservationCoverageGroup]? = nil, total: Coverage? = nil) { self.timePeriod = timePeriod self.groups = groups self.total = total @@ -280,65 +1138,25 @@ extension Ce { } } - public struct ReservationAggregates: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "UtilizationPercentage", required: false, type: .string), - AWSShapeMember(label: "TotalActualHours", required: false, type: .string), - AWSShapeMember(label: "PurchasedHours", required: false, type: .string), - AWSShapeMember(label: "UnusedHours", required: false, type: .string) - ] - /// The percentage of RI time that you used. - public let utilizationPercentage: String? - /// The total number of RI hours that you used. - public let totalActualHours: String? - /// How many RI hours you purchased. - public let purchasedHours: String? - /// The number of RI hours that you didn't use. - public let unusedHours: String? - - public init(utilizationPercentage: String? = nil, totalActualHours: String? = nil, purchasedHours: String? = nil, unusedHours: String? = nil) { - self.utilizationPercentage = utilizationPercentage - self.totalActualHours = totalActualHours - self.purchasedHours = purchasedHours - self.unusedHours = unusedHours - } - - private enum CodingKeys: String, CodingKey { - case utilizationPercentage = "UtilizationPercentage" - case totalActualHours = "TotalActualHours" - case purchasedHours = "PurchasedHours" - case unusedHours = "UnusedHours" - } + public enum OfferingClass: String, CustomStringConvertible, Codable { + case standard = "STANDARD" + case convertible = "CONVERTIBLE" + public var description: String { return self.rawValue } } - public struct GetTagsResponse: AWSShape { + public struct ServiceSpecification: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ReturnSize", required: true, type: .integer), - AWSShapeMember(label: "TotalSize", required: true, type: .integer), - AWSShapeMember(label: "Tags", required: true, type: .list), - AWSShapeMember(label: "NextPageToken", required: false, type: .string) + AWSShapeMember(label: "EC2Specification", required: false, type: .structure) ] - /// The number of query results that AWS returns at a time. - public let returnSize: Int32 - /// The total number of query results. - public let totalSize: Int32 - /// The tags that match your request. - public let tags: [String] - /// 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. - public let nextPageToken: String? + /// The EC2 hardware specifications that you want AWS to provide recommendations for. + public let eC2Specification: EC2Specification? - public init(returnSize: Int32, totalSize: Int32, tags: [String], nextPageToken: String? = nil) { - self.returnSize = returnSize - self.totalSize = totalSize - self.tags = tags - self.nextPageToken = nextPageToken + public init(eC2Specification: EC2Specification? = nil) { + self.eC2Specification = eC2Specification } private enum CodingKeys: String, CodingKey { - case returnSize = "ReturnSize" - case totalSize = "TotalSize" - case tags = "Tags" - case nextPageToken = "NextPageToken" + case eC2Specification = "EC2Specification" } } @@ -363,6 +1181,48 @@ extension Ce { } } + public struct ESInstanceDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CurrentGeneration", required: false, type: .boolean), + AWSShapeMember(label: "InstanceSize", required: false, type: .string), + AWSShapeMember(label: "SizeFlexEligible", required: false, type: .boolean), + AWSShapeMember(label: "InstanceClass", required: false, type: .string), + AWSShapeMember(label: "Region", required: false, type: .string) + ] + /// Whether the recommendation is for a current generation instance. + public let currentGeneration: Bool? + /// The size of instance that AWS recommends. + public let instanceSize: String? + /// Whether the recommended reservation is size flexible. + public let sizeFlexEligible: Bool? + /// The class of instance that AWS recommends. + public let instanceClass: String? + /// The AWS Region of the recommended reservation. + public let region: String? + + public init(currentGeneration: Bool? = nil, instanceSize: String? = nil, sizeFlexEligible: Bool? = nil, instanceClass: String? = nil, region: String? = nil) { + self.currentGeneration = currentGeneration + self.instanceSize = instanceSize + self.sizeFlexEligible = sizeFlexEligible + self.instanceClass = instanceClass + self.region = region + } + + private enum CodingKeys: String, CodingKey { + case currentGeneration = "CurrentGeneration" + case instanceSize = "InstanceSize" + case sizeFlexEligible = "SizeFlexEligible" + case instanceClass = "InstanceClass" + case region = "Region" + } + } + + public enum AccountScope: String, CustomStringConvertible, Codable { + case payer = "PAYER" + case linked = "LINKED" + public var description: String { return self.rawValue } + } + public enum Dimension: String, CustomStringConvertible, Codable { case az = "AZ" case instanceType = "INSTANCE_TYPE" @@ -379,6 +1239,11 @@ extension Ce { case scope = "SCOPE" case platform = "PLATFORM" case subscriptionId = "SUBSCRIPTION_ID" + case legalEntityName = "LEGAL_ENTITY_NAME" + case deploymentOption = "DEPLOYMENT_OPTION" + case databaseEngine = "DATABASE_ENGINE" + case cacheEngine = "CACHE_ENGINE" + case instanceTypeFamily = "INSTANCE_TYPE_FAMILY" public var description: String { return self.rawValue } } @@ -442,9 +1307,9 @@ extension Ce { AWSShapeMember(label: "SearchString", required: false, type: .string), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// The context for the call to GetDimensionValues. This can be RESERVED_INSTANCE or COST_AND_USAGE. The default value is COST_AND_USAGE. If the context is set to RESERVED_INSTANCE, the resulting dimension values can be used in the GetReservationUtilization action. 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 CostAndUsage, you can use the following dimensions for searching: AZ - The Availability Zone. An example is us-east-1a. InstanceType - The type of EC2 instance. An example is m4.xlarge. LinkedAccount - 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 Operation - The action performed. Examples include RunInstance and CreateBucket. PurchaseType - 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 DynamoDB. UsageType -The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues action includes a unit attribute, examples of which include GB and Hrs. UsageTypeGroup - The grouping of common usage types. An example is EC2: CloudWatch – Alarms. The response for this action includes a unit attribute. RecordType - The different types of charges such as RI fees, usage costs, tax refunds, and credits If you set the context to ReservedInstance, you can use the following dimensions for searching: AZ - The Availability Zone. An example is us-east-1a. InstanceType - The type of EC2 instance. An example is m4.xlarge. LinkedAccount - 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 operating system. Examples are Windows or Linux. Region - The AWS region. Scope - The scope of a reserved instance (RI). Values are regional or a single availability zone. Tenancy - The tenancy of a resource. Examples are shared or dedicated. + /// 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. public let context: Context? - /// The name of the dimension. Different Dimensionsare available for different Contexts. For more information, see Context. + /// The name of the dimension. Each Dimension is available for different a Context. For more information, see Context. public let dimension: Dimension /// 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. public let timePeriod: DateInterval @@ -479,7 +1344,7 @@ extension Ce { ] /// The number of results that AWS returned at one time. public let returnSize: Int32 - /// The filters that you used to filter your request. Some dimensions are available only for a specific context: If you set the context to CostAndUsage, you can use the following dimensions for searching: AZ - The Availability Zone. An example is us-east-1a. InstanceType - The type of EC2 instance. An example is m4.xlarge. LinkedAccount - 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 Operation - The action performed. Examples include RunInstance and CreateBucket. PurchaseType - 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 DynamoDB. UsageType -The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues action includes a unit attribute, examples of which include GB and Hrs. UsageTypeGroup - The grouping of common usage types. An example is EC2: CloudWatch – Alarms. The response for this action includes a unit attribute. RecordType - The different types of charges such as RI fees, usage costs, tax refunds, and credits If you set the context to ReservedInstance, you can use the following dimensions for searching: AZ - The Availability Zone. An example is us-east-1a. InstanceType - The type of EC2 instance. An example is m4.xlarge. LinkedAccount - 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 operating system. Examples are Windows or Linux. Region - The AWS region. Scope - The scope of a reserved instance (RI). Values are regional or a single availability zone. Tenancy - The tenancy of a resource. Examples are shared or dedicated. + /// 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. public let dimensionValues: [DimensionValuesWithAttributes] /// The total number of search results. public let totalSize: Int32 @@ -501,69 +1366,6 @@ extension Ce { } } - public struct Group: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Metrics", required: false, type: .map), - AWSShapeMember(label: "Keys", required: false, type: .list) - ] - /// The metrics included in this group. - public let metrics: [String: MetricValue]? - /// The keys included in this group. - public let keys: [String]? - - public init(metrics: [String: MetricValue]? = nil, keys: [String]? = nil) { - self.metrics = metrics - self.keys = keys - } - - private enum CodingKeys: String, CodingKey { - case metrics = "Metrics" - case keys = "Keys" - } - } - - public struct GetReservationUtilizationRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Filter", required: false, type: .structure), - AWSShapeMember(label: "GroupBy", required: false, type: .list), - AWSShapeMember(label: "TimePeriod", required: true, type: .structure), - AWSShapeMember(label: "Granularity", required: false, type: .enum), - AWSShapeMember(label: "NextPageToken", required: false, type: .string) - ] - /// Filters utilization data by using different dimensions. 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. - public let filter: Expression? - /// Groups only by SubscriptionId. Metadata is included. - public let groupBy: [GroupDefinition]? - /// Sets the start and end dates for retrieving reserve 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. - public let timePeriod: DateInterval - /// Sets the AWS cost granularity to MONTHLY or DAILY. If both GroupBy and granularity are not set, GetReservationUtilization defaults to DAILY. If GroupBy is set, Granularity can't be set, and the response object doesn't include MONTHLY or DAILY granularity. - public let granularity: Granularity? - /// 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. - public let nextPageToken: String? - - public init(filter: Expression? = nil, groupBy: [GroupDefinition]? = nil, timePeriod: DateInterval, granularity: Granularity? = nil, nextPageToken: String? = nil) { - self.filter = filter - self.groupBy = groupBy - self.timePeriod = timePeriod - self.granularity = granularity - self.nextPageToken = nextPageToken - } - - private enum CodingKeys: String, CodingKey { - case filter = "Filter" - case groupBy = "GroupBy" - case timePeriod = "TimePeriod" - case granularity = "Granularity" - case nextPageToken = "NextPageToken" - } - } - - public enum Granularity: String, CustomStringConvertible, Codable { - case daily = "DAILY" - case monthly = "MONTHLY" - public var description: String { return self.rawValue } - } - public struct GetReservationUtilizationResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UtilizationsByTime", required: true, type: .list), @@ -590,16 +1392,4 @@ extension Ce { } } - public enum GroupDefinitionType: String, CustomStringConvertible, Codable { - case dimension = "DIMENSION" - case tag = "TAG" - public var description: String { return self.rawValue } - } - - public enum Context: String, CustomStringConvertible, Codable { - case costAndUsage = "COST_AND_USAGE" - case reservations = "RESERVATIONS" - public var description: String { return self.rawValue } - } - } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/clouddirectory/Clouddirectory_API.swift b/Sources/AWSSDKSwift/Services/clouddirectory/Clouddirectory_API.swift index ad53266a5d7..a01f618dafb 100644 --- a/Sources/AWSSDKSwift/Services/clouddirectory/Clouddirectory_API.swift +++ b/Sources/AWSSDKSwift/Services/clouddirectory/Clouddirectory_API.swift @@ -17,14 +17,14 @@ public struct Clouddirectory { region: region, service: "clouddirectory", serviceProtocol: ServiceProtocol(type: .restjson), - apiVersion: "2016-05-10", + apiVersion: "2017-01-11", endpoint: endpoint, middlewares: [], possibleErrorTypes: [ClouddirectoryError.self] ) } - /// Publishes a development schema with a version. If description and attributes are specified, PublishSchema overrides the development schema description and attributes. If not, the development schema description and attributes are used. + /// Publishes a development schema with a major version and a recommended minor version. public func publishSchema(_ input: PublishSchemaRequest) throws -> PublishSchemaResponse { return try client.send(operation: "PublishSchema", path: "/amazonclouddirectory/2017-01-11/schema/publish", httpMethod: "PUT", input: input) } @@ -44,7 +44,7 @@ public struct Clouddirectory { return try client.send(operation: "AttachObject", path: "/amazonclouddirectory/2017-01-11/object/attach", httpMethod: "PUT", input: input) } - /// Copies the input published schema into the Directory with the same name and version as that of the published schema . + /// Copies the input published schema, at the specified version, into the Directory with the same name and version as that of the published schema. public func applySchema(_ input: ApplySchemaRequest) throws -> ApplySchemaResponse { return try client.send(operation: "ApplySchema", path: "/amazonclouddirectory/2017-01-11/schema/apply", httpMethod: "PUT", input: input) } @@ -64,6 +64,11 @@ public struct Clouddirectory { return try client.send(operation: "ListObjectParentPaths", path: "/amazonclouddirectory/2017-01-11/object/parentpaths", httpMethod: "POST", input: input) } + /// Returns current applied schema version ARN, including the minor version in use. + public func getAppliedSchemaVersion(_ input: GetAppliedSchemaVersionRequest) throws -> GetAppliedSchemaVersionResponse { + return try client.send(operation: "GetAppliedSchemaVersion", path: "/amazonclouddirectory/2017-01-11/schema/getappliedschema", httpMethod: "POST", input: input) + } + /// 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. public func listTagsForResource(_ input: ListTagsForResourceRequest) throws -> ListTagsForResourceResponse { return try client.send(operation: "ListTagsForResource", path: "/amazonclouddirectory/2017-01-11/tags", httpMethod: "POST", input: input) @@ -84,7 +89,7 @@ public struct Clouddirectory { return try client.send(operation: "ListDevelopmentSchemaArns", path: "/amazonclouddirectory/2017-01-11/schema/development", httpMethod: "POST", input: input) } - /// Lists indices attached to an object. + /// Lists indices attached to the specified object. public func listAttachedIndices(_ input: ListAttachedIndicesRequest) throws -> ListAttachedIndicesResponse { return try client.send(operation: "ListAttachedIndices", path: "/amazonclouddirectory/2017-01-11/object/indices", httpMethod: "POST", input: input) } @@ -109,7 +114,7 @@ public struct Clouddirectory { return try client.send(operation: "BatchRead", path: "/amazonclouddirectory/2017-01-11/batchread", httpMethod: "POST", input: input) } - /// Adds a new Facet to an object. + /// Adds a new Facet to an object. An object can have more than one facet applied on it. public func addFacetToObject(_ input: AddFacetToObjectRequest) throws -> AddFacetToObjectResponse { return try client.send(operation: "AddFacetToObject", path: "/amazonclouddirectory/2017-01-11/object/facets", httpMethod: "PUT", input: input) } @@ -129,7 +134,7 @@ public struct Clouddirectory { return try client.send(operation: "DetachObject", path: "/amazonclouddirectory/2017-01-11/object/detach", httpMethod: "PUT", input: input) } - /// Retrieves each published schema Amazon Resource Name (ARN). + /// 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. public func listPublishedSchemaArns(_ input: ListPublishedSchemaArnsRequest) throws -> ListPublishedSchemaArnsResponse { return try client.send(operation: "ListPublishedSchemaArns", path: "/amazonclouddirectory/2017-01-11/schema/published", httpMethod: "POST", input: input) } @@ -144,6 +149,11 @@ public struct Clouddirectory { return try client.send(operation: "DisableDirectory", path: "/amazonclouddirectory/2017-01-11/directory/disable", httpMethod: "PUT", input: input) } + /// 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. + public func updateLinkAttributes(_ input: UpdateLinkAttributesRequest) throws -> UpdateLinkAttributesResponse { + return try client.send(operation: "UpdateLinkAttributes", path: "/amazonclouddirectory/2017-01-11/typedlink/attributes/update", httpMethod: "POST", input: input) + } + /// Updates a given object's attributes. public func updateObjectAttributes(_ input: UpdateObjectAttributesRequest) throws -> UpdateObjectAttributesResponse { return try client.send(operation: "UpdateObjectAttributes", path: "/amazonclouddirectory/2017-01-11/object/update", httpMethod: "PUT", input: input) @@ -154,6 +164,16 @@ public struct Clouddirectory { return try client.send(operation: "DeleteSchema", path: "/amazonclouddirectory/2017-01-11/schema", httpMethod: "PUT", input: input) } + /// 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. + public func listManagedSchemaArns(_ input: ListManagedSchemaArnsRequest) throws -> ListManagedSchemaArnsResponse { + return try client.send(operation: "ListManagedSchemaArns", path: "/amazonclouddirectory/2017-01-11/schema/managed", httpMethod: "POST", input: input) + } + + /// Retrieves attributes within a facet that are associated with an object. + public func getObjectAttributes(_ input: GetObjectAttributesRequest) throws -> GetObjectAttributesResponse { + return try client.send(operation: "GetObjectAttributes", path: "/amazonclouddirectory/2017-01-11/object/attributes/get", httpMethod: "POST", input: input) + } + /// An API operation for adding tags to a resource. public func tagResource(_ input: TagResourceRequest) throws -> TagResourceResponse { return try client.send(operation: "TagResource", path: "/amazonclouddirectory/2017-01-11/tags/add", httpMethod: "PUT", input: input) @@ -189,6 +209,16 @@ public struct Clouddirectory { return try client.send(operation: "ListTypedLinkFacetNames", path: "/amazonclouddirectory/2017-01-11/typedlink/facet/list", httpMethod: "POST", input: input) } + /// 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. + public func upgradeAppliedSchema(_ input: UpgradeAppliedSchemaRequest) throws -> UpgradeAppliedSchemaResponse { + return try client.send(operation: "UpgradeAppliedSchema", path: "/amazonclouddirectory/2017-01-11/schema/upgradeapplied", httpMethod: "PUT", input: input) + } + + /// Upgrades a published schema under a new minor version revision using the current contents of DevelopmentSchemaArn. + public func upgradePublishedSchema(_ input: UpgradePublishedSchemaRequest) throws -> UpgradePublishedSchemaResponse { + return try client.send(operation: "UpgradePublishedSchema", path: "/amazonclouddirectory/2017-01-11/schema/upgradepublished", httpMethod: "PUT", input: input) + } + /// Lists all attributes that are associated with an object. public func listObjectAttributes(_ input: ListObjectAttributesRequest) throws -> ListObjectAttributesResponse { return try client.send(operation: "ListObjectAttributes", path: "/amazonclouddirectory/2017-01-11/object/attributes", httpMethod: "POST", input: input) @@ -209,7 +239,7 @@ public struct Clouddirectory { return try client.send(operation: "ListPolicyAttachments", path: "/amazonclouddirectory/2017-01-11/policy/attachment", httpMethod: "POST", input: input) } - /// Lists schemas applied to a directory. + /// Lists schema major versions applied to a directory. If SchemaArn is provided, lists the minor version. public func listAppliedSchemaArns(_ input: ListAppliedSchemaArnsRequest) throws -> ListAppliedSchemaArnsResponse { return try client.send(operation: "ListAppliedSchemaArns", path: "/amazonclouddirectory/2017-01-11/schema/applied", httpMethod: "POST", input: input) } @@ -234,7 +264,7 @@ public struct Clouddirectory { return try client.send(operation: "DeleteTypedLinkFacet", path: "/amazonclouddirectory/2017-01-11/typedlink/facet/delete", httpMethod: "PUT", input: input) } - /// Performs all the write operations in a batch. Either all the operations succeed or none. Batch writes supports only object-related operations. + /// Performs all the write operations in a batch. Either all the operations succeed or none. public func batchWrite(_ input: BatchWriteRequest) throws -> BatchWriteResponse { return try client.send(operation: "BatchWrite", path: "/amazonclouddirectory/2017-01-11/batchwrite", httpMethod: "PUT", input: input) } @@ -284,6 +314,11 @@ public struct Clouddirectory { return try client.send(operation: "UntagResource", path: "/amazonclouddirectory/2017-01-11/tags/remove", httpMethod: "PUT", input: input) } + /// Retrieves attributes that are associated with a typed link. + public func getLinkAttributes(_ input: GetLinkAttributesRequest) throws -> GetLinkAttributesResponse { + return try client.send(operation: "GetLinkAttributes", path: "/amazonclouddirectory/2017-01-11/typedlink/attributes/get", httpMethod: "POST", input: input) + } + /// 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. public func listOutgoingTypedLinks(_ input: ListOutgoingTypedLinksRequest) throws -> ListOutgoingTypedLinksResponse { return try client.send(operation: "ListOutgoingTypedLinks", path: "/amazonclouddirectory/2017-01-11/typedlink/outgoing", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/clouddirectory/Clouddirectory_Error.swift b/Sources/AWSSDKSwift/Services/clouddirectory/Clouddirectory_Error.swift index b5b9f34df39..73b48cba8a1 100644 --- a/Sources/AWSSDKSwift/Services/clouddirectory/Clouddirectory_Error.swift +++ b/Sources/AWSSDKSwift/Services/clouddirectory/Clouddirectory_Error.swift @@ -17,6 +17,7 @@ public enum ClouddirectoryError: AWSErrorType { case invalidAttachmentException(message: String?) case facetValidationException(message: String?) case linkNameAlreadyInUseException(message: String?) + case schemaAlreadyExistsException(message: String?) case directoryDeletedException(message: String?) case facetNotFoundException(message: String?) case invalidNextTokenException(message: String?) @@ -26,15 +27,15 @@ public enum ClouddirectoryError: AWSErrorType { case facetAlreadyExistsException(message: String?) case invalidRuleException(message: String?) case invalidFacetUpdateException(message: String?) - case schemaAlreadyExistsException(message: String?) + case notNodeException(message: String?) case stillContainsLinksException(message: String?) case cannotListParentOfRootException(message: String?) case invalidSchemaDocException(message: String?) + case incompatibleSchemaException(message: String?) case notPolicyException(message: String?) case unsupportedIndexTypeException(message: String?) case batchWriteException(message: String?) case notIndexException(message: String?) - case notNodeException(message: String?) case facetInUseException(message: String?) case objectAlreadyDetachedException(message: String?) case indexedAttributeMissingException(message: String?) @@ -73,6 +74,8 @@ extension ClouddirectoryError { self = .facetValidationException(message: message) case "LinkNameAlreadyInUseException": self = .linkNameAlreadyInUseException(message: message) + case "SchemaAlreadyExistsException": + self = .schemaAlreadyExistsException(message: message) case "DirectoryDeletedException": self = .directoryDeletedException(message: message) case "FacetNotFoundException": @@ -91,14 +94,16 @@ extension ClouddirectoryError { self = .invalidRuleException(message: message) case "InvalidFacetUpdateException": self = .invalidFacetUpdateException(message: message) - case "SchemaAlreadyExistsException": - self = .schemaAlreadyExistsException(message: message) + case "NotNodeException": + self = .notNodeException(message: message) case "StillContainsLinksException": self = .stillContainsLinksException(message: message) case "CannotListParentOfRootException": self = .cannotListParentOfRootException(message: message) case "InvalidSchemaDocException": self = .invalidSchemaDocException(message: message) + case "IncompatibleSchemaException": + self = .incompatibleSchemaException(message: message) case "NotPolicyException": self = .notPolicyException(message: message) case "UnsupportedIndexTypeException": @@ -107,8 +112,6 @@ extension ClouddirectoryError { self = .batchWriteException(message: message) case "NotIndexException": self = .notIndexException(message: message) - case "NotNodeException": - self = .notNodeException(message: message) case "FacetInUseException": self = .facetInUseException(message: message) case "ObjectAlreadyDetachedException": diff --git a/Sources/AWSSDKSwift/Services/clouddirectory/Clouddirectory_Shapes.swift b/Sources/AWSSDKSwift/Services/clouddirectory/Clouddirectory_Shapes.swift index cd801d29524..b935932d8d8 100644 --- a/Sources/AWSSDKSwift/Services/clouddirectory/Clouddirectory_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/clouddirectory/Clouddirectory_Shapes.swift @@ -5,32 +5,53 @@ import AWSSDKSwiftCore extension Clouddirectory { + public struct LinkAttributeAction: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AttributeUpdateValue", required: false, type: .structure), + AWSShapeMember(label: "AttributeActionType", required: false, type: .enum) + ] + /// The value that you want to update to. + public let attributeUpdateValue: TypedAttributeValue? + /// A type that can be either UPDATE_OR_CREATE or DELETE. + public let attributeActionType: UpdateActionType? + + public init(attributeUpdateValue: TypedAttributeValue? = nil, attributeActionType: UpdateActionType? = nil) { + self.attributeUpdateValue = attributeUpdateValue + self.attributeActionType = attributeActionType + } + + private enum CodingKeys: String, CodingKey { + case attributeUpdateValue = "AttributeUpdateValue" + case attributeActionType = "AttributeActionType" + } + } + public struct FacetAttribute: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AttributeDefinition", required: false, type: .structure), AWSShapeMember(label: "AttributeReference", required: false, type: .structure), + AWSShapeMember(label: "AttributeDefinition", required: false, type: .structure), AWSShapeMember(label: "Name", required: true, type: .string), AWSShapeMember(label: "RequiredBehavior", required: false, type: .enum) ] - /// A facet attribute consists of either a definition or a reference. This structure contains the attribute definition. See Attribute References for more information. - public let attributeDefinition: FacetAttributeDefinition? /// An attribute reference that is associated with the attribute. See Attribute References for more information. public let attributeReference: FacetAttributeReference? + /// A facet attribute consists of either a definition or a reference. This structure contains the attribute definition. See Attribute References for more information. + public let attributeDefinition: FacetAttributeDefinition? /// The name of the facet attribute. public let name: String /// The required behavior of the FacetAttribute. public let requiredBehavior: RequiredAttributeBehavior? - public init(attributeDefinition: FacetAttributeDefinition? = nil, attributeReference: FacetAttributeReference? = nil, name: String, requiredBehavior: RequiredAttributeBehavior? = nil) { - self.attributeDefinition = attributeDefinition + public init(attributeReference: FacetAttributeReference? = nil, attributeDefinition: FacetAttributeDefinition? = nil, name: String, requiredBehavior: RequiredAttributeBehavior? = nil) { self.attributeReference = attributeReference + self.attributeDefinition = attributeDefinition self.name = name self.requiredBehavior = requiredBehavior } private enum CodingKeys: String, CodingKey { - case attributeDefinition = "AttributeDefinition" case attributeReference = "AttributeReference" + case attributeDefinition = "AttributeDefinition" case name = "Name" case requiredBehavior = "RequiredBehavior" } @@ -160,6 +181,27 @@ extension Clouddirectory { } + public struct UpgradeAppliedSchemaResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UpgradedSchemaArn", required: false, type: .string), + AWSShapeMember(label: "DirectoryArn", required: false, type: .string) + ] + /// The ARN of the upgraded schema that is returned as part of the response. + public let upgradedSchemaArn: String? + /// The ARN of the directory that is returned as part of the response. + public let directoryArn: String? + + public init(upgradedSchemaArn: String? = nil, directoryArn: String? = nil) { + self.upgradedSchemaArn = upgradedSchemaArn + self.directoryArn = directoryArn + } + + private enum CodingKeys: String, CodingKey { + case upgradedSchemaArn = "UpgradedSchemaArn" + case directoryArn = "DirectoryArn" + } + } + public struct AddFacetToObjectResponse: AWSShape { } @@ -251,7 +293,7 @@ extension Clouddirectory { ] /// The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns. public let directoryArn: String - /// Identifiers for the facet that you are adding to the object. + /// Identifiers for the facet that you are adding to the object. See SchemaFacet for details. public let schemaFacet: SchemaFacet /// Attributes on the facet that you are adding to the object. public let objectAttributeList: [AttributeKeyAndValue]? @@ -433,6 +475,27 @@ extension Clouddirectory { } } + public struct BatchUpdateLinkAttributes: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AttributeUpdates", required: true, type: .list), + AWSShapeMember(label: "TypedLinkSpecifier", required: true, type: .structure) + ] + /// The attributes update structure. + public let attributeUpdates: [LinkAttributeUpdate] + /// Allows a typed link specifier to be accepted as input. + public let typedLinkSpecifier: TypedLinkSpecifier + + public init(attributeUpdates: [LinkAttributeUpdate], typedLinkSpecifier: TypedLinkSpecifier) { + self.attributeUpdates = attributeUpdates + self.typedLinkSpecifier = typedLinkSpecifier + } + + private enum CodingKeys: String, CodingKey { + case attributeUpdates = "AttributeUpdates" + case typedLinkSpecifier = "TypedLinkSpecifier" + } + } + public struct BatchRemoveFacetFromObjectResponse: AWSShape { } @@ -459,7 +522,7 @@ extension Clouddirectory { AWSShapeMember(label: "ObjectReference", required: true, type: .structure), AWSShapeMember(label: "DirectoryArn", location: .header(locationName: "x-amz-data-partition"), required: true, type: .string) ] - /// The facet to remove. + /// The facet to remove. See SchemaFacet for details. public let schemaFacet: SchemaFacet /// A reference to the object to remove the facet from. public let objectReference: ObjectReference @@ -528,10 +591,11 @@ extension Clouddirectory { AWSShapeMember(label: "AttachTypedLink", required: false, type: .structure), AWSShapeMember(label: "AttachObject", required: false, type: .structure), AWSShapeMember(label: "DetachTypedLink", required: false, type: .structure), + AWSShapeMember(label: "UpdateLinkAttributes", required: false, type: .structure), AWSShapeMember(label: "CreateIndex", required: false, type: .structure), AWSShapeMember(label: "DeleteObject", required: false, type: .structure), - AWSShapeMember(label: "UpdateObjectAttributes", required: false, type: .structure), AWSShapeMember(label: "RemoveFacetFromObject", required: false, type: .structure), + AWSShapeMember(label: "UpdateObjectAttributes", required: false, type: .structure), AWSShapeMember(label: "DetachFromIndex", required: false, type: .structure), AWSShapeMember(label: "DetachPolicy", required: false, type: .structure), AWSShapeMember(label: "AttachPolicy", required: false, type: .structure), @@ -548,14 +612,16 @@ extension Clouddirectory { public let attachObject: BatchAttachObjectResponse? /// Detaches a typed link from a specified source and target object. For more information, see Typed link. public let detachTypedLink: BatchDetachTypedLinkResponse? + /// Represents the output of a BatchWrite response operation. + public let updateLinkAttributes: BatchUpdateLinkAttributesResponse? /// Creates an index object. See Indexing for more information. public let createIndex: BatchCreateIndexResponse? /// Deletes an object in a Directory. public let deleteObject: BatchDeleteObjectResponse? - /// Updates a given object’s attributes. - public let updateObjectAttributes: BatchUpdateObjectAttributesResponse? /// The result of a batch remove facet from object operation. public let removeFacetFromObject: BatchRemoveFacetFromObjectResponse? + /// Updates a given object’s attributes. + public let updateObjectAttributes: BatchUpdateObjectAttributesResponse? /// Detaches the specified object from the specified index. public let detachFromIndex: BatchDetachFromIndexResponse? /// Detaches a policy from a Directory. @@ -567,16 +633,17 @@ extension Clouddirectory { /// Attaches the specified object to the specified index. public let attachToIndex: BatchAttachToIndexResponse? - public init(addFacetToObject: BatchAddFacetToObjectResponse? = nil, detachObject: BatchDetachObjectResponse? = nil, attachTypedLink: BatchAttachTypedLinkResponse? = nil, attachObject: BatchAttachObjectResponse? = nil, detachTypedLink: BatchDetachTypedLinkResponse? = nil, createIndex: BatchCreateIndexResponse? = nil, deleteObject: BatchDeleteObjectResponse? = nil, updateObjectAttributes: BatchUpdateObjectAttributesResponse? = nil, removeFacetFromObject: BatchRemoveFacetFromObjectResponse? = nil, detachFromIndex: BatchDetachFromIndexResponse? = nil, detachPolicy: BatchDetachPolicyResponse? = nil, attachPolicy: BatchAttachPolicyResponse? = nil, createObject: BatchCreateObjectResponse? = nil, attachToIndex: BatchAttachToIndexResponse? = nil) { + public init(addFacetToObject: BatchAddFacetToObjectResponse? = nil, detachObject: BatchDetachObjectResponse? = nil, attachTypedLink: BatchAttachTypedLinkResponse? = nil, attachObject: BatchAttachObjectResponse? = nil, detachTypedLink: BatchDetachTypedLinkResponse? = nil, updateLinkAttributes: BatchUpdateLinkAttributesResponse? = nil, createIndex: BatchCreateIndexResponse? = nil, deleteObject: BatchDeleteObjectResponse? = nil, removeFacetFromObject: BatchRemoveFacetFromObjectResponse? = nil, updateObjectAttributes: BatchUpdateObjectAttributesResponse? = nil, detachFromIndex: BatchDetachFromIndexResponse? = nil, detachPolicy: BatchDetachPolicyResponse? = nil, attachPolicy: BatchAttachPolicyResponse? = nil, createObject: BatchCreateObjectResponse? = nil, attachToIndex: BatchAttachToIndexResponse? = nil) { self.addFacetToObject = addFacetToObject self.detachObject = detachObject self.attachTypedLink = attachTypedLink self.attachObject = attachObject self.detachTypedLink = detachTypedLink + self.updateLinkAttributes = updateLinkAttributes self.createIndex = createIndex self.deleteObject = deleteObject - self.updateObjectAttributes = updateObjectAttributes self.removeFacetFromObject = removeFacetFromObject + self.updateObjectAttributes = updateObjectAttributes self.detachFromIndex = detachFromIndex self.detachPolicy = detachPolicy self.attachPolicy = attachPolicy @@ -590,10 +657,11 @@ extension Clouddirectory { case attachTypedLink = "AttachTypedLink" case attachObject = "AttachObject" case detachTypedLink = "DetachTypedLink" + case updateLinkAttributes = "UpdateLinkAttributes" case createIndex = "CreateIndex" case deleteObject = "DeleteObject" - case updateObjectAttributes = "UpdateObjectAttributes" case removeFacetFromObject = "RemoveFacetFromObject" + case updateObjectAttributes = "UpdateObjectAttributes" case detachFromIndex = "DetachFromIndex" case detachPolicy = "DetachPolicy" case attachPolicy = "AttachPolicy" @@ -677,6 +745,12 @@ extension Clouddirectory { } } + public enum FacetStyle: String, CustomStringConvertible, Codable { + case `static` = "STATIC" + case dynamic = "DYNAMIC" + public var description: String { return self.rawValue } + } + public struct BatchListObjectParentPaths: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ObjectReference", required: true, type: .structure), @@ -722,7 +796,7 @@ extension Clouddirectory { public let rangesOnIndexedValues: [ObjectAttributeRange]? /// The pagination token. public let nextToken: String? - /// The maximum number of results to retrieve from the index. + /// 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. public let maxResults: Int32? public init(indexReference: ObjectReference, directoryArn: String, consistencyLevel: ConsistencyLevel? = nil, rangesOnIndexedValues: [ObjectAttributeRange]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { @@ -1138,8 +1212,20 @@ extension Clouddirectory { } } - public struct DeleteTypedLinkFacetResponse: AWSShape { + public struct GetLinkAttributesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Attributes", required: false, type: .list) + ] + /// The attributes that are associated with the typed link. + public let attributes: [AttributeKeyAndValue]? + public init(attributes: [AttributeKeyAndValue]? = nil) { + self.attributes = attributes + } + + private enum CodingKeys: String, CodingKey { + case attributes = "Attributes" + } } public struct TypedLinkAttributeDefinition: AWSShape { @@ -1219,6 +1305,26 @@ extension Clouddirectory { } } + public struct DeleteTypedLinkFacetResponse: AWSShape { + + } + + public struct UpgradePublishedSchemaResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UpgradedSchemaArn", required: false, type: .string) + ] + /// The ARN of the upgraded schema that is returned as part of the response. + public let upgradedSchemaArn: String? + + public init(upgradedSchemaArn: String? = nil) { + self.upgradedSchemaArn = upgradedSchemaArn + } + + private enum CodingKeys: String, CodingKey { + case upgradedSchemaArn = "UpgradedSchemaArn" + } + } + public struct BatchListIncomingTypedLinks: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FilterTypedLink", required: false, type: .structure), @@ -1503,27 +1609,32 @@ extension Clouddirectory { public struct ListAppliedSchemaArnsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "DirectoryArn", required: true, type: .string), AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "DirectoryArn", required: true, type: .string) + AWSShapeMember(label: "SchemaArn", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The maximum number of results to retrieve. - public let maxResults: Int32? - /// The pagination token. - public let nextToken: String? /// The ARN of the directory you are listing. public let directoryArn: String + /// The pagination token. + public let nextToken: String? + /// The response for ListAppliedSchemaArns when this parameter is used will list all minor version ARNs for a major version. + public let schemaArn: String? + /// The maximum number of results to retrieve. + public let maxResults: Int32? - public init(maxResults: Int32? = nil, nextToken: String? = nil, directoryArn: String) { - self.maxResults = maxResults - self.nextToken = nextToken + public init(directoryArn: String, nextToken: String? = nil, schemaArn: String? = nil, maxResults: Int32? = nil) { self.directoryArn = directoryArn + self.nextToken = nextToken + self.schemaArn = schemaArn + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case maxResults = "MaxResults" - case nextToken = "NextToken" case directoryArn = "DirectoryArn" + case nextToken = "NextToken" + case schemaArn = "SchemaArn" + case maxResults = "MaxResults" } } @@ -1731,7 +1842,7 @@ extension Clouddirectory { AWSShapeMember(label: "SchemaArn", required: false, type: .string), AWSShapeMember(label: "FacetName", required: false, type: .string) ] - /// The ARN of the schema that contains the facet. + /// 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. public let schemaArn: String? /// The name of the facet. public let facetName: String? @@ -1749,24 +1860,29 @@ extension Clouddirectory { public struct PublishSchemaRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MinorVersion", required: false, type: .string), AWSShapeMember(label: "DevelopmentSchemaArn", location: .header(locationName: "x-amz-data-partition"), required: true, type: .string), AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "Version", required: true, type: .string) ] + /// 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. + public let minorVersion: String? /// The Amazon Resource Name (ARN) that is associated with the development schema. For more information, see arns. public let developmentSchemaArn: String /// The new name under which the schema will be published. If this is not provided, the development schema is considered. public let name: String? - /// The version under which the schema will be published. + /// The major version under which the schema will be published. Schemas have both a major and minor version associated with them. public let version: String - public init(developmentSchemaArn: String, name: String? = nil, version: String) { + public init(minorVersion: String? = nil, developmentSchemaArn: String, name: String? = nil, version: String) { + self.minorVersion = minorVersion self.developmentSchemaArn = developmentSchemaArn self.name = name self.version = version } private enum CodingKeys: String, CodingKey { + case minorVersion = "MinorVersion" case developmentSchemaArn = "x-amz-data-partition" case name = "Name" case version = "Version" @@ -1884,6 +2000,22 @@ extension Clouddirectory { } } + public struct GetAppliedSchemaVersionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SchemaArn", required: true, type: .string) + ] + /// The ARN of the applied schema. + public let schemaArn: String + + public init(schemaArn: String) { + self.schemaArn = schemaArn + } + + private enum CodingKeys: String, CodingKey { + case schemaArn = "SchemaArn" + } + } + public struct CreateObjectRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SchemaFacets", required: true, type: .list), @@ -1892,7 +2024,7 @@ extension Clouddirectory { AWSShapeMember(label: "ObjectAttributeList", required: false, type: .list), AWSShapeMember(label: "LinkName", required: false, type: .string) ] - /// A list of schema facets to be associated with the object that contains SchemaArn and facet name. For more information, see arns. + /// A list of schema facets to be associated with the object. Do not provide minor version components. See SchemaFacet for details. public let schemaFacets: [SchemaFacet] /// If specified, the parent reference to which this object will be attached. public let parentReference: ObjectReference? @@ -1997,6 +2129,32 @@ extension Clouddirectory { } + public struct ListManagedSchemaArnsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "SchemaArn", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The pagination token. + public let nextToken: String? + /// The response for ListManagedSchemaArns. When this parameter is used, all minor version ARNs for a major version are listed. + public let schemaArn: String? + /// The maximum number of results to retrieve. + public let maxResults: Int32? + + public init(nextToken: String? = nil, schemaArn: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.schemaArn = schemaArn + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case schemaArn = "SchemaArn" + case maxResults = "MaxResults" + } + } + public struct LookupPolicyRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxResults", required: false, type: .integer), @@ -2028,6 +2186,22 @@ extension Clouddirectory { } } + public struct GetAppliedSchemaVersionResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AppliedSchemaArn", required: false, type: .string) + ] + /// Current applied schema ARN, including the minor version in use if one was provided. + public let appliedSchemaArn: String? + + public init(appliedSchemaArn: String? = nil) { + self.appliedSchemaArn = appliedSchemaArn + } + + private enum CodingKeys: String, CodingKey { + case appliedSchemaArn = "AppliedSchemaArn" + } + } + public struct BatchAttachPolicy: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ObjectReference", required: true, type: .structure), @@ -2107,6 +2281,7 @@ extension Clouddirectory { case accessdeniedexception = "AccessDeniedException" case invalidattachmentexception = "InvalidAttachmentException" case notindexexception = "NotIndexException" + case notnodeexception = "NotNodeException" case indexedattributemissingexception = "IndexedAttributeMissingException" case objectalreadydetachedexception = "ObjectAlreadyDetachedException" case notpolicyexception = "NotPolicyException" @@ -2192,13 +2367,16 @@ extension Clouddirectory { public struct CreateFacetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ObjectType", required: true, type: .enum), + AWSShapeMember(label: "ObjectType", required: false, type: .enum), + AWSShapeMember(label: "FacetStyle", required: false, type: .enum), AWSShapeMember(label: "Attributes", required: false, type: .list), AWSShapeMember(label: "Name", required: true, type: .string), AWSShapeMember(label: "SchemaArn", location: .header(locationName: "x-amz-data-partition"), required: true, type: .string) ] /// 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. - public let objectType: ObjectType + public let objectType: ObjectType? + /// 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. + public let facetStyle: FacetStyle? /// The attributes that are associated with the Facet. public let attributes: [FacetAttribute]? /// The name of the Facet, which is unique for a given schema. @@ -2206,8 +2384,9 @@ extension Clouddirectory { /// The schema ARN in which the new Facet will be created. For more information, see arns. public let schemaArn: String - public init(objectType: ObjectType, attributes: [FacetAttribute]? = nil, name: String, schemaArn: String) { + public init(objectType: ObjectType? = nil, facetStyle: FacetStyle? = nil, attributes: [FacetAttribute]? = nil, name: String, schemaArn: String) { self.objectType = objectType + self.facetStyle = facetStyle self.attributes = attributes self.name = name self.schemaArn = schemaArn @@ -2215,6 +2394,7 @@ extension Clouddirectory { private enum CodingKeys: String, CodingKey { case objectType = "ObjectType" + case facetStyle = "FacetStyle" case attributes = "Attributes" case name = "Name" case schemaArn = "x-amz-data-partition" @@ -2246,6 +2426,22 @@ extension Clouddirectory { } } + public struct BatchGetLinkAttributesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Attributes", required: false, type: .list) + ] + /// The attributes that are associated with the typed link. + public let attributes: [AttributeKeyAndValue]? + + public init(attributes: [AttributeKeyAndValue]? = nil) { + self.attributes = attributes + } + + private enum CodingKeys: String, CodingKey { + case attributes = "Attributes" + } + } + public struct CreateDirectoryResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DirectoryArn", required: true, type: .string), @@ -2287,24 +2483,24 @@ extension Clouddirectory { public struct BatchCreateObject: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ParentReference", required: true, type: .structure), + AWSShapeMember(label: "ParentReference", required: false, type: .structure), AWSShapeMember(label: "SchemaFacet", required: true, type: .list), - AWSShapeMember(label: "BatchReferenceName", required: true, type: .string), + AWSShapeMember(label: "BatchReferenceName", required: false, type: .string), AWSShapeMember(label: "ObjectAttributeList", required: true, type: .list), - AWSShapeMember(label: "LinkName", required: true, type: .string) + AWSShapeMember(label: "LinkName", required: false, type: .string) ] /// If specified, the parent reference to which this object will be attached. - public let parentReference: ObjectReference + public let parentReference: ObjectReference? /// A list of FacetArns that will be associated with the object. For more information, see arns. public let schemaFacet: [SchemaFacet] /// The batch reference name. See Batches for more information. - public let batchReferenceName: String + public let batchReferenceName: String? /// An attribute map, which contains an attribute ARN as the key and attribute value as the map value. public let objectAttributeList: [AttributeKeyAndValue] /// The name of the link. - public let linkName: String + public let linkName: String? - public init(parentReference: ObjectReference, schemaFacet: [SchemaFacet], batchReferenceName: String, objectAttributeList: [AttributeKeyAndValue], linkName: String) { + public init(parentReference: ObjectReference? = nil, schemaFacet: [SchemaFacet], batchReferenceName: String? = nil, objectAttributeList: [AttributeKeyAndValue], linkName: String? = nil) { self.parentReference = parentReference self.schemaFacet = schemaFacet self.batchReferenceName = batchReferenceName @@ -2342,6 +2538,27 @@ extension Clouddirectory { } } + public struct LinkAttributeUpdate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AttributeKey", required: false, type: .structure), + AWSShapeMember(label: "AttributeAction", required: false, type: .structure) + ] + /// The key of the attribute being updated. + public let attributeKey: AttributeKey? + /// The action to perform as part of the attribute update. + public let attributeAction: LinkAttributeAction? + + public init(attributeKey: AttributeKey? = nil, attributeAction: LinkAttributeAction? = nil) { + self.attributeKey = attributeKey + self.attributeAction = attributeAction + } + + private enum CodingKeys: String, CodingKey { + case attributeKey = "AttributeKey" + case attributeAction = "AttributeAction" + } + } + public struct UntagResourceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ResourceArn", required: true, type: .string), @@ -2420,6 +2637,32 @@ extension Clouddirectory { } } + public struct BatchGetObjectAttributes: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SchemaFacet", required: true, type: .structure), + AWSShapeMember(label: "AttributeNames", required: true, type: .list), + AWSShapeMember(label: "ObjectReference", required: true, type: .structure) + ] + /// Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details. + public let schemaFacet: SchemaFacet + /// List of attribute names whose values will be retrieved. + public let attributeNames: [String] + /// Reference that identifies the object whose attributes will be retrieved. + public let objectReference: ObjectReference + + public init(schemaFacet: SchemaFacet, attributeNames: [String], objectReference: ObjectReference) { + self.schemaFacet = schemaFacet + self.attributeNames = attributeNames + self.objectReference = objectReference + } + + private enum CodingKeys: String, CodingKey { + case schemaFacet = "SchemaFacet" + case attributeNames = "AttributeNames" + case objectReference = "ObjectReference" + } + } + public struct BatchListObjectChildrenResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -2477,6 +2720,37 @@ extension Clouddirectory { } } + public struct GetLinkAttributesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TypedLinkSpecifier", required: true, type: .structure), + AWSShapeMember(label: "ConsistencyLevel", required: false, type: .enum), + AWSShapeMember(label: "DirectoryArn", location: .header(locationName: "x-amz-data-partition"), required: true, type: .string), + AWSShapeMember(label: "AttributeNames", required: true, type: .list) + ] + /// Allows a typed link specifier to be accepted as input. + public let typedLinkSpecifier: TypedLinkSpecifier + /// The consistency level at which to retrieve the attributes on a typed link. + public let consistencyLevel: ConsistencyLevel? + /// The Amazon Resource Name (ARN) that is associated with the Directory where the typed link resides. For more information, see arns or Typed link. + public let directoryArn: String + /// A list of attribute names whose values will be retrieved. + public let attributeNames: [String] + + public init(typedLinkSpecifier: TypedLinkSpecifier, consistencyLevel: ConsistencyLevel? = nil, directoryArn: String, attributeNames: [String]) { + self.typedLinkSpecifier = typedLinkSpecifier + self.consistencyLevel = consistencyLevel + self.directoryArn = directoryArn + self.attributeNames = attributeNames + } + + private enum CodingKeys: String, CodingKey { + case typedLinkSpecifier = "TypedLinkSpecifier" + case consistencyLevel = "ConsistencyLevel" + case directoryArn = "x-amz-data-partition" + case attributeNames = "AttributeNames" + } + } + public struct DisableDirectoryRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DirectoryArn", location: .header(locationName: "x-amz-data-partition"), required: true, type: .string) @@ -2493,6 +2767,32 @@ extension Clouddirectory { } } + public struct UpgradeAppliedSchemaRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PublishedSchemaArn", required: true, type: .string), + AWSShapeMember(label: "DryRun", required: false, type: .boolean), + AWSShapeMember(label: "DirectoryArn", required: true, type: .string) + ] + /// The revision of the published schema to upgrade the directory to. + public let publishedSchemaArn: String + /// 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. + public let dryRun: Bool? + /// The ARN for the directory to which the upgraded schema will be applied. + public let directoryArn: String + + public init(publishedSchemaArn: String, dryRun: Bool? = nil, directoryArn: String) { + self.publishedSchemaArn = publishedSchemaArn + self.dryRun = dryRun + self.directoryArn = directoryArn + } + + private enum CodingKeys: String, CodingKey { + case publishedSchemaArn = "PublishedSchemaArn" + case dryRun = "DryRun" + case directoryArn = "DirectoryArn" + } + } + public struct DetachFromIndexResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DetachedObjectIdentifier", required: false, type: .string) @@ -2515,30 +2815,30 @@ extension Clouddirectory { public struct BatchListObjectAttributes: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FacetFilter", required: false, type: .structure), AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "FacetFilter", required: false, type: .structure), AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "ObjectReference", required: true, type: .structure) ] - /// Used to filter the list of object attributes that are associated with a certain facet. - public let facetFilter: SchemaFacet? /// The maximum number of items to be retrieved in a single call. This is an approximate number. public let maxResults: Int32? + /// Used to filter the list of object attributes that are associated with a certain facet. + public let facetFilter: SchemaFacet? /// The pagination token. public let nextToken: String? /// Reference of the object whose attributes need to be listed. public let objectReference: ObjectReference - public init(facetFilter: SchemaFacet? = nil, maxResults: Int32? = nil, nextToken: String? = nil, objectReference: ObjectReference) { - self.facetFilter = facetFilter + public init(maxResults: Int32? = nil, facetFilter: SchemaFacet? = nil, nextToken: String? = nil, objectReference: ObjectReference) { self.maxResults = maxResults + self.facetFilter = facetFilter self.nextToken = nextToken self.objectReference = objectReference } private enum CodingKeys: String, CodingKey { - case facetFilter = "FacetFilter" case maxResults = "MaxResults" + case facetFilter = "FacetFilter" case nextToken = "NextToken" case objectReference = "ObjectReference" } @@ -2560,6 +2860,32 @@ extension Clouddirectory { } } + public struct UpdateLinkAttributesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DirectoryArn", location: .header(locationName: "x-amz-data-partition"), required: true, type: .string), + AWSShapeMember(label: "AttributeUpdates", required: true, type: .list), + AWSShapeMember(label: "TypedLinkSpecifier", required: true, type: .structure) + ] + /// 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. + public let directoryArn: String + /// The attributes update structure. + public let attributeUpdates: [LinkAttributeUpdate] + /// Allows a typed link specifier to be accepted as input. + public let typedLinkSpecifier: TypedLinkSpecifier + + public init(directoryArn: String, attributeUpdates: [LinkAttributeUpdate], typedLinkSpecifier: TypedLinkSpecifier) { + self.directoryArn = directoryArn + self.attributeUpdates = attributeUpdates + self.typedLinkSpecifier = typedLinkSpecifier + } + + private enum CodingKeys: String, CodingKey { + case directoryArn = "x-amz-data-partition" + case attributeUpdates = "AttributeUpdates" + case typedLinkSpecifier = "TypedLinkSpecifier" + } + } + public struct ListObjectParentPathsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxResults", required: false, type: .integer), @@ -2726,16 +3052,16 @@ extension Clouddirectory { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PolicyReference", required: true, type: .structure), AWSShapeMember(label: "ObjectReference", required: true, type: .structure), - AWSShapeMember(label: "DirectoryArn", location: .header(locationName: "x-amz-data-partition"), required: false, type: .string) + AWSShapeMember(label: "DirectoryArn", location: .header(locationName: "x-amz-data-partition"), required: true, type: .string) ] /// The reference that is associated with the policy object. public let policyReference: ObjectReference /// The reference that identifies the object to which the policy will be attached. public let objectReference: ObjectReference /// The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns. - public let directoryArn: String? + public let directoryArn: String - public init(policyReference: ObjectReference, objectReference: ObjectReference, directoryArn: String? = nil) { + public init(policyReference: ObjectReference, objectReference: ObjectReference, directoryArn: String) { self.policyReference = policyReference self.objectReference = objectReference self.directoryArn = directoryArn @@ -2818,6 +3144,10 @@ extension Clouddirectory { } } + public struct UpdateLinkAttributesResponse: AWSShape { + + } + public enum UpdateActionType: String, CustomStringConvertible, Codable { case createOrUpdate = "CREATE_OR_UPDATE" case delete = "DELETE" @@ -2840,6 +3170,37 @@ extension Clouddirectory { } } + public struct UpgradePublishedSchemaRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PublishedSchemaArn", required: true, type: .string), + AWSShapeMember(label: "MinorVersion", required: true, type: .string), + AWSShapeMember(label: "DevelopmentSchemaArn", required: true, type: .string), + AWSShapeMember(label: "DryRun", required: false, type: .boolean) + ] + /// The ARN of the published schema to be upgraded. + public let publishedSchemaArn: String + /// Identifies the minor version of the published schema that will be created. This parameter is NOT optional. + public let minorVersion: String + /// The ARN of the development schema with the changes used for the upgrade. + public let developmentSchemaArn: String + /// 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. + public let dryRun: Bool? + + public init(publishedSchemaArn: String, minorVersion: String, developmentSchemaArn: String, dryRun: Bool? = nil) { + self.publishedSchemaArn = publishedSchemaArn + self.minorVersion = minorVersion + self.developmentSchemaArn = developmentSchemaArn + self.dryRun = dryRun + } + + private enum CodingKeys: String, CodingKey { + case publishedSchemaArn = "PublishedSchemaArn" + case minorVersion = "MinorVersion" + case developmentSchemaArn = "DevelopmentSchemaArn" + case dryRun = "DryRun" + } + } + public struct BatchListPolicyAttachments: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxResults", required: false, type: .integer), @@ -2929,69 +3290,115 @@ extension Clouddirectory { } } + public struct GetObjectAttributesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DirectoryArn", location: .header(locationName: "x-amz-data-partition"), required: true, type: .string), + AWSShapeMember(label: "SchemaFacet", required: true, type: .structure), + AWSShapeMember(label: "ConsistencyLevel", location: .header(locationName: "x-amz-consistency-level"), required: false, type: .enum), + AWSShapeMember(label: "AttributeNames", required: true, type: .list), + AWSShapeMember(label: "ObjectReference", required: true, type: .structure) + ] + /// The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. + public let directoryArn: String + /// Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details. + public let schemaFacet: SchemaFacet + /// The consistency level at which to retrieve the attributes on an object. + public let consistencyLevel: ConsistencyLevel? + /// List of attribute names whose values will be retrieved. + public let attributeNames: [String] + /// Reference that identifies the object whose attributes will be retrieved. + public let objectReference: ObjectReference + + public init(directoryArn: String, schemaFacet: SchemaFacet, consistencyLevel: ConsistencyLevel? = nil, attributeNames: [String], objectReference: ObjectReference) { + self.directoryArn = directoryArn + self.schemaFacet = schemaFacet + self.consistencyLevel = consistencyLevel + self.attributeNames = attributeNames + self.objectReference = objectReference + } + + private enum CodingKeys: String, CodingKey { + case directoryArn = "x-amz-data-partition" + case schemaFacet = "SchemaFacet" + case consistencyLevel = "x-amz-consistency-level" + case attributeNames = "AttributeNames" + case objectReference = "ObjectReference" + } + } + public struct BatchReadSuccessfulResponse: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ListIndex", required: false, type: .structure), + AWSShapeMember(label: "GetObjectInformation", required: false, type: .structure), + AWSShapeMember(label: "ListObjectChildren", required: false, type: .structure), + AWSShapeMember(label: "ListObjectParentPaths", required: false, type: .structure), + AWSShapeMember(label: "ListAttachedIndices", required: false, type: .structure), AWSShapeMember(label: "ListObjectPolicies", required: false, type: .structure), AWSShapeMember(label: "ListObjectAttributes", required: false, type: .structure), AWSShapeMember(label: "ListIncomingTypedLinks", required: false, type: .structure), - AWSShapeMember(label: "GetObjectInformation", required: false, type: .structure), + AWSShapeMember(label: "GetLinkAttributes", required: false, type: .structure), AWSShapeMember(label: "ListOutgoingTypedLinks", required: false, type: .structure), - AWSShapeMember(label: "ListObjectChildren", required: false, type: .structure), - AWSShapeMember(label: "ListIndex", required: false, type: .structure), - AWSShapeMember(label: "ListObjectParentPaths", required: false, type: .structure), AWSShapeMember(label: "ListPolicyAttachments", required: false, type: .structure), - AWSShapeMember(label: "LookupPolicy", required: false, type: .structure), - AWSShapeMember(label: "ListAttachedIndices", required: false, type: .structure) + AWSShapeMember(label: "GetObjectAttributes", required: false, type: .structure), + AWSShapeMember(label: "LookupPolicy", required: false, type: .structure) ] + /// Lists objects attached to the specified index. + public let listIndex: BatchListIndexResponse? + /// Retrieves metadata about an object. + public let getObjectInformation: BatchGetObjectInformationResponse? + /// Returns a paginated list of child objects that are associated with a given object. + public let listObjectChildren: BatchListObjectChildrenResponse? + /// 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. + public let listObjectParentPaths: BatchListObjectParentPathsResponse? + /// Lists indices attached to an object. + public let listAttachedIndices: BatchListAttachedIndicesResponse? /// Returns policies attached to an object in pagination fashion. public let listObjectPolicies: BatchListObjectPoliciesResponse? /// Lists all attributes that are associated with an object. public let listObjectAttributes: BatchListObjectAttributesResponse? /// 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. public let listIncomingTypedLinks: BatchListIncomingTypedLinksResponse? - /// Retrieves metadata about an object. - public let getObjectInformation: BatchGetObjectInformationResponse? + /// The list of attributes to retrieve from the typed link. + public let getLinkAttributes: BatchGetLinkAttributesResponse? /// 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. public let listOutgoingTypedLinks: BatchListOutgoingTypedLinksResponse? - /// Returns a paginated list of child objects that are associated with a given object. - public let listObjectChildren: BatchListObjectChildrenResponse? - /// Lists objects attached to the specified index. - public let listIndex: BatchListIndexResponse? - /// 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. - public let listObjectParentPaths: BatchListObjectParentPathsResponse? /// Returns all of the ObjectIdentifiers to which a given policy is attached. public let listPolicyAttachments: BatchListPolicyAttachmentsResponse? + /// Retrieves attributes within a facet that are associated with an object. + public let getObjectAttributes: BatchGetObjectAttributesResponse? /// 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. public let lookupPolicy: BatchLookupPolicyResponse? - /// Lists indices attached to an object. - public let listAttachedIndices: BatchListAttachedIndicesResponse? - public init(listObjectPolicies: BatchListObjectPoliciesResponse? = nil, listObjectAttributes: BatchListObjectAttributesResponse? = nil, listIncomingTypedLinks: BatchListIncomingTypedLinksResponse? = nil, getObjectInformation: BatchGetObjectInformationResponse? = nil, listOutgoingTypedLinks: BatchListOutgoingTypedLinksResponse? = nil, listObjectChildren: BatchListObjectChildrenResponse? = nil, listIndex: BatchListIndexResponse? = nil, listObjectParentPaths: BatchListObjectParentPathsResponse? = nil, listPolicyAttachments: BatchListPolicyAttachmentsResponse? = nil, lookupPolicy: BatchLookupPolicyResponse? = nil, listAttachedIndices: BatchListAttachedIndicesResponse? = nil) { + public init(listIndex: BatchListIndexResponse? = nil, getObjectInformation: BatchGetObjectInformationResponse? = nil, listObjectChildren: BatchListObjectChildrenResponse? = nil, listObjectParentPaths: BatchListObjectParentPathsResponse? = nil, listAttachedIndices: BatchListAttachedIndicesResponse? = nil, listObjectPolicies: BatchListObjectPoliciesResponse? = nil, listObjectAttributes: BatchListObjectAttributesResponse? = nil, listIncomingTypedLinks: BatchListIncomingTypedLinksResponse? = nil, getLinkAttributes: BatchGetLinkAttributesResponse? = nil, listOutgoingTypedLinks: BatchListOutgoingTypedLinksResponse? = nil, listPolicyAttachments: BatchListPolicyAttachmentsResponse? = nil, getObjectAttributes: BatchGetObjectAttributesResponse? = nil, lookupPolicy: BatchLookupPolicyResponse? = nil) { + self.listIndex = listIndex + self.getObjectInformation = getObjectInformation + self.listObjectChildren = listObjectChildren + self.listObjectParentPaths = listObjectParentPaths + self.listAttachedIndices = listAttachedIndices self.listObjectPolicies = listObjectPolicies self.listObjectAttributes = listObjectAttributes self.listIncomingTypedLinks = listIncomingTypedLinks - self.getObjectInformation = getObjectInformation + self.getLinkAttributes = getLinkAttributes self.listOutgoingTypedLinks = listOutgoingTypedLinks - self.listObjectChildren = listObjectChildren - self.listIndex = listIndex - self.listObjectParentPaths = listObjectParentPaths self.listPolicyAttachments = listPolicyAttachments + self.getObjectAttributes = getObjectAttributes self.lookupPolicy = lookupPolicy - self.listAttachedIndices = listAttachedIndices } private enum CodingKeys: String, CodingKey { + case listIndex = "ListIndex" + case getObjectInformation = "GetObjectInformation" + case listObjectChildren = "ListObjectChildren" + case listObjectParentPaths = "ListObjectParentPaths" + case listAttachedIndices = "ListAttachedIndices" case listObjectPolicies = "ListObjectPolicies" case listObjectAttributes = "ListObjectAttributes" case listIncomingTypedLinks = "ListIncomingTypedLinks" - case getObjectInformation = "GetObjectInformation" + case getLinkAttributes = "GetLinkAttributes" case listOutgoingTypedLinks = "ListOutgoingTypedLinks" - case listObjectChildren = "ListObjectChildren" - case listIndex = "ListIndex" - case listObjectParentPaths = "ListObjectParentPaths" case listPolicyAttachments = "ListPolicyAttachments" + case getObjectAttributes = "GetObjectAttributes" case lookupPolicy = "LookupPolicy" - case listAttachedIndices = "ListAttachedIndices" } } @@ -3122,18 +3529,18 @@ extension Clouddirectory { public struct BatchDetachObject: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BatchReferenceName", required: true, type: .string), + AWSShapeMember(label: "BatchReferenceName", required: false, type: .string), AWSShapeMember(label: "ParentReference", required: true, type: .structure), AWSShapeMember(label: "LinkName", required: true, type: .string) ] /// The batch reference name. See Batches for more information. - public let batchReferenceName: String + public let batchReferenceName: String? /// Parent reference from which the object with the specified link name is detached. public let parentReference: ObjectReference /// The name of the link. public let linkName: String - public init(batchReferenceName: String, parentReference: ObjectReference, linkName: String) { + public init(batchReferenceName: String? = nil, parentReference: ObjectReference, linkName: String) { self.batchReferenceName = batchReferenceName self.parentReference = parentReference self.linkName = linkName @@ -3195,7 +3602,7 @@ extension Clouddirectory { ] /// The indexed attribute values. public let indexedAttributes: [AttributeKeyAndValue]? - /// The ObjectIdentifier of the object attached to the index. + /// 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. public let objectIdentifier: String? public init(indexedAttributes: [AttributeKeyAndValue]? = nil, objectIdentifier: String? = nil) { @@ -3269,20 +3676,25 @@ extension Clouddirectory { public struct Facet: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ObjectType", required: false, type: .enum), + AWSShapeMember(label: "FacetStyle", required: false, type: .enum), AWSShapeMember(label: "Name", required: false, type: .string) ] /// The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details. public let objectType: ObjectType? + /// 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. + public let facetStyle: FacetStyle? /// The name of the Facet. public let name: String? - public init(objectType: ObjectType? = nil, name: String? = nil) { + public init(objectType: ObjectType? = nil, facetStyle: FacetStyle? = nil, name: String? = nil) { self.objectType = objectType + self.facetStyle = facetStyle self.name = name } private enum CodingKeys: String, CodingKey { case objectType = "ObjectType" + case facetStyle = "FacetStyle" case name = "Name" } } @@ -3314,6 +3726,7 @@ extension Clouddirectory { case boolean = "BOOLEAN" case number = "NUMBER" case datetime = "DATETIME" + case variant = "VARIANT" public var description: String { return self.rawValue } } @@ -3378,6 +3791,10 @@ extension Clouddirectory { } + public struct BatchUpdateLinkAttributesResponse: AWSShape { + + } + public struct ListObjectAttributesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxResults", required: false, type: .integer), @@ -3514,7 +3931,7 @@ extension Clouddirectory { AWSShapeMember(label: "SchemaFacets", required: false, type: .list), AWSShapeMember(label: "ObjectIdentifier", required: false, type: .string) ] - /// The facets attached to the specified object. + /// 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. public let schemaFacets: [SchemaFacet]? /// The ObjectIdentifier of the specified object. public let objectIdentifier: String? @@ -3654,6 +4071,27 @@ extension Clouddirectory { } } + public struct BatchGetLinkAttributes: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AttributeNames", required: true, type: .list), + AWSShapeMember(label: "TypedLinkSpecifier", required: true, type: .structure) + ] + /// A list of attribute names whose values will be retrieved. + public let attributeNames: [String] + /// Allows a typed link specifier to be accepted as input. + public let typedLinkSpecifier: TypedLinkSpecifier + + public init(attributeNames: [String], typedLinkSpecifier: TypedLinkSpecifier) { + self.attributeNames = attributeNames + self.typedLinkSpecifier = typedLinkSpecifier + } + + private enum CodingKeys: String, CodingKey { + case attributeNames = "AttributeNames" + case typedLinkSpecifier = "TypedLinkSpecifier" + } + } + public struct BatchLookupPolicyResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PolicyToPathList", required: false, type: .list), @@ -3708,10 +4146,11 @@ extension Clouddirectory { AWSShapeMember(label: "AttachTypedLink", required: false, type: .structure), AWSShapeMember(label: "AttachObject", required: false, type: .structure), AWSShapeMember(label: "DetachTypedLink", required: false, type: .structure), + AWSShapeMember(label: "UpdateLinkAttributes", required: false, type: .structure), AWSShapeMember(label: "CreateIndex", required: false, type: .structure), AWSShapeMember(label: "DeleteObject", required: false, type: .structure), - AWSShapeMember(label: "UpdateObjectAttributes", required: false, type: .structure), AWSShapeMember(label: "RemoveFacetFromObject", required: false, type: .structure), + AWSShapeMember(label: "UpdateObjectAttributes", required: false, type: .structure), AWSShapeMember(label: "DetachFromIndex", required: false, type: .structure), AWSShapeMember(label: "DetachPolicy", required: false, type: .structure), AWSShapeMember(label: "AttachPolicy", required: false, type: .structure), @@ -3728,14 +4167,16 @@ extension Clouddirectory { public let attachObject: BatchAttachObject? /// Detaches a typed link from a specified source and target object. For more information, see Typed link. public let detachTypedLink: BatchDetachTypedLink? + /// Updates a given object's attributes. + public let updateLinkAttributes: BatchUpdateLinkAttributes? /// Creates an index object. See Indexing for more information. public let createIndex: BatchCreateIndex? /// Deletes an object in a Directory. public let deleteObject: BatchDeleteObject? - /// Updates a given object's attributes. - public let updateObjectAttributes: BatchUpdateObjectAttributes? /// A batch operation that removes a facet from an object. public let removeFacetFromObject: BatchRemoveFacetFromObject? + /// Updates a given object's attributes. + public let updateObjectAttributes: BatchUpdateObjectAttributes? /// Detaches the specified object from the specified index. public let detachFromIndex: BatchDetachFromIndex? /// Detaches a policy from a Directory. @@ -3747,16 +4188,17 @@ extension Clouddirectory { /// Attaches the specified object to the specified index. public let attachToIndex: BatchAttachToIndex? - public init(addFacetToObject: BatchAddFacetToObject? = nil, detachObject: BatchDetachObject? = nil, attachTypedLink: BatchAttachTypedLink? = nil, attachObject: BatchAttachObject? = nil, detachTypedLink: BatchDetachTypedLink? = nil, createIndex: BatchCreateIndex? = nil, deleteObject: BatchDeleteObject? = nil, updateObjectAttributes: BatchUpdateObjectAttributes? = nil, removeFacetFromObject: BatchRemoveFacetFromObject? = nil, detachFromIndex: BatchDetachFromIndex? = nil, detachPolicy: BatchDetachPolicy? = nil, attachPolicy: BatchAttachPolicy? = nil, createObject: BatchCreateObject? = nil, attachToIndex: BatchAttachToIndex? = nil) { + public init(addFacetToObject: BatchAddFacetToObject? = nil, detachObject: BatchDetachObject? = nil, attachTypedLink: BatchAttachTypedLink? = nil, attachObject: BatchAttachObject? = nil, detachTypedLink: BatchDetachTypedLink? = nil, updateLinkAttributes: BatchUpdateLinkAttributes? = nil, createIndex: BatchCreateIndex? = nil, deleteObject: BatchDeleteObject? = nil, removeFacetFromObject: BatchRemoveFacetFromObject? = nil, updateObjectAttributes: BatchUpdateObjectAttributes? = nil, detachFromIndex: BatchDetachFromIndex? = nil, detachPolicy: BatchDetachPolicy? = nil, attachPolicy: BatchAttachPolicy? = nil, createObject: BatchCreateObject? = nil, attachToIndex: BatchAttachToIndex? = nil) { self.addFacetToObject = addFacetToObject self.detachObject = detachObject self.attachTypedLink = attachTypedLink self.attachObject = attachObject self.detachTypedLink = detachTypedLink + self.updateLinkAttributes = updateLinkAttributes self.createIndex = createIndex self.deleteObject = deleteObject - self.updateObjectAttributes = updateObjectAttributes self.removeFacetFromObject = removeFacetFromObject + self.updateObjectAttributes = updateObjectAttributes self.detachFromIndex = detachFromIndex self.detachPolicy = detachPolicy self.attachPolicy = attachPolicy @@ -3770,10 +4212,11 @@ extension Clouddirectory { case attachTypedLink = "AttachTypedLink" case attachObject = "AttachObject" case detachTypedLink = "DetachTypedLink" + case updateLinkAttributes = "UpdateLinkAttributes" case createIndex = "CreateIndex" case deleteObject = "DeleteObject" - case updateObjectAttributes = "UpdateObjectAttributes" case removeFacetFromObject = "RemoveFacetFromObject" + case updateObjectAttributes = "UpdateObjectAttributes" case detachFromIndex = "DetachFromIndex" case detachPolicy = "DetachPolicy" case attachPolicy = "AttachPolicy" @@ -3837,20 +4280,25 @@ extension Clouddirectory { public struct ListPublishedSchemaArnsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "SchemaArn", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] /// The pagination token. public let nextToken: String? + /// The response for ListPublishedSchemaArns when this parameter is used will list all minor version ARNs for a major version. + public let schemaArn: String? /// The maximum number of results to retrieve. public let maxResults: Int32? - public init(nextToken: String? = nil, maxResults: Int32? = nil) { + public init(nextToken: String? = nil, schemaArn: String? = nil, maxResults: Int32? = nil) { self.nextToken = nextToken + self.schemaArn = schemaArn self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { case nextToken = "NextToken" + case schemaArn = "SchemaArn" case maxResults = "MaxResults" } } @@ -3876,6 +4324,27 @@ extension Clouddirectory { } } + public struct ListManagedSchemaArnsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SchemaArns", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// The ARNs for all AWS managed schemas. + public let schemaArns: [String]? + /// The pagination token. + public let nextToken: String? + + public init(schemaArns: [String]? = nil, nextToken: String? = nil) { + self.schemaArns = schemaArns + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case schemaArns = "SchemaArns" + case nextToken = "NextToken" + } + } + public struct CreateSchemaRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: true, type: .string) @@ -3908,6 +4377,22 @@ extension Clouddirectory { } } + public struct PutSchemaFromJsonResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Arn", required: false, type: .string) + ] + /// The ARN of the schema to update. + public let arn: String? + + public init(arn: String? = nil) { + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case arn = "Arn" + } + } + public struct ListObjectPoliciesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AttachedPolicyIds", required: false, type: .list), @@ -3929,22 +4414,6 @@ extension Clouddirectory { } } - public struct PutSchemaFromJsonResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Arn", required: false, type: .string) - ] - /// The ARN of the schema to update. - public let arn: String? - - public init(arn: String? = nil) { - self.arn = arn - } - - private enum CodingKeys: String, CodingKey { - case arn = "Arn" - } - } - public struct BatchAttachObject: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ChildReference", required: true, type: .structure), @@ -4073,67 +4542,77 @@ extension Clouddirectory { public struct BatchReadOperation: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ListIndex", required: false, type: .structure), + AWSShapeMember(label: "GetObjectInformation", required: false, type: .structure), + AWSShapeMember(label: "ListObjectChildren", required: false, type: .structure), + AWSShapeMember(label: "ListObjectParentPaths", required: false, type: .structure), + AWSShapeMember(label: "ListAttachedIndices", required: false, type: .structure), AWSShapeMember(label: "ListObjectPolicies", required: false, type: .structure), AWSShapeMember(label: "ListObjectAttributes", required: false, type: .structure), AWSShapeMember(label: "ListIncomingTypedLinks", required: false, type: .structure), - AWSShapeMember(label: "GetObjectInformation", required: false, type: .structure), + AWSShapeMember(label: "GetLinkAttributes", required: false, type: .structure), AWSShapeMember(label: "ListOutgoingTypedLinks", required: false, type: .structure), - AWSShapeMember(label: "ListObjectChildren", required: false, type: .structure), - AWSShapeMember(label: "ListIndex", required: false, type: .structure), - AWSShapeMember(label: "ListObjectParentPaths", required: false, type: .structure), AWSShapeMember(label: "ListPolicyAttachments", required: false, type: .structure), - AWSShapeMember(label: "LookupPolicy", required: false, type: .structure), - AWSShapeMember(label: "ListAttachedIndices", required: false, type: .structure) + AWSShapeMember(label: "GetObjectAttributes", required: false, type: .structure), + AWSShapeMember(label: "LookupPolicy", required: false, type: .structure) ] + /// Lists objects attached to the specified index. + public let listIndex: BatchListIndex? + /// Retrieves metadata about an object. + public let getObjectInformation: BatchGetObjectInformation? + /// Returns a paginated list of child objects that are associated with a given object. + public let listObjectChildren: BatchListObjectChildren? + /// 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. + public let listObjectParentPaths: BatchListObjectParentPaths? + /// Lists indices attached to an object. + public let listAttachedIndices: BatchListAttachedIndices? /// Returns policies attached to an object in pagination fashion. public let listObjectPolicies: BatchListObjectPolicies? /// Lists all attributes that are associated with an object. public let listObjectAttributes: BatchListObjectAttributes? /// 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. public let listIncomingTypedLinks: BatchListIncomingTypedLinks? - /// Retrieves metadata about an object. - public let getObjectInformation: BatchGetObjectInformation? + /// Retrieves attributes that are associated with a typed link. + public let getLinkAttributes: BatchGetLinkAttributes? /// 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. public let listOutgoingTypedLinks: BatchListOutgoingTypedLinks? - /// Returns a paginated list of child objects that are associated with a given object. - public let listObjectChildren: BatchListObjectChildren? - /// Lists objects attached to the specified index. - public let listIndex: BatchListIndex? - /// 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. - public let listObjectParentPaths: BatchListObjectParentPaths? /// Returns all of the ObjectIdentifiers to which a given policy is attached. public let listPolicyAttachments: BatchListPolicyAttachments? + /// Retrieves attributes within a facet that are associated with an object. + public let getObjectAttributes: BatchGetObjectAttributes? /// 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. public let lookupPolicy: BatchLookupPolicy? - /// Lists indices attached to an object. - public let listAttachedIndices: BatchListAttachedIndices? - public init(listObjectPolicies: BatchListObjectPolicies? = nil, listObjectAttributes: BatchListObjectAttributes? = nil, listIncomingTypedLinks: BatchListIncomingTypedLinks? = nil, getObjectInformation: BatchGetObjectInformation? = nil, listOutgoingTypedLinks: BatchListOutgoingTypedLinks? = nil, listObjectChildren: BatchListObjectChildren? = nil, listIndex: BatchListIndex? = nil, listObjectParentPaths: BatchListObjectParentPaths? = nil, listPolicyAttachments: BatchListPolicyAttachments? = nil, lookupPolicy: BatchLookupPolicy? = nil, listAttachedIndices: BatchListAttachedIndices? = nil) { + public init(listIndex: BatchListIndex? = nil, getObjectInformation: BatchGetObjectInformation? = nil, listObjectChildren: BatchListObjectChildren? = nil, listObjectParentPaths: BatchListObjectParentPaths? = nil, listAttachedIndices: BatchListAttachedIndices? = nil, listObjectPolicies: BatchListObjectPolicies? = nil, listObjectAttributes: BatchListObjectAttributes? = nil, listIncomingTypedLinks: BatchListIncomingTypedLinks? = nil, getLinkAttributes: BatchGetLinkAttributes? = nil, listOutgoingTypedLinks: BatchListOutgoingTypedLinks? = nil, listPolicyAttachments: BatchListPolicyAttachments? = nil, getObjectAttributes: BatchGetObjectAttributes? = nil, lookupPolicy: BatchLookupPolicy? = nil) { + self.listIndex = listIndex + self.getObjectInformation = getObjectInformation + self.listObjectChildren = listObjectChildren + self.listObjectParentPaths = listObjectParentPaths + self.listAttachedIndices = listAttachedIndices self.listObjectPolicies = listObjectPolicies self.listObjectAttributes = listObjectAttributes self.listIncomingTypedLinks = listIncomingTypedLinks - self.getObjectInformation = getObjectInformation + self.getLinkAttributes = getLinkAttributes self.listOutgoingTypedLinks = listOutgoingTypedLinks - self.listObjectChildren = listObjectChildren - self.listIndex = listIndex - self.listObjectParentPaths = listObjectParentPaths self.listPolicyAttachments = listPolicyAttachments + self.getObjectAttributes = getObjectAttributes self.lookupPolicy = lookupPolicy - self.listAttachedIndices = listAttachedIndices } private enum CodingKeys: String, CodingKey { + case listIndex = "ListIndex" + case getObjectInformation = "GetObjectInformation" + case listObjectChildren = "ListObjectChildren" + case listObjectParentPaths = "ListObjectParentPaths" + case listAttachedIndices = "ListAttachedIndices" case listObjectPolicies = "ListObjectPolicies" case listObjectAttributes = "ListObjectAttributes" case listIncomingTypedLinks = "ListIncomingTypedLinks" - case getObjectInformation = "GetObjectInformation" + case getLinkAttributes = "GetLinkAttributes" case listOutgoingTypedLinks = "ListOutgoingTypedLinks" - case listObjectChildren = "ListObjectChildren" - case listIndex = "ListIndex" - case listObjectParentPaths = "ListObjectParentPaths" case listPolicyAttachments = "ListPolicyAttachments" + case getObjectAttributes = "GetObjectAttributes" case lookupPolicy = "LookupPolicy" - case listAttachedIndices = "ListAttachedIndices" } } @@ -4184,24 +4663,19 @@ extension Clouddirectory { } } - public struct BatchListObjectParentPathsResponse: AWSShape { + public struct BatchGetObjectAttributesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "PathToObjectIdentifiersList", required: false, type: .list) + AWSShapeMember(label: "Attributes", required: false, type: .list) ] - /// The pagination token. - public let nextToken: String? - /// Returns the path to the ObjectIdentifiers that are associated with the directory. - public let pathToObjectIdentifiersList: [PathToObjectIdentifiers]? + /// The attribute values that are associated with an object. + public let attributes: [AttributeKeyAndValue]? - public init(nextToken: String? = nil, pathToObjectIdentifiersList: [PathToObjectIdentifiers]? = nil) { - self.nextToken = nextToken - self.pathToObjectIdentifiersList = pathToObjectIdentifiersList + public init(attributes: [AttributeKeyAndValue]? = nil) { + self.attributes = attributes } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case pathToObjectIdentifiersList = "PathToObjectIdentifiersList" + case attributes = "Attributes" } } @@ -4304,6 +4778,22 @@ extension Clouddirectory { } } + public struct GetObjectAttributesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Attributes", required: false, type: .list) + ] + /// The attributes that are associated with the object. + public let attributes: [AttributeKeyAndValue]? + + public init(attributes: [AttributeKeyAndValue]? = nil) { + self.attributes = attributes + } + + private enum CodingKeys: String, CodingKey { + case attributes = "Attributes" + } + } + public struct ObjectReference: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Selector", required: false, type: .string) @@ -4320,6 +4810,27 @@ extension Clouddirectory { } } + public struct BatchListObjectParentPathsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "PathToObjectIdentifiersList", required: false, type: .list) + ] + /// The pagination token. + public let nextToken: String? + /// Returns the path to the ObjectIdentifiers that are associated with the directory. + public let pathToObjectIdentifiersList: [PathToObjectIdentifiers]? + + public init(nextToken: String? = nil, pathToObjectIdentifiersList: [PathToObjectIdentifiers]? = nil) { + self.nextToken = nextToken + self.pathToObjectIdentifiersList = pathToObjectIdentifiersList + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case pathToObjectIdentifiersList = "PathToObjectIdentifiersList" + } + } + public struct UpdateTypedLinkFacetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AttributeUpdates", required: true, type: .list), @@ -4588,27 +5099,6 @@ extension Clouddirectory { } } - public struct ListObjectParentsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Parents", required: false, type: .map) - ] - /// The pagination token. - public let nextToken: String? - /// The parent structure, which is a map with key as the ObjectIdentifier and LinkName as the value. - public let parents: [String: String]? - - public init(nextToken: String? = nil, parents: [String: String]? = nil) { - self.nextToken = nextToken - self.parents = parents - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case parents = "Parents" - } - } - public struct DeleteFacetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: true, type: .string), @@ -4630,4 +5120,25 @@ extension Clouddirectory { } } + public struct ListObjectParentsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Parents", required: false, type: .map) + ] + /// The pagination token. + public let nextToken: String? + /// The parent structure, which is a map with key as the ObjectIdentifier and LinkName as the value. + public let parents: [String: String]? + + public init(nextToken: String? = nil, parents: [String: String]? = nil) { + self.nextToken = nextToken + self.parents = parents + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case parents = "Parents" + } + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/cloudformation/Cloudformation_API.swift b/Sources/AWSSDKSwift/Services/cloudformation/Cloudformation_API.swift index e61279238a9..a68dcf7908b 100644 --- a/Sources/AWSSDKSwift/Services/cloudformation/Cloudformation_API.swift +++ b/Sources/AWSSDKSwift/Services/cloudformation/Cloudformation_API.swift @@ -94,7 +94,7 @@ public struct Cloudformation { return try client.send(operation: "ListStackResources", path: "/", httpMethod: "POST", input: input) } - /// Updates the stack set and all associated stack instances. 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. + /// 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. public func updateStackSet(_ input: UpdateStackSetInput) throws -> UpdateStackSetOutput { return try client.send(operation: "UpdateStackSet", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/cloudformation/Cloudformation_Error.swift b/Sources/AWSSDKSwift/Services/cloudformation/Cloudformation_Error.swift index fb2c3a6b6b2..720fd7c41a1 100644 --- a/Sources/AWSSDKSwift/Services/cloudformation/Cloudformation_Error.swift +++ b/Sources/AWSSDKSwift/Services/cloudformation/Cloudformation_Error.swift @@ -13,8 +13,8 @@ public enum CloudformationError: AWSErrorType { case limitExceededException(message: String?) case operationNotFoundException(message: String?) case tokenAlreadyExistsException(message: String?) - case changeSetNotFoundException(message: String?) case stackInstanceNotFoundException(message: String?) + case changeSetNotFoundException(message: String?) case alreadyExistsException(message: String?) case insufficientCapabilitiesException(message: String?) case nameAlreadyExistsException(message: String?) @@ -47,10 +47,10 @@ extension CloudformationError { self = .operationNotFoundException(message: message) case "TokenAlreadyExistsException": self = .tokenAlreadyExistsException(message: message) - case "ChangeSetNotFoundException": - self = .changeSetNotFoundException(message: message) case "StackInstanceNotFoundException": self = .stackInstanceNotFoundException(message: message) + case "ChangeSetNotFoundException": + self = .changeSetNotFoundException(message: message) case "AlreadyExistsException": self = .alreadyExistsException(message: message) case "InsufficientCapabilitiesException": diff --git a/Sources/AWSSDKSwift/Services/cloudformation/Cloudformation_Shapes.swift b/Sources/AWSSDKSwift/Services/cloudformation/Cloudformation_Shapes.swift index e8f2a369fcd..9954fc948dd 100644 --- a/Sources/AWSSDKSwift/Services/cloudformation/Cloudformation_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/cloudformation/Cloudformation_Shapes.swift @@ -244,8 +244,8 @@ extension Cloudformation { AWSShapeMember(label: "UsePreviousTemplate", required: false, type: .boolean), AWSShapeMember(label: "RollbackConfiguration", required: false, type: .structure), AWSShapeMember(label: "StackPolicyDuringUpdateURL", required: false, type: .string), - AWSShapeMember(label: "StackPolicyURL", required: false, type: .string), AWSShapeMember(label: "NotificationARNs", required: false, type: .list), + AWSShapeMember(label: "StackPolicyURL", required: false, type: .string), AWSShapeMember(label: "Parameters", required: false, type: .list), AWSShapeMember(label: "ResourceTypes", required: false, type: .list), AWSShapeMember(label: "TemplateURL", required: false, type: .string), @@ -269,10 +269,10 @@ extension Cloudformation { public let rollbackConfiguration: RollbackConfiguration? /// 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. public let stackPolicyDuringUpdateURL: String? - /// 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. - public let stackPolicyURL: String? /// 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. public let notificationARNs: [String]? + /// 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. + public let stackPolicyURL: String? /// A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type. public let parameters: [Parameter]? /// 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. @@ -286,7 +286,7 @@ extension Cloudformation { /// 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. public let capabilities: [Capability]? - public init(stackPolicyBody: String? = nil, clientRequestToken: String? = nil, tags: [Tag]? = nil, roleARN: String? = nil, stackPolicyDuringUpdateBody: String? = nil, usePreviousTemplate: Bool? = nil, rollbackConfiguration: RollbackConfiguration? = nil, stackPolicyDuringUpdateURL: String? = nil, stackPolicyURL: String? = nil, notificationARNs: [String]? = nil, parameters: [Parameter]? = nil, resourceTypes: [String]? = nil, templateURL: String? = nil, templateBody: String? = nil, stackName: String, capabilities: [Capability]? = nil) { + public init(stackPolicyBody: String? = nil, clientRequestToken: String? = nil, tags: [Tag]? = nil, roleARN: String? = nil, stackPolicyDuringUpdateBody: String? = nil, usePreviousTemplate: Bool? = nil, rollbackConfiguration: RollbackConfiguration? = nil, stackPolicyDuringUpdateURL: String? = nil, notificationARNs: [String]? = nil, stackPolicyURL: String? = nil, parameters: [Parameter]? = nil, resourceTypes: [String]? = nil, templateURL: String? = nil, templateBody: String? = nil, stackName: String, capabilities: [Capability]? = nil) { self.stackPolicyBody = stackPolicyBody self.clientRequestToken = clientRequestToken self.tags = tags @@ -295,8 +295,8 @@ extension Cloudformation { self.usePreviousTemplate = usePreviousTemplate self.rollbackConfiguration = rollbackConfiguration self.stackPolicyDuringUpdateURL = stackPolicyDuringUpdateURL - self.stackPolicyURL = stackPolicyURL self.notificationARNs = notificationARNs + self.stackPolicyURL = stackPolicyURL self.parameters = parameters self.resourceTypes = resourceTypes self.templateURL = templateURL @@ -314,8 +314,8 @@ extension Cloudformation { case usePreviousTemplate = "UsePreviousTemplate" case rollbackConfiguration = "RollbackConfiguration" case stackPolicyDuringUpdateURL = "StackPolicyDuringUpdateURL" - case stackPolicyURL = "StackPolicyURL" case notificationARNs = "NotificationARNs" + case stackPolicyURL = "StackPolicyURL" case parameters = "Parameters" case resourceTypes = "ResourceTypes" case templateURL = "TemplateURL" @@ -850,31 +850,31 @@ extension Cloudformation { public struct Parameter: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ParameterValue", required: false, type: .string), + AWSShapeMember(label: "ResolvedValue", required: false, type: .string), AWSShapeMember(label: "UsePreviousValue", required: false, type: .boolean), - AWSShapeMember(label: "ParameterKey", required: false, type: .string), - AWSShapeMember(label: "ResolvedValue", required: false, type: .string) + AWSShapeMember(label: "ParameterKey", required: false, type: .string) ] /// The input value associated with the parameter. public let parameterValue: String? + /// Read-only. The value that corresponds to a Systems Manager parameter key. This field is returned only for SSM parameter types in the template. + public let resolvedValue: String? /// 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. public let usePreviousValue: Bool? /// 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. public let parameterKey: String? - /// Read-only. The value that corresponds to a Systems Manager parameter key. This field is returned only for SSM parameter types in the template. - public let resolvedValue: String? - public init(parameterValue: String? = nil, usePreviousValue: Bool? = nil, parameterKey: String? = nil, resolvedValue: String? = nil) { + public init(parameterValue: String? = nil, resolvedValue: String? = nil, usePreviousValue: Bool? = nil, parameterKey: String? = nil) { self.parameterValue = parameterValue + self.resolvedValue = resolvedValue self.usePreviousValue = usePreviousValue self.parameterKey = parameterKey - self.resolvedValue = resolvedValue } private enum CodingKeys: String, CodingKey { case parameterValue = "ParameterValue" + case resolvedValue = "ResolvedValue" case usePreviousValue = "UsePreviousValue" case parameterKey = "ParameterKey" - case resolvedValue = "ResolvedValue" } } @@ -1045,9 +1045,9 @@ extension Cloudformation { AWSShapeMember(label: "RollbackTriggers", required: false, type: .list), AWSShapeMember(label: "MonitoringTimeInMinutes", required: false, type: .integer) ] - /// 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: If you don't specify this parameter, AWS CloudFormation uses the rollback triggers previously specified for this stack, if any. If you specify any rollback triggers using this parameter, 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. If you specify an empty list, AWS CloudFormation removes all currently specified triggers. If a specified Cloudwatch alarm is missing, the entire stack operation fails and is rolled back. + /// 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. public let rollbackTriggers: [RollbackTrigger]? - /// 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. If any of the alarms goes to ALERT state during the stack operation or this monitoring period, CloudFormation rolls back the entire stack operation. Then, for update operations, if the monitoring period expires without any alarms going to ALERT state CloudFormation proceeds to dispose of old resources as usual. 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 for 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. + /// 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. public let monitoringTimeInMinutes: Int32? public init(rollbackTriggers: [RollbackTrigger]? = nil, monitoringTimeInMinutes: Int32? = nil) { @@ -1069,7 +1069,9 @@ extension Cloudformation { AWSShapeMember(label: "OperationPreferences", required: false, type: .structure), AWSShapeMember(label: "Action", required: false, type: .enum), AWSShapeMember(label: "CreationTimestamp", required: false, type: .timestamp), + AWSShapeMember(label: "AdministrationRoleARN", required: false, type: .string), AWSShapeMember(label: "OperationId", required: false, type: .string), + AWSShapeMember(label: "ExecutionRoleName", required: false, type: .string), AWSShapeMember(label: "EndTimestamp", required: false, type: .timestamp) ] /// 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. @@ -1084,19 +1086,25 @@ extension Cloudformation { public let action: StackSetOperationAction? /// 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. public let creationTimestamp: TimeStamp? + /// 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. + public let administrationRoleARN: String? /// The unique ID of a stack set operation. public let operationId: String? + /// 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. + public let executionRoleName: String? /// 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. public let endTimestamp: TimeStamp? - public init(retainStacks: Bool? = nil, status: StackSetOperationStatus? = nil, stackSetId: String? = nil, operationPreferences: StackSetOperationPreferences? = nil, action: StackSetOperationAction? = nil, creationTimestamp: TimeStamp? = nil, operationId: String? = nil, endTimestamp: TimeStamp? = nil) { + public init(retainStacks: Bool? = nil, status: StackSetOperationStatus? = nil, stackSetId: String? = nil, operationPreferences: StackSetOperationPreferences? = nil, action: StackSetOperationAction? = nil, creationTimestamp: TimeStamp? = nil, administrationRoleARN: String? = nil, operationId: String? = nil, executionRoleName: String? = nil, endTimestamp: TimeStamp? = nil) { self.retainStacks = retainStacks self.status = status self.stackSetId = stackSetId self.operationPreferences = operationPreferences self.action = action self.creationTimestamp = creationTimestamp + self.administrationRoleARN = administrationRoleARN self.operationId = operationId + self.executionRoleName = executionRoleName self.endTimestamp = endTimestamp } @@ -1107,7 +1115,9 @@ extension Cloudformation { case operationPreferences = "OperationPreferences" case action = "Action" case creationTimestamp = "CreationTimestamp" + case administrationRoleARN = "AdministrationRoleARN" case operationId = "OperationId" + case executionRoleName = "ExecutionRoleName" case endTimestamp = "EndTimestamp" } } @@ -1145,8 +1155,8 @@ extension Cloudformation { AWSShapeMember(label: "Tags", required: false, type: .list), AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), AWSShapeMember(label: "RollbackConfiguration", required: false, type: .structure), - AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "NotificationARNs", required: false, type: .list), + AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "StatusReason", required: false, type: .string), AWSShapeMember(label: "Status", required: false, type: .enum), AWSShapeMember(label: "Parameters", required: false, type: .list), @@ -1167,10 +1177,10 @@ extension Cloudformation { public let creationTime: TimeStamp? /// The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards. public let rollbackConfiguration: RollbackConfiguration? - /// Information about the change set. - public let description: String? /// The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the stack if you execute the change set. public let notificationARNs: [String]? + /// Information about the change set. + public let description: String? /// 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. public let statusReason: String? /// The current status of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, or FAILED. @@ -1190,14 +1200,14 @@ extension Cloudformation { /// If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was created. public let capabilities: [Capability]? - public init(executionStatus: ExecutionStatus? = nil, changes: [Change]? = nil, tags: [Tag]? = nil, creationTime: TimeStamp? = nil, rollbackConfiguration: RollbackConfiguration? = nil, description: String? = nil, notificationARNs: [String]? = nil, statusReason: String? = nil, status: ChangeSetStatus? = nil, parameters: [Parameter]? = nil, stackId: String? = nil, changeSetName: String? = nil, changeSetId: String? = nil, stackName: String? = nil, nextToken: String? = nil, capabilities: [Capability]? = nil) { + public init(executionStatus: ExecutionStatus? = nil, changes: [Change]? = nil, tags: [Tag]? = nil, creationTime: TimeStamp? = nil, rollbackConfiguration: RollbackConfiguration? = nil, notificationARNs: [String]? = nil, description: String? = nil, statusReason: String? = nil, status: ChangeSetStatus? = nil, parameters: [Parameter]? = nil, stackId: String? = nil, changeSetName: String? = nil, changeSetId: String? = nil, stackName: String? = nil, nextToken: String? = nil, capabilities: [Capability]? = nil) { self.executionStatus = executionStatus self.changes = changes self.tags = tags self.creationTime = creationTime self.rollbackConfiguration = rollbackConfiguration - self.description = description self.notificationARNs = notificationARNs + self.description = description self.statusReason = statusReason self.status = status self.parameters = parameters @@ -1215,8 +1225,8 @@ extension Cloudformation { case tags = "Tags" case creationTime = "CreationTime" case rollbackConfiguration = "RollbackConfiguration" - case description = "Description" case notificationARNs = "NotificationARNs" + case description = "Description" case statusReason = "StatusReason" case status = "Status" case parameters = "Parameters" @@ -1258,8 +1268,8 @@ extension Cloudformation { AWSShapeMember(label: "RoleARN", required: false, type: .string), AWSShapeMember(label: "UsePreviousTemplate", required: false, type: .boolean), AWSShapeMember(label: "RollbackConfiguration", required: false, type: .structure), - AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "NotificationARNs", required: false, type: .list), + AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "Parameters", required: false, type: .list), AWSShapeMember(label: "ChangeSetName", required: true, type: .string), AWSShapeMember(label: "ResourceTypes", required: false, type: .list), @@ -1280,10 +1290,10 @@ extension Cloudformation { public let usePreviousTemplate: Bool? /// The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards. public let rollbackConfiguration: RollbackConfiguration? - /// A description to help you identify this change set. - public let description: String? /// 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. public let notificationARNs: [String]? + /// A description to help you identify this change set. + public let description: String? /// A list of Parameter structures that specify input parameters for the change set. For more information, see the Parameter data type. public let parameters: [Parameter]? /// 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. @@ -1299,15 +1309,15 @@ extension Cloudformation { /// 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. public let capabilities: [Capability]? - public init(clientToken: String? = nil, changeSetType: ChangeSetType? = nil, tags: [Tag]? = nil, roleARN: String? = nil, usePreviousTemplate: Bool? = nil, rollbackConfiguration: RollbackConfiguration? = nil, description: String? = nil, notificationARNs: [String]? = nil, parameters: [Parameter]? = nil, changeSetName: String, resourceTypes: [String]? = nil, templateURL: String? = nil, templateBody: String? = nil, stackName: String, capabilities: [Capability]? = nil) { + public init(clientToken: String? = nil, changeSetType: ChangeSetType? = nil, tags: [Tag]? = nil, roleARN: String? = nil, usePreviousTemplate: Bool? = nil, rollbackConfiguration: RollbackConfiguration? = nil, notificationARNs: [String]? = nil, description: String? = nil, parameters: [Parameter]? = nil, changeSetName: String, resourceTypes: [String]? = nil, templateURL: String? = nil, templateBody: String? = nil, stackName: String, capabilities: [Capability]? = nil) { self.clientToken = clientToken self.changeSetType = changeSetType self.tags = tags self.roleARN = roleARN self.usePreviousTemplate = usePreviousTemplate self.rollbackConfiguration = rollbackConfiguration - self.description = description self.notificationARNs = notificationARNs + self.description = description self.parameters = parameters self.changeSetName = changeSetName self.resourceTypes = resourceTypes @@ -1324,8 +1334,8 @@ extension Cloudformation { case roleARN = "RoleARN" case usePreviousTemplate = "UsePreviousTemplate" case rollbackConfiguration = "RollbackConfiguration" - case description = "Description" case notificationARNs = "NotificationARNs" + case description = "Description" case parameters = "Parameters" case changeSetName = "ChangeSetName" case resourceTypes = "ResourceTypes" @@ -1825,62 +1835,82 @@ extension Cloudformation { public struct UpdateStackSetInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StackSetName", required: true, type: .string), - AWSShapeMember(label: "OperationPreferences", required: false, type: .structure), - AWSShapeMember(label: "Parameters", required: false, type: .list), AWSShapeMember(label: "Tags", required: false, type: .list), - AWSShapeMember(label: "OperationId", required: false, type: .string), + AWSShapeMember(label: "AdministrationRoleARN", required: false, type: .string), AWSShapeMember(label: "UsePreviousTemplate", required: false, type: .boolean), + AWSShapeMember(label: "Accounts", required: false, type: .list), + AWSShapeMember(label: "OperationId", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "OperationPreferences", required: false, type: .structure), + AWSShapeMember(label: "Parameters", required: false, type: .list), + AWSShapeMember(label: "Regions", required: false, type: .list), + AWSShapeMember(label: "ExecutionRoleName", required: false, type: .string), AWSShapeMember(label: "TemplateURL", required: false, type: .string), AWSShapeMember(label: "TemplateBody", required: false, type: .string), AWSShapeMember(label: "Capabilities", required: false, type: .list), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "StackSetName", required: true, type: .string) ] - /// The name or unique ID of the stack set that you want to update. - public let stackSetName: String - /// Preferences for how AWS CloudFormation performs this stack set operation. - public let operationPreferences: StackSetOperationPreferences? - /// A list of input parameters for the stack set template. - public let parameters: [Parameter]? /// 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. public let tags: [Tag]? - /// 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. - public let operationId: String? + /// 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. + public let administrationRoleARN: String? /// 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. public let usePreviousTemplate: Bool? + /// 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. + public let accounts: [String]? + /// 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. + public let operationId: String? + /// A brief description of updates that you are making. + public let description: String? + /// Preferences for how AWS CloudFormation performs this stack set operation. + public let operationPreferences: StackSetOperationPreferences? + /// A list of input parameters for the stack set template. + public let parameters: [Parameter]? + /// 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. + public let regions: [String]? + /// 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. + public let executionRoleName: String? /// 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. public let templateURL: String? /// 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. public let templateBody: String? /// 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. public let capabilities: [Capability]? - /// A brief description of updates that you are making. - public let description: String? + /// The name or unique ID of the stack set that you want to update. + public let stackSetName: String - public init(stackSetName: String, operationPreferences: StackSetOperationPreferences? = nil, parameters: [Parameter]? = nil, tags: [Tag]? = nil, operationId: String? = nil, usePreviousTemplate: Bool? = nil, templateURL: String? = nil, templateBody: String? = nil, capabilities: [Capability]? = nil, description: String? = nil) { - self.stackSetName = stackSetName - self.operationPreferences = operationPreferences - self.parameters = parameters + public init(tags: [Tag]? = nil, administrationRoleARN: String? = nil, usePreviousTemplate: Bool? = nil, accounts: [String]? = nil, operationId: String? = nil, description: String? = nil, operationPreferences: StackSetOperationPreferences? = nil, parameters: [Parameter]? = nil, regions: [String]? = nil, executionRoleName: String? = nil, templateURL: String? = nil, templateBody: String? = nil, capabilities: [Capability]? = nil, stackSetName: String) { self.tags = tags - self.operationId = operationId + self.administrationRoleARN = administrationRoleARN self.usePreviousTemplate = usePreviousTemplate + self.accounts = accounts + self.operationId = operationId + self.description = description + self.operationPreferences = operationPreferences + self.parameters = parameters + self.regions = regions + self.executionRoleName = executionRoleName self.templateURL = templateURL self.templateBody = templateBody self.capabilities = capabilities - self.description = description + self.stackSetName = stackSetName } private enum CodingKeys: String, CodingKey { - case stackSetName = "StackSetName" - case operationPreferences = "OperationPreferences" - case parameters = "Parameters" case tags = "Tags" - case operationId = "OperationId" + case administrationRoleARN = "AdministrationRoleARN" case usePreviousTemplate = "UsePreviousTemplate" + case accounts = "Accounts" + case operationId = "OperationId" + case description = "Description" + case operationPreferences = "OperationPreferences" + case parameters = "Parameters" + case regions = "Regions" + case executionRoleName = "ExecutionRoleName" case templateURL = "TemplateURL" case templateBody = "TemplateBody" case capabilities = "Capabilities" - case description = "Description" + case stackSetName = "StackSetName" } } @@ -2115,44 +2145,44 @@ extension Cloudformation { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Details", required: false, type: .list), AWSShapeMember(label: "Action", required: false, type: .enum), - AWSShapeMember(label: "LogicalResourceId", required: false, type: .string), AWSShapeMember(label: "ResourceType", required: false, type: .string), - AWSShapeMember(label: "Replacement", required: false, type: .enum), AWSShapeMember(label: "PhysicalResourceId", required: false, type: .string), + AWSShapeMember(label: "Replacement", required: false, type: .enum), + AWSShapeMember(label: "LogicalResourceId", required: false, type: .string), AWSShapeMember(label: "Scope", required: false, type: .list) ] /// For the Modify action, a list of ResourceChangeDetail structures that describes the changes that AWS CloudFormation will make to the resource. public let details: [ResourceChangeDetail]? /// 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). public let action: ChangeAction? - /// The resource's logical ID, which is defined in the stack's template. - public let logicalResourceId: String? /// The type of AWS CloudFormation resource, such as AWS::S3::Bucket. public let resourceType: String? - /// 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. - public let replacement: Replacement? /// The resource's physical ID (resource name). Resources that you are adding don't have physical IDs because they haven't been created. public let physicalResourceId: String? + /// 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. + public let replacement: Replacement? + /// The resource's logical ID, which is defined in the stack's template. + public let logicalResourceId: String? /// 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. public let scope: [ResourceAttribute]? - public init(details: [ResourceChangeDetail]? = nil, action: ChangeAction? = nil, logicalResourceId: String? = nil, resourceType: String? = nil, replacement: Replacement? = nil, physicalResourceId: String? = nil, scope: [ResourceAttribute]? = nil) { + public init(details: [ResourceChangeDetail]? = nil, action: ChangeAction? = nil, resourceType: String? = nil, physicalResourceId: String? = nil, replacement: Replacement? = nil, logicalResourceId: String? = nil, scope: [ResourceAttribute]? = nil) { self.details = details self.action = action - self.logicalResourceId = logicalResourceId self.resourceType = resourceType - self.replacement = replacement self.physicalResourceId = physicalResourceId + self.replacement = replacement + self.logicalResourceId = logicalResourceId self.scope = scope } private enum CodingKeys: String, CodingKey { case details = "Details" case action = "Action" - case logicalResourceId = "LogicalResourceId" case resourceType = "ResourceType" - case replacement = "Replacement" case physicalResourceId = "PhysicalResourceId" + case replacement = "Replacement" + case logicalResourceId = "LogicalResourceId" case scope = "Scope" } } @@ -2580,7 +2610,7 @@ extension Cloudformation { ] /// The resource type of the rollback trigger. Currently, AWS::CloudWatch::Alarm is the only supported resource type. public let `type`: String - /// The Amazon Resource Name (ARN) of the rollback trigger. + /// The Amazon Resource Name (ARN) of the rollback trigger. If a specified trigger is missing, the entire stack operation fails and is rolled back. public let arn: String public init(type: String, arn: String) { @@ -2964,7 +2994,10 @@ extension Cloudformation { AWSShapeMember(label: "Status", required: false, type: .enum), AWSShapeMember(label: "StackSetId", required: false, type: .string), AWSShapeMember(label: "Parameters", required: false, type: .list), + AWSShapeMember(label: "StackSetARN", required: false, type: .string), AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "AdministrationRoleARN", required: false, type: .string), + AWSShapeMember(label: "ExecutionRoleName", required: false, type: .string), AWSShapeMember(label: "TemplateBody", required: false, type: .string), AWSShapeMember(label: "Capabilities", required: false, type: .list), AWSShapeMember(label: "Description", required: false, type: .string) @@ -2977,8 +3010,14 @@ extension Cloudformation { public let stackSetId: String? /// A list of input parameters for a stack set. public let parameters: [Parameter]? + /// The Amazon Resource Number (ARN) of the stack set. + public let stackSetARN: String? /// A list of tags that specify information about the stack set. A maximum number of 50 tags can be specified. public let tags: [Tag]? + /// 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. + public let administrationRoleARN: String? + /// 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. + public let executionRoleName: String? /// The structure that contains the body of the template that was used to create or update the stack set. public let templateBody: String? /// 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. @@ -2986,12 +3025,15 @@ extension Cloudformation { /// A description of the stack set that you specify when the stack set is created or updated. public let description: String? - public init(stackSetName: String? = nil, status: StackSetStatus? = nil, stackSetId: String? = nil, parameters: [Parameter]? = nil, tags: [Tag]? = nil, templateBody: String? = nil, capabilities: [Capability]? = nil, description: String? = nil) { + public init(stackSetName: String? = nil, status: StackSetStatus? = nil, stackSetId: String? = nil, parameters: [Parameter]? = nil, stackSetARN: String? = nil, tags: [Tag]? = nil, administrationRoleARN: String? = nil, executionRoleName: String? = nil, templateBody: String? = nil, capabilities: [Capability]? = nil, description: String? = nil) { self.stackSetName = stackSetName self.status = status self.stackSetId = stackSetId self.parameters = parameters + self.stackSetARN = stackSetARN self.tags = tags + self.administrationRoleARN = administrationRoleARN + self.executionRoleName = executionRoleName self.templateBody = templateBody self.capabilities = capabilities self.description = description @@ -3002,7 +3044,10 @@ extension Cloudformation { case status = "Status" case stackSetId = "StackSetId" case parameters = "Parameters" + case stackSetARN = "StackSetARN" case tags = "Tags" + case administrationRoleARN = "AdministrationRoleARN" + case executionRoleName = "ExecutionRoleName" case templateBody = "TemplateBody" case capabilities = "Capabilities" case description = "Description" @@ -3130,6 +3175,8 @@ extension Cloudformation { AWSShapeMember(label: "Parameters", required: false, type: .list), AWSShapeMember(label: "Tags", required: false, type: .list), AWSShapeMember(label: "ClientRequestToken", required: false, type: .string), + AWSShapeMember(label: "AdministrationRoleARN", required: false, type: .string), + AWSShapeMember(label: "ExecutionRoleName", required: false, type: .string), AWSShapeMember(label: "TemplateURL", required: false, type: .string), AWSShapeMember(label: "TemplateBody", required: false, type: .string), AWSShapeMember(label: "Capabilities", required: false, type: .list), @@ -3143,6 +3190,10 @@ extension Cloudformation { public let tags: [Tag]? /// 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. public let clientRequestToken: String? + /// 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. + public let administrationRoleARN: String? + /// 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. + public let executionRoleName: String? /// 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. public let templateURL: String? /// 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. @@ -3152,11 +3203,13 @@ extension Cloudformation { /// A description of the stack set. You can use the description to identify the stack set's purpose or other important information. public let description: String? - public init(stackSetName: String, parameters: [Parameter]? = nil, tags: [Tag]? = nil, clientRequestToken: String? = nil, templateURL: String? = nil, templateBody: String? = nil, capabilities: [Capability]? = nil, description: String? = nil) { + public init(stackSetName: String, parameters: [Parameter]? = nil, tags: [Tag]? = nil, clientRequestToken: String? = nil, administrationRoleARN: String? = nil, executionRoleName: String? = nil, templateURL: String? = nil, templateBody: String? = nil, capabilities: [Capability]? = nil, description: String? = nil) { self.stackSetName = stackSetName self.parameters = parameters self.tags = tags self.clientRequestToken = clientRequestToken + self.administrationRoleARN = administrationRoleARN + self.executionRoleName = executionRoleName self.templateURL = templateURL self.templateBody = templateBody self.capabilities = capabilities @@ -3168,6 +3221,8 @@ extension Cloudformation { case parameters = "Parameters" case tags = "Tags" case clientRequestToken = "ClientRequestToken" + case administrationRoleARN = "AdministrationRoleARN" + case executionRoleName = "ExecutionRoleName" case templateURL = "TemplateURL" case templateBody = "TemplateBody" case capabilities = "Capabilities" diff --git a/Sources/AWSSDKSwift/Services/cloudfront/Cloudfront_API.swift b/Sources/AWSSDKSwift/Services/cloudfront/Cloudfront_API.swift index 56cb34925c0..4aeb1440f5c 100644 --- a/Sources/AWSSDKSwift/Services/cloudfront/Cloudfront_API.swift +++ b/Sources/AWSSDKSwift/Services/cloudfront/Cloudfront_API.swift @@ -17,7 +17,7 @@ public struct Cloudfront { region: region, service: "cloudfront", serviceProtocol: ServiceProtocol(type: .restxml), - apiVersion: "2017-03-25", + apiVersion: "2017-10-30", endpoint: endpoint, serviceEndpoints: ["aws-global": "cloudfront.amazonaws.com"], partitionEndpoint: "aws-global", @@ -26,116 +26,184 @@ public struct Cloudfront { ) } - public func updateCloudFrontOriginAccessIdentity20170325(_ input: UpdateCloudFrontOriginAccessIdentityRequest) throws -> UpdateCloudFrontOriginAccessIdentityResult { - return try client.send(operation: "UpdateCloudFrontOriginAccessIdentity2017_03_25", path: "/2017-03-25/origin-access-identity/cloudfront/{Id}/config", httpMethod: "PUT", input: input) + public func updateCloudFrontOriginAccessIdentity20171030(_ input: UpdateCloudFrontOriginAccessIdentityRequest) throws -> UpdateCloudFrontOriginAccessIdentityResult { + return try client.send(operation: "UpdateCloudFrontOriginAccessIdentity2017_10_30", path: "/2017-10-30/origin-access-identity/cloudfront/{Id}/config", httpMethod: "PUT", input: input) } - public func createDistribution20170325(_ input: CreateDistributionRequest) throws -> CreateDistributionResult { - return try client.send(operation: "CreateDistribution2017_03_25", path: "/2017-03-25/distribution", httpMethod: "POST", input: input) + public func createDistribution20171030(_ input: CreateDistributionRequest) throws -> CreateDistributionResult { + return try client.send(operation: "CreateDistribution2017_10_30", path: "/2017-10-30/distribution", httpMethod: "POST", input: input) } - public func updateDistribution20170325(_ input: UpdateDistributionRequest) throws -> UpdateDistributionResult { - return try client.send(operation: "UpdateDistribution2017_03_25", path: "/2017-03-25/distribution/{Id}/config", httpMethod: "PUT", input: input) + public func updateDistribution20171030(_ input: UpdateDistributionRequest) throws -> UpdateDistributionResult { + return try client.send(operation: "UpdateDistribution2017_10_30", path: "/2017-10-30/distribution/{Id}/config", httpMethod: "PUT", input: input) } - public func deleteServiceLinkedRole20170325(_ input: DeleteServiceLinkedRoleRequest) throws { - _ = try client.send(operation: "DeleteServiceLinkedRole2017_03_25", path: "/2017-03-25/service-linked-role/{RoleName}", httpMethod: "DELETE", input: input) + public func listDistributionsByWebACLId20171030(_ input: ListDistributionsByWebACLIdRequest) throws -> ListDistributionsByWebACLIdResult { + return try client.send(operation: "ListDistributionsByWebACLId2017_10_30", path: "/2017-10-30/distributionsByWebACLId/{WebACLId}", httpMethod: "GET", input: input) } - public func getCloudFrontOriginAccessIdentity20170325(_ input: GetCloudFrontOriginAccessIdentityRequest) throws -> GetCloudFrontOriginAccessIdentityResult { - return try client.send(operation: "GetCloudFrontOriginAccessIdentity2017_03_25", path: "/2017-03-25/origin-access-identity/cloudfront/{Id}", httpMethod: "GET", input: input) + public func listDistributions20171030(_ input: ListDistributionsRequest) throws -> ListDistributionsResult { + return try client.send(operation: "ListDistributions2017_10_30", path: "/2017-10-30/distribution", httpMethod: "GET", input: input) } - public func createCloudFrontOriginAccessIdentity20170325(_ input: CreateCloudFrontOriginAccessIdentityRequest) throws -> CreateCloudFrontOriginAccessIdentityResult { - return try client.send(operation: "CreateCloudFrontOriginAccessIdentity2017_03_25", path: "/2017-03-25/origin-access-identity/cloudfront", httpMethod: "POST", input: input) + public func listTagsForResource20171030(_ input: ListTagsForResourceRequest) throws -> ListTagsForResourceResult { + return try client.send(operation: "ListTagsForResource2017_10_30", path: "/2017-10-30/tagging", httpMethod: "GET", input: input) } - public func listDistributionsByWebACLId20170325(_ input: ListDistributionsByWebACLIdRequest) throws -> ListDistributionsByWebACLIdResult { - return try client.send(operation: "ListDistributionsByWebACLId2017_03_25", path: "/2017-03-25/distributionsByWebACLId/{WebACLId}", httpMethod: "GET", input: input) + public func getCloudFrontOriginAccessIdentity20171030(_ input: GetCloudFrontOriginAccessIdentityRequest) throws -> GetCloudFrontOriginAccessIdentityResult { + return try client.send(operation: "GetCloudFrontOriginAccessIdentity2017_10_30", path: "/2017-10-30/origin-access-identity/cloudfront/{Id}", httpMethod: "GET", input: input) } - public func listDistributions20170325(_ input: ListDistributionsRequest) throws -> ListDistributionsResult { - return try client.send(operation: "ListDistributions2017_03_25", path: "/2017-03-25/distribution", httpMethod: "GET", input: input) + public func getPublicKeyConfig20171030(_ input: GetPublicKeyConfigRequest) throws -> GetPublicKeyConfigResult { + return try client.send(operation: "GetPublicKeyConfig2017_10_30", path: "/2017-10-30/public-key/{Id}/config", httpMethod: "GET", input: input) } - public func listTagsForResource20170325(_ input: ListTagsForResourceRequest) throws -> ListTagsForResourceResult { - return try client.send(operation: "ListTagsForResource2017_03_25", path: "/2017-03-25/tagging", httpMethod: "GET", input: input) + public func listFieldLevelEncryptionProfiles20171030(_ input: ListFieldLevelEncryptionProfilesRequest) throws -> ListFieldLevelEncryptionProfilesResult { + return try client.send(operation: "ListFieldLevelEncryptionProfiles2017_10_30", path: "/2017-10-30/field-level-encryption-profile", httpMethod: "GET", input: input) } - public func getDistributionConfig20170325(_ input: GetDistributionConfigRequest) throws -> GetDistributionConfigResult { - return try client.send(operation: "GetDistributionConfig2017_03_25", path: "/2017-03-25/distribution/{Id}/config", httpMethod: "GET", input: input) + public func createCloudFrontOriginAccessIdentity20171030(_ input: CreateCloudFrontOriginAccessIdentityRequest) throws -> CreateCloudFrontOriginAccessIdentityResult { + return try client.send(operation: "CreateCloudFrontOriginAccessIdentity2017_10_30", path: "/2017-10-30/origin-access-identity/cloudfront", httpMethod: "POST", input: input) } - public func createInvalidation20170325(_ input: CreateInvalidationRequest) throws -> CreateInvalidationResult { - return try client.send(operation: "CreateInvalidation2017_03_25", path: "/2017-03-25/distribution/{DistributionId}/invalidation", httpMethod: "POST", input: input) + public func deleteFieldLevelEncryptionProfile20171030(_ input: DeleteFieldLevelEncryptionProfileRequest) throws { + _ = try client.send(operation: "DeleteFieldLevelEncryptionProfile2017_10_30", path: "/2017-10-30/field-level-encryption-profile/{Id}", httpMethod: "DELETE", input: input) } - public func getCloudFrontOriginAccessIdentityConfig20170325(_ input: GetCloudFrontOriginAccessIdentityConfigRequest) throws -> GetCloudFrontOriginAccessIdentityConfigResult { - return try client.send(operation: "GetCloudFrontOriginAccessIdentityConfig2017_03_25", path: "/2017-03-25/origin-access-identity/cloudfront/{Id}/config", httpMethod: "GET", input: input) + public func listFieldLevelEncryptionConfigs20171030(_ input: ListFieldLevelEncryptionConfigsRequest) throws -> ListFieldLevelEncryptionConfigsResult { + return try client.send(operation: "ListFieldLevelEncryptionConfigs2017_10_30", path: "/2017-10-30/field-level-encryption", httpMethod: "GET", input: input) } - public func getInvalidation20170325(_ input: GetInvalidationRequest) throws -> GetInvalidationResult { - return try client.send(operation: "GetInvalidation2017_03_25", path: "/2017-03-25/distribution/{DistributionId}/invalidation/{Id}", httpMethod: "GET", input: input) + public func createFieldLevelEncryptionProfile20171030(_ input: CreateFieldLevelEncryptionProfileRequest) throws -> CreateFieldLevelEncryptionProfileResult { + return try client.send(operation: "CreateFieldLevelEncryptionProfile2017_10_30", path: "/2017-10-30/field-level-encryption-profile", httpMethod: "POST", input: input) } - public func listCloudFrontOriginAccessIdentities20170325(_ input: ListCloudFrontOriginAccessIdentitiesRequest) throws -> ListCloudFrontOriginAccessIdentitiesResult { - return try client.send(operation: "ListCloudFrontOriginAccessIdentities2017_03_25", path: "/2017-03-25/origin-access-identity/cloudfront", httpMethod: "GET", input: input) + public func updateFieldLevelEncryptionConfig20171030(_ input: UpdateFieldLevelEncryptionConfigRequest) throws -> UpdateFieldLevelEncryptionConfigResult { + return try client.send(operation: "UpdateFieldLevelEncryptionConfig2017_10_30", path: "/2017-10-30/field-level-encryption/{Id}/config", httpMethod: "PUT", input: input) } - public func getStreamingDistributionConfig20170325(_ input: GetStreamingDistributionConfigRequest) throws -> GetStreamingDistributionConfigResult { - return try client.send(operation: "GetStreamingDistributionConfig2017_03_25", path: "/2017-03-25/streaming-distribution/{Id}/config", httpMethod: "GET", input: input) + public func getDistributionConfig20171030(_ input: GetDistributionConfigRequest) throws -> GetDistributionConfigResult { + return try client.send(operation: "GetDistributionConfig2017_10_30", path: "/2017-10-30/distribution/{Id}/config", httpMethod: "GET", input: input) } - public func getDistribution20170325(_ input: GetDistributionRequest) throws -> GetDistributionResult { - return try client.send(operation: "GetDistribution2017_03_25", path: "/2017-03-25/distribution/{Id}", httpMethod: "GET", input: input) + public func getFieldLevelEncryptionConfig20171030(_ input: GetFieldLevelEncryptionConfigRequest) throws -> GetFieldLevelEncryptionConfigResult { + return try client.send(operation: "GetFieldLevelEncryptionConfig2017_10_30", path: "/2017-10-30/field-level-encryption/{Id}/config", httpMethod: "GET", input: input) } - public func deleteCloudFrontOriginAccessIdentity20170325(_ input: DeleteCloudFrontOriginAccessIdentityRequest) throws { - _ = try client.send(operation: "DeleteCloudFrontOriginAccessIdentity2017_03_25", path: "/2017-03-25/origin-access-identity/cloudfront/{Id}", httpMethod: "DELETE", input: input) + public func getCloudFrontOriginAccessIdentityConfig20171030(_ input: GetCloudFrontOriginAccessIdentityConfigRequest) throws -> GetCloudFrontOriginAccessIdentityConfigResult { + return try client.send(operation: "GetCloudFrontOriginAccessIdentityConfig2017_10_30", path: "/2017-10-30/origin-access-identity/cloudfront/{Id}/config", httpMethod: "GET", input: input) } - public func listStreamingDistributions20170325(_ input: ListStreamingDistributionsRequest) throws -> ListStreamingDistributionsResult { - return try client.send(operation: "ListStreamingDistributions2017_03_25", path: "/2017-03-25/streaming-distribution", httpMethod: "GET", input: input) + public func createInvalidation20171030(_ input: CreateInvalidationRequest) throws -> CreateInvalidationResult { + return try client.send(operation: "CreateInvalidation2017_10_30", path: "/2017-10-30/distribution/{DistributionId}/invalidation", httpMethod: "POST", input: input) } - public func listInvalidations20170325(_ input: ListInvalidationsRequest) throws -> ListInvalidationsResult { - return try client.send(operation: "ListInvalidations2017_03_25", path: "/2017-03-25/distribution/{DistributionId}/invalidation", httpMethod: "GET", input: input) + public func getInvalidation20171030(_ input: GetInvalidationRequest) throws -> GetInvalidationResult { + return try client.send(operation: "GetInvalidation2017_10_30", path: "/2017-10-30/distribution/{DistributionId}/invalidation/{Id}", httpMethod: "GET", input: input) } - public func getStreamingDistribution20170325(_ input: GetStreamingDistributionRequest) throws -> GetStreamingDistributionResult { - return try client.send(operation: "GetStreamingDistribution2017_03_25", path: "/2017-03-25/streaming-distribution/{Id}", httpMethod: "GET", input: input) + public func listCloudFrontOriginAccessIdentities20171030(_ input: ListCloudFrontOriginAccessIdentitiesRequest) throws -> ListCloudFrontOriginAccessIdentitiesResult { + return try client.send(operation: "ListCloudFrontOriginAccessIdentities2017_10_30", path: "/2017-10-30/origin-access-identity/cloudfront", httpMethod: "GET", input: input) } - public func deleteStreamingDistribution20170325(_ input: DeleteStreamingDistributionRequest) throws { - _ = try client.send(operation: "DeleteStreamingDistribution2017_03_25", path: "/2017-03-25/streaming-distribution/{Id}", httpMethod: "DELETE", input: input) + public func createPublicKey20171030(_ input: CreatePublicKeyRequest) throws -> CreatePublicKeyResult { + return try client.send(operation: "CreatePublicKey2017_10_30", path: "/2017-10-30/public-key", httpMethod: "POST", input: input) } - public func untagResource20170325(_ input: UntagResourceRequest) throws { - _ = try client.send(operation: "UntagResource2017_03_25", path: "/2017-03-25/tagging?Operation=Untag", httpMethod: "POST", input: input) + public func getStreamingDistributionConfig20171030(_ input: GetStreamingDistributionConfigRequest) throws -> GetStreamingDistributionConfigResult { + return try client.send(operation: "GetStreamingDistributionConfig2017_10_30", path: "/2017-10-30/streaming-distribution/{Id}/config", httpMethod: "GET", input: input) } - public func createDistributionWithTags20170325(_ input: CreateDistributionWithTagsRequest) throws -> CreateDistributionWithTagsResult { - return try client.send(operation: "CreateDistributionWithTags2017_03_25", path: "/2017-03-25/distribution?WithTags", httpMethod: "POST", input: input) + public func updatePublicKey20171030(_ input: UpdatePublicKeyRequest) throws -> UpdatePublicKeyResult { + return try client.send(operation: "UpdatePublicKey2017_10_30", path: "/2017-10-30/public-key/{Id}/config", httpMethod: "PUT", input: input) } - public func createStreamingDistributionWithTags20170325(_ input: CreateStreamingDistributionWithTagsRequest) throws -> CreateStreamingDistributionWithTagsResult { - return try client.send(operation: "CreateStreamingDistributionWithTags2017_03_25", path: "/2017-03-25/streaming-distribution?WithTags", httpMethod: "POST", input: input) + public func deletePublicKey20171030(_ input: DeletePublicKeyRequest) throws { + _ = try client.send(operation: "DeletePublicKey2017_10_30", path: "/2017-10-30/public-key/{Id}", httpMethod: "DELETE", input: input) } - public func deleteDistribution20170325(_ input: DeleteDistributionRequest) throws { - _ = try client.send(operation: "DeleteDistribution2017_03_25", path: "/2017-03-25/distribution/{Id}", httpMethod: "DELETE", input: input) + public func getPublicKey20171030(_ input: GetPublicKeyRequest) throws -> GetPublicKeyResult { + return try client.send(operation: "GetPublicKey2017_10_30", path: "/2017-10-30/public-key/{Id}", httpMethod: "GET", input: input) } - public func tagResource20170325(_ input: TagResourceRequest) throws { - _ = try client.send(operation: "TagResource2017_03_25", path: "/2017-03-25/tagging?Operation=Tag", httpMethod: "POST", input: input) + public func createFieldLevelEncryptionConfig20171030(_ input: CreateFieldLevelEncryptionConfigRequest) throws -> CreateFieldLevelEncryptionConfigResult { + return try client.send(operation: "CreateFieldLevelEncryptionConfig2017_10_30", path: "/2017-10-30/field-level-encryption", httpMethod: "POST", input: input) } - public func createStreamingDistribution20170325(_ input: CreateStreamingDistributionRequest) throws -> CreateStreamingDistributionResult { - return try client.send(operation: "CreateStreamingDistribution2017_03_25", path: "/2017-03-25/streaming-distribution", httpMethod: "POST", input: input) + public func getDistribution20171030(_ input: GetDistributionRequest) throws -> GetDistributionResult { + return try client.send(operation: "GetDistribution2017_10_30", path: "/2017-10-30/distribution/{Id}", httpMethod: "GET", input: input) } - public func updateStreamingDistribution20170325(_ input: UpdateStreamingDistributionRequest) throws -> UpdateStreamingDistributionResult { - return try client.send(operation: "UpdateStreamingDistribution2017_03_25", path: "/2017-03-25/streaming-distribution/{Id}/config", httpMethod: "PUT", input: input) + public func deleteCloudFrontOriginAccessIdentity20171030(_ input: DeleteCloudFrontOriginAccessIdentityRequest) throws { + _ = try client.send(operation: "DeleteCloudFrontOriginAccessIdentity2017_10_30", path: "/2017-10-30/origin-access-identity/cloudfront/{Id}", httpMethod: "DELETE", input: input) + } + + public func getFieldLevelEncryptionProfile20171030(_ input: GetFieldLevelEncryptionProfileRequest) throws -> GetFieldLevelEncryptionProfileResult { + return try client.send(operation: "GetFieldLevelEncryptionProfile2017_10_30", path: "/2017-10-30/field-level-encryption-profile/{Id}", httpMethod: "GET", input: input) + } + + public func getFieldLevelEncryption20171030(_ input: GetFieldLevelEncryptionRequest) throws -> GetFieldLevelEncryptionResult { + return try client.send(operation: "GetFieldLevelEncryption2017_10_30", path: "/2017-10-30/field-level-encryption/{Id}", httpMethod: "GET", input: input) + } + + public func listStreamingDistributions20171030(_ input: ListStreamingDistributionsRequest) throws -> ListStreamingDistributionsResult { + return try client.send(operation: "ListStreamingDistributions2017_10_30", path: "/2017-10-30/streaming-distribution", httpMethod: "GET", input: input) + } + + public func listInvalidations20171030(_ input: ListInvalidationsRequest) throws -> ListInvalidationsResult { + return try client.send(operation: "ListInvalidations2017_10_30", path: "/2017-10-30/distribution/{DistributionId}/invalidation", httpMethod: "GET", input: input) + } + + public func getStreamingDistribution20171030(_ input: GetStreamingDistributionRequest) throws -> GetStreamingDistributionResult { + return try client.send(operation: "GetStreamingDistribution2017_10_30", path: "/2017-10-30/streaming-distribution/{Id}", httpMethod: "GET", input: input) + } + + public func deleteStreamingDistribution20171030(_ input: DeleteStreamingDistributionRequest) throws { + _ = try client.send(operation: "DeleteStreamingDistribution2017_10_30", path: "/2017-10-30/streaming-distribution/{Id}", httpMethod: "DELETE", input: input) + } + + public func untagResource20171030(_ input: UntagResourceRequest) throws { + _ = try client.send(operation: "UntagResource2017_10_30", path: "/2017-10-30/tagging?Operation=Untag", httpMethod: "POST", input: input) + } + + public func deleteFieldLevelEncryptionConfig20171030(_ input: DeleteFieldLevelEncryptionConfigRequest) throws { + _ = try client.send(operation: "DeleteFieldLevelEncryptionConfig2017_10_30", path: "/2017-10-30/field-level-encryption/{Id}", httpMethod: "DELETE", input: input) + } + + public func createStreamingDistributionWithTags20171030(_ input: CreateStreamingDistributionWithTagsRequest) throws -> CreateStreamingDistributionWithTagsResult { + return try client.send(operation: "CreateStreamingDistributionWithTags2017_10_30", path: "/2017-10-30/streaming-distribution?WithTags", httpMethod: "POST", input: input) + } + + public func createDistributionWithTags20171030(_ input: CreateDistributionWithTagsRequest) throws -> CreateDistributionWithTagsResult { + return try client.send(operation: "CreateDistributionWithTags2017_10_30", path: "/2017-10-30/distribution?WithTags", httpMethod: "POST", input: input) + } + + public func deleteDistribution20171030(_ input: DeleteDistributionRequest) throws { + _ = try client.send(operation: "DeleteDistribution2017_10_30", path: "/2017-10-30/distribution/{Id}", httpMethod: "DELETE", input: input) + } + + public func tagResource20171030(_ input: TagResourceRequest) throws { + _ = try client.send(operation: "TagResource2017_10_30", path: "/2017-10-30/tagging?Operation=Tag", httpMethod: "POST", input: input) + } + + public func createStreamingDistribution20171030(_ input: CreateStreamingDistributionRequest) throws -> CreateStreamingDistributionResult { + return try client.send(operation: "CreateStreamingDistribution2017_10_30", path: "/2017-10-30/streaming-distribution", httpMethod: "POST", input: input) + } + + public func updateFieldLevelEncryptionProfile20171030(_ input: UpdateFieldLevelEncryptionProfileRequest) throws -> UpdateFieldLevelEncryptionProfileResult { + return try client.send(operation: "UpdateFieldLevelEncryptionProfile2017_10_30", path: "/2017-10-30/field-level-encryption-profile/{Id}/config", httpMethod: "PUT", input: input) + } + + public func listPublicKeys20171030(_ input: ListPublicKeysRequest) throws -> ListPublicKeysResult { + return try client.send(operation: "ListPublicKeys2017_10_30", path: "/2017-10-30/public-key", httpMethod: "GET", input: input) + } + + public func getFieldLevelEncryptionProfileConfig20171030(_ input: GetFieldLevelEncryptionProfileConfigRequest) throws -> GetFieldLevelEncryptionProfileConfigResult { + return try client.send(operation: "GetFieldLevelEncryptionProfileConfig2017_10_30", path: "/2017-10-30/field-level-encryption-profile/{Id}/config", httpMethod: "GET", input: input) + } + + public func updateStreamingDistribution20171030(_ input: UpdateStreamingDistributionRequest) throws -> UpdateStreamingDistributionResult { + return try client.send(operation: "UpdateStreamingDistribution2017_10_30", path: "/2017-10-30/streaming-distribution/{Id}/config", httpMethod: "PUT", input: input) } diff --git a/Sources/AWSSDKSwift/Services/cloudfront/Cloudfront_Error.swift b/Sources/AWSSDKSwift/Services/cloudfront/Cloudfront_Error.swift index 3318ea370f2..4076ff25909 100644 --- a/Sources/AWSSDKSwift/Services/cloudfront/Cloudfront_Error.swift +++ b/Sources/AWSSDKSwift/Services/cloudfront/Cloudfront_Error.swift @@ -48,18 +48,38 @@ public enum CloudfrontError: AWSErrorType { case invalidLambdaFunctionAssociation(message: String?) case invalidOriginReadTimeout(message: String?) case invalidOriginKeepaliveTimeout(message: String?) + case noSuchFieldLevelEncryptionConfig(message: String?) + case illegalFieldLevelEncryptionConfigAssociationWithCacheBehavior(message: String?) + case tooManyDistributionsAssociatedToFieldLevelEncryptionConfig(message: String?) case noSuchDistribution(message: String?) - case resourceInUse(message: String?) + case invalidTagging(message: String?) case noSuchResource(message: String?) + case noSuchPublicKey(message: String?) case cloudFrontOriginAccessIdentityAlreadyExists(message: String?) case tooManyCloudFrontOriginAccessIdentities(message: String?) - case invalidTagging(message: String?) + case noSuchFieldLevelEncryptionProfile(message: String?) + case fieldLevelEncryptionProfileInUse(message: String?) + case fieldLevelEncryptionProfileAlreadyExists(message: String?) + case fieldLevelEncryptionProfileSizeExceeded(message: String?) + case tooManyFieldLevelEncryptionProfiles(message: String?) + case tooManyFieldLevelEncryptionEncryptionEntities(message: String?) + case tooManyFieldLevelEncryptionFieldPatterns(message: String?) + case tooManyFieldLevelEncryptionQueryArgProfiles(message: String?) + case tooManyFieldLevelEncryptionContentTypeProfiles(message: String?) + case queryArgProfileEmpty(message: String?) case batchTooLarge(message: String?) case tooManyInvalidationsInProgress(message: String?) case noSuchInvalidation(message: String?) + case publicKeyAlreadyExists(message: String?) + case tooManyPublicKeys(message: String?) case noSuchStreamingDistribution(message: String?) + case cannotChangeImmutablePublicKeyFields(message: String?) + case publicKeyInUse(message: String?) + case fieldLevelEncryptionConfigAlreadyExists(message: String?) + case tooManyFieldLevelEncryptionConfigs(message: String?) case cloudFrontOriginAccessIdentityInUse(message: String?) case streamingDistributionNotDisabled(message: String?) + case fieldLevelEncryptionConfigInUse(message: String?) case streamingDistributionAlreadyExists(message: String?) case tooManyStreamingDistributionCNAMEs(message: String?) case tooManyStreamingDistributions(message: String?) @@ -161,30 +181,70 @@ extension CloudfrontError { self = .invalidOriginReadTimeout(message: message) case "InvalidOriginKeepaliveTimeout": self = .invalidOriginKeepaliveTimeout(message: message) + case "NoSuchFieldLevelEncryptionConfig": + self = .noSuchFieldLevelEncryptionConfig(message: message) + case "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior": + self = .illegalFieldLevelEncryptionConfigAssociationWithCacheBehavior(message: message) + case "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig": + self = .tooManyDistributionsAssociatedToFieldLevelEncryptionConfig(message: message) case "NoSuchDistribution": self = .noSuchDistribution(message: message) - case "ResourceInUse": - self = .resourceInUse(message: message) + case "InvalidTagging": + self = .invalidTagging(message: message) case "NoSuchResource": self = .noSuchResource(message: message) + case "NoSuchPublicKey": + self = .noSuchPublicKey(message: message) case "CloudFrontOriginAccessIdentityAlreadyExists": self = .cloudFrontOriginAccessIdentityAlreadyExists(message: message) case "TooManyCloudFrontOriginAccessIdentities": self = .tooManyCloudFrontOriginAccessIdentities(message: message) - case "InvalidTagging": - self = .invalidTagging(message: message) + case "NoSuchFieldLevelEncryptionProfile": + self = .noSuchFieldLevelEncryptionProfile(message: message) + case "FieldLevelEncryptionProfileInUse": + self = .fieldLevelEncryptionProfileInUse(message: message) + case "FieldLevelEncryptionProfileAlreadyExists": + self = .fieldLevelEncryptionProfileAlreadyExists(message: message) + case "FieldLevelEncryptionProfileSizeExceeded": + self = .fieldLevelEncryptionProfileSizeExceeded(message: message) + case "TooManyFieldLevelEncryptionProfiles": + self = .tooManyFieldLevelEncryptionProfiles(message: message) + case "TooManyFieldLevelEncryptionEncryptionEntities": + self = .tooManyFieldLevelEncryptionEncryptionEntities(message: message) + case "TooManyFieldLevelEncryptionFieldPatterns": + self = .tooManyFieldLevelEncryptionFieldPatterns(message: message) + case "TooManyFieldLevelEncryptionQueryArgProfiles": + self = .tooManyFieldLevelEncryptionQueryArgProfiles(message: message) + case "TooManyFieldLevelEncryptionContentTypeProfiles": + self = .tooManyFieldLevelEncryptionContentTypeProfiles(message: message) + case "QueryArgProfileEmpty": + self = .queryArgProfileEmpty(message: message) case "BatchTooLarge": self = .batchTooLarge(message: message) case "TooManyInvalidationsInProgress": self = .tooManyInvalidationsInProgress(message: message) case "NoSuchInvalidation": self = .noSuchInvalidation(message: message) + case "PublicKeyAlreadyExists": + self = .publicKeyAlreadyExists(message: message) + case "TooManyPublicKeys": + self = .tooManyPublicKeys(message: message) case "NoSuchStreamingDistribution": self = .noSuchStreamingDistribution(message: message) + case "CannotChangeImmutablePublicKeyFields": + self = .cannotChangeImmutablePublicKeyFields(message: message) + case "PublicKeyInUse": + self = .publicKeyInUse(message: message) + case "FieldLevelEncryptionConfigAlreadyExists": + self = .fieldLevelEncryptionConfigAlreadyExists(message: message) + case "TooManyFieldLevelEncryptionConfigs": + self = .tooManyFieldLevelEncryptionConfigs(message: message) case "CloudFrontOriginAccessIdentityInUse": self = .cloudFrontOriginAccessIdentityInUse(message: message) case "StreamingDistributionNotDisabled": self = .streamingDistributionNotDisabled(message: message) + case "FieldLevelEncryptionConfigInUse": + self = .fieldLevelEncryptionConfigInUse(message: message) case "StreamingDistributionAlreadyExists": self = .streamingDistributionAlreadyExists(message: message) case "TooManyStreamingDistributionCNAMEs": diff --git a/Sources/AWSSDKSwift/Services/cloudfront/Cloudfront_Shapes.swift b/Sources/AWSSDKSwift/Services/cloudfront/Cloudfront_Shapes.swift index dc547bd40b4..ea0fe7d44f9 100644 --- a/Sources/AWSSDKSwift/Services/cloudfront/Cloudfront_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/cloudfront/Cloudfront_Shapes.swift @@ -5,6 +5,22 @@ import AWSSDKSwiftCore extension Cloudfront { + public struct GetFieldLevelEncryptionProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) + ] + /// Get the ID for the field-level encryption profile information. + public let id: String + + public init(id: String) { + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + } + } + public struct GetStreamingDistributionResult: AWSShape { /// The key for the payload public static let payloadPath: String? = "StreamingDistribution" @@ -28,26 +44,56 @@ extension Cloudfront { } } - public struct TagResourceRequest: AWSShape { + public struct PublicKey: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PublicKeyConfig", required: true, type: .structure), + AWSShapeMember(label: "CreatedTime", required: true, type: .timestamp), + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// A complex data type for a public key you add to CloudFront to use with features like field-level encryption. + public let publicKeyConfig: PublicKeyConfig + /// A time you added a public key to CloudFront. + public let createdTime: TimeStamp + /// A unique ID assigned to a public key you've added to CloudFront. + public let id: String + + public init(publicKeyConfig: PublicKeyConfig, createdTime: TimeStamp, id: String) { + self.publicKeyConfig = publicKeyConfig + self.createdTime = createdTime + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case publicKeyConfig = "PublicKeyConfig" + case createdTime = "CreatedTime" + case id = "Id" + } + } + + public struct CreateStreamingDistributionWithTagsResult: AWSShape { /// The key for the payload - public static let payloadPath: String? = "Tags" + public static let payloadPath: String? = "StreamingDistribution" public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Resource", location: .querystring(locationName: "Resource"), required: true, type: .string), - AWSShapeMember(label: "Tags", location: .body(locationName: "Tags"), required: true, type: .structure) + AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), + AWSShapeMember(label: "Location", location: .header(locationName: "Location"), required: false, type: .string), + AWSShapeMember(label: "StreamingDistribution", required: false, type: .structure) ] - /// An ARN of a CloudFront resource. - public let resource: String - /// A complex type that contains zero or more Tag elements. - public let tags: Tags + public let eTag: String? + /// The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8. + public let location: String? + /// The streaming distribution's information. + public let streamingDistribution: StreamingDistribution? - public init(resource: String, tags: Tags) { - self.resource = resource - self.tags = tags + public init(eTag: String? = nil, location: String? = nil, streamingDistribution: StreamingDistribution? = nil) { + self.eTag = eTag + self.location = location + self.streamingDistribution = streamingDistribution } private enum CodingKeys: String, CodingKey { - case resource = "Resource" - case tags = "Tags" + case eTag = "ETag" + case location = "Location" + case streamingDistribution = "StreamingDistribution" } } @@ -66,6 +112,11 @@ extension Cloudfront { } } + public enum Format: String, CustomStringConvertible, Codable { + case urlencoded = "URLEncoded" + public var description: String { return self.rawValue } + } + public struct Signer: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AwsAccountNumber", required: false, type: .string), @@ -87,30 +138,54 @@ extension Cloudfront { } } - public struct CreateStreamingDistributionWithTagsResult: AWSShape { + public struct TagResourceRequest: AWSShape { /// The key for the payload - public static let payloadPath: String? = "StreamingDistribution" + public static let payloadPath: String? = "Tags" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Resource", location: .querystring(locationName: "Resource"), required: true, type: .string), + AWSShapeMember(label: "Tags", location: .body(locationName: "Tags"), required: true, type: .structure) + ] + /// An ARN of a CloudFront resource. + public let resource: String + /// A complex type that contains zero or more Tag elements. + public let tags: Tags + + public init(resource: String, tags: Tags) { + self.resource = resource + self.tags = tags + } + + private enum CodingKeys: String, CodingKey { + case resource = "Resource" + case tags = "Tags" + } + } + + public struct CreateFieldLevelEncryptionProfileResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryptionProfile" public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), AWSShapeMember(label: "Location", location: .header(locationName: "Location"), required: false, type: .string), - AWSShapeMember(label: "StreamingDistribution", required: false, type: .structure) + AWSShapeMember(label: "FieldLevelEncryptionProfile", required: false, type: .structure) ] + /// The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. public let eTag: String? - /// The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8. + /// 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. public let location: String? - /// The streaming distribution's information. - public let streamingDistribution: StreamingDistribution? + /// Returned when you create a new field-level encryption profile. + public let fieldLevelEncryptionProfile: FieldLevelEncryptionProfile? - public init(eTag: String? = nil, location: String? = nil, streamingDistribution: StreamingDistribution? = nil) { + public init(eTag: String? = nil, location: String? = nil, fieldLevelEncryptionProfile: FieldLevelEncryptionProfile? = nil) { self.eTag = eTag self.location = location - self.streamingDistribution = streamingDistribution + self.fieldLevelEncryptionProfile = fieldLevelEncryptionProfile } private enum CodingKeys: String, CodingKey { case eTag = "ETag" case location = "Location" - case streamingDistribution = "StreamingDistribution" + case fieldLevelEncryptionProfile = "FieldLevelEncryptionProfile" } } @@ -260,6 +335,29 @@ extension Cloudfront { } } + public struct GetFieldLevelEncryptionResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryption" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), + AWSShapeMember(label: "FieldLevelEncryption", required: false, type: .structure) + ] + /// The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL. + public let eTag: String? + /// Return the field-level encryption configuration information. + public let fieldLevelEncryption: FieldLevelEncryption? + + public init(eTag: String? = nil, fieldLevelEncryption: FieldLevelEncryption? = nil) { + self.eTag = eTag + self.fieldLevelEncryption = fieldLevelEncryption + } + + private enum CodingKeys: String, CodingKey { + case eTag = "ETag" + case fieldLevelEncryption = "FieldLevelEncryption" + } + } + public struct CreateStreamingDistributionWithTagsRequest: AWSShape { /// The key for the payload public static let payloadPath: String? = "StreamingDistributionConfigWithTags" @@ -278,24 +376,19 @@ extension Cloudfront { } } - public struct QueryStringCacheKeys: AWSShape { + public struct GetStreamingDistributionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Items", required: false, type: .structure), - AWSShapeMember(label: "Quantity", required: true, type: .integer) + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) ] - /// (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. - public let items: QueryStringCacheKeysList? - /// The number of whitelisted query string parameters for this cache behavior. - public let quantity: Int32 + /// The streaming distribution's ID. + public let id: String - public init(items: QueryStringCacheKeysList? = nil, quantity: Int32) { - self.items = items - self.quantity = quantity + public init(id: String) { + self.id = id } private enum CodingKeys: String, CodingKey { - case items = "Items" - case quantity = "Quantity" + case id = "Id" } } @@ -320,11 +413,11 @@ extension Cloudfront { } } - public struct GetStreamingDistributionRequest: AWSShape { + public struct GetFieldLevelEncryptionConfigRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) ] - /// The streaming distribution's ID. + /// Request the ID for the field-level encryption configuration information. public let id: String public init(id: String) { @@ -336,6 +429,42 @@ extension Cloudfront { } } + public struct QueryStringCacheKeys: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Items", required: false, type: .structure), + AWSShapeMember(label: "Quantity", required: true, type: .integer) + ] + /// (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. + public let items: QueryStringCacheKeysList? + /// The number of whitelisted query string parameters for this cache behavior. + public let quantity: Int32 + + public init(items: QueryStringCacheKeysList? = nil, quantity: Int32) { + self.items = items + self.quantity = quantity + } + + private enum CodingKeys: String, CodingKey { + case items = "Items" + case quantity = "Quantity" + } + } + + public struct PathList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Path", required: false, type: .list) + ] + public let path: [String]? + + public init(path: [String]? = nil) { + self.path = path + } + + private enum CodingKeys: String, CodingKey { + case path = "Path" + } + } + public struct Paths: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Items", required: false, type: .structure), @@ -372,82 +501,118 @@ extension Cloudfront { } } + public struct Tag: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: false, type: .string), + AWSShapeMember(label: "Key", required: true, type: .string) + ] + /// 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 _ - . : / = + @. + public let value: String? + /// 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 _ - . : / = + @. + public let key: String + + public init(value: String? = nil, key: String) { + self.value = value + self.key = key + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case key = "Key" + } + } + public struct DefaultCacheBehavior: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DefaultTTL", required: false, type: .long), AWSShapeMember(label: "TargetOriginId", required: true, type: .string), + AWSShapeMember(label: "AllowedMethods", required: false, type: .structure), AWSShapeMember(label: "ForwardedValues", required: true, type: .structure), AWSShapeMember(label: "TrustedSigners", required: true, type: .structure), AWSShapeMember(label: "Compress", required: false, type: .boolean), - AWSShapeMember(label: "SmoothStreaming", required: false, type: .boolean), - AWSShapeMember(label: "MaxTTL", required: false, type: .long), AWSShapeMember(label: "LambdaFunctionAssociations", required: false, type: .structure), + AWSShapeMember(label: "MaxTTL", required: false, type: .long), + AWSShapeMember(label: "SmoothStreaming", required: false, type: .boolean), AWSShapeMember(label: "MinTTL", required: true, type: .long), AWSShapeMember(label: "ViewerProtocolPolicy", required: true, type: .enum), - AWSShapeMember(label: "AllowedMethods", required: false, type: .structure) + AWSShapeMember(label: "FieldLevelEncryptionId", required: false, type: .string), + AWSShapeMember(label: "DefaultTTL", required: false, type: .long) ] - /// 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. - public let defaultTTL: Int64? /// 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. public let targetOriginId: String + public let allowedMethods: AllowedMethods? /// A complex type that specifies how CloudFront handles query strings and cookies. public let forwardedValues: ForwardedValues /// 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. public let trustedSigners: TrustedSigners /// 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. public let compress: Bool? - /// 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. - public let smoothStreaming: Bool? - public let maxTTL: Int64? /// A complex type that contains zero or more Lambda function associations for a cache behavior. public let lambdaFunctionAssociations: LambdaFunctionAssociations? + public let maxTTL: Int64? + /// 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. + public let smoothStreaming: Bool? /// 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). public let minTTL: Int64 /// 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. public let viewerProtocolPolicy: ViewerProtocolPolicy - public let allowedMethods: AllowedMethods? + public let fieldLevelEncryptionId: String? + /// 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. + public let defaultTTL: Int64? - public init(defaultTTL: Int64? = nil, targetOriginId: String, forwardedValues: ForwardedValues, trustedSigners: TrustedSigners, compress: Bool? = nil, smoothStreaming: Bool? = nil, maxTTL: Int64? = nil, lambdaFunctionAssociations: LambdaFunctionAssociations? = nil, minTTL: Int64, viewerProtocolPolicy: ViewerProtocolPolicy, allowedMethods: AllowedMethods? = nil) { - self.defaultTTL = defaultTTL + public init(targetOriginId: String, allowedMethods: AllowedMethods? = nil, forwardedValues: ForwardedValues, trustedSigners: TrustedSigners, compress: Bool? = nil, lambdaFunctionAssociations: LambdaFunctionAssociations? = nil, maxTTL: Int64? = nil, smoothStreaming: Bool? = nil, minTTL: Int64, viewerProtocolPolicy: ViewerProtocolPolicy, fieldLevelEncryptionId: String? = nil, defaultTTL: Int64? = nil) { self.targetOriginId = targetOriginId + self.allowedMethods = allowedMethods self.forwardedValues = forwardedValues self.trustedSigners = trustedSigners self.compress = compress - self.smoothStreaming = smoothStreaming - self.maxTTL = maxTTL self.lambdaFunctionAssociations = lambdaFunctionAssociations + self.maxTTL = maxTTL + self.smoothStreaming = smoothStreaming self.minTTL = minTTL self.viewerProtocolPolicy = viewerProtocolPolicy - self.allowedMethods = allowedMethods + self.fieldLevelEncryptionId = fieldLevelEncryptionId + self.defaultTTL = defaultTTL } private enum CodingKeys: String, CodingKey { - case defaultTTL = "DefaultTTL" case targetOriginId = "TargetOriginId" + case allowedMethods = "AllowedMethods" case forwardedValues = "ForwardedValues" case trustedSigners = "TrustedSigners" case compress = "Compress" - case smoothStreaming = "SmoothStreaming" - case maxTTL = "MaxTTL" case lambdaFunctionAssociations = "LambdaFunctionAssociations" + case maxTTL = "MaxTTL" + case smoothStreaming = "SmoothStreaming" case minTTL = "MinTTL" case viewerProtocolPolicy = "ViewerProtocolPolicy" - case allowedMethods = "AllowedMethods" + case fieldLevelEncryptionId = "FieldLevelEncryptionId" + case defaultTTL = "DefaultTTL" } } - public struct PathList: AWSShape { + public struct ContentTypeProfile: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Path", required: false, type: .list) + AWSShapeMember(label: "Format", required: true, type: .enum), + AWSShapeMember(label: "ProfileId", required: false, type: .string), + AWSShapeMember(label: "ContentType", required: true, type: .string) ] - public let path: [String]? + /// The format for a field-level encryption content type-profile mapping. + public let format: Format + /// The profile ID for a field-level encryption content type-profile mapping. + public let profileId: String? + /// The content type for a field-level encryption content type-profile mapping. + public let contentType: String - public init(path: [String]? = nil) { - self.path = path + public init(format: Format, profileId: String? = nil, contentType: String) { + self.format = format + self.profileId = profileId + self.contentType = contentType } private enum CodingKeys: String, CodingKey { - case path = "Path" + case format = "Format" + case profileId = "ProfileId" + case contentType = "ContentType" } } @@ -482,24 +647,19 @@ extension Cloudfront { } } - public struct Tag: AWSShape { + public struct GetCloudFrontOriginAccessIdentityRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Value", required: false, type: .string), - AWSShapeMember(label: "Key", required: true, type: .string) + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) ] - /// 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 _ - . : / = + @. - public let value: String? - /// 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 _ - . : / = + @. - public let key: String + /// The identity's ID. + public let id: String - public init(value: String? = nil, key: String) { - self.value = value - self.key = key + public init(id: String) { + self.id = id } private enum CodingKeys: String, CodingKey { - case value = "Value" - case key = "Key" + case id = "Id" } } @@ -521,29 +681,34 @@ extension Cloudfront { } } - public struct GetCloudFrontOriginAccessIdentityRequest: AWSShape { + public enum ViewerProtocolPolicy: String, CustomStringConvertible, Codable { + case allowAll = "allow-all" + case httpsOnly = "https-only" + case redirectToHttps = "redirect-to-https" + public var description: String { return self.rawValue } + } + + public struct ListFieldLevelEncryptionConfigsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) + AWSShapeMember(label: "Marker", location: .querystring(locationName: "Marker"), required: false, type: .string), + AWSShapeMember(label: "MaxItems", location: .querystring(locationName: "MaxItems"), required: false, type: .string) ] - /// The identity's ID. - public let id: String + /// 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). + public let marker: String? + /// The maximum number of field-level encryption configurations you want in the response body. + public let maxItems: String? - public init(id: String) { - self.id = id + public init(marker: String? = nil, maxItems: String? = nil) { + self.marker = marker + self.maxItems = maxItems } private enum CodingKeys: String, CodingKey { - case id = "Id" + case marker = "Marker" + case maxItems = "MaxItems" } } - public enum ViewerProtocolPolicy: String, CustomStringConvertible, Codable { - case allowAll = "allow-all" - case httpsOnly = "https-only" - case redirectToHttps = "redirect-to-https" - public var description: String { return self.rawValue } - } - public struct UpdateCloudFrontOriginAccessIdentityRequest: AWSShape { /// The key for the payload public static let payloadPath: String? = "CloudFrontOriginAccessIdentityConfig" @@ -590,6 +755,21 @@ extension Cloudfront { } } + public struct EncryptionEntityList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EncryptionEntity", required: false, type: .list) + ] + public let encryptionEntity: [EncryptionEntity]? + + public init(encryptionEntity: [EncryptionEntity]? = nil) { + self.encryptionEntity = encryptionEntity + } + + private enum CodingKeys: String, CodingKey { + case encryptionEntity = "EncryptionEntity" + } + } + public struct CreateInvalidationResult: AWSShape { /// The key for the payload public static let payloadPath: String? = "Invalidation" @@ -613,6 +793,101 @@ extension Cloudfront { } } + public struct QueryArgProfiles: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Items", required: false, type: .structure), + AWSShapeMember(label: "Quantity", required: true, type: .integer) + ] + /// Number of items for query argument-profile mapping for field-level encryption. + public let items: QueryArgProfileList? + /// Number of profiles for query argument-profile mapping for field-level encryption. + public let quantity: Int32 + + public init(items: QueryArgProfileList? = nil, quantity: Int32) { + self.items = items + self.quantity = quantity + } + + private enum CodingKeys: String, CodingKey { + case items = "Items" + case quantity = "Quantity" + } + } + + public struct CacheBehavior: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TrustedSigners", required: true, type: .structure), + AWSShapeMember(label: "SmoothStreaming", required: false, type: .boolean), + AWSShapeMember(label: "ViewerProtocolPolicy", required: true, type: .enum), + AWSShapeMember(label: "FieldLevelEncryptionId", required: false, type: .string), + AWSShapeMember(label: "TargetOriginId", required: true, type: .string), + AWSShapeMember(label: "DefaultTTL", required: false, type: .long), + AWSShapeMember(label: "PathPattern", required: true, type: .string), + AWSShapeMember(label: "ForwardedValues", required: true, type: .structure), + AWSShapeMember(label: "Compress", required: false, type: .boolean), + AWSShapeMember(label: "LambdaFunctionAssociations", required: false, type: .structure), + AWSShapeMember(label: "MaxTTL", required: false, type: .long), + AWSShapeMember(label: "MinTTL", required: true, type: .long), + AWSShapeMember(label: "AllowedMethods", required: false, type: .structure) + ] + /// 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. + public let trustedSigners: TrustedSigners + /// 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. + public let smoothStreaming: Bool? + /// 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. + public let viewerProtocolPolicy: ViewerProtocolPolicy + public let fieldLevelEncryptionId: String? + /// 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. + public let targetOriginId: String + /// 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. + public let defaultTTL: Int64? + /// 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. + public let pathPattern: String + /// A complex type that specifies how CloudFront handles query strings and cookies. + public let forwardedValues: ForwardedValues + /// 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. + public let compress: Bool? + /// A complex type that contains zero or more Lambda function associations for a cache behavior. + public let lambdaFunctionAssociations: LambdaFunctionAssociations? + /// 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. + public let maxTTL: Int64? + /// 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). + public let minTTL: Int64 + public let allowedMethods: AllowedMethods? + + public init(trustedSigners: TrustedSigners, smoothStreaming: Bool? = nil, viewerProtocolPolicy: ViewerProtocolPolicy, fieldLevelEncryptionId: String? = nil, targetOriginId: String, defaultTTL: Int64? = nil, pathPattern: String, forwardedValues: ForwardedValues, compress: Bool? = nil, lambdaFunctionAssociations: LambdaFunctionAssociations? = nil, maxTTL: Int64? = nil, minTTL: Int64, allowedMethods: AllowedMethods? = nil) { + self.trustedSigners = trustedSigners + self.smoothStreaming = smoothStreaming + self.viewerProtocolPolicy = viewerProtocolPolicy + self.fieldLevelEncryptionId = fieldLevelEncryptionId + self.targetOriginId = targetOriginId + self.defaultTTL = defaultTTL + self.pathPattern = pathPattern + self.forwardedValues = forwardedValues + self.compress = compress + self.lambdaFunctionAssociations = lambdaFunctionAssociations + self.maxTTL = maxTTL + self.minTTL = minTTL + self.allowedMethods = allowedMethods + } + + private enum CodingKeys: String, CodingKey { + case trustedSigners = "TrustedSigners" + case smoothStreaming = "SmoothStreaming" + case viewerProtocolPolicy = "ViewerProtocolPolicy" + case fieldLevelEncryptionId = "FieldLevelEncryptionId" + case targetOriginId = "TargetOriginId" + case defaultTTL = "DefaultTTL" + case pathPattern = "PathPattern" + case forwardedValues = "ForwardedValues" + case compress = "Compress" + case lambdaFunctionAssociations = "LambdaFunctionAssociations" + case maxTTL = "MaxTTL" + case minTTL = "MinTTL" + case allowedMethods = "AllowedMethods" + } + } + public struct StreamingDistributionSummary: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LastModifiedTime", required: true, type: .timestamp), @@ -678,76 +953,6 @@ extension Cloudfront { } } - public struct CacheBehavior: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TargetOriginId", required: true, type: .string), - AWSShapeMember(label: "PathPattern", required: true, type: .string), - AWSShapeMember(label: "AllowedMethods", required: false, type: .structure), - AWSShapeMember(label: "ForwardedValues", required: true, type: .structure), - AWSShapeMember(label: "TrustedSigners", required: true, type: .structure), - AWSShapeMember(label: "Compress", required: false, type: .boolean), - AWSShapeMember(label: "LambdaFunctionAssociations", required: false, type: .structure), - AWSShapeMember(label: "MaxTTL", required: false, type: .long), - AWSShapeMember(label: "SmoothStreaming", required: false, type: .boolean), - AWSShapeMember(label: "MinTTL", required: true, type: .long), - AWSShapeMember(label: "ViewerProtocolPolicy", required: true, type: .enum), - AWSShapeMember(label: "DefaultTTL", required: false, type: .long) - ] - /// 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. - public let targetOriginId: String - /// 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. - public let pathPattern: String - public let allowedMethods: AllowedMethods? - /// A complex type that specifies how CloudFront handles query strings and cookies. - public let forwardedValues: ForwardedValues - /// 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. - public let trustedSigners: TrustedSigners - /// 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. - public let compress: Bool? - /// A complex type that contains zero or more Lambda function associations for a cache behavior. - public let lambdaFunctionAssociations: LambdaFunctionAssociations? - /// 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. - public let maxTTL: Int64? - /// 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. - public let smoothStreaming: Bool? - /// 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). - public let minTTL: Int64 - /// 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. - public let viewerProtocolPolicy: ViewerProtocolPolicy - /// 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. - public let defaultTTL: Int64? - - public init(targetOriginId: String, pathPattern: String, allowedMethods: AllowedMethods? = nil, forwardedValues: ForwardedValues, trustedSigners: TrustedSigners, compress: Bool? = nil, lambdaFunctionAssociations: LambdaFunctionAssociations? = nil, maxTTL: Int64? = nil, smoothStreaming: Bool? = nil, minTTL: Int64, viewerProtocolPolicy: ViewerProtocolPolicy, defaultTTL: Int64? = nil) { - self.targetOriginId = targetOriginId - self.pathPattern = pathPattern - self.allowedMethods = allowedMethods - self.forwardedValues = forwardedValues - self.trustedSigners = trustedSigners - self.compress = compress - self.lambdaFunctionAssociations = lambdaFunctionAssociations - self.maxTTL = maxTTL - self.smoothStreaming = smoothStreaming - self.minTTL = minTTL - self.viewerProtocolPolicy = viewerProtocolPolicy - self.defaultTTL = defaultTTL - } - - private enum CodingKeys: String, CodingKey { - case targetOriginId = "TargetOriginId" - case pathPattern = "PathPattern" - case allowedMethods = "AllowedMethods" - case forwardedValues = "ForwardedValues" - case trustedSigners = "TrustedSigners" - case compress = "Compress" - case lambdaFunctionAssociations = "LambdaFunctionAssociations" - case maxTTL = "MaxTTL" - case smoothStreaming = "SmoothStreaming" - case minTTL = "MinTTL" - case viewerProtocolPolicy = "ViewerProtocolPolicy" - case defaultTTL = "DefaultTTL" - } - } - public struct DistributionConfigWithTags: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Tags", required: true, type: .structure), @@ -769,24 +974,6 @@ extension Cloudfront { } } - public struct ListStreamingDistributionsResult: AWSShape { - /// The key for the payload - public static let payloadPath: String? = "StreamingDistributionList" - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StreamingDistributionList", required: false, type: .structure) - ] - /// The StreamingDistributionList type. - public let streamingDistributionList: StreamingDistributionList? - - public init(streamingDistributionList: StreamingDistributionList? = nil) { - self.streamingDistributionList = streamingDistributionList - } - - private enum CodingKeys: String, CodingKey { - case streamingDistributionList = "StreamingDistributionList" - } - } - public struct Origins: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Items", required: false, type: .structure), @@ -831,6 +1018,52 @@ extension Cloudfront { } } + public struct ListStreamingDistributionsResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "StreamingDistributionList" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StreamingDistributionList", required: false, type: .structure) + ] + /// The StreamingDistributionList type. + public let streamingDistributionList: StreamingDistributionList? + + public init(streamingDistributionList: StreamingDistributionList? = nil) { + self.streamingDistributionList = streamingDistributionList + } + + private enum CodingKeys: String, CodingKey { + case streamingDistributionList = "StreamingDistributionList" + } + } + + public struct UpdatePublicKeyRequest: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "PublicKeyConfig" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PublicKeyConfig", location: .body(locationName: "PublicKeyConfig"), required: true, type: .structure), + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string), + AWSShapeMember(label: "IfMatch", location: .header(locationName: "If-Match"), required: false, type: .string) + ] + /// Request to update public key information. + public let publicKeyConfig: PublicKeyConfig + /// ID of the public key to be updated. + public let id: String + /// The value of the ETag header that you received when retrieving the public key to update. For example: E2QWRUHAPOMQZL. + public let ifMatch: String? + + public init(publicKeyConfig: PublicKeyConfig, id: String, ifMatch: String? = nil) { + self.publicKeyConfig = publicKeyConfig + self.id = id + self.ifMatch = ifMatch + } + + private enum CodingKeys: String, CodingKey { + case publicKeyConfig = "PublicKeyConfig" + case id = "Id" + case ifMatch = "If-Match" + } + } + public struct InvalidationList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxItems", required: true, type: .integer), @@ -872,6 +1105,55 @@ extension Cloudfront { } } + public struct CreateFieldLevelEncryptionConfigRequest: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryptionConfig" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FieldLevelEncryptionConfig", location: .body(locationName: "FieldLevelEncryptionConfig"), required: true, type: .structure) + ] + /// The request to create a new field-level encryption configuration. + public let fieldLevelEncryptionConfig: FieldLevelEncryptionConfig + + public init(fieldLevelEncryptionConfig: FieldLevelEncryptionConfig) { + self.fieldLevelEncryptionConfig = fieldLevelEncryptionConfig + } + + private enum CodingKeys: String, CodingKey { + case fieldLevelEncryptionConfig = "FieldLevelEncryptionConfig" + } + } + + public struct PublicKeyList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxItems", required: true, type: .integer), + AWSShapeMember(label: "NextMarker", required: false, type: .string), + AWSShapeMember(label: "Items", required: false, type: .structure), + AWSShapeMember(label: "Quantity", required: true, type: .integer) + ] + /// The maximum number of public keys you want in the response body. + public let maxItems: Int32 + /// 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. + public let nextMarker: String? + /// An array of information about a public key you add to CloudFront to use with features like field-level encryption. + public let items: PublicKeySummaryList? + /// The number of public keys you added to CloudFront to use with features like field-level encryption. + public let quantity: Int32 + + public init(maxItems: Int32, nextMarker: String? = nil, items: PublicKeySummaryList? = nil, quantity: Int32) { + self.maxItems = maxItems + self.nextMarker = nextMarker + self.items = items + self.quantity = quantity + } + + private enum CodingKeys: String, CodingKey { + case maxItems = "MaxItems" + case nextMarker = "NextMarker" + case items = "Items" + case quantity = "Quantity" + } + } + public struct GetInvalidationRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DistributionId", location: .uri(locationName: "DistributionId"), required: true, type: .string), @@ -924,6 +1206,27 @@ extension Cloudfront { } } + public struct DeleteFieldLevelEncryptionProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "IfMatch", location: .header(locationName: "If-Match"), required: false, type: .string), + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) + ] + /// The value of the ETag header that you received when retrieving the profile to delete. For example: E2QWRUHAPOMQZL. + public let ifMatch: String? + /// Request the ID of the profile you want to delete from CloudFront. + public let id: String + + public init(ifMatch: String? = nil, id: String) { + self.ifMatch = ifMatch + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case ifMatch = "If-Match" + case id = "Id" + } + } + public enum GeoRestrictionType: String, CustomStringConvertible, Codable { case blacklist = "blacklist" case whitelist = "whitelist" @@ -931,6 +1234,63 @@ extension Cloudfront { public var description: String { return self.rawValue } } + public struct DeleteFieldLevelEncryptionConfigRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "IfMatch", location: .header(locationName: "If-Match"), required: false, type: .string), + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) + ] + /// The value of the ETag header that you received when retrieving the configuration identity to delete. For example: E2QWRUHAPOMQZL. + public let ifMatch: String? + /// The ID of the configuration you want to delete from CloudFront. + public let id: String + + public init(ifMatch: String? = nil, id: String) { + self.ifMatch = ifMatch + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case ifMatch = "If-Match" + case id = "Id" + } + } + + public struct PublicKeySummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Comment", required: false, type: .string), + AWSShapeMember(label: "EncodedKey", required: true, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "CreatedTime", required: true, type: .timestamp), + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// Comment for public key information summary. + public let comment: String? + /// Encoded key for public key information summary. + public let encodedKey: String + /// Name for public key information summary. + public let name: String + /// Creation time for public key information summary. + public let createdTime: TimeStamp + /// ID for public key information summary. + public let id: String + + public init(comment: String? = nil, encodedKey: String, name: String, createdTime: TimeStamp, id: String) { + self.comment = comment + self.encodedKey = encodedKey + self.name = name + self.createdTime = createdTime + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case comment = "Comment" + case encodedKey = "EncodedKey" + case name = "Name" + case createdTime = "CreatedTime" + case id = "Id" + } + } + public struct LocationList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Location", required: false, type: .list) @@ -946,18 +1306,33 @@ extension Cloudfront { } } - public struct SignerList: AWSShape { + public struct FieldLevelEncryptionProfileSummaryList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Signer", required: false, type: .list) + AWSShapeMember(label: "FieldLevelEncryptionProfileSummary", required: false, type: .list) ] - public let signer: [Signer]? + public let fieldLevelEncryptionProfileSummary: [FieldLevelEncryptionProfileSummary]? - public init(signer: [Signer]? = nil) { - self.signer = signer + public init(fieldLevelEncryptionProfileSummary: [FieldLevelEncryptionProfileSummary]? = nil) { + self.fieldLevelEncryptionProfileSummary = fieldLevelEncryptionProfileSummary } private enum CodingKeys: String, CodingKey { - case signer = "Signer" + case fieldLevelEncryptionProfileSummary = "FieldLevelEncryptionProfileSummary" + } + } + + public struct CacheBehaviorList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CacheBehavior", required: false, type: .list) + ] + public let cacheBehavior: [CacheBehavior]? + + public init(cacheBehavior: [CacheBehavior]? = nil) { + self.cacheBehavior = cacheBehavior + } + + private enum CodingKeys: String, CodingKey { + case cacheBehavior = "CacheBehavior" } } @@ -989,39 +1364,62 @@ extension Cloudfront { } } - public struct CacheBehaviorList: AWSShape { + public struct LambdaFunctionAssociation: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CacheBehavior", required: false, type: .list) + AWSShapeMember(label: "EventType", required: true, type: .enum), + AWSShapeMember(label: "LambdaFunctionARN", required: true, type: .string) ] - public let cacheBehavior: [CacheBehavior]? + /// 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. + public let eventType: EventType + /// The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias or $LATEST. + public let lambdaFunctionARN: String - public init(cacheBehavior: [CacheBehavior]? = nil) { - self.cacheBehavior = cacheBehavior + public init(eventType: EventType, lambdaFunctionARN: String) { + self.eventType = eventType + self.lambdaFunctionARN = lambdaFunctionARN } private enum CodingKeys: String, CodingKey { - case cacheBehavior = "CacheBehavior" + case eventType = "EventType" + case lambdaFunctionARN = "LambdaFunctionARN" } } - public struct LambdaFunctionAssociation: AWSShape { + public struct SignerList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EventType", required: false, type: .enum), - AWSShapeMember(label: "LambdaFunctionARN", required: false, type: .string) + AWSShapeMember(label: "Signer", required: false, type: .list) ] - /// 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. - public let eventType: EventType? - /// The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias or $LATEST. - public let lambdaFunctionARN: String? + public let signer: [Signer]? - public init(eventType: EventType? = nil, lambdaFunctionARN: String? = nil) { - self.eventType = eventType - self.lambdaFunctionARN = lambdaFunctionARN + public init(signer: [Signer]? = nil) { + self.signer = signer } private enum CodingKeys: String, CodingKey { - case eventType = "EventType" - case lambdaFunctionARN = "LambdaFunctionARN" + case signer = "Signer" + } + } + + public struct GetFieldLevelEncryptionConfigResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryptionConfig" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), + AWSShapeMember(label: "FieldLevelEncryptionConfig", required: false, type: .structure) + ] + /// The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL. + public let eTag: String? + /// Return the field-level encryption configuration information. + public let fieldLevelEncryptionConfig: FieldLevelEncryptionConfig? + + public init(eTag: String? = nil, fieldLevelEncryptionConfig: FieldLevelEncryptionConfig? = nil) { + self.eTag = eTag + self.fieldLevelEncryptionConfig = fieldLevelEncryptionConfig + } + + private enum CodingKeys: String, CodingKey { + case eTag = "ETag" + case fieldLevelEncryptionConfig = "FieldLevelEncryptionConfig" } } @@ -1041,6 +1439,27 @@ extension Cloudfront { } } + public struct EncryptionEntities: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Items", required: false, type: .structure), + AWSShapeMember(label: "Quantity", required: true, type: .integer) + ] + /// An array of field patterns in a field-level encryption content type-profile mapping. + public let items: EncryptionEntityList? + /// Number of field pattern items in a field-level encryption content type-profile mapping. + public let quantity: Int32 + + public init(items: EncryptionEntityList? = nil, quantity: Int32) { + self.items = items + self.quantity = quantity + } + + private enum CodingKeys: String, CodingKey { + case items = "Items" + case quantity = "Quantity" + } + } + public struct OriginCustomHeader: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "HeaderName", required: true, type: .string), @@ -1062,6 +1481,29 @@ extension Cloudfront { } } + public struct UpdateFieldLevelEncryptionConfigResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryption" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), + AWSShapeMember(label: "FieldLevelEncryption", required: false, type: .structure) + ] + /// The value of the ETag header that you received when updating the configuration. For example: E2QWRUHAPOMQZL. + public let eTag: String? + /// Return the results of updating the configuration. + public let fieldLevelEncryption: FieldLevelEncryption? + + public init(eTag: String? = nil, fieldLevelEncryption: FieldLevelEncryption? = nil) { + self.eTag = eTag + self.fieldLevelEncryption = fieldLevelEncryption + } + + private enum CodingKeys: String, CodingKey { + case eTag = "ETag" + case fieldLevelEncryption = "FieldLevelEncryption" + } + } + public struct ListInvalidationsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Marker", location: .querystring(locationName: "Marker"), required: false, type: .string), @@ -1088,6 +1530,60 @@ extension Cloudfront { } } + public struct EncryptionEntity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PublicKeyId", required: true, type: .string), + AWSShapeMember(label: "ProviderId", required: true, type: .string), + AWSShapeMember(label: "FieldPatterns", required: true, type: .structure) + ] + /// The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns. + public let publicKeyId: String + /// 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. + public let providerId: String + /// 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. + public let fieldPatterns: FieldPatterns + + public init(publicKeyId: String, providerId: String, fieldPatterns: FieldPatterns) { + self.publicKeyId = publicKeyId + self.providerId = providerId + self.fieldPatterns = fieldPatterns + } + + private enum CodingKeys: String, CodingKey { + case publicKeyId = "PublicKeyId" + case providerId = "ProviderId" + case fieldPatterns = "FieldPatterns" + } + } + + public struct CreatePublicKeyResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "PublicKey" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), + AWSShapeMember(label: "Location", location: .header(locationName: "Location"), required: false, type: .string), + AWSShapeMember(label: "PublicKey", required: false, type: .structure) + ] + /// The current version of the public key. For example: E2QWRUHAPOMQZL. + public let eTag: String? + /// 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. + public let location: String? + /// Returned when you add a public key. + public let publicKey: PublicKey? + + public init(eTag: String? = nil, location: String? = nil, publicKey: PublicKey? = nil) { + self.eTag = eTag + self.location = location + self.publicKey = publicKey + } + + private enum CodingKeys: String, CodingKey { + case eTag = "ETag" + case location = "Location" + case publicKey = "PublicKey" + } + } + public struct CacheBehaviors: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Items", required: false, type: .structure), @@ -1109,6 +1605,21 @@ extension Cloudfront { } } + public struct QueryArgProfileList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "QueryArgProfile", required: false, type: .list) + ] + public let queryArgProfile: [QueryArgProfile]? + + public init(queryArgProfile: [QueryArgProfile]? = nil) { + self.queryArgProfile = queryArgProfile + } + + private enum CodingKeys: String, CodingKey { + case queryArgProfile = "QueryArgProfile" + } + } + public enum CertificateSource: String, CustomStringConvertible, Codable { case cloudfront = "cloudfront" case iam = "iam" @@ -1144,6 +1655,37 @@ extension Cloudfront { } } + public struct FieldLevelEncryptionProfileConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EncryptionEntities", required: true, type: .structure), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "CallerReference", required: true, type: .string), + AWSShapeMember(label: "Comment", required: false, type: .string) + ] + /// 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. + public let encryptionEntities: EncryptionEntities + /// Profile name for the field-level encryption profile. + public let name: String + /// A unique number that ensures the request can't be replayed. + public let callerReference: String + /// An optional comment for the field-level encryption profile. + public let comment: String? + + public init(encryptionEntities: EncryptionEntities, name: String, callerReference: String, comment: String? = nil) { + self.encryptionEntities = encryptionEntities + self.name = name + self.callerReference = callerReference + self.comment = comment + } + + private enum CodingKeys: String, CodingKey { + case encryptionEntities = "EncryptionEntities" + case name = "Name" + case callerReference = "CallerReference" + case comment = "Comment" + } + } + public struct AllowedMethods: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Items", required: true, type: .structure), @@ -1169,6 +1711,29 @@ extension Cloudfront { } } + public struct GetPublicKeyConfigResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "PublicKeyConfig" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PublicKeyConfig", required: false, type: .structure), + AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string) + ] + /// Return the result for the public key configuration. + public let publicKeyConfig: PublicKeyConfig? + /// The current version of the public key configuration. For example: E2QWRUHAPOMQZL. + public let eTag: String? + + public init(publicKeyConfig: PublicKeyConfig? = nil, eTag: String? = nil) { + self.publicKeyConfig = publicKeyConfig + self.eTag = eTag + } + + private enum CodingKeys: String, CodingKey { + case publicKeyConfig = "PublicKeyConfig" + case eTag = "ETag" + } + } + public struct CreateStreamingDistributionRequest: AWSShape { /// The key for the payload public static let payloadPath: String? = "StreamingDistributionConfig" @@ -1208,21 +1773,34 @@ extension Cloudfront { } } - public struct ListDistributionsByWebACLIdResult: AWSShape { - /// The key for the payload - public static let payloadPath: String? = "DistributionList" + public struct PublicKeyConfig: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DistributionList", required: false, type: .structure) + AWSShapeMember(label: "EncodedKey", required: true, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "CallerReference", required: true, type: .string), + AWSShapeMember(label: "Comment", required: false, type: .string) ] - /// The DistributionList type. - public let distributionList: DistributionList? + /// The encoded public key that you want to add to CloudFront to use with features like field-level encryption. + public let encodedKey: String + /// The name for a public key you add to CloudFront to use with features like field-level encryption. + public let name: String + /// A unique number that ensures the request can't be replayed. + public let callerReference: String + /// An optional comment about a public key. + public let comment: String? - public init(distributionList: DistributionList? = nil) { - self.distributionList = distributionList + public init(encodedKey: String, name: String, callerReference: String, comment: String? = nil) { + self.encodedKey = encodedKey + self.name = name + self.callerReference = callerReference + self.comment = comment } private enum CodingKeys: String, CodingKey { - case distributionList = "DistributionList" + case encodedKey = "EncodedKey" + case name = "Name" + case callerReference = "CallerReference" + case comment = "Comment" } } @@ -1268,6 +1846,40 @@ extension Cloudfront { } } + public struct ListDistributionsByWebACLIdResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "DistributionList" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DistributionList", required: false, type: .structure) + ] + /// The DistributionList type. + public let distributionList: DistributionList? + + public init(distributionList: DistributionList? = nil) { + self.distributionList = distributionList + } + + private enum CodingKeys: String, CodingKey { + case distributionList = "DistributionList" + } + } + + public struct GetPublicKeyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) + ] + /// Request the ID for the public key. + public let id: String + + public init(id: String) { + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + } + } + public struct CookiePreference: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Forward", required: true, type: .enum), @@ -1289,6 +1901,34 @@ extension Cloudfront { } } + public struct CreateFieldLevelEncryptionConfigResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryption" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), + AWSShapeMember(label: "Location", location: .header(locationName: "Location"), required: false, type: .string), + AWSShapeMember(label: "FieldLevelEncryption", required: false, type: .structure) + ] + /// The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL. + public let eTag: String? + /// 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. + public let location: String? + /// Returned when you create a new field-level encryption configuration. + public let fieldLevelEncryption: FieldLevelEncryption? + + public init(eTag: String? = nil, location: String? = nil, fieldLevelEncryption: FieldLevelEncryption? = nil) { + self.eTag = eTag + self.location = location + self.fieldLevelEncryption = fieldLevelEncryption + } + + private enum CodingKeys: String, CodingKey { + case eTag = "ETag" + case location = "Location" + case fieldLevelEncryption = "FieldLevelEncryption" + } + } + public struct OriginSslProtocols: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Items", required: true, type: .structure), @@ -1337,6 +1977,100 @@ extension Cloudfront { } } + public struct FieldPatternList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FieldPattern", required: false, type: .list) + ] + public let fieldPattern: [String]? + + public init(fieldPattern: [String]? = nil) { + self.fieldPattern = fieldPattern + } + + private enum CodingKeys: String, CodingKey { + case fieldPattern = "FieldPattern" + } + } + + public struct FieldLevelEncryptionSummaryList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FieldLevelEncryptionSummary", required: false, type: .list) + ] + public let fieldLevelEncryptionSummary: [FieldLevelEncryptionSummary]? + + public init(fieldLevelEncryptionSummary: [FieldLevelEncryptionSummary]? = nil) { + self.fieldLevelEncryptionSummary = fieldLevelEncryptionSummary + } + + private enum CodingKeys: String, CodingKey { + case fieldLevelEncryptionSummary = "FieldLevelEncryptionSummary" + } + } + + public struct UpdateFieldLevelEncryptionConfigRequest: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryptionConfig" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "IfMatch", location: .header(locationName: "If-Match"), required: false, type: .string), + AWSShapeMember(label: "FieldLevelEncryptionConfig", location: .body(locationName: "FieldLevelEncryptionConfig"), required: true, type: .structure), + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) + ] + /// The value of the ETag header that you received when retrieving the configuration identity to update. For example: E2QWRUHAPOMQZL. + public let ifMatch: String? + /// Request to update a field-level encryption configuration. + public let fieldLevelEncryptionConfig: FieldLevelEncryptionConfig + /// The ID of the configuration you want to update. + public let id: String + + public init(ifMatch: String? = nil, fieldLevelEncryptionConfig: FieldLevelEncryptionConfig, id: String) { + self.ifMatch = ifMatch + self.fieldLevelEncryptionConfig = fieldLevelEncryptionConfig + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case ifMatch = "If-Match" + case fieldLevelEncryptionConfig = "FieldLevelEncryptionConfig" + case id = "Id" + } + } + + public struct FieldLevelEncryptionProfileSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EncryptionEntities", required: true, type: .structure), + AWSShapeMember(label: "LastModifiedTime", required: true, type: .timestamp), + AWSShapeMember(label: "Comment", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// 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. + public let encryptionEntities: EncryptionEntities + /// The time when the the field-level encryption profile summary was last updated. + public let lastModifiedTime: TimeStamp + /// An optional comment for the field-level encryption profile summary. + public let comment: String? + /// Name for the field-level encryption profile summary. + public let name: String + /// ID for the field-level encryption profile summary. + public let id: String + + public init(encryptionEntities: EncryptionEntities, lastModifiedTime: TimeStamp, comment: String? = nil, name: String, id: String) { + self.encryptionEntities = encryptionEntities + self.lastModifiedTime = lastModifiedTime + self.comment = comment + self.name = name + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case encryptionEntities = "EncryptionEntities" + case lastModifiedTime = "LastModifiedTime" + case comment = "Comment" + case name = "Name" + case id = "Id" + } + } + public struct CreateDistributionWithTagsResult: AWSShape { /// The key for the payload public static let payloadPath: String? = "Distribution" @@ -1365,6 +2099,27 @@ extension Cloudfront { } } + public struct QueryArgProfile: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ProfileId", required: true, type: .string), + AWSShapeMember(label: "QueryArg", required: true, type: .string) + ] + /// ID of profile to use for field-level encryption query argument-profile mapping + public let profileId: String + /// Query argument for field-level encryption query argument-profile mapping. + public let queryArg: String + + public init(profileId: String, queryArg: String) { + self.profileId = profileId + self.queryArg = queryArg + } + + private enum CodingKeys: String, CodingKey { + case profileId = "ProfileId" + case queryArg = "QueryArg" + } + } + public struct CreateDistributionResult: AWSShape { /// The key for the payload public static let payloadPath: String? = "Distribution" @@ -1393,18 +2148,34 @@ extension Cloudfront { } } - public struct DeleteServiceLinkedRoleRequest: AWSShape { + public struct FieldLevelEncryptionList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RoleName", location: .uri(locationName: "RoleName"), required: true, type: .string) + AWSShapeMember(label: "MaxItems", required: true, type: .integer), + AWSShapeMember(label: "NextMarker", required: false, type: .string), + AWSShapeMember(label: "Items", required: false, type: .structure), + AWSShapeMember(label: "Quantity", required: true, type: .integer) ] - public let roleName: String + /// The maximum number of elements you want in the response body. + public let maxItems: Int32 + /// 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. + public let nextMarker: String? + /// An array of field-level encryption items. + public let items: FieldLevelEncryptionSummaryList? + /// The number of field-level encryption items. + public let quantity: Int32 - public init(roleName: String) { - self.roleName = roleName + public init(maxItems: Int32, nextMarker: String? = nil, items: FieldLevelEncryptionSummaryList? = nil, quantity: Int32) { + self.maxItems = maxItems + self.nextMarker = nextMarker + self.items = items + self.quantity = quantity } private enum CodingKeys: String, CodingKey { - case roleName = "RoleName" + case maxItems = "MaxItems" + case nextMarker = "NextMarker" + case items = "Items" + case quantity = "Quantity" } } @@ -1483,6 +2254,29 @@ extension Cloudfront { } } + public struct UpdateFieldLevelEncryptionProfileResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryptionProfile" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), + AWSShapeMember(label: "FieldLevelEncryptionProfile", required: false, type: .structure) + ] + /// The result of the field-level encryption profile request. + public let eTag: String? + /// Return the results of updating the profile. + public let fieldLevelEncryptionProfile: FieldLevelEncryptionProfile? + + public init(eTag: String? = nil, fieldLevelEncryptionProfile: FieldLevelEncryptionProfile? = nil) { + self.eTag = eTag + self.fieldLevelEncryptionProfile = fieldLevelEncryptionProfile + } + + private enum CodingKeys: String, CodingKey { + case eTag = "ETag" + case fieldLevelEncryptionProfile = "FieldLevelEncryptionProfile" + } + } + public enum EventType: String, CustomStringConvertible, Codable { case viewerRequest = "viewer-request" case viewerResponse = "viewer-response" @@ -1491,33 +2285,54 @@ extension Cloudfront { public var description: String { return self.rawValue } } + public struct ContentTypeProfileConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ForwardWhenContentTypeIsUnknown", required: true, type: .boolean), + AWSShapeMember(label: "ContentTypeProfiles", required: false, type: .structure) + ] + /// 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. + public let forwardWhenContentTypeIsUnknown: Bool + /// The configuration for a field-level encryption content type-profile. + public let contentTypeProfiles: ContentTypeProfiles? + + public init(forwardWhenContentTypeIsUnknown: Bool, contentTypeProfiles: ContentTypeProfiles? = nil) { + self.forwardWhenContentTypeIsUnknown = forwardWhenContentTypeIsUnknown + self.contentTypeProfiles = contentTypeProfiles + } + + private enum CodingKeys: String, CodingKey { + case forwardWhenContentTypeIsUnknown = "ForwardWhenContentTypeIsUnknown" + case contentTypeProfiles = "ContentTypeProfiles" + } + } + public struct LoggingConfig: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Bucket", required: true, type: .string), - AWSShapeMember(label: "Prefix", required: true, type: .string), AWSShapeMember(label: "Enabled", required: true, type: .boolean), + AWSShapeMember(label: "Prefix", required: true, type: .string), AWSShapeMember(label: "IncludeCookies", required: true, type: .boolean) ] /// The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. public let bucket: String - /// 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. - public let prefix: String /// 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. public let enabled: Bool + /// 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. + public let prefix: String /// 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. public let includeCookies: Bool - public init(bucket: String, prefix: String, enabled: Bool, includeCookies: Bool) { + public init(bucket: String, enabled: Bool, prefix: String, includeCookies: Bool) { self.bucket = bucket - self.prefix = prefix self.enabled = enabled + self.prefix = prefix self.includeCookies = includeCookies } private enum CodingKeys: String, CodingKey { case bucket = "Bucket" - case prefix = "Prefix" case enabled = "Enabled" + case prefix = "Prefix" case includeCookies = "IncludeCookies" } } @@ -1576,6 +2391,24 @@ extension Cloudfront { } } + public struct CreatePublicKeyRequest: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "PublicKeyConfig" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PublicKeyConfig", location: .body(locationName: "PublicKeyConfig"), required: true, type: .structure) + ] + /// The request to add a public key to CloudFront. + public let publicKeyConfig: PublicKeyConfig + + public init(publicKeyConfig: PublicKeyConfig) { + self.publicKeyConfig = publicKeyConfig + } + + private enum CodingKeys: String, CodingKey { + case publicKeyConfig = "PublicKeyConfig" + } + } + public struct ListDistributionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Marker", location: .querystring(locationName: "Marker"), required: false, type: .string), @@ -1686,6 +2519,27 @@ extension Cloudfront { } } + public struct DeletePublicKeyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "IfMatch", location: .header(locationName: "If-Match"), required: false, type: .string), + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) + ] + /// The value of the ETag header that you received when retrieving the public key identity to delete. For example: E2QWRUHAPOMQZL. + public let ifMatch: String? + /// The ID of the public key you want to remove from CloudFront. + public let id: String + + public init(ifMatch: String? = nil, id: String) { + self.ifMatch = ifMatch + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case ifMatch = "If-Match" + case id = "Id" + } + } + public struct Restrictions: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GeoRestriction", required: true, type: .structure) @@ -1747,6 +2601,29 @@ extension Cloudfront { } } + public struct GetPublicKeyResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "PublicKey" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), + AWSShapeMember(label: "PublicKey", required: false, type: .structure) + ] + /// The current version of the public key. For example: E2QWRUHAPOMQZL. + public let eTag: String? + /// Return the public key. + public let publicKey: PublicKey? + + public init(eTag: String? = nil, publicKey: PublicKey? = nil) { + self.eTag = eTag + self.publicKey = publicKey + } + + private enum CodingKeys: String, CodingKey { + case eTag = "ETag" + case publicKey = "PublicKey" + } + } + public struct UntagResourceRequest: AWSShape { /// The key for the payload public static let payloadPath: String? = "TagKeys" @@ -1786,6 +2663,50 @@ extension Cloudfront { } } + public struct UpdateFieldLevelEncryptionProfileRequest: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryptionProfileConfig" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "IfMatch", location: .header(locationName: "If-Match"), required: false, type: .string), + AWSShapeMember(label: "FieldLevelEncryptionProfileConfig", location: .body(locationName: "FieldLevelEncryptionProfileConfig"), required: true, type: .structure), + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) + ] + /// The value of the ETag header that you received when retrieving the profile identity to update. For example: E2QWRUHAPOMQZL. + public let ifMatch: String? + /// Request to update a field-level encryption profile. + public let fieldLevelEncryptionProfileConfig: FieldLevelEncryptionProfileConfig + /// The ID of the field-level encryption profile request. + public let id: String + + public init(ifMatch: String? = nil, fieldLevelEncryptionProfileConfig: FieldLevelEncryptionProfileConfig, id: String) { + self.ifMatch = ifMatch + self.fieldLevelEncryptionProfileConfig = fieldLevelEncryptionProfileConfig + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case ifMatch = "If-Match" + case fieldLevelEncryptionProfileConfig = "FieldLevelEncryptionProfileConfig" + case id = "Id" + } + } + + public struct GetFieldLevelEncryptionProfileConfigRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) + ] + /// Get the ID for the field-level encryption profile configuration information. + public let id: String + + public init(id: String) { + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + } + } + public struct StreamingDistribution: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), @@ -1971,6 +2892,27 @@ extension Cloudfront { } } + public struct ListPublicKeysRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", location: .querystring(locationName: "Marker"), required: false, type: .string), + AWSShapeMember(label: "MaxItems", location: .querystring(locationName: "MaxItems"), required: false, type: .string) + ] + /// 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). + public let marker: String? + /// The maximum number of public keys you want in the response body. + public let maxItems: String? + + public init(marker: String? = nil, maxItems: String? = nil) { + self.marker = marker + self.maxItems = maxItems + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case maxItems = "MaxItems" + } + } + public struct CustomOriginConfig: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "OriginProtocolPolicy", required: true, type: .enum), @@ -2115,6 +3057,21 @@ extension Cloudfront { } } + public struct ContentTypeProfileList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContentTypeProfile", required: false, type: .list) + ] + public let contentTypeProfile: [ContentTypeProfile]? + + public init(contentTypeProfile: [ContentTypeProfile]? = nil) { + self.contentTypeProfile = contentTypeProfile + } + + private enum CodingKeys: String, CodingKey { + case contentTypeProfile = "ContentTypeProfile" + } + } + public struct CloudFrontOriginAccessIdentity: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "S3CanonicalUserId", required: true, type: .string), @@ -2141,21 +3098,30 @@ extension Cloudfront { } } - public struct TagList: AWSShape { + public struct GetPublicKeyConfigRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Tag", required: false, type: .list) + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) ] - public let tag: [Tag]? + /// Request the ID for the public key configuration. + public let id: String - public init(tag: [Tag]? = nil) { - self.tag = tag + public init(id: String) { + self.id = id } private enum CodingKeys: String, CodingKey { - case tag = "Tag" + case id = "Id" } } + public enum SslProtocol: String, CustomStringConvertible, Codable { + case sslv3 = "SSLv3" + case tlsv1 = "TLSv1" + case tlsv11 = "TLSv1.1" + case tlsv12 = "TLSv1.2" + public var description: String { return self.rawValue } + } + public struct GetDistributionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) @@ -2172,12 +3138,56 @@ extension Cloudfront { } } - public enum SslProtocol: String, CustomStringConvertible, Codable { - case sslv3 = "SSLv3" - case tlsv1 = "TLSv1" - case tlsv11 = "TLSv1.1" - case tlsv12 = "TLSv1.2" - public var description: String { return self.rawValue } + public struct FieldLevelEncryptionProfileList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxItems", required: true, type: .integer), + AWSShapeMember(label: "NextMarker", required: false, type: .string), + AWSShapeMember(label: "Items", required: false, type: .structure), + AWSShapeMember(label: "Quantity", required: true, type: .integer) + ] + /// The maximum number of field-level encryption profiles you want in the response body. + public let maxItems: Int32 + /// 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. + public let nextMarker: String? + /// The field-level encryption profile items. + public let items: FieldLevelEncryptionProfileSummaryList? + /// The number of field-level encryption profiles. + public let quantity: Int32 + + public init(maxItems: Int32, nextMarker: String? = nil, items: FieldLevelEncryptionProfileSummaryList? = nil, quantity: Int32) { + self.maxItems = maxItems + self.nextMarker = nextMarker + self.items = items + self.quantity = quantity + } + + private enum CodingKeys: String, CodingKey { + case maxItems = "MaxItems" + case nextMarker = "NextMarker" + case items = "Items" + case quantity = "Quantity" + } + } + + public struct QueryArgProfileConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "QueryArgProfiles", required: false, type: .structure), + AWSShapeMember(label: "ForwardWhenQueryArgProfileIsUnknown", required: true, type: .boolean) + ] + /// Profiles specified for query argument-profile mapping for field-level encryption. + public let queryArgProfiles: QueryArgProfiles? + /// 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. + public let forwardWhenQueryArgProfileIsUnknown: Bool + + public init(queryArgProfiles: QueryArgProfiles? = nil, forwardWhenQueryArgProfileIsUnknown: Bool) { + self.queryArgProfiles = queryArgProfiles + self.forwardWhenQueryArgProfileIsUnknown = forwardWhenQueryArgProfileIsUnknown + } + + private enum CodingKeys: String, CodingKey { + case queryArgProfiles = "QueryArgProfiles" + case forwardWhenQueryArgProfileIsUnknown = "ForwardWhenQueryArgProfileIsUnknown" + } } public struct StreamingLoggingConfig: AWSShape { @@ -2206,6 +3216,39 @@ extension Cloudfront { } } + public struct TagList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Tag", required: false, type: .list) + ] + public let tag: [Tag]? + + public init(tag: [Tag]? = nil) { + self.tag = tag + } + + private enum CodingKeys: String, CodingKey { + case tag = "Tag" + } + } + + public struct CreateFieldLevelEncryptionProfileRequest: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryptionProfileConfig" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FieldLevelEncryptionProfileConfig", location: .body(locationName: "FieldLevelEncryptionProfileConfig"), required: true, type: .structure) + ] + /// The request to create a field-level encryption profile. + public let fieldLevelEncryptionProfileConfig: FieldLevelEncryptionProfileConfig + + public init(fieldLevelEncryptionProfileConfig: FieldLevelEncryptionProfileConfig) { + self.fieldLevelEncryptionProfileConfig = fieldLevelEncryptionProfileConfig + } + + private enum CodingKeys: String, CodingKey { + case fieldLevelEncryptionProfileConfig = "FieldLevelEncryptionProfileConfig" + } + } + public enum OriginProtocolPolicy: String, CustomStringConvertible, Codable { case httpOnly = "http-only" case matchViewer = "match-viewer" @@ -2239,6 +3282,27 @@ extension Cloudfront { } } + public struct FieldPatterns: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Items", required: false, type: .structure), + AWSShapeMember(label: "Quantity", required: true, type: .integer) + ] + /// An array of the field-level encryption field patterns. + public let items: FieldPatternList? + /// The number of field-level encryption field patterns. + public let quantity: Int32 + + public init(items: FieldPatternList? = nil, quantity: Int32) { + self.items = items + self.quantity = quantity + } + + private enum CodingKeys: String, CodingKey { + case items = "Items" + case quantity = "Quantity" + } + } + public struct StreamingDistributionList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxItems", required: true, type: .integer), @@ -2301,6 +3365,42 @@ extension Cloudfront { } } + public struct FieldLevelEncryptionSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: true, type: .timestamp), + AWSShapeMember(label: "Comment", required: false, type: .string), + AWSShapeMember(label: "ContentTypeProfileConfig", required: false, type: .structure), + AWSShapeMember(label: "QueryArgProfileConfig", required: false, type: .structure), + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// The last time that the summary of field-level encryption items was modified. + public let lastModifiedTime: TimeStamp + /// An optional comment about the field-level encryption item. + public let comment: String? + /// A summary of a content type-profile mapping. + public let contentTypeProfileConfig: ContentTypeProfileConfig? + /// A summary of a query argument-profile mapping. + public let queryArgProfileConfig: QueryArgProfileConfig? + /// The unique ID of a field-level encryption item. + public let id: String + + public init(lastModifiedTime: TimeStamp, comment: String? = nil, contentTypeProfileConfig: ContentTypeProfileConfig? = nil, queryArgProfileConfig: QueryArgProfileConfig? = nil, id: String) { + self.lastModifiedTime = lastModifiedTime + self.comment = comment + self.contentTypeProfileConfig = contentTypeProfileConfig + self.queryArgProfileConfig = queryArgProfileConfig + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case comment = "Comment" + case contentTypeProfileConfig = "ContentTypeProfileConfig" + case queryArgProfileConfig = "QueryArgProfileConfig" + case id = "Id" + } + } + public struct AliasList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CNAME", required: false, type: .list) @@ -2334,33 +3434,33 @@ extension Cloudfront { } } - public struct CustomErrorResponseList: AWSShape { + public struct DistributionSummaryList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CustomErrorResponse", required: false, type: .list) + AWSShapeMember(label: "DistributionSummary", required: false, type: .list) ] - public let customErrorResponse: [CustomErrorResponse]? + public let distributionSummary: [DistributionSummary]? - public init(customErrorResponse: [CustomErrorResponse]? = nil) { - self.customErrorResponse = customErrorResponse + public init(distributionSummary: [DistributionSummary]? = nil) { + self.distributionSummary = distributionSummary } private enum CodingKeys: String, CodingKey { - case customErrorResponse = "CustomErrorResponse" + case distributionSummary = "DistributionSummary" } } - public struct DistributionSummaryList: AWSShape { + public struct CustomErrorResponseList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DistributionSummary", required: false, type: .list) + AWSShapeMember(label: "CustomErrorResponse", required: false, type: .list) ] - public let distributionSummary: [DistributionSummary]? + public let customErrorResponse: [CustomErrorResponse]? - public init(distributionSummary: [DistributionSummary]? = nil) { - self.distributionSummary = distributionSummary + public init(customErrorResponse: [CustomErrorResponse]? = nil) { + self.customErrorResponse = customErrorResponse } private enum CodingKeys: String, CodingKey { - case distributionSummary = "DistributionSummary" + case customErrorResponse = "CustomErrorResponse" } } @@ -2436,29 +3536,96 @@ extension Cloudfront { } } - public struct ActiveTrustedSigners: AWSShape { + public struct ActiveTrustedSigners: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Items", required: false, type: .structure), + AWSShapeMember(label: "Enabled", required: true, type: .boolean), + AWSShapeMember(label: "Quantity", required: true, type: .integer) + ] + /// 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. + public let items: SignerList? + /// 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. + public let enabled: Bool + /// A complex type that contains one Signer complex type for each trusted signer specified in the TrustedSigners complex type. For more information, see ActiveTrustedSigners. + public let quantity: Int32 + + public init(items: SignerList? = nil, enabled: Bool, quantity: Int32) { + self.items = items + self.enabled = enabled + self.quantity = quantity + } + + private enum CodingKeys: String, CodingKey { + case items = "Items" + case enabled = "Enabled" + case quantity = "Quantity" + } + } + + public struct FieldLevelEncryptionConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContentTypeProfileConfig", required: false, type: .structure), + AWSShapeMember(label: "CallerReference", required: true, type: .string), + AWSShapeMember(label: "QueryArgProfileConfig", required: false, type: .structure), + AWSShapeMember(label: "Comment", required: false, type: .string) + ] + /// 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. + public let contentTypeProfileConfig: ContentTypeProfileConfig? + /// A unique number that ensures the request can't be replayed. + public let callerReference: String + /// 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. + public let queryArgProfileConfig: QueryArgProfileConfig? + /// An optional comment about the configuration. + public let comment: String? + + public init(contentTypeProfileConfig: ContentTypeProfileConfig? = nil, callerReference: String, queryArgProfileConfig: QueryArgProfileConfig? = nil, comment: String? = nil) { + self.contentTypeProfileConfig = contentTypeProfileConfig + self.callerReference = callerReference + self.queryArgProfileConfig = queryArgProfileConfig + self.comment = comment + } + + private enum CodingKeys: String, CodingKey { + case contentTypeProfileConfig = "ContentTypeProfileConfig" + case callerReference = "CallerReference" + case queryArgProfileConfig = "QueryArgProfileConfig" + case comment = "Comment" + } + } + + public struct ListFieldLevelEncryptionProfilesResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryptionProfileList" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FieldLevelEncryptionProfileList", required: false, type: .structure) + ] + /// Returns a list of the field-level encryption profiles that have been created in CloudFront for this account. + public let fieldLevelEncryptionProfileList: FieldLevelEncryptionProfileList? + + public init(fieldLevelEncryptionProfileList: FieldLevelEncryptionProfileList? = nil) { + self.fieldLevelEncryptionProfileList = fieldLevelEncryptionProfileList + } + + private enum CodingKeys: String, CodingKey { + case fieldLevelEncryptionProfileList = "FieldLevelEncryptionProfileList" + } + } + + public struct ListPublicKeysResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "PublicKeyList" public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Items", required: false, type: .structure), - AWSShapeMember(label: "Enabled", required: true, type: .boolean), - AWSShapeMember(label: "Quantity", required: true, type: .integer) + AWSShapeMember(label: "PublicKeyList", required: false, type: .structure) ] - /// 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. - public let items: SignerList? - /// 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. - public let enabled: Bool - /// A complex type that contains one Signer complex type for each trusted signer specified in the TrustedSigners complex type. For more information, see ActiveTrustedSigners. - public let quantity: Int32 + /// Returns a list of all public keys that have been added to CloudFront for this account. + public let publicKeyList: PublicKeyList? - public init(items: SignerList? = nil, enabled: Bool, quantity: Int32) { - self.items = items - self.enabled = enabled - self.quantity = quantity + public init(publicKeyList: PublicKeyList? = nil) { + self.publicKeyList = publicKeyList } private enum CodingKeys: String, CodingKey { - case items = "Items" - case enabled = "Enabled" - case quantity = "Quantity" + case publicKeyList = "PublicKeyList" } } @@ -2467,9 +3634,9 @@ extension Cloudfront { AWSShapeMember(label: "Aliases", required: false, type: .structure), AWSShapeMember(label: "CallerReference", required: true, type: .string), AWSShapeMember(label: "Logging", required: false, type: .structure), - AWSShapeMember(label: "S3Origin", required: true, type: .structure), - AWSShapeMember(label: "Enabled", required: true, type: .boolean), AWSShapeMember(label: "Comment", required: true, type: .string), + AWSShapeMember(label: "Enabled", required: true, type: .boolean), + AWSShapeMember(label: "S3Origin", required: true, type: .structure), AWSShapeMember(label: "TrustedSigners", required: true, type: .structure), AWSShapeMember(label: "PriceClass", required: false, type: .enum) ] @@ -2479,24 +3646,24 @@ extension Cloudfront { public let callerReference: String /// A complex type that controls whether access logs are written for the streaming distribution. public let logging: StreamingLoggingConfig? - /// A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution. - public let s3Origin: S3Origin - /// Whether the streaming distribution is enabled to accept user requests for content. - public let enabled: Bool /// Any comments you want to include about the streaming distribution. public let comment: String + /// Whether the streaming distribution is enabled to accept user requests for content. + public let enabled: Bool + /// A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution. + public let s3Origin: S3Origin /// 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. public let trustedSigners: TrustedSigners /// A complex type that contains information about price class for this streaming distribution. public let priceClass: PriceClass? - public init(aliases: Aliases? = nil, callerReference: String, logging: StreamingLoggingConfig? = nil, s3Origin: S3Origin, enabled: Bool, comment: String, trustedSigners: TrustedSigners, priceClass: PriceClass? = nil) { + public init(aliases: Aliases? = nil, callerReference: String, logging: StreamingLoggingConfig? = nil, comment: String, enabled: Bool, s3Origin: S3Origin, trustedSigners: TrustedSigners, priceClass: PriceClass? = nil) { self.aliases = aliases self.callerReference = callerReference self.logging = logging - self.s3Origin = s3Origin - self.enabled = enabled self.comment = comment + self.enabled = enabled + self.s3Origin = s3Origin self.trustedSigners = trustedSigners self.priceClass = priceClass } @@ -2505,9 +3672,9 @@ extension Cloudfront { case aliases = "Aliases" case callerReference = "CallerReference" case logging = "Logging" - case s3Origin = "S3Origin" - case enabled = "Enabled" case comment = "Comment" + case enabled = "Enabled" + case s3Origin = "S3Origin" case trustedSigners = "TrustedSigners" case priceClass = "PriceClass" } @@ -2572,18 +3739,19 @@ extension Cloudfront { } } - public struct TagKeyList: AWSShape { + public struct GetDistributionConfigRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Key", required: false, type: .list) + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) ] - public let key: [String]? + /// The distribution's ID. + public let id: String - public init(key: [String]? = nil) { - self.key = key + public init(id: String) { + self.id = id } private enum CodingKeys: String, CodingKey { - case key = "Key" + case id = "Id" } } @@ -2602,19 +3770,18 @@ extension Cloudfront { } } - public struct GetDistributionConfigRequest: AWSShape { + public struct TagKeyList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) + AWSShapeMember(label: "Key", required: false, type: .list) ] - /// The distribution's ID. - public let id: String + public let key: [String]? - public init(id: String) { - self.id = id + public init(key: [String]? = nil) { + self.key = key } private enum CodingKeys: String, CodingKey { - case id = "Id" + case key = "Key" } } @@ -2648,6 +3815,45 @@ extension Cloudfront { public var description: String { return self.rawValue } } + public struct ListFieldLevelEncryptionConfigsResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryptionList" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FieldLevelEncryptionList", required: false, type: .structure) + ] + /// Returns a list of all field-level encryption configurations that have been created in CloudFront for this account. + public let fieldLevelEncryptionList: FieldLevelEncryptionList? + + public init(fieldLevelEncryptionList: FieldLevelEncryptionList? = nil) { + self.fieldLevelEncryptionList = fieldLevelEncryptionList + } + + private enum CodingKeys: String, CodingKey { + case fieldLevelEncryptionList = "FieldLevelEncryptionList" + } + } + + public struct ContentTypeProfiles: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Items", required: false, type: .structure), + AWSShapeMember(label: "Quantity", required: true, type: .integer) + ] + /// Items in a field-level encryption content type-profile mapping. + public let items: ContentTypeProfileList? + /// The number of field-level encryption content type-profile mappings. + public let quantity: Int32 + + public init(items: ContentTypeProfileList? = nil, quantity: Int32) { + self.items = items + self.quantity = quantity + } + + private enum CodingKeys: String, CodingKey { + case items = "Items" + case quantity = "Quantity" + } + } + public struct GetStreamingDistributionConfigResult: AWSShape { /// The key for the payload public static let payloadPath: String? = "StreamingDistributionConfig" @@ -2671,6 +3877,29 @@ extension Cloudfront { } } + public struct UpdatePublicKeyResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "PublicKey" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), + AWSShapeMember(label: "PublicKey", required: false, type: .structure) + ] + /// The current version of the update public key result. For example: E2QWRUHAPOMQZL. + public let eTag: String? + /// Return the results of updating the public key. + public let publicKey: PublicKey? + + public init(eTag: String? = nil, publicKey: PublicKey? = nil) { + self.eTag = eTag + self.publicKey = publicKey + } + + private enum CodingKeys: String, CodingKey { + case eTag = "ETag" + case publicKey = "PublicKey" + } + } + public struct KeyPairIds: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Items", required: false, type: .structure), @@ -2779,26 +4008,18 @@ extension Cloudfront { } } - public struct GetCloudFrontOriginAccessIdentityResult: AWSShape { - /// The key for the payload - public static let payloadPath: String? = "CloudFrontOriginAccessIdentity" + public struct PublicKeySummaryList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), - AWSShapeMember(label: "CloudFrontOriginAccessIdentity", required: false, type: .structure) + AWSShapeMember(label: "PublicKeySummary", required: false, type: .list) ] - /// The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL. - public let eTag: String? - /// The origin access identity's information. - public let cloudFrontOriginAccessIdentity: CloudFrontOriginAccessIdentity? + public let publicKeySummary: [PublicKeySummary]? - public init(eTag: String? = nil, cloudFrontOriginAccessIdentity: CloudFrontOriginAccessIdentity? = nil) { - self.eTag = eTag - self.cloudFrontOriginAccessIdentity = cloudFrontOriginAccessIdentity + public init(publicKeySummary: [PublicKeySummary]? = nil) { + self.publicKeySummary = publicKeySummary } private enum CodingKeys: String, CodingKey { - case eTag = "ETag" - case cloudFrontOriginAccessIdentity = "CloudFrontOriginAccessIdentity" + case publicKeySummary = "PublicKeySummary" } } @@ -2853,6 +4074,29 @@ extension Cloudfront { } } + public struct GetCloudFrontOriginAccessIdentityResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "CloudFrontOriginAccessIdentity" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), + AWSShapeMember(label: "CloudFrontOriginAccessIdentity", required: false, type: .structure) + ] + /// The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL. + public let eTag: String? + /// The origin access identity's information. + public let cloudFrontOriginAccessIdentity: CloudFrontOriginAccessIdentity? + + public init(eTag: String? = nil, cloudFrontOriginAccessIdentity: CloudFrontOriginAccessIdentity? = nil) { + self.eTag = eTag + self.cloudFrontOriginAccessIdentity = cloudFrontOriginAccessIdentity + } + + private enum CodingKeys: String, CodingKey { + case eTag = "ETag" + case cloudFrontOriginAccessIdentity = "CloudFrontOriginAccessIdentity" + } + } + public struct CloudFrontOriginAccessIdentityList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxItems", required: true, type: .integer), @@ -2979,6 +4223,27 @@ extension Cloudfront { } } + public struct ListFieldLevelEncryptionProfilesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", location: .querystring(locationName: "Marker"), required: false, type: .string), + AWSShapeMember(label: "MaxItems", location: .querystring(locationName: "MaxItems"), required: false, type: .string) + ] + /// 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). + public let marker: String? + /// The maximum number of field-level encryption profiles you want in the response body. + public let maxItems: String? + + public init(marker: String? = nil, maxItems: String? = nil) { + self.marker = marker + self.maxItems = maxItems + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case maxItems = "MaxItems" + } + } + public struct StreamingDistributionConfigWithTags: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Tags", required: true, type: .structure), @@ -3065,17 +4330,89 @@ extension Cloudfront { } } - public struct CustomErrorResponses: AWSShape { + public struct GetFieldLevelEncryptionProfileResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryptionProfile" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), + AWSShapeMember(label: "FieldLevelEncryptionProfile", required: false, type: .structure) + ] + /// The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. + public let eTag: String? + /// Return the field-level encryption profile information. + public let fieldLevelEncryptionProfile: FieldLevelEncryptionProfile? + + public init(eTag: String? = nil, fieldLevelEncryptionProfile: FieldLevelEncryptionProfile? = nil) { + self.eTag = eTag + self.fieldLevelEncryptionProfile = fieldLevelEncryptionProfile + } + + private enum CodingKeys: String, CodingKey { + case eTag = "ETag" + case fieldLevelEncryptionProfile = "FieldLevelEncryptionProfile" + } + } + + public struct FieldLevelEncryption: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: true, type: .timestamp), + AWSShapeMember(label: "FieldLevelEncryptionConfig", required: true, type: .structure), + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// The last time the field-level encryption configuration was changed. + public let lastModifiedTime: TimeStamp + /// A complex data type that includes the profile configurations specified for field-level encryption. + public let fieldLevelEncryptionConfig: FieldLevelEncryptionConfig + /// 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. + public let id: String + + public init(lastModifiedTime: TimeStamp, fieldLevelEncryptionConfig: FieldLevelEncryptionConfig, id: String) { + self.lastModifiedTime = lastModifiedTime + self.fieldLevelEncryptionConfig = fieldLevelEncryptionConfig + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case fieldLevelEncryptionConfig = "FieldLevelEncryptionConfig" + case id = "Id" + } + } + + public struct GetFieldLevelEncryptionProfileConfigResult: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "FieldLevelEncryptionProfileConfig" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ETag", location: .header(locationName: "ETag"), required: false, type: .string), + AWSShapeMember(label: "FieldLevelEncryptionProfileConfig", required: false, type: .structure) + ] + /// The current version of the field-level encryption profile configuration result. For example: E2QWRUHAPOMQZL. + public let eTag: String? + /// Return the field-level encryption profile configuration information. + public let fieldLevelEncryptionProfileConfig: FieldLevelEncryptionProfileConfig? + + public init(eTag: String? = nil, fieldLevelEncryptionProfileConfig: FieldLevelEncryptionProfileConfig? = nil) { + self.eTag = eTag + self.fieldLevelEncryptionProfileConfig = fieldLevelEncryptionProfileConfig + } + + private enum CodingKeys: String, CodingKey { + case eTag = "ETag" + case fieldLevelEncryptionProfileConfig = "FieldLevelEncryptionProfileConfig" + } + } + + public struct CookieNames: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Items", required: false, type: .structure), AWSShapeMember(label: "Quantity", required: true, type: .integer) ] - /// 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. - public let items: CustomErrorResponseList? - /// 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. + /// A complex type that contains one Name element for each cookie that you want CloudFront to forward to the origin for this cache behavior. + public let items: CookieNameList? + /// The number of different cookies that you want CloudFront to forward to the origin for this cache behavior. public let quantity: Int32 - public init(items: CustomErrorResponseList? = nil, quantity: Int32) { + public init(items: CookieNameList? = nil, quantity: Int32) { self.items = items self.quantity = quantity } @@ -3086,17 +4423,17 @@ extension Cloudfront { } } - public struct CookieNames: AWSShape { + public struct CustomErrorResponses: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Items", required: false, type: .structure), AWSShapeMember(label: "Quantity", required: true, type: .integer) ] - /// A complex type that contains one Name element for each cookie that you want CloudFront to forward to the origin for this cache behavior. - public let items: CookieNameList? - /// The number of different cookies that you want CloudFront to forward to the origin for this cache behavior. + /// 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. + public let items: CustomErrorResponseList? + /// 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. public let quantity: Int32 - public init(items: CookieNameList? = nil, quantity: Int32) { + public init(items: CustomErrorResponseList? = nil, quantity: Int32) { self.items = items self.quantity = quantity } @@ -3133,6 +4470,48 @@ extension Cloudfront { public var description: String { return self.rawValue } } + public struct GetFieldLevelEncryptionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", location: .uri(locationName: "Id"), required: true, type: .string) + ] + /// Request the ID for the field-level encryption configuration information. + public let id: String + + public init(id: String) { + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + } + } + + public struct FieldLevelEncryptionProfile: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: true, type: .timestamp), + AWSShapeMember(label: "FieldLevelEncryptionProfileConfig", required: true, type: .structure), + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// The last time the field-level encryption profile was updated. + public let lastModifiedTime: TimeStamp + /// A complex data type that includes the profile name and the encryption entities for the field-level encryption profile. + public let fieldLevelEncryptionProfileConfig: FieldLevelEncryptionProfileConfig + /// 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. + public let id: String + + public init(lastModifiedTime: TimeStamp, fieldLevelEncryptionProfileConfig: FieldLevelEncryptionProfileConfig, id: String) { + self.lastModifiedTime = lastModifiedTime + self.fieldLevelEncryptionProfileConfig = fieldLevelEncryptionProfileConfig + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case fieldLevelEncryptionProfileConfig = "FieldLevelEncryptionProfileConfig" + case id = "Id" + } + } + public struct AwsAccountNumberList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AwsAccountNumber", required: false, type: .list) diff --git a/Sources/AWSSDKSwift/Services/cloudhsmv2/Cloudhsmv2_API.swift b/Sources/AWSSDKSwift/Services/cloudhsmv2/Cloudhsmv2_API.swift index 3d8f0f0321a..53a25e4b77a 100644 --- a/Sources/AWSSDKSwift/Services/cloudhsmv2/Cloudhsmv2_API.swift +++ b/Sources/AWSSDKSwift/Services/cloudhsmv2/Cloudhsmv2_API.swift @@ -35,6 +35,10 @@ public struct Cloudhsmv2 { return try client.send(operation: "UntagResource", path: "/", httpMethod: "POST", input: input) } + public func copyBackupToRegion(_ input: CopyBackupToRegionRequest) throws -> CopyBackupToRegionResponse { + return try client.send(operation: "CopyBackupToRegion", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func deleteCluster(_ input: DeleteClusterRequest) throws -> DeleteClusterResponse { return try client.send(operation: "DeleteCluster", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/cloudhsmv2/Cloudhsmv2_Shapes.swift b/Sources/AWSSDKSwift/Services/cloudhsmv2/Cloudhsmv2_Shapes.swift index d66a542a605..fc91313a352 100644 --- a/Sources/AWSSDKSwift/Services/cloudhsmv2/Cloudhsmv2_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/cloudhsmv2/Cloudhsmv2_Shapes.swift @@ -24,29 +24,29 @@ extension Cloudhsmv2 { public struct Cluster: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StateMessage", required: false, type: .string), - AWSShapeMember(label: "BackupPolicy", required: false, type: .enum), + AWSShapeMember(label: "HsmType", required: false, type: .string), AWSShapeMember(label: "SecurityGroup", required: false, type: .string), + AWSShapeMember(label: "SourceBackupId", required: false, type: .string), AWSShapeMember(label: "Certificates", required: false, type: .structure), - AWSShapeMember(label: "Hsms", required: false, type: .list), AWSShapeMember(label: "State", required: false, type: .enum), AWSShapeMember(label: "SubnetMapping", required: false, type: .map), AWSShapeMember(label: "VpcId", required: false, type: .string), AWSShapeMember(label: "PreCoPassword", required: false, type: .string), AWSShapeMember(label: "CreateTimestamp", required: false, type: .timestamp), - AWSShapeMember(label: "HsmType", required: false, type: .string), AWSShapeMember(label: "ClusterId", required: false, type: .string), - AWSShapeMember(label: "SourceBackupId", required: false, type: .string) + AWSShapeMember(label: "BackupPolicy", required: false, type: .enum), + AWSShapeMember(label: "Hsms", required: false, type: .list) ] /// A description of the cluster's state. public let stateMessage: String? - /// The cluster's backup policy. - public let backupPolicy: BackupPolicy? + /// The type of HSM that the cluster contains. + public let hsmType: String? /// The identifier (ID) of the cluster's security group. public let securityGroup: String? + /// The identifier (ID) of the backup used to create the cluster. This value exists only when the cluster was created from a backup. + public let sourceBackupId: String? /// Contains one or more certificates or a certificate signing request (CSR). public let certificates: Certificates? - /// Contains information about the HSMs in the cluster. - public let hsms: [Hsm]? /// The cluster's state. public let state: ClusterState? /// A map of the cluster's subnets and their corresponding Availability Zones. @@ -57,43 +57,43 @@ extension Cloudhsmv2 { public let preCoPassword: String? /// The date and time when the cluster was created. public let createTimestamp: TimeStamp? - /// The type of HSM that the cluster contains. - public let hsmType: String? /// The cluster's identifier (ID). public let clusterId: String? - /// The identifier (ID) of the backup used to create the cluster. This value exists only when the cluster was created from a backup. - public let sourceBackupId: String? + /// The cluster's backup policy. + public let backupPolicy: BackupPolicy? + /// Contains information about the HSMs in the cluster. + public let hsms: [Hsm]? - public init(stateMessage: String? = nil, backupPolicy: BackupPolicy? = nil, securityGroup: String? = nil, certificates: Certificates? = nil, hsms: [Hsm]? = nil, state: ClusterState? = nil, subnetMapping: [String: String]? = nil, vpcId: String? = nil, preCoPassword: String? = nil, createTimestamp: TimeStamp? = nil, hsmType: String? = nil, clusterId: String? = nil, sourceBackupId: String? = nil) { + public init(stateMessage: String? = nil, hsmType: String? = nil, securityGroup: String? = nil, sourceBackupId: String? = nil, certificates: Certificates? = nil, state: ClusterState? = nil, subnetMapping: [String: String]? = nil, vpcId: String? = nil, preCoPassword: String? = nil, createTimestamp: TimeStamp? = nil, clusterId: String? = nil, backupPolicy: BackupPolicy? = nil, hsms: [Hsm]? = nil) { self.stateMessage = stateMessage - self.backupPolicy = backupPolicy + self.hsmType = hsmType self.securityGroup = securityGroup + self.sourceBackupId = sourceBackupId self.certificates = certificates - self.hsms = hsms self.state = state self.subnetMapping = subnetMapping self.vpcId = vpcId self.preCoPassword = preCoPassword self.createTimestamp = createTimestamp - self.hsmType = hsmType self.clusterId = clusterId - self.sourceBackupId = sourceBackupId + self.backupPolicy = backupPolicy + self.hsms = hsms } private enum CodingKeys: String, CodingKey { case stateMessage = "StateMessage" - case backupPolicy = "BackupPolicy" + case hsmType = "HsmType" case securityGroup = "SecurityGroup" + case sourceBackupId = "SourceBackupId" case certificates = "Certificates" - case hsms = "Hsms" case state = "State" case subnetMapping = "SubnetMapping" case vpcId = "VpcId" case preCoPassword = "PreCoPassword" case createTimestamp = "CreateTimestamp" - case hsmType = "HsmType" case clusterId = "ClusterId" - case sourceBackupId = "SourceBackupId" + case backupPolicy = "BackupPolicy" + case hsms = "Hsms" } } @@ -125,6 +125,25 @@ extension Cloudhsmv2 { public var description: String { return self.rawValue } } + public struct CopyBackupToRegionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DestinationRegion", required: true, type: .string), + AWSShapeMember(label: "BackupId", required: true, type: .string) + ] + public let destinationRegion: String + public let backupId: String + + public init(destinationRegion: String, backupId: String) { + self.destinationRegion = destinationRegion + self.backupId = backupId + } + + private enum CodingKeys: String, CodingKey { + case destinationRegion = "DestinationRegion" + case backupId = "BackupId" + } + } + public struct ListTagsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -260,6 +279,21 @@ extension Cloudhsmv2 { public var description: String { return self.rawValue } } + public struct CopyBackupToRegionResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DestinationBackup", required: false, type: .structure) + ] + public let destinationBackup: DestinationBackup? + + public init(destinationBackup: DestinationBackup? = nil) { + self.destinationBackup = destinationBackup + } + + private enum CodingKeys: String, CodingKey { + case destinationBackup = "DestinationBackup" + } + } + public struct DeleteHsmRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "HsmId", required: false, type: .string), @@ -317,6 +351,33 @@ extension Cloudhsmv2 { } } + public struct DestinationBackup: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CreateTimestamp", required: false, type: .timestamp), + AWSShapeMember(label: "SourceCluster", required: false, type: .string), + AWSShapeMember(label: "SourceBackup", required: false, type: .string), + AWSShapeMember(label: "SourceRegion", required: false, type: .string) + ] + public let createTimestamp: TimeStamp? + public let sourceCluster: String? + public let sourceBackup: String? + public let sourceRegion: String? + + public init(createTimestamp: TimeStamp? = nil, sourceCluster: String? = nil, sourceBackup: String? = nil, sourceRegion: String? = nil) { + self.createTimestamp = createTimestamp + self.sourceCluster = sourceCluster + self.sourceBackup = sourceBackup + self.sourceRegion = sourceRegion + } + + private enum CodingKeys: String, CodingKey { + case createTimestamp = "CreateTimestamp" + case sourceCluster = "SourceCluster" + case sourceBackup = "SourceBackup" + case sourceRegion = "SourceRegion" + } + } + public struct DeleteClusterResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Cluster", required: false, type: .structure) @@ -377,27 +438,31 @@ extension Cloudhsmv2 { public struct DescribeBackupsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer), AWSShapeMember(label: "Filters", required: false, type: .map), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "SortAscending", required: false, type: .boolean) ] - /// The NextToken value that you received in the previous response. Use this value to get more backups. - public let nextToken: String? - /// 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. - public let filters: [String: [String]]? /// 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. public let maxResults: Int32? + /// 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. + public let filters: [String: [String]]? + /// The NextToken value that you received in the previous response. Use this value to get more backups. + public let nextToken: String? + public let sortAscending: Bool? - public init(nextToken: String? = nil, filters: [String: [String]]? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.filters = filters + public init(maxResults: Int32? = nil, filters: [String: [String]]? = nil, nextToken: String? = nil, sortAscending: Bool? = nil) { self.maxResults = maxResults + self.filters = filters + self.nextToken = nextToken + self.sortAscending = sortAscending } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case filters = "Filters" case maxResults = "MaxResults" + case filters = "Filters" + case nextToken = "NextToken" + case sortAscending = "SortAscending" } } @@ -454,31 +519,47 @@ extension Cloudhsmv2 { public struct Backup: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SourceBackup", required: false, type: .string), + AWSShapeMember(label: "SourceCluster", required: false, type: .string), + AWSShapeMember(label: "CopyTimestamp", required: false, type: .timestamp), + AWSShapeMember(label: "BackupId", required: true, type: .string), + AWSShapeMember(label: "SourceRegion", required: false, type: .string), AWSShapeMember(label: "CreateTimestamp", required: false, type: .timestamp), AWSShapeMember(label: "BackupState", required: false, type: .enum), - AWSShapeMember(label: "BackupId", required: true, type: .string), AWSShapeMember(label: "ClusterId", required: false, type: .string) ] + public let sourceBackup: String? + public let sourceCluster: String? + public let copyTimestamp: TimeStamp? + /// The identifier (ID) of the backup. + public let backupId: String + public let sourceRegion: String? /// The date and time when the backup was created. public let createTimestamp: TimeStamp? /// The state of the backup. public let backupState: BackupState? - /// The identifier (ID) of the backup. - public let backupId: String /// The identifier (ID) of the cluster that was backed up. public let clusterId: String? - public init(createTimestamp: TimeStamp? = nil, backupState: BackupState? = nil, backupId: String, clusterId: String? = nil) { + public init(sourceBackup: String? = nil, sourceCluster: String? = nil, copyTimestamp: TimeStamp? = nil, backupId: String, sourceRegion: String? = nil, createTimestamp: TimeStamp? = nil, backupState: BackupState? = nil, clusterId: String? = nil) { + self.sourceBackup = sourceBackup + self.sourceCluster = sourceCluster + self.copyTimestamp = copyTimestamp + self.backupId = backupId + self.sourceRegion = sourceRegion self.createTimestamp = createTimestamp self.backupState = backupState - self.backupId = backupId self.clusterId = clusterId } private enum CodingKeys: String, CodingKey { + case sourceBackup = "SourceBackup" + case sourceCluster = "SourceCluster" + case copyTimestamp = "CopyTimestamp" + case backupId = "BackupId" + case sourceRegion = "SourceRegion" case createTimestamp = "CreateTimestamp" case backupState = "BackupState" - case backupId = "BackupId" case clusterId = "ClusterId" } } diff --git a/Sources/AWSSDKSwift/Services/cloudsearch/Cloudsearch_Shapes.swift b/Sources/AWSSDKSwift/Services/cloudsearch/Cloudsearch_Shapes.swift index 4037d3e0c43..b2920a43a22 100644 --- a/Sources/AWSSDKSwift/Services/cloudsearch/Cloudsearch_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/cloudsearch/Cloudsearch_Shapes.swift @@ -333,13 +333,13 @@ extension Cloudsearch { AWSShapeMember(label: "ARN", required: false, type: .string), AWSShapeMember(label: "DocService", required: false, type: .structure), AWSShapeMember(label: "RequiresIndexDocuments", required: true, type: .boolean), - AWSShapeMember(label: "SearchService", required: false, type: .structure), AWSShapeMember(label: "SearchPartitionCount", required: false, type: .integer), + AWSShapeMember(label: "SearchService", required: false, type: .structure), AWSShapeMember(label: "SearchInstanceType", required: false, type: .string), AWSShapeMember(label: "DomainName", required: true, type: .string), AWSShapeMember(label: "SearchInstanceCount", required: false, type: .integer), - AWSShapeMember(label: "Deleted", required: false, type: .boolean), - AWSShapeMember(label: "DomainId", required: true, type: .string) + AWSShapeMember(label: "DomainId", required: true, type: .string), + AWSShapeMember(label: "Deleted", required: false, type: .boolean) ] public let limits: Limits? /// True if processing is being done to activate the current domain configuration. @@ -351,33 +351,33 @@ extension Cloudsearch { public let docService: ServiceEndpoint? /// True if IndexDocuments needs to be called to activate the current domain configuration. public let requiresIndexDocuments: Bool - /// The service endpoint for requesting search results from a search domain. - public let searchService: ServiceEndpoint? /// The number of partitions across which the search index is spread. public let searchPartitionCount: Int32? + /// The service endpoint for requesting search results from a search domain. + public let searchService: ServiceEndpoint? /// The instance type that is being used to process search requests. public let searchInstanceType: String? public let domainName: String /// The number of search instances that are available to process search requests. public let searchInstanceCount: Int32? + public let domainId: String /// 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. public let deleted: Bool? - public let domainId: String - public init(limits: Limits? = nil, processing: Bool? = nil, created: Bool? = nil, arn: String? = nil, docService: ServiceEndpoint? = nil, requiresIndexDocuments: Bool, searchService: ServiceEndpoint? = nil, searchPartitionCount: Int32? = nil, searchInstanceType: String? = nil, domainName: String, searchInstanceCount: Int32? = nil, deleted: Bool? = nil, domainId: String) { + public init(limits: Limits? = nil, processing: Bool? = nil, created: Bool? = nil, arn: String? = nil, docService: ServiceEndpoint? = nil, requiresIndexDocuments: Bool, searchPartitionCount: Int32? = nil, searchService: ServiceEndpoint? = nil, searchInstanceType: String? = nil, domainName: String, searchInstanceCount: Int32? = nil, domainId: String, deleted: Bool? = nil) { self.limits = limits self.processing = processing self.created = created self.arn = arn self.docService = docService self.requiresIndexDocuments = requiresIndexDocuments - self.searchService = searchService self.searchPartitionCount = searchPartitionCount + self.searchService = searchService self.searchInstanceType = searchInstanceType self.domainName = domainName self.searchInstanceCount = searchInstanceCount - self.deleted = deleted self.domainId = domainId + self.deleted = deleted } private enum CodingKeys: String, CodingKey { @@ -387,13 +387,13 @@ extension Cloudsearch { case arn = "ARN" case docService = "DocService" case requiresIndexDocuments = "RequiresIndexDocuments" - case searchService = "SearchService" case searchPartitionCount = "SearchPartitionCount" + case searchService = "SearchService" case searchInstanceType = "SearchInstanceType" case domainName = "DomainName" case searchInstanceCount = "SearchInstanceCount" - case deleted = "Deleted" case domainId = "DomainId" + case deleted = "Deleted" } } diff --git a/Sources/AWSSDKSwift/Services/cloudtrail/Cloudtrail_Shapes.swift b/Sources/AWSSDKSwift/Services/cloudtrail/Cloudtrail_Shapes.swift index b5625102456..c2a3879c074 100644 --- a/Sources/AWSSDKSwift/Services/cloudtrail/Cloudtrail_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/cloudtrail/Cloudtrail_Shapes.swift @@ -355,8 +355,8 @@ extension Cloudtrail { public struct Trail: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "KmsKeyId", required: false, type: .string), AWSShapeMember(label: "LogFileValidationEnabled", required: false, type: .boolean), + AWSShapeMember(label: "SnsTopicARN", required: false, type: .string), AWSShapeMember(label: "HomeRegion", required: false, type: .string), AWSShapeMember(label: "TrailARN", required: false, type: .string), AWSShapeMember(label: "IncludeGlobalServiceEvents", required: false, type: .boolean), @@ -368,12 +368,12 @@ extension Cloudtrail { AWSShapeMember(label: "SnsTopicName", required: false, type: .string), AWSShapeMember(label: "CloudWatchLogsRoleArn", required: false, type: .string), AWSShapeMember(label: "HasCustomEventSelectors", required: false, type: .boolean), - AWSShapeMember(label: "SnsTopicARN", required: false, type: .string) + AWSShapeMember(label: "KmsKeyId", required: false, type: .string) ] - /// 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 - public let kmsKeyId: String? /// Specifies whether log file validation is enabled. public let logFileValidationEnabled: Bool? + /// 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 + public let snsTopicARN: String? /// The region in which the trail was created. public let homeRegion: String? /// Specifies the ARN of the trail. The format of a trail ARN is: arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail @@ -396,12 +396,12 @@ extension Cloudtrail { public let cloudWatchLogsRoleArn: String? /// Specifies if the trail has custom event selectors. public let hasCustomEventSelectors: Bool? - /// 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 - public let snsTopicARN: String? + /// 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 + public let kmsKeyId: String? - public init(kmsKeyId: String? = nil, logFileValidationEnabled: Bool? = nil, homeRegion: String? = nil, trailARN: String? = nil, includeGlobalServiceEvents: Bool? = nil, s3KeyPrefix: String? = nil, isMultiRegionTrail: Bool? = nil, name: String? = nil, cloudWatchLogsLogGroupArn: String? = nil, s3BucketName: String? = nil, snsTopicName: String? = nil, cloudWatchLogsRoleArn: String? = nil, hasCustomEventSelectors: Bool? = nil, snsTopicARN: String? = nil) { - self.kmsKeyId = kmsKeyId + public init(logFileValidationEnabled: Bool? = nil, snsTopicARN: String? = nil, homeRegion: String? = nil, trailARN: String? = nil, includeGlobalServiceEvents: Bool? = nil, s3KeyPrefix: String? = nil, isMultiRegionTrail: Bool? = nil, name: String? = nil, cloudWatchLogsLogGroupArn: String? = nil, s3BucketName: String? = nil, snsTopicName: String? = nil, cloudWatchLogsRoleArn: String? = nil, hasCustomEventSelectors: Bool? = nil, kmsKeyId: String? = nil) { self.logFileValidationEnabled = logFileValidationEnabled + self.snsTopicARN = snsTopicARN self.homeRegion = homeRegion self.trailARN = trailARN self.includeGlobalServiceEvents = includeGlobalServiceEvents @@ -413,12 +413,12 @@ extension Cloudtrail { self.snsTopicName = snsTopicName self.cloudWatchLogsRoleArn = cloudWatchLogsRoleArn self.hasCustomEventSelectors = hasCustomEventSelectors - self.snsTopicARN = snsTopicARN + self.kmsKeyId = kmsKeyId } private enum CodingKeys: String, CodingKey { - case kmsKeyId = "KmsKeyId" case logFileValidationEnabled = "LogFileValidationEnabled" + case snsTopicARN = "SnsTopicARN" case homeRegion = "HomeRegion" case trailARN = "TrailARN" case includeGlobalServiceEvents = "IncludeGlobalServiceEvents" @@ -430,7 +430,7 @@ extension Cloudtrail { case snsTopicName = "SnsTopicName" case cloudWatchLogsRoleArn = "CloudWatchLogsRoleArn" case hasCustomEventSelectors = "HasCustomEventSelectors" - case snsTopicARN = "SnsTopicARN" + case kmsKeyId = "KmsKeyId" } } @@ -555,8 +555,8 @@ extension Cloudtrail { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EventSource", required: false, type: .string), AWSShapeMember(label: "EventTime", required: false, type: .timestamp), - AWSShapeMember(label: "Username", required: false, type: .string), AWSShapeMember(label: "EventId", required: false, type: .string), + AWSShapeMember(label: "Username", required: false, type: .string), AWSShapeMember(label: "EventName", required: false, type: .string), AWSShapeMember(label: "Resources", required: false, type: .list), AWSShapeMember(label: "CloudTrailEvent", required: false, type: .string) @@ -565,10 +565,10 @@ extension Cloudtrail { public let eventSource: String? /// The date and time of the event returned. public let eventTime: TimeStamp? - /// A user name or role name of the requester that called the API in the event returned. - public let username: String? /// The CloudTrail ID of the event returned. public let eventId: String? + /// A user name or role name of the requester that called the API in the event returned. + public let username: String? /// The name of the event returned. public let eventName: String? /// A list of resources referenced by the event returned. @@ -576,11 +576,11 @@ extension Cloudtrail { /// A JSON string that contains a representation of the event returned. public let cloudTrailEvent: String? - public init(eventSource: String? = nil, eventTime: TimeStamp? = nil, username: String? = nil, eventId: String? = nil, eventName: String? = nil, resources: [Resource]? = nil, cloudTrailEvent: String? = nil) { + public init(eventSource: String? = nil, eventTime: TimeStamp? = nil, eventId: String? = nil, username: String? = nil, eventName: String? = nil, resources: [Resource]? = nil, cloudTrailEvent: String? = nil) { self.eventSource = eventSource self.eventTime = eventTime - self.username = username self.eventId = eventId + self.username = username self.eventName = eventName self.resources = resources self.cloudTrailEvent = cloudTrailEvent @@ -589,8 +589,8 @@ extension Cloudtrail { private enum CodingKeys: String, CodingKey { case eventSource = "EventSource" case eventTime = "EventTime" - case username = "Username" case eventId = "EventId" + case username = "Username" case eventName = "EventName" case resources = "Resources" case cloudTrailEvent = "CloudTrailEvent" diff --git a/Sources/AWSSDKSwift/Services/codebuild/Codebuild_API.swift b/Sources/AWSSDKSwift/Services/codebuild/Codebuild_API.swift index c5e59c789d1..b7f2d8c9c20 100644 --- a/Sources/AWSSDKSwift/Services/codebuild/Codebuild_API.swift +++ b/Sources/AWSSDKSwift/Services/codebuild/Codebuild_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -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. 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. +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. */ public struct Codebuild { @@ -20,6 +20,7 @@ public struct Codebuild { serviceProtocol: ServiceProtocol(type: .json, version: ServiceProtocol.Version(major: 1, minor: 1)), apiVersion: "2016-10-06", endpoint: endpoint, + serviceEndpoints: ["us-west-2-fips": "codebuild-fips.us-west-2.amazonaws.com", "us-west-1-fips": "codebuild-fips.us-west-1.amazonaws.com", "us-east-2-fips": "codebuild-fips.us-east-2.amazonaws.com", "us-east-1-fips": "codebuild-fips.us-east-1.amazonaws.com"], middlewares: [], possibleErrorTypes: [CodebuildError.self] ) @@ -70,7 +71,7 @@ public struct Codebuild { return try client.send(operation: "BatchGetProjects", path: "/", httpMethod: "POST", input: input) } - /// 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 9 in Change a Build Project’s Settings. + /// 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. public func createWebhook(_ input: CreateWebhookInput) throws -> CreateWebhookOutput { return try client.send(operation: "CreateWebhook", path: "/", httpMethod: "POST", input: input) } @@ -95,6 +96,11 @@ public struct Codebuild { return try client.send(operation: "ListBuilds", path: "/", httpMethod: "POST", input: input) } + /// Updates the webhook associated with an AWS CodeBuild build project. + public func updateWebhook(_ input: UpdateWebhookInput) throws -> UpdateWebhookOutput { + return try client.send(operation: "UpdateWebhook", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func deleteWebhook(_ input: DeleteWebhookInput) throws -> DeleteWebhookOutput { return try client.send(operation: "DeleteWebhook", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/codebuild/Codebuild_Shapes.swift b/Sources/AWSSDKSwift/Services/codebuild/Codebuild_Shapes.swift index 38e7f699196..5e2bbc6f2f7 100644 --- a/Sources/AWSSDKSwift/Services/codebuild/Codebuild_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/codebuild/Codebuild_Shapes.swift @@ -57,27 +57,32 @@ extension Codebuild { public struct BuildArtifacts: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "md5sum", required: false, type: .string), AWSShapeMember(label: "location", required: false, type: .string), - AWSShapeMember(label: "sha256sum", required: false, type: .string) + AWSShapeMember(label: "sha256sum", required: false, type: .string), + AWSShapeMember(label: "md5sum", required: false, type: .string), + AWSShapeMember(label: "encryptionDisabled", required: false, type: .boolean) ] - /// 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. - public let md5sum: String? /// Information about the location of the build artifacts. public let location: String? /// 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. public let sha256sum: String? + /// 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. + public let md5sum: String? + /// Information that tells you if encryption for build artifacts is disabled. + public let encryptionDisabled: Bool? - public init(md5sum: String? = nil, location: String? = nil, sha256sum: String? = nil) { - self.md5sum = md5sum + public init(location: String? = nil, sha256sum: String? = nil, md5sum: String? = nil, encryptionDisabled: Bool? = nil) { self.location = location self.sha256sum = sha256sum + self.md5sum = md5sum + self.encryptionDisabled = encryptionDisabled } private enum CodingKeys: String, CodingKey { - case md5sum = "md5sum" case location = "location" case sha256sum = "sha256sum" + case md5sum = "md5sum" + case encryptionDisabled = "encryptionDisabled" } } @@ -132,6 +137,7 @@ extension Codebuild { case debian = "DEBIAN" case amazonLinux = "AMAZON_LINUX" case ubuntu = "UBUNTU" + case windowsServer = "WINDOWS_SERVER" public var description: String { return self.rawValue } } @@ -146,11 +152,12 @@ extension Codebuild { AWSShapeMember(label: "phases", required: false, type: .list), AWSShapeMember(label: "source", required: false, type: .structure), AWSShapeMember(label: "networkInterface", required: false, type: .structure), - AWSShapeMember(label: "timeoutInMinutes", required: false, type: .integer), AWSShapeMember(label: "vpcConfig", required: false, type: .structure), AWSShapeMember(label: "sourceVersion", required: false, type: .string), AWSShapeMember(label: "currentPhase", required: false, type: .string), + AWSShapeMember(label: "timeoutInMinutes", required: false, type: .integer), AWSShapeMember(label: "artifacts", required: false, type: .structure), + AWSShapeMember(label: "serviceRole", required: false, type: .string), AWSShapeMember(label: "buildStatus", required: false, type: .enum), AWSShapeMember(label: "arn", required: false, type: .string), AWSShapeMember(label: "cache", required: false, type: .structure), @@ -158,6 +165,7 @@ extension Codebuild { AWSShapeMember(label: "environment", required: false, type: .structure), AWSShapeMember(label: "id", required: false, type: .string), AWSShapeMember(label: "projectName", required: false, type: .string), + AWSShapeMember(label: "encryptionKey", required: false, type: .string), AWSShapeMember(label: "buildComplete", required: false, type: .boolean), AWSShapeMember(label: "endTime", required: false, type: .timestamp), AWSShapeMember(label: "logs", required: false, type: .structure), @@ -169,16 +177,18 @@ extension Codebuild { public let source: ProjectSource? /// Describes a network interface. public let networkInterface: NetworkInterface? - /// How long, in minutes, for AWS CodeBuild to wait before timing out this build if it does not get marked as completed. - public let timeoutInMinutes: Int32? /// 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. public let vpcConfig: VpcConfig? /// Any version identifier for the version of the source code to be built. public let sourceVersion: String? /// The current build phase. public let currentPhase: String? + /// How long, in minutes, for AWS CodeBuild to wait before timing out this build if it does not get marked as completed. + public let timeoutInMinutes: Int32? /// Information about the output artifacts for the build. public let artifacts: BuildArtifacts? + /// The name of a service role used for this build. + public let serviceRole: String? /// 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. public let buildStatus: StatusType? /// The Amazon Resource Name (ARN) of the build. @@ -191,8 +201,10 @@ extension Codebuild { public let environment: ProjectEnvironment? /// The unique ID for the build. public let id: String? - /// The name of the build project. + /// The name of the AWS CodeBuild project. public let projectName: String? + /// 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 ). + public let encryptionKey: String? /// Whether the build has finished. True if completed; otherwise, false. public let buildComplete: Bool? /// When the build process ended, expressed in Unix time format. @@ -202,15 +214,16 @@ extension Codebuild { /// When the build process started, expressed in Unix time format. public let startTime: TimeStamp? - public init(phases: [BuildPhase]? = nil, source: ProjectSource? = nil, networkInterface: NetworkInterface? = nil, timeoutInMinutes: Int32? = nil, vpcConfig: VpcConfig? = nil, sourceVersion: String? = nil, currentPhase: String? = nil, artifacts: BuildArtifacts? = nil, buildStatus: StatusType? = nil, arn: String? = nil, cache: ProjectCache? = nil, initiator: String? = nil, environment: ProjectEnvironment? = nil, id: String? = nil, projectName: String? = nil, buildComplete: Bool? = nil, endTime: TimeStamp? = nil, logs: LogsLocation? = nil, startTime: TimeStamp? = nil) { + public init(phases: [BuildPhase]? = nil, source: ProjectSource? = nil, networkInterface: NetworkInterface? = nil, vpcConfig: VpcConfig? = nil, sourceVersion: String? = nil, currentPhase: String? = nil, timeoutInMinutes: Int32? = nil, artifacts: BuildArtifacts? = nil, serviceRole: String? = nil, buildStatus: StatusType? = nil, arn: String? = nil, cache: ProjectCache? = nil, initiator: String? = nil, environment: ProjectEnvironment? = nil, id: String? = nil, projectName: String? = nil, encryptionKey: String? = nil, buildComplete: Bool? = nil, endTime: TimeStamp? = nil, logs: LogsLocation? = nil, startTime: TimeStamp? = nil) { self.phases = phases self.source = source self.networkInterface = networkInterface - self.timeoutInMinutes = timeoutInMinutes self.vpcConfig = vpcConfig self.sourceVersion = sourceVersion self.currentPhase = currentPhase + self.timeoutInMinutes = timeoutInMinutes self.artifacts = artifacts + self.serviceRole = serviceRole self.buildStatus = buildStatus self.arn = arn self.cache = cache @@ -218,6 +231,7 @@ extension Codebuild { self.environment = environment self.id = id self.projectName = projectName + self.encryptionKey = encryptionKey self.buildComplete = buildComplete self.endTime = endTime self.logs = logs @@ -228,11 +242,12 @@ extension Codebuild { case phases = "phases" case source = "source" case networkInterface = "networkInterface" - case timeoutInMinutes = "timeoutInMinutes" case vpcConfig = "vpcConfig" case sourceVersion = "sourceVersion" case currentPhase = "currentPhase" + case timeoutInMinutes = "timeoutInMinutes" case artifacts = "artifacts" + case serviceRole = "serviceRole" case buildStatus = "buildStatus" case arn = "arn" case cache = "cache" @@ -240,6 +255,7 @@ extension Codebuild { case environment = "environment" case id = "id" case projectName = "projectName" + case encryptionKey = "encryptionKey" case buildComplete = "buildComplete" case endTime = "endTime" case logs = "logs" @@ -268,39 +284,44 @@ extension Codebuild { AWSShapeMember(label: "name", required: false, type: .string), AWSShapeMember(label: "location", required: false, type: .string), AWSShapeMember(label: "path", required: false, type: .string), + AWSShapeMember(label: "encryptionDisabled", required: false, type: .boolean), AWSShapeMember(label: "namespaceType", required: false, type: .enum), - AWSShapeMember(label: "packaging", required: false, type: .enum), - AWSShapeMember(label: "type", required: true, type: .enum) + AWSShapeMember(label: "type", required: true, type: .enum), + AWSShapeMember(label: "packaging", required: false, type: .enum) ] - /// 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. 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. + /// 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 . public let name: String? /// 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. public let location: String? /// 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. public let path: String? + /// 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. + public let encryptionDisabled: Bool? /// 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. public let namespaceType: ArtifactNamespace? - /// 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. - public let packaging: ArtifactPackaging? /// 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). public let `type`: ArtifactsType + /// 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. + public let packaging: ArtifactPackaging? - public init(name: String? = nil, location: String? = nil, path: String? = nil, namespaceType: ArtifactNamespace? = nil, packaging: ArtifactPackaging? = nil, type: ArtifactsType) { + public init(name: String? = nil, location: String? = nil, path: String? = nil, encryptionDisabled: Bool? = nil, namespaceType: ArtifactNamespace? = nil, type: ArtifactsType, packaging: ArtifactPackaging? = nil) { self.name = name self.location = location self.path = path + self.encryptionDisabled = encryptionDisabled self.namespaceType = namespaceType - self.packaging = packaging self.`type` = `type` + self.packaging = packaging } private enum CodingKeys: String, CodingKey { case name = "name" case location = "location" case path = "path" + case encryptionDisabled = "encryptionDisabled" case namespaceType = "namespaceType" - case packaging = "packaging" case `type` = "type" + case packaging = "packaging" } } @@ -335,6 +356,32 @@ extension Codebuild { } + public struct UpdateWebhookInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "branchFilter", required: false, type: .string), + AWSShapeMember(label: "rotateSecret", required: false, type: .boolean), + AWSShapeMember(label: "projectName", required: true, type: .string) + ] + /// 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. + public let branchFilter: String? + /// A boolean value that specifies whether the associated repository's secret token should be updated. + public let rotateSecret: Bool? + /// The name of the AWS CodeBuild project. + public let projectName: String + + public init(branchFilter: String? = nil, rotateSecret: Bool? = nil, projectName: String) { + self.branchFilter = branchFilter + self.rotateSecret = rotateSecret + self.projectName = projectName + } + + private enum CodingKeys: String, CodingKey { + case branchFilter = "branchFilter" + case rotateSecret = "rotateSecret" + case projectName = "projectName" + } + } + public struct BatchGetBuildsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "builds", required: false, type: .list), @@ -394,6 +441,7 @@ extension Codebuild { } public enum EnvironmentType: String, CustomStringConvertible, Codable { + case windowsContainer = "WINDOWS_CONTAINER" case linuxContainer = "LINUX_CONTAINER" public var description: String { return self.rawValue } } @@ -421,16 +469,21 @@ extension Codebuild { public struct CreateWebhookInput: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "branchFilter", required: false, type: .string), AWSShapeMember(label: "projectName", required: true, type: .string) ] - /// The name of the build project. + /// 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. + public let branchFilter: String? + /// The name of the AWS CodeBuild project. public let projectName: String - public init(projectName: String) { + public init(branchFilter: String? = nil, projectName: String) { + self.branchFilter = branchFilter self.projectName = projectName } private enum CodingKeys: String, CodingKey { + case branchFilter = "branchFilter" case projectName = "projectName" } } @@ -481,17 +534,53 @@ extension Codebuild { public struct Webhook: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "url", required: false, type: .string) + AWSShapeMember(label: "secret", required: false, type: .string), + AWSShapeMember(label: "payloadUrl", required: false, type: .string), + AWSShapeMember(label: "branchFilter", required: false, type: .string), + AWSShapeMember(label: "url", required: false, type: .string), + AWSShapeMember(label: "lastModifiedSecret", required: false, type: .timestamp) ] + /// The secret token of the associated repository. + public let secret: String? + /// The CodeBuild endpoint where webhook events are sent. + public let payloadUrl: String? + /// 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. + public let branchFilter: String? /// The URL to the webhook. public let url: String? + /// A timestamp indicating the last time a repository's secret token was modified. + public let lastModifiedSecret: TimeStamp? - public init(url: String? = nil) { + public init(secret: String? = nil, payloadUrl: String? = nil, branchFilter: String? = nil, url: String? = nil, lastModifiedSecret: TimeStamp? = nil) { + self.secret = secret + self.payloadUrl = payloadUrl + self.branchFilter = branchFilter self.url = url + self.lastModifiedSecret = lastModifiedSecret } private enum CodingKeys: String, CodingKey { + case secret = "secret" + case payloadUrl = "payloadUrl" + case branchFilter = "branchFilter" case url = "url" + case lastModifiedSecret = "lastModifiedSecret" + } + } + + public struct UpdateWebhookOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "webhook", required: false, type: .structure) + ] + /// Information about a repository's webhook that is associated with a project in AWS CodeBuild. + public let webhook: Webhook? + + public init(webhook: Webhook? = nil) { + self.webhook = webhook + } + + private enum CodingKeys: String, CodingKey { + case webhook = "webhook" } } @@ -501,27 +590,33 @@ extension Codebuild { case github = "GITHUB" case s3 = "S3" case bitbucket = "BITBUCKET" + case githubEnterprise = "GITHUB_ENTERPRISE" public var description: String { return self.rawValue } } public struct EnvironmentImage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "description", required: false, type: .string), - AWSShapeMember(label: "name", required: false, type: .string) + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "versions", required: false, type: .list) ] /// The description of the Docker image. public let description: String? /// The name of the Docker image. public let name: String? + /// A list of environment image versions. + public let versions: [String]? - public init(description: String? = nil, name: String? = nil) { + public init(description: String? = nil, name: String? = nil, versions: [String]? = nil) { self.description = description self.name = name + self.versions = versions } private enum CodingKeys: String, CodingKey { case description = "description" case name = "name" + case versions = "versions" } } @@ -590,7 +685,7 @@ extension Codebuild { AWSShapeMember(label: "artifacts", required: true, type: .structure), AWSShapeMember(label: "timeoutInMinutes", required: false, type: .integer), AWSShapeMember(label: "tags", required: false, type: .list), - AWSShapeMember(label: "serviceRole", required: false, type: .string) + AWSShapeMember(label: "serviceRole", required: true, type: .string) ] /// Stores recently used information so that it can be quickly accessed at a later time. public let cache: ProjectCache? @@ -615,9 +710,9 @@ extension Codebuild { /// A set of tags for this build project. These tags are available for use by AWS services that support AWS CodeBuild build project tags. public let tags: [Tag]? /// 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. - public let serviceRole: String? + public let serviceRole: String - public init(cache: ProjectCache? = nil, name: String, badgeEnabled: Bool? = nil, source: ProjectSource, vpcConfig: VpcConfig? = nil, environment: ProjectEnvironment, encryptionKey: String? = nil, description: String? = nil, artifacts: ProjectArtifacts, timeoutInMinutes: Int32? = nil, tags: [Tag]? = nil, serviceRole: String? = nil) { + public init(cache: ProjectCache? = nil, name: String, badgeEnabled: Bool? = nil, source: ProjectSource, vpcConfig: VpcConfig? = nil, environment: ProjectEnvironment, encryptionKey: String? = nil, description: String? = nil, artifacts: ProjectArtifacts, timeoutInMinutes: Int32? = nil, tags: [Tag]? = nil, serviceRole: String) { self.cache = cache self.name = name self.badgeEnabled = badgeEnabled @@ -800,7 +895,7 @@ extension Codebuild { public let source: ProjectSource? /// 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. public let timeoutInMinutes: Int32? - /// 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. + /// Information about the VPC configuration that AWS CodeBuild will access. public let vpcConfig: VpcConfig? /// Information about the build badge for the build project. public let badge: ProjectBadge? @@ -1042,7 +1137,7 @@ extension Codebuild { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "projectName", required: true, type: .string) ] - /// The name of the build project that the cache will be reset for. + /// The name of the AWS CodeBuild build project that the cache will be reset for. public let projectName: String public init(projectName: String) { @@ -1077,12 +1172,15 @@ extension Codebuild { public struct ProjectEnvironment: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "certificate", required: false, type: .string), AWSShapeMember(label: "type", required: true, type: .enum), AWSShapeMember(label: "computeType", required: true, type: .enum), AWSShapeMember(label: "image", required: true, type: .string), AWSShapeMember(label: "environmentVariables", required: false, type: .list), AWSShapeMember(label: "privilegedMode", required: false, type: .boolean) ] + /// The certificate to use with this build project. + public let certificate: String? /// The type of build environment to use for related builds. public let `type`: EnvironmentType /// 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. @@ -1091,10 +1189,11 @@ extension Codebuild { public let image: String /// A set of environment variables to make available to builds for this build project. public let environmentVariables: [EnvironmentVariable]? - /// If set to true, enables running the Docker daemon inside a Docker container; otherwise, false or not specified (the default). This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Note that you must also start the Docker daemon so that your builds can interact with it as needed. One way to do this is to initialize the Docker daemon in the install phase of your build spec by running the following build commands. (Do not run the following build commands if the specified build environment image is provided by AWS CodeBuild with Docker support.) - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay& - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done" + /// 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" public let privilegedMode: Bool? - public init(type: EnvironmentType, computeType: ComputeType, image: String, environmentVariables: [EnvironmentVariable]? = nil, privilegedMode: Bool? = nil) { + public init(certificate: String? = nil, type: EnvironmentType, computeType: ComputeType, image: String, environmentVariables: [EnvironmentVariable]? = nil, privilegedMode: Bool? = nil) { + self.certificate = certificate self.`type` = `type` self.computeType = computeType self.image = image @@ -1103,6 +1202,7 @@ extension Codebuild { } private enum CodingKeys: String, CodingKey { + case certificate = "certificate" case `type` = "type" case computeType = "computeType" case image = "image" @@ -1117,7 +1217,7 @@ extension Codebuild { AWSShapeMember(label: "nextToken", required: false, type: .string), AWSShapeMember(label: "sortOrder", required: false, type: .enum) ] - /// The name of the build project. + /// The name of the AWS CodeBuild project. public let projectName: String /// 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. public let nextToken: String? @@ -1157,7 +1257,7 @@ extension Codebuild { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "projectName", required: true, type: .string) ] - /// The name of the build project. + /// The name of the AWS CodeBuild project. public let projectName: String public init(projectName: String) { @@ -1264,42 +1364,112 @@ extension Codebuild { public struct StartBuildInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "sourceVersion", required: false, type: .string), + AWSShapeMember(label: "reportBuildStatusOverride", required: false, type: .boolean), AWSShapeMember(label: "environmentVariablesOverride", required: false, type: .list), + AWSShapeMember(label: "certificateOverride", required: false, type: .string), + AWSShapeMember(label: "computeTypeOverride", required: false, type: .enum), + AWSShapeMember(label: "buildspecOverride", required: false, type: .string), + AWSShapeMember(label: "sourceVersion", required: false, type: .string), + AWSShapeMember(label: "privilegedModeOverride", required: false, type: .boolean), + AWSShapeMember(label: "sourceLocationOverride", required: false, type: .string), + AWSShapeMember(label: "cacheOverride", required: false, type: .structure), AWSShapeMember(label: "artifactsOverride", required: false, type: .structure), - AWSShapeMember(label: "projectName", required: true, type: .string), + AWSShapeMember(label: "sourceTypeOverride", required: false, type: .enum), AWSShapeMember(label: "timeoutInMinutesOverride", required: false, type: .integer), - AWSShapeMember(label: "buildspecOverride", required: false, type: .string) + AWSShapeMember(label: "environmentTypeOverride", required: false, type: .enum), + AWSShapeMember(label: "imageOverride", required: false, type: .string), + AWSShapeMember(label: "projectName", required: true, type: .string), + AWSShapeMember(label: "serviceRoleOverride", required: false, type: .string), + AWSShapeMember(label: "idempotencyToken", required: false, type: .string), + AWSShapeMember(label: "gitCloneDepthOverride", required: false, type: .integer), + AWSShapeMember(label: "sourceAuthOverride", required: false, type: .structure), + AWSShapeMember(label: "insecureSslOverride", required: false, type: .boolean) ] - /// 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. - public let sourceVersion: String? + /// 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. + public let reportBuildStatusOverride: Bool? /// A set of environment variables that overrides, for this build only, the latest ones already defined in the build project. public let environmentVariablesOverride: [EnvironmentVariable]? + /// The name of a certificate for this build that overrides the one specified in the build project. + public let certificateOverride: String? + /// The name of a compute type for this build that overrides the one specified in the build project. + public let computeTypeOverride: ComputeType? + /// A build spec declaration that overrides, for this build only, the latest one already defined in the build project. + public let buildspecOverride: String? + /// 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. + public let sourceVersion: String? + /// Enable this flag to override privileged mode in the build project. + public let privilegedModeOverride: Bool? + /// A location that overrides for this build the source location for the one defined in the build project. + public let sourceLocationOverride: String? + /// A ProjectCache object specified for this build that overrides the one defined in the build project. + public let cacheOverride: ProjectCache? /// Build output artifact settings that override, for this build only, the latest ones already defined in the build project. public let artifactsOverride: ProjectArtifacts? - /// The name of the build project to start running a build. - public let projectName: String + /// A source input type for this build that overrides the source input defined in the build project + public let sourceTypeOverride: SourceType? /// 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. public let timeoutInMinutesOverride: Int32? - /// A build spec declaration that overrides, for this build only, the latest one already defined in the build project. - public let buildspecOverride: String? - - public init(sourceVersion: String? = nil, environmentVariablesOverride: [EnvironmentVariable]? = nil, artifactsOverride: ProjectArtifacts? = nil, projectName: String, timeoutInMinutesOverride: Int32? = nil, buildspecOverride: String? = nil) { - self.sourceVersion = sourceVersion + /// A container type for this build that overrides the one specified in the build project. + public let environmentTypeOverride: EnvironmentType? + /// The name of an image for this build that overrides the one specified in the build project. + public let imageOverride: String? + /// The name of the AWS CodeBuild build project to start running a build. + public let projectName: String + /// The name of a service role for this build that overrides the one specified in the build project. + public let serviceRoleOverride: String? + /// 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. + public let idempotencyToken: String? + /// 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. + public let gitCloneDepthOverride: Int32? + /// 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. + public let sourceAuthOverride: SourceAuth? + /// 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. + public let insecureSslOverride: Bool? + + public init(reportBuildStatusOverride: Bool? = nil, environmentVariablesOverride: [EnvironmentVariable]? = nil, certificateOverride: String? = nil, computeTypeOverride: ComputeType? = nil, buildspecOverride: String? = nil, sourceVersion: String? = nil, privilegedModeOverride: Bool? = nil, sourceLocationOverride: String? = nil, cacheOverride: ProjectCache? = nil, artifactsOverride: ProjectArtifacts? = nil, sourceTypeOverride: SourceType? = nil, timeoutInMinutesOverride: Int32? = nil, environmentTypeOverride: EnvironmentType? = nil, imageOverride: String? = nil, projectName: String, serviceRoleOverride: String? = nil, idempotencyToken: String? = nil, gitCloneDepthOverride: Int32? = nil, sourceAuthOverride: SourceAuth? = nil, insecureSslOverride: Bool? = nil) { + self.reportBuildStatusOverride = reportBuildStatusOverride self.environmentVariablesOverride = environmentVariablesOverride + self.certificateOverride = certificateOverride + self.computeTypeOverride = computeTypeOverride + self.buildspecOverride = buildspecOverride + self.sourceVersion = sourceVersion + self.privilegedModeOverride = privilegedModeOverride + self.sourceLocationOverride = sourceLocationOverride + self.cacheOverride = cacheOverride self.artifactsOverride = artifactsOverride - self.projectName = projectName + self.sourceTypeOverride = sourceTypeOverride self.timeoutInMinutesOverride = timeoutInMinutesOverride - self.buildspecOverride = buildspecOverride + self.environmentTypeOverride = environmentTypeOverride + self.imageOverride = imageOverride + self.projectName = projectName + self.serviceRoleOverride = serviceRoleOverride + self.idempotencyToken = idempotencyToken + self.gitCloneDepthOverride = gitCloneDepthOverride + self.sourceAuthOverride = sourceAuthOverride + self.insecureSslOverride = insecureSslOverride } private enum CodingKeys: String, CodingKey { - case sourceVersion = "sourceVersion" + case reportBuildStatusOverride = "reportBuildStatusOverride" case environmentVariablesOverride = "environmentVariablesOverride" + case certificateOverride = "certificateOverride" + case computeTypeOverride = "computeTypeOverride" + case buildspecOverride = "buildspecOverride" + case sourceVersion = "sourceVersion" + case privilegedModeOverride = "privilegedModeOverride" + case sourceLocationOverride = "sourceLocationOverride" + case cacheOverride = "cacheOverride" case artifactsOverride = "artifactsOverride" - case projectName = "projectName" + case sourceTypeOverride = "sourceTypeOverride" case timeoutInMinutesOverride = "timeoutInMinutesOverride" - case buildspecOverride = "buildspecOverride" + case environmentTypeOverride = "environmentTypeOverride" + case imageOverride = "imageOverride" + case projectName = "projectName" + case serviceRoleOverride = "serviceRoleOverride" + case idempotencyToken = "idempotencyToken" + case gitCloneDepthOverride = "gitCloneDepthOverride" + case sourceAuthOverride = "sourceAuthOverride" + case insecureSslOverride = "insecureSslOverride" } } @@ -1367,32 +1537,47 @@ extension Codebuild { public struct ProjectSource: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "buildspec", required: false, type: .string), AWSShapeMember(label: "location", required: false, type: .string), - AWSShapeMember(label: "type", required: true, type: .enum), - AWSShapeMember(label: "auth", required: false, type: .structure) + AWSShapeMember(label: "gitCloneDepth", required: false, type: .integer), + AWSShapeMember(label: "auth", required: false, type: .structure), + AWSShapeMember(label: "reportBuildStatus", required: false, type: .boolean), + AWSShapeMember(label: "buildspec", required: false, type: .string), + AWSShapeMember(label: "insecureSsl", required: false, type: .boolean), + AWSShapeMember(label: "type", required: true, type: .enum) ] - /// 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. - public let buildspec: String? /// 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. public let location: String? - /// 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. - public let `type`: SourceType + /// Information about the git clone depth for the build project. + public let gitCloneDepth: Int32? /// 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). public let auth: SourceAuth? + /// 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. + public let reportBuildStatus: Bool? + /// 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. + public let buildspec: String? + /// Enable this flag to ignore SSL warnings while connecting to the project source code. + public let insecureSsl: Bool? + /// 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. + public let `type`: SourceType - public init(buildspec: String? = nil, location: String? = nil, type: SourceType, auth: SourceAuth? = nil) { - self.buildspec = buildspec + public init(location: String? = nil, gitCloneDepth: Int32? = nil, auth: SourceAuth? = nil, reportBuildStatus: Bool? = nil, buildspec: String? = nil, insecureSsl: Bool? = nil, type: SourceType) { self.location = location - self.`type` = `type` + self.gitCloneDepth = gitCloneDepth self.auth = auth + self.reportBuildStatus = reportBuildStatus + self.buildspec = buildspec + self.insecureSsl = insecureSsl + self.`type` = `type` } private enum CodingKeys: String, CodingKey { - case buildspec = "buildspec" case location = "location" - case `type` = "type" + case gitCloneDepth = "gitCloneDepth" case auth = "auth" + case reportBuildStatus = "reportBuildStatus" + case buildspec = "buildspec" + case insecureSsl = "insecureSsl" + case `type` = "type" } } diff --git a/Sources/AWSSDKSwift/Services/codecommit/Codecommit_API.swift b/Sources/AWSSDKSwift/Services/codecommit/Codecommit_API.swift index 06b6cffbbb3..945d5506411 100644 --- a/Sources/AWSSDKSwift/Services/codecommit/Codecommit_API.swift +++ b/Sources/AWSSDKSwift/Services/codecommit/Codecommit_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -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. 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: CreatePullRequest, which creates a pull request in a specified repository. DescribePullRequestEvents, which returns information about one or more pull request events. GetCommentsForPullRequest, which returns information about comments on a specified pull request. GetMergeConflicts, which returns information about merge conflicts between the source and destination branch in a pull request. GetPullRequest, which returns information about a specified pull request. ListPullRequests, which lists all pull requests for a repository. MergePullRequestByFastForward, which merges the source destination branch of a pull request into the specified destination branch for that pull request using the fast-forward merge option. PostCommentForPullRequest, which posts a comment to a pull request at the specified line, file, or request. UpdatePullRequestDescription, which updates the description of a pull request. UpdatePullRequestStatus, which updates the status of a pull request. UpdatePullRequestTitle, which updates the title of a pull request. Information about comments in a repository, by calling the following: DeleteCommentContent, which deletes the content of a comment on a commit in a repository. GetComment, which returns information about a comment on a commit. GetCommentsForComparedCommit, which returns information about comments on the comparison between two commit specifiers in a repository. PostCommentForComparedCommit, which creates a comment on the comparison between two commit specifiers in a repository. PostCommentReply, which creates a reply to a comment. UpdateComment, which updates the content of a comment on a commit in a repository. 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. +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: CreatePullRequest, which creates a pull request in a specified repository. DescribePullRequestEvents, which returns information about one or more pull request events. GetCommentsForPullRequest, which returns information about comments on a specified pull request. GetMergeConflicts, which returns information about merge conflicts between the source and destination branch in a pull request. GetPullRequest, which returns information about a specified pull request. ListPullRequests, which lists all pull requests for a repository. MergePullRequestByFastForward, which merges the source destination branch of a pull request into the specified destination branch for that pull request using the fast-forward merge option. PostCommentForPullRequest, which posts a comment to a pull request at the specified line, file, or request. UpdatePullRequestDescription, which updates the description of a pull request. UpdatePullRequestStatus, which updates the status of a pull request. UpdatePullRequestTitle, which updates the title of a pull request. Information about comments in a repository, by calling the following: DeleteCommentContent, which deletes the content of a comment on a commit in a repository. GetComment, which returns information about a comment on a commit. GetCommentsForComparedCommit, which returns information about comments on the comparison between two commit specifiers in a repository. PostCommentForComparedCommit, which creates a comment on the comparison between two commit specifiers in a repository. PostCommentReply, which creates a reply to a comment. UpdateComment, which updates the content of a comment on a commit in a repository. 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. */ public struct Codecommit { @@ -185,6 +185,11 @@ public struct Codecommit { return try client.send(operation: "GetBranch", path: "/", httpMethod: "POST", input: input) } + /// Adds or updates a file in an AWS CodeCommit repository. + public func putFile(_ input: PutFileInput) throws -> PutFileOutput { + return try client.send(operation: "PutFile", path: "/", httpMethod: "POST", input: input) + } + /// Returns information about comments made on the comparison between two commits. public func getCommentsForComparedCommit(_ input: GetCommentsForComparedCommitInput) throws -> GetCommentsForComparedCommitOutput { return try client.send(operation: "GetCommentsForComparedCommit", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/codecommit/Codecommit_Error.swift b/Sources/AWSSDKSwift/Services/codecommit/Codecommit_Error.swift index cbf3be3a3d5..5038d1b9255 100644 --- a/Sources/AWSSDKSwift/Services/codecommit/Codecommit_Error.swift +++ b/Sources/AWSSDKSwift/Services/codecommit/Codecommit_Error.swift @@ -96,6 +96,20 @@ public enum CodecommitError: AWSErrorType { case multipleRepositoriesInPullRequestException(message: String?) case maximumOpenPullRequestsExceededException(message: String?) case sourceAndDestinationAreSameException(message: String?) + case parentCommitIdRequiredException(message: String?) + case invalidParentCommitIdException(message: String?) + case parentCommitDoesNotExistException(message: String?) + case parentCommitIdOutdatedException(message: String?) + case fileContentRequiredException(message: String?) + case fileContentSizeLimitExceededException(message: String?) + case branchNameIsTagNameException(message: String?) + case invalidFileModeException(message: String?) + case nameLengthExceededException(message: String?) + case invalidEmailException(message: String?) + case commitMessageLengthExceededException(message: String?) + case sameFileContentException(message: String?) + case fileNameConflictsWithDirectoryNameException(message: String?) + case directoryNameConflictsWithFileNameException(message: String?) case invalidPullRequestStatusUpdateException(message: String?) case pullRequestStatusRequiredException(message: String?) case repositoryNamesRequiredException(message: String?) @@ -293,6 +307,34 @@ extension CodecommitError { self = .maximumOpenPullRequestsExceededException(message: message) case "SourceAndDestinationAreSameException": self = .sourceAndDestinationAreSameException(message: message) + case "ParentCommitIdRequiredException": + self = .parentCommitIdRequiredException(message: message) + case "InvalidParentCommitIdException": + self = .invalidParentCommitIdException(message: message) + case "ParentCommitDoesNotExistException": + self = .parentCommitDoesNotExistException(message: message) + case "ParentCommitIdOutdatedException": + self = .parentCommitIdOutdatedException(message: message) + case "FileContentRequiredException": + self = .fileContentRequiredException(message: message) + case "FileContentSizeLimitExceededException": + self = .fileContentSizeLimitExceededException(message: message) + case "BranchNameIsTagNameException": + self = .branchNameIsTagNameException(message: message) + case "InvalidFileModeException": + self = .invalidFileModeException(message: message) + case "NameLengthExceededException": + self = .nameLengthExceededException(message: message) + case "InvalidEmailException": + self = .invalidEmailException(message: message) + case "CommitMessageLengthExceededException": + self = .commitMessageLengthExceededException(message: message) + case "SameFileContentException": + self = .sameFileContentException(message: message) + case "FileNameConflictsWithDirectoryNameException": + self = .fileNameConflictsWithDirectoryNameException(message: message) + case "DirectoryNameConflictsWithFileNameException": + self = .directoryNameConflictsWithFileNameException(message: message) case "InvalidPullRequestStatusUpdateException": self = .invalidPullRequestStatusUpdateException(message: message) case "PullRequestStatusRequiredException": diff --git a/Sources/AWSSDKSwift/Services/codecommit/Codecommit_Shapes.swift b/Sources/AWSSDKSwift/Services/codecommit/Codecommit_Shapes.swift index 5fa07193c0b..c50e8be4dd2 100644 --- a/Sources/AWSSDKSwift/Services/codecommit/Codecommit_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/codecommit/Codecommit_Shapes.swift @@ -182,6 +182,13 @@ extension Codecommit { } } + public enum FileModeTypeEnum: String, CustomStringConvertible, Codable { + case executable = "EXECUTABLE" + case normal = "NORMAL" + case symlink = "SYMLINK" + public var description: String { return self.rawValue } + } + public struct PullRequestTarget: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "destinationReference", required: false, type: .string), @@ -280,7 +287,7 @@ extension Codecommit { AWSShapeMember(label: "treeId", required: false, type: .string), AWSShapeMember(label: "additionalData", required: false, type: .string) ] - /// The parent list for the specified commit. + /// A list of parent commits for the specified commit. Each parent commit ID is the full commit ID. public let parents: [String]? /// The full SHA of the specified commit. public let commitId: String? @@ -768,6 +775,32 @@ extension Codecommit { } } + public struct PutFileOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "blobId", required: true, type: .string), + AWSShapeMember(label: "treeId", required: true, type: .string), + AWSShapeMember(label: "commitId", required: true, type: .string) + ] + /// The ID of the blob, which is its SHA-1 pointer. + public let blobId: String + /// Tree information for the commit that contains this file change. + public let treeId: String + /// The full SHA of the commit that contains this file change. + public let commitId: String + + public init(blobId: String, treeId: String, commitId: String) { + self.blobId = blobId + self.treeId = treeId + self.commitId = commitId + } + + private enum CodingKeys: String, CodingKey { + case blobId = "blobId" + case treeId = "treeId" + case commitId = "commitId" + } + } + public struct CreatePullRequestInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "description", required: false, type: .string), @@ -1155,7 +1188,7 @@ extension Codecommit { ] /// The name of the user who made the specified commit. public let name: String? - /// The date when the specified commit was pushed to the repository. + /// The date when the specified commit was commited, in timestamp format with GMT offset. public let date: String? /// The email address associated with the user who made the commit, if any. public let email: String? @@ -1379,6 +1412,62 @@ extension Codecommit { } } + public struct PutFileInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "branchName", required: true, type: .string), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "parentCommitId", required: false, type: .string), + AWSShapeMember(label: "repositoryName", required: true, type: .string), + AWSShapeMember(label: "fileContent", required: true, type: .blob), + AWSShapeMember(label: "email", required: false, type: .string), + AWSShapeMember(label: "fileMode", required: false, type: .enum), + AWSShapeMember(label: "commitMessage", required: false, type: .string), + AWSShapeMember(label: "filePath", required: true, type: .string) + ] + /// The name of the branch where you want to add or update the file. + public let branchName: String + /// 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. + public let name: String? + /// 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. + public let parentCommitId: String? + /// The name of the repository where you want to add or update the file. + public let repositoryName: String + /// The content of the file, in binary object format. + public let fileContent: Data + /// An email address for the person adding or updating the file. + public let email: String? + /// The file mode permissions of the blob. Valid file mode permissions are listed below. + public let fileMode: FileModeTypeEnum? + /// 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. + public let commitMessage: String? + /// 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. + public let filePath: String + + public init(branchName: String, name: String? = nil, parentCommitId: String? = nil, repositoryName: String, fileContent: Data, email: String? = nil, fileMode: FileModeTypeEnum? = nil, commitMessage: String? = nil, filePath: String) { + self.branchName = branchName + self.name = name + self.parentCommitId = parentCommitId + self.repositoryName = repositoryName + self.fileContent = fileContent + self.email = email + self.fileMode = fileMode + self.commitMessage = commitMessage + self.filePath = filePath + } + + private enum CodingKeys: String, CodingKey { + case branchName = "branchName" + case name = "name" + case parentCommitId = "parentCommitId" + case repositoryName = "repositoryName" + case fileContent = "fileContent" + case email = "email" + case fileMode = "fileMode" + case commitMessage = "commitMessage" + case filePath = "filePath" + } + } + public struct RepositoryTrigger: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "destinationArn", required: true, type: .string), @@ -1554,27 +1643,6 @@ extension Codecommit { public var description: String { return self.rawValue } } - public struct RepositoryNameIdPair: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "repositoryId", required: false, type: .string), - AWSShapeMember(label: "repositoryName", required: false, type: .string) - ] - /// The ID associated with the repository. - public let repositoryId: String? - /// The name associated with the repository. - public let repositoryName: String? - - public init(repositoryId: String? = nil, repositoryName: String? = nil) { - self.repositoryId = repositoryId - self.repositoryName = repositoryName - } - - private enum CodingKeys: String, CodingKey { - case repositoryId = "repositoryId" - case repositoryName = "repositoryName" - } - } - public struct PostCommentForPullRequestInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "content", required: true, type: .string), @@ -1621,6 +1689,35 @@ extension Codecommit { } } + public struct RepositoryNameIdPair: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "repositoryId", required: false, type: .string), + AWSShapeMember(label: "repositoryName", required: false, type: .string) + ] + /// The ID associated with the repository. + public let repositoryId: String? + /// The name associated with the repository. + public let repositoryName: String? + + public init(repositoryId: String? = nil, repositoryName: String? = nil) { + self.repositoryId = repositoryId + self.repositoryName = repositoryName + } + + private enum CodingKeys: String, CodingKey { + case repositoryId = "repositoryId" + case repositoryName = "repositoryName" + } + } + + public enum RepositoryTriggerEventEnum: String, CustomStringConvertible, Codable { + case all = "all" + case updatereference = "updateReference" + case createreference = "createReference" + case deletereference = "deleteReference" + public var description: String { return self.rawValue } + } + public struct PullRequestEvent: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "pullRequestSourceReferenceUpdatedEventMetadata", required: false, type: .structure), @@ -1667,21 +1764,13 @@ extension Codecommit { } } - public enum RepositoryTriggerEventEnum: String, CustomStringConvertible, Codable { - case all = "all" - case updatereference = "updateReference" - case createreference = "createReference" - case deletereference = "deleteReference" - public var description: String { return self.rawValue } - } - public struct GetDifferencesInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "afterCommitSpecifier", required: true, type: .string), AWSShapeMember(label: "repositoryName", required: true, type: .string), AWSShapeMember(label: "beforeCommitSpecifier", required: false, type: .string), - AWSShapeMember(label: "beforePath", required: false, type: .string), AWSShapeMember(label: "afterPath", required: false, type: .string), + AWSShapeMember(label: "beforePath", required: false, type: .string), AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] @@ -1691,21 +1780,21 @@ extension Codecommit { public let repositoryName: String /// 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. public let beforeCommitSpecifier: String? - /// 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. - public let beforePath: String? /// 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. public let afterPath: String? + /// 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. + public let beforePath: String? /// An enumeration token that when provided in a request, returns the next batch of the results. public let nextToken: String? /// A non-negative integer used to limit the number of returned results. public let maxResults: Int32? - public init(afterCommitSpecifier: String, repositoryName: String, beforeCommitSpecifier: String? = nil, beforePath: String? = nil, afterPath: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + public init(afterCommitSpecifier: String, repositoryName: String, beforeCommitSpecifier: String? = nil, afterPath: String? = nil, beforePath: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { self.afterCommitSpecifier = afterCommitSpecifier self.repositoryName = repositoryName self.beforeCommitSpecifier = beforeCommitSpecifier - self.beforePath = beforePath self.afterPath = afterPath + self.beforePath = beforePath self.nextToken = nextToken self.maxResults = maxResults } @@ -1714,8 +1803,8 @@ extension Codecommit { case afterCommitSpecifier = "afterCommitSpecifier" case repositoryName = "repositoryName" case beforeCommitSpecifier = "beforeCommitSpecifier" - case beforePath = "beforePath" case afterPath = "afterPath" + case beforePath = "beforePath" case nextToken = "NextToken" case maxResults = "MaxResults" } @@ -2128,22 +2217,6 @@ extension Codecommit { } } - public struct GetBlobOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "content", required: true, type: .blob) - ] - /// The content of the blob, usually a file. - public let content: Data - - public init(content: Data) { - self.content = content - } - - private enum CodingKeys: String, CodingKey { - case content = "content" - } - } - public struct GetCommentsForPullRequestInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), @@ -2185,27 +2258,6 @@ extension Codecommit { } } - public struct UpdatePullRequestTitleInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "pullRequestId", required: true, type: .string), - AWSShapeMember(label: "title", required: true, type: .string) - ] - /// The system-generated ID of the pull request. To get this ID, use ListPullRequests. - public let pullRequestId: String - /// The updated title of the pull request. This will replace the existing title. - public let title: String - - public init(pullRequestId: String, title: String) { - self.pullRequestId = pullRequestId - self.title = title - } - - private enum CodingKeys: String, CodingKey { - case pullRequestId = "pullRequestId" - case title = "title" - } - } - public struct GetBlobInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "blobId", required: true, type: .string), @@ -2227,6 +2279,27 @@ extension Codecommit { } } + public struct UpdatePullRequestTitleInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "pullRequestId", required: true, type: .string), + AWSShapeMember(label: "title", required: true, type: .string) + ] + /// The system-generated ID of the pull request. To get this ID, use ListPullRequests. + public let pullRequestId: String + /// The updated title of the pull request. This will replace the existing title. + public let title: String + + public init(pullRequestId: String, title: String) { + self.pullRequestId = pullRequestId + self.title = title + } + + private enum CodingKeys: String, CodingKey { + case pullRequestId = "pullRequestId" + case title = "title" + } + } + public struct PutRepositoryTriggersInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "triggers", required: true, type: .list), @@ -2269,4 +2342,20 @@ extension Codecommit { } } + public struct GetBlobOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "content", required: true, type: .blob) + ] + /// The content of the blob, usually a file. + public let content: Data + + public init(content: Data) { + self.content = content + } + + private enum CodingKeys: String, CodingKey { + case content = "content" + } + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/codedeploy/Codedeploy_API.swift b/Sources/AWSSDKSwift/Services/codedeploy/Codedeploy_API.swift index db05481e38c..92e86e61d50 100644 --- a/Sources/AWSSDKSwift/Services/codedeploy/Codedeploy_API.swift +++ b/Sources/AWSSDKSwift/Services/codedeploy/Codedeploy_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -AWS CodeDeploy AWS CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances or on-premises instances running in your own facility. You can deploy a nearly unlimited variety of application content, such as code, web and configuration files, executables, packages, scripts, multimedia files, and so on. AWS CodeDeploy can deploy application content stored in Amazon S3 buckets, GitHub repositories, or Bitbucket repositories. You do not need to make changes to your existing code before you can use AWS CodeDeploy. AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications, without many of the risks associated with error-prone manual deployments. AWS CodeDeploy Components Use the information in this guide to help you work with the following AWS CodeDeploy components: Application: A name that uniquely identifies the application you want to deploy. AWS CodeDeploy uses this name, which functions as a container, to ensure the correct combination of revision, deployment configuration, and deployment group are referenced during a deployment. Deployment group: A set of individual instances. A deployment group contains individually tagged instances, Amazon EC2 instances in Auto Scaling groups, or both. Deployment configuration: A set of deployment rules and deployment success and failure conditions used by AWS CodeDeploy during a deployment. Deployment: The process, and the components involved in the process, of installing content on one or more instances. Application revisions: An archive file containing source content—source code, web pages, executable files, and deployment scripts—along with an application specification file (AppSpec file). Revisions are stored in Amazon S3 buckets or GitHub repositories. For Amazon S3, a revision is uniquely identified by its Amazon S3 object key and its ETag, version, or both. For GitHub, a revision is uniquely identified by its commit ID. This guide also contains information to help you get details about the instances in your deployments and to make on-premises instances available for AWS CodeDeploy deployments. AWS CodeDeploy Information Resources AWS CodeDeploy User Guide AWS CodeDeploy API Reference Guide AWS CLI Reference for AWS CodeDeploy AWS CodeDeploy Developer Forum +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 AWS CodeDeploy User Guide AWS CodeDeploy API Reference Guide AWS CLI Reference for AWS CodeDeploy AWS CodeDeploy Developer Forum */ public struct Codedeploy { @@ -85,6 +85,11 @@ public struct Codedeploy { return try client.send(operation: "CreateDeploymentGroup", path: "/", httpMethod: "POST", input: input) } + /// Sets the result of a Lambda validation function. The function validates one or both lifecycle events (BeforeAllowTraffic and AfterAllowTraffic) and returns Succeeded or Failed. + public func putLifecycleEventHookExecutionStatus(_ input: PutLifecycleEventHookExecutionStatusInput) throws -> PutLifecycleEventHookExecutionStatusOutput { + return try client.send(operation: "PutLifecycleEventHookExecutionStatus", path: "/", httpMethod: "POST", input: input) + } + /// Gets information about an application revision. public func getApplicationRevision(_ input: GetApplicationRevisionInput) throws -> GetApplicationRevisionOutput { return try client.send(operation: "GetApplicationRevision", path: "/", httpMethod: "POST", input: input) @@ -180,6 +185,11 @@ public struct Codedeploy { return try client.send(operation: "BatchGetApplications", path: "/", httpMethod: "POST", input: input) } + /// Deletes a GitHub account connection. + public func deleteGitHubAccountToken(_ input: DeleteGitHubAccountTokenInput) throws -> DeleteGitHubAccountTokenOutput { + return try client.send(operation: "DeleteGitHubAccountToken", path: "/", httpMethod: "POST", input: input) + } + /// Gets information about one or more application revisions. public func batchGetApplicationRevisions(_ input: BatchGetApplicationRevisionsInput) throws -> BatchGetApplicationRevisionsOutput { return try client.send(operation: "BatchGetApplicationRevisions", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/codedeploy/Codedeploy_Error.swift b/Sources/AWSSDKSwift/Services/codedeploy/Codedeploy_Error.swift index 470bb8db99c..65bd7cef709 100644 --- a/Sources/AWSSDKSwift/Services/codedeploy/Codedeploy_Error.swift +++ b/Sources/AWSSDKSwift/Services/codedeploy/Codedeploy_Error.swift @@ -21,15 +21,17 @@ public enum CodedeployError: AWSErrorType { case deploymentConfigAlreadyExistsException(message: String?) case invalidMinimumHealthyHostValueException(message: String?) case deploymentConfigLimitExceededException(message: String?) + case invalidComputePlatformException(message: String?) + case invalidTrafficRoutingConfigurationException(message: String?) case invalidRegistrationStatusException(message: String?) case invalidTagFilterException(message: String?) case instanceNameRequiredException(message: String?) + case invalidInstanceNameException(message: String?) case tagRequiredException(message: String?) case invalidTagException(message: String?) case tagLimitExceededException(message: String?) case instanceLimitExceededException(message: String?) case instanceNotRegisteredException(message: String?) - case invalidInstanceNameException(message: String?) case deploymentGroupNameRequiredException(message: String?) case invalidDeploymentGroupNameException(message: String?) case instanceIdRequiredException(message: String?) @@ -53,6 +55,11 @@ public enum CodedeployError: AWSErrorType { case invalidEC2TagCombinationException(message: String?) case invalidOnPremisesTagCombinationException(message: String?) case tagSetListLimitExceededException(message: String?) + case invalidInputException(message: String?) + case invalidLifecycleEventHookExecutionStatusException(message: String?) + case invalidLifecycleEventHookExecutionIdException(message: String?) + case lifecycleEventAlreadyCompletedException(message: String?) + case unsupportedActionForDeploymentTypeException(message: String?) case revisionDoesNotExistException(message: String?) case revisionRequiredException(message: String?) case invalidRevisionException(message: String?) @@ -68,15 +75,22 @@ public enum CodedeployError: AWSErrorType { case deploymentLimitExceededException(message: String?) case invalidTargetInstancesException(message: String?) case invalidFileExistsBehaviorException(message: String?) + case throttlingException(message: String?) + case invalidUpdateOutdatedInstancesOnlyValueException(message: String?) + case invalidIgnoreApplicationStopFailuresValueException(message: String?) + case invalidGitHubAccountTokenException(message: String?) case resourceValidationException(message: String?) + case operationNotSupportedException(message: String?) case invalidSortByException(message: String?) case invalidSortOrderException(message: String?) case invalidBucketNameFilterException(message: String?) case invalidKeyPrefixFilterException(message: String?) case bucketNameFilterRequiredException(message: String?) case invalidDeployedStateFilterException(message: String?) - case unsupportedActionForDeploymentTypeException(message: String?) case deploymentIsNotInReadyStateException(message: String?) + case gitHubAccountTokenNameRequiredException(message: String?) + case gitHubAccountTokenDoesNotExistException(message: String?) + case invalidGitHubAccountTokenNameException(message: String?) case instanceNameAlreadyRegisteredException(message: String?) case iamArnRequiredException(message: String?) case iamSessionArnAlreadyRegisteredException(message: String?) @@ -128,12 +142,18 @@ extension CodedeployError { self = .invalidMinimumHealthyHostValueException(message: message) case "DeploymentConfigLimitExceededException": self = .deploymentConfigLimitExceededException(message: message) + case "InvalidComputePlatformException": + self = .invalidComputePlatformException(message: message) + case "InvalidTrafficRoutingConfigurationException": + self = .invalidTrafficRoutingConfigurationException(message: message) case "InvalidRegistrationStatusException": self = .invalidRegistrationStatusException(message: message) case "InvalidTagFilterException": self = .invalidTagFilterException(message: message) case "InstanceNameRequiredException": self = .instanceNameRequiredException(message: message) + case "InvalidInstanceNameException": + self = .invalidInstanceNameException(message: message) case "TagRequiredException": self = .tagRequiredException(message: message) case "InvalidTagException": @@ -144,8 +164,6 @@ extension CodedeployError { self = .instanceLimitExceededException(message: message) case "InstanceNotRegisteredException": self = .instanceNotRegisteredException(message: message) - case "InvalidInstanceNameException": - self = .invalidInstanceNameException(message: message) case "DeploymentGroupNameRequiredException": self = .deploymentGroupNameRequiredException(message: message) case "InvalidDeploymentGroupNameException": @@ -192,6 +210,16 @@ extension CodedeployError { self = .invalidOnPremisesTagCombinationException(message: message) case "TagSetListLimitExceededException": self = .tagSetListLimitExceededException(message: message) + case "InvalidInputException": + self = .invalidInputException(message: message) + case "InvalidLifecycleEventHookExecutionStatusException": + self = .invalidLifecycleEventHookExecutionStatusException(message: message) + case "InvalidLifecycleEventHookExecutionIdException": + self = .invalidLifecycleEventHookExecutionIdException(message: message) + case "LifecycleEventAlreadyCompletedException": + self = .lifecycleEventAlreadyCompletedException(message: message) + case "UnsupportedActionForDeploymentTypeException": + self = .unsupportedActionForDeploymentTypeException(message: message) case "RevisionDoesNotExistException": self = .revisionDoesNotExistException(message: message) case "RevisionRequiredException": @@ -222,8 +250,18 @@ extension CodedeployError { self = .invalidTargetInstancesException(message: message) case "InvalidFileExistsBehaviorException": self = .invalidFileExistsBehaviorException(message: message) + case "ThrottlingException": + self = .throttlingException(message: message) + case "InvalidUpdateOutdatedInstancesOnlyValueException": + self = .invalidUpdateOutdatedInstancesOnlyValueException(message: message) + case "InvalidIgnoreApplicationStopFailuresValueException": + self = .invalidIgnoreApplicationStopFailuresValueException(message: message) + case "InvalidGitHubAccountTokenException": + self = .invalidGitHubAccountTokenException(message: message) case "ResourceValidationException": self = .resourceValidationException(message: message) + case "OperationNotSupportedException": + self = .operationNotSupportedException(message: message) case "InvalidSortByException": self = .invalidSortByException(message: message) case "InvalidSortOrderException": @@ -236,10 +274,14 @@ extension CodedeployError { self = .bucketNameFilterRequiredException(message: message) case "InvalidDeployedStateFilterException": self = .invalidDeployedStateFilterException(message: message) - case "UnsupportedActionForDeploymentTypeException": - self = .unsupportedActionForDeploymentTypeException(message: message) case "DeploymentIsNotInReadyStateException": self = .deploymentIsNotInReadyStateException(message: message) + case "GitHubAccountTokenNameRequiredException": + self = .gitHubAccountTokenNameRequiredException(message: message) + case "GitHubAccountTokenDoesNotExistException": + self = .gitHubAccountTokenDoesNotExistException(message: message) + case "InvalidGitHubAccountTokenNameException": + self = .invalidGitHubAccountTokenNameException(message: message) case "InstanceNameAlreadyRegisteredException": self = .instanceNameAlreadyRegisteredException(message: message) case "IamArnRequiredException": diff --git a/Sources/AWSSDKSwift/Services/codedeploy/Codedeploy_Shapes.swift b/Sources/AWSSDKSwift/Services/codedeploy/Codedeploy_Shapes.swift index ecadfdac04c..33c42fc13ff 100644 --- a/Sources/AWSSDKSwift/Services/codedeploy/Codedeploy_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/codedeploy/Codedeploy_Shapes.swift @@ -9,25 +9,30 @@ extension Codedeploy { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "s3Location", required: false, type: .structure), AWSShapeMember(label: "gitHubLocation", required: false, type: .structure), - AWSShapeMember(label: "revisionType", required: false, type: .enum) + AWSShapeMember(label: "revisionType", required: false, type: .enum), + AWSShapeMember(label: "string", required: false, type: .structure) ] - /// Information about the location of application artifacts stored in Amazon S3. + /// Information about the location of a revision stored in Amazon S3. public let s3Location: S3Location? /// Information about the location of application artifacts stored in GitHub. public let gitHubLocation: GitHubLocation? - /// The type of application revision: S3: An application revision stored in Amazon S3. GitHub: An application revision stored in GitHub. + /// 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) public let revisionType: RevisionLocationType? + /// Information about the location of an AWS Lambda deployment revision stored as a RawString. + public let string: RawString? - public init(s3Location: S3Location? = nil, gitHubLocation: GitHubLocation? = nil, revisionType: RevisionLocationType? = nil) { + public init(s3Location: S3Location? = nil, gitHubLocation: GitHubLocation? = nil, revisionType: RevisionLocationType? = nil, string: RawString? = nil) { self.s3Location = s3Location self.gitHubLocation = gitHubLocation self.revisionType = revisionType + self.string = string } private enum CodingKeys: String, CodingKey { case s3Location = "s3Location" case gitHubLocation = "gitHubLocation" case revisionType = "revisionType" + case string = "string" } } @@ -183,6 +188,7 @@ extension Codedeploy { AWSShapeMember(label: "blueGreenDeploymentConfiguration", required: false, type: .structure), AWSShapeMember(label: "revision", required: false, type: .structure), AWSShapeMember(label: "previousRevision", required: false, type: .structure), + AWSShapeMember(label: "computePlatform", required: false, type: .enum), AWSShapeMember(label: "deploymentId", required: false, type: .string), AWSShapeMember(label: "deploymentOverview", required: false, type: .structure), AWSShapeMember(label: "targetInstances", required: false, type: .structure), @@ -192,6 +198,7 @@ extension Codedeploy { AWSShapeMember(label: "ignoreApplicationStopFailures", required: false, type: .boolean), AWSShapeMember(label: "description", required: false, type: .string), AWSShapeMember(label: "additionalDeploymentStatusInfo", required: false, type: .string), + AWSShapeMember(label: "deploymentStatusMessages", required: false, type: .list), AWSShapeMember(label: "updateOutdatedInstancesOnly", required: false, type: .boolean), AWSShapeMember(label: "applicationName", required: false, type: .string), AWSShapeMember(label: "status", required: false, type: .enum), @@ -215,6 +222,8 @@ extension Codedeploy { public let revision: RevisionLocation? /// Information about the application revision that was deployed to the deployment group before the most recent successful deployment. public let previousRevision: RevisionLocation? + /// The destination platform type for the deployment (Lambda or Server). + public let computePlatform: ComputePlatform? /// The deployment ID. public let deploymentId: String? /// A summary of the deployment status of the instances in the deployment. @@ -233,6 +242,8 @@ extension Codedeploy { public let description: String? /// Provides information about the results of a deployment, such as whether instances in the original environment in a blue/green deployment were not terminated. public let additionalDeploymentStatusInfo: String? + /// Messages that contain information about the status of a deployment. + public let deploymentStatusMessages: [String]? /// Indicates whether only instances that are not running the latest application revision are to be deployed to. public let updateOutdatedInstancesOnly: Bool? /// The application name. @@ -254,13 +265,14 @@ extension Codedeploy { /// 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. public let startTime: TimeStamp? - public init(deploymentGroupName: String? = nil, loadBalancerInfo: LoadBalancerInfo? = nil, creator: DeploymentCreator? = nil, blueGreenDeploymentConfiguration: BlueGreenDeploymentConfiguration? = nil, revision: RevisionLocation? = nil, previousRevision: RevisionLocation? = nil, deploymentId: String? = nil, deploymentOverview: DeploymentOverview? = nil, targetInstances: TargetInstances? = nil, completeTime: TimeStamp? = nil, instanceTerminationWaitTimeStarted: Bool? = nil, rollbackInfo: RollbackInfo? = nil, ignoreApplicationStopFailures: Bool? = nil, description: String? = nil, additionalDeploymentStatusInfo: String? = nil, updateOutdatedInstancesOnly: Bool? = nil, applicationName: String? = nil, status: DeploymentStatus? = nil, deploymentConfigName: String? = nil, deploymentStyle: DeploymentStyle? = nil, fileExistsBehavior: FileExistsBehavior? = nil, errorInformation: ErrorInformation? = nil, autoRollbackConfiguration: AutoRollbackConfiguration? = nil, createTime: TimeStamp? = nil, startTime: TimeStamp? = nil) { + public init(deploymentGroupName: String? = nil, loadBalancerInfo: LoadBalancerInfo? = nil, creator: DeploymentCreator? = nil, blueGreenDeploymentConfiguration: BlueGreenDeploymentConfiguration? = nil, revision: RevisionLocation? = nil, previousRevision: RevisionLocation? = nil, computePlatform: ComputePlatform? = nil, deploymentId: String? = nil, deploymentOverview: DeploymentOverview? = nil, targetInstances: TargetInstances? = nil, completeTime: TimeStamp? = nil, instanceTerminationWaitTimeStarted: Bool? = nil, rollbackInfo: RollbackInfo? = nil, ignoreApplicationStopFailures: Bool? = nil, description: String? = nil, additionalDeploymentStatusInfo: String? = nil, deploymentStatusMessages: [String]? = nil, updateOutdatedInstancesOnly: Bool? = nil, applicationName: String? = nil, status: DeploymentStatus? = nil, deploymentConfigName: String? = nil, deploymentStyle: DeploymentStyle? = nil, fileExistsBehavior: FileExistsBehavior? = nil, errorInformation: ErrorInformation? = nil, autoRollbackConfiguration: AutoRollbackConfiguration? = nil, createTime: TimeStamp? = nil, startTime: TimeStamp? = nil) { self.deploymentGroupName = deploymentGroupName self.loadBalancerInfo = loadBalancerInfo self.creator = creator self.blueGreenDeploymentConfiguration = blueGreenDeploymentConfiguration self.revision = revision self.previousRevision = previousRevision + self.computePlatform = computePlatform self.deploymentId = deploymentId self.deploymentOverview = deploymentOverview self.targetInstances = targetInstances @@ -270,6 +282,7 @@ extension Codedeploy { self.ignoreApplicationStopFailures = ignoreApplicationStopFailures self.description = description self.additionalDeploymentStatusInfo = additionalDeploymentStatusInfo + self.deploymentStatusMessages = deploymentStatusMessages self.updateOutdatedInstancesOnly = updateOutdatedInstancesOnly self.applicationName = applicationName self.status = status @@ -289,6 +302,7 @@ extension Codedeploy { case blueGreenDeploymentConfiguration = "blueGreenDeploymentConfiguration" case revision = "revision" case previousRevision = "previousRevision" + case computePlatform = "computePlatform" case deploymentId = "deploymentId" case deploymentOverview = "deploymentOverview" case targetInstances = "targetInstances" @@ -298,6 +312,7 @@ extension Codedeploy { case ignoreApplicationStopFailures = "ignoreApplicationStopFailures" case description = "description" case additionalDeploymentStatusInfo = "additionalDeploymentStatusInfo" + case deploymentStatusMessages = "deploymentStatusMessages" case updateOutdatedInstancesOnly = "updateOutdatedInstancesOnly" case applicationName = "applicationName" case status = "status" @@ -317,31 +332,25 @@ extension Codedeploy { public var description: String { return self.rawValue } } - public enum AutoRollbackEvent: String, CustomStringConvertible, Codable { - case deploymentFailure = "DEPLOYMENT_FAILURE" - case deploymentStopOnAlarm = "DEPLOYMENT_STOP_ON_ALARM" - case deploymentStopOnRequest = "DEPLOYMENT_STOP_ON_REQUEST" + public enum ComputePlatform: String, CustomStringConvertible, Codable { + case server = "Server" + case lambda = "Lambda" public var description: String { return self.rawValue } } - public struct BatchGetApplicationRevisionsInput: AWSShape { + public struct DeleteGitHubAccountTokenInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "revisions", required: true, type: .list), - AWSShapeMember(label: "applicationName", required: true, type: .string) + AWSShapeMember(label: "tokenName", required: false, type: .string) ] - /// Information to get about the application revisions, including type and location. - public let revisions: [RevisionLocation] - /// The name of an AWS CodeDeploy application about which to get revision information. - public let applicationName: String + /// The name of the GitHub account connection to delete. + public let tokenName: String? - public init(revisions: [RevisionLocation], applicationName: String) { - self.revisions = revisions - self.applicationName = applicationName + public init(tokenName: String? = nil) { + self.tokenName = tokenName } private enum CodingKeys: String, CodingKey { - case revisions = "revisions" - case applicationName = "applicationName" + case tokenName = "tokenName" } } @@ -389,12 +398,12 @@ extension Codedeploy { public struct BatchGetOnPremisesInstancesInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "instanceNames", required: false, type: .list) + AWSShapeMember(label: "instanceNames", required: true, type: .list) ] /// The names of the on-premises instances about which to get information. - public let instanceNames: [String]? + public let instanceNames: [String] - public init(instanceNames: [String]? = nil) { + public init(instanceNames: [String]) { self.instanceNames = instanceNames } @@ -409,6 +418,34 @@ extension Codedeploy { public var description: String { return self.rawValue } } + public enum AutoRollbackEvent: String, CustomStringConvertible, Codable { + case deploymentFailure = "DEPLOYMENT_FAILURE" + case deploymentStopOnAlarm = "DEPLOYMENT_STOP_ON_ALARM" + case deploymentStopOnRequest = "DEPLOYMENT_STOP_ON_REQUEST" + public var description: String { return self.rawValue } + } + + public struct BatchGetApplicationRevisionsInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "revisions", required: true, type: .list), + AWSShapeMember(label: "applicationName", required: true, type: .string) + ] + /// Information to get about the application revisions, including type and location. + public let revisions: [RevisionLocation] + /// The name of an AWS CodeDeploy application about which to get revision information. + public let applicationName: String + + public init(revisions: [RevisionLocation], applicationName: String) { + self.revisions = revisions + self.applicationName = applicationName + } + + private enum CodingKeys: String, CodingKey { + case revisions = "revisions" + case applicationName = "applicationName" + } + } + public struct TagFilter: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Type", required: false, type: .enum), @@ -435,6 +472,32 @@ extension Codedeploy { } } + public struct PutLifecycleEventHookExecutionStatusInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "deploymentId", required: false, type: .string), + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "lifecycleEventHookExecutionId", required: false, type: .string) + ] + /// The ID of the deployment. Pass this ID to a Lambda function that validates a deployment lifecycle event. + public let deploymentId: String? + /// The result of a Lambda function that validates a deployment lifecycle event (Succeeded or Failed). + public let status: LifecycleEventStatus? + /// The execution ID of a deployment's lifecycle hook. A deployment lifecycle hook is specified in the hooks section of the AppSpec file. + public let lifecycleEventHookExecutionId: String? + + public init(deploymentId: String? = nil, status: LifecycleEventStatus? = nil, lifecycleEventHookExecutionId: String? = nil) { + self.deploymentId = deploymentId + self.status = status + self.lifecycleEventHookExecutionId = lifecycleEventHookExecutionId + } + + private enum CodingKeys: String, CodingKey { + case deploymentId = "deploymentId" + case status = "status" + case lifecycleEventHookExecutionId = "lifecycleEventHookExecutionId" + } + } + public enum DeploymentCreator: String, CustomStringConvertible, Codable { case user = "user" case autoscaling = "autoscaling" @@ -527,16 +590,21 @@ extension Codedeploy { public struct CreateApplicationInput: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "computePlatform", required: false, type: .enum), AWSShapeMember(label: "applicationName", required: true, type: .string) ] + /// The destination platform type for the deployment (Lambda or Server). + public let computePlatform: ComputePlatform? /// The name of the application. This name must be unique with the applicable IAM user or AWS account. public let applicationName: String - public init(applicationName: String) { + public init(computePlatform: ComputePlatform? = nil, applicationName: String) { + self.computePlatform = computePlatform self.applicationName = applicationName } private enum CodingKeys: String, CodingKey { + case computePlatform = "computePlatform" case applicationName = "applicationName" } } @@ -626,7 +694,7 @@ extension Codedeploy { AWSShapeMember(label: "actionOnTimeout", required: false, type: .enum), AWSShapeMember(label: "waitTimeInMinutes", required: false, type: .integer) ] - /// 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 load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. + /// 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. public let actionOnTimeout: DeploymentReadyAction? /// 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 public let waitTimeInMinutes: Int32? @@ -684,6 +752,27 @@ extension Codedeploy { } } + public struct TimeBasedCanary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "canaryInterval", required: false, type: .integer), + AWSShapeMember(label: "canaryPercentage", required: false, type: .integer) + ] + /// The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment. + public let canaryInterval: Int32? + /// The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment. + public let canaryPercentage: Int32? + + public init(canaryInterval: Int32? = nil, canaryPercentage: Int32? = nil) { + self.canaryInterval = canaryInterval + self.canaryPercentage = canaryPercentage + } + + private enum CodingKeys: String, CodingKey { + case canaryInterval = "canaryInterval" + case canaryPercentage = "canaryPercentage" + } + } + public struct ListDeploymentsInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), @@ -722,12 +811,12 @@ extension Codedeploy { public struct BatchGetDeploymentsInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "deploymentIds", required: false, type: .list) + AWSShapeMember(label: "deploymentIds", required: true, type: .list) ] /// A list of deployment IDs, separated by spaces. - public let deploymentIds: [String]? + public let deploymentIds: [String] - public init(deploymentIds: [String]? = nil) { + public init(deploymentIds: [String]) { self.deploymentIds = deploymentIds } @@ -779,13 +868,6 @@ extension Codedeploy { } } - public enum EC2TagFilterType: String, CustomStringConvertible, Codable { - case keyOnly = "KEY_ONLY" - case valueOnly = "VALUE_ONLY" - case keyAndValue = "KEY_AND_VALUE" - public var description: String { return self.rawValue } - } - public struct ListOnPremisesInstancesOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "instanceNames", required: false, type: .list), @@ -829,6 +911,23 @@ extension Codedeploy { public var description: String { return self.rawValue } } + public enum EC2TagFilterType: String, CustomStringConvertible, Codable { + case keyOnly = "KEY_ONLY" + case valueOnly = "VALUE_ONLY" + case keyAndValue = "KEY_AND_VALUE" + public var description: String { return self.rawValue } + } + + public enum LifecycleErrorCode: String, CustomStringConvertible, Codable { + case success = "Success" + case scriptmissing = "ScriptMissing" + case scriptnotexecutable = "ScriptNotExecutable" + case scripttimedout = "ScriptTimedOut" + case scriptfailed = "ScriptFailed" + case unknownerror = "UnknownError" + public var description: String { return self.rawValue } + } + public struct BatchGetApplicationsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "applicationsInfo", required: false, type: .list) @@ -845,16 +944,6 @@ extension Codedeploy { } } - public enum LifecycleErrorCode: String, CustomStringConvertible, Codable { - case success = "Success" - case scriptmissing = "ScriptMissing" - case scriptnotexecutable = "ScriptNotExecutable" - case scripttimedout = "ScriptTimedOut" - case scriptfailed = "ScriptFailed" - case unknownerror = "UnknownError" - public var description: String { return self.rawValue } - } - public struct BlueGreenDeploymentConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "terminateBlueInstancesOnDeploymentSuccess", required: false, type: .structure), @@ -881,6 +970,27 @@ extension Codedeploy { } } + public struct RawString: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "content", required: false, type: .string), + AWSShapeMember(label: "sha256", required: false, type: .string) + ] + /// 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. + public let content: String? + /// The SHA256 hash value of the revision that is specified as a RawString. + public let sha256: String? + + public init(content: String? = nil, sha256: String? = nil) { + self.content = content + self.sha256 = sha256 + } + + private enum CodingKeys: String, CodingKey { + case content = "content" + case sha256 = "sha256" + } + } + public struct BatchGetDeploymentGroupsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "deploymentGroupsInfo", required: false, type: .list), @@ -1007,6 +1117,27 @@ extension Codedeploy { } } + public struct TimeBasedLinear: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "linearPercentage", required: false, type: .integer), + AWSShapeMember(label: "linearInterval", required: false, type: .integer) + ] + /// The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment. + public let linearPercentage: Int32? + /// The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment. + public let linearInterval: Int32? + + public init(linearPercentage: Int32? = nil, linearInterval: Int32? = nil) { + self.linearPercentage = linearPercentage + self.linearInterval = linearInterval + } + + private enum CodingKeys: String, CodingKey { + case linearPercentage = "linearPercentage" + case linearInterval = "linearInterval" + } + } + public enum StopStatus: String, CustomStringConvertible, Codable { case pending = "Pending" case succeeded = "Succeeded" @@ -1016,6 +1147,7 @@ extension Codedeploy { public enum RevisionLocationType: String, CustomStringConvertible, Codable { case s3 = "S3" case github = "GitHub" + case string = "String" public var description: String { return self.rawValue } } @@ -1033,6 +1165,22 @@ extension Codedeploy { public var description: String { return self.rawValue } } + public struct DeleteGitHubAccountTokenOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "tokenName", required: false, type: .string) + ] + /// The name of the GitHub account connection that was deleted. + public let tokenName: String? + + public init(tokenName: String? = nil) { + self.tokenName = tokenName + } + + private enum CodingKeys: String, CodingKey { + case tokenName = "tokenName" + } + } + public enum ListStateFilterAction: String, CustomStringConvertible, Codable { case include = "include" case exclude = "exclude" @@ -1056,6 +1204,27 @@ extension Codedeploy { } } + public struct LoadBalancerInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "targetGroupInfoList", required: false, type: .list), + AWSShapeMember(label: "elbInfoList", required: false, type: .list) + ] + /// 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. + public let targetGroupInfoList: [TargetGroupInfo]? + /// 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. + public let elbInfoList: [ELBInfo]? + + public init(targetGroupInfoList: [TargetGroupInfo]? = nil, elbInfoList: [ELBInfo]? = nil) { + self.targetGroupInfoList = targetGroupInfoList + self.elbInfoList = elbInfoList + } + + private enum CodingKeys: String, CodingKey { + case targetGroupInfoList = "targetGroupInfoList" + case elbInfoList = "elbInfoList" + } + } + public struct CreateDeploymentGroupInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "deploymentGroupName", required: true, type: .string), @@ -1142,31 +1311,6 @@ extension Codedeploy { } } - public struct GitHubAccountTokenDoesNotExistException: AWSShape { - - } - - public struct LoadBalancerInfo: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "targetGroupInfoList", required: false, type: .list), - AWSShapeMember(label: "elbInfoList", required: false, type: .list) - ] - /// 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. - public let targetGroupInfoList: [TargetGroupInfo]? - /// 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. - public let elbInfoList: [ELBInfo]? - - public init(targetGroupInfoList: [TargetGroupInfo]? = nil, elbInfoList: [ELBInfo]? = nil) { - self.targetGroupInfoList = targetGroupInfoList - self.elbInfoList = elbInfoList - } - - private enum CodingKeys: String, CodingKey { - case targetGroupInfoList = "targetGroupInfoList" - case elbInfoList = "elbInfoList" - } - } - public struct BatchGetDeploymentInstancesInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "deploymentId", required: true, type: .string), @@ -1337,6 +1481,13 @@ extension Codedeploy { public var description: String { return self.rawValue } } + public enum TrafficRoutingType: String, CustomStringConvertible, Codable { + case timebasedcanary = "TimeBasedCanary" + case timebasedlinear = "TimeBasedLinear" + case allatonce = "AllAtOnce" + public var description: String { return self.rawValue } + } + public struct ListDeploymentConfigsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), @@ -1382,21 +1533,31 @@ extension Codedeploy { public struct CreateDeploymentConfigInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "deploymentConfigName", required: true, type: .string), - AWSShapeMember(label: "minimumHealthyHosts", required: true, type: .structure) + AWSShapeMember(label: "minimumHealthyHosts", required: false, type: .structure), + AWSShapeMember(label: "trafficRoutingConfig", required: false, type: .structure), + AWSShapeMember(label: "computePlatform", required: false, type: .enum) ] /// The name of the deployment configuration to create. public let deploymentConfigName: String /// 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. - public let minimumHealthyHosts: MinimumHealthyHosts + public let minimumHealthyHosts: MinimumHealthyHosts? + /// The configuration that specifies how the deployment traffic will be routed. + public let trafficRoutingConfig: TrafficRoutingConfig? + /// The destination platform type for the deployment (Lambda or Server>). + public let computePlatform: ComputePlatform? - public init(deploymentConfigName: String, minimumHealthyHosts: MinimumHealthyHosts) { + public init(deploymentConfigName: String, minimumHealthyHosts: MinimumHealthyHosts? = nil, trafficRoutingConfig: TrafficRoutingConfig? = nil, computePlatform: ComputePlatform? = nil) { self.deploymentConfigName = deploymentConfigName self.minimumHealthyHosts = minimumHealthyHosts + self.trafficRoutingConfig = trafficRoutingConfig + self.computePlatform = computePlatform } private enum CodingKeys: String, CodingKey { case deploymentConfigName = "deploymentConfigName" case minimumHealthyHosts = "minimumHealthyHosts" + case trafficRoutingConfig = "trafficRoutingConfig" + case computePlatform = "computePlatform" } } @@ -1510,6 +1671,10 @@ extension Codedeploy { } } + public struct InvalidInstanceIdException: AWSShape { + + } + public struct EC2TagFilter: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Type", required: false, type: .enum), @@ -1552,6 +1717,7 @@ extension Codedeploy { AWSShapeMember(label: "deploymentConfigName", required: false, type: .string), AWSShapeMember(label: "triggerConfigurations", required: false, type: .list), AWSShapeMember(label: "deploymentStyle", required: false, type: .structure), + AWSShapeMember(label: "computePlatform", required: false, type: .enum), AWSShapeMember(label: "lastAttemptedDeployment", required: false, type: .structure), AWSShapeMember(label: "onPremisesInstanceTagFilters", required: false, type: .list), AWSShapeMember(label: "ec2TagFilters", required: false, type: .list), @@ -1586,6 +1752,8 @@ extension Codedeploy { public let triggerConfigurations: [TriggerConfig]? /// 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. public let deploymentStyle: DeploymentStyle? + /// The destination platform type for the deployment group (Lambda or Server). + public let computePlatform: ComputePlatform? /// Information about the most recent attempted deployment to the deployment group. public let lastAttemptedDeployment: LastDeploymentInfo? /// The on-premises instance tags on which to filter. The deployment group includes on-premises instances with any of the specified tags. @@ -1597,7 +1765,7 @@ extension Codedeploy { /// Information about the deployment group's target revision, including type and location. public let targetRevision: RevisionLocation? - public init(lastSuccessfulDeployment: LastDeploymentInfo? = nil, deploymentGroupName: String? = nil, serviceRoleArn: String? = nil, ec2TagSet: EC2TagSet? = nil, loadBalancerInfo: LoadBalancerInfo? = nil, deploymentGroupId: String? = nil, alarmConfiguration: AlarmConfiguration? = nil, blueGreenDeploymentConfiguration: BlueGreenDeploymentConfiguration? = nil, onPremisesTagSet: OnPremisesTagSet? = nil, applicationName: String? = nil, autoScalingGroups: [AutoScalingGroup]? = nil, deploymentConfigName: String? = nil, triggerConfigurations: [TriggerConfig]? = nil, deploymentStyle: DeploymentStyle? = nil, lastAttemptedDeployment: LastDeploymentInfo? = nil, onPremisesInstanceTagFilters: [TagFilter]? = nil, ec2TagFilters: [EC2TagFilter]? = nil, autoRollbackConfiguration: AutoRollbackConfiguration? = nil, targetRevision: RevisionLocation? = nil) { + public init(lastSuccessfulDeployment: LastDeploymentInfo? = nil, deploymentGroupName: String? = nil, serviceRoleArn: String? = nil, ec2TagSet: EC2TagSet? = nil, loadBalancerInfo: LoadBalancerInfo? = nil, deploymentGroupId: String? = nil, alarmConfiguration: AlarmConfiguration? = nil, blueGreenDeploymentConfiguration: BlueGreenDeploymentConfiguration? = nil, onPremisesTagSet: OnPremisesTagSet? = nil, applicationName: String? = nil, autoScalingGroups: [AutoScalingGroup]? = nil, deploymentConfigName: String? = nil, triggerConfigurations: [TriggerConfig]? = nil, deploymentStyle: DeploymentStyle? = nil, computePlatform: ComputePlatform? = nil, lastAttemptedDeployment: LastDeploymentInfo? = nil, onPremisesInstanceTagFilters: [TagFilter]? = nil, ec2TagFilters: [EC2TagFilter]? = nil, autoRollbackConfiguration: AutoRollbackConfiguration? = nil, targetRevision: RevisionLocation? = nil) { self.lastSuccessfulDeployment = lastSuccessfulDeployment self.deploymentGroupName = deploymentGroupName self.serviceRoleArn = serviceRoleArn @@ -1612,6 +1780,7 @@ extension Codedeploy { self.deploymentConfigName = deploymentConfigName self.triggerConfigurations = triggerConfigurations self.deploymentStyle = deploymentStyle + self.computePlatform = computePlatform self.lastAttemptedDeployment = lastAttemptedDeployment self.onPremisesInstanceTagFilters = onPremisesInstanceTagFilters self.ec2TagFilters = ec2TagFilters @@ -1634,6 +1803,7 @@ extension Codedeploy { case deploymentConfigName = "deploymentConfigName" case triggerConfigurations = "triggerConfigurations" case deploymentStyle = "deploymentStyle" + case computePlatform = "computePlatform" case lastAttemptedDeployment = "lastAttemptedDeployment" case onPremisesInstanceTagFilters = "onPremisesInstanceTagFilters" case ec2TagFilters = "ec2TagFilters" @@ -1642,6 +1812,22 @@ extension Codedeploy { } } + public struct PutLifecycleEventHookExecutionStatusOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "lifecycleEventHookExecutionId", required: false, type: .string) + ] + /// The execution ID of the lifecycle event hook. A hook is specified in the hooks section of the deployment's AppSpec file. + public let lifecycleEventHookExecutionId: String? + + public init(lifecycleEventHookExecutionId: String? = nil) { + self.lifecycleEventHookExecutionId = lifecycleEventHookExecutionId + } + + private enum CodingKeys: String, CodingKey { + case lifecycleEventHookExecutionId = "lifecycleEventHookExecutionId" + } + } + public struct ListApplicationsInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string) @@ -1756,30 +1942,30 @@ extension Codedeploy { public struct Diagnostics: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "scriptName", required: false, type: .string), - AWSShapeMember(label: "message", required: false, type: .string), AWSShapeMember(label: "errorCode", required: false, type: .enum), + AWSShapeMember(label: "message", required: false, type: .string), AWSShapeMember(label: "logTail", required: false, type: .string) ] /// The name of the script. public let scriptName: String? - /// The message associated with the error. - public let message: String? /// 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. public let errorCode: LifecycleErrorCode? + /// The message associated with the error. + public let message: String? /// The last portion of the diagnostic log. If available, AWS CodeDeploy returns up to the last 4 KB of the diagnostic log. public let logTail: String? - public init(scriptName: String? = nil, message: String? = nil, errorCode: LifecycleErrorCode? = nil, logTail: String? = nil) { + public init(scriptName: String? = nil, errorCode: LifecycleErrorCode? = nil, message: String? = nil, logTail: String? = nil) { self.scriptName = scriptName - self.message = message self.errorCode = errorCode + self.message = message self.logTail = logTail } private enum CodingKeys: String, CodingKey { case scriptName = "scriptName" - case message = "message" case errorCode = "errorCode" + case message = "message" case logTail = "logTail" } } @@ -1828,12 +2014,12 @@ extension Codedeploy { public struct BatchGetApplicationsInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "applicationNames", required: false, type: .list) + AWSShapeMember(label: "applicationNames", required: true, type: .list) ] /// A list of application names separated by spaces. - public let applicationNames: [String]? + public let applicationNames: [String] - public init(applicationNames: [String]? = nil) { + public init(applicationNames: [String]) { self.applicationNames = applicationNames } @@ -1882,21 +2068,32 @@ extension Codedeploy { case autoScalingIamRolePermissions = "AUTO_SCALING_IAM_ROLE_PERMISSIONS" case autoScalingConfiguration = "AUTO_SCALING_CONFIGURATION" case manualStop = "MANUAL_STOP" + case missingBlueGreenDeploymentConfiguration = "MISSING_BLUE_GREEN_DEPLOYMENT_CONFIGURATION" + case missingElbInformation = "MISSING_ELB_INFORMATION" + case missingGithubToken = "MISSING_GITHUB_TOKEN" + case elasticLoadBalancingInvalid = "ELASTIC_LOAD_BALANCING_INVALID" + case elbInvalidInstance = "ELB_INVALID_INSTANCE" + case invalidLambdaConfiguration = "INVALID_LAMBDA_CONFIGURATION" + case invalidLambdaFunction = "INVALID_LAMBDA_FUNCTION" + case hookExecutionFailure = "HOOK_EXECUTION_FAILURE" public var description: String { return self.rawValue } } public struct ApplicationInfo: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "gitHubAccountName", required: false, type: .string), + AWSShapeMember(label: "computePlatform", required: false, type: .enum), AWSShapeMember(label: "linkedToGitHub", required: false, type: .boolean), + AWSShapeMember(label: "gitHubAccountName", required: false, type: .string), AWSShapeMember(label: "createTime", required: false, type: .timestamp), AWSShapeMember(label: "applicationName", required: false, type: .string), AWSShapeMember(label: "applicationId", required: false, type: .string) ] - /// The name for a connection to a GitHub account. - public let gitHubAccountName: String? + /// The destination platform type for deployment of the application (Lambda or Server). + public let computePlatform: ComputePlatform? /// True if the user has authenticated with GitHub for the specified application; otherwise, false. public let linkedToGitHub: Bool? + /// The name for a connection to a GitHub account. + public let gitHubAccountName: String? /// The time at which the application was created. public let createTime: TimeStamp? /// The application name. @@ -1904,17 +2101,19 @@ extension Codedeploy { /// The application ID. public let applicationId: String? - public init(gitHubAccountName: String? = nil, linkedToGitHub: Bool? = nil, createTime: TimeStamp? = nil, applicationName: String? = nil, applicationId: String? = nil) { - self.gitHubAccountName = gitHubAccountName + public init(computePlatform: ComputePlatform? = nil, linkedToGitHub: Bool? = nil, gitHubAccountName: String? = nil, createTime: TimeStamp? = nil, applicationName: String? = nil, applicationId: String? = nil) { + self.computePlatform = computePlatform self.linkedToGitHub = linkedToGitHub + self.gitHubAccountName = gitHubAccountName self.createTime = createTime self.applicationName = applicationName self.applicationId = applicationId } private enum CodingKeys: String, CodingKey { - case gitHubAccountName = "gitHubAccountName" + case computePlatform = "computePlatform" case linkedToGitHub = "linkedToGitHub" + case gitHubAccountName = "gitHubAccountName" case createTime = "createTime" case applicationName = "applicationName" case applicationId = "applicationId" @@ -1950,7 +2149,7 @@ extension Codedeploy { ] /// 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. public let action: InstanceAction? - /// The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment. + /// 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). public let terminationWaitTimeInMinutes: Int32? public init(action: InstanceAction? = nil, terminationWaitTimeInMinutes: Int32? = nil) { @@ -1994,9 +2193,37 @@ extension Codedeploy { case tar = "tar" case tgz = "tgz" case zip = "zip" + case yaml = "YAML" + case json = "JSON" public var description: String { return self.rawValue } } + public struct TrafficRoutingConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "type", required: false, type: .enum), + AWSShapeMember(label: "timeBasedLinear", required: false, type: .structure), + AWSShapeMember(label: "timeBasedCanary", required: false, type: .structure) + ] + /// The type of traffic shifting (TimeBasedCanary or TimeBasedLinear) used by a deployment configuration . + public let `type`: TrafficRoutingType? + /// 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. + public let timeBasedLinear: TimeBasedLinear? + /// 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. + public let timeBasedCanary: TimeBasedCanary? + + public init(type: TrafficRoutingType? = nil, timeBasedLinear: TimeBasedLinear? = nil, timeBasedCanary: TimeBasedCanary? = nil) { + self.`type` = `type` + self.timeBasedLinear = timeBasedLinear + self.timeBasedCanary = timeBasedCanary + } + + private enum CodingKeys: String, CodingKey { + case `type` = "type" + case timeBasedLinear = "timeBasedLinear" + case timeBasedCanary = "timeBasedCanary" + } + } + public enum DeploymentStatus: String, CustomStringConvertible, Codable { case created = "Created" case queued = "Queued" @@ -2158,6 +2385,22 @@ extension Codedeploy { } } + public struct GetApplicationOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "application", required: false, type: .structure) + ] + /// Information about the application. + public let application: ApplicationInfo? + + public init(application: ApplicationInfo? = nil) { + self.application = application + } + + private enum CodingKeys: String, CodingKey { + case application = "application" + } + } + public struct S3Location: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "bundleType", required: false, type: .enum), @@ -2194,27 +2437,11 @@ extension Codedeploy { } } - public struct GetApplicationOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "application", required: false, type: .structure) - ] - /// Information about the application. - public let application: ApplicationInfo? - - public init(application: ApplicationInfo? = nil) { - self.application = application - } - - private enum CodingKeys: String, CodingKey { - case application = "application" - } - } - public struct ELBInfo: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string) ] - /// 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. + /// 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. public let name: String? public init(name: String? = nil) { @@ -2725,32 +2952,42 @@ extension Codedeploy { public struct DeploymentConfigInfo: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "computePlatform", required: false, type: .enum), AWSShapeMember(label: "deploymentConfigName", required: false, type: .string), AWSShapeMember(label: "minimumHealthyHosts", required: false, type: .structure), - AWSShapeMember(label: "createTime", required: false, type: .timestamp), - AWSShapeMember(label: "deploymentConfigId", required: false, type: .string) + AWSShapeMember(label: "deploymentConfigId", required: false, type: .string), + AWSShapeMember(label: "trafficRoutingConfig", required: false, type: .structure), + AWSShapeMember(label: "createTime", required: false, type: .timestamp) ] + /// The destination platform type for the deployment (Lambda or Server). + public let computePlatform: ComputePlatform? /// The deployment configuration name. public let deploymentConfigName: String? /// Information about the number or percentage of minimum healthy instance. public let minimumHealthyHosts: MinimumHealthyHosts? - /// The time at which the deployment configuration was created. - public let createTime: TimeStamp? /// The deployment configuration ID. public let deploymentConfigId: String? + /// The configuration specifying how the deployment traffic will be routed. Only deployments with a Lambda compute platform can specify this. + public let trafficRoutingConfig: TrafficRoutingConfig? + /// The time at which the deployment configuration was created. + public let createTime: TimeStamp? - public init(deploymentConfigName: String? = nil, minimumHealthyHosts: MinimumHealthyHosts? = nil, createTime: TimeStamp? = nil, deploymentConfigId: String? = nil) { + public init(computePlatform: ComputePlatform? = nil, deploymentConfigName: String? = nil, minimumHealthyHosts: MinimumHealthyHosts? = nil, deploymentConfigId: String? = nil, trafficRoutingConfig: TrafficRoutingConfig? = nil, createTime: TimeStamp? = nil) { + self.computePlatform = computePlatform self.deploymentConfigName = deploymentConfigName self.minimumHealthyHosts = minimumHealthyHosts - self.createTime = createTime self.deploymentConfigId = deploymentConfigId + self.trafficRoutingConfig = trafficRoutingConfig + self.createTime = createTime } private enum CodingKeys: String, CodingKey { + case computePlatform = "computePlatform" case deploymentConfigName = "deploymentConfigName" case minimumHealthyHosts = "minimumHealthyHosts" - case createTime = "createTime" case deploymentConfigId = "deploymentConfigId" + case trafficRoutingConfig = "trafficRoutingConfig" + case createTime = "createTime" } } diff --git a/Sources/AWSSDKSwift/Services/codepipeline/Codepipeline_API.swift b/Sources/AWSSDKSwift/Services/codepipeline/Codepipeline_API.swift index 978cf09c933..66cc147ee7c 100644 --- a/Sources/AWSSDKSwift/Services/codepipeline/Codepipeline_API.swift +++ b/Sources/AWSSDKSwift/Services/codepipeline/Codepipeline_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -AWS CodePipeline Overview This is the AWS CodePipeline API Reference. This guide provides descriptions of the actions and data types for AWS CodePipeline. Some functionality for your pipeline is only configurable through the API. For additional information, see the AWS CodePipeline User Guide. You can use the AWS CodePipeline API to work with pipelines, stages, actions, gates, and transitions, as described below. Pipelines are models of automated release processes. Each pipeline is uniquely named, and consists of actions, gates, and stages. You can work with pipelines by calling: CreatePipeline, which creates a uniquely-named pipeline. DeletePipeline, which deletes the specified pipeline. GetPipeline, which returns information about 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, which are logical groupings of gates and actions. Each stage contains one or more actions that must complete before the next stage begins. A stage will result in success or failure. If a stage fails, then the pipeline stops at that stage and will remain stopped until either a new version of an artifact appears in the source location, or a user takes action to re-run the most recent artifact through the pipeline. You can call GetPipelineState, which displays the status of a pipeline, including the status of stages in the pipeline, or GetPipeline, which returns the entire structure of the pipeline, including the stages of that pipeline. For more information about the structure of stages and actions, also refer to the AWS CodePipeline Pipeline Structure Reference. Pipeline stages include actions, which are categorized into categories such as source or build actions performed within a stage of a pipeline. For example, you can use a source action to import artifacts into a pipeline from a source such as Amazon S3. Like stages, you do not work with actions directly in most cases, but you do define and interact with actions when working with pipeline operations such as CreatePipeline and GetPipelineState. Pipelines also include transitions, which allow the transition of artifacts from one stage to the next in a pipeline after the actions in one stage complete. You can work with transitions by calling: DisableStageTransition, which prevents artifacts from transitioning to the next stage in a pipeline. EnableStageTransition, which enables transition of artifacts between stages in a pipeline. 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: AcknowledgeJob, which confirms whether a job worker has received the specified job, GetJobDetails, which returns the details of a job, PollForJobs, which determines whether there are any jobs to act upon, PutJobFailureResult, which provides details of a job failure, and PutJobSuccessResult, which provides details of a job success. 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: AcknowledgeThirdPartyJob, which confirms whether a job worker has received the specified job, GetThirdPartyJobDetails, which requests the details of a job for a partner action, PollForThirdPartyJobs, which determines whether there are any jobs to act upon, PutThirdPartyJobFailureResult, which provides details of a job failure, and PutThirdPartyJobSuccessResult, which provides details of a job success. +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: DisableStageTransition, which prevents artifacts from transitioning to the next stage in a pipeline. EnableStageTransition, which enables transition of artifacts between stages in a pipeline. 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: AcknowledgeJob, which confirms whether a job worker has received the specified job, GetJobDetails, which returns the details of a job, PollForJobs, which determines whether there are any jobs to act upon, PutJobFailureResult, which provides details of a job failure, and PutJobSuccessResult, which provides details of a job success. 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: AcknowledgeThirdPartyJob, which confirms whether a job worker has received the specified job, GetThirdPartyJobDetails, which requests the details of a job for a partner action, PollForThirdPartyJobs, which determines whether there are any jobs to act upon, PutThirdPartyJobFailureResult, which provides details of a job failure, and PutThirdPartyJobSuccessResult, which provides details of a job success. */ public struct Codepipeline { @@ -25,7 +25,7 @@ public struct Codepipeline { ) } - /// Returns information about any jobs for AWS CodePipeline to act upon. When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action. + /// 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. public func pollForJobs(_ input: PollForJobsInput) throws -> PollForJobsOutput { return try client.send(operation: "PollForJobs", path: "/", httpMethod: "POST", input: input) } @@ -35,6 +35,11 @@ public struct Codepipeline { _ = try client.send(operation: "DisableStageTransition", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func deregisterWebhookWithThirdParty(_ input: DeregisterWebhookWithThirdPartyInput) throws -> DeregisterWebhookWithThirdPartyOutput { + return try client.send(operation: "DeregisterWebhookWithThirdParty", path: "/", httpMethod: "POST", input: input) + } + /// Gets a summary of the most recent executions for a pipeline. public func listPipelineExecutions(_ input: ListPipelineExecutionsInput) throws -> ListPipelineExecutionsOutput { return try client.send(operation: "ListPipelineExecutions", path: "/", httpMethod: "POST", input: input) @@ -95,6 +100,16 @@ public struct Codepipeline { return try client.send(operation: "ListPipelines", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func listWebhooks(_ input: ListWebhooksInput) throws -> ListWebhooksOutput { + return try client.send(operation: "ListWebhooks", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func deleteWebhook(_ input: DeleteWebhookInput) throws -> DeleteWebhookOutput { + return try client.send(operation: "DeleteWebhook", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func updatePipeline(_ input: UpdatePipelineInput) throws -> UpdatePipelineOutput { return try client.send(operation: "UpdatePipeline", path: "/", httpMethod: "POST", input: input) @@ -110,7 +125,7 @@ public struct Codepipeline { return try client.send(operation: "CreatePipeline", path: "/", httpMethod: "POST", input: input) } - /// Marks a custom action as deleted. PollForJobs for the custom action will fail after the action is marked for deletion. Only used for custom actions. You cannot recreate a custom action after it has been deleted unless you increase the version number of the action. + /// 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. public func deleteCustomActionType(_ input: DeleteCustomActionTypeInput) throws { _ = try client.send(operation: "DeleteCustomActionType", path: "/", httpMethod: "POST", input: input) } @@ -125,6 +140,11 @@ public struct Codepipeline { _ = try client.send(operation: "DeletePipeline", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func putWebhook(_ input: PutWebhookInput) throws -> PutWebhookOutput { + return try client.send(operation: "PutWebhook", path: "/", httpMethod: "POST", input: input) + } + /// Resumes the pipeline execution by retrying the last failed actions in a stage. public func retryStageExecution(_ input: RetryStageExecutionInput) throws -> RetryStageExecutionOutput { return try client.send(operation: "RetryStageExecution", path: "/", httpMethod: "POST", input: input) @@ -155,6 +175,11 @@ public struct Codepipeline { _ = try client.send(operation: "PutJobSuccessResult", path: "/", httpMethod: "POST", input: input) } + /// Configures a connection between the webhook that was created and the external tool with events to be detected. + public func registerWebhookWithThirdParty(_ input: RegisterWebhookWithThirdPartyInput) throws -> RegisterWebhookWithThirdPartyOutput { + return try client.send(operation: "RegisterWebhookWithThirdParty", path: "/", httpMethod: "POST", input: input) + } + /// Represents the failure of a job as returned to the pipeline by a job worker. Only used for custom actions. public func putJobFailureResult(_ input: PutJobFailureResultInput) throws { _ = try client.send(operation: "PutJobFailureResult", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/codepipeline/Codepipeline_Error.swift b/Sources/AWSSDKSwift/Services/codepipeline/Codepipeline_Error.swift index 72079165042..02c91780882 100644 --- a/Sources/AWSSDKSwift/Services/codepipeline/Codepipeline_Error.swift +++ b/Sources/AWSSDKSwift/Services/codepipeline/Codepipeline_Error.swift @@ -8,6 +8,7 @@ public enum CodepipelineError: AWSErrorType { case actionTypeNotFoundException(message: String?) case pipelineNotFoundException(message: String?) case stageNotFoundException(message: String?) + case webhookNotFoundException(message: String?) case invalidNextTokenException(message: String?) case invalidNonceException(message: String?) case jobNotFoundException(message: String?) @@ -24,6 +25,8 @@ public enum CodepipelineError: AWSErrorType { case invalidBlockerDeclarationException(message: String?) case invalidStructureException(message: String?) case pipelineNameInUseException(message: String?) + case invalidWebhookFilterPatternException(message: String?) + case invalidWebhookAuthenticationParametersException(message: String?) case stageNotRetryableException(message: String?) case notLatestPipelineExecutionException(message: String?) case invalidJobStateException(message: String?) @@ -44,6 +47,8 @@ extension CodepipelineError { self = .pipelineNotFoundException(message: message) case "StageNotFoundException": self = .stageNotFoundException(message: message) + case "WebhookNotFoundException": + self = .webhookNotFoundException(message: message) case "InvalidNextTokenException": self = .invalidNextTokenException(message: message) case "InvalidNonceException": @@ -76,6 +81,10 @@ extension CodepipelineError { self = .invalidStructureException(message: message) case "PipelineNameInUseException": self = .pipelineNameInUseException(message: message) + case "InvalidWebhookFilterPatternException": + self = .invalidWebhookFilterPatternException(message: message) + case "InvalidWebhookAuthenticationParametersException": + self = .invalidWebhookAuthenticationParametersException(message: message) case "StageNotRetryableException": self = .stageNotRetryableException(message: message) case "NotLatestPipelineExecutionException": diff --git a/Sources/AWSSDKSwift/Services/codepipeline/Codepipeline_Shapes.swift b/Sources/AWSSDKSwift/Services/codepipeline/Codepipeline_Shapes.swift index 362de4ae922..2b109b04e90 100644 --- a/Sources/AWSSDKSwift/Services/codepipeline/Codepipeline_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/codepipeline/Codepipeline_Shapes.swift @@ -5,6 +5,51 @@ import AWSSDKSwiftCore extension Codepipeline { + public enum ArtifactStoreType: String, CustomStringConvertible, Codable { + case s3 = "S3" + public var description: String { return self.rawValue } + } + + public struct ListWebhooksOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "webhooks", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// The JSON detail returned for each webhook in the list output for the ListWebhooks call. + public let webhooks: [ListWebhookItem]? + /// 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. + public let nextToken: String? + + public init(webhooks: [ListWebhookItem]? = nil, nextToken: String? = nil) { + self.webhooks = webhooks + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case webhooks = "webhooks" + case nextToken = "NextToken" + } + } + + public struct WebhookAuthConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AllowedIPRange", required: false, type: .string), + AWSShapeMember(label: "SecretToken", required: false, type: .string) + ] + public let allowedIPRange: String? + public let secretToken: String? + + public init(allowedIPRange: String? = nil, secretToken: String? = nil) { + self.allowedIPRange = allowedIPRange + self.secretToken = secretToken + } + + private enum CodingKeys: String, CodingKey { + case allowedIPRange = "AllowedIPRange" + case secretToken = "SecretToken" + } + } + public struct ActionContext: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string) @@ -292,6 +337,22 @@ extension Codepipeline { } } + public struct RegisterWebhookWithThirdPartyInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "webhookName", required: false, type: .string) + ] + /// The name of an existing webhook created with PutWebhook to register with a supported third party. + public let webhookName: String? + + public init(webhookName: String? = nil) { + self.webhookName = webhookName + } + + private enum CodingKeys: String, CodingKey { + case webhookName = "webhookName" + } + } + public struct StageContext: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string) @@ -432,6 +493,10 @@ extension Codepipeline { } } + public struct RegisterWebhookWithThirdPartyOutput: AWSShape { + + } + public struct PutActionRevisionInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "stageName", required: true, type: .string), @@ -463,6 +528,27 @@ extension Codepipeline { } } + public struct WebhookFilterRule: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "matchEquals", required: false, type: .string), + AWSShapeMember(label: "jsonPath", required: true, type: .string) + ] + /// 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. + public let matchEquals: String? + /// 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. + public let jsonPath: String + + public init(matchEquals: String? = nil, jsonPath: String) { + self.matchEquals = matchEquals + self.jsonPath = jsonPath + } + + private enum CodingKeys: String, CodingKey { + case matchEquals = "matchEquals" + case jsonPath = "jsonPath" + } + } + public struct PutThirdPartyJobFailureResultInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "failureDetails", required: true, type: .structure), @@ -774,6 +860,47 @@ extension Codepipeline { } } + public struct WebhookDefinition: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "targetAction", required: true, type: .string), + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "targetPipeline", required: true, type: .string), + AWSShapeMember(label: "authenticationConfiguration", required: true, type: .structure), + AWSShapeMember(label: "authentication", required: true, type: .enum), + AWSShapeMember(label: "filters", required: true, type: .list) + ] + /// 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. + public let targetAction: String + /// The name of the webhook. + public let name: String + /// The name of the pipeline you want to connect to the webhook. + public let targetPipeline: String + /// 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. + public let authenticationConfiguration: WebhookAuthConfiguration + /// 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. + public let authentication: WebhookAuthenticationType + /// 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. + public let filters: [WebhookFilterRule] + + public init(targetAction: String, name: String, targetPipeline: String, authenticationConfiguration: WebhookAuthConfiguration, authentication: WebhookAuthenticationType, filters: [WebhookFilterRule]) { + self.targetAction = targetAction + self.name = name + self.targetPipeline = targetPipeline + self.authenticationConfiguration = authenticationConfiguration + self.authentication = authentication + self.filters = filters + } + + private enum CodingKeys: String, CodingKey { + case targetAction = "targetAction" + case name = "name" + case targetPipeline = "targetPipeline" + case authenticationConfiguration = "authenticationConfiguration" + case authentication = "authentication" + case filters = "filters" + } + } + public struct AcknowledgeJobInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nonce", required: true, type: .string), @@ -821,6 +948,29 @@ extension Codepipeline { } } + public struct DeleteWebhookInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", required: true, type: .string) + ] + /// The name of the webhook you want to delete. + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + } + } + + public enum WebhookAuthenticationType: String, CustomStringConvertible, Codable { + case githubHmac = "GITHUB_HMAC" + case ip = "IP" + case unauthenticated = "UNAUTHENTICATED" + public var description: String { return self.rawValue } + } + public struct S3ArtifactLocation: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "bucketName", required: true, type: .string), @@ -893,7 +1043,7 @@ extension Codepipeline { ] /// The creator of the action being called. public let owner: ActionOwner - /// A string that identifies the action type. + /// A string that describes the action version. public let version: String /// 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. public let provider: String @@ -922,6 +1072,65 @@ extension Codepipeline { public var description: String { return self.rawValue } } + public struct PutWebhookOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "webhook", required: false, type: .structure) + ] + /// The detail returned from creating the webhook, such as the webhook name, webhook URL, and webhook ARN. + public let webhook: ListWebhookItem? + + public init(webhook: ListWebhookItem? = nil) { + self.webhook = webhook + } + + private enum CodingKeys: String, CodingKey { + case webhook = "webhook" + } + } + + public struct SourceRevision: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "revisionId", required: false, type: .string), + AWSShapeMember(label: "actionName", required: true, type: .string), + AWSShapeMember(label: "revisionUrl", required: false, type: .string), + AWSShapeMember(label: "revisionSummary", required: false, type: .string) + ] + public let revisionId: String? + public let actionName: String + public let revisionUrl: String? + public let revisionSummary: String? + + public init(revisionId: String? = nil, actionName: String, revisionUrl: String? = nil, revisionSummary: String? = nil) { + self.revisionId = revisionId + self.actionName = actionName + self.revisionUrl = revisionUrl + self.revisionSummary = revisionSummary + } + + private enum CodingKeys: String, CodingKey { + case revisionId = "revisionId" + case actionName = "actionName" + case revisionUrl = "revisionUrl" + case revisionSummary = "revisionSummary" + } + } + + public struct PutWebhookInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "webhook", required: true, type: .structure) + ] + /// 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. + public let webhook: WebhookDefinition + + public init(webhook: WebhookDefinition) { + self.webhook = webhook + } + + private enum CodingKeys: String, CodingKey { + case webhook = "webhook" + } + } + public struct GetThirdPartyJobDetailsInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "clientToken", required: true, type: .string), @@ -1031,6 +1240,27 @@ extension Codepipeline { } } + public struct ListWebhooksInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The token that was returned from the previous ListWebhooks call, which can be used to return the next set of webhooks in the list. + public let nextToken: String? + /// The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + public struct AWSSessionCredentials: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "sessionToken", required: true, type: .string), @@ -1416,6 +1646,10 @@ extension Codepipeline { } } + public struct DeregisterWebhookWithThirdPartyOutput: AWSShape { + + } + public struct ThirdPartyJob: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "jobId", required: false, type: .string), @@ -1739,6 +1973,47 @@ extension Codepipeline { public var description: String { return self.rawValue } } + public struct ListWebhookItem: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "arn", required: false, type: .string), + AWSShapeMember(label: "definition", required: true, type: .structure), + AWSShapeMember(label: "errorCode", required: false, type: .string), + AWSShapeMember(label: "errorMessage", required: false, type: .string), + AWSShapeMember(label: "url", required: true, type: .string), + AWSShapeMember(label: "lastTriggered", required: false, type: .timestamp) + ] + /// The Amazon Resource Name (ARN) of the webhook. + public let arn: String? + /// The detail returned for each webhook, such as the webhook authentication type and filter rules. + public let definition: WebhookDefinition + /// The number code of the error. + public let errorCode: String? + /// The text of the error message about the webhook. + public let errorMessage: String? + /// 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. + public let url: String + /// The date and time a webhook was last successfully triggered, in timestamp format. + public let lastTriggered: TimeStamp? + + public init(arn: String? = nil, definition: WebhookDefinition, errorCode: String? = nil, errorMessage: String? = nil, url: String, lastTriggered: TimeStamp? = nil) { + self.arn = arn + self.definition = definition + self.errorCode = errorCode + self.errorMessage = errorMessage + self.url = url + self.lastTriggered = lastTriggered + } + + private enum CodingKeys: String, CodingKey { + case arn = "arn" + case definition = "definition" + case errorCode = "errorCode" + case errorMessage = "errorMessage" + case url = "url" + case lastTriggered = "lastTriggered" + } + } + public struct GetPipelineInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: true, type: .string), @@ -1947,6 +2222,10 @@ extension Codepipeline { } } + public struct DeleteWebhookOutput: AWSShape { + + } + public struct StartPipelineExecutionOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "pipelineExecutionId", required: false, type: .string) @@ -2183,11 +2462,13 @@ extension Codepipeline { public struct PipelineExecutionSummary: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "sourceRevisions", required: false, type: .list), AWSShapeMember(label: "status", required: false, type: .enum), AWSShapeMember(label: "pipelineExecutionId", required: false, type: .string), AWSShapeMember(label: "startTime", required: false, type: .timestamp), AWSShapeMember(label: "lastUpdateTime", required: false, type: .timestamp) ] + public let sourceRevisions: [SourceRevision]? /// 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. public let status: PipelineExecutionStatus? /// The ID of the pipeline execution. @@ -2197,7 +2478,8 @@ extension Codepipeline { /// The date and time of the last change to the pipeline execution, in timestamp format. public let lastUpdateTime: TimeStamp? - public init(status: PipelineExecutionStatus? = nil, pipelineExecutionId: String? = nil, startTime: TimeStamp? = nil, lastUpdateTime: TimeStamp? = nil) { + public init(sourceRevisions: [SourceRevision]? = nil, status: PipelineExecutionStatus? = nil, pipelineExecutionId: String? = nil, startTime: TimeStamp? = nil, lastUpdateTime: TimeStamp? = nil) { + self.sourceRevisions = sourceRevisions self.status = status self.pipelineExecutionId = pipelineExecutionId self.startTime = startTime @@ -2205,6 +2487,7 @@ extension Codepipeline { } private enum CodingKeys: String, CodingKey { + case sourceRevisions = "sourceRevisions" case status = "status" case pipelineExecutionId = "pipelineExecutionId" case startTime = "startTime" @@ -2285,22 +2568,6 @@ extension Codepipeline { } } - public struct GetThirdPartyJobDetailsOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "jobDetails", required: false, type: .structure) - ] - /// The details of the job, including any protected values defined for the job. - public let jobDetails: ThirdPartyJobDetails? - - public init(jobDetails: ThirdPartyJobDetails? = nil) { - self.jobDetails = jobDetails - } - - private enum CodingKeys: String, CodingKey { - case jobDetails = "jobDetails" - } - } - public struct AcknowledgeThirdPartyJobInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nonce", required: true, type: .string), @@ -2327,6 +2594,38 @@ extension Codepipeline { } } + public struct GetThirdPartyJobDetailsOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "jobDetails", required: false, type: .structure) + ] + /// The details of the job, including any protected values defined for the job. + public let jobDetails: ThirdPartyJobDetails? + + public init(jobDetails: ThirdPartyJobDetails? = nil) { + self.jobDetails = jobDetails + } + + private enum CodingKeys: String, CodingKey { + case jobDetails = "jobDetails" + } + } + + public struct DeregisterWebhookWithThirdPartyInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "webhookName", required: false, type: .string) + ] + /// The name of the webhook you want to deregister. + public let webhookName: String? + + public init(webhookName: String? = nil) { + self.webhookName = webhookName + } + + private enum CodingKeys: String, CodingKey { + case webhookName = "webhookName" + } + } + public struct ListPipelinesOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), @@ -2348,9 +2647,4 @@ extension Codepipeline { } } - public enum ArtifactStoreType: String, CustomStringConvertible, Codable { - case s3 = "S3" - public var description: String { return self.rawValue } - } - } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/cognito-idp/CognitoIdp_API.swift b/Sources/AWSSDKSwift/Services/cognito-idp/CognitoIdp_API.swift index 8e0ebbfe935..529f69d1623 100644 --- a/Sources/AWSSDKSwift/Services/cognito-idp/CognitoIdp_API.swift +++ b/Sources/AWSSDKSwift/Services/cognito-idp/CognitoIdp_API.swift @@ -180,6 +180,11 @@ public struct CognitoIdp { return try client.send(operation: "AdminUpdateDeviceStatus", path: "/", httpMethod: "POST", input: input) } + /// This method takes a user pool ID, and returns the signing certificate. + public func getSigningCertificate(_ input: GetSigningCertificateRequest) throws -> GetSigningCertificateResponse { + return try client.send(operation: "GetSigningCertificate", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func getUICustomization(_ input: GetUICustomizationRequest) throws -> GetUICustomizationResponse { return try client.send(operation: "GetUICustomization", path: "/", httpMethod: "POST", input: input) @@ -215,7 +220,7 @@ public struct CognitoIdp { return try client.send(operation: "UpdateDeviceStatus", path: "/", httpMethod: "POST", input: input) } - /// Use this API to register a user's entered TOTP code and mark the user's software token MFA status as "verified" if successful, + /// 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. public func verifySoftwareToken(_ input: VerifySoftwareTokenRequest) throws -> VerifySoftwareTokenResponse { return try client.send(operation: "VerifySoftwareToken", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/cognito-idp/CognitoIdp_Shapes.swift b/Sources/AWSSDKSwift/Services/cognito-idp/CognitoIdp_Shapes.swift index db53286b5b1..5fd3cbba402 100644 --- a/Sources/AWSSDKSwift/Services/cognito-idp/CognitoIdp_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/cognito-idp/CognitoIdp_Shapes.swift @@ -550,9 +550,9 @@ extension CognitoIdp { ] /// 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. public let contextData: ContextDataType? - /// 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: USERNAME (required), SECRET_HASH (required if the app client is configured with a client secret), REFRESH_TOKEN (required), DEVICE_KEY For ADMIN_NO_SRP_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), PASSWORD (required), DEVICE_KEY For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), DEVICE_KEY + /// 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 public let authParameters: [String: String]? - /// 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. 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. + /// 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. public let authFlow: AuthFlowType /// The app client ID. public let clientId: String @@ -767,7 +767,7 @@ extension CognitoIdp { public let analyticsConfiguration: AnalyticsConfigurationType? /// The client secret from the user pool request of the client type. public let clientSecret: String? - /// A list of allowed callback URLs for the identity providers. + /// 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 use HTTP without TLS (i.e. use HTTPS instead of HTTP). Not include a fragment component. See OAuth 2.0 - Redirection Endpoint. public let callbackURLs: [String]? /// The user pool ID for the user pool client. public let userPoolId: String? @@ -781,7 +781,7 @@ extension CognitoIdp { public let allowedOAuthFlows: [OAuthFlowType]? /// The date the user pool client was last modified. public let lastModifiedDate: TimeStamp? - /// The default redirect URI. Must be in the CallbackURLs list. + /// 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 use HTTP without TLS (i.e. use HTTPS instead of HTTP). Not include a fragment component. See OAuth 2.0 - Redirection Endpoint. public let defaultRedirectURI: String? /// The ID of the client associated with the user pool. public let clientId: String? @@ -908,6 +908,7 @@ extension CognitoIdp { case refreshToken = "REFRESH_TOKEN" case customAuth = "CUSTOM_AUTH" case adminNoSrpAuth = "ADMIN_NO_SRP_AUTH" + case userPasswordAuth = "USER_PASSWORD_AUTH" public var description: String { return self.rawValue } } @@ -1050,9 +1051,9 @@ extension CognitoIdp { AWSShapeMember(label: "AuthenticationResult", required: false, type: .structure), AWSShapeMember(label: "Session", required: false, type: .string) ] - /// The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge. SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS. PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations. CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued. DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device. DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only. ADMIN_NO_SRP_AUTH: This is returned if you need to authenticate with USERNAME and PASSWORD directly. An app client must be enabled to use this flow. NEW_PASSWORD_REQUIRED: For users which are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes. + /// 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. public let challengeName: ChallengeNameType? - /// The challenge parameters. These are returned to you in the AdminInitiateAuth response if you need to pass another challenge. The responses in this parameter should be used to compute inputs to the next call (AdminRespondToAuthChallenge). All challenges require USERNAME and SECRET_HASH (if applicable). The value of the USER_IF_FOR_SRP attribute will be the user's actual username, not an alias (such as email address or phone number), even if you specified an alias in your call to AdminInitiateAuth. This is because, in the AdminRespondToAuthChallenge API ChallengeResponses, the USERNAME attribute cannot be an alias. + /// 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. public let challengeParameters: [String: String]? /// 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. public let authenticationResult: AuthenticationResultType? @@ -1217,7 +1218,9 @@ extension CognitoIdp { ] /// 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. public let userStatus: UserStatusType? + /// The list of the user's MFA settings. public let userMFASettingList: [String]? + /// The user's preferred MFA setting. public let preferredMfaSetting: String? /// Indicates that the status is enabled. public let enabled: Bool? @@ -1384,6 +1387,22 @@ extension CognitoIdp { } } + public struct GetSigningCertificateResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Certificate", required: false, type: .string) + ] + /// The signing certificate. + public let certificate: String? + + public init(certificate: String? = nil) { + self.certificate = certificate + } + + private enum CodingKeys: String, CodingKey { + case certificate = "Certificate" + } + } + public struct AdminDisableUserRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UserPoolId", required: true, type: .string), @@ -2002,32 +2021,32 @@ extension CognitoIdp { public struct VerifySoftwareTokenRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AccessToken", required: false, type: .string), + AWSShapeMember(label: "FriendlyDeviceName", required: false, type: .string), AWSShapeMember(label: "UserCode", required: true, type: .string), AWSShapeMember(label: "Session", required: false, type: .string), - AWSShapeMember(label: "FriendlyDeviceName", required: false, type: .string) + AWSShapeMember(label: "AccessToken", required: false, type: .string) ] - /// The access token. - public let accessToken: String? + /// The friendly device name. + public let friendlyDeviceName: String? /// The one time password computed using the secret code returned by public let userCode: String /// The session which should be passed both ways in challenge-response calls to the service. public let session: String? - /// The friendly device name. - public let friendlyDeviceName: String? + /// The access token. + public let accessToken: String? - public init(accessToken: String? = nil, userCode: String, session: String? = nil, friendlyDeviceName: String? = nil) { - self.accessToken = accessToken + public init(friendlyDeviceName: String? = nil, userCode: String, session: String? = nil, accessToken: String? = nil) { + self.friendlyDeviceName = friendlyDeviceName self.userCode = userCode self.session = session - self.friendlyDeviceName = friendlyDeviceName + self.accessToken = accessToken } private enum CodingKeys: String, CodingKey { - case accessToken = "AccessToken" + case friendlyDeviceName = "FriendlyDeviceName" case userCode = "UserCode" case session = "Session" - case friendlyDeviceName = "FriendlyDeviceName" + case accessToken = "AccessToken" } } @@ -2108,6 +2127,7 @@ extension CognitoIdp { case facebook = "Facebook" case google = "Google" case loginwithamazon = "LoginWithAmazon" + case oidc = "OIDC" public var description: String { return self.rawValue } } @@ -2339,7 +2359,7 @@ extension CognitoIdp { AWSShapeMember(label: "SoftwareTokenMfaSettings", required: false, type: .structure), AWSShapeMember(label: "UserPoolId", required: true, type: .string) ] - /// The user pool username. + /// The user pool username or alias. public let username: String /// The SMS text message MFA settings. public let sMSMfaSettings: SMSMfaSettingsType? @@ -2371,6 +2391,22 @@ extension CognitoIdp { } + public struct GetSigningCertificateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserPoolId", required: true, type: .string) + ] + /// The user pool ID. + public let userPoolId: String + + public init(userPoolId: String) { + self.userPoolId = userPoolId + } + + private enum CodingKeys: String, CodingKey { + case userPoolId = "UserPoolId" + } + } + public struct DeleteUserPoolDomainRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Domain", required: true, type: .string), @@ -2651,13 +2687,13 @@ extension CognitoIdp { public let clientMetadata: [String: String]? /// 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. public let userContextData: UserContextDataType? - /// 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: USERNAME (required), SECRET_HASH (required if the app client is configured with a client secret), REFRESH_TOKEN (required), DEVICE_KEY For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), DEVICE_KEY + /// 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 public let authParameters: [String: String]? /// The app client ID. public let clientId: String /// The Amazon Pinpoint analytics metadata for collecting metrics for InitiateAuth calls. public let analyticsMetadata: AnalyticsMetadataType? - /// 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. Valid values include: USER_SRP_AUTH: Authentication flow for the Secure Remote Password (SRP) protocol. REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for refreshing the access token and ID token by supplying a valid refresh token. CUSTOM_AUTH: Custom authentication flow. ADMIN_NO_SRP_AUTH is not a valid value. + /// 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. public let authFlow: AuthFlowType public init(clientMetadata: [String: String]? = nil, userContextData: UserContextDataType? = nil, authParameters: [String: String]? = nil, clientId: String, analyticsMetadata: AnalyticsMetadataType? = nil, authFlow: AuthFlowType) { @@ -2861,7 +2897,7 @@ extension CognitoIdp { public let policies: UserPoolPolicyType? /// Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username. public let aliasAttributes: [AliasAttributeType]? - /// The Lambda trigger configuration information for the new user pool. + /// 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 . public let lambdaConfig: LambdaConfigType? /// Specifies MFA configuration details. public let mfaConfiguration: UserPoolMfaType? @@ -3395,30 +3431,30 @@ extension CognitoIdp { public struct AdminListUserAuthEventsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Username", required: true, type: .string), AWSShapeMember(label: "UserPoolId", required: true, type: .string), + AWSShapeMember(label: "Username", required: true, type: .string), AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The user pool username. - public let username: String /// The user pool ID. public let userPoolId: String + /// The user pool username or an alias. + public let username: String /// A pagination token. public let nextToken: String? /// The maximum number of authentication events to return. public let maxResults: Int32? - public init(username: String, userPoolId: String, nextToken: String? = nil, maxResults: Int32? = nil) { - self.username = username + public init(userPoolId: String, username: String, nextToken: String? = nil, maxResults: Int32? = nil) { self.userPoolId = userPoolId + self.username = username self.nextToken = nextToken self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case username = "Username" case userPoolId = "UserPoolId" + case username = "Username" case nextToken = "NextToken" case maxResults = "MaxResults" } @@ -3605,7 +3641,7 @@ extension CognitoIdp { public let analyticsConfiguration: AnalyticsConfigurationType? /// The explicit authentication flows. public let explicitAuthFlows: [ExplicitAuthFlowsType]? - /// A list of allowed callback URLs for the identity providers. + /// 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 use HTTP without TLS (i.e. use HTTPS instead of HTTP). Not include a fragment component. See OAuth 2.0 - Redirection Endpoint. public let callbackURLs: [String]? /// The user pool ID for the user pool where you want to create a user pool client. public let userPoolId: String @@ -3617,7 +3653,7 @@ extension CognitoIdp { public let logoutURLs: [String]? /// 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. public let allowedOAuthFlows: [OAuthFlowType]? - /// The default redirect URI. Must be in the CallbackURLs list. + /// 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 use HTTP without TLS (i.e. use HTTPS instead of HTTP). Not include a fragment component. See OAuth 2.0 - Redirection Endpoint. public let defaultRedirectURI: String? /// Boolean to specify whether you want to generate a secret for the user pool client being created. public let generateSecret: Bool? @@ -3842,7 +3878,7 @@ extension CognitoIdp { public let stringAttributeConstraints: StringAttributeConstraintsType? /// 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. public let required: Bool? - /// Specifies whether the attribute can be changed once it has been created. + /// Specifies whether the value of the attribute can be changed. public let mutable: Bool? public init(numberAttributeConstraints: NumberAttributeConstraintsType? = nil, developerOnlyAttribute: Bool? = nil, name: String? = nil, attributeDataType: AttributeDataType? = nil, stringAttributeConstraints: StringAttributeConstraintsType? = nil, required: Bool? = nil, mutable: Bool? = nil) { @@ -4466,11 +4502,13 @@ extension CognitoIdp { AWSShapeMember(label: "PreferredMfaSetting", required: false, type: .string), AWSShapeMember(label: "UserAttributes", required: true, type: .list) ] + /// The list of the user's MFA settings. public let userMFASettingList: [String]? /// Specifies the options for MFA (e.g., email or phone number). public let mFAOptions: [MFAOptionType]? /// The user name of the user you wish to retrieve from the get user request. public let username: String + /// The user's preferred MFA setting. public let preferredMfaSetting: String? /// An array of name-value pairs representing user attributes. For custom attributes, you must prepend the custom: prefix to the attribute name. public let userAttributes: [AttributeType] @@ -4553,7 +4591,7 @@ extension CognitoIdp { public let analyticsConfiguration: AnalyticsConfigurationType? /// Explicit authentication flows. public let explicitAuthFlows: [ExplicitAuthFlowsType]? - /// A list of allowed callback URLs for the identity providers. + /// 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 use HTTP without TLS (i.e. use HTTPS instead of HTTP). Not include a fragment component. See OAuth 2.0 - Redirection Endpoint. public let callbackURLs: [String]? /// The user pool ID for the user pool where you want to update the user pool client. public let userPoolId: String @@ -4565,7 +4603,7 @@ extension CognitoIdp { public let logoutURLs: [String]? /// 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. public let allowedOAuthFlows: [OAuthFlowType]? - /// The default redirect URI. Must be in the CallbackURLs list. + /// 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 use HTTP without TLS (i.e. use HTTPS instead of HTTP). Not include a fragment component. See OAuth 2.0 - Redirection Endpoint. public let defaultRedirectURI: String? /// The ID of the client associated with the user pool. public let clientId: String @@ -4817,10 +4855,11 @@ extension CognitoIdp { public struct UserPoolType: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Arn", required: false, type: .string), AWSShapeMember(label: "UserPoolTags", required: false, type: .map), - AWSShapeMember(label: "VerificationMessageTemplate", required: false, type: .structure), AWSShapeMember(label: "EmailVerificationSubject", required: false, type: .string), AWSShapeMember(label: "UsernameAttributes", required: false, type: .list), + AWSShapeMember(label: "VerificationMessageTemplate", required: false, type: .structure), AWSShapeMember(label: "EstimatedNumberOfUsers", required: false, type: .integer), AWSShapeMember(label: "CreationDate", required: false, type: .timestamp), AWSShapeMember(label: "MfaConfiguration", required: false, type: .enum), @@ -4831,6 +4870,7 @@ extension CognitoIdp { AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "EmailVerificationMessage", required: false, type: .string), AWSShapeMember(label: "DeviceConfiguration", required: false, type: .structure), + AWSShapeMember(label: "Domain", required: false, type: .string), AWSShapeMember(label: "EmailConfigurationFailure", required: false, type: .string), AWSShapeMember(label: "AdminCreateUserConfig", required: false, type: .structure), AWSShapeMember(label: "UserPoolAddOns", required: false, type: .structure), @@ -4844,14 +4884,16 @@ extension CognitoIdp { AWSShapeMember(label: "LastModifiedDate", required: false, type: .timestamp), AWSShapeMember(label: "AutoVerifiedAttributes", required: false, type: .list) ] + /// The Amazon Resource Name (ARN) for the user pool. + public let arn: String? /// The cost allocation tags for the user pool. For more information, see Adding Cost Allocation Tags to Your User Pool public let userPoolTags: [String: String]? - /// The template for verification messages. - public let verificationMessageTemplate: VerificationMessageTemplateType? /// The subject of the email verification message. public let emailVerificationSubject: String? /// Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up. public let usernameAttributes: [UsernameAttributeType]? + /// The template for verification messages. + public let verificationMessageTemplate: VerificationMessageTemplateType? /// A number estimating the size of the user pool. public let estimatedNumberOfUsers: Int32? /// The date the user pool was created. @@ -4872,6 +4914,8 @@ extension CognitoIdp { public let emailVerificationMessage: String? /// The device configuration. public let deviceConfiguration: DeviceConfigurationType? + /// Holds the domain prefix if the user pool has a domain associated with it. + public let domain: String? /// The reason why the email configuration cannot send the messages to your users. public let emailConfigurationFailure: String? /// The configuration for AdminCreateUser requests. @@ -4884,7 +4928,7 @@ extension CognitoIdp { public let schemaAttributes: [SchemaAttributeType]? /// The reason why the SMS configuration cannot send the messages to your users. public let smsConfigurationFailure: String? - /// The AWS Lambda triggers associated with tue user pool. + /// The AWS Lambda triggers associated with the user pool. public let lambdaConfig: LambdaConfigType? /// The policies associated with the user pool. public let policies: UserPoolPolicyType? @@ -4897,11 +4941,12 @@ extension CognitoIdp { /// Specifies the attributes that are auto-verified in a user pool. public let autoVerifiedAttributes: [VerifiedAttributeType]? - public init(userPoolTags: [String: String]? = nil, verificationMessageTemplate: VerificationMessageTemplateType? = nil, emailVerificationSubject: String? = nil, usernameAttributes: [UsernameAttributeType]? = nil, estimatedNumberOfUsers: Int32? = nil, creationDate: TimeStamp? = nil, mfaConfiguration: UserPoolMfaType? = nil, id: String? = nil, status: StatusType? = nil, smsConfiguration: SmsConfigurationType? = nil, emailConfiguration: EmailConfigurationType? = nil, name: String? = nil, emailVerificationMessage: String? = nil, deviceConfiguration: DeviceConfigurationType? = nil, emailConfigurationFailure: String? = nil, adminCreateUserConfig: AdminCreateUserConfigType? = nil, userPoolAddOns: UserPoolAddOnsType? = nil, aliasAttributes: [AliasAttributeType]? = nil, schemaAttributes: [SchemaAttributeType]? = nil, smsConfigurationFailure: String? = nil, lambdaConfig: LambdaConfigType? = nil, policies: UserPoolPolicyType? = nil, smsVerificationMessage: String? = nil, smsAuthenticationMessage: String? = nil, lastModifiedDate: TimeStamp? = nil, autoVerifiedAttributes: [VerifiedAttributeType]? = nil) { + public init(arn: String? = nil, userPoolTags: [String: String]? = nil, emailVerificationSubject: String? = nil, usernameAttributes: [UsernameAttributeType]? = nil, verificationMessageTemplate: VerificationMessageTemplateType? = nil, estimatedNumberOfUsers: Int32? = nil, creationDate: TimeStamp? = nil, mfaConfiguration: UserPoolMfaType? = nil, id: String? = nil, status: StatusType? = nil, smsConfiguration: SmsConfigurationType? = nil, emailConfiguration: EmailConfigurationType? = nil, name: String? = nil, emailVerificationMessage: String? = nil, deviceConfiguration: DeviceConfigurationType? = nil, domain: String? = nil, emailConfigurationFailure: String? = nil, adminCreateUserConfig: AdminCreateUserConfigType? = nil, userPoolAddOns: UserPoolAddOnsType? = nil, aliasAttributes: [AliasAttributeType]? = nil, schemaAttributes: [SchemaAttributeType]? = nil, smsConfigurationFailure: String? = nil, lambdaConfig: LambdaConfigType? = nil, policies: UserPoolPolicyType? = nil, smsVerificationMessage: String? = nil, smsAuthenticationMessage: String? = nil, lastModifiedDate: TimeStamp? = nil, autoVerifiedAttributes: [VerifiedAttributeType]? = nil) { + self.arn = arn self.userPoolTags = userPoolTags - self.verificationMessageTemplate = verificationMessageTemplate self.emailVerificationSubject = emailVerificationSubject self.usernameAttributes = usernameAttributes + self.verificationMessageTemplate = verificationMessageTemplate self.estimatedNumberOfUsers = estimatedNumberOfUsers self.creationDate = creationDate self.mfaConfiguration = mfaConfiguration @@ -4912,6 +4957,7 @@ extension CognitoIdp { self.name = name self.emailVerificationMessage = emailVerificationMessage self.deviceConfiguration = deviceConfiguration + self.domain = domain self.emailConfigurationFailure = emailConfigurationFailure self.adminCreateUserConfig = adminCreateUserConfig self.userPoolAddOns = userPoolAddOns @@ -4927,10 +4973,11 @@ extension CognitoIdp { } private enum CodingKeys: String, CodingKey { + case arn = "Arn" case userPoolTags = "UserPoolTags" - case verificationMessageTemplate = "VerificationMessageTemplate" case emailVerificationSubject = "EmailVerificationSubject" case usernameAttributes = "UsernameAttributes" + case verificationMessageTemplate = "VerificationMessageTemplate" case estimatedNumberOfUsers = "EstimatedNumberOfUsers" case creationDate = "CreationDate" case mfaConfiguration = "MfaConfiguration" @@ -4941,6 +4988,7 @@ extension CognitoIdp { case name = "Name" case emailVerificationMessage = "EmailVerificationMessage" case deviceConfiguration = "DeviceConfiguration" + case domain = "Domain" case emailConfigurationFailure = "EmailConfigurationFailure" case adminCreateUserConfig = "AdminCreateUserConfig" case userPoolAddOns = "UserPoolAddOns" @@ -5053,6 +5101,7 @@ extension CognitoIdp { AWSShapeMember(label: "CreateAuthChallenge", required: false, type: .string), AWSShapeMember(label: "PreAuthentication", required: false, type: .string), AWSShapeMember(label: "PreTokenGeneration", required: false, type: .string), + AWSShapeMember(label: "UserMigration", required: false, type: .string), AWSShapeMember(label: "PostConfirmation", required: false, type: .string) ] /// A post-authentication AWS Lambda trigger. @@ -5071,10 +5120,12 @@ extension CognitoIdp { public let preAuthentication: String? /// A Lambda trigger that is invoked before token generation. public let preTokenGeneration: String? + /// The user migration Lambda config type. + public let userMigration: String? /// A post-confirmation AWS Lambda trigger. public let postConfirmation: String? - public init(postAuthentication: String? = nil, customMessage: String? = nil, preSignUp: String? = nil, verifyAuthChallengeResponse: String? = nil, defineAuthChallenge: String? = nil, createAuthChallenge: String? = nil, preAuthentication: String? = nil, preTokenGeneration: String? = nil, postConfirmation: String? = nil) { + public init(postAuthentication: String? = nil, customMessage: String? = nil, preSignUp: String? = nil, verifyAuthChallengeResponse: String? = nil, defineAuthChallenge: String? = nil, createAuthChallenge: String? = nil, preAuthentication: String? = nil, preTokenGeneration: String? = nil, userMigration: String? = nil, postConfirmation: String? = nil) { self.postAuthentication = postAuthentication self.customMessage = customMessage self.preSignUp = preSignUp @@ -5083,6 +5134,7 @@ extension CognitoIdp { self.createAuthChallenge = createAuthChallenge self.preAuthentication = preAuthentication self.preTokenGeneration = preTokenGeneration + self.userMigration = userMigration self.postConfirmation = postConfirmation } @@ -5095,6 +5147,7 @@ extension CognitoIdp { case createAuthChallenge = "CreateAuthChallenge" case preAuthentication = "PreAuthentication" case preTokenGeneration = "PreTokenGeneration" + case userMigration = "UserMigration" case postConfirmation = "PostConfirmation" } } @@ -5170,7 +5223,7 @@ extension CognitoIdp { AWSShapeMember(label: "RefreshToken", required: false, type: .string), AWSShapeMember(label: "AccessToken", required: false, type: .string) ] - /// The expiration period of the authentication result. + /// The expiration period of the authentication result in seconds. public let expiresIn: Int32? /// The new device metadata from an authentication result. public let newDeviceMetadata: NewDeviceMetadataType? @@ -5274,6 +5327,7 @@ extension CognitoIdp { public enum ExplicitAuthFlowsType: String, CustomStringConvertible, Codable { case adminNoSrpAuth = "ADMIN_NO_SRP_AUTH" case customAuthFlowOnly = "CUSTOM_AUTH_FLOW_ONLY" + case userPasswordAuth = "USER_PASSWORD_AUTH" public var description: String { return self.rawValue } } @@ -5652,8 +5706,8 @@ extension CognitoIdp { public struct UserType: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UserStatus", required: false, type: .enum), - AWSShapeMember(label: "Enabled", required: false, type: .boolean), AWSShapeMember(label: "Username", required: false, type: .string), + AWSShapeMember(label: "Enabled", required: false, type: .boolean), AWSShapeMember(label: "UserCreateDate", required: false, type: .timestamp), AWSShapeMember(label: "Attributes", required: false, type: .list), AWSShapeMember(label: "UserLastModifiedDate", required: false, type: .timestamp), @@ -5661,10 +5715,10 @@ extension CognitoIdp { ] /// 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. public let userStatus: UserStatusType? - /// Specifies whether the user is enabled. - public let enabled: Bool? /// The user name of the user you wish to describe. public let username: String? + /// Specifies whether the user is enabled. + public let enabled: Bool? /// The creation date of the user. public let userCreateDate: TimeStamp? /// A container with information about the user type attributes. @@ -5674,10 +5728,10 @@ extension CognitoIdp { /// The MFA options for the user. public let mFAOptions: [MFAOptionType]? - public init(userStatus: UserStatusType? = nil, enabled: Bool? = nil, username: String? = nil, userCreateDate: TimeStamp? = nil, attributes: [AttributeType]? = nil, userLastModifiedDate: TimeStamp? = nil, mFAOptions: [MFAOptionType]? = nil) { + public init(userStatus: UserStatusType? = nil, username: String? = nil, enabled: Bool? = nil, userCreateDate: TimeStamp? = nil, attributes: [AttributeType]? = nil, userLastModifiedDate: TimeStamp? = nil, mFAOptions: [MFAOptionType]? = nil) { self.userStatus = userStatus - self.enabled = enabled self.username = username + self.enabled = enabled self.userCreateDate = userCreateDate self.attributes = attributes self.userLastModifiedDate = userLastModifiedDate @@ -5686,8 +5740,8 @@ extension CognitoIdp { private enum CodingKeys: String, CodingKey { case userStatus = "UserStatus" - case enabled = "Enabled" case username = "Username" + case enabled = "Enabled" case userCreateDate = "UserCreateDate" case attributes = "Attributes" case userLastModifiedDate = "UserLastModifiedDate" @@ -5816,32 +5870,32 @@ extension CognitoIdp { public struct SetUserPoolMfaConfigRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "UserPoolId", required: true, type: .string), - AWSShapeMember(label: "SoftwareTokenMfaConfiguration", required: false, type: .structure), AWSShapeMember(label: "SmsMfaConfiguration", required: false, type: .structure), - AWSShapeMember(label: "MfaConfiguration", required: false, type: .enum) + AWSShapeMember(label: "SoftwareTokenMfaConfiguration", required: false, type: .structure), + AWSShapeMember(label: "MfaConfiguration", required: false, type: .enum), + AWSShapeMember(label: "UserPoolId", required: true, type: .string) ] - /// The user pool ID. - public let userPoolId: String - /// The software token MFA configuration. - public let softwareTokenMfaConfiguration: SoftwareTokenMfaConfigType? /// The SMS text message MFA configuration. public let smsMfaConfiguration: SmsMfaConfigType? + /// The software token MFA configuration. + public let softwareTokenMfaConfiguration: SoftwareTokenMfaConfigType? /// The MFA configuration. public let mfaConfiguration: UserPoolMfaType? + /// The user pool ID. + public let userPoolId: String - public init(userPoolId: String, softwareTokenMfaConfiguration: SoftwareTokenMfaConfigType? = nil, smsMfaConfiguration: SmsMfaConfigType? = nil, mfaConfiguration: UserPoolMfaType? = nil) { - self.userPoolId = userPoolId - self.softwareTokenMfaConfiguration = softwareTokenMfaConfiguration + public init(smsMfaConfiguration: SmsMfaConfigType? = nil, softwareTokenMfaConfiguration: SoftwareTokenMfaConfigType? = nil, mfaConfiguration: UserPoolMfaType? = nil, userPoolId: String) { self.smsMfaConfiguration = smsMfaConfiguration + self.softwareTokenMfaConfiguration = softwareTokenMfaConfiguration self.mfaConfiguration = mfaConfiguration + self.userPoolId = userPoolId } private enum CodingKeys: String, CodingKey { - case userPoolId = "UserPoolId" - case softwareTokenMfaConfiguration = "SoftwareTokenMfaConfiguration" case smsMfaConfiguration = "SmsMfaConfiguration" + case softwareTokenMfaConfiguration = "SoftwareTokenMfaConfiguration" case mfaConfiguration = "MfaConfiguration" + case userPoolId = "UserPoolId" } } @@ -5849,30 +5903,30 @@ extension CognitoIdp { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DeviceKey", required: true, type: .string), AWSShapeMember(label: "DeviceRememberedStatus", required: false, type: .enum), - AWSShapeMember(label: "UserPoolId", required: true, type: .string), - AWSShapeMember(label: "Username", required: true, type: .string) + AWSShapeMember(label: "Username", required: true, type: .string), + AWSShapeMember(label: "UserPoolId", required: true, type: .string) ] /// The device key. public let deviceKey: String /// The status indicating whether a device has been remembered or not. public let deviceRememberedStatus: DeviceRememberedStatusType? - /// The user pool ID. - public let userPoolId: String /// The user name. public let username: String + /// The user pool ID. + public let userPoolId: String - public init(deviceKey: String, deviceRememberedStatus: DeviceRememberedStatusType? = nil, userPoolId: String, username: String) { + public init(deviceKey: String, deviceRememberedStatus: DeviceRememberedStatusType? = nil, username: String, userPoolId: String) { self.deviceKey = deviceKey self.deviceRememberedStatus = deviceRememberedStatus - self.userPoolId = userPoolId self.username = username + self.userPoolId = userPoolId } private enum CodingKeys: String, CodingKey { case deviceKey = "DeviceKey" case deviceRememberedStatus = "DeviceRememberedStatus" - case userPoolId = "UserPoolId" case username = "Username" + case userPoolId = "UserPoolId" } } diff --git a/Sources/AWSSDKSwift/Services/comprehend/Comprehend_API.swift b/Sources/AWSSDKSwift/Services/comprehend/Comprehend_API.swift index 44658bf4acf..1a9a94b63a7 100644 --- a/Sources/AWSSDKSwift/Services/comprehend/Comprehend_API.swift +++ b/Sources/AWSSDKSwift/Services/comprehend/Comprehend_API.swift @@ -25,49 +25,79 @@ public struct Comprehend { ) } + /// 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. + public func batchDetectSyntax(_ input: BatchDetectSyntaxRequest) throws -> BatchDetectSyntaxResponse { + return try client.send(operation: "BatchDetectSyntax", path: "/", httpMethod: "POST", input: input) + } + /// Determines the dominant language of the input text. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages. public func detectDominantLanguage(_ input: DetectDominantLanguageRequest) throws -> DetectDominantLanguageResponse { return try client.send(operation: "DetectDominantLanguage", path: "/", httpMethod: "POST", input: input) } + /// Gets the properties associated with a sentiment detection job. Use this operation to get the status of a detection job. + public func describeSentimentDetectionJob(_ input: DescribeSentimentDetectionJobRequest) throws -> DescribeSentimentDetectionJobResponse { + return try client.send(operation: "DescribeSentimentDetectionJob", path: "/", httpMethod: "POST", input: input) + } + + /// Gets a list of the entity detection jobs that you have submitted. + public func listEntitiesDetectionJobs(_ input: ListEntitiesDetectionJobsRequest) throws -> ListEntitiesDetectionJobsResponse { + return try client.send(operation: "ListEntitiesDetectionJobs", path: "/", httpMethod: "POST", input: input) + } + + /// Inspects a batch of documents and returns an inference of the prevailing sentiment, POSITIVE, NEUTRAL, MIXED, or NEGATIVE, in each one. + public func batchDetectSentiment(_ input: BatchDetectSentimentRequest) throws -> BatchDetectSentimentResponse { + return try client.send(operation: "BatchDetectSentiment", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func stopEntitiesDetectionJob(_ input: StopEntitiesDetectionJobRequest) throws -> StopEntitiesDetectionJobResponse { + return try client.send(operation: "StopEntitiesDetectionJob", path: "/", httpMethod: "POST", input: input) + } + + /// Starts an asynchronous entity detection job for a collection of documents. Use the operation to track the status of a job. + public func startEntitiesDetectionJob(_ input: StartEntitiesDetectionJobRequest) throws -> StartEntitiesDetectionJobResponse { + return try client.send(operation: "StartEntitiesDetectionJob", path: "/", httpMethod: "POST", input: input) + } + /// Inspects text and returns an inference of the prevailing sentiment (POSITIVE, NEUTRAL, MIXED, or NEGATIVE). public func detectSentiment(_ input: DetectSentimentRequest) throws -> DetectSentimentResponse { return try client.send(operation: "DetectSentiment", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func stopSentimentDetectionJob(_ input: StopSentimentDetectionJobRequest) throws -> StopSentimentDetectionJobResponse { + return try client.send(operation: "StopSentimentDetectionJob", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func batchDetectDominantLanguage(_ input: BatchDetectDominantLanguageRequest) throws -> BatchDetectDominantLanguageResponse { return try client.send(operation: "BatchDetectDominantLanguage", path: "/", httpMethod: "POST", input: input) } - /// Gets a list of the topic detection jobs that you have submitted. - public func listTopicsDetectionJobs(_ input: ListTopicsDetectionJobsRequest) throws -> ListTopicsDetectionJobsResponse { - return try client.send(operation: "ListTopicsDetectionJobs", path: "/", httpMethod: "POST", input: input) - } - /// Starts an asynchronous topic detection job. Use the DescribeTopicDetectionJob operation to track the status of a job. public func startTopicsDetectionJob(_ input: StartTopicsDetectionJobRequest) throws -> StartTopicsDetectionJobResponse { return try client.send(operation: "StartTopicsDetectionJob", path: "/", httpMethod: "POST", input: input) } - /// Inspects a batch of documents and returns an inference of the prevailing sentiment, POSITIVE, NEUTRAL, MIXED, or NEGATIVE, in each one. - public func batchDetectSentiment(_ input: BatchDetectSentimentRequest) throws -> BatchDetectSentimentResponse { - return try client.send(operation: "BatchDetectSentiment", path: "/", httpMethod: "POST", input: input) + /// Gets the properties associated with a dominant language detection job. Use this operation to get the status of a detection job. + public func describeDominantLanguageDetectionJob(_ input: DescribeDominantLanguageDetectionJobRequest) throws -> DescribeDominantLanguageDetectionJobResponse { + return try client.send(operation: "DescribeDominantLanguageDetectionJob", path: "/", httpMethod: "POST", input: input) } - /// Inspects the text of a batch of documents and returns information about them. For more information about entities, see how-entities - public func batchDetectEntities(_ input: BatchDetectEntitiesRequest) throws -> BatchDetectEntitiesResponse { - return try client.send(operation: "BatchDetectEntities", path: "/", httpMethod: "POST", input: input) + /// 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. + public func stopKeyPhrasesDetectionJob(_ input: StopKeyPhrasesDetectionJobRequest) throws -> StopKeyPhrasesDetectionJobResponse { + return try client.send(operation: "StopKeyPhrasesDetectionJob", path: "/", httpMethod: "POST", input: input) } - /// Inspects text for entities, and returns information about them. For more information, about entities, see how-entities. - public func detectEntities(_ input: DetectEntitiesRequest) throws -> DetectEntitiesResponse { - return try client.send(operation: "DetectEntities", path: "/", httpMethod: "POST", input: input) + /// Starts an asynchronous key phrase detection job for a collection of documents. Use the operation to track the status of a job. + public func startKeyPhrasesDetectionJob(_ input: StartKeyPhrasesDetectionJobRequest) throws -> StartKeyPhrasesDetectionJobResponse { + return try client.send(operation: "StartKeyPhrasesDetectionJob", path: "/", httpMethod: "POST", input: input) } - /// Gets the properties associated with a topic detection job. Use this operation to get the status of a detection job. - public func describeTopicsDetectionJob(_ input: DescribeTopicsDetectionJobRequest) throws -> DescribeTopicsDetectionJobResponse { - return try client.send(operation: "DescribeTopicsDetectionJob", path: "/", httpMethod: "POST", input: input) + /// Detects the key noun phrases found in the text. + public func detectKeyPhrases(_ input: DetectKeyPhrasesRequest) throws -> DetectKeyPhrasesResponse { + return try client.send(operation: "DetectKeyPhrases", path: "/", httpMethod: "POST", input: input) } /// Detects the key noun phrases found in a batch of documents. @@ -75,9 +105,69 @@ public struct Comprehend { return try client.send(operation: "BatchDetectKeyPhrases", path: "/", httpMethod: "POST", input: input) } - /// Detects the key noun phrases found in the text. - public func detectKeyPhrases(_ input: DetectKeyPhrasesRequest) throws -> DetectKeyPhrasesResponse { - return try client.send(operation: "DetectKeyPhrases", path: "/", httpMethod: "POST", input: input) + /// Gets the properties associated with a topic detection job. Use this operation to get the status of a detection job. + public func describeTopicsDetectionJob(_ input: DescribeTopicsDetectionJobRequest) throws -> DescribeTopicsDetectionJobResponse { + return try client.send(operation: "DescribeTopicsDetectionJob", path: "/", httpMethod: "POST", input: input) + } + + /// Gets the properties associated with an entities detection job. Use this operation to get the status of a detection job. + public func describeEntitiesDetectionJob(_ input: DescribeEntitiesDetectionJobRequest) throws -> DescribeEntitiesDetectionJobResponse { + return try client.send(operation: "DescribeEntitiesDetectionJob", path: "/", httpMethod: "POST", input: input) + } + + /// Get a list of key phrase detection jobs that you have submitted. + public func listKeyPhrasesDetectionJobs(_ input: ListKeyPhrasesDetectionJobsRequest) throws -> ListKeyPhrasesDetectionJobsResponse { + return try client.send(operation: "ListKeyPhrasesDetectionJobs", path: "/", httpMethod: "POST", input: input) + } + + /// Starts an asynchronous sentiment detection job for a collection of documents. use the operation to track the status of a job. + public func startSentimentDetectionJob(_ input: StartSentimentDetectionJobRequest) throws -> StartSentimentDetectionJobResponse { + return try client.send(operation: "StartSentimentDetectionJob", path: "/", httpMethod: "POST", input: input) + } + + /// 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 + public func batchDetectEntities(_ input: BatchDetectEntitiesRequest) throws -> BatchDetectEntitiesResponse { + return try client.send(operation: "BatchDetectEntities", path: "/", httpMethod: "POST", input: input) + } + + /// Inspects text for syntax and the part of speech of words in the document. For more information, how-syntax. + public func detectSyntax(_ input: DetectSyntaxRequest) throws -> DetectSyntaxResponse { + return try client.send(operation: "DetectSyntax", path: "/", httpMethod: "POST", input: input) + } + + /// Gets the properties associated with a key phrases detection job. Use this operation to get the status of a detection job. + public func describeKeyPhrasesDetectionJob(_ input: DescribeKeyPhrasesDetectionJobRequest) throws -> DescribeKeyPhrasesDetectionJobResponse { + return try client.send(operation: "DescribeKeyPhrasesDetectionJob", path: "/", httpMethod: "POST", input: input) + } + + /// Gets a list of the dominant language detection jobs that you have submitted. + public func listDominantLanguageDetectionJobs(_ input: ListDominantLanguageDetectionJobsRequest) throws -> ListDominantLanguageDetectionJobsResponse { + return try client.send(operation: "ListDominantLanguageDetectionJobs", path: "/", httpMethod: "POST", input: input) + } + + /// Gets a list of sentiment detection jobs that you have submitted. + public func listSentimentDetectionJobs(_ input: ListSentimentDetectionJobsRequest) throws -> ListSentimentDetectionJobsResponse { + return try client.send(operation: "ListSentimentDetectionJobs", path: "/", httpMethod: "POST", input: input) + } + + /// Gets a list of the topic detection jobs that you have submitted. + public func listTopicsDetectionJobs(_ input: ListTopicsDetectionJobsRequest) throws -> ListTopicsDetectionJobsResponse { + return try client.send(operation: "ListTopicsDetectionJobs", path: "/", httpMethod: "POST", input: input) + } + + /// Starts an asynchronous dominant language detection job for a collection of documents. Use the operation to track the status of a job. + public func startDominantLanguageDetectionJob(_ input: StartDominantLanguageDetectionJobRequest) throws -> StartDominantLanguageDetectionJobResponse { + return try client.send(operation: "StartDominantLanguageDetectionJob", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func stopDominantLanguageDetectionJob(_ input: StopDominantLanguageDetectionJobRequest) throws -> StopDominantLanguageDetectionJobResponse { + return try client.send(operation: "StopDominantLanguageDetectionJob", path: "/", httpMethod: "POST", input: input) + } + + /// Inspects text for named entities, and returns information about them. For more information, about named entities, see how-entities. + public func detectEntities(_ input: DetectEntitiesRequest) throws -> DetectEntitiesResponse { + return try client.send(operation: "DetectEntities", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/comprehend/Comprehend_Error.swift b/Sources/AWSSDKSwift/Services/comprehend/Comprehend_Error.swift index d03508316ea..5942f7fecf6 100644 --- a/Sources/AWSSDKSwift/Services/comprehend/Comprehend_Error.swift +++ b/Sources/AWSSDKSwift/Services/comprehend/Comprehend_Error.swift @@ -6,12 +6,12 @@ import AWSSDKSwiftCore public enum ComprehendError: AWSErrorType { case invalidRequestException(message: String?) case textSizeLimitExceededException(message: String?) - case internalServerException(message: String?) case unsupportedLanguageException(message: String?) case batchSizeLimitExceededException(message: String?) + case internalServerException(message: String?) + case jobNotFoundException(message: String?) case tooManyRequestsException(message: String?) case invalidFilterException(message: String?) - case jobNotFoundException(message: String?) } extension ComprehendError { @@ -25,18 +25,18 @@ extension ComprehendError { self = .invalidRequestException(message: message) case "TextSizeLimitExceededException": self = .textSizeLimitExceededException(message: message) - case "InternalServerException": - self = .internalServerException(message: message) case "UnsupportedLanguageException": self = .unsupportedLanguageException(message: message) case "BatchSizeLimitExceededException": self = .batchSizeLimitExceededException(message: message) + case "InternalServerException": + self = .internalServerException(message: message) + case "JobNotFoundException": + self = .jobNotFoundException(message: message) case "TooManyRequestsException": self = .tooManyRequestsException(message: message) case "InvalidFilterException": self = .invalidFilterException(message: message) - case "JobNotFoundException": - self = .jobNotFoundException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/comprehend/Comprehend_Shapes.swift b/Sources/AWSSDKSwift/Services/comprehend/Comprehend_Shapes.swift index 28da932f63e..048a82bae88 100644 --- a/Sources/AWSSDKSwift/Services/comprehend/Comprehend_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/comprehend/Comprehend_Shapes.swift @@ -5,53 +5,66 @@ import AWSSDKSwiftCore extension Comprehend { - public struct BatchDetectDominantLanguageResponse: AWSShape { + public struct PartOfSpeechTag: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ErrorList", required: true, type: .list), - AWSShapeMember(label: "ResultList", required: true, type: .list) + AWSShapeMember(label: "Score", required: false, type: .float), + AWSShapeMember(label: "Tag", required: false, type: .enum) ] - /// 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. - public let errorList: [BatchItemError] - /// 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. - public let resultList: [BatchDetectDominantLanguageItemResult] + /// The confidence that Amazon Comprehend has that the part of speech was correctly identified. + public let score: Float? + /// Identifies the part of speech that the token represents. + public let tag: PartOfSpeechTagType? - public init(errorList: [BatchItemError], resultList: [BatchDetectDominantLanguageItemResult]) { - self.errorList = errorList - self.resultList = resultList + public init(score: Float? = nil, tag: PartOfSpeechTagType? = nil) { + self.score = score + self.tag = tag } private enum CodingKeys: String, CodingKey { - case errorList = "ErrorList" - case resultList = "ResultList" + case score = "Score" + case tag = "Tag" } } - public enum JobStatus: String, CustomStringConvertible, Codable { - case submitted = "SUBMITTED" - case inProgress = "IN_PROGRESS" - case completed = "COMPLETED" - case failed = "FAILED" - public var description: String { return self.rawValue } + public struct ListKeyPhrasesDetectionJobsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "KeyPhrasesDetectionJobPropertiesList", required: false, type: .list) + ] + /// Identifies the next page of results to return. + public let nextToken: String? + /// A list containing the properties of each job that is returned. + public let keyPhrasesDetectionJobPropertiesList: [KeyPhrasesDetectionJobProperties]? + + public init(nextToken: String? = nil, keyPhrasesDetectionJobPropertiesList: [KeyPhrasesDetectionJobProperties]? = nil) { + self.nextToken = nextToken + self.keyPhrasesDetectionJobPropertiesList = keyPhrasesDetectionJobPropertiesList + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case keyPhrasesDetectionJobPropertiesList = "KeyPhrasesDetectionJobPropertiesList" + } } - public struct BatchDetectSentimentResponse: AWSShape { + public struct StartDominantLanguageDetectionJobResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ErrorList", required: true, type: .list), - AWSShapeMember(label: "ResultList", required: true, type: .list) + AWSShapeMember(label: "JobId", required: false, type: .string), + AWSShapeMember(label: "JobStatus", required: false, type: .enum) ] - /// 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. - public let errorList: [BatchItemError] - /// 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. - public let resultList: [BatchDetectSentimentItemResult] + /// The identifier generated for the job. To get the status of a job, use this identifier with the operation. + public let jobId: String? + /// 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. + public let jobStatus: JobStatus? - public init(errorList: [BatchItemError], resultList: [BatchDetectSentimentItemResult]) { - self.errorList = errorList - self.resultList = resultList + public init(jobId: String? = nil, jobStatus: JobStatus? = nil) { + self.jobId = jobId + self.jobStatus = jobStatus } private enum CodingKeys: String, CodingKey { - case errorList = "ErrorList" - case resultList = "ResultList" + case jobId = "JobId" + case jobStatus = "JobStatus" } } @@ -64,9 +77,9 @@ extension Comprehend { AWSShapeMember(label: "NumberOfTopics", required: false, type: .integer), AWSShapeMember(label: "InputDataConfig", required: true, type: .structure) ] - /// The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. + /// 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. public let dataAccessRoleArn: String - /// Specifies where to send the output files. + /// 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 public let outputDataConfig: OutputDataConfig /// The identifier of the job. public let jobName: String? @@ -101,7 +114,7 @@ extension Comprehend { AWSShapeMember(label: "LanguageCode", required: true, type: .enum), AWSShapeMember(label: "Text", required: true, type: .string) ] - /// The RFC 5646 language code of the input text. If the request does not specify the language code, the service detects the dominant language. If you specify a language code that the service does not support, it returns UnsupportedLanguageException exception. For more information about RFC 5646, see Tags for Identifying Languages on the IETF Tools web site. + /// The language of the input documents. You can specify English ("en") or Spanish ("es"). All documents must be in the same language. public let languageCode: LanguageCode /// A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters. public let text: String @@ -117,12 +130,28 @@ extension Comprehend { } } + public struct DetectSyntaxResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SyntaxTokens", required: false, type: .list) + ] + /// 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. + public let syntaxTokens: [SyntaxToken]? + + public init(syntaxTokens: [SyntaxToken]? = nil) { + self.syntaxTokens = syntaxTokens + } + + private enum CodingKeys: String, CodingKey { + case syntaxTokens = "SyntaxTokens" + } + } + public struct DetectSentimentRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LanguageCode", required: true, type: .enum), AWSShapeMember(label: "Text", required: true, type: .string) ] - /// The RFC 5646 language code for the input text. If you don't specify a language code, Amazon Comprehend detects the dominant language. If you specify the code for a language that Amazon Comprehend does not support, it returns and UnsupportedLanguageException. For more information about RFC 5646, see Tags for Identifying Languages on the IETF Tools web site. + /// The language of the input documents. You can specify English ("en") or Spanish ("es"). All documents must be in the same language. public let languageCode: LanguageCode /// A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters. public let text: String @@ -138,33 +167,11 @@ extension Comprehend { } } - public struct DetectKeyPhrasesResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "KeyPhrases", required: false, type: .list) - ] - /// 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. - public let keyPhrases: [KeyPhrase]? - - public init(keyPhrases: [KeyPhrase]? = nil) { - self.keyPhrases = keyPhrases - } - - private enum CodingKeys: String, CodingKey { - case keyPhrases = "KeyPhrases" - } - } - - public enum LanguageCode: String, CustomStringConvertible, Codable { - case en = "en" - case es = "es" - public var description: String { return self.rawValue } - } - - public struct DescribeTopicsDetectionJobRequest: AWSShape { + public struct StopSentimentDetectionJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "JobId", required: true, type: .string) ] - /// The identifier assigned by the user to the detection job. + /// The identifier of the sentiment detection job to stop. public let jobId: String public init(jobId: String) { @@ -176,25 +183,10 @@ extension Comprehend { } } - public struct DetectSentimentResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Sentiment", required: false, type: .enum), - AWSShapeMember(label: "SentimentScore", required: false, type: .structure) - ] - /// The inferred sentiment that Amazon Comprehend has the highest level of confidence in. - public let sentiment: SentimentType? - /// An object that lists the sentiments, and their corresponding confidence levels. - public let sentimentScore: SentimentScore? - - public init(sentiment: SentimentType? = nil, sentimentScore: SentimentScore? = nil) { - self.sentiment = sentiment - self.sentimentScore = sentimentScore - } - - private enum CodingKeys: String, CodingKey { - case sentiment = "Sentiment" - case sentimentScore = "SentimentScore" - } + public enum LanguageCode: String, CustomStringConvertible, Codable { + case en = "en" + case es = "es" + public var description: String { return self.rawValue } } public struct StartTopicsDetectionJobResponse: AWSShape { @@ -239,28 +231,6 @@ extension Comprehend { } } - public struct DescribeTopicsDetectionJobResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TopicsDetectionJobProperties", required: false, type: .structure) - ] - /// The list of properties for the requested job. - public let topicsDetectionJobProperties: TopicsDetectionJobProperties? - - public init(topicsDetectionJobProperties: TopicsDetectionJobProperties? = nil) { - self.topicsDetectionJobProperties = topicsDetectionJobProperties - } - - private enum CodingKeys: String, CodingKey { - case topicsDetectionJobProperties = "TopicsDetectionJobProperties" - } - } - - public enum InputFormat: String, CustomStringConvertible, Codable { - case oneDocPerFile = "ONE_DOC_PER_FILE" - case oneDocPerLine = "ONE_DOC_PER_LINE" - public var description: String { return self.rawValue } - } - public struct Entity: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Score", required: false, type: .float), @@ -297,13 +267,34 @@ extension Comprehend { } } + public struct BatchDetectSyntaxRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LanguageCode", required: true, type: .enum), + AWSShapeMember(label: "TextList", required: true, type: .list) + ] + /// The language of the input documents. You can specify English ("en") or Spanish ("es"). All documents must be in the same language. + public let languageCode: SyntaxLanguageCode + /// 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. + public let textList: [String] + + public init(languageCode: SyntaxLanguageCode, textList: [String]) { + self.languageCode = languageCode + self.textList = textList + } + + private enum CodingKeys: String, CodingKey { + case languageCode = "LanguageCode" + case textList = "TextList" + } + } + public struct ListTopicsDetectionJobsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxResults", required: false, type: .integer), AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "Filter", required: false, type: .structure) ] - /// The maximum number of results to return in each page. + /// The maximum number of results to return in each page. The default is 100. public let maxResults: Int32? /// Identifies the next page of results to return. public let nextToken: String? @@ -323,45 +314,49 @@ extension Comprehend { } } - public struct TopicsDetectionJobProperties: AWSShape { + public struct SentimentDetectionJobProperties: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "OutputDataConfig", required: false, type: .structure), AWSShapeMember(label: "Message", required: false, type: .string), + AWSShapeMember(label: "LanguageCode", required: false, type: .enum), AWSShapeMember(label: "InputDataConfig", required: false, type: .structure), + AWSShapeMember(label: "DataAccessRoleArn", required: false, type: .string), AWSShapeMember(label: "EndTime", required: false, type: .timestamp), AWSShapeMember(label: "JobName", required: false, type: .string), AWSShapeMember(label: "JobStatus", required: false, type: .enum), - AWSShapeMember(label: "NumberOfTopics", required: false, type: .integer), AWSShapeMember(label: "JobId", required: false, type: .string), AWSShapeMember(label: "SubmitTime", required: false, type: .timestamp) ] - /// The output data configuration supplied when you created the topic detection job. + /// The output data configuration that you supplied when you created the sentiment detection job. public let outputDataConfig: OutputDataConfig? - /// A description for the status of a job. + /// A description of the status of a job. public let message: String? - /// The input data configuration supplied when you created the topic detection job. + /// The language code of the input documents. + public let languageCode: LanguageCode? + /// The input data configuration that you supplied when you created the sentiment detection job. public let inputDataConfig: InputDataConfig? - /// The time that the topic detection job was completed. + /// The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data. + public let dataAccessRoleArn: String? + /// The time that the sentiment detection job ended. public let endTime: TimeStamp? - /// The name of the topic detection job. + /// The name that you assigned to the sentiment detection job public let jobName: String? - /// The current status of the topic detection job. If the status is Failed, the reason for the failure is shown in the Message field. + /// The current status of the sentiment detection job. If the status is FAILED, the Messages field shows the reason for the failure. public let jobStatus: JobStatus? - /// The number of topics to detect supplied when you created the topic detection job. The default is 10. - public let numberOfTopics: Int32? - /// The identifier assigned to the topic detection job. + /// The identifier assigned to the sentiment detection job. public let jobId: String? - /// The time that the topic detection job was submitted for processing. + /// The time that the sentiment detection job was submitted for processing. public let submitTime: TimeStamp? - public init(outputDataConfig: OutputDataConfig? = nil, message: String? = nil, inputDataConfig: InputDataConfig? = nil, endTime: TimeStamp? = nil, jobName: String? = nil, jobStatus: JobStatus? = nil, numberOfTopics: Int32? = nil, jobId: String? = nil, submitTime: TimeStamp? = nil) { + public init(outputDataConfig: OutputDataConfig? = nil, message: String? = nil, languageCode: LanguageCode? = nil, inputDataConfig: InputDataConfig? = nil, dataAccessRoleArn: String? = nil, endTime: TimeStamp? = nil, jobName: String? = nil, jobStatus: JobStatus? = nil, jobId: String? = nil, submitTime: TimeStamp? = nil) { self.outputDataConfig = outputDataConfig self.message = message + self.languageCode = languageCode self.inputDataConfig = inputDataConfig + self.dataAccessRoleArn = dataAccessRoleArn self.endTime = endTime self.jobName = jobName self.jobStatus = jobStatus - self.numberOfTopics = numberOfTopics self.jobId = jobId self.submitTime = submitTime } @@ -369,44 +364,76 @@ extension Comprehend { private enum CodingKeys: String, CodingKey { case outputDataConfig = "OutputDataConfig" case message = "Message" + case languageCode = "LanguageCode" case inputDataConfig = "InputDataConfig" + case dataAccessRoleArn = "DataAccessRoleArn" case endTime = "EndTime" case jobName = "JobName" case jobStatus = "JobStatus" - case numberOfTopics = "NumberOfTopics" case jobId = "JobId" case submitTime = "SubmitTime" } } - public struct SentimentScore: AWSShape { + public struct DetectSyntaxRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Negative", required: false, type: .float), - AWSShapeMember(label: "Neutral", required: false, type: .float), - AWSShapeMember(label: "Mixed", required: false, type: .float), - AWSShapeMember(label: "Positive", required: false, type: .float) + AWSShapeMember(label: "LanguageCode", required: true, type: .enum), + AWSShapeMember(label: "Text", required: true, type: .string) ] - /// The level of confidence that Amazon Comprehend has in the accuracy of its detection of the NEGATIVE sentiment. - public let negative: Float? - /// The level of confidence that Amazon Comprehend has in the accuracy of its detection of the NEUTRAL sentiment. - public let neutral: Float? - /// The level of confidence that Amazon Comprehend has in the accuracy of its detection of the MIXED sentiment. - public let mixed: Float? - /// The level of confidence that Amazon Comprehend has in the accuracy of its detection of the POSITIVE sentiment. - public let positive: Float? + /// The language code of the input documents. You can specify English ("en") or Spanish ("es"). + public let languageCode: SyntaxLanguageCode + /// A UTF-8 string. Each string must contain fewer that 5,000 bytes of UTF encoded characters. + public let text: String - public init(negative: Float? = nil, neutral: Float? = nil, mixed: Float? = nil, positive: Float? = nil) { - self.negative = negative - self.neutral = neutral - self.mixed = mixed - self.positive = positive + public init(languageCode: SyntaxLanguageCode, text: String) { + self.languageCode = languageCode + self.text = text } private enum CodingKeys: String, CodingKey { - case negative = "Negative" - case neutral = "Neutral" - case mixed = "Mixed" - case positive = "Positive" + case languageCode = "LanguageCode" + case text = "Text" + } + } + + public struct StartSentimentDetectionJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DataAccessRoleArn", required: true, type: .string), + AWSShapeMember(label: "OutputDataConfig", required: true, type: .structure), + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "ClientRequestToken", required: false, type: .string), + AWSShapeMember(label: "LanguageCode", required: true, type: .enum), + AWSShapeMember(label: "InputDataConfig", required: true, type: .structure) + ] + /// 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. + public let dataAccessRoleArn: String + /// Specifies where to send the output files. + public let outputDataConfig: OutputDataConfig + /// The identifier of the job. + public let jobName: String? + /// A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one. + public let clientRequestToken: String? + /// The language of the input documents. You can specify English ("en") or Spanish ("es"). All documents must be in the same language. + public let languageCode: LanguageCode + /// Specifies the format and location of the input data for the job. + public let inputDataConfig: InputDataConfig + + public init(dataAccessRoleArn: String, outputDataConfig: OutputDataConfig, jobName: String? = nil, clientRequestToken: String? = nil, languageCode: LanguageCode, inputDataConfig: InputDataConfig) { + self.dataAccessRoleArn = dataAccessRoleArn + self.outputDataConfig = outputDataConfig + self.jobName = jobName + self.clientRequestToken = clientRequestToken + self.languageCode = languageCode + self.inputDataConfig = inputDataConfig + } + + private enum CodingKeys: String, CodingKey { + case dataAccessRoleArn = "DataAccessRoleArn" + case outputDataConfig = "OutputDataConfig" + case jobName = "JobName" + case clientRequestToken = "ClientRequestToken" + case languageCode = "LanguageCode" + case inputDataConfig = "InputDataConfig" } } @@ -431,50 +458,76 @@ extension Comprehend { } } - public struct KeyPhrase: AWSShape { + public struct BatchDetectDominantLanguageRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Score", required: false, type: .float), - AWSShapeMember(label: "EndOffset", required: false, type: .integer), - AWSShapeMember(label: "BeginOffset", required: false, type: .integer), - AWSShapeMember(label: "Text", required: false, type: .string) + AWSShapeMember(label: "TextList", required: true, type: .list) ] - /// The level of confidence that Amazon Comprehend has in the accuracy of the detection. - public let score: Float? - /// 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. - public let endOffset: Int32? - /// 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. - public let beginOffset: Int32? - /// The text of a key noun phrase. - public let text: String? + /// 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. + public let textList: [String] - public init(score: Float? = nil, endOffset: Int32? = nil, beginOffset: Int32? = nil, text: String? = nil) { - self.score = score - self.endOffset = endOffset - self.beginOffset = beginOffset - self.text = text + public init(textList: [String]) { + self.textList = textList } private enum CodingKeys: String, CodingKey { - case score = "Score" - case endOffset = "EndOffset" - case beginOffset = "BeginOffset" - case text = "Text" + case textList = "TextList" } } - public struct BatchDetectDominantLanguageRequest: AWSShape { + public struct StartKeyPhrasesDetectionJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TextList", required: true, type: .list) + AWSShapeMember(label: "DataAccessRoleArn", required: true, type: .string), + AWSShapeMember(label: "OutputDataConfig", required: true, type: .structure), + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "ClientRequestToken", required: false, type: .string), + AWSShapeMember(label: "LanguageCode", required: true, type: .enum), + AWSShapeMember(label: "InputDataConfig", required: true, type: .structure) ] - /// 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. - public let textList: [String] + /// 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. + public let dataAccessRoleArn: String + /// Specifies where to send the output files. + public let outputDataConfig: OutputDataConfig + /// The identifier of the job. + public let jobName: String? + /// A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one. + public let clientRequestToken: String? + /// The language of the input documents. You can specify English ("en") or Spanish ("es"). All documents must be in the same language. + public let languageCode: LanguageCode + /// Specifies the format and location of the input data for the job. + public let inputDataConfig: InputDataConfig - public init(textList: [String]) { - self.textList = textList + public init(dataAccessRoleArn: String, outputDataConfig: OutputDataConfig, jobName: String? = nil, clientRequestToken: String? = nil, languageCode: LanguageCode, inputDataConfig: InputDataConfig) { + self.dataAccessRoleArn = dataAccessRoleArn + self.outputDataConfig = outputDataConfig + self.jobName = jobName + self.clientRequestToken = clientRequestToken + self.languageCode = languageCode + self.inputDataConfig = inputDataConfig } private enum CodingKeys: String, CodingKey { - case textList = "TextList" + case dataAccessRoleArn = "DataAccessRoleArn" + case outputDataConfig = "OutputDataConfig" + case jobName = "JobName" + case clientRequestToken = "ClientRequestToken" + case languageCode = "LanguageCode" + case inputDataConfig = "InputDataConfig" + } + } + + public struct OutputDataConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "S3Uri", required: true, type: .string) + ] + /// 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. + public let s3Uri: String + + public init(s3Uri: String) { + self.s3Uri = s3Uri + } + + private enum CodingKeys: String, CodingKey { + case s3Uri = "S3Uri" } } @@ -484,83 +537,1158 @@ extension Comprehend { AWSShapeMember(label: "Index", required: false, type: .integer), AWSShapeMember(label: "ErrorCode", required: false, type: .string) ] - /// A text description of the error. - public let errorMessage: String? - /// The zero-based index of the document in the input list. - public let index: Int32? - /// The numeric error code of the error. - public let errorCode: String? + /// A text description of the error. + public let errorMessage: String? + /// The zero-based index of the document in the input list. + public let index: Int32? + /// The numeric error code of the error. + public let errorCode: String? + + public init(errorMessage: String? = nil, index: Int32? = nil, errorCode: String? = nil) { + self.errorMessage = errorMessage + self.index = index + self.errorCode = errorCode + } + + private enum CodingKeys: String, CodingKey { + case errorMessage = "ErrorMessage" + case index = "Index" + case errorCode = "ErrorCode" + } + } + + public struct TopicsDetectionJobFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SubmitTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "JobStatus", required: false, type: .enum), + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "SubmitTimeAfter", required: false, type: .timestamp) + ] + /// 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. + public let submitTimeBefore: TimeStamp? + /// Filters the list of topic detection jobs based on job status. Returns only jobs with the specified status. + public let jobStatus: JobStatus? + public let jobName: String? + /// 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. + public let submitTimeAfter: TimeStamp? + + public init(submitTimeBefore: TimeStamp? = nil, jobStatus: JobStatus? = nil, jobName: String? = nil, submitTimeAfter: TimeStamp? = nil) { + self.submitTimeBefore = submitTimeBefore + self.jobStatus = jobStatus + self.jobName = jobName + self.submitTimeAfter = submitTimeAfter + } + + private enum CodingKeys: String, CodingKey { + case submitTimeBefore = "SubmitTimeBefore" + case jobStatus = "JobStatus" + case jobName = "JobName" + case submitTimeAfter = "SubmitTimeAfter" + } + } + + public struct DescribeKeyPhrasesDetectionJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: true, type: .string) + ] + /// The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response. + public let jobId: String + + public init(jobId: String) { + self.jobId = jobId + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + } + } + + public struct StartDominantLanguageDetectionJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DataAccessRoleArn", required: true, type: .string), + AWSShapeMember(label: "OutputDataConfig", required: true, type: .structure), + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "ClientRequestToken", required: false, type: .string), + AWSShapeMember(label: "InputDataConfig", required: true, type: .structure) + ] + /// 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. + public let dataAccessRoleArn: String + /// Specifies where to send the output files. + public let outputDataConfig: OutputDataConfig + /// An identifier for the job. + public let jobName: String? + /// A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one. + public let clientRequestToken: String? + /// Specifies the format and location of the input data for the job. + public let inputDataConfig: InputDataConfig + + public init(dataAccessRoleArn: String, outputDataConfig: OutputDataConfig, jobName: String? = nil, clientRequestToken: String? = nil, inputDataConfig: InputDataConfig) { + self.dataAccessRoleArn = dataAccessRoleArn + self.outputDataConfig = outputDataConfig + self.jobName = jobName + self.clientRequestToken = clientRequestToken + self.inputDataConfig = inputDataConfig + } + + private enum CodingKeys: String, CodingKey { + case dataAccessRoleArn = "DataAccessRoleArn" + case outputDataConfig = "OutputDataConfig" + case jobName = "JobName" + case clientRequestToken = "ClientRequestToken" + case inputDataConfig = "InputDataConfig" + } + } + + public struct DetectDominantLanguageResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Languages", required: false, type: .list) + ] + /// 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. + public let languages: [DominantLanguage]? + + public init(languages: [DominantLanguage]? = nil) { + self.languages = languages + } + + private enum CodingKeys: String, CodingKey { + case languages = "Languages" + } + } + + public struct ListKeyPhrasesDetectionJobsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filter", required: false, type: .structure) + ] + /// The maximum number of results to return in each page. The default is 100. + public let maxResults: Int32? + /// Identifies the next page of results to return. + public let nextToken: String? + /// 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. + public let filter: KeyPhrasesDetectionJobFilter? + + public init(maxResults: Int32? = nil, nextToken: String? = nil, filter: KeyPhrasesDetectionJobFilter? = nil) { + self.maxResults = maxResults + self.nextToken = nextToken + self.filter = filter + } + + private enum CodingKeys: String, CodingKey { + case maxResults = "MaxResults" + case nextToken = "NextToken" + case filter = "Filter" + } + } + + public struct BatchDetectSyntaxItemResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Index", required: false, type: .integer), + AWSShapeMember(label: "SyntaxTokens", required: false, type: .list) + ] + /// The zero-based index of the document in the input list. + public let index: Int32? + /// The syntax tokens for the words in the document, one token for each word. + public let syntaxTokens: [SyntaxToken]? + + public init(index: Int32? = nil, syntaxTokens: [SyntaxToken]? = nil) { + self.index = index + self.syntaxTokens = syntaxTokens + } + + private enum CodingKeys: String, CodingKey { + case index = "Index" + case syntaxTokens = "SyntaxTokens" + } + } + + public struct DetectDominantLanguageRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Text", required: true, type: .string) + ] + /// 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. + public let text: String + + public init(text: String) { + self.text = text + } + + private enum CodingKeys: String, CodingKey { + case text = "Text" + } + } + + public struct StopDominantLanguageDetectionJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: true, type: .string) + ] + /// The identifier of the dominant language detection job to stop. + public let jobId: String + + public init(jobId: String) { + self.jobId = jobId + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + } + } + + public struct DetectEntitiesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Entities", required: false, type: .list) + ] + /// 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. + public let entities: [Entity]? + + public init(entities: [Entity]? = nil) { + self.entities = entities + } + + private enum CodingKeys: String, CodingKey { + case entities = "Entities" + } + } + + public struct BatchDetectEntitiesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LanguageCode", required: true, type: .enum), + AWSShapeMember(label: "TextList", required: true, type: .list) + ] + /// The language of the input documents. You can specify English ("en") or Spanish ("es"). All documents must be in the same language. + public let languageCode: LanguageCode + /// 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. + public let textList: [String] + + public init(languageCode: LanguageCode, textList: [String]) { + self.languageCode = languageCode + self.textList = textList + } + + private enum CodingKeys: String, CodingKey { + case languageCode = "LanguageCode" + case textList = "TextList" + } + } + + public struct StopSentimentDetectionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: false, type: .string), + AWSShapeMember(label: "JobStatus", required: false, type: .enum) + ] + /// The identifier of the sentiment detection job to stop. + public let jobId: String? + /// Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopSentimentDetectionJob operation. + public let jobStatus: JobStatus? + + public init(jobId: String? = nil, jobStatus: JobStatus? = nil) { + self.jobId = jobId + self.jobStatus = jobStatus + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + case jobStatus = "JobStatus" + } + } + + public struct DescribeEntitiesDetectionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EntitiesDetectionJobProperties", required: false, type: .structure) + ] + /// An object that contains the properties associated with an entities detection job. + public let entitiesDetectionJobProperties: EntitiesDetectionJobProperties? + + public init(entitiesDetectionJobProperties: EntitiesDetectionJobProperties? = nil) { + self.entitiesDetectionJobProperties = entitiesDetectionJobProperties + } + + private enum CodingKeys: String, CodingKey { + case entitiesDetectionJobProperties = "EntitiesDetectionJobProperties" + } + } + + public struct ListDominantLanguageDetectionJobsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filter", required: false, type: .structure) + ] + /// The maximum number of results to return in each page. The default is 100. + public let maxResults: Int32? + /// Identifies the next page of results to return. + public let nextToken: String? + /// 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. + public let filter: DominantLanguageDetectionJobFilter? + + public init(maxResults: Int32? = nil, nextToken: String? = nil, filter: DominantLanguageDetectionJobFilter? = nil) { + self.maxResults = maxResults + self.nextToken = nextToken + self.filter = filter + } + + private enum CodingKeys: String, CodingKey { + case maxResults = "MaxResults" + case nextToken = "NextToken" + case filter = "Filter" + } + } + + public struct KeyPhrasesDetectionJobProperties: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OutputDataConfig", required: false, type: .structure), + AWSShapeMember(label: "Message", required: false, type: .string), + AWSShapeMember(label: "LanguageCode", required: false, type: .enum), + AWSShapeMember(label: "InputDataConfig", required: false, type: .structure), + AWSShapeMember(label: "DataAccessRoleArn", required: false, type: .string), + AWSShapeMember(label: "EndTime", required: false, type: .timestamp), + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "JobStatus", required: false, type: .enum), + AWSShapeMember(label: "JobId", required: false, type: .string), + AWSShapeMember(label: "SubmitTime", required: false, type: .timestamp) + ] + /// The output data configuration that you supplied when you created the key phrases detection job. + public let outputDataConfig: OutputDataConfig? + /// A description of the status of a job. + public let message: String? + /// The language code of the input documents. + public let languageCode: LanguageCode? + /// The input data configuration that you supplied when you created the key phrases detection job. + public let inputDataConfig: InputDataConfig? + /// The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data. + public let dataAccessRoleArn: String? + /// The time that the key phrases detection job completed. + public let endTime: TimeStamp? + /// The name that you assigned the key phrases detection job. + public let jobName: String? + /// The current status of the key phrases detection job. If the status is FAILED, the Message field shows the reason for the failure. + public let jobStatus: JobStatus? + /// The identifier assigned to the key phrases detection job. + public let jobId: String? + /// The time that the key phrases detection job was submitted for processing. + public let submitTime: TimeStamp? + + public init(outputDataConfig: OutputDataConfig? = nil, message: String? = nil, languageCode: LanguageCode? = nil, inputDataConfig: InputDataConfig? = nil, dataAccessRoleArn: String? = nil, endTime: TimeStamp? = nil, jobName: String? = nil, jobStatus: JobStatus? = nil, jobId: String? = nil, submitTime: TimeStamp? = nil) { + self.outputDataConfig = outputDataConfig + self.message = message + self.languageCode = languageCode + self.inputDataConfig = inputDataConfig + self.dataAccessRoleArn = dataAccessRoleArn + self.endTime = endTime + self.jobName = jobName + self.jobStatus = jobStatus + self.jobId = jobId + self.submitTime = submitTime + } + + private enum CodingKeys: String, CodingKey { + case outputDataConfig = "OutputDataConfig" + case message = "Message" + case languageCode = "LanguageCode" + case inputDataConfig = "InputDataConfig" + case dataAccessRoleArn = "DataAccessRoleArn" + case endTime = "EndTime" + case jobName = "JobName" + case jobStatus = "JobStatus" + case jobId = "JobId" + case submitTime = "SubmitTime" + } + } + + public struct ListSentimentDetectionJobsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "SentimentDetectionJobPropertiesList", required: false, type: .list) + ] + /// Identifies the next page of results to return. + public let nextToken: String? + /// A list containing the properties of each job that is returned. + public let sentimentDetectionJobPropertiesList: [SentimentDetectionJobProperties]? + + public init(nextToken: String? = nil, sentimentDetectionJobPropertiesList: [SentimentDetectionJobProperties]? = nil) { + self.nextToken = nextToken + self.sentimentDetectionJobPropertiesList = sentimentDetectionJobPropertiesList + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case sentimentDetectionJobPropertiesList = "SentimentDetectionJobPropertiesList" + } + } + + public struct BatchDetectDominantLanguageResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ErrorList", required: true, type: .list), + AWSShapeMember(label: "ResultList", required: true, type: .list) + ] + /// 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. + public let errorList: [BatchItemError] + /// 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. + public let resultList: [BatchDetectDominantLanguageItemResult] + + public init(errorList: [BatchItemError], resultList: [BatchDetectDominantLanguageItemResult]) { + self.errorList = errorList + self.resultList = resultList + } + + private enum CodingKeys: String, CodingKey { + case errorList = "ErrorList" + case resultList = "ResultList" + } + } + + public struct StopDominantLanguageDetectionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: false, type: .string), + AWSShapeMember(label: "JobStatus", required: false, type: .enum) + ] + /// The identifier of the dominant language detection job to stop. + public let jobId: String? + /// Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopDominantLanguageDetectionJob operation. + public let jobStatus: JobStatus? + + public init(jobId: String? = nil, jobStatus: JobStatus? = nil) { + self.jobId = jobId + self.jobStatus = jobStatus + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + case jobStatus = "JobStatus" + } + } + + public enum JobStatus: String, CustomStringConvertible, Codable { + case submitted = "SUBMITTED" + case inProgress = "IN_PROGRESS" + case completed = "COMPLETED" + case failed = "FAILED" + case stopRequested = "STOP_REQUESTED" + case stopped = "STOPPED" + public var description: String { return self.rawValue } + } + + public struct BatchDetectSentimentResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ErrorList", required: true, type: .list), + AWSShapeMember(label: "ResultList", required: true, type: .list) + ] + /// 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. + public let errorList: [BatchItemError] + /// 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. + public let resultList: [BatchDetectSentimentItemResult] + + public init(errorList: [BatchItemError], resultList: [BatchDetectSentimentItemResult]) { + self.errorList = errorList + self.resultList = resultList + } + + private enum CodingKeys: String, CodingKey { + case errorList = "ErrorList" + case resultList = "ResultList" + } + } + + public struct DescribeKeyPhrasesDetectionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "KeyPhrasesDetectionJobProperties", required: false, type: .structure) + ] + /// An object that contains the properties associated with a key phrases detection job. + public let keyPhrasesDetectionJobProperties: KeyPhrasesDetectionJobProperties? + + public init(keyPhrasesDetectionJobProperties: KeyPhrasesDetectionJobProperties? = nil) { + self.keyPhrasesDetectionJobProperties = keyPhrasesDetectionJobProperties + } + + private enum CodingKeys: String, CodingKey { + case keyPhrasesDetectionJobProperties = "KeyPhrasesDetectionJobProperties" + } + } + + public struct StopKeyPhrasesDetectionJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: true, type: .string) + ] + /// The identifier of the key phrases detection job to stop. + public let jobId: String + + public init(jobId: String) { + self.jobId = jobId + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + } + } + + public struct DescribeSentimentDetectionJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: true, type: .string) + ] + /// The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response. + public let jobId: String + + public init(jobId: String) { + self.jobId = jobId + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + } + } + + public struct StartSentimentDetectionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: false, type: .string), + AWSShapeMember(label: "JobStatus", required: false, type: .enum) + ] + /// The identifier generated for the job. To get the status of a job, use this identifier with the operation. + public let jobId: String? + /// 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. + public let jobStatus: JobStatus? + + public init(jobId: String? = nil, jobStatus: JobStatus? = nil) { + self.jobId = jobId + self.jobStatus = jobStatus + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + case jobStatus = "JobStatus" + } + } + + public struct StopEntitiesDetectionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: false, type: .string), + AWSShapeMember(label: "JobStatus", required: false, type: .enum) + ] + /// The identifier of the entities detection job to stop. + public let jobId: String? + /// Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopEntitiesDetectionJob operation. + public let jobStatus: JobStatus? + + public init(jobId: String? = nil, jobStatus: JobStatus? = nil) { + self.jobId = jobId + self.jobStatus = jobStatus + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + case jobStatus = "JobStatus" + } + } + + public struct SyntaxToken: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PartOfSpeech", required: false, type: .structure), + AWSShapeMember(label: "TokenId", required: false, type: .integer), + AWSShapeMember(label: "EndOffset", required: false, type: .integer), + AWSShapeMember(label: "BeginOffset", required: false, type: .integer), + AWSShapeMember(label: "Text", required: false, type: .string) + ] + /// 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. + public let partOfSpeech: PartOfSpeechTag? + /// A unique identifier for a token. + public let tokenId: Int32? + /// The zero-based offset from the beginning of the source text to the last character in the word. + public let endOffset: Int32? + /// The zero-based offset from the beginning of the source text to the first character in the word. + public let beginOffset: Int32? + /// The word that was recognized in the source text. + public let text: String? + + public init(partOfSpeech: PartOfSpeechTag? = nil, tokenId: Int32? = nil, endOffset: Int32? = nil, beginOffset: Int32? = nil, text: String? = nil) { + self.partOfSpeech = partOfSpeech + self.tokenId = tokenId + self.endOffset = endOffset + self.beginOffset = beginOffset + self.text = text + } + + private enum CodingKeys: String, CodingKey { + case partOfSpeech = "PartOfSpeech" + case tokenId = "TokenId" + case endOffset = "EndOffset" + case beginOffset = "BeginOffset" + case text = "Text" + } + } + + public struct DetectKeyPhrasesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "KeyPhrases", required: false, type: .list) + ] + /// 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. + public let keyPhrases: [KeyPhrase]? + + public init(keyPhrases: [KeyPhrase]? = nil) { + self.keyPhrases = keyPhrases + } + + private enum CodingKeys: String, CodingKey { + case keyPhrases = "KeyPhrases" + } + } + + public struct SentimentDetectionJobFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SubmitTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "JobStatus", required: false, type: .enum), + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "SubmitTimeAfter", required: false, type: .timestamp) + ] + /// 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. + public let submitTimeBefore: TimeStamp? + /// Filters the list of jobs based on job status. Returns only jobs with the specified status. + public let jobStatus: JobStatus? + /// Filters on the name of the job. + public let jobName: String? + /// 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. + public let submitTimeAfter: TimeStamp? + + public init(submitTimeBefore: TimeStamp? = nil, jobStatus: JobStatus? = nil, jobName: String? = nil, submitTimeAfter: TimeStamp? = nil) { + self.submitTimeBefore = submitTimeBefore + self.jobStatus = jobStatus + self.jobName = jobName + self.submitTimeAfter = submitTimeAfter + } + + private enum CodingKeys: String, CodingKey { + case submitTimeBefore = "SubmitTimeBefore" + case jobStatus = "JobStatus" + case jobName = "JobName" + case submitTimeAfter = "SubmitTimeAfter" + } + } + + public struct DescribeTopicsDetectionJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: true, type: .string) + ] + /// The identifier assigned by the user to the detection job. + public let jobId: String + + public init(jobId: String) { + self.jobId = jobId + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + } + } + + public struct DescribeDominantLanguageDetectionJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: true, type: .string) + ] + /// The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response. + public let jobId: String + + public init(jobId: String) { + self.jobId = jobId + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + } + } + + public struct DominantLanguageDetectionJobFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SubmitTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "JobStatus", required: false, type: .enum), + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "SubmitTimeAfter", required: false, type: .timestamp) + ] + /// 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. + public let submitTimeBefore: TimeStamp? + /// Filters the list of jobs based on job status. Returns only jobs with the specified status. + public let jobStatus: JobStatus? + /// Filters on the name of the job. + public let jobName: String? + /// 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. + public let submitTimeAfter: TimeStamp? + + public init(submitTimeBefore: TimeStamp? = nil, jobStatus: JobStatus? = nil, jobName: String? = nil, submitTimeAfter: TimeStamp? = nil) { + self.submitTimeBefore = submitTimeBefore + self.jobStatus = jobStatus + self.jobName = jobName + self.submitTimeAfter = submitTimeAfter + } + + private enum CodingKeys: String, CodingKey { + case submitTimeBefore = "SubmitTimeBefore" + case jobStatus = "JobStatus" + case jobName = "JobName" + case submitTimeAfter = "SubmitTimeAfter" + } + } + + public struct DetectSentimentResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Sentiment", required: false, type: .enum), + AWSShapeMember(label: "SentimentScore", required: false, type: .structure) + ] + /// The inferred sentiment that Amazon Comprehend has the highest level of confidence in. + public let sentiment: SentimentType? + /// An object that lists the sentiments, and their corresponding confidence levels. + public let sentimentScore: SentimentScore? + + public init(sentiment: SentimentType? = nil, sentimentScore: SentimentScore? = nil) { + self.sentiment = sentiment + self.sentimentScore = sentimentScore + } + + private enum CodingKeys: String, CodingKey { + case sentiment = "Sentiment" + case sentimentScore = "SentimentScore" + } + } + + public struct ListSentimentDetectionJobsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filter", required: false, type: .structure) + ] + /// The maximum number of results to return in each page. The default is 100. + public let maxResults: Int32? + /// Identifies the next page of results to return. + public let nextToken: String? + /// 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. + public let filter: SentimentDetectionJobFilter? + + public init(maxResults: Int32? = nil, nextToken: String? = nil, filter: SentimentDetectionJobFilter? = nil) { + self.maxResults = maxResults + self.nextToken = nextToken + self.filter = filter + } + + private enum CodingKeys: String, CodingKey { + case maxResults = "MaxResults" + case nextToken = "NextToken" + case filter = "Filter" + } + } + + public struct StopKeyPhrasesDetectionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: false, type: .string), + AWSShapeMember(label: "JobStatus", required: false, type: .enum) + ] + /// The identifier of the key phrases detection job to stop. + public let jobId: String? + /// Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopKeyPhrasesDetectionJob operation. + public let jobStatus: JobStatus? + + public init(jobId: String? = nil, jobStatus: JobStatus? = nil) { + self.jobId = jobId + self.jobStatus = jobStatus + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + case jobStatus = "JobStatus" + } + } + + public struct DescribeDominantLanguageDetectionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DominantLanguageDetectionJobProperties", required: false, type: .structure) + ] + /// An object that contains the properties associated with a dominant language detection job. + public let dominantLanguageDetectionJobProperties: DominantLanguageDetectionJobProperties? + + public init(dominantLanguageDetectionJobProperties: DominantLanguageDetectionJobProperties? = nil) { + self.dominantLanguageDetectionJobProperties = dominantLanguageDetectionJobProperties + } + + private enum CodingKeys: String, CodingKey { + case dominantLanguageDetectionJobProperties = "DominantLanguageDetectionJobProperties" + } + } + + public struct DescribeSentimentDetectionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SentimentDetectionJobProperties", required: false, type: .structure) + ] + /// An object that contains the properties associated with a sentiment detection job. + public let sentimentDetectionJobProperties: SentimentDetectionJobProperties? + + public init(sentimentDetectionJobProperties: SentimentDetectionJobProperties? = nil) { + self.sentimentDetectionJobProperties = sentimentDetectionJobProperties + } + + private enum CodingKeys: String, CodingKey { + case sentimentDetectionJobProperties = "SentimentDetectionJobProperties" + } + } + + public struct ListDominantLanguageDetectionJobsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DominantLanguageDetectionJobPropertiesList", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// A list containing the properties of each job that is returned. + public let dominantLanguageDetectionJobPropertiesList: [DominantLanguageDetectionJobProperties]? + /// Identifies the next page of results to return. + public let nextToken: String? + + public init(dominantLanguageDetectionJobPropertiesList: [DominantLanguageDetectionJobProperties]? = nil, nextToken: String? = nil) { + self.dominantLanguageDetectionJobPropertiesList = dominantLanguageDetectionJobPropertiesList + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case dominantLanguageDetectionJobPropertiesList = "DominantLanguageDetectionJobPropertiesList" + case nextToken = "NextToken" + } + } + + public struct DescribeTopicsDetectionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TopicsDetectionJobProperties", required: false, type: .structure) + ] + /// The list of properties for the requested job. + public let topicsDetectionJobProperties: TopicsDetectionJobProperties? + + public init(topicsDetectionJobProperties: TopicsDetectionJobProperties? = nil) { + self.topicsDetectionJobProperties = topicsDetectionJobProperties + } + + private enum CodingKeys: String, CodingKey { + case topicsDetectionJobProperties = "TopicsDetectionJobProperties" + } + } + + public struct StartKeyPhrasesDetectionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: false, type: .string), + AWSShapeMember(label: "JobStatus", required: false, type: .enum) + ] + /// The identifier generated for the job. To get the status of a job, use this identifier with the operation. + public let jobId: String? + /// 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. + public let jobStatus: JobStatus? + + public init(jobId: String? = nil, jobStatus: JobStatus? = nil) { + self.jobId = jobId + self.jobStatus = jobStatus + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + case jobStatus = "JobStatus" + } + } + + public enum InputFormat: String, CustomStringConvertible, Codable { + case oneDocPerFile = "ONE_DOC_PER_FILE" + case oneDocPerLine = "ONE_DOC_PER_LINE" + public var description: String { return self.rawValue } + } + + public struct DescribeEntitiesDetectionJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: true, type: .string) + ] + /// The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response. + public let jobId: String + + public init(jobId: String) { + self.jobId = jobId + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + } + } + + public struct KeyPhrasesDetectionJobFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SubmitTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "JobStatus", required: false, type: .enum), + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "SubmitTimeAfter", required: false, type: .timestamp) + ] + /// 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. + public let submitTimeBefore: TimeStamp? + /// Filters the list of jobs based on job status. Returns only jobs with the specified status. + public let jobStatus: JobStatus? + /// Filters on the name of the job. + public let jobName: String? + /// 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. + public let submitTimeAfter: TimeStamp? + + public init(submitTimeBefore: TimeStamp? = nil, jobStatus: JobStatus? = nil, jobName: String? = nil, submitTimeAfter: TimeStamp? = nil) { + self.submitTimeBefore = submitTimeBefore + self.jobStatus = jobStatus + self.jobName = jobName + self.submitTimeAfter = submitTimeAfter + } + + private enum CodingKeys: String, CodingKey { + case submitTimeBefore = "SubmitTimeBefore" + case jobStatus = "JobStatus" + case jobName = "JobName" + case submitTimeAfter = "SubmitTimeAfter" + } + } + + public struct ListEntitiesDetectionJobsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "EntitiesDetectionJobPropertiesList", required: false, type: .list) + ] + /// Identifies the next page of results to return. + public let nextToken: String? + /// A list containing the properties of each job that is returned. + public let entitiesDetectionJobPropertiesList: [EntitiesDetectionJobProperties]? + + public init(nextToken: String? = nil, entitiesDetectionJobPropertiesList: [EntitiesDetectionJobProperties]? = nil) { + self.nextToken = nextToken + self.entitiesDetectionJobPropertiesList = entitiesDetectionJobPropertiesList + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case entitiesDetectionJobPropertiesList = "EntitiesDetectionJobPropertiesList" + } + } + + public struct TopicsDetectionJobProperties: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OutputDataConfig", required: false, type: .structure), + AWSShapeMember(label: "Message", required: false, type: .string), + AWSShapeMember(label: "InputDataConfig", required: false, type: .structure), + AWSShapeMember(label: "EndTime", required: false, type: .timestamp), + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "JobStatus", required: false, type: .enum), + AWSShapeMember(label: "NumberOfTopics", required: false, type: .integer), + AWSShapeMember(label: "JobId", required: false, type: .string), + AWSShapeMember(label: "SubmitTime", required: false, type: .timestamp) + ] + /// The output data configuration supplied when you created the topic detection job. + public let outputDataConfig: OutputDataConfig? + /// A description for the status of a job. + public let message: String? + /// The input data configuration supplied when you created the topic detection job. + public let inputDataConfig: InputDataConfig? + /// The time that the topic detection job was completed. + public let endTime: TimeStamp? + /// The name of the topic detection job. + public let jobName: String? + /// The current status of the topic detection job. If the status is Failed, the reason for the failure is shown in the Message field. + public let jobStatus: JobStatus? + /// The number of topics to detect supplied when you created the topic detection job. The default is 10. + public let numberOfTopics: Int32? + /// The identifier assigned to the topic detection job. + public let jobId: String? + /// The time that the topic detection job was submitted for processing. + public let submitTime: TimeStamp? + + public init(outputDataConfig: OutputDataConfig? = nil, message: String? = nil, inputDataConfig: InputDataConfig? = nil, endTime: TimeStamp? = nil, jobName: String? = nil, jobStatus: JobStatus? = nil, numberOfTopics: Int32? = nil, jobId: String? = nil, submitTime: TimeStamp? = nil) { + self.outputDataConfig = outputDataConfig + self.message = message + self.inputDataConfig = inputDataConfig + self.endTime = endTime + self.jobName = jobName + self.jobStatus = jobStatus + self.numberOfTopics = numberOfTopics + self.jobId = jobId + self.submitTime = submitTime + } + + private enum CodingKeys: String, CodingKey { + case outputDataConfig = "OutputDataConfig" + case message = "Message" + case inputDataConfig = "InputDataConfig" + case endTime = "EndTime" + case jobName = "JobName" + case jobStatus = "JobStatus" + case numberOfTopics = "NumberOfTopics" + case jobId = "JobId" + case submitTime = "SubmitTime" + } + } + + public struct BatchDetectSyntaxResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ErrorList", required: true, type: .list), + AWSShapeMember(label: "ResultList", required: true, type: .list) + ] + /// 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. + public let errorList: [BatchItemError] + /// 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. + public let resultList: [BatchDetectSyntaxItemResult] + + public init(errorList: [BatchItemError], resultList: [BatchDetectSyntaxItemResult]) { + self.errorList = errorList + self.resultList = resultList + } + + private enum CodingKeys: String, CodingKey { + case errorList = "ErrorList" + case resultList = "ResultList" + } + } + + public struct SentimentScore: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Negative", required: false, type: .float), + AWSShapeMember(label: "Neutral", required: false, type: .float), + AWSShapeMember(label: "Mixed", required: false, type: .float), + AWSShapeMember(label: "Positive", required: false, type: .float) + ] + /// The level of confidence that Amazon Comprehend has in the accuracy of its detection of the NEGATIVE sentiment. + public let negative: Float? + /// The level of confidence that Amazon Comprehend has in the accuracy of its detection of the NEUTRAL sentiment. + public let neutral: Float? + /// The level of confidence that Amazon Comprehend has in the accuracy of its detection of the MIXED sentiment. + public let mixed: Float? + /// The level of confidence that Amazon Comprehend has in the accuracy of its detection of the POSITIVE sentiment. + public let positive: Float? + + public init(negative: Float? = nil, neutral: Float? = nil, mixed: Float? = nil, positive: Float? = nil) { + self.negative = negative + self.neutral = neutral + self.mixed = mixed + self.positive = positive + } + + private enum CodingKeys: String, CodingKey { + case negative = "Negative" + case neutral = "Neutral" + case mixed = "Mixed" + case positive = "Positive" + } + } + + public struct StartEntitiesDetectionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: false, type: .string), + AWSShapeMember(label: "JobStatus", required: false, type: .enum) + ] + /// The identifier generated for the job. To get the status of job, use this identifier with the operation. + public let jobId: String? + /// 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. + public let jobStatus: JobStatus? - public init(errorMessage: String? = nil, index: Int32? = nil, errorCode: String? = nil) { - self.errorMessage = errorMessage - self.index = index - self.errorCode = errorCode + public init(jobId: String? = nil, jobStatus: JobStatus? = nil) { + self.jobId = jobId + self.jobStatus = jobStatus } private enum CodingKeys: String, CodingKey { - case errorMessage = "ErrorMessage" - case index = "Index" - case errorCode = "ErrorCode" + case jobId = "JobId" + case jobStatus = "JobStatus" } } - public struct OutputDataConfig: AWSShape { + public struct KeyPhrase: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "S3Uri", required: true, type: .string) + AWSShapeMember(label: "Score", required: false, type: .float), + AWSShapeMember(label: "EndOffset", required: false, type: .integer), + AWSShapeMember(label: "BeginOffset", required: false, type: .integer), + AWSShapeMember(label: "Text", required: false, type: .string) ] - /// The Amazon S3 URI 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 service creates an output file called output.tar.gz. It is a compressed archive that contains 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. For more information, see topic-modeling. - public let s3Uri: String + /// The level of confidence that Amazon Comprehend has in the accuracy of the detection. + public let score: Float? + /// 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. + public let endOffset: Int32? + /// 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. + public let beginOffset: Int32? + /// The text of a key noun phrase. + public let text: String? - public init(s3Uri: String) { - self.s3Uri = s3Uri + public init(score: Float? = nil, endOffset: Int32? = nil, beginOffset: Int32? = nil, text: String? = nil) { + self.score = score + self.endOffset = endOffset + self.beginOffset = beginOffset + self.text = text } private enum CodingKeys: String, CodingKey { - case s3Uri = "S3Uri" + case score = "Score" + case endOffset = "EndOffset" + case beginOffset = "BeginOffset" + case text = "Text" } } - public struct TopicsDetectionJobFilter: AWSShape { + public struct EntitiesDetectionJobProperties: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SubmitTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "OutputDataConfig", required: false, type: .structure), + AWSShapeMember(label: "Message", required: false, type: .string), + AWSShapeMember(label: "LanguageCode", required: false, type: .enum), + AWSShapeMember(label: "InputDataConfig", required: false, type: .structure), + AWSShapeMember(label: "DataAccessRoleArn", required: false, type: .string), + AWSShapeMember(label: "EndTime", required: false, type: .timestamp), AWSShapeMember(label: "JobName", required: false, type: .string), AWSShapeMember(label: "JobStatus", required: false, type: .enum), - AWSShapeMember(label: "SubmitTimeAfter", required: false, type: .timestamp) + AWSShapeMember(label: "JobId", required: false, type: .string), + AWSShapeMember(label: "SubmitTime", required: false, type: .timestamp) ] - /// 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. - public let submitTimeBefore: TimeStamp? + /// The output data configuration that you supplied when you created the entities detection job. + public let outputDataConfig: OutputDataConfig? + /// A description of the status of a job. + public let message: String? + /// The language code of the input documents. + public let languageCode: LanguageCode? + /// The input data configuration that you supplied when you created the entities detection job. + public let inputDataConfig: InputDataConfig? + /// The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data. + public let dataAccessRoleArn: String? + /// The time that the entities detection job completed + public let endTime: TimeStamp? + /// The name that you assigned the entities detection job. public let jobName: String? - /// Filters the list of topic detection jobs based on job status. Returns only jobs with the specified status. + /// The current status of the entities detection job. If the status is FAILED, the Message field shows the reason for the failure. public let jobStatus: JobStatus? - /// 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. - public let submitTimeAfter: TimeStamp? + /// The identifier assigned to the entities detection job. + public let jobId: String? + /// The time that the entities detection job was submitted for processing. + public let submitTime: TimeStamp? - public init(submitTimeBefore: TimeStamp? = nil, jobName: String? = nil, jobStatus: JobStatus? = nil, submitTimeAfter: TimeStamp? = nil) { - self.submitTimeBefore = submitTimeBefore + public init(outputDataConfig: OutputDataConfig? = nil, message: String? = nil, languageCode: LanguageCode? = nil, inputDataConfig: InputDataConfig? = nil, dataAccessRoleArn: String? = nil, endTime: TimeStamp? = nil, jobName: String? = nil, jobStatus: JobStatus? = nil, jobId: String? = nil, submitTime: TimeStamp? = nil) { + self.outputDataConfig = outputDataConfig + self.message = message + self.languageCode = languageCode + self.inputDataConfig = inputDataConfig + self.dataAccessRoleArn = dataAccessRoleArn + self.endTime = endTime self.jobName = jobName self.jobStatus = jobStatus - self.submitTimeAfter = submitTimeAfter + self.jobId = jobId + self.submitTime = submitTime } private enum CodingKeys: String, CodingKey { - case submitTimeBefore = "SubmitTimeBefore" + case outputDataConfig = "OutputDataConfig" + case message = "Message" + case languageCode = "LanguageCode" + case inputDataConfig = "InputDataConfig" + case dataAccessRoleArn = "DataAccessRoleArn" + case endTime = "EndTime" case jobName = "JobName" case jobStatus = "JobStatus" - case submitTimeAfter = "SubmitTimeAfter" + case jobId = "JobId" + case submitTime = "SubmitTime" } } public struct BatchDetectKeyPhrasesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LanguageCode", required: true, type: .string), + AWSShapeMember(label: "LanguageCode", required: true, type: .enum), AWSShapeMember(label: "TextList", required: true, type: .list) ] - /// The language of the input documents. All documents must be in the same language. - public let languageCode: String + /// The language of the input documents. You can specify English ("en") or Spanish ("es"). All documents must be in the same language. + public let languageCode: LanguageCode /// 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. public let textList: [String] - public init(languageCode: String, textList: [String]) { + public init(languageCode: LanguageCode, textList: [String]) { self.languageCode = languageCode self.textList = textList } @@ -573,15 +1701,15 @@ extension Comprehend { public struct BatchDetectSentimentRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LanguageCode", required: true, type: .string), + AWSShapeMember(label: "LanguageCode", required: true, type: .enum), AWSShapeMember(label: "TextList", required: true, type: .list) ] - /// The language of the input documents. All documents must be in the same language. - public let languageCode: String + /// The language of the input documents. You can specify English ("en") or Spanish ("es"). All documents must be in the same language. + public let languageCode: LanguageCode /// 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. public let textList: [String] - public init(languageCode: String, textList: [String]) { + public init(languageCode: LanguageCode, textList: [String]) { self.languageCode = languageCode self.textList = textList } @@ -597,7 +1725,7 @@ extension Comprehend { AWSShapeMember(label: "LanguageCode", required: true, type: .enum), AWSShapeMember(label: "Text", required: true, type: .string) ] - /// The RFC 5646 language code for the input text. If you don't specify a language code, Amazon Comprehend detects the dominant language. If you specify the code for a language that Amazon Comprehend does not support, it returns and UnsupportedLanguageException. For more information about RFC 5646, see Tags for Identifying Languages on the IETF Tools web site. + /// The language of the input documents. You can specify English ("en") or Spanish ("es"). All documents must be in the same language. public let languageCode: LanguageCode /// A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters. public let text: String @@ -618,7 +1746,7 @@ extension Comprehend { AWSShapeMember(label: "LanguageCode", required: false, type: .string), AWSShapeMember(label: "Score", required: false, type: .float) ] - /// The RFC 5646 language code for the dominant language. + /// 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. public let languageCode: String? /// The level of confidence that Amazon Comprehend has in the accuracy of the detection. public let score: Float? @@ -647,19 +1775,49 @@ extension Comprehend { public var description: String { return self.rawValue } } - public struct DetectDominantLanguageResponse: AWSShape { + public enum SyntaxLanguageCode: String, CustomStringConvertible, Codable { + case en = "en" + public var description: String { return self.rawValue } + } + + public struct StartEntitiesDetectionJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Languages", required: false, type: .list) + AWSShapeMember(label: "DataAccessRoleArn", required: true, type: .string), + AWSShapeMember(label: "OutputDataConfig", required: true, type: .structure), + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "ClientRequestToken", required: false, type: .string), + AWSShapeMember(label: "LanguageCode", required: true, type: .enum), + AWSShapeMember(label: "InputDataConfig", required: true, type: .structure) ] - /// 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. - public let languages: [DominantLanguage]? + /// 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. + public let dataAccessRoleArn: String + /// Specifies where to send the output files. + public let outputDataConfig: OutputDataConfig + /// The identifier of the job. + public let jobName: String? + /// A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one. + public let clientRequestToken: String? + /// The language of the input documents. You can specify English ("en") or Spanish ("es"). All documents must be in the same language. + public let languageCode: LanguageCode + /// Specifies the format and location of the input data for the job. + public let inputDataConfig: InputDataConfig - public init(languages: [DominantLanguage]? = nil) { - self.languages = languages + public init(dataAccessRoleArn: String, outputDataConfig: OutputDataConfig, jobName: String? = nil, clientRequestToken: String? = nil, languageCode: LanguageCode, inputDataConfig: InputDataConfig) { + self.dataAccessRoleArn = dataAccessRoleArn + self.outputDataConfig = outputDataConfig + self.jobName = jobName + self.clientRequestToken = clientRequestToken + self.languageCode = languageCode + self.inputDataConfig = inputDataConfig } private enum CodingKeys: String, CodingKey { - case languages = "Languages" + case dataAccessRoleArn = "DataAccessRoleArn" + case outputDataConfig = "OutputDataConfig" + case jobName = "JobName" + case clientRequestToken = "ClientRequestToken" + case languageCode = "LanguageCode" + case inputDataConfig = "InputDataConfig" } } @@ -684,56 +1842,81 @@ extension Comprehend { } } - public struct InputDataConfig: AWSShape { + public struct ListEntitiesDetectionJobsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "S3Uri", required: true, type: .string), - AWSShapeMember(label: "InputFormat", required: false, type: .enum) + AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filter", required: false, type: .structure) ] - /// 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. - public let s3Uri: String - /// 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. - public let inputFormat: InputFormat? + /// The maximum number of results to return in each page. The default is 100. + public let maxResults: Int32? + /// Identifies the next page of results to return. + public let nextToken: String? + /// 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. + public let filter: EntitiesDetectionJobFilter? - public init(s3Uri: String, inputFormat: InputFormat? = nil) { - self.s3Uri = s3Uri - self.inputFormat = inputFormat + public init(maxResults: Int32? = nil, nextToken: String? = nil, filter: EntitiesDetectionJobFilter? = nil) { + self.maxResults = maxResults + self.nextToken = nextToken + self.filter = filter } private enum CodingKeys: String, CodingKey { - case s3Uri = "S3Uri" - case inputFormat = "InputFormat" + case maxResults = "MaxResults" + case nextToken = "NextToken" + case filter = "Filter" } } - public struct DetectDominantLanguageRequest: AWSShape { + public struct EntitiesDetectionJobFilter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Text", required: true, type: .string) + AWSShapeMember(label: "SubmitTimeBefore", required: false, type: .timestamp), + AWSShapeMember(label: "JobStatus", required: false, type: .enum), + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "SubmitTimeAfter", required: false, type: .timestamp) ] - /// 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. - public let text: String + /// 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. + public let submitTimeBefore: TimeStamp? + /// Filters the list of jobs based on job status. Returns only jobs with the specified status. + public let jobStatus: JobStatus? + /// Filters on the name of the job. + public let jobName: String? + /// 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. + public let submitTimeAfter: TimeStamp? - public init(text: String) { - self.text = text + public init(submitTimeBefore: TimeStamp? = nil, jobStatus: JobStatus? = nil, jobName: String? = nil, submitTimeAfter: TimeStamp? = nil) { + self.submitTimeBefore = submitTimeBefore + self.jobStatus = jobStatus + self.jobName = jobName + self.submitTimeAfter = submitTimeAfter } private enum CodingKeys: String, CodingKey { - case text = "Text" + case submitTimeBefore = "SubmitTimeBefore" + case jobStatus = "JobStatus" + case jobName = "JobName" + case submitTimeAfter = "SubmitTimeAfter" } } - public struct DetectEntitiesResponse: AWSShape { + public struct InputDataConfig: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Entities", required: false, type: .list) + AWSShapeMember(label: "S3Uri", required: true, type: .string), + AWSShapeMember(label: "InputFormat", required: false, type: .enum) ] - /// 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. - public let entities: [Entity]? + /// 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. + public let s3Uri: String + /// 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. + public let inputFormat: InputFormat? - public init(entities: [Entity]? = nil) { - self.entities = entities + public init(s3Uri: String, inputFormat: InputFormat? = nil) { + self.s3Uri = s3Uri + self.inputFormat = inputFormat } private enum CodingKeys: String, CodingKey { - case entities = "Entities" + case s3Uri = "S3Uri" + case inputFormat = "InputFormat" } } @@ -758,24 +1941,19 @@ extension Comprehend { } } - public struct BatchDetectEntitiesRequest: AWSShape { + public struct StopEntitiesDetectionJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LanguageCode", required: true, type: .string), - AWSShapeMember(label: "TextList", required: true, type: .list) + AWSShapeMember(label: "JobId", required: true, type: .string) ] - /// The language of the input documents. All documents must be in the same language. - public let languageCode: String - /// 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. - public let textList: [String] + /// The identifier of the entities detection job to stop. + public let jobId: String - public init(languageCode: String, textList: [String]) { - self.languageCode = languageCode - self.textList = textList + public init(jobId: String) { + self.jobId = jobId } private enum CodingKeys: String, CodingKey { - case languageCode = "LanguageCode" - case textList = "TextList" + case jobId = "JobId" } } @@ -800,6 +1978,62 @@ extension Comprehend { } } + public struct DominantLanguageDetectionJobProperties: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OutputDataConfig", required: false, type: .structure), + AWSShapeMember(label: "Message", required: false, type: .string), + AWSShapeMember(label: "InputDataConfig", required: false, type: .structure), + AWSShapeMember(label: "DataAccessRoleArn", required: false, type: .string), + AWSShapeMember(label: "EndTime", required: false, type: .timestamp), + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "JobStatus", required: false, type: .enum), + AWSShapeMember(label: "JobId", required: false, type: .string), + AWSShapeMember(label: "SubmitTime", required: false, type: .timestamp) + ] + /// The output data configuration that you supplied when you created the dominant language detection job. + public let outputDataConfig: OutputDataConfig? + /// A description for the status of a job. + public let message: String? + /// The input data configuration that you supplied when you created the dominant language detection job. + public let inputDataConfig: InputDataConfig? + /// The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data. + public let dataAccessRoleArn: String? + /// The time that the dominant language detection job completed. + public let endTime: TimeStamp? + /// The name that you assigned to the dominant language detection job. + public let jobName: String? + /// The current status of the dominant language detection job. If the status is FAILED, the Message field shows the reason for the failure. + public let jobStatus: JobStatus? + /// The identifier assigned to the dominant language detection job. + public let jobId: String? + /// The time that the dominant language detection job was submitted for processing. + public let submitTime: TimeStamp? + + public init(outputDataConfig: OutputDataConfig? = nil, message: String? = nil, inputDataConfig: InputDataConfig? = nil, dataAccessRoleArn: String? = nil, endTime: TimeStamp? = nil, jobName: String? = nil, jobStatus: JobStatus? = nil, jobId: String? = nil, submitTime: TimeStamp? = nil) { + self.outputDataConfig = outputDataConfig + self.message = message + self.inputDataConfig = inputDataConfig + self.dataAccessRoleArn = dataAccessRoleArn + self.endTime = endTime + self.jobName = jobName + self.jobStatus = jobStatus + self.jobId = jobId + self.submitTime = submitTime + } + + private enum CodingKeys: String, CodingKey { + case outputDataConfig = "OutputDataConfig" + case message = "Message" + case inputDataConfig = "InputDataConfig" + case dataAccessRoleArn = "DataAccessRoleArn" + case endTime = "EndTime" + case jobName = "JobName" + case jobStatus = "JobStatus" + case jobId = "JobId" + case submitTime = "SubmitTime" + } + } + public struct BatchDetectDominantLanguageItemResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Languages", required: false, type: .list), @@ -821,6 +2055,27 @@ extension Comprehend { } } + public enum PartOfSpeechTagType: String, CustomStringConvertible, Codable { + case adj = "ADJ" + case adp = "ADP" + case adv = "ADV" + case aux = "AUX" + case conj = "CONJ" + case det = "DET" + case intj = "INTJ" + case noun = "NOUN" + case num = "NUM" + case o = "O" + case part = "PART" + case pron = "PRON" + case propn = "PROPN" + case punct = "PUNCT" + case sconj = "SCONJ" + case sym = "SYM" + case verb = "VERB" + public var description: String { return self.rawValue } + } + public struct BatchDetectSentimentItemResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Index", required: false, type: .integer), diff --git a/Sources/AWSSDKSwift/Services/config/Config_API.swift b/Sources/AWSSDKSwift/Services/config/Config_API.swift index 4ba76ca9899..c6e17c5cf8c 100644 --- a/Sources/AWSSDKSwift/Services/config/Config_API.swift +++ b/Sources/AWSSDKSwift/Services/config/Config_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -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. +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. */ public struct Config { @@ -25,6 +25,11 @@ public struct Config { ) } + /// Returns a list of all pending aggregation requests. + public func describePendingAggregationRequests(_ input: DescribePendingAggregationRequestsRequest) throws -> DescribePendingAggregationRequestsResponse { + return try client.send(operation: "DescribePendingAggregationRequests", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func describeDeliveryChannelStatus(_ input: DescribeDeliveryChannelStatusRequest) throws -> DescribeDeliveryChannelStatusResponse { return try client.send(operation: "DescribeDeliveryChannelStatus", path: "/", httpMethod: "POST", input: input) @@ -35,16 +40,31 @@ public struct Config { return try client.send(operation: "DescribeComplianceByResource", path: "/", httpMethod: "POST", input: input) } + /// Authorizes the aggregator account and region to collect data from the source account and region. + public func putAggregationAuthorization(_ input: PutAggregationAuthorizationRequest) throws -> PutAggregationAuthorizationResponse { + return try client.send(operation: "PutAggregationAuthorization", path: "/", httpMethod: "POST", input: input) + } + /// Returns the number of AWS Config rules that are compliant and noncompliant, up to a maximum of 25 for each. public func getComplianceSummaryByConfigRule() throws -> GetComplianceSummaryByConfigRuleResponse { return try client.send(operation: "GetComplianceSummaryByConfigRule", path: "/", httpMethod: "POST") } + /// 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 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. You make a call to the GetDiscoveredResourceCounts action and specify that you want all resource types. 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. + public func getDiscoveredResourceCounts(_ input: GetDiscoveredResourceCountsRequest) throws -> GetDiscoveredResourceCountsResponse { + return try client.send(operation: "GetDiscoveredResourceCounts", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func putDeliveryChannel(_ input: PutDeliveryChannelRequest) throws { _ = try client.send(operation: "PutDeliveryChannel", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describeConfigurationAggregatorSourcesStatus(_ input: DescribeConfigurationAggregatorSourcesStatusRequest) throws -> DescribeConfigurationAggregatorSourcesStatusResponse { + return try client.send(operation: "DescribeConfigurationAggregatorSourcesStatus", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func getComplianceDetailsByConfigRule(_ input: GetComplianceDetailsByConfigRuleRequest) throws -> GetComplianceDetailsByConfigRuleResponse { return try client.send(operation: "GetComplianceDetailsByConfigRule", path: "/", httpMethod: "POST", input: input) @@ -65,34 +85,59 @@ public struct Config { return try client.send(operation: "DescribeConfigRuleEvaluationStatus", path: "/", httpMethod: "POST", input: input) } - /// Schedules delivery of a configuration snapshot to the Amazon S3 bucket in the specified delivery channel. After the delivery has started, AWS Config sends following notifications using an Amazon SNS topic that you have specified. Notification of starting the delivery. Notification of delivery completed, if the delivery was successfully completed. Notification of delivery failure, if the delivery failed to complete. + /// 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. + public func getResourceConfigHistory(_ input: GetResourceConfigHistoryRequest) throws -> GetResourceConfigHistoryResponse { + return try client.send(operation: "GetResourceConfigHistory", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func deliverConfigSnapshot(_ input: DeliverConfigSnapshotRequest) throws -> DeliverConfigSnapshotResponse { return try client.send(operation: "DeliverConfigSnapshot", path: "/", httpMethod: "POST", input: input) } - /// Returns a list of configuration items for the specified resource. The list contains details about each state of the resource during the specified time interval. The response is paginated. 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. - public func getResourceConfigHistory(_ input: GetResourceConfigHistoryRequest) throws -> GetResourceConfigHistoryResponse { - return try client.send(operation: "GetResourceConfigHistory", path: "/", httpMethod: "POST", input: input) + /// Deletes the retention configuration. + public func deleteRetentionConfiguration(_ input: DeleteRetentionConfigurationRequest) throws { + _ = try client.send(operation: "DeleteRetentionConfiguration", path: "/", httpMethod: "POST", input: input) } - /// Creates a new configuration recorder to record the selected resource configurations. You can use this action to change the role roleARN and/or the recordingGroup of an existing recorder. To change the role, call the action on the existing configuration recorder and specify a role. Currently, you can specify only one configuration recorder per region in your account. If ConfigurationRecorder does not have the recordingGroup parameter specified, the default is to record all supported resource types. + /// Returns a list of authorizations granted to various aggregator accounts and regions. + public func describeAggregationAuthorizations(_ input: DescribeAggregationAuthorizationsRequest) throws -> DescribeAggregationAuthorizationsResponse { + return try client.send(operation: "DescribeAggregationAuthorizations", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func putConfigurationRecorder(_ input: PutConfigurationRecorderRequest) throws { _ = try client.send(operation: "PutConfigurationRecorder", path: "/", httpMethod: "POST", input: input) } + /// Deletes pending authorization requests for a specified aggregator account in a specified region. + public func deletePendingAggregationRequest(_ input: DeletePendingAggregationRequestRequest) throws { + _ = try client.send(operation: "DeletePendingAggregationRequest", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func describeConfigurationRecorders(_ input: DescribeConfigurationRecordersRequest) throws -> DescribeConfigurationRecordersResponse { return try client.send(operation: "DescribeConfigurationRecorders", path: "/", httpMethod: "POST", input: input) } + /// Deletes the specified configuration aggregator and the aggregated data associated with the aggregator. + public func deleteConfigurationAggregator(_ input: DeleteConfigurationAggregatorRequest) throws { + _ = try client.send(operation: "DeleteConfigurationAggregator", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func putConfigRule(_ input: PutConfigRuleRequest) throws { + _ = try client.send(operation: "PutConfigRule", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func describeDeliveryChannels(_ input: DescribeDeliveryChannelsRequest) throws -> DescribeDeliveryChannelsResponse { return try client.send(operation: "DescribeDeliveryChannels", path: "/", httpMethod: "POST", input: input) } - /// Adds or updates an AWS Config rule for evaluating whether your AWS resources comply with your desired configurations. You can use this action for custom Config rules and AWS managed Config rules. A custom Config rule is a rule that you develop and maintain. An AWS managed Config rule is a customizable, predefined rule that AWS Config provides. If you are adding a new custom Config rule, you must first create the AWS Lambda function that the rule invokes to evaluate your resources. When you use the PutConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify the ARN for the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object. If you are adding an AWS managed Config rule, specify the rule's identifier for the SourceIdentifier key. To reference AWS managed Config rule identifiers, see About AWS Managed Config Rules. For any new rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by AWS Config for new rules. If you are updating a rule that you added previously, you can specify the rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request. The maximum number of rules that AWS Config supports is 50. For more information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide. For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide. - public func putConfigRule(_ input: PutConfigRuleRequest) throws { - _ = try client.send(operation: "PutConfigRule", path: "/", httpMethod: "POST", input: input) + /// 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. + public func getAggregateComplianceDetailsByConfigRule(_ input: GetAggregateComplianceDetailsByConfigRuleRequest) throws -> GetAggregateComplianceDetailsByConfigRuleResponse { + return try client.send(operation: "GetAggregateComplianceDetailsByConfigRule", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -100,7 +145,7 @@ public struct Config { _ = try client.send(operation: "StartConfigurationRecorder", path: "/", httpMethod: "POST", input: input) } - /// Indicates whether the specified AWS Config rules are compliant. If a rule is noncompliant, this action returns the number of AWS resources that do not comply with the rule. A rule is compliant if all of the evaluated resources comply with it, and it is noncompliant if any of these resources do not comply. If AWS Config has no current evaluation results for the rule, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions: AWS Config has never invoked an evaluation for the rule. To check whether it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime and LastFailedInvocationTime. The rule's AWS Lambda function is failing to send evaluation results to AWS Config. Verify that the role that you assigned to your configuration recorder includes the config:PutEvaluations permission. If the rule is a custom rule, verify that the AWS Lambda execution role includes the config:PutEvaluations permission. The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation results. This can occur if the resources were deleted or removed from the rule's scope. + /// 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. public func describeComplianceByConfigRule(_ input: DescribeComplianceByConfigRuleRequest) throws -> DescribeComplianceByConfigRuleResponse { return try client.send(operation: "DescribeComplianceByConfigRule", path: "/", httpMethod: "POST", input: input) } @@ -110,17 +155,22 @@ public struct Config { _ = try client.send(operation: "StopConfigurationRecorder", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describeRetentionConfigurations(_ input: DescribeRetentionConfigurationsRequest) throws -> DescribeRetentionConfigurationsResponse { + return try client.send(operation: "DescribeRetentionConfigurations", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func getComplianceSummaryByResourceType(_ input: GetComplianceSummaryByResourceTypeRequest) throws -> GetComplianceSummaryByResourceTypeResponse { + return try client.send(operation: "GetComplianceSummaryByResourceType", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func putEvaluations(_ input: PutEvaluationsRequest) throws -> PutEvaluationsResponse { return try client.send(operation: "PutEvaluations", path: "/", httpMethod: "POST", input: input) } - /// Returns details about your AWS Config rules. - public func describeConfigRules(_ input: DescribeConfigRulesRequest) throws -> DescribeConfigRulesResponse { - return try client.send(operation: "DescribeConfigRules", path: "/", httpMethod: "POST", input: input) - } - - /// Returns the current status of the specified configuration recorder. If a configuration recorder is not specified, this action returns the status of all configuration recorder associated with the account. Currently, you can specify only one configuration recorder per region in your account. + /// 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. public func describeConfigurationRecorderStatus(_ input: DescribeConfigurationRecorderStatusRequest) throws -> DescribeConfigurationRecorderStatusResponse { return try client.send(operation: "DescribeConfigurationRecorderStatus", path: "/", httpMethod: "POST", input: input) } @@ -130,34 +180,64 @@ public struct Config { _ = try client.send(operation: "DeleteConfigurationRecorder", path: "/", httpMethod: "POST", input: input) } - /// Deletes the evaluation results for the specified Config rule. You can specify one Config rule per request. After you delete the evaluation results, you can call the StartConfigRulesEvaluation API to start evaluating your AWS resources against the rule. + /// 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. public func deleteEvaluationResults(_ input: DeleteEvaluationResultsRequest) throws -> DeleteEvaluationResultsResponse { return try client.send(operation: "DeleteEvaluationResults", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func getComplianceSummaryByResourceType(_ input: GetComplianceSummaryByResourceTypeRequest) throws -> GetComplianceSummaryByResourceTypeResponse { - return try client.send(operation: "GetComplianceSummaryByResourceType", path: "/", httpMethod: "POST", input: input) + /// Returns details about your AWS Config rules. + public func describeConfigRules(_ input: DescribeConfigRulesRequest) throws -> DescribeConfigRulesResponse { + return try client.send(operation: "DescribeConfigRules", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes the authorization granted to the specified configuration aggregator account in a specified region. + public func deleteAggregationAuthorization(_ input: DeleteAggregationAuthorizationRequest) throws { + _ = try client.send(operation: "DeleteAggregationAuthorization", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. + public func batchGetResourceConfig(_ input: BatchGetResourceConfigRequest) throws -> BatchGetResourceConfigResponse { + return try client.send(operation: "BatchGetResourceConfig", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func describeAggregateComplianceByConfigRules(_ input: DescribeAggregateComplianceByConfigRulesRequest) throws -> DescribeAggregateComplianceByConfigRulesResponse { + return try client.send(operation: "DescribeAggregateComplianceByConfigRules", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func putRetentionConfiguration(_ input: PutRetentionConfigurationRequest) throws -> PutRetentionConfigurationResponse { + return try client.send(operation: "PutRetentionConfiguration", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func listDiscoveredResources(_ input: ListDiscoveredResourcesRequest) throws -> ListDiscoveredResourcesResponse { return try client.send(operation: "ListDiscoveredResources", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func putConfigurationAggregator(_ input: PutConfigurationAggregatorRequest) throws -> PutConfigurationAggregatorResponse { + return try client.send(operation: "PutConfigurationAggregator", path: "/", httpMethod: "POST", input: input) + } + + /// 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: You have a custom rule that evaluates your IAM resources every 24 hours. You update your Lambda function to add additional conditions to your rule. Instead of waiting for the next periodic evaluation, you call the StartConfigRulesEvaluation API. AWS Config invokes your Lambda function and evaluates your IAM resources. Your custom rule will still run periodic evaluations every 24 hours. + public func startConfigRulesEvaluation(_ input: StartConfigRulesEvaluationRequest) throws -> StartConfigRulesEvaluationResponse { + return try client.send(operation: "StartConfigRulesEvaluation", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func deleteConfigRule(_ input: DeleteConfigRuleRequest) throws { _ = try client.send(operation: "DeleteConfigRule", path: "/", httpMethod: "POST", input: input) } - /// Runs an on-demand evaluation for the specified Config rules against the last known configuration state of the resources. Use StartConfigRulesEvaluation when you want to test a rule that 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 Config rules per request. An existing StartConfigRulesEvaluation call must complete for the specified rules before you can call the API again. If you chose to have AWS Config stream to an Amazon SNS topic, you will receive a ConfigRuleEvaluationStarted notification when the evaluation starts. You don't need to call the StartConfigRulesEvaluation API to run an evaluation for a new rule. When you create a new rule, AWS Config automatically evaluates your resources against the rule. The StartConfigRulesEvaluation API is useful if you want to run on-demand evaluations, such as the following example: You have a custom rule that evaluates your IAM resources every 24 hours. You update your Lambda function to add additional conditions to your rule. Instead of waiting for the next periodic evaluation, you call the StartConfigRulesEvaluation API. AWS Config invokes your Lambda function and evaluates your IAM resources. Your custom rule will still run periodic evaluations every 24 hours. - public func startConfigRulesEvaluation(_ input: StartConfigRulesEvaluationRequest) throws -> StartConfigRulesEvaluationResponse { - return try client.send(operation: "StartConfigRulesEvaluation", path: "/", httpMethod: "POST", input: input) + /// 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. + public func describeConfigurationAggregators(_ input: DescribeConfigurationAggregatorsRequest) throws -> DescribeConfigurationAggregatorsResponse { + return try client.send(operation: "DescribeConfigurationAggregators", path: "/", httpMethod: "POST", input: input) } - /// 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 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. You make a call to the GetDiscoveredResourceCounts action and specify that you want all resource types. 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 may not immediately receive resource counts in the following situations: You are a new AWS Config customer You just enabled resource recording It may take a few minutes for AWS Config to record and count your resources. Wait a few minutes and then retry the GetDiscoveredResourceCounts action. - public func getDiscoveredResourceCounts(_ input: GetDiscoveredResourceCountsRequest) throws -> GetDiscoveredResourceCountsResponse { - return try client.send(operation: "GetDiscoveredResourceCounts", path: "/", httpMethod: "POST", input: input) + /// 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. + public func getAggregateConfigRuleComplianceSummary(_ input: GetAggregateConfigRuleComplianceSummaryRequest) throws -> GetAggregateConfigRuleComplianceSummaryResponse { + return try client.send(operation: "GetAggregateConfigRuleComplianceSummary", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/config/Config_Error.swift b/Sources/AWSSDKSwift/Services/config/Config_Error.swift index 351093b70c8..196f08f83c9 100644 --- a/Sources/AWSSDKSwift/Services/config/Config_Error.swift +++ b/Sources/AWSSDKSwift/Services/config/Config_Error.swift @@ -4,9 +4,11 @@ import AWSSDKSwiftCore /// Error enum for Config public enum ConfigError: AWSErrorType { - case noSuchDeliveryChannelException(message: String?) case invalidParameterValueException(message: String?) case invalidNextTokenException(message: String?) + case invalidLimitException(message: String?) + case noSuchDeliveryChannelException(message: String?) + case validationException(message: String?) case maxNumberOfDeliveryChannelsExceededException(message: String?) case noAvailableConfigurationRecorderException(message: String?) case invalidDeliveryChannelNameException(message: String?) @@ -14,13 +16,13 @@ public enum ConfigError: AWSErrorType { case invalidS3KeyPrefixException(message: String?) case invalidSNSTopicARNException(message: String?) case insufficientDeliveryPolicyException(message: String?) + case noSuchConfigurationAggregatorException(message: String?) case noSuchConfigRuleException(message: String?) case lastDeliveryChannelDeleteFailedException(message: String?) - case noRunningConfigurationRecorderException(message: String?) - case validationException(message: String?) case invalidTimeRangeException(message: String?) - case invalidLimitException(message: String?) case resourceNotDiscoveredException(message: String?) + case noRunningConfigurationRecorderException(message: String?) + case noSuchRetentionConfigurationException(message: String?) case maxNumberOfConfigurationRecordersExceededException(message: String?) case invalidConfigurationRecorderNameException(message: String?) case invalidRoleException(message: String?) @@ -31,7 +33,11 @@ public enum ConfigError: AWSErrorType { case insufficientPermissionsException(message: String?) case noAvailableDeliveryChannelException(message: String?) case invalidResultTokenException(message: String?) + case maxNumberOfRetentionConfigurationsExceededException(message: String?) case limitExceededException(message: String?) + case organizationAccessDeniedException(message: String?) + case noAvailableOrganizationException(message: String?) + case organizationAllFeaturesNotEnabledException(message: String?) } extension ConfigError { @@ -41,12 +47,16 @@ extension ConfigError { errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) } switch errorCode { - case "NoSuchDeliveryChannelException": - self = .noSuchDeliveryChannelException(message: message) case "InvalidParameterValueException": self = .invalidParameterValueException(message: message) case "InvalidNextTokenException": self = .invalidNextTokenException(message: message) + case "InvalidLimitException": + self = .invalidLimitException(message: message) + case "NoSuchDeliveryChannelException": + self = .noSuchDeliveryChannelException(message: message) + case "ValidationException": + self = .validationException(message: message) case "MaxNumberOfDeliveryChannelsExceededException": self = .maxNumberOfDeliveryChannelsExceededException(message: message) case "NoAvailableConfigurationRecorderException": @@ -61,20 +71,20 @@ extension ConfigError { self = .invalidSNSTopicARNException(message: message) case "InsufficientDeliveryPolicyException": self = .insufficientDeliveryPolicyException(message: message) + case "NoSuchConfigurationAggregatorException": + self = .noSuchConfigurationAggregatorException(message: message) case "NoSuchConfigRuleException": self = .noSuchConfigRuleException(message: message) case "LastDeliveryChannelDeleteFailedException": self = .lastDeliveryChannelDeleteFailedException(message: message) - case "NoRunningConfigurationRecorderException": - self = .noRunningConfigurationRecorderException(message: message) - case "ValidationException": - self = .validationException(message: message) case "InvalidTimeRangeException": self = .invalidTimeRangeException(message: message) - case "InvalidLimitException": - self = .invalidLimitException(message: message) case "ResourceNotDiscoveredException": self = .resourceNotDiscoveredException(message: message) + case "NoRunningConfigurationRecorderException": + self = .noRunningConfigurationRecorderException(message: message) + case "NoSuchRetentionConfigurationException": + self = .noSuchRetentionConfigurationException(message: message) case "MaxNumberOfConfigurationRecordersExceededException": self = .maxNumberOfConfigurationRecordersExceededException(message: message) case "InvalidConfigurationRecorderNameException": @@ -95,8 +105,16 @@ extension ConfigError { self = .noAvailableDeliveryChannelException(message: message) case "InvalidResultTokenException": self = .invalidResultTokenException(message: message) + case "MaxNumberOfRetentionConfigurationsExceededException": + self = .maxNumberOfRetentionConfigurationsExceededException(message: message) case "LimitExceededException": self = .limitExceededException(message: message) + case "OrganizationAccessDeniedException": + self = .organizationAccessDeniedException(message: message) + case "NoAvailableOrganizationException": + self = .noAvailableOrganizationException(message: message) + case "OrganizationAllFeaturesNotEnabledException": + self = .organizationAllFeaturesNotEnabledException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/config/Config_Shapes.swift b/Sources/AWSSDKSwift/Services/config/Config_Shapes.swift index 8596b20cde7..2458c3b0e39 100644 --- a/Sources/AWSSDKSwift/Services/config/Config_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/config/Config_Shapes.swift @@ -5,55 +5,24 @@ import AWSSDKSwiftCore extension Config { - public struct ConfigStreamDeliveryInfo: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "lastErrorMessage", required: false, type: .string), - AWSShapeMember(label: "lastErrorCode", required: false, type: .string), - AWSShapeMember(label: "lastStatus", required: false, type: .enum), - AWSShapeMember(label: "lastStatusChangeTime", required: false, type: .timestamp) - ] - /// The error message from the last attempted delivery. - public let lastErrorMessage: String? - /// The error code from the last attempted delivery. - public let lastErrorCode: String? - /// 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. - public let lastStatus: DeliveryStatus? - /// The time from the last status change. - public let lastStatusChangeTime: TimeStamp? - - public init(lastErrorMessage: String? = nil, lastErrorCode: String? = nil, lastStatus: DeliveryStatus? = nil, lastStatusChangeTime: TimeStamp? = nil) { - self.lastErrorMessage = lastErrorMessage - self.lastErrorCode = lastErrorCode - self.lastStatus = lastStatus - self.lastStatusChangeTime = lastStatusChangeTime - } - - private enum CodingKeys: String, CodingKey { - case lastErrorMessage = "lastErrorMessage" - case lastErrorCode = "lastErrorCode" - case lastStatus = "lastStatus" - case lastStatusChangeTime = "lastStatusChangeTime" - } - } - - public struct GetComplianceDetailsByConfigRuleResponse: AWSShape { + public struct DescribePendingAggregationRequestsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EvaluationResults", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Limit", required: false, type: .integer) ] - /// Indicates whether the AWS resource complies with the specified AWS Config rule. - public let evaluationResults: [EvaluationResult]? - /// The string that you use in a subsequent request to get the next page of results in a paginated response. + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. public let nextToken: String? + /// The maximum number of evaluation results returned on each page. The default is maximum. If you specify 0, AWS Config uses the default. + public let limit: Int32? - public init(evaluationResults: [EvaluationResult]? = nil, nextToken: String? = nil) { - self.evaluationResults = evaluationResults + public init(nextToken: String? = nil, limit: Int32? = nil) { self.nextToken = nextToken + self.limit = limit } private enum CodingKeys: String, CodingKey { - case evaluationResults = "EvaluationResults" case nextToken = "NextToken" + case limit = "Limit" } } @@ -78,112 +47,60 @@ extension Config { } } - public struct Source: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Owner", required: true, type: .enum), - AWSShapeMember(label: "SourceDetails", required: false, type: .list), - AWSShapeMember(label: "SourceIdentifier", required: true, type: .string) - ] - /// Indicates whether AWS or the customer owns and manages the AWS Config rule. - public let owner: Owner - /// Provides the source and type of the event that causes AWS Config to evaluate your AWS resources. - public let sourceDetails: [SourceDetail]? - /// 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. - public let sourceIdentifier: String - - public init(owner: Owner, sourceDetails: [SourceDetail]? = nil, sourceIdentifier: String) { - self.owner = owner - self.sourceDetails = sourceDetails - self.sourceIdentifier = sourceIdentifier - } - - private enum CodingKeys: String, CodingKey { - case owner = "Owner" - case sourceDetails = "SourceDetails" - case sourceIdentifier = "SourceIdentifier" - } - } - - public struct DeleteConfigRuleRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigRuleName", required: true, type: .string) - ] - /// The name of the AWS Config rule that you want to delete. - public let configRuleName: String - - public init(configRuleName: String) { - self.configRuleName = configRuleName - } - - private enum CodingKeys: String, CodingKey { - case configRuleName = "ConfigRuleName" - } - } - - public struct ConfigExportDeliveryInfo: AWSShape { + public struct DescribeConfigurationAggregatorsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "lastErrorMessage", required: false, type: .string), - AWSShapeMember(label: "lastAttemptTime", required: false, type: .timestamp), - AWSShapeMember(label: "lastSuccessfulTime", required: false, type: .timestamp), - AWSShapeMember(label: "lastErrorCode", required: false, type: .string), - AWSShapeMember(label: "lastStatus", required: false, type: .enum), - AWSShapeMember(label: "nextDeliveryTime", required: false, type: .timestamp) + AWSShapeMember(label: "ConfigurationAggregatorNames", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Limit", required: false, type: .integer) ] - /// The error message from the last attempted delivery. - public let lastErrorMessage: String? - /// The time of the last attempted delivery. - public let lastAttemptTime: TimeStamp? - /// The time of the last successful delivery. - public let lastSuccessfulTime: TimeStamp? - /// The error code from the last attempted delivery. - public let lastErrorCode: String? - /// Status of the last attempted delivery. - public let lastStatus: DeliveryStatus? - /// The time that the next delivery occurs. - public let nextDeliveryTime: TimeStamp? + /// The name of the configuration aggregators. + public let configurationAggregatorNames: [String]? + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + /// The maximum number of configuration aggregators returned on each page. The default is maximum. If you specify 0, AWS Config uses the default. + public let limit: Int32? - public init(lastErrorMessage: String? = nil, lastAttemptTime: TimeStamp? = nil, lastSuccessfulTime: TimeStamp? = nil, lastErrorCode: String? = nil, lastStatus: DeliveryStatus? = nil, nextDeliveryTime: TimeStamp? = nil) { - self.lastErrorMessage = lastErrorMessage - self.lastAttemptTime = lastAttemptTime - self.lastSuccessfulTime = lastSuccessfulTime - self.lastErrorCode = lastErrorCode - self.lastStatus = lastStatus - self.nextDeliveryTime = nextDeliveryTime + public init(configurationAggregatorNames: [String]? = nil, nextToken: String? = nil, limit: Int32? = nil) { + self.configurationAggregatorNames = configurationAggregatorNames + self.nextToken = nextToken + self.limit = limit } private enum CodingKeys: String, CodingKey { - case lastErrorMessage = "lastErrorMessage" - case lastAttemptTime = "lastAttemptTime" - case lastSuccessfulTime = "lastSuccessfulTime" - case lastErrorCode = "lastErrorCode" - case lastStatus = "lastStatus" - case nextDeliveryTime = "nextDeliveryTime" + case configurationAggregatorNames = "ConfigurationAggregatorNames" + case nextToken = "NextToken" + case limit = "Limit" } } - public struct SourceDetail: AWSShape { + public struct DescribeConfigurationAggregatorSourcesStatusRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MessageType", required: false, type: .enum), - AWSShapeMember(label: "EventSource", required: false, type: .enum), - AWSShapeMember(label: "MaximumExecutionFrequency", required: false, type: .enum) + AWSShapeMember(label: "UpdateStatus", required: false, type: .list), + AWSShapeMember(label: "Limit", required: false, type: .integer), + AWSShapeMember(label: "ConfigurationAggregatorName", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// 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 both ConfigurationItemChangeNotification and OversizedConfigurationItemChangeNotification. - public let messageType: MessageType? - /// The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources. - public let eventSource: EventSource? - /// The frequency that you want AWS Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for MaximumExecutionFrequency, then MessageType must use the ScheduledNotification value. By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter. - public let maximumExecutionFrequency: MaximumExecutionFrequency? + /// 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. + public let updateStatus: [AggregatedSourceStatusType]? + /// The maximum number of AggregatorSourceStatus returned on each page. The default is maximum. If you specify 0, AWS Config uses the default. + public let limit: Int32? + /// The name of the configuration aggregator. + public let configurationAggregatorName: String + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? - public init(messageType: MessageType? = nil, eventSource: EventSource? = nil, maximumExecutionFrequency: MaximumExecutionFrequency? = nil) { - self.messageType = messageType - self.eventSource = eventSource - self.maximumExecutionFrequency = maximumExecutionFrequency + public init(updateStatus: [AggregatedSourceStatusType]? = nil, limit: Int32? = nil, configurationAggregatorName: String, nextToken: String? = nil) { + self.updateStatus = updateStatus + self.limit = limit + self.configurationAggregatorName = configurationAggregatorName + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case messageType = "MessageType" - case eventSource = "EventSource" - case maximumExecutionFrequency = "MaximumExecutionFrequency" + case updateStatus = "UpdateStatus" + case limit = "Limit" + case configurationAggregatorName = "ConfigurationAggregatorName" + case nextToken = "NextToken" } } @@ -195,118 +112,50 @@ extension Config { public var description: String { return self.rawValue } } - public struct DescribeConfigurationRecordersResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigurationRecorders", required: false, type: .list) - ] - /// A list that contains the descriptions of the specified configuration recorders. - public let configurationRecorders: [ConfigurationRecorder]? - - public init(configurationRecorders: [ConfigurationRecorder]? = nil) { - self.configurationRecorders = configurationRecorders - } - - private enum CodingKeys: String, CodingKey { - case configurationRecorders = "ConfigurationRecorders" - } - } - - public struct DescribeConfigurationRecordersRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigurationRecorderNames", required: false, type: .list) - ] - /// A list of configuration recorder names. - public let configurationRecorderNames: [String]? - - public init(configurationRecorderNames: [String]? = nil) { - self.configurationRecorderNames = configurationRecorderNames - } - - private enum CodingKeys: String, CodingKey { - case configurationRecorderNames = "ConfigurationRecorderNames" - } - } - - public struct ResourceIdentifier: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceType", required: false, type: .enum), - AWSShapeMember(label: "resourceId", required: false, type: .string), - AWSShapeMember(label: "resourceName", required: false, type: .string), - AWSShapeMember(label: "resourceDeletionTime", required: false, type: .timestamp) - ] - /// The type of resource. - public let resourceType: ResourceType? - /// The ID of the resource (for example., sg-xxxxxx). - public let resourceId: String? - /// The custom name of the resource (if available). - public let resourceName: String? - /// The time that the resource was deleted. - public let resourceDeletionTime: TimeStamp? - - public init(resourceType: ResourceType? = nil, resourceId: String? = nil, resourceName: String? = nil, resourceDeletionTime: TimeStamp? = nil) { - self.resourceType = resourceType - self.resourceId = resourceId - self.resourceName = resourceName - self.resourceDeletionTime = resourceDeletionTime - } - - private enum CodingKeys: String, CodingKey { - case resourceType = "resourceType" - case resourceId = "resourceId" - case resourceName = "resourceName" - case resourceDeletionTime = "resourceDeletionTime" - } - } - - public struct DeliveryChannel: AWSShape { + public struct AggregationAuthorization: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "s3KeyPrefix", required: false, type: .string), - AWSShapeMember(label: "name", required: false, type: .string), - AWSShapeMember(label: "configSnapshotDeliveryProperties", required: false, type: .structure), - AWSShapeMember(label: "s3BucketName", required: false, type: .string), - AWSShapeMember(label: "snsTopicARN", required: false, type: .string) + AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), + AWSShapeMember(label: "AggregationAuthorizationArn", required: false, type: .string), + AWSShapeMember(label: "AuthorizedAccountId", required: false, type: .string), + AWSShapeMember(label: "AuthorizedAwsRegion", required: false, type: .string) ] - /// The prefix for the specified Amazon S3 bucket. - public let s3KeyPrefix: String? - /// 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. - public let name: String? - /// The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket. - public let configSnapshotDeliveryProperties: ConfigSnapshotDeliveryProperties? - /// 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. - public let s3BucketName: String? - /// 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. - public let snsTopicARN: String? + /// The time stamp when the aggregation authorization was created. + public let creationTime: TimeStamp? + /// The Amazon Resource Name (ARN) of the aggregation object. + public let aggregationAuthorizationArn: String? + /// The 12-digit account ID of the account authorized to aggregate data. + public let authorizedAccountId: String? + /// The region authorized to collect aggregated data. + public let authorizedAwsRegion: String? - public init(s3KeyPrefix: String? = nil, name: String? = nil, configSnapshotDeliveryProperties: ConfigSnapshotDeliveryProperties? = nil, s3BucketName: String? = nil, snsTopicARN: String? = nil) { - self.s3KeyPrefix = s3KeyPrefix - self.name = name - self.configSnapshotDeliveryProperties = configSnapshotDeliveryProperties - self.s3BucketName = s3BucketName - self.snsTopicARN = snsTopicARN + public init(creationTime: TimeStamp? = nil, aggregationAuthorizationArn: String? = nil, authorizedAccountId: String? = nil, authorizedAwsRegion: String? = nil) { + self.creationTime = creationTime + self.aggregationAuthorizationArn = aggregationAuthorizationArn + self.authorizedAccountId = authorizedAccountId + self.authorizedAwsRegion = authorizedAwsRegion } private enum CodingKeys: String, CodingKey { - case s3KeyPrefix = "s3KeyPrefix" - case name = "name" - case configSnapshotDeliveryProperties = "configSnapshotDeliveryProperties" - case s3BucketName = "s3BucketName" - case snsTopicARN = "snsTopicARN" + case creationTime = "CreationTime" + case aggregationAuthorizationArn = "AggregationAuthorizationArn" + case authorizedAccountId = "AuthorizedAccountId" + case authorizedAwsRegion = "AuthorizedAwsRegion" } } - public struct PutConfigRuleRequest: AWSShape { + public struct BatchGetResourceConfigRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigRule", required: true, type: .structure) + AWSShapeMember(label: "resourceKeys", required: true, type: .list) ] - /// The rule that you want to add to your account. - public let configRule: ConfigRule + /// 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. + public let resourceKeys: [ResourceKey] - public init(configRule: ConfigRule) { - self.configRule = configRule + public init(resourceKeys: [ResourceKey]) { + self.resourceKeys = resourceKeys } private enum CodingKeys: String, CodingKey { - case configRule = "ConfigRule" + case resourceKeys = "resourceKeys" } } @@ -347,66 +196,19 @@ extension Config { } } - public enum EventSource: String, CustomStringConvertible, Codable { - case awsConfig = "aws.config" - public var description: String { return self.rawValue } - } - - public struct DescribeComplianceByResourceResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "ComplianceByResources", required: false, type: .list) - ] - /// The string that you use in a subsequent request to get the next page of results in a paginated response. - public let nextToken: String? - /// Indicates whether the specified AWS resource complies with all of the AWS Config rules that evaluate it. - public let complianceByResources: [ComplianceByResource]? - - public init(nextToken: String? = nil, complianceByResources: [ComplianceByResource]? = nil) { - self.nextToken = nextToken - self.complianceByResources = complianceByResources - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case complianceByResources = "ComplianceByResources" - } - } - - public struct DescribeConfigRulesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigRuleNames", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) - ] - /// 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. - public let configRuleNames: [String]? - /// The NextToken string returned on a previous page that you use to get the next page of results in a paginated response. - public let nextToken: String? - - public init(configRuleNames: [String]? = nil, nextToken: String? = nil) { - self.configRuleNames = configRuleNames - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case configRuleNames = "ConfigRuleNames" - case nextToken = "NextToken" - } - } - - public struct DeliverConfigSnapshotResponse: AWSShape { + public struct DeliverConfigSnapshotRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "configSnapshotId", required: false, type: .string) + AWSShapeMember(label: "deliveryChannelName", required: true, type: .string) ] - /// The ID of the snapshot that is being created. - public let configSnapshotId: String? + /// The name of the delivery channel through which the snapshot is delivered. + public let deliveryChannelName: String - public init(configSnapshotId: String? = nil) { - self.configSnapshotId = configSnapshotId + public init(deliveryChannelName: String) { + self.deliveryChannelName = deliveryChannelName } private enum CodingKeys: String, CodingKey { - case configSnapshotId = "configSnapshotId" + case deliveryChannelName = "deliveryChannelName" } } @@ -427,7 +229,7 @@ extension Config { public let resourceType: ResourceType /// 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. public let resourceIds: [String]? - /// The maximum number of resource identifiers returned on each page. The default is 100. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default. + /// 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. public let limit: Int32? /// 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. public let resourceName: String? @@ -451,19 +253,55 @@ extension Config { } } - public struct DeliverConfigSnapshotRequest: AWSShape { + public struct DescribeComplianceByResourceResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "deliveryChannelName", required: true, type: .string) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ComplianceByResources", required: false, type: .list) ] - /// The name of the delivery channel through which the snapshot is delivered. - public let deliveryChannelName: String + /// The string that you use in a subsequent request to get the next page of results in a paginated response. + public let nextToken: String? + /// Indicates whether the specified AWS resource complies with all of the AWS Config rules that evaluate it. + public let complianceByResources: [ComplianceByResource]? - public init(deliveryChannelName: String) { - self.deliveryChannelName = deliveryChannelName + public init(nextToken: String? = nil, complianceByResources: [ComplianceByResource]? = nil) { + self.nextToken = nextToken + self.complianceByResources = complianceByResources } private enum CodingKeys: String, CodingKey { - case deliveryChannelName = "deliveryChannelName" + case nextToken = "NextToken" + case complianceByResources = "ComplianceByResources" + } + } + + public struct DescribeAggregateComplianceByConfigRulesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "Limit", required: false, type: .integer), + AWSShapeMember(label: "ConfigurationAggregatorName", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// Filters the results by ConfigRuleComplianceFilters object. + public let filters: ConfigRuleComplianceFilters? + /// The maximum number of evaluation results returned on each page. The default is maximum. If you specify 0, AWS Config uses the default. + public let limit: Int32? + /// The name of the configuration aggregator. + public let configurationAggregatorName: String + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + + public init(filters: ConfigRuleComplianceFilters? = nil, limit: Int32? = nil, configurationAggregatorName: String, nextToken: String? = nil) { + self.filters = filters + self.limit = limit + self.configurationAggregatorName = configurationAggregatorName + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case filters = "Filters" + case limit = "Limit" + case configurationAggregatorName = "ConfigurationAggregatorName" + case nextToken = "NextToken" } } @@ -491,50 +329,56 @@ extension Config { public var description: String { return self.rawValue } } - public enum ResourceType: String, CustomStringConvertible, Codable { - case awsEc2Customergateway = "AWS::EC2::CustomerGateway" - case awsEc2Eip = "AWS::EC2::EIP" - case awsEc2Host = "AWS::EC2::Host" - case awsEc2Instance = "AWS::EC2::Instance" - case awsEc2Internetgateway = "AWS::EC2::InternetGateway" - case awsEc2Networkacl = "AWS::EC2::NetworkAcl" - case awsEc2Networkinterface = "AWS::EC2::NetworkInterface" - case awsEc2Routetable = "AWS::EC2::RouteTable" - case awsEc2Securitygroup = "AWS::EC2::SecurityGroup" - case awsEc2Subnet = "AWS::EC2::Subnet" - case awsCloudtrailTrail = "AWS::CloudTrail::Trail" - case awsEc2Volume = "AWS::EC2::Volume" - case awsEc2Vpc = "AWS::EC2::VPC" - case awsEc2Vpnconnection = "AWS::EC2::VPNConnection" - case awsEc2Vpngateway = "AWS::EC2::VPNGateway" - case awsIamGroup = "AWS::IAM::Group" - case awsIamPolicy = "AWS::IAM::Policy" - case awsIamRole = "AWS::IAM::Role" - case awsIamUser = "AWS::IAM::User" - case awsAcmCertificate = "AWS::ACM::Certificate" - case awsRdsDbinstance = "AWS::RDS::DBInstance" - case awsRdsDbsubnetgroup = "AWS::RDS::DBSubnetGroup" - case awsRdsDbsecuritygroup = "AWS::RDS::DBSecurityGroup" - case awsRdsDbsnapshot = "AWS::RDS::DBSnapshot" - case awsRdsEventsubscription = "AWS::RDS::EventSubscription" - case awsElasticloadbalancingv2Loadbalancer = "AWS::ElasticLoadBalancingV2::LoadBalancer" - case awsS3Bucket = "AWS::S3::Bucket" - case awsSsmManagedinstanceinventory = "AWS::SSM::ManagedInstanceInventory" - case awsRedshiftCluster = "AWS::Redshift::Cluster" - case awsRedshiftClustersnapshot = "AWS::Redshift::ClusterSnapshot" - case awsRedshiftClusterparametergroup = "AWS::Redshift::ClusterParameterGroup" - case awsRedshiftClustersecuritygroup = "AWS::Redshift::ClusterSecurityGroup" - case awsRedshiftClustersubnetgroup = "AWS::Redshift::ClusterSubnetGroup" - case awsRedshiftEventsubscription = "AWS::Redshift::EventSubscription" - case awsCloudwatchAlarm = "AWS::CloudWatch::Alarm" - case awsCloudformationStack = "AWS::CloudFormation::Stack" - case awsDynamodbTable = "AWS::DynamoDB::Table" - case awsAutoscalingAutoscalinggroup = "AWS::AutoScaling::AutoScalingGroup" - case awsAutoscalingLaunchconfiguration = "AWS::AutoScaling::LaunchConfiguration" - case awsAutoscalingScalingpolicy = "AWS::AutoScaling::ScalingPolicy" - case awsAutoscalingScheduledaction = "AWS::AutoScaling::ScheduledAction" - case awsCodebuildProject = "AWS::CodeBuild::Project" - public var description: String { return self.rawValue } + public struct PendingAggregationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RequesterAwsRegion", required: false, type: .string), + AWSShapeMember(label: "RequesterAccountId", required: false, type: .string) + ] + /// The region requesting to aggregate data. + public let requesterAwsRegion: String? + /// The 12-digit account ID of the account requesting to aggregate data. + public let requesterAccountId: String? + + public init(requesterAwsRegion: String? = nil, requesterAccountId: String? = nil) { + self.requesterAwsRegion = requesterAwsRegion + self.requesterAccountId = requesterAccountId + } + + private enum CodingKeys: String, CodingKey { + case requesterAwsRegion = "RequesterAwsRegion" + case requesterAccountId = "RequesterAccountId" + } + } + + public struct ConfigRuleComplianceFilters: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AccountId", required: false, type: .string), + AWSShapeMember(label: "ComplianceType", required: false, type: .enum), + AWSShapeMember(label: "ConfigRuleName", required: false, type: .string), + AWSShapeMember(label: "AwsRegion", required: false, type: .string) + ] + /// The 12-digit account ID of the source account. + public let accountId: String? + /// 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. + public let complianceType: ComplianceType? + /// The name of the AWS Config rule. + public let configRuleName: String? + /// The source region where the data is aggregated. + public let awsRegion: String? + + public init(accountId: String? = nil, complianceType: ComplianceType? = nil, configRuleName: String? = nil, awsRegion: String? = nil) { + self.accountId = accountId + self.complianceType = complianceType + self.configRuleName = configRuleName + self.awsRegion = awsRegion + } + + private enum CodingKeys: String, CodingKey { + case accountId = "AccountId" + case complianceType = "ComplianceType" + case configRuleName = "ConfigRuleName" + case awsRegion = "AwsRegion" + } } public enum Owner: String, CustomStringConvertible, Codable { @@ -559,244 +403,33 @@ extension Config { } } - public struct DeleteEvaluationResultsRequest: AWSShape { + public struct ComplianceSummaryByResourceType: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigRuleName", required: true, type: .string) + AWSShapeMember(label: "ComplianceSummary", required: false, type: .structure), + AWSShapeMember(label: "ResourceType", required: false, type: .string) ] - /// The name of the Config rule for which you want to delete the evaluation results. - public let configRuleName: String + /// The number of AWS resources that are compliant or noncompliant, up to a maximum of 100 for each. + public let complianceSummary: ComplianceSummary? + /// The type of AWS resource. + public let resourceType: String? - public init(configRuleName: String) { - self.configRuleName = configRuleName + public init(complianceSummary: ComplianceSummary? = nil, resourceType: String? = nil) { + self.complianceSummary = complianceSummary + self.resourceType = resourceType } private enum CodingKeys: String, CodingKey { - case configRuleName = "ConfigRuleName" + case complianceSummary = "ComplianceSummary" + case resourceType = "ResourceType" } } - public struct ConfigurationItem: AWSShape { + public struct PutDeliveryChannelRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "configurationStateId", required: false, type: .string), - AWSShapeMember(label: "resourceType", required: false, type: .enum), - AWSShapeMember(label: "resourceName", required: false, type: .string), - AWSShapeMember(label: "relatedEvents", required: false, type: .list), - AWSShapeMember(label: "tags", required: false, type: .map), - AWSShapeMember(label: "resourceId", required: false, type: .string), - AWSShapeMember(label: "configuration", required: false, type: .string), - AWSShapeMember(label: "relationships", required: false, type: .list), - AWSShapeMember(label: "availabilityZone", required: false, type: .string), - AWSShapeMember(label: "arn", required: false, type: .string), - AWSShapeMember(label: "configurationItemStatus", required: false, type: .enum), - AWSShapeMember(label: "configurationItemCaptureTime", required: false, type: .timestamp), - AWSShapeMember(label: "version", required: false, type: .string), - AWSShapeMember(label: "accountId", required: false, type: .string), - AWSShapeMember(label: "resourceCreationTime", required: false, type: .timestamp), - AWSShapeMember(label: "supplementaryConfiguration", required: false, type: .map), - AWSShapeMember(label: "awsRegion", required: false, type: .string), - AWSShapeMember(label: "configurationItemMD5Hash", required: false, type: .string) + AWSShapeMember(label: "DeliveryChannel", required: true, type: .structure) ] - /// An identifier that indicates the ordering of the configuration items of a resource. - public let configurationStateId: String? - /// The type of AWS resource. - public let resourceType: ResourceType? - /// The custom name of the resource, if available. - public let resourceName: String? - /// 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. - public let relatedEvents: [String]? - /// A mapping of key value tags associated with the resource. - public let tags: [String: String]? - /// The ID of the resource (for example., sg-xxxxxx). - public let resourceId: String? - /// The description of the resource configuration. - public let configuration: String? - /// A list of related AWS resources. - public let relationships: [Relationship]? - /// The Availability Zone associated with the resource. - public let availabilityZone: String? - /// The Amazon Resource Name (ARN) of the resource. - public let arn: String? - /// The configuration item status. - public let configurationItemStatus: ConfigurationItemStatus? - /// The time when the configuration recording was initiated. - public let configurationItemCaptureTime: TimeStamp? - /// The version number of the resource configuration. - public let version: String? - /// The 12 digit AWS account ID associated with the resource. - public let accountId: String? - /// The time stamp when the resource was created. - public let resourceCreationTime: TimeStamp? - /// Configuration attributes that AWS Config returns for certain resource types to supplement the information returned for the configuration parameter. - public let supplementaryConfiguration: [String: String]? - /// The region where the resource resides. - public let awsRegion: String? - /// 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. - public let configurationItemMD5Hash: String? - - public init(configurationStateId: String? = nil, resourceType: ResourceType? = nil, resourceName: String? = nil, relatedEvents: [String]? = nil, tags: [String: String]? = nil, resourceId: String? = nil, configuration: String? = nil, relationships: [Relationship]? = nil, availabilityZone: String? = nil, arn: String? = nil, configurationItemStatus: ConfigurationItemStatus? = nil, configurationItemCaptureTime: TimeStamp? = nil, version: String? = nil, accountId: String? = nil, resourceCreationTime: TimeStamp? = nil, supplementaryConfiguration: [String: String]? = nil, awsRegion: String? = nil, configurationItemMD5Hash: String? = nil) { - self.configurationStateId = configurationStateId - self.resourceType = resourceType - self.resourceName = resourceName - self.relatedEvents = relatedEvents - self.tags = tags - self.resourceId = resourceId - self.configuration = configuration - self.relationships = relationships - self.availabilityZone = availabilityZone - self.arn = arn - self.configurationItemStatus = configurationItemStatus - self.configurationItemCaptureTime = configurationItemCaptureTime - self.version = version - self.accountId = accountId - self.resourceCreationTime = resourceCreationTime - self.supplementaryConfiguration = supplementaryConfiguration - self.awsRegion = awsRegion - self.configurationItemMD5Hash = configurationItemMD5Hash - } - - private enum CodingKeys: String, CodingKey { - case configurationStateId = "configurationStateId" - case resourceType = "resourceType" - case resourceName = "resourceName" - case relatedEvents = "relatedEvents" - case tags = "tags" - case resourceId = "resourceId" - case configuration = "configuration" - case relationships = "relationships" - case availabilityZone = "availabilityZone" - case arn = "arn" - case configurationItemStatus = "configurationItemStatus" - case configurationItemCaptureTime = "configurationItemCaptureTime" - case version = "version" - case accountId = "accountId" - case resourceCreationTime = "resourceCreationTime" - case supplementaryConfiguration = "supplementaryConfiguration" - case awsRegion = "awsRegion" - case configurationItemMD5Hash = "configurationItemMD5Hash" - } - } - - public struct PutConfigurationRecorderRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigurationRecorder", required: true, type: .structure) - ] - /// The configuration recorder object that records each configuration change made to the resources. - public let configurationRecorder: ConfigurationRecorder - - public init(configurationRecorder: ConfigurationRecorder) { - self.configurationRecorder = configurationRecorder - } - - private enum CodingKeys: String, CodingKey { - case configurationRecorder = "ConfigurationRecorder" - } - } - - public struct EvaluationResultIdentifier: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OrderingTimestamp", required: false, type: .timestamp), - AWSShapeMember(label: "EvaluationResultQualifier", required: false, type: .structure) - ] - /// 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. - public let orderingTimestamp: TimeStamp? - /// Identifies an AWS Config rule used to evaluate an AWS resource, and provides the type and ID of the evaluated resource. - public let evaluationResultQualifier: EvaluationResultQualifier? - - public init(orderingTimestamp: TimeStamp? = nil, evaluationResultQualifier: EvaluationResultQualifier? = nil) { - self.orderingTimestamp = orderingTimestamp - self.evaluationResultQualifier = evaluationResultQualifier - } - - private enum CodingKeys: String, CodingKey { - case orderingTimestamp = "OrderingTimestamp" - case evaluationResultQualifier = "EvaluationResultQualifier" - } - } - - public struct RecordingGroup: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "allSupported", required: false, type: .boolean), - AWSShapeMember(label: "includeGlobalResourceTypes", required: false, type: .boolean), - AWSShapeMember(label: "resourceTypes", required: false, type: .list) - ] - /// Specifies whether AWS Config records configuration changes for every supported type of regional resource. If you set this option to true, when AWS Config adds support for a new type of regional resource, it automatically starts recording resources of that type. If you set this option to true, you cannot enumerate a list of resourceTypes. - public let allSupported: Bool? - /// Specifies whether AWS Config includes all supported types of global resources (for example, IAM resources) with the resources that it records. Before you can set this option to true, you must set the allSupported option to true. If you set this option to true, when AWS Config adds support for a new type of global resource, it automatically starts recording resources of that type. The configuration details for any global resource are the same in all regions. To prevent duplicate configuration items, you should consider customizing AWS Config in only one region to record global resources. - public let includeGlobalResourceTypes: Bool? - /// 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. - public let resourceTypes: [ResourceType]? - - public init(allSupported: Bool? = nil, includeGlobalResourceTypes: Bool? = nil, resourceTypes: [ResourceType]? = nil) { - self.allSupported = allSupported - self.includeGlobalResourceTypes = includeGlobalResourceTypes - self.resourceTypes = resourceTypes - } - - private enum CodingKeys: String, CodingKey { - case allSupported = "allSupported" - case includeGlobalResourceTypes = "includeGlobalResourceTypes" - case resourceTypes = "resourceTypes" - } - } - - public struct GetComplianceDetailsByConfigRuleRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigRuleName", required: true, type: .string), - AWSShapeMember(label: "Limit", required: false, type: .integer), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "ComplianceTypes", required: false, type: .list) - ] - /// The name of the AWS Config rule for which you want compliance information. - public let configRuleName: String - /// The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default. - public let limit: Int32? - /// The NextToken string returned on a previous page that you use to get the next page of results in a paginated response. - public let nextToken: String? - /// Filters the results by compliance. The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE. - public let complianceTypes: [ComplianceType]? - - public init(configRuleName: String, limit: Int32? = nil, nextToken: String? = nil, complianceTypes: [ComplianceType]? = nil) { - self.configRuleName = configRuleName - self.limit = limit - self.nextToken = nextToken - self.complianceTypes = complianceTypes - } - - private enum CodingKeys: String, CodingKey { - case configRuleName = "ConfigRuleName" - case limit = "Limit" - case nextToken = "NextToken" - case complianceTypes = "ComplianceTypes" - } - } - - public struct ComplianceSummaryByResourceType: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ComplianceSummary", required: false, type: .structure), - AWSShapeMember(label: "ResourceType", required: false, type: .string) - ] - /// The number of AWS resources that are compliant or noncompliant, up to a maximum of 100 for each compliance. - public let complianceSummary: ComplianceSummary? - /// The type of AWS resource. - public let resourceType: String? - - public init(complianceSummary: ComplianceSummary? = nil, resourceType: String? = nil) { - self.complianceSummary = complianceSummary - self.resourceType = resourceType - } - - private enum CodingKeys: String, CodingKey { - case complianceSummary = "ComplianceSummary" - case resourceType = "ResourceType" - } - } - - public struct PutDeliveryChannelRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DeliveryChannel", required: true, type: .structure) - ] - /// The configuration delivery channel object that delivers the configuration information to an Amazon S3 bucket, and to an Amazon SNS topic. - public let deliveryChannel: DeliveryChannel + /// The configuration delivery channel object that delivers the configuration information to an Amazon S3 bucket and to an Amazon SNS topic. + public let deliveryChannel: DeliveryChannel public init(deliveryChannel: DeliveryChannel) { self.deliveryChannel = deliveryChannel @@ -815,7 +448,7 @@ extension Config { AWSShapeMember(label: "OrderingTimestamp", required: true, type: .timestamp), AWSShapeMember(label: "Annotation", required: false, type: .string) ] - /// Indicates whether the AWS resource complies with the AWS Config rule that it was evaluated against. For the Evaluation data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA value for this data type. Similarly, AWS Config does not accept INSUFFICIENT_DATA as the value for ComplianceType from a PutEvaluations request. For example, an AWS Lambda function for a custom Config rule cannot pass an INSUFFICIENT_DATA value to AWS Config. + /// 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. public let complianceType: ComplianceType /// The type of AWS resource that was evaluated. public let complianceResourceType: String @@ -871,11 +504,11 @@ extension Config { AWSShapeMember(label: "MaximumExecutionFrequency", required: false, type: .enum), AWSShapeMember(label: "Description", required: false, type: .string) ] - /// Indicates whether the AWS Config rule is active or is currently being deleted by AWS Config. It can also indicate the evaluation status for the Config rule. AWS Config sets the state of the rule to EVALUATING temporarily after you use the StartConfigRulesEvaluation request to evaluate your resources against the Config rule. AWS Config sets the state of the rule to DELETING_RESULTS temporarily after you use the DeleteEvaluationResults request to delete the current evaluation results for the Config rule. AWS Config sets the state of a rule to DELETING temporarily after you use the DeleteConfigRule request to delete the rule. After AWS Config deletes the rule, the rule and all of its evaluations are erased and are no longer available. + /// 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. public let configRuleState: ConfigRuleState? /// The name that you assign to the AWS Config rule. The name is required if you are adding a new rule. public let configRuleName: String? - /// A string in JSON format that is passed to the AWS Config rule Lambda function. + /// A string, in JSON format, that is passed to the AWS Config rule Lambda function. public let inputParameters: String? /// The ID of the AWS Config rule. public let configRuleId: String? @@ -915,6 +548,22 @@ extension Config { } } + public struct PutConfigurationAggregatorResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigurationAggregator", required: false, type: .structure) + ] + /// Returns a ConfigurationAggregator object. + public let configurationAggregator: ConfigurationAggregator? + + public init(configurationAggregator: ConfigurationAggregator? = nil) { + self.configurationAggregator = configurationAggregator + } + + private enum CodingKeys: String, CodingKey { + case configurationAggregator = "ConfigurationAggregator" + } + } + public struct EvaluationResultQualifier: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ResourceId", required: false, type: .string), @@ -941,74 +590,6 @@ extension Config { } } - public struct GetDiscoveredResourceCountsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "resourceTypes", required: false, type: .list), - AWSShapeMember(label: "limit", required: false, type: .integer) - ] - /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. - public let nextToken: String? - /// The comma-separated list that specifies the resource types that you want the 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. - public let resourceTypes: [String]? - /// The maximum number of ResourceCount objects returned on each page. The default is 100. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default. - public let limit: Int32? - - public init(nextToken: String? = nil, resourceTypes: [String]? = nil, limit: Int32? = nil) { - self.nextToken = nextToken - self.resourceTypes = resourceTypes - self.limit = limit - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case resourceTypes = "resourceTypes" - case limit = "limit" - } - } - - public struct DescribeConfigurationRecorderStatusResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigurationRecordersStatus", required: false, type: .list) - ] - /// A list that contains status of the specified recorders. - public let configurationRecordersStatus: [ConfigurationRecorderStatus]? - - public init(configurationRecordersStatus: [ConfigurationRecorderStatus]? = nil) { - self.configurationRecordersStatus = configurationRecordersStatus - } - - private enum CodingKeys: String, CodingKey { - case configurationRecordersStatus = "ConfigurationRecordersStatus" - } - } - - public struct ComplianceSummary: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ComplianceSummaryTimestamp", required: false, type: .timestamp), - AWSShapeMember(label: "NonCompliantResourceCount", required: false, type: .structure), - AWSShapeMember(label: "CompliantResourceCount", required: false, type: .structure) - ] - /// The time that AWS Config created the compliance summary. - public let complianceSummaryTimestamp: TimeStamp? - /// The number of AWS Config rules or AWS resources that are noncompliant, up to a maximum of 25 for rules and 100 for resources. - public let nonCompliantResourceCount: ComplianceContributorCount? - /// The number of AWS Config rules or AWS resources that are compliant, up to a maximum of 25 for rules and 100 for resources. - public let compliantResourceCount: ComplianceContributorCount? - - public init(complianceSummaryTimestamp: TimeStamp? = nil, nonCompliantResourceCount: ComplianceContributorCount? = nil, compliantResourceCount: ComplianceContributorCount? = nil) { - self.complianceSummaryTimestamp = complianceSummaryTimestamp - self.nonCompliantResourceCount = nonCompliantResourceCount - self.compliantResourceCount = compliantResourceCount - } - - private enum CodingKeys: String, CodingKey { - case complianceSummaryTimestamp = "ComplianceSummaryTimestamp" - case nonCompliantResourceCount = "NonCompliantResourceCount" - case compliantResourceCount = "CompliantResourceCount" - } - } - public enum DeliveryStatus: String, CustomStringConvertible, Codable { case success = "Success" case failure = "Failure" @@ -1025,7 +606,7 @@ extension Config { ] /// 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. public let complianceResourceTypes: [String]? - /// The IDs of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for ComplianceResourceTypes. + /// 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. public let complianceResourceId: String? /// 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. public let tagValue: String? @@ -1047,6 +628,22 @@ extension Config { } } + public struct PutRetentionConfigurationResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RetentionConfiguration", required: false, type: .structure) + ] + /// Returns a retention configuration object. + public let retentionConfiguration: RetentionConfiguration? + + public init(retentionConfiguration: RetentionConfiguration? = nil) { + self.retentionConfiguration = retentionConfiguration + } + + private enum CodingKeys: String, CodingKey { + case retentionConfiguration = "RetentionConfiguration" + } + } + public struct ConfigRuleEvaluationStatus: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LastFailedEvaluationTime", required: false, type: .timestamp), @@ -1099,256 +696,1965 @@ extension Config { } private enum CodingKeys: String, CodingKey { - case lastFailedEvaluationTime = "LastFailedEvaluationTime" - case firstEvaluationStarted = "FirstEvaluationStarted" - case lastSuccessfulEvaluationTime = "LastSuccessfulEvaluationTime" + case lastFailedEvaluationTime = "LastFailedEvaluationTime" + case firstEvaluationStarted = "FirstEvaluationStarted" + case lastSuccessfulEvaluationTime = "LastSuccessfulEvaluationTime" + case configRuleName = "ConfigRuleName" + case firstActivatedTime = "FirstActivatedTime" + case configRuleId = "ConfigRuleId" + case lastSuccessfulInvocationTime = "LastSuccessfulInvocationTime" + case configRuleArn = "ConfigRuleArn" + case lastErrorCode = "LastErrorCode" + case lastErrorMessage = "LastErrorMessage" + case lastFailedInvocationTime = "LastFailedInvocationTime" + } + } + + public struct RetentionConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RetentionPeriodInDays", required: true, type: .integer), + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// Number of days AWS Config stores your historical information. Currently, only applicable to the configuration item history. + public let retentionPeriodInDays: Int32 + /// The name of the retention configuration object. + public let name: String + + public init(retentionPeriodInDays: Int32, name: String) { + self.retentionPeriodInDays = retentionPeriodInDays + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case retentionPeriodInDays = "RetentionPeriodInDays" + case name = "Name" + } + } + + public struct GetComplianceSummaryByConfigRuleResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ComplianceSummary", required: false, type: .structure) + ] + /// The number of AWS Config rules that are compliant and the number that are noncompliant, up to a maximum of 25 for each. + public let complianceSummary: ComplianceSummary? + + public init(complianceSummary: ComplianceSummary? = nil) { + self.complianceSummary = complianceSummary + } + + private enum CodingKeys: String, CodingKey { + case complianceSummary = "ComplianceSummary" + } + } + + public struct DescribeComplianceByConfigRuleRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigRuleNames", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ComplianceTypes", required: false, type: .list) + ] + /// Specify one or more AWS Config rule names to filter the results by rule. + public let configRuleNames: [String]? + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + /// Filters the results by compliance. The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA. + public let complianceTypes: [ComplianceType]? + + public init(configRuleNames: [String]? = nil, nextToken: String? = nil, complianceTypes: [ComplianceType]? = nil) { + self.configRuleNames = configRuleNames + self.nextToken = nextToken + self.complianceTypes = complianceTypes + } + + private enum CodingKeys: String, CodingKey { + case configRuleNames = "ConfigRuleNames" + case nextToken = "NextToken" + case complianceTypes = "ComplianceTypes" + } + } + + public struct GetComplianceSummaryByResourceTypeRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceTypes", required: false, type: .list) + ] + /// 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. + public let resourceTypes: [String]? + + public init(resourceTypes: [String]? = nil) { + self.resourceTypes = resourceTypes + } + + private enum CodingKeys: String, CodingKey { + case resourceTypes = "ResourceTypes" + } + } + + public struct GetComplianceDetailsByResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ResourceType", required: true, type: .string), + AWSShapeMember(label: "ComplianceTypes", required: false, type: .list) + ] + /// The ID of the AWS resource for which you want compliance information. + public let resourceId: String + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + /// The type of the AWS resource for which you want compliance information. + public let resourceType: String + /// Filters the results by compliance. The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE. + public let complianceTypes: [ComplianceType]? + + public init(resourceId: String, nextToken: String? = nil, resourceType: String, complianceTypes: [ComplianceType]? = nil) { + self.resourceId = resourceId + self.nextToken = nextToken + self.resourceType = resourceType + self.complianceTypes = complianceTypes + } + + private enum CodingKeys: String, CodingKey { + case resourceId = "ResourceId" + case nextToken = "NextToken" + case resourceType = "ResourceType" + case complianceTypes = "ComplianceTypes" + } + } + + public struct GetAggregateComplianceDetailsByConfigRuleRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AccountId", required: true, type: .string), + AWSShapeMember(label: "ComplianceType", required: false, type: .enum), + AWSShapeMember(label: "ConfigRuleName", required: true, type: .string), + AWSShapeMember(label: "AwsRegion", required: true, type: .string), + AWSShapeMember(label: "ConfigurationAggregatorName", required: true, type: .string), + AWSShapeMember(label: "Limit", required: false, type: .integer), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// The 12-digit account ID of the source account. + public let accountId: String + /// 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. + public let complianceType: ComplianceType? + /// The name of the AWS Config rule for which you want compliance information. + public let configRuleName: String + /// The source region from where the data is aggregated. + public let awsRegion: String + /// The name of the configuration aggregator. + public let configurationAggregatorName: String + /// 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. + public let limit: Int32? + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + + public init(accountId: String, complianceType: ComplianceType? = nil, configRuleName: String, awsRegion: String, configurationAggregatorName: String, limit: Int32? = nil, nextToken: String? = nil) { + self.accountId = accountId + self.complianceType = complianceType + self.configRuleName = configRuleName + self.awsRegion = awsRegion + self.configurationAggregatorName = configurationAggregatorName + self.limit = limit + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case accountId = "AccountId" + case complianceType = "ComplianceType" + case configRuleName = "ConfigRuleName" + case awsRegion = "AwsRegion" + case configurationAggregatorName = "ConfigurationAggregatorName" + case limit = "Limit" + case nextToken = "NextToken" + } + } + + public struct DescribeConfigRuleEvaluationStatusRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigRuleNames", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Limit", required: false, type: .integer) + ] + /// 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. + public let configRuleNames: [String]? + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + /// 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. + public let limit: Int32? + + public init(configRuleNames: [String]? = nil, nextToken: String? = nil, limit: Int32? = nil) { + self.configRuleNames = configRuleNames + self.nextToken = nextToken + self.limit = limit + } + + private enum CodingKeys: String, CodingKey { + case configRuleNames = "ConfigRuleNames" + case nextToken = "NextToken" + case limit = "Limit" + } + } + + public struct DeliveryChannelStatus: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "configStreamDeliveryInfo", required: false, type: .structure), + AWSShapeMember(label: "configHistoryDeliveryInfo", required: false, type: .structure), + AWSShapeMember(label: "configSnapshotDeliveryInfo", required: false, type: .structure) + ] + /// The name of the delivery channel. + public let name: String? + /// A list containing the status of the delivery of the configuration stream notification to the specified Amazon SNS topic. + public let configStreamDeliveryInfo: ConfigStreamDeliveryInfo? + /// A list that contains the status of the delivery of the configuration history to the specified Amazon S3 bucket. + public let configHistoryDeliveryInfo: ConfigExportDeliveryInfo? + /// A list containing the status of the delivery of the snapshot to the specified Amazon S3 bucket. + public let configSnapshotDeliveryInfo: ConfigExportDeliveryInfo? + + public init(name: String? = nil, configStreamDeliveryInfo: ConfigStreamDeliveryInfo? = nil, configHistoryDeliveryInfo: ConfigExportDeliveryInfo? = nil, configSnapshotDeliveryInfo: ConfigExportDeliveryInfo? = nil) { + self.name = name + self.configStreamDeliveryInfo = configStreamDeliveryInfo + self.configHistoryDeliveryInfo = configHistoryDeliveryInfo + self.configSnapshotDeliveryInfo = configSnapshotDeliveryInfo + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case configStreamDeliveryInfo = "configStreamDeliveryInfo" + case configHistoryDeliveryInfo = "configHistoryDeliveryInfo" + case configSnapshotDeliveryInfo = "configSnapshotDeliveryInfo" + } + } + + public struct StartConfigRulesEvaluationResponse: AWSShape { + + } + + public struct GetResourceConfigHistoryResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "configurationItems", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// A list that contains the configuration history of one or more resources. + public let configurationItems: [ConfigurationItem]? + /// The string that you use in a subsequent request to get the next page of results in a paginated response. + public let nextToken: String? + + public init(configurationItems: [ConfigurationItem]? = nil, nextToken: String? = nil) { + self.configurationItems = configurationItems + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case configurationItems = "configurationItems" + case nextToken = "nextToken" + } + } + + public struct ComplianceByConfigRule: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Compliance", required: false, type: .structure), + AWSShapeMember(label: "ConfigRuleName", required: false, type: .string) + ] + /// Indicates whether the AWS Config rule is compliant. + public let compliance: Compliance? + /// The name of the AWS Config rule. + public let configRuleName: String? + + public init(compliance: Compliance? = nil, configRuleName: String? = nil) { + self.compliance = compliance + self.configRuleName = configRuleName + } + + private enum CodingKeys: String, CodingKey { + case compliance = "Compliance" + case configRuleName = "ConfigRuleName" + } + } + + public struct DeleteConfigurationAggregatorRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigurationAggregatorName", required: true, type: .string) + ] + /// The name of the configuration aggregator. + public let configurationAggregatorName: String + + public init(configurationAggregatorName: String) { + self.configurationAggregatorName = configurationAggregatorName + } + + private enum CodingKeys: String, CodingKey { + case configurationAggregatorName = "ConfigurationAggregatorName" + } + } + + public struct Relationship: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceType", required: false, type: .enum), + AWSShapeMember(label: "resourceId", required: false, type: .string), + AWSShapeMember(label: "resourceName", required: false, type: .string), + AWSShapeMember(label: "relationshipName", required: false, type: .string) + ] + /// The resource type of the related resource. + public let resourceType: ResourceType? + /// The ID of the related resource (for example, sg-xxxxxx). + public let resourceId: String? + /// The custom name of the related resource, if available. + public let resourceName: String? + /// The type of relationship with the related resource. + public let relationshipName: String? + + public init(resourceType: ResourceType? = nil, resourceId: String? = nil, resourceName: String? = nil, relationshipName: String? = nil) { + self.resourceType = resourceType + self.resourceId = resourceId + self.resourceName = resourceName + self.relationshipName = relationshipName + } + + private enum CodingKeys: String, CodingKey { + case resourceType = "resourceType" + case resourceId = "resourceId" + case resourceName = "resourceName" + case relationshipName = "relationshipName" + } + } + + public struct DescribeConfigurationAggregatorsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ConfigurationAggregators", required: false, type: .list) + ] + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + /// Returns a ConfigurationAggregators object. + public let configurationAggregators: [ConfigurationAggregator]? + + public init(nextToken: String? = nil, configurationAggregators: [ConfigurationAggregator]? = nil) { + self.nextToken = nextToken + self.configurationAggregators = configurationAggregators + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case configurationAggregators = "ConfigurationAggregators" + } + } + + public struct ConfigSnapshotDeliveryProperties: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "deliveryFrequency", required: false, type: .enum) + ] + /// The frequency with which AWS Config delivers configuration snapshots. + public let deliveryFrequency: MaximumExecutionFrequency? + + public init(deliveryFrequency: MaximumExecutionFrequency? = nil) { + self.deliveryFrequency = deliveryFrequency + } + + private enum CodingKeys: String, CodingKey { + case deliveryFrequency = "deliveryFrequency" + } + } + + public struct GetAggregateConfigRuleComplianceSummaryResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GroupByKey", required: false, type: .string), + AWSShapeMember(label: "AggregateComplianceCounts", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// Groups the result based on ACCOUNT_ID or AWS_REGION. + public let groupByKey: String? + /// Returns a list of AggregateComplianceCounts object. + public let aggregateComplianceCounts: [AggregateComplianceCount]? + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + + public init(groupByKey: String? = nil, aggregateComplianceCounts: [AggregateComplianceCount]? = nil, nextToken: String? = nil) { + self.groupByKey = groupByKey + self.aggregateComplianceCounts = aggregateComplianceCounts + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case groupByKey = "GroupByKey" + case aggregateComplianceCounts = "AggregateComplianceCounts" + case nextToken = "NextToken" + } + } + + public struct ListDiscoveredResourcesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceIdentifiers", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// The details that identify a resource that is discovered by AWS Config, including the resource type, ID, and (if available) the custom resource name. + public let resourceIdentifiers: [ResourceIdentifier]? + /// The string that you use in a subsequent request to get the next page of results in a paginated response. + public let nextToken: String? + + public init(resourceIdentifiers: [ResourceIdentifier]? = nil, nextToken: String? = nil) { + self.resourceIdentifiers = resourceIdentifiers + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case resourceIdentifiers = "resourceIdentifiers" + case nextToken = "nextToken" + } + } + + public enum ConfigRuleComplianceSummaryGroupKey: String, CustomStringConvertible, Codable { + case accountId = "ACCOUNT_ID" + case awsRegion = "AWS_REGION" + public var description: String { return self.rawValue } + } + + public struct PutRetentionConfigurationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RetentionPeriodInDays", required: true, type: .integer) + ] + /// Number of days AWS Config stores your historical information. Currently, only applicable to the configuration item history. + public let retentionPeriodInDays: Int32 + + public init(retentionPeriodInDays: Int32) { + self.retentionPeriodInDays = retentionPeriodInDays + } + + private enum CodingKeys: String, CodingKey { + case retentionPeriodInDays = "RetentionPeriodInDays" + } + } + + public struct DeleteEvaluationResultsResponse: AWSShape { + + } + + public struct GetDiscoveredResourceCountsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceCounts", required: false, type: .list), + AWSShapeMember(label: "totalDiscoveredResources", required: false, type: .long), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// The list of ResourceCount objects. Each object is listed in descending order by the number of resources. + public let resourceCounts: [ResourceCount]? + /// 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 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. You make a call to the GetDiscoveredResourceCounts action and specify the resource type, "AWS::EC2::Instances", in the request. AWS Config returns 25 for totalDiscoveredResources. + public let totalDiscoveredResources: Int64? + /// The string that you use in a subsequent request to get the next page of results in a paginated response. + public let nextToken: String? + + public init(resourceCounts: [ResourceCount]? = nil, totalDiscoveredResources: Int64? = nil, nextToken: String? = nil) { + self.resourceCounts = resourceCounts + self.totalDiscoveredResources = totalDiscoveredResources + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case resourceCounts = "resourceCounts" + case totalDiscoveredResources = "totalDiscoveredResources" + case nextToken = "nextToken" + } + } + + public struct DescribeConfigRulesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigRules", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// The details about your AWS Config rules. + public let configRules: [ConfigRule]? + /// The string that you use in a subsequent request to get the next page of results in a paginated response. + public let nextToken: String? + + public init(configRules: [ConfigRule]? = nil, nextToken: String? = nil) { + self.configRules = configRules + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case configRules = "ConfigRules" + case nextToken = "NextToken" + } + } + + public struct DeleteRetentionConfigurationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RetentionConfigurationName", required: true, type: .string) + ] + /// The name of the retention configuration to delete. + public let retentionConfigurationName: String + + public init(retentionConfigurationName: String) { + self.retentionConfigurationName = retentionConfigurationName + } + + private enum CodingKeys: String, CodingKey { + case retentionConfigurationName = "RetentionConfigurationName" + } + } + + public struct DescribeComplianceByResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Limit", required: false, type: .integer), + AWSShapeMember(label: "ResourceId", required: false, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ResourceType", required: false, type: .string), + AWSShapeMember(label: "ComplianceTypes", required: false, type: .list) + ] + /// 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. + public let limit: Int32? + /// 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. + public let resourceId: String? + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + /// 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. + public let resourceType: String? + /// Filters the results by compliance. The allowed values are COMPLIANT and NON_COMPLIANT. + public let complianceTypes: [ComplianceType]? + + public init(limit: Int32? = nil, resourceId: String? = nil, nextToken: String? = nil, resourceType: String? = nil, complianceTypes: [ComplianceType]? = nil) { + self.limit = limit + self.resourceId = resourceId + self.nextToken = nextToken + self.resourceType = resourceType + self.complianceTypes = complianceTypes + } + + private enum CodingKeys: String, CodingKey { + case limit = "Limit" + case resourceId = "ResourceId" + case nextToken = "NextToken" + case resourceType = "ResourceType" + case complianceTypes = "ComplianceTypes" + } + } + + public struct EvaluationResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EvaluationResultIdentifier", required: false, type: .structure), + AWSShapeMember(label: "ConfigRuleInvokedTime", required: false, type: .timestamp), + AWSShapeMember(label: "ResultRecordedTime", required: false, type: .timestamp), + AWSShapeMember(label: "ComplianceType", required: false, type: .enum), + AWSShapeMember(label: "ResultToken", required: false, type: .string), + AWSShapeMember(label: "Annotation", required: false, type: .string) + ] + /// Uniquely identifies the evaluation result. + public let evaluationResultIdentifier: EvaluationResultIdentifier? + /// The time when the AWS Config rule evaluated the AWS resource. + public let configRuleInvokedTime: TimeStamp? + /// The time when AWS Config recorded the evaluation result. + public let resultRecordedTime: TimeStamp? + /// 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. + public let complianceType: ComplianceType? + /// 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. + public let resultToken: String? + /// Supplementary information about how the evaluation determined the compliance. + public let annotation: String? + + public init(evaluationResultIdentifier: EvaluationResultIdentifier? = nil, configRuleInvokedTime: TimeStamp? = nil, resultRecordedTime: TimeStamp? = nil, complianceType: ComplianceType? = nil, resultToken: String? = nil, annotation: String? = nil) { + self.evaluationResultIdentifier = evaluationResultIdentifier + self.configRuleInvokedTime = configRuleInvokedTime + self.resultRecordedTime = resultRecordedTime + self.complianceType = complianceType + self.resultToken = resultToken + self.annotation = annotation + } + + private enum CodingKeys: String, CodingKey { + case evaluationResultIdentifier = "EvaluationResultIdentifier" + case configRuleInvokedTime = "ConfigRuleInvokedTime" + case resultRecordedTime = "ResultRecordedTime" + case complianceType = "ComplianceType" + case resultToken = "ResultToken" + case annotation = "Annotation" + } + } + + public enum AggregatedSourceType: String, CustomStringConvertible, Codable { + case account = "ACCOUNT" + case organization = "ORGANIZATION" + public var description: String { return self.rawValue } + } + + public struct DeleteAggregationAuthorizationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AuthorizedAccountId", required: true, type: .string), + AWSShapeMember(label: "AuthorizedAwsRegion", required: true, type: .string) + ] + /// The 12-digit account ID of the account authorized to aggregate data. + public let authorizedAccountId: String + /// The region authorized to collect aggregated data. + public let authorizedAwsRegion: String + + public init(authorizedAccountId: String, authorizedAwsRegion: String) { + self.authorizedAccountId = authorizedAccountId + self.authorizedAwsRegion = authorizedAwsRegion + } + + private enum CodingKeys: String, CodingKey { + case authorizedAccountId = "AuthorizedAccountId" + case authorizedAwsRegion = "AuthorizedAwsRegion" + } + } + + public struct PutEvaluationsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FailedEvaluations", required: false, type: .list) + ] + /// Requests that failed because of a client or server error. + public let failedEvaluations: [Evaluation]? + + public init(failedEvaluations: [Evaluation]? = nil) { + self.failedEvaluations = failedEvaluations + } + + private enum CodingKeys: String, CodingKey { + case failedEvaluations = "FailedEvaluations" + } + } + + public struct OrganizationAggregationSource: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoleArn", required: true, type: .string), + AWSShapeMember(label: "AwsRegions", required: false, type: .list), + AWSShapeMember(label: "AllAwsRegions", required: false, type: .boolean) + ] + /// ARN of the IAM role used to retreive AWS Organization details associated with the aggregator account. + public let roleArn: String + /// The source regions being aggregated. + public let awsRegions: [String]? + /// If true, aggregate existing AWS Config regions and future regions. + public let allAwsRegions: Bool? + + public init(roleArn: String, awsRegions: [String]? = nil, allAwsRegions: Bool? = nil) { + self.roleArn = roleArn + self.awsRegions = awsRegions + self.allAwsRegions = allAwsRegions + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "RoleArn" + case awsRegions = "AwsRegions" + case allAwsRegions = "AllAwsRegions" + } + } + + public struct DescribeRetentionConfigurationsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "RetentionConfigurations", required: false, type: .list) + ] + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + /// Returns a retention configuration object. + public let retentionConfigurations: [RetentionConfiguration]? + + public init(nextToken: String? = nil, retentionConfigurations: [RetentionConfiguration]? = nil) { + self.nextToken = nextToken + self.retentionConfigurations = retentionConfigurations + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case retentionConfigurations = "RetentionConfigurations" + } + } + + public struct DescribeDeliveryChannelStatusRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeliveryChannelNames", required: false, type: .list) + ] + /// A list of delivery channel names. + public let deliveryChannelNames: [String]? + + public init(deliveryChannelNames: [String]? = nil) { + self.deliveryChannelNames = deliveryChannelNames + } + + private enum CodingKeys: String, CodingKey { + case deliveryChannelNames = "DeliveryChannelNames" + } + } + + public struct DescribeAggregationAuthorizationsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AggregationAuthorizations", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// Returns a list of authorizations granted to various aggregator accounts and regions. + public let aggregationAuthorizations: [AggregationAuthorization]? + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + + public init(aggregationAuthorizations: [AggregationAuthorization]? = nil, nextToken: String? = nil) { + self.aggregationAuthorizations = aggregationAuthorizations + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case aggregationAuthorizations = "AggregationAuthorizations" + case nextToken = "NextToken" + } + } + + public struct ConfigurationAggregator: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastUpdatedTime", required: false, type: .timestamp), + AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), + AWSShapeMember(label: "OrganizationAggregationSource", required: false, type: .structure), + AWSShapeMember(label: "AccountAggregationSources", required: false, type: .list), + AWSShapeMember(label: "ConfigurationAggregatorArn", required: false, type: .string), + AWSShapeMember(label: "ConfigurationAggregatorName", required: false, type: .string) + ] + /// The time of the last update. + public let lastUpdatedTime: TimeStamp? + /// The time stamp when the configuration aggregator was created. + public let creationTime: TimeStamp? + /// Provides an organization and list of regions to be aggregated. + public let organizationAggregationSource: OrganizationAggregationSource? + /// Provides a list of source accounts and regions to be aggregated. + public let accountAggregationSources: [AccountAggregationSource]? + /// The Amazon Resource Name (ARN) of the aggregator. + public let configurationAggregatorArn: String? + /// The name of the aggregator. + public let configurationAggregatorName: String? + + public init(lastUpdatedTime: TimeStamp? = nil, creationTime: TimeStamp? = nil, organizationAggregationSource: OrganizationAggregationSource? = nil, accountAggregationSources: [AccountAggregationSource]? = nil, configurationAggregatorArn: String? = nil, configurationAggregatorName: String? = nil) { + self.lastUpdatedTime = lastUpdatedTime + self.creationTime = creationTime + self.organizationAggregationSource = organizationAggregationSource + self.accountAggregationSources = accountAggregationSources + self.configurationAggregatorArn = configurationAggregatorArn + self.configurationAggregatorName = configurationAggregatorName + } + + private enum CodingKeys: String, CodingKey { + case lastUpdatedTime = "LastUpdatedTime" + case creationTime = "CreationTime" + case organizationAggregationSource = "OrganizationAggregationSource" + case accountAggregationSources = "AccountAggregationSources" + case configurationAggregatorArn = "ConfigurationAggregatorArn" + case configurationAggregatorName = "ConfigurationAggregatorName" + } + } + + public struct ConfigRuleComplianceSummaryFilters: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AccountId", required: false, type: .string), + AWSShapeMember(label: "AwsRegion", required: false, type: .string) + ] + /// The 12-digit account ID of the source account. + public let accountId: String? + /// The source region where the data is aggregated. + public let awsRegion: String? + + public init(accountId: String? = nil, awsRegion: String? = nil) { + self.accountId = accountId + self.awsRegion = awsRegion + } + + private enum CodingKeys: String, CodingKey { + case accountId = "AccountId" + case awsRegion = "AwsRegion" + } + } + + public struct PutEvaluationsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Evaluations", required: false, type: .list), + AWSShapeMember(label: "ResultToken", required: true, type: .string), + AWSShapeMember(label: "TestMode", required: false, type: .boolean) + ] + /// 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. + public let evaluations: [Evaluation]? + /// An encrypted token that associates an evaluation with an AWS Config rule. Identifies the rule and the event that triggered the evaluation. + public let resultToken: String + /// 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. + public let testMode: Bool? + + public init(evaluations: [Evaluation]? = nil, resultToken: String, testMode: Bool? = nil) { + self.evaluations = evaluations + self.resultToken = resultToken + self.testMode = testMode + } + + private enum CodingKeys: String, CodingKey { + case evaluations = "Evaluations" + case resultToken = "ResultToken" + case testMode = "TestMode" + } + } + + public struct AggregateComplianceCount: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ComplianceSummary", required: false, type: .structure), + AWSShapeMember(label: "GroupName", required: false, type: .string) + ] + /// The number of compliant and noncompliant AWS Config rules. + public let complianceSummary: ComplianceSummary? + /// The 12-digit account ID or region based on the GroupByKey value. + public let groupName: String? + + public init(complianceSummary: ComplianceSummary? = nil, groupName: String? = nil) { + self.complianceSummary = complianceSummary + self.groupName = groupName + } + + private enum CodingKeys: String, CodingKey { + case complianceSummary = "ComplianceSummary" + case groupName = "GroupName" + } + } + + public struct AggregateEvaluationResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AccountId", required: false, type: .string), + AWSShapeMember(label: "ComplianceType", required: false, type: .enum), + AWSShapeMember(label: "AwsRegion", required: false, type: .string), + AWSShapeMember(label: "Annotation", required: false, type: .string), + AWSShapeMember(label: "EvaluationResultIdentifier", required: false, type: .structure), + AWSShapeMember(label: "ConfigRuleInvokedTime", required: false, type: .timestamp), + AWSShapeMember(label: "ResultRecordedTime", required: false, type: .timestamp) + ] + /// The 12-digit account ID of the source account. + public let accountId: String? + /// 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. + public let complianceType: ComplianceType? + /// The source region from where the data is aggregated. + public let awsRegion: String? + /// Supplementary information about how the agrregate evaluation determined the compliance. + public let annotation: String? + /// Uniquely identifies the evaluation result. + public let evaluationResultIdentifier: EvaluationResultIdentifier? + /// The time when the AWS Config rule evaluated the AWS resource. + public let configRuleInvokedTime: TimeStamp? + /// The time when AWS Config recorded the aggregate evaluation result. + public let resultRecordedTime: TimeStamp? + + public init(accountId: String? = nil, complianceType: ComplianceType? = nil, awsRegion: String? = nil, annotation: String? = nil, evaluationResultIdentifier: EvaluationResultIdentifier? = nil, configRuleInvokedTime: TimeStamp? = nil, resultRecordedTime: TimeStamp? = nil) { + self.accountId = accountId + self.complianceType = complianceType + self.awsRegion = awsRegion + self.annotation = annotation + self.evaluationResultIdentifier = evaluationResultIdentifier + self.configRuleInvokedTime = configRuleInvokedTime + self.resultRecordedTime = resultRecordedTime + } + + private enum CodingKeys: String, CodingKey { + case accountId = "AccountId" + case complianceType = "ComplianceType" + case awsRegion = "AwsRegion" + case annotation = "Annotation" + case evaluationResultIdentifier = "EvaluationResultIdentifier" + case configRuleInvokedTime = "ConfigRuleInvokedTime" + case resultRecordedTime = "ResultRecordedTime" + } + } + + public struct ConfigStreamDeliveryInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "lastErrorMessage", required: false, type: .string), + AWSShapeMember(label: "lastErrorCode", required: false, type: .string), + AWSShapeMember(label: "lastStatus", required: false, type: .enum), + AWSShapeMember(label: "lastStatusChangeTime", required: false, type: .timestamp) + ] + /// The error message from the last attempted delivery. + public let lastErrorMessage: String? + /// The error code from the last attempted delivery. + public let lastErrorCode: String? + /// 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. + public let lastStatus: DeliveryStatus? + /// The time from the last status change. + public let lastStatusChangeTime: TimeStamp? + + public init(lastErrorMessage: String? = nil, lastErrorCode: String? = nil, lastStatus: DeliveryStatus? = nil, lastStatusChangeTime: TimeStamp? = nil) { + self.lastErrorMessage = lastErrorMessage + self.lastErrorCode = lastErrorCode + self.lastStatus = lastStatus + self.lastStatusChangeTime = lastStatusChangeTime + } + + private enum CodingKeys: String, CodingKey { + case lastErrorMessage = "lastErrorMessage" + case lastErrorCode = "lastErrorCode" + case lastStatus = "lastStatus" + case lastStatusChangeTime = "lastStatusChangeTime" + } + } + + public struct GetComplianceDetailsByConfigRuleResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EvaluationResults", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// Indicates whether the AWS resource complies with the specified AWS Config rule. + public let evaluationResults: [EvaluationResult]? + /// The string that you use in a subsequent request to get the next page of results in a paginated response. + public let nextToken: String? + + public init(evaluationResults: [EvaluationResult]? = nil, nextToken: String? = nil) { + self.evaluationResults = evaluationResults + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case evaluationResults = "EvaluationResults" + case nextToken = "NextToken" + } + } + + public struct Source: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Owner", required: true, type: .enum), + AWSShapeMember(label: "SourceDetails", required: false, type: .list), + AWSShapeMember(label: "SourceIdentifier", required: true, type: .string) + ] + /// Indicates whether AWS or the customer owns and manages the AWS Config rule. + public let owner: Owner + /// Provides the source and type of the event that causes AWS Config to evaluate your AWS resources. + public let sourceDetails: [SourceDetail]? + /// 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. + public let sourceIdentifier: String + + public init(owner: Owner, sourceDetails: [SourceDetail]? = nil, sourceIdentifier: String) { + self.owner = owner + self.sourceDetails = sourceDetails + self.sourceIdentifier = sourceIdentifier + } + + private enum CodingKeys: String, CodingKey { + case owner = "Owner" + case sourceDetails = "SourceDetails" + case sourceIdentifier = "SourceIdentifier" + } + } + + public struct DeleteConfigRuleRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigRuleName", required: true, type: .string) + ] + /// The name of the AWS Config rule that you want to delete. + public let configRuleName: String + + public init(configRuleName: String) { + self.configRuleName = configRuleName + } + + private enum CodingKeys: String, CodingKey { + case configRuleName = "ConfigRuleName" + } + } + + public struct SourceDetail: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MessageType", required: false, type: .enum), + AWSShapeMember(label: "EventSource", required: false, type: .enum), + AWSShapeMember(label: "MaximumExecutionFrequency", required: false, type: .enum) + ] + /// 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. + public let messageType: MessageType? + /// The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources. + public let eventSource: EventSource? + /// 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. + public let maximumExecutionFrequency: MaximumExecutionFrequency? + + public init(messageType: MessageType? = nil, eventSource: EventSource? = nil, maximumExecutionFrequency: MaximumExecutionFrequency? = nil) { + self.messageType = messageType + self.eventSource = eventSource + self.maximumExecutionFrequency = maximumExecutionFrequency + } + + private enum CodingKeys: String, CodingKey { + case messageType = "MessageType" + case eventSource = "EventSource" + case maximumExecutionFrequency = "MaximumExecutionFrequency" + } + } + + public struct GetAggregateConfigRuleComplianceSummaryRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "Limit", required: false, type: .integer), + AWSShapeMember(label: "GroupByKey", required: false, type: .enum), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ConfigurationAggregatorName", required: true, type: .string) + ] + /// Filters the results based on the ConfigRuleComplianceSummaryFilters object. + public let filters: ConfigRuleComplianceSummaryFilters? + /// 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. + public let limit: Int32? + /// Groups the result based on ACCOUNT_ID or AWS_REGION. + public let groupByKey: ConfigRuleComplianceSummaryGroupKey? + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + /// The name of the configuration aggregator. + public let configurationAggregatorName: String + + public init(filters: ConfigRuleComplianceSummaryFilters? = nil, limit: Int32? = nil, groupByKey: ConfigRuleComplianceSummaryGroupKey? = nil, nextToken: String? = nil, configurationAggregatorName: String) { + self.filters = filters + self.limit = limit + self.groupByKey = groupByKey + self.nextToken = nextToken + self.configurationAggregatorName = configurationAggregatorName + } + + private enum CodingKeys: String, CodingKey { + case filters = "Filters" + case limit = "Limit" + case groupByKey = "GroupByKey" + case nextToken = "NextToken" + case configurationAggregatorName = "ConfigurationAggregatorName" + } + } + + public struct ConfigExportDeliveryInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "lastErrorMessage", required: false, type: .string), + AWSShapeMember(label: "lastAttemptTime", required: false, type: .timestamp), + AWSShapeMember(label: "lastSuccessfulTime", required: false, type: .timestamp), + AWSShapeMember(label: "lastErrorCode", required: false, type: .string), + AWSShapeMember(label: "lastStatus", required: false, type: .enum), + AWSShapeMember(label: "nextDeliveryTime", required: false, type: .timestamp) + ] + /// The error message from the last attempted delivery. + public let lastErrorMessage: String? + /// The time of the last attempted delivery. + public let lastAttemptTime: TimeStamp? + /// The time of the last successful delivery. + public let lastSuccessfulTime: TimeStamp? + /// The error code from the last attempted delivery. + public let lastErrorCode: String? + /// Status of the last attempted delivery. + public let lastStatus: DeliveryStatus? + /// The time that the next delivery occurs. + public let nextDeliveryTime: TimeStamp? + + public init(lastErrorMessage: String? = nil, lastAttemptTime: TimeStamp? = nil, lastSuccessfulTime: TimeStamp? = nil, lastErrorCode: String? = nil, lastStatus: DeliveryStatus? = nil, nextDeliveryTime: TimeStamp? = nil) { + self.lastErrorMessage = lastErrorMessage + self.lastAttemptTime = lastAttemptTime + self.lastSuccessfulTime = lastSuccessfulTime + self.lastErrorCode = lastErrorCode + self.lastStatus = lastStatus + self.nextDeliveryTime = nextDeliveryTime + } + + private enum CodingKeys: String, CodingKey { + case lastErrorMessage = "lastErrorMessage" + case lastAttemptTime = "lastAttemptTime" + case lastSuccessfulTime = "lastSuccessfulTime" + case lastErrorCode = "lastErrorCode" + case lastStatus = "lastStatus" + case nextDeliveryTime = "nextDeliveryTime" + } + } + + public struct DescribeConfigurationRecordersResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigurationRecorders", required: false, type: .list) + ] + /// A list that contains the descriptions of the specified configuration recorders. + public let configurationRecorders: [ConfigurationRecorder]? + + public init(configurationRecorders: [ConfigurationRecorder]? = nil) { + self.configurationRecorders = configurationRecorders + } + + private enum CodingKeys: String, CodingKey { + case configurationRecorders = "ConfigurationRecorders" + } + } + + public struct BaseConfigurationItem: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "configurationStateId", required: false, type: .string), + AWSShapeMember(label: "resourceType", required: false, type: .enum), + AWSShapeMember(label: "resourceName", required: false, type: .string), + AWSShapeMember(label: "resourceId", required: false, type: .string), + AWSShapeMember(label: "configuration", required: false, type: .string), + AWSShapeMember(label: "arn", required: false, type: .string), + AWSShapeMember(label: "availabilityZone", required: false, type: .string), + AWSShapeMember(label: "configurationItemStatus", required: false, type: .enum), + AWSShapeMember(label: "configurationItemCaptureTime", required: false, type: .timestamp), + AWSShapeMember(label: "version", required: false, type: .string), + AWSShapeMember(label: "awsRegion", required: false, type: .string), + AWSShapeMember(label: "resourceCreationTime", required: false, type: .timestamp), + AWSShapeMember(label: "supplementaryConfiguration", required: false, type: .map), + AWSShapeMember(label: "accountId", required: false, type: .string) + ] + /// An identifier that indicates the ordering of the configuration items of a resource. + public let configurationStateId: String? + /// The type of AWS resource. + public let resourceType: ResourceType? + /// The custom name of the resource, if available. + public let resourceName: String? + /// The ID of the resource (for example., sg-xxxxxx). + public let resourceId: String? + /// The description of the resource configuration. + public let configuration: String? + /// The Amazon Resource Name (ARN) of the resource. + public let arn: String? + /// The Availability Zone associated with the resource. + public let availabilityZone: String? + /// The configuration item status. + public let configurationItemStatus: ConfigurationItemStatus? + /// The time when the configuration recording was initiated. + public let configurationItemCaptureTime: TimeStamp? + /// The version number of the resource configuration. + public let version: String? + /// The region where the resource resides. + public let awsRegion: String? + /// The time stamp when the resource was created. + public let resourceCreationTime: TimeStamp? + /// Configuration attributes that AWS Config returns for certain resource types to supplement the information returned for the configuration parameter. + public let supplementaryConfiguration: [String: String]? + /// The 12 digit AWS account ID associated with the resource. + public let accountId: String? + + public init(configurationStateId: String? = nil, resourceType: ResourceType? = nil, resourceName: String? = nil, resourceId: String? = nil, configuration: String? = nil, arn: String? = nil, availabilityZone: String? = nil, configurationItemStatus: ConfigurationItemStatus? = nil, configurationItemCaptureTime: TimeStamp? = nil, version: String? = nil, awsRegion: String? = nil, resourceCreationTime: TimeStamp? = nil, supplementaryConfiguration: [String: String]? = nil, accountId: String? = nil) { + self.configurationStateId = configurationStateId + self.resourceType = resourceType + self.resourceName = resourceName + self.resourceId = resourceId + self.configuration = configuration + self.arn = arn + self.availabilityZone = availabilityZone + self.configurationItemStatus = configurationItemStatus + self.configurationItemCaptureTime = configurationItemCaptureTime + self.version = version + self.awsRegion = awsRegion + self.resourceCreationTime = resourceCreationTime + self.supplementaryConfiguration = supplementaryConfiguration + self.accountId = accountId + } + + private enum CodingKeys: String, CodingKey { + case configurationStateId = "configurationStateId" + case resourceType = "resourceType" + case resourceName = "resourceName" + case resourceId = "resourceId" + case configuration = "configuration" + case arn = "arn" + case availabilityZone = "availabilityZone" + case configurationItemStatus = "configurationItemStatus" + case configurationItemCaptureTime = "configurationItemCaptureTime" + case version = "version" + case awsRegion = "awsRegion" + case resourceCreationTime = "resourceCreationTime" + case supplementaryConfiguration = "supplementaryConfiguration" + case accountId = "accountId" + } + } + + public struct DescribeConfigurationRecordersRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigurationRecorderNames", required: false, type: .list) + ] + /// A list of configuration recorder names. + public let configurationRecorderNames: [String]? + + public init(configurationRecorderNames: [String]? = nil) { + self.configurationRecorderNames = configurationRecorderNames + } + + private enum CodingKeys: String, CodingKey { + case configurationRecorderNames = "ConfigurationRecorderNames" + } + } + + public struct ResourceIdentifier: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceType", required: false, type: .enum), + AWSShapeMember(label: "resourceId", required: false, type: .string), + AWSShapeMember(label: "resourceName", required: false, type: .string), + AWSShapeMember(label: "resourceDeletionTime", required: false, type: .timestamp) + ] + /// The type of resource. + public let resourceType: ResourceType? + /// The ID of the resource (for example, sg-xxxxxx). + public let resourceId: String? + /// The custom name of the resource (if available). + public let resourceName: String? + /// The time that the resource was deleted. + public let resourceDeletionTime: TimeStamp? + + public init(resourceType: ResourceType? = nil, resourceId: String? = nil, resourceName: String? = nil, resourceDeletionTime: TimeStamp? = nil) { + self.resourceType = resourceType + self.resourceId = resourceId + self.resourceName = resourceName + self.resourceDeletionTime = resourceDeletionTime + } + + private enum CodingKeys: String, CodingKey { + case resourceType = "resourceType" + case resourceId = "resourceId" + case resourceName = "resourceName" + case resourceDeletionTime = "resourceDeletionTime" + } + } + + public struct PutAggregationAuthorizationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AuthorizedAccountId", required: true, type: .string), + AWSShapeMember(label: "AuthorizedAwsRegion", required: true, type: .string) + ] + /// The 12-digit account ID of the account authorized to aggregate data. + public let authorizedAccountId: String + /// The region authorized to collect aggregated data. + public let authorizedAwsRegion: String + + public init(authorizedAccountId: String, authorizedAwsRegion: String) { + self.authorizedAccountId = authorizedAccountId + self.authorizedAwsRegion = authorizedAwsRegion + } + + private enum CodingKeys: String, CodingKey { + case authorizedAccountId = "AuthorizedAccountId" + case authorizedAwsRegion = "AuthorizedAwsRegion" + } + } + + public struct DeliveryChannel: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "s3KeyPrefix", required: false, type: .string), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "configSnapshotDeliveryProperties", required: false, type: .structure), + AWSShapeMember(label: "s3BucketName", required: false, type: .string), + AWSShapeMember(label: "snsTopicARN", required: false, type: .string) + ] + /// The prefix for the specified Amazon S3 bucket. + public let s3KeyPrefix: String? + /// 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. + public let name: String? + /// The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket. + public let configSnapshotDeliveryProperties: ConfigSnapshotDeliveryProperties? + /// 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. + public let s3BucketName: String? + /// 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. + public let snsTopicARN: String? + + public init(s3KeyPrefix: String? = nil, name: String? = nil, configSnapshotDeliveryProperties: ConfigSnapshotDeliveryProperties? = nil, s3BucketName: String? = nil, snsTopicARN: String? = nil) { + self.s3KeyPrefix = s3KeyPrefix + self.name = name + self.configSnapshotDeliveryProperties = configSnapshotDeliveryProperties + self.s3BucketName = s3BucketName + self.snsTopicARN = snsTopicARN + } + + private enum CodingKeys: String, CodingKey { + case s3KeyPrefix = "s3KeyPrefix" + case name = "name" + case configSnapshotDeliveryProperties = "configSnapshotDeliveryProperties" + case s3BucketName = "s3BucketName" + case snsTopicARN = "snsTopicARN" + } + } + + public struct PutConfigRuleRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigRule", required: true, type: .structure) + ] + /// The rule that you want to add to your account. + public let configRule: ConfigRule + + public init(configRule: ConfigRule) { + self.configRule = configRule + } + + private enum CodingKeys: String, CodingKey { + case configRule = "ConfigRule" + } + } + + public enum EventSource: String, CustomStringConvertible, Codable { + case awsConfig = "aws.config" + public var description: String { return self.rawValue } + } + + public struct DescribeConfigRulesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigRuleNames", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// 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. + public let configRuleNames: [String]? + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + + public init(configRuleNames: [String]? = nil, nextToken: String? = nil) { + self.configRuleNames = configRuleNames + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case configRuleNames = "ConfigRuleNames" + case nextToken = "NextToken" + } + } + + public struct DeliverConfigSnapshotResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "configSnapshotId", required: false, type: .string) + ] + /// The ID of the snapshot that is being created. + public let configSnapshotId: String? + + public init(configSnapshotId: String? = nil) { + self.configSnapshotId = configSnapshotId + } + + private enum CodingKeys: String, CodingKey { + case configSnapshotId = "configSnapshotId" + } + } + + public struct AccountAggregationSource: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AllAwsRegions", required: false, type: .boolean), + AWSShapeMember(label: "AwsRegions", required: false, type: .list), + AWSShapeMember(label: "AccountIds", required: true, type: .list) + ] + /// If true, aggregate existing AWS Config regions and future regions. + public let allAwsRegions: Bool? + /// The source regions being aggregated. + public let awsRegions: [String]? + /// The 12-digit account ID of the account being aggregated. + public let accountIds: [String] + + public init(allAwsRegions: Bool? = nil, awsRegions: [String]? = nil, accountIds: [String]) { + self.allAwsRegions = allAwsRegions + self.awsRegions = awsRegions + self.accountIds = accountIds + } + + private enum CodingKeys: String, CodingKey { + case allAwsRegions = "AllAwsRegions" + case awsRegions = "AwsRegions" + case accountIds = "AccountIds" + } + } + + public struct GetAggregateComplianceDetailsByConfigRuleResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AggregateEvaluationResults", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// Returns an AggregateEvaluationResults object. + public let aggregateEvaluationResults: [AggregateEvaluationResult]? + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + + public init(aggregateEvaluationResults: [AggregateEvaluationResult]? = nil, nextToken: String? = nil) { + self.aggregateEvaluationResults = aggregateEvaluationResults + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case aggregateEvaluationResults = "AggregateEvaluationResults" + case nextToken = "NextToken" + } + } + + public enum ResourceType: String, CustomStringConvertible, Codable { + case awsEc2Customergateway = "AWS::EC2::CustomerGateway" + case awsEc2Eip = "AWS::EC2::EIP" + case awsEc2Host = "AWS::EC2::Host" + case awsEc2Instance = "AWS::EC2::Instance" + case awsEc2Internetgateway = "AWS::EC2::InternetGateway" + case awsEc2Networkacl = "AWS::EC2::NetworkAcl" + case awsEc2Networkinterface = "AWS::EC2::NetworkInterface" + case awsEc2Routetable = "AWS::EC2::RouteTable" + case awsEc2Securitygroup = "AWS::EC2::SecurityGroup" + case awsEc2Subnet = "AWS::EC2::Subnet" + case awsCloudtrailTrail = "AWS::CloudTrail::Trail" + case awsEc2Volume = "AWS::EC2::Volume" + case awsEc2Vpc = "AWS::EC2::VPC" + case awsEc2Vpnconnection = "AWS::EC2::VPNConnection" + case awsEc2Vpngateway = "AWS::EC2::VPNGateway" + case awsIamGroup = "AWS::IAM::Group" + case awsIamPolicy = "AWS::IAM::Policy" + case awsIamRole = "AWS::IAM::Role" + case awsIamUser = "AWS::IAM::User" + case awsAcmCertificate = "AWS::ACM::Certificate" + case awsRdsDbinstance = "AWS::RDS::DBInstance" + case awsRdsDbsubnetgroup = "AWS::RDS::DBSubnetGroup" + case awsRdsDbsecuritygroup = "AWS::RDS::DBSecurityGroup" + case awsRdsDbsnapshot = "AWS::RDS::DBSnapshot" + case awsRdsEventsubscription = "AWS::RDS::EventSubscription" + case awsElasticloadbalancingv2Loadbalancer = "AWS::ElasticLoadBalancingV2::LoadBalancer" + case awsS3Bucket = "AWS::S3::Bucket" + case awsSsmManagedinstanceinventory = "AWS::SSM::ManagedInstanceInventory" + case awsRedshiftCluster = "AWS::Redshift::Cluster" + case awsRedshiftClustersnapshot = "AWS::Redshift::ClusterSnapshot" + case awsRedshiftClusterparametergroup = "AWS::Redshift::ClusterParameterGroup" + case awsRedshiftClustersecuritygroup = "AWS::Redshift::ClusterSecurityGroup" + case awsRedshiftClustersubnetgroup = "AWS::Redshift::ClusterSubnetGroup" + case awsRedshiftEventsubscription = "AWS::Redshift::EventSubscription" + case awsCloudwatchAlarm = "AWS::CloudWatch::Alarm" + case awsCloudformationStack = "AWS::CloudFormation::Stack" + case awsDynamodbTable = "AWS::DynamoDB::Table" + case awsAutoscalingAutoscalinggroup = "AWS::AutoScaling::AutoScalingGroup" + case awsAutoscalingLaunchconfiguration = "AWS::AutoScaling::LaunchConfiguration" + case awsAutoscalingScalingpolicy = "AWS::AutoScaling::ScalingPolicy" + case awsAutoscalingScheduledaction = "AWS::AutoScaling::ScheduledAction" + case awsCodebuildProject = "AWS::CodeBuild::Project" + case awsWafRatebasedrule = "AWS::WAF::RateBasedRule" + case awsWafRule = "AWS::WAF::Rule" + case awsWafWebacl = "AWS::WAF::WebACL" + case awsWafregionalRatebasedrule = "AWS::WAFRegional::RateBasedRule" + case awsWafregionalRule = "AWS::WAFRegional::Rule" + case awsWafregionalWebacl = "AWS::WAFRegional::WebACL" + case awsCloudfrontDistribution = "AWS::CloudFront::Distribution" + case awsCloudfrontStreamingdistribution = "AWS::CloudFront::StreamingDistribution" + case awsWafRulegroup = "AWS::WAF::RuleGroup" + case awsWafregionalRulegroup = "AWS::WAFRegional::RuleGroup" + case awsLambdaFunction = "AWS::Lambda::Function" + case awsElasticbeanstalkApplication = "AWS::ElasticBeanstalk::Application" + case awsElasticbeanstalkApplicationversion = "AWS::ElasticBeanstalk::ApplicationVersion" + case awsElasticbeanstalkEnvironment = "AWS::ElasticBeanstalk::Environment" + case awsElasticloadbalancingLoadbalancer = "AWS::ElasticLoadBalancing::LoadBalancer" + case awsXrayEncryptionconfig = "AWS::XRay::EncryptionConfig" + public var description: String { return self.rawValue } + } + + public struct DeletePendingAggregationRequestRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RequesterAwsRegion", required: true, type: .string), + AWSShapeMember(label: "RequesterAccountId", required: true, type: .string) + ] + /// The region requesting to aggregate data. + public let requesterAwsRegion: String + /// The 12-digit account ID of the account requesting to aggregate data. + public let requesterAccountId: String + + public init(requesterAwsRegion: String, requesterAccountId: String) { + self.requesterAwsRegion = requesterAwsRegion + self.requesterAccountId = requesterAccountId + } + + private enum CodingKeys: String, CodingKey { + case requesterAwsRegion = "RequesterAwsRegion" + case requesterAccountId = "RequesterAccountId" + } + } + + public struct DeleteEvaluationResultsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigRuleName", required: true, type: .string) + ] + /// The name of the AWS Config rule for which you want to delete the evaluation results. + public let configRuleName: String + + public init(configRuleName: String) { + self.configRuleName = configRuleName + } + + private enum CodingKeys: String, CodingKey { + case configRuleName = "ConfigRuleName" + } + } + + public struct ConfigurationItem: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "configurationStateId", required: false, type: .string), + AWSShapeMember(label: "resourceType", required: false, type: .enum), + AWSShapeMember(label: "resourceName", required: false, type: .string), + AWSShapeMember(label: "relatedEvents", required: false, type: .list), + AWSShapeMember(label: "tags", required: false, type: .map), + AWSShapeMember(label: "resourceId", required: false, type: .string), + AWSShapeMember(label: "configuration", required: false, type: .string), + AWSShapeMember(label: "relationships", required: false, type: .list), + AWSShapeMember(label: "availabilityZone", required: false, type: .string), + AWSShapeMember(label: "arn", required: false, type: .string), + AWSShapeMember(label: "configurationItemStatus", required: false, type: .enum), + AWSShapeMember(label: "configurationItemCaptureTime", required: false, type: .timestamp), + AWSShapeMember(label: "version", required: false, type: .string), + AWSShapeMember(label: "accountId", required: false, type: .string), + AWSShapeMember(label: "resourceCreationTime", required: false, type: .timestamp), + AWSShapeMember(label: "supplementaryConfiguration", required: false, type: .map), + AWSShapeMember(label: "awsRegion", required: false, type: .string), + AWSShapeMember(label: "configurationItemMD5Hash", required: false, type: .string) + ] + /// An identifier that indicates the ordering of the configuration items of a resource. + public let configurationStateId: String? + /// The type of AWS resource. + public let resourceType: ResourceType? + /// The custom name of the resource, if available. + public let resourceName: String? + /// 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. + public let relatedEvents: [String]? + /// A mapping of key value tags associated with the resource. + public let tags: [String: String]? + /// The ID of the resource (for example, sg-xxxxxx). + public let resourceId: String? + /// The description of the resource configuration. + public let configuration: String? + /// A list of related AWS resources. + public let relationships: [Relationship]? + /// The Availability Zone associated with the resource. + public let availabilityZone: String? + /// The Amazon Resource Name (ARN) of the resource. + public let arn: String? + /// The configuration item status. + public let configurationItemStatus: ConfigurationItemStatus? + /// The time when the configuration recording was initiated. + public let configurationItemCaptureTime: TimeStamp? + /// The version number of the resource configuration. + public let version: String? + /// The 12-digit AWS account ID associated with the resource. + public let accountId: String? + /// The time stamp when the resource was created. + public let resourceCreationTime: TimeStamp? + /// Configuration attributes that AWS Config returns for certain resource types to supplement the information returned for the configuration parameter. + public let supplementaryConfiguration: [String: String]? + /// The region where the resource resides. + public let awsRegion: String? + /// 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. + public let configurationItemMD5Hash: String? + + public init(configurationStateId: String? = nil, resourceType: ResourceType? = nil, resourceName: String? = nil, relatedEvents: [String]? = nil, tags: [String: String]? = nil, resourceId: String? = nil, configuration: String? = nil, relationships: [Relationship]? = nil, availabilityZone: String? = nil, arn: String? = nil, configurationItemStatus: ConfigurationItemStatus? = nil, configurationItemCaptureTime: TimeStamp? = nil, version: String? = nil, accountId: String? = nil, resourceCreationTime: TimeStamp? = nil, supplementaryConfiguration: [String: String]? = nil, awsRegion: String? = nil, configurationItemMD5Hash: String? = nil) { + self.configurationStateId = configurationStateId + self.resourceType = resourceType + self.resourceName = resourceName + self.relatedEvents = relatedEvents + self.tags = tags + self.resourceId = resourceId + self.configuration = configuration + self.relationships = relationships + self.availabilityZone = availabilityZone + self.arn = arn + self.configurationItemStatus = configurationItemStatus + self.configurationItemCaptureTime = configurationItemCaptureTime + self.version = version + self.accountId = accountId + self.resourceCreationTime = resourceCreationTime + self.supplementaryConfiguration = supplementaryConfiguration + self.awsRegion = awsRegion + self.configurationItemMD5Hash = configurationItemMD5Hash + } + + private enum CodingKeys: String, CodingKey { + case configurationStateId = "configurationStateId" + case resourceType = "resourceType" + case resourceName = "resourceName" + case relatedEvents = "relatedEvents" + case tags = "tags" + case resourceId = "resourceId" + case configuration = "configuration" + case relationships = "relationships" + case availabilityZone = "availabilityZone" + case arn = "arn" + case configurationItemStatus = "configurationItemStatus" + case configurationItemCaptureTime = "configurationItemCaptureTime" + case version = "version" + case accountId = "accountId" + case resourceCreationTime = "resourceCreationTime" + case supplementaryConfiguration = "supplementaryConfiguration" + case awsRegion = "awsRegion" + case configurationItemMD5Hash = "configurationItemMD5Hash" + } + } + + public struct PutConfigurationRecorderRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigurationRecorder", required: true, type: .structure) + ] + /// The configuration recorder object that records each configuration change made to the resources. + public let configurationRecorder: ConfigurationRecorder + + public init(configurationRecorder: ConfigurationRecorder) { + self.configurationRecorder = configurationRecorder + } + + private enum CodingKeys: String, CodingKey { + case configurationRecorder = "ConfigurationRecorder" + } + } + + public struct AggregatedSourceStatus: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AwsRegion", required: false, type: .string), + AWSShapeMember(label: "LastUpdateStatus", required: false, type: .enum), + AWSShapeMember(label: "SourceType", required: false, type: .enum), + AWSShapeMember(label: "LastUpdateTime", required: false, type: .timestamp), + AWSShapeMember(label: "SourceId", required: false, type: .string), + AWSShapeMember(label: "LastErrorCode", required: false, type: .string), + AWSShapeMember(label: "LastErrorMessage", required: false, type: .string) + ] + /// The region authorized to collect aggregated data. + public let awsRegion: String? + /// 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. + public let lastUpdateStatus: AggregatedSourceStatusType? + /// The source account or an organization. + public let sourceType: AggregatedSourceType? + /// The time of the last update. + public let lastUpdateTime: TimeStamp? + /// The source account ID or an organization. + public let sourceId: String? + /// The error code that AWS Config returned when the source account aggregation last failed. + public let lastErrorCode: String? + /// The message indicating that the source account aggregation failed due to an error. + public let lastErrorMessage: String? + + public init(awsRegion: String? = nil, lastUpdateStatus: AggregatedSourceStatusType? = nil, sourceType: AggregatedSourceType? = nil, lastUpdateTime: TimeStamp? = nil, sourceId: String? = nil, lastErrorCode: String? = nil, lastErrorMessage: String? = nil) { + self.awsRegion = awsRegion + self.lastUpdateStatus = lastUpdateStatus + self.sourceType = sourceType + self.lastUpdateTime = lastUpdateTime + self.sourceId = sourceId + self.lastErrorCode = lastErrorCode + self.lastErrorMessage = lastErrorMessage + } + + private enum CodingKeys: String, CodingKey { + case awsRegion = "AwsRegion" + case lastUpdateStatus = "LastUpdateStatus" + case sourceType = "SourceType" + case lastUpdateTime = "LastUpdateTime" + case sourceId = "SourceId" + case lastErrorCode = "LastErrorCode" + case lastErrorMessage = "LastErrorMessage" + } + } + + public struct EvaluationResultIdentifier: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrderingTimestamp", required: false, type: .timestamp), + AWSShapeMember(label: "EvaluationResultQualifier", required: false, type: .structure) + ] + /// 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. + public let orderingTimestamp: TimeStamp? + /// Identifies an AWS Config rule used to evaluate an AWS resource, and provides the type and ID of the evaluated resource. + public let evaluationResultQualifier: EvaluationResultQualifier? + + public init(orderingTimestamp: TimeStamp? = nil, evaluationResultQualifier: EvaluationResultQualifier? = nil) { + self.orderingTimestamp = orderingTimestamp + self.evaluationResultQualifier = evaluationResultQualifier + } + + private enum CodingKeys: String, CodingKey { + case orderingTimestamp = "OrderingTimestamp" + case evaluationResultQualifier = "EvaluationResultQualifier" + } + } + + public struct RecordingGroup: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "allSupported", required: false, type: .boolean), + AWSShapeMember(label: "includeGlobalResourceTypes", required: false, type: .boolean), + AWSShapeMember(label: "resourceTypes", required: false, type: .list) + ] + /// 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. + public let allSupported: Bool? + /// 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. + public let includeGlobalResourceTypes: Bool? + /// 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. + public let resourceTypes: [ResourceType]? + + public init(allSupported: Bool? = nil, includeGlobalResourceTypes: Bool? = nil, resourceTypes: [ResourceType]? = nil) { + self.allSupported = allSupported + self.includeGlobalResourceTypes = includeGlobalResourceTypes + self.resourceTypes = resourceTypes + } + + private enum CodingKeys: String, CodingKey { + case allSupported = "allSupported" + case includeGlobalResourceTypes = "includeGlobalResourceTypes" + case resourceTypes = "resourceTypes" + } + } + + public struct GetComplianceDetailsByConfigRuleRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigRuleName", required: true, type: .string), + AWSShapeMember(label: "Limit", required: false, type: .integer), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ComplianceTypes", required: false, type: .list) + ] + /// The name of the AWS Config rule for which you want compliance information. + public let configRuleName: String + /// 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. + public let limit: Int32? + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + /// Filters the results by compliance. The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE. + public let complianceTypes: [ComplianceType]? + + public init(configRuleName: String, limit: Int32? = nil, nextToken: String? = nil, complianceTypes: [ComplianceType]? = nil) { + self.configRuleName = configRuleName + self.limit = limit + self.nextToken = nextToken + self.complianceTypes = complianceTypes + } + + private enum CodingKeys: String, CodingKey { case configRuleName = "ConfigRuleName" - case firstActivatedTime = "FirstActivatedTime" - case configRuleId = "ConfigRuleId" - case lastSuccessfulInvocationTime = "LastSuccessfulInvocationTime" - case configRuleArn = "ConfigRuleArn" - case lastErrorCode = "LastErrorCode" - case lastErrorMessage = "LastErrorMessage" - case lastFailedInvocationTime = "LastFailedInvocationTime" + case limit = "Limit" + case nextToken = "NextToken" + case complianceTypes = "ComplianceTypes" } } - public struct GetComplianceSummaryByConfigRuleResponse: AWSShape { + public struct BatchGetResourceConfigResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ComplianceSummary", required: false, type: .structure) + AWSShapeMember(label: "baseConfigurationItems", required: false, type: .list), + AWSShapeMember(label: "unprocessedResourceKeys", required: false, type: .list) ] - /// The number of AWS Config rules that are compliant and the number that are noncompliant, up to a maximum of 25 for each. - public let complianceSummary: ComplianceSummary? + /// A list that contains the current configuration of one or more resources. + public let baseConfigurationItems: [BaseConfigurationItem]? + /// 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. + public let unprocessedResourceKeys: [ResourceKey]? - public init(complianceSummary: ComplianceSummary? = nil) { - self.complianceSummary = complianceSummary + public init(baseConfigurationItems: [BaseConfigurationItem]? = nil, unprocessedResourceKeys: [ResourceKey]? = nil) { + self.baseConfigurationItems = baseConfigurationItems + self.unprocessedResourceKeys = unprocessedResourceKeys } private enum CodingKeys: String, CodingKey { - case complianceSummary = "ComplianceSummary" + case baseConfigurationItems = "baseConfigurationItems" + case unprocessedResourceKeys = "unprocessedResourceKeys" } } - public struct GetComplianceSummaryByResourceTypeRequest: AWSShape { + public struct PutConfigurationAggregatorRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ResourceTypes", required: false, type: .list) + AWSShapeMember(label: "ConfigurationAggregatorName", required: true, type: .string), + AWSShapeMember(label: "AccountAggregationSources", required: false, type: .list), + AWSShapeMember(label: "OrganizationAggregationSource", required: false, type: .structure) ] - /// Specify one or more resource types to get the number of resources that are compliant and the number that are noncompliant for each resource type. For this request, you can specify an AWS resource type such as AWS::EC2::Instance, and you can specify that the resource type is an AWS account by specifying AWS::::Account. - public let resourceTypes: [String]? + /// The name of the configuration aggregator. + public let configurationAggregatorName: String + /// A list of AccountAggregationSource object. + public let accountAggregationSources: [AccountAggregationSource]? + /// An OrganizationAggregationSource object. + public let organizationAggregationSource: OrganizationAggregationSource? - public init(resourceTypes: [String]? = nil) { - self.resourceTypes = resourceTypes + public init(configurationAggregatorName: String, accountAggregationSources: [AccountAggregationSource]? = nil, organizationAggregationSource: OrganizationAggregationSource? = nil) { + self.configurationAggregatorName = configurationAggregatorName + self.accountAggregationSources = accountAggregationSources + self.organizationAggregationSource = organizationAggregationSource } private enum CodingKeys: String, CodingKey { - case resourceTypes = "ResourceTypes" + case configurationAggregatorName = "ConfigurationAggregatorName" + case accountAggregationSources = "AccountAggregationSources" + case organizationAggregationSource = "OrganizationAggregationSource" } } - public struct DescribeComplianceByConfigRuleRequest: AWSShape { + public struct GetDiscoveredResourceCountsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigRuleNames", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "ComplianceTypes", required: false, type: .list) + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "resourceTypes", required: false, type: .list), + AWSShapeMember(label: "limit", required: false, type: .integer) ] - /// Specify one or more AWS Config rule names to filter the results by rule. - public let configRuleNames: [String]? - /// The NextToken string returned on a previous page that you use to get the next page of results in a paginated response. + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. public let nextToken: String? - /// Filters the results by compliance. The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA. - public let complianceTypes: [ComplianceType]? + /// 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. + public let resourceTypes: [String]? + /// 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. + public let limit: Int32? - public init(configRuleNames: [String]? = nil, nextToken: String? = nil, complianceTypes: [ComplianceType]? = nil) { - self.configRuleNames = configRuleNames + public init(nextToken: String? = nil, resourceTypes: [String]? = nil, limit: Int32? = nil) { self.nextToken = nextToken - self.complianceTypes = complianceTypes + self.resourceTypes = resourceTypes + self.limit = limit } private enum CodingKeys: String, CodingKey { - case configRuleNames = "ConfigRuleNames" - case nextToken = "NextToken" - case complianceTypes = "ComplianceTypes" + case nextToken = "nextToken" + case resourceTypes = "resourceTypes" + case limit = "limit" } } - public struct GetComplianceDetailsByResourceRequest: AWSShape { + public struct DescribeConfigurationRecorderStatusResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ResourceId", required: true, type: .string), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "ResourceType", required: true, type: .string), - AWSShapeMember(label: "ComplianceTypes", required: false, type: .list) + AWSShapeMember(label: "ConfigurationRecordersStatus", required: false, type: .list) ] - /// The ID of the AWS resource for which you want compliance information. - public let resourceId: String - /// The NextToken string returned on a previous page that you use to get the next page of results in a paginated response. - public let nextToken: String? - /// The type of the AWS resource for which you want compliance information. - public let resourceType: String - /// Filters the results by compliance. The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE. - public let complianceTypes: [ComplianceType]? + /// A list that contains status of the specified recorders. + public let configurationRecordersStatus: [ConfigurationRecorderStatus]? - public init(resourceId: String, nextToken: String? = nil, resourceType: String, complianceTypes: [ComplianceType]? = nil) { - self.resourceId = resourceId - self.nextToken = nextToken - self.resourceType = resourceType - self.complianceTypes = complianceTypes + public init(configurationRecordersStatus: [ConfigurationRecorderStatus]? = nil) { + self.configurationRecordersStatus = configurationRecordersStatus } private enum CodingKeys: String, CodingKey { - case resourceId = "ResourceId" - case nextToken = "NextToken" - case resourceType = "ResourceType" - case complianceTypes = "ComplianceTypes" + case configurationRecordersStatus = "ConfigurationRecordersStatus" } } - public struct ComplianceByResource: AWSShape { + public struct ComplianceSummary: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Compliance", required: false, type: .structure), - AWSShapeMember(label: "ResourceId", required: false, type: .string), - AWSShapeMember(label: "ResourceType", required: false, type: .string) + AWSShapeMember(label: "ComplianceSummaryTimestamp", required: false, type: .timestamp), + AWSShapeMember(label: "NonCompliantResourceCount", required: false, type: .structure), + AWSShapeMember(label: "CompliantResourceCount", required: false, type: .structure) ] - /// Indicates whether the AWS resource complies with all of the AWS Config rules that evaluated it. - public let compliance: Compliance? - /// The ID of the AWS resource that was evaluated. - public let resourceId: String? - /// The type of the AWS resource that was evaluated. - public let resourceType: String? + /// The time that AWS Config created the compliance summary. + public let complianceSummaryTimestamp: TimeStamp? + /// The number of AWS Config rules or AWS resources that are noncompliant, up to a maximum of 25 for rules and 100 for resources. + public let nonCompliantResourceCount: ComplianceContributorCount? + /// The number of AWS Config rules or AWS resources that are compliant, up to a maximum of 25 for rules and 100 for resources. + public let compliantResourceCount: ComplianceContributorCount? - public init(compliance: Compliance? = nil, resourceId: String? = nil, resourceType: String? = nil) { - self.compliance = compliance - self.resourceId = resourceId - self.resourceType = resourceType + public init(complianceSummaryTimestamp: TimeStamp? = nil, nonCompliantResourceCount: ComplianceContributorCount? = nil, compliantResourceCount: ComplianceContributorCount? = nil) { + self.complianceSummaryTimestamp = complianceSummaryTimestamp + self.nonCompliantResourceCount = nonCompliantResourceCount + self.compliantResourceCount = compliantResourceCount } private enum CodingKeys: String, CodingKey { - case compliance = "Compliance" - case resourceId = "ResourceId" - case resourceType = "ResourceType" + case complianceSummaryTimestamp = "ComplianceSummaryTimestamp" + case nonCompliantResourceCount = "NonCompliantResourceCount" + case compliantResourceCount = "CompliantResourceCount" } } - public struct DescribeComplianceByConfigRuleResponse: AWSShape { + public struct PutAggregationAuthorizationResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ComplianceByConfigRules", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) + AWSShapeMember(label: "AggregationAuthorization", required: false, type: .structure) ] - /// Indicates whether each of the specified AWS Config rules is compliant. - public let complianceByConfigRules: [ComplianceByConfigRule]? - /// The string that you use in a subsequent request to get the next page of results in a paginated response. - public let nextToken: String? + /// Returns an AggregationAuthorization object. + public let aggregationAuthorization: AggregationAuthorization? - public init(complianceByConfigRules: [ComplianceByConfigRule]? = nil, nextToken: String? = nil) { - self.complianceByConfigRules = complianceByConfigRules - self.nextToken = nextToken + public init(aggregationAuthorization: AggregationAuthorization? = nil) { + self.aggregationAuthorization = aggregationAuthorization } private enum CodingKeys: String, CodingKey { - case complianceByConfigRules = "ComplianceByConfigRules" - case nextToken = "NextToken" + case aggregationAuthorization = "AggregationAuthorization" } } - public struct DescribeConfigRuleEvaluationStatusRequest: AWSShape { + public struct DescribeConfigurationAggregatorSourcesStatusResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigRuleNames", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Limit", required: false, type: .integer) + AWSShapeMember(label: "AggregatedSourceStatusList", required: false, type: .list) ] - /// 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. - public let configRuleNames: [String]? - /// The NextToken string returned on a previous page that you use to get the next page of results in a paginated response. + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. public let nextToken: String? - /// 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 more information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide. - public let limit: Int32? + /// Returns an AggregatedSourceStatus object. + public let aggregatedSourceStatusList: [AggregatedSourceStatus]? - public init(configRuleNames: [String]? = nil, nextToken: String? = nil, limit: Int32? = nil) { - self.configRuleNames = configRuleNames + public init(nextToken: String? = nil, aggregatedSourceStatusList: [AggregatedSourceStatus]? = nil) { self.nextToken = nextToken - self.limit = limit + self.aggregatedSourceStatusList = aggregatedSourceStatusList } private enum CodingKeys: String, CodingKey { - case configRuleNames = "ConfigRuleNames" case nextToken = "NextToken" - case limit = "Limit" + case aggregatedSourceStatusList = "AggregatedSourceStatusList" } } - public struct DeliveryChannelStatus: AWSShape { + public struct AggregateComplianceByConfigRule: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "name", required: false, type: .string), - AWSShapeMember(label: "configStreamDeliveryInfo", required: false, type: .structure), - AWSShapeMember(label: "configHistoryDeliveryInfo", required: false, type: .structure), - AWSShapeMember(label: "configSnapshotDeliveryInfo", required: false, type: .structure) + AWSShapeMember(label: "AccountId", required: false, type: .string), + AWSShapeMember(label: "ConfigRuleName", required: false, type: .string), + AWSShapeMember(label: "AwsRegion", required: false, type: .string), + AWSShapeMember(label: "Compliance", required: false, type: .structure) ] - /// The name of the delivery channel. - public let name: String? - /// A list containing the status of the delivery of the configuration stream notification to the specified Amazon SNS topic. - public let configStreamDeliveryInfo: ConfigStreamDeliveryInfo? - /// A list that contains the status of the delivery of the configuration history to the specified Amazon S3 bucket. - public let configHistoryDeliveryInfo: ConfigExportDeliveryInfo? - /// A list containing the status of the delivery of the snapshot to the specified Amazon S3 bucket. - public let configSnapshotDeliveryInfo: ConfigExportDeliveryInfo? + /// The 12-digit account ID of the source account. + public let accountId: String? + /// The name of the AWS Config rule. + public let configRuleName: String? + /// The source region from where the data is aggregated. + public let awsRegion: String? + /// Indicates whether an AWS resource or AWS Config rule is compliant and provides the number of contributors that affect the compliance. + public let compliance: Compliance? - public init(name: String? = nil, configStreamDeliveryInfo: ConfigStreamDeliveryInfo? = nil, configHistoryDeliveryInfo: ConfigExportDeliveryInfo? = nil, configSnapshotDeliveryInfo: ConfigExportDeliveryInfo? = nil) { - self.name = name - self.configStreamDeliveryInfo = configStreamDeliveryInfo - self.configHistoryDeliveryInfo = configHistoryDeliveryInfo - self.configSnapshotDeliveryInfo = configSnapshotDeliveryInfo + public init(accountId: String? = nil, configRuleName: String? = nil, awsRegion: String? = nil, compliance: Compliance? = nil) { + self.accountId = accountId + self.configRuleName = configRuleName + self.awsRegion = awsRegion + self.compliance = compliance } private enum CodingKeys: String, CodingKey { - case name = "name" - case configStreamDeliveryInfo = "configStreamDeliveryInfo" - case configHistoryDeliveryInfo = "configHistoryDeliveryInfo" - case configSnapshotDeliveryInfo = "configSnapshotDeliveryInfo" + case accountId = "AccountId" + case configRuleName = "ConfigRuleName" + case awsRegion = "AwsRegion" + case compliance = "Compliance" } } - public struct StartConfigRulesEvaluationResponse: AWSShape { + public struct ResourceKey: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceId", required: true, type: .string), + AWSShapeMember(label: "resourceType", required: true, type: .enum) + ] + /// The ID of the resource (for example., sg-xxxxxx). + public let resourceId: String + /// The resource type. + public let resourceType: ResourceType + + public init(resourceId: String, resourceType: ResourceType) { + self.resourceId = resourceId + self.resourceType = resourceType + } + private enum CodingKeys: String, CodingKey { + case resourceId = "resourceId" + case resourceType = "resourceType" + } } - public struct ComplianceByConfigRule: AWSShape { + public struct DescribeComplianceByConfigRuleResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ComplianceByConfigRules", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// Indicates whether each of the specified AWS Config rules is compliant. + public let complianceByConfigRules: [ComplianceByConfigRule]? + /// The string that you use in a subsequent request to get the next page of results in a paginated response. + public let nextToken: String? + + public init(complianceByConfigRules: [ComplianceByConfigRule]? = nil, nextToken: String? = nil) { + self.complianceByConfigRules = complianceByConfigRules + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case complianceByConfigRules = "ComplianceByConfigRules" + case nextToken = "NextToken" + } + } + + public struct ComplianceByResource: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Compliance", required: false, type: .structure), - AWSShapeMember(label: "ConfigRuleName", required: false, type: .string) + AWSShapeMember(label: "ResourceId", required: false, type: .string), + AWSShapeMember(label: "ResourceType", required: false, type: .string) ] - /// Indicates whether the AWS Config rule is compliant. + /// Indicates whether the AWS resource complies with all of the AWS Config rules that evaluated it. public let compliance: Compliance? - /// The name of the AWS Config rule. - public let configRuleName: String? + /// The ID of the AWS resource that was evaluated. + public let resourceId: String? + /// The type of the AWS resource that was evaluated. + public let resourceType: String? - public init(compliance: Compliance? = nil, configRuleName: String? = nil) { + public init(compliance: Compliance? = nil, resourceId: String? = nil, resourceType: String? = nil) { self.compliance = compliance - self.configRuleName = configRuleName + self.resourceId = resourceId + self.resourceType = resourceType } private enum CodingKeys: String, CodingKey { case compliance = "Compliance" - case configRuleName = "ConfigRuleName" + case resourceId = "ResourceId" + case resourceType = "ResourceType" } } - public struct GetResourceConfigHistoryResponse: AWSShape { + public struct DeleteConfigurationRecorderRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "configurationItems", required: false, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) + AWSShapeMember(label: "ConfigurationRecorderName", required: true, type: .string) ] - /// A list that contains the configuration history of one or more resources. - public let configurationItems: [ConfigurationItem]? - /// The string that you use in a subsequent request to get the next page of results in a paginated response. - public let nextToken: String? + /// The name of the configuration recorder to be deleted. You can retrieve the name of your configuration recorder by using the DescribeConfigurationRecorders action. + public let configurationRecorderName: String - public init(configurationItems: [ConfigurationItem]? = nil, nextToken: String? = nil) { - self.configurationItems = configurationItems - self.nextToken = nextToken + public init(configurationRecorderName: String) { + self.configurationRecorderName = configurationRecorderName } private enum CodingKeys: String, CodingKey { - case configurationItems = "configurationItems" - case nextToken = "nextToken" + case configurationRecorderName = "ConfigurationRecorderName" } } @@ -1373,19 +2679,24 @@ extension Config { } } - public struct DeleteConfigurationRecorderRequest: AWSShape { + public struct DescribeRetentionConfigurationsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigurationRecorderName", required: true, type: .string) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "RetentionConfigurationNames", required: false, type: .list) ] - /// The name of the configuration recorder to be deleted. You can retrieve the name of your configuration recorder by using the DescribeConfigurationRecorders action. - public let configurationRecorderName: String + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + /// 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. + public let retentionConfigurationNames: [String]? - public init(configurationRecorderName: String) { - self.configurationRecorderName = configurationRecorderName + public init(nextToken: String? = nil, retentionConfigurationNames: [String]? = nil) { + self.nextToken = nextToken + self.retentionConfigurationNames = retentionConfigurationNames } private enum CodingKeys: String, CodingKey { - case configurationRecorderName = "ConfigurationRecorderName" + case nextToken = "NextToken" + case retentionConfigurationNames = "RetentionConfigurationNames" } } @@ -1401,15 +2712,15 @@ extension Config { ] /// The time stamp that indicates a later time. If not specified, current time is taken. public let laterTime: TimeStamp? - /// The maximum number of configuration items returned on each page. The default is 10. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default. + /// 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. public let limit: Int32? /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. public let nextToken: String? /// The resource type. public let resourceType: ResourceType - /// The chronological order for configuration items listed. By default the results are listed in reverse chronological order. + /// The chronological order for configuration items listed. By default, the results are listed in reverse chronological order. public let chronologicalOrder: ChronologicalOrder? - /// The time stamp that indicates an earlier time. If not specified, the action returns paginated results that contain configuration items that start from when the first configuration item was recorded. + /// 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. public let earlierTime: TimeStamp? /// The ID of the resource (for example., sg-xxxxxx). public let resourceId: String @@ -1435,37 +2746,6 @@ extension Config { } } - public struct Relationship: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceType", required: false, type: .enum), - AWSShapeMember(label: "resourceId", required: false, type: .string), - AWSShapeMember(label: "resourceName", required: false, type: .string), - AWSShapeMember(label: "relationshipName", required: false, type: .string) - ] - /// The resource type of the related resource. - public let resourceType: ResourceType? - /// The ID of the related resource (for example, sg-xxxxxx). - public let resourceId: String? - /// The custom name of the related resource, if available. - public let resourceName: String? - /// The type of relationship with the related resource. - public let relationshipName: String? - - public init(resourceType: ResourceType? = nil, resourceId: String? = nil, resourceName: String? = nil, relationshipName: String? = nil) { - self.resourceType = resourceType - self.resourceId = resourceId - self.resourceName = resourceName - self.relationshipName = relationshipName - } - - private enum CodingKeys: String, CodingKey { - case resourceType = "resourceType" - case resourceId = "resourceId" - case resourceName = "resourceName" - case relationshipName = "relationshipName" - } - } - public struct ResourceCount: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "count", required: false, type: .long), @@ -1473,7 +2753,7 @@ extension Config { ] /// The number of resources. public let count: Int64? - /// The resource type, for example "AWS::EC2::Instance". + /// The resource type (for example, "AWS::EC2::Instance"). public let resourceType: ResourceType? public init(count: Int64? = nil, resourceType: ResourceType? = nil) { @@ -1494,7 +2774,7 @@ extension Config { ] /// The number of AWS resources or AWS Config rules that cause a result of NON_COMPLIANT, up to a maximum number. public let complianceContributorCount: ComplianceContributorCount? - /// Indicates whether an AWS resource or AWS Config rule is compliant. A resource is compliant if it complies with all of the AWS Config rules that evaluate it, and it is noncompliant if it does not comply with one or more of these rules. A rule is compliant if all of the resources that the rule evaluates comply with it, and it is noncompliant if any of these resources do not comply. AWS Config returns the INSUFFICIENT_DATA value when no evaluation results are available for the AWS resource or Config rule. For the Compliance data type, AWS Config supports only COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA values. AWS Config does not support the NOT_APPLICABLE value for the Compliance data type. + /// 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. public let complianceType: ComplianceType? public init(complianceContributorCount: ComplianceContributorCount? = nil, complianceType: ComplianceType? = nil) { @@ -1508,35 +2788,40 @@ extension Config { } } - public struct DescribeConfigurationRecorderStatusRequest: AWSShape { + public struct DescribeAggregationAuthorizationsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigurationRecorderNames", required: false, type: .list) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Limit", required: false, type: .integer) ] - /// 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. - public let configurationRecorderNames: [String]? + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + /// The maximum number of AggregationAuthorizations returned on each page. The default is maximum. If you specify 0, AWS Config uses the default. + public let limit: Int32? - public init(configurationRecorderNames: [String]? = nil) { - self.configurationRecorderNames = configurationRecorderNames + public init(nextToken: String? = nil, limit: Int32? = nil) { + self.nextToken = nextToken + self.limit = limit } private enum CodingKeys: String, CodingKey { - case configurationRecorderNames = "ConfigurationRecorderNames" + case nextToken = "NextToken" + case limit = "Limit" } } - public struct ConfigSnapshotDeliveryProperties: AWSShape { + public struct DescribeConfigurationRecorderStatusRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "deliveryFrequency", required: false, type: .enum) + AWSShapeMember(label: "ConfigurationRecorderNames", required: false, type: .list) ] - /// The frequency with which AWS Config delivers configuration snapshots. - public let deliveryFrequency: MaximumExecutionFrequency? + /// 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. + public let configurationRecorderNames: [String]? - public init(deliveryFrequency: MaximumExecutionFrequency? = nil) { - self.deliveryFrequency = deliveryFrequency + public init(configurationRecorderNames: [String]? = nil) { + self.configurationRecorderNames = configurationRecorderNames } private enum CodingKeys: String, CodingKey { - case deliveryFrequency = "deliveryFrequency" + case configurationRecorderNames = "ConfigurationRecorderNames" } } @@ -1547,27 +2832,6 @@ extension Config { public var description: String { return self.rawValue } } - public struct ListDiscoveredResourcesResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceIdentifiers", required: false, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) - ] - /// The details that identify a resource that is discovered by AWS Config, including the resource type, ID, and (if available) the custom resource name. - public let resourceIdentifiers: [ResourceIdentifier]? - /// The string that you use in a subsequent request to get the next page of results in a paginated response. - public let nextToken: String? - - public init(resourceIdentifiers: [ResourceIdentifier]? = nil, nextToken: String? = nil) { - self.resourceIdentifiers = resourceIdentifiers - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case resourceIdentifiers = "resourceIdentifiers" - case nextToken = "nextToken" - } - } - public enum MessageType: String, CustomStringConvertible, Codable { case configurationitemchangenotification = "ConfigurationItemChangeNotification" case configurationsnapshotdeliverycompleted = "ConfigurationSnapshotDeliveryCompleted" @@ -1576,57 +2840,6 @@ extension Config { public var description: String { return self.rawValue } } - public struct GetDiscoveredResourceCountsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceCounts", required: false, type: .list), - AWSShapeMember(label: "totalDiscoveredResources", required: false, type: .long), - AWSShapeMember(label: "nextToken", required: false, type: .string) - ] - /// The list of ResourceCount objects. Each object is listed in descending order by the number of resources. - public let resourceCounts: [ResourceCount]? - /// 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 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. You make a call to the GetDiscoveredResourceCounts action and specify the resource type, "AWS::EC2::Instances" in the request. AWS Config returns 25 for totalDiscoveredResources. - public let totalDiscoveredResources: Int64? - /// The string that you use in a subsequent request to get the next page of results in a paginated response. - public let nextToken: String? - - public init(resourceCounts: [ResourceCount]? = nil, totalDiscoveredResources: Int64? = nil, nextToken: String? = nil) { - self.resourceCounts = resourceCounts - self.totalDiscoveredResources = totalDiscoveredResources - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case resourceCounts = "resourceCounts" - case totalDiscoveredResources = "totalDiscoveredResources" - case nextToken = "nextToken" - } - } - - public struct DeleteEvaluationResultsResponse: AWSShape { - - } - - public struct DescribeConfigRulesResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigRules", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) - ] - /// The details about your AWS Config rules. - public let configRules: [ConfigRule]? - /// The string that you use in a subsequent request to get the next page of results in a paginated response. - public let nextToken: String? - - public init(configRules: [ConfigRule]? = nil, nextToken: String? = nil) { - self.configRules = configRules - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case configRules = "ConfigRules" - case nextToken = "NextToken" - } - } - public enum MaximumExecutionFrequency: String, CustomStringConvertible, Codable { case oneHour = "One_Hour" case threeHours = "Three_Hours" @@ -1636,88 +2849,33 @@ extension Config { public var description: String { return self.rawValue } } - public struct EvaluationResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EvaluationResultIdentifier", required: false, type: .structure), - AWSShapeMember(label: "ConfigRuleInvokedTime", required: false, type: .timestamp), - AWSShapeMember(label: "ResultRecordedTime", required: false, type: .timestamp), - AWSShapeMember(label: "ComplianceType", required: false, type: .enum), - AWSShapeMember(label: "ResultToken", required: false, type: .string), - AWSShapeMember(label: "Annotation", required: false, type: .string) - ] - /// Uniquely identifies the evaluation result. - public let evaluationResultIdentifier: EvaluationResultIdentifier? - /// The time when the AWS Config rule evaluated the AWS resource. - public let configRuleInvokedTime: TimeStamp? - /// The time when AWS Config recorded the evaluation result. - public let resultRecordedTime: TimeStamp? - /// 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. - public let complianceType: ComplianceType? - /// 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. - public let resultToken: String? - /// Supplementary information about how the evaluation determined the compliance. - public let annotation: String? - - public init(evaluationResultIdentifier: EvaluationResultIdentifier? = nil, configRuleInvokedTime: TimeStamp? = nil, resultRecordedTime: TimeStamp? = nil, complianceType: ComplianceType? = nil, resultToken: String? = nil, annotation: String? = nil) { - self.evaluationResultIdentifier = evaluationResultIdentifier - self.configRuleInvokedTime = configRuleInvokedTime - self.resultRecordedTime = resultRecordedTime - self.complianceType = complianceType - self.resultToken = resultToken - self.annotation = annotation - } - - private enum CodingKeys: String, CodingKey { - case evaluationResultIdentifier = "EvaluationResultIdentifier" - case configRuleInvokedTime = "ConfigRuleInvokedTime" - case resultRecordedTime = "ResultRecordedTime" - case complianceType = "ComplianceType" - case resultToken = "ResultToken" - case annotation = "Annotation" - } - } - public enum ConfigurationItemStatus: String, CustomStringConvertible, Codable { - case ok = "Ok" - case failed = "Failed" - case discovered = "Discovered" - case deleted = "Deleted" + case ok = "OK" + case resourcediscovered = "ResourceDiscovered" + case resourcenotrecorded = "ResourceNotRecorded" + case resourcedeleted = "ResourceDeleted" + case resourcedeletednotrecorded = "ResourceDeletedNotRecorded" public var description: String { return self.rawValue } } - public struct DescribeComplianceByResourceRequest: AWSShape { + public struct DescribePendingAggregationRequestsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Limit", required: false, type: .integer), - AWSShapeMember(label: "ResourceId", required: false, type: .string), AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "ResourceType", required: false, type: .string), - AWSShapeMember(label: "ComplianceTypes", required: false, type: .list) + AWSShapeMember(label: "PendingAggregationRequests", required: false, type: .list) ] - /// The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default. - public let limit: Int32? - /// 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. - public let resourceId: String? - /// The NextToken string returned on a previous page that you use to get the next page of results in a paginated response. + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. public let nextToken: String? - /// 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. - public let resourceType: String? - /// Filters the results by compliance. The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA. - public let complianceTypes: [ComplianceType]? + /// Returns a PendingAggregationRequests object. + public let pendingAggregationRequests: [PendingAggregationRequest]? - public init(limit: Int32? = nil, resourceId: String? = nil, nextToken: String? = nil, resourceType: String? = nil, complianceTypes: [ComplianceType]? = nil) { - self.limit = limit - self.resourceId = resourceId + public init(nextToken: String? = nil, pendingAggregationRequests: [PendingAggregationRequest]? = nil) { self.nextToken = nextToken - self.resourceType = resourceType - self.complianceTypes = complianceTypes + self.pendingAggregationRequests = pendingAggregationRequests } private enum CodingKeys: String, CodingKey { - case limit = "Limit" - case resourceId = "ResourceId" case nextToken = "NextToken" - case resourceType = "ResourceType" - case complianceTypes = "ComplianceTypes" + case pendingAggregationRequests = "PendingAggregationRequests" } } @@ -1737,22 +2895,6 @@ extension Config { } } - public struct PutEvaluationsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FailedEvaluations", required: false, type: .list) - ] - /// Requests that failed because of a client or server error. - public let failedEvaluations: [Evaluation]? - - public init(failedEvaluations: [Evaluation]? = nil) { - self.failedEvaluations = failedEvaluations - } - - private enum CodingKeys: String, CodingKey { - case failedEvaluations = "FailedEvaluations" - } - } - public enum ChronologicalOrder: String, CustomStringConvertible, Codable { case reverse = "Reverse" case forward = "Forward" @@ -1763,7 +2905,7 @@ extension Config { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ConfigRuleNames", required: false, type: .list) ] - /// The list of names of Config rules that you want to run evaluations for. + /// The list of names of AWS Config rules that you want to run evaluations for. public let configRuleNames: [String]? public init(configRuleNames: [String]? = nil) { @@ -1807,22 +2949,6 @@ extension Config { } } - public struct DescribeDeliveryChannelStatusRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DeliveryChannelNames", required: false, type: .list) - ] - /// A list of delivery channel names. - public let deliveryChannelNames: [String]? - - public init(deliveryChannelNames: [String]? = nil) { - self.deliveryChannelNames = deliveryChannelNames - } - - private enum CodingKeys: String, CodingKey { - case deliveryChannelNames = "DeliveryChannelNames" - } - } - public struct ConfigurationRecorderStatus: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string), @@ -1840,7 +2966,7 @@ extension Config { public let lastStatusChangeTime: TimeStamp? /// The time the recorder was last stopped. public let lastStopTime: TimeStamp? - /// Specifies whether the recorder is currently recording or not. + /// Specifies whether or not the recorder is currently recording. public let recording: Bool? /// The error code indicating that the recording failed. public let lastErrorCode: String? @@ -1874,6 +3000,13 @@ extension Config { } } + public enum AggregatedSourceStatusType: String, CustomStringConvertible, Codable { + case failed = "FAILED" + case succeeded = "SUCCEEDED" + case outdated = "OUTDATED" + public var description: String { return self.rawValue } + } + public struct ConfigurationRecorder: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string), @@ -1882,7 +3015,7 @@ extension Config { ] /// 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. public let name: String? - /// Specifies the types of AWS resource for which AWS Config records configuration changes. + /// Specifies the types of AWS resources for which AWS Config records configuration changes. public let recordingGroup: RecordingGroup? /// Amazon Resource Name (ARN) of the IAM role used to describe the AWS resources associated with the account. public let roleARN: String? @@ -1900,29 +3033,24 @@ extension Config { } } - public struct PutEvaluationsRequest: AWSShape { + public struct DescribeAggregateComplianceByConfigRulesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Evaluations", required: false, type: .list), - AWSShapeMember(label: "ResultToken", required: true, type: .string), - AWSShapeMember(label: "TestMode", required: false, type: .boolean) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "AggregateComplianceByConfigRules", required: false, type: .list) ] - /// 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. - public let evaluations: [Evaluation]? - /// An encrypted token that associates an evaluation with an AWS Config rule. Identifies the rule and the event that triggered the evaluation - public let resultToken: String - /// 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. - public let testMode: Bool? + /// The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. + public let nextToken: String? + /// Returns a list of AggregateComplianceByConfigRule object. + public let aggregateComplianceByConfigRules: [AggregateComplianceByConfigRule]? - public init(evaluations: [Evaluation]? = nil, resultToken: String, testMode: Bool? = nil) { - self.evaluations = evaluations - self.resultToken = resultToken - self.testMode = testMode + public init(nextToken: String? = nil, aggregateComplianceByConfigRules: [AggregateComplianceByConfigRule]? = nil) { + self.nextToken = nextToken + self.aggregateComplianceByConfigRules = aggregateComplianceByConfigRules } private enum CodingKeys: String, CodingKey { - case evaluations = "Evaluations" - case resultToken = "ResultToken" - case testMode = "TestMode" + case nextToken = "NextToken" + case aggregateComplianceByConfigRules = "AggregateComplianceByConfigRules" } } diff --git a/Sources/AWSSDKSwift/Services/connect/Connect_API.swift b/Sources/AWSSDKSwift/Services/connect/Connect_API.swift new file mode 100644 index 00000000000..0c69e18772a --- /dev/null +++ b/Sources/AWSSDKSwift/Services/connect/Connect_API.swift @@ -0,0 +1,113 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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. +*/ +public struct Connect { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + service: "connect", + serviceProtocol: ServiceProtocol(type: .restjson, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2017-08-08", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [ConnectError.self] + ) + } + + /// Ends the contact initiated by the StartOutboundVoiceContact operation. If you are using an IAM account, it must have permission to the connect:StopContact action. + public func stopContact(_ input: StopContactRequest) throws -> StopContactResponse { + return try client.send(operation: "StopContact", path: "/contact/stop", httpMethod: "POST", input: input) + } + + /// Retrieves a token for federation. + public func getFederationToken(_ input: GetFederationTokenRequest) throws -> GetFederationTokenResponse { + return try client.send(operation: "GetFederationToken", path: "/user/federate/{InstanceId}", httpMethod: "GET", input: input) + } + + /// Returns a HierarchyGroup object that includes information about a hierarchy group in your instance. + public func describeUserHierarchyGroup(_ input: DescribeUserHierarchyGroupRequest) throws -> DescribeUserHierarchyGroupResponse { + return try client.send(operation: "DescribeUserHierarchyGroup", path: "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}", httpMethod: "GET", input: input) + } + + /// Updates the phone configuration settings in the UserPhoneConfig object for the specified user. + public func updateUserPhoneConfig(_ input: UpdateUserPhoneConfigRequest) throws { + _ = try client.send(operation: "UpdateUserPhoneConfig", path: "/users/{InstanceId}/{UserId}/phone-config", httpMethod: "POST", input: input) + } + + /// 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. + public func listSecurityProfiles(_ input: ListSecurityProfilesRequest) throws -> ListSecurityProfilesResponse { + return try client.send(operation: "ListSecurityProfiles", path: "/security-profiles-summary/{InstanceId}", httpMethod: "GET", input: input) + } + + /// Creates a new user account in your Amazon Connect instance. + public func createUser(_ input: CreateUserRequest) throws -> CreateUserResponse { + return try client.send(operation: "CreateUser", path: "/users/{InstanceId}", httpMethod: "PUT", input: input) + } + + /// 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. + public func startOutboundVoiceContact(_ input: StartOutboundVoiceContactRequest) throws -> StartOutboundVoiceContactResponse { + return try client.send(operation: "StartOutboundVoiceContact", path: "/contact/outbound-voice", httpMethod: "PUT", input: input) + } + + /// Assigns the specified routing profile to a user. + public func updateUserRoutingProfile(_ input: UpdateUserRoutingProfileRequest) throws { + _ = try client.send(operation: "UpdateUserRoutingProfile", path: "/users/{InstanceId}/{UserId}/routing-profile", httpMethod: "POST", input: input) + } + + /// Assigns the specified hierarchy group to the user. + public func updateUserHierarchy(_ input: UpdateUserHierarchyRequest) throws { + _ = try client.send(operation: "UpdateUserHierarchy", path: "/users/{InstanceId}/{UserId}/hierarchy", httpMethod: "POST", input: input) + } + + /// Updates the identity information for the specified user in a UserIdentityInfo object, including email, first name, and last name. + public func updateUserIdentityInfo(_ input: UpdateUserIdentityInfoRequest) throws { + _ = try client.send(operation: "UpdateUserIdentityInfo", path: "/users/{InstanceId}/{UserId}/identity-info", httpMethod: "POST", input: input) + } + + /// Returns a UserSummaryList, which is an array of UserSummary objects. + public func listUsers(_ input: ListUsersRequest) throws -> ListUsersResponse { + return try client.send(operation: "ListUsers", path: "/users-summary/{InstanceId}", httpMethod: "GET", input: input) + } + + /// Returns a HiearchyGroupStructure object, which contains data about the levels in the agent hierarchy. + public func describeUserHierarchyStructure(_ input: DescribeUserHierarchyStructureRequest) throws -> DescribeUserHierarchyStructureResponse { + return try client.send(operation: "DescribeUserHierarchyStructure", path: "/user-hierarchy-structure/{InstanceId}", httpMethod: "GET", input: input) + } + + /// Returns a User object that contains information about the user account specified by the UserId. + public func describeUser(_ input: DescribeUserRequest) throws -> DescribeUserResponse { + return try client.send(operation: "DescribeUser", path: "/users/{InstanceId}/{UserId}", httpMethod: "GET", input: input) + } + + /// Update the security profiles assigned to the user. + public func updateUserSecurityProfiles(_ input: UpdateUserSecurityProfilesRequest) throws { + _ = try client.send(operation: "UpdateUserSecurityProfiles", path: "/users/{InstanceId}/{UserId}/security-profiles", httpMethod: "POST", input: input) + } + + /// Deletes a user account from Amazon Connect. + public func deleteUser(_ input: DeleteUserRequest) throws { + _ = try client.send(operation: "DeleteUser", path: "/users/{InstanceId}/{UserId}", httpMethod: "DELETE", input: input) + } + + /// Returns a UserHierarchyGroupSummaryList, which is an array of HierarchyGroupSummary objects that contain information about the hierarchy groups in your instance. + public func listUserHierarchyGroups(_ input: ListUserHierarchyGroupsRequest) throws -> ListUserHierarchyGroupsResponse { + return try client.send(operation: "ListUserHierarchyGroups", path: "/user-hierarchy-groups-summary/{InstanceId}", httpMethod: "GET", input: input) + } + + /// Returns an array of RoutingProfileSummary objects that includes information about the routing profiles in your instance. + public func listRoutingProfiles(_ input: ListRoutingProfilesRequest) throws -> ListRoutingProfilesResponse { + return try client.send(operation: "ListRoutingProfiles", path: "/routing-profiles-summary/{InstanceId}", httpMethod: "GET", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/connect/Connect_Error.swift b/Sources/AWSSDKSwift/Services/connect/Connect_Error.swift new file mode 100644 index 00000000000..045498ab5ac --- /dev/null +++ b/Sources/AWSSDKSwift/Services/connect/Connect_Error.swift @@ -0,0 +1,53 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Connect +public enum ConnectError: AWSErrorType { + case invalidRequestException(message: String?) + case contactNotFoundException(message: String?) + case invalidParameterException(message: String?) + case resourceNotFoundException(message: String?) + case internalServiceException(message: String?) + case userNotFoundException(message: String?) + case duplicateResourceException(message: String?) + case throttlingException(message: String?) + case limitExceededException(message: String?) + case destinationNotAllowedException(message: String?) + case outboundContactNotPermittedException(message: String?) +} + +extension ConnectError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "InvalidRequestException": + self = .invalidRequestException(message: message) + case "ContactNotFoundException": + self = .contactNotFoundException(message: message) + case "InvalidParameterException": + self = .invalidParameterException(message: message) + case "ResourceNotFoundException": + self = .resourceNotFoundException(message: message) + case "InternalServiceException": + self = .internalServiceException(message: message) + case "UserNotFoundException": + self = .userNotFoundException(message: message) + case "DuplicateResourceException": + self = .duplicateResourceException(message: message) + case "ThrottlingException": + self = .throttlingException(message: message) + case "LimitExceededException": + self = .limitExceededException(message: message) + case "DestinationNotAllowedException": + self = .destinationNotAllowedException(message: message) + case "OutboundContactNotPermittedException": + self = .outboundContactNotPermittedException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/connect/Connect_Shapes.swift b/Sources/AWSSDKSwift/Services/connect/Connect_Shapes.swift new file mode 100644 index 00000000000..32f6f6bc784 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/connect/Connect_Shapes.swift @@ -0,0 +1,1037 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Connect { + + public struct ListRoutingProfilesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "RoutingProfileSummaryList", required: false, type: .list) + ] + /// 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. + public let nextToken: String? + /// An array of RoutingProfileSummary objects that include the ARN, Id, and Name of the routing profile. + public let routingProfileSummaryList: [RoutingProfileSummary]? + + public init(nextToken: String? = nil, routingProfileSummaryList: [RoutingProfileSummary]? = nil) { + self.nextToken = nextToken + self.routingProfileSummaryList = routingProfileSummaryList + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case routingProfileSummaryList = "RoutingProfileSummaryList" + } + } + + public struct UpdateUserHierarchyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "HierarchyGroupId", required: false, type: .string), + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string), + AWSShapeMember(label: "UserId", location: .uri(locationName: "UserId"), required: true, type: .string) + ] + /// The identifier for the hierarchy group to assign to the user. + public let hierarchyGroupId: String? + /// 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. + public let instanceId: String + /// The identifier of the user account to assign the hierarchy group to. + public let userId: String + + public init(hierarchyGroupId: String? = nil, instanceId: String, userId: String) { + self.hierarchyGroupId = hierarchyGroupId + self.instanceId = instanceId + self.userId = userId + } + + private enum CodingKeys: String, CodingKey { + case hierarchyGroupId = "HierarchyGroupId" + case instanceId = "InstanceId" + case userId = "UserId" + } + } + + public struct UserPhoneConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeskPhoneNumber", required: false, type: .string), + AWSShapeMember(label: "PhoneType", required: true, type: .enum), + AWSShapeMember(label: "AutoAccept", required: false, type: .boolean), + AWSShapeMember(label: "AfterContactWorkTimeLimit", required: false, type: .integer) + ] + /// The phone number for the user's desk phone. + public let deskPhoneNumber: String? + /// The phone type selected for the user, either Soft phone or Desk phone. + public let phoneType: PhoneType + /// The Auto accept setting for the user, Yes or No. + public let autoAccept: Bool? + /// The After Call Work (ACW) timeout setting, in seconds, for the user. + public let afterContactWorkTimeLimit: Int32? + + public init(deskPhoneNumber: String? = nil, phoneType: PhoneType, autoAccept: Bool? = nil, afterContactWorkTimeLimit: Int32? = nil) { + self.deskPhoneNumber = deskPhoneNumber + self.phoneType = phoneType + self.autoAccept = autoAccept + self.afterContactWorkTimeLimit = afterContactWorkTimeLimit + } + + private enum CodingKeys: String, CodingKey { + case deskPhoneNumber = "DeskPhoneNumber" + case phoneType = "PhoneType" + case autoAccept = "AutoAccept" + case afterContactWorkTimeLimit = "AfterContactWorkTimeLimit" + } + } + + public struct HierarchyPath: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LevelFour", required: false, type: .structure), + AWSShapeMember(label: "LevelFive", required: false, type: .structure), + AWSShapeMember(label: "LevelTwo", required: false, type: .structure), + AWSShapeMember(label: "LevelOne", required: false, type: .structure), + AWSShapeMember(label: "LevelThree", required: false, type: .structure) + ] + /// A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name. + public let levelFour: HierarchyGroupSummary? + /// A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name. + public let levelFive: HierarchyGroupSummary? + /// A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name. + public let levelTwo: HierarchyGroupSummary? + /// A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name. + public let levelOne: HierarchyGroupSummary? + /// A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name. + public let levelThree: HierarchyGroupSummary? + + public init(levelFour: HierarchyGroupSummary? = nil, levelFive: HierarchyGroupSummary? = nil, levelTwo: HierarchyGroupSummary? = nil, levelOne: HierarchyGroupSummary? = nil, levelThree: HierarchyGroupSummary? = nil) { + self.levelFour = levelFour + self.levelFive = levelFive + self.levelTwo = levelTwo + self.levelOne = levelOne + self.levelThree = levelThree + } + + private enum CodingKeys: String, CodingKey { + case levelFour = "LevelFour" + case levelFive = "LevelFive" + case levelTwo = "LevelTwo" + case levelOne = "LevelOne" + case levelThree = "LevelThree" + } + } + + public struct StopContactRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContactId", required: true, type: .string), + AWSShapeMember(label: "InstanceId", required: true, type: .string) + ] + /// The unique identifier of the contact to end. + public let contactId: String + /// 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. + public let instanceId: String + + public init(contactId: String, instanceId: String) { + self.contactId = contactId + self.instanceId = instanceId + } + + private enum CodingKeys: String, CodingKey { + case contactId = "ContactId" + case instanceId = "InstanceId" + } + } + + public struct Credentials: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RefreshTokenExpiration", required: false, type: .timestamp), + AWSShapeMember(label: "AccessTokenExpiration", required: false, type: .timestamp), + AWSShapeMember(label: "RefreshToken", required: false, type: .string), + AWSShapeMember(label: "AccessToken", required: false, type: .string) + ] + /// Renews the expiration timer for a generated token. + public let refreshTokenExpiration: TimeStamp? + /// A token generated with an expiration time for the session a user is logged in to Amazon Connect + public let accessTokenExpiration: TimeStamp? + /// Renews a token generated for a user to access the Amazon Connect instance. + public let refreshToken: String? + /// An access token generated for a federated user to access Amazon Connect + public let accessToken: String? + + public init(refreshTokenExpiration: TimeStamp? = nil, accessTokenExpiration: TimeStamp? = nil, refreshToken: String? = nil, accessToken: String? = nil) { + self.refreshTokenExpiration = refreshTokenExpiration + self.accessTokenExpiration = accessTokenExpiration + self.refreshToken = refreshToken + self.accessToken = accessToken + } + + private enum CodingKeys: String, CodingKey { + case refreshTokenExpiration = "RefreshTokenExpiration" + case accessTokenExpiration = "AccessTokenExpiration" + case refreshToken = "RefreshToken" + case accessToken = "AccessToken" + } + } + + public struct ListUserHierarchyGroupsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "UserHierarchyGroupSummaryList", required: false, type: .list) + ] + /// 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. + public let nextToken: String? + /// An array of HierarchyGroupSummary objects. + public let userHierarchyGroupSummaryList: [HierarchyGroupSummary]? + + public init(nextToken: String? = nil, userHierarchyGroupSummaryList: [HierarchyGroupSummary]? = nil) { + self.nextToken = nextToken + self.userHierarchyGroupSummaryList = userHierarchyGroupSummaryList + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case userHierarchyGroupSummaryList = "UserHierarchyGroupSummaryList" + } + } + + public struct GetFederationTokenResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Credentials", required: false, type: .structure) + ] + /// The credentials to use for federation. + public let credentials: Credentials? + + public init(credentials: Credentials? = nil) { + self.credentials = credentials + } + + private enum CodingKeys: String, CodingKey { + case credentials = "Credentials" + } + } + + public struct ListRoutingProfilesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// 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. + public let nextToken: String? + /// 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. + public let instanceId: String + /// The maximum number of routing profiles to return in the response. + public let maxResults: Int32? + + public init(nextToken: String? = nil, instanceId: String, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.instanceId = instanceId + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case instanceId = "InstanceId" + case maxResults = "maxResults" + } + } + + public struct ListUsersResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserSummaryList", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// An array of UserSummary objects that contain information about the users in your instance. + public let userSummaryList: [UserSummary]? + /// 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. + public let nextToken: String? + + public init(userSummaryList: [UserSummary]? = nil, nextToken: String? = nil) { + self.userSummaryList = userSummaryList + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case userSummaryList = "UserSummaryList" + case nextToken = "NextToken" + } + } + + public struct DescribeUserHierarchyGroupResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "HierarchyGroup", required: false, type: .structure) + ] + /// Returns a HierarchyGroup object. + public let hierarchyGroup: HierarchyGroup? + + public init(hierarchyGroup: HierarchyGroup? = nil) { + self.hierarchyGroup = hierarchyGroup + } + + private enum CodingKeys: String, CodingKey { + case hierarchyGroup = "HierarchyGroup" + } + } + + public struct UpdateUserPhoneConfigRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string), + AWSShapeMember(label: "PhoneConfig", required: true, type: .structure), + AWSShapeMember(label: "UserId", location: .uri(locationName: "UserId"), required: true, type: .string) + ] + /// 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. + public let instanceId: String + /// A UserPhoneConfig object that contains settings for AfterContactWorkTimeLimit, AutoAccept, DeskPhoneNumber, and PhoneType to assign to the user. + public let phoneConfig: UserPhoneConfig + /// The identifier for the user account to change phone settings for. + public let userId: String + + public init(instanceId: String, phoneConfig: UserPhoneConfig, userId: String) { + self.instanceId = instanceId + self.phoneConfig = phoneConfig + self.userId = userId + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + case phoneConfig = "PhoneConfig" + case userId = "UserId" + } + } + + public struct UpdateUserIdentityInfoRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string), + AWSShapeMember(label: "UserId", location: .uri(locationName: "UserId"), required: true, type: .string), + AWSShapeMember(label: "IdentityInfo", required: true, type: .structure) + ] + /// 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. + public let instanceId: String + /// The identifier for the user account to update identity information for. + public let userId: String + /// A UserIdentityInfo object. + public let identityInfo: UserIdentityInfo + + public init(instanceId: String, userId: String, identityInfo: UserIdentityInfo) { + self.instanceId = instanceId + self.userId = userId + self.identityInfo = identityInfo + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + case userId = "UserId" + case identityInfo = "IdentityInfo" + } + } + + public struct UpdateUserRoutingProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string), + AWSShapeMember(label: "RoutingProfileId", required: true, type: .string), + AWSShapeMember(label: "UserId", location: .uri(locationName: "UserId"), required: true, type: .string) + ] + /// 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. + public let instanceId: String + /// The identifier of the routing profile to assign to the user. + public let routingProfileId: String + /// The identifier for the user account to assign the routing profile to. + public let userId: String + + public init(instanceId: String, routingProfileId: String, userId: String) { + self.instanceId = instanceId + self.routingProfileId = routingProfileId + self.userId = userId + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + case routingProfileId = "RoutingProfileId" + case userId = "UserId" + } + } + + public struct ListUserHierarchyGroupsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// 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. + public let nextToken: String? + /// 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. + public let instanceId: String + /// The maximum number of hierarchy groups to return. + public let maxResults: Int32? + + public init(nextToken: String? = nil, instanceId: String, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.instanceId = instanceId + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case instanceId = "InstanceId" + case maxResults = "maxResults" + } + } + + public struct DescribeUserHierarchyGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "HierarchyGroupId", location: .uri(locationName: "HierarchyGroupId"), required: true, type: .string), + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string) + ] + /// The identifier for the hierarchy group to return. + public let hierarchyGroupId: String + /// 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. + public let instanceId: String + + public init(hierarchyGroupId: String, instanceId: String) { + self.hierarchyGroupId = hierarchyGroupId + self.instanceId = instanceId + } + + private enum CodingKeys: String, CodingKey { + case hierarchyGroupId = "HierarchyGroupId" + case instanceId = "InstanceId" + } + } + + public struct UpdateUserSecurityProfilesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string), + AWSShapeMember(label: "SecurityProfileIds", required: true, type: .list), + AWSShapeMember(label: "UserId", location: .uri(locationName: "UserId"), required: true, type: .string) + ] + /// 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. + public let instanceId: String + /// The identifiers for the security profiles to assign to the user. + public let securityProfileIds: [String] + /// The identifier of the user account to assign the security profiles. + public let userId: String + + public init(instanceId: String, securityProfileIds: [String], userId: String) { + self.instanceId = instanceId + self.securityProfileIds = securityProfileIds + self.userId = userId + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + case securityProfileIds = "SecurityProfileIds" + case userId = "UserId" + } + } + + public struct CreateUserResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserId", required: false, type: .string), + AWSShapeMember(label: "UserArn", required: false, type: .string) + ] + /// The unique identifier for the user account in Amazon Connect + public let userId: String? + /// The Amazon Resource Name (ARN) of the user account created. + public let userArn: String? + + public init(userId: String? = nil, userArn: String? = nil) { + self.userId = userId + self.userArn = userArn + } + + private enum CodingKeys: String, CodingKey { + case userId = "UserId" + case userArn = "UserArn" + } + } + + public struct UserSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", required: false, type: .string), + AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "Username", required: false, type: .string) + ] + /// The identifier for the user account. + public let id: String? + /// The ARN for the user account. + public let arn: String? + /// The Amazon Connect user name for the user account. + public let username: String? + + public init(id: String? = nil, arn: String? = nil, username: String? = nil) { + self.id = id + self.arn = arn + self.username = username + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + case arn = "Arn" + case username = "Username" + } + } + + public struct RoutingProfileSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// The name of the routing profile. + public let name: String? + /// The ARN of the routing profile. + public let arn: String? + /// The identifier of the routing profile. + public let id: String? + + public init(name: String? = nil, arn: String? = nil, id: String? = nil) { + self.name = name + self.arn = arn + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case arn = "Arn" + case id = "Id" + } + } + + public struct UserIdentityInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FirstName", required: false, type: .string), + AWSShapeMember(label: "LastName", required: false, type: .string), + AWSShapeMember(label: "Email", required: false, type: .string) + ] + /// The first name used in the user account. This is required if you are using Amazon Connect or SAML for identity management. + public let firstName: String? + /// The last name used in the user account. This is required if you are using Amazon Connect or SAML for identity management. + public let lastName: String? + /// The email address added to the user account. If you are using SAML for identity management and include this parameter, an InvalidRequestException is returned. + public let email: String? + + public init(firstName: String? = nil, lastName: String? = nil, email: String? = nil) { + self.firstName = firstName + self.lastName = lastName + self.email = email + } + + private enum CodingKeys: String, CodingKey { + case firstName = "FirstName" + case lastName = "LastName" + case email = "Email" + } + } + + public struct ListSecurityProfilesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// 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. + public let nextToken: String? + /// 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. + public let instanceId: String + /// The maximum number of security profiles to return. + public let maxResults: Int32? + + public init(nextToken: String? = nil, instanceId: String, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.instanceId = instanceId + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case instanceId = "InstanceId" + case maxResults = "maxResults" + } + } + + public struct HierarchyGroup: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "HierarchyPath", required: false, type: .structure), + AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "LevelId", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// A HierarchyPath object that contains information about the levels in the hierarchy group. + public let hierarchyPath: HierarchyPath? + /// The Amazon Resource Name (ARN) for the hierarchy group. + public let arn: String? + /// The identifier for the level in the hierarchy group. + public let levelId: String? + /// The name of the hierarchy group in your instance. + public let name: String? + /// The identifier for the hierarchy group. + public let id: String? + + public init(hierarchyPath: HierarchyPath? = nil, arn: String? = nil, levelId: String? = nil, name: String? = nil, id: String? = nil) { + self.hierarchyPath = hierarchyPath + self.arn = arn + self.levelId = levelId + self.name = name + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case hierarchyPath = "HierarchyPath" + case arn = "Arn" + case levelId = "LevelId" + case name = "Name" + case id = "Id" + } + } + + public struct User: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", required: false, type: .string), + AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "SecurityProfileIds", required: false, type: .list), + AWSShapeMember(label: "Username", required: false, type: .string), + AWSShapeMember(label: "DirectoryUserId", required: false, type: .string), + AWSShapeMember(label: "RoutingProfileId", required: false, type: .string), + AWSShapeMember(label: "PhoneConfig", required: false, type: .structure), + AWSShapeMember(label: "HierarchyGroupId", required: false, type: .string), + AWSShapeMember(label: "IdentityInfo", required: false, type: .structure) + ] + /// The identifier of the user account. + public let id: String? + /// The ARN of the user account. + public let arn: String? + /// The identifier(s) for the security profile assigned to the user. + public let securityProfileIds: [String]? + /// The user name assigned to the user account. + public let username: String? + /// The directory Id for the user account in the existing directory used for identity management. + public let directoryUserId: String? + /// The identifier of the routing profile assigned to the user. + public let routingProfileId: String? + /// A UserPhoneConfig object. + public let phoneConfig: UserPhoneConfig? + /// The identifier for the hierarchy group assigned to the user. + public let hierarchyGroupId: String? + /// A UserIdentityInfo object. + public let identityInfo: UserIdentityInfo? + + public init(id: String? = nil, arn: String? = nil, securityProfileIds: [String]? = nil, username: String? = nil, directoryUserId: String? = nil, routingProfileId: String? = nil, phoneConfig: UserPhoneConfig? = nil, hierarchyGroupId: String? = nil, identityInfo: UserIdentityInfo? = nil) { + self.id = id + self.arn = arn + self.securityProfileIds = securityProfileIds + self.username = username + self.directoryUserId = directoryUserId + self.routingProfileId = routingProfileId + self.phoneConfig = phoneConfig + self.hierarchyGroupId = hierarchyGroupId + self.identityInfo = identityInfo + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + case arn = "Arn" + case securityProfileIds = "SecurityProfileIds" + case username = "Username" + case directoryUserId = "DirectoryUserId" + case routingProfileId = "RoutingProfileId" + case phoneConfig = "PhoneConfig" + case hierarchyGroupId = "HierarchyGroupId" + case identityInfo = "IdentityInfo" + } + } + + public struct HierarchyStructure: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LevelFour", required: false, type: .structure), + AWSShapeMember(label: "LevelFive", required: false, type: .structure), + AWSShapeMember(label: "LevelTwo", required: false, type: .structure), + AWSShapeMember(label: "LevelOne", required: false, type: .structure), + AWSShapeMember(label: "LevelThree", required: false, type: .structure) + ] + /// A HierarchyLevel object that contains information about the hierarchy group level. + public let levelFour: HierarchyLevel? + /// A HierarchyLevel object that contains information about the hierarchy group level. + public let levelFive: HierarchyLevel? + /// A HierarchyLevel object that contains information about the hierarchy group level. + public let levelTwo: HierarchyLevel? + /// A HierarchyLevel object that contains information about the hierarchy group level. + public let levelOne: HierarchyLevel? + /// A HierarchyLevel object that contains information about the hierarchy group level. + public let levelThree: HierarchyLevel? + + public init(levelFour: HierarchyLevel? = nil, levelFive: HierarchyLevel? = nil, levelTwo: HierarchyLevel? = nil, levelOne: HierarchyLevel? = nil, levelThree: HierarchyLevel? = nil) { + self.levelFour = levelFour + self.levelFive = levelFive + self.levelTwo = levelTwo + self.levelOne = levelOne + self.levelThree = levelThree + } + + private enum CodingKeys: String, CodingKey { + case levelFour = "LevelFour" + case levelFive = "LevelFive" + case levelTwo = "LevelTwo" + case levelOne = "LevelOne" + case levelThree = "LevelThree" + } + } + + public struct ListUsersRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// 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. + public let nextToken: String? + /// 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. + public let instanceId: String + /// The maximum number of results to return in the response. + public let maxResults: Int32? + + public init(nextToken: String? = nil, instanceId: String, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.instanceId = instanceId + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case instanceId = "InstanceId" + case maxResults = "maxResults" + } + } + + public struct SecurityProfileSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// The name of the security profile. + public let name: String? + /// The ARN of the security profile. + public let arn: String? + /// The identifier of the security profile. + public let id: String? + + public init(name: String? = nil, arn: String? = nil, id: String? = nil) { + self.name = name + self.arn = arn + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case arn = "Arn" + case id = "Id" + } + } + + public enum PhoneType: String, CustomStringConvertible, Codable { + case softPhone = "SOFT_PHONE" + case deskPhone = "DESK_PHONE" + public var description: String { return self.rawValue } + } + + public struct CreateUserRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string), + AWSShapeMember(label: "SecurityProfileIds", required: true, type: .list), + AWSShapeMember(label: "DirectoryUserId", required: false, type: .string), + AWSShapeMember(label: "Username", required: true, type: .string), + AWSShapeMember(label: "RoutingProfileId", required: true, type: .string), + AWSShapeMember(label: "PhoneConfig", required: true, type: .structure), + AWSShapeMember(label: "HierarchyGroupId", required: false, type: .string), + AWSShapeMember(label: "Password", required: false, type: .string), + AWSShapeMember(label: "IdentityInfo", required: false, type: .structure) + ] + /// 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. + public let instanceId: String + /// The unique identifier of the security profile to assign to the user created. + public let securityProfileIds: [String] + /// 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. + public let directoryUserId: String? + /// The user name in Amazon Connect for the user to create. + public let username: String + /// The unique identifier for the routing profile to assign to the user created. + public let routingProfileId: String + /// Specifies the phone settings for the user, including AfterContactWorkTimeLimit, AutoAccept, DeskPhoneNumber, and PhoneType. + public let phoneConfig: UserPhoneConfig + /// The unique identifier for the hierarchy group to assign to the user created. + public let hierarchyGroupId: String? + /// 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. + public let password: String? + /// Information about the user, including email address, first name, and last name. + public let identityInfo: UserIdentityInfo? + + public init(instanceId: String, securityProfileIds: [String], directoryUserId: String? = nil, username: String, routingProfileId: String, phoneConfig: UserPhoneConfig, hierarchyGroupId: String? = nil, password: String? = nil, identityInfo: UserIdentityInfo? = nil) { + self.instanceId = instanceId + self.securityProfileIds = securityProfileIds + self.directoryUserId = directoryUserId + self.username = username + self.routingProfileId = routingProfileId + self.phoneConfig = phoneConfig + self.hierarchyGroupId = hierarchyGroupId + self.password = password + self.identityInfo = identityInfo + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + case securityProfileIds = "SecurityProfileIds" + case directoryUserId = "DirectoryUserId" + case username = "Username" + case routingProfileId = "RoutingProfileId" + case phoneConfig = "PhoneConfig" + case hierarchyGroupId = "HierarchyGroupId" + case password = "Password" + case identityInfo = "IdentityInfo" + } + } + + public struct StartOutboundVoiceContactRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClientToken", required: false, type: .string), + AWSShapeMember(label: "InstanceId", required: true, type: .string), + AWSShapeMember(label: "QueueId", required: false, type: .string), + AWSShapeMember(label: "SourcePhoneNumber", required: false, type: .string), + AWSShapeMember(label: "ContactFlowId", required: true, type: .string), + AWSShapeMember(label: "DestinationPhoneNumber", required: true, type: .string), + AWSShapeMember(label: "Attributes", required: false, type: .map) + ] + /// 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. + public let clientToken: String? + /// 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. + public let instanceId: String + /// 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. + public let queueId: String? + /// The phone number, in E.164 format, associated with your Amazon Connect instance to use for the outbound call. + public let sourcePhoneNumber: String? + /// 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. + public let contactFlowId: String + /// The phone number of the customer in E.164 format. + public let destinationPhoneNumber: String + /// 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: + public let attributes: [String: String]? + + public init(clientToken: String? = nil, instanceId: String, queueId: String? = nil, sourcePhoneNumber: String? = nil, contactFlowId: String, destinationPhoneNumber: String, attributes: [String: String]? = nil) { + self.clientToken = clientToken + self.instanceId = instanceId + self.queueId = queueId + self.sourcePhoneNumber = sourcePhoneNumber + self.contactFlowId = contactFlowId + self.destinationPhoneNumber = destinationPhoneNumber + self.attributes = attributes + } + + private enum CodingKeys: String, CodingKey { + case clientToken = "ClientToken" + case instanceId = "InstanceId" + case queueId = "QueueId" + case sourcePhoneNumber = "SourcePhoneNumber" + case contactFlowId = "ContactFlowId" + case destinationPhoneNumber = "DestinationPhoneNumber" + case attributes = "Attributes" + } + } + + public struct ListSecurityProfilesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "SecurityProfileSummaryList", required: false, type: .list) + ] + /// 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. + public let nextToken: String? + /// An array of SecurityProfileSummary objects. + public let securityProfileSummaryList: [SecurityProfileSummary]? + + public init(nextToken: String? = nil, securityProfileSummaryList: [SecurityProfileSummary]? = nil) { + self.nextToken = nextToken + self.securityProfileSummaryList = securityProfileSummaryList + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case securityProfileSummaryList = "SecurityProfileSummaryList" + } + } + + public struct StopContactResponse: AWSShape { + + } + + public struct GetFederationTokenRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string) + ] + /// 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. + public let instanceId: String + + public init(instanceId: String) { + self.instanceId = instanceId + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + } + } + + public struct DeleteUserRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string), + AWSShapeMember(label: "UserId", location: .uri(locationName: "UserId"), required: true, type: .string) + ] + /// 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. + public let instanceId: String + /// The unique identifier of the user to delete. + public let userId: String + + public init(instanceId: String, userId: String) { + self.instanceId = instanceId + self.userId = userId + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + case userId = "UserId" + } + } + + public struct StartOutboundVoiceContactResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContactId", required: false, type: .string) + ] + /// The unique identifier of this contact within your Amazon Connect instance. + public let contactId: String? + + public init(contactId: String? = nil) { + self.contactId = contactId + } + + private enum CodingKeys: String, CodingKey { + case contactId = "ContactId" + } + } + + public struct DescribeUserHierarchyStructureRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string) + ] + /// 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. + public let instanceId: String + + public init(instanceId: String) { + self.instanceId = instanceId + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + } + } + + public struct DescribeUserRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", location: .uri(locationName: "InstanceId"), required: true, type: .string), + AWSShapeMember(label: "UserId", location: .uri(locationName: "UserId"), required: true, type: .string) + ] + /// 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. + public let instanceId: String + /// Unique identifier for the user account to return. + public let userId: String + + public init(instanceId: String, userId: String) { + self.instanceId = instanceId + self.userId = userId + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + case userId = "UserId" + } + } + + public struct HierarchyGroupSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// The name of the hierarchy group. + public let name: String? + /// The ARN for the hierarchy group. + public let arn: String? + /// The identifier of the hierarchy group. + public let id: String? + + public init(name: String? = nil, arn: String? = nil, id: String? = nil) { + self.name = name + self.arn = arn + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case arn = "Arn" + case id = "Id" + } + } + + public struct DescribeUserResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "User", required: false, type: .structure) + ] + /// A User object that contains information about the user account and configuration settings. + public let user: User? + + public init(user: User? = nil) { + self.user = user + } + + private enum CodingKeys: String, CodingKey { + case user = "User" + } + } + + public struct HierarchyLevel: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// The name of the hierarchy group level. + public let name: String? + /// The ARN for the hierarchy group level. + public let arn: String? + /// The identifier for the hierarchy group level. + public let id: String? + + public init(name: String? = nil, arn: String? = nil, id: String? = nil) { + self.name = name + self.arn = arn + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case arn = "Arn" + case id = "Id" + } + } + + public struct DescribeUserHierarchyStructureResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "HierarchyStructure", required: false, type: .structure) + ] + /// A HierarchyStructure object. + public let hierarchyStructure: HierarchyStructure? + + public init(hierarchyStructure: HierarchyStructure? = nil) { + self.hierarchyStructure = hierarchyStructure + } + + private enum CodingKeys: String, CodingKey { + case hierarchyStructure = "HierarchyStructure" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/dax/Dax_Shapes.swift b/Sources/AWSSDKSwift/Services/dax/Dax_Shapes.swift index 78d510b8620..bfb40ba62a6 100644 --- a/Sources/AWSSDKSwift/Services/dax/Dax_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/dax/Dax_Shapes.swift @@ -117,30 +117,30 @@ extension Dax { public struct DescribeParametersRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Source", required: false, type: .string), AWSShapeMember(label: "ParameterGroupName", required: true, type: .string), + AWSShapeMember(label: "Source", required: false, type: .string), AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// How the parameter is defined. For example, system denotes a system-defined parameter. - public let source: String? /// The name of the parameter group. public let parameterGroupName: String + /// How the parameter is defined. For example, system denotes a system-defined parameter. + public let source: String? /// 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. public let nextToken: String? /// 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. public let maxResults: Int32? - public init(source: String? = nil, parameterGroupName: String, nextToken: String? = nil, maxResults: Int32? = nil) { - self.source = source + public init(parameterGroupName: String, source: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { self.parameterGroupName = parameterGroupName + self.source = source self.nextToken = nextToken self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case source = "Source" case parameterGroupName = "ParameterGroupName" + case source = "Source" case nextToken = "NextToken" case maxResults = "MaxResults" } diff --git a/Sources/AWSSDKSwift/Services/devicefarm/Devicefarm_API.swift b/Sources/AWSSDKSwift/Services/devicefarm/Devicefarm_API.swift index f85364b6c11..b90189457a7 100644 --- a/Sources/AWSSDKSwift/Services/devicefarm/Devicefarm_API.swift +++ b/Sources/AWSSDKSwift/Services/devicefarm/Devicefarm_API.swift @@ -25,11 +25,26 @@ public struct Devicefarm { ) } + /// Gets information about unique device types. + public func listDevices(_ input: ListDevicesRequest) throws -> ListDevicesResult { + return try client.send(operation: "ListDevices", path: "/", httpMethod: "POST", input: input) + } + + /// Returns information about the private device instances associated with one or more AWS accounts. + public func listDeviceInstances(_ input: ListDeviceInstancesRequest) throws -> ListDeviceInstancesResult { + return try client.send(operation: "ListDeviceInstances", path: "/", httpMethod: "POST", input: input) + } + /// Gets information about a test. public func getTest(_ input: GetTestRequest) throws -> GetTestResult { return try client.send(operation: "GetTest", path: "/", httpMethod: "POST", input: input) } + /// Deletes a configuration for your Amazon Virtual Private Cloud (VPC) endpoint. + public func deleteVPCEConfiguration(_ input: DeleteVPCEConfigurationRequest) throws -> DeleteVPCEConfigurationResult { + return try client.send(operation: "DeleteVPCEConfiguration", path: "/", httpMethod: "POST", input: input) + } + /// Specifies and starts a remote access session. public func createRemoteAccessSession(_ input: CreateRemoteAccessSessionRequest) throws -> CreateRemoteAccessSessionResult { return try client.send(operation: "CreateRemoteAccessSession", path: "/", httpMethod: "POST", input: input) @@ -55,16 +70,16 @@ public struct Devicefarm { return try client.send(operation: "CreateDevicePool", path: "/", httpMethod: "POST", input: input) } - /// Gets information about device pools. - public func listDevicePools(_ input: ListDevicePoolsRequest) throws -> ListDevicePoolsResult { - return try client.send(operation: "ListDevicePools", path: "/", httpMethod: "POST", input: input) - } - /// Gets information about a unique device type. public func getDevice(_ input: GetDeviceRequest) throws -> GetDeviceResult { return try client.send(operation: "GetDevice", path: "/", httpMethod: "POST", input: input) } + /// Gets information about device pools. + public func listDevicePools(_ input: ListDevicePoolsRequest) throws -> ListDevicePoolsResult { + return try client.send(operation: "ListDevicePools", path: "/", httpMethod: "POST", input: input) + } + /// Returns information about a network profile. public func getNetworkProfile(_ input: GetNetworkProfileRequest) throws -> GetNetworkProfileResult { return try client.send(operation: "GetNetworkProfile", path: "/", httpMethod: "POST", input: input) @@ -80,9 +95,9 @@ public struct Devicefarm { return try client.send(operation: "GetSuite", path: "/", httpMethod: "POST", input: input) } - /// Returns a list of all currently running remote access sessions. - public func listRemoteAccessSessions(_ input: ListRemoteAccessSessionsRequest) throws -> ListRemoteAccessSessionsResult { - return try client.send(operation: "ListRemoteAccessSessions", path: "/", httpMethod: "POST", input: input) + /// Creates a profile that can be applied to one or more private fleet device instances. + public func createInstanceProfile(_ input: CreateInstanceProfileRequest) throws -> CreateInstanceProfileResult { + return try client.send(operation: "CreateInstanceProfile", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -90,11 +105,21 @@ public struct Devicefarm { return try client.send(operation: "ListOfferingTransactions", path: "/", httpMethod: "POST", input: input) } + /// Returns a list of all currently running remote access sessions. + public func listRemoteAccessSessions(_ input: ListRemoteAccessSessionsRequest) throws -> ListRemoteAccessSessionsResult { + return try client.send(operation: "ListRemoteAccessSessions", path: "/", httpMethod: "POST", input: input) + } + /// Schedules a run. public func scheduleRun(_ input: ScheduleRunRequest) throws -> ScheduleRunResult { return try client.send(operation: "ScheduleRun", path: "/", httpMethod: "POST", input: input) } + /// Updates information about an existing private device instance. + public func updateDeviceInstance(_ input: UpdateDeviceInstanceRequest) throws -> UpdateDeviceInstanceResult { + return try client.send(operation: "UpdateDeviceInstance", path: "/", httpMethod: "POST", input: input) + } + /// Deletes an upload given the upload ARN. public func deleteUpload(_ input: DeleteUploadRequest) throws -> DeleteUploadResult { return try client.send(operation: "DeleteUpload", path: "/", httpMethod: "POST", input: input) @@ -180,7 +205,7 @@ public struct Devicefarm { return try client.send(operation: "GetJob", path: "/", httpMethod: "POST", input: input) } - /// Gets information about suites. + /// Gets information about test suites for a given job. public func listSuites(_ input: ListSuitesRequest) throws -> ListSuitesResult { return try client.send(operation: "ListSuites", path: "/", httpMethod: "POST", input: input) } @@ -190,26 +215,46 @@ public struct Devicefarm { return try client.send(operation: "ListSamples", path: "/", httpMethod: "POST", input: input) } - /// Gets information about jobs. + /// Returns information about all Amazon Virtual Private Cloud (VPC) endpoint configurations in the AWS account. + public func listVPCEConfigurations(_ input: ListVPCEConfigurationsRequest) throws -> ListVPCEConfigurationsResult { + return try client.send(operation: "ListVPCEConfigurations", path: "/", httpMethod: "POST", input: input) + } + + /// Gets information about jobs for a given test run. public func listJobs(_ input: ListJobsRequest) throws -> ListJobsResult { return try client.send(operation: "ListJobs", path: "/", httpMethod: "POST", input: input) } + /// Returns information about all the instance profiles in an AWS account. + public func listInstanceProfiles(_ input: ListInstanceProfilesRequest) throws -> ListInstanceProfilesResult { + return try client.send(operation: "ListInstanceProfiles", path: "/", httpMethod: "POST", input: input) + } + /// Creates a network profile. public func createNetworkProfile(_ input: CreateNetworkProfileRequest) throws -> CreateNetworkProfileResult { return try client.send(operation: "CreateNetworkProfile", path: "/", httpMethod: "POST", input: input) } - /// Gets information about tests. + /// Gets information about tests in a given test suite. public func listTests(_ input: ListTestsRequest) throws -> ListTestsResult { return try client.send(operation: "ListTests", path: "/", httpMethod: "POST", input: input) } + /// Returns information about the specified instance profile. + public func getInstanceProfile(_ input: GetInstanceProfileRequest) throws -> GetInstanceProfileResult { + return try client.send(operation: "GetInstanceProfile", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func getOfferingStatus(_ input: GetOfferingStatusRequest) throws -> GetOfferingStatusResult { return try client.send(operation: "GetOfferingStatus", path: "/", httpMethod: "POST", input: input) } + /// Updates information about an existing Amazon Virtual Private Cloud (VPC) endpoint configuration. + public func updateVPCEConfiguration(_ input: UpdateVPCEConfigurationRequest) throws -> UpdateVPCEConfigurationResult { + return try client.send(operation: "UpdateVPCEConfiguration", path: "/", httpMethod: "POST", input: input) + } + /// Gets information about a run. public func getRun(_ input: GetRunRequest) throws -> GetRunResult { return try client.send(operation: "GetRun", path: "/", httpMethod: "POST", input: input) @@ -225,29 +270,34 @@ public struct Devicefarm { return try client.send(operation: "DeleteRun", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func stopRun(_ input: StopRunRequest) throws -> StopRunResult { - return try client.send(operation: "StopRun", path: "/", httpMethod: "POST", input: input) - } - /// 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. public func purchaseOffering(_ input: PurchaseOfferingRequest) throws -> PurchaseOfferingResult { return try client.send(operation: "PurchaseOffering", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func stopRun(_ input: StopRunRequest) throws -> StopRunResult { + return try client.send(operation: "StopRun", path: "/", httpMethod: "POST", input: input) + } + /// Returns the number of unmetered iOS and/or unmetered Android devices that have been purchased by the account. public func getAccountSettings(_ input: GetAccountSettingsRequest) throws -> GetAccountSettingsResult { return try client.send(operation: "GetAccountSettings", path: "/", httpMethod: "POST", input: input) } + /// Creates a configuration record in Device Farm for your Amazon Virtual Private Cloud (VPC) endpoint. + public func createVPCEConfiguration(_ input: CreateVPCEConfigurationRequest) throws -> CreateVPCEConfigurationResult { + return try client.send(operation: "CreateVPCEConfiguration", path: "/", httpMethod: "POST", input: input) + } + /// Gets information about runs, given an AWS Device Farm project ARN. public func listRuns(_ input: ListRunsRequest) throws -> ListRunsResult { return try client.send(operation: "ListRuns", path: "/", httpMethod: "POST", input: input) } - /// Gets information about artifacts. - public func listArtifacts(_ input: ListArtifactsRequest) throws -> ListArtifactsResult { - return try client.send(operation: "ListArtifacts", path: "/", httpMethod: "POST", input: input) + /// Deletes a profile that can be applied to one or more private device instances. + public func deleteInstanceProfile(_ input: DeleteInstanceProfileRequest) throws -> DeleteInstanceProfileResult { + return try client.send(operation: "DeleteInstanceProfile", path: "/", httpMethod: "POST", input: input) } /// Deletes a network profile. @@ -255,6 +305,21 @@ public struct Devicefarm { return try client.send(operation: "DeleteNetworkProfile", path: "/", httpMethod: "POST", input: input) } + /// Gets information about artifacts. + public func listArtifacts(_ input: ListArtifactsRequest) throws -> ListArtifactsResult { + return try client.send(operation: "ListArtifacts", path: "/", httpMethod: "POST", input: input) + } + + /// Updates information about an existing private device instance profile. + public func updateInstanceProfile(_ input: UpdateInstanceProfileRequest) throws -> UpdateInstanceProfileResult { + return try client.send(operation: "UpdateInstanceProfile", path: "/", httpMethod: "POST", input: input) + } + + /// Returns information about a device instance belonging to a private device fleet. + public func getDeviceInstance(_ input: GetDeviceInstanceRequest) throws -> GetDeviceInstanceResult { + return try client.send(operation: "GetDeviceInstance", path: "/", httpMethod: "POST", input: input) + } + /// Gets information about a device pool. public func getDevicePool(_ input: GetDevicePoolRequest) throws -> GetDevicePoolResult { return try client.send(operation: "GetDevicePool", path: "/", httpMethod: "POST", input: input) @@ -265,9 +330,9 @@ public struct Devicefarm { return try client.send(operation: "GetUpload", path: "/", httpMethod: "POST", input: input) } - /// Gets information about unique device types. - public func listDevices(_ input: ListDevicesRequest) throws -> ListDevicesResult { - return try client.send(operation: "ListDevices", path: "/", httpMethod: "POST", input: input) + /// Returns information about the configuration settings for your Amazon Virtual Private Cloud (VPC) endpoint. + public func getVPCEConfiguration(_ input: GetVPCEConfigurationRequest) throws -> GetVPCEConfigurationResult { + return try client.send(operation: "GetVPCEConfiguration", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/devicefarm/Devicefarm_Error.swift b/Sources/AWSSDKSwift/Services/devicefarm/Devicefarm_Error.swift index 787565f5a0d..66ed13c8f23 100644 --- a/Sources/AWSSDKSwift/Services/devicefarm/Devicefarm_Error.swift +++ b/Sources/AWSSDKSwift/Services/devicefarm/Devicefarm_Error.swift @@ -8,6 +8,7 @@ public enum DevicefarmError: AWSErrorType { case notFoundException(message: String?) case limitExceededException(message: String?) case serviceAccountException(message: String?) + case invalidOperationException(message: String?) case notEligibleException(message: String?) case idempotencyException(message: String?) } @@ -27,6 +28,8 @@ extension DevicefarmError { self = .limitExceededException(message: message) case "ServiceAccountException": self = .serviceAccountException(message: message) + case "InvalidOperationException": + self = .invalidOperationException(message: message) case "NotEligibleException": self = .notEligibleException(message: message) case "IdempotencyException": diff --git a/Sources/AWSSDKSwift/Services/devicefarm/Devicefarm_Shapes.swift b/Sources/AWSSDKSwift/Services/devicefarm/Devicefarm_Shapes.swift index 402707f26a3..e8ffc2070f8 100644 --- a/Sources/AWSSDKSwift/Services/devicefarm/Devicefarm_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/devicefarm/Devicefarm_Shapes.swift @@ -101,45 +101,40 @@ extension Devicefarm { } } - public struct GetTestResult: AWSShape { + public struct CreateRemoteAccessSessionConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "test", required: false, type: .structure) + AWSShapeMember(label: "vpceConfigurationArns", required: false, type: .list), + AWSShapeMember(label: "billingMethod", required: false, type: .enum) ] - /// A test condition that is evaluated. - public let test: Test? + /// An array of Amazon Resource Names (ARNs) included in the VPC endpoint configuration. + public let vpceConfigurationArns: [String]? + /// The billing method for the remote access session. + public let billingMethod: BillingMethod? - public init(test: Test? = nil) { - self.test = test + public init(vpceConfigurationArns: [String]? = nil, billingMethod: BillingMethod? = nil) { + self.vpceConfigurationArns = vpceConfigurationArns + self.billingMethod = billingMethod } private enum CodingKeys: String, CodingKey { - case test = "test" + case vpceConfigurationArns = "vpceConfigurationArns" + case billingMethod = "billingMethod" } } - public struct Rule: AWSShape { + public struct GetTestResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "attribute", required: false, type: .enum), - AWSShapeMember(label: "operator", required: false, type: .enum), - AWSShapeMember(label: "value", required: false, type: .string) + AWSShapeMember(label: "test", required: false, type: .structure) ] - /// 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. - public let attribute: DeviceAttribute? - /// 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. - public let `operator`: RuleOperator? - /// The rule's value. - public let value: String? + /// A test condition that is evaluated. + public let test: Test? - public init(attribute: DeviceAttribute? = nil, operator: RuleOperator? = nil, value: String? = nil) { - self.attribute = attribute - self.`operator` = `operator` - self.value = value + public init(test: Test? = nil) { + self.test = test } private enum CodingKeys: String, CodingKey { - case attribute = "attribute" - case `operator` = "operator" - case value = "value" + case test = "test" } } @@ -150,7 +145,7 @@ extension Devicefarm { ] /// 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. public let nextToken: String? - /// The tests' ARNs. + /// The test suite's Amazon Resource Name (ARN). public let arn: String public init(nextToken: String? = nil, arn: String) { @@ -180,19 +175,29 @@ extension Devicefarm { } } - public struct CreateRemoteAccessSessionConfiguration: AWSShape { + public struct Rule: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "billingMethod", required: false, type: .enum) + AWSShapeMember(label: "attribute", required: false, type: .enum), + AWSShapeMember(label: "operator", required: false, type: .enum), + AWSShapeMember(label: "value", required: false, type: .string) ] - /// Returns the billing method for purposes of configuring a remote access session. - public let billingMethod: BillingMethod? + /// 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. + public let attribute: DeviceAttribute? + /// 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. + public let `operator`: RuleOperator? + /// The rule's value. + public let value: String? - public init(billingMethod: BillingMethod? = nil) { - self.billingMethod = billingMethod + public init(attribute: DeviceAttribute? = nil, operator: RuleOperator? = nil, value: String? = nil) { + self.attribute = attribute + self.`operator` = `operator` + self.value = value } private enum CodingKeys: String, CodingKey { - case billingMethod = "billingMethod" + case attribute = "attribute" + case `operator` = "operator" + case value = "value" } } @@ -217,6 +222,10 @@ extension Devicefarm { } } + public struct DeleteInstanceProfileResult: AWSShape { + + } + public struct ListRemoteAccessSessionsResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), @@ -275,7 +284,7 @@ extension Devicefarm { public let `type`: NetworkProfileType? /// The data throughput rate in bits per second, as an integer from 0 to 104857600. public let downlinkBandwidthBits: Int64? - /// The Amazon Resource Name (ARN) of the project that you wish to update network profile settings. + /// The Amazon Resource Name (ARN) of the project for which you want to update network profile settings. public let arn: String public init(uplinkJitterMs: Int64? = nil, name: String? = nil, downlinkJitterMs: Int64? = nil, downlinkDelayMs: Int64? = nil, uplinkLossPercent: Int32? = nil, downlinkLossPercent: Int32? = nil, description: String? = nil, uplinkDelayMs: Int64? = nil, uplinkBandwidthBits: Int64? = nil, type: NetworkProfileType? = nil, downlinkBandwidthBits: Int64? = nil, arn: String) { @@ -325,6 +334,47 @@ extension Devicefarm { } } + public struct InstanceProfile: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "packageCleanup", required: false, type: .boolean), + AWSShapeMember(label: "rebootAfterUse", required: false, type: .boolean), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "arn", required: false, type: .string), + AWSShapeMember(label: "excludeAppPackagesFromCleanup", required: false, type: .list) + ] + /// When set to true, Device Farm will remove app packages after a test run. The default value is false for private devices. + public let packageCleanup: Bool? + /// When set to true, Device Farm will reboot the instance after a test run. The default value is true. + public let rebootAfterUse: Bool? + /// The name of the instance profile. + public let name: String? + /// The description of the instance profile. + public let description: String? + /// The Amazon Resource Name (ARN) of the instance profile. + public let arn: String? + /// 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. + public let excludeAppPackagesFromCleanup: [String]? + + public init(packageCleanup: Bool? = nil, rebootAfterUse: Bool? = nil, name: String? = nil, description: String? = nil, arn: String? = nil, excludeAppPackagesFromCleanup: [String]? = nil) { + self.packageCleanup = packageCleanup + self.rebootAfterUse = rebootAfterUse + self.name = name + self.description = description + self.arn = arn + self.excludeAppPackagesFromCleanup = excludeAppPackagesFromCleanup + } + + private enum CodingKeys: String, CodingKey { + case packageCleanup = "packageCleanup" + case rebootAfterUse = "rebootAfterUse" + case name = "name" + case description = "description" + case arn = "arn" + case excludeAppPackagesFromCleanup = "excludeAppPackagesFromCleanup" + } + } + public enum UploadStatus: String, CustomStringConvertible, Codable { case initialized = "INITIALIZED" case processing = "PROCESSING" @@ -403,26 +453,31 @@ extension Devicefarm { public struct ExecutionConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "accountsCleanup", required: false, type: .boolean), AWSShapeMember(label: "jobTimeoutMinutes", required: false, type: .integer), + AWSShapeMember(label: "accountsCleanup", required: false, type: .boolean), + AWSShapeMember(label: "skipAppResign", required: false, type: .boolean), AWSShapeMember(label: "appPackagesCleanup", required: false, type: .boolean) ] - /// True if account cleanup is enabled at the beginning of the test; otherwise, false. - public let accountsCleanup: Bool? /// The number of minutes a test run will execute before it times out. public let jobTimeoutMinutes: Int32? + /// True if account cleanup is enabled at the beginning of the test; otherwise, false. + public let accountsCleanup: Bool? + /// 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. + public let skipAppResign: Bool? /// True if app package cleanup is enabled at the beginning of the test; otherwise, false. public let appPackagesCleanup: Bool? - public init(accountsCleanup: Bool? = nil, jobTimeoutMinutes: Int32? = nil, appPackagesCleanup: Bool? = nil) { - self.accountsCleanup = accountsCleanup + public init(jobTimeoutMinutes: Int32? = nil, accountsCleanup: Bool? = nil, skipAppResign: Bool? = nil, appPackagesCleanup: Bool? = nil) { self.jobTimeoutMinutes = jobTimeoutMinutes + self.accountsCleanup = accountsCleanup + self.skipAppResign = skipAppResign self.appPackagesCleanup = appPackagesCleanup } private enum CodingKeys: String, CodingKey { - case accountsCleanup = "accountsCleanup" case jobTimeoutMinutes = "jobTimeoutMinutes" + case accountsCleanup = "accountsCleanup" + case skipAppResign = "skipAppResign" case appPackagesCleanup = "appPackagesCleanup" } } @@ -540,17 +595,22 @@ extension Devicefarm { AWSShapeMember(label: "remoteDebugEnabled", required: false, type: .boolean), AWSShapeMember(label: "name", required: false, type: .string), AWSShapeMember(label: "endpoint", required: false, type: .string), + AWSShapeMember(label: "remoteRecordAppArn", required: false, type: .string), AWSShapeMember(label: "clientId", required: false, type: .string), AWSShapeMember(label: "device", required: false, type: .structure), AWSShapeMember(label: "result", required: false, type: .enum), + AWSShapeMember(label: "skipAppResign", required: false, type: .boolean), AWSShapeMember(label: "arn", required: false, type: .string), + AWSShapeMember(label: "remoteRecordEnabled", required: false, type: .boolean), AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "interactionMode", required: false, type: .enum), AWSShapeMember(label: "created", required: false, type: .timestamp), AWSShapeMember(label: "started", required: false, type: .timestamp), AWSShapeMember(label: "hostAddress", required: false, type: .string), AWSShapeMember(label: "stopped", required: false, type: .timestamp), AWSShapeMember(label: "deviceMinutes", required: false, type: .structure), AWSShapeMember(label: "message", required: false, type: .string), + AWSShapeMember(label: "instanceArn", required: false, type: .string), AWSShapeMember(label: "deviceUdid", required: false, type: .string), AWSShapeMember(label: "billingMethod", required: false, type: .enum) ] @@ -560,16 +620,24 @@ extension Devicefarm { public let name: String? /// The endpoint for the remote access sesssion. public let endpoint: String? + /// The Amazon Resource Name (ARN) for the app to be recorded in the remote access session. + public let remoteRecordAppArn: String? /// Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for the remote access session. public let clientId: String? /// The device (phone or tablet) used in the remote access session. public let device: Device? /// 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. public let result: ExecutionResult? + /// 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. + public let skipAppResign: Bool? /// The Amazon Resource Name (ARN) of the remote access session. public let arn: String? + /// This flag is set to true if remote recording is enabled for the remote access session. + public let remoteRecordEnabled: Bool? /// 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. public let status: ExecutionStatus? + /// 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. + public let interactionMode: InteractionMode? /// The date and time the remote access session was created. public let created: TimeStamp? /// The date and time the remote access session was started. @@ -582,26 +650,33 @@ extension Devicefarm { public let deviceMinutes: DeviceMinutes? /// A message about the remote access session. public let message: String? + /// The Amazon Resource Name (ARN) of the instance. + public let instanceArn: String? /// Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote access session. public let deviceUdid: String? /// 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." public let billingMethod: BillingMethod? - public init(remoteDebugEnabled: Bool? = nil, name: String? = nil, endpoint: String? = nil, clientId: String? = nil, device: Device? = nil, result: ExecutionResult? = nil, arn: String? = nil, status: ExecutionStatus? = nil, created: TimeStamp? = nil, started: TimeStamp? = nil, hostAddress: String? = nil, stopped: TimeStamp? = nil, deviceMinutes: DeviceMinutes? = nil, message: String? = nil, deviceUdid: String? = nil, billingMethod: BillingMethod? = nil) { + public init(remoteDebugEnabled: Bool? = nil, name: String? = nil, endpoint: String? = nil, remoteRecordAppArn: String? = nil, clientId: String? = nil, device: Device? = nil, result: ExecutionResult? = nil, skipAppResign: Bool? = nil, arn: String? = nil, remoteRecordEnabled: Bool? = nil, status: ExecutionStatus? = nil, interactionMode: InteractionMode? = nil, created: TimeStamp? = nil, started: TimeStamp? = nil, hostAddress: String? = nil, stopped: TimeStamp? = nil, deviceMinutes: DeviceMinutes? = nil, message: String? = nil, instanceArn: String? = nil, deviceUdid: String? = nil, billingMethod: BillingMethod? = nil) { self.remoteDebugEnabled = remoteDebugEnabled self.name = name self.endpoint = endpoint + self.remoteRecordAppArn = remoteRecordAppArn self.clientId = clientId self.device = device self.result = result + self.skipAppResign = skipAppResign self.arn = arn + self.remoteRecordEnabled = remoteRecordEnabled self.status = status + self.interactionMode = interactionMode self.created = created self.started = started self.hostAddress = hostAddress self.stopped = stopped self.deviceMinutes = deviceMinutes self.message = message + self.instanceArn = instanceArn self.deviceUdid = deviceUdid self.billingMethod = billingMethod } @@ -610,17 +685,22 @@ extension Devicefarm { case remoteDebugEnabled = "remoteDebugEnabled" case name = "name" case endpoint = "endpoint" + case remoteRecordAppArn = "remoteRecordAppArn" case clientId = "clientId" case device = "device" case result = "result" + case skipAppResign = "skipAppResign" case arn = "arn" + case remoteRecordEnabled = "remoteRecordEnabled" case status = "status" + case interactionMode = "interactionMode" case created = "created" case started = "started" case hostAddress = "hostAddress" case stopped = "stopped" case deviceMinutes = "deviceMinutes" case message = "message" + case instanceArn = "instanceArn" case deviceUdid = "deviceUdid" case billingMethod = "billingMethod" } @@ -713,6 +793,42 @@ extension Devicefarm { } } + public struct CreateInstanceProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "packageCleanup", required: false, type: .boolean), + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "rebootAfterUse", required: false, type: .boolean), + AWSShapeMember(label: "excludeAppPackagesFromCleanup", required: false, type: .list) + ] + /// When set to true, Device Farm will remove app packages after a test run. The default value is false for private devices. + public let packageCleanup: Bool? + /// The name of your instance profile. + public let name: String + /// The description of your instance profile. + public let description: String? + /// When set to true, Device Farm will reboot the instance after a test run. The default value is true. + public let rebootAfterUse: Bool? + /// 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. + public let excludeAppPackagesFromCleanup: [String]? + + public init(packageCleanup: Bool? = nil, name: String, description: String? = nil, rebootAfterUse: Bool? = nil, excludeAppPackagesFromCleanup: [String]? = nil) { + self.packageCleanup = packageCleanup + self.name = name + self.description = description + self.rebootAfterUse = rebootAfterUse + self.excludeAppPackagesFromCleanup = excludeAppPackagesFromCleanup + } + + private enum CodingKeys: String, CodingKey { + case packageCleanup = "packageCleanup" + case name = "name" + case description = "description" + case rebootAfterUse = "rebootAfterUse" + case excludeAppPackagesFromCleanup = "excludeAppPackagesFromCleanup" + } + } + public struct DeleteUploadRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "arn", required: true, type: .string) @@ -759,6 +875,27 @@ extension Devicefarm { public var description: String { return self.rawValue } } + public struct ListInstanceProfilesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// An integer specifying the maximum number of items you want to return in the API response. + public let maxResults: Int32? + /// 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. + public let nextToken: String? + + public init(maxResults: Int32? = nil, nextToken: String? = nil) { + self.maxResults = maxResults + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case maxResults = "maxResults" + case nextToken = "nextToken" + } + } + public struct ProblemDetail: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string), @@ -786,8 +923,9 @@ extension Devicefarm { AWSShapeMember(label: "location", required: false, type: .structure), AWSShapeMember(label: "extraDataPackageArn", required: false, type: .string), AWSShapeMember(label: "networkProfileArn", required: false, type: .string), - AWSShapeMember(label: "auxiliaryApps", required: false, type: .list), + AWSShapeMember(label: "vpceConfigurationArns", required: false, type: .list), AWSShapeMember(label: "radios", required: false, type: .structure), + AWSShapeMember(label: "auxiliaryApps", required: false, type: .list), AWSShapeMember(label: "locale", required: false, type: .string), AWSShapeMember(label: "billingMethod", required: false, type: .enum) ] @@ -799,22 +937,25 @@ extension Devicefarm { public let extraDataPackageArn: String? /// Reserved for internal use. public let networkProfileArn: String? - /// A list of auxiliary apps for the run. - public let auxiliaryApps: [String]? + /// An array of Amazon Resource Names (ARNs) for your VPC endpoint configurations. + public let vpceConfigurationArns: [String]? /// Information about the radio states for the run. public let radios: Radios? + /// A list of auxiliary apps for the run. + public let auxiliaryApps: [String]? /// Information about the locale that is used for the run. public let locale: String? /// Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered. public let billingMethod: BillingMethod? - public init(customerArtifactPaths: CustomerArtifactPaths? = nil, location: Location? = nil, extraDataPackageArn: String? = nil, networkProfileArn: String? = nil, auxiliaryApps: [String]? = nil, radios: Radios? = nil, locale: String? = nil, billingMethod: BillingMethod? = nil) { + public init(customerArtifactPaths: CustomerArtifactPaths? = nil, location: Location? = nil, extraDataPackageArn: String? = nil, networkProfileArn: String? = nil, vpceConfigurationArns: [String]? = nil, radios: Radios? = nil, auxiliaryApps: [String]? = nil, locale: String? = nil, billingMethod: BillingMethod? = nil) { self.customerArtifactPaths = customerArtifactPaths self.location = location self.extraDataPackageArn = extraDataPackageArn self.networkProfileArn = networkProfileArn - self.auxiliaryApps = auxiliaryApps + self.vpceConfigurationArns = vpceConfigurationArns self.radios = radios + self.auxiliaryApps = auxiliaryApps self.locale = locale self.billingMethod = billingMethod } @@ -824,26 +965,32 @@ extension Devicefarm { case location = "location" case extraDataPackageArn = "extraDataPackageArn" case networkProfileArn = "networkProfileArn" - case auxiliaryApps = "auxiliaryApps" + case vpceConfigurationArns = "vpceConfigurationArns" case radios = "radios" + case auxiliaryApps = "auxiliaryApps" case locale = "locale" case billingMethod = "billingMethod" } } - public struct GetJobResult: AWSShape { + public struct ListOfferingsResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "job", required: false, type: .structure) + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "offerings", required: false, type: .list) ] - /// An object containing information about the requested job. - public let job: Job? + /// 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. + public let nextToken: String? + /// A value representing the list offering results. + public let offerings: [Offering]? - public init(job: Job? = nil) { - self.job = job + public init(nextToken: String? = nil, offerings: [Offering]? = nil) { + self.nextToken = nextToken + self.offerings = offerings } private enum CodingKeys: String, CodingKey { - case job = "job" + case nextToken = "nextToken" + case offerings = "offerings" } } @@ -857,24 +1004,35 @@ extension Devicefarm { public var description: String { return self.rawValue } } - public struct ListOfferingsResult: AWSShape { + public struct GetJobResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "offerings", required: false, type: .list) + AWSShapeMember(label: "job", required: false, type: .structure) ] - /// 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. - public let nextToken: String? - /// A value representing the list offering results. - public let offerings: [Offering]? + /// An object containing information about the requested job. + public let job: Job? - public init(nextToken: String? = nil, offerings: [Offering]? = nil) { - self.nextToken = nextToken - self.offerings = offerings + public init(job: Job? = nil) { + self.job = job } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case offerings = "offerings" + case job = "job" + } + } + + public struct GetDeviceInstanceResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "deviceInstance", required: false, type: .structure) + ] + /// An object containing information about your device instance. + public let deviceInstance: DeviceInstance? + + public init(deviceInstance: DeviceInstance? = nil) { + self.deviceInstance = deviceInstance + } + + private enum CodingKeys: String, CodingKey { + case deviceInstance = "deviceInstance" } } @@ -894,6 +1052,42 @@ extension Devicefarm { } } + public struct UpdateVPCEConfigurationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "arn", required: true, type: .string), + AWSShapeMember(label: "vpceConfigurationName", required: false, type: .string), + AWSShapeMember(label: "serviceDnsName", required: false, type: .string), + AWSShapeMember(label: "vpceServiceName", required: false, type: .string), + AWSShapeMember(label: "vpceConfigurationDescription", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to update. + public let arn: String + /// The friendly name you give to your VPC endpoint configuration, to manage your configurations more easily. + public let vpceConfigurationName: String? + /// 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. + public let serviceDnsName: String? + /// The name of the VPC endpoint service running inside your AWS account that you want Device Farm to test. + public let vpceServiceName: String? + /// An optional description, providing more details about your VPC endpoint configuration. + public let vpceConfigurationDescription: String? + + public init(arn: String, vpceConfigurationName: String? = nil, serviceDnsName: String? = nil, vpceServiceName: String? = nil, vpceConfigurationDescription: String? = nil) { + self.arn = arn + self.vpceConfigurationName = vpceConfigurationName + self.serviceDnsName = serviceDnsName + self.vpceServiceName = vpceServiceName + self.vpceConfigurationDescription = vpceConfigurationDescription + } + + private enum CodingKeys: String, CodingKey { + case arn = "arn" + case vpceConfigurationName = "vpceConfigurationName" + case serviceDnsName = "serviceDnsName" + case vpceServiceName = "vpceServiceName" + case vpceConfigurationDescription = "vpceConfigurationDescription" + } + } + public struct ScheduleRunRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "projectArn", required: true, type: .string), @@ -968,9 +1162,28 @@ extension Devicefarm { case remoteAccessEnabled = "REMOTE_ACCESS_ENABLED" case remoteDebugEnabled = "REMOTE_DEBUG_ENABLED" case appiumVersion = "APPIUM_VERSION" + case instanceArn = "INSTANCE_ARN" + case instanceLabels = "INSTANCE_LABELS" + case fleetType = "FLEET_TYPE" public var description: String { return self.rawValue } } + public struct GetInstanceProfileResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "instanceProfile", required: false, type: .structure) + ] + /// An object containing information about your instance profile. + public let instanceProfile: InstanceProfile? + + public init(instanceProfile: InstanceProfile? = nil) { + self.instanceProfile = instanceProfile + } + + private enum CodingKeys: String, CodingKey { + case instanceProfile = "instanceProfile" + } + } + public struct Artifact: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string), @@ -1007,6 +1220,60 @@ extension Devicefarm { } } + public enum InteractionMode: String, CustomStringConvertible, Codable { + case interactive = "INTERACTIVE" + case noVideo = "NO_VIDEO" + case videoOnly = "VIDEO_ONLY" + public var description: String { return self.rawValue } + } + + public struct CreateVPCEConfigurationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "vpceConfigurationName", required: true, type: .string), + AWSShapeMember(label: "serviceDnsName", required: true, type: .string), + AWSShapeMember(label: "vpceServiceName", required: true, type: .string), + AWSShapeMember(label: "vpceConfigurationDescription", required: false, type: .string) + ] + /// The friendly name you give to your VPC endpoint configuration, to manage your configurations more easily. + public let vpceConfigurationName: String + /// The DNS name of the service running in your VPC that you want Device Farm to test. + public let serviceDnsName: String + /// The name of the VPC endpoint service running inside your AWS account that you want Device Farm to test. + public let vpceServiceName: String + /// An optional description, providing more details about your VPC endpoint configuration. + public let vpceConfigurationDescription: String? + + public init(vpceConfigurationName: String, serviceDnsName: String, vpceServiceName: String, vpceConfigurationDescription: String? = nil) { + self.vpceConfigurationName = vpceConfigurationName + self.serviceDnsName = serviceDnsName + self.vpceServiceName = vpceServiceName + self.vpceConfigurationDescription = vpceConfigurationDescription + } + + private enum CodingKeys: String, CodingKey { + case vpceConfigurationName = "vpceConfigurationName" + case serviceDnsName = "serviceDnsName" + case vpceServiceName = "vpceServiceName" + case vpceConfigurationDescription = "vpceConfigurationDescription" + } + } + + public struct UpdateVPCEConfigurationResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "vpceConfiguration", required: false, type: .structure) + ] + /// An object containing information about your VPC endpoint configuration. + public let vpceConfiguration: VPCEConfiguration? + + public init(vpceConfiguration: VPCEConfiguration? = nil) { + self.vpceConfiguration = vpceConfiguration + } + + private enum CodingKeys: String, CodingKey { + case vpceConfiguration = "vpceConfiguration" + } + } + public struct CreateNetworkProfileResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "networkProfile", required: false, type: .structure) @@ -1023,6 +1290,32 @@ extension Devicefarm { } } + public struct UpdateDeviceInstanceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "labels", required: false, type: .list), + AWSShapeMember(label: "profileArn", required: false, type: .string), + AWSShapeMember(label: "arn", required: true, type: .string) + ] + /// An array of strings that you want to associate with the device instance. + public let labels: [String]? + /// The Amazon Resource Name (ARN) of the profile that you want to associate with the device instance. + public let profileArn: String? + /// The Amazon Resource Name (ARN) of the device instance. + public let arn: String + + public init(labels: [String]? = nil, profileArn: String? = nil, arn: String) { + self.labels = labels + self.profileArn = profileArn + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case labels = "labels" + case profileArn = "profileArn" + case arn = "arn" + } + } + public struct DeleteNetworkProfileRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "arn", required: true, type: .string) @@ -1039,6 +1332,10 @@ extension Devicefarm { } } + public struct DeleteVPCEConfigurationResult: AWSShape { + + } + public struct Project: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string), @@ -1086,11 +1383,11 @@ extension Devicefarm { } } - public struct GetRunRequest: AWSShape { + public struct DeleteVPCEConfigurationRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "arn", required: true, type: .string) ] - /// The run's ARN. + /// The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to delete. public let arn: String public init(arn: String) { @@ -1102,66 +1399,82 @@ extension Devicefarm { } } - public struct ListNetworkProfilesResult: AWSShape { + public struct GetRunRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "networkProfiles", required: false, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) + AWSShapeMember(label: "arn", required: true, type: .string) ] - /// A list of the available network profiles. - public let networkProfiles: [NetworkProfile]? - /// 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. - public let nextToken: String? + /// The run's ARN. + public let arn: String - public init(networkProfiles: [NetworkProfile]? = nil, nextToken: String? = nil) { - self.networkProfiles = networkProfiles - self.nextToken = nextToken + public init(arn: String) { + self.arn = arn } private enum CodingKeys: String, CodingKey { - case networkProfiles = "networkProfiles" - case nextToken = "nextToken" + case arn = "arn" } } - public struct ListSamplesRequest: AWSShape { + public struct CreateProjectRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "arn", required: true, type: .string) + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "defaultJobTimeoutMinutes", required: false, type: .integer) + ] + /// The project's name. + public let name: String + /// 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. + public let defaultJobTimeoutMinutes: Int32? + + public init(name: String, defaultJobTimeoutMinutes: Int32? = nil) { + self.name = name + self.defaultJobTimeoutMinutes = defaultJobTimeoutMinutes + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case defaultJobTimeoutMinutes = "defaultJobTimeoutMinutes" + } + } + + public struct ListNetworkProfilesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "networkProfiles", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) ] + /// A list of the available network profiles. + public let networkProfiles: [NetworkProfile]? /// 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. public let nextToken: String? - /// The Amazon Resource Name (ARN) of the project for which you want to list samples. - public let arn: String - public init(nextToken: String? = nil, arn: String) { + public init(networkProfiles: [NetworkProfile]? = nil, nextToken: String? = nil) { + self.networkProfiles = networkProfiles self.nextToken = nextToken - self.arn = arn } private enum CodingKeys: String, CodingKey { + case networkProfiles = "networkProfiles" case nextToken = "nextToken" - case arn = "arn" } } - public struct CreateProjectRequest: AWSShape { + public struct ListSamplesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "name", required: true, type: .string), - AWSShapeMember(label: "defaultJobTimeoutMinutes", required: false, type: .integer) + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "arn", required: true, type: .string) ] - /// The project's name. - public let name: String - /// 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. - public let defaultJobTimeoutMinutes: Int32? + /// 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. + public let nextToken: String? + /// The Amazon Resource Name (ARN) of the project for which you want to list samples. + public let arn: String - public init(name: String, defaultJobTimeoutMinutes: Int32? = nil) { - self.name = name - self.defaultJobTimeoutMinutes = defaultJobTimeoutMinutes + public init(nextToken: String? = nil, arn: String) { + self.nextToken = nextToken + self.arn = arn } private enum CodingKeys: String, CodingKey { - case name = "name" - case defaultJobTimeoutMinutes = "defaultJobTimeoutMinutes" + case nextToken = "nextToken" + case arn = "arn" } } @@ -1197,6 +1510,47 @@ extension Devicefarm { } } + public struct UpdateInstanceProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "packageCleanup", required: false, type: .boolean), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "rebootAfterUse", required: false, type: .boolean), + AWSShapeMember(label: "arn", required: true, type: .string), + AWSShapeMember(label: "excludeAppPackagesFromCleanup", required: false, type: .list) + ] + /// The updated choice for whether you want to specify package cleanup. The default value is false for private devices. + public let packageCleanup: Bool? + /// The updated name for your instance profile. + public let name: String? + /// The updated description for your instance profile. + public let description: String? + /// The updated choice for whether you want to reboot the device after use. The default value is true. + public let rebootAfterUse: Bool? + /// The Amazon Resource Name (ARN) of the instance profile. + public let arn: String + /// 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. + public let excludeAppPackagesFromCleanup: [String]? + + public init(packageCleanup: Bool? = nil, name: String? = nil, description: String? = nil, rebootAfterUse: Bool? = nil, arn: String, excludeAppPackagesFromCleanup: [String]? = nil) { + self.packageCleanup = packageCleanup + self.name = name + self.description = description + self.rebootAfterUse = rebootAfterUse + self.arn = arn + self.excludeAppPackagesFromCleanup = excludeAppPackagesFromCleanup + } + + private enum CodingKeys: String, CodingKey { + case packageCleanup = "packageCleanup" + case name = "name" + case description = "description" + case rebootAfterUse = "rebootAfterUse" + case arn = "arn" + case excludeAppPackagesFromCleanup = "excludeAppPackagesFromCleanup" + } + } + public struct PurchaseOfferingRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "offeringPromotionId", required: false, type: .string), @@ -1261,6 +1615,27 @@ extension Devicefarm { public var description: String { return self.rawValue } } + public struct ListDeviceInstancesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// An integer specifying the maximum number of items you want to return in the API response. + public let maxResults: Int32? + /// 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. + public let nextToken: String? + + public init(maxResults: Int32? = nil, nextToken: String? = nil) { + self.maxResults = maxResults + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case maxResults = "maxResults" + case nextToken = "nextToken" + } + } + public struct StopRemoteAccessSessionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "arn", required: true, type: .string) @@ -1482,11 +1857,6 @@ extension Devicefarm { } } - public enum RecurringChargeFrequency: String, CustomStringConvertible, Codable { - case monthly = "MONTHLY" - public var description: String { return self.rawValue } - } - public struct ListOfferingPromotionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string) @@ -1503,6 +1873,11 @@ extension Devicefarm { } } + public enum RecurringChargeFrequency: String, CustomStringConvertible, Codable { + case monthly = "MONTHLY" + public var description: String { return self.rawValue } + } + public struct ListDevicesResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "devices", required: false, type: .list), @@ -1721,6 +2096,22 @@ extension Devicefarm { } } + public struct DeleteRemoteAccessSessionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "arn", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) of the sesssion for which you want to delete remote access. + public let arn: String + + public init(arn: String) { + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case arn = "arn" + } + } + public struct GetOfferingStatusResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextPeriod", required: false, type: .map), @@ -1747,22 +2138,6 @@ extension Devicefarm { } } - public struct DeleteRemoteAccessSessionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "arn", required: true, type: .string) - ] - /// The Amazon Resource Name (ARN) of the sesssion for which you want to delete remote access. - public let arn: String - - public init(arn: String) { - self.arn = arn - } - - private enum CodingKeys: String, CodingKey { - case arn = "arn" - } - } - public struct GetOfferingStatusRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string) @@ -1782,6 +2157,7 @@ extension Devicefarm { public enum TestType: String, CustomStringConvertible, Codable { case builtinFuzz = "BUILTIN_FUZZ" case builtinExplorer = "BUILTIN_EXPLORER" + case webPerformanceProfile = "WEB_PERFORMANCE_PROFILE" case appiumJavaJunit = "APPIUM_JAVA_JUNIT" case appiumJavaTestng = "APPIUM_JAVA_TESTNG" case appiumPython = "APPIUM_PYTHON" @@ -1794,9 +2170,52 @@ extension Devicefarm { case uiautomator = "UIAUTOMATOR" case xctest = "XCTEST" case xctestUi = "XCTEST_UI" + case remoteAccessRecord = "REMOTE_ACCESS_RECORD" + case remoteAccessReplay = "REMOTE_ACCESS_REPLAY" public var description: String { return self.rawValue } } + public struct DeviceInstance: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "instanceProfile", required: false, type: .structure), + AWSShapeMember(label: "labels", required: false, type: .list), + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "deviceArn", required: false, type: .string), + AWSShapeMember(label: "udid", required: false, type: .string), + AWSShapeMember(label: "arn", required: false, type: .string) + ] + /// A object containing information about the instance profile. + public let instanceProfile: InstanceProfile? + /// An array of strings describing the device instance. + public let labels: [String]? + /// The status of the device instance. Valid values are listed below. + public let status: InstanceStatus? + /// The Amazon Resource Name (ARN) of the device. + public let deviceArn: String? + /// Unique device identifier for the device instance. + public let udid: String? + /// The Amazon Resource Name (ARN) of the device instance. + public let arn: String? + + public init(instanceProfile: InstanceProfile? = nil, labels: [String]? = nil, status: InstanceStatus? = nil, deviceArn: String? = nil, udid: String? = nil, arn: String? = nil) { + self.instanceProfile = instanceProfile + self.labels = labels + self.status = status + self.deviceArn = deviceArn + self.udid = udid + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case instanceProfile = "instanceProfile" + case labels = "labels" + case status = "status" + case deviceArn = "deviceArn" + case udid = "udid" + case arn = "arn" + } + } + public struct IncompatibilityMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "type", required: false, type: .enum), @@ -1818,6 +2237,14 @@ extension Devicefarm { } } + public enum InstanceStatus: String, CustomStringConvertible, Codable { + case inUse = "IN_USE" + case preparing = "PREPARING" + case available = "AVAILABLE" + case notAvailable = "NOT_AVAILABLE" + public var description: String { return self.rawValue } + } + public struct CreateUploadRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: true, type: .string), @@ -1896,6 +2323,22 @@ extension Devicefarm { } } + public struct CreateInstanceProfileResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "instanceProfile", required: false, type: .structure) + ] + /// An object containing information about your instance profile. + public let instanceProfile: InstanceProfile? + + public init(instanceProfile: InstanceProfile? = nil) { + self.instanceProfile = instanceProfile + } + + private enum CodingKeys: String, CodingKey { + case instanceProfile = "instanceProfile" + } + } + public struct DeleteDevicePoolResult: AWSShape { } @@ -1937,6 +2380,22 @@ extension Devicefarm { } } + public struct DeleteInstanceProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "arn", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) of the instance profile you are requesting to delete. + public let arn: String + + public init(arn: String) { + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case arn = "arn" + } + } + public struct GetDeviceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "arn", required: true, type: .string) @@ -2046,47 +2505,72 @@ extension Devicefarm { public struct CreateRemoteAccessSessionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "sshPublicKey", required: false, type: .string), + AWSShapeMember(label: "projectArn", required: true, type: .string), AWSShapeMember(label: "remoteDebugEnabled", required: false, type: .boolean), AWSShapeMember(label: "deviceArn", required: true, type: .string), + AWSShapeMember(label: "sshPublicKey", required: false, type: .string), + AWSShapeMember(label: "remoteRecordAppArn", required: false, type: .string), AWSShapeMember(label: "name", required: false, type: .string), AWSShapeMember(label: "clientId", required: false, type: .string), - AWSShapeMember(label: "projectArn", required: true, type: .string), - AWSShapeMember(label: "configuration", required: false, type: .structure) + AWSShapeMember(label: "configuration", required: false, type: .structure), + AWSShapeMember(label: "interactionMode", required: false, type: .enum), + AWSShapeMember(label: "instanceArn", required: false, type: .string), + AWSShapeMember(label: "skipAppResign", required: false, type: .boolean), + AWSShapeMember(label: "remoteRecordEnabled", required: false, type: .boolean) ] - /// 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. - public let sshPublicKey: String? + /// The Amazon Resource Name (ARN) of the project for which you want to create a remote access session. + public let projectArn: String /// Set to true if you want to access devices remotely for debugging in your remote access session. public let remoteDebugEnabled: Bool? /// The Amazon Resource Name (ARN) of the device for which you want to create a remote access session. public let deviceArn: String + /// 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. + public let sshPublicKey: String? + /// The Amazon Resource Name (ARN) for the app to be recorded in the remote access session. + public let remoteRecordAppArn: String? /// The name of the remote access session that you wish to create. public let name: String? - /// 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 true. + /// 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. public let clientId: String? - /// The Amazon Resource Name (ARN) of the project for which you want to create a remote access session. - public let projectArn: String /// The configuration information for the remote access session request. public let configuration: CreateRemoteAccessSessionConfiguration? - - public init(sshPublicKey: String? = nil, remoteDebugEnabled: Bool? = nil, deviceArn: String, name: String? = nil, clientId: String? = nil, projectArn: String, configuration: CreateRemoteAccessSessionConfiguration? = nil) { - self.sshPublicKey = sshPublicKey + /// 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. + public let interactionMode: InteractionMode? + /// The Amazon Resource Name (ARN) of the device instance for which you want to create a remote access session. + public let instanceArn: String? + /// 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. + public let skipAppResign: Bool? + /// Set to true to enable remote recording for the remote access session. + public let remoteRecordEnabled: Bool? + + public init(projectArn: String, remoteDebugEnabled: Bool? = nil, deviceArn: String, sshPublicKey: String? = nil, remoteRecordAppArn: String? = nil, name: String? = nil, clientId: String? = nil, configuration: CreateRemoteAccessSessionConfiguration? = nil, interactionMode: InteractionMode? = nil, instanceArn: String? = nil, skipAppResign: Bool? = nil, remoteRecordEnabled: Bool? = nil) { + self.projectArn = projectArn self.remoteDebugEnabled = remoteDebugEnabled self.deviceArn = deviceArn + self.sshPublicKey = sshPublicKey + self.remoteRecordAppArn = remoteRecordAppArn self.name = name self.clientId = clientId - self.projectArn = projectArn self.configuration = configuration + self.interactionMode = interactionMode + self.instanceArn = instanceArn + self.skipAppResign = skipAppResign + self.remoteRecordEnabled = remoteRecordEnabled } private enum CodingKeys: String, CodingKey { - case sshPublicKey = "sshPublicKey" + case projectArn = "projectArn" case remoteDebugEnabled = "remoteDebugEnabled" case deviceArn = "deviceArn" + case sshPublicKey = "sshPublicKey" + case remoteRecordAppArn = "remoteRecordAppArn" case name = "name" case clientId = "clientId" - case projectArn = "projectArn" case configuration = "configuration" + case interactionMode = "interactionMode" + case instanceArn = "instanceArn" + case skipAppResign = "skipAppResign" + case remoteRecordEnabled = "remoteRecordEnabled" } } @@ -2241,6 +2725,38 @@ extension Devicefarm { } } + public struct GetDeviceInstanceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "arn", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) of the instance you're requesting information about. + public let arn: String + + public init(arn: String) { + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case arn = "arn" + } + } + + public struct GetVPCEConfigurationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "arn", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to describe. + public let arn: String + + public init(arn: String) { + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case arn = "arn" + } + } + public struct ListJobsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), @@ -2248,7 +2764,7 @@ extension Devicefarm { ] /// 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. public let nextToken: String? - /// The jobs' ARNs. + /// The run's Amazon Resource Name (ARN). public let arn: String public init(nextToken: String? = nil, arn: String) { @@ -2264,54 +2780,54 @@ extension Devicefarm { public struct Run: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "customerArtifactPaths", required: false, type: .structure), AWSShapeMember(label: "resultCode", required: false, type: .enum), - AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "eventCount", required: false, type: .integer), AWSShapeMember(label: "platform", required: false, type: .enum), AWSShapeMember(label: "type", required: false, type: .enum), - AWSShapeMember(label: "result", required: false, type: .enum), - AWSShapeMember(label: "arn", required: false, type: .string), + AWSShapeMember(label: "webUrl", required: false, type: .string), AWSShapeMember(label: "parsingResultUrl", required: false, type: .string), - AWSShapeMember(label: "status", required: false, type: .enum), - AWSShapeMember(label: "completedJobs", required: false, type: .integer), - AWSShapeMember(label: "created", required: false, type: .timestamp), + AWSShapeMember(label: "jobTimeoutMinutes", required: false, type: .integer), AWSShapeMember(label: "started", required: false, type: .timestamp), AWSShapeMember(label: "totalJobs", required: false, type: .integer), - AWSShapeMember(label: "stopped", required: false, type: .timestamp), AWSShapeMember(label: "deviceMinutes", required: false, type: .structure), AWSShapeMember(label: "message", required: false, type: .string), AWSShapeMember(label: "networkProfile", required: false, type: .structure), AWSShapeMember(label: "counters", required: false, type: .structure), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "customerArtifactPaths", required: false, type: .structure), + AWSShapeMember(label: "appUpload", required: false, type: .string), + AWSShapeMember(label: "result", required: false, type: .enum), + AWSShapeMember(label: "skipAppResign", required: false, type: .boolean), + AWSShapeMember(label: "arn", required: false, type: .string), + AWSShapeMember(label: "locale", required: false, type: .string), + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "location", required: false, type: .structure), + AWSShapeMember(label: "seed", required: false, type: .integer), + AWSShapeMember(label: "completedJobs", required: false, type: .integer), + AWSShapeMember(label: "created", required: false, type: .timestamp), + AWSShapeMember(label: "radios", required: false, type: .structure), + AWSShapeMember(label: "stopped", required: false, type: .timestamp), + AWSShapeMember(label: "devicePoolArn", required: false, type: .string), AWSShapeMember(label: "billingMethod", required: false, type: .enum) ] - /// Output CustomerArtifactPaths object for the test run. - public let customerArtifactPaths: CustomerArtifactPaths? /// 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. public let resultCode: ExecutionResultCode? - /// The run's name. - public let name: String? + /// For fuzz tests, this is the number of events, between 1 and 10000, that the UI fuzz test should perform. + public let eventCount: Int32? /// The run's platform. Allowed values include: ANDROID: The Android platform. IOS: The iOS platform. public let platform: DevicePlatform? /// 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. public let `type`: TestType? - /// 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. - public let result: ExecutionResult? - /// The run's ARN. - public let arn: String? + /// The Device Farm console URL for the recording of the run. + public let webUrl: String? /// 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. public let parsingResultUrl: String? - /// 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. - public let status: ExecutionStatus? - /// The total number of completed jobs. - public let completedJobs: Int32? - /// When the run was created. - public let created: TimeStamp? + /// The number of minutes the job will execute before it times out. + public let jobTimeoutMinutes: Int32? /// The run's start time. public let started: TimeStamp? /// The total number of jobs for the run. public let totalJobs: Int32? - /// The run's stop time. - public let stopped: TimeStamp? /// Represents the total (metered or unmetered) minutes used by the test run. public let deviceMinutes: DeviceMinutes? /// A message about the run's result. @@ -2320,50 +2836,100 @@ extension Devicefarm { public let networkProfile: NetworkProfile? /// The run's result counters. public let counters: Counters? + /// The run's name. + public let name: String? + /// Output CustomerArtifactPaths object for the test run. + public let customerArtifactPaths: CustomerArtifactPaths? + /// An app to upload or that has been uploaded. + public let appUpload: String? + /// 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. + public let result: ExecutionResult? + /// 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. + public let skipAppResign: Bool? + /// The run's ARN. + public let arn: String? + /// Information about the locale that is used for the run. + public let locale: String? + /// 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. + public let status: ExecutionStatus? + /// Information about the location that is used for the run. + public let location: Location? + /// 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. + public let seed: Int32? + /// The total number of completed jobs. + public let completedJobs: Int32? + /// When the run was created. + public let created: TimeStamp? + /// Information about the radio states for the run. + public let radios: Radios? + /// The run's stop time. + public let stopped: TimeStamp? + /// The ARN of the device pool for the run. + public let devicePoolArn: String? /// Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered. public let billingMethod: BillingMethod? - public init(customerArtifactPaths: CustomerArtifactPaths? = nil, resultCode: ExecutionResultCode? = nil, name: String? = nil, platform: DevicePlatform? = nil, type: TestType? = nil, result: ExecutionResult? = nil, arn: String? = nil, parsingResultUrl: String? = nil, status: ExecutionStatus? = nil, completedJobs: Int32? = nil, created: TimeStamp? = nil, started: TimeStamp? = nil, totalJobs: Int32? = nil, stopped: TimeStamp? = nil, deviceMinutes: DeviceMinutes? = nil, message: String? = nil, networkProfile: NetworkProfile? = nil, counters: Counters? = nil, billingMethod: BillingMethod? = nil) { - self.customerArtifactPaths = customerArtifactPaths + public init(resultCode: ExecutionResultCode? = nil, eventCount: Int32? = nil, platform: DevicePlatform? = nil, type: TestType? = nil, webUrl: String? = nil, parsingResultUrl: String? = nil, jobTimeoutMinutes: Int32? = nil, started: TimeStamp? = nil, totalJobs: Int32? = nil, deviceMinutes: DeviceMinutes? = nil, message: String? = nil, networkProfile: NetworkProfile? = nil, counters: Counters? = nil, name: String? = nil, customerArtifactPaths: CustomerArtifactPaths? = nil, appUpload: String? = nil, result: ExecutionResult? = nil, skipAppResign: Bool? = nil, arn: String? = nil, locale: String? = nil, status: ExecutionStatus? = nil, location: Location? = nil, seed: Int32? = nil, completedJobs: Int32? = nil, created: TimeStamp? = nil, radios: Radios? = nil, stopped: TimeStamp? = nil, devicePoolArn: String? = nil, billingMethod: BillingMethod? = nil) { self.resultCode = resultCode - self.name = name + self.eventCount = eventCount self.platform = platform self.`type` = `type` - self.result = result - self.arn = arn + self.webUrl = webUrl self.parsingResultUrl = parsingResultUrl - self.status = status - self.completedJobs = completedJobs - self.created = created + self.jobTimeoutMinutes = jobTimeoutMinutes self.started = started self.totalJobs = totalJobs - self.stopped = stopped self.deviceMinutes = deviceMinutes self.message = message self.networkProfile = networkProfile self.counters = counters + self.name = name + self.customerArtifactPaths = customerArtifactPaths + self.appUpload = appUpload + self.result = result + self.skipAppResign = skipAppResign + self.arn = arn + self.locale = locale + self.status = status + self.location = location + self.seed = seed + self.completedJobs = completedJobs + self.created = created + self.radios = radios + self.stopped = stopped + self.devicePoolArn = devicePoolArn self.billingMethod = billingMethod } private enum CodingKeys: String, CodingKey { - case customerArtifactPaths = "customerArtifactPaths" case resultCode = "resultCode" - case name = "name" + case eventCount = "eventCount" case platform = "platform" case `type` = "type" - case result = "result" - case arn = "arn" + case webUrl = "webUrl" case parsingResultUrl = "parsingResultUrl" - case status = "status" - case completedJobs = "completedJobs" - case created = "created" + case jobTimeoutMinutes = "jobTimeoutMinutes" case started = "started" case totalJobs = "totalJobs" - case stopped = "stopped" case deviceMinutes = "deviceMinutes" case message = "message" case networkProfile = "networkProfile" case counters = "counters" + case name = "name" + case customerArtifactPaths = "customerArtifactPaths" + case appUpload = "appUpload" + case result = "result" + case skipAppResign = "skipAppResign" + case arn = "arn" + case locale = "locale" + case status = "status" + case location = "location" + case seed = "seed" + case completedJobs = "completedJobs" + case created = "created" + case radios = "radios" + case stopped = "stopped" + case devicePoolArn = "devicePoolArn" case billingMethod = "billingMethod" } } @@ -2389,29 +2955,24 @@ extension Devicefarm { } } - public struct DevicePoolCompatibilityResult: AWSShape { + public struct ListInstanceProfilesResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "device", required: false, type: .structure), - AWSShapeMember(label: "compatible", required: false, type: .boolean), - AWSShapeMember(label: "incompatibilityMessages", required: false, type: .list) + AWSShapeMember(label: "instanceProfiles", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) ] - /// The device (phone or tablet) that you wish to return information about. - public let device: Device? - /// Whether the result was compatible with the device pool. - public let compatible: Bool? - /// Information about the compatibility. - public let incompatibilityMessages: [IncompatibilityMessage]? + /// An object containing information about your instance profiles. + public let instanceProfiles: [InstanceProfile]? + /// An identifier that can be used in the next call to this operation to return the next set of items in the list. + public let nextToken: String? - public init(device: Device? = nil, compatible: Bool? = nil, incompatibilityMessages: [IncompatibilityMessage]? = nil) { - self.device = device - self.compatible = compatible - self.incompatibilityMessages = incompatibilityMessages + public init(instanceProfiles: [InstanceProfile]? = nil, nextToken: String? = nil) { + self.instanceProfiles = instanceProfiles + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case device = "device" - case compatible = "compatible" - case incompatibilityMessages = "incompatibilityMessages" + case instanceProfiles = "instanceProfiles" + case nextToken = "nextToken" } } @@ -2471,6 +3032,32 @@ extension Devicefarm { } } + public struct DevicePoolCompatibilityResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "device", required: false, type: .structure), + AWSShapeMember(label: "compatible", required: false, type: .boolean), + AWSShapeMember(label: "incompatibilityMessages", required: false, type: .list) + ] + /// The device (phone or tablet) that you wish to return information about. + public let device: Device? + /// Whether the result was compatible with the device pool. + public let compatible: Bool? + /// Information about the compatibility. + public let incompatibilityMessages: [IncompatibilityMessage]? + + public init(device: Device? = nil, compatible: Bool? = nil, incompatibilityMessages: [IncompatibilityMessage]? = nil) { + self.device = device + self.compatible = compatible + self.incompatibilityMessages = incompatibilityMessages + } + + private enum CodingKeys: String, CodingKey { + case device = "device" + case compatible = "compatible" + case incompatibilityMessages = "incompatibilityMessages" + } + } + public struct ListOfferingsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string) @@ -2487,12 +3074,33 @@ extension Devicefarm { } } + public struct DeleteProjectResult: AWSShape { + + } + public struct DeleteRunResult: AWSShape { } - public struct DeleteProjectResult: AWSShape { + public struct ListOfferingTransactionsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "offeringTransactions", required: false, type: .list) + ] + /// 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. + public let nextToken: String? + /// The audit log of subscriptions you have purchased and modified through AWS Device Farm. + public let offeringTransactions: [OfferingTransaction]? + + public init(nextToken: String? = nil, offeringTransactions: [OfferingTransaction]? = nil) { + self.nextToken = nextToken + self.offeringTransactions = offeringTransactions + } + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case offeringTransactions = "offeringTransactions" + } } public struct ListDevicePoolsResult: AWSShape { @@ -2516,33 +3124,28 @@ extension Devicefarm { } } - public struct ListOfferingTransactionsResult: AWSShape { + public enum DevicePoolType: String, CustomStringConvertible, Codable { + case curated = "CURATED" + case `private` = "PRIVATE" + public var description: String { return self.rawValue } + } + + public struct UpdateInstanceProfileResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "offeringTransactions", required: false, type: .list) + AWSShapeMember(label: "instanceProfile", required: false, type: .structure) ] - /// 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. - public let nextToken: String? - /// The audit log of subscriptions you have purchased and modified through AWS Device Farm. - public let offeringTransactions: [OfferingTransaction]? + /// An object containing information about your instance profile. + public let instanceProfile: InstanceProfile? - public init(nextToken: String? = nil, offeringTransactions: [OfferingTransaction]? = nil) { - self.nextToken = nextToken - self.offeringTransactions = offeringTransactions + public init(instanceProfile: InstanceProfile? = nil) { + self.instanceProfile = instanceProfile } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case offeringTransactions = "offeringTransactions" + case instanceProfile = "instanceProfile" } } - public enum DevicePoolType: String, CustomStringConvertible, Codable { - case curated = "CURATED" - case `private` = "PRIVATE" - public var description: String { return self.rawValue } - } - public struct ListSuitesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), @@ -2550,7 +3153,7 @@ extension Devicefarm { ] /// 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. public let nextToken: String? - /// The suites' ARNs. + /// The job's Amazon Resource Name (ARN). public let arn: String public init(nextToken: String? = nil, arn: String) { @@ -2668,10 +3271,58 @@ extension Devicefarm { } } + public struct GetVPCEConfigurationResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "vpceConfiguration", required: false, type: .structure) + ] + /// An object containing information about your VPC endpoint configuration. + public let vpceConfiguration: VPCEConfiguration? + + public init(vpceConfiguration: VPCEConfiguration? = nil) { + self.vpceConfiguration = vpceConfiguration + } + + private enum CodingKeys: String, CodingKey { + case vpceConfiguration = "vpceConfiguration" + } + } + public struct DeleteRemoteAccessSessionResult: AWSShape { } + public struct UpdateDeviceInstanceResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "deviceInstance", required: false, type: .structure) + ] + /// An object containing information about your device instance. + public let deviceInstance: DeviceInstance? + + public init(deviceInstance: DeviceInstance? = nil) { + self.deviceInstance = deviceInstance + } + + private enum CodingKeys: String, CodingKey { + case deviceInstance = "deviceInstance" + } + } + + public struct CreateVPCEConfigurationResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "vpceConfiguration", required: false, type: .structure) + ] + /// An object containing information about your VPC endpoint configuration. + public let vpceConfiguration: VPCEConfiguration? + + public init(vpceConfiguration: VPCEConfiguration? = nil) { + self.vpceConfiguration = vpceConfiguration + } + + private enum CodingKeys: String, CodingKey { + case vpceConfiguration = "vpceConfiguration" + } + } + public struct DeviceMinutes: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "total", required: false, type: .double), @@ -2719,32 +3370,6 @@ extension Devicefarm { } } - public struct ListArtifactsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "type", required: true, type: .enum), - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "arn", required: true, type: .string) - ] - /// The artifacts' type. Allowed values include: FILE: The artifacts are files. LOG: The artifacts are logs. SCREENSHOT: The artifacts are screenshots. - public let `type`: ArtifactCategory - /// 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. - public let nextToken: String? - /// The Run, Job, Suite, or Test ARN. - public let arn: String - - public init(type: ArtifactCategory, nextToken: String? = nil, arn: String) { - self.`type` = `type` - self.nextToken = nextToken - self.arn = arn - } - - private enum CodingKeys: String, CodingKey { - case `type` = "type" - case nextToken = "nextToken" - case arn = "arn" - } - } - public struct GetTestRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "arn", required: true, type: .string) @@ -2777,6 +3402,32 @@ extension Devicefarm { } } + public struct ListArtifactsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "type", required: true, type: .enum), + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "arn", required: true, type: .string) + ] + /// The artifacts' type. Allowed values include: FILE: The artifacts are files. LOG: The artifacts are logs. SCREENSHOT: The artifacts are screenshots. + public let `type`: ArtifactCategory + /// 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. + public let nextToken: String? + /// The Run, Job, Suite, or Test ARN. + public let arn: String + + public init(type: ArtifactCategory, nextToken: String? = nil, arn: String) { + self.`type` = `type` + self.nextToken = nextToken + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case `type` = "type" + case nextToken = "nextToken" + case arn = "arn" + } + } + public struct DeleteProjectRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "arn", required: true, type: .string) @@ -2869,10 +3520,25 @@ extension Devicefarm { } } - public enum DevicePlatform: String, CustomStringConvertible, Codable { - case android = "ANDROID" - case ios = "IOS" - public var description: String { return self.rawValue } + public struct ListVPCEConfigurationsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "vpceConfigurations", required: false, type: .list) + ] + /// 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. + public let nextToken: String? + /// An array of VPCEConfiguration objects containing information about your VPC endpoint configuration. + public let vpceConfigurations: [VPCEConfiguration]? + + public init(nextToken: String? = nil, vpceConfigurations: [VPCEConfiguration]? = nil) { + self.nextToken = nextToken + self.vpceConfigurations = vpceConfigurations + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case vpceConfigurations = "vpceConfigurations" + } } public struct Problem: AWSShape { @@ -2882,8 +3548,8 @@ extension Devicefarm { AWSShapeMember(label: "job", required: false, type: .structure), AWSShapeMember(label: "message", required: false, type: .string), AWSShapeMember(label: "device", required: false, type: .structure), - AWSShapeMember(label: "run", required: false, type: .structure), - AWSShapeMember(label: "result", required: false, type: .enum) + AWSShapeMember(label: "result", required: false, type: .enum), + AWSShapeMember(label: "run", required: false, type: .structure) ] /// Information about the associated test. public let test: ProblemDetail? @@ -2895,19 +3561,19 @@ extension Devicefarm { public let message: String? /// Information about the associated device. public let device: Device? - /// Information about the associated run. - public let run: ProblemDetail? /// 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. public let result: ExecutionResult? + /// Information about the associated run. + public let run: ProblemDetail? - public init(test: ProblemDetail? = nil, suite: ProblemDetail? = nil, job: ProblemDetail? = nil, message: String? = nil, device: Device? = nil, run: ProblemDetail? = nil, result: ExecutionResult? = nil) { + public init(test: ProblemDetail? = nil, suite: ProblemDetail? = nil, job: ProblemDetail? = nil, message: String? = nil, device: Device? = nil, result: ExecutionResult? = nil, run: ProblemDetail? = nil) { self.test = test self.suite = suite self.job = job self.message = message self.device = device - self.run = run self.result = result + self.run = run } private enum CodingKeys: String, CodingKey { @@ -2916,8 +3582,30 @@ extension Devicefarm { case job = "job" case message = "message" case device = "device" - case run = "run" case result = "result" + case run = "run" + } + } + + public enum DevicePlatform: String, CustomStringConvertible, Codable { + case android = "ANDROID" + case ios = "IOS" + public var description: String { return self.rawValue } + } + + public struct DeleteRunRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "arn", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) for the run you wish to delete. + public let arn: String + + public init(arn: String) { + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case arn = "arn" } } @@ -2947,22 +3635,6 @@ extension Devicefarm { } } - public struct DeleteRunRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "arn", required: true, type: .string) - ] - /// The Amazon Resource Name (ARN) for the run you wish to delete. - public let arn: String - - public init(arn: String) { - self.arn = arn - } - - private enum CodingKeys: String, CodingKey { - case arn = "arn" - } - } - public struct CreateDevicePoolResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "devicePool", required: false, type: .structure) @@ -2979,6 +3651,27 @@ extension Devicefarm { } } + public enum SampleType: String, CustomStringConvertible, Codable { + case cpu = "CPU" + case memory = "MEMORY" + case threads = "THREADS" + case rxRate = "RX_RATE" + case txRate = "TX_RATE" + case rx = "RX" + case tx = "TX" + case nativeFrames = "NATIVE_FRAMES" + case nativeFps = "NATIVE_FPS" + case nativeMinDrawtime = "NATIVE_MIN_DRAWTIME" + case nativeAvgDrawtime = "NATIVE_AVG_DRAWTIME" + case nativeMaxDrawtime = "NATIVE_MAX_DRAWTIME" + case openglFrames = "OPENGL_FRAMES" + case openglFps = "OPENGL_FPS" + case openglMinDrawtime = "OPENGL_MIN_DRAWTIME" + case openglAvgDrawtime = "OPENGL_AVG_DRAWTIME" + case openglMaxDrawtime = "OPENGL_MAX_DRAWTIME" + public var description: String { return self.rawValue } + } + public struct UpdateDevicePoolRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "description", required: false, type: .string), @@ -3010,27 +3703,6 @@ extension Devicefarm { } } - public enum SampleType: String, CustomStringConvertible, Codable { - case cpu = "CPU" - case memory = "MEMORY" - case threads = "THREADS" - case rxRate = "RX_RATE" - case txRate = "TX_RATE" - case rx = "RX" - case tx = "TX" - case nativeFrames = "NATIVE_FRAMES" - case nativeFps = "NATIVE_FPS" - case nativeMinDrawtime = "NATIVE_MIN_DRAWTIME" - case nativeAvgDrawtime = "NATIVE_AVG_DRAWTIME" - case nativeMaxDrawtime = "NATIVE_MAX_DRAWTIME" - case openglFrames = "OPENGL_FRAMES" - case openglFps = "OPENGL_FPS" - case openglMinDrawtime = "OPENGL_MIN_DRAWTIME" - case openglAvgDrawtime = "OPENGL_AVG_DRAWTIME" - case openglMaxDrawtime = "OPENGL_MAX_DRAWTIME" - public var description: String { return self.rawValue } - } - public struct ListOfferingTransactionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string) @@ -3055,7 +3727,8 @@ extension Devicefarm { AWSShapeMember(label: "maxSlots", required: false, type: .map), AWSShapeMember(label: "unmeteredRemoteAccessDevices", required: false, type: .map), AWSShapeMember(label: "awsAccountNumber", required: false, type: .string), - AWSShapeMember(label: "defaultJobTimeoutMinutes", required: false, type: .integer) + AWSShapeMember(label: "defaultJobTimeoutMinutes", required: false, type: .integer), + AWSShapeMember(label: "skipAppResign", required: false, type: .boolean) ] /// Information about an AWS account's usage of free trial device minutes. public let trialMinutes: TrialMinutes? @@ -3071,8 +3744,10 @@ extension Devicefarm { public let awsAccountNumber: String? /// The default number of minutes (at the account level) a test run will execute before it times out. Default value is 60 minutes. public let defaultJobTimeoutMinutes: Int32? + /// 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. + public let skipAppResign: Bool? - public init(trialMinutes: TrialMinutes? = nil, unmeteredDevices: [DevicePlatform: Int32]? = nil, maxJobTimeoutMinutes: Int32? = nil, maxSlots: [String: Int32]? = nil, unmeteredRemoteAccessDevices: [DevicePlatform: Int32]? = nil, awsAccountNumber: String? = nil, defaultJobTimeoutMinutes: Int32? = nil) { + public init(trialMinutes: TrialMinutes? = nil, unmeteredDevices: [DevicePlatform: Int32]? = nil, maxJobTimeoutMinutes: Int32? = nil, maxSlots: [String: Int32]? = nil, unmeteredRemoteAccessDevices: [DevicePlatform: Int32]? = nil, awsAccountNumber: String? = nil, defaultJobTimeoutMinutes: Int32? = nil, skipAppResign: Bool? = nil) { self.trialMinutes = trialMinutes self.unmeteredDevices = unmeteredDevices self.maxJobTimeoutMinutes = maxJobTimeoutMinutes @@ -3080,6 +3755,7 @@ extension Devicefarm { self.unmeteredRemoteAccessDevices = unmeteredRemoteAccessDevices self.awsAccountNumber = awsAccountNumber self.defaultJobTimeoutMinutes = defaultJobTimeoutMinutes + self.skipAppResign = skipAppResign } private enum CodingKeys: String, CodingKey { @@ -3090,6 +3766,28 @@ extension Devicefarm { case unmeteredRemoteAccessDevices = "unmeteredRemoteAccessDevices" case awsAccountNumber = "awsAccountNumber" case defaultJobTimeoutMinutes = "defaultJobTimeoutMinutes" + case skipAppResign = "skipAppResign" + } + } + + public struct ListVPCEConfigurationsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// An integer specifying the maximum number of items you want to return in the API response. + public let maxResults: Int32? + /// 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. + public let nextToken: String? + + public init(maxResults: Int32? = nil, nextToken: String? = nil) { + self.maxResults = maxResults + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case maxResults = "maxResults" + case nextToken = "nextToken" } } @@ -3109,24 +3807,39 @@ extension Devicefarm { } } - public struct ListArtifactsResult: AWSShape { + public struct GetDevicePoolCompatibilityRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "artifacts", required: false, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) + AWSShapeMember(label: "testType", required: false, type: .enum), + AWSShapeMember(label: "test", required: false, type: .structure), + AWSShapeMember(label: "appArn", required: false, type: .string), + AWSShapeMember(label: "configuration", required: false, type: .structure), + AWSShapeMember(label: "devicePoolArn", required: true, type: .string) ] - /// Information about the artifacts. - public let artifacts: [Artifact]? - /// 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. - public let nextToken: String? + /// 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. + public let testType: TestType? + /// Information about the uploaded test to be run against the device pool. + public let test: ScheduleRunTest? + /// The ARN of the app that is associated with the specified device pool. + public let appArn: String? + /// An object containing information about the settings for a run. + public let configuration: ScheduleRunConfiguration? + /// The device pool's ARN. + public let devicePoolArn: String - public init(artifacts: [Artifact]? = nil, nextToken: String? = nil) { - self.artifacts = artifacts - self.nextToken = nextToken + public init(testType: TestType? = nil, test: ScheduleRunTest? = nil, appArn: String? = nil, configuration: ScheduleRunConfiguration? = nil, devicePoolArn: String) { + self.testType = testType + self.test = test + self.appArn = appArn + self.configuration = configuration + self.devicePoolArn = devicePoolArn } private enum CodingKeys: String, CodingKey { - case artifacts = "artifacts" - case nextToken = "nextToken" + case testType = "testType" + case test = "test" + case appArn = "appArn" + case configuration = "configuration" + case devicePoolArn = "devicePoolArn" } } @@ -3146,24 +3859,19 @@ extension Devicefarm { } } - public struct Location: AWSShape { + public struct GetInstanceProfileRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "longitude", required: true, type: .double), - AWSShapeMember(label: "latitude", required: true, type: .double) + AWSShapeMember(label: "arn", required: true, type: .string) ] - /// The longitude. - public let longitude: Double - /// The latitude. - public let latitude: Double + /// The Amazon Resource Name (ARN) of your instance profile. + public let arn: String - public init(longitude: Double, latitude: Double) { - self.longitude = longitude - self.latitude = latitude + public init(arn: String) { + self.arn = arn } private enum CodingKeys: String, CodingKey { - case longitude = "longitude" - case latitude = "latitude" + case arn = "arn" } } @@ -3225,34 +3933,102 @@ extension Devicefarm { } } - public struct GetDevicePoolCompatibilityRequest: AWSShape { + public struct ListDeviceInstancesResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "testType", required: false, type: .enum), - AWSShapeMember(label: "test", required: false, type: .structure), - AWSShapeMember(label: "appArn", required: false, type: .string), - AWSShapeMember(label: "devicePoolArn", required: true, type: .string) + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "deviceInstances", required: false, type: .list) ] - /// 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. - public let testType: TestType? - /// Information about the uploaded test to be run against the device pool. - public let test: ScheduleRunTest? - /// The ARN of the app that is associated with the specified device pool. - public let appArn: String? - /// The device pool's ARN. - public let devicePoolArn: String + /// An identifier that can be used in the next call to this operation to return the next set of items in the list. + public let nextToken: String? + /// An object containing information about your device instances. + public let deviceInstances: [DeviceInstance]? - public init(testType: TestType? = nil, test: ScheduleRunTest? = nil, appArn: String? = nil, devicePoolArn: String) { - self.testType = testType - self.test = test - self.appArn = appArn - self.devicePoolArn = devicePoolArn + public init(nextToken: String? = nil, deviceInstances: [DeviceInstance]? = nil) { + self.nextToken = nextToken + self.deviceInstances = deviceInstances } private enum CodingKeys: String, CodingKey { - case testType = "testType" - case test = "test" - case appArn = "appArn" - case devicePoolArn = "devicePoolArn" + case nextToken = "nextToken" + case deviceInstances = "deviceInstances" + } + } + + public struct Location: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "longitude", required: true, type: .double), + AWSShapeMember(label: "latitude", required: true, type: .double) + ] + /// The longitude. + public let longitude: Double + /// The latitude. + public let latitude: Double + + public init(longitude: Double, latitude: Double) { + self.longitude = longitude + self.latitude = latitude + } + + private enum CodingKeys: String, CodingKey { + case longitude = "longitude" + case latitude = "latitude" + } + } + + public struct ListArtifactsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "artifacts", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// Information about the artifacts. + public let artifacts: [Artifact]? + /// 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. + public let nextToken: String? + + public init(artifacts: [Artifact]? = nil, nextToken: String? = nil) { + self.artifacts = artifacts + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case artifacts = "artifacts" + case nextToken = "nextToken" + } + } + + public struct VPCEConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "arn", required: false, type: .string), + AWSShapeMember(label: "vpceConfigurationName", required: false, type: .string), + AWSShapeMember(label: "serviceDnsName", required: false, type: .string), + AWSShapeMember(label: "vpceServiceName", required: false, type: .string), + AWSShapeMember(label: "vpceConfigurationDescription", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the VPC endpoint configuration. + public let arn: String? + /// The friendly name you give to your VPC endpoint configuration, to manage your configurations more easily. + public let vpceConfigurationName: String? + /// The DNS name that maps to the private IP address of the service you want to access. + public let serviceDnsName: String? + /// The name of the VPC endpoint service running inside your AWS account that you want Device Farm to test. + public let vpceServiceName: String? + /// An optional description, providing more details about your VPC endpoint configuration. + public let vpceConfigurationDescription: String? + + public init(arn: String? = nil, vpceConfigurationName: String? = nil, serviceDnsName: String? = nil, vpceServiceName: String? = nil, vpceConfigurationDescription: String? = nil) { + self.arn = arn + self.vpceConfigurationName = vpceConfigurationName + self.serviceDnsName = serviceDnsName + self.vpceServiceName = vpceServiceName + self.vpceConfigurationDescription = vpceConfigurationDescription + } + + private enum CodingKeys: String, CodingKey { + case arn = "arn" + case vpceConfigurationName = "vpceConfigurationName" + case serviceDnsName = "serviceDnsName" + case vpceServiceName = "vpceServiceName" + case vpceConfigurationDescription = "vpceConfigurationDescription" } } @@ -3261,12 +4037,14 @@ extension Devicefarm { AWSShapeMember(label: "remoteDebugEnabled", required: false, type: .boolean), AWSShapeMember(label: "name", required: false, type: .string), AWSShapeMember(label: "cpu", required: false, type: .structure), + AWSShapeMember(label: "modelId", required: false, type: .string), AWSShapeMember(label: "platform", required: false, type: .enum), + AWSShapeMember(label: "instances", required: false, type: .list), AWSShapeMember(label: "heapSize", required: false, type: .long), AWSShapeMember(label: "model", required: false, type: .string), AWSShapeMember(label: "radio", required: false, type: .string), - AWSShapeMember(label: "arn", required: false, type: .string), AWSShapeMember(label: "memory", required: false, type: .long), + AWSShapeMember(label: "arn", required: false, type: .string), AWSShapeMember(label: "resolution", required: false, type: .structure), AWSShapeMember(label: "os", required: false, type: .string), AWSShapeMember(label: "image", required: false, type: .string), @@ -3283,18 +4061,22 @@ extension Devicefarm { public let name: String? /// Information about the device's CPU. public let cpu: CPU? + /// The device's model ID. + public let modelId: String? /// The device's platform. Allowed values include: ANDROID: The Android platform. IOS: The iOS platform. public let platform: DevicePlatform? + /// The instances belonging to this device. + public let instances: [DeviceInstance]? /// The device's heap size, expressed in bytes. public let heapSize: Int64? /// The device's model name. public let model: String? /// The device's radio. public let radio: String? - /// The device's ARN. - public let arn: String? /// The device's total memory size, expressed in bytes. public let memory: Int64? + /// The device's ARN. + public let arn: String? /// The resolution of the device. public let resolution: Resolution? /// The device's operating system type. @@ -3314,16 +4096,18 @@ extension Devicefarm { /// The device's carrier. public let carrier: String? - public init(remoteDebugEnabled: Bool? = nil, name: String? = nil, cpu: CPU? = nil, platform: DevicePlatform? = nil, heapSize: Int64? = nil, model: String? = nil, radio: String? = nil, arn: String? = nil, memory: Int64? = nil, resolution: Resolution? = nil, os: String? = nil, image: String? = nil, remoteAccessEnabled: Bool? = nil, formFactor: DeviceFormFactor? = nil, fleetType: String? = nil, fleetName: String? = nil, manufacturer: String? = nil, carrier: String? = nil) { + public init(remoteDebugEnabled: Bool? = nil, name: String? = nil, cpu: CPU? = nil, modelId: String? = nil, platform: DevicePlatform? = nil, instances: [DeviceInstance]? = nil, heapSize: Int64? = nil, model: String? = nil, radio: String? = nil, memory: Int64? = nil, arn: String? = nil, resolution: Resolution? = nil, os: String? = nil, image: String? = nil, remoteAccessEnabled: Bool? = nil, formFactor: DeviceFormFactor? = nil, fleetType: String? = nil, fleetName: String? = nil, manufacturer: String? = nil, carrier: String? = nil) { self.remoteDebugEnabled = remoteDebugEnabled self.name = name self.cpu = cpu + self.modelId = modelId self.platform = platform + self.instances = instances self.heapSize = heapSize self.model = model self.radio = radio - self.arn = arn self.memory = memory + self.arn = arn self.resolution = resolution self.os = os self.image = image @@ -3339,12 +4123,14 @@ extension Devicefarm { case remoteDebugEnabled = "remoteDebugEnabled" case name = "name" case cpu = "cpu" + case modelId = "modelId" case platform = "platform" + case instances = "instances" case heapSize = "heapSize" case model = "model" case radio = "radio" - case arn = "arn" case memory = "memory" + case arn = "arn" case resolution = "resolution" case os = "os" case image = "image" @@ -3380,25 +4166,32 @@ extension Devicefarm { public struct Job: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "type", required: false, type: .enum), + AWSShapeMember(label: "result", required: false, type: .enum), AWSShapeMember(label: "device", required: false, type: .structure), + AWSShapeMember(label: "arn", required: false, type: .string), AWSShapeMember(label: "status", required: false, type: .enum), - AWSShapeMember(label: "name", required: false, type: .string), AWSShapeMember(label: "created", required: false, type: .timestamp), AWSShapeMember(label: "started", required: false, type: .timestamp), AWSShapeMember(label: "stopped", required: false, type: .timestamp), AWSShapeMember(label: "deviceMinutes", required: false, type: .structure), AWSShapeMember(label: "message", required: false, type: .string), - AWSShapeMember(label: "type", required: false, type: .enum), - AWSShapeMember(label: "result", required: false, type: .enum), - AWSShapeMember(label: "counters", required: false, type: .structure), - AWSShapeMember(label: "arn", required: false, type: .string) + AWSShapeMember(label: "instanceArn", required: false, type: .string), + AWSShapeMember(label: "counters", required: false, type: .structure) ] + /// The job's name. + public let name: String? + /// 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. + public let `type`: TestType? + /// 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. + public let result: ExecutionResult? /// The device (phone or tablet). public let device: Device? + /// The job's ARN. + public let arn: String? /// 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. public let status: ExecutionStatus? - /// The job's name. - public let name: String? /// When the job was created. public let created: TimeStamp? /// The job's start time. @@ -3409,79 +4202,77 @@ extension Devicefarm { public let deviceMinutes: DeviceMinutes? /// A message about the job's result. public let message: String? - /// 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. - public let `type`: TestType? - /// 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. - public let result: ExecutionResult? + /// The Amazon Resource Name (ARN) of the instance. + public let instanceArn: String? /// The job's result counters. public let counters: Counters? - /// The job's ARN. - public let arn: String? - public init(device: Device? = nil, status: ExecutionStatus? = nil, name: String? = nil, created: TimeStamp? = nil, started: TimeStamp? = nil, stopped: TimeStamp? = nil, deviceMinutes: DeviceMinutes? = nil, message: String? = nil, type: TestType? = nil, result: ExecutionResult? = nil, counters: Counters? = nil, arn: String? = nil) { + public init(name: String? = nil, type: TestType? = nil, result: ExecutionResult? = nil, device: Device? = nil, arn: String? = nil, status: ExecutionStatus? = nil, created: TimeStamp? = nil, started: TimeStamp? = nil, stopped: TimeStamp? = nil, deviceMinutes: DeviceMinutes? = nil, message: String? = nil, instanceArn: String? = nil, counters: Counters? = nil) { + self.name = name + self.`type` = `type` + self.result = result self.device = device + self.arn = arn self.status = status - self.name = name self.created = created self.started = started self.stopped = stopped self.deviceMinutes = deviceMinutes self.message = message - self.`type` = `type` - self.result = result + self.instanceArn = instanceArn self.counters = counters - self.arn = arn } private enum CodingKeys: String, CodingKey { + case name = "name" + case `type` = "type" + case result = "result" case device = "device" + case arn = "arn" case status = "status" - case name = "name" case created = "created" case started = "started" case stopped = "stopped" case deviceMinutes = "deviceMinutes" case message = "message" - case `type` = "type" - case result = "result" + case instanceArn = "instanceArn" case counters = "counters" - case arn = "arn" } } - public struct GetProjectRequest: AWSShape { + public struct ListProjectsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "arn", required: true, type: .string) + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "arn", required: false, type: .string) ] - /// The project's ARN. - public let arn: String + /// 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. + public let nextToken: String? + /// 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. + public let arn: String? - public init(arn: String) { + public init(nextToken: String? = nil, arn: String? = nil) { + self.nextToken = nextToken self.arn = arn } private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" case arn = "arn" } } - public struct ListProjectsRequest: AWSShape { + public struct GetProjectRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "arn", required: false, type: .string) + AWSShapeMember(label: "arn", required: true, type: .string) ] - /// 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. - public let nextToken: String? - /// 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. - public let arn: String? + /// The project's ARN. + public let arn: String - public init(nextToken: String? = nil, arn: String? = nil) { - self.nextToken = nextToken + public init(arn: String) { self.arn = arn } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" case arn = "arn" } } @@ -3531,6 +4322,7 @@ extension Devicefarm { public enum ExecutionResultCode: String, CustomStringConvertible, Codable { case parsingFailed = "PARSING_FAILED" + case vpcEndpointSetupFailed = "VPC_ENDPOINT_SETUP_FAILED" public var description: String { return self.rawValue } } diff --git a/Sources/AWSSDKSwift/Services/directconnect/Directconnect_Shapes.swift b/Sources/AWSSDKSwift/Services/directconnect/Directconnect_Shapes.swift index c932228c94f..bf4509a294b 100644 --- a/Sources/AWSSDKSwift/Services/directconnect/Directconnect_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/directconnect/Directconnect_Shapes.swift @@ -174,67 +174,72 @@ extension Directconnect { public struct Lag: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "connections", required: false, type: .list), - AWSShapeMember(label: "location", required: false, type: .string), - AWSShapeMember(label: "lagId", required: false, type: .string), AWSShapeMember(label: "lagState", required: false, type: .enum), - AWSShapeMember(label: "awsDevice", required: false, type: .string), + AWSShapeMember(label: "allowsHostedConnections", required: false, type: .boolean), AWSShapeMember(label: "numberOfConnections", required: false, type: .integer), AWSShapeMember(label: "ownerAccount", required: false, type: .string), - AWSShapeMember(label: "region", required: false, type: .string), AWSShapeMember(label: "minimumLinks", required: false, type: .integer), - AWSShapeMember(label: "allowsHostedConnections", required: false, type: .boolean), AWSShapeMember(label: "connectionsBandwidth", required: false, type: .string), + AWSShapeMember(label: "connections", required: false, type: .list), + AWSShapeMember(label: "location", required: false, type: .string), + AWSShapeMember(label: "awsDeviceV2", required: false, type: .string), + AWSShapeMember(label: "lagId", required: false, type: .string), + AWSShapeMember(label: "awsDevice", required: false, type: .string), + AWSShapeMember(label: "region", required: false, type: .string), AWSShapeMember(label: "lagName", required: false, type: .string) ] - /// A list of connections bundled by this LAG. - public let connections: [Connection]? - public let location: String? - public let lagId: String? public let lagState: LagState? - /// The AWS Direct Connection endpoint that hosts the LAG. - public let awsDevice: String? + /// Indicates whether the LAG can host other connections. This is intended for use by AWS Direct Connect partners only. + public let allowsHostedConnections: Bool? /// The number of physical connections bundled by the LAG, up to a maximum of 10. public let numberOfConnections: Int32? /// The owner of the LAG. public let ownerAccount: String? - public let region: String? /// 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. public let minimumLinks: Int32? - /// Indicates whether the LAG can host other connections. This is intended for use by AWS Direct Connect partners only. - public let allowsHostedConnections: Bool? /// The individual bandwidth of the physical connections bundled by the LAG. Available values: 1Gbps, 10Gbps public let connectionsBandwidth: String? + /// A list of connections bundled by this LAG. + public let connections: [Connection]? + public let location: String? + /// The AWS Direct Connection endpoint that hosts the LAG. + public let awsDeviceV2: String? + public let lagId: String? + /// Deprecated in favor of awsDeviceV2. The AWS Direct Connection endpoint that hosts the LAG. + public let awsDevice: String? + public let region: String? /// The name of the LAG. public let lagName: String? - public init(connections: [Connection]? = nil, location: String? = nil, lagId: String? = nil, lagState: LagState? = nil, awsDevice: String? = nil, numberOfConnections: Int32? = nil, ownerAccount: String? = nil, region: String? = nil, minimumLinks: Int32? = nil, allowsHostedConnections: Bool? = nil, connectionsBandwidth: String? = nil, lagName: String? = nil) { - self.connections = connections - self.location = location - self.lagId = lagId + public init(lagState: LagState? = nil, allowsHostedConnections: Bool? = nil, numberOfConnections: Int32? = nil, ownerAccount: String? = nil, minimumLinks: Int32? = nil, connectionsBandwidth: String? = nil, connections: [Connection]? = nil, location: String? = nil, awsDeviceV2: String? = nil, lagId: String? = nil, awsDevice: String? = nil, region: String? = nil, lagName: String? = nil) { self.lagState = lagState - self.awsDevice = awsDevice + self.allowsHostedConnections = allowsHostedConnections self.numberOfConnections = numberOfConnections self.ownerAccount = ownerAccount - self.region = region self.minimumLinks = minimumLinks - self.allowsHostedConnections = allowsHostedConnections self.connectionsBandwidth = connectionsBandwidth + self.connections = connections + self.location = location + self.awsDeviceV2 = awsDeviceV2 + self.lagId = lagId + self.awsDevice = awsDevice + self.region = region self.lagName = lagName } private enum CodingKeys: String, CodingKey { - case connections = "connections" - case location = "location" - case lagId = "lagId" case lagState = "lagState" - case awsDevice = "awsDevice" + case allowsHostedConnections = "allowsHostedConnections" case numberOfConnections = "numberOfConnections" case ownerAccount = "ownerAccount" - case region = "region" case minimumLinks = "minimumLinks" - case allowsHostedConnections = "allowsHostedConnections" case connectionsBandwidth = "connectionsBandwidth" + case connections = "connections" + case location = "location" + case awsDeviceV2 = "awsDeviceV2" + case lagId = "lagId" + case awsDevice = "awsDevice" + case region = "region" case lagName = "lagName" } } @@ -425,6 +430,26 @@ extension Directconnect { public var description: String { return self.rawValue } } + public struct CreatePrivateVirtualInterfaceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "connectionId", required: true, type: .string), + AWSShapeMember(label: "newPrivateVirtualInterface", required: true, type: .structure) + ] + public let connectionId: String + /// Detailed information for the private virtual interface to be created. Default: None + public let newPrivateVirtualInterface: NewPrivateVirtualInterface + + public init(connectionId: String, newPrivateVirtualInterface: NewPrivateVirtualInterface) { + self.connectionId = connectionId + self.newPrivateVirtualInterface = newPrivateVirtualInterface + } + + private enum CodingKeys: String, CodingKey { + case connectionId = "connectionId" + case newPrivateVirtualInterface = "newPrivateVirtualInterface" + } + } + public struct Tag: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "key", required: true, type: .string), @@ -446,26 +471,6 @@ extension Directconnect { } } - public struct CreatePrivateVirtualInterfaceRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "connectionId", required: true, type: .string), - AWSShapeMember(label: "newPrivateVirtualInterface", required: true, type: .structure) - ] - public let connectionId: String - /// Detailed information for the private virtual interface to be created. Default: None - public let newPrivateVirtualInterface: NewPrivateVirtualInterface - - public init(connectionId: String, newPrivateVirtualInterface: NewPrivateVirtualInterface) { - self.connectionId = connectionId - self.newPrivateVirtualInterface = newPrivateVirtualInterface - } - - private enum CodingKeys: String, CodingKey { - case connectionId = "connectionId" - case newPrivateVirtualInterface = "newPrivateVirtualInterface" - } - } - public struct AssociateHostedConnectionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "connectionId", required: true, type: .string), @@ -940,30 +945,30 @@ extension Directconnect { public struct DescribeDirectConnectGatewayAssociationsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "directConnectGatewayId", required: false, type: .string), - AWSShapeMember(label: "virtualGatewayId", required: false, type: .string), AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "virtualGatewayId", required: false, type: .string), AWSShapeMember(label: "nextToken", required: false, type: .string) ] /// The ID of the direct connect gateway. Example: "abcd1234-dcba-5678-be23-cdef9876ab45" Default: None public let directConnectGatewayId: String? - /// The ID of the virtual private gateway. Example: "vgw-abc123ef" Default: None - public let virtualGatewayId: String? /// The maximum number of direct connect gateway associations to return per page. Example: 15 Default: None public let maxResults: Int32? + /// The ID of the virtual private gateway. Example: "vgw-abc123ef" Default: None + public let virtualGatewayId: String? /// The token provided in the previous describe result to retrieve the next page of the result. Default: None public let nextToken: String? - public init(directConnectGatewayId: String? = nil, virtualGatewayId: String? = nil, maxResults: Int32? = nil, nextToken: String? = nil) { + public init(directConnectGatewayId: String? = nil, maxResults: Int32? = nil, virtualGatewayId: String? = nil, nextToken: String? = nil) { self.directConnectGatewayId = directConnectGatewayId - self.virtualGatewayId = virtualGatewayId self.maxResults = maxResults + self.virtualGatewayId = virtualGatewayId self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { case directConnectGatewayId = "directConnectGatewayId" - case virtualGatewayId = "virtualGatewayId" case maxResults = "maxResults" + case virtualGatewayId = "virtualGatewayId" case nextToken = "nextToken" } } @@ -1158,63 +1163,68 @@ extension Directconnect { public struct Connection: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "loaIssueTime", required: false, type: .timestamp), AWSShapeMember(label: "bandwidth", required: false, type: .string), + AWSShapeMember(label: "connectionId", required: false, type: .string), + AWSShapeMember(label: "ownerAccount", required: false, type: .string), + AWSShapeMember(label: "connectionName", required: false, type: .string), + AWSShapeMember(label: "loaIssueTime", required: false, type: .timestamp), AWSShapeMember(label: "location", required: false, type: .string), + AWSShapeMember(label: "awsDeviceV2", required: false, type: .string), AWSShapeMember(label: "lagId", required: false, type: .string), AWSShapeMember(label: "awsDevice", required: false, type: .string), - AWSShapeMember(label: "connectionId", required: false, type: .string), AWSShapeMember(label: "region", required: false, type: .string), - AWSShapeMember(label: "ownerAccount", required: false, type: .string), AWSShapeMember(label: "connectionState", required: false, type: .enum), - AWSShapeMember(label: "connectionName", required: false, type: .string), AWSShapeMember(label: "vlan", required: false, type: .integer), AWSShapeMember(label: "partnerName", required: false, type: .string) ] - /// The time of the most recent call to DescribeLoa for this connection. - public let loaIssueTime: TimeStamp? /// Bandwidth of the connection. Example: 1Gbps (for regular connections), or 500Mbps (for hosted connections) Default: None public let bandwidth: String? + public let connectionId: String? + /// The AWS account that will own the new connection. + public let ownerAccount: String? + public let connectionName: String? + /// The time of the most recent call to DescribeLoa for this connection. + public let loaIssueTime: TimeStamp? public let location: String? - public let lagId: String? /// The Direct Connection endpoint which the physical connection terminates on. + public let awsDeviceV2: String? + public let lagId: String? + /// Deprecated in favor of awsDeviceV2. The Direct Connection endpoint which the physical connection terminates on. public let awsDevice: String? - public let connectionId: String? public let region: String? - /// The AWS account that will own the new connection. - public let ownerAccount: String? public let connectionState: ConnectionState? - public let connectionName: String? public let vlan: Int32? /// The name of the AWS Direct Connect service provider associated with the connection. public let partnerName: String? - public init(loaIssueTime: TimeStamp? = nil, bandwidth: String? = nil, location: String? = nil, lagId: String? = nil, awsDevice: String? = nil, connectionId: String? = nil, region: String? = nil, ownerAccount: String? = nil, connectionState: ConnectionState? = nil, connectionName: String? = nil, vlan: Int32? = nil, partnerName: String? = nil) { - self.loaIssueTime = loaIssueTime + public init(bandwidth: String? = nil, connectionId: String? = nil, ownerAccount: String? = nil, connectionName: String? = nil, loaIssueTime: TimeStamp? = nil, location: String? = nil, awsDeviceV2: String? = nil, lagId: String? = nil, awsDevice: String? = nil, region: String? = nil, connectionState: ConnectionState? = nil, vlan: Int32? = nil, partnerName: String? = nil) { self.bandwidth = bandwidth + self.connectionId = connectionId + self.ownerAccount = ownerAccount + self.connectionName = connectionName + self.loaIssueTime = loaIssueTime self.location = location + self.awsDeviceV2 = awsDeviceV2 self.lagId = lagId self.awsDevice = awsDevice - self.connectionId = connectionId self.region = region - self.ownerAccount = ownerAccount self.connectionState = connectionState - self.connectionName = connectionName self.vlan = vlan self.partnerName = partnerName } private enum CodingKeys: String, CodingKey { - case loaIssueTime = "loaIssueTime" case bandwidth = "bandwidth" + case connectionId = "connectionId" + case ownerAccount = "ownerAccount" + case connectionName = "connectionName" + case loaIssueTime = "loaIssueTime" case location = "location" + case awsDeviceV2 = "awsDeviceV2" case lagId = "lagId" case awsDevice = "awsDevice" - case connectionId = "connectionId" case region = "region" - case ownerAccount = "ownerAccount" case connectionState = "connectionState" - case connectionName = "connectionName" case vlan = "vlan" case partnerName = "partnerName" } @@ -1322,6 +1332,7 @@ extension Directconnect { AWSShapeMember(label: "bgpPeerState", required: false, type: .enum), AWSShapeMember(label: "customerAddress", required: false, type: .string), AWSShapeMember(label: "bgpStatus", required: false, type: .enum), + AWSShapeMember(label: "awsDeviceV2", required: false, type: .string), AWSShapeMember(label: "authKey", required: false, type: .string), AWSShapeMember(label: "amazonAddress", required: false, type: .string), AWSShapeMember(label: "asn", required: false, type: .integer), @@ -1330,15 +1341,18 @@ extension Directconnect { public let bgpPeerState: BGPPeerState? public let customerAddress: String? public let bgpStatus: BGPStatus? + /// The Direct Connection endpoint which the BGP peer terminates on. + public let awsDeviceV2: String? public let authKey: String? public let amazonAddress: String? public let asn: Int32? public let addressFamily: AddressFamily? - public init(bgpPeerState: BGPPeerState? = nil, customerAddress: String? = nil, bgpStatus: BGPStatus? = nil, authKey: String? = nil, amazonAddress: String? = nil, asn: Int32? = nil, addressFamily: AddressFamily? = nil) { + public init(bgpPeerState: BGPPeerState? = nil, customerAddress: String? = nil, bgpStatus: BGPStatus? = nil, awsDeviceV2: String? = nil, authKey: String? = nil, amazonAddress: String? = nil, asn: Int32? = nil, addressFamily: AddressFamily? = nil) { self.bgpPeerState = bgpPeerState self.customerAddress = customerAddress self.bgpStatus = bgpStatus + self.awsDeviceV2 = awsDeviceV2 self.authKey = authKey self.amazonAddress = amazonAddress self.asn = asn @@ -1349,6 +1363,7 @@ extension Directconnect { case bgpPeerState = "bgpPeerState" case customerAddress = "customerAddress" case bgpStatus = "bgpStatus" + case awsDeviceV2 = "awsDeviceV2" case authKey = "authKey" case amazonAddress = "amazonAddress" case asn = "asn" @@ -1508,6 +1523,7 @@ extension Directconnect { AWSShapeMember(label: "interconnectState", required: false, type: .enum), AWSShapeMember(label: "location", required: false, type: .string), AWSShapeMember(label: "awsDevice", required: false, type: .string), + AWSShapeMember(label: "awsDeviceV2", required: false, type: .string), AWSShapeMember(label: "lagId", required: false, type: .string), AWSShapeMember(label: "region", required: false, type: .string), AWSShapeMember(label: "interconnectName", required: false, type: .string), @@ -1518,19 +1534,22 @@ extension Directconnect { public let loaIssueTime: TimeStamp? public let interconnectState: InterconnectState? public let location: String? - /// The Direct Connection endpoint which the physical connection terminates on. + /// Deprecated in favor of awsDeviceV2. The Direct Connection endpoint which the physical connection terminates on. public let awsDevice: String? + /// The Direct Connection endpoint which the physical connection terminates on. + public let awsDeviceV2: String? public let lagId: String? public let region: String? public let interconnectName: String? public let interconnectId: String? public let bandwidth: String? - public init(loaIssueTime: TimeStamp? = nil, interconnectState: InterconnectState? = nil, location: String? = nil, awsDevice: String? = nil, lagId: String? = nil, region: String? = nil, interconnectName: String? = nil, interconnectId: String? = nil, bandwidth: String? = nil) { + public init(loaIssueTime: TimeStamp? = nil, interconnectState: InterconnectState? = nil, location: String? = nil, awsDevice: String? = nil, awsDeviceV2: String? = nil, lagId: String? = nil, region: String? = nil, interconnectName: String? = nil, interconnectId: String? = nil, bandwidth: String? = nil) { self.loaIssueTime = loaIssueTime self.interconnectState = interconnectState self.location = location self.awsDevice = awsDevice + self.awsDeviceV2 = awsDeviceV2 self.lagId = lagId self.region = region self.interconnectName = interconnectName @@ -1543,6 +1562,7 @@ extension Directconnect { case interconnectState = "interconnectState" case location = "location" case awsDevice = "awsDevice" + case awsDeviceV2 = "awsDeviceV2" case lagId = "lagId" case region = "region" case interconnectName = "interconnectName" @@ -1672,22 +1692,27 @@ extension Directconnect { public struct Location: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "locationCode", required: false, type: .string), - AWSShapeMember(label: "locationName", required: false, type: .string) + AWSShapeMember(label: "locationName", required: false, type: .string), + AWSShapeMember(label: "region", required: false, type: .string), + AWSShapeMember(label: "locationCode", required: false, type: .string) ] - /// The code used to indicate the AWS Direct Connect location. - public let locationCode: String? /// The name of the AWS Direct Connect location. The name includes the colocation partner name and the physical site of the lit building. public let locationName: String? + /// The AWS region where the AWS Direct connect location is located. Example: us-east-1 Default: None + public let region: String? + /// The code used to indicate the AWS Direct Connect location. + public let locationCode: String? - public init(locationCode: String? = nil, locationName: String? = nil) { - self.locationCode = locationCode + public init(locationName: String? = nil, region: String? = nil, locationCode: String? = nil) { self.locationName = locationName + self.region = region + self.locationCode = locationCode } private enum CodingKeys: String, CodingKey { - case locationCode = "locationCode" case locationName = "locationName" + case region = "region" + case locationCode = "locationCode" } } @@ -1722,15 +1747,17 @@ extension Directconnect { AWSShapeMember(label: "amazonSideAsn", required: false, type: .long), AWSShapeMember(label: "location", required: false, type: .string), AWSShapeMember(label: "virtualInterfaceName", required: false, type: .string), - AWSShapeMember(label: "authKey", required: false, type: .string), + AWSShapeMember(label: "awsDeviceV2", required: false, type: .string), + AWSShapeMember(label: "region", required: false, type: .string), AWSShapeMember(label: "amazonAddress", required: false, type: .string), AWSShapeMember(label: "customerRouterConfig", required: false, type: .string), - AWSShapeMember(label: "virtualInterfaceState", required: false, type: .enum), + AWSShapeMember(label: "authKey", required: false, type: .string), AWSShapeMember(label: "directConnectGatewayId", required: false, type: .string), - AWSShapeMember(label: "bgpPeers", required: false, type: .list), + AWSShapeMember(label: "virtualGatewayId", required: false, type: .string), AWSShapeMember(label: "virtualInterfaceId", required: false, type: .string), + AWSShapeMember(label: "virtualInterfaceState", required: false, type: .enum), AWSShapeMember(label: "vlan", required: false, type: .integer), - AWSShapeMember(label: "virtualGatewayId", required: false, type: .string) + AWSShapeMember(label: "bgpPeers", required: false, type: .list) ] public let customerAddress: String? public let virtualInterfaceType: String? @@ -1744,18 +1771,22 @@ extension Directconnect { public let amazonSideAsn: Int64? public let location: String? public let virtualInterfaceName: String? - public let authKey: String? + /// The Direct Connection endpoint which the virtual interface terminates on. + public let awsDeviceV2: String? + /// The AWS region where the virtual interface is located. Example: us-east-1 Default: None + public let region: String? public let amazonAddress: String? /// Information for generating the customer router configuration. public let customerRouterConfig: String? - public let virtualInterfaceState: VirtualInterfaceState? + public let authKey: String? public let directConnectGatewayId: String? - public let bgpPeers: [BGPPeer]? + public let virtualGatewayId: String? public let virtualInterfaceId: String? + public let virtualInterfaceState: VirtualInterfaceState? public let vlan: Int32? - public let virtualGatewayId: String? + public let bgpPeers: [BGPPeer]? - public init(customerAddress: String? = nil, virtualInterfaceType: String? = nil, connectionId: String? = nil, ownerAccount: String? = nil, asn: Int32? = nil, addressFamily: AddressFamily? = nil, routeFilterPrefixes: [RouteFilterPrefix]? = nil, amazonSideAsn: Int64? = nil, location: String? = nil, virtualInterfaceName: String? = nil, authKey: String? = nil, amazonAddress: String? = nil, customerRouterConfig: String? = nil, virtualInterfaceState: VirtualInterfaceState? = nil, directConnectGatewayId: String? = nil, bgpPeers: [BGPPeer]? = nil, virtualInterfaceId: String? = nil, vlan: Int32? = nil, virtualGatewayId: String? = nil) { + public init(customerAddress: String? = nil, virtualInterfaceType: String? = nil, connectionId: String? = nil, ownerAccount: String? = nil, asn: Int32? = nil, addressFamily: AddressFamily? = nil, routeFilterPrefixes: [RouteFilterPrefix]? = nil, amazonSideAsn: Int64? = nil, location: String? = nil, virtualInterfaceName: String? = nil, awsDeviceV2: String? = nil, region: String? = nil, amazonAddress: String? = nil, customerRouterConfig: String? = nil, authKey: String? = nil, directConnectGatewayId: String? = nil, virtualGatewayId: String? = nil, virtualInterfaceId: String? = nil, virtualInterfaceState: VirtualInterfaceState? = nil, vlan: Int32? = nil, bgpPeers: [BGPPeer]? = nil) { self.customerAddress = customerAddress self.virtualInterfaceType = virtualInterfaceType self.connectionId = connectionId @@ -1766,15 +1797,17 @@ extension Directconnect { self.amazonSideAsn = amazonSideAsn self.location = location self.virtualInterfaceName = virtualInterfaceName - self.authKey = authKey + self.awsDeviceV2 = awsDeviceV2 + self.region = region self.amazonAddress = amazonAddress self.customerRouterConfig = customerRouterConfig - self.virtualInterfaceState = virtualInterfaceState + self.authKey = authKey self.directConnectGatewayId = directConnectGatewayId - self.bgpPeers = bgpPeers + self.virtualGatewayId = virtualGatewayId self.virtualInterfaceId = virtualInterfaceId + self.virtualInterfaceState = virtualInterfaceState self.vlan = vlan - self.virtualGatewayId = virtualGatewayId + self.bgpPeers = bgpPeers } private enum CodingKeys: String, CodingKey { @@ -1788,15 +1821,17 @@ extension Directconnect { case amazonSideAsn = "amazonSideAsn" case location = "location" case virtualInterfaceName = "virtualInterfaceName" - case authKey = "authKey" + case awsDeviceV2 = "awsDeviceV2" + case region = "region" case amazonAddress = "amazonAddress" case customerRouterConfig = "customerRouterConfig" - case virtualInterfaceState = "virtualInterfaceState" + case authKey = "authKey" case directConnectGatewayId = "directConnectGatewayId" - case bgpPeers = "bgpPeers" + case virtualGatewayId = "virtualGatewayId" case virtualInterfaceId = "virtualInterfaceId" + case virtualInterfaceState = "virtualInterfaceState" case vlan = "vlan" - case virtualGatewayId = "virtualGatewayId" + case bgpPeers = "bgpPeers" } } @@ -1910,31 +1945,31 @@ extension Directconnect { public struct DescribeDirectConnectGatewayAttachmentsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), AWSShapeMember(label: "directConnectGatewayId", required: false, type: .string), AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "nextToken", required: false, type: .string), AWSShapeMember(label: "virtualInterfaceId", required: false, type: .string) ] - /// The token provided in the previous describe result to retrieve the next page of the result. Default: None - public let nextToken: String? /// The ID of the direct connect gateway. Example: "abcd1234-dcba-5678-be23-cdef9876ab45" Default: None public let directConnectGatewayId: String? /// The maximum number of direct connect gateway attachments to return per page. Example: 15 Default: None public let maxResults: Int32? + /// The token provided in the previous describe result to retrieve the next page of the result. Default: None + public let nextToken: String? /// The ID of the virtual interface. Example: "dxvif-abc123ef" Default: None public let virtualInterfaceId: String? - public init(nextToken: String? = nil, directConnectGatewayId: String? = nil, maxResults: Int32? = nil, virtualInterfaceId: String? = nil) { - self.nextToken = nextToken + public init(directConnectGatewayId: String? = nil, maxResults: Int32? = nil, nextToken: String? = nil, virtualInterfaceId: String? = nil) { self.directConnectGatewayId = directConnectGatewayId self.maxResults = maxResults + self.nextToken = nextToken self.virtualInterfaceId = virtualInterfaceId } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" case directConnectGatewayId = "directConnectGatewayId" case maxResults = "maxResults" + case nextToken = "nextToken" case virtualInterfaceId = "virtualInterfaceId" } } @@ -1982,27 +2017,27 @@ extension Directconnect { public struct CreateConnectionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "connectionName", required: true, type: .string), AWSShapeMember(label: "location", required: true, type: .string), AWSShapeMember(label: "lagId", required: false, type: .string), + AWSShapeMember(label: "connectionName", required: true, type: .string), AWSShapeMember(label: "bandwidth", required: true, type: .string) ] - public let connectionName: String public let location: String public let lagId: String? + public let connectionName: String public let bandwidth: String - public init(connectionName: String, location: String, lagId: String? = nil, bandwidth: String) { - self.connectionName = connectionName + public init(location: String, lagId: String? = nil, connectionName: String, bandwidth: String) { self.location = location self.lagId = lagId + self.connectionName = connectionName self.bandwidth = bandwidth } private enum CodingKeys: String, CodingKey { - case connectionName = "connectionName" case location = "location" case lagId = "lagId" + case connectionName = "connectionName" case bandwidth = "bandwidth" } } diff --git a/Sources/AWSSDKSwift/Services/discovery/Discovery_API.swift b/Sources/AWSSDKSwift/Services/discovery/Discovery_API.swift index 3cf3f7e14a6..4d0f8cc5fc5 100644 --- a/Sources/AWSSDKSwift/Services/discovery/Discovery_API.swift +++ b/Sources/AWSSDKSwift/Services/discovery/Discovery_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -AWS Application Discovery Service AWS Application Discovery Service helps you plan application migration projects by automatically identifying servers, virtual machines (VMs), software, and software dependencies running in your on-premises data centers. Application Discovery Service also collects application performance data, which can help you assess the outcome of your migration. The data collected by Application Discovery Service is securely retained in an Amazon-hosted and managed database in the cloud. You can export the data as a CSV or XML file into your preferred visualization tool or cloud-migration solution to plan your migration. For more information, see the Application Discovery Service FAQ. Application Discovery Service offers two modes of operation. Agentless discovery mode is recommended for environments that use VMware vCenter Server. This mode doesn't require you to install an agent on each host. Agentless discovery gathers server information regardless of the operating systems, which minimizes the time required for initial on-premises infrastructure assessment. Agentless discovery doesn't collect information about software and software dependencies. It also doesn't work in non-VMware environments. We recommend that you use agent-based discovery for non-VMware environments and if you want to collect information about software and software dependencies. You can also run agent-based and agentless discovery simultaneously. Use agentless discovery to quickly complete the initial infrastructure assessment and then install agents on select hosts to gather information about software and software dependencies. Agent-based discovery mode collects a richer set of data than agentless discovery by using Amazon software, the AWS Application Discovery Agent, which you install on one or more hosts in your data center. The agent captures infrastructure and application information, including an inventory of installed software applications, system and process performance, resource utilization, and network dependencies between workloads. The information collected by agents is secured at rest and in transit to the Application Discovery Service database in the cloud. Application Discovery Service integrates with application discovery solutions from AWS Partner Network (APN) partners. Third-party application discovery tools can query Application Discovery Service and write to the Application Discovery Service database using a public API. You can then import the data into either a visualization tool or cloud-migration solution. Application Discovery Service doesn't gather sensitive information. All data is handled according to the AWS Privacy Policy. You can operate Application Discovery Service using offline mode to inspect collected data before it is shared with the service. Your AWS account must be granted access to Application Discovery Service, a process called whitelisting. This is true for AWS partners and customers alike. To request access, sign up for AWS Application Discovery Service here. We send you information about how to get started. This API reference provides descriptions, syntax, and usage examples for each of the actions and data types for Application Discovery Service. The topic for each action shows the API request parameters and the response. Alternatively, you can use one of the AWS SDKs to access an API that is tailored to the programming language or platform that you're using. For more information, see AWS SDKs. This guide is intended for use with the AWS Application Discovery Service User Guide . +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 . */ public struct Discovery { @@ -85,7 +85,7 @@ public struct Discovery { return try client.send(operation: "ListConfigurations", path: "/", httpMethod: "POST", input: input) } - /// Begins the export of discovered data to an S3 bucket. If you specify agentId 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 agentId 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. + /// 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. public func startExportTask(_ input: StartExportTaskRequest) throws -> StartExportTaskResponse { return try client.send(operation: "StartExportTask", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/discovery/Discovery_Shapes.swift b/Sources/AWSSDKSwift/Services/discovery/Discovery_Shapes.swift index 237f0549809..023c4a53862 100644 --- a/Sources/AWSSDKSwift/Services/discovery/Discovery_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/discovery/Discovery_Shapes.swift @@ -28,15 +28,15 @@ extension Discovery { public struct DescribeTagsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "tags", required: false, type: .structure), + AWSShapeMember(label: "tags", required: false, type: .list), AWSShapeMember(label: "nextToken", required: false, type: .string) ] /// 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. - public let tags: ConfigurationTagSet? + public let tags: [ConfigurationTag]? /// The call returns a token. Use this token to get the next set of results. public let nextToken: String? - public init(tags: ConfigurationTagSet? = nil, nextToken: String? = nil) { + public init(tags: [ConfigurationTag]? = nil, nextToken: String? = nil) { self.tags = tags self.nextToken = nextToken } @@ -49,15 +49,15 @@ extension Discovery { public struct CreateTagsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "tags", required: true, type: .structure), + AWSShapeMember(label: "tags", required: true, type: .list), AWSShapeMember(label: "configurationIds", required: true, type: .list) ] /// 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"} - public let tags: TagSet + public let tags: [Tag] /// A list of configuration items that you want to tag. public let configurationIds: [String] - public init(tags: TagSet, configurationIds: [String]) { + public init(tags: [Tag], configurationIds: [String]) { self.tags = tags self.configurationIds = configurationIds } @@ -72,40 +72,10 @@ extension Discovery { } - public struct FilterValues: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "item", required: false, type: .list) - ] - public let item: [String]? - - public init(item: [String]? = nil) { - self.item = item - } - - private enum CodingKeys: String, CodingKey { - case item = "item" - } - } - public struct UpdateApplicationResponse: AWSShape { } - public struct TagSet: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "item", required: false, type: .list) - ] - public let item: [Tag]? - - public init(item: [Tag]? = nil) { - self.item = item - } - - private enum CodingKeys: String, CodingKey { - case item = "item" - } - } - public struct OrderByElement: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "fieldName", required: true, type: .string), @@ -422,14 +392,14 @@ extension Discovery { public struct TagFilter: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: true, type: .string), - AWSShapeMember(label: "values", required: true, type: .structure) + AWSShapeMember(label: "values", required: true, type: .list) ] /// A name of the tag filter. public let name: String /// Values for the tag filter. - public let values: FilterValues + public let values: [String] - public init(name: String, values: FilterValues) { + public init(name: String, values: [String]) { self.name = name self.values = values } @@ -464,17 +434,17 @@ extension Discovery { public struct ExportFilter: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: true, type: .string), - AWSShapeMember(label: "values", required: true, type: .structure), + AWSShapeMember(label: "values", required: true, type: .list), AWSShapeMember(label: "condition", required: true, type: .string) ] /// A single ExportFilter name. Supported filters: agentId. public let name: String /// 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. - public let values: FilterValues + public let values: [String] /// Supported condition: EQUALS public let condition: String - public init(name: String, values: FilterValues, condition: String) { + public init(name: String, values: [String], condition: String) { self.name = name self.values = values self.condition = condition @@ -503,21 +473,6 @@ extension Discovery { } } - public struct ConfigurationTagSet: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "item", required: false, type: .list) - ] - public let item: [ConfigurationTag]? - - public init(item: [ConfigurationTag]? = nil) { - self.item = item - } - - private enum CodingKeys: String, CodingKey { - case item = "item" - } - } - public struct ExportConfigurationsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "exportId", required: false, type: .string) @@ -824,15 +779,15 @@ extension Discovery { public struct DeleteTagsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "tags", required: false, type: .structure), + AWSShapeMember(label: "tags", required: false, type: .list), AWSShapeMember(label: "configurationIds", required: true, type: .list) ] /// 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"} - public let tags: TagSet? + public let tags: [Tag]? /// A list of configuration items with tags that you want to delete. public let configurationIds: [String] - public init(tags: TagSet? = nil, configurationIds: [String]) { + public init(tags: [Tag]? = nil, configurationIds: [String]) { self.tags = tags self.configurationIds = configurationIds } @@ -882,7 +837,7 @@ extension Discovery { public let startTime: TimeStamp? /// 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. public let filters: [ExportFilter]? - /// The file format for the returned export data. Default value is CSV. + /// The file format for the returned export data. Default value is CSV. Note: The GRAPHML option has been deprecated. public let exportDataFormat: [ExportDataFormat]? public init(endTime: TimeStamp? = nil, startTime: TimeStamp? = nil, filters: [ExportFilter]? = nil, exportDataFormat: [ExportDataFormat]? = nil) { @@ -1185,17 +1140,17 @@ extension Discovery { public struct Filter: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: true, type: .string), - AWSShapeMember(label: "values", required: true, type: .structure), + AWSShapeMember(label: "values", required: true, type: .list), AWSShapeMember(label: "condition", required: true, type: .string) ] /// The name of the filter. public let name: String /// A string value on which to filter. For example, if you choose the destinationServer.osVersion filter name, you could specify Ubuntu for the value. - public let values: FilterValues + public let values: [String] /// 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. public let condition: String - public init(name: String, values: FilterValues, condition: String) { + public init(name: String, values: [String], condition: String) { self.name = name self.values = values self.condition = condition diff --git a/Sources/AWSSDKSwift/Services/dlm/Dlm_API.swift b/Sources/AWSSDKSwift/Services/dlm/Dlm_API.swift new file mode 100644 index 00000000000..7db6248ba9d --- /dev/null +++ b/Sources/AWSSDKSwift/Services/dlm/Dlm_API.swift @@ -0,0 +1,53 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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. +*/ +public struct Dlm { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + service: "dlm", + serviceProtocol: ServiceProtocol(type: .restjson, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2018-01-12", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [DlmError.self] + ) + } + + /// Updates the specified lifecycle policy. + public func updateLifecyclePolicy(_ input: UpdateLifecyclePolicyRequest) throws -> UpdateLifecyclePolicyResponse { + return try client.send(operation: "UpdateLifecyclePolicy", path: "/policies/{policyId}", httpMethod: "PATCH", input: input) + } + + /// Deletes the specified lifecycle policy and halts the automated operations that the policy specified. + public func deleteLifecyclePolicy(_ input: DeleteLifecyclePolicyRequest) throws -> DeleteLifecyclePolicyResponse { + return try client.send(operation: "DeleteLifecyclePolicy", path: "/policies/{policyId}/", httpMethod: "DELETE", input: input) + } + + /// Creates a policy to manage the lifecycle of the specified AWS resources. You can create up to 100 lifecycle policies. + public func createLifecyclePolicy(_ input: CreateLifecyclePolicyRequest) throws -> CreateLifecyclePolicyResponse { + return try client.send(operation: "CreateLifecyclePolicy", path: "/policies", httpMethod: "POST", input: input) + } + + /// Gets summary information about all or the specified data lifecycle policies. To get complete information about a policy, use GetLifecyclePolicy. + public func getLifecyclePolicies(_ input: GetLifecyclePoliciesRequest) throws -> GetLifecyclePoliciesResponse { + return try client.send(operation: "GetLifecyclePolicies", path: "/policies", httpMethod: "GET", input: input) + } + + /// Gets detailed information about the specified lifecycle policy. + public func getLifecyclePolicy(_ input: GetLifecyclePolicyRequest) throws -> GetLifecyclePolicyResponse { + return try client.send(operation: "GetLifecyclePolicy", path: "/policies/{policyId}/", httpMethod: "GET", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/dlm/Dlm_Error.swift b/Sources/AWSSDKSwift/Services/dlm/Dlm_Error.swift new file mode 100644 index 00000000000..ce5803602cf --- /dev/null +++ b/Sources/AWSSDKSwift/Services/dlm/Dlm_Error.swift @@ -0,0 +1,32 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Dlm +public enum DlmError: AWSErrorType { + case resourceNotFoundException(message: String?) + case invalidRequestException(message: String?) + case internalServerException(message: String?) + case limitExceededException(message: String?) +} + +extension DlmError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "ResourceNotFoundException": + self = .resourceNotFoundException(message: message) + case "InvalidRequestException": + self = .invalidRequestException(message: message) + case "InternalServerException": + self = .internalServerException(message: message) + case "LimitExceededException": + self = .limitExceededException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/dlm/Dlm_Shapes.swift b/Sources/AWSSDKSwift/Services/dlm/Dlm_Shapes.swift new file mode 100644 index 00000000000..93915b70b48 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/dlm/Dlm_Shapes.swift @@ -0,0 +1,414 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Dlm { + + public struct GetLifecyclePoliciesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyIds", location: .querystring(locationName: "policyIds"), required: false, type: .list), + AWSShapeMember(label: "TargetTags", location: .querystring(locationName: "targetTags"), required: false, type: .list), + AWSShapeMember(label: "TagsToAdd", location: .querystring(locationName: "tagsToAdd"), required: false, type: .list), + AWSShapeMember(label: "State", location: .querystring(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "ResourceTypes", location: .querystring(locationName: "resourceTypes"), required: false, type: .list) + ] + /// The identifiers of the data lifecycle policies. + public let policyIds: [String]? + /// The target tags. Tags are strings in the format key:value. + public let targetTags: [String]? + /// The tags to add to the resources. Tags are strings in the format key:value. These tags are added in addition to the AWS-added lifecycle tags. + public let tagsToAdd: [String]? + /// The activation state. + public let state: GettablePolicyStateValues? + /// The resource type. + public let resourceTypes: [ResourceTypeValues]? + + public init(policyIds: [String]? = nil, targetTags: [String]? = nil, tagsToAdd: [String]? = nil, state: GettablePolicyStateValues? = nil, resourceTypes: [ResourceTypeValues]? = nil) { + self.policyIds = policyIds + self.targetTags = targetTags + self.tagsToAdd = tagsToAdd + self.state = state + self.resourceTypes = resourceTypes + } + + private enum CodingKeys: String, CodingKey { + case policyIds = "policyIds" + case targetTags = "targetTags" + case tagsToAdd = "tagsToAdd" + case state = "state" + case resourceTypes = "resourceTypes" + } + } + + public struct DeleteLifecyclePolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyId", location: .uri(locationName: "policyId"), required: true, type: .string) + ] + /// The identifier of the lifecycle policy. + public let policyId: String + + public init(policyId: String) { + self.policyId = policyId + } + + private enum CodingKeys: String, CodingKey { + case policyId = "policyId" + } + } + + public struct CreateLifecyclePolicyResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyId", required: false, type: .string) + ] + /// The identifier of the lifecycle policy. + public let policyId: String? + + public init(policyId: String? = nil) { + self.policyId = policyId + } + + private enum CodingKeys: String, CodingKey { + case policyId = "PolicyId" + } + } + + public struct PolicyDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TargetTags", required: false, type: .list), + AWSShapeMember(label: "ResourceTypes", required: false, type: .list), + AWSShapeMember(label: "Schedules", required: false, type: .list) + ] + /// The target tags. + public let targetTags: [Tag]? + /// The resource type. + public let resourceTypes: [ResourceTypeValues]? + /// The schedule. + public let schedules: [Schedule]? + + public init(targetTags: [Tag]? = nil, resourceTypes: [ResourceTypeValues]? = nil, schedules: [Schedule]? = nil) { + self.targetTags = targetTags + self.resourceTypes = resourceTypes + self.schedules = schedules + } + + private enum CodingKeys: String, CodingKey { + case targetTags = "TargetTags" + case resourceTypes = "ResourceTypes" + case schedules = "Schedules" + } + } + + public struct CreateRule: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Times", required: false, type: .list), + AWSShapeMember(label: "IntervalUnit", required: true, type: .enum), + AWSShapeMember(label: "Interval", required: true, type: .integer) + ] + /// The time, in UTC, to start the operation. The operation occurs within a one-hour window following the specified time. + public let times: [String]? + /// The interval unit. + public let intervalUnit: IntervalUnitValues + /// The interval. The supported values are 12 and 24. + public let interval: Int32 + + public init(times: [String]? = nil, intervalUnit: IntervalUnitValues, interval: Int32) { + self.times = times + self.intervalUnit = intervalUnit + self.interval = interval + } + + private enum CodingKeys: String, CodingKey { + case times = "Times" + case intervalUnit = "IntervalUnit" + case interval = "Interval" + } + } + + public struct RetainRule: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Count", required: true, type: .integer) + ] + /// The number of snapshots to keep for each volume, up to a maximum of 1000. + public let count: Int32 + + public init(count: Int32) { + self.count = count + } + + private enum CodingKeys: String, CodingKey { + case count = "Count" + } + } + + public enum SettablePolicyStateValues: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" + public var description: String { return self.rawValue } + } + + public struct GetLifecyclePolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyId", location: .uri(locationName: "policyId"), required: true, type: .string) + ] + /// The identifier of the lifecycle policy. + public let policyId: String + + public init(policyId: String) { + self.policyId = policyId + } + + private enum CodingKeys: String, CodingKey { + case policyId = "policyId" + } + } + + public struct LifecyclePolicySummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "State", required: false, type: .enum), + AWSShapeMember(label: "PolicyId", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The activation state of the lifecycle policy. + public let state: GettablePolicyStateValues? + /// The identifier of the lifecycle policy. + public let policyId: String? + /// The description of the lifecycle policy. + public let description: String? + + public init(state: GettablePolicyStateValues? = nil, policyId: String? = nil, description: String? = nil) { + self.state = state + self.policyId = policyId + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case state = "State" + case policyId = "PolicyId" + case description = "Description" + } + } + + public struct CreateLifecyclePolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExecutionRoleArn", required: true, type: .string), + AWSShapeMember(label: "PolicyDetails", required: true, type: .structure), + AWSShapeMember(label: "State", required: true, type: .enum), + AWSShapeMember(label: "Description", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy. + public let executionRoleArn: String + /// The configuration of the lifecycle policy. Target tags cannot be re-used across lifecycle policies. + public let policyDetails: PolicyDetails + /// The desired activation state of the lifecycle policy after creation. + public let state: SettablePolicyStateValues + /// A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported. + public let description: String + + public init(executionRoleArn: String, policyDetails: PolicyDetails, state: SettablePolicyStateValues, description: String) { + self.executionRoleArn = executionRoleArn + self.policyDetails = policyDetails + self.state = state + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case executionRoleArn = "ExecutionRoleArn" + case policyDetails = "PolicyDetails" + case state = "State" + case description = "Description" + } + } + + public struct UpdateLifecyclePolicyResponse: AWSShape { + + } + + public struct GetLifecyclePolicyResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Policy", required: false, type: .structure) + ] + /// Detailed information about the lifecycle policy. + public let policy: LifecyclePolicy? + + public init(policy: LifecyclePolicy? = nil) { + self.policy = policy + } + + private enum CodingKeys: String, CodingKey { + case policy = "Policy" + } + } + + public struct GetLifecyclePoliciesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Policies", required: false, type: .list) + ] + /// Summary information about the lifecycle policies. + public let policies: [LifecyclePolicySummary]? + + public init(policies: [LifecyclePolicySummary]? = nil) { + self.policies = policies + } + + private enum CodingKeys: String, CodingKey { + case policies = "Policies" + } + } + + public struct LifecyclePolicy: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExecutionRoleArn", required: false, type: .string), + AWSShapeMember(label: "PolicyId", required: false, type: .string), + AWSShapeMember(label: "State", required: false, type: .enum), + AWSShapeMember(label: "DateModified", required: false, type: .timestamp), + AWSShapeMember(label: "DateCreated", required: false, type: .timestamp), + AWSShapeMember(label: "PolicyDetails", required: false, type: .structure), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy. + public let executionRoleArn: String? + /// The identifier of the lifecycle policy. + public let policyId: String? + /// The activation state of the lifecycle policy. + public let state: GettablePolicyStateValues? + /// The local date and time when the lifecycle policy was last modified. + public let dateModified: TimeStamp? + /// The local date and time when the lifecycle policy was created. + public let dateCreated: TimeStamp? + /// The configuration of the lifecycle policy + public let policyDetails: PolicyDetails? + /// The description of the lifecycle policy. + public let description: String? + + public init(executionRoleArn: String? = nil, policyId: String? = nil, state: GettablePolicyStateValues? = nil, dateModified: TimeStamp? = nil, dateCreated: TimeStamp? = nil, policyDetails: PolicyDetails? = nil, description: String? = nil) { + self.executionRoleArn = executionRoleArn + self.policyId = policyId + self.state = state + self.dateModified = dateModified + self.dateCreated = dateCreated + self.policyDetails = policyDetails + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case executionRoleArn = "ExecutionRoleArn" + case policyId = "PolicyId" + case state = "State" + case dateModified = "DateModified" + case dateCreated = "DateCreated" + case policyDetails = "PolicyDetails" + case description = "Description" + } + } + + public struct Schedule: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CreateRule", required: false, type: .structure), + AWSShapeMember(label: "RetainRule", required: false, type: .structure), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "TagsToAdd", required: false, type: .list) + ] + /// The create rule. + public let createRule: CreateRule? + /// The retain rule. + public let retainRule: RetainRule? + /// The name of the schedule. + public let name: String? + /// The tags to add to policy-created resources. These tags are added in addition to the default lifecycle tags. + public let tagsToAdd: [Tag]? + + public init(createRule: CreateRule? = nil, retainRule: RetainRule? = nil, name: String? = nil, tagsToAdd: [Tag]? = nil) { + self.createRule = createRule + self.retainRule = retainRule + self.name = name + self.tagsToAdd = tagsToAdd + } + + private enum CodingKeys: String, CodingKey { + case createRule = "CreateRule" + case retainRule = "RetainRule" + case name = "Name" + case tagsToAdd = "TagsToAdd" + } + } + + public enum IntervalUnitValues: String, CustomStringConvertible, Codable { + case hours = "HOURS" + public var description: String { return self.rawValue } + } + + public enum ResourceTypeValues: String, CustomStringConvertible, Codable { + case volume = "VOLUME" + public var description: String { return self.rawValue } + } + + public enum GettablePolicyStateValues: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" + case error = "ERROR" + public var description: String { return self.rawValue } + } + + public struct UpdateLifecyclePolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyId", location: .uri(locationName: "policyId"), required: true, type: .string), + AWSShapeMember(label: "ExecutionRoleArn", required: false, type: .string), + AWSShapeMember(label: "PolicyDetails", required: false, type: .structure), + AWSShapeMember(label: "State", required: false, type: .enum), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The identifier of the lifecycle policy. + public let policyId: String + /// The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy. + public let executionRoleArn: String? + /// The configuration of the lifecycle policy. Target tags cannot be re-used across policies. + public let policyDetails: PolicyDetails? + /// The desired activation state of the lifecycle policy after creation. + public let state: SettablePolicyStateValues? + /// A description of the lifecycle policy. + public let description: String? + + public init(policyId: String, executionRoleArn: String? = nil, policyDetails: PolicyDetails? = nil, state: SettablePolicyStateValues? = nil, description: String? = nil) { + self.policyId = policyId + self.executionRoleArn = executionRoleArn + self.policyDetails = policyDetails + self.state = state + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case policyId = "policyId" + case executionRoleArn = "ExecutionRoleArn" + case policyDetails = "PolicyDetails" + case state = "State" + case description = "Description" + } + } + + public struct DeleteLifecyclePolicyResponse: AWSShape { + + } + + public struct Tag: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: true, type: .string), + AWSShapeMember(label: "Key", required: true, type: .string) + ] + /// The tag value. + public let value: String + /// The tag key. + public let key: String + + public init(value: String, key: String) { + self.value = value + self.key = key + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case key = "Key" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/dms/Dms_API.swift b/Sources/AWSSDKSwift/Services/dms/Dms_API.swift index f5ac6113341..dd789cea975 100644 --- a/Sources/AWSSDKSwift/Services/dms/Dms_API.swift +++ b/Sources/AWSSDKSwift/Services/dms/Dms_API.swift @@ -90,11 +90,6 @@ public struct Dms { return try client.send(operation: "DescribeReplicationSubnetGroups", path: "/", httpMethod: "POST", input: input) } - /// Uploads the specified certificate. - public func importCertificate(_ input: ImportCertificateMessage) throws -> ImportCertificateResponse { - return try client.send(operation: "ImportCertificate", path: "/", httpMethod: "POST", input: input) - } - /// Deletes the specified replication task. public func deleteReplicationTask(_ input: DeleteReplicationTaskMessage) throws -> DeleteReplicationTaskResponse { return try client.send(operation: "DeleteReplicationTask", path: "/", httpMethod: "POST", input: input) @@ -125,9 +120,14 @@ public struct Dms { return try client.send(operation: "DescribeTableStatistics", path: "/", httpMethod: "POST", input: input) } - /// Reloads the target database table with the source data. - public func reloadTables(_ input: ReloadTablesMessage) throws -> ReloadTablesResponse { - return try client.send(operation: "ReloadTables", path: "/", httpMethod: "POST", input: input) + /// Creates the replication instance using the specified parameters. + public func createReplicationInstance(_ input: CreateReplicationInstanceMessage) throws -> CreateReplicationInstanceResponse { + return try client.send(operation: "CreateReplicationInstance", path: "/", httpMethod: "POST", input: input) + } + + /// Reboots a replication instance. Rebooting results in a momentary outage, until the replication instance becomes available again. + public func rebootReplicationInstance(_ input: RebootReplicationInstanceMessage) throws -> RebootReplicationInstanceResponse { + return try client.send(operation: "RebootReplicationInstance", path: "/", httpMethod: "POST", input: input) } /// Deletes the specified certificate. @@ -135,14 +135,24 @@ public struct Dms { return try client.send(operation: "DeleteCertificate", path: "/", httpMethod: "POST", input: input) } + /// Reloads the target database table with the source data. + public func reloadTables(_ input: ReloadTablesMessage) throws -> ReloadTablesResponse { + return try client.send(operation: "ReloadTables", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func modifyReplicationInstance(_ input: ModifyReplicationInstanceMessage) throws -> ModifyReplicationInstanceResponse { return try client.send(operation: "ModifyReplicationInstance", path: "/", httpMethod: "POST", input: input) } - /// Creates the replication instance using the specified parameters. - public func createReplicationInstance(_ input: CreateReplicationInstanceMessage) throws -> CreateReplicationInstanceResponse { - return try client.send(operation: "CreateReplicationInstance", path: "/", httpMethod: "POST", input: input) + /// Uploads the specified certificate. + public func importCertificate(_ input: ImportCertificateMessage) throws -> ImportCertificateResponse { + return try client.send(operation: "ImportCertificate", path: "/", httpMethod: "POST", input: input) + } + + /// Returns information about the task logs for the specified task. + public func describeReplicationInstanceTaskLogs(_ input: DescribeReplicationInstanceTaskLogsMessage) throws -> DescribeReplicationInstanceTaskLogsResponse { + return try client.send(operation: "DescribeReplicationInstanceTaskLogs", path: "/", httpMethod: "POST", input: input) } /// Deletes the specified replication instance. You must delete any migration tasks that are associated with the replication instance before you can delete it. @@ -220,7 +230,7 @@ public struct Dms { return try client.send(operation: "DescribeCertificates", path: "/", httpMethod: "POST", input: input) } - /// Adds metadata tags to a DMS resource, including replication instance, endpoint, security group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with DMS resources, or used in a Condition statement in an IAM policy for DMS. + /// 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. public func addTagsToResource(_ input: AddTagsToResourceMessage) throws -> AddTagsToResourceResponse { return try client.send(operation: "AddTagsToResource", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/dms/Dms_Error.swift b/Sources/AWSSDKSwift/Services/dms/Dms_Error.swift index 338e7d15687..d7a4de70dfb 100644 --- a/Sources/AWSSDKSwift/Services/dms/Dms_Error.swift +++ b/Sources/AWSSDKSwift/Services/dms/Dms_Error.swift @@ -14,11 +14,11 @@ public enum DmsError: AWSErrorType { case invalidSubnet(message: String?) case sNSInvalidTopicFault(message: String?) case sNSNoAuthorizationFault(message: String?) - case invalidCertificateFault(message: String?) case subnetAlreadyInUse(message: String?) case insufficientResourceCapacityFault(message: String?) case storageQuotaExceededFault(message: String?) case upgradeDependencyFailureFault(message: String?) + case invalidCertificateFault(message: String?) } extension DmsError { @@ -48,8 +48,6 @@ extension DmsError { self = .sNSInvalidTopicFault(message: message) case "SNSNoAuthorizationFault": self = .sNSNoAuthorizationFault(message: message) - case "InvalidCertificateFault": - self = .invalidCertificateFault(message: message) case "SubnetAlreadyInUse": self = .subnetAlreadyInUse(message: message) case "InsufficientResourceCapacityFault": @@ -58,6 +56,8 @@ extension DmsError { self = .storageQuotaExceededFault(message: message) case "UpgradeDependencyFailureFault": self = .upgradeDependencyFailureFault(message: message) + case "InvalidCertificateFault": + self = .invalidCertificateFault(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/dms/Dms_Shapes.swift b/Sources/AWSSDKSwift/Services/dms/Dms_Shapes.swift index fc21f9da921..5e79b15bcda 100644 --- a/Sources/AWSSDKSwift/Services/dms/Dms_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/dms/Dms_Shapes.swift @@ -5,6 +5,27 @@ import AWSSDKSwiftCore extension Dms { + public struct DescribeReplicationInstancesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "ReplicationInstances", required: false, type: .list) + ] + /// 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. + public let marker: String? + /// The replication instances described. + public let replicationInstances: [ReplicationInstance]? + + public init(marker: String? = nil, replicationInstances: [ReplicationInstance]? = nil) { + self.marker = marker + self.replicationInstances = replicationInstances + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case replicationInstances = "ReplicationInstances" + } + } + public struct ModifyReplicationSubnetGroupResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ReplicationSubnetGroup", required: false, type: .structure) @@ -136,6 +157,22 @@ extension Dms { } } + public struct DeleteEndpointMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointArn", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. + public let endpointArn: String + + public init(endpointArn: String) { + self.endpointArn = endpointArn + } + + private enum CodingKeys: String, CodingKey { + case endpointArn = "EndpointArn" + } + } + public struct DescribeReplicationTaskAssessmentResultsMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Marker", required: false, type: .string), @@ -162,34 +199,18 @@ extension Dms { } } - public struct DeleteEndpointMessage: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointArn", required: true, type: .string) - ] - /// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. - public let endpointArn: String - - public init(endpointArn: String) { - self.endpointArn = endpointArn - } - - private enum CodingKeys: String, CodingKey { - case endpointArn = "EndpointArn" - } - } - public struct S3Settings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CsvRowDelimiter", required: false, type: .string), + AWSShapeMember(label: "CsvDelimiter", required: false, type: .string), AWSShapeMember(label: "CompressionType", required: false, type: .enum), AWSShapeMember(label: "ServiceAccessRoleArn", required: false, type: .string), AWSShapeMember(label: "BucketName", required: false, type: .string), AWSShapeMember(label: "BucketFolder", required: false, type: .string), AWSShapeMember(label: "ExternalTableDefinition", required: false, type: .string), - AWSShapeMember(label: "CsvDelimiter", required: false, type: .string) + AWSShapeMember(label: "CsvRowDelimiter", required: false, type: .string) ] - /// The delimiter used to separate rows in the source files. The default is a carriage return (\n). - public let csvRowDelimiter: String? + /// The delimiter used to separate columns in the source files. The default is a comma. + public let csvDelimiter: String? /// 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. public let compressionType: CompressionTypeValue? /// The Amazon Resource Name (ARN) used by the service access IAM role. @@ -198,70 +219,80 @@ extension Dms { public let bucketName: String? /// 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>/. public let bucketFolder: String? - /// + /// The external table definition. public let externalTableDefinition: String? - /// The delimiter used to separate columns in the source files. The default is a comma. - public let csvDelimiter: String? + /// The delimiter used to separate rows in the source files. The default is a carriage return (\n). + public let csvRowDelimiter: String? - public init(csvRowDelimiter: String? = nil, compressionType: CompressionTypeValue? = nil, serviceAccessRoleArn: String? = nil, bucketName: String? = nil, bucketFolder: String? = nil, externalTableDefinition: String? = nil, csvDelimiter: String? = nil) { - self.csvRowDelimiter = csvRowDelimiter + public init(csvDelimiter: String? = nil, compressionType: CompressionTypeValue? = nil, serviceAccessRoleArn: String? = nil, bucketName: String? = nil, bucketFolder: String? = nil, externalTableDefinition: String? = nil, csvRowDelimiter: String? = nil) { + self.csvDelimiter = csvDelimiter self.compressionType = compressionType self.serviceAccessRoleArn = serviceAccessRoleArn self.bucketName = bucketName self.bucketFolder = bucketFolder self.externalTableDefinition = externalTableDefinition - self.csvDelimiter = csvDelimiter + self.csvRowDelimiter = csvRowDelimiter } private enum CodingKeys: String, CodingKey { - case csvRowDelimiter = "CsvRowDelimiter" + case csvDelimiter = "CsvDelimiter" case compressionType = "CompressionType" case serviceAccessRoleArn = "ServiceAccessRoleArn" case bucketName = "BucketName" case bucketFolder = "BucketFolder" case externalTableDefinition = "ExternalTableDefinition" - case csvDelimiter = "CsvDelimiter" + case csvRowDelimiter = "CsvRowDelimiter" } } public struct Endpoint: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ExtraConnectionAttributes", required: false, type: .string), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string), + AWSShapeMember(label: "DmsTransferSettings", required: false, type: .structure), + AWSShapeMember(label: "EngineDisplayName", required: false, type: .string), AWSShapeMember(label: "EndpointIdentifier", required: false, type: .string), AWSShapeMember(label: "Username", required: false, type: .string), AWSShapeMember(label: "EndpointArn", required: false, type: .string), - AWSShapeMember(label: "DynamoDbSettings", required: false, type: .structure), AWSShapeMember(label: "MongoDbSettings", required: false, type: .structure), + AWSShapeMember(label: "DynamoDbSettings", required: false, type: .structure), AWSShapeMember(label: "Status", required: false, type: .string), AWSShapeMember(label: "EndpointType", required: false, type: .enum), AWSShapeMember(label: "ServerName", required: false, type: .string), + AWSShapeMember(label: "ServiceAccessRoleArn", required: false, type: .string), AWSShapeMember(label: "S3Settings", required: false, type: .structure), AWSShapeMember(label: "DatabaseName", required: false, type: .string), AWSShapeMember(label: "ExternalId", required: false, type: .string), AWSShapeMember(label: "SslMode", required: false, type: .enum), AWSShapeMember(label: "CertificateArn", required: false, type: .string), AWSShapeMember(label: "EngineName", required: false, type: .string), + AWSShapeMember(label: "ExternalTableDefinition", required: false, type: .string), AWSShapeMember(label: "Port", required: false, type: .integer), - AWSShapeMember(label: "KmsKeyId", required: false, type: .string) + AWSShapeMember(label: "ExtraConnectionAttributes", required: false, type: .string) ] - /// Additional connection attributes used to connect to the endpoint. - public let extraConnectionAttributes: String? + /// 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. + public let kmsKeyId: String? + /// 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" } + public let dmsTransferSettings: DmsTransferSettings? + /// The expanded name for the engine name. For example, if the EngineName parameter is "aurora," this value would be "Amazon Aurora MySQL." + public let engineDisplayName: String? /// 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. public let endpointIdentifier: String? /// The user name used to connect to the endpoint. public let username: String? /// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. public let endpointArn: String? - /// The settings for the target DynamoDB database. For more information, see the DynamoDBSettings structure. - public let dynamoDbSettings: DynamoDbSettings? /// The settings for the MongoDB source endpoint. For more information, see the MongoDbSettings structure. public let mongoDbSettings: MongoDbSettings? + /// The settings for the target DynamoDB database. For more information, see the DynamoDBSettings structure. + public let dynamoDbSettings: DynamoDbSettings? /// The status of the endpoint. public let status: String? /// The type of endpoint. public let endpointType: ReplicationEndpointTypeValue? /// The name of the server at the endpoint. public let serverName: String? + /// The Amazon Resource Name (ARN) used by the service access IAM role. + public let serviceAccessRoleArn: String? /// The settings for the S3 target endpoint. For more information, see the S3Settings structure. public let s3Settings: S3Settings? /// The name of the database at the endpoint. @@ -272,51 +303,61 @@ extension Dms { public let sslMode: DmsSslModeValue? /// The Amazon Resource Name (ARN) used for SSL connection to the endpoint. public let certificateArn: String? - /// The database engine name. Valid values, depending on the EndPointType, include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER. + /// 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. public let engineName: String? + /// The external table definition. + public let externalTableDefinition: String? /// The port value used to access the endpoint. public let port: Int32? - /// 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. - public let kmsKeyId: String? + /// Additional connection attributes used to connect to the endpoint. + public let extraConnectionAttributes: String? - public init(extraConnectionAttributes: String? = nil, endpointIdentifier: String? = nil, username: String? = nil, endpointArn: String? = nil, dynamoDbSettings: DynamoDbSettings? = nil, mongoDbSettings: MongoDbSettings? = nil, status: String? = nil, endpointType: ReplicationEndpointTypeValue? = nil, serverName: String? = nil, s3Settings: S3Settings? = nil, databaseName: String? = nil, externalId: String? = nil, sslMode: DmsSslModeValue? = nil, certificateArn: String? = nil, engineName: String? = nil, port: Int32? = nil, kmsKeyId: String? = nil) { - self.extraConnectionAttributes = extraConnectionAttributes + public init(kmsKeyId: String? = nil, dmsTransferSettings: DmsTransferSettings? = nil, engineDisplayName: String? = nil, endpointIdentifier: String? = nil, username: String? = nil, endpointArn: String? = nil, mongoDbSettings: MongoDbSettings? = nil, dynamoDbSettings: DynamoDbSettings? = nil, status: String? = nil, endpointType: ReplicationEndpointTypeValue? = nil, serverName: String? = nil, serviceAccessRoleArn: String? = nil, s3Settings: S3Settings? = nil, databaseName: String? = nil, externalId: String? = nil, sslMode: DmsSslModeValue? = nil, certificateArn: String? = nil, engineName: String? = nil, externalTableDefinition: String? = nil, port: Int32? = nil, extraConnectionAttributes: String? = nil) { + self.kmsKeyId = kmsKeyId + self.dmsTransferSettings = dmsTransferSettings + self.engineDisplayName = engineDisplayName self.endpointIdentifier = endpointIdentifier self.username = username self.endpointArn = endpointArn - self.dynamoDbSettings = dynamoDbSettings self.mongoDbSettings = mongoDbSettings + self.dynamoDbSettings = dynamoDbSettings self.status = status self.endpointType = endpointType self.serverName = serverName + self.serviceAccessRoleArn = serviceAccessRoleArn self.s3Settings = s3Settings self.databaseName = databaseName self.externalId = externalId self.sslMode = sslMode self.certificateArn = certificateArn self.engineName = engineName + self.externalTableDefinition = externalTableDefinition self.port = port - self.kmsKeyId = kmsKeyId + self.extraConnectionAttributes = extraConnectionAttributes } private enum CodingKeys: String, CodingKey { - case extraConnectionAttributes = "ExtraConnectionAttributes" + case kmsKeyId = "KmsKeyId" + case dmsTransferSettings = "DmsTransferSettings" + case engineDisplayName = "EngineDisplayName" case endpointIdentifier = "EndpointIdentifier" case username = "Username" case endpointArn = "EndpointArn" - case dynamoDbSettings = "DynamoDbSettings" case mongoDbSettings = "MongoDbSettings" + case dynamoDbSettings = "DynamoDbSettings" case status = "Status" case endpointType = "EndpointType" case serverName = "ServerName" + case serviceAccessRoleArn = "ServiceAccessRoleArn" case s3Settings = "S3Settings" case databaseName = "DatabaseName" case externalId = "ExternalId" case sslMode = "SslMode" case certificateArn = "CertificateArn" case engineName = "EngineName" + case externalTableDefinition = "ExternalTableDefinition" case port = "Port" - case kmsKeyId = "KmsKeyId" + case extraConnectionAttributes = "ExtraConnectionAttributes" } } @@ -501,26 +542,31 @@ extension Dms { public struct SupportedEndpointType: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EngineName", required: false, type: .string), AWSShapeMember(label: "EndpointType", required: false, type: .enum), + AWSShapeMember(label: "EngineDisplayName", required: false, type: .string), + AWSShapeMember(label: "EngineName", required: false, type: .string), AWSShapeMember(label: "SupportsCDC", required: false, type: .boolean) ] - /// The database engine name. Valid values, depending on the EndPointType, include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER. - public let engineName: String? /// The type of endpoint. public let endpointType: ReplicationEndpointTypeValue? + /// The expanded name for the engine name. For example, if the EngineName parameter is "aurora," this value would be "Amazon Aurora MySQL." + public let engineDisplayName: String? + /// 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. + public let engineName: String? /// Indicates if Change Data Capture (CDC) is supported. public let supportsCDC: Bool? - public init(engineName: String? = nil, endpointType: ReplicationEndpointTypeValue? = nil, supportsCDC: Bool? = nil) { - self.engineName = engineName + public init(endpointType: ReplicationEndpointTypeValue? = nil, engineDisplayName: String? = nil, engineName: String? = nil, supportsCDC: Bool? = nil) { self.endpointType = endpointType + self.engineDisplayName = engineDisplayName + self.engineName = engineName self.supportsCDC = supportsCDC } private enum CodingKeys: String, CodingKey { - case engineName = "EngineName" case endpointType = "EndpointType" + case engineDisplayName = "EngineDisplayName" + case engineName = "EngineName" case supportsCDC = "SupportsCDC" } } @@ -714,6 +760,32 @@ extension Dms { } } + public struct ReplicationInstanceTaskLog: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReplicationTaskName", required: false, type: .string), + AWSShapeMember(label: "ReplicationTaskArn", required: false, type: .string), + AWSShapeMember(label: "ReplicationInstanceTaskLogSize", required: false, type: .long) + ] + /// The name of the replication task. + public let replicationTaskName: String? + /// The Amazon Resource Name (ARN) of the replication task. + public let replicationTaskArn: String? + /// The size, in bytes, of the replication task log. + public let replicationInstanceTaskLogSize: Int64? + + public init(replicationTaskName: String? = nil, replicationTaskArn: String? = nil, replicationInstanceTaskLogSize: Int64? = nil) { + self.replicationTaskName = replicationTaskName + self.replicationTaskArn = replicationTaskArn + self.replicationInstanceTaskLogSize = replicationInstanceTaskLogSize + } + + private enum CodingKeys: String, CodingKey { + case replicationTaskName = "ReplicationTaskName" + case replicationTaskArn = "ReplicationTaskArn" + case replicationInstanceTaskLogSize = "ReplicationInstanceTaskLogSize" + } + } + public struct CreateEventSubscriptionMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SnsTopicArn", required: true, type: .string), @@ -726,7 +798,7 @@ extension Dms { ] /// 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. public let snsTopicArn: String - /// The name of the DMS event notification subscription. Constraints: The name must be less than 255 characters. + /// The name of the AWS DMS event notification subscription. Constraints: The name must be less than 255 characters. public let subscriptionName: String /// 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 public let sourceType: String? @@ -763,26 +835,36 @@ extension Dms { public struct StartReplicationTaskMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ReplicationTaskArn", required: true, type: .string), - AWSShapeMember(label: "CdcStartTime", required: false, type: .timestamp), - AWSShapeMember(label: "StartReplicationTaskType", required: true, type: .enum) + AWSShapeMember(label: "StartReplicationTaskType", required: true, type: .enum), + AWSShapeMember(label: "CdcStopPosition", required: false, type: .string), + AWSShapeMember(label: "CdcStartPosition", required: false, type: .string), + AWSShapeMember(label: "CdcStartTime", required: false, type: .timestamp) ] /// The Amazon Resource Name (ARN) of the replication task to be started. public let replicationTaskArn: String - /// The start time for the Change Data Capture (CDC) operation. - public let cdcStartTime: TimeStamp? /// The type of replication task. public let startReplicationTaskType: StartReplicationTaskTypeValue + /// 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 “ + public let cdcStopPosition: String? + /// 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” + public let cdcStartPosition: String? + /// 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” + public let cdcStartTime: TimeStamp? - public init(replicationTaskArn: String, cdcStartTime: TimeStamp? = nil, startReplicationTaskType: StartReplicationTaskTypeValue) { + public init(replicationTaskArn: String, startReplicationTaskType: StartReplicationTaskTypeValue, cdcStopPosition: String? = nil, cdcStartPosition: String? = nil, cdcStartTime: TimeStamp? = nil) { self.replicationTaskArn = replicationTaskArn - self.cdcStartTime = cdcStartTime self.startReplicationTaskType = startReplicationTaskType + self.cdcStopPosition = cdcStopPosition + self.cdcStartPosition = cdcStartPosition + self.cdcStartTime = cdcStartTime } private enum CodingKeys: String, CodingKey { case replicationTaskArn = "ReplicationTaskArn" - case cdcStartTime = "CdcStartTime" case startReplicationTaskType = "StartReplicationTaskType" + case cdcStopPosition = "CdcStopPosition" + case cdcStartPosition = "CdcStartPosition" + case cdcStartTime = "CdcStartTime" } } @@ -793,8 +875,8 @@ extension Dms { AWSShapeMember(label: "AllocatedStorage", required: false, type: .integer), AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .list), AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), - AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), + AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), AWSShapeMember(label: "ReplicationInstanceIdentifier", required: true, type: .string), AWSShapeMember(label: "EngineVersion", required: false, type: .string), AWSShapeMember(label: "ReplicationInstanceClass", required: true, type: .string), @@ -812,10 +894,10 @@ extension Dms { public let vpcSecurityGroupIds: [String]? /// 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 public let availabilityZone: String? - /// 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. - public let publiclyAccessible: Bool? /// Indicates that minor engine upgrades will be applied automatically to the replication instance during the maintenance window. Default: true public let autoMinorVersionUpgrade: Bool? + /// 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. + public let publiclyAccessible: Bool? /// 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 public let replicationInstanceIdentifier: String /// The engine version number of the replication instance. @@ -829,14 +911,14 @@ extension Dms { /// 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. public let kmsKeyId: String? - public init(multiAZ: Bool? = nil, tags: [Tag]? = nil, allocatedStorage: Int32? = nil, vpcSecurityGroupIds: [String]? = nil, availabilityZone: String? = nil, publiclyAccessible: Bool? = nil, autoMinorVersionUpgrade: Bool? = nil, replicationInstanceIdentifier: String, engineVersion: String? = nil, replicationInstanceClass: String, preferredMaintenanceWindow: String? = nil, replicationSubnetGroupIdentifier: String? = nil, kmsKeyId: String? = nil) { + public init(multiAZ: Bool? = nil, tags: [Tag]? = nil, allocatedStorage: Int32? = nil, vpcSecurityGroupIds: [String]? = nil, availabilityZone: String? = nil, autoMinorVersionUpgrade: Bool? = nil, publiclyAccessible: Bool? = nil, replicationInstanceIdentifier: String, engineVersion: String? = nil, replicationInstanceClass: String, preferredMaintenanceWindow: String? = nil, replicationSubnetGroupIdentifier: String? = nil, kmsKeyId: String? = nil) { self.multiAZ = multiAZ self.tags = tags self.allocatedStorage = allocatedStorage self.vpcSecurityGroupIds = vpcSecurityGroupIds self.availabilityZone = availabilityZone - self.publiclyAccessible = publiclyAccessible self.autoMinorVersionUpgrade = autoMinorVersionUpgrade + self.publiclyAccessible = publiclyAccessible self.replicationInstanceIdentifier = replicationInstanceIdentifier self.engineVersion = engineVersion self.replicationInstanceClass = replicationInstanceClass @@ -851,8 +933,8 @@ extension Dms { case allocatedStorage = "AllocatedStorage" case vpcSecurityGroupIds = "VpcSecurityGroupIds" case availabilityZone = "AvailabilityZone" - case publiclyAccessible = "PubliclyAccessible" case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" + case publiclyAccessible = "PubliclyAccessible" case replicationInstanceIdentifier = "ReplicationInstanceIdentifier" case engineVersion = "EngineVersion" case replicationInstanceClass = "ReplicationInstanceClass" @@ -867,6 +949,12 @@ extension Dms { public var description: String { return self.rawValue } } + public enum ReloadOptionValue: String, CustomStringConvertible, Codable { + case dataReload = "data-reload" + case validateOnly = "validate-only" + public var description: String { return self.rawValue } + } + public struct DeleteCertificateResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Certificate", required: false, type: .structure) @@ -976,12 +1064,54 @@ extension Dms { } } + public struct DescribeReplicationInstanceTaskLogsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReplicationInstanceArn", required: false, type: .string), + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "ReplicationInstanceTaskLogs", required: false, type: .list) + ] + /// The Amazon Resource Name (ARN) of the replication instance. + public let replicationInstanceArn: String? + /// 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. + public let marker: String? + /// An array of replication task log metadata. Each member of the array contains the replication task name, ARN, and task log size (in bytes). + public let replicationInstanceTaskLogs: [ReplicationInstanceTaskLog]? + + public init(replicationInstanceArn: String? = nil, marker: String? = nil, replicationInstanceTaskLogs: [ReplicationInstanceTaskLog]? = nil) { + self.replicationInstanceArn = replicationInstanceArn + self.marker = marker + self.replicationInstanceTaskLogs = replicationInstanceTaskLogs + } + + private enum CodingKeys: String, CodingKey { + case replicationInstanceArn = "ReplicationInstanceArn" + case marker = "Marker" + case replicationInstanceTaskLogs = "ReplicationInstanceTaskLogs" + } + } + public enum NestingLevelValue: String, CustomStringConvertible, Codable { case none = "none" case one = "one" public var description: String { return self.rawValue } } + public struct DescribeRefreshSchemasStatusMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointArn", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. + public let endpointArn: String + + public init(endpointArn: String) { + self.endpointArn = endpointArn + } + + private enum CodingKeys: String, CodingKey { + case endpointArn = "EndpointArn" + } + } + public struct DescribeTableStatisticsMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxRecords", required: false, type: .integer), @@ -1013,22 +1143,6 @@ extension Dms { } } - public struct DescribeRefreshSchemasStatusMessage: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointArn", required: true, type: .string) - ] - /// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. - public let endpointArn: String - - public init(endpointArn: String) { - self.endpointArn = endpointArn - } - - private enum CodingKeys: String, CodingKey { - case endpointArn = "EndpointArn" - } - } - public struct RemoveTagsFromResourceMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ResourceArn", required: true, type: .string), @@ -1058,6 +1172,7 @@ extension Dms { public struct MongoDbSettings: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "KmsKeyId", required: false, type: .string), AWSShapeMember(label: "AuthType", required: false, type: .enum), AWSShapeMember(label: "AuthSource", required: false, type: .string), AWSShapeMember(label: "ServerName", required: false, type: .string), @@ -1065,11 +1180,13 @@ extension Dms { AWSShapeMember(label: "NestingLevel", required: false, type: .enum), AWSShapeMember(label: "Username", required: false, type: .string), AWSShapeMember(label: "DatabaseName", required: false, type: .string), - AWSShapeMember(label: "ExtractDocId", required: false, type: .string), AWSShapeMember(label: "Password", required: false, type: .string), + AWSShapeMember(label: "ExtractDocId", required: false, type: .string), AWSShapeMember(label: "Port", required: false, type: .integer), AWSShapeMember(label: "AuthMechanism", required: false, type: .enum) ] + /// 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. + public let kmsKeyId: String? /// 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. public let authType: AuthTypeValue? /// The MongoDB database name. This attribute is not used when authType=NO. The default is admin. @@ -1084,16 +1201,17 @@ extension Dms { public let username: String? /// The database name on the MongoDB source endpoint. public let databaseName: String? - /// Specifies the document ID. Use this attribute when NestingLevel is set to NONE. Default value is false. - public let extractDocId: String? /// The password for the user account you use to access the MongoDB source endpoint. public let password: String? + /// Specifies the document ID. Use this attribute when NestingLevel is set to NONE. Default value is false. + public let extractDocId: String? /// The port value for the MongoDB source endpoint. public let port: Int32? /// 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. public let authMechanism: AuthMechanismValue? - public init(authType: AuthTypeValue? = nil, authSource: String? = nil, serverName: String? = nil, docsToInvestigate: String? = nil, nestingLevel: NestingLevelValue? = nil, username: String? = nil, databaseName: String? = nil, extractDocId: String? = nil, password: String? = nil, port: Int32? = nil, authMechanism: AuthMechanismValue? = nil) { + public init(kmsKeyId: String? = nil, authType: AuthTypeValue? = nil, authSource: String? = nil, serverName: String? = nil, docsToInvestigate: String? = nil, nestingLevel: NestingLevelValue? = nil, username: String? = nil, databaseName: String? = nil, password: String? = nil, extractDocId: String? = nil, port: Int32? = nil, authMechanism: AuthMechanismValue? = nil) { + self.kmsKeyId = kmsKeyId self.authType = authType self.authSource = authSource self.serverName = serverName @@ -1101,13 +1219,14 @@ extension Dms { self.nestingLevel = nestingLevel self.username = username self.databaseName = databaseName - self.extractDocId = extractDocId self.password = password + self.extractDocId = extractDocId self.port = port self.authMechanism = authMechanism } private enum CodingKeys: String, CodingKey { + case kmsKeyId = "KmsKeyId" case authType = "AuthType" case authSource = "AuthSource" case serverName = "ServerName" @@ -1115,8 +1234,8 @@ extension Dms { case nestingLevel = "NestingLevel" case username = "Username" case databaseName = "DatabaseName" - case extractDocId = "ExtractDocId" case password = "Password" + case extractDocId = "ExtractDocId" case port = "Port" case authMechanism = "AuthMechanism" } @@ -1228,6 +1347,13 @@ extension Dms { } } + public enum StartReplicationTaskTypeValue: String, CustomStringConvertible, Codable { + case startReplication = "start-replication" + case resumeProcessing = "resume-processing" + case reloadTarget = "reload-target" + public var description: String { return self.rawValue } + } + public struct DeleteEventSubscriptionMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SubscriptionName", required: true, type: .string) @@ -1244,11 +1370,8 @@ extension Dms { } } - public enum StartReplicationTaskTypeValue: String, CustomStringConvertible, Codable { - case startReplication = "start-replication" - case resumeProcessing = "resume-processing" - case reloadTarget = "reload-target" - public var description: String { return self.rawValue } + public struct DescribeAccountAttributesMessage: AWSShape { + } public struct DescribeSchemasResponse: AWSShape { @@ -1272,31 +1395,6 @@ extension Dms { } } - public struct DescribeAccountAttributesMessage: AWSShape { - - } - - public struct TableToReload: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SchemaName", required: false, type: .string), - AWSShapeMember(label: "TableName", required: false, type: .string) - ] - /// The schema name of the table to be reloaded. - public let schemaName: String? - /// The table name of the table to be reloaded. - public let tableName: String? - - public init(schemaName: String? = nil, tableName: String? = nil) { - self.schemaName = schemaName - self.tableName = tableName - } - - private enum CodingKeys: String, CodingKey { - case schemaName = "SchemaName" - case tableName = "TableName" - } - } - public struct Certificate: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ValidFromDate", required: false, type: .timestamp), @@ -1358,6 +1456,27 @@ extension Dms { } } + public struct TableToReload: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SchemaName", required: false, type: .string), + AWSShapeMember(label: "TableName", required: false, type: .string) + ] + /// The schema name of the table to be reloaded. + public let schemaName: String? + /// The table name of the table to be reloaded. + public let tableName: String? + + public init(schemaName: String? = nil, tableName: String? = nil) { + self.schemaName = schemaName + self.tableName = tableName + } + + private enum CodingKeys: String, CodingKey { + case schemaName = "SchemaName" + case tableName = "TableName" + } + } + public struct ListTagsForResourceResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TagList", required: false, type: .list) @@ -1678,21 +1797,26 @@ extension Dms { public struct ReloadTablesMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ReplicationTaskArn", required: true, type: .string), - AWSShapeMember(label: "TablesToReload", required: true, type: .list) + AWSShapeMember(label: "TablesToReload", required: true, type: .list), + AWSShapeMember(label: "ReloadOption", required: false, type: .enum) ] - /// The Amazon Resource Name (ARN) of the replication instance. + /// The Amazon Resource Name (ARN) of the replication task. public let replicationTaskArn: String /// The name and schema of the table to be reloaded. public let tablesToReload: [TableToReload] + /// 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. + public let reloadOption: ReloadOptionValue? - public init(replicationTaskArn: String, tablesToReload: [TableToReload]) { + public init(replicationTaskArn: String, tablesToReload: [TableToReload], reloadOption: ReloadOptionValue? = nil) { self.replicationTaskArn = replicationTaskArn self.tablesToReload = tablesToReload + self.reloadOption = reloadOption } private enum CodingKeys: String, CodingKey { case replicationTaskArn = "ReplicationTaskArn" case tablesToReload = "TablesToReload" + case reloadOption = "ReloadOption" } } @@ -1793,40 +1917,49 @@ extension Dms { public struct CreateEndpointMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "KmsKeyId", required: false, type: .string), + AWSShapeMember(label: "ExtraConnectionAttributes", required: false, type: .string), + AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "DmsTransferSettings", required: false, type: .structure), AWSShapeMember(label: "EndpointIdentifier", required: true, type: .string), AWSShapeMember(label: "Tags", required: false, type: .list), AWSShapeMember(label: "Username", required: false, type: .string), - AWSShapeMember(label: "MongoDbSettings", required: false, type: .structure), AWSShapeMember(label: "DynamoDbSettings", required: false, type: .structure), + AWSShapeMember(label: "MongoDbSettings", required: false, type: .structure), AWSShapeMember(label: "EndpointType", required: true, type: .enum), AWSShapeMember(label: "ServerName", required: false, type: .string), + AWSShapeMember(label: "ServiceAccessRoleArn", required: false, type: .string), AWSShapeMember(label: "S3Settings", required: false, type: .structure), AWSShapeMember(label: "DatabaseName", required: false, type: .string), AWSShapeMember(label: "SslMode", required: false, type: .enum), AWSShapeMember(label: "CertificateArn", required: false, type: .string), AWSShapeMember(label: "EngineName", required: true, type: .string), + AWSShapeMember(label: "ExternalTableDefinition", required: false, type: .string), AWSShapeMember(label: "Password", required: false, type: .string), - AWSShapeMember(label: "Port", required: false, type: .integer), - AWSShapeMember(label: "ExtraConnectionAttributes", required: false, type: .string) + AWSShapeMember(label: "KmsKeyId", required: false, type: .string) ] - /// 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. - public let kmsKeyId: String? + /// Additional attributes associated with the connection. + public let extraConnectionAttributes: String? + /// The port used by the endpoint database. + public let port: Int32? + /// 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" } + public let dmsTransferSettings: DmsTransferSettings? /// 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. public let endpointIdentifier: String /// Tags to be added to the endpoint. public let tags: [Tag]? /// The user name to be used to login to the endpoint database. public let username: String? - /// 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. - public let mongoDbSettings: MongoDbSettings? /// 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. public let dynamoDbSettings: DynamoDbSettings? + /// 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. + public let mongoDbSettings: MongoDbSettings? /// The type of endpoint. public let endpointType: ReplicationEndpointTypeValue /// The name of the server where the endpoint database resides. public let serverName: String? - /// 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. + /// The Amazon Resource Name (ARN) for the service access role you want to use to create the endpoint. + public let serviceAccessRoleArn: String? + /// 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. public let s3Settings: S3Settings? /// The name of the endpoint database. public let databaseName: String? @@ -1834,51 +1967,57 @@ extension Dms { public let sslMode: DmsSslModeValue? /// The Amazon Resource Name (ARN) for the certificate. public let certificateArn: String? - /// The type of engine for the endpoint. Valid values, depending on the EndPointType, include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER. + /// 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. public let engineName: String + /// The external table definition. + public let externalTableDefinition: String? /// The password to be used to login to the endpoint database. public let password: String? - /// The port used by the endpoint database. - public let port: Int32? - /// Additional attributes associated with the connection. - public let extraConnectionAttributes: String? + /// 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. + public let kmsKeyId: String? - public init(kmsKeyId: String? = nil, endpointIdentifier: String, tags: [Tag]? = nil, username: String? = nil, mongoDbSettings: MongoDbSettings? = nil, dynamoDbSettings: DynamoDbSettings? = nil, endpointType: ReplicationEndpointTypeValue, serverName: String? = nil, s3Settings: S3Settings? = nil, databaseName: String? = nil, sslMode: DmsSslModeValue? = nil, certificateArn: String? = nil, engineName: String, password: String? = nil, port: Int32? = nil, extraConnectionAttributes: String? = nil) { - self.kmsKeyId = kmsKeyId + public init(extraConnectionAttributes: String? = nil, port: Int32? = nil, dmsTransferSettings: DmsTransferSettings? = nil, endpointIdentifier: String, tags: [Tag]? = nil, username: String? = nil, dynamoDbSettings: DynamoDbSettings? = nil, mongoDbSettings: MongoDbSettings? = nil, endpointType: ReplicationEndpointTypeValue, serverName: String? = nil, serviceAccessRoleArn: String? = nil, s3Settings: S3Settings? = nil, databaseName: String? = nil, sslMode: DmsSslModeValue? = nil, certificateArn: String? = nil, engineName: String, externalTableDefinition: String? = nil, password: String? = nil, kmsKeyId: String? = nil) { + self.extraConnectionAttributes = extraConnectionAttributes + self.port = port + self.dmsTransferSettings = dmsTransferSettings self.endpointIdentifier = endpointIdentifier self.tags = tags self.username = username - self.mongoDbSettings = mongoDbSettings self.dynamoDbSettings = dynamoDbSettings + self.mongoDbSettings = mongoDbSettings self.endpointType = endpointType self.serverName = serverName + self.serviceAccessRoleArn = serviceAccessRoleArn self.s3Settings = s3Settings self.databaseName = databaseName self.sslMode = sslMode self.certificateArn = certificateArn self.engineName = engineName + self.externalTableDefinition = externalTableDefinition self.password = password - self.port = port - self.extraConnectionAttributes = extraConnectionAttributes + self.kmsKeyId = kmsKeyId } private enum CodingKeys: String, CodingKey { - case kmsKeyId = "KmsKeyId" + case extraConnectionAttributes = "ExtraConnectionAttributes" + case port = "Port" + case dmsTransferSettings = "DmsTransferSettings" case endpointIdentifier = "EndpointIdentifier" case tags = "Tags" case username = "Username" - case mongoDbSettings = "MongoDbSettings" case dynamoDbSettings = "DynamoDbSettings" + case mongoDbSettings = "MongoDbSettings" case endpointType = "EndpointType" case serverName = "ServerName" + case serviceAccessRoleArn = "ServiceAccessRoleArn" case s3Settings = "S3Settings" case databaseName = "DatabaseName" case sslMode = "SslMode" case certificateArn = "CertificateArn" case engineName = "EngineName" + case externalTableDefinition = "ExternalTableDefinition" case password = "Password" - case port = "Port" - case extraConnectionAttributes = "ExtraConnectionAttributes" + case kmsKeyId = "KmsKeyId" } } @@ -2024,11 +2163,12 @@ extension Dms { public struct TableStatistics: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ValidationStateDetails", required: false, type: .string), AWSShapeMember(label: "SchemaName", required: false, type: .string), AWSShapeMember(label: "FullLoadCondtnlChkFailedRows", required: false, type: .long), AWSShapeMember(label: "FullLoadRows", required: false, type: .long), - AWSShapeMember(label: "LastUpdateTime", required: false, type: .timestamp), AWSShapeMember(label: "ValidationSuspendedRecords", required: false, type: .long), + AWSShapeMember(label: "LastUpdateTime", required: false, type: .timestamp), AWSShapeMember(label: "ValidationState", required: false, type: .string), AWSShapeMember(label: "Ddls", required: false, type: .long), AWSShapeMember(label: "Updates", required: false, type: .long), @@ -2040,16 +2180,18 @@ extension Dms { AWSShapeMember(label: "FullLoadErrorRows", required: false, type: .long), AWSShapeMember(label: "Deletes", required: false, type: .long) ] + /// Additional details about the state of validation. + public let validationStateDetails: String? /// The schema name. public let schemaName: String? /// The number of rows that failed conditional checks during the Full Load operation (valid only for DynamoDB as a target migrations). public let fullLoadCondtnlChkFailedRows: Int64? /// The number of rows added during the Full Load operation. public let fullLoadRows: Int64? - /// The last time the table was updated. - public let lastUpdateTime: TimeStamp? /// The number of records that could not be validated. public let validationSuspendedRecords: Int64? + /// The last time the table was updated. + public let lastUpdateTime: TimeStamp? /// 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. public let validationState: String? /// The Data Definition Language (DDL) used to build and modify the structure of your tables. @@ -2071,12 +2213,13 @@ extension Dms { /// The number of delete actions performed on a table. public let deletes: Int64? - public init(schemaName: String? = nil, fullLoadCondtnlChkFailedRows: Int64? = nil, fullLoadRows: Int64? = nil, lastUpdateTime: TimeStamp? = nil, validationSuspendedRecords: Int64? = nil, validationState: String? = nil, ddls: Int64? = nil, updates: Int64? = nil, tableState: String? = nil, validationFailedRecords: Int64? = nil, validationPendingRecords: Int64? = nil, inserts: Int64? = nil, tableName: String? = nil, fullLoadErrorRows: Int64? = nil, deletes: Int64? = nil) { + public init(validationStateDetails: String? = nil, schemaName: String? = nil, fullLoadCondtnlChkFailedRows: Int64? = nil, fullLoadRows: Int64? = nil, validationSuspendedRecords: Int64? = nil, lastUpdateTime: TimeStamp? = nil, validationState: String? = nil, ddls: Int64? = nil, updates: Int64? = nil, tableState: String? = nil, validationFailedRecords: Int64? = nil, validationPendingRecords: Int64? = nil, inserts: Int64? = nil, tableName: String? = nil, fullLoadErrorRows: Int64? = nil, deletes: Int64? = nil) { + self.validationStateDetails = validationStateDetails self.schemaName = schemaName self.fullLoadCondtnlChkFailedRows = fullLoadCondtnlChkFailedRows self.fullLoadRows = fullLoadRows - self.lastUpdateTime = lastUpdateTime self.validationSuspendedRecords = validationSuspendedRecords + self.lastUpdateTime = lastUpdateTime self.validationState = validationState self.ddls = ddls self.updates = updates @@ -2090,11 +2233,12 @@ extension Dms { } private enum CodingKeys: String, CodingKey { + case validationStateDetails = "ValidationStateDetails" case schemaName = "SchemaName" case fullLoadCondtnlChkFailedRows = "FullLoadCondtnlChkFailedRows" case fullLoadRows = "FullLoadRows" - case lastUpdateTime = "LastUpdateTime" case validationSuspendedRecords = "ValidationSuspendedRecords" + case lastUpdateTime = "LastUpdateTime" case validationState = "ValidationState" case ddls = "Ddls" case updates = "Updates" @@ -2208,6 +2352,22 @@ extension Dms { } } + public struct RebootReplicationInstanceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReplicationInstance", required: false, type: .structure) + ] + /// The replication instance that is being rebooted. + public let replicationInstance: ReplicationInstance? + + public init(replicationInstance: ReplicationInstance? = nil) { + self.replicationInstance = replicationInstance + } + + private enum CodingKeys: String, CodingKey { + case replicationInstance = "ReplicationInstance" + } + } + public struct ReplicationTaskAssessmentResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "S3ObjectUrl", required: false, type: .string), @@ -2254,6 +2414,27 @@ extension Dms { } } + public struct RebootReplicationInstanceMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReplicationInstanceArn", required: true, type: .string), + AWSShapeMember(label: "ForceFailover", required: false, type: .boolean) + ] + /// The Amazon Resource Name (ARN) of the replication instance. + public let replicationInstanceArn: String + /// 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.) + public let forceFailover: Bool? + + public init(replicationInstanceArn: String, forceFailover: Bool? = nil) { + self.replicationInstanceArn = replicationInstanceArn + self.forceFailover = forceFailover + } + + private enum CodingKeys: String, CodingKey { + case replicationInstanceArn = "ReplicationInstanceArn" + case forceFailover = "ForceFailover" + } + } + public struct CreateReplicationInstanceResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ReplicationInstance", required: false, type: .structure) @@ -2274,40 +2455,50 @@ extension Dms { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TableMappings", required: false, type: .string), AWSShapeMember(label: "ReplicationTaskArn", required: true, type: .string), + AWSShapeMember(label: "CdcStopPosition", required: false, type: .string), AWSShapeMember(label: "ReplicationTaskIdentifier", required: false, type: .string), AWSShapeMember(label: "MigrationType", required: false, type: .enum), - AWSShapeMember(label: "CdcStartTime", required: false, type: .timestamp), - AWSShapeMember(label: "ReplicationTaskSettings", required: false, type: .string) + AWSShapeMember(label: "CdcStartPosition", required: false, type: .string), + AWSShapeMember(label: "ReplicationTaskSettings", required: false, type: .string), + AWSShapeMember(label: "CdcStartTime", required: false, type: .timestamp) ] /// 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 public let tableMappings: String? /// The Amazon Resource Name (ARN) of the replication task. public let replicationTaskArn: String + /// 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 “ + public let cdcStopPosition: String? /// 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. public let replicationTaskIdentifier: String? /// The migration type. Valid values: full-load | cdc | full-load-and-cdc public let migrationType: MigrationTypeValue? - /// The start time for the Change Data Capture (CDC) operation. - public let cdcStartTime: TimeStamp? + /// 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” + public let cdcStartPosition: String? /// JSON file that contains settings for the task, such as target metadata settings. public let replicationTaskSettings: String? + /// 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” + public let cdcStartTime: TimeStamp? - public init(tableMappings: String? = nil, replicationTaskArn: String, replicationTaskIdentifier: String? = nil, migrationType: MigrationTypeValue? = nil, cdcStartTime: TimeStamp? = nil, replicationTaskSettings: String? = nil) { + public init(tableMappings: String? = nil, replicationTaskArn: String, cdcStopPosition: String? = nil, replicationTaskIdentifier: String? = nil, migrationType: MigrationTypeValue? = nil, cdcStartPosition: String? = nil, replicationTaskSettings: String? = nil, cdcStartTime: TimeStamp? = nil) { self.tableMappings = tableMappings self.replicationTaskArn = replicationTaskArn + self.cdcStopPosition = cdcStopPosition self.replicationTaskIdentifier = replicationTaskIdentifier self.migrationType = migrationType - self.cdcStartTime = cdcStartTime + self.cdcStartPosition = cdcStartPosition self.replicationTaskSettings = replicationTaskSettings + self.cdcStartTime = cdcStartTime } private enum CodingKeys: String, CodingKey { case tableMappings = "TableMappings" case replicationTaskArn = "ReplicationTaskArn" + case cdcStopPosition = "CdcStopPosition" case replicationTaskIdentifier = "ReplicationTaskIdentifier" case migrationType = "MigrationType" - case cdcStartTime = "CdcStartTime" + case cdcStartPosition = "CdcStartPosition" case replicationTaskSettings = "ReplicationTaskSettings" + case cdcStartTime = "CdcStartTime" } } @@ -2344,8 +2535,8 @@ extension Dms { AWSShapeMember(label: "DefaultAllocatedStorage", required: false, type: .integer), AWSShapeMember(label: "StorageType", required: false, type: .string), AWSShapeMember(label: "MinAllocatedStorage", required: false, type: .integer), - AWSShapeMember(label: "IncludedAllocatedStorage", required: false, type: .integer), - AWSShapeMember(label: "MaxAllocatedStorage", required: false, type: .integer) + AWSShapeMember(label: "MaxAllocatedStorage", required: false, type: .integer), + AWSShapeMember(label: "IncludedAllocatedStorage", required: false, type: .integer) ] /// The version of the replication engine. public let engineVersion: String? @@ -2357,19 +2548,19 @@ extension Dms { public let storageType: String? /// The minimum amount of storage (in gigabytes) that can be allocated for the replication instance. public let minAllocatedStorage: Int32? - /// The amount of storage (in gigabytes) that is allocated for the replication instance. - public let includedAllocatedStorage: Int32? /// The minimum amount of storage (in gigabytes) that can be allocated for the replication instance. public let maxAllocatedStorage: Int32? + /// The amount of storage (in gigabytes) that is allocated for the replication instance. + public let includedAllocatedStorage: Int32? - public init(engineVersion: String? = nil, replicationInstanceClass: String? = nil, defaultAllocatedStorage: Int32? = nil, storageType: String? = nil, minAllocatedStorage: Int32? = nil, includedAllocatedStorage: Int32? = nil, maxAllocatedStorage: Int32? = nil) { + public init(engineVersion: String? = nil, replicationInstanceClass: String? = nil, defaultAllocatedStorage: Int32? = nil, storageType: String? = nil, minAllocatedStorage: Int32? = nil, maxAllocatedStorage: Int32? = nil, includedAllocatedStorage: Int32? = nil) { self.engineVersion = engineVersion self.replicationInstanceClass = replicationInstanceClass self.defaultAllocatedStorage = defaultAllocatedStorage self.storageType = storageType self.minAllocatedStorage = minAllocatedStorage - self.includedAllocatedStorage = includedAllocatedStorage self.maxAllocatedStorage = maxAllocatedStorage + self.includedAllocatedStorage = includedAllocatedStorage } private enum CodingKeys: String, CodingKey { @@ -2378,8 +2569,8 @@ extension Dms { case defaultAllocatedStorage = "DefaultAllocatedStorage" case storageType = "StorageType" case minAllocatedStorage = "MinAllocatedStorage" - case includedAllocatedStorage = "IncludedAllocatedStorage" case maxAllocatedStorage = "MaxAllocatedStorage" + case includedAllocatedStorage = "IncludedAllocatedStorage" } } @@ -2424,6 +2615,32 @@ extension Dms { } } + public struct DescribeReplicationInstanceTaskLogsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReplicationInstanceArn", required: true, type: .string), + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "Marker", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the replication instance. + public let replicationInstanceArn: String + /// 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. + public let maxRecords: Int32? + /// 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. + public let marker: String? + + public init(replicationInstanceArn: String, maxRecords: Int32? = nil, marker: String? = nil) { + self.replicationInstanceArn = replicationInstanceArn + self.maxRecords = maxRecords + self.marker = marker + } + + private enum CodingKeys: String, CodingKey { + case replicationInstanceArn = "ReplicationInstanceArn" + case maxRecords = "MaxRecords" + case marker = "Marker" + } + } + public struct DeleteEndpointResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Endpoint", required: false, type: .structure) @@ -2462,14 +2679,17 @@ extension Dms { AWSShapeMember(label: "LastFailureMessage", required: false, type: .string), AWSShapeMember(label: "ReplicationTaskStartDate", required: false, type: .timestamp), AWSShapeMember(label: "ReplicationTaskCreationDate", required: false, type: .timestamp), + AWSShapeMember(label: "CdcStartPosition", required: false, type: .string), AWSShapeMember(label: "SourceEndpointArn", required: false, type: .string), AWSShapeMember(label: "TableMappings", required: false, type: .string), AWSShapeMember(label: "ReplicationTaskArn", required: false, type: .string), AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "CdcStopPosition", required: false, type: .string), AWSShapeMember(label: "StopReason", required: false, type: .string), AWSShapeMember(label: "ReplicationInstanceArn", required: false, type: .string), AWSShapeMember(label: "ReplicationTaskIdentifier", required: false, type: .string), AWSShapeMember(label: "MigrationType", required: false, type: .enum), + AWSShapeMember(label: "RecoveryCheckpoint", required: false, type: .string), AWSShapeMember(label: "TargetEndpointArn", required: false, type: .string), AWSShapeMember(label: "ReplicationTaskSettings", required: false, type: .string) ] @@ -2481,6 +2701,8 @@ extension Dms { public let replicationTaskStartDate: TimeStamp? /// The date the replication task was created. public let replicationTaskCreationDate: TimeStamp? + /// 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” + public let cdcStartPosition: String? /// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. public let sourceEndpointArn: String? /// Table mappings specified in the task. @@ -2489,32 +2711,39 @@ extension Dms { public let replicationTaskArn: String? /// The status of the replication task. public let status: String? + /// 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 “ + public let cdcStopPosition: String? /// The reason the replication task was stopped. public let stopReason: String? /// The Amazon Resource Name (ARN) of the replication instance. public let replicationInstanceArn: String? - /// 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. + /// 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. public let replicationTaskIdentifier: String? /// The type of migration. public let migrationType: MigrationTypeValue? + /// 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. + public let recoveryCheckpoint: String? /// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. public let targetEndpointArn: String? /// The settings for the replication task. public let replicationTaskSettings: String? - public init(replicationTaskStats: ReplicationTaskStats? = nil, lastFailureMessage: String? = nil, replicationTaskStartDate: TimeStamp? = nil, replicationTaskCreationDate: TimeStamp? = nil, sourceEndpointArn: String? = nil, tableMappings: String? = nil, replicationTaskArn: String? = nil, status: String? = nil, stopReason: String? = nil, replicationInstanceArn: String? = nil, replicationTaskIdentifier: String? = nil, migrationType: MigrationTypeValue? = nil, targetEndpointArn: String? = nil, replicationTaskSettings: String? = nil) { + public init(replicationTaskStats: ReplicationTaskStats? = nil, lastFailureMessage: String? = nil, replicationTaskStartDate: TimeStamp? = nil, replicationTaskCreationDate: TimeStamp? = nil, cdcStartPosition: String? = nil, sourceEndpointArn: String? = nil, tableMappings: String? = nil, replicationTaskArn: String? = nil, status: String? = nil, cdcStopPosition: String? = nil, stopReason: String? = nil, replicationInstanceArn: String? = nil, replicationTaskIdentifier: String? = nil, migrationType: MigrationTypeValue? = nil, recoveryCheckpoint: String? = nil, targetEndpointArn: String? = nil, replicationTaskSettings: String? = nil) { self.replicationTaskStats = replicationTaskStats self.lastFailureMessage = lastFailureMessage self.replicationTaskStartDate = replicationTaskStartDate self.replicationTaskCreationDate = replicationTaskCreationDate + self.cdcStartPosition = cdcStartPosition self.sourceEndpointArn = sourceEndpointArn self.tableMappings = tableMappings self.replicationTaskArn = replicationTaskArn self.status = status + self.cdcStopPosition = cdcStopPosition self.stopReason = stopReason self.replicationInstanceArn = replicationInstanceArn self.replicationTaskIdentifier = replicationTaskIdentifier self.migrationType = migrationType + self.recoveryCheckpoint = recoveryCheckpoint self.targetEndpointArn = targetEndpointArn self.replicationTaskSettings = replicationTaskSettings } @@ -2524,14 +2753,17 @@ extension Dms { case lastFailureMessage = "LastFailureMessage" case replicationTaskStartDate = "ReplicationTaskStartDate" case replicationTaskCreationDate = "ReplicationTaskCreationDate" + case cdcStartPosition = "CdcStartPosition" case sourceEndpointArn = "SourceEndpointArn" case tableMappings = "TableMappings" case replicationTaskArn = "ReplicationTaskArn" case status = "Status" + case cdcStopPosition = "CdcStopPosition" case stopReason = "StopReason" case replicationInstanceArn = "ReplicationInstanceArn" case replicationTaskIdentifier = "ReplicationTaskIdentifier" case migrationType = "MigrationType" + case recoveryCheckpoint = "RecoveryCheckpoint" case targetEndpointArn = "TargetEndpointArn" case replicationTaskSettings = "ReplicationTaskSettings" } @@ -2822,6 +3054,7 @@ extension Dms { AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), AWSShapeMember(label: "ReplicationInstanceIdentifier", required: false, type: .string), + AWSShapeMember(label: "FreeUntil", required: false, type: .timestamp), AWSShapeMember(label: "ReplicationInstancePrivateIpAddresses", required: false, type: .list), AWSShapeMember(label: "EngineVersion", required: false, type: .string), AWSShapeMember(label: "ReplicationInstanceClass", required: false, type: .string), @@ -2857,6 +3090,8 @@ extension Dms { public let publiclyAccessible: Bool? /// 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 public let replicationInstanceIdentifier: String? + /// The expiration date of the free replication instance that is part of the Free DMS program. + public let freeUntil: TimeStamp? /// The private IP address of the replication instance. public let replicationInstancePrivateIpAddresses: [String]? /// The engine version number of the replication instance. @@ -2874,7 +3109,7 @@ extension Dms { /// 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. public let kmsKeyId: String? - public init(instanceCreateTime: TimeStamp? = nil, pendingModifiedValues: ReplicationPendingModifiedValues? = nil, replicationInstanceStatus: String? = nil, vpcSecurityGroups: [VpcSecurityGroupMembership]? = nil, multiAZ: Bool? = nil, replicationInstancePublicIpAddresses: [String]? = nil, allocatedStorage: Int32? = nil, replicationSubnetGroup: ReplicationSubnetGroup? = nil, replicationInstancePrivateIpAddress: String? = nil, availabilityZone: String? = nil, autoMinorVersionUpgrade: Bool? = nil, publiclyAccessible: Bool? = nil, replicationInstanceIdentifier: String? = nil, replicationInstancePrivateIpAddresses: [String]? = nil, engineVersion: String? = nil, replicationInstanceClass: String? = nil, preferredMaintenanceWindow: String? = nil, replicationInstanceArn: String? = nil, replicationInstancePublicIpAddress: String? = nil, secondaryAvailabilityZone: String? = nil, kmsKeyId: String? = nil) { + public init(instanceCreateTime: TimeStamp? = nil, pendingModifiedValues: ReplicationPendingModifiedValues? = nil, replicationInstanceStatus: String? = nil, vpcSecurityGroups: [VpcSecurityGroupMembership]? = nil, multiAZ: Bool? = nil, replicationInstancePublicIpAddresses: [String]? = nil, allocatedStorage: Int32? = nil, replicationSubnetGroup: ReplicationSubnetGroup? = nil, replicationInstancePrivateIpAddress: String? = nil, availabilityZone: String? = nil, autoMinorVersionUpgrade: Bool? = nil, publiclyAccessible: Bool? = nil, replicationInstanceIdentifier: String? = nil, freeUntil: TimeStamp? = nil, replicationInstancePrivateIpAddresses: [String]? = nil, engineVersion: String? = nil, replicationInstanceClass: String? = nil, preferredMaintenanceWindow: String? = nil, replicationInstanceArn: String? = nil, replicationInstancePublicIpAddress: String? = nil, secondaryAvailabilityZone: String? = nil, kmsKeyId: String? = nil) { self.instanceCreateTime = instanceCreateTime self.pendingModifiedValues = pendingModifiedValues self.replicationInstanceStatus = replicationInstanceStatus @@ -2888,6 +3123,7 @@ extension Dms { self.autoMinorVersionUpgrade = autoMinorVersionUpgrade self.publiclyAccessible = publiclyAccessible self.replicationInstanceIdentifier = replicationInstanceIdentifier + self.freeUntil = freeUntil self.replicationInstancePrivateIpAddresses = replicationInstancePrivateIpAddresses self.engineVersion = engineVersion self.replicationInstanceClass = replicationInstanceClass @@ -2912,6 +3148,7 @@ extension Dms { case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" case publiclyAccessible = "PubliclyAccessible" case replicationInstanceIdentifier = "ReplicationInstanceIdentifier" + case freeUntil = "FreeUntil" case replicationInstancePrivateIpAddresses = "ReplicationInstancePrivateIpAddresses" case engineVersion = "EngineVersion" case replicationInstanceClass = "ReplicationInstanceClass" @@ -2962,36 +3199,45 @@ extension Dms { public struct ModifyEndpointMessage: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "DmsTransferSettings", required: false, type: .structure), AWSShapeMember(label: "EndpointIdentifier", required: false, type: .string), AWSShapeMember(label: "Username", required: false, type: .string), AWSShapeMember(label: "EndpointArn", required: true, type: .string), - AWSShapeMember(label: "DynamoDbSettings", required: false, type: .structure), AWSShapeMember(label: "MongoDbSettings", required: false, type: .structure), + AWSShapeMember(label: "DynamoDbSettings", required: false, type: .structure), AWSShapeMember(label: "EndpointType", required: false, type: .enum), AWSShapeMember(label: "ServerName", required: false, type: .string), + AWSShapeMember(label: "ServiceAccessRoleArn", required: false, type: .string), AWSShapeMember(label: "S3Settings", required: false, type: .structure), AWSShapeMember(label: "DatabaseName", required: false, type: .string), AWSShapeMember(label: "SslMode", required: false, type: .enum), AWSShapeMember(label: "CertificateArn", required: false, type: .string), AWSShapeMember(label: "EngineName", required: false, type: .string), + AWSShapeMember(label: "ExternalTableDefinition", required: false, type: .string), AWSShapeMember(label: "Password", required: false, type: .string), - AWSShapeMember(label: "Port", required: false, type: .integer), AWSShapeMember(label: "ExtraConnectionAttributes", required: false, type: .string) ] + /// The port used by the endpoint database. + public let port: Int32? + /// 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" } + public let dmsTransferSettings: DmsTransferSettings? /// 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. public let endpointIdentifier: String? /// The user name to be used to login to the endpoint database. public let username: String? /// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. public let endpointArn: String - /// 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. - public let dynamoDbSettings: DynamoDbSettings? /// 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. public let mongoDbSettings: MongoDbSettings? + /// 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. + public let dynamoDbSettings: DynamoDbSettings? /// The type of endpoint. public let endpointType: ReplicationEndpointTypeValue? /// The name of the server where the endpoint database resides. public let serverName: String? + /// The Amazon Resource Name (ARN) for the service access role you want to use to modify the endpoint. + public let serviceAccessRoleArn: String? /// 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. public let s3Settings: S3Settings? /// The name of the endpoint database. @@ -3000,48 +3246,54 @@ extension Dms { public let sslMode: DmsSslModeValue? /// The Amazon Resource Name (ARN) of the certificate used for SSL connection. public let certificateArn: String? - /// The type of engine for the endpoint. Valid values, depending on the EndPointType, include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, DYNAMODB, MONGODB, SYBASE, and SQLSERVER. + /// 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. public let engineName: String? + /// The external table definition. + public let externalTableDefinition: String? /// The password to be used to login to the endpoint database. public let password: String? - /// The port used by the endpoint database. - public let port: Int32? /// Additional attributes associated with the connection. To reset this parameter, pass the empty string ("") as an argument. public let extraConnectionAttributes: String? - public init(endpointIdentifier: String? = nil, username: String? = nil, endpointArn: String, dynamoDbSettings: DynamoDbSettings? = nil, mongoDbSettings: MongoDbSettings? = nil, endpointType: ReplicationEndpointTypeValue? = nil, serverName: String? = nil, s3Settings: S3Settings? = nil, databaseName: String? = nil, sslMode: DmsSslModeValue? = nil, certificateArn: String? = nil, engineName: String? = nil, password: String? = nil, port: Int32? = nil, extraConnectionAttributes: String? = nil) { + public init(port: Int32? = nil, dmsTransferSettings: DmsTransferSettings? = nil, endpointIdentifier: String? = nil, username: String? = nil, endpointArn: String, mongoDbSettings: MongoDbSettings? = nil, dynamoDbSettings: DynamoDbSettings? = nil, endpointType: ReplicationEndpointTypeValue? = nil, serverName: String? = nil, serviceAccessRoleArn: String? = nil, s3Settings: S3Settings? = nil, databaseName: String? = nil, sslMode: DmsSslModeValue? = nil, certificateArn: String? = nil, engineName: String? = nil, externalTableDefinition: String? = nil, password: String? = nil, extraConnectionAttributes: String? = nil) { + self.port = port + self.dmsTransferSettings = dmsTransferSettings self.endpointIdentifier = endpointIdentifier self.username = username self.endpointArn = endpointArn - self.dynamoDbSettings = dynamoDbSettings self.mongoDbSettings = mongoDbSettings + self.dynamoDbSettings = dynamoDbSettings self.endpointType = endpointType self.serverName = serverName + self.serviceAccessRoleArn = serviceAccessRoleArn self.s3Settings = s3Settings self.databaseName = databaseName self.sslMode = sslMode self.certificateArn = certificateArn self.engineName = engineName + self.externalTableDefinition = externalTableDefinition self.password = password - self.port = port self.extraConnectionAttributes = extraConnectionAttributes } private enum CodingKeys: String, CodingKey { + case port = "Port" + case dmsTransferSettings = "DmsTransferSettings" case endpointIdentifier = "EndpointIdentifier" case username = "Username" case endpointArn = "EndpointArn" - case dynamoDbSettings = "DynamoDbSettings" case mongoDbSettings = "MongoDbSettings" + case dynamoDbSettings = "DynamoDbSettings" case endpointType = "EndpointType" case serverName = "ServerName" + case serviceAccessRoleArn = "ServiceAccessRoleArn" case s3Settings = "S3Settings" case databaseName = "DatabaseName" case sslMode = "SslMode" case certificateArn = "CertificateArn" case engineName = "EngineName" + case externalTableDefinition = "ExternalTableDefinition" case password = "Password" - case port = "Port" case extraConnectionAttributes = "ExtraConnectionAttributes" } } @@ -3092,11 +3344,13 @@ extension Dms { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TableMappings", required: true, type: .string), AWSShapeMember(label: "SourceEndpointArn", required: true, type: .string), + AWSShapeMember(label: "CdcStopPosition", required: false, type: .string), AWSShapeMember(label: "Tags", required: false, type: .list), AWSShapeMember(label: "ReplicationInstanceArn", required: true, type: .string), AWSShapeMember(label: "ReplicationTaskIdentifier", required: true, type: .string), AWSShapeMember(label: "MigrationType", required: true, type: .enum), AWSShapeMember(label: "TargetEndpointArn", required: true, type: .string), + AWSShapeMember(label: "CdcStartPosition", required: false, type: .string), AWSShapeMember(label: "CdcStartTime", required: false, type: .timestamp), AWSShapeMember(label: "ReplicationTaskSettings", required: false, type: .string) ] @@ -3104,6 +3358,8 @@ extension Dms { public let tableMappings: String /// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. public let sourceEndpointArn: String + /// 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 “ + public let cdcStopPosition: String? /// Tags to be added to the replication instance. public let tags: [Tag]? /// The Amazon Resource Name (ARN) of the replication instance. @@ -3114,19 +3370,23 @@ extension Dms { public let migrationType: MigrationTypeValue /// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. public let targetEndpointArn: String - /// The start time for the Change Data Capture (CDC) operation. + /// 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” + public let cdcStartPosition: String? + /// 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” public let cdcStartTime: TimeStamp? /// 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. public let replicationTaskSettings: String? - public init(tableMappings: String, sourceEndpointArn: String, tags: [Tag]? = nil, replicationInstanceArn: String, replicationTaskIdentifier: String, migrationType: MigrationTypeValue, targetEndpointArn: String, cdcStartTime: TimeStamp? = nil, replicationTaskSettings: String? = nil) { + public init(tableMappings: String, sourceEndpointArn: String, cdcStopPosition: String? = nil, tags: [Tag]? = nil, replicationInstanceArn: String, replicationTaskIdentifier: String, migrationType: MigrationTypeValue, targetEndpointArn: String, cdcStartPosition: String? = nil, cdcStartTime: TimeStamp? = nil, replicationTaskSettings: String? = nil) { self.tableMappings = tableMappings self.sourceEndpointArn = sourceEndpointArn + self.cdcStopPosition = cdcStopPosition self.tags = tags self.replicationInstanceArn = replicationInstanceArn self.replicationTaskIdentifier = replicationTaskIdentifier self.migrationType = migrationType self.targetEndpointArn = targetEndpointArn + self.cdcStartPosition = cdcStartPosition self.cdcStartTime = cdcStartTime self.replicationTaskSettings = replicationTaskSettings } @@ -3134,11 +3394,13 @@ extension Dms { private enum CodingKeys: String, CodingKey { case tableMappings = "TableMappings" case sourceEndpointArn = "SourceEndpointArn" + case cdcStopPosition = "CdcStopPosition" case tags = "Tags" case replicationInstanceArn = "ReplicationInstanceArn" case replicationTaskIdentifier = "ReplicationTaskIdentifier" case migrationType = "MigrationType" case targetEndpointArn = "TargetEndpointArn" + case cdcStartPosition = "CdcStartPosition" case cdcStartTime = "CdcStartTime" case replicationTaskSettings = "ReplicationTaskSettings" } @@ -3171,24 +3433,24 @@ extension Dms { } } - public struct DescribeReplicationInstancesResponse: AWSShape { + public struct DmsTransferSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Marker", required: false, type: .string), - AWSShapeMember(label: "ReplicationInstances", required: false, type: .list) + AWSShapeMember(label: "BucketName", required: false, type: .string), + AWSShapeMember(label: "ServiceAccessRoleArn", required: false, type: .string) ] - /// 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. - public let marker: String? - /// The replication instances described. - public let replicationInstances: [ReplicationInstance]? + /// The name of the S3 bucket to use. + public let bucketName: String? + /// The IAM role that has permission to access the Amazon S3 bucket. + public let serviceAccessRoleArn: String? - public init(marker: String? = nil, replicationInstances: [ReplicationInstance]? = nil) { - self.marker = marker - self.replicationInstances = replicationInstances + public init(bucketName: String? = nil, serviceAccessRoleArn: String? = nil) { + self.bucketName = bucketName + self.serviceAccessRoleArn = serviceAccessRoleArn } private enum CodingKeys: String, CodingKey { - case marker = "Marker" - case replicationInstances = "ReplicationInstances" + case bucketName = "BucketName" + case serviceAccessRoleArn = "ServiceAccessRoleArn" } } diff --git a/Sources/AWSSDKSwift/Services/ds/Ds_API.swift b/Sources/AWSSDKSwift/Services/ds/Ds_API.swift index e154616b724..d65f1bb0961 100644 --- a/Sources/AWSSDKSwift/Services/ds/Ds_API.swift +++ b/Sources/AWSSDKSwift/Services/ds/Ds_API.swift @@ -50,6 +50,11 @@ public struct Ds { return try client.send(operation: "EnableSso", path: "/", httpMethod: "POST", input: input) } + /// Resets the password for any user in your AWS Managed Microsoft AD or Simple AD directory. + public func resetUserPassword(_ input: ResetUserPasswordRequest) throws -> ResetUserPasswordResult { + return try client.send(operation: "ResetUserPassword", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func createTrust(_ input: CreateTrustRequest) throws -> CreateTrustResult { return try client.send(operation: "CreateTrust", path: "/", httpMethod: "POST", input: input) @@ -60,11 +65,6 @@ public struct Ds { return try client.send(operation: "DescribeDomainControllers", path: "/", httpMethod: "POST", input: input) } - /// Lists all tags on a directory. - public func listTagsForResource(_ input: ListTagsForResourceRequest) throws -> ListTagsForResourceResult { - return try client.send(operation: "ListTagsForResource", path: "/", httpMethod: "POST", input: input) - } - /// Disables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector directory. public func disableRadius(_ input: DisableRadiusRequest) throws -> DisableRadiusResult { return try client.send(operation: "DisableRadius", path: "/", httpMethod: "POST", input: input) @@ -85,6 +85,11 @@ public struct Ds { return try client.send(operation: "RestoreFromSnapshot", path: "/", httpMethod: "POST", input: input) } + /// Lists all tags on a directory. + public func listTagsForResource(_ input: ListTagsForResourceRequest) throws -> ListTagsForResourceResult { + return try client.send(operation: "ListTagsForResource", path: "/", httpMethod: "POST", input: input) + } + /// Disables single-sign on for a directory. public func disableSso(_ input: DisableSsoRequest) throws -> DisableSsoResult { return try client.send(operation: "DisableSso", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/ds/Ds_Error.swift b/Sources/AWSSDKSwift/Services/ds/Ds_Error.swift index 94bf6910636..6d6fccf89dc 100644 --- a/Sources/AWSSDKSwift/Services/ds/Ds_Error.swift +++ b/Sources/AWSSDKSwift/Services/ds/Ds_Error.swift @@ -14,6 +14,8 @@ public enum DsError: AWSErrorType { case snapshotLimitExceededException(message: String?) case insufficientPermissionsException(message: String?) case authenticationFailedException(message: String?) + case userDoesNotExistException(message: String?) + case invalidPasswordException(message: String?) case entityAlreadyExistsException(message: String?) case invalidNextTokenException(message: String?) case ipRouteLimitExceededException(message: String?) @@ -48,6 +50,10 @@ extension DsError { self = .insufficientPermissionsException(message: message) case "AuthenticationFailedException": self = .authenticationFailedException(message: message) + case "UserDoesNotExistException": + self = .userDoesNotExistException(message: message) + case "InvalidPasswordException": + self = .invalidPasswordException(message: message) case "EntityAlreadyExistsException": self = .entityAlreadyExistsException(message: message) case "InvalidNextTokenException": diff --git a/Sources/AWSSDKSwift/Services/ds/Ds_Shapes.swift b/Sources/AWSSDKSwift/Services/ds/Ds_Shapes.swift index 44448f1ea44..178b472fea1 100644 --- a/Sources/AWSSDKSwift/Services/ds/Ds_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/ds/Ds_Shapes.swift @@ -32,6 +32,32 @@ extension Ds { public var description: String { return self.rawValue } } + public struct ResetUserPasswordRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DirectoryId", required: true, type: .string), + AWSShapeMember(label: "UserName", required: true, type: .string), + AWSShapeMember(label: "NewPassword", required: true, type: .string) + ] + /// Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user resides. + public let directoryId: String + /// The username of the user whose password will be reset. + public let userName: String + /// The new password that will be reset. + public let newPassword: String + + public init(directoryId: String, userName: String, newPassword: String) { + self.directoryId = directoryId + self.userName = userName + self.newPassword = newPassword + } + + private enum CodingKeys: String, CodingKey { + case directoryId = "DirectoryId" + case userName = "UserName" + case newPassword = "NewPassword" + } + } + public struct DeleteTrustRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DeleteAssociatedConditionalForwarder", required: false, type: .boolean), @@ -364,21 +390,22 @@ extension Ds { AWSShapeMember(label: "LaunchTime", required: false, type: .timestamp), AWSShapeMember(label: "DirectoryId", required: false, type: .string), AWSShapeMember(label: "Stage", required: false, type: .enum), - AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "StageLastUpdatedDateTime", required: false, type: .timestamp), - AWSShapeMember(label: "VpcSettings", required: false, type: .structure), - AWSShapeMember(label: "SsoEnabled", required: false, type: .boolean), + AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "DesiredNumberOfDomainControllers", required: false, type: .integer), - AWSShapeMember(label: "StageReason", required: false, type: .string), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "AccessUrl", required: false, type: .string), - AWSShapeMember(label: "Size", required: false, type: .enum), + AWSShapeMember(label: "VpcSettings", required: false, type: .structure), AWSShapeMember(label: "RadiusSettings", required: false, type: .structure), + AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "Alias", required: false, type: .string), + AWSShapeMember(label: "Size", required: false, type: .enum), + AWSShapeMember(label: "AccessUrl", required: false, type: .string), + AWSShapeMember(label: "SsoEnabled", required: false, type: .boolean), AWSShapeMember(label: "RadiusStatus", required: false, type: .enum), + AWSShapeMember(label: "Edition", required: false, type: .enum), AWSShapeMember(label: "Type", required: false, type: .enum), AWSShapeMember(label: "ConnectSettings", required: false, type: .structure), - AWSShapeMember(label: "DnsIpAddrs", required: false, type: .list) + AWSShapeMember(label: "DnsIpAddrs", required: false, type: .list), + AWSShapeMember(label: "StageReason", required: false, type: .string) ] /// The short name of the directory. public let shortName: String? @@ -388,57 +415,60 @@ extension Ds { public let directoryId: String? /// The current stage of the directory. public let stage: DirectoryStage? - /// The textual description for the directory. - public let description: String? /// The date and time that the stage was last updated. public let stageLastUpdatedDateTime: TimeStamp? - /// 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. - public let vpcSettings: DirectoryVpcSettingsDescription? - /// Indicates if single-sign on is enabled for the directory. For more information, see EnableSso and DisableSso. - public let ssoEnabled: Bool? + /// The textual description for the directory. + public let description: String? /// The desired number of domain controllers in the directory if the directory is Microsoft AD. public let desiredNumberOfDomainControllers: Int32? - /// Additional information about the directory stage. - public let stageReason: String? - /// The fully-qualified name of the directory. - public let name: String? - /// 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. - public let accessUrl: String? - /// The directory size. - public let size: DirectorySize? + /// 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. + public let vpcSettings: DirectoryVpcSettingsDescription? /// A RadiusSettings object that contains information about the RADIUS server configured for this directory. public let radiusSettings: RadiusSettings? + /// The fully-qualified name of the directory. + public let name: String? /// The alias for the directory. If no alias has been created for the directory, the alias is the directory identifier, such as d-XXXXXXXXXX. public let alias: String? + /// The directory size. + public let size: DirectorySize? + /// 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. + public let accessUrl: String? + /// Indicates if single-sign on is enabled for the directory. For more information, see EnableSso and DisableSso. + public let ssoEnabled: Bool? /// The status of the RADIUS MFA server connection. public let radiusStatus: RadiusStatus? + /// The edition associated with this directory. + public let edition: DirectoryEdition? /// The directory size. public let `type`: DirectoryType? /// 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. public let connectSettings: DirectoryConnectSettingsDescription? /// 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. public let dnsIpAddrs: [String]? + /// Additional information about the directory stage. + public let stageReason: String? - public init(shortName: String? = nil, launchTime: TimeStamp? = nil, directoryId: String? = nil, stage: DirectoryStage? = nil, description: String? = nil, stageLastUpdatedDateTime: TimeStamp? = nil, vpcSettings: DirectoryVpcSettingsDescription? = nil, ssoEnabled: Bool? = nil, desiredNumberOfDomainControllers: Int32? = nil, stageReason: String? = nil, name: String? = nil, accessUrl: String? = nil, size: DirectorySize? = nil, radiusSettings: RadiusSettings? = nil, alias: String? = nil, radiusStatus: RadiusStatus? = nil, type: DirectoryType? = nil, connectSettings: DirectoryConnectSettingsDescription? = nil, dnsIpAddrs: [String]? = nil) { + public init(shortName: String? = nil, launchTime: TimeStamp? = nil, directoryId: String? = nil, stage: DirectoryStage? = nil, stageLastUpdatedDateTime: TimeStamp? = nil, description: String? = nil, desiredNumberOfDomainControllers: Int32? = nil, vpcSettings: DirectoryVpcSettingsDescription? = nil, radiusSettings: RadiusSettings? = nil, name: String? = nil, alias: String? = nil, size: DirectorySize? = nil, accessUrl: String? = nil, ssoEnabled: Bool? = nil, radiusStatus: RadiusStatus? = nil, edition: DirectoryEdition? = nil, type: DirectoryType? = nil, connectSettings: DirectoryConnectSettingsDescription? = nil, dnsIpAddrs: [String]? = nil, stageReason: String? = nil) { self.shortName = shortName self.launchTime = launchTime self.directoryId = directoryId self.stage = stage - self.description = description self.stageLastUpdatedDateTime = stageLastUpdatedDateTime - self.vpcSettings = vpcSettings - self.ssoEnabled = ssoEnabled + self.description = description self.desiredNumberOfDomainControllers = desiredNumberOfDomainControllers - self.stageReason = stageReason - self.name = name - self.accessUrl = accessUrl - self.size = size + self.vpcSettings = vpcSettings self.radiusSettings = radiusSettings + self.name = name self.alias = alias + self.size = size + self.accessUrl = accessUrl + self.ssoEnabled = ssoEnabled self.radiusStatus = radiusStatus + self.edition = edition self.`type` = `type` self.connectSettings = connectSettings self.dnsIpAddrs = dnsIpAddrs + self.stageReason = stageReason } private enum CodingKeys: String, CodingKey { @@ -446,21 +476,22 @@ extension Ds { case launchTime = "LaunchTime" case directoryId = "DirectoryId" case stage = "Stage" - case description = "Description" case stageLastUpdatedDateTime = "StageLastUpdatedDateTime" - case vpcSettings = "VpcSettings" - case ssoEnabled = "SsoEnabled" + case description = "Description" case desiredNumberOfDomainControllers = "DesiredNumberOfDomainControllers" - case stageReason = "StageReason" - case name = "Name" - case accessUrl = "AccessUrl" - case size = "Size" + case vpcSettings = "VpcSettings" case radiusSettings = "RadiusSettings" + case name = "Name" case alias = "Alias" + case size = "Size" + case accessUrl = "AccessUrl" + case ssoEnabled = "SsoEnabled" case radiusStatus = "RadiusStatus" + case edition = "Edition" case `type` = "Type" case connectSettings = "ConnectSettings" case dnsIpAddrs = "DnsIpAddrs" + case stageReason = "StageReason" } } @@ -725,12 +756,15 @@ extension Ds { public struct CreateMicrosoftADRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Edition", required: false, type: .enum), AWSShapeMember(label: "VpcSettings", required: true, type: .structure), AWSShapeMember(label: "ShortName", required: false, type: .string), AWSShapeMember(label: "Name", required: true, type: .string), AWSShapeMember(label: "Password", required: true, type: .string), AWSShapeMember(label: "Description", required: false, type: .string) ] + /// AWS Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default. + public let edition: DirectoryEdition? /// Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation. public let vpcSettings: DirectoryVpcSettings /// 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. @@ -742,7 +776,8 @@ extension Ds { /// A textual description for the directory. This label will appear on the AWS console Directory Details page after the directory is created. public let description: String? - public init(vpcSettings: DirectoryVpcSettings, shortName: String? = nil, name: String, password: String, description: String? = nil) { + public init(edition: DirectoryEdition? = nil, vpcSettings: DirectoryVpcSettings, shortName: String? = nil, name: String, password: String, description: String? = nil) { + self.edition = edition self.vpcSettings = vpcSettings self.shortName = shortName self.name = name @@ -751,6 +786,7 @@ extension Ds { } private enum CodingKeys: String, CodingKey { + case edition = "Edition" case vpcSettings = "VpcSettings" case shortName = "ShortName" case name = "Name" @@ -759,6 +795,12 @@ extension Ds { } } + public enum DirectoryEdition: String, CustomStringConvertible, Codable { + case enterprise = "Enterprise" + case standard = "Standard" + public var description: String { return self.rawValue } + } + public struct AddTagsToResourceResult: AWSShape { } @@ -977,32 +1019,32 @@ extension Ds { public struct StartSchemaExtensionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DirectoryId", required: true, type: .string), + AWSShapeMember(label: "Description", required: true, type: .string), AWSShapeMember(label: "CreateSnapshotBeforeSchemaExtension", required: true, type: .boolean), AWSShapeMember(label: "LdifContent", required: true, type: .string), - AWSShapeMember(label: "Description", required: true, type: .string) + AWSShapeMember(label: "DirectoryId", required: true, type: .string) ] - /// The identifier of the directory for which the schema extension will be applied to. - public let directoryId: String + /// A description of the schema extension. + public let description: String /// If true, creates a snapshot of the directory before applying the schema extension. public let createSnapshotBeforeSchemaExtension: Bool /// 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. public let ldifContent: String - /// A description of the schema extension. - public let description: String + /// The identifier of the directory for which the schema extension will be applied to. + public let directoryId: String - public init(directoryId: String, createSnapshotBeforeSchemaExtension: Bool, ldifContent: String, description: String) { - self.directoryId = directoryId + public init(description: String, createSnapshotBeforeSchemaExtension: Bool, ldifContent: String, directoryId: String) { + self.description = description self.createSnapshotBeforeSchemaExtension = createSnapshotBeforeSchemaExtension self.ldifContent = ldifContent - self.description = description + self.directoryId = directoryId } private enum CodingKeys: String, CodingKey { - case directoryId = "DirectoryId" + case description = "Description" case createSnapshotBeforeSchemaExtension = "CreateSnapshotBeforeSchemaExtension" case ldifContent = "LdifContent" - case description = "Description" + case directoryId = "DirectoryId" } } @@ -1429,7 +1471,7 @@ extension Ds { public let subnetIds: [String]? /// The list of Availability Zones that the directory is in. public let availabilityZones: [String]? - /// The security group identifier for the directory. If the directory was created before 8/1/2014, this is the identifier of the directory members security group that was created when the directory was created. If the directory was created after this date, this value is null. + /// The domain controller security group identifier for the directory. public let securityGroupId: String? /// The identifier of the VPC that the directory is in. public let vpcId: String? @@ -1492,9 +1534,9 @@ extension Ds { AWSShapeMember(label: "AuthenticationProtocol", required: false, type: .enum), AWSShapeMember(label: "RadiusRetries", required: false, type: .integer), AWSShapeMember(label: "RadiusTimeout", required: false, type: .integer), - AWSShapeMember(label: "UseSameUsername", required: false, type: .boolean), - AWSShapeMember(label: "SharedSecret", required: false, type: .string), AWSShapeMember(label: "DisplayLabel", required: false, type: .string), + AWSShapeMember(label: "SharedSecret", required: false, type: .string), + AWSShapeMember(label: "UseSameUsername", required: false, type: .boolean), AWSShapeMember(label: "RadiusServers", required: false, type: .list) ] /// 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. @@ -1506,22 +1548,22 @@ extension Ds { /// The amount of time, in seconds, to wait for the RADIUS server to respond. public let radiusTimeout: Int32? /// Not currently used. - public let useSameUsername: Bool? + public let displayLabel: String? /// Not currently used. public let sharedSecret: String? /// Not currently used. - public let displayLabel: String? + public let useSameUsername: Bool? /// An array of strings that contains the IP addresses of the RADIUS server endpoints, or the IP addresses of your RADIUS server load balancer. public let radiusServers: [String]? - public init(radiusPort: Int32? = nil, authenticationProtocol: RadiusAuthenticationProtocol? = nil, radiusRetries: Int32? = nil, radiusTimeout: Int32? = nil, useSameUsername: Bool? = nil, sharedSecret: String? = nil, displayLabel: String? = nil, radiusServers: [String]? = nil) { + public init(radiusPort: Int32? = nil, authenticationProtocol: RadiusAuthenticationProtocol? = nil, radiusRetries: Int32? = nil, radiusTimeout: Int32? = nil, displayLabel: String? = nil, sharedSecret: String? = nil, useSameUsername: Bool? = nil, radiusServers: [String]? = nil) { self.radiusPort = radiusPort self.authenticationProtocol = authenticationProtocol self.radiusRetries = radiusRetries self.radiusTimeout = radiusTimeout - self.useSameUsername = useSameUsername - self.sharedSecret = sharedSecret self.displayLabel = displayLabel + self.sharedSecret = sharedSecret + self.useSameUsername = useSameUsername self.radiusServers = radiusServers } @@ -1530,9 +1572,9 @@ extension Ds { case authenticationProtocol = "AuthenticationProtocol" case radiusRetries = "RadiusRetries" case radiusTimeout = "RadiusTimeout" - case useSameUsername = "UseSameUsername" - case sharedSecret = "SharedSecret" case displayLabel = "DisplayLabel" + case sharedSecret = "SharedSecret" + case useSameUsername = "UseSameUsername" case radiusServers = "RadiusServers" } } @@ -2309,6 +2351,10 @@ extension Ds { } } + public struct ResetUserPasswordResult: AWSShape { + + } + public struct DirectoryConnectSettings: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SubnetIds", required: true, type: .list), diff --git a/Sources/AWSSDKSwift/Services/dynamodb/Dynamodb_API.swift b/Sources/AWSSDKSwift/Services/dynamodb/Dynamodb_API.swift index 26f67a30005..90969ffa478 100644 --- a/Sources/AWSSDKSwift/Services/dynamodb/Dynamodb_API.swift +++ b/Sources/AWSSDKSwift/Services/dynamodb/Dynamodb_API.swift @@ -26,22 +26,22 @@ public struct Dynamodb { ) } - /// 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. Tables can only be added as the replicas of a global table group under the following conditions: The tables must have the same name. The tables must contain no items. The tables must have the same hash key and sort key (if present). The tables must have DynamoDB Streams enabled (NEW_AND_OLD_IMAGES). - public func createGlobalTable(_ input: CreateGlobalTableInput) throws -> CreateGlobalTableOutput { - return try client.send(operation: "CreateGlobalTable", path: "/", httpMethod: "POST", input: input) - } - /// 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: PutItem in the AWS Command Line Interface PutItem in the AWS SDK for .NET PutItem in the AWS SDK for C++ PutItem in the AWS SDK for Go PutItem in the AWS SDK for Java PutItem in the AWS SDK for JavaScript PutItem in the AWS SDK for PHP V3 PutItem in the AWS SDK for Python PutItem in the AWS SDK for Ruby V2 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. public func putItem(_ input: PutItemInput) throws -> PutItemOutput { return try client.send(operation: "PutItem", path: "/", httpMethod: "POST", input: input) } - /// 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. 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. This results in a fast, low-cost, and scalable backup process. In general, the larger the table, the more time it takes to back up. The backup is stored in an S3 data store that is maintained and managed by DynamoDB. Backups incorporate all writes (delete, put, update) that were completed within the last minute before the backup request was initiated. Backups might include some writes (delete, put, update) that were completed before the backup request was finished. For example, if you submit the 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 - public func createBackup(_ input: CreateBackupInput) throws -> CreateBackupOutput { - return try client.send(operation: "CreateBackup", path: "/", httpMethod: "POST", input: input) + /// 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. + public func createGlobalTable(_ input: CreateGlobalTableInput) throws -> CreateGlobalTableOutput { + return try client.send(operation: "CreateGlobalTable", path: "/", httpMethod: "POST", input: input) + } + + /// Describes region specific settings for a global table. + public func describeGlobalTableSettings(_ input: DescribeGlobalTableSettingsInput) throws -> DescribeGlobalTableSettingsOutput { + return try client.send(operation: "DescribeGlobalTableSettings", path: "/", httpMethod: "POST", input: input) } - /// Returns information about the global table. + /// Returns information about the specified global table. public func describeGlobalTable(_ input: DescribeGlobalTableInput) throws -> DescribeGlobalTableOutput { return try client.send(operation: "DescribeGlobalTable", path: "/", httpMethod: "POST", input: input) } @@ -51,9 +51,9 @@ public struct Dynamodb { return try client.send(operation: "UpdateTimeToLive", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func describeTable(_ input: DescribeTableInput) throws -> DescribeTableOutput { - return try client.send(operation: "DescribeTable", path: "/", httpMethod: "POST", input: input) + /// 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 + public func createBackup(_ input: CreateBackupInput) throws -> CreateBackupOutput { + return try client.send(operation: "CreateBackup", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -61,7 +61,12 @@ public struct Dynamodb { return try client.send(operation: "ListTagsOfResource", path: "/", httpMethod: "POST", input: input) } - /// Creates a new table from an existing backup. Any number of users can execute up to 10 concurrent restores 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 Time to Live (TTL) settings + /// 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. + public func describeTable(_ input: DescribeTableInput) throws -> DescribeTableOutput { + return try client.send(operation: "DescribeTable", path: "/", httpMethod: "POST", input: input) + } + + /// 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 public func restoreTableFromBackup(_ input: RestoreTableFromBackupInput) throws -> RestoreTableFromBackupOutput { return try client.send(operation: "RestoreTableFromBackup", path: "/", httpMethod: "POST", input: input) } @@ -76,21 +81,21 @@ public struct Dynamodb { return try client.send(operation: "DescribeLimits", path: "/", httpMethod: "POST", input: input) } - /// Lists all the global tables. Only those global tables that have replicas in the region specified as input are returned. + /// Lists all global tables that have a replica in the specified region. public func listGlobalTables(_ input: ListGlobalTablesInput) throws -> ListGlobalTablesOutput { return try client.send(operation: "ListGlobalTables", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func getItem(_ input: GetItemInput) throws -> GetItemOutput { - return try client.send(operation: "GetItem", path: "/", httpMethod: "POST", input: input) - } - /// 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. public func updateItem(_ input: UpdateItemInput) throws -> UpdateItemOutput { return try client.send(operation: "UpdateItem", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func getItem(_ input: GetItemInput) throws -> GetItemOutput { + return try client.send(operation: "GetItem", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func deleteItem(_ input: DeleteItemInput) throws -> DeleteItemOutput { return try client.send(operation: "DeleteItem", path: "/", httpMethod: "POST", input: input) @@ -116,14 +121,19 @@ public struct Dynamodb { return try client.send(operation: "UpdateTable", path: "/", httpMethod: "POST", input: input) } - /// 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. 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. + /// 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. + public func describeContinuousBackups(_ input: DescribeContinuousBackupsInput) throws -> DescribeContinuousBackupsOutput { + return try client.send(operation: "DescribeContinuousBackups", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func batchWriteItem(_ input: BatchWriteItemInput) throws -> BatchWriteItemOutput { return try client.send(operation: "BatchWriteItem", path: "/", httpMethod: "POST", input: input) } - /// Checks the status of the backup restore settings on the specified table. If backups are enabled, ContinuousBackupsStatus will bet set to ENABLED. You can call DescribeContinuousBackups at a maximum rate of 10 times per second. - public func describeContinuousBackups(_ input: DescribeContinuousBackupsInput) throws -> DescribeContinuousBackupsOutput { - return try client.send(operation: "DescribeContinuousBackups", path: "/", httpMethod: "POST", input: input) + /// 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. + public func batchGetItem(_ input: BatchGetItemInput) throws -> BatchGetItemOutput { + return try client.send(operation: "BatchGetItem", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -131,9 +141,9 @@ public struct Dynamodb { return try client.send(operation: "ListTables", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func batchGetItem(_ input: BatchGetItemInput) throws -> BatchGetItemOutput { - return try client.send(operation: "BatchGetItem", path: "/", httpMethod: "POST", input: input) + /// Updates settings for a global table. + public func updateGlobalTableSettings(_ input: UpdateGlobalTableSettingsInput) throws -> UpdateGlobalTableSettingsOutput { + return try client.send(operation: "UpdateGlobalTableSettings", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -141,12 +151,17 @@ public struct Dynamodb { _ = try client.send(operation: "UntagResource", path: "/", httpMethod: "POST", input: input) } + /// 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.. + public func updateContinuousBackups(_ input: UpdateContinuousBackupsInput) throws -> UpdateContinuousBackupsOutput { + return try client.send(operation: "UpdateContinuousBackups", path: "/", httpMethod: "POST", input: input) + } + /// Describes an existing backup of a table. You can call DescribeBackup at a maximum rate of 10 times per second. public func describeBackup(_ input: DescribeBackupInput) throws -> DescribeBackupOutput { return try client.send(operation: "DescribeBackup", path: "/", httpMethod: "POST", input: input) } - /// Adds or removes replicas to the specified global table. The global table should already exist to be able to use this operation. Currently, the replica to be added should be empty. + /// 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. public func updateGlobalTable(_ input: UpdateGlobalTableInput) throws -> UpdateGlobalTableOutput { return try client.send(operation: "UpdateGlobalTable", path: "/", httpMethod: "POST", input: input) } @@ -161,9 +176,9 @@ public struct Dynamodb { return try client.send(operation: "Scan", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func tagResource(_ input: TagResourceInput) throws { - _ = try client.send(operation: "TagResource", path: "/", httpMethod: "POST", input: input) + /// 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 + public func restoreTableToPointInTime(_ input: RestoreTableToPointInTimeInput) throws -> RestoreTableToPointInTimeOutput { + return try client.send(operation: "RestoreTableToPointInTime", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -171,5 +186,10 @@ public struct Dynamodb { return try client.send(operation: "CreateTable", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func tagResource(_ input: TagResourceInput) throws { + _ = try client.send(operation: "TagResource", path: "/", httpMethod: "POST", input: input) + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/dynamodb/Dynamodb_Error.swift b/Sources/AWSSDKSwift/Services/dynamodb/Dynamodb_Error.swift index 0859a89aca2..2be39fe682f 100644 --- a/Sources/AWSSDKSwift/Services/dynamodb/Dynamodb_Error.swift +++ b/Sources/AWSSDKSwift/Services/dynamodb/Dynamodb_Error.swift @@ -4,23 +4,26 @@ import AWSSDKSwiftCore /// Error enum for Dynamodb public enum DynamodbError: AWSErrorType { - case limitExceededException(message: String?) - case internalServerError(message: String?) - case globalTableAlreadyExistsException(message: String?) - case tableNotFoundException(message: String?) case conditionalCheckFailedException(message: String?) case provisionedThroughputExceededException(message: String?) case resourceNotFoundException(message: String?) case itemCollectionSizeLimitExceededException(message: String?) + case internalServerError(message: String?) + case limitExceededException(message: String?) + case globalTableAlreadyExistsException(message: String?) + case tableNotFoundException(message: String?) + case globalTableNotFoundException(message: String?) + case resourceInUseException(message: String?) case tableInUseException(message: String?) case continuousBackupsUnavailableException(message: String?) case backupInUseException(message: String?) - case globalTableNotFoundException(message: String?) - case resourceInUseException(message: String?) case tableAlreadyExistsException(message: String?) case backupNotFoundException(message: String?) - case replicaAlreadyExistsException(message: String?) case replicaNotFoundException(message: String?) + case indexNotFoundException(message: String?) + case replicaAlreadyExistsException(message: String?) + case invalidRestoreTimeException(message: String?) + case pointInTimeRecoveryUnavailableException(message: String?) } extension DynamodbError { @@ -30,14 +33,6 @@ extension DynamodbError { errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) } switch errorCode { - case "LimitExceededException": - self = .limitExceededException(message: message) - case "InternalServerError": - self = .internalServerError(message: message) - case "GlobalTableAlreadyExistsException": - self = .globalTableAlreadyExistsException(message: message) - case "TableNotFoundException": - self = .tableNotFoundException(message: message) case "ConditionalCheckFailedException": self = .conditionalCheckFailedException(message: message) case "ProvisionedThroughputExceededException": @@ -46,24 +41,38 @@ extension DynamodbError { self = .resourceNotFoundException(message: message) case "ItemCollectionSizeLimitExceededException": self = .itemCollectionSizeLimitExceededException(message: message) + case "InternalServerError": + self = .internalServerError(message: message) + case "LimitExceededException": + self = .limitExceededException(message: message) + case "GlobalTableAlreadyExistsException": + self = .globalTableAlreadyExistsException(message: message) + case "TableNotFoundException": + self = .tableNotFoundException(message: message) + case "GlobalTableNotFoundException": + self = .globalTableNotFoundException(message: message) + case "ResourceInUseException": + self = .resourceInUseException(message: message) case "TableInUseException": self = .tableInUseException(message: message) case "ContinuousBackupsUnavailableException": self = .continuousBackupsUnavailableException(message: message) case "BackupInUseException": self = .backupInUseException(message: message) - case "GlobalTableNotFoundException": - self = .globalTableNotFoundException(message: message) - case "ResourceInUseException": - self = .resourceInUseException(message: message) case "TableAlreadyExistsException": self = .tableAlreadyExistsException(message: message) case "BackupNotFoundException": self = .backupNotFoundException(message: message) - case "ReplicaAlreadyExistsException": - self = .replicaAlreadyExistsException(message: message) case "ReplicaNotFoundException": self = .replicaNotFoundException(message: message) + case "IndexNotFoundException": + self = .indexNotFoundException(message: message) + case "ReplicaAlreadyExistsException": + self = .replicaAlreadyExistsException(message: message) + case "InvalidRestoreTimeException": + self = .invalidRestoreTimeException(message: message) + case "PointInTimeRecoveryUnavailableException": + self = .pointInTimeRecoveryUnavailableException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/dynamodb/Dynamodb_Shapes.swift b/Sources/AWSSDKSwift/Services/dynamodb/Dynamodb_Shapes.swift index d3702c96f61..463a13658ba 100644 --- a/Sources/AWSSDKSwift/Services/dynamodb/Dynamodb_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/dynamodb/Dynamodb_Shapes.swift @@ -5,6 +5,42 @@ import AWSSDKSwiftCore extension Dynamodb { + public struct UpdateTableInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AttributeDefinitions", required: false, type: .list), + AWSShapeMember(label: "ProvisionedThroughput", required: false, type: .structure), + AWSShapeMember(label: "TableName", required: true, type: .string), + AWSShapeMember(label: "GlobalSecondaryIndexUpdates", required: false, type: .list), + AWSShapeMember(label: "StreamSpecification", required: false, type: .structure) + ] + /// 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. + public let attributeDefinitions: [AttributeDefinition]? + /// The new provisioned throughput settings for the specified table or index. + public let provisionedThroughput: ProvisionedThroughput? + /// The name of the table to be updated. + public let tableName: String + /// 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. + public let globalSecondaryIndexUpdates: [GlobalSecondaryIndexUpdate]? + /// 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. + public let streamSpecification: StreamSpecification? + + public init(attributeDefinitions: [AttributeDefinition]? = nil, provisionedThroughput: ProvisionedThroughput? = nil, tableName: String, globalSecondaryIndexUpdates: [GlobalSecondaryIndexUpdate]? = nil, streamSpecification: StreamSpecification? = nil) { + self.attributeDefinitions = attributeDefinitions + self.provisionedThroughput = provisionedThroughput + self.tableName = tableName + self.globalSecondaryIndexUpdates = globalSecondaryIndexUpdates + self.streamSpecification = streamSpecification + } + + private enum CodingKeys: String, CodingKey { + case attributeDefinitions = "AttributeDefinitions" + case provisionedThroughput = "ProvisionedThroughput" + case tableName = "TableName" + case globalSecondaryIndexUpdates = "GlobalSecondaryIndexUpdates" + case streamSpecification = "StreamSpecification" + } + } + public struct SourceTableDetails: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "KeySchema", required: true, type: .list), @@ -56,39 +92,87 @@ extension Dynamodb { } } - public struct UpdateTableInput: AWSShape { + public struct SSEDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AttributeDefinitions", required: false, type: .list), - AWSShapeMember(label: "ProvisionedThroughput", required: false, type: .structure), - AWSShapeMember(label: "TableName", required: true, type: .string), - AWSShapeMember(label: "GlobalSecondaryIndexUpdates", required: false, type: .list), - AWSShapeMember(label: "StreamSpecification", required: false, type: .structure) + AWSShapeMember(label: "KMSMasterKeyArn", required: false, type: .string), + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "SSEType", required: false, type: .enum) ] - /// 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. - public let attributeDefinitions: [AttributeDefinition]? - /// The new provisioned throughput settings for the specified table or index. - public let provisionedThroughput: ProvisionedThroughput? - /// The name of the table to be updated. - public let tableName: String - /// 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. - public let globalSecondaryIndexUpdates: [GlobalSecondaryIndexUpdate]? - /// 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. - public let streamSpecification: StreamSpecification? + /// The KMS master key ARN used for the KMS encryption. + public let kMSMasterKeyArn: String? + /// 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. + public let status: SSEStatus? + /// Server-side encryption type: AES256 - Server-side encryption which uses the AES256 algorithm. KMS - Server-side encryption which uses AWS Key Management Service. + public let sSEType: SSEType? - public init(attributeDefinitions: [AttributeDefinition]? = nil, provisionedThroughput: ProvisionedThroughput? = nil, tableName: String, globalSecondaryIndexUpdates: [GlobalSecondaryIndexUpdate]? = nil, streamSpecification: StreamSpecification? = nil) { - self.attributeDefinitions = attributeDefinitions - self.provisionedThroughput = provisionedThroughput - self.tableName = tableName - self.globalSecondaryIndexUpdates = globalSecondaryIndexUpdates - self.streamSpecification = streamSpecification + public init(kMSMasterKeyArn: String? = nil, status: SSEStatus? = nil, sSEType: SSEType? = nil) { + self.kMSMasterKeyArn = kMSMasterKeyArn + self.status = status + self.sSEType = sSEType } private enum CodingKeys: String, CodingKey { - case attributeDefinitions = "AttributeDefinitions" - case provisionedThroughput = "ProvisionedThroughput" - case tableName = "TableName" - case globalSecondaryIndexUpdates = "GlobalSecondaryIndexUpdates" - case streamSpecification = "StreamSpecification" + case kMSMasterKeyArn = "KMSMasterKeyArn" + case status = "Status" + case sSEType = "SSEType" + } + } + + public struct UpdateGlobalTableSettingsOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReplicaSettings", required: false, type: .list), + AWSShapeMember(label: "GlobalTableName", required: false, type: .string) + ] + /// The region specific settings for the global table. + public let replicaSettings: [ReplicaSettingsDescription]? + /// The name of the global table. + public let globalTableName: String? + + public init(replicaSettings: [ReplicaSettingsDescription]? = nil, globalTableName: String? = nil) { + self.replicaSettings = replicaSettings + self.globalTableName = globalTableName + } + + private enum CodingKeys: String, CodingKey { + case replicaSettings = "ReplicaSettings" + case globalTableName = "GlobalTableName" + } + } + + public struct DescribeBackupInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BackupArn", required: true, type: .string) + ] + /// The ARN associated with the backup. + public let backupArn: String + + public init(backupArn: String) { + self.backupArn = backupArn + } + + private enum CodingKeys: String, CodingKey { + case backupArn = "BackupArn" + } + } + + public struct Projection: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NonKeyAttributes", required: false, type: .list), + AWSShapeMember(label: "ProjectionType", required: false, type: .enum) + ] + /// 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. + public let nonKeyAttributes: [String]? + /// 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. + public let projectionType: ProjectionType? + + public init(nonKeyAttributes: [String]? = nil, projectionType: ProjectionType? = nil) { + self.nonKeyAttributes = nonKeyAttributes + self.projectionType = projectionType + } + + private enum CodingKeys: String, CodingKey { + case nonKeyAttributes = "NonKeyAttributes" + case projectionType = "ProjectionType" } } @@ -139,61 +223,44 @@ extension Dynamodb { } } - public struct DescribeBackupInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BackupArn", required: true, type: .string) - ] - /// The ARN associated with the backup. - public let backupArn: String - - public init(backupArn: String) { - self.backupArn = backupArn - } - - private enum CodingKeys: String, CodingKey { - case backupArn = "BackupArn" - } - } - - public struct Projection: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NonKeyAttributes", required: false, type: .list), - AWSShapeMember(label: "ProjectionType", required: false, type: .enum) - ] - /// 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. - public let nonKeyAttributes: [String]? - /// 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. - public let projectionType: ProjectionType? - - public init(nonKeyAttributes: [String]? = nil, projectionType: ProjectionType? = nil) { - self.nonKeyAttributes = nonKeyAttributes - self.projectionType = projectionType - } - - private enum CodingKeys: String, CodingKey { - case nonKeyAttributes = "NonKeyAttributes" - case projectionType = "ProjectionType" - } - } - - public struct ProvisionedThroughput: AWSShape { + public struct ReplicaGlobalSecondaryIndexSettingsDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WriteCapacityUnits", required: true, type: .long), - AWSShapeMember(label: "ReadCapacityUnits", required: true, type: .long) + AWSShapeMember(label: "IndexName", required: true, type: .string), + AWSShapeMember(label: "ProvisionedReadCapacityUnits", required: false, type: .long), + AWSShapeMember(label: "ProvisionedWriteCapacityAutoScalingSettings", required: false, type: .structure), + AWSShapeMember(label: "IndexStatus", required: false, type: .enum), + AWSShapeMember(label: "ProvisionedReadCapacityAutoScalingSettings", required: false, type: .structure), + AWSShapeMember(label: "ProvisionedWriteCapacityUnits", required: false, type: .long) ] - /// 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. - public let writeCapacityUnits: Int64 - /// 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. - public let readCapacityUnits: Int64 + /// The name of the global secondary index. The name must be unique among all other indexes on this table. + public let indexName: String + /// The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. + public let provisionedReadCapacityUnits: Int64? + /// AutoScaling settings for a global secondary index replica's write capacity units. + public let provisionedWriteCapacityAutoScalingSettings: AutoScalingSettingsDescription? + /// 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. + public let indexStatus: IndexStatus? + /// Autoscaling settings for a global secondary index replica's read capacity units. + public let provisionedReadCapacityAutoScalingSettings: AutoScalingSettingsDescription? + /// The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. + public let provisionedWriteCapacityUnits: Int64? - public init(writeCapacityUnits: Int64, readCapacityUnits: Int64) { - self.writeCapacityUnits = writeCapacityUnits - self.readCapacityUnits = readCapacityUnits + public init(indexName: String, provisionedReadCapacityUnits: Int64? = nil, provisionedWriteCapacityAutoScalingSettings: AutoScalingSettingsDescription? = nil, indexStatus: IndexStatus? = nil, provisionedReadCapacityAutoScalingSettings: AutoScalingSettingsDescription? = nil, provisionedWriteCapacityUnits: Int64? = nil) { + self.indexName = indexName + self.provisionedReadCapacityUnits = provisionedReadCapacityUnits + self.provisionedWriteCapacityAutoScalingSettings = provisionedWriteCapacityAutoScalingSettings + self.indexStatus = indexStatus + self.provisionedReadCapacityAutoScalingSettings = provisionedReadCapacityAutoScalingSettings + self.provisionedWriteCapacityUnits = provisionedWriteCapacityUnits } private enum CodingKeys: String, CodingKey { - case writeCapacityUnits = "WriteCapacityUnits" - case readCapacityUnits = "ReadCapacityUnits" + case indexName = "IndexName" + case provisionedReadCapacityUnits = "ProvisionedReadCapacityUnits" + case provisionedWriteCapacityAutoScalingSettings = "ProvisionedWriteCapacityAutoScalingSettings" + case indexStatus = "IndexStatus" + case provisionedReadCapacityAutoScalingSettings = "ProvisionedReadCapacityAutoScalingSettings" + case provisionedWriteCapacityUnits = "ProvisionedWriteCapacityUnits" } } @@ -204,19 +271,39 @@ extension Dynamodb { public var description: String { return self.rawValue } } - public struct CreateGlobalTableOutput: AWSShape { + public struct ListBackupsInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "GlobalTableDescription", required: false, type: .structure) + AWSShapeMember(label: "TimeRangeLowerBound", required: false, type: .timestamp), + AWSShapeMember(label: "TimeRangeUpperBound", required: false, type: .timestamp), + AWSShapeMember(label: "TableName", required: false, type: .string), + AWSShapeMember(label: "Limit", required: false, type: .integer), + AWSShapeMember(label: "ExclusiveStartBackupArn", required: false, type: .string) ] - /// Contains the details of the global table. - public let globalTableDescription: GlobalTableDescription? + /// Only backups created after this time are listed. TimeRangeLowerBound is inclusive. + public let timeRangeLowerBound: TimeStamp? + /// Only backups created before this time are listed. TimeRangeUpperBound is exclusive. + public let timeRangeUpperBound: TimeStamp? + /// The backups from the table specified by TableName are listed. + public let tableName: String? + /// Maximum number of backups to return at once. + public let limit: Int32? + /// 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. + public let exclusiveStartBackupArn: String? - public init(globalTableDescription: GlobalTableDescription? = nil) { - self.globalTableDescription = globalTableDescription + public init(timeRangeLowerBound: TimeStamp? = nil, timeRangeUpperBound: TimeStamp? = nil, tableName: String? = nil, limit: Int32? = nil, exclusiveStartBackupArn: String? = nil) { + self.timeRangeLowerBound = timeRangeLowerBound + self.timeRangeUpperBound = timeRangeUpperBound + self.tableName = tableName + self.limit = limit + self.exclusiveStartBackupArn = exclusiveStartBackupArn } private enum CodingKeys: String, CodingKey { - case globalTableDescription = "GlobalTableDescription" + case timeRangeLowerBound = "TimeRangeLowerBound" + case timeRangeUpperBound = "TimeRangeUpperBound" + case tableName = "TableName" + case limit = "Limit" + case exclusiveStartBackupArn = "ExclusiveStartBackupArn" } } @@ -246,39 +333,61 @@ extension Dynamodb { } } - public struct ListBackupsInput: AWSShape { + public struct CreateGlobalTableOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TimeRangeLowerBound", required: false, type: .timestamp), - AWSShapeMember(label: "TimeRangeUpperBound", required: false, type: .timestamp), - AWSShapeMember(label: "TableName", required: false, type: .string), - AWSShapeMember(label: "Limit", required: false, type: .integer), - AWSShapeMember(label: "ExclusiveStartBackupArn", required: false, type: .string) + AWSShapeMember(label: "GlobalTableDescription", required: false, type: .structure) ] - /// Only backups created after this time are listed. TimeRangeLowerBound is inclusive. - public let timeRangeLowerBound: TimeStamp? - /// Only backups created before this time are listed. TimeRangeUpperBound is exclusive. - public let timeRangeUpperBound: TimeStamp? - /// The backups from the table specified by TableName are listed. - public let tableName: String? - /// Maximum number of backups to return at once. - public let limit: Int32? - /// LastEvaluatedBackupARN returned by the previous ListBackups call. - public let exclusiveStartBackupArn: String? + /// Contains the details of the global table. + public let globalTableDescription: GlobalTableDescription? - public init(timeRangeLowerBound: TimeStamp? = nil, timeRangeUpperBound: TimeStamp? = nil, tableName: String? = nil, limit: Int32? = nil, exclusiveStartBackupArn: String? = nil) { - self.timeRangeLowerBound = timeRangeLowerBound - self.timeRangeUpperBound = timeRangeUpperBound + public init(globalTableDescription: GlobalTableDescription? = nil) { + self.globalTableDescription = globalTableDescription + } + + private enum CodingKeys: String, CodingKey { + case globalTableDescription = "GlobalTableDescription" + } + } + + public struct UpdateContinuousBackupsInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PointInTimeRecoverySpecification", required: true, type: .structure), + AWSShapeMember(label: "TableName", required: true, type: .string) + ] + /// Represents the settings used to enable point in time recovery. + public let pointInTimeRecoverySpecification: PointInTimeRecoverySpecification + /// The name of the table. + public let tableName: String + + public init(pointInTimeRecoverySpecification: PointInTimeRecoverySpecification, tableName: String) { + self.pointInTimeRecoverySpecification = pointInTimeRecoverySpecification self.tableName = tableName - self.limit = limit - self.exclusiveStartBackupArn = exclusiveStartBackupArn } private enum CodingKeys: String, CodingKey { - case timeRangeLowerBound = "TimeRangeLowerBound" - case timeRangeUpperBound = "TimeRangeUpperBound" - case tableName = "TableName" - case limit = "Limit" - case exclusiveStartBackupArn = "ExclusiveStartBackupArn" + case pointInTimeRecoverySpecification = "PointInTimeRecoverySpecification" + case tableName = "TableName" + } + } + + public struct ProvisionedThroughput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WriteCapacityUnits", required: true, type: .long), + AWSShapeMember(label: "ReadCapacityUnits", required: true, type: .long) + ] + /// 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. + public let writeCapacityUnits: Int64 + /// 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. + public let readCapacityUnits: Int64 + + public init(writeCapacityUnits: Int64, readCapacityUnits: Int64) { + self.writeCapacityUnits = writeCapacityUnits + self.readCapacityUnits = readCapacityUnits + } + + private enum CodingKeys: String, CodingKey { + case writeCapacityUnits = "WriteCapacityUnits" + case readCapacityUnits = "ReadCapacityUnits" } } @@ -371,7 +480,7 @@ extension Dynamodb { public let queryFilter: [String: Condition]? /// This is a legacy parameter. Use KeyConditionExpression instead. For more information, see KeyConditions in the Amazon DynamoDB Developer Guide. public let keyConditions: [String: Condition]? - /// The condition that specifies the key value(s) for items to be retrieved by the Query action. The condition must perform an equality test on a single partition key value. The condition can also perform one of several comparison tests on a single sort key value. Query can use KeyConditionExpression to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values. The partition key equality test is required, and must be specified in the following format: partitionKeyName = :partitionkeyval If you also want to provide a condition for the sort key, it must be combined using AND with the condition for the sort key. Following is an example, using the = comparison operator for the sort key: partitionKeyName = :partitionkeyval AND sortKeyName = :sortkeyval Valid comparisons for the sort key condition are as follows: sortKeyName = :sortkeyval - true if the sort key value is equal to :sortkeyval. sortKeyName < :sortkeyval - true if the sort key value is less than :sortkeyval. sortKeyName <= :sortkeyval - true if the sort key value is less than or equal to :sortkeyval. sortKeyName > :sortkeyval - true if the sort key value is greater than :sortkeyval. sortKeyName >= :sortkeyval - true if the sort key value is greater than or equal to :sortkeyval. sortKeyName BETWEEN :sortkeyval1 AND :sortkeyval2 - true if the sort key value is greater than or equal to :sortkeyval1, and less than or equal to :sortkeyval2. begins_with ( sortKeyName, :sortkeyval ) - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name begins_with is case-sensitive. Use the ExpressionAttributeValues parameter to replace tokens such as :partitionval and :sortval with actual values at runtime. You can optionally use the ExpressionAttributeNames parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following KeyConditionExpression parameter causes an error because Size is a reserved word: Size = :myval To work around this, define a placeholder (such a #S) to represent the attribute name Size. KeyConditionExpression then is as follows: #S = :myval For a list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide. For more information on ExpressionAttributeNames and ExpressionAttributeValues, see Using Placeholders for Attribute Names and Values in the Amazon DynamoDB Developer Guide. + /// 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. public let keyConditionExpression: String? /// 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. public let indexName: String? @@ -388,7 +497,7 @@ extension Dynamodb { /// The name of the table containing the requested items. public let tableName: String public let returnConsumedCapacity: ReturnConsumedCapacity? - /// Specifies the order for index traversal: If true (default), the traversal is performed in ascending order; if false, the traversal is performed in descending order. Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of ASCII character code values. For type Binary, DynamoDB treats each byte of the binary data as unsigned. If ScanIndexForward is true, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If ScanIndexForward is false, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client. + /// 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. public let scanIndexForward: Bool? /// 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. public let filterExpression: String? @@ -481,6 +590,27 @@ extension Dynamodb { } } + public struct Tag: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: true, type: .string), + AWSShapeMember(label: "Key", required: true, type: .string) + ] + /// The value of the tag. Tag values are case-sensitive and can be null. + public let value: String + /// 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. + public let key: String + + public init(value: String, key: String) { + self.value = value + self.key = key + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case key = "Key" + } + } + public struct ListGlobalTablesOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GlobalTables", required: false, type: .list), @@ -509,7 +639,7 @@ extension Dynamodb { ] /// 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. public let action: AttributeAction? - /// 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. + /// 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. public let value: AttributeValue? public init(action: AttributeAction? = nil, value: AttributeValue? = nil) { @@ -523,34 +653,49 @@ extension Dynamodb { } } - public struct Tag: AWSShape { + public enum ProjectionType: String, CustomStringConvertible, Codable { + case all = "ALL" + case keysOnly = "KEYS_ONLY" + case include = "INCLUDE" + public var description: String { return self.rawValue } + } + + public struct AutoScalingSettingsDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Value", required: true, type: .string), - AWSShapeMember(label: "Key", required: true, type: .string) + AWSShapeMember(label: "AutoScalingDisabled", required: false, type: .boolean), + AWSShapeMember(label: "ScalingPolicies", required: false, type: .list), + AWSShapeMember(label: "MinimumUnits", required: false, type: .long), + AWSShapeMember(label: "AutoScalingRoleArn", required: false, type: .string), + AWSShapeMember(label: "MaximumUnits", required: false, type: .long) ] - /// The value of the tag. Tag values are case-sensitive and can be null. - public let value: String - /// 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. - public let key: String + /// Disabled autoscaling for this global table or global secondary index. + public let autoScalingDisabled: Bool? + /// Information about the scaling policies. + public let scalingPolicies: [AutoScalingPolicyDescription]? + /// The minimum capacity units that a global table or global secondary index should be scaled down to. + public let minimumUnits: Int64? + /// Role ARN used for configuring autoScaling policy. + public let autoScalingRoleArn: String? + /// The maximum capacity units that a global table or global secondary index should be scaled up to. + public let maximumUnits: Int64? - public init(value: String, key: String) { - self.value = value - self.key = key + public init(autoScalingDisabled: Bool? = nil, scalingPolicies: [AutoScalingPolicyDescription]? = nil, minimumUnits: Int64? = nil, autoScalingRoleArn: String? = nil, maximumUnits: Int64? = nil) { + self.autoScalingDisabled = autoScalingDisabled + self.scalingPolicies = scalingPolicies + self.minimumUnits = minimumUnits + self.autoScalingRoleArn = autoScalingRoleArn + self.maximumUnits = maximumUnits } private enum CodingKeys: String, CodingKey { - case value = "Value" - case key = "Key" + case autoScalingDisabled = "AutoScalingDisabled" + case scalingPolicies = "ScalingPolicies" + case minimumUnits = "MinimumUnits" + case autoScalingRoleArn = "AutoScalingRoleArn" + case maximumUnits = "MaximumUnits" } } - public enum ProjectionType: String, CustomStringConvertible, Codable { - case all = "ALL" - case keysOnly = "KEYS_ONLY" - case include = "INCLUDE" - public var description: String { return self.rawValue } - } - public struct CreateTableOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TableDescription", required: false, type: .structure) @@ -588,6 +733,14 @@ extension Dynamodb { } } + public enum SSEStatus: String, CustomStringConvertible, Codable { + case enabling = "ENABLING" + case enabled = "ENABLED" + case disabling = "DISABLING" + case disabled = "DISABLED" + public var description: String { return self.rawValue } + } + public struct ScanOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LastEvaluatedKey", required: false, type: .map), @@ -645,6 +798,28 @@ extension Dynamodb { } } + public struct DescribeGlobalTableSettingsInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GlobalTableName", required: true, type: .string) + ] + /// The name of the global table to describe. + public let globalTableName: String + + public init(globalTableName: String) { + self.globalTableName = globalTableName + } + + private enum CodingKeys: String, CodingKey { + case globalTableName = "GlobalTableName" + } + } + + public enum ReturnItemCollectionMetrics: String, CustomStringConvertible, Codable { + case size = "SIZE" + case none = "NONE" + public var description: String { return self.rawValue } + } + public struct GlobalSecondaryIndex: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Projection", required: true, type: .structure), @@ -676,12 +851,6 @@ extension Dynamodb { } } - public enum ReturnItemCollectionMetrics: String, CustomStringConvertible, Codable { - case size = "SIZE" - case none = "NONE" - public var description: String { return self.rawValue } - } - public struct PutRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Item", required: true, type: .map) @@ -714,27 +883,6 @@ extension Dynamodb { } } - public struct ListTablesInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ExclusiveStartTableName", required: false, type: .string), - AWSShapeMember(label: "Limit", required: false, type: .integer) - ] - /// 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. - public let exclusiveStartTableName: String? - /// A maximum number of table names to return. If this parameter is not specified, the limit is 100. - public let limit: Int32? - - public init(exclusiveStartTableName: String? = nil, limit: Int32? = nil) { - self.exclusiveStartTableName = exclusiveStartTableName - self.limit = limit - } - - private enum CodingKeys: String, CodingKey { - case exclusiveStartTableName = "ExclusiveStartTableName" - case limit = "Limit" - } - } - public struct TimeToLiveDescription: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TimeToLiveStatus", required: false, type: .enum), @@ -756,6 +904,27 @@ extension Dynamodb { } } + public struct ListTablesInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExclusiveStartTableName", required: false, type: .string), + AWSShapeMember(label: "Limit", required: false, type: .integer) + ] + /// 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. + public let exclusiveStartTableName: String? + /// A maximum number of table names to return. If this parameter is not specified, the limit is 100. + public let limit: Int32? + + public init(exclusiveStartTableName: String? = nil, limit: Int32? = nil) { + self.exclusiveStartTableName = exclusiveStartTableName + self.limit = limit + } + + private enum CodingKeys: String, CodingKey { + case exclusiveStartTableName = "ExclusiveStartTableName" + case limit = "Limit" + } + } + public struct TableDescription: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LatestStreamArn", required: false, type: .string), @@ -765,6 +934,7 @@ extension Dynamodb { AWSShapeMember(label: "RestoreSummary", required: false, type: .structure), AWSShapeMember(label: "ItemCount", required: false, type: .long), AWSShapeMember(label: "TableId", required: false, type: .string), + AWSShapeMember(label: "SSEDescription", required: false, type: .structure), AWSShapeMember(label: "StreamSpecification", required: false, type: .structure), AWSShapeMember(label: "AttributeDefinitions", required: false, type: .list), AWSShapeMember(label: "CreationDateTime", required: false, type: .timestamp), @@ -789,6 +959,8 @@ extension Dynamodb { public let itemCount: Int64? /// Unique identifier for the table for which the backup was created. public let tableId: String? + /// The description of the server-side encryption status on the specified table. + public let sSEDescription: SSEDescription? /// The current DynamoDB Streams configuration for the table. public let streamSpecification: StreamSpecification? /// 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. @@ -808,7 +980,7 @@ extension Dynamodb { /// 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. public let latestStreamLabel: String? - public init(latestStreamArn: String? = nil, provisionedThroughput: ProvisionedThroughputDescription? = nil, keySchema: [KeySchemaElement]? = nil, tableArn: String? = nil, restoreSummary: RestoreSummary? = nil, itemCount: Int64? = nil, tableId: String? = nil, streamSpecification: StreamSpecification? = nil, attributeDefinitions: [AttributeDefinition]? = nil, creationDateTime: TimeStamp? = nil, localSecondaryIndexes: [LocalSecondaryIndexDescription]? = nil, globalSecondaryIndexes: [GlobalSecondaryIndexDescription]? = nil, tableSizeBytes: Int64? = nil, tableName: String? = nil, tableStatus: TableStatus? = nil, latestStreamLabel: String? = nil) { + public init(latestStreamArn: String? = nil, provisionedThroughput: ProvisionedThroughputDescription? = nil, keySchema: [KeySchemaElement]? = nil, tableArn: String? = nil, restoreSummary: RestoreSummary? = nil, itemCount: Int64? = nil, tableId: String? = nil, sSEDescription: SSEDescription? = nil, streamSpecification: StreamSpecification? = nil, attributeDefinitions: [AttributeDefinition]? = nil, creationDateTime: TimeStamp? = nil, localSecondaryIndexes: [LocalSecondaryIndexDescription]? = nil, globalSecondaryIndexes: [GlobalSecondaryIndexDescription]? = nil, tableSizeBytes: Int64? = nil, tableName: String? = nil, tableStatus: TableStatus? = nil, latestStreamLabel: String? = nil) { self.latestStreamArn = latestStreamArn self.provisionedThroughput = provisionedThroughput self.keySchema = keySchema @@ -816,6 +988,7 @@ extension Dynamodb { self.restoreSummary = restoreSummary self.itemCount = itemCount self.tableId = tableId + self.sSEDescription = sSEDescription self.streamSpecification = streamSpecification self.attributeDefinitions = attributeDefinitions self.creationDateTime = creationDateTime @@ -835,6 +1008,7 @@ extension Dynamodb { case restoreSummary = "RestoreSummary" case itemCount = "ItemCount" case tableId = "TableId" + case sSEDescription = "SSEDescription" case streamSpecification = "StreamSpecification" case attributeDefinitions = "AttributeDefinitions" case creationDateTime = "CreationDateTime" @@ -873,6 +1047,32 @@ extension Dynamodb { } } + public struct ReplicaGlobalSecondaryIndexSettingsUpdate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "IndexName", required: true, type: .string), + AWSShapeMember(label: "ProvisionedReadCapacityUnits", required: false, type: .long), + AWSShapeMember(label: "ProvisionedReadCapacityAutoScalingSettingsUpdate", required: false, type: .structure) + ] + /// The name of the global secondary index. The name must be unique among all other indexes on this table. + public let indexName: String + /// The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. + public let provisionedReadCapacityUnits: Int64? + /// Autoscaling settings for managing a global secondary index replica's read capacity units. + public let provisionedReadCapacityAutoScalingSettingsUpdate: AutoScalingSettingsUpdate? + + public init(indexName: String, provisionedReadCapacityUnits: Int64? = nil, provisionedReadCapacityAutoScalingSettingsUpdate: AutoScalingSettingsUpdate? = nil) { + self.indexName = indexName + self.provisionedReadCapacityUnits = provisionedReadCapacityUnits + self.provisionedReadCapacityAutoScalingSettingsUpdate = provisionedReadCapacityAutoScalingSettingsUpdate + } + + private enum CodingKeys: String, CodingKey { + case indexName = "IndexName" + case provisionedReadCapacityUnits = "ProvisionedReadCapacityUnits" + case provisionedReadCapacityAutoScalingSettingsUpdate = "ProvisionedReadCapacityAutoScalingSettingsUpdate" + } + } + public struct StreamSpecification: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StreamViewType", required: false, type: .enum), @@ -1050,7 +1250,7 @@ extension Dynamodb { ] /// List of BackupSummary objects. public let backupSummaries: [BackupSummary]? - /// Last evaluated BackupARN. + /// 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. public let lastEvaluatedBackupArn: String? public init(backupSummaries: [BackupSummary]? = nil, lastEvaluatedBackupArn: String? = nil) { @@ -1212,6 +1412,22 @@ extension Dynamodb { } } + public struct RestoreTableFromBackupOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TableDescription", required: false, type: .structure) + ] + /// The description of the table created from an existing backup. + public let tableDescription: TableDescription? + + public init(tableDescription: TableDescription? = nil) { + self.tableDescription = tableDescription + } + + private enum CodingKeys: String, CodingKey { + case tableDescription = "TableDescription" + } + } + public struct ProvisionedThroughputDescription: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "WriteCapacityUnits", required: false, type: .long), @@ -1248,20 +1464,10 @@ extension Dynamodb { } } - public struct RestoreTableFromBackupOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TableDescription", required: false, type: .structure) - ] - /// The description of the table created from an existing backup. - public let tableDescription: TableDescription? - - public init(tableDescription: TableDescription? = nil) { - self.tableDescription = tableDescription - } - - private enum CodingKeys: String, CodingKey { - case tableDescription = "TableDescription" - } + public enum PointInTimeRecoveryStatus: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" + public var description: String { return self.rawValue } } public struct PutItemInput: AWSShape { @@ -1324,27 +1530,6 @@ extension Dynamodb { } } - public struct Condition: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ComparisonOperator", required: true, type: .enum), - AWSShapeMember(label: "AttributeValueList", required: false, type: .list) - ] - /// 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. - public let comparisonOperator: ComparisonOperator - /// 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. - public let attributeValueList: [AttributeValue]? - - public init(comparisonOperator: ComparisonOperator, attributeValueList: [AttributeValue]? = nil) { - self.comparisonOperator = comparisonOperator - self.attributeValueList = attributeValueList - } - - private enum CodingKeys: String, CodingKey { - case comparisonOperator = "ComparisonOperator" - case attributeValueList = "AttributeValueList" - } - } - public struct DescribeLimitsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TableMaxWriteCapacityUnits", required: false, type: .long), @@ -1376,6 +1561,27 @@ extension Dynamodb { } } + public struct Condition: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ComparisonOperator", required: true, type: .enum), + AWSShapeMember(label: "AttributeValueList", required: false, type: .list) + ] + /// 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. + public let comparisonOperator: ComparisonOperator + /// 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. + public let attributeValueList: [AttributeValue]? + + public init(comparisonOperator: ComparisonOperator, attributeValueList: [AttributeValue]? = nil) { + self.comparisonOperator = comparisonOperator + self.attributeValueList = attributeValueList + } + + private enum CodingKeys: String, CodingKey { + case comparisonOperator = "ComparisonOperator" + case attributeValueList = "AttributeValueList" + } + } + public struct DeleteItemOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ConsumedCapacity", required: false, type: .structure), @@ -1402,6 +1608,13 @@ extension Dynamodb { } } + public enum ReturnConsumedCapacity: String, CustomStringConvertible, Codable { + case indexes = "INDEXES" + case total = "TOTAL" + case none = "NONE" + public var description: String { return self.rawValue } + } + public struct BatchGetItemOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UnprocessedKeys", required: false, type: .map), @@ -1428,10 +1641,11 @@ extension Dynamodb { } } - public enum ReturnConsumedCapacity: String, CustomStringConvertible, Codable { - case indexes = "INDEXES" - case total = "TOTAL" - case none = "NONE" + public enum ReplicaStatus: String, CustomStringConvertible, Codable { + case creating = "CREATING" + case updating = "UPDATING" + case deleting = "DELETING" + case active = "ACTIVE" public var description: String { return self.rawValue } } @@ -1456,6 +1670,37 @@ extension Dynamodb { } } + public struct AutoScalingTargetTrackingScalingPolicyConfigurationDescription: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TargetValue", required: true, type: .double), + AWSShapeMember(label: "ScaleInCooldown", required: false, type: .integer), + AWSShapeMember(label: "ScaleOutCooldown", required: false, type: .integer), + AWSShapeMember(label: "DisableScaleIn", required: false, type: .boolean) + ] + /// 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). + public let targetValue: Double + /// 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. + public let scaleInCooldown: Int32? + /// 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. + public let scaleOutCooldown: Int32? + /// 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. + public let disableScaleIn: Bool? + + public init(targetValue: Double, scaleInCooldown: Int32? = nil, scaleOutCooldown: Int32? = nil, disableScaleIn: Bool? = nil) { + self.targetValue = targetValue + self.scaleInCooldown = scaleInCooldown + self.scaleOutCooldown = scaleOutCooldown + self.disableScaleIn = disableScaleIn + } + + private enum CodingKeys: String, CodingKey { + case targetValue = "TargetValue" + case scaleInCooldown = "ScaleInCooldown" + case scaleOutCooldown = "ScaleOutCooldown" + case disableScaleIn = "DisableScaleIn" + } + } + public struct ItemCollectionMetrics: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ItemCollectionKey", required: false, type: .map), @@ -1723,6 +1968,37 @@ extension Dynamodb { } } + public struct ReplicaSettingsUpdate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate", required: false, type: .structure), + AWSShapeMember(label: "ReplicaProvisionedReadCapacityUnits", required: false, type: .long), + AWSShapeMember(label: "ReplicaGlobalSecondaryIndexSettingsUpdate", required: false, type: .list), + AWSShapeMember(label: "RegionName", required: true, type: .string) + ] + /// Autoscaling settings for managing a global table replica's read capacity units. + public let replicaProvisionedReadCapacityAutoScalingSettingsUpdate: AutoScalingSettingsUpdate? + /// 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. + public let replicaProvisionedReadCapacityUnits: Int64? + /// Represents the settings of a global secondary index for a global table that will be modified. + public let replicaGlobalSecondaryIndexSettingsUpdate: [ReplicaGlobalSecondaryIndexSettingsUpdate]? + /// The region of the replica to be added. + public let regionName: String + + public init(replicaProvisionedReadCapacityAutoScalingSettingsUpdate: AutoScalingSettingsUpdate? = nil, replicaProvisionedReadCapacityUnits: Int64? = nil, replicaGlobalSecondaryIndexSettingsUpdate: [ReplicaGlobalSecondaryIndexSettingsUpdate]? = nil, regionName: String) { + self.replicaProvisionedReadCapacityAutoScalingSettingsUpdate = replicaProvisionedReadCapacityAutoScalingSettingsUpdate + self.replicaProvisionedReadCapacityUnits = replicaProvisionedReadCapacityUnits + self.replicaGlobalSecondaryIndexSettingsUpdate = replicaGlobalSecondaryIndexSettingsUpdate + self.regionName = regionName + } + + private enum CodingKeys: String, CodingKey { + case replicaProvisionedReadCapacityAutoScalingSettingsUpdate = "ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate" + case replicaProvisionedReadCapacityUnits = "ReplicaProvisionedReadCapacityUnits" + case replicaGlobalSecondaryIndexSettingsUpdate = "ReplicaGlobalSecondaryIndexSettingsUpdate" + case regionName = "RegionName" + } + } + public struct UpdateGlobalTableInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GlobalTableName", required: true, type: .string), @@ -1777,6 +2053,32 @@ extension Dynamodb { public var description: String { return self.rawValue } } + public struct GlobalTableGlobalSecondaryIndexSettingsUpdate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "IndexName", required: true, type: .string), + AWSShapeMember(label: "ProvisionedWriteCapacityAutoScalingSettingsUpdate", required: false, type: .structure), + AWSShapeMember(label: "ProvisionedWriteCapacityUnits", required: false, type: .long) + ] + /// The name of the global secondary index. The name must be unique among all other indexes on this table. + public let indexName: String + /// AutoScaling settings for managing a global secondary index's write capacity units. + public let provisionedWriteCapacityAutoScalingSettingsUpdate: AutoScalingSettingsUpdate? + /// The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. + public let provisionedWriteCapacityUnits: Int64? + + public init(indexName: String, provisionedWriteCapacityAutoScalingSettingsUpdate: AutoScalingSettingsUpdate? = nil, provisionedWriteCapacityUnits: Int64? = nil) { + self.indexName = indexName + self.provisionedWriteCapacityAutoScalingSettingsUpdate = provisionedWriteCapacityAutoScalingSettingsUpdate + self.provisionedWriteCapacityUnits = provisionedWriteCapacityUnits + } + + private enum CodingKeys: String, CodingKey { + case indexName = "IndexName" + case provisionedWriteCapacityAutoScalingSettingsUpdate = "ProvisionedWriteCapacityAutoScalingSettingsUpdate" + case provisionedWriteCapacityUnits = "ProvisionedWriteCapacityUnits" + } + } + public struct GlobalSecondaryIndexUpdate: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Create", required: false, type: .structure), @@ -1918,6 +2220,22 @@ extension Dynamodb { public var description: String { return self.rawValue } } + public struct SSESpecification: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Enabled", required: true, type: .boolean) + ] + /// Indicates whether server-side encryption is enabled (true) or disabled (false) on the table. + public let enabled: Bool + + public init(enabled: Bool) { + self.enabled = enabled + } + + private enum CodingKeys: String, CodingKey { + case enabled = "Enabled" + } + } + public struct DescribeTimeToLiveOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TimeToLiveDescription", required: false, type: .structure) @@ -1933,6 +2251,58 @@ extension Dynamodb { } } + public struct UpdateGlobalTableSettingsInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GlobalTableProvisionedWriteCapacityUnits", required: false, type: .long), + AWSShapeMember(label: "GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate", required: false, type: .structure), + AWSShapeMember(label: "GlobalTableGlobalSecondaryIndexSettingsUpdate", required: false, type: .list), + AWSShapeMember(label: "GlobalTableName", required: true, type: .string), + AWSShapeMember(label: "ReplicaSettingsUpdate", required: false, type: .list) + ] + /// The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. + public let globalTableProvisionedWriteCapacityUnits: Int64? + /// AutoScaling settings for managing provisioned write capacity for the global table. + public let globalTableProvisionedWriteCapacityAutoScalingSettingsUpdate: AutoScalingSettingsUpdate? + /// Represents the settings of a global secondary index for a global table that will be modified. + public let globalTableGlobalSecondaryIndexSettingsUpdate: [GlobalTableGlobalSecondaryIndexSettingsUpdate]? + /// The name of the global table + public let globalTableName: String + /// Represents the settings for a global table in a region that will be modified. + public let replicaSettingsUpdate: [ReplicaSettingsUpdate]? + + public init(globalTableProvisionedWriteCapacityUnits: Int64? = nil, globalTableProvisionedWriteCapacityAutoScalingSettingsUpdate: AutoScalingSettingsUpdate? = nil, globalTableGlobalSecondaryIndexSettingsUpdate: [GlobalTableGlobalSecondaryIndexSettingsUpdate]? = nil, globalTableName: String, replicaSettingsUpdate: [ReplicaSettingsUpdate]? = nil) { + self.globalTableProvisionedWriteCapacityUnits = globalTableProvisionedWriteCapacityUnits + self.globalTableProvisionedWriteCapacityAutoScalingSettingsUpdate = globalTableProvisionedWriteCapacityAutoScalingSettingsUpdate + self.globalTableGlobalSecondaryIndexSettingsUpdate = globalTableGlobalSecondaryIndexSettingsUpdate + self.globalTableName = globalTableName + self.replicaSettingsUpdate = replicaSettingsUpdate + } + + private enum CodingKeys: String, CodingKey { + case globalTableProvisionedWriteCapacityUnits = "GlobalTableProvisionedWriteCapacityUnits" + case globalTableProvisionedWriteCapacityAutoScalingSettingsUpdate = "GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate" + case globalTableGlobalSecondaryIndexSettingsUpdate = "GlobalTableGlobalSecondaryIndexSettingsUpdate" + case globalTableName = "GlobalTableName" + case replicaSettingsUpdate = "ReplicaSettingsUpdate" + } + } + + public struct PointInTimeRecoverySpecification: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PointInTimeRecoveryEnabled", required: true, type: .boolean) + ] + /// Indicates whether point in time recovery is enabled (true) or disabled (false) on the table. + public let pointInTimeRecoveryEnabled: Bool + + public init(pointInTimeRecoveryEnabled: Bool) { + self.pointInTimeRecoveryEnabled = pointInTimeRecoveryEnabled + } + + private enum CodingKeys: String, CodingKey { + case pointInTimeRecoveryEnabled = "PointInTimeRecoveryEnabled" + } + } + public enum Select: String, CustomStringConvertible, Codable { case allAttributes = "ALL_ATTRIBUTES" case allProjectedAttributes = "ALL_PROJECTED_ATTRIBUTES" @@ -1941,6 +2311,22 @@ extension Dynamodb { public var description: String { return self.rawValue } } + public struct UpdateContinuousBackupsOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContinuousBackupsDescription", required: false, type: .structure) + ] + /// Represents the continuous backups and point in time recovery settings on the table. + public let continuousBackupsDescription: ContinuousBackupsDescription? + + public init(continuousBackupsDescription: ContinuousBackupsDescription? = nil) { + self.continuousBackupsDescription = continuousBackupsDescription + } + + private enum CodingKeys: String, CodingKey { + case continuousBackupsDescription = "ContinuousBackupsDescription" + } + } + public struct ExpectedAttributeValue: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AttributeValueList", required: false, type: .list), @@ -1972,6 +2358,63 @@ extension Dynamodb { } } + public struct AutoScalingSettingsUpdate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AutoScalingDisabled", required: false, type: .boolean), + AWSShapeMember(label: "ScalingPolicyUpdate", required: false, type: .structure), + AWSShapeMember(label: "MinimumUnits", required: false, type: .long), + AWSShapeMember(label: "AutoScalingRoleArn", required: false, type: .string), + AWSShapeMember(label: "MaximumUnits", required: false, type: .long) + ] + /// Disabled autoscaling for this global table or global secondary index. + public let autoScalingDisabled: Bool? + /// The scaling policy to apply for scaling target global table or global secondary index capacity units. + public let scalingPolicyUpdate: AutoScalingPolicyUpdate? + /// The minimum capacity units that a global table or global secondary index should be scaled down to. + public let minimumUnits: Int64? + /// Role ARN used for configuring autoscaling policy. + public let autoScalingRoleArn: String? + /// The maximum capacity units that a global table or global secondary index should be scaled up to. + public let maximumUnits: Int64? + + public init(autoScalingDisabled: Bool? = nil, scalingPolicyUpdate: AutoScalingPolicyUpdate? = nil, minimumUnits: Int64? = nil, autoScalingRoleArn: String? = nil, maximumUnits: Int64? = nil) { + self.autoScalingDisabled = autoScalingDisabled + self.scalingPolicyUpdate = scalingPolicyUpdate + self.minimumUnits = minimumUnits + self.autoScalingRoleArn = autoScalingRoleArn + self.maximumUnits = maximumUnits + } + + private enum CodingKeys: String, CodingKey { + case autoScalingDisabled = "AutoScalingDisabled" + case scalingPolicyUpdate = "ScalingPolicyUpdate" + case minimumUnits = "MinimumUnits" + case autoScalingRoleArn = "AutoScalingRoleArn" + case maximumUnits = "MaximumUnits" + } + } + + public struct DescribeGlobalTableSettingsOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReplicaSettings", required: false, type: .list), + AWSShapeMember(label: "GlobalTableName", required: false, type: .string) + ] + /// The region specific settings for the global table. + public let replicaSettings: [ReplicaSettingsDescription]? + /// The name of the global table. + public let globalTableName: String? + + public init(replicaSettings: [ReplicaSettingsDescription]? = nil, globalTableName: String? = nil) { + self.replicaSettings = replicaSettings + self.globalTableName = globalTableName + } + + private enum CodingKeys: String, CodingKey { + case replicaSettings = "ReplicaSettings" + case globalTableName = "GlobalTableName" + } + } + public enum ConditionalOperator: String, CustomStringConvertible, Codable { case and = "AND" case or = "OR" @@ -2070,6 +2513,27 @@ extension Dynamodb { } } + public struct AutoScalingPolicyDescription: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TargetTrackingScalingPolicyConfiguration", required: false, type: .structure), + AWSShapeMember(label: "PolicyName", required: false, type: .string) + ] + /// Represents a target tracking scaling policy configuration. + public let targetTrackingScalingPolicyConfiguration: AutoScalingTargetTrackingScalingPolicyConfigurationDescription? + /// The name of the scaling policy. + public let policyName: String? + + public init(targetTrackingScalingPolicyConfiguration: AutoScalingTargetTrackingScalingPolicyConfigurationDescription? = nil, policyName: String? = nil) { + self.targetTrackingScalingPolicyConfiguration = targetTrackingScalingPolicyConfiguration + self.policyName = policyName + } + + private enum CodingKeys: String, CodingKey { + case targetTrackingScalingPolicyConfiguration = "TargetTrackingScalingPolicyConfiguration" + case policyName = "PolicyName" + } + } + public struct ListGlobalTablesInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Limit", required: false, type: .integer), @@ -2112,11 +2576,37 @@ extension Dynamodb { } } + public struct PointInTimeRecoveryDescription: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PointInTimeRecoveryStatus", required: false, type: .enum), + AWSShapeMember(label: "EarliestRestorableDateTime", required: false, type: .timestamp), + AWSShapeMember(label: "LatestRestorableDateTime", required: false, type: .timestamp) + ] + /// 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. + public let pointInTimeRecoveryStatus: PointInTimeRecoveryStatus? + /// 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. + public let earliestRestorableDateTime: TimeStamp? + /// LatestRestorableDateTime is typically 5 minutes before the current time. + public let latestRestorableDateTime: TimeStamp? + + public init(pointInTimeRecoveryStatus: PointInTimeRecoveryStatus? = nil, earliestRestorableDateTime: TimeStamp? = nil, latestRestorableDateTime: TimeStamp? = nil) { + self.pointInTimeRecoveryStatus = pointInTimeRecoveryStatus + self.earliestRestorableDateTime = earliestRestorableDateTime + self.latestRestorableDateTime = latestRestorableDateTime + } + + private enum CodingKeys: String, CodingKey { + case pointInTimeRecoveryStatus = "PointInTimeRecoveryStatus" + case earliestRestorableDateTime = "EarliestRestorableDateTime" + case latestRestorableDateTime = "LatestRestorableDateTime" + } + } + public struct DescribeContinuousBackupsInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TableName", required: true, type: .string) ] - /// Name of the table for which the customer wants to check the backup and restore settings. + /// Name of the table for which the customer wants to check the continuous backups and point in time recovery settings. public let tableName: String public init(tableName: String) { @@ -2144,6 +2634,68 @@ extension Dynamodb { } } + public struct RestoreTableToPointInTimeInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UseLatestRestorableTime", required: false, type: .boolean), + AWSShapeMember(label: "RestoreDateTime", required: false, type: .timestamp), + AWSShapeMember(label: "TargetTableName", required: true, type: .string), + AWSShapeMember(label: "SourceTableName", required: true, type: .string) + ] + /// Restore the table to the latest possible time. LatestRestorableDateTime is typically 5 minutes before the current time. + public let useLatestRestorableTime: Bool? + /// Time in the past to restore the table to. + public let restoreDateTime: TimeStamp? + /// The name of the new table to which it must be restored to. + public let targetTableName: String + /// Name of the source table that is being restored. + public let sourceTableName: String + + public init(useLatestRestorableTime: Bool? = nil, restoreDateTime: TimeStamp? = nil, targetTableName: String, sourceTableName: String) { + self.useLatestRestorableTime = useLatestRestorableTime + self.restoreDateTime = restoreDateTime + self.targetTableName = targetTableName + self.sourceTableName = sourceTableName + } + + private enum CodingKeys: String, CodingKey { + case useLatestRestorableTime = "UseLatestRestorableTime" + case restoreDateTime = "RestoreDateTime" + case targetTableName = "TargetTableName" + case sourceTableName = "SourceTableName" + } + } + + public struct AutoScalingTargetTrackingScalingPolicyConfigurationUpdate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TargetValue", required: true, type: .double), + AWSShapeMember(label: "ScaleInCooldown", required: false, type: .integer), + AWSShapeMember(label: "ScaleOutCooldown", required: false, type: .integer), + AWSShapeMember(label: "DisableScaleIn", required: false, type: .boolean) + ] + /// 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). + public let targetValue: Double + /// 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. + public let scaleInCooldown: Int32? + /// 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. + public let scaleOutCooldown: Int32? + /// 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. + public let disableScaleIn: Bool? + + public init(targetValue: Double, scaleInCooldown: Int32? = nil, scaleOutCooldown: Int32? = nil, disableScaleIn: Bool? = nil) { + self.targetValue = targetValue + self.scaleInCooldown = scaleInCooldown + self.scaleOutCooldown = scaleOutCooldown + self.disableScaleIn = disableScaleIn + } + + private enum CodingKeys: String, CodingKey { + case targetValue = "TargetValue" + case scaleInCooldown = "ScaleInCooldown" + case scaleOutCooldown = "ScaleOutCooldown" + case disableScaleIn = "DisableScaleIn" + } + } + public struct CreateTableInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AttributeDefinitions", required: true, type: .list), @@ -2151,6 +2703,7 @@ extension Dynamodb { AWSShapeMember(label: "ProvisionedThroughput", required: true, type: .structure), AWSShapeMember(label: "LocalSecondaryIndexes", required: false, type: .list), AWSShapeMember(label: "GlobalSecondaryIndexes", required: false, type: .list), + AWSShapeMember(label: "SSESpecification", required: false, type: .structure), AWSShapeMember(label: "TableName", required: true, type: .string), AWSShapeMember(label: "StreamSpecification", required: false, type: .structure) ] @@ -2164,17 +2717,20 @@ extension Dynamodb { public let localSecondaryIndexes: [LocalSecondaryIndex]? /// 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. public let globalSecondaryIndexes: [GlobalSecondaryIndex]? + /// Represents the settings used to enable server-side encryption. + public let sSESpecification: SSESpecification? /// The name of the table to create. public let tableName: String /// 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. public let streamSpecification: StreamSpecification? - public init(attributeDefinitions: [AttributeDefinition], keySchema: [KeySchemaElement], provisionedThroughput: ProvisionedThroughput, localSecondaryIndexes: [LocalSecondaryIndex]? = nil, globalSecondaryIndexes: [GlobalSecondaryIndex]? = nil, tableName: String, streamSpecification: StreamSpecification? = nil) { + public init(attributeDefinitions: [AttributeDefinition], keySchema: [KeySchemaElement], provisionedThroughput: ProvisionedThroughput, localSecondaryIndexes: [LocalSecondaryIndex]? = nil, globalSecondaryIndexes: [GlobalSecondaryIndex]? = nil, sSESpecification: SSESpecification? = nil, tableName: String, streamSpecification: StreamSpecification? = nil) { self.attributeDefinitions = attributeDefinitions self.keySchema = keySchema self.provisionedThroughput = provisionedThroughput self.localSecondaryIndexes = localSecondaryIndexes self.globalSecondaryIndexes = globalSecondaryIndexes + self.sSESpecification = sSESpecification self.tableName = tableName self.streamSpecification = streamSpecification } @@ -2185,6 +2741,7 @@ extension Dynamodb { case provisionedThroughput = "ProvisionedThroughput" case localSecondaryIndexes = "LocalSecondaryIndexes" case globalSecondaryIndexes = "GlobalSecondaryIndexes" + case sSESpecification = "SSESpecification" case tableName = "TableName" case streamSpecification = "StreamSpecification" } @@ -2221,17 +2778,22 @@ extension Dynamodb { public struct ContinuousBackupsDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ContinuousBackupsStatus", required: true, type: .enum) + AWSShapeMember(label: "ContinuousBackupsStatus", required: true, type: .enum), + AWSShapeMember(label: "PointInTimeRecoveryDescription", required: false, type: .structure) ] - /// ContinuousBackupsStatus can be one of the following states : ENABLED, DISABLED + /// ContinuousBackupsStatus can be one of the following states : ENABLED, DISABLED public let continuousBackupsStatus: ContinuousBackupsStatus + /// The description of the point in time recovery settings applied to the table. + public let pointInTimeRecoveryDescription: PointInTimeRecoveryDescription? - public init(continuousBackupsStatus: ContinuousBackupsStatus) { + public init(continuousBackupsStatus: ContinuousBackupsStatus, pointInTimeRecoveryDescription: PointInTimeRecoveryDescription? = nil) { self.continuousBackupsStatus = continuousBackupsStatus + self.pointInTimeRecoveryDescription = pointInTimeRecoveryDescription } private enum CodingKeys: String, CodingKey { case continuousBackupsStatus = "ContinuousBackupsStatus" + case pointInTimeRecoveryDescription = "PointInTimeRecoveryDescription" } } @@ -2287,6 +2849,27 @@ extension Dynamodb { } } + public struct UntagResourceInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceArn", required: true, type: .string), + AWSShapeMember(label: "TagKeys", required: true, type: .list) + ] + /// The Amazon DyanamoDB resource the tags will be removed from. This value is an Amazon Resource Name (ARN). + public let resourceArn: String + /// 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. + public let tagKeys: [String] + + public init(resourceArn: String, tagKeys: [String]) { + self.resourceArn = resourceArn + self.tagKeys = tagKeys + } + + private enum CodingKeys: String, CodingKey { + case resourceArn = "ResourceArn" + case tagKeys = "TagKeys" + } + } + public struct RestoreSummary: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SourceTableArn", required: false, type: .string), @@ -2318,27 +2901,6 @@ extension Dynamodb { } } - public struct UntagResourceInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ResourceArn", required: true, type: .string), - AWSShapeMember(label: "TagKeys", required: true, type: .list) - ] - /// The Amazon DyanamoDB resource the tags will be removed from. This value is an Amazon Resource Name (ARN). - public let resourceArn: String - /// 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. - public let tagKeys: [String] - - public init(resourceArn: String, tagKeys: [String]) { - self.resourceArn = resourceArn - self.tagKeys = tagKeys - } - - private enum CodingKeys: String, CodingKey { - case resourceArn = "ResourceArn" - case tagKeys = "TagKeys" - } - } - public struct LocalSecondaryIndexDescription: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Projection", required: false, type: .structure), @@ -2384,6 +2946,22 @@ extension Dynamodb { } + public struct RestoreTableToPointInTimeOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TableDescription", required: false, type: .structure) + ] + /// Represents the properties of a table. + public let tableDescription: TableDescription? + + public init(tableDescription: TableDescription? = nil) { + self.tableDescription = tableDescription + } + + private enum CodingKeys: String, CodingKey { + case tableDescription = "TableDescription" + } + } + public enum ScalarAttributeType: String, CustomStringConvertible, Codable { case s = "S" case n = "N" @@ -2407,11 +2985,25 @@ extension Dynamodb { } } + public enum SSEType: String, CustomStringConvertible, Codable { + case aes256 = "AES256" + case kms = "KMS" + public var description: String { return self.rawValue } + } + + public enum TableStatus: String, CustomStringConvertible, Codable { + case creating = "CREATING" + case updating = "UPDATING" + case deleting = "DELETING" + case active = "ACTIVE" + public var description: String { return self.rawValue } + } + public struct DescribeContinuousBackupsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ContinuousBackupsDescription", required: false, type: .structure) ] - /// ContinuousBackupsDescription can be one of the following : ENABLED, DISABLED. + /// Represents the continuous backups and point in time recovery settings on the table. public let continuousBackupsDescription: ContinuousBackupsDescription? public init(continuousBackupsDescription: ContinuousBackupsDescription? = nil) { @@ -2423,12 +3015,50 @@ extension Dynamodb { } } - public enum TableStatus: String, CustomStringConvertible, Codable { - case creating = "CREATING" - case updating = "UPDATING" - case deleting = "DELETING" - case active = "ACTIVE" - public var description: String { return self.rawValue } + public struct ReplicaSettingsDescription: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReplicaProvisionedWriteCapacityUnits", required: false, type: .long), + AWSShapeMember(label: "ReplicaProvisionedWriteCapacityAutoScalingSettings", required: false, type: .structure), + AWSShapeMember(label: "ReplicaProvisionedReadCapacityUnits", required: false, type: .long), + AWSShapeMember(label: "ReplicaGlobalSecondaryIndexSettings", required: false, type: .list), + AWSShapeMember(label: "ReplicaProvisionedReadCapacityAutoScalingSettings", required: false, type: .structure), + AWSShapeMember(label: "ReplicaStatus", required: false, type: .enum), + AWSShapeMember(label: "RegionName", required: true, type: .string) + ] + /// 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. + public let replicaProvisionedWriteCapacityUnits: Int64? + /// AutoScaling settings for a global table replica's write capacity units. + public let replicaProvisionedWriteCapacityAutoScalingSettings: AutoScalingSettingsDescription? + /// 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. + public let replicaProvisionedReadCapacityUnits: Int64? + /// Replica global secondary index settings for the global table. + public let replicaGlobalSecondaryIndexSettings: [ReplicaGlobalSecondaryIndexSettingsDescription]? + /// Autoscaling settings for a global table replica's read capacity units. + public let replicaProvisionedReadCapacityAutoScalingSettings: AutoScalingSettingsDescription? + /// 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. + public let replicaStatus: ReplicaStatus? + /// The region name of the replica. + public let regionName: String + + public init(replicaProvisionedWriteCapacityUnits: Int64? = nil, replicaProvisionedWriteCapacityAutoScalingSettings: AutoScalingSettingsDescription? = nil, replicaProvisionedReadCapacityUnits: Int64? = nil, replicaGlobalSecondaryIndexSettings: [ReplicaGlobalSecondaryIndexSettingsDescription]? = nil, replicaProvisionedReadCapacityAutoScalingSettings: AutoScalingSettingsDescription? = nil, replicaStatus: ReplicaStatus? = nil, regionName: String) { + self.replicaProvisionedWriteCapacityUnits = replicaProvisionedWriteCapacityUnits + self.replicaProvisionedWriteCapacityAutoScalingSettings = replicaProvisionedWriteCapacityAutoScalingSettings + self.replicaProvisionedReadCapacityUnits = replicaProvisionedReadCapacityUnits + self.replicaGlobalSecondaryIndexSettings = replicaGlobalSecondaryIndexSettings + self.replicaProvisionedReadCapacityAutoScalingSettings = replicaProvisionedReadCapacityAutoScalingSettings + self.replicaStatus = replicaStatus + self.regionName = regionName + } + + private enum CodingKeys: String, CodingKey { + case replicaProvisionedWriteCapacityUnits = "ReplicaProvisionedWriteCapacityUnits" + case replicaProvisionedWriteCapacityAutoScalingSettings = "ReplicaProvisionedWriteCapacityAutoScalingSettings" + case replicaProvisionedReadCapacityUnits = "ReplicaProvisionedReadCapacityUnits" + case replicaGlobalSecondaryIndexSettings = "ReplicaGlobalSecondaryIndexSettings" + case replicaProvisionedReadCapacityAutoScalingSettings = "ReplicaProvisionedReadCapacityAutoScalingSettings" + case replicaStatus = "ReplicaStatus" + case regionName = "RegionName" + } } public struct DeleteTableOutput: AWSShape { @@ -2705,6 +3335,7 @@ extension Dynamodb { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TimeToLiveDescription", required: false, type: .structure), AWSShapeMember(label: "LocalSecondaryIndexes", required: false, type: .list), + AWSShapeMember(label: "SSEDescription", required: false, type: .structure), AWSShapeMember(label: "GlobalSecondaryIndexes", required: false, type: .list), AWSShapeMember(label: "StreamDescription", required: false, type: .structure) ] @@ -2712,14 +3343,17 @@ extension Dynamodb { public let timeToLiveDescription: TimeToLiveDescription? /// 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. public let localSecondaryIndexes: [LocalSecondaryIndexInfo]? + /// The description of the server-side encryption status on the table when the backup was created. + public let sSEDescription: SSEDescription? /// 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. public let globalSecondaryIndexes: [GlobalSecondaryIndexInfo]? /// Stream settings on the table when the backup was created. public let streamDescription: StreamSpecification? - public init(timeToLiveDescription: TimeToLiveDescription? = nil, localSecondaryIndexes: [LocalSecondaryIndexInfo]? = nil, globalSecondaryIndexes: [GlobalSecondaryIndexInfo]? = nil, streamDescription: StreamSpecification? = nil) { + public init(timeToLiveDescription: TimeToLiveDescription? = nil, localSecondaryIndexes: [LocalSecondaryIndexInfo]? = nil, sSEDescription: SSEDescription? = nil, globalSecondaryIndexes: [GlobalSecondaryIndexInfo]? = nil, streamDescription: StreamSpecification? = nil) { self.timeToLiveDescription = timeToLiveDescription self.localSecondaryIndexes = localSecondaryIndexes + self.sSEDescription = sSEDescription self.globalSecondaryIndexes = globalSecondaryIndexes self.streamDescription = streamDescription } @@ -2727,27 +3361,12 @@ extension Dynamodb { private enum CodingKeys: String, CodingKey { case timeToLiveDescription = "TimeToLiveDescription" case localSecondaryIndexes = "LocalSecondaryIndexes" + case sSEDescription = "SSEDescription" case globalSecondaryIndexes = "GlobalSecondaryIndexes" case streamDescription = "StreamDescription" } } - public struct DeleteGlobalSecondaryIndexAction: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "IndexName", required: true, type: .string) - ] - /// The name of the global secondary index to be deleted. - public let indexName: String - - public init(indexName: String) { - self.indexName = indexName - } - - private enum CodingKeys: String, CodingKey { - case indexName = "IndexName" - } - } - public struct RestoreTableFromBackupInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "BackupArn", required: true, type: .string), @@ -2769,6 +3388,22 @@ extension Dynamodb { } } + public struct DeleteGlobalSecondaryIndexAction: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "IndexName", required: true, type: .string) + ] + /// The name of the global secondary index to be deleted. + public let indexName: String + + public init(indexName: String) { + self.indexName = indexName + } + + private enum CodingKeys: String, CodingKey { + case indexName = "IndexName" + } + } + public class AttributeValue: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NS", required: false, type: .list), @@ -2851,6 +3486,27 @@ extension Dynamodb { } } + public struct AutoScalingPolicyUpdate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TargetTrackingScalingPolicyConfiguration", required: true, type: .structure), + AWSShapeMember(label: "PolicyName", required: false, type: .string) + ] + /// Represents a target tracking scaling policy configuration. + public let targetTrackingScalingPolicyConfiguration: AutoScalingTargetTrackingScalingPolicyConfigurationUpdate + /// The name of the scaling policy. + public let policyName: String? + + public init(targetTrackingScalingPolicyConfiguration: AutoScalingTargetTrackingScalingPolicyConfigurationUpdate, policyName: String? = nil) { + self.targetTrackingScalingPolicyConfiguration = targetTrackingScalingPolicyConfiguration + self.policyName = policyName + } + + private enum CodingKeys: String, CodingKey { + case targetTrackingScalingPolicyConfiguration = "TargetTrackingScalingPolicyConfiguration" + case policyName = "PolicyName" + } + } + public struct ReplicaUpdate: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Create", required: false, type: .structure), diff --git a/Sources/AWSSDKSwift/Services/ec2/Ec2_API.swift b/Sources/AWSSDKSwift/Services/ec2/Ec2_API.swift index 3ac57856e3a..67e16e81cfc 100644 --- a/Sources/AWSSDKSwift/Services/ec2/Ec2_API.swift +++ b/Sources/AWSSDKSwift/Services/ec2/Ec2_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -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. +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: Amazon EC2 product page Amazon EC2 documentation Amazon EBS product page Amazon VPC product page Amazon VPC documentation */ public struct Ec2 { @@ -23,7 +23,7 @@ public struct Ec2 { ) } - /// Describes Dedicated Host Reservations which are associated with Dedicated Hosts in your account. + /// Describes reservations that are associated with Dedicated Hosts in your account. public func describeHostReservations(_ input: DescribeHostReservationsRequest) throws -> DescribeHostReservationsResult { return try client.send(operation: "DescribeHostReservations", path: "/", httpMethod: "POST", input: input) } @@ -38,22 +38,22 @@ public struct Ec2 { return try client.send(operation: "DescribeVolumeAttribute", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func modifyHosts(_ input: ModifyHostsRequest) throws -> ModifyHostsResult { return try client.send(operation: "ModifyHosts", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. This is an idempotent operation. public func replaceNetworkAclAssociation(_ input: ReplaceNetworkAclAssociationRequest) throws -> ReplaceNetworkAclAssociationResult { return try client.send(operation: "ReplaceNetworkAclAssociation", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func describePrefixLists(_ input: DescribePrefixListsRequest) throws -> DescribePrefixListsResult { return try client.send(operation: "DescribePrefixLists", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func modifyIdentityIdFormat(_ input: ModifyIdentityIdFormatRequest) throws { _ = try client.send(operation: "ModifyIdentityIdFormat", path: "/", httpMethod: "POST", input: input) } @@ -73,12 +73,12 @@ public struct Ec2 { return try client.send(operation: "DescribeVpcEndpoints", path: "/", httpMethod: "POST", input: input) } - /// 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.) + /// 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.) public func describeVolumeStatus(_ input: DescribeVolumeStatusRequest) throws -> DescribeVolumeStatusResult { return try client.send(operation: "DescribeVolumeStatus", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func deleteVpcPeeringConnection(_ input: DeleteVpcPeeringConnectionRequest) throws -> DeleteVpcPeeringConnectionResult { return try client.send(operation: "DeleteVpcPeeringConnection", path: "/", httpMethod: "POST", input: input) } @@ -128,7 +128,7 @@ public struct Ec2 { return try client.send(operation: "CreateKeyPair", path: "/", httpMethod: "POST", input: input) } - /// 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. 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. + /// Cancels one or more Spot Instance requests. Canceling a Spot Instance request does not terminate running Spot Instances associated with the request. public func cancelSpotInstanceRequests(_ input: CancelSpotInstanceRequestsRequest) throws -> CancelSpotInstanceRequestsResult { return try client.send(operation: "CancelSpotInstanceRequests", path: "/", httpMethod: "POST", input: input) } @@ -148,7 +148,7 @@ public struct Ec2 { _ = try client.send(operation: "DeleteVpc", path: "/", httpMethod: "POST", input: input) } - /// You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you may be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows. When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux File System. For information about extending a Windows file system, see Extending a Windows File System. You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using the DescribeVolumesModifications API. For information about tracking status changes using either method, see Monitoring Volume Modifications. With previous-generation instance types, resizing an EBS volume may require detaching and reattaching the volume or stopping and restarting the instance. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows. If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume. + /// 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. public func modifyVolume(_ input: ModifyVolumeRequest) throws -> ModifyVolumeResult { return try client.send(operation: "ModifyVolume", path: "/", httpMethod: "POST", input: input) } @@ -263,12 +263,12 @@ public struct Ec2 { _ = try client.send(operation: "UnassignPrivateIpAddresses", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func modifyInstancePlacement(_ input: ModifyInstancePlacementRequest) throws -> ModifyInstancePlacementResult { return try client.send(operation: "ModifyInstancePlacement", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func deleteVolume(_ input: DeleteVolumeRequest) throws { _ = try client.send(operation: "DeleteVolume", path: "/", httpMethod: "POST", input: input) } @@ -343,7 +343,7 @@ public struct Ec2 { return try client.send(operation: "DescribeNetworkInterfaces", path: "/", httpMethod: "POST", input: input) } - /// Grants an AWS authorized partner 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. + /// 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. public func createNetworkInterfacePermission(_ input: CreateNetworkInterfacePermissionRequest) throws -> CreateNetworkInterfacePermissionResult { return try client.send(operation: "CreateNetworkInterfacePermission", path: "/", httpMethod: "POST", input: input) } @@ -413,12 +413,12 @@ public struct Ec2 { return try client.send(operation: "DescribeVpcClassicLinkDnsSupport", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func describeIdFormat(_ input: DescribeIdFormatRequest) throws -> DescribeIdFormatResult { return try client.send(operation: "DescribeIdFormat", path: "/", httpMethod: "POST", input: input) } - /// Describes the data feed for Spot Instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide. + /// Describes the data feed for Spot Instances. For more information, see Spot Instance Data Feed in the Amazon EC2 User Guide for Linux Instances. public func describeSpotDatafeedSubscription(_ input: DescribeSpotDatafeedSubscriptionRequest) throws -> DescribeSpotDatafeedSubscriptionResult { return try client.send(operation: "DescribeSpotDatafeedSubscription", path: "/", httpMethod: "POST", input: input) } @@ -438,7 +438,7 @@ public struct Ec2 { _ = try client.send(operation: "DeleteSpotDatafeedSubscription", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func createNatGateway(_ input: CreateNatGatewayRequest) throws -> CreateNatGatewayResult { return try client.send(operation: "CreateNatGateway", path: "/", httpMethod: "POST", input: input) } @@ -448,6 +448,11 @@ public struct Ec2 { return try client.send(operation: "StartInstances", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func deleteFleets(_ input: DeleteFleetsRequest) throws -> DeleteFleetsResult { + return try client.send(operation: "DeleteFleets", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func describeVpnConnections(_ input: DescribeVpnConnectionsRequest) throws -> DescribeVpnConnectionsResult { return try client.send(operation: "DescribeVpnConnections", path: "/", httpMethod: "POST", input: input) @@ -458,16 +463,21 @@ public struct Ec2 { return try client.send(operation: "AssociateVpcCidrBlock", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func copySnapshot(_ input: CopySnapshotRequest) throws -> CopySnapshotResult { return try client.send(operation: "CopySnapshot", path: "/", httpMethod: "POST", input: input) } - /// Creates a Spot Instance request. Spot Instances are instances that Amazon EC2 launches when the maximum price that you specify exceeds the current Spot price. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide. + /// Creates a Spot Instance request. For more information, see Spot Instance Requests in the Amazon EC2 User Guide for Linux Instances. public func requestSpotInstances(_ input: RequestSpotInstancesRequest) throws -> RequestSpotInstancesResult { return try client.send(operation: "RequestSpotInstances", path: "/", httpMethod: "POST", input: input) } + /// Describes the running instances for the specified EC2 Fleet. + public func describeFleetInstances(_ input: DescribeFleetInstancesRequest) throws -> DescribeFleetInstancesResult { + return try client.send(operation: "DescribeFleetInstances", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func associateRouteTable(_ input: AssociateRouteTableRequest) throws -> AssociateRouteTableResult { return try client.send(operation: "AssociateRouteTable", path: "/", httpMethod: "POST", input: input) @@ -513,7 +523,7 @@ public struct Ec2 { return try client.send(operation: "DescribeFpgaImages", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func modifyIdFormat(_ input: ModifyIdFormatRequest) throws { _ = try client.send(operation: "ModifyIdFormat", path: "/", httpMethod: "POST", input: input) } @@ -523,7 +533,7 @@ public struct Ec2 { return try client.send(operation: "DescribeEgressOnlyInternetGateways", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func describeIdentityIdFormat(_ input: DescribeIdentityIdFormatRequest) throws -> DescribeIdentityIdFormatResult { return try client.send(operation: "DescribeIdentityIdFormat", path: "/", httpMethod: "POST", input: input) } @@ -548,7 +558,7 @@ public struct Ec2 { return try client.send(operation: "AssociateAddress", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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 output from the EC2Config service. GetConsoleOutput returns up to 64 KB of console output shortly after it's generated by the instance. 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. You can optionally retrieve the latest serial console output at any time during the instance lifecycle. This option is only supported on C5, M5, and i3.metal instances. public func getConsoleOutput(_ input: GetConsoleOutputRequest) throws -> GetConsoleOutputResult { return try client.send(operation: "GetConsoleOutput", path: "/", httpMethod: "POST", input: input) } @@ -588,6 +598,11 @@ public struct Ec2 { _ = try client.send(operation: "ModifySubnetAttribute", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describeAggregateIdFormat(_ input: DescribeAggregateIdFormatRequest) throws -> DescribeAggregateIdFormatResult { + return try client.send(operation: "DescribeAggregateIdFormat", path: "/", httpMethod: "POST", input: input) + } + /// Deletes the specified Amazon FPGA Image (AFI). public func deleteFpgaImage(_ input: DeleteFpgaImageRequest) throws -> DeleteFpgaImageResult { return try client.send(operation: "DeleteFpgaImage", path: "/", httpMethod: "POST", input: input) @@ -648,7 +663,7 @@ public struct Ec2 { _ = try client.send(operation: "DeleteVpnConnectionRoute", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func createSpotDatafeedSubscription(_ input: CreateSpotDatafeedSubscriptionRequest) throws -> CreateSpotDatafeedSubscriptionResult { return try client.send(operation: "CreateSpotDatafeedSubscription", path: "/", httpMethod: "POST", input: input) } @@ -658,9 +673,9 @@ public struct Ec2 { return try client.send(operation: "ReplaceRouteTableAssociation", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func describeCustomerGateways(_ input: DescribeCustomerGatewaysRequest) throws -> DescribeCustomerGatewaysResult { - return try client.send(operation: "DescribeCustomerGateways", path: "/", httpMethod: "POST", input: input) + /// 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. + public func createFleet(_ input: CreateFleetRequest) throws -> CreateFleetResult { + return try client.send(operation: "CreateFleet", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -738,6 +753,11 @@ public struct Ec2 { return try client.send(operation: "AcceptReservedInstancesExchangeQuote", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describeCustomerGateways(_ input: DescribeCustomerGatewaysRequest) throws -> DescribeCustomerGatewaysResult { + return try client.send(operation: "DescribeCustomerGateways", path: "/", httpMethod: "POST", input: input) + } + /// Describes the ClassicLink status of one or more VPCs. public func describeVpcClassicLink(_ input: DescribeVpcClassicLinkRequest) throws -> DescribeVpcClassicLinkResult { return try client.send(operation: "DescribeVpcClassicLink", path: "/", httpMethod: "POST", input: input) @@ -758,7 +778,7 @@ public struct Ec2 { return try client.send(operation: "DescribeSnapshotAttribute", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func resetSnapshotAttribute(_ input: ResetSnapshotAttributeRequest) throws { _ = try client.send(operation: "ResetSnapshotAttribute", path: "/", httpMethod: "POST", input: input) } @@ -843,7 +863,7 @@ public struct Ec2 { return try client.send(operation: "CreateInternetGateway", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func createSnapshot(_ input: CreateSnapshotRequest) throws -> Snapshot { return try client.send(operation: "CreateSnapshot", path: "/", httpMethod: "POST", input: input) } @@ -853,7 +873,7 @@ public struct Ec2 { return try client.send(operation: "DescribeNatGateways", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func describeAccountAttributes(_ input: DescribeAccountAttributesRequest) throws -> DescribeAccountAttributesResult { return try client.send(operation: "DescribeAccountAttributes", path: "/", httpMethod: "POST", input: input) } @@ -868,16 +888,21 @@ public struct Ec2 { return try client.send(operation: "ImportImage", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func bundleInstance(_ input: BundleInstanceRequest) throws -> BundleInstanceResult { return try client.send(operation: "BundleInstance", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// Allocates a Dedicated Host to your account. At a minimum, specify the instance size type, Availability Zone, and quantity of hosts to allocate. public func allocateHosts(_ input: AllocateHostsRequest) throws -> AllocateHostsResult { return try client.send(operation: "AllocateHosts", path: "/", httpMethod: "POST", input: input) } + /// Describes one or more of your EC2 Fleet. + public func describeFleets(_ input: DescribeFleetsRequest) throws -> DescribeFleetsResult { + return try client.send(operation: "DescribeFleets", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func enableVpcClassicLinkDnsSupport(_ input: EnableVpcClassicLinkDnsSupportRequest) throws -> EnableVpcClassicLinkDnsSupportResult { return try client.send(operation: "EnableVpcClassicLinkDnsSupport", path: "/", httpMethod: "POST", input: input) @@ -893,7 +918,7 @@ public struct Ec2 { return try client.send(operation: "DescribeVpcEndpointServicePermissions", path: "/", httpMethod: "POST", input: input) } - /// 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 discover your endpoint service. + /// 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. public func modifyVpcEndpointServicePermissions(_ input: ModifyVpcEndpointServicePermissionsRequest) throws -> ModifyVpcEndpointServicePermissionsResult { return try client.send(operation: "ModifyVpcEndpointServicePermissions", path: "/", httpMethod: "POST", input: input) } @@ -933,12 +958,12 @@ public struct Ec2 { return try client.send(operation: "DescribeNetworkAcls", path: "/", httpMethod: "POST", input: input) } - /// 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". + /// 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. public func describeVolumesModifications(_ input: DescribeVolumesModificationsRequest) throws -> DescribeVolumesModificationsResult { return try client.send(operation: "DescribeVolumesModifications", path: "/", httpMethod: "POST", input: input) } - /// Describes the Spot Instance requests that belong to your account. Spot Instances are instances that Amazon EC2 launches when the Spot price that you specify exceeds the current Spot price. 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. + /// 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. public func describeSpotInstanceRequests(_ input: DescribeSpotInstanceRequestsRequest) throws -> DescribeSpotInstanceRequestsResult { return try client.send(operation: "DescribeSpotInstanceRequests", path: "/", httpMethod: "POST", input: input) } @@ -948,12 +973,12 @@ public struct Ec2 { _ = try client.send(operation: "DeletePlacementGroup", path: "/", httpMethod: "POST", input: input) } - /// Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide. For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself. You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using the block device mapping. For more information, see Launching a Linux Instance from a Backup in the Amazon Elastic Compute Cloud User Guide. You can't register an image where a secondary (non-root) snapshot has AWS Marketplace product codes. Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code associated with an AMI to verify the subscription status for package updates. Creating an AMI from an EBS snapshot does not maintain this billing code, and subsequent instances launched from such an AMI will not be able to connect to package update infrastructure. To create an AMI that must retain billing codes, see CreateImage. If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image. + /// 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. public func registerImage(_ input: RegisterImageRequest) throws -> RegisterImageResult { return try client.send(operation: "RegisterImage", path: "/", httpMethod: "POST", input: input) } - /// Describes the Spot price history. 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. + /// 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. public func describeSpotPriceHistory(_ input: DescribeSpotPriceHistoryRequest) throws -> DescribeSpotPriceHistoryResult { return try client.send(operation: "DescribeSpotPriceHistory", path: "/", httpMethod: "POST", input: input) } @@ -1008,7 +1033,7 @@ public struct Ec2 { return try client.send(operation: "CreateInstanceExportTask", path: "/", httpMethod: "POST", input: input) } - /// Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints. You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume. You can create encrypted volumes with the Encrypted parameter. Encrypted volumes may only be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide. You can tag your volumes during creation. For more information, see Tagging Your Amazon EC2 Resources. For more information, see Creating an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide. + /// 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. public func createVolume(_ input: CreateVolumeRequest) throws -> Volume { return try client.send(operation: "CreateVolume", path: "/", httpMethod: "POST", input: input) } @@ -1028,7 +1053,7 @@ public struct Ec2 { _ = try client.send(operation: "ResetInstanceAttribute", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func modifyInstanceAttribute(_ input: ModifyInstanceAttributeRequest) throws { _ = try client.send(operation: "ModifyInstanceAttribute", path: "/", httpMethod: "POST", input: input) } @@ -1048,7 +1073,7 @@ public struct Ec2 { _ = try client.send(operation: "DisassociateAddress", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. For more information, see VPC Flow Logs in the Amazon Virtual Private Cloud User Guide. public func createFlowLogs(_ input: CreateFlowLogsRequest) throws -> CreateFlowLogsResult { return try client.send(operation: "CreateFlowLogs", path: "/", httpMethod: "POST", input: input) } @@ -1103,7 +1128,7 @@ public struct Ec2 { _ = try client.send(operation: "DeleteInternetGateway", path: "/", httpMethod: "POST", input: input) } - /// 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. 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. + /// 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. public func createVpcPeeringConnection(_ input: CreateVpcPeeringConnectionRequest) throws -> CreateVpcPeeringConnectionResult { return try client.send(operation: "CreateVpcPeeringConnection", path: "/", httpMethod: "POST", input: input) } @@ -1128,12 +1153,12 @@ public struct Ec2 { return try client.send(operation: "AttachNetworkInterface", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func attachVolume(_ input: AttachVolumeRequest) throws -> VolumeAttachment { return try client.send(operation: "AttachVolume", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func modifyVpcPeeringConnectionOptions(_ input: ModifyVpcPeeringConnectionOptionsRequest) throws -> ModifyVpcPeeringConnectionOptionsResult { return try client.send(operation: "ModifyVpcPeeringConnectionOptions", path: "/", httpMethod: "POST", input: input) } @@ -1143,7 +1168,7 @@ public struct Ec2 { return try client.send(operation: "DescribeVpcEndpointServiceConfigurations", path: "/", httpMethod: "POST", input: input) } - /// 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. You can specify tags for the Spot Instances. You cannot tag other resource types in a Spot Fleet request; only the instance resource type is supported. For more information, see Spot Fleet Requests in the Amazon Elastic Compute Cloud User Guide. + /// 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. public func requestSpotFleet(_ input: RequestSpotFleetRequest) throws -> RequestSpotFleetResponse { return try client.send(operation: "RequestSpotFleet", path: "/", httpMethod: "POST", input: input) } @@ -1178,7 +1203,7 @@ public struct Ec2 { return try client.send(operation: "TerminateInstances", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func modifySnapshotAttribute(_ input: ModifySnapshotAttributeRequest) throws { _ = try client.send(operation: "ModifySnapshotAttribute", path: "/", httpMethod: "POST", input: input) } @@ -1208,7 +1233,7 @@ public struct Ec2 { return try client.send(operation: "ModifySpotFleetRequest", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func describeHostReservationOfferings(_ input: DescribeHostReservationOfferingsRequest) throws -> DescribeHostReservationOfferingsResult { return try client.send(operation: "DescribeHostReservationOfferings", path: "/", httpMethod: "POST", input: input) } @@ -1233,12 +1258,17 @@ public struct Ec2 { return try client.send(operation: "DescribeExportTasks", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// Describes the events for the specified EC2 Fleet during the specified time. + public func describeFleetHistory(_ input: DescribeFleetHistoryRequest) throws -> DescribeFleetHistoryResult { + return try client.send(operation: "DescribeFleetHistory", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func describeHosts(_ input: DescribeHostsRequest) throws -> DescribeHostsResult { return try client.send(operation: "DescribeHosts", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func releaseHosts(_ input: ReleaseHostsRequest) throws -> ReleaseHostsResult { return try client.send(operation: "ReleaseHosts", path: "/", httpMethod: "POST", input: input) } @@ -1343,6 +1373,16 @@ public struct Ec2 { return try client.send(operation: "DescribeImportSnapshotTasks", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describePrincipalIdFormat(_ input: DescribePrincipalIdFormatRequest) throws -> DescribePrincipalIdFormatResult { + return try client.send(operation: "DescribePrincipalIdFormat", path: "/", httpMethod: "POST", input: input) + } + + /// Modifies the specified EC2 Fleet. While the EC2 Fleet is being modified, it is in the modifying state. + public func modifyFleet(_ input: ModifyFleetRequest) throws -> ModifyFleetResult { + return try client.send(operation: "ModifyFleet", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func modifyVpcEndpointServiceConfiguration(_ input: ModifyVpcEndpointServiceConfigurationRequest) throws -> ModifyVpcEndpointServiceConfigurationResult { return try client.send(operation: "ModifyVpcEndpointServiceConfiguration", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/ec2/Ec2_Shapes.swift b/Sources/AWSSDKSwift/Services/ec2/Ec2_Shapes.swift index 32dc07adb1d..ac8a739596d 100644 --- a/Sources/AWSSDKSwift/Services/ec2/Ec2_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/ec2/Ec2_Shapes.swift @@ -7,6 +7,7 @@ extension Ec2 { public enum NetworkInterfaceStatus: String, CustomStringConvertible, Codable { case available = "available" + case associated = "associated" case attaching = "attaching" case inUse = "in-use" case detaching = "detaching" @@ -164,6 +165,37 @@ extension Ec2 { public var description: String { return self.rawValue } } + public struct DescribePrincipalIdFormatRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Resources", location: .body(locationName: "Resource"), required: false, type: .structure), + AWSShapeMember(label: "DryRun", required: false, type: .boolean), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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 + public let resources: ResourceList? + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public let dryRun: Bool? + /// The token to request the next page of results. + public let nextToken: String? + /// The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. + public let maxResults: Int32? + + public init(resources: ResourceList? = nil, dryRun: Bool? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.resources = resources + self.dryRun = dryRun + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case resources = "Resource" + case dryRun = "DryRun" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + public struct DescribeInstanceAttributeRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), @@ -318,7 +350,7 @@ extension Ec2 { ] /// The ID of the VPC. public let vpcId: String? - /// The current state of the attachment. + /// 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. public let state: AttachmentStatus? public init(vpcId: String? = nil, state: AttachmentStatus? = nil) { @@ -546,56 +578,71 @@ extension Ec2 { public struct Host: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ClientToken", location: .body(locationName: "clientToken"), required: false, type: .string), AWSShapeMember(label: "AutoPlacement", location: .body(locationName: "autoPlacement"), required: false, type: .enum), + AWSShapeMember(label: "ClientToken", location: .body(locationName: "clientToken"), required: false, type: .string), AWSShapeMember(label: "HostId", location: .body(locationName: "hostId"), required: false, type: .string), AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "Tags", location: .body(locationName: "tagSet"), required: false, type: .structure), AWSShapeMember(label: "AvailableCapacity", location: .body(locationName: "availableCapacity"), required: false, type: .structure), - AWSShapeMember(label: "HostReservationId", location: .body(locationName: "hostReservationId"), required: false, type: .string), + AWSShapeMember(label: "ReleaseTime", location: .body(locationName: "releaseTime"), required: false, type: .timestamp), AWSShapeMember(label: "Instances", location: .body(locationName: "instances"), required: false, type: .structure), + AWSShapeMember(label: "HostReservationId", location: .body(locationName: "hostReservationId"), required: false, type: .string), AWSShapeMember(label: "HostProperties", location: .body(locationName: "hostProperties"), required: false, type: .structure), + AWSShapeMember(label: "AllocationTime", location: .body(locationName: "allocationTime"), required: false, type: .timestamp), AWSShapeMember(label: "AvailabilityZone", location: .body(locationName: "availabilityZone"), required: false, type: .string) ] - /// 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. - public let clientToken: String? /// Whether auto-placement is on or off. public let autoPlacement: AutoPlacement? + /// 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. + public let clientToken: String? /// The ID of the Dedicated Host. public let hostId: String? /// The Dedicated Host's state. public let state: AllocationState? + /// Any tags assigned to the Dedicated Host. + public let tags: TagList? /// The number of new instances that can be launched onto the Dedicated Host. public let availableCapacity: AvailableCapacity? - /// The reservation ID of the Dedicated Host. This returns a null response if the Dedicated Host doesn't have an associated reservation. - public let hostReservationId: String? + /// The time that the Dedicated Host was released. + public let releaseTime: TimeStamp? /// The IDs and instance type that are currently running on the Dedicated Host. public let instances: HostInstanceList? + /// The reservation ID of the Dedicated Host. This returns a null response if the Dedicated Host doesn't have an associated reservation. + public let hostReservationId: String? /// The hardware specifications of the Dedicated Host. public let hostProperties: HostProperties? + /// The time that the Dedicated Host was allocated. + public let allocationTime: TimeStamp? /// The Availability Zone of the Dedicated Host. public let availabilityZone: String? - public init(clientToken: String? = nil, autoPlacement: AutoPlacement? = nil, hostId: String? = nil, state: AllocationState? = nil, availableCapacity: AvailableCapacity? = nil, hostReservationId: String? = nil, instances: HostInstanceList? = nil, hostProperties: HostProperties? = nil, availabilityZone: String? = nil) { - self.clientToken = clientToken + public init(autoPlacement: AutoPlacement? = nil, clientToken: String? = nil, hostId: String? = nil, state: AllocationState? = nil, tags: TagList? = nil, availableCapacity: AvailableCapacity? = nil, releaseTime: TimeStamp? = nil, instances: HostInstanceList? = nil, hostReservationId: String? = nil, hostProperties: HostProperties? = nil, allocationTime: TimeStamp? = nil, availabilityZone: String? = nil) { self.autoPlacement = autoPlacement + self.clientToken = clientToken self.hostId = hostId self.state = state + self.tags = tags self.availableCapacity = availableCapacity - self.hostReservationId = hostReservationId + self.releaseTime = releaseTime self.instances = instances + self.hostReservationId = hostReservationId self.hostProperties = hostProperties + self.allocationTime = allocationTime self.availabilityZone = availabilityZone } private enum CodingKeys: String, CodingKey { - case clientToken = "clientToken" case autoPlacement = "autoPlacement" + case clientToken = "clientToken" case hostId = "hostId" case state = "state" + case tags = "tagSet" case availableCapacity = "availableCapacity" - case hostReservationId = "hostReservationId" + case releaseTime = "releaseTime" case instances = "instances" + case hostReservationId = "hostReservationId" case hostProperties = "hostProperties" + case allocationTime = "allocationTime" case availabilityZone = "availabilityZone" } } @@ -646,6 +693,27 @@ extension Ec2 { } } + public struct CpuOptionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ThreadsPerCore", required: false, type: .integer), + AWSShapeMember(label: "CoreCount", required: false, type: .integer) + ] + /// 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. + public let threadsPerCore: Int32? + /// The number of CPU cores for the instance. + public let coreCount: Int32? + + public init(threadsPerCore: Int32? = nil, coreCount: Int32? = nil) { + self.threadsPerCore = threadsPerCore + self.coreCount = coreCount + } + + private enum CodingKeys: String, CodingKey { + case threadsPerCore = "ThreadsPerCore" + case coreCount = "CoreCount" + } + } + public struct VpcCidrBlockAssociation: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AssociationId", location: .body(locationName: "associationId"), required: false, type: .string), @@ -795,7 +863,7 @@ extension Ec2 { AWSShapeMember(label: "InstanceIds", location: .body(locationName: "InstanceId"), required: false, type: .structure), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// 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). + /// 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). public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -914,6 +982,22 @@ extension Ec2 { } } + public struct DescribeAggregateIdFormatRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DryRun", required: false, type: .boolean) + ] + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public let dryRun: Bool? + + public init(dryRun: Bool? = nil) { + self.dryRun = dryRun + } + + private enum CodingKeys: String, CodingKey { + case dryRun = "DryRun" + } + } + public struct EnableVpcClassicLinkRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "VpcId", location: .body(locationName: "vpcId"), required: true, type: .string), @@ -986,10 +1070,10 @@ extension Ec2 { AWSShapeMember(label: "PrivateDnsName", location: .body(locationName: "privateDnsName"), required: false, type: .string), AWSShapeMember(label: "OwnerId", location: .body(locationName: "ownerId"), required: false, type: .string), AWSShapeMember(label: "Attachment", location: .body(locationName: "attachment"), required: false, type: .structure), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "PrivateIpAddresses", location: .body(locationName: "privateIpAddressesSet"), required: false, type: .structure), AWSShapeMember(label: "PrivateIpAddress", location: .body(locationName: "privateIpAddress"), required: false, type: .string), AWSShapeMember(label: "Status", location: .body(locationName: "status"), required: false, type: .enum), - AWSShapeMember(label: "PrivateIpAddresses", location: .body(locationName: "privateIpAddressesSet"), required: false, type: .structure), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), AWSShapeMember(label: "VpcId", location: .body(locationName: "vpcId"), required: false, type: .string), AWSShapeMember(label: "Ipv6Addresses", location: .body(locationName: "ipv6AddressesSet"), required: false, type: .structure), AWSShapeMember(label: "Groups", location: .body(locationName: "groupSet"), required: false, type: .structure), @@ -1009,14 +1093,14 @@ extension Ec2 { public let ownerId: String? /// The network interface attachment. public let attachment: InstanceNetworkInterfaceAttachment? - /// The description. - public let description: String? + /// One or more private IPv4 addresses associated with the network interface. + public let privateIpAddresses: InstancePrivateIpAddressList? /// The IPv4 address of the network interface within the subnet. public let privateIpAddress: String? /// The status of the network interface. public let status: NetworkInterfaceStatus? - /// One or more private IPv4 addresses associated with the network interface. - public let privateIpAddresses: InstancePrivateIpAddressList? + /// The description. + public let description: String? /// The ID of the VPC. public let vpcId: String? /// One or more IPv6 addresses associated with the network interface. @@ -1026,7 +1110,7 @@ extension Ec2 { /// The association information for an Elastic IPv4 associated with the network interface. public let association: InstanceNetworkInterfaceAssociation? - public init(subnetId: String? = nil, networkInterfaceId: String? = nil, macAddress: String? = nil, sourceDestCheck: Bool? = nil, privateDnsName: String? = nil, ownerId: String? = nil, attachment: InstanceNetworkInterfaceAttachment? = nil, description: String? = nil, privateIpAddress: String? = nil, status: NetworkInterfaceStatus? = nil, privateIpAddresses: InstancePrivateIpAddressList? = nil, vpcId: String? = nil, ipv6Addresses: InstanceIpv6AddressList? = nil, groups: GroupIdentifierList? = nil, association: InstanceNetworkInterfaceAssociation? = nil) { + public init(subnetId: String? = nil, networkInterfaceId: String? = nil, macAddress: String? = nil, sourceDestCheck: Bool? = nil, privateDnsName: String? = nil, ownerId: String? = nil, attachment: InstanceNetworkInterfaceAttachment? = nil, privateIpAddresses: InstancePrivateIpAddressList? = nil, privateIpAddress: String? = nil, status: NetworkInterfaceStatus? = nil, description: String? = nil, vpcId: String? = nil, ipv6Addresses: InstanceIpv6AddressList? = nil, groups: GroupIdentifierList? = nil, association: InstanceNetworkInterfaceAssociation? = nil) { self.subnetId = subnetId self.networkInterfaceId = networkInterfaceId self.macAddress = macAddress @@ -1034,10 +1118,10 @@ extension Ec2 { self.privateDnsName = privateDnsName self.ownerId = ownerId self.attachment = attachment - self.description = description + self.privateIpAddresses = privateIpAddresses self.privateIpAddress = privateIpAddress self.status = status - self.privateIpAddresses = privateIpAddresses + self.description = description self.vpcId = vpcId self.ipv6Addresses = ipv6Addresses self.groups = groups @@ -1052,10 +1136,10 @@ extension Ec2 { case privateDnsName = "privateDnsName" case ownerId = "ownerId" case attachment = "attachment" - case description = "description" + case privateIpAddresses = "privateIpAddressesSet" case privateIpAddress = "privateIpAddress" case status = "status" - case privateIpAddresses = "privateIpAddressesSet" + case description = "description" case vpcId = "vpcId" case ipv6Addresses = "ipv6AddressesSet" case groups = "groupSet" @@ -1151,7 +1235,7 @@ extension Ec2 { public let launchTemplateNames: LaunchTemplateNameStringList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? - /// One or more filters. create-time - The time the launch template was created. launch-template-name - The name of the launch template. + /// 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. public let filters: FilterList? /// The token to request the next page of results. public let nextToken: String? @@ -1242,7 +1326,7 @@ extension Ec2 { public let blockDeviceMappings: BlockDeviceMappingList? /// The ID of the subnet in which to launch the instance. public let subnetId: String? - /// 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. + /// The Base64-encoded user data for the instance. public let userData: String? /// 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 public let ebsOptimized: Bool? @@ -1372,7 +1456,7 @@ extension Ec2 { ] /// The ID of the EBS snapshot to be used for importing the snapshot. public let snapshotId: String? - /// The format of the disk image being imported. Valid values: RAW | VHD | VMDK | OVA + /// The format of the disk image being imported. Valid values: VHD | VMDK | OVA public let format: String? /// The S3 bucket for the disk image. public let userBucket: UserBucket? @@ -1405,30 +1489,30 @@ extension Ec2 { public struct PurchaseReservedInstancesOfferingRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ReservedInstancesOfferingId", required: true, type: .string), - AWSShapeMember(label: "InstanceCount", required: true, type: .integer), AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), + AWSShapeMember(label: "InstanceCount", required: true, type: .integer), AWSShapeMember(label: "LimitPrice", location: .body(locationName: "limitPrice"), required: false, type: .structure) ] /// The ID of the Reserved Instance offering to purchase. public let reservedInstancesOfferingId: String - /// The number of Reserved Instances to purchase. - public let instanceCount: Int32 /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? + /// The number of Reserved Instances to purchase. + public let instanceCount: Int32 /// Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices. public let limitPrice: ReservedInstanceLimitPrice? - public init(reservedInstancesOfferingId: String, instanceCount: Int32, dryRun: Bool? = nil, limitPrice: ReservedInstanceLimitPrice? = nil) { + public init(reservedInstancesOfferingId: String, dryRun: Bool? = nil, instanceCount: Int32, limitPrice: ReservedInstanceLimitPrice? = nil) { self.reservedInstancesOfferingId = reservedInstancesOfferingId - self.instanceCount = instanceCount self.dryRun = dryRun + self.instanceCount = instanceCount self.limitPrice = limitPrice } private enum CodingKeys: String, CodingKey { case reservedInstancesOfferingId = "ReservedInstancesOfferingId" - case instanceCount = "InstanceCount" case dryRun = "dryRun" + case instanceCount = "InstanceCount" case limitPrice = "limitPrice" } } @@ -1449,6 +1533,12 @@ extension Ec2 { } } + public enum SpotAllocationStrategy: String, CustomStringConvertible, Codable { + case lowestPrice = "lowest-price" + case diversified = "diversified" + public var description: String { return self.rawValue } + } + public struct DescribeFpgaImagesResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), @@ -1595,7 +1685,7 @@ extension Ec2 { ] /// One or more customer gateway IDs. Default: Describes all your customer gateways. public let customerGatewayIds: CustomerGatewayIdStringList? - /// One or more filters. bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN). customer-gateway-id - The ID of the customer gateway. ip-address - The IP address of the customer gateway's Internet-routable external interface. state - The state of the customer gateway (pending | available | deleting | deleted). type - The type of customer gateway. Currently, the only supported type is ipsec.1. tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -1880,13 +1970,54 @@ extension Ec2 { } } + public struct FleetLaunchTemplateOverrides: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WeightedCapacity", location: .body(locationName: "weightedCapacity"), required: false, type: .double), + AWSShapeMember(label: "Priority", location: .body(locationName: "priority"), required: false, type: .double), + AWSShapeMember(label: "SubnetId", location: .body(locationName: "subnetId"), required: false, type: .string), + AWSShapeMember(label: "MaxPrice", location: .body(locationName: "maxPrice"), required: false, type: .string), + AWSShapeMember(label: "InstanceType", location: .body(locationName: "instanceType"), required: false, type: .enum), + AWSShapeMember(label: "AvailabilityZone", location: .body(locationName: "availabilityZone"), required: false, type: .string) + ] + /// The number of units provided by the specified instance type. + public let weightedCapacity: Double? + /// 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. + public let priority: Double? + /// The ID of the subnet in which to launch the instances. + public let subnetId: String? + /// The maximum price per unit hour that you are willing to pay for a Spot Instance. + public let maxPrice: String? + /// The instance type. + public let instanceType: InstanceType? + /// The Availability Zone in which to launch the instances. + public let availabilityZone: String? + + public init(weightedCapacity: Double? = nil, priority: Double? = nil, subnetId: String? = nil, maxPrice: String? = nil, instanceType: InstanceType? = nil, availabilityZone: String? = nil) { + self.weightedCapacity = weightedCapacity + self.priority = priority + self.subnetId = subnetId + self.maxPrice = maxPrice + self.instanceType = instanceType + self.availabilityZone = availabilityZone + } + + private enum CodingKeys: String, CodingKey { + case weightedCapacity = "weightedCapacity" + case priority = "priority" + case subnetId = "subnetId" + case maxPrice = "maxPrice" + case instanceType = "instanceType" + case availabilityZone = "availabilityZone" + } + } + public struct EventInformation: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EventSubType", location: .body(locationName: "eventSubType"), required: false, type: .string), AWSShapeMember(label: "InstanceId", location: .body(locationName: "instanceId"), required: false, type: .string), AWSShapeMember(label: "EventDescription", location: .body(locationName: "eventDescription"), required: false, type: .string) ] - /// 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 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. + /// 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. public let eventSubType: String? /// The ID of the instance. This information is available only for instanceChange events. public let instanceId: String? @@ -1983,7 +2114,7 @@ extension Ec2 { AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), AWSShapeMember(label: "Tags", location: .body(locationName: "tagSet"), required: false, type: .structure) ] - /// The token to use to retrieve the next page of results. This value is null when there are no more results to return.. + /// The token to use to retrieve the next page of results. This value is null when there are no more results to return. public let nextToken: String? /// A list of tags. public let tags: TagDescriptionList? @@ -2023,7 +2154,7 @@ extension Ec2 { ] /// One or more subnet IDs. Default: Describes all your subnets. public let subnetIds: SubnetIdStringList? - /// One or more filters. availabilityZone - The Availability Zone for the subnet. You can also use availability-zone as the filter name. available-ip-address-count - The number of IPv4 addresses in the subnet that are available. cidrBlock - The IPv4 CIDR block of the subnet. The CIDR block you specify must exactly match the subnet's CIDR block for information to be returned for the subnet. You can also use cidr or cidr-block as the filter names. defaultForAz - Indicates whether this is the default subnet for the Availability Zone. You can also use default-for-az as the filter name. ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the subnet. ipv6-cidr-block-association.association-id - An association ID for an IPv6 CIDR block associated with the subnet. ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the subnet. state - The state of the subnet (pending | available). subnet-id - The ID of the subnet. tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. vpc-id - The ID of the VPC for the subnet. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -2048,7 +2179,7 @@ extension Ec2 { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// 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=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. vpc-id - The ID of the VPC in which the NAT gateway resides. + /// 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. public let filter: FilterList? /// One or more NAT gateway IDs. public let natGatewayIds: ValueStringList? @@ -2093,32 +2224,32 @@ extension Ec2 { public struct NetworkInterfacePrivateIpAddress: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Association", location: .body(locationName: "association"), required: false, type: .structure), + AWSShapeMember(label: "PrivateIpAddress", location: .body(locationName: "privateIpAddress"), required: false, type: .string), AWSShapeMember(label: "PrivateDnsName", location: .body(locationName: "privateDnsName"), required: false, type: .string), AWSShapeMember(label: "Primary", location: .body(locationName: "primary"), required: false, type: .boolean), - AWSShapeMember(label: "PrivateIpAddress", location: .body(locationName: "privateIpAddress"), required: false, type: .string) + AWSShapeMember(label: "Association", location: .body(locationName: "association"), required: false, type: .structure) ] - /// The association information for an Elastic IP address (IPv4) associated with the network interface. - public let association: NetworkInterfaceAssociation? + /// The private IPv4 address. + public let privateIpAddress: String? /// The private DNS name. public let privateDnsName: String? /// Indicates whether this IPv4 address is the primary private IPv4 address of the network interface. public let primary: Bool? - /// The private IPv4 address. - public let privateIpAddress: String? + /// The association information for an Elastic IP address (IPv4) associated with the network interface. + public let association: NetworkInterfaceAssociation? - public init(association: NetworkInterfaceAssociation? = nil, privateDnsName: String? = nil, primary: Bool? = nil, privateIpAddress: String? = nil) { - self.association = association + public init(privateIpAddress: String? = nil, privateDnsName: String? = nil, primary: Bool? = nil, association: NetworkInterfaceAssociation? = nil) { + self.privateIpAddress = privateIpAddress self.privateDnsName = privateDnsName self.primary = primary - self.privateIpAddress = privateIpAddress + self.association = association } private enum CodingKeys: String, CodingKey { - case association = "association" + case privateIpAddress = "privateIpAddress" case privateDnsName = "privateDnsName" case primary = "primary" - case privateIpAddress = "privateIpAddress" + case association = "association" } } @@ -2354,13 +2485,13 @@ extension Ec2 { ] /// 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 public let autoPlacement: AutoPlacement? - /// 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. + /// 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. public let clientToken: String? - /// 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. + /// 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. public let instanceType: String /// The Availability Zone for the Dedicated Hosts. public let availabilityZone: String - /// The number of Dedicated Hosts you want to allocate to your account with these parameters. + /// The number of Dedicated Hosts to allocate to your account with these parameters. public let quantity: Int32 public init(autoPlacement: AutoPlacement? = nil, clientToken: String? = nil, instanceType: String, availabilityZone: String, quantity: Int32) { @@ -2396,7 +2527,7 @@ extension Ec2 { public let validUntil: TimeStamp? /// The behavior when a Spot Instance is interrupted. The default is terminate. public let instanceInterruptionBehavior: InstanceInterruptionBehavior? - /// The Spot Instance request type. + /// The Spot Instance request type. For RunInstances, persistent Spot Instance requests are only supported when InstanceInterruptionBehavior is set to either hibernate or stop. public let spotInstanceType: SpotInstanceType? public init(maxPrice: String? = nil, blockDurationMinutes: Int32? = nil, validUntil: TimeStamp? = nil, instanceInterruptionBehavior: InstanceInterruptionBehavior? = nil, spotInstanceType: SpotInstanceType? = nil) { @@ -2598,6 +2729,27 @@ extension Ec2 { } } + public struct FleetLaunchTemplateConfigRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LaunchTemplateSpecification", required: false, type: .structure), + AWSShapeMember(label: "Overrides", required: false, type: .structure) + ] + /// The launch template to use. You must specify either the launch template ID or launch template name in the request. + public let launchTemplateSpecification: FleetLaunchTemplateSpecificationRequest? + /// Any parameters that you specify override the same parameters in the launch template. + public let overrides: FleetLaunchTemplateOverridesListRequest? + + public init(launchTemplateSpecification: FleetLaunchTemplateSpecificationRequest? = nil, overrides: FleetLaunchTemplateOverridesListRequest? = nil) { + self.launchTemplateSpecification = launchTemplateSpecification + self.overrides = overrides + } + + private enum CodingKeys: String, CodingKey { + case launchTemplateSpecification = "LaunchTemplateSpecification" + case overrides = "Overrides" + } + } + public struct PeeringConnectionOptionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AllowEgressFromLocalVpcToRemoteClassicLink", required: false, type: .boolean), @@ -2675,17 +2827,17 @@ extension Ec2 { AWSShapeMember(label: "OfferingId", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// 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. + /// 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. public let maxDuration: Int32? /// 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. public let minDuration: Int32? - /// One or more filters. instance-family - The instance family of the offering (e.g., m4). payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront). + /// One or more filters. instance-family - The instance family of the offering (for example, m4). payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront). public let filter: FilterList? /// The token to use to retrieve the next page of results. public let nextToken: String? /// The ID of the reservation offering. public let offeringId: String? - /// 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. + /// 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. public let maxResults: Int32? public init(maxDuration: Int32? = nil, minDuration: Int32? = nil, filter: FilterList? = nil, nextToken: String? = nil, offeringId: String? = nil, maxResults: Int32? = nil) { @@ -2749,6 +2901,32 @@ extension Ec2 { } } + public struct SpotOptions: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstancePoolsToUseCount", location: .body(locationName: "instancePoolsToUseCount"), required: false, type: .integer), + AWSShapeMember(label: "AllocationStrategy", location: .body(locationName: "allocationStrategy"), required: false, type: .enum), + AWSShapeMember(label: "InstanceInterruptionBehavior", location: .body(locationName: "instanceInterruptionBehavior"), required: false, type: .enum) + ] + /// 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. + public let instancePoolsToUseCount: Int32? + /// Indicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet request. The default is lowest-price. + public let allocationStrategy: SpotAllocationStrategy? + /// The behavior when a Spot Instance is interrupted. The default is terminate. + public let instanceInterruptionBehavior: SpotInstanceInterruptionBehavior? + + public init(instancePoolsToUseCount: Int32? = nil, allocationStrategy: SpotAllocationStrategy? = nil, instanceInterruptionBehavior: SpotInstanceInterruptionBehavior? = nil) { + self.instancePoolsToUseCount = instancePoolsToUseCount + self.allocationStrategy = allocationStrategy + self.instanceInterruptionBehavior = instanceInterruptionBehavior + } + + private enum CodingKeys: String, CodingKey { + case instancePoolsToUseCount = "instancePoolsToUseCount" + case allocationStrategy = "allocationStrategy" + case instanceInterruptionBehavior = "instanceInterruptionBehavior" + } + } + public struct OccurrenceDaySet: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "item", required: false, type: .list) @@ -2893,6 +3071,27 @@ extension Ec2 { } } + public struct PrincipalIdFormat: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Statuses", location: .body(locationName: "statusSet"), required: false, type: .structure), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string) + ] + /// PrincipalIdFormatStatuses description + public let statuses: IdFormatList? + /// PrincipalIdFormatARN description + public let arn: String? + + public init(statuses: IdFormatList? = nil, arn: String? = nil) { + self.statuses = statuses + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case statuses = "statusSet" + case arn = "arn" + } + } + public struct EnableVpcClassicLinkDnsSupportResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Return", location: .body(locationName: "return"), required: false, type: .boolean) @@ -2960,7 +3159,7 @@ extension Ec2 { public let publicIps: PublicIpStringList? /// [EC2-VPC] One or more allocation IDs. Default: Describes all your Elastic IP addresses. public let allocationIds: AllocationIdList? - /// 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. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -3007,8 +3206,8 @@ extension Ec2 { AWSShapeMember(label: "IpPermissionsEgress", location: .body(locationName: "ipPermissionsEgress"), required: false, type: .structure), AWSShapeMember(label: "GroupName", location: .body(locationName: "groupName"), required: false, type: .string), AWSShapeMember(label: "VpcId", location: .body(locationName: "vpcId"), required: false, type: .string), - AWSShapeMember(label: "Tags", location: .body(locationName: "tagSet"), required: false, type: .structure), AWSShapeMember(label: "IpPermissions", location: .body(locationName: "ipPermissions"), required: false, type: .structure), + AWSShapeMember(label: "Tags", location: .body(locationName: "tagSet"), required: false, type: .structure), AWSShapeMember(label: "OwnerId", location: .body(locationName: "ownerId"), required: false, type: .string), AWSShapeMember(label: "GroupId", location: .body(locationName: "groupId"), required: false, type: .string), AWSShapeMember(label: "Description", location: .body(locationName: "groupDescription"), required: false, type: .string) @@ -3019,10 +3218,10 @@ extension Ec2 { public let groupName: String? /// [EC2-VPC] The ID of the VPC for the security group. public let vpcId: String? - /// Any tags assigned to the security group. - public let tags: TagList? /// One or more inbound rules associated with the security group. public let ipPermissions: IpPermissionList? + /// Any tags assigned to the security group. + public let tags: TagList? /// The AWS account ID of the owner of the security group. public let ownerId: String? /// The ID of the security group. @@ -3030,12 +3229,12 @@ extension Ec2 { /// A description of the security group. public let description: String? - public init(ipPermissionsEgress: IpPermissionList? = nil, groupName: String? = nil, vpcId: String? = nil, tags: TagList? = nil, ipPermissions: IpPermissionList? = nil, ownerId: String? = nil, groupId: String? = nil, description: String? = nil) { + public init(ipPermissionsEgress: IpPermissionList? = nil, groupName: String? = nil, vpcId: String? = nil, ipPermissions: IpPermissionList? = nil, tags: TagList? = nil, ownerId: String? = nil, groupId: String? = nil, description: String? = nil) { self.ipPermissionsEgress = ipPermissionsEgress self.groupName = groupName self.vpcId = vpcId - self.tags = tags self.ipPermissions = ipPermissions + self.tags = tags self.ownerId = ownerId self.groupId = groupId self.description = description @@ -3045,8 +3244,8 @@ extension Ec2 { case ipPermissionsEgress = "ipPermissionsEgress" case groupName = "groupName" case vpcId = "vpcId" - case tags = "tagSet" case ipPermissions = "ipPermissions" + case tags = "tagSet" case ownerId = "ownerId" case groupId = "groupId" case description = "groupDescription" @@ -3135,6 +3334,32 @@ extension Ec2 { } } + public struct DeleteFleetSuccessItem: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FleetId", location: .body(locationName: "fleetId"), required: false, type: .string), + AWSShapeMember(label: "PreviousFleetState", location: .body(locationName: "previousFleetState"), required: false, type: .enum), + AWSShapeMember(label: "CurrentFleetState", location: .body(locationName: "currentFleetState"), required: false, type: .enum) + ] + /// The ID of the EC2 Fleet. + public let fleetId: String? + /// The previous state of the EC2 Fleet. + public let previousFleetState: FleetStateCode? + /// The current state of the EC2 Fleet. + public let currentFleetState: FleetStateCode? + + public init(fleetId: String? = nil, previousFleetState: FleetStateCode? = nil, currentFleetState: FleetStateCode? = nil) { + self.fleetId = fleetId + self.previousFleetState = previousFleetState + self.currentFleetState = currentFleetState + } + + private enum CodingKeys: String, CodingKey { + case fleetId = "fleetId" + case previousFleetState = "previousFleetState" + case currentFleetState = "currentFleetState" + } + } + public struct CreateRouteRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NetworkInterfaceId", location: .body(locationName: "networkInterfaceId"), required: false, type: .string), @@ -3514,11 +3739,11 @@ extension Ec2 { AWSShapeMember(label: "AvailabilityZoneGroup", location: .body(locationName: "availabilityZoneGroup"), required: false, type: .string), AWSShapeMember(label: "InstanceCount", location: .body(locationName: "instanceCount"), required: false, type: .integer) ] - /// 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. + /// 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. public let blockDurationMinutes: Int32? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? - /// 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. + /// 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. public let clientToken: String? /// The behavior when a Spot Instance is interrupted. The default is terminate. public let instanceInterruptionBehavior: InstanceInterruptionBehavior? @@ -3624,7 +3849,7 @@ extension Ec2 { AWSShapeMember(label: "ImageIds", location: .body(locationName: "ImageId"), required: false, type: .structure), AWSShapeMember(label: "Owners", location: .body(locationName: "Owner"), required: false, type: .structure) ] - /// 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=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. virtualization-type - The virtualization type (paravirtual | hvm). + /// 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). public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -3885,30 +4110,30 @@ extension Ec2 { public struct CreateVpcRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InstanceTenancy", location: .body(locationName: "instanceTenancy"), required: false, type: .enum), AWSShapeMember(label: "AmazonProvidedIpv6CidrBlock", location: .body(locationName: "amazonProvidedIpv6CidrBlock"), required: false, type: .boolean), + AWSShapeMember(label: "InstanceTenancy", location: .body(locationName: "instanceTenancy"), required: false, type: .enum), AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), AWSShapeMember(label: "CidrBlock", required: true, type: .string) ] - /// 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 - public let instanceTenancy: Tenancy? /// 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. public let amazonProvidedIpv6CidrBlock: Bool? + /// 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 + public let instanceTenancy: Tenancy? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? /// The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16. public let cidrBlock: String - public init(instanceTenancy: Tenancy? = nil, amazonProvidedIpv6CidrBlock: Bool? = nil, dryRun: Bool? = nil, cidrBlock: String) { - self.instanceTenancy = instanceTenancy + public init(amazonProvidedIpv6CidrBlock: Bool? = nil, instanceTenancy: Tenancy? = nil, dryRun: Bool? = nil, cidrBlock: String) { self.amazonProvidedIpv6CidrBlock = amazonProvidedIpv6CidrBlock + self.instanceTenancy = instanceTenancy self.dryRun = dryRun self.cidrBlock = cidrBlock } private enum CodingKeys: String, CodingKey { - case instanceTenancy = "instanceTenancy" case amazonProvidedIpv6CidrBlock = "amazonProvidedIpv6CidrBlock" + case instanceTenancy = "instanceTenancy" case dryRun = "dryRun" case cidrBlock = "CidrBlock" } @@ -4169,7 +4394,7 @@ extension Ec2 { public let subnetIds: ValueStringList? /// Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency. public let clientToken: String? - /// The service name. To get a list of available services, use the DescribeVpcEndpointServices request. + /// The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service provider. public let serviceName: String /// The ID of the VPC in which the endpoint will be used. public let vpcId: String @@ -4294,9 +4519,9 @@ extension Ec2 { AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), AWSShapeMember(label: "InstanceType", required: false, type: .enum), AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), - AWSShapeMember(label: "ProductDescription", required: false, type: .enum), - AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer), AWSShapeMember(label: "OfferingType", location: .body(locationName: "offeringType"), required: false, type: .enum), + AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer), + AWSShapeMember(label: "ProductDescription", required: false, type: .enum), AWSShapeMember(label: "OfferingClass", required: false, type: .enum), AWSShapeMember(label: "IncludeMarketplace", required: false, type: .boolean), AWSShapeMember(label: "MinDuration", required: false, type: .long), @@ -4317,12 +4542,12 @@ extension Ec2 { public let instanceType: InstanceType? /// The Availability Zone in which the Reserved Instance can be used. public let availabilityZone: String? - /// The Reserved Instance product platform description. Instances that include (Amazon VPC) in the description are for use with Amazon VPC. - public let productDescription: RIProductDescription? - /// 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 - public let maxResults: Int32? /// 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. public let offeringType: OfferingTypeValues? + /// 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 + public let maxResults: Int32? + /// The Reserved Instance product platform description. Instances that include (Amazon VPC) in the description are for use with Amazon VPC. + public let productDescription: RIProductDescription? /// The offering class of the Reserved Instance. Can be standard or convertible. public let offeringClass: OfferingClassType? /// Include Reserved Instance Marketplace offerings in the response. @@ -4334,7 +4559,7 @@ extension Ec2 { /// The token to retrieve the next page of results. public let nextToken: String? - public init(maxDuration: Int64? = nil, instanceTenancy: Tenancy? = nil, reservedInstancesOfferingIds: [String]? = nil, filters: FilterList? = nil, dryRun: Bool? = nil, instanceType: InstanceType? = nil, availabilityZone: String? = nil, productDescription: RIProductDescription? = nil, maxResults: Int32? = nil, offeringType: OfferingTypeValues? = nil, offeringClass: OfferingClassType? = nil, includeMarketplace: Bool? = nil, minDuration: Int64? = nil, maxInstanceCount: Int32? = nil, nextToken: String? = nil) { + public init(maxDuration: Int64? = nil, instanceTenancy: Tenancy? = nil, reservedInstancesOfferingIds: [String]? = nil, filters: FilterList? = nil, dryRun: Bool? = nil, instanceType: InstanceType? = nil, availabilityZone: String? = nil, offeringType: OfferingTypeValues? = nil, maxResults: Int32? = nil, productDescription: RIProductDescription? = nil, offeringClass: OfferingClassType? = nil, includeMarketplace: Bool? = nil, minDuration: Int64? = nil, maxInstanceCount: Int32? = nil, nextToken: String? = nil) { self.maxDuration = maxDuration self.instanceTenancy = instanceTenancy self.reservedInstancesOfferingIds = reservedInstancesOfferingIds @@ -4342,9 +4567,9 @@ extension Ec2 { self.dryRun = dryRun self.instanceType = instanceType self.availabilityZone = availabilityZone - self.productDescription = productDescription - self.maxResults = maxResults self.offeringType = offeringType + self.maxResults = maxResults + self.productDescription = productDescription self.offeringClass = offeringClass self.includeMarketplace = includeMarketplace self.minDuration = minDuration @@ -4360,9 +4585,9 @@ extension Ec2 { case dryRun = "dryRun" case instanceType = "InstanceType" case availabilityZone = "AvailabilityZone" - case productDescription = "ProductDescription" - case maxResults = "maxResults" case offeringType = "offeringType" + case maxResults = "maxResults" + case productDescription = "ProductDescription" case offeringClass = "OfferingClass" case includeMarketplace = "IncludeMarketplace" case minDuration = "MinDuration" @@ -4371,9 +4596,30 @@ extension Ec2 { } } - public struct ElasticGpus: AWSShape { + public struct LaunchTemplateCpuOptions: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ElasticGpuType", location: .body(locationName: "elasticGpuType"), required: false, type: .string), + AWSShapeMember(label: "ThreadsPerCore", location: .body(locationName: "threadsPerCore"), required: false, type: .integer), + AWSShapeMember(label: "CoreCount", location: .body(locationName: "coreCount"), required: false, type: .integer) + ] + /// The number of threads per CPU core. + public let threadsPerCore: Int32? + /// The number of CPU cores for the instance. + public let coreCount: Int32? + + public init(threadsPerCore: Int32? = nil, coreCount: Int32? = nil) { + self.threadsPerCore = threadsPerCore + self.coreCount = coreCount + } + + private enum CodingKeys: String, CodingKey { + case threadsPerCore = "threadsPerCore" + case coreCount = "coreCount" + } + } + + public struct ElasticGpus: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ElasticGpuType", location: .body(locationName: "elasticGpuType"), required: false, type: .string), AWSShapeMember(label: "ElasticGpuId", location: .body(locationName: "elasticGpuId"), required: false, type: .string), AWSShapeMember(label: "ElasticGpuState", location: .body(locationName: "elasticGpuState"), required: false, type: .enum), AWSShapeMember(label: "ElasticGpuHealth", location: .body(locationName: "elasticGpuHealth"), required: false, type: .structure), @@ -4412,6 +4658,21 @@ extension Ec2 { } } + public struct FleetLaunchTemplateOverridesListRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "item", required: false, type: .list) + ] + public let item: [FleetLaunchTemplateOverridesRequest]? + + public init(item: [FleetLaunchTemplateOverridesRequest]? = nil) { + self.item = item + } + + private enum CodingKeys: String, CodingKey { + case item = "item" + } + } + public struct CancelledSpotInstanceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SpotInstanceRequestId", location: .body(locationName: "spotInstanceRequestId"), required: false, type: .string), @@ -4465,30 +4726,30 @@ extension Ec2 { public struct UpdateSecurityGroupRuleDescriptionsEgressRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DryRun", required: false, type: .boolean), AWSShapeMember(label: "GroupName", required: false, type: .string), + AWSShapeMember(label: "DryRun", required: false, type: .boolean), AWSShapeMember(label: "IpPermissions", required: true, type: .structure), AWSShapeMember(label: "GroupId", required: false, type: .string) ] - /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. - public let dryRun: Bool? /// [Default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request. public let groupName: String? + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public let dryRun: Bool? /// The IP permissions for the security group rule. public let ipPermissions: IpPermissionList /// 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. public let groupId: String? - public init(dryRun: Bool? = nil, groupName: String? = nil, ipPermissions: IpPermissionList, groupId: String? = nil) { - self.dryRun = dryRun + public init(groupName: String? = nil, dryRun: Bool? = nil, ipPermissions: IpPermissionList, groupId: String? = nil) { self.groupName = groupName + self.dryRun = dryRun self.ipPermissions = ipPermissions self.groupId = groupId } private enum CodingKeys: String, CodingKey { - case dryRun = "DryRun" case groupName = "GroupName" + case dryRun = "DryRun" case ipPermissions = "IpPermissions" case groupId = "GroupId" } @@ -4496,30 +4757,30 @@ extension Ec2 { public struct UpdateSecurityGroupRuleDescriptionsIngressRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DryRun", required: false, type: .boolean), AWSShapeMember(label: "GroupName", required: false, type: .string), + AWSShapeMember(label: "DryRun", required: false, type: .boolean), AWSShapeMember(label: "IpPermissions", required: true, type: .structure), AWSShapeMember(label: "GroupId", required: false, type: .string) ] - /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. - public let dryRun: Bool? /// [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. public let groupName: String? + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public let dryRun: Bool? /// The IP permissions for the security group rule. public let ipPermissions: IpPermissionList /// 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. public let groupId: String? - public init(dryRun: Bool? = nil, groupName: String? = nil, ipPermissions: IpPermissionList, groupId: String? = nil) { - self.dryRun = dryRun + public init(groupName: String? = nil, dryRun: Bool? = nil, ipPermissions: IpPermissionList, groupId: String? = nil) { self.groupName = groupName + self.dryRun = dryRun self.ipPermissions = ipPermissions self.groupId = groupId } private enum CodingKeys: String, CodingKey { - case dryRun = "DryRun" case groupName = "GroupName" + case dryRun = "DryRun" case ipPermissions = "IpPermissions" case groupId = "GroupId" } @@ -4615,6 +4876,7 @@ extension Ec2 { public struct LaunchTemplateOverrides: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "WeightedCapacity", location: .body(locationName: "weightedCapacity"), required: false, type: .double), + AWSShapeMember(label: "Priority", location: .body(locationName: "priority"), required: false, type: .double), AWSShapeMember(label: "SubnetId", location: .body(locationName: "subnetId"), required: false, type: .string), AWSShapeMember(label: "InstanceType", location: .body(locationName: "instanceType"), required: false, type: .enum), AWSShapeMember(label: "AvailabilityZone", location: .body(locationName: "availabilityZone"), required: false, type: .string), @@ -4622,6 +4884,8 @@ extension Ec2 { ] /// The number of units provided by the specified instance type. public let weightedCapacity: Double? + /// 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. + public let priority: Double? /// The ID of the subnet in which to launch the instances. public let subnetId: String? /// The instance type. @@ -4631,8 +4895,9 @@ extension Ec2 { /// The maximum price per unit hour that you are willing to pay for a Spot Instance. public let spotPrice: String? - public init(weightedCapacity: Double? = nil, subnetId: String? = nil, instanceType: InstanceType? = nil, availabilityZone: String? = nil, spotPrice: String? = nil) { + public init(weightedCapacity: Double? = nil, priority: Double? = nil, subnetId: String? = nil, instanceType: InstanceType? = nil, availabilityZone: String? = nil, spotPrice: String? = nil) { self.weightedCapacity = weightedCapacity + self.priority = priority self.subnetId = subnetId self.instanceType = instanceType self.availabilityZone = availabilityZone @@ -4641,6 +4906,7 @@ extension Ec2 { private enum CodingKeys: String, CodingKey { case weightedCapacity = "weightedCapacity" + case priority = "priority" case subnetId = "subnetId" case instanceType = "instanceType" case availabilityZone = "availabilityZone" @@ -5250,7 +5516,7 @@ extension Ec2 { ] /// The current state of the instance. public let name: InstanceStateName? - /// 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 + /// 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 public let code: Int32? public init(name: InstanceStateName? = nil, code: Int32? = nil) { @@ -5339,32 +5605,32 @@ extension Ec2 { public struct InstancePrivateIpAddress: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Association", location: .body(locationName: "association"), required: false, type: .structure), + AWSShapeMember(label: "PrivateIpAddress", location: .body(locationName: "privateIpAddress"), required: false, type: .string), AWSShapeMember(label: "PrivateDnsName", location: .body(locationName: "privateDnsName"), required: false, type: .string), AWSShapeMember(label: "Primary", location: .body(locationName: "primary"), required: false, type: .boolean), - AWSShapeMember(label: "PrivateIpAddress", location: .body(locationName: "privateIpAddress"), required: false, type: .string) + AWSShapeMember(label: "Association", location: .body(locationName: "association"), required: false, type: .structure) ] - /// The association information for an Elastic IP address for the network interface. - public let association: InstanceNetworkInterfaceAssociation? + /// The private IPv4 address of the network interface. + public let privateIpAddress: String? /// The private IPv4 DNS name. public let privateDnsName: String? /// Indicates whether this IPv4 address is the primary private IP address of the network interface. public let primary: Bool? - /// The private IPv4 address of the network interface. - public let privateIpAddress: String? + /// The association information for an Elastic IP address for the network interface. + public let association: InstanceNetworkInterfaceAssociation? - public init(association: InstanceNetworkInterfaceAssociation? = nil, privateDnsName: String? = nil, primary: Bool? = nil, privateIpAddress: String? = nil) { - self.association = association + public init(privateIpAddress: String? = nil, privateDnsName: String? = nil, primary: Bool? = nil, association: InstanceNetworkInterfaceAssociation? = nil) { + self.privateIpAddress = privateIpAddress self.privateDnsName = privateDnsName self.primary = primary - self.privateIpAddress = privateIpAddress + self.association = association } private enum CodingKeys: String, CodingKey { - case association = "association" + case privateIpAddress = "privateIpAddress" case privateDnsName = "privateDnsName" case primary = "primary" - case privateIpAddress = "privateIpAddress" + case association = "association" } } @@ -5399,6 +5665,82 @@ extension Ec2 { } } + public struct CreateFleetRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TagSpecifications", location: .body(locationName: "TagSpecification"), required: false, type: .structure), + AWSShapeMember(label: "ClientToken", required: false, type: .string), + AWSShapeMember(label: "OnDemandOptions", required: false, type: .structure), + AWSShapeMember(label: "DryRun", required: false, type: .boolean), + AWSShapeMember(label: "SpotOptions", required: false, type: .structure), + AWSShapeMember(label: "LaunchTemplateConfigs", required: true, type: .structure), + AWSShapeMember(label: "ValidUntil", required: false, type: .timestamp), + AWSShapeMember(label: "ExcessCapacityTerminationPolicy", required: false, type: .enum), + AWSShapeMember(label: "ValidFrom", required: false, type: .timestamp), + AWSShapeMember(label: "TerminateInstancesWithExpiration", required: false, type: .boolean), + AWSShapeMember(label: "ReplaceUnhealthyInstances", required: false, type: .boolean), + AWSShapeMember(label: "TargetCapacitySpecification", required: true, type: .structure), + AWSShapeMember(label: "Type", required: false, type: .enum) + ] + /// 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. + public let tagSpecifications: TagSpecificationList? + /// Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency. + public let clientToken: String? + /// The allocation strategy of On-Demand Instances in an EC2 Fleet. + public let onDemandOptions: OnDemandOptionsRequest? + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public let dryRun: Bool? + /// Describes the configuration of Spot Instances in an EC2 Fleet. + public let spotOptions: SpotOptionsRequest? + /// The configuration for the EC2 Fleet. + public let launchTemplateConfigs: FleetLaunchTemplateConfigListRequest + /// 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. + public let validUntil: TimeStamp? + /// 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. + public let excessCapacityTerminationPolicy: FleetExcessCapacityTerminationPolicy? + /// 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. + public let validFrom: TimeStamp? + /// Indicates whether running instances should be terminated when the EC2 Fleet expires. + public let terminateInstancesWithExpiration: Bool? + /// Indicates whether EC2 Fleet should replace unhealthy instances. + public let replaceUnhealthyInstances: Bool? + /// The TotalTargetCapacity, OnDemandTargetCapacity, SpotTargetCapacity, and DefaultCapacityType structure. + public let targetCapacitySpecification: TargetCapacitySpecificationRequest + /// 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. + public let `type`: FleetType? + + public init(tagSpecifications: TagSpecificationList? = nil, clientToken: String? = nil, onDemandOptions: OnDemandOptionsRequest? = nil, dryRun: Bool? = nil, spotOptions: SpotOptionsRequest? = nil, launchTemplateConfigs: FleetLaunchTemplateConfigListRequest, validUntil: TimeStamp? = nil, excessCapacityTerminationPolicy: FleetExcessCapacityTerminationPolicy? = nil, validFrom: TimeStamp? = nil, terminateInstancesWithExpiration: Bool? = nil, replaceUnhealthyInstances: Bool? = nil, targetCapacitySpecification: TargetCapacitySpecificationRequest, type: FleetType? = nil) { + self.tagSpecifications = tagSpecifications + self.clientToken = clientToken + self.onDemandOptions = onDemandOptions + self.dryRun = dryRun + self.spotOptions = spotOptions + self.launchTemplateConfigs = launchTemplateConfigs + self.validUntil = validUntil + self.excessCapacityTerminationPolicy = excessCapacityTerminationPolicy + self.validFrom = validFrom + self.terminateInstancesWithExpiration = terminateInstancesWithExpiration + self.replaceUnhealthyInstances = replaceUnhealthyInstances + self.targetCapacitySpecification = targetCapacitySpecification + self.`type` = `type` + } + + private enum CodingKeys: String, CodingKey { + case tagSpecifications = "TagSpecification" + case clientToken = "ClientToken" + case onDemandOptions = "OnDemandOptions" + case dryRun = "DryRun" + case spotOptions = "SpotOptions" + case launchTemplateConfigs = "LaunchTemplateConfigs" + case validUntil = "ValidUntil" + case excessCapacityTerminationPolicy = "ExcessCapacityTerminationPolicy" + case validFrom = "ValidFrom" + case terminateInstancesWithExpiration = "TerminateInstancesWithExpiration" + case replaceUnhealthyInstances = "ReplaceUnhealthyInstances" + case targetCapacitySpecification = "TargetCapacitySpecification" + case `type` = "Type" + } + } + public struct UnassignPrivateIpAddressesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NetworkInterfaceId", location: .body(locationName: "networkInterfaceId"), required: true, type: .string), @@ -5463,31 +5805,31 @@ extension Ec2 { public struct PriceSchedule: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Price", location: .body(locationName: "price"), required: false, type: .double), - AWSShapeMember(label: "CurrencyCode", location: .body(locationName: "currencyCode"), required: false, type: .enum), AWSShapeMember(label: "Term", location: .body(locationName: "term"), required: false, type: .long), + AWSShapeMember(label: "CurrencyCode", location: .body(locationName: "currencyCode"), required: false, type: .enum), + AWSShapeMember(label: "Price", location: .body(locationName: "price"), required: false, type: .double), AWSShapeMember(label: "Active", location: .body(locationName: "active"), required: false, type: .boolean) ] - /// The fixed price for the term. - public let price: Double? - /// The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD. - public let currencyCode: CurrencyCodeValues? /// The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires. public let term: Int64? + /// The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD. + public let currencyCode: CurrencyCodeValues? + /// The fixed price for the term. + public let price: Double? /// 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. public let active: Bool? - public init(price: Double? = nil, currencyCode: CurrencyCodeValues? = nil, term: Int64? = nil, active: Bool? = nil) { - self.price = price - self.currencyCode = currencyCode + public init(term: Int64? = nil, currencyCode: CurrencyCodeValues? = nil, price: Double? = nil, active: Bool? = nil) { self.term = term + self.currencyCode = currencyCode + self.price = price self.active = active } private enum CodingKeys: String, CodingKey { - case price = "price" - case currencyCode = "currencyCode" case term = "term" + case currencyCode = "currencyCode" + case price = "price" case active = "active" } } @@ -5603,7 +5945,7 @@ extension Ec2 { ] /// One or more route table IDs. Default: Describes all your route tables. public let routeTableIds: ValueStringList? - /// One or more filters. association.route-table-association-id - The ID of an association ID for the route table. association.route-table-id - The ID of the route table involved in the association. association.subnet-id - The ID of the subnet involved in the association. association.main - Indicates whether the route table is the main route table for the VPC (true | false). Route tables that do not have an association ID are not returned in the response. route-table-id - The ID of the route table. route.destination-cidr-block - The IPv4 CIDR range specified in a route in the table. route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table. route.destination-prefix-list-id - The ID (prefix) of the AWS service specified in a route in the table. route.egress-only-internet-gateway-id - The ID of an egress-only Internet gateway specified in a route in the route table. route.gateway-id - The ID of a gateway specified in a route in the table. route.instance-id - The ID of an instance specified in a route in the table. route.nat-gateway-id - The ID of a NAT gateway. route.origin - Describes how the route was created. CreateRouteTable indicates that the route was automatically created when the route table was created; CreateRoute indicates that the route was manually added to the route table; EnableVgwRoutePropagation indicates that the route was propagated by route propagation. route.state - The state of a route in the route table (active | blackhole). The blackhole state indicates that the route's target isn't available (for example, the specified gateway isn't attached to the VPC, the specified NAT instance has been terminated, and so on). route.vpc-peering-connection-id - The ID of a VPC peering connection specified in a route in the table. tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. vpc-id - The ID of the VPC for the route table. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -5756,7 +6098,7 @@ extension Ec2 { public let dryRun: Bool? /// One or more VPC peering connection IDs. Default: Describes all your VPC peering connections. public let vpcPeeringConnectionIds: ValueStringList? - /// 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=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. vpc-peering-connection-id - The ID of the VPC peering connection. + /// 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. public let filters: FilterList? public init(dryRun: Bool? = nil, vpcPeeringConnectionIds: ValueStringList? = nil, filters: FilterList? = nil) { @@ -6068,6 +6410,27 @@ extension Ec2 { } } + public struct DescribeFleetsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Fleets", location: .body(locationName: "fleetSet"), required: false, type: .structure) + ] + /// The token for the next set of results. + public let nextToken: String? + /// Information about the EC2 Fleets. + public let fleets: FleetSet? + + public init(nextToken: String? = nil, fleets: FleetSet? = nil) { + self.nextToken = nextToken + self.fleets = fleets + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case fleets = "fleetSet" + } + } + public struct ImageDiskContainerList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "item", required: false, type: .list) @@ -6146,6 +6509,48 @@ extension Ec2 { } } + public struct DeleteFleetError: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Code", location: .body(locationName: "code"), required: false, type: .enum), + AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) + ] + /// The error code. + public let code: DeleteFleetErrorCode? + /// The description for the error code. + public let message: String? + + public init(code: DeleteFleetErrorCode? = nil, message: String? = nil) { + self.code = code + self.message = message + } + + private enum CodingKeys: String, CodingKey { + case code = "code" + case message = "message" + } + } + + public struct FleetLaunchTemplateConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LaunchTemplateSpecification", location: .body(locationName: "launchTemplateSpecification"), required: false, type: .structure), + AWSShapeMember(label: "Overrides", location: .body(locationName: "overrides"), required: false, type: .structure) + ] + /// The launch template. + public let launchTemplateSpecification: FleetLaunchTemplateSpecification? + /// Any parameters that you specify override the same parameters in the launch template. + public let overrides: FleetLaunchTemplateOverridesList? + + public init(launchTemplateSpecification: FleetLaunchTemplateSpecification? = nil, overrides: FleetLaunchTemplateOverridesList? = nil) { + self.launchTemplateSpecification = launchTemplateSpecification + self.overrides = overrides + } + + private enum CodingKeys: String, CodingKey { + case launchTemplateSpecification = "launchTemplateSpecification" + case overrides = "overrides" + } + } + public struct PurchaseHostReservationResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Purchase", location: .body(locationName: "purchase"), required: false, type: .structure), @@ -6156,11 +6561,11 @@ extension Ec2 { ] /// Describes the details of the purchase. public let purchase: PurchaseSet? - /// The total amount that will be charged to your account when you purchase the reservation. + /// The total amount charged to your account when you purchase the reservation. public let totalUpfrontPrice: String? /// The currency in which the totalUpfrontPrice and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD. public let currencyCode: CurrencyCodeValues? - /// 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 + /// 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. public let clientToken: String? /// The total hourly price of the reservation calculated per hour. public let totalHourlyPrice: String? @@ -6301,6 +6706,12 @@ extension Ec2 { } } + public enum FleetExcessCapacityTerminationPolicy: String, CustomStringConvertible, Codable { + case noTermination = "no-termination" + case termination = "termination" + public var description: String { return self.rawValue } + } + public struct FilterList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Filter", required: false, type: .list) @@ -6622,6 +7033,21 @@ extension Ec2 { } } + public struct DeleteFleetErrorSet: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "item", required: false, type: .list) + ] + public let item: [DeleteFleetErrorItem]? + + public init(item: [DeleteFleetErrorItem]? = nil) { + self.item = item + } + + private enum CodingKeys: String, CodingKey { + case item = "item" + } + } + public struct ScheduledInstancesPrivateIpAddressConfig: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Primary", required: false, type: .boolean), @@ -6783,7 +7209,7 @@ extension Ec2 { ] /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? - /// One or more filters. is-classic-link-enabled - Whether the VPC is enabled for ClassicLink (true | false). tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. + /// 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. public let filters: FilterList? /// One or more VPCs for which you want to describe the ClassicLink status. public let vpcIds: VpcClassicLinkIdList? @@ -6967,7 +7393,7 @@ extension Ec2 { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "HostIds", location: .body(locationName: "hostIdSet"), required: false, type: .structure) ] - /// The ID of the allocated Dedicated Host. This is used when you want to launch an instance onto a specific host. + /// The ID of the allocated Dedicated Host. This is used to launch an instance onto a specific host. public let hostIds: ResponseHostIdList? public init(hostIds: ResponseHostIdList? = nil) { @@ -7448,7 +7874,7 @@ extension Ec2 { ] /// One or more VPN connection IDs. Default: Describes your VPN connections. public let vpnConnectionIds: VpnConnectionIdStringList? - /// One or more filters. customer-gateway-configuration - The configuration information for the customer gateway. customer-gateway-id - The ID of a customer gateway associated with the VPN connection. state - The state of the VPN connection (pending | available | deleting | deleted). option.static-routes-only - Indicates whether the connection has static routes only. Used for devices that do not support Border Gateway Protocol (BGP). route.destination-cidr-block - The destination CIDR block. This corresponds to the subnet used in a customer data center. bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP device. tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. type - The type of VPN connection. Currently the only supported type is ipsec.1. vpn-connection-id - The ID of the VPN connection. vpn-gateway-id - The ID of a virtual private gateway associated with the VPN connection. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -7742,6 +8168,37 @@ extension Ec2 { } } + public struct TargetCapacitySpecificationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TotalTargetCapacity", required: true, type: .integer), + AWSShapeMember(label: "OnDemandTargetCapacity", required: false, type: .integer), + AWSShapeMember(label: "DefaultTargetCapacityType", required: false, type: .enum), + AWSShapeMember(label: "SpotTargetCapacity", required: false, type: .integer) + ] + /// The number of units to request, filled using DefaultTargetCapacityType. + public let totalTargetCapacity: Int32 + /// The number of On-Demand units to request. + public let onDemandTargetCapacity: Int32? + /// The default TotalTargetCapacity, which is either Spot or On-Demand. + public let defaultTargetCapacityType: DefaultTargetCapacityType? + /// The number of Spot units to request. + public let spotTargetCapacity: Int32? + + public init(totalTargetCapacity: Int32, onDemandTargetCapacity: Int32? = nil, defaultTargetCapacityType: DefaultTargetCapacityType? = nil, spotTargetCapacity: Int32? = nil) { + self.totalTargetCapacity = totalTargetCapacity + self.onDemandTargetCapacity = onDemandTargetCapacity + self.defaultTargetCapacityType = defaultTargetCapacityType + self.spotTargetCapacity = spotTargetCapacity + } + + private enum CodingKeys: String, CodingKey { + case totalTargetCapacity = "TotalTargetCapacity" + case onDemandTargetCapacity = "OnDemandTargetCapacity" + case defaultTargetCapacityType = "DefaultTargetCapacityType" + case spotTargetCapacity = "SpotTargetCapacity" + } + } + public struct VolumeStatusEvent: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NotBefore", location: .body(locationName: "notBefore"), required: false, type: .timestamp), @@ -7891,19 +8348,18 @@ extension Ec2 { } } - public struct DisassociateIamInstanceProfileRequest: AWSShape { + public struct PrincipalIdFormatList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AssociationId", required: true, type: .string) + AWSShapeMember(label: "item", required: false, type: .list) ] - /// The ID of the IAM instance profile association. - public let associationId: String + public let item: [PrincipalIdFormat]? - public init(associationId: String) { - self.associationId = associationId + public init(item: [PrincipalIdFormat]? = nil) { + self.item = item } private enum CodingKeys: String, CodingKey { - case associationId = "AssociationId" + case item = "item" } } @@ -7945,6 +8401,24 @@ extension Ec2 { case r44Xlarge = "r4.4xlarge" case r48Xlarge = "r4.8xlarge" case r416Xlarge = "r4.16xlarge" + case r5Large = "r5.large" + case r5Xlarge = "r5.xlarge" + case r52Xlarge = "r5.2xlarge" + case r54Xlarge = "r5.4xlarge" + case r58Xlarge = "r5.8xlarge" + case r512Xlarge = "r5.12xlarge" + case r516Xlarge = "r5.16xlarge" + case r524Xlarge = "r5.24xlarge" + case r5Metal = "r5.metal" + case r5dLarge = "r5d.large" + case r5dXlarge = "r5d.xlarge" + case r5d2Xlarge = "r5d.2xlarge" + case r5d4Xlarge = "r5d.4xlarge" + case r5d8Xlarge = "r5d.8xlarge" + case r5d12Xlarge = "r5d.12xlarge" + case r5d16Xlarge = "r5d.16xlarge" + case r5d24Xlarge = "r5d.24xlarge" + case r5dMetal = "r5d.metal" case x116Xlarge = "x1.16xlarge" case x132Xlarge = "x1.32xlarge" case x1eXlarge = "x1e.xlarge" @@ -7963,6 +8437,7 @@ extension Ec2 { case i34Xlarge = "i3.4xlarge" case i38Xlarge = "i3.8xlarge" case i316Xlarge = "i3.16xlarge" + case i3Metal = "i3.metal" case hi14Xlarge = "hi1.4xlarge" case hs18Xlarge = "hs1.8xlarge" case c1Medium = "c1.medium" @@ -7983,6 +8458,12 @@ extension Ec2 { case c54Xlarge = "c5.4xlarge" case c59Xlarge = "c5.9xlarge" case c518Xlarge = "c5.18xlarge" + case c5dLarge = "c5d.large" + case c5dXlarge = "c5d.xlarge" + case c5d2Xlarge = "c5d.2xlarge" + case c5d4Xlarge = "c5d.4xlarge" + case c5d9Xlarge = "c5d.9xlarge" + case c5d18Xlarge = "c5d.18xlarge" case cc14Xlarge = "cc1.4xlarge" case cc28Xlarge = "cc2.8xlarge" case g22Xlarge = "g2.2xlarge" @@ -8009,13 +8490,41 @@ extension Ec2 { case m54Xlarge = "m5.4xlarge" case m512Xlarge = "m5.12xlarge" case m524Xlarge = "m5.24xlarge" + case m5dLarge = "m5d.large" + case m5dXlarge = "m5d.xlarge" + case m5d2Xlarge = "m5d.2xlarge" + case m5d4Xlarge = "m5d.4xlarge" + case m5d12Xlarge = "m5d.12xlarge" + case m5d24Xlarge = "m5d.24xlarge" case h12Xlarge = "h1.2xlarge" case h14Xlarge = "h1.4xlarge" case h18Xlarge = "h1.8xlarge" case h116Xlarge = "h1.16xlarge" + case z1dLarge = "z1d.large" + case z1dXlarge = "z1d.xlarge" + case z1d2Xlarge = "z1d.2xlarge" + case z1d3Xlarge = "z1d.3xlarge" + case z1d6Xlarge = "z1d.6xlarge" + case z1d12Xlarge = "z1d.12xlarge" public var description: String { return self.rawValue } } + public struct DisassociateIamInstanceProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AssociationId", required: true, type: .string) + ] + /// The ID of the IAM instance profile association. + public let associationId: String + + public init(associationId: String) { + self.associationId = associationId + } + + private enum CodingKeys: String, CodingKey { + case associationId = "AssociationId" + } + } + public struct VpcClassicLink: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "VpcId", location: .body(locationName: "vpcId"), required: false, type: .string), @@ -8114,6 +8623,21 @@ extension Ec2 { } } + public struct FleetSet: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "item", required: false, type: .list) + ] + public let item: [FleetData]? + + public init(item: [FleetData]? = nil) { + self.item = item + } + + private enum CodingKeys: String, CodingKey { + case item = "item" + } + } + public struct NetworkAclAssociation: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SubnetId", location: .body(locationName: "subnetId"), required: false, type: .string), @@ -8140,12 +8664,6 @@ extension Ec2 { } } - public enum OfferingClassType: String, CustomStringConvertible, Codable { - case standard = "standard" - case convertible = "convertible" - public var description: String { return self.rawValue } - } - public struct PurchaseScheduledInstancesResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ScheduledInstanceSet", location: .body(locationName: "scheduledInstanceSet"), required: false, type: .structure) @@ -8162,6 +8680,12 @@ extension Ec2 { } } + public enum OfferingClassType: String, CustomStringConvertible, Codable { + case standard = "standard" + case convertible = "convertible" + public var description: String { return self.rawValue } + } + public struct DeleteNatGatewayRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NatGatewayId", required: true, type: .string) @@ -8204,7 +8728,7 @@ extension Ec2 { AWSShapeMember(label: "AvailableInstanceCapacity", location: .body(locationName: "availableInstanceCapacity"), required: false, type: .structure), AWSShapeMember(label: "AvailableVCpus", location: .body(locationName: "availableVCpus"), required: false, type: .integer) ] - /// The total number of instances that the Dedicated Host supports. + /// The total number of instances supported by the Dedicated Host. public let availableInstanceCapacity: AvailableInstanceCapacityList? /// The number of vCPUs available on the Dedicated Host. public let availableVCpus: Int32? @@ -8256,39 +8780,40 @@ extension Ec2 { } } - public struct DescribeVpcEndpointServicePermissionsResult: AWSShape { + public struct OnDemandOptionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AllowedPrincipals", location: .body(locationName: "allowedPrincipals"), required: false, type: .structure), - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) + AWSShapeMember(label: "AllocationStrategy", required: false, type: .enum) ] - /// Information about one or more allowed principals. - public let allowedPrincipals: AllowedPrincipalSet? - /// The token to use to retrieve the next page of results. This value is null when there are no more results to return. - public let nextToken: String? + /// 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. + public let allocationStrategy: FleetOnDemandAllocationStrategy? - public init(allowedPrincipals: AllowedPrincipalSet? = nil, nextToken: String? = nil) { - self.allowedPrincipals = allowedPrincipals - self.nextToken = nextToken + public init(allocationStrategy: FleetOnDemandAllocationStrategy? = nil) { + self.allocationStrategy = allocationStrategy } private enum CodingKeys: String, CodingKey { - case allowedPrincipals = "allowedPrincipals" - case nextToken = "nextToken" + case allocationStrategy = "AllocationStrategy" } } - public struct SnapshotList: AWSShape { + public struct DescribeVpcEndpointServicePermissionsResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "item", required: false, type: .list) + AWSShapeMember(label: "AllowedPrincipals", location: .body(locationName: "allowedPrincipals"), required: false, type: .structure), + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) ] - public let item: [Snapshot]? + /// Information about one or more allowed principals. + public let allowedPrincipals: AllowedPrincipalSet? + /// The token to use to retrieve the next page of results. This value is null when there are no more results to return. + public let nextToken: String? - public init(item: [Snapshot]? = nil) { - self.item = item + public init(allowedPrincipals: AllowedPrincipalSet? = nil, nextToken: String? = nil) { + self.allowedPrincipals = allowedPrincipals + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case item = "item" + case allowedPrincipals = "allowedPrincipals" + case nextToken = "nextToken" } } @@ -8370,6 +8895,37 @@ extension Ec2 { } } + public struct SnapshotList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "item", required: false, type: .list) + ] + public let item: [Snapshot]? + + public init(item: [Snapshot]? = nil) { + self.item = item + } + + private enum CodingKeys: String, CodingKey { + case item = "item" + } + } + + public struct DeleteVpcEndpointServiceConfigurationsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Unsuccessful", location: .body(locationName: "unsuccessful"), required: false, type: .structure) + ] + /// Information about the service configurations that were not deleted, if applicable. + public let unsuccessful: UnsuccessfulItemSet? + + public init(unsuccessful: UnsuccessfulItemSet? = nil) { + self.unsuccessful = unsuccessful + } + + private enum CodingKeys: String, CodingKey { + case unsuccessful = "unsuccessful" + } + } + public struct SpotPrice: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Timestamp", location: .body(locationName: "timestamp"), required: false, type: .timestamp), @@ -8406,22 +8962,6 @@ extension Ec2 { } } - public struct DeleteVpcEndpointServiceConfigurationsResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Unsuccessful", location: .body(locationName: "unsuccessful"), required: false, type: .structure) - ] - /// Information about the service configurations that were not deleted, if applicable. - public let unsuccessful: UnsuccessfulItemSet? - - public init(unsuccessful: UnsuccessfulItemSet? = nil) { - self.unsuccessful = unsuccessful - } - - private enum CodingKeys: String, CodingKey { - case unsuccessful = "unsuccessful" - } - } - public struct InstanceCreditSpecification: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "InstanceId", location: .body(locationName: "instanceId"), required: false, type: .string), @@ -8508,8 +9048,8 @@ extension Ec2 { AWSShapeMember(label: "ProductCodes", location: .body(locationName: "productCodes"), required: false, type: .structure), AWSShapeMember(label: "LaunchPermissions", location: .body(locationName: "launchPermission"), required: false, type: .structure), AWSShapeMember(label: "SriovNetSupport", location: .body(locationName: "sriovNetSupport"), required: false, type: .structure), - AWSShapeMember(label: "KernelId", location: .body(locationName: "kernel"), required: false, type: .structure), AWSShapeMember(label: "ImageId", location: .body(locationName: "imageId"), required: false, type: .string), + AWSShapeMember(label: "KernelId", location: .body(locationName: "kernel"), required: false, type: .structure), AWSShapeMember(label: "RamdiskId", location: .body(locationName: "ramdisk"), required: false, type: .structure), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .structure) ] @@ -8521,22 +9061,22 @@ extension Ec2 { public let launchPermissions: LaunchPermissionList? /// Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled. public let sriovNetSupport: AttributeValue? - /// The kernel ID. - public let kernelId: AttributeValue? /// The ID of the AMI. public let imageId: String? + /// The kernel ID. + public let kernelId: AttributeValue? /// The RAM disk ID. public let ramdiskId: AttributeValue? /// A description for the AMI. public let description: AttributeValue? - public init(blockDeviceMappings: BlockDeviceMappingList? = nil, productCodes: ProductCodeList? = nil, launchPermissions: LaunchPermissionList? = nil, sriovNetSupport: AttributeValue? = nil, kernelId: AttributeValue? = nil, imageId: String? = nil, ramdiskId: AttributeValue? = nil, description: AttributeValue? = nil) { + public init(blockDeviceMappings: BlockDeviceMappingList? = nil, productCodes: ProductCodeList? = nil, launchPermissions: LaunchPermissionList? = nil, sriovNetSupport: AttributeValue? = nil, imageId: String? = nil, kernelId: AttributeValue? = nil, ramdiskId: AttributeValue? = nil, description: AttributeValue? = nil) { self.blockDeviceMappings = blockDeviceMappings self.productCodes = productCodes self.launchPermissions = launchPermissions self.sriovNetSupport = sriovNetSupport - self.kernelId = kernelId self.imageId = imageId + self.kernelId = kernelId self.ramdiskId = ramdiskId self.description = description } @@ -8546,41 +9086,72 @@ extension Ec2 { case productCodes = "productCodes" case launchPermissions = "launchPermission" case sriovNetSupport = "sriovNetSupport" - case kernelId = "kernel" case imageId = "imageId" + case kernelId = "kernel" case ramdiskId = "ramdisk" case description = "description" } } + public struct TargetCapacitySpecification: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TotalTargetCapacity", location: .body(locationName: "totalTargetCapacity"), required: false, type: .integer), + AWSShapeMember(label: "OnDemandTargetCapacity", location: .body(locationName: "onDemandTargetCapacity"), required: false, type: .integer), + AWSShapeMember(label: "DefaultTargetCapacityType", location: .body(locationName: "defaultTargetCapacityType"), required: false, type: .enum), + AWSShapeMember(label: "SpotTargetCapacity", location: .body(locationName: "spotTargetCapacity"), required: false, type: .integer) + ] + /// The number of units to request, filled using DefaultTargetCapacityType. + public let totalTargetCapacity: Int32? + /// The number of On-Demand units to request. + public let onDemandTargetCapacity: Int32? + /// The default TotalTargetCapacity, which is either Spot or On-Demand. + public let defaultTargetCapacityType: DefaultTargetCapacityType? + /// The maximum number of Spot units to launch. + public let spotTargetCapacity: Int32? + + public init(totalTargetCapacity: Int32? = nil, onDemandTargetCapacity: Int32? = nil, defaultTargetCapacityType: DefaultTargetCapacityType? = nil, spotTargetCapacity: Int32? = nil) { + self.totalTargetCapacity = totalTargetCapacity + self.onDemandTargetCapacity = onDemandTargetCapacity + self.defaultTargetCapacityType = defaultTargetCapacityType + self.spotTargetCapacity = spotTargetCapacity + } + + private enum CodingKeys: String, CodingKey { + case totalTargetCapacity = "totalTargetCapacity" + case onDemandTargetCapacity = "onDemandTargetCapacity" + case defaultTargetCapacityType = "defaultTargetCapacityType" + case spotTargetCapacity = "spotTargetCapacity" + } + } + public struct CreateInstanceExportTaskRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TargetEnvironment", location: .body(locationName: "targetEnvironment"), required: false, type: .enum), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), AWSShapeMember(label: "ExportToS3Task", location: .body(locationName: "exportToS3"), required: false, type: .structure), AWSShapeMember(label: "InstanceId", location: .body(locationName: "instanceId"), required: true, type: .string), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + AWSShapeMember(label: "TargetEnvironment", location: .body(locationName: "targetEnvironment"), required: false, type: .enum) ] - /// The target virtualization environment. - public let targetEnvironment: ExportEnvironment? + /// A description for the conversion task or the resource being exported. The maximum length is 255 bytes. + public let description: String? /// The format and location for an instance export task. public let exportToS3Task: ExportToS3TaskSpecification? /// The ID of the instance. public let instanceId: String - /// A description for the conversion task or the resource being exported. The maximum length is 255 bytes. - public let description: String? + /// The target virtualization environment. + public let targetEnvironment: ExportEnvironment? - public init(targetEnvironment: ExportEnvironment? = nil, exportToS3Task: ExportToS3TaskSpecification? = nil, instanceId: String, description: String? = nil) { - self.targetEnvironment = targetEnvironment + public init(description: String? = nil, exportToS3Task: ExportToS3TaskSpecification? = nil, instanceId: String, targetEnvironment: ExportEnvironment? = nil) { + self.description = description self.exportToS3Task = exportToS3Task self.instanceId = instanceId - self.description = description + self.targetEnvironment = targetEnvironment } private enum CodingKeys: String, CodingKey { - case targetEnvironment = "targetEnvironment" + case description = "description" case exportToS3Task = "exportToS3" case instanceId = "instanceId" - case description = "description" + case targetEnvironment = "targetEnvironment" } } @@ -8760,21 +9331,25 @@ extension Ec2 { public struct ModifyInstancePlacementRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Affinity", location: .body(locationName: "affinity"), required: false, type: .enum), + AWSShapeMember(label: "GroupName", required: false, type: .string), AWSShapeMember(label: "HostId", location: .body(locationName: "hostId"), required: false, type: .string), AWSShapeMember(label: "InstanceId", location: .body(locationName: "instanceId"), required: true, type: .string), AWSShapeMember(label: "Tenancy", location: .body(locationName: "tenancy"), required: false, type: .enum) ] - /// The new affinity setting for the instance. + /// The affinity setting for the instance. public let affinity: Affinity? - /// The ID of the Dedicated Host that the instance will have affinity with. + /// 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 (""). + public let groupName: String? + /// The ID of the Dedicated Host with which to associate the instance. public let hostId: String? /// The ID of the instance that you are modifying. public let instanceId: String - /// The tenancy of the instance that you are modifying. + /// The tenancy for the instance. public let tenancy: HostTenancy? - public init(affinity: Affinity? = nil, hostId: String? = nil, instanceId: String, tenancy: HostTenancy? = nil) { + public init(affinity: Affinity? = nil, groupName: String? = nil, hostId: String? = nil, instanceId: String, tenancy: HostTenancy? = nil) { self.affinity = affinity + self.groupName = groupName self.hostId = hostId self.instanceId = instanceId self.tenancy = tenancy @@ -8782,6 +9357,7 @@ extension Ec2 { private enum CodingKeys: String, CodingKey { case affinity = "affinity" + case groupName = "GroupName" case hostId = "hostId" case instanceId = "instanceId" case tenancy = "tenancy" @@ -9185,51 +9761,35 @@ extension Ec2 { public struct CreateVpnGatewayRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AmazonSideAsn", required: false, type: .long), - AWSShapeMember(label: "Type", required: true, type: .enum), AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), + AWSShapeMember(label: "Type", required: true, type: .enum), + AWSShapeMember(label: "AmazonSideAsn", required: false, type: .long), AWSShapeMember(label: "AvailabilityZone", required: false, type: .string) ] - /// 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 - public let amazonSideAsn: Int64? - /// The type of VPN connection this virtual private gateway supports. - public let `type`: GatewayType /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? + /// The type of VPN connection this virtual private gateway supports. + public let `type`: GatewayType + /// 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 + public let amazonSideAsn: Int64? /// The Availability Zone for the virtual private gateway. public let availabilityZone: String? - public init(amazonSideAsn: Int64? = nil, type: GatewayType, dryRun: Bool? = nil, availabilityZone: String? = nil) { - self.amazonSideAsn = amazonSideAsn - self.`type` = `type` + public init(dryRun: Bool? = nil, type: GatewayType, amazonSideAsn: Int64? = nil, availabilityZone: String? = nil) { self.dryRun = dryRun + self.`type` = `type` + self.amazonSideAsn = amazonSideAsn self.availabilityZone = availabilityZone } private enum CodingKeys: String, CodingKey { - case amazonSideAsn = "AmazonSideAsn" - case `type` = "Type" case dryRun = "dryRun" + case `type` = "Type" + case amazonSideAsn = "AmazonSideAsn" case availabilityZone = "AvailabilityZone" } } - public struct DeleteSpotDatafeedSubscriptionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean) - ] - /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. - public let dryRun: Bool? - - public init(dryRun: Bool? = nil) { - self.dryRun = dryRun - } - - private enum CodingKeys: String, CodingKey { - case dryRun = "dryRun" - } - } - public struct Route: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EgressOnlyInternetGatewayId", location: .body(locationName: "egressOnlyInternetGatewayId"), required: false, type: .string), @@ -9391,7 +9951,7 @@ extension Ec2 { AWSShapeMember(label: "InstanceIds", location: .body(locationName: "InstanceId"), required: false, type: .structure), AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer) ] - /// 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 an opaque internal value and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped). instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped). instance-type - The type of instance (for example, t2.micro). instance.group-id - The ID of the security group for the instance. instance.group-name - The name of the security group for the instance. ip-address - The public IPv4 address of the instance. kernel-id - The kernel ID. key-name - The name of the key pair used when the instance was launched. launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on). launch-time - The time when the instance was launched. monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled). network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface. network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address. network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface. network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface. network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface. network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface. network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface. network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address. network-interface.attachment.attachment-id - The ID of the interface attachment. network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached. network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached. network-interface.attachment.device-index - The device index to which the network interface is attached. network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached). network-interface.attachment.attach-time - The time that the network interface was attached to an instance. network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated. network-interface.availability-zone - The Availability Zone for the network interface. network-interface.description - The description of the network interface. network-interface.group-id - The ID of a security group associated with the network interface. network-interface.group-name - The name of a security group associated with the network interface. network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface. network-interface.mac-address - The MAC address of the network interface. network-interface.network-interface-id - The ID of the network interface. network-interface.owner-id - The ID of the owner of the network interface. network-interface.private-dns-name - The private DNS name of the network interface. network-interface.requester-id - The requester ID for the network interface. network-interface.requester-managed - Indicates whether the network interface is being managed by AWS. network-interface.status - The status of the network interface (available) | in-use). network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means 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=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of the tag's key). 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. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -9399,7 +9959,7 @@ extension Ec2 { public let nextToken: String? /// One or more instance IDs. Default: Describes all your instances. public let instanceIds: InstanceIdStringList? - /// 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. + /// 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. public let maxResults: Int32? public init(filters: FilterList? = nil, dryRun: Bool? = nil, nextToken: String? = nil, instanceIds: InstanceIdStringList? = nil, maxResults: Int32? = nil) { @@ -9466,6 +10026,22 @@ extension Ec2 { } } + public struct DeleteSpotDatafeedSubscriptionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean) + ] + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public let dryRun: Bool? + + public init(dryRun: Bool? = nil) { + self.dryRun = dryRun + } + + private enum CodingKeys: String, CodingKey { + case dryRun = "dryRun" + } + } + public enum FpgaImageStateCode: String, CustomStringConvertible, Codable { case pending = "pending" case failed = "failed" @@ -9476,31 +10052,31 @@ extension Ec2 { public struct DeleteNetworkAclEntryRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NetworkAclId", location: .body(locationName: "networkAclId"), required: true, type: .string), - AWSShapeMember(label: "RuleNumber", location: .body(locationName: "ruleNumber"), required: true, type: .integer), AWSShapeMember(label: "Egress", location: .body(locationName: "egress"), required: true, type: .boolean), + AWSShapeMember(label: "RuleNumber", location: .body(locationName: "ruleNumber"), required: true, type: .integer), + AWSShapeMember(label: "NetworkAclId", location: .body(locationName: "networkAclId"), required: true, type: .string), AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean) ] - /// The ID of the network ACL. - public let networkAclId: String - /// The rule number of the entry to delete. - public let ruleNumber: Int32 /// Indicates whether the rule is an egress rule. public let egress: Bool + /// The rule number of the entry to delete. + public let ruleNumber: Int32 + /// The ID of the network ACL. + public let networkAclId: String /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? - public init(networkAclId: String, ruleNumber: Int32, egress: Bool, dryRun: Bool? = nil) { - self.networkAclId = networkAclId - self.ruleNumber = ruleNumber + public init(egress: Bool, ruleNumber: Int32, networkAclId: String, dryRun: Bool? = nil) { self.egress = egress + self.ruleNumber = ruleNumber + self.networkAclId = networkAclId self.dryRun = dryRun } private enum CodingKeys: String, CodingKey { - case networkAclId = "networkAclId" - case ruleNumber = "ruleNumber" case egress = "egress" + case ruleNumber = "ruleNumber" + case networkAclId = "networkAclId" case dryRun = "dryRun" } } @@ -9672,10 +10248,10 @@ extension Ec2 { public struct ModifyVpcEndpointServiceConfigurationRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AddNetworkLoadBalancerArns", location: .body(locationName: "addNetworkLoadBalancerArn"), required: false, type: .structure), + AWSShapeMember(label: "AddNetworkLoadBalancerArns", location: .body(locationName: "AddNetworkLoadBalancerArn"), required: false, type: .structure), AWSShapeMember(label: "ServiceId", required: true, type: .string), AWSShapeMember(label: "DryRun", required: false, type: .boolean), - AWSShapeMember(label: "RemoveNetworkLoadBalancerArns", location: .body(locationName: "removeNetworkLoadBalancerArn"), required: false, type: .structure), + AWSShapeMember(label: "RemoveNetworkLoadBalancerArns", location: .body(locationName: "RemoveNetworkLoadBalancerArn"), required: false, type: .structure), AWSShapeMember(label: "AcceptanceRequired", required: false, type: .boolean) ] /// The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service configuration. @@ -9698,10 +10274,10 @@ extension Ec2 { } private enum CodingKeys: String, CodingKey { - case addNetworkLoadBalancerArns = "addNetworkLoadBalancerArn" + case addNetworkLoadBalancerArns = "AddNetworkLoadBalancerArn" case serviceId = "ServiceId" case dryRun = "DryRun" - case removeNetworkLoadBalancerArns = "removeNetworkLoadBalancerArn" + case removeNetworkLoadBalancerArns = "RemoveNetworkLoadBalancerArn" case acceptanceRequired = "AcceptanceRequired" } } @@ -9796,11 +10372,11 @@ extension Ec2 { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "GroupNames", location: .body(locationName: "GroupName"), required: false, type: .structure) ] - /// 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. + /// 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. public let maxResults: Int32? /// One or more security group IDs. Required for security groups in a nondefault VPC. Default: Describes all your security groups. public let groupIds: GroupIdStringList? - /// 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 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. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -9836,9 +10412,9 @@ extension Ec2 { AWSShapeMember(label: "Tags", location: .body(locationName: "tagSet"), required: false, type: .structure), AWSShapeMember(label: "Encrypted", location: .body(locationName: "encrypted"), required: false, type: .boolean), AWSShapeMember(label: "OwnerId", location: .body(locationName: "ownerId"), required: false, type: .string), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), - AWSShapeMember(label: "StartTime", location: .body(locationName: "startTime"), required: false, type: .timestamp), AWSShapeMember(label: "DataEncryptionKeyId", location: .body(locationName: "dataEncryptionKeyId"), required: false, type: .string), + AWSShapeMember(label: "StartTime", location: .body(locationName: "startTime"), required: false, type: .timestamp), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), AWSShapeMember(label: "Progress", location: .body(locationName: "progress"), required: false, type: .string), AWSShapeMember(label: "SnapshotId", location: .body(locationName: "snapshotId"), required: false, type: .string), AWSShapeMember(label: "VolumeSize", location: .body(locationName: "volumeSize"), required: false, type: .integer), @@ -9857,12 +10433,12 @@ extension Ec2 { public let encrypted: Bool? /// The AWS account ID of the EBS snapshot owner. public let ownerId: String? - /// The description for the snapshot. - public let description: String? - /// The time stamp when the snapshot was initiated. - public let startTime: TimeStamp? /// 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. public let dataEncryptionKeyId: String? + /// The time stamp when the snapshot was initiated. + public let startTime: TimeStamp? + /// The description for the snapshot. + public let description: String? /// The progress of the snapshot, as a percentage. public let progress: String? /// The ID of the snapshot. Each snapshot receives a unique identifier when it is created. @@ -9874,16 +10450,16 @@ extension Ec2 { /// 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. public let kmsKeyId: String? - public init(stateMessage: String? = nil, state: SnapshotState? = nil, volumeId: String? = nil, tags: TagList? = nil, encrypted: Bool? = nil, ownerId: String? = nil, description: String? = nil, startTime: TimeStamp? = nil, dataEncryptionKeyId: String? = nil, progress: String? = nil, snapshotId: String? = nil, volumeSize: Int32? = nil, ownerAlias: String? = nil, kmsKeyId: String? = nil) { + public init(stateMessage: String? = nil, state: SnapshotState? = nil, volumeId: String? = nil, tags: TagList? = nil, encrypted: Bool? = nil, ownerId: String? = nil, dataEncryptionKeyId: String? = nil, startTime: TimeStamp? = nil, description: String? = nil, progress: String? = nil, snapshotId: String? = nil, volumeSize: Int32? = nil, ownerAlias: String? = nil, kmsKeyId: String? = nil) { self.stateMessage = stateMessage self.state = state self.volumeId = volumeId self.tags = tags self.encrypted = encrypted self.ownerId = ownerId - self.description = description - self.startTime = startTime self.dataEncryptionKeyId = dataEncryptionKeyId + self.startTime = startTime + self.description = description self.progress = progress self.snapshotId = snapshotId self.volumeSize = volumeSize @@ -9898,9 +10474,9 @@ extension Ec2 { case tags = "tagSet" case encrypted = "encrypted" case ownerId = "ownerId" - case description = "description" - case startTime = "startTime" case dataEncryptionKeyId = "dataEncryptionKeyId" + case startTime = "startTime" + case description = "description" case progress = "progress" case snapshotId = "snapshotId" case volumeSize = "volumeSize" @@ -9917,7 +10493,7 @@ extension Ec2 { ] /// One or more VPC IDs. Default: Describes all your VPCs. public let vpcIds: VpcIdStringList? - /// 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=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. vpc-id - The ID of the VPC. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -9972,15 +10548,15 @@ extension Ec2 { AWSShapeMember(label: "BlockDeviceMappings", location: .body(locationName: "BlockDeviceMapping"), required: false, type: .structure), AWSShapeMember(label: "SriovNetSupport", location: .body(locationName: "sriovNetSupport"), required: false, type: .string), AWSShapeMember(label: "RootDeviceName", location: .body(locationName: "rootDeviceName"), required: false, type: .string), - AWSShapeMember(label: "ImageLocation", required: false, type: .string), + AWSShapeMember(label: "VirtualizationType", location: .body(locationName: "virtualizationType"), required: false, type: .string), AWSShapeMember(label: "KernelId", location: .body(locationName: "kernelId"), required: false, type: .string), AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), AWSShapeMember(label: "EnaSupport", location: .body(locationName: "enaSupport"), required: false, type: .boolean), AWSShapeMember(label: "Architecture", location: .body(locationName: "architecture"), required: false, type: .enum), - AWSShapeMember(label: "VirtualizationType", location: .body(locationName: "virtualizationType"), required: false, type: .string), - AWSShapeMember(label: "RamdiskId", location: .body(locationName: "ramdiskId"), required: false, type: .string) + AWSShapeMember(label: "RamdiskId", location: .body(locationName: "ramdiskId"), required: false, type: .string), + AWSShapeMember(label: "ImageLocation", required: false, type: .string) ] /// 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. public let billingProducts: BillingProductList? @@ -9990,8 +10566,8 @@ extension Ec2 { public let sriovNetSupport: String? /// The device name of the root device volume (for example, /dev/sda1). public let rootDeviceName: String? - /// The full path to your AMI manifest in Amazon S3 storage. - public let imageLocation: String? + /// The type of virtualization (hvm | paravirtual). Default: paravirtual + public let virtualizationType: String? /// The ID of the kernel. public let kernelId: String? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. @@ -10004,25 +10580,25 @@ extension Ec2 { public let enaSupport: Bool? /// The architecture of the AMI. Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture specified in the manifest file. public let architecture: ArchitectureValues? - /// The type of virtualization (hvm | paravirtual). Default: paravirtual - public let virtualizationType: String? /// The ID of the RAM disk. public let ramdiskId: String? + /// The full path to your AMI manifest in Amazon S3 storage. + public let imageLocation: String? - public init(billingProducts: BillingProductList? = nil, blockDeviceMappings: BlockDeviceMappingRequestList? = nil, sriovNetSupport: String? = nil, rootDeviceName: String? = nil, imageLocation: String? = nil, kernelId: String? = nil, dryRun: Bool? = nil, description: String? = nil, name: String, enaSupport: Bool? = nil, architecture: ArchitectureValues? = nil, virtualizationType: String? = nil, ramdiskId: String? = nil) { + public init(billingProducts: BillingProductList? = nil, blockDeviceMappings: BlockDeviceMappingRequestList? = nil, sriovNetSupport: String? = nil, rootDeviceName: String? = nil, virtualizationType: String? = nil, kernelId: String? = nil, dryRun: Bool? = nil, description: String? = nil, name: String, enaSupport: Bool? = nil, architecture: ArchitectureValues? = nil, ramdiskId: String? = nil, imageLocation: String? = nil) { self.billingProducts = billingProducts self.blockDeviceMappings = blockDeviceMappings self.sriovNetSupport = sriovNetSupport self.rootDeviceName = rootDeviceName - self.imageLocation = imageLocation + self.virtualizationType = virtualizationType self.kernelId = kernelId self.dryRun = dryRun self.description = description self.name = name self.enaSupport = enaSupport self.architecture = architecture - self.virtualizationType = virtualizationType self.ramdiskId = ramdiskId + self.imageLocation = imageLocation } private enum CodingKeys: String, CodingKey { @@ -10030,15 +10606,15 @@ extension Ec2 { case blockDeviceMappings = "BlockDeviceMapping" case sriovNetSupport = "sriovNetSupport" case rootDeviceName = "rootDeviceName" - case imageLocation = "ImageLocation" + case virtualizationType = "virtualizationType" case kernelId = "kernelId" case dryRun = "dryRun" case description = "description" case name = "name" case enaSupport = "enaSupport" case architecture = "architecture" - case virtualizationType = "virtualizationType" case ramdiskId = "ramdiskId" + case imageLocation = "ImageLocation" } } @@ -10241,9 +10817,10 @@ extension Ec2 { AWSShapeMember(label: "Placement", required: false, type: .structure), AWSShapeMember(label: "NetworkInterfaces", location: .body(locationName: "networkInterface"), required: false, type: .structure), AWSShapeMember(label: "ImageId", required: false, type: .string), - AWSShapeMember(label: "LaunchTemplate", required: false, type: .structure) + AWSShapeMember(label: "LaunchTemplate", required: false, type: .structure), + AWSShapeMember(label: "CpuOptions", required: false, type: .structure) ] - /// The tags to apply to the resources during launch. You can tag instances and volumes. The specified tags are applied to all instances or volumes that are created during launch. + /// 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. public let tagSpecifications: TagSpecificationList? /// 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 public let disableApiTermination: Bool? @@ -10289,7 +10866,7 @@ extension Ec2 { public let creditSpecification: CreditSpecificationRequest? /// [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. public let securityGroups: SecurityGroupStringList? - /// The market (purchasing) option for the instances. + /// 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. public let instanceMarketOptions: InstanceMarketOptionsRequest? /// 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. public let maxCount: Int32 @@ -10299,12 +10876,14 @@ extension Ec2 { public let placement: Placement? /// One or more network interfaces. public let networkInterfaces: InstanceNetworkInterfaceSpecificationList? - /// The ID of the AMI, which you can get by calling DescribeImages. + /// 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. public let imageId: String? - /// The launch template to use to launch the instances. Any parameters that you specify in RunInstances override the same parameters in the launch template. + /// 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. public let launchTemplate: LaunchTemplateSpecification? + /// The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide. + public let cpuOptions: CpuOptionsRequest? - public init(tagSpecifications: TagSpecificationList? = nil, disableApiTermination: Bool? = nil, clientToken: String? = nil, ebsOptimized: Bool? = nil, kernelId: String? = nil, ipv6AddressCount: Int32? = nil, instanceType: InstanceType? = nil, privateIpAddress: String? = nil, elasticGpuSpecification: ElasticGpuSpecifications? = nil, keyName: String? = nil, iamInstanceProfile: IamInstanceProfileSpecification? = nil, instanceInitiatedShutdownBehavior: ShutdownBehavior? = nil, ipv6Addresses: InstanceIpv6AddressList? = nil, minCount: Int32, ramdiskId: String? = nil, blockDeviceMappings: BlockDeviceMappingRequestList? = nil, subnetId: String? = nil, userData: String? = nil, securityGroupIds: SecurityGroupIdStringList? = nil, monitoring: RunInstancesMonitoringEnabled? = nil, dryRun: Bool? = nil, creditSpecification: CreditSpecificationRequest? = nil, securityGroups: SecurityGroupStringList? = nil, instanceMarketOptions: InstanceMarketOptionsRequest? = nil, maxCount: Int32, additionalInfo: String? = nil, placement: Placement? = nil, networkInterfaces: InstanceNetworkInterfaceSpecificationList? = nil, imageId: String? = nil, launchTemplate: LaunchTemplateSpecification? = nil) { + public init(tagSpecifications: TagSpecificationList? = nil, disableApiTermination: Bool? = nil, clientToken: String? = nil, ebsOptimized: Bool? = nil, kernelId: String? = nil, ipv6AddressCount: Int32? = nil, instanceType: InstanceType? = nil, privateIpAddress: String? = nil, elasticGpuSpecification: ElasticGpuSpecifications? = nil, keyName: String? = nil, iamInstanceProfile: IamInstanceProfileSpecification? = nil, instanceInitiatedShutdownBehavior: ShutdownBehavior? = nil, ipv6Addresses: InstanceIpv6AddressList? = nil, minCount: Int32, ramdiskId: String? = nil, blockDeviceMappings: BlockDeviceMappingRequestList? = nil, subnetId: String? = nil, userData: String? = nil, securityGroupIds: SecurityGroupIdStringList? = nil, monitoring: RunInstancesMonitoringEnabled? = nil, dryRun: Bool? = nil, creditSpecification: CreditSpecificationRequest? = nil, securityGroups: SecurityGroupStringList? = nil, instanceMarketOptions: InstanceMarketOptionsRequest? = nil, maxCount: Int32, additionalInfo: String? = nil, placement: Placement? = nil, networkInterfaces: InstanceNetworkInterfaceSpecificationList? = nil, imageId: String? = nil, launchTemplate: LaunchTemplateSpecification? = nil, cpuOptions: CpuOptionsRequest? = nil) { self.tagSpecifications = tagSpecifications self.disableApiTermination = disableApiTermination self.clientToken = clientToken @@ -10335,6 +10914,7 @@ extension Ec2 { self.networkInterfaces = networkInterfaces self.imageId = imageId self.launchTemplate = launchTemplate + self.cpuOptions = cpuOptions } private enum CodingKeys: String, CodingKey { @@ -10368,6 +10948,7 @@ extension Ec2 { case networkInterfaces = "networkInterface" case imageId = "ImageId" case launchTemplate = "LaunchTemplate" + case cpuOptions = "CpuOptions" } } @@ -10401,7 +10982,7 @@ extension Ec2 { public let spotInstanceRequestId: String? /// Any tags assigned to the resource. public let tags: TagList? - /// The state of the Spot Instance request. Spot status information can help you track your Spot Instance requests. For more information, see Spot Status in the Amazon Elastic Compute Cloud User Guide. + /// 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. public let state: SpotInstanceState? /// The maximum price per hour that you are willing to pay for a Spot Instance. public let spotPrice: String? @@ -10559,9 +11140,9 @@ extension Ec2 { AWSShapeMember(label: "CreateDate", location: .body(locationName: "createDate"), required: false, type: .timestamp), AWSShapeMember(label: "HourlyPrice", location: .body(locationName: "hourlyPrice"), required: false, type: .string), AWSShapeMember(label: "InstanceType", location: .body(locationName: "instanceType"), required: false, type: .string), - AWSShapeMember(label: "SlotDurationInHours", location: .body(locationName: "slotDurationInHours"), required: false, type: .integer), AWSShapeMember(label: "ScheduledInstanceId", location: .body(locationName: "scheduledInstanceId"), required: false, type: .string), AWSShapeMember(label: "AvailabilityZone", location: .body(locationName: "availabilityZone"), required: false, type: .string), + AWSShapeMember(label: "SlotDurationInHours", location: .body(locationName: "slotDurationInHours"), required: false, type: .integer), AWSShapeMember(label: "TermStartDate", location: .body(locationName: "termStartDate"), required: false, type: .timestamp), AWSShapeMember(label: "TermEndDate", location: .body(locationName: "termEndDate"), required: false, type: .timestamp), AWSShapeMember(label: "NextSlotStartTime", location: .body(locationName: "nextSlotStartTime"), required: false, type: .timestamp), @@ -10581,12 +11162,12 @@ extension Ec2 { public let hourlyPrice: String? /// The instance type. public let instanceType: String? - /// The number of hours in the schedule. - public let slotDurationInHours: Int32? /// The Scheduled Instance ID. public let scheduledInstanceId: String? /// The Availability Zone. public let availabilityZone: String? + /// The number of hours in the schedule. + public let slotDurationInHours: Int32? /// The start date for the Scheduled Instance. public let termStartDate: TimeStamp? /// The end date for the Scheduled Instance. @@ -10600,16 +11181,16 @@ extension Ec2 { /// The schedule recurrence. public let recurrence: ScheduledInstanceRecurrence? - public init(platform: String? = nil, previousSlotEndTime: TimeStamp? = nil, totalScheduledInstanceHours: Int32? = nil, createDate: TimeStamp? = nil, hourlyPrice: String? = nil, instanceType: String? = nil, slotDurationInHours: Int32? = nil, scheduledInstanceId: String? = nil, availabilityZone: String? = nil, termStartDate: TimeStamp? = nil, termEndDate: TimeStamp? = nil, nextSlotStartTime: TimeStamp? = nil, instanceCount: Int32? = nil, networkPlatform: String? = nil, recurrence: ScheduledInstanceRecurrence? = nil) { + public init(platform: String? = nil, previousSlotEndTime: TimeStamp? = nil, totalScheduledInstanceHours: Int32? = nil, createDate: TimeStamp? = nil, hourlyPrice: String? = nil, instanceType: String? = nil, scheduledInstanceId: String? = nil, availabilityZone: String? = nil, slotDurationInHours: Int32? = nil, termStartDate: TimeStamp? = nil, termEndDate: TimeStamp? = nil, nextSlotStartTime: TimeStamp? = nil, instanceCount: Int32? = nil, networkPlatform: String? = nil, recurrence: ScheduledInstanceRecurrence? = nil) { self.platform = platform self.previousSlotEndTime = previousSlotEndTime self.totalScheduledInstanceHours = totalScheduledInstanceHours self.createDate = createDate self.hourlyPrice = hourlyPrice self.instanceType = instanceType - self.slotDurationInHours = slotDurationInHours self.scheduledInstanceId = scheduledInstanceId self.availabilityZone = availabilityZone + self.slotDurationInHours = slotDurationInHours self.termStartDate = termStartDate self.termEndDate = termEndDate self.nextSlotStartTime = nextSlotStartTime @@ -10625,9 +11206,9 @@ extension Ec2 { case createDate = "createDate" case hourlyPrice = "hourlyPrice" case instanceType = "instanceType" - case slotDurationInHours = "slotDurationInHours" case scheduledInstanceId = "scheduledInstanceId" case availabilityZone = "availabilityZone" + case slotDurationInHours = "slotDurationInHours" case termStartDate = "termStartDate" case termEndDate = "termEndDate" case nextSlotStartTime = "nextSlotStartTime" @@ -10647,7 +11228,7 @@ extension Ec2 { public let nextToken: String? /// The ID of the Spot Fleet request. public let spotFleetRequestId: String - /// The running instances. Note that this list is refreshed periodically and might be out of date. + /// The running instances. This list is refreshed periodically and might be out of date. public let activeInstances: ActiveInstanceSet public init(nextToken: String? = nil, spotFleetRequestId: String, activeInstances: ActiveInstanceSet) { @@ -10949,14 +11530,50 @@ extension Ec2 { } } - public struct RecurringChargesList: AWSShape { + public struct DescribeFleetInstancesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "item", required: false, type: .list) + AWSShapeMember(label: "Filters", location: .body(locationName: "Filter"), required: false, type: .structure), + AWSShapeMember(label: "DryRun", required: false, type: .boolean), + AWSShapeMember(label: "FleetId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - public let item: [RecurringCharge]? + /// One or more filters. instance-type - The instance type. + public let filters: FilterList? + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public let dryRun: Bool? + /// The ID of the EC2 Fleet. + public let fleetId: String + /// The token for the next set of results. + public let nextToken: String? + /// 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. + public let maxResults: Int32? - public init(item: [RecurringCharge]? = nil) { - self.item = item + public init(filters: FilterList? = nil, dryRun: Bool? = nil, fleetId: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.filters = filters + self.dryRun = dryRun + self.fleetId = fleetId + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case filters = "Filter" + case dryRun = "DryRun" + case fleetId = "FleetId" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct RecurringChargesList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "item", required: false, type: .list) + ] + public let item: [RecurringCharge]? + + public init(item: [RecurringCharge]? = nil) { + self.item = item } private enum CodingKeys: String, CodingKey { @@ -11046,6 +11663,47 @@ extension Ec2 { public var description: String { return self.rawValue } } + public struct FleetLaunchTemplateOverridesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WeightedCapacity", required: false, type: .double), + AWSShapeMember(label: "Priority", required: false, type: .double), + AWSShapeMember(label: "SubnetId", required: false, type: .string), + AWSShapeMember(label: "MaxPrice", required: false, type: .string), + AWSShapeMember(label: "InstanceType", required: false, type: .enum), + AWSShapeMember(label: "AvailabilityZone", required: false, type: .string) + ] + /// The number of units provided by the specified instance type. + public let weightedCapacity: Double? + /// 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. + public let priority: Double? + /// The ID of the subnet in which to launch the instances. + public let subnetId: String? + /// The maximum price per unit hour that you are willing to pay for a Spot Instance. + public let maxPrice: String? + /// The instance type. + public let instanceType: InstanceType? + /// The Availability Zone in which to launch the instances. + public let availabilityZone: String? + + public init(weightedCapacity: Double? = nil, priority: Double? = nil, subnetId: String? = nil, maxPrice: String? = nil, instanceType: InstanceType? = nil, availabilityZone: String? = nil) { + self.weightedCapacity = weightedCapacity + self.priority = priority + self.subnetId = subnetId + self.maxPrice = maxPrice + self.instanceType = instanceType + self.availabilityZone = availabilityZone + } + + private enum CodingKeys: String, CodingKey { + case weightedCapacity = "WeightedCapacity" + case priority = "Priority" + case subnetId = "SubnetId" + case maxPrice = "MaxPrice" + case instanceType = "InstanceType" + case availabilityZone = "AvailabilityZone" + } + } + public struct OccurrenceDayRequestSet: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "OccurenceDay", required: false, type: .list) @@ -11092,7 +11750,7 @@ extension Ec2 { public let volumeId: String? /// The time stamp when volume creation was initiated. public let createTime: TimeStamp? - /// 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. + /// 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. public let iops: Int32? /// The Availability Zone for the volume. public let availabilityZone: String? @@ -11144,11 +11802,11 @@ extension Ec2 { public let currencyCode: CurrencyCodeValues? /// 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. public let clientToken: String? - /// The ID/s of the Dedicated Host/s that the reservation will be associated with. + /// The IDs of the Dedicated Hosts with which the reservation will be associated. public let hostIdSet: RequestHostIdSet /// The ID of the offering. public let offeringId: String - /// 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. + /// 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. public let limitPrice: String? public init(currencyCode: CurrencyCodeValues? = nil, clientToken: String? = nil, hostIdSet: RequestHostIdSet, offeringId: String, limitPrice: String? = nil) { @@ -11186,7 +11844,7 @@ extension Ec2 { public let createVolumePermission: CreateVolumePermissionModifications? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? - /// The snapshot attribute to modify. Only volume creation permissions may be modified at the customer level. + /// The snapshot attribute to modify. Only volume creation permissions can be modified. public let attribute: SnapshotAttributeName? /// The type of operation to perform to the attribute. public let operationType: OperationType? @@ -11539,13 +12197,13 @@ extension Ec2 { AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer) ] - /// 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. + /// 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. public let filter: FilterList? /// The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches. public let hostIds: RequestHostIdList? /// The token to retrieve the next page of results. public let nextToken: String? - /// 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. + /// 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. public let maxResults: Int32? public init(filter: FilterList? = nil, hostIds: RequestHostIdList? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { @@ -11578,6 +12236,32 @@ extension Ec2 { } } + public struct SpotOptionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstancePoolsToUseCount", required: false, type: .integer), + AWSShapeMember(label: "AllocationStrategy", required: false, type: .enum), + AWSShapeMember(label: "InstanceInterruptionBehavior", required: false, type: .enum) + ] + /// 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. + public let instancePoolsToUseCount: Int32? + /// Indicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet request. The default is lowestPrice. + public let allocationStrategy: SpotAllocationStrategy? + /// The behavior when a Spot Instance is interrupted. The default is terminate. + public let instanceInterruptionBehavior: SpotInstanceInterruptionBehavior? + + public init(instancePoolsToUseCount: Int32? = nil, allocationStrategy: SpotAllocationStrategy? = nil, instanceInterruptionBehavior: SpotInstanceInterruptionBehavior? = nil) { + self.instancePoolsToUseCount = instancePoolsToUseCount + self.allocationStrategy = allocationStrategy + self.instanceInterruptionBehavior = instanceInterruptionBehavior + } + + private enum CodingKeys: String, CodingKey { + case instancePoolsToUseCount = "InstancePoolsToUseCount" + case allocationStrategy = "AllocationStrategy" + case instanceInterruptionBehavior = "InstanceInterruptionBehavior" + } + } + public struct AllocateAddressRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Address", required: false, type: .string), @@ -11738,16 +12422,16 @@ extension Ec2 { public struct AssociateAddressRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PrivateIpAddress", location: .body(locationName: "privateIpAddress"), required: false, type: .string), + AWSShapeMember(label: "AllowReassociation", location: .body(locationName: "allowReassociation"), required: false, type: .boolean), AWSShapeMember(label: "NetworkInterfaceId", location: .body(locationName: "networkInterfaceId"), required: false, type: .string), AWSShapeMember(label: "InstanceId", required: false, type: .string), AWSShapeMember(label: "AllocationId", required: false, type: .string), AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), AWSShapeMember(label: "PublicIp", required: false, type: .string), - AWSShapeMember(label: "AllowReassociation", location: .body(locationName: "allowReassociation"), required: false, type: .boolean) + AWSShapeMember(label: "PrivateIpAddress", location: .body(locationName: "privateIpAddress"), required: false, type: .string) ] - /// [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. - public let privateIpAddress: String? + /// [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. + public let allowReassociation: Bool? /// [EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID. public let networkInterfaceId: String? /// 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. @@ -11758,27 +12442,27 @@ extension Ec2 { public let dryRun: Bool? /// The Elastic IP address. This is required for EC2-Classic. public let publicIp: String? - /// [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. - public let allowReassociation: Bool? + /// [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. + public let privateIpAddress: String? - public init(privateIpAddress: String? = nil, networkInterfaceId: String? = nil, instanceId: String? = nil, allocationId: String? = nil, dryRun: Bool? = nil, publicIp: String? = nil, allowReassociation: Bool? = nil) { - self.privateIpAddress = privateIpAddress + public init(allowReassociation: Bool? = nil, networkInterfaceId: String? = nil, instanceId: String? = nil, allocationId: String? = nil, dryRun: Bool? = nil, publicIp: String? = nil, privateIpAddress: String? = nil) { + self.allowReassociation = allowReassociation self.networkInterfaceId = networkInterfaceId self.instanceId = instanceId self.allocationId = allocationId self.dryRun = dryRun self.publicIp = publicIp - self.allowReassociation = allowReassociation + self.privateIpAddress = privateIpAddress } private enum CodingKeys: String, CodingKey { - case privateIpAddress = "privateIpAddress" + case allowReassociation = "allowReassociation" case networkInterfaceId = "networkInterfaceId" case instanceId = "InstanceId" case allocationId = "AllocationId" case dryRun = "dryRun" case publicIp = "PublicIp" - case allowReassociation = "allowReassociation" + case privateIpAddress = "privateIpAddress" } } @@ -12069,6 +12753,21 @@ extension Ec2 { } } + public struct ResourceList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "item", required: false, type: .list) + ] + public let item: [String]? + + public init(item: [String]? = nil) { + self.item = item + } + + private enum CodingKeys: String, CodingKey { + case item = "item" + } + } + public struct DescribeVpcEndpointConnectionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Filters", location: .body(locationName: "Filter"), required: false, type: .structure), @@ -12076,7 +12775,7 @@ extension Ec2 { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// One or more filters. customer-account-id - The AWS account number of the owner of the endpoint. endpoint-connection-state - The state of the endpoint (PendingAcceptance | Pending | Available | Deleting | Deleted | Rejected | Failed). vpc-endpoint-id - The ID of the endpoint. vpc-endpoint-service-id - The ID of the service. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -12417,7 +13116,7 @@ extension Ec2 { AWSShapeMember(label: "InstanceIds", location: .body(locationName: "InstanceId"), required: false, type: .structure), AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer) ] - /// 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. + /// 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 that the instance is linked to. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -12454,7 +13153,7 @@ extension Ec2 { ] /// Suppresses the specified device included in the block device mapping of the AMI. public let noDevice: String? - /// 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. + /// 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. public let virtualName: String? /// The device name (for example, /dev/sdh or xvdh). public let deviceName: String? @@ -12666,9 +13365,9 @@ extension Ec2 { AWSShapeMember(label: "MaxTermDurationInDays", location: .body(locationName: "maxTermDurationInDays"), required: false, type: .integer), AWSShapeMember(label: "AvailableInstanceCount", location: .body(locationName: "availableInstanceCount"), required: false, type: .integer), AWSShapeMember(label: "InstanceType", location: .body(locationName: "instanceType"), required: false, type: .string), - AWSShapeMember(label: "SlotDurationInHours", location: .body(locationName: "slotDurationInHours"), required: false, type: .integer), AWSShapeMember(label: "AvailabilityZone", location: .body(locationName: "availabilityZone"), required: false, type: .string), AWSShapeMember(label: "HourlyPrice", location: .body(locationName: "hourlyPrice"), required: false, type: .string), + AWSShapeMember(label: "SlotDurationInHours", location: .body(locationName: "slotDurationInHours"), required: false, type: .integer), AWSShapeMember(label: "FirstSlotStartTime", location: .body(locationName: "firstSlotStartTime"), required: false, type: .timestamp), AWSShapeMember(label: "NetworkPlatform", location: .body(locationName: "networkPlatform"), required: false, type: .string), AWSShapeMember(label: "PurchaseToken", location: .body(locationName: "purchaseToken"), required: false, type: .string), @@ -12686,12 +13385,12 @@ extension Ec2 { public let availableInstanceCount: Int32? /// The instance type. You can specify one of the C3, C4, M4, or R3 instance types. public let instanceType: String? - /// The number of hours in the schedule. - public let slotDurationInHours: Int32? /// The Availability Zone. public let availabilityZone: String? /// The hourly price for a single instance. public let hourlyPrice: String? + /// The number of hours in the schedule. + public let slotDurationInHours: Int32? /// The time period for the first schedule to start. public let firstSlotStartTime: TimeStamp? /// The network platform (EC2-Classic or EC2-VPC). @@ -12701,16 +13400,16 @@ extension Ec2 { /// The schedule recurrence. public let recurrence: ScheduledInstanceRecurrence? - public init(platform: String? = nil, totalScheduledInstanceHours: Int32? = nil, minTermDurationInDays: Int32? = nil, maxTermDurationInDays: Int32? = nil, availableInstanceCount: Int32? = nil, instanceType: String? = nil, slotDurationInHours: Int32? = nil, availabilityZone: String? = nil, hourlyPrice: String? = nil, firstSlotStartTime: TimeStamp? = nil, networkPlatform: String? = nil, purchaseToken: String? = nil, recurrence: ScheduledInstanceRecurrence? = nil) { + public init(platform: String? = nil, totalScheduledInstanceHours: Int32? = nil, minTermDurationInDays: Int32? = nil, maxTermDurationInDays: Int32? = nil, availableInstanceCount: Int32? = nil, instanceType: String? = nil, availabilityZone: String? = nil, hourlyPrice: String? = nil, slotDurationInHours: Int32? = nil, firstSlotStartTime: TimeStamp? = nil, networkPlatform: String? = nil, purchaseToken: String? = nil, recurrence: ScheduledInstanceRecurrence? = nil) { self.platform = platform self.totalScheduledInstanceHours = totalScheduledInstanceHours self.minTermDurationInDays = minTermDurationInDays self.maxTermDurationInDays = maxTermDurationInDays self.availableInstanceCount = availableInstanceCount self.instanceType = instanceType - self.slotDurationInHours = slotDurationInHours self.availabilityZone = availabilityZone self.hourlyPrice = hourlyPrice + self.slotDurationInHours = slotDurationInHours self.firstSlotStartTime = firstSlotStartTime self.networkPlatform = networkPlatform self.purchaseToken = purchaseToken @@ -12724,9 +13423,9 @@ extension Ec2 { case maxTermDurationInDays = "maxTermDurationInDays" case availableInstanceCount = "availableInstanceCount" case instanceType = "instanceType" - case slotDurationInHours = "slotDurationInHours" case availabilityZone = "availabilityZone" case hourlyPrice = "hourlyPrice" + case slotDurationInHours = "slotDurationInHours" case firstSlotStartTime = "firstSlotStartTime" case networkPlatform = "networkPlatform" case purchaseToken = "purchaseToken" @@ -12769,7 +13468,7 @@ extension Ec2 { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "HostIds", location: .body(locationName: "hostId"), required: true, type: .structure) ] - /// The IDs of the Dedicated Hosts you want to release. + /// The IDs of the Dedicated Hosts to release. public let hostIds: RequestHostIdList public init(hostIds: RequestHostIdList) { @@ -12980,7 +13679,7 @@ extension Ec2 { AWSShapeMember(label: "CurrencyCode", location: .body(locationName: "currencyCode"), required: false, type: .enum), AWSShapeMember(label: "TotalHourlyPrice", location: .body(locationName: "totalHourlyPrice"), required: false, type: .string) ] - /// The purchase information of the Dedicated Host Reservation and the Dedicated Hosts associated with it. + /// The purchase information of the Dedicated Host reservation and the Dedicated Hosts associated with it. public let purchase: PurchaseSet? /// The potential total upfront price. This is billed immediately. public let totalUpfrontPrice: String? @@ -13727,7 +14426,7 @@ extension Ec2 { AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer) ] - /// 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. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -13751,6 +14450,21 @@ extension Ec2 { } } + public struct DeleteFleetSuccessSet: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "item", required: false, type: .list) + ] + public let item: [DeleteFleetSuccessItem]? + + public init(item: [DeleteFleetSuccessItem]? = nil) { + self.item = item + } + + private enum CodingKeys: String, CodingKey { + case item = "item" + } + } + public enum FpgaImageAttributeName: String, CustomStringConvertible, Codable { case description = "description" case name = "name" @@ -13764,7 +14478,7 @@ extension Ec2 { AWSShapeMember(label: "Resource", required: true, type: .string), AWSShapeMember(label: "UseLongIds", required: true, type: .boolean) ] - /// The type of resource: instance | reservation | snapshot | volume + /// 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. public let resource: String /// Indicate whether the resource should use longer IDs (17-character IDs). public let useLongIds: Bool @@ -13780,32 +14494,6 @@ extension Ec2 { } } - public struct PrefixList: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PrefixListId", location: .body(locationName: "prefixListId"), required: false, type: .string), - AWSShapeMember(label: "PrefixListName", location: .body(locationName: "prefixListName"), required: false, type: .string), - AWSShapeMember(label: "Cidrs", location: .body(locationName: "cidrSet"), required: false, type: .structure) - ] - /// The ID of the prefix. - public let prefixListId: String? - /// The name of the prefix. - public let prefixListName: String? - /// The IP address range of the AWS service. - public let cidrs: ValueStringList? - - public init(prefixListId: String? = nil, prefixListName: String? = nil, cidrs: ValueStringList? = nil) { - self.prefixListId = prefixListId - self.prefixListName = prefixListName - self.cidrs = cidrs - } - - private enum CodingKeys: String, CodingKey { - case prefixListId = "prefixListId" - case prefixListName = "prefixListName" - case cidrs = "cidrSet" - } - } - public enum SubnetCidrBlockStateCode: String, CustomStringConvertible, Codable { case associating = "associating" case associated = "associated" @@ -13837,6 +14525,32 @@ extension Ec2 { } } + public struct PrefixList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PrefixListId", location: .body(locationName: "prefixListId"), required: false, type: .string), + AWSShapeMember(label: "PrefixListName", location: .body(locationName: "prefixListName"), required: false, type: .string), + AWSShapeMember(label: "Cidrs", location: .body(locationName: "cidrSet"), required: false, type: .structure) + ] + /// The ID of the prefix. + public let prefixListId: String? + /// The name of the prefix. + public let prefixListName: String? + /// The IP address range of the AWS service. + public let cidrs: ValueStringList? + + public init(prefixListId: String? = nil, prefixListName: String? = nil, cidrs: ValueStringList? = nil) { + self.prefixListId = prefixListId + self.prefixListName = prefixListName + self.cidrs = cidrs + } + + private enum CodingKeys: String, CodingKey { + case prefixListId = "prefixListId" + case prefixListName = "prefixListName" + case cidrs = "cidrSet" + } + } + public struct DetachNetworkInterfaceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), @@ -13896,22 +14610,27 @@ extension Ec2 { public struct GetConsoleOutputRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), AWSShapeMember(label: "InstanceId", required: true, type: .string), - AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean) + AWSShapeMember(label: "Latest", required: false, type: .boolean) ] - /// The ID of the instance. - public let instanceId: String /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? + /// The ID of the instance. + public let instanceId: String + /// When enabled, retrieves the latest console output for the instance. Default: disabled (false) + public let latest: Bool? - public init(instanceId: String, dryRun: Bool? = nil) { - self.instanceId = instanceId + public init(dryRun: Bool? = nil, instanceId: String, latest: Bool? = nil) { self.dryRun = dryRun + self.instanceId = instanceId + self.latest = latest } private enum CodingKeys: String, CodingKey { - case instanceId = "InstanceId" case dryRun = "dryRun" + case instanceId = "InstanceId" + case latest = "Latest" } } @@ -13986,7 +14705,7 @@ extension Ec2 { AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), AWSShapeMember(label: "SpotPriceHistory", location: .body(locationName: "spotPriceHistorySet"), required: false, type: .structure) ] - /// The token required to retrieve the next set of results. This value is null when there are no more results to return. + /// 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. public let nextToken: String? /// The historical Spot prices. public let spotPriceHistory: SpotPriceHistoryList? @@ -14182,6 +14901,27 @@ extension Ec2 { } } + public struct DescribeAggregateIdFormatResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UseLongIdsAggregated", location: .body(locationName: "useLongIdsAggregated"), required: false, type: .boolean), + AWSShapeMember(label: "Statuses", location: .body(locationName: "statusSet"), required: false, type: .structure) + ] + /// 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. + public let useLongIdsAggregated: Bool? + /// Information about each resource's ID format. + public let statuses: IdFormatList? + + public init(useLongIdsAggregated: Bool? = nil, statuses: IdFormatList? = nil) { + self.useLongIdsAggregated = useLongIdsAggregated + self.statuses = statuses + } + + private enum CodingKeys: String, CodingKey { + case useLongIdsAggregated = "useLongIdsAggregated" + case statuses = "statusSet" + } + } + public enum SpotInstanceState: String, CustomStringConvertible, Codable { case open = "open" case active = "active" @@ -14240,8 +14980,9 @@ extension Ec2 { AWSShapeMember(label: "StateTransitionReason", location: .body(locationName: "reason"), required: false, type: .string), AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "groupSet"), required: false, type: .structure), AWSShapeMember(label: "Hypervisor", location: .body(locationName: "hypervisor"), required: false, type: .enum), - AWSShapeMember(label: "Architecture", location: .body(locationName: "architecture"), required: false, type: .enum), + AWSShapeMember(label: "CpuOptions", location: .body(locationName: "cpuOptions"), required: false, type: .structure), AWSShapeMember(label: "ImageId", location: .body(locationName: "imageId"), required: false, type: .string), + AWSShapeMember(label: "Architecture", location: .body(locationName: "architecture"), required: false, type: .enum), AWSShapeMember(label: "EnaSupport", location: .body(locationName: "enaSupport"), required: false, type: .boolean), AWSShapeMember(label: "NetworkInterfaces", location: .body(locationName: "networkInterfaceSet"), required: false, type: .structure), AWSShapeMember(label: "AmiLaunchIndex", location: .body(locationName: "amiLaunchIndex"), required: false, type: .integer), @@ -14312,10 +15053,12 @@ extension Ec2 { public let securityGroups: GroupIdentifierList? /// The hypervisor type of the instance. public let hypervisor: HypervisorType? - /// The architecture of the image. - public let architecture: ArchitectureValues? + /// The CPU options for the instance. + public let cpuOptions: CpuOptions? /// The ID of the AMI used to launch the instance. public let imageId: String? + /// The architecture of the image. + public let architecture: ArchitectureValues? /// Specifies whether enhanced networking with ENA is enabled. public let enaSupport: Bool? /// [EC2-VPC] One or more network interfaces for the instance. @@ -14327,7 +15070,7 @@ extension Ec2 { /// The virtualization type of the instance. public let virtualizationType: VirtualizationType? - public init(clientToken: String? = nil, rootDeviceName: String? = nil, ebsOptimized: Bool? = nil, sourceDestCheck: Bool? = nil, elasticGpuAssociations: ElasticGpuAssociationList? = nil, kernelId: String? = nil, privateDnsName: String? = nil, instanceType: InstanceType? = nil, privateIpAddress: String? = nil, productCodes: ProductCodeList? = nil, keyName: String? = nil, instanceId: String? = nil, iamInstanceProfile: IamInstanceProfile? = nil, publicDnsName: String? = nil, vpcId: String? = nil, rootDeviceType: DeviceType? = nil, ramdiskId: String? = nil, instanceLifecycle: InstanceLifecycleType? = nil, blockDeviceMappings: InstanceBlockDeviceMappingList? = nil, subnetId: String? = nil, platform: PlatformValues? = nil, sriovNetSupport: String? = nil, spotInstanceRequestId: String? = nil, tags: TagList? = nil, launchTime: TimeStamp? = nil, state: InstanceState? = nil, publicIpAddress: String? = nil, monitoring: Monitoring? = nil, stateReason: StateReason? = nil, stateTransitionReason: String? = nil, securityGroups: GroupIdentifierList? = nil, hypervisor: HypervisorType? = nil, architecture: ArchitectureValues? = nil, imageId: String? = nil, enaSupport: Bool? = nil, networkInterfaces: InstanceNetworkInterfaceList? = nil, amiLaunchIndex: Int32? = nil, placement: Placement? = nil, virtualizationType: VirtualizationType? = nil) { + public init(clientToken: String? = nil, rootDeviceName: String? = nil, ebsOptimized: Bool? = nil, sourceDestCheck: Bool? = nil, elasticGpuAssociations: ElasticGpuAssociationList? = nil, kernelId: String? = nil, privateDnsName: String? = nil, instanceType: InstanceType? = nil, privateIpAddress: String? = nil, productCodes: ProductCodeList? = nil, keyName: String? = nil, instanceId: String? = nil, iamInstanceProfile: IamInstanceProfile? = nil, publicDnsName: String? = nil, vpcId: String? = nil, rootDeviceType: DeviceType? = nil, ramdiskId: String? = nil, instanceLifecycle: InstanceLifecycleType? = nil, blockDeviceMappings: InstanceBlockDeviceMappingList? = nil, subnetId: String? = nil, platform: PlatformValues? = nil, sriovNetSupport: String? = nil, spotInstanceRequestId: String? = nil, tags: TagList? = nil, launchTime: TimeStamp? = nil, state: InstanceState? = nil, publicIpAddress: String? = nil, monitoring: Monitoring? = nil, stateReason: StateReason? = nil, stateTransitionReason: String? = nil, securityGroups: GroupIdentifierList? = nil, hypervisor: HypervisorType? = nil, cpuOptions: CpuOptions? = nil, imageId: String? = nil, architecture: ArchitectureValues? = nil, enaSupport: Bool? = nil, networkInterfaces: InstanceNetworkInterfaceList? = nil, amiLaunchIndex: Int32? = nil, placement: Placement? = nil, virtualizationType: VirtualizationType? = nil) { self.clientToken = clientToken self.rootDeviceName = rootDeviceName self.ebsOptimized = ebsOptimized @@ -14360,8 +15103,9 @@ extension Ec2 { self.stateTransitionReason = stateTransitionReason self.securityGroups = securityGroups self.hypervisor = hypervisor - self.architecture = architecture + self.cpuOptions = cpuOptions self.imageId = imageId + self.architecture = architecture self.enaSupport = enaSupport self.networkInterfaces = networkInterfaces self.amiLaunchIndex = amiLaunchIndex @@ -14402,8 +15146,9 @@ extension Ec2 { case stateTransitionReason = "reason" case securityGroups = "groupSet" case hypervisor = "hypervisor" - case architecture = "architecture" + case cpuOptions = "cpuOptions" case imageId = "imageId" + case architecture = "architecture" case enaSupport = "enaSupport" case networkInterfaces = "networkInterfaceSet" case amiLaunchIndex = "amiLaunchIndex" @@ -14722,7 +15467,7 @@ extension Ec2 { public let privateIpAddress: String? /// [EC2-VPC] The ID of the subnet in which to launch the instance. public let subnetId: String? - /// 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. + /// The Base64-encoded user data to make available to the instance. public let userData: UserData? /// One or more security group IDs. public let groupIds: SecurityGroupIdStringList? @@ -14791,6 +15536,47 @@ extension Ec2 { } } + public struct DescribeFleetHistoryRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StartTime", required: true, type: .timestamp), + AWSShapeMember(label: "DryRun", required: false, type: .boolean), + AWSShapeMember(label: "EventType", required: false, type: .enum), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "FleetId", required: true, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). + public let startTime: TimeStamp + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public let dryRun: Bool? + /// The type of events to describe. By default, all events are described. + public let eventType: FleetEventType? + /// The token for the next set of results. + public let nextToken: String? + /// The ID of the EC2 Fleet. + public let fleetId: String + /// 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. + public let maxResults: Int32? + + public init(startTime: TimeStamp, dryRun: Bool? = nil, eventType: FleetEventType? = nil, nextToken: String? = nil, fleetId: String, maxResults: Int32? = nil) { + self.startTime = startTime + self.dryRun = dryRun + self.eventType = eventType + self.nextToken = nextToken + self.fleetId = fleetId + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case startTime = "StartTime" + case dryRun = "DryRun" + case eventType = "EventType" + case nextToken = "NextToken" + case fleetId = "FleetId" + case maxResults = "MaxResults" + } + } + public struct SpotInstanceStatus: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string), @@ -14799,7 +15585,7 @@ extension Ec2 { ] /// The description for the status code. public let message: String? - /// The status code. For a list of status codes, see Spot Status Codes in the Amazon Elastic Compute Cloud User Guide. + /// The status code. For a list of status codes, see Spot Status Codes in the Amazon EC2 User Guide for Linux Instances. public let code: String? /// The date and time of the most recent status update, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). public let updateTime: TimeStamp? @@ -15043,23 +15829,55 @@ extension Ec2 { } } - public struct IamInstanceProfile: AWSShape { + public struct FleetLaunchTemplateSpecificationRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + AWSShapeMember(label: "LaunchTemplateName", required: false, type: .string), + AWSShapeMember(label: "LaunchTemplateId", required: false, type: .string), + AWSShapeMember(label: "Version", required: false, type: .string) ] - /// The Amazon Resource Name (ARN) of the instance profile. - public let arn: String? - /// The ID of the instance profile. - public let id: String? + /// The name of the launch template. + public let launchTemplateName: String? + /// The ID of the launch template. + public let launchTemplateId: String? + /// The version number of the launch template. + public let version: String? - public init(arn: String? = nil, id: String? = nil) { - self.arn = arn - self.id = id + public init(launchTemplateName: String? = nil, launchTemplateId: String? = nil, version: String? = nil) { + self.launchTemplateName = launchTemplateName + self.launchTemplateId = launchTemplateId + self.version = version } private enum CodingKeys: String, CodingKey { - case arn = "arn" + case launchTemplateName = "LaunchTemplateName" + case launchTemplateId = "LaunchTemplateId" + case version = "Version" + } + } + + public enum OnDemandAllocationStrategy: String, CustomStringConvertible, Codable { + case lowestprice = "lowestPrice" + case prioritized = "prioritized" + public var description: String { return self.rawValue } + } + + public struct IamInstanceProfile: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the instance profile. + public let arn: String? + /// The ID of the instance profile. + public let id: String? + + public init(arn: String? = nil, id: String? = nil) { + self.arn = arn + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case arn = "arn" case id = "id" } } @@ -15136,24 +15954,45 @@ extension Ec2 { } } - public struct RequestSpotFleetRequest: AWSShape { + public enum FleetOnDemandAllocationStrategy: String, CustomStringConvertible, Codable { + case lowestPrice = "lowest-price" + case prioritized = "prioritized" + public var description: String { return self.rawValue } + } + + public struct DescribeFleetsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SpotFleetRequestConfig", location: .body(locationName: "spotFleetRequestConfig"), required: true, type: .structure), - AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean) + AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "Filters", location: .body(locationName: "Filter"), required: false, type: .structure), + AWSShapeMember(label: "DryRun", required: false, type: .boolean), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "FleetIds", location: .body(locationName: "FleetId"), required: false, type: .list) ] - /// The configuration for the Spot Fleet request. - public let spotFleetRequestConfig: SpotFleetRequestConfigData + /// 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. + public let maxResults: Int32? + /// 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). + public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? + /// The token for the next set of results. + public let nextToken: String? + /// The ID of the EC2 Fleets. + public let fleetIds: [String]? - public init(spotFleetRequestConfig: SpotFleetRequestConfigData, dryRun: Bool? = nil) { - self.spotFleetRequestConfig = spotFleetRequestConfig + public init(maxResults: Int32? = nil, filters: FilterList? = nil, dryRun: Bool? = nil, nextToken: String? = nil, fleetIds: [String]? = nil) { + self.maxResults = maxResults + self.filters = filters self.dryRun = dryRun + self.nextToken = nextToken + self.fleetIds = fleetIds } private enum CodingKeys: String, CodingKey { - case spotFleetRequestConfig = "spotFleetRequestConfig" - case dryRun = "dryRun" + case maxResults = "MaxResults" + case filters = "Filter" + case dryRun = "DryRun" + case nextToken = "NextToken" + case fleetIds = "FleetId" } } @@ -15173,7 +16012,7 @@ extension Ec2 { public let dryRun: Bool? /// One or more network interface IDs. Default: Describes all your network interfaces. public let networkInterfaceIds: NetworkInterfaceIdList? - /// One or more filters. addresses.private-ip-address - The private IPv4 addresses associated with the network interface. addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface. addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4). addresses.association.owner-id - The owner ID of the addresses associated with the network interface. association.association-id - The association ID returned when the network interface was associated with an IPv4 address. association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface. association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface. association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface. association.public-dns-name - The public DNS name for the network interface (IPv4). attachment.attachment-id - The ID of the interface attachment. attachment.attach.time - The time that the network interface was attached to an instance. attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated. attachment.device-index - The device index to which the network interface is attached. attachment.instance-id - The ID of the instance to which the network interface is attached. attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached. attachment.nat-gateway-id - The ID of the NAT gateway to which the network interface is attached. attachment.status - The status of the attachment (attaching | attached | detaching | detached). availability-zone - The Availability Zone of the network interface. description - The description of the network interface. group-id - The ID of a security group associated with the network interface. group-name - The name of a security group associated with the network interface. ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface. mac-address - The MAC address of the network interface. network-interface-id - The ID of the network interface. owner-id - The AWS account ID of the network interface owner. private-ip-address - The private IPv4 address or addresses of the network interface. private-dns-name - The private DNS name of the network interface (IPv4). requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on). requester-managed - Indicates whether the network interface is being managed by an AWS service (for example, AWS Management Console, Auto Scaling, and so on). source-desk-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC. status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use. subnet-id - The ID of the subnet for the network interface. tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. vpc-id - The ID of the VPC for the network interface. + /// 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. public let filters: FilterList? public init(dryRun: Bool? = nil, networkInterfaceIds: NetworkInterfaceIdList? = nil, filters: FilterList? = nil) { @@ -15189,6 +16028,27 @@ extension Ec2 { } } + public struct RequestSpotFleetRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SpotFleetRequestConfig", location: .body(locationName: "spotFleetRequestConfig"), required: true, type: .structure), + AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean) + ] + /// The configuration for the Spot Fleet request. + public let spotFleetRequestConfig: SpotFleetRequestConfigData + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public let dryRun: Bool? + + public init(spotFleetRequestConfig: SpotFleetRequestConfigData, dryRun: Bool? = nil) { + self.spotFleetRequestConfig = spotFleetRequestConfig + self.dryRun = dryRun + } + + private enum CodingKeys: String, CodingKey { + case spotFleetRequestConfig = "spotFleetRequestConfig" + case dryRun = "dryRun" + } + } + public struct InstanceCount: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), @@ -15226,11 +16086,11 @@ extension Ec2 { AWSShapeMember(label: "InstanceTenancy", location: .body(locationName: "instanceTenancy"), required: false, type: .enum), AWSShapeMember(label: "PricingDetails", location: .body(locationName: "pricingDetailsSet"), required: false, type: .structure), AWSShapeMember(label: "InstanceType", location: .body(locationName: "instanceType"), required: false, type: .enum), + AWSShapeMember(label: "AvailabilityZone", location: .body(locationName: "availabilityZone"), required: false, type: .string), AWSShapeMember(label: "OfferingType", location: .body(locationName: "offeringType"), required: false, type: .enum), + AWSShapeMember(label: "OfferingClass", location: .body(locationName: "offeringClass"), required: false, type: .enum), AWSShapeMember(label: "ProductDescription", location: .body(locationName: "productDescription"), required: false, type: .enum), AWSShapeMember(label: "Marketplace", location: .body(locationName: "marketplace"), required: false, type: .boolean), - AWSShapeMember(label: "AvailabilityZone", location: .body(locationName: "availabilityZone"), required: false, type: .string), - AWSShapeMember(label: "OfferingClass", location: .body(locationName: "offeringClass"), required: false, type: .enum), AWSShapeMember(label: "CurrencyCode", location: .body(locationName: "currencyCode"), required: false, type: .enum), AWSShapeMember(label: "ReservedInstancesOfferingId", location: .body(locationName: "reservedInstancesOfferingId"), required: false, type: .string), AWSShapeMember(label: "Duration", location: .body(locationName: "duration"), required: false, type: .long), @@ -15247,16 +16107,16 @@ extension Ec2 { public let pricingDetails: PricingDetailsList? /// The instance type on which the Reserved Instance can be used. public let instanceType: InstanceType? + /// The Availability Zone in which the Reserved Instance can be used. + public let availabilityZone: String? /// The Reserved Instance offering type. public let offeringType: OfferingTypeValues? + /// 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. + public let offeringClass: OfferingClassType? /// The Reserved Instance product platform description. public let productDescription: RIProductDescription? /// 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. public let marketplace: Bool? - /// The Availability Zone in which the Reserved Instance can be used. - public let availabilityZone: String? - /// 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. - public let offeringClass: OfferingClassType? /// 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. public let currencyCode: CurrencyCodeValues? /// The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote to confirm that an exchange can be made. @@ -15268,17 +16128,17 @@ extension Ec2 { /// The purchase price of the Reserved Instance. public let fixedPrice: Float? - public init(recurringCharges: RecurringChargesList? = nil, usagePrice: Float? = nil, instanceTenancy: Tenancy? = nil, pricingDetails: PricingDetailsList? = nil, instanceType: InstanceType? = nil, offeringType: OfferingTypeValues? = nil, productDescription: RIProductDescription? = nil, marketplace: Bool? = nil, availabilityZone: String? = nil, offeringClass: OfferingClassType? = nil, currencyCode: CurrencyCodeValues? = nil, reservedInstancesOfferingId: String? = nil, duration: Int64? = nil, scope: Scope? = nil, fixedPrice: Float? = nil) { + public init(recurringCharges: RecurringChargesList? = nil, usagePrice: Float? = nil, instanceTenancy: Tenancy? = nil, pricingDetails: PricingDetailsList? = nil, instanceType: InstanceType? = nil, availabilityZone: String? = nil, offeringType: OfferingTypeValues? = nil, offeringClass: OfferingClassType? = nil, productDescription: RIProductDescription? = nil, marketplace: Bool? = nil, currencyCode: CurrencyCodeValues? = nil, reservedInstancesOfferingId: String? = nil, duration: Int64? = nil, scope: Scope? = nil, fixedPrice: Float? = nil) { self.recurringCharges = recurringCharges self.usagePrice = usagePrice self.instanceTenancy = instanceTenancy self.pricingDetails = pricingDetails self.instanceType = instanceType + self.availabilityZone = availabilityZone self.offeringType = offeringType + self.offeringClass = offeringClass self.productDescription = productDescription self.marketplace = marketplace - self.availabilityZone = availabilityZone - self.offeringClass = offeringClass self.currencyCode = currencyCode self.reservedInstancesOfferingId = reservedInstancesOfferingId self.duration = duration @@ -15292,11 +16152,11 @@ extension Ec2 { case instanceTenancy = "instanceTenancy" case pricingDetails = "pricingDetailsSet" case instanceType = "instanceType" + case availabilityZone = "availabilityZone" case offeringType = "offeringType" + case offeringClass = "offeringClass" case productDescription = "productDescription" case marketplace = "marketplace" - case availabilityZone = "availabilityZone" - case offeringClass = "offeringClass" case currencyCode = "currencyCode" case reservedInstancesOfferingId = "reservedInstancesOfferingId" case duration = "duration" @@ -15439,6 +16299,13 @@ extension Ec2 { } } + public enum FleetEventType: String, CustomStringConvertible, Codable { + case instanceChange = "instance-change" + case fleetChange = "fleet-change" + case serviceError = "service-error" + public var description: String { return self.rawValue } + } + public struct GroupIds: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "item", required: false, type: .list) @@ -15583,7 +16450,7 @@ extension Ec2 { AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), AWSShapeMember(label: "Description", required: false, type: .string) ] - /// 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. + /// 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. public let kmsKeyId: String? /// 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. public let clientToken: String? @@ -15715,7 +16582,7 @@ extension Ec2 { public let dryRun: Bool? /// One or more network ACL IDs. Default: Describes all your network ACLs. public let networkAclIds: ValueStringList? - /// One or more filters. association.association-id - The ID of an association ID for the ACL. association.network-acl-id - The ID of the network ACL involved in the association. association.subnet-id - The ID of the subnet involved in the association. default - Indicates whether the ACL is the default network ACL for the VPC. entry.cidr - The IPv4 CIDR range specified in the entry. entry.egress - Indicates whether the entry applies to egress traffic. entry.icmp.code - The ICMP code specified in the entry, if any. entry.icmp.type - The ICMP type specified in the entry, if any. entry.ipv6-cidr - The IPv6 CIDR range specified in the entry. entry.port-range.from - The start of the port range specified in the entry. entry.port-range.to - The end of the port range specified in the entry. entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number). entry.rule-action - Allows or denies the matching traffic (allow | deny). entry.rule-number - The number of an entry (in other words, rule) in the ACL's set of entries. network-acl-id - The ID of the network ACL. tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. vpc-id - The ID of the VPC for the network ACL. + /// 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. public let filters: FilterList? public init(dryRun: Bool? = nil, networkAclIds: ValueStringList? = nil, filters: FilterList? = nil) { @@ -15791,7 +16658,7 @@ extension Ec2 { ] /// The tags to apply to the volume during creation. public let tagSpecifications: TagSpecificationList? - /// 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 + /// 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. public let volumeType: VolumeType? /// 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. public let size: Int32? @@ -15801,11 +16668,11 @@ extension Ec2 { public let snapshotId: String? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? - /// Only valid for Provisioned IOPS SSD volumes. The number of I/O operations per second (IOPS) to provision for the volume, with a maximum ratio of 50 IOPS/GiB. Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes + /// 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. public let iops: Int32? /// The Availability Zone in which to create the volume. Use DescribeAvailabilityZones to list the Availability Zones that are currently available to you. public let availabilityZone: String - /// 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. + /// 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. public let kmsKeyId: String? public init(tagSpecifications: TagSpecificationList? = nil, volumeType: VolumeType? = nil, size: Int32? = nil, encrypted: Bool? = nil, snapshotId: String? = nil, dryRun: Bool? = nil, iops: Int32? = nil, availabilityZone: String, kmsKeyId: String? = nil) { @@ -15921,7 +16788,7 @@ extension Ec2 { ] /// The IDs of one or more services. public let serviceIds: ValueStringList? - /// One or more filters. service-name - The ARN of the service. vpc-endpoint-service-id - The ID of the service. vpc-endpoint-service-state - The state of the service (Pending | Available | Deleting | Deleted | Failed). + /// 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). public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -16019,29 +16886,29 @@ extension Ec2 { AWSShapeMember(label: "TargetSize", location: .body(locationName: "targetSize"), required: false, type: .integer), AWSShapeMember(label: "StatusMessage", location: .body(locationName: "statusMessage"), required: false, type: .string) ] - /// Modification start time + /// The modification start time. public let startTime: TimeStamp? - /// Original IOPS rate of the volume being modified. + /// The original IOPS rate of the volume. public let originalIops: Int32? - /// Current state of modification. Modification state is null for unmodified volumes. + /// The current modification state. The modification state is null for unmodified volumes. public let modificationState: VolumeModificationState? - /// Original size of the volume being modified. + /// The original size of the volume. public let originalSize: Int32? - /// Modification progress from 0 to 100%. + /// The modification progress, from 0 to 100 percent complete. public let progress: Int64? - /// ID of the volume being modified. + /// The ID of the volume. public let volumeId: String? - /// Modification completion or failure time. + /// The modification completion or failure time. public let endTime: TimeStamp? - /// Target EBS volume type of the volume being modified. + /// The target EBS volume type of the volume. public let targetVolumeType: VolumeType? - /// Target IOPS rate of the volume being modified. + /// The target IOPS rate of the volume. public let targetIops: Int32? - /// Original EBS volume type of the volume being modified. + /// The original EBS volume type of the volume. public let originalVolumeType: VolumeType? - /// Target size of the volume being modified. + /// The target size of the volume, in GiB. public let targetSize: Int32? - /// Generic status message on modification progress or failure. + /// A status message about the modification progress or failure. public let statusMessage: String? public init(startTime: TimeStamp? = nil, originalIops: Int32? = nil, modificationState: VolumeModificationState? = nil, originalSize: Int32? = nil, progress: Int64? = nil, volumeId: String? = nil, endTime: TimeStamp? = nil, targetVolumeType: VolumeType? = nil, targetIops: Int32? = nil, originalVolumeType: VolumeType? = nil, targetSize: Int32? = nil, statusMessage: String? = nil) { @@ -16124,10 +16991,13 @@ extension Ec2 { public struct CreateSnapshotRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TagSpecifications", location: .body(locationName: "TagSpecification"), required: false, type: .structure), AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), AWSShapeMember(label: "VolumeId", required: true, type: .string), AWSShapeMember(label: "Description", required: false, type: .string) ] + /// The tags to apply to the snapshot during creation. + public let tagSpecifications: TagSpecificationList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? /// The ID of the EBS volume. @@ -16135,13 +17005,15 @@ extension Ec2 { /// A description for the snapshot. public let description: String? - public init(dryRun: Bool? = nil, volumeId: String, description: String? = nil) { + public init(tagSpecifications: TagSpecificationList? = nil, dryRun: Bool? = nil, volumeId: String, description: String? = nil) { + self.tagSpecifications = tagSpecifications self.dryRun = dryRun self.volumeId = volumeId self.description = description } private enum CodingKeys: String, CodingKey { + case tagSpecifications = "TagSpecification" case dryRun = "dryRun" case volumeId = "VolumeId" case description = "Description" @@ -16223,7 +17095,7 @@ extension Ec2 { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Resource", required: false, type: .string) ] - /// The type of resource: instance | reservation | snapshot | volume + /// 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 public let resource: String? public init(resource: String? = nil) { @@ -16264,11 +17136,11 @@ extension Ec2 { ] /// One or more host reservation IDs. public let hostReservationIdSet: HostReservationIdSet? - /// One or more filters. instance-family - The instance family (e.g., m4). payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront). state - The state of the reservation (payment-pending | payment-failed | active | retired). + /// 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). public let filter: FilterList? /// The token to use to retrieve the next page of results. public let nextToken: String? - /// 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. + /// 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. public let maxResults: Int32? public init(hostReservationIdSet: HostReservationIdSet? = nil, filter: FilterList? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { @@ -16291,7 +17163,7 @@ extension Ec2 { AWSShapeMember(label: "HostIdSet", required: true, type: .structure), AWSShapeMember(label: "OfferingId", required: true, type: .string) ] - /// The ID/s of the Dedicated Host/s that the reservation will be associated with. + /// The IDs of the Dedicated Hosts with which the reservation is associated. public let hostIdSet: RequestHostIdSet /// The offering ID of the reservation. public let offeringId: String @@ -16541,7 +17413,7 @@ extension Ec2 { public let snapshotIds: SnapshotIdStringList? /// Returns the snapshots owned by the specified owner. Multiple owners can be specified. public let ownerIds: OwnerStringList? - /// 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=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. volume-id - The ID of the volume the snapshot is for. volume-size - The size of the volume, in GiB. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -16696,30 +17568,12 @@ extension Ec2 { } } - public struct ModifyReservedInstancesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ReservedInstancesIds", location: .body(locationName: "ReservedInstancesId"), required: true, type: .structure), - AWSShapeMember(label: "TargetConfigurations", location: .body(locationName: "ReservedInstancesConfigurationSetItemType"), required: true, type: .structure), - AWSShapeMember(label: "ClientToken", location: .body(locationName: "clientToken"), required: false, type: .string) - ] - /// The IDs of the Reserved Instances to modify. - public let reservedInstancesIds: ReservedInstancesIdStringList - /// The configuration settings for the Reserved Instances to modify. - public let targetConfigurations: ReservedInstancesConfigurationList - /// A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency. - public let clientToken: String? - - public init(reservedInstancesIds: ReservedInstancesIdStringList, targetConfigurations: ReservedInstancesConfigurationList, clientToken: String? = nil) { - self.reservedInstancesIds = reservedInstancesIds - self.targetConfigurations = targetConfigurations - self.clientToken = clientToken - } - - private enum CodingKeys: String, CodingKey { - case reservedInstancesIds = "ReservedInstancesId" - case targetConfigurations = "ReservedInstancesConfigurationSetItemType" - case clientToken = "clientToken" - } + public enum FleetActivityStatus: String, CustomStringConvertible, Codable { + case error = "error" + case pendingFulfillment = "pending-fulfillment" + case pendingTermination = "pending-termination" + case fulfilled = "fulfilled" + public var description: String { return self.rawValue } } public struct DescribeVolumesRequest: AWSShape { @@ -16732,7 +17586,7 @@ extension Ec2 { ] /// One or more volume IDs. public let volumeIds: VolumeIdStringList? - /// 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 | detached). availability-zone - The Availability Zone in which the volume was created. create-time - The time stamp when the volume was created. encrypted - The encryption status of the volume. size - The size of the volume, in GiB. snapshot-id - The snapshot from which the volume was created. status - The status of the volume (creating | available | in-use | deleting | deleted | error). tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. volume-id - The volume ID. volume-type - The Amazon EBS volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -16779,6 +17633,53 @@ extension Ec2 { } } + public struct ModifyReservedInstancesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReservedInstancesIds", location: .body(locationName: "ReservedInstancesId"), required: true, type: .structure), + AWSShapeMember(label: "TargetConfigurations", location: .body(locationName: "ReservedInstancesConfigurationSetItemType"), required: true, type: .structure), + AWSShapeMember(label: "ClientToken", location: .body(locationName: "clientToken"), required: false, type: .string) + ] + /// The IDs of the Reserved Instances to modify. + public let reservedInstancesIds: ReservedInstancesIdStringList + /// The configuration settings for the Reserved Instances to modify. + public let targetConfigurations: ReservedInstancesConfigurationList + /// A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency. + public let clientToken: String? + + public init(reservedInstancesIds: ReservedInstancesIdStringList, targetConfigurations: ReservedInstancesConfigurationList, clientToken: String? = nil) { + self.reservedInstancesIds = reservedInstancesIds + self.targetConfigurations = targetConfigurations + self.clientToken = clientToken + } + + private enum CodingKeys: String, CodingKey { + case reservedInstancesIds = "ReservedInstancesId" + case targetConfigurations = "ReservedInstancesConfigurationSetItemType" + case clientToken = "clientToken" + } + } + + public struct DeleteFleetsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UnsuccessfulFleetDeletions", location: .body(locationName: "unsuccessfulFleetDeletionSet"), required: false, type: .structure), + AWSShapeMember(label: "SuccessfulFleetDeletions", location: .body(locationName: "successfulFleetDeletionSet"), required: false, type: .structure) + ] + /// Information about the EC2 Fleets that are not successfully deleted. + public let unsuccessfulFleetDeletions: DeleteFleetErrorSet? + /// Information about the EC2 Fleets that are successfully deleted. + public let successfulFleetDeletions: DeleteFleetSuccessSet? + + public init(unsuccessfulFleetDeletions: DeleteFleetErrorSet? = nil, successfulFleetDeletions: DeleteFleetSuccessSet? = nil) { + self.unsuccessfulFleetDeletions = unsuccessfulFleetDeletions + self.successfulFleetDeletions = successfulFleetDeletions + } + + private enum CodingKeys: String, CodingKey { + case unsuccessfulFleetDeletions = "unsuccessfulFleetDeletionSet" + case successfulFleetDeletions = "successfulFleetDeletionSet" + } + } + public struct DescribeReservedInstancesResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ReservedInstances", location: .body(locationName: "reservedInstancesSet"), required: false, type: .structure) @@ -16853,29 +17754,29 @@ extension Ec2 { } } - public struct DescribeNetworkInterfaceAttributeRequest: AWSShape { + public struct HistoryRecordEntry: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), - AWSShapeMember(label: "NetworkInterfaceId", location: .body(locationName: "networkInterfaceId"), required: true, type: .string), - AWSShapeMember(label: "Attribute", location: .body(locationName: "attribute"), required: false, type: .enum) + AWSShapeMember(label: "EventType", location: .body(locationName: "eventType"), required: false, type: .enum), + AWSShapeMember(label: "Timestamp", location: .body(locationName: "timestamp"), required: false, type: .timestamp), + AWSShapeMember(label: "EventInformation", location: .body(locationName: "eventInformation"), required: false, type: .structure) ] - /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. - public let dryRun: Bool? - /// The ID of the network interface. - public let networkInterfaceId: String - /// The attribute of the network interface. This parameter is required. - public let attribute: NetworkInterfaceAttribute? + /// The event type. + public let eventType: FleetEventType? + /// The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). + public let timestamp: TimeStamp? + /// Information about the event. + public let eventInformation: EventInformation? - public init(dryRun: Bool? = nil, networkInterfaceId: String, attribute: NetworkInterfaceAttribute? = nil) { - self.dryRun = dryRun - self.networkInterfaceId = networkInterfaceId - self.attribute = attribute + public init(eventType: FleetEventType? = nil, timestamp: TimeStamp? = nil, eventInformation: EventInformation? = nil) { + self.eventType = eventType + self.timestamp = timestamp + self.eventInformation = eventInformation } private enum CodingKeys: String, CodingKey { - case dryRun = "dryRun" - case networkInterfaceId = "networkInterfaceId" - case attribute = "attribute" + case eventType = "eventType" + case timestamp = "timestamp" + case eventInformation = "eventInformation" } } @@ -16907,7 +17808,7 @@ extension Ec2 { ] /// The tags to apply to the resource. public let tags: TagList? - /// The type of resource to tag. Currently, the resource types that support tagging on creation are instance and volume. + /// 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. public let resourceType: ResourceType? public init(tags: TagList? = nil, resourceType: ResourceType? = nil) { @@ -16921,18 +17822,29 @@ extension Ec2 { } } - public struct LaunchTemplateNameStringList: AWSShape { + public struct DescribeNetworkInterfaceAttributeRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "item", required: false, type: .list) + AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), + AWSShapeMember(label: "NetworkInterfaceId", location: .body(locationName: "networkInterfaceId"), required: true, type: .string), + AWSShapeMember(label: "Attribute", location: .body(locationName: "attribute"), required: false, type: .enum) ] - public let item: [String]? + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public let dryRun: Bool? + /// The ID of the network interface. + public let networkInterfaceId: String + /// The attribute of the network interface. This parameter is required. + public let attribute: NetworkInterfaceAttribute? - public init(item: [String]? = nil) { - self.item = item + public init(dryRun: Bool? = nil, networkInterfaceId: String, attribute: NetworkInterfaceAttribute? = nil) { + self.dryRun = dryRun + self.networkInterfaceId = networkInterfaceId + self.attribute = attribute } private enum CodingKeys: String, CodingKey { - case item = "item" + case dryRun = "dryRun" + case networkInterfaceId = "networkInterfaceId" + case attribute = "attribute" } } @@ -17009,6 +17921,21 @@ extension Ec2 { } } + public struct LaunchTemplateNameStringList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "item", required: false, type: .list) + ] + public let item: [String]? + + public init(item: [String]? = nil) { + self.item = item + } + + private enum CodingKeys: String, CodingKey { + case item = "item" + } + } + public struct InstanceMonitoring: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Monitoring", location: .body(locationName: "monitoring"), required: false, type: .structure), @@ -17586,7 +18513,7 @@ extension Ec2 { ] /// One or more Internet gateway IDs. Default: Describes all your Internet gateways. public let internetGatewayIds: ValueStringList? - /// One or more filters. attachment.state - The current state of the attachment between the gateway and the VPC (available). Present only if a VPC is attached. attachment.vpc-id - The ID of an attached VPC. internet-gateway-id - The ID of the Internet gateway. tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -17611,7 +18538,7 @@ extension Ec2 { ] /// The ARN of the principal, which can be an IAM role, IAM user, or the root user. public let principalArn: String - /// The type of resource: instance | reservation | snapshot | volume + /// 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 public let resource: String? public init(principalArn: String, resource: String? = nil) { @@ -17889,7 +18816,7 @@ extension Ec2 { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CpuCredits", location: .body(locationName: "cpuCredits"), required: false, type: .string) ] - /// The credit option for CPU usage of a T2 instance. + /// The credit option for CPU usage of a T2 instance. Valid values are standard and unlimited. public let cpuCredits: String? public init(cpuCredits: String? = nil) { @@ -18436,6 +19363,7 @@ extension Ec2 { AWSShapeMember(label: "AssociationId", location: .body(locationName: "associationId"), required: false, type: .string), AWSShapeMember(label: "InstanceId", location: .body(locationName: "instanceId"), required: false, type: .string), AWSShapeMember(label: "AllocationId", location: .body(locationName: "allocationId"), required: false, type: .string), + AWSShapeMember(label: "Tags", location: .body(locationName: "tagSet"), required: false, type: .structure), AWSShapeMember(label: "PublicIp", location: .body(locationName: "publicIp"), required: false, type: .string), AWSShapeMember(label: "Domain", location: .body(locationName: "domain"), required: false, type: .enum), AWSShapeMember(label: "PrivateIpAddress", location: .body(locationName: "privateIpAddress"), required: false, type: .string) @@ -18450,6 +19378,8 @@ extension Ec2 { public let instanceId: String? /// The ID representing the allocation of the address for use with EC2-VPC. public let allocationId: String? + /// Any tags assigned to the Elastic IP address. + public let tags: TagList? /// The Elastic IP address. public let publicIp: String? /// Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc). @@ -18457,12 +19387,13 @@ extension Ec2 { /// The private IP address associated with the Elastic IP address. public let privateIpAddress: String? - public init(networkInterfaceOwnerId: String? = nil, networkInterfaceId: String? = nil, associationId: String? = nil, instanceId: String? = nil, allocationId: String? = nil, publicIp: String? = nil, domain: DomainType? = nil, privateIpAddress: String? = nil) { + public init(networkInterfaceOwnerId: String? = nil, networkInterfaceId: String? = nil, associationId: String? = nil, instanceId: String? = nil, allocationId: String? = nil, tags: TagList? = nil, publicIp: String? = nil, domain: DomainType? = nil, privateIpAddress: String? = nil) { self.networkInterfaceOwnerId = networkInterfaceOwnerId self.networkInterfaceId = networkInterfaceId self.associationId = associationId self.instanceId = instanceId self.allocationId = allocationId + self.tags = tags self.publicIp = publicIp self.domain = domain self.privateIpAddress = privateIpAddress @@ -18474,6 +19405,7 @@ extension Ec2 { case associationId = "associationId" case instanceId = "instanceId" case allocationId = "allocationId" + case tags = "tagSet" case publicIp = "publicIp" case domain = "domain" case privateIpAddress = "privateIpAddress" @@ -18494,7 +19426,7 @@ extension Ec2 { ] /// One or more virtual private gateway IDs. Default: Describes all your virtual private gateways. public let vpnGatewayIds: VpnGatewayIdStringList? - /// 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=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. type - The type of virtual private gateway. Currently the only supported type is ipsec.1. vpn-gateway-id - The ID of the virtual private gateway. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -18766,20 +19698,20 @@ extension Ec2 { public struct ImportInstanceTaskDetails: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Platform", location: .body(locationName: "platform"), required: false, type: .enum), - AWSShapeMember(label: "Volumes", location: .body(locationName: "volumes"), required: true, type: .structure), + AWSShapeMember(label: "Volumes", location: .body(locationName: "volumes"), required: false, type: .structure), AWSShapeMember(label: "InstanceId", location: .body(locationName: "instanceId"), required: false, type: .string), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] /// The instance operating system. public let platform: PlatformValues? /// One or more volumes. - public let volumes: ImportInstanceVolumeDetailSet + public let volumes: ImportInstanceVolumeDetailSet? /// The ID of the instance. public let instanceId: String? /// A description of the task. public let description: String? - public init(platform: PlatformValues? = nil, volumes: ImportInstanceVolumeDetailSet, instanceId: String? = nil, description: String? = nil) { + public init(platform: PlatformValues? = nil, volumes: ImportInstanceVolumeDetailSet? = nil, instanceId: String? = nil, description: String? = nil) { self.platform = platform self.volumes = volumes self.instanceId = instanceId @@ -18828,31 +19760,31 @@ extension Ec2 { public struct CreateCustomerGatewayRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "BgpAsn", required: true, type: .integer), - AWSShapeMember(label: "PublicIp", location: .body(locationName: "IpAddress"), required: true, type: .string), + AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), AWSShapeMember(label: "Type", required: true, type: .enum), - AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean) + AWSShapeMember(label: "PublicIp", location: .body(locationName: "IpAddress"), required: true, type: .string) ] /// For devices that support BGP, the customer gateway's BGP ASN. Default: 65000 public let bgpAsn: Int32 - /// The Internet-routable IP address for the customer gateway's outside interface. The address must be static. - public let publicIp: String - /// The type of VPN connection that this customer gateway supports (ipsec.1). - public let `type`: GatewayType /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? + /// The type of VPN connection that this customer gateway supports (ipsec.1). + public let `type`: GatewayType + /// The Internet-routable IP address for the customer gateway's outside interface. The address must be static. + public let publicIp: String - public init(bgpAsn: Int32, publicIp: String, type: GatewayType, dryRun: Bool? = nil) { + public init(bgpAsn: Int32, dryRun: Bool? = nil, type: GatewayType, publicIp: String) { self.bgpAsn = bgpAsn - self.publicIp = publicIp - self.`type` = `type` self.dryRun = dryRun + self.`type` = `type` + self.publicIp = publicIp } private enum CodingKeys: String, CodingKey { case bgpAsn = "BgpAsn" - case publicIp = "IpAddress" - case `type` = "Type" case dryRun = "dryRun" + case `type` = "Type" + case publicIp = "IpAddress" } } @@ -18884,24 +19816,24 @@ extension Ec2 { public var description: String { return self.rawValue } } - public struct DescribeEgressOnlyInternetGatewaysResult: AWSShape { + public struct CpuOptions: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "EgressOnlyInternetGateways", location: .body(locationName: "egressOnlyInternetGatewaySet"), required: false, type: .structure) + AWSShapeMember(label: "ThreadsPerCore", location: .body(locationName: "threadsPerCore"), required: false, type: .integer), + AWSShapeMember(label: "CoreCount", location: .body(locationName: "coreCount"), required: false, type: .integer) ] - /// The token to use to retrieve the next page of results. - public let nextToken: String? - /// Information about the egress-only Internet gateways. - public let egressOnlyInternetGateways: EgressOnlyInternetGatewayList? + /// The number of threads per CPU core. + public let threadsPerCore: Int32? + /// The number of CPU cores for the instance. + public let coreCount: Int32? - public init(nextToken: String? = nil, egressOnlyInternetGateways: EgressOnlyInternetGatewayList? = nil) { - self.nextToken = nextToken - self.egressOnlyInternetGateways = egressOnlyInternetGateways + public init(threadsPerCore: Int32? = nil, coreCount: Int32? = nil) { + self.threadsPerCore = threadsPerCore + self.coreCount = coreCount } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case egressOnlyInternetGateways = "egressOnlyInternetGatewaySet" + case threadsPerCore = "threadsPerCore" + case coreCount = "coreCount" } } @@ -18912,7 +19844,7 @@ extension Ec2 { AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), AWSShapeMember(label: "Description", location: .body(locationName: "GroupDescription"), required: true, type: .string) ] - /// 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 ._-:/()#,@[]+=&;{}!$* + /// 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 ._-:/()#,@[]+=&;{}!$* public let groupName: String /// [EC2-VPC] The ID of the VPC. Required for EC2-VPC. public let vpcId: String? @@ -19029,6 +19961,27 @@ extension Ec2 { } } + public struct DescribeEgressOnlyInternetGatewaysResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "EgressOnlyInternetGateways", location: .body(locationName: "egressOnlyInternetGatewaySet"), required: false, type: .structure) + ] + /// The token to use to retrieve the next page of results. + public let nextToken: String? + /// Information about the egress-only Internet gateways. + public let egressOnlyInternetGateways: EgressOnlyInternetGatewayList? + + public init(nextToken: String? = nil, egressOnlyInternetGateways: EgressOnlyInternetGatewayList? = nil) { + self.nextToken = nextToken + self.egressOnlyInternetGateways = egressOnlyInternetGateways + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case egressOnlyInternetGateways = "egressOnlyInternetGatewaySet" + } + } + public struct MoveAddressToVpcRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), @@ -19050,6 +20003,22 @@ extension Ec2 { } } + public struct ModifyFleetResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Return", location: .body(locationName: "return"), required: false, type: .boolean) + ] + /// Is true if the request succeeds, and an error otherwise. + public let `return`: Bool? + + public init(return: Bool? = nil) { + self.`return` = `return` + } + + private enum CodingKeys: String, CodingKey { + case `return` = "return" + } + } + public struct HostList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "item", required: false, type: .list) @@ -19183,6 +20152,14 @@ extension Ec2 { } } + public enum DeleteFleetErrorCode: String, CustomStringConvertible, Codable { + case fleetiddoesnotexist = "fleetIdDoesNotExist" + case fleetidmalformed = "fleetIdMalformed" + case fleetnotindeletablestate = "fleetNotInDeletableState" + case unexpectederror = "unexpectedError" + public var description: String { return self.rawValue } + } + public struct DescribeFpgaImageAttributeResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FpgaImageAttribute", location: .body(locationName: "fpgaImageAttribute"), required: false, type: .structure) @@ -19199,52 +20176,6 @@ extension Ec2 { } } - public struct EbsBlockDevice: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "VolumeType", location: .body(locationName: "volumeType"), required: false, type: .enum), - AWSShapeMember(label: "Encrypted", location: .body(locationName: "encrypted"), required: false, type: .boolean), - AWSShapeMember(label: "SnapshotId", location: .body(locationName: "snapshotId"), required: false, type: .string), - AWSShapeMember(label: "DeleteOnTermination", location: .body(locationName: "deleteOnTermination"), required: false, type: .boolean), - AWSShapeMember(label: "VolumeSize", location: .body(locationName: "volumeSize"), required: false, type: .integer), - AWSShapeMember(label: "Iops", location: .body(locationName: "iops"), required: false, type: .integer), - AWSShapeMember(label: "KmsKeyId", required: false, type: .string) - ] - /// The volume type: gp2, io1, st1, sc1, or standard. Default: standard - public let volumeType: VolumeType? - /// 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. - public let encrypted: Bool? - /// The ID of the snapshot. - public let snapshotId: String? - /// Indicates whether the EBS volume is deleted on instance termination. - public let deleteOnTermination: Bool? - /// 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. - public let volumeSize: Int32? - /// 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. - public let iops: Int32? - /// ID for a user-managed CMK under which the EBS volume is encrypted. Note: This parameter is only supported on BlockDeviceMapping objects called by RunInstances, RequestSpotFleet, and RequestSpotInstances. - public let kmsKeyId: String? - - public init(volumeType: VolumeType? = nil, encrypted: Bool? = nil, snapshotId: String? = nil, deleteOnTermination: Bool? = nil, volumeSize: Int32? = nil, iops: Int32? = nil, kmsKeyId: String? = nil) { - self.volumeType = volumeType - self.encrypted = encrypted - self.snapshotId = snapshotId - self.deleteOnTermination = deleteOnTermination - self.volumeSize = volumeSize - self.iops = iops - self.kmsKeyId = kmsKeyId - } - - private enum CodingKeys: String, CodingKey { - case volumeType = "volumeType" - case encrypted = "encrypted" - case snapshotId = "snapshotId" - case deleteOnTermination = "deleteOnTermination" - case volumeSize = "volumeSize" - case iops = "iops" - case kmsKeyId = "KmsKeyId" - } - } - public struct DescribeExportTasksResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ExportTasks", location: .body(locationName: "exportTaskSet"), required: false, type: .structure) @@ -19309,6 +20240,32 @@ extension Ec2 { } } + public struct DescribeFleetInstancesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FleetId", location: .body(locationName: "fleetId"), required: false, type: .string), + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "ActiveInstances", location: .body(locationName: "activeInstanceSet"), required: false, type: .structure) + ] + /// The ID of the EC2 Fleet. + public let fleetId: String? + /// The token for the next set of results. + public let nextToken: String? + /// The running instances. This list is refreshed periodically and might be out of date. + public let activeInstances: ActiveInstanceSet? + + public init(fleetId: String? = nil, nextToken: String? = nil, activeInstances: ActiveInstanceSet? = nil) { + self.fleetId = fleetId + self.nextToken = nextToken + self.activeInstances = activeInstances + } + + private enum CodingKeys: String, CodingKey { + case fleetId = "fleetId" + case nextToken = "nextToken" + case activeInstances = "activeInstanceSet" + } + } + public struct CancelConversionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), @@ -19335,34 +20292,34 @@ extension Ec2 { } } - public struct CreateVpcPeeringConnectionResult: AWSShape { + public struct LaunchTemplateConfigList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "VpcPeeringConnection", location: .body(locationName: "vpcPeeringConnection"), required: false, type: .structure) + AWSShapeMember(label: "item", required: false, type: .list) ] - /// Information about the VPC peering connection. - public let vpcPeeringConnection: VpcPeeringConnection? + public let item: [LaunchTemplateConfig]? - public init(vpcPeeringConnection: VpcPeeringConnection? = nil) { - self.vpcPeeringConnection = vpcPeeringConnection + public init(item: [LaunchTemplateConfig]? = nil) { + self.item = item } private enum CodingKeys: String, CodingKey { - case vpcPeeringConnection = "vpcPeeringConnection" + case item = "item" } } - public struct LaunchTemplateConfigList: AWSShape { + public struct CreateVpcPeeringConnectionResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "item", required: false, type: .list) + AWSShapeMember(label: "VpcPeeringConnection", location: .body(locationName: "vpcPeeringConnection"), required: false, type: .structure) ] - public let item: [LaunchTemplateConfig]? + /// Information about the VPC peering connection. + public let vpcPeeringConnection: VpcPeeringConnection? - public init(item: [LaunchTemplateConfig]? = nil) { - self.item = item + public init(vpcPeeringConnection: VpcPeeringConnection? = nil) { + self.vpcPeeringConnection = vpcPeeringConnection } private enum CodingKeys: String, CodingKey { - case item = "item" + case vpcPeeringConnection = "vpcPeeringConnection" } } @@ -19387,6 +20344,52 @@ extension Ec2 { } } + public struct EbsBlockDevice: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VolumeType", location: .body(locationName: "volumeType"), required: false, type: .enum), + AWSShapeMember(label: "Encrypted", location: .body(locationName: "encrypted"), required: false, type: .boolean), + AWSShapeMember(label: "SnapshotId", location: .body(locationName: "snapshotId"), required: false, type: .string), + AWSShapeMember(label: "DeleteOnTermination", location: .body(locationName: "deleteOnTermination"), required: false, type: .boolean), + AWSShapeMember(label: "VolumeSize", location: .body(locationName: "volumeSize"), required: false, type: .integer), + AWSShapeMember(label: "Iops", location: .body(locationName: "iops"), required: false, type: .integer), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string) + ] + /// The volume type: gp2, io1, st1, sc1, or standard. Default: standard + public let volumeType: VolumeType? + /// 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. + public let encrypted: Bool? + /// The ID of the snapshot. + public let snapshotId: String? + /// Indicates whether the EBS volume is deleted on instance termination. + public let deleteOnTermination: Bool? + /// 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. + public let volumeSize: Int32? + /// 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. + public let iops: Int32? + /// 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. + public let kmsKeyId: String? + + public init(volumeType: VolumeType? = nil, encrypted: Bool? = nil, snapshotId: String? = nil, deleteOnTermination: Bool? = nil, volumeSize: Int32? = nil, iops: Int32? = nil, kmsKeyId: String? = nil) { + self.volumeType = volumeType + self.encrypted = encrypted + self.snapshotId = snapshotId + self.deleteOnTermination = deleteOnTermination + self.volumeSize = volumeSize + self.iops = iops + self.kmsKeyId = kmsKeyId + } + + private enum CodingKeys: String, CodingKey { + case volumeType = "volumeType" + case encrypted = "encrypted" + case snapshotId = "snapshotId" + case deleteOnTermination = "deleteOnTermination" + case volumeSize = "volumeSize" + case iops = "iops" + case kmsKeyId = "KmsKeyId" + } + } + public struct SpotInstanceRequestIdList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SpotInstanceRequestId", required: false, type: .list) @@ -19409,7 +20412,7 @@ extension Ec2 { ] /// The tags to apply to the resource. public let tags: TagList? - /// The type of resource to tag. Currently, the resource types that support tagging on creation are instance and volume. + /// 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. public let resourceType: ResourceType? public init(tags: TagList? = nil, resourceType: ResourceType? = nil) { @@ -19726,24 +20729,24 @@ extension Ec2 { public struct ImportVolumeTaskDetails: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Image", location: .body(locationName: "image"), required: true, type: .structure), - AWSShapeMember(label: "BytesConverted", location: .body(locationName: "bytesConverted"), required: true, type: .long), - AWSShapeMember(label: "Volume", location: .body(locationName: "volume"), required: true, type: .structure), - AWSShapeMember(label: "AvailabilityZone", location: .body(locationName: "availabilityZone"), required: true, type: .string), + AWSShapeMember(label: "Image", location: .body(locationName: "image"), required: false, type: .structure), + AWSShapeMember(label: "BytesConverted", location: .body(locationName: "bytesConverted"), required: false, type: .long), + AWSShapeMember(label: "Volume", location: .body(locationName: "volume"), required: false, type: .structure), + AWSShapeMember(label: "AvailabilityZone", location: .body(locationName: "availabilityZone"), required: false, type: .string), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] /// The image. - public let image: DiskImageDescription + public let image: DiskImageDescription? /// The number of bytes converted so far. - public let bytesConverted: Int64 + public let bytesConverted: Int64? /// The volume. - public let volume: DiskImageVolumeDescription + public let volume: DiskImageVolumeDescription? /// The Availability Zone where the resulting volume will reside. - public let availabilityZone: String + public let availabilityZone: String? /// The description you provided when starting the import volume task. public let description: String? - public init(image: DiskImageDescription, bytesConverted: Int64, volume: DiskImageVolumeDescription, availabilityZone: String, description: String? = nil) { + public init(image: DiskImageDescription? = nil, bytesConverted: Int64? = nil, volume: DiskImageVolumeDescription? = nil, availabilityZone: String? = nil, description: String? = nil) { self.image = image self.bytesConverted = bytesConverted self.volume = volume @@ -19926,7 +20929,7 @@ extension Ec2 { public let blockDeviceMappings: BlockDeviceMappingList? /// The ID of the subnet in which to launch the instance. public let subnetId: String? - /// 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. + /// The Base64-encoded user data for the instance. public let userData: String? /// 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 public let ebsOptimized: Bool? @@ -20060,7 +21063,7 @@ extension Ec2 { public let icmpTypeCode: IcmpTypeCode? /// 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. public let ruleNumber: Int32 - /// The protocol. A value of -1 or all means 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 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. + /// 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 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. public let `protocol`: String /// Indicates whether to allow or deny the traffic that matches the rule. public let ruleAction: RuleAction @@ -20255,20 +21258,21 @@ extension Ec2 { AWSShapeMember(label: "InstanceMarketOptions", required: false, type: .structure), AWSShapeMember(label: "KeyName", required: false, type: .string), AWSShapeMember(label: "IamInstanceProfile", required: false, type: .structure), - AWSShapeMember(label: "ImageId", required: false, type: .string), + AWSShapeMember(label: "CpuOptions", required: false, type: .structure), AWSShapeMember(label: "InstanceInitiatedShutdownBehavior", required: false, type: .enum), AWSShapeMember(label: "Placement", required: false, type: .structure), AWSShapeMember(label: "RamDiskId", required: false, type: .string), AWSShapeMember(label: "NetworkInterfaces", location: .body(locationName: "NetworkInterface"), required: false, type: .structure), + AWSShapeMember(label: "ImageId", required: false, type: .string), AWSShapeMember(label: "ElasticGpuSpecifications", location: .body(locationName: "ElasticGpuSpecification"), required: false, type: .structure) ] /// 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. public let blockDeviceMappings: LaunchTemplateBlockDeviceMappingRequestList? - /// The tags to apply to the resources during launch. You can tag instances and volumes. The specified tags are applied to all instances or volumes that are created during launch. + /// 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. public let tagSpecifications: LaunchTemplateTagSpecificationRequestList? /// 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. public let disableApiTermination: Bool? - /// 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. + /// 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). public let userData: String? /// 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. public let ebsOptimized: Bool? @@ -20290,8 +21294,8 @@ extension Ec2 { public let keyName: String? /// The IAM instance profile. public let iamInstanceProfile: LaunchTemplateIamInstanceProfileSpecificationRequest? - /// The ID of the AMI, which you can get by using DescribeImages. - public let imageId: String? + /// The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide. + public let cpuOptions: LaunchTemplateCpuOptionsRequest? /// Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). Default: stop public let instanceInitiatedShutdownBehavior: ShutdownBehavior? /// The placement for the instance. @@ -20300,10 +21304,12 @@ extension Ec2 { public let ramDiskId: String? /// One or more network interfaces. public let networkInterfaces: LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList? + /// The ID of the AMI, which you can get by using DescribeImages. + public let imageId: String? /// An elastic GPU to associate with the instance. public let elasticGpuSpecifications: ElasticGpuSpecificationList? - public init(blockDeviceMappings: LaunchTemplateBlockDeviceMappingRequestList? = nil, tagSpecifications: LaunchTemplateTagSpecificationRequestList? = nil, disableApiTermination: Bool? = nil, userData: String? = nil, ebsOptimized: Bool? = nil, kernelId: String? = nil, securityGroupIds: SecurityGroupIdStringList? = nil, monitoring: LaunchTemplatesMonitoringRequest? = nil, instanceType: InstanceType? = nil, creditSpecification: CreditSpecificationRequest? = nil, securityGroups: SecurityGroupStringList? = nil, instanceMarketOptions: LaunchTemplateInstanceMarketOptionsRequest? = nil, keyName: String? = nil, iamInstanceProfile: LaunchTemplateIamInstanceProfileSpecificationRequest? = nil, imageId: String? = nil, instanceInitiatedShutdownBehavior: ShutdownBehavior? = nil, placement: LaunchTemplatePlacementRequest? = nil, ramDiskId: String? = nil, networkInterfaces: LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList? = nil, elasticGpuSpecifications: ElasticGpuSpecificationList? = nil) { + public init(blockDeviceMappings: LaunchTemplateBlockDeviceMappingRequestList? = nil, tagSpecifications: LaunchTemplateTagSpecificationRequestList? = nil, disableApiTermination: Bool? = nil, userData: String? = nil, ebsOptimized: Bool? = nil, kernelId: String? = nil, securityGroupIds: SecurityGroupIdStringList? = nil, monitoring: LaunchTemplatesMonitoringRequest? = nil, instanceType: InstanceType? = nil, creditSpecification: CreditSpecificationRequest? = nil, securityGroups: SecurityGroupStringList? = nil, instanceMarketOptions: LaunchTemplateInstanceMarketOptionsRequest? = nil, keyName: String? = nil, iamInstanceProfile: LaunchTemplateIamInstanceProfileSpecificationRequest? = nil, cpuOptions: LaunchTemplateCpuOptionsRequest? = nil, instanceInitiatedShutdownBehavior: ShutdownBehavior? = nil, placement: LaunchTemplatePlacementRequest? = nil, ramDiskId: String? = nil, networkInterfaces: LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList? = nil, imageId: String? = nil, elasticGpuSpecifications: ElasticGpuSpecificationList? = nil) { self.blockDeviceMappings = blockDeviceMappings self.tagSpecifications = tagSpecifications self.disableApiTermination = disableApiTermination @@ -20318,11 +21324,12 @@ extension Ec2 { self.instanceMarketOptions = instanceMarketOptions self.keyName = keyName self.iamInstanceProfile = iamInstanceProfile - self.imageId = imageId + self.cpuOptions = cpuOptions self.instanceInitiatedShutdownBehavior = instanceInitiatedShutdownBehavior self.placement = placement self.ramDiskId = ramDiskId self.networkInterfaces = networkInterfaces + self.imageId = imageId self.elasticGpuSpecifications = elasticGpuSpecifications } @@ -20341,11 +21348,12 @@ extension Ec2 { case instanceMarketOptions = "InstanceMarketOptions" case keyName = "KeyName" case iamInstanceProfile = "IamInstanceProfile" - case imageId = "ImageId" + case cpuOptions = "CpuOptions" case instanceInitiatedShutdownBehavior = "InstanceInitiatedShutdownBehavior" case placement = "Placement" case ramDiskId = "RamDiskId" case networkInterfaces = "NetworkInterface" + case imageId = "ImageId" case elasticGpuSpecifications = "ElasticGpuSpecification" } } @@ -20417,21 +21425,21 @@ extension Ec2 { public struct DiskImageDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Format", location: .body(locationName: "format"), required: true, type: .enum), + AWSShapeMember(label: "Format", location: .body(locationName: "format"), required: false, type: .enum), AWSShapeMember(label: "Checksum", location: .body(locationName: "checksum"), required: false, type: .string), - AWSShapeMember(label: "ImportManifestUrl", location: .body(locationName: "importManifestUrl"), required: true, type: .string), - AWSShapeMember(label: "Size", location: .body(locationName: "size"), required: true, type: .long) + AWSShapeMember(label: "ImportManifestUrl", location: .body(locationName: "importManifestUrl"), required: false, type: .string), + AWSShapeMember(label: "Size", location: .body(locationName: "size"), required: false, type: .long) ] /// The disk image format. - public let format: DiskImageFormat + public let format: DiskImageFormat? /// The checksum computed for the disk image. public let checksum: String? /// 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. - public let importManifestUrl: String + public let importManifestUrl: String? /// The size of the disk image, in GiB. - public let size: Int64 + public let size: Int64? - public init(format: DiskImageFormat, checksum: String? = nil, importManifestUrl: String, size: Int64) { + public init(format: DiskImageFormat? = nil, checksum: String? = nil, importManifestUrl: String? = nil, size: Int64? = nil) { self.format = format self.checksum = checksum self.importManifestUrl = importManifestUrl @@ -20514,11 +21522,11 @@ extension Ec2 { AWSShapeMember(label: "InstanceId", location: .body(locationName: "instanceId"), required: false, type: .string), AWSShapeMember(label: "Output", location: .body(locationName: "output"), required: false, type: .string) ] - /// The time the output was last updated. + /// The time at which the output was last updated. public let timestamp: TimeStamp? /// The ID of the instance. public let instanceId: String? - /// The console output, Base64-encoded. If using a command line tool, the tool decodes the output for you. + /// The console output, base64-encoded. If you are using a command line tool, the tool decodes the output for you. public let output: String? public init(timestamp: TimeStamp? = nil, instanceId: String? = nil, output: String? = nil) { @@ -20668,34 +21676,40 @@ extension Ec2 { } } - public struct DisableVpcClassicLinkDnsSupportRequest: AWSShape { + public enum DefaultTargetCapacityType: String, CustomStringConvertible, Codable { + case spot = "spot" + case onDemand = "on-demand" + public var description: String { return self.rawValue } + } + + public struct RouteTableList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "VpcId", required: false, type: .string) + AWSShapeMember(label: "item", required: false, type: .list) ] - /// The ID of the VPC. - public let vpcId: String? + public let item: [RouteTable]? - public init(vpcId: String? = nil) { - self.vpcId = vpcId + public init(item: [RouteTable]? = nil) { + self.item = item } private enum CodingKeys: String, CodingKey { - case vpcId = "VpcId" + case item = "item" } } - public struct RouteTableList: AWSShape { + public struct DisableVpcClassicLinkDnsSupportRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "item", required: false, type: .list) + AWSShapeMember(label: "VpcId", required: false, type: .string) ] - public let item: [RouteTable]? + /// The ID of the VPC. + public let vpcId: String? - public init(item: [RouteTable]? = nil) { - self.item = item + public init(vpcId: String? = nil) { + self.vpcId = vpcId } private enum CodingKeys: String, CodingKey { - case item = "item" + case vpcId = "VpcId" } } @@ -20843,32 +21857,32 @@ extension Ec2 { public struct DescribeEgressOnlyInternetGatewaysRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "EgressOnlyInternetGatewayIds", location: .body(locationName: "EgressOnlyInternetGatewayId"), required: false, type: .structure), AWSShapeMember(label: "DryRun", required: false, type: .boolean), AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "EgressOnlyInternetGatewayIds", location: .body(locationName: "EgressOnlyInternetGatewayId"), required: false, type: .structure) + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// 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. - public let maxResults: Int32? + /// One or more egress-only Internet gateway IDs. + public let egressOnlyInternetGatewayIds: EgressOnlyInternetGatewayIdList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? /// The token to retrieve the next page of results. public let nextToken: String? - /// One or more egress-only Internet gateway IDs. - public let egressOnlyInternetGatewayIds: EgressOnlyInternetGatewayIdList? + /// 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. + public let maxResults: Int32? - public init(maxResults: Int32? = nil, dryRun: Bool? = nil, nextToken: String? = nil, egressOnlyInternetGatewayIds: EgressOnlyInternetGatewayIdList? = nil) { - self.maxResults = maxResults + public init(egressOnlyInternetGatewayIds: EgressOnlyInternetGatewayIdList? = nil, dryRun: Bool? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.egressOnlyInternetGatewayIds = egressOnlyInternetGatewayIds self.dryRun = dryRun self.nextToken = nextToken - self.egressOnlyInternetGatewayIds = egressOnlyInternetGatewayIds + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case maxResults = "MaxResults" + case egressOnlyInternetGatewayIds = "EgressOnlyInternetGatewayId" case dryRun = "DryRun" case nextToken = "NextToken" - case egressOnlyInternetGatewayIds = "EgressOnlyInternetGatewayId" + case maxResults = "MaxResults" } } @@ -20940,44 +21954,18 @@ extension Ec2 { } } - public struct LaunchTemplatePlacement: AWSShape { + public struct FleetLaunchTemplateConfigList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Affinity", location: .body(locationName: "affinity"), required: false, type: .string), - AWSShapeMember(label: "SpreadDomain", location: .body(locationName: "spreadDomain"), required: false, type: .string), - AWSShapeMember(label: "HostId", location: .body(locationName: "hostId"), required: false, type: .string), - AWSShapeMember(label: "AvailabilityZone", location: .body(locationName: "availabilityZone"), required: false, type: .string), - AWSShapeMember(label: "Tenancy", location: .body(locationName: "tenancy"), required: false, type: .enum), - AWSShapeMember(label: "GroupName", location: .body(locationName: "groupName"), required: false, type: .string) + AWSShapeMember(label: "item", required: false, type: .list) ] - /// The affinity setting for the instance on the Dedicated Host. - public let affinity: String? - /// Reserved for future use. - public let spreadDomain: String? - /// The ID of the Dedicated Host for the instance. - public let hostId: String? - /// The Availability Zone of the instance. - public let availabilityZone: String? - /// 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. - public let tenancy: Tenancy? - /// The name of the placement group for the instance. - public let groupName: String? + public let item: [FleetLaunchTemplateConfig]? - public init(affinity: String? = nil, spreadDomain: String? = nil, hostId: String? = nil, availabilityZone: String? = nil, tenancy: Tenancy? = nil, groupName: String? = nil) { - self.affinity = affinity - self.spreadDomain = spreadDomain - self.hostId = hostId - self.availabilityZone = availabilityZone - self.tenancy = tenancy - self.groupName = groupName + public init(item: [FleetLaunchTemplateConfig]? = nil) { + self.item = item } private enum CodingKeys: String, CodingKey { - case affinity = "affinity" - case spreadDomain = "spreadDomain" - case hostId = "hostId" - case availabilityZone = "availabilityZone" - case tenancy = "tenancy" - case groupName = "groupName" + case item = "item" } } @@ -21027,6 +22015,47 @@ extension Ec2 { } } + public struct LaunchTemplatePlacement: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Affinity", location: .body(locationName: "affinity"), required: false, type: .string), + AWSShapeMember(label: "SpreadDomain", location: .body(locationName: "spreadDomain"), required: false, type: .string), + AWSShapeMember(label: "HostId", location: .body(locationName: "hostId"), required: false, type: .string), + AWSShapeMember(label: "AvailabilityZone", location: .body(locationName: "availabilityZone"), required: false, type: .string), + AWSShapeMember(label: "Tenancy", location: .body(locationName: "tenancy"), required: false, type: .enum), + AWSShapeMember(label: "GroupName", location: .body(locationName: "groupName"), required: false, type: .string) + ] + /// The affinity setting for the instance on the Dedicated Host. + public let affinity: String? + /// Reserved for future use. + public let spreadDomain: String? + /// The ID of the Dedicated Host for the instance. + public let hostId: String? + /// The Availability Zone of the instance. + public let availabilityZone: String? + /// 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. + public let tenancy: Tenancy? + /// The name of the placement group for the instance. + public let groupName: String? + + public init(affinity: String? = nil, spreadDomain: String? = nil, hostId: String? = nil, availabilityZone: String? = nil, tenancy: Tenancy? = nil, groupName: String? = nil) { + self.affinity = affinity + self.spreadDomain = spreadDomain + self.hostId = hostId + self.availabilityZone = availabilityZone + self.tenancy = tenancy + self.groupName = groupName + } + + private enum CodingKeys: String, CodingKey { + case affinity = "affinity" + case spreadDomain = "spreadDomain" + case hostId = "hostId" + case availabilityZone = "availabilityZone" + case tenancy = "tenancy" + case groupName = "groupName" + } + } + public struct ImportInstanceVolumeDetailSet: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "item", required: false, type: .list) @@ -21187,7 +22216,7 @@ extension Ec2 { ] /// The S3 bucket for the disk image. public let userBucket: UserBucket? - /// The format of the disk image being imported. Valid values: RAW | VHD | VMDK | OVA + /// The format of the disk image being imported. Valid values: VHD | VMDK | OVA public let format: String? /// 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://..). public let url: String? @@ -21209,6 +22238,27 @@ extension Ec2 { } } + public struct DeleteFleetErrorItem: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FleetId", location: .body(locationName: "fleetId"), required: false, type: .string), + AWSShapeMember(label: "Error", location: .body(locationName: "error"), required: false, type: .structure) + ] + /// The ID of the EC2 Fleet. + public let fleetId: String? + /// The error. + public let error: DeleteFleetError? + + public init(fleetId: String? = nil, error: DeleteFleetError? = nil) { + self.fleetId = fleetId + self.error = error + } + + private enum CodingKeys: String, CodingKey { + case fleetId = "fleetId" + case error = "error" + } + } + public struct IamInstanceProfileAssociation: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Timestamp", location: .body(locationName: "timestamp"), required: false, type: .timestamp), @@ -21281,7 +22331,7 @@ extension Ec2 { public let allowEgressFromLocalVpcToRemoteClassicLink: Bool? /// 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. public let allowEgressFromLocalClassicLinkToRemoteVpc: Bool? - /// If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. + /// 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. public let allowDnsResolutionFromRemoteVpc: Bool? public init(allowEgressFromLocalVpcToRemoteClassicLink: Bool? = nil, allowEgressFromLocalClassicLinkToRemoteVpc: Bool? = nil, allowDnsResolutionFromRemoteVpc: Bool? = nil) { @@ -21525,6 +22575,27 @@ extension Ec2 { } } + public struct LaunchTemplateCpuOptionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ThreadsPerCore", required: false, type: .integer), + AWSShapeMember(label: "CoreCount", required: false, type: .integer) + ] + /// 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. + public let threadsPerCore: Int32? + /// The number of CPU cores for the instance. + public let coreCount: Int32? + + public init(threadsPerCore: Int32? = nil, coreCount: Int32? = nil) { + self.threadsPerCore = threadsPerCore + self.coreCount = coreCount + } + + private enum CodingKeys: String, CodingKey { + case threadsPerCore = "ThreadsPerCore" + case coreCount = "CoreCount" + } + } + public struct PricingDetail: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Price", location: .body(locationName: "price"), required: false, type: .double), @@ -21586,7 +22657,7 @@ extension Ec2 { ] /// One or more Reserved Instance IDs. Default: Describes all your Reserved Instances, or only those otherwise specified. public let reservedInstancesIds: ReservedInstancesIdStringList? - /// One or more filters. availability-zone - The Availability Zone where the Reserved Instance can be used. duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000). end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z). fixed-price - The purchase price of the Reserved Instance (for example, 9800.0). instance-type - The instance type that is covered by the reservation. scope - The scope of the Reserved Instance (Region or Availability Zone). product-description - The Reserved Instance product platform description. Instances that include (Amazon VPC) in the product platform description will only be displayed to EC2-Classic account holders and are for use with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)). reserved-instances-id - The ID of the Reserved Instance. start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z). state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired). tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84). + /// 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). public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -21908,6 +22979,22 @@ extension Ec2 { } } + public struct OnDemandOptions: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AllocationStrategy", location: .body(locationName: "allocationStrategy"), required: false, type: .enum) + ] + /// 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. + public let allocationStrategy: FleetOnDemandAllocationStrategy? + + public init(allocationStrategy: FleetOnDemandAllocationStrategy? = nil) { + self.allocationStrategy = allocationStrategy + } + + private enum CodingKeys: String, CodingKey { + case allocationStrategy = "allocationStrategy" + } + } + public struct UserIdGroupPair: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UserId", location: .body(locationName: "userId"), required: false, type: .string), @@ -21918,13 +23005,13 @@ extension Ec2 { AWSShapeMember(label: "GroupId", location: .body(locationName: "groupId"), required: false, type: .string), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] - /// 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. + /// 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. public let userId: String? /// The status of a VPC peering connection, if applicable. public let peeringStatus: String? /// The ID of the VPC for the referenced security group, if applicable. public let vpcId: String? - /// 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. + /// 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. public let groupName: String? /// The ID of the VPC peering connection, if applicable. public let vpcPeeringConnectionId: String? @@ -22236,16 +23323,20 @@ extension Ec2 { public struct SpotFleetRequestConfigData: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TargetCapacity", location: .body(locationName: "targetCapacity"), required: true, type: .integer), + AWSShapeMember(label: "OnDemandTargetCapacity", location: .body(locationName: "onDemandTargetCapacity"), required: false, type: .integer), AWSShapeMember(label: "ClientToken", location: .body(locationName: "clientToken"), required: false, type: .string), AWSShapeMember(label: "IamFleetRole", location: .body(locationName: "iamFleetRole"), required: true, type: .string), AWSShapeMember(label: "SpotPrice", location: .body(locationName: "spotPrice"), required: false, type: .string), + AWSShapeMember(label: "InstancePoolsToUseCount", location: .body(locationName: "instancePoolsToUseCount"), required: false, type: .integer), AWSShapeMember(label: "ValidUntil", location: .body(locationName: "validUntil"), required: false, type: .timestamp), AWSShapeMember(label: "LoadBalancersConfig", location: .body(locationName: "loadBalancersConfig"), required: false, type: .structure), - AWSShapeMember(label: "AllocationStrategy", location: .body(locationName: "allocationStrategy"), required: false, type: .enum), + AWSShapeMember(label: "OnDemandFulfilledCapacity", location: .body(locationName: "onDemandFulfilledCapacity"), required: false, type: .double), AWSShapeMember(label: "LaunchTemplateConfigs", location: .body(locationName: "launchTemplateConfigs"), required: false, type: .structure), - AWSShapeMember(label: "ExcessCapacityTerminationPolicy", location: .body(locationName: "excessCapacityTerminationPolicy"), required: false, type: .enum), - AWSShapeMember(label: "ValidFrom", location: .body(locationName: "validFrom"), required: false, type: .timestamp), + AWSShapeMember(label: "AllocationStrategy", location: .body(locationName: "allocationStrategy"), required: false, type: .enum), AWSShapeMember(label: "LaunchSpecifications", location: .body(locationName: "launchSpecifications"), required: false, type: .structure), + AWSShapeMember(label: "ValidFrom", location: .body(locationName: "validFrom"), required: false, type: .timestamp), + AWSShapeMember(label: "OnDemandAllocationStrategy", location: .body(locationName: "onDemandAllocationStrategy"), required: false, type: .enum), + AWSShapeMember(label: "ExcessCapacityTerminationPolicy", location: .body(locationName: "excessCapacityTerminationPolicy"), required: false, type: .enum), AWSShapeMember(label: "TerminateInstancesWithExpiration", location: .body(locationName: "terminateInstancesWithExpiration"), required: false, type: .boolean), AWSShapeMember(label: "ReplaceUnhealthyInstances", location: .body(locationName: "replaceUnhealthyInstances"), required: false, type: .boolean), AWSShapeMember(label: "FulfilledCapacity", location: .body(locationName: "fulfilledCapacity"), required: false, type: .double), @@ -22254,49 +23345,61 @@ extension Ec2 { ] /// 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. public let targetCapacity: Int32 - /// A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency. + /// 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. + public let onDemandTargetCapacity: Int32? + /// 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. public let clientToken: String? /// 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. public let iamFleetRole: String /// The maximum price per unit hour that you are willing to pay for a Spot Instance. The default is the On-Demand price. public let spotPrice: String? + /// 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. + public let instancePoolsToUseCount: Int32? /// 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. public let validUntil: TimeStamp? /// 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. public let loadBalancersConfig: LoadBalancersConfig? - /// Indicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet request. The default is lowestPrice. - public let allocationStrategy: AllocationStrategy? + /// The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity. + public let onDemandFulfilledCapacity: Double? /// The launch template and overrides. public let launchTemplateConfigs: LaunchTemplateConfigList? - /// 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. - public let excessCapacityTerminationPolicy: ExcessCapacityTerminationPolicy? - /// 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. - public let validFrom: TimeStamp? + /// Indicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet request. The default is lowestPrice. + public let allocationStrategy: AllocationStrategy? /// The launch specifications for the Spot Fleet request. public let launchSpecifications: LaunchSpecsList? + /// 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. + public let validFrom: TimeStamp? + /// 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. + public let onDemandAllocationStrategy: OnDemandAllocationStrategy? + /// 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. + public let excessCapacityTerminationPolicy: ExcessCapacityTerminationPolicy? /// Indicates whether running Spot Instances should be terminated when the Spot Fleet request expires. public let terminateInstancesWithExpiration: Bool? /// Indicates whether Spot Fleet should replace unhealthy instances. public let replaceUnhealthyInstances: Bool? /// The number of units fulfilled by this request compared to the set target capacity. public let fulfilledCapacity: Double? - /// 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 requests. It will not attempt to replenish Spot Instances if capacity is diminished, nor will it submit requests in alternative Spot pools if capacity is not available. When you want to maintain a certain target capacity, fleet will place the required requests to meet this target capacity. It will also automatically replenish any interrupted instances. Default: maintain. + /// 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. public let `type`: FleetType? /// The behavior when a Spot Instance is interrupted. The default is terminate. public let instanceInterruptionBehavior: InstanceInterruptionBehavior? - public init(targetCapacity: Int32, clientToken: String? = nil, iamFleetRole: String, spotPrice: String? = nil, validUntil: TimeStamp? = nil, loadBalancersConfig: LoadBalancersConfig? = nil, allocationStrategy: AllocationStrategy? = nil, launchTemplateConfigs: LaunchTemplateConfigList? = nil, excessCapacityTerminationPolicy: ExcessCapacityTerminationPolicy? = nil, validFrom: TimeStamp? = nil, launchSpecifications: LaunchSpecsList? = nil, terminateInstancesWithExpiration: Bool? = nil, replaceUnhealthyInstances: Bool? = nil, fulfilledCapacity: Double? = nil, type: FleetType? = nil, instanceInterruptionBehavior: InstanceInterruptionBehavior? = nil) { + public init(targetCapacity: Int32, onDemandTargetCapacity: Int32? = nil, clientToken: String? = nil, iamFleetRole: String, spotPrice: String? = nil, instancePoolsToUseCount: Int32? = nil, validUntil: TimeStamp? = nil, loadBalancersConfig: LoadBalancersConfig? = nil, onDemandFulfilledCapacity: Double? = nil, launchTemplateConfigs: LaunchTemplateConfigList? = nil, allocationStrategy: AllocationStrategy? = nil, launchSpecifications: LaunchSpecsList? = nil, validFrom: TimeStamp? = nil, onDemandAllocationStrategy: OnDemandAllocationStrategy? = nil, excessCapacityTerminationPolicy: ExcessCapacityTerminationPolicy? = nil, terminateInstancesWithExpiration: Bool? = nil, replaceUnhealthyInstances: Bool? = nil, fulfilledCapacity: Double? = nil, type: FleetType? = nil, instanceInterruptionBehavior: InstanceInterruptionBehavior? = nil) { self.targetCapacity = targetCapacity + self.onDemandTargetCapacity = onDemandTargetCapacity self.clientToken = clientToken self.iamFleetRole = iamFleetRole self.spotPrice = spotPrice + self.instancePoolsToUseCount = instancePoolsToUseCount self.validUntil = validUntil self.loadBalancersConfig = loadBalancersConfig - self.allocationStrategy = allocationStrategy + self.onDemandFulfilledCapacity = onDemandFulfilledCapacity self.launchTemplateConfigs = launchTemplateConfigs - self.excessCapacityTerminationPolicy = excessCapacityTerminationPolicy - self.validFrom = validFrom + self.allocationStrategy = allocationStrategy self.launchSpecifications = launchSpecifications + self.validFrom = validFrom + self.onDemandAllocationStrategy = onDemandAllocationStrategy + self.excessCapacityTerminationPolicy = excessCapacityTerminationPolicy self.terminateInstancesWithExpiration = terminateInstancesWithExpiration self.replaceUnhealthyInstances = replaceUnhealthyInstances self.fulfilledCapacity = fulfilledCapacity @@ -22306,16 +23409,20 @@ extension Ec2 { private enum CodingKeys: String, CodingKey { case targetCapacity = "targetCapacity" + case onDemandTargetCapacity = "onDemandTargetCapacity" case clientToken = "clientToken" case iamFleetRole = "iamFleetRole" case spotPrice = "spotPrice" + case instancePoolsToUseCount = "instancePoolsToUseCount" case validUntil = "validUntil" case loadBalancersConfig = "loadBalancersConfig" - case allocationStrategy = "allocationStrategy" + case onDemandFulfilledCapacity = "onDemandFulfilledCapacity" case launchTemplateConfigs = "launchTemplateConfigs" - case excessCapacityTerminationPolicy = "excessCapacityTerminationPolicy" - case validFrom = "validFrom" + case allocationStrategy = "allocationStrategy" case launchSpecifications = "launchSpecifications" + case validFrom = "validFrom" + case onDemandAllocationStrategy = "onDemandAllocationStrategy" + case excessCapacityTerminationPolicy = "excessCapacityTerminationPolicy" case terminateInstancesWithExpiration = "terminateInstancesWithExpiration" case replaceUnhealthyInstances = "replaceUnhealthyInstances" case fulfilledCapacity = "fulfilledCapacity" @@ -22356,7 +23463,7 @@ extension Ec2 { ] /// The maximum number of results to return in a single call. public let maxResults: Int32? - /// One or more filters. create-time - The creation time of the AFI. fpga-image-id - The FPGA image identifier (AFI ID). fpga-image-global-id - The global FPGA image identifier (AGFI ID). name - The name of the AFI. owner-id - The AWS account ID of the AFI owner. product-code - The product code. shell-version - The version of the AWS Shell that was used to create the bitstream. state - The state of the AFI (pending | failed | available | unavailable). tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. update-time - The time of the most recent update. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -22516,7 +23623,7 @@ extension Ec2 { ] /// The reason code for the state change. public let code: String? - /// The message for the state change. Server.InsufficientInstanceCapacity: There was insufficient instance capacity to satisfy the launch request. Server.InternalError: An internal error occurred during instance launch, resulting in termination. Server.ScheduledStop: The instance was stopped due to a scheduled retirement. Server.SpotInstanceTermination: A Spot Instance was terminated due to an increase in the Spot price. Client.InternalError: A client error caused the instance to terminate on launch. Client.InstanceInitiatedShutdown: The instance was shut down using the shutdown -h command from the instance. Client.InstanceTerminated: The instance was terminated or rebooted during AMI creation. 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. + /// 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. public let message: String? public init(code: String? = nil, message: String? = nil) { @@ -22538,7 +23645,7 @@ extension Ec2 { ] /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? - /// One or more tags to delete. If you omit this parameter, we delete all tags for the specified resources. 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. + /// 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). public let tags: TagList? /// The IDs of one or more resources. public let resources: [String] @@ -22622,7 +23729,7 @@ extension Ec2 { ] /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? - /// 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 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 Elastic Compute Cloud User Guide. status-code - The short code describing the most recent evaluation of your Spot Instance request. status-message - The message explaining the status of the Spot Instance request. tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. type - The type of Spot Instance request (one-time | persistent). valid-from - The start date of the request. valid-until - The end date of the request. + /// 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. public let filters: FilterList? /// One or more Spot Instance request IDs. public let spotInstanceRequestIds: SpotInstanceRequestIdList? @@ -22751,30 +23858,30 @@ extension Ec2 { public struct ExportToS3TaskSpecification: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "S3Prefix", location: .body(locationName: "s3Prefix"), required: false, type: .string), AWSShapeMember(label: "ContainerFormat", location: .body(locationName: "containerFormat"), required: false, type: .enum), + AWSShapeMember(label: "S3Prefix", location: .body(locationName: "s3Prefix"), required: false, type: .string), AWSShapeMember(label: "DiskImageFormat", location: .body(locationName: "diskImageFormat"), required: false, type: .enum), AWSShapeMember(label: "S3Bucket", location: .body(locationName: "s3Bucket"), required: false, type: .string) ] - /// The image is written to a single object in the S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat. - public let s3Prefix: String? /// The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported. public let containerFormat: ContainerFormat? + /// The image is written to a single object in the S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat. + public let s3Prefix: String? /// The format for the exported image. public let diskImageFormat: DiskImageFormat? /// 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. public let s3Bucket: String? - public init(s3Prefix: String? = nil, containerFormat: ContainerFormat? = nil, diskImageFormat: DiskImageFormat? = nil, s3Bucket: String? = nil) { - self.s3Prefix = s3Prefix + public init(containerFormat: ContainerFormat? = nil, s3Prefix: String? = nil, diskImageFormat: DiskImageFormat? = nil, s3Bucket: String? = nil) { self.containerFormat = containerFormat + self.s3Prefix = s3Prefix self.diskImageFormat = diskImageFormat self.s3Bucket = s3Bucket } private enum CodingKeys: String, CodingKey { - case s3Prefix = "s3Prefix" case containerFormat = "containerFormat" + case s3Prefix = "s3Prefix" case diskImageFormat = "diskImageFormat" case s3Bucket = "s3Bucket" } @@ -22903,51 +24010,51 @@ extension Ec2 { public struct CopySnapshotRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "KmsKeyId", location: .body(locationName: "kmsKeyId"), required: false, type: .string), + AWSShapeMember(label: "SourceSnapshotId", required: true, type: .string), AWSShapeMember(label: "SourceRegion", required: true, type: .string), AWSShapeMember(label: "Encrypted", location: .body(locationName: "encrypted"), required: false, type: .boolean), AWSShapeMember(label: "DestinationRegion", location: .body(locationName: "destinationRegion"), required: false, type: .string), AWSShapeMember(label: "DryRun", location: .body(locationName: "dryRun"), required: false, type: .boolean), AWSShapeMember(label: "PresignedUrl", location: .body(locationName: "presignedUrl"), required: false, type: .string), - AWSShapeMember(label: "SourceSnapshotId", required: true, type: .string) + AWSShapeMember(label: "KmsKeyId", location: .body(locationName: "kmsKeyId"), required: false, type: .string) ] /// A description for the EBS snapshot. public let description: String? - /// 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. - public let kmsKeyId: String? + /// The ID of the EBS snapshot to copy. + public let sourceSnapshotId: String /// The ID of the region that contains the snapshot to be copied. public let sourceRegion: String /// 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. public let encrypted: Bool? - /// 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). + /// 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. public let destinationRegion: String? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? - /// 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. + /// 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. public let presignedUrl: String? - /// The ID of the EBS snapshot to copy. - public let sourceSnapshotId: String + /// 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. + public let kmsKeyId: String? - public init(description: String? = nil, kmsKeyId: String? = nil, sourceRegion: String, encrypted: Bool? = nil, destinationRegion: String? = nil, dryRun: Bool? = nil, presignedUrl: String? = nil, sourceSnapshotId: String) { + public init(description: String? = nil, sourceSnapshotId: String, sourceRegion: String, encrypted: Bool? = nil, destinationRegion: String? = nil, dryRun: Bool? = nil, presignedUrl: String? = nil, kmsKeyId: String? = nil) { self.description = description - self.kmsKeyId = kmsKeyId + self.sourceSnapshotId = sourceSnapshotId self.sourceRegion = sourceRegion self.encrypted = encrypted self.destinationRegion = destinationRegion self.dryRun = dryRun self.presignedUrl = presignedUrl - self.sourceSnapshotId = sourceSnapshotId + self.kmsKeyId = kmsKeyId } private enum CodingKeys: String, CodingKey { case description = "Description" - case kmsKeyId = "kmsKeyId" + case sourceSnapshotId = "SourceSnapshotId" case sourceRegion = "SourceRegion" case encrypted = "encrypted" case destinationRegion = "destinationRegion" case dryRun = "dryRun" case presignedUrl = "presignedUrl" - case sourceSnapshotId = "SourceSnapshotId" + case kmsKeyId = "kmsKeyId" } } @@ -23008,6 +24115,37 @@ extension Ec2 { } } + public struct ModifyFleetRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DryRun", required: false, type: .boolean), + AWSShapeMember(label: "ExcessCapacityTerminationPolicy", required: false, type: .enum), + AWSShapeMember(label: "FleetId", required: true, type: .string), + AWSShapeMember(label: "TargetCapacitySpecification", required: true, type: .structure) + ] + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public let dryRun: Bool? + /// 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. + public let excessCapacityTerminationPolicy: FleetExcessCapacityTerminationPolicy? + /// The ID of the EC2 Fleet. + public let fleetId: String + /// The size of the EC2 Fleet. + public let targetCapacitySpecification: TargetCapacitySpecificationRequest + + public init(dryRun: Bool? = nil, excessCapacityTerminationPolicy: FleetExcessCapacityTerminationPolicy? = nil, fleetId: String, targetCapacitySpecification: TargetCapacitySpecificationRequest) { + self.dryRun = dryRun + self.excessCapacityTerminationPolicy = excessCapacityTerminationPolicy + self.fleetId = fleetId + self.targetCapacitySpecification = targetCapacitySpecification + } + + private enum CodingKeys: String, CodingKey { + case dryRun = "DryRun" + case excessCapacityTerminationPolicy = "ExcessCapacityTerminationPolicy" + case fleetId = "FleetId" + case targetCapacitySpecification = "TargetCapacitySpecification" + } + } + public struct EgressOnlyInternetGateway: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EgressOnlyInternetGatewayId", location: .body(locationName: "egressOnlyInternetGatewayId"), required: false, type: .string), @@ -23065,13 +24203,13 @@ extension Ec2 { } } - public struct VpnConnectionList: AWSShape { + public struct FleetLaunchTemplateOverridesList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "item", required: false, type: .list) ] - public let item: [VpnConnection]? + public let item: [FleetLaunchTemplateOverrides]? - public init(item: [VpnConnection]? = nil) { + public init(item: [FleetLaunchTemplateOverrides]? = nil) { self.item = item } @@ -23111,11 +24249,12 @@ extension Ec2 { AWSShapeMember(label: "InstanceMarketOptions", location: .body(locationName: "instanceMarketOptions"), required: false, type: .structure), AWSShapeMember(label: "KeyName", location: .body(locationName: "keyName"), required: false, type: .string), AWSShapeMember(label: "IamInstanceProfile", location: .body(locationName: "iamInstanceProfile"), required: false, type: .structure), - AWSShapeMember(label: "ImageId", location: .body(locationName: "imageId"), required: false, type: .string), + AWSShapeMember(label: "CpuOptions", location: .body(locationName: "cpuOptions"), required: false, type: .structure), AWSShapeMember(label: "InstanceInitiatedShutdownBehavior", location: .body(locationName: "instanceInitiatedShutdownBehavior"), required: false, type: .enum), AWSShapeMember(label: "Placement", location: .body(locationName: "placement"), required: false, type: .structure), AWSShapeMember(label: "RamDiskId", location: .body(locationName: "ramDiskId"), required: false, type: .string), AWSShapeMember(label: "NetworkInterfaces", location: .body(locationName: "networkInterfaceSet"), required: false, type: .structure), + AWSShapeMember(label: "ImageId", location: .body(locationName: "imageId"), required: false, type: .string), AWSShapeMember(label: "ElasticGpuSpecifications", location: .body(locationName: "elasticGpuSpecificationSet"), required: false, type: .structure) ] /// The block device mappings. @@ -23146,8 +24285,8 @@ extension Ec2 { public let keyName: String? /// The IAM instance profile. public let iamInstanceProfile: LaunchTemplateIamInstanceProfileSpecification? - /// The ID of the AMI that was used to launch the instance. - public let imageId: String? + /// The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide. + public let cpuOptions: LaunchTemplateCpuOptions? /// Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). public let instanceInitiatedShutdownBehavior: ShutdownBehavior? /// The placement of the instance. @@ -23156,10 +24295,12 @@ extension Ec2 { public let ramDiskId: String? /// The network interfaces. public let networkInterfaces: LaunchTemplateInstanceNetworkInterfaceSpecificationList? + /// The ID of the AMI that was used to launch the instance. + public let imageId: String? /// The elastic GPU specification. public let elasticGpuSpecifications: ElasticGpuSpecificationResponseList? - public init(blockDeviceMappings: LaunchTemplateBlockDeviceMappingList? = nil, tagSpecifications: LaunchTemplateTagSpecificationList? = nil, disableApiTermination: Bool? = nil, userData: String? = nil, ebsOptimized: Bool? = nil, kernelId: String? = nil, securityGroupIds: ValueStringList? = nil, monitoring: LaunchTemplatesMonitoring? = nil, instanceType: InstanceType? = nil, creditSpecification: CreditSpecification? = nil, securityGroups: ValueStringList? = nil, instanceMarketOptions: LaunchTemplateInstanceMarketOptions? = nil, keyName: String? = nil, iamInstanceProfile: LaunchTemplateIamInstanceProfileSpecification? = nil, imageId: String? = nil, instanceInitiatedShutdownBehavior: ShutdownBehavior? = nil, placement: LaunchTemplatePlacement? = nil, ramDiskId: String? = nil, networkInterfaces: LaunchTemplateInstanceNetworkInterfaceSpecificationList? = nil, elasticGpuSpecifications: ElasticGpuSpecificationResponseList? = nil) { + public init(blockDeviceMappings: LaunchTemplateBlockDeviceMappingList? = nil, tagSpecifications: LaunchTemplateTagSpecificationList? = nil, disableApiTermination: Bool? = nil, userData: String? = nil, ebsOptimized: Bool? = nil, kernelId: String? = nil, securityGroupIds: ValueStringList? = nil, monitoring: LaunchTemplatesMonitoring? = nil, instanceType: InstanceType? = nil, creditSpecification: CreditSpecification? = nil, securityGroups: ValueStringList? = nil, instanceMarketOptions: LaunchTemplateInstanceMarketOptions? = nil, keyName: String? = nil, iamInstanceProfile: LaunchTemplateIamInstanceProfileSpecification? = nil, cpuOptions: LaunchTemplateCpuOptions? = nil, instanceInitiatedShutdownBehavior: ShutdownBehavior? = nil, placement: LaunchTemplatePlacement? = nil, ramDiskId: String? = nil, networkInterfaces: LaunchTemplateInstanceNetworkInterfaceSpecificationList? = nil, imageId: String? = nil, elasticGpuSpecifications: ElasticGpuSpecificationResponseList? = nil) { self.blockDeviceMappings = blockDeviceMappings self.tagSpecifications = tagSpecifications self.disableApiTermination = disableApiTermination @@ -23174,11 +24315,12 @@ extension Ec2 { self.instanceMarketOptions = instanceMarketOptions self.keyName = keyName self.iamInstanceProfile = iamInstanceProfile - self.imageId = imageId + self.cpuOptions = cpuOptions self.instanceInitiatedShutdownBehavior = instanceInitiatedShutdownBehavior self.placement = placement self.ramDiskId = ramDiskId self.networkInterfaces = networkInterfaces + self.imageId = imageId self.elasticGpuSpecifications = elasticGpuSpecifications } @@ -23197,11 +24339,12 @@ extension Ec2 { case instanceMarketOptions = "instanceMarketOptions" case keyName = "keyName" case iamInstanceProfile = "iamInstanceProfile" - case imageId = "imageId" + case cpuOptions = "cpuOptions" case instanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior" case placement = "placement" case ramDiskId = "ramDiskId" case networkInterfaces = "networkInterfaceSet" + case imageId = "imageId" case elasticGpuSpecifications = "elasticGpuSpecificationSet" } } @@ -23222,6 +24365,21 @@ extension Ec2 { } } + public struct VpnConnectionList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "item", required: false, type: .list) + ] + public let item: [VpnConnection]? + + public init(item: [VpnConnection]? = nil) { + self.item = item + } + + private enum CodingKeys: String, CodingKey { + case item = "item" + } + } + public struct EnableVgwRoutePropagationRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RouteTableId", required: true, type: .string), @@ -23243,21 +24401,6 @@ extension Ec2 { } } - public struct LaunchSpecsList: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "item", required: false, type: .list) - ] - public let item: [SpotFleetLaunchSpecification]? - - public init(item: [SpotFleetLaunchSpecification]? = nil) { - self.item = item - } - - private enum CodingKeys: String, CodingKey { - case item = "item" - } - } - public struct GetReservedInstancesExchangeQuoteRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ReservedInstanceIds", location: .body(locationName: "ReservedInstanceId"), required: true, type: .structure), @@ -23330,7 +24473,7 @@ extension Ec2 { public let blockDeviceMappings: BlockDeviceMappingList? /// The tags to apply during creation. public let tagSpecifications: SpotFleetTagSpecificationList? - /// 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. + /// The Base64-encoded user data to make available to the instances. public let userData: String? /// 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". public let subnetId: String? @@ -23427,6 +24570,21 @@ extension Ec2 { } } + public struct LaunchSpecsList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "item", required: false, type: .list) + ] + public let item: [SpotFleetLaunchSpecification]? + + public init(item: [SpotFleetLaunchSpecification]? = nil) { + self.item = item + } + + private enum CodingKeys: String, CodingKey { + case item = "item" + } + } + public struct DescribePlacementGroupsResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PlacementGroups", location: .body(locationName: "placementGroupSet"), required: false, type: .structure) @@ -23543,7 +24701,7 @@ extension Ec2 { ] /// The tunnel options for the VPN connection. public let tunnelOptions: TunnelOptionsList? - /// 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. Default: false + /// 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 public let staticRoutesOnly: Bool? public init(tunnelOptions: TunnelOptionsList? = nil, staticRoutesOnly: Bool? = nil) { @@ -24164,7 +25322,7 @@ extension Ec2 { public let productDescriptions: [String]? /// 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). public let endTime: TimeStamp? - /// 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. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -24204,9 +25362,9 @@ extension Ec2 { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ImportInstance", location: .body(locationName: "importInstance"), required: false, type: .structure), AWSShapeMember(label: "ExpirationTime", location: .body(locationName: "expirationTime"), required: false, type: .string), + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), AWSShapeMember(label: "Tags", location: .body(locationName: "tagSet"), required: false, type: .structure), - AWSShapeMember(label: "State", location: .body(locationName: "state"), required: true, type: .enum), - AWSShapeMember(label: "ConversionTaskId", location: .body(locationName: "conversionTaskId"), required: true, type: .string), + AWSShapeMember(label: "ConversionTaskId", location: .body(locationName: "conversionTaskId"), required: false, type: .string), AWSShapeMember(label: "StatusMessage", location: .body(locationName: "statusMessage"), required: false, type: .string), AWSShapeMember(label: "ImportVolume", location: .body(locationName: "importVolume"), required: false, type: .structure) ] @@ -24214,22 +25372,22 @@ extension Ec2 { public let importInstance: ImportInstanceTaskDetails? /// The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task. public let expirationTime: String? + /// The state of the conversion task. + public let state: ConversionTaskState? /// Any tags assigned to the task. public let tags: TagList? - /// The state of the conversion task. - public let state: ConversionTaskState /// The ID of the conversion task. - public let conversionTaskId: String + public let conversionTaskId: String? /// The status message related to the conversion task. public let statusMessage: String? /// If the task is for importing a volume, this contains information about the import volume task. public let importVolume: ImportVolumeTaskDetails? - public init(importInstance: ImportInstanceTaskDetails? = nil, expirationTime: String? = nil, tags: TagList? = nil, state: ConversionTaskState, conversionTaskId: String, statusMessage: String? = nil, importVolume: ImportVolumeTaskDetails? = nil) { + public init(importInstance: ImportInstanceTaskDetails? = nil, expirationTime: String? = nil, state: ConversionTaskState? = nil, tags: TagList? = nil, conversionTaskId: String? = nil, statusMessage: String? = nil, importVolume: ImportVolumeTaskDetails? = nil) { self.importInstance = importInstance self.expirationTime = expirationTime - self.tags = tags self.state = state + self.tags = tags self.conversionTaskId = conversionTaskId self.statusMessage = statusMessage self.importVolume = importVolume @@ -24238,8 +25396,8 @@ extension Ec2 { private enum CodingKeys: String, CodingKey { case importInstance = "importInstance" case expirationTime = "expirationTime" - case tags = "tagSet" case state = "state" + case tags = "tagSet" case conversionTaskId = "conversionTaskId" case statusMessage = "statusMessage" case importVolume = "importVolume" @@ -24344,7 +25502,7 @@ extension Ec2 { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "VolumeModification", location: .body(locationName: "volumeModification"), required: false, type: .structure) ] - /// A VolumeModification object. + /// Information about the volume modification. public let volumeModification: VolumeModification? public init(volumeModification: VolumeModification? = nil) { @@ -24495,7 +25653,7 @@ extension Ec2 { ] /// The IDs of one or more DHCP options sets. Default: Describes all your DHCP options sets. public let dhcpOptionsIds: DhcpOptionsIdStringList? - /// One or more filters. dhcp-options-id - The ID of a set of DHCP options. key - The key for one of the options (for example, domain-name). value - The value for one of the options. tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value. tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter. tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter. + /// 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. public let filters: FilterList? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? @@ -24548,7 +25706,7 @@ extension Ec2 { AWSShapeMember(label: "HostIds", location: .body(locationName: "hostId"), required: true, type: .structure), AWSShapeMember(label: "AutoPlacement", location: .body(locationName: "autoPlacement"), required: true, type: .enum) ] - /// The host IDs of the Dedicated Hosts you want to modify. + /// The IDs of the Dedicated Hosts to modify. public let hostIds: RequestHostIdList /// Specify whether to enable or disable auto-placement. public let autoPlacement: AutoPlacement @@ -24564,13 +25722,39 @@ extension Ec2 { } } - public enum NetworkInterfaceAttribute: String, CustomStringConvertible, Codable { - case description = "description" - case groupset = "groupSet" - case sourcedestcheck = "sourceDestCheck" - case attachment = "attachment" - public var description: String { return self.rawValue } - } + public struct DeleteFleetsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DryRun", required: false, type: .boolean), + AWSShapeMember(label: "TerminateInstances", required: true, type: .boolean), + AWSShapeMember(label: "FleetIds", location: .body(locationName: "FleetId"), required: true, type: .list) + ] + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public let dryRun: Bool? + /// Indicates whether to terminate instances for an EC2 Fleet if it is deleted successfully. + public let terminateInstances: Bool + /// The IDs of the EC2 Fleets. + public let fleetIds: [String] + + public init(dryRun: Bool? = nil, terminateInstances: Bool, fleetIds: [String]) { + self.dryRun = dryRun + self.terminateInstances = terminateInstances + self.fleetIds = fleetIds + } + + private enum CodingKeys: String, CodingKey { + case dryRun = "DryRun" + case terminateInstances = "TerminateInstances" + case fleetIds = "FleetId" + } + } + + public enum NetworkInterfaceAttribute: String, CustomStringConvertible, Codable { + case description = "description" + case groupset = "groupSet" + case sourcedestcheck = "sourceDestCheck" + case attachment = "attachment" + public var description: String { return self.rawValue } + } public struct AssociateIamInstanceProfileRequest: AWSShape { public static var _members: [AWSShapeMember] = [ @@ -24695,6 +25879,17 @@ extension Ec2 { } } + public enum FleetStateCode: String, CustomStringConvertible, Codable { + case submitted = "submitted" + case active = "active" + case deleted = "deleted" + case failed = "failed" + case deletedRunning = "deleted-running" + case deletedTerminating = "deleted-terminating" + case modifying = "modifying" + public var description: String { return self.rawValue } + } + public enum OfferingTypeValues: String, CustomStringConvertible, Codable { case heavyUtilization = "Heavy Utilization" case mediumUtilization = "Medium Utilization" @@ -24746,6 +25941,21 @@ extension Ec2 { } } + public struct HistoryRecordSet: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "item", required: false, type: .list) + ] + public let item: [HistoryRecordEntry]? + + public init(item: [HistoryRecordEntry]? = nil) { + self.item = item + } + + private enum CodingKeys: String, CodingKey { + case item = "item" + } + } + public struct DeleteDhcpOptionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DhcpOptionsId", required: true, type: .string), @@ -24767,6 +25977,13 @@ extension Ec2 { } } + public enum SpotInstanceInterruptionBehavior: String, CustomStringConvertible, Codable { + case hibernate = "hibernate" + case stop = "stop" + case terminate = "terminate" + public var description: String { return self.rawValue } + } + public enum CurrencyCodeValues: String, CustomStringConvertible, Codable { case usd = "USD" public var description: String { return self.rawValue } @@ -25056,6 +26273,107 @@ extension Ec2 { } } + public struct FleetData: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClientToken", location: .body(locationName: "clientToken"), required: false, type: .string), + AWSShapeMember(label: "ActivityStatus", location: .body(locationName: "activityStatus"), required: false, type: .enum), + AWSShapeMember(label: "FulfilledOnDemandCapacity", location: .body(locationName: "fulfilledOnDemandCapacity"), required: false, type: .double), + AWSShapeMember(label: "Tags", location: .body(locationName: "tagSet"), required: false, type: .structure), + AWSShapeMember(label: "OnDemandOptions", location: .body(locationName: "onDemandOptions"), required: false, type: .structure), + AWSShapeMember(label: "ValidUntil", location: .body(locationName: "validUntil"), required: false, type: .timestamp), + AWSShapeMember(label: "SpotOptions", location: .body(locationName: "spotOptions"), required: false, type: .structure), + AWSShapeMember(label: "LaunchTemplateConfigs", location: .body(locationName: "launchTemplateConfigs"), required: false, type: .structure), + AWSShapeMember(label: "FleetState", location: .body(locationName: "fleetState"), required: false, type: .enum), + AWSShapeMember(label: "ValidFrom", location: .body(locationName: "validFrom"), required: false, type: .timestamp), + AWSShapeMember(label: "ExcessCapacityTerminationPolicy", location: .body(locationName: "excessCapacityTerminationPolicy"), required: false, type: .enum), + AWSShapeMember(label: "TerminateInstancesWithExpiration", location: .body(locationName: "terminateInstancesWithExpiration"), required: false, type: .boolean), + AWSShapeMember(label: "ReplaceUnhealthyInstances", location: .body(locationName: "replaceUnhealthyInstances"), required: false, type: .boolean), + AWSShapeMember(label: "FulfilledCapacity", location: .body(locationName: "fulfilledCapacity"), required: false, type: .double), + AWSShapeMember(label: "CreateTime", location: .body(locationName: "createTime"), required: false, type: .timestamp), + AWSShapeMember(label: "FleetId", location: .body(locationName: "fleetId"), required: false, type: .string), + AWSShapeMember(label: "TargetCapacitySpecification", location: .body(locationName: "targetCapacitySpecification"), required: false, type: .structure), + AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum) + ] + /// Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency. Constraints: Maximum 64 ASCII characters + public let clientToken: String? + /// 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. + public let activityStatus: FleetActivityStatus? + /// The number of units fulfilled by this request compared to the set target On-Demand capacity. + public let fulfilledOnDemandCapacity: Double? + /// The tags for an EC2 Fleet resource. + public let tags: TagList? + /// The allocation strategy of On-Demand Instances in an EC2 Fleet. + public let onDemandOptions: OnDemandOptions? + /// 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. + public let validUntil: TimeStamp? + /// The configuration of Spot Instances in an EC2 Fleet. + public let spotOptions: SpotOptions? + /// The launch template and overrides. + public let launchTemplateConfigs: FleetLaunchTemplateConfigList? + /// The state of the EC2 Fleet. + public let fleetState: FleetStateCode? + /// 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. + public let validFrom: TimeStamp? + /// 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. + public let excessCapacityTerminationPolicy: FleetExcessCapacityTerminationPolicy? + /// Indicates whether running instances should be terminated when the EC2 Fleet expires. + public let terminateInstancesWithExpiration: Bool? + /// Indicates whether EC2 Fleet should replace unhealthy instances. + public let replaceUnhealthyInstances: Bool? + /// The number of units fulfilled by this request compared to the set target capacity. + public let fulfilledCapacity: Double? + /// The creation date and time of the EC2 Fleet. + public let createTime: TimeStamp? + /// The ID of the EC2 Fleet. + public let fleetId: String? + /// 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. + public let targetCapacitySpecification: TargetCapacitySpecification? + /// 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. + public let `type`: FleetType? + + public init(clientToken: String? = nil, activityStatus: FleetActivityStatus? = nil, fulfilledOnDemandCapacity: Double? = nil, tags: TagList? = nil, onDemandOptions: OnDemandOptions? = nil, validUntil: TimeStamp? = nil, spotOptions: SpotOptions? = nil, launchTemplateConfigs: FleetLaunchTemplateConfigList? = nil, fleetState: FleetStateCode? = nil, validFrom: TimeStamp? = nil, excessCapacityTerminationPolicy: FleetExcessCapacityTerminationPolicy? = nil, terminateInstancesWithExpiration: Bool? = nil, replaceUnhealthyInstances: Bool? = nil, fulfilledCapacity: Double? = nil, createTime: TimeStamp? = nil, fleetId: String? = nil, targetCapacitySpecification: TargetCapacitySpecification? = nil, type: FleetType? = nil) { + self.clientToken = clientToken + self.activityStatus = activityStatus + self.fulfilledOnDemandCapacity = fulfilledOnDemandCapacity + self.tags = tags + self.onDemandOptions = onDemandOptions + self.validUntil = validUntil + self.spotOptions = spotOptions + self.launchTemplateConfigs = launchTemplateConfigs + self.fleetState = fleetState + self.validFrom = validFrom + self.excessCapacityTerminationPolicy = excessCapacityTerminationPolicy + self.terminateInstancesWithExpiration = terminateInstancesWithExpiration + self.replaceUnhealthyInstances = replaceUnhealthyInstances + self.fulfilledCapacity = fulfilledCapacity + self.createTime = createTime + self.fleetId = fleetId + self.targetCapacitySpecification = targetCapacitySpecification + self.`type` = `type` + } + + private enum CodingKeys: String, CodingKey { + case clientToken = "clientToken" + case activityStatus = "activityStatus" + case fulfilledOnDemandCapacity = "fulfilledOnDemandCapacity" + case tags = "tagSet" + case onDemandOptions = "onDemandOptions" + case validUntil = "validUntil" + case spotOptions = "spotOptions" + case launchTemplateConfigs = "launchTemplateConfigs" + case fleetState = "fleetState" + case validFrom = "validFrom" + case excessCapacityTerminationPolicy = "excessCapacityTerminationPolicy" + case terminateInstancesWithExpiration = "terminateInstancesWithExpiration" + case replaceUnhealthyInstances = "replaceUnhealthyInstances" + case fulfilledCapacity = "fulfilledCapacity" + case createTime = "createTime" + case fleetId = "fleetId" + case targetCapacitySpecification = "targetCapacitySpecification" + case `type` = "type" + } + } + public struct AssociateRouteTableRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SubnetId", location: .body(locationName: "subnetId"), required: true, type: .string), @@ -25250,14 +26568,14 @@ extension Ec2 { public struct PrivateIpAddressSpecification: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Primary", location: .body(locationName: "primary"), required: false, type: .boolean), - AWSShapeMember(label: "PrivateIpAddress", location: .body(locationName: "privateIpAddress"), required: true, type: .string) + AWSShapeMember(label: "PrivateIpAddress", location: .body(locationName: "privateIpAddress"), required: false, type: .string) ] /// Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. public let primary: Bool? /// The private IPv4 addresses. - public let privateIpAddress: String + public let privateIpAddress: String? - public init(primary: Bool? = nil, privateIpAddress: String) { + public init(primary: Bool? = nil, privateIpAddress: String? = nil) { self.primary = primary self.privateIpAddress = privateIpAddress } @@ -25403,18 +26721,24 @@ extension Ec2 { } } - public struct TagDescriptionList: AWSShape { + public struct DescribePrincipalIdFormatResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "item", required: false, type: .list) + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Principals", location: .body(locationName: "principalSet"), required: false, type: .structure) ] - public let item: [TagDescription]? + /// The token to use to retrieve the next page of results. This value is null when there are no more results to return. + public let nextToken: String? + /// Information about the ID format settings for the ARN. + public let principals: PrincipalIdFormatList? - public init(item: [TagDescription]? = nil) { - self.item = item + public init(nextToken: String? = nil, principals: PrincipalIdFormatList? = nil) { + self.nextToken = nextToken + self.principals = principals } private enum CodingKeys: String, CodingKey { - case item = "item" + case nextToken = "nextToken" + case principals = "principalSet" } } @@ -25433,6 +26757,21 @@ extension Ec2 { } } + public struct TagDescriptionList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "item", required: false, type: .list) + ] + public let item: [TagDescription]? + + public init(item: [TagDescription]? = nil) { + self.item = item + } + + private enum CodingKeys: String, CodingKey { + case item = "item" + } + } + public struct ModifyVolumeRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "VolumeType", required: false, type: .enum), @@ -25441,14 +26780,15 @@ extension Ec2 { AWSShapeMember(label: "VolumeId", required: true, type: .string), AWSShapeMember(label: "Size", required: false, type: .integer) ] - /// Target EBS volume type of the volume to be modified The API does not support modifications for volume type standard. You also cannot change the type of a volume to standard. Default: If no type is specified, the existing type is retained. + /// The target EBS volume type of the volume. Default: If no type is specified, the existing type is retained. public let volumeType: VolumeType? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public let dryRun: Bool? - /// Target IOPS rate of the volume to be modified. Only valid for Provisioned IOPS SSD (io1) volumes. For more information about io1 IOPS configuration, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops. Default: If no IOPS value is specified, the existing value is retained. + /// 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. public let iops: Int32? + /// The ID of the volume. public let volumeId: String - /// Target size in GiB of the volume to be modified. Target volume size must be greater than or equal to than the existing size of the volume. For information about available EBS volume sizes, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html. Default: If no size is specified, the existing size is retained. + /// 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. public let size: Int32? public init(volumeType: VolumeType? = nil, dryRun: Bool? = nil, iops: Int32? = nil, volumeId: String, size: Int32? = nil) { @@ -25515,7 +26855,7 @@ extension Ec2 { public let maxVersion: String? /// The ID of the launch template. You must specify either the launch template ID or launch template name in the request. public let launchTemplateId: String? - /// 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. + /// 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. public let maxResults: Int32? /// The name of the launch template. You must specify either the launch template ID or launch template name in the request. public let launchTemplateName: String? @@ -25852,49 +27192,18 @@ extension Ec2 { } } - public struct IpPermission: AWSShape { + public struct FleetLaunchTemplateConfigListRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "UserIdGroupPairs", location: .body(locationName: "groups"), required: false, type: .structure), - AWSShapeMember(label: "IpRanges", location: .body(locationName: "ipRanges"), required: false, type: .structure), - AWSShapeMember(label: "Ipv6Ranges", location: .body(locationName: "ipv6Ranges"), required: false, type: .structure), - AWSShapeMember(label: "PrefixListIds", location: .body(locationName: "prefixListIds"), required: false, type: .structure), - AWSShapeMember(label: "ToPort", location: .body(locationName: "toPort"), required: false, type: .integer), - AWSShapeMember(label: "IpProtocol", location: .body(locationName: "ipProtocol"), required: false, type: .string), - AWSShapeMember(label: "FromPort", location: .body(locationName: "fromPort"), required: false, type: .integer) + AWSShapeMember(label: "item", required: false, type: .list) ] - /// One or more security group and AWS account ID pairs. - public let userIdGroupPairs: UserIdGroupPairList? - /// One or more IPv4 ranges. - public let ipRanges: IpRangeList? - /// [EC2-VPC only] One or more IPv6 ranges. - public let ipv6Ranges: Ipv6RangeList? - /// (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. - public let prefixListIds: PrefixListIdList? - /// 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. - public let toPort: Int32? - /// 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. - public let ipProtocol: String? - /// 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. - public let fromPort: Int32? + public let item: [FleetLaunchTemplateConfigRequest]? - public init(userIdGroupPairs: UserIdGroupPairList? = nil, ipRanges: IpRangeList? = nil, ipv6Ranges: Ipv6RangeList? = nil, prefixListIds: PrefixListIdList? = nil, toPort: Int32? = nil, ipProtocol: String? = nil, fromPort: Int32? = nil) { - self.userIdGroupPairs = userIdGroupPairs - self.ipRanges = ipRanges - self.ipv6Ranges = ipv6Ranges - self.prefixListIds = prefixListIds - self.toPort = toPort - self.ipProtocol = ipProtocol - self.fromPort = fromPort + public init(item: [FleetLaunchTemplateConfigRequest]? = nil) { + self.item = item } private enum CodingKeys: String, CodingKey { - case userIdGroupPairs = "groups" - case ipRanges = "ipRanges" - case ipv6Ranges = "ipv6Ranges" - case prefixListIds = "prefixListIds" - case toPort = "toPort" - case ipProtocol = "ipProtocol" - case fromPort = "fromPort" + case item = "item" } } @@ -25949,6 +27258,52 @@ extension Ec2 { } } + public struct IpPermission: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserIdGroupPairs", location: .body(locationName: "groups"), required: false, type: .structure), + AWSShapeMember(label: "IpRanges", location: .body(locationName: "ipRanges"), required: false, type: .structure), + AWSShapeMember(label: "Ipv6Ranges", location: .body(locationName: "ipv6Ranges"), required: false, type: .structure), + AWSShapeMember(label: "PrefixListIds", location: .body(locationName: "prefixListIds"), required: false, type: .structure), + AWSShapeMember(label: "ToPort", location: .body(locationName: "toPort"), required: false, type: .integer), + AWSShapeMember(label: "IpProtocol", location: .body(locationName: "ipProtocol"), required: false, type: .string), + AWSShapeMember(label: "FromPort", location: .body(locationName: "fromPort"), required: false, type: .integer) + ] + /// One or more security group and AWS account ID pairs. + public let userIdGroupPairs: UserIdGroupPairList? + /// One or more IPv4 ranges. + public let ipRanges: IpRangeList? + /// [EC2-VPC only] One or more IPv6 ranges. + public let ipv6Ranges: Ipv6RangeList? + /// (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. + public let prefixListIds: PrefixListIdList? + /// 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. + public let toPort: Int32? + /// 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. + public let ipProtocol: String? + /// 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. + public let fromPort: Int32? + + public init(userIdGroupPairs: UserIdGroupPairList? = nil, ipRanges: IpRangeList? = nil, ipv6Ranges: Ipv6RangeList? = nil, prefixListIds: PrefixListIdList? = nil, toPort: Int32? = nil, ipProtocol: String? = nil, fromPort: Int32? = nil) { + self.userIdGroupPairs = userIdGroupPairs + self.ipRanges = ipRanges + self.ipv6Ranges = ipv6Ranges + self.prefixListIds = prefixListIds + self.toPort = toPort + self.ipProtocol = ipProtocol + self.fromPort = fromPort + } + + private enum CodingKeys: String, CodingKey { + case userIdGroupPairs = "groups" + case ipRanges = "ipRanges" + case ipv6Ranges = "ipv6Ranges" + case prefixListIds = "prefixListIds" + case toPort = "toPort" + case ipProtocol = "ipProtocol" + case fromPort = "fromPort" + } + } + public struct Ipv6CidrBlockSet: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "item", required: false, type: .list) @@ -26019,14 +27374,14 @@ extension Ec2 { public struct DiskImageVolumeDescription: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Size", location: .body(locationName: "size"), required: false, type: .long), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: true, type: .string) + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) ] /// The size of the volume, in GiB. public let size: Int64? /// The volume identifier. - public let id: String + public let id: String? - public init(size: Int64? = nil, id: String) { + public init(size: Int64? = nil, id: String? = nil) { self.size = size self.id = id } @@ -26041,7 +27396,7 @@ extension Ec2 { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Value", location: .body(locationName: "value"), required: false, type: .string) ] - /// The attribute value. Note that the value is case-sensitive. + /// The attribute value. The value is case-sensitive. public let value: String? public init(value: String? = nil) { @@ -26093,29 +27448,39 @@ extension Ec2 { } } - public struct ModifyVpcTenancyRequest: AWSShape { + public struct DescribeFleetHistoryResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "VpcId", required: true, type: .string), - AWSShapeMember(label: "InstanceTenancy", required: true, type: .enum), - AWSShapeMember(label: "DryRun", required: false, type: .boolean) + AWSShapeMember(label: "LastEvaluatedTime", location: .body(locationName: "lastEvaluatedTime"), required: false, type: .timestamp), + AWSShapeMember(label: "StartTime", location: .body(locationName: "startTime"), required: false, type: .timestamp), + AWSShapeMember(label: "HistoryRecords", location: .body(locationName: "historyRecordSet"), required: false, type: .structure), + AWSShapeMember(label: "FleetId", location: .body(locationName: "fleetId"), required: false, type: .string), + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) ] - /// The ID of the VPC. - public let vpcId: String - /// The instance tenancy attribute for the VPC. - public let instanceTenancy: VpcTenancy - /// 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. - public let dryRun: Bool? + /// 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. + public let lastEvaluatedTime: TimeStamp? + /// The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). + public let startTime: TimeStamp? + /// Information about the events in the history of the EC2 Fleet. + public let historyRecords: HistoryRecordSet? + /// The ID of the EC Fleet. + public let fleetId: String? + /// The token for the next set of results. + public let nextToken: String? - public init(vpcId: String, instanceTenancy: VpcTenancy, dryRun: Bool? = nil) { - self.vpcId = vpcId - self.instanceTenancy = instanceTenancy - self.dryRun = dryRun + public init(lastEvaluatedTime: TimeStamp? = nil, startTime: TimeStamp? = nil, historyRecords: HistoryRecordSet? = nil, fleetId: String? = nil, nextToken: String? = nil) { + self.lastEvaluatedTime = lastEvaluatedTime + self.startTime = startTime + self.historyRecords = historyRecords + self.fleetId = fleetId + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case vpcId = "VpcId" - case instanceTenancy = "InstanceTenancy" - case dryRun = "DryRun" + case lastEvaluatedTime = "lastEvaluatedTime" + case startTime = "startTime" + case historyRecords = "historyRecordSet" + case fleetId = "fleetId" + case nextToken = "nextToken" } } @@ -26143,7 +27508,7 @@ extension Ec2 { ] /// 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. public let principalArn: String - /// The type of resource: instance | reservation | snapshot | volume + /// 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. public let resource: String /// Indicates whether the resource should use longer IDs (17-character IDs) public let useLongIds: Bool @@ -26161,6 +27526,32 @@ extension Ec2 { } } + public struct ModifyVpcTenancyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VpcId", required: true, type: .string), + AWSShapeMember(label: "InstanceTenancy", required: true, type: .enum), + AWSShapeMember(label: "DryRun", required: false, type: .boolean) + ] + /// The ID of the VPC. + public let vpcId: String + /// The instance tenancy attribute for the VPC. + public let instanceTenancy: VpcTenancy + /// 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. + public let dryRun: Bool? + + public init(vpcId: String, instanceTenancy: VpcTenancy, dryRun: Bool? = nil) { + self.vpcId = vpcId + self.instanceTenancy = instanceTenancy + self.dryRun = dryRun + } + + private enum CodingKeys: String, CodingKey { + case vpcId = "VpcId" + case instanceTenancy = "InstanceTenancy" + case dryRun = "DryRun" + } + } + public struct CreateDhcpOptionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DhcpConfigurations", location: .body(locationName: "dhcpConfiguration"), required: true, type: .structure), @@ -26182,6 +27573,22 @@ extension Ec2 { } } + public struct CreateFleetResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FleetId", location: .body(locationName: "fleetId"), required: false, type: .string) + ] + /// The ID of the EC2 Fleet. + public let fleetId: String? + + public init(fleetId: String? = nil) { + self.fleetId = fleetId + } + + private enum CodingKeys: String, CodingKey { + case fleetId = "fleetId" + } + } + public struct SpotFleetRequestConfig: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ActivityStatus", location: .body(locationName: "activityStatus"), required: false, type: .enum), diff --git a/Sources/AWSSDKSwift/Services/ecr/Ecr_API.swift b/Sources/AWSSDKSwift/Services/ecr/Ecr_API.swift index 3d4ce3cf2fe..5b93f93ded6 100644 --- a/Sources/AWSSDKSwift/Services/ecr/Ecr_API.swift +++ b/Sources/AWSSDKSwift/Services/ecr/Ecr_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -Amazon EC2 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. +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. */ public struct Ecr { @@ -125,7 +125,7 @@ public struct Ecr { return try client.send(operation: "BatchDeleteImage", path: "/", httpMethod: "POST", input: input) } - /// Creates or updates a lifecycle policy. + /// Creates or updates a lifecycle policy. For information about lifecycle policy syntax, see Lifecycle Policy Template. public func putLifecyclePolicy(_ input: PutLifecyclePolicyRequest) throws -> PutLifecyclePolicyResponse { return try client.send(operation: "PutLifecyclePolicy", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/ecr/Ecr_Shapes.swift b/Sources/AWSSDKSwift/Services/ecr/Ecr_Shapes.swift index e8da536f3a7..6f932a9b22e 100644 --- a/Sources/AWSSDKSwift/Services/ecr/Ecr_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/ecr/Ecr_Shapes.swift @@ -7,31 +7,31 @@ extension Ecr { public struct DescribeRepositoriesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "maxResults", required: false, type: .integer), AWSShapeMember(label: "repositoryNames", required: false, type: .list), AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer), AWSShapeMember(label: "registryId", required: false, type: .string) ] - /// 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. - public let maxResults: Int32? /// A list of repositories to describe. If this parameter is omitted, then all repositories in a registry are described. public let repositoryNames: [String]? - /// The nextToken value returned from a previous paginated DescribeRepositories request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. + /// 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. public let nextToken: String? + /// 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. + public let maxResults: Int32? /// 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. public let registryId: String? - public init(maxResults: Int32? = nil, repositoryNames: [String]? = nil, nextToken: String? = nil, registryId: String? = nil) { - self.maxResults = maxResults + public init(repositoryNames: [String]? = nil, nextToken: String? = nil, maxResults: Int32? = nil, registryId: String? = nil) { self.repositoryNames = repositoryNames self.nextToken = nextToken + self.maxResults = maxResults self.registryId = registryId } private enum CodingKeys: String, CodingKey { - case maxResults = "maxResults" case repositoryNames = "repositoryNames" case nextToken = "nextToken" + case maxResults = "maxResults" case registryId = "registryId" } } @@ -90,7 +90,7 @@ extension Ecr { ] /// The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed. public let registryId: String? - /// The name of the repository that is associated with the repository policy to
 delete. + /// The name of the repository. public let repositoryName: String public init(registryId: String? = nil, repositoryName: String) { @@ -218,9 +218,9 @@ extension Ecr { AWSShapeMember(label: "repositoryName", required: true, type: .string), AWSShapeMember(label: "registryId", required: false, type: .string) ] - /// 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. + /// 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. public let maxResults: Int32? - /// 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. + /// 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. public let nextToken: String? /// The list of image IDs for the requested repository. public let imageIds: [ImageIdentifier]? @@ -486,7 +486,7 @@ extension Ecr { AWSShapeMember(label: "lifecyclePolicyText", required: true, type: .string), AWSShapeMember(label: "repositoryName", required: true, type: .string) ] - /// The AWS account ID associated with the registry that contains the repository. If you do
 not specify a registry, the default registry is assumed. + /// The AWS account ID associated with the registry that contains the repository. If you do
 not specify a registry, the default registry is assumed. public let registryId: String? /// The JSON repository policy text to apply to the repository. public let lifecyclePolicyText: String @@ -576,7 +576,7 @@ extension Ecr { ] /// The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed. public let registryId: String? - /// The name of the repository with the policy to retrieve. + /// The name of the repository. public let repositoryName: String public init(registryId: String? = nil, repositoryName: String) { @@ -902,7 +902,7 @@ extension Ecr { ] /// The time stamp of the last time that the lifecycle policy was run. public let lastEvaluatedAt: TimeStamp? - /// The JSON repository policy text. + /// The JSON lifecycle policy text. public let lifecyclePolicyText: String? /// The repository name associated with the request. public let repositoryName: String? @@ -1037,7 +1037,7 @@ extension Ecr { ] /// The time stamp of the last time that the lifecycle policy was run. public let lastEvaluatedAt: TimeStamp? - /// The JSON repository policy text. + /// The JSON lifecycle policy text. public let lifecyclePolicyText: String? /// The repository name associated with the request. public let repositoryName: String? @@ -1076,15 +1076,15 @@ extension Ecr { AWSShapeMember(label: "repositoryName", required: true, type: .string), AWSShapeMember(label: "registryId", required: false, type: .string) ] - /// 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. + /// 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. public let maxResults: Int32? - /// 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. + /// 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. public let nextToken: String? /// The list of imageIDs to be included. public let imageIds: [ImageIdentifier]? /// An optional parameter that filters results based on image tag status and all tags, if tagged. public let filter: LifecyclePolicyPreviewFilter? - /// The name of the repository with the policy to retrieve. + /// The name of the repository. public let repositoryName: String /// The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed. public let registryId: String? @@ -1445,7 +1445,7 @@ extension Ecr { public let repositoryName: String? /// The registry ID associated with the request. public let registryId: String? - /// The JSON repository policy text. + /// The JSON lifecycle policy text. public let lifecyclePolicyText: String? /// The results of the lifecycle policy preview request. public let previewResults: [LifecyclePolicyPreviewResult]? diff --git a/Sources/AWSSDKSwift/Services/ecs/Ecs_API.swift b/Sources/AWSSDKSwift/Services/ecs/Ecs_API.swift index 27952dfa432..1fd2ffff665 100644 --- a/Sources/AWSSDKSwift/Services/ecs/Ecs_API.swift +++ b/Sources/AWSSDKSwift/Services/ecs/Ecs_API.swift @@ -80,7 +80,7 @@ public struct Ecs { return try client.send(operation: "DeleteService", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func registerTaskDefinition(_ input: RegisterTaskDefinitionRequest) throws -> RegisterTaskDefinitionResponse { return try client.send(operation: "RegisterTaskDefinition", path: "/", httpMethod: "POST", input: input) } @@ -110,7 +110,7 @@ public struct Ecs { return try client.send(operation: "DescribeTaskDefinition", path: "/", httpMethod: "POST", input: input) } - /// 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. You can use UpdateService to modify your task definition and deploy a new version of your service. You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy. If 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. + /// 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. public func updateService(_ input: UpdateServiceRequest) throws -> UpdateServiceResponse { return try client.send(operation: "UpdateService", path: "/", httpMethod: "POST", input: input) } @@ -145,7 +145,7 @@ public struct Ecs { return try client.send(operation: "ListTaskDefinitions", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func runTask(_ input: RunTaskRequest) throws -> RunTaskResponse { return try client.send(operation: "RunTask", path: "/", httpMethod: "POST", input: input) } @@ -170,7 +170,7 @@ public struct Ecs { return try client.send(operation: "UpdateContainerAgent", path: "/", httpMethod: "POST", input: input) } - /// 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 minimumHealthyPercent is 50% in the console and 100% for the AWS CLI, the AWS SDKs, and the APIs. The maximumPercent parameter represents an upper limit on the number of your service's tasks that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desiredCount (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service has a desiredCount of four tasks and a maximumPercent value of 200%, the scheduler can start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximumPercent is 200%. When the service scheduler launches new tasks, it determines task placement in your cluster using the following logic: Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes). By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy) with the placementStrategy parameter): Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement. Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service. + /// 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. public func createService(_ input: CreateServiceRequest) throws -> CreateServiceResponse { return try client.send(operation: "CreateService", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/ecs/Ecs_Shapes.swift b/Sources/AWSSDKSwift/Services/ecs/Ecs_Shapes.swift index 37ee2d2bb79..a89faecb83d 100644 --- a/Sources/AWSSDKSwift/Services/ecs/Ecs_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/ecs/Ecs_Shapes.swift @@ -5,32 +5,6 @@ import AWSSDKSwiftCore extension Ecs { - public struct VersionInfo: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "agentHash", required: false, type: .string), - AWSShapeMember(label: "dockerVersion", required: false, type: .string), - AWSShapeMember(label: "agentVersion", required: false, type: .string) - ] - /// The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent GitHub repository. - public let agentHash: String? - /// The Docker version running on the container instance. - public let dockerVersion: String? - /// The version number of the Amazon ECS container agent. - public let agentVersion: String? - - public init(agentHash: String? = nil, dockerVersion: String? = nil, agentVersion: String? = nil) { - self.agentHash = agentHash - self.dockerVersion = dockerVersion - self.agentVersion = agentVersion - } - - private enum CodingKeys: String, CodingKey { - case agentHash = "agentHash" - case dockerVersion = "dockerVersion" - case agentVersion = "agentVersion" - } - } - public enum DeviceCgroupPermission: String, CustomStringConvertible, Codable { case read = "read" case write = "write" @@ -47,31 +21,38 @@ extension Ecs { AWSShapeMember(label: "serviceName", required: true, type: .string), AWSShapeMember(label: "networkConfiguration", required: false, type: .structure), AWSShapeMember(label: "loadBalancers", required: false, type: .list), + AWSShapeMember(label: "schedulingStrategy", required: false, type: .enum), + AWSShapeMember(label: "serviceRegistries", required: false, type: .list), AWSShapeMember(label: "role", required: false, type: .string), - AWSShapeMember(label: "desiredCount", required: true, type: .integer), + AWSShapeMember(label: "desiredCount", required: false, type: .integer), AWSShapeMember(label: "launchType", required: false, type: .enum), AWSShapeMember(label: "placementConstraints", required: false, type: .list), AWSShapeMember(label: "deploymentConfiguration", required: false, type: .structure), - AWSShapeMember(label: "taskDefinition", required: true, type: .string) + AWSShapeMember(label: "taskDefinition", required: true, type: .string), + AWSShapeMember(label: "healthCheckGracePeriodSeconds", required: false, type: .integer) ] /// The platform version on which to run your service. If one is not specified, the latest version is used by default. public let platformVersion: String? - /// Unique, case-sensitive identifier you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed. + /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed. public let clientToken: String? /// The placement strategy objects to use for tasks in your service. You can specify a maximum of five strategy rules per service. public let placementStrategy: [PlacementStrategy]? /// 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. public let cluster: String? - /// 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. + /// 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. public let serviceName: String /// 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. public let networkConfiguration: NetworkConfiguration? - /// 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. + /// 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. public let loadBalancers: [LoadBalancer]? + /// 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. + public let schedulingStrategy: SchedulingStrategy? + /// 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. + public let serviceRegistries: [ServiceRegistry]? /// 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. public let role: String? /// The number of instantiations of the specified task definition to place and keep running on your cluster. - public let desiredCount: Int32 + public let desiredCount: Int32? /// The launch type on which to run your service. public let launchType: LaunchType? /// 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). @@ -80,8 +61,10 @@ extension Ecs { public let deploymentConfiguration: DeploymentConfiguration? /// 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. public let taskDefinition: String + /// 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. + public let healthCheckGracePeriodSeconds: Int32? - public init(platformVersion: String? = nil, clientToken: String? = nil, placementStrategy: [PlacementStrategy]? = nil, cluster: String? = nil, serviceName: String, networkConfiguration: NetworkConfiguration? = nil, loadBalancers: [LoadBalancer]? = nil, role: String? = nil, desiredCount: Int32, launchType: LaunchType? = nil, placementConstraints: [PlacementConstraint]? = nil, deploymentConfiguration: DeploymentConfiguration? = nil, taskDefinition: String) { + public init(platformVersion: String? = nil, clientToken: String? = nil, placementStrategy: [PlacementStrategy]? = nil, cluster: String? = nil, serviceName: String, networkConfiguration: NetworkConfiguration? = nil, loadBalancers: [LoadBalancer]? = nil, schedulingStrategy: SchedulingStrategy? = nil, serviceRegistries: [ServiceRegistry]? = nil, role: String? = nil, desiredCount: Int32? = nil, launchType: LaunchType? = nil, placementConstraints: [PlacementConstraint]? = nil, deploymentConfiguration: DeploymentConfiguration? = nil, taskDefinition: String, healthCheckGracePeriodSeconds: Int32? = nil) { self.platformVersion = platformVersion self.clientToken = clientToken self.placementStrategy = placementStrategy @@ -89,12 +72,15 @@ extension Ecs { self.serviceName = serviceName self.networkConfiguration = networkConfiguration self.loadBalancers = loadBalancers + self.schedulingStrategy = schedulingStrategy + self.serviceRegistries = serviceRegistries self.role = role self.desiredCount = desiredCount self.launchType = launchType self.placementConstraints = placementConstraints self.deploymentConfiguration = deploymentConfiguration self.taskDefinition = taskDefinition + self.healthCheckGracePeriodSeconds = healthCheckGracePeriodSeconds } private enum CodingKeys: String, CodingKey { @@ -105,125 +91,72 @@ extension Ecs { case serviceName = "serviceName" case networkConfiguration = "networkConfiguration" case loadBalancers = "loadBalancers" + case schedulingStrategy = "schedulingStrategy" + case serviceRegistries = "serviceRegistries" case role = "role" case desiredCount = "desiredCount" case launchType = "launchType" case placementConstraints = "placementConstraints" case deploymentConfiguration = "deploymentConfiguration" case taskDefinition = "taskDefinition" - } - } - - public struct DescribeContainerInstancesResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "containerInstances", required: false, type: .list), - AWSShapeMember(label: "failures", required: false, type: .list) - ] - /// The list of container instances. - public let containerInstances: [ContainerInstance]? - /// Any failures associated with the call. - public let failures: [Failure]? - - public init(containerInstances: [ContainerInstance]? = nil, failures: [Failure]? = nil) { - self.containerInstances = containerInstances - self.failures = failures - } - - private enum CodingKeys: String, CodingKey { - case containerInstances = "containerInstances" - case failures = "failures" + case healthCheckGracePeriodSeconds = "healthCheckGracePeriodSeconds" } } public struct LinuxParameters: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "sharedMemorySize", required: false, type: .integer), AWSShapeMember(label: "initProcessEnabled", required: false, type: .boolean), - AWSShapeMember(label: "devices", required: false, type: .list), - AWSShapeMember(label: "capabilities", required: false, type: .structure) + AWSShapeMember(label: "capabilities", required: false, type: .structure), + AWSShapeMember(label: "tmpfs", required: false, type: .list), + AWSShapeMember(label: "devices", required: false, type: .list) ] + /// 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. + public let sharedMemorySize: Int32? /// 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" public let initProcessEnabled: Bool? - /// 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. - public let devices: [Device]? - /// The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker. + /// 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. public let capabilities: KernelCapabilities? + /// 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. + public let tmpfs: [Tmpfs]? + /// 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. + public let devices: [Device]? - public init(initProcessEnabled: Bool? = nil, devices: [Device]? = nil, capabilities: KernelCapabilities? = nil) { + public init(sharedMemorySize: Int32? = nil, initProcessEnabled: Bool? = nil, capabilities: KernelCapabilities? = nil, tmpfs: [Tmpfs]? = nil, devices: [Device]? = nil) { + self.sharedMemorySize = sharedMemorySize self.initProcessEnabled = initProcessEnabled - self.devices = devices self.capabilities = capabilities + self.tmpfs = tmpfs + self.devices = devices } private enum CodingKeys: String, CodingKey { + case sharedMemorySize = "sharedMemorySize" case initProcessEnabled = "initProcessEnabled" - case devices = "devices" case capabilities = "capabilities" + case tmpfs = "tmpfs" + case devices = "devices" } } - public struct Deployment: AWSShape { + public struct DescribeContainerInstancesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "desiredCount", required: false, type: .integer), - AWSShapeMember(label: "status", required: false, type: .string), - AWSShapeMember(label: "platformVersion", required: false, type: .string), - AWSShapeMember(label: "id", required: false, type: .string), - AWSShapeMember(label: "launchType", required: false, type: .enum), - AWSShapeMember(label: "createdAt", required: false, type: .timestamp), - AWSShapeMember(label: "updatedAt", required: false, type: .timestamp), - AWSShapeMember(label: "networkConfiguration", required: false, type: .structure), - AWSShapeMember(label: "pendingCount", required: false, type: .integer), - AWSShapeMember(label: "taskDefinition", required: false, type: .string), - AWSShapeMember(label: "runningCount", required: false, type: .integer) + AWSShapeMember(label: "containerInstances", required: false, type: .list), + AWSShapeMember(label: "failures", required: false, type: .list) ] - /// The most recent desired count of tasks that was specified for the service to deploy or maintain. - public let desiredCount: Int32? - /// 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). - public let status: String? - /// The platform version on which your service is running. - public let platformVersion: String? - /// The ID of the deployment. - public let id: String? - /// The launch type on which your service is running. - public let launchType: LaunchType? - /// The Unix time stamp for when the service was created. - public let createdAt: TimeStamp? - /// The Unix time stamp for when the service was last updated. - public let updatedAt: TimeStamp? - /// The VPC subnet and security group configuration for tasks that receive their own Elastic Network Interface by using the awsvpc networking mode. - public let networkConfiguration: NetworkConfiguration? - /// The number of tasks in the deployment that are in the PENDING status. - public let pendingCount: Int32? - /// The most recent task definition that was specified for the service to use. - public let taskDefinition: String? - /// The number of tasks in the deployment that are in the RUNNING status. - public let runningCount: Int32? + /// The list of container instances. + public let containerInstances: [ContainerInstance]? + /// Any failures associated with the call. + public let failures: [Failure]? - public init(desiredCount: Int32? = nil, status: String? = nil, platformVersion: String? = nil, id: String? = nil, launchType: LaunchType? = nil, createdAt: TimeStamp? = nil, updatedAt: TimeStamp? = nil, networkConfiguration: NetworkConfiguration? = nil, pendingCount: Int32? = nil, taskDefinition: String? = nil, runningCount: Int32? = nil) { - self.desiredCount = desiredCount - self.status = status - self.platformVersion = platformVersion - self.id = id - self.launchType = launchType - self.createdAt = createdAt - self.updatedAt = updatedAt - self.networkConfiguration = networkConfiguration - self.pendingCount = pendingCount - self.taskDefinition = taskDefinition - self.runningCount = runningCount + public init(containerInstances: [ContainerInstance]? = nil, failures: [Failure]? = nil) { + self.containerInstances = containerInstances + self.failures = failures } private enum CodingKeys: String, CodingKey { - case desiredCount = "desiredCount" - case status = "status" - case platformVersion = "platformVersion" - case id = "id" - case launchType = "launchType" - case createdAt = "createdAt" - case updatedAt = "updatedAt" - case networkConfiguration = "networkConfiguration" - case pendingCount = "pendingCount" - case taskDefinition = "taskDefinition" - case runningCount = "runningCount" + case containerInstances = "containerInstances" + case failures = "failures" } } @@ -251,256 +184,95 @@ extension Ecs { } } - public struct DeleteAttributesResponse: AWSShape { + public struct StopTaskResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "attributes", required: false, type: .list) + AWSShapeMember(label: "task", required: false, type: .structure) ] - /// A list of attribute objects that were successfully deleted from your resource. - public let attributes: [Attribute]? + /// The task that was stopped. + public let task: Task? - public init(attributes: [Attribute]? = nil) { - self.attributes = attributes + public init(task: Task? = nil) { + self.task = task } private enum CodingKeys: String, CodingKey { - case attributes = "attributes" + case task = "task" } } - public struct ContainerInstance: AWSShape { + public struct Tmpfs: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "pendingTasksCount", required: false, type: .integer), - AWSShapeMember(label: "versionInfo", required: false, type: .structure), - AWSShapeMember(label: "ec2InstanceId", required: false, type: .string), - AWSShapeMember(label: "registeredResources", required: false, type: .list), - AWSShapeMember(label: "agentConnected", required: false, type: .boolean), - AWSShapeMember(label: "agentUpdateStatus", required: false, type: .enum), - AWSShapeMember(label: "registeredAt", required: false, type: .timestamp), - AWSShapeMember(label: "attachments", required: false, type: .list), - AWSShapeMember(label: "remainingResources", required: false, type: .list), - AWSShapeMember(label: "attributes", required: false, type: .list), - AWSShapeMember(label: "status", required: false, type: .string), - AWSShapeMember(label: "containerInstanceArn", required: false, type: .string), - AWSShapeMember(label: "runningTasksCount", required: false, type: .integer), - AWSShapeMember(label: "version", required: false, type: .long) + AWSShapeMember(label: "size", required: true, type: .integer), + AWSShapeMember(label: "mountOptions", required: false, type: .list), + AWSShapeMember(label: "containerPath", required: true, type: .string) ] - /// The number of tasks on the container instance that are in the PENDING status. - public let pendingTasksCount: Int32? - /// The version information for the Amazon ECS container agent and Docker daemon running on the container instance. - public let versionInfo: VersionInfo? - /// The EC2 instance ID of the container instance. - public let ec2InstanceId: String? - /// For most resource types, this parameter describes the registered resources on the container instance that are in use by current tasks. For port resource types, this parameter describes the ports that were reserved by the Amazon ECS container agent when it registered the container instance with Amazon ECS. - public let registeredResources: [Resource]? - /// 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. Instances without a connected agent can't accept placement requests. - public let agentConnected: Bool? - /// The status of the most recent agent update. If an update has never been requested, this value is NULL. - public let agentUpdateStatus: AgentUpdateStatus? - /// The Unix time stamp for when the container instance was registered. - public let registeredAt: TimeStamp? - /// The Elastic Network Interfaces associated with the container instance. - public let attachments: [Attachment]? - /// For most resource types, this parameter describes the remaining resources of the container instance that are available for new tasks. For port resource types, this parameter describes the ports that are reserved by the Amazon ECS container agent and any containers that have reserved port mappings; any port that is not specified here is available for new tasks. - public let remainingResources: [Resource]? - /// The attributes set for the container instance, either by the Amazon ECS container agent at instance registration or manually with the PutAttributes operation. - public let attributes: [Attribute]? - /// 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. - public let status: String? - /// 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 . - public let containerInstanceArn: String? - /// The number of tasks on the container instance that are in the RUNNING status. - public let runningTasksCount: Int32? - /// 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. - public let version: Int64? + /// The size (in MiB) of the tmpfs volume. + public let size: Int32 + /// 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" + public let mountOptions: [String]? + /// The absolute file path where the tmpfs volume is to be mounted. + public let containerPath: String - public init(pendingTasksCount: Int32? = nil, versionInfo: VersionInfo? = nil, ec2InstanceId: String? = nil, registeredResources: [Resource]? = nil, agentConnected: Bool? = nil, agentUpdateStatus: AgentUpdateStatus? = nil, registeredAt: TimeStamp? = nil, attachments: [Attachment]? = nil, remainingResources: [Resource]? = nil, attributes: [Attribute]? = nil, status: String? = nil, containerInstanceArn: String? = nil, runningTasksCount: Int32? = nil, version: Int64? = nil) { - self.pendingTasksCount = pendingTasksCount - self.versionInfo = versionInfo - self.ec2InstanceId = ec2InstanceId - self.registeredResources = registeredResources - self.agentConnected = agentConnected - self.agentUpdateStatus = agentUpdateStatus - self.registeredAt = registeredAt - self.attachments = attachments - self.remainingResources = remainingResources - self.attributes = attributes - self.status = status - self.containerInstanceArn = containerInstanceArn - self.runningTasksCount = runningTasksCount - self.version = version + public init(size: Int32, mountOptions: [String]? = nil, containerPath: String) { + self.size = size + self.mountOptions = mountOptions + self.containerPath = containerPath } private enum CodingKeys: String, CodingKey { - case pendingTasksCount = "pendingTasksCount" - case versionInfo = "versionInfo" - case ec2InstanceId = "ec2InstanceId" - case registeredResources = "registeredResources" - case agentConnected = "agentConnected" - case agentUpdateStatus = "agentUpdateStatus" - case registeredAt = "registeredAt" - case attachments = "attachments" - case remainingResources = "remainingResources" - case attributes = "attributes" - case status = "status" - case containerInstanceArn = "containerInstanceArn" - case runningTasksCount = "runningTasksCount" - case version = "version" + case size = "size" + case mountOptions = "mountOptions" + case containerPath = "containerPath" } } - public struct NetworkConfiguration: AWSShape { + public struct ListTaskDefinitionsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "awsvpcConfiguration", required: false, type: .structure) + AWSShapeMember(label: "taskDefinitionArns", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) ] - /// The VPC subnets and security groups associated with a task. - public let awsvpcConfiguration: AwsVpcConfiguration? + /// The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions request. + public let taskDefinitionArns: [String]? + /// 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. + public let nextToken: String? - public init(awsvpcConfiguration: AwsVpcConfiguration? = nil) { - self.awsvpcConfiguration = awsvpcConfiguration + public init(taskDefinitionArns: [String]? = nil, nextToken: String? = nil) { + self.taskDefinitionArns = taskDefinitionArns + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case awsvpcConfiguration = "awsvpcConfiguration" + case taskDefinitionArns = "taskDefinitionArns" + case nextToken = "nextToken" } } - public struct StopTaskResponse: AWSShape { + public struct UpdateContainerAgentResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "task", required: false, type: .structure) + AWSShapeMember(label: "containerInstance", required: false, type: .structure) ] - /// The task that was stopped. - public let task: Task? + /// The container instance for which the container agent was updated. + public let containerInstance: ContainerInstance? - public init(task: Task? = nil) { - self.task = task + public init(containerInstance: ContainerInstance? = nil) { + self.containerInstance = containerInstance } private enum CodingKeys: String, CodingKey { - case task = "task" + case containerInstance = "containerInstance" } } - public struct DeploymentConfiguration: AWSShape { + public enum DesiredStatus: String, CustomStringConvertible, Codable { + case running = "RUNNING" + case pending = "PENDING" + case stopped = "STOPPED" + public var description: String { return self.rawValue } + } + + public struct CreateClusterResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "maximumPercent", required: false, type: .integer), - AWSShapeMember(label: "minimumHealthyPercent", required: false, type: .integer) - ] - /// 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. - public let maximumPercent: Int32? - /// 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. - public let minimumHealthyPercent: Int32? - - public init(maximumPercent: Int32? = nil, minimumHealthyPercent: Int32? = nil) { - self.maximumPercent = maximumPercent - self.minimumHealthyPercent = minimumHealthyPercent - } - - private enum CodingKeys: String, CodingKey { - case maximumPercent = "maximumPercent" - case minimumHealthyPercent = "minimumHealthyPercent" - } - } - - public struct UpdateContainerAgentResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "containerInstance", required: false, type: .structure) - ] - /// The container instance for which the container agent was updated. - public let containerInstance: ContainerInstance? - - public init(containerInstance: ContainerInstance? = nil) { - self.containerInstance = containerInstance - } - - private enum CodingKeys: String, CodingKey { - case containerInstance = "containerInstance" - } - } - - public enum Connectivity: String, CustomStringConvertible, Codable { - case connected = "CONNECTED" - case disconnected = "DISCONNECTED" - public var description: String { return self.rawValue } - } - - public struct UpdateContainerInstancesStateRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "containerInstances", required: true, type: .list), - AWSShapeMember(label: "status", required: true, type: .enum), - AWSShapeMember(label: "cluster", required: false, type: .string) - ] - /// A list of container instance IDs or full ARN entries. - public let containerInstances: [String] - /// The container instance state with which to update the container instance. - public let status: ContainerInstanceStatus - /// 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. - public let cluster: String? - - public init(containerInstances: [String], status: ContainerInstanceStatus, cluster: String? = nil) { - self.containerInstances = containerInstances - self.status = status - self.cluster = cluster - } - - private enum CodingKeys: String, CodingKey { - case containerInstances = "containerInstances" - case status = "status" - case cluster = "cluster" - } - } - - public struct KernelCapabilities: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "add", required: false, type: .list), - AWSShapeMember(label: "drop", required: false, type: .list) - ] - /// 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. 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" - public let add: [String]? - /// 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" - public let drop: [String]? - - public init(add: [String]? = nil, drop: [String]? = nil) { - self.add = add - self.drop = drop - } - - private enum CodingKeys: String, CodingKey { - case add = "add" - case drop = "drop" - } - } - - public enum DesiredStatus: String, CustomStringConvertible, Codable { - case running = "RUNNING" - case pending = "PENDING" - case stopped = "STOPPED" - public var description: String { return self.rawValue } - } - - public struct ListTaskDefinitionsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "taskDefinitionArns", required: false, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) - ] - /// The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions request. - public let taskDefinitionArns: [String]? - /// 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. - public let nextToken: String? - - public init(taskDefinitionArns: [String]? = nil, nextToken: String? = nil) { - self.taskDefinitionArns = taskDefinitionArns - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case taskDefinitionArns = "taskDefinitionArns" - case nextToken = "nextToken" - } - } - - public struct CreateClusterResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "cluster", required: false, type: .structure) + AWSShapeMember(label: "cluster", required: false, type: .structure) ] /// The full description of your new cluster. public let cluster: Cluster? @@ -519,65 +291,6 @@ extension Ecs { public var description: String { return self.rawValue } } - public struct DeleteServiceResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "service", required: false, type: .structure) - ] - /// The full description of the deleted service. - public let service: Service? - - public init(service: Service? = nil) { - self.service = service - } - - private enum CodingKeys: String, CodingKey { - case service = "service" - } - } - - public enum AssignPublicIp: String, CustomStringConvertible, Codable { - case enabled = "ENABLED" - case disabled = "DISABLED" - public var description: String { return self.rawValue } - } - - public struct VolumeFrom: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "sourceContainer", required: false, type: .string), - AWSShapeMember(label: "readOnly", required: false, type: .boolean) - ] - /// The name of another container within the same task definition to mount volumes from. - public let sourceContainer: String? - /// 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. - public let readOnly: Bool? - - public init(sourceContainer: String? = nil, readOnly: Bool? = nil) { - self.sourceContainer = sourceContainer - self.readOnly = readOnly - } - - private enum CodingKeys: String, CodingKey { - case sourceContainer = "sourceContainer" - case readOnly = "readOnly" - } - } - - public struct HostVolumeProperties: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "sourcePath", required: false, type: .string) - ] - /// 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 host parameter is not supported. - public let sourcePath: String? - - public init(sourcePath: String? = nil) { - self.sourcePath = sourcePath - } - - private enum CodingKeys: String, CodingKey { - case sourcePath = "sourcePath" - } - } - public struct TaskDefinitionPlacementConstraint: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "type", required: false, type: .enum), @@ -620,11 +333,6 @@ extension Ecs { } } - public enum TaskDefinitionPlacementConstraintType: String, CustomStringConvertible, Codable { - case memberof = "memberOf" - public var description: String { return self.rawValue } - } - public enum TaskDefinitionFamilyStatus: String, CustomStringConvertible, Codable { case active = "ACTIVE" case inactive = "INACTIVE" @@ -632,27 +340,6 @@ extension Ecs { public var description: String { return self.rawValue } } - public struct ListClustersRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "maxResults", required: false, type: .integer) - ] - /// 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. - public let nextToken: String? - /// 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. - public let maxResults: Int32? - - public init(nextToken: String? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case maxResults = "maxResults" - } - } - public struct LogConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "options", required: false, type: .map), @@ -674,296 +361,54 @@ extension Ecs { } } - public struct MountPoint: AWSShape { + public struct DeleteClusterRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "readOnly", required: false, type: .boolean), - AWSShapeMember(label: "sourceVolume", required: false, type: .string), - AWSShapeMember(label: "containerPath", required: false, type: .string) + AWSShapeMember(label: "cluster", required: true, type: .string) ] - /// 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. - public let readOnly: Bool? - /// The name of the volume to mount. If using the Fargate launch type, the sourceVolume parameter is not supported. - public let sourceVolume: String? - /// The path on the container to mount the host volume at. - public let containerPath: String? + /// The short name or full Amazon Resource Name (ARN) of the cluster to delete. + public let cluster: String - public init(readOnly: Bool? = nil, sourceVolume: String? = nil, containerPath: String? = nil) { - self.readOnly = readOnly - self.sourceVolume = sourceVolume - self.containerPath = containerPath + public init(cluster: String) { + self.cluster = cluster } private enum CodingKeys: String, CodingKey { - case readOnly = "readOnly" - case sourceVolume = "sourceVolume" - case containerPath = "containerPath" + case cluster = "cluster" } } - public struct DiscoverPollEndpointResponse: AWSShape { + public struct DeleteServiceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "telemetryEndpoint", required: false, type: .string), - AWSShapeMember(label: "endpoint", required: false, type: .string) + AWSShapeMember(label: "service", required: true, type: .string), + AWSShapeMember(label: "force", required: false, type: .boolean), + AWSShapeMember(label: "cluster", required: false, type: .string) ] - /// The telemetry endpoint for the Amazon ECS agent. - public let telemetryEndpoint: String? - /// The endpoint for the Amazon ECS agent to poll. - public let endpoint: String? + /// The name of the service to delete. + public let service: String + /// 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. + public let force: Bool? + /// 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. + public let cluster: String? - public init(telemetryEndpoint: String? = nil, endpoint: String? = nil) { - self.telemetryEndpoint = telemetryEndpoint - self.endpoint = endpoint + public init(service: String, force: Bool? = nil, cluster: String? = nil) { + self.service = service + self.force = force + self.cluster = cluster } private enum CodingKeys: String, CodingKey { - case telemetryEndpoint = "telemetryEndpoint" - case endpoint = "endpoint" + case service = "service" + case force = "force" + case cluster = "cluster" } } - public struct AttachmentStateChange: AWSShape { + public struct Attribute: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "status", required: true, type: .string), - AWSShapeMember(label: "attachmentArn", required: true, type: .string) - ] - /// The status of the attachment. - public let status: String - /// The Amazon Resource Name (ARN) of the attachment. - public let attachmentArn: String - - public init(status: String, attachmentArn: String) { - self.status = status - self.attachmentArn = attachmentArn - } - - private enum CodingKeys: String, CodingKey { - case status = "status" - case attachmentArn = "attachmentArn" - } - } - - public struct ListContainerInstancesResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "containerInstanceArns", required: false, type: .list) - ] - /// 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. - public let nextToken: String? - /// The list of container instances with full ARN entries for each container instance associated with the specified cluster. - public let containerInstanceArns: [String]? - - public init(nextToken: String? = nil, containerInstanceArns: [String]? = nil) { - self.nextToken = nextToken - self.containerInstanceArns = containerInstanceArns - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case containerInstanceArns = "containerInstanceArns" - } - } - - public enum PlacementConstraintType: String, CustomStringConvertible, Codable { - case distinctinstance = "distinctInstance" - case memberof = "memberOf" - public var description: String { return self.rawValue } - } - - public struct DeleteClusterRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "cluster", required: true, type: .string) - ] - /// The short name or full Amazon Resource Name (ARN) of the cluster to delete. - public let cluster: String - - public init(cluster: String) { - self.cluster = cluster - } - - private enum CodingKeys: String, CodingKey { - case cluster = "cluster" - } - } - - public struct ContainerDefinition: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "memoryReservation", required: false, type: .integer), - AWSShapeMember(label: "portMappings", required: false, type: .list), - AWSShapeMember(label: "cpu", required: false, type: .integer), - AWSShapeMember(label: "readonlyRootFilesystem", required: false, type: .boolean), - AWSShapeMember(label: "mountPoints", required: false, type: .list), - AWSShapeMember(label: "memory", required: false, type: .integer), - AWSShapeMember(label: "disableNetworking", required: false, type: .boolean), - AWSShapeMember(label: "dockerLabels", required: false, type: .map), - AWSShapeMember(label: "image", required: false, type: .string), - AWSShapeMember(label: "command", required: false, type: .list), - AWSShapeMember(label: "hostname", required: false, type: .string), - AWSShapeMember(label: "volumesFrom", required: false, type: .list), - AWSShapeMember(label: "name", required: false, type: .string), - AWSShapeMember(label: "user", required: false, type: .string), - AWSShapeMember(label: "essential", required: false, type: .boolean), - AWSShapeMember(label: "workingDirectory", required: false, type: .string), - AWSShapeMember(label: "dnsServers", required: false, type: .list), - AWSShapeMember(label: "linuxParameters", required: false, type: .structure), - AWSShapeMember(label: "logConfiguration", required: false, type: .structure), - AWSShapeMember(label: "ulimits", required: false, type: .list), - AWSShapeMember(label: "dockerSecurityOptions", required: false, type: .list), - AWSShapeMember(label: "environment", required: false, type: .list), - AWSShapeMember(label: "entryPoint", required: false, type: .list), - AWSShapeMember(label: "privileged", required: false, type: .boolean), - AWSShapeMember(label: "dnsSearchDomains", required: false, type: .list), - AWSShapeMember(label: "links", required: false, type: .list), - AWSShapeMember(label: "extraHosts", required: false, type: .list) - ] - /// 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. - public let memoryReservation: Int32? - /// 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. If using containers in a task with the Fargate, exposed ports should be specified using containerPort. The hostPort can be left blank or it must be the same value as the containerPort. 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, or the networkBindings section DescribeTasks responses. - public let portMappings: [PortMapping]? - /// The number of cpu units reserved for the container. If your containers will be part of a task using the Fargate launch type, this field is optional and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task cpu value. For containers that will be part of a task using the EC2 launch type, a container instance has 1,024 cpu units for every CPU core. This parameter specifies the minimum amount of CPU to reserve for a container, and containers share unallocated CPU units with other containers on the instance with the same ratio as their allocated amount. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run. You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page by 1,024. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that is the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task would be guaranteed a minimum of 512 CPU units when needed, and each container could float to higher CPU usage if the other container was not using it, but if both tasks were 100% active all of the time, they would be limited to 512 CPU units. The Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. For more information, see CPU share constraint in the Docker documentation. The minimum valid CPU share value that the Linux kernel allows is 2; however, the CPU parameter is not required, and you can use CPU values below 2 in your container definitions. For CPU values below 2 (including null), the behavior varies based on your Amazon ECS container agent version: Agent versions less than or equal to 1.1.0: Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to 2 CPU shares. Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values of 1 are passed to Docker as 2. - public let cpu: Int32? - /// 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. - public let readonlyRootFilesystem: Bool? - /// The mount points for data volumes in your container. If using the Fargate launch type, the sourceVolume parameter is not supported. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run. - public let mountPoints: [MountPoint]? - /// 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 will be 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 will be 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. - public let memory: Int32? - /// 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. - public let disableNetworking: Bool? - /// 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" - public let dockerLabels: [String: String]? - /// 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. 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). - public let image: String? - /// 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. - public let command: [String]? - /// 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. - public let hostname: String? - /// 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. - public let volumesFrom: [VolumeFrom]? - /// 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. - public let name: String? - /// 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. - public let user: String? - /// 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. - public let essential: Bool? - /// 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. - public let workingDirectory: String? - /// 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. - public let dnsServers: [String]? - /// Linux-specific modifications that are applied to the container, such as Linux KernelCapabilities. This field is not valid for containers in tasks using the Fargate launch type. - public let linuxParameters: LinuxParameters? - /// 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. - public let logConfiguration: LogConfiguration? - /// 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" - public let ulimits: [Ulimit]? - /// 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. - public let dockerSecurityOptions: [String]? - /// 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. - public let environment: [KeyValuePair]? - /// 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. - public let entryPoint: [String]? - /// 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. - public let privileged: Bool? - /// 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. - public let dnsSearchDomains: [String]? - /// The link parameter allows containers to communicate with each other without the need for port mappings, using the name parameter and optionally, an alias for the link. This construct is analogous to name:alias in Docker links. This field is not valid for containers in tasks using the Fargate launch type. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed for each name and alias. For more information on linking Docker containers, see https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/. This parameter maps to Links in the Create a container section of the Docker Remote API and the --link option to docker run. Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings. - public let links: [String]? - /// 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 you want the container to talk to. This parameter maps to ExtraHosts in the Create a container section of the Docker Remote API and the --add-host option to docker run. - public let extraHosts: [HostEntry]? - - public init(memoryReservation: Int32? = nil, portMappings: [PortMapping]? = nil, cpu: Int32? = nil, readonlyRootFilesystem: Bool? = nil, mountPoints: [MountPoint]? = nil, memory: Int32? = nil, disableNetworking: Bool? = nil, dockerLabels: [String: String]? = nil, image: String? = nil, command: [String]? = nil, hostname: String? = nil, volumesFrom: [VolumeFrom]? = nil, name: String? = nil, user: String? = nil, essential: Bool? = nil, workingDirectory: String? = nil, dnsServers: [String]? = nil, linuxParameters: LinuxParameters? = nil, logConfiguration: LogConfiguration? = nil, ulimits: [Ulimit]? = nil, dockerSecurityOptions: [String]? = nil, environment: [KeyValuePair]? = nil, entryPoint: [String]? = nil, privileged: Bool? = nil, dnsSearchDomains: [String]? = nil, links: [String]? = nil, extraHosts: [HostEntry]? = nil) { - self.memoryReservation = memoryReservation - self.portMappings = portMappings - self.cpu = cpu - self.readonlyRootFilesystem = readonlyRootFilesystem - self.mountPoints = mountPoints - self.memory = memory - self.disableNetworking = disableNetworking - self.dockerLabels = dockerLabels - self.image = image - self.command = command - self.hostname = hostname - self.volumesFrom = volumesFrom - self.name = name - self.user = user - self.essential = essential - self.workingDirectory = workingDirectory - self.dnsServers = dnsServers - self.linuxParameters = linuxParameters - self.logConfiguration = logConfiguration - self.ulimits = ulimits - self.dockerSecurityOptions = dockerSecurityOptions - self.environment = environment - self.entryPoint = entryPoint - self.privileged = privileged - self.dnsSearchDomains = dnsSearchDomains - self.links = links - self.extraHosts = extraHosts - } - - private enum CodingKeys: String, CodingKey { - case memoryReservation = "memoryReservation" - case portMappings = "portMappings" - case cpu = "cpu" - case readonlyRootFilesystem = "readonlyRootFilesystem" - case mountPoints = "mountPoints" - case memory = "memory" - case disableNetworking = "disableNetworking" - case dockerLabels = "dockerLabels" - case image = "image" - case command = "command" - case hostname = "hostname" - case volumesFrom = "volumesFrom" - case name = "name" - case user = "user" - case essential = "essential" - case workingDirectory = "workingDirectory" - case dnsServers = "dnsServers" - case linuxParameters = "linuxParameters" - case logConfiguration = "logConfiguration" - case ulimits = "ulimits" - case dockerSecurityOptions = "dockerSecurityOptions" - case environment = "environment" - case entryPoint = "entryPoint" - case privileged = "privileged" - case dnsSearchDomains = "dnsSearchDomains" - case links = "links" - case extraHosts = "extraHosts" - } - } - - public struct DeleteServiceRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "service", required: true, type: .string), - AWSShapeMember(label: "cluster", required: false, type: .string) - ] - /// The name of the service to delete. - public let service: String - /// 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. - public let cluster: String? - - public init(service: String, cluster: String? = nil) { - self.service = service - self.cluster = cluster - } - - private enum CodingKeys: String, CodingKey { - case service = "service" - case cluster = "cluster" - } - } - - public enum SortOrder: String, CustomStringConvertible, Codable { - case asc = "ASC" - case desc = "DESC" - public var description: String { return self.rawValue } - } - - public struct Attribute: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "name", required: true, type: .string), - AWSShapeMember(label: "value", required: false, type: .string), - AWSShapeMember(label: "targetId", required: false, type: .string), - AWSShapeMember(label: "targetType", required: false, type: .enum) + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "value", required: false, type: .string), + AWSShapeMember(label: "targetId", required: false, type: .string), + AWSShapeMember(label: "targetType", required: false, type: .enum) ] /// The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, hyphens, underscores, and periods are allowed. public let name: String @@ -996,82 +441,35 @@ extension Ecs { public var description: String { return self.rawValue } } - public struct DescribeClustersResponse: AWSShape { + public struct Resource: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "clusters", required: false, type: .list), - AWSShapeMember(label: "failures", required: false, type: .list) + AWSShapeMember(label: "longValue", required: false, type: .long), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "doubleValue", required: false, type: .double), + AWSShapeMember(label: "type", required: false, type: .string), + AWSShapeMember(label: "integerValue", required: false, type: .integer), + AWSShapeMember(label: "stringSetValue", required: false, type: .list) ] - /// The list of clusters. - public let clusters: [Cluster]? - /// Any failures associated with the call. - public let failures: [Failure]? + /// When the longValue type is set, the value of the resource must be an extended precision floating-point type. + public let longValue: Int64? + /// The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined resource. + public let name: String? + /// When the doubleValue type is set, the value of the resource must be a double precision floating-point type. + public let doubleValue: Double? + /// The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. + public let `type`: String? + /// When the integerValue type is set, the value of the resource must be an integer. + public let integerValue: Int32? + /// When the stringSetValue type is set, the value of the resource must be a string type. + public let stringSetValue: [String]? - public init(clusters: [Cluster]? = nil, failures: [Failure]? = nil) { - self.clusters = clusters - self.failures = failures - } - - private enum CodingKeys: String, CodingKey { - case clusters = "clusters" - case failures = "failures" - } - } - - public struct StopTaskRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "task", required: true, type: .string), - AWSShapeMember(label: "reason", required: false, type: .string), - AWSShapeMember(label: "cluster", required: false, type: .string) - ] - /// The task ID or full ARN entry of the task to stop. - public let task: String - /// 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. - public let reason: String? - /// 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. - public let cluster: String? - - public init(task: String, reason: String? = nil, cluster: String? = nil) { - self.task = task - self.reason = reason - self.cluster = cluster - } - - private enum CodingKeys: String, CodingKey { - case task = "task" - case reason = "reason" - case cluster = "cluster" - } - } - - public struct Resource: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "longValue", required: false, type: .long), - AWSShapeMember(label: "name", required: false, type: .string), - AWSShapeMember(label: "doubleValue", required: false, type: .double), - AWSShapeMember(label: "type", required: false, type: .string), - AWSShapeMember(label: "integerValue", required: false, type: .integer), - AWSShapeMember(label: "stringSetValue", required: false, type: .list) - ] - /// When the longValue type is set, the value of the resource must be an extended precision floating-point type. - public let longValue: Int64? - /// The name of the resource, such as cpu, memory, ports, or a user-defined resource. - public let name: String? - /// When the doubleValue type is set, the value of the resource must be a double precision floating-point type. - public let doubleValue: Double? - /// The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. - public let `type`: String? - /// When the integerValue type is set, the value of the resource must be an integer. - public let integerValue: Int32? - /// When the stringSetValue type is set, the value of the resource must be a string type. - public let stringSetValue: [String]? - - public init(longValue: Int64? = nil, name: String? = nil, doubleValue: Double? = nil, type: String? = nil, integerValue: Int32? = nil, stringSetValue: [String]? = nil) { - self.longValue = longValue - self.name = name - self.doubleValue = doubleValue - self.`type` = `type` - self.integerValue = integerValue - self.stringSetValue = stringSetValue + public init(longValue: Int64? = nil, name: String? = nil, doubleValue: Double? = nil, type: String? = nil, integerValue: Int32? = nil, stringSetValue: [String]? = nil) { + self.longValue = longValue + self.name = name + self.doubleValue = doubleValue + self.`type` = `type` + self.integerValue = integerValue + self.stringSetValue = stringSetValue } private enum CodingKeys: String, CodingKey { @@ -1105,7 +503,7 @@ extension Ecs { ] /// The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume. public let executionRoleArn: String? - /// 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 you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the memory parameter: 256 (.25 vCPU) - Available memory values: 512MB, 1GB, 2GB 512 (.5 vCPU) - Available memory values: 1GB, 2GB, 3GB, 4GB 1024 (1 vCPU) - Available memory values: 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB 2048 (2 vCPU) - Available memory values: Between 4GB and 16GB in 1GB increments 4096 (4 vCPU) - Available memory values: Between 8GB and 30GB in 1GB increments + /// 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) public let cpu: String? /// 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. public let family: String @@ -1113,7 +511,7 @@ extension Ecs { public let volumes: [Volume]? /// 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. public let taskRoleArn: String? - /// 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. For more information, see Network settings in the Docker run reference. + /// 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. public let networkMode: NetworkMode? /// 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). public let placementConstraints: [TaskDefinitionPlacementConstraint]? @@ -1121,7 +519,7 @@ extension Ecs { public let containerDefinitions: [ContainerDefinition] /// The launch type required by the task. If no value is specified, it defaults to EC2. public let requiresCompatibilities: [Compatibility]? - /// 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 you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter: 512MB, 1GB, 2GB - Available cpu values: 256 (.25 vCPU) 1GB, 2GB, 3GB, 4GB - Available cpu values: 512 (.5 vCPU) 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB - Available cpu values: 1024 (1 vCPU) Between 4GB and 16GB in 1GB increments - Available cpu values: 2048 (2 vCPU) Between 8GB and 30GB in 1GB increments - Available cpu values: 4096 (4 vCPU) + /// 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) public let memory: String? public init(executionRoleArn: String? = nil, cpu: String? = nil, family: String, volumes: [Volume]? = nil, taskRoleArn: String? = nil, networkMode: NetworkMode? = nil, placementConstraints: [TaskDefinitionPlacementConstraint]? = nil, containerDefinitions: [ContainerDefinition], requiresCompatibilities: [Compatibility]? = nil, memory: String? = nil) { @@ -1167,84 +565,22 @@ extension Ecs { } } - public struct ListTaskDefinitionFamiliesResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "families", required: false, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) - ] - /// The list of task definition family names that match the ListTaskDefinitionFamilies request. - public let families: [String]? - /// 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. - public let nextToken: String? - - public init(families: [String]? = nil, nextToken: String? = nil) { - self.families = families - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case families = "families" - case nextToken = "nextToken" - } - } - public enum TargetType: String, CustomStringConvertible, Codable { case containerInstance = "container-instance" public var description: String { return self.rawValue } } - public struct ContainerOverride: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "memoryReservation", required: false, type: .integer), - AWSShapeMember(label: "name", required: false, type: .string), - AWSShapeMember(label: "environment", required: false, type: .list), - AWSShapeMember(label: "command", required: false, type: .list), - AWSShapeMember(label: "cpu", required: false, type: .integer), - AWSShapeMember(label: "memory", required: false, type: .integer) - ] - /// 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. - public let memoryReservation: Int32? - /// The name of the container that receives the override. This parameter is required if any override is specified. - public let name: String? - /// 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. - public let environment: [KeyValuePair]? - /// 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. - public let command: [String]? - /// 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. - public let cpu: Int32? - /// 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. - public let memory: Int32? - - public init(memoryReservation: Int32? = nil, name: String? = nil, environment: [KeyValuePair]? = nil, command: [String]? = nil, cpu: Int32? = nil, memory: Int32? = nil) { - self.memoryReservation = memoryReservation - self.name = name - self.environment = environment - self.command = command - self.cpu = cpu - self.memory = memory - } - - private enum CodingKeys: String, CodingKey { - case memoryReservation = "memoryReservation" - case name = "name" - case environment = "environment" - case command = "command" - case cpu = "cpu" - case memory = "memory" - } - } - public struct AwsVpcConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "securityGroups", required: false, type: .list), AWSShapeMember(label: "assignPublicIp", required: false, type: .enum), AWSShapeMember(label: "subnets", required: true, type: .list) ] - /// 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. + /// 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. public let securityGroups: [String]? - /// Specifies whether or not the task's elastic network interface receives a public IP address. + /// Whether the task's elastic network interface receives a public IP address. public let assignPublicIp: AssignPublicIp? - /// The subnets associated with the task or service. + /// 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. public let subnets: [String] public init(securityGroups: [String]? = nil, assignPublicIp: AssignPublicIp? = nil, subnets: [String]) { @@ -1278,7 +614,7 @@ extension Ecs { public let containerInstance: String? /// 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. public let family: String? - /// The launch type for services you want to list. + /// The launch type for services to list. public let launchType: LaunchType? /// 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. public let cluster: String? @@ -1316,1719 +652,2708 @@ extension Ecs { } } - public struct PutAttributesRequest: AWSShape { + public struct DescribeTaskDefinitionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "cluster", required: false, type: .string), - AWSShapeMember(label: "attributes", required: true, type: .list) + AWSShapeMember(label: "taskDefinition", required: false, type: .structure) ] - /// 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. - public let cluster: String? - /// 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. - public let attributes: [Attribute] + /// The full task definition description. + public let taskDefinition: TaskDefinition? - public init(cluster: String? = nil, attributes: [Attribute]) { - self.cluster = cluster - self.attributes = attributes + public init(taskDefinition: TaskDefinition? = nil) { + self.taskDefinition = taskDefinition } private enum CodingKeys: String, CodingKey { - case cluster = "cluster" - case attributes = "attributes" + case taskDefinition = "taskDefinition" } } - public struct Service: AWSShape { + public struct ListContainerInstancesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "platformVersion", required: false, type: .string), - AWSShapeMember(label: "roleArn", required: false, type: .string), - AWSShapeMember(label: "clusterArn", required: false, type: .string), - AWSShapeMember(label: "placementStrategy", required: false, type: .list), - AWSShapeMember(label: "createdAt", required: false, type: .timestamp), - AWSShapeMember(label: "serviceName", required: false, type: .string), - AWSShapeMember(label: "pendingCount", required: false, type: .integer), - AWSShapeMember(label: "deployments", required: false, type: .list), - AWSShapeMember(label: "loadBalancers", required: false, type: .list), - AWSShapeMember(label: "events", required: false, type: .list), - AWSShapeMember(label: "serviceArn", required: false, type: .string), - AWSShapeMember(label: "networkConfiguration", required: false, type: .structure), - AWSShapeMember(label: "status", required: false, type: .string), - AWSShapeMember(label: "desiredCount", required: false, type: .integer), - AWSShapeMember(label: "launchType", required: false, type: .enum), - AWSShapeMember(label: "placementConstraints", required: false, type: .list), - AWSShapeMember(label: "deploymentConfiguration", required: false, type: .structure), - AWSShapeMember(label: "taskDefinition", required: false, type: .string), - AWSShapeMember(label: "runningCount", required: false, type: .integer) + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "filter", required: false, type: .string), + AWSShapeMember(label: "cluster", required: false, type: .string) ] - /// 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. - public let platformVersion: String? - /// 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. - public let roleArn: String? - /// The Amazon Resource Name (ARN) of the cluster that hosts the service. - public let clusterArn: String? - /// The placement strategy that determines how tasks for the service are placed. - public let placementStrategy: [PlacementStrategy]? - /// The Unix time stamp for when the service was created. - public let createdAt: TimeStamp? - /// 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. - public let serviceName: String? - /// The number of tasks in the cluster that are in the PENDING state. - public let pendingCount: Int32? - /// The current state of deployments for the service. - public let deployments: [Deployment]? - /// 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. - public let loadBalancers: [LoadBalancer]? - /// The event stream for your service. A maximum of 100 of the latest events are displayed. - public let events: [ServiceEvent]? - /// 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 . - public let serviceArn: String? - /// The VPC subnet and security group configuration for tasks that receive their own Elastic Network Interface by using the awsvpc networking mode. - public let networkConfiguration: NetworkConfiguration? - /// The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. - public let status: String? - /// 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. - public let desiredCount: Int32? - /// The launch type on which your service is running. - public let launchType: LaunchType? - /// The placement constraints for the tasks in the service. - public let placementConstraints: [PlacementConstraint]? - /// Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. - public let deploymentConfiguration: DeploymentConfiguration? - /// 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. - public let taskDefinition: String? - /// The number of tasks in the cluster that are in the RUNNING state. - public let runningCount: Int32? + /// 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. + public let status: ContainerInstanceStatus? + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + /// 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. + public let filter: String? + /// 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. + public let cluster: String? - public init(platformVersion: String? = nil, roleArn: String? = nil, clusterArn: String? = nil, placementStrategy: [PlacementStrategy]? = nil, createdAt: TimeStamp? = nil, serviceName: String? = nil, pendingCount: Int32? = nil, deployments: [Deployment]? = nil, loadBalancers: [LoadBalancer]? = nil, events: [ServiceEvent]? = nil, serviceArn: String? = nil, networkConfiguration: NetworkConfiguration? = nil, status: String? = nil, desiredCount: Int32? = nil, launchType: LaunchType? = nil, placementConstraints: [PlacementConstraint]? = nil, deploymentConfiguration: DeploymentConfiguration? = nil, taskDefinition: String? = nil, runningCount: Int32? = nil) { - self.platformVersion = platformVersion - self.roleArn = roleArn - self.clusterArn = clusterArn - self.placementStrategy = placementStrategy - self.createdAt = createdAt - self.serviceName = serviceName - self.pendingCount = pendingCount - self.deployments = deployments - self.loadBalancers = loadBalancers - self.events = events - self.serviceArn = serviceArn - self.networkConfiguration = networkConfiguration + public init(status: ContainerInstanceStatus? = nil, nextToken: String? = nil, maxResults: Int32? = nil, filter: String? = nil, cluster: String? = nil) { self.status = status - self.desiredCount = desiredCount - self.launchType = launchType - self.placementConstraints = placementConstraints - self.deploymentConfiguration = deploymentConfiguration - self.taskDefinition = taskDefinition - self.runningCount = runningCount + self.nextToken = nextToken + self.maxResults = maxResults + self.filter = filter + self.cluster = cluster } private enum CodingKeys: String, CodingKey { - case platformVersion = "platformVersion" - case roleArn = "roleArn" - case clusterArn = "clusterArn" - case placementStrategy = "placementStrategy" - case createdAt = "createdAt" - case serviceName = "serviceName" - case pendingCount = "pendingCount" - case deployments = "deployments" - case loadBalancers = "loadBalancers" - case events = "events" - case serviceArn = "serviceArn" - case networkConfiguration = "networkConfiguration" case status = "status" - case desiredCount = "desiredCount" - case launchType = "launchType" - case placementConstraints = "placementConstraints" - case deploymentConfiguration = "deploymentConfiguration" - case taskDefinition = "taskDefinition" - case runningCount = "runningCount" + case nextToken = "nextToken" + case maxResults = "maxResults" + case filter = "filter" + case cluster = "cluster" } } - public struct UpdateServiceRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "service", required: true, type: .string), - AWSShapeMember(label: "desiredCount", required: false, type: .integer), - AWSShapeMember(label: "platformVersion", required: false, type: .string), + public enum TransportProtocol: String, CustomStringConvertible, Codable { + case tcp = "tcp" + case udp = "udp" + public var description: String { return self.rawValue } + } + + public struct HealthCheck: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "retries", required: false, type: .integer), + AWSShapeMember(label: "timeout", required: false, type: .integer), + AWSShapeMember(label: "interval", required: false, type: .integer), + AWSShapeMember(label: "startPeriod", required: false, type: .integer), + AWSShapeMember(label: "command", required: true, type: .list) + ] + /// 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. + public let retries: Int32? + /// 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. + public let timeout: Int32? + /// The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds. + public let interval: Int32? + /// 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. + public let startPeriod: Int32? + /// 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. + public let command: [String] + + public init(retries: Int32? = nil, timeout: Int32? = nil, interval: Int32? = nil, startPeriod: Int32? = nil, command: [String]) { + self.retries = retries + self.timeout = timeout + self.interval = interval + self.startPeriod = startPeriod + self.command = command + } + + private enum CodingKeys: String, CodingKey { + case retries = "retries" + case timeout = "timeout" + case interval = "interval" + case startPeriod = "startPeriod" + case command = "command" + } + } + + public struct DescribeServicesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "services", required: false, type: .list), + AWSShapeMember(label: "failures", required: false, type: .list) + ] + /// The list of services described. + public let services: [Service]? + /// Any failures associated with the call. + public let failures: [Failure]? + + public init(services: [Service]? = nil, failures: [Failure]? = nil) { + self.services = services + self.failures = failures + } + + private enum CodingKeys: String, CodingKey { + case services = "services" + case failures = "failures" + } + } + + public struct Container: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "reason", required: false, type: .string), + AWSShapeMember(label: "networkBindings", required: false, type: .list), + AWSShapeMember(label: "healthStatus", required: false, type: .enum), + AWSShapeMember(label: "containerArn", required: false, type: .string), + AWSShapeMember(label: "exitCode", required: false, type: .integer), + AWSShapeMember(label: "taskArn", required: false, type: .string), + AWSShapeMember(label: "networkInterfaces", required: false, type: .list), + AWSShapeMember(label: "lastStatus", required: false, type: .string) + ] + /// The name of the container. + public let name: String? + /// A short (255 max characters) human-readable string to provide additional details about a running or stopped container. + public let reason: String? + /// The network bindings associated with the container. + public let networkBindings: [NetworkBinding]? + /// 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. + public let healthStatus: HealthStatus? + /// The Amazon Resource Name (ARN) of the container. + public let containerArn: String? + /// The exit code returned from the container. + public let exitCode: Int32? + /// The ARN of the task. + public let taskArn: String? + /// The network interfaces associated with the container. + public let networkInterfaces: [NetworkInterface]? + /// The last known status of the container. + public let lastStatus: String? + + public init(name: String? = nil, reason: String? = nil, networkBindings: [NetworkBinding]? = nil, healthStatus: HealthStatus? = nil, containerArn: String? = nil, exitCode: Int32? = nil, taskArn: String? = nil, networkInterfaces: [NetworkInterface]? = nil, lastStatus: String? = nil) { + self.name = name + self.reason = reason + self.networkBindings = networkBindings + self.healthStatus = healthStatus + self.containerArn = containerArn + self.exitCode = exitCode + self.taskArn = taskArn + self.networkInterfaces = networkInterfaces + self.lastStatus = lastStatus + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case reason = "reason" + case networkBindings = "networkBindings" + case healthStatus = "healthStatus" + case containerArn = "containerArn" + case exitCode = "exitCode" + case taskArn = "taskArn" + case networkInterfaces = "networkInterfaces" + case lastStatus = "lastStatus" + } + } + + public struct DescribeTaskDefinitionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "taskDefinition", required: true, type: .string) + ] + /// 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. + public let taskDefinition: String + + public init(taskDefinition: String) { + self.taskDefinition = taskDefinition + } + + private enum CodingKeys: String, CodingKey { + case taskDefinition = "taskDefinition" + } + } + + public struct LoadBalancer: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "targetGroupArn", required: false, type: .string), + AWSShapeMember(label: "loadBalancerName", required: false, type: .string), + AWSShapeMember(label: "containerPort", required: false, type: .integer), + AWSShapeMember(label: "containerName", required: false, type: .string) + ] + /// 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. + public let targetGroupArn: String? + /// The name of a load balancer. + public let loadBalancerName: String? + /// 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. + public let containerPort: Int32? + /// The name of the container (as it appears in a container definition) to associate with the load balancer. + public let containerName: String? + + public init(targetGroupArn: String? = nil, loadBalancerName: String? = nil, containerPort: Int32? = nil, containerName: String? = nil) { + self.targetGroupArn = targetGroupArn + self.loadBalancerName = loadBalancerName + self.containerPort = containerPort + self.containerName = containerName + } + + private enum CodingKeys: String, CodingKey { + case targetGroupArn = "targetGroupArn" + case loadBalancerName = "loadBalancerName" + case containerPort = "containerPort" + case containerName = "containerName" + } + } + + public struct StartTaskRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "overrides", required: false, type: .structure), AWSShapeMember(label: "cluster", required: false, type: .string), - AWSShapeMember(label: "deploymentConfiguration", required: false, type: .structure), + AWSShapeMember(label: "startedBy", required: false, type: .string), + AWSShapeMember(label: "containerInstances", required: true, type: .list), + AWSShapeMember(label: "group", required: false, type: .string), AWSShapeMember(label: "networkConfiguration", required: false, type: .structure), - AWSShapeMember(label: "forceNewDeployment", required: false, type: .boolean), - AWSShapeMember(label: "taskDefinition", required: false, type: .string) + AWSShapeMember(label: "taskDefinition", required: true, type: .string) ] - /// The name of the service to update. - public let service: String - /// The number of instantiations of the task to place and keep running in your service. - public let desiredCount: Int32? - /// The platform version you want to update your service to run. - public let platformVersion: String? - /// 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. + /// 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. + public let overrides: TaskOverride? + /// 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. public let cluster: String? - /// Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. - public let deploymentConfiguration: DeploymentConfiguration? - /// 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. + /// 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. + public let startedBy: String? + /// 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. + public let containerInstances: [String] + /// 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). + public let group: String? + /// The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode. public let networkConfiguration: NetworkConfiguration? - /// Whether or not to force a new deployment of the service. - public let forceNewDeployment: Bool? - /// 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. - public let taskDefinition: String? + /// 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. + public let taskDefinition: String - public init(service: String, desiredCount: Int32? = nil, platformVersion: String? = nil, cluster: String? = nil, deploymentConfiguration: DeploymentConfiguration? = nil, networkConfiguration: NetworkConfiguration? = nil, forceNewDeployment: Bool? = nil, taskDefinition: String? = nil) { - self.service = service - self.desiredCount = desiredCount - self.platformVersion = platformVersion + public init(overrides: TaskOverride? = nil, cluster: String? = nil, startedBy: String? = nil, containerInstances: [String], group: String? = nil, networkConfiguration: NetworkConfiguration? = nil, taskDefinition: String) { + self.overrides = overrides self.cluster = cluster - self.deploymentConfiguration = deploymentConfiguration + self.startedBy = startedBy + self.containerInstances = containerInstances + self.group = group self.networkConfiguration = networkConfiguration - self.forceNewDeployment = forceNewDeployment self.taskDefinition = taskDefinition } private enum CodingKeys: String, CodingKey { - case service = "service" - case desiredCount = "desiredCount" - case platformVersion = "platformVersion" + case overrides = "overrides" case cluster = "cluster" - case deploymentConfiguration = "deploymentConfiguration" + case startedBy = "startedBy" + case containerInstances = "containerInstances" + case group = "group" case networkConfiguration = "networkConfiguration" - case forceNewDeployment = "forceNewDeployment" case taskDefinition = "taskDefinition" } } - public struct DescribeTaskDefinitionResponse: AWSShape { + public struct TaskDefinition: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "compatibilities", required: false, type: .list), + AWSShapeMember(label: "cpu", required: false, type: .string), + AWSShapeMember(label: "family", required: false, type: .string), + AWSShapeMember(label: "taskRoleArn", required: false, type: .string), + AWSShapeMember(label: "taskDefinitionArn", required: false, type: .string), + AWSShapeMember(label: "memory", required: false, type: .string), + AWSShapeMember(label: "revision", required: false, type: .integer), + AWSShapeMember(label: "executionRoleArn", required: false, type: .string), + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "requiresAttributes", required: false, type: .list), + AWSShapeMember(label: "networkMode", required: false, type: .enum), + AWSShapeMember(label: "volumes", required: false, type: .list), + AWSShapeMember(label: "placementConstraints", required: false, type: .list), + AWSShapeMember(label: "containerDefinitions", required: false, type: .list), + AWSShapeMember(label: "requiresCompatibilities", required: false, type: .list) + ] + /// The launch type to use with your task. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide. + public let compatibilities: [Compatibility]? + /// 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) + public let cpu: String? + /// The family of your task definition, used as the definition name. + public let family: String? + /// 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. + public let taskRoleArn: String? + /// The full Amazon Resource Name (ARN) of the task definition. + public let taskDefinitionArn: String? + /// 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) + public let memory: String? + /// 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). + public let revision: Int32? + /// The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume. + public let executionRoleArn: String? + /// The status of the task definition. + public let status: TaskDefinitionStatus? + /// The container instance attributes required by your task. This field is not valid if using the Fargate launch type for your task. + public let requiresAttributes: [Attribute]? + /// 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. + public let networkMode: NetworkMode? + /// 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. + public let volumes: [Volume]? + /// An array of placement constraint objects to use for tasks. This field is not valid if using the Fargate launch type for your task. + public let placementConstraints: [TaskDefinitionPlacementConstraint]? + /// 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. + public let containerDefinitions: [ContainerDefinition]? + /// The launch type the task is using. + public let requiresCompatibilities: [Compatibility]? + + public init(compatibilities: [Compatibility]? = nil, cpu: String? = nil, family: String? = nil, taskRoleArn: String? = nil, taskDefinitionArn: String? = nil, memory: String? = nil, revision: Int32? = nil, executionRoleArn: String? = nil, status: TaskDefinitionStatus? = nil, requiresAttributes: [Attribute]? = nil, networkMode: NetworkMode? = nil, volumes: [Volume]? = nil, placementConstraints: [TaskDefinitionPlacementConstraint]? = nil, containerDefinitions: [ContainerDefinition]? = nil, requiresCompatibilities: [Compatibility]? = nil) { + self.compatibilities = compatibilities + self.cpu = cpu + self.family = family + self.taskRoleArn = taskRoleArn + self.taskDefinitionArn = taskDefinitionArn + self.memory = memory + self.revision = revision + self.executionRoleArn = executionRoleArn + self.status = status + self.requiresAttributes = requiresAttributes + self.networkMode = networkMode + self.volumes = volumes + self.placementConstraints = placementConstraints + self.containerDefinitions = containerDefinitions + self.requiresCompatibilities = requiresCompatibilities + } + + private enum CodingKeys: String, CodingKey { + case compatibilities = "compatibilities" + case cpu = "cpu" + case family = "family" + case taskRoleArn = "taskRoleArn" + case taskDefinitionArn = "taskDefinitionArn" + case memory = "memory" + case revision = "revision" + case executionRoleArn = "executionRoleArn" + case status = "status" + case requiresAttributes = "requiresAttributes" + case networkMode = "networkMode" + case volumes = "volumes" + case placementConstraints = "placementConstraints" + case containerDefinitions = "containerDefinitions" + case requiresCompatibilities = "requiresCompatibilities" + } + } + + public struct NetworkInterface: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "attachmentId", required: false, type: .string), + AWSShapeMember(label: "privateIpv4Address", required: false, type: .string), + AWSShapeMember(label: "ipv6Address", required: false, type: .string) + ] + /// The attachment ID for the network interface. + public let attachmentId: String? + /// The private IPv4 address for the network interface. + public let privateIpv4Address: String? + /// The private IPv6 address for the network interface. + public let ipv6Address: String? + + public init(attachmentId: String? = nil, privateIpv4Address: String? = nil, ipv6Address: String? = nil) { + self.attachmentId = attachmentId + self.privateIpv4Address = privateIpv4Address + self.ipv6Address = ipv6Address + } + + private enum CodingKeys: String, CodingKey { + case attachmentId = "attachmentId" + case privateIpv4Address = "privateIpv4Address" + case ipv6Address = "ipv6Address" + } + } + + public struct HostEntry: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "hostname", required: true, type: .string), + AWSShapeMember(label: "ipAddress", required: true, type: .string) + ] + /// The hostname to use in the /etc/hosts entry. + public let hostname: String + /// The IP address to use in the /etc/hosts entry. + public let ipAddress: String + + public init(hostname: String, ipAddress: String) { + self.hostname = hostname + self.ipAddress = ipAddress + } + + private enum CodingKeys: String, CodingKey { + case hostname = "hostname" + case ipAddress = "ipAddress" + } + } + + public struct SubmitTaskStateChangeResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "acknowledgment", required: false, type: .string) + ] + /// Acknowledgement of the state change. + public let acknowledgment: String? + + public init(acknowledgment: String? = nil) { + self.acknowledgment = acknowledgment + } + + private enum CodingKeys: String, CodingKey { + case acknowledgment = "acknowledgment" + } + } + + public struct UpdateServiceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "service", required: false, type: .structure) + ] + /// The full description of your service following the update call. + public let service: Service? + + public init(service: Service? = nil) { + self.service = service + } + + private enum CodingKeys: String, CodingKey { + case service = "service" + } + } + + public struct CreateClusterRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "clusterName", required: false, type: .string) + ] + /// 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. + public let clusterName: String? + + public init(clusterName: String? = nil) { + self.clusterName = clusterName + } + + private enum CodingKeys: String, CodingKey { + case clusterName = "clusterName" + } + } + + public struct SubmitTaskStateChangeRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "attachments", required: false, type: .list), + AWSShapeMember(label: "status", required: false, type: .string), + AWSShapeMember(label: "reason", required: false, type: .string), + AWSShapeMember(label: "pullStartedAt", required: false, type: .timestamp), + AWSShapeMember(label: "cluster", required: false, type: .string), + AWSShapeMember(label: "executionStoppedAt", required: false, type: .timestamp), + AWSShapeMember(label: "pullStoppedAt", required: false, type: .timestamp), + AWSShapeMember(label: "task", required: false, type: .string), + AWSShapeMember(label: "containers", required: false, type: .list) + ] + /// Any attachments associated with the state change request. + public let attachments: [AttachmentStateChange]? + /// The status of the state change request. + public let status: String? + /// The reason for the state change request. + public let reason: String? + /// The Unix time stamp for when the container image pull began. + public let pullStartedAt: TimeStamp? + /// The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task. + public let cluster: String? + /// The Unix time stamp for when the task execution stopped. + public let executionStoppedAt: TimeStamp? + /// The Unix time stamp for when the container image pull completed. + public let pullStoppedAt: TimeStamp? + /// The task ID or full ARN of the task in the state change request. + public let task: String? + /// Any containers associated with the state change request. + public let containers: [ContainerStateChange]? + + public init(attachments: [AttachmentStateChange]? = nil, status: String? = nil, reason: String? = nil, pullStartedAt: TimeStamp? = nil, cluster: String? = nil, executionStoppedAt: TimeStamp? = nil, pullStoppedAt: TimeStamp? = nil, task: String? = nil, containers: [ContainerStateChange]? = nil) { + self.attachments = attachments + self.status = status + self.reason = reason + self.pullStartedAt = pullStartedAt + self.cluster = cluster + self.executionStoppedAt = executionStoppedAt + self.pullStoppedAt = pullStoppedAt + self.task = task + self.containers = containers + } + + private enum CodingKeys: String, CodingKey { + case attachments = "attachments" + case status = "status" + case reason = "reason" + case pullStartedAt = "pullStartedAt" + case cluster = "cluster" + case executionStoppedAt = "executionStoppedAt" + case pullStoppedAt = "pullStoppedAt" + case task = "task" + case containers = "containers" + } + } + + public struct RegisterTaskDefinitionResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "taskDefinition", required: false, type: .structure) + ] + /// The full description of the registered task definition. + public let taskDefinition: TaskDefinition? + + public init(taskDefinition: TaskDefinition? = nil) { + self.taskDefinition = taskDefinition + } + + private enum CodingKeys: String, CodingKey { + case taskDefinition = "taskDefinition" + } + } + + public enum ContainerInstanceStatus: String, CustomStringConvertible, Codable { + case active = "ACTIVE" + case draining = "DRAINING" + public var description: String { return self.rawValue } + } + + public enum SchedulingStrategy: String, CustomStringConvertible, Codable { + case replica = "REPLICA" + case daemon = "DAEMON" + public var description: String { return self.rawValue } + } + + public struct ListTaskDefinitionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "familyPrefix", required: false, type: .string), + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "sort", required: false, type: .enum) + ] + /// 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. + public let familyPrefix: String? + /// 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. + public let status: TaskDefinitionStatus? + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + /// 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. + public let sort: SortOrder? + + public init(familyPrefix: String? = nil, status: TaskDefinitionStatus? = nil, nextToken: String? = nil, maxResults: Int32? = nil, sort: SortOrder? = nil) { + self.familyPrefix = familyPrefix + self.status = status + self.nextToken = nextToken + self.maxResults = maxResults + self.sort = sort + } + + private enum CodingKeys: String, CodingKey { + case familyPrefix = "familyPrefix" + case status = "status" + case nextToken = "nextToken" + case maxResults = "maxResults" + case sort = "sort" + } + } + + public struct DescribeServicesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "services", required: true, type: .list), + AWSShapeMember(label: "cluster", required: false, type: .string) + ] + /// A list of services to describe. You may specify up to 10 services to describe in a single operation. + public let services: [String] + /// 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. + public let cluster: String? + + public init(services: [String], cluster: String? = nil) { + self.services = services + self.cluster = cluster + } + + private enum CodingKeys: String, CodingKey { + case services = "services" + case cluster = "cluster" + } + } + + public struct RunTaskRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "platformVersion", required: false, type: .string), + AWSShapeMember(label: "overrides", required: false, type: .structure), + AWSShapeMember(label: "placementStrategy", required: false, type: .list), + AWSShapeMember(label: "cluster", required: false, type: .string), + AWSShapeMember(label: "count", required: false, type: .integer), + AWSShapeMember(label: "placementConstraints", required: false, type: .list), + AWSShapeMember(label: "launchType", required: false, type: .enum), + AWSShapeMember(label: "startedBy", required: false, type: .string), + AWSShapeMember(label: "networkConfiguration", required: false, type: .structure), + AWSShapeMember(label: "group", required: false, type: .string), + AWSShapeMember(label: "taskDefinition", required: true, type: .string) + ] + /// The platform version on which to run your task. If one is not specified, the latest version is used by default. + public let platformVersion: String? + /// 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. + public let overrides: TaskOverride? + /// The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task. + public let placementStrategy: [PlacementStrategy]? + /// 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. + public let cluster: String? + /// The number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks per call. + public let count: Int32? + /// 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). + public let placementConstraints: [PlacementConstraint]? + /// The launch type on which to run your task. + public let launchType: LaunchType? + /// 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. + public let startedBy: String? + /// 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. + public let networkConfiguration: NetworkConfiguration? + /// 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). + public let group: String? + /// 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. + public let taskDefinition: String + + public init(platformVersion: String? = nil, overrides: TaskOverride? = nil, placementStrategy: [PlacementStrategy]? = nil, cluster: String? = nil, count: Int32? = nil, placementConstraints: [PlacementConstraint]? = nil, launchType: LaunchType? = nil, startedBy: String? = nil, networkConfiguration: NetworkConfiguration? = nil, group: String? = nil, taskDefinition: String) { + self.platformVersion = platformVersion + self.overrides = overrides + self.placementStrategy = placementStrategy + self.cluster = cluster + self.count = count + self.placementConstraints = placementConstraints + self.launchType = launchType + self.startedBy = startedBy + self.networkConfiguration = networkConfiguration + self.group = group + self.taskDefinition = taskDefinition + } + + private enum CodingKeys: String, CodingKey { + case platformVersion = "platformVersion" + case overrides = "overrides" + case placementStrategy = "placementStrategy" + case cluster = "cluster" + case count = "count" + case placementConstraints = "placementConstraints" + case launchType = "launchType" + case startedBy = "startedBy" + case networkConfiguration = "networkConfiguration" + case group = "group" + case taskDefinition = "taskDefinition" + } + } + + public struct RepositoryCredentials: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "credentialsParameter", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) or name of the secret containing the private repository credentials. + public let credentialsParameter: String + + public init(credentialsParameter: String) { + self.credentialsParameter = credentialsParameter + } + + private enum CodingKeys: String, CodingKey { + case credentialsParameter = "credentialsParameter" + } + } + + public struct TaskOverride: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "executionRoleArn", required: false, type: .string), + AWSShapeMember(label: "taskRoleArn", required: false, type: .string), + AWSShapeMember(label: "containerOverrides", required: false, type: .list) + ] + /// The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume. + public let executionRoleArn: String? + /// 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. + public let taskRoleArn: String? + /// One or more container overrides sent to a task. + public let containerOverrides: [ContainerOverride]? + + public init(executionRoleArn: String? = nil, taskRoleArn: String? = nil, containerOverrides: [ContainerOverride]? = nil) { + self.executionRoleArn = executionRoleArn + self.taskRoleArn = taskRoleArn + self.containerOverrides = containerOverrides + } + + private enum CodingKeys: String, CodingKey { + case executionRoleArn = "executionRoleArn" + case taskRoleArn = "taskRoleArn" + case containerOverrides = "containerOverrides" + } + } + + public struct PutAttributesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "attributes", required: false, type: .list) + ] + /// The attributes applied to your resource. + public let attributes: [Attribute]? + + public init(attributes: [Attribute]? = nil) { + self.attributes = attributes + } + + private enum CodingKeys: String, CodingKey { + case attributes = "attributes" + } + } + + public struct RegisterContainerInstanceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "versionInfo", required: false, type: .structure), + AWSShapeMember(label: "attributes", required: false, type: .list), + AWSShapeMember(label: "containerInstanceArn", required: false, type: .string), + AWSShapeMember(label: "cluster", required: false, type: .string), + AWSShapeMember(label: "totalResources", required: false, type: .list), + AWSShapeMember(label: "instanceIdentityDocumentSignature", required: false, type: .string), + AWSShapeMember(label: "instanceIdentityDocument", required: false, type: .string) + ] + /// The version information for the Amazon ECS container agent and Docker daemon running on the container instance. + public let versionInfo: VersionInfo? + /// The container instance attributes that this container instance supports. + public let attributes: [Attribute]? + /// The ARN of the container instance (if it was previously registered). + public let containerInstanceArn: String? + /// 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. + public let cluster: String? + /// The resources available on the instance. + public let totalResources: [Resource]? + /// 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/ + public let instanceIdentityDocumentSignature: String? + /// 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/ + public let instanceIdentityDocument: String? + + public init(versionInfo: VersionInfo? = nil, attributes: [Attribute]? = nil, containerInstanceArn: String? = nil, cluster: String? = nil, totalResources: [Resource]? = nil, instanceIdentityDocumentSignature: String? = nil, instanceIdentityDocument: String? = nil) { + self.versionInfo = versionInfo + self.attributes = attributes + self.containerInstanceArn = containerInstanceArn + self.cluster = cluster + self.totalResources = totalResources + self.instanceIdentityDocumentSignature = instanceIdentityDocumentSignature + self.instanceIdentityDocument = instanceIdentityDocument + } + + private enum CodingKeys: String, CodingKey { + case versionInfo = "versionInfo" + case attributes = "attributes" + case containerInstanceArn = "containerInstanceArn" + case cluster = "cluster" + case totalResources = "totalResources" + case instanceIdentityDocumentSignature = "instanceIdentityDocumentSignature" + case instanceIdentityDocument = "instanceIdentityDocument" + } + } + + public struct ListClustersResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "clusterArns", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// The list of full Amazon Resource Name (ARN) entries for each cluster associated with your account. + public let clusterArns: [String]? + /// 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. + public let nextToken: String? + + public init(clusterArns: [String]? = nil, nextToken: String? = nil) { + self.clusterArns = clusterArns + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case clusterArns = "clusterArns" + case nextToken = "nextToken" + } + } + + public struct Task: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "clusterArn", required: false, type: .string), + AWSShapeMember(label: "pullStartedAt", required: false, type: .timestamp), + AWSShapeMember(label: "cpu", required: false, type: .string), + AWSShapeMember(label: "startedAt", required: false, type: .timestamp), + AWSShapeMember(label: "desiredStatus", required: false, type: .string), + AWSShapeMember(label: "executionStoppedAt", required: false, type: .timestamp), + AWSShapeMember(label: "memory", required: false, type: .string), + AWSShapeMember(label: "attachments", required: false, type: .list), + AWSShapeMember(label: "containers", required: false, type: .list), + AWSShapeMember(label: "stoppedReason", required: false, type: .string), + AWSShapeMember(label: "containerInstanceArn", required: false, type: .string), + AWSShapeMember(label: "launchType", required: false, type: .enum), + AWSShapeMember(label: "connectivity", required: false, type: .enum), + AWSShapeMember(label: "platformVersion", required: false, type: .string), + AWSShapeMember(label: "overrides", required: false, type: .structure), + AWSShapeMember(label: "createdAt", required: false, type: .timestamp), + AWSShapeMember(label: "connectivityAt", required: false, type: .timestamp), + AWSShapeMember(label: "pullStoppedAt", required: false, type: .timestamp), + AWSShapeMember(label: "taskDefinitionArn", required: false, type: .string), + AWSShapeMember(label: "stoppingAt", required: false, type: .timestamp), + AWSShapeMember(label: "healthStatus", required: false, type: .enum), + AWSShapeMember(label: "stoppedAt", required: false, type: .timestamp), + AWSShapeMember(label: "version", required: false, type: .long), + AWSShapeMember(label: "startedBy", required: false, type: .string), + AWSShapeMember(label: "taskArn", required: false, type: .string), + AWSShapeMember(label: "lastStatus", required: false, type: .string), + AWSShapeMember(label: "group", required: false, type: .string) + ] + /// The ARN of the cluster that hosts the task. + public let clusterArn: String? + /// The Unix time stamp for when the container image pull began. + public let pullStartedAt: TimeStamp? + /// 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) + public let cpu: String? + /// The Unix time stamp for when the task started (the task transitioned from the PENDING state to the RUNNING state). + public let startedAt: TimeStamp? + /// The desired status of the task. + public let desiredStatus: String? + /// The Unix time stamp for when the task execution stopped. + public let executionStoppedAt: TimeStamp? + /// 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) + public let memory: String? + /// The elastic network adapter associated with the task if the task uses the awsvpc network mode. + public let attachments: [Attachment]? + /// The containers associated with the task. + public let containers: [Container]? + /// The reason the task was stopped. + public let stoppedReason: String? + /// The ARN of the container instances that host the task. + public let containerInstanceArn: String? + /// The launch type on which your task is running. + public let launchType: LaunchType? + /// The connectivity status of a task. + public let connectivity: Connectivity? + /// 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. + public let platformVersion: String? + /// One or more container overrides. + public let overrides: TaskOverride? + /// The Unix time stamp for when the task was created (the task entered the PENDING state). + public let createdAt: TimeStamp? + /// The Unix time stamp for when the task last went into CONNECTED status. + public let connectivityAt: TimeStamp? + /// The Unix time stamp for when the container image pull completed. + public let pullStoppedAt: TimeStamp? + /// The ARN of the task definition that creates the task. + public let taskDefinitionArn: String? + /// The Unix time stamp for when the task stops (transitions from the RUNNING state to STOPPED). + public let stoppingAt: TimeStamp? + /// 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. + public let healthStatus: HealthStatus? + /// The Unix time stamp for when the task was stopped (the task transitioned from the RUNNING state to the STOPPED state). + public let stoppedAt: TimeStamp? + /// 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. + public let version: Int64? + /// 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. + public let startedBy: String? + /// The Amazon Resource Name (ARN) of the task. + public let taskArn: String? + /// The last known status of the task. + public let lastStatus: String? + /// The name of the task group associated with the task. + public let group: String? + + public init(clusterArn: String? = nil, pullStartedAt: TimeStamp? = nil, cpu: String? = nil, startedAt: TimeStamp? = nil, desiredStatus: String? = nil, executionStoppedAt: TimeStamp? = nil, memory: String? = nil, attachments: [Attachment]? = nil, containers: [Container]? = nil, stoppedReason: String? = nil, containerInstanceArn: String? = nil, launchType: LaunchType? = nil, connectivity: Connectivity? = nil, platformVersion: String? = nil, overrides: TaskOverride? = nil, createdAt: TimeStamp? = nil, connectivityAt: TimeStamp? = nil, pullStoppedAt: TimeStamp? = nil, taskDefinitionArn: String? = nil, stoppingAt: TimeStamp? = nil, healthStatus: HealthStatus? = nil, stoppedAt: TimeStamp? = nil, version: Int64? = nil, startedBy: String? = nil, taskArn: String? = nil, lastStatus: String? = nil, group: String? = nil) { + self.clusterArn = clusterArn + self.pullStartedAt = pullStartedAt + self.cpu = cpu + self.startedAt = startedAt + self.desiredStatus = desiredStatus + self.executionStoppedAt = executionStoppedAt + self.memory = memory + self.attachments = attachments + self.containers = containers + self.stoppedReason = stoppedReason + self.containerInstanceArn = containerInstanceArn + self.launchType = launchType + self.connectivity = connectivity + self.platformVersion = platformVersion + self.overrides = overrides + self.createdAt = createdAt + self.connectivityAt = connectivityAt + self.pullStoppedAt = pullStoppedAt + self.taskDefinitionArn = taskDefinitionArn + self.stoppingAt = stoppingAt + self.healthStatus = healthStatus + self.stoppedAt = stoppedAt + self.version = version + self.startedBy = startedBy + self.taskArn = taskArn + self.lastStatus = lastStatus + self.group = group + } + + private enum CodingKeys: String, CodingKey { + case clusterArn = "clusterArn" + case pullStartedAt = "pullStartedAt" + case cpu = "cpu" + case startedAt = "startedAt" + case desiredStatus = "desiredStatus" + case executionStoppedAt = "executionStoppedAt" + case memory = "memory" + case attachments = "attachments" + case containers = "containers" + case stoppedReason = "stoppedReason" + case containerInstanceArn = "containerInstanceArn" + case launchType = "launchType" + case connectivity = "connectivity" + case platformVersion = "platformVersion" + case overrides = "overrides" + case createdAt = "createdAt" + case connectivityAt = "connectivityAt" + case pullStoppedAt = "pullStoppedAt" + case taskDefinitionArn = "taskDefinitionArn" + case stoppingAt = "stoppingAt" + case healthStatus = "healthStatus" + case stoppedAt = "stoppedAt" + case version = "version" + case startedBy = "startedBy" + case taskArn = "taskArn" + case lastStatus = "lastStatus" + case group = "group" + } + } + + public struct RunTaskResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "failures", required: false, type: .list), + AWSShapeMember(label: "tasks", required: false, type: .list) + ] + /// Any failures associated with the call. + public let failures: [Failure]? + /// A full description of the tasks that were run. The tasks that were successfully placed on your cluster are described here. + public let tasks: [Task]? + + public init(failures: [Failure]? = nil, tasks: [Task]? = nil) { + self.failures = failures + self.tasks = tasks + } + + private enum CodingKeys: String, CodingKey { + case failures = "failures" + case tasks = "tasks" + } + } + + public struct SubmitContainerStateChangeRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "status", required: false, type: .string), + AWSShapeMember(label: "reason", required: false, type: .string), + AWSShapeMember(label: "networkBindings", required: false, type: .list), + AWSShapeMember(label: "cluster", required: false, type: .string), + AWSShapeMember(label: "exitCode", required: false, type: .integer), + AWSShapeMember(label: "task", required: false, type: .string), + AWSShapeMember(label: "containerName", required: false, type: .string) + ] + /// The status of the state change request. + public let status: String? + /// The reason for the state change request. + public let reason: String? + /// The network bindings of the container. + public let networkBindings: [NetworkBinding]? + /// The short name or full ARN of the cluster that hosts the container. + public let cluster: String? + /// The exit code returned for the state change request. + public let exitCode: Int32? + /// The task ID or full Amazon Resource Name (ARN) of the task that hosts the container. + public let task: String? + /// The name of the container. + public let containerName: String? + + public init(status: String? = nil, reason: String? = nil, networkBindings: [NetworkBinding]? = nil, cluster: String? = nil, exitCode: Int32? = nil, task: String? = nil, containerName: String? = nil) { + self.status = status + self.reason = reason + self.networkBindings = networkBindings + self.cluster = cluster + self.exitCode = exitCode + self.task = task + self.containerName = containerName + } + + private enum CodingKeys: String, CodingKey { + case status = "status" + case reason = "reason" + case networkBindings = "networkBindings" + case cluster = "cluster" + case exitCode = "exitCode" + case task = "task" + case containerName = "containerName" + } + } + + public struct ListTaskDefinitionFamiliesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "familyPrefix", required: false, type: .string), + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer) + ] + /// 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. + public let familyPrefix: String? + /// 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. + public let status: TaskDefinitionFamilyStatus? + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(familyPrefix: String? = nil, status: TaskDefinitionFamilyStatus? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.familyPrefix = familyPrefix + self.status = status + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case familyPrefix = "familyPrefix" + case status = "status" + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct NetworkBinding: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "taskDefinition", required: false, type: .structure) + AWSShapeMember(label: "hostPort", required: false, type: .integer), + AWSShapeMember(label: "protocol", required: false, type: .enum), + AWSShapeMember(label: "containerPort", required: false, type: .integer), + AWSShapeMember(label: "bindIP", required: false, type: .string) ] - /// The full task definition description. - public let taskDefinition: TaskDefinition? + /// The port number on the host that is used with the network binding. + public let hostPort: Int32? + /// The protocol used for the network binding. + public let `protocol`: TransportProtocol? + /// The port number on the container that is used with the network binding. + public let containerPort: Int32? + /// The IP address that the container is bound to on the container instance. + public let bindIP: String? - public init(taskDefinition: TaskDefinition? = nil) { - self.taskDefinition = taskDefinition + public init(hostPort: Int32? = nil, protocol: TransportProtocol? = nil, containerPort: Int32? = nil, bindIP: String? = nil) { + self.hostPort = hostPort + self.`protocol` = `protocol` + self.containerPort = containerPort + self.bindIP = bindIP } private enum CodingKeys: String, CodingKey { - case taskDefinition = "taskDefinition" + case hostPort = "hostPort" + case `protocol` = "protocol" + case containerPort = "containerPort" + case bindIP = "bindIP" } } - public struct DiscoverPollEndpointRequest: AWSShape { + public struct VersionInfo: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "cluster", required: false, type: .string), - AWSShapeMember(label: "containerInstance", required: false, type: .string) + AWSShapeMember(label: "agentHash", required: false, type: .string), + AWSShapeMember(label: "dockerVersion", required: false, type: .string), + AWSShapeMember(label: "agentVersion", required: false, type: .string) ] - /// The short name or full Amazon Resource Name (ARN) of the cluster that the container instance belongs to. - public let cluster: String? - /// 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 . - public let containerInstance: String? + /// The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent GitHub repository. + public let agentHash: String? + /// The Docker version running on the container instance. + public let dockerVersion: String? + /// The version number of the Amazon ECS container agent. + public let agentVersion: String? - public init(cluster: String? = nil, containerInstance: String? = nil) { - self.cluster = cluster - self.containerInstance = containerInstance + public init(agentHash: String? = nil, dockerVersion: String? = nil, agentVersion: String? = nil) { + self.agentHash = agentHash + self.dockerVersion = dockerVersion + self.agentVersion = agentVersion } private enum CodingKeys: String, CodingKey { - case cluster = "cluster" - case containerInstance = "containerInstance" + case agentHash = "agentHash" + case dockerVersion = "dockerVersion" + case agentVersion = "agentVersion" } } - public struct StartTaskResponse: AWSShape { + public struct Deployment: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "failures", required: false, type: .list), - AWSShapeMember(label: "tasks", required: false, type: .list) + AWSShapeMember(label: "desiredCount", required: false, type: .integer), + AWSShapeMember(label: "status", required: false, type: .string), + AWSShapeMember(label: "platformVersion", required: false, type: .string), + AWSShapeMember(label: "id", required: false, type: .string), + AWSShapeMember(label: "launchType", required: false, type: .enum), + AWSShapeMember(label: "createdAt", required: false, type: .timestamp), + AWSShapeMember(label: "updatedAt", required: false, type: .timestamp), + AWSShapeMember(label: "networkConfiguration", required: false, type: .structure), + AWSShapeMember(label: "pendingCount", required: false, type: .integer), + AWSShapeMember(label: "taskDefinition", required: false, type: .string), + AWSShapeMember(label: "runningCount", required: false, type: .integer) ] - /// Any failures associated with the call. - public let failures: [Failure]? - /// A full description of the tasks that were started. Each task that was successfully placed on your container instances is described. - public let tasks: [Task]? + /// The most recent desired count of tasks that was specified for the service to deploy or maintain. + public let desiredCount: Int32? + /// 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). + public let status: String? + /// The platform version on which your service is running. + public let platformVersion: String? + /// The ID of the deployment. + public let id: String? + /// The launch type on which your service is running. + public let launchType: LaunchType? + /// The Unix time stamp for when the service was created. + public let createdAt: TimeStamp? + /// The Unix time stamp for when the service was last updated. + public let updatedAt: TimeStamp? + /// The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode. + public let networkConfiguration: NetworkConfiguration? + /// The number of tasks in the deployment that are in the PENDING status. + public let pendingCount: Int32? + /// The most recent task definition that was specified for the service to use. + public let taskDefinition: String? + /// The number of tasks in the deployment that are in the RUNNING status. + public let runningCount: Int32? - public init(failures: [Failure]? = nil, tasks: [Task]? = nil) { - self.failures = failures - self.tasks = tasks + public init(desiredCount: Int32? = nil, status: String? = nil, platformVersion: String? = nil, id: String? = nil, launchType: LaunchType? = nil, createdAt: TimeStamp? = nil, updatedAt: TimeStamp? = nil, networkConfiguration: NetworkConfiguration? = nil, pendingCount: Int32? = nil, taskDefinition: String? = nil, runningCount: Int32? = nil) { + self.desiredCount = desiredCount + self.status = status + self.platformVersion = platformVersion + self.id = id + self.launchType = launchType + self.createdAt = createdAt + self.updatedAt = updatedAt + self.networkConfiguration = networkConfiguration + self.pendingCount = pendingCount + self.taskDefinition = taskDefinition + self.runningCount = runningCount } private enum CodingKeys: String, CodingKey { - case failures = "failures" - case tasks = "tasks" + case desiredCount = "desiredCount" + case status = "status" + case platformVersion = "platformVersion" + case id = "id" + case launchType = "launchType" + case createdAt = "createdAt" + case updatedAt = "updatedAt" + case networkConfiguration = "networkConfiguration" + case pendingCount = "pendingCount" + case taskDefinition = "taskDefinition" + case runningCount = "runningCount" } } - public struct ListContainerInstancesRequest: AWSShape { + public struct ContainerInstance: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "status", required: false, type: .enum), - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "maxResults", required: false, type: .integer), - AWSShapeMember(label: "filter", required: false, type: .string), - AWSShapeMember(label: "cluster", required: false, type: .string) + AWSShapeMember(label: "pendingTasksCount", required: false, type: .integer), + AWSShapeMember(label: "versionInfo", required: false, type: .structure), + AWSShapeMember(label: "ec2InstanceId", required: false, type: .string), + AWSShapeMember(label: "registeredResources", required: false, type: .list), + AWSShapeMember(label: "agentConnected", required: false, type: .boolean), + AWSShapeMember(label: "agentUpdateStatus", required: false, type: .enum), + AWSShapeMember(label: "registeredAt", required: false, type: .timestamp), + AWSShapeMember(label: "attachments", required: false, type: .list), + AWSShapeMember(label: "remainingResources", required: false, type: .list), + AWSShapeMember(label: "attributes", required: false, type: .list), + AWSShapeMember(label: "status", required: false, type: .string), + AWSShapeMember(label: "containerInstanceArn", required: false, type: .string), + AWSShapeMember(label: "runningTasksCount", required: false, type: .integer), + AWSShapeMember(label: "version", required: false, type: .long) ] - /// 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. - public let status: ContainerInstanceStatus? - /// 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. - public let nextToken: String? - /// 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. - public let maxResults: Int32? - /// 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. - public let filter: String? - /// 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. - public let cluster: String? + /// The number of tasks on the container instance that are in the PENDING status. + public let pendingTasksCount: Int32? + /// The version information for the Amazon ECS container agent and Docker daemon running on the container instance. + public let versionInfo: VersionInfo? + /// The EC2 instance ID of the container instance. + public let ec2InstanceId: String? + /// 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. + public let registeredResources: [Resource]? + /// 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. + public let agentConnected: Bool? + /// The status of the most recent agent update. If an update has never been requested, this value is NULL. + public let agentUpdateStatus: AgentUpdateStatus? + /// The Unix time stamp for when the container instance was registered. + public let registeredAt: TimeStamp? + /// The elastic network interfaces associated with the container instance. + public let attachments: [Attachment]? + /// 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. + public let remainingResources: [Resource]? + /// The attributes set for the container instance, either by the Amazon ECS container agent at instance registration or manually with the PutAttributes operation. + public let attributes: [Attribute]? + /// 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. + public let status: String? + /// 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 . + public let containerInstanceArn: String? + /// The number of tasks on the container instance that are in the RUNNING status. + public let runningTasksCount: Int32? + /// 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. + public let version: Int64? - public init(status: ContainerInstanceStatus? = nil, nextToken: String? = nil, maxResults: Int32? = nil, filter: String? = nil, cluster: String? = nil) { + public init(pendingTasksCount: Int32? = nil, versionInfo: VersionInfo? = nil, ec2InstanceId: String? = nil, registeredResources: [Resource]? = nil, agentConnected: Bool? = nil, agentUpdateStatus: AgentUpdateStatus? = nil, registeredAt: TimeStamp? = nil, attachments: [Attachment]? = nil, remainingResources: [Resource]? = nil, attributes: [Attribute]? = nil, status: String? = nil, containerInstanceArn: String? = nil, runningTasksCount: Int32? = nil, version: Int64? = nil) { + self.pendingTasksCount = pendingTasksCount + self.versionInfo = versionInfo + self.ec2InstanceId = ec2InstanceId + self.registeredResources = registeredResources + self.agentConnected = agentConnected + self.agentUpdateStatus = agentUpdateStatus + self.registeredAt = registeredAt + self.attachments = attachments + self.remainingResources = remainingResources + self.attributes = attributes self.status = status - self.nextToken = nextToken - self.maxResults = maxResults - self.filter = filter - self.cluster = cluster + self.containerInstanceArn = containerInstanceArn + self.runningTasksCount = runningTasksCount + self.version = version } private enum CodingKeys: String, CodingKey { + case pendingTasksCount = "pendingTasksCount" + case versionInfo = "versionInfo" + case ec2InstanceId = "ec2InstanceId" + case registeredResources = "registeredResources" + case agentConnected = "agentConnected" + case agentUpdateStatus = "agentUpdateStatus" + case registeredAt = "registeredAt" + case attachments = "attachments" + case remainingResources = "remainingResources" + case attributes = "attributes" case status = "status" - case nextToken = "nextToken" - case maxResults = "maxResults" - case filter = "filter" - case cluster = "cluster" + case containerInstanceArn = "containerInstanceArn" + case runningTasksCount = "runningTasksCount" + case version = "version" } } - public enum TransportProtocol: String, CustomStringConvertible, Codable { - case tcp = "tcp" - case udp = "udp" - public var description: String { return self.rawValue } - } - - public struct DeleteAttributesRequest: AWSShape { + public struct DeleteAttributesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "cluster", required: false, type: .string), - AWSShapeMember(label: "attributes", required: true, type: .list) + AWSShapeMember(label: "attributes", required: false, type: .list) ] - /// 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. - public let cluster: String? - /// 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. - public let attributes: [Attribute] + /// A list of attribute objects that were successfully deleted from your resource. + public let attributes: [Attribute]? - public init(cluster: String? = nil, attributes: [Attribute]) { - self.cluster = cluster + public init(attributes: [Attribute]? = nil) { self.attributes = attributes } private enum CodingKeys: String, CodingKey { - case cluster = "cluster" case attributes = "attributes" } } - public struct Volume: AWSShape { + public struct NetworkConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "name", required: false, type: .string), - AWSShapeMember(label: "host", required: false, type: .structure) + AWSShapeMember(label: "awsvpcConfiguration", required: false, type: .structure) ] - /// 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. - public let name: String? - /// 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. If you are using the Fargate launch type, the host parameter is not supported. - public let host: HostVolumeProperties? - - public init(name: String? = nil, host: HostVolumeProperties? = nil) { - self.name = name - self.host = host + /// The VPC subnets and security groups associated with a task. All specified subnets and security groups must be from the same VPC. + public let awsvpcConfiguration: AwsVpcConfiguration? + + public init(awsvpcConfiguration: AwsVpcConfiguration? = nil) { + self.awsvpcConfiguration = awsvpcConfiguration } private enum CodingKeys: String, CodingKey { - case name = "name" - case host = "host" + case awsvpcConfiguration = "awsvpcConfiguration" } } - public struct PortMapping: AWSShape { + public struct DeploymentConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "protocol", required: false, type: .enum), - AWSShapeMember(label: "containerPort", required: false, type: .integer), - AWSShapeMember(label: "hostPort", required: false, type: .integer) + AWSShapeMember(label: "maximumPercent", required: false, type: .integer), + AWSShapeMember(label: "minimumHealthyPercent", required: false, type: .integer) ] - /// The protocol used for the port mapping. Valid values are tcp and udp. The default is tcp. - public let `protocol`: TransportProtocol? - /// 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 Fargate launch type, exposed ports should be specified using containerPort. If using containers in a task with the EC2 launch type 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. - public let containerPort: Int32? - /// The port number on the container instance to reserve for your container. If using containers in a task with the Fargate launch type, the hostPort can either be left blank or needs to be the same value as the containerPort. If using containers in a task with the EC2 launch type, 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). - public let hostPort: Int32? + /// 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. + public let maximumPercent: Int32? + /// 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. + public let minimumHealthyPercent: Int32? - public init(protocol: TransportProtocol? = nil, containerPort: Int32? = nil, hostPort: Int32? = nil) { - self.`protocol` = `protocol` - self.containerPort = containerPort - self.hostPort = hostPort + public init(maximumPercent: Int32? = nil, minimumHealthyPercent: Int32? = nil) { + self.maximumPercent = maximumPercent + self.minimumHealthyPercent = minimumHealthyPercent } private enum CodingKeys: String, CodingKey { - case `protocol` = "protocol" - case containerPort = "containerPort" - case hostPort = "hostPort" + case maximumPercent = "maximumPercent" + case minimumHealthyPercent = "minimumHealthyPercent" } } - public struct Ulimit: AWSShape { + public enum Connectivity: String, CustomStringConvertible, Codable { + case connected = "CONNECTED" + case disconnected = "DISCONNECTED" + public var description: String { return self.rawValue } + } + + public struct UpdateContainerInstancesStateRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "softLimit", required: true, type: .integer), - AWSShapeMember(label: "name", required: true, type: .enum), - AWSShapeMember(label: "hardLimit", required: true, type: .integer) + AWSShapeMember(label: "containerInstances", required: true, type: .list), + AWSShapeMember(label: "status", required: true, type: .enum), + AWSShapeMember(label: "cluster", required: false, type: .string) ] - /// The soft limit for the ulimit type. - public let softLimit: Int32 - /// The type of the ulimit. - public let name: UlimitName - /// The hard limit for the ulimit type. - public let hardLimit: Int32 + /// A list of container instance IDs or full ARN entries. + public let containerInstances: [String] + /// The container instance state with which to update the container instance. + public let status: ContainerInstanceStatus + /// 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. + public let cluster: String? - public init(softLimit: Int32, name: UlimitName, hardLimit: Int32) { - self.softLimit = softLimit - self.name = name - self.hardLimit = hardLimit + public init(containerInstances: [String], status: ContainerInstanceStatus, cluster: String? = nil) { + self.containerInstances = containerInstances + self.status = status + self.cluster = cluster } private enum CodingKeys: String, CodingKey { - case softLimit = "softLimit" - case name = "name" - case hardLimit = "hardLimit" + case containerInstances = "containerInstances" + case status = "status" + case cluster = "cluster" } } - public struct DescribeServicesResponse: AWSShape { + public struct KernelCapabilities: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "services", required: false, type: .list), - AWSShapeMember(label: "failures", required: false, type: .list) + AWSShapeMember(label: "add", required: false, type: .list), + AWSShapeMember(label: "drop", required: false, type: .list) ] - /// The list of services described. - public let services: [Service]? - /// Any failures associated with the call. - public let failures: [Failure]? + /// 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" + public let add: [String]? + /// 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" + public let drop: [String]? - public init(services: [Service]? = nil, failures: [Failure]? = nil) { - self.services = services - self.failures = failures + public init(add: [String]? = nil, drop: [String]? = nil) { + self.add = add + self.drop = drop } private enum CodingKeys: String, CodingKey { - case services = "services" - case failures = "failures" + case add = "add" + case drop = "drop" } } - public struct Container: AWSShape { + public struct DeleteServiceResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "name", required: false, type: .string), - AWSShapeMember(label: "reason", required: false, type: .string), - AWSShapeMember(label: "networkBindings", required: false, type: .list), - AWSShapeMember(label: "containerArn", required: false, type: .string), - AWSShapeMember(label: "exitCode", required: false, type: .integer), - AWSShapeMember(label: "taskArn", required: false, type: .string), - AWSShapeMember(label: "networkInterfaces", required: false, type: .list), - AWSShapeMember(label: "lastStatus", required: false, type: .string) + AWSShapeMember(label: "service", required: false, type: .structure) ] - /// The name of the container. - public let name: String? - /// A short (255 max characters) human-readable string to provide additional details about a running or stopped container. - public let reason: String? - /// The network bindings associated with the container. - public let networkBindings: [NetworkBinding]? - /// The Amazon Resource Name (ARN) of the container. - public let containerArn: String? - /// The exit code returned from the container. - public let exitCode: Int32? - /// The ARN of the task. - public let taskArn: String? - /// The network interfaces associated with the container. - public let networkInterfaces: [NetworkInterface]? - /// The last known status of the container. - public let lastStatus: String? + /// The full description of the deleted service. + public let service: Service? - public init(name: String? = nil, reason: String? = nil, networkBindings: [NetworkBinding]? = nil, containerArn: String? = nil, exitCode: Int32? = nil, taskArn: String? = nil, networkInterfaces: [NetworkInterface]? = nil, lastStatus: String? = nil) { - self.name = name - self.reason = reason - self.networkBindings = networkBindings - self.containerArn = containerArn - self.exitCode = exitCode - self.taskArn = taskArn - self.networkInterfaces = networkInterfaces - self.lastStatus = lastStatus + public init(service: Service? = nil) { + self.service = service } private enum CodingKeys: String, CodingKey { - case name = "name" - case reason = "reason" - case networkBindings = "networkBindings" - case containerArn = "containerArn" - case exitCode = "exitCode" - case taskArn = "taskArn" - case networkInterfaces = "networkInterfaces" - case lastStatus = "lastStatus" + case service = "service" } } - public struct DescribeTaskDefinitionRequest: AWSShape { + public enum AssignPublicIp: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" + public var description: String { return self.rawValue } + } + + public struct VolumeFrom: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "taskDefinition", required: true, type: .string) + AWSShapeMember(label: "sourceContainer", required: false, type: .string), + AWSShapeMember(label: "readOnly", required: false, type: .boolean) ] - /// 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. - public let taskDefinition: String + /// The name of another container within the same task definition to mount volumes from. + public let sourceContainer: String? + /// 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. + public let readOnly: Bool? - public init(taskDefinition: String) { - self.taskDefinition = taskDefinition + public init(sourceContainer: String? = nil, readOnly: Bool? = nil) { + self.sourceContainer = sourceContainer + self.readOnly = readOnly } private enum CodingKeys: String, CodingKey { - case taskDefinition = "taskDefinition" + case sourceContainer = "sourceContainer" + case readOnly = "readOnly" } } - public struct LoadBalancer: AWSShape { + public struct HostVolumeProperties: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "targetGroupArn", required: false, type: .string), - AWSShapeMember(label: "loadBalancerName", required: false, type: .string), - AWSShapeMember(label: "containerPort", required: false, type: .integer), - AWSShapeMember(label: "containerName", required: false, type: .string) + AWSShapeMember(label: "sourcePath", required: false, type: .string) ] - /// The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group associated with a service. - public let targetGroupArn: String? - /// The name of a load balancer. - public let loadBalancerName: String? - /// 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. - public let containerPort: Int32? - /// The name of the container (as it appears in a container definition) to associate with the load balancer. - public let containerName: String? + /// 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. + public let sourcePath: String? - public init(targetGroupArn: String? = nil, loadBalancerName: String? = nil, containerPort: Int32? = nil, containerName: String? = nil) { - self.targetGroupArn = targetGroupArn - self.loadBalancerName = loadBalancerName - self.containerPort = containerPort - self.containerName = containerName + public init(sourcePath: String? = nil) { + self.sourcePath = sourcePath } private enum CodingKeys: String, CodingKey { - case targetGroupArn = "targetGroupArn" - case loadBalancerName = "loadBalancerName" - case containerPort = "containerPort" - case containerName = "containerName" + case sourcePath = "sourcePath" } } - public struct UpdateContainerInstancesStateResponse: AWSShape { + public enum HealthStatus: String, CustomStringConvertible, Codable { + case healthy = "HEALTHY" + case unhealthy = "UNHEALTHY" + case unknown = "UNKNOWN" + public var description: String { return self.rawValue } + } + + public enum TaskDefinitionPlacementConstraintType: String, CustomStringConvertible, Codable { + case memberof = "memberOf" + public var description: String { return self.rawValue } + } + + public struct ListClustersRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "containerInstances", required: false, type: .list), - AWSShapeMember(label: "failures", required: false, type: .list) + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer) ] - /// The list of container instances. - public let containerInstances: [ContainerInstance]? - /// Any failures associated with the call. - public let failures: [Failure]? + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? - public init(containerInstances: [ContainerInstance]? = nil, failures: [Failure]? = nil) { - self.containerInstances = containerInstances - self.failures = failures + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case containerInstances = "containerInstances" - case failures = "failures" + case nextToken = "nextToken" + case maxResults = "maxResults" } } - public struct Cluster: AWSShape { + public struct MountPoint: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "pendingTasksCount", required: false, type: .integer), - AWSShapeMember(label: "status", required: false, type: .string), - AWSShapeMember(label: "clusterArn", required: false, type: .string), - AWSShapeMember(label: "clusterName", required: false, type: .string), - AWSShapeMember(label: "registeredContainerInstancesCount", required: false, type: .integer), - AWSShapeMember(label: "statistics", required: false, type: .list), - AWSShapeMember(label: "runningTasksCount", required: false, type: .integer), - AWSShapeMember(label: "activeServicesCount", required: false, type: .integer) + AWSShapeMember(label: "readOnly", required: false, type: .boolean), + AWSShapeMember(label: "sourceVolume", required: false, type: .string), + AWSShapeMember(label: "containerPath", required: false, type: .string) ] - /// The number of tasks in the cluster that are in the PENDING state. - public let pendingTasksCount: Int32? - /// 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. - public let status: String? - /// 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 .. - public let clusterArn: String? - /// A user-generated string that you use to identify your cluster. - public let clusterName: String? - /// The number of container instances registered into the cluster. - public let registeredContainerInstancesCount: Int32? - /// Additional information about your clusters that are separated by launch type, including: runningEC2TasksCount RunningFargateTasksCount pendingEC2TasksCount pendingFargateTasksCount activeEC2ServiceCount activeFargateServiceCount drainingEC2ServiceCount drainingFargateServiceCount - public let statistics: [KeyValuePair]? - /// The number of tasks in the cluster that are in the RUNNING state. - public let runningTasksCount: Int32? - /// The number of services that are running on the cluster in an ACTIVE state. You can view these services with ListServices. - public let activeServicesCount: Int32? + /// 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. + public let readOnly: Bool? + /// The name of the volume to mount. + public let sourceVolume: String? + /// The path on the container to mount the host volume at. + public let containerPath: String? - public init(pendingTasksCount: Int32? = nil, status: String? = nil, clusterArn: String? = nil, clusterName: String? = nil, registeredContainerInstancesCount: Int32? = nil, statistics: [KeyValuePair]? = nil, runningTasksCount: Int32? = nil, activeServicesCount: Int32? = nil) { - self.pendingTasksCount = pendingTasksCount - self.status = status - self.clusterArn = clusterArn - self.clusterName = clusterName - self.registeredContainerInstancesCount = registeredContainerInstancesCount - self.statistics = statistics - self.runningTasksCount = runningTasksCount - self.activeServicesCount = activeServicesCount + public init(readOnly: Bool? = nil, sourceVolume: String? = nil, containerPath: String? = nil) { + self.readOnly = readOnly + self.sourceVolume = sourceVolume + self.containerPath = containerPath } private enum CodingKeys: String, CodingKey { - case pendingTasksCount = "pendingTasksCount" - case status = "status" - case clusterArn = "clusterArn" - case clusterName = "clusterName" - case registeredContainerInstancesCount = "registeredContainerInstancesCount" - case statistics = "statistics" - case runningTasksCount = "runningTasksCount" - case activeServicesCount = "activeServicesCount" + case readOnly = "readOnly" + case sourceVolume = "sourceVolume" + case containerPath = "containerPath" } } - public struct StartTaskRequest: AWSShape { + public struct DiscoverPollEndpointResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "overrides", required: false, type: .structure), - AWSShapeMember(label: "cluster", required: false, type: .string), - AWSShapeMember(label: "startedBy", required: false, type: .string), - AWSShapeMember(label: "containerInstances", required: true, type: .list), - AWSShapeMember(label: "group", required: false, type: .string), - AWSShapeMember(label: "networkConfiguration", required: false, type: .structure), - AWSShapeMember(label: "taskDefinition", required: true, type: .string) + AWSShapeMember(label: "telemetryEndpoint", required: false, type: .string), + AWSShapeMember(label: "endpoint", required: false, type: .string) ] - /// 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. - public let overrides: TaskOverride? - /// 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. - public let cluster: String? - /// 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. - public let startedBy: String? - /// 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. - public let containerInstances: [String] - /// 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). - public let group: String? - /// The VPC subnet and security group configuration for tasks that receive their own Elastic Network Interface by using the awsvpc networking mode. - public let networkConfiguration: NetworkConfiguration? - /// 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. - public let taskDefinition: String + /// The telemetry endpoint for the Amazon ECS agent. + public let telemetryEndpoint: String? + /// The endpoint for the Amazon ECS agent to poll. + public let endpoint: String? - public init(overrides: TaskOverride? = nil, cluster: String? = nil, startedBy: String? = nil, containerInstances: [String], group: String? = nil, networkConfiguration: NetworkConfiguration? = nil, taskDefinition: String) { - self.overrides = overrides - self.cluster = cluster - self.startedBy = startedBy - self.containerInstances = containerInstances - self.group = group - self.networkConfiguration = networkConfiguration - self.taskDefinition = taskDefinition + public init(telemetryEndpoint: String? = nil, endpoint: String? = nil) { + self.telemetryEndpoint = telemetryEndpoint + self.endpoint = endpoint } private enum CodingKeys: String, CodingKey { - case overrides = "overrides" - case cluster = "cluster" - case startedBy = "startedBy" - case containerInstances = "containerInstances" - case group = "group" - case networkConfiguration = "networkConfiguration" - case taskDefinition = "taskDefinition" + case telemetryEndpoint = "telemetryEndpoint" + case endpoint = "endpoint" } } - public struct TaskDefinition: AWSShape { + public struct AttachmentStateChange: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "compatibilities", required: false, type: .list), - AWSShapeMember(label: "cpu", required: false, type: .string), - AWSShapeMember(label: "family", required: false, type: .string), - AWSShapeMember(label: "taskRoleArn", required: false, type: .string), - AWSShapeMember(label: "taskDefinitionArn", required: false, type: .string), - AWSShapeMember(label: "memory", required: false, type: .string), - AWSShapeMember(label: "revision", required: false, type: .integer), - AWSShapeMember(label: "executionRoleArn", required: false, type: .string), - AWSShapeMember(label: "status", required: false, type: .enum), - AWSShapeMember(label: "requiresAttributes", required: false, type: .list), - AWSShapeMember(label: "networkMode", required: false, type: .enum), - AWSShapeMember(label: "volumes", required: false, type: .list), - AWSShapeMember(label: "placementConstraints", required: false, type: .list), - AWSShapeMember(label: "containerDefinitions", required: false, type: .list), - AWSShapeMember(label: "requiresCompatibilities", required: false, type: .list) + AWSShapeMember(label: "status", required: true, type: .string), + AWSShapeMember(label: "attachmentArn", required: true, type: .string) ] - /// The launch type to use with your task. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide. - public let compatibilities: [Compatibility]? - /// 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: 512MB, 1GB, 2GB 512 (.5 vCPU) - Available memory values: 1GB, 2GB, 3GB, 4GB 1024 (1 vCPU) - Available memory values: 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB 2048 (2 vCPU) - Available memory values: Between 4GB and 16GB in 1GB increments 4096 (4 vCPU) - Available memory values: Between 8GB and 30GB in 1GB increments - public let cpu: String? - /// The family of your task definition, used as the definition name. - public let family: String? - /// 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. - public let taskRoleArn: String? - /// The full Amazon Resource Name (ARN) of the task definition. - public let taskDefinitionArn: String? - /// 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: 512MB, 1GB, 2GB - Available cpu values: 256 (.25 vCPU) 1GB, 2GB, 3GB, 4GB - Available cpu values: 512 (.5 vCPU) 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB - Available cpu values: 1024 (1 vCPU) Between 4GB and 16GB in 1GB increments - Available cpu values: 2048 (2 vCPU) Between 8GB and 30GB in 1GB increments - Available cpu values: 4096 (4 vCPU) - public let memory: String? - /// 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). - public let revision: Int32? - /// The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume. - public let executionRoleArn: String? - /// The status of the task definition. - public let status: TaskDefinitionStatus? - /// The container instance attributes required by your task. This field is not valid if using the Fargate launch type for your task. - public let requiresAttributes: [Attribute]? - /// 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. For more information, see Network settings in the Docker run reference. - public let networkMode: NetworkMode? - /// 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. - public let volumes: [Volume]? - /// An array of placement constraint objects to use for tasks. This field is not valid if using the Fargate launch type for your task. - public let placementConstraints: [TaskDefinitionPlacementConstraint]? - /// 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. - public let containerDefinitions: [ContainerDefinition]? - /// The launch type the task is using. - public let requiresCompatibilities: [Compatibility]? + /// The status of the attachment. + public let status: String + /// The Amazon Resource Name (ARN) of the attachment. + public let attachmentArn: String - public init(compatibilities: [Compatibility]? = nil, cpu: String? = nil, family: String? = nil, taskRoleArn: String? = nil, taskDefinitionArn: String? = nil, memory: String? = nil, revision: Int32? = nil, executionRoleArn: String? = nil, status: TaskDefinitionStatus? = nil, requiresAttributes: [Attribute]? = nil, networkMode: NetworkMode? = nil, volumes: [Volume]? = nil, placementConstraints: [TaskDefinitionPlacementConstraint]? = nil, containerDefinitions: [ContainerDefinition]? = nil, requiresCompatibilities: [Compatibility]? = nil) { - self.compatibilities = compatibilities - self.cpu = cpu - self.family = family - self.taskRoleArn = taskRoleArn - self.taskDefinitionArn = taskDefinitionArn - self.memory = memory - self.revision = revision - self.executionRoleArn = executionRoleArn + public init(status: String, attachmentArn: String) { self.status = status - self.requiresAttributes = requiresAttributes - self.networkMode = networkMode - self.volumes = volumes - self.placementConstraints = placementConstraints - self.containerDefinitions = containerDefinitions - self.requiresCompatibilities = requiresCompatibilities + self.attachmentArn = attachmentArn } private enum CodingKeys: String, CodingKey { - case compatibilities = "compatibilities" - case cpu = "cpu" - case family = "family" - case taskRoleArn = "taskRoleArn" - case taskDefinitionArn = "taskDefinitionArn" - case memory = "memory" - case revision = "revision" - case executionRoleArn = "executionRoleArn" case status = "status" - case requiresAttributes = "requiresAttributes" - case networkMode = "networkMode" - case volumes = "volumes" - case placementConstraints = "placementConstraints" - case containerDefinitions = "containerDefinitions" - case requiresCompatibilities = "requiresCompatibilities" + case attachmentArn = "attachmentArn" } } - public struct NetworkInterface: AWSShape { + public struct ListContainerInstancesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "attachmentId", required: false, type: .string), - AWSShapeMember(label: "privateIpv4Address", required: false, type: .string), - AWSShapeMember(label: "ipv6Address", required: false, type: .string) + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "containerInstanceArns", required: false, type: .list) ] - /// The attachment ID for the network interface. - public let attachmentId: String? - /// The private IPv4 address for the network interface. - public let privateIpv4Address: String? - /// The private IPv6 address for the network interface. - public let ipv6Address: String? + /// 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. + public let nextToken: String? + /// The list of container instances with full ARN entries for each container instance associated with the specified cluster. + public let containerInstanceArns: [String]? - public init(attachmentId: String? = nil, privateIpv4Address: String? = nil, ipv6Address: String? = nil) { - self.attachmentId = attachmentId - self.privateIpv4Address = privateIpv4Address - self.ipv6Address = ipv6Address + public init(nextToken: String? = nil, containerInstanceArns: [String]? = nil) { + self.nextToken = nextToken + self.containerInstanceArns = containerInstanceArns } private enum CodingKeys: String, CodingKey { - case attachmentId = "attachmentId" - case privateIpv4Address = "privateIpv4Address" - case ipv6Address = "ipv6Address" + case nextToken = "nextToken" + case containerInstanceArns = "containerInstanceArns" } } - public struct HostEntry: AWSShape { + public enum PlacementConstraintType: String, CustomStringConvertible, Codable { + case distinctinstance = "distinctInstance" + case memberof = "memberOf" + public var description: String { return self.rawValue } + } + + public struct ContainerDefinition: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "hostname", required: true, type: .string), - AWSShapeMember(label: "ipAddress", required: true, type: .string) + AWSShapeMember(label: "memoryReservation", required: false, type: .integer), + AWSShapeMember(label: "portMappings", required: false, type: .list), + AWSShapeMember(label: "cpu", required: false, type: .integer), + AWSShapeMember(label: "readonlyRootFilesystem", required: false, type: .boolean), + AWSShapeMember(label: "healthCheck", required: false, type: .structure), + AWSShapeMember(label: "mountPoints", required: false, type: .list), + AWSShapeMember(label: "repositoryCredentials", required: false, type: .structure), + AWSShapeMember(label: "memory", required: false, type: .integer), + AWSShapeMember(label: "disableNetworking", required: false, type: .boolean), + AWSShapeMember(label: "dockerLabels", required: false, type: .map), + AWSShapeMember(label: "image", required: false, type: .string), + AWSShapeMember(label: "command", required: false, type: .list), + AWSShapeMember(label: "hostname", required: false, type: .string), + AWSShapeMember(label: "volumesFrom", required: false, type: .list), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "user", required: false, type: .string), + AWSShapeMember(label: "essential", required: false, type: .boolean), + AWSShapeMember(label: "workingDirectory", required: false, type: .string), + AWSShapeMember(label: "dnsServers", required: false, type: .list), + AWSShapeMember(label: "linuxParameters", required: false, type: .structure), + AWSShapeMember(label: "logConfiguration", required: false, type: .structure), + AWSShapeMember(label: "ulimits", required: false, type: .list), + AWSShapeMember(label: "dockerSecurityOptions", required: false, type: .list), + AWSShapeMember(label: "environment", required: false, type: .list), + AWSShapeMember(label: "entryPoint", required: false, type: .list), + AWSShapeMember(label: "privileged", required: false, type: .boolean), + AWSShapeMember(label: "dnsSearchDomains", required: false, type: .list), + AWSShapeMember(label: "links", required: false, type: .list), + AWSShapeMember(label: "extraHosts", required: false, type: .list) ] - /// The hostname to use in the /etc/hosts entry. - public let hostname: String - /// The IP address to use in the /etc/hosts entry. - public let ipAddress: String + /// 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. + public let memoryReservation: Int32? + /// 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. + public let portMappings: [PortMapping]? + /// 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. + public let cpu: Int32? + /// 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. + public let readonlyRootFilesystem: Bool? + /// 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. + public let healthCheck: HealthCheck? + /// 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. + public let mountPoints: [MountPoint]? + /// The private repository authentication credentials to use. + public let repositoryCredentials: RepositoryCredentials? + /// 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. + public let memory: Int32? + /// 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. + public let disableNetworking: Bool? + /// 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" + public let dockerLabels: [String: String]? + /// 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). + public let image: String? + /// 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. + public let command: [String]? + /// 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. + public let hostname: String? + /// 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. + public let volumesFrom: [VolumeFrom]? + /// 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. + public let name: String? + /// 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. + public let user: String? + /// 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. + public let essential: Bool? + /// 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. + public let workingDirectory: String? + /// 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. + public let dnsServers: [String]? + /// Linux-specific modifications that are applied to the container, such as Linux KernelCapabilities. This parameter is not supported for Windows containers. + public let linuxParameters: LinuxParameters? + /// 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. + public let logConfiguration: LogConfiguration? + /// 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. + public let ulimits: [Ulimit]? + /// 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. + public let dockerSecurityOptions: [String]? + /// 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. + public let environment: [KeyValuePair]? + /// 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. + public let entryPoint: [String]? + /// 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. + public let privileged: Bool? + /// 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. + public let dnsSearchDomains: [String]? + /// 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. + public let links: [String]? + /// 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. + public let extraHosts: [HostEntry]? - public init(hostname: String, ipAddress: String) { + public init(memoryReservation: Int32? = nil, portMappings: [PortMapping]? = nil, cpu: Int32? = nil, readonlyRootFilesystem: Bool? = nil, healthCheck: HealthCheck? = nil, mountPoints: [MountPoint]? = nil, repositoryCredentials: RepositoryCredentials? = nil, memory: Int32? = nil, disableNetworking: Bool? = nil, dockerLabels: [String: String]? = nil, image: String? = nil, command: [String]? = nil, hostname: String? = nil, volumesFrom: [VolumeFrom]? = nil, name: String? = nil, user: String? = nil, essential: Bool? = nil, workingDirectory: String? = nil, dnsServers: [String]? = nil, linuxParameters: LinuxParameters? = nil, logConfiguration: LogConfiguration? = nil, ulimits: [Ulimit]? = nil, dockerSecurityOptions: [String]? = nil, environment: [KeyValuePair]? = nil, entryPoint: [String]? = nil, privileged: Bool? = nil, dnsSearchDomains: [String]? = nil, links: [String]? = nil, extraHosts: [HostEntry]? = nil) { + self.memoryReservation = memoryReservation + self.portMappings = portMappings + self.cpu = cpu + self.readonlyRootFilesystem = readonlyRootFilesystem + self.healthCheck = healthCheck + self.mountPoints = mountPoints + self.repositoryCredentials = repositoryCredentials + self.memory = memory + self.disableNetworking = disableNetworking + self.dockerLabels = dockerLabels + self.image = image + self.command = command self.hostname = hostname - self.ipAddress = ipAddress + self.volumesFrom = volumesFrom + self.name = name + self.user = user + self.essential = essential + self.workingDirectory = workingDirectory + self.dnsServers = dnsServers + self.linuxParameters = linuxParameters + self.logConfiguration = logConfiguration + self.ulimits = ulimits + self.dockerSecurityOptions = dockerSecurityOptions + self.environment = environment + self.entryPoint = entryPoint + self.privileged = privileged + self.dnsSearchDomains = dnsSearchDomains + self.links = links + self.extraHosts = extraHosts } private enum CodingKeys: String, CodingKey { + case memoryReservation = "memoryReservation" + case portMappings = "portMappings" + case cpu = "cpu" + case readonlyRootFilesystem = "readonlyRootFilesystem" + case healthCheck = "healthCheck" + case mountPoints = "mountPoints" + case repositoryCredentials = "repositoryCredentials" + case memory = "memory" + case disableNetworking = "disableNetworking" + case dockerLabels = "dockerLabels" + case image = "image" + case command = "command" case hostname = "hostname" - case ipAddress = "ipAddress" + case volumesFrom = "volumesFrom" + case name = "name" + case user = "user" + case essential = "essential" + case workingDirectory = "workingDirectory" + case dnsServers = "dnsServers" + case linuxParameters = "linuxParameters" + case logConfiguration = "logConfiguration" + case ulimits = "ulimits" + case dockerSecurityOptions = "dockerSecurityOptions" + case environment = "environment" + case entryPoint = "entryPoint" + case privileged = "privileged" + case dnsSearchDomains = "dnsSearchDomains" + case links = "links" + case extraHosts = "extraHosts" } } - public struct PlacementStrategy: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "type", required: false, type: .enum), - AWSShapeMember(label: "field", required: false, type: .string) - ] - /// 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). - public let `type`: PlacementStrategyType? - /// 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. - public let field: String? - - public init(type: PlacementStrategyType? = nil, field: String? = nil) { - self.`type` = `type` - self.field = field - } - - private enum CodingKeys: String, CodingKey { - case `type` = "type" - case field = "field" - } + public enum SortOrder: String, CustomStringConvertible, Codable { + case asc = "ASC" + case desc = "DESC" + public var description: String { return self.rawValue } } - public struct SubmitTaskStateChangeResponse: AWSShape { + public struct DescribeClustersResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "acknowledgment", required: false, type: .string) + AWSShapeMember(label: "clusters", required: false, type: .list), + AWSShapeMember(label: "failures", required: false, type: .list) ] - /// Acknowledgement of the state change. - public let acknowledgment: String? + /// The list of clusters. + public let clusters: [Cluster]? + /// Any failures associated with the call. + public let failures: [Failure]? - public init(acknowledgment: String? = nil) { - self.acknowledgment = acknowledgment + public init(clusters: [Cluster]? = nil, failures: [Failure]? = nil) { + self.clusters = clusters + self.failures = failures } private enum CodingKeys: String, CodingKey { - case acknowledgment = "acknowledgment" + case clusters = "clusters" + case failures = "failures" } } - public struct ServiceEvent: AWSShape { + public struct StopTaskRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "id", required: false, type: .string), - AWSShapeMember(label: "createdAt", required: false, type: .timestamp), - AWSShapeMember(label: "message", required: false, type: .string) + AWSShapeMember(label: "task", required: true, type: .string), + AWSShapeMember(label: "reason", required: false, type: .string), + AWSShapeMember(label: "cluster", required: false, type: .string) ] - /// The ID string of the event. - public let id: String? - /// The Unix time stamp for when the event was triggered. - public let createdAt: TimeStamp? - /// The event message. - public let message: String? + /// The task ID or full ARN entry of the task to stop. + public let task: String + /// 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. + public let reason: String? + /// 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. + public let cluster: String? - public init(id: String? = nil, createdAt: TimeStamp? = nil, message: String? = nil) { - self.id = id - self.createdAt = createdAt - self.message = message + public init(task: String, reason: String? = nil, cluster: String? = nil) { + self.task = task + self.reason = reason + self.cluster = cluster } private enum CodingKeys: String, CodingKey { - case id = "id" - case createdAt = "createdAt" - case message = "message" + case task = "task" + case reason = "reason" + case cluster = "cluster" } } - public enum LogDriver: String, CustomStringConvertible, Codable { - case jsonFile = "json-file" - case syslog = "syslog" - case journald = "journald" - case gelf = "gelf" - case fluentd = "fluentd" - case awslogs = "awslogs" - case splunk = "splunk" - public var description: String { return self.rawValue } - } - - public enum UlimitName: String, CustomStringConvertible, Codable { - case core = "core" - case cpu = "cpu" - case data = "data" - case fsize = "fsize" - case locks = "locks" - case memlock = "memlock" - case msgqueue = "msgqueue" - case nice = "nice" - case nofile = "nofile" - case nproc = "nproc" - case rss = "rss" - case rtprio = "rtprio" - case rttime = "rttime" - case sigpending = "sigpending" - case stack = "stack" - public var description: String { return self.rawValue } - } - - public enum TaskDefinitionStatus: String, CustomStringConvertible, Codable { - case active = "ACTIVE" - case inactive = "INACTIVE" - public var description: String { return self.rawValue } - } - - public struct UpdateServiceResponse: AWSShape { + public struct ListTaskDefinitionFamiliesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "service", required: false, type: .structure) + AWSShapeMember(label: "families", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) ] - /// The full description of your service following the update call. - public let service: Service? + /// The list of task definition family names that match the ListTaskDefinitionFamilies request. + public let families: [String]? + /// 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. + public let nextToken: String? - public init(service: Service? = nil) { - self.service = service + public init(families: [String]? = nil, nextToken: String? = nil) { + self.families = families + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case service = "service" + case families = "families" + case nextToken = "nextToken" } } - public struct CreateClusterRequest: AWSShape { + public struct ContainerOverride: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "clusterName", required: false, type: .string) + AWSShapeMember(label: "memoryReservation", required: false, type: .integer), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "environment", required: false, type: .list), + AWSShapeMember(label: "command", required: false, type: .list), + AWSShapeMember(label: "cpu", required: false, type: .integer), + AWSShapeMember(label: "memory", required: false, type: .integer) ] - /// 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. - public let clusterName: String? + /// 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. + public let memoryReservation: Int32? + /// The name of the container that receives the override. This parameter is required if any override is specified. + public let name: String? + /// 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. + public let environment: [KeyValuePair]? + /// 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. + public let command: [String]? + /// 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. + public let cpu: Int32? + /// 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. + public let memory: Int32? - public init(clusterName: String? = nil) { - self.clusterName = clusterName + public init(memoryReservation: Int32? = nil, name: String? = nil, environment: [KeyValuePair]? = nil, command: [String]? = nil, cpu: Int32? = nil, memory: Int32? = nil) { + self.memoryReservation = memoryReservation + self.name = name + self.environment = environment + self.command = command + self.cpu = cpu + self.memory = memory } private enum CodingKeys: String, CodingKey { - case clusterName = "clusterName" + case memoryReservation = "memoryReservation" + case name = "name" + case environment = "environment" + case command = "command" + case cpu = "cpu" + case memory = "memory" } - } - - public struct SubmitTaskStateChangeRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "attachments", required: false, type: .list), - AWSShapeMember(label: "status", required: false, type: .string), - AWSShapeMember(label: "reason", required: false, type: .string), - AWSShapeMember(label: "pullStartedAt", required: false, type: .timestamp), - AWSShapeMember(label: "cluster", required: false, type: .string), - AWSShapeMember(label: "executionStoppedAt", required: false, type: .timestamp), - AWSShapeMember(label: "pullStoppedAt", required: false, type: .timestamp), - AWSShapeMember(label: "task", required: false, type: .string), - AWSShapeMember(label: "containers", required: false, type: .list) - ] - /// Any attachments associated with the state change request. - public let attachments: [AttachmentStateChange]? - /// The status of the state change request. - public let status: String? - /// The reason for the state change request. - public let reason: String? - /// The Unix time stamp for when the container image pull began. - public let pullStartedAt: TimeStamp? - /// The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task. + } + + public struct PutAttributesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "cluster", required: false, type: .string), + AWSShapeMember(label: "attributes", required: true, type: .list) + ] + /// 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. public let cluster: String? - /// The Unix timestamp for when the task execution stopped. - public let executionStoppedAt: TimeStamp? - /// The Unix time stamp for when the container image pull completed. - public let pullStoppedAt: TimeStamp? - /// The task ID or full ARN of the task in the state change request. - public let task: String? - /// Any containers associated with the state change request. - public let containers: [ContainerStateChange]? + /// 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. + public let attributes: [Attribute] - public init(attachments: [AttachmentStateChange]? = nil, status: String? = nil, reason: String? = nil, pullStartedAt: TimeStamp? = nil, cluster: String? = nil, executionStoppedAt: TimeStamp? = nil, pullStoppedAt: TimeStamp? = nil, task: String? = nil, containers: [ContainerStateChange]? = nil) { - self.attachments = attachments - self.status = status - self.reason = reason - self.pullStartedAt = pullStartedAt + public init(cluster: String? = nil, attributes: [Attribute]) { self.cluster = cluster - self.executionStoppedAt = executionStoppedAt - self.pullStoppedAt = pullStoppedAt - self.task = task - self.containers = containers + self.attributes = attributes } private enum CodingKeys: String, CodingKey { - case attachments = "attachments" - case status = "status" - case reason = "reason" - case pullStartedAt = "pullStartedAt" case cluster = "cluster" - case executionStoppedAt = "executionStoppedAt" - case pullStoppedAt = "pullStoppedAt" - case task = "task" - case containers = "containers" + case attributes = "attributes" } } - public struct RegisterTaskDefinitionResponse: AWSShape { + public struct Service: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "taskDefinition", required: false, type: .structure) + AWSShapeMember(label: "platformVersion", required: false, type: .string), + AWSShapeMember(label: "roleArn", required: false, type: .string), + AWSShapeMember(label: "clusterArn", required: false, type: .string), + AWSShapeMember(label: "placementStrategy", required: false, type: .list), + AWSShapeMember(label: "createdAt", required: false, type: .timestamp), + AWSShapeMember(label: "serviceName", required: false, type: .string), + AWSShapeMember(label: "pendingCount", required: false, type: .integer), + AWSShapeMember(label: "deployments", required: false, type: .list), + AWSShapeMember(label: "events", required: false, type: .list), + AWSShapeMember(label: "serviceArn", required: false, type: .string), + AWSShapeMember(label: "schedulingStrategy", required: false, type: .enum), + AWSShapeMember(label: "desiredCount", required: false, type: .integer), + AWSShapeMember(label: "status", required: false, type: .string), + AWSShapeMember(label: "serviceRegistries", required: false, type: .list), + AWSShapeMember(label: "loadBalancers", required: false, type: .list), + AWSShapeMember(label: "networkConfiguration", required: false, type: .structure), + AWSShapeMember(label: "launchType", required: false, type: .enum), + AWSShapeMember(label: "placementConstraints", required: false, type: .list), + AWSShapeMember(label: "deploymentConfiguration", required: false, type: .structure), + AWSShapeMember(label: "taskDefinition", required: false, type: .string), + AWSShapeMember(label: "runningCount", required: false, type: .integer), + AWSShapeMember(label: "healthCheckGracePeriodSeconds", required: false, type: .integer) ] - /// The full description of the registered task definition. - public let taskDefinition: TaskDefinition? + /// 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. + public let platformVersion: String? + /// 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. + public let roleArn: String? + /// The Amazon Resource Name (ARN) of the cluster that hosts the service. + public let clusterArn: String? + /// The placement strategy that determines how tasks for the service are placed. + public let placementStrategy: [PlacementStrategy]? + /// The Unix time stamp for when the service was created. + public let createdAt: TimeStamp? + /// 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. + public let serviceName: String? + /// The number of tasks in the cluster that are in the PENDING state. + public let pendingCount: Int32? + /// The current state of deployments for the service. + public let deployments: [Deployment]? + /// The event stream for your service. A maximum of 100 of the latest events are displayed. + public let events: [ServiceEvent]? + /// 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 . + public let serviceArn: String? + /// 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. + public let schedulingStrategy: SchedulingStrategy? + /// 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. + public let desiredCount: Int32? + /// The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. + public let status: String? + public let serviceRegistries: [ServiceRegistry]? + /// 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. + public let loadBalancers: [LoadBalancer]? + /// The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode. + public let networkConfiguration: NetworkConfiguration? + /// The launch type on which your service is running. + public let launchType: LaunchType? + /// The placement constraints for the tasks in the service. + public let placementConstraints: [PlacementConstraint]? + /// Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + public let deploymentConfiguration: DeploymentConfiguration? + /// 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. + public let taskDefinition: String? + /// The number of tasks in the cluster that are in the RUNNING state. + public let runningCount: Int32? + /// 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. + public let healthCheckGracePeriodSeconds: Int32? - public init(taskDefinition: TaskDefinition? = nil) { + public init(platformVersion: String? = nil, roleArn: String? = nil, clusterArn: String? = nil, placementStrategy: [PlacementStrategy]? = nil, createdAt: TimeStamp? = nil, serviceName: String? = nil, pendingCount: Int32? = nil, deployments: [Deployment]? = nil, events: [ServiceEvent]? = nil, serviceArn: String? = nil, schedulingStrategy: SchedulingStrategy? = nil, desiredCount: Int32? = nil, status: String? = nil, serviceRegistries: [ServiceRegistry]? = nil, loadBalancers: [LoadBalancer]? = nil, networkConfiguration: NetworkConfiguration? = nil, launchType: LaunchType? = nil, placementConstraints: [PlacementConstraint]? = nil, deploymentConfiguration: DeploymentConfiguration? = nil, taskDefinition: String? = nil, runningCount: Int32? = nil, healthCheckGracePeriodSeconds: Int32? = nil) { + self.platformVersion = platformVersion + self.roleArn = roleArn + self.clusterArn = clusterArn + self.placementStrategy = placementStrategy + self.createdAt = createdAt + self.serviceName = serviceName + self.pendingCount = pendingCount + self.deployments = deployments + self.events = events + self.serviceArn = serviceArn + self.schedulingStrategy = schedulingStrategy + self.desiredCount = desiredCount + self.status = status + self.serviceRegistries = serviceRegistries + self.loadBalancers = loadBalancers + self.networkConfiguration = networkConfiguration + self.launchType = launchType + self.placementConstraints = placementConstraints + self.deploymentConfiguration = deploymentConfiguration self.taskDefinition = taskDefinition + self.runningCount = runningCount + self.healthCheckGracePeriodSeconds = healthCheckGracePeriodSeconds } private enum CodingKeys: String, CodingKey { + case platformVersion = "platformVersion" + case roleArn = "roleArn" + case clusterArn = "clusterArn" + case placementStrategy = "placementStrategy" + case createdAt = "createdAt" + case serviceName = "serviceName" + case pendingCount = "pendingCount" + case deployments = "deployments" + case events = "events" + case serviceArn = "serviceArn" + case schedulingStrategy = "schedulingStrategy" + case desiredCount = "desiredCount" + case status = "status" + case serviceRegistries = "serviceRegistries" + case loadBalancers = "loadBalancers" + case networkConfiguration = "networkConfiguration" + case launchType = "launchType" + case placementConstraints = "placementConstraints" + case deploymentConfiguration = "deploymentConfiguration" case taskDefinition = "taskDefinition" + case runningCount = "runningCount" + case healthCheckGracePeriodSeconds = "healthCheckGracePeriodSeconds" } } - public struct CreateServiceResponse: AWSShape { + public struct UpdateServiceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "service", required: false, type: .structure) + AWSShapeMember(label: "service", required: true, type: .string), + AWSShapeMember(label: "desiredCount", required: false, type: .integer), + AWSShapeMember(label: "platformVersion", required: false, type: .string), + AWSShapeMember(label: "cluster", required: false, type: .string), + AWSShapeMember(label: "deploymentConfiguration", required: false, type: .structure), + AWSShapeMember(label: "networkConfiguration", required: false, type: .structure), + AWSShapeMember(label: "forceNewDeployment", required: false, type: .boolean), + AWSShapeMember(label: "taskDefinition", required: false, type: .string), + AWSShapeMember(label: "healthCheckGracePeriodSeconds", required: false, type: .integer) ] - /// The full description of your service following the create call. - public let service: Service? + /// The name of the service to update. + public let service: String + /// The number of instantiations of the task to place and keep running in your service. + public let desiredCount: Int32? + /// The platform version that your service should run. + public let platformVersion: String? + /// 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. + public let cluster: String? + /// Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + public let deploymentConfiguration: DeploymentConfiguration? + /// 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. + public let networkConfiguration: NetworkConfiguration? + /// 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. + public let forceNewDeployment: Bool? + /// 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. + public let taskDefinition: String? + /// 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. + public let healthCheckGracePeriodSeconds: Int32? - public init(service: Service? = nil) { + public init(service: String, desiredCount: Int32? = nil, platformVersion: String? = nil, cluster: String? = nil, deploymentConfiguration: DeploymentConfiguration? = nil, networkConfiguration: NetworkConfiguration? = nil, forceNewDeployment: Bool? = nil, taskDefinition: String? = nil, healthCheckGracePeriodSeconds: Int32? = nil) { self.service = service + self.desiredCount = desiredCount + self.platformVersion = platformVersion + self.cluster = cluster + self.deploymentConfiguration = deploymentConfiguration + self.networkConfiguration = networkConfiguration + self.forceNewDeployment = forceNewDeployment + self.taskDefinition = taskDefinition + self.healthCheckGracePeriodSeconds = healthCheckGracePeriodSeconds } private enum CodingKeys: String, CodingKey { case service = "service" + case desiredCount = "desiredCount" + case platformVersion = "platformVersion" + case cluster = "cluster" + case deploymentConfiguration = "deploymentConfiguration" + case networkConfiguration = "networkConfiguration" + case forceNewDeployment = "forceNewDeployment" + case taskDefinition = "taskDefinition" + case healthCheckGracePeriodSeconds = "healthCheckGracePeriodSeconds" } } - public struct DeregisterContainerInstanceRequest: AWSShape { + public struct DiscoverPollEndpointRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "force", required: false, type: .boolean), AWSShapeMember(label: "cluster", required: false, type: .string), - AWSShapeMember(label: "containerInstance", required: true, type: .string) + AWSShapeMember(label: "containerInstance", required: false, type: .string) ] - /// 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. - public let force: Bool? - /// 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. + /// The short name or full Amazon Resource Name (ARN) of the cluster that the container instance belongs to. public let cluster: String? - /// 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 . - public let containerInstance: String + /// 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 . + public let containerInstance: String? - public init(force: Bool? = nil, cluster: String? = nil, containerInstance: String) { - self.force = force + public init(cluster: String? = nil, containerInstance: String? = nil) { self.cluster = cluster self.containerInstance = containerInstance } private enum CodingKeys: String, CodingKey { - case force = "force" case cluster = "cluster" case containerInstance = "containerInstance" } } - public enum AgentUpdateStatus: String, CustomStringConvertible, Codable { - case pending = "PENDING" - case staging = "STAGING" - case staged = "STAGED" - case updating = "UPDATING" - case updated = "UPDATED" - case failed = "FAILED" - public var description: String { return self.rawValue } - } + public struct StartTaskResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "failures", required: false, type: .list), + AWSShapeMember(label: "tasks", required: false, type: .list) + ] + /// Any failures associated with the call. + public let failures: [Failure]? + /// A full description of the tasks that were started. Each task that was successfully placed on your container instances is described. + public let tasks: [Task]? - public enum ContainerInstanceStatus: String, CustomStringConvertible, Codable { - case active = "ACTIVE" - case draining = "DRAINING" - public var description: String { return self.rawValue } + public init(failures: [Failure]? = nil, tasks: [Task]? = nil) { + self.failures = failures + self.tasks = tasks + } + + private enum CodingKeys: String, CodingKey { + case failures = "failures" + case tasks = "tasks" + } } - public struct ContainerStateChange: AWSShape { + public struct DeleteAttributesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "status", required: false, type: .string), - AWSShapeMember(label: "networkBindings", required: false, type: .list), - AWSShapeMember(label: "exitCode", required: false, type: .integer), - AWSShapeMember(label: "reason", required: false, type: .string), - AWSShapeMember(label: "containerName", required: false, type: .string) + AWSShapeMember(label: "cluster", required: false, type: .string), + AWSShapeMember(label: "attributes", required: true, type: .list) ] - /// The status of the container. - public let status: String? - /// Any network bindings associated with the container. - public let networkBindings: [NetworkBinding]? - /// The exit code for the container, if the state change is a result of the container exiting. - public let exitCode: Int32? - /// The reason for the state change. - public let reason: String? - /// The name of the container. - public let containerName: String? + /// 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. + public let cluster: String? + /// 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. + public let attributes: [Attribute] - public init(status: String? = nil, networkBindings: [NetworkBinding]? = nil, exitCode: Int32? = nil, reason: String? = nil, containerName: String? = nil) { - self.status = status - self.networkBindings = networkBindings - self.exitCode = exitCode - self.reason = reason - self.containerName = containerName + public init(cluster: String? = nil, attributes: [Attribute]) { + self.cluster = cluster + self.attributes = attributes } private enum CodingKeys: String, CodingKey { - case status = "status" - case networkBindings = "networkBindings" - case exitCode = "exitCode" - case reason = "reason" - case containerName = "containerName" + case cluster = "cluster" + case attributes = "attributes" } } - public struct DescribeTasksRequest: AWSShape { + public struct Volume: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "cluster", required: false, type: .string), - AWSShapeMember(label: "tasks", required: true, type: .list) + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "host", required: false, type: .structure) ] - /// 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. - public let cluster: String? - /// A list of up to 100 task IDs or full ARN entries. - public let tasks: [String] + /// 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. + public let name: String? + /// 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. 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. + public let host: HostVolumeProperties? - public init(cluster: String? = nil, tasks: [String]) { - self.cluster = cluster - self.tasks = tasks + public init(name: String? = nil, host: HostVolumeProperties? = nil) { + self.name = name + self.host = host } private enum CodingKeys: String, CodingKey { - case cluster = "cluster" - case tasks = "tasks" + case name = "name" + case host = "host" } } - public struct DeleteClusterResponse: AWSShape { + public struct PortMapping: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "cluster", required: false, type: .structure) + AWSShapeMember(label: "protocol", required: false, type: .enum), + AWSShapeMember(label: "containerPort", required: false, type: .integer), + AWSShapeMember(label: "hostPort", required: false, type: .integer) ] - /// The full description of the deleted cluster. - public let cluster: Cluster? + /// The protocol used for the port mapping. Valid values are tcp and udp. The default is tcp. + public let `protocol`: TransportProtocol? + /// 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. + public let containerPort: Int32? + /// 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). + public let hostPort: Int32? - public init(cluster: Cluster? = nil) { - self.cluster = cluster + public init(protocol: TransportProtocol? = nil, containerPort: Int32? = nil, hostPort: Int32? = nil) { + self.`protocol` = `protocol` + self.containerPort = containerPort + self.hostPort = hostPort } private enum CodingKeys: String, CodingKey { - case cluster = "cluster" + case `protocol` = "protocol" + case containerPort = "containerPort" + case hostPort = "hostPort" } } - public enum LaunchType: String, CustomStringConvertible, Codable { - case ec2 = "EC2" - case fargate = "FARGATE" - public var description: String { return self.rawValue } - } - - public struct DeregisterContainerInstanceResponse: AWSShape { + public struct Ulimit: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "containerInstance", required: false, type: .structure) + AWSShapeMember(label: "softLimit", required: true, type: .integer), + AWSShapeMember(label: "name", required: true, type: .enum), + AWSShapeMember(label: "hardLimit", required: true, type: .integer) ] - /// The container instance that was deregistered. - public let containerInstance: ContainerInstance? + /// The soft limit for the ulimit type. + public let softLimit: Int32 + /// The type of the ulimit. + public let name: UlimitName + /// The hard limit for the ulimit type. + public let hardLimit: Int32 - public init(containerInstance: ContainerInstance? = nil) { - self.containerInstance = containerInstance + public init(softLimit: Int32, name: UlimitName, hardLimit: Int32) { + self.softLimit = softLimit + self.name = name + self.hardLimit = hardLimit } private enum CodingKeys: String, CodingKey { - case containerInstance = "containerInstance" + case softLimit = "softLimit" + case name = "name" + case hardLimit = "hardLimit" } } - public struct ListTaskDefinitionsRequest: AWSShape { + public struct UpdateContainerInstancesStateResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "familyPrefix", required: false, type: .string), - AWSShapeMember(label: "status", required: false, type: .enum), - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "maxResults", required: false, type: .integer), - AWSShapeMember(label: "sort", required: false, type: .enum) + AWSShapeMember(label: "containerInstances", required: false, type: .list), + AWSShapeMember(label: "failures", required: false, type: .list) ] - /// 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. - public let familyPrefix: String? - /// 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. - public let status: TaskDefinitionStatus? - /// 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. - public let nextToken: String? - /// 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. - public let maxResults: Int32? - /// 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. - public let sort: SortOrder? + /// The list of container instances. + public let containerInstances: [ContainerInstance]? + /// Any failures associated with the call. + public let failures: [Failure]? - public init(familyPrefix: String? = nil, status: TaskDefinitionStatus? = nil, nextToken: String? = nil, maxResults: Int32? = nil, sort: SortOrder? = nil) { - self.familyPrefix = familyPrefix - self.status = status - self.nextToken = nextToken - self.maxResults = maxResults - self.sort = sort + public init(containerInstances: [ContainerInstance]? = nil, failures: [Failure]? = nil) { + self.containerInstances = containerInstances + self.failures = failures } private enum CodingKeys: String, CodingKey { - case familyPrefix = "familyPrefix" - case status = "status" - case nextToken = "nextToken" - case maxResults = "maxResults" - case sort = "sort" + case containerInstances = "containerInstances" + case failures = "failures" } } - public struct DeregisterTaskDefinitionResponse: AWSShape { + public struct Cluster: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "taskDefinition", required: false, type: .structure) + AWSShapeMember(label: "pendingTasksCount", required: false, type: .integer), + AWSShapeMember(label: "status", required: false, type: .string), + AWSShapeMember(label: "clusterArn", required: false, type: .string), + AWSShapeMember(label: "clusterName", required: false, type: .string), + AWSShapeMember(label: "registeredContainerInstancesCount", required: false, type: .integer), + AWSShapeMember(label: "statistics", required: false, type: .list), + AWSShapeMember(label: "runningTasksCount", required: false, type: .integer), + AWSShapeMember(label: "activeServicesCount", required: false, type: .integer) ] - /// The full description of the deregistered task. - public let taskDefinition: TaskDefinition? + /// The number of tasks in the cluster that are in the PENDING state. + public let pendingTasksCount: Int32? + /// 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. + public let status: String? + /// 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 .. + public let clusterArn: String? + /// A user-generated string that you use to identify your cluster. + public let clusterName: String? + /// The number of container instances registered into the cluster. + public let registeredContainerInstancesCount: Int32? + /// Additional information about your clusters that are separated by launch type, including: runningEC2TasksCount RunningFargateTasksCount pendingEC2TasksCount pendingFargateTasksCount activeEC2ServiceCount activeFargateServiceCount drainingEC2ServiceCount drainingFargateServiceCount + public let statistics: [KeyValuePair]? + /// The number of tasks in the cluster that are in the RUNNING state. + public let runningTasksCount: Int32? + /// The number of services that are running on the cluster in an ACTIVE state. You can view these services with ListServices. + public let activeServicesCount: Int32? - public init(taskDefinition: TaskDefinition? = nil) { - self.taskDefinition = taskDefinition + public init(pendingTasksCount: Int32? = nil, status: String? = nil, clusterArn: String? = nil, clusterName: String? = nil, registeredContainerInstancesCount: Int32? = nil, statistics: [KeyValuePair]? = nil, runningTasksCount: Int32? = nil, activeServicesCount: Int32? = nil) { + self.pendingTasksCount = pendingTasksCount + self.status = status + self.clusterArn = clusterArn + self.clusterName = clusterName + self.registeredContainerInstancesCount = registeredContainerInstancesCount + self.statistics = statistics + self.runningTasksCount = runningTasksCount + self.activeServicesCount = activeServicesCount } private enum CodingKeys: String, CodingKey { - case taskDefinition = "taskDefinition" + case pendingTasksCount = "pendingTasksCount" + case status = "status" + case clusterArn = "clusterArn" + case clusterName = "clusterName" + case registeredContainerInstancesCount = "registeredContainerInstancesCount" + case statistics = "statistics" + case runningTasksCount = "runningTasksCount" + case activeServicesCount = "activeServicesCount" } } - public struct RegisterContainerInstanceResponse: AWSShape { + public struct PlacementStrategy: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "containerInstance", required: false, type: .structure) + AWSShapeMember(label: "type", required: false, type: .enum), + AWSShapeMember(label: "field", required: false, type: .string) ] - /// The container instance that was registered. - public let containerInstance: ContainerInstance? + /// 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). + public let `type`: PlacementStrategyType? + /// 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. + public let field: String? - public init(containerInstance: ContainerInstance? = nil) { - self.containerInstance = containerInstance + public init(type: PlacementStrategyType? = nil, field: String? = nil) { + self.`type` = `type` + self.field = field } private enum CodingKeys: String, CodingKey { - case containerInstance = "containerInstance" + case `type` = "type" + case field = "field" } } - public struct Attachment: AWSShape { + public enum TaskDefinitionStatus: String, CustomStringConvertible, Codable { + case active = "ACTIVE" + case inactive = "INACTIVE" + public var description: String { return self.rawValue } + } + + public enum LogDriver: String, CustomStringConvertible, Codable { + case jsonFile = "json-file" + case syslog = "syslog" + case journald = "journald" + case gelf = "gelf" + case fluentd = "fluentd" + case awslogs = "awslogs" + case splunk = "splunk" + public var description: String { return self.rawValue } + } + + public struct ServiceEvent: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "details", required: false, type: .list), - AWSShapeMember(label: "status", required: false, type: .string), AWSShapeMember(label: "id", required: false, type: .string), - AWSShapeMember(label: "type", required: false, type: .string) + AWSShapeMember(label: "createdAt", required: false, type: .timestamp), + AWSShapeMember(label: "message", required: false, type: .string) ] - /// 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. - public let details: [KeyValuePair]? - /// The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, ATTACHED, DETACHING, DETACHED, and DELETED. - public let status: String? - /// The unique identifier for the attachment. + /// The ID string of the event. public let id: String? - /// The type of the attachment, such as an ElasticNetworkInterface. - public let `type`: String? + /// The Unix time stamp for when the event was triggered. + public let createdAt: TimeStamp? + /// The event message. + public let message: String? - public init(details: [KeyValuePair]? = nil, status: String? = nil, id: String? = nil, type: String? = nil) { - self.details = details - self.status = status + public init(id: String? = nil, createdAt: TimeStamp? = nil, message: String? = nil) { self.id = id - self.`type` = `type` + self.createdAt = createdAt + self.message = message } private enum CodingKeys: String, CodingKey { - case details = "details" - case status = "status" case id = "id" - case `type` = "type" + case createdAt = "createdAt" + case message = "message" } } - public struct DescribeServicesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "services", required: true, type: .list), - AWSShapeMember(label: "cluster", required: false, type: .string) - ] - /// A list of services to describe. You may specify up to 10 services to describe in a single operation. - public let services: [String] - /// 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. - public let cluster: String? + public enum UlimitName: String, CustomStringConvertible, Codable { + case core = "core" + case cpu = "cpu" + case data = "data" + case fsize = "fsize" + case locks = "locks" + case memlock = "memlock" + case msgqueue = "msgqueue" + case nice = "nice" + case nofile = "nofile" + case nproc = "nproc" + case rss = "rss" + case rtprio = "rtprio" + case rttime = "rttime" + case sigpending = "sigpending" + case stack = "stack" + public var description: String { return self.rawValue } + } + + public struct ServiceRegistry: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "port", required: false, type: .integer), + AWSShapeMember(label: "containerPort", required: false, type: .integer), + AWSShapeMember(label: "containerName", required: false, type: .string), + AWSShapeMember(label: "registryArn", required: false, type: .string) + ] + /// 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. + public let port: Int32? + /// 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. + public let containerPort: Int32? + /// 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. + public let containerName: String? + /// 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. + public let registryArn: String? - public init(services: [String], cluster: String? = nil) { - self.services = services - self.cluster = cluster + public init(port: Int32? = nil, containerPort: Int32? = nil, containerName: String? = nil, registryArn: String? = nil) { + self.port = port + self.containerPort = containerPort + self.containerName = containerName + self.registryArn = registryArn } private enum CodingKeys: String, CodingKey { - case services = "services" - case cluster = "cluster" + case port = "port" + case containerPort = "containerPort" + case containerName = "containerName" + case registryArn = "registryArn" } } - public struct RunTaskRequest: AWSShape { + public struct CreateServiceResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "platformVersion", required: false, type: .string), - AWSShapeMember(label: "overrides", required: false, type: .structure), - AWSShapeMember(label: "placementStrategy", required: false, type: .list), - AWSShapeMember(label: "cluster", required: false, type: .string), - AWSShapeMember(label: "count", required: false, type: .integer), - AWSShapeMember(label: "placementConstraints", required: false, type: .list), - AWSShapeMember(label: "launchType", required: false, type: .enum), - AWSShapeMember(label: "startedBy", required: false, type: .string), - AWSShapeMember(label: "networkConfiguration", required: false, type: .structure), - AWSShapeMember(label: "group", required: false, type: .string), - AWSShapeMember(label: "taskDefinition", required: true, type: .string) + AWSShapeMember(label: "service", required: false, type: .structure) ] - /// The platform version on which to run your task. If one is not specified, the latest version is used by default. - public let platformVersion: String? - /// 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. - public let overrides: TaskOverride? - /// The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task. - public let placementStrategy: [PlacementStrategy]? - /// 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. - public let cluster: String? - /// The number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks per call. - public let count: Int32? - /// 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). - public let placementConstraints: [PlacementConstraint]? - /// The launch type on which to run your task. - public let launchType: LaunchType? - /// 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. - public let startedBy: String? - /// 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. - public let networkConfiguration: NetworkConfiguration? - /// 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). - public let group: String? - /// 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. - public let taskDefinition: String + /// The full description of your service following the create call. + public let service: Service? - public init(platformVersion: String? = nil, overrides: TaskOverride? = nil, placementStrategy: [PlacementStrategy]? = nil, cluster: String? = nil, count: Int32? = nil, placementConstraints: [PlacementConstraint]? = nil, launchType: LaunchType? = nil, startedBy: String? = nil, networkConfiguration: NetworkConfiguration? = nil, group: String? = nil, taskDefinition: String) { - self.platformVersion = platformVersion - self.overrides = overrides - self.placementStrategy = placementStrategy - self.cluster = cluster - self.count = count - self.placementConstraints = placementConstraints - self.launchType = launchType - self.startedBy = startedBy - self.networkConfiguration = networkConfiguration - self.group = group - self.taskDefinition = taskDefinition + public init(service: Service? = nil) { + self.service = service } private enum CodingKeys: String, CodingKey { - case platformVersion = "platformVersion" - case overrides = "overrides" - case placementStrategy = "placementStrategy" - case cluster = "cluster" - case count = "count" - case placementConstraints = "placementConstraints" - case launchType = "launchType" - case startedBy = "startedBy" - case networkConfiguration = "networkConfiguration" - case group = "group" - case taskDefinition = "taskDefinition" + case service = "service" } } - public struct ListAttributesRequest: AWSShape { + public struct DeregisterContainerInstanceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "attributeValue", required: false, type: .string), - AWSShapeMember(label: "targetType", required: true, type: .enum), - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "maxResults", required: false, type: .integer), - AWSShapeMember(label: "attributeName", required: false, type: .string), - AWSShapeMember(label: "cluster", required: false, type: .string) + AWSShapeMember(label: "force", required: false, type: .boolean), + AWSShapeMember(label: "cluster", required: false, type: .string), + AWSShapeMember(label: "containerInstance", required: true, type: .string) ] - /// The value of the attribute with which to filter results. You must also specify an attribute name to use this parameter. - public let attributeValue: String? - /// The type of the target with which to list attributes. - public let targetType: TargetType - /// 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. - public let nextToken: String? - /// 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. - public let maxResults: Int32? - /// The name of the attribute with which to filter the results. - public let attributeName: String? - /// 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. + /// 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. + public let force: Bool? + /// 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. public let cluster: String? + /// 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 . + public let containerInstance: String - public init(attributeValue: String? = nil, targetType: TargetType, nextToken: String? = nil, maxResults: Int32? = nil, attributeName: String? = nil, cluster: String? = nil) { - self.attributeValue = attributeValue - self.targetType = targetType - self.nextToken = nextToken - self.maxResults = maxResults - self.attributeName = attributeName + public init(force: Bool? = nil, cluster: String? = nil, containerInstance: String) { + self.force = force self.cluster = cluster + self.containerInstance = containerInstance } private enum CodingKeys: String, CodingKey { - case attributeValue = "attributeValue" - case targetType = "targetType" - case nextToken = "nextToken" - case maxResults = "maxResults" - case attributeName = "attributeName" + case force = "force" case cluster = "cluster" + case containerInstance = "containerInstance" } } - public struct PlacementConstraint: AWSShape { + public enum AgentUpdateStatus: String, CustomStringConvertible, Codable { + case pending = "PENDING" + case staging = "STAGING" + case staged = "STAGED" + case updating = "UPDATING" + case updated = "UPDATED" + case failed = "FAILED" + public var description: String { return self.rawValue } + } + + public struct ContainerStateChange: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "type", required: false, type: .enum), - AWSShapeMember(label: "expression", required: false, type: .string) + AWSShapeMember(label: "status", required: false, type: .string), + AWSShapeMember(label: "networkBindings", required: false, type: .list), + AWSShapeMember(label: "exitCode", required: false, type: .integer), + AWSShapeMember(label: "reason", required: false, type: .string), + AWSShapeMember(label: "containerName", required: false, type: .string) ] - /// 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. - public let `type`: PlacementConstraintType? - /// A cluster query language expression to apply to the constraint. Note 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. - public let expression: String? + /// The status of the container. + public let status: String? + /// Any network bindings associated with the container. + public let networkBindings: [NetworkBinding]? + /// The exit code for the container, if the state change is a result of the container exiting. + public let exitCode: Int32? + /// The reason for the state change. + public let reason: String? + /// The name of the container. + public let containerName: String? - public init(type: PlacementConstraintType? = nil, expression: String? = nil) { - self.`type` = `type` - self.expression = expression + public init(status: String? = nil, networkBindings: [NetworkBinding]? = nil, exitCode: Int32? = nil, reason: String? = nil, containerName: String? = nil) { + self.status = status + self.networkBindings = networkBindings + self.exitCode = exitCode + self.reason = reason + self.containerName = containerName } private enum CodingKeys: String, CodingKey { - case `type` = "type" - case expression = "expression" + case status = "status" + case networkBindings = "networkBindings" + case exitCode = "exitCode" + case reason = "reason" + case containerName = "containerName" } } - public struct TaskOverride: AWSShape { + public struct DescribeTasksRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "executionRoleArn", required: false, type: .string), - AWSShapeMember(label: "taskRoleArn", required: false, type: .string), - AWSShapeMember(label: "containerOverrides", required: false, type: .list) + AWSShapeMember(label: "cluster", required: false, type: .string), + AWSShapeMember(label: "tasks", required: true, type: .list) ] - /// The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume. - public let executionRoleArn: String? - /// 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. - public let taskRoleArn: String? - /// One or more container overrides sent to a task. - public let containerOverrides: [ContainerOverride]? + /// 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. + public let cluster: String? + /// A list of up to 100 task IDs or full ARN entries. + public let tasks: [String] - public init(executionRoleArn: String? = nil, taskRoleArn: String? = nil, containerOverrides: [ContainerOverride]? = nil) { - self.executionRoleArn = executionRoleArn - self.taskRoleArn = taskRoleArn - self.containerOverrides = containerOverrides + public init(cluster: String? = nil, tasks: [String]) { + self.cluster = cluster + self.tasks = tasks } private enum CodingKeys: String, CodingKey { - case executionRoleArn = "executionRoleArn" - case taskRoleArn = "taskRoleArn" - case containerOverrides = "containerOverrides" + case cluster = "cluster" + case tasks = "tasks" } } - public struct ListTasksResponse: AWSShape { + public struct DeleteClusterResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "taskArns", required: false, type: .list) + AWSShapeMember(label: "cluster", required: false, type: .structure) ] - /// 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. - public let nextToken: String? - /// The list of task ARN entries for the ListTasks request. - public let taskArns: [String]? + /// The full description of the deleted cluster. + public let cluster: Cluster? - public init(nextToken: String? = nil, taskArns: [String]? = nil) { - self.nextToken = nextToken - self.taskArns = taskArns + public init(cluster: Cluster? = nil) { + self.cluster = cluster } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case taskArns = "taskArns" + case cluster = "cluster" } } - public struct ListAttributesResponse: AWSShape { + public enum LaunchType: String, CustomStringConvertible, Codable { + case ec2 = "EC2" + case fargate = "FARGATE" + public var description: String { return self.rawValue } + } + + public struct DeregisterContainerInstanceResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "attributes", required: false, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) + AWSShapeMember(label: "containerInstance", required: false, type: .structure) ] - /// A list of attribute objects that meet the criteria of the request. - public let attributes: [Attribute]? - /// 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. - public let nextToken: String? + /// The container instance that was deregistered. + public let containerInstance: ContainerInstance? - public init(attributes: [Attribute]? = nil, nextToken: String? = nil) { - self.attributes = attributes - self.nextToken = nextToken + public init(containerInstance: ContainerInstance? = nil) { + self.containerInstance = containerInstance } private enum CodingKeys: String, CodingKey { - case attributes = "attributes" - case nextToken = "nextToken" + case containerInstance = "containerInstance" } } - public struct ListServicesRequest: AWSShape { + public struct DeregisterTaskDefinitionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "maxResults", required: false, type: .integer), - AWSShapeMember(label: "launchType", required: false, type: .enum), - AWSShapeMember(label: "cluster", required: false, type: .string) + AWSShapeMember(label: "taskDefinition", required: false, type: .structure) ] - /// 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. - public let nextToken: String? - /// 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. - public let maxResults: Int32? - /// The launch type for services you want to list. - public let launchType: LaunchType? - /// 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. - public let cluster: String? + /// The full description of the deregistered task. + public let taskDefinition: TaskDefinition? - public init(nextToken: String? = nil, maxResults: Int32? = nil, launchType: LaunchType? = nil, cluster: String? = nil) { - self.nextToken = nextToken - self.maxResults = maxResults - self.launchType = launchType - self.cluster = cluster + public init(taskDefinition: TaskDefinition? = nil) { + self.taskDefinition = taskDefinition } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case maxResults = "maxResults" - case launchType = "launchType" - case cluster = "cluster" + case taskDefinition = "taskDefinition" } } - public struct PutAttributesResponse: AWSShape { + public struct RegisterContainerInstanceResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "attributes", required: false, type: .list) + AWSShapeMember(label: "containerInstance", required: false, type: .structure) ] - /// The attributes applied to your resource. - public let attributes: [Attribute]? + /// The container instance that was registered. + public let containerInstance: ContainerInstance? - public init(attributes: [Attribute]? = nil) { - self.attributes = attributes + public init(containerInstance: ContainerInstance? = nil) { + self.containerInstance = containerInstance } private enum CodingKeys: String, CodingKey { - case attributes = "attributes" + case containerInstance = "containerInstance" } } - public struct Device: AWSShape { + public struct Attachment: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "permissions", required: false, type: .list), - AWSShapeMember(label: "containerPath", required: false, type: .string), - AWSShapeMember(label: "hostPath", required: true, type: .string) + AWSShapeMember(label: "details", required: false, type: .list), + AWSShapeMember(label: "status", required: false, type: .string), + AWSShapeMember(label: "id", required: false, type: .string), + AWSShapeMember(label: "type", required: false, type: .string) ] - /// 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. - public let permissions: [DeviceCgroupPermission]? - /// The path inside the container at which to expose the host device. - public let containerPath: String? - /// The path for the device on the host container instance. - public let hostPath: String + /// 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. + public let details: [KeyValuePair]? + /// The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, ATTACHED, DETACHING, DETACHED, and DELETED. + public let status: String? + /// The unique identifier for the attachment. + public let id: String? + /// The type of the attachment, such as ElasticNetworkInterface. + public let `type`: String? - public init(permissions: [DeviceCgroupPermission]? = nil, containerPath: String? = nil, hostPath: String) { - self.permissions = permissions - self.containerPath = containerPath - self.hostPath = hostPath + public init(details: [KeyValuePair]? = nil, status: String? = nil, id: String? = nil, type: String? = nil) { + self.details = details + self.status = status + self.id = id + self.`type` = `type` } private enum CodingKeys: String, CodingKey { - case permissions = "permissions" - case containerPath = "containerPath" - case hostPath = "hostPath" + case details = "details" + case status = "status" + case id = "id" + case `type` = "type" } } - public struct RegisterContainerInstanceRequest: AWSShape { + public struct ListAttributesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "versionInfo", required: false, type: .structure), - AWSShapeMember(label: "attributes", required: false, type: .list), - AWSShapeMember(label: "containerInstanceArn", required: false, type: .string), - AWSShapeMember(label: "cluster", required: false, type: .string), - AWSShapeMember(label: "totalResources", required: false, type: .list), - AWSShapeMember(label: "instanceIdentityDocumentSignature", required: false, type: .string), - AWSShapeMember(label: "instanceIdentityDocument", required: false, type: .string) + AWSShapeMember(label: "attributeValue", required: false, type: .string), + AWSShapeMember(label: "targetType", required: true, type: .enum), + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "attributeName", required: false, type: .string), + AWSShapeMember(label: "cluster", required: false, type: .string) ] - /// The version information for the Amazon ECS container agent and Docker daemon running on the container instance. - public let versionInfo: VersionInfo? - /// The container instance attributes that this container instance supports. - public let attributes: [Attribute]? - /// The ARN of the container instance (if it was previously registered). - public let containerInstanceArn: String? - /// 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. + /// The value of the attribute with which to filter results. You must also specify an attribute name to use this parameter. + public let attributeValue: String? + /// The type of the target with which to list attributes. + public let targetType: TargetType + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + /// The name of the attribute with which to filter the results. + public let attributeName: String? + /// 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. public let cluster: String? - /// The resources available on the instance. - public let totalResources: [Resource]? - /// 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/ - public let instanceIdentityDocumentSignature: String? - /// 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/ - public let instanceIdentityDocument: String? - public init(versionInfo: VersionInfo? = nil, attributes: [Attribute]? = nil, containerInstanceArn: String? = nil, cluster: String? = nil, totalResources: [Resource]? = nil, instanceIdentityDocumentSignature: String? = nil, instanceIdentityDocument: String? = nil) { - self.versionInfo = versionInfo - self.attributes = attributes - self.containerInstanceArn = containerInstanceArn + public init(attributeValue: String? = nil, targetType: TargetType, nextToken: String? = nil, maxResults: Int32? = nil, attributeName: String? = nil, cluster: String? = nil) { + self.attributeValue = attributeValue + self.targetType = targetType + self.nextToken = nextToken + self.maxResults = maxResults + self.attributeName = attributeName self.cluster = cluster - self.totalResources = totalResources - self.instanceIdentityDocumentSignature = instanceIdentityDocumentSignature - self.instanceIdentityDocument = instanceIdentityDocument } private enum CodingKeys: String, CodingKey { - case versionInfo = "versionInfo" - case attributes = "attributes" - case containerInstanceArn = "containerInstanceArn" + case attributeValue = "attributeValue" + case targetType = "targetType" + case nextToken = "nextToken" + case maxResults = "maxResults" + case attributeName = "attributeName" case cluster = "cluster" - case totalResources = "totalResources" - case instanceIdentityDocumentSignature = "instanceIdentityDocumentSignature" - case instanceIdentityDocument = "instanceIdentityDocument" } } - public struct ListClustersResponse: AWSShape { + public struct PlacementConstraint: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "clusterArns", required: false, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) + AWSShapeMember(label: "type", required: false, type: .enum), + AWSShapeMember(label: "expression", required: false, type: .string) ] - /// The list of full Amazon Resource Name (ARN) entries for each cluster associated with your account. - public let clusterArns: [String]? - /// 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. - public let nextToken: String? + /// 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. + public let `type`: PlacementConstraintType? + /// 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. + public let expression: String? - public init(clusterArns: [String]? = nil, nextToken: String? = nil) { - self.clusterArns = clusterArns - self.nextToken = nextToken + public init(type: PlacementConstraintType? = nil, expression: String? = nil) { + self.`type` = `type` + self.expression = expression } private enum CodingKeys: String, CodingKey { - case clusterArns = "clusterArns" - case nextToken = "nextToken" + case `type` = "type" + case expression = "expression" } } - public struct UpdateContainerAgentRequest: AWSShape { + public struct ListTasksResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "cluster", required: false, type: .string), - AWSShapeMember(label: "containerInstance", required: true, type: .string) + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "taskArns", required: false, type: .list) ] - /// 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. - public let cluster: String? - /// The container instance ID or full ARN entries for the container instance on which you would like to update the Amazon ECS container agent. - public let containerInstance: String + /// 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. + public let nextToken: String? + /// The list of task ARN entries for the ListTasks request. + public let taskArns: [String]? - public init(cluster: String? = nil, containerInstance: String) { - self.cluster = cluster - self.containerInstance = containerInstance + public init(nextToken: String? = nil, taskArns: [String]? = nil) { + self.nextToken = nextToken + self.taskArns = taskArns } private enum CodingKeys: String, CodingKey { - case cluster = "cluster" - case containerInstance = "containerInstance" + case nextToken = "nextToken" + case taskArns = "taskArns" } } - public struct Task: AWSShape { + public struct ListAttributesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "clusterArn", required: false, type: .string), - AWSShapeMember(label: "pullStartedAt", required: false, type: .timestamp), - AWSShapeMember(label: "cpu", required: false, type: .string), - AWSShapeMember(label: "startedAt", required: false, type: .timestamp), - AWSShapeMember(label: "desiredStatus", required: false, type: .string), - AWSShapeMember(label: "executionStoppedAt", required: false, type: .timestamp), - AWSShapeMember(label: "memory", required: false, type: .string), - AWSShapeMember(label: "attachments", required: false, type: .list), - AWSShapeMember(label: "containers", required: false, type: .list), - AWSShapeMember(label: "stoppedReason", required: false, type: .string), - AWSShapeMember(label: "containerInstanceArn", required: false, type: .string), - AWSShapeMember(label: "launchType", required: false, type: .enum), - AWSShapeMember(label: "connectivity", required: false, type: .enum), - AWSShapeMember(label: "platformVersion", required: false, type: .string), - AWSShapeMember(label: "overrides", required: false, type: .structure), - AWSShapeMember(label: "createdAt", required: false, type: .timestamp), - AWSShapeMember(label: "connectivityAt", required: false, type: .timestamp), - AWSShapeMember(label: "pullStoppedAt", required: false, type: .timestamp), - AWSShapeMember(label: "taskDefinitionArn", required: false, type: .string), - AWSShapeMember(label: "stoppingAt", required: false, type: .timestamp), - AWSShapeMember(label: "stoppedAt", required: false, type: .timestamp), - AWSShapeMember(label: "version", required: false, type: .long), - AWSShapeMember(label: "startedBy", required: false, type: .string), - AWSShapeMember(label: "taskArn", required: false, type: .string), - AWSShapeMember(label: "lastStatus", required: false, type: .string), - AWSShapeMember(label: "group", required: false, type: .string) + AWSShapeMember(label: "attributes", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) ] - /// The ARN of the cluster that hosts the task. - public let clusterArn: String? - /// The Unix time stamp for when the container image pull began. - public let pullStartedAt: TimeStamp? - /// 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: 512MB, 1GB, 2GB 512 (.5 vCPU) - Available memory values: 1GB, 2GB, 3GB, 4GB 1024 (1 vCPU) - Available memory values: 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB 2048 (2 vCPU) - Available memory values: Between 4GB and 16GB in 1GB increments 4096 (4 vCPU) - Available memory values: Between 8GB and 30GB in 1GB increments - public let cpu: String? - /// The Unix time stamp for when the task started (the task transitioned from the PENDING state to the RUNNING state). - public let startedAt: TimeStamp? - /// The desired status of the task. - public let desiredStatus: String? - /// The Unix timestamp for when the task execution stopped. - public let executionStoppedAt: TimeStamp? - /// 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: 512MB, 1GB, 2GB - Available cpu values: 256 (.25 vCPU) 1GB, 2GB, 3GB, 4GB - Available cpu values: 512 (.5 vCPU) 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB - Available cpu values: 1024 (1 vCPU) Between 4GB and 16GB in 1GB increments - Available cpu values: 2048 (2 vCPU) Between 8GB and 30GB in 1GB increments - Available cpu values: 4096 (4 vCPU) - public let memory: String? - /// The Elastic Network Adapter associated with the task if the task uses the awsvpc network mode. - public let attachments: [Attachment]? - /// The containers associated with the task. - public let containers: [Container]? - /// The reason the task was stopped. - public let stoppedReason: String? - /// The ARN of the container instances that host the task. - public let containerInstanceArn: String? - /// The launch type on which your task is running. - public let launchType: LaunchType? - /// The connectivity status of a task. - public let connectivity: Connectivity? - /// 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. - public let platformVersion: String? - /// One or more container overrides. - public let overrides: TaskOverride? - /// The Unix time stamp for when the task was created (the task entered the PENDING state). - public let createdAt: TimeStamp? - /// The Unix time stamp for when the task last went into CONNECTED status. - public let connectivityAt: TimeStamp? - /// The Unix time stamp for when the container image pull completed. - public let pullStoppedAt: TimeStamp? - /// The ARN of the task definition that creates the task. - public let taskDefinitionArn: String? - /// The Unix time stamp for when the task will stop (the task transitioned from the RUNNING state to the STOPPED state). - public let stoppingAt: TimeStamp? - /// The Unix time stamp for when the task was stopped (the task transitioned from the RUNNING state to the STOPPED state). - public let stoppedAt: TimeStamp? - /// 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. - public let version: Int64? - /// 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. - public let startedBy: String? - /// The Amazon Resource Name (ARN) of the task. - public let taskArn: String? - /// The last known status of the task. - public let lastStatus: String? - /// The name of the task group associated with the task. - public let group: String? + /// A list of attribute objects that meet the criteria of the request. + public let attributes: [Attribute]? + /// 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. + public let nextToken: String? + + public init(attributes: [Attribute]? = nil, nextToken: String? = nil) { + self.attributes = attributes + self.nextToken = nextToken + } - public init(clusterArn: String? = nil, pullStartedAt: TimeStamp? = nil, cpu: String? = nil, startedAt: TimeStamp? = nil, desiredStatus: String? = nil, executionStoppedAt: TimeStamp? = nil, memory: String? = nil, attachments: [Attachment]? = nil, containers: [Container]? = nil, stoppedReason: String? = nil, containerInstanceArn: String? = nil, launchType: LaunchType? = nil, connectivity: Connectivity? = nil, platformVersion: String? = nil, overrides: TaskOverride? = nil, createdAt: TimeStamp? = nil, connectivityAt: TimeStamp? = nil, pullStoppedAt: TimeStamp? = nil, taskDefinitionArn: String? = nil, stoppingAt: TimeStamp? = nil, stoppedAt: TimeStamp? = nil, version: Int64? = nil, startedBy: String? = nil, taskArn: String? = nil, lastStatus: String? = nil, group: String? = nil) { - self.clusterArn = clusterArn - self.pullStartedAt = pullStartedAt - self.cpu = cpu - self.startedAt = startedAt - self.desiredStatus = desiredStatus - self.executionStoppedAt = executionStoppedAt - self.memory = memory - self.attachments = attachments - self.containers = containers - self.stoppedReason = stoppedReason - self.containerInstanceArn = containerInstanceArn + private enum CodingKeys: String, CodingKey { + case attributes = "attributes" + case nextToken = "nextToken" + } + } + + public struct ListServicesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "schedulingStrategy", required: false, type: .enum), + AWSShapeMember(label: "cluster", required: false, type: .string), + AWSShapeMember(label: "launchType", required: false, type: .enum) + ] + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + /// The scheduling strategy for services to list. + public let schedulingStrategy: SchedulingStrategy? + /// 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. + public let cluster: String? + /// The launch type for the services to list. + public let launchType: LaunchType? + + public init(nextToken: String? = nil, maxResults: Int32? = nil, schedulingStrategy: SchedulingStrategy? = nil, cluster: String? = nil, launchType: LaunchType? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + self.schedulingStrategy = schedulingStrategy + self.cluster = cluster self.launchType = launchType - self.connectivity = connectivity - self.platformVersion = platformVersion - self.overrides = overrides - self.createdAt = createdAt - self.connectivityAt = connectivityAt - self.pullStoppedAt = pullStoppedAt - self.taskDefinitionArn = taskDefinitionArn - self.stoppingAt = stoppingAt - self.stoppedAt = stoppedAt - self.version = version - self.startedBy = startedBy - self.taskArn = taskArn - self.lastStatus = lastStatus - self.group = group } private enum CodingKeys: String, CodingKey { - case clusterArn = "clusterArn" - case pullStartedAt = "pullStartedAt" - case cpu = "cpu" - case startedAt = "startedAt" - case desiredStatus = "desiredStatus" - case executionStoppedAt = "executionStoppedAt" - case memory = "memory" - case attachments = "attachments" - case containers = "containers" - case stoppedReason = "stoppedReason" - case containerInstanceArn = "containerInstanceArn" + case nextToken = "nextToken" + case maxResults = "maxResults" + case schedulingStrategy = "schedulingStrategy" + case cluster = "cluster" case launchType = "launchType" - case connectivity = "connectivity" - case platformVersion = "platformVersion" - case overrides = "overrides" - case createdAt = "createdAt" - case connectivityAt = "connectivityAt" - case pullStoppedAt = "pullStoppedAt" - case taskDefinitionArn = "taskDefinitionArn" - case stoppingAt = "stoppingAt" - case stoppedAt = "stoppedAt" - case version = "version" - case startedBy = "startedBy" - case taskArn = "taskArn" - case lastStatus = "lastStatus" - case group = "group" + } + } + + public struct Device: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "permissions", required: false, type: .list), + AWSShapeMember(label: "containerPath", required: false, type: .string), + AWSShapeMember(label: "hostPath", required: true, type: .string) + ] + /// 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. + public let permissions: [DeviceCgroupPermission]? + /// The path inside the container at which to expose the host device. + public let containerPath: String? + /// The path for the device on the host container instance. + public let hostPath: String + + public init(permissions: [DeviceCgroupPermission]? = nil, containerPath: String? = nil, hostPath: String) { + self.permissions = permissions + self.containerPath = containerPath + self.hostPath = hostPath + } + + private enum CodingKeys: String, CodingKey { + case permissions = "permissions" + case containerPath = "containerPath" + case hostPath = "hostPath" + } + } + + public struct UpdateContainerAgentRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "cluster", required: false, type: .string), + AWSShapeMember(label: "containerInstance", required: true, type: .string) + ] + /// 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. + public let cluster: String? + /// The container instance ID or full ARN entries for the container instance on which you would like to update the Amazon ECS container agent. + public let containerInstance: String + + public init(cluster: String? = nil, containerInstance: String) { + self.cluster = cluster + self.containerInstance = containerInstance + } + + private enum CodingKeys: String, CodingKey { + case cluster = "cluster" + case containerInstance = "containerInstance" } } @@ -3037,7 +3362,7 @@ extension Ecs { AWSShapeMember(label: "include", required: false, type: .list), AWSShapeMember(label: "clusters", required: false, type: .list) ] - /// Additional information about your clusters to be separated by launch type, including: runningEC2TasksCount RunningFargateTasksCount pendingEC2TasksCount pendingFargateTasksCount activeEC2ServiceCount activeFargateServiceCount drainingEC2ServiceCount drainingFargateServiceCount + /// Additional information about your clusters to be separated by launch type, including: runningEC2TasksCount runningFargateTasksCount pendingEC2TasksCount pendingFargateTasksCount activeEC2ServiceCount activeFargateServiceCount drainingEC2ServiceCount drainingFargateServiceCount public let include: [ClusterField]? /// 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. public let clusters: [String]? @@ -3053,27 +3378,6 @@ extension Ecs { } } - public struct RunTaskResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "failures", required: false, type: .list), - AWSShapeMember(label: "tasks", required: false, type: .list) - ] - /// Any failures associated with the call. - public let failures: [Failure]? - /// A full description of the tasks that were run. The tasks that were successfully placed on your cluster are described here. - public let tasks: [Task]? - - public init(failures: [Failure]? = nil, tasks: [Task]? = nil) { - self.failures = failures - self.tasks = tasks - } - - private enum CodingKeys: String, CodingKey { - case failures = "failures" - case tasks = "tasks" - } - } - public struct ListServicesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "serviceArns", required: false, type: .list), @@ -3116,89 +3420,12 @@ extension Ecs { } } - public struct SubmitContainerStateChangeRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "status", required: false, type: .string), - AWSShapeMember(label: "reason", required: false, type: .string), - AWSShapeMember(label: "networkBindings", required: false, type: .list), - AWSShapeMember(label: "cluster", required: false, type: .string), - AWSShapeMember(label: "exitCode", required: false, type: .integer), - AWSShapeMember(label: "task", required: false, type: .string), - AWSShapeMember(label: "containerName", required: false, type: .string) - ] - /// The status of the state change request. - public let status: String? - /// The reason for the state change request. - public let reason: String? - /// The network bindings of the container. - public let networkBindings: [NetworkBinding]? - /// The short name or full ARN of the cluster that hosts the container. - public let cluster: String? - /// The exit code returned for the state change request. - public let exitCode: Int32? - /// The task ID or full Amazon Resource Name (ARN) of the task that hosts the container. - public let task: String? - /// The name of the container. - public let containerName: String? - - public init(status: String? = nil, reason: String? = nil, networkBindings: [NetworkBinding]? = nil, cluster: String? = nil, exitCode: Int32? = nil, task: String? = nil, containerName: String? = nil) { - self.status = status - self.reason = reason - self.networkBindings = networkBindings - self.cluster = cluster - self.exitCode = exitCode - self.task = task - self.containerName = containerName - } - - private enum CodingKeys: String, CodingKey { - case status = "status" - case reason = "reason" - case networkBindings = "networkBindings" - case cluster = "cluster" - case exitCode = "exitCode" - case task = "task" - case containerName = "containerName" - } - } - - public struct ListTaskDefinitionFamiliesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "familyPrefix", required: false, type: .string), - AWSShapeMember(label: "status", required: false, type: .enum), - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "maxResults", required: false, type: .integer) - ] - /// 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. - public let familyPrefix: String? - /// 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. - public let status: TaskDefinitionFamilyStatus? - /// 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. - public let nextToken: String? - /// 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. - public let maxResults: Int32? - - public init(familyPrefix: String? = nil, status: TaskDefinitionFamilyStatus? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.familyPrefix = familyPrefix - self.status = status - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case familyPrefix = "familyPrefix" - case status = "status" - case nextToken = "nextToken" - case maxResults = "maxResults" - } - } - public struct DescribeContainerInstancesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "containerInstances", required: true, type: .list), AWSShapeMember(label: "cluster", required: false, type: .string) ] - /// A list of container instance IDs or full ARN entries. + /// A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries. public let containerInstances: [String] /// 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. public let cluster: String? @@ -3235,35 +3462,4 @@ extension Ecs { } } - public struct NetworkBinding: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "hostPort", required: false, type: .integer), - AWSShapeMember(label: "protocol", required: false, type: .enum), - AWSShapeMember(label: "containerPort", required: false, type: .integer), - AWSShapeMember(label: "bindIP", required: false, type: .string) - ] - /// The port number on the host that is used with the network binding. - public let hostPort: Int32? - /// The protocol used for the network binding. - public let `protocol`: TransportProtocol? - /// The port number on the container that is used with the network binding. - public let containerPort: Int32? - /// The IP address that the container is bound to on the container instance. - public let bindIP: String? - - public init(hostPort: Int32? = nil, protocol: TransportProtocol? = nil, containerPort: Int32? = nil, bindIP: String? = nil) { - self.hostPort = hostPort - self.`protocol` = `protocol` - self.containerPort = containerPort - self.bindIP = bindIP - } - - private enum CodingKeys: String, CodingKey { - case hostPort = "hostPort" - case `protocol` = "protocol" - case containerPort = "containerPort" - case bindIP = "bindIP" - } - } - } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/eks/Eks_API.swift b/Sources/AWSSDKSwift/Services/eks/Eks_API.swift new file mode 100644 index 00000000000..b53840a898b --- /dev/null +++ b/Sources/AWSSDKSwift/Services/eks/Eks_API.swift @@ -0,0 +1,48 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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 three Kubernetes control plane instances across three Availability Zones to ensure high availability. Amazon EKS automatically detects and replaces unhealthy control plane instances, and it provides automated version upgrades and patching for them. Amazon EKS is also integrated with many AWS services to provide scalability and security for your applications, including the following: Elastic Load Balancing for load distribution IAM for authentication Amazon VPC for isolation 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. +*/ +public struct Eks { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + service: "eks", + serviceProtocol: ServiceProtocol(type: .restjson, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2017-11-01", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [EksError.self] + ) + } + + /// Lists the Amazon EKS clusters in your AWS account in the specified region. + public func listClusters(_ input: ListClustersRequest) throws -> ListClustersResponse { + return try client.send(operation: "ListClusters", path: "/clusters", httpMethod: "GET", input: input) + } + + /// 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. + public func createCluster(_ input: CreateClusterRequest) throws -> CreateClusterResponse { + return try client.send(operation: "CreateCluster", path: "/clusters", httpMethod: "POST", input: input) + } + + /// 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. + public func deleteCluster(_ input: DeleteClusterRequest) throws -> DeleteClusterResponse { + return try client.send(operation: "DeleteCluster", path: "/clusters/{name}", httpMethod: "DELETE", input: input) + } + + /// 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. + public func describeCluster(_ input: DescribeClusterRequest) throws -> DescribeClusterResponse { + return try client.send(operation: "DescribeCluster", path: "/clusters/{name}", httpMethod: "GET", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/eks/Eks_Error.swift b/Sources/AWSSDKSwift/Services/eks/Eks_Error.swift new file mode 100644 index 00000000000..8f94eb03437 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/eks/Eks_Error.swift @@ -0,0 +1,44 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Eks +public enum EksError: AWSErrorType { + case invalidParameterException(message: String?) + case clientException(message: String?) + case serverException(message: String?) + case serviceUnavailableException(message: String?) + case resourceInUseException(message: String?) + case resourceLimitExceededException(message: String?) + case unsupportedAvailabilityZoneException(message: String?) + case resourceNotFoundException(message: String?) +} + +extension EksError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "InvalidParameterException": + self = .invalidParameterException(message: message) + case "ClientException": + self = .clientException(message: message) + case "ServerException": + self = .serverException(message: message) + case "ServiceUnavailableException": + self = .serviceUnavailableException(message: message) + case "ResourceInUseException": + self = .resourceInUseException(message: message) + case "ResourceLimitExceededException": + self = .resourceLimitExceededException(message: message) + case "UnsupportedAvailabilityZoneException": + self = .unsupportedAvailabilityZoneException(message: message) + case "ResourceNotFoundException": + self = .resourceNotFoundException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/eks/Eks_Shapes.swift b/Sources/AWSSDKSwift/Services/eks/Eks_Shapes.swift new file mode 100644 index 00000000000..965854ddff1 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/eks/Eks_Shapes.swift @@ -0,0 +1,298 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Eks { + + public struct DeleteClusterResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "cluster", required: false, type: .structure) + ] + /// The full description of the cluster to delete. + public let cluster: Cluster? + + public init(cluster: Cluster? = nil) { + self.cluster = cluster + } + + private enum CodingKeys: String, CodingKey { + case cluster = "cluster" + } + } + + public struct VpcConfigResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "securityGroupIds", required: false, type: .list), + AWSShapeMember(label: "subnetIds", required: false, type: .list), + AWSShapeMember(label: "vpcId", required: false, type: .string) + ] + /// 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. + public let securityGroupIds: [String]? + /// The subnets associated with your cluster. + public let subnetIds: [String]? + /// The VPC associated with your cluster. + public let vpcId: String? + + public init(securityGroupIds: [String]? = nil, subnetIds: [String]? = nil, vpcId: String? = nil) { + self.securityGroupIds = securityGroupIds + self.subnetIds = subnetIds + self.vpcId = vpcId + } + + private enum CodingKeys: String, CodingKey { + case securityGroupIds = "securityGroupIds" + case subnetIds = "subnetIds" + case vpcId = "vpcId" + } + } + + public struct Cluster: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourcesVpcConfig", required: false, type: .structure), + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "roleArn", required: false, type: .string), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "endpoint", required: false, type: .string), + AWSShapeMember(label: "createdAt", required: false, type: .timestamp), + AWSShapeMember(label: "certificateAuthority", required: false, type: .structure), + AWSShapeMember(label: "version", required: false, type: .string), + AWSShapeMember(label: "clientRequestToken", required: false, type: .string), + AWSShapeMember(label: "arn", required: false, type: .string) + ] + /// 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. + public let resourcesVpcConfig: VpcConfigResponse? + /// The current status of the cluster. + public let status: ClusterStatus? + /// 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. + public let roleArn: String? + /// The name of the cluster. + public let name: String? + /// The endpoint for your Kubernetes API server. + public let endpoint: String? + /// The Unix epoch time stamp in seconds for when the cluster was created. + public let createdAt: TimeStamp? + /// The certificate-authority-data for your cluster. + public let certificateAuthority: Certificate? + /// The Kubernetes server version for the cluster. + public let version: String? + /// Unique, case-sensitive identifier you provide to ensure the idempotency of the request. + public let clientRequestToken: String? + /// The Amazon Resource Name (ARN) of the cluster. + public let arn: String? + + public init(resourcesVpcConfig: VpcConfigResponse? = nil, status: ClusterStatus? = nil, roleArn: String? = nil, name: String? = nil, endpoint: String? = nil, createdAt: TimeStamp? = nil, certificateAuthority: Certificate? = nil, version: String? = nil, clientRequestToken: String? = nil, arn: String? = nil) { + self.resourcesVpcConfig = resourcesVpcConfig + self.status = status + self.roleArn = roleArn + self.name = name + self.endpoint = endpoint + self.createdAt = createdAt + self.certificateAuthority = certificateAuthority + self.version = version + self.clientRequestToken = clientRequestToken + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case resourcesVpcConfig = "resourcesVpcConfig" + case status = "status" + case roleArn = "roleArn" + case name = "name" + case endpoint = "endpoint" + case createdAt = "createdAt" + case certificateAuthority = "certificateAuthority" + case version = "version" + case clientRequestToken = "clientRequestToken" + case arn = "arn" + } + } + + public struct DeleteClusterRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string) + ] + /// The name of the cluster to delete. + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + } + } + + public struct Certificate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "data", required: false, type: .string) + ] + /// 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. + public let data: String? + + public init(data: String? = nil) { + self.data = data + } + + private enum CodingKeys: String, CodingKey { + case data = "data" + } + } + + public enum ClusterStatus: String, CustomStringConvertible, Codable { + case creating = "CREATING" + case active = "ACTIVE" + case deleting = "DELETING" + case failed = "FAILED" + public var description: String { return self.rawValue } + } + + public struct VpcConfigRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "securityGroupIds", required: false, type: .list), + AWSShapeMember(label: "subnetIds", required: true, type: .list) + ] + /// 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. + public let securityGroupIds: [String]? + /// 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. + public let subnetIds: [String] + + public init(securityGroupIds: [String]? = nil, subnetIds: [String]) { + self.securityGroupIds = securityGroupIds + self.subnetIds = subnetIds + } + + private enum CodingKeys: String, CodingKey { + case securityGroupIds = "securityGroupIds" + case subnetIds = "subnetIds" + } + } + + public struct DescribeClusterResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "cluster", required: false, type: .structure) + ] + /// The full description of your specified cluster. + public let cluster: Cluster? + + public init(cluster: Cluster? = nil) { + self.cluster = cluster + } + + private enum CodingKeys: String, CodingKey { + case cluster = "cluster" + } + } + + public struct CreateClusterResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "cluster", required: false, type: .structure) + ] + /// The full description of your new cluster. + public let cluster: Cluster? + + public init(cluster: Cluster? = nil) { + self.cluster = cluster + } + + private enum CodingKeys: String, CodingKey { + case cluster = "cluster" + } + } + + public struct ListClustersResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "clusters", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// A list of all of the clusters for your account in the specified region. + public let clusters: [String]? + /// 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. + public let nextToken: String? + + public init(clusters: [String]? = nil, nextToken: String? = nil) { + self.clusters = clusters + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case clusters = "clusters" + case nextToken = "nextToken" + } + } + + public struct CreateClusterRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourcesVpcConfig", required: true, type: .structure), + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "roleArn", required: true, type: .string), + AWSShapeMember(label: "clientRequestToken", required: false, type: .string), + AWSShapeMember(label: "version", required: false, type: .string) + ] + /// 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. + public let resourcesVpcConfig: VpcConfigRequest + /// The unique name to give to your cluster. + public let name: String + /// 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 + public let roleArn: String + /// Unique, case-sensitive identifier you provide to ensure the idempotency of the request. + public let clientRequestToken: String? + /// The desired Kubernetes version for your cluster. If you do not specify a value here, the latest version available in Amazon EKS is used. + public let version: String? + + public init(resourcesVpcConfig: VpcConfigRequest, name: String, roleArn: String, clientRequestToken: String? = nil, version: String? = nil) { + self.resourcesVpcConfig = resourcesVpcConfig + self.name = name + self.roleArn = roleArn + self.clientRequestToken = clientRequestToken + self.version = version + } + + private enum CodingKeys: String, CodingKey { + case resourcesVpcConfig = "resourcesVpcConfig" + case name = "name" + case roleArn = "roleArn" + case clientRequestToken = "clientRequestToken" + case version = "version" + } + } + + public struct DescribeClusterRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string) + ] + /// The name of the cluster to describe. + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + } + } + + public struct ListClustersRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string) + ] + /// 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. + public let maxResults: Int32? + /// 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. + public let nextToken: String? + + public init(maxResults: Int32? = nil, nextToken: String? = nil) { + self.maxResults = maxResults + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case maxResults = "maxResults" + case nextToken = "nextToken" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/elasticache/Elasticache_API.swift b/Sources/AWSSDKSwift/Services/elasticache/Elasticache_API.swift index 7d624c829ab..d512e6e2078 100644 --- a/Sources/AWSSDKSwift/Services/elasticache/Elasticache_API.swift +++ b/Sources/AWSSDKSwift/Services/elasticache/Elasticache_API.swift @@ -19,6 +19,7 @@ public struct Elasticache { serviceProtocol: ServiceProtocol(type: .query), apiVersion: "2015-02-02", endpoint: endpoint, + serviceEndpoints: ["fips": "elasticache-fips.us-west-1.amazonaws.com"], middlewares: [], possibleErrorTypes: [ElasticacheError.self] ) diff --git a/Sources/AWSSDKSwift/Services/elasticache/Elasticache_Shapes.swift b/Sources/AWSSDKSwift/Services/elasticache/Elasticache_Shapes.swift index 95f3682d6be..5b648c3b777 100644 --- a/Sources/AWSSDKSwift/Services/elasticache/Elasticache_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/elasticache/Elasticache_Shapes.swift @@ -1338,30 +1338,30 @@ extension Elasticache { public struct Event: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SourceIdentifier", required: false, type: .string), AWSShapeMember(label: "Message", required: false, type: .string), + AWSShapeMember(label: "SourceIdentifier", required: false, type: .string), AWSShapeMember(label: "SourceType", required: false, type: .enum), AWSShapeMember(label: "Date", required: false, type: .timestamp) ] - /// 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. - public let sourceIdentifier: String? /// The text of the event. public let message: String? + /// 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. + public let sourceIdentifier: String? /// Specifies the origin of this event - a cluster, a parameter group, a security group, etc. public let sourceType: SourceType? /// The date and time when the event occurred. public let date: TimeStamp? - public init(sourceIdentifier: String? = nil, message: String? = nil, sourceType: SourceType? = nil, date: TimeStamp? = nil) { - self.sourceIdentifier = sourceIdentifier + public init(message: String? = nil, sourceIdentifier: String? = nil, sourceType: SourceType? = nil, date: TimeStamp? = nil) { self.message = message + self.sourceIdentifier = sourceIdentifier self.sourceType = sourceType self.date = date } private enum CodingKeys: String, CodingKey { - case sourceIdentifier = "SourceIdentifier" case message = "Message" + case sourceIdentifier = "SourceIdentifier" case sourceType = "SourceType" case date = "Date" } @@ -1424,12 +1424,12 @@ extension Elasticache { AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), AWSShapeMember(label: "ConfigurationEndpoint", required: false, type: .structure), AWSShapeMember(label: "SnapshotWindow", required: false, type: .string), - AWSShapeMember(label: "NotificationConfiguration", required: false, type: .structure), AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "ReplicationGroupId", required: false, type: .string), + AWSShapeMember(label: "PreferredAvailabilityZone", required: false, type: .string), AWSShapeMember(label: "AuthTokenEnabled", required: false, type: .boolean), AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), - AWSShapeMember(label: "PreferredAvailabilityZone", required: false, type: .string), - AWSShapeMember(label: "ReplicationGroupId", required: false, type: .string), + AWSShapeMember(label: "NotificationConfiguration", required: false, type: .structure), AWSShapeMember(label: "SnapshotRetentionLimit", required: false, type: .integer), AWSShapeMember(label: "CacheClusterStatus", required: false, type: .string), AWSShapeMember(label: "PendingModifiedValues", required: false, type: .structure), @@ -1442,8 +1442,8 @@ extension Elasticache { AWSShapeMember(label: "ClientDownloadLandingPage", required: false, type: .string), AWSShapeMember(label: "CacheParameterGroup", required: false, type: .structure), AWSShapeMember(label: "CacheSecurityGroups", required: false, type: .structure), - AWSShapeMember(label: "CacheClusterId", required: false, type: .string), AWSShapeMember(label: "AtRestEncryptionEnabled", required: false, type: .boolean), + AWSShapeMember(label: "CacheClusterId", required: false, type: .string), AWSShapeMember(label: "TransitEncryptionEnabled", required: false, type: .boolean) ] /// 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. @@ -1454,18 +1454,18 @@ extension Elasticache { public let configurationEndpoint: Endpoint? /// The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your cluster. Example: 05:00-09:00 public let snapshotWindow: String? - /// Describes a notification topic and its status. Notification topics are used for publishing ElastiCache events to subscribers using Amazon Simple Notification Service (SNS). - public let notificationConfiguration: NotificationConfiguration? /// The version of the cache engine that is used in this cluster. public let engineVersion: String? + /// The replication group to which this cluster belongs. If this field is empty, the cluster is not associated with any replication group. + public let replicationGroupId: String? + /// The name of the Availability Zone in which the cluster is located or "Multiple" if the cache nodes are located in different Availability Zones. + public let preferredAvailabilityZone: String? /// A flag that enables using an AuthToken (password) when issuing Redis commands. Default: false public let authTokenEnabled: Bool? /// 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 public let preferredMaintenanceWindow: String? - /// The name of the Availability Zone in which the cluster is located or "Multiple" if the cache nodes are located in different Availability Zones. - public let preferredAvailabilityZone: String? - /// The replication group to which this cluster belongs. If this field is empty, the cluster is not associated with any replication group. - public let replicationGroupId: String? + /// Describes a notification topic and its status. Notification topics are used for publishing ElastiCache events to subscribers using Amazon Simple Notification Service (SNS). + public let notificationConfiguration: NotificationConfiguration? /// 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. public let snapshotRetentionLimit: Int32? /// 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. @@ -1489,24 +1489,24 @@ extension Elasticache { public let cacheParameterGroup: CacheParameterGroupStatus? /// A list of cache security group elements, composed of name and status sub-elements. public let cacheSecurityGroups: CacheSecurityGroupMembershipList? - /// The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster. - public let cacheClusterId: String? /// 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 public let atRestEncryptionEnabled: Bool? + /// The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster. + public let cacheClusterId: String? /// 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 public let transitEncryptionEnabled: Bool? - public init(numCacheNodes: Int32? = nil, autoMinorVersionUpgrade: Bool? = nil, configurationEndpoint: Endpoint? = nil, snapshotWindow: String? = nil, notificationConfiguration: NotificationConfiguration? = nil, engineVersion: String? = nil, authTokenEnabled: Bool? = nil, preferredMaintenanceWindow: String? = nil, preferredAvailabilityZone: String? = nil, replicationGroupId: String? = nil, snapshotRetentionLimit: Int32? = nil, cacheClusterStatus: String? = nil, pendingModifiedValues: PendingModifiedValues? = nil, cacheClusterCreateTime: TimeStamp? = nil, cacheNodes: CacheNodeList? = nil, securityGroups: [SecurityGroupMembership]? = nil, cacheSubnetGroupName: String? = nil, engine: String? = nil, cacheNodeType: String? = nil, clientDownloadLandingPage: String? = nil, cacheParameterGroup: CacheParameterGroupStatus? = nil, cacheSecurityGroups: CacheSecurityGroupMembershipList? = nil, cacheClusterId: String? = nil, atRestEncryptionEnabled: Bool? = nil, transitEncryptionEnabled: Bool? = nil) { + public init(numCacheNodes: Int32? = nil, autoMinorVersionUpgrade: Bool? = nil, configurationEndpoint: Endpoint? = nil, snapshotWindow: String? = nil, engineVersion: String? = nil, replicationGroupId: String? = nil, preferredAvailabilityZone: String? = nil, authTokenEnabled: Bool? = nil, preferredMaintenanceWindow: String? = nil, notificationConfiguration: NotificationConfiguration? = nil, snapshotRetentionLimit: Int32? = nil, cacheClusterStatus: String? = nil, pendingModifiedValues: PendingModifiedValues? = nil, cacheClusterCreateTime: TimeStamp? = nil, cacheNodes: CacheNodeList? = nil, securityGroups: [SecurityGroupMembership]? = nil, cacheSubnetGroupName: String? = nil, engine: String? = nil, cacheNodeType: String? = nil, clientDownloadLandingPage: String? = nil, cacheParameterGroup: CacheParameterGroupStatus? = nil, cacheSecurityGroups: CacheSecurityGroupMembershipList? = nil, atRestEncryptionEnabled: Bool? = nil, cacheClusterId: String? = nil, transitEncryptionEnabled: Bool? = nil) { self.numCacheNodes = numCacheNodes self.autoMinorVersionUpgrade = autoMinorVersionUpgrade self.configurationEndpoint = configurationEndpoint self.snapshotWindow = snapshotWindow - self.notificationConfiguration = notificationConfiguration self.engineVersion = engineVersion + self.replicationGroupId = replicationGroupId + self.preferredAvailabilityZone = preferredAvailabilityZone self.authTokenEnabled = authTokenEnabled self.preferredMaintenanceWindow = preferredMaintenanceWindow - self.preferredAvailabilityZone = preferredAvailabilityZone - self.replicationGroupId = replicationGroupId + self.notificationConfiguration = notificationConfiguration self.snapshotRetentionLimit = snapshotRetentionLimit self.cacheClusterStatus = cacheClusterStatus self.pendingModifiedValues = pendingModifiedValues @@ -1519,8 +1519,8 @@ extension Elasticache { self.clientDownloadLandingPage = clientDownloadLandingPage self.cacheParameterGroup = cacheParameterGroup self.cacheSecurityGroups = cacheSecurityGroups - self.cacheClusterId = cacheClusterId self.atRestEncryptionEnabled = atRestEncryptionEnabled + self.cacheClusterId = cacheClusterId self.transitEncryptionEnabled = transitEncryptionEnabled } @@ -1529,12 +1529,12 @@ extension Elasticache { case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" case configurationEndpoint = "ConfigurationEndpoint" case snapshotWindow = "SnapshotWindow" - case notificationConfiguration = "NotificationConfiguration" case engineVersion = "EngineVersion" + case replicationGroupId = "ReplicationGroupId" + case preferredAvailabilityZone = "PreferredAvailabilityZone" case authTokenEnabled = "AuthTokenEnabled" case preferredMaintenanceWindow = "PreferredMaintenanceWindow" - case preferredAvailabilityZone = "PreferredAvailabilityZone" - case replicationGroupId = "ReplicationGroupId" + case notificationConfiguration = "NotificationConfiguration" case snapshotRetentionLimit = "SnapshotRetentionLimit" case cacheClusterStatus = "CacheClusterStatus" case pendingModifiedValues = "PendingModifiedValues" @@ -1547,8 +1547,8 @@ extension Elasticache { case clientDownloadLandingPage = "ClientDownloadLandingPage" case cacheParameterGroup = "CacheParameterGroup" case cacheSecurityGroups = "CacheSecurityGroups" - case cacheClusterId = "CacheClusterId" case atRestEncryptionEnabled = "AtRestEncryptionEnabled" + case cacheClusterId = "CacheClusterId" case transitEncryptionEnabled = "TransitEncryptionEnabled" } } @@ -2087,9 +2087,9 @@ extension Elasticache { AWSShapeMember(label: "Marker", required: false, type: .string), AWSShapeMember(label: "CacheNodeType", required: false, type: .string), AWSShapeMember(label: "Duration", required: false, type: .string), - AWSShapeMember(label: "OfferingType", required: false, type: .string), AWSShapeMember(label: "ReservedCacheNodesOfferingId", required: false, type: .string), - AWSShapeMember(label: "ProductDescription", required: false, type: .string) + AWSShapeMember(label: "ProductDescription", required: false, type: .string), + AWSShapeMember(label: "OfferingType", required: false, type: .string) ] /// 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. public let maxRecords: Int32? @@ -2099,21 +2099,21 @@ extension Elasticache { public let cacheNodeType: String? /// 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 public let duration: String? - /// 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" - public let offeringType: String? /// 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 public let reservedCacheNodesOfferingId: String? /// The product description filter value. Use this parameter to show only the available offerings matching the specified product description. public let productDescription: String? + /// 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" + public let offeringType: String? - public init(maxRecords: Int32? = nil, marker: String? = nil, cacheNodeType: String? = nil, duration: String? = nil, offeringType: String? = nil, reservedCacheNodesOfferingId: String? = nil, productDescription: String? = nil) { + public init(maxRecords: Int32? = nil, marker: String? = nil, cacheNodeType: String? = nil, duration: String? = nil, reservedCacheNodesOfferingId: String? = nil, productDescription: String? = nil, offeringType: String? = nil) { self.maxRecords = maxRecords self.marker = marker self.cacheNodeType = cacheNodeType self.duration = duration - self.offeringType = offeringType self.reservedCacheNodesOfferingId = reservedCacheNodesOfferingId self.productDescription = productDescription + self.offeringType = offeringType } private enum CodingKeys: String, CodingKey { @@ -2121,9 +2121,9 @@ extension Elasticache { case marker = "Marker" case cacheNodeType = "CacheNodeType" case duration = "Duration" - case offeringType = "OfferingType" case reservedCacheNodesOfferingId = "ReservedCacheNodesOfferingId" case productDescription = "ProductDescription" + case offeringType = "OfferingType" } } @@ -2609,9 +2609,9 @@ extension Elasticache { AWSShapeMember(label: "CacheNodeType", required: false, type: .string), AWSShapeMember(label: "ReservedCacheNodeId", required: false, type: .string), AWSShapeMember(label: "Duration", required: false, type: .string), - AWSShapeMember(label: "OfferingType", required: false, type: .string), AWSShapeMember(label: "ReservedCacheNodesOfferingId", required: false, type: .string), - AWSShapeMember(label: "ProductDescription", required: false, type: .string) + AWSShapeMember(label: "ProductDescription", required: false, type: .string), + AWSShapeMember(label: "OfferingType", required: false, type: .string) ] /// 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. public let maxRecords: Int32? @@ -2623,22 +2623,22 @@ extension Elasticache { public let reservedCacheNodeId: String? /// 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 public let duration: String? - /// 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" - public let offeringType: String? /// The offering identifier filter value. Use this parameter to show only purchased reservations matching the specified offering identifier. public let reservedCacheNodesOfferingId: String? /// The product description filter value. Use this parameter to show only those reservations matching the specified product description. public let productDescription: String? + /// 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" + public let offeringType: String? - public init(maxRecords: Int32? = nil, marker: String? = nil, cacheNodeType: String? = nil, reservedCacheNodeId: String? = nil, duration: String? = nil, offeringType: String? = nil, reservedCacheNodesOfferingId: String? = nil, productDescription: String? = nil) { + public init(maxRecords: Int32? = nil, marker: String? = nil, cacheNodeType: String? = nil, reservedCacheNodeId: String? = nil, duration: String? = nil, reservedCacheNodesOfferingId: String? = nil, productDescription: String? = nil, offeringType: String? = nil) { self.maxRecords = maxRecords self.marker = marker self.cacheNodeType = cacheNodeType self.reservedCacheNodeId = reservedCacheNodeId self.duration = duration - self.offeringType = offeringType self.reservedCacheNodesOfferingId = reservedCacheNodesOfferingId self.productDescription = productDescription + self.offeringType = offeringType } private enum CodingKeys: String, CodingKey { @@ -2647,9 +2647,9 @@ extension Elasticache { case cacheNodeType = "CacheNodeType" case reservedCacheNodeId = "ReservedCacheNodeId" case duration = "Duration" - case offeringType = "OfferingType" case reservedCacheNodesOfferingId = "ReservedCacheNodesOfferingId" case productDescription = "ProductDescription" + case offeringType = "OfferingType" } } @@ -2763,7 +2763,7 @@ extension Elasticache { public struct CreateReplicationGroupMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AuthToken", required: false, type: .string), + AWSShapeMember(label: "Port", required: false, type: .integer), AWSShapeMember(label: "SnapshotArns", required: false, type: .structure), AWSShapeMember(label: "CacheSecurityGroupNames", required: false, type: .structure), AWSShapeMember(label: "ReplicasPerNodeGroup", required: false, type: .integer), @@ -2789,11 +2789,11 @@ extension Elasticache { AWSShapeMember(label: "Engine", required: false, type: .string), AWSShapeMember(label: "CacheNodeType", required: false, type: .string), AWSShapeMember(label: "AtRestEncryptionEnabled", required: false, type: .boolean), - AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "AuthToken", required: false, type: .string), AWSShapeMember(label: "TransitEncryptionEnabled", required: false, type: .boolean) ] - /// 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. - public let authToken: String? + /// The port number on which each member of the replication group accepts connections. + public let port: Int32? /// 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 public let snapshotArns: SnapshotArnsList? /// A list of cache security group names to associate with this replication group. @@ -2844,13 +2844,13 @@ extension Elasticache { public let cacheNodeType: String? /// 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 public let atRestEncryptionEnabled: Bool? - /// The port number on which each member of the replication group accepts connections. - public let port: Int32? + /// 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. + public let authToken: String? /// 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 public let transitEncryptionEnabled: Bool? - public init(authToken: String? = nil, snapshotArns: SnapshotArnsList? = nil, cacheSecurityGroupNames: CacheSecurityGroupNameList? = nil, replicasPerNodeGroup: Int32? = nil, autoMinorVersionUpgrade: Bool? = nil, nodeGroupConfiguration: NodeGroupConfigurationList? = nil, snapshotWindow: String? = nil, engineVersion: String? = nil, replicationGroupId: String, primaryClusterId: String? = nil, preferredMaintenanceWindow: String? = nil, automaticFailoverEnabled: Bool? = nil, snapshotRetentionLimit: Int32? = nil, preferredCacheClusterAZs: AvailabilityZonesList? = nil, tags: TagList? = nil, numCacheClusters: Int32? = nil, securityGroupIds: SecurityGroupIdsList? = nil, snapshotName: String? = nil, notificationTopicArn: String? = nil, cacheSubnetGroupName: String? = nil, cacheParameterGroupName: String? = nil, numNodeGroups: Int32? = nil, replicationGroupDescription: String, engine: String? = nil, cacheNodeType: String? = nil, atRestEncryptionEnabled: Bool? = nil, port: Int32? = nil, transitEncryptionEnabled: Bool? = nil) { - self.authToken = authToken + public init(port: Int32? = nil, snapshotArns: SnapshotArnsList? = nil, cacheSecurityGroupNames: CacheSecurityGroupNameList? = nil, replicasPerNodeGroup: Int32? = nil, autoMinorVersionUpgrade: Bool? = nil, nodeGroupConfiguration: NodeGroupConfigurationList? = nil, snapshotWindow: String? = nil, engineVersion: String? = nil, replicationGroupId: String, primaryClusterId: String? = nil, preferredMaintenanceWindow: String? = nil, automaticFailoverEnabled: Bool? = nil, snapshotRetentionLimit: Int32? = nil, preferredCacheClusterAZs: AvailabilityZonesList? = nil, tags: TagList? = nil, numCacheClusters: Int32? = nil, securityGroupIds: SecurityGroupIdsList? = nil, snapshotName: String? = nil, notificationTopicArn: String? = nil, cacheSubnetGroupName: String? = nil, cacheParameterGroupName: String? = nil, numNodeGroups: Int32? = nil, replicationGroupDescription: String, engine: String? = nil, cacheNodeType: String? = nil, atRestEncryptionEnabled: Bool? = nil, authToken: String? = nil, transitEncryptionEnabled: Bool? = nil) { + self.port = port self.snapshotArns = snapshotArns self.cacheSecurityGroupNames = cacheSecurityGroupNames self.replicasPerNodeGroup = replicasPerNodeGroup @@ -2876,12 +2876,12 @@ extension Elasticache { self.engine = engine self.cacheNodeType = cacheNodeType self.atRestEncryptionEnabled = atRestEncryptionEnabled - self.port = port + self.authToken = authToken self.transitEncryptionEnabled = transitEncryptionEnabled } private enum CodingKeys: String, CodingKey { - case authToken = "AuthToken" + case port = "Port" case snapshotArns = "SnapshotArns" case cacheSecurityGroupNames = "CacheSecurityGroupNames" case replicasPerNodeGroup = "ReplicasPerNodeGroup" @@ -2907,7 +2907,7 @@ extension Elasticache { case engine = "Engine" case cacheNodeType = "CacheNodeType" case atRestEncryptionEnabled = "AtRestEncryptionEnabled" - case port = "Port" + case authToken = "AuthToken" case transitEncryptionEnabled = "TransitEncryptionEnabled" } } diff --git a/Sources/AWSSDKSwift/Services/elasticbeanstalk/Elasticbeanstalk_API.swift b/Sources/AWSSDKSwift/Services/elasticbeanstalk/Elasticbeanstalk_API.swift index e599cba9b3b..f7eae506f73 100644 --- a/Sources/AWSSDKSwift/Services/elasticbeanstalk/Elasticbeanstalk_API.swift +++ b/Sources/AWSSDKSwift/Services/elasticbeanstalk/Elasticbeanstalk_API.swift @@ -29,7 +29,7 @@ public struct Elasticbeanstalk { return try client.send(operation: "CreateEnvironment", path: "/", httpMethod: "POST", input: input) } - /// Creates the Amazon S3 storage location for the account. This location is used to store user log files. + /// 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. public func createStorageLocation() throws -> CreateStorageLocationResultMessage { return try client.send(operation: "CreateStorageLocation", path: "/", httpMethod: "POST") } @@ -54,7 +54,7 @@ public struct Elasticbeanstalk { return try client.send(operation: "DescribeEnvironmentResources", path: "/", httpMethod: "POST", input: input) } - /// Retrives detailed information about the health of instances in your AWS Elastic Beanstalk. This operation requires enhanced health reporting. + /// Retrieves detailed information about the health of instances in your AWS Elastic Beanstalk. This operation requires enhanced health reporting. public func describeInstancesHealth(_ input: DescribeInstancesHealthRequest) throws -> DescribeInstancesHealthResult { return try client.send(operation: "DescribeInstancesHealth", path: "/", httpMethod: "POST", input: input) } @@ -74,16 +74,21 @@ public struct Elasticbeanstalk { _ = try client.send(operation: "DeleteApplication", path: "/", httpMethod: "POST", input: input) } - /// 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 Elastic Beanstalk environments. + /// 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. public func listTagsForResource(_ input: ListTagsForResourceMessage) throws -> ResourceTagsDescriptionMessage { return try client.send(operation: "ListTagsForResource", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func updateTagsForResource(_ input: UpdateTagsForResourceMessage) throws { _ = try client.send(operation: "UpdateTagsForResource", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describeAccountAttributes() throws -> DescribeAccountAttributesResult { + return try client.send(operation: "DescribeAccountAttributes", path: "/", httpMethod: "POST") + } + /// Returns a list of the available solution stack names, with the public version first and then in reverse chronological order. public func listAvailableSolutionStacks() throws -> ListAvailableSolutionStacksResultMessage { return try client.send(operation: "ListAvailableSolutionStacks", path: "/", httpMethod: "POST") diff --git a/Sources/AWSSDKSwift/Services/elasticbeanstalk/Elasticbeanstalk_Shapes.swift b/Sources/AWSSDKSwift/Services/elasticbeanstalk/Elasticbeanstalk_Shapes.swift index 394bc5cdc49..0cc3f8e2fac 100644 --- a/Sources/AWSSDKSwift/Services/elasticbeanstalk/Elasticbeanstalk_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/elasticbeanstalk/Elasticbeanstalk_Shapes.swift @@ -717,7 +717,7 @@ extension Elasticbeanstalk { public let buildConfiguration: BuildConfiguration? /// Specify a commit in an AWS CodeCommit Git repository to use as the source code for the application version. public let sourceBuildInformation: SourceBuildInformation? - /// Preprocesses and validates the environment manifest and configuration files in the source bundle. Validating configuration files can identify issues prior to deploying the application version to an environment. + /// 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. public let process: Bool? /// The name of the application. If no application is found with this name, and AutoCreateApplication is false, returns an InvalidParameterValue error. public let applicationName: String @@ -1107,6 +1107,7 @@ extension Elasticbeanstalk { AWSShapeMember(label: "ConfigurationTemplates", required: false, type: .list), AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "DateUpdated", required: false, type: .timestamp), + AWSShapeMember(label: "ApplicationArn", required: false, type: .string), AWSShapeMember(label: "ResourceLifecycleConfig", required: false, type: .structure), AWSShapeMember(label: "ApplicationName", required: false, type: .string), AWSShapeMember(label: "DateCreated", required: false, type: .timestamp), @@ -1118,6 +1119,8 @@ extension Elasticbeanstalk { public let description: String? /// The date when the application was last modified. public let dateUpdated: TimeStamp? + /// The Amazon Resource Name (ARN) of the application. + public let applicationArn: String? /// The lifecycle settings for the application. public let resourceLifecycleConfig: ApplicationResourceLifecycleConfig? /// The name of the application. @@ -1127,10 +1130,11 @@ extension Elasticbeanstalk { /// The names of the versions for this application. public let versions: [String]? - public init(configurationTemplates: [String]? = nil, description: String? = nil, dateUpdated: TimeStamp? = nil, resourceLifecycleConfig: ApplicationResourceLifecycleConfig? = nil, applicationName: String? = nil, dateCreated: TimeStamp? = nil, versions: [String]? = nil) { + public init(configurationTemplates: [String]? = nil, description: String? = nil, dateUpdated: TimeStamp? = nil, applicationArn: String? = nil, resourceLifecycleConfig: ApplicationResourceLifecycleConfig? = nil, applicationName: String? = nil, dateCreated: TimeStamp? = nil, versions: [String]? = nil) { self.configurationTemplates = configurationTemplates self.description = description self.dateUpdated = dateUpdated + self.applicationArn = applicationArn self.resourceLifecycleConfig = resourceLifecycleConfig self.applicationName = applicationName self.dateCreated = dateCreated @@ -1141,6 +1145,7 @@ extension Elasticbeanstalk { case configurationTemplates = "ConfigurationTemplates" case description = "Description" case dateUpdated = "DateUpdated" + case applicationArn = "ApplicationArn" case resourceLifecycleConfig = "ResourceLifecycleConfig" case applicationName = "ApplicationName" case dateCreated = "DateCreated" @@ -1314,7 +1319,7 @@ extension Elasticbeanstalk { public let templateName: String /// 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. public let solutionStackName: String? - /// The ARN of the custome platform. + /// The ARN of the custom platform. public let platformArn: String? /// The ID of the environment used with this configuration template. public let environmentId: String? @@ -1472,7 +1477,7 @@ extension Elasticbeanstalk { public let templateName: String? /// The application version deployed in this environment. public let versionLabel: String? - /// The environment's Amazon Resource Name (ARN), which can be used in other API reuqests that require an ARN. + /// The environment's Amazon Resource Name (ARN), which can be used in other API requests that require an ARN. public let environmentArn: String? /// The URL to the CNAME for this environment. public let cname: String? @@ -1643,6 +1648,22 @@ extension Elasticbeanstalk { } } + public struct DescribeAccountAttributesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceQuotas", required: false, type: .structure) + ] + /// The Elastic Beanstalk resource quotas associated with the calling AWS account. + public let resourceQuotas: ResourceQuotas? + + public init(resourceQuotas: ResourceQuotas? = nil) { + self.resourceQuotas = resourceQuotas + } + + private enum CodingKeys: String, CodingKey { + case resourceQuotas = "ResourceQuotas" + } + } + public struct SourceBuildInformation: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SourceLocation", required: true, type: .string), @@ -1799,6 +1820,42 @@ extension Elasticbeanstalk { } } + public struct ResourceQuotas: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CustomPlatformQuota", required: false, type: .structure), + AWSShapeMember(label: "ApplicationQuota", required: false, type: .structure), + AWSShapeMember(label: "ConfigurationTemplateQuota", required: false, type: .structure), + AWSShapeMember(label: "ApplicationVersionQuota", required: false, type: .structure), + AWSShapeMember(label: "EnvironmentQuota", required: false, type: .structure) + ] + /// The quota for custom platforms in the AWS account. + public let customPlatformQuota: ResourceQuota? + /// The quota for applications in the AWS account. + public let applicationQuota: ResourceQuota? + /// The quota for configuration templates in the AWS account. + public let configurationTemplateQuota: ResourceQuota? + /// The quota for application versions in the AWS account. + public let applicationVersionQuota: ResourceQuota? + /// The quota for environments in the AWS account. + public let environmentQuota: ResourceQuota? + + public init(customPlatformQuota: ResourceQuota? = nil, applicationQuota: ResourceQuota? = nil, configurationTemplateQuota: ResourceQuota? = nil, applicationVersionQuota: ResourceQuota? = nil, environmentQuota: ResourceQuota? = nil) { + self.customPlatformQuota = customPlatformQuota + self.applicationQuota = applicationQuota + self.configurationTemplateQuota = configurationTemplateQuota + self.applicationVersionQuota = applicationVersionQuota + self.environmentQuota = environmentQuota + } + + private enum CodingKeys: String, CodingKey { + case customPlatformQuota = "CustomPlatformQuota" + case applicationQuota = "ApplicationQuota" + case configurationTemplateQuota = "ConfigurationTemplateQuota" + case applicationVersionQuota = "ApplicationVersionQuota" + case environmentQuota = "EnvironmentQuota" + } + } + public struct OptionRestrictionRegex: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Pattern", required: false, type: .string), @@ -1858,7 +1915,7 @@ extension Elasticbeanstalk { ] /// The application version lifecycle configuration. public let versionLifecycleConfig: ApplicationVersionLifecycleConfig? - /// The ARN of an IAM service role that Elastic Beanstalk has permission to assume. + /// 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. public let serviceRole: String? public init(versionLifecycleConfig: ApplicationVersionLifecycleConfig? = nil, serviceRole: String? = nil) { @@ -2029,6 +2086,7 @@ extension Elasticbeanstalk { AWSShapeMember(label: "Status", required: false, type: .enum), AWSShapeMember(label: "DateUpdated", required: false, type: .timestamp), AWSShapeMember(label: "VersionLabel", required: false, type: .string), + AWSShapeMember(label: "ApplicationVersionArn", required: false, type: .string), AWSShapeMember(label: "SourceBuildInformation", required: false, type: .structure), AWSShapeMember(label: "ApplicationName", required: false, type: .string), AWSShapeMember(label: "SourceBundle", required: false, type: .structure), @@ -2037,12 +2095,14 @@ extension Elasticbeanstalk { ] /// The description of the application version. public let description: String? - /// The processing status of the application version. + /// 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. public let status: ApplicationVersionStatus? /// The last modified date of the application version. public let dateUpdated: TimeStamp? /// A unique identifier for the application version. public let versionLabel: String? + /// The Amazon Resource Name (ARN) of the application version. + public let applicationVersionArn: String? /// If the version's source code was retrieved from AWS CodeCommit, the location of the source code for the application version. public let sourceBuildInformation: SourceBuildInformation? /// The name of the application to which the application version belongs. @@ -2054,11 +2114,12 @@ extension Elasticbeanstalk { /// The creation date of the application version. public let dateCreated: TimeStamp? - public init(description: String? = nil, status: ApplicationVersionStatus? = nil, dateUpdated: TimeStamp? = nil, versionLabel: String? = nil, sourceBuildInformation: SourceBuildInformation? = nil, applicationName: String? = nil, sourceBundle: S3Location? = nil, buildArn: String? = nil, dateCreated: TimeStamp? = nil) { + public init(description: String? = nil, status: ApplicationVersionStatus? = nil, dateUpdated: TimeStamp? = nil, versionLabel: String? = nil, applicationVersionArn: String? = nil, sourceBuildInformation: SourceBuildInformation? = nil, applicationName: String? = nil, sourceBundle: S3Location? = nil, buildArn: String? = nil, dateCreated: TimeStamp? = nil) { self.description = description self.status = status self.dateUpdated = dateUpdated self.versionLabel = versionLabel + self.applicationVersionArn = applicationVersionArn self.sourceBuildInformation = sourceBuildInformation self.applicationName = applicationName self.sourceBundle = sourceBundle @@ -2071,6 +2132,7 @@ extension Elasticbeanstalk { case status = "Status" case dateUpdated = "DateUpdated" case versionLabel = "VersionLabel" + case applicationVersionArn = "ApplicationVersionArn" case sourceBuildInformation = "SourceBuildInformation" case applicationName = "ApplicationName" case sourceBundle = "SourceBundle" @@ -2280,6 +2342,22 @@ extension Elasticbeanstalk { } } + public struct ResourceQuota: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Maximum", required: false, type: .integer) + ] + /// The maximum number of instances of this Elastic Beanstalk resource type that an AWS account can use. + public let maximum: Int32? + + public init(maximum: Int32? = nil) { + self.maximum = maximum + } + + private enum CodingKeys: String, CodingKey { + case maximum = "Maximum" + } + } + public struct RetrieveEnvironmentInfoMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EnvironmentName", required: false, type: .string), @@ -2563,7 +2641,7 @@ extension Elasticbeanstalk { public let environmentName: String? /// Describes this environment. public let description: String? - /// 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. + /// 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. public let solutionStackName: String? /// The ARN of the platform. public let platformArn: String? @@ -2957,7 +3035,7 @@ extension Elasticbeanstalk { public let `type`: String? /// The name of this environment tier. public let name: String? - /// The version of this environment tier. + /// 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. public let version: String? public init(type: String? = nil, name: String? = nil, version: String? = nil) { @@ -3269,6 +3347,7 @@ extension Elasticbeanstalk { case warning = "Warning" case degraded = "Degraded" case severe = "Severe" + case suspended = "Suspended" public var description: String { return self.rawValue } } diff --git a/Sources/AWSSDKSwift/Services/elasticfilesystem/Elasticfilesystem_API.swift b/Sources/AWSSDKSwift/Services/elasticfilesystem/Elasticfilesystem_API.swift index 8ba73d2d446..e2587a504e7 100644 --- a/Sources/AWSSDKSwift/Services/elasticfilesystem/Elasticfilesystem_API.swift +++ b/Sources/AWSSDKSwift/Services/elasticfilesystem/Elasticfilesystem_API.swift @@ -34,9 +34,9 @@ public struct Elasticfilesystem { _ = try client.send(operation: "CreateTags", path: "/2015-02-01/create-tags/{FileSystemId}", httpMethod: "POST", input: input) } - /// 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. - public func createFileSystem(_ input: CreateFileSystemRequest) throws -> FileSystemDescription { - return try client.send(operation: "CreateFileSystem", path: "/2015-02-01/file-systems", httpMethod: "POST", input: input) + /// 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. + public func modifyMountTargetSecurityGroups(_ input: ModifyMountTargetSecurityGroupsRequest) throws { + _ = try client.send(operation: "ModifyMountTargetSecurityGroups", path: "/2015-02-01/mount-targets/{MountTargetId}/security-groups", httpMethod: "PUT", input: input) } /// 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. @@ -49,9 +49,9 @@ public struct Elasticfilesystem { return try client.send(operation: "CreateMountTarget", path: "/2015-02-01/mount-targets", httpMethod: "POST", input: input) } - /// 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. - public func modifyMountTargetSecurityGroups(_ input: ModifyMountTargetSecurityGroupsRequest) throws { - _ = try client.send(operation: "ModifyMountTargetSecurityGroups", path: "/2015-02-01/mount-targets/{MountTargetId}/security-groups", httpMethod: "PUT", input: input) + /// 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. + public func createFileSystem(_ input: CreateFileSystemRequest) throws -> FileSystemDescription { + return try client.send(operation: "CreateFileSystem", path: "/2015-02-01/file-systems", httpMethod: "POST", input: input) } /// 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. @@ -64,20 +64,25 @@ public struct Elasticfilesystem { _ = try client.send(operation: "DeleteTags", path: "/2015-02-01/delete-tags/{FileSystemId}", httpMethod: "POST", input: input) } - /// 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 - public func deleteMountTarget(_ input: DeleteMountTargetRequest) throws { - _ = try client.send(operation: "DeleteMountTarget", path: "/2015-02-01/mount-targets/{MountTargetId}", httpMethod: "DELETE", input: input) - } - /// 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. public func describeTags(_ input: DescribeTagsRequest) throws -> DescribeTagsResponse { return try client.send(operation: "DescribeTags", path: "/2015-02-01/tags/{FileSystemId}/", httpMethod: "GET", input: input) } + /// Updates the throughput mode or the amount of provisioned throughput of an existing file system. + public func updateFileSystem(_ input: UpdateFileSystemRequest) throws -> FileSystemDescription { + return try client.send(operation: "UpdateFileSystem", path: "/2015-02-01/file-systems/{FileSystemId}", httpMethod: "PUT", input: input) + } + /// 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. public func describeFileSystems(_ input: DescribeFileSystemsRequest) throws -> DescribeFileSystemsResponse { return try client.send(operation: "DescribeFileSystems", path: "/2015-02-01/file-systems", httpMethod: "GET", input: input) } + /// 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 + public func deleteMountTarget(_ input: DeleteMountTargetRequest) throws { + _ = try client.send(operation: "DeleteMountTarget", path: "/2015-02-01/mount-targets/{MountTargetId}", httpMethod: "DELETE", input: input) + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/elasticfilesystem/Elasticfilesystem_Error.swift b/Sources/AWSSDKSwift/Services/elasticfilesystem/Elasticfilesystem_Error.swift index c731fed1648..5bc791cc10d 100644 --- a/Sources/AWSSDKSwift/Services/elasticfilesystem/Elasticfilesystem_Error.swift +++ b/Sources/AWSSDKSwift/Services/elasticfilesystem/Elasticfilesystem_Error.swift @@ -8,19 +8,22 @@ public enum ElasticfilesystemError: AWSErrorType { case internalServerError(message: String?) case fileSystemNotFound(message: String?) case mountTargetNotFound(message: String?) - case fileSystemAlreadyExists(message: String?) - case fileSystemLimitExceeded(message: String?) case incorrectMountTargetState(message: String?) + case securityGroupLimitExceeded(message: String?) + case securityGroupNotFound(message: String?) case incorrectFileSystemLifeCycleState(message: String?) case mountTargetConflict(message: String?) case subnetNotFound(message: String?) case noFreeAddressesInSubnet(message: String?) case ipAddressInUse(message: String?) case networkInterfaceLimitExceeded(message: String?) - case securityGroupLimitExceeded(message: String?) - case securityGroupNotFound(message: String?) case unsupportedAvailabilityZone(message: String?) + case fileSystemAlreadyExists(message: String?) + case fileSystemLimitExceeded(message: String?) + case insufficientThroughputCapacity(message: String?) + case throughputLimitExceeded(message: String?) case fileSystemInUse(message: String?) + case tooManyRequests(message: String?) case dependencyTimeout(message: String?) } @@ -39,12 +42,12 @@ extension ElasticfilesystemError { self = .fileSystemNotFound(message: message) case "MountTargetNotFound": self = .mountTargetNotFound(message: message) - case "FileSystemAlreadyExists": - self = .fileSystemAlreadyExists(message: message) - case "FileSystemLimitExceeded": - self = .fileSystemLimitExceeded(message: message) case "IncorrectMountTargetState": self = .incorrectMountTargetState(message: message) + case "SecurityGroupLimitExceeded": + self = .securityGroupLimitExceeded(message: message) + case "SecurityGroupNotFound": + self = .securityGroupNotFound(message: message) case "IncorrectFileSystemLifeCycleState": self = .incorrectFileSystemLifeCycleState(message: message) case "MountTargetConflict": @@ -57,14 +60,20 @@ extension ElasticfilesystemError { self = .ipAddressInUse(message: message) case "NetworkInterfaceLimitExceeded": self = .networkInterfaceLimitExceeded(message: message) - case "SecurityGroupLimitExceeded": - self = .securityGroupLimitExceeded(message: message) - case "SecurityGroupNotFound": - self = .securityGroupNotFound(message: message) case "UnsupportedAvailabilityZone": self = .unsupportedAvailabilityZone(message: message) + case "FileSystemAlreadyExists": + self = .fileSystemAlreadyExists(message: message) + case "FileSystemLimitExceeded": + self = .fileSystemLimitExceeded(message: message) + case "InsufficientThroughputCapacity": + self = .insufficientThroughputCapacity(message: message) + case "ThroughputLimitExceeded": + self = .throughputLimitExceeded(message: message) case "FileSystemInUse": self = .fileSystemInUse(message: message) + case "TooManyRequests": + self = .tooManyRequests(message: message) case "DependencyTimeout": self = .dependencyTimeout(message: message) default: diff --git a/Sources/AWSSDKSwift/Services/elasticfilesystem/Elasticfilesystem_Shapes.swift b/Sources/AWSSDKSwift/Services/elasticfilesystem/Elasticfilesystem_Shapes.swift index 64dde5ca4ab..634250ccd9b 100644 --- a/Sources/AWSSDKSwift/Services/elasticfilesystem/Elasticfilesystem_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/elasticfilesystem/Elasticfilesystem_Shapes.swift @@ -159,6 +159,7 @@ extension Elasticfilesystem { public enum LifeCycleState: String, CustomStringConvertible, Codable { case creating = "creating" case available = "available" + case updating = "updating" case deleting = "deleting" case deleted = "deleted" public var description: String { return self.rawValue } @@ -211,6 +212,12 @@ extension Elasticfilesystem { } } + public enum ThroughputMode: String, CustomStringConvertible, Codable { + case bursting = "bursting" + case provisioned = "provisioned" + public var description: String { return self.rawValue } + } + public struct ModifyMountTargetSecurityGroupsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MountTargetId", location: .uri(locationName: "MountTargetId"), required: true, type: .string), @@ -313,32 +320,42 @@ extension Elasticfilesystem { public struct CreateFileSystemRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "KmsKeyId", required: false, type: .string), + AWSShapeMember(label: "CreationToken", required: true, type: .string), AWSShapeMember(label: "PerformanceMode", required: false, type: .enum), + AWSShapeMember(label: "ThroughputMode", required: false, type: .enum), + AWSShapeMember(label: "ProvisionedThroughputInMibps", required: false, type: .double), AWSShapeMember(label: "Encrypted", required: false, type: .boolean), - AWSShapeMember(label: "CreationToken", required: true, type: .string) + AWSShapeMember(label: "KmsKeyId", required: false, type: .string) ] - /// The id of the AWS KMS CMK that will be used to protect the encrypted file system. This parameter is only required if you want to use a non-default CMK. If this parameter is not specified, the default CMK for Amazon EFS is used. This id can be in one of the following formats: Key ID - A unique identifier of the key. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. ARN - An Amazon Resource Name 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 Amazon Resource Name for a key alias. For example, arn:aws:kms:us-west-2:444455556666:alias/projectKey1. Note that if the KmsKeyId is specified, the CreateFileSystemRequest$Encrypted parameter must be set to true. - public let kmsKeyId: String? + /// String of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent creation. + public let creationToken: String /// 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. public let performanceMode: PerformanceMode? - /// 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. + /// 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. + public let throughputMode: ThroughputMode? + /// 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. + public let provisionedThroughputInMibps: Double? + /// 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. public let encrypted: Bool? - /// String of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent creation. - public let creationToken: String + /// 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. + public let kmsKeyId: String? - public init(kmsKeyId: String? = nil, performanceMode: PerformanceMode? = nil, encrypted: Bool? = nil, creationToken: String) { - self.kmsKeyId = kmsKeyId + public init(creationToken: String, performanceMode: PerformanceMode? = nil, throughputMode: ThroughputMode? = nil, provisionedThroughputInMibps: Double? = nil, encrypted: Bool? = nil, kmsKeyId: String? = nil) { + self.creationToken = creationToken self.performanceMode = performanceMode + self.throughputMode = throughputMode + self.provisionedThroughputInMibps = provisionedThroughputInMibps self.encrypted = encrypted - self.creationToken = creationToken + self.kmsKeyId = kmsKeyId } private enum CodingKeys: String, CodingKey { - case kmsKeyId = "KmsKeyId" + case creationToken = "CreationToken" case performanceMode = "PerformanceMode" + case throughputMode = "ThroughputMode" + case provisionedThroughputInMibps = "ProvisionedThroughputInMibps" case encrypted = "Encrypted" - case creationToken = "CreationToken" + case kmsKeyId = "KmsKeyId" } } @@ -379,6 +396,32 @@ extension Elasticfilesystem { } } + public struct UpdateFileSystemRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ProvisionedThroughputInMibps", required: false, type: .double), + AWSShapeMember(label: "FileSystemId", location: .uri(locationName: "FileSystemId"), required: true, type: .string), + AWSShapeMember(label: "ThroughputMode", required: false, type: .enum) + ] + /// (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. + public let provisionedThroughputInMibps: Double? + /// The ID of the file system that you want to update. + public let fileSystemId: String + /// (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. + public let throughputMode: ThroughputMode? + + public init(provisionedThroughputInMibps: Double? = nil, fileSystemId: String, throughputMode: ThroughputMode? = nil) { + self.provisionedThroughputInMibps = provisionedThroughputInMibps + self.fileSystemId = fileSystemId + self.throughputMode = throughputMode + } + + private enum CodingKeys: String, CodingKey { + case provisionedThroughputInMibps = "ProvisionedThroughputInMibps" + case fileSystemId = "FileSystemId" + case throughputMode = "ThroughputMode" + } + } + public enum PerformanceMode: String, CustomStringConvertible, Codable { case generalpurpose = "generalPurpose" case maxio = "maxIO" @@ -387,66 +430,76 @@ extension Elasticfilesystem { public struct FileSystemDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ProvisionedThroughputInMibps", required: false, type: .double), AWSShapeMember(label: "Encrypted", required: false, type: .boolean), - AWSShapeMember(label: "CreationToken", required: true, type: .string), - AWSShapeMember(label: "SizeInBytes", required: true, type: .structure), AWSShapeMember(label: "FileSystemId", required: true, type: .string), - AWSShapeMember(label: "LifeCycleState", required: true, type: .enum), AWSShapeMember(label: "CreationTime", required: true, type: .timestamp), + AWSShapeMember(label: "OwnerId", required: true, type: .string), + AWSShapeMember(label: "ThroughputMode", required: false, type: .enum), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "CreationToken", required: true, type: .string), + AWSShapeMember(label: "SizeInBytes", required: true, type: .structure), AWSShapeMember(label: "PerformanceMode", required: true, type: .enum), + AWSShapeMember(label: "LifeCycleState", required: true, type: .enum), AWSShapeMember(label: "NumberOfMountTargets", required: true, type: .integer), - AWSShapeMember(label: "OwnerId", required: true, type: .string), AWSShapeMember(label: "KmsKeyId", required: false, type: .string) ] - /// 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. - public let name: String? - /// A boolean value that, if true, indicates that the file system is encrypted. + /// 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. + public let provisionedThroughputInMibps: Double? + /// A Boolean value that, if true, indicates that the file system is encrypted. public let encrypted: Bool? - /// Opaque string specified in the request. - public let creationToken: String - /// Latest known metered size (in bytes) of data stored in the file system, in bytes, in its Value field, and the time at which that size was determined in its Timestamp field. The Timestamp value is the integer number of seconds since 1970-01-01T00:00:00Z. Note that the value does not represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, the value will represent actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not the exact size the file system was at any instant in time. - public let sizeInBytes: FileSystemSize /// ID of the file system, assigned by Amazon EFS. public let fileSystemId: String - /// Lifecycle phase of the file system. - public let lifeCycleState: LifeCycleState /// Time that the file system was created, in seconds (since 1970-01-01T00:00:00Z). public let creationTime: TimeStamp + /// 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. + public let ownerId: String + /// 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. + public let throughputMode: ThroughputMode? + /// 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. + public let name: String? + /// Opaque string specified in the request. + public let creationToken: String + /// 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. + public let sizeInBytes: FileSystemSize /// The PerformanceMode of the file system. public let performanceMode: PerformanceMode + /// Lifecycle phase of the file system. + public let lifeCycleState: LifeCycleState /// Current number of mount targets that the file system has. For more information, see CreateMountTarget. public let numberOfMountTargets: Int32 - /// 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. - public let ownerId: String - /// The id of an AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the encrypted file system. + /// The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the encrypted file system. public let kmsKeyId: String? - public init(name: String? = nil, encrypted: Bool? = nil, creationToken: String, sizeInBytes: FileSystemSize, fileSystemId: String, lifeCycleState: LifeCycleState, creationTime: TimeStamp, performanceMode: PerformanceMode, numberOfMountTargets: Int32, ownerId: String, kmsKeyId: String? = nil) { - self.name = name + public init(provisionedThroughputInMibps: Double? = nil, encrypted: Bool? = nil, fileSystemId: String, creationTime: TimeStamp, ownerId: String, throughputMode: ThroughputMode? = nil, name: String? = nil, creationToken: String, sizeInBytes: FileSystemSize, performanceMode: PerformanceMode, lifeCycleState: LifeCycleState, numberOfMountTargets: Int32, kmsKeyId: String? = nil) { + self.provisionedThroughputInMibps = provisionedThroughputInMibps self.encrypted = encrypted - self.creationToken = creationToken - self.sizeInBytes = sizeInBytes self.fileSystemId = fileSystemId - self.lifeCycleState = lifeCycleState self.creationTime = creationTime + self.ownerId = ownerId + self.throughputMode = throughputMode + self.name = name + self.creationToken = creationToken + self.sizeInBytes = sizeInBytes self.performanceMode = performanceMode + self.lifeCycleState = lifeCycleState self.numberOfMountTargets = numberOfMountTargets - self.ownerId = ownerId self.kmsKeyId = kmsKeyId } private enum CodingKeys: String, CodingKey { - case name = "Name" + case provisionedThroughputInMibps = "ProvisionedThroughputInMibps" case encrypted = "Encrypted" - case creationToken = "CreationToken" - case sizeInBytes = "SizeInBytes" case fileSystemId = "FileSystemId" - case lifeCycleState = "LifeCycleState" case creationTime = "CreationTime" + case ownerId = "OwnerId" + case throughputMode = "ThroughputMode" + case name = "Name" + case creationToken = "CreationToken" + case sizeInBytes = "SizeInBytes" case performanceMode = "PerformanceMode" + case lifeCycleState = "LifeCycleState" case numberOfMountTargets = "NumberOfMountTargets" - case ownerId = "OwnerId" case kmsKeyId = "KmsKeyId" } } diff --git a/Sources/AWSSDKSwift/Services/elasticloadbalancing/Elasticloadbalancing_API.swift b/Sources/AWSSDKSwift/Services/elasticloadbalancing/Elasticloadbalancing_API.swift index 2a4e5623303..471ecc93d6b 100644 --- a/Sources/AWSSDKSwift/Services/elasticloadbalancing/Elasticloadbalancing_API.swift +++ b/Sources/AWSSDKSwift/Services/elasticloadbalancing/Elasticloadbalancing_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -Elastic Load Balancing A load balancer distributes incoming traffic across your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered instances and ensures that it routes traffic only to healthy instances. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer and a protocol and port number for connections from the load balancer to the instances. Elastic Load Balancing supports two types of load balancers: Classic Load Balancers and Application Load Balancers (new). A Classic Load Balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS), supports path-based routing, and can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC). For more information, see the Elastic Load Balancing User Guide. This reference covers the 2012-06-01 API, which supports Classic Load Balancers. The 2015-12-01 API supports Application Load Balancers. To get started, create a load balancer with one or more listeners using CreateLoadBalancer. Register your instances with the load balancer using RegisterInstancesWithLoadBalancer. All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds with a 200 OK response code. +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. */ public struct Elasticloadbalancing { @@ -109,9 +109,9 @@ public struct Elasticloadbalancing { return try client.send(operation: "DeleteLoadBalancer", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func describeLoadBalancerPolicyTypes(_ input: DescribeLoadBalancerPolicyTypesInput) throws -> DescribeLoadBalancerPolicyTypesOutput { - return try client.send(operation: "DescribeLoadBalancerPolicyTypes", path: "/", httpMethod: "POST", input: input) + /// Sets the certificate that terminates the specified listener's SSL connections. The specified certificate replaces any prior certificate that was used on the same load balancer and port. For more information about updating your SSL certificate, see Replace the SSL Certificate for Your Load Balancer in the Classic Load Balancer Guide. + public func setLoadBalancerListenerSSLCertificate(_ input: SetLoadBalancerListenerSSLCertificateInput) throws -> SetLoadBalancerListenerSSLCertificateOutput { + return try client.send(operation: "SetLoadBalancerListenerSSLCertificate", path: "/", httpMethod: "POST", input: input) } /// Adds one or more subnets to the set of configured subnets for the specified load balancer. The load balancer evenly distributes requests across all registered subnets. For more information, see Add or Remove Subnets for Your Load Balancer in a VPC in the Classic Load Balancer Guide. @@ -119,16 +119,16 @@ public struct Elasticloadbalancing { return try client.send(operation: "AttachLoadBalancerToSubnets", path: "/", httpMethod: "POST", input: input) } - /// Sets the certificate that terminates the specified listener's SSL connections. The specified certificate replaces any prior certificate that was used on the same load balancer and port. For more information about updating your SSL certificate, see Replace the SSL Certificate for Your Load Balancer in the Classic Load Balancer Guide. - public func setLoadBalancerListenerSSLCertificate(_ input: SetLoadBalancerListenerSSLCertificateInput) throws -> SetLoadBalancerListenerSSLCertificateOutput { - return try client.send(operation: "SetLoadBalancerListenerSSLCertificate", path: "/", httpMethod: "POST", input: input) - } - /// Specifies the health check settings to use when evaluating the health state of your EC2 instances. For more information, see Configure Health Checks for Your Load Balancer in the Classic Load Balancer Guide. public func configureHealthCheck(_ input: ConfigureHealthCheckInput) throws -> ConfigureHealthCheckOutput { return try client.send(operation: "ConfigureHealthCheck", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describeLoadBalancerPolicyTypes(_ input: DescribeLoadBalancerPolicyTypesInput) throws -> DescribeLoadBalancerPolicyTypesOutput { + return try client.send(operation: "DescribeLoadBalancerPolicyTypes", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func detachLoadBalancerFromSubnets(_ input: DetachLoadBalancerFromSubnetsInput) throws -> DetachLoadBalancerFromSubnetsOutput { return try client.send(operation: "DetachLoadBalancerFromSubnets", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/elasticloadbalancing/Elasticloadbalancing_Error.swift b/Sources/AWSSDKSwift/Services/elasticloadbalancing/Elasticloadbalancing_Error.swift index 10fbbed7712..603829f243f 100644 --- a/Sources/AWSSDKSwift/Services/elasticloadbalancing/Elasticloadbalancing_Error.swift +++ b/Sources/AWSSDKSwift/Services/elasticloadbalancing/Elasticloadbalancing_Error.swift @@ -21,6 +21,7 @@ public enum ElasticloadbalancingError: AWSErrorType { case tooManyTagsException(message: String?) case duplicateTagKeysException(message: String?) case unsupportedProtocolException(message: String?) + case operationNotPermittedException(message: String?) case duplicatePolicyNameException(message: String?) case tooManyPoliciesException(message: String?) case policyTypeNotFoundException(message: String?) @@ -68,6 +69,8 @@ extension ElasticloadbalancingError { self = .duplicateTagKeysException(message: message) case "UnsupportedProtocolException": self = .unsupportedProtocolException(message: message) + case "OperationNotPermittedException": + self = .operationNotPermittedException(message: message) case "DuplicatePolicyNameException": self = .duplicatePolicyNameException(message: message) case "TooManyPoliciesException": diff --git a/Sources/AWSSDKSwift/Services/elasticloadbalancing/Elasticloadbalancing_Shapes.swift b/Sources/AWSSDKSwift/Services/elasticloadbalancing/Elasticloadbalancing_Shapes.swift index 2c0b6c197d1..036dd0cf418 100644 --- a/Sources/AWSSDKSwift/Services/elasticloadbalancing/Elasticloadbalancing_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/elasticloadbalancing/Elasticloadbalancing_Shapes.swift @@ -1512,8 +1512,8 @@ extension Elasticloadbalancing { AWSShapeMember(label: "BackendServerDescriptions", required: false, type: .list), AWSShapeMember(label: "Subnets", required: false, type: .list), AWSShapeMember(label: "Policies", required: false, type: .structure), - AWSShapeMember(label: "CanonicalHostedZoneNameID", required: false, type: .string), AWSShapeMember(label: "DNSName", required: false, type: .string), + AWSShapeMember(label: "CanonicalHostedZoneNameID", required: false, type: .string), AWSShapeMember(label: "LoadBalancerName", required: false, type: .string), AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), AWSShapeMember(label: "CanonicalHostedZoneName", required: false, type: .string), @@ -1534,10 +1534,10 @@ extension Elasticloadbalancing { public let subnets: [String]? /// The policies defined for the load balancer. public let policies: Policies? - /// The ID of the Amazon Route 53 hosted zone for the load balancer. - public let canonicalHostedZoneNameID: String? /// The DNS name of the load balancer. public let dNSName: String? + /// The ID of the Amazon Route 53 hosted zone for the load balancer. + public let canonicalHostedZoneNameID: String? /// The name of the load balancer. public let loadBalancerName: String? /// The date and time the load balancer was created. @@ -1557,14 +1557,14 @@ extension Elasticloadbalancing { /// 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. public let scheme: String? - public init(availabilityZones: [String]? = nil, vPCId: String? = nil, backendServerDescriptions: [BackendServerDescription]? = nil, subnets: [String]? = nil, policies: Policies? = nil, canonicalHostedZoneNameID: String? = nil, dNSName: String? = nil, loadBalancerName: String? = nil, createdTime: TimeStamp? = nil, canonicalHostedZoneName: String? = nil, securityGroups: [String]? = nil, listenerDescriptions: [ListenerDescription]? = nil, sourceSecurityGroup: SourceSecurityGroup? = nil, healthCheck: HealthCheck? = nil, instances: [Instance]? = nil, scheme: String? = nil) { + public init(availabilityZones: [String]? = nil, vPCId: String? = nil, backendServerDescriptions: [BackendServerDescription]? = nil, subnets: [String]? = nil, policies: Policies? = nil, dNSName: String? = nil, canonicalHostedZoneNameID: String? = nil, loadBalancerName: String? = nil, createdTime: TimeStamp? = nil, canonicalHostedZoneName: String? = nil, securityGroups: [String]? = nil, listenerDescriptions: [ListenerDescription]? = nil, sourceSecurityGroup: SourceSecurityGroup? = nil, healthCheck: HealthCheck? = nil, instances: [Instance]? = nil, scheme: String? = nil) { self.availabilityZones = availabilityZones self.vPCId = vPCId self.backendServerDescriptions = backendServerDescriptions self.subnets = subnets self.policies = policies - self.canonicalHostedZoneNameID = canonicalHostedZoneNameID self.dNSName = dNSName + self.canonicalHostedZoneNameID = canonicalHostedZoneNameID self.loadBalancerName = loadBalancerName self.createdTime = createdTime self.canonicalHostedZoneName = canonicalHostedZoneName @@ -1582,8 +1582,8 @@ extension Elasticloadbalancing { case backendServerDescriptions = "BackendServerDescriptions" case subnets = "Subnets" case policies = "Policies" - case canonicalHostedZoneNameID = "CanonicalHostedZoneNameID" case dNSName = "DNSName" + case canonicalHostedZoneNameID = "CanonicalHostedZoneNameID" case loadBalancerName = "LoadBalancerName" case createdTime = "CreatedTime" case canonicalHostedZoneName = "CanonicalHostedZoneName" diff --git a/Sources/AWSSDKSwift/Services/elasticloadbalancingv2/Elasticloadbalancingv2_API.swift b/Sources/AWSSDKSwift/Services/elasticloadbalancingv2/Elasticloadbalancingv2_API.swift index 92579395afc..641df2d6f74 100644 --- a/Sources/AWSSDKSwift/Services/elasticloadbalancingv2/Elasticloadbalancingv2_API.swift +++ b/Sources/AWSSDKSwift/Services/elasticloadbalancingv2/Elasticloadbalancingv2_API.swift @@ -24,7 +24,7 @@ public struct Elasticloadbalancingv2 { ) } - /// Enables the Availability Zone for the specified subnets for the specified Application Load Balancer. The specified subnets replace the previously enabled subnets. Note that you can't change the subnets for a Network Load Balancer. + /// 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. public func setSubnets(_ input: SetSubnetsInput) throws -> SetSubnetsOutput { return try client.send(operation: "SetSubnets", path: "/", httpMethod: "POST", input: input) } @@ -69,7 +69,7 @@ public struct Elasticloadbalancingv2 { return try client.send(operation: "DeleteTargetGroup", path: "/", httpMethod: "POST", input: input) } - /// Deletes the specified listener. Alternatively, your listener is deleted when you delete the load balancer it is attached to using DeleteLoadBalancer. + /// Deletes the specified listener. Alternatively, your listener is deleted when you delete the load balancer to which it is attached, using DeleteLoadBalancer. public func deleteListener(_ input: DeleteListenerInput) throws -> DeleteListenerOutput { return try client.send(operation: "DeleteListener", path: "/", httpMethod: "POST", input: input) } @@ -84,17 +84,17 @@ public struct Elasticloadbalancingv2 { return try client.send(operation: "DescribeTags", path: "/", httpMethod: "POST", input: input) } - /// Modifies the specified rule. Any existing properties that you do not modify retain their current values. To modify the default action, use ModifyListener. + /// 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. public func modifyRule(_ input: ModifyRuleInput) throws -> ModifyRuleOutput { return try client.send(operation: "ModifyRule", path: "/", httpMethod: "POST", input: input) } - /// Describes the attributes for the specified target group. + /// 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. public func describeTargetGroupAttributes(_ input: DescribeTargetGroupAttributesInput) throws -> DescribeTargetGroupAttributesOutput { return try client.send(operation: "DescribeTargetGroupAttributes", path: "/", httpMethod: "POST", input: input) } - /// 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 condition for a rule is met, the specified action is taken. If no conditions are met, the action for the default rule is taken. For more information, see Listener Rules in the Application Load Balancers Guide. To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule. + /// 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. public func createRule(_ input: CreateRuleInput) throws -> CreateRuleOutput { return try client.send(operation: "CreateRule", path: "/", httpMethod: "POST", input: input) } @@ -104,12 +104,12 @@ public struct Elasticloadbalancingv2 { return try client.send(operation: "RemoveTags", path: "/", httpMethod: "POST", input: input) } - /// Sets the type of IP addresses used by the subnets of the specified Application Load Balancer or Network Load Balancer. Note that Network Load Balancers must use ipv4. + /// 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. public func setIpAddressType(_ input: SetIpAddressTypeInput) throws -> SetIpAddressTypeOutput { return try client.send(operation: "SetIpAddressType", path: "/", httpMethod: "POST", input: input) } - /// Creates an Application Load Balancer or a Network Load Balancer. When you create a load balancer, you can specify security groups, 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. + /// 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. public func createLoadBalancer(_ input: CreateLoadBalancerInput) throws -> CreateLoadBalancerOutput { return try client.send(operation: "CreateLoadBalancer", path: "/", httpMethod: "POST", input: input) } @@ -124,7 +124,7 @@ public struct Elasticloadbalancingv2 { return try client.send(operation: "DescribeAccountLimits", path: "/", httpMethod: "POST", input: input) } - /// Describes the attributes for the specified Application Load Balancer or Network Load Balancer. + /// 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. public func describeLoadBalancerAttributes(_ input: DescribeLoadBalancerAttributesInput) throws -> DescribeLoadBalancerAttributesOutput { return try client.send(operation: "DescribeLoadBalancerAttributes", path: "/", httpMethod: "POST", input: input) } @@ -154,7 +154,7 @@ public struct Elasticloadbalancingv2 { return try client.send(operation: "ModifyTargetGroupAttributes", path: "/", httpMethod: "POST", input: input) } - /// Associates the specified security groups with the specified Application Load Balancer. The specified security groups override the previously associated security groups. Note that you can't specify a security group for a Network Load Balancer. + /// 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. public func setSecurityGroups(_ input: SetSecurityGroupsInput) throws -> SetSecurityGroupsOutput { return try client.send(operation: "SetSecurityGroups", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/elasticloadbalancingv2/Elasticloadbalancingv2_Error.swift b/Sources/AWSSDKSwift/Services/elasticloadbalancingv2/Elasticloadbalancingv2_Error.swift index fe4fe927095..73571c2f4ea 100644 --- a/Sources/AWSSDKSwift/Services/elasticloadbalancingv2/Elasticloadbalancingv2_Error.swift +++ b/Sources/AWSSDKSwift/Services/elasticloadbalancingv2/Elasticloadbalancingv2_Error.swift @@ -24,6 +24,9 @@ public enum Elasticloadbalancingv2Error: AWSErrorType { case incompatibleProtocolsException(message: String?) case tooManyRegistrationsForTargetIdException(message: String?) case tooManyTargetsException(message: String?) + case unsupportedProtocolException(message: String?) + case tooManyActionsException(message: String?) + case invalidLoadBalancerActionException(message: String?) case priorityInUseException(message: String?) case tooManyTargetGroupsException(message: String?) case tooManyRulesException(message: String?) @@ -35,7 +38,6 @@ public enum Elasticloadbalancingv2Error: AWSErrorType { case duplicateTagKeysException(message: String?) case duplicateListenerException(message: String?) case tooManyListenersException(message: String?) - case unsupportedProtocolException(message: String?) case duplicateTargetGroupNameException(message: String?) } @@ -86,6 +88,12 @@ extension Elasticloadbalancingv2Error { self = .tooManyRegistrationsForTargetIdException(message: message) case "TooManyTargetsException": self = .tooManyTargetsException(message: message) + case "UnsupportedProtocolException": + self = .unsupportedProtocolException(message: message) + case "TooManyActionsException": + self = .tooManyActionsException(message: message) + case "InvalidLoadBalancerActionException": + self = .invalidLoadBalancerActionException(message: message) case "PriorityInUseException": self = .priorityInUseException(message: message) case "TooManyTargetGroupsException": @@ -108,8 +116,6 @@ extension Elasticloadbalancingv2Error { self = .duplicateListenerException(message: message) case "TooManyListenersException": self = .tooManyListenersException(message: message) - case "UnsupportedProtocolException": - self = .unsupportedProtocolException(message: message) case "DuplicateTargetGroupNameException": self = .duplicateTargetGroupNameException(message: message) default: diff --git a/Sources/AWSSDKSwift/Services/elasticloadbalancingv2/Elasticloadbalancingv2_Shapes.swift b/Sources/AWSSDKSwift/Services/elasticloadbalancingv2/Elasticloadbalancingv2_Shapes.swift index fbbbe5c35de..fa066a69b0c 100644 --- a/Sources/AWSSDKSwift/Services/elasticloadbalancingv2/Elasticloadbalancingv2_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/elasticloadbalancingv2/Elasticloadbalancingv2_Shapes.swift @@ -21,6 +21,13 @@ extension Elasticloadbalancingv2 { } } + public enum AuthenticateOidcActionConditionalBehaviorEnum: String, CustomStringConvertible, Codable { + case deny = "deny" + case allow = "allow" + case authenticate = "authenticate" + public var description: String { return self.rawValue } + } + public struct ModifyTargetGroupAttributesOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Attributes", required: false, type: .list) @@ -75,22 +82,47 @@ extension Elasticloadbalancingv2 { public struct Action: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RedirectConfig", required: false, type: .structure), + AWSShapeMember(label: "TargetGroupArn", required: false, type: .string), + AWSShapeMember(label: "AuthenticateOidcConfig", required: false, type: .structure), + AWSShapeMember(label: "AuthenticateCognitoConfig", required: false, type: .structure), AWSShapeMember(label: "Type", required: true, type: .enum), - AWSShapeMember(label: "TargetGroupArn", required: true, type: .string) + AWSShapeMember(label: "Order", required: false, type: .integer), + AWSShapeMember(label: "FixedResponseConfig", required: false, type: .structure) ] - /// The type of action. + /// [Application Load Balancer] Information for creating a redirect action. Specify only when Type is redirect. + public let redirectConfig: RedirectActionConfig? + /// The Amazon Resource Name (ARN) of the target group. Specify only when Type is forward. + public let targetGroupArn: String? + /// [HTTPS listener] Information about an identity provider that is compliant with OpenID Connect (OIDC). Specify only when Type is authenticate-oidc. + public let authenticateOidcConfig: AuthenticateOidcActionConfig? + /// [HTTPS listener] Information for using Amazon Cognito to authenticate users. Specify only when Type is authenticate-cognito. + public let authenticateCognitoConfig: AuthenticateCognitoActionConfig? + /// The type of action. Each rule must include exactly one of the following types of actions: forward, fixed-response, or redirect. public let `type`: ActionTypeEnum - /// The Amazon Resource Name (ARN) of the target group. - public let targetGroupArn: String + /// 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. + public let order: Int32? + /// [Application Load Balancer] Information for creating an action that returns a custom HTTP response. Specify only when Type is fixed-response. + public let fixedResponseConfig: FixedResponseActionConfig? - public init(type: ActionTypeEnum, targetGroupArn: String) { - self.`type` = `type` + public init(redirectConfig: RedirectActionConfig? = nil, targetGroupArn: String? = nil, authenticateOidcConfig: AuthenticateOidcActionConfig? = nil, authenticateCognitoConfig: AuthenticateCognitoActionConfig? = nil, type: ActionTypeEnum, order: Int32? = nil, fixedResponseConfig: FixedResponseActionConfig? = nil) { + self.redirectConfig = redirectConfig self.targetGroupArn = targetGroupArn + self.authenticateOidcConfig = authenticateOidcConfig + self.authenticateCognitoConfig = authenticateCognitoConfig + self.`type` = `type` + self.order = order + self.fixedResponseConfig = fixedResponseConfig } private enum CodingKeys: String, CodingKey { - case `type` = "Type" + case redirectConfig = "RedirectConfig" case targetGroupArn = "TargetGroupArn" + case authenticateOidcConfig = "AuthenticateOidcConfig" + case authenticateCognitoConfig = "AuthenticateCognitoConfig" + case `type` = "Type" + case order = "Order" + case fixedResponseConfig = "FixedResponseConfig" } } @@ -190,9 +222,9 @@ extension Elasticloadbalancingv2 { public let `protocol`: ProtocolEnum /// [HTTPS listeners] The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy. public let sslPolicy: String? - /// [HTTPS listeners] The SSL server certificate. You must provide exactly one certificate. + /// [HTTPS listeners] The default SSL server certificate. You must provide exactly one default certificate. To create a certificate list, use AddListenerCertificates. public let certificates: [Certificate]? - /// The default action for the listener. For Application Load Balancers, the protocol of the specified target group must be HTTP or HTTPS. For Network Load Balancers, the protocol of the specified target group must be TCP. + /// 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. public let defaultActions: [Action] /// The Amazon Resource Name (ARN) of the load balancer. public let loadBalancerArn: String @@ -553,7 +585,7 @@ extension Elasticloadbalancingv2 { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Rules", required: false, type: .list) ] - /// Information about the rule. + /// Information about the modified rule. public let rules: [Rule]? public init(rules: [Rule]? = nil) { @@ -661,7 +693,7 @@ extension Elasticloadbalancingv2 { public let dNSName: String? /// The name of the load balancer. public let loadBalancerName: String? - /// 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 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. public let scheme: LoadBalancerSchemeEnum? /// The type of load balancer. public let `type`: LoadBalancerTypeEnum? @@ -699,19 +731,24 @@ extension Elasticloadbalancingv2 { } } - public struct SetSecurityGroupsOutput: AWSShape { + public struct DescribeTargetGroupsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SecurityGroupIds", required: false, type: .list) + AWSShapeMember(label: "TargetGroups", required: false, type: .list), + AWSShapeMember(label: "NextMarker", required: false, type: .string) ] - /// The IDs of the security groups associated with the load balancer. - public let securityGroupIds: [String]? + /// Information about the target groups. + public let targetGroups: [TargetGroup]? + /// The marker to use when requesting the next set of results. If there are no additional results, the string is empty. + public let nextMarker: String? - public init(securityGroupIds: [String]? = nil) { - self.securityGroupIds = securityGroupIds + public init(targetGroups: [TargetGroup]? = nil, nextMarker: String? = nil) { + self.targetGroups = targetGroups + self.nextMarker = nextMarker } private enum CodingKeys: String, CodingKey { - case securityGroupIds = "SecurityGroupIds" + case targetGroups = "TargetGroups" + case nextMarker = "NextMarker" } } @@ -751,24 +788,19 @@ extension Elasticloadbalancingv2 { } } - public struct DescribeTargetGroupsOutput: AWSShape { + public struct SetSecurityGroupsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TargetGroups", required: false, type: .list), - AWSShapeMember(label: "NextMarker", required: false, type: .string) + AWSShapeMember(label: "SecurityGroupIds", required: false, type: .list) ] - /// Information about the target groups. - public let targetGroups: [TargetGroup]? - /// The marker to use when requesting the next set of results. If there are no additional results, the string is empty. - public let nextMarker: String? + /// The IDs of the security groups associated with the load balancer. + public let securityGroupIds: [String]? - public init(targetGroups: [TargetGroup]? = nil, nextMarker: String? = nil) { - self.targetGroups = targetGroups - self.nextMarker = nextMarker + public init(securityGroupIds: [String]? = nil) { + self.securityGroupIds = securityGroupIds } private enum CodingKeys: String, CodingKey { - case targetGroups = "TargetGroups" - case nextMarker = "NextMarker" + case securityGroupIds = "SecurityGroupIds" } } @@ -779,11 +811,11 @@ extension Elasticloadbalancingv2 { AWSShapeMember(label: "Conditions", required: true, type: .list), AWSShapeMember(label: "ListenerArn", required: true, type: .string) ] - /// The priority for the rule. A listener can't have multiple rules with the same priority. + /// The rule priority. A listener can't have multiple rules with the same priority. public let priority: Int32 - /// An action. Each action has the type forward and specifies a target group. + /// 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. public let actions: [Action] - /// 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. Note that you can include up to three wildcard characters. A-Z, a-z, 0-9 - . * (matches 0 or more characters) ? (matches exactly 1 character) If the field name is path-pattern, you can specify a single path pattern. A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters. A-Z, a-z, 0-9 _ - . $ / ~ " ' @ : + & (using &amp;) * (matches 0 or more characters) ? (matches exactly 1 character) + /// 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) public let conditions: [RuleCondition] /// The Amazon Resource Name (ARN) of the listener. public let listenerArn: String @@ -805,18 +837,18 @@ extension Elasticloadbalancingv2 { public struct SetSubnetsInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Subnets", required: true, type: .list), + AWSShapeMember(label: "Subnets", required: false, type: .list), AWSShapeMember(label: "LoadBalancerArn", required: true, type: .string), AWSShapeMember(label: "SubnetMappings", required: false, type: .list) ] - /// The IDs of the 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. - public let subnets: [String] + /// 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. + public let subnets: [String]? /// The Amazon Resource Name (ARN) of the load balancer. public let loadBalancerArn: String - /// The IDs of the 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. + /// 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. public let subnetMappings: [SubnetMapping]? - public init(subnets: [String], loadBalancerArn: String, subnetMappings: [SubnetMapping]? = nil) { + public init(subnets: [String]? = nil, loadBalancerArn: String, subnetMappings: [SubnetMapping]? = nil) { self.subnets = subnets self.loadBalancerArn = loadBalancerArn self.subnetMappings = subnetMappings @@ -861,7 +893,7 @@ extension Elasticloadbalancingv2 { ] /// The value of the attribute. public let value: String? - /// The name of the attribute. deregistration_delay.timeout_seconds - The amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. proxy_protocol_v2.enabled - [Network Load Balancers] Indicates whether Proxy Protocol version 2 is enabled. stickiness.enabled - [Application Load Balancers] Indicates whether sticky sessions are enabled. The value is true or false. stickiness.type - [Application Load Balancers] The type of sticky sessions. The possible value is lb_cookie. stickiness.lb_cookie.duration_seconds - [Application Load Balancers] 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 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. public let key: String? public init(value: String? = nil, key: String? = nil) { @@ -875,6 +907,32 @@ extension Elasticloadbalancingv2 { } } + public struct FixedResponseActionConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StatusCode", required: true, type: .string), + AWSShapeMember(label: "MessageBody", required: false, type: .string), + AWSShapeMember(label: "ContentType", required: false, type: .string) + ] + /// The HTTP response code (2XX, 4XX, or 5XX). + public let statusCode: String + /// The message. + public let messageBody: String? + /// The content type. Valid Values: text/plain | text/css | text/html | application/javascript | application/json + public let contentType: String? + + public init(statusCode: String, messageBody: String? = nil, contentType: String? = nil) { + self.statusCode = statusCode + self.messageBody = messageBody + self.contentType = contentType + } + + private enum CodingKeys: String, CodingKey { + case statusCode = "StatusCode" + case messageBody = "MessageBody" + case contentType = "ContentType" + } + } + public struct DeleteRuleInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RuleArn", required: true, type: .string) @@ -985,9 +1043,9 @@ extension Elasticloadbalancingv2 { AWSShapeMember(label: "Conditions", required: false, type: .list), AWSShapeMember(label: "RuleArn", required: true, type: .string) ] - /// The actions. The target group must use the HTTP or HTTPS protocol. + /// 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. public let actions: [Action]? - /// The conditions. + /// 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) public let conditions: [RuleCondition]? /// The Amazon Resource Name (ARN) of the rule. public let ruleArn: String @@ -1033,6 +1091,10 @@ extension Elasticloadbalancingv2 { public enum ActionTypeEnum: String, CustomStringConvertible, Codable { case forward = "forward" + case authenticateOidc = "authenticate-oidc" + case authenticateCognito = "authenticate-cognito" + case redirect = "redirect" + case fixedResponse = "fixed-response" public var description: String { return self.rawValue } } @@ -1088,11 +1150,27 @@ extension Elasticloadbalancingv2 { } } + public struct SetSubnetsOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AvailabilityZones", required: false, type: .list) + ] + /// Information about the subnet and Availability Zone. + public let availabilityZones: [AvailabilityZone]? + + public init(availabilityZones: [AvailabilityZone]? = nil) { + self.availabilityZones = availabilityZones + } + + private enum CodingKeys: String, CodingKey { + case availabilityZones = "AvailabilityZones" + } + } + public struct ModifyListenerOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Listeners", required: false, type: .list) ] - /// Information about the modified listeners. + /// Information about the modified listener. public let listeners: [Listener]? public init(listeners: [Listener]? = nil) { @@ -1104,20 +1182,59 @@ extension Elasticloadbalancingv2 { } } - public struct SetSubnetsOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AvailabilityZones", required: false, type: .list) - ] - /// Information about the subnet and Availability Zone. - public let availabilityZones: [AvailabilityZone]? - - public init(availabilityZones: [AvailabilityZone]? = nil) { - self.availabilityZones = availabilityZones + public struct AuthenticateCognitoActionConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OnUnauthenticatedRequest", required: false, type: .enum), + AWSShapeMember(label: "SessionTimeout", required: false, type: .long), + AWSShapeMember(label: "UserPoolArn", required: true, type: .string), + AWSShapeMember(label: "SessionCookieName", required: false, type: .string), + AWSShapeMember(label: "AuthenticationRequestExtraParams", required: false, type: .map), + AWSShapeMember(label: "Scope", required: false, type: .string), + AWSShapeMember(label: "UserPoolClientId", required: true, type: .string), + AWSShapeMember(label: "UserPoolDomain", required: true, type: .string) + ] + /// 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. + public let onUnauthenticatedRequest: AuthenticateCognitoActionConditionalBehaviorEnum? + /// The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days). + public let sessionTimeout: Int64? + /// The Amazon Resource Name (ARN) of the Amazon Cognito user pool. + public let userPoolArn: String + /// The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie. + public let sessionCookieName: String? + /// The query parameters (up to 10) to include in the redirect request to the authorization endpoint. + public let authenticationRequestExtraParams: [String: String]? + /// 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. + public let scope: String? + /// The ID of the Amazon Cognito user pool client. + public let userPoolClientId: String + /// The domain prefix or fully-qualified domain name of the Amazon Cognito user pool. + public let userPoolDomain: String + + public init(onUnauthenticatedRequest: AuthenticateCognitoActionConditionalBehaviorEnum? = nil, sessionTimeout: Int64? = nil, userPoolArn: String, sessionCookieName: String? = nil, authenticationRequestExtraParams: [String: String]? = nil, scope: String? = nil, userPoolClientId: String, userPoolDomain: String) { + self.onUnauthenticatedRequest = onUnauthenticatedRequest + self.sessionTimeout = sessionTimeout + self.userPoolArn = userPoolArn + self.sessionCookieName = sessionCookieName + self.authenticationRequestExtraParams = authenticationRequestExtraParams + self.scope = scope + self.userPoolClientId = userPoolClientId + self.userPoolDomain = userPoolDomain + } + + private enum CodingKeys: String, CodingKey { + case onUnauthenticatedRequest = "OnUnauthenticatedRequest" + case sessionTimeout = "SessionTimeout" + case userPoolArn = "UserPoolArn" + case sessionCookieName = "SessionCookieName" + case authenticationRequestExtraParams = "AuthenticationRequestExtraParams" + case scope = "Scope" + case userPoolClientId = "UserPoolClientId" + case userPoolDomain = "UserPoolDomain" } + } + + public struct DeleteTargetGroupOutput: AWSShape { - private enum CodingKeys: String, CodingKey { - case availabilityZones = "AvailabilityZones" - } } public struct DescribeAccountLimitsOutput: AWSShape { @@ -1141,15 +1258,11 @@ extension Elasticloadbalancingv2 { } } - public struct DeleteTargetGroupOutput: AWSShape { - - } - public struct ModifyTargetGroupOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TargetGroups", required: false, type: .list) ] - /// Information about the target group. + /// Information about the modified target group. public let targetGroups: [TargetGroup]? public init(targetGroups: [TargetGroup]? = nil) { @@ -1214,8 +1327,70 @@ extension Elasticloadbalancingv2 { } } - public struct DeleteLoadBalancerOutput: AWSShape { - + public struct AuthenticateOidcActionConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OnUnauthenticatedRequest", required: false, type: .enum), + AWSShapeMember(label: "SessionTimeout", required: false, type: .long), + AWSShapeMember(label: "UserInfoEndpoint", required: true, type: .string), + AWSShapeMember(label: "AuthorizationEndpoint", required: true, type: .string), + AWSShapeMember(label: "ClientId", required: true, type: .string), + AWSShapeMember(label: "ClientSecret", required: true, type: .string), + AWSShapeMember(label: "SessionCookieName", required: false, type: .string), + AWSShapeMember(label: "AuthenticationRequestExtraParams", required: false, type: .map), + AWSShapeMember(label: "TokenEndpoint", required: true, type: .string), + AWSShapeMember(label: "Scope", required: false, type: .string), + AWSShapeMember(label: "Issuer", required: true, type: .string) + ] + /// 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. + public let onUnauthenticatedRequest: AuthenticateOidcActionConditionalBehaviorEnum? + /// The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days). + public let sessionTimeout: Int64? + /// The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path. + public let userInfoEndpoint: String + /// The authorization endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path. + public let authorizationEndpoint: String + /// The OAuth 2.0 client identifier. + public let clientId: String + /// The OAuth 2.0 client secret. + public let clientSecret: String + /// The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie. + public let sessionCookieName: String? + /// The query parameters (up to 10) to include in the redirect request to the authorization endpoint. + public let authenticationRequestExtraParams: [String: String]? + /// The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path. + public let tokenEndpoint: String + /// 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. + public let scope: String? + /// The OIDC issuer identifier of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path. + public let issuer: String + + public init(onUnauthenticatedRequest: AuthenticateOidcActionConditionalBehaviorEnum? = nil, sessionTimeout: Int64? = nil, userInfoEndpoint: String, authorizationEndpoint: String, clientId: String, clientSecret: String, sessionCookieName: String? = nil, authenticationRequestExtraParams: [String: String]? = nil, tokenEndpoint: String, scope: String? = nil, issuer: String) { + self.onUnauthenticatedRequest = onUnauthenticatedRequest + self.sessionTimeout = sessionTimeout + self.userInfoEndpoint = userInfoEndpoint + self.authorizationEndpoint = authorizationEndpoint + self.clientId = clientId + self.clientSecret = clientSecret + self.sessionCookieName = sessionCookieName + self.authenticationRequestExtraParams = authenticationRequestExtraParams + self.tokenEndpoint = tokenEndpoint + self.scope = scope + self.issuer = issuer + } + + private enum CodingKeys: String, CodingKey { + case onUnauthenticatedRequest = "OnUnauthenticatedRequest" + case sessionTimeout = "SessionTimeout" + case userInfoEndpoint = "UserInfoEndpoint" + case authorizationEndpoint = "AuthorizationEndpoint" + case clientId = "ClientId" + case clientSecret = "ClientSecret" + case sessionCookieName = "SessionCookieName" + case authenticationRequestExtraParams = "AuthenticationRequestExtraParams" + case tokenEndpoint = "TokenEndpoint" + case scope = "Scope" + case issuer = "Issuer" + } } public struct AddListenerCertificatesInput: AWSShape { @@ -1239,6 +1414,10 @@ extension Elasticloadbalancingv2 { } } + public struct DeleteLoadBalancerOutput: AWSShape { + + } + public struct ModifyTargetGroupAttributesInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Attributes", required: true, type: .list), @@ -1267,7 +1446,7 @@ extension Elasticloadbalancingv2 { ] /// The name of the field. The possible values are host-header and path-pattern. public let field: String? - /// The condition value. If the field name is host-header, you can specify a single host name (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters. A-Z, a-z, 0-9 - . * (matches 0 or more characters) ? (matches exactly 1 character) If the field name is path-pattern, you can specify a single path pattern (for example, /img/*). A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters. A-Z, a-z, 0-9 _ - . $ / ~ " ' @ : + & (using &amp;) * (matches 0 or more characters) ? (matches exactly 1 character) + /// 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) public let values: [String]? public init(field: String? = nil, values: [String]? = nil) { @@ -1327,62 +1506,6 @@ extension Elasticloadbalancingv2 { } } - public struct ModifyTargetGroupInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "HealthCheckProtocol", required: false, type: .enum), - AWSShapeMember(label: "HealthyThresholdCount", required: false, type: .integer), - AWSShapeMember(label: "TargetGroupArn", required: true, type: .string), - AWSShapeMember(label: "Matcher", required: false, type: .structure), - AWSShapeMember(label: "HealthCheckIntervalSeconds", required: false, type: .integer), - AWSShapeMember(label: "HealthCheckTimeoutSeconds", required: false, type: .integer), - AWSShapeMember(label: "HealthCheckPort", required: false, type: .string), - AWSShapeMember(label: "HealthCheckPath", required: false, type: .string), - AWSShapeMember(label: "UnhealthyThresholdCount", required: false, type: .integer) - ] - /// 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. - public let healthCheckProtocol: ProtocolEnum? - /// The number of consecutive health checks successes required before considering an unhealthy target healthy. - public let healthyThresholdCount: Int32? - /// The Amazon Resource Name (ARN) of the target group. - public let targetGroupArn: String - /// [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target. - public let matcher: Matcher? - /// The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds. - public let healthCheckIntervalSeconds: Int32? - /// [HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health check. - public let healthCheckTimeoutSeconds: Int32? - /// The port the load balancer uses when performing health checks on targets. - public let healthCheckPort: String? - /// [HTTP/HTTPS health checks] The ping path that is the destination for the health check request. - public let healthCheckPath: String? - /// 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. - public let unhealthyThresholdCount: Int32? - - public init(healthCheckProtocol: ProtocolEnum? = nil, healthyThresholdCount: Int32? = nil, targetGroupArn: String, matcher: Matcher? = nil, healthCheckIntervalSeconds: Int32? = nil, healthCheckTimeoutSeconds: Int32? = nil, healthCheckPort: String? = nil, healthCheckPath: String? = nil, unhealthyThresholdCount: Int32? = nil) { - self.healthCheckProtocol = healthCheckProtocol - self.healthyThresholdCount = healthyThresholdCount - self.targetGroupArn = targetGroupArn - self.matcher = matcher - self.healthCheckIntervalSeconds = healthCheckIntervalSeconds - self.healthCheckTimeoutSeconds = healthCheckTimeoutSeconds - self.healthCheckPort = healthCheckPort - self.healthCheckPath = healthCheckPath - self.unhealthyThresholdCount = unhealthyThresholdCount - } - - private enum CodingKeys: String, CodingKey { - case healthCheckProtocol = "HealthCheckProtocol" - case healthyThresholdCount = "HealthyThresholdCount" - case targetGroupArn = "TargetGroupArn" - case matcher = "Matcher" - case healthCheckIntervalSeconds = "HealthCheckIntervalSeconds" - case healthCheckTimeoutSeconds = "HealthCheckTimeoutSeconds" - case healthCheckPort = "HealthCheckPort" - case healthCheckPath = "HealthCheckPath" - case unhealthyThresholdCount = "UnhealthyThresholdCount" - } - } - public struct CreateLoadBalancerInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SecurityGroups", required: false, type: .list), @@ -1394,21 +1517,21 @@ extension Elasticloadbalancingv2 { AWSShapeMember(label: "Scheme", required: false, type: .enum), AWSShapeMember(label: "Type", required: false, type: .enum) ] - /// [Application Load Balancers] The IDs of the security groups to assign to the load balancer. + /// [Application Load Balancers] The IDs of the security groups for the load balancer. public let securityGroups: [String]? - /// The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. + /// 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-". public let name: String /// [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. public let ipAddressType: IpAddressType? /// One or more tags to assign to the load balancer. public let tags: [Tag]? - /// The IDs of the subnets to attach to the load balancer. 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. + /// 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. public let subnets: [String]? - /// The IDs of the subnets to attach to the load balancer. 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. + /// 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. public let subnetMappings: [SubnetMapping]? - /// 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. + /// 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. public let scheme: LoadBalancerSchemeEnum? - /// The type of load balancer to create. The default is application. + /// The type of load balancer. The default is application. public let `type`: LoadBalancerTypeEnum? public init(securityGroups: [String]? = nil, name: String, ipAddressType: IpAddressType? = nil, tags: [Tag]? = nil, subnets: [String]? = nil, subnetMappings: [SubnetMapping]? = nil, scheme: LoadBalancerSchemeEnum? = nil, type: LoadBalancerTypeEnum? = nil) { @@ -1455,6 +1578,62 @@ extension Elasticloadbalancingv2 { } } + public struct ModifyTargetGroupInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "HealthCheckProtocol", required: false, type: .enum), + AWSShapeMember(label: "HealthyThresholdCount", required: false, type: .integer), + AWSShapeMember(label: "TargetGroupArn", required: true, type: .string), + AWSShapeMember(label: "Matcher", required: false, type: .structure), + AWSShapeMember(label: "HealthCheckIntervalSeconds", required: false, type: .integer), + AWSShapeMember(label: "HealthCheckTimeoutSeconds", required: false, type: .integer), + AWSShapeMember(label: "HealthCheckPort", required: false, type: .string), + AWSShapeMember(label: "HealthCheckPath", required: false, type: .string), + AWSShapeMember(label: "UnhealthyThresholdCount", required: false, type: .integer) + ] + /// 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. + public let healthCheckProtocol: ProtocolEnum? + /// The number of consecutive health checks successes required before considering an unhealthy target healthy. + public let healthyThresholdCount: Int32? + /// The Amazon Resource Name (ARN) of the target group. + public let targetGroupArn: String + /// [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target. + public let matcher: Matcher? + /// 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. + public let healthCheckIntervalSeconds: Int32? + /// [HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health check. + public let healthCheckTimeoutSeconds: Int32? + /// The port the load balancer uses when performing health checks on targets. + public let healthCheckPort: String? + /// [HTTP/HTTPS health checks] The ping path that is the destination for the health check request. + public let healthCheckPath: String? + /// 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. + public let unhealthyThresholdCount: Int32? + + public init(healthCheckProtocol: ProtocolEnum? = nil, healthyThresholdCount: Int32? = nil, targetGroupArn: String, matcher: Matcher? = nil, healthCheckIntervalSeconds: Int32? = nil, healthCheckTimeoutSeconds: Int32? = nil, healthCheckPort: String? = nil, healthCheckPath: String? = nil, unhealthyThresholdCount: Int32? = nil) { + self.healthCheckProtocol = healthCheckProtocol + self.healthyThresholdCount = healthyThresholdCount + self.targetGroupArn = targetGroupArn + self.matcher = matcher + self.healthCheckIntervalSeconds = healthCheckIntervalSeconds + self.healthCheckTimeoutSeconds = healthCheckTimeoutSeconds + self.healthCheckPort = healthCheckPort + self.healthCheckPath = healthCheckPath + self.unhealthyThresholdCount = unhealthyThresholdCount + } + + private enum CodingKeys: String, CodingKey { + case healthCheckProtocol = "HealthCheckProtocol" + case healthyThresholdCount = "HealthyThresholdCount" + case targetGroupArn = "TargetGroupArn" + case matcher = "Matcher" + case healthCheckIntervalSeconds = "HealthCheckIntervalSeconds" + case healthCheckTimeoutSeconds = "HealthCheckTimeoutSeconds" + case healthCheckPort = "HealthCheckPort" + case healthCheckPath = "HealthCheckPath" + case unhealthyThresholdCount = "UnhealthyThresholdCount" + } + } + public struct SetSecurityGroupsInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SecurityGroups", required: true, type: .list), @@ -1483,7 +1662,7 @@ extension Elasticloadbalancingv2 { ] /// The value of the attribute. public let value: String? - /// The name of the attribute. access_logs.s3.enabled - [Application Load Balancers] Indicates whether access logs stored in Amazon S3 are enabled. The value is true or false. access_logs.s3.bucket - [Application Load Balancers] The name of the S3 bucket for the access logs. This attribute is required if access logs in Amazon S3 are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permission to write to the bucket. access_logs.s3.prefix - [Application Load Balancers] The prefix for the location in the S3 bucket. If you don't specify a prefix, the access logs are stored in the root of the bucket. deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. idle_timeout.timeout_seconds - [Application Load Balancers] The idle timeout value, in seconds. The valid range is 1-4000. The default is 60 seconds. + /// 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. public let key: String? public init(value: String? = nil, key: String? = nil) { @@ -1728,11 +1907,11 @@ extension Elasticloadbalancingv2 { ] /// The protocol for connections from clients to the load balancer. Application Load Balancers support HTTP and HTTPS and Network Load Balancers support TCP. public let `protocol`: ProtocolEnum? - /// The security policy that defines which protocols and ciphers are supported. For more information, see Security Policies in the Application Load Balancers Guide. + /// [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. public let sslPolicy: String? - /// The default SSL server certificate. + /// [HTTPS listeners] The default SSL server certificate. You must provide exactly one default certificate. To create a certificate list, use AddListenerCertificates. public let certificates: [Certificate]? - /// The default action. For Application Load Balancers, the protocol of the specified target group must be HTTP or HTTPS. For Network Load Balancers, the protocol of the specified target group must be TCP. + /// 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. public let defaultActions: [Action]? /// The Amazon Resource Name (ARN) of the listener. public let listenerArn: String @@ -1801,11 +1980,17 @@ extension Elasticloadbalancingv2 { public var description: String { return self.rawValue } } + public enum RedirectActionStatusCodeEnum: String, CustomStringConvertible, Codable { + case http301 = "HTTP_301" + case http302 = "HTTP_302" + public var description: String { return self.rawValue } + } + public struct Matcher: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "HttpCode", required: true, type: .string) ] - /// 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 to 399. + /// 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. public let httpCode: String public init(httpCode: String) { @@ -1843,6 +2028,47 @@ extension Elasticloadbalancingv2 { } } + public struct RedirectActionConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Port", required: false, type: .string), + AWSShapeMember(label: "StatusCode", required: true, type: .enum), + AWSShapeMember(label: "Host", required: false, type: .string), + AWSShapeMember(label: "Query", required: false, type: .string), + AWSShapeMember(label: "Protocol", required: false, type: .string), + AWSShapeMember(label: "Path", required: false, type: .string) + ] + /// The port. You can specify a value from 1 to 65535 or #{port}. + public let port: String? + /// The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP 302). + public let statusCode: RedirectActionStatusCodeEnum + /// The hostname. This component is not percent-encoded. The hostname can contain #{host}. + public let host: String? + /// 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. + public let query: String? + /// 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. + public let `protocol`: String? + /// The absolute path, starting with the leading "/". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}. + public let path: String? + + public init(port: String? = nil, statusCode: RedirectActionStatusCodeEnum, host: String? = nil, query: String? = nil, protocol: String? = nil, path: String? = nil) { + self.port = port + self.statusCode = statusCode + self.host = host + self.query = query + self.`protocol` = `protocol` + self.path = path + } + + private enum CodingKeys: String, CodingKey { + case port = "Port" + case statusCode = "StatusCode" + case host = "Host" + case query = "Query" + case `protocol` = "Protocol" + case path = "Path" + } + } + public struct Limit: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Max", required: false, type: .string), @@ -1938,27 +2164,6 @@ extension Elasticloadbalancingv2 { } - public struct AddTagsInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ResourceArns", required: true, type: .list), - AWSShapeMember(label: "Tags", required: true, type: .list) - ] - /// The Amazon Resource Name (ARN) of the resource. - public let resourceArns: [String] - /// The tags. Each resource can have a maximum of 10 tags. - public let tags: [Tag] - - public init(resourceArns: [String], tags: [Tag]) { - self.resourceArns = resourceArns - self.tags = tags - } - - private enum CodingKeys: String, CodingKey { - case resourceArns = "ResourceArns" - case tags = "Tags" - } - } - public struct DescribeTargetHealthOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TargetHealthDescriptions", required: false, type: .list) @@ -1975,24 +2180,31 @@ extension Elasticloadbalancingv2 { } } - public struct SetIpAddressTypeInput: AWSShape { + public enum AuthenticateCognitoActionConditionalBehaviorEnum: String, CustomStringConvertible, Codable { + case deny = "deny" + case allow = "allow" + case authenticate = "authenticate" + public var description: String { return self.rawValue } + } + + public struct AddTagsInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LoadBalancerArn", required: true, type: .string), - AWSShapeMember(label: "IpAddressType", required: true, type: .enum) + AWSShapeMember(label: "ResourceArns", required: true, type: .list), + AWSShapeMember(label: "Tags", required: true, type: .list) ] - /// The Amazon Resource Name (ARN) of the load balancer. - public let loadBalancerArn: String - /// 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. - public let ipAddressType: IpAddressType + /// The Amazon Resource Name (ARN) of the resource. + public let resourceArns: [String] + /// The tags. Each resource can have a maximum of 10 tags. + public let tags: [Tag] - public init(loadBalancerArn: String, ipAddressType: IpAddressType) { - self.loadBalancerArn = loadBalancerArn - self.ipAddressType = ipAddressType + public init(resourceArns: [String], tags: [Tag]) { + self.resourceArns = resourceArns + self.tags = tags } private enum CodingKeys: String, CodingKey { - case loadBalancerArn = "LoadBalancerArn" - case ipAddressType = "IpAddressType" + case resourceArns = "ResourceArns" + case tags = "Tags" } } @@ -2014,9 +2226,9 @@ extension Elasticloadbalancingv2 { ] /// [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target. public let matcher: Matcher? - /// The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds. The default is 30 seconds. + /// 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. public let healthCheckIntervalSeconds: Int32? - /// 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 to 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. + /// 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. public let healthCheckTimeoutSeconds: Int32? /// 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. public let unhealthyThresholdCount: Int32? @@ -2030,7 +2242,7 @@ extension Elasticloadbalancingv2 { public let `protocol`: ProtocolEnum /// The identifier of the virtual private cloud (VPC). public let vpcId: String - /// 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. Note that 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. + /// 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. public let targetType: TargetTypeEnum? /// [HTTP/HTTPS health checks] The ping path that is the destination on the targets for health checks. The default is /. public let healthCheckPath: String? @@ -2072,6 +2284,27 @@ extension Elasticloadbalancingv2 { } } + public struct SetIpAddressTypeInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LoadBalancerArn", required: true, type: .string), + AWSShapeMember(label: "IpAddressType", required: true, type: .enum) + ] + /// The Amazon Resource Name (ARN) of the load balancer. + public let loadBalancerArn: String + /// 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. + public let ipAddressType: IpAddressType + + public init(loadBalancerArn: String, ipAddressType: IpAddressType) { + self.loadBalancerArn = loadBalancerArn + self.ipAddressType = ipAddressType + } + + private enum CodingKeys: String, CodingKey { + case loadBalancerArn = "LoadBalancerArn" + case ipAddressType = "IpAddressType" + } + } + public enum LoadBalancerStateEnum: String, CustomStringConvertible, Codable { case active = "active" case provisioning = "provisioning" diff --git a/Sources/AWSSDKSwift/Services/elasticmapreduce/Elasticmapreduce_API.swift b/Sources/AWSSDKSwift/Services/elasticmapreduce/Elasticmapreduce_API.swift index f1038ede6d6..819a0d3b4e5 100644 --- a/Sources/AWSSDKSwift/Services/elasticmapreduce/Elasticmapreduce_API.swift +++ b/Sources/AWSSDKSwift/Services/elasticmapreduce/Elasticmapreduce_API.swift @@ -55,7 +55,7 @@ public struct Elasticmapreduce { return try client.send(operation: "AddInstanceGroups", path: "/", httpMethod: "POST", input: input) } - /// Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on. For information about the cluster steps, see ListSteps. + /// Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on. public func describeCluster(_ input: DescribeClusterInput) throws -> DescribeClusterOutput { return try client.send(operation: "DescribeCluster", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/elasticmapreduce/Elasticmapreduce_Shapes.swift b/Sources/AWSSDKSwift/Services/elasticmapreduce/Elasticmapreduce_Shapes.swift index 3cf39dbd8d0..c4402c3741d 100644 --- a/Sources/AWSSDKSwift/Services/elasticmapreduce/Elasticmapreduce_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/elasticmapreduce/Elasticmapreduce_Shapes.swift @@ -916,7 +916,7 @@ extension Elasticmapreduce { AWSShapeMember(label: "Market", required: false, type: .enum), AWSShapeMember(label: "Configurations", required: false, type: .list) ] - /// The bid price for each EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD. + /// 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. public let bidPrice: String? /// Policy for customizing shrink operations. public let shrinkPolicy: ShrinkPolicy? @@ -1727,7 +1727,7 @@ extension Elasticmapreduce { public let supportedProducts: [String]? /// 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. public let autoScalingRole: String? - /// Used only for version 2.x and 3.x of Amazon EMR. The version of the AMI used to initialize Amazon EC2 instances in the job flow. For a list of AMI versions supported by Amazon EMR, see AMI Versions Supported in EMR in the Amazon EMR Developer Guide. + /// 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. public let amiVersion: String? /// 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. public let visibleToAllUsers: Bool? @@ -2268,7 +2268,7 @@ extension Elasticmapreduce { ] /// 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. public let instanceFleets: [InstanceFleetConfig]? - /// 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. + /// 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. public let hadoopVersion: String? /// 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. public let ec2SubnetId: String? @@ -2710,13 +2710,13 @@ extension Elasticmapreduce { public let steps: [StepConfig]? /// 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. public let supportedProducts: [String]? - /// The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x AMIs, use AmiVersion instead. + /// 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. public let releaseLabel: String? /// The name of a security configuration to apply to the cluster. public let securityConfiguration: String? /// A list of tags to associate with a cluster and propagate to Amazon EC2 instances. public let tags: [Tag]? - /// For Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, the Linux AMI is determined by the ReleaseLabel specified or by CustomAmiID. The version of the Amazon Machine Image (AMI) to use when launching Amazon EC2 instances in the job flow. For details about the AMI versions currently supported in EMR version 3.x and 2.x, see AMI Versions Supported in EMR in the Amazon EMR Developer Guide. If the AMI supports multiple versions of Hadoop (for example, AMI 1.0 supports both Hadoop 0.18 and 0.20), you can use the JobFlowInstancesConfig HadoopVersion parameter to modify the version of Hadoop from the defaults shown above. Previously, the EMR AMI version API parameter options allowed you to use latest for the latest AMI version rather than specify a numerical value. Some regions no longer support this deprecated option as they only have a newer release label version of EMR, which requires you to specify an EMR release label release (EMR 4.x or later). + /// 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. public let amiVersion: String? /// 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. public let repoUpgradeOnBoot: RepoUpgradeOnBoot? @@ -2877,7 +2877,7 @@ extension Elasticmapreduce { AWSShapeMember(label: "TerminationProtected", required: false, type: .boolean), AWSShapeMember(label: "Configurations", required: false, type: .list) ] - /// The release label for the Amazon EMR release. + /// 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. public let releaseLabel: String? /// 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. public let normalizedInstanceHours: Int32? @@ -3192,30 +3192,30 @@ extension Elasticmapreduce { public struct InstanceGroupModifyConfig: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "InstanceGroupId", required: true, type: .string), - AWSShapeMember(label: "ShrinkPolicy", required: false, type: .structure), AWSShapeMember(label: "InstanceCount", required: false, type: .integer), + AWSShapeMember(label: "ShrinkPolicy", required: false, type: .structure), AWSShapeMember(label: "EC2InstanceIdsToTerminate", required: false, type: .list) ] /// Unique ID of the instance group to expand or shrink. public let instanceGroupId: String - /// Policy for customizing shrink operations. - public let shrinkPolicy: ShrinkPolicy? /// Target size for the instance group. public let instanceCount: Int32? + /// Policy for customizing shrink operations. + public let shrinkPolicy: ShrinkPolicy? /// The EC2 InstanceIds to terminate. After you terminate the instances, the instance group will not return to its original requested size. public let eC2InstanceIdsToTerminate: [String]? - public init(instanceGroupId: String, shrinkPolicy: ShrinkPolicy? = nil, instanceCount: Int32? = nil, eC2InstanceIdsToTerminate: [String]? = nil) { + public init(instanceGroupId: String, instanceCount: Int32? = nil, shrinkPolicy: ShrinkPolicy? = nil, eC2InstanceIdsToTerminate: [String]? = nil) { self.instanceGroupId = instanceGroupId - self.shrinkPolicy = shrinkPolicy self.instanceCount = instanceCount + self.shrinkPolicy = shrinkPolicy self.eC2InstanceIdsToTerminate = eC2InstanceIdsToTerminate } private enum CodingKeys: String, CodingKey { case instanceGroupId = "InstanceGroupId" - case shrinkPolicy = "ShrinkPolicy" case instanceCount = "InstanceCount" + case shrinkPolicy = "ShrinkPolicy" case eC2InstanceIdsToTerminate = "EC2InstanceIdsToTerminate" } } @@ -3398,7 +3398,7 @@ extension Elasticmapreduce { AWSShapeMember(label: "EbsConfiguration", required: false, type: .structure), AWSShapeMember(label: "Configurations", required: false, type: .list) ] - /// Bid price for each EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD. + /// 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. public let bidPrice: String? /// Market type of the EC2 instances used to create a cluster node. public let market: MarketType? @@ -3461,7 +3461,7 @@ extension Elasticmapreduce { ] /// Unique identifier for the instance group. public let instanceGroupId: String? - /// Bid price for EC2 Instances when launching nodes as Spot Instances, expressed in USD. + /// 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. public let bidPrice: String? /// Actual count of running instances. public let instanceRunningCount: Int32 diff --git a/Sources/AWSSDKSwift/Services/email/Email_API.swift b/Sources/AWSSDKSwift/Services/email/Email_API.swift index 6a09c09f85f..156ecdba07f 100644 --- a/Sources/AWSSDKSwift/Services/email/Email_API.swift +++ b/Sources/AWSSDKSwift/Services/email/Email_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -Amazon Simple Email Service This is the API Reference for Amazon Simple Email Service (Amazon SES). This documentation is intended to be used in conjunction with the Amazon SES Developer Guide. For a list of Amazon SES endpoints to use in service requests, see Regions and Amazon SES in the Amazon SES Developer Guide. +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. */ public struct Email { @@ -44,7 +44,7 @@ public struct Email { return try client.send(operation: "ListIdentityPolicies", path: "/", httpMethod: "POST", input: input) } - /// 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 configuration sets, see Configuring Custom Domains to Handle Open and Click Tracking in the Amazon SES Developer Guide. + /// 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. public func createConfigurationSetTrackingOptions(_ input: CreateConfigurationSetTrackingOptionsRequest) throws -> CreateConfigurationSetTrackingOptionsResponse { return try client.send(operation: "CreateConfigurationSetTrackingOptions", path: "/", httpMethod: "POST", input: input) } @@ -64,12 +64,12 @@ public struct Email { return try client.send(operation: "DescribeReceiptRule", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func sendTemplatedEmail(_ input: SendTemplatedEmailRequest) throws -> SendTemplatedEmailResponse { return try client.send(operation: "SendTemplatedEmail", path: "/", httpMethod: "POST", input: input) } - /// Returns a list containing all of the identities (email addresses and domains) for your AWS account, regardless of verification status. You can execute this operation no more than once per second. + /// 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. public func listIdentities(_ input: ListIdentitiesRequest) throws -> ListIdentitiesResponse { return try client.send(operation: "ListIdentities", path: "/", httpMethod: "POST", input: input) } @@ -89,12 +89,17 @@ public struct Email { return try client.send(operation: "GetIdentityPolicies", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func updateCustomVerificationEmailTemplate(_ input: UpdateCustomVerificationEmailTemplateRequest) throws { + _ = try client.send(operation: "UpdateCustomVerificationEmailTemplate", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func setIdentityHeadersInNotificationsEnabled(_ input: SetIdentityHeadersInNotificationsEnabledRequest) throws -> SetIdentityHeadersInNotificationsEnabledResponse { return try client.send(operation: "SetIdentityHeadersInNotificationsEnabled", path: "/", httpMethod: "POST", input: input) } - /// Lists the email templates present in your Amazon SES account. You can execute this operation no more than once per second. + /// 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. public func listTemplates(_ input: ListTemplatesRequest) throws -> ListTemplatesResponse { return try client.send(operation: "ListTemplates", path: "/", httpMethod: "POST", input: input) } @@ -109,9 +114,9 @@ public struct Email { _ = try client.send(operation: "VerifyEmailAddress", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func verifyDomainDkim(_ input: VerifyDomainDkimRequest) throws -> VerifyDomainDkimResponse { - return try client.send(operation: "VerifyDomainDkim", path: "/", httpMethod: "POST", input: input) + /// 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. + public func getCustomVerificationEmailTemplate(_ input: GetCustomVerificationEmailTemplateRequest) throws -> GetCustomVerificationEmailTemplateResponse { + return try client.send(operation: "GetCustomVerificationEmailTemplate", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -124,6 +129,16 @@ public struct Email { return try client.send(operation: "GetIdentityDkimAttributes", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func verifyDomainDkim(_ input: VerifyDomainDkimRequest) throws -> VerifyDomainDkimResponse { + return try client.send(operation: "VerifyDomainDkim", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func createCustomVerificationEmailTemplate(_ input: CreateCustomVerificationEmailTemplateRequest) throws { + _ = try client.send(operation: "CreateCustomVerificationEmailTemplate", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func getTemplate(_ input: GetTemplateRequest) throws -> GetTemplateResponse { return try client.send(operation: "GetTemplate", path: "/", httpMethod: "POST", input: input) @@ -164,7 +179,12 @@ public struct Email { return try client.send(operation: "ListVerifiedEmailAddresses", path: "/", httpMethod: "POST") } - /// Provides sending statistics for the Amazon SES account. 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. + /// 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. + public func deleteCustomVerificationEmailTemplate(_ input: DeleteCustomVerificationEmailTemplateRequest) throws { + _ = try client.send(operation: "DeleteCustomVerificationEmailTemplate", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func getSendStatistics() throws -> GetSendStatisticsResponse { return try client.send(operation: "GetSendStatistics", path: "/", httpMethod: "POST") } @@ -174,7 +194,7 @@ public struct Email { return try client.send(operation: "SendEmail", path: "/", httpMethod: "POST", input: input) } - /// Adds a domain to the list of identities for your Amazon SES account 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. + /// 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. public func verifyDomainIdentity(_ input: VerifyDomainIdentityRequest) throws -> VerifyDomainIdentityResponse { return try client.send(operation: "VerifyDomainIdentity", path: "/", httpMethod: "POST", input: input) } @@ -209,7 +229,7 @@ public struct Email { return try client.send(operation: "PutIdentityPolicy", path: "/", httpMethod: "POST", input: input) } - /// Enables or disables the publishing of reputation metrics for emails sent using a specific configuration set. Reputation metrics include bounce and complaint rates. These metrics are published to Amazon CloudWatch. By using Amazon CloudWatch, you can create alarms when bounce or complaint rates exceed a certain threshold. You can execute this operation no more than once per second. + /// 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. public func updateConfigurationSetReputationMetricsEnabled(_ input: UpdateConfigurationSetReputationMetricsEnabledRequest) throws { _ = try client.send(operation: "UpdateConfigurationSetReputationMetricsEnabled", path: "/", httpMethod: "POST", input: input) } @@ -239,7 +259,7 @@ public struct Email { return try client.send(operation: "DeleteReceiptRuleSet", path: "/", httpMethod: "POST", input: input) } - /// Lists the receipt rule sets that exist under your AWS account. If there are additional receipt rule sets to be retrieved, you will receive a NextToken that you can provide to the next call to ListReceiptRuleSets to retrieve the additional entries. For information about managing receipt rule sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + /// 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. public func listReceiptRuleSets(_ input: ListReceiptRuleSetsRequest) throws -> ListReceiptRuleSetsResponse { return try client.send(operation: "ListReceiptRuleSets", path: "/", httpMethod: "POST", input: input) } @@ -249,27 +269,32 @@ public struct Email { return try client.send(operation: "SetReceiptRulePosition", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func listCustomVerificationEmailTemplates(_ input: ListCustomVerificationEmailTemplatesRequest) throws -> ListCustomVerificationEmailTemplatesResponse { + return try client.send(operation: "ListCustomVerificationEmailTemplates", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func updateReceiptRule(_ input: UpdateReceiptRuleRequest) throws -> UpdateReceiptRuleResponse { return try client.send(operation: "UpdateReceiptRule", path: "/", httpMethod: "POST", input: input) } - /// 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 configuration sets, see Configuring Custom Domains to Handle Open and Click Tracking in the Amazon SES Developer Guide. + /// 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. public func updateConfigurationSetTrackingOptions(_ input: UpdateConfigurationSetTrackingOptionsRequest) throws -> UpdateConfigurationSetTrackingOptionsResponse { return try client.send(operation: "UpdateConfigurationSetTrackingOptions", path: "/", httpMethod: "POST", input: input) } - /// Lists the IP address filters associated with your AWS account. For information about managing IP address filters, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + /// 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. public func listReceiptFilters(_ input: ListReceiptFiltersRequest) throws -> ListReceiptFiltersResponse { return try client.send(operation: "ListReceiptFilters", path: "/", httpMethod: "POST", input: input) } - /// Adds an email address to the list of identities for your Amazon SES account and attempts to verify it. This operation causes a confirmation email message to be sent to the specified address. You can execute this operation no more than once per second. + /// 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. public func verifyEmailIdentity(_ input: VerifyEmailIdentityRequest) throws -> VerifyEmailIdentityResponse { return try client.send(operation: "VerifyEmailIdentity", path: "/", httpMethod: "POST", input: input) } - /// Enables or disables email sending for messages sent using a specific configuration set. 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) reach certain thresholds. You can execute this operation no more than once per second. + /// 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. public func updateConfigurationSetSendingEnabled(_ input: UpdateConfigurationSetSendingEnabledRequest) throws { _ = try client.send(operation: "UpdateConfigurationSetSendingEnabled", path: "/", httpMethod: "POST", input: input) } @@ -279,12 +304,12 @@ public struct Email { return try client.send(operation: "DescribeConfigurationSet", path: "/", httpMethod: "POST", input: input) } - /// Enables or disables email sending across your entire Amazon SES account. You can use this operation in conjunction with Amazon CloudWatch alarms to temporarily pause email sending across your Amazon SES account when reputation metrics (such as your bounce on complaint rate) reach certain thresholds. You can execute this operation no more than once per second. + /// 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. public func updateAccountSendingEnabled(_ input: UpdateAccountSendingEnabledRequest) throws { _ = try client.send(operation: "UpdateAccountSendingEnabled", path: "/", httpMethod: "POST", input: input) } - /// Provides a list of the configuration sets associated with your Amazon SES account. 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. + /// 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. public func listConfigurationSets(_ input: ListConfigurationSetsRequest) throws -> ListConfigurationSetsResponse { return try client.send(operation: "ListConfigurationSets", path: "/", httpMethod: "POST", input: input) } @@ -299,7 +324,12 @@ public struct Email { return try client.send(operation: "CreateReceiptRuleSet", path: "/", httpMethod: "POST", input: input) } - /// Returns the email sending status of the Amazon SES account. You can execute this operation no more than once per second. + /// 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. + public func sendCustomVerificationEmail(_ input: SendCustomVerificationEmailRequest) throws -> SendCustomVerificationEmailResponse { + return try client.send(operation: "SendCustomVerificationEmail", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func getAccountSendingEnabled() throws -> GetAccountSendingEnabledResponse { return try client.send(operation: "GetAccountSendingEnabled", path: "/", httpMethod: "POST") } @@ -324,7 +354,7 @@ public struct Email { return try client.send(operation: "TestRenderTemplate", path: "/", httpMethod: "POST", input: input) } - /// 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 configuration sets, see Configuring Custom Domains to Handle Open and Click Tracking in 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. + /// 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. public func deleteConfigurationSetTrackingOptions(_ input: DeleteConfigurationSetTrackingOptionsRequest) throws -> DeleteConfigurationSetTrackingOptionsResponse { return try client.send(operation: "DeleteConfigurationSetTrackingOptions", path: "/", httpMethod: "POST", input: input) } @@ -334,7 +364,7 @@ public struct Email { return try client.send(operation: "DeleteConfigurationSetEventDestination", path: "/", httpMethod: "POST", input: input) } - /// 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 Amazon 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. + /// 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. public func createConfigurationSetEventDestination(_ input: CreateConfigurationSetEventDestinationRequest) throws -> CreateConfigurationSetEventDestinationResponse { return try client.send(operation: "CreateConfigurationSetEventDestination", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/email/Email_Error.swift b/Sources/AWSSDKSwift/Services/email/Email_Error.swift index 84a9336ba93..44da2b55902 100644 --- a/Sources/AWSSDKSwift/Services/email/Email_Error.swift +++ b/Sources/AWSSDKSwift/Services/email/Email_Error.swift @@ -14,9 +14,13 @@ public enum EmailError: AWSErrorType { case accountSendingPausedException(message: String?) case trackingOptionsAlreadyExistsException(message: String?) case invalidTrackingOptionsException(message: String?) + case customVerificationEmailTemplateDoesNotExistException(message: String?) + case fromEmailAddressNotVerifiedException(message: String?) + case customVerificationEmailInvalidContentException(message: String?) case alreadyExistsException(message: String?) case invalidTemplateException(message: String?) case limitExceededException(message: String?) + case customVerificationEmailTemplateAlreadyExistsException(message: String?) case invalidSnsTopicException(message: String?) case invalidS3ConfigurationException(message: String?) case invalidLambdaFunctionException(message: String?) @@ -25,6 +29,7 @@ public enum EmailError: AWSErrorType { case invalidConfigurationSetException(message: String?) case cannotDeleteException(message: String?) case trackingOptionsDoesNotExistException(message: String?) + case productionAccessNotGrantedException(message: String?) case invalidRenderingParameterException(message: String?) case missingRenderingAttributeException(message: String?) case eventDestinationDoesNotExistException(message: String?) @@ -61,12 +66,20 @@ extension EmailError { self = .trackingOptionsAlreadyExistsException(message: message) case "InvalidTrackingOptionsException": self = .invalidTrackingOptionsException(message: message) + case "CustomVerificationEmailTemplateDoesNotExistException": + self = .customVerificationEmailTemplateDoesNotExistException(message: message) + case "FromEmailAddressNotVerifiedException": + self = .fromEmailAddressNotVerifiedException(message: message) + case "CustomVerificationEmailInvalidContentException": + self = .customVerificationEmailInvalidContentException(message: message) case "AlreadyExistsException": self = .alreadyExistsException(message: message) case "InvalidTemplateException": self = .invalidTemplateException(message: message) case "LimitExceededException": self = .limitExceededException(message: message) + case "CustomVerificationEmailTemplateAlreadyExistsException": + self = .customVerificationEmailTemplateAlreadyExistsException(message: message) case "InvalidSnsTopicException": self = .invalidSnsTopicException(message: message) case "InvalidS3ConfigurationException": @@ -83,6 +96,8 @@ extension EmailError { self = .cannotDeleteException(message: message) case "TrackingOptionsDoesNotExistException": self = .trackingOptionsDoesNotExistException(message: message) + case "ProductionAccessNotGrantedException": + self = .productionAccessNotGrantedException(message: message) case "InvalidRenderingParameterException": self = .invalidRenderingParameterException(message: message) case "MissingRenderingAttributeException": diff --git a/Sources/AWSSDKSwift/Services/email/Email_Shapes.swift b/Sources/AWSSDKSwift/Services/email/Email_Shapes.swift index a9c25fcb69b..bb284e11064 100644 --- a/Sources/AWSSDKSwift/Services/email/Email_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/email/Email_Shapes.swift @@ -100,7 +100,7 @@ extension Email { AWSShapeMember(label: "RuleSetName", required: true, type: .string), AWSShapeMember(label: "OriginalRuleSetName", required: true, type: .string) ] - /// The name of the rule set to create. The name must: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-). Start and end with a letter or number. Contain less than 64 characters. + /// 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. public let ruleSetName: String /// The name of the rule set to clone. public let originalRuleSetName: String @@ -170,6 +170,22 @@ extension Email { } + public struct GetCustomVerificationEmailTemplateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TemplateName", required: true, type: .string) + ] + /// The name of the custom verification email template that you want to retrieve. + public let templateName: String + + public init(templateName: String) { + self.templateName = templateName + } + + private enum CodingKeys: String, CodingKey { + case templateName = "TemplateName" + } + } + public struct EventDestination: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CloudWatchDestination", required: false, type: .structure), @@ -185,7 +201,7 @@ extension Email { public let sNSDestination: SNSDestination? /// The type of email sending events to publish to the event destination. public let matchingEventTypes: [EventType] - /// The name of the event destination. The name must: Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Contain less than 64 characters. + /// 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. public let name: String /// An object that contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination. public let kinesisFirehoseDestination: KinesisFirehoseDestination? @@ -345,6 +361,32 @@ extension Email { } } + public struct SendCustomVerificationEmailRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigurationSetName", required: false, type: .string), + AWSShapeMember(label: "EmailAddress", required: true, type: .string), + AWSShapeMember(label: "TemplateName", required: true, type: .string) + ] + /// Name of a configuration set to use when sending the verification email. + public let configurationSetName: String? + /// The email address to verify. + public let emailAddress: String + /// The name of the custom verification email template to use when sending the verification email. + public let templateName: String + + public init(configurationSetName: String? = nil, emailAddress: String, templateName: String) { + self.configurationSetName = configurationSetName + self.emailAddress = emailAddress + self.templateName = templateName + } + + private enum CodingKeys: String, CodingKey { + case configurationSetName = "ConfigurationSetName" + case emailAddress = "EmailAddress" + case templateName = "TemplateName" + } + } + public struct ConfigurationSet: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: true, type: .string) @@ -387,6 +429,47 @@ extension Email { } } + public struct CreateCustomVerificationEmailTemplateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TemplateSubject", required: true, type: .string), + AWSShapeMember(label: "TemplateContent", required: true, type: .string), + AWSShapeMember(label: "SuccessRedirectionURL", required: true, type: .string), + AWSShapeMember(label: "TemplateName", required: true, type: .string), + AWSShapeMember(label: "FailureRedirectionURL", required: true, type: .string), + AWSShapeMember(label: "FromEmailAddress", required: true, type: .string) + ] + /// The subject line of the custom verification email. + public let templateSubject: String + /// 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. + public let templateContent: String + /// The URL that the recipient of the verification email is sent to if his or her address is successfully verified. + public let successRedirectionURL: String + /// The name of the custom verification email template. + public let templateName: String + /// The URL that the recipient of the verification email is sent to if his or her address is not successfully verified. + public let failureRedirectionURL: String + /// The email address that the custom verification email is sent from. + public let fromEmailAddress: String + + public init(templateSubject: String, templateContent: String, successRedirectionURL: String, templateName: String, failureRedirectionURL: String, fromEmailAddress: String) { + self.templateSubject = templateSubject + self.templateContent = templateContent + self.successRedirectionURL = successRedirectionURL + self.templateName = templateName + self.failureRedirectionURL = failureRedirectionURL + self.fromEmailAddress = fromEmailAddress + } + + private enum CodingKeys: String, CodingKey { + case templateSubject = "TemplateSubject" + case templateContent = "TemplateContent" + case successRedirectionURL = "SuccessRedirectionURL" + case templateName = "TemplateName" + case failureRedirectionURL = "FailureRedirectionURL" + case fromEmailAddress = "FromEmailAddress" + } + } + public struct SetIdentityHeadersInNotificationsEnabledResponse: AWSShape { } @@ -495,6 +578,47 @@ extension Email { } } + public struct UpdateCustomVerificationEmailTemplateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TemplateSubject", required: false, type: .string), + AWSShapeMember(label: "TemplateContent", required: false, type: .string), + AWSShapeMember(label: "SuccessRedirectionURL", required: false, type: .string), + AWSShapeMember(label: "TemplateName", required: true, type: .string), + AWSShapeMember(label: "FailureRedirectionURL", required: false, type: .string), + AWSShapeMember(label: "FromEmailAddress", required: false, type: .string) + ] + /// The subject line of the custom verification email. + public let templateSubject: String? + /// 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. + public let templateContent: String? + /// The URL that the recipient of the verification email is sent to if his or her address is successfully verified. + public let successRedirectionURL: String? + /// The name of the custom verification email template that you want to update. + public let templateName: String + /// The URL that the recipient of the verification email is sent to if his or her address is not successfully verified. + public let failureRedirectionURL: String? + /// The email address that the custom verification email is sent from. + public let fromEmailAddress: String? + + public init(templateSubject: String? = nil, templateContent: String? = nil, successRedirectionURL: String? = nil, templateName: String, failureRedirectionURL: String? = nil, fromEmailAddress: String? = nil) { + self.templateSubject = templateSubject + self.templateContent = templateContent + self.successRedirectionURL = successRedirectionURL + self.templateName = templateName + self.failureRedirectionURL = failureRedirectionURL + self.fromEmailAddress = fromEmailAddress + } + + private enum CodingKeys: String, CodingKey { + case templateSubject = "TemplateSubject" + case templateContent = "TemplateContent" + case successRedirectionURL = "SuccessRedirectionURL" + case templateName = "TemplateName" + case failureRedirectionURL = "FailureRedirectionURL" + case fromEmailAddress = "FromEmailAddress" + } + } + public struct DeleteTemplateResponse: AWSShape { } @@ -711,6 +835,22 @@ extension Email { } } + public struct SendCustomVerificationEmailResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MessageId", required: false, type: .string) + ] + /// The unique message identifier returned from the SendCustomVerificationEmail operation. + public let messageId: String? + + public init(messageId: String? = nil) { + self.messageId = messageId + } + + private enum CodingKeys: String, CodingKey { + case messageId = "MessageId" + } + } + public struct UpdateConfigurationSetReputationMetricsEnabledRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ConfigurationSetName", required: true, type: .string), @@ -732,11 +872,6 @@ extension Email { } } - public enum StopScope: String, CustomStringConvertible, Codable { - case ruleset = "RuleSet" - public var description: String { return self.rawValue } - } - public struct ListConfigurationSetsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -758,6 +893,11 @@ extension Email { } } + public enum StopScope: String, CustomStringConvertible, Codable { + case ruleset = "RuleSet" + public var description: String { return self.rawValue } + } + public struct DescribeReceiptRuleSetResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Metadata", required: false, type: .structure), @@ -811,7 +951,7 @@ extension Email { public let returnPathArn: String? /// A list of tags, in the form of name/value pairs, to apply to an email that you send to a destination using SendBulkTemplatedEmail. public let defaultTags: [MessageTag]? - /// The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide. If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide. In all cases, the email address must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047. + /// 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?=. public let source: String /// The template to use when sending this email. public let template: String @@ -910,9 +1050,9 @@ extension Email { ] /// 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. public let dimensionValueSource: DimensionValueSource - /// The name of an Amazon CloudWatch dimension associated with an email sending metric. The name must: Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Contain less than 256 characters. + /// 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. public let dimensionName: String - /// The default value of the dimension that is published to Amazon CloudWatch if you do not provide the value of the dimension when you send an email. The default value must: Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Contain less than 256 characters. + /// 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. public let defaultDimensionValue: String public init(dimensionValueSource: DimensionValueSource, dimensionName: String, defaultDimensionValue: String) { @@ -955,7 +1095,7 @@ extension Email { ] /// Saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon SNS. public let s3Action: S3Action? - /// Calls Amazon WorkMail and, optionally, publishes a notification to Amazon SNS. + /// Calls Amazon WorkMail and, optionally, publishes a notification to Amazon Amazon SNS. public let workmailAction: WorkmailAction? /// Adds a header to the received email. public let addHeaderAction: AddHeaderAction? @@ -1013,7 +1153,7 @@ extension Email { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RuleSetName", required: true, type: .string) ] - /// The name of the rule set to create. The name must: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-). Start and end with a letter or number. Contain less than 64 characters. + /// 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. public let ruleSetName: String public init(ruleSetName: String) { @@ -1198,6 +1338,27 @@ extension Email { } + public struct ListCustomVerificationEmailTemplatesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// An array the contains the name and creation time stamp for each template in your Amazon SES account. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + public struct DescribeReceiptRuleRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RuleName", required: true, type: .string), @@ -1245,10 +1406,6 @@ extension Email { } } - public struct DeleteConfigurationSetEventDestinationResponse: AWSShape { - - } - public struct SendEmailResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MessageId", required: true, type: .string) @@ -1265,6 +1422,10 @@ extension Email { } } + public struct DeleteConfigurationSetEventDestinationResponse: AWSShape { + + } + public struct LambdaAction: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FunctionArn", required: true, type: .string), @@ -1528,7 +1689,7 @@ extension Email { public let returnPathArn: String? /// The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address will receive the reply. public let replyToAddresses: [String]? - /// The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide. If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide. In all cases, the email address must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047. + /// 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?=. public let source: String /// The template to use when sending this email. public let template: String @@ -1626,6 +1787,47 @@ extension Email { } + public struct GetCustomVerificationEmailTemplateResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TemplateSubject", required: false, type: .string), + AWSShapeMember(label: "TemplateContent", required: false, type: .string), + AWSShapeMember(label: "SuccessRedirectionURL", required: false, type: .string), + AWSShapeMember(label: "TemplateName", required: false, type: .string), + AWSShapeMember(label: "FailureRedirectionURL", required: false, type: .string), + AWSShapeMember(label: "FromEmailAddress", required: false, type: .string) + ] + /// The subject line of the custom verification email. + public let templateSubject: String? + /// The content of the custom verification email. + public let templateContent: String? + /// The URL that the recipient of the verification email is sent to if his or her address is successfully verified. + public let successRedirectionURL: String? + /// The name of the custom verification email template. + public let templateName: String? + /// The URL that the recipient of the verification email is sent to if his or her address is not successfully verified. + public let failureRedirectionURL: String? + /// The email address that the custom verification email is sent from. + public let fromEmailAddress: String? + + public init(templateSubject: String? = nil, templateContent: String? = nil, successRedirectionURL: String? = nil, templateName: String? = nil, failureRedirectionURL: String? = nil, fromEmailAddress: String? = nil) { + self.templateSubject = templateSubject + self.templateContent = templateContent + self.successRedirectionURL = successRedirectionURL + self.templateName = templateName + self.failureRedirectionURL = failureRedirectionURL + self.fromEmailAddress = fromEmailAddress + } + + private enum CodingKeys: String, CodingKey { + case templateSubject = "TemplateSubject" + case templateContent = "TemplateContent" + case successRedirectionURL = "SuccessRedirectionURL" + case templateName = "TemplateName" + case failureRedirectionURL = "FailureRedirectionURL" + case fromEmailAddress = "FromEmailAddress" + } + } + public struct PutIdentityPolicyRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Policy", required: true, type: .string), @@ -1858,9 +2060,9 @@ extension Email { AWSShapeMember(label: "TemplatesMetadata", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// An array the contains the name of creation time stamp for each template in your Amazon SES account. + /// An array the contains the name and creation time stamp for each template in your Amazon SES account. public let templatesMetadata: [TemplateMetadata]? - /// The token to use for pagination. + /// 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. public let nextToken: String? public init(templatesMetadata: [TemplateMetadata]? = nil, nextToken: String? = nil) { @@ -1878,7 +2080,7 @@ extension Email { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Enabled", required: false, type: .boolean) ] - /// Describes whether email sending is enabled or disabled for your Amazon SES account. + /// Describes whether email sending is enabled or disabled for your Amazon SES account in the current AWS Region. public let enabled: Bool? public init(enabled: Bool? = nil) { @@ -2073,7 +2275,7 @@ extension Email { public let bucketName: String /// 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. public let objectKeyPrefix: String? - /// The customer master key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the default master key or a custom master key you created in AWS KMS as follows: To use the default master key, provide an ARN in the form of arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses. For example, if your AWS account ID is 123456789012 and you want to use the default master key in the US West (Oregon) region, the ARN of the default master key would be arn:aws:kms:us-west-2:123456789012:alias/aws/ses. If you use the default master key, you don't need to perform any extra steps to give Amazon SES permission to use the key. To use a custom master key you created in AWS KMS, provide the ARN of the master key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the Amazon SES Developer Guide. For more information about key policies, see the AWS KMS Developer Guide. If you do not specify a master key, Amazon SES will not encrypt your emails. Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the AWS Java SDK and AWS Ruby SDK only. For more information about client-side encryption using AWS KMS master keys, see the Amazon S3 Developer Guide. + /// 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. public let kmsKeyArn: String? public init(topicArn: String? = nil, bucketName: String, objectKeyPrefix: String? = nil, kmsKeyArn: String? = nil) { @@ -2096,7 +2298,7 @@ extension Email { AWSShapeMember(label: "Name", required: true, type: .string), AWSShapeMember(label: "IpFilter", required: true, type: .structure) ] - /// The name of the IP address filter. The name must: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-). Start and end with a letter or number. Contain less than 64 characters. + /// 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. public let name: String /// A structure that provides the IP addresses to block or allow, and whether to block or allow incoming mail from them. public let ipFilter: ReceiptIpFilter @@ -2175,6 +2377,27 @@ extension Email { } } + public struct ListCustomVerificationEmailTemplatesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CustomVerificationEmailTemplates", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// A list of the custom verification email templates that exist in your account. + public let customVerificationEmailTemplates: [CustomVerificationEmailTemplate]? + /// 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. + public let nextToken: String? + + public init(customVerificationEmailTemplates: [CustomVerificationEmailTemplate]? = nil, nextToken: String? = nil) { + self.customVerificationEmailTemplates = customVerificationEmailTemplates + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case customVerificationEmailTemplates = "CustomVerificationEmailTemplates" + case nextToken = "NextToken" + } + } + public struct VerifyEmailIdentityRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EmailAddress", required: true, type: .string) @@ -2233,9 +2456,9 @@ extension Email { AWSShapeMember(label: "Value", required: true, type: .string), AWSShapeMember(label: "Name", required: true, type: .string) ] - /// The value of the tag. The value must: Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Contain less than 256 characters. + /// 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. public let value: String - /// The name of the tag. The name must: Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Contain less than 256 characters. + /// 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. public let name: String public init(value: String, name: String) { @@ -2286,7 +2509,7 @@ extension Email { AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "CreatedTimestamp", required: false, type: .timestamp) ] - /// The name of the receipt rule set. The name must: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-). Start and end with a letter or number. Contain less than 64 characters. + /// 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. public let name: String? /// The date and time the receipt rule set was created. public let createdTimestamp: TimeStamp? @@ -2408,7 +2631,7 @@ extension Email { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Enabled", required: false, type: .boolean) ] - /// Describes whether email sending is enabled or disabled for your Amazon SES account. + /// Describes whether email sending is enabled or disabled for your Amazon SES account in the current AWS Region. public let enabled: Bool? public init(enabled: Bool? = nil) { @@ -2536,7 +2759,7 @@ extension Email { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxItems", required: false, type: .integer) ] - /// The token to use for pagination. + /// A token returned from a previous call to ListTemplates to indicate the position in the list of email templates. public let nextToken: String? /// 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. public let maxItems: Int32? @@ -2577,7 +2800,7 @@ extension Email { public let returnPathArn: String? /// 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. public let fromArn: String? - /// The identity's email address. If you do not provide a value for this parameter, you must specify a "From" address in the raw text of the message. (You can also specify both.) By default, the string must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047. If you specify the Source parameter and have feedback forwarding enabled, then bounces and complaints will be sent to this email address. This takes precedence over any Return-Path header that you might include in the raw text of the message. + /// 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. public let source: String? public init(configurationSetName: String? = nil, rawMessage: RawMessage, destinations: [String]? = nil, sourceArn: String? = nil, tags: [MessageTag]? = nil, returnPathArn: String? = nil, fromArn: String? = nil, source: String? = nil) { @@ -2769,7 +2992,7 @@ extension Email { public let actions: [ReceiptAction]? /// If true, the receipt rule is active. The default value is false. public let enabled: Bool? - /// The name of the receipt rule. The name must: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-). Start and end with a letter or number. Contain less than 64 characters. + /// 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. public let name: String /// 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. public let recipients: [String]? @@ -2819,7 +3042,7 @@ extension Email { public let tags: [MessageTag]? /// 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. public let returnPathArn: String? - /// The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide. If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide. In all cases, the email address must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047. + /// 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?=. public let source: String /// 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. public let returnPath: String? @@ -2927,6 +3150,22 @@ extension Email { } } + public struct DeleteCustomVerificationEmailTemplateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TemplateName", required: true, type: .string) + ] + /// The name of the custom verification email template that you want to delete. + public let templateName: String + + public init(templateName: String) { + self.templateName = templateName + } + + private enum CodingKeys: String, CodingKey { + case templateName = "TemplateName" + } + } + public struct RecipientDsnFields: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Status", required: true, type: .string), @@ -3010,6 +3249,42 @@ extension Email { } } + public struct CustomVerificationEmailTemplate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TemplateSubject", required: false, type: .string), + AWSShapeMember(label: "SuccessRedirectionURL", required: false, type: .string), + AWSShapeMember(label: "TemplateName", required: false, type: .string), + AWSShapeMember(label: "FailureRedirectionURL", required: false, type: .string), + AWSShapeMember(label: "FromEmailAddress", required: false, type: .string) + ] + /// The subject line of the custom verification email. + public let templateSubject: String? + /// The URL that the recipient of the verification email is sent to if his or her address is successfully verified. + public let successRedirectionURL: String? + /// The name of the custom verification email template. + public let templateName: String? + /// The URL that the recipient of the verification email is sent to if his or her address is not successfully verified. + public let failureRedirectionURL: String? + /// The email address that the custom verification email is sent from. + public let fromEmailAddress: String? + + public init(templateSubject: String? = nil, successRedirectionURL: String? = nil, templateName: String? = nil, failureRedirectionURL: String? = nil, fromEmailAddress: String? = nil) { + self.templateSubject = templateSubject + self.successRedirectionURL = successRedirectionURL + self.templateName = templateName + self.failureRedirectionURL = failureRedirectionURL + self.fromEmailAddress = fromEmailAddress + } + + private enum CodingKeys: String, CodingKey { + case templateSubject = "TemplateSubject" + case successRedirectionURL = "SuccessRedirectionURL" + case templateName = "TemplateName" + case failureRedirectionURL = "FailureRedirectionURL" + case fromEmailAddress = "FromEmailAddress" + } + } + public struct SendDataPoint: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DeliveryAttempts", required: false, type: .long), @@ -3067,11 +3342,11 @@ extension Email { } } - public struct CreateReceiptRuleSetResponse: AWSShape { + public struct DeleteIdentityResponse: AWSShape { } - public struct DeleteIdentityResponse: AWSShape { + public struct CreateReceiptRuleSetResponse: AWSShape { } diff --git a/Sources/AWSSDKSwift/Services/es/Es_API.swift b/Sources/AWSSDKSwift/Services/es/Es_API.swift index 173233d289e..30ad5ee442e 100644 --- a/Sources/AWSSDKSwift/Services/es/Es_API.swift +++ b/Sources/AWSSDKSwift/Services/es/Es_API.swift @@ -29,6 +29,16 @@ public struct Es { return try client.send(operation: "ListElasticsearchInstanceTypes", path: "/2015-01-01/es/instanceTypes/{ElasticsearchVersion}", httpMethod: "GET", input: input) } + /// Lists available reserved Elasticsearch instance offerings. + public func describeReservedElasticsearchInstanceOfferings(_ input: DescribeReservedElasticsearchInstanceOfferingsRequest) throws -> DescribeReservedElasticsearchInstanceOfferingsResponse { + return try client.send(operation: "DescribeReservedElasticsearchInstanceOfferings", path: "/2015-01-01/es/reservedInstanceOfferings", httpMethod: "GET", input: input) + } + + /// Returns information about reserved Elasticsearch instances for this account. + public func describeReservedElasticsearchInstances(_ input: DescribeReservedElasticsearchInstancesRequest) throws -> DescribeReservedElasticsearchInstancesResponse { + return try client.send(operation: "DescribeReservedElasticsearchInstances", path: "/2015-01-01/es/reservedInstances", httpMethod: "GET", input: input) + } + /// Returns the name of all Elasticsearch domains owned by the current user's account. public func listDomainNames() throws -> ListDomainNamesResponse { return try client.send(operation: "ListDomainNames", path: "/2015-01-01/domain", httpMethod: "GET") @@ -79,6 +89,11 @@ public struct Es { _ = try client.send(operation: "RemoveTags", path: "/2015-01-01/tags-removal", httpMethod: "POST", input: input) } + /// Allows you to purchase reserved Elasticsearch instances. + public func purchaseReservedElasticsearchInstanceOffering(_ input: PurchaseReservedElasticsearchInstanceOfferingRequest) throws -> PurchaseReservedElasticsearchInstanceOfferingResponse { + return try client.send(operation: "PurchaseReservedElasticsearchInstanceOffering", path: "/2015-01-01/es/purchaseReservedInstanceOffering", httpMethod: "POST", input: input) + } + /// Creates a new Elasticsearch domain. For more information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide. public func createElasticsearchDomain(_ input: CreateElasticsearchDomainRequest) throws -> CreateElasticsearchDomainResponse { return try client.send(operation: "CreateElasticsearchDomain", path: "/2015-01-01/es/domain", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/es/Es_Error.swift b/Sources/AWSSDKSwift/Services/es/Es_Error.swift index 69f4985e2ec..ab2e0711d11 100644 --- a/Sources/AWSSDKSwift/Services/es/Es_Error.swift +++ b/Sources/AWSSDKSwift/Services/es/Es_Error.swift @@ -8,9 +8,9 @@ public enum EsError: AWSErrorType { case internalException(message: String?) case resourceNotFoundException(message: String?) case validationException(message: String?) + case disabledOperationException(message: String?) case limitExceededException(message: String?) case invalidTypeException(message: String?) - case disabledOperationException(message: String?) case resourceAlreadyExistsException(message: String?) } @@ -29,12 +29,12 @@ extension EsError { self = .resourceNotFoundException(message: message) case "ValidationException": self = .validationException(message: message) + case "DisabledOperationException": + self = .disabledOperationException(message: message) case "LimitExceededException": self = .limitExceededException(message: message) case "InvalidTypeException": self = .invalidTypeException(message: message) - case "DisabledOperationException": - self = .disabledOperationException(message: message) case "ResourceAlreadyExistsException": self = .resourceAlreadyExistsException(message: message) default: diff --git a/Sources/AWSSDKSwift/Services/es/Es_Shapes.swift b/Sources/AWSSDKSwift/Services/es/Es_Shapes.swift index 2c8b3e861a7..471be57483a 100644 --- a/Sources/AWSSDKSwift/Services/es/Es_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/es/Es_Shapes.swift @@ -5,6 +5,22 @@ import AWSSDKSwiftCore extension Es { + public struct DescribeElasticsearchDomainsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DomainNames", required: true, type: .list) + ] + /// The Elasticsearch domains for which you want information. + public let domainNames: [String] + + public init(domainNames: [String]) { + self.domainNames = domainNames + } + + private enum CodingKeys: String, CodingKey { + case domainNames = "DomainNames" + } + } + public struct InstanceCountLimits: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MinimumInstanceCount", required: false, type: .integer), @@ -45,22 +61,6 @@ extension Es { } } - public struct DescribeElasticsearchDomainsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DomainNames", required: true, type: .list) - ] - /// The Elasticsearch domains for which you want information. - public let domainNames: [String] - - public init(domainNames: [String]) { - self.domainNames = domainNames - } - - private enum CodingKeys: String, CodingKey { - case domainNames = "DomainNames" - } - } - public struct DescribeElasticsearchDomainRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DomainName", location: .uri(locationName: "DomainName"), required: true, type: .string) @@ -98,6 +98,27 @@ extension Es { } } + public struct CognitoOptionsStatus: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Options", required: true, type: .structure), + AWSShapeMember(label: "Status", required: true, type: .structure) + ] + /// Specifies the Cognito options for the specified Elasticsearch domain. + public let options: CognitoOptions + /// Specifies the status of the Cognito options for the specified Elasticsearch domain. + public let status: OptionStatus + + public init(options: CognitoOptions, status: OptionStatus) { + self.options = options + self.status = status + } + + private enum CodingKeys: String, CodingKey { + case options = "Options" + case status = "Status" + } + } + public struct ListTagsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TagList", required: false, type: .list) @@ -171,6 +192,82 @@ extension Es { } } + public struct ReservedElasticsearchInstance: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReservedElasticsearchInstanceId", required: false, type: .string), + AWSShapeMember(label: "RecurringCharges", required: false, type: .list), + AWSShapeMember(label: "ElasticsearchInstanceType", required: false, type: .enum), + AWSShapeMember(label: "ReservationName", required: false, type: .string), + AWSShapeMember(label: "UsagePrice", required: false, type: .double), + AWSShapeMember(label: "State", required: false, type: .string), + AWSShapeMember(label: "PaymentOption", required: false, type: .enum), + AWSShapeMember(label: "ElasticsearchInstanceCount", required: false, type: .integer), + AWSShapeMember(label: "StartTime", required: false, type: .timestamp), + AWSShapeMember(label: "ReservedElasticsearchInstanceOfferingId", required: false, type: .string), + AWSShapeMember(label: "CurrencyCode", required: false, type: .string), + AWSShapeMember(label: "Duration", required: false, type: .integer), + AWSShapeMember(label: "FixedPrice", required: false, type: .double) + ] + /// The unique identifier for the reservation. + public let reservedElasticsearchInstanceId: String? + /// The charge to your account regardless of whether you are creating any domains using the instance offering. + public let recurringCharges: [RecurringCharge]? + /// The Elasticsearch instance type offered by the reserved instance offering. + public let elasticsearchInstanceType: ESPartitionInstanceType? + /// The customer-specified identifier to track this reservation. + public let reservationName: String? + /// The rate you are charged for each hour for the domain that is using this reserved instance. + public let usagePrice: Double? + /// The state of the reserved Elasticsearch instance. + public let state: String? + /// The payment option as defined in the reserved Elasticsearch instance offering. + public let paymentOption: ReservedElasticsearchInstancePaymentOption? + /// The number of Elasticsearch instances that have been reserved. + public let elasticsearchInstanceCount: Int32? + /// The time the reservation started. + public let startTime: TimeStamp? + /// The offering identifier. + public let reservedElasticsearchInstanceOfferingId: String? + /// The currency code for the reserved Elasticsearch instance offering. + public let currencyCode: String? + /// The duration, in seconds, for which the Elasticsearch instance is reserved. + public let duration: Int32? + /// The upfront fixed charge you will paid to purchase the specific reserved Elasticsearch instance offering. + public let fixedPrice: Double? + + public init(reservedElasticsearchInstanceId: String? = nil, recurringCharges: [RecurringCharge]? = nil, elasticsearchInstanceType: ESPartitionInstanceType? = nil, reservationName: String? = nil, usagePrice: Double? = nil, state: String? = nil, paymentOption: ReservedElasticsearchInstancePaymentOption? = nil, elasticsearchInstanceCount: Int32? = nil, startTime: TimeStamp? = nil, reservedElasticsearchInstanceOfferingId: String? = nil, currencyCode: String? = nil, duration: Int32? = nil, fixedPrice: Double? = nil) { + self.reservedElasticsearchInstanceId = reservedElasticsearchInstanceId + self.recurringCharges = recurringCharges + self.elasticsearchInstanceType = elasticsearchInstanceType + self.reservationName = reservationName + self.usagePrice = usagePrice + self.state = state + self.paymentOption = paymentOption + self.elasticsearchInstanceCount = elasticsearchInstanceCount + self.startTime = startTime + self.reservedElasticsearchInstanceOfferingId = reservedElasticsearchInstanceOfferingId + self.currencyCode = currencyCode + self.duration = duration + self.fixedPrice = fixedPrice + } + + private enum CodingKeys: String, CodingKey { + case reservedElasticsearchInstanceId = "ReservedElasticsearchInstanceId" + case recurringCharges = "RecurringCharges" + case elasticsearchInstanceType = "ElasticsearchInstanceType" + case reservationName = "ReservationName" + case usagePrice = "UsagePrice" + case state = "State" + case paymentOption = "PaymentOption" + case elasticsearchInstanceCount = "ElasticsearchInstanceCount" + case startTime = "StartTime" + case reservedElasticsearchInstanceOfferingId = "ReservedElasticsearchInstanceOfferingId" + case currencyCode = "CurrencyCode" + case duration = "Duration" + case fixedPrice = "FixedPrice" + } + } + public struct DescribeElasticsearchInstanceTypeLimitsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LimitsByRole", required: false, type: .map) @@ -186,6 +283,83 @@ extension Es { } } + public struct DescribeReservedElasticsearchInstancesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReservedElasticsearchInstanceId", location: .querystring(locationName: "reservationId"), required: false, type: .string), + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the specified reserved Elasticsearch instance ID. + public let reservedElasticsearchInstanceId: String? + /// NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination. + public let nextToken: String? + /// Set this value to limit the number of results returned. If not specified, defaults to 100. + public let maxResults: Int32? + + public init(reservedElasticsearchInstanceId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.reservedElasticsearchInstanceId = reservedElasticsearchInstanceId + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case reservedElasticsearchInstanceId = "reservationId" + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct ReservedElasticsearchInstanceOffering: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ElasticsearchInstanceType", required: false, type: .enum), + AWSShapeMember(label: "RecurringCharges", required: false, type: .list), + AWSShapeMember(label: "UsagePrice", required: false, type: .double), + AWSShapeMember(label: "PaymentOption", required: false, type: .enum), + AWSShapeMember(label: "ReservedElasticsearchInstanceOfferingId", required: false, type: .string), + AWSShapeMember(label: "CurrencyCode", required: false, type: .string), + AWSShapeMember(label: "Duration", required: false, type: .integer), + AWSShapeMember(label: "FixedPrice", required: false, type: .double) + ] + /// The Elasticsearch instance type offered by the reserved instance offering. + public let elasticsearchInstanceType: ESPartitionInstanceType? + /// The charge to your account regardless of whether you are creating any domains using the instance offering. + public let recurringCharges: [RecurringCharge]? + /// The rate you are charged for each hour the domain that is using the offering is running. + public let usagePrice: Double? + /// Payment option for the reserved Elasticsearch instance offering + public let paymentOption: ReservedElasticsearchInstancePaymentOption? + /// The Elasticsearch reserved instance offering identifier. + public let reservedElasticsearchInstanceOfferingId: String? + /// The currency code for the reserved Elasticsearch instance offering. + public let currencyCode: String? + /// The duration, in seconds, for which the offering will reserve the Elasticsearch instance. + public let duration: Int32? + /// The upfront fixed charge you will pay to purchase the specific reserved Elasticsearch instance offering. + public let fixedPrice: Double? + + public init(elasticsearchInstanceType: ESPartitionInstanceType? = nil, recurringCharges: [RecurringCharge]? = nil, usagePrice: Double? = nil, paymentOption: ReservedElasticsearchInstancePaymentOption? = nil, reservedElasticsearchInstanceOfferingId: String? = nil, currencyCode: String? = nil, duration: Int32? = nil, fixedPrice: Double? = nil) { + self.elasticsearchInstanceType = elasticsearchInstanceType + self.recurringCharges = recurringCharges + self.usagePrice = usagePrice + self.paymentOption = paymentOption + self.reservedElasticsearchInstanceOfferingId = reservedElasticsearchInstanceOfferingId + self.currencyCode = currencyCode + self.duration = duration + self.fixedPrice = fixedPrice + } + + private enum CodingKeys: String, CodingKey { + case elasticsearchInstanceType = "ElasticsearchInstanceType" + case recurringCharges = "RecurringCharges" + case usagePrice = "UsagePrice" + case paymentOption = "PaymentOption" + case reservedElasticsearchInstanceOfferingId = "ReservedElasticsearchInstanceOfferingId" + case currencyCode = "CurrencyCode" + case duration = "Duration" + case fixedPrice = "FixedPrice" + } + } + public struct AdditionalLimit: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LimitName", required: false, type: .string), @@ -283,6 +457,7 @@ extension Es { public enum LogType: String, CustomStringConvertible, Codable { case indexSlowLogs = "INDEX_SLOW_LOGS" case searchSlowLogs = "SEARCH_SLOW_LOGS" + case esApplicationLogs = "ES_APPLICATION_LOGS" public var description: String { return self.rawValue } } @@ -307,6 +482,27 @@ extension Es { } } + public struct RecurringCharge: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RecurringChargeAmount", required: false, type: .double), + AWSShapeMember(label: "RecurringChargeFrequency", required: false, type: .string) + ] + /// The monetary amount of the recurring charge. + public let recurringChargeAmount: Double? + /// The frequency of the recurring charge. + public let recurringChargeFrequency: String? + + public init(recurringChargeAmount: Double? = nil, recurringChargeFrequency: String? = nil) { + self.recurringChargeAmount = recurringChargeAmount + self.recurringChargeFrequency = recurringChargeFrequency + } + + private enum CodingKeys: String, CodingKey { + case recurringChargeAmount = "RecurringChargeAmount" + case recurringChargeFrequency = "RecurringChargeFrequency" + } + } + public struct ElasticsearchVersionStatus: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Options", required: true, type: .string), @@ -347,21 +543,6 @@ extension Es { } } - public struct InstanceLimits: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InstanceCountLimits", required: false, type: .structure) - ] - public let instanceCountLimits: InstanceCountLimits? - - public init(instanceCountLimits: InstanceCountLimits? = nil) { - self.instanceCountLimits = instanceCountLimits - } - - private enum CodingKeys: String, CodingKey { - case instanceCountLimits = "InstanceCountLimits" - } - } - public struct AdvancedOptionsStatus: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Options", required: true, type: .map), @@ -383,6 +564,21 @@ extension Es { } } + public struct InstanceLimits: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceCountLimits", required: false, type: .structure) + ] + public let instanceCountLimits: InstanceCountLimits? + + public init(instanceCountLimits: InstanceCountLimits? = nil) { + self.instanceCountLimits = instanceCountLimits + } + + private enum CodingKeys: String, CodingKey { + case instanceCountLimits = "InstanceCountLimits" + } + } + public struct VPCDerivedInfo: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SubnetIds", required: false, type: .list), @@ -417,24 +613,30 @@ extension Es { public struct ElasticsearchDomainConfig: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SnapshotOptions", required: false, type: .structure), + AWSShapeMember(label: "EncryptionAtRestOptions", required: false, type: .structure), AWSShapeMember(label: "ElasticsearchClusterConfig", required: false, type: .structure), - AWSShapeMember(label: "EBSOptions", required: false, type: .structure), AWSShapeMember(label: "VPCOptions", required: false, type: .structure), AWSShapeMember(label: "LogPublishingOptions", required: false, type: .structure), + AWSShapeMember(label: "EBSOptions", required: false, type: .structure), + AWSShapeMember(label: "CognitoOptions", required: false, type: .structure), AWSShapeMember(label: "ElasticsearchVersion", required: false, type: .structure), AWSShapeMember(label: "AccessPolicies", required: false, type: .structure), AWSShapeMember(label: "AdvancedOptions", required: false, type: .structure) ] /// Specifies the SnapshotOptions for the Elasticsearch domain. public let snapshotOptions: SnapshotOptionsStatus? + /// Specifies the EncryptionAtRestOptions for the Elasticsearch domain. + public let encryptionAtRestOptions: EncryptionAtRestOptionsStatus? /// Specifies the ElasticsearchClusterConfig for the Elasticsearch domain. public let elasticsearchClusterConfig: ElasticsearchClusterConfigStatus? - /// Specifies the EBSOptions for the Elasticsearch domain. - public let eBSOptions: EBSOptionsStatus? /// The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains. public let vPCOptions: VPCDerivedInfoStatus? /// Log publishing options for the given domain. public let logPublishingOptions: LogPublishingOptionsStatus? + /// Specifies the EBSOptions for the Elasticsearch domain. + public let eBSOptions: EBSOptionsStatus? + /// The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana. + public let cognitoOptions: CognitoOptionsStatus? /// String of format X.Y to specify version for the Elasticsearch domain. public let elasticsearchVersion: ElasticsearchVersionStatus? /// IAM access policy as a JSON-formatted string. @@ -442,12 +644,14 @@ extension Es { /// Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information. public let advancedOptions: AdvancedOptionsStatus? - public init(snapshotOptions: SnapshotOptionsStatus? = nil, elasticsearchClusterConfig: ElasticsearchClusterConfigStatus? = nil, eBSOptions: EBSOptionsStatus? = nil, vPCOptions: VPCDerivedInfoStatus? = nil, logPublishingOptions: LogPublishingOptionsStatus? = nil, elasticsearchVersion: ElasticsearchVersionStatus? = nil, accessPolicies: AccessPoliciesStatus? = nil, advancedOptions: AdvancedOptionsStatus? = nil) { + public init(snapshotOptions: SnapshotOptionsStatus? = nil, encryptionAtRestOptions: EncryptionAtRestOptionsStatus? = nil, elasticsearchClusterConfig: ElasticsearchClusterConfigStatus? = nil, vPCOptions: VPCDerivedInfoStatus? = nil, logPublishingOptions: LogPublishingOptionsStatus? = nil, eBSOptions: EBSOptionsStatus? = nil, cognitoOptions: CognitoOptionsStatus? = nil, elasticsearchVersion: ElasticsearchVersionStatus? = nil, accessPolicies: AccessPoliciesStatus? = nil, advancedOptions: AdvancedOptionsStatus? = nil) { self.snapshotOptions = snapshotOptions + self.encryptionAtRestOptions = encryptionAtRestOptions self.elasticsearchClusterConfig = elasticsearchClusterConfig - self.eBSOptions = eBSOptions self.vPCOptions = vPCOptions self.logPublishingOptions = logPublishingOptions + self.eBSOptions = eBSOptions + self.cognitoOptions = cognitoOptions self.elasticsearchVersion = elasticsearchVersion self.accessPolicies = accessPolicies self.advancedOptions = advancedOptions @@ -455,16 +659,39 @@ extension Es { private enum CodingKeys: String, CodingKey { case snapshotOptions = "SnapshotOptions" + case encryptionAtRestOptions = "EncryptionAtRestOptions" case elasticsearchClusterConfig = "ElasticsearchClusterConfig" - case eBSOptions = "EBSOptions" case vPCOptions = "VPCOptions" case logPublishingOptions = "LogPublishingOptions" + case eBSOptions = "EBSOptions" + case cognitoOptions = "CognitoOptions" case elasticsearchVersion = "ElasticsearchVersion" case accessPolicies = "AccessPolicies" case advancedOptions = "AdvancedOptions" } } + public struct DescribeReservedElasticsearchInstanceOfferingsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ReservedElasticsearchInstanceOfferings", required: false, type: .list) + ] + /// Provides an identifier to allow retrieval of paginated results. + public let nextToken: String? + /// List of reserved Elasticsearch instance offerings + public let reservedElasticsearchInstanceOfferings: [ReservedElasticsearchInstanceOffering]? + + public init(nextToken: String? = nil, reservedElasticsearchInstanceOfferings: [ReservedElasticsearchInstanceOffering]? = nil) { + self.nextToken = nextToken + self.reservedElasticsearchInstanceOfferings = reservedElasticsearchInstanceOfferings + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case reservedElasticsearchInstanceOfferings = "ReservedElasticsearchInstanceOfferings" + } + } + public struct DeleteElasticsearchDomainResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DomainStatus", required: false, type: .structure) @@ -573,30 +800,34 @@ extension Es { public struct ElasticsearchDomainStatus: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DomainId", required: true, type: .string), + AWSShapeMember(label: "Endpoints", required: false, type: .map), AWSShapeMember(label: "VPCOptions", required: false, type: .structure), - AWSShapeMember(label: "ElasticsearchVersion", required: false, type: .string), + AWSShapeMember(label: "CognitoOptions", required: false, type: .structure), AWSShapeMember(label: "Processing", required: false, type: .boolean), + AWSShapeMember(label: "ElasticsearchVersion", required: false, type: .string), AWSShapeMember(label: "Created", required: false, type: .boolean), AWSShapeMember(label: "ARN", required: true, type: .string), AWSShapeMember(label: "EBSOptions", required: false, type: .structure), AWSShapeMember(label: "ElasticsearchClusterConfig", required: true, type: .structure), - AWSShapeMember(label: "SnapshotOptions", required: false, type: .structure), + AWSShapeMember(label: "EncryptionAtRestOptions", required: false, type: .structure), AWSShapeMember(label: "LogPublishingOptions", required: false, type: .map), + AWSShapeMember(label: "SnapshotOptions", required: false, type: .structure), AWSShapeMember(label: "AccessPolicies", required: false, type: .string), AWSShapeMember(label: "AdvancedOptions", required: false, type: .map), AWSShapeMember(label: "DomainName", required: true, type: .string), AWSShapeMember(label: "Endpoint", required: false, type: .string), AWSShapeMember(label: "Deleted", required: false, type: .boolean), - AWSShapeMember(label: "Endpoints", required: false, type: .map) + AWSShapeMember(label: "DomainId", required: true, type: .string) ] - /// The unique identifier for the specified Elasticsearch domain. - public let domainId: String + /// 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'. + public let endpoints: [String: String]? /// The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains. public let vPCOptions: VPCDerivedInfo? - public let elasticsearchVersion: String? + /// The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana. + public let cognitoOptions: CognitoOptions? /// The status of the Elasticsearch domain configuration. True if Amazon Elasticsearch Service is processing configuration changes. False if the configuration is active. public let processing: Bool? + public let elasticsearchVersion: String? /// The domain creation status. True if the creation of an Elasticsearch domain is complete. False if domain creation is still in progress. public let created: Bool? /// The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information. @@ -605,10 +836,12 @@ extension Es { public let eBSOptions: EBSOptions? /// The type and number of instances in the domain cluster. public let elasticsearchClusterConfig: ElasticsearchClusterConfig - /// Specifies the status of the SnapshotOptions - public let snapshotOptions: SnapshotOptions? + /// Specifies the status of the EncryptionAtRestOptions. + public let encryptionAtRestOptions: EncryptionAtRestOptions? /// Log publishing options for the given domain. public let logPublishingOptions: [LogType: LogPublishingOption]? + /// Specifies the status of the SnapshotOptions + public let snapshotOptions: SnapshotOptions? /// IAM access policy as a JSON-formatted string. public let accessPolicies: String? /// Specifies the status of the AdvancedOptions @@ -619,76 +852,101 @@ extension Es { public let endpoint: String? /// 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. public let deleted: Bool? - /// 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'. - public let endpoints: [String: String]? + /// The unique identifier for the specified Elasticsearch domain. + public let domainId: String - public init(domainId: String, vPCOptions: VPCDerivedInfo? = nil, elasticsearchVersion: String? = nil, processing: Bool? = nil, created: Bool? = nil, arn: String, eBSOptions: EBSOptions? = nil, elasticsearchClusterConfig: ElasticsearchClusterConfig, snapshotOptions: SnapshotOptions? = nil, logPublishingOptions: [LogType: LogPublishingOption]? = nil, accessPolicies: String? = nil, advancedOptions: [String: String]? = nil, domainName: String, endpoint: String? = nil, deleted: Bool? = nil, endpoints: [String: String]? = nil) { - self.domainId = domainId + public init(endpoints: [String: String]? = nil, vPCOptions: VPCDerivedInfo? = nil, cognitoOptions: CognitoOptions? = nil, processing: Bool? = nil, elasticsearchVersion: String? = nil, created: Bool? = nil, arn: String, eBSOptions: EBSOptions? = nil, elasticsearchClusterConfig: ElasticsearchClusterConfig, encryptionAtRestOptions: EncryptionAtRestOptions? = nil, logPublishingOptions: [LogType: LogPublishingOption]? = nil, snapshotOptions: SnapshotOptions? = nil, accessPolicies: String? = nil, advancedOptions: [String: String]? = nil, domainName: String, endpoint: String? = nil, deleted: Bool? = nil, domainId: String) { + self.endpoints = endpoints self.vPCOptions = vPCOptions - self.elasticsearchVersion = elasticsearchVersion + self.cognitoOptions = cognitoOptions self.processing = processing + self.elasticsearchVersion = elasticsearchVersion self.created = created self.arn = arn self.eBSOptions = eBSOptions self.elasticsearchClusterConfig = elasticsearchClusterConfig - self.snapshotOptions = snapshotOptions + self.encryptionAtRestOptions = encryptionAtRestOptions self.logPublishingOptions = logPublishingOptions + self.snapshotOptions = snapshotOptions self.accessPolicies = accessPolicies self.advancedOptions = advancedOptions self.domainName = domainName self.endpoint = endpoint self.deleted = deleted - self.endpoints = endpoints + self.domainId = domainId } private enum CodingKeys: String, CodingKey { - case domainId = "DomainId" + case endpoints = "Endpoints" case vPCOptions = "VPCOptions" - case elasticsearchVersion = "ElasticsearchVersion" + case cognitoOptions = "CognitoOptions" case processing = "Processing" + case elasticsearchVersion = "ElasticsearchVersion" case created = "Created" case arn = "ARN" case eBSOptions = "EBSOptions" case elasticsearchClusterConfig = "ElasticsearchClusterConfig" - case snapshotOptions = "SnapshotOptions" + case encryptionAtRestOptions = "EncryptionAtRestOptions" case logPublishingOptions = "LogPublishingOptions" + case snapshotOptions = "SnapshotOptions" case accessPolicies = "AccessPolicies" case advancedOptions = "AdvancedOptions" case domainName = "DomainName" case endpoint = "Endpoint" case deleted = "Deleted" - case endpoints = "Endpoints" + case domainId = "DomainId" } } public struct ListElasticsearchInstanceTypesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), + AWSShapeMember(label: "ElasticsearchVersion", location: .uri(locationName: "ElasticsearchVersion"), required: true, type: .string), AWSShapeMember(label: "DomainName", location: .querystring(locationName: "domainName"), required: false, type: .string), AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "ElasticsearchVersion", location: .uri(locationName: "ElasticsearchVersion"), required: true, type: .string) + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) ] - /// Set this value to limit the number of results returned. Value provided must be greater than 30 else it wont be honored. - public let maxResults: Int32? + /// Version of Elasticsearch for which list of supported elasticsearch instance types are needed. + public let elasticsearchVersion: String /// 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. public let domainName: String? /// NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination. public let nextToken: String? - /// Version of Elasticsearch for which list of supported elasticsearch instance types are needed. - public let elasticsearchVersion: String + /// Set this value to limit the number of results returned. Value provided must be greater than 30 else it wont be honored. + public let maxResults: Int32? - public init(maxResults: Int32? = nil, domainName: String? = nil, nextToken: String? = nil, elasticsearchVersion: String) { - self.maxResults = maxResults + public init(elasticsearchVersion: String, domainName: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.elasticsearchVersion = elasticsearchVersion self.domainName = domainName self.nextToken = nextToken - self.elasticsearchVersion = elasticsearchVersion + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case maxResults = "maxResults" + case elasticsearchVersion = "ElasticsearchVersion" case domainName = "domainName" case nextToken = "nextToken" - case elasticsearchVersion = "ElasticsearchVersion" + case maxResults = "maxResults" + } + } + + public struct EncryptionAtRestOptions: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Enabled", required: false, type: .boolean), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string) + ] + /// Specifies the option to enable Encryption At Rest. + public let enabled: Bool? + /// Specifies the KMS Key ID for Encryption At Rest options. + public let kmsKeyId: String? + + public init(enabled: Bool? = nil, kmsKeyId: String? = nil) { + self.enabled = enabled + self.kmsKeyId = kmsKeyId + } + + private enum CodingKeys: String, CodingKey { + case enabled = "Enabled" + case kmsKeyId = "KmsKeyId" } } @@ -699,6 +957,7 @@ extension Es { AWSShapeMember(label: "EBSOptions", required: false, type: .structure), AWSShapeMember(label: "VPCOptions", required: false, type: .structure), AWSShapeMember(label: "LogPublishingOptions", required: false, type: .map), + AWSShapeMember(label: "CognitoOptions", required: false, type: .structure), AWSShapeMember(label: "AdvancedOptions", required: false, type: .map), AWSShapeMember(label: "AccessPolicies", required: false, type: .string), AWSShapeMember(label: "DomainName", location: .uri(locationName: "DomainName"), required: true, type: .string) @@ -713,6 +972,8 @@ extension Es { public let vPCOptions: VPCOptions? /// Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log. public let logPublishingOptions: [LogType: LogPublishingOption]? + /// Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana. + public let cognitoOptions: CognitoOptions? /// 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. public let advancedOptions: [String: String]? /// IAM access policy as a JSON-formatted string. @@ -720,12 +981,13 @@ extension Es { /// The name of the Elasticsearch domain that you are updating. public let domainName: String - public init(snapshotOptions: SnapshotOptions? = nil, elasticsearchClusterConfig: ElasticsearchClusterConfig? = nil, eBSOptions: EBSOptions? = nil, vPCOptions: VPCOptions? = nil, logPublishingOptions: [LogType: LogPublishingOption]? = nil, advancedOptions: [String: String]? = nil, accessPolicies: String? = nil, domainName: String) { + public init(snapshotOptions: SnapshotOptions? = nil, elasticsearchClusterConfig: ElasticsearchClusterConfig? = nil, eBSOptions: EBSOptions? = nil, vPCOptions: VPCOptions? = nil, logPublishingOptions: [LogType: LogPublishingOption]? = nil, cognitoOptions: CognitoOptions? = nil, advancedOptions: [String: String]? = nil, accessPolicies: String? = nil, domainName: String) { self.snapshotOptions = snapshotOptions self.elasticsearchClusterConfig = elasticsearchClusterConfig self.eBSOptions = eBSOptions self.vPCOptions = vPCOptions self.logPublishingOptions = logPublishingOptions + self.cognitoOptions = cognitoOptions self.advancedOptions = advancedOptions self.accessPolicies = accessPolicies self.domainName = domainName @@ -737,28 +999,13 @@ extension Es { case eBSOptions = "EBSOptions" case vPCOptions = "VPCOptions" case logPublishingOptions = "LogPublishingOptions" + case cognitoOptions = "CognitoOptions" case advancedOptions = "AdvancedOptions" case accessPolicies = "AccessPolicies" case domainName = "DomainName" } } - public struct CreateElasticsearchDomainResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DomainStatus", required: false, type: .structure) - ] - /// The status of the newly created Elasticsearch domain. - public let domainStatus: ElasticsearchDomainStatus? - - public init(domainStatus: ElasticsearchDomainStatus? = nil) { - self.domainStatus = domainStatus - } - - private enum CodingKeys: String, CodingKey { - case domainStatus = "DomainStatus" - } - } - public struct ElasticsearchClusterConfigStatus: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Options", required: true, type: .structure), @@ -780,6 +1027,22 @@ extension Es { } } + public struct CreateElasticsearchDomainResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DomainStatus", required: false, type: .structure) + ] + /// The status of the newly created Elasticsearch domain. + public let domainStatus: ElasticsearchDomainStatus? + + public init(domainStatus: ElasticsearchDomainStatus? = nil) { + self.domainStatus = domainStatus + } + + private enum CodingKeys: String, CodingKey { + case domainStatus = "DomainStatus" + } + } + public struct DescribeElasticsearchInstanceTypeLimitsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "InstanceType", location: .uri(locationName: "InstanceType"), required: true, type: .enum), @@ -866,6 +1129,32 @@ extension Es { public var description: String { return self.rawValue } } + public struct DescribeReservedElasticsearchInstanceOfferingsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReservedElasticsearchInstanceOfferingId", location: .querystring(locationName: "offeringId"), required: false, type: .string), + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier. + public let reservedElasticsearchInstanceOfferingId: String? + /// NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination. + public let nextToken: String? + /// Set this value to limit the number of results returned. If not specified, defaults to 100. + public let maxResults: Int32? + + public init(reservedElasticsearchInstanceOfferingId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.reservedElasticsearchInstanceOfferingId = reservedElasticsearchInstanceOfferingId + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case reservedElasticsearchInstanceOfferingId = "offeringId" + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + public struct SnapshotOptions: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AutomatedSnapshotStartHour", required: false, type: .integer) @@ -945,6 +1234,13 @@ extension Es { } } + public enum ReservedElasticsearchInstancePaymentOption: String, CustomStringConvertible, Codable { + case allUpfront = "ALL_UPFRONT" + case partialUpfront = "PARTIAL_UPFRONT" + case noUpfront = "NO_UPFRONT" + public var description: String { return self.rawValue } + } + public struct ListElasticsearchVersionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), @@ -965,6 +1261,27 @@ extension Es { } } + public struct ListElasticsearchInstanceTypesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ElasticsearchInstanceTypes", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// List of instance types supported by Amazon Elasticsearch service for given ElasticsearchVersion + public let elasticsearchInstanceTypes: [ESPartitionInstanceType]? + /// 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. + public let nextToken: String? + + public init(elasticsearchInstanceTypes: [ESPartitionInstanceType]? = nil, nextToken: String? = nil) { + self.elasticsearchInstanceTypes = elasticsearchInstanceTypes + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case elasticsearchInstanceTypes = "ElasticsearchInstanceTypes" + case nextToken = "NextToken" + } + } + public struct SnapshotOptionsStatus: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Options", required: true, type: .structure), @@ -986,24 +1303,24 @@ extension Es { } } - public struct ListElasticsearchInstanceTypesResponse: AWSShape { + public struct EncryptionAtRestOptionsStatus: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ElasticsearchInstanceTypes", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) + AWSShapeMember(label: "Options", required: true, type: .structure), + AWSShapeMember(label: "Status", required: true, type: .structure) ] - /// List of instance types supported by Amazon Elasticsearch service for given ElasticsearchVersion - public let elasticsearchInstanceTypes: [ESPartitionInstanceType]? - /// 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. - public let nextToken: String? + /// Specifies the Encryption At Rest options for the specified Elasticsearch domain. + public let options: EncryptionAtRestOptions + /// Specifies the status of the Encryption At Rest options for the specified Elasticsearch domain. + public let status: OptionStatus - public init(elasticsearchInstanceTypes: [ESPartitionInstanceType]? = nil, nextToken: String? = nil) { - self.elasticsearchInstanceTypes = elasticsearchInstanceTypes - self.nextToken = nextToken + public init(options: EncryptionAtRestOptions, status: OptionStatus) { + self.options = options + self.status = status } private enum CodingKeys: String, CodingKey { - case elasticsearchInstanceTypes = "ElasticsearchInstanceTypes" - case nextToken = "NextToken" + case options = "Options" + case status = "Status" } } @@ -1023,6 +1340,37 @@ extension Es { } } + public struct CognitoOptions: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Enabled", required: false, type: .boolean), + AWSShapeMember(label: "RoleArn", required: false, type: .string), + AWSShapeMember(label: "IdentityPoolId", required: false, type: .string), + AWSShapeMember(label: "UserPoolId", required: false, type: .string) + ] + /// Specifies the option to enable Cognito for Kibana authentication. + public let enabled: Bool? + /// Specifies the role ARN that provides Elasticsearch permissions for accessing Cognito resources. + public let roleArn: String? + /// Specifies the Cognito identity pool ID for Kibana authentication. + public let identityPoolId: String? + /// Specifies the Cognito user pool ID for Kibana authentication. + public let userPoolId: String? + + public init(enabled: Bool? = nil, roleArn: String? = nil, identityPoolId: String? = nil, userPoolId: String? = nil) { + self.enabled = enabled + self.roleArn = roleArn + self.identityPoolId = identityPoolId + self.userPoolId = userPoolId + } + + private enum CodingKeys: String, CodingKey { + case enabled = "Enabled" + case roleArn = "RoleArn" + case identityPoolId = "IdentityPoolId" + case userPoolId = "UserPoolId" + } + } + public struct UpdateElasticsearchDomainConfigResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DomainConfig", required: true, type: .structure) @@ -1039,40 +1387,40 @@ extension Es { } } - public struct DeleteElasticsearchDomainRequest: AWSShape { + public struct DescribeReservedElasticsearchInstancesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DomainName", location: .uri(locationName: "DomainName"), required: true, type: .string) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ReservedElasticsearchInstances", required: false, type: .list) ] - /// The name of the Elasticsearch domain that you want to permanently delete. - public let domainName: String + /// Provides an identifier to allow retrieval of paginated results. + public let nextToken: String? + /// List of reserved Elasticsearch instances. + public let reservedElasticsearchInstances: [ReservedElasticsearchInstance]? - public init(domainName: String) { - self.domainName = domainName + public init(nextToken: String? = nil, reservedElasticsearchInstances: [ReservedElasticsearchInstance]? = nil) { + self.nextToken = nextToken + self.reservedElasticsearchInstances = reservedElasticsearchInstances } private enum CodingKeys: String, CodingKey { - case domainName = "DomainName" + case nextToken = "NextToken" + case reservedElasticsearchInstances = "ReservedElasticsearchInstances" } } - public struct VPCDerivedInfoStatus: AWSShape { + public struct DeleteElasticsearchDomainRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Options", required: true, type: .structure), - AWSShapeMember(label: "Status", required: true, type: .structure) + AWSShapeMember(label: "DomainName", location: .uri(locationName: "DomainName"), required: true, type: .string) ] - /// Specifies the VPC options for the specified Elasticsearch domain. - public let options: VPCDerivedInfo - /// Specifies the status of the VPC options for the specified Elasticsearch domain. - public let status: OptionStatus + /// The name of the Elasticsearch domain that you want to permanently delete. + public let domainName: String - public init(options: VPCDerivedInfo, status: OptionStatus) { - self.options = options - self.status = status + public init(domainName: String) { + self.domainName = domainName } private enum CodingKeys: String, CodingKey { - case options = "Options" - case status = "Status" + case domainName = "DomainName" } } @@ -1101,13 +1449,36 @@ extension Es { } } + public struct VPCDerivedInfoStatus: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Options", required: true, type: .structure), + AWSShapeMember(label: "Status", required: true, type: .structure) + ] + /// Specifies the VPC options for the specified Elasticsearch domain. + public let options: VPCDerivedInfo + /// Specifies the status of the VPC options for the specified Elasticsearch domain. + public let status: OptionStatus + + public init(options: VPCDerivedInfo, status: OptionStatus) { + self.options = options + self.status = status + } + + private enum CodingKeys: String, CodingKey { + case options = "Options" + case status = "Status" + } + } + public struct CreateElasticsearchDomainRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SnapshotOptions", required: false, type: .structure), + AWSShapeMember(label: "EncryptionAtRestOptions", required: false, type: .structure), AWSShapeMember(label: "ElasticsearchClusterConfig", required: false, type: .structure), - AWSShapeMember(label: "EBSOptions", required: false, type: .structure), AWSShapeMember(label: "VPCOptions", required: false, type: .structure), AWSShapeMember(label: "LogPublishingOptions", required: false, type: .map), + AWSShapeMember(label: "EBSOptions", required: false, type: .structure), + AWSShapeMember(label: "CognitoOptions", required: false, type: .structure), AWSShapeMember(label: "ElasticsearchVersion", required: false, type: .string), AWSShapeMember(label: "AccessPolicies", required: false, type: .string), AWSShapeMember(label: "AdvancedOptions", required: false, type: .map), @@ -1115,14 +1486,18 @@ extension Es { ] /// Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours. public let snapshotOptions: SnapshotOptions? + /// Specifies the Encryption At Rest Options. + public let encryptionAtRestOptions: EncryptionAtRestOptions? /// Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in the domain cluster. public let elasticsearchClusterConfig: ElasticsearchClusterConfig? - /// Options to enable, disable and specify the type and size of EBS storage volumes. - public let eBSOptions: EBSOptions? /// 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 public let vPCOptions: VPCOptions? /// Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log. public let logPublishingOptions: [LogType: LogPublishingOption]? + /// Options to enable, disable and specify the type and size of EBS storage volumes. + public let eBSOptions: EBSOptions? + /// Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana. + public let cognitoOptions: CognitoOptions? /// 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. public let elasticsearchVersion: String? /// IAM access policy as a JSON-formatted string. @@ -1132,12 +1507,14 @@ extension Es { /// 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). public let domainName: String - public init(snapshotOptions: SnapshotOptions? = nil, elasticsearchClusterConfig: ElasticsearchClusterConfig? = nil, eBSOptions: EBSOptions? = nil, vPCOptions: VPCOptions? = nil, logPublishingOptions: [LogType: LogPublishingOption]? = nil, elasticsearchVersion: String? = nil, accessPolicies: String? = nil, advancedOptions: [String: String]? = nil, domainName: String) { + public init(snapshotOptions: SnapshotOptions? = nil, encryptionAtRestOptions: EncryptionAtRestOptions? = nil, elasticsearchClusterConfig: ElasticsearchClusterConfig? = nil, vPCOptions: VPCOptions? = nil, logPublishingOptions: [LogType: LogPublishingOption]? = nil, eBSOptions: EBSOptions? = nil, cognitoOptions: CognitoOptions? = nil, elasticsearchVersion: String? = nil, accessPolicies: String? = nil, advancedOptions: [String: String]? = nil, domainName: String) { self.snapshotOptions = snapshotOptions + self.encryptionAtRestOptions = encryptionAtRestOptions self.elasticsearchClusterConfig = elasticsearchClusterConfig - self.eBSOptions = eBSOptions self.vPCOptions = vPCOptions self.logPublishingOptions = logPublishingOptions + self.eBSOptions = eBSOptions + self.cognitoOptions = cognitoOptions self.elasticsearchVersion = elasticsearchVersion self.accessPolicies = accessPolicies self.advancedOptions = advancedOptions @@ -1146,10 +1523,12 @@ extension Es { private enum CodingKeys: String, CodingKey { case snapshotOptions = "SnapshotOptions" + case encryptionAtRestOptions = "EncryptionAtRestOptions" case elasticsearchClusterConfig = "ElasticsearchClusterConfig" - case eBSOptions = "EBSOptions" case vPCOptions = "VPCOptions" case logPublishingOptions = "LogPublishingOptions" + case eBSOptions = "EBSOptions" + case cognitoOptions = "CognitoOptions" case elasticsearchVersion = "ElasticsearchVersion" case accessPolicies = "AccessPolicies" case advancedOptions = "AdvancedOptions" @@ -1225,4 +1604,51 @@ extension Es { public var description: String { return self.rawValue } } + public struct PurchaseReservedElasticsearchInstanceOfferingResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReservationName", required: false, type: .string), + AWSShapeMember(label: "ReservedElasticsearchInstanceId", required: false, type: .string) + ] + /// The customer-specified identifier used to track this reservation. + public let reservationName: String? + /// Details of the reserved Elasticsearch instance which was purchased. + public let reservedElasticsearchInstanceId: String? + + public init(reservationName: String? = nil, reservedElasticsearchInstanceId: String? = nil) { + self.reservationName = reservationName + self.reservedElasticsearchInstanceId = reservedElasticsearchInstanceId + } + + private enum CodingKeys: String, CodingKey { + case reservationName = "ReservationName" + case reservedElasticsearchInstanceId = "ReservedElasticsearchInstanceId" + } + } + + public struct PurchaseReservedElasticsearchInstanceOfferingRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReservedElasticsearchInstanceOfferingId", required: true, type: .string), + AWSShapeMember(label: "ReservationName", required: true, type: .string), + AWSShapeMember(label: "InstanceCount", required: false, type: .integer) + ] + /// The ID of the reserved Elasticsearch instance offering to purchase. + public let reservedElasticsearchInstanceOfferingId: String + /// A customer-specified identifier to track this reservation. + public let reservationName: String + /// The number of Elasticsearch instances to reserve. + public let instanceCount: Int32? + + public init(reservedElasticsearchInstanceOfferingId: String, reservationName: String, instanceCount: Int32? = nil) { + self.reservedElasticsearchInstanceOfferingId = reservedElasticsearchInstanceOfferingId + self.reservationName = reservationName + self.instanceCount = instanceCount + } + + private enum CodingKeys: String, CodingKey { + case reservedElasticsearchInstanceOfferingId = "ReservedElasticsearchInstanceOfferingId" + case reservationName = "ReservationName" + case instanceCount = "InstanceCount" + } + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/events/Events_API.swift b/Sources/AWSSDKSwift/Services/events/Events_API.swift index 743f85df9e2..3a31d2036de 100644 --- a/Sources/AWSSDKSwift/Services/events/Events_API.swift +++ b/Sources/AWSSDKSwift/Services/events/Events_API.swift @@ -75,7 +75,7 @@ public struct Events { return try client.send(operation: "ListRuleNamesByTarget", path: "/", httpMethod: "POST", input: input) } - /// 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 AWS Lambda functions Streams in Amazon Kinesis Streams Delivery streams in Amazon Kinesis Firehose Amazon ECS tasks AWS Step Functions state machines Pipelines in Amazon Code Pipeline Amazon Inspector assessment templates Amazon SNS topics Amazon SQS queues The default event bus of another AWS account Note that creating rules with built-in targets is supported only in the AWS Management Console. For some target types, PutTargets provides target-specific parameters. If the target is an Amazon Kinesis stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command on multiple EC2 instances with one rule, you can use the RunCommandParameters field. To be able to make API calls against the resources that you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, CloudWatch Events relies on resource-based policies. For EC2 instances, Amazon Kinesis streams, and AWS Step Functions state machines, CloudWatch Events relies on IAM roles that you specify in the RoleARN argument in 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 by setting 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 when you run PutTargets. If your account sends events to another account, your account is charged for each sent event. Each event sent to antoher account is charged as a custom event. The account receiving the event is not charged. For more information on pricing, 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 form (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target). If Input is specified in the form of valid JSON, then the matched event is overridden with this constant. If InputPath is specified in the form of JSONPath (for example, $.detail), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed). If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target. When you specify Input, InputPath, or InputTransformer, you must use JSON dot notation, not bracket notation. When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Please allow a short period of time for changes to take effect. This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code. + /// 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 AWS Lambda functions Streams in Amazon Kinesis Streams Delivery streams in Amazon Kinesis Firehose Amazon ECS tasks AWS Step Functions state machines AWS Batch jobs Pipelines in Amazon Code Pipeline Amazon Inspector assessment templates Amazon SNS topics Amazon SQS queues, including FIFO queues The default event bus of another AWS account Note that creating rules with built-in targets is supported only in the AWS Management Console. For some target types, PutTargets provides target-specific parameters. If the target is an Amazon Kinesis stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command on multiple EC2 instances with one rule, you can use the RunCommandParameters field. To be able to make API calls against the resources that you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, CloudWatch Events relies on resource-based policies. For EC2 instances, Amazon Kinesis streams, and AWS Step Functions state machines, CloudWatch Events relies on IAM roles that you specify in the RoleARN argument in 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 by setting 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 when you run PutTargets. If your account sends events to another account, your account is charged for each sent event. Each event sent to antoher account is charged as a custom event. The account receiving the event is not charged. For more information on pricing, 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 form (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target). If Input is specified in the form of valid JSON, then the matched event is overridden with this constant. If InputPath is specified in the form of JSONPath (for example, $.detail), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed). If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target. When you specify InputPath or InputTransformer, you must use JSON dot notation, not bracket notation. When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Please allow a short period of time for changes to take effect. This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code. public func putTargets(_ input: PutTargetsRequest) throws -> PutTargetsResponse { return try client.send(operation: "PutTargets", path: "/", httpMethod: "POST", input: input) } @@ -85,7 +85,7 @@ public struct Events { _ = try client.send(operation: "DeleteRule", path: "/", httpMethod: "POST", input: input) } - /// Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using DisableRule. When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Please allow a short period of time for changes to take effect. A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule. Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match. + /// 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 completely 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. Please allow a short period of time for changes to take effect. A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule. Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match. public func putRule(_ input: PutRuleRequest) throws -> PutRuleResponse { return try client.send(operation: "PutRule", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/events/Events_Shapes.swift b/Sources/AWSSDKSwift/Services/events/Events_Shapes.swift index 82493f29646..df51b843821 100644 --- a/Sources/AWSSDKSwift/Services/events/Events_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/events/Events_Shapes.swift @@ -52,6 +52,22 @@ extension Events { } } + public struct BatchArrayProperties: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Size", required: false, type: .integer) + ] + /// The size of the array, if this is an array batch job. Valid values are integers between 2 and 10,000. + public let size: Int32? + + public init(size: Int32? = nil) { + self.size = size + } + + private enum CodingKeys: String, CodingKey { + case size = "Size" + } + } + public struct PutTargetsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FailedEntryCount", required: false, type: .integer), @@ -73,6 +89,22 @@ extension Events { } } + public struct BatchRetryStrategy: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Attempts", required: false, type: .integer) + ] + /// The number of times to attempt to retry, if the job fails. Valid values are 1 to 10. + public let attempts: Int32? + + public init(attempts: Int32? = nil) { + self.attempts = attempts + } + + private enum CodingKeys: String, CodingKey { + case attempts = "Attempts" + } + } + public struct DescribeEventBusResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Policy", required: false, type: .string), @@ -153,8 +185,10 @@ extension Events { AWSShapeMember(label: "Input", required: false, type: .string), AWSShapeMember(label: "InputPath", required: false, type: .string), AWSShapeMember(label: "EcsParameters", required: false, type: .structure), + AWSShapeMember(label: "SqsParameters", required: false, type: .structure), AWSShapeMember(label: "RoleArn", required: false, type: .string), AWSShapeMember(label: "KinesisParameters", required: false, type: .structure), + AWSShapeMember(label: "BatchParameters", required: false, type: .structure), AWSShapeMember(label: "Id", required: true, type: .string) ] /// Parameters used when you are using the rule to invoke Amazon EC2 Run Command. @@ -163,28 +197,34 @@ extension Events { public let inputTransformer: InputTransformer? /// The Amazon Resource Name (ARN) of the target. public let arn: String - /// Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target. You must use JSON dot notation, not bracket notation. For more information, see The JavaScript Object Notation (JSON) Data Interchange Format. + /// 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. public let input: String? /// 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. public let inputPath: String? /// 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. public let ecsParameters: EcsParameters? + /// Contains the message group ID to use when the target is a FIFO queue. + public let sqsParameters: SqsParameters? /// 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. public let roleArn: String? /// The custom parameter you can use to control shard assignment, when the target is an Amazon Kinesis stream. If you do not include this parameter, the default is to use the eventId as the partition key. public let kinesisParameters: KinesisParameters? + /// Contains the job definition, job name, and other parameters if the event target is an AWS Batch job. For more information about AWS Batch, see Jobs in the AWS Batch User Guide. + public let batchParameters: BatchParameters? /// The ID of the target. public let id: String - public init(runCommandParameters: RunCommandParameters? = nil, inputTransformer: InputTransformer? = nil, arn: String, input: String? = nil, inputPath: String? = nil, ecsParameters: EcsParameters? = nil, roleArn: String? = nil, kinesisParameters: KinesisParameters? = nil, id: String) { + public init(runCommandParameters: RunCommandParameters? = nil, inputTransformer: InputTransformer? = nil, arn: String, input: String? = nil, inputPath: String? = nil, ecsParameters: EcsParameters? = nil, sqsParameters: SqsParameters? = nil, roleArn: String? = nil, kinesisParameters: KinesisParameters? = nil, batchParameters: BatchParameters? = nil, id: String) { self.runCommandParameters = runCommandParameters self.inputTransformer = inputTransformer self.arn = arn self.input = input self.inputPath = inputPath self.ecsParameters = ecsParameters + self.sqsParameters = sqsParameters self.roleArn = roleArn self.kinesisParameters = kinesisParameters + self.batchParameters = batchParameters self.id = id } @@ -195,8 +235,10 @@ extension Events { case input = "Input" case inputPath = "InputPath" case ecsParameters = "EcsParameters" + case sqsParameters = "SqsParameters" case roleArn = "RoleArn" case kinesisParameters = "KinesisParameters" + case batchParameters = "BatchParameters" case id = "Id" } } @@ -238,6 +280,22 @@ extension Events { } } + public struct DeleteRuleRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// The name of the rule. + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + public struct RunCommandTarget: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Key", required: true, type: .string), @@ -259,32 +317,6 @@ extension Events { } } - public struct ListRuleNamesByTargetRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "TargetArn", required: true, type: .string), - AWSShapeMember(label: "Limit", required: false, type: .integer) - ] - /// The token returned by a previous call to retrieve the next set of results. - public let nextToken: String? - /// The Amazon Resource Name (ARN) of the target resource. - public let targetArn: String - /// The maximum number of results to return. - public let limit: Int32? - - public init(nextToken: String? = nil, targetArn: String, limit: Int32? = nil) { - self.nextToken = nextToken - self.targetArn = targetArn - self.limit = limit - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case targetArn = "TargetArn" - case limit = "Limit" - } - } - public struct PutRuleRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Description", required: false, type: .string), @@ -326,22 +358,6 @@ extension Events { } } - public struct RunCommandParameters: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RunCommandTargets", required: true, type: .list) - ] - /// Currently, we support including only one RunCommandTarget block, which specifies either an array of InstanceIds or a tag. - public let runCommandTargets: [RunCommandTarget] - - public init(runCommandTargets: [RunCommandTarget]) { - self.runCommandTargets = runCommandTargets - } - - private enum CodingKeys: String, CodingKey { - case runCommandTargets = "RunCommandTargets" - } - } - public struct ListTargetsByRuleResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Targets", required: false, type: .list), @@ -363,19 +379,45 @@ extension Events { } } - public struct DeleteRuleRequest: AWSShape { + public struct RunCommandParameters: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string) + AWSShapeMember(label: "RunCommandTargets", required: true, type: .list) ] - /// The name of the rule. - public let name: String + /// Currently, we support including only one RunCommandTarget block, which specifies either an array of InstanceIds or a tag. + public let runCommandTargets: [RunCommandTarget] - public init(name: String) { - self.name = name + public init(runCommandTargets: [RunCommandTarget]) { + self.runCommandTargets = runCommandTargets } private enum CodingKeys: String, CodingKey { - case name = "Name" + case runCommandTargets = "RunCommandTargets" + } + } + + public struct ListRuleNamesByTargetRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "TargetArn", required: true, type: .string), + AWSShapeMember(label: "Limit", required: false, type: .integer) + ] + /// The token returned by a previous call to retrieve the next set of results. + public let nextToken: String? + /// The Amazon Resource Name (ARN) of the target resource. + public let targetArn: String + /// The maximum number of results to return. + public let limit: Int32? + + public init(nextToken: String? = nil, targetArn: String, limit: Int32? = nil) { + self.nextToken = nextToken + self.targetArn = targetArn + self.limit = limit + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case targetArn = "TargetArn" + case limit = "Limit" } } @@ -429,45 +471,50 @@ extension Events { } - public struct PutEventsRequest: AWSShape { + public struct BatchParameters: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Entries", required: true, type: .list) + AWSShapeMember(label: "ArrayProperties", required: false, type: .structure), + AWSShapeMember(label: "JobDefinition", required: true, type: .string), + AWSShapeMember(label: "JobName", required: true, type: .string), + AWSShapeMember(label: "RetryStrategy", required: false, type: .structure) ] - /// 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. - public let entries: [PutEventsRequestEntry] + /// 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. + public let arrayProperties: BatchArrayProperties? + /// 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. + public let jobDefinition: String + /// The name to use for this execution of the job, if the target is an AWS Batch job. + public let jobName: String + /// 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 to 10. When you specify a retry strategy here, it overrides the retry strategy defined in the job definition. + public let retryStrategy: BatchRetryStrategy? - public init(entries: [PutEventsRequestEntry]) { - self.entries = entries + public init(arrayProperties: BatchArrayProperties? = nil, jobDefinition: String, jobName: String, retryStrategy: BatchRetryStrategy? = nil) { + self.arrayProperties = arrayProperties + self.jobDefinition = jobDefinition + self.jobName = jobName + self.retryStrategy = retryStrategy } private enum CodingKeys: String, CodingKey { - case entries = "Entries" + case arrayProperties = "ArrayProperties" + case jobDefinition = "JobDefinition" + case jobName = "JobName" + case retryStrategy = "RetryStrategy" } } - public struct RemoveTargetsResultEntry: AWSShape { + public struct PutEventsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ErrorMessage", required: false, type: .string), - AWSShapeMember(label: "ErrorCode", required: false, type: .string), - AWSShapeMember(label: "TargetId", required: false, type: .string) + AWSShapeMember(label: "Entries", required: true, type: .list) ] - /// The error message that explains why the target removal failed. - public let errorMessage: String? - /// The error code that indicates why the target removal failed. If the value is ConcurrentModificationException, too many requests were made at the same time. - public let errorCode: String? - /// The ID of the target. - public let targetId: String? + /// 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. + public let entries: [PutEventsRequestEntry] - public init(errorMessage: String? = nil, errorCode: String? = nil, targetId: String? = nil) { - self.errorMessage = errorMessage - self.errorCode = errorCode - self.targetId = targetId + public init(entries: [PutEventsRequestEntry]) { + self.entries = entries } private enum CodingKeys: String, CodingKey { - case errorMessage = "ErrorMessage" - case errorCode = "ErrorCode" - case targetId = "TargetId" + case entries = "Entries" } } @@ -479,7 +526,7 @@ extension Events { AWSShapeMember(label: "Time", required: false, type: .timestamp), AWSShapeMember(label: "Resources", required: false, type: .list) ] - /// In the JSON sense, an object containing fields, which may also contain nested subobjects. No constraints are imposed on its contents. + /// A valid JSON string. There is no other schema imposed. The JSON string may contain fields and nested subobjects. public let detail: String? /// Free-form string used to decide what fields to expect in the event detail. public let detailType: String? @@ -507,6 +554,32 @@ extension Events { } } + public struct RemoveTargetsResultEntry: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ErrorMessage", required: false, type: .string), + AWSShapeMember(label: "ErrorCode", required: false, type: .string), + AWSShapeMember(label: "TargetId", required: false, type: .string) + ] + /// The error message that explains why the target removal failed. + public let errorMessage: String? + /// The error code that indicates why the target removal failed. If the value is ConcurrentModificationException, too many requests were made at the same time. + public let errorCode: String? + /// The ID of the target. + public let targetId: String? + + public init(errorMessage: String? = nil, errorCode: String? = nil, targetId: String? = nil) { + self.errorMessage = errorMessage + self.errorCode = errorCode + self.targetId = targetId + } + + private enum CodingKeys: String, CodingKey { + case errorMessage = "ErrorMessage" + case errorCode = "ErrorCode" + case targetId = "TargetId" + } + } + public struct RemovePermissionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StatementId", required: true, type: .string) @@ -608,6 +681,22 @@ extension Events { } } + public struct SqsParameters: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MessageGroupId", required: false, type: .string) + ] + /// The FIFO message group ID to use as the target. + public let messageGroupId: String? + + public init(messageGroupId: String? = nil) { + self.messageGroupId = messageGroupId + } + + private enum CodingKeys: String, CodingKey { + case messageGroupId = "MessageGroupId" + } + } + public struct ListRulesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -650,6 +739,22 @@ extension Events { } } + public struct PutRuleResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RuleArn", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the rule. + public let ruleArn: String? + + public init(ruleArn: String? = nil) { + self.ruleArn = ruleArn + } + + private enum CodingKeys: String, CodingKey { + case ruleArn = "RuleArn" + } + } + public struct EcsParameters: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TaskCount", required: false, type: .integer), @@ -671,22 +776,6 @@ extension Events { } } - public struct DescribeRuleRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string) - ] - /// The name of the rule. - public let name: String - - public init(name: String) { - self.name = name - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - } - } - public struct RemoveTargetsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Ids", required: true, type: .list), @@ -708,19 +797,19 @@ extension Events { } } - public struct PutRuleResponse: AWSShape { + public struct DescribeRuleRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RuleArn", required: false, type: .string) + AWSShapeMember(label: "Name", required: true, type: .string) ] - /// The Amazon Resource Name (ARN) of the rule. - public let ruleArn: String? + /// The name of the rule. + public let name: String - public init(ruleArn: String? = nil) { - self.ruleArn = ruleArn + public init(name: String) { + self.name = name } private enum CodingKeys: String, CodingKey { - case ruleArn = "RuleArn" + case name = "Name" } } @@ -823,6 +912,22 @@ extension Events { } } + public struct KinesisParameters: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PartitionKeyPath", required: true, type: .string) + ] + /// 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. + public let partitionKeyPath: String + + public init(partitionKeyPath: String) { + self.partitionKeyPath = partitionKeyPath + } + + private enum CodingKeys: String, CodingKey { + case partitionKeyPath = "PartitionKeyPath" + } + } + public struct PutEventsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FailedEntryCount", required: false, type: .integer), @@ -844,20 +949,4 @@ extension Events { } } - public struct KinesisParameters: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PartitionKeyPath", required: true, type: .string) - ] - /// 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. - public let partitionKeyPath: String - - public init(partitionKeyPath: String) { - self.partitionKeyPath = partitionKeyPath - } - - private enum CodingKeys: String, CodingKey { - case partitionKeyPath = "PartitionKeyPath" - } - } - } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/firehose/Firehose_API.swift b/Sources/AWSSDKSwift/Services/firehose/Firehose_API.swift index 93c25b35968..123e86d4ff2 100644 --- a/Sources/AWSSDKSwift/Services/firehose/Firehose_API.swift +++ b/Sources/AWSSDKSwift/Services/firehose/Firehose_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -Amazon Kinesis Firehose API Reference Amazon Kinesis Firehose is a fully managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon Elasticsearch Service (Amazon ES), and Amazon Redshift. +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. */ public struct Firehose { @@ -25,32 +25,42 @@ public struct Firehose { ) } - /// Creates a delivery stream. By default, you can create up to 20 delivery streams per 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 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 stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream ARN and role ARN in the KinesisStreamSourceConfiguration parameter. A delivery stream is configured with a single destination: Amazon S3, Amazon ES, or Amazon Redshift. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, or RedshiftDestinationConfiguration. 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 Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. Note that BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly; for example, record boundaries are such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3. A few notes about Amazon Redshift as a destination: An Amazon Redshift destination requires an S3 bucket as intermediate location, as Kinesis Firehose first delivers data to S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter. 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 Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions. Kinesis Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Amazon S3 Bucket Access in the Amazon Kinesis Firehose Developer Guide. - public func createDeliveryStream(_ input: CreateDeliveryStreamInput) throws -> CreateDeliveryStreamOutput { - return try client.send(operation: "CreateDeliveryStream", path: "/", httpMethod: "POST", input: input) + /// 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. + public func untagDeliveryStream(_ input: UntagDeliveryStreamInput) throws -> UntagDeliveryStreamOutput { + return try client.send(operation: "UntagDeliveryStream", path: "/", httpMethod: "POST", input: input) } - /// 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 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, web site clickstream data, and so on. Kinesis Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\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 Firehose attempts to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records. A successfully processed record includes a RecordId value, which is 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 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. - public func putRecordBatch(_ input: PutRecordBatchInput) throws -> PutRecordBatchOutput { - return try client.send(operation: "PutRecordBatch", path: "/", httpMethod: "POST", input: input) + /// Lists the tags for the specified delivery stream. This operation has a limit of five transactions per second per account. + public func listTagsForDeliveryStream(_ input: ListTagsForDeliveryStreamInput) throws -> ListTagsForDeliveryStreamOutput { + return try client.send(operation: "ListTagsForDeliveryStream", path: "/", httpMethod: "POST", input: input) } - /// Describes the specified delivery stream and gets the status. For example, after your delivery stream is created, call DescribeDeliveryStream to see if the delivery stream is ACTIVE and therefore ready for data to be sent to it. + /// 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. + public func createDeliveryStream(_ input: CreateDeliveryStreamInput) throws -> CreateDeliveryStreamOutput { + return try client.send(operation: "CreateDeliveryStream", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func describeDeliveryStream(_ input: DescribeDeliveryStreamInput) throws -> DescribeDeliveryStreamOutput { return try client.send(operation: "DescribeDeliveryStream", path: "/", httpMethod: "POST", input: input) } - /// Writes a single data record into an Amazon Kinesis Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers. By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. Note that if you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Firehose Limits. You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data, for example, a segment from a log file, geographic location data, website clickstream data, and so on. Kinesis Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\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 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. + /// 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. + public func deleteDeliveryStream(_ input: DeleteDeliveryStreamInput) throws -> DeleteDeliveryStreamOutput { + return try client.send(operation: "DeleteDeliveryStream", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func putRecord(_ input: PutRecordInput) throws -> PutRecordOutput { return try client.send(operation: "PutRecord", path: "/", httpMethod: "POST", input: input) } - /// Deletes a delivery stream and its data. You can delete a delivery stream only if it is in ACTIVE or DELETING state, and not in the CREATING state. While the deletion request is in process, the delivery stream is in the DELETING state. To check the state of a delivery stream, use DescribeDeliveryStream. While the delivery stream is DELETING state, the service may continue to accept the records, but the service doesn't make any guarantees with respect to delivering the data. Therefore, as a best practice, you should first stop any applications that are sending records before deleting a delivery stream. - public func deleteDeliveryStream(_ input: DeleteDeliveryStreamInput) throws -> DeleteDeliveryStreamOutput { - return try client.send(operation: "DeleteDeliveryStream", path: "/", httpMethod: "POST", input: input) + /// 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. + public func putRecordBatch(_ input: PutRecordBatchInput) throws -> PutRecordBatchOutput { + return try client.send(operation: "PutRecordBatch", path: "/", httpMethod: "POST", input: input) } - /// Updates the specified destination of the specified delivery stream. You can use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes. Note that switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination. If the destination type is the same, Kinesis Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if 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 Firehose does not merge any parameters. In this case, all parameters must be specified. Kinesis 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. + /// 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. public func updateDestination(_ input: UpdateDestinationInput) throws -> UpdateDestinationOutput { return try client.send(operation: "UpdateDestination", path: "/", httpMethod: "POST", input: input) } @@ -60,5 +70,10 @@ public struct Firehose { return try client.send(operation: "ListDeliveryStreams", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func tagDeliveryStream(_ input: TagDeliveryStreamInput) throws -> TagDeliveryStreamOutput { + return try client.send(operation: "TagDeliveryStream", path: "/", httpMethod: "POST", input: input) + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/firehose/Firehose_Error.swift b/Sources/AWSSDKSwift/Services/firehose/Firehose_Error.swift index cbac63d9803..091587ec394 100644 --- a/Sources/AWSSDKSwift/Services/firehose/Firehose_Error.swift +++ b/Sources/AWSSDKSwift/Services/firehose/Firehose_Error.swift @@ -4,10 +4,10 @@ import AWSSDKSwiftCore /// Error enum for Firehose public enum FirehoseError: AWSErrorType { + case resourceNotFoundException(message: String?) + case resourceInUseException(message: String?) case invalidArgumentException(message: String?) case limitExceededException(message: String?) - case resourceInUseException(message: String?) - case resourceNotFoundException(message: String?) case serviceUnavailableException(message: String?) case concurrentModificationException(message: String?) } @@ -19,14 +19,14 @@ extension FirehoseError { errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) } switch errorCode { + case "ResourceNotFoundException": + self = .resourceNotFoundException(message: message) + case "ResourceInUseException": + self = .resourceInUseException(message: message) case "InvalidArgumentException": self = .invalidArgumentException(message: message) case "LimitExceededException": self = .limitExceededException(message: message) - case "ResourceInUseException": - self = .resourceInUseException(message: message) - case "ResourceNotFoundException": - self = .resourceNotFoundException(message: message) case "ServiceUnavailableException": self = .serviceUnavailableException(message: message) case "ConcurrentModificationException": diff --git a/Sources/AWSSDKSwift/Services/firehose/Firehose_Shapes.swift b/Sources/AWSSDKSwift/Services/firehose/Firehose_Shapes.swift index 79dffa740e3..e8f5ca4cba8 100644 --- a/Sources/AWSSDKSwift/Services/firehose/Firehose_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/firehose/Firehose_Shapes.swift @@ -5,28 +5,9 @@ import AWSSDKSwiftCore extension Firehose { - public struct DescribeDeliveryStreamOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DeliveryStreamDescription", required: true, type: .structure) - ] - /// Information about the delivery stream. - public let deliveryStreamDescription: DeliveryStreamDescription - - public init(deliveryStreamDescription: DeliveryStreamDescription) { - self.deliveryStreamDescription = deliveryStreamDescription - } - - private enum CodingKeys: String, CodingKey { - case deliveryStreamDescription = "DeliveryStreamDescription" - } - } - - public enum ProcessorParameterName: String, CustomStringConvertible, Codable { - case lambdaarn = "LambdaArn" - case numberofretries = "NumberOfRetries" - case rolearn = "RoleArn" - case buffersizeinmbs = "BufferSizeInMBs" - case bufferintervalinseconds = "BufferIntervalInSeconds" + public enum ParquetWriterVersion: String, CustomStringConvertible, Codable { + case v1 = "V1" + case v2 = "V2" public var description: String { return self.rawValue } } @@ -51,6 +32,22 @@ extension Firehose { } } + public struct DescribeDeliveryStreamOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeliveryStreamDescription", required: true, type: .structure) + ] + /// Information about the delivery stream. + public let deliveryStreamDescription: DeliveryStreamDescription + + public init(deliveryStreamDescription: DeliveryStreamDescription) { + self.deliveryStreamDescription = deliveryStreamDescription + } + + private enum CodingKeys: String, CodingKey { + case deliveryStreamDescription = "DeliveryStreamDescription" + } + } + public enum NoEncryptionConfig: String, CustomStringConvertible, Codable { case noencryption = "NoEncryption" public var description: String { return self.rawValue } @@ -80,7 +77,7 @@ extension Firehose { public let s3BackupConfiguration: S3DestinationConfiguration? /// The database connection string. public let clusterJDBCURL: String - /// The ARN of the AWS credentials. + /// The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let roleARN: String /// The data processing configuration. public let processingConfiguration: ProcessingConfiguration? @@ -88,7 +85,7 @@ extension Firehose { public let password: String /// The CloudWatch logging options for your delivery stream. public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? - /// The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes). + /// The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes). public let retryOptions: RedshiftRetryOptions? /// The Amazon S3 backup mode. public let s3BackupMode: RedshiftS3BackupMode? @@ -122,6 +119,40 @@ extension Firehose { } } + public enum ProcessorParameterName: String, CustomStringConvertible, Codable { + case lambdaarn = "LambdaArn" + case numberofretries = "NumberOfRetries" + case rolearn = "RoleArn" + case buffersizeinmbs = "BufferSizeInMBs" + case bufferintervalinseconds = "BufferIntervalInSeconds" + public var description: String { return self.rawValue } + } + + public struct UntagDeliveryStreamOutput: AWSShape { + + } + + public struct Serializer: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrcSerDe", required: false, type: .structure), + AWSShapeMember(label: "ParquetSerDe", required: false, type: .structure) + ] + /// A serializer to use for converting data to the ORC format before storing it in Amazon S3. For more information, see Apache ORC. + public let orcSerDe: OrcSerDe? + /// A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet. + public let parquetSerDe: ParquetSerDe? + + public init(orcSerDe: OrcSerDe? = nil, parquetSerDe: ParquetSerDe? = nil) { + self.orcSerDe = orcSerDe + self.parquetSerDe = parquetSerDe + } + + private enum CodingKeys: String, CodingKey { + case orcSerDe = "OrcSerDe" + case parquetSerDe = "ParquetSerDe" + } + } + public struct CopyCommand: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DataTableName", required: true, type: .string), @@ -132,7 +163,7 @@ extension Firehose { public let dataTableName: String /// A comma-separated list of column names. public let dataTableColumns: String? - /// 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 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. + /// 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. public let copyOptions: String? public init(dataTableName: String, dataTableColumns: String? = nil, copyOptions: String? = nil) { @@ -148,47 +179,113 @@ extension Firehose { } } + public enum S3BackupMode: String, CustomStringConvertible, Codable { + case disabled = "Disabled" + case enabled = "Enabled" + public var description: String { return self.rawValue } + } + + public struct SplunkDestinationDescription: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RetryOptions", required: false, type: .structure), + AWSShapeMember(label: "S3DestinationDescription", required: false, type: .structure), + AWSShapeMember(label: "HECAcknowledgmentTimeoutInSeconds", required: false, type: .integer), + AWSShapeMember(label: "HECToken", required: false, type: .string), + AWSShapeMember(label: "HECEndpoint", required: false, type: .string), + AWSShapeMember(label: "S3BackupMode", required: false, type: .enum), + AWSShapeMember(label: "ProcessingConfiguration", required: false, type: .structure), + AWSShapeMember(label: "CloudWatchLoggingOptions", required: false, type: .structure), + AWSShapeMember(label: "HECEndpointType", required: false, type: .enum) + ] + /// 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. + public let retryOptions: SplunkRetryOptions? + /// The Amazon S3 destination.> + public let s3DestinationDescription: S3DestinationDescription? + /// 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. + public let hECAcknowledgmentTimeoutInSeconds: Int32? + /// A GUID you obtain from your Splunk cluster when you create a new HEC endpoint. + public let hECToken: String? + /// The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your data. + public let hECEndpoint: String? + /// 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. + public let s3BackupMode: SplunkS3BackupMode? + /// The data processing configuration. + public let processingConfiguration: ProcessingConfiguration? + /// The Amazon CloudWatch logging options for your delivery stream. + public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? + /// This type can be either "Raw" or "Event." + public let hECEndpointType: HECEndpointType? + + public init(retryOptions: SplunkRetryOptions? = nil, s3DestinationDescription: S3DestinationDescription? = nil, hECAcknowledgmentTimeoutInSeconds: Int32? = nil, hECToken: String? = nil, hECEndpoint: String? = nil, s3BackupMode: SplunkS3BackupMode? = nil, processingConfiguration: ProcessingConfiguration? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, hECEndpointType: HECEndpointType? = nil) { + self.retryOptions = retryOptions + self.s3DestinationDescription = s3DestinationDescription + self.hECAcknowledgmentTimeoutInSeconds = hECAcknowledgmentTimeoutInSeconds + self.hECToken = hECToken + self.hECEndpoint = hECEndpoint + self.s3BackupMode = s3BackupMode + self.processingConfiguration = processingConfiguration + self.cloudWatchLoggingOptions = cloudWatchLoggingOptions + self.hECEndpointType = hECEndpointType + } + + private enum CodingKeys: String, CodingKey { + case retryOptions = "RetryOptions" + case s3DestinationDescription = "S3DestinationDescription" + case hECAcknowledgmentTimeoutInSeconds = "HECAcknowledgmentTimeoutInSeconds" + case hECToken = "HECToken" + case hECEndpoint = "HECEndpoint" + case s3BackupMode = "S3BackupMode" + case processingConfiguration = "ProcessingConfiguration" + case cloudWatchLoggingOptions = "CloudWatchLoggingOptions" + case hECEndpointType = "HECEndpointType" + } + } + public struct ExtendedS3DestinationConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "BucketARN", required: true, type: .string), AWSShapeMember(label: "EncryptionConfiguration", required: false, type: .structure), + AWSShapeMember(label: "DataFormatConversionConfiguration", required: false, type: .structure), AWSShapeMember(label: "RoleARN", required: true, type: .string), AWSShapeMember(label: "S3BackupConfiguration", required: false, type: .structure), - AWSShapeMember(label: "ProcessingConfiguration", required: false, type: .structure), AWSShapeMember(label: "Prefix", required: false, type: .string), + AWSShapeMember(label: "ProcessingConfiguration", required: false, type: .structure), AWSShapeMember(label: "S3BackupMode", required: false, type: .enum), AWSShapeMember(label: "CloudWatchLoggingOptions", required: false, type: .structure), AWSShapeMember(label: "CompressionFormat", required: false, type: .enum), AWSShapeMember(label: "BufferingHints", required: false, type: .structure) ] - /// The ARN of the S3 bucket. + /// The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let bucketARN: String /// The encryption configuration. If no value is specified, the default is no encryption. public let encryptionConfiguration: EncryptionConfiguration? - /// The ARN of the AWS credentials. + /// The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3. + public let dataFormatConversionConfiguration: DataFormatConversionConfiguration? + /// The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let roleARN: String /// The configuration for backup in Amazon S3. public let s3BackupConfiguration: S3DestinationConfiguration? + /// 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. + public let prefix: String? /// The data processing configuration. public let processingConfiguration: ProcessingConfiguration? - /// The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide. - public let prefix: String? /// The Amazon S3 backup mode. public let s3BackupMode: S3BackupMode? - /// The CloudWatch logging options for your delivery stream. + /// The Amazon CloudWatch logging options for your delivery stream. public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? /// The compression format. If no value is specified, the default is UNCOMPRESSED. public let compressionFormat: CompressionFormat? /// The buffering option. public let bufferingHints: BufferingHints? - public init(bucketARN: String, encryptionConfiguration: EncryptionConfiguration? = nil, roleARN: String, s3BackupConfiguration: S3DestinationConfiguration? = nil, processingConfiguration: ProcessingConfiguration? = nil, prefix: String? = nil, s3BackupMode: S3BackupMode? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, compressionFormat: CompressionFormat? = nil, bufferingHints: BufferingHints? = nil) { + public init(bucketARN: String, encryptionConfiguration: EncryptionConfiguration? = nil, dataFormatConversionConfiguration: DataFormatConversionConfiguration? = nil, roleARN: String, s3BackupConfiguration: S3DestinationConfiguration? = nil, prefix: String? = nil, processingConfiguration: ProcessingConfiguration? = nil, s3BackupMode: S3BackupMode? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, compressionFormat: CompressionFormat? = nil, bufferingHints: BufferingHints? = nil) { self.bucketARN = bucketARN self.encryptionConfiguration = encryptionConfiguration + self.dataFormatConversionConfiguration = dataFormatConversionConfiguration self.roleARN = roleARN self.s3BackupConfiguration = s3BackupConfiguration - self.processingConfiguration = processingConfiguration self.prefix = prefix + self.processingConfiguration = processingConfiguration self.s3BackupMode = s3BackupMode self.cloudWatchLoggingOptions = cloudWatchLoggingOptions self.compressionFormat = compressionFormat @@ -198,10 +295,11 @@ extension Firehose { private enum CodingKeys: String, CodingKey { case bucketARN = "BucketARN" case encryptionConfiguration = "EncryptionConfiguration" + case dataFormatConversionConfiguration = "DataFormatConversionConfiguration" case roleARN = "RoleARN" case s3BackupConfiguration = "S3BackupConfiguration" - case processingConfiguration = "ProcessingConfiguration" case prefix = "Prefix" + case processingConfiguration = "ProcessingConfiguration" case s3BackupMode = "S3BackupMode" case cloudWatchLoggingOptions = "CloudWatchLoggingOptions" case compressionFormat = "CompressionFormat" @@ -209,82 +307,57 @@ extension Firehose { } } - public struct SplunkDestinationDescription: AWSShape { + public struct Deserializer: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RetryOptions", required: false, type: .structure), - AWSShapeMember(label: "S3DestinationDescription", required: false, type: .structure), - AWSShapeMember(label: "HECAcknowledgmentTimeoutInSeconds", required: false, type: .integer), - AWSShapeMember(label: "HECToken", required: false, type: .string), - AWSShapeMember(label: "HECEndpoint", required: false, type: .string), - AWSShapeMember(label: "S3BackupMode", required: false, type: .enum), - AWSShapeMember(label: "ProcessingConfiguration", required: false, type: .structure), - AWSShapeMember(label: "CloudWatchLoggingOptions", required: false, type: .structure), - AWSShapeMember(label: "HECEndpointType", required: false, type: .enum) + AWSShapeMember(label: "OpenXJsonSerDe", required: false, type: .structure), + AWSShapeMember(label: "HiveJsonSerDe", required: false, type: .structure) ] - /// The retry behavior in case Kinesis Firehose is unable to deliver data to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk. - public let retryOptions: SplunkRetryOptions? - /// The Amazon S3 destination.> - public let s3DestinationDescription: S3DestinationDescription? - /// The amount of time that Kinesis Firehose waits to receive an acknowledgment from Splunk after it sends it data. At the end of the timeout period Kinesis Firehose either tries to send the data again or considers it an error, based on your retry settings. - public let hECAcknowledgmentTimeoutInSeconds: Int32? - /// This is a GUID you obtain from your Splunk cluster when you create a new HEC endpoint. - public let hECToken: String? - /// The HTTP Event Collector (HEC) endpoint to which Kinesis Firehose sends your data. - public let hECEndpoint: String? - /// Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set to AllDocuments, Kinesis Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. Default value is FailedDocumentsOnly. - public let s3BackupMode: SplunkS3BackupMode? - /// The data processing configuration. - public let processingConfiguration: ProcessingConfiguration? - /// The CloudWatch logging options for your delivery stream. - public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? - /// This type can be either "Raw" or "Event". - public let hECEndpointType: HECEndpointType? + /// 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. + public let openXJsonSerDe: OpenXJsonSerDe? + /// 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. + public let hiveJsonSerDe: HiveJsonSerDe? - public init(retryOptions: SplunkRetryOptions? = nil, s3DestinationDescription: S3DestinationDescription? = nil, hECAcknowledgmentTimeoutInSeconds: Int32? = nil, hECToken: String? = nil, hECEndpoint: String? = nil, s3BackupMode: SplunkS3BackupMode? = nil, processingConfiguration: ProcessingConfiguration? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, hECEndpointType: HECEndpointType? = nil) { - self.retryOptions = retryOptions - self.s3DestinationDescription = s3DestinationDescription - self.hECAcknowledgmentTimeoutInSeconds = hECAcknowledgmentTimeoutInSeconds - self.hECToken = hECToken - self.hECEndpoint = hECEndpoint - self.s3BackupMode = s3BackupMode - self.processingConfiguration = processingConfiguration - self.cloudWatchLoggingOptions = cloudWatchLoggingOptions - self.hECEndpointType = hECEndpointType + public init(openXJsonSerDe: OpenXJsonSerDe? = nil, hiveJsonSerDe: HiveJsonSerDe? = nil) { + self.openXJsonSerDe = openXJsonSerDe + self.hiveJsonSerDe = hiveJsonSerDe } private enum CodingKeys: String, CodingKey { - case retryOptions = "RetryOptions" - case s3DestinationDescription = "S3DestinationDescription" - case hECAcknowledgmentTimeoutInSeconds = "HECAcknowledgmentTimeoutInSeconds" - case hECToken = "HECToken" - case hECEndpoint = "HECEndpoint" - case s3BackupMode = "S3BackupMode" - case processingConfiguration = "ProcessingConfiguration" - case cloudWatchLoggingOptions = "CloudWatchLoggingOptions" - case hECEndpointType = "HECEndpointType" + case openXJsonSerDe = "OpenXJsonSerDe" + case hiveJsonSerDe = "HiveJsonSerDe" } } - public enum S3BackupMode: String, CustomStringConvertible, Codable { - case disabled = "Disabled" - case enabled = "Enabled" - public var description: String { return self.rawValue } - } - public enum DeliveryStreamType: String, CustomStringConvertible, Codable { case directput = "DirectPut" case kinesisstreamassource = "KinesisStreamAsSource" public var description: String { return self.rawValue } } + public struct InputFormatConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Deserializer", required: false, type: .structure) + ] + /// 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. + public let deserializer: Deserializer? + + public init(deserializer: Deserializer? = nil) { + self.deserializer = deserializer + } + + private enum CodingKeys: String, CodingKey { + case deserializer = "Deserializer" + } + } + public struct KinesisStreamSourceConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "KinesisStreamARN", required: true, type: .string), AWSShapeMember(label: "RoleARN", required: true, type: .string) ] - /// The ARN of the source Kinesis stream. + /// The ARN of the source Kinesis data stream. For more information, see Amazon Kinesis Data Streams ARN Format. public let kinesisStreamARN: String - /// The ARN of the role that provides access to the source Kinesis stream. + /// 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. public let roleARN: String public init(kinesisStreamARN: String, roleARN: String) { @@ -302,7 +375,7 @@ extension Firehose { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DurationInSeconds", required: false, type: .integer) ] - /// After an initial failure to deliver to Amazon ES, the total amount of time during which Kinesis Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries. + /// 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. public let durationInSeconds: Int32? public init(durationInSeconds: Int32? = nil) { @@ -314,6 +387,10 @@ extension Firehose { } } + public struct TagDeliveryStreamOutput: AWSShape { + + } + public struct PutRecordOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RecordId", required: true, type: .string) @@ -330,6 +407,32 @@ extension Firehose { } } + public struct ListTagsForDeliveryStreamInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeliveryStreamName", required: true, type: .string), + AWSShapeMember(label: "ExclusiveStartTagKey", required: false, type: .string), + AWSShapeMember(label: "Limit", required: false, type: .integer) + ] + /// The name of the delivery stream whose tags you want to list. + public let deliveryStreamName: String + /// 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. + public let exclusiveStartTagKey: String? + /// 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. + public let limit: Int32? + + public init(deliveryStreamName: String, exclusiveStartTagKey: String? = nil, limit: Int32? = nil) { + self.deliveryStreamName = deliveryStreamName + self.exclusiveStartTagKey = exclusiveStartTagKey + self.limit = limit + } + + private enum CodingKeys: String, CodingKey { + case deliveryStreamName = "DeliveryStreamName" + case exclusiveStartTagKey = "ExclusiveStartTagKey" + case limit = "Limit" + } + } + public enum ElasticsearchS3BackupMode: String, CustomStringConvertible, Codable { case faileddocumentsonly = "FailedDocumentsOnly" case alldocuments = "AllDocuments" @@ -381,7 +484,7 @@ extension Firehose { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "KinesisStreamSourceDescription", required: false, type: .structure) ] - /// The KinesisStreamSourceDescription value for the source Kinesis stream. + /// The KinesisStreamSourceDescription value for the source Kinesis data stream. public let kinesisStreamSourceDescription: KinesisStreamSourceDescription? public init(kinesisStreamSourceDescription: KinesisStreamSourceDescription? = nil) { @@ -410,7 +513,7 @@ extension Firehose { public let elasticsearchDestinationUpdate: ElasticsearchDestinationUpdate? /// The name of the delivery stream. public let deliveryStreamName: String - /// Obtain this value from the VersionId result of DeliveryStreamDescription. This value is required, and helps the service to perform conditional operations. For example, if there is an interleaving update and this value is null, then the update destination fails. After the update is successful, the VersionId value is updated. The service then performs a merge of the old configuration with the new configuration. + /// 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. public let currentDeliveryStreamVersionId: String /// The ID of the destination. public let destinationId: String @@ -444,24 +547,50 @@ extension Firehose { } } - public struct ListDeliveryStreamsOutput: AWSShape { + public struct Tag: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DeliveryStreamNames", required: true, type: .list), - AWSShapeMember(label: "HasMoreDeliveryStreams", required: true, type: .boolean) + AWSShapeMember(label: "Value", required: false, type: .string), + AWSShapeMember(label: "Key", required: true, type: .string) ] - /// The names of the delivery streams. - public let deliveryStreamNames: [String] - /// Indicates whether there are more delivery streams available to list. - public let hasMoreDeliveryStreams: Bool + /// An optional string, which you can use to describe or define the tag. Maximum length: 256 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @ + public let value: String? + /// A unique identifier for the tag. Maximum length: 128 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @ + public let key: String - public init(deliveryStreamNames: [String], hasMoreDeliveryStreams: Bool) { - self.deliveryStreamNames = deliveryStreamNames - self.hasMoreDeliveryStreams = hasMoreDeliveryStreams + public init(value: String? = nil, key: String) { + self.value = value + self.key = key } private enum CodingKeys: String, CodingKey { - case deliveryStreamNames = "DeliveryStreamNames" - case hasMoreDeliveryStreams = "HasMoreDeliveryStreams" + case value = "Value" + case key = "Key" + } + } + + public struct ListDeliveryStreamsInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeliveryStreamType", required: false, type: .enum), + AWSShapeMember(label: "Limit", required: false, type: .integer), + AWSShapeMember(label: "ExclusiveStartDeliveryStreamName", required: false, type: .string) + ] + /// 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. + public let deliveryStreamType: DeliveryStreamType? + /// The maximum number of delivery streams to list. The default value is 10. + public let limit: Int32? + /// The name of the delivery stream to start the list with. + public let exclusiveStartDeliveryStreamName: String? + + public init(deliveryStreamType: DeliveryStreamType? = nil, limit: Int32? = nil, exclusiveStartDeliveryStreamName: String? = nil) { + self.deliveryStreamType = deliveryStreamType + self.limit = limit + self.exclusiveStartDeliveryStreamName = exclusiveStartDeliveryStreamName + } + + private enum CodingKeys: String, CodingKey { + case deliveryStreamType = "DeliveryStreamType" + case limit = "Limit" + case exclusiveStartDeliveryStreamName = "ExclusiveStartDeliveryStreamName" } } @@ -488,15 +617,15 @@ extension Firehose { public let s3DestinationDescription: S3DestinationDescription /// The database connection string. public let clusterJDBCURL: String - /// The ARN of the AWS credentials. + /// The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let roleARN: String /// The data processing configuration. public let processingConfiguration: ProcessingConfiguration? /// The Amazon S3 backup mode. public let s3BackupMode: RedshiftS3BackupMode? - /// The CloudWatch logging options for your delivery stream. + /// The Amazon CloudWatch logging options for your delivery stream. public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? - /// The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes). + /// The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes). public let retryOptions: RedshiftRetryOptions? public init(s3BackupDescription: S3DestinationDescription? = nil, copyCommand: CopyCommand, username: String, s3DestinationDescription: S3DestinationDescription, clusterJDBCURL: String, roleARN: String, processingConfiguration: ProcessingConfiguration? = nil, s3BackupMode: RedshiftS3BackupMode? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, retryOptions: RedshiftRetryOptions? = nil) { @@ -526,29 +655,45 @@ extension Firehose { } } - public struct ListDeliveryStreamsInput: AWSShape { + public struct ListDeliveryStreamsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DeliveryStreamType", required: false, type: .enum), - AWSShapeMember(label: "Limit", required: false, type: .integer), - AWSShapeMember(label: "ExclusiveStartDeliveryStreamName", required: false, type: .string) + AWSShapeMember(label: "DeliveryStreamNames", required: true, type: .list), + AWSShapeMember(label: "HasMoreDeliveryStreams", required: true, type: .boolean) ] - /// 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 stream as a source. This parameter is optional. If this parameter is omitted, delivery streams of all types are returned. - public let deliveryStreamType: DeliveryStreamType? - /// The maximum number of delivery streams to list. The default value is 10. - public let limit: Int32? - /// The name of the delivery stream to start the list with. - public let exclusiveStartDeliveryStreamName: String? + /// The names of the delivery streams. + public let deliveryStreamNames: [String] + /// Indicates whether there are more delivery streams available to list. + public let hasMoreDeliveryStreams: Bool - public init(deliveryStreamType: DeliveryStreamType? = nil, limit: Int32? = nil, exclusiveStartDeliveryStreamName: String? = nil) { - self.deliveryStreamType = deliveryStreamType - self.limit = limit - self.exclusiveStartDeliveryStreamName = exclusiveStartDeliveryStreamName + public init(deliveryStreamNames: [String], hasMoreDeliveryStreams: Bool) { + self.deliveryStreamNames = deliveryStreamNames + self.hasMoreDeliveryStreams = hasMoreDeliveryStreams } private enum CodingKeys: String, CodingKey { - case deliveryStreamType = "DeliveryStreamType" - case limit = "Limit" - case exclusiveStartDeliveryStreamName = "ExclusiveStartDeliveryStreamName" + case deliveryStreamNames = "DeliveryStreamNames" + case hasMoreDeliveryStreams = "HasMoreDeliveryStreams" + } + } + + public struct ListTagsForDeliveryStreamOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "HasMoreTags", required: true, type: .boolean), + AWSShapeMember(label: "Tags", required: true, type: .list) + ] + /// 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. + public let hasMoreTags: Bool + /// A list of tags associated with DeliveryStreamName, starting with the first tag after ExclusiveStartTagKey and up to the specified Limit. + public let tags: [Tag] + + public init(hasMoreTags: Bool, tags: [Tag]) { + self.hasMoreTags = hasMoreTags + self.tags = tags + } + + private enum CodingKeys: String, CodingKey { + case hasMoreTags = "HasMoreTags" + case tags = "Tags" } } @@ -574,20 +719,20 @@ extension Firehose { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "BucketARN", required: true, type: .string), AWSShapeMember(label: "EncryptionConfiguration", required: false, type: .structure), - AWSShapeMember(label: "Prefix", required: false, type: .string), AWSShapeMember(label: "RoleARN", required: true, type: .string), + AWSShapeMember(label: "Prefix", required: false, type: .string), AWSShapeMember(label: "CloudWatchLoggingOptions", required: false, type: .structure), AWSShapeMember(label: "CompressionFormat", required: false, type: .enum), AWSShapeMember(label: "BufferingHints", required: false, type: .structure) ] - /// The ARN of the S3 bucket. + /// The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let bucketARN: String /// The encryption configuration. If no value is specified, the default is no encryption. public let encryptionConfiguration: EncryptionConfiguration? - /// The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide. - public let prefix: String? - /// The ARN of the AWS credentials. + /// The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let roleARN: String + /// 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. + public let prefix: String? /// The CloudWatch logging options for your delivery stream. public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? /// 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. @@ -595,11 +740,11 @@ extension Firehose { /// The buffering option. If no value is specified, BufferingHints object default values are used. public let bufferingHints: BufferingHints? - public init(bucketARN: String, encryptionConfiguration: EncryptionConfiguration? = nil, prefix: String? = nil, roleARN: String, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, compressionFormat: CompressionFormat? = nil, bufferingHints: BufferingHints? = nil) { + public init(bucketARN: String, encryptionConfiguration: EncryptionConfiguration? = nil, roleARN: String, prefix: String? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, compressionFormat: CompressionFormat? = nil, bufferingHints: BufferingHints? = nil) { self.bucketARN = bucketARN self.encryptionConfiguration = encryptionConfiguration - self.prefix = prefix self.roleARN = roleARN + self.prefix = prefix self.cloudWatchLoggingOptions = cloudWatchLoggingOptions self.compressionFormat = compressionFormat self.bufferingHints = bufferingHints @@ -608,8 +753,8 @@ extension Firehose { private enum CodingKeys: String, CodingKey { case bucketARN = "BucketARN" case encryptionConfiguration = "EncryptionConfiguration" - case prefix = "Prefix" case roleARN = "RoleARN" + case prefix = "Prefix" case cloudWatchLoggingOptions = "CloudWatchLoggingOptions" case compressionFormat = "CompressionFormat" case bufferingHints = "BufferingHints" @@ -620,32 +765,32 @@ extension Firehose { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "BucketARN", required: true, type: .string), AWSShapeMember(label: "EncryptionConfiguration", required: true, type: .structure), - AWSShapeMember(label: "Prefix", required: false, type: .string), AWSShapeMember(label: "RoleARN", required: true, type: .string), + AWSShapeMember(label: "Prefix", required: false, type: .string), AWSShapeMember(label: "CloudWatchLoggingOptions", required: false, type: .structure), AWSShapeMember(label: "CompressionFormat", required: true, type: .enum), AWSShapeMember(label: "BufferingHints", required: true, type: .structure) ] - /// The ARN of the S3 bucket. + /// The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let bucketARN: String /// The encryption configuration. If no value is specified, the default is no encryption. public let encryptionConfiguration: EncryptionConfiguration - /// The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide. - public let prefix: String? - /// The ARN of the AWS credentials. + /// The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let roleARN: String - /// The CloudWatch logging options for your delivery stream. + /// 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. + public let prefix: String? + /// The Amazon CloudWatch logging options for your delivery stream. public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? /// The compression format. If no value is specified, the default is UNCOMPRESSED. public let compressionFormat: CompressionFormat /// The buffering option. If no value is specified, BufferingHints object default values are used. public let bufferingHints: BufferingHints - public init(bucketARN: String, encryptionConfiguration: EncryptionConfiguration, prefix: String? = nil, roleARN: String, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, compressionFormat: CompressionFormat, bufferingHints: BufferingHints) { + public init(bucketARN: String, encryptionConfiguration: EncryptionConfiguration, roleARN: String, prefix: String? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, compressionFormat: CompressionFormat, bufferingHints: BufferingHints) { self.bucketARN = bucketARN self.encryptionConfiguration = encryptionConfiguration - self.prefix = prefix self.roleARN = roleARN + self.prefix = prefix self.cloudWatchLoggingOptions = cloudWatchLoggingOptions self.compressionFormat = compressionFormat self.bufferingHints = bufferingHints @@ -654,14 +799,51 @@ extension Firehose { private enum CodingKeys: String, CodingKey { case bucketARN = "BucketARN" case encryptionConfiguration = "EncryptionConfiguration" - case prefix = "Prefix" case roleARN = "RoleARN" + case prefix = "Prefix" case cloudWatchLoggingOptions = "CloudWatchLoggingOptions" case compressionFormat = "CompressionFormat" case bufferingHints = "BufferingHints" } } + public struct HiveJsonSerDe: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TimestampFormats", required: false, type: .list) + ] + /// 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. + public let timestampFormats: [String]? + + public init(timestampFormats: [String]? = nil) { + self.timestampFormats = timestampFormats + } + + private enum CodingKeys: String, CodingKey { + case timestampFormats = "TimestampFormats" + } + } + + public struct TagDeliveryStreamInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Tags", required: true, type: .list), + AWSShapeMember(label: "DeliveryStreamName", required: true, type: .string) + ] + /// A set of key-value pairs to use to create the tags. + public let tags: [Tag] + /// The name of the delivery stream to which you want to add the tags. + public let deliveryStreamName: String + + public init(tags: [Tag], deliveryStreamName: String) { + self.tags = tags + self.deliveryStreamName = deliveryStreamName + } + + private enum CodingKeys: String, CodingKey { + case tags = "Tags" + case deliveryStreamName = "DeliveryStreamName" + } + } + public struct DeleteDeliveryStreamInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DeliveryStreamName", required: true, type: .string) @@ -688,40 +870,65 @@ extension Firehose { } - public struct BufferingHints: AWSShape { + public struct RedshiftRetryOptions: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "IntervalInSeconds", required: false, type: .integer), - AWSShapeMember(label: "SizeInMBs", required: false, type: .integer) + AWSShapeMember(label: "DurationInSeconds", required: false, type: .integer) ] - /// Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. - public let intervalInSeconds: Int32? - /// 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. - public let sizeInMBs: Int32? + /// 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. + public let durationInSeconds: Int32? - public init(intervalInSeconds: Int32? = nil, sizeInMBs: Int32? = nil) { - self.intervalInSeconds = intervalInSeconds - self.sizeInMBs = sizeInMBs + public init(durationInSeconds: Int32? = nil) { + self.durationInSeconds = durationInSeconds } private enum CodingKeys: String, CodingKey { - case intervalInSeconds = "IntervalInSeconds" - case sizeInMBs = "SizeInMBs" + case durationInSeconds = "DurationInSeconds" } } - public struct RedshiftRetryOptions: AWSShape { + public struct S3DestinationUpdate: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DurationInSeconds", required: false, type: .integer) + AWSShapeMember(label: "BucketARN", required: false, type: .string), + AWSShapeMember(label: "EncryptionConfiguration", required: false, type: .structure), + AWSShapeMember(label: "RoleARN", required: false, type: .string), + AWSShapeMember(label: "Prefix", required: false, type: .string), + AWSShapeMember(label: "CloudWatchLoggingOptions", required: false, type: .structure), + AWSShapeMember(label: "CompressionFormat", required: false, type: .enum), + AWSShapeMember(label: "BufferingHints", required: false, type: .structure) ] - /// The length of time during which Kinesis Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Kinesis Firehose does not retry if the value of DurationInSeconds is 0 (zero) or if the first delivery attempt takes longer than the current value. - public let durationInSeconds: Int32? + /// The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. + public let bucketARN: String? + /// The encryption configuration. If no value is specified, the default is no encryption. + public let encryptionConfiguration: EncryptionConfiguration? + /// The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. + public let roleARN: String? + /// 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. + public let prefix: String? + /// The CloudWatch logging options for your delivery stream. + public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? + /// 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. + public let compressionFormat: CompressionFormat? + /// The buffering option. If no value is specified, BufferingHints object default values are used. + public let bufferingHints: BufferingHints? - public init(durationInSeconds: Int32? = nil) { - self.durationInSeconds = durationInSeconds + public init(bucketARN: String? = nil, encryptionConfiguration: EncryptionConfiguration? = nil, roleARN: String? = nil, prefix: String? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, compressionFormat: CompressionFormat? = nil, bufferingHints: BufferingHints? = nil) { + self.bucketARN = bucketARN + self.encryptionConfiguration = encryptionConfiguration + self.roleARN = roleARN + self.prefix = prefix + self.cloudWatchLoggingOptions = cloudWatchLoggingOptions + self.compressionFormat = compressionFormat + self.bufferingHints = bufferingHints } private enum CodingKeys: String, CodingKey { - case durationInSeconds = "DurationInSeconds" + case bucketARN = "BucketARN" + case encryptionConfiguration = "EncryptionConfiguration" + case roleARN = "RoleARN" + case prefix = "Prefix" + case cloudWatchLoggingOptions = "CloudWatchLoggingOptions" + case compressionFormat = "CompressionFormat" + case bufferingHints = "BufferingHints" } } @@ -751,15 +958,15 @@ extension Firehose { public let clusterJDBCURL: String? /// The Amazon S3 backup mode. public let s3BackupMode: RedshiftS3BackupMode? - /// The ARN of the AWS credentials. + /// The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let roleARN: String? /// 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. public let s3Update: S3DestinationUpdate? /// The user password. public let password: String? - /// The CloudWatch logging options for your delivery stream. + /// The Amazon CloudWatch logging options for your delivery stream. public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? - /// The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes). + /// The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes). public let retryOptions: RedshiftRetryOptions? public init(processingConfiguration: ProcessingConfiguration? = nil, copyCommand: CopyCommand? = nil, username: String? = nil, s3BackupUpdate: S3DestinationUpdate? = nil, clusterJDBCURL: String? = nil, s3BackupMode: RedshiftS3BackupMode? = nil, roleARN: String? = nil, s3Update: S3DestinationUpdate? = nil, password: String? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, retryOptions: RedshiftRetryOptions? = nil) { @@ -791,52 +998,33 @@ extension Firehose { } } - public struct S3DestinationUpdate: AWSShape { + public struct BufferingHints: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BucketARN", required: false, type: .string), - AWSShapeMember(label: "EncryptionConfiguration", required: false, type: .structure), - AWSShapeMember(label: "Prefix", required: false, type: .string), - AWSShapeMember(label: "RoleARN", required: false, type: .string), - AWSShapeMember(label: "CloudWatchLoggingOptions", required: false, type: .structure), - AWSShapeMember(label: "CompressionFormat", required: false, type: .enum), - AWSShapeMember(label: "BufferingHints", required: false, type: .structure) + AWSShapeMember(label: "IntervalInSeconds", required: false, type: .integer), + AWSShapeMember(label: "SizeInMBs", required: false, type: .integer) ] - /// The ARN of the S3 bucket. - public let bucketARN: String? - /// The encryption configuration. If no value is specified, the default is no encryption. - public let encryptionConfiguration: EncryptionConfiguration? - /// The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide. - public let prefix: String? - /// The ARN of the AWS credentials. - public let roleARN: String? - /// The CloudWatch logging options for your delivery stream. - public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? - /// 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. - public let compressionFormat: CompressionFormat? - /// The buffering option. If no value is specified, BufferingHints object default values are used. - public let bufferingHints: BufferingHints? + /// Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + public let intervalInSeconds: Int32? + /// 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. + public let sizeInMBs: Int32? - public init(bucketARN: String? = nil, encryptionConfiguration: EncryptionConfiguration? = nil, prefix: String? = nil, roleARN: String? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, compressionFormat: CompressionFormat? = nil, bufferingHints: BufferingHints? = nil) { - self.bucketARN = bucketARN - self.encryptionConfiguration = encryptionConfiguration - self.prefix = prefix - self.roleARN = roleARN - self.cloudWatchLoggingOptions = cloudWatchLoggingOptions - self.compressionFormat = compressionFormat - self.bufferingHints = bufferingHints + public init(intervalInSeconds: Int32? = nil, sizeInMBs: Int32? = nil) { + self.intervalInSeconds = intervalInSeconds + self.sizeInMBs = sizeInMBs } private enum CodingKeys: String, CodingKey { - case bucketARN = "BucketARN" - case encryptionConfiguration = "EncryptionConfiguration" - case prefix = "Prefix" - case roleARN = "RoleARN" - case cloudWatchLoggingOptions = "CloudWatchLoggingOptions" - case compressionFormat = "CompressionFormat" - case bufferingHints = "BufferingHints" + case intervalInSeconds = "IntervalInSeconds" + case sizeInMBs = "SizeInMBs" } } + public enum OrcFormatVersion: String, CustomStringConvertible, Codable { + case v011 = "V0_11" + case v012 = "V0_12" + public var description: String { return self.rawValue } + } + public struct PutRecordBatchOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RequestResponses", required: true, type: .list), @@ -892,23 +1080,23 @@ extension Firehose { AWSShapeMember(label: "CloudWatchLoggingOptions", required: false, type: .structure), AWSShapeMember(label: "HECEndpointType", required: false, type: .enum) ] - /// The retry behavior in case Kinesis Firehose is unable to deliver data to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk. + /// 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. public let retryOptions: SplunkRetryOptions? - /// The amount of time that Kinesis Firehose waits to receive an acknowledgment from Splunk after it sends it data. At the end of the timeout period Kinesis Firehose either tries to send the data again or considers it an error, based on your retry settings. + /// 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. public let hECAcknowledgmentTimeoutInSeconds: Int32? /// Your update to the configuration of the backup Amazon S3 location. public let s3Update: S3DestinationUpdate? - /// This is a GUID you obtain from your Splunk cluster when you create a new HEC endpoint. + /// A GUID that you obtain from your Splunk cluster when you create a new HEC endpoint. public let hECToken: String? - /// The HTTP Event Collector (HEC) endpoint to which Kinesis Firehose sends your data. + /// The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your data. public let hECEndpoint: String? - /// Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set to AllDocuments, Kinesis Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. Default value is FailedDocumentsOnly. + /// 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. public let s3BackupMode: SplunkS3BackupMode? /// The data processing configuration. public let processingConfiguration: ProcessingConfiguration? - /// The CloudWatch logging options for your delivery stream. + /// The Amazon CloudWatch logging options for your delivery stream. public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? - /// This type can be either "Raw" or "Event". + /// This type can be either "Raw" or "Event." public let hECEndpointType: HECEndpointType? public init(retryOptions: SplunkRetryOptions? = nil, hECAcknowledgmentTimeoutInSeconds: Int32? = nil, s3Update: S3DestinationUpdate? = nil, hECToken: String? = nil, hECEndpoint: String? = nil, s3BackupMode: SplunkS3BackupMode? = nil, processingConfiguration: ProcessingConfiguration? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, hECEndpointType: HECEndpointType? = nil) { @@ -949,15 +1137,15 @@ extension Firehose { AWSShapeMember(label: "RetryOptions", required: false, type: .structure), AWSShapeMember(label: "BufferingHints", required: false, type: .structure) ] - /// The Elasticsearch type name. + /// 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. public let typeName: String? /// The Elasticsearch index name. public let indexName: String? - /// 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 Amazon Elasticsearch Service Destination. Default value is OneDay. + /// 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. public let indexRotationPeriod: ElasticsearchIndexRotationPeriod? - /// 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. + /// 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. public let domainARN: String? - /// The ARN of the IAM role to be assumed by Kinesis Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Amazon S3 Bucket Access. + /// 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. public let roleARN: String? /// The Amazon S3 destination. public let s3Update: S3DestinationUpdate? @@ -965,7 +1153,7 @@ extension Firehose { public let processingConfiguration: ProcessingConfiguration? /// The CloudWatch logging options for your delivery stream. public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? - /// The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes). + /// The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes). public let retryOptions: ElasticsearchRetryOptions? /// The buffering options. If no value is specified, ElasticsearchBufferingHints object default values are used. public let bufferingHints: ElasticsearchBufferingHints? @@ -1001,7 +1189,7 @@ extension Firehose { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DurationInSeconds", required: false, type: .integer) ] - /// The total amount of time that Kinesis Firehose spends on retries. This duration starts after the initial attempt to send data to Splunk fails and doesn't include the periods during which Kinesis Firehose waits for acknowledgment from Splunk after each attempt. + /// 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. public let durationInSeconds: Int32? public init(durationInSeconds: Int32? = nil) { @@ -1013,6 +1201,73 @@ extension Firehose { } } + public struct SchemaConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionId", required: false, type: .string), + AWSShapeMember(label: "DatabaseName", required: false, type: .string), + AWSShapeMember(label: "TableName", required: false, type: .string), + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "Region", required: false, type: .string), + AWSShapeMember(label: "RoleARN", required: false, type: .string) + ] + /// 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. + public let versionId: String? + /// Specifies the name of the AWS Glue database that contains the schema for the output data. + public let databaseName: String? + /// Specifies the AWS Glue table that contains the column information that constitutes your data schema. + public let tableName: String? + /// The ID of the AWS Glue Data Catalog. If you don't supply this, the AWS account ID is used by default. + public let catalogId: String? + /// If you don't specify an AWS Region, the default is the current Region. + public let region: String? + /// 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. + public let roleARN: String? + + public init(versionId: String? = nil, databaseName: String? = nil, tableName: String? = nil, catalogId: String? = nil, region: String? = nil, roleARN: String? = nil) { + self.versionId = versionId + self.databaseName = databaseName + self.tableName = tableName + self.catalogId = catalogId + self.region = region + self.roleARN = roleARN + } + + private enum CodingKeys: String, CodingKey { + case versionId = "VersionId" + case databaseName = "DatabaseName" + case tableName = "TableName" + case catalogId = "CatalogId" + case region = "Region" + case roleARN = "RoleARN" + } + } + + public struct OpenXJsonSerDe: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConvertDotsInJsonKeysToUnderscores", required: false, type: .boolean), + AWSShapeMember(label: "ColumnToJsonKeyMappings", required: false, type: .map), + AWSShapeMember(label: "CaseInsensitive", required: false, type: .boolean) + ] + /// 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. + public let convertDotsInJsonKeysToUnderscores: Bool? + /// 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. + public let columnToJsonKeyMappings: [String: String]? + /// When set to true, which is the default, Kinesis Data Firehose converts JSON keys to lowercase before deserializing them. + public let caseInsensitive: Bool? + + public init(convertDotsInJsonKeysToUnderscores: Bool? = nil, columnToJsonKeyMappings: [String: String]? = nil, caseInsensitive: Bool? = nil) { + self.convertDotsInJsonKeysToUnderscores = convertDotsInJsonKeysToUnderscores + self.columnToJsonKeyMappings = columnToJsonKeyMappings + self.caseInsensitive = caseInsensitive + } + + private enum CodingKeys: String, CodingKey { + case convertDotsInJsonKeysToUnderscores = "ConvertDotsInJsonKeysToUnderscores" + case columnToJsonKeyMappings = "ColumnToJsonKeyMappings" + case caseInsensitive = "CaseInsensitive" + } + } + public struct CreateDeliveryStreamInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ElasticsearchDestinationConfiguration", required: false, type: .structure), @@ -1026,13 +1281,13 @@ extension Firehose { ] /// The destination in Amazon ES. You can specify only one destination. public let elasticsearchDestinationConfiguration: ElasticsearchDestinationConfiguration? - /// When a Kinesis stream is used as the source for the delivery stream, a KinesisStreamSourceConfiguration containing the Kinesis stream ARN and the role ARN for the source stream. + /// 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. public let kinesisStreamSourceConfiguration: KinesisStreamSourceConfiguration? - /// 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 stream as a source. + /// 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. public let deliveryStreamType: DeliveryStreamType? /// [Deprecated] The destination in Amazon S3. You can specify only one destination. public let s3DestinationConfiguration: S3DestinationConfiguration? - /// The name of the delivery stream. This name must be unique per AWS account in the same region. If the delivery streams are in different accounts or different regions, you can have multiple delivery streams with the same name. + /// 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. public let deliveryStreamName: String /// The destination in Amazon S3. You can specify only one destination. public let extendedS3DestinationConfiguration: ExtendedS3DestinationConfiguration? @@ -1078,25 +1333,25 @@ extension Firehose { AWSShapeMember(label: "RetryOptions", required: false, type: .structure), AWSShapeMember(label: "BufferingHints", required: false, type: .structure) ] - /// The Elasticsearch type name. + /// 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. public let typeName: String /// The Elasticsearch index name. public let indexName: String /// The configuration for the backup Amazon S3 location. public let s3Configuration: S3DestinationConfiguration - /// 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 Amazon Elasticsearch Service Destination. The default value is OneDay. + /// 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. public let indexRotationPeriod: ElasticsearchIndexRotationPeriod? - /// 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. + /// 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. public let domainARN: String - /// The ARN of the IAM role to be assumed by Kinesis Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Amazon S3 Bucket Access. + /// 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. public let roleARN: String /// The data processing configuration. public let processingConfiguration: ProcessingConfiguration? - /// Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with elasticsearch-failed/ appended to the key prefix. When set to AllDocuments, Kinesis Firehose delivers all incoming records to Amazon S3, and also writes failed documents with elasticsearch-failed/ appended to the prefix. For more information, see Amazon S3 Backup for Amazon Elasticsearch Service Destination. Default value is FailedDocumentsOnly. + /// 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. public let s3BackupMode: ElasticsearchS3BackupMode? - /// The CloudWatch logging options for your delivery stream. + /// The Amazon CloudWatch logging options for your delivery stream. public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? - /// The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes). + /// The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes). public let retryOptions: ElasticsearchRetryOptions? /// The buffering options. If no value is specified, the default values for ElasticsearchBufferingHints are used. public let bufferingHints: ElasticsearchBufferingHints? @@ -1146,27 +1401,54 @@ extension Firehose { } } - public struct PutRecordBatchInput: AWSShape { + public struct ParquetSerDe: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Records", required: true, type: .list), - AWSShapeMember(label: "DeliveryStreamName", required: true, type: .string) + AWSShapeMember(label: "Compression", required: false, type: .enum), + AWSShapeMember(label: "MaxPaddingBytes", required: false, type: .integer), + AWSShapeMember(label: "PageSizeBytes", required: false, type: .integer), + AWSShapeMember(label: "BlockSizeBytes", required: false, type: .integer), + AWSShapeMember(label: "EnableDictionaryCompression", required: false, type: .boolean), + AWSShapeMember(label: "WriterVersion", required: false, type: .enum) ] - /// One or more records. - public let records: [Record] - /// The name of the delivery stream. - public let deliveryStreamName: String - - public init(records: [Record], deliveryStreamName: String) { - self.records = records - self.deliveryStreamName = deliveryStreamName + /// 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. + public let compression: ParquetCompression? + /// 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. + public let maxPaddingBytes: Int32? + /// 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. + public let pageSizeBytes: Int32? + /// 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. + public let blockSizeBytes: Int32? + /// Indicates whether to enable dictionary compression. + public let enableDictionaryCompression: Bool? + /// Indicates the version of row format to output. The possible values are V1 and V2. The default is V1. + public let writerVersion: ParquetWriterVersion? + + public init(compression: ParquetCompression? = nil, maxPaddingBytes: Int32? = nil, pageSizeBytes: Int32? = nil, blockSizeBytes: Int32? = nil, enableDictionaryCompression: Bool? = nil, writerVersion: ParquetWriterVersion? = nil) { + self.compression = compression + self.maxPaddingBytes = maxPaddingBytes + self.pageSizeBytes = pageSizeBytes + self.blockSizeBytes = blockSizeBytes + self.enableDictionaryCompression = enableDictionaryCompression + self.writerVersion = writerVersion } private enum CodingKeys: String, CodingKey { - case records = "Records" - case deliveryStreamName = "DeliveryStreamName" + case compression = "Compression" + case maxPaddingBytes = "MaxPaddingBytes" + case pageSizeBytes = "PageSizeBytes" + case blockSizeBytes = "BlockSizeBytes" + case enableDictionaryCompression = "EnableDictionaryCompression" + case writerVersion = "WriterVersion" } } + public enum OrcCompression: String, CustomStringConvertible, Codable { + case none = "NONE" + case zlib = "ZLIB" + case snappy = "SNAPPY" + public var description: String { return self.rawValue } + } + public struct ProcessorParameter: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ParameterName", required: true, type: .enum), @@ -1188,11 +1470,32 @@ extension Firehose { } } + public struct PutRecordBatchInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Records", required: true, type: .list), + AWSShapeMember(label: "DeliveryStreamName", required: true, type: .string) + ] + /// One or more records. + public let records: [Record] + /// The name of the delivery stream. + public let deliveryStreamName: String + + public init(records: [Record], deliveryStreamName: String) { + self.records = records + self.deliveryStreamName = deliveryStreamName + } + + private enum CodingKeys: String, CodingKey { + case records = "Records" + case deliveryStreamName = "DeliveryStreamName" + } + } + public struct KMSEncryptionConfig: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AWSKMSKeyARN", required: true, type: .string) ] - /// The ARN of the encryption key. Must belong to the same region as the destination Amazon S3 bucket. + /// 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. public let aWSKMSKeyARN: String public init(aWSKMSKeyARN: String) { @@ -1209,9 +1512,10 @@ extension Firehose { AWSShapeMember(label: "S3BackupDescription", required: false, type: .structure), AWSShapeMember(label: "BucketARN", required: true, type: .string), AWSShapeMember(label: "EncryptionConfiguration", required: true, type: .structure), + AWSShapeMember(label: "DataFormatConversionConfiguration", required: false, type: .structure), AWSShapeMember(label: "RoleARN", required: true, type: .string), - AWSShapeMember(label: "ProcessingConfiguration", required: false, type: .structure), AWSShapeMember(label: "Prefix", required: false, type: .string), + AWSShapeMember(label: "ProcessingConfiguration", required: false, type: .structure), AWSShapeMember(label: "S3BackupMode", required: false, type: .enum), AWSShapeMember(label: "CloudWatchLoggingOptions", required: false, type: .structure), AWSShapeMember(label: "CompressionFormat", required: true, type: .enum), @@ -1219,32 +1523,35 @@ extension Firehose { ] /// The configuration for backup in Amazon S3. public let s3BackupDescription: S3DestinationDescription? - /// The ARN of the S3 bucket. + /// The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let bucketARN: String /// The encryption configuration. If no value is specified, the default is no encryption. public let encryptionConfiguration: EncryptionConfiguration - /// The ARN of the AWS credentials. + /// The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3. + public let dataFormatConversionConfiguration: DataFormatConversionConfiguration? + /// The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let roleARN: String + /// 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. + public let prefix: String? /// The data processing configuration. public let processingConfiguration: ProcessingConfiguration? - /// The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide. - public let prefix: String? /// The Amazon S3 backup mode. public let s3BackupMode: S3BackupMode? - /// The CloudWatch logging options for your delivery stream. + /// The Amazon CloudWatch logging options for your delivery stream. public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? /// The compression format. If no value is specified, the default is UNCOMPRESSED. public let compressionFormat: CompressionFormat /// The buffering option. public let bufferingHints: BufferingHints - public init(s3BackupDescription: S3DestinationDescription? = nil, bucketARN: String, encryptionConfiguration: EncryptionConfiguration, roleARN: String, processingConfiguration: ProcessingConfiguration? = nil, prefix: String? = nil, s3BackupMode: S3BackupMode? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, compressionFormat: CompressionFormat, bufferingHints: BufferingHints) { + public init(s3BackupDescription: S3DestinationDescription? = nil, bucketARN: String, encryptionConfiguration: EncryptionConfiguration, dataFormatConversionConfiguration: DataFormatConversionConfiguration? = nil, roleARN: String, prefix: String? = nil, processingConfiguration: ProcessingConfiguration? = nil, s3BackupMode: S3BackupMode? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, compressionFormat: CompressionFormat, bufferingHints: BufferingHints) { self.s3BackupDescription = s3BackupDescription self.bucketARN = bucketARN self.encryptionConfiguration = encryptionConfiguration + self.dataFormatConversionConfiguration = dataFormatConversionConfiguration self.roleARN = roleARN - self.processingConfiguration = processingConfiguration self.prefix = prefix + self.processingConfiguration = processingConfiguration self.s3BackupMode = s3BackupMode self.cloudWatchLoggingOptions = cloudWatchLoggingOptions self.compressionFormat = compressionFormat @@ -1255,9 +1562,10 @@ extension Firehose { case s3BackupDescription = "S3BackupDescription" case bucketARN = "BucketARN" case encryptionConfiguration = "EncryptionConfiguration" + case dataFormatConversionConfiguration = "DataFormatConversionConfiguration" case roleARN = "RoleARN" - case processingConfiguration = "ProcessingConfiguration" case prefix = "Prefix" + case processingConfiguration = "ProcessingConfiguration" case s3BackupMode = "S3BackupMode" case cloudWatchLoggingOptions = "CloudWatchLoggingOptions" case compressionFormat = "CompressionFormat" @@ -1294,10 +1602,108 @@ extension Firehose { } } + public struct OrcSerDe: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EnablePadding", required: false, type: .boolean), + AWSShapeMember(label: "BlockSizeBytes", required: false, type: .integer), + AWSShapeMember(label: "DictionaryKeyThreshold", required: false, type: .double), + AWSShapeMember(label: "RowIndexStride", required: false, type: .integer), + AWSShapeMember(label: "BloomFilterColumns", required: false, type: .list), + AWSShapeMember(label: "Compression", required: false, type: .enum), + AWSShapeMember(label: "FormatVersion", required: false, type: .enum), + AWSShapeMember(label: "PaddingTolerance", required: false, type: .double), + AWSShapeMember(label: "BloomFilterFalsePositiveProbability", required: false, type: .double), + AWSShapeMember(label: "StripeSizeBytes", required: false, type: .integer) + ] + /// 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. + public let enablePadding: Bool? + /// 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. + public let blockSizeBytes: Int32? + /// 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. + public let dictionaryKeyThreshold: Double? + /// The number of rows between index entries. The default is 10,000 and the minimum is 1,000. + public let rowIndexStride: Int32? + /// The column names for which you want Kinesis Data Firehose to create bloom filters. The default is null. + public let bloomFilterColumns: [String]? + /// The compression code to use over data blocks. The default is SNAPPY. + public let compression: OrcCompression? + /// The version of the file to write. The possible values are V0_11 and V0_12. The default is V0_12. + public let formatVersion: OrcFormatVersion? + /// 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. + public let paddingTolerance: Double? + /// 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. + public let bloomFilterFalsePositiveProbability: Double? + /// The number of bytes in each stripe. The default is 64 MiB and the minimum is 8 MiB. + public let stripeSizeBytes: Int32? + + public init(enablePadding: Bool? = nil, blockSizeBytes: Int32? = nil, dictionaryKeyThreshold: Double? = nil, rowIndexStride: Int32? = nil, bloomFilterColumns: [String]? = nil, compression: OrcCompression? = nil, formatVersion: OrcFormatVersion? = nil, paddingTolerance: Double? = nil, bloomFilterFalsePositiveProbability: Double? = nil, stripeSizeBytes: Int32? = nil) { + self.enablePadding = enablePadding + self.blockSizeBytes = blockSizeBytes + self.dictionaryKeyThreshold = dictionaryKeyThreshold + self.rowIndexStride = rowIndexStride + self.bloomFilterColumns = bloomFilterColumns + self.compression = compression + self.formatVersion = formatVersion + self.paddingTolerance = paddingTolerance + self.bloomFilterFalsePositiveProbability = bloomFilterFalsePositiveProbability + self.stripeSizeBytes = stripeSizeBytes + } + + private enum CodingKeys: String, CodingKey { + case enablePadding = "EnablePadding" + case blockSizeBytes = "BlockSizeBytes" + case dictionaryKeyThreshold = "DictionaryKeyThreshold" + case rowIndexStride = "RowIndexStride" + case bloomFilterColumns = "BloomFilterColumns" + case compression = "Compression" + case formatVersion = "FormatVersion" + case paddingTolerance = "PaddingTolerance" + case bloomFilterFalsePositiveProbability = "BloomFilterFalsePositiveProbability" + case stripeSizeBytes = "StripeSizeBytes" + } + } + public struct DeleteDeliveryStreamOutput: AWSShape { } + public struct OutputFormatConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Serializer", required: false, type: .structure) + ] + /// 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. + public let serializer: Serializer? + + public init(serializer: Serializer? = nil) { + self.serializer = serializer + } + + private enum CodingKeys: String, CodingKey { + case serializer = "Serializer" + } + } + + public struct UntagDeliveryStreamInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TagKeys", required: true, type: .list), + AWSShapeMember(label: "DeliveryStreamName", required: true, type: .string) + ] + /// A list of tag keys. Each corresponding tag is removed from the delivery stream. + public let tagKeys: [String] + /// The name of the delivery stream. + public let deliveryStreamName: String + + public init(tagKeys: [String], deliveryStreamName: String) { + self.tagKeys = tagKeys + self.deliveryStreamName = deliveryStreamName + } + + private enum CodingKeys: String, CodingKey { + case tagKeys = "TagKeys" + case deliveryStreamName = "DeliveryStreamName" + } + } + public struct SplunkDestinationConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "S3Configuration", required: true, type: .structure), @@ -1312,21 +1718,21 @@ extension Firehose { ] /// The configuration for the backup Amazon S3 location. public let s3Configuration: S3DestinationConfiguration - /// The amount of time that Kinesis Firehose waits to receive an acknowledgment from Splunk after it sends it data. At the end of the timeout period Kinesis Firehose either tries to send the data again or considers it an error, based on your retry settings. + /// 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. public let hECAcknowledgmentTimeoutInSeconds: Int32? /// The data processing configuration. public let processingConfiguration: ProcessingConfiguration? - /// This is a GUID you obtain from your Splunk cluster when you create a new HEC endpoint. + /// This is a GUID that you obtain from your Splunk cluster when you create a new HEC endpoint. public let hECToken: String - /// Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set to AllDocuments, Kinesis Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. Default value is FailedDocumentsOnly. + /// 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. public let s3BackupMode: SplunkS3BackupMode? - /// The HTTP Event Collector (HEC) endpoint to which Kinesis Firehose sends your data. + /// The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your data. public let hECEndpoint: String - /// The CloudWatch logging options for your delivery stream. + /// The Amazon CloudWatch logging options for your delivery stream. public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? - /// This type can be either "Raw" or "Event". + /// This type can be either "Raw" or "Event." public let hECEndpointType: HECEndpointType - /// The retry behavior in case Kinesis Firehose is unable to deliver data to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk. + /// 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. public let retryOptions: SplunkRetryOptions? public init(s3Configuration: S3DestinationConfiguration, hECAcknowledgmentTimeoutInSeconds: Int32? = nil, processingConfiguration: ProcessingConfiguration? = nil, hECToken: String, s3BackupMode: SplunkS3BackupMode? = nil, hECEndpoint: String, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, hECEndpointType: HECEndpointType, retryOptions: SplunkRetryOptions? = nil) { @@ -1354,6 +1760,13 @@ extension Firehose { } } + public enum ParquetCompression: String, CustomStringConvertible, Codable { + case uncompressed = "UNCOMPRESSED" + case gzip = "GZIP" + case snappy = "SNAPPY" + public var description: String { return self.rawValue } + } + public enum ElasticsearchIndexRotationPeriod: String, CustomStringConvertible, Codable { case norotation = "NoRotation" case onehour = "OneHour" @@ -1363,6 +1776,37 @@ extension Firehose { public var description: String { return self.rawValue } } + public struct DataFormatConversionConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SchemaConfiguration", required: false, type: .structure), + AWSShapeMember(label: "OutputFormatConfiguration", required: false, type: .structure), + AWSShapeMember(label: "InputFormatConfiguration", required: false, type: .structure), + AWSShapeMember(label: "Enabled", required: false, type: .boolean) + ] + /// Specifies the AWS Glue Data Catalog table that contains the column information. + public let schemaConfiguration: SchemaConfiguration? + /// Specifies the serializer that you want Kinesis Data Firehose to use to convert the format of your data to the Parquet or ORC format. + public let outputFormatConfiguration: OutputFormatConfiguration? + /// Specifies the deserializer that you want Kinesis Data Firehose to use to convert the format of your data from JSON. + public let inputFormatConfiguration: InputFormatConfiguration? + /// Defaults to true. Set it to false if you want to disable format conversion while preserving the configuration details. + public let enabled: Bool? + + public init(schemaConfiguration: SchemaConfiguration? = nil, outputFormatConfiguration: OutputFormatConfiguration? = nil, inputFormatConfiguration: InputFormatConfiguration? = nil, enabled: Bool? = nil) { + self.schemaConfiguration = schemaConfiguration + self.outputFormatConfiguration = outputFormatConfiguration + self.inputFormatConfiguration = inputFormatConfiguration + self.enabled = enabled + } + + private enum CodingKeys: String, CodingKey { + case schemaConfiguration = "SchemaConfiguration" + case outputFormatConfiguration = "OutputFormatConfiguration" + case inputFormatConfiguration = "InputFormatConfiguration" + case enabled = "Enabled" + } + } + public struct Processor: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Type", required: true, type: .enum), @@ -1384,90 +1828,29 @@ extension Firehose { } } - public struct DescribeDeliveryStreamInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ExclusiveStartDestinationId", required: false, type: .string), - AWSShapeMember(label: "Limit", required: false, type: .integer), - AWSShapeMember(label: "DeliveryStreamName", required: true, type: .string) - ] - /// The ID of the destination to start returning the destination information. Currently, Kinesis Firehose supports one destination per delivery stream. - public let exclusiveStartDestinationId: String? - /// The limit on the number of destinations to return. Currently, you can have one destination per delivery stream. - public let limit: Int32? - /// The name of the delivery stream. - public let deliveryStreamName: String - - public init(exclusiveStartDestinationId: String? = nil, limit: Int32? = nil, deliveryStreamName: String) { - self.exclusiveStartDestinationId = exclusiveStartDestinationId - self.limit = limit - self.deliveryStreamName = deliveryStreamName - } - - private enum CodingKeys: String, CodingKey { - case exclusiveStartDestinationId = "ExclusiveStartDestinationId" - case limit = "Limit" - case deliveryStreamName = "DeliveryStreamName" - } - } - - public struct ExtendedS3DestinationUpdate: AWSShape { + public struct CloudWatchLoggingOptions: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BucketARN", required: false, type: .string), - AWSShapeMember(label: "EncryptionConfiguration", required: false, type: .structure), - AWSShapeMember(label: "RoleARN", required: false, type: .string), - AWSShapeMember(label: "S3BackupUpdate", required: false, type: .structure), - AWSShapeMember(label: "ProcessingConfiguration", required: false, type: .structure), - AWSShapeMember(label: "Prefix", required: false, type: .string), - AWSShapeMember(label: "S3BackupMode", required: false, type: .enum), - AWSShapeMember(label: "CloudWatchLoggingOptions", required: false, type: .structure), - AWSShapeMember(label: "CompressionFormat", required: false, type: .enum), - AWSShapeMember(label: "BufferingHints", required: false, type: .structure) + AWSShapeMember(label: "LogStreamName", required: false, type: .string), + AWSShapeMember(label: "LogGroupName", required: false, type: .string), + AWSShapeMember(label: "Enabled", required: false, type: .boolean) ] - /// The ARN of the S3 bucket. - public let bucketARN: String? - /// The encryption configuration. If no value is specified, the default is no encryption. - public let encryptionConfiguration: EncryptionConfiguration? - /// The ARN of the AWS credentials. - public let roleARN: String? - /// The Amazon S3 destination for backup. - public let s3BackupUpdate: S3DestinationUpdate? - /// The data processing configuration. - public let processingConfiguration: ProcessingConfiguration? - /// The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide. - public let prefix: String? - /// Enables or disables Amazon S3 backup mode. - public let s3BackupMode: S3BackupMode? - /// The CloudWatch logging options for your delivery stream. - public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? - /// The compression format. If no value is specified, the default is UNCOMPRESSED. - public let compressionFormat: CompressionFormat? - /// The buffering option. - public let bufferingHints: BufferingHints? + /// The CloudWatch log stream name for logging. This value is required if CloudWatch logging is enabled. + public let logStreamName: String? + /// The CloudWatch group name for logging. This value is required if CloudWatch logging is enabled. + public let logGroupName: String? + /// Enables or disables CloudWatch logging. + public let enabled: Bool? - public init(bucketARN: String? = nil, encryptionConfiguration: EncryptionConfiguration? = nil, roleARN: String? = nil, s3BackupUpdate: S3DestinationUpdate? = nil, processingConfiguration: ProcessingConfiguration? = nil, prefix: String? = nil, s3BackupMode: S3BackupMode? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, compressionFormat: CompressionFormat? = nil, bufferingHints: BufferingHints? = nil) { - self.bucketARN = bucketARN - self.encryptionConfiguration = encryptionConfiguration - self.roleARN = roleARN - self.s3BackupUpdate = s3BackupUpdate - self.processingConfiguration = processingConfiguration - self.prefix = prefix - self.s3BackupMode = s3BackupMode - self.cloudWatchLoggingOptions = cloudWatchLoggingOptions - self.compressionFormat = compressionFormat - self.bufferingHints = bufferingHints + public init(logStreamName: String? = nil, logGroupName: String? = nil, enabled: Bool? = nil) { + self.logStreamName = logStreamName + self.logGroupName = logGroupName + self.enabled = enabled } private enum CodingKeys: String, CodingKey { - case bucketARN = "BucketARN" - case encryptionConfiguration = "EncryptionConfiguration" - case roleARN = "RoleARN" - case s3BackupUpdate = "S3BackupUpdate" - case processingConfiguration = "ProcessingConfiguration" - case prefix = "Prefix" - case s3BackupMode = "S3BackupMode" - case cloudWatchLoggingOptions = "CloudWatchLoggingOptions" - case compressionFormat = "CompressionFormat" - case bufferingHints = "BufferingHints" + case logStreamName = "LogStreamName" + case logGroupName = "LogGroupName" + case enabled = "Enabled" } } @@ -1477,11 +1860,11 @@ extension Firehose { AWSShapeMember(label: "KinesisStreamARN", required: false, type: .string), AWSShapeMember(label: "RoleARN", required: false, type: .string) ] - /// Kinesis Firehose starts retrieving records from the Kinesis stream starting with this time stamp. + /// Kinesis Data Firehose starts retrieving records from the Kinesis data stream starting with this time stamp. public let deliveryStartTimestamp: TimeStamp? - /// The ARN of the source Kinesis stream. + /// The Amazon Resource Name (ARN) of the source Kinesis data stream. For more information, see Amazon Kinesis Data Streams ARN Format. public let kinesisStreamARN: String? - /// The ARN of the role used by the source Kinesis stream. + /// The ARN of the role used by the source Kinesis data stream. For more information, see AWS Identity and Access Management (IAM) ARN Format. public let roleARN: String? public init(deliveryStartTimestamp: TimeStamp? = nil, kinesisStreamARN: String? = nil, roleARN: String? = nil) { @@ -1497,29 +1880,29 @@ extension Firehose { } } - public struct CloudWatchLoggingOptions: AWSShape { + public struct DescribeDeliveryStreamInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LogStreamName", required: false, type: .string), - AWSShapeMember(label: "LogGroupName", required: false, type: .string), - AWSShapeMember(label: "Enabled", required: false, type: .boolean) + AWSShapeMember(label: "ExclusiveStartDestinationId", required: false, type: .string), + AWSShapeMember(label: "Limit", required: false, type: .integer), + AWSShapeMember(label: "DeliveryStreamName", required: true, type: .string) ] - /// The CloudWatch log stream name for logging. This value is required if CloudWatch logging is enabled. - public let logStreamName: String? - /// The CloudWatch group name for logging. This value is required if CloudWatch logging is enabled. - public let logGroupName: String? - /// Enables or disables CloudWatch logging. - public let enabled: Bool? + /// The ID of the destination to start returning the destination information. Kinesis Data Firehose supports one destination per delivery stream. + public let exclusiveStartDestinationId: String? + /// The limit on the number of destinations to return. You can have one destination per delivery stream. + public let limit: Int32? + /// The name of the delivery stream. + public let deliveryStreamName: String - public init(logStreamName: String? = nil, logGroupName: String? = nil, enabled: Bool? = nil) { - self.logStreamName = logStreamName - self.logGroupName = logGroupName - self.enabled = enabled + public init(exclusiveStartDestinationId: String? = nil, limit: Int32? = nil, deliveryStreamName: String) { + self.exclusiveStartDestinationId = exclusiveStartDestinationId + self.limit = limit + self.deliveryStreamName = deliveryStreamName } private enum CodingKeys: String, CodingKey { - case logStreamName = "LogStreamName" - case logGroupName = "LogGroupName" - case enabled = "Enabled" + case exclusiveStartDestinationId = "ExclusiveStartDestinationId" + case limit = "Limit" + case deliveryStreamName = "DeliveryStreamName" } } @@ -1559,7 +1942,7 @@ extension Firehose { ] /// The destinations. public let destinations: [DestinationDescription] - /// 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 stream as a source. + /// 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. public let deliveryStreamType: DeliveryStreamType /// The status of the delivery stream. public let deliveryStreamStatus: DeliveryStreamStatus @@ -1571,9 +1954,9 @@ extension Firehose { public let versionId: String /// The date and time that the delivery stream was created. public let createTimestamp: TimeStamp? - /// If the DeliveryStreamType parameter is KinesisStreamAsSource, a SourceDescription object describing the source Kinesis stream. + /// If the DeliveryStreamType parameter is KinesisStreamAsSource, a SourceDescription object describing the source Kinesis data stream. public let source: SourceDescription? - /// The Amazon Resource Name (ARN) of the delivery stream. + /// The Amazon Resource Name (ARN) of the delivery stream. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let deliveryStreamARN: String /// Indicates whether there are more destinations available to list. public let hasMoreDestinations: Bool @@ -1605,6 +1988,72 @@ extension Firehose { } } + public struct ExtendedS3DestinationUpdate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BucketARN", required: false, type: .string), + AWSShapeMember(label: "EncryptionConfiguration", required: false, type: .structure), + AWSShapeMember(label: "DataFormatConversionConfiguration", required: false, type: .structure), + AWSShapeMember(label: "RoleARN", required: false, type: .string), + AWSShapeMember(label: "S3BackupUpdate", required: false, type: .structure), + AWSShapeMember(label: "Prefix", required: false, type: .string), + AWSShapeMember(label: "ProcessingConfiguration", required: false, type: .structure), + AWSShapeMember(label: "S3BackupMode", required: false, type: .enum), + AWSShapeMember(label: "CloudWatchLoggingOptions", required: false, type: .structure), + AWSShapeMember(label: "CompressionFormat", required: false, type: .enum), + AWSShapeMember(label: "BufferingHints", required: false, type: .structure) + ] + /// The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. + public let bucketARN: String? + /// The encryption configuration. If no value is specified, the default is no encryption. + public let encryptionConfiguration: EncryptionConfiguration? + /// The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3. + public let dataFormatConversionConfiguration: DataFormatConversionConfiguration? + /// The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. + public let roleARN: String? + /// The Amazon S3 destination for backup. + public let s3BackupUpdate: S3DestinationUpdate? + /// 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. + public let prefix: String? + /// The data processing configuration. + public let processingConfiguration: ProcessingConfiguration? + /// Enables or disables Amazon S3 backup mode. + public let s3BackupMode: S3BackupMode? + /// The Amazon CloudWatch logging options for your delivery stream. + public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? + /// The compression format. If no value is specified, the default is UNCOMPRESSED. + public let compressionFormat: CompressionFormat? + /// The buffering option. + public let bufferingHints: BufferingHints? + + public init(bucketARN: String? = nil, encryptionConfiguration: EncryptionConfiguration? = nil, dataFormatConversionConfiguration: DataFormatConversionConfiguration? = nil, roleARN: String? = nil, s3BackupUpdate: S3DestinationUpdate? = nil, prefix: String? = nil, processingConfiguration: ProcessingConfiguration? = nil, s3BackupMode: S3BackupMode? = nil, cloudWatchLoggingOptions: CloudWatchLoggingOptions? = nil, compressionFormat: CompressionFormat? = nil, bufferingHints: BufferingHints? = nil) { + self.bucketARN = bucketARN + self.encryptionConfiguration = encryptionConfiguration + self.dataFormatConversionConfiguration = dataFormatConversionConfiguration + self.roleARN = roleARN + self.s3BackupUpdate = s3BackupUpdate + self.prefix = prefix + self.processingConfiguration = processingConfiguration + self.s3BackupMode = s3BackupMode + self.cloudWatchLoggingOptions = cloudWatchLoggingOptions + self.compressionFormat = compressionFormat + self.bufferingHints = bufferingHints + } + + private enum CodingKeys: String, CodingKey { + case bucketARN = "BucketARN" + case encryptionConfiguration = "EncryptionConfiguration" + case dataFormatConversionConfiguration = "DataFormatConversionConfiguration" + case roleARN = "RoleARN" + case s3BackupUpdate = "S3BackupUpdate" + case prefix = "Prefix" + case processingConfiguration = "ProcessingConfiguration" + case s3BackupMode = "S3BackupMode" + case cloudWatchLoggingOptions = "CloudWatchLoggingOptions" + case compressionFormat = "CompressionFormat" + case bufferingHints = "BufferingHints" + } + } + public struct ElasticsearchDestinationDescription: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TypeName", required: false, type: .string), @@ -1625,9 +2074,9 @@ extension Firehose { public let indexName: String? /// The Elasticsearch index rotation period public let indexRotationPeriod: ElasticsearchIndexRotationPeriod? - /// The ARN of the Amazon ES domain. + /// The ARN of the Amazon ES domain. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let domainARN: String? - /// The ARN of the AWS credentials. + /// The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces. public let roleARN: String? /// The Amazon S3 destination. public let s3DestinationDescription: S3DestinationDescription? @@ -1635,7 +2084,7 @@ extension Firehose { public let processingConfiguration: ProcessingConfiguration? /// The Amazon S3 backup mode. public let s3BackupMode: ElasticsearchS3BackupMode? - /// The CloudWatch logging options. + /// The Amazon CloudWatch logging options. public let cloudWatchLoggingOptions: CloudWatchLoggingOptions? /// The Amazon ES retry options. public let retryOptions: ElasticsearchRetryOptions? diff --git a/Sources/AWSSDKSwift/Services/fms/Fms_API.swift b/Sources/AWSSDKSwift/Services/fms/Fms_API.swift new file mode 100644 index 00000000000..202e2a431e5 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/fms/Fms_API.swift @@ -0,0 +1,89 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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. +*/ +public struct Fms { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + amzTarget: "AWSFMS_20180101", + service: "fms", + serviceProtocol: ServiceProtocol(type: .json, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2018-01-01", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [FmsError.self] + ) + } + + /// 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. + public func getComplianceDetail(_ input: GetComplianceDetailRequest) throws -> GetComplianceDetailResponse { + return try client.send(operation: "GetComplianceDetail", path: "/", httpMethod: "POST", input: input) + } + + /// Returns information about the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs. + public func getNotificationChannel(_ input: GetNotificationChannelRequest) throws -> GetNotificationChannelResponse { + return try client.send(operation: "GetNotificationChannel", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func deleteNotificationChannel(_ input: DeleteNotificationChannelRequest) throws { + _ = try client.send(operation: "DeleteNotificationChannel", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func listComplianceStatus(_ input: ListComplianceStatusRequest) throws -> ListComplianceStatusResponse { + return try client.send(operation: "ListComplianceStatus", path: "/", httpMethod: "POST", input: input) + } + + /// Returns the AWS Organizations master account that is associated with AWS Firewall Manager as the AWS Firewall Manager administrator. + public func getAdminAccount(_ input: GetAdminAccountRequest) throws -> GetAdminAccountResponse { + return try client.send(operation: "GetAdminAccount", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func disassociateAdminAccount(_ input: DisassociateAdminAccountRequest) throws { + _ = try client.send(operation: "DisassociateAdminAccount", path: "/", httpMethod: "POST", input: input) + } + + /// Permanently deletes an AWS Firewall Manager policy. + public func deletePolicy(_ input: DeletePolicyRequest) throws { + _ = try client.send(operation: "DeletePolicy", path: "/", httpMethod: "POST", input: input) + } + + /// Creates an AWS Firewall Manager policy. + public func putPolicy(_ input: PutPolicyRequest) throws -> PutPolicyResponse { + return try client.send(operation: "PutPolicy", path: "/", httpMethod: "POST", input: input) + } + + /// Returns information about the specified AWS Firewall Manager policy. + public func getPolicy(_ input: GetPolicyRequest) throws -> GetPolicyResponse { + return try client.send(operation: "GetPolicy", path: "/", httpMethod: "POST", input: input) + } + + /// Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs. + public func putNotificationChannel(_ input: PutNotificationChannelRequest) throws { + _ = try client.send(operation: "PutNotificationChannel", path: "/", httpMethod: "POST", input: input) + } + + /// Returns an array of PolicySummary objects in the response. + public func listPolicies(_ input: ListPoliciesRequest) throws -> ListPoliciesResponse { + return try client.send(operation: "ListPolicies", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func associateAdminAccount(_ input: AssociateAdminAccountRequest) throws { + _ = try client.send(operation: "AssociateAdminAccount", path: "/", httpMethod: "POST", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/fms/Fms_Error.swift b/Sources/AWSSDKSwift/Services/fms/Fms_Error.swift new file mode 100644 index 00000000000..d2488a68310 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/fms/Fms_Error.swift @@ -0,0 +1,35 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Fms +public enum FmsError: AWSErrorType { + case resourceNotFoundException(message: String?) + case internalErrorException(message: String?) + case invalidOperationException(message: String?) + case invalidInputException(message: String?) + case limitExceededException(message: String?) +} + +extension FmsError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "ResourceNotFoundException": + self = .resourceNotFoundException(message: message) + case "InternalErrorException": + self = .internalErrorException(message: message) + case "InvalidOperationException": + self = .invalidOperationException(message: message) + case "InvalidInputException": + self = .invalidInputException(message: message) + case "LimitExceededException": + self = .limitExceededException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/fms/Fms_Shapes.swift b/Sources/AWSSDKSwift/Services/fms/Fms_Shapes.swift new file mode 100644 index 00000000000..7ebff23c75f --- /dev/null +++ b/Sources/AWSSDKSwift/Services/fms/Fms_Shapes.swift @@ -0,0 +1,600 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Fms { + + public struct DisassociateAdminAccountRequest: AWSShape { + + } + + public struct GetNotificationChannelResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SnsTopicArn", required: false, type: .string), + AWSShapeMember(label: "SnsRoleName", required: false, type: .string) + ] + /// The SNS topic that records AWS Firewall Manager activity. + public let snsTopicArn: String? + /// The IAM role that is used by AWS Firewall Manager to record activity to SNS. + public let snsRoleName: String? + + public init(snsTopicArn: String? = nil, snsRoleName: String? = nil) { + self.snsTopicArn = snsTopicArn + self.snsRoleName = snsRoleName + } + + private enum CodingKeys: String, CodingKey { + case snsTopicArn = "SnsTopicArn" + case snsRoleName = "SnsRoleName" + } + } + + public struct GetPolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyId", required: true, type: .string) + ] + /// The ID of the AWS Firewall Manager policy that you want the details for. + public let policyId: String + + public init(policyId: String) { + self.policyId = policyId + } + + private enum CodingKeys: String, CodingKey { + case policyId = "PolicyId" + } + } + + public struct Policy: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyUpdateToken", required: false, type: .string), + AWSShapeMember(label: "PolicyId", required: false, type: .string), + AWSShapeMember(label: "ExcludeResourceTags", required: true, type: .boolean), + AWSShapeMember(label: "ResourceType", required: true, type: .string), + AWSShapeMember(label: "ResourceTags", required: false, type: .list), + AWSShapeMember(label: "RemediationEnabled", required: true, type: .boolean), + AWSShapeMember(label: "SecurityServicePolicyData", required: true, type: .structure), + AWSShapeMember(label: "PolicyName", required: true, type: .string) + ] + /// 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. + public let policyUpdateToken: String? + /// The ID of the AWS Firewall Manager policy. + public let policyId: String? + /// 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. + public let excludeResourceTags: Bool + /// 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. + public let resourceType: String + /// An array of ResourceTag objects. + public let resourceTags: [ResourceTag]? + /// Indicates if the policy should be automatically applied to new resources. + public let remediationEnabled: Bool + /// Details about the security service that is being used to protect the resources. + public let securityServicePolicyData: SecurityServicePolicyData + /// The friendly name of the AWS Firewall Manager policy. + public let policyName: String + + public init(policyUpdateToken: String? = nil, policyId: String? = nil, excludeResourceTags: Bool, resourceType: String, resourceTags: [ResourceTag]? = nil, remediationEnabled: Bool, securityServicePolicyData: SecurityServicePolicyData, policyName: String) { + self.policyUpdateToken = policyUpdateToken + self.policyId = policyId + self.excludeResourceTags = excludeResourceTags + self.resourceType = resourceType + self.resourceTags = resourceTags + self.remediationEnabled = remediationEnabled + self.securityServicePolicyData = securityServicePolicyData + self.policyName = policyName + } + + private enum CodingKeys: String, CodingKey { + case policyUpdateToken = "PolicyUpdateToken" + case policyId = "PolicyId" + case excludeResourceTags = "ExcludeResourceTags" + case resourceType = "ResourceType" + case resourceTags = "ResourceTags" + case remediationEnabled = "RemediationEnabled" + case securityServicePolicyData = "SecurityServicePolicyData" + case policyName = "PolicyName" + } + } + + public struct GetPolicyResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyArn", required: false, type: .string), + AWSShapeMember(label: "Policy", required: false, type: .structure) + ] + /// The Amazon Resource Name (ARN) of the specified policy. + public let policyArn: String? + /// Information about the specified AWS Firewall Manager policy. + public let policy: Policy? + + public init(policyArn: String? = nil, policy: Policy? = nil) { + self.policyArn = policyArn + self.policy = policy + } + + private enum CodingKeys: String, CodingKey { + case policyArn = "PolicyArn" + case policy = "Policy" + } + } + + public struct ListPoliciesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyList", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// An array of PolicySummary objects. + public let policyList: [PolicySummary]? + /// 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. + public let nextToken: String? + + public init(policyList: [PolicySummary]? = nil, nextToken: String? = nil) { + self.policyList = policyList + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case policyList = "PolicyList" + case nextToken = "NextToken" + } + } + + public struct SecurityServicePolicyData: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", required: true, type: .enum), + AWSShapeMember(label: "ManagedServiceData", required: false, type: .string) + ] + /// The service that the policy is using to protect the resources. This value is WAF. + public let `type`: SecurityServiceType + /// 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\"}} + public let managedServiceData: String? + + public init(type: SecurityServiceType, managedServiceData: String? = nil) { + self.`type` = `type` + self.managedServiceData = managedServiceData + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + case managedServiceData = "ManagedServiceData" + } + } + + public struct DeletePolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyId", required: true, type: .string) + ] + /// The ID of the policy that you want to delete. PolicyId is returned by PutPolicy and by ListPolicies. + public let policyId: String + + public init(policyId: String) { + self.policyId = policyId + } + + private enum CodingKeys: String, CodingKey { + case policyId = "PolicyId" + } + } + + public struct PolicyComplianceDetail: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyOwner", required: false, type: .string), + AWSShapeMember(label: "PolicyId", required: false, type: .string), + AWSShapeMember(label: "ExpiredAt", required: false, type: .timestamp), + AWSShapeMember(label: "Violators", required: false, type: .list), + AWSShapeMember(label: "MemberAccount", required: false, type: .string), + AWSShapeMember(label: "EvaluationLimitExceeded", required: false, type: .boolean) + ] + /// The AWS account that created the AWS Firewall Manager policy. + public let policyOwner: String? + /// The ID of the AWS Firewall Manager policy. + public let policyId: String? + /// A time stamp that indicates when the returned information should be considered out-of-date. + public let expiredAt: TimeStamp? + /// An array of resources that are not protected by the policy. + public let violators: [ComplianceViolator]? + /// The AWS account ID. + public let memberAccount: String? + /// Indicates if over 100 resources are non-compliant with the AWS Firewall Manager policy. + public let evaluationLimitExceeded: Bool? + + public init(policyOwner: String? = nil, policyId: String? = nil, expiredAt: TimeStamp? = nil, violators: [ComplianceViolator]? = nil, memberAccount: String? = nil, evaluationLimitExceeded: Bool? = nil) { + self.policyOwner = policyOwner + self.policyId = policyId + self.expiredAt = expiredAt + self.violators = violators + self.memberAccount = memberAccount + self.evaluationLimitExceeded = evaluationLimitExceeded + } + + private enum CodingKeys: String, CodingKey { + case policyOwner = "PolicyOwner" + case policyId = "PolicyId" + case expiredAt = "ExpiredAt" + case violators = "Violators" + case memberAccount = "MemberAccount" + case evaluationLimitExceeded = "EvaluationLimitExceeded" + } + } + + public struct ListPoliciesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct AssociateAdminAccountRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AdminAccount", required: true, type: .string) + ] + /// 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. + public let adminAccount: String + + public init(adminAccount: String) { + self.adminAccount = adminAccount + } + + private enum CodingKeys: String, CodingKey { + case adminAccount = "AdminAccount" + } + } + + public struct GetAdminAccountRequest: AWSShape { + + } + + public struct GetComplianceDetailResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyComplianceDetail", required: false, type: .structure) + ] + /// Information about the resources and the policy that you specified in the GetComplianceDetail request. + public let policyComplianceDetail: PolicyComplianceDetail? + + public init(policyComplianceDetail: PolicyComplianceDetail? = nil) { + self.policyComplianceDetail = policyComplianceDetail + } + + private enum CodingKeys: String, CodingKey { + case policyComplianceDetail = "PolicyComplianceDetail" + } + } + + public struct ListComplianceStatusRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The ID of the AWS Firewall Manager policy that you want the details for. + public let policyId: String + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(policyId: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.policyId = policyId + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case policyId = "PolicyId" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct PutNotificationChannelRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SnsTopicArn", required: true, type: .string), + AWSShapeMember(label: "SnsRoleName", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) of the SNS topic that collects notifications from AWS Firewall Manager. + public let snsTopicArn: String + /// The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to record AWS Firewall Manager activity. + public let snsRoleName: String + + public init(snsTopicArn: String, snsRoleName: String) { + self.snsTopicArn = snsTopicArn + self.snsRoleName = snsRoleName + } + + private enum CodingKeys: String, CodingKey { + case snsTopicArn = "SnsTopicArn" + case snsRoleName = "SnsRoleName" + } + } + + public struct PutPolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Policy", required: true, type: .structure) + ] + /// The details of the AWS Firewall Manager policy to be created. + public let policy: Policy + + public init(policy: Policy) { + self.policy = policy + } + + private enum CodingKeys: String, CodingKey { + case policy = "Policy" + } + } + + public struct ComplianceViolator: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceId", required: false, type: .string), + AWSShapeMember(label: "ViolationReason", required: false, type: .enum), + AWSShapeMember(label: "ResourceType", required: false, type: .string) + ] + /// The resource ID. + public let resourceId: String? + /// The reason that the resource is not protected by the policy. + public let violationReason: ViolationReason? + /// The resource type. This is in the format shown in AWS Resource Types Reference. Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution. + public let resourceType: String? + + public init(resourceId: String? = nil, violationReason: ViolationReason? = nil, resourceType: String? = nil) { + self.resourceId = resourceId + self.violationReason = violationReason + self.resourceType = resourceType + } + + private enum CodingKeys: String, CodingKey { + case resourceId = "ResourceId" + case violationReason = "ViolationReason" + case resourceType = "ResourceType" + } + } + + public struct GetNotificationChannelRequest: AWSShape { + + } + + public struct PolicyComplianceStatus: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyName", required: false, type: .string), + AWSShapeMember(label: "PolicyId", required: false, type: .string), + AWSShapeMember(label: "LastUpdated", required: false, type: .timestamp), + AWSShapeMember(label: "EvaluationResults", required: false, type: .list), + AWSShapeMember(label: "MemberAccount", required: false, type: .string), + AWSShapeMember(label: "PolicyOwner", required: false, type: .string) + ] + /// The friendly name of the AWS Firewall Manager policy. + public let policyName: String? + /// The ID of the AWS Firewall Manager policy. + public let policyId: String? + /// Time stamp of the last update to the EvaluationResult objects. + public let lastUpdated: TimeStamp? + /// An array of EvaluationResult objects. + public let evaluationResults: [EvaluationResult]? + /// The member account ID. + public let memberAccount: String? + /// The AWS account that created the AWS Firewall Manager policy. + public let policyOwner: String? + + public init(policyName: String? = nil, policyId: String? = nil, lastUpdated: TimeStamp? = nil, evaluationResults: [EvaluationResult]? = nil, memberAccount: String? = nil, policyOwner: String? = nil) { + self.policyName = policyName + self.policyId = policyId + self.lastUpdated = lastUpdated + self.evaluationResults = evaluationResults + self.memberAccount = memberAccount + self.policyOwner = policyOwner + } + + private enum CodingKeys: String, CodingKey { + case policyName = "PolicyName" + case policyId = "PolicyId" + case lastUpdated = "LastUpdated" + case evaluationResults = "EvaluationResults" + case memberAccount = "MemberAccount" + case policyOwner = "PolicyOwner" + } + } + + public struct PolicySummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyArn", required: false, type: .string), + AWSShapeMember(label: "PolicyId", required: false, type: .string), + AWSShapeMember(label: "SecurityServiceType", required: false, type: .enum), + AWSShapeMember(label: "RemediationEnabled", required: false, type: .boolean), + AWSShapeMember(label: "ResourceType", required: false, type: .string), + AWSShapeMember(label: "PolicyName", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the specified policy. + public let policyArn: String? + /// The ID of the specified policy. + public let policyId: String? + /// The service that the policy is using to protect the resources. This value is WAF. + public let securityServiceType: SecurityServiceType? + /// Indicates if the policy should be automatically applied to new resources. + public let remediationEnabled: Bool? + /// 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. + public let resourceType: String? + /// The friendly name of the specified policy. + public let policyName: String? + + public init(policyArn: String? = nil, policyId: String? = nil, securityServiceType: SecurityServiceType? = nil, remediationEnabled: Bool? = nil, resourceType: String? = nil, policyName: String? = nil) { + self.policyArn = policyArn + self.policyId = policyId + self.securityServiceType = securityServiceType + self.remediationEnabled = remediationEnabled + self.resourceType = resourceType + self.policyName = policyName + } + + private enum CodingKeys: String, CodingKey { + case policyArn = "PolicyArn" + case policyId = "PolicyId" + case securityServiceType = "SecurityServiceType" + case remediationEnabled = "RemediationEnabled" + case resourceType = "ResourceType" + case policyName = "PolicyName" + } + } + + public enum SecurityServiceType: String, CustomStringConvertible, Codable { + case waf = "WAF" + public var description: String { return self.rawValue } + } + + public struct DeleteNotificationChannelRequest: AWSShape { + + } + + public struct EvaluationResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ViolatorCount", required: false, type: .long), + AWSShapeMember(label: "EvaluationLimitExceeded", required: false, type: .boolean), + AWSShapeMember(label: "ComplianceStatus", required: false, type: .enum) + ] + /// 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. + public let violatorCount: Int64? + /// Indicates that over 100 resources are non-compliant with the AWS Firewall Manager policy. + public let evaluationLimitExceeded: Bool? + /// Describes an AWS account's compliance with the AWS Firewall Manager policy. + public let complianceStatus: PolicyComplianceStatusType? + + public init(violatorCount: Int64? = nil, evaluationLimitExceeded: Bool? = nil, complianceStatus: PolicyComplianceStatusType? = nil) { + self.violatorCount = violatorCount + self.evaluationLimitExceeded = evaluationLimitExceeded + self.complianceStatus = complianceStatus + } + + private enum CodingKeys: String, CodingKey { + case violatorCount = "ViolatorCount" + case evaluationLimitExceeded = "EvaluationLimitExceeded" + case complianceStatus = "ComplianceStatus" + } + } + + public enum ViolationReason: String, CustomStringConvertible, Codable { + case webAclMissingRuleGroup = "WEB_ACL_MISSING_RULE_GROUP" + case resourceMissingWebAcl = "RESOURCE_MISSING_WEB_ACL" + case resourceIncorrectWebAcl = "RESOURCE_INCORRECT_WEB_ACL" + public var description: String { return self.rawValue } + } + + public struct ListComplianceStatusResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "PolicyComplianceStatusList", required: false, type: .list) + ] + /// 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. + public let nextToken: String? + /// An array of PolicyComplianceStatus objects. + public let policyComplianceStatusList: [PolicyComplianceStatus]? + + public init(nextToken: String? = nil, policyComplianceStatusList: [PolicyComplianceStatus]? = nil) { + self.nextToken = nextToken + self.policyComplianceStatusList = policyComplianceStatusList + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case policyComplianceStatusList = "PolicyComplianceStatusList" + } + } + + public struct GetAdminAccountResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AdminAccount", required: false, type: .string) + ] + /// The AWS account that is set as the AWS Firewall Manager administrator. + public let adminAccount: String? + + public init(adminAccount: String? = nil) { + self.adminAccount = adminAccount + } + + private enum CodingKeys: String, CodingKey { + case adminAccount = "AdminAccount" + } + } + + public struct PutPolicyResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PolicyArn", required: false, type: .string), + AWSShapeMember(label: "Policy", required: false, type: .structure) + ] + /// The Amazon Resource Name (ARN) of the policy that was created. + public let policyArn: String? + /// The details of the AWS Firewall Manager policy that was created. + public let policy: Policy? + + public init(policyArn: String? = nil, policy: Policy? = nil) { + self.policyArn = policyArn + self.policy = policy + } + + private enum CodingKeys: String, CodingKey { + case policyArn = "PolicyArn" + case policy = "Policy" + } + } + + public struct ResourceTag: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: false, type: .string), + AWSShapeMember(label: "Key", required: true, type: .string) + ] + /// The resource tag value. + public let value: String? + /// The resource tag key. + public let key: String + + public init(value: String? = nil, key: String) { + self.value = value + self.key = key + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case key = "Key" + } + } + + public struct GetComplianceDetailRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MemberAccount", required: true, type: .string), + AWSShapeMember(label: "PolicyId", required: true, type: .string) + ] + /// The AWS account that owns the resources that you want to get the details for. + public let memberAccount: String + /// The ID of the policy that you want to get the details for. PolicyId is returned by PutPolicy and by ListPolicies. + public let policyId: String + + public init(memberAccount: String, policyId: String) { + self.memberAccount = memberAccount + self.policyId = policyId + } + + private enum CodingKeys: String, CodingKey { + case memberAccount = "MemberAccount" + case policyId = "PolicyId" + } + } + + public enum PolicyComplianceStatusType: String, CustomStringConvertible, Codable { + case compliant = "COMPLIANT" + case nonCompliant = "NON_COMPLIANT" + public var description: String { return self.rawValue } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/gamelift/Gamelift_API.swift b/Sources/AWSSDKSwift/Services/gamelift/Gamelift_API.swift index 9b5e7cfbd61..4b85456eff4 100644 --- a/Sources/AWSSDKSwift/Services/gamelift/Gamelift_API.swift +++ b/Sources/AWSSDKSwift/Services/gamelift/Gamelift_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -Amazon GameLift Service Amazon GameLift is a managed service for developers who need a scalable, dedicated server solution for their multiplayer games. Amazon GameLift provides tools for the following tasks: (1) acquire computing resources and deploy game servers, (2) scale game server capacity to meet player demand, (3) host game sessions and manage player access, and (4) track in-depth metrics on player usage and server performance. 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 autoscaling 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. MORE RESOURCES Amazon GameLift Developer Guide -- Learn more about Amazon GameLift features and how to use them. Lumberyard and Amazon GameLift Tutorials -- Get started fast with walkthroughs and sample projects. GameDev Blog -- Stay up to date with new features and techniques. GameDev Forums -- Connect with the GameDev community. Amazon GameLift Document History -- See changes to the Amazon GameLift service, SDKs, and documentation, as well as links to release notes. 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. StartGameSessionPlacement -- Request a new game session placement and add one or more players to it. DescribeGameSessionPlacement -- Get details on a placement request, including status. StopGameSessionPlacement -- Cancel a placement request. CreateGameSession -- Start a new game session on a specific fleet. Available in Amazon GameLift Local. Start new game sessions with FlexMatch matchmaking StartMatchmaking -- Request matchmaking for one players or a group who want to play together. 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. Manage game builds CreateBuild -- Create a new build using files stored in an Amazon S3 bucket. (Update uploading permissions with RequestUploadCredentials.) To create a build and upload files from a local path, use the AWS CLI command upload-build. ListBuilds -- Get a list of all builds uploaded to a Amazon GameLift region. DescribeBuild -- Retrieve information associated with a build. UpdateBuild -- Change build metadata, including build name and version. DeleteBuild -- Remove a build from Amazon GameLift. Manage fleets CreateFleet -- Configure and activate a new fleet to run a build's game servers. ListFleets -- Get a list of all fleet IDs in a Amazon GameLift region (all statuses). DeleteFleet -- Terminate a fleet that is no longer running game servers or hosting players. View / update fleet configurations. DescribeFleetAttributes / UpdateFleetAttributes -- View or change a fleet's metadata and settings for game session protection and resource creation limits. DescribeFleetPortSettings / UpdateFleetPortSettings -- View or change the inbound permissions (IP address and port setting ranges) allowed for a fleet. DescribeRuntimeConfiguration / UpdateRuntimeConfiguration -- View or change what server processes (and how many) to run on each instance in a fleet. Control fleet capacity DescribeEC2InstanceLimits -- Retrieve maximum number of instances allowed for the current AWS account and the current usage level. DescribeFleetCapacity / UpdateFleetCapacity -- Retrieve the capacity settings and the current number of instances in a fleet; adjust fleet capacity settings to scale up or down. Autoscale -- Manage autoscaling rules and apply them to a fleet. PutScalingPolicy -- Create a new autoscaling policy, or update an existing one. DescribeScalingPolicies -- Retrieve an existing autoscaling policy. DeleteScalingPolicy -- Delete an autoscaling policy and stop it from affecting a fleet's capacity. Manage VPC peering connections for fleets CreateVpcPeeringAuthorization -- Authorize a peering connection to one of your VPCs. DescribeVpcPeeringAuthorizations -- Retrieve valid peering connection authorizations. DeleteVpcPeeringAuthorization -- Delete a peering connection authorization. CreateVpcPeeringConnection -- Establish a peering connection between the VPC for a Amazon GameLift fleet and one of your VPCs. DescribeVpcPeeringConnections -- Retrieve information on active or pending VPC peering connections with a Amazon GameLift fleet. DeleteVpcPeeringConnection -- Delete a VPC peering connection with a Amazon GameLift fleet. Access fleet activity statistics DescribeFleetUtilization -- Get current data on the number of server processes, game sessions, and players currently active on a fleet. DescribeFleetEvents -- Get a fleet's logged events for a specified time span. DescribeGameSessions -- Retrieve metadata associated with one or more game sessions, including length of time active and current player count. Remotely access an instance DescribeInstances -- Get information on each instance in a fleet, including instance ID, IP address, and status. GetInstanceAccess -- Request access credentials needed to remotely connect to a specified instance in a fleet. Manage fleet aliases CreateAlias -- Define a new alias and optionally assign it to a fleet. ListAliases -- Get all fleet aliases defined in a Amazon GameLift region. DescribeAlias -- Retrieve information on an existing alias. UpdateAlias -- Change settings for a alias, such as redirecting it from one fleet to another. DeleteAlias -- Remove an alias from the region. ResolveAlias -- Get the fleet ID that a specified alias points to. Manage game session queues CreateGameSessionQueue -- Create a queue for processing requests for new game sessions. DescribeGameSessionQueues -- Retrieve game session queues defined in a Amazon GameLift region. UpdateGameSessionQueue -- Change the configuration of a game session queue. DeleteGameSessionQueue -- Remove a game session queue from the region. Manage FlexMatch resources CreateMatchmakingConfiguration -- Create a matchmaking configuration with instructions for building a player group and placing in a new game session. DescribeMatchmakingConfigurations -- Retrieve matchmaking configurations defined a Amazon GameLift region. UpdateMatchmakingConfiguration -- Change settings for matchmaking configuration. queue. DeleteMatchmakingConfiguration -- Remove a matchmaking configuration from the region. CreateMatchmakingRuleSet -- Create a set of rules to use when searching for player matches. DescribeMatchmakingRuleSets -- Retrieve matchmaking rule sets defined in a Amazon GameLift region. ValidateMatchmakingRuleSet -- Verify syntax for a set of matchmaking rules. +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 Developer Guide -- Read about Amazon GameLift features and how to use them. Tutorials -- Get started fast with walkthroughs and sample projects. GameDev Blog -- Stay up to date with new features and techniques. GameDev Forums -- Connect with the GameDev community. Release notes and document history -- Stay current with updates to the Amazon GameLift service, SDKs, and documentation. 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. StartGameSessionPlacement -- Request a new game session placement and add one or more players to it. DescribeGameSessionPlacement -- Get details on a placement request, including status. StopGameSessionPlacement -- Cancel a placement request. 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. Manage game builds CreateBuild -- Create a new build using files stored in an Amazon S3 bucket. To create a build and upload files from a local path, use the AWS CLI command upload-build. ListBuilds -- Get a list of all builds uploaded to a Amazon GameLift region. DescribeBuild -- Retrieve information associated with a build. UpdateBuild -- Change build metadata, including build name and version. DeleteBuild -- Remove a build from Amazon GameLift. Manage fleets CreateFleet -- Configure and activate a new fleet to run a build's game servers. ListFleets -- Get a list of all fleet IDs in a Amazon GameLift region (all statuses). DeleteFleet -- Terminate a fleet that is no longer running game servers or hosting players. View / update fleet configurations. DescribeFleetAttributes / UpdateFleetAttributes -- View or change a fleet's metadata and settings for game session protection and resource creation limits. DescribeFleetPortSettings / UpdateFleetPortSettings -- View or change the inbound permissions (IP address and port setting ranges) allowed for a fleet. DescribeRuntimeConfiguration / UpdateRuntimeConfiguration -- View or change what server processes (and how many) to run on each instance in a fleet. Control fleet capacity DescribeEC2InstanceLimits -- Retrieve maximum number of instances allowed for the current AWS account and the current usage level. DescribeFleetCapacity / UpdateFleetCapacity -- Retrieve the capacity settings and the current number of instances in a fleet; adjust fleet capacity settings to scale up or down. Autoscale -- Manage auto-scaling rules and apply them to a fleet. PutScalingPolicy -- Create a new auto-scaling policy, or update an existing one. DescribeScalingPolicies -- Retrieve an existing auto-scaling policy. DeleteScalingPolicy -- Delete an auto-scaling policy and stop it from affecting a fleet's capacity. StartFleetActions -- Restart a fleet's auto-scaling policies. StopFleetActions -- Suspend a fleet's auto-scaling policies. Manage VPC peering connections for fleets CreateVpcPeeringAuthorization -- Authorize a peering connection to one of your VPCs. DescribeVpcPeeringAuthorizations -- Retrieve valid peering connection authorizations. DeleteVpcPeeringAuthorization -- Delete a peering connection authorization. CreateVpcPeeringConnection -- Establish a peering connection between the VPC for a Amazon GameLift fleet and one of your VPCs. DescribeVpcPeeringConnections -- Retrieve information on active or pending VPC peering connections with a Amazon GameLift fleet. DeleteVpcPeeringConnection -- Delete a VPC peering connection with a Amazon GameLift fleet. Access fleet activity statistics DescribeFleetUtilization -- Get current data on the number of server processes, game sessions, and players currently active on a fleet. DescribeFleetEvents -- Get a fleet's logged events for a specified time span. DescribeGameSessions -- Retrieve metadata associated with one or more game sessions, including length of time active and current player count. Remotely access an instance DescribeInstances -- Get information on each instance in a fleet, including instance ID, IP address, and status. GetInstanceAccess -- Request access credentials needed to remotely connect to a specified instance in a fleet. Manage fleet aliases CreateAlias -- Define a new alias and optionally assign it to a fleet. ListAliases -- Get all fleet aliases defined in a Amazon GameLift region. DescribeAlias -- Retrieve information on an existing alias. UpdateAlias -- Change settings for a alias, such as redirecting it from one fleet to another. DeleteAlias -- Remove an alias from the region. ResolveAlias -- Get the fleet ID that a specified alias points to. Manage game session queues CreateGameSessionQueue -- Create a queue for processing requests for new game sessions. DescribeGameSessionQueues -- Retrieve game session queues defined in a Amazon GameLift region. UpdateGameSessionQueue -- Change the configuration of a game session queue. DeleteGameSessionQueue -- Remove a game session queue from the region. Manage FlexMatch resources CreateMatchmakingConfiguration -- Create a matchmaking configuration with instructions for building a player group and placing in a new game session. DescribeMatchmakingConfigurations -- Retrieve matchmaking configurations defined a Amazon GameLift region. UpdateMatchmakingConfiguration -- Change settings for matchmaking configuration. queue. DeleteMatchmakingConfiguration -- Remove a matchmaking configuration from the region. CreateMatchmakingRuleSet -- Create a set of rules to use when searching for player matches. DescribeMatchmakingRuleSets -- Retrieve matchmaking rule sets defined in a Amazon GameLift region. ValidateMatchmakingRuleSet -- Verify syntax for a set of matchmaking rules. */ public struct Gamelift { @@ -25,27 +25,27 @@ public struct Gamelift { ) } - /// 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: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func describeFleetUtilization(_ input: DescribeFleetUtilizationInput) throws -> DescribeFleetUtilizationOutput { return try client.send(operation: "DescribeFleetUtilization", path: "/", httpMethod: "POST", input: input) } - /// 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. Fleet-related operations include: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: DescribeFleetCapacity UpdateFleetCapacity DescribeEC2InstanceLimits Manage scaling policies: PutScalingPolicy (auto-scaling) DescribeScalingPolicies (auto-scaling) DeleteScalingPolicy (auto-scaling) Manage fleet actions: StartFleetActions StopFleetActions public func describeScalingPolicies(_ input: DescribeScalingPoliciesInput) throws -> DescribeScalingPoliciesOutput { return try client.send(operation: "DescribeScalingPolicies", path: "/", httpMethod: "POST", input: input) } - /// 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: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func deleteFleet(_ input: DeleteFleetInput) throws { _ = try client.send(operation: "DeleteFleet", path: "/", httpMethod: "POST", input: input) } - /// Creates a new fleet to run your game servers. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple server processes to host game sessions. You configure a fleet to create instances with certain hardware specifications (see Amazon EC2 Instance Types for more information), and deploy a specified game build to each instance. A newly created fleet passes through several statuses; once it reaches the ACTIVE status, it can begin hosting game sessions. To create a new fleet, you must specify the following: (1) fleet name, (2) build ID of an uploaded game build, (3) an EC2 instance type, and (4) a run-time configuration that describes which server processes to run on each instance in the fleet. (Although the run-time configuration is not a required parameter, the fleet cannot be successfully activated without it.) You can also configure the new fleet with the following settings: Fleet description Access permissions for inbound traffic Fleet-wide game session protection Resource creation limit If you use Amazon CloudWatch for metrics, you can add the new fleet to a metric group. This allows you to view aggregated metrics for a set of fleets. Once you specify a metric group, the new fleet's metrics are included in the metric group's data. You have the option of creating a VPC peering connection with the new fleet. For more information, see VPC Peering with Amazon GameLift Fleets. If the CreateFleet call is successful, Amazon GameLift performs the following tasks: Creates a fleet record and sets the status to NEW (followed by other statuses as the fleet is activated). Sets the fleet's target capacity to 1 (desired instances), which causes Amazon GameLift to start one new EC2 instance. Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each launch by a few seconds. Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console. Sets the fleet's status to ACTIVE as soon as one server process in the fleet is ready to host a game session. Fleet-related operations include: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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 VPC peering connection (see VPC Peering with Amazon GameLift Fleets) 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func createFleet(_ input: CreateFleetInput) throws -> CreateFleetOutput { return try client.send(operation: "CreateFleet", path: "/", httpMethod: "POST", input: input) } - /// Creates or updates a scaling policy for a fleet. An active scaling policy prompts Amazon GameLift to track a certain metric for a fleet and automatically change the fleet's capacity in specific circumstances. Each scaling policy contains one rule statement. Fleets can have multiple scaling policies in force simultaneously. A scaling policy rule statement has the following structure: If [MetricName] is [ComparisonOperator] [Threshold] for [EvaluationPeriods] minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment]. For example, this policy: "If the number of idle instances exceeds 20 for more than 15 minutes, then reduce the fleet capacity by 10 instances" could be implemented as the following rule statement: If [IdleInstances] is [GreaterThanOrEqualToThreshold] [20] for [15] minutes, then [ChangeInCapacity] by [-10]. To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the rule values. All parameters for this action are required. If successful, the policy name is returned. Scaling policies cannot be suspended or made inactive. To stop enforcing a scaling policy, call DeleteScalingPolicy. Fleet-related operations include: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: DescribeFleetCapacity UpdateFleetCapacity DescribeEC2InstanceLimits Manage scaling policies: PutScalingPolicy (auto-scaling) DescribeScalingPolicies (auto-scaling) DeleteScalingPolicy (auto-scaling) Manage fleet actions: StartFleetActions StopFleetActions public func putScalingPolicy(_ input: PutScalingPolicyInput) throws -> PutScalingPolicyOutput { return try client.send(operation: "PutScalingPolicy", path: "/", httpMethod: "POST", input: input) } @@ -60,7 +60,7 @@ public struct Gamelift { _ = try client.send(operation: "DeleteAlias", path: "/", httpMethod: "POST", input: input) } - /// 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: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func updateFleetAttributes(_ input: UpdateFleetAttributesInput) throws -> UpdateFleetAttributesOutput { return try client.send(operation: "UpdateFleetAttributes", path: "/", httpMethod: "POST", input: input) } @@ -70,17 +70,17 @@ public struct Gamelift { return try client.send(operation: "DescribeGameSessionDetails", path: "/", httpMethod: "POST", input: input) } - /// 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: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func describeFleetCapacity(_ input: DescribeFleetCapacityInput) throws -> DescribeFleetCapacityOutput { return try client.send(operation: "DescribeFleetCapacity", path: "/", httpMethod: "POST", input: input) } - /// 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: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func describeFleetAttributes(_ input: DescribeFleetAttributesInput) throws -> DescribeFleetAttributesOutput { return try client.send(operation: "DescribeFleetAttributes", path: "/", httpMethod: "POST", input: input) } - /// 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: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func describeFleetPortSettings(_ input: DescribeFleetPortSettingsInput) throws -> DescribeFleetPortSettingsOutput { return try client.send(operation: "DescribeFleetPortSettings", path: "/", httpMethod: "POST", input: input) } @@ -90,7 +90,7 @@ public struct Gamelift { return try client.send(operation: "CreateVpcPeeringAuthorization", path: "/", httpMethod: "POST", input: input) } - /// 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. Fleet-related operations include: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: DescribeFleetCapacity UpdateFleetCapacity DescribeEC2InstanceLimits Manage scaling policies: PutScalingPolicy (auto-scaling) DescribeScalingPolicies (auto-scaling) DeleteScalingPolicy (auto-scaling) Manage fleet actions: StartFleetActions StopFleetActions public func deleteScalingPolicy(_ input: DeleteScalingPolicyInput) throws { _ = try client.send(operation: "DeleteScalingPolicy", path: "/", httpMethod: "POST", input: input) } @@ -120,7 +120,12 @@ public struct Gamelift { return try client.send(operation: "StartGameSessionPlacement", path: "/", httpMethod: "POST", input: input) } - /// 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: StartMatchmaking DescribeMatchmaking StopMatchmaking AcceptMatch + /// 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: DescribeFleetCapacity UpdateFleetCapacity DescribeEC2InstanceLimits Manage scaling policies: PutScalingPolicy (auto-scaling) DescribeScalingPolicies (auto-scaling) DeleteScalingPolicy (auto-scaling) Manage fleet actions: StartFleetActions StopFleetActions + public func startFleetActions(_ input: StartFleetActionsInput) throws -> StartFleetActionsOutput { + return try client.send(operation: "StartFleetActions", path: "/", httpMethod: "POST", input: input) + } + + /// 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: StartMatchmaking DescribeMatchmaking StopMatchmaking AcceptMatch StartMatchBackfill public func stopMatchmaking(_ input: StopMatchmakingInput) throws -> StopMatchmakingOutput { return try client.send(operation: "StopMatchmaking", path: "/", httpMethod: "POST", input: input) } @@ -130,7 +135,7 @@ public struct Gamelift { return try client.send(operation: "DeleteVpcPeeringAuthorization", path: "/", httpMethod: "POST", input: input) } - /// 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: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func describeEC2InstanceLimits(_ input: DescribeEC2InstanceLimitsInput) throws -> DescribeEC2InstanceLimitsOutput { return try client.send(operation: "DescribeEC2InstanceLimits", path: "/", httpMethod: "POST", input: input) } @@ -155,19 +160,19 @@ public struct Gamelift { return try client.send(operation: "CreateGameSession", path: "/", httpMethod: "POST", input: input) } - /// 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 ValidateMatchmakingRuleSetbefore 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: CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet + /// 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: CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet public func createMatchmakingRuleSet(_ input: CreateMatchmakingRuleSetInput) throws -> CreateMatchmakingRuleSetOutput { return try client.send(operation: "CreateMatchmakingRuleSet", path: "/", httpMethod: "POST", input: input) } - /// This API call is not currently in use. Retrieves a fresh set of upload credentials and the assigned Amazon S3 storage location for a specific build. Valid credentials are required to upload your game build files to Amazon S3. + /// 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. public func requestUploadCredentials(_ input: RequestUploadCredentialsInput) throws -> RequestUploadCredentialsOutput { return try client.send(operation: "RequestUploadCredentials", path: "/", httpMethod: "POST", input: input) } - /// 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: CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet - public func deleteMatchmakingConfiguration(_ input: DeleteMatchmakingConfigurationInput) throws -> DeleteMatchmakingConfigurationOutput { - return try client.send(operation: "DeleteMatchmakingConfiguration", path: "/", httpMethod: "POST", input: input) + /// Retrieves the fleet ID that a specified alias is currently pointing to. Alias-related operations include: CreateAlias ListAliases DescribeAlias UpdateAlias DeleteAlias ResolveAlias + public func resolveAlias(_ input: ResolveAliasInput) throws -> ResolveAliasOutput { + return try client.send(operation: "ResolveAlias", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -175,9 +180,9 @@ public struct Gamelift { return try client.send(operation: "GetInstanceAccess", path: "/", httpMethod: "POST", input: input) } - /// Retrieves the fleet ID that a specified alias is currently pointing to. Alias-related operations include: CreateAlias ListAliases DescribeAlias UpdateAlias DeleteAlias ResolveAlias - public func resolveAlias(_ input: ResolveAliasInput) throws -> ResolveAliasOutput { - return try client.send(operation: "ResolveAlias", path: "/", httpMethod: "POST", input: input) + /// 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: CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet + public func deleteMatchmakingConfiguration(_ input: DeleteMatchmakingConfigurationInput) throws -> DeleteMatchmakingConfigurationOutput { + return try client.send(operation: "DeleteMatchmakingConfiguration", path: "/", httpMethod: "POST", input: input) } /// 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: CreateAlias ListAliases DescribeAlias UpdateAlias DeleteAlias ResolveAlias @@ -185,7 +190,7 @@ public struct Gamelift { return try client.send(operation: "DescribeAlias", path: "/", httpMethod: "POST", input: input) } - /// 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: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func describeRuntimeConfiguration(_ input: DescribeRuntimeConfigurationInput) throws -> DescribeRuntimeConfigurationOutput { return try client.send(operation: "DescribeRuntimeConfiguration", path: "/", httpMethod: "POST", input: input) } @@ -195,22 +200,32 @@ public struct Gamelift { return try client.send(operation: "UpdateGameSession", path: "/", httpMethod: "POST", input: input) } - /// 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: Your client code submits a StartMatchmaking request for one or more players and tracks the status of the request ticket. 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. 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). 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. 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: StartMatchmaking DescribeMatchmaking StopMatchmaking AcceptMatch + /// 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: Your client code submits a StartMatchmaking request for one or more players and tracks the status of the request ticket. 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. 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). 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. 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: StartMatchmaking DescribeMatchmaking StopMatchmaking AcceptMatch StartMatchBackfill public func startMatchmaking(_ input: StartMatchmakingInput) throws -> StartMatchmakingOutput { return try client.send(operation: "StartMatchmaking", path: "/", httpMethod: "POST", input: input) } - /// 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: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func updateFleetPortSettings(_ input: UpdateFleetPortSettingsInput) throws -> UpdateFleetPortSettingsOutput { return try client.send(operation: "UpdateFleetPortSettings", path: "/", httpMethod: "POST", input: input) } - /// Retrieves a set of 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. You can request data for a one or a list of ticket IDs. If the request is successful, a ticket object is returned for each requested ID. When specifying a list of ticket IDs, objects are returned only for tickets that currently exist. Matchmaking-related operations include: StartMatchmaking DescribeMatchmaking StopMatchmaking AcceptMatch + /// 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. + public func stopFleetActions(_ input: StopFleetActionsInput) throws -> StopFleetActionsOutput { + return try client.send(operation: "StopFleetActions", path: "/", httpMethod: "POST", input: input) + } + + /// 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: StartMatchmaking DescribeMatchmaking StopMatchmaking AcceptMatch StartMatchBackfill public func describeMatchmaking(_ input: DescribeMatchmakingInput) throws -> DescribeMatchmakingOutput { return try client.send(operation: "DescribeMatchmaking", path: "/", httpMethod: "POST", input: input) } - /// 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: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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 DescribeMatchmaking StopMatchmaking AcceptMatch StartMatchBackfill + public func startMatchBackfill(_ input: StartMatchBackfillInput) throws -> StartMatchBackfillOutput { + return try client.send(operation: "StartMatchBackfill", path: "/", httpMethod: "POST", input: input) + } + + /// 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func updateRuntimeConfiguration(_ input: UpdateRuntimeConfigurationInput) throws -> UpdateRuntimeConfigurationOutput { return try client.send(operation: "UpdateRuntimeConfiguration", path: "/", httpMethod: "POST", input: input) } @@ -235,32 +250,32 @@ public struct Gamelift { return try client.send(operation: "ValidateMatchmakingRuleSet", path: "/", httpMethod: "POST", input: input) } - /// Creates a new Amazon GameLift build from a set of game server binary files stored in an Amazon Simple Storage Service (Amazon S3) location. To use this API call, create a .zip file containing all of the files for the build and store it in an Amazon S3 bucket under your AWS account. For help on packaging your build files and creating a build, see Uploading Your Game to Amazon GameLift. Use this API action ONLY if you are storing your game build files in an Amazon S3 bucket. To create a build using files stored locally, use the CLI command upload-build , which uploads the build files from a file location you specify. To create a new build using CreateBuild, identify the storage location and operating system of your game build. You also have the option of specifying a build name and version. If successful, this action creates a new build record with an unique build ID and in INITIALIZED status. Use the API call DescribeBuild to check the status of your build. A build must be in READY status before it can be used to create fleets to host your game. Build-related operations include: CreateBuild ListBuilds DescribeBuild UpdateBuild DeleteBuild + /// 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: CreateBuild ListBuilds DescribeBuild UpdateBuild DeleteBuild public func createBuild(_ input: CreateBuildInput) throws -> CreateBuildOutput { return try client.send(operation: "CreateBuild", path: "/", httpMethod: "POST", input: input) } - /// Retrieves properties for a build. To get a build record, specify a build ID. If successful, an object containing the build properties is returned. Build-related operations include: CreateBuild ListBuilds DescribeBuild UpdateBuild DeleteBuild + /// 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: CreateBuild ListBuilds DescribeBuild UpdateBuild DeleteBuild public func describeBuild(_ input: DescribeBuildInput) throws -> DescribeBuildOutput { return try client.send(operation: "DescribeBuild", path: "/", httpMethod: "POST", input: input) } - /// 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: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func listFleets(_ input: ListFleetsInput) throws -> ListFleetsOutput { return try client.send(operation: "ListFleets", path: "/", httpMethod: "POST", input: input) } - /// 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: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func describeFleetEvents(_ input: DescribeFleetEventsInput) throws -> DescribeFleetEventsOutput { return try client.send(operation: "DescribeFleetEvents", path: "/", httpMethod: "POST", input: input) } - /// 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: StartMatchmaking DescribeMatchmaking StopMatchmaking AcceptMatch + /// 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: StartMatchmaking DescribeMatchmaking StopMatchmaking AcceptMatch StartMatchBackfill public func acceptMatch(_ input: AcceptMatchInput) throws -> AcceptMatchOutput { return try client.send(operation: "AcceptMatch", path: "/", httpMethod: "POST", input: input) } - /// Updates capacity settings for a fleet. Use this action to specify the number of EC2 instances (hosts) that you want this fleet to contain. Before calling this action, you may want to call DescribeEC2InstanceLimits to get the maximum capacity based on the fleet's EC2 instance type. If you're using autoscaling (see PutScalingPolicy), you may want to specify a minimum and/or maximum capacity. If you don't provide these, autoscaling can set capacity anywhere between zero and the service limits. To update fleet capacity, specify the fleet ID and the number of instances you want the fleet to host. If successful, Amazon GameLift starts or terminates instances so that the fleet's active instance count matches the desired instance count. You can view a fleet's current capacity information by calling DescribeFleetCapacity. If the desired instance count is higher than the instance type's limit, the "Limit Exceeded" exception occurs. Fleet-related operations include: CreateFleet ListFleets Describe fleets: DescribeFleetAttributes DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet capacity: DescribeFleetCapacity UpdateFleetCapacity PutScalingPolicy (automatic scaling) DescribeScalingPolicies (automatic scaling) DeleteScalingPolicy (automatic scaling) DescribeEC2InstanceLimits DeleteFleet + /// 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: CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions public func updateFleetCapacity(_ input: UpdateFleetCapacityInput) throws -> UpdateFleetCapacityOutput { return try client.send(operation: "UpdateFleetCapacity", path: "/", httpMethod: "POST", input: input) } @@ -270,7 +285,7 @@ public struct Gamelift { return try client.send(operation: "DescribeGameSessions", path: "/", httpMethod: "POST", input: input) } - /// 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 request (StartMatchmaking) 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: CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet + /// 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: CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet public func createMatchmakingConfiguration(_ input: CreateMatchmakingConfigurationInput) throws -> CreateMatchmakingConfigurationOutput { return try client.send(operation: "CreateMatchmakingConfiguration", path: "/", httpMethod: "POST", input: input) } @@ -340,7 +355,7 @@ public struct Gamelift { return try client.send(operation: "DescribeGameSessionQueues", path: "/", httpMethod: "POST", input: input) } - /// Retrieves a set of game sessions that match a set of search criteria and sorts them in a specified order. A game session search is limited to a single fleet. Search results include only game sessions that are in ACTIVE status. If you need to retrieve game sessions with a status other than active, use DescribeGameSessions. If you need to retrieve the protection policy for each game session, use DescribeGameSessionDetails. You can search or sort by the following game session attributes: gameSessionId -- Unique identifier for the game session. You can use either a GameSessionId or GameSessionArn value. gameSessionName -- Name assigned to a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession. Game session names do not need to be unique to a game session. creationTimeMillis -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds. playerSessionCount -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out. maximumSessions -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession. hasAvailablePlayerSessions -- Boolean value indicating whether a game session has reached its maximum number of players. When searching with this attribute, the search value must be true or false. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join. To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of GameSession objects matching the request is returned. Returned values for playerSessionCount and hasAvailablePlayerSessions change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join. Game-session-related operations include: CreateGameSession DescribeGameSessions DescribeGameSessionDetails SearchGameSessions UpdateGameSession GetGameSessionLogUrl Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement + /// 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: CreateGameSession DescribeGameSessions DescribeGameSessionDetails SearchGameSessions UpdateGameSession GetGameSessionLogUrl Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement public func searchGameSessions(_ input: SearchGameSessionsInput) throws -> SearchGameSessionsOutput { return try client.send(operation: "SearchGameSessions", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/gamelift/Gamelift_Shapes.swift b/Sources/AWSSDKSwift/Services/gamelift/Gamelift_Shapes.swift index af15e14638d..a64d8c965ae 100644 --- a/Sources/AWSSDKSwift/Services/gamelift/Gamelift_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/gamelift/Gamelift_Shapes.swift @@ -45,11 +45,11 @@ extension Gamelift { AWSShapeMember(label: "AliasId", required: false, type: .string), AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// Instructions on how to sort the search results. If no sort expression is included, the request returns results in random order. A sort expression consists of the following elements: Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, creationTimeMillis, playerSessionCount, maximumSessions, hasAvailablePlayerSessions. Order -- Valid sort orders are ASC (ascending) and DESC (descending). For example, this sort expression returns the oldest active sessions first: "SortExpression": "creationTimeMillis ASC". Results with a null value for the sort operand are returned at the end of the list. + /// 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. public let sortExpression: String? /// 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. public let limit: Int32? - /// String containing the search criteria for the session search. If no filter expression is included, the request returns results for all game sessions in the fleet that are in ACTIVE status. A filter expression can contain one or multiple conditions. Each condition consists of the following: Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, creationTimeMillis, playerSessionCount, maximumSessions, hasAvailablePlayerSessions. Comparator -- Valid comparators are: =, <>, <, >, <=, >=. Value -- Value to be searched for. Values can be numbers, boolean values (true/false) or strings. String values are case sensitive, enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators = and <>. For example, the following filter expression searches on gameSessionName: "FilterExpression": "gameSessionName = 'Matt\\'s Awesome Game 1'". To chain multiple conditions in a single expression, use the logical keywords AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT z, NOT (x OR y). Session search evaluates conditions from left to right using the following precedence rules: =, <>, <, >, <=, >= Parentheses NOT AND 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". + /// 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: =, <>, <, >, <=, >= Parentheses NOT AND 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". public let filterExpression: String? /// 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. public let fleetId: String? @@ -175,6 +175,53 @@ extension Gamelift { } } + public struct StartMatchBackfillInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TicketId", required: false, type: .string), + AWSShapeMember(label: "Players", required: true, type: .list), + AWSShapeMember(label: "ConfigurationName", required: true, type: .string), + AWSShapeMember(label: "GameSessionArn", required: true, type: .string) + ] + /// 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. + public let ticketId: String? + /// 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. + public let players: [Player] + /// 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. + public let configurationName: String + /// Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it. + public let gameSessionArn: String + + public init(ticketId: String? = nil, players: [Player], configurationName: String, gameSessionArn: String) { + self.ticketId = ticketId + self.players = players + self.configurationName = configurationName + self.gameSessionArn = gameSessionArn + } + + private enum CodingKeys: String, CodingKey { + case ticketId = "TicketId" + case players = "Players" + case configurationName = "ConfigurationName" + case gameSessionArn = "GameSessionArn" + } + } + + public struct TargetConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TargetValue", required: true, type: .double) + ] + /// 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). + public let targetValue: Double + + public init(targetValue: Double) { + self.targetValue = targetValue + } + + private enum CodingKeys: String, CodingKey { + case targetValue = "TargetValue" + } + } + public struct StopMatchmakingInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TicketId", required: true, type: .string) @@ -256,6 +303,7 @@ extension Gamelift { case fleetVpcPeeringSucceeded = "FLEET_VPC_PEERING_SUCCEEDED" case fleetVpcPeeringFailed = "FLEET_VPC_PEERING_FAILED" case fleetVpcPeeringDeleted = "FLEET_VPC_PEERING_DELETED" + case instanceInterrupted = "INSTANCE_INTERRUPTED" public var description: String { return self.rawValue } } @@ -265,20 +313,24 @@ extension Gamelift { AWSShapeMember(label: "Status", required: false, type: .enum), AWSShapeMember(label: "MetricName", required: false, type: .enum), AWSShapeMember(label: "EvaluationPeriods", required: false, type: .integer), + AWSShapeMember(label: "PolicyType", required: false, type: .enum), AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "ScalingAdjustment", required: false, type: .integer), AWSShapeMember(label: "ComparisonOperator", required: false, type: .enum), AWSShapeMember(label: "ScalingAdjustmentType", required: false, type: .enum), + AWSShapeMember(label: "TargetConfiguration", required: false, type: .structure), AWSShapeMember(label: "FleetId", required: false, type: .string) ] /// Metric value used to trigger a scaling event. public let threshold: Double? - /// Current status of the scaling policy. The scaling policy is only in force when in an ACTIVE status. ACTIVE -- The scaling policy is currently in force. UPDATE_REQUESTED -- A request to update the scaling policy has been received. UPDATING -- A change is being made to the scaling policy. DELETE_REQUESTED -- A request to delete the scaling policy has been received. DELETING -- The scaling policy is being deleted. DELETED -- The scaling policy has been deleted. ERROR -- An error occurred in creating the policy. It should be removed and recreated. + /// 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. public let status: ScalingStatusType? - /// Name of the Amazon GameLift-defined metric that is used to trigger an adjustment. ActivatingGameSessions -- number of game sessions in the process of being created (game session status = ACTIVATING). ActiveGameSessions -- number of game sessions currently running (game session status = ACTIVE). CurrentPlayerSessions -- number of active or reserved player sessions (player session status = ACTIVE or RESERVED). AvailablePlayerSessions -- number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL). ActiveInstances -- number of instances currently running a game session. IdleInstances -- number of instances not currently running a game session. + /// 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. public let metricName: MetricName? /// Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered. public let evaluationPeriods: Int32? + /// 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. + public let policyType: PolicyType? /// Descriptive label that is associated with a scaling policy. Policy names do not need to be unique. public let name: String? /// Amount of adjustment to make, based on the scaling adjustment type. @@ -287,18 +339,22 @@ extension Gamelift { public let comparisonOperator: ComparisonOperatorType? /// 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. public let scalingAdjustmentType: ScalingAdjustmentType? + /// Object that contains settings for a target-based scaling policy. + public let targetConfiguration: TargetConfiguration? /// Unique identifier for a fleet that is associated with this scaling policy. public let fleetId: String? - public init(threshold: Double? = nil, status: ScalingStatusType? = nil, metricName: MetricName? = nil, evaluationPeriods: Int32? = nil, name: String? = nil, scalingAdjustment: Int32? = nil, comparisonOperator: ComparisonOperatorType? = nil, scalingAdjustmentType: ScalingAdjustmentType? = nil, fleetId: String? = nil) { + public init(threshold: Double? = nil, status: ScalingStatusType? = nil, metricName: MetricName? = nil, evaluationPeriods: Int32? = nil, policyType: PolicyType? = nil, name: String? = nil, scalingAdjustment: Int32? = nil, comparisonOperator: ComparisonOperatorType? = nil, scalingAdjustmentType: ScalingAdjustmentType? = nil, targetConfiguration: TargetConfiguration? = nil, fleetId: String? = nil) { self.threshold = threshold self.status = status self.metricName = metricName self.evaluationPeriods = evaluationPeriods + self.policyType = policyType self.name = name self.scalingAdjustment = scalingAdjustment self.comparisonOperator = comparisonOperator self.scalingAdjustmentType = scalingAdjustmentType + self.targetConfiguration = targetConfiguration self.fleetId = fleetId } @@ -307,10 +363,12 @@ extension Gamelift { case status = "Status" case metricName = "MetricName" case evaluationPeriods = "EvaluationPeriods" + case policyType = "PolicyType" case name = "Name" case scalingAdjustment = "ScalingAdjustment" case comparisonOperator = "ComparisonOperator" case scalingAdjustmentType = "ScalingAdjustmentType" + case targetConfiguration = "TargetConfiguration" case fleetId = "FleetId" } } @@ -577,7 +635,7 @@ extension Gamelift { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TicketIds", required: true, type: .list) ] - /// Unique identifier for a matchmaking ticket. To request all existing tickets, leave this parameter empty. + /// Unique identifier for a matchmaking ticket. You can include up to 10 ID values. public let ticketIds: [String] public init(ticketIds: [String]) { @@ -633,17 +691,19 @@ extension Gamelift { AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), AWSShapeMember(label: "GameSessionId", required: false, type: .string), AWSShapeMember(label: "MaximumPlayerSessionCount", required: false, type: .integer), + AWSShapeMember(label: "StatusReason", required: false, type: .enum), AWSShapeMember(label: "Status", required: false, type: .enum), AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "MatchmakerData", required: false, type: .string), AWSShapeMember(label: "IpAddress", required: false, type: .string), AWSShapeMember(label: "CreatorId", required: false, type: .string), AWSShapeMember(label: "PlayerSessionCreationPolicy", required: false, type: .enum), AWSShapeMember(label: "GameProperties", required: false, type: .list), - AWSShapeMember(label: "CurrentPlayerSessionCount", required: false, type: .integer), AWSShapeMember(label: "FleetId", required: false, type: .string), - AWSShapeMember(label: "Port", required: false, type: .integer) + AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "CurrentPlayerSessionCount", required: false, type: .integer) ] - /// Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). + /// 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). public let gameSessionData: String? /// Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). public let terminationTime: TimeStamp? @@ -653,40 +713,46 @@ extension Gamelift { public let gameSessionId: String? /// Maximum number of players that can be connected simultaneously to the game session. public let maximumPlayerSessionCount: Int32? + /// 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. + public let statusReason: GameSessionStatusReason? /// Current status of the game session. A game session must have an ACTIVE status to have player sessions. public let status: GameSessionStatus? /// Descriptive label that is associated with a game session. Session names do not need to be unique. public let name: String? + /// 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). + public let matchmakerData: String? /// IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. public let ipAddress: String? /// 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. public let creatorId: String? /// Indicates whether or not the game session is accepting new players. public let playerSessionCreationPolicy: PlayerSessionCreationPolicy? - /// Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). + /// 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. public let gameProperties: [GameProperty]? - /// Number of players currently in the game session. - public let currentPlayerSessionCount: Int32? /// Unique identifier for a fleet that the game session is running on. public let fleetId: String? /// Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. public let port: Int32? + /// Number of players currently in the game session. + public let currentPlayerSessionCount: Int32? - public init(gameSessionData: String? = nil, terminationTime: TimeStamp? = nil, creationTime: TimeStamp? = nil, gameSessionId: String? = nil, maximumPlayerSessionCount: Int32? = nil, status: GameSessionStatus? = nil, name: String? = nil, ipAddress: String? = nil, creatorId: String? = nil, playerSessionCreationPolicy: PlayerSessionCreationPolicy? = nil, gameProperties: [GameProperty]? = nil, currentPlayerSessionCount: Int32? = nil, fleetId: String? = nil, port: Int32? = nil) { + public init(gameSessionData: String? = nil, terminationTime: TimeStamp? = nil, creationTime: TimeStamp? = nil, gameSessionId: String? = nil, maximumPlayerSessionCount: Int32? = nil, statusReason: GameSessionStatusReason? = nil, status: GameSessionStatus? = nil, name: String? = nil, matchmakerData: String? = nil, ipAddress: String? = nil, creatorId: String? = nil, playerSessionCreationPolicy: PlayerSessionCreationPolicy? = nil, gameProperties: [GameProperty]? = nil, fleetId: String? = nil, port: Int32? = nil, currentPlayerSessionCount: Int32? = nil) { self.gameSessionData = gameSessionData self.terminationTime = terminationTime self.creationTime = creationTime self.gameSessionId = gameSessionId self.maximumPlayerSessionCount = maximumPlayerSessionCount + self.statusReason = statusReason self.status = status self.name = name + self.matchmakerData = matchmakerData self.ipAddress = ipAddress self.creatorId = creatorId self.playerSessionCreationPolicy = playerSessionCreationPolicy self.gameProperties = gameProperties - self.currentPlayerSessionCount = currentPlayerSessionCount self.fleetId = fleetId self.port = port + self.currentPlayerSessionCount = currentPlayerSessionCount } private enum CodingKeys: String, CodingKey { @@ -695,15 +761,17 @@ extension Gamelift { case creationTime = "CreationTime" case gameSessionId = "GameSessionId" case maximumPlayerSessionCount = "MaximumPlayerSessionCount" + case statusReason = "StatusReason" case status = "Status" case name = "Name" + case matchmakerData = "MatchmakerData" case ipAddress = "IpAddress" case creatorId = "CreatorId" case playerSessionCreationPolicy = "PlayerSessionCreationPolicy" case gameProperties = "GameProperties" - case currentPlayerSessionCount = "CurrentPlayerSessionCount" case fleetId = "FleetId" case port = "Port" + case currentPlayerSessionCount = "CurrentPlayerSessionCount" } } @@ -765,11 +833,12 @@ extension Gamelift { AWSShapeMember(label: "PlacementId", required: false, type: .string), AWSShapeMember(label: "PlayerLatencies", required: false, type: .list), AWSShapeMember(label: "GameSessionId", required: false, type: .string), - AWSShapeMember(label: "GameSessionName", required: false, type: .string), AWSShapeMember(label: "MaximumPlayerSessionCount", required: false, type: .integer), + AWSShapeMember(label: "GameSessionName", required: false, type: .string), AWSShapeMember(label: "StartTime", required: false, type: .timestamp), AWSShapeMember(label: "Status", required: false, type: .enum), AWSShapeMember(label: "GameSessionArn", required: false, type: .string), + AWSShapeMember(label: "MatchmakerData", required: false, type: .string), AWSShapeMember(label: "IpAddress", required: false, type: .string), AWSShapeMember(label: "EndTime", required: false, type: .timestamp), AWSShapeMember(label: "GameSessionQueueName", required: false, type: .string), @@ -780,7 +849,7 @@ extension Gamelift { public let placedPlayerSessions: [PlacedPlayerSession]? /// 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). public let gameSessionRegion: String? - /// Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). + /// 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). public let gameSessionData: String? /// Unique identifier for a game session placement. public let placementId: String? @@ -788,39 +857,42 @@ extension Gamelift { public let playerLatencies: [PlayerLatency]? /// Unique identifier for the game session. This value is set once the new game session is placed (placement status is FULFILLED). public let gameSessionId: String? - /// Descriptive label that is associated with a game session. Session names do not need to be unique. - public let gameSessionName: String? /// Maximum number of players that can be connected simultaneously to the game session. public let maximumPlayerSessionCount: Int32? + /// Descriptive label that is associated with a game session. Session names do not need to be unique. + public let gameSessionName: String? /// 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"). public let startTime: TimeStamp? /// 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. public let status: GameSessionPlacementState? /// 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. public let gameSessionArn: String? + /// 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. + public let matchmakerData: String? /// 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). public let ipAddress: String? /// Time stamp indicating when this request was completed, canceled, or timed out. public let endTime: TimeStamp? /// Descriptive label that is associated with game session queue. Queue names must be unique within each region. public let gameSessionQueueName: String? - /// Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). + /// 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). public let gameProperties: [GameProperty]? /// 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). public let port: Int32? - public init(placedPlayerSessions: [PlacedPlayerSession]? = nil, gameSessionRegion: String? = nil, gameSessionData: String? = nil, placementId: String? = nil, playerLatencies: [PlayerLatency]? = nil, gameSessionId: String? = nil, gameSessionName: String? = nil, maximumPlayerSessionCount: Int32? = nil, startTime: TimeStamp? = nil, status: GameSessionPlacementState? = nil, gameSessionArn: String? = nil, ipAddress: String? = nil, endTime: TimeStamp? = nil, gameSessionQueueName: String? = nil, gameProperties: [GameProperty]? = nil, port: Int32? = nil) { + public init(placedPlayerSessions: [PlacedPlayerSession]? = nil, gameSessionRegion: String? = nil, gameSessionData: String? = nil, placementId: String? = nil, playerLatencies: [PlayerLatency]? = nil, gameSessionId: String? = nil, maximumPlayerSessionCount: Int32? = nil, gameSessionName: String? = nil, startTime: TimeStamp? = nil, status: GameSessionPlacementState? = nil, gameSessionArn: String? = nil, matchmakerData: String? = nil, ipAddress: String? = nil, endTime: TimeStamp? = nil, gameSessionQueueName: String? = nil, gameProperties: [GameProperty]? = nil, port: Int32? = nil) { self.placedPlayerSessions = placedPlayerSessions self.gameSessionRegion = gameSessionRegion self.gameSessionData = gameSessionData self.placementId = placementId self.playerLatencies = playerLatencies self.gameSessionId = gameSessionId - self.gameSessionName = gameSessionName self.maximumPlayerSessionCount = maximumPlayerSessionCount + self.gameSessionName = gameSessionName self.startTime = startTime self.status = status self.gameSessionArn = gameSessionArn + self.matchmakerData = matchmakerData self.ipAddress = ipAddress self.endTime = endTime self.gameSessionQueueName = gameSessionQueueName @@ -835,11 +907,12 @@ extension Gamelift { case placementId = "PlacementId" case playerLatencies = "PlayerLatencies" case gameSessionId = "GameSessionId" - case gameSessionName = "GameSessionName" case maximumPlayerSessionCount = "MaximumPlayerSessionCount" + case gameSessionName = "GameSessionName" case startTime = "StartTime" case status = "Status" case gameSessionArn = "GameSessionArn" + case matchmakerData = "MatchmakerData" case ipAddress = "IpAddress" case endTime = "EndTime" case gameSessionQueueName = "GameSessionQueueName" @@ -958,6 +1031,22 @@ extension Gamelift { } } + public struct StartMatchBackfillOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MatchmakingTicket", required: false, type: .structure) + ] + /// 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. + public let matchmakingTicket: MatchmakingTicket? + + public init(matchmakingTicket: MatchmakingTicket? = nil) { + self.matchmakingTicket = matchmakingTicket + } + + private enum CodingKeys: String, CodingKey { + case matchmakingTicket = "MatchmakingTicket" + } + } + public struct Instance: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Status", required: false, type: .enum), @@ -1030,6 +1119,10 @@ extension Gamelift { } } + public struct StartFleetActionsOutput: AWSShape { + + } + public struct DeleteGameSessionQueueOutput: AWSShape { } @@ -1230,16 +1323,17 @@ extension Gamelift { AWSShapeMember(label: "EC2InboundPermissions", required: false, type: .list), AWSShapeMember(label: "LogPaths", required: false, type: .list), AWSShapeMember(label: "PeerVpcId", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "BuildId", required: true, type: .string), AWSShapeMember(label: "ResourceCreationLimitPolicy", required: false, type: .structure), AWSShapeMember(label: "EC2InstanceType", required: true, type: .enum), AWSShapeMember(label: "ServerLaunchPath", required: false, type: .string), - AWSShapeMember(label: "BuildId", required: true, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "ServerLaunchParameters", required: false, type: .string), AWSShapeMember(label: "Name", required: true, type: .string), AWSShapeMember(label: "PeerVpcAwsAccountId", required: false, type: .string), AWSShapeMember(label: "MetricGroups", required: false, type: .list), - AWSShapeMember(label: "RuntimeConfiguration", required: false, type: .structure) + AWSShapeMember(label: "RuntimeConfiguration", required: false, type: .structure), + AWSShapeMember(label: "FleetType", required: false, type: .enum) ] /// 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. public let newGameSessionProtectionPolicy: ProtectionPolicy? @@ -1249,42 +1343,45 @@ extension Gamelift { public let logPaths: [String]? /// 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. public let peerVpcId: String? - /// Human-readable description of a fleet. - public let description: String? + /// 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. + public let buildId: String /// Policy that limits the number of game sessions an individual player can create over a span of time for this fleet. public let resourceCreationLimitPolicy: ResourceCreationLimitPolicy? /// 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. public let eC2InstanceType: EC2InstanceType /// 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.) public let serverLaunchPath: String? - /// 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. - public let buildId: String + /// Human-readable description of a fleet. + public let description: String? /// 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.) public let serverLaunchParameters: String? /// Descriptive label that is associated with a fleet. Fleet names do not need to be unique. public let name: String /// 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. public let peerVpcAwsAccountId: String? - /// Names of metric groups to add this fleet to. Use an existing metric group name to add this fleet to the group. Or use a new name to create a new metric group. A fleet can only be included in one metric group at a time. + /// 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. public let metricGroups: [String]? /// 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.) public let runtimeConfiguration: RuntimeConfiguration? + /// 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. + public let fleetType: FleetType? - public init(newGameSessionProtectionPolicy: ProtectionPolicy? = nil, eC2InboundPermissions: [IpPermission]? = nil, logPaths: [String]? = nil, peerVpcId: String? = nil, description: String? = nil, resourceCreationLimitPolicy: ResourceCreationLimitPolicy? = nil, eC2InstanceType: EC2InstanceType, serverLaunchPath: String? = nil, buildId: String, serverLaunchParameters: String? = nil, name: String, peerVpcAwsAccountId: String? = nil, metricGroups: [String]? = nil, runtimeConfiguration: RuntimeConfiguration? = nil) { + public init(newGameSessionProtectionPolicy: ProtectionPolicy? = nil, eC2InboundPermissions: [IpPermission]? = nil, logPaths: [String]? = nil, peerVpcId: String? = nil, buildId: String, resourceCreationLimitPolicy: ResourceCreationLimitPolicy? = nil, eC2InstanceType: EC2InstanceType, serverLaunchPath: String? = nil, description: String? = nil, serverLaunchParameters: String? = nil, name: String, peerVpcAwsAccountId: String? = nil, metricGroups: [String]? = nil, runtimeConfiguration: RuntimeConfiguration? = nil, fleetType: FleetType? = nil) { self.newGameSessionProtectionPolicy = newGameSessionProtectionPolicy self.eC2InboundPermissions = eC2InboundPermissions self.logPaths = logPaths self.peerVpcId = peerVpcId - self.description = description + self.buildId = buildId self.resourceCreationLimitPolicy = resourceCreationLimitPolicy self.eC2InstanceType = eC2InstanceType self.serverLaunchPath = serverLaunchPath - self.buildId = buildId + self.description = description self.serverLaunchParameters = serverLaunchParameters self.name = name self.peerVpcAwsAccountId = peerVpcAwsAccountId self.metricGroups = metricGroups self.runtimeConfiguration = runtimeConfiguration + self.fleetType = fleetType } private enum CodingKeys: String, CodingKey { @@ -1292,16 +1389,17 @@ extension Gamelift { case eC2InboundPermissions = "EC2InboundPermissions" case logPaths = "LogPaths" case peerVpcId = "PeerVpcId" - case description = "Description" + case buildId = "BuildId" case resourceCreationLimitPolicy = "ResourceCreationLimitPolicy" case eC2InstanceType = "EC2InstanceType" case serverLaunchPath = "ServerLaunchPath" - case buildId = "BuildId" + case description = "Description" case serverLaunchParameters = "ServerLaunchParameters" case name = "Name" case peerVpcAwsAccountId = "PeerVpcAwsAccountId" case metricGroups = "MetricGroups" case runtimeConfiguration = "RuntimeConfiguration" + case fleetType = "FleetType" } } @@ -1311,7 +1409,7 @@ extension Gamelift { AWSShapeMember(label: "Players", required: true, type: .list), AWSShapeMember(label: "ConfigurationName", required: true, type: .string) ] - /// Unique identifier for a matchmaking ticket. Use this identifier to track the matchmaking ticket status and retrieve match results. + /// 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. public let ticketId: String? /// 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. public let players: [Player] @@ -1586,7 +1684,7 @@ extension Gamelift { public let message: String? /// Unique identifier for an event resource, such as a fleet ID. public let resourceId: String? - /// Type of event being logged. The following events are currently in use: General events: GENERIC_EVENT -- An unspecified event has occurred. 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. 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. + /// 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. public let eventCode: EventCode? /// Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). public let eventTime: TimeStamp? @@ -1649,7 +1747,7 @@ extension Gamelift { AWSShapeMember(label: "RuleSetName", required: true, type: .string), AWSShapeMember(label: "Description", required: false, type: .string) ] - /// Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server 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. + /// 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. public let gameSessionData: String? /// SNS topic ARN that is set up to receive matchmaking notifications. public let notificationTarget: String? @@ -1667,7 +1765,7 @@ extension Gamelift { public let acceptanceTimeoutSeconds: Int32? /// Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed. public let requestTimeoutSeconds: Int32 - /// Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server 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. + /// 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. public let gameProperties: [GameProperty]? /// 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. public let ruleSetName: String @@ -1705,6 +1803,27 @@ extension Gamelift { } } + public struct StopFleetActionsInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FleetId", required: true, type: .string), + AWSShapeMember(label: "Actions", required: true, type: .list) + ] + /// Unique identifier for a fleet + public let fleetId: String + /// List of actions to suspend on the fleet. + public let actions: [FleetAction] + + public init(fleetId: String, actions: [FleetAction]) { + self.fleetId = fleetId + self.actions = actions + } + + private enum CodingKeys: String, CodingKey { + case fleetId = "FleetId" + case actions = "Actions" + } + } + public struct GameSessionQueueDestination: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DestinationArn", required: false, type: .string) @@ -1904,7 +2023,7 @@ extension Gamelift { AWSShapeMember(label: "RuleSetName", required: false, type: .string), AWSShapeMember(label: "Description", required: false, type: .string) ] - /// Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server 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. + /// 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. public let gameSessionData: String? /// SNS topic ARN that is set up to receive matchmaking notifications. See Setting up Notifications for Matchmaking for more information. public let notificationTarget: String? @@ -1922,7 +2041,7 @@ extension Gamelift { public let acceptanceTimeoutSeconds: Int32? /// Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed. public let requestTimeoutSeconds: Int32? - /// Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server 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. + /// 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. public let gameProperties: [GameProperty]? /// 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. public let ruleSetName: String? @@ -1962,40 +2081,48 @@ extension Gamelift { public struct PutScalingPolicyInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Threshold", required: true, type: .double), + AWSShapeMember(label: "Threshold", required: false, type: .double), AWSShapeMember(label: "MetricName", required: true, type: .enum), - AWSShapeMember(label: "EvaluationPeriods", required: true, type: .integer), + AWSShapeMember(label: "EvaluationPeriods", required: false, type: .integer), + AWSShapeMember(label: "PolicyType", required: false, type: .enum), AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "ScalingAdjustment", required: true, type: .integer), - AWSShapeMember(label: "ComparisonOperator", required: true, type: .enum), - AWSShapeMember(label: "ScalingAdjustmentType", required: true, type: .enum), + AWSShapeMember(label: "ScalingAdjustment", required: false, type: .integer), + AWSShapeMember(label: "ComparisonOperator", required: false, type: .enum), + AWSShapeMember(label: "ScalingAdjustmentType", required: false, type: .enum), + AWSShapeMember(label: "TargetConfiguration", required: false, type: .structure), AWSShapeMember(label: "FleetId", required: true, type: .string) ] /// Metric value used to trigger a scaling event. - public let threshold: Double - /// Name of the Amazon GameLift-defined metric that is used to trigger an adjustment. ActivatingGameSessions -- number of game sessions in the process of being created (game session status = ACTIVATING). ActiveGameSessions -- number of game sessions currently running (game session status = ACTIVE). CurrentPlayerSessions -- number of active or reserved player sessions (player session status = ACTIVE or RESERVED). AvailablePlayerSessions -- number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number includes game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL). ActiveInstances -- number of instances currently running a game session. IdleInstances -- number of instances not currently running a game session. + public let threshold: Double? + /// 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. public let metricName: MetricName /// Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered. - public let evaluationPeriods: Int32 + public let evaluationPeriods: Int32? + /// 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. + public let policyType: PolicyType? /// 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. public let name: String /// Amount of adjustment to make, based on the scaling adjustment type. - public let scalingAdjustment: Int32 + public let scalingAdjustment: Int32? /// Comparison operator to use when measuring the metric against the threshold value. - public let comparisonOperator: ComparisonOperatorType + public let comparisonOperator: ComparisonOperatorType? /// 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%. - public let scalingAdjustmentType: ScalingAdjustmentType - /// Unique identifier for a fleet to apply this policy to. + public let scalingAdjustmentType: ScalingAdjustmentType? + /// Object that contains settings for a target-based scaling policy. + public let targetConfiguration: TargetConfiguration? + /// Unique identifier for a fleet to apply this policy to. The fleet cannot be in any of the following statuses: ERROR or DELETING. public let fleetId: String - public init(threshold: Double, metricName: MetricName, evaluationPeriods: Int32, name: String, scalingAdjustment: Int32, comparisonOperator: ComparisonOperatorType, scalingAdjustmentType: ScalingAdjustmentType, fleetId: String) { + public init(threshold: Double? = nil, metricName: MetricName, evaluationPeriods: Int32? = nil, policyType: PolicyType? = nil, name: String, scalingAdjustment: Int32? = nil, comparisonOperator: ComparisonOperatorType? = nil, scalingAdjustmentType: ScalingAdjustmentType? = nil, targetConfiguration: TargetConfiguration? = nil, fleetId: String) { self.threshold = threshold self.metricName = metricName self.evaluationPeriods = evaluationPeriods + self.policyType = policyType self.name = name self.scalingAdjustment = scalingAdjustment self.comparisonOperator = comparisonOperator self.scalingAdjustmentType = scalingAdjustmentType + self.targetConfiguration = targetConfiguration self.fleetId = fleetId } @@ -2003,10 +2130,12 @@ extension Gamelift { case threshold = "Threshold" case metricName = "MetricName" case evaluationPeriods = "EvaluationPeriods" + case policyType = "PolicyType" case name = "Name" case scalingAdjustment = "ScalingAdjustment" case comparisonOperator = "ComparisonOperator" case scalingAdjustmentType = "ScalingAdjustmentType" + case targetConfiguration = "TargetConfiguration" case fleetId = "FleetId" } } @@ -2613,8 +2742,8 @@ extension Gamelift { public struct EC2InstanceCounts: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TERMINATING", required: false, type: .integer), - AWSShapeMember(label: "MINIMUM", required: false, type: .integer), AWSShapeMember(label: "PENDING", required: false, type: .integer), + AWSShapeMember(label: "MINIMUM", required: false, type: .integer), AWSShapeMember(label: "MAXIMUM", required: false, type: .integer), AWSShapeMember(label: "IDLE", required: false, type: .integer), AWSShapeMember(label: "DESIRED", required: false, type: .integer), @@ -2622,10 +2751,10 @@ extension Gamelift { ] /// Number of instances in the fleet that are no longer active but haven't yet been terminated. public let terminating: Int32? - /// Minimum value allowed for the fleet's instance count. - public let minimum: Int32? /// Number of instances in the fleet that are starting but not yet active. public let pending: Int32? + /// Minimum value allowed for the fleet's instance count. + public let minimum: Int32? /// Maximum value allowed for the fleet's instance count. public let maximum: Int32? /// Number of active instances in the fleet that are not currently hosting a game session. @@ -2635,10 +2764,10 @@ extension Gamelift { /// Actual number of active instances in the fleet. public let active: Int32? - public init(terminating: Int32? = nil, minimum: Int32? = nil, pending: Int32? = nil, maximum: Int32? = nil, idle: Int32? = nil, desired: Int32? = nil, active: Int32? = nil) { + public init(terminating: Int32? = nil, pending: Int32? = nil, minimum: Int32? = nil, maximum: Int32? = nil, idle: Int32? = nil, desired: Int32? = nil, active: Int32? = nil) { self.terminating = terminating - self.minimum = minimum self.pending = pending + self.minimum = minimum self.maximum = maximum self.idle = idle self.desired = desired @@ -2647,8 +2776,8 @@ extension Gamelift { private enum CodingKeys: String, CodingKey { case terminating = "TERMINATING" - case minimum = "MINIMUM" case pending = "PENDING" + case minimum = "MINIMUM" case maximum = "MAXIMUM" case idle = "IDLE" case desired = "DESIRED" @@ -2773,9 +2902,9 @@ extension Gamelift { AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "Version", required: false, type: .string) ] - /// 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. + /// 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. public let operatingSystem: OperatingSystem? - /// Amazon S3 location of the game build files to be uploaded. The S3 bucket must be owned by the same AWS account that you're using to manage Amazon GameLift. It also must in the same region that you want to create a new build in. Before calling CreateBuild with this location, you must allow Amazon GameLift to access your Amazon S3 bucket (see Create a Build with Files in Amazon S3). + /// 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. public let storageLocation: S3Location? /// 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. public let name: String? @@ -2813,6 +2942,11 @@ extension Gamelift { } } + public enum FleetAction: String, CustomStringConvertible, Codable { + case autoScaling = "AUTO_SCALING" + public var description: String { return self.rawValue } + } + public struct DescribeInstancesOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Instances", required: false, type: .list), @@ -3124,7 +3258,7 @@ extension Gamelift { public let playerId: String? /// Name of the team that the player is assigned to in a match. Team names are defined in a matchmaking rule set. public let team: String? - /// Collection of name:value pairs containing player information for use in matchmaking. Player attribute names need to match playerAttributes names in the rule set being used. Example: "PlayerAttributes": {"skill": {"N": "23"}, "gameMode": {"S": "deathmatch"}}. + /// 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"}}. public let playerAttributes: [String: AttributeValue]? public init(latencyInMs: [String: Int32]? = nil, playerId: String? = nil, team: String? = nil, playerAttributes: [String: AttributeValue]? = nil) { @@ -3265,7 +3399,7 @@ extension Gamelift { ] /// 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. public let fleetId: String? - /// Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). + /// 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). public let gameSessionData: String? /// Descriptive label that is associated with a game session. Session names do not need to be unique. public let name: String? @@ -3273,7 +3407,7 @@ extension Gamelift { public let idempotencyToken: String? /// 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. public let creatorId: String? - /// Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). + /// 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). public let gameProperties: [GameProperty]? /// 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>.) public let gameSessionId: String? @@ -3349,9 +3483,9 @@ extension Gamelift { AWSShapeMember(label: "UploadCredentials", required: false, type: .structure), AWSShapeMember(label: "Build", required: false, type: .structure) ] - /// Amazon S3 location specified in the request. + /// Amazon S3 location for your game build file, including bucket name and key. public let storageLocation: S3Location? - /// This element is not currently in use. + /// 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. public let uploadCredentials: AwsCredentials? /// The newly created build record, including a unique build ID and status. public let build: Build? @@ -3401,16 +3535,19 @@ extension Gamelift { AWSShapeMember(label: "FleetArn", required: false, type: .string), AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), AWSShapeMember(label: "NewGameSessionProtectionPolicy", required: false, type: .enum), + AWSShapeMember(label: "InstanceType", required: false, type: .enum), AWSShapeMember(label: "LogPaths", required: false, type: .list), AWSShapeMember(label: "ServerLaunchPath", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "BuildId", required: false, type: .string), AWSShapeMember(label: "ResourceCreationLimitPolicy", required: false, type: .structure), AWSShapeMember(label: "MetricGroups", required: false, type: .list), AWSShapeMember(label: "Status", required: false, type: .enum), - AWSShapeMember(label: "BuildId", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "ServerLaunchParameters", required: false, type: .string), AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "StoppedActions", required: false, type: .list), AWSShapeMember(label: "OperatingSystem", required: false, type: .enum), + AWSShapeMember(label: "FleetType", required: false, type: .enum), AWSShapeMember(label: "FleetId", required: false, type: .string) ] /// Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). @@ -3421,44 +3558,53 @@ extension Gamelift { public let creationTime: TimeStamp? /// 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. public let newGameSessionProtectionPolicy: ProtectionPolicy? + /// 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. + public let instanceType: EC2InstanceType? /// 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. public let logPaths: [String]? /// 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. public let serverLaunchPath: String? - /// Human-readable description of the fleet. - public let description: String? + /// Unique identifier for a build. + public let buildId: String? /// Fleet policy to limit the number of game sessions an individual player can create over a span of time. public let resourceCreationLimitPolicy: ResourceCreationLimitPolicy? /// 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. public let metricGroups: [String]? /// 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. public let status: FleetStatus? - /// Unique identifier for a build. - public let buildId: String? + /// Human-readable description of the fleet. + public let description: String? /// 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. public let serverLaunchParameters: String? /// Descriptive label that is associated with a fleet. Fleet names do not need to be unique. public let name: String? + /// List of fleet actions that have been suspended using StopFleetActions. This includes auto-scaling. + public let stoppedActions: [FleetAction]? /// 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. public let operatingSystem: OperatingSystem? + /// Indicates whether the fleet uses on-demand or spot instances. A spot instance in use may be interrupted with a two-minute notification. + public let fleetType: FleetType? /// Unique identifier for a fleet. public let fleetId: String? - public init(terminationTime: TimeStamp? = nil, fleetArn: String? = nil, creationTime: TimeStamp? = nil, newGameSessionProtectionPolicy: ProtectionPolicy? = nil, logPaths: [String]? = nil, serverLaunchPath: String? = nil, description: String? = nil, resourceCreationLimitPolicy: ResourceCreationLimitPolicy? = nil, metricGroups: [String]? = nil, status: FleetStatus? = nil, buildId: String? = nil, serverLaunchParameters: String? = nil, name: String? = nil, operatingSystem: OperatingSystem? = nil, fleetId: String? = nil) { + public init(terminationTime: TimeStamp? = nil, fleetArn: String? = nil, creationTime: TimeStamp? = nil, newGameSessionProtectionPolicy: ProtectionPolicy? = nil, instanceType: EC2InstanceType? = nil, logPaths: [String]? = nil, serverLaunchPath: String? = nil, buildId: String? = nil, resourceCreationLimitPolicy: ResourceCreationLimitPolicy? = nil, metricGroups: [String]? = nil, status: FleetStatus? = nil, description: String? = nil, serverLaunchParameters: String? = nil, name: String? = nil, stoppedActions: [FleetAction]? = nil, operatingSystem: OperatingSystem? = nil, fleetType: FleetType? = nil, fleetId: String? = nil) { self.terminationTime = terminationTime self.fleetArn = fleetArn self.creationTime = creationTime self.newGameSessionProtectionPolicy = newGameSessionProtectionPolicy + self.instanceType = instanceType self.logPaths = logPaths self.serverLaunchPath = serverLaunchPath - self.description = description + self.buildId = buildId self.resourceCreationLimitPolicy = resourceCreationLimitPolicy self.metricGroups = metricGroups self.status = status - self.buildId = buildId + self.description = description self.serverLaunchParameters = serverLaunchParameters self.name = name + self.stoppedActions = stoppedActions self.operatingSystem = operatingSystem + self.fleetType = fleetType self.fleetId = fleetId } @@ -3467,16 +3613,19 @@ extension Gamelift { case fleetArn = "FleetArn" case creationTime = "CreationTime" case newGameSessionProtectionPolicy = "NewGameSessionProtectionPolicy" + case instanceType = "InstanceType" case logPaths = "LogPaths" case serverLaunchPath = "ServerLaunchPath" - case description = "Description" + case buildId = "BuildId" case resourceCreationLimitPolicy = "ResourceCreationLimitPolicy" case metricGroups = "MetricGroups" case status = "Status" - case buildId = "BuildId" + case description = "Description" case serverLaunchParameters = "ServerLaunchParameters" case name = "Name" + case stoppedActions = "StoppedActions" case operatingSystem = "OperatingSystem" + case fleetType = "FleetType" case fleetId = "FleetId" } } @@ -3497,7 +3646,7 @@ extension Gamelift { AWSShapeMember(label: "GameProperties", required: false, type: .list), AWSShapeMember(label: "RuleSetName", required: false, type: .string) ] - /// Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server 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. + /// 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. public let gameSessionData: String? /// 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. public let additionalPlayerCount: Int32? @@ -3519,7 +3668,7 @@ extension Gamelift { public let gameSessionQueueArns: [String]? /// Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed. public let requestTimeoutSeconds: Int32? - /// Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server 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. + /// 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. public let gameProperties: [GameProperty]? /// 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. public let ruleSetName: String? @@ -3681,7 +3830,7 @@ extension Gamelift { ] /// Set of information on each player to create a player session for. public let desiredPlayerSessions: [DesiredPlayerSession]? - /// Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). + /// 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). public let gameSessionData: String? /// 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. public let placementId: String @@ -3689,7 +3838,7 @@ extension Gamelift { public let playerLatencies: [PlayerLatency]? /// Name of the queue to use to place the new game session. public let gameSessionQueueName: String - /// Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). + /// 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). public let gameProperties: [GameProperty]? /// Descriptive label that is associated with a game session. Session names do not need to be unique. public let gameSessionName: String? @@ -3770,6 +3919,27 @@ extension Gamelift { } } + public struct StartFleetActionsInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FleetId", required: true, type: .string), + AWSShapeMember(label: "Actions", required: true, type: .list) + ] + /// Unique identifier for a fleet + public let fleetId: String + /// List of actions to restart on the fleet. + public let actions: [FleetAction] + + public init(fleetId: String, actions: [FleetAction]) { + self.fleetId = fleetId + self.actions = actions + } + + private enum CodingKeys: String, CodingKey { + case fleetId = "FleetId" + case actions = "Actions" + } + } + public struct DescribeScalingPoliciesInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StatusFilter", required: false, type: .enum), @@ -4053,6 +4223,12 @@ extension Gamelift { } } + public enum FleetType: String, CustomStringConvertible, Codable { + case onDemand = "ON_DEMAND" + case spot = "SPOT" + public var description: String { return self.rawValue } + } + public struct DescribeRuntimeConfigurationInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FleetId", required: true, type: .string) @@ -4076,39 +4252,85 @@ extension Gamelift { public var description: String { return self.rawValue } } + public struct StopFleetActionsOutput: AWSShape { + + } + public enum PlayerSessionCreationPolicy: String, CustomStringConvertible, Codable { case acceptAll = "ACCEPT_ALL" case denyAll = "DENY_ALL" public var description: String { return self.rawValue } } + public enum GameSessionStatusReason: String, CustomStringConvertible, Codable { + case interrupted = "INTERRUPTED" + public var description: String { return self.rawValue } + } + + public struct UpdateFleetPortSettingsOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FleetId", required: false, type: .string) + ] + /// Unique identifier for a fleet that was updated. + public let fleetId: String? + + public init(fleetId: String? = nil) { + self.fleetId = fleetId + } + + private enum CodingKeys: String, CodingKey { + case fleetId = "FleetId" + } + } + + public struct UpdateRuntimeConfigurationInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FleetId", required: true, type: .string), + AWSShapeMember(label: "RuntimeConfiguration", required: true, type: .structure) + ] + /// Unique identifier for a fleet to update run-time configuration for. + public let fleetId: String + /// 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. + public let runtimeConfiguration: RuntimeConfiguration + + public init(fleetId: String, runtimeConfiguration: RuntimeConfiguration) { + self.fleetId = fleetId + self.runtimeConfiguration = runtimeConfiguration + } + + private enum CodingKeys: String, CodingKey { + case fleetId = "FleetId" + case runtimeConfiguration = "RuntimeConfiguration" + } + } + public struct AttributeValue: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SDM", required: false, type: .map), - AWSShapeMember(label: "N", required: false, type: .double), AWSShapeMember(label: "SL", required: false, type: .list), + AWSShapeMember(label: "N", required: false, type: .double), + AWSShapeMember(label: "SDM", required: false, type: .map), AWSShapeMember(label: "S", required: false, type: .string) ] - /// For a map of up to 10 type:value pairs. Maximum length for each string value is 100 characters. - public let sdm: [String: Double]? - /// For number values, expressed as double. - public let n: Double? /// 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. public let sl: [String]? + /// For number values, expressed as double. + public let n: Double? + /// For a map of up to 10 data type:value pairs. Maximum length for each string value is 100 characters. + public let sdm: [String: Double]? /// For single string values. Maximum string length is 100 characters. public let s: String? - public init(sdm: [String: Double]? = nil, n: Double? = nil, sl: [String]? = nil, s: String? = nil) { - self.sdm = sdm - self.n = n + public init(sl: [String]? = nil, n: Double? = nil, sdm: [String: Double]? = nil, s: String? = nil) { self.sl = sl + self.n = n + self.sdm = sdm self.s = s } private enum CodingKeys: String, CodingKey { - case sdm = "SDM" - case n = "N" case sl = "SL" + case n = "N" + case sdm = "SDM" case s = "S" } } @@ -4160,71 +4382,40 @@ extension Gamelift { } } - public struct UpdateFleetPortSettingsOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FleetId", required: false, type: .string) - ] - /// Unique identifier for a fleet that was updated. - public let fleetId: String? - - public init(fleetId: String? = nil) { - self.fleetId = fleetId - } - - private enum CodingKeys: String, CodingKey { - case fleetId = "FleetId" - } - } - - public struct UpdateRuntimeConfigurationInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FleetId", required: true, type: .string), - AWSShapeMember(label: "RuntimeConfiguration", required: true, type: .structure) - ] - /// Unique identifier for a fleet to update run-time configuration for. - public let fleetId: String - /// 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. - public let runtimeConfiguration: RuntimeConfiguration - - public init(fleetId: String, runtimeConfiguration: RuntimeConfiguration) { - self.fleetId = fleetId - self.runtimeConfiguration = runtimeConfiguration - } - - private enum CodingKeys: String, CodingKey { - case fleetId = "FleetId" - case runtimeConfiguration = "RuntimeConfiguration" - } + public enum PolicyType: String, CustomStringConvertible, Codable { + case rulebased = "RuleBased" + case targetbased = "TargetBased" + public var description: String { return self.rawValue } } public struct UpdateAliasInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "RoutingStrategy", required: false, type: .structure), AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "AliasId", required: true, type: .string), - AWSShapeMember(label: "RoutingStrategy", required: false, type: .structure) + AWSShapeMember(label: "Description", required: false, type: .string) ] - /// Human-readable description of an alias. - public let description: String? + /// Object that specifies the fleet and routing type to use for the alias. + public let routingStrategy: RoutingStrategy? /// Descriptive label that is associated with an alias. Alias names do not need to be unique. public let name: String? /// Unique identifier for a fleet alias. Specify the alias you want to update. public let aliasId: String - /// Object that specifies the fleet and routing type to use for the alias. - public let routingStrategy: RoutingStrategy? + /// Human-readable description of an alias. + public let description: String? - public init(description: String? = nil, name: String? = nil, aliasId: String, routingStrategy: RoutingStrategy? = nil) { - self.description = description + public init(routingStrategy: RoutingStrategy? = nil, name: String? = nil, aliasId: String, description: String? = nil) { + self.routingStrategy = routingStrategy self.name = name self.aliasId = aliasId - self.routingStrategy = routingStrategy + self.description = description } private enum CodingKeys: String, CodingKey { - case description = "Description" + case routingStrategy = "RoutingStrategy" case name = "Name" case aliasId = "AliasId" - case routingStrategy = "RoutingStrategy" + case description = "Description" } } @@ -4274,7 +4465,7 @@ extension Gamelift { ] /// Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). public let startTime: TimeStamp? - /// 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; new matchmaking requests can be submitted for these players. CANCELLED -- The matchmaking request was canceled with a call to StopMatchmaking. TIMED_OUT -- The matchmaking request was not completed within the duration specified in the matchmaking configuration. Matchmaking requests that time out can be resubmitted. + /// 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. public let status: MatchmakingConfigurationStatus? /// 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. public let statusReason: String? @@ -4282,7 +4473,7 @@ extension Gamelift { public let players: [Player]? /// Unique identifier for a matchmaking ticket. public let ticketId: String? - /// Time stamp indicating when the matchmaking request stopped being processed due to successful completion, timeout, or cancellation. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). + /// 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"). public let endTime: TimeStamp? /// 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. public let configurationName: String? diff --git a/Sources/AWSSDKSwift/Services/glacier/Glacier_API.swift b/Sources/AWSSDKSwift/Services/glacier/Glacier_API.swift index 2285acb8a6b..cd86c3c1b7f 100644 --- a/Sources/AWSSDKSwift/Services/glacier/Glacier_API.swift +++ b/Sources/AWSSDKSwift/Services/glacier/Glacier_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -Amazon Glacier is a storage solution for "cold data." Amazon Glacier is an extremely low-cost storage service that provides secure, durable, and easy-to-use storage for data backup and archival. With Amazon Glacier, customers can store their data cost effectively for months, years, or decades. Amazon Glacier also enables customers to offload the administrative burdens of operating and scaling storage to AWS, so they don't have to worry about capacity planning, hardware provisioning, data replication, hardware failure and recovery, or time-consuming hardware migrations. Amazon Glacier is a great storage choice when low storage cost is paramount, your data is rarely retrieved, and retrieval latency of several hours is acceptable. If your application requires fast or frequent access to your data, consider using Amazon S3. For more information, 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. +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. */ public struct Glacier { @@ -29,7 +29,7 @@ public struct Glacier { _ = try client.send(operation: "CompleteVaultLock", path: "/{accountId}/vaults/{vaultName}/lock-policy/{lockId}", httpMethod: "POST", input: input) } - /// This operation lists all vaults owned by the calling user's account. The list returned in the response is ASCII-sorted by vault name. By default, this operation returns up to 1,000 items. If there are more vaults to list, the response marker field contains the vault Amazon Resource Name (ARN) at which to continue the list with a new List Vaults request; otherwise, the marker field is null. To return a list of vaults that begins at a specific vault, set the marker request parameter to the vault ARN you obtained from a previous List Vaults request. You can also limit the number of vaults returned in the response by specifying the limit parameter in the request. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Retrieving Vault Metadata in Amazon Glacier and List Vaults in the Amazon Glacier Developer Guide. + /// 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. public func listVaults(_ input: ListVaultsInput) throws -> ListVaultsOutput { return try client.send(operation: "ListVaults", path: "/{accountId}/vaults", httpMethod: "GET", input: input) } @@ -44,7 +44,7 @@ public struct Glacier { _ = try client.send(operation: "AddTagsToVault", path: "/{accountId}/vaults/{vaultName}/tags?operation=add", httpMethod: "POST", input: input) } - /// This operation lists in-progress multipart uploads for the specified vault. An in-progress multipart upload is a multipart upload that has been initiated by an InitiateMultipartUpload request, but has not yet been completed or aborted. The list returned in the List Multipart Upload response has no guaranteed order. The List Multipart Uploads operation supports pagination. By default, this operation returns up to 1,000 multipart uploads in the response. You should always check the response for a marker at which to continue the list; if there are no more items the marker is null. To return a list of multipart uploads that begins at a specific upload, set the marker request parameter to the value you obtained from a previous List Multipart Upload request. You can also limit the number of uploads returned in the response by specifying the limit parameter in the request. Note the difference between this operation and listing parts (ListParts). The List Multipart Uploads operation lists all multipart uploads for a vault and does not require a multipart upload ID. The List Parts operation requires a multipart upload ID since parts are associated with a single upload. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and the underlying REST API, see Working with Archives in Amazon Glacier and List Multipart Uploads in the Amazon Glacier Developer Guide. + /// 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. public func listMultipartUploads(_ input: ListMultipartUploadsInput) throws -> ListMultipartUploadsOutput { return try client.send(operation: "ListMultipartUploads", path: "/{accountId}/vaults/{vaultName}/multipart-uploads", httpMethod: "GET", input: input) } @@ -89,7 +89,7 @@ public struct Glacier { return try client.send(operation: "ListProvisionedCapacity", path: "/{accountId}/provisioned-capacity", httpMethod: "GET", input: input) } - /// 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 1000. 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. + /// 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. public func listJobs(_ input: ListJobsInput) throws -> ListJobsOutput { return try client.send(operation: "ListJobs", path: "/{accountId}/vaults/{vaultName}/jobs", httpMethod: "GET", input: input) } @@ -164,7 +164,7 @@ public struct Glacier { _ = try client.send(operation: "SetVaultAccessPolicy", path: "/{accountId}/vaults/{vaultName}/access-policy", httpMethod: "PUT", input: input) } - /// This operation lists the parts of an archive that have been uploaded in a specific multipart upload. You can make this request at any time during an in-progress multipart upload before you complete the upload (see CompleteMultipartUpload. List Parts returns an error for completed uploads. The list returned in the List Parts response is sorted by part range. The List Parts operation supports pagination. By default, this operation returns up to 1,000 uploaded parts in the response. You should always check the response for a marker at which to continue the list; if there are no more items the marker is null. To return a list of parts that begins at a specific part, set the marker request parameter to the value you obtained from a previous List Parts request. You can also limit the number of parts returned in the response by specifying the limit parameter in the request. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and the underlying REST API, see Working with Archives in Amazon Glacier and List Parts in the Amazon Glacier Developer Guide. + /// 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. public func listParts(_ input: ListPartsInput) throws -> ListPartsOutput { return try client.send(operation: "ListParts", path: "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", httpMethod: "GET", input: input) } diff --git a/Sources/AWSSDKSwift/Services/glacier/Glacier_Shapes.swift b/Sources/AWSSDKSwift/Services/glacier/Glacier_Shapes.swift index d7bc3eb1aad..811936b6e1b 100644 --- a/Sources/AWSSDKSwift/Services/glacier/Glacier_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/glacier/Glacier_Shapes.swift @@ -60,7 +60,7 @@ extension Glacier { public let accountId: String /// 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. public let marker: String? - /// Specifies the maximum number of uploads returned in the response body. If this value is not specified, the List Uploads operation returns up to 1,000 uploads. + /// 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. public let limit: String? /// The name of the vault. public let vaultName: String @@ -99,7 +99,7 @@ extension Glacier { public let accountId: String /// 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. public let marker: String? - /// The maximum number of jobs to be returned. The default limit is 1000. The number of jobs returned might be fewer than the specified limit, but the number of returned jobs never exceeds the limit. + /// 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. public let limit: String? /// The name of the vault. public let vaultName: String @@ -546,7 +546,7 @@ extension Glacier { public let vaultARN: String? /// The UTC time that the job request completed. While the job is in progress, the value is null. public let completionDate: String? - /// Contains the parameters that define a select job. + /// Contains the parameters used for a select. public let selectParameters: SelectParameters? /// 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. public let inventorySizeInBytes: Int64? @@ -582,7 +582,7 @@ extension Glacier { public let jobDescription: String? /// A friendly message that describes the job status. public let statusMessage: String? - /// The retrieval option to use for the archive retrieval. Valid values are Expedited, Standard, or Bulk. Standard is the default. + /// The tier to use for a select or an archive retrieval. Valid values are Expedited, Standard, or Bulk. Standard is the default. public let tier: String? public init(vaultARN: String? = nil, completionDate: String? = nil, selectParameters: SelectParameters? = nil, inventorySizeInBytes: Int64? = nil, archiveId: String? = nil, sNSTopic: String? = nil, creationDate: String? = nil, archiveSHA256TreeHash: String? = nil, jobId: String? = nil, sHA256TreeHash: String? = nil, action: ActionCode? = nil, retrievalByteRange: String? = nil, jobOutputPath: String? = nil, inventoryRetrievalParameters: InventoryRetrievalJobDescription? = nil, outputLocation: OutputLocation? = nil, statusCode: StatusCode? = nil, archiveSizeInBytes: Int64? = nil, completed: Bool? = nil, jobDescription: String? = nil, statusMessage: String? = nil, tier: String? = nil) { @@ -717,7 +717,7 @@ extension Glacier { public let marker: String? /// 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. public let accountId: String - /// The maximum number of vaults to be returned. The default limit is 1000. The number of vaults returned might be fewer than the specified limit, but the number of returned vaults never exceeds the limit. + /// 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. public let limit: String? public init(marker: String? = nil, accountId: String, limit: String? = nil) { @@ -755,7 +755,7 @@ extension Glacier { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "S3", required: false, type: .structure) ] - /// Describes an S3 location that will receive the results of the restore request. + /// Describes an S3 location that will receive the results of the job request. public let s3: S3Location? public init(s3: S3Location? = nil) { @@ -779,7 +779,7 @@ extension Glacier { public let accountId: String /// The upload ID of the multipart upload. public let uploadId: String - /// The maximum number of parts to be returned. The default limit is 1000. The number of parts returned might be fewer than the specified limit, but the number of returned parts never exceeds the limit. + /// 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. public let limit: String? /// 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. public let marker: String? @@ -1175,35 +1175,35 @@ extension Glacier { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Tagging", required: false, type: .map), AWSShapeMember(label: "Encryption", required: false, type: .structure), - AWSShapeMember(label: "Prefix", required: false, type: .string), AWSShapeMember(label: "AccessControlList", required: false, type: .list), + AWSShapeMember(label: "Prefix", required: false, type: .string), AWSShapeMember(label: "StorageClass", required: false, type: .enum), AWSShapeMember(label: "BucketName", required: false, type: .string), AWSShapeMember(label: "CannedACL", required: false, type: .enum), AWSShapeMember(label: "UserMetadata", required: false, type: .map) ] - /// The tag-set that is applied to the restore results. + /// The tag-set that is applied to the job results. public let tagging: [String: String]? /// Contains information about the encryption used to store the job results in Amazon S3. public let encryption: Encryption? - /// The prefix that is prepended to the restore results for this request. - public let prefix: String? /// A list of grants that control access to the staged results. public let accessControlList: [Grant]? - /// The storage class used to store the restore results. + /// The prefix that is prepended to the results for this request. + public let prefix: String? + /// The storage class used to store the job results. public let storageClass: StorageClass? - /// The name of the bucket where the restore results are stored. + /// The name of the Amazon S3 bucket where the job results are stored. public let bucketName: String? - /// The canned ACL to apply to the restore results. + /// The canned access control list (ACL) to apply to the job results. public let cannedACL: CannedACL? - /// A map of metadata to store with the restore results in Amazon S3. + /// A map of metadata to store with the job results in Amazon S3. public let userMetadata: [String: String]? - public init(tagging: [String: String]? = nil, encryption: Encryption? = nil, prefix: String? = nil, accessControlList: [Grant]? = nil, storageClass: StorageClass? = nil, bucketName: String? = nil, cannedACL: CannedACL? = nil, userMetadata: [String: String]? = nil) { + public init(tagging: [String: String]? = nil, encryption: Encryption? = nil, accessControlList: [Grant]? = nil, prefix: String? = nil, storageClass: StorageClass? = nil, bucketName: String? = nil, cannedACL: CannedACL? = nil, userMetadata: [String: String]? = nil) { self.tagging = tagging self.encryption = encryption - self.prefix = prefix self.accessControlList = accessControlList + self.prefix = prefix self.storageClass = storageClass self.bucketName = bucketName self.cannedACL = cannedACL @@ -1213,8 +1213,8 @@ extension Glacier { private enum CodingKeys: String, CodingKey { case tagging = "Tagging" case encryption = "Encryption" - case prefix = "Prefix" case accessControlList = "AccessControlList" + case prefix = "Prefix" case storageClass = "StorageClass" case bucketName = "BucketName" case cannedACL = "CannedACL" @@ -1884,7 +1884,7 @@ extension Glacier { public let sNSTopic: String? /// 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". public let `type`: String? - /// The retrieval option to use for a select or archive retrieval job. Valid values are Expedited, Standard, or Bulk. Standard is the default. + /// The tier to use for a select or an archive retrieval job. Valid values are Expedited, Standard, or Bulk. Standard is the default. public let tier: String? /// 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. public let description: String? @@ -1925,6 +1925,50 @@ extension Glacier { public var description: String { return self.rawValue } } + public struct Encryption: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "KMSKeyId", required: false, type: .string), + AWSShapeMember(label: "KMSContext", required: false, type: .string), + AWSShapeMember(label: "EncryptionType", required: false, type: .enum) + ] + /// 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. + public let kMSKeyId: String? + /// Optional. If the encryption type is aws:kms, you can use this value to specify the encryption context for the job results. + public let kMSContext: String? + /// The server-side encryption algorithm used when storing job results in Amazon S3, for example AES256 or aws:kms. + public let encryptionType: EncryptionType? + + public init(kMSKeyId: String? = nil, kMSContext: String? = nil, encryptionType: EncryptionType? = nil) { + self.kMSKeyId = kMSKeyId + self.kMSContext = kMSContext + self.encryptionType = encryptionType + } + + private enum CodingKeys: String, CodingKey { + case kMSKeyId = "KMSKeyId" + case kMSContext = "KMSContext" + case encryptionType = "EncryptionType" + } + } + + public struct GetVaultNotificationsOutput: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "vaultNotificationConfig" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "vaultNotificationConfig", required: false, type: .structure) + ] + /// Returns the notification configuration set on the vault. + public let vaultNotificationConfig: VaultNotificationConfig? + + public init(vaultNotificationConfig: VaultNotificationConfig? = nil) { + self.vaultNotificationConfig = vaultNotificationConfig + } + + private enum CodingKeys: String, CodingKey { + case vaultNotificationConfig = "vaultNotificationConfig" + } + } + public struct AbortMultipartUploadInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "accountId", location: .uri(locationName: "accountId"), required: true, type: .string), @@ -1972,50 +2016,6 @@ extension Glacier { } } - public struct Encryption: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "KMSKeyId", required: false, type: .string), - AWSShapeMember(label: "KMSContext", required: false, type: .string), - AWSShapeMember(label: "EncryptionType", required: false, type: .enum) - ] - /// 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. - public let kMSKeyId: String? - /// Optional. If the encryption type is aws:kms, you can use this value to specify the encryption context for the restore results. - public let kMSContext: String? - /// The server-side encryption algorithm used when storing job results in Amazon S3, for example AES256 or aws:kms. - public let encryptionType: EncryptionType? - - public init(kMSKeyId: String? = nil, kMSContext: String? = nil, encryptionType: EncryptionType? = nil) { - self.kMSKeyId = kMSKeyId - self.kMSContext = kMSContext - self.encryptionType = encryptionType - } - - private enum CodingKeys: String, CodingKey { - case kMSKeyId = "KMSKeyId" - case kMSContext = "KMSContext" - case encryptionType = "EncryptionType" - } - } - - public struct GetVaultNotificationsOutput: AWSShape { - /// The key for the payload - public static let payloadPath: String? = "vaultNotificationConfig" - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "vaultNotificationConfig", required: false, type: .structure) - ] - /// Returns the notification configuration set on the vault. - public let vaultNotificationConfig: VaultNotificationConfig? - - public init(vaultNotificationConfig: VaultNotificationConfig? = nil) { - self.vaultNotificationConfig = vaultNotificationConfig - } - - private enum CodingKeys: String, CodingKey { - case vaultNotificationConfig = "vaultNotificationConfig" - } - } - public struct InventoryRetrievalJobInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StartDate", required: false, type: .string), diff --git a/Sources/AWSSDKSwift/Services/glue/Glue_API.swift b/Sources/AWSSDKSwift/Services/glue/Glue_API.swift index 0eca19f8fe0..1dc352f5c2d 100644 --- a/Sources/AWSSDKSwift/Services/glue/Glue_API.swift +++ b/Sources/AWSSDKSwift/Services/glue/Glue_API.swift @@ -25,7 +25,7 @@ public struct Glue { ) } - /// Retrieves metadata for all runs of a given job. + /// Retrieves metadata for all runs of a given job definition. public func getJobRuns(_ input: GetJobRunsRequest) throws -> GetJobRunsResponse { return try client.send(operation: "GetJobRuns", path: "/", httpMethod: "POST", input: input) } @@ -55,7 +55,7 @@ public struct Glue { return try client.send(operation: "GetConnections", path: "/", httpMethod: "POST", input: input) } - /// Creates a new job. + /// Creates a new job definition. public func createJob(_ input: CreateJobRequest) throws -> CreateJobResponse { return try client.send(operation: "CreateJob", path: "/", httpMethod: "POST", input: input) } @@ -75,6 +75,11 @@ public struct Glue { return try client.send(operation: "ImportCatalogToGlue", path: "/", httpMethod: "POST", input: input) } + /// Retrieves a specified version of a table. + public func getTableVersion(_ input: GetTableVersionRequest) throws -> GetTableVersionResponse { + return try client.send(operation: "GetTableVersion", path: "/", httpMethod: "POST", input: input) + } + /// Retrieves a connection definition from the Data Catalog. public func getConnection(_ input: GetConnectionRequest) throws -> GetConnectionResponse { return try client.send(operation: "GetConnection", path: "/", httpMethod: "POST", input: input) @@ -90,6 +95,11 @@ public struct Glue { return try client.send(operation: "GetTable", path: "/", httpMethod: "POST", input: input) } + /// Deletes a specified version of a table. + public func deleteTableVersion(_ input: DeleteTableVersionRequest) throws -> DeleteTableVersionResponse { + return try client.send(operation: "DeleteTableVersion", path: "/", httpMethod: "POST", input: input) + } + /// Removes a specified crawler from the Data Catalog, unless the crawler state is RUNNING. public func deleteCrawler(_ input: DeleteCrawlerRequest) throws -> DeleteCrawlerResponse { return try client.send(operation: "DeleteCrawler", path: "/", httpMethod: "POST", input: input) @@ -105,12 +115,17 @@ public struct Glue { return try client.send(operation: "GetCrawler", path: "/", httpMethod: "POST", input: input) } - /// Runs a job. + /// Starts a job run using a job definition. public func startJobRun(_ input: StartJobRunRequest) throws -> StartJobRunResponse { return try client.send(operation: "StartJobRun", path: "/", httpMethod: "POST", input: input) } - /// Creates a classifier in the user's account. This may be either a GrokClassifier or an XMLClassifier. + /// Deletes a specified batch of versions of a table. + public func batchDeleteTableVersion(_ input: BatchDeleteTableVersionRequest) throws -> BatchDeleteTableVersionResponse { + return try client.send(operation: "BatchDeleteTableVersion", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func createClassifier(_ input: CreateClassifierRequest) throws -> CreateClassifierResponse { return try client.send(operation: "CreateClassifier", path: "/", httpMethod: "POST", input: input) } @@ -125,12 +140,12 @@ public struct Glue { return try client.send(operation: "GetTrigger", path: "/", httpMethod: "POST", input: input) } - /// Retrieves all current jobs. + /// Retrieves all current job definitions. public func getJobs(_ input: GetJobsRequest) throws -> GetJobsResponse { return try client.send(operation: "GetJobs", path: "/", httpMethod: "POST", input: input) } - /// Deletes a specified job. + /// Deletes a specified job definition. If the job definition is not found, no exception is thrown. public func deleteJob(_ input: DeleteJobRequest) throws -> DeleteJobResponse { return try client.send(operation: "DeleteJob", path: "/", httpMethod: "POST", input: input) } @@ -165,7 +180,7 @@ public struct Glue { return try client.send(operation: "CreateTable", path: "/", httpMethod: "POST", input: input) } - /// Transforms a directed acyclic graph (DAG) into a Python script. + /// Transforms a directed acyclic graph (DAG) into code. public func createScript(_ input: CreateScriptRequest) throws -> CreateScriptResponse { return try client.send(operation: "CreateScript", path: "/", httpMethod: "POST", input: input) } @@ -175,7 +190,7 @@ public struct Glue { return try client.send(operation: "GetCrawlers", path: "/", httpMethod: "POST", input: input) } - /// Gets a Python script to perform a specified mapping. + /// Gets code to perform a specified mapping. public func getPlan(_ input: GetPlanRequest) throws -> GetPlanResponse { return try client.send(operation: "GetPlan", path: "/", httpMethod: "POST", input: input) } @@ -195,7 +210,7 @@ public struct Glue { return try client.send(operation: "CreateTrigger", path: "/", httpMethod: "POST", input: input) } - /// Stops a batch of job runs for a given job. + /// Stops one or more job runs for a specified job definition. public func batchStopJobRun(_ input: BatchStopJobRunRequest) throws -> BatchStopJobRunResponse { return try client.send(operation: "BatchStopJobRun", path: "/", httpMethod: "POST", input: input) } @@ -235,12 +250,12 @@ public struct Glue { return try client.send(operation: "BatchDeleteConnection", path: "/", httpMethod: "POST", input: input) } - /// Creates a new crawler with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in either the s3Targets or the jdbcTargets field. + /// 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. public func createCrawler(_ input: CreateCrawlerRequest) throws -> CreateCrawlerResponse { return try client.send(operation: "CreateCrawler", path: "/", httpMethod: "POST", input: input) } - /// Deletes a specified trigger. + /// Deletes a specified trigger. If the trigger is not found, no exception is thrown. public func deleteTrigger(_ input: DeleteTriggerRequest) throws -> DeleteTriggerResponse { return try client.send(operation: "DeleteTrigger", path: "/", httpMethod: "POST", input: input) } @@ -270,7 +285,7 @@ public struct Glue { return try client.send(operation: "DeleteUserDefinedFunction", path: "/", httpMethod: "POST", input: input) } - /// Modifies an existing classifier (either a GrokClassifier or an XMLClassifier). + /// Modifies an existing classifier (a GrokClassifier, XMLClassifier, or JsonClassifier, depending on which field is present). public func updateClassifier(_ input: UpdateClassifierRequest) throws -> UpdateClassifierResponse { return try client.send(operation: "UpdateClassifier", path: "/", httpMethod: "POST", input: input) } @@ -300,7 +315,7 @@ public struct Glue { return try client.send(operation: "BatchDeletePartition", path: "/", httpMethod: "POST", input: input) } - /// Starts an existing trigger. + /// Starts an existing trigger. See Triggering Jobs for information about how different types of trigger are started. public func startTrigger(_ input: StartTriggerRequest) throws -> StartTriggerResponse { return try client.send(operation: "StartTrigger", path: "/", httpMethod: "POST", input: input) } @@ -370,7 +385,7 @@ public struct Glue { return try client.send(operation: "UpdateCrawler", path: "/", httpMethod: "POST", input: input) } - /// Starts a crawl using the specified crawler, regardless of what is scheduled. If the crawler is already running, does nothing. + /// Starts a crawl using the specified crawler, regardless of what is scheduled. If the crawler is already running, returns a CrawlerRunningException. public func startCrawler(_ input: StartCrawlerRequest) throws -> StartCrawlerResponse { return try client.send(operation: "StartCrawler", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/glue/Glue_Error.swift b/Sources/AWSSDKSwift/Services/glue/Glue_Error.swift index 46f852f0c39..a668592ab4f 100644 --- a/Sources/AWSSDKSwift/Services/glue/Glue_Error.swift +++ b/Sources/AWSSDKSwift/Services/glue/Glue_Error.swift @@ -11,6 +11,7 @@ public enum GlueError: AWSErrorType { case idempotentParameterMismatchException(message: String?) case alreadyExistsException(message: String?) case resourceNumberLimitExceededException(message: String?) + case concurrentModificationException(message: String?) case versionMismatchException(message: String?) case schedulerTransitioningException(message: String?) case accessDeniedException(message: String?) @@ -22,7 +23,6 @@ public enum GlueError: AWSErrorType { case crawlerNotRunningException(message: String?) case crawlerStoppingException(message: String?) case schedulerNotRunningException(message: String?) - case concurrentModificationException(message: String?) } extension GlueError { @@ -46,6 +46,8 @@ extension GlueError { self = .alreadyExistsException(message: message) case "ResourceNumberLimitExceededException": self = .resourceNumberLimitExceededException(message: message) + case "ConcurrentModificationException": + self = .concurrentModificationException(message: message) case "VersionMismatchException": self = .versionMismatchException(message: message) case "SchedulerTransitioningException": @@ -68,8 +70,6 @@ extension GlueError { self = .crawlerStoppingException(message: message) case "SchedulerNotRunningException": self = .schedulerNotRunningException(message: message) - case "ConcurrentModificationException": - self = .concurrentModificationException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/glue/Glue_Shapes.swift b/Sources/AWSSDKSwift/Services/glue/Glue_Shapes.swift index 7909ae034f9..04bf7a3c780 100644 --- a/Sources/AWSSDKSwift/Services/glue/Glue_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/glue/Glue_Shapes.swift @@ -5,35 +5,11 @@ import AWSSDKSwiftCore extension Glue { - public struct GetTableResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Table", required: false, type: .structure) - ] - /// The Table object that defines the specified table. - public let table: Table? - - public init(table: Table? = nil) { - self.table = table - } - - private enum CodingKeys: String, CodingKey { - case table = "Table" - } - } - - public struct DeleteTableResponse: AWSShape { - - } - - public struct CreateTableResponse: AWSShape { - - } - public struct Partition: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Parameters", required: false, type: .map), - AWSShapeMember(label: "DatabaseName", required: false, type: .string), AWSShapeMember(label: "Values", required: false, type: .list), + AWSShapeMember(label: "DatabaseName", required: false, type: .string), AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), AWSShapeMember(label: "StorageDescriptor", required: false, type: .structure), AWSShapeMember(label: "TableName", required: false, type: .string), @@ -42,10 +18,10 @@ extension Glue { ] /// Partition parameters, in the form of a list of key-value pairs. public let parameters: [String: String]? - /// The name of the catalog database where the table in question is located. - public let databaseName: String? /// The values of the partition. public let values: [String]? + /// The name of the catalog database where the table in question is located. + public let databaseName: String? /// The time at which the partition was created. public let creationTime: TimeStamp? /// Provides information about the physical location where the partition is stored. @@ -57,10 +33,10 @@ extension Glue { /// The last time at which the partition was accessed. public let lastAccessTime: TimeStamp? - public init(parameters: [String: String]? = nil, databaseName: String? = nil, values: [String]? = nil, creationTime: TimeStamp? = nil, storageDescriptor: StorageDescriptor? = nil, tableName: String? = nil, lastAnalyzedTime: TimeStamp? = nil, lastAccessTime: TimeStamp? = nil) { + public init(parameters: [String: String]? = nil, values: [String]? = nil, databaseName: String? = nil, creationTime: TimeStamp? = nil, storageDescriptor: StorageDescriptor? = nil, tableName: String? = nil, lastAnalyzedTime: TimeStamp? = nil, lastAccessTime: TimeStamp? = nil) { self.parameters = parameters - self.databaseName = databaseName self.values = values + self.databaseName = databaseName self.creationTime = creationTime self.storageDescriptor = storageDescriptor self.tableName = tableName @@ -70,8 +46,8 @@ extension Glue { private enum CodingKeys: String, CodingKey { case parameters = "Parameters" - case databaseName = "DatabaseName" case values = "Values" + case databaseName = "DatabaseName" case creationTime = "CreationTime" case storageDescriptor = "StorageDescriptor" case tableName = "TableName" @@ -80,30 +56,8 @@ extension Glue { } } - public struct CreateUserDefinedFunctionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "FunctionInput", required: true, type: .structure), - AWSShapeMember(label: "DatabaseName", required: true, type: .string) - ] - /// The ID of the Data Catalog in which to create the function. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// A FunctionInput object that defines the function to create in the Data Catalog. - public let functionInput: UserDefinedFunctionInput - /// The name of the catalog database in which to create the function. - public let databaseName: String - - public init(catalogId: String? = nil, functionInput: UserDefinedFunctionInput, databaseName: String) { - self.catalogId = catalogId - self.functionInput = functionInput - self.databaseName = databaseName - } + public struct CreateTableResponse: AWSShape { - private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - case functionInput = "FunctionInput" - case databaseName = "DatabaseName" - } } public struct GetJobRunsRequest: AWSShape { @@ -112,7 +66,7 @@ extension Glue { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The name of the job for which to retrieve all job runs. + /// The name of the job definition for which to retrieve all job runs. public let jobName: String /// A continuation token, if this is a continuation call. public let nextToken: String? @@ -159,7 +113,7 @@ extension Glue { public let creationTime: TimeStamp? /// For scheduled crawlers, the schedule when the crawler runs. public let schedule: Schedule? - /// 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: + /// Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler. public let configuration: String? /// Sets the behavior when the crawler finds a changed or deleted object. public let schemaChangePolicy: SchemaChangePolicy? @@ -223,22 +177,6 @@ extension Glue { } } - public struct GetMappingResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Mapping", required: true, type: .list) - ] - /// A list of mappings to the specified targets. - public let mapping: [MappingEntry] - - public init(mapping: [MappingEntry]) { - self.mapping = mapping - } - - private enum CodingKeys: String, CodingKey { - case mapping = "Mapping" - } - } - public struct UserDefinedFunctionInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ClassName", required: false, type: .string), @@ -275,86 +213,94 @@ extension Glue { } } + public struct GetMappingResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Mapping", required: true, type: .list) + ] + /// A list of mappings to the specified targets. + public let mapping: [MappingEntry] + + public init(mapping: [MappingEntry]) { + self.mapping = mapping + } + + private enum CodingKeys: String, CodingKey { + case mapping = "Mapping" + } + } + public struct Action: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NotificationProperty", required: false, type: .structure), AWSShapeMember(label: "Arguments", required: false, type: .map), - AWSShapeMember(label: "JobName", required: false, type: .string) + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "Timeout", required: false, type: .integer) ] - /// Arguments to be passed to the job. + /// Specifies configuration properties of a job run notification. + public let notificationProperty: NotificationProperty? + /// Arguments to be passed to 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. public let arguments: [String: String]? /// The name of a job to be executed. public let jobName: String? + /// The job run timeout in minutes. It overrides the timeout value of the job. + public let timeout: Int32? - public init(arguments: [String: String]? = nil, jobName: String? = nil) { + public init(notificationProperty: NotificationProperty? = nil, arguments: [String: String]? = nil, jobName: String? = nil, timeout: Int32? = nil) { + self.notificationProperty = notificationProperty self.arguments = arguments self.jobName = jobName + self.timeout = timeout } private enum CodingKeys: String, CodingKey { + case notificationProperty = "NotificationProperty" case arguments = "Arguments" case jobName = "JobName" + case timeout = "Timeout" } } public struct StartJobRunRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NotificationProperty", required: false, type: .structure), AWSShapeMember(label: "Arguments", required: false, type: .map), - AWSShapeMember(label: "JobRunId", required: false, type: .string), AWSShapeMember(label: "JobName", required: true, type: .string), + AWSShapeMember(label: "JobRunId", required: false, type: .string), + AWSShapeMember(label: "Timeout", required: false, type: .integer), AWSShapeMember(label: "AllocatedCapacity", required: false, type: .integer) ] - /// Specific arguments for this job run. + /// Specifies configuration properties of a job run notification. + public let notificationProperty: NotificationProperty? + /// 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. public let arguments: [String: String]? - /// The ID of the job run to start. - public let jobRunId: String? - /// The name of the job to start. + /// The name of the job definition to use. public let jobName: String - /// The infrastructure capacity to allocate to this job. + /// The ID of a previous JobRun to retry. + public let jobRunId: String? + /// The job run timeout in minutes. It overrides the timeout value of the job. + public let timeout: Int32? + /// 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. public let allocatedCapacity: Int32? - public init(arguments: [String: String]? = nil, jobRunId: String? = nil, jobName: String, allocatedCapacity: Int32? = nil) { + public init(notificationProperty: NotificationProperty? = nil, arguments: [String: String]? = nil, jobName: String, jobRunId: String? = nil, timeout: Int32? = nil, allocatedCapacity: Int32? = nil) { + self.notificationProperty = notificationProperty self.arguments = arguments - self.jobRunId = jobRunId self.jobName = jobName + self.jobRunId = jobRunId + self.timeout = timeout self.allocatedCapacity = allocatedCapacity } private enum CodingKeys: String, CodingKey { + case notificationProperty = "NotificationProperty" case arguments = "Arguments" - case jobRunId = "JobRunId" case jobName = "JobName" + case jobRunId = "JobRunId" + case timeout = "Timeout" case allocatedCapacity = "AllocatedCapacity" } } - public enum PrincipalType: String, CustomStringConvertible, Codable { - case user = "USER" - case role = "ROLE" - case group = "GROUP" - public var description: String { return self.rawValue } - } - - public struct GetConnectionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string) - ] - /// The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// The name of the connection definition to retrieve. - public let name: String - - public init(catalogId: String? = nil, name: String) { - self.catalogId = catalogId - self.name = name - } - - private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - case name = "Name" - } - } - public struct StopTriggerResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: false, type: .string) @@ -371,34 +317,13 @@ extension Glue { } } - public struct GetConnectionsFilter: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MatchCriteria", required: false, type: .list), - AWSShapeMember(label: "ConnectionType", required: false, type: .enum) - ] - /// A criteria string that must match the criteria recorded in the connection definition for that connection definition to be returned. - public let matchCriteria: [String]? - /// The type of connections to return. Currently, only JDBC is supported; SFTP is not supported. - public let connectionType: ConnectionType? - - public init(matchCriteria: [String]? = nil, connectionType: ConnectionType? = nil) { - self.matchCriteria = matchCriteria - self.connectionType = connectionType - } - - private enum CodingKeys: String, CodingKey { - case matchCriteria = "MatchCriteria" - case connectionType = "ConnectionType" - } - } - public struct ConnectionInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PhysicalConnectionRequirements", required: false, type: .structure), AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "ConnectionProperties", required: false, type: .map), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "ConnectionType", required: false, type: .enum), + AWSShapeMember(label: "ConnectionProperties", required: true, type: .map), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "ConnectionType", required: true, type: .enum), AWSShapeMember(label: "MatchCriteria", required: false, type: .list) ] /// A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully. @@ -406,15 +331,15 @@ extension Glue { /// Description of the connection. public let description: String? /// A list of key-value pairs used as parameters for this connection. - public let connectionProperties: [ConnectionPropertyKey: String]? + public let connectionProperties: [ConnectionPropertyKey: String] /// The name of the connection. - public let name: String? + public let name: String /// The type of the connection. Currently, only JDBC is supported; SFTP is not supported. - public let connectionType: ConnectionType? + public let connectionType: ConnectionType /// A list of criteria that can be used in selecting this connection. public let matchCriteria: [String]? - public init(physicalConnectionRequirements: PhysicalConnectionRequirements? = nil, description: String? = nil, connectionProperties: [ConnectionPropertyKey: String]? = nil, name: String? = nil, connectionType: ConnectionType? = nil, matchCriteria: [String]? = nil) { + public init(physicalConnectionRequirements: PhysicalConnectionRequirements? = nil, description: String? = nil, connectionProperties: [ConnectionPropertyKey: String], name: String, connectionType: ConnectionType, matchCriteria: [String]? = nil) { self.physicalConnectionRequirements = physicalConnectionRequirements self.description = description self.connectionProperties = connectionProperties @@ -433,958 +358,3009 @@ extension Glue { } } - public struct DeleteDevEndpointResponse: AWSShape { - - } - - public struct Order: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Column", required: true, type: .string), - AWSShapeMember(label: "SortOrder", required: true, type: .integer) - ] - /// The name of the column. - public let column: String - /// Indicates that the column is sorted in ascending order (== 1), or in descending order (==0). - public let sortOrder: Int32 - - public init(column: String, sortOrder: Int32) { - self.column = column - self.sortOrder = sortOrder - } - - private enum CodingKeys: String, CodingKey { - case column = "Column" - case sortOrder = "SortOrder" - } - } - public struct CreatePartitionResponse: AWSShape { } - public struct GetConnectionsRequest: AWSShape { + public struct DynamoDBTarget: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Filter", required: false, type: .structure), - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "Path", required: false, type: .string) ] - /// A filter that controls which connections will be returned. - public let filter: GetConnectionsFilter? - /// The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// A continuation token, if this is a continuation call. - public let nextToken: String? - /// The maximum number of connections to return in one response. - public let maxResults: Int32? + /// The name of the DynamoDB table to crawl. + public let path: String? - public init(filter: GetConnectionsFilter? = nil, catalogId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.filter = filter - self.catalogId = catalogId - self.nextToken = nextToken - self.maxResults = maxResults + public init(path: String? = nil) { + self.path = path } private enum CodingKeys: String, CodingKey { - case filter = "Filter" - case catalogId = "CatalogId" - case nextToken = "NextToken" - case maxResults = "MaxResults" + case path = "Path" } } - public struct GetClassifierResponse: AWSShape { + public struct CreateTriggerResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Classifier", required: false, type: .structure) + AWSShapeMember(label: "Name", required: false, type: .string) ] - /// The requested classifier. - public let classifier: Classifier? + /// The name of the trigger. + public let name: String? - public init(classifier: Classifier? = nil) { - self.classifier = classifier + public init(name: String? = nil) { + self.name = name } private enum CodingKeys: String, CodingKey { - case classifier = "Classifier" + case name = "Name" } } - public struct BatchDeletePartitionRequest: AWSShape { + public struct BatchCreatePartitionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PartitionsToDelete", required: true, type: .list), AWSShapeMember(label: "TableName", required: true, type: .string), AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "PartitionInputList", required: true, type: .list), AWSShapeMember(label: "DatabaseName", required: true, type: .string) ] - /// A list of PartitionInput structures that define the partitions to be deleted. - public let partitionsToDelete: [PartitionValueList] - /// The name of the table where the partitions to be deleted is located. + /// The name of the metadata table in which the partition is to be created. public let tableName: String - /// 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. + /// The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID. public let catalogId: String? - /// The name of the catalog database in which the table in question resides. + /// A list of PartitionInput structures that define the partitions to be created. + public let partitionInputList: [PartitionInput] + /// The name of the metadata database in which the partition is to be created. public let databaseName: String - public init(partitionsToDelete: [PartitionValueList], tableName: String, catalogId: String? = nil, databaseName: String) { - self.partitionsToDelete = partitionsToDelete + public init(tableName: String, catalogId: String? = nil, partitionInputList: [PartitionInput], databaseName: String) { self.tableName = tableName self.catalogId = catalogId + self.partitionInputList = partitionInputList self.databaseName = databaseName } private enum CodingKeys: String, CodingKey { - case partitionsToDelete = "PartitionsToDelete" case tableName = "TableName" case catalogId = "CatalogId" + case partitionInputList = "PartitionInputList" case databaseName = "DatabaseName" } } - public struct JobCommand: AWSShape { + public enum LastCrawlStatus: String, CustomStringConvertible, Codable { + case succeeded = "SUCCEEDED" + case cancelled = "CANCELLED" + case failed = "FAILED" + public var description: String { return self.rawValue } + } + + public struct CreateJsonClassifierRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "ScriptLocation", required: false, type: .string) + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "JsonPath", required: true, type: .string) ] - /// The name of this job command. - public let name: String? - /// Specifies the location of a script that executes a job. - public let scriptLocation: String? - - public init(name: String? = nil, scriptLocation: String? = nil) { + /// The name of the classifier. + public let name: String + /// 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. + public let jsonPath: String + + public init(name: String, jsonPath: String) { self.name = name - self.scriptLocation = scriptLocation + self.jsonPath = jsonPath } private enum CodingKeys: String, CodingKey { case name = "Name" - case scriptLocation = "ScriptLocation" + case jsonPath = "JsonPath" } } - public struct DeleteTriggerRequest: AWSShape { + public struct Trigger: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string) + AWSShapeMember(label: "Id", required: false, type: .string), + AWSShapeMember(label: "Actions", required: false, type: .list), + AWSShapeMember(label: "State", required: false, type: .enum), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Schedule", required: false, type: .string), + AWSShapeMember(label: "Predicate", required: false, type: .structure), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The name of the trigger to delete. - public let name: String + /// Reserved for future use. + public let id: String? + /// The actions initiated by this trigger. + public let actions: [Action]? + /// The current state of the trigger. + public let state: TriggerState? + /// Name of the trigger. + public let name: String? + /// 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 * * ? *). + public let schedule: String? + /// The predicate of this trigger, which defines when it will fire. + public let predicate: Predicate? + /// The type of trigger that this is. + public let `type`: TriggerType? + /// A description of this trigger. + public let description: String? - public init(name: String) { + public init(id: String? = nil, actions: [Action]? = nil, state: TriggerState? = nil, name: String? = nil, schedule: String? = nil, predicate: Predicate? = nil, type: TriggerType? = nil, description: String? = nil) { + self.id = id + self.actions = actions + self.state = state self.name = name + self.schedule = schedule + self.predicate = predicate + self.`type` = `type` + self.description = description } private enum CodingKeys: String, CodingKey { + case id = "Id" + case actions = "Actions" + case state = "State" case name = "Name" + case schedule = "Schedule" + case predicate = "Predicate" + case `type` = "Type" + case description = "Description" } } - public struct DeleteTableRequest: AWSShape { + public struct GetUserDefinedFunctionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Pattern", required: true, type: .string), + AWSShapeMember(label: "DatabaseName", required: true, type: .string), AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "DatabaseName", required: true, type: .string) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// The name of the table to be deleted. - public let name: String - /// The name of the catalog database in which the table resides. + /// An optional function-name pattern string that filters the function definitions returned. + public let pattern: String + /// The name of the catalog database where the functions are located. public let databaseName: String + /// 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. + public let catalogId: String? + /// A continuation token, if this is a continuation call. + public let nextToken: String? + /// The maximum number of functions to return in one response. + public let maxResults: Int32? - public init(catalogId: String? = nil, name: String, databaseName: String) { - self.catalogId = catalogId - self.name = name + public init(pattern: String, databaseName: String, catalogId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.pattern = pattern self.databaseName = databaseName + self.catalogId = catalogId + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - case name = "Name" + case pattern = "Pattern" case databaseName = "DatabaseName" + case catalogId = "CatalogId" + case nextToken = "NextToken" + case maxResults = "MaxResults" } } - public struct GetJobResponse: AWSShape { + public struct ErrorDetail: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Job", required: false, type: .structure) + AWSShapeMember(label: "ErrorMessage", required: false, type: .string), + AWSShapeMember(label: "ErrorCode", required: false, type: .string) ] - /// The requested job definition. - public let job: Job? + /// A message describing the error. + public let errorMessage: String? + /// The code associated with this error. + public let errorCode: String? - public init(job: Job? = nil) { - self.job = job + public init(errorMessage: String? = nil, errorCode: String? = nil) { + self.errorMessage = errorMessage + self.errorCode = errorCode } private enum CodingKeys: String, CodingKey { - case job = "Job" + case errorMessage = "ErrorMessage" + case errorCode = "ErrorCode" } } - public struct CreateDatabaseRequest: AWSShape { + public struct CreateTableRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DatabaseInput", required: true, type: .structure), - AWSShapeMember(label: "CatalogId", required: false, type: .string) + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "TableInput", required: true, type: .structure), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) ] - /// A DatabaseInput object defining the metadata database to create in the catalog. - public let databaseInput: DatabaseInput - /// The ID of the Data Catalog in which to create the database. If none is supplied, the AWS account ID is used by default. + /// The ID of the Data Catalog in which to create the Table. If none is supplied, the AWS account ID is used by default. public let catalogId: String? + /// The TableInput object that defines the metadata table to create in the catalog. + public let tableInput: TableInput + /// The catalog database in which to create the new table. For Hive compatibility, this name is entirely lowercase. + public let databaseName: String - public init(databaseInput: DatabaseInput, catalogId: String? = nil) { - self.databaseInput = databaseInput + public init(catalogId: String? = nil, tableInput: TableInput, databaseName: String) { self.catalogId = catalogId + self.tableInput = tableInput + self.databaseName = databaseName } private enum CodingKeys: String, CodingKey { - case databaseInput = "DatabaseInput" case catalogId = "CatalogId" + case tableInput = "TableInput" + case databaseName = "DatabaseName" } } - public struct CreateTriggerResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: false, type: .string) - ] - /// The name assigned to the new trigger. - public let name: String? - - public init(name: String? = nil) { - self.name = name - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - } - } - - public struct BatchGetPartitionRequest: AWSShape { + public struct DeleteConnectionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DatabaseName", required: true, type: .string), - AWSShapeMember(label: "TableName", required: true, type: .string), AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "PartitionsToGet", required: true, type: .list) + AWSShapeMember(label: "ConnectionName", required: true, type: .string) ] - /// The name of the catalog database where the partitions reside. - public let databaseName: String - /// The name of the partitions' table. - public let tableName: String - /// The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default. + /// The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default. public let catalogId: String? - /// A list of partition values identifying the partitions to retrieve. - public let partitionsToGet: [PartitionValueList] + /// The name of the connection to delete. + public let connectionName: String - public init(databaseName: String, tableName: String, catalogId: String? = nil, partitionsToGet: [PartitionValueList]) { - self.databaseName = databaseName - self.tableName = tableName + public init(catalogId: String? = nil, connectionName: String) { self.catalogId = catalogId - self.partitionsToGet = partitionsToGet + self.connectionName = connectionName } private enum CodingKeys: String, CodingKey { - case databaseName = "DatabaseName" - case tableName = "TableName" case catalogId = "CatalogId" - case partitionsToGet = "PartitionsToGet" + case connectionName = "ConnectionName" } } - public struct GetDatabasesRequest: AWSShape { + public struct StopCrawlerResponse: AWSShape { + + } + + public struct DeleteDevEndpointRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "EndpointName", required: true, type: .string) ] - /// The ID of the Data Catalog from which to retrieve Databases. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// A continuation token, if this is a continuation call. - public let nextToken: String? - /// The maximum number of databases to return in one response. - public let maxResults: Int32? + /// The name of the DevEndpoint. + public let endpointName: String - public init(catalogId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.catalogId = catalogId - self.nextToken = nextToken - self.maxResults = maxResults + public init(endpointName: String) { + self.endpointName = endpointName } private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - case nextToken = "NextToken" - case maxResults = "MaxResults" + case endpointName = "EndpointName" } } - public struct SchemaChangePolicy: AWSShape { + public struct NotificationProperty: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "UpdateBehavior", required: false, type: .enum), - AWSShapeMember(label: "DeleteBehavior", required: false, type: .enum) + AWSShapeMember(label: "NotifyDelayAfter", required: false, type: .integer) ] - /// The update behavior when the crawler finds a changed schema. - public let updateBehavior: UpdateBehavior? - /// The deletion behavior when the crawler finds a deleted object. - public let deleteBehavior: DeleteBehavior? + /// After a job run starts, the number of minutes to wait before sending a job run delay notification. + public let notifyDelayAfter: Int32? - public init(updateBehavior: UpdateBehavior? = nil, deleteBehavior: DeleteBehavior? = nil) { - self.updateBehavior = updateBehavior - self.deleteBehavior = deleteBehavior + public init(notifyDelayAfter: Int32? = nil) { + self.notifyDelayAfter = notifyDelayAfter } private enum CodingKeys: String, CodingKey { - case updateBehavior = "UpdateBehavior" - case deleteBehavior = "DeleteBehavior" + case notifyDelayAfter = "NotifyDelayAfter" } } - public struct BatchCreatePartitionRequest: AWSShape { + public struct GetDatabaseResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TableName", required: true, type: .string), - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "PartitionInputList", required: true, type: .list), - AWSShapeMember(label: "DatabaseName", required: true, type: .string) + AWSShapeMember(label: "Database", required: false, type: .structure) ] - /// The name of the metadata table in which the partition is to be created. - public let tableName: String - /// The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID. - public let catalogId: String? - /// A list of PartitionInput structures that define the partitions to be created. - public let partitionInputList: [PartitionInput] - /// The name of the metadata database in which the partition is to be created. - public let databaseName: String + /// The definition of the specified database in the catalog. + public let database: Database? - public init(tableName: String, catalogId: String? = nil, partitionInputList: [PartitionInput], databaseName: String) { - self.tableName = tableName - self.catalogId = catalogId - self.partitionInputList = partitionInputList - self.databaseName = databaseName + public init(database: Database? = nil) { + self.database = database } private enum CodingKeys: String, CodingKey { - case tableName = "TableName" - case catalogId = "CatalogId" - case partitionInputList = "PartitionInputList" - case databaseName = "DatabaseName" + case database = "Database" } } - public struct BatchDeleteConnectionResponse: AWSShape { + public struct BatchStopJobRunRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Errors", required: false, type: .map), - AWSShapeMember(label: "Succeeded", required: false, type: .list) + AWSShapeMember(label: "JobName", required: true, type: .string), + AWSShapeMember(label: "JobRunIds", required: true, type: .list) ] - /// A map of the names of connections that were not successfully deleted to error details. - public let errors: [String: ErrorDetail]? - /// A list of names of the connection definitions that were successfully deleted. - public let succeeded: [String]? + /// The name of the job definition for which to stop job runs. + public let jobName: String + /// A list of the JobRunIds that should be stopped for that job definition. + public let jobRunIds: [String] - public init(errors: [String: ErrorDetail]? = nil, succeeded: [String]? = nil) { - self.errors = errors - self.succeeded = succeeded + public init(jobName: String, jobRunIds: [String]) { + self.jobName = jobName + self.jobRunIds = jobRunIds } private enum CodingKeys: String, CodingKey { - case errors = "Errors" - case succeeded = "Succeeded" - } + case jobName = "JobName" + case jobRunIds = "JobRunIds" + } + } + + public struct CreateJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Connections", required: false, type: .structure), + AWSShapeMember(label: "NotificationProperty", required: false, type: .structure), + AWSShapeMember(label: "ExecutionProperty", required: false, type: .structure), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Role", required: true, type: .string), + AWSShapeMember(label: "LogUri", required: false, type: .string), + AWSShapeMember(label: "MaxRetries", required: false, type: .integer), + AWSShapeMember(label: "DefaultArguments", required: false, type: .map), + AWSShapeMember(label: "Timeout", required: false, type: .integer), + AWSShapeMember(label: "Command", required: true, type: .structure), + AWSShapeMember(label: "AllocatedCapacity", required: false, type: .integer) + ] + /// The connections used for this job. + public let connections: ConnectionsList? + /// Specifies configuration properties of a job notification. + public let notificationProperty: NotificationProperty? + /// An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job. + public let executionProperty: ExecutionProperty? + /// Description of the job being defined. + public let description: String? + /// The name you assign to this job definition. It must be unique in your account. + public let name: String + /// The name or ARN of the IAM role associated with this job. + public let role: String + /// This field is reserved for future use. + public let logUri: String? + /// The maximum number of times to retry this job if it fails. + public let maxRetries: Int32? + /// 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. + public let defaultArguments: [String: String]? + /// The job timeout in minutes. The default is 2880 minutes (48 hours). + public let timeout: Int32? + /// The JobCommand that executes this job. + public let command: JobCommand + /// 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. + public let allocatedCapacity: Int32? + + public init(connections: ConnectionsList? = nil, notificationProperty: NotificationProperty? = nil, executionProperty: ExecutionProperty? = nil, description: String? = nil, name: String, role: String, logUri: String? = nil, maxRetries: Int32? = nil, defaultArguments: [String: String]? = nil, timeout: Int32? = nil, command: JobCommand, allocatedCapacity: Int32? = nil) { + self.connections = connections + self.notificationProperty = notificationProperty + self.executionProperty = executionProperty + self.description = description + self.name = name + self.role = role + self.logUri = logUri + self.maxRetries = maxRetries + self.defaultArguments = defaultArguments + self.timeout = timeout + self.command = command + self.allocatedCapacity = allocatedCapacity + } + + private enum CodingKeys: String, CodingKey { + case connections = "Connections" + case notificationProperty = "NotificationProperty" + case executionProperty = "ExecutionProperty" + case description = "Description" + case name = "Name" + case role = "Role" + case logUri = "LogUri" + case maxRetries = "MaxRetries" + case defaultArguments = "DefaultArguments" + case timeout = "Timeout" + case command = "Command" + case allocatedCapacity = "AllocatedCapacity" + } + } + + public struct DevEndpoint: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SubnetId", required: false, type: .string), + AWSShapeMember(label: "PublicKey", required: false, type: .string), + AWSShapeMember(label: "LastUpdateStatus", required: false, type: .string), + AWSShapeMember(label: "ExtraPythonLibsS3Path", required: false, type: .string), + AWSShapeMember(label: "SecurityGroupIds", required: false, type: .list), + AWSShapeMember(label: "EndpointName", required: false, type: .string), + AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), + AWSShapeMember(label: "CreatedTimestamp", required: false, type: .timestamp), + AWSShapeMember(label: "ZeppelinRemoteSparkInterpreterPort", required: false, type: .integer), + AWSShapeMember(label: "PrivateAddress", required: false, type: .string), + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "VpcId", required: false, type: .string), + AWSShapeMember(label: "PublicAddress", required: false, type: .string), + AWSShapeMember(label: "YarnEndpointAddress", required: false, type: .string), + AWSShapeMember(label: "ExtraJarsS3Path", required: false, type: .string), + AWSShapeMember(label: "NumberOfNodes", required: false, type: .integer), + AWSShapeMember(label: "RoleArn", required: false, type: .string), + AWSShapeMember(label: "PublicKeys", required: false, type: .list), + AWSShapeMember(label: "LastModifiedTimestamp", required: false, type: .timestamp), + AWSShapeMember(label: "FailureReason", required: false, type: .string) + ] + /// The subnet ID for this DevEndpoint. + public let subnetId: String? + /// 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. + public let publicKey: String? + /// The status of the last update. + public let lastUpdateStatus: String? + /// 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. + public let extraPythonLibsS3Path: String? + /// A list of security group identifiers used in this DevEndpoint. + public let securityGroupIds: [String]? + /// The name of the DevEndpoint. + public let endpointName: String? + /// The AWS availability zone where this DevEndpoint is located. + public let availabilityZone: String? + /// The point in time at which this DevEndpoint was created. + public let createdTimestamp: TimeStamp? + /// The Apache Zeppelin port for the remote Apache Spark interpreter. + public let zeppelinRemoteSparkInterpreterPort: Int32? + /// A private DNS to access the DevEndpoint within a VPC, if the DevEndpoint is created within one. + public let privateAddress: String? + /// The current status of this DevEndpoint. + public let status: String? + /// The ID of the virtual private cloud (VPC) used by this DevEndpoint. + public let vpcId: String? + /// The public VPC address used by this DevEndpoint. + public let publicAddress: String? + /// The YARN endpoint address used by this DevEndpoint. + public let yarnEndpointAddress: String? + /// 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. + public let extraJarsS3Path: String? + /// The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint. + public let numberOfNodes: Int32? + /// The AWS ARN of the IAM role used in this DevEndpoint. + public let roleArn: String? + /// 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. + public let publicKeys: [String]? + /// The point in time at which this DevEndpoint was last modified. + public let lastModifiedTimestamp: TimeStamp? + /// The reason for a current failure in this DevEndpoint. + public let failureReason: String? + + public init(subnetId: String? = nil, publicKey: String? = nil, lastUpdateStatus: String? = nil, extraPythonLibsS3Path: String? = nil, securityGroupIds: [String]? = nil, endpointName: String? = nil, availabilityZone: String? = nil, createdTimestamp: TimeStamp? = nil, zeppelinRemoteSparkInterpreterPort: Int32? = nil, privateAddress: String? = nil, status: String? = nil, vpcId: String? = nil, publicAddress: String? = nil, yarnEndpointAddress: String? = nil, extraJarsS3Path: String? = nil, numberOfNodes: Int32? = nil, roleArn: String? = nil, publicKeys: [String]? = nil, lastModifiedTimestamp: TimeStamp? = nil, failureReason: String? = nil) { + self.subnetId = subnetId + self.publicKey = publicKey + self.lastUpdateStatus = lastUpdateStatus + self.extraPythonLibsS3Path = extraPythonLibsS3Path + self.securityGroupIds = securityGroupIds + self.endpointName = endpointName + self.availabilityZone = availabilityZone + self.createdTimestamp = createdTimestamp + self.zeppelinRemoteSparkInterpreterPort = zeppelinRemoteSparkInterpreterPort + self.privateAddress = privateAddress + self.status = status + self.vpcId = vpcId + self.publicAddress = publicAddress + self.yarnEndpointAddress = yarnEndpointAddress + self.extraJarsS3Path = extraJarsS3Path + self.numberOfNodes = numberOfNodes + self.roleArn = roleArn + self.publicKeys = publicKeys + self.lastModifiedTimestamp = lastModifiedTimestamp + self.failureReason = failureReason + } + + private enum CodingKeys: String, CodingKey { + case subnetId = "SubnetId" + case publicKey = "PublicKey" + case lastUpdateStatus = "LastUpdateStatus" + case extraPythonLibsS3Path = "ExtraPythonLibsS3Path" + case securityGroupIds = "SecurityGroupIds" + case endpointName = "EndpointName" + case availabilityZone = "AvailabilityZone" + case createdTimestamp = "CreatedTimestamp" + case zeppelinRemoteSparkInterpreterPort = "ZeppelinRemoteSparkInterpreterPort" + case privateAddress = "PrivateAddress" + case status = "Status" + case vpcId = "VpcId" + case publicAddress = "PublicAddress" + case yarnEndpointAddress = "YarnEndpointAddress" + case extraJarsS3Path = "ExtraJarsS3Path" + case numberOfNodes = "NumberOfNodes" + case roleArn = "RoleArn" + case publicKeys = "PublicKeys" + case lastModifiedTimestamp = "LastModifiedTimestamp" + case failureReason = "FailureReason" + } + } + + public struct GetCrawlerMetricsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CrawlerMetricsList", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// A list of metrics for the specified crawler. + public let crawlerMetricsList: [CrawlerMetrics]? + /// A continuation token, if the returned list does not contain the last metric available. + public let nextToken: String? + + public init(crawlerMetricsList: [CrawlerMetrics]? = nil, nextToken: String? = nil) { + self.crawlerMetricsList = crawlerMetricsList + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case crawlerMetricsList = "CrawlerMetricsList" + case nextToken = "NextToken" + } + } + + public struct GetJobRunsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobRuns", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// A list of job-run metatdata objects. + public let jobRuns: [JobRun]? + /// A continuation token, if not all reequested job runs have been returned. + public let nextToken: String? + + public init(jobRuns: [JobRun]? = nil, nextToken: String? = nil) { + self.jobRuns = jobRuns + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case jobRuns = "JobRuns" + case nextToken = "NextToken" + } + } + + public struct BatchDeleteConnectionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "ConnectionNameList", required: true, type: .list) + ] + /// The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// A list of names of the connections to delete. + public let connectionNameList: [String] + + public init(catalogId: String? = nil, connectionNameList: [String]) { + self.catalogId = catalogId + self.connectionNameList = connectionNameList + } + + private enum CodingKeys: String, CodingKey { + case catalogId = "CatalogId" + case connectionNameList = "ConnectionNameList" + } + } + + public struct StartTriggerResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string) + ] + /// The name of the trigger that was started. + public let name: String? + + public init(name: String? = nil) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + + public struct SkewedInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SkewedColumnValueLocationMaps", required: false, type: .map), + AWSShapeMember(label: "SkewedColumnNames", required: false, type: .list), + AWSShapeMember(label: "SkewedColumnValues", required: false, type: .list) + ] + /// A mapping of skewed values to the columns that contain them. + public let skewedColumnValueLocationMaps: [String: String]? + /// A list of names of columns that contain skewed values. + public let skewedColumnNames: [String]? + /// A list of values that appear so frequently as to be considered skewed. + public let skewedColumnValues: [String]? + + public init(skewedColumnValueLocationMaps: [String: String]? = nil, skewedColumnNames: [String]? = nil, skewedColumnValues: [String]? = nil) { + self.skewedColumnValueLocationMaps = skewedColumnValueLocationMaps + self.skewedColumnNames = skewedColumnNames + self.skewedColumnValues = skewedColumnValues + } + + private enum CodingKeys: String, CodingKey { + case skewedColumnValueLocationMaps = "SkewedColumnValueLocationMaps" + case skewedColumnNames = "SkewedColumnNames" + case skewedColumnValues = "SkewedColumnValues" + } + } + + public enum DeleteBehavior: String, CustomStringConvertible, Codable { + case log = "LOG" + case deleteFromDatabase = "DELETE_FROM_DATABASE" + case deprecateInDatabase = "DEPRECATE_IN_DATABASE" + public var description: String { return self.rawValue } + } + + public struct GetClassifierRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// Name of the classifier to retrieve. + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + + public struct ResetJobBookmarkResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobBookmarkEntry", required: false, type: .structure) + ] + /// The reset bookmark entry. + public let jobBookmarkEntry: JobBookmarkEntry? + + public init(jobBookmarkEntry: JobBookmarkEntry? = nil) { + self.jobBookmarkEntry = jobBookmarkEntry + } + + private enum CodingKeys: String, CodingKey { + case jobBookmarkEntry = "JobBookmarkEntry" + } + } + + public struct GetConnectionResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Connection", required: false, type: .structure) + ] + /// The requested connection definition. + public let connection: Connection? + + public init(connection: Connection? = nil) { + self.connection = connection + } + + private enum CodingKeys: String, CodingKey { + case connection = "Connection" + } + } + + public enum TriggerType: String, CustomStringConvertible, Codable { + case scheduled = "SCHEDULED" + case conditional = "CONDITIONAL" + case onDemand = "ON_DEMAND" + public var description: String { return self.rawValue } + } + + public struct UpdateConnectionResponse: AWSShape { + + } + + public struct CreatePartitionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PartitionInput", required: true, type: .structure), + AWSShapeMember(label: "TableName", required: true, type: .string), + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) + ] + /// A PartitionInput structure defining the partition to be created. + public let partitionInput: PartitionInput + /// The name of the metadata table in which the partition is to be created. + public let tableName: String + /// The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID. + public let catalogId: String? + /// The name of the metadata database in which the partition is to be created. + public let databaseName: String + + public init(partitionInput: PartitionInput, tableName: String, catalogId: String? = nil, databaseName: String) { + self.partitionInput = partitionInput + self.tableName = tableName + self.catalogId = catalogId + self.databaseName = databaseName + } + + private enum CodingKeys: String, CodingKey { + case partitionInput = "PartitionInput" + case tableName = "TableName" + case catalogId = "CatalogId" + case databaseName = "DatabaseName" + } + } + + public struct BatchDeletePartitionResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Errors", required: false, type: .list) + ] + /// Errors encountered when trying to delete the requested partitions. + public let errors: [PartitionError]? + + public init(errors: [PartitionError]? = nil) { + self.errors = errors + } + + private enum CodingKeys: String, CodingKey { + case errors = "Errors" + } + } + + public struct DeletePartitionResponse: AWSShape { + + } + + public struct GetTableVersionResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TableVersion", required: false, type: .structure) + ] + /// The requested table version. + public let tableVersion: TableVersion? + + public init(tableVersion: TableVersion? = nil) { + self.tableVersion = tableVersion + } + + private enum CodingKeys: String, CodingKey { + case tableVersion = "TableVersion" + } + } + + public struct DeleteTriggerResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string) + ] + /// The name of the trigger that was deleted. + public let name: String? + + public init(name: String? = nil) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + + public struct GetCrawlerResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Crawler", required: false, type: .structure) + ] + /// The metadata for the specified crawler. + public let crawler: Crawler? + + public init(crawler: Crawler? = nil) { + self.crawler = crawler + } + + private enum CodingKeys: String, CodingKey { + case crawler = "Crawler" + } + } + + public struct UpdateUserDefinedFunctionResponse: AWSShape { + + } + + public struct Condition: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "State", required: false, type: .enum), + AWSShapeMember(label: "LogicalOperator", required: false, type: .enum) + ] + /// The name of the Job to whose JobRuns this condition applies and on which this trigger waits. + public let jobName: String? + /// The condition state. Currently, the values supported are SUCCEEDED, STOPPED, TIMEOUT and FAILED. + public let state: JobRunState? + /// A logical operator. + public let logicalOperator: LogicalOperator? + + public init(jobName: String? = nil, state: JobRunState? = nil, logicalOperator: LogicalOperator? = nil) { + self.jobName = jobName + self.state = state + self.logicalOperator = logicalOperator + } + + private enum CodingKeys: String, CodingKey { + case jobName = "JobName" + case state = "State" + case logicalOperator = "LogicalOperator" + } + } + + public struct UpdateClassifierRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GrokClassifier", required: false, type: .structure), + AWSShapeMember(label: "XMLClassifier", required: false, type: .structure), + AWSShapeMember(label: "JsonClassifier", required: false, type: .structure) + ] + /// A GrokClassifier object with updated fields. + public let grokClassifier: UpdateGrokClassifierRequest? + /// An XMLClassifier object with updated fields. + public let xMLClassifier: UpdateXMLClassifierRequest? + /// A JsonClassifier object with updated fields. + public let jsonClassifier: UpdateJsonClassifierRequest? + + public init(grokClassifier: UpdateGrokClassifierRequest? = nil, xMLClassifier: UpdateXMLClassifierRequest? = nil, jsonClassifier: UpdateJsonClassifierRequest? = nil) { + self.grokClassifier = grokClassifier + self.xMLClassifier = xMLClassifier + self.jsonClassifier = jsonClassifier + } + + private enum CodingKeys: String, CodingKey { + case grokClassifier = "GrokClassifier" + case xMLClassifier = "XMLClassifier" + case jsonClassifier = "JsonClassifier" + } + } + + public struct TableError: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ErrorDetail", required: false, type: .structure), + AWSShapeMember(label: "TableName", required: false, type: .string) + ] + /// Detail about the error. + public let errorDetail: ErrorDetail? + /// Name of the table. For Hive compatibility, this must be entirely lowercase. + public let tableName: String? + + public init(errorDetail: ErrorDetail? = nil, tableName: String? = nil) { + self.errorDetail = errorDetail + self.tableName = tableName + } + + private enum CodingKeys: String, CodingKey { + case errorDetail = "ErrorDetail" + case tableName = "TableName" + } + } + + public struct CreateUserDefinedFunctionResponse: AWSShape { + + } + + public struct GetPartitionsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Partitions", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// A list of requested partitions. + public let partitions: [Partition]? + /// A continuation token, if the returned list of partitions does not does not include the last one. + public let nextToken: String? + + public init(partitions: [Partition]? = nil, nextToken: String? = nil) { + self.partitions = partitions + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case partitions = "Partitions" + case nextToken = "NextToken" + } + } + + public struct UpdateCrawlerRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TablePrefix", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "DatabaseName", required: false, type: .string), + AWSShapeMember(label: "Targets", required: false, type: .structure), + AWSShapeMember(label: "Role", required: false, type: .string), + AWSShapeMember(label: "Configuration", required: false, type: .string), + AWSShapeMember(label: "Schedule", required: false, type: .string), + AWSShapeMember(label: "Classifiers", required: false, type: .list), + AWSShapeMember(label: "SchemaChangePolicy", required: false, type: .structure), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The table prefix used for catalog tables that are created. + public let tablePrefix: String? + /// Name of the new crawler. + public let name: String + /// The AWS Glue database where results are stored, such as: arn:aws:daylight:us-east-1::database/sometable/*. + public let databaseName: String? + /// A list of targets to crawl. + public let targets: CrawlerTargets? + /// The IAM role (or ARN of an IAM role) used by the new crawler to access customer resources. + public let role: String? + /// Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler. + public let configuration: String? + /// 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 * * ? *). + public let schedule: String? + /// 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. + public let classifiers: [String]? + /// Policy for the crawler's update and deletion behavior. + public let schemaChangePolicy: SchemaChangePolicy? + /// A description of the new crawler. + public let description: String? + + public init(tablePrefix: String? = nil, name: String, databaseName: String? = nil, targets: CrawlerTargets? = nil, role: String? = nil, configuration: String? = nil, schedule: String? = nil, classifiers: [String]? = nil, schemaChangePolicy: SchemaChangePolicy? = nil, description: String? = nil) { + self.tablePrefix = tablePrefix + self.name = name + self.databaseName = databaseName + self.targets = targets + self.role = role + self.configuration = configuration + self.schedule = schedule + self.classifiers = classifiers + self.schemaChangePolicy = schemaChangePolicy + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case tablePrefix = "TablePrefix" + case name = "Name" + case databaseName = "DatabaseName" + case targets = "Targets" + case role = "Role" + case configuration = "Configuration" + case schedule = "Schedule" + case classifiers = "Classifiers" + case schemaChangePolicy = "SchemaChangePolicy" + case description = "Description" + } + } + + public struct GetJobRunRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobName", required: true, type: .string), + AWSShapeMember(label: "RunId", required: true, type: .string), + AWSShapeMember(label: "PredecessorsIncluded", required: false, type: .boolean) + ] + /// Name of the job definition being run. + public let jobName: String + /// The ID of the job run. + public let runId: String + /// True if a list of predecessor runs should be returned. + public let predecessorsIncluded: Bool? + + public init(jobName: String, runId: String, predecessorsIncluded: Bool? = nil) { + self.jobName = jobName + self.runId = runId + self.predecessorsIncluded = predecessorsIncluded + } + + private enum CodingKeys: String, CodingKey { + case jobName = "JobName" + case runId = "RunId" + case predecessorsIncluded = "PredecessorsIncluded" + } + } + + public struct DeleteJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobName", required: false, type: .string) + ] + /// The name of the job definition that was deleted. + public let jobName: String? + + public init(jobName: String? = nil) { + self.jobName = jobName + } + + private enum CodingKeys: String, CodingKey { + case jobName = "JobName" + } + } + + public struct StorageDescriptor: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InputFormat", required: false, type: .string), + AWSShapeMember(label: "Parameters", required: false, type: .map), + AWSShapeMember(label: "Location", required: false, type: .string), + AWSShapeMember(label: "BucketColumns", required: false, type: .list), + AWSShapeMember(label: "Columns", required: false, type: .list), + AWSShapeMember(label: "SkewedInfo", required: false, type: .structure), + AWSShapeMember(label: "OutputFormat", required: false, type: .string), + AWSShapeMember(label: "StoredAsSubDirectories", required: false, type: .boolean), + AWSShapeMember(label: "SortColumns", required: false, type: .list), + AWSShapeMember(label: "SerdeInfo", required: false, type: .structure), + AWSShapeMember(label: "NumberOfBuckets", required: false, type: .integer), + AWSShapeMember(label: "Compressed", required: false, type: .boolean) + ] + /// The input format: SequenceFileInputFormat (binary), or TextInputFormat, or a custom format. + public let inputFormat: String? + /// User-supplied properties in key-value form. + public let parameters: [String: String]? + /// 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. + public let location: String? + /// A list of reducer grouping columns, clustering columns, and bucketing columns in the table. + public let bucketColumns: [String]? + /// A list of the Columns in the table. + public let columns: [Column]? + /// Information about values that appear very frequently in a column (skewed values). + public let skewedInfo: SkewedInfo? + /// The output format: SequenceFileOutputFormat (binary), or IgnoreKeyTextOutputFormat, or a custom format. + public let outputFormat: String? + /// True if the table data is stored in subdirectories, or False if not. + public let storedAsSubDirectories: Bool? + /// A list specifying the sort order of each bucket in the table. + public let sortColumns: [Order]? + /// Serialization/deserialization (SerDe) information. + public let serdeInfo: SerDeInfo? + /// Must be specified if the table contains any dimension columns. + public let numberOfBuckets: Int32? + /// True if the data in the table is compressed, or False if not. + public let compressed: Bool? + + public init(inputFormat: String? = nil, parameters: [String: String]? = nil, location: String? = nil, bucketColumns: [String]? = nil, columns: [Column]? = nil, skewedInfo: SkewedInfo? = nil, outputFormat: String? = nil, storedAsSubDirectories: Bool? = nil, sortColumns: [Order]? = nil, serdeInfo: SerDeInfo? = nil, numberOfBuckets: Int32? = nil, compressed: Bool? = nil) { + self.inputFormat = inputFormat + self.parameters = parameters + self.location = location + self.bucketColumns = bucketColumns + self.columns = columns + self.skewedInfo = skewedInfo + self.outputFormat = outputFormat + self.storedAsSubDirectories = storedAsSubDirectories + self.sortColumns = sortColumns + self.serdeInfo = serdeInfo + self.numberOfBuckets = numberOfBuckets + self.compressed = compressed + } + + private enum CodingKeys: String, CodingKey { + case inputFormat = "InputFormat" + case parameters = "Parameters" + case location = "Location" + case bucketColumns = "BucketColumns" + case columns = "Columns" + case skewedInfo = "SkewedInfo" + case outputFormat = "OutputFormat" + case storedAsSubDirectories = "StoredAsSubDirectories" + case sortColumns = "SortColumns" + case serdeInfo = "SerdeInfo" + case numberOfBuckets = "NumberOfBuckets" + case compressed = "Compressed" + } + } + + public struct BatchGetPartitionResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UnprocessedKeys", required: false, type: .list), + AWSShapeMember(label: "Partitions", required: false, type: .list) + ] + /// A list of the partition values in the request for which partions were not returned. + public let unprocessedKeys: [PartitionValueList]? + /// A list of the requested partitions. + public let partitions: [Partition]? + + public init(unprocessedKeys: [PartitionValueList]? = nil, partitions: [Partition]? = nil) { + self.unprocessedKeys = unprocessedKeys + self.partitions = partitions + } + + private enum CodingKeys: String, CodingKey { + case unprocessedKeys = "UnprocessedKeys" + case partitions = "Partitions" + } + } + + public struct GetUserDefinedFunctionResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserDefinedFunction", required: false, type: .structure) + ] + /// The requested function definition. + public let userDefinedFunction: UserDefinedFunction? + + public init(userDefinedFunction: UserDefinedFunction? = nil) { + self.userDefinedFunction = userDefinedFunction + } + + private enum CodingKeys: String, CodingKey { + case userDefinedFunction = "UserDefinedFunction" + } + } + + public struct CodeGenNodeArg: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: true, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Param", required: false, type: .boolean) + ] + /// The value of the argument or property. + public let value: String + /// The name of the argument or property. + public let name: String + /// True if the value is used as a parameter. + public let param: Bool? + + public init(value: String, name: String, param: Bool? = nil) { + self.value = value + self.name = name + self.param = param + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case name = "Name" + case param = "Param" + } + } + + public struct CreateCrawlerRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TablePrefix", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "DatabaseName", required: true, type: .string), + AWSShapeMember(label: "Targets", required: true, type: .structure), + AWSShapeMember(label: "Role", required: true, type: .string), + AWSShapeMember(label: "Configuration", required: false, type: .string), + AWSShapeMember(label: "Schedule", required: false, type: .string), + AWSShapeMember(label: "Classifiers", required: false, type: .list), + AWSShapeMember(label: "SchemaChangePolicy", required: false, type: .structure), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The table prefix used for catalog tables that are created. + public let tablePrefix: String? + /// Name of the new crawler. + public let name: String + /// The AWS Glue database where results are written, such as: arn:aws:daylight:us-east-1::database/sometable/*. + public let databaseName: String + /// A list of collection of targets to crawl. + public let targets: CrawlerTargets + /// The IAM role (or ARN of an IAM role) used by the new crawler to access customer resources. + public let role: String + /// Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler. + public let configuration: String? + /// 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 * * ? *). + public let schedule: String? + /// 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. + public let classifiers: [String]? + /// Policy for the crawler's update and deletion behavior. + public let schemaChangePolicy: SchemaChangePolicy? + /// A description of the new crawler. + public let description: String? + + public init(tablePrefix: String? = nil, name: String, databaseName: String, targets: CrawlerTargets, role: String, configuration: String? = nil, schedule: String? = nil, classifiers: [String]? = nil, schemaChangePolicy: SchemaChangePolicy? = nil, description: String? = nil) { + self.tablePrefix = tablePrefix + self.name = name + self.databaseName = databaseName + self.targets = targets + self.role = role + self.configuration = configuration + self.schedule = schedule + self.classifiers = classifiers + self.schemaChangePolicy = schemaChangePolicy + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case tablePrefix = "TablePrefix" + case name = "Name" + case databaseName = "DatabaseName" + case targets = "Targets" + case role = "Role" + case configuration = "Configuration" + case schedule = "Schedule" + case classifiers = "Classifiers" + case schemaChangePolicy = "SchemaChangePolicy" + case description = "Description" + } + } + + public struct CreateConnectionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "ConnectionInput", required: true, type: .structure) + ] + /// The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// A ConnectionInput object defining the connection to create. + public let connectionInput: ConnectionInput + + public init(catalogId: String? = nil, connectionInput: ConnectionInput) { + self.catalogId = catalogId + self.connectionInput = connectionInput + } + + private enum CodingKeys: String, CodingKey { + case catalogId = "CatalogId" + case connectionInput = "ConnectionInput" + } + } + + public struct BatchStopJobRunError: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ErrorDetail", required: false, type: .structure), + AWSShapeMember(label: "JobName", required: false, type: .string), + AWSShapeMember(label: "JobRunId", required: false, type: .string) + ] + /// Specifies details about the error that was encountered. + public let errorDetail: ErrorDetail? + /// The name of the job definition used in the job run in question. + public let jobName: String? + /// The JobRunId of the job run in question. + public let jobRunId: String? + + public init(errorDetail: ErrorDetail? = nil, jobName: String? = nil, jobRunId: String? = nil) { + self.errorDetail = errorDetail + self.jobName = jobName + self.jobRunId = jobRunId + } + + private enum CodingKeys: String, CodingKey { + case errorDetail = "ErrorDetail" + case jobName = "JobName" + case jobRunId = "JobRunId" + } + } + + public struct GetConnectionsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ConnectionList", required: false, type: .list) + ] + /// A continuation token, if the list of connections returned does not include the last of the filtered connections. + public let nextToken: String? + /// A list of requested connection definitions. + public let connectionList: [Connection]? + + public init(nextToken: String? = nil, connectionList: [Connection]? = nil) { + self.nextToken = nextToken + self.connectionList = connectionList + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case connectionList = "ConnectionList" + } + } + + public struct GetCatalogImportStatusResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ImportStatus", required: false, type: .structure) + ] + /// The status of the specified catalog migration. + public let importStatus: CatalogImportStatus? + + public init(importStatus: CatalogImportStatus? = nil) { + self.importStatus = importStatus + } + + private enum CodingKeys: String, CodingKey { + case importStatus = "ImportStatus" + } + } + + public struct UpdateTableRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "SkipArchive", required: false, type: .boolean), + AWSShapeMember(label: "TableInput", required: true, type: .structure), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) + ] + /// The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// 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. + public let skipArchive: Bool? + /// An updated TableInput object to define the metadata table in the catalog. + public let tableInput: TableInput + /// The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase. + public let databaseName: String + + public init(catalogId: String? = nil, skipArchive: Bool? = nil, tableInput: TableInput, databaseName: String) { + self.catalogId = catalogId + self.skipArchive = skipArchive + self.tableInput = tableInput + self.databaseName = databaseName + } + + private enum CodingKeys: String, CodingKey { + case catalogId = "CatalogId" + case skipArchive = "SkipArchive" + case tableInput = "TableInput" + case databaseName = "DatabaseName" + } + } + + public struct ImportCatalogToGlueRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CatalogId", required: false, type: .string) + ] + /// The ID of the catalog to import. Currently, this should be the AWS account ID. + public let catalogId: String? + + public init(catalogId: String? = nil) { + self.catalogId = catalogId + } + + private enum CodingKeys: String, CodingKey { + case catalogId = "CatalogId" + } + } + + public struct UpdateJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobUpdate", required: true, type: .structure), + AWSShapeMember(label: "JobName", required: true, type: .string) + ] + /// Specifies the values with which to update the job definition. + public let jobUpdate: JobUpdate + /// Name of the job definition to update. + public let jobName: String + + public init(jobUpdate: JobUpdate, jobName: String) { + self.jobUpdate = jobUpdate + self.jobName = jobName + } + + private enum CodingKeys: String, CodingKey { + case jobUpdate = "JobUpdate" + case jobName = "JobName" + } + } + + public struct UpdateTableResponse: AWSShape { + + } + + public struct GetPlanResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ScalaCode", required: false, type: .string), + AWSShapeMember(label: "PythonScript", required: false, type: .string) + ] + /// Scala code to perform the mapping. + public let scalaCode: String? + /// A Python script to perform the mapping. + public let pythonScript: String? + + public init(scalaCode: String? = nil, pythonScript: String? = nil) { + self.scalaCode = scalaCode + self.pythonScript = pythonScript + } + + private enum CodingKeys: String, CodingKey { + case scalaCode = "ScalaCode" + case pythonScript = "PythonScript" + } + } + + public enum TriggerState: String, CustomStringConvertible, Codable { + case creating = "CREATING" + case created = "CREATED" + case activating = "ACTIVATING" + case activated = "ACTIVATED" + case deactivating = "DEACTIVATING" + case deactivated = "DEACTIVATED" + case deleting = "DELETING" + case updating = "UPDATING" + public var description: String { return self.rawValue } + } + + public struct Segment: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TotalSegments", required: true, type: .integer), + AWSShapeMember(label: "SegmentNumber", required: true, type: .integer) + ] + /// The total numer of segments. + public let totalSegments: Int32 + /// 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. + public let segmentNumber: Int32 + + public init(totalSegments: Int32, segmentNumber: Int32) { + self.totalSegments = totalSegments + self.segmentNumber = segmentNumber + } + + private enum CodingKeys: String, CodingKey { + case totalSegments = "TotalSegments" + case segmentNumber = "SegmentNumber" + } + } + + public struct ConnectionsList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Connections", required: false, type: .list) + ] + /// A list of connections used by the job. + public let connections: [String]? + + public init(connections: [String]? = nil) { + self.connections = connections + } + + private enum CodingKeys: String, CodingKey { + case connections = "Connections" + } + } + + public struct DeletePartitionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PartitionValues", required: true, type: .list), + AWSShapeMember(label: "TableName", required: true, type: .string), + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) + ] + /// The values that define the partition. + public let partitionValues: [String] + /// The name of the table where the partition to be deleted is located. + public let tableName: String + /// 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. + public let catalogId: String? + /// The name of the catalog database in which the table in question resides. + public let databaseName: String + + public init(partitionValues: [String], tableName: String, catalogId: String? = nil, databaseName: String) { + self.partitionValues = partitionValues + self.tableName = tableName + self.catalogId = catalogId + self.databaseName = databaseName + } + + private enum CodingKeys: String, CodingKey { + case partitionValues = "PartitionValues" + case tableName = "TableName" + case catalogId = "CatalogId" + case databaseName = "DatabaseName" + } + } + + public struct GetJobRunResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobRun", required: false, type: .structure) + ] + /// The requested job-run metadata. + public let jobRun: JobRun? + + public init(jobRun: JobRun? = nil) { + self.jobRun = jobRun + } + + private enum CodingKeys: String, CodingKey { + case jobRun = "JobRun" + } + } + + public struct CreateXMLClassifierRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Classification", required: true, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "RowTag", required: false, type: .string) + ] + /// An identifier of the data format that the classifier matches. + public let classification: String + /// The name of the classifier. + public let name: String + /// 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). + public let rowTag: String? + + public init(classification: String, name: String, rowTag: String? = nil) { + self.classification = classification + self.name = name + self.rowTag = rowTag + } + + private enum CodingKeys: String, CodingKey { + case classification = "Classification" + case name = "Name" + case rowTag = "RowTag" + } + } + + public enum ConnectionPropertyKey: String, CustomStringConvertible, Codable { + case host = "HOST" + case port = "PORT" + case username = "USERNAME" + case password = "PASSWORD" + case jdbcDriverJarUri = "JDBC_DRIVER_JAR_URI" + case jdbcDriverClassName = "JDBC_DRIVER_CLASS_NAME" + case jdbcEngine = "JDBC_ENGINE" + case jdbcEngineVersion = "JDBC_ENGINE_VERSION" + case configFiles = "CONFIG_FILES" + case instanceId = "INSTANCE_ID" + case jdbcConnectionUrl = "JDBC_CONNECTION_URL" + public var description: String { return self.rawValue } + } + + public struct BatchDeleteTableResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Errors", required: false, type: .list) + ] + /// A list of errors encountered in attempting to delete the specified tables. + public let errors: [TableError]? + + public init(errors: [TableError]? = nil) { + self.errors = errors + } + + private enum CodingKeys: String, CodingKey { + case errors = "Errors" + } + } + + public struct DeleteTableVersionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionId", required: true, type: .string), + AWSShapeMember(label: "TableName", required: true, type: .string), + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) + ] + /// The ID of the table version to be deleted. + public let versionId: String + /// The name of the table. For Hive compatibility, this name is entirely lowercase. + public let tableName: String + /// The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase. + public let databaseName: String + + public init(versionId: String, tableName: String, catalogId: String? = nil, databaseName: String) { + self.versionId = versionId + self.tableName = tableName + self.catalogId = catalogId + self.databaseName = databaseName + } + + private enum CodingKeys: String, CodingKey { + case versionId = "VersionId" + case tableName = "TableName" + case catalogId = "CatalogId" + case databaseName = "DatabaseName" + } + } + + public enum ResourceType: String, CustomStringConvertible, Codable { + case jar = "JAR" + case file = "FILE" + case archive = "ARCHIVE" + public var description: String { return self.rawValue } + } + + public struct GetTableRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) + ] + /// The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// The name of the table for which to retrieve the definition. For Hive compatibility, this name is entirely lowercase. + public let name: String + /// The name of the database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase. + public let databaseName: String + + public init(catalogId: String? = nil, name: String, databaseName: String) { + self.catalogId = catalogId + self.name = name + self.databaseName = databaseName + } + + private enum CodingKeys: String, CodingKey { + case catalogId = "CatalogId" + case name = "Name" + case databaseName = "DatabaseName" + } + } + + public struct CreateDatabaseResponse: AWSShape { + + } + + public struct DeleteUserDefinedFunctionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "FunctionName", required: true, type: .string), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) + ] + /// 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. + public let catalogId: String? + /// The name of the function definition to be deleted. + public let functionName: String + /// The name of the catalog database where the function is located. + public let databaseName: String + + public init(catalogId: String? = nil, functionName: String, databaseName: String) { + self.catalogId = catalogId + self.functionName = functionName + self.databaseName = databaseName + } + + private enum CodingKeys: String, CodingKey { + case catalogId = "CatalogId" + case functionName = "FunctionName" + case databaseName = "DatabaseName" + } + } + + public struct GetClassifiersResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Classifiers", required: false, type: .list) + ] + /// A continuation token. + public let nextToken: String? + /// The requested list of classifier objects. + public let classifiers: [Classifier]? + + public init(nextToken: String? = nil, classifiers: [Classifier]? = nil) { + self.nextToken = nextToken + self.classifiers = classifiers + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case classifiers = "Classifiers" + } + } + + public struct GetTriggersResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Triggers", required: false, type: .list) + ] + /// A continuation token, if not all the requested triggers have yet been returned. + public let nextToken: String? + /// A list of triggers for the specified job. + public let triggers: [Trigger]? + + public init(nextToken: String? = nil, triggers: [Trigger]? = nil) { + self.nextToken = nextToken + self.triggers = triggers + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case triggers = "Triggers" + } + } + + public struct UpdateJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobName", required: false, type: .string) + ] + /// Returns the name of the updated job definition. + public let jobName: String? + + public init(jobName: String? = nil) { + self.jobName = jobName + } + + private enum CodingKeys: String, CodingKey { + case jobName = "JobName" + } + } + + public struct TriggerUpdate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Actions", required: false, type: .list), + AWSShapeMember(label: "Schedule", required: false, type: .string), + AWSShapeMember(label: "Predicate", required: false, type: .structure), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The actions initiated by this trigger. + public let actions: [Action]? + /// 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 * * ? *). + public let schedule: String? + /// The predicate of this trigger, which defines when it will fire. + public let predicate: Predicate? + /// Reserved for future use. + public let name: String? + /// A description of this trigger. + public let description: String? + + public init(actions: [Action]? = nil, schedule: String? = nil, predicate: Predicate? = nil, name: String? = nil, description: String? = nil) { + self.actions = actions + self.schedule = schedule + self.predicate = predicate + self.name = name + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case actions = "Actions" + case schedule = "Schedule" + case predicate = "Predicate" + case name = "Name" + case description = "Description" + } + } + + public struct MappingEntry: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SourceTable", required: false, type: .string), + AWSShapeMember(label: "TargetTable", required: false, type: .string), + AWSShapeMember(label: "TargetType", required: false, type: .string), + AWSShapeMember(label: "TargetPath", required: false, type: .string), + AWSShapeMember(label: "SourcePath", required: false, type: .string), + AWSShapeMember(label: "SourceType", required: false, type: .string) + ] + /// The name of the source table. + public let sourceTable: String? + /// The target table. + public let targetTable: String? + /// The target type. + public let targetType: String? + /// The target path. + public let targetPath: String? + /// The source path. + public let sourcePath: String? + /// The source type. + public let sourceType: String? + + public init(sourceTable: String? = nil, targetTable: String? = nil, targetType: String? = nil, targetPath: String? = nil, sourcePath: String? = nil, sourceType: String? = nil) { + self.sourceTable = sourceTable + self.targetTable = targetTable + self.targetType = targetType + self.targetPath = targetPath + self.sourcePath = sourcePath + self.sourceType = sourceType + } + + private enum CodingKeys: String, CodingKey { + case sourceTable = "SourceTable" + case targetTable = "TargetTable" + case targetType = "TargetType" + case targetPath = "TargetPath" + case sourcePath = "SourcePath" + case sourceType = "SourceType" + } + } + + public struct CreateDevEndpointRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SubnetId", required: false, type: .string), + AWSShapeMember(label: "PublicKey", required: false, type: .string), + AWSShapeMember(label: "ExtraPythonLibsS3Path", required: false, type: .string), + AWSShapeMember(label: "SecurityGroupIds", required: false, type: .list), + AWSShapeMember(label: "EndpointName", required: true, type: .string), + AWSShapeMember(label: "NumberOfNodes", required: false, type: .integer), + AWSShapeMember(label: "ExtraJarsS3Path", required: false, type: .string), + AWSShapeMember(label: "RoleArn", required: true, type: .string), + AWSShapeMember(label: "PublicKeys", required: false, type: .list) + ] + /// The subnet ID for the new DevEndpoint to use. + public let subnetId: String? + /// 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. + public let publicKey: String? + /// 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. + public let extraPythonLibsS3Path: String? + /// Security group IDs for the security groups to be used by the new DevEndpoint. + public let securityGroupIds: [String]? + /// The name to be assigned to the new DevEndpoint. + public let endpointName: String + /// The number of AWS Glue Data Processing Units (DPUs) to allocate to this DevEndpoint. + public let numberOfNodes: Int32? + /// Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. + public let extraJarsS3Path: String? + /// The IAM role for the DevEndpoint. + public let roleArn: String + /// 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. + public let publicKeys: [String]? + + public init(subnetId: String? = nil, publicKey: String? = nil, extraPythonLibsS3Path: String? = nil, securityGroupIds: [String]? = nil, endpointName: String, numberOfNodes: Int32? = nil, extraJarsS3Path: String? = nil, roleArn: String, publicKeys: [String]? = nil) { + self.subnetId = subnetId + self.publicKey = publicKey + self.extraPythonLibsS3Path = extraPythonLibsS3Path + self.securityGroupIds = securityGroupIds + self.endpointName = endpointName + self.numberOfNodes = numberOfNodes + self.extraJarsS3Path = extraJarsS3Path + self.roleArn = roleArn + self.publicKeys = publicKeys + } + + private enum CodingKeys: String, CodingKey { + case subnetId = "SubnetId" + case publicKey = "PublicKey" + case extraPythonLibsS3Path = "ExtraPythonLibsS3Path" + case securityGroupIds = "SecurityGroupIds" + case endpointName = "EndpointName" + case numberOfNodes = "NumberOfNodes" + case extraJarsS3Path = "ExtraJarsS3Path" + case roleArn = "RoleArn" + case publicKeys = "PublicKeys" + } + } + + public struct DeleteTableVersionResponse: AWSShape { + + } + + public struct BatchDeleteTableRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "TablesToDelete", required: true, type: .list), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) + ] + /// The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// A list of the table to delete. + public let tablesToDelete: [String] + /// The name of the catalog database where the tables to delete reside. For Hive compatibility, this name is entirely lowercase. + public let databaseName: String + + public init(catalogId: String? = nil, tablesToDelete: [String], databaseName: String) { + self.catalogId = catalogId + self.tablesToDelete = tablesToDelete + self.databaseName = databaseName + } + + private enum CodingKeys: String, CodingKey { + case catalogId = "CatalogId" + case tablesToDelete = "TablesToDelete" + case databaseName = "DatabaseName" + } + } + + public enum LogicalOperator: String, CustomStringConvertible, Codable { + case equals = "EQUALS" + public var description: String { return self.rawValue } + } + + public struct GetCrawlerMetricsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "CrawlerNameList", required: false, type: .list), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// A continuation token, if this is a continuation call. + public let nextToken: String? + /// A list of the names of crawlers about which to retrieve metrics. + public let crawlerNameList: [String]? + /// The maximum size of a list to return. + public let maxResults: Int32? + + public init(nextToken: String? = nil, crawlerNameList: [String]? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.crawlerNameList = crawlerNameList + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case crawlerNameList = "CrawlerNameList" + case maxResults = "MaxResults" + } + } + + public struct UpdateDatabaseResponse: AWSShape { + + } + + public struct CreateTriggerRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Actions", required: true, type: .list), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Schedule", required: false, type: .string), + AWSShapeMember(label: "Predicate", required: false, type: .structure), + AWSShapeMember(label: "Type", required: true, type: .enum), + AWSShapeMember(label: "StartOnCreation", required: false, type: .boolean), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The actions initiated by this trigger when it fires. + public let actions: [Action] + /// The name of the trigger. + public let name: String + /// 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. + public let schedule: String? + /// A predicate to specify when the new trigger should fire. This field is required when the trigger type is CONDITIONAL. + public let predicate: Predicate? + /// The type of the new trigger. + public let `type`: TriggerType + /// Set to true to start SCHEDULED and CONDITIONAL triggers when created. True not supported for ON_DEMAND triggers. + public let startOnCreation: Bool? + /// A description of the new trigger. + public let description: String? + + public init(actions: [Action], name: String, schedule: String? = nil, predicate: Predicate? = nil, type: TriggerType, startOnCreation: Bool? = nil, description: String? = nil) { + self.actions = actions + self.name = name + self.schedule = schedule + self.predicate = predicate + self.`type` = `type` + self.startOnCreation = startOnCreation + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case actions = "Actions" + case name = "Name" + case schedule = "Schedule" + case predicate = "Predicate" + case `type` = "Type" + case startOnCreation = "StartOnCreation" + case description = "Description" + } + } + + public struct GetDatabasesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "DatabaseList", required: true, type: .list) + ] + /// A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last. + public let nextToken: String? + /// A list of Database objects from the specified catalog. + public let databaseList: [Database] + + public init(nextToken: String? = nil, databaseList: [Database]) { + self.nextToken = nextToken + self.databaseList = databaseList + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case databaseList = "DatabaseList" + } + } + + public struct UpdateTriggerRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "TriggerUpdate", required: true, type: .structure) + ] + /// The name of the trigger to update. + public let name: String + /// The new values with which to update the trigger. + public let triggerUpdate: TriggerUpdate + + public init(name: String, triggerUpdate: TriggerUpdate) { + self.name = name + self.triggerUpdate = triggerUpdate + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case triggerUpdate = "TriggerUpdate" + } + } + + public struct DeleteJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobName", required: true, type: .string) + ] + /// The name of the job definition to delete. + public let jobName: String + + public init(jobName: String) { + self.jobName = jobName + } + + private enum CodingKeys: String, CodingKey { + case jobName = "JobName" + } + } + + public struct UpdateDevEndpointRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointName", required: true, type: .string), + AWSShapeMember(label: "AddPublicKeys", required: false, type: .list), + AWSShapeMember(label: "PublicKey", required: false, type: .string), + AWSShapeMember(label: "CustomLibraries", required: false, type: .structure), + AWSShapeMember(label: "DeletePublicKeys", required: false, type: .list), + AWSShapeMember(label: "UpdateEtlLibraries", required: false, type: .boolean) + ] + /// The name of the DevEndpoint to be updated. + public let endpointName: String + /// The list of public keys for the DevEndpoint to use. + public let addPublicKeys: [String]? + /// The public key for the DevEndpoint to use. + public let publicKey: String? + /// Custom Python or Java libraries to be loaded in the DevEndpoint. + public let customLibraries: DevEndpointCustomLibraries? + /// The list of public keys to be deleted from the DevEndpoint. + public let deletePublicKeys: [String]? + /// True if the list of custom libraries to be loaded in the development endpoint needs to be updated, or False otherwise. + public let updateEtlLibraries: Bool? + + public init(endpointName: String, addPublicKeys: [String]? = nil, publicKey: String? = nil, customLibraries: DevEndpointCustomLibraries? = nil, deletePublicKeys: [String]? = nil, updateEtlLibraries: Bool? = nil) { + self.endpointName = endpointName + self.addPublicKeys = addPublicKeys + self.publicKey = publicKey + self.customLibraries = customLibraries + self.deletePublicKeys = deletePublicKeys + self.updateEtlLibraries = updateEtlLibraries + } + + private enum CodingKeys: String, CodingKey { + case endpointName = "EndpointName" + case addPublicKeys = "AddPublicKeys" + case publicKey = "PublicKey" + case customLibraries = "CustomLibraries" + case deletePublicKeys = "DeletePublicKeys" + case updateEtlLibraries = "UpdateEtlLibraries" + } + } + + public struct UpdateJsonClassifierRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "JsonPath", required: false, type: .string) + ] + /// The name of the classifier. + public let name: String + /// 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. + public let jsonPath: String? + + public init(name: String, jsonPath: String? = nil) { + self.name = name + self.jsonPath = jsonPath + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case jsonPath = "JsonPath" + } + } + + public struct DeleteDatabaseRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// The name of the Database to delete. For Hive compatibility, this must be all lowercase. + public let name: String + + public init(catalogId: String? = nil, name: String) { + self.catalogId = catalogId + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case catalogId = "CatalogId" + case name = "Name" + } + } + + public struct GetCrawlerRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// Name of the crawler to retrieve metadata for. + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + + public struct GetPartitionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Segment", required: false, type: .structure), + AWSShapeMember(label: "Expression", required: false, type: .string), + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "DatabaseName", required: true, type: .string), + AWSShapeMember(label: "TableName", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The segment of the table's partitions to scan in this request. + public let segment: Segment? + /// An expression filtering the partitions to be returned. + public let expression: String? + /// The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// The name of the catalog database where the partitions reside. + public let databaseName: String + /// The name of the partitions' table. + public let tableName: String + /// A continuation token, if this is not the first call to retrieve these partitions. + public let nextToken: String? + /// The maximum number of partitions to return in a single response. + public let maxResults: Int32? + + public init(segment: Segment? = nil, expression: String? = nil, catalogId: String? = nil, databaseName: String, tableName: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.segment = segment + self.expression = expression + self.catalogId = catalogId + self.databaseName = databaseName + self.tableName = tableName + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case segment = "Segment" + case expression = "Expression" + case catalogId = "CatalogId" + case databaseName = "DatabaseName" + case tableName = "TableName" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct GetDevEndpointResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DevEndpoint", required: false, type: .structure) + ] + /// A DevEndpoint definition. + public let devEndpoint: DevEndpoint? + + public init(devEndpoint: DevEndpoint? = nil) { + self.devEndpoint = devEndpoint + } + + private enum CodingKeys: String, CodingKey { + case devEndpoint = "DevEndpoint" + } + } + + public struct StartCrawlerResponse: AWSShape { + + } + + public struct GetUserDefinedFunctionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "FunctionName", required: true, type: .string), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) + ] + /// 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. + public let catalogId: String? + /// The name of the function. + public let functionName: String + /// The name of the catalog database where the function is located. + public let databaseName: String + + public init(catalogId: String? = nil, functionName: String, databaseName: String) { + self.catalogId = catalogId + self.functionName = functionName + self.databaseName = databaseName + } + + private enum CodingKeys: String, CodingKey { + case catalogId = "CatalogId" + case functionName = "FunctionName" + case databaseName = "DatabaseName" + } + } + + public struct Location: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DynamoDB", required: false, type: .list), + AWSShapeMember(label: "Jdbc", required: false, type: .list), + AWSShapeMember(label: "S3", required: false, type: .list) + ] + /// A DynamoDB Table location. + public let dynamoDB: [CodeGenNodeArg]? + /// A JDBC location. + public let jdbc: [CodeGenNodeArg]? + /// An Amazon S3 location. + public let s3: [CodeGenNodeArg]? + + public init(dynamoDB: [CodeGenNodeArg]? = nil, jdbc: [CodeGenNodeArg]? = nil, s3: [CodeGenNodeArg]? = nil) { + self.dynamoDB = dynamoDB + self.jdbc = jdbc + self.s3 = s3 + } + + private enum CodingKeys: String, CodingKey { + case dynamoDB = "DynamoDB" + case jdbc = "Jdbc" + case s3 = "S3" + } + } + + public struct GetTriggersRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DependentJobName", required: false, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let dependentJobName: String? + /// A continuation token, if this is a continuation call. + public let nextToken: String? + /// The maximum size of the response. + public let maxResults: Int32? + + public init(dependentJobName: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.dependentJobName = dependentJobName + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case dependentJobName = "DependentJobName" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct UserDefinedFunction: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClassName", required: false, type: .string), + AWSShapeMember(label: "OwnerName", required: false, type: .string), + AWSShapeMember(label: "CreateTime", required: false, type: .timestamp), + AWSShapeMember(label: "FunctionName", required: false, type: .string), + AWSShapeMember(label: "OwnerType", required: false, type: .enum), + AWSShapeMember(label: "ResourceUris", required: false, type: .list) + ] + /// The Java class that contains the function code. + public let className: String? + /// The owner of the function. + public let ownerName: String? + /// The time at which the function was created. + public let createTime: TimeStamp? + /// The name of the function. + public let functionName: String? + /// The owner type. + public let ownerType: PrincipalType? + /// The resource URIs for the function. + public let resourceUris: [ResourceUri]? + + public init(className: String? = nil, ownerName: String? = nil, createTime: TimeStamp? = nil, functionName: String? = nil, ownerType: PrincipalType? = nil, resourceUris: [ResourceUri]? = nil) { + self.className = className + self.ownerName = ownerName + self.createTime = createTime + self.functionName = functionName + self.ownerType = ownerType + self.resourceUris = resourceUris + } + + private enum CodingKeys: String, CodingKey { + case className = "ClassName" + case ownerName = "OwnerName" + case createTime = "CreateTime" + case functionName = "FunctionName" + case ownerType = "OwnerType" + case resourceUris = "ResourceUris" + } + } + + public struct GetDevEndpointsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "DevEndpoints", required: false, type: .list) + ] + /// A continuation token, if not all DevEndpoint definitions have yet been returned. + public let nextToken: String? + /// A list of DevEndpoint definitions. + public let devEndpoints: [DevEndpoint]? + + public init(nextToken: String? = nil, devEndpoints: [DevEndpoint]? = nil) { + self.nextToken = nextToken + self.devEndpoints = devEndpoints + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case devEndpoints = "DevEndpoints" + } + } + + public struct TableVersion: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionId", required: false, type: .string), + AWSShapeMember(label: "Table", required: false, type: .structure) + ] + /// The ID value that identifies this table version. + public let versionId: String? + /// The table in question + public let table: Table? + + public init(versionId: String? = nil, table: Table? = nil) { + self.versionId = versionId + self.table = table + } + + private enum CodingKeys: String, CodingKey { + case versionId = "VersionId" + case table = "Table" + } } - public enum LastCrawlStatus: String, CustomStringConvertible, Codable { + public enum JobRunState: String, CustomStringConvertible, Codable { + case starting = "STARTING" + case running = "RUNNING" + case stopping = "STOPPING" + case stopped = "STOPPED" case succeeded = "SUCCEEDED" - case cancelled = "CANCELLED" case failed = "FAILED" + case timeout = "TIMEOUT" public var description: String { return self.rawValue } } - public struct GetUserDefinedFunctionsRequest: AWSShape { + public struct S3Target: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Exclusions", required: false, type: .list), + AWSShapeMember(label: "Path", required: false, type: .string) + ] + /// A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler. + public let exclusions: [String]? + /// The path to the Amazon S3 target. + public let path: String? + + public init(exclusions: [String]? = nil, path: String? = nil) { + self.exclusions = exclusions + self.path = path + } + + private enum CodingKeys: String, CodingKey { + case exclusions = "Exclusions" + case path = "Path" + } + } + + public struct CrawlerTargets: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "S3Targets", required: false, type: .list), + AWSShapeMember(label: "DynamoDBTargets", required: false, type: .list), + AWSShapeMember(label: "JdbcTargets", required: false, type: .list) + ] + /// Specifies Amazon S3 targets. + public let s3Targets: [S3Target]? + /// Specifies DynamoDB targets. + public let dynamoDBTargets: [DynamoDBTarget]? + /// Specifies JDBC targets. + public let jdbcTargets: [JdbcTarget]? + + public init(s3Targets: [S3Target]? = nil, dynamoDBTargets: [DynamoDBTarget]? = nil, jdbcTargets: [JdbcTarget]? = nil) { + self.s3Targets = s3Targets + self.dynamoDBTargets = dynamoDBTargets + self.jdbcTargets = jdbcTargets + } + + private enum CodingKeys: String, CodingKey { + case s3Targets = "S3Targets" + case dynamoDBTargets = "DynamoDBTargets" + case jdbcTargets = "JdbcTargets" + } + } + + public struct GetTablesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Pattern", required: true, type: .string), AWSShapeMember(label: "DatabaseName", required: true, type: .string), + AWSShapeMember(label: "Expression", required: false, type: .string), + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The database in the catalog whose tables to list. For Hive compatibility, this name is entirely lowercase. + public let databaseName: String + /// A regular expression pattern. If present, only those tables whose names match the pattern are returned. + public let expression: String? + /// The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// A continuation token, included if this is a continuation call. + public let nextToken: String? + /// The maximum number of tables to return in a single response. + public let maxResults: Int32? + + public init(databaseName: String, expression: String? = nil, catalogId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.databaseName = databaseName + self.expression = expression + self.catalogId = catalogId + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case databaseName = "DatabaseName" + case expression = "Expression" + case catalogId = "CatalogId" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct UpdateClassifierResponse: AWSShape { + + } + + public struct StopCrawlerRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// Name of the crawler to stop. + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + + public struct GetMappingRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Sinks", required: false, type: .list), + AWSShapeMember(label: "Location", required: false, type: .structure), + AWSShapeMember(label: "Source", required: true, type: .structure) + ] + /// A list of target tables. + public let sinks: [CatalogEntry]? + /// Parameters for the mapping. + public let location: Location? + /// Specifies the source table. + public let source: CatalogEntry + + public init(sinks: [CatalogEntry]? = nil, location: Location? = nil, source: CatalogEntry) { + self.sinks = sinks + self.location = location + self.source = source + } + + private enum CodingKeys: String, CodingKey { + case sinks = "Sinks" + case location = "Location" + case source = "Source" + } + } + + public struct GetTableResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Table", required: false, type: .structure) + ] + /// The Table object that defines the specified table. + public let table: Table? + + public init(table: Table? = nil) { + self.table = table + } + + private enum CodingKeys: String, CodingKey { + case table = "Table" + } + } + + public struct CreateUserDefinedFunctionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "FunctionInput", required: true, type: .structure), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) + ] + /// The ID of the Data Catalog in which to create the function. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// A FunctionInput object that defines the function to create in the Data Catalog. + public let functionInput: UserDefinedFunctionInput + /// The name of the catalog database in which to create the function. + public let databaseName: String + + public init(catalogId: String? = nil, functionInput: UserDefinedFunctionInput, databaseName: String) { + self.catalogId = catalogId + self.functionInput = functionInput + self.databaseName = databaseName + } + + private enum CodingKeys: String, CodingKey { + case catalogId = "CatalogId" + case functionInput = "FunctionInput" + case databaseName = "DatabaseName" + } + } + + public enum PrincipalType: String, CustomStringConvertible, Codable { + case user = "USER" + case role = "ROLE" + case group = "GROUP" + public var description: String { return self.rawValue } + } + + public struct GetConnectionsFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MatchCriteria", required: false, type: .list), + AWSShapeMember(label: "ConnectionType", required: false, type: .enum) + ] + /// A criteria string that must match the criteria recorded in the connection definition for that connection definition to be returned. + public let matchCriteria: [String]? + /// The type of connections to return. Currently, only JDBC is supported; SFTP is not supported. + public let connectionType: ConnectionType? + + public init(matchCriteria: [String]? = nil, connectionType: ConnectionType? = nil) { + self.matchCriteria = matchCriteria + self.connectionType = connectionType + } + + private enum CodingKeys: String, CodingKey { + case matchCriteria = "MatchCriteria" + case connectionType = "ConnectionType" + } + } + + public struct GetConnectionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// The name of the connection definition to retrieve. + public let name: String + + public init(catalogId: String? = nil, name: String) { + self.catalogId = catalogId + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case catalogId = "CatalogId" + case name = "Name" + } + } + + public struct DeleteDevEndpointResponse: AWSShape { + + } + + public struct Order: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Column", required: true, type: .string), + AWSShapeMember(label: "SortOrder", required: true, type: .integer) + ] + /// The name of the column. + public let column: String + /// Indicates that the column is sorted in ascending order (== 1), or in descending order (==0). + public let sortOrder: Int32 + + public init(column: String, sortOrder: Int32) { + self.column = column + self.sortOrder = sortOrder + } + + private enum CodingKeys: String, CodingKey { + case column = "Column" + case sortOrder = "SortOrder" + } + } + + public struct GetConnectionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Filter", required: false, type: .structure), AWSShapeMember(label: "CatalogId", required: false, type: .string), AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// An optional function-name pattern string that filters the function definitions returned. - public let pattern: String - /// The name of the catalog database where the functions are located. - public let databaseName: String - /// 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. + /// A filter that controls which connections will be returned. + public let filter: GetConnectionsFilter? + /// The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default. public let catalogId: String? /// A continuation token, if this is a continuation call. public let nextToken: String? - /// The maximum number of functions to return in one response. + /// The maximum number of connections to return in one response. public let maxResults: Int32? - public init(pattern: String, databaseName: String, catalogId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.pattern = pattern - self.databaseName = databaseName + public init(filter: GetConnectionsFilter? = nil, catalogId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.filter = filter self.catalogId = catalogId self.nextToken = nextToken self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case pattern = "Pattern" - case databaseName = "DatabaseName" + case filter = "Filter" case catalogId = "CatalogId" case nextToken = "NextToken" case maxResults = "MaxResults" } } - public struct ErrorDetail: AWSShape { + public struct GetClassifierResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ErrorMessage", required: false, type: .string), - AWSShapeMember(label: "ErrorCode", required: false, type: .string) + AWSShapeMember(label: "Classifier", required: false, type: .structure) ] - /// A message describing the error. - public let errorMessage: String? - /// The code associated with this error. - public let errorCode: String? + /// The requested classifier. + public let classifier: Classifier? - public init(errorMessage: String? = nil, errorCode: String? = nil) { - self.errorMessage = errorMessage - self.errorCode = errorCode + public init(classifier: Classifier? = nil) { + self.classifier = classifier } private enum CodingKeys: String, CodingKey { - case errorMessage = "ErrorMessage" - case errorCode = "ErrorCode" + case classifier = "Classifier" } } - public struct UpdateTriggerResponse: AWSShape { + public struct BatchDeletePartitionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Trigger", required: false, type: .structure) + AWSShapeMember(label: "PartitionsToDelete", required: true, type: .list), + AWSShapeMember(label: "TableName", required: true, type: .string), + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) ] - /// The resulting trigger definition. - public let trigger: Trigger? + /// A list of PartitionInput structures that define the partitions to be deleted. + public let partitionsToDelete: [PartitionValueList] + /// The name of the table where the partitions to be deleted is located. + public let tableName: String + /// 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. + public let catalogId: String? + /// The name of the catalog database in which the table in question resides. + public let databaseName: String - public init(trigger: Trigger? = nil) { - self.trigger = trigger + public init(partitionsToDelete: [PartitionValueList], tableName: String, catalogId: String? = nil, databaseName: String) { + self.partitionsToDelete = partitionsToDelete + self.tableName = tableName + self.catalogId = catalogId + self.databaseName = databaseName } private enum CodingKeys: String, CodingKey { - case trigger = "Trigger" + case partitionsToDelete = "PartitionsToDelete" + case tableName = "TableName" + case catalogId = "CatalogId" + case databaseName = "DatabaseName" } } - public struct Trigger: AWSShape { + public struct JobCommand: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", required: false, type: .string), - AWSShapeMember(label: "Actions", required: false, type: .list), - AWSShapeMember(label: "State", required: false, type: .enum), AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "Schedule", required: false, type: .string), - AWSShapeMember(label: "Predicate", required: false, type: .structure), - AWSShapeMember(label: "Type", required: false, type: .enum), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "ScriptLocation", required: false, type: .string) ] - /// The trigger ID. - public let id: String? - /// The actions initiated by this trigger. - public let actions: [Action]? - /// The current state of the trigger. - public let state: TriggerState? - /// Name of the trigger. + /// The name of the job command: this must be glueetl. public let name: String? - /// 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 * * ? *). - public let schedule: String? - /// The predicate of this trigger. - public let predicate: Predicate? - /// The type of trigger that this is. - public let `type`: TriggerType? - /// A description of this trigger. - public let description: String? + /// Specifies the S3 path to a script that executes a job (required). + public let scriptLocation: String? - public init(id: String? = nil, actions: [Action]? = nil, state: TriggerState? = nil, name: String? = nil, schedule: String? = nil, predicate: Predicate? = nil, type: TriggerType? = nil, description: String? = nil) { - self.id = id - self.actions = actions - self.state = state + public init(name: String? = nil, scriptLocation: String? = nil) { self.name = name - self.schedule = schedule - self.predicate = predicate - self.`type` = `type` - self.description = description + self.scriptLocation = scriptLocation } private enum CodingKeys: String, CodingKey { - case id = "Id" - case actions = "Actions" - case state = "State" case name = "Name" - case schedule = "Schedule" - case predicate = "Predicate" - case `type` = "Type" - case description = "Description" + case scriptLocation = "ScriptLocation" } } - public struct CreateTableRequest: AWSShape { + public struct DeleteTriggerRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// The name of the trigger to delete. + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + + public struct DeleteTableRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "TableInput", required: true, type: .structure), + AWSShapeMember(label: "Name", required: true, type: .string), AWSShapeMember(label: "DatabaseName", required: true, type: .string) ] - /// The ID of the Data Catalog in which to create the Table. If none is supplied, the AWS account ID is used by default. + /// The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. public let catalogId: String? - /// The TableInput object that defines the metadata table to create in the catalog. - public let tableInput: TableInput - /// The catalog database in which to create the new table. + /// The name of the table to be deleted. For Hive compatibility, this name is entirely lowercase. + public let name: String + /// The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase. public let databaseName: String - public init(catalogId: String? = nil, tableInput: TableInput, databaseName: String) { + public init(catalogId: String? = nil, name: String, databaseName: String) { self.catalogId = catalogId - self.tableInput = tableInput + self.name = name self.databaseName = databaseName } private enum CodingKeys: String, CodingKey { case catalogId = "CatalogId" - case tableInput = "TableInput" + case name = "Name" case databaseName = "DatabaseName" } } - public struct JobUpdate: AWSShape { + public struct GetJobResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Connections", required: false, type: .structure), - AWSShapeMember(label: "ExecutionProperty", required: false, type: .structure), - AWSShapeMember(label: "LogUri", required: false, type: .string), - AWSShapeMember(label: "Role", required: false, type: .string), - AWSShapeMember(label: "MaxRetries", required: false, type: .integer), - AWSShapeMember(label: "Command", required: false, type: .structure), - AWSShapeMember(label: "DefaultArguments", required: false, type: .map), - AWSShapeMember(label: "AllocatedCapacity", required: false, type: .integer), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "Job", required: false, type: .structure) ] - /// The connections used for this job. - public let connections: ConnectionsList? - /// An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job. - public let executionProperty: ExecutionProperty? - /// This field is reserved for future use. - public let logUri: String? - /// The role associated with this job. - public let role: String? - /// The maximum number of times to retry this job if it fails. - public let maxRetries: Int32? - /// The JobCommand that executes this job. - public let command: JobCommand? - /// The default parameters for this job. - public let defaultArguments: [String: String]? - /// The number of capacity units allocated to this job. - public let allocatedCapacity: Int32? - /// Description of the job. - public let description: String? + /// The requested job definition. + public let job: Job? - public init(connections: ConnectionsList? = nil, executionProperty: ExecutionProperty? = nil, logUri: String? = nil, role: String? = nil, maxRetries: Int32? = nil, command: JobCommand? = nil, defaultArguments: [String: String]? = nil, allocatedCapacity: Int32? = nil, description: String? = nil) { - self.connections = connections - self.executionProperty = executionProperty - self.logUri = logUri - self.role = role - self.maxRetries = maxRetries - self.command = command - self.defaultArguments = defaultArguments - self.allocatedCapacity = allocatedCapacity - self.description = description + public init(job: Job? = nil) { + self.job = job } private enum CodingKeys: String, CodingKey { - case connections = "Connections" - case executionProperty = "ExecutionProperty" - case logUri = "LogUri" - case role = "Role" - case maxRetries = "MaxRetries" - case command = "Command" - case defaultArguments = "DefaultArguments" - case allocatedCapacity = "AllocatedCapacity" - case description = "Description" + case job = "Job" } } - public struct UpdateDevEndpointResponse: AWSShape { - - } - - public enum CrawlerState: String, CustomStringConvertible, Codable { - case ready = "READY" - case running = "RUNNING" - case stopping = "STOPPING" - public var description: String { return self.rawValue } - } - - public struct StopCrawlerResponse: AWSShape { - - } - - public struct UpdateGrokClassifierRequest: AWSShape { + public struct CreateDatabaseRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "GrokPattern", required: false, type: .string), - AWSShapeMember(label: "Classification", required: false, type: .string), - AWSShapeMember(label: "CustomPatterns", required: false, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string) + AWSShapeMember(label: "DatabaseInput", required: true, type: .structure), + AWSShapeMember(label: "CatalogId", required: false, type: .string) ] - /// The grok pattern used by this classifier. - public let grokPattern: String? - /// An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, Amazon CloudWatch Logs, and so on. - public let classification: String? - /// Optional custom grok patterns used by this classifier. - public let customPatterns: String? - /// The name of the GrokClassifier. - public let name: String + /// A DatabaseInput object defining the metadata database to create in the catalog. + public let databaseInput: DatabaseInput + /// The ID of the Data Catalog in which to create the database. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? - public init(grokPattern: String? = nil, classification: String? = nil, customPatterns: String? = nil, name: String) { - self.grokPattern = grokPattern - self.classification = classification - self.customPatterns = customPatterns - self.name = name + public init(databaseInput: DatabaseInput, catalogId: String? = nil) { + self.databaseInput = databaseInput + self.catalogId = catalogId } private enum CodingKeys: String, CodingKey { - case grokPattern = "GrokPattern" - case classification = "Classification" - case customPatterns = "CustomPatterns" - case name = "Name" + case databaseInput = "DatabaseInput" + case catalogId = "CatalogId" } } - public struct CatalogEntry: AWSShape { + public struct BatchGetPartitionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DatabaseName", required: true, type: .string), AWSShapeMember(label: "TableName", required: true, type: .string), - AWSShapeMember(label: "DatabaseName", required: true, type: .string) + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "PartitionsToGet", required: true, type: .list) ] - /// The name of the table in question. - public let tableName: String - /// The database in which the table metadata resides. + /// The name of the catalog database where the partitions reside. public let databaseName: String - - public init(tableName: String, databaseName: String) { - self.tableName = tableName + /// The name of the partitions' table. + public let tableName: String + /// The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// A list of partition values identifying the partitions to retrieve. + public let partitionsToGet: [PartitionValueList] + + public init(databaseName: String, tableName: String, catalogId: String? = nil, partitionsToGet: [PartitionValueList]) { self.databaseName = databaseName + self.tableName = tableName + self.catalogId = catalogId + self.partitionsToGet = partitionsToGet } private enum CodingKeys: String, CodingKey { - case tableName = "TableName" case databaseName = "DatabaseName" + case tableName = "TableName" + case catalogId = "CatalogId" + case partitionsToGet = "PartitionsToGet" } } - public struct DeleteDevEndpointRequest: AWSShape { + public struct GetDatabasesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointName", required: true, type: .string) + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The name of the DevEndpoint. - public let endpointName: String + /// The ID of the Data Catalog from which to retrieve Databases. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// A continuation token, if this is a continuation call. + public let nextToken: String? + /// The maximum number of databases to return in one response. + public let maxResults: Int32? - public init(endpointName: String) { - self.endpointName = endpointName + public init(catalogId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.catalogId = catalogId + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case endpointName = "EndpointName" + case catalogId = "CatalogId" + case nextToken = "NextToken" + case maxResults = "MaxResults" } } - public struct DeleteConnectionRequest: AWSShape { + public struct SchemaChangePolicy: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "ConnectionName", required: true, type: .string) + AWSShapeMember(label: "UpdateBehavior", required: false, type: .enum), + AWSShapeMember(label: "DeleteBehavior", required: false, type: .enum) ] - /// The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// The name of the connection to delete. - public let connectionName: String + /// The update behavior when the crawler finds a changed schema. + public let updateBehavior: UpdateBehavior? + /// The deletion behavior when the crawler finds a deleted object. + public let deleteBehavior: DeleteBehavior? - public init(catalogId: String? = nil, connectionName: String) { - self.catalogId = catalogId - self.connectionName = connectionName + public init(updateBehavior: UpdateBehavior? = nil, deleteBehavior: DeleteBehavior? = nil) { + self.updateBehavior = updateBehavior + self.deleteBehavior = deleteBehavior } private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - case connectionName = "ConnectionName" + case updateBehavior = "UpdateBehavior" + case deleteBehavior = "DeleteBehavior" } } - public struct GetDatabaseResponse: AWSShape { + public struct BatchDeleteConnectionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Database", required: false, type: .structure) + AWSShapeMember(label: "Errors", required: false, type: .map), + AWSShapeMember(label: "Succeeded", required: false, type: .list) ] - /// The definition of the specified database in the catalog. - public let database: Database? + /// A map of the names of connections that were not successfully deleted to error details. + public let errors: [String: ErrorDetail]? + /// A list of names of the connection definitions that were successfully deleted. + public let succeeded: [String]? - public init(database: Database? = nil) { - self.database = database + public init(errors: [String: ErrorDetail]? = nil, succeeded: [String]? = nil) { + self.errors = errors + self.succeeded = succeeded } private enum CodingKeys: String, CodingKey { - case database = "Database" + case errors = "Errors" + case succeeded = "Succeeded" } } - public struct BatchStopJobRunRequest: AWSShape { + public struct UpdateTriggerResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobName", required: true, type: .string), - AWSShapeMember(label: "JobRunIds", required: true, type: .list) + AWSShapeMember(label: "Trigger", required: false, type: .structure) ] - /// The name of the job whose job runs are to be stopped. - public let jobName: String - /// A list of job run Ids of the given job to be stopped. - public let jobRunIds: [String] + /// The resulting trigger definition. + public let trigger: Trigger? - public init(jobName: String, jobRunIds: [String]) { - self.jobName = jobName - self.jobRunIds = jobRunIds + public init(trigger: Trigger? = nil) { + self.trigger = trigger } private enum CodingKeys: String, CodingKey { - case jobName = "JobName" - case jobRunIds = "JobRunIds" + case trigger = "Trigger" } } - public struct DeleteDatabaseResponse: AWSShape { - - } - - public struct CreateJobRequest: AWSShape { + public struct JobUpdate: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Connections", required: false, type: .structure), + AWSShapeMember(label: "NotificationProperty", required: false, type: .structure), AWSShapeMember(label: "ExecutionProperty", required: false, type: .structure), - AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "DefaultArguments", required: false, type: .map), AWSShapeMember(label: "LogUri", required: false, type: .string), - AWSShapeMember(label: "Role", required: true, type: .string), + AWSShapeMember(label: "Role", required: false, type: .string), AWSShapeMember(label: "MaxRetries", required: false, type: .integer), - AWSShapeMember(label: "Command", required: true, type: .structure), - AWSShapeMember(label: "DefaultArguments", required: false, type: .map), + AWSShapeMember(label: "Timeout", required: false, type: .integer), + AWSShapeMember(label: "Command", required: false, type: .structure), AWSShapeMember(label: "AllocatedCapacity", required: false, type: .integer), AWSShapeMember(label: "Description", required: false, type: .string) ] /// The connections used for this job. public let connections: ConnectionsList? + /// Specifies configuration properties of a job notification. + public let notificationProperty: NotificationProperty? /// An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job. public let executionProperty: ExecutionProperty? - /// The name you assign to this job. - public let name: String + /// 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. + public let defaultArguments: [String: String]? /// This field is reserved for future use. public let logUri: String? - /// The role associated with this job. - public let role: String + /// The name or ARN of the IAM role associated with this job (required). + public let role: String? /// The maximum number of times to retry this job if it fails. public let maxRetries: Int32? - /// The JobCommand that executes this job. - public let command: JobCommand - /// The default parameters for this job. - public let defaultArguments: [String: String]? - /// The number of capacity units allocated to this job. + /// The job timeout in minutes. The default is 2880 minutes (48 hours). + public let timeout: Int32? + /// The JobCommand that executes this job (required). + public let command: JobCommand? + /// 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. public let allocatedCapacity: Int32? - /// Description of the job. + /// Description of the job being defined. public let description: String? - public init(connections: ConnectionsList? = nil, executionProperty: ExecutionProperty? = nil, name: String, logUri: String? = nil, role: String, maxRetries: Int32? = nil, command: JobCommand, defaultArguments: [String: String]? = nil, allocatedCapacity: Int32? = nil, description: String? = nil) { + public init(connections: ConnectionsList? = nil, notificationProperty: NotificationProperty? = nil, executionProperty: ExecutionProperty? = nil, defaultArguments: [String: String]? = nil, logUri: String? = nil, role: String? = nil, maxRetries: Int32? = nil, timeout: Int32? = nil, command: JobCommand? = nil, allocatedCapacity: Int32? = nil, description: String? = nil) { self.connections = connections + self.notificationProperty = notificationProperty self.executionProperty = executionProperty - self.name = name + self.defaultArguments = defaultArguments self.logUri = logUri self.role = role self.maxRetries = maxRetries + self.timeout = timeout self.command = command - self.defaultArguments = defaultArguments self.allocatedCapacity = allocatedCapacity self.description = description } private enum CodingKeys: String, CodingKey { case connections = "Connections" + case notificationProperty = "NotificationProperty" case executionProperty = "ExecutionProperty" - case name = "Name" + case defaultArguments = "DefaultArguments" case logUri = "LogUri" case role = "Role" case maxRetries = "MaxRetries" + case timeout = "Timeout" case command = "Command" - case defaultArguments = "DefaultArguments" case allocatedCapacity = "AllocatedCapacity" case description = "Description" } } - public struct DevEndpoint: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SubnetId", required: false, type: .string), - AWSShapeMember(label: "PublicKey", required: false, type: .string), - AWSShapeMember(label: "LastUpdateStatus", required: false, type: .string), - AWSShapeMember(label: "ExtraPythonLibsS3Path", required: false, type: .string), - AWSShapeMember(label: "SecurityGroupIds", required: false, type: .list), - AWSShapeMember(label: "EndpointName", required: false, type: .string), - AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), - AWSShapeMember(label: "CreatedTimestamp", required: false, type: .timestamp), - AWSShapeMember(label: "ZeppelinRemoteSparkInterpreterPort", required: false, type: .integer), - AWSShapeMember(label: "Status", required: false, type: .string), - AWSShapeMember(label: "PublicAddress", required: false, type: .string), - AWSShapeMember(label: "VpcId", required: false, type: .string), - AWSShapeMember(label: "YarnEndpointAddress", required: false, type: .string), - AWSShapeMember(label: "NumberOfNodes", required: false, type: .integer), - AWSShapeMember(label: "ExtraJarsS3Path", required: false, type: .string), - AWSShapeMember(label: "FailureReason", required: false, type: .string), - AWSShapeMember(label: "RoleArn", required: false, type: .string), - AWSShapeMember(label: "LastModifiedTimestamp", required: false, type: .timestamp) - ] - /// The subnet ID for this DevEndpoint. - public let subnetId: String? - /// The public key to be used by this DevEndpoint for authentication. - public let publicKey: String? - /// The status of the last update. - public let lastUpdateStatus: String? - /// 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. - public let extraPythonLibsS3Path: String? - /// A list of security group identifiers used in this DevEndpoint. - public let securityGroupIds: [String]? - /// The name of the DevEndpoint. - public let endpointName: String? - /// The AWS availability zone where this DevEndpoint is located. - public let availabilityZone: String? - /// The point in time at which this DevEndpoint was created. - public let createdTimestamp: TimeStamp? - /// The Apache Zeppelin port for the remote Apache Spark interpreter. - public let zeppelinRemoteSparkInterpreterPort: Int32? - /// The current status of this DevEndpoint. - public let status: String? - /// The public address used by this DevEndpoint. - public let publicAddress: String? - /// The ID of the virtual private cloud (VPC) used by this DevEndpoint. - public let vpcId: String? - /// The YARN endpoint address used by this DevEndpoint. - public let yarnEndpointAddress: String? - /// The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint. - public let numberOfNodes: Int32? - /// 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. - public let extraJarsS3Path: String? - /// The reason for a current failure in this DevEndpoint. - public let failureReason: String? - /// The AWS ARN of the IAM role used in this DevEndpoint. - public let roleArn: String? - /// The point in time at which this DevEndpoint was last modified. - public let lastModifiedTimestamp: TimeStamp? - - public init(subnetId: String? = nil, publicKey: String? = nil, lastUpdateStatus: String? = nil, extraPythonLibsS3Path: String? = nil, securityGroupIds: [String]? = nil, endpointName: String? = nil, availabilityZone: String? = nil, createdTimestamp: TimeStamp? = nil, zeppelinRemoteSparkInterpreterPort: Int32? = nil, status: String? = nil, publicAddress: String? = nil, vpcId: String? = nil, yarnEndpointAddress: String? = nil, numberOfNodes: Int32? = nil, extraJarsS3Path: String? = nil, failureReason: String? = nil, roleArn: String? = nil, lastModifiedTimestamp: TimeStamp? = nil) { - self.subnetId = subnetId - self.publicKey = publicKey - self.lastUpdateStatus = lastUpdateStatus - self.extraPythonLibsS3Path = extraPythonLibsS3Path - self.securityGroupIds = securityGroupIds - self.endpointName = endpointName - self.availabilityZone = availabilityZone - self.createdTimestamp = createdTimestamp - self.zeppelinRemoteSparkInterpreterPort = zeppelinRemoteSparkInterpreterPort - self.status = status - self.publicAddress = publicAddress - self.vpcId = vpcId - self.yarnEndpointAddress = yarnEndpointAddress - self.numberOfNodes = numberOfNodes - self.extraJarsS3Path = extraJarsS3Path - self.failureReason = failureReason - self.roleArn = roleArn - self.lastModifiedTimestamp = lastModifiedTimestamp - } + public struct UpdateDevEndpointResponse: AWSShape { - private enum CodingKeys: String, CodingKey { - case subnetId = "SubnetId" - case publicKey = "PublicKey" - case lastUpdateStatus = "LastUpdateStatus" - case extraPythonLibsS3Path = "ExtraPythonLibsS3Path" - case securityGroupIds = "SecurityGroupIds" - case endpointName = "EndpointName" - case availabilityZone = "AvailabilityZone" - case createdTimestamp = "CreatedTimestamp" - case zeppelinRemoteSparkInterpreterPort = "ZeppelinRemoteSparkInterpreterPort" - case status = "Status" - case publicAddress = "PublicAddress" - case vpcId = "VpcId" - case yarnEndpointAddress = "YarnEndpointAddress" - case numberOfNodes = "NumberOfNodes" - case extraJarsS3Path = "ExtraJarsS3Path" - case failureReason = "FailureReason" - case roleArn = "RoleArn" - case lastModifiedTimestamp = "LastModifiedTimestamp" - } } - public struct GetCrawlerMetricsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CrawlerMetricsList", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) - ] - /// A list of metrics for the specified crawler. - public let crawlerMetricsList: [CrawlerMetrics]? - /// A continuation token, if the returned list does not contain the last metric available. - public let nextToken: String? - - public init(crawlerMetricsList: [CrawlerMetrics]? = nil, nextToken: String? = nil) { - self.crawlerMetricsList = crawlerMetricsList - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case crawlerMetricsList = "CrawlerMetricsList" - case nextToken = "NextToken" - } + public enum CrawlerState: String, CustomStringConvertible, Codable { + case ready = "READY" + case running = "RUNNING" + case stopping = "STOPPING" + public var description: String { return self.rawValue } } - public struct GetJobRunsResponse: AWSShape { + public struct UpdateGrokClassifierRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobRuns", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) + AWSShapeMember(label: "GrokPattern", required: false, type: .string), + AWSShapeMember(label: "Classification", required: false, type: .string), + AWSShapeMember(label: "CustomPatterns", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string) ] - /// A list of job-run metatdata objects. - public let jobRuns: [JobRun]? - /// A continuation token, if not all reequested job runs have been returned. - public let nextToken: String? + /// The grok pattern used by this classifier. + public let grokPattern: String? + /// An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, Amazon CloudWatch Logs, and so on. + public let classification: String? + /// Optional custom grok patterns used by this classifier. + public let customPatterns: String? + /// The name of the GrokClassifier. + public let name: String - public init(jobRuns: [JobRun]? = nil, nextToken: String? = nil) { - self.jobRuns = jobRuns - self.nextToken = nextToken + public init(grokPattern: String? = nil, classification: String? = nil, customPatterns: String? = nil, name: String) { + self.grokPattern = grokPattern + self.classification = classification + self.customPatterns = customPatterns + self.name = name } private enum CodingKeys: String, CodingKey { - case jobRuns = "JobRuns" - case nextToken = "NextToken" + case grokPattern = "GrokPattern" + case classification = "Classification" + case customPatterns = "CustomPatterns" + case name = "Name" } } - public struct BatchDeleteConnectionRequest: AWSShape { + public struct CatalogEntry: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "ConnectionNameList", required: true, type: .list) + AWSShapeMember(label: "TableName", required: true, type: .string), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) ] - /// The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// A list of names of the connections to delete. - public let connectionNameList: [String] + /// The name of the table in question. + public let tableName: String + /// The database in which the table metadata resides. + public let databaseName: String - public init(catalogId: String? = nil, connectionNameList: [String]) { - self.catalogId = catalogId - self.connectionNameList = connectionNameList + public init(tableName: String, databaseName: String) { + self.tableName = tableName + self.databaseName = databaseName } private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - case connectionNameList = "ConnectionNameList" + case tableName = "TableName" + case databaseName = "DatabaseName" } } - public struct StartTriggerResponse: AWSShape { + public struct JsonClassifier: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: false, type: .string) + AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), + AWSShapeMember(label: "LastUpdated", required: false, type: .timestamp), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "JsonPath", required: true, type: .string), + AWSShapeMember(label: "Version", required: false, type: .long) ] - /// The name of the trigger that was started. - public let name: String? + /// The time this classifier was registered. + public let creationTime: TimeStamp? + /// The time this classifier was last updated. + public let lastUpdated: TimeStamp? + /// The name of the classifier. + public let name: String + /// 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. + public let jsonPath: String + /// The version of this classifier. + public let version: Int64? - public init(name: String? = nil) { + public init(creationTime: TimeStamp? = nil, lastUpdated: TimeStamp? = nil, name: String, jsonPath: String, version: Int64? = nil) { + self.creationTime = creationTime + self.lastUpdated = lastUpdated self.name = name + self.jsonPath = jsonPath + self.version = version } private enum CodingKeys: String, CodingKey { + case creationTime = "CreationTime" + case lastUpdated = "LastUpdated" case name = "Name" + case jsonPath = "JsonPath" + case version = "Version" } } + public struct DeleteDatabaseResponse: AWSShape { + + } + public struct Column: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Type", required: false, type: .string), @@ -1411,29 +3387,6 @@ extension Glue { } } - public enum DeleteBehavior: String, CustomStringConvertible, Codable { - case log = "LOG" - case deleteFromDatabase = "DELETE_FROM_DATABASE" - case deprecateInDatabase = "DEPRECATE_IN_DATABASE" - public var description: String { return self.rawValue } - } - - public struct ResetJobBookmarkResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobBookmarkEntry", required: false, type: .structure) - ] - /// The reset bookmark entry. - public let jobBookmarkEntry: JobBookmarkEntry? - - public init(jobBookmarkEntry: JobBookmarkEntry? = nil) { - self.jobBookmarkEntry = jobBookmarkEntry - } - - private enum CodingKeys: String, CodingKey { - case jobBookmarkEntry = "JobBookmarkEntry" - } - } - public struct UpdateConnectionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CatalogId", required: false, type: .string), @@ -1460,71 +3413,6 @@ extension Glue { } } - public struct GetClassifierRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string) - ] - /// Name of the classifier to retrieve. - public let name: String - - public init(name: String) { - self.name = name - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - } - } - - public struct SkewedInfo: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SkewedColumnValueLocationMaps", required: false, type: .map), - AWSShapeMember(label: "SkewedColumnNames", required: false, type: .list), - AWSShapeMember(label: "SkewedColumnValues", required: false, type: .list) - ] - /// A mapping of skewed values to the columns that contain them. - public let skewedColumnValueLocationMaps: [String: String]? - /// A list of names of columns that contain skewed values. - public let skewedColumnNames: [String]? - /// A list of values that appear so frequently as to be considered skewed. - public let skewedColumnValues: [String]? - - public init(skewedColumnValueLocationMaps: [String: String]? = nil, skewedColumnNames: [String]? = nil, skewedColumnValues: [String]? = nil) { - self.skewedColumnValueLocationMaps = skewedColumnValueLocationMaps - self.skewedColumnNames = skewedColumnNames - self.skewedColumnValues = skewedColumnValues - } - - private enum CodingKeys: String, CodingKey { - case skewedColumnValueLocationMaps = "SkewedColumnValueLocationMaps" - case skewedColumnNames = "SkewedColumnNames" - case skewedColumnValues = "SkewedColumnValues" - } - } - - public struct GetConnectionResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Connection", required: false, type: .structure) - ] - /// The requested connection definition. - public let connection: Connection? - - public init(connection: Connection? = nil) { - self.connection = connection - } - - private enum CodingKeys: String, CodingKey { - case connection = "Connection" - } - } - - public enum TriggerType: String, CustomStringConvertible, Codable { - case scheduled = "SCHEDULED" - case conditional = "CONDITIONAL" - case onDemand = "ON_DEMAND" - public var description: String { return self.rawValue } - } - public struct JdbcTarget: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Exclusions", required: false, type: .list), @@ -1551,6 +3439,22 @@ extension Glue { } } + public struct BatchDeleteTableVersionResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Errors", required: false, type: .list) + ] + /// A list of errors encountered while trying to delete the specified table versions. + public let errors: [TableVersionError]? + + public init(errors: [TableVersionError]? = nil) { + self.errors = errors + } + + private enum CodingKeys: String, CodingKey { + case errors = "Errors" + } + } + public struct ResourceUri: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ResourceType", required: false, type: .enum), @@ -1628,112 +3532,30 @@ extension Glue { } } - public struct UpdateConnectionResponse: AWSShape { - - } - - public struct CreatePartitionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PartitionInput", required: true, type: .structure), - AWSShapeMember(label: "TableName", required: true, type: .string), - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "DatabaseName", required: true, type: .string) - ] - /// A PartitionInput structure defining the partition to be created. - public let partitionInput: PartitionInput - /// The name of the metadata table in which the partition is to be created. - public let tableName: String - /// The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID. - public let catalogId: String? - /// The name of the metadata database in which the partition is to be created. - public let databaseName: String - - public init(partitionInput: PartitionInput, tableName: String, catalogId: String? = nil, databaseName: String) { - self.partitionInput = partitionInput - self.tableName = tableName - self.catalogId = catalogId - self.databaseName = databaseName - } - - private enum CodingKeys: String, CodingKey { - case partitionInput = "PartitionInput" - case tableName = "TableName" - case catalogId = "CatalogId" - case databaseName = "DatabaseName" - } - } - - public struct BatchDeletePartitionResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Errors", required: false, type: .list) - ] - /// Errors encountered when trying to delete the requested partitions. - public let errors: [PartitionError]? - - public init(errors: [PartitionError]? = nil) { - self.errors = errors - } - - private enum CodingKeys: String, CodingKey { - case errors = "Errors" - } - } - - public struct DeletePartitionResponse: AWSShape { - - } - public enum UpdateBehavior: String, CustomStringConvertible, Codable { case log = "LOG" case updateInDatabase = "UPDATE_IN_DATABASE" public var description: String { return self.rawValue } } - public struct CreateScriptResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PythonScript", required: false, type: .string) - ] - /// The Python script generated from the DAG. - public let pythonScript: String? - - public init(pythonScript: String? = nil) { - self.pythonScript = pythonScript - } - - private enum CodingKeys: String, CodingKey { - case pythonScript = "PythonScript" - } - } - - public struct DeleteTriggerResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: false, type: .string) - ] - /// The name of the trigger that was deleted. - public let name: String? - - public init(name: String? = nil) { - self.name = name - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - } - } - - public struct GetCrawlerResponse: AWSShape { + public struct CreateScriptResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Crawler", required: false, type: .structure) + AWSShapeMember(label: "ScalaCode", required: false, type: .string), + AWSShapeMember(label: "PythonScript", required: false, type: .string) ] - /// The metadata for the specified crawler. - public let crawler: Crawler? + /// The Scala code generated from the DAG. + public let scalaCode: String? + /// The Python script generated from the DAG. + public let pythonScript: String? - public init(crawler: Crawler? = nil) { - self.crawler = crawler + public init(scalaCode: String? = nil, pythonScript: String? = nil) { + self.scalaCode = scalaCode + self.pythonScript = pythonScript } private enum CodingKeys: String, CodingKey { - case crawler = "Crawler" + case scalaCode = "ScalaCode" + case pythonScript = "PythonScript" } } @@ -1831,10 +3653,6 @@ extension Glue { } } - public struct UpdateUserDefinedFunctionResponse: AWSShape { - - } - public struct GetTriggerRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: true, type: .string) @@ -1851,32 +3669,6 @@ extension Glue { } } - public struct Condition: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobName", required: false, type: .string), - AWSShapeMember(label: "State", required: false, type: .enum), - AWSShapeMember(label: "LogicalOperator", required: false, type: .enum) - ] - /// The name of the job in question. - public let jobName: String? - /// The condition state. - public let state: JobRunState? - /// A logical operator. - public let logicalOperator: LogicalOperator? - - public init(jobName: String? = nil, state: JobRunState? = nil, logicalOperator: LogicalOperator? = nil) { - self.jobName = jobName - self.state = state - self.logicalOperator = logicalOperator - } - - private enum CodingKeys: String, CodingKey { - case jobName = "JobName" - case state = "State" - case logicalOperator = "LogicalOperator" - } - } - public struct UpdateUserDefinedFunctionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FunctionInput", required: true, type: .structure), @@ -1891,247 +3683,35 @@ extension Glue { /// 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. public let catalogId: String? /// The name of the catalog database where the function to be updated is located. - public let databaseName: String - - public init(functionInput: UserDefinedFunctionInput, functionName: String, catalogId: String? = nil, databaseName: String) { - self.functionInput = functionInput - self.functionName = functionName - self.catalogId = catalogId - self.databaseName = databaseName - } - - private enum CodingKeys: String, CodingKey { - case functionInput = "FunctionInput" - case functionName = "FunctionName" - case catalogId = "CatalogId" - case databaseName = "DatabaseName" - } - } - - public struct UpdateClassifierRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "GrokClassifier", required: false, type: .structure), - AWSShapeMember(label: "XMLClassifier", required: false, type: .structure) - ] - /// A GrokClassifier object with updated fields. - public let grokClassifier: UpdateGrokClassifierRequest? - /// An XMLClassifier object with updated fields. - public let xMLClassifier: UpdateXMLClassifierRequest? - - public init(grokClassifier: UpdateGrokClassifierRequest? = nil, xMLClassifier: UpdateXMLClassifierRequest? = nil) { - self.grokClassifier = grokClassifier - self.xMLClassifier = xMLClassifier - } - - private enum CodingKeys: String, CodingKey { - case grokClassifier = "GrokClassifier" - case xMLClassifier = "XMLClassifier" - } - } - - public struct TableError: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ErrorDetail", required: false, type: .structure), - AWSShapeMember(label: "TableName", required: false, type: .string) - ] - /// Detail about the error. - public let errorDetail: ErrorDetail? - /// Name of the table. - public let tableName: String? - - public init(errorDetail: ErrorDetail? = nil, tableName: String? = nil) { - self.errorDetail = errorDetail - self.tableName = tableName - } - - private enum CodingKeys: String, CodingKey { - case errorDetail = "ErrorDetail" - case tableName = "TableName" - } - } - - public struct StartCrawlerScheduleResponse: AWSShape { - - } - - public struct GetJobRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobName", required: true, type: .string) - ] - /// The name of the job to retrieve. - public let jobName: String - - public init(jobName: String) { - self.jobName = jobName - } - - private enum CodingKeys: String, CodingKey { - case jobName = "JobName" - } - } - - public struct CreateUserDefinedFunctionResponse: AWSShape { - - } - - public struct ResetJobBookmarkRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobName", required: true, type: .string) - ] - /// The name of the job in question. - public let jobName: String - - public init(jobName: String) { - self.jobName = jobName - } - - private enum CodingKeys: String, CodingKey { - case jobName = "JobName" - } - } - - public struct GetPartitionsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Partitions", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) - ] - /// A list of requested partitions. - public let partitions: [Partition]? - /// A continuation token, if the returned list of partitions does not does not include the last one. - public let nextToken: String? - - public init(partitions: [Partition]? = nil, nextToken: String? = nil) { - self.partitions = partitions - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case partitions = "Partitions" - case nextToken = "NextToken" - } - } - - public struct UpdateCrawlerRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TablePrefix", required: false, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "DatabaseName", required: false, type: .string), - AWSShapeMember(label: "Targets", required: false, type: .structure), - AWSShapeMember(label: "Role", required: false, type: .string), - AWSShapeMember(label: "Configuration", required: false, type: .string), - AWSShapeMember(label: "Schedule", required: false, type: .string), - AWSShapeMember(label: "Classifiers", required: false, type: .list), - AWSShapeMember(label: "SchemaChangePolicy", required: false, type: .structure), - AWSShapeMember(label: "Description", required: false, type: .string) - ] - /// The table prefix used for catalog tables that are created. - public let tablePrefix: String? - /// Name of the new crawler. - public let name: String - /// The AWS Glue database where results are stored, such as: arn:aws:daylight:us-east-1::database/sometable/*. - public let databaseName: String? - /// A list of targets to crawl. - public let targets: CrawlerTargets? - /// The IAM role (or ARN of an IAM role) used by the new crawler to access customer resources. - public let role: String? - /// 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: - public let configuration: String? - /// 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 * * ? *). - public let schedule: String? - /// A list of custom classifiers that the user has registered. By default, all classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification. - public let classifiers: [String]? - /// Policy for the crawler's update and deletion behavior. - public let schemaChangePolicy: SchemaChangePolicy? - /// A description of the new crawler. - public let description: String? - - public init(tablePrefix: String? = nil, name: String, databaseName: String? = nil, targets: CrawlerTargets? = nil, role: String? = nil, configuration: String? = nil, schedule: String? = nil, classifiers: [String]? = nil, schemaChangePolicy: SchemaChangePolicy? = nil, description: String? = nil) { - self.tablePrefix = tablePrefix - self.name = name - self.databaseName = databaseName - self.targets = targets - self.role = role - self.configuration = configuration - self.schedule = schedule - self.classifiers = classifiers - self.schemaChangePolicy = schemaChangePolicy - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case tablePrefix = "TablePrefix" - case name = "Name" - case databaseName = "DatabaseName" - case targets = "Targets" - case role = "Role" - case configuration = "Configuration" - case schedule = "Schedule" - case classifiers = "Classifiers" - case schemaChangePolicy = "SchemaChangePolicy" - case description = "Description" - } - } - - public struct PhysicalConnectionRequirements: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), - AWSShapeMember(label: "SecurityGroupIdList", required: false, type: .list), - AWSShapeMember(label: "SubnetId", required: false, type: .string) - ] - /// The connection's availability zone. - public let availabilityZone: String? - /// The security group ID list used by the connection. - public let securityGroupIdList: [String]? - /// The subnet ID used by the connection. - public let subnetId: String? - - public init(availabilityZone: String? = nil, securityGroupIdList: [String]? = nil, subnetId: String? = nil) { - self.availabilityZone = availabilityZone - self.securityGroupIdList = securityGroupIdList - self.subnetId = subnetId - } - - private enum CodingKeys: String, CodingKey { - case availabilityZone = "AvailabilityZone" - case securityGroupIdList = "SecurityGroupIdList" - case subnetId = "SubnetId" - } - } - - public struct GetJobRunRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobName", required: true, type: .string), - AWSShapeMember(label: "RunId", required: true, type: .string), - AWSShapeMember(label: "PredecessorsIncluded", required: false, type: .boolean) - ] - /// Name of the job being run. - public let jobName: String - /// The ID of the job run. - public let runId: String - /// A list of the predecessor runs to return as well. - public let predecessorsIncluded: Bool? - - public init(jobName: String, runId: String, predecessorsIncluded: Bool? = nil) { - self.jobName = jobName - self.runId = runId - self.predecessorsIncluded = predecessorsIncluded + public let databaseName: String + + public init(functionInput: UserDefinedFunctionInput, functionName: String, catalogId: String? = nil, databaseName: String) { + self.functionInput = functionInput + self.functionName = functionName + self.catalogId = catalogId + self.databaseName = databaseName } private enum CodingKeys: String, CodingKey { - case jobName = "JobName" - case runId = "RunId" - case predecessorsIncluded = "PredecessorsIncluded" + case functionInput = "FunctionInput" + case functionName = "FunctionName" + case catalogId = "CatalogId" + case databaseName = "DatabaseName" } } - public struct DeleteJobResponse: AWSShape { + public struct StartCrawlerScheduleResponse: AWSShape { + + } + + public struct GetJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobName", required: false, type: .string) + AWSShapeMember(label: "JobName", required: true, type: .string) ] - /// The name of the job that was deleted. - public let jobName: String? + /// The name of the job definition to retrieve. + public let jobName: String - public init(jobName: String? = nil) { + public init(jobName: String) { self.jobName = jobName } @@ -2140,112 +3720,50 @@ extension Glue { } } - public struct StorageDescriptor: AWSShape { + public struct ResetJobBookmarkRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InputFormat", required: false, type: .string), - AWSShapeMember(label: "Parameters", required: false, type: .map), - AWSShapeMember(label: "Location", required: false, type: .string), - AWSShapeMember(label: "BucketColumns", required: false, type: .list), - AWSShapeMember(label: "Columns", required: false, type: .list), - AWSShapeMember(label: "SkewedInfo", required: false, type: .structure), - AWSShapeMember(label: "OutputFormat", required: false, type: .string), - AWSShapeMember(label: "StoredAsSubDirectories", required: false, type: .boolean), - AWSShapeMember(label: "SortColumns", required: false, type: .list), - AWSShapeMember(label: "SerdeInfo", required: false, type: .structure), - AWSShapeMember(label: "NumberOfBuckets", required: false, type: .integer), - AWSShapeMember(label: "Compressed", required: false, type: .boolean) + AWSShapeMember(label: "JobName", required: true, type: .string) ] - /// The input format: SequenceFileInputFormat (binary), or TextInputFormat, or a custom format. - public let inputFormat: String? - /// User-supplied properties in key-value form. - public let parameters: [String: String]? - /// 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. - public let location: String? - /// A list of reducer grouping columns, clustering columns, and bucketing columns in the table. - public let bucketColumns: [String]? - /// A list of the Columns in the table. - public let columns: [Column]? - /// Information about values that appear very frequently in a column (skewed values). - public let skewedInfo: SkewedInfo? - /// The output format: SequenceFileOutputFormat (binary), or IgnoreKeyTextOutputFormat, or a custom format. - public let outputFormat: String? - /// True if the table data is stored in subdirectories, or False if not. - public let storedAsSubDirectories: Bool? - /// A list specifying the sort order of each bucket in the table. - public let sortColumns: [Order]? - /// Serialization/deserialization (SerDe) information. - public let serdeInfo: SerDeInfo? - /// Must be specified if the table contains any dimension columns. - public let numberOfBuckets: Int32? - /// True if the data in the table is compressed, or False if not. - public let compressed: Bool? + /// The name of the job in question. + public let jobName: String - public init(inputFormat: String? = nil, parameters: [String: String]? = nil, location: String? = nil, bucketColumns: [String]? = nil, columns: [Column]? = nil, skewedInfo: SkewedInfo? = nil, outputFormat: String? = nil, storedAsSubDirectories: Bool? = nil, sortColumns: [Order]? = nil, serdeInfo: SerDeInfo? = nil, numberOfBuckets: Int32? = nil, compressed: Bool? = nil) { - self.inputFormat = inputFormat - self.parameters = parameters - self.location = location - self.bucketColumns = bucketColumns - self.columns = columns - self.skewedInfo = skewedInfo - self.outputFormat = outputFormat - self.storedAsSubDirectories = storedAsSubDirectories - self.sortColumns = sortColumns - self.serdeInfo = serdeInfo - self.numberOfBuckets = numberOfBuckets - self.compressed = compressed + public init(jobName: String) { + self.jobName = jobName } private enum CodingKeys: String, CodingKey { - case inputFormat = "InputFormat" - case parameters = "Parameters" - case location = "Location" - case bucketColumns = "BucketColumns" - case columns = "Columns" - case skewedInfo = "SkewedInfo" - case outputFormat = "OutputFormat" - case storedAsSubDirectories = "StoredAsSubDirectories" - case sortColumns = "SortColumns" - case serdeInfo = "SerdeInfo" - case numberOfBuckets = "NumberOfBuckets" - case compressed = "Compressed" + case jobName = "JobName" } } - public struct BatchGetPartitionResponse: AWSShape { + public struct PhysicalConnectionRequirements: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "UnprocessedKeys", required: false, type: .list), - AWSShapeMember(label: "Partitions", required: false, type: .list) + AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), + AWSShapeMember(label: "SecurityGroupIdList", required: false, type: .list), + AWSShapeMember(label: "SubnetId", required: false, type: .string) ] - /// A list of the partition values in the request for which partions were not returned. - public let unprocessedKeys: [PartitionValueList]? - /// A list of the requested partitions. - public let partitions: [Partition]? + /// The connection's availability zone. This field is deprecated and has no effect. + public let availabilityZone: String? + /// The security group ID list used by the connection. + public let securityGroupIdList: [String]? + /// The subnet ID used by the connection. + public let subnetId: String? - public init(unprocessedKeys: [PartitionValueList]? = nil, partitions: [Partition]? = nil) { - self.unprocessedKeys = unprocessedKeys - self.partitions = partitions + public init(availabilityZone: String? = nil, securityGroupIdList: [String]? = nil, subnetId: String? = nil) { + self.availabilityZone = availabilityZone + self.securityGroupIdList = securityGroupIdList + self.subnetId = subnetId } private enum CodingKeys: String, CodingKey { - case unprocessedKeys = "UnprocessedKeys" - case partitions = "Partitions" + case availabilityZone = "AvailabilityZone" + case securityGroupIdList = "SecurityGroupIdList" + case subnetId = "SubnetId" } } - public struct GetUserDefinedFunctionResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "UserDefinedFunction", required: false, type: .structure) - ] - /// The requested function definition. - public let userDefinedFunction: UserDefinedFunction? - - public init(userDefinedFunction: UserDefinedFunction? = nil) { - self.userDefinedFunction = userDefinedFunction - } + public struct UpdateCrawlerResponse: AWSShape { - private enum CodingKeys: String, CodingKey { - case userDefinedFunction = "UserDefinedFunction" - } } public struct CodeGenEdge: AWSShape { @@ -2277,12 +3795,15 @@ extension Glue { public struct JobRun: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PredecessorRuns", required: false, type: .list), + AWSShapeMember(label: "ExecutionTime", required: false, type: .integer), AWSShapeMember(label: "CompletedOn", required: false, type: .timestamp), AWSShapeMember(label: "JobRunState", required: false, type: .enum), AWSShapeMember(label: "ErrorMessage", required: false, type: .string), + AWSShapeMember(label: "Timeout", required: false, type: .integer), AWSShapeMember(label: "AllocatedCapacity", required: false, type: .integer), - AWSShapeMember(label: "Id", required: false, type: .string), AWSShapeMember(label: "StartedOn", required: false, type: .timestamp), + AWSShapeMember(label: "NotificationProperty", required: false, type: .structure), + AWSShapeMember(label: "Id", required: false, type: .string), AWSShapeMember(label: "Attempt", required: false, type: .integer), AWSShapeMember(label: "TriggerName", required: false, type: .string), AWSShapeMember(label: "LastModifiedOn", required: false, type: .timestamp), @@ -2292,185 +3813,78 @@ extension Glue { ] /// A list of predecessors to this job run. public let predecessorRuns: [Predecessor]? + /// The amount of time (in seconds) that the job run consumed resources. + public let executionTime: Int32? /// The date and time this job run completed. public let completedOn: TimeStamp? /// The current state of the job run. public let jobRunState: JobRunState? /// An error message associated with this job run. public let errorMessage: String? - /// The amount of infrastructure capacity allocated to this job run. + /// The job run timeout in minutes. + public let timeout: Int32? + /// 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. public let allocatedCapacity: Int32? - /// The ID of this job run. - public let id: String? /// The date and time at which this job run was started. public let startedOn: TimeStamp? - /// The number or the attempt to run this job. + /// Specifies configuration properties of a job run notification. + public let notificationProperty: NotificationProperty? + /// The ID of this job run. + public let id: String? + /// The number of the attempt to run this job. public let attempt: Int32? - /// The name of the trigger for this job run. + /// The name of the trigger that started this job run. public let triggerName: String? /// The last time this job run was modified. public let lastModifiedOn: TimeStamp? - /// The ID of the previous run of this job. + /// The ID of the previous run of this job. For example, the JobRunId specified in the StartJobRun action. public let previousRunId: String? - /// The job arguments associated with this run. + /// 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. public let arguments: [String: String]? - /// The name of the job being run. + /// The name of the job definition being used in this run. public let jobName: String? - public init(predecessorRuns: [Predecessor]? = nil, completedOn: TimeStamp? = nil, jobRunState: JobRunState? = nil, errorMessage: String? = nil, allocatedCapacity: Int32? = nil, id: String? = nil, startedOn: TimeStamp? = nil, attempt: Int32? = nil, triggerName: String? = nil, lastModifiedOn: TimeStamp? = nil, previousRunId: String? = nil, arguments: [String: String]? = nil, jobName: String? = nil) { + public init(predecessorRuns: [Predecessor]? = nil, executionTime: Int32? = nil, completedOn: TimeStamp? = nil, jobRunState: JobRunState? = nil, errorMessage: String? = nil, timeout: Int32? = nil, allocatedCapacity: Int32? = nil, startedOn: TimeStamp? = nil, notificationProperty: NotificationProperty? = nil, id: String? = nil, attempt: Int32? = nil, triggerName: String? = nil, lastModifiedOn: TimeStamp? = nil, previousRunId: String? = nil, arguments: [String: String]? = nil, jobName: String? = nil) { self.predecessorRuns = predecessorRuns + self.executionTime = executionTime self.completedOn = completedOn self.jobRunState = jobRunState self.errorMessage = errorMessage + self.timeout = timeout self.allocatedCapacity = allocatedCapacity - self.id = id self.startedOn = startedOn + self.notificationProperty = notificationProperty + self.id = id self.attempt = attempt - self.triggerName = triggerName - self.lastModifiedOn = lastModifiedOn - self.previousRunId = previousRunId - self.arguments = arguments - self.jobName = jobName - } - - private enum CodingKeys: String, CodingKey { - case predecessorRuns = "PredecessorRuns" - case completedOn = "CompletedOn" - case jobRunState = "JobRunState" - case errorMessage = "ErrorMessage" - case allocatedCapacity = "AllocatedCapacity" - case id = "Id" - case startedOn = "StartedOn" - case attempt = "Attempt" - case triggerName = "TriggerName" - case lastModifiedOn = "LastModifiedOn" - case previousRunId = "PreviousRunId" - case arguments = "Arguments" - case jobName = "JobName" - } - } - - public struct CreateConnectionResponse: AWSShape { - - } - - public struct CodeGenNodeArg: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Value", required: true, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "Param", required: false, type: .boolean) - ] - /// The value of the argument or property. - public let value: String - /// The name of the argument or property. - public let name: String - /// True if the value is used as a parameter. - public let param: Bool? - - public init(value: String, name: String, param: Bool? = nil) { - self.value = value - self.name = name - self.param = param - } - - private enum CodingKeys: String, CodingKey { - case value = "Value" - case name = "Name" - case param = "Param" - } - } - - public struct BatchStopJobRunError: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ErrorDetail", required: false, type: .structure), - AWSShapeMember(label: "JobName", required: false, type: .string), - AWSShapeMember(label: "JobRunId", required: false, type: .string) - ] - /// The details of the error that occurred. - public let errorDetail: ErrorDetail? - /// The name of the job. - public let jobName: String? - /// The job run Id. - public let jobRunId: String? - - public init(errorDetail: ErrorDetail? = nil, jobName: String? = nil, jobRunId: String? = nil) { - self.errorDetail = errorDetail - self.jobName = jobName - self.jobRunId = jobRunId - } - - private enum CodingKeys: String, CodingKey { - case errorDetail = "ErrorDetail" - case jobName = "JobName" - case jobRunId = "JobRunId" - } - } - - public struct CreateConnectionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "ConnectionInput", required: true, type: .structure) - ] - /// The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// A ConnectionInput object defining the connection to create. - public let connectionInput: ConnectionInput - - public init(catalogId: String? = nil, connectionInput: ConnectionInput) { - self.catalogId = catalogId - self.connectionInput = connectionInput - } - - private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - case connectionInput = "ConnectionInput" - } - } - - public struct GetConnectionsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "ConnectionList", required: false, type: .list) - ] - /// A continuation token, if the list of connections returned does not include the last of the filtered connections. - public let nextToken: String? - /// A list of requested connection definitions. - public let connectionList: [Connection]? - - public init(nextToken: String? = nil, connectionList: [Connection]? = nil) { - self.nextToken = nextToken - self.connectionList = connectionList + self.triggerName = triggerName + self.lastModifiedOn = lastModifiedOn + self.previousRunId = previousRunId + self.arguments = arguments + self.jobName = jobName } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case connectionList = "ConnectionList" + case predecessorRuns = "PredecessorRuns" + case executionTime = "ExecutionTime" + case completedOn = "CompletedOn" + case jobRunState = "JobRunState" + case errorMessage = "ErrorMessage" + case timeout = "Timeout" + case allocatedCapacity = "AllocatedCapacity" + case startedOn = "StartedOn" + case notificationProperty = "NotificationProperty" + case id = "Id" + case attempt = "Attempt" + case triggerName = "TriggerName" + case lastModifiedOn = "LastModifiedOn" + case previousRunId = "PreviousRunId" + case arguments = "Arguments" + case jobName = "JobName" } } - public struct UpdateCrawlerResponse: AWSShape { - - } - - public struct GetCrawlersResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Crawlers", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) - ] - /// A list of crawler metadata. - public let crawlers: [Crawler]? - /// A continuation token, if the returned list has not reached the end of those defined in this customer account. - public let nextToken: String? - - public init(crawlers: [Crawler]? = nil, nextToken: String? = nil) { - self.crawlers = crawlers - self.nextToken = nextToken - } + public struct CreateConnectionResponse: AWSShape { - private enum CodingKeys: String, CodingKey { - case crawlers = "Crawlers" - case nextToken = "NextToken" - } } public struct Predicate: AWSShape { @@ -2478,7 +3892,7 @@ extension Glue { AWSShapeMember(label: "Logical", required: false, type: .enum), AWSShapeMember(label: "Conditions", required: false, type: .list) ] - /// Currently "OR" is not supported. + /// Optional field if only one condition is listed. If multiple conditions are listed, then this field is required. public let logical: Logical? /// A list of the conditions that determine when the trigger will fire. public let conditions: [Condition]? @@ -2494,64 +3908,24 @@ extension Glue { } } - public struct CreateCrawlerRequest: AWSShape { + public struct GetCrawlersResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TablePrefix", required: false, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "DatabaseName", required: true, type: .string), - AWSShapeMember(label: "Targets", required: true, type: .structure), - AWSShapeMember(label: "Role", required: true, type: .string), - AWSShapeMember(label: "Configuration", required: false, type: .string), - AWSShapeMember(label: "Schedule", required: false, type: .string), - AWSShapeMember(label: "Classifiers", required: false, type: .list), - AWSShapeMember(label: "SchemaChangePolicy", required: false, type: .structure), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "Crawlers", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// The table prefix used for catalog tables that are created. - public let tablePrefix: String? - /// Name of the new crawler. - public let name: String - /// The AWS Glue database where results are written, such as: arn:aws:daylight:us-east-1::database/sometable/*. - public let databaseName: String - /// A list of collection of targets to crawl. - public let targets: CrawlerTargets - /// The IAM role (or ARN of an IAM role) used by the new crawler to access customer resources. - public let role: String - /// 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. - public let configuration: String? - /// 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 * * ? *). - public let schedule: String? - /// A list of custom classifiers that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification. - public let classifiers: [String]? - /// Policy for the crawler's update and deletion behavior. - public let schemaChangePolicy: SchemaChangePolicy? - /// A description of the new crawler. - public let description: String? + /// A list of crawler metadata. + public let crawlers: [Crawler]? + /// A continuation token, if the returned list has not reached the end of those defined in this customer account. + public let nextToken: String? - public init(tablePrefix: String? = nil, name: String, databaseName: String, targets: CrawlerTargets, role: String, configuration: String? = nil, schedule: String? = nil, classifiers: [String]? = nil, schemaChangePolicy: SchemaChangePolicy? = nil, description: String? = nil) { - self.tablePrefix = tablePrefix - self.name = name - self.databaseName = databaseName - self.targets = targets - self.role = role - self.configuration = configuration - self.schedule = schedule - self.classifiers = classifiers - self.schemaChangePolicy = schemaChangePolicy - self.description = description + public init(crawlers: [Crawler]? = nil, nextToken: String? = nil) { + self.crawlers = crawlers + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case tablePrefix = "TablePrefix" - case name = "Name" - case databaseName = "DatabaseName" - case targets = "Targets" - case role = "Role" - case configuration = "Configuration" - case schedule = "Schedule" - case classifiers = "Classifiers" - case schemaChangePolicy = "SchemaChangePolicy" - case description = "Description" + case crawlers = "Crawlers" + case nextToken = "NextToken" } } @@ -2575,7 +3949,7 @@ extension Glue { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxConcurrentRuns", required: false, type: .integer) ] - /// The maximum number of concurrent runs allowed for a job. + /// 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. public let maxConcurrentRuns: Int32? public init(maxConcurrentRuns: Int32? = nil) { @@ -2587,22 +3961,6 @@ extension Glue { } } - public struct GetCatalogImportStatusResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ImportStatus", required: false, type: .structure) - ] - /// The status of the specified catalog migration. - public let importStatus: CatalogImportStatus? - - public init(importStatus: CatalogImportStatus? = nil) { - self.importStatus = importStatus - } - - private enum CodingKeys: String, CodingKey { - case importStatus = "ImportStatus" - } - } - public struct BatchCreatePartitionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Errors", required: false, type: .list) @@ -2650,69 +4008,33 @@ extension Glue { } } - public struct ImportCatalogToGlueRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CatalogId", required: false, type: .string) - ] - /// The ID of the catalog to import. Currently, this should be the AWS account ID. - public let catalogId: String? - - public init(catalogId: String? = nil) { - self.catalogId = catalogId - } - - private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - } - } - - public struct UpdatePartitionResponse: AWSShape { - - } - public struct CreateScriptRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DagEdges", required: false, type: .list), + AWSShapeMember(label: "Language", required: false, type: .enum), AWSShapeMember(label: "DagNodes", required: false, type: .list) ] /// A list of the edges in the DAG. public let dagEdges: [CodeGenEdge]? + /// The programming language of the resulting code from the DAG. + public let language: Language? /// A list of the nodes in the DAG. public let dagNodes: [CodeGenNode]? - public init(dagEdges: [CodeGenEdge]? = nil, dagNodes: [CodeGenNode]? = nil) { + public init(dagEdges: [CodeGenEdge]? = nil, language: Language? = nil, dagNodes: [CodeGenNode]? = nil) { self.dagEdges = dagEdges + self.language = language self.dagNodes = dagNodes } private enum CodingKeys: String, CodingKey { case dagEdges = "DagEdges" + case language = "Language" case dagNodes = "DagNodes" } } - public struct UpdateJobRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobUpdate", required: true, type: .structure), - AWSShapeMember(label: "JobName", required: true, type: .string) - ] - /// Specifies the values with which to update the job. - public let jobUpdate: JobUpdate - /// Name of the job definition to update. - public let jobName: String - - public init(jobUpdate: JobUpdate, jobName: String) { - self.jobUpdate = jobUpdate - self.jobName = jobName - } - - private enum CodingKeys: String, CodingKey { - case jobUpdate = "JobUpdate" - case jobName = "JobName" - } - } - - public struct UpdateTableResponse: AWSShape { + public struct UpdatePartitionResponse: AWSShape { } @@ -2720,56 +4042,14 @@ extension Glue { } - public struct UpdateTableRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "TableInput", required: true, type: .structure), - AWSShapeMember(label: "DatabaseName", required: true, type: .string) - ] - /// The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// An updated TableInput object to define the metadata table in the catalog. - public let tableInput: TableInput - /// The name of the catalog database in which the table resides. - public let databaseName: String - - public init(catalogId: String? = nil, tableInput: TableInput, databaseName: String) { - self.catalogId = catalogId - self.tableInput = tableInput - self.databaseName = databaseName - } - - private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - case tableInput = "TableInput" - case databaseName = "DatabaseName" - } - } - - public struct GetPlanResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PythonScript", required: false, type: .string) - ] - /// A Python script to perform the mapping. - public let pythonScript: String? - - public init(pythonScript: String? = nil) { - self.pythonScript = pythonScript - } - - private enum CodingKeys: String, CodingKey { - case pythonScript = "PythonScript" - } - } - public struct Predecessor: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RunId", required: false, type: .string), AWSShapeMember(label: "JobName", required: false, type: .string) ] - /// The job-run ID of the precessor job run. + /// The job-run ID of the predecessor job run. public let runId: String? - /// The name of the predecessor job. + /// The name of the job definition used by the predecessor job run. public let jobName: String? public init(runId: String? = nil, jobName: String? = nil) { @@ -2778,73 +4058,24 @@ extension Glue { } private enum CodingKeys: String, CodingKey { - case runId = "RunId" - case jobName = "JobName" - } - } - - public struct GetTriggerResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Trigger", required: false, type: .structure) - ] - /// The requested trigger definition. - public let trigger: Trigger? - - public init(trigger: Trigger? = nil) { - self.trigger = trigger - } - - private enum CodingKeys: String, CodingKey { - case trigger = "Trigger" - } - } - - public enum TriggerState: String, CustomStringConvertible, Codable { - case creating = "CREATING" - case created = "CREATED" - case activating = "ACTIVATING" - case activated = "ACTIVATED" - case deactivating = "DEACTIVATING" - case deactivated = "DEACTIVATED" - case deleting = "DELETING" - case updating = "UPDATING" - public var description: String { return self.rawValue } - } - - public struct Segment: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TotalSegments", required: true, type: .integer), - AWSShapeMember(label: "SegmentNumber", required: true, type: .integer) - ] - /// The total numer of segments. - public let totalSegments: Int32 - /// 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. - public let segmentNumber: Int32 - - public init(totalSegments: Int32, segmentNumber: Int32) { - self.totalSegments = totalSegments - self.segmentNumber = segmentNumber - } - - private enum CodingKeys: String, CodingKey { - case totalSegments = "TotalSegments" - case segmentNumber = "SegmentNumber" + case runId = "RunId" + case jobName = "JobName" } } - public struct ConnectionsList: AWSShape { + public struct GetTriggerResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Connections", required: false, type: .list) + AWSShapeMember(label: "Trigger", required: false, type: .structure) ] - /// A list of connections used by the job. - public let connections: [String]? + /// The requested trigger definition. + public let trigger: Trigger? - public init(connections: [String]? = nil) { - self.connections = connections + public init(trigger: Trigger? = nil) { + self.trigger = trigger } private enum CodingKeys: String, CodingKey { - case connections = "Connections" + case trigger = "Trigger" } } @@ -2867,52 +4098,52 @@ extension Glue { public struct CreateClassifierRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GrokClassifier", required: false, type: .structure), - AWSShapeMember(label: "XMLClassifier", required: false, type: .structure) + AWSShapeMember(label: "XMLClassifier", required: false, type: .structure), + AWSShapeMember(label: "JsonClassifier", required: false, type: .structure) ] /// A GrokClassifier object specifying the classifier to create. public let grokClassifier: CreateGrokClassifierRequest? /// An XMLClassifier object specifying the classifier to create. public let xMLClassifier: CreateXMLClassifierRequest? + /// A JsonClassifier object specifying the classifier to create. + public let jsonClassifier: CreateJsonClassifierRequest? - public init(grokClassifier: CreateGrokClassifierRequest? = nil, xMLClassifier: CreateXMLClassifierRequest? = nil) { + public init(grokClassifier: CreateGrokClassifierRequest? = nil, xMLClassifier: CreateXMLClassifierRequest? = nil, jsonClassifier: CreateJsonClassifierRequest? = nil) { self.grokClassifier = grokClassifier self.xMLClassifier = xMLClassifier + self.jsonClassifier = jsonClassifier } private enum CodingKeys: String, CodingKey { case grokClassifier = "GrokClassifier" case xMLClassifier = "XMLClassifier" + case jsonClassifier = "JsonClassifier" } } - public struct DeletePartitionRequest: AWSShape { + public struct TableVersionError: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PartitionValues", required: true, type: .list), - AWSShapeMember(label: "TableName", required: true, type: .string), - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "DatabaseName", required: true, type: .string) + AWSShapeMember(label: "ErrorDetail", required: false, type: .structure), + AWSShapeMember(label: "VersionId", required: false, type: .string), + AWSShapeMember(label: "TableName", required: false, type: .string) ] - /// The values that define the partition. - public let partitionValues: [String] - /// The name of the table where the partition to be deleted is located. - public let tableName: String - /// 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. - public let catalogId: String? - /// The name of the catalog database in which the table in question resides. - public let databaseName: String + /// Detail about the error. + public let errorDetail: ErrorDetail? + /// The ID value of the version in question. + public let versionId: String? + /// The name of the table in question. + public let tableName: String? - public init(partitionValues: [String], tableName: String, catalogId: String? = nil, databaseName: String) { - self.partitionValues = partitionValues + public init(errorDetail: ErrorDetail? = nil, versionId: String? = nil, tableName: String? = nil) { + self.errorDetail = errorDetail + self.versionId = versionId self.tableName = tableName - self.catalogId = catalogId - self.databaseName = databaseName } private enum CodingKeys: String, CodingKey { - case partitionValues = "PartitionValues" + case errorDetail = "ErrorDetail" + case versionId = "VersionId" case tableName = "TableName" - case catalogId = "CatalogId" - case databaseName = "DatabaseName" } } @@ -2952,67 +4183,6 @@ extension Glue { } } - public struct CreateXMLClassifierRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Classification", required: true, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "RowTag", required: false, type: .string) - ] - /// An identifier of the data format that the classifier matches. - public let classification: String - /// The name of the classifier. - public let name: String - /// The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot be an empty element. It must contain child elements representing fields in the record. - public let rowTag: String? - - public init(classification: String, name: String, rowTag: String? = nil) { - self.classification = classification - self.name = name - self.rowTag = rowTag - } - - private enum CodingKeys: String, CodingKey { - case classification = "Classification" - case name = "Name" - case rowTag = "RowTag" - } - } - - public struct UpdateCrawlerScheduleResponse: AWSShape { - - } - - public enum ConnectionPropertyKey: String, CustomStringConvertible, Codable { - case host = "HOST" - case port = "PORT" - case username = "USERNAME" - case password = "PASSWORD" - case jdbcDriverJarUri = "JDBC_DRIVER_JAR_URI" - case jdbcDriverClassName = "JDBC_DRIVER_CLASS_NAME" - case jdbcEngine = "JDBC_ENGINE" - case jdbcEngineVersion = "JDBC_ENGINE_VERSION" - case configFiles = "CONFIG_FILES" - case instanceId = "INSTANCE_ID" - case jdbcConnectionUrl = "JDBC_CONNECTION_URL" - public var description: String { return self.rawValue } - } - - public struct GetJobRunResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobRun", required: false, type: .structure) - ] - /// The requested job-run metadata. - public let jobRun: JobRun? - - public init(jobRun: JobRun? = nil) { - self.jobRun = jobRun - } - - private enum CodingKeys: String, CodingKey { - case jobRun = "JobRun" - } - } - public struct CrawlerMetrics: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TablesDeleted", required: false, type: .integer), @@ -3064,6 +4234,10 @@ extension Glue { } } + public struct UpdateCrawlerScheduleResponse: AWSShape { + + } + public struct GetPartitionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Partition", required: false, type: .structure) @@ -3095,7 +4269,7 @@ extension Glue { public let lastUpdated: TimeStamp? /// The time this classifier was registered. public let creationTime: TimeStamp? - /// The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot be an empty element. It must contain child elements representing fields in the record. + /// 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). public let rowTag: String? /// The name of the classifier. public let name: String @@ -3163,22 +4337,6 @@ extension Glue { } - public struct BatchDeleteTableResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Errors", required: false, type: .list) - ] - /// A list of errors encountered in attempting to delete the specified tables. - public let errors: [TableError]? - - public init(errors: [TableError]? = nil) { - self.errors = errors - } - - private enum CodingKeys: String, CodingKey { - case errors = "Errors" - } - } - public struct GetTablesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -3203,21 +4361,26 @@ extension Glue { public struct Classifier: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GrokClassifier", required: false, type: .structure), - AWSShapeMember(label: "XMLClassifier", required: false, type: .structure) + AWSShapeMember(label: "XMLClassifier", required: false, type: .structure), + AWSShapeMember(label: "JsonClassifier", required: false, type: .structure) ] /// A GrokClassifier object. public let grokClassifier: GrokClassifier? /// An XMLClassifier object. public let xMLClassifier: XMLClassifier? + /// A JsonClassifier object. + public let jsonClassifier: JsonClassifier? - public init(grokClassifier: GrokClassifier? = nil, xMLClassifier: XMLClassifier? = nil) { + public init(grokClassifier: GrokClassifier? = nil, xMLClassifier: XMLClassifier? = nil, jsonClassifier: JsonClassifier? = nil) { self.grokClassifier = grokClassifier self.xMLClassifier = xMLClassifier + self.jsonClassifier = jsonClassifier } private enum CodingKeys: String, CodingKey { case grokClassifier = "GrokClassifier" case xMLClassifier = "XMLClassifier" + case jsonClassifier = "JsonClassifier" } } @@ -3316,7 +4479,7 @@ extension Glue { public let viewOriginalText: String? /// Properties associated with this table, as a list of key-value pairs. public let parameters: [String: String]? - /// Name of the table. + /// Name of the table. For Hive compatibility, this is folded to lowercase when it is stored. public let name: String /// A list of columns by which the table is partitioned. Only primitive types are supported as partition keys. public let partitionKeys: [Column]? @@ -3366,13 +4529,6 @@ extension Glue { } } - public enum ResourceType: String, CustomStringConvertible, Codable { - case jar = "JAR" - case file = "FILE" - case archive = "ARCHIVE" - public var description: String { return self.rawValue } - } - public struct DeleteCrawlerResponse: AWSShape { } @@ -3400,160 +4556,68 @@ extension Glue { public let extraPythonLibsS3Path: String? /// The security groups assigned to the new DevEndpoint. public let securityGroupIds: [String]? - /// The name assigned to the new DevEndpoint. - public let endpointName: String? - /// The AWS availability zone where this DevEndpoint is located. - public let availabilityZone: String? - /// The point in time at which this DevEndpoint was created. - public let createdTimestamp: TimeStamp? - /// The current status of the new DevEndpoint. - public let status: String? - /// The Apache Zeppelin port for the remote Apache Spark interpreter. - public let zeppelinRemoteSparkInterpreterPort: Int32? - /// The ID of the VPC used by this DevEndpoint. - public let vpcId: String? - /// The address of the YARN endpoint used by this DevEndpoint. - public let yarnEndpointAddress: String? - /// The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint. - public let numberOfNodes: Int32? - /// Path to one or more Java Jars in an S3 bucket that will be loaded in your DevEndpoint. - public let extraJarsS3Path: String? - /// The reason for a current failure in this DevEndpoint. - public let failureReason: String? - /// The AWS ARN of the role assigned to the new DevEndpoint. - public let roleArn: String? - - public init(subnetId: String? = nil, extraPythonLibsS3Path: String? = nil, securityGroupIds: [String]? = nil, endpointName: String? = nil, availabilityZone: String? = nil, createdTimestamp: TimeStamp? = nil, status: String? = nil, zeppelinRemoteSparkInterpreterPort: Int32? = nil, vpcId: String? = nil, yarnEndpointAddress: String? = nil, numberOfNodes: Int32? = nil, extraJarsS3Path: String? = nil, failureReason: String? = nil, roleArn: String? = nil) { - self.subnetId = subnetId - self.extraPythonLibsS3Path = extraPythonLibsS3Path - self.securityGroupIds = securityGroupIds - self.endpointName = endpointName - self.availabilityZone = availabilityZone - self.createdTimestamp = createdTimestamp - self.status = status - self.zeppelinRemoteSparkInterpreterPort = zeppelinRemoteSparkInterpreterPort - self.vpcId = vpcId - self.yarnEndpointAddress = yarnEndpointAddress - self.numberOfNodes = numberOfNodes - self.extraJarsS3Path = extraJarsS3Path - self.failureReason = failureReason - self.roleArn = roleArn - } - - private enum CodingKeys: String, CodingKey { - case subnetId = "SubnetId" - case extraPythonLibsS3Path = "ExtraPythonLibsS3Path" - case securityGroupIds = "SecurityGroupIds" - case endpointName = "EndpointName" - case availabilityZone = "AvailabilityZone" - case createdTimestamp = "CreatedTimestamp" - case status = "Status" - case zeppelinRemoteSparkInterpreterPort = "ZeppelinRemoteSparkInterpreterPort" - case vpcId = "VpcId" - case yarnEndpointAddress = "YarnEndpointAddress" - case numberOfNodes = "NumberOfNodes" - case extraJarsS3Path = "ExtraJarsS3Path" - case failureReason = "FailureReason" - case roleArn = "RoleArn" - } - } - - public struct GetTableRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "DatabaseName", required: true, type: .string) - ] - /// The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// The name of the table for which to retrieve the definition. - public let name: String - /// The name of the database in the catalog in which the table resides. - public let databaseName: String - - public init(catalogId: String? = nil, name: String, databaseName: String) { - self.catalogId = catalogId - self.name = name - self.databaseName = databaseName - } - - private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - case name = "Name" - case databaseName = "DatabaseName" - } - } - - public struct CreateDatabaseResponse: AWSShape { - - } - - public struct DeleteUserDefinedFunctionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "FunctionName", required: true, type: .string), - AWSShapeMember(label: "DatabaseName", required: true, type: .string) - ] - /// 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. - public let catalogId: String? - /// The name of the function definition to be deleted. - public let functionName: String - /// The name of the catalog database where the function is located. - public let databaseName: String - - public init(catalogId: String? = nil, functionName: String, databaseName: String) { - self.catalogId = catalogId - self.functionName = functionName - self.databaseName = databaseName - } - - private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - case functionName = "FunctionName" - case databaseName = "DatabaseName" - } - } - - public struct GetClassifiersResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Classifiers", required: false, type: .list) - ] - /// A continuation token. - public let nextToken: String? - /// The requested list of classifier objects. - public let classifiers: [Classifier]? + /// The name assigned to the new DevEndpoint. + public let endpointName: String? + /// The AWS availability zone where this DevEndpoint is located. + public let availabilityZone: String? + /// The point in time at which this DevEndpoint was created. + public let createdTimestamp: TimeStamp? + /// The current status of the new DevEndpoint. + public let status: String? + /// The Apache Zeppelin port for the remote Apache Spark interpreter. + public let zeppelinRemoteSparkInterpreterPort: Int32? + /// The ID of the VPC used by this DevEndpoint. + public let vpcId: String? + /// The address of the YARN endpoint used by this DevEndpoint. + public let yarnEndpointAddress: String? + /// The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint. + public let numberOfNodes: Int32? + /// Path to one or more Java Jars in an S3 bucket that will be loaded in your DevEndpoint. + public let extraJarsS3Path: String? + /// The reason for a current failure in this DevEndpoint. + public let failureReason: String? + /// The AWS ARN of the role assigned to the new DevEndpoint. + public let roleArn: String? - public init(nextToken: String? = nil, classifiers: [Classifier]? = nil) { - self.nextToken = nextToken - self.classifiers = classifiers + public init(subnetId: String? = nil, extraPythonLibsS3Path: String? = nil, securityGroupIds: [String]? = nil, endpointName: String? = nil, availabilityZone: String? = nil, createdTimestamp: TimeStamp? = nil, status: String? = nil, zeppelinRemoteSparkInterpreterPort: Int32? = nil, vpcId: String? = nil, yarnEndpointAddress: String? = nil, numberOfNodes: Int32? = nil, extraJarsS3Path: String? = nil, failureReason: String? = nil, roleArn: String? = nil) { + self.subnetId = subnetId + self.extraPythonLibsS3Path = extraPythonLibsS3Path + self.securityGroupIds = securityGroupIds + self.endpointName = endpointName + self.availabilityZone = availabilityZone + self.createdTimestamp = createdTimestamp + self.status = status + self.zeppelinRemoteSparkInterpreterPort = zeppelinRemoteSparkInterpreterPort + self.vpcId = vpcId + self.yarnEndpointAddress = yarnEndpointAddress + self.numberOfNodes = numberOfNodes + self.extraJarsS3Path = extraJarsS3Path + self.failureReason = failureReason + self.roleArn = roleArn } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case classifiers = "Classifiers" + case subnetId = "SubnetId" + case extraPythonLibsS3Path = "ExtraPythonLibsS3Path" + case securityGroupIds = "SecurityGroupIds" + case endpointName = "EndpointName" + case availabilityZone = "AvailabilityZone" + case createdTimestamp = "CreatedTimestamp" + case status = "Status" + case zeppelinRemoteSparkInterpreterPort = "ZeppelinRemoteSparkInterpreterPort" + case vpcId = "VpcId" + case yarnEndpointAddress = "YarnEndpointAddress" + case numberOfNodes = "NumberOfNodes" + case extraJarsS3Path = "ExtraJarsS3Path" + case failureReason = "FailureReason" + case roleArn = "RoleArn" } } - public struct GetTriggersResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Triggers", required: false, type: .list) - ] - /// A continuation token, if not all the requested triggers have yet been returned. - public let nextToken: String? - /// A list of triggers for the specified job. - public let triggers: [Trigger]? - - public init(nextToken: String? = nil, triggers: [Trigger]? = nil) { - self.nextToken = nextToken - self.triggers = triggers - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case triggers = "Triggers" - } + public enum Language: String, CustomStringConvertible, Codable { + case python = "PYTHON" + case scala = "SCALA" + public var description: String { return self.rawValue } } public struct Table: AWSShape { @@ -3595,11 +4659,11 @@ extension Glue { public let description: String? /// Properties associated with this table, as a list of key-value pairs. public let parameters: [String: String]? - /// Name of the table. + /// Name of the table. For Hive compatibility, this must be entirely lowercase. public let name: String /// A list of columns by which the table is partitioned. Only primitive types are supported as partition keys. public let partitionKeys: [Column]? - /// Name of the metadata database where the table metadata resides. + /// Name of the metadata database where the table metadata resides. For Hive compatibility, this must be all lowercase. public let databaseName: String? /// A storage descriptor containing information about the physical storage of this table. public let storageDescriptor: StorageDescriptor? @@ -3668,22 +4732,6 @@ extension Glue { } } - public struct UpdateJobResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobName", required: false, type: .string) - ] - /// Returns the name of the updated job. - public let jobName: String? - - public init(jobName: String? = nil) { - self.jobName = jobName - } - - private enum CodingKeys: String, CodingKey { - case jobName = "JobName" - } - } - public struct Database: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CreateTime", required: false, type: .timestamp), @@ -3696,7 +4744,7 @@ extension Glue { public let createTime: TimeStamp? /// A list of key-value pairs that define parameters and properties of the database. public let parameters: [String: String]? - /// Name of the database. + /// Name of the database. For Hive compatibility, this is folded to lowercase when it is stored. public let name: String /// The location of the database (for example, an HDFS path). public let locationUri: String? @@ -3707,334 +4755,149 @@ extension Glue { self.createTime = createTime self.parameters = parameters self.name = name - self.locationUri = locationUri - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case createTime = "CreateTime" - case parameters = "Parameters" - case name = "Name" - case locationUri = "LocationUri" - case description = "Description" - } - } - - public struct CodeGenNode: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NodeType", required: true, type: .string), - AWSShapeMember(label: "Args", required: true, type: .list), - AWSShapeMember(label: "LineNumber", required: false, type: .integer), - AWSShapeMember(label: "Id", required: true, type: .string) - ] - /// The type of node this is. - public let nodeType: String - /// Properties of the node, in the form of name-value pairs. - public let args: [CodeGenNodeArg] - /// The line number of the node. - public let lineNumber: Int32? - /// A node identifier that is unique within the node's graph. - public let id: String - - public init(nodeType: String, args: [CodeGenNodeArg], lineNumber: Int32? = nil, id: String) { - self.nodeType = nodeType - self.args = args - self.lineNumber = lineNumber - self.id = id - } - - private enum CodingKeys: String, CodingKey { - case nodeType = "NodeType" - case args = "Args" - case lineNumber = "LineNumber" - case id = "Id" - } - } - - public struct Schedule: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "State", required: false, type: .enum), - AWSShapeMember(label: "ScheduleExpression", required: false, type: .string) - ] - /// The state of the schedule. - public let state: ScheduleState? - /// 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 * * ? *). - public let scheduleExpression: String? - - public init(state: ScheduleState? = nil, scheduleExpression: String? = nil) { - self.state = state - self.scheduleExpression = scheduleExpression - } - - private enum CodingKeys: String, CodingKey { - case state = "State" - case scheduleExpression = "ScheduleExpression" - } - } - - public struct BatchStopJobRunResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SuccessfulSubmissions", required: false, type: .list), - AWSShapeMember(label: "Errors", required: false, type: .list) - ] - /// A list of job runs which are successfully submitted for stopping. - public let successfulSubmissions: [BatchStopJobRunSuccessfulSubmission]? - /// A list containing the job run Ids and details of the error that occurred for each job run while submitting to stop. - public let errors: [BatchStopJobRunError]? - - public init(successfulSubmissions: [BatchStopJobRunSuccessfulSubmission]? = nil, errors: [BatchStopJobRunError]? = nil) { - self.successfulSubmissions = successfulSubmissions - self.errors = errors - } - - private enum CodingKeys: String, CodingKey { - case successfulSubmissions = "SuccessfulSubmissions" - case errors = "Errors" - } - } - - public struct DeleteClassifierRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string) - ] - /// Name of the classifier to remove. - public let name: String - - public init(name: String) { - self.name = name - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - } - } - - public struct TriggerUpdate: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Actions", required: false, type: .list), - AWSShapeMember(label: "Schedule", required: false, type: .string), - AWSShapeMember(label: "Predicate", required: false, type: .structure), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string) - ] - /// The actions initiated by this trigger. - public let actions: [Action]? - /// An 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 * * ? *). - public let schedule: String? - /// The predicate of this trigger, which defines when it will fire. - public let predicate: Predicate? - /// The name of the trigger. - public let name: String? - /// A description of this trigger. - public let description: String? - - public init(actions: [Action]? = nil, schedule: String? = nil, predicate: Predicate? = nil, name: String? = nil, description: String? = nil) { - self.actions = actions - self.schedule = schedule - self.predicate = predicate - self.name = name - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case actions = "Actions" - case schedule = "Schedule" - case predicate = "Predicate" - case name = "Name" - case description = "Description" - } - } - - public struct DeleteConnectionResponse: AWSShape { - - } - - public struct MappingEntry: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SourceTable", required: false, type: .string), - AWSShapeMember(label: "TargetTable", required: false, type: .string), - AWSShapeMember(label: "TargetType", required: false, type: .string), - AWSShapeMember(label: "TargetPath", required: false, type: .string), - AWSShapeMember(label: "SourcePath", required: false, type: .string), - AWSShapeMember(label: "SourceType", required: false, type: .string) - ] - /// The name of the source table. - public let sourceTable: String? - /// The target table. - public let targetTable: String? - /// The target type. - public let targetType: String? - /// The target path. - public let targetPath: String? - /// The source path. - public let sourcePath: String? - /// The source type. - public let sourceType: String? - - public init(sourceTable: String? = nil, targetTable: String? = nil, targetType: String? = nil, targetPath: String? = nil, sourcePath: String? = nil, sourceType: String? = nil) { - self.sourceTable = sourceTable - self.targetTable = targetTable - self.targetType = targetType - self.targetPath = targetPath - self.sourcePath = sourcePath - self.sourceType = sourceType + self.locationUri = locationUri + self.description = description } private enum CodingKeys: String, CodingKey { - case sourceTable = "SourceTable" - case targetTable = "TargetTable" - case targetType = "TargetType" - case targetPath = "TargetPath" - case sourcePath = "SourcePath" - case sourceType = "SourceType" + case createTime = "CreateTime" + case parameters = "Parameters" + case name = "Name" + case locationUri = "LocationUri" + case description = "Description" } } - public struct CreateDevEndpointRequest: AWSShape { + public struct CodeGenNode: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SubnetId", required: false, type: .string), - AWSShapeMember(label: "PublicKey", required: true, type: .string), - AWSShapeMember(label: "ExtraPythonLibsS3Path", required: false, type: .string), - AWSShapeMember(label: "SecurityGroupIds", required: false, type: .list), - AWSShapeMember(label: "EndpointName", required: true, type: .string), - AWSShapeMember(label: "NumberOfNodes", required: false, type: .integer), - AWSShapeMember(label: "ExtraJarsS3Path", required: false, type: .string), - AWSShapeMember(label: "RoleArn", required: true, type: .string) + AWSShapeMember(label: "Id", required: true, type: .string), + AWSShapeMember(label: "NodeType", required: true, type: .string), + AWSShapeMember(label: "Args", required: true, type: .list), + AWSShapeMember(label: "LineNumber", required: false, type: .integer) ] - /// The subnet ID for the new DevEndpoint to use. - public let subnetId: String? - /// The public key to use for authentication. - public let publicKey: String - /// 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. - public let extraPythonLibsS3Path: String? - /// Security group IDs for the security groups to be used by the new DevEndpoint. - public let securityGroupIds: [String]? - /// The name to be assigned to the new DevEndpoint. - public let endpointName: String - /// The number of AWS Glue Data Processing Units (DPUs) to allocate to this DevEndpoint. - public let numberOfNodes: Int32? - /// Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. - public let extraJarsS3Path: String? - /// The IAM role for the DevEndpoint. - public let roleArn: String + /// A node identifier that is unique within the node's graph. + public let id: String + /// The type of node this is. + public let nodeType: String + /// Properties of the node, in the form of name-value pairs. + public let args: [CodeGenNodeArg] + /// The line number of the node. + public let lineNumber: Int32? - public init(subnetId: String? = nil, publicKey: String, extraPythonLibsS3Path: String? = nil, securityGroupIds: [String]? = nil, endpointName: String, numberOfNodes: Int32? = nil, extraJarsS3Path: String? = nil, roleArn: String) { - self.subnetId = subnetId - self.publicKey = publicKey - self.extraPythonLibsS3Path = extraPythonLibsS3Path - self.securityGroupIds = securityGroupIds - self.endpointName = endpointName - self.numberOfNodes = numberOfNodes - self.extraJarsS3Path = extraJarsS3Path - self.roleArn = roleArn + public init(id: String, nodeType: String, args: [CodeGenNodeArg], lineNumber: Int32? = nil) { + self.id = id + self.nodeType = nodeType + self.args = args + self.lineNumber = lineNumber } private enum CodingKeys: String, CodingKey { - case subnetId = "SubnetId" - case publicKey = "PublicKey" - case extraPythonLibsS3Path = "ExtraPythonLibsS3Path" - case securityGroupIds = "SecurityGroupIds" - case endpointName = "EndpointName" - case numberOfNodes = "NumberOfNodes" - case extraJarsS3Path = "ExtraJarsS3Path" - case roleArn = "RoleArn" + case id = "Id" + case nodeType = "NodeType" + case args = "Args" + case lineNumber = "LineNumber" } } - public struct GetDevEndpointsRequest: AWSShape { + public struct Schedule: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "State", required: false, type: .enum), + AWSShapeMember(label: "ScheduleExpression", required: false, type: .string) ] - /// A continuation token, if this is a continuation call. - public let nextToken: String? - /// The maximum size of information to return. - public let maxResults: Int32? + /// The state of the schedule. + public let state: ScheduleState? + /// 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 * * ? *). + public let scheduleExpression: String? - public init(nextToken: String? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.maxResults = maxResults + public init(state: ScheduleState? = nil, scheduleExpression: String? = nil) { + self.state = state + self.scheduleExpression = scheduleExpression } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case maxResults = "MaxResults" + case state = "State" + case scheduleExpression = "ScheduleExpression" } } - public struct CreateJobResponse: AWSShape { + public struct BatchStopJobRunResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: false, type: .string) + AWSShapeMember(label: "SuccessfulSubmissions", required: false, type: .list), + AWSShapeMember(label: "Errors", required: false, type: .list) ] - /// The unique name of the new job that has been created. - public let name: String? + /// A list of the JobRuns that were successfully submitted for stopping. + public let successfulSubmissions: [BatchStopJobRunSuccessfulSubmission]? + /// 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. + public let errors: [BatchStopJobRunError]? - public init(name: String? = nil) { - self.name = name + public init(successfulSubmissions: [BatchStopJobRunSuccessfulSubmission]? = nil, errors: [BatchStopJobRunError]? = nil) { + self.successfulSubmissions = successfulSubmissions + self.errors = errors } private enum CodingKeys: String, CodingKey { - case name = "Name" + case successfulSubmissions = "SuccessfulSubmissions" + case errors = "Errors" } } - public struct BatchDeleteTableRequest: AWSShape { + public struct DeleteClassifierRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "TablesToDelete", required: true, type: .list), - AWSShapeMember(label: "DatabaseName", required: true, type: .string) + AWSShapeMember(label: "Name", required: true, type: .string) ] - /// The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// A list of the table to delete. - public let tablesToDelete: [String] - /// The name of the catalog database where the tables to delete reside. - public let databaseName: String + /// Name of the classifier to remove. + public let name: String - public init(catalogId: String? = nil, tablesToDelete: [String], databaseName: String) { - self.catalogId = catalogId - self.tablesToDelete = tablesToDelete - self.databaseName = databaseName + public init(name: String) { + self.name = name } private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - case tablesToDelete = "TablesToDelete" - case databaseName = "DatabaseName" + case name = "Name" } } - public enum LogicalOperator: String, CustomStringConvertible, Codable { - case equals = "EQUALS" - public var description: String { return self.rawValue } + public struct DeleteConnectionResponse: AWSShape { + } - public struct GetCrawlerMetricsRequest: AWSShape { + public struct GetDevEndpointsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "CrawlerNameList", required: false, type: .list), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] /// A continuation token, if this is a continuation call. public let nextToken: String? - /// A list of the names of crawlers about which to retrieve metrics. - public let crawlerNameList: [String]? - /// The maximum size of a list to return. + /// The maximum size of information to return. public let maxResults: Int32? - public init(nextToken: String? = nil, crawlerNameList: [String]? = nil, maxResults: Int32? = nil) { + public init(nextToken: String? = nil, maxResults: Int32? = nil) { self.nextToken = nextToken - self.crawlerNameList = crawlerNameList self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { case nextToken = "NextToken" - case crawlerNameList = "CrawlerNameList" case maxResults = "MaxResults" } } + public struct CreateJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string) + ] + /// The unique name that was provided for this job definition. + public let name: String? + + public init(name: String? = nil) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + public struct GetDatabaseRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CatalogId", required: false, type: .string), @@ -4042,7 +4905,7 @@ extension Glue { ] /// The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default. public let catalogId: String? - /// The name of the database to retrieve. + /// The name of the database to retrieve. For Hive compatibility, this should be all lowercase. public let name: String public init(catalogId: String? = nil, name: String) { @@ -4061,9 +4924,9 @@ extension Glue { AWSShapeMember(label: "JobName", required: false, type: .string), AWSShapeMember(label: "JobRunId", required: false, type: .string) ] - /// The name of the job. + /// The name of the job definition used in the job run that was stopped. public let jobName: String? - /// The job run Id. + /// The JobRunId of the job run that was stopped. public let jobRunId: String? public init(jobName: String? = nil, jobRunId: String? = nil) { @@ -4077,6 +4940,37 @@ extension Glue { } } + public struct GetTableVersionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionId", required: false, type: .string), + AWSShapeMember(label: "TableName", required: true, type: .string), + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) + ] + /// The ID value of the table version to be retrieved. + public let versionId: String? + /// The name of the table. For Hive compatibility, this name is entirely lowercase. + public let tableName: String + /// The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase. + public let databaseName: String + + public init(versionId: String? = nil, tableName: String, catalogId: String? = nil, databaseName: String) { + self.versionId = versionId + self.tableName = tableName + self.catalogId = catalogId + self.databaseName = databaseName + } + + private enum CodingKeys: String, CodingKey { + case versionId = "VersionId" + case tableName = "TableName" + case catalogId = "CatalogId" + case databaseName = "DatabaseName" + } + } + public struct UpdateXMLClassifierRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: true, type: .string), @@ -4087,7 +4981,7 @@ extension Glue { public let name: String /// An identifier of the data format that the classifier matches. public let classification: String? - /// The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot be an empty element. It must contain child elements representing fields in the record. + /// 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). public let rowTag: String? public init(name: String, classification: String? = nil, rowTag: String? = nil) { @@ -4103,10 +4997,6 @@ extension Glue { } } - public struct UpdateDatabaseResponse: AWSShape { - - } - public struct UpdateDatabaseRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DatabaseInput", required: true, type: .structure), @@ -4115,7 +5005,7 @@ extension Glue { ] /// A DatabaseInput object specifying the new definition of the metadata database in the catalog. public let databaseInput: DatabaseInput - /// The name of the metadata database to update in the catalog. + /// The name of the database to update in the catalog. For Hive compatibility, this is folded to lowercase. public let name: String /// The ID of the Data Catalog in which the metadata database resides. If none is supplied, the AWS account ID is used by default. public let catalogId: String? @@ -4138,81 +5028,19 @@ extension Glue { AWSShapeMember(label: "ExtraPythonLibsS3Path", required: false, type: .string), AWSShapeMember(label: "ExtraJarsS3Path", required: false, type: .string) ] - /// 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. - public let extraPythonLibsS3Path: String? - /// 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. - public let extraJarsS3Path: String? - - public init(extraPythonLibsS3Path: String? = nil, extraJarsS3Path: String? = nil) { - self.extraPythonLibsS3Path = extraPythonLibsS3Path - self.extraJarsS3Path = extraJarsS3Path - } - - private enum CodingKeys: String, CodingKey { - case extraPythonLibsS3Path = "ExtraPythonLibsS3Path" - case extraJarsS3Path = "ExtraJarsS3Path" - } - } - - public struct GetDatabasesResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "DatabaseList", required: true, type: .list) - ] - /// A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last. - public let nextToken: String? - /// A list of Database objects from the specified catalog. - public let databaseList: [Database] - - public init(nextToken: String? = nil, databaseList: [Database]) { - self.nextToken = nextToken - self.databaseList = databaseList - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case databaseList = "DatabaseList" - } - } - - public struct CreateTriggerRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Schedule", required: false, type: .string), - AWSShapeMember(label: "Predicate", required: false, type: .structure), - AWSShapeMember(label: "Type", required: true, type: .enum), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "Actions", required: true, type: .list), - AWSShapeMember(label: "Description", required: false, type: .string) - ] - /// 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 * * ? *). - public let schedule: String? - /// A predicate to specify when the new trigger should fire. - public let predicate: Predicate? - /// The type of the new trigger. - public let `type`: TriggerType - /// The name to assign to the new trigger. - public let name: String - /// The actions initiated by this trigger when it fires. - public let actions: [Action] - /// A description of the new trigger. - public let description: String? - - public init(schedule: String? = nil, predicate: Predicate? = nil, type: TriggerType, name: String, actions: [Action], description: String? = nil) { - self.schedule = schedule - self.predicate = predicate - self.`type` = `type` - self.name = name - self.actions = actions - self.description = description + /// 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. + public let extraPythonLibsS3Path: String? + /// 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. + public let extraJarsS3Path: String? + + public init(extraPythonLibsS3Path: String? = nil, extraJarsS3Path: String? = nil) { + self.extraPythonLibsS3Path = extraPythonLibsS3Path + self.extraJarsS3Path = extraJarsS3Path } private enum CodingKeys: String, CodingKey { - case schedule = "Schedule" - case predicate = "Predicate" - case `type` = "Type" - case name = "Name" - case actions = "Actions" - case description = "Description" + case extraPythonLibsS3Path = "ExtraPythonLibsS3Path" + case extraJarsS3Path = "ExtraJarsS3Path" } } @@ -4237,43 +5065,6 @@ extension Glue { } } - public struct UpdateTriggerRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "TriggerUpdate", required: true, type: .structure) - ] - /// The name of the trigger to update. - public let name: String - /// The new values with which to update the trigger. - public let triggerUpdate: TriggerUpdate - - public init(name: String, triggerUpdate: TriggerUpdate) { - self.name = name - self.triggerUpdate = triggerUpdate - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - case triggerUpdate = "TriggerUpdate" - } - } - - public struct DeleteJobRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobName", required: true, type: .string) - ] - /// The name of the job to delete. - public let jobName: String - - public init(jobName: String) { - self.jobName = jobName - } - - private enum CodingKeys: String, CodingKey { - case jobName = "JobName" - } - } - public struct StopTriggerRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: true, type: .string) @@ -4295,9 +5086,9 @@ extension Glue { AWSShapeMember(label: "Jobs", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// A list of jobs. + /// A list of job definitions. public let jobs: [Job]? - /// A continuation token, if not all jobs have yet been returned. + /// A continuation token, if not all job definitions have yet been returned. public let nextToken: String? public init(jobs: [Job]? = nil, nextToken: String? = nil) { @@ -4486,37 +5277,6 @@ extension Glue { } } - public struct UpdateDevEndpointRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointName", required: true, type: .string), - AWSShapeMember(label: "PublicKey", required: false, type: .string), - AWSShapeMember(label: "CustomLibraries", required: false, type: .structure), - AWSShapeMember(label: "UpdateEtlLibraries", required: false, type: .boolean) - ] - /// The name of the DevEndpoint to be updated. - public let endpointName: String - /// The public key for the DevEndpoint to use. - public let publicKey: String? - /// Custom Python or Java libraries to be loaded in the DevEndpoint. - public let customLibraries: DevEndpointCustomLibraries? - /// True if the list of custom libraries to be loaded in the development endpoint needs to be updated, or False otherwise. - public let updateEtlLibraries: Bool? - - public init(endpointName: String, publicKey: String? = nil, customLibraries: DevEndpointCustomLibraries? = nil, updateEtlLibraries: Bool? = nil) { - self.endpointName = endpointName - self.publicKey = publicKey - self.customLibraries = customLibraries - self.updateEtlLibraries = updateEtlLibraries - } - - private enum CodingKeys: String, CodingKey { - case endpointName = "EndpointName" - case publicKey = "PublicKey" - case customLibraries = "CustomLibraries" - case updateEtlLibraries = "UpdateEtlLibraries" - } - } - public struct DatabaseInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Parameters", required: false, type: .map), @@ -4526,7 +5286,7 @@ extension Glue { ] /// A list of key-value pairs that define parameters and properties of the database. public let parameters: [String: String]? - /// Name of the database. + /// Name of the database. For Hive compatibility, this is folded to lowercase when it is stored. public let name: String /// The location of the database (for example, an HDFS path). public let locationUri: String? @@ -4548,27 +5308,6 @@ extension Glue { } } - public struct DeleteDatabaseRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string) - ] - /// The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// The name of the Database to delete. - public let name: String - - public init(catalogId: String? = nil, name: String) { - self.catalogId = catalogId - self.name = name - } - - private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - case name = "Name" - } - } - public struct ImportCatalogToGlueResponse: AWSShape { } @@ -4589,163 +5328,8 @@ extension Glue { } } - public struct GetCrawlerRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string) - ] - /// Name of the crawler to retrieve metadata for. - public let name: String - - public init(name: String) { - self.name = name - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - } - } - - public struct GetPartitionsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Segment", required: false, type: .structure), - AWSShapeMember(label: "Expression", required: false, type: .string), - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "DatabaseName", required: true, type: .string), - AWSShapeMember(label: "TableName", required: true, type: .string), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// The segment of the table's partitions to scan in this request. - public let segment: Segment? - /// An expression filtering the partitions to be returned. - public let expression: String? - /// The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// The name of the catalog database where the partitions reside. - public let databaseName: String - /// The name of the partitions' table. - public let tableName: String - /// A continuation token, if this is not the first call to retrieve these partitions. - public let nextToken: String? - /// The maximum number of partitions to return in a single response. - public let maxResults: Int32? - - public init(segment: Segment? = nil, expression: String? = nil, catalogId: String? = nil, databaseName: String, tableName: String, nextToken: String? = nil, maxResults: Int32? = nil) { - self.segment = segment - self.expression = expression - self.catalogId = catalogId - self.databaseName = databaseName - self.tableName = tableName - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case segment = "Segment" - case expression = "Expression" - case catalogId = "CatalogId" - case databaseName = "DatabaseName" - case tableName = "TableName" - case nextToken = "NextToken" - case maxResults = "MaxResults" - } - } - public struct StopCrawlerScheduleResponse: AWSShape { - - } - - public struct GetDevEndpointResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DevEndpoint", required: false, type: .structure) - ] - /// A DevEndpoint definition. - public let devEndpoint: DevEndpoint? - - public init(devEndpoint: DevEndpoint? = nil) { - self.devEndpoint = devEndpoint - } - - private enum CodingKeys: String, CodingKey { - case devEndpoint = "DevEndpoint" - } - } - - public struct StartCrawlerResponse: AWSShape { - - } - - public struct GetUserDefinedFunctionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "FunctionName", required: true, type: .string), - AWSShapeMember(label: "DatabaseName", required: true, type: .string) - ] - /// 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. - public let catalogId: String? - /// The name of the function. - public let functionName: String - /// The name of the catalog database where the function is located. - public let databaseName: String - - public init(catalogId: String? = nil, functionName: String, databaseName: String) { - self.catalogId = catalogId - self.functionName = functionName - self.databaseName = databaseName - } - - private enum CodingKeys: String, CodingKey { - case catalogId = "CatalogId" - case functionName = "FunctionName" - case databaseName = "DatabaseName" - } - } - - public struct Location: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Jdbc", required: false, type: .list), - AWSShapeMember(label: "S3", required: false, type: .list) - ] - /// A JDBC location. - public let jdbc: [CodeGenNodeArg]? - /// An Amazon S3 location. - public let s3: [CodeGenNodeArg]? - - public init(jdbc: [CodeGenNodeArg]? = nil, s3: [CodeGenNodeArg]? = nil) { - self.jdbc = jdbc - self.s3 = s3 - } - - private enum CodingKeys: String, CodingKey { - case jdbc = "Jdbc" - case s3 = "S3" - } - } - - public struct GetTriggersRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DependentJobName", required: false, type: .string), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// The name of the job for which to retrieve triggers. - public let dependentJobName: String? - /// A continuation token, if this is a continuation call. - public let nextToken: String? - /// The maximum size of the response. - public let maxResults: Int32? - - public init(dependentJobName: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.dependentJobName = dependentJobName - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case dependentJobName = "DependentJobName" - case nextToken = "NextToken" - case maxResults = "MaxResults" - } + } public struct PartitionInput: AWSShape { @@ -4800,47 +5384,6 @@ extension Glue { } } - public struct UserDefinedFunction: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ClassName", required: false, type: .string), - AWSShapeMember(label: "OwnerName", required: false, type: .string), - AWSShapeMember(label: "CreateTime", required: false, type: .timestamp), - AWSShapeMember(label: "FunctionName", required: false, type: .string), - AWSShapeMember(label: "OwnerType", required: false, type: .enum), - AWSShapeMember(label: "ResourceUris", required: false, type: .list) - ] - /// The Java class that contains the function code. - public let className: String? - /// The owner of the function. - public let ownerName: String? - /// The time at which the function was created. - public let createTime: TimeStamp? - /// The name of the function. - public let functionName: String? - /// The owner type. - public let ownerType: PrincipalType? - /// The resource URIs for the function. - public let resourceUris: [ResourceUri]? - - public init(className: String? = nil, ownerName: String? = nil, createTime: TimeStamp? = nil, functionName: String? = nil, ownerType: PrincipalType? = nil, resourceUris: [ResourceUri]? = nil) { - self.className = className - self.ownerName = ownerName - self.createTime = createTime - self.functionName = functionName - self.ownerType = ownerType - self.resourceUris = resourceUris - } - - private enum CodingKeys: String, CodingKey { - case className = "ClassName" - case ownerName = "OwnerName" - case createTime = "CreateTime" - case functionName = "FunctionName" - case ownerType = "OwnerType" - case resourceUris = "ResourceUris" - } - } - public struct GetTableVersionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DatabaseName", required: true, type: .string), @@ -4849,9 +5392,9 @@ extension Glue { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The database in the catalog in which the table resides. + /// The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase. public let databaseName: String - /// The name of the table. + /// The name of the table. For Hive compatibility, this name is entirely lowercase. public let tableName: String /// The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default. public let catalogId: String? @@ -4877,48 +5420,6 @@ extension Glue { } } - public struct GetDevEndpointsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "DevEndpoints", required: false, type: .list) - ] - /// A continuation token, if not all DevEndpoint definitions have yet been returned. - public let nextToken: String? - /// A list of DevEndpoint definitions. - public let devEndpoints: [DevEndpoint]? - - public init(nextToken: String? = nil, devEndpoints: [DevEndpoint]? = nil) { - self.nextToken = nextToken - self.devEndpoints = devEndpoints - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case devEndpoints = "DevEndpoints" - } - } - - public struct TableVersion: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "VersionId", required: false, type: .string), - AWSShapeMember(label: "Table", required: false, type: .structure) - ] - /// The ID value that identifies this table version. - public let versionId: String? - /// The table in question - public let table: Table? - - public init(versionId: String? = nil, table: Table? = nil) { - self.versionId = versionId - self.table = table - } - - private enum CodingKeys: String, CodingKey { - case versionId = "VersionId" - case table = "Table" - } - } - public struct GetCrawlersRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -4940,83 +5441,114 @@ extension Glue { } } - public enum JobRunState: String, CustomStringConvertible, Codable { - case starting = "STARTING" - case running = "RUNNING" - case stopping = "STOPPING" - case stopped = "STOPPED" - case succeeded = "SUCCEEDED" - case failed = "FAILED" - public var description: String { return self.rawValue } + public struct BatchDeleteTableVersionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionIds", required: true, type: .list), + AWSShapeMember(label: "CatalogId", required: false, type: .string), + AWSShapeMember(label: "TableName", required: true, type: .string), + AWSShapeMember(label: "DatabaseName", required: true, type: .string) + ] + /// A list of the IDs of versions to be deleted. + public let versionIds: [String] + /// The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default. + public let catalogId: String? + /// The name of the table. For Hive compatibility, this name is entirely lowercase. + public let tableName: String + /// The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase. + public let databaseName: String + + public init(versionIds: [String], catalogId: String? = nil, tableName: String, databaseName: String) { + self.versionIds = versionIds + self.catalogId = catalogId + self.tableName = tableName + self.databaseName = databaseName + } + + private enum CodingKeys: String, CodingKey { + case versionIds = "VersionIds" + case catalogId = "CatalogId" + case tableName = "TableName" + case databaseName = "DatabaseName" + } } public struct Job: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Connections", required: false, type: .structure), + AWSShapeMember(label: "MaxRetries", required: false, type: .integer), + AWSShapeMember(label: "Timeout", required: false, type: .integer), + AWSShapeMember(label: "AllocatedCapacity", required: false, type: .integer), AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "NotificationProperty", required: false, type: .structure), AWSShapeMember(label: "ExecutionProperty", required: false, type: .structure), AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "LastModifiedOn", required: false, type: .timestamp), AWSShapeMember(label: "Role", required: false, type: .string), AWSShapeMember(label: "LogUri", required: false, type: .string), - AWSShapeMember(label: "MaxRetries", required: false, type: .integer), AWSShapeMember(label: "Command", required: false, type: .structure), AWSShapeMember(label: "DefaultArguments", required: false, type: .map), - AWSShapeMember(label: "AllocatedCapacity", required: false, type: .integer), AWSShapeMember(label: "CreatedOn", required: false, type: .timestamp) ] /// The connections used for this job. public let connections: ConnectionsList? - /// Description of this job. + /// The maximum number of times to retry this job after a JobRun fails. + public let maxRetries: Int32? + /// The job timeout in minutes. + public let timeout: Int32? + /// 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. + public let allocatedCapacity: Int32? + /// Description of the job being defined. public let description: String? + /// Specifies configuration properties of a job notification. + public let notificationProperty: NotificationProperty? /// An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job. public let executionProperty: ExecutionProperty? - /// The name you assign to this job. + /// The name you assign to this job definition. public let name: String? - /// The last point in time when this job specification was modified. + /// The last point in time when this job definition was modified. public let lastModifiedOn: TimeStamp? - /// The role associated with this job. + /// The name or ARN of the IAM role associated with this job. public let role: String? /// This field is reserved for future use. public let logUri: String? - /// The maximum number of times to retry this job if it fails. - public let maxRetries: Int32? /// The JobCommand that executes this job. public let command: JobCommand? - /// The default parameters for this job. + /// 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. public let defaultArguments: [String: String]? - /// The number of capacity units allocated to this job. - public let allocatedCapacity: Int32? - /// The time and date that this job specification was created. + /// The time and date that this job definition was created. public let createdOn: TimeStamp? - public init(connections: ConnectionsList? = nil, description: String? = nil, executionProperty: ExecutionProperty? = nil, name: String? = nil, lastModifiedOn: TimeStamp? = nil, role: String? = nil, logUri: String? = nil, maxRetries: Int32? = nil, command: JobCommand? = nil, defaultArguments: [String: String]? = nil, allocatedCapacity: Int32? = nil, createdOn: TimeStamp? = nil) { + public init(connections: ConnectionsList? = nil, maxRetries: Int32? = nil, timeout: Int32? = nil, allocatedCapacity: Int32? = nil, description: String? = nil, notificationProperty: NotificationProperty? = nil, executionProperty: ExecutionProperty? = nil, name: String? = nil, lastModifiedOn: TimeStamp? = nil, role: String? = nil, logUri: String? = nil, command: JobCommand? = nil, defaultArguments: [String: String]? = nil, createdOn: TimeStamp? = nil) { self.connections = connections + self.maxRetries = maxRetries + self.timeout = timeout + self.allocatedCapacity = allocatedCapacity self.description = description + self.notificationProperty = notificationProperty self.executionProperty = executionProperty self.name = name self.lastModifiedOn = lastModifiedOn self.role = role self.logUri = logUri - self.maxRetries = maxRetries self.command = command self.defaultArguments = defaultArguments - self.allocatedCapacity = allocatedCapacity self.createdOn = createdOn } private enum CodingKeys: String, CodingKey { case connections = "Connections" + case maxRetries = "MaxRetries" + case timeout = "Timeout" + case allocatedCapacity = "AllocatedCapacity" case description = "Description" + case notificationProperty = "NotificationProperty" case executionProperty = "ExecutionProperty" case name = "Name" case lastModifiedOn = "LastModifiedOn" case role = "Role" case logUri = "LogUri" - case maxRetries = "MaxRetries" case command = "Command" case defaultArguments = "DefaultArguments" - case allocatedCapacity = "AllocatedCapacity" case createdOn = "CreatedOn" } } @@ -5026,7 +5558,8 @@ extension Glue { AWSShapeMember(label: "Sinks", required: false, type: .list), AWSShapeMember(label: "Source", required: true, type: .structure), AWSShapeMember(label: "Mapping", required: true, type: .list), - AWSShapeMember(label: "Location", required: false, type: .structure) + AWSShapeMember(label: "Location", required: false, type: .structure), + AWSShapeMember(label: "Language", required: false, type: .enum) ] /// The target tables. public let sinks: [CatalogEntry]? @@ -5036,12 +5569,15 @@ extension Glue { public let mapping: [MappingEntry] /// Parameters for the mapping. public let location: Location? + /// The programming language of the code to perform the mapping. + public let language: Language? - public init(sinks: [CatalogEntry]? = nil, source: CatalogEntry, mapping: [MappingEntry], location: Location? = nil) { + public init(sinks: [CatalogEntry]? = nil, source: CatalogEntry, mapping: [MappingEntry], location: Location? = nil, language: Language? = nil) { self.sinks = sinks self.source = source self.mapping = mapping self.location = location + self.language = language } private enum CodingKeys: String, CodingKey { @@ -5049,27 +5585,7 @@ extension Glue { case source = "Source" case mapping = "Mapping" case location = "Location" - } - } - - public struct S3Target: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Exclusions", required: false, type: .list), - AWSShapeMember(label: "Path", required: false, type: .string) - ] - /// A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler. - public let exclusions: [String]? - /// The path to the Amazon S3 target. - public let path: String? - - public init(exclusions: [String]? = nil, path: String? = nil) { - self.exclusions = exclusions - self.path = path - } - - private enum CodingKeys: String, CodingKey { - case exclusions = "Exclusions" - case path = "Path" + case language = "Language" } } @@ -5120,112 +5636,14 @@ extension Glue { } } - public struct CrawlerTargets: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "S3Targets", required: false, type: .list), - AWSShapeMember(label: "JdbcTargets", required: false, type: .list) - ] - /// Specifies Amazon S3 targets. - public let s3Targets: [S3Target]? - /// Specifies JDBC targets. - public let jdbcTargets: [JdbcTarget]? - - public init(s3Targets: [S3Target]? = nil, jdbcTargets: [JdbcTarget]? = nil) { - self.s3Targets = s3Targets - self.jdbcTargets = jdbcTargets - } - - private enum CodingKeys: String, CodingKey { - case s3Targets = "S3Targets" - case jdbcTargets = "JdbcTargets" - } - } - - public struct GetTablesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DatabaseName", required: true, type: .string), - AWSShapeMember(label: "Expression", required: false, type: .string), - AWSShapeMember(label: "CatalogId", required: false, type: .string), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// The database in the catalog whose tables to list. - public let databaseName: String - /// A regular expression pattern. If present, only those tables whose names match the pattern are returned. - public let expression: String? - /// The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default. - public let catalogId: String? - /// A continuation token, included if this is a continuation call. - public let nextToken: String? - /// The maximum number of tables to return in a single response. - public let maxResults: Int32? - - public init(databaseName: String, expression: String? = nil, catalogId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.databaseName = databaseName - self.expression = expression - self.catalogId = catalogId - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case databaseName = "DatabaseName" - case expression = "Expression" - case catalogId = "CatalogId" - case nextToken = "NextToken" - case maxResults = "MaxResults" - } - } - - public struct UpdateClassifierResponse: AWSShape { - - } - - public struct StopCrawlerRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string) - ] - /// Name of the crawler to stop. - public let name: String - - public init(name: String) { - self.name = name - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - } - } - - public struct GetMappingRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Sinks", required: false, type: .list), - AWSShapeMember(label: "Location", required: false, type: .structure), - AWSShapeMember(label: "Source", required: true, type: .structure) - ] - /// A list of target tables. - public let sinks: [CatalogEntry]? - /// Parameters for the mapping. - public let location: Location? - /// Specifies the source table. - public let source: CatalogEntry - - public init(sinks: [CatalogEntry]? = nil, location: Location? = nil, source: CatalogEntry) { - self.sinks = sinks - self.location = location - self.source = source - } - - private enum CodingKeys: String, CodingKey { - case sinks = "Sinks" - case location = "Location" - case source = "Source" - } - } - public enum Logical: String, CustomStringConvertible, Codable { case and = "AND" + case any = "ANY" public var description: String { return self.rawValue } } + public struct DeleteTableResponse: AWSShape { + + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/greengrass/Greengrass_API.swift b/Sources/AWSSDKSwift/Services/greengrass/Greengrass_API.swift index 683004a1a23..7d8d76cad5a 100644 --- a/Sources/AWSSDKSwift/Services/greengrass/Greengrass_API.swift +++ b/Sources/AWSSDKSwift/Services/greengrass/Greengrass_API.swift @@ -24,27 +24,27 @@ public struct Greengrass { ) } - /// Disassociates the service role from the account. Without a service role, deployments will not work. + /// Disassociates the service role from your account. Without a service role, deployments will not work. public func disassociateServiceRoleFromAccount(_ input: DisassociateServiceRoleFromAccountRequest) throws -> DisassociateServiceRoleFromAccountResponse { return try client.send(operation: "DisassociateServiceRoleFromAccount", path: "/greengrass/servicerole", httpMethod: "DELETE", input: input) } - /// Creates a version of a core definition that has already been defined. AWS Greengrass Groups must each contain exactly 1 AWS Greengrass Core. + /// Creates a version of a core definition that has already been defined. AWS Greengrass groups must each contain exactly one AWS Greengrass core. public func createCoreDefinitionVersion(_ input: CreateCoreDefinitionVersionRequest) throws -> CreateCoreDefinitionVersionResponse { return try client.send(operation: "CreateCoreDefinitionVersion", path: "/greengrass/definition/cores/{CoreDefinitionId}/versions", httpMethod: "POST", input: input) } - /// Create a version of a resource definition that has already been defined. + /// Creates a version of a resource definition that has already been defined. public func createResourceDefinitionVersion(_ input: CreateResourceDefinitionVersionRequest) throws -> CreateResourceDefinitionVersionResponse { return try client.send(operation: "CreateResourceDefinitionVersion", path: "/greengrass/definition/resources/{ResourceDefinitionId}/versions", httpMethod: "POST", input: input) } - /// Associates a role which is used by AWS Greengrass. AWS Greengrass uses the role to access your Lambda functions and AWS IoT resources. This is necessary for deployments to succeed. It needs to have minimum permissions in policy ``AWSGreengrassResourceAccessRolePolicy`` + /// 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''. public func associateServiceRoleToAccount(_ input: AssociateServiceRoleToAccountRequest) throws -> AssociateServiceRoleToAccountResponse { return try client.send(operation: "AssociateServiceRoleToAccount", path: "/greengrass/servicerole", httpMethod: "PUT", input: input) } - /// 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. + /// 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. public func createResourceDefinition(_ input: CreateResourceDefinitionRequest) throws -> CreateResourceDefinitionResponse { return try client.send(operation: "CreateResourceDefinition", path: "/greengrass/definition/resources", httpMethod: "POST", input: input) } @@ -69,12 +69,12 @@ public struct Greengrass { return try client.send(operation: "UpdateResourceDefinition", path: "/greengrass/definition/resources/{ResourceDefinitionId}", httpMethod: "PUT", input: input) } - /// Updates the Cert expiry time for a group. + /// Updates the Certificate expiry time for a group. public func updateGroupCertificateConfiguration(_ input: UpdateGroupCertificateConfigurationRequest) throws -> UpdateGroupCertificateConfigurationResponse { return try client.send(operation: "UpdateGroupCertificateConfiguration", path: "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry", httpMethod: "PUT", input: input) } - /// Deletes a device definition. The device definition must not have been used in a deployment. + /// Deletes a device definition. public func deleteDeviceDefinition(_ input: DeleteDeviceDefinitionRequest) throws -> DeleteDeviceDefinitionResponse { return try client.send(operation: "DeleteDeviceDefinition", path: "/greengrass/definition/devices/{DeviceDefinitionId}", httpMethod: "DELETE", input: input) } @@ -84,17 +84,17 @@ public struct Greengrass { return try client.send(operation: "ListDeviceDefinitions", path: "/greengrass/definition/devices", httpMethod: "GET", input: input) } - /// Retrieves the service role that is attached to the account. + /// Retrieves the service role that is attached to your account. public func getServiceRoleForAccount(_ input: GetServiceRoleForAccountRequest) throws -> GetServiceRoleForAccountResponse { return try client.send(operation: "GetServiceRoleForAccount", path: "/greengrass/servicerole", httpMethod: "GET", input: input) } - /// Deletes a Lambda function definition. The Lambda function definition must not have been used in a deployment. + /// Deletes a Lambda function definition. public func deleteFunctionDefinition(_ input: DeleteFunctionDefinitionRequest) throws -> DeleteFunctionDefinitionResponse { return try client.send(operation: "DeleteFunctionDefinition", path: "/greengrass/definition/functions/{FunctionDefinitionId}", httpMethod: "DELETE", input: input) } - /// Creates an Iot Job that will trigger your Greengrass Cores to update the software they are running. + /// 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. public func createSoftwareUpdateJob(_ input: CreateSoftwareUpdateJobRequest) throws -> CreateSoftwareUpdateJobResponse { return try client.send(operation: "CreateSoftwareUpdateJob", path: "/greengrass/updates", httpMethod: "POST", input: input) } @@ -104,7 +104,7 @@ public struct Greengrass { return try client.send(operation: "CreateGroupCertificateAuthority", path: "/greengrass/groups/{GroupId}/certificateauthorities", httpMethod: "POST", input: input) } - /// Retrieves information about a resource definition version, such as which resources are included in the version. + /// Retrieves information about a resource definition version, including which resources are included in the version. public func getResourceDefinitionVersion(_ input: GetResourceDefinitionVersionRequest) throws -> GetResourceDefinitionVersionResponse { return try client.send(operation: "GetResourceDefinitionVersion", path: "/greengrass/definition/resources/{ResourceDefinitionId}/versions/{ResourceDefinitionVersionId}", httpMethod: "GET", input: input) } @@ -119,7 +119,7 @@ public struct Greengrass { return try client.send(operation: "CreateLoggerDefinitionVersion", path: "/greengrass/definition/loggers/{LoggerDefinitionId}/versions", httpMethod: "POST", input: input) } - /// Retrieves information about a Lambda function definition version, such as which Lambda functions are included in the version and their configurations. + /// Retrieves information about a Lambda function definition version, including which Lambda functions are included in the version and their configurations. public func getFunctionDefinitionVersion(_ input: GetFunctionDefinitionVersionRequest) throws -> GetFunctionDefinitionVersionResponse { return try client.send(operation: "GetFunctionDefinitionVersion", path: "/greengrass/definition/functions/{FunctionDefinitionId}/versions/{FunctionDefinitionVersionId}", httpMethod: "GET", input: input) } @@ -134,7 +134,7 @@ public struct Greengrass { return try client.send(operation: "ListLoggerDefinitions", path: "/greengrass/definition/loggers", httpMethod: "GET", input: input) } - /// Retrieves information about a resource definition, such as its creation time and latest version. + /// Retrieves information about a resource definition, including its creation time and latest version. public func getResourceDefinition(_ input: GetResourceDefinitionRequest) throws -> GetResourceDefinitionResponse { return try client.send(operation: "GetResourceDefinition", path: "/greengrass/definition/resources/{ResourceDefinitionId}", httpMethod: "GET", input: input) } @@ -154,12 +154,12 @@ public struct Greengrass { return try client.send(operation: "GetCoreDefinition", path: "/greengrass/definition/cores/{CoreDefinitionId}", httpMethod: "GET", input: input) } - /// Retrieves information about a Lambda function definition, such as its creation time and latest version. + /// Retrieves information about a Lambda function definition, including its creation time and latest version. public func getFunctionDefinition(_ input: GetFunctionDefinitionRequest) throws -> GetFunctionDefinitionResponse { return try client.send(operation: "GetFunctionDefinition", path: "/greengrass/definition/functions/{FunctionDefinitionId}", httpMethod: "GET", input: input) } - /// Create a version of a Lambda function definition that has already been defined. + /// Creates a version of a Lambda function definition that has already been defined. public func createFunctionDefinitionVersion(_ input: CreateFunctionDefinitionVersionRequest) throws -> CreateFunctionDefinitionVersionResponse { return try client.send(operation: "CreateFunctionDefinitionVersion", path: "/greengrass/definition/functions/{FunctionDefinitionId}/versions", httpMethod: "POST", input: input) } @@ -169,7 +169,7 @@ public struct Greengrass { return try client.send(operation: "UpdateDeviceDefinition", path: "/greengrass/definition/devices/{DeviceDefinitionId}", httpMethod: "PUT", input: input) } - /// Creates a device definition. You may optinally provide the initial version of the device definition or use ``CreateDeviceDefinitionVersion`` at a later time. + /// Creates a device definition. You may provide the initial version of the device definition now or use ''CreateDeviceDefinitionVersion'' at a later time. public func createDeviceDefinition(_ input: CreateDeviceDefinitionRequest) throws -> CreateDeviceDefinitionResponse { return try client.send(operation: "CreateDeviceDefinition", path: "/greengrass/definition/devices", httpMethod: "POST", input: input) } @@ -204,7 +204,7 @@ public struct Greengrass { return try client.send(operation: "GetLoggerDefinition", path: "/greengrass/definition/loggers/{LoggerDefinitionId}", httpMethod: "GET", input: input) } - /// Creates a group. You may optionally provide the initial version of the group or use ''CreateGroupVersion'' at a later time. + /// Creates a group. You may provide the initial version of the group or use ''CreateGroupVersion'' at a later time. public func createGroup(_ input: CreateGroupRequest) throws -> CreateGroupResponse { return try client.send(operation: "CreateGroup", path: "/greengrass/groups", httpMethod: "POST", input: input) } @@ -219,7 +219,7 @@ public struct Greengrass { return try client.send(operation: "GetConnectivityInfo", path: "/greengrass/things/{ThingName}/connectivityInfo", httpMethod: "GET", input: input) } - /// Deletes a logger definition. The logger definition must not have been used in a deployment. + /// Deletes a logger definition. public func deleteLoggerDefinition(_ input: DeleteLoggerDefinitionRequest) throws -> DeleteLoggerDefinitionResponse { return try client.send(operation: "DeleteLoggerDefinition", path: "/greengrass/definition/loggers/{LoggerDefinitionId}", httpMethod: "DELETE", input: input) } @@ -234,7 +234,7 @@ public struct Greengrass { return try client.send(operation: "ListDeviceDefinitionVersions", path: "/greengrass/definition/devices/{DeviceDefinitionId}/versions", httpMethod: "GET", input: input) } - /// Deletes a subscription definition. The subscription definition must not have been used in a deployment. + /// Deletes a subscription definition. public func deleteSubscriptionDefinition(_ input: DeleteSubscriptionDefinitionRequest) throws -> DeleteSubscriptionDefinitionResponse { return try client.send(operation: "DeleteSubscriptionDefinition", path: "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", httpMethod: "DELETE", input: input) } @@ -249,12 +249,12 @@ public struct Greengrass { return try client.send(operation: "UpdateSubscriptionDefinition", path: "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", httpMethod: "PUT", input: input) } - /// Deletes a core definition. The core definition must not have been used in a deployment. + /// Deletes a core definition. public func deleteCoreDefinition(_ input: DeleteCoreDefinitionRequest) throws -> DeleteCoreDefinitionResponse { return try client.send(operation: "DeleteCoreDefinition", path: "/greengrass/definition/cores/{CoreDefinitionId}", httpMethod: "DELETE", input: input) } - /// Creates a logger definition. You may optionally provide the initial version of the logger definition or use ``CreateLoggerDefinitionVersion`` at a later time. + /// Creates a logger definition. You may provide the initial version of the logger definition now or use ''CreateLoggerDefinitionVersion'' at a later time. public func createLoggerDefinition(_ input: CreateLoggerDefinitionRequest) throws -> CreateLoggerDefinitionResponse { return try client.send(operation: "CreateLoggerDefinition", path: "/greengrass/definition/loggers", httpMethod: "POST", input: input) } @@ -264,12 +264,12 @@ public struct Greengrass { return try client.send(operation: "GetDeviceDefinition", path: "/greengrass/definition/devices/{DeviceDefinitionId}", httpMethod: "GET", input: input) } - /// 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. + /// 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. public func createFunctionDefinition(_ input: CreateFunctionDefinitionRequest) throws -> CreateFunctionDefinitionResponse { return try client.send(operation: "CreateFunctionDefinition", path: "/greengrass/definition/functions", httpMethod: "POST", input: input) } - /// List the versions of a group. + /// Lists the versions of a group. public func listGroupVersions(_ input: ListGroupVersionsRequest) throws -> ListGroupVersionsResponse { return try client.send(operation: "ListGroupVersions", path: "/greengrass/groups/{GroupId}/versions", httpMethod: "GET", input: input) } @@ -284,7 +284,7 @@ public struct Greengrass { return try client.send(operation: "ListResourceDefinitionVersions", path: "/greengrass/definition/resources/{ResourceDefinitionId}/versions", httpMethod: "GET", input: input) } - /// Deletes a group. The group must not have been used in deployment. + /// Deletes a group. public func deleteGroup(_ input: DeleteGroupRequest) throws -> DeleteGroupResponse { return try client.send(operation: "DeleteGroup", path: "/greengrass/groups/{GroupId}", httpMethod: "DELETE", input: input) } @@ -309,7 +309,7 @@ public struct Greengrass { return try client.send(operation: "ListCoreDefinitions", path: "/greengrass/definition/cores", httpMethod: "GET", input: input) } - /// Creates a subscription definition. You may optionally provide the initial version of the subscription definition or use ``CreateSubscriptionDefinitionVersion`` at a later time. + /// Creates a subscription definition. You may provide the initial version of the subscription definition now or use ''CreateSubscriptionDefinitionVersion'' at a later time. public func createSubscriptionDefinition(_ input: CreateSubscriptionDefinitionRequest) throws -> CreateSubscriptionDefinitionResponse { return try client.send(operation: "CreateSubscriptionDefinition", path: "/greengrass/definition/subscriptions", httpMethod: "POST", input: input) } @@ -324,7 +324,7 @@ public struct Greengrass { return try client.send(operation: "GetLoggerDefinitionVersion", path: "/greengrass/definition/loggers/{LoggerDefinitionId}/versions/{LoggerDefinitionVersionId}", httpMethod: "GET", input: input) } - /// Associates a role with a group. The role will be used by the AWS Greengrass core in order to access AWS cloud services. The role's permissions will allow Greengrass core Lambda functions to perform actions against the cloud. + /// 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. public func associateRoleToGroup(_ input: AssociateRoleToGroupRequest) throws -> AssociateRoleToGroupResponse { return try client.send(operation: "AssociateRoleToGroup", path: "/greengrass/groups/{GroupId}/role", httpMethod: "PUT", input: input) } @@ -339,7 +339,7 @@ public struct Greengrass { return try client.send(operation: "DeleteResourceDefinition", path: "/greengrass/definition/resources/{ResourceDefinitionId}", httpMethod: "DELETE", input: input) } - /// Lists versions of a core definition. + /// Lists the versions of a core definition. public func listCoreDefinitionVersions(_ input: ListCoreDefinitionVersionsRequest) throws -> ListCoreDefinitionVersionsResponse { return try client.send(operation: "ListCoreDefinitionVersions", path: "/greengrass/definition/cores/{CoreDefinitionId}/versions", httpMethod: "GET", input: input) } @@ -364,7 +364,7 @@ public struct Greengrass { return try client.send(operation: "UpdateFunctionDefinition", path: "/greengrass/definition/functions/{FunctionDefinitionId}", httpMethod: "PUT", input: input) } - /// Creates a core definition. You may optionally provide the initial version of the core definition or use ''CreateCoreDefinitionVersion'' at a later time. AWS Greengrass Groups must each contain exactly 1 AWS Greengrass Core. + /// 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. public func createCoreDefinition(_ input: CreateCoreDefinitionRequest) throws -> CreateCoreDefinitionResponse { return try client.send(operation: "CreateCoreDefinition", path: "/greengrass/definition/cores", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/greengrass/Greengrass_Shapes.swift b/Sources/AWSSDKSwift/Services/greengrass/Greengrass_Shapes.swift index 0201575f817..cc4badf5be5 100644 --- a/Sources/AWSSDKSwift/Services/greengrass/Greengrass_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/greengrass/Greengrass_Shapes.swift @@ -13,15 +13,15 @@ extension Greengrass { AWSShapeMember(label: "Definition", required: false, type: .structure), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// Version of the resource definition version. + /// The version of the resource definition version. public let version: String? /// Arn of the resource definition version. public let arn: String? - /// Timestamp of when the resource definition version was created. + /// The time, in milliseconds since the epoch, when the resource definition version was created. public let creationTimestamp: String? - /// Information on definition. + /// Information about the definition. public let definition: ResourceDefinitionVersion? - /// Id of the resource definition the version belongs to. + /// The ID of the resource definition version. public let id: String? public init(version: String? = nil, arn: String? = nil, creationTimestamp: String? = nil, definition: ResourceDefinitionVersion? = nil, id: String? = nil) { @@ -91,15 +91,15 @@ extension Greengrass { AWSShapeMember(label: "Definition", required: false, type: .structure), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// Unique Id for a version of the Group. + /// The unique ID for the version of the group. public let version: String? - /// Arn of the group version. + /// The ARN of the group version. public let arn: String? - /// Timestamp when the group version was created. + /// The time, in milliseconds since the epoch, when the group version was created. public let creationTimestamp: String? - /// Information on the definition + /// Information about the group version definition. public let definition: GroupVersion? - /// Id of the group version. + /// The ID of the group version. public let id: String? public init(version: String? = nil, arn: String? = nil, creationTimestamp: String? = nil, definition: GroupVersion? = nil, id: String? = nil) { @@ -125,11 +125,11 @@ extension Greengrass { AWSShapeMember(label: "CertificateAuthorityExpiryInMilliseconds", required: false, type: .string), AWSShapeMember(label: "GroupId", required: false, type: .string) ] - /// Amount of time when the certificate expires in milliseconds. + /// The amount of time remaining before the certificate expires, in milliseconds. public let certificateExpiryInMilliseconds: String? - /// Amount of time when the certificate authority expires in milliseconds. + /// The amount of time remaining before the certificate authority expires, in milliseconds. public let certificateAuthorityExpiryInMilliseconds: String? - /// Id of the group the certificate configuration belongs to. + /// The ID of the group certificate configuration. public let groupId: String? public init(certificateExpiryInMilliseconds: String? = nil, certificateAuthorityExpiryInMilliseconds: String? = nil, groupId: String? = nil) { @@ -202,13 +202,13 @@ extension Greengrass { AWSShapeMember(label: "Source", required: false, type: .string), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// Subject of the message. + /// The subject of the message. public let subject: String? - /// Where the message is sent to. Can be a thing arn, lambda arn or word 'cloud'. + /// Where the message is sent to. Can be a thing ARN, a Lambda function ARN, 'cloud' (which represents the IoT cloud), or 'GGShadowService'. public let target: String? - /// Source of the subscription. Can be a thing arn, lambda arn or word 'cloud' + /// The source of the subscription. Can be a thing ARN, a Lambda function ARN, 'cloud' (which represents the IoT cloud), or 'GGShadowService'. public let source: String? - /// Element Id for this entry in the list. + /// The id of the subscription. public let id: String? public init(subject: String? = nil, target: String? = nil, source: String? = nil, id: String? = nil) { @@ -408,22 +408,32 @@ extension Greengrass { public struct ResourceDataContainer: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LocalVolumeResourceData", required: false, type: .structure), - AWSShapeMember(label: "LocalDeviceResourceData", required: false, type: .structure) + AWSShapeMember(label: "S3MachineLearningModelResourceData", required: false, type: .structure), + AWSShapeMember(label: "SageMakerMachineLearningModelResourceData", required: false, type: .structure), + AWSShapeMember(label: "LocalDeviceResourceData", required: false, type: .structure), + AWSShapeMember(label: "LocalVolumeResourceData", required: false, type: .structure) ] - /// Attributes that define the Local Volume Resource. - public let localVolumeResourceData: LocalVolumeResourceData? - /// Attributes that define the Local Device Resource. + /// Attributes that define an S3 machine learning resource. + public let s3MachineLearningModelResourceData: S3MachineLearningModelResourceData? + /// Attributes that define an SageMaker machine learning resource. + public let sageMakerMachineLearningModelResourceData: SageMakerMachineLearningModelResourceData? + /// Attributes that define the local device resource. public let localDeviceResourceData: LocalDeviceResourceData? + /// Attributes that define the local volume resource. + public let localVolumeResourceData: LocalVolumeResourceData? - public init(localVolumeResourceData: LocalVolumeResourceData? = nil, localDeviceResourceData: LocalDeviceResourceData? = nil) { - self.localVolumeResourceData = localVolumeResourceData + public init(s3MachineLearningModelResourceData: S3MachineLearningModelResourceData? = nil, sageMakerMachineLearningModelResourceData: SageMakerMachineLearningModelResourceData? = nil, localDeviceResourceData: LocalDeviceResourceData? = nil, localVolumeResourceData: LocalVolumeResourceData? = nil) { + self.s3MachineLearningModelResourceData = s3MachineLearningModelResourceData + self.sageMakerMachineLearningModelResourceData = sageMakerMachineLearningModelResourceData self.localDeviceResourceData = localDeviceResourceData + self.localVolumeResourceData = localVolumeResourceData } private enum CodingKeys: String, CodingKey { - case localVolumeResourceData = "LocalVolumeResourceData" + case s3MachineLearningModelResourceData = "S3MachineLearningModelResourceData" + case sageMakerMachineLearningModelResourceData = "SageMakerMachineLearningModelResourceData" case localDeviceResourceData = "LocalDeviceResourceData" + case localVolumeResourceData = "LocalVolumeResourceData" } } @@ -447,7 +457,7 @@ extension Greengrass { AWSShapeMember(label: "Deployments", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// List of deployments for the requested groups + /// A list of deployments for the requested groups. public let deployments: [Deployment]? /// The token for the next set of results, or ''null'' if there are no additional results. public let nextToken: String? @@ -506,7 +516,7 @@ extension Greengrass { AWSShapeMember(label: "CertificateExpiryInMilliseconds", required: false, type: .string), AWSShapeMember(label: "GroupId", location: .uri(locationName: "GroupId"), required: true, type: .string) ] - /// Amount of time when the certificate expires in milliseconds. + /// The amount of time remaining before the certificate expires, in milliseconds. public let certificateExpiryInMilliseconds: String? public let groupId: String @@ -631,7 +641,7 @@ extension Greengrass { ] /// The token for the next set of results, or ''null'' if there are no additional results. public let nextToken: String? - /// Groups + /// Information about a group. public let groups: [GroupInformation]? public init(nextToken: String? = nil, groups: [GroupInformation]? = nil) { @@ -649,7 +659,7 @@ extension Greengrass { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GroupCertificateAuthorityArn", required: false, type: .string) ] - /// Arn of the group certificate authority. + /// The ARN of the group certificate authority. public let groupCertificateAuthorityArn: String? public init(groupCertificateAuthorityArn: String? = nil) { @@ -685,17 +695,17 @@ extension Greengrass { AWSShapeMember(label: "FunctionDefinitionVersionArn", required: false, type: .string), AWSShapeMember(label: "ResourceDefinitionVersionArn", required: false, type: .string) ] - /// Subscription definition version arn for this group. + /// The ARN of the subscription definition version for this group. public let subscriptionDefinitionVersionArn: String? - /// Device definition version arn for this group. + /// The ARN of the device definition version for this group. public let deviceDefinitionVersionArn: String? - /// Core definition version arn for this group. + /// The ARN of the core definition version for this group. public let coreDefinitionVersionArn: String? - /// Logger definition version arn for this group. + /// The ARN of the logger definition version for this group. public let loggerDefinitionVersionArn: String? - /// Function definition version arn for this group. + /// The ARN of the function definition version for this group. public let functionDefinitionVersionArn: String? - /// Resource definition version arn for this group. + /// The resource definition version ARN for this group. public let resourceDefinitionVersionArn: String? public init(subscriptionDefinitionVersionArn: String? = nil, deviceDefinitionVersionArn: String? = nil, coreDefinitionVersionArn: String? = nil, loggerDefinitionVersionArn: String? = nil, functionDefinitionVersionArn: String? = nil, resourceDefinitionVersionArn: String? = nil) { @@ -721,7 +731,7 @@ extension Greengrass { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GroupCertificateAuthorities", required: false, type: .list) ] - /// List of certificate authorities associated with the group. + /// A list of certificate authorities associated with the group. public let groupCertificateAuthorities: [GroupCertificateAuthorityProperties]? public init(groupCertificateAuthorities: [GroupCertificateAuthorityProperties]? = nil) { @@ -756,9 +766,9 @@ extension Greengrass { ] /// A container of data for all resource types. public let resourceDataContainer: ResourceDataContainer? - /// A descriptive resource name. + /// 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. public let name: String? - /// Resource Id. + /// 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. public let id: String? public init(resourceDataContainer: ResourceDataContainer? = nil, name: String? = nil, id: String? = nil) { @@ -844,9 +854,9 @@ extension Greengrass { AWSShapeMember(label: "DetailedErrorMessage", required: false, type: .string), AWSShapeMember(label: "DetailedErrorCode", required: false, type: .string) ] - /// Detailed Error Message + /// A detailed error message. public let detailedErrorMessage: String? - /// Detailed Error Code + /// A detailed error code. public let detailedErrorCode: String? public init(detailedErrorMessage: String? = nil, detailedErrorCode: String? = nil) { @@ -883,7 +893,7 @@ extension Greengrass { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DisassociatedAt", required: false, type: .string) ] - /// Time when the role was disassociated from the group. + /// The time, in milliseconds since the epoch, when the role was disassociated from the group. public let disassociatedAt: String? public init(disassociatedAt: String? = nil) { @@ -903,15 +913,15 @@ extension Greengrass { AWSShapeMember(label: "Definition", required: false, type: .structure), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// Version of the function definition version. + /// The version of the function definition version. public let version: String? - /// Arn of the function definition version. + /// The ARN of the function definition version. public let arn: String? - /// Timestamp when the funtion definition version was created. + /// The time, in milliseconds since the epoch, when the function definition version was created. public let creationTimestamp: String? /// Information on the definition. public let definition: FunctionDefinitionVersion? - /// Id of the function definition the version belongs to. + /// The ID of the function definition version. public let id: String? public init(version: String? = nil, arn: String? = nil, creationTimestamp: String? = nil, definition: FunctionDefinitionVersion? = nil, id: String? = nil) { @@ -936,7 +946,7 @@ extension Greengrass { AWSShapeMember(label: "ConnectivityInfo", required: false, type: .list), AWSShapeMember(label: "ThingName", location: .uri(locationName: "ThingName"), required: true, type: .string) ] - /// Connectivity info list + /// A list of connectivity info. public let connectivityInfo: [ConnectivityInfo]? public let thingName: String @@ -955,7 +965,7 @@ extension Greengrass { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Resources", required: false, type: .list) ] - /// List of resources. + /// A list of resources. public let resources: [Resource]? public init(resources: [Resource]? = nil) { @@ -1021,25 +1031,6 @@ extension Greengrass { } } - public struct ListLoggerDefinitionVersionsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Versions", required: false, type: .list) - ] - public let nextToken: String? - public let versions: [VersionInformation]? - - public init(nextToken: String? = nil, versions: [VersionInformation]? = nil) { - self.nextToken = nextToken - self.versions = versions - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case versions = "Versions" - } - } - public struct UpdateLoggerDefinitionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LoggerDefinitionId", location: .uri(locationName: "LoggerDefinitionId"), required: true, type: .string), @@ -1059,18 +1050,22 @@ extension Greengrass { } } - public struct GetResourceDefinitionRequest: AWSShape { + public struct ListLoggerDefinitionVersionsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ResourceDefinitionId", location: .uri(locationName: "ResourceDefinitionId"), required: true, type: .string) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Versions", required: false, type: .list) ] - public let resourceDefinitionId: String + public let nextToken: String? + public let versions: [VersionInformation]? - public init(resourceDefinitionId: String) { - self.resourceDefinitionId = resourceDefinitionId + public init(nextToken: String? = nil, versions: [VersionInformation]? = nil) { + self.nextToken = nextToken + self.versions = versions } private enum CodingKeys: String, CodingKey { - case resourceDefinitionId = "ResourceDefinitionId" + case nextToken = "NextToken" + case versions = "Versions" } } @@ -1081,13 +1076,13 @@ extension Greengrass { AWSShapeMember(label: "ThingArn", required: false, type: .string), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// If true, the local shadow value automatically syncs with the cloud's shadow state. + /// If true, the core's local shadow is automatically synced with the cloud. public let syncShadow: Bool? - /// Certificate arn of the core. + /// The ARN of the certificate associated with the core. public let certificateArn: String? - /// Thing arn of the core. + /// The ARN of the thing which is the core. public let thingArn: String? - /// Element Id for this entry in the list. + /// The ID of the core. public let id: String? public init(syncShadow: Bool? = nil, certificateArn: String? = nil, thingArn: String? = nil, id: String? = nil) { @@ -1105,6 +1100,21 @@ extension Greengrass { } } + public struct GetResourceDefinitionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceDefinitionId", location: .uri(locationName: "ResourceDefinitionId"), required: true, type: .string) + ] + public let resourceDefinitionId: String + + public init(resourceDefinitionId: String) { + self.resourceDefinitionId = resourceDefinitionId + } + + private enum CodingKeys: String, CodingKey { + case resourceDefinitionId = "ResourceDefinitionId" + } + } + public struct ListDeviceDefinitionVersionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DeviceDefinitionId", location: .uri(locationName: "DeviceDefinitionId"), required: true, type: .string), @@ -1236,42 +1246,47 @@ extension Greengrass { public struct FunctionConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Environment", required: false, type: .structure), AWSShapeMember(label: "Executable", required: false, type: .string), - AWSShapeMember(label: "Timeout", required: false, type: .integer), AWSShapeMember(label: "MemorySize", required: false, type: .integer), AWSShapeMember(label: "ExecArgs", required: false, type: .string), - AWSShapeMember(label: "Pinned", required: false, type: .boolean) + AWSShapeMember(label: "Pinned", required: false, type: .boolean), + AWSShapeMember(label: "Environment", required: false, type: .structure), + AWSShapeMember(label: "EncodingType", required: false, type: .enum), + AWSShapeMember(label: "Timeout", required: false, type: .integer) ] - /// Environment of the function configuration - public let environment: FunctionConfigurationEnvironment? - /// Executable + /// The name of the function executable. public let executable: String? - /// The function execution time at which Lambda should terminate the function. This timeout still applies to pinned lambdas for each request. - public let timeout: Int32? - /// The memory size, in KB, you configured for the function. + /// The memory size, in KB, which the function requires. public let memorySize: Int32? - /// Execution Arguments + /// The execution arguments. public let execArgs: String? - /// Whether the function is pinned or not. Pinned means the function is long-lived and starts when the core starts. + /// True if the function is pinned. Pinned means the function is long-lived and starts when the core starts. public let pinned: Bool? + /// The environment configuration of the function. + public let environment: FunctionConfigurationEnvironment? + /// The expected encoding type of the input payload for the function. The default is ''json''. + public let encodingType: EncodingType? + /// The allowed function execution time, after which Lambda should terminate the function. This timeout still applies to pinned lambdas for each request. + public let timeout: Int32? - public init(environment: FunctionConfigurationEnvironment? = nil, executable: String? = nil, timeout: Int32? = nil, memorySize: Int32? = nil, execArgs: String? = nil, pinned: Bool? = nil) { - self.environment = environment + public init(executable: String? = nil, memorySize: Int32? = nil, execArgs: String? = nil, pinned: Bool? = nil, environment: FunctionConfigurationEnvironment? = nil, encodingType: EncodingType? = nil, timeout: Int32? = nil) { self.executable = executable - self.timeout = timeout self.memorySize = memorySize self.execArgs = execArgs self.pinned = pinned + self.environment = environment + self.encodingType = encodingType + self.timeout = timeout } private enum CodingKeys: String, CodingKey { - case environment = "Environment" case executable = "Executable" - case timeout = "Timeout" case memorySize = "MemorySize" case execArgs = "ExecArgs" case pinned = "Pinned" + case environment = "Environment" + case encodingType = "EncodingType" + case timeout = "Timeout" } } @@ -1355,7 +1370,7 @@ extension Greengrass { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AssociatedAt", required: false, type: .string) ] - /// Time when the service role was associated to the account. + /// The time when the service role was associated with the account. public let associatedAt: String? public init(associatedAt: String? = nil) { @@ -1422,9 +1437,9 @@ extension Greengrass { AWSShapeMember(label: "AutoAddGroupOwner", required: false, type: .boolean), AWSShapeMember(label: "GroupOwner", required: false, type: .string) ] - /// Eanble the auto added group owner. + /// 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. public let autoAddGroupOwner: Bool? - /// Name of the group owner. + /// The name of the Linux OS group whose privileges will be added to the Lambda process. This field is optional. public let groupOwner: String? public init(autoAddGroupOwner: Bool? = nil, groupOwner: String? = nil) { @@ -1453,6 +1468,27 @@ extension Greengrass { } } + public struct SageMakerMachineLearningModelResourceData: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SageMakerJobArn", required: false, type: .string), + AWSShapeMember(label: "DestinationPath", required: false, type: .string) + ] + /// The ARN of the SageMaker training job that represents the source model. + public let sageMakerJobArn: String? + /// The absolute local path of the resource inside the Lambda environment. + public let destinationPath: String? + + public init(sageMakerJobArn: String? = nil, destinationPath: String? = nil) { + self.sageMakerJobArn = sageMakerJobArn + self.destinationPath = destinationPath + } + + private enum CodingKeys: String, CodingKey { + case sageMakerJobArn = "SageMakerJobArn" + case destinationPath = "DestinationPath" + } + } + public struct CreateDeviceDefinitionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Arn", required: false, type: .string), @@ -1570,9 +1606,9 @@ extension Greengrass { AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string), AWSShapeMember(label: "Version", required: false, type: .string) ] - /// Response Text + /// A message about the connectivity info update request. public let message: String? - /// New Version + /// The new version of the connectivity info. public let version: String? public init(message: String? = nil, version: String? = nil) { @@ -1721,7 +1757,7 @@ extension Greengrass { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DisassociatedAt", required: false, type: .string) ] - /// Time when the service role was disassociated from the account. + /// The time when the service role was disassociated from the account. public let disassociatedAt: String? public init(disassociatedAt: String? = nil) { @@ -1780,15 +1816,15 @@ extension Greengrass { AWSShapeMember(label: "Type", required: false, type: .enum), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// The level of the logs + /// The level of the logs. public let level: LoggerLevel? - /// The component that will be subject to logs + /// The component that will be subject to logging. public let component: LoggerComponent? - /// Amount of hardware space, in KB, to use if file system is used for logging purposes. + /// The amount of file space, in KB, to use if the local file system is used for logging purposes. public let space: Int32? - /// The type which will be use for log output + /// The type of log output which will be used. public let `type`: LoggerType? - /// Element Id for this entry in the list. + /// The id of the logger. public let id: String? public init(level: LoggerLevel? = nil, component: LoggerComponent? = nil, space: Int32? = nil, type: LoggerType? = nil, id: String? = nil) { @@ -1897,15 +1933,15 @@ extension Greengrass { AWSShapeMember(label: "ErrorMessage", required: false, type: .string), AWSShapeMember(label: "DeploymentStatus", required: false, type: .string) ] - /// Last time the deployment status was updated. + /// The time, in milliseconds since the epoch, when the deployment status was updated. public let updatedAt: String? - /// The error Details + /// Error details public let errorDetails: [ErrorDetail]? /// The type of the deployment. public let deploymentType: DeploymentType? - /// Error Message + /// Error message public let errorMessage: String? - /// Status of the deployment. + /// The status of the deployment. public let deploymentStatus: String? public init(updatedAt: String? = nil, errorDetails: [ErrorDetail]? = nil, deploymentType: DeploymentType? = nil, errorMessage: String? = nil, deploymentStatus: String? = nil) { @@ -1953,9 +1989,9 @@ extension Greengrass { AWSShapeMember(label: "ResourceId", required: false, type: .string), AWSShapeMember(label: "Permission", required: false, type: .enum) ] - /// Id of the resource. A reference to the resource definiton. + /// The ID of the resource. (This ID is assigned to the resource when you create the resource definiton.) public let resourceId: String? - /// The function's access permission to the resource. + /// The permissions that the Lambda function has to the resource. Can be one of ''rw'' (read/write) or ''ro'' (read-only). public let permission: Permission? public init(resourceId: String? = nil, permission: Permission? = nil) { @@ -2013,9 +2049,9 @@ extension Greengrass { AWSShapeMember(label: "DeploymentId", required: false, type: .string), AWSShapeMember(label: "DeploymentArn", required: false, type: .string) ] - /// The id of the deployment. + /// The ID of the deployment. public let deploymentId: String? - /// The arn of the deployment. + /// The ARN of the deployment. public let deploymentArn: String? public init(deploymentId: String? = nil, deploymentArn: String? = nil) { @@ -2029,34 +2065,11 @@ extension Greengrass { } } - public struct ListDeploymentsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .querystring(locationName: "NextToken"), required: false, type: .string), - AWSShapeMember(label: "GroupId", location: .uri(locationName: "GroupId"), required: true, type: .string), - AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "MaxResults"), required: false, type: .string) - ] - public let nextToken: String? - public let groupId: String - public let maxResults: String? - - public init(nextToken: String? = nil, groupId: String, maxResults: String? = nil) { - self.nextToken = nextToken - self.groupId = groupId - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case groupId = "GroupId" - case maxResults = "MaxResults" - } - } - public struct DeviceDefinitionVersion: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Devices", required: false, type: .list) ] - /// Devices in the definition version. + /// A list of devices in the definition version. public let devices: [Device]? public init(devices: [Device]? = nil) { @@ -2110,14 +2123,30 @@ extension Greengrass { } } + public struct AssociateRoleToGroupResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AssociatedAt", required: false, type: .string) + ] + /// The time, in milliseconds since the epoch, when the role ARN was associated with the group. + public let associatedAt: String? + + public init(associatedAt: String? = nil) { + self.associatedAt = associatedAt + } + + private enum CodingKeys: String, CodingKey { + case associatedAt = "AssociatedAt" + } + } + public struct LocalDeviceResourceData: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GroupOwnerSetting", required: false, type: .structure), AWSShapeMember(label: "SourcePath", required: false, type: .string) ] - /// Group owner related settings for local resources. + /// Group/owner related settings for local resources. public let groupOwnerSetting: GroupOwnerSetting? - /// Local source path of the resource. + /// 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''. public let sourcePath: String? public init(groupOwnerSetting: GroupOwnerSetting? = nil, sourcePath: String? = nil) { @@ -2131,19 +2160,32 @@ extension Greengrass { } } - public struct AssociateRoleToGroupResponse: AWSShape { + public enum EncodingType: String, CustomStringConvertible, Codable { + case binary = "binary" + case json = "json" + public var description: String { return self.rawValue } + } + + public struct ListDeploymentsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AssociatedAt", required: false, type: .string) + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "NextToken"), required: false, type: .string), + AWSShapeMember(label: "GroupId", location: .uri(locationName: "GroupId"), required: true, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "MaxResults"), required: false, type: .string) ] - /// Time the role arn was associated to your group. - public let associatedAt: String? + public let nextToken: String? + public let groupId: String + public let maxResults: String? - public init(associatedAt: String? = nil) { - self.associatedAt = associatedAt + public init(nextToken: String? = nil, groupId: String, maxResults: String? = nil) { + self.nextToken = nextToken + self.groupId = groupId + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case associatedAt = "AssociatedAt" + case nextToken = "NextToken" + case groupId = "GroupId" + case maxResults = "MaxResults" } } @@ -2174,7 +2216,7 @@ extension Greengrass { ] public let amznClientToken: String? public let groupId: String - /// When set to true, perform a best-effort only core reset. + /// If true, performs a best-effort only core reset. public let force: Bool? public init(amznClientToken: String? = nil, groupId: String, force: Bool? = nil) { @@ -2206,15 +2248,15 @@ extension Greengrass { AWSShapeMember(label: "GroupArn", required: false, type: .string), AWSShapeMember(label: "DeploymentArn", required: false, type: .string) ] - /// Id of the deployment. + /// The ID of the deployment. public let deploymentId: String? - /// Timestamp when the deployment was created. + /// The time, in milliseconds since the epoch, when the deployment was created. public let createdAt: String? - /// The type of deployment. + /// The type of the deployment. public let deploymentType: DeploymentType? - /// Arn of the group for this deployment. + /// The ARN of the group for this deployment. public let groupArn: String? - /// Arn of the deployment. + /// The ARN of the deployment. public let deploymentArn: String? public init(deploymentId: String? = nil, createdAt: String? = nil, deploymentType: DeploymentType? = nil, groupArn: String? = nil, deploymentArn: String? = nil) { @@ -2243,7 +2285,7 @@ extension Greengrass { AWSShapeMember(label: "RoleArn", required: false, type: .string), AWSShapeMember(label: "GroupId", location: .uri(locationName: "GroupId"), required: true, type: .string) ] - /// Role arn you wish to associate with this group. + /// The ARN of the role you wish to associate with this group. public let roleArn: String? public let groupId: String @@ -2294,7 +2336,7 @@ extension Greengrass { ] /// The token for the next set of results, or ''null'' if there are no additional results. public let nextToken: String? - /// Versions + /// Information about a version. public let versions: [VersionInformation]? public init(nextToken: String? = nil, versions: [VersionInformation]? = nil) { @@ -2314,11 +2356,11 @@ extension Greengrass { AWSShapeMember(label: "SourcePath", required: false, type: .string), AWSShapeMember(label: "DestinationPath", required: false, type: .string) ] - /// Group owner related settings for local resources. + /// Allows you to configure additional group privileges for the Lambda process. This field is optional. public let groupOwnerSetting: GroupOwnerSetting? - /// Local source path of the resource. + /// The local absolute path of the volume resource on the host. The source path for a volume resource type cannot start with ''/sys''. public let sourcePath: String? - /// Local destination path of the resource. + /// The absolute local path of the resource inside the lambda environment. public let destinationPath: String? public init(groupOwnerSetting: GroupOwnerSetting? = nil, sourcePath: String? = nil, destinationPath: String? = nil) { @@ -2340,11 +2382,11 @@ extension Greengrass { AWSShapeMember(label: "FunctionArn", required: false, type: .string), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// Configuration of the function + /// The configuration of the Lambda function. public let functionConfiguration: FunctionConfiguration? - /// Arn of the Lambda function. + /// The ARN of the Lambda function. public let functionArn: String? - /// Id of the function in this version. + /// The ID of the Lambda function. public let id: String? public init(functionConfiguration: FunctionConfiguration? = nil, functionArn: String? = nil, id: String? = nil) { @@ -2469,15 +2511,15 @@ extension Greengrass { AWSShapeMember(label: "Definition", required: false, type: .structure), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// Version of the subscription definition version. + /// The version of the subscription definition version. public let version: String? - /// Arn of the subscription definition version. + /// The ARN of the subscription definition version. public let arn: String? - /// Timestamp of when the subscription definition version was created. + /// The time, in milliseconds since the epoch, when the subscription definition version was created. public let creationTimestamp: String? - /// Information on the definition + /// Information about the subscription definition version. public let definition: SubscriptionDefinitionVersion? - /// Id of the subscription definition the version belongs to. + /// The ID of the subscription definition version. public let id: String? public init(version: String? = nil, arn: String? = nil, creationTimestamp: String? = nil, definition: SubscriptionDefinitionVersion? = nil, id: String? = nil) { @@ -2540,9 +2582,9 @@ extension Greengrass { AWSShapeMember(label: "DeploymentId", required: false, type: .string), AWSShapeMember(label: "DeploymentArn", required: false, type: .string) ] - /// The id of the reset deployment. + /// The ID of the deployment. public let deploymentId: String? - /// The arn of the reset deployment. + /// The ARN of the deployment. public let deploymentArn: String? public init(deploymentId: String? = nil, deploymentArn: String? = nil) { @@ -2561,9 +2603,9 @@ extension Greengrass { AWSShapeMember(label: "ConnectivityInfo", required: false, type: .list), AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) ] - /// Connectivity info list + /// Connectivity info list. public let connectivityInfo: [ConnectivityInfo]? - /// Response Text + /// A message about the connectivity info request. public let message: String? public init(connectivityInfo: [ConnectivityInfo]? = nil, message: String? = nil) { @@ -2756,15 +2798,15 @@ extension Greengrass { AWSShapeMember(label: "Definition", required: false, type: .structure), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// Version of the core definition version. + /// The version of the core definition version. public let version: String? - /// Arn of the core definition version. + /// The ARN of the core definition version. public let arn: String? - /// Timestamp of when the core definition version was created. + /// The time, in milliseconds since the epoch, when the core definition version was created. public let creationTimestamp: String? - /// Information on definition + /// Information about the core definition version. public let definition: CoreDefinitionVersion? - /// Id of the core definition the version belongs to. + /// The ID of the core definition version. public let id: String? public init(version: String? = nil, arn: String? = nil, creationTimestamp: String? = nil, definition: CoreDefinitionVersion? = nil, id: String? = nil) { @@ -2812,9 +2854,9 @@ extension Greengrass { AWSShapeMember(label: "IotJobId", required: false, type: .string), AWSShapeMember(label: "IotJobArn", required: false, type: .string) ] - /// The Iot Job Id corresponding to this update. + /// The IoT Job Id corresponding to this update. public let iotJobId: String? - /// The Iot Job Arn corresponding to this update. + /// The IoT Job ARN corresponding to this update. public let iotJobArn: String? public init(iotJobId: String? = nil, iotJobArn: String? = nil) { @@ -2856,9 +2898,9 @@ extension Greengrass { AWSShapeMember(label: "RoleArn", required: false, type: .string), AWSShapeMember(label: "AssociatedAt", required: false, type: .string) ] - /// Role arn which is associated to the account. + /// The ARN of the role which is associated with the account. public let roleArn: String? - /// Time when the service role was associated to the account. + /// The time when the service role was associated with the account. public let associatedAt: String? public init(roleArn: String? = nil, associatedAt: String? = nil) { @@ -2886,15 +2928,15 @@ extension Greengrass { AWSShapeMember(label: "Definition", required: false, type: .structure), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// Version of the device definition version. + /// The version of the device definition version. public let version: String? - /// Arn of the device definition version. + /// The ARN of the device definition version. public let arn: String? - /// Timestamp of when the device definition version was created. + /// The time, in milliseconds since the epoch, when the device definition version was created. public let creationTimestamp: String? - /// Device definition version + /// Information about the device definition version. public let definition: DeviceDefinitionVersion? - /// Id of the device definition the version belongs to. + /// The ID of the device definition version. public let id: String? public init(version: String? = nil, arn: String? = nil, creationTimestamp: String? = nil, definition: DeviceDefinitionVersion? = nil, id: String? = nil) { @@ -2924,19 +2966,19 @@ extension Greengrass { AWSShapeMember(label: "LatestVersion", required: false, type: .string), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// Arn of the definition. + /// The ARN of the definition. public let arn: String? - /// Timestamp of when the definition was created. + /// The time, in milliseconds since the epoch, when the definition was created. public let creationTimestamp: String? - /// Name of the definition. + /// The name of the definition. public let name: String? - /// Last updated timestamp of the definition. + /// The time, in milliseconds since the epoch, when the definition was last updated. public let lastUpdatedTimestamp: String? - /// Latest version arn of the definition. + /// The ARN of the latest version of the definition. public let latestVersionArn: String? - /// Last version of the definition. + /// The latest version of the definition. public let latestVersion: String? - /// Id of the definition. + /// The ID of the definition. public let id: String? public init(arn: String? = nil, creationTimestamp: String? = nil, name: String? = nil, lastUpdatedTimestamp: String? = nil, latestVersionArn: String? = nil, latestVersion: String? = nil, id: String? = nil) { @@ -2964,7 +3006,7 @@ extension Greengrass { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RoleArn", required: false, type: .string) ] - /// Role arn you wish to associate with this account. + /// The ARN of the service role you wish to associate with your account. public let roleArn: String? public init(roleArn: String? = nil) { @@ -2981,9 +3023,9 @@ extension Greengrass { AWSShapeMember(label: "ErrorDetails", required: false, type: .list), AWSShapeMember(label: "Message", required: false, type: .string) ] - /// Error Details + /// Details about the error. public let errorDetails: [ErrorDetail]? - /// Message containing information about the error + /// A message containing information about the error. public let message: String? public init(errorDetails: [ErrorDetail]? = nil, message: String? = nil) { @@ -3010,11 +3052,11 @@ extension Greengrass { AWSShapeMember(label: "GroupCertificateAuthorityId", required: false, type: .string), AWSShapeMember(label: "GroupCertificateAuthorityArn", required: false, type: .string) ] - /// PEM encoded certificate for the group. + /// The PEM encoded certificate for the group. public let pemEncodedCertificate: String? - /// Id of the certificate authority for the group. + /// The ID of the certificate authority for the group. public let groupCertificateAuthorityId: String? - /// Arn of the certificate authority for the group. + /// The ARN of the certificate authority for the group. public let groupCertificateAuthorityArn: String? public init(pemEncodedCertificate: String? = nil, groupCertificateAuthorityId: String? = nil, groupCertificateAuthorityArn: String? = nil) { @@ -3035,9 +3077,9 @@ extension Greengrass { AWSShapeMember(label: "RoleArn", required: false, type: .string), AWSShapeMember(label: "AssociatedAt", required: false, type: .string) ] - /// Arn of the role that is associated with the group. + /// The ARN of the role that is associated with the group. public let roleArn: String? - /// Time when the role was associated for the group. + /// The time when the role was associated with the group. public let associatedAt: String? public init(roleArn: String? = nil, associatedAt: String? = nil) { @@ -3089,7 +3131,7 @@ extension Greengrass { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Cores", required: false, type: .list) ] - /// Cores in the definition version. + /// A list of cores in the core definition version. public let cores: [Core]? public init(cores: [Core]? = nil) { @@ -3164,7 +3206,7 @@ extension Greengrass { AWSShapeMember(label: "Definitions", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// Definitions + /// Information about a definition. public let definitions: [DefinitionInformation]? /// The token for the next set of results, or ''null'' if there are no additional results. public let nextToken: String? @@ -3251,9 +3293,9 @@ extension Greengrass { AWSShapeMember(label: "GroupCertificateAuthorityId", required: false, type: .string), AWSShapeMember(label: "GroupCertificateAuthorityArn", required: false, type: .string) ] - /// Id of the certificate authority for the group. + /// The ID of the certificate authority for the group. public let groupCertificateAuthorityId: String? - /// Arn of the certificate authority for the group. + /// The ARN of the certificate authority for the group. public let groupCertificateAuthorityArn: String? public init(groupCertificateAuthorityId: String? = nil, groupCertificateAuthorityArn: String? = nil) { @@ -3309,6 +3351,27 @@ extension Greengrass { } } + public struct S3MachineLearningModelResourceData: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "S3Uri", required: false, type: .string), + AWSShapeMember(label: "DestinationPath", required: false, type: .string) + ] + /// The URI of the source model in an S3 bucket. The model package must be in tar.gz or .zip format. + public let s3Uri: String? + /// The absolute local path of the resource inside the Lambda environment. + public let destinationPath: String? + + public init(s3Uri: String? = nil, destinationPath: String? = nil) { + self.s3Uri = s3Uri + self.destinationPath = destinationPath + } + + private enum CodingKeys: String, CodingKey { + case s3Uri = "S3Uri" + case destinationPath = "DestinationPath" + } + } + public struct GetLoggerDefinitionVersionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Version", required: false, type: .string), @@ -3317,15 +3380,15 @@ extension Greengrass { AWSShapeMember(label: "Definition", required: false, type: .structure), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// Version of the logger definition version. + /// The version of the logger definition version. public let version: String? - /// Arn of the logger definition version. + /// The ARN of the logger definition version. public let arn: String? - /// Timestamp of when the logger definition version was created. + /// The time, in milliseconds since the epoch, when the logger definition version was created. public let creationTimestamp: String? - /// Information on definition + /// Information about the logger definition version. public let definition: LoggerDefinitionVersion? - /// Id of the logger definition the version belongs to. + /// The ID of the logger definition version. public let id: String? public init(version: String? = nil, arn: String? = nil, creationTimestamp: String? = nil, definition: LoggerDefinitionVersion? = nil, id: String? = nil) { @@ -3424,10 +3487,11 @@ extension Greengrass { AWSShapeMember(label: "Variables", required: false, type: .map), AWSShapeMember(label: "AccessSysfs", required: false, type: .boolean) ] - /// Policies for the function to access resources. + /// 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. public let resourceAccessPolicies: [ResourceAccessPolicy]? + /// Environment variables for the Lambda function's configuration. public let variables: [String: String]? - /// Flag to allow lambda access sys filesystem. + /// 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. public let accessSysfs: Bool? public init(resourceAccessPolicies: [ResourceAccessPolicy]? = nil, variables: [String: String]? = nil, accessSysfs: Bool? = nil) { @@ -3488,19 +3552,19 @@ extension Greengrass { AWSShapeMember(label: "LatestVersion", required: false, type: .string), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// Arn of a group. + /// The ARN of the group. public let arn: String? - /// Timestamp of when the group was created. + /// The time, in milliseconds since the epoch, when the group was created. public let creationTimestamp: String? - /// Name of a group. + /// The name of the group. public let name: String? - /// Last updated timestamp of the group. + /// The time, in milliseconds since the epoch, when the group was last updated. public let lastUpdatedTimestamp: String? - /// Latest version arn of the group. + /// The ARN of the latest version of the group. public let latestVersionArn: String? - /// Last version of the group. + /// The latest version of the group. public let latestVersion: String? - /// Id of a group. + /// The ID of the group. public let id: String? public init(arn: String? = nil, creationTimestamp: String? = nil, name: String? = nil, lastUpdatedTimestamp: String? = nil, latestVersionArn: String? = nil, latestVersion: String? = nil, id: String? = nil) { @@ -3622,11 +3686,11 @@ extension Greengrass { AWSShapeMember(label: "AmznClientToken", location: .header(locationName: "X-Amzn-Client-Token"), required: false, type: .string), AWSShapeMember(label: "GroupId", location: .uri(locationName: "GroupId"), required: true, type: .string) ] - /// Id of the deployment if you wish to redeploy a previous deployment. + /// The ID of the deployment if you wish to redeploy a previous deployment. public let deploymentId: String? - /// Group Version you wish to deploy. + /// The ID of the group version to be deployed. public let groupVersionId: String? - /// Type of deployment. When used in CreateDeployment, only NewDeployment and Redeployment are valid. + /// The type of deployment. When used in ''CreateDeployment'', only ''NewDeployment'' and ''Redeployment'' are valid. public let deploymentType: DeploymentType? public let amznClientToken: String? public let groupId: String @@ -3691,7 +3755,7 @@ extension Greengrass { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Subscriptions", required: false, type: .list) ] - /// Subscriptions in the version. + /// A list of subscriptions. public let subscriptions: [Subscription]? public init(subscriptions: [Subscription]? = nil) { @@ -3752,13 +3816,13 @@ extension Greengrass { AWSShapeMember(label: "CreationTimestamp", required: false, type: .string), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// Unique Id of a version. + /// The unique ID of the version. public let version: String? - /// Arn of the version. + /// The ARN of the version. public let arn: String? - /// Timestamp of when the version was created. + /// The time, in milliseconds since the epoch, when the version was created. public let creationTimestamp: String? - /// Id of the resource container. + /// The ID of the version. public let id: String? public init(version: String? = nil, arn: String? = nil, creationTimestamp: String? = nil, id: String? = nil) { @@ -3779,30 +3843,30 @@ extension Greengrass { public struct ConnectivityInfo: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Metadata", required: false, type: .string), - AWSShapeMember(label: "PortNumber", required: false, type: .integer), AWSShapeMember(label: "HostAddress", required: false, type: .string), + AWSShapeMember(label: "PortNumber", required: false, type: .integer), AWSShapeMember(label: "Id", required: false, type: .string) ] /// Metadata for this endpoint. public let metadata: String? - /// Port of the GGC. Usually 8883. - public let portNumber: Int32? - /// Endpoint for the GGC. Can be an IP address or DNS. + /// The endpoint for the Greengrass core. Can be an IP address or DNS. public let hostAddress: String? - /// Element Id for this entry in the list. + /// The port of the Greengrass core. Usually 8883. + public let portNumber: Int32? + /// The ID of the connectivity information. public let id: String? - public init(metadata: String? = nil, portNumber: Int32? = nil, hostAddress: String? = nil, id: String? = nil) { + public init(metadata: String? = nil, hostAddress: String? = nil, portNumber: Int32? = nil, id: String? = nil) { self.metadata = metadata - self.portNumber = portNumber self.hostAddress = hostAddress + self.portNumber = portNumber self.id = id } private enum CodingKeys: String, CodingKey { case metadata = "Metadata" - case portNumber = "PortNumber" case hostAddress = "HostAddress" + case portNumber = "PortNumber" case id = "Id" } } @@ -3811,7 +3875,7 @@ extension Greengrass { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Loggers", required: false, type: .list) ] - /// List of loggers. + /// A list of loggers. public let loggers: [Logger]? public init(loggers: [Logger]? = nil) { @@ -3850,7 +3914,7 @@ extension Greengrass { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Functions", required: false, type: .list) ] - /// Lambda functions in this function definition version. + /// A list of Lambda functions in this function definition version. public let functions: [Function]? public init(functions: [Function]? = nil) { @@ -3869,13 +3933,13 @@ extension Greengrass { AWSShapeMember(label: "ThingArn", required: false, type: .string), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// If true, the local shadow value automatically syncs with the cloud's shadow state. + /// If true, the device's local shadow will be automatically synced with the cloud. public let syncShadow: Bool? - /// Certificate arn of the device. + /// The ARN of the certificate associated with the device. public let certificateArn: String? - /// Thing arn of the device. + /// The thing ARN of the device. public let thingArn: String? - /// Element Id for this entry in the list. + /// The ID of the device. public let id: String? public init(syncShadow: Bool? = nil, certificateArn: String? = nil, thingArn: String? = nil, id: String? = nil) { diff --git a/Sources/AWSSDKSwift/Services/health/Health_Shapes.swift b/Sources/AWSSDKSwift/Services/health/Health_Shapes.swift index 8199f08341a..70b816c4aaf 100644 --- a/Sources/AWSSDKSwift/Services/health/Health_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/health/Health_Shapes.swift @@ -23,47 +23,47 @@ extension Health { public struct AffectedEntity: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "lastUpdatedTime", required: false, type: .timestamp), + AWSShapeMember(label: "entityValue", required: false, type: .string), AWSShapeMember(label: "statusCode", required: false, type: .enum), AWSShapeMember(label: "entityArn", required: false, type: .string), AWSShapeMember(label: "tags", required: false, type: .map), - AWSShapeMember(label: "awsAccountId", required: false, type: .string), AWSShapeMember(label: "eventArn", required: false, type: .string), - AWSShapeMember(label: "entityValue", required: false, type: .string) + AWSShapeMember(label: "awsAccountId", required: false, type: .string), + AWSShapeMember(label: "lastUpdatedTime", required: false, type: .timestamp) ] - /// The most recent time that the entity was updated. - public let lastUpdatedTime: TimeStamp? + /// The ID of the affected entity. + public let entityValue: String? /// The most recent status of the entity affected by the event. The possible values are IMPAIRED, UNIMPAIRED, and UNKNOWN. public let statusCode: EntityStatusCode? /// 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 public let entityArn: String? /// A map of entity tags attached to the affected entity. public let tags: [String: String]? - /// The 12-digit AWS account number that contains the affected entity. - public let awsAccountId: String? /// The unique identifier for the event. Format: arn:aws:health:event-region::event/EVENT_TYPE_PLUS_ID . Example: arn:aws:health:us-east-1::event/AWS_EC2_MAINTENANCE_5331 public let eventArn: String? - /// The ID of the affected entity. - public let entityValue: String? + /// The 12-digit AWS account number that contains the affected entity. + public let awsAccountId: String? + /// The most recent time that the entity was updated. + public let lastUpdatedTime: TimeStamp? - public init(lastUpdatedTime: TimeStamp? = nil, statusCode: EntityStatusCode? = nil, entityArn: String? = nil, tags: [String: String]? = nil, awsAccountId: String? = nil, eventArn: String? = nil, entityValue: String? = nil) { - self.lastUpdatedTime = lastUpdatedTime + public init(entityValue: String? = nil, statusCode: EntityStatusCode? = nil, entityArn: String? = nil, tags: [String: String]? = nil, eventArn: String? = nil, awsAccountId: String? = nil, lastUpdatedTime: TimeStamp? = nil) { + self.entityValue = entityValue self.statusCode = statusCode self.entityArn = entityArn self.tags = tags - self.awsAccountId = awsAccountId self.eventArn = eventArn - self.entityValue = entityValue + self.awsAccountId = awsAccountId + self.lastUpdatedTime = lastUpdatedTime } private enum CodingKeys: String, CodingKey { - case lastUpdatedTime = "lastUpdatedTime" + case entityValue = "entityValue" case statusCode = "statusCode" case entityArn = "entityArn" case tags = "tags" - case awsAccountId = "awsAccountId" case eventArn = "eventArn" - case entityValue = "entityValue" + case awsAccountId = "awsAccountId" + case lastUpdatedTime = "lastUpdatedTime" } } @@ -296,31 +296,31 @@ extension Health { public struct DescribeEventAggregatesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), AWSShapeMember(label: "filter", required: false, type: .structure), AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "nextToken", required: false, type: .string), AWSShapeMember(label: "aggregateField", required: true, type: .enum) ] - /// 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. - public let nextToken: String? /// Values to narrow the results returned. public let filter: EventFilter? /// The maximum number of items to return in one batch, between 10 and 100, inclusive. public let maxResults: Int32? + /// 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. + public let nextToken: String? /// The only currently supported value is eventTypeCategory. public let aggregateField: EventAggregateField - public init(nextToken: String? = nil, filter: EventFilter? = nil, maxResults: Int32? = nil, aggregateField: EventAggregateField) { - self.nextToken = nextToken + public init(filter: EventFilter? = nil, maxResults: Int32? = nil, nextToken: String? = nil, aggregateField: EventAggregateField) { self.filter = filter self.maxResults = maxResults + self.nextToken = nextToken self.aggregateField = aggregateField } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" case filter = "filter" case maxResults = "maxResults" + case nextToken = "nextToken" case aggregateField = "aggregateField" } } @@ -540,61 +540,61 @@ extension Health { public struct DescribeAffectedEntitiesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "maxResults", required: false, type: .integer), - AWSShapeMember(label: "filter", required: true, type: .structure), AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "filter", required: true, type: .structure), AWSShapeMember(label: "locale", required: false, type: .string) ] /// The maximum number of items to return in one batch, between 10 and 100, inclusive. public let maxResults: Int32? - /// Values to narrow the results returned. At least one event ARN is required. - public let filter: EntityFilter /// 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. public let nextToken: String? + /// Values to narrow the results returned. At least one event ARN is required. + public let filter: EntityFilter /// The locale (language) to return information in. English (en) is the default and the only supported value at this time. public let locale: String? - public init(maxResults: Int32? = nil, filter: EntityFilter, nextToken: String? = nil, locale: String? = nil) { + public init(maxResults: Int32? = nil, nextToken: String? = nil, filter: EntityFilter, locale: String? = nil) { self.maxResults = maxResults - self.filter = filter self.nextToken = nextToken + self.filter = filter self.locale = locale } private enum CodingKeys: String, CodingKey { case maxResults = "maxResults" - case filter = "filter" case nextToken = "nextToken" + case filter = "filter" case locale = "locale" } } public struct DescribeEventsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "maxResults", required: false, type: .integer), AWSShapeMember(label: "filter", required: false, type: .structure), AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer), AWSShapeMember(label: "locale", required: false, type: .string) ] - /// The maximum number of items to return in one batch, between 10 and 100, inclusive. - public let maxResults: Int32? /// Values to narrow the results returned. public let filter: EventFilter? /// 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. public let nextToken: String? + /// The maximum number of items to return in one batch, between 10 and 100, inclusive. + public let maxResults: Int32? /// The locale (language) to return information in. English (en) is the default and the only supported value at this time. public let locale: String? - public init(maxResults: Int32? = nil, filter: EventFilter? = nil, nextToken: String? = nil, locale: String? = nil) { - self.maxResults = maxResults + public init(filter: EventFilter? = nil, nextToken: String? = nil, maxResults: Int32? = nil, locale: String? = nil) { self.filter = filter self.nextToken = nextToken + self.maxResults = maxResults self.locale = locale } private enum CodingKeys: String, CodingKey { - case maxResults = "maxResults" case filter = "filter" case nextToken = "nextToken" + case maxResults = "maxResults" case locale = "locale" } } @@ -671,30 +671,30 @@ extension Health { public struct DescribeEventTypesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "maxResults", required: false, type: .integer), - AWSShapeMember(label: "filter", required: false, type: .structure), AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "filter", required: false, type: .structure), AWSShapeMember(label: "locale", required: false, type: .string) ] /// The maximum number of items to return in one batch, between 10 and 100, inclusive. public let maxResults: Int32? - /// Values to narrow the results returned. - public let filter: EventTypeFilter? /// 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. public let nextToken: String? + /// Values to narrow the results returned. + public let filter: EventTypeFilter? /// The locale (language) to return information in. English (en) is the default and the only supported value at this time. public let locale: String? - public init(maxResults: Int32? = nil, filter: EventTypeFilter? = nil, nextToken: String? = nil, locale: String? = nil) { + public init(maxResults: Int32? = nil, nextToken: String? = nil, filter: EventTypeFilter? = nil, locale: String? = nil) { self.maxResults = maxResults - self.filter = filter self.nextToken = nextToken + self.filter = filter self.locale = locale } private enum CodingKeys: String, CodingKey { case maxResults = "maxResults" - case filter = "filter" case nextToken = "nextToken" + case filter = "filter" case locale = "locale" } } diff --git a/Sources/AWSSDKSwift/Services/iam/Iam_API.swift b/Sources/AWSSDKSwift/Services/iam/Iam_API.swift index 0a8d71429a2..dde92226e83 100644 --- a/Sources/AWSSDKSwift/Services/iam/Iam_API.swift +++ b/Sources/AWSSDKSwift/Services/iam/Iam_API.swift @@ -26,17 +26,22 @@ public struct Iam { ) } - /// Lists all managed policies that are attached to the specified IAM user. An IAM user can also have inline policies embedded with it. To list the inline policies for a user, use the ListUserPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide. You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the action returns an empty list. + /// 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. + public func putUserPermissionsBoundary(_ input: PutUserPermissionsBoundaryRequest) throws { + _ = try client.send(operation: "PutUserPermissionsBoundary", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func listAttachedUserPolicies(_ input: ListAttachedUserPoliciesRequest) throws -> ListAttachedUserPoliciesResponse { return try client.send(operation: "ListAttachedUserPolicies", path: "/", httpMethod: "POST", input: input) } - /// Sets the specified version of the specified policy as the policy's default (operative) version. This action affects all users, groups, and roles that the policy is attached to. To list the users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API. For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide. + /// 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. public func setDefaultPolicyVersion(_ input: SetDefaultPolicyVersionRequest) throws { _ = try client.send(operation: "SetDefaultPolicyVersion", path: "/", httpMethod: "POST", input: input) } - /// Retrieves the user name and password-creation date for the specified IAM user. If the user has not been assigned a password, the action returns a 404 (NoSuchEntity) error. + /// 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. public func getLoginProfile(_ input: GetLoginProfileRequest) throws -> GetLoginProfileResponse { return try client.send(operation: "GetLoginProfile", path: "/", httpMethod: "POST", input: input) } @@ -56,7 +61,7 @@ public struct Iam { return try client.send(operation: "CreateUser", path: "/", httpMethod: "POST", input: input) } - /// Creates a new role for your AWS account. For more information about roles, go to Working with Roles. For information about limitations on role names and the number of roles you can create, go to Limitations on IAM Entities in the IAM User Guide. + /// 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. public func createRole(_ input: CreateRoleRequest) throws -> CreateRoleResponse { return try client.send(operation: "CreateRole", path: "/", httpMethod: "POST", input: input) } @@ -66,27 +71,27 @@ public struct Iam { _ = try client.send(operation: "AddUserToGroup", path: "/", httpMethod: "POST", input: input) } - /// Retrieves information about the specified server certificate stored in IAM. For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide. + /// 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. public func getServerCertificate(_ input: GetServerCertificateRequest) throws -> GetServerCertificateResponse { return try client.send(operation: "GetServerCertificate", path: "/", httpMethod: "POST", input: input) } - /// Changes the password of the IAM user who is calling this action. The root account password is not affected by this action. To change the password for a different user, see UpdateLoginProfile. For more information about modifying passwords, see Managing Passwords in the IAM User Guide. + /// 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. public func changePassword(_ input: ChangePasswordRequest) throws { _ = try client.send(operation: "ChangePassword", path: "/", httpMethod: "POST", input: input) } - /// Removes the specified client ID (also known as audience) from the list of client IDs registered for the specified IAM OpenID Connect (OIDC) provider resource object. This action is idempotent; it does not fail or return an error if you try to remove a client ID that does not exist. + /// 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. public func removeClientIDFromOpenIDConnectProvider(_ input: RemoveClientIDFromOpenIDConnectProviderRequest) throws { _ = try client.send(operation: "RemoveClientIDFromOpenIDConnectProvider", path: "/", httpMethod: "POST", input: input) } - /// Updates the name and/or the path of the specified server certificate stored in IAM. For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide. You should understand the implications of changing a server certificate's path or name. For more information, see Renaming a Server Certificate in the IAM User Guide. To change a server certificate name the requester must have appropriate permissions on both the source object and the target object. For example, to change the name from "ProductionCert" to "ProdCert", the entity making the request must have permission on "ProductionCert" and "ProdCert", or must have permission on all (*). For more information about permissions, see Access Management in the IAM User Guide. + /// 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. public func updateServerCertificate(_ input: UpdateServerCertificateRequest) throws { _ = try client.send(operation: "UpdateServerCertificate", path: "/", httpMethod: "POST", input: input) } - /// Updates the name and/or the path of the specified IAM group. You should understand the implications of changing a group's path or name. For more information, see Renaming Users and Groups in the IAM User Guide. To change an IAM group name the requester must have appropriate permissions on both the source object and the target object. For example, to change "Managers" to "MGRs", the entity making the request must have permission on both "Managers" and "MGRs", or must have permission on all (*). For more information about permissions, see Permissions and Policies. + /// 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. public func updateGroup(_ input: UpdateGroupRequest) throws { _ = try client.send(operation: "UpdateGroup", path: "/", httpMethod: "POST", input: input) } @@ -96,7 +101,7 @@ public struct Iam { return try client.send(operation: "CreateInstanceProfile", path: "/", httpMethod: "POST", input: input) } - /// Deletes an OpenID Connect identity provider (IdP) resource object in IAM. Deleting an IAM OIDC provider resource does not update any roles that reference the provider as a principal in their trust policies. Any attempt to assume a role that references a deleted provider fails. This action is idempotent; it does not fail or return an error if you call the action for a provider that does not exist. + /// 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. public func deleteOpenIDConnectProvider(_ input: DeleteOpenIDConnectProviderRequest) throws { _ = try client.send(operation: "DeleteOpenIDConnectProvider", path: "/", httpMethod: "POST", input: input) } @@ -116,7 +121,7 @@ public struct Iam { return try client.send(operation: "ListEntitiesForPolicy", path: "/", httpMethod: "POST", input: input) } - /// Sets the status of an IAM user's SSH public key to active or inactive. SSH public keys that are inactive cannot be used for authentication. This action can be used to disable a user's SSH public key as part of a key rotation work flow. The SSH public key affected by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide. + /// 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. public func updateSSHPublicKey(_ input: UpdateSSHPublicKeyRequest) throws { _ = try client.send(operation: "UpdateSSHPublicKey", path: "/", httpMethod: "POST", input: input) } @@ -126,22 +131,22 @@ public struct Iam { return try client.send(operation: "ListPolicyVersions", path: "/", httpMethod: "POST", input: input) } - /// Removes the specified IAM role from the specified EC2 instance profile. Make sure you do not have any Amazon EC2 instances running with the role you are about to remove from the instance profile. Removing a role from an instance profile that is associated with a running instance might break any applications running on the instance. For more information about IAM roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles. + /// 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. public func removeRoleFromInstanceProfile(_ input: RemoveRoleFromInstanceProfileRequest) throws { _ = try client.send(operation: "RemoveRoleFromInstanceProfile", path: "/", httpMethod: "POST", input: input) } - /// Replaces the existing list of server certificate thumbprints associated with an OpenID Connect (OIDC) provider resource object with a new list of thumbprints. The list that you pass with this action completely replaces the existing list of thumbprints. (The lists are not merged.) Typically, you need to update a thumbprint only when the identity provider's certificate changes, which occurs rarely. However, if the provider's certificate does change, any attempt to assume an IAM role that specifies the OIDC provider as a principal fails until the certificate thumbprint is updated. Because trust for the OIDC provider is ultimately derived from the provider's certificate and is validated by the thumbprint, it is a best practice to limit access to the UpdateOpenIDConnectProviderThumbprint action to highly-privileged users. + /// 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. public func updateOpenIDConnectProviderThumbprint(_ input: UpdateOpenIDConnectProviderThumbprintRequest) throws { _ = try client.send(operation: "UpdateOpenIDConnectProviderThumbprint", path: "/", httpMethod: "POST", input: input) } - /// Uploads a server certificate entity for the AWS account. The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded. We recommend that you use AWS Certificate Manager to provision, manage, and deploy your server certificates. With ACM you can request a certificate, deploy it to AWS resources, and let ACM handle certificate renewals for you. Certificates provided by ACM are free. For more information about using ACM, see the AWS Certificate Manager User Guide. For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide. For information about the number of server certificates you can upload, see Limitations on IAM Entities and Objects in the IAM User Guide. Because the body of the public key certificate, private key, and the certificate chain can be large, you should use POST rather than GET when calling UploadServerCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Calling the API by Making HTTP Query Requests in the IAM User Guide. + /// 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. public func uploadServerCertificate(_ input: UploadServerCertificateRequest) throws -> UploadServerCertificateResponse { return try client.send(operation: "UploadServerCertificate", path: "/", httpMethod: "POST", input: input) } - /// Lists the virtual MFA devices defined in the AWS account by assignment status. If you do not specify an assignment status, the action returns a list of all virtual MFA devices. Assignment status can be Assigned, Unassigned, or Any. You can paginate the results using the MaxItems and Marker parameters. + /// 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. public func listVirtualMFADevices(_ input: ListVirtualMFADevicesRequest) throws -> ListVirtualMFADevicesResponse { return try client.send(operation: "ListVirtualMFADevices", path: "/", httpMethod: "POST", input: input) } @@ -156,7 +161,7 @@ public struct Iam { _ = try client.send(operation: "ResyncMFADevice", path: "/", httpMethod: "POST", input: input) } - /// Uploads an SSH public key and associates it with the specified IAM user. The SSH public key uploaded by this action can be used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide. + /// 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. public func uploadSSHPublicKey(_ input: UploadSSHPublicKeyRequest) throws -> UploadSSHPublicKeyResponse { return try client.send(operation: "UploadSSHPublicKey", path: "/", httpMethod: "POST", input: input) } @@ -171,7 +176,7 @@ public struct Iam { return try client.send(operation: "GetGroupPolicy", path: "/", httpMethod: "POST", input: input) } - /// Lists the instance profiles that have the specified associated IAM role. If there are none, the action returns an empty list. For more information about instance profiles, go to About Instance Profiles. You can paginate the results using the MaxItems and Marker parameters. + /// 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. public func listInstanceProfilesForRole(_ input: ListInstanceProfilesForRoleRequest) throws -> ListInstanceProfilesForRoleResponse { return try client.send(operation: "ListInstanceProfilesForRole", path: "/", httpMethod: "POST", input: input) } @@ -191,27 +196,27 @@ public struct Iam { _ = try client.send(operation: "DeleteSAMLProvider", path: "/", httpMethod: "POST", input: input) } - /// Simulate how a set of IAM policies attached to an IAM entity works with a list of API actions and AWS resources to determine the policies' effective permissions. The entity can be an IAM user, group, or role. If you specify a user, then the simulation also includes all of the policies that are attached to groups that the user belongs to . You can optionally include a list of one or more additional policies specified as strings to include in the simulation. If you want to simulate only policies specified as strings, use SimulateCustomPolicy instead. You can also optionally include one resource-based policy to be evaluated with each of the resources included in the simulation. The simulation does not perform the API actions, it only checks the authorization to determine if the simulated policies allow or deny the actions. Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use SimulateCustomPolicy instead. Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForPrincipalPolicy. If the output is long, you can use the MaxItems and Marker parameters to paginate the results. + /// 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. public func simulatePrincipalPolicy(_ input: SimulatePrincipalPolicyRequest) throws -> SimulatePolicyResponse { return try client.send(operation: "SimulatePrincipalPolicy", path: "/", httpMethod: "POST", input: input) } - /// Retrieves the specified SSH public key, including metadata about the key. The SSH public key retrieved by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide. + /// 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. public func getSSHPublicKey(_ input: GetSSHPublicKeyRequest) throws -> GetSSHPublicKeyResponse { return try client.send(operation: "GetSSHPublicKey", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func getServiceLinkedRoleDeletionStatus(_ input: GetServiceLinkedRoleDeletionStatusRequest) throws -> GetServiceLinkedRoleDeletionStatusResponse { return try client.send(operation: "GetServiceLinkedRoleDeletionStatus", path: "/", httpMethod: "POST", input: input) } - /// Creates a new AWS secret access key and corresponding AWS access key ID for the specified user. The default status for new keys is Active. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users. For information about limits on the number of keys you can create, see Limitations on IAM Entities in the IAM User Guide. To ensure the security of your AWS account, the secret access key is accessible only during key and user creation. You must save the key (for example, in a text file) if you want to be able to access it again. If a secret key is lost, you can delete the access keys for the associated user and then create new keys. + /// 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. public func createAccessKey(_ input: CreateAccessKeyRequest) throws -> CreateAccessKeyResponse { return try client.send(operation: "CreateAccessKey", path: "/", httpMethod: "POST", input: input) } - /// Lists the IAM users that have the specified path prefix. If no path prefix is specified, the action returns all users in the AWS account. If there are none, the action returns an empty list. You can paginate the results using the MaxItems and Marker parameters. + /// 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. public func listUsers(_ input: ListUsersRequest) throws -> ListUsersResponse { return try client.send(operation: "ListUsers", path: "/", httpMethod: "POST", input: input) } @@ -221,17 +226,17 @@ public struct Iam { _ = try client.send(operation: "DeleteAccountPasswordPolicy", path: "/", httpMethod: "POST") } - /// Retrieves information about all IAM users, groups, roles, and policies in your AWS account, including their relationships to one another. Use this API to obtain a snapshot of the configuration of IAM permissions (users, groups, roles, and policies) in your account. You can optionally filter the results using the Filter parameter. You can paginate the results using the MaxItems and Marker parameters. + /// 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. public func getAccountAuthorizationDetails(_ input: GetAccountAuthorizationDetailsRequest) throws -> GetAccountAuthorizationDetailsResponse { return try client.send(operation: "GetAccountAuthorizationDetails", path: "/", httpMethod: "POST", input: input) } - /// Lists the IAM roles that have the specified path prefix. If there are none, the action returns an empty list. For more information about roles, go to Working with Roles. You can paginate the results using the MaxItems and Marker parameters. + /// 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. public func listRoles(_ input: ListRolesRequest) throws -> ListRolesResponse { return try client.send(operation: "ListRoles", path: "/", httpMethod: "POST", input: input) } - /// Uploads an X.509 signing certificate and associates it with the specified IAM user. Some AWS services use X.509 signing certificates to validate requests that are signed with a corresponding private key. When you upload the certificate, its default status is Active. If the UserName field is not specified, the IAM user name is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users. Because the body of a X.509 certificate can be large, you should use POST rather than GET when calling UploadSigningCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide. + /// 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. public func uploadSigningCertificate(_ input: UploadSigningCertificateRequest) throws -> UploadSigningCertificateResponse { return try client.send(operation: "UploadSigningCertificate", path: "/", httpMethod: "POST", input: input) } @@ -241,7 +246,7 @@ public struct Iam { _ = try client.send(operation: "CreateAccountAlias", path: "/", httpMethod: "POST", input: input) } - /// Deletes the access key pair associated with the specified IAM user. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users. + /// 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. public func deleteAccessKey(_ input: DeleteAccessKeyRequest) throws { _ = try client.send(operation: "DeleteAccessKey", path: "/", httpMethod: "POST", input: input) } @@ -256,22 +261,22 @@ public struct Iam { _ = try client.send(operation: "PutGroupPolicy", path: "/", httpMethod: "POST", input: input) } - /// Lists the names of the inline policies embedded in the specified IAM user. An IAM user can also have managed policies attached to it. To list the managed policies that are attached to a user, use ListAttachedUserPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide. You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified user, the action returns an empty list. + /// 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. public func listUserPolicies(_ input: ListUserPoliciesRequest) throws -> ListUserPoliciesResponse { return try client.send(operation: "ListUserPolicies", path: "/", httpMethod: "POST", input: input) } - /// 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 action can be used to disable a user’s service-specific credential as part of a credential rotation work flow. + /// 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. public func updateServiceSpecificCredential(_ input: UpdateServiceSpecificCredentialRequest) throws { _ = try client.send(operation: "UpdateServiceSpecificCredential", path: "/", httpMethod: "POST", input: input) } - /// Lists all managed policies that are attached to the specified IAM group. An IAM group can also have inline policies embedded with it. To list the inline policies for a group, use the ListGroupPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide. You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the action returns an empty list. + /// 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. public func listAttachedGroupPolicies(_ input: ListAttachedGroupPoliciesRequest) throws -> ListAttachedGroupPoliciesResponse { return try client.send(operation: "ListAttachedGroupPolicies", path: "/", httpMethod: "POST", input: input) } - /// Changes the status of the specified access key from Active to Inactive, or vice versa. This action can be used to disable a user's key as part of a key rotation work flow. If the UserName field is not specified, the UserName is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users. For information about rotating keys, see Managing Keys and Certificates in the IAM User Guide. + /// 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. public func updateAccessKey(_ input: UpdateAccessKeyRequest) throws { _ = try client.send(operation: "UpdateAccessKey", path: "/", httpMethod: "POST", input: input) } @@ -291,7 +296,7 @@ public struct Iam { _ = try client.send(operation: "DeleteGroupPolicy", path: "/", httpMethod: "POST", input: input) } - /// Simulate how a set of IAM policies and optionally a resource-based policy works with a list of API actions and AWS resources to determine the policies' effective permissions. The policies are provided as strings. The simulation does not perform the API actions; it only checks the authorization to determine if the simulated policies allow or deny the actions. If you want to simulate existing policies attached to an IAM user, group, or role, use SimulatePrincipalPolicy instead. Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForCustomPolicy. If the output is long, you can use MaxItems and Marker parameters to paginate the results. + /// 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. public func simulateCustomPolicy(_ input: SimulateCustomPolicyRequest) throws -> SimulatePolicyResponse { return try client.send(operation: "SimulateCustomPolicy", path: "/", httpMethod: "POST", input: input) } @@ -301,12 +306,12 @@ public struct Iam { return try client.send(operation: "GetOpenIDConnectProvider", path: "/", httpMethod: "POST", input: input) } - /// Deletes the specified instance profile. The instance profile must not have an associated role. Make sure you do not have any Amazon EC2 instances running with the instance profile you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance. For more information about instance profiles, go to About Instance Profiles. + /// 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. public func deleteInstanceProfile(_ input: DeleteInstanceProfileRequest) throws { _ = try client.send(operation: "DeleteInstanceProfile", path: "/", httpMethod: "POST", input: input) } - /// Lists the MFA devices for an IAM user. If the request includes a IAM user name, then this action lists all the MFA devices associated with the specified user. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request for this API. You can paginate the results using the MaxItems and Marker parameters. + /// 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. public func listMFADevices(_ input: ListMFADevicesRequest) throws -> ListMFADevicesResponse { return try client.send(operation: "ListMFADevices", path: "/", httpMethod: "POST", input: input) } @@ -321,7 +326,7 @@ public struct Iam { return try client.send(operation: "GetRolePolicy", path: "/", httpMethod: "POST", input: input) } - /// Adds a new client ID (also known as audience) to the list of client IDs already registered for the specified IAM OpenID Connect (OIDC) provider resource. This action is idempotent; it does not fail or return an error if you add an existing client ID to the provider. + /// 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. public func addClientIDToOpenIDConnectProvider(_ input: AddClientIDToOpenIDConnectProviderRequest) throws { _ = try client.send(operation: "AddClientIDToOpenIDConnectProvider", path: "/", httpMethod: "POST", input: input) } @@ -336,7 +341,7 @@ public struct Iam { _ = try client.send(operation: "AttachGroupPolicy", path: "/", httpMethod: "POST", input: input) } - /// 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, 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. + /// 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. public func deleteServiceLinkedRole(_ input: DeleteServiceLinkedRoleRequest) throws -> DeleteServiceLinkedRoleResponse { return try client.send(operation: "DeleteServiceLinkedRole", path: "/", httpMethod: "POST", input: input) } @@ -346,12 +351,12 @@ public struct Iam { _ = try client.send(operation: "PutRolePolicy", path: "/", httpMethod: "POST", input: input) } - /// Lists the names of the inline policies that are embedded in the specified IAM group. An IAM group can also have managed policies attached to it. To list the managed policies that are attached to a group, use ListAttachedGroupPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide. You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified group, the action returns an empty list. + /// 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. public func listGroupPolicies(_ input: ListGroupPoliciesRequest) throws -> ListGroupPoliciesResponse { return try client.send(operation: "ListGroupPolicies", path: "/", httpMethod: "POST", input: input) } - /// Deletes the specified managed policy. Before you can delete a managed policy, you must first detach the policy from all users, groups, and roles that it is attached to, and you must delete all of the policy's versions. The following steps describe the process for deleting a managed policy: Detach the policy from all users, groups, and roles that the policy is attached to, using the DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy APIs. To list all the users, groups, and roles that a policy is attached to, use ListEntitiesForPolicy. Delete all versions of the policy using DeletePolicyVersion. To list the policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion to delete the version that is marked as the default version. You delete the policy's default version in the next step of the process. Delete the policy (this automatically deletes the policy's default version) using this API. For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide. + /// 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. public func deletePolicy(_ input: DeletePolicyRequest) throws { _ = try client.send(operation: "DeletePolicy", path: "/", httpMethod: "POST", input: input) } @@ -361,22 +366,22 @@ public struct Iam { _ = try client.send(operation: "AttachRolePolicy", path: "/", httpMethod: "POST", input: input) } - /// Returns information about the access key IDs associated with the specified IAM user. If there are none, the action returns an empty list. Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters. If the UserName field is not specified, the UserName is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users. To ensure the security of your AWS account, the secret access key is accessible only during key and user creation. + /// 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. public func listAccessKeys(_ input: ListAccessKeysRequest) throws -> ListAccessKeysResponse { return try client.send(operation: "ListAccessKeys", path: "/", httpMethod: "POST", input: input) } - /// Gets a list of all of the context keys referenced in the input policies. The policies are supplied as a list of one or more strings. To get the context keys from policies associated with an IAM user, group, or role, use GetContextKeysForPrincipalPolicy. Context keys are variables maintained by AWS and its services that provide details about the context of an API query request, and can be evaluated by testing against a value specified in an IAM policy. Use GetContextKeysForCustomPolicy to understand what key names and values you must supply when you call SimulateCustomPolicy. Note that all parameters are shown in unencoded form here for clarity, but must be URL encoded to be included as a part of a real HTML request. + /// 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. public func getContextKeysForCustomPolicy(_ input: GetContextKeysForCustomPolicyRequest) throws -> GetContextKeysForPolicyResponse { return try client.send(operation: "GetContextKeysForCustomPolicy", path: "/", httpMethod: "POST", input: input) } - /// Returns information about the service-specific credentials associated with the specified IAM user. If there are none, the action returns an empty list. The service-specific credentials returned by this action 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. + /// 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. public func listServiceSpecificCredentials(_ input: ListServiceSpecificCredentialsRequest) throws -> ListServiceSpecificCredentialsResponse { return try client.send(operation: "ListServiceSpecificCredentials", path: "/", httpMethod: "POST", input: input) } - /// Deletes a signing certificate associated with the specified IAM user. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated IAM users. + /// 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. public func deleteSigningCertificate(_ input: DeleteSigningCertificateRequest) throws { _ = try client.send(operation: "DeleteSigningCertificate", path: "/", httpMethod: "POST", input: input) } @@ -386,7 +391,7 @@ public struct Iam { _ = try client.send(operation: "DeleteAccountAlias", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func updateUser(_ input: UpdateUserRequest) throws { _ = try client.send(operation: "UpdateUser", path: "/", httpMethod: "POST", input: input) } @@ -396,7 +401,7 @@ public struct Iam { return try client.send(operation: "CreateGroup", path: "/", httpMethod: "POST", input: input) } - /// Changes the status of the specified user signing certificate from active to disabled, or vice versa. This action can be used to disable an IAM user's signing certificate as part of a certificate rotation work flow. If the UserName field is not specified, the UserName is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users. + /// 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. public func updateSigningCertificate(_ input: UpdateSigningCertificateRequest) throws { _ = try client.send(operation: "UpdateSigningCertificate", path: "/", httpMethod: "POST", input: input) } @@ -411,6 +416,16 @@ public struct Iam { return try client.send(operation: "GetGroup", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func putRolePermissionsBoundary(_ input: PutRolePermissionsBoundaryRequest) throws { + _ = try client.send(operation: "PutRolePermissionsBoundary", path: "/", httpMethod: "POST", input: input) + } + + /// Updates the description or maximum session duration setting of a role. + public func updateRole(_ input: UpdateRoleRequest) throws -> UpdateRoleResponse { + return try client.send(operation: "UpdateRole", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func enableMFADevice(_ input: EnableMFADeviceRequest) throws { _ = try client.send(operation: "EnableMFADevice", path: "/", httpMethod: "POST", input: input) @@ -421,7 +436,7 @@ public struct Iam { return try client.send(operation: "ListSAMLProviders", path: "/", httpMethod: "POST", input: input) } - /// Deletes the specified role. The role must not have any policies attached. For more information about roles, go to Working with Roles. Make sure you do not have any Amazon EC2 instances running with the role you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance. + /// 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. public func deleteRole(_ input: DeleteRoleRequest) throws { _ = try client.send(operation: "DeleteRole", path: "/", httpMethod: "POST", input: input) } @@ -451,27 +466,27 @@ public struct Iam { _ = try client.send(operation: "DetachRolePolicy", path: "/", httpMethod: "POST", input: input) } - /// Returns information about the signing certificates associated with the specified IAM user. If there are none, the action returns an empty list. Although each user is limited to a small number of signing certificates, you can still paginate the results using the MaxItems and Marker parameters. If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request for this API. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users. + /// 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. public func listSigningCertificates(_ input: ListSigningCertificatesRequest) throws -> ListSigningCertificatesResponse { return try client.send(operation: "ListSigningCertificates", path: "/", httpMethod: "POST", input: input) } - /// Updates the password policy settings for the AWS account. This action does not support partial updates. No parameters are required, but if you do not specify a parameter, that parameter's value reverts to its default value. See the Request Parameters section for each parameter's default value. For more information about using a password policy, see Managing an IAM Password Policy in the IAM User Guide. + /// 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. public func updateAccountPasswordPolicy(_ input: UpdateAccountPasswordPolicyRequest) throws { _ = try client.send(operation: "UpdateAccountPasswordPolicy", path: "/", httpMethod: "POST", input: input) } - /// Lists all managed policies that are attached to the specified IAM role. An IAM role can also have inline policies embedded with it. To list the inline policies for a role, use the ListRolePolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide. You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified role (or none that match the specified path prefix), the action returns an empty list. + /// 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. public func listAttachedRolePolicies(_ input: ListAttachedRolePoliciesRequest) throws -> ListAttachedRolePoliciesResponse { return try client.send(operation: "ListAttachedRolePolicies", path: "/", httpMethod: "POST", input: input) } - /// Deletes the specified SSH public key. The SSH public key deleted by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide. + /// 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. public func deleteSSHPublicKey(_ input: DeleteSSHPublicKeyRequest) throws { _ = try client.send(operation: "DeleteSSHPublicKey", path: "/", httpMethod: "POST", input: input) } - /// Creates an IAM role that is linked to a specific AWS service. The service controls the attached policies and when the role can be deleted. This helps ensure that the service is not broken by an unexpectedly changed or deleted role, which could put your AWS resources into an unknown state. Allowing the service to control the role helps improve service stability and proper cleanup when a service and its role are no longer needed. The name of the role is autogenerated by combining the string that you specify for the AWSServiceName parameter with the string that you specify for the CustomSuffix parameter. The resulting name must be unique in your account or the request fails. To attach a policy to this service-linked role, you must make the request using the AWS service that depends on this role. + /// 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. public func createServiceLinkedRole(_ input: CreateServiceLinkedRoleRequest) throws -> CreateServiceLinkedRoleResponse { return try client.send(operation: "CreateServiceLinkedRole", path: "/", httpMethod: "POST", input: input) } @@ -491,7 +506,7 @@ public struct Iam { _ = try client.send(operation: "UpdateLoginProfile", path: "/", httpMethod: "POST", input: input) } - /// Gets a list of all of the context keys referenced in all of the IAM policies attached to the specified IAM entity. The entity can be an IAM user, group, or role. If you specify a user, then the request also includes all of the policies attached to groups that the user is a member of. You can optionally include a list of one or more additional policies, specified as strings. If you want to include only a list of policies by string, use GetContextKeysForCustomPolicy instead. Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use GetContextKeysForCustomPolicy instead. Context keys are variables maintained by AWS and its services that provide details about the context of an API query request, and can be evaluated by testing against a value in an IAM policy. Use GetContextKeysForPrincipalPolicy to understand what key names and values you must supply when you call SimulatePrincipalPolicy. + /// 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. public func getContextKeysForPrincipalPolicy(_ input: GetContextKeysForPrincipalPolicyRequest) throws -> GetContextKeysForPolicyResponse { return try client.send(operation: "GetContextKeysForPrincipalPolicy", path: "/", httpMethod: "POST", input: input) } @@ -506,7 +521,7 @@ public struct Iam { _ = try client.send(operation: "DetachGroupPolicy", path: "/", httpMethod: "POST", input: input) } - /// Lists the names of the inline policies that are embedded in the specified IAM role. An IAM role can also have managed policies attached to it. To list the managed policies that are attached to a role, use ListAttachedRolePolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide. You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified role, the action returns an empty list. + /// 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. public func listRolePolicies(_ input: ListRolePoliciesRequest) throws -> ListRolePoliciesResponse { return try client.send(operation: "ListRolePolicies", path: "/", httpMethod: "POST", input: input) } @@ -516,12 +531,12 @@ public struct Iam { _ = try client.send(operation: "DeleteGroup", path: "/", httpMethod: "POST", input: input) } - /// Lists the instance profiles that have the specified path prefix. If there are none, the action returns an empty list. For more information about instance profiles, go to About Instance Profiles. You can paginate the results using the MaxItems and Marker parameters. + /// 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. public func listInstanceProfiles(_ input: ListInstanceProfilesRequest) throws -> ListInstanceProfilesResponse { return try client.send(operation: "ListInstanceProfiles", path: "/", httpMethod: "POST", input: input) } - /// Returns information about the SSH public keys associated with the specified IAM user. If there are none, the action returns an empty list. The SSH public keys returned by this action are used only for authenticating the IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide. Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters. + /// 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. public func listSSHPublicKeys(_ input: ListSSHPublicKeysRequest) throws -> ListSSHPublicKeysResponse { return try client.send(operation: "ListSSHPublicKeys", path: "/", httpMethod: "POST", input: input) } @@ -556,7 +571,7 @@ public struct Iam { return try client.send(operation: "GenerateCredentialReport", path: "/", httpMethod: "POST") } - /// Modifies the description of a role. + /// Use instead. Modifies only the description of a role. This operation performs the same function as the Description parameter in the UpdateRole operation. public func updateRoleDescription(_ input: UpdateRoleDescriptionRequest) throws -> UpdateRoleDescriptionResponse { return try client.send(operation: "UpdateRoleDescription", path: "/", httpMethod: "POST", input: input) } @@ -581,22 +596,27 @@ public struct Iam { _ = try client.send(operation: "PutUserPolicy", path: "/", httpMethod: "POST", input: input) } - /// Creates an IAM resource that describes an identity provider (IdP) that supports SAML 2.0. The SAML provider resource that you create with this operation can be used as a principal in an IAM role's trust policy to enable federated users who sign-in using the SAML IdP to assume the role. You can create an IAM role that supports Web-based single sign-on (SSO) to the AWS Management Console or one that supports API access to AWS. When you create the SAML provider resource, you upload an a SAML metadata document that you get from your IdP and that includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that the IdP sends. You must generate the metadata document using the identity management software that is used as your organization's IdP. This operation requires Signature Version 4. For more information, see Enabling SAML 2.0 Federated Users to Access the AWS Management Console and About SAML 2.0-based Federation in the IAM User Guide. + /// 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. + public func deactivateMFADevice(_ input: DeactivateMFADeviceRequest) throws { + _ = try client.send(operation: "DeactivateMFADevice", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func createSAMLProvider(_ input: CreateSAMLProviderRequest) throws -> CreateSAMLProviderResponse { return try client.send(operation: "CreateSAMLProvider", path: "/", httpMethod: "POST", input: input) } - /// Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC). The OIDC provider that you create with this operation can be used as a principal in a role's trust policy to establish a trust relationship between AWS and the OIDC provider. When you create the IAM OIDC provider, you specify the URL of the OIDC identity provider (IdP) to trust, a list of client IDs (also known as audiences) that identify the application or applications that are allowed to authenticate using the OIDC provider, and a list of thumbprints of the server certificate(s) that the IdP uses. You get all of this information from the OIDC IdP that you want to use for access to AWS. Because trust for the OIDC provider is ultimately derived from the IAM provider that this action creates, it is a best practice to limit access to the CreateOpenIDConnectProvider action to highly-privileged users. + /// 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. public func createOpenIDConnectProvider(_ input: CreateOpenIDConnectProviderRequest) throws -> CreateOpenIDConnectProviderResponse { return try client.send(operation: "CreateOpenIDConnectProvider", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func deactivateMFADevice(_ input: DeactivateMFADeviceRequest) throws { - _ = try client.send(operation: "DeactivateMFADevice", path: "/", httpMethod: "POST", input: input) + /// 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. + public func deleteUserPermissionsBoundary(_ input: DeleteUserPermissionsBoundaryRequest) throws { + _ = try client.send(operation: "DeleteUserPermissionsBoundary", path: "/", httpMethod: "POST", input: input) } - /// Lists the server certificates stored in IAM that have the specified path prefix. If none exist, the action returns an empty list. You can paginate the results using the MaxItems and Marker parameters. For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide. + /// 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. public func listServerCertificates(_ input: ListServerCertificatesRequest) throws -> ListServerCertificatesResponse { return try client.send(operation: "ListServerCertificates", path: "/", httpMethod: "POST", input: input) } @@ -606,7 +626,7 @@ public struct Iam { _ = try client.send(operation: "DeleteLoginProfile", path: "/", httpMethod: "POST", input: input) } - /// Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and this limit cannot be increased. The caller of this API must be granted the PassRole permission on the IAM role by a permission policy. For more information about roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles. + /// 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. public func addRoleToInstanceProfile(_ input: AddRoleToInstanceProfileRequest) throws { _ = try client.send(operation: "AddRoleToInstanceProfile", path: "/", httpMethod: "POST", input: input) } @@ -616,11 +636,16 @@ public struct Iam { return try client.send(operation: "ListGroups", path: "/", httpMethod: "POST", input: input) } - /// Deletes the specified server certificate. For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide. If you are using a server certificate with Elastic Load Balancing, deleting the certificate could have implications for your application. If Elastic Load Balancing doesn't detect the deletion of bound certificates, it may continue to use the certificates. This could cause Elastic Load Balancing to stop accepting traffic. We recommend that you remove the reference to the certificate from Elastic Load Balancing before using this command to delete the certificate. For more information, go to DeleteLoadBalancerListeners in the Elastic Load Balancing API Reference. + /// 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. public func deleteServerCertificate(_ input: DeleteServerCertificateRequest) throws { _ = try client.send(operation: "DeleteServerCertificate", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func deleteRolePermissionsBoundary(_ input: DeleteRolePermissionsBoundaryRequest) throws { + _ = try client.send(operation: "DeleteRolePermissionsBoundary", path: "/", httpMethod: "POST", input: input) + } + /// Updates the metadata document for an existing SAML provider resource object. This operation requires Signature Version 4. public func updateSAMLProvider(_ input: UpdateSAMLProviderRequest) throws -> UpdateSAMLProviderResponse { return try client.send(operation: "UpdateSAMLProvider", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/iam/Iam_Error.swift b/Sources/AWSSDKSwift/Services/iam/Iam_Error.swift index 57829dd334b..a58de475071 100644 --- a/Sources/AWSSDKSwift/Services/iam/Iam_Error.swift +++ b/Sources/AWSSDKSwift/Services/iam/Iam_Error.swift @@ -6,6 +6,7 @@ import AWSSDKSwiftCore public enum IamError: AWSErrorType { case noSuchEntityException(message: String?) case invalidInputException(message: String?) + case policyNotAttachableException(message: String?) case serviceFailureException(message: String?) case limitExceededException(message: String?) case entityAlreadyExistsException(message: String?) @@ -20,7 +21,6 @@ public enum IamError: AWSErrorType { case invalidPublicKeyException(message: String?) case duplicateSSHPublicKeyException(message: String?) case unrecognizedPublicKeyEncodingException(message: String?) - case policyNotAttachableException(message: String?) case policyEvaluationException(message: String?) case invalidCertificateException(message: String?) case duplicateCertificateException(message: String?) @@ -42,6 +42,8 @@ extension IamError { self = .noSuchEntityException(message: message) case "InvalidInputException": self = .invalidInputException(message: message) + case "PolicyNotAttachableException": + self = .policyNotAttachableException(message: message) case "ServiceFailureException": self = .serviceFailureException(message: message) case "LimitExceededException": @@ -70,8 +72,6 @@ extension IamError { self = .duplicateSSHPublicKeyException(message: message) case "UnrecognizedPublicKeyEncodingException": self = .unrecognizedPublicKeyEncodingException(message: message) - case "PolicyNotAttachableException": - self = .policyNotAttachableException(message: message) case "PolicyEvaluationException": self = .policyEvaluationException(message: message) case "InvalidCertificateException": diff --git a/Sources/AWSSDKSwift/Services/iam/Iam_Shapes.swift b/Sources/AWSSDKSwift/Services/iam/Iam_Shapes.swift index d6846609b4d..a669a0b3f61 100644 --- a/Sources/AWSSDKSwift/Services/iam/Iam_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/iam/Iam_Shapes.swift @@ -42,6 +42,7 @@ extension Iam { AWSShapeMember(label: "Path", required: false, type: .string), AWSShapeMember(label: "CreateDate", required: false, type: .timestamp), AWSShapeMember(label: "AttachmentCount", required: false, type: .integer), + AWSShapeMember(label: "PermissionsBoundaryUsageCount", required: false, type: .integer), AWSShapeMember(label: "Description", required: false, type: .string) ] /// The identifier for the version of the policy that is set as the default version. @@ -61,10 +62,12 @@ extension Iam { public let createDate: TimeStamp? /// The number of entities (users, groups, and roles) that the policy is attached to. public let attachmentCount: Int32? + /// 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. + public let permissionsBoundaryUsageCount: Int32? /// 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. public let description: String? - public init(defaultVersionId: String? = nil, policyId: String? = nil, arn: String? = nil, isAttachable: Bool? = nil, policyName: String? = nil, updateDate: TimeStamp? = nil, path: String? = nil, createDate: TimeStamp? = nil, attachmentCount: Int32? = nil, description: String? = nil) { + public init(defaultVersionId: String? = nil, policyId: String? = nil, arn: String? = nil, isAttachable: Bool? = nil, policyName: String? = nil, updateDate: TimeStamp? = nil, path: String? = nil, createDate: TimeStamp? = nil, attachmentCount: Int32? = nil, permissionsBoundaryUsageCount: Int32? = nil, description: String? = nil) { self.defaultVersionId = defaultVersionId self.policyId = policyId self.arn = arn @@ -74,6 +77,7 @@ extension Iam { self.path = path self.createDate = createDate self.attachmentCount = attachmentCount + self.permissionsBoundaryUsageCount = permissionsBoundaryUsageCount self.description = description } @@ -87,6 +91,7 @@ extension Iam { case path = "Path" case createDate = "CreateDate" case attachmentCount = "AttachmentCount" + case permissionsBoundaryUsageCount = "PermissionsBoundaryUsageCount" case description = "Description" } } @@ -95,7 +100,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "OpenIDConnectProviderArn", required: true, type: .string) ] - /// The Amazon Resource Name (ARN) of the OIDC provider resource object in IAM to get information for. You can get a list of OIDC provider resource ARNs by using the ListOpenIDConnectProviders action. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference. + /// 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. public let openIDConnectProviderArn: String public init(openIDConnectProviderArn: String) { @@ -114,7 +119,7 @@ extension Iam { ] /// 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: _+=,.@- public let roleName: String - /// 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: =,.@-+ + /// 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: _+=,.@- public let policyName: String public init(roleName: String, policyName: String) { @@ -164,7 +169,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UserName", required: false, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? public init(userName: String? = nil) { @@ -225,6 +230,27 @@ extension Iam { public var description: String { return self.rawValue } } + public struct PutRolePermissionsBoundaryRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PermissionsBoundary", required: true, type: .string), + AWSShapeMember(label: "RoleName", required: true, type: .string) + ] + /// The ARN of the policy that is used to set the permissions boundary for the role. + public let permissionsBoundary: String + /// The name (friendly name, not ARN) of the IAM role for which you want to set the permissions boundary. + public let roleName: String + + public init(permissionsBoundary: String, roleName: String) { + self.permissionsBoundary = permissionsBoundary + self.roleName = roleName + } + + private enum CodingKeys: String, CodingKey { + case permissionsBoundary = "PermissionsBoundary" + case roleName = "RoleName" + } + } + public struct SSHPublicKeyMetadata: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UserName", required: true, type: .string), @@ -234,7 +260,7 @@ extension Iam { ] /// The name of the IAM user associated with the SSH public key. public let userName: String - /// The status of the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used. + /// 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. public let status: StatusType /// The date and time, in ISO 8601 date-time format, when the SSH public key was uploaded. public let uploadDate: TimeStamp @@ -318,7 +344,7 @@ extension Iam { public let marker: String? /// (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. public let maxItems: Int32? - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let pathPrefix: String? public init(marker: String? = nil, maxItems: Int32? = nil, pathPrefix: String? = nil) { @@ -342,15 +368,15 @@ extension Iam { AWSShapeMember(label: "CertificateChain", required: false, type: .string), AWSShapeMember(label: "Path", required: false, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let serverCertificateName: String - /// 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 any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let certificateBody: String - /// 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 any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let privateKey: String - /// 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 any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let certificateChain: String? - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. If you are uploading a server certificate specifically for use with Amazon CloudFront distributions, you must specify a path using the --path option. The path must begin with /cloudfront and must include a trailing slash (for example, /cloudfront/test/). + /// 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/). public let path: String? public init(serverCertificateName: String, certificateBody: String, privateKey: String, certificateChain: String? = nil, path: String? = nil) { @@ -380,9 +406,9 @@ extension Iam { AWSShapeMember(label: "Status", required: true, type: .enum), AWSShapeMember(label: "AccessKeyId", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? - /// The status you want to assign to the secret access key. Active means the key can be used for API calls to AWS, while Inactive means the key cannot be used. + /// 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. public let status: StatusType /// 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. public let accessKeyId: String @@ -406,7 +432,7 @@ extension Iam { AWSShapeMember(label: "MaxItems", required: false, type: .integer), AWSShapeMember(label: "Marker", required: false, type: .string) ] - /// The status (Unassigned or Assigned) of the devices to list. If you do not specify an AssignmentStatus, the action defaults to Any which lists both assigned and unassigned virtual MFA devices. + /// 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. public let assignmentStatus: AssignmentStatusType? /// (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. public let maxItems: Int32? @@ -432,11 +458,11 @@ extension Iam { AWSShapeMember(label: "PolicyDocument", required: true, type: .string), AWSShapeMember(label: "PolicyName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String - /// The policy document. The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let policyDocument: String - /// 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: =,.@-+ + /// 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: _+=,.@- public let policyName: String public init(userName: String, policyDocument: String, policyName: String) { @@ -457,9 +483,9 @@ extension Iam { AWSShapeMember(label: "UserName", required: true, type: .string), AWSShapeMember(label: "GroupName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String - /// 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: =,.@- + /// 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: _+=,.@- public let groupName: String public init(userName: String, groupName: String) { @@ -486,7 +512,7 @@ extension Iam { public let roleName: String /// 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. public let marker: String? - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let pathPrefix: String? public init(maxItems: Int32? = nil, roleName: String, marker: String? = nil, pathPrefix: String? = nil) { @@ -585,7 +611,7 @@ extension Iam { ] /// 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. public let serviceSpecificCredentialId: String - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? /// The status to be assigned to the service-specific credential. public let status: StatusType @@ -608,7 +634,7 @@ extension Iam { AWSShapeMember(label: "Name", required: true, type: .string), AWSShapeMember(label: "SAMLMetadataDocument", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let name: String /// 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 public let sAMLMetadataDocument: String @@ -645,7 +671,7 @@ extension Iam { AWSShapeMember(label: "UserName", required: true, type: .string), AWSShapeMember(label: "ServiceName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String /// 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. public let serviceName: String @@ -682,11 +708,11 @@ extension Iam { AWSShapeMember(label: "ServerCertificateName", required: true, type: .string), AWSShapeMember(label: "NewServerCertificateName", required: false, type: .string) ] - /// The new path for the server certificate. Include this only if you are updating the server certificate's path. This paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let newPath: String? - /// 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: =,.@- + /// 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: _+=,.@- public let serverCertificateName: String - /// 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: =,.@- + /// 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: _+=,.@- public let newServerCertificateName: String? public init(newPath: String? = nil, serverCertificateName: String, newServerCertificateName: String? = nil) { @@ -706,7 +732,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ServerCertificateName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let serverCertificateName: String public init(serverCertificateName: String) { @@ -754,6 +780,7 @@ extension Iam { AWSShapeMember(label: "UserName", required: false, type: .string), AWSShapeMember(label: "UserId", required: false, type: .string), AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "PermissionsBoundary", required: false, type: .structure), AWSShapeMember(label: "GroupList", required: false, type: .list), AWSShapeMember(label: "Path", required: false, type: .string), AWSShapeMember(label: "CreateDate", required: false, type: .timestamp), @@ -765,6 +792,8 @@ extension Iam { /// The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide. public let userId: String? public let arn: String? + /// 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. + public let permissionsBoundary: AttachedPermissionsBoundary? /// A list of IAM groups that the user is in. public let groupList: [String]? /// The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide. @@ -776,10 +805,11 @@ extension Iam { /// A list of the managed policies attached to the user. public let attachedManagedPolicies: [AttachedPolicy]? - public init(userName: String? = nil, userId: String? = nil, arn: String? = nil, groupList: [String]? = nil, path: String? = nil, createDate: TimeStamp? = nil, userPolicyList: [PolicyDetail]? = nil, attachedManagedPolicies: [AttachedPolicy]? = nil) { + public init(userName: String? = nil, userId: String? = nil, arn: String? = nil, permissionsBoundary: AttachedPermissionsBoundary? = nil, groupList: [String]? = nil, path: String? = nil, createDate: TimeStamp? = nil, userPolicyList: [PolicyDetail]? = nil, attachedManagedPolicies: [AttachedPolicy]? = nil) { self.userName = userName self.userId = userId self.arn = arn + self.permissionsBoundary = permissionsBoundary self.groupList = groupList self.path = path self.createDate = createDate @@ -791,6 +821,7 @@ extension Iam { case userName = "UserName" case userId = "UserId" case arn = "Arn" + case permissionsBoundary = "PermissionsBoundary" case groupList = "GroupList" case path = "Path" case createDate = "CreateDate" @@ -830,7 +861,7 @@ extension Iam { AWSShapeMember(label: "UserName", required: true, type: .string), AWSShapeMember(label: "SerialNumber", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String /// 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: =,.@:/- public let serialNumber: String @@ -851,9 +882,9 @@ extension Iam { AWSShapeMember(label: "UserName", required: false, type: .string), AWSShapeMember(label: "CertificateBody", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? - /// The contents of the signing certificate. The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let certificateBody: String public init(userName: String? = nil, certificateBody: String) { @@ -891,7 +922,7 @@ extension Iam { ] /// When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request. public let marker: String? - /// 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: =,.@-+ + /// 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: _+=,.@- public let policyNames: [String] /// 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. public let isTruncated: Bool? @@ -932,7 +963,7 @@ extension Iam { ] /// The IAM user's current password. public let oldPassword: String - /// The new password. The new password must conform to the AWS account's password policy, if one exists. The regex pattern used to validate this parameter is a string of characters consisting of almost any printable ASCII character from the space (\u0020) through the end of the ASCII character range (\u00FF). You can also include the tab (\u0009), line feed (\u000A), and carriage return (\u000D) characters. Although any of these characters are valid in a password, note that many tools, such as the AWS Management Console, might restrict the ability to enter certain characters because they have special meaning within that tool. + /// 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. public let newPassword: String public init(oldPassword: String, newPassword: String) { @@ -953,7 +984,7 @@ extension Iam { ] /// A list of certificate thumbprints that are associated with the specified IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider. public let thumbprintList: [String] - /// The Amazon Resource Name (ARN) of the IAM OIDC provider resource object for which you want to update the thumbprint. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference. + /// 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. public let openIDConnectProviderArn: String public init(thumbprintList: [String], openIDConnectProviderArn: String) { @@ -969,73 +1000,78 @@ extension Iam { public struct User: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CreateDate", required: true, type: .timestamp), AWSShapeMember(label: "PasswordLastUsed", required: false, type: .timestamp), AWSShapeMember(label: "UserId", required: true, type: .string), - AWSShapeMember(label: "UserName", required: true, type: .string), AWSShapeMember(label: "Arn", required: true, type: .string), - AWSShapeMember(label: "Path", required: true, type: .string) + AWSShapeMember(label: "PermissionsBoundary", required: false, type: .structure), + AWSShapeMember(label: "UserName", required: true, type: .string), + AWSShapeMember(label: "Path", required: true, type: .string), + AWSShapeMember(label: "CreateDate", required: true, type: .timestamp) ] - /// The date and time, in ISO 8601 date-time format, when the user was created. - public let createDate: TimeStamp - /// 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 actions. + /// 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. public let passwordLastUsed: TimeStamp? /// The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide. public let userId: String - /// The friendly name identifying the user. - public let userName: String /// 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. public let arn: String + /// 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. + public let permissionsBoundary: AttachedPermissionsBoundary? + /// The friendly name identifying the user. + public let userName: String /// The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide. public let path: String + /// The date and time, in ISO 8601 date-time format, when the user was created. + public let createDate: TimeStamp - public init(createDate: TimeStamp, passwordLastUsed: TimeStamp? = nil, userId: String, userName: String, arn: String, path: String) { - self.createDate = createDate + public init(passwordLastUsed: TimeStamp? = nil, userId: String, arn: String, permissionsBoundary: AttachedPermissionsBoundary? = nil, userName: String, path: String, createDate: TimeStamp) { self.passwordLastUsed = passwordLastUsed self.userId = userId - self.userName = userName self.arn = arn + self.permissionsBoundary = permissionsBoundary + self.userName = userName self.path = path + self.createDate = createDate } private enum CodingKeys: String, CodingKey { - case createDate = "CreateDate" case passwordLastUsed = "PasswordLastUsed" case userId = "UserId" - case userName = "UserName" case arn = "Arn" + case permissionsBoundary = "PermissionsBoundary" + case userName = "UserName" case path = "Path" + case createDate = "CreateDate" } } public struct CreatePolicyRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Path", required: false, type: .string), AWSShapeMember(label: "PolicyName", required: true, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "PolicyDocument", required: true, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "Path", required: false, type: .string) ] - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. - public let path: String? - /// 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: =,.@-+ + /// 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: _+=,.@- public let policyName: String - /// 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 any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). - public let policyDocument: String /// 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. public let description: String? + /// 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) + public let policyDocument: String + /// 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. + public let path: String? - public init(path: String? = nil, policyName: String, policyDocument: String, description: String? = nil) { - self.path = path + public init(policyName: String, description: String? = nil, policyDocument: String, path: String? = nil) { self.policyName = policyName - self.policyDocument = policyDocument self.description = description + self.policyDocument = policyDocument + self.path = path } private enum CodingKeys: String, CodingKey { - case path = "Path" case policyName = "PolicyName" - case policyDocument = "PolicyDocument" case description = "Description" + case policyDocument = "PolicyDocument" + case path = "Path" } } @@ -1073,7 +1109,7 @@ extension Iam { AWSShapeMember(label: "UserName", required: true, type: .string), AWSShapeMember(label: "SSHPublicKeyId", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String /// 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. public let sSHPublicKeyId: String @@ -1093,7 +1129,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ServerCertificateName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let serverCertificateName: String public init(serverCertificateName: String) { @@ -1141,11 +1177,11 @@ extension Iam { ] /// 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. public let missingContextValues: [String]? - /// The result of the simulation of the simulated API action on the resource specified in EvalResourceName. + /// The result of the simulation of the simulated API operation on the resource specified in EvalResourceName. public let evalResourceDecision: PolicyEvaluationDecisionType /// 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. public let evalDecisionDetails: [String: PolicyEvaluationDecisionType]? - /// A list of the statements in the input policies that determine the result for this part of the simulation. Remember that even if multiple statements allow the action on the resource, if any statement denies that action, then the explicit deny overrides any allow, and the deny statement is the only entry included in the result. + /// 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. public let matchedStatements: [Statement]? /// The name of the simulated resource, in Amazon Resource Name (ARN) format. public let evalResourceName: String @@ -1202,49 +1238,49 @@ extension Iam { public struct EvaluationResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EvalDecision", required: true, type: .enum), - AWSShapeMember(label: "EvalDecisionDetails", required: false, type: .map), - AWSShapeMember(label: "EvalResourceName", required: false, type: .string), AWSShapeMember(label: "MatchedStatements", required: false, type: .list), AWSShapeMember(label: "EvalActionName", required: true, type: .string), AWSShapeMember(label: "OrganizationsDecisionDetail", required: false, type: .structure), + AWSShapeMember(label: "EvalResourceName", required: false, type: .string), + AWSShapeMember(label: "EvalDecisionDetails", required: false, type: .map), AWSShapeMember(label: "MissingContextValues", required: false, type: .list), AWSShapeMember(label: "ResourceSpecificResults", required: false, type: .list) ] /// The result of the simulation. public let evalDecision: PolicyEvaluationDecisionType - /// 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 - public let evalDecisionDetails: [String: PolicyEvaluationDecisionType]? - /// The ARN of the resource that the indicated API action was tested on. - public let evalResourceName: String? - /// A list of the statements in the input policies that determine the result for this scenario. Remember that even if multiple statements allow the action on the resource, if only one statement denies that action, then the explicit deny overrides any allow, and the deny statement is the only entry included in the result. + /// 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. public let matchedStatements: [Statement]? - /// The name of the API action tested on the indicated resource. + /// The name of the API operation tested on the indicated resource. public let evalActionName: String /// 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. public let organizationsDecisionDetail: OrganizationsDecisionDetail? + /// The ARN of the resource that the indicated API operation was tested on. + public let evalResourceName: String? + /// 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 + public let evalDecisionDetails: [String: PolicyEvaluationDecisionType]? /// 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. public let missingContextValues: [String]? - /// The individual results of the simulation of the API action specified in EvalActionName on each resource. + /// The individual results of the simulation of the API operation specified in EvalActionName on each resource. public let resourceSpecificResults: [ResourceSpecificResult]? - public init(evalDecision: PolicyEvaluationDecisionType, evalDecisionDetails: [String: PolicyEvaluationDecisionType]? = nil, evalResourceName: String? = nil, matchedStatements: [Statement]? = nil, evalActionName: String, organizationsDecisionDetail: OrganizationsDecisionDetail? = nil, missingContextValues: [String]? = nil, resourceSpecificResults: [ResourceSpecificResult]? = nil) { + public init(evalDecision: PolicyEvaluationDecisionType, matchedStatements: [Statement]? = nil, evalActionName: String, organizationsDecisionDetail: OrganizationsDecisionDetail? = nil, evalResourceName: String? = nil, evalDecisionDetails: [String: PolicyEvaluationDecisionType]? = nil, missingContextValues: [String]? = nil, resourceSpecificResults: [ResourceSpecificResult]? = nil) { self.evalDecision = evalDecision - self.evalDecisionDetails = evalDecisionDetails - self.evalResourceName = evalResourceName self.matchedStatements = matchedStatements self.evalActionName = evalActionName self.organizationsDecisionDetail = organizationsDecisionDetail + self.evalResourceName = evalResourceName + self.evalDecisionDetails = evalDecisionDetails self.missingContextValues = missingContextValues self.resourceSpecificResults = resourceSpecificResults } private enum CodingKeys: String, CodingKey { case evalDecision = "EvalDecision" - case evalDecisionDetails = "EvalDecisionDetails" - case evalResourceName = "EvalResourceName" case matchedStatements = "MatchedStatements" case evalActionName = "EvalActionName" case organizationsDecisionDetail = "OrganizationsDecisionDetail" + case evalResourceName = "EvalResourceName" + case evalDecisionDetails = "EvalDecisionDetails" case missingContextValues = "MissingContextValues" case resourceSpecificResults = "ResourceSpecificResults" } @@ -1255,9 +1291,9 @@ extension Iam { AWSShapeMember(label: "UserName", required: true, type: .string), AWSShapeMember(label: "PolicyName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String - /// 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: =,.@-+ + /// 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: _+=,.@- public let policyName: String public init(userName: String, policyName: String) { @@ -1276,9 +1312,9 @@ extension Iam { AWSShapeMember(label: "Path", required: false, type: .string), AWSShapeMember(label: "GroupName", required: true, type: .string) ] - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let path: String? - /// 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". + /// 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". public let groupName: String public init(path: String? = nil, groupName: String) { @@ -1298,9 +1334,9 @@ extension Iam { AWSShapeMember(label: "UserName", required: true, type: .string), AWSShapeMember(label: "PasswordResetRequired", required: false, type: .boolean) ] - /// The new password for the user. The regex pattern used to validate this parameter is a string of characters consisting of almost any printable ASCII character from the space (\u0020) through the end of the ASCII character range (\u00FF). You can also include the tab (\u0009), line feed (\u000A), and carriage return (\u000D) characters. Although any of these characters are valid in a password, note that many tools, such as the AWS Management Console, might restrict the ability to enter certain characters because they have special meaning within that tool. + /// 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. public let password: String - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String /// Specifies whether the user is required to set a new password on next sign-in. public let passwordResetRequired: Bool? @@ -1322,7 +1358,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UserName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String public init(userName: String) { @@ -1373,7 +1409,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UserName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String public init(userName: String) { @@ -1447,7 +1483,7 @@ extension Iam { AWSShapeMember(label: "InstanceProfileName", required: true, type: .string), AWSShapeMember(label: "RoleName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let instanceProfileName: String /// 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: _+=,.@- public let roleName: String @@ -1486,7 +1522,7 @@ extension Iam { ] /// 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. public let serviceSpecificCredentialId: String - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? public init(serviceSpecificCredentialId: String, userName: String? = nil) { @@ -1507,13 +1543,13 @@ extension Iam { AWSShapeMember(label: "SerialNumber", required: true, type: .string), AWSShapeMember(label: "AuthenticationCode2", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String - /// An authentication code emitted by the device. The format for this parameter is a string of 6 digits. Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device. + /// 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. public let authenticationCode1: String /// 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: =,.@:/- public let serialNumber: String - /// A subsequent authentication code emitted by the device. The format for this parameter is a string of 6 digits. Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device. + /// 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. public let authenticationCode2: String public init(userName: String, authenticationCode1: String, serialNumber: String, authenticationCode2: String) { @@ -1536,7 +1572,7 @@ extension Iam { AWSShapeMember(label: "PolicyDocument", required: true, type: .string), AWSShapeMember(label: "RoleName", required: true, type: .string) ] - /// 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 any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let policyDocument: String /// 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: _+=,.@- public let roleName: String @@ -1565,7 +1601,7 @@ extension Iam { public let sSHPublicKeyBody: String /// The name of the IAM user associated with the SSH public key. public let userName: String - /// The status of the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used. + /// 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. public let status: StatusType /// The MD5 message digest of the SSH public key. public let fingerprint: String @@ -1630,7 +1666,7 @@ extension Iam { public let createDate: TimeStamp? /// 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. public let versionId: String? - /// 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. 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. public let document: String? /// Specifies whether the policy version is set as the policy's default version. public let isDefaultVersion: Bool? @@ -1680,7 +1716,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "InstanceProfileName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let instanceProfileName: String public init(instanceProfileName: String) { @@ -1721,7 +1757,7 @@ extension Iam { ] /// 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. public let marker: String? - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? /// (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. public let maxItems: Int32? @@ -1825,7 +1861,7 @@ extension Iam { public let marker: String? /// (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. public let maxItems: Int32? - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let pathPrefix: String? public init(marker: String? = nil, maxItems: Int32? = nil, pathPrefix: String? = nil) { @@ -1846,7 +1882,7 @@ extension Iam { AWSShapeMember(label: "UserName", required: false, type: .string), AWSShapeMember(label: "ServiceName", required: false, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? /// Filters the returned results to only those for the specified AWS service. If not specified, then AWS returns service-specific credentials for all services. public let serviceName: String? @@ -1864,32 +1900,42 @@ extension Iam { public struct CreateRoleRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Path", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "MaxSessionDuration", required: false, type: .integer), + AWSShapeMember(label: "PermissionsBoundary", required: false, type: .string), AWSShapeMember(label: "RoleName", required: true, type: .string), AWSShapeMember(label: "AssumeRolePolicyDocument", required: true, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "Path", required: false, type: .string) ] - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. - public let path: String? + /// A description of the role. + public let description: String? + /// 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. + public let maxSessionDuration: Int32? + /// The ARN of the policy that is used to set the permissions boundary for the role. + public let permissionsBoundary: String? /// 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". public let roleName: String - /// The trust relationship policy document that grants an entity permission to assume the role. The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let assumeRolePolicyDocument: String - /// A customer-provided description of the role. - public let description: String? + /// 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. + public let path: String? - public init(path: String? = nil, roleName: String, assumeRolePolicyDocument: String, description: String? = nil) { - self.path = path + public init(description: String? = nil, maxSessionDuration: Int32? = nil, permissionsBoundary: String? = nil, roleName: String, assumeRolePolicyDocument: String, path: String? = nil) { + self.description = description + self.maxSessionDuration = maxSessionDuration + self.permissionsBoundary = permissionsBoundary self.roleName = roleName self.assumeRolePolicyDocument = assumeRolePolicyDocument - self.description = description + self.path = path } private enum CodingKeys: String, CodingKey { - case path = "Path" + case description = "Description" + case maxSessionDuration = "MaxSessionDuration" + case permissionsBoundary = "PermissionsBoundary" case roleName = "RoleName" case assumeRolePolicyDocument = "AssumeRolePolicyDocument" - case description = "Description" + case path = "Path" } } @@ -1897,7 +1943,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "OpenIDConnectProviderArn", required: true, type: .string) ] - /// The Amazon Resource Name (ARN) of the IAM OpenID Connect provider resource object to delete. You can get a list of OpenID Connect provider resource ARNs by using the ListOpenIDConnectProviders action. + /// 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. public let openIDConnectProviderArn: String public init(openIDConnectProviderArn: String) { @@ -1969,9 +2015,9 @@ extension Iam { ] /// 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. public let certificateId: String - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? - /// The status you want to assign to the certificate. Active means the certificate can be used for API calls to AWS, while Inactive means the certificate cannot be used. + /// 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. public let status: StatusType public init(certificateId: String, userName: String? = nil, status: StatusType) { @@ -2023,6 +2069,27 @@ extension Iam { } } + public struct PutUserPermissionsBoundaryRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserName", required: true, type: .string), + AWSShapeMember(label: "PermissionsBoundary", required: true, type: .string) + ] + /// The name (friendly name, not ARN) of the IAM user for which you want to set the permissions boundary. + public let userName: String + /// The ARN of the policy that is used to set the permissions boundary for the user. + public let permissionsBoundary: String + + public init(userName: String, permissionsBoundary: String) { + self.userName = userName + self.permissionsBoundary = permissionsBoundary + } + + private enum CodingKeys: String, CodingKey { + case userName = "UserName" + case permissionsBoundary = "PermissionsBoundary" + } + } + public struct ListAttachedUserPoliciesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxItems", required: false, type: .integer), @@ -2032,11 +2099,11 @@ extension Iam { ] /// (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. public let maxItems: Int32? - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String /// 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. public let marker: String? - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let pathPrefix: String? public init(maxItems: Int32? = nil, userName: String, marker: String? = nil, pathPrefix: String? = nil) { @@ -2061,7 +2128,7 @@ extension Iam { ] /// 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: _+=,.@- public let roleName: String - /// 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: =,.@-+ + /// 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: _+=,.@- public let policyName: String public init(roleName: String, policyName: String) { @@ -2082,7 +2149,7 @@ extension Iam { ] /// 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. public let policyArn: String - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String public init(policyArn: String, userName: String) { @@ -2172,7 +2239,7 @@ extension Iam { ] /// 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. public let encoding: EncodingType - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String /// 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. public let sSHPublicKeyId: String @@ -2206,6 +2273,22 @@ extension Iam { } } + public struct DeleteRolePermissionsBoundaryRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoleName", required: true, type: .string) + ] + /// The name (friendly name, not ARN) of the IAM role from which you want to remove the permissions boundary. + public let roleName: String + + public init(roleName: String) { + self.roleName = roleName + } + + private enum CodingKeys: String, CodingKey { + case roleName = "RoleName" + } + } + public struct ListSigningCertificatesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Marker", required: false, type: .string), @@ -2214,7 +2297,7 @@ extension Iam { ] /// 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. public let marker: String? - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? /// (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. public let maxItems: Int32? @@ -2241,11 +2324,11 @@ extension Iam { ] /// (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. public let maxItems: Int32? - /// 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: =,.@- + /// 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: _+=,.@- public let groupName: String /// 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. public let marker: String? - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let pathPrefix: String? public init(maxItems: Int32? = nil, groupName: String, marker: String? = nil, pathPrefix: String? = nil) { @@ -2286,11 +2369,11 @@ extension Iam { AWSShapeMember(label: "SerialNumber", required: true, type: .string), AWSShapeMember(label: "AuthenticationCode2", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String /// An authentication code emitted by the device. The format for this parameter is a sequence of six digits. public let authenticationCode1: String - /// 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: =,.@- + /// 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: _+=,.@- public let serialNumber: String /// A subsequent authentication code emitted by the device. The format for this parameter is a sequence of six digits. public let authenticationCode2: String @@ -2351,7 +2434,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AllowedByOrganizations", required: false, type: .boolean) ] - /// Specifies whether the simulated action is allowed by the AWS Organizations service control policies that impact the simulated user's account. + /// Specifies whether the simulated operation is allowed by the AWS Organizations service control policies that impact the simulated user's account. public let allowedByOrganizations: Bool? public init(allowedByOrganizations: Bool? = nil) { @@ -2416,9 +2499,9 @@ extension Iam { AWSShapeMember(label: "UserName", required: true, type: .string), AWSShapeMember(label: "PasswordResetRequired", required: false, type: .boolean) ] - /// The new password for the specified IAM user. The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). 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. + /// 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. public let password: String? - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String /// Allows this new password to be used only once by requiring the specified IAM user to set a new password on next sign-in. public let passwordResetRequired: Bool? @@ -2470,7 +2553,7 @@ extension Iam { ] /// 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. public let marker: String? - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? /// (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. public let maxItems: Int32? @@ -2492,7 +2575,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GroupName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let groupName: String public init(groupName: String) { @@ -2552,11 +2635,11 @@ extension Iam { AWSShapeMember(label: "NewGroupName", required: false, type: .string), AWSShapeMember(label: "GroupName", required: true, type: .string) ] - /// New path for the IAM group. Only include this if changing the group's path. This paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let newPath: String? - /// 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: =,.@- + /// 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: _+=,.@- public let newGroupName: String? - /// 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: =,.@- + /// 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: _+=,.@- public let groupName: String public init(newPath: String? = nil, newGroupName: String? = nil, groupName: String) { @@ -2611,7 +2694,7 @@ extension Iam { ] /// 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. public let policyArn: String - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String public init(policyArn: String, userName: String) { @@ -2687,9 +2770,9 @@ extension Iam { AWSShapeMember(label: "GroupName", required: true, type: .string), AWSShapeMember(label: "PolicyName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let groupName: String - /// 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: =,.@-+ + /// 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: _+=,.@- public let policyName: String public init(groupName: String, policyName: String) { @@ -2709,7 +2792,7 @@ extension Iam { AWSShapeMember(label: "ContextKeyName", required: false, type: .string), AWSShapeMember(label: "ContextKeyType", required: false, type: .enum) ] - /// The value (or values, if the condition context key supports multiple values) to provide to the simulation for use when the key is referenced by a Condition element in an input policy. + /// 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. public let contextKeyValues: [String]? /// The full name of a condition context key, including the service prefix. For example, aws:SourceIp or s3:VersionId. public let contextKeyName: String? @@ -2752,7 +2835,7 @@ extension Iam { ] /// 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. public let policyArn: String - /// 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: =,.@- + /// 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: _+=,.@- public let groupName: String public init(policyArn: String, groupName: String) { @@ -2766,10 +2849,15 @@ extension Iam { } } + public struct UpdateRoleResponse: AWSShape { + + } + public struct ListEntitiesForPolicyRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EntityFilter", required: false, type: .enum), AWSShapeMember(label: "MaxItems", required: false, type: .integer), + AWSShapeMember(label: "PolicyUsageFilter", required: false, type: .enum), AWSShapeMember(label: "PolicyArn", required: true, type: .string), AWSShapeMember(label: "Marker", required: false, type: .string), AWSShapeMember(label: "PathPrefix", required: false, type: .string) @@ -2778,16 +2866,19 @@ extension Iam { public let entityFilter: EntityType? /// (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. public let maxItems: Int32? + /// 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. + public let policyUsageFilter: PolicyUsageType? /// 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. public let policyArn: String /// 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. public let marker: String? - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let pathPrefix: String? - public init(entityFilter: EntityType? = nil, maxItems: Int32? = nil, policyArn: String, marker: String? = nil, pathPrefix: String? = nil) { + public init(entityFilter: EntityType? = nil, maxItems: Int32? = nil, policyUsageFilter: PolicyUsageType? = nil, policyArn: String, marker: String? = nil, pathPrefix: String? = nil) { self.entityFilter = entityFilter self.maxItems = maxItems + self.policyUsageFilter = policyUsageFilter self.policyArn = policyArn self.marker = marker self.pathPrefix = pathPrefix @@ -2796,6 +2887,7 @@ extension Iam { private enum CodingKeys: String, CodingKey { case entityFilter = "EntityFilter" case maxItems = "MaxItems" + case policyUsageFilter = "PolicyUsageFilter" case policyArn = "PolicyArn" case marker = "Marker" case pathPrefix = "PathPrefix" @@ -2892,7 +2984,7 @@ extension Iam { public let createDate: TimeStamp? /// The name of the IAM user that the access key is associated with. public let userName: String - /// The status of the access key. Active means the key is valid for API calls, while Inactive means it is not. + /// The status of the access key. Active means that the key is valid for API calls, while Inactive means it is not. public let status: StatusType /// The secret key used to sign requests. public let secretAccessKey: String @@ -2919,20 +3011,25 @@ extension Iam { public struct CreateUserRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UserName", required: true, type: .string), + AWSShapeMember(label: "PermissionsBoundary", required: false, type: .string), AWSShapeMember(label: "Path", required: false, type: .string) ] - /// 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". + /// 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". public let userName: String - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// The ARN of the policy that is used to set the permissions boundary for the user. + public let permissionsBoundary: String? + /// 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. public let path: String? - public init(userName: String, path: String? = nil) { + public init(userName: String, permissionsBoundary: String? = nil, path: String? = nil) { self.userName = userName + self.permissionsBoundary = permissionsBoundary self.path = path } private enum CodingKeys: String, CodingKey { case userName = "UserName" + case permissionsBoundary = "PermissionsBoundary" case path = "Path" } } @@ -2942,7 +3039,7 @@ extension Iam { AWSShapeMember(label: "InstanceProfileName", required: true, type: .string), AWSShapeMember(label: "RoleName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let instanceProfileName: String /// 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: _+=,.@- public let roleName: String @@ -2963,9 +3060,9 @@ extension Iam { AWSShapeMember(label: "InstanceProfileName", required: true, type: .string), AWSShapeMember(label: "Path", required: false, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let instanceProfileName: String - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let path: String? public init(instanceProfileName: String, path: String? = nil) { @@ -2984,9 +3081,9 @@ extension Iam { AWSShapeMember(label: "SSHPublicKeyBody", required: true, type: .string), AWSShapeMember(label: "UserName", required: true, type: .string) ] - /// The SSH public key. The public key must be encoded in ssh-rsa format or PEM format. The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let sSHPublicKeyBody: String - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String public init(sSHPublicKeyBody: String, userName: String) { @@ -3004,7 +3101,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UserName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String public init(userName: String) { @@ -3024,7 +3121,7 @@ extension Iam { ] /// 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. public let marker: String? - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? /// (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. public let maxItems: Int32? @@ -3073,21 +3170,21 @@ extension Iam { ] /// (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. public let maxItems: Int32? - /// A list of names of API actions to evaluate in the simulation. Each action is evaluated against each resource. Each action must include the service identifier, such as iam:CreateUser. + /// 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. public let actionNames: [String] /// 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. public let marker: String? - /// A list of policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy. Do not include any resource-based policies in this parameter. Any resource-based policy must be submitted with the ResourcePolicy parameter. The policies cannot be "scope-down" policies, such as you could include in a call to GetFederationToken or one of the AssumeRole APIs to restrict what a user can do while using the temporary credentials. The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let policyInputList: [String] - /// Specifies the type of simulation to run. Different APIs that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation. Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the AWS EC2 User Guide. EC2-Classic-InstanceStore instance, image, security-group EC2-Classic-EBS instance, image, security-group, volume EC2-VPC-InstanceStore instance, image, security-group, network-interface EC2-VPC-InstanceStore-Subnet instance, image, security-group, network-interface, subnet EC2-VPC-EBS instance, image, security-group, network-interface, volume EC2-VPC-EBS-Subnet instance, image, security-group, network-interface, subnet, volume + /// 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 public let resourceHandlingOption: String? /// 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. public let resourceArns: [String]? - /// The ARN of the IAM user that you want to use as the simulated caller of the APIs. CallerArn is required if you include a ResourcePolicy so that the policy's Principal element has a value to use in evaluating the policy. You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal. + /// 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. public let callerArn: String? - /// 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. + /// 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. public let resourceOwner: String? - /// 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 any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let resourcePolicy: String? /// 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. public let contextEntries: [ContextEntry]? @@ -3122,6 +3219,7 @@ extension Iam { public struct RoleDetail: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AttachedManagedPolicies", required: false, type: .list), + AWSShapeMember(label: "PermissionsBoundary", required: false, type: .structure), AWSShapeMember(label: "Arn", required: false, type: .string), AWSShapeMember(label: "AssumeRolePolicyDocument", required: false, type: .string), AWSShapeMember(label: "Path", required: false, type: .string), @@ -3133,6 +3231,8 @@ extension Iam { ] /// A list of managed policies attached to the role. These policies are the role's access (permissions) policies. public let attachedManagedPolicies: [AttachedPolicy]? + /// 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. + public let permissionsBoundary: AttachedPermissionsBoundary? public let arn: String? /// The trust policy that grants permission to assume the role. public let assumeRolePolicyDocument: String? @@ -3149,8 +3249,9 @@ extension Iam { /// A list of instance profiles that contain this role. public let instanceProfileList: [InstanceProfile]? - public init(attachedManagedPolicies: [AttachedPolicy]? = nil, arn: String? = nil, assumeRolePolicyDocument: String? = nil, path: String? = nil, createDate: TimeStamp? = nil, roleId: String? = nil, roleName: String? = nil, rolePolicyList: [PolicyDetail]? = nil, instanceProfileList: [InstanceProfile]? = nil) { + public init(attachedManagedPolicies: [AttachedPolicy]? = nil, permissionsBoundary: AttachedPermissionsBoundary? = nil, arn: String? = nil, assumeRolePolicyDocument: String? = nil, path: String? = nil, createDate: TimeStamp? = nil, roleId: String? = nil, roleName: String? = nil, rolePolicyList: [PolicyDetail]? = nil, instanceProfileList: [InstanceProfile]? = nil) { self.attachedManagedPolicies = attachedManagedPolicies + self.permissionsBoundary = permissionsBoundary self.arn = arn self.assumeRolePolicyDocument = assumeRolePolicyDocument self.path = path @@ -3163,6 +3264,7 @@ extension Iam { private enum CodingKeys: String, CodingKey { case attachedManagedPolicies = "AttachedManagedPolicies" + case permissionsBoundary = "PermissionsBoundary" case arn = "Arn" case assumeRolePolicyDocument = "AssumeRolePolicyDocument" case path = "Path" @@ -3224,9 +3326,9 @@ extension Iam { ] /// 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: _+=,.@- public let roleName: String - /// The policy document. The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let policyDocument: String - /// 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: =,.@-+ + /// 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: _+=,.@- public let policyName: String public init(roleName: String, policyDocument: String, policyName: String) { @@ -3250,9 +3352,9 @@ extension Iam { ] /// 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. public let policyArn: String - /// 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 any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let policyDocument: String - /// Specifies whether to set this version as the policy's default version. When this parameter is true, the new policy version becomes the operative version; that is, the version that is in effect for the IAM users, groups, and roles that the policy is attached to. For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide. + /// 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. public let setAsDefault: Bool? public init(policyArn: String, policyDocument: String, setAsDefault: Bool? = nil) { @@ -3295,11 +3397,11 @@ extension Iam { AWSShapeMember(label: "UserName", required: true, type: .string), AWSShapeMember(label: "NewUserName", required: false, type: .string) ] - /// New path for the IAM user. Include this parameter only if you're changing the user's path. This paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let newPath: String? - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String - /// 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: =,.@- + /// 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: _+=,.@- public let newUserName: String? public init(newPath: String? = nil, userName: String, newUserName: String? = nil) { @@ -3341,7 +3443,7 @@ extension Iam { ] /// Specifies whether to require numbers for IAM user passwords. public let requireNumbers: Bool? - /// Indicates whether passwords in the account expire. Returns true if MaxPasswordAge is contains a value greater than 0. Returns false if MaxPasswordAge is 0 or not present. + /// 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. public let expirePasswords: Bool? /// The number of days that an IAM user password is valid. public let maxPasswordAge: Int32? @@ -3413,7 +3515,7 @@ extension Iam { public let marker: String? /// (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. public let maxItems: Int32? - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let pathPrefix: String? public init(marker: String? = nil, maxItems: Int32? = nil, pathPrefix: String? = nil) { @@ -3490,7 +3592,7 @@ extension Iam { public let serviceSpecificCredentialId: String /// The name of the IAM user associated with the service-specific credential. public let userName: String - /// The status of the service-specific credential. Active means the key is valid for API calls, while Inactive means it is not. + /// The status of the service-specific credential. Active means that the key is valid for API calls, while Inactive means it is not. public let status: StatusType /// 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. public let serviceUserName: String @@ -3596,7 +3698,7 @@ extension Iam { public let certificateId: String /// The name of the user the signing certificate is associated with. public let userName: String - /// The status of the signing certificate. Active means the key is valid for API calls, while Inactive means it is not. + /// The status of the signing certificate. Active means that the key is valid for API calls, while Inactive means it is not. public let status: StatusType /// The date when the signing certificate was uploaded. public let uploadDate: TimeStamp? @@ -3630,7 +3732,7 @@ extension Iam { public let marker: String? /// (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. public let maxItems: Int32? - /// 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: =,.@- + /// 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: _+=,.@- public let groupName: String public init(marker: String? = nil, maxItems: Int32? = nil, groupName: String) { @@ -3675,7 +3777,7 @@ extension Iam { ] /// 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. public let marker: String? - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String /// (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. public let maxItems: Int32? @@ -3725,11 +3827,11 @@ extension Iam { AWSShapeMember(label: "ThumbprintList", required: true, type: .list), AWSShapeMember(label: "ClientIDList", required: false, type: .list) ] - /// The URL of the identity provider. The URL must begin with "https://" and should correspond to the iss claim in the provider's OpenID Connect ID tokens. Per the OIDC standard, path components are allowed but query parameters are not. Typically the URL consists of only a host name, like "https://server.example.org" or "https://example.com". You cannot register the same provider multiple times in a single AWS account. If you try to submit a URL that has already been used for an OpenID Connect provider in the AWS account, you will get an error. + /// 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. public let url: String - /// A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). Typically this list includes only one entry. However, IAM lets you have up to five thumbprints for an OIDC provider. This lets you maintain multiple thumbprints if the identity provider is rotating certificates. The server certificate thumbprint is the hex-encoded SHA-1 hash value of the X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string. You must provide at least one thumbprint when creating an IAM OIDC provider. For example, if the OIDC provider is server.example.com and the provider stores its keys at "https://keys.server.example.com/openid-connect", the thumbprint string would be the hex-encoded SHA-1 hash value of the certificate used by https://keys.server.example.com. For more information about obtaining the OIDC provider's thumbprint, see Obtaining the Thumbprint for an OpenID Connect Provider in the IAM User Guide. + /// 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. public let thumbprintList: [String] - /// A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) You can register multiple client IDs with the same provider. For example, you might have multiple applications that use the same OIDC provider. You cannot register more than 100 client IDs with a single IAM OIDC provider. There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest action accepts client IDs up to 255 characters long. + /// 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. public let clientIDList: [String]? public init(url: String, thumbprintList: [String], clientIDList: [String]? = nil) { @@ -3839,7 +3941,7 @@ extension Iam { AWSShapeMember(label: "UserName", required: false, type: .string), AWSShapeMember(label: "AccessKeyId", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? /// 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. public let accessKeyId: String @@ -3979,7 +4081,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "User", required: true, type: .structure) ] - /// A structure containing details about the IAM user. + /// 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. public let user: User public init(user: User) { @@ -4007,23 +4109,23 @@ extension Iam { ] /// (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. public let maxItems: Int32? - /// A list of names of API actions to evaluate in the simulation. Each action is evaluated for each resource. Each action must include the service identifier, such as iam:CreateUser. + /// 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. public let actionNames: [String] /// 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. public let marker: String? - /// 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 any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let policyInputList: [String]? - /// Specifies the type of simulation to run. Different APIs that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation. Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the AWS EC2 User Guide. EC2-Classic-InstanceStore instance, image, security-group EC2-Classic-EBS instance, image, security-group, volume EC2-VPC-InstanceStore instance, image, security-group, network-interface EC2-VPC-InstanceStore-Subnet instance, image, security-group, network-interface, subnet EC2-VPC-EBS instance, image, security-group, network-interface, volume EC2-VPC-EBS-Subnet instance, image, security-group, network-interface, subnet, volume + /// 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 public let resourceHandlingOption: String? - /// 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. + /// 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. public let resourceArns: [String]? /// 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. public let policySourceArn: String /// 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. public let resourceOwner: String? - /// 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 any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let resourcePolicy: String? - /// The ARN of the IAM user that you want to specify as the simulated caller of the APIs. If you do not specify a CallerArn, it defaults to the ARN of the user that you specify in PolicySourceArn, if you specified a user. If you include both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David) and a CallerArn (for example, arn:aws:iam::123456789012:user/Bob), the result is that you simulate calling the APIs as Bob, as if Bob had David's policies. You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal. CallerArn is required if you include a ResourcePolicy and the PolicySourceArn is not the ARN for an IAM user. This is required so that the resource-based policy's Principal element has a value to use in evaluating the policy. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference. + /// 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. public let callerArn: String? /// 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. public let contextEntries: [ContextEntry]? @@ -4064,7 +4166,7 @@ extension Iam { ] /// The client ID (also known as audience) to remove from the IAM OIDC provider resource. For more information about client IDs, see CreateOpenIDConnectProvider. public let clientID: String - /// The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove the client ID from. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference. + /// 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. public let openIDConnectProviderArn: String public init(clientID: String, openIDConnectProviderArn: String) { @@ -4118,7 +4220,7 @@ extension Iam { ] /// A short description of the reason that the service-linked role deletion failed. public let reason: String? - /// A list of objects that contains details about the service-linked role deletion failure. 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. + /// 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. public let roleUsageList: [RoleUsageType]? public init(reason: String? = nil, roleUsageList: [RoleUsageType]? = nil) { @@ -4153,9 +4255,9 @@ extension Iam { AWSShapeMember(label: "VirtualMFADeviceName", required: true, type: .string), AWSShapeMember(label: "Path", required: false, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let virtualMFADeviceName: String - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let path: String? public init(virtualMFADeviceName: String, path: String? = nil) { @@ -4182,7 +4284,7 @@ extension Iam { public let serviceSpecificCredentialId: String /// The name of the IAM user associated with the service-specific credential. public let userName: String - /// The status of the service-specific credential. Active means the key is valid for API calls, while Inactive means it is not. + /// The status of the service-specific credential. Active means that the key is valid for API calls, while Inactive means it is not. public let status: StatusType /// The name of the service associated with the service-specific credential. public let serviceName: String @@ -4216,13 +4318,14 @@ extension Iam { AWSShapeMember(label: "PolicyId", required: false, type: .string), AWSShapeMember(label: "Arn", required: false, type: .string), AWSShapeMember(label: "IsAttachable", required: false, type: .boolean), - AWSShapeMember(label: "PolicyName", required: false, type: .string), + AWSShapeMember(label: "DefaultVersionId", required: false, type: .string), AWSShapeMember(label: "PolicyVersionList", required: false, type: .list), AWSShapeMember(label: "UpdateDate", required: false, type: .timestamp), AWSShapeMember(label: "Path", required: false, type: .string), AWSShapeMember(label: "CreateDate", required: false, type: .timestamp), AWSShapeMember(label: "AttachmentCount", required: false, type: .integer), - AWSShapeMember(label: "DefaultVersionId", required: false, type: .string) + AWSShapeMember(label: "PermissionsBoundaryUsageCount", required: false, type: .integer), + AWSShapeMember(label: "PolicyName", required: false, type: .string) ] /// A friendly description of the policy. public let description: String? @@ -4231,8 +4334,8 @@ extension Iam { public let arn: String? /// Specifies whether the policy can be attached to an IAM user, group, or role. public let isAttachable: Bool? - /// The friendly name (not ARN) identifying the policy. - public let policyName: String? + /// 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. + public let defaultVersionId: String? /// A list containing information about the versions of the policy. public let policyVersionList: [PolicyVersion]? /// 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. @@ -4243,21 +4346,24 @@ extension Iam { public let createDate: TimeStamp? /// The number of principal entities (users, groups, and roles) that the policy is attached to. public let attachmentCount: Int32? - /// 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. - public let defaultVersionId: String? + /// 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. + public let permissionsBoundaryUsageCount: Int32? + /// The friendly name (not ARN) identifying the policy. + public let policyName: String? - public init(description: String? = nil, policyId: String? = nil, arn: String? = nil, isAttachable: Bool? = nil, policyName: String? = nil, policyVersionList: [PolicyVersion]? = nil, updateDate: TimeStamp? = nil, path: String? = nil, createDate: TimeStamp? = nil, attachmentCount: Int32? = nil, defaultVersionId: String? = nil) { + public init(description: String? = nil, policyId: String? = nil, arn: String? = nil, isAttachable: Bool? = nil, defaultVersionId: String? = nil, policyVersionList: [PolicyVersion]? = nil, updateDate: TimeStamp? = nil, path: String? = nil, createDate: TimeStamp? = nil, attachmentCount: Int32? = nil, permissionsBoundaryUsageCount: Int32? = nil, policyName: String? = nil) { self.description = description self.policyId = policyId self.arn = arn self.isAttachable = isAttachable - self.policyName = policyName + self.defaultVersionId = defaultVersionId self.policyVersionList = policyVersionList self.updateDate = updateDate self.path = path self.createDate = createDate self.attachmentCount = attachmentCount - self.defaultVersionId = defaultVersionId + self.permissionsBoundaryUsageCount = permissionsBoundaryUsageCount + self.policyName = policyName } private enum CodingKeys: String, CodingKey { @@ -4265,13 +4371,14 @@ extension Iam { case policyId = "PolicyId" case arn = "Arn" case isAttachable = "IsAttachable" - case policyName = "PolicyName" + case defaultVersionId = "DefaultVersionId" case policyVersionList = "PolicyVersionList" case updateDate = "UpdateDate" case path = "Path" case createDate = "CreateDate" case attachmentCount = "AttachmentCount" - case defaultVersionId = "DefaultVersionId" + case permissionsBoundaryUsageCount = "PermissionsBoundaryUsageCount" + case policyName = "PolicyName" } } @@ -4281,11 +4388,11 @@ extension Iam { AWSShapeMember(label: "Region", required: true, type: .string), AWSShapeMember(label: "ServiceName", required: true, type: .string) ] - /// The date and time, in ISO 8601 date-time format, when the access key was most recently used. This field is null when: The user does not have an access key. An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015. There is no sign-in data associated with the user + /// 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 public let lastUsedDate: TimeStamp - /// The AWS region where this access key was most recently used. This field is displays "N/A" when: The user does not have an access key. An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015. There is no sign-in data associated with the user For more information about AWS regions, see Regions and Endpoints in the Amazon Web Services General Reference. + /// 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. public let region: String - /// The name of the AWS service with which this access key was most recently used. This field displays "N/A" when: The user does not have an access key. An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015. There is no sign-in data associated with the user + /// 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 public let serviceName: String public init(lastUsedDate: TimeStamp, region: String, serviceName: String) { @@ -4317,6 +4424,32 @@ extension Iam { } } + public struct UpdateRoleRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "RoleName", required: true, type: .string), + AWSShapeMember(label: "MaxSessionDuration", required: false, type: .integer) + ] + /// The new description that you want to apply to the specified role. + public let description: String? + /// The name of the role that you want to modify. + public let roleName: String + /// 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. + public let maxSessionDuration: Int32? + + public init(description: String? = nil, roleName: String, maxSessionDuration: Int32? = nil) { + self.description = description + self.roleName = roleName + self.maxSessionDuration = maxSessionDuration + } + + private enum CodingKeys: String, CodingKey { + case description = "Description" + case roleName = "RoleName" + case maxSessionDuration = "MaxSessionDuration" + } + } + public struct GetLoginProfileResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LoginProfile", required: true, type: .structure) @@ -4333,6 +4466,11 @@ extension Iam { } } + public enum PermissionsBoundaryAttachmentType: String, CustomStringConvertible, Codable { + case permissionsboundarypolicy = "PermissionsBoundaryPolicy" + public var description: String { return self.rawValue } + } + public struct GetAccountAuthorizationDetailsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RoleDetailList", required: false, type: .list), @@ -4493,7 +4631,7 @@ extension Iam { ] /// 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. public let certificateId: String - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? public init(certificateId: String, userName: String? = nil) { @@ -4510,6 +4648,7 @@ extension Iam { public struct ListPoliciesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "OnlyAttached", required: false, type: .boolean), + AWSShapeMember(label: "PolicyUsageFilter", required: false, type: .enum), AWSShapeMember(label: "MaxItems", required: false, type: .integer), AWSShapeMember(label: "Scope", required: false, type: .enum), AWSShapeMember(label: "Marker", required: false, type: .string), @@ -4517,17 +4656,20 @@ extension Iam { ] /// 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. public let onlyAttached: Bool? + /// 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. + public let policyUsageFilter: PolicyUsageType? /// (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. public let maxItems: Int32? /// 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. public let scope: PolicyScopeType? /// 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. public let marker: String? - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let pathPrefix: String? - public init(onlyAttached: Bool? = nil, maxItems: Int32? = nil, scope: PolicyScopeType? = nil, marker: String? = nil, pathPrefix: String? = nil) { + public init(onlyAttached: Bool? = nil, policyUsageFilter: PolicyUsageType? = nil, maxItems: Int32? = nil, scope: PolicyScopeType? = nil, marker: String? = nil, pathPrefix: String? = nil) { self.onlyAttached = onlyAttached + self.policyUsageFilter = policyUsageFilter self.maxItems = maxItems self.scope = scope self.marker = marker @@ -4536,6 +4678,7 @@ extension Iam { private enum CodingKeys: String, CodingKey { case onlyAttached = "OnlyAttached" + case policyUsageFilter = "PolicyUsageFilter" case maxItems = "MaxItems" case scope = "Scope" case marker = "Marker" @@ -4543,6 +4686,22 @@ extension Iam { } } + public struct DeleteUserPermissionsBoundaryRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserName", required: true, type: .string) + ] + /// The name (friendly name, not ARN) of the IAM user from which you want to remove the permissions boundary. + public let userName: String + + public init(userName: String) { + self.userName = userName + } + + private enum CodingKeys: String, CodingKey { + case userName = "UserName" + } + } + public struct ListGroupsForUserRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Marker", required: false, type: .string), @@ -4551,7 +4710,7 @@ extension Iam { ] /// 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. public let marker: String? - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String /// (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. public let maxItems: Int32? @@ -4569,6 +4728,27 @@ extension Iam { } } + public struct AttachedPermissionsBoundary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PermissionsBoundaryType", required: false, type: .enum), + AWSShapeMember(label: "PermissionsBoundaryArn", required: false, type: .string) + ] + /// 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. + public let permissionsBoundaryType: PermissionsBoundaryAttachmentType? + /// The ARN of the policy used to set the permissions boundary for the user or role. + public let permissionsBoundaryArn: String? + + public init(permissionsBoundaryType: PermissionsBoundaryAttachmentType? = nil, permissionsBoundaryArn: String? = nil) { + self.permissionsBoundaryType = permissionsBoundaryType + self.permissionsBoundaryArn = permissionsBoundaryArn + } + + private enum CodingKeys: String, CodingKey { + case permissionsBoundaryType = "PermissionsBoundaryType" + case permissionsBoundaryArn = "PermissionsBoundaryArn" + } + } + public struct ListInstanceProfilesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Marker", required: false, type: .string), @@ -4623,7 +4803,7 @@ extension Iam { ] /// The client ID (also known as audience) to add to the IAM OpenID Connect provider resource. public let clientID: String - /// The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider resource to add the client ID to. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action. + /// 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. public let openIDConnectProviderArn: String public init(clientID: String, openIDConnectProviderArn: String) { @@ -4723,7 +4903,7 @@ extension Iam { ] /// 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. public let serviceSpecificCredentialId: String - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? public init(serviceSpecificCredentialId: String, userName: String? = nil) { @@ -4759,9 +4939,9 @@ extension Iam { AWSShapeMember(label: "Status", required: true, type: .enum), AWSShapeMember(label: "SSHPublicKeyId", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String - /// The status to assign to the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used. + /// 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. public let status: StatusType /// 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. public let sSHPublicKeyId: String @@ -4817,11 +4997,11 @@ extension Iam { AWSShapeMember(label: "PolicyDocument", required: true, type: .string), AWSShapeMember(label: "PolicyName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let groupName: String - /// The policy document. The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let policyDocument: String - /// 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: =,.@-+ + /// 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: _+=,.@- public let policyName: String public init(groupName: String, policyDocument: String, policyName: String) { @@ -4865,23 +5045,23 @@ extension Iam { AWSShapeMember(label: "HardExpiry", required: false, type: .boolean), AWSShapeMember(label: "AllowUsersToChangePassword", required: false, type: .boolean) ] - /// Specifies whether IAM user passwords must contain at least one numeric character (0 to 9). Default value: false + /// 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. public let requireNumbers: Bool? - /// The number of days that an IAM user password is valid. The default value of 0 means IAM user passwords never expire. Default value: 0 + /// 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. public let maxPasswordAge: Int32? - /// The minimum number of characters allowed in an IAM user password. Default value: 6 + /// 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. public let minimumPasswordLength: Int32? - /// Specifies whether IAM user passwords must contain at least one lowercase character from the ISO basic Latin alphabet (a to z). Default value: false + /// 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. public let requireLowercaseCharacters: Bool? - /// Specifies the number of previous passwords that IAM users are prevented from reusing. The default value of 0 means IAM users are not prevented from reusing previous passwords. Default value: 0 + /// 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. public let passwordReusePrevention: Int32? - /// Specifies whether IAM user passwords must contain at least one of the following non-alphanumeric characters: ! @ # $ % ^ &amp; * ( ) _ + - = [ ] { } | ' Default value: false + /// 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. public let requireSymbols: Bool? - /// Specifies whether IAM user passwords must contain at least one uppercase character from the ISO basic Latin alphabet (A to Z). Default value: false + /// 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. public let requireUppercaseCharacters: Bool? - /// Prevents IAM users from setting a new password after their password has expired. Default value: false + /// 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. public let hardExpiry: Bool? - /// Allows all IAM users in your account to use the AWS Management Console to change their own passwords. For more information, see Letting IAM Users Change Their Own Passwords in the IAM User Guide. Default value: false + /// 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. public let allowUsersToChangePassword: Bool? public init(requireNumbers: Bool? = nil, maxPasswordAge: Int32? = nil, minimumPasswordLength: Int32? = nil, requireLowercaseCharacters: Bool? = nil, passwordReusePrevention: Int32? = nil, requireSymbols: Bool? = nil, requireUppercaseCharacters: Bool? = nil, hardExpiry: Bool? = nil, allowUsersToChangePassword: Bool? = nil) { @@ -5091,7 +5271,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UserName", required: false, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String? public init(userName: String? = nil) { @@ -5124,9 +5304,9 @@ extension Iam { AWSShapeMember(label: "UserName", required: true, type: .string), AWSShapeMember(label: "GroupName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String - /// 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: =,.@- + /// 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: _+=,.@- public let groupName: String public init(userName: String, groupName: String) { @@ -5191,9 +5371,9 @@ extension Iam { AWSShapeMember(label: "GroupName", required: true, type: .string), AWSShapeMember(label: "PolicyName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let groupName: String - /// 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: =,.@-+ + /// 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: _+=,.@- public let policyName: String public init(groupName: String, policyName: String) { @@ -5225,6 +5405,8 @@ extension Iam { public struct Role: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxSessionDuration", required: false, type: .integer), + AWSShapeMember(label: "PermissionsBoundary", required: false, type: .structure), AWSShapeMember(label: "Arn", required: true, type: .string), AWSShapeMember(label: "AssumeRolePolicyDocument", required: false, type: .string), AWSShapeMember(label: "Path", required: true, type: .string), @@ -5233,6 +5415,10 @@ extension Iam { AWSShapeMember(label: "RoleName", required: true, type: .string), AWSShapeMember(label: "Description", required: false, type: .string) ] + /// 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. + public let maxSessionDuration: Int32? + /// 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. + public let permissionsBoundary: AttachedPermissionsBoundary? /// 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. public let arn: String /// The policy that grants an entity permission to assume the role. @@ -5248,7 +5434,9 @@ extension Iam { /// A description of the role that you provide. public let description: String? - public init(arn: String, assumeRolePolicyDocument: String? = nil, path: String, createDate: TimeStamp, roleId: String, roleName: String, description: String? = nil) { + public init(maxSessionDuration: Int32? = nil, permissionsBoundary: AttachedPermissionsBoundary? = nil, arn: String, assumeRolePolicyDocument: String? = nil, path: String, createDate: TimeStamp, roleId: String, roleName: String, description: String? = nil) { + self.maxSessionDuration = maxSessionDuration + self.permissionsBoundary = permissionsBoundary self.arn = arn self.assumeRolePolicyDocument = assumeRolePolicyDocument self.path = path @@ -5259,6 +5447,8 @@ extension Iam { } private enum CodingKeys: String, CodingKey { + case maxSessionDuration = "MaxSessionDuration" + case permissionsBoundary = "PermissionsBoundary" case arn = "Arn" case assumeRolePolicyDocument = "AssumeRolePolicyDocument" case path = "Path" @@ -5279,7 +5469,7 @@ extension Iam { public let marker: String? /// (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. public let maxItems: Int32? - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let pathPrefix: String? public init(marker: String? = nil, maxItems: Int32? = nil, pathPrefix: String? = nil) { @@ -5366,7 +5556,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PolicyInputList", required: true, type: .list) ] - /// 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 any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let policyInputList: [String] public init(policyInputList: [String]) { @@ -5388,7 +5578,7 @@ extension Iam { public let marker: String? /// (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. public let maxItems: Int32? - /// 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 paramater 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, containing any ASCII character from the ! (\u0021) thru the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. + /// 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. public let pathPrefix: String? public init(marker: String? = nil, maxItems: Int32? = nil, pathPrefix: String? = nil) { @@ -5409,9 +5599,9 @@ extension Iam { AWSShapeMember(label: "PolicyInputList", required: false, type: .list), AWSShapeMember(label: "PolicySourceArn", required: true, type: .string) ] - /// 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 any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D). + /// 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) public let policyInputList: [String]? - /// The ARN of a user, group, or role whose policies contain the context keys that you want listed. If you specify a user, the list includes context keys that are found in all policies attached to the user as well as to all groups that the user is a member of. If you pick a group or a role, then it includes only those context keys that are found in policies attached to that entity. Note that all parameters are shown in unencoded form here for clarity, but must be URL encoded to be included as a part of a real HTML request. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference. + /// 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. public let policySourceArn: String public init(policyInputList: [String]? = nil, policySourceArn: String) { @@ -5435,7 +5625,7 @@ extension Iam { public let marker: String? /// (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. public let maxItems: Int32? - /// 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: =,.@- + /// 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: _+=,.@- public let groupName: String public init(marker: String? = nil, maxItems: Int32? = nil, groupName: String) { @@ -5458,7 +5648,7 @@ extension Iam { ] /// 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. public let policyArn: String - /// 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: =,.@- + /// 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: _+=,.@- public let groupName: String public init(policyArn: String, groupName: String) { @@ -5476,7 +5666,7 @@ extension Iam { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "InstanceProfileName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let instanceProfileName: String public init(instanceProfileName: String) { @@ -5535,9 +5725,9 @@ extension Iam { AWSShapeMember(label: "UserName", required: true, type: .string), AWSShapeMember(label: "PolicyName", required: true, type: .string) ] - /// 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: =,.@- + /// 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: _+=,.@- public let userName: String - /// 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: =,.@-+ + /// 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: _+=,.@- public let policyName: String public init(userName: String, policyName: String) { @@ -5567,6 +5757,12 @@ extension Iam { } } + public enum PolicyUsageType: String, CustomStringConvertible, Codable { + case permissionspolicy = "PermissionsPolicy" + case permissionsboundary = "PermissionsBoundary" + public var description: String { return self.rawValue } + } + public struct ListSSHPublicKeysResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Marker", required: false, type: .string), diff --git a/Sources/AWSSDKSwift/Services/inspector/Inspector_API.swift b/Sources/AWSSDKSwift/Services/inspector/Inspector_API.swift index 16466b85ef7..e4ccaa25bd8 100644 --- a/Sources/AWSSDKSwift/Services/inspector/Inspector_API.swift +++ b/Sources/AWSSDKSwift/Services/inspector/Inspector_API.swift @@ -30,9 +30,9 @@ public struct Inspector { return try client.send(operation: "RemoveAttributesFromFindings", path: "/", httpMethod: "POST", input: input) } - /// Previews the agents installed on the EC2 instances that are part of the specified assessment target. - public func previewAgents(_ input: PreviewAgentsRequest) throws -> PreviewAgentsResponse { - return try client.send(operation: "PreviewAgents", path: "/", httpMethod: "POST", input: input) + /// Produces an assessment report that includes detailed and comprehensive results of a specified assessment run. + public func getAssessmentReport(_ input: GetAssessmentReportRequest) throws -> GetAssessmentReportResponse { + return try client.send(operation: "GetAssessmentReport", path: "/", httpMethod: "POST", input: input) } /// Deletes the assessment template that is specified by the ARN of the assessment template. @@ -65,6 +65,11 @@ public struct Inspector { _ = try client.send(operation: "UnsubscribeFromEvent", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func getExclusionsPreview(_ input: GetExclusionsPreviewRequest) throws -> GetExclusionsPreviewResponse { + return try client.send(operation: "GetExclusionsPreview", path: "/", httpMethod: "POST", input: input) + } + /// Describes the resource groups that are specified by the ARNs of the resource groups. public func describeResourceGroups(_ input: DescribeResourceGroupsRequest) throws -> DescribeResourceGroupsResponse { return try client.send(operation: "DescribeResourceGroups", path: "/", httpMethod: "POST", input: input) @@ -85,6 +90,11 @@ public struct Inspector { return try client.send(operation: "ListAssessmentTemplates", path: "/", httpMethod: "POST", input: input) } + /// List exclusions that are generated by the assessment run. + public func listExclusions(_ input: ListExclusionsRequest) throws -> ListExclusionsResponse { + return try client.send(operation: "ListExclusions", path: "/", httpMethod: "POST", input: input) + } + /// Describes the IAM role that enables Amazon Inspector to access your AWS account. public func describeCrossAccountAccessRole() throws -> DescribeCrossAccountAccessRoleResponse { return try client.send(operation: "DescribeCrossAccountAccessRole", path: "/", httpMethod: "POST") @@ -100,22 +110,17 @@ public struct Inspector { return try client.send(operation: "ListEventSubscriptions", path: "/", httpMethod: "POST", input: input) } - /// Enables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic. - public func subscribeToEvent(_ input: SubscribeToEventRequest) throws { - _ = try client.send(operation: "SubscribeToEvent", path: "/", httpMethod: "POST", input: input) - } - - /// Creates an assessment template for the assessment target that is specified by the ARN of the assessment target. + /// 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. public func createAssessmentTemplate(_ input: CreateAssessmentTemplateRequest) throws -> CreateAssessmentTemplateResponse { return try client.send(operation: "CreateAssessmentTemplate", path: "/", httpMethod: "POST", input: input) } - /// Updates the assessment target that is specified by the ARN of the assessment target. + /// 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. public func updateAssessmentTarget(_ input: UpdateAssessmentTargetRequest) throws { _ = try client.send(operation: "UpdateAssessmentTarget", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// Registers the IAM role that grants Amazon Inspector access to AWS Services needed to perform security assessments. public func registerCrossAccountAccessRole(_ input: RegisterCrossAccountAccessRoleRequest) throws { _ = try client.send(operation: "RegisterCrossAccountAccessRole", path: "/", httpMethod: "POST", input: input) } @@ -125,6 +130,11 @@ public struct Inspector { return try client.send(operation: "DescribeFindings", path: "/", httpMethod: "POST", input: input) } + /// Lists the assessment runs that correspond to the assessment templates that are specified by the ARNs of the assessment templates. + public func listAssessmentRuns(_ input: ListAssessmentRunsRequest) throws -> ListAssessmentRunsResponse { + return try client.send(operation: "ListAssessmentRuns", path: "/", httpMethod: "POST", input: input) + } + /// Deletes the assessment target that is specified by the ARN of the assessment target. public func deleteAssessmentTarget(_ input: DeleteAssessmentTargetRequest) throws { _ = try client.send(operation: "DeleteAssessmentTarget", path: "/", httpMethod: "POST", input: input) @@ -135,14 +145,14 @@ public struct Inspector { return try client.send(operation: "ListFindings", path: "/", httpMethod: "POST", input: input) } - /// Creates a new assessment target using the ARN of the resource group that is generated by CreateResourceGroup. You can create up to 50 assessment targets per AWS account. You can run up to 500 concurrent agents per AWS account. For more information, see Amazon Inspector Assessment Targets. + /// 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. public func createAssessmentTarget(_ input: CreateAssessmentTargetRequest) throws -> CreateAssessmentTargetResponse { return try client.send(operation: "CreateAssessmentTarget", path: "/", httpMethod: "POST", input: input) } - /// Lists the assessment runs that correspond to the assessment templates that are specified by the ARNs of the assessment templates. - public func listAssessmentRuns(_ input: ListAssessmentRunsRequest) throws -> ListAssessmentRunsResponse { - return try client.send(operation: "ListAssessmentRuns", path: "/", httpMethod: "POST", input: input) + /// Enables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic. + public func subscribeToEvent(_ input: SubscribeToEventRequest) throws { + _ = try client.send(operation: "SubscribeToEvent", path: "/", httpMethod: "POST", input: input) } /// Describes the assessment runs that are specified by the ARNs of the assessment runs. @@ -150,6 +160,11 @@ public struct Inspector { return try client.send(operation: "DescribeAssessmentRuns", path: "/", httpMethod: "POST", input: input) } + /// Describes the exclusions that are specified by the exclusions' ARNs. + public func describeExclusions(_ input: DescribeExclusionsRequest) throws -> DescribeExclusionsResponse { + return try client.send(operation: "DescribeExclusions", path: "/", httpMethod: "POST", input: input) + } + /// Information about the data that is collected for the specified assessment run. public func getTelemetryMetadata(_ input: GetTelemetryMetadataRequest) throws -> GetTelemetryMetadataResponse { return try client.send(operation: "GetTelemetryMetadata", path: "/", httpMethod: "POST", input: input) @@ -175,14 +190,19 @@ public struct Inspector { return try client.send(operation: "DescribeAssessmentTargets", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func createExclusionsPreview(_ input: CreateExclusionsPreviewRequest) throws -> CreateExclusionsPreviewResponse { + return try client.send(operation: "CreateExclusionsPreview", path: "/", httpMethod: "POST", input: input) + } + /// Describes the assessment templates that are specified by the ARNs of the assessment templates. public func describeAssessmentTemplates(_ input: DescribeAssessmentTemplatesRequest) throws -> DescribeAssessmentTemplatesResponse { return try client.send(operation: "DescribeAssessmentTemplates", path: "/", httpMethod: "POST", input: input) } - /// Produces an assessment report that includes detailed and comprehensive results of a specified assessment run. - public func getAssessmentReport(_ input: GetAssessmentReportRequest) throws -> GetAssessmentReportResponse { - return try client.send(operation: "GetAssessmentReport", path: "/", httpMethod: "POST", input: input) + /// Previews the agents installed on the EC2 instances that are part of the specified assessment target. + public func previewAgents(_ input: PreviewAgentsRequest) throws -> PreviewAgentsResponse { + return try client.send(operation: "PreviewAgents", path: "/", httpMethod: "POST", input: input) } /// Lists the agents of the assessment runs that are specified by the ARNs of the assessment runs. diff --git a/Sources/AWSSDKSwift/Services/inspector/Inspector_Error.swift b/Sources/AWSSDKSwift/Services/inspector/Inspector_Error.swift index 25214ae6d19..457b47efa67 100644 --- a/Sources/AWSSDKSwift/Services/inspector/Inspector_Error.swift +++ b/Sources/AWSSDKSwift/Services/inspector/Inspector_Error.swift @@ -8,11 +8,13 @@ public enum InspectorError: AWSErrorType { case invalidInputException(message: String?) case accessDeniedException(message: String?) case noSuchEntityException(message: String?) - case invalidCrossAccountRoleException(message: String?) + case serviceTemporarilyUnavailableException(message: String?) case assessmentRunInProgressException(message: String?) + case unsupportedFeatureException(message: String?) case limitExceededException(message: String?) + case invalidCrossAccountRoleException(message: String?) case agentsAlreadyRunningAssessmentException(message: String?) - case unsupportedFeatureException(message: String?) + case previewGenerationInProgressException(message: String?) } extension InspectorError { @@ -30,16 +32,20 @@ extension InspectorError { self = .accessDeniedException(message: message) case "NoSuchEntityException": self = .noSuchEntityException(message: message) - case "InvalidCrossAccountRoleException": - self = .invalidCrossAccountRoleException(message: message) + case "ServiceTemporarilyUnavailableException": + self = .serviceTemporarilyUnavailableException(message: message) case "AssessmentRunInProgressException": self = .assessmentRunInProgressException(message: message) + case "UnsupportedFeatureException": + self = .unsupportedFeatureException(message: message) case "LimitExceededException": self = .limitExceededException(message: message) + case "InvalidCrossAccountRoleException": + self = .invalidCrossAccountRoleException(message: message) case "AgentsAlreadyRunningAssessmentException": self = .agentsAlreadyRunningAssessmentException(message: message) - case "UnsupportedFeatureException": - self = .unsupportedFeatureException(message: message) + case "PreviewGenerationInProgressException": + self = .previewGenerationInProgressException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/inspector/Inspector_Shapes.swift b/Sources/AWSSDKSwift/Services/inspector/Inspector_Shapes.swift index 0ffe3668a80..199e0eb4410 100644 --- a/Sources/AWSSDKSwift/Services/inspector/Inspector_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/inspector/Inspector_Shapes.swift @@ -35,22 +35,6 @@ extension Inspector { public var description: String { return self.rawValue } } - public struct RemoveAttributesFromFindingsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "failedItems", required: true, type: .map) - ] - /// Attributes details that cannot be described. An error code is provided for each failed item. - public let failedItems: [String: FailedItemDetails] - - public init(failedItems: [String: FailedItemDetails]) { - self.failedItems = failedItems - } - - private enum CodingKeys: String, CodingKey { - case failedItems = "failedItems" - } - } - public enum AccessDeniedErrorCode: String, CustomStringConvertible, Codable { case accessDeniedToAssessmentTarget = "ACCESS_DENIED_TO_ASSESSMENT_TARGET" case accessDeniedToAssessmentTemplate = "ACCESS_DENIED_TO_ASSESSMENT_TEMPLATE" @@ -63,413 +47,409 @@ extension Inspector { public var description: String { return self.rawValue } } - public struct DescribeResourceGroupsRequest: AWSShape { + public struct Subscription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceGroupArns", required: true, type: .list) + AWSShapeMember(label: "resourceArn", required: true, type: .string), + AWSShapeMember(label: "eventSubscriptions", required: true, type: .list), + AWSShapeMember(label: "topicArn", required: true, type: .string) ] - /// The ARN that specifies the resource group that you want to describe. - public let resourceGroupArns: [String] + /// The ARN of the assessment template that is used during the event for which the SNS notification is sent. + public let resourceArn: String + /// The list of existing event subscriptions. + public let eventSubscriptions: [EventSubscription] + /// The ARN of the Amazon Simple Notification Service (SNS) topic to which the SNS notifications are sent. + public let topicArn: String - public init(resourceGroupArns: [String]) { - self.resourceGroupArns = resourceGroupArns + public init(resourceArn: String, eventSubscriptions: [EventSubscription], topicArn: String) { + self.resourceArn = resourceArn + self.eventSubscriptions = eventSubscriptions + self.topicArn = topicArn } private enum CodingKeys: String, CodingKey { - case resourceGroupArns = "resourceGroupArns" + case resourceArn = "resourceArn" + case eventSubscriptions = "eventSubscriptions" + case topicArn = "topicArn" } } - public struct ListFindingsRequest: AWSShape { + public struct ListExclusionsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "maxResults", required: false, type: .integer), - AWSShapeMember(label: "filter", required: false, type: .structure), AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "assessmentRunArns", required: false, type: .list) + AWSShapeMember(label: "exclusionArns", required: true, type: .list) ] - /// 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. - public let maxResults: Int32? - /// 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. - public let filter: FindingFilter? - /// 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. + /// 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. public let nextToken: String? - /// The ARNs of the assessment runs that generate the findings that you want to list. - public let assessmentRunArns: [String]? + /// A list of exclusions' ARNs returned by the action. + public let exclusionArns: [String] - public init(maxResults: Int32? = nil, filter: FindingFilter? = nil, nextToken: String? = nil, assessmentRunArns: [String]? = nil) { - self.maxResults = maxResults - self.filter = filter + public init(nextToken: String? = nil, exclusionArns: [String]) { self.nextToken = nextToken - self.assessmentRunArns = assessmentRunArns + self.exclusionArns = exclusionArns } private enum CodingKeys: String, CodingKey { - case maxResults = "maxResults" - case filter = "filter" case nextToken = "nextToken" - case assessmentRunArns = "assessmentRunArns" + case exclusionArns = "exclusionArns" } } - public struct DescribeCrossAccountAccessRoleResponse: AWSShape { + public struct CreateResourceGroupResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "valid", required: true, type: .boolean), - AWSShapeMember(label: "roleArn", required: true, type: .string), - AWSShapeMember(label: "registeredAt", required: true, type: .timestamp) + AWSShapeMember(label: "resourceGroupArn", required: true, type: .string) ] - /// A Boolean value that specifies whether the IAM role has the necessary policies attached to enable Amazon Inspector to access your AWS account. - public let valid: Bool - /// The ARN that specifies the IAM role that Amazon Inspector uses to access your AWS account. - public let roleArn: String - /// The date when the cross-account access role was registered. - public let registeredAt: TimeStamp + /// The ARN that specifies the resource group that is created. + public let resourceGroupArn: String - public init(valid: Bool, roleArn: String, registeredAt: TimeStamp) { - self.valid = valid - self.roleArn = roleArn - self.registeredAt = registeredAt + public init(resourceGroupArn: String) { + self.resourceGroupArn = resourceGroupArn } private enum CodingKeys: String, CodingKey { - case valid = "valid" - case roleArn = "roleArn" - case registeredAt = "registeredAt" + case resourceGroupArn = "resourceGroupArn" } } - public struct PreviewAgentsRequest: AWSShape { + public struct ListAssessmentTemplatesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "previewAgentsArn", required: true, type: .string), - AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "assessmentTemplateArns", required: true, type: .list), AWSShapeMember(label: "nextToken", required: false, type: .string) ] - /// The ARN of the assessment target whose agents you want to preview. - public let previewAgentsArn: String - /// 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. - public let maxResults: Int32? - /// 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. + /// A list of ARNs that specifies the assessment templates returned by the action. + public let assessmentTemplateArns: [String] + /// 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. public let nextToken: String? - public init(previewAgentsArn: String, maxResults: Int32? = nil, nextToken: String? = nil) { - self.previewAgentsArn = previewAgentsArn - self.maxResults = maxResults + public init(assessmentTemplateArns: [String], nextToken: String? = nil) { + self.assessmentTemplateArns = assessmentTemplateArns self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case previewAgentsArn = "previewAgentsArn" - case maxResults = "maxResults" + case assessmentTemplateArns = "assessmentTemplateArns" case nextToken = "nextToken" } } - public struct DescribeRulesPackagesResponse: AWSShape { + public enum AssetType: String, CustomStringConvertible, Codable { + case ec2Instance = "ec2-instance" + public var description: String { return self.rawValue } + } + + public struct Tag: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "rulesPackages", required: true, type: .list), - AWSShapeMember(label: "failedItems", required: true, type: .map) + AWSShapeMember(label: "key", required: true, type: .string), + AWSShapeMember(label: "value", required: false, type: .string) ] - /// Information about the rules package. - public let rulesPackages: [RulesPackage] - /// Rules package details that cannot be described. An error code is provided for each failed item. - public let failedItems: [String: FailedItemDetails] + /// A tag key. + public let key: String + /// A value assigned to a tag key. + public let value: String? - public init(rulesPackages: [RulesPackage], failedItems: [String: FailedItemDetails]) { - self.rulesPackages = rulesPackages - self.failedItems = failedItems + public init(key: String, value: String? = nil) { + self.key = key + self.value = value } private enum CodingKeys: String, CodingKey { - case rulesPackages = "rulesPackages" - case failedItems = "failedItems" + case key = "key" + case value = "value" } } - public struct Subscription: AWSShape { + public struct ListAssessmentTargetsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceArn", required: true, type: .string), - AWSShapeMember(label: "eventSubscriptions", required: true, type: .list), - AWSShapeMember(label: "topicArn", required: true, type: .string) + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "assessmentTargetArns", required: true, type: .list) ] - /// The ARN of the assessment template that is used during the event for which the SNS notification is sent. - public let resourceArn: String - /// The list of existing event subscriptions. - public let eventSubscriptions: [EventSubscription] - /// The ARN of the Amazon Simple Notification Service (SNS) topic to which the SNS notifications are sent. - public let topicArn: String + /// 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. + public let nextToken: String? + /// A list of ARNs that specifies the assessment targets that are returned by the action. + public let assessmentTargetArns: [String] - public init(resourceArn: String, eventSubscriptions: [EventSubscription], topicArn: String) { - self.resourceArn = resourceArn - self.eventSubscriptions = eventSubscriptions - self.topicArn = topicArn + public init(nextToken: String? = nil, assessmentTargetArns: [String]) { + self.nextToken = nextToken + self.assessmentTargetArns = assessmentTargetArns } private enum CodingKeys: String, CodingKey { - case resourceArn = "resourceArn" - case eventSubscriptions = "eventSubscriptions" - case topicArn = "topicArn" + case nextToken = "nextToken" + case assessmentTargetArns = "assessmentTargetArns" } } - public struct AssessmentTarget: AWSShape { + public struct ResourceGroup: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceGroupArn", required: true, type: .string), - AWSShapeMember(label: "name", required: true, type: .string), - AWSShapeMember(label: "updatedAt", required: true, type: .timestamp), + AWSShapeMember(label: "tags", required: true, type: .list), AWSShapeMember(label: "createdAt", required: true, type: .timestamp), AWSShapeMember(label: "arn", required: true, type: .string) ] - /// The ARN that specifies the resource group that is associated with the assessment target. - public let resourceGroupArn: String - /// The name of the Amazon Inspector assessment target. - public let name: String - /// The time at which UpdateAssessmentTarget is called. - public let updatedAt: TimeStamp - /// The time at which the assessment target is created. + /// The tags (key and value pairs) of the resource group. This data type property is used in the CreateResourceGroup action. + public let tags: [ResourceGroupTag] + /// The time at which resource group is created. public let createdAt: TimeStamp - /// The ARN that specifies the Amazon Inspector assessment target. + /// The ARN of the resource group. public let arn: String - public init(resourceGroupArn: String, name: String, updatedAt: TimeStamp, createdAt: TimeStamp, arn: String) { - self.resourceGroupArn = resourceGroupArn - self.name = name - self.updatedAt = updatedAt + public init(tags: [ResourceGroupTag], createdAt: TimeStamp, arn: String) { + self.tags = tags self.createdAt = createdAt self.arn = arn } private enum CodingKeys: String, CodingKey { - case resourceGroupArn = "resourceGroupArn" - case name = "name" - case updatedAt = "updatedAt" + case tags = "tags" case createdAt = "createdAt" case arn = "arn" } } - public struct DescribeAssessmentTemplatesRequest: AWSShape { + public struct UnsubscribeFromEventRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "assessmentTemplateArns", required: true, type: .list) + AWSShapeMember(label: "resourceArn", required: true, type: .string), + AWSShapeMember(label: "event", required: true, type: .enum), + AWSShapeMember(label: "topicArn", required: true, type: .string) ] - public let assessmentTemplateArns: [String] + /// The ARN of the assessment template that is used during the event for which you want to stop receiving SNS notifications. + public let resourceArn: String + /// The event for which you want to stop receiving SNS notifications. + public let event: InspectorEvent + /// The ARN of the SNS topic to which SNS notifications are sent. + public let topicArn: String - public init(assessmentTemplateArns: [String]) { - self.assessmentTemplateArns = assessmentTemplateArns + public init(resourceArn: String, event: InspectorEvent, topicArn: String) { + self.resourceArn = resourceArn + self.event = event + self.topicArn = topicArn } private enum CodingKeys: String, CodingKey { - case assessmentTemplateArns = "assessmentTemplateArns" + case resourceArn = "resourceArn" + case event = "event" + case topicArn = "topicArn" } } - public struct AddAttributesToFindingsRequest: AWSShape { + public struct Attribute: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "attributes", required: true, type: .list), - AWSShapeMember(label: "findingArns", required: true, type: .list) + AWSShapeMember(label: "key", required: true, type: .string), + AWSShapeMember(label: "value", required: false, type: .string) ] - /// The array of attributes that you want to assign to specified findings. - public let attributes: [Attribute] - /// The ARNs that specify the findings that you want to assign attributes to. - public let findingArns: [String] + /// The attribute key. + public let key: String + /// The value assigned to the attribute key. + public let value: String? - public init(attributes: [Attribute], findingArns: [String]) { - self.attributes = attributes - self.findingArns = findingArns + public init(key: String, value: String? = nil) { + self.key = key + self.value = value } private enum CodingKeys: String, CodingKey { - case attributes = "attributes" - case findingArns = "findingArns" + case key = "key" + case value = "value" } } - public struct PreviewAgentsResponse: AWSShape { + public struct DeleteAssessmentTemplateRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "agentPreviews", required: true, type: .list) + AWSShapeMember(label: "assessmentTemplateArn", required: true, type: .string) ] - /// 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. - public let nextToken: String? - /// The resulting list of agents. - public let agentPreviews: [AgentPreview] + /// The ARN that specifies the assessment template that you want to delete. + public let assessmentTemplateArn: String - public init(nextToken: String? = nil, agentPreviews: [AgentPreview]) { - self.nextToken = nextToken - self.agentPreviews = agentPreviews + public init(assessmentTemplateArn: String) { + self.assessmentTemplateArn = assessmentTemplateArn } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case agentPreviews = "agentPreviews" + case assessmentTemplateArn = "assessmentTemplateArn" } } - public struct DescribeAssessmentRunsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "failedItems", required: true, type: .map), - AWSShapeMember(label: "assessmentRuns", required: true, type: .list) - ] - /// Assessment run details that cannot be described. An error code is provided for each failed item. - public let failedItems: [String: FailedItemDetails] - /// Information about the assessment run. - public let assessmentRuns: [AssessmentRun] - - public init(failedItems: [String: FailedItemDetails], assessmentRuns: [AssessmentRun]) { - self.failedItems = failedItems - self.assessmentRuns = assessmentRuns - } - - private enum CodingKeys: String, CodingKey { - case failedItems = "failedItems" - case assessmentRuns = "assessmentRuns" - } - } - - public struct EventSubscription: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "event", required: true, type: .enum), - AWSShapeMember(label: "subscribedAt", required: true, type: .timestamp) - ] - /// The event for which Amazon Simple Notification Service (SNS) notifications are sent. - public let event: InspectorEvent - /// The time at which SubscribeToEvent is called. - public let subscribedAt: TimeStamp - - public init(event: InspectorEvent, subscribedAt: TimeStamp) { - self.event = event - self.subscribedAt = subscribedAt - } - - private enum CodingKeys: String, CodingKey { - case event = "event" - case subscribedAt = "subscribedAt" - } + public enum InvalidInputErrorCode: String, CustomStringConvertible, Codable { + case invalidAssessmentTargetArn = "INVALID_ASSESSMENT_TARGET_ARN" + case invalidAssessmentTemplateArn = "INVALID_ASSESSMENT_TEMPLATE_ARN" + case invalidAssessmentRunArn = "INVALID_ASSESSMENT_RUN_ARN" + case invalidFindingArn = "INVALID_FINDING_ARN" + case invalidResourceGroupArn = "INVALID_RESOURCE_GROUP_ARN" + case invalidRulesPackageArn = "INVALID_RULES_PACKAGE_ARN" + case invalidResourceArn = "INVALID_RESOURCE_ARN" + case invalidSnsTopicArn = "INVALID_SNS_TOPIC_ARN" + case invalidIamRoleArn = "INVALID_IAM_ROLE_ARN" + case invalidAssessmentTargetName = "INVALID_ASSESSMENT_TARGET_NAME" + case invalidAssessmentTargetNamePattern = "INVALID_ASSESSMENT_TARGET_NAME_PATTERN" + case invalidAssessmentTemplateName = "INVALID_ASSESSMENT_TEMPLATE_NAME" + case invalidAssessmentTemplateNamePattern = "INVALID_ASSESSMENT_TEMPLATE_NAME_PATTERN" + case invalidAssessmentTemplateDuration = "INVALID_ASSESSMENT_TEMPLATE_DURATION" + case invalidAssessmentTemplateDurationRange = "INVALID_ASSESSMENT_TEMPLATE_DURATION_RANGE" + case invalidAssessmentRunDurationRange = "INVALID_ASSESSMENT_RUN_DURATION_RANGE" + case invalidAssessmentRunStartTimeRange = "INVALID_ASSESSMENT_RUN_START_TIME_RANGE" + case invalidAssessmentRunCompletionTimeRange = "INVALID_ASSESSMENT_RUN_COMPLETION_TIME_RANGE" + case invalidAssessmentRunStateChangeTimeRange = "INVALID_ASSESSMENT_RUN_STATE_CHANGE_TIME_RANGE" + case invalidAssessmentRunState = "INVALID_ASSESSMENT_RUN_STATE" + case invalidTag = "INVALID_TAG" + case invalidTagKey = "INVALID_TAG_KEY" + case invalidTagValue = "INVALID_TAG_VALUE" + case invalidResourceGroupTagKey = "INVALID_RESOURCE_GROUP_TAG_KEY" + case invalidResourceGroupTagValue = "INVALID_RESOURCE_GROUP_TAG_VALUE" + case invalidAttribute = "INVALID_ATTRIBUTE" + case invalidUserAttribute = "INVALID_USER_ATTRIBUTE" + case invalidUserAttributeKey = "INVALID_USER_ATTRIBUTE_KEY" + case invalidUserAttributeValue = "INVALID_USER_ATTRIBUTE_VALUE" + case invalidPaginationToken = "INVALID_PAGINATION_TOKEN" + case invalidMaxResults = "INVALID_MAX_RESULTS" + case invalidAgentId = "INVALID_AGENT_ID" + case invalidAutoScalingGroup = "INVALID_AUTO_SCALING_GROUP" + case invalidRuleName = "INVALID_RULE_NAME" + case invalidSeverity = "INVALID_SEVERITY" + case invalidLocale = "INVALID_LOCALE" + case invalidEvent = "INVALID_EVENT" + case assessmentTargetNameAlreadyTaken = "ASSESSMENT_TARGET_NAME_ALREADY_TAKEN" + case assessmentTemplateNameAlreadyTaken = "ASSESSMENT_TEMPLATE_NAME_ALREADY_TAKEN" + case invalidNumberOfAssessmentTargetArns = "INVALID_NUMBER_OF_ASSESSMENT_TARGET_ARNS" + case invalidNumberOfAssessmentTemplateArns = "INVALID_NUMBER_OF_ASSESSMENT_TEMPLATE_ARNS" + case invalidNumberOfAssessmentRunArns = "INVALID_NUMBER_OF_ASSESSMENT_RUN_ARNS" + case invalidNumberOfFindingArns = "INVALID_NUMBER_OF_FINDING_ARNS" + case invalidNumberOfResourceGroupArns = "INVALID_NUMBER_OF_RESOURCE_GROUP_ARNS" + case invalidNumberOfRulesPackageArns = "INVALID_NUMBER_OF_RULES_PACKAGE_ARNS" + case invalidNumberOfAssessmentRunStates = "INVALID_NUMBER_OF_ASSESSMENT_RUN_STATES" + case invalidNumberOfTags = "INVALID_NUMBER_OF_TAGS" + case invalidNumberOfResourceGroupTags = "INVALID_NUMBER_OF_RESOURCE_GROUP_TAGS" + case invalidNumberOfAttributes = "INVALID_NUMBER_OF_ATTRIBUTES" + case invalidNumberOfUserAttributes = "INVALID_NUMBER_OF_USER_ATTRIBUTES" + case invalidNumberOfAgentIds = "INVALID_NUMBER_OF_AGENT_IDS" + case invalidNumberOfAutoScalingGroups = "INVALID_NUMBER_OF_AUTO_SCALING_GROUPS" + case invalidNumberOfRuleNames = "INVALID_NUMBER_OF_RULE_NAMES" + case invalidNumberOfSeverities = "INVALID_NUMBER_OF_SEVERITIES" + public var description: String { return self.rawValue } } - public struct CreateResourceGroupResponse: AWSShape { + public struct RulesPackage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceGroupArn", required: true, type: .string) + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "version", required: true, type: .string), + AWSShapeMember(label: "provider", required: true, type: .string), + AWSShapeMember(label: "arn", required: true, type: .string) ] - /// The ARN that specifies the resource group that is created. - public let resourceGroupArn: String + /// The description of the rules package. + public let description: String? + /// The name of the rules package. + public let name: String + /// The version ID of the rules package. + public let version: String + /// The provider of the rules package. + public let provider: String + /// The ARN of the rules package. + public let arn: String - public init(resourceGroupArn: String) { - self.resourceGroupArn = resourceGroupArn + public init(description: String? = nil, name: String, version: String, provider: String, arn: String) { + self.description = description + self.name = name + self.version = version + self.provider = provider + self.arn = arn } private enum CodingKeys: String, CodingKey { - case resourceGroupArn = "resourceGroupArn" + case description = "description" + case name = "name" + case version = "version" + case provider = "provider" + case arn = "arn" } } - public struct ResourceGroupTag: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "key", required: true, type: .string), - AWSShapeMember(label: "value", required: false, type: .string) - ] - /// A tag key. - public let key: String - /// The value assigned to a tag key. - public let value: String? - - public init(key: String, value: String? = nil) { - self.key = key - self.value = value - } - - private enum CodingKeys: String, CodingKey { - case key = "key" - case value = "value" - } + public enum PreviewStatus: String, CustomStringConvertible, Codable { + case workInProgress = "WORK_IN_PROGRESS" + case completed = "COMPLETED" + public var description: String { return self.rawValue } } - public struct RemoveAttributesFromFindingsRequest: AWSShape { + public struct ListFindingsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "attributeKeys", required: true, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string), AWSShapeMember(label: "findingArns", required: true, type: .list) ] - /// The array of attribute keys that you want to remove from specified findings. - public let attributeKeys: [String] - /// The ARNs that specify the findings that you want to remove attributes from. + /// 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. + public let nextToken: String? + /// A list of ARNs that specifies the findings returned by the action. public let findingArns: [String] - public init(attributeKeys: [String], findingArns: [String]) { - self.attributeKeys = attributeKeys + public init(nextToken: String? = nil, findingArns: [String]) { + self.nextToken = nextToken self.findingArns = findingArns } private enum CodingKeys: String, CodingKey { - case attributeKeys = "attributeKeys" + case nextToken = "nextToken" case findingArns = "findingArns" } } - public struct DescribeAssessmentRunsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "assessmentRunArns", required: true, type: .list) - ] - /// The ARN that specifies the assessment run that you want to describe. - public let assessmentRunArns: [String] - - public init(assessmentRunArns: [String]) { - self.assessmentRunArns = assessmentRunArns - } - - private enum CodingKeys: String, CodingKey { - case assessmentRunArns = "assessmentRunArns" - } - } - - public struct ListAssessmentTemplatesResponse: AWSShape { + public struct ListRulesPackagesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "assessmentTemplateArns", required: true, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer) ] - /// A list of ARNs that specifies the assessment templates returned by the action. - public let assessmentTemplateArns: [String] - /// 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. + /// 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. public let nextToken: String? + /// 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. + public let maxResults: Int32? - public init(assessmentTemplateArns: [String], nextToken: String? = nil) { - self.assessmentTemplateArns = assessmentTemplateArns + public init(nextToken: String? = nil, maxResults: Int32? = nil) { self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case assessmentTemplateArns = "assessmentTemplateArns" case nextToken = "nextToken" + case maxResults = "maxResults" } } - public struct DescribeAssessmentTemplatesResponse: AWSShape { + public struct ExclusionPreview: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "failedItems", required: true, type: .map), - AWSShapeMember(label: "assessmentTemplates", required: true, type: .list) - ] - /// Assessment template details that cannot be described. An error code is provided for each failed item. - public let failedItems: [String: FailedItemDetails] - /// Information about the assessment templates. - public let assessmentTemplates: [AssessmentTemplate] + AWSShapeMember(label: "description", required: true, type: .string), + AWSShapeMember(label: "title", required: true, type: .string), + AWSShapeMember(label: "attributes", required: false, type: .list), + AWSShapeMember(label: "recommendation", required: true, type: .string), + AWSShapeMember(label: "scopes", required: true, type: .list) + ] + /// The description of the exclusion preview. + public let description: String + /// The name of the exclusion preview. + public let title: String + /// The system-defined attributes for the exclusion preview. + public let attributes: [Attribute]? + /// The recommendation for the exclusion preview. + public let recommendation: String + /// The AWS resources for which the exclusion preview pertains. + public let scopes: [Scope] - public init(failedItems: [String: FailedItemDetails], assessmentTemplates: [AssessmentTemplate]) { - self.failedItems = failedItems - self.assessmentTemplates = assessmentTemplates + public init(description: String, title: String, attributes: [Attribute]? = nil, recommendation: String, scopes: [Scope]) { + self.description = description + self.title = title + self.attributes = attributes + self.recommendation = recommendation + self.scopes = scopes } private enum CodingKeys: String, CodingKey { - case failedItems = "failedItems" - case assessmentTemplates = "assessmentTemplates" + case description = "description" + case title = "title" + case attributes = "attributes" + case recommendation = "recommendation" + case scopes = "scopes" } } - public enum AssetType: String, CustomStringConvertible, Codable { - case ec2Instance = "ec2-instance" - public var description: String { return self.rawValue } - } - - public struct StartAssessmentRunResponse: AWSShape { + public struct GetTelemetryMetadataRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "assessmentRunArn", required: true, type: .string) ] - /// The ARN of the assessment run that has been started. + /// The ARN that specifies the assessment run that has the telemetry data that you want to obtain. public let assessmentRunArn: String public init(assessmentRunArn: String) { @@ -481,146 +461,140 @@ extension Inspector { } } - public struct Tag: AWSShape { + public struct AssessmentRun: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "key", required: true, type: .string), - AWSShapeMember(label: "value", required: false, type: .string) + AWSShapeMember(label: "state", required: true, type: .enum), + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "createdAt", required: true, type: .timestamp), + AWSShapeMember(label: "startedAt", required: false, type: .timestamp), + AWSShapeMember(label: "notifications", required: true, type: .list), + AWSShapeMember(label: "dataCollected", required: true, type: .boolean), + AWSShapeMember(label: "findingCounts", required: true, type: .map), + AWSShapeMember(label: "stateChangedAt", required: true, type: .timestamp), + AWSShapeMember(label: "rulesPackageArns", required: true, type: .list), + AWSShapeMember(label: "userAttributesForFindings", required: true, type: .list), + AWSShapeMember(label: "arn", required: true, type: .string), + AWSShapeMember(label: "stateChanges", required: true, type: .list), + AWSShapeMember(label: "completedAt", required: false, type: .timestamp), + AWSShapeMember(label: "durationInSeconds", required: true, type: .integer), + AWSShapeMember(label: "assessmentTemplateArn", required: true, type: .string) ] - /// A tag key. - public let key: String - /// A value assigned to a tag key. - public let value: String? - - public init(key: String, value: String? = nil) { - self.key = key - self.value = value - } - - private enum CodingKeys: String, CodingKey { - case key = "key" - case value = "value" - } - } - - public enum LimitExceededErrorCode: String, CustomStringConvertible, Codable { - case assessmentTargetLimitExceeded = "ASSESSMENT_TARGET_LIMIT_EXCEEDED" - case assessmentTemplateLimitExceeded = "ASSESSMENT_TEMPLATE_LIMIT_EXCEEDED" - case assessmentRunLimitExceeded = "ASSESSMENT_RUN_LIMIT_EXCEEDED" - case resourceGroupLimitExceeded = "RESOURCE_GROUP_LIMIT_EXCEEDED" - case eventSubscriptionLimitExceeded = "EVENT_SUBSCRIPTION_LIMIT_EXCEEDED" - public var description: String { return self.rawValue } - } - - public struct ListAssessmentTargetsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "assessmentTargetArns", required: true, type: .list) - ] - /// 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. - public let nextToken: String? - /// A list of ARNs that specifies the assessment targets that are returned by the action. - public let assessmentTargetArns: [String] - - public init(nextToken: String? = nil, assessmentTargetArns: [String]) { - self.nextToken = nextToken - self.assessmentTargetArns = assessmentTargetArns - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case assessmentTargetArns = "assessmentTargetArns" - } - } - - public struct ResourceGroup: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "tags", required: true, type: .list), - AWSShapeMember(label: "createdAt", required: true, type: .timestamp), - AWSShapeMember(label: "arn", required: true, type: .string) - ] - /// The tags (key and value pairs) of the resource group. This data type property is used in the CreateResourceGroup action. - public let tags: [ResourceGroupTag] - /// The time at which resource group is created. + /// The state of the assessment run. + public let state: AssessmentRunState + /// The auto-generated name for the assessment run. + public let name: String + /// The time when StartAssessmentRun was called. public let createdAt: TimeStamp - /// The ARN of the resource group. + /// The time when StartAssessmentRun was called. + public let startedAt: TimeStamp? + /// A list of notifications for the event subscriptions. A notification about a particular generated finding is added to this list only once. + public let notifications: [AssessmentRunNotification] + /// A Boolean value (true or false) that specifies whether the process of collecting data from the agents is completed. + public let dataCollected: Bool + /// Provides a total count of generated findings per severity. + public let findingCounts: [Severity: Int32] + /// The last time when the assessment run's state changed. + public let stateChangedAt: TimeStamp + /// The rules packages selected for the assessment run. + public let rulesPackageArns: [String] + /// The user-defined attributes that are assigned to every generated finding. + public let userAttributesForFindings: [Attribute] + /// The ARN of the assessment run. public let arn: String + /// A list of the assessment run state changes. + public let stateChanges: [AssessmentRunStateChange] + /// The assessment run completion time that corresponds to the rules packages evaluation completion time or failure. + public let completedAt: TimeStamp? + /// The duration of the assessment run. + public let durationInSeconds: Int32 + /// The ARN of the assessment template that is associated with the assessment run. + public let assessmentTemplateArn: String - public init(tags: [ResourceGroupTag], createdAt: TimeStamp, arn: String) { - self.tags = tags + public init(state: AssessmentRunState, name: String, createdAt: TimeStamp, startedAt: TimeStamp? = nil, notifications: [AssessmentRunNotification], dataCollected: Bool, findingCounts: [Severity: Int32], stateChangedAt: TimeStamp, rulesPackageArns: [String], userAttributesForFindings: [Attribute], arn: String, stateChanges: [AssessmentRunStateChange], completedAt: TimeStamp? = nil, durationInSeconds: Int32, assessmentTemplateArn: String) { + self.state = state + self.name = name self.createdAt = createdAt + self.startedAt = startedAt + self.notifications = notifications + self.dataCollected = dataCollected + self.findingCounts = findingCounts + self.stateChangedAt = stateChangedAt + self.rulesPackageArns = rulesPackageArns + self.userAttributesForFindings = userAttributesForFindings self.arn = arn + self.stateChanges = stateChanges + self.completedAt = completedAt + self.durationInSeconds = durationInSeconds + self.assessmentTemplateArn = assessmentTemplateArn } private enum CodingKeys: String, CodingKey { - case tags = "tags" + case state = "state" + case name = "name" case createdAt = "createdAt" + case startedAt = "startedAt" + case notifications = "notifications" + case dataCollected = "dataCollected" + case findingCounts = "findingCounts" + case stateChangedAt = "stateChangedAt" + case rulesPackageArns = "rulesPackageArns" + case userAttributesForFindings = "userAttributesForFindings" case arn = "arn" + case stateChanges = "stateChanges" + case completedAt = "completedAt" + case durationInSeconds = "durationInSeconds" + case assessmentTemplateArn = "assessmentTemplateArn" } } - public struct UnsubscribeFromEventRequest: AWSShape { + public struct ListEventSubscriptionsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceArn", required: true, type: .string), - AWSShapeMember(label: "event", required: true, type: .enum), - AWSShapeMember(label: "topicArn", required: true, type: .string) + AWSShapeMember(label: "subscriptions", required: true, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) ] - /// The ARN of the assessment template that is used during the event for which you want to stop receiving SNS notifications. - public let resourceArn: String - /// The event for which you want to stop receiving SNS notifications. - public let event: InspectorEvent - /// The ARN of the SNS topic to which SNS notifications are sent. - public let topicArn: String + /// Details of the returned event subscriptions. + public let subscriptions: [Subscription] + /// 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. + public let nextToken: String? - public init(resourceArn: String, event: InspectorEvent, topicArn: String) { - self.resourceArn = resourceArn - self.event = event - self.topicArn = topicArn + public init(subscriptions: [Subscription], nextToken: String? = nil) { + self.subscriptions = subscriptions + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case resourceArn = "resourceArn" - case event = "event" - case topicArn = "topicArn" + case subscriptions = "subscriptions" + case nextToken = "nextToken" } } - public struct GetAssessmentReportRequest: AWSShape { + public struct DeleteAssessmentTargetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "reportType", required: true, type: .enum), - AWSShapeMember(label: "reportFileFormat", required: true, type: .enum), - AWSShapeMember(label: "assessmentRunArn", required: true, type: .string) + AWSShapeMember(label: "assessmentTargetArn", required: true, type: .string) ] - /// 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. - public let reportType: ReportType - /// Specifies the file format (html or pdf) of the assessment report that you want to generate. - public let reportFileFormat: ReportFileFormat - /// The ARN that specifies the assessment run for which you want to generate a report. - public let assessmentRunArn: String + /// The ARN that specifies the assessment target that you want to delete. + public let assessmentTargetArn: String - public init(reportType: ReportType, reportFileFormat: ReportFileFormat, assessmentRunArn: String) { - self.reportType = reportType - self.reportFileFormat = reportFileFormat - self.assessmentRunArn = assessmentRunArn + public init(assessmentTargetArn: String) { + self.assessmentTargetArn = assessmentTargetArn } private enum CodingKeys: String, CodingKey { - case reportType = "reportType" - case reportFileFormat = "reportFileFormat" - case assessmentRunArn = "assessmentRunArn" + case assessmentTargetArn = "assessmentTargetArn" } } - public struct Attribute: AWSShape { + public struct Scope: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "key", required: true, type: .string), + AWSShapeMember(label: "key", required: false, type: .enum), AWSShapeMember(label: "value", required: false, type: .string) ] - /// The attribute key. - public let key: String - /// The value assigned to the attribute key. + /// The type of the scope. + public let key: ScopeType? + /// The resource identifier for the specified scope type. public let value: String? - public init(key: String, value: String? = nil) { + public init(key: ScopeType? = nil, value: String? = nil) { self.key = key self.value = value } @@ -631,970 +605,1616 @@ extension Inspector { } } - public struct DeleteAssessmentTemplateRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "assessmentTemplateArn", required: true, type: .string) - ] - /// The ARN that specifies the assessment template that you want to delete. - public let assessmentTemplateArn: String - - public init(assessmentTemplateArn: String) { - self.assessmentTemplateArn = assessmentTemplateArn - } - - private enum CodingKeys: String, CodingKey { - case assessmentTemplateArn = "assessmentTemplateArn" - } + public enum AgentHealth: String, CustomStringConvertible, Codable { + case healthy = "HEALTHY" + case unhealthy = "UNHEALTHY" + case unknown = "UNKNOWN" + public var description: String { return self.rawValue } } - public struct DescribeAssessmentTargetsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "assessmentTargetArns", required: true, type: .list) - ] - /// The ARNs that specifies the assessment targets that you want to describe. - public let assessmentTargetArns: [String] - - public init(assessmentTargetArns: [String]) { - self.assessmentTargetArns = assessmentTargetArns - } - - private enum CodingKeys: String, CodingKey { - case assessmentTargetArns = "assessmentTargetArns" - } + public enum ReportType: String, CustomStringConvertible, Codable { + case finding = "FINDING" + case full = "FULL" + public var description: String { return self.rawValue } } - public struct DeleteAssessmentRunRequest: AWSShape { + public struct GetExclusionsPreviewRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "assessmentRunArn", required: true, type: .string) + AWSShapeMember(label: "previewToken", required: true, type: .string), + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "assessmentTemplateArn", required: true, type: .string), + AWSShapeMember(label: "locale", required: false, type: .enum) ] - /// The ARN that specifies the assessment run that you want to delete. - public let assessmentRunArn: String + /// The unique identifier associated of the exclusions preview. + public let previewToken: String + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + /// The ARN that specifies the assessment template for which the exclusions preview was requested. + public let assessmentTemplateArn: String + /// The locale into which you want to translate the exclusion's title, description, and recommendation. + public let locale: Locale? - public init(assessmentRunArn: String) { - self.assessmentRunArn = assessmentRunArn + public init(previewToken: String, nextToken: String? = nil, maxResults: Int32? = nil, assessmentTemplateArn: String, locale: Locale? = nil) { + self.previewToken = previewToken + self.nextToken = nextToken + self.maxResults = maxResults + self.assessmentTemplateArn = assessmentTemplateArn + self.locale = locale } private enum CodingKeys: String, CodingKey { - case assessmentRunArn = "assessmentRunArn" + case previewToken = "previewToken" + case nextToken = "nextToken" + case maxResults = "maxResults" + case assessmentTemplateArn = "assessmentTemplateArn" + case locale = "locale" } } - public struct FindingFilter: AWSShape { + public struct Finding: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ruleNames", required: false, type: .list), - AWSShapeMember(label: "severities", required: false, type: .list), - AWSShapeMember(label: "attributes", required: false, type: .list), - AWSShapeMember(label: "userAttributes", required: false, type: .list), - AWSShapeMember(label: "agentIds", required: false, type: .list), - AWSShapeMember(label: "rulesPackageArns", required: false, type: .list), - AWSShapeMember(label: "creationTimeRange", required: false, type: .structure), - AWSShapeMember(label: "autoScalingGroups", required: false, type: .list) + AWSShapeMember(label: "assetType", required: false, type: .enum), + AWSShapeMember(label: "schemaVersion", required: false, type: .integer), + AWSShapeMember(label: "userAttributes", required: true, type: .list), + AWSShapeMember(label: "recommendation", required: false, type: .string), + AWSShapeMember(label: "createdAt", required: true, type: .timestamp), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "serviceAttributes", required: false, type: .structure), + AWSShapeMember(label: "indicatorOfCompromise", required: false, type: .boolean), + AWSShapeMember(label: "severity", required: false, type: .enum), + AWSShapeMember(label: "assetAttributes", required: false, type: .structure), + AWSShapeMember(label: "numericSeverity", required: false, type: .double), + AWSShapeMember(label: "service", required: false, type: .string), + AWSShapeMember(label: "arn", required: true, type: .string), + AWSShapeMember(label: "attributes", required: true, type: .list), + AWSShapeMember(label: "id", required: false, type: .string), + AWSShapeMember(label: "updatedAt", required: true, type: .timestamp), + AWSShapeMember(label: "title", required: false, type: .string), + AWSShapeMember(label: "confidence", required: false, type: .integer) ] - /// 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. - public let ruleNames: [String]? - /// 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. - public let severities: [Severity]? - /// 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. - public let attributes: [Attribute]? - /// 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. - public let userAttributes: [Attribute]? - /// 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. - public let agentIds: [String]? - /// 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. - public let rulesPackageArns: [String]? - /// The time range during which the finding is generated. - public let creationTimeRange: TimestampRange? - /// 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. - public let autoScalingGroups: [String]? + /// The type of the host from which the finding is generated. + public let assetType: AssetType? + /// The schema version of this data type. + public let schemaVersion: Int32? + /// The user-defined attributes that are assigned to the finding. + public let userAttributes: [Attribute] + /// The recommendation for the finding. + public let recommendation: String? + /// The time when the finding was generated. + public let createdAt: TimeStamp + /// The description of the finding. + public let description: String? + /// This data type is used in the Finding data type. + public let serviceAttributes: InspectorServiceAttributes? + /// This data element is currently not used. + public let indicatorOfCompromise: Bool? + /// The finding severity. Values can be set to High, Medium, Low, and Informational. + public let severity: Severity? + /// A collection of attributes of the host from which the finding is generated. + public let assetAttributes: AssetAttributes? + /// The numeric value of the finding severity. + public let numericSeverity: Double? + /// The data element is set to "Inspector". + public let service: String? + /// The ARN that specifies the finding. + public let arn: String + /// The system-defined attributes for the finding. + public let attributes: [Attribute] + /// The ID of the finding. + public let id: String? + /// The time when AddAttributesToFindings is called. + public let updatedAt: TimeStamp + /// The name of the finding. + public let title: String? + /// This data element is currently not used. + public let confidence: Int32? - public init(ruleNames: [String]? = nil, severities: [Severity]? = nil, attributes: [Attribute]? = nil, userAttributes: [Attribute]? = nil, agentIds: [String]? = nil, rulesPackageArns: [String]? = nil, creationTimeRange: TimestampRange? = nil, autoScalingGroups: [String]? = nil) { - self.ruleNames = ruleNames - self.severities = severities - self.attributes = attributes + public init(assetType: AssetType? = nil, schemaVersion: Int32? = nil, userAttributes: [Attribute], recommendation: String? = nil, createdAt: TimeStamp, description: String? = nil, serviceAttributes: InspectorServiceAttributes? = nil, indicatorOfCompromise: Bool? = nil, severity: Severity? = nil, assetAttributes: AssetAttributes? = nil, numericSeverity: Double? = nil, service: String? = nil, arn: String, attributes: [Attribute], id: String? = nil, updatedAt: TimeStamp, title: String? = nil, confidence: Int32? = nil) { + self.assetType = assetType + self.schemaVersion = schemaVersion self.userAttributes = userAttributes - self.agentIds = agentIds - self.rulesPackageArns = rulesPackageArns - self.creationTimeRange = creationTimeRange - self.autoScalingGroups = autoScalingGroups + self.recommendation = recommendation + self.createdAt = createdAt + self.description = description + self.serviceAttributes = serviceAttributes + self.indicatorOfCompromise = indicatorOfCompromise + self.severity = severity + self.assetAttributes = assetAttributes + self.numericSeverity = numericSeverity + self.service = service + self.arn = arn + self.attributes = attributes + self.id = id + self.updatedAt = updatedAt + self.title = title + self.confidence = confidence } private enum CodingKeys: String, CodingKey { - case ruleNames = "ruleNames" - case severities = "severities" - case attributes = "attributes" + case assetType = "assetType" + case schemaVersion = "schemaVersion" case userAttributes = "userAttributes" - case agentIds = "agentIds" - case rulesPackageArns = "rulesPackageArns" - case creationTimeRange = "creationTimeRange" - case autoScalingGroups = "autoScalingGroups" + case recommendation = "recommendation" + case createdAt = "createdAt" + case description = "description" + case serviceAttributes = "serviceAttributes" + case indicatorOfCompromise = "indicatorOfCompromise" + case severity = "severity" + case assetAttributes = "assetAttributes" + case numericSeverity = "numericSeverity" + case service = "service" + case arn = "arn" + case attributes = "attributes" + case id = "id" + case updatedAt = "updatedAt" + case title = "title" + case confidence = "confidence" } } - public enum InvalidInputErrorCode: String, CustomStringConvertible, Codable { - case invalidAssessmentTargetArn = "INVALID_ASSESSMENT_TARGET_ARN" - case invalidAssessmentTemplateArn = "INVALID_ASSESSMENT_TEMPLATE_ARN" - case invalidAssessmentRunArn = "INVALID_ASSESSMENT_RUN_ARN" - case invalidFindingArn = "INVALID_FINDING_ARN" - case invalidResourceGroupArn = "INVALID_RESOURCE_GROUP_ARN" - case invalidRulesPackageArn = "INVALID_RULES_PACKAGE_ARN" - case invalidResourceArn = "INVALID_RESOURCE_ARN" - case invalidSnsTopicArn = "INVALID_SNS_TOPIC_ARN" - case invalidIamRoleArn = "INVALID_IAM_ROLE_ARN" - case invalidAssessmentTargetName = "INVALID_ASSESSMENT_TARGET_NAME" - case invalidAssessmentTargetNamePattern = "INVALID_ASSESSMENT_TARGET_NAME_PATTERN" - case invalidAssessmentTemplateName = "INVALID_ASSESSMENT_TEMPLATE_NAME" - case invalidAssessmentTemplateNamePattern = "INVALID_ASSESSMENT_TEMPLATE_NAME_PATTERN" - case invalidAssessmentTemplateDuration = "INVALID_ASSESSMENT_TEMPLATE_DURATION" - case invalidAssessmentTemplateDurationRange = "INVALID_ASSESSMENT_TEMPLATE_DURATION_RANGE" - case invalidAssessmentRunDurationRange = "INVALID_ASSESSMENT_RUN_DURATION_RANGE" - case invalidAssessmentRunStartTimeRange = "INVALID_ASSESSMENT_RUN_START_TIME_RANGE" - case invalidAssessmentRunCompletionTimeRange = "INVALID_ASSESSMENT_RUN_COMPLETION_TIME_RANGE" - case invalidAssessmentRunStateChangeTimeRange = "INVALID_ASSESSMENT_RUN_STATE_CHANGE_TIME_RANGE" - case invalidAssessmentRunState = "INVALID_ASSESSMENT_RUN_STATE" - case invalidTag = "INVALID_TAG" - case invalidTagKey = "INVALID_TAG_KEY" - case invalidTagValue = "INVALID_TAG_VALUE" - case invalidResourceGroupTagKey = "INVALID_RESOURCE_GROUP_TAG_KEY" - case invalidResourceGroupTagValue = "INVALID_RESOURCE_GROUP_TAG_VALUE" - case invalidAttribute = "INVALID_ATTRIBUTE" - case invalidUserAttribute = "INVALID_USER_ATTRIBUTE" - case invalidUserAttributeKey = "INVALID_USER_ATTRIBUTE_KEY" - case invalidUserAttributeValue = "INVALID_USER_ATTRIBUTE_VALUE" - case invalidPaginationToken = "INVALID_PAGINATION_TOKEN" - case invalidMaxResults = "INVALID_MAX_RESULTS" - case invalidAgentId = "INVALID_AGENT_ID" - case invalidAutoScalingGroup = "INVALID_AUTO_SCALING_GROUP" - case invalidRuleName = "INVALID_RULE_NAME" - case invalidSeverity = "INVALID_SEVERITY" - case invalidLocale = "INVALID_LOCALE" - case invalidEvent = "INVALID_EVENT" - case assessmentTargetNameAlreadyTaken = "ASSESSMENT_TARGET_NAME_ALREADY_TAKEN" - case assessmentTemplateNameAlreadyTaken = "ASSESSMENT_TEMPLATE_NAME_ALREADY_TAKEN" - case invalidNumberOfAssessmentTargetArns = "INVALID_NUMBER_OF_ASSESSMENT_TARGET_ARNS" - case invalidNumberOfAssessmentTemplateArns = "INVALID_NUMBER_OF_ASSESSMENT_TEMPLATE_ARNS" - case invalidNumberOfAssessmentRunArns = "INVALID_NUMBER_OF_ASSESSMENT_RUN_ARNS" - case invalidNumberOfFindingArns = "INVALID_NUMBER_OF_FINDING_ARNS" - case invalidNumberOfResourceGroupArns = "INVALID_NUMBER_OF_RESOURCE_GROUP_ARNS" - case invalidNumberOfRulesPackageArns = "INVALID_NUMBER_OF_RULES_PACKAGE_ARNS" - case invalidNumberOfAssessmentRunStates = "INVALID_NUMBER_OF_ASSESSMENT_RUN_STATES" - case invalidNumberOfTags = "INVALID_NUMBER_OF_TAGS" - case invalidNumberOfResourceGroupTags = "INVALID_NUMBER_OF_RESOURCE_GROUP_TAGS" - case invalidNumberOfAttributes = "INVALID_NUMBER_OF_ATTRIBUTES" - case invalidNumberOfUserAttributes = "INVALID_NUMBER_OF_USER_ATTRIBUTES" - case invalidNumberOfAgentIds = "INVALID_NUMBER_OF_AGENT_IDS" - case invalidNumberOfAutoScalingGroups = "INVALID_NUMBER_OF_AUTO_SCALING_GROUPS" - case invalidNumberOfRuleNames = "INVALID_NUMBER_OF_RULE_NAMES" - case invalidNumberOfSeverities = "INVALID_NUMBER_OF_SEVERITIES" - public var description: String { return self.rawValue } - } - - public enum NoSuchEntityErrorCode: String, CustomStringConvertible, Codable { - case assessmentTargetDoesNotExist = "ASSESSMENT_TARGET_DOES_NOT_EXIST" - case assessmentTemplateDoesNotExist = "ASSESSMENT_TEMPLATE_DOES_NOT_EXIST" - case assessmentRunDoesNotExist = "ASSESSMENT_RUN_DOES_NOT_EXIST" - case findingDoesNotExist = "FINDING_DOES_NOT_EXIST" - case resourceGroupDoesNotExist = "RESOURCE_GROUP_DOES_NOT_EXIST" - case rulesPackageDoesNotExist = "RULES_PACKAGE_DOES_NOT_EXIST" - case snsTopicDoesNotExist = "SNS_TOPIC_DOES_NOT_EXIST" - case iamRoleDoesNotExist = "IAM_ROLE_DOES_NOT_EXIST" - public var description: String { return self.rawValue } - } - - public enum Severity: String, CustomStringConvertible, Codable { - case low = "Low" - case medium = "Medium" - case high = "High" - case informational = "Informational" - case undefined = "Undefined" - public var description: String { return self.rawValue } - } - - public struct RulesPackage: AWSShape { + public struct AddAttributesToFindingsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "description", required: false, type: .string), - AWSShapeMember(label: "name", required: true, type: .string), - AWSShapeMember(label: "version", required: true, type: .string), - AWSShapeMember(label: "provider", required: true, type: .string), - AWSShapeMember(label: "arn", required: true, type: .string) + AWSShapeMember(label: "failedItems", required: true, type: .map) ] - /// The description of the rules package. - public let description: String? - /// The name of the rules package. - public let name: String - /// The version ID of the rules package. - public let version: String - /// The provider of the rules package. - public let provider: String - /// The ARN of the rules package. - public let arn: String + /// Attribute details that cannot be described. An error code is provided for each failed item. + public let failedItems: [String: FailedItemDetails] - public init(description: String? = nil, name: String, version: String, provider: String, arn: String) { - self.description = description - self.name = name - self.version = version - self.provider = provider - self.arn = arn + public init(failedItems: [String: FailedItemDetails]) { + self.failedItems = failedItems } private enum CodingKeys: String, CodingKey { - case description = "description" - case name = "name" - case version = "version" - case provider = "provider" - case arn = "arn" + case failedItems = "failedItems" } } - public struct AssessmentRunStateChange: AWSShape { + public struct ListTagsForResourceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "state", required: true, type: .enum), - AWSShapeMember(label: "stateChangedAt", required: true, type: .timestamp) + AWSShapeMember(label: "resourceArn", required: true, type: .string) ] - /// The assessment run state. - public let state: AssessmentRunState - /// The last time the assessment run state changed. - public let stateChangedAt: TimeStamp + /// The ARN that specifies the assessment template whose tags you want to list. + public let resourceArn: String - public init(state: AssessmentRunState, stateChangedAt: TimeStamp) { - self.state = state - self.stateChangedAt = stateChangedAt + public init(resourceArn: String) { + self.resourceArn = resourceArn } private enum CodingKeys: String, CodingKey { - case state = "state" - case stateChangedAt = "stateChangedAt" + case resourceArn = "resourceArn" } } - public struct ListFindingsResponse: AWSShape { + public struct ListEventSubscriptionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceArn", required: false, type: .string), AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "findingArns", required: true, type: .list) + AWSShapeMember(label: "maxResults", required: false, type: .integer) ] - /// 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. + /// The ARN of the assessment template for which you want to list the existing event subscriptions. + public let resourceArn: String? + /// 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. public let nextToken: String? - /// A list of ARNs that specifies the findings returned by the action. - public let findingArns: [String] + /// 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. + public let maxResults: Int32? - public init(nextToken: String? = nil, findingArns: [String]) { + public init(resourceArn: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.resourceArn = resourceArn self.nextToken = nextToken - self.findingArns = findingArns + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { + case resourceArn = "resourceArn" case nextToken = "nextToken" - case findingArns = "findingArns" + case maxResults = "maxResults" } } - public struct ListAssessmentRunsRequest: AWSShape { + public struct UpdateAssessmentTargetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "maxResults", required: false, type: .integer), - AWSShapeMember(label: "filter", required: false, type: .structure), - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "assessmentTemplateArns", required: false, type: .list) + AWSShapeMember(label: "resourceGroupArn", required: false, type: .string), + AWSShapeMember(label: "assessmentTargetArn", required: true, type: .string), + AWSShapeMember(label: "assessmentTargetName", required: true, type: .string) ] - /// 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. - public let maxResults: Int32? - /// 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. - public let filter: AssessmentRunFilter? - /// 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. - public let nextToken: String? - /// The ARNs that specify the assessment templates whose assessment runs you want to list. - public let assessmentTemplateArns: [String]? + /// The ARN of the resource group that is used to specify the new resource group to associate with the assessment target. + public let resourceGroupArn: String? + /// The ARN of the assessment target that you want to update. + public let assessmentTargetArn: String + /// The name of the assessment target that you want to update. + public let assessmentTargetName: String - public init(maxResults: Int32? = nil, filter: AssessmentRunFilter? = nil, nextToken: String? = nil, assessmentTemplateArns: [String]? = nil) { - self.maxResults = maxResults - self.filter = filter - self.nextToken = nextToken - self.assessmentTemplateArns = assessmentTemplateArns + public init(resourceGroupArn: String? = nil, assessmentTargetArn: String, assessmentTargetName: String) { + self.resourceGroupArn = resourceGroupArn + self.assessmentTargetArn = assessmentTargetArn + self.assessmentTargetName = assessmentTargetName } private enum CodingKeys: String, CodingKey { - case maxResults = "maxResults" - case filter = "filter" - case nextToken = "nextToken" - case assessmentTemplateArns = "assessmentTemplateArns" + case resourceGroupArn = "resourceGroupArn" + case assessmentTargetArn = "assessmentTargetArn" + case assessmentTargetName = "assessmentTargetName" } } - public struct AgentPreview: AWSShape { + public struct ListTagsForResourceResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "autoScalingGroup", required: false, type: .string), - AWSShapeMember(label: "agentId", required: true, type: .string) + AWSShapeMember(label: "tags", required: true, type: .list) ] - /// The Auto Scaling group for the EC2 instance where the agent is installed. - public let autoScalingGroup: String? - /// The ID of the EC2 instance where the agent is installed. - public let agentId: String + /// A collection of key and value pairs. + public let tags: [Tag] - public init(autoScalingGroup: String? = nil, agentId: String) { - self.autoScalingGroup = autoScalingGroup - self.agentId = agentId + public init(tags: [Tag]) { + self.tags = tags } private enum CodingKeys: String, CodingKey { - case autoScalingGroup = "autoScalingGroup" - case agentId = "agentId" + case tags = "tags" } } - public struct ListRulesPackagesRequest: AWSShape { + public enum InvalidCrossAccountRoleErrorCode: String, CustomStringConvertible, Codable { + case roleDoesNotExistOrInvalidTrustRelationship = "ROLE_DOES_NOT_EXIST_OR_INVALID_TRUST_RELATIONSHIP" + case roleDoesNotHaveCorrectPolicy = "ROLE_DOES_NOT_HAVE_CORRECT_POLICY" + public var description: String { return self.rawValue } + } + + public struct GetExclusionsPreviewResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "exclusionPreviews", required: false, type: .list), + AWSShapeMember(label: "previewStatus", required: true, type: .enum), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// Information about the exclusions included in the preview. + public let exclusionPreviews: [ExclusionPreview]? + /// Specifies the status of the request to generate an exclusions preview. + public let previewStatus: PreviewStatus + /// 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. + public let nextToken: String? + + public init(exclusionPreviews: [ExclusionPreview]? = nil, previewStatus: PreviewStatus, nextToken: String? = nil) { + self.exclusionPreviews = exclusionPreviews + self.previewStatus = previewStatus + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case exclusionPreviews = "exclusionPreviews" + case previewStatus = "previewStatus" + case nextToken = "nextToken" + } + } + + public struct ListAssessmentRunsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "maxResults", required: false, type: .integer) + AWSShapeMember(label: "assessmentRunArns", required: true, type: .list) ] - /// 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. + /// 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. public let nextToken: String? - /// 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. - public let maxResults: Int32? + /// A list of ARNs that specifies the assessment runs that are returned by the action. + public let assessmentRunArns: [String] - public init(nextToken: String? = nil, maxResults: Int32? = nil) { + public init(nextToken: String? = nil, assessmentRunArns: [String]) { self.nextToken = nextToken - self.maxResults = maxResults + self.assessmentRunArns = assessmentRunArns } private enum CodingKeys: String, CodingKey { case nextToken = "nextToken" - case maxResults = "maxResults" + case assessmentRunArns = "assessmentRunArns" } } - public struct AssessmentRunFilter: AWSShape { + public struct AssessmentRunAgent: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "telemetryMetadata", required: true, type: .list), + AWSShapeMember(label: "autoScalingGroup", required: false, type: .string), + AWSShapeMember(label: "agentHealth", required: true, type: .enum), + AWSShapeMember(label: "agentHealthDetails", required: false, type: .string), + AWSShapeMember(label: "assessmentRunArn", required: true, type: .string), + AWSShapeMember(label: "agentHealthCode", required: true, type: .enum), + AWSShapeMember(label: "agentId", required: true, type: .string) + ] + /// The Amazon Inspector application data metrics that are collected by the agent. + public let telemetryMetadata: [TelemetryMetadata] + /// The Auto Scaling group of the EC2 instance that is specified by the agent ID. + public let autoScalingGroup: String? + /// The current health state of the agent. + public let agentHealth: AgentHealth + /// The description for the agent health code. + public let agentHealthDetails: String? + /// The ARN of the assessment run that is associated with the agent. + public let assessmentRunArn: String + /// The detailed health state of the agent. + public let agentHealthCode: AgentHealthCode + /// The AWS account of the EC2 instance where the agent is installed. + public let agentId: String + + public init(telemetryMetadata: [TelemetryMetadata], autoScalingGroup: String? = nil, agentHealth: AgentHealth, agentHealthDetails: String? = nil, assessmentRunArn: String, agentHealthCode: AgentHealthCode, agentId: String) { + self.telemetryMetadata = telemetryMetadata + self.autoScalingGroup = autoScalingGroup + self.agentHealth = agentHealth + self.agentHealthDetails = agentHealthDetails + self.assessmentRunArn = assessmentRunArn + self.agentHealthCode = agentHealthCode + self.agentId = agentId + } + + private enum CodingKeys: String, CodingKey { + case telemetryMetadata = "telemetryMetadata" + case autoScalingGroup = "autoScalingGroup" + case agentHealth = "agentHealth" + case agentHealthDetails = "agentHealthDetails" + case assessmentRunArn = "assessmentRunArn" + case agentHealthCode = "agentHealthCode" + case agentId = "agentId" + } + } + + public struct AssessmentTemplateFilter: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "namePattern", required: false, type: .string), - AWSShapeMember(label: "states", required: false, type: .list), - AWSShapeMember(label: "startTimeRange", required: false, type: .structure), - AWSShapeMember(label: "durationRange", required: false, type: .structure), AWSShapeMember(label: "rulesPackageArns", required: false, type: .list), - AWSShapeMember(label: "completionTimeRange", required: false, type: .structure), - AWSShapeMember(label: "stateChangeTimeRange", required: false, type: .structure) + AWSShapeMember(label: "durationRange", required: false, type: .structure) ] - /// 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. + /// 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. public let namePattern: String? - /// 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. - public let states: [AssessmentRunState]? - /// 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. - public let startTimeRange: TimestampRange? - /// 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. - public let durationRange: DurationRange? - /// 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. + /// 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. public let rulesPackageArns: [String]? - /// 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. - public let completionTimeRange: TimestampRange? - /// 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. - public let stateChangeTimeRange: TimestampRange? + /// 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. + public let durationRange: DurationRange? - public init(namePattern: String? = nil, states: [AssessmentRunState]? = nil, startTimeRange: TimestampRange? = nil, durationRange: DurationRange? = nil, rulesPackageArns: [String]? = nil, completionTimeRange: TimestampRange? = nil, stateChangeTimeRange: TimestampRange? = nil) { + public init(namePattern: String? = nil, rulesPackageArns: [String]? = nil, durationRange: DurationRange? = nil) { self.namePattern = namePattern - self.states = states - self.startTimeRange = startTimeRange - self.durationRange = durationRange self.rulesPackageArns = rulesPackageArns - self.completionTimeRange = completionTimeRange - self.stateChangeTimeRange = stateChangeTimeRange + self.durationRange = durationRange } private enum CodingKeys: String, CodingKey { case namePattern = "namePattern" - case states = "states" - case startTimeRange = "startTimeRange" - case durationRange = "durationRange" case rulesPackageArns = "rulesPackageArns" - case completionTimeRange = "completionTimeRange" - case stateChangeTimeRange = "stateChangeTimeRange" + case durationRange = "durationRange" } } - public struct GetTelemetryMetadataRequest: AWSShape { + public struct AgentAlreadyRunningAssessment: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "agentId", required: true, type: .string), AWSShapeMember(label: "assessmentRunArn", required: true, type: .string) ] - /// The ARN that specifies the assessment run that has the telemetry data that you want to obtain. + /// ID of the agent that is running on an EC2 instance that is already participating in another started assessment run. + public let agentId: String + /// The ARN of the assessment run that has already been started. public let assessmentRunArn: String - public init(assessmentRunArn: String) { + public init(agentId: String, assessmentRunArn: String) { + self.agentId = agentId self.assessmentRunArn = assessmentRunArn } private enum CodingKeys: String, CodingKey { + case agentId = "agentId" case assessmentRunArn = "assessmentRunArn" } } - public struct AssessmentTargetFilter: AWSShape { + public enum AgentHealthCode: String, CustomStringConvertible, Codable { + case idle = "IDLE" + case running = "RUNNING" + case shutdown = "SHUTDOWN" + case unhealthy = "UNHEALTHY" + case throttled = "THROTTLED" + case unknown = "UNKNOWN" + public var description: String { return self.rawValue } + } + + public enum FailedItemErrorCode: String, CustomStringConvertible, Codable { + case invalidArn = "INVALID_ARN" + case duplicateArn = "DUPLICATE_ARN" + case itemDoesNotExist = "ITEM_DOES_NOT_EXIST" + case accessDenied = "ACCESS_DENIED" + case limitExceeded = "LIMIT_EXCEEDED" + case internalError = "INTERNAL_ERROR" + public var description: String { return self.rawValue } + } + + public struct CreateExclusionsPreviewResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "assessmentTargetNamePattern", required: false, type: .string) + AWSShapeMember(label: "previewToken", required: true, type: .string) ] - /// 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. - public let assessmentTargetNamePattern: String? + /// 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. + public let previewToken: String - public init(assessmentTargetNamePattern: String? = nil) { - self.assessmentTargetNamePattern = assessmentTargetNamePattern + public init(previewToken: String) { + self.previewToken = previewToken } private enum CodingKeys: String, CodingKey { - case assessmentTargetNamePattern = "assessmentTargetNamePattern" + case previewToken = "previewToken" } } - public struct AssessmentRun: AWSShape { + public struct TimestampRange: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "state", required: true, type: .enum), - AWSShapeMember(label: "name", required: true, type: .string), - AWSShapeMember(label: "createdAt", required: true, type: .timestamp), - AWSShapeMember(label: "startedAt", required: false, type: .timestamp), - AWSShapeMember(label: "rulesPackageArns", required: true, type: .list), - AWSShapeMember(label: "notifications", required: true, type: .list), - AWSShapeMember(label: "dataCollected", required: true, type: .boolean), - AWSShapeMember(label: "stateChangedAt", required: true, type: .timestamp), - AWSShapeMember(label: "findingCounts", required: true, type: .map), - AWSShapeMember(label: "userAttributesForFindings", required: true, type: .list), - AWSShapeMember(label: "arn", required: true, type: .string), - AWSShapeMember(label: "stateChanges", required: true, type: .list), - AWSShapeMember(label: "completedAt", required: false, type: .timestamp), - AWSShapeMember(label: "durationInSeconds", required: true, type: .integer), - AWSShapeMember(label: "assessmentTemplateArn", required: true, type: .string) + AWSShapeMember(label: "beginDate", required: false, type: .timestamp), + AWSShapeMember(label: "endDate", required: false, type: .timestamp) ] - /// The state of the assessment run. - public let state: AssessmentRunState - /// The auto-generated name for the assessment run. - public let name: String - /// The time when StartAssessmentRun was called. - public let createdAt: TimeStamp - /// The time when StartAssessmentRun was called. - public let startedAt: TimeStamp? - /// The rules packages selected for the assessment run. - public let rulesPackageArns: [String] - /// A list of notifications for the event subscriptions. A notification about a particular generated finding is added to this list only once. - public let notifications: [AssessmentRunNotification] - /// A Boolean value (true or false) that specifies whether the process of collecting data from the agents is completed. - public let dataCollected: Bool - /// The last time when the assessment run's state changed. - public let stateChangedAt: TimeStamp - /// Provides a total count of generated findings per severity. - public let findingCounts: [Severity: Int32] - /// The user-defined attributes that are assigned to every generated finding. - public let userAttributesForFindings: [Attribute] - /// The ARN of the assessment run. - public let arn: String - /// A list of the assessment run state changes. - public let stateChanges: [AssessmentRunStateChange] - /// The assessment run completion time that corresponds to the rules packages evaluation completion time or failure. - public let completedAt: TimeStamp? - /// The duration of the assessment run. - public let durationInSeconds: Int32 - /// The ARN of the assessment template that is associated with the assessment run. - public let assessmentTemplateArn: String - - public init(state: AssessmentRunState, name: String, createdAt: TimeStamp, startedAt: TimeStamp? = nil, rulesPackageArns: [String], notifications: [AssessmentRunNotification], dataCollected: Bool, stateChangedAt: TimeStamp, findingCounts: [Severity: Int32], userAttributesForFindings: [Attribute], arn: String, stateChanges: [AssessmentRunStateChange], completedAt: TimeStamp? = nil, durationInSeconds: Int32, assessmentTemplateArn: String) { - self.state = state - self.name = name - self.createdAt = createdAt - self.startedAt = startedAt - self.rulesPackageArns = rulesPackageArns - self.notifications = notifications - self.dataCollected = dataCollected - self.stateChangedAt = stateChangedAt - self.findingCounts = findingCounts - self.userAttributesForFindings = userAttributesForFindings - self.arn = arn - self.stateChanges = stateChanges - self.completedAt = completedAt - self.durationInSeconds = durationInSeconds - self.assessmentTemplateArn = assessmentTemplateArn + /// The minimum value of the timestamp range. + public let beginDate: TimeStamp? + /// The maximum value of the timestamp range. + public let endDate: TimeStamp? + + public init(beginDate: TimeStamp? = nil, endDate: TimeStamp? = nil) { + self.beginDate = beginDate + self.endDate = endDate } private enum CodingKeys: String, CodingKey { - case state = "state" - case name = "name" - case createdAt = "createdAt" - case startedAt = "startedAt" - case rulesPackageArns = "rulesPackageArns" - case notifications = "notifications" - case dataCollected = "dataCollected" - case stateChangedAt = "stateChangedAt" - case findingCounts = "findingCounts" - case userAttributesForFindings = "userAttributesForFindings" - case arn = "arn" - case stateChanges = "stateChanges" - case completedAt = "completedAt" - case durationInSeconds = "durationInSeconds" - case assessmentTemplateArn = "assessmentTemplateArn" + case beginDate = "beginDate" + case endDate = "endDate" } } - public struct ListEventSubscriptionsResponse: AWSShape { + public struct TelemetryMetadata: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "subscriptions", required: true, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) + AWSShapeMember(label: "dataSize", required: false, type: .long), + AWSShapeMember(label: "count", required: true, type: .long), + AWSShapeMember(label: "messageType", required: true, type: .string) ] - /// Details of the returned event subscriptions. - public let subscriptions: [Subscription] - /// 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. - public let nextToken: String? + /// The data size of messages that the agent sends to the Amazon Inspector service. + public let dataSize: Int64? + /// The count of messages that the agent sends to the Amazon Inspector service. + public let count: Int64 + /// A specific type of behavioral data that is collected by the agent. + public let messageType: String - public init(subscriptions: [Subscription], nextToken: String? = nil) { - self.subscriptions = subscriptions - self.nextToken = nextToken + public init(dataSize: Int64? = nil, count: Int64, messageType: String) { + self.dataSize = dataSize + self.count = count + self.messageType = messageType } private enum CodingKeys: String, CodingKey { - case subscriptions = "subscriptions" - case nextToken = "nextToken" + case dataSize = "dataSize" + case count = "count" + case messageType = "messageType" } } - public struct DeleteAssessmentTargetRequest: AWSShape { + public struct RegisterCrossAccountAccessRoleRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "assessmentTargetArn", required: true, type: .string) + AWSShapeMember(label: "roleArn", required: true, type: .string) ] - /// The ARN that specifies the assessment target that you want to delete. - public let assessmentTargetArn: String + /// The ARN of the IAM role that grants Amazon Inspector access to AWS Services needed to perform security assessments. + public let roleArn: String - public init(assessmentTargetArn: String) { - self.assessmentTargetArn = assessmentTargetArn + public init(roleArn: String) { + self.roleArn = roleArn } private enum CodingKeys: String, CodingKey { - case assessmentTargetArn = "assessmentTargetArn" + case roleArn = "roleArn" } } - public enum AgentHealth: String, CustomStringConvertible, Codable { - case healthy = "HEALTHY" - case unhealthy = "UNHEALTHY" - public var description: String { return self.rawValue } - } - - public struct CreateAssessmentTemplateResponse: AWSShape { + public struct AssetAttributes: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "assessmentTemplateArn", required: true, type: .string) + AWSShapeMember(label: "autoScalingGroup", required: false, type: .string), + AWSShapeMember(label: "hostname", required: false, type: .string), + AWSShapeMember(label: "amiId", required: false, type: .string), + AWSShapeMember(label: "agentId", required: false, type: .string), + AWSShapeMember(label: "schemaVersion", required: true, type: .integer), + AWSShapeMember(label: "ipv4Addresses", required: false, type: .list) ] - /// The ARN that specifies the assessment template that is created. - public let assessmentTemplateArn: String + /// The Auto Scaling group of the EC2 instance where the finding is generated. + public let autoScalingGroup: String? + /// The hostname of the EC2 instance where the finding is generated. + public let hostname: String? + /// The ID of the Amazon Machine Image (AMI) that is installed on the EC2 instance where the finding is generated. + public let amiId: String? + /// The ID of the agent that is installed on the EC2 instance where the finding is generated. + public let agentId: String? + /// The schema version of this data type. + public let schemaVersion: Int32 + /// The list of IP v4 addresses of the EC2 instance where the finding is generated. + public let ipv4Addresses: [String]? - public init(assessmentTemplateArn: String) { - self.assessmentTemplateArn = assessmentTemplateArn + public init(autoScalingGroup: String? = nil, hostname: String? = nil, amiId: String? = nil, agentId: String? = nil, schemaVersion: Int32, ipv4Addresses: [String]? = nil) { + self.autoScalingGroup = autoScalingGroup + self.hostname = hostname + self.amiId = amiId + self.agentId = agentId + self.schemaVersion = schemaVersion + self.ipv4Addresses = ipv4Addresses } private enum CodingKeys: String, CodingKey { - case assessmentTemplateArn = "assessmentTemplateArn" + case autoScalingGroup = "autoScalingGroup" + case hostname = "hostname" + case amiId = "amiId" + case agentId = "agentId" + case schemaVersion = "schemaVersion" + case ipv4Addresses = "ipv4Addresses" } } - public enum ReportType: String, CustomStringConvertible, Codable { - case finding = "FINDING" - case full = "FULL" - public var description: String { return self.rawValue } - } - - public enum AssessmentRunState: String, CustomStringConvertible, Codable { - case created = "CREATED" - case startDataCollectionPending = "START_DATA_COLLECTION_PENDING" - case startDataCollectionInProgress = "START_DATA_COLLECTION_IN_PROGRESS" - case collectingData = "COLLECTING_DATA" - case stopDataCollectionPending = "STOP_DATA_COLLECTION_PENDING" - case dataCollected = "DATA_COLLECTED" - case startEvaluatingRulesPending = "START_EVALUATING_RULES_PENDING" - case evaluatingRules = "EVALUATING_RULES" - case failed = "FAILED" - case error = "ERROR" - case completed = "COMPLETED" - case completedWithErrors = "COMPLETED_WITH_ERRORS" - case canceled = "CANCELED" - public var description: String { return self.rawValue } - } - - public struct Finding: AWSShape { + public struct ListAssessmentRunAgentsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "assetType", required: false, type: .enum), - AWSShapeMember(label: "schemaVersion", required: false, type: .integer), - AWSShapeMember(label: "userAttributes", required: true, type: .list), - AWSShapeMember(label: "recommendation", required: false, type: .string), - AWSShapeMember(label: "createdAt", required: true, type: .timestamp), - AWSShapeMember(label: "description", required: false, type: .string), - AWSShapeMember(label: "serviceAttributes", required: false, type: .structure), - AWSShapeMember(label: "indicatorOfCompromise", required: false, type: .boolean), - AWSShapeMember(label: "severity", required: false, type: .enum), - AWSShapeMember(label: "assetAttributes", required: false, type: .structure), - AWSShapeMember(label: "numericSeverity", required: false, type: .double), - AWSShapeMember(label: "service", required: false, type: .string), - AWSShapeMember(label: "arn", required: true, type: .string), - AWSShapeMember(label: "attributes", required: true, type: .list), - AWSShapeMember(label: "id", required: false, type: .string), - AWSShapeMember(label: "updatedAt", required: true, type: .timestamp), - AWSShapeMember(label: "title", required: false, type: .string), - AWSShapeMember(label: "confidence", required: false, type: .integer) + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "assessmentRunAgents", required: true, type: .list) ] - /// The type of the host from which the finding is generated. - public let assetType: AssetType? - /// The schema version of this data type. - public let schemaVersion: Int32? - /// The user-defined attributes that are assigned to the finding. - public let userAttributes: [Attribute] - /// The recommendation for the finding. - public let recommendation: String? - /// The time when the finding was generated. - public let createdAt: TimeStamp - /// The description of the finding. - public let description: String? - /// This data type is used in the Finding data type. - public let serviceAttributes: InspectorServiceAttributes? - /// This data element is currently not used. - public let indicatorOfCompromise: Bool? - /// The finding severity. Values can be set to High, Medium, Low, and Informational. - public let severity: Severity? - /// A collection of attributes of the host from which the finding is generated. - public let assetAttributes: AssetAttributes? - /// The numeric value of the finding severity. - public let numericSeverity: Double? - /// The data element is set to "Inspector". - public let service: String? - /// The ARN that specifies the finding. - public let arn: String - /// The system-defined attributes for the finding. - public let attributes: [Attribute] - /// The ID of the finding. - public let id: String? - /// The time when AddAttributesToFindings is called. - public let updatedAt: TimeStamp - /// The name of the finding. - public let title: String? - /// This data element is currently not used. - public let confidence: Int32? + /// 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. + public let nextToken: String? + /// A list of ARNs that specifies the agents returned by the action. + public let assessmentRunAgents: [AssessmentRunAgent] - public init(assetType: AssetType? = nil, schemaVersion: Int32? = nil, userAttributes: [Attribute], recommendation: String? = nil, createdAt: TimeStamp, description: String? = nil, serviceAttributes: InspectorServiceAttributes? = nil, indicatorOfCompromise: Bool? = nil, severity: Severity? = nil, assetAttributes: AssetAttributes? = nil, numericSeverity: Double? = nil, service: String? = nil, arn: String, attributes: [Attribute], id: String? = nil, updatedAt: TimeStamp, title: String? = nil, confidence: Int32? = nil) { - self.assetType = assetType - self.schemaVersion = schemaVersion - self.userAttributes = userAttributes - self.recommendation = recommendation - self.createdAt = createdAt - self.description = description - self.serviceAttributes = serviceAttributes - self.indicatorOfCompromise = indicatorOfCompromise - self.severity = severity - self.assetAttributes = assetAttributes - self.numericSeverity = numericSeverity - self.service = service - self.arn = arn - self.attributes = attributes - self.id = id - self.updatedAt = updatedAt - self.title = title - self.confidence = confidence + public init(nextToken: String? = nil, assessmentRunAgents: [AssessmentRunAgent]) { + self.nextToken = nextToken + self.assessmentRunAgents = assessmentRunAgents } private enum CodingKeys: String, CodingKey { - case assetType = "assetType" - case schemaVersion = "schemaVersion" - case userAttributes = "userAttributes" - case recommendation = "recommendation" - case createdAt = "createdAt" - case description = "description" - case serviceAttributes = "serviceAttributes" - case indicatorOfCompromise = "indicatorOfCompromise" - case severity = "severity" - case assetAttributes = "assetAttributes" - case numericSeverity = "numericSeverity" - case service = "service" - case arn = "arn" - case attributes = "attributes" - case id = "id" - case updatedAt = "updatedAt" - case title = "title" - case confidence = "confidence" + case nextToken = "nextToken" + case assessmentRunAgents = "assessmentRunAgents" } } - public struct ListAssessmentRunAgentsRequest: AWSShape { + public struct ListAssessmentTargetsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "filter", required: false, type: .structure) + ] + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + /// 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. + public let filter: AssessmentTargetFilter? + + public init(nextToken: String? = nil, maxResults: Int32? = nil, filter: AssessmentTargetFilter? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + self.filter = filter + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" + case filter = "filter" + } + } + + public struct AgentFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "agentHealthCodes", required: true, type: .list), + AWSShapeMember(label: "agentHealths", required: true, type: .list) + ] + /// The detailed health state of the agent. Values can be set to IDLE, RUNNING, SHUTDOWN, UNHEALTHY, THROTTLED, and UNKNOWN. + public let agentHealthCodes: [AgentHealthCode] + /// The current health state of the agent. Values can be set to HEALTHY or UNHEALTHY. + public let agentHealths: [AgentHealth] + + public init(agentHealthCodes: [AgentHealthCode], agentHealths: [AgentHealth]) { + self.agentHealthCodes = agentHealthCodes + self.agentHealths = agentHealths + } + + private enum CodingKeys: String, CodingKey { + case agentHealthCodes = "agentHealthCodes" + case agentHealths = "agentHealths" + } + } + + public struct DescribeExclusionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "locale", required: false, type: .enum), + AWSShapeMember(label: "exclusionArns", required: true, type: .list) + ] + /// The locale into which you want to translate the exclusion's title, description, and recommendation. + public let locale: Locale? + /// The list of ARNs that specify the exclusions that you want to describe. + public let exclusionArns: [String] + + public init(locale: Locale? = nil, exclusionArns: [String]) { + self.locale = locale + self.exclusionArns = exclusionArns + } + + private enum CodingKeys: String, CodingKey { + case locale = "locale" + case exclusionArns = "exclusionArns" + } + } + + public struct CreateResourceGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceGroupTags", required: true, type: .list) + ] + /// 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"]}]'. + public let resourceGroupTags: [ResourceGroupTag] + + public init(resourceGroupTags: [ResourceGroupTag]) { + self.resourceGroupTags = resourceGroupTags + } + + private enum CodingKeys: String, CodingKey { + case resourceGroupTags = "resourceGroupTags" + } + } + + public struct DescribeFindingsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "findings", required: true, type: .list), + AWSShapeMember(label: "failedItems", required: true, type: .map) + ] + /// Information about the finding. + public let findings: [Finding] + /// Finding details that cannot be described. An error code is provided for each failed item. + public let failedItems: [String: FailedItemDetails] + + public init(findings: [Finding], failedItems: [String: FailedItemDetails]) { + self.findings = findings + self.failedItems = failedItems + } + + private enum CodingKeys: String, CodingKey { + case findings = "findings" + case failedItems = "failedItems" + } + } + + public struct FailedItemDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "failureCode", required: true, type: .enum), + AWSShapeMember(label: "retryable", required: true, type: .boolean) + ] + /// The status code of a failed item. + public let failureCode: FailedItemErrorCode + /// Indicates whether you can immediately retry a request for this item for a specified resource. + public let retryable: Bool + + public init(failureCode: FailedItemErrorCode, retryable: Bool) { + self.failureCode = failureCode + self.retryable = retryable + } + + private enum CodingKeys: String, CodingKey { + case failureCode = "failureCode" + case retryable = "retryable" + } + } + + public struct AssessmentRunNotification: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "snsTopicArn", required: false, type: .string), + AWSShapeMember(label: "snsPublishStatusCode", required: false, type: .enum), + AWSShapeMember(label: "event", required: true, type: .enum), + AWSShapeMember(label: "message", required: false, type: .string), + AWSShapeMember(label: "date", required: true, type: .timestamp), + AWSShapeMember(label: "error", required: true, type: .boolean) + ] + /// The SNS topic to which the SNS notification is sent. + public let snsTopicArn: String? + /// The status code of the SNS notification. + public let snsPublishStatusCode: AssessmentRunNotificationSnsStatusCode? + /// The event for which a notification is sent. + public let event: InspectorEvent + /// The message included in the notification. + public let message: String? + /// The date of the notification. + public let date: TimeStamp + /// The Boolean value that specifies whether the notification represents an error. + public let error: Bool + + public init(snsTopicArn: String? = nil, snsPublishStatusCode: AssessmentRunNotificationSnsStatusCode? = nil, event: InspectorEvent, message: String? = nil, date: TimeStamp, error: Bool) { + self.snsTopicArn = snsTopicArn + self.snsPublishStatusCode = snsPublishStatusCode + self.event = event + self.message = message + self.date = date + self.error = error + } + + private enum CodingKeys: String, CodingKey { + case snsTopicArn = "snsTopicArn" + case snsPublishStatusCode = "snsPublishStatusCode" + case event = "event" + case message = "message" + case date = "date" + case error = "error" + } + } + + public struct ListExclusionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "maxResults", required: false, type: .integer), - AWSShapeMember(label: "filter", required: false, type: .structure), AWSShapeMember(label: "nextToken", required: false, type: .string), AWSShapeMember(label: "assessmentRunArn", required: true, type: .string) ] - /// 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. + /// 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. public let maxResults: Int32? - /// 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. - public let filter: AgentFilter? - /// 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. + /// 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. public let nextToken: String? - /// The ARN that specifies the assessment run whose agents you want to list. + /// The ARN of the assessment run that generated the exclusions that you want to list. public let assessmentRunArn: String - public init(maxResults: Int32? = nil, filter: AgentFilter? = nil, nextToken: String? = nil, assessmentRunArn: String) { + public init(maxResults: Int32? = nil, nextToken: String? = nil, assessmentRunArn: String) { self.maxResults = maxResults - self.filter = filter self.nextToken = nextToken self.assessmentRunArn = assessmentRunArn } private enum CodingKeys: String, CodingKey { case maxResults = "maxResults" - case filter = "filter" case nextToken = "nextToken" case assessmentRunArn = "assessmentRunArn" } } - public struct ListTagsForResourceRequest: AWSShape { + public struct InspectorServiceAttributes: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceArn", required: true, type: .string) + AWSShapeMember(label: "schemaVersion", required: true, type: .integer), + AWSShapeMember(label: "rulesPackageArn", required: false, type: .string), + AWSShapeMember(label: "assessmentRunArn", required: false, type: .string) + ] + /// The schema version of this data type. + public let schemaVersion: Int32 + /// The ARN of the rules package that is used to generate the finding. + public let rulesPackageArn: String? + /// The ARN of the assessment run during which the finding is generated. + public let assessmentRunArn: String? + + public init(schemaVersion: Int32, rulesPackageArn: String? = nil, assessmentRunArn: String? = nil) { + self.schemaVersion = schemaVersion + self.rulesPackageArn = rulesPackageArn + self.assessmentRunArn = assessmentRunArn + } + + private enum CodingKeys: String, CodingKey { + case schemaVersion = "schemaVersion" + case rulesPackageArn = "rulesPackageArn" + case assessmentRunArn = "assessmentRunArn" + } + } + + public struct DescribeFindingsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "locale", required: false, type: .enum), + AWSShapeMember(label: "findingArns", required: true, type: .list) + ] + /// The locale into which you want to translate a finding description, recommendation, and the short description that identifies the finding. + public let locale: Locale? + /// The ARN that specifies the finding that you want to describe. + public let findingArns: [String] + + public init(locale: Locale? = nil, findingArns: [String]) { + self.locale = locale + self.findingArns = findingArns + } + + private enum CodingKeys: String, CodingKey { + case locale = "locale" + case findingArns = "findingArns" + } + } + + public struct RemoveAttributesFromFindingsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "failedItems", required: true, type: .map) + ] + /// Attributes details that cannot be described. An error code is provided for each failed item. + public let failedItems: [String: FailedItemDetails] + + public init(failedItems: [String: FailedItemDetails]) { + self.failedItems = failedItems + } + + private enum CodingKeys: String, CodingKey { + case failedItems = "failedItems" + } + } + + public struct DescribeResourceGroupsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceGroupArns", required: true, type: .list) + ] + /// The ARN that specifies the resource group that you want to describe. + public let resourceGroupArns: [String] + + public init(resourceGroupArns: [String]) { + self.resourceGroupArns = resourceGroupArns + } + + private enum CodingKeys: String, CodingKey { + case resourceGroupArns = "resourceGroupArns" + } + } + + public struct ListFindingsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "filter", required: false, type: .structure), + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "assessmentRunArns", required: false, type: .list) + ] + /// 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. + public let filter: FindingFilter? + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + /// The ARNs of the assessment runs that generate the findings that you want to list. + public let assessmentRunArns: [String]? + + public init(filter: FindingFilter? = nil, nextToken: String? = nil, maxResults: Int32? = nil, assessmentRunArns: [String]? = nil) { + self.filter = filter + self.nextToken = nextToken + self.maxResults = maxResults + self.assessmentRunArns = assessmentRunArns + } + + private enum CodingKeys: String, CodingKey { + case filter = "filter" + case nextToken = "nextToken" + case maxResults = "maxResults" + case assessmentRunArns = "assessmentRunArns" + } + } + + public struct DescribeRulesPackagesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "rulesPackages", required: true, type: .list), + AWSShapeMember(label: "failedItems", required: true, type: .map) + ] + /// Information about the rules package. + public let rulesPackages: [RulesPackage] + /// Rules package details that cannot be described. An error code is provided for each failed item. + public let failedItems: [String: FailedItemDetails] + + public init(rulesPackages: [RulesPackage], failedItems: [String: FailedItemDetails]) { + self.rulesPackages = rulesPackages + self.failedItems = failedItems + } + + private enum CodingKeys: String, CodingKey { + case rulesPackages = "rulesPackages" + case failedItems = "failedItems" + } + } + + public struct DescribeCrossAccountAccessRoleResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "valid", required: true, type: .boolean), + AWSShapeMember(label: "roleArn", required: true, type: .string), + AWSShapeMember(label: "registeredAt", required: true, type: .timestamp) + ] + /// A Boolean value that specifies whether the IAM role has the necessary policies attached to enable Amazon Inspector to access your AWS account. + public let valid: Bool + /// The ARN that specifies the IAM role that Amazon Inspector uses to access your AWS account. + public let roleArn: String + /// The date when the cross-account access role was registered. + public let registeredAt: TimeStamp + + public init(valid: Bool, roleArn: String, registeredAt: TimeStamp) { + self.valid = valid + self.roleArn = roleArn + self.registeredAt = registeredAt + } + + private enum CodingKeys: String, CodingKey { + case valid = "valid" + case roleArn = "roleArn" + case registeredAt = "registeredAt" + } + } + + public struct PreviewAgentsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "previewAgentsArn", required: true, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// The ARN of the assessment target whose agents you want to preview. + public let previewAgentsArn: String + /// 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. + public let maxResults: Int32? + /// 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. + public let nextToken: String? + + public init(previewAgentsArn: String, maxResults: Int32? = nil, nextToken: String? = nil) { + self.previewAgentsArn = previewAgentsArn + self.maxResults = maxResults + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case previewAgentsArn = "previewAgentsArn" + case maxResults = "maxResults" + case nextToken = "nextToken" + } + } + + public struct AssessmentTarget: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceGroupArn", required: false, type: .string), + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "updatedAt", required: true, type: .timestamp), + AWSShapeMember(label: "createdAt", required: true, type: .timestamp), + AWSShapeMember(label: "arn", required: true, type: .string) + ] + /// The ARN that specifies the resource group that is associated with the assessment target. + public let resourceGroupArn: String? + /// The name of the Amazon Inspector assessment target. + public let name: String + /// The time at which UpdateAssessmentTarget is called. + public let updatedAt: TimeStamp + /// The time at which the assessment target is created. + public let createdAt: TimeStamp + /// The ARN that specifies the Amazon Inspector assessment target. + public let arn: String + + public init(resourceGroupArn: String? = nil, name: String, updatedAt: TimeStamp, createdAt: TimeStamp, arn: String) { + self.resourceGroupArn = resourceGroupArn + self.name = name + self.updatedAt = updatedAt + self.createdAt = createdAt + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case resourceGroupArn = "resourceGroupArn" + case name = "name" + case updatedAt = "updatedAt" + case createdAt = "createdAt" + case arn = "arn" + } + } + + public struct DescribeAssessmentTemplatesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "assessmentTemplateArns", required: true, type: .list) + ] + public let assessmentTemplateArns: [String] + + public init(assessmentTemplateArns: [String]) { + self.assessmentTemplateArns = assessmentTemplateArns + } + + private enum CodingKeys: String, CodingKey { + case assessmentTemplateArns = "assessmentTemplateArns" + } + } + + public struct AddAttributesToFindingsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "attributes", required: true, type: .list), + AWSShapeMember(label: "findingArns", required: true, type: .list) + ] + /// The array of attributes that you want to assign to specified findings. + public let attributes: [Attribute] + /// The ARNs that specify the findings that you want to assign attributes to. + public let findingArns: [String] + + public init(attributes: [Attribute], findingArns: [String]) { + self.attributes = attributes + self.findingArns = findingArns + } + + private enum CodingKeys: String, CodingKey { + case attributes = "attributes" + case findingArns = "findingArns" + } + } + + public struct PreviewAgentsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "agentPreviews", required: true, type: .list) + ] + /// 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. + public let nextToken: String? + /// The resulting list of agents. + public let agentPreviews: [AgentPreview] + + public init(nextToken: String? = nil, agentPreviews: [AgentPreview]) { + self.nextToken = nextToken + self.agentPreviews = agentPreviews + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case agentPreviews = "agentPreviews" + } + } + + public struct Exclusion: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "description", required: true, type: .string), + AWSShapeMember(label: "arn", required: true, type: .string), + AWSShapeMember(label: "title", required: true, type: .string), + AWSShapeMember(label: "attributes", required: false, type: .list), + AWSShapeMember(label: "recommendation", required: true, type: .string), + AWSShapeMember(label: "scopes", required: true, type: .list) + ] + /// The description of the exclusion. + public let description: String + /// The ARN that specifies the exclusion. + public let arn: String + /// The name of the exclusion. + public let title: String + /// The system-defined attributes for the exclusion. + public let attributes: [Attribute]? + /// The recommendation for the exclusion. + public let recommendation: String + /// The AWS resources for which the exclusion pertains. + public let scopes: [Scope] + + public init(description: String, arn: String, title: String, attributes: [Attribute]? = nil, recommendation: String, scopes: [Scope]) { + self.description = description + self.arn = arn + self.title = title + self.attributes = attributes + self.recommendation = recommendation + self.scopes = scopes + } + + private enum CodingKeys: String, CodingKey { + case description = "description" + case arn = "arn" + case title = "title" + case attributes = "attributes" + case recommendation = "recommendation" + case scopes = "scopes" + } + } + + public struct DescribeAssessmentRunsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "failedItems", required: true, type: .map), + AWSShapeMember(label: "assessmentRuns", required: true, type: .list) + ] + /// Assessment run details that cannot be described. An error code is provided for each failed item. + public let failedItems: [String: FailedItemDetails] + /// Information about the assessment run. + public let assessmentRuns: [AssessmentRun] + + public init(failedItems: [String: FailedItemDetails], assessmentRuns: [AssessmentRun]) { + self.failedItems = failedItems + self.assessmentRuns = assessmentRuns + } + + private enum CodingKeys: String, CodingKey { + case failedItems = "failedItems" + case assessmentRuns = "assessmentRuns" + } + } + + public struct EventSubscription: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "event", required: true, type: .enum), + AWSShapeMember(label: "subscribedAt", required: true, type: .timestamp) + ] + /// The event for which Amazon Simple Notification Service (SNS) notifications are sent. + public let event: InspectorEvent + /// The time at which SubscribeToEvent is called. + public let subscribedAt: TimeStamp + + public init(event: InspectorEvent, subscribedAt: TimeStamp) { + self.event = event + self.subscribedAt = subscribedAt + } + + private enum CodingKeys: String, CodingKey { + case event = "event" + case subscribedAt = "subscribedAt" + } + } + + public struct ResourceGroupTag: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "key", required: true, type: .string), + AWSShapeMember(label: "value", required: false, type: .string) + ] + /// A tag key. + public let key: String + /// The value assigned to a tag key. + public let value: String? + + public init(key: String, value: String? = nil) { + self.key = key + self.value = value + } + + private enum CodingKeys: String, CodingKey { + case key = "key" + case value = "value" + } + } + + public struct RemoveAttributesFromFindingsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "attributeKeys", required: true, type: .list), + AWSShapeMember(label: "findingArns", required: true, type: .list) + ] + /// The array of attribute keys that you want to remove from specified findings. + public let attributeKeys: [String] + /// The ARNs that specify the findings that you want to remove attributes from. + public let findingArns: [String] + + public init(attributeKeys: [String], findingArns: [String]) { + self.attributeKeys = attributeKeys + self.findingArns = findingArns + } + + private enum CodingKeys: String, CodingKey { + case attributeKeys = "attributeKeys" + case findingArns = "findingArns" + } + } + + public struct DescribeAssessmentRunsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "assessmentRunArns", required: true, type: .list) + ] + /// The ARN that specifies the assessment run that you want to describe. + public let assessmentRunArns: [String] + + public init(assessmentRunArns: [String]) { + self.assessmentRunArns = assessmentRunArns + } + + private enum CodingKeys: String, CodingKey { + case assessmentRunArns = "assessmentRunArns" + } + } + + public struct DescribeAssessmentTemplatesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "failedItems", required: true, type: .map), + AWSShapeMember(label: "assessmentTemplates", required: true, type: .list) + ] + /// Assessment template details that cannot be described. An error code is provided for each failed item. + public let failedItems: [String: FailedItemDetails] + /// Information about the assessment templates. + public let assessmentTemplates: [AssessmentTemplate] + + public init(failedItems: [String: FailedItemDetails], assessmentTemplates: [AssessmentTemplate]) { + self.failedItems = failedItems + self.assessmentTemplates = assessmentTemplates + } + + private enum CodingKeys: String, CodingKey { + case failedItems = "failedItems" + case assessmentTemplates = "assessmentTemplates" + } + } + + public struct StartAssessmentRunResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "assessmentRunArn", required: true, type: .string) + ] + /// The ARN of the assessment run that has been started. + public let assessmentRunArn: String + + public init(assessmentRunArn: String) { + self.assessmentRunArn = assessmentRunArn + } + + private enum CodingKeys: String, CodingKey { + case assessmentRunArn = "assessmentRunArn" + } + } + + public enum LimitExceededErrorCode: String, CustomStringConvertible, Codable { + case assessmentTargetLimitExceeded = "ASSESSMENT_TARGET_LIMIT_EXCEEDED" + case assessmentTemplateLimitExceeded = "ASSESSMENT_TEMPLATE_LIMIT_EXCEEDED" + case assessmentRunLimitExceeded = "ASSESSMENT_RUN_LIMIT_EXCEEDED" + case resourceGroupLimitExceeded = "RESOURCE_GROUP_LIMIT_EXCEEDED" + case eventSubscriptionLimitExceeded = "EVENT_SUBSCRIPTION_LIMIT_EXCEEDED" + public var description: String { return self.rawValue } + } + + public struct GetAssessmentReportRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "reportType", required: true, type: .enum), + AWSShapeMember(label: "reportFileFormat", required: true, type: .enum), + AWSShapeMember(label: "assessmentRunArn", required: true, type: .string) + ] + /// 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. + public let reportType: ReportType + /// Specifies the file format (html or pdf) of the assessment report that you want to generate. + public let reportFileFormat: ReportFileFormat + /// The ARN that specifies the assessment run for which you want to generate a report. + public let assessmentRunArn: String + + public init(reportType: ReportType, reportFileFormat: ReportFileFormat, assessmentRunArn: String) { + self.reportType = reportType + self.reportFileFormat = reportFileFormat + self.assessmentRunArn = assessmentRunArn + } + + private enum CodingKeys: String, CodingKey { + case reportType = "reportType" + case reportFileFormat = "reportFileFormat" + case assessmentRunArn = "assessmentRunArn" + } + } + + public struct DeleteAssessmentRunRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "assessmentRunArn", required: true, type: .string) + ] + /// The ARN that specifies the assessment run that you want to delete. + public let assessmentRunArn: String + + public init(assessmentRunArn: String) { + self.assessmentRunArn = assessmentRunArn + } + + private enum CodingKeys: String, CodingKey { + case assessmentRunArn = "assessmentRunArn" + } + } + + public struct DescribeAssessmentTargetsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "assessmentTargetArns", required: true, type: .list) + ] + /// The ARNs that specifies the assessment targets that you want to describe. + public let assessmentTargetArns: [String] + + public init(assessmentTargetArns: [String]) { + self.assessmentTargetArns = assessmentTargetArns + } + + private enum CodingKeys: String, CodingKey { + case assessmentTargetArns = "assessmentTargetArns" + } + } + + public struct FindingFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ruleNames", required: false, type: .list), + AWSShapeMember(label: "severities", required: false, type: .list), + AWSShapeMember(label: "attributes", required: false, type: .list), + AWSShapeMember(label: "userAttributes", required: false, type: .list), + AWSShapeMember(label: "agentIds", required: false, type: .list), + AWSShapeMember(label: "rulesPackageArns", required: false, type: .list), + AWSShapeMember(label: "creationTimeRange", required: false, type: .structure), + AWSShapeMember(label: "autoScalingGroups", required: false, type: .list) + ] + /// 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. + public let ruleNames: [String]? + /// 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. + public let severities: [Severity]? + /// 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. + public let attributes: [Attribute]? + /// 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. + public let userAttributes: [Attribute]? + /// 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. + public let agentIds: [String]? + /// 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. + public let rulesPackageArns: [String]? + /// The time range during which the finding is generated. + public let creationTimeRange: TimestampRange? + /// 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. + public let autoScalingGroups: [String]? + + public init(ruleNames: [String]? = nil, severities: [Severity]? = nil, attributes: [Attribute]? = nil, userAttributes: [Attribute]? = nil, agentIds: [String]? = nil, rulesPackageArns: [String]? = nil, creationTimeRange: TimestampRange? = nil, autoScalingGroups: [String]? = nil) { + self.ruleNames = ruleNames + self.severities = severities + self.attributes = attributes + self.userAttributes = userAttributes + self.agentIds = agentIds + self.rulesPackageArns = rulesPackageArns + self.creationTimeRange = creationTimeRange + self.autoScalingGroups = autoScalingGroups + } + + private enum CodingKeys: String, CodingKey { + case ruleNames = "ruleNames" + case severities = "severities" + case attributes = "attributes" + case userAttributes = "userAttributes" + case agentIds = "agentIds" + case rulesPackageArns = "rulesPackageArns" + case creationTimeRange = "creationTimeRange" + case autoScalingGroups = "autoScalingGroups" + } + } + + public enum NoSuchEntityErrorCode: String, CustomStringConvertible, Codable { + case assessmentTargetDoesNotExist = "ASSESSMENT_TARGET_DOES_NOT_EXIST" + case assessmentTemplateDoesNotExist = "ASSESSMENT_TEMPLATE_DOES_NOT_EXIST" + case assessmentRunDoesNotExist = "ASSESSMENT_RUN_DOES_NOT_EXIST" + case findingDoesNotExist = "FINDING_DOES_NOT_EXIST" + case resourceGroupDoesNotExist = "RESOURCE_GROUP_DOES_NOT_EXIST" + case rulesPackageDoesNotExist = "RULES_PACKAGE_DOES_NOT_EXIST" + case snsTopicDoesNotExist = "SNS_TOPIC_DOES_NOT_EXIST" + case iamRoleDoesNotExist = "IAM_ROLE_DOES_NOT_EXIST" + public var description: String { return self.rawValue } + } + + public enum Severity: String, CustomStringConvertible, Codable { + case low = "Low" + case medium = "Medium" + case high = "High" + case informational = "Informational" + case undefined = "Undefined" + public var description: String { return self.rawValue } + } + + public struct AssessmentRunStateChange: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "state", required: true, type: .enum), + AWSShapeMember(label: "stateChangedAt", required: true, type: .timestamp) ] - /// The ARN that specifies the assessment template whose tags you want to list. - public let resourceArn: String + /// The assessment run state. + public let state: AssessmentRunState + /// The last time the assessment run state changed. + public let stateChangedAt: TimeStamp - public init(resourceArn: String) { - self.resourceArn = resourceArn + public init(state: AssessmentRunState, stateChangedAt: TimeStamp) { + self.state = state + self.stateChangedAt = stateChangedAt } private enum CodingKeys: String, CodingKey { - case resourceArn = "resourceArn" + case state = "state" + case stateChangedAt = "stateChangedAt" } } - public struct ListEventSubscriptionsRequest: AWSShape { + public struct ListAssessmentRunsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceArn", required: false, type: .string), + AWSShapeMember(label: "filter", required: false, type: .structure), AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "maxResults", required: false, type: .integer) + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "assessmentTemplateArns", required: false, type: .list) ] - /// The ARN of the assessment template for which you want to list the existing event subscriptions. - public let resourceArn: String? - /// 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. + /// 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. + public let filter: AssessmentRunFilter? + /// 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. public let nextToken: String? - /// 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. + /// 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. public let maxResults: Int32? + /// The ARNs that specify the assessment templates whose assessment runs you want to list. + public let assessmentTemplateArns: [String]? - public init(resourceArn: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.resourceArn = resourceArn + public init(filter: AssessmentRunFilter? = nil, nextToken: String? = nil, maxResults: Int32? = nil, assessmentTemplateArns: [String]? = nil) { + self.filter = filter self.nextToken = nextToken self.maxResults = maxResults + self.assessmentTemplateArns = assessmentTemplateArns } private enum CodingKeys: String, CodingKey { - case resourceArn = "resourceArn" + case filter = "filter" case nextToken = "nextToken" case maxResults = "maxResults" + case assessmentTemplateArns = "assessmentTemplateArns" } } - public struct UpdateAssessmentTargetRequest: AWSShape { + public struct AgentPreview: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceGroupArn", required: true, type: .string), - AWSShapeMember(label: "assessmentTargetArn", required: true, type: .string), - AWSShapeMember(label: "assessmentTargetName", required: true, type: .string) + AWSShapeMember(label: "autoScalingGroup", required: false, type: .string), + AWSShapeMember(label: "agentHealth", required: false, type: .enum), + AWSShapeMember(label: "operatingSystem", required: false, type: .string), + AWSShapeMember(label: "ipv4Address", required: false, type: .string), + AWSShapeMember(label: "hostname", required: false, type: .string), + AWSShapeMember(label: "agentId", required: true, type: .string), + AWSShapeMember(label: "kernelVersion", required: false, type: .string), + AWSShapeMember(label: "agentVersion", required: false, type: .string) ] - /// The ARN of the resource group that is used to specify the new resource group to associate with the assessment target. - public let resourceGroupArn: String - /// The ARN of the assessment target that you want to update. - public let assessmentTargetArn: String - /// The name of the assessment target that you want to update. - public let assessmentTargetName: String + /// The Auto Scaling group for the EC2 instance where the agent is installed. + public let autoScalingGroup: String? + /// The health status of the Amazon Inspector Agent. + public let agentHealth: AgentHealth? + /// The operating system running on the EC2 instance on which the Amazon Inspector Agent is installed. + public let operatingSystem: String? + /// The IP address of the EC2 instance on which the Amazon Inspector Agent is installed. + public let ipv4Address: String? + /// The hostname of the EC2 instance on which the Amazon Inspector Agent is installed. + public let hostname: String? + /// The ID of the EC2 instance where the agent is installed. + public let agentId: String + /// The kernel version of the operating system running on the EC2 instance on which the Amazon Inspector Agent is installed. + public let kernelVersion: String? + /// The version of the Amazon Inspector Agent. + public let agentVersion: String? - public init(resourceGroupArn: String, assessmentTargetArn: String, assessmentTargetName: String) { - self.resourceGroupArn = resourceGroupArn - self.assessmentTargetArn = assessmentTargetArn - self.assessmentTargetName = assessmentTargetName + public init(autoScalingGroup: String? = nil, agentHealth: AgentHealth? = nil, operatingSystem: String? = nil, ipv4Address: String? = nil, hostname: String? = nil, agentId: String, kernelVersion: String? = nil, agentVersion: String? = nil) { + self.autoScalingGroup = autoScalingGroup + self.agentHealth = agentHealth + self.operatingSystem = operatingSystem + self.ipv4Address = ipv4Address + self.hostname = hostname + self.agentId = agentId + self.kernelVersion = kernelVersion + self.agentVersion = agentVersion } private enum CodingKeys: String, CodingKey { - case resourceGroupArn = "resourceGroupArn" - case assessmentTargetArn = "assessmentTargetArn" - case assessmentTargetName = "assessmentTargetName" + case autoScalingGroup = "autoScalingGroup" + case agentHealth = "agentHealth" + case operatingSystem = "operatingSystem" + case ipv4Address = "ipv4Address" + case hostname = "hostname" + case agentId = "agentId" + case kernelVersion = "kernelVersion" + case agentVersion = "agentVersion" } } - public struct AddAttributesToFindingsResponse: AWSShape { + public struct AssessmentRunFilter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "failedItems", required: true, type: .map) + AWSShapeMember(label: "namePattern", required: false, type: .string), + AWSShapeMember(label: "states", required: false, type: .list), + AWSShapeMember(label: "startTimeRange", required: false, type: .structure), + AWSShapeMember(label: "durationRange", required: false, type: .structure), + AWSShapeMember(label: "rulesPackageArns", required: false, type: .list), + AWSShapeMember(label: "completionTimeRange", required: false, type: .structure), + AWSShapeMember(label: "stateChangeTimeRange", required: false, type: .structure) ] - /// Attribute details that cannot be described. An error code is provided for each failed item. - public let failedItems: [String: FailedItemDetails] + /// 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. + public let namePattern: String? + /// 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. + public let states: [AssessmentRunState]? + /// 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. + public let startTimeRange: TimestampRange? + /// 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. + public let durationRange: DurationRange? + /// 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. + public let rulesPackageArns: [String]? + /// 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. + public let completionTimeRange: TimestampRange? + /// 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. + public let stateChangeTimeRange: TimestampRange? - public init(failedItems: [String: FailedItemDetails]) { - self.failedItems = failedItems + public init(namePattern: String? = nil, states: [AssessmentRunState]? = nil, startTimeRange: TimestampRange? = nil, durationRange: DurationRange? = nil, rulesPackageArns: [String]? = nil, completionTimeRange: TimestampRange? = nil, stateChangeTimeRange: TimestampRange? = nil) { + self.namePattern = namePattern + self.states = states + self.startTimeRange = startTimeRange + self.durationRange = durationRange + self.rulesPackageArns = rulesPackageArns + self.completionTimeRange = completionTimeRange + self.stateChangeTimeRange = stateChangeTimeRange } private enum CodingKeys: String, CodingKey { - case failedItems = "failedItems" + case namePattern = "namePattern" + case states = "states" + case startTimeRange = "startTimeRange" + case durationRange = "durationRange" + case rulesPackageArns = "rulesPackageArns" + case completionTimeRange = "completionTimeRange" + case stateChangeTimeRange = "stateChangeTimeRange" } } - public enum ReportStatus: String, CustomStringConvertible, Codable { - case workInProgress = "WORK_IN_PROGRESS" - case failed = "FAILED" - case completed = "COMPLETED" - public var description: String { return self.rawValue } - } - - public enum InvalidCrossAccountRoleErrorCode: String, CustomStringConvertible, Codable { - case roleDoesNotExistOrInvalidTrustRelationship = "ROLE_DOES_NOT_EXIST_OR_INVALID_TRUST_RELATIONSHIP" - case roleDoesNotHaveCorrectPolicy = "ROLE_DOES_NOT_HAVE_CORRECT_POLICY" - public var description: String { return self.rawValue } - } - - public enum Locale: String, CustomStringConvertible, Codable { - case enUs = "EN_US" - public var description: String { return self.rawValue } - } - - public struct CreateAssessmentTargetResponse: AWSShape { + public struct AssessmentTargetFilter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "assessmentTargetArn", required: true, type: .string) + AWSShapeMember(label: "assessmentTargetNamePattern", required: false, type: .string) ] - /// The ARN that specifies the assessment target that is created. - public let assessmentTargetArn: String + /// 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. + public let assessmentTargetNamePattern: String? - public init(assessmentTargetArn: String) { - self.assessmentTargetArn = assessmentTargetArn + public init(assessmentTargetNamePattern: String? = nil) { + self.assessmentTargetNamePattern = assessmentTargetNamePattern } private enum CodingKeys: String, CodingKey { - case assessmentTargetArn = "assessmentTargetArn" + case assessmentTargetNamePattern = "assessmentTargetNamePattern" } } - public struct ListAssessmentRunsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "assessmentRunArns", required: true, type: .list) - ] - /// 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. - public let nextToken: String? - /// A list of ARNs that specifies the assessment runs that are returned by the action. - public let assessmentRunArns: [String] - - public init(nextToken: String? = nil, assessmentRunArns: [String]) { - self.nextToken = nextToken - self.assessmentRunArns = assessmentRunArns - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case assessmentRunArns = "assessmentRunArns" - } + public enum ReportStatus: String, CustomStringConvertible, Codable { + case workInProgress = "WORK_IN_PROGRESS" + case failed = "FAILED" + case completed = "COMPLETED" + public var description: String { return self.rawValue } } - public struct AssessmentRunAgent: AWSShape { + public struct CreateAssessmentTemplateResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "telemetryMetadata", required: true, type: .list), - AWSShapeMember(label: "autoScalingGroup", required: false, type: .string), - AWSShapeMember(label: "agentHealth", required: true, type: .enum), - AWSShapeMember(label: "agentHealthDetails", required: false, type: .string), - AWSShapeMember(label: "assessmentRunArn", required: true, type: .string), - AWSShapeMember(label: "agentHealthCode", required: true, type: .enum), - AWSShapeMember(label: "agentId", required: true, type: .string) + AWSShapeMember(label: "assessmentTemplateArn", required: true, type: .string) ] - /// The Amazon Inspector application data metrics that are collected by the agent. - public let telemetryMetadata: [TelemetryMetadata] - /// The Auto Scaling group of the EC2 instance that is specified by the agent ID. - public let autoScalingGroup: String? - /// The current health state of the agent. - public let agentHealth: AgentHealth - /// The description for the agent health code. - public let agentHealthDetails: String? - /// The ARN of the assessment run that is associated with the agent. - public let assessmentRunArn: String - /// The detailed health state of the agent. - public let agentHealthCode: AgentHealthCode - /// The AWS account of the EC2 instance where the agent is installed. - public let agentId: String + /// The ARN that specifies the assessment template that is created. + public let assessmentTemplateArn: String - public init(telemetryMetadata: [TelemetryMetadata], autoScalingGroup: String? = nil, agentHealth: AgentHealth, agentHealthDetails: String? = nil, assessmentRunArn: String, agentHealthCode: AgentHealthCode, agentId: String) { - self.telemetryMetadata = telemetryMetadata - self.autoScalingGroup = autoScalingGroup - self.agentHealth = agentHealth - self.agentHealthDetails = agentHealthDetails - self.assessmentRunArn = assessmentRunArn - self.agentHealthCode = agentHealthCode - self.agentId = agentId + public init(assessmentTemplateArn: String) { + self.assessmentTemplateArn = assessmentTemplateArn } private enum CodingKeys: String, CodingKey { - case telemetryMetadata = "telemetryMetadata" - case autoScalingGroup = "autoScalingGroup" - case agentHealth = "agentHealth" - case agentHealthDetails = "agentHealthDetails" - case assessmentRunArn = "assessmentRunArn" - case agentHealthCode = "agentHealthCode" - case agentId = "agentId" + case assessmentTemplateArn = "assessmentTemplateArn" } } - public struct DescribeResourceGroupsResponse: AWSShape { + public enum AssessmentRunState: String, CustomStringConvertible, Codable { + case created = "CREATED" + case startDataCollectionPending = "START_DATA_COLLECTION_PENDING" + case startDataCollectionInProgress = "START_DATA_COLLECTION_IN_PROGRESS" + case collectingData = "COLLECTING_DATA" + case stopDataCollectionPending = "STOP_DATA_COLLECTION_PENDING" + case dataCollected = "DATA_COLLECTED" + case startEvaluatingRulesPending = "START_EVALUATING_RULES_PENDING" + case evaluatingRules = "EVALUATING_RULES" + case failed = "FAILED" + case error = "ERROR" + case completed = "COMPLETED" + case completedWithErrors = "COMPLETED_WITH_ERRORS" + case canceled = "CANCELED" + public var description: String { return self.rawValue } + } + + public struct ListAssessmentRunAgentsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "failedItems", required: true, type: .map), - AWSShapeMember(label: "resourceGroups", required: true, type: .list) + AWSShapeMember(label: "filter", required: false, type: .structure), + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "assessmentRunArn", required: true, type: .string) ] - /// Resource group details that cannot be described. An error code is provided for each failed item. - public let failedItems: [String: FailedItemDetails] - /// Information about a resource group. - public let resourceGroups: [ResourceGroup] + /// 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. + public let filter: AgentFilter? + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + /// The ARN that specifies the assessment run whose agents you want to list. + public let assessmentRunArn: String - public init(failedItems: [String: FailedItemDetails], resourceGroups: [ResourceGroup]) { - self.failedItems = failedItems - self.resourceGroups = resourceGroups + public init(filter: AgentFilter? = nil, nextToken: String? = nil, maxResults: Int32? = nil, assessmentRunArn: String) { + self.filter = filter + self.nextToken = nextToken + self.maxResults = maxResults + self.assessmentRunArn = assessmentRunArn } private enum CodingKeys: String, CodingKey { - case failedItems = "failedItems" - case resourceGroups = "resourceGroups" + case filter = "filter" + case nextToken = "nextToken" + case maxResults = "maxResults" + case assessmentRunArn = "assessmentRunArn" } } - public enum StopAction: String, CustomStringConvertible, Codable { - case startEvaluation = "START_EVALUATION" - case skipEvaluation = "SKIP_EVALUATION" + public enum ReportFileFormat: String, CustomStringConvertible, Codable { + case html = "HTML" + case pdf = "PDF" public var description: String { return self.rawValue } } - public struct AssessmentTemplateFilter: AWSShape { + public struct CreateAssessmentTargetResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "namePattern", required: false, type: .string), - AWSShapeMember(label: "rulesPackageArns", required: false, type: .list), - AWSShapeMember(label: "durationRange", required: false, type: .structure) + AWSShapeMember(label: "assessmentTargetArn", required: true, type: .string) ] - /// 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. - public let namePattern: String? - /// 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. - public let rulesPackageArns: [String]? - /// 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. - public let durationRange: DurationRange? + /// The ARN that specifies the assessment target that is created. + public let assessmentTargetArn: String - public init(namePattern: String? = nil, rulesPackageArns: [String]? = nil, durationRange: DurationRange? = nil) { - self.namePattern = namePattern - self.rulesPackageArns = rulesPackageArns - self.durationRange = durationRange + public init(assessmentTargetArn: String) { + self.assessmentTargetArn = assessmentTargetArn } private enum CodingKeys: String, CodingKey { - case namePattern = "namePattern" - case rulesPackageArns = "rulesPackageArns" - case durationRange = "durationRange" + case assessmentTargetArn = "assessmentTargetArn" } } - public struct AgentAlreadyRunningAssessment: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "agentId", required: true, type: .string), - AWSShapeMember(label: "assessmentRunArn", required: true, type: .string) - ] - /// ID of the agent that is running on an EC2 instance that is already participating in another started assessment run. - public let agentId: String - /// The ARN of the assessment run that has already been started. - public let assessmentRunArn: String - - public init(agentId: String, assessmentRunArn: String) { - self.agentId = agentId - self.assessmentRunArn = assessmentRunArn - } + public enum Locale: String, CustomStringConvertible, Codable { + case enUs = "EN_US" + public var description: String { return self.rawValue } + } - private enum CodingKeys: String, CodingKey { - case agentId = "agentId" - case assessmentRunArn = "assessmentRunArn" - } + public enum ScopeType: String, CustomStringConvertible, Codable { + case instanceId = "INSTANCE_ID" + case rulesPackageArn = "RULES_PACKAGE_ARN" + public var description: String { return self.rawValue } } public struct GetAssessmentReportResponse: AWSShape { @@ -1618,25 +2238,30 @@ extension Inspector { } } - public struct ListTagsForResourceResponse: AWSShape { + public struct DescribeResourceGroupsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "tags", required: true, type: .list) + AWSShapeMember(label: "failedItems", required: true, type: .map), + AWSShapeMember(label: "resourceGroups", required: true, type: .list) ] - /// A collection of key and value pairs. - public let tags: [Tag] + /// Resource group details that cannot be described. An error code is provided for each failed item. + public let failedItems: [String: FailedItemDetails] + /// Information about a resource group. + public let resourceGroups: [ResourceGroup] - public init(tags: [Tag]) { - self.tags = tags + public init(failedItems: [String: FailedItemDetails], resourceGroups: [ResourceGroup]) { + self.failedItems = failedItems + self.resourceGroups = resourceGroups } private enum CodingKeys: String, CodingKey { - case tags = "tags" + case failedItems = "failedItems" + case resourceGroups = "resourceGroups" } } - public enum ReportFileFormat: String, CustomStringConvertible, Codable { - case html = "HTML" - case pdf = "PDF" + public enum StopAction: String, CustomStringConvertible, Codable { + case startEvaluation = "START_EVALUATION" + case skipEvaluation = "SKIP_EVALUATION" public var description: String { return self.rawValue } } @@ -1661,220 +2286,80 @@ extension Inspector { } } - public enum FailedItemErrorCode: String, CustomStringConvertible, Codable { - case invalidArn = "INVALID_ARN" - case duplicateArn = "DUPLICATE_ARN" - case itemDoesNotExist = "ITEM_DOES_NOT_EXIST" - case accessDenied = "ACCESS_DENIED" - case limitExceeded = "LIMIT_EXCEEDED" - case internalError = "INTERNAL_ERROR" - public var description: String { return self.rawValue } - } - - public enum AgentHealthCode: String, CustomStringConvertible, Codable { - case idle = "IDLE" - case running = "RUNNING" - case shutdown = "SHUTDOWN" - case unhealthy = "UNHEALTHY" - case throttled = "THROTTLED" - case unknown = "UNKNOWN" - public var description: String { return self.rawValue } - } - - public struct TimestampRange: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "beginDate", required: false, type: .timestamp), - AWSShapeMember(label: "endDate", required: false, type: .timestamp) - ] - /// The minimum value of the timestamp range. - public let beginDate: TimeStamp? - /// The maximum value of the timestamp range. - public let endDate: TimeStamp? - - public init(beginDate: TimeStamp? = nil, endDate: TimeStamp? = nil) { - self.beginDate = beginDate - self.endDate = endDate - } - - private enum CodingKeys: String, CodingKey { - case beginDate = "beginDate" - case endDate = "endDate" - } - } - - public struct TelemetryMetadata: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "dataSize", required: false, type: .long), - AWSShapeMember(label: "count", required: true, type: .long), - AWSShapeMember(label: "messageType", required: true, type: .string) - ] - /// The data size of messages that the agent sends to the Amazon Inspector service. - public let dataSize: Int64? - /// The count of messages that the agent sends to the Amazon Inspector service. - public let count: Int64 - /// A specific type of behavioral data that is collected by the agent. - public let messageType: String - - public init(dataSize: Int64? = nil, count: Int64, messageType: String) { - self.dataSize = dataSize - self.count = count - self.messageType = messageType - } - - private enum CodingKeys: String, CodingKey { - case dataSize = "dataSize" - case count = "count" - case messageType = "messageType" - } - } - public struct AssessmentTemplate: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "arn", required: true, type: .string), AWSShapeMember(label: "assessmentTargetArn", required: true, type: .string), + AWSShapeMember(label: "assessmentRunCount", required: true, type: .integer), AWSShapeMember(label: "name", required: true, type: .string), AWSShapeMember(label: "createdAt", required: true, type: .timestamp), AWSShapeMember(label: "rulesPackageArns", required: true, type: .list), AWSShapeMember(label: "durationInSeconds", required: true, type: .integer), AWSShapeMember(label: "userAttributesForFindings", required: true, type: .list), - AWSShapeMember(label: "arn", required: true, type: .string) - ] - /// The ARN of the assessment target that corresponds to this assessment template. - public let assessmentTargetArn: String - /// The name of the assessment template. - public let name: String - /// The time at which the assessment template is created. - public let createdAt: TimeStamp - /// The rules packages that are specified for this assessment template. - public let rulesPackageArns: [String] - /// The duration in seconds specified for this assessment tempate. The default value is 3600 seconds (one hour). The maximum value is 86400 seconds (one day). - public let durationInSeconds: Int32 - /// The user-defined attributes that are assigned to every generated finding from the assessment run that uses this assessment template. - public let userAttributesForFindings: [Attribute] - /// The ARN of the assessment template. - public let arn: String - - public init(assessmentTargetArn: String, name: String, createdAt: TimeStamp, rulesPackageArns: [String], durationInSeconds: Int32, userAttributesForFindings: [Attribute], arn: String) { - self.assessmentTargetArn = assessmentTargetArn - self.name = name - self.createdAt = createdAt - self.rulesPackageArns = rulesPackageArns - self.durationInSeconds = durationInSeconds - self.userAttributesForFindings = userAttributesForFindings - self.arn = arn - } - - private enum CodingKeys: String, CodingKey { - case assessmentTargetArn = "assessmentTargetArn" - case name = "name" - case createdAt = "createdAt" - case rulesPackageArns = "rulesPackageArns" - case durationInSeconds = "durationInSeconds" - case userAttributesForFindings = "userAttributesForFindings" - case arn = "arn" - } - } - - public struct RegisterCrossAccountAccessRoleRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "roleArn", required: true, type: .string) - ] - /// The ARN of the IAM role that Amazon Inspector uses to list your EC2 instances during the assessment run or when you call the PreviewAgents action. - public let roleArn: String - - public init(roleArn: String) { - self.roleArn = roleArn - } - - private enum CodingKeys: String, CodingKey { - case roleArn = "roleArn" - } - } - - public struct AssetAttributes: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "autoScalingGroup", required: false, type: .string), - AWSShapeMember(label: "hostname", required: false, type: .string), - AWSShapeMember(label: "amiId", required: false, type: .string), - AWSShapeMember(label: "agentId", required: false, type: .string), - AWSShapeMember(label: "schemaVersion", required: true, type: .integer), - AWSShapeMember(label: "ipv4Addresses", required: false, type: .list) - ] - /// The Auto Scaling group of the EC2 instance where the finding is generated. - public let autoScalingGroup: String? - /// The hostname of the EC2 instance where the finding is generated. - public let hostname: String? - /// The ID of the Amazon Machine Image (AMI) that is installed on the EC2 instance where the finding is generated. - public let amiId: String? - /// The ID of the agent that is installed on the EC2 instance where the finding is generated. - public let agentId: String? - /// The schema version of this data type. - public let schemaVersion: Int32 - /// The list of IP v4 addresses of the EC2 instance where the finding is generated. - public let ipv4Addresses: [String]? - - public init(autoScalingGroup: String? = nil, hostname: String? = nil, amiId: String? = nil, agentId: String? = nil, schemaVersion: Int32, ipv4Addresses: [String]? = nil) { - self.autoScalingGroup = autoScalingGroup - self.hostname = hostname - self.amiId = amiId - self.agentId = agentId - self.schemaVersion = schemaVersion - self.ipv4Addresses = ipv4Addresses - } - - private enum CodingKeys: String, CodingKey { - case autoScalingGroup = "autoScalingGroup" - case hostname = "hostname" - case amiId = "amiId" - case agentId = "agentId" - case schemaVersion = "schemaVersion" - case ipv4Addresses = "ipv4Addresses" - } - } - - public struct ListAssessmentRunAgentsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "assessmentRunAgents", required: true, type: .list) - ] - /// 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. - public let nextToken: String? - /// A list of ARNs that specifies the agents returned by the action. - public let assessmentRunAgents: [AssessmentRunAgent] + AWSShapeMember(label: "lastAssessmentRunArn", required: false, type: .string) + ] + /// The ARN of the assessment template. + public let arn: String + /// The ARN of the assessment target that corresponds to this assessment template. + public let assessmentTargetArn: String + /// The number of existing assessment runs associated with this assessment template. This value can be zero or a positive integer. + public let assessmentRunCount: Int32 + /// The name of the assessment template. + public let name: String + /// The time at which the assessment template is created. + public let createdAt: TimeStamp + /// The rules packages that are specified for this assessment template. + public let rulesPackageArns: [String] + /// 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). + public let durationInSeconds: Int32 + /// The user-defined attributes that are assigned to every generated finding from the assessment run that uses this assessment template. + public let userAttributesForFindings: [Attribute] + /// 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. + public let lastAssessmentRunArn: String? - public init(nextToken: String? = nil, assessmentRunAgents: [AssessmentRunAgent]) { - self.nextToken = nextToken - self.assessmentRunAgents = assessmentRunAgents + public init(arn: String, assessmentTargetArn: String, assessmentRunCount: Int32, name: String, createdAt: TimeStamp, rulesPackageArns: [String], durationInSeconds: Int32, userAttributesForFindings: [Attribute], lastAssessmentRunArn: String? = nil) { + self.arn = arn + self.assessmentTargetArn = assessmentTargetArn + self.assessmentRunCount = assessmentRunCount + self.name = name + self.createdAt = createdAt + self.rulesPackageArns = rulesPackageArns + self.durationInSeconds = durationInSeconds + self.userAttributesForFindings = userAttributesForFindings + self.lastAssessmentRunArn = lastAssessmentRunArn } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case assessmentRunAgents = "assessmentRunAgents" + case arn = "arn" + case assessmentTargetArn = "assessmentTargetArn" + case assessmentRunCount = "assessmentRunCount" + case name = "name" + case createdAt = "createdAt" + case rulesPackageArns = "rulesPackageArns" + case durationInSeconds = "durationInSeconds" + case userAttributesForFindings = "userAttributesForFindings" + case lastAssessmentRunArn = "lastAssessmentRunArn" } } - public struct ListAssessmentTargetsRequest: AWSShape { + public struct DescribeExclusionsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "maxResults", required: false, type: .integer), - AWSShapeMember(label: "filter", required: false, type: .structure) + AWSShapeMember(label: "exclusions", required: true, type: .map), + AWSShapeMember(label: "failedItems", required: true, type: .map) ] - /// 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. - public let nextToken: String? - /// 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. - public let maxResults: Int32? - /// 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. - public let filter: AssessmentTargetFilter? + /// Information about the exclusions. + public let exclusions: [String: Exclusion] + /// Exclusion details that cannot be described. An error code is provided for each failed item. + public let failedItems: [String: FailedItemDetails] - public init(nextToken: String? = nil, maxResults: Int32? = nil, filter: AssessmentTargetFilter? = nil) { - self.nextToken = nextToken - self.maxResults = maxResults - self.filter = filter + public init(exclusions: [String: Exclusion], failedItems: [String: FailedItemDetails]) { + self.exclusions = exclusions + self.failedItems = failedItems } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case maxResults = "maxResults" - case filter = "filter" + case exclusions = "exclusions" + case failedItems = "failedItems" } } @@ -1906,7 +2391,7 @@ extension Inspector { public let assessmentTemplateName: String /// The ARN that specifies the assessment target for which you want to create the assessment template. public let assessmentTargetArn: String - /// The duration of the assessment run in seconds. The default value is 3600 seconds (one hour). + /// The duration of the assessment run in seconds. public let durationInSeconds: Int32 /// The ARNs that specify the rules packages that you want to attach to the assessment template. public let rulesPackageArns: [String] @@ -1930,48 +2415,22 @@ extension Inspector { } } - public struct StartAssessmentRunRequest: AWSShape { + public struct CreateExclusionsPreviewRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "assessmentRunName", required: false, type: .string), AWSShapeMember(label: "assessmentTemplateArn", required: true, type: .string) ] - /// 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. - public let assessmentRunName: String? - /// The ARN of the assessment template of the assessment run that you want to start. + /// The ARN that specifies the assessment template for which you want to create an exclusions preview. public let assessmentTemplateArn: String - public init(assessmentRunName: String? = nil, assessmentTemplateArn: String) { - self.assessmentRunName = assessmentRunName + public init(assessmentTemplateArn: String) { self.assessmentTemplateArn = assessmentTemplateArn } private enum CodingKeys: String, CodingKey { - case assessmentRunName = "assessmentRunName" case assessmentTemplateArn = "assessmentTemplateArn" } } - public struct AgentFilter: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "agentHealthCodes", required: true, type: .list), - AWSShapeMember(label: "agentHealths", required: true, type: .list) - ] - /// The detailed health state of the agent. Values can be set to IDLE, RUNNING, SHUTDOWN, UNHEALTHY, THROTTLED, and UNKNOWN. - public let agentHealthCodes: [AgentHealthCode] - /// The current health state of the agent. Values can be set to HEALTHY or UNHEALTHY. - public let agentHealths: [AgentHealth] - - public init(agentHealthCodes: [AgentHealthCode], agentHealths: [AgentHealth]) { - self.agentHealthCodes = agentHealthCodes - self.agentHealths = agentHealths - } - - private enum CodingKeys: String, CodingKey { - case agentHealthCodes = "agentHealthCodes" - case agentHealths = "agentHealths" - } - } - public struct SubscribeToEventRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "resourceArn", required: true, type: .string), @@ -1998,49 +2457,33 @@ extension Inspector { } } - public enum AssessmentRunNotificationSnsStatusCode: String, CustomStringConvertible, Codable { - case success = "SUCCESS" - case topicDoesNotExist = "TOPIC_DOES_NOT_EXIST" - case accessDenied = "ACCESS_DENIED" - case internalError = "INTERNAL_ERROR" - public var description: String { return self.rawValue } - } - - public struct CreateResourceGroupRequest: AWSShape { + public struct StartAssessmentRunRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceGroupTags", required: true, type: .list) + AWSShapeMember(label: "assessmentRunName", required: false, type: .string), + AWSShapeMember(label: "assessmentTemplateArn", required: true, type: .string) ] - /// 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"]}]'. - public let resourceGroupTags: [ResourceGroupTag] + /// 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. + public let assessmentRunName: String? + /// The ARN of the assessment template of the assessment run that you want to start. + public let assessmentTemplateArn: String - public init(resourceGroupTags: [ResourceGroupTag]) { - self.resourceGroupTags = resourceGroupTags + public init(assessmentRunName: String? = nil, assessmentTemplateArn: String) { + self.assessmentRunName = assessmentRunName + self.assessmentTemplateArn = assessmentTemplateArn } private enum CodingKeys: String, CodingKey { - case resourceGroupTags = "resourceGroupTags" + case assessmentRunName = "assessmentRunName" + case assessmentTemplateArn = "assessmentTemplateArn" } } - public struct DescribeFindingsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "findings", required: true, type: .list), - AWSShapeMember(label: "failedItems", required: true, type: .map) - ] - /// Information about the finding. - public let findings: [Finding] - /// Finding details that cannot be described. An error code is provided for each failed item. - public let failedItems: [String: FailedItemDetails] - - public init(findings: [Finding], failedItems: [String: FailedItemDetails]) { - self.findings = findings - self.failedItems = failedItems - } - - private enum CodingKeys: String, CodingKey { - case findings = "findings" - case failedItems = "failedItems" - } + public enum AssessmentRunNotificationSnsStatusCode: String, CustomStringConvertible, Codable { + case success = "SUCCESS" + case topicDoesNotExist = "TOPIC_DOES_NOT_EXIST" + case accessDenied = "ACCESS_DENIED" + case internalError = "INTERNAL_ERROR" + public var description: String { return self.rawValue } } public struct SetTagsForResourceRequest: AWSShape { @@ -2064,95 +2507,33 @@ extension Inspector { } } - public struct FailedItemDetails: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "failureCode", required: true, type: .enum), - AWSShapeMember(label: "retryable", required: true, type: .boolean) - ] - /// The status code of a failed item. - public let failureCode: FailedItemErrorCode - /// Indicates whether you can immediately retry a request for this item for a specified resource. - public let retryable: Bool - - public init(failureCode: FailedItemErrorCode, retryable: Bool) { - self.failureCode = failureCode - self.retryable = retryable - } - - private enum CodingKeys: String, CodingKey { - case failureCode = "failureCode" - case retryable = "retryable" - } - } - - public struct AssessmentRunNotification: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "snsTopicArn", required: false, type: .string), - AWSShapeMember(label: "snsPublishStatusCode", required: false, type: .enum), - AWSShapeMember(label: "event", required: true, type: .enum), - AWSShapeMember(label: "message", required: false, type: .string), - AWSShapeMember(label: "date", required: true, type: .timestamp), - AWSShapeMember(label: "error", required: true, type: .boolean) - ] - /// The SNS topic to which the SNS notification is sent. - public let snsTopicArn: String? - /// The status code of the SNS notification. - public let snsPublishStatusCode: AssessmentRunNotificationSnsStatusCode? - /// The event for which a notification is sent. - public let event: InspectorEvent - /// The message included in the notification. - public let message: String? - /// The date of the notification. - public let date: TimeStamp - /// The Boolean value that specifies whether the notification represents an error. - public let error: Bool - - public init(snsTopicArn: String? = nil, snsPublishStatusCode: AssessmentRunNotificationSnsStatusCode? = nil, event: InspectorEvent, message: String? = nil, date: TimeStamp, error: Bool) { - self.snsTopicArn = snsTopicArn - self.snsPublishStatusCode = snsPublishStatusCode - self.event = event - self.message = message - self.date = date - self.error = error - } - - private enum CodingKeys: String, CodingKey { - case snsTopicArn = "snsTopicArn" - case snsPublishStatusCode = "snsPublishStatusCode" - case event = "event" - case message = "message" - case date = "date" - case error = "error" - } - } - public struct ListAssessmentTemplatesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "maxResults", required: false, type: .integer), AWSShapeMember(label: "filter", required: false, type: .structure), AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer), AWSShapeMember(label: "assessmentTargetArns", required: false, type: .list) ] - /// 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. - public let maxResults: Int32? /// 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. public let filter: AssessmentTemplateFilter? /// 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. public let nextToken: String? + /// 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. + public let maxResults: Int32? /// A list of ARNs that specifies the assessment targets whose assessment templates you want to list. public let assessmentTargetArns: [String]? - public init(maxResults: Int32? = nil, filter: AssessmentTemplateFilter? = nil, nextToken: String? = nil, assessmentTargetArns: [String]? = nil) { - self.maxResults = maxResults + public init(filter: AssessmentTemplateFilter? = nil, nextToken: String? = nil, maxResults: Int32? = nil, assessmentTargetArns: [String]? = nil) { self.filter = filter self.nextToken = nextToken + self.maxResults = maxResults self.assessmentTargetArns = assessmentTargetArns } private enum CodingKeys: String, CodingKey { - case maxResults = "maxResults" case filter = "filter" case nextToken = "nextToken" + case maxResults = "maxResults" case assessmentTargetArns = "assessmentTargetArns" } } @@ -2201,15 +2582,15 @@ extension Inspector { public struct CreateAssessmentTargetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "resourceGroupArn", required: true, type: .string), + AWSShapeMember(label: "resourceGroupArn", required: false, type: .string), AWSShapeMember(label: "assessmentTargetName", required: true, type: .string) ] - /// The ARN that specifies the resource group that is used to create the assessment target. - public let resourceGroupArn: String + /// 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. + public let resourceGroupArn: String? /// The user-defined name that identifies the assessment target that you want to create. The name must be unique within the AWS account. public let assessmentTargetName: String - public init(resourceGroupArn: String, assessmentTargetName: String) { + public init(resourceGroupArn: String? = nil, assessmentTargetName: String) { self.resourceGroupArn = resourceGroupArn self.assessmentTargetName = assessmentTargetName } @@ -2220,32 +2601,6 @@ extension Inspector { } } - public struct InspectorServiceAttributes: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "schemaVersion", required: true, type: .integer), - AWSShapeMember(label: "rulesPackageArn", required: false, type: .string), - AWSShapeMember(label: "assessmentRunArn", required: false, type: .string) - ] - /// The schema version of this data type. - public let schemaVersion: Int32 - /// The ARN of the rules package that is used to generate the finding. - public let rulesPackageArn: String? - /// The ARN of the assessment run during which the finding is generated. - public let assessmentRunArn: String? - - public init(schemaVersion: Int32, rulesPackageArn: String? = nil, assessmentRunArn: String? = nil) { - self.schemaVersion = schemaVersion - self.rulesPackageArn = rulesPackageArn - self.assessmentRunArn = assessmentRunArn - } - - private enum CodingKeys: String, CodingKey { - case schemaVersion = "schemaVersion" - case rulesPackageArn = "rulesPackageArn" - case assessmentRunArn = "assessmentRunArn" - } - } - public struct DescribeAssessmentTargetsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "assessmentTargets", required: true, type: .list), @@ -2267,25 +2622,4 @@ extension Inspector { } } - public struct DescribeFindingsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "locale", required: false, type: .enum), - AWSShapeMember(label: "findingArns", required: true, type: .list) - ] - /// The locale into which you want to translate a finding description, recommendation, and the short description that identifies the finding. - public let locale: Locale? - /// The ARN that specifies the finding that you want to describe. - public let findingArns: [String] - - public init(locale: Locale? = nil, findingArns: [String]) { - self.locale = locale - self.findingArns = findingArns - } - - private enum CodingKeys: String, CodingKey { - case locale = "locale" - case findingArns = "findingArns" - } - } - } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/iot/Iot_API.swift b/Sources/AWSSDKSwift/Services/iot/Iot_API.swift index 3f0597c269d..a178249a1cf 100644 --- a/Sources/AWSSDKSwift/Services/iot/Iot_API.swift +++ b/Sources/AWSSDKSwift/Services/iot/Iot_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -AWS IoT AWS IoT provides secure, bi-directional communication between Internet-connected things (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each thing (Thing Registry), configure logging, and create and manage policies and credentials to authenticate things. For more information about how AWS IoT works, see the Developer Guide. +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. */ public struct Iot { @@ -29,29 +29,44 @@ public struct Iot { return try client.send(operation: "StopThingRegistrationTask", path: "/thing-registration-tasks/{taskId}/cancel", httpMethod: "PUT", input: input) } - /// Deletes a role alias - public func deleteRoleAlias(_ input: DeleteRoleAliasRequest) throws -> DeleteRoleAliasResponse { - return try client.send(operation: "DeleteRoleAlias", path: "/role-aliases/{roleAlias}", httpMethod: "DELETE", input: input) - } - /// 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. public func updateCertificate(_ input: UpdateCertificateRequest) throws { _ = try client.send(operation: "UpdateCertificate", path: "/certificates/{certificateId}", httpMethod: "PUT", input: input) } + /// Creates an AWS IoT OTAUpdate on a target group of things or groups. + public func createOTAUpdate(_ input: CreateOTAUpdateRequest) throws -> CreateOTAUpdateResponse { + return try client.send(operation: "CreateOTAUpdate", path: "/otaUpdates/{otaUpdateId}", httpMethod: "POST", input: input) + } + + /// Deletes a role alias + public func deleteRoleAlias(_ input: DeleteRoleAliasRequest) throws -> DeleteRoleAliasResponse { + return try client.send(operation: "DeleteRoleAlias", path: "/role-aliases/{roleAlias}", httpMethod: "DELETE", input: input) + } + /// Describes a bulk thing provisioning task. public func describeThingRegistrationTask(_ input: DescribeThingRegistrationTaskRequest) throws -> DescribeThingRegistrationTaskResponse { return try client.send(operation: "DescribeThingRegistrationTask", path: "/thing-registration-tasks/{taskId}", httpMethod: "GET", input: input) } + /// 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. + public func setDefaultPolicyVersion(_ input: SetDefaultPolicyVersionRequest) throws { + _ = try client.send(operation: "SetDefaultPolicyVersion", path: "/policies/{policyName}/version/{policyVersionId}", httpMethod: "PATCH", input: input) + } + /// Creates a bulk thing provisioning task. public func startThingRegistrationTask(_ input: StartThingRegistrationTaskRequest) throws -> StartThingRegistrationTaskResponse { return try client.send(operation: "StartThingRegistrationTask", path: "/thing-registration-tasks", httpMethod: "POST", input: input) } - /// 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. - public func setDefaultPolicyVersion(_ input: SetDefaultPolicyVersionRequest) throws { - _ = try client.send(operation: "SetDefaultPolicyVersion", path: "/policies/{policyName}/version/{policyVersionId}", httpMethod: "PATCH", input: input) + /// Gets information about a Device Defender security profile. + public func describeSecurityProfile(_ input: DescribeSecurityProfileRequest) throws -> DescribeSecurityProfileResponse { + return try client.send(operation: "DescribeSecurityProfile", path: "/security-profiles/{securityProfileName}", httpMethod: "GET", input: input) + } + + /// 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. + public func listSecurityProfiles(_ input: ListSecurityProfilesRequest) throws -> ListSecurityProfilesResponse { + return try client.send(operation: "ListSecurityProfiles", path: "/security-profiles", httpMethod: "GET", input: input) } /// Describes event configurations. @@ -59,6 +74,11 @@ public struct Iot { return try client.send(operation: "DescribeEventConfigurations", path: "/event-configurations", httpMethod: "GET", input: input) } + /// Updates a Device Defender security profile. + public func updateSecurityProfile(_ input: UpdateSecurityProfileRequest) throws -> UpdateSecurityProfileResponse { + return try client.send(operation: "UpdateSecurityProfile", path: "/security-profiles/{securityProfileName}", httpMethod: "PATCH", input: input) + } + /// Lists the things associated with the specified principal. public func listPrincipalThings(_ input: ListPrincipalThingsRequest) throws -> ListPrincipalThingsResponse { return try client.send(operation: "ListPrincipalThings", path: "/principals/things", httpMethod: "GET", input: input) @@ -69,14 +89,19 @@ public struct Iot { return try client.send(operation: "ListJobExecutionsForJob", path: "/jobs/{jobId}/things", httpMethod: "GET", input: input) } + /// 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. + public func describeAccountAuditConfiguration(_ input: DescribeAccountAuditConfigurationRequest) throws -> DescribeAccountAuditConfigurationResponse { + return try client.send(operation: "DescribeAccountAuditConfiguration", path: "/audit/configuration", httpMethod: "GET", input: input) + } + /// 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. public func cancelCertificateTransfer(_ input: CancelCertificateTransferRequest) throws { _ = try client.send(operation: "CancelCertificateTransfer", path: "/cancel-certificate-transfer/{certificateId}", httpMethod: "PATCH", input: input) } - /// List the thing groups in your account. - public func listThingGroups(_ input: ListThingGroupsRequest) throws -> ListThingGroupsResponse { - return try client.send(operation: "ListThingGroups", path: "/thing-groups", httpMethod: "GET", input: input) + /// 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. + public func acceptCertificateTransfer(_ input: AcceptCertificateTransferRequest) throws { + _ = try client.send(operation: "AcceptCertificateTransfer", path: "/accept-certificate-transfer/{certificateId}", httpMethod: "PATCH", input: input) } /// Updates an authorizer. @@ -84,11 +109,6 @@ public struct Iot { return try client.send(operation: "UpdateAuthorizer", path: "/authorizer/{authorizerName}", httpMethod: "PUT", input: input) } - /// Lists logging levels. - public func listV2LoggingLevels(_ input: ListV2LoggingLevelsRequest) throws -> ListV2LoggingLevelsResponse { - return try client.send(operation: "ListV2LoggingLevels", path: "/v2LoggingLevel", httpMethod: "GET", input: input) - } - /// Provisions a thing. public func registerThing(_ input: RegisterThingRequest) throws -> RegisterThingResponse { return try client.send(operation: "RegisterThing", path: "/things", httpMethod: "POST", input: input) @@ -99,9 +119,19 @@ public struct Iot { return try client.send(operation: "DescribeIndex", path: "/indices/{indexName}", httpMethod: "GET", input: input) } - /// 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. - public func acceptCertificateTransfer(_ input: AcceptCertificateTransferRequest) throws { - _ = try client.send(operation: "AcceptCertificateTransfer", path: "/accept-certificate-transfer/{certificateId}", httpMethod: "PATCH", input: input) + /// Gets an OTA update. + public func getOTAUpdate(_ input: GetOTAUpdateRequest) throws -> GetOTAUpdateResponse { + return try client.send(operation: "GetOTAUpdate", path: "/otaUpdates/{otaUpdateId}", httpMethod: "GET", input: input) + } + + /// List the thing groups in your account. + public func listThingGroups(_ input: ListThingGroupsRequest) throws -> ListThingGroupsResponse { + return try client.send(operation: "ListThingGroups", path: "/thing-groups", httpMethod: "GET", input: input) + } + + /// Lists logging levels. + public func listV2LoggingLevels(_ input: ListV2LoggingLevelsRequest) throws -> ListV2LoggingLevelsResponse { + return try client.send(operation: "ListV2LoggingLevels", path: "/v2LoggingLevel", httpMethod: "GET", input: input) } /// Update a thing group. @@ -119,9 +149,9 @@ public struct Iot { return try client.send(operation: "ListJobExecutionsForThing", path: "/things/{thingName}/jobs", httpMethod: "GET", input: input) } - /// Lists the versions of the specified policy and identifies the default version. - public func listPolicyVersions(_ input: ListPolicyVersionsRequest) throws -> ListPolicyVersionsResponse { - return try client.send(operation: "ListPolicyVersions", path: "/policies/{policyName}/version", httpMethod: "GET", input: input) + /// Lists the Device Defender security profiles attached to a target (thing group). + public func listSecurityProfilesForTarget(_ input: ListSecurityProfilesForTargetRequest) throws -> ListSecurityProfilesForTargetResponse { + return try client.send(operation: "ListSecurityProfilesForTarget", path: "/security-profiles-for-target", httpMethod: "GET", input: input) } /// Remove the specified thing from the specified group. @@ -134,6 +164,16 @@ public struct Iot { return try client.send(operation: "DescribeJobExecution", path: "/things/{thingName}/jobs/{jobId}", httpMethod: "GET", input: input) } + /// Lists the versions of the specified policy and identifies the default version. + public func listPolicyVersions(_ input: ListPolicyVersionsRequest) throws -> ListPolicyVersionsResponse { + return try client.send(operation: "ListPolicyVersions", path: "/policies/{policyName}/version", httpMethod: "GET", input: input) + } + + /// 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. + public func deleteAccountAuditConfiguration(_ input: DeleteAccountAuditConfigurationRequest) throws -> DeleteAccountAuditConfigurationResponse { + return try client.send(operation: "DeleteAccountAuditConfiguration", path: "/audit/configuration", httpMethod: "DELETE", input: input) + } + /// 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. public func registerCertificate(_ input: RegisterCertificateRequest) throws -> RegisterCertificateResponse { return try client.send(operation: "RegisterCertificate", path: "/certificate/register", httpMethod: "POST", input: input) @@ -144,7 +184,7 @@ public struct Iot { return try client.send(operation: "ListTopicRules", path: "/rules", httpMethod: "GET", input: input) } - /// Create a thing group. + /// Create a thing group. This is a control plane operation. See Authorization for information about authorizing control plane actions. public func createThingGroup(_ input: CreateThingGroupRequest) throws -> CreateThingGroupResponse { return try client.send(operation: "CreateThingGroup", path: "/thing-groups/{thingGroupName}", httpMethod: "POST", input: input) } @@ -154,7 +194,7 @@ public struct Iot { return try client.send(operation: "DescribeJob", path: "/jobs/{jobId}", httpMethod: "GET", input: input) } - /// Test custom authorization. + /// 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. public func testAuthorization(_ input: TestAuthorizationRequest) throws -> TestAuthorizationResponse { return try client.send(operation: "TestAuthorization", path: "/test-authorization", httpMethod: "POST", input: input) } @@ -189,29 +229,49 @@ public struct Iot { return try client.send(operation: "ListThingTypes", path: "/thing-types", httpMethod: "GET", input: input) } - /// Sets the logging options. + /// Sets the logging options. NOTE: use of this command is not recommended. Use SetV2LoggingOptions instead. public func setLoggingOptions(_ input: SetLoggingOptionsRequest) throws { _ = try client.send(operation: "SetLoggingOptions", path: "/loggingOptions", httpMethod: "POST", input: input) } + /// Gets information about a Device Defender audit. + public func describeAuditTask(_ input: DescribeAuditTaskRequest) throws -> DescribeAuditTaskResponse { + return try client.send(operation: "DescribeAuditTask", path: "/audit/tasks/{taskId}", httpMethod: "GET", input: input) + } + + /// Deletes a Device Defender security profile. + public func deleteSecurityProfile(_ input: DeleteSecurityProfileRequest) throws -> DeleteSecurityProfileResponse { + return try client.send(operation: "DeleteSecurityProfile", path: "/security-profiles/{securityProfileName}", httpMethod: "DELETE", input: input) + } + /// Gets the search configuration. public func getIndexingConfiguration(_ input: GetIndexingConfigurationRequest) throws -> GetIndexingConfigurationResponse { return try client.send(operation: "GetIndexingConfiguration", path: "/indexing/config", httpMethod: "GET", input: input) } + /// Gets information about a scheduled audit. + public func describeScheduledAudit(_ input: DescribeScheduledAuditRequest) throws -> DescribeScheduledAuditResponse { + return try client.send(operation: "DescribeScheduledAudit", path: "/audit/scheduledaudits/{scheduledAuditName}", httpMethod: "GET", input: input) + } + /// Gets the fine grained logging options. public func getV2LoggingOptions(_ input: GetV2LoggingOptionsRequest) throws -> GetV2LoggingOptionsResponse { return try client.send(operation: "GetV2LoggingOptions", path: "/v2LoggingOptions", httpMethod: "GET", input: input) } + /// 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" + public func createCertificateFromCsr(_ input: CreateCertificateFromCsrRequest) throws -> CreateCertificateFromCsrResponse { + return try client.send(operation: "CreateCertificateFromCsr", path: "/certificates", httpMethod: "POST", input: input) + } + /// Updates the search configuration. public func updateIndexingConfiguration(_ input: UpdateIndexingConfigurationRequest) throws -> UpdateIndexingConfigurationResponse { return try client.send(operation: "UpdateIndexingConfiguration", path: "/indexing/config", httpMethod: "POST", input: input) } - /// 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" - public func createCertificateFromCsr(_ input: CreateCertificateFromCsrRequest) throws -> CreateCertificateFromCsrResponse { - return try client.send(operation: "CreateCertificateFromCsr", path: "/certificates", httpMethod: "POST", input: input) + /// Deletes a scheduled audit. + public func deleteScheduledAudit(_ input: DeleteScheduledAuditRequest) throws -> DeleteScheduledAuditResponse { + return try client.send(operation: "DeleteScheduledAudit", path: "/audit/scheduledaudits/{scheduledAuditName}", httpMethod: "DELETE", input: input) } /// Lists the policies attached to the specified thing group. @@ -219,14 +279,9 @@ public struct Iot { return try client.send(operation: "ListAttachedPolicies", path: "/attached-policies/{target}", httpMethod: "POST", input: input) } - /// Lists the principals associated with the specified policy. Note: This API is deprecated. Please use ListTargetsForPolicy instead. - public func listPolicyPrincipals(_ input: ListPolicyPrincipalsRequest) throws -> ListPolicyPrincipalsResponse { - return try client.send(operation: "ListPolicyPrincipals", path: "/policy-principals", httpMethod: "GET", input: input) - } - - /// Gets information about the specified thing type. - public func describeThingType(_ input: DescribeThingTypeRequest) throws -> DescribeThingTypeResponse { - return try client.send(operation: "DescribeThingType", path: "/thing-types/{thingTypeName}", httpMethod: "GET", input: input) + /// Deletes a job execution. + public func deleteJobExecution(_ input: DeleteJobExecutionRequest) throws { + _ = try client.send(operation: "DeleteJobExecution", path: "/things/{thingName}/jobs/{jobId}/executionNumber/{executionNumber}", httpMethod: "DELETE", input: input) } /// 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. @@ -234,24 +289,39 @@ public struct Iot { _ = try client.send(operation: "CreateTopicRule", path: "/rules/{ruleName}", httpMethod: "POST", input: input) } + /// Gets information about the specified thing type. + public func describeThingType(_ input: DescribeThingTypeRequest) throws -> DescribeThingTypeResponse { + return try client.send(operation: "DescribeThingType", path: "/thing-types/{thingTypeName}", httpMethod: "GET", input: input) + } + /// Lists jobs. public func listJobs(_ input: ListJobsRequest) throws -> ListJobsResponse { return try client.send(operation: "ListJobs", path: "/jobs", httpMethod: "GET", input: input) } + /// Lists the principals associated with the specified policy. Note: This API is deprecated. Please use ListTargetsForPolicy instead. + public func listPolicyPrincipals(_ input: ListPolicyPrincipalsRequest) throws -> ListPolicyPrincipalsResponse { + return try client.send(operation: "ListPolicyPrincipals", path: "/policy-principals", httpMethod: "GET", input: input) + } + + /// Disassociates a Device Defender security profile from a thing group or from this account. + public func detachSecurityProfile(_ input: DetachSecurityProfileRequest) throws -> DetachSecurityProfileResponse { + return try client.send(operation: "DetachSecurityProfile", path: "/security-profiles/{securityProfileName}/targets", httpMethod: "DELETE", input: input) + } + /// 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. public func deleteCertificate(_ input: DeleteCertificateRequest) throws { _ = try client.send(operation: "DeleteCertificate", path: "/certificates/{certificateId}", httpMethod: "DELETE", input: input) } - /// Creates a role alias. - public func createRoleAlias(_ input: CreateRoleAliasRequest) throws -> CreateRoleAliasResponse { - return try client.send(operation: "CreateRoleAlias", path: "/role-aliases/{roleAlias}", httpMethod: "POST", input: input) + /// 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. + public func deleteThingType(_ input: DeleteThingTypeRequest) throws -> DeleteThingTypeResponse { + return try client.send(operation: "DeleteThingType", path: "/thing-types/{thingTypeName}", httpMethod: "DELETE", input: input) } - /// Deletes a CA certificate registration code. - public func deleteRegistrationCode(_ input: DeleteRegistrationCodeRequest) throws -> DeleteRegistrationCodeResponse { - return try client.send(operation: "DeleteRegistrationCode", path: "/registrationcode", httpMethod: "DELETE", input: input) + /// Lists the targets (thing groups) associated with a given Device Defender security profile. + public func listTargetsForSecurityProfile(_ input: ListTargetsForSecurityProfileRequest) throws -> ListTargetsForSecurityProfileResponse { + return try client.send(operation: "ListTargetsForSecurityProfile", path: "/security-profiles/{securityProfileName}/targets", httpMethod: "GET", input: input) } /// Deletes a registered CA certificate. @@ -264,29 +334,29 @@ public struct Iot { _ = try client.send(operation: "SetV2LoggingLevel", path: "/v2LoggingLevel", httpMethod: "POST", input: input) } + /// Creates a role alias. + public func createRoleAlias(_ input: CreateRoleAliasRequest) throws -> CreateRoleAliasResponse { + return try client.send(operation: "CreateRoleAlias", path: "/role-aliases/{roleAlias}", httpMethod: "POST", input: input) + } + /// Describes a role alias. public func describeRoleAlias(_ input: DescribeRoleAliasRequest) throws -> DescribeRoleAliasResponse { return try client.send(operation: "DescribeRoleAlias", path: "/role-aliases/{roleAlias}", httpMethod: "GET", input: input) } - /// 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. - public func deleteThingType(_ input: DeleteThingTypeRequest) throws -> DeleteThingTypeResponse { - return try client.send(operation: "DeleteThingType", path: "/thing-types/{thingTypeName}", httpMethod: "DELETE", input: input) - } - /// Adds a thing to a thing group. public func addThingToThingGroup(_ input: AddThingToThingGroupRequest) throws -> AddThingToThingGroupResponse { return try client.send(operation: "AddThingToThingGroup", path: "/thing-groups/addThingToThingGroup", httpMethod: "PUT", input: input) } - /// Gets information about the specified policy with the policy document of the default version. - public func getPolicy(_ input: GetPolicyRequest) throws -> GetPolicyResponse { - return try client.send(operation: "GetPolicy", path: "/policies/{policyName}", httpMethod: "GET", input: input) + /// Creates a Device Defender security profile. + public func createSecurityProfile(_ input: CreateSecurityProfileRequest) throws -> CreateSecurityProfileResponse { + return try client.send(operation: "CreateSecurityProfile", path: "/security-profiles/{securityProfileName}", httpMethod: "POST", input: input) } - /// Gets information about the specified thing. - public func describeThing(_ input: DescribeThingRequest) throws -> DescribeThingResponse { - return try client.send(operation: "DescribeThing", path: "/things/{thingName}", httpMethod: "GET", input: input) + /// Creates a new thing type. + public func createThingType(_ input: CreateThingTypeRequest) throws -> CreateThingTypeResponse { + return try client.send(operation: "CreateThingType", path: "/thing-types/{thingTypeName}", httpMethod: "POST", input: input) } /// Returns a unique endpoint specific to the AWS account making the call. @@ -294,9 +364,9 @@ public struct Iot { return try client.send(operation: "DescribeEndpoint", path: "/endpoint", httpMethod: "GET", input: input) } - /// Lists the authorizers registered in your account. - public func listAuthorizers(_ input: ListAuthorizersRequest) throws -> ListAuthorizersResponse { - return try client.send(operation: "ListAuthorizers", path: "/authorizers/", httpMethod: "GET", input: input) + /// Validates a Device Defender security profile behaviors specification. + public func validateSecurityProfileBehaviors(_ input: ValidateSecurityProfileBehaviorsRequest) throws -> ValidateSecurityProfileBehaviorsResponse { + return try client.send(operation: "ValidateSecurityProfileBehaviors", path: "/security-profile-behaviors/validate", httpMethod: "POST", input: input) } /// Sets the default authorizer. This will be used if a websocket connection is made without specifying an authorizer. @@ -304,17 +374,27 @@ public struct Iot { return try client.send(operation: "SetDefaultAuthorizer", path: "/default-authorizer", httpMethod: "POST", input: input) } - /// Creates a new thing type. - public func createThingType(_ input: CreateThingTypeRequest) throws -> CreateThingTypeResponse { - return try client.send(operation: "CreateThingType", path: "/thing-types/{thingTypeName}", httpMethod: "POST", input: input) + /// Lists the authorizers registered in your account. + public func listAuthorizers(_ input: ListAuthorizersRequest) throws -> ListAuthorizersResponse { + return try client.send(operation: "ListAuthorizers", path: "/authorizers/", httpMethod: "GET", input: input) } - /// Disables the rule. - public func disableTopicRule(_ input: DisableTopicRuleRequest) throws { - _ = try client.send(operation: "DisableTopicRule", path: "/rules/{ruleName}/disable", httpMethod: "POST", input: input) + /// Gets information about the specified policy with the policy document of the default version. + public func getPolicy(_ input: GetPolicyRequest) throws -> GetPolicyResponse { + return try client.send(operation: "GetPolicy", path: "/policies/{policyName}", httpMethod: "GET", input: input) + } + + /// Gets information about the specified thing. + public func describeThing(_ input: DescribeThingRequest) throws -> DescribeThingResponse { + return try client.send(operation: "DescribeThing", path: "/things/{thingName}", httpMethod: "GET", input: input) + } + + /// Deletes a CA certificate registration code. + public func deleteRegistrationCode(_ input: DeleteRegistrationCodeRequest) throws -> DeleteRegistrationCodeResponse { + return try client.send(operation: "DeleteRegistrationCode", path: "/registrationcode", httpMethod: "DELETE", input: input) } - /// Invoke the specified custom authorizer for testing purposes. + /// 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. public func testInvokeAuthorizer(_ input: TestInvokeAuthorizerRequest) throws -> TestInvokeAuthorizerResponse { return try client.send(operation: "TestInvokeAuthorizer", path: "/authorizer/{authorizerName}/test", httpMethod: "POST", input: input) } @@ -324,6 +404,11 @@ public struct Iot { return try client.send(operation: "RegisterCACertificate", path: "/cacertificate", httpMethod: "POST", input: input) } + /// Disables the rule. + public func disableTopicRule(_ input: DisableTopicRuleRequest) throws { + _ = try client.send(operation: "DisableTopicRule", path: "/rules/{ruleName}/disable", httpMethod: "POST", input: input) + } + /// Detaches a policy from the specified target. public func detachPolicy(_ input: DetachPolicyRequest) throws { _ = try client.send(operation: "DetachPolicy", path: "/target-policies/{policyName}", httpMethod: "POST", input: input) @@ -334,6 +419,16 @@ public struct Iot { _ = try client.send(operation: "AttachPolicy", path: "/target-policies/{policyName}", httpMethod: "PUT", input: input) } + /// 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. + public func attachSecurityProfile(_ input: AttachSecurityProfileRequest) throws -> AttachSecurityProfileResponse { + return try client.send(operation: "AttachSecurityProfile", path: "/security-profiles/{securityProfileName}/targets", httpMethod: "PUT", input: input) + } + + /// Deletes a stream. + public func deleteStream(_ input: DeleteStreamRequest) throws -> DeleteStreamResponse { + return try client.send(operation: "DeleteStream", path: "/streams/{streamId}", httpMethod: "DELETE", input: input) + } + /// Deletes a thing group. public func deleteThingGroup(_ input: DeleteThingGroupRequest) throws -> DeleteThingGroupResponse { return try client.send(operation: "DeleteThingGroup", path: "/thing-groups/{thingGroupName}", httpMethod: "DELETE", input: input) @@ -359,9 +454,9 @@ public struct Iot { return try client.send(operation: "CreateJob", path: "/jobs/{jobId}", httpMethod: "PUT", input: input) } - /// 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. - public func createKeysAndCertificate(_ input: CreateKeysAndCertificateRequest) throws -> CreateKeysAndCertificateResponse { - return try client.send(operation: "CreateKeysAndCertificate", path: "/keys-and-certificate", httpMethod: "POST", input: input) + /// Delete an OTA update. + public func deleteOTAUpdate(_ input: DeleteOTAUpdateRequest) throws -> DeleteOTAUpdateResponse { + return try client.send(operation: "DeleteOTAUpdate", path: "/otaUpdates/{otaUpdateId}", httpMethod: "DELETE", input: input) } /// Deletes an authorizer. @@ -369,14 +464,19 @@ public struct Iot { return try client.send(operation: "DeleteAuthorizer", path: "/authorizer/{authorizerName}", httpMethod: "DELETE", input: input) } + /// 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. + public func createKeysAndCertificate(_ input: CreateKeysAndCertificateRequest) throws -> CreateKeysAndCertificateResponse { + return try client.send(operation: "CreateKeysAndCertificate", path: "/keys-and-certificate", httpMethod: "POST", input: input) + } + /// 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. public func associateTargetsWithJob(_ input: AssociateTargetsWithJobRequest) throws -> AssociateTargetsWithJobResponse { return try client.send(operation: "AssociateTargetsWithJob", path: "/jobs/{jobId}/targets", httpMethod: "POST", input: input) } - /// Creates an authorizer. - public func createAuthorizer(_ input: CreateAuthorizerRequest) throws -> CreateAuthorizerResponse { - return try client.send(operation: "CreateAuthorizer", path: "/authorizer/{authorizerName}", httpMethod: "POST", input: input) + /// Gets a registration code used to register a CA certificate with AWS IoT. + public func getRegistrationCode(_ input: GetRegistrationCodeRequest) throws -> GetRegistrationCodeResponse { + return try client.send(operation: "GetRegistrationCode", path: "/registrationcode", httpMethod: "GET", input: input) } /// 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. @@ -394,12 +494,17 @@ public struct Iot { return try client.send(operation: "SearchIndex", path: "/indices/search", httpMethod: "POST", input: input) } - /// Gets a registration code used to register a CA certificate with AWS IoT. - public func getRegistrationCode(_ input: GetRegistrationCodeRequest) throws -> GetRegistrationCodeResponse { - return try client.send(operation: "GetRegistrationCode", path: "/registrationcode", httpMethod: "GET", input: input) + /// Creates an authorizer. + public func createAuthorizer(_ input: CreateAuthorizerRequest) throws -> CreateAuthorizerResponse { + return try client.send(operation: "CreateAuthorizer", path: "/authorizer/{authorizerName}", httpMethod: "POST", input: input) + } + + /// 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. + public func updateAccountAuditConfiguration(_ input: UpdateAccountAuditConfigurationRequest) throws -> UpdateAccountAuditConfigurationResponse { + return try client.send(operation: "UpdateAccountAuditConfiguration", path: "/audit/configuration", httpMethod: "PATCH", input: input) } - /// Gets effective policies. + /// 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. public func getEffectivePolicies(_ input: GetEffectivePoliciesRequest) throws -> GetEffectivePoliciesResponse { return try client.send(operation: "GetEffectivePolicies", path: "/effective-policies", httpMethod: "POST", input: input) } @@ -424,6 +529,11 @@ public struct Iot { return try client.send(operation: "ListThingsInThingGroup", path: "/thing-groups/{thingGroupName}/things", httpMethod: "GET", input: input) } + /// Updates a scheduled audit, including what checks are performed and how often the audit takes place. + public func updateScheduledAudit(_ input: UpdateScheduledAuditRequest) throws -> UpdateScheduledAuditResponse { + return try client.send(operation: "UpdateScheduledAudit", path: "/audit/scheduledaudits/{scheduledAuditName}", httpMethod: "PATCH", input: input) + } + /// 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. public func listPrincipalPolicies(_ input: ListPrincipalPoliciesRequest) throws -> ListPrincipalPoliciesResponse { return try client.send(operation: "ListPrincipalPolicies", path: "/principal-policies", httpMethod: "GET", input: input) @@ -439,6 +549,16 @@ public struct Iot { return try client.send(operation: "ListThingRegistrationTaskReports", path: "/thing-registration-tasks/{taskId}/reports", httpMethod: "GET", input: input) } + /// 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. + public func deleteJob(_ input: DeleteJobRequest) throws { + _ = try client.send(operation: "DeleteJob", path: "/jobs/{jobId}", httpMethod: "DELETE", input: input) + } + + /// Lists all of the streams in your AWS account. + public func listStreams(_ input: ListStreamsRequest) throws -> ListStreamsResponse { + return try client.send(operation: "ListStreams", path: "/streams", httpMethod: "GET", input: input) + } + /// Updates the groups to which the thing belongs. public func updateThingGroupsForThing(_ input: UpdateThingGroupsForThingRequest) throws -> UpdateThingGroupsForThingResponse { return try client.send(operation: "UpdateThingGroupsForThing", path: "/thing-groups/updateThingGroupsForThing", httpMethod: "PUT", input: input) @@ -459,11 +579,36 @@ public struct Iot { return try client.send(operation: "ListRoleAliases", path: "/role-aliases", httpMethod: "GET", input: input) } + /// 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.) + public func listAuditFindings(_ input: ListAuditFindingsRequest) throws -> ListAuditFindingsResponse { + return try client.send(operation: "ListAuditFindings", path: "/audit/findings", httpMethod: "POST", input: input) + } + + /// Creates a scheduled audit that is run at a specified time interval. + public func createScheduledAudit(_ input: CreateScheduledAuditRequest) throws -> CreateScheduledAuditResponse { + return try client.send(operation: "CreateScheduledAudit", path: "/audit/scheduledaudits/{scheduledAuditName}", httpMethod: "POST", input: input) + } + + /// 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. + public func cancelAuditTask(_ input: CancelAuditTaskRequest) throws -> CancelAuditTaskResponse { + return try client.send(operation: "CancelAuditTask", path: "/audit/tasks/{taskId}/cancel", httpMethod: "PUT", input: input) + } + + /// Starts an on-demand Device Defender audit. + public func startOnDemandAuditTask(_ input: StartOnDemandAuditTaskRequest) throws -> StartOnDemandAuditTaskResponse { + return try client.send(operation: "StartOnDemandAuditTask", path: "/audit/tasks", httpMethod: "POST", input: input) + } + /// Attaches the specified principal to the specified thing. public func attachThingPrincipal(_ input: AttachThingPrincipalRequest) throws -> AttachThingPrincipalResponse { return try client.send(operation: "AttachThingPrincipal", path: "/things/{thingName}/principals", httpMethod: "PUT", input: input) } + /// Lists the active violations for a given Device Defender security profile. + public func listActiveViolations(_ input: ListActiveViolationsRequest) throws -> ListActiveViolationsResponse { + return try client.send(operation: "ListActiveViolations", path: "/active-violations", httpMethod: "GET", input: input) + } + /// 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. public func listThings(_ input: ListThingsRequest) throws -> ListThingsResponse { return try client.send(operation: "ListThings", path: "/things", httpMethod: "GET", input: input) @@ -474,7 +619,7 @@ public struct Iot { return try client.send(operation: "CreatePolicy", path: "/policies/{policyName}", httpMethod: "POST", input: input) } - /// Gets the logging options. + /// Gets the logging options. NOTE: use of this command is not recommended. Use GetV2LoggingOptions instead. public func getLoggingOptions(_ input: GetLoggingOptionsRequest) throws -> GetLoggingOptionsResponse { return try client.send(operation: "GetLoggingOptions", path: "/loggingOptions", httpMethod: "GET", input: input) } @@ -484,9 +629,9 @@ public struct Iot { return try client.send(operation: "ListThingGroupsForThing", path: "/things/{thingName}/thing-groups", httpMethod: "GET", input: input) } - /// Lists certificates that are being transferred but not yet accepted. - public func listOutgoingCertificates(_ input: ListOutgoingCertificatesRequest) throws -> ListOutgoingCertificatesResponse { - return try client.send(operation: "ListOutgoingCertificates", path: "/certificates-out-going", httpMethod: "GET", input: input) + /// Gets information about a stream. + public func describeStream(_ input: DescribeStreamRequest) throws -> DescribeStreamResponse { + return try client.send(operation: "DescribeStream", path: "/streams/{streamId}", httpMethod: "GET", input: input) } /// Sets the logging options for the V2 logging service. @@ -494,21 +639,41 @@ public struct Iot { _ = try client.send(operation: "SetV2LoggingOptions", path: "/v2LoggingOptions", httpMethod: "POST", input: input) } + /// Lists certificates that are being transferred but not yet accepted. + public func listOutgoingCertificates(_ input: ListOutgoingCertificatesRequest) throws -> ListOutgoingCertificatesResponse { + return try client.send(operation: "ListOutgoingCertificates", path: "/certificates-out-going", httpMethod: "GET", input: input) + } + /// Describes a registered CA certificate. public func describeCACertificate(_ input: DescribeCACertificateRequest) throws -> DescribeCACertificateResponse { return try client.send(operation: "DescribeCACertificate", path: "/cacertificate/{caCertificateId}", httpMethod: "GET", input: input) } + /// 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). + public func listViolationEvents(_ input: ListViolationEventsRequest) throws -> ListViolationEventsResponse { + return try client.send(operation: "ListViolationEvents", path: "/violation-events", httpMethod: "GET", input: input) + } + /// Deprecates a thing type. You can not associate new things with deprecated thing type. public func deprecateThingType(_ input: DeprecateThingTypeRequest) throws -> DeprecateThingTypeResponse { return try client.send(operation: "DeprecateThingType", path: "/thing-types/{thingTypeName}/deprecate", httpMethod: "POST", input: input) } + /// Lists OTA updates. + public func listOTAUpdates(_ input: ListOTAUpdatesRequest) throws -> ListOTAUpdatesResponse { + return try client.send(operation: "ListOTAUpdates", path: "/otaUpdates", httpMethod: "GET", input: input) + } + /// Lists the principals associated with the specified thing. public func listThingPrincipals(_ input: ListThingPrincipalsRequest) throws -> ListThingPrincipalsResponse { return try client.send(operation: "ListThingPrincipals", path: "/things/{thingName}/principals", httpMethod: "GET", input: input) } + /// Cancels the execution of a job for a given thing. + public func cancelJobExecution(_ input: CancelJobExecutionRequest) throws { + _ = try client.send(operation: "CancelJobExecution", path: "/things/{thingName}/jobs/{jobId}/cancel", httpMethod: "PUT", input: input) + } + /// List targets for the specified policy. public func listTargetsForPolicy(_ input: ListTargetsForPolicyRequest) throws -> ListTargetsForPolicyResponse { return try client.send(operation: "ListTargetsForPolicy", path: "/policy-targets/{policyName}", httpMethod: "POST", input: input) @@ -524,16 +689,16 @@ public struct Iot { return try client.send(operation: "ListCertificates", path: "/certificates", httpMethod: "GET", input: input) } + /// Creates a thing record in the registry. This is a control plane operation. See Authorization for information about authorizing control plane actions. + public func createThing(_ input: CreateThingRequest) throws -> CreateThingResponse { + return try client.send(operation: "CreateThing", path: "/things/{thingName}", httpMethod: "POST", input: input) + } + /// Updates the data for a thing. public func updateThing(_ input: UpdateThingRequest) throws -> UpdateThingResponse { return try client.send(operation: "UpdateThing", path: "/things/{thingName}", httpMethod: "PATCH", input: input) } - /// Creates a thing record in the thing registry. - public func createThing(_ input: CreateThingRequest) throws -> CreateThingResponse { - return try client.send(operation: "CreateThing", path: "/things/{thingName}", httpMethod: "POST", input: input) - } - /// 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). public func createPolicyVersion(_ input: CreatePolicyVersionRequest) throws -> CreatePolicyVersionResponse { return try client.send(operation: "CreatePolicyVersion", path: "/policies/{policyName}/version", httpMethod: "POST", input: input) @@ -544,16 +709,31 @@ public struct Iot { return try client.send(operation: "ListPolicies", path: "/policies", httpMethod: "GET", input: input) } + /// Updates an existing stream. The stream version will be incremented by one. + public func updateStream(_ input: UpdateStreamRequest) throws -> UpdateStreamResponse { + return try client.send(operation: "UpdateStream", path: "/streams/{streamId}", httpMethod: "PUT", input: input) + } + /// Gets information about the specified policy version. public func getPolicyVersion(_ input: GetPolicyVersionRequest) throws -> GetPolicyVersionResponse { return try client.send(operation: "GetPolicyVersion", path: "/policies/{policyName}/version/{policyVersionId}", httpMethod: "GET", input: input) } + /// Lists all of your scheduled audits. + public func listScheduledAudits(_ input: ListScheduledAuditsRequest) throws -> ListScheduledAuditsResponse { + return try client.send(operation: "ListScheduledAudits", path: "/audit/scheduledaudits", httpMethod: "GET", input: input) + } + /// Updates the event configurations. public func updateEventConfigurations(_ input: UpdateEventConfigurationsRequest) throws -> UpdateEventConfigurationsResponse { return try client.send(operation: "UpdateEventConfigurations", path: "/event-configurations", httpMethod: "PATCH", input: input) } + /// 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. + public func createStream(_ input: CreateStreamRequest) throws -> CreateStreamResponse { + return try client.send(operation: "CreateStream", path: "/streams/{streamId}", httpMethod: "POST", input: input) + } + /// Clears the default authorizer. public func clearDefaultAuthorizer(_ input: ClearDefaultAuthorizerRequest) throws -> ClearDefaultAuthorizerResponse { return try client.send(operation: "ClearDefaultAuthorizer", path: "/default-authorizer", httpMethod: "DELETE", input: input) @@ -574,6 +754,11 @@ public struct Iot { return try client.send(operation: "ListCACertificates", path: "/cacertificates", httpMethod: "GET", input: input) } + /// Lists the Device Defender audits that have been performed during a given time period. + public func listAuditTasks(_ input: ListAuditTasksRequest) throws -> ListAuditTasksResponse { + return try client.send(operation: "ListAuditTasks", path: "/audit/tasks", httpMethod: "GET", input: input) + } + /// Deletes the specified thing. public func deleteThing(_ input: DeleteThingRequest) throws -> DeleteThingResponse { return try client.send(operation: "DeleteThing", path: "/things/{thingName}", httpMethod: "DELETE", input: input) @@ -589,7 +774,7 @@ public struct Iot { return try client.send(operation: "DescribeThingGroup", path: "/thing-groups/{thingGroupName}", httpMethod: "GET", input: input) } - /// Gets information about the specified certificate. You may specify the certificate using either its ID or PEM. + /// Gets information about the specified certificate. public func describeCertificate(_ input: DescribeCertificateRequest) throws -> DescribeCertificateResponse { return try client.send(operation: "DescribeCertificate", path: "/certificates/{certificateId}", httpMethod: "GET", input: input) } diff --git a/Sources/AWSSDKSwift/Services/iot/Iot_Error.swift b/Sources/AWSSDKSwift/Services/iot/Iot_Error.swift index 28629f1fa46..c50fcf5f10a 100644 --- a/Sources/AWSSDKSwift/Services/iot/Iot_Error.swift +++ b/Sources/AWSSDKSwift/Services/iot/Iot_Error.swift @@ -9,20 +9,21 @@ public enum IotError: AWSErrorType { case unauthorizedException(message: String?) case internalFailureException(message: String?) case resourceNotFoundException(message: String?) - case deleteConflictException(message: String?) - case serviceUnavailableException(message: String?) case certificateStateException(message: String?) + case serviceUnavailableException(message: String?) + case resourceAlreadyExistsException(message: String?) + case deleteConflictException(message: String?) + case versionConflictException(message: String?) case transferAlreadyCompletedException(message: String?) case limitExceededException(message: String?) - case internalException(message: String?) - case notConfiguredException(message: String?) case conflictingResourceUpdateException(message: String?) case resourceRegistrationFailureException(message: String?) - case versionConflictException(message: String?) - case resourceAlreadyExistsException(message: String?) + case internalException(message: String?) + case notConfiguredException(message: String?) case certificateValidationException(message: String?) case certificateConflictException(message: String?) case transferConflictException(message: String?) + case invalidStateTransitionException(message: String?) case sqlParseException(message: String?) case invalidResponseException(message: String?) case registrationCodeValidationException(message: String?) @@ -49,34 +50,36 @@ extension IotError { self = .internalFailureException(message: message) case "ResourceNotFoundException": self = .resourceNotFoundException(message: message) - case "DeleteConflictException": - self = .deleteConflictException(message: message) - case "ServiceUnavailableException": - self = .serviceUnavailableException(message: message) case "CertificateStateException": self = .certificateStateException(message: message) + case "ServiceUnavailableException": + self = .serviceUnavailableException(message: message) + case "ResourceAlreadyExistsException": + self = .resourceAlreadyExistsException(message: message) + case "DeleteConflictException": + self = .deleteConflictException(message: message) + case "VersionConflictException": + self = .versionConflictException(message: message) case "TransferAlreadyCompletedException": self = .transferAlreadyCompletedException(message: message) case "LimitExceededException": self = .limitExceededException(message: message) - case "InternalException": - self = .internalException(message: message) - case "NotConfiguredException": - self = .notConfiguredException(message: message) case "ConflictingResourceUpdateException": self = .conflictingResourceUpdateException(message: message) case "ResourceRegistrationFailureException": self = .resourceRegistrationFailureException(message: message) - case "VersionConflictException": - self = .versionConflictException(message: message) - case "ResourceAlreadyExistsException": - self = .resourceAlreadyExistsException(message: message) + case "InternalException": + self = .internalException(message: message) + case "NotConfiguredException": + self = .notConfiguredException(message: message) case "CertificateValidationException": self = .certificateValidationException(message: message) case "CertificateConflictException": self = .certificateConflictException(message: message) case "TransferConflictException": self = .transferConflictException(message: message) + case "InvalidStateTransitionException": + self = .invalidStateTransitionException(message: message) case "SqlParseException": self = .sqlParseException(message: message) case "InvalidResponseException": diff --git a/Sources/AWSSDKSwift/Services/iot/Iot_Shapes.swift b/Sources/AWSSDKSwift/Services/iot/Iot_Shapes.swift index 69a034a3589..b6752fb10d2 100644 --- a/Sources/AWSSDKSwift/Services/iot/Iot_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/iot/Iot_Shapes.swift @@ -53,7 +53,7 @@ extension Iot { AWSShapeMember(label: "transferMessage", required: false, type: .string), AWSShapeMember(label: "targetAwsAccount", location: .querystring(locationName: "targetAwsAccount"), required: true, type: .string) ] - /// The ID of the certificate. + /// The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.) public let certificateId: String /// The transfer message. public let transferMessage: String? @@ -191,12 +191,14 @@ extension Iot { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "elasticsearch", required: false, type: .structure), AWSShapeMember(label: "s3", required: false, type: .structure), + AWSShapeMember(label: "stepFunctions", required: false, type: .structure), + AWSShapeMember(label: "iotAnalytics", required: false, type: .structure), AWSShapeMember(label: "lambda", required: false, type: .structure), - AWSShapeMember(label: "republish", required: false, type: .structure), AWSShapeMember(label: "dynamoDB", required: false, type: .structure), + AWSShapeMember(label: "sns", required: false, type: .structure), AWSShapeMember(label: "salesforce", required: false, type: .structure), AWSShapeMember(label: "sqs", required: false, type: .structure), - AWSShapeMember(label: "sns", required: false, type: .structure), + AWSShapeMember(label: "republish", required: false, type: .structure), AWSShapeMember(label: "cloudwatchMetric", required: false, type: .structure), AWSShapeMember(label: "cloudwatchAlarm", required: false, type: .structure), AWSShapeMember(label: "firehose", required: false, type: .structure), @@ -207,18 +209,22 @@ extension Iot { public let elasticsearch: ElasticsearchAction? /// Write to an Amazon S3 bucket. public let s3: S3Action? + /// Starts execution of a Step Functions state machine. + public let stepFunctions: StepFunctionsAction? + /// Sends message data to an AWS IoT Analytics channel. + public let iotAnalytics: IotAnalyticsAction? /// Invoke a Lambda function. public let lambda: LambdaAction? - /// Publish to another MQTT topic. - public let republish: RepublishAction? /// Write to a DynamoDB table. public let dynamoDB: DynamoDBAction? + /// Publish to an Amazon SNS topic. + public let sns: SnsAction? /// Send a message to a Salesforce IoT Cloud Input Stream. public let salesforce: SalesforceAction? /// Publish to an Amazon SQS queue. public let sqs: SqsAction? - /// Publish to an Amazon SNS topic. - public let sns: SnsAction? + /// Publish to another MQTT topic. + public let republish: RepublishAction? /// Capture a CloudWatch metric. public let cloudwatchMetric: CloudwatchMetricAction? /// Change the state of a CloudWatch alarm. @@ -230,15 +236,17 @@ extension Iot { /// Write data to an Amazon Kinesis stream. public let kinesis: KinesisAction? - public init(elasticsearch: ElasticsearchAction? = nil, s3: S3Action? = nil, lambda: LambdaAction? = nil, republish: RepublishAction? = nil, dynamoDB: DynamoDBAction? = nil, salesforce: SalesforceAction? = nil, sqs: SqsAction? = nil, sns: SnsAction? = nil, cloudwatchMetric: CloudwatchMetricAction? = nil, cloudwatchAlarm: CloudwatchAlarmAction? = nil, firehose: FirehoseAction? = nil, dynamoDBv2: DynamoDBv2Action? = nil, kinesis: KinesisAction? = nil) { + public init(elasticsearch: ElasticsearchAction? = nil, s3: S3Action? = nil, stepFunctions: StepFunctionsAction? = nil, iotAnalytics: IotAnalyticsAction? = nil, lambda: LambdaAction? = nil, dynamoDB: DynamoDBAction? = nil, sns: SnsAction? = nil, salesforce: SalesforceAction? = nil, sqs: SqsAction? = nil, republish: RepublishAction? = nil, cloudwatchMetric: CloudwatchMetricAction? = nil, cloudwatchAlarm: CloudwatchAlarmAction? = nil, firehose: FirehoseAction? = nil, dynamoDBv2: DynamoDBv2Action? = nil, kinesis: KinesisAction? = nil) { self.elasticsearch = elasticsearch self.s3 = s3 + self.stepFunctions = stepFunctions + self.iotAnalytics = iotAnalytics self.lambda = lambda - self.republish = republish self.dynamoDB = dynamoDB + self.sns = sns self.salesforce = salesforce self.sqs = sqs - self.sns = sns + self.republish = republish self.cloudwatchMetric = cloudwatchMetric self.cloudwatchAlarm = cloudwatchAlarm self.firehose = firehose @@ -249,12 +257,14 @@ extension Iot { private enum CodingKeys: String, CodingKey { case elasticsearch = "elasticsearch" case s3 = "s3" + case stepFunctions = "stepFunctions" + case iotAnalytics = "iotAnalytics" case lambda = "lambda" - case republish = "republish" case dynamoDB = "dynamoDB" + case sns = "sns" case salesforce = "salesforce" case sqs = "sqs" - case sns = "sns" + case republish = "republish" case cloudwatchMetric = "cloudwatchMetric" case cloudwatchAlarm = "cloudwatchAlarm" case firehose = "firehose" @@ -305,6 +315,22 @@ extension Iot { } } + public struct AuditCheckConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "enabled", required: false, type: .boolean) + ] + /// True if this audit check is enabled for this account. + public let enabled: Bool? + + public init(enabled: Bool? = nil) { + self.enabled = enabled + } + + private enum CodingKeys: String, CodingKey { + case enabled = "enabled" + } + } + public struct GetTopicRuleRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ruleName", location: .uri(locationName: "ruleName"), required: true, type: .string) @@ -342,6 +368,10 @@ extension Iot { } } + public struct DeleteAccountAuditConfigurationResponse: AWSShape { + + } + public struct ListThingsInThingGroupResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), @@ -420,6 +450,22 @@ extension Iot { } } + public struct DeleteRoleAliasRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "roleAlias", location: .uri(locationName: "roleAlias"), required: true, type: .string) + ] + /// The role alias to delete. + public let roleAlias: String + + public init(roleAlias: String) { + self.roleAlias = roleAlias + } + + private enum CodingKeys: String, CodingKey { + case roleAlias = "roleAlias" + } + } + public struct DetachThingPrincipalRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "thingName", location: .uri(locationName: "thingName"), required: true, type: .string), @@ -441,22 +487,6 @@ extension Iot { } } - public struct DeleteRoleAliasRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "roleAlias", location: .uri(locationName: "roleAlias"), required: true, type: .string) - ] - /// The role alias to delete. - public let roleAlias: String - - public init(roleAlias: String) { - self.roleAlias = roleAlias - } - - private enum CodingKeys: String, CodingKey { - case roleAlias = "roleAlias" - } - } - public struct DescribeJobExecutionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "executionNumber", location: .querystring(locationName: "executionNumber"), required: false, type: .long), @@ -509,6 +539,22 @@ extension Iot { } } + public struct DeleteAccountAuditConfigurationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "deleteScheduledAudits", location: .querystring(locationName: "deleteScheduledAudits"), required: false, type: .boolean) + ] + /// If true, all scheduled audits are deleted. + public let deleteScheduledAudits: Bool? + + public init(deleteScheduledAudits: Bool? = nil) { + self.deleteScheduledAudits = deleteScheduledAudits + } + + private enum CodingKeys: String, CodingKey { + case deleteScheduledAudits = "deleteScheduledAudits" + } + } + public struct CancelJobResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "description", required: false, type: .string), @@ -543,7 +589,7 @@ extension Iot { AWSShapeMember(label: "recursive", location: .querystring(locationName: "recursive"), required: false, type: .boolean), AWSShapeMember(label: "namePrefixFilter", location: .querystring(locationName: "namePrefixFilter"), required: false, type: .string) ] - /// The token used to get the next set of results, or null if there are no additional results. + /// The token to retrieve the next set of results. public let nextToken: String? /// A filter that limits the results to those with the specified parent group. public let parentGroup: String? @@ -604,7 +650,7 @@ extension Iot { public let attributeValue: String? /// The name of the thing type used to search for things. public let thingTypeName: String? - /// The token used to get the next set of results, or null if there are no additional results. + /// The token to retrieve the next set of results. public let nextToken: String? /// The maximum number of results to return in this operation. public let maxResults: Int32? @@ -644,34 +690,200 @@ extension Iot { } } + public struct AuditTaskMetadata: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "taskId", required: false, type: .string), + AWSShapeMember(label: "taskType", required: false, type: .enum), + AWSShapeMember(label: "taskStatus", required: false, type: .enum) + ] + /// The ID of this audit. + public let taskId: String? + /// The type of this audit: one of "ON_DEMAND_AUDIT_TASK" or "SCHEDULED_AUDIT_TASK". + public let taskType: AuditTaskType? + /// The status of this audit: one of "IN_PROGRESS", "COMPLETED", "FAILED" or "CANCELED". + public let taskStatus: AuditTaskStatus? + + public init(taskId: String? = nil, taskType: AuditTaskType? = nil, taskStatus: AuditTaskStatus? = nil) { + self.taskId = taskId + self.taskType = taskType + self.taskStatus = taskStatus + } + + private enum CodingKeys: String, CodingKey { + case taskId = "taskId" + case taskType = "taskType" + case taskStatus = "taskStatus" + } + } + + public struct TaskStatistics: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nonCompliantChecks", required: false, type: .integer), + AWSShapeMember(label: "failedChecks", required: false, type: .integer), + AWSShapeMember(label: "inProgressChecks", required: false, type: .integer), + AWSShapeMember(label: "compliantChecks", required: false, type: .integer), + AWSShapeMember(label: "waitingForDataCollectionChecks", required: false, type: .integer), + AWSShapeMember(label: "totalChecks", required: false, type: .integer), + AWSShapeMember(label: "canceledChecks", required: false, type: .integer) + ] + /// The number of checks that found non-compliant resources. + public let nonCompliantChecks: Int32? + /// The number of checks + public let failedChecks: Int32? + /// The number of checks in progress. + public let inProgressChecks: Int32? + /// The number of checks that found compliant resources. + public let compliantChecks: Int32? + /// The number of checks waiting for data collection. + public let waitingForDataCollectionChecks: Int32? + /// The number of checks in this audit. + public let totalChecks: Int32? + /// The number of checks that did not run because the audit was canceled. + public let canceledChecks: Int32? + + public init(nonCompliantChecks: Int32? = nil, failedChecks: Int32? = nil, inProgressChecks: Int32? = nil, compliantChecks: Int32? = nil, waitingForDataCollectionChecks: Int32? = nil, totalChecks: Int32? = nil, canceledChecks: Int32? = nil) { + self.nonCompliantChecks = nonCompliantChecks + self.failedChecks = failedChecks + self.inProgressChecks = inProgressChecks + self.compliantChecks = compliantChecks + self.waitingForDataCollectionChecks = waitingForDataCollectionChecks + self.totalChecks = totalChecks + self.canceledChecks = canceledChecks + } + + private enum CodingKeys: String, CodingKey { + case nonCompliantChecks = "nonCompliantChecks" + case failedChecks = "failedChecks" + case inProgressChecks = "inProgressChecks" + case compliantChecks = "compliantChecks" + case waitingForDataCollectionChecks = "waitingForDataCollectionChecks" + case totalChecks = "totalChecks" + case canceledChecks = "canceledChecks" + } + } + + public struct DetachSecurityProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "securityProfileName", location: .uri(locationName: "securityProfileName"), required: true, type: .string), + AWSShapeMember(label: "securityProfileTargetArn", location: .querystring(locationName: "securityProfileTargetArn"), required: true, type: .string) + ] + /// The security profile that is detached. + public let securityProfileName: String + /// The ARN of the thing group from which the security profile is detached. + public let securityProfileTargetArn: String + + public init(securityProfileName: String, securityProfileTargetArn: String) { + self.securityProfileName = securityProfileName + self.securityProfileTargetArn = securityProfileTargetArn + } + + private enum CodingKeys: String, CodingKey { + case securityProfileName = "securityProfileName" + case securityProfileTargetArn = "securityProfileTargetArn" + } + } + public struct ThingTypeDefinition: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "thingTypeMetadata", required: false, type: .structure), + AWSShapeMember(label: "thingTypeProperties", required: false, type: .structure), AWSShapeMember(label: "thingTypeName", required: false, type: .string), AWSShapeMember(label: "thingTypeArn", required: false, type: .string), - AWSShapeMember(label: "thingTypeProperties", required: false, type: .structure) + AWSShapeMember(label: "thingTypeMetadata", required: false, type: .structure) ] - /// 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. - public let thingTypeMetadata: ThingTypeMetadata? + /// The ThingTypeProperties for the thing type. + public let thingTypeProperties: ThingTypeProperties? /// The name of the thing type. public let thingTypeName: String? /// The thing type ARN. public let thingTypeArn: String? - /// The ThingTypeProperties for the thing type. - public let thingTypeProperties: ThingTypeProperties? + /// 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. + public let thingTypeMetadata: ThingTypeMetadata? - public init(thingTypeMetadata: ThingTypeMetadata? = nil, thingTypeName: String? = nil, thingTypeArn: String? = nil, thingTypeProperties: ThingTypeProperties? = nil) { - self.thingTypeMetadata = thingTypeMetadata + public init(thingTypeProperties: ThingTypeProperties? = nil, thingTypeName: String? = nil, thingTypeArn: String? = nil, thingTypeMetadata: ThingTypeMetadata? = nil) { + self.thingTypeProperties = thingTypeProperties self.thingTypeName = thingTypeName self.thingTypeArn = thingTypeArn - self.thingTypeProperties = thingTypeProperties + self.thingTypeMetadata = thingTypeMetadata } private enum CodingKeys: String, CodingKey { - case thingTypeMetadata = "thingTypeMetadata" + case thingTypeProperties = "thingTypeProperties" case thingTypeName = "thingTypeName" case thingTypeArn = "thingTypeArn" - case thingTypeProperties = "thingTypeProperties" + case thingTypeMetadata = "thingTypeMetadata" + } + } + + public struct UpdateScheduledAuditRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "targetCheckNames", required: false, type: .list), + AWSShapeMember(label: "dayOfWeek", required: false, type: .enum), + AWSShapeMember(label: "scheduledAuditName", location: .uri(locationName: "scheduledAuditName"), required: true, type: .string), + AWSShapeMember(label: "dayOfMonth", required: false, type: .string), + AWSShapeMember(label: "frequency", required: false, type: .enum) + ] + /// 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.) + public let targetCheckNames: [String]? + /// 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". + public let dayOfWeek: DayOfWeek? + /// The name of the scheduled audit. (Max. 128 chars) + public let scheduledAuditName: String + /// 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. + public let dayOfMonth: String? + /// 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. + public let frequency: AuditFrequency? + + public init(targetCheckNames: [String]? = nil, dayOfWeek: DayOfWeek? = nil, scheduledAuditName: String, dayOfMonth: String? = nil, frequency: AuditFrequency? = nil) { + self.targetCheckNames = targetCheckNames + self.dayOfWeek = dayOfWeek + self.scheduledAuditName = scheduledAuditName + self.dayOfMonth = dayOfMonth + self.frequency = frequency + } + + private enum CodingKeys: String, CodingKey { + case targetCheckNames = "targetCheckNames" + case dayOfWeek = "dayOfWeek" + case scheduledAuditName = "scheduledAuditName" + case dayOfMonth = "dayOfMonth" + case frequency = "frequency" + } + } + + public struct DescribeStreamRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "streamId", location: .uri(locationName: "streamId"), required: true, type: .string) + ] + /// The stream ID. + public let streamId: String + + public init(streamId: String) { + self.streamId = streamId + } + + private enum CodingKeys: String, CodingKey { + case streamId = "streamId" + } + } + + public struct CreateSecurityProfileResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "securityProfileName", required: false, type: .string), + AWSShapeMember(label: "securityProfileArn", required: false, type: .string) + ] + /// The name you gave to the security profile. + public let securityProfileName: String? + /// The ARN of the security profile. + public let securityProfileArn: String? + + public init(securityProfileName: String? = nil, securityProfileArn: String? = nil) { + self.securityProfileName = securityProfileName + self.securityProfileArn = securityProfileArn + } + + private enum CodingKeys: String, CodingKey { + case securityProfileName = "securityProfileName" + case securityProfileArn = "securityProfileArn" } } @@ -691,6 +903,32 @@ extension Iot { } } + public enum AuditNotificationType: String, CustomStringConvertible, Codable { + case sns = "SNS" + public var description: String { return self.rawValue } + } + + public struct SecurityProfileTargetMapping: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "target", required: false, type: .structure), + AWSShapeMember(label: "securityProfileIdentifier", required: false, type: .structure) + ] + /// Information about the target (thing group) associated with the security profile. + public let target: SecurityProfileTarget? + /// Information that identifies the security profile. + public let securityProfileIdentifier: SecurityProfileIdentifier? + + public init(target: SecurityProfileTarget? = nil, securityProfileIdentifier: SecurityProfileIdentifier? = nil) { + self.target = target + self.securityProfileIdentifier = securityProfileIdentifier + } + + private enum CodingKeys: String, CodingKey { + case target = "target" + case securityProfileIdentifier = "securityProfileIdentifier" + } + } + public struct CreateKeysAndCertificateRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "setAsActive", location: .querystring(locationName: "setAsActive"), required: false, type: .boolean) @@ -728,6 +966,64 @@ extension Iot { } } + public struct CustomCodeSigning: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "signature", required: false, type: .structure), + AWSShapeMember(label: "hashAlgorithm", required: false, type: .string), + AWSShapeMember(label: "certificateChain", required: false, type: .structure), + AWSShapeMember(label: "signatureAlgorithm", required: false, type: .string) + ] + /// The signature for the file. + public let signature: CodeSigningSignature? + /// The hash algorithm used to code sign the file. + public let hashAlgorithm: String? + /// The certificate chain. + public let certificateChain: CodeSigningCertificateChain? + /// The signature algorithm used to code sign the file. + public let signatureAlgorithm: String? + + public init(signature: CodeSigningSignature? = nil, hashAlgorithm: String? = nil, certificateChain: CodeSigningCertificateChain? = nil, signatureAlgorithm: String? = nil) { + self.signature = signature + self.hashAlgorithm = hashAlgorithm + self.certificateChain = certificateChain + self.signatureAlgorithm = signatureAlgorithm + } + + private enum CodingKeys: String, CodingKey { + case signature = "signature" + case hashAlgorithm = "hashAlgorithm" + case certificateChain = "certificateChain" + case signatureAlgorithm = "signatureAlgorithm" + } + } + + public enum AuditTaskType: String, CustomStringConvertible, Codable { + case onDemandAuditTask = "ON_DEMAND_AUDIT_TASK" + case scheduledAuditTask = "SCHEDULED_AUDIT_TASK" + public var description: String { return self.rawValue } + } + + public struct ListAuditFindingsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "findings", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// The findings (results) of the audit. + public let findings: [AuditFinding]? + /// A token that can be used to retrieve the next set of results, or null if there are no additional results. + public let nextToken: String? + + public init(findings: [AuditFinding]? = nil, nextToken: String? = nil) { + self.findings = findings + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case findings = "findings" + case nextToken = "nextToken" + } + } + public struct Denied: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "implicitDeny", required: false, type: .structure), @@ -770,6 +1066,14 @@ extension Iot { } } + public enum OTAUpdateStatus: String, CustomStringConvertible, Codable { + case createPending = "CREATE_PENDING" + case createInProgress = "CREATE_IN_PROGRESS" + case createComplete = "CREATE_COMPLETE" + case createFailed = "CREATE_FAILED" + public var description: String { return self.rawValue } + } + public struct GetJobDocumentResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "document", required: false, type: .string) @@ -795,7 +1099,6 @@ extension Iot { AWSShapeMember(label: "jobExecutionsRolloutConfig", required: false, type: .structure), AWSShapeMember(label: "presignedUrlConfig", required: false, type: .structure), AWSShapeMember(label: "description", required: false, type: .string), - AWSShapeMember(label: "documentParameters", required: false, type: .map), AWSShapeMember(label: "targets", required: true, type: .list), AWSShapeMember(label: "targetSelection", required: false, type: .enum), AWSShapeMember(label: "document", required: false, type: .string), @@ -808,8 +1111,6 @@ extension Iot { public let presignedUrlConfig: PresignedUrlConfig? /// A short text description of the job. public let description: String? - /// Parameters for the job document. - public let documentParameters: [String: String]? /// A list of things and thing groups to which the job should be sent. public let targets: [String] /// 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. @@ -821,11 +1122,10 @@ extension Iot { /// 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. public let jobId: String - public init(jobExecutionsRolloutConfig: JobExecutionsRolloutConfig? = nil, presignedUrlConfig: PresignedUrlConfig? = nil, description: String? = nil, documentParameters: [String: String]? = nil, targets: [String], targetSelection: TargetSelection? = nil, document: String? = nil, documentSource: String? = nil, jobId: String) { + public init(jobExecutionsRolloutConfig: JobExecutionsRolloutConfig? = nil, presignedUrlConfig: PresignedUrlConfig? = nil, description: String? = nil, targets: [String], targetSelection: TargetSelection? = nil, document: String? = nil, documentSource: String? = nil, jobId: String) { self.jobExecutionsRolloutConfig = jobExecutionsRolloutConfig self.presignedUrlConfig = presignedUrlConfig self.description = description - self.documentParameters = documentParameters self.targets = targets self.targetSelection = targetSelection self.document = document @@ -837,7 +1137,6 @@ extension Iot { case jobExecutionsRolloutConfig = "jobExecutionsRolloutConfig" case presignedUrlConfig = "presignedUrlConfig" case description = "description" - case documentParameters = "documentParameters" case targets = "targets" case targetSelection = "targetSelection" case document = "document" @@ -846,6 +1145,32 @@ extension Iot { } } + public struct BehaviorCriteria: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "durationSeconds", required: false, type: .integer), + AWSShapeMember(label: "value", required: false, type: .structure), + AWSShapeMember(label: "comparisonOperator", required: false, type: .enum) + ] + /// 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). + public let durationSeconds: Int32? + /// The value to be compared with the metric. + public let value: MetricValue? + /// The operator that relates the thing measured (metric) to the criteria (value). + public let comparisonOperator: ComparisonOperator? + + public init(durationSeconds: Int32? = nil, value: MetricValue? = nil, comparisonOperator: ComparisonOperator? = nil) { + self.durationSeconds = durationSeconds + self.value = value + self.comparisonOperator = comparisonOperator + } + + private enum CodingKeys: String, CodingKey { + case durationSeconds = "durationSeconds" + case value = "value" + case comparisonOperator = "comparisonOperator" + } + } + public struct AuthResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "allowed", required: false, type: .structure), @@ -888,6 +1213,27 @@ extension Iot { public var description: String { return self.rawValue } } + public struct CertificateValidity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "notBefore", required: false, type: .timestamp), + AWSShapeMember(label: "notAfter", required: false, type: .timestamp) + ] + /// The certificate is not valid before this date. + public let notBefore: TimeStamp? + /// The certificate is not valid after this date. + public let notAfter: TimeStamp? + + public init(notBefore: TimeStamp? = nil, notAfter: TimeStamp? = nil) { + self.notBefore = notBefore + self.notAfter = notAfter + } + + private enum CodingKeys: String, CodingKey { + case notBefore = "notBefore" + case notAfter = "notAfter" + } + } + public struct SqsAction: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "useBase64", required: false, type: .boolean), @@ -930,10 +1276,32 @@ extension Iot { } } + public struct JobExecutionSummaryForThing: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "jobExecutionSummary", required: false, type: .structure), + AWSShapeMember(label: "jobId", required: false, type: .string) + ] + /// Contains a subset of information about a job execution. + public let jobExecutionSummary: JobExecutionSummary? + /// The unique identifier you assigned to this job when it was created. + public let jobId: String? + + public init(jobExecutionSummary: JobExecutionSummary? = nil, jobId: String? = nil) { + self.jobExecutionSummary = jobExecutionSummary + self.jobId = jobId + } + + private enum CodingKeys: String, CodingKey { + case jobExecutionSummary = "jobExecutionSummary" + case jobId = "jobId" + } + } + public enum JobStatus: String, CustomStringConvertible, Codable { case inProgress = "IN_PROGRESS" case canceled = "CANCELED" case completed = "COMPLETED" + case deletionInProgress = "DELETION_IN_PROGRESS" public var description: String { return self.rawValue } } @@ -968,34 +1336,13 @@ extension Iot { } } - public struct JobExecutionSummaryForThing: AWSShape { + public struct ElasticsearchAction: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "jobExecutionSummary", required: false, type: .structure), - AWSShapeMember(label: "jobId", required: false, type: .string) - ] - /// Contains a subset of information about a job execution. - public let jobExecutionSummary: JobExecutionSummary? - /// The unique identifier you assigned to this job when it was created. - public let jobId: String? - - public init(jobExecutionSummary: JobExecutionSummary? = nil, jobId: String? = nil) { - self.jobExecutionSummary = jobExecutionSummary - self.jobId = jobId - } - - private enum CodingKeys: String, CodingKey { - case jobExecutionSummary = "jobExecutionSummary" - case jobId = "jobId" - } - } - - public struct ElasticsearchAction: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "roleArn", required: true, type: .string), - AWSShapeMember(label: "endpoint", required: true, type: .string), - AWSShapeMember(label: "id", required: true, type: .string), - AWSShapeMember(label: "type", required: true, type: .string), - AWSShapeMember(label: "index", required: true, type: .string) + AWSShapeMember(label: "roleArn", required: true, type: .string), + AWSShapeMember(label: "endpoint", required: true, type: .string), + AWSShapeMember(label: "id", required: true, type: .string), + AWSShapeMember(label: "type", required: true, type: .string), + AWSShapeMember(label: "index", required: true, type: .string) ] /// The IAM role ARN that has access to Elasticsearch. public let roleArn: String @@ -1046,12 +1393,18 @@ extension Iot { } } + public enum MessageFormat: String, CustomStringConvertible, Codable { + case raw = "RAW" + case json = "JSON" + public var description: String { return self.rawValue } + } + public struct UpdateCertificateRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "certificateId", location: .uri(locationName: "certificateId"), required: true, type: .string), AWSShapeMember(label: "newStatus", location: .querystring(locationName: "newStatus"), required: true, type: .enum) ] - /// The ID of the certificate. + /// The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.) public let certificateId: String /// 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. public let newStatus: CertificateStatus @@ -1067,10 +1420,152 @@ extension Iot { } } - public enum MessageFormat: String, CustomStringConvertible, Codable { - case raw = "RAW" - case json = "JSON" - public var description: String { return self.rawValue } + public struct ListAuditTasksRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "endTime", location: .querystring(locationName: "endTime"), required: true, type: .timestamp), + AWSShapeMember(label: "startTime", location: .querystring(locationName: "startTime"), required: true, type: .timestamp), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), + AWSShapeMember(label: "taskType", location: .querystring(locationName: "taskType"), required: false, type: .enum), + AWSShapeMember(label: "taskStatus", location: .querystring(locationName: "taskStatus"), required: false, type: .enum) + ] + /// The token for the next set of results. + public let nextToken: String? + /// The end of the time period. + public let endTime: TimeStamp + /// 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". + public let startTime: TimeStamp + /// The maximum number of results to return at one time. The default is 25. + public let maxResults: Int32? + /// A filter to limit the output to the specified type of audit: can be one of "ON_DEMAND_AUDIT_TASK" or "SCHEDULED__AUDIT_TASK". + public let taskType: AuditTaskType? + /// A filter to limit the output to audits with the specified completion status: can be one of "IN_PROGRESS", "COMPLETED", "FAILED" or "CANCELED". + public let taskStatus: AuditTaskStatus? + + public init(nextToken: String? = nil, endTime: TimeStamp, startTime: TimeStamp, maxResults: Int32? = nil, taskType: AuditTaskType? = nil, taskStatus: AuditTaskStatus? = nil) { + self.nextToken = nextToken + self.endTime = endTime + self.startTime = startTime + self.maxResults = maxResults + self.taskType = taskType + self.taskStatus = taskStatus + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case endTime = "endTime" + case startTime = "startTime" + case maxResults = "maxResults" + case taskType = "taskType" + case taskStatus = "taskStatus" + } + } + + public struct OTAUpdateInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "otaUpdateFiles", required: false, type: .list), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "otaUpdateStatus", required: false, type: .enum), + AWSShapeMember(label: "otaUpdateArn", required: false, type: .string), + AWSShapeMember(label: "errorInfo", required: false, type: .structure), + AWSShapeMember(label: "targetSelection", required: false, type: .enum), + AWSShapeMember(label: "lastModifiedDate", required: false, type: .timestamp), + AWSShapeMember(label: "awsIotJobArn", required: false, type: .string), + AWSShapeMember(label: "creationDate", required: false, type: .timestamp), + AWSShapeMember(label: "awsIotJobId", required: false, type: .string), + AWSShapeMember(label: "otaUpdateId", required: false, type: .string), + AWSShapeMember(label: "additionalParameters", required: false, type: .map), + AWSShapeMember(label: "targets", required: false, type: .list) + ] + /// A list of files associated with the OTA update. + public let otaUpdateFiles: [OTAUpdateFile]? + /// A description of the OTA update. + public let description: String? + /// The status of the OTA update. + public let otaUpdateStatus: OTAUpdateStatus? + /// The OTA update ARN. + public let otaUpdateArn: String? + /// Error information associated with the OTA update. + public let errorInfo: ErrorInfo? + /// 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. + public let targetSelection: TargetSelection? + /// The date when the OTA update was last updated. + public let lastModifiedDate: TimeStamp? + /// The AWS IoT job ARN associated with the OTA update. + public let awsIotJobArn: String? + /// The date when the OTA update was created. + public let creationDate: TimeStamp? + /// The AWS IoT job ID associated with the OTA update. + public let awsIotJobId: String? + /// The OTA update ID. + public let otaUpdateId: String? + /// A collection of name/value pairs + public let additionalParameters: [String: String]? + /// The targets of the OTA update. + public let targets: [String]? + + public init(otaUpdateFiles: [OTAUpdateFile]? = nil, description: String? = nil, otaUpdateStatus: OTAUpdateStatus? = nil, otaUpdateArn: String? = nil, errorInfo: ErrorInfo? = nil, targetSelection: TargetSelection? = nil, lastModifiedDate: TimeStamp? = nil, awsIotJobArn: String? = nil, creationDate: TimeStamp? = nil, awsIotJobId: String? = nil, otaUpdateId: String? = nil, additionalParameters: [String: String]? = nil, targets: [String]? = nil) { + self.otaUpdateFiles = otaUpdateFiles + self.description = description + self.otaUpdateStatus = otaUpdateStatus + self.otaUpdateArn = otaUpdateArn + self.errorInfo = errorInfo + self.targetSelection = targetSelection + self.lastModifiedDate = lastModifiedDate + self.awsIotJobArn = awsIotJobArn + self.creationDate = creationDate + self.awsIotJobId = awsIotJobId + self.otaUpdateId = otaUpdateId + self.additionalParameters = additionalParameters + self.targets = targets + } + + private enum CodingKeys: String, CodingKey { + case otaUpdateFiles = "otaUpdateFiles" + case description = "description" + case otaUpdateStatus = "otaUpdateStatus" + case otaUpdateArn = "otaUpdateArn" + case errorInfo = "errorInfo" + case targetSelection = "targetSelection" + case lastModifiedDate = "lastModifiedDate" + case awsIotJobArn = "awsIotJobArn" + case creationDate = "creationDate" + case awsIotJobId = "awsIotJobId" + case otaUpdateId = "otaUpdateId" + case additionalParameters = "additionalParameters" + case targets = "targets" + } + } + + public struct UpdateStreamResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "streamVersion", required: false, type: .integer), + AWSShapeMember(label: "streamId", required: false, type: .string), + AWSShapeMember(label: "streamArn", required: false, type: .string) + ] + /// A description of the stream. + public let description: String? + /// The stream version. + public let streamVersion: Int32? + /// The stream ID. + public let streamId: String? + /// The stream ARN. + public let streamArn: String? + + public init(description: String? = nil, streamVersion: Int32? = nil, streamId: String? = nil, streamArn: String? = nil) { + self.description = description + self.streamVersion = streamVersion + self.streamId = streamId + self.streamArn = streamArn + } + + private enum CodingKeys: String, CodingKey { + case description = "description" + case streamVersion = "streamVersion" + case streamId = "streamId" + case streamArn = "streamArn" + } } public struct JobExecution: AWSShape { @@ -1079,9 +1574,11 @@ extension Iot { AWSShapeMember(label: "statusDetails", required: false, type: .structure), AWSShapeMember(label: "startedAt", required: false, type: .timestamp), AWSShapeMember(label: "lastUpdatedAt", required: false, type: .timestamp), - AWSShapeMember(label: "thingArn", required: false, type: .string), + AWSShapeMember(label: "versionNumber", required: false, type: .long), AWSShapeMember(label: "queuedAt", required: false, type: .timestamp), + AWSShapeMember(label: "thingArn", required: false, type: .string), AWSShapeMember(label: "executionNumber", required: false, type: .long), + AWSShapeMember(label: "forceCanceled", required: false, type: .boolean), AWSShapeMember(label: "jobId", required: false, type: .string) ] /// The status of the job execution (IN_PROGRESS, QUEUED, FAILED, SUCCESS, CANCELED, or REJECTED). @@ -1092,23 +1589,29 @@ extension Iot { public let startedAt: TimeStamp? /// The time, in milliseconds since the epoch, when the job execution was last updated. public let lastUpdatedAt: TimeStamp? - /// The ARN of the thing on which the job execution is running. - public let thingArn: String? + /// The version of the job execution. Job execution versions are incremented each time they are updated by a device. + public let versionNumber: Int64? /// The time, in milliseconds since the epoch, when the job execution was queued. public let queuedAt: TimeStamp? + /// The ARN of the thing on which the job execution is running. + public let thingArn: String? /// 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. public let executionNumber: Int64? + /// Will be true if the job execution was canceled with the optional force parameter set to true. + public let forceCanceled: Bool? /// The unique identifier you assigned to the job when it was created. public let jobId: String? - public init(status: JobExecutionStatus? = nil, statusDetails: JobExecutionStatusDetails? = nil, startedAt: TimeStamp? = nil, lastUpdatedAt: TimeStamp? = nil, thingArn: String? = nil, queuedAt: TimeStamp? = nil, executionNumber: Int64? = nil, jobId: String? = nil) { + public init(status: JobExecutionStatus? = nil, statusDetails: JobExecutionStatusDetails? = nil, startedAt: TimeStamp? = nil, lastUpdatedAt: TimeStamp? = nil, versionNumber: Int64? = nil, queuedAt: TimeStamp? = nil, thingArn: String? = nil, executionNumber: Int64? = nil, forceCanceled: Bool? = nil, jobId: String? = nil) { self.status = status self.statusDetails = statusDetails self.startedAt = startedAt self.lastUpdatedAt = lastUpdatedAt - self.thingArn = thingArn + self.versionNumber = versionNumber self.queuedAt = queuedAt + self.thingArn = thingArn self.executionNumber = executionNumber + self.forceCanceled = forceCanceled self.jobId = jobId } @@ -1117,13 +1620,51 @@ extension Iot { case statusDetails = "statusDetails" case startedAt = "startedAt" case lastUpdatedAt = "lastUpdatedAt" - case thingArn = "thingArn" + case versionNumber = "versionNumber" case queuedAt = "queuedAt" + case thingArn = "thingArn" case executionNumber = "executionNumber" + case forceCanceled = "forceCanceled" case jobId = "jobId" } } + public struct ScheduledAuditMetadata: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "scheduledAuditName", required: false, type: .string), + AWSShapeMember(label: "dayOfWeek", required: false, type: .enum), + AWSShapeMember(label: "scheduledAuditArn", required: false, type: .string), + AWSShapeMember(label: "dayOfMonth", required: false, type: .string), + AWSShapeMember(label: "frequency", required: false, type: .enum) + ] + /// The name of the scheduled audit. + public let scheduledAuditName: String? + /// The day of the week on which the scheduled audit is run (if the frequency is "WEEKLY" or "BIWEEKLY"). + public let dayOfWeek: DayOfWeek? + /// The ARN of the scheduled audit. + public let scheduledAuditArn: String? + /// 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. + public let dayOfMonth: String? + /// How often the scheduled audit takes place. + public let frequency: AuditFrequency? + + public init(scheduledAuditName: String? = nil, dayOfWeek: DayOfWeek? = nil, scheduledAuditArn: String? = nil, dayOfMonth: String? = nil, frequency: AuditFrequency? = nil) { + self.scheduledAuditName = scheduledAuditName + self.dayOfWeek = dayOfWeek + self.scheduledAuditArn = scheduledAuditArn + self.dayOfMonth = dayOfMonth + self.frequency = frequency + } + + private enum CodingKeys: String, CodingKey { + case scheduledAuditName = "scheduledAuditName" + case dayOfWeek = "dayOfWeek" + case scheduledAuditArn = "scheduledAuditArn" + case dayOfMonth = "dayOfMonth" + case frequency = "frequency" + } + } + public struct TopicRuleListItem: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ruleDisabled", required: false, type: .boolean), @@ -1265,6 +1806,22 @@ extension Iot { } } + public struct DeleteStreamRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "streamId", location: .uri(locationName: "streamId"), required: true, type: .string) + ] + /// The stream ID. + public let streamId: String + + public init(streamId: String) { + self.streamId = streamId + } + + private enum CodingKeys: String, CodingKey { + case streamId = "streamId" + } + } + public struct LogTargetConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "logTarget", required: false, type: .structure), @@ -1312,9 +1869,9 @@ extension Iot { AWSShapeMember(label: "templateBody", required: true, type: .string), AWSShapeMember(label: "parameters", required: false, type: .map) ] - /// The provisioning template. + /// The provisioning template. See Programmatic Provisioning for more information. public let templateBody: String - /// The parameters for provisioning a thing. + /// The parameters for provisioning a thing. See Programmatic Provisioning for more information. public let parameters: [String: String]? public init(templateBody: String, parameters: [String: String]? = nil) { @@ -1328,10 +1885,22 @@ extension Iot { } } + public struct DeleteSecurityProfileResponse: AWSShape { + + } + public struct DeleteThingTypeResponse: AWSShape { } + public struct DeleteRegistrationCodeRequest: AWSShape { + + } + + public struct GetLoggingOptionsRequest: AWSShape { + + } + public struct ListJobsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), @@ -1353,14 +1922,6 @@ extension Iot { } } - public struct DeleteRegistrationCodeRequest: AWSShape { - - } - - public struct GetLoggingOptionsRequest: AWSShape { - - } - public struct AddThingToThingGroupRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "thingName", required: false, type: .string), @@ -1392,6 +1953,21 @@ extension Iot { } } + public enum EventType: String, CustomStringConvertible, Codable { + case thing = "THING" + case thingGroup = "THING_GROUP" + case thingType = "THING_TYPE" + case thingGroupMembership = "THING_GROUP_MEMBERSHIP" + case thingGroupHierarchy = "THING_GROUP_HIERARCHY" + case thingTypeAssociation = "THING_TYPE_ASSOCIATION" + case job = "JOB" + case jobExecution = "JOB_EXECUTION" + case policy = "POLICY" + case certificate = "CERTIFICATE" + case caCertificate = "CA_CERTIFICATE" + public var description: String { return self.rawValue } + } + public struct LambdaAction: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "functionArn", required: true, type: .string) @@ -1408,15 +1984,14 @@ extension Iot { } } - public enum EventType: String, CustomStringConvertible, Codable { - case thing = "THING" - case thingGroup = "THING_GROUP" - case thingType = "THING_TYPE" - case thingGroupMembership = "THING_GROUP_MEMBERSHIP" - case thingGroupHierarchy = "THING_GROUP_HIERARCHY" - case thingTypeAssociation = "THING_TYPE_ASSOCIATION" - case job = "JOB" - case jobExecution = "JOB_EXECUTION" + public enum DayOfWeek: String, CustomStringConvertible, Codable { + case sun = "SUN" + case mon = "MON" + case tue = "TUE" + case wed = "WED" + case thu = "THU" + case fri = "FRI" + case sat = "SAT" public var description: String { return self.rawValue } } @@ -1457,6 +2032,77 @@ extension Iot { } } + public struct AttachSecurityProfileResponse: AWSShape { + + } + + public struct CreateScheduledAuditRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "targetCheckNames", required: true, type: .list), + AWSShapeMember(label: "dayOfWeek", required: false, type: .enum), + AWSShapeMember(label: "scheduledAuditName", location: .uri(locationName: "scheduledAuditName"), required: true, type: .string), + AWSShapeMember(label: "dayOfMonth", required: false, type: .string), + AWSShapeMember(label: "frequency", required: true, type: .enum) + ] + /// 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.) + public let targetCheckNames: [String] + /// 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". + public let dayOfWeek: DayOfWeek? + /// The name you want to give to the scheduled audit. (Max. 128 chars) + public let scheduledAuditName: String + /// 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. + public let dayOfMonth: String? + /// 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. + public let frequency: AuditFrequency + + public init(targetCheckNames: [String], dayOfWeek: DayOfWeek? = nil, scheduledAuditName: String, dayOfMonth: String? = nil, frequency: AuditFrequency) { + self.targetCheckNames = targetCheckNames + self.dayOfWeek = dayOfWeek + self.scheduledAuditName = scheduledAuditName + self.dayOfMonth = dayOfMonth + self.frequency = frequency + } + + private enum CodingKeys: String, CodingKey { + case targetCheckNames = "targetCheckNames" + case dayOfWeek = "dayOfWeek" + case scheduledAuditName = "scheduledAuditName" + case dayOfMonth = "dayOfMonth" + case frequency = "frequency" + } + } + + public struct CreateSecurityProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "alertTargets", required: false, type: .map), + AWSShapeMember(label: "securityProfileName", location: .uri(locationName: "securityProfileName"), required: true, type: .string), + AWSShapeMember(label: "behaviors", required: true, type: .list), + AWSShapeMember(label: "securityProfileDescription", required: false, type: .string) + ] + /// 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. + public let alertTargets: [AlertTargetType: AlertTarget]? + /// The name you are giving to the security profile. + public let securityProfileName: String + /// Specifies the behaviors that, when violated by a device (thing), cause an alert. + public let behaviors: [Behavior] + /// A description of the security profile. + public let securityProfileDescription: String? + + public init(alertTargets: [AlertTargetType: AlertTarget]? = nil, securityProfileName: String, behaviors: [Behavior], securityProfileDescription: String? = nil) { + self.alertTargets = alertTargets + self.securityProfileName = securityProfileName + self.behaviors = behaviors + self.securityProfileDescription = securityProfileDescription + } + + private enum CodingKeys: String, CodingKey { + case alertTargets = "alertTargets" + case securityProfileName = "securityProfileName" + case behaviors = "behaviors" + case securityProfileDescription = "securityProfileDescription" + } + } + public struct ListAuthorizersResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "authorizers", required: false, type: .list), @@ -1499,6 +2145,22 @@ extension Iot { } } + public struct DescribeScheduledAuditRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "scheduledAuditName", location: .uri(locationName: "scheduledAuditName"), required: true, type: .string) + ] + /// The name of the scheduled audit whose information you want to get. + public let scheduledAuditName: String + + public init(scheduledAuditName: String) { + self.scheduledAuditName = scheduledAuditName + } + + private enum CodingKeys: String, CodingKey { + case scheduledAuditName = "scheduledAuditName" + } + } + public struct DescribeEventConfigurationsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "eventConfigurations", required: false, type: .map), @@ -1580,17 +2242,21 @@ extension Iot { } } + public struct DeleteOTAUpdateResponse: AWSShape { + + } + public struct SetV2LoggingOptionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "roleArn", required: false, type: .string), AWSShapeMember(label: "defaultLogLevel", required: false, type: .enum), AWSShapeMember(label: "disableAllLogs", required: false, type: .boolean) ] - /// The role ARN that allows IoT to write to Cloudwatch logs. + /// The ARN of the role that allows IoT to write to Cloudwatch logs. public let roleArn: String? /// The default logging level. public let defaultLogLevel: LogLevel? - /// Set to true to disable all logs, otherwise set to false. + /// If true all logs are disabled. The default is false. public let disableAllLogs: Bool? public init(roleArn: String? = nil, defaultLogLevel: LogLevel? = nil, disableAllLogs: Bool? = nil) { @@ -1610,7 +2276,7 @@ extension Iot { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "certificateId", location: .uri(locationName: "caCertificateId"), required: true, type: .string) ] - /// The ID of the certificate to delete. + /// The ID of the certificate to delete. (The last part of the certificate ARN contains the certificate ID.) public let certificateId: String public init(certificateId: String) { @@ -1638,6 +2304,55 @@ extension Iot { } } + public struct DescribeAuditTaskResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "taskStatistics", required: false, type: .structure), + AWSShapeMember(label: "taskStartTime", required: false, type: .timestamp), + AWSShapeMember(label: "scheduledAuditName", required: false, type: .string), + AWSShapeMember(label: "taskStatus", required: false, type: .enum), + AWSShapeMember(label: "auditDetails", required: false, type: .map), + AWSShapeMember(label: "taskType", required: false, type: .enum) + ] + /// Statistical information about the audit. + public let taskStatistics: TaskStatistics? + /// The time the audit started. + public let taskStartTime: TimeStamp? + /// The name of the scheduled audit (only if the audit was a scheduled audit). + public let scheduledAuditName: String? + /// The status of the audit: one of "IN_PROGRESS", "COMPLETED", "FAILED", or "CANCELED". + public let taskStatus: AuditTaskStatus? + /// Detailed information about each check performed during this audit. + public let auditDetails: [String: AuditCheckDetails]? + /// The type of audit: "ON_DEMAND_AUDIT_TASK" or "SCHEDULED_AUDIT_TASK". + public let taskType: AuditTaskType? + + public init(taskStatistics: TaskStatistics? = nil, taskStartTime: TimeStamp? = nil, scheduledAuditName: String? = nil, taskStatus: AuditTaskStatus? = nil, auditDetails: [String: AuditCheckDetails]? = nil, taskType: AuditTaskType? = nil) { + self.taskStatistics = taskStatistics + self.taskStartTime = taskStartTime + self.scheduledAuditName = scheduledAuditName + self.taskStatus = taskStatus + self.auditDetails = auditDetails + self.taskType = taskType + } + + private enum CodingKeys: String, CodingKey { + case taskStatistics = "taskStatistics" + case taskStartTime = "taskStartTime" + case scheduledAuditName = "scheduledAuditName" + case taskStatus = "taskStatus" + case auditDetails = "auditDetails" + case taskType = "taskType" + } + } + + public enum AuditFrequency: String, CustomStringConvertible, Codable { + case daily = "DAILY" + case weekly = "WEEKLY" + case biweekly = "BIWEEKLY" + case monthly = "MONTHLY" + public var description: String { return self.rawValue } + } + public struct JobProcessDetails: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "numberOfRejectedThings", required: false, type: .integer), @@ -1651,7 +2366,7 @@ extension Iot { ] /// The number of things that rejected the job. public let numberOfRejectedThings: Int32? - /// The devices on which the job is executing. + /// 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. public let processingTargets: [String]? /// The number of things that cancelled the job. public let numberOfCanceledThings: Int32? @@ -1689,6 +2404,62 @@ extension Iot { } } + public struct AuditFinding: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "reasonForNonCompliance", required: false, type: .string), + AWSShapeMember(label: "taskId", required: false, type: .string), + AWSShapeMember(label: "checkName", required: false, type: .string), + AWSShapeMember(label: "taskStartTime", required: false, type: .timestamp), + AWSShapeMember(label: "relatedResources", required: false, type: .list), + AWSShapeMember(label: "severity", required: false, type: .enum), + AWSShapeMember(label: "findingTime", required: false, type: .timestamp), + AWSShapeMember(label: "reasonForNonComplianceCode", required: false, type: .string), + AWSShapeMember(label: "nonCompliantResource", required: false, type: .structure) + ] + /// The reason the resource was non-compliant. + public let reasonForNonCompliance: String? + /// The ID of the audit that generated this result (finding) + public let taskId: String? + /// The audit check that generated this result. + public let checkName: String? + /// The time the audit started. + public let taskStartTime: TimeStamp? + /// The list of related resources. + public let relatedResources: [RelatedResource]? + /// The severity of the result (finding). + public let severity: AuditFindingSeverity? + /// The time the result (finding) was discovered. + public let findingTime: TimeStamp? + /// A code which indicates the reason that the resource was non-compliant. + public let reasonForNonComplianceCode: String? + /// The resource that was found to be non-compliant with the audit check. + public let nonCompliantResource: NonCompliantResource? + + public init(reasonForNonCompliance: String? = nil, taskId: String? = nil, checkName: String? = nil, taskStartTime: TimeStamp? = nil, relatedResources: [RelatedResource]? = nil, severity: AuditFindingSeverity? = nil, findingTime: TimeStamp? = nil, reasonForNonComplianceCode: String? = nil, nonCompliantResource: NonCompliantResource? = nil) { + self.reasonForNonCompliance = reasonForNonCompliance + self.taskId = taskId + self.checkName = checkName + self.taskStartTime = taskStartTime + self.relatedResources = relatedResources + self.severity = severity + self.findingTime = findingTime + self.reasonForNonComplianceCode = reasonForNonComplianceCode + self.nonCompliantResource = nonCompliantResource + } + + private enum CodingKeys: String, CodingKey { + case reasonForNonCompliance = "reasonForNonCompliance" + case taskId = "taskId" + case checkName = "checkName" + case taskStartTime = "taskStartTime" + case relatedResources = "relatedResources" + case severity = "severity" + case findingTime = "findingTime" + case reasonForNonComplianceCode = "reasonForNonComplianceCode" + case nonCompliantResource = "nonCompliantResource" + } + } + public struct PolicyVersion: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "createDate", required: false, type: .timestamp), @@ -1715,6 +2486,53 @@ extension Iot { } } + public struct IotAnalyticsAction: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "channelName", required: false, type: .string), + AWSShapeMember(label: "roleArn", required: false, type: .string), + AWSShapeMember(label: "channelArn", required: false, type: .string) + ] + /// The name of the IoT Analytics channel to which message data will be sent. + public let channelName: String? + /// The ARN of the role which has a policy that grants IoT Analytics permission to send message data via IoT Analytics (iotanalytics:BatchPutMessage). + public let roleArn: String? + /// (deprecated) The ARN of the IoT Analytics channel to which message data will be sent. + public let channelArn: String? + + public init(channelName: String? = nil, roleArn: String? = nil, channelArn: String? = nil) { + self.channelName = channelName + self.roleArn = roleArn + self.channelArn = channelArn + } + + private enum CodingKeys: String, CodingKey { + case channelName = "channelName" + case roleArn = "roleArn" + case channelArn = "channelArn" + } + } + + public struct ListViolationEventsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "violationEvents", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// 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. + public let violationEvents: [ViolationEvent]? + /// A token that can be used to retrieve the next set of results, or null if there are no additional results. + public let nextToken: String? + + public init(violationEvents: [ViolationEvent]? = nil, nextToken: String? = nil) { + self.violationEvents = violationEvents + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case violationEvents = "violationEvents" + case nextToken = "nextToken" + } + } + public struct AttachThingPrincipalRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "thingName", location: .uri(locationName: "thingName"), required: true, type: .string), @@ -1787,6 +2605,32 @@ extension Iot { } + public struct DescribeAccountAuditConfigurationResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "roleArn", required: false, type: .string), + AWSShapeMember(label: "auditCheckConfigurations", required: false, type: .map), + AWSShapeMember(label: "auditNotificationTargetConfigurations", required: false, type: .map) + ] + /// 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. + public let roleArn: String? + /// Which audit checks are enabled and disabled for this account. + public let auditCheckConfigurations: [String: AuditCheckConfiguration]? + /// Information about the targets to which audit notifications are sent for this account. + public let auditNotificationTargetConfigurations: [AuditNotificationType: AuditNotificationTarget]? + + public init(roleArn: String? = nil, auditCheckConfigurations: [String: AuditCheckConfiguration]? = nil, auditNotificationTargetConfigurations: [AuditNotificationType: AuditNotificationTarget]? = nil) { + self.roleArn = roleArn + self.auditCheckConfigurations = auditCheckConfigurations + self.auditNotificationTargetConfigurations = auditNotificationTargetConfigurations + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "roleArn" + case auditCheckConfigurations = "auditCheckConfigurations" + case auditNotificationTargetConfigurations = "auditNotificationTargetConfigurations" + } + } + public struct ListRoleAliasesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "marker", location: .querystring(locationName: "marker"), required: false, type: .string), @@ -1819,7 +2663,7 @@ extension Iot { AWSShapeMember(label: "roleArn", required: true, type: .string), AWSShapeMember(label: "targetArn", required: true, type: .string) ] - /// The message format of the message to publish. Optional. Accepted values are "JSON" and "RAW". The default value of the attribute is "RAW". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. To read more about SNS message formats, see http://docs.aws.amazon.com/sns/latest/dg/json-formats.html refer to their official documentation. + /// (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. public let messageFormat: MessageFormat? /// The ARN of the IAM role that grants access. public let roleArn: String @@ -1901,15 +2745,77 @@ extension Iot { } } - public struct SearchIndexResponse: AWSShape { + public struct OTAUpdateFile: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "things", required: false, type: .list) - ] - /// The token used to get the next set of results, or null if there are no additional results. - public let nextToken: String? - /// The things that match the search query. - public let things: [ThingDocument]? + AWSShapeMember(label: "fileSource", required: false, type: .structure), + AWSShapeMember(label: "fileVersion", required: false, type: .string), + AWSShapeMember(label: "attributes", required: false, type: .map), + AWSShapeMember(label: "codeSigning", required: false, type: .structure), + AWSShapeMember(label: "fileName", required: false, type: .string) + ] + /// The source of the file. + public let fileSource: Stream? + /// The file version. + public let fileVersion: String? + /// A list of name/attribute pairs. + public let attributes: [String: String]? + /// The code signing method of the file. + public let codeSigning: CodeSigning? + /// The name of the file. + public let fileName: String? + + public init(fileSource: Stream? = nil, fileVersion: String? = nil, attributes: [String: String]? = nil, codeSigning: CodeSigning? = nil, fileName: String? = nil) { + self.fileSource = fileSource + self.fileVersion = fileVersion + self.attributes = attributes + self.codeSigning = codeSigning + self.fileName = fileName + } + + private enum CodingKeys: String, CodingKey { + case fileSource = "fileSource" + case fileVersion = "fileVersion" + case attributes = "attributes" + case codeSigning = "codeSigning" + case fileName = "fileName" + } + } + + public struct MetricValue: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ports", required: false, type: .list), + AWSShapeMember(label: "count", required: false, type: .long), + AWSShapeMember(label: "cidrs", required: false, type: .list) + ] + /// If the comparisonOperator calls for a set of ports, use this to specify that set to be compared with the metric. + public let ports: [Int32]? + /// If the comparisonOperator calls for a numeric value, use this to specify that numeric value to be compared with the metric. + public let count: Int64? + /// If the comparisonOperator calls for a set of CIDRs, use this to specify that set to be compared with the metric. + public let cidrs: [String]? + + public init(ports: [Int32]? = nil, count: Int64? = nil, cidrs: [String]? = nil) { + self.ports = ports + self.count = count + self.cidrs = cidrs + } + + private enum CodingKeys: String, CodingKey { + case ports = "ports" + case count = "count" + case cidrs = "cidrs" + } + } + + public struct SearchIndexResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "things", required: false, type: .list) + ] + /// The token used to get the next set of results, or null if there are no additional results. + public let nextToken: String? + /// The things that match the search query. + public let things: [ThingDocument]? public init(nextToken: String? = nil, things: [ThingDocument]? = nil) { self.nextToken = nextToken @@ -1971,54 +2877,63 @@ extension Iot { public struct GetPolicyVersionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "policyDocument", required: false, type: .string), AWSShapeMember(label: "policyVersionId", required: false, type: .string), - AWSShapeMember(label: "policyName", required: false, type: .string), + AWSShapeMember(label: "creationDate", required: false, type: .timestamp), AWSShapeMember(label: "isDefaultVersion", required: false, type: .boolean), - AWSShapeMember(label: "policyArn", required: false, type: .string) + AWSShapeMember(label: "generationId", required: false, type: .string), + AWSShapeMember(label: "policyArn", required: false, type: .string), + AWSShapeMember(label: "policyName", required: false, type: .string), + AWSShapeMember(label: "lastModifiedDate", required: false, type: .timestamp), + AWSShapeMember(label: "policyDocument", required: false, type: .string) ] - /// The JSON document that describes the policy. - public let policyDocument: String? /// The policy version ID. public let policyVersionId: String? - /// The policy name. - public let policyName: String? + /// The date the policy version was created. + public let creationDate: TimeStamp? /// Specifies whether the policy version is the default. public let isDefaultVersion: Bool? + /// The generation ID of the policy version. + public let generationId: String? /// The policy ARN. public let policyArn: String? + /// The policy name. + public let policyName: String? + /// The date the policy version was last modified. + public let lastModifiedDate: TimeStamp? + /// The JSON document that describes the policy. + public let policyDocument: String? - public init(policyDocument: String? = nil, policyVersionId: String? = nil, policyName: String? = nil, isDefaultVersion: Bool? = nil, policyArn: String? = nil) { - self.policyDocument = policyDocument + public init(policyVersionId: String? = nil, creationDate: TimeStamp? = nil, isDefaultVersion: Bool? = nil, generationId: String? = nil, policyArn: String? = nil, policyName: String? = nil, lastModifiedDate: TimeStamp? = nil, policyDocument: String? = nil) { self.policyVersionId = policyVersionId - self.policyName = policyName + self.creationDate = creationDate self.isDefaultVersion = isDefaultVersion + self.generationId = generationId self.policyArn = policyArn + self.policyName = policyName + self.lastModifiedDate = lastModifiedDate + self.policyDocument = policyDocument } private enum CodingKeys: String, CodingKey { - case policyDocument = "policyDocument" case policyVersionId = "policyVersionId" - case policyName = "policyName" + case creationDate = "creationDate" case isDefaultVersion = "isDefaultVersion" + case generationId = "generationId" case policyArn = "policyArn" + case policyName = "policyName" + case lastModifiedDate = "lastModifiedDate" + case policyDocument = "policyDocument" } } - public struct StopThingRegistrationTaskRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "taskId", location: .uri(locationName: "taskId"), required: true, type: .string) - ] - /// The bulk thing provisioning task ID. - public let taskId: String - - public init(taskId: String) { - self.taskId = taskId - } - - private enum CodingKeys: String, CodingKey { - case taskId = "taskId" - } + public enum ResourceType: String, CustomStringConvertible, Codable { + case deviceCertificate = "DEVICE_CERTIFICATE" + case caCertificate = "CA_CERTIFICATE" + case iotPolicy = "IOT_POLICY" + case cognitoIdentityPool = "COGNITO_IDENTITY_POOL" + case clientId = "CLIENT_ID" + case accountSettings = "ACCOUNT_SETTINGS" + public var description: String { return self.rawValue } } public struct ListThingTypesRequest: AWSShape { @@ -2029,7 +2944,7 @@ extension Iot { ] /// The name of the thing type. public let thingTypeName: String? - /// The token for the next set of results, or null if there are no additional results. + /// The token to retrieve the next set of results. public let nextToken: String? /// The maximum number of results to return in this operation. public let maxResults: Int32? @@ -2073,6 +2988,13 @@ extension Iot { } } + public enum IndexStatus: String, CustomStringConvertible, Codable { + case active = "ACTIVE" + case building = "BUILDING" + case rebuilding = "REBUILDING" + public var description: String { return self.rawValue } + } + public struct TestAuthorizationResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "authResults", required: false, type: .list) @@ -2089,13 +3011,6 @@ extension Iot { } } - public enum IndexStatus: String, CustomStringConvertible, Codable { - case active = "ACTIVE" - case building = "BUILDING" - case rebuilding = "REBUILDING" - public var description: String { return self.rawValue } - } - public struct DeleteAuthorizerResponse: AWSShape { } @@ -2142,6 +3057,22 @@ extension Iot { } } + public struct StopThingRegistrationTaskRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "taskId", location: .uri(locationName: "taskId"), required: true, type: .string) + ] + /// The bulk thing provisioning task ID. + public let taskId: String + + public init(taskId: String) { + self.taskId = taskId + } + + private enum CodingKeys: String, CodingKey { + case taskId = "taskId" + } + } + public struct ListJobsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "status", location: .querystring(locationName: "status"), required: false, type: .enum), @@ -2245,6 +3176,22 @@ extension Iot { } } + public struct DeleteScheduledAuditRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "scheduledAuditName", location: .uri(locationName: "scheduledAuditName"), required: true, type: .string) + ] + /// The name of the scheduled audit you want to delete. + public let scheduledAuditName: String + + public init(scheduledAuditName: String) { + self.scheduledAuditName = scheduledAuditName + } + + private enum CodingKeys: String, CodingKey { + case scheduledAuditName = "scheduledAuditName" + } + } + public struct CreateAuthorizerRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "status", required: false, type: .enum), @@ -2281,6 +3228,43 @@ extension Iot { } } + public struct AcceptCertificateTransferRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "certificateId", location: .uri(locationName: "certificateId"), required: true, type: .string), + AWSShapeMember(label: "setAsActive", location: .querystring(locationName: "setAsActive"), required: false, type: .boolean) + ] + /// The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.) + public let certificateId: String + /// Specifies whether the certificate is active. + public let setAsActive: Bool? + + public init(certificateId: String, setAsActive: Bool? = nil) { + self.certificateId = certificateId + self.setAsActive = setAsActive + } + + private enum CodingKeys: String, CodingKey { + case certificateId = "certificateId" + case setAsActive = "setAsActive" + } + } + + public struct GetOTAUpdateResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "otaUpdateInfo", required: false, type: .structure) + ] + /// The OTA update info. + public let otaUpdateInfo: OTAUpdateInfo? + + public init(otaUpdateInfo: OTAUpdateInfo? = nil) { + self.otaUpdateInfo = otaUpdateInfo + } + + private enum CodingKeys: String, CodingKey { + case otaUpdateInfo = "otaUpdateInfo" + } + } + public struct AuthInfo: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "resources", required: false, type: .list), @@ -2302,27 +3286,6 @@ extension Iot { } } - public struct AcceptCertificateTransferRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "certificateId", location: .uri(locationName: "certificateId"), required: true, type: .string), - AWSShapeMember(label: "setAsActive", location: .querystring(locationName: "setAsActive"), required: false, type: .boolean) - ] - /// The ID of the certificate. - public let certificateId: String - /// Specifies whether the certificate is active. - public let setAsActive: Bool? - - public init(certificateId: String, setAsActive: Bool? = nil) { - self.certificateId = certificateId - self.setAsActive = setAsActive - } - - private enum CodingKeys: String, CodingKey { - case certificateId = "certificateId" - case setAsActive = "setAsActive" - } - } - public struct SearchIndexRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), @@ -2359,19 +3322,49 @@ extension Iot { } } - public struct SetDefaultAuthorizerRequest: AWSShape { + public struct ViolationEvent: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "authorizerName", required: true, type: .string) - ] - /// The authorizer name. - public let authorizerName: String - - public init(authorizerName: String) { - self.authorizerName = authorizerName + AWSShapeMember(label: "thingName", required: false, type: .string), + AWSShapeMember(label: "violationEventTime", required: false, type: .timestamp), + AWSShapeMember(label: "violationEventType", required: false, type: .enum), + AWSShapeMember(label: "metricValue", required: false, type: .structure), + AWSShapeMember(label: "violationId", required: false, type: .string), + AWSShapeMember(label: "behavior", required: false, type: .structure), + AWSShapeMember(label: "securityProfileName", required: false, type: .string) + ] + /// The name of the thing responsible for the violation event. + public let thingName: String? + /// The time the violation event occurred. + public let violationEventTime: TimeStamp? + /// The type of violation event. + public let violationEventType: ViolationEventType? + /// The value of the metric (the measurement). + public let metricValue: MetricValue? + /// The ID of the violation event. + public let violationId: String? + /// The behavior which was violated. + public let behavior: Behavior? + /// The name of the security profile whose behavior was violated. + public let securityProfileName: String? + + public init(thingName: String? = nil, violationEventTime: TimeStamp? = nil, violationEventType: ViolationEventType? = nil, metricValue: MetricValue? = nil, violationId: String? = nil, behavior: Behavior? = nil, securityProfileName: String? = nil) { + self.thingName = thingName + self.violationEventTime = violationEventTime + self.violationEventType = violationEventType + self.metricValue = metricValue + self.violationId = violationId + self.behavior = behavior + self.securityProfileName = securityProfileName } private enum CodingKeys: String, CodingKey { - case authorizerName = "authorizerName" + case thingName = "thingName" + case violationEventTime = "violationEventTime" + case violationEventType = "violationEventType" + case metricValue = "metricValue" + case violationId = "violationId" + case behavior = "behavior" + case securityProfileName = "securityProfileName" } } @@ -2396,6 +3389,56 @@ extension Iot { } } + public struct ListScheduledAuditsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// The token for the next set of results. + public let nextToken: String? + /// The maximum number of results to return at one time. The default is 25. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct CodeSigning: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "awsSignerJobId", required: false, type: .string), + AWSShapeMember(label: "customCodeSigning", required: false, type: .structure) + ] + /// The ID of the AWSSignerJob which was created to sign the file. + public let awsSignerJobId: String? + /// A custom method for code signing a file. + public let customCodeSigning: CustomCodeSigning? + + public init(awsSignerJobId: String? = nil, customCodeSigning: CustomCodeSigning? = nil) { + self.awsSignerJobId = awsSignerJobId + self.customCodeSigning = customCodeSigning + } + + private enum CodingKeys: String, CodingKey { + case awsSignerJobId = "awsSignerJobId" + case customCodeSigning = "customCodeSigning" + } + } + + public enum AuditFindingSeverity: String, CustomStringConvertible, Codable { + case critical = "CRITICAL" + case high = "HIGH" + case medium = "MEDIUM" + case low = "LOW" + public var description: String { return self.rawValue } + } + public struct ListThingRegistrationTasksRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "status", location: .querystring(locationName: "status"), required: false, type: .enum), @@ -2404,7 +3447,7 @@ extension Iot { ] /// The status of the bulk thing provisioning task. public let status: Status? - /// The token used to get the next set of results, or null if there are no additional results. + /// The token to retrieve the next set of results. public let nextToken: String? /// The maximum number of results to return at one time. public let maxResults: Int32? @@ -2422,6 +3465,10 @@ extension Iot { } } + public struct DetachSecurityProfileResponse: AWSShape { + + } + public struct DescribeEndpointResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "endpointAddress", required: false, type: .string) @@ -2438,48 +3485,12 @@ extension Iot { } } - public struct TestInvokeAuthorizerResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "principalId", required: false, type: .string), - AWSShapeMember(label: "disconnectAfterInSeconds", required: false, type: .integer), - AWSShapeMember(label: "isAuthenticated", required: false, type: .boolean), - AWSShapeMember(label: "refreshAfterInSeconds", required: false, type: .integer), - AWSShapeMember(label: "policyDocuments", required: false, type: .list) - ] - /// The principal ID. - public let principalId: String? - /// The number of seconds after which the connection is terminated. - public let disconnectAfterInSeconds: Int32? - /// True if the token is authenticated, otherwise false. - public let isAuthenticated: Bool? - /// The number of seconds after which the temporary credentials are refreshed. - public let refreshAfterInSeconds: Int32? - /// IAM policy documents. - public let policyDocuments: [String]? - - public init(principalId: String? = nil, disconnectAfterInSeconds: Int32? = nil, isAuthenticated: Bool? = nil, refreshAfterInSeconds: Int32? = nil, policyDocuments: [String]? = nil) { - self.principalId = principalId - self.disconnectAfterInSeconds = disconnectAfterInSeconds - self.isAuthenticated = isAuthenticated - self.refreshAfterInSeconds = refreshAfterInSeconds - self.policyDocuments = policyDocuments - } - - private enum CodingKeys: String, CodingKey { - case principalId = "principalId" - case disconnectAfterInSeconds = "disconnectAfterInSeconds" - case isAuthenticated = "isAuthenticated" - case refreshAfterInSeconds = "refreshAfterInSeconds" - case policyDocuments = "policyDocuments" - } - } - public struct RejectCertificateTransferRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "certificateId", location: .uri(locationName: "certificateId"), required: true, type: .string), AWSShapeMember(label: "rejectReason", required: false, type: .string) ] - /// The ID of the certificate. + /// The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.) public let certificateId: String /// The reason the certificate transfer was rejected. public let rejectReason: String? @@ -2495,74 +3506,59 @@ extension Iot { } } - public struct TransferData: AWSShape { + public struct StopThingRegistrationTaskResponse: AWSShape { + + } + + public enum AutoRegistrationStatus: String, CustomStringConvertible, Codable { + case enable = "ENABLE" + case disable = "DISABLE" + public var description: String { return self.rawValue } + } + + public struct ActiveViolation: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "rejectDate", required: false, type: .timestamp), - AWSShapeMember(label: "acceptDate", required: false, type: .timestamp), - AWSShapeMember(label: "transferMessage", required: false, type: .string), - AWSShapeMember(label: "transferDate", required: false, type: .timestamp), - AWSShapeMember(label: "rejectReason", required: false, type: .string) - ] - /// The date the transfer was rejected. - public let rejectDate: TimeStamp? - /// The date the transfer was accepted. - public let acceptDate: TimeStamp? - /// The transfer message. - public let transferMessage: String? - /// The date the transfer took place. - public let transferDate: TimeStamp? - /// The reason why the transfer was rejected. - public let rejectReason: String? - - public init(rejectDate: TimeStamp? = nil, acceptDate: TimeStamp? = nil, transferMessage: String? = nil, transferDate: TimeStamp? = nil, rejectReason: String? = nil) { - self.rejectDate = rejectDate - self.acceptDate = acceptDate - self.transferMessage = transferMessage - self.transferDate = transferDate - self.rejectReason = rejectReason - } - - private enum CodingKeys: String, CodingKey { - case rejectDate = "rejectDate" - case acceptDate = "acceptDate" - case transferMessage = "transferMessage" - case transferDate = "transferDate" - case rejectReason = "rejectReason" - } - } - - public struct StopThingRegistrationTaskResponse: AWSShape { - - } - - public struct Certificate: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "status", required: false, type: .enum), - AWSShapeMember(label: "creationDate", required: false, type: .timestamp), - AWSShapeMember(label: "certificateId", required: false, type: .string), - AWSShapeMember(label: "certificateArn", required: false, type: .string) - ] - /// The status of the certificate. The status value REGISTER_INACTIVE is deprecated and should not be used. - public let status: CertificateStatus? - /// The date and time the certificate was created. - public let creationDate: TimeStamp? - /// The ID of the certificate. - public let certificateId: String? - /// The ARN of the certificate. - public let certificateArn: String? - - public init(status: CertificateStatus? = nil, creationDate: TimeStamp? = nil, certificateId: String? = nil, certificateArn: String? = nil) { - self.status = status - self.creationDate = creationDate - self.certificateId = certificateId - self.certificateArn = certificateArn + AWSShapeMember(label: "thingName", required: false, type: .string), + AWSShapeMember(label: "violationStartTime", required: false, type: .timestamp), + AWSShapeMember(label: "violationId", required: false, type: .string), + AWSShapeMember(label: "behavior", required: false, type: .structure), + AWSShapeMember(label: "securityProfileName", required: false, type: .string), + AWSShapeMember(label: "lastViolationValue", required: false, type: .structure), + AWSShapeMember(label: "lastViolationTime", required: false, type: .timestamp) + ] + /// The name of the thing responsible for the active violation. + public let thingName: String? + /// The time the violation started. + public let violationStartTime: TimeStamp? + /// The ID of the active violation. + public let violationId: String? + /// The behavior which is being violated. + public let behavior: Behavior? + /// The security profile whose behavior is in violation. + public let securityProfileName: String? + /// The value of the metric (the measurement) which caused the most recent violation. + public let lastViolationValue: MetricValue? + /// The time the most recent violation occurred. + public let lastViolationTime: TimeStamp? + + public init(thingName: String? = nil, violationStartTime: TimeStamp? = nil, violationId: String? = nil, behavior: Behavior? = nil, securityProfileName: String? = nil, lastViolationValue: MetricValue? = nil, lastViolationTime: TimeStamp? = nil) { + self.thingName = thingName + self.violationStartTime = violationStartTime + self.violationId = violationId + self.behavior = behavior + self.securityProfileName = securityProfileName + self.lastViolationValue = lastViolationValue + self.lastViolationTime = lastViolationTime } private enum CodingKeys: String, CodingKey { - case status = "status" - case creationDate = "creationDate" - case certificateId = "certificateId" - case certificateArn = "certificateArn" + case thingName = "thingName" + case violationStartTime = "violationStartTime" + case violationId = "violationId" + case behavior = "behavior" + case securityProfileName = "securityProfileName" + case lastViolationValue = "lastViolationValue" + case lastViolationTime = "lastViolationTime" } } @@ -2634,58 +3630,104 @@ extension Iot { } } - public struct DeleteV2LoggingLevelRequest: AWSShape { + public struct Certificate: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "targetName", location: .querystring(locationName: "targetName"), required: true, type: .string), - AWSShapeMember(label: "targetType", location: .querystring(locationName: "targetType"), required: true, type: .enum) + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "creationDate", required: false, type: .timestamp), + AWSShapeMember(label: "certificateId", required: false, type: .string), + AWSShapeMember(label: "certificateArn", required: false, type: .string) ] - /// The name of the resource for which you are configuring logging. - public let targetName: String - /// The type of resource for which you are configuring logging. Must be THING_Group. - public let targetType: LogTargetType + /// The status of the certificate. The status value REGISTER_INACTIVE is deprecated and should not be used. + public let status: CertificateStatus? + /// The date and time the certificate was created. + public let creationDate: TimeStamp? + /// The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.) + public let certificateId: String? + /// The ARN of the certificate. + public let certificateArn: String? - public init(targetName: String, targetType: LogTargetType) { - self.targetName = targetName - self.targetType = targetType + public init(status: CertificateStatus? = nil, creationDate: TimeStamp? = nil, certificateId: String? = nil, certificateArn: String? = nil) { + self.status = status + self.creationDate = creationDate + self.certificateId = certificateId + self.certificateArn = certificateArn } private enum CodingKeys: String, CodingKey { - case targetName = "targetName" - case targetType = "targetType" + case status = "status" + case creationDate = "creationDate" + case certificateId = "certificateId" + case certificateArn = "certificateArn" } } public struct GetPolicyResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "policyName", required: false, type: .string), + AWSShapeMember(label: "creationDate", required: false, type: .timestamp), AWSShapeMember(label: "defaultVersionId", required: false, type: .string), AWSShapeMember(label: "policyArn", required: false, type: .string), + AWSShapeMember(label: "generationId", required: false, type: .string), + AWSShapeMember(label: "policyName", required: false, type: .string), + AWSShapeMember(label: "lastModifiedDate", required: false, type: .timestamp), AWSShapeMember(label: "policyDocument", required: false, type: .string) ] - /// The policy name. - public let policyName: String? + /// The date the policy was created. + public let creationDate: TimeStamp? /// The default policy version ID. public let defaultVersionId: String? /// The policy ARN. public let policyArn: String? + /// The generation ID of the policy. + public let generationId: String? + /// The policy name. + public let policyName: String? + /// The date the policy was last modified. + public let lastModifiedDate: TimeStamp? /// The JSON document that describes the policy. public let policyDocument: String? - public init(policyName: String? = nil, defaultVersionId: String? = nil, policyArn: String? = nil, policyDocument: String? = nil) { - self.policyName = policyName + public init(creationDate: TimeStamp? = nil, defaultVersionId: String? = nil, policyArn: String? = nil, generationId: String? = nil, policyName: String? = nil, lastModifiedDate: TimeStamp? = nil, policyDocument: String? = nil) { + self.creationDate = creationDate self.defaultVersionId = defaultVersionId self.policyArn = policyArn + self.generationId = generationId + self.policyName = policyName + self.lastModifiedDate = lastModifiedDate self.policyDocument = policyDocument } private enum CodingKeys: String, CodingKey { - case policyName = "policyName" + case creationDate = "creationDate" case defaultVersionId = "defaultVersionId" case policyArn = "policyArn" + case generationId = "generationId" + case policyName = "policyName" + case lastModifiedDate = "lastModifiedDate" case policyDocument = "policyDocument" } } + public struct DeleteV2LoggingLevelRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "targetName", location: .querystring(locationName: "targetName"), required: true, type: .string), + AWSShapeMember(label: "targetType", location: .querystring(locationName: "targetType"), required: true, type: .enum) + ] + /// The name of the resource for which you are configuring logging. + public let targetName: String + /// The type of resource for which you are configuring logging. Must be THING_Group. + public let targetType: LogTargetType + + public init(targetName: String, targetType: LogTargetType) { + self.targetName = targetName + self.targetType = targetType + } + + private enum CodingKeys: String, CodingKey { + case targetName = "targetName" + case targetType = "targetType" + } + } + public struct ListCACertificatesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "certificates", required: false, type: .list), @@ -2728,118 +3770,81 @@ extension Iot { } } - public enum AutoRegistrationStatus: String, CustomStringConvertible, Codable { - case enable = "ENABLE" - case disable = "DISABLE" - public var description: String { return self.rawValue } - } - - public struct ListThingsInThingGroupRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "thingGroupName", location: .uri(locationName: "thingGroupName"), required: true, type: .string), - AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), - AWSShapeMember(label: "recursive", location: .querystring(locationName: "recursive"), required: false, type: .boolean) - ] - /// The token used to get the next set of results, or null if there are no additional results. - public let nextToken: String? - /// The thing group name. - public let thingGroupName: String - /// The maximum number of results to return at one time. - public let maxResults: Int32? - /// When true, list things in this thing group and in all child groups as well. - public let recursive: Bool? - - public init(nextToken: String? = nil, thingGroupName: String, maxResults: Int32? = nil, recursive: Bool? = nil) { - self.nextToken = nextToken - self.thingGroupName = thingGroupName - self.maxResults = maxResults - self.recursive = recursive - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case thingGroupName = "thingGroupName" - case maxResults = "maxResults" - case recursive = "recursive" - } - } - - public struct LogTarget: AWSShape { + public struct TransferData: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "targetName", required: false, type: .string), - AWSShapeMember(label: "targetType", required: true, type: .enum) + AWSShapeMember(label: "rejectDate", required: false, type: .timestamp), + AWSShapeMember(label: "acceptDate", required: false, type: .timestamp), + AWSShapeMember(label: "transferMessage", required: false, type: .string), + AWSShapeMember(label: "transferDate", required: false, type: .timestamp), + AWSShapeMember(label: "rejectReason", required: false, type: .string) ] - /// The target name. - public let targetName: String? - /// The target type. - public let targetType: LogTargetType + /// The date the transfer was rejected. + public let rejectDate: TimeStamp? + /// The date the transfer was accepted. + public let acceptDate: TimeStamp? + /// The transfer message. + public let transferMessage: String? + /// The date the transfer took place. + public let transferDate: TimeStamp? + /// The reason why the transfer was rejected. + public let rejectReason: String? - public init(targetName: String? = nil, targetType: LogTargetType) { - self.targetName = targetName - self.targetType = targetType + public init(rejectDate: TimeStamp? = nil, acceptDate: TimeStamp? = nil, transferMessage: String? = nil, transferDate: TimeStamp? = nil, rejectReason: String? = nil) { + self.rejectDate = rejectDate + self.acceptDate = acceptDate + self.transferMessage = transferMessage + self.transferDate = transferDate + self.rejectReason = rejectReason } private enum CodingKeys: String, CodingKey { - case targetName = "targetName" - case targetType = "targetType" + case rejectDate = "rejectDate" + case acceptDate = "acceptDate" + case transferMessage = "transferMessage" + case transferDate = "transferDate" + case rejectReason = "rejectReason" } } - public struct CreateThingGroupRequest: AWSShape { + public struct ListScheduledAuditsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "thingGroupProperties", required: false, type: .structure), - AWSShapeMember(label: "parentGroupName", required: false, type: .string), - AWSShapeMember(label: "thingGroupName", location: .uri(locationName: "thingGroupName"), required: true, type: .string) + AWSShapeMember(label: "scheduledAudits", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) ] - /// The thing group properties. - public let thingGroupProperties: ThingGroupProperties? - /// The name of the parent thing group. - public let parentGroupName: String? - /// The thing group name to create. - public let thingGroupName: String + /// The list of scheduled audits. + public let scheduledAudits: [ScheduledAuditMetadata]? + /// A token that can be used to retrieve the next set of results, or null if there are no additional results. + public let nextToken: String? - public init(thingGroupProperties: ThingGroupProperties? = nil, parentGroupName: String? = nil, thingGroupName: String) { - self.thingGroupProperties = thingGroupProperties - self.parentGroupName = parentGroupName - self.thingGroupName = thingGroupName + public init(scheduledAudits: [ScheduledAuditMetadata]? = nil, nextToken: String? = nil) { + self.scheduledAudits = scheduledAudits + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case thingGroupProperties = "thingGroupProperties" - case parentGroupName = "parentGroupName" - case thingGroupName = "thingGroupName" + case scheduledAudits = "scheduledAudits" + case nextToken = "nextToken" } } - public struct ListPrincipalPoliciesRequest: AWSShape { + public struct DeleteJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "marker", location: .querystring(locationName: "marker"), required: false, type: .string), - AWSShapeMember(label: "pageSize", location: .querystring(locationName: "pageSize"), required: false, type: .integer), - AWSShapeMember(label: "ascendingOrder", location: .querystring(locationName: "isAscendingOrder"), required: false, type: .boolean), - AWSShapeMember(label: "principal", location: .header(locationName: "x-amzn-iot-principal"), required: true, type: .string) + AWSShapeMember(label: "force", location: .querystring(locationName: "force"), required: false, type: .boolean), + AWSShapeMember(label: "jobId", location: .uri(locationName: "jobId"), required: true, type: .string) ] - /// The marker for the next set of results. - public let marker: String? - /// The result page size. - public let pageSize: Int32? - /// Specifies the order for results. If true, results are returned in ascending creation order. - public let ascendingOrder: Bool? - /// The principal. - public let principal: String + /// (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. + public let force: Bool? + /// 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. + public let jobId: String - public init(marker: String? = nil, pageSize: Int32? = nil, ascendingOrder: Bool? = nil, principal: String) { - self.marker = marker - self.pageSize = pageSize - self.ascendingOrder = ascendingOrder - self.principal = principal + public init(force: Bool? = nil, jobId: String) { + self.force = force + self.jobId = jobId } private enum CodingKeys: String, CodingKey { - case marker = "marker" - case pageSize = "pageSize" - case ascendingOrder = "isAscendingOrder" - case principal = "x-amzn-iot-principal" + case force = "force" + case jobId = "jobId" } } @@ -2895,6 +3900,11 @@ extension Iot { } } + public enum AlertTargetType: String, CustomStringConvertible, Codable { + case sns = "SNS" + public var description: String { return self.rawValue } + } + public struct ListAttachedPoliciesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "marker", location: .querystring(locationName: "marker"), required: false, type: .string), @@ -2919,42 +3929,170 @@ extension Iot { } private enum CodingKeys: String, CodingKey { - case marker = "marker" - case pageSize = "pageSize" - case target = "target" - case recursive = "recursive" + case marker = "marker" + case pageSize = "pageSize" + case target = "target" + case recursive = "recursive" + } + } + + public struct ListThingsInThingGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "thingGroupName", location: .uri(locationName: "thingGroupName"), required: true, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), + AWSShapeMember(label: "recursive", location: .querystring(locationName: "recursive"), required: false, type: .boolean) + ] + /// The token to retrieve the next set of results. + public let nextToken: String? + /// The thing group name. + public let thingGroupName: String + /// The maximum number of results to return at one time. + public let maxResults: Int32? + /// When true, list things in this thing group and in all child groups as well. + public let recursive: Bool? + + public init(nextToken: String? = nil, thingGroupName: String, maxResults: Int32? = nil, recursive: Bool? = nil) { + self.nextToken = nextToken + self.thingGroupName = thingGroupName + self.maxResults = maxResults + self.recursive = recursive + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case thingGroupName = "thingGroupName" + case maxResults = "maxResults" + case recursive = "recursive" + } + } + + public struct UpdateEventConfigurationsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "eventConfigurations", required: false, type: .map) + ] + /// The new event configuration values. + public let eventConfigurations: [EventType: Configuration]? + + public init(eventConfigurations: [EventType: Configuration]? = nil) { + self.eventConfigurations = eventConfigurations + } + + private enum CodingKeys: String, CodingKey { + case eventConfigurations = "eventConfigurations" + } + } + + public struct UpdateStreamRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "files", required: false, type: .list), + AWSShapeMember(label: "roleArn", required: false, type: .string), + AWSShapeMember(label: "streamId", location: .uri(locationName: "streamId"), required: true, type: .string) + ] + /// The description of the stream. + public let description: String? + /// The files associated with the stream. + public let files: [StreamFile]? + /// An IAM role that allows the IoT service principal assumes to access your S3 files. + public let roleArn: String? + /// The stream ID. + public let streamId: String + + public init(description: String? = nil, files: [StreamFile]? = nil, roleArn: String? = nil, streamId: String) { + self.description = description + self.files = files + self.roleArn = roleArn + self.streamId = streamId + } + + private enum CodingKeys: String, CodingKey { + case description = "description" + case files = "files" + case roleArn = "roleArn" + case streamId = "streamId" } } - public struct UpdateEventConfigurationsRequest: AWSShape { + public struct DescribeSecurityProfileResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "eventConfigurations", required: false, type: .map) + AWSShapeMember(label: "creationDate", required: false, type: .timestamp), + AWSShapeMember(label: "behaviors", required: false, type: .list), + AWSShapeMember(label: "alertTargets", required: false, type: .map), + AWSShapeMember(label: "securityProfileArn", required: false, type: .string), + AWSShapeMember(label: "version", required: false, type: .long), + AWSShapeMember(label: "securityProfileDescription", required: false, type: .string), + AWSShapeMember(label: "securityProfileName", required: false, type: .string), + AWSShapeMember(label: "lastModifiedDate", required: false, type: .timestamp) ] - /// The new event configuration values. - public let eventConfigurations: [EventType: Configuration]? + /// The time the security profile was created. + public let creationDate: TimeStamp? + /// Specifies the behaviors that, when violated by a device (thing), cause an alert. + public let behaviors: [Behavior]? + /// Where the alerts are sent. (Alerts are always sent to the console.) + public let alertTargets: [AlertTargetType: AlertTarget]? + /// The ARN of the security profile. + public let securityProfileArn: String? + /// The version of the security profile. A new version is generated whenever the security profile is updated. + public let version: Int64? + /// A description of the security profile (associated with the security profile when it was created or updated). + public let securityProfileDescription: String? + /// The name of the security profile. + public let securityProfileName: String? + /// The time the security profile was last modified. + public let lastModifiedDate: TimeStamp? - public init(eventConfigurations: [EventType: Configuration]? = nil) { - self.eventConfigurations = eventConfigurations + public init(creationDate: TimeStamp? = nil, behaviors: [Behavior]? = nil, alertTargets: [AlertTargetType: AlertTarget]? = nil, securityProfileArn: String? = nil, version: Int64? = nil, securityProfileDescription: String? = nil, securityProfileName: String? = nil, lastModifiedDate: TimeStamp? = nil) { + self.creationDate = creationDate + self.behaviors = behaviors + self.alertTargets = alertTargets + self.securityProfileArn = securityProfileArn + self.version = version + self.securityProfileDescription = securityProfileDescription + self.securityProfileName = securityProfileName + self.lastModifiedDate = lastModifiedDate } private enum CodingKeys: String, CodingKey { - case eventConfigurations = "eventConfigurations" + case creationDate = "creationDate" + case behaviors = "behaviors" + case alertTargets = "alertTargets" + case securityProfileArn = "securityProfileArn" + case version = "version" + case securityProfileDescription = "securityProfileDescription" + case securityProfileName = "securityProfileName" + case lastModifiedDate = "lastModifiedDate" } } - public struct DescribeThingRequest: AWSShape { + public struct ListPrincipalPoliciesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "thingName", location: .uri(locationName: "thingName"), required: true, type: .string) + AWSShapeMember(label: "marker", location: .querystring(locationName: "marker"), required: false, type: .string), + AWSShapeMember(label: "pageSize", location: .querystring(locationName: "pageSize"), required: false, type: .integer), + AWSShapeMember(label: "ascendingOrder", location: .querystring(locationName: "isAscendingOrder"), required: false, type: .boolean), + AWSShapeMember(label: "principal", location: .header(locationName: "x-amzn-iot-principal"), required: true, type: .string) ] - /// The name of the thing. - public let thingName: String + /// The marker for the next set of results. + public let marker: String? + /// The result page size. + public let pageSize: Int32? + /// Specifies the order for results. If true, results are returned in ascending creation order. + public let ascendingOrder: Bool? + /// The principal. + public let principal: String - public init(thingName: String) { - self.thingName = thingName + public init(marker: String? = nil, pageSize: Int32? = nil, ascendingOrder: Bool? = nil, principal: String) { + self.marker = marker + self.pageSize = pageSize + self.ascendingOrder = ascendingOrder + self.principal = principal } private enum CodingKeys: String, CodingKey { - case thingName = "thingName" + case marker = "marker" + case pageSize = "pageSize" + case ascendingOrder = "isAscendingOrder" + case principal = "x-amzn-iot-principal" } } @@ -2965,7 +4103,11 @@ extension Iot { AWSShapeMember(label: "creationDate", required: false, type: .timestamp), AWSShapeMember(label: "certificateId", required: false, type: .string), AWSShapeMember(label: "certificatePem", required: false, type: .string), + AWSShapeMember(label: "generationId", required: false, type: .string), AWSShapeMember(label: "ownedBy", required: false, type: .string), + AWSShapeMember(label: "validity", required: false, type: .structure), + AWSShapeMember(label: "customerVersion", required: false, type: .integer), + AWSShapeMember(label: "lastModifiedDate", required: false, type: .timestamp), AWSShapeMember(label: "certificateArn", required: false, type: .string) ] /// The status of a CA certificate. @@ -2978,18 +4120,30 @@ extension Iot { public let certificateId: String? /// The CA certificate data, in PEM format. public let certificatePem: String? + /// The generation ID of the CA certificate. + public let generationId: String? /// The owner of the CA certificate. public let ownedBy: String? + /// When the CA certificate is valid. + public let validity: CertificateValidity? + /// The customer version of the CA certificate. + public let customerVersion: Int32? + /// The date the CA certificate was last modified. + public let lastModifiedDate: TimeStamp? /// The CA certificate ARN. public let certificateArn: String? - public init(status: CACertificateStatus? = nil, autoRegistrationStatus: AutoRegistrationStatus? = nil, creationDate: TimeStamp? = nil, certificateId: String? = nil, certificatePem: String? = nil, ownedBy: String? = nil, certificateArn: String? = nil) { + public init(status: CACertificateStatus? = nil, autoRegistrationStatus: AutoRegistrationStatus? = nil, creationDate: TimeStamp? = nil, certificateId: String? = nil, certificatePem: String? = nil, generationId: String? = nil, ownedBy: String? = nil, validity: CertificateValidity? = nil, customerVersion: Int32? = nil, lastModifiedDate: TimeStamp? = nil, certificateArn: String? = nil) { self.status = status self.autoRegistrationStatus = autoRegistrationStatus self.creationDate = creationDate self.certificateId = certificateId self.certificatePem = certificatePem + self.generationId = generationId self.ownedBy = ownedBy + self.validity = validity + self.customerVersion = customerVersion + self.lastModifiedDate = lastModifiedDate self.certificateArn = certificateArn } @@ -2999,11 +4153,46 @@ extension Iot { case creationDate = "creationDate" case certificateId = "certificateId" case certificatePem = "certificatePem" + case generationId = "generationId" case ownedBy = "ownedBy" + case validity = "validity" + case customerVersion = "customerVersion" + case lastModifiedDate = "lastModifiedDate" case certificateArn = "certificateArn" } } + public struct DeleteJobExecutionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "force", location: .querystring(locationName: "force"), required: false, type: .boolean), + AWSShapeMember(label: "thingName", location: .uri(locationName: "thingName"), required: true, type: .string), + AWSShapeMember(label: "executionNumber", location: .uri(locationName: "executionNumber"), required: true, type: .long), + AWSShapeMember(label: "jobId", location: .uri(locationName: "jobId"), required: true, type: .string) + ] + /// (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. + public let force: Bool? + /// The name of the thing whose job execution will be deleted. + public let thingName: String + /// 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. + public let executionNumber: Int64 + /// The ID of the job whose execution on a particular device will be deleted. + public let jobId: String + + public init(force: Bool? = nil, thingName: String, executionNumber: Int64, jobId: String) { + self.force = force + self.thingName = thingName + self.executionNumber = executionNumber + self.jobId = jobId + } + + private enum CodingKeys: String, CodingKey { + case force = "force" + case thingName = "thingName" + case executionNumber = "executionNumber" + case jobId = "jobId" + } + } + public struct GetEffectivePoliciesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "cognitoIdentityPoolId", required: false, type: .string), @@ -3107,6 +4296,105 @@ extension Iot { } } + public struct CreateThingGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "thingGroupProperties", required: false, type: .structure), + AWSShapeMember(label: "parentGroupName", required: false, type: .string), + AWSShapeMember(label: "thingGroupName", location: .uri(locationName: "thingGroupName"), required: true, type: .string) + ] + /// The thing group properties. + public let thingGroupProperties: ThingGroupProperties? + /// The name of the parent thing group. + public let parentGroupName: String? + /// The thing group name to create. + public let thingGroupName: String + + public init(thingGroupProperties: ThingGroupProperties? = nil, parentGroupName: String? = nil, thingGroupName: String) { + self.thingGroupProperties = thingGroupProperties + self.parentGroupName = parentGroupName + self.thingGroupName = thingGroupName + } + + private enum CodingKeys: String, CodingKey { + case thingGroupProperties = "thingGroupProperties" + case parentGroupName = "parentGroupName" + case thingGroupName = "thingGroupName" + } + } + + public struct SetDefaultAuthorizerRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "authorizerName", required: true, type: .string) + ] + /// The authorizer name. + public let authorizerName: String + + public init(authorizerName: String) { + self.authorizerName = authorizerName + } + + private enum CodingKeys: String, CodingKey { + case authorizerName = "authorizerName" + } + } + + public struct ListViolationEventsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "thingName", location: .querystring(locationName: "thingName"), required: false, type: .string), + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "endTime", location: .querystring(locationName: "endTime"), required: true, type: .timestamp), + AWSShapeMember(label: "startTime", location: .querystring(locationName: "startTime"), required: true, type: .timestamp), + AWSShapeMember(label: "securityProfileName", location: .querystring(locationName: "securityProfileName"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// A filter to limit results to those alerts caused by the specified thing. + public let thingName: String? + /// The token for the next set of results. + public let nextToken: String? + /// The end time for the alerts to be listed. + public let endTime: TimeStamp + /// The start time for the alerts to be listed. + public let startTime: TimeStamp + /// A filter to limit results to those alerts generated by the specified security profile. + public let securityProfileName: String? + /// The maximum number of results to return at one time. + public let maxResults: Int32? + + public init(thingName: String? = nil, nextToken: String? = nil, endTime: TimeStamp, startTime: TimeStamp, securityProfileName: String? = nil, maxResults: Int32? = nil) { + self.thingName = thingName + self.nextToken = nextToken + self.endTime = endTime + self.startTime = startTime + self.securityProfileName = securityProfileName + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case thingName = "thingName" + case nextToken = "nextToken" + case endTime = "endTime" + case startTime = "startTime" + case securityProfileName = "securityProfileName" + case maxResults = "maxResults" + } + } + + public struct DescribeThingRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "thingName", location: .uri(locationName: "thingName"), required: true, type: .string) + ] + /// The name of the thing. + public let thingName: String + + public init(thingName: String) { + self.thingName = thingName + } + + private enum CodingKeys: String, CodingKey { + case thingName = "thingName" + } + } + public struct AttachPrincipalPolicyRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "policyName", location: .uri(locationName: "policyName"), required: true, type: .string), @@ -3164,10 +4452,6 @@ extension Iot { } } - public struct DeprecateThingTypeResponse: AWSShape { - - } - public struct DescribeJobResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "job", required: false, type: .structure), @@ -3189,6 +4473,92 @@ extension Iot { } } + public struct StreamFile: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "fileId", required: false, type: .integer), + AWSShapeMember(label: "s3Location", required: false, type: .structure) + ] + /// The file ID. + public let fileId: Int32? + /// The location of the file in S3. + public let s3Location: S3Location? + + public init(fileId: Int32? = nil, s3Location: S3Location? = nil) { + self.fileId = fileId + self.s3Location = s3Location + } + + private enum CodingKeys: String, CodingKey { + case fileId = "fileId" + case s3Location = "s3Location" + } + } + + public struct DescribeAccountAuditConfigurationRequest: AWSShape { + + } + + public struct DeprecateThingTypeResponse: AWSShape { + + } + + public struct TestInvokeAuthorizerResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "principalId", required: false, type: .string), + AWSShapeMember(label: "disconnectAfterInSeconds", required: false, type: .integer), + AWSShapeMember(label: "isAuthenticated", required: false, type: .boolean), + AWSShapeMember(label: "refreshAfterInSeconds", required: false, type: .integer), + AWSShapeMember(label: "policyDocuments", required: false, type: .list) + ] + /// The principal ID. + public let principalId: String? + /// The number of seconds after which the connection is terminated. + public let disconnectAfterInSeconds: Int32? + /// True if the token is authenticated, otherwise false. + public let isAuthenticated: Bool? + /// The number of seconds after which the temporary credentials are refreshed. + public let refreshAfterInSeconds: Int32? + /// IAM policy documents. + public let policyDocuments: [String]? + + public init(principalId: String? = nil, disconnectAfterInSeconds: Int32? = nil, isAuthenticated: Bool? = nil, refreshAfterInSeconds: Int32? = nil, policyDocuments: [String]? = nil) { + self.principalId = principalId + self.disconnectAfterInSeconds = disconnectAfterInSeconds + self.isAuthenticated = isAuthenticated + self.refreshAfterInSeconds = refreshAfterInSeconds + self.policyDocuments = policyDocuments + } + + private enum CodingKeys: String, CodingKey { + case principalId = "principalId" + case disconnectAfterInSeconds = "disconnectAfterInSeconds" + case isAuthenticated = "isAuthenticated" + case refreshAfterInSeconds = "refreshAfterInSeconds" + case policyDocuments = "policyDocuments" + } + } + + public struct LogTarget: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "targetName", required: false, type: .string), + AWSShapeMember(label: "targetType", required: true, type: .enum) + ] + /// The target name. + public let targetName: String? + /// The target type. + public let targetType: LogTargetType + + public init(targetName: String? = nil, targetType: LogTargetType) { + self.targetName = targetName + self.targetType = targetType + } + + private enum CodingKeys: String, CodingKey { + case targetName = "targetName" + case targetType = "targetType" + } + } + public struct JobExecutionsRolloutConfig: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "maximumPerMinute", required: false, type: .integer) @@ -3205,14 +4575,60 @@ extension Iot { } } + public enum DynamoKeyType: String, CustomStringConvertible, Codable { + case string = "STRING" + case number = "NUMBER" + public var description: String { return self.rawValue } + } + public struct ClearDefaultAuthorizerRequest: AWSShape { } - public enum DynamoKeyType: String, CustomStringConvertible, Codable { - case string = "STRING" - case number = "NUMBER" - public var description: String { return self.rawValue } + public struct ListAuditFindingsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "resourceIdentifier", required: false, type: .structure), + AWSShapeMember(label: "taskId", required: false, type: .string), + AWSShapeMember(label: "checkName", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "endTime", required: false, type: .timestamp), + AWSShapeMember(label: "startTime", required: false, type: .timestamp) + ] + /// The token for the next set of results. + public let nextToken: String? + /// Information identifying the non-compliant resource. + public let resourceIdentifier: ResourceIdentifier? + /// 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. + public let taskId: String? + /// A filter to limit results to the findings for the specified audit check. + public let checkName: String? + /// The maximum number of results to return at one time. The default is 25. + public let maxResults: Int32? + /// 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. + public let endTime: TimeStamp? + /// 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. + public let startTime: TimeStamp? + + public init(nextToken: String? = nil, resourceIdentifier: ResourceIdentifier? = nil, taskId: String? = nil, checkName: String? = nil, maxResults: Int32? = nil, endTime: TimeStamp? = nil, startTime: TimeStamp? = nil) { + self.nextToken = nextToken + self.resourceIdentifier = resourceIdentifier + self.taskId = taskId + self.checkName = checkName + self.maxResults = maxResults + self.endTime = endTime + self.startTime = startTime + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case resourceIdentifier = "resourceIdentifier" + case taskId = "taskId" + case checkName = "checkName" + case maxResults = "maxResults" + case endTime = "endTime" + case startTime = "startTime" + } } public struct ListCertificatesRequest: AWSShape { @@ -3241,6 +4657,29 @@ extension Iot { } } + public struct ReplaceTopicRuleRequest: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "topicRulePayload" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ruleName", location: .uri(locationName: "ruleName"), required: true, type: .string), + AWSShapeMember(label: "topicRulePayload", required: true, type: .structure) + ] + /// The name of the rule. + public let ruleName: String + /// The rule payload. + public let topicRulePayload: TopicRulePayload + + public init(ruleName: String, topicRulePayload: TopicRulePayload) { + self.ruleName = ruleName + self.topicRulePayload = topicRulePayload + } + + private enum CodingKeys: String, CodingKey { + case ruleName = "ruleName" + case topicRulePayload = "topicRulePayload" + } + } + public enum CannedAccessControlList: String, CustomStringConvertible, Codable { case `private` = "private" case publicRead = "public-read" @@ -3253,64 +4692,34 @@ extension Iot { public var description: String { return self.rawValue } } - public struct DynamoDBAction: AWSShape { + public struct CreateStreamRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "files", required: true, type: .list), AWSShapeMember(label: "roleArn", required: true, type: .string), - AWSShapeMember(label: "rangeKeyType", required: false, type: .enum), - AWSShapeMember(label: "rangeKeyValue", required: false, type: .string), - AWSShapeMember(label: "hashKeyValue", required: true, type: .string), - AWSShapeMember(label: "operation", required: false, type: .string), - AWSShapeMember(label: "payloadField", required: false, type: .string), - AWSShapeMember(label: "rangeKeyField", required: false, type: .string), - AWSShapeMember(label: "tableName", required: true, type: .string), - AWSShapeMember(label: "hashKeyField", required: true, type: .string), - AWSShapeMember(label: "hashKeyType", required: false, type: .enum) + AWSShapeMember(label: "streamId", location: .uri(locationName: "streamId"), required: true, type: .string) ] - /// The ARN of the IAM role that grants access to the DynamoDB table. + /// A description of the stream. + public let description: String? + /// The files to stream. + public let files: [StreamFile] + /// An IAM role that allows the IoT service principal assumes to access your S3 files. public let roleArn: String - /// The range key type. Valid values are "STRING" or "NUMBER" - public let rangeKeyType: DynamoKeyType? - /// The range key value. - public let rangeKeyValue: String? - /// The hash key value. - public let hashKeyValue: String - /// 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. - public let operation: String? - /// The action payload. This name can be customized. - public let payloadField: String? - /// The range key name. - public let rangeKeyField: String? - /// The name of the DynamoDB table. - public let tableName: String - /// The hash key name. - public let hashKeyField: String - /// The hash key type. Valid values are "STRING" or "NUMBER" - public let hashKeyType: DynamoKeyType? + /// The stream ID. + public let streamId: String - public init(roleArn: String, rangeKeyType: DynamoKeyType? = nil, rangeKeyValue: String? = nil, hashKeyValue: String, operation: String? = nil, payloadField: String? = nil, rangeKeyField: String? = nil, tableName: String, hashKeyField: String, hashKeyType: DynamoKeyType? = nil) { + public init(description: String? = nil, files: [StreamFile], roleArn: String, streamId: String) { + self.description = description + self.files = files self.roleArn = roleArn - self.rangeKeyType = rangeKeyType - self.rangeKeyValue = rangeKeyValue - self.hashKeyValue = hashKeyValue - self.operation = operation - self.payloadField = payloadField - self.rangeKeyField = rangeKeyField - self.tableName = tableName - self.hashKeyField = hashKeyField - self.hashKeyType = hashKeyType + self.streamId = streamId } private enum CodingKeys: String, CodingKey { + case description = "description" + case files = "files" case roleArn = "roleArn" - case rangeKeyType = "rangeKeyType" - case rangeKeyValue = "rangeKeyValue" - case hashKeyValue = "hashKeyValue" - case operation = "operation" - case payloadField = "payloadField" - case rangeKeyField = "rangeKeyField" - case tableName = "tableName" - case hashKeyField = "hashKeyField" - case hashKeyType = "hashKeyType" + case streamId = "streamId" } } @@ -3438,42 +4847,64 @@ extension Iot { } } - public struct ReplaceTopicRuleRequest: AWSShape { - /// The key for the payload - public static let payloadPath: String? = "topicRulePayload" - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ruleName", location: .uri(locationName: "ruleName"), required: true, type: .string), - AWSShapeMember(label: "topicRulePayload", required: true, type: .structure) - ] - /// The name of the rule. - public let ruleName: String - /// The rule payload. - public let topicRulePayload: TopicRulePayload - - public init(ruleName: String, topicRulePayload: TopicRulePayload) { - self.ruleName = ruleName - self.topicRulePayload = topicRulePayload - } - - private enum CodingKeys: String, CodingKey { - case ruleName = "ruleName" - case topicRulePayload = "topicRulePayload" - } - } - - public struct Allowed: AWSShape { + public struct DynamoDBAction: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "policies", required: false, type: .list) + AWSShapeMember(label: "roleArn", required: true, type: .string), + AWSShapeMember(label: "rangeKeyType", required: false, type: .enum), + AWSShapeMember(label: "rangeKeyValue", required: false, type: .string), + AWSShapeMember(label: "hashKeyValue", required: true, type: .string), + AWSShapeMember(label: "operation", required: false, type: .string), + AWSShapeMember(label: "payloadField", required: false, type: .string), + AWSShapeMember(label: "rangeKeyField", required: false, type: .string), + AWSShapeMember(label: "tableName", required: true, type: .string), + AWSShapeMember(label: "hashKeyField", required: true, type: .string), + AWSShapeMember(label: "hashKeyType", required: false, type: .enum) ] - /// A list of policies that allowed the authentication. - public let policies: [Policy]? + /// The ARN of the IAM role that grants access to the DynamoDB table. + public let roleArn: String + /// The range key type. Valid values are "STRING" or "NUMBER" + public let rangeKeyType: DynamoKeyType? + /// The range key value. + public let rangeKeyValue: String? + /// The hash key value. + public let hashKeyValue: String + /// 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. + public let operation: String? + /// The action payload. This name can be customized. + public let payloadField: String? + /// The range key name. + public let rangeKeyField: String? + /// The name of the DynamoDB table. + public let tableName: String + /// The hash key name. + public let hashKeyField: String + /// The hash key type. Valid values are "STRING" or "NUMBER" + public let hashKeyType: DynamoKeyType? - public init(policies: [Policy]? = nil) { - self.policies = policies + public init(roleArn: String, rangeKeyType: DynamoKeyType? = nil, rangeKeyValue: String? = nil, hashKeyValue: String, operation: String? = nil, payloadField: String? = nil, rangeKeyField: String? = nil, tableName: String, hashKeyField: String, hashKeyType: DynamoKeyType? = nil) { + self.roleArn = roleArn + self.rangeKeyType = rangeKeyType + self.rangeKeyValue = rangeKeyValue + self.hashKeyValue = hashKeyValue + self.operation = operation + self.payloadField = payloadField + self.rangeKeyField = rangeKeyField + self.tableName = tableName + self.hashKeyField = hashKeyField + self.hashKeyType = hashKeyType } private enum CodingKeys: String, CodingKey { - case policies = "policies" + case roleArn = "roleArn" + case rangeKeyType = "rangeKeyType" + case rangeKeyValue = "rangeKeyValue" + case hashKeyValue = "hashKeyValue" + case operation = "operation" + case payloadField = "payloadField" + case rangeKeyField = "rangeKeyField" + case tableName = "tableName" + case hashKeyField = "hashKeyField" + case hashKeyType = "hashKeyType" } } @@ -3502,6 +4933,95 @@ extension Iot { } + public struct CodeSigningSignature: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "inlineDocument", required: false, type: .blob), + AWSShapeMember(label: "stream", required: false, type: .structure) + ] + /// A base64 encoded binary representation of the code signing signature. + public let inlineDocument: Data? + /// A stream of the code signing signature. + public let stream: Stream? + + public init(inlineDocument: Data? = nil, stream: Stream? = nil) { + self.inlineDocument = inlineDocument + self.stream = stream + } + + private enum CodingKeys: String, CodingKey { + case inlineDocument = "inlineDocument" + case stream = "stream" + } + } + + public struct UpdateSecurityProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "expectedVersion", location: .querystring(locationName: "expectedVersion"), required: false, type: .long), + AWSShapeMember(label: "alertTargets", required: false, type: .map), + AWSShapeMember(label: "securityProfileName", location: .uri(locationName: "securityProfileName"), required: true, type: .string), + AWSShapeMember(label: "behaviors", required: false, type: .list), + AWSShapeMember(label: "securityProfileDescription", required: false, type: .string) + ] + /// 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. + public let expectedVersion: Int64? + /// Where the alerts are sent. (Alerts are always sent to the console.) + public let alertTargets: [AlertTargetType: AlertTarget]? + /// The name of the security profile you want to update. + public let securityProfileName: String + /// Specifies the behaviors that, when violated by a device (thing), cause an alert. + public let behaviors: [Behavior]? + /// A description of the security profile. + public let securityProfileDescription: String? + + public init(expectedVersion: Int64? = nil, alertTargets: [AlertTargetType: AlertTarget]? = nil, securityProfileName: String, behaviors: [Behavior]? = nil, securityProfileDescription: String? = nil) { + self.expectedVersion = expectedVersion + self.alertTargets = alertTargets + self.securityProfileName = securityProfileName + self.behaviors = behaviors + self.securityProfileDescription = securityProfileDescription + } + + private enum CodingKeys: String, CodingKey { + case expectedVersion = "expectedVersion" + case alertTargets = "alertTargets" + case securityProfileName = "securityProfileName" + case behaviors = "behaviors" + case securityProfileDescription = "securityProfileDescription" + } + } + + public struct Allowed: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "policies", required: false, type: .list) + ] + /// A list of policies that allowed the authentication. + public let policies: [Policy]? + + public init(policies: [Policy]? = nil) { + self.policies = policies + } + + private enum CodingKeys: String, CodingKey { + case policies = "policies" + } + } + + public struct ValidationError: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "errorMessage", required: false, type: .string) + ] + /// The description of an error found in the behaviors. + public let errorMessage: String? + + public init(errorMessage: String? = nil) { + self.errorMessage = errorMessage + } + + private enum CodingKeys: String, CodingKey { + case errorMessage = "errorMessage" + } + } + public struct DescribeEndpointRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "endpointType", location: .querystring(locationName: "endpointType"), required: false, type: .string) @@ -3518,6 +5038,22 @@ extension Iot { } } + public struct DescribeAuditTaskRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "taskId", location: .uri(locationName: "taskId"), required: true, type: .string) + ] + /// The ID of the audit whose information you want to get. + public let taskId: String + + public init(taskId: String) { + self.taskId = taskId + } + + private enum CodingKeys: String, CodingKey { + case taskId = "taskId" + } + } + public enum AuthDecision: String, CustomStringConvertible, Codable { case allowed = "ALLOWED" case explicitDeny = "EXPLICIT_DENY" @@ -3529,6 +5065,27 @@ extension Iot { } + public struct ListActiveViolationsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "activeViolations", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// The list of active violations. + public let activeViolations: [ActiveViolation]? + /// A token that can be used to retrieve the next set of results, or null if there are no additional results. + public let nextToken: String? + + public init(activeViolations: [ActiveViolation]? = nil, nextToken: String? = nil) { + self.activeViolations = activeViolations + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case activeViolations = "activeViolations" + case nextToken = "nextToken" + } + } + public struct CreatePolicyResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "policyVersionId", required: false, type: .string), @@ -3586,6 +5143,22 @@ extension Iot { } } + public struct DeleteOTAUpdateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "otaUpdateId", location: .uri(locationName: "otaUpdateId"), required: true, type: .string) + ] + /// The OTA update ID to delete. + public let otaUpdateId: String + + public init(otaUpdateId: String) { + self.otaUpdateId = otaUpdateId + } + + private enum CodingKeys: String, CodingKey { + case otaUpdateId = "otaUpdateId" + } + } + public struct GetRegistrationCodeRequest: AWSShape { } @@ -3676,8 +5249,29 @@ extension Iot { } } - public struct RemoveThingFromThingGroupResponse: AWSShape { + public struct RemoveThingFromThingGroupResponse: AWSShape { + + } + + public struct AttachSecurityProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "securityProfileName", location: .uri(locationName: "securityProfileName"), required: true, type: .string), + AWSShapeMember(label: "securityProfileTargetArn", location: .querystring(locationName: "securityProfileTargetArn"), required: true, type: .string) + ] + /// The security profile that is attached. + public let securityProfileName: String + /// The ARN of the target (thing group) to which the security profile is attached. + public let securityProfileTargetArn: String + + public init(securityProfileName: String, securityProfileTargetArn: String) { + self.securityProfileName = securityProfileName + self.securityProfileTargetArn = securityProfileTargetArn + } + private enum CodingKeys: String, CodingKey { + case securityProfileName = "securityProfileName" + case securityProfileTargetArn = "securityProfileTargetArn" + } } public struct DescribeCACertificateResponse: AWSShape { @@ -3701,6 +5295,22 @@ extension Iot { } } + public struct CancelAuditTaskRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "taskId", location: .uri(locationName: "taskId"), required: true, type: .string) + ] + /// The ID of the audit you want to cancel. You can only cancel an audit that is "IN_PROGRESS". + public let taskId: String + + public init(taskId: String) { + self.taskId = taskId + } + + private enum CodingKeys: String, CodingKey { + case taskId = "taskId" + } + } + public struct RepublishAction: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "roleArn", required: true, type: .string), @@ -3748,6 +5358,27 @@ extension Iot { } } + public struct ListPolicyPrincipalsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "principals", required: false, type: .list), + AWSShapeMember(label: "nextMarker", required: false, type: .string) + ] + /// The descriptions of the principals. + public let principals: [String]? + /// The marker for the next set of results, or null if there are no additional results. + public let nextMarker: String? + + public init(principals: [String]? = nil, nextMarker: String? = nil) { + self.principals = principals + self.nextMarker = nextMarker + } + + private enum CodingKeys: String, CodingKey { + case principals = "principals" + case nextMarker = "nextMarker" + } + } + public struct CreateThingGroupResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "thingGroupArn", required: false, type: .string), @@ -3774,27 +5405,6 @@ extension Iot { } } - public struct ListPolicyPrincipalsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "principals", required: false, type: .list), - AWSShapeMember(label: "nextMarker", required: false, type: .string) - ] - /// The descriptions of the principals. - public let principals: [String]? - /// The marker for the next set of results, or null if there are no additional results. - public let nextMarker: String? - - public init(principals: [String]? = nil, nextMarker: String? = nil) { - self.principals = principals - self.nextMarker = nextMarker - } - - private enum CodingKeys: String, CodingKey { - case principals = "principals" - case nextMarker = "nextMarker" - } - } - public struct UpdateEventConfigurationsResponse: AWSShape { } @@ -3846,7 +5456,7 @@ extension Iot { public let thingName: String? /// The thing type name. public let thingTypeName: String? - /// The thing shadow. + /// The shadow. public let shadow: String? /// Thing group names. public let thingGroupNames: [String]? @@ -3893,10 +5503,83 @@ extension Iot { } } + public struct CreateOTAUpdateResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "otaUpdateStatus", required: false, type: .enum), + AWSShapeMember(label: "otaUpdateArn", required: false, type: .string), + AWSShapeMember(label: "awsIotJobId", required: false, type: .string), + AWSShapeMember(label: "awsIotJobArn", required: false, type: .string), + AWSShapeMember(label: "otaUpdateId", required: false, type: .string) + ] + /// The OTA update status. + public let otaUpdateStatus: OTAUpdateStatus? + /// The OTA update ARN. + public let otaUpdateArn: String? + /// The AWS IoT job ID associated with the OTA update. + public let awsIotJobId: String? + /// The AWS IoT job ARN associated with the OTA update. + public let awsIotJobArn: String? + /// The OTA update ID. + public let otaUpdateId: String? + + public init(otaUpdateStatus: OTAUpdateStatus? = nil, otaUpdateArn: String? = nil, awsIotJobId: String? = nil, awsIotJobArn: String? = nil, otaUpdateId: String? = nil) { + self.otaUpdateStatus = otaUpdateStatus + self.otaUpdateArn = otaUpdateArn + self.awsIotJobId = awsIotJobId + self.awsIotJobArn = awsIotJobArn + self.otaUpdateId = otaUpdateId + } + + private enum CodingKeys: String, CodingKey { + case otaUpdateStatus = "otaUpdateStatus" + case otaUpdateArn = "otaUpdateArn" + case awsIotJobId = "awsIotJobId" + case awsIotJobArn = "awsIotJobArn" + case otaUpdateId = "otaUpdateId" + } + } + + public struct GetOTAUpdateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "otaUpdateId", location: .uri(locationName: "otaUpdateId"), required: true, type: .string) + ] + /// The OTA update ID. + public let otaUpdateId: String + + public init(otaUpdateId: String) { + self.otaUpdateId = otaUpdateId + } + + private enum CodingKeys: String, CodingKey { + case otaUpdateId = "otaUpdateId" + } + } + public struct DescribeEventConfigurationsRequest: AWSShape { } + public struct Stream: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "fileId", required: false, type: .integer), + AWSShapeMember(label: "streamId", required: false, type: .string) + ] + /// The ID of a file associated with a stream. + public let fileId: Int32? + /// The stream ID. + public let streamId: String? + + public init(fileId: Int32? = nil, streamId: String? = nil) { + self.fileId = fileId + self.streamId = streamId + } + + private enum CodingKeys: String, CodingKey { + case fileId = "fileId" + case streamId = "streamId" + } + } + public struct CreateKeysAndCertificateResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "keyPair", required: false, type: .structure), @@ -3997,7 +5680,7 @@ extension Iot { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "certificateId", location: .uri(locationName: "certificateId"), required: true, type: .string) ] - /// The ID of the certificate. + /// The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.) public let certificateId: String public init(certificateId: String) { @@ -4052,63 +5735,94 @@ extension Iot { } } - public struct GetV2LoggingOptionsResponse: AWSShape { + public struct CreateStreamResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "roleArn", required: false, type: .string), - AWSShapeMember(label: "defaultLogLevel", required: false, type: .enum), - AWSShapeMember(label: "disableAllLogs", required: false, type: .boolean) + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "streamVersion", required: false, type: .integer), + AWSShapeMember(label: "streamId", required: false, type: .string), + AWSShapeMember(label: "streamArn", required: false, type: .string) ] - /// The IAM role ARN AWS IoT uses to write to your CloudWatch logs. - public let roleArn: String? - /// The default log level. - public let defaultLogLevel: LogLevel? - /// Disables all logs. - public let disableAllLogs: Bool? - - public init(roleArn: String? = nil, defaultLogLevel: LogLevel? = nil, disableAllLogs: Bool? = nil) { - self.roleArn = roleArn - self.defaultLogLevel = defaultLogLevel - self.disableAllLogs = disableAllLogs + /// A description of the stream. + public let description: String? + /// The version of the stream. + public let streamVersion: Int32? + /// The stream ID. + public let streamId: String? + /// The stream ARN. + public let streamArn: String? + + public init(description: String? = nil, streamVersion: Int32? = nil, streamId: String? = nil, streamArn: String? = nil) { + self.description = description + self.streamVersion = streamVersion + self.streamId = streamId + self.streamArn = streamArn } private enum CodingKeys: String, CodingKey { - case roleArn = "roleArn" - case defaultLogLevel = "defaultLogLevel" - case disableAllLogs = "disableAllLogs" + case description = "description" + case streamVersion = "streamVersion" + case streamId = "streamId" + case streamArn = "streamArn" } } public struct ListThingRegistrationTaskReportsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), AWSShapeMember(label: "taskId", location: .uri(locationName: "taskId"), required: true, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), AWSShapeMember(label: "reportType", location: .querystring(locationName: "reportType"), required: true, type: .enum) ] - /// The maximum number of results to return per request. - public let maxResults: Int32? /// The token to retrieve the next set of results. public let nextToken: String? /// The id of the task. public let taskId: String + /// The maximum number of results to return per request. + public let maxResults: Int32? /// The type of task report. public let reportType: ReportType - public init(maxResults: Int32? = nil, nextToken: String? = nil, taskId: String, reportType: ReportType) { - self.maxResults = maxResults + public init(nextToken: String? = nil, taskId: String, maxResults: Int32? = nil, reportType: ReportType) { self.nextToken = nextToken self.taskId = taskId + self.maxResults = maxResults self.reportType = reportType } private enum CodingKeys: String, CodingKey { - case maxResults = "maxResults" case nextToken = "nextToken" case taskId = "taskId" + case maxResults = "maxResults" case reportType = "reportType" } } + public struct GetV2LoggingOptionsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "roleArn", required: false, type: .string), + AWSShapeMember(label: "defaultLogLevel", required: false, type: .enum), + AWSShapeMember(label: "disableAllLogs", required: false, type: .boolean) + ] + /// The IAM role ARN AWS IoT uses to write to your CloudWatch logs. + public let roleArn: String? + /// The default log level. + public let defaultLogLevel: LogLevel? + /// Disables all logs. + public let disableAllLogs: Bool? + + public init(roleArn: String? = nil, defaultLogLevel: LogLevel? = nil, disableAllLogs: Bool? = nil) { + self.roleArn = roleArn + self.defaultLogLevel = defaultLogLevel + self.disableAllLogs = disableAllLogs + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "roleArn" + case defaultLogLevel = "defaultLogLevel" + case disableAllLogs = "disableAllLogs" + } + } + public struct DetachPrincipalPolicyRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "policyName", location: .uri(locationName: "policyName"), required: true, type: .string), @@ -4130,6 +5844,37 @@ extension Iot { } } + public struct StreamSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "streamVersion", required: false, type: .integer), + AWSShapeMember(label: "streamId", required: false, type: .string), + AWSShapeMember(label: "streamArn", required: false, type: .string) + ] + /// A description of the stream. + public let description: String? + /// The stream version. + public let streamVersion: Int32? + /// The stream ID. + public let streamId: String? + /// The stream ARN. + public let streamArn: String? + + public init(description: String? = nil, streamVersion: Int32? = nil, streamId: String? = nil, streamArn: String? = nil) { + self.description = description + self.streamVersion = streamVersion + self.streamId = streamId + self.streamArn = streamArn + } + + private enum CodingKeys: String, CodingKey { + case description = "description" + case streamVersion = "streamVersion" + case streamId = "streamId" + case streamArn = "streamArn" + } + } + public struct ListThingRegistrationTaskReportsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "reportType", required: false, type: .enum), @@ -4138,7 +5883,7 @@ extension Iot { ] /// The type of task report. public let reportType: ReportType? - /// The token to retrieve the next set of results. + /// The token used to get the next set of results, or null if there are no additional results. public let nextToken: String? /// Links to the task resources. public let resourceLinks: [String]? @@ -4198,22 +5943,6 @@ extension Iot { } } - public struct DescribeRoleAliasResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "roleAliasDescription", required: false, type: .structure) - ] - /// The role alias description. - public let roleAliasDescription: RoleAliasDescription? - - public init(roleAliasDescription: RoleAliasDescription? = nil) { - self.roleAliasDescription = roleAliasDescription - } - - private enum CodingKeys: String, CodingKey { - case roleAliasDescription = "roleAliasDescription" - } - } - public struct CreatePolicyVersionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "policyName", location: .uri(locationName: "policyName"), required: true, type: .string), @@ -4240,6 +5969,22 @@ extension Iot { } } + public struct DescribeRoleAliasResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "roleAliasDescription", required: false, type: .structure) + ] + /// The role alias description. + public let roleAliasDescription: RoleAliasDescription? + + public init(roleAliasDescription: RoleAliasDescription? = nil) { + self.roleAliasDescription = roleAliasDescription + } + + private enum CodingKeys: String, CodingKey { + case roleAliasDescription = "roleAliasDescription" + } + } + public struct GetEffectivePoliciesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "effectivePolicies", required: false, type: .list) @@ -4256,6 +6001,32 @@ extension Iot { } } + public struct KinesisAction: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "roleArn", required: true, type: .string), + AWSShapeMember(label: "streamName", required: true, type: .string), + AWSShapeMember(label: "partitionKey", required: false, type: .string) + ] + /// The ARN of the IAM role that grants access to the Amazon Kinesis stream. + public let roleArn: String + /// The name of the Amazon Kinesis stream. + public let streamName: String + /// The partition key. + public let partitionKey: String? + + public init(roleArn: String, streamName: String, partitionKey: String? = nil) { + self.roleArn = roleArn + self.streamName = streamName + self.partitionKey = partitionKey + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "roleArn" + case streamName = "streamName" + case partitionKey = "partitionKey" + } + } + public struct TestAuthorizationRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "policyNamesToAdd", required: false, type: .list), @@ -4297,29 +6068,24 @@ extension Iot { } } - public struct KinesisAction: AWSShape { + public struct PolicyVersionIdentifier: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "roleArn", required: true, type: .string), - AWSShapeMember(label: "streamName", required: true, type: .string), - AWSShapeMember(label: "partitionKey", required: false, type: .string) + AWSShapeMember(label: "policyVersionId", required: false, type: .string), + AWSShapeMember(label: "policyName", required: false, type: .string) ] - /// The ARN of the IAM role that grants access to the Amazon Kinesis stream. - public let roleArn: String - /// The name of the Amazon Kinesis stream. - public let streamName: String - /// The partition key. - public let partitionKey: String? + /// The ID of the version of the policy associated with the resource. + public let policyVersionId: String? + /// The name of the policy. + public let policyName: String? - public init(roleArn: String, streamName: String, partitionKey: String? = nil) { - self.roleArn = roleArn - self.streamName = streamName - self.partitionKey = partitionKey + public init(policyVersionId: String? = nil, policyName: String? = nil) { + self.policyVersionId = policyVersionId + self.policyName = policyName } private enum CodingKeys: String, CodingKey { - case roleArn = "roleArn" - case streamName = "streamName" - case partitionKey = "partitionKey" + case policyVersionId = "policyVersionId" + case policyName = "policyName" } } @@ -4343,9 +6109,25 @@ extension Iot { } private enum CodingKeys: String, CodingKey { - case tokenSignature = "tokenSignature" - case token = "token" - case authorizerName = "authorizerName" + case tokenSignature = "tokenSignature" + case token = "token" + case authorizerName = "authorizerName" + } + } + + public struct DescribeStreamResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "streamInfo", required: false, type: .structure) + ] + /// Information about the stream. + public let streamInfo: StreamInfo? + + public init(streamInfo: StreamInfo? = nil) { + self.streamInfo = streamInfo + } + + private enum CodingKeys: String, CodingKey { + case streamInfo = "streamInfo" } } @@ -4357,7 +6139,7 @@ extension Iot { ] /// The thing name. public let thingName: String - /// The token used to get the next set of results, or null if there are no additional results. + /// The token to retrieve the next set of results. public let nextToken: String? /// The maximum number of results to return at one time. public let maxResults: Int32? @@ -4375,6 +6157,22 @@ extension Iot { } } + public struct StartOnDemandAuditTaskResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "taskId", required: false, type: .string) + ] + /// The ID of the on-demand audit you started. + public let taskId: String? + + public init(taskId: String? = nil) { + self.taskId = taskId + } + + private enum CodingKeys: String, CodingKey { + case taskId = "taskId" + } + } + public struct UpdateThingResponse: AWSShape { } @@ -4400,22 +6198,6 @@ extension Iot { } } - public struct ImplicitDeny: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "policies", required: false, type: .list) - ] - /// Policies that don't contain a matching allow or deny statement for the specified action on the specified resource. - public let policies: [Policy]? - - public init(policies: [Policy]? = nil) { - self.policies = policies - } - - private enum CodingKeys: String, CodingKey { - case policies = "policies" - } - } - public struct UpdateCACertificateRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "registrationConfig", required: false, type: .structure), @@ -4452,6 +6234,10 @@ extension Iot { } } + public struct DescribeDefaultAuthorizerRequest: AWSShape { + + } + public struct ListPoliciesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "policies", required: false, type: .list), @@ -4473,8 +6259,25 @@ extension Iot { } } - public struct DescribeDefaultAuthorizerRequest: AWSShape { + public struct ValidateSecurityProfileBehaviorsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "valid", required: false, type: .boolean), + AWSShapeMember(label: "validationErrors", required: false, type: .list) + ] + /// True if the behaviors were valid. + public let valid: Bool? + /// The list of any errors found in the behaviors. + public let validationErrors: [ValidationError]? + + public init(valid: Bool? = nil, validationErrors: [ValidationError]? = nil) { + self.valid = valid + self.validationErrors = validationErrors + } + private enum CodingKeys: String, CodingKey { + case valid = "valid" + case validationErrors = "validationErrors" + } } public struct ListOutgoingCertificatesResponse: AWSShape { @@ -4498,6 +6301,73 @@ extension Iot { } } + public struct UpdateSecurityProfileResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "creationDate", required: false, type: .timestamp), + AWSShapeMember(label: "behaviors", required: false, type: .list), + AWSShapeMember(label: "alertTargets", required: false, type: .map), + AWSShapeMember(label: "securityProfileArn", required: false, type: .string), + AWSShapeMember(label: "version", required: false, type: .long), + AWSShapeMember(label: "securityProfileDescription", required: false, type: .string), + AWSShapeMember(label: "securityProfileName", required: false, type: .string), + AWSShapeMember(label: "lastModifiedDate", required: false, type: .timestamp) + ] + /// The time the security profile was created. + public let creationDate: TimeStamp? + /// Specifies the behaviors that, when violated by a device (thing), cause an alert. + public let behaviors: [Behavior]? + /// Where the alerts are sent. (Alerts are always sent to the console.) + public let alertTargets: [AlertTargetType: AlertTarget]? + /// The ARN of the security profile that was updated. + public let securityProfileArn: String? + /// The updated version of the security profile. + public let version: Int64? + /// The description of the security profile. + public let securityProfileDescription: String? + /// The name of the security profile that was updated. + public let securityProfileName: String? + /// The time the security profile was last modified. + public let lastModifiedDate: TimeStamp? + + public init(creationDate: TimeStamp? = nil, behaviors: [Behavior]? = nil, alertTargets: [AlertTargetType: AlertTarget]? = nil, securityProfileArn: String? = nil, version: Int64? = nil, securityProfileDescription: String? = nil, securityProfileName: String? = nil, lastModifiedDate: TimeStamp? = nil) { + self.creationDate = creationDate + self.behaviors = behaviors + self.alertTargets = alertTargets + self.securityProfileArn = securityProfileArn + self.version = version + self.securityProfileDescription = securityProfileDescription + self.securityProfileName = securityProfileName + self.lastModifiedDate = lastModifiedDate + } + + private enum CodingKeys: String, CodingKey { + case creationDate = "creationDate" + case behaviors = "behaviors" + case alertTargets = "alertTargets" + case securityProfileArn = "securityProfileArn" + case version = "version" + case securityProfileDescription = "securityProfileDescription" + case securityProfileName = "securityProfileName" + case lastModifiedDate = "lastModifiedDate" + } + } + + public struct ImplicitDeny: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "policies", required: false, type: .list) + ] + /// Policies that don't contain a matching allow or deny statement for the specified action on the specified resource. + public let policies: [Policy]? + + public init(policies: [Policy]? = nil) { + self.policies = policies + } + + private enum CodingKeys: String, CodingKey { + case policies = "policies" + } + } + public struct DescribeThingGroupResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "thingGroupProperties", required: false, type: .structure), @@ -4539,6 +6409,32 @@ extension Iot { } } + public struct RelatedResource: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceIdentifier", required: false, type: .structure), + AWSShapeMember(label: "additionalInfo", required: false, type: .map), + AWSShapeMember(label: "resourceType", required: false, type: .enum) + ] + /// Information identifying the resource. + public let resourceIdentifier: ResourceIdentifier? + /// Additional information about the resource. + public let additionalInfo: [String: String]? + /// The type of resource. + public let resourceType: ResourceType? + + public init(resourceIdentifier: ResourceIdentifier? = nil, additionalInfo: [String: String]? = nil, resourceType: ResourceType? = nil) { + self.resourceIdentifier = resourceIdentifier + self.additionalInfo = additionalInfo + self.resourceType = resourceType + } + + private enum CodingKeys: String, CodingKey { + case resourceIdentifier = "resourceIdentifier" + case additionalInfo = "additionalInfo" + case resourceType = "resourceType" + } + } + public struct DeleteThingTypeRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "thingTypeName", location: .uri(locationName: "thingTypeName"), required: true, type: .string) @@ -4555,6 +6451,27 @@ extension Iot { } } + public struct ListStreamsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "streams", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// A list of streams. + public let streams: [StreamSummary]? + /// A token used to get the next set of results. + public let nextToken: String? + + public init(streams: [StreamSummary]? = nil, nextToken: String? = nil) { + self.streams = streams + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case streams = "streams" + case nextToken = "nextToken" + } + } + public struct RegisterCertificateResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "certificateId", required: false, type: .string), @@ -4597,6 +6514,27 @@ extension Iot { } } + public struct SecurityProfileIdentifier: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "arn", required: true, type: .string) + ] + /// The name you have given to the security profile. + public let name: String + /// The ARN of the security profile. + public let arn: String + + public init(name: String, arn: String) { + self.name = name + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case arn = "arn" + } + } + public struct AttributePayload: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "merge", required: false, type: .boolean), @@ -4706,24 +6644,29 @@ extension Iot { } } - public struct ListIndicesResponse: AWSShape { + public struct OTAUpdateSummary: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "indexNames", required: false, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) + AWSShapeMember(label: "otaUpdateArn", required: false, type: .string), + AWSShapeMember(label: "otaUpdateId", required: false, type: .string), + AWSShapeMember(label: "creationDate", required: false, type: .timestamp) ] - /// The index names. - public let indexNames: [String]? - /// The token used to get the next set of results, or null if there are no additional results. - public let nextToken: String? + /// The OTA update ARN. + public let otaUpdateArn: String? + /// The OTA update ID. + public let otaUpdateId: String? + /// The date when the OTA update was created. + public let creationDate: TimeStamp? - public init(indexNames: [String]? = nil, nextToken: String? = nil) { - self.indexNames = indexNames - self.nextToken = nextToken + public init(otaUpdateArn: String? = nil, otaUpdateId: String? = nil, creationDate: TimeStamp? = nil) { + self.otaUpdateArn = otaUpdateArn + self.otaUpdateId = otaUpdateId + self.creationDate = creationDate } private enum CodingKeys: String, CodingKey { - case indexNames = "indexNames" - case nextToken = "nextToken" + case otaUpdateArn = "otaUpdateArn" + case otaUpdateId = "otaUpdateId" + case creationDate = "creationDate" } } @@ -4759,6 +6702,58 @@ extension Iot { } } + public struct ListIndicesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "indexNames", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// The index names. + public let indexNames: [String]? + /// The token used to get the next set of results, or null if there are no additional results. + public let nextToken: String? + + public init(indexNames: [String]? = nil, nextToken: String? = nil) { + self.indexNames = indexNames + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case indexNames = "indexNames" + case nextToken = "nextToken" + } + } + + public struct ListActiveViolationsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "thingName", location: .querystring(locationName: "thingName"), required: false, type: .string), + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), + AWSShapeMember(label: "securityProfileName", location: .querystring(locationName: "securityProfileName"), required: false, type: .string) + ] + /// The name of the thing whose active violations are listed. + public let thingName: String? + /// The token for the next set of results. + public let nextToken: String? + /// The maximum number of results to return at one time. + public let maxResults: Int32? + /// The name of the Device Defender security profile for which violations are listed. + public let securityProfileName: String? + + public init(thingName: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil, securityProfileName: String? = nil) { + self.thingName = thingName + self.nextToken = nextToken + self.maxResults = maxResults + self.securityProfileName = securityProfileName + } + + private enum CodingKeys: String, CodingKey { + case thingName = "thingName" + case nextToken = "nextToken" + case maxResults = "maxResults" + case securityProfileName = "securityProfileName" + } + } + public struct DeletePolicyVersionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "policyVersionId", location: .uri(locationName: "policyVersionId"), required: true, type: .string), @@ -4801,49 +6796,70 @@ extension Iot { } } + public struct ListSecurityProfilesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "securityProfileIdentifiers", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// A list of security profile identifiers (names and ARNs). + public let securityProfileIdentifiers: [SecurityProfileIdentifier]? + /// A token that can be used to retrieve the next set of results, or null if there are no additional results. + public let nextToken: String? + + public init(securityProfileIdentifiers: [SecurityProfileIdentifier]? = nil, nextToken: String? = nil) { + self.securityProfileIdentifiers = securityProfileIdentifiers + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case securityProfileIdentifiers = "securityProfileIdentifiers" + case nextToken = "nextToken" + } + } + public struct UpdateThingGroupsForThingResponse: AWSShape { } - public struct JobExecutionStatusDetails: AWSShape { + public struct NonCompliantResource: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "detailsMap", required: false, type: .map) + AWSShapeMember(label: "resourceIdentifier", required: false, type: .structure), + AWSShapeMember(label: "additionalInfo", required: false, type: .map), + AWSShapeMember(label: "resourceType", required: false, type: .enum) ] - /// The job execution status. - public let detailsMap: [String: String]? + /// Information identifying the non-compliant resource. + public let resourceIdentifier: ResourceIdentifier? + /// Additional information about the non-compliant resource. + public let additionalInfo: [String: String]? + /// The type of the non-compliant resource. + public let resourceType: ResourceType? - public init(detailsMap: [String: String]? = nil) { - self.detailsMap = detailsMap + public init(resourceIdentifier: ResourceIdentifier? = nil, additionalInfo: [String: String]? = nil, resourceType: ResourceType? = nil) { + self.resourceIdentifier = resourceIdentifier + self.additionalInfo = additionalInfo + self.resourceType = resourceType } private enum CodingKeys: String, CodingKey { - case detailsMap = "detailsMap" + case resourceIdentifier = "resourceIdentifier" + case additionalInfo = "additionalInfo" + case resourceType = "resourceType" } } - public struct CreateThingRequest: AWSShape { + public struct JobExecutionStatusDetails: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "thingTypeName", required: false, type: .string), - AWSShapeMember(label: "attributePayload", required: false, type: .structure), - AWSShapeMember(label: "thingName", location: .uri(locationName: "thingName"), required: true, type: .string) + AWSShapeMember(label: "detailsMap", required: false, type: .map) ] - /// The name of the thing type associated with the new thing. - public let thingTypeName: String? - /// The attribute payload, which consists of up to three name/value pairs in a JSON document. For example: {\"attributes\":{\"string1\":\"string2\"}} - public let attributePayload: AttributePayload? - /// The name of the thing to create. - public let thingName: String + /// The job execution status. + public let detailsMap: [String: String]? - public init(thingTypeName: String? = nil, attributePayload: AttributePayload? = nil, thingName: String) { - self.thingTypeName = thingTypeName - self.attributePayload = attributePayload - self.thingName = thingName + public init(detailsMap: [String: String]? = nil) { + self.detailsMap = detailsMap } private enum CodingKeys: String, CodingKey { - case thingTypeName = "thingTypeName" - case attributePayload = "attributePayload" - case thingName = "thingName" + case detailsMap = "detailsMap" } } @@ -4855,6 +6871,7 @@ extension Iot { AWSShapeMember(label: "awsIotSqlVersion", required: false, type: .string), AWSShapeMember(label: "description", required: false, type: .string), AWSShapeMember(label: "actions", required: false, type: .list), + AWSShapeMember(label: "errorAction", required: false, type: .structure), AWSShapeMember(label: "sql", required: false, type: .string) ] /// Specifies whether the rule is disabled. @@ -4869,16 +6886,19 @@ extension Iot { public let description: String? /// The actions associated with the rule. public let actions: [Action]? + /// The action to perform when an error occurs. + public let errorAction: Action? /// The SQL statement used to query the topic. When using a SQL query with multiple lines, be sure to escape the newline characters. public let sql: String? - public init(ruleDisabled: Bool? = nil, ruleName: String? = nil, createdAt: TimeStamp? = nil, awsIotSqlVersion: String? = nil, description: String? = nil, actions: [Action]? = nil, sql: String? = nil) { + public init(ruleDisabled: Bool? = nil, ruleName: String? = nil, createdAt: TimeStamp? = nil, awsIotSqlVersion: String? = nil, description: String? = nil, actions: [Action]? = nil, errorAction: Action? = nil, sql: String? = nil) { self.ruleDisabled = ruleDisabled self.ruleName = ruleName self.createdAt = createdAt self.awsIotSqlVersion = awsIotSqlVersion self.description = description self.actions = actions + self.errorAction = errorAction self.sql = sql } @@ -4889,89 +6909,148 @@ extension Iot { case awsIotSqlVersion = "awsIotSqlVersion" case description = "description" case actions = "actions" + case errorAction = "errorAction" case sql = "sql" } } public struct CancelJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "force", location: .querystring(locationName: "force"), required: false, type: .boolean), AWSShapeMember(label: "comment", required: false, type: .string), AWSShapeMember(label: "jobId", location: .uri(locationName: "jobId"), required: true, type: .string) ] + /// (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. + public let force: Bool? /// An optional comment string describing why the job was canceled. public let comment: String? /// The unique identifier you assigned to this job when it was created. public let jobId: String - public init(comment: String? = nil, jobId: String) { + public init(force: Bool? = nil, comment: String? = nil, jobId: String) { + self.force = force self.comment = comment self.jobId = jobId } private enum CodingKeys: String, CodingKey { + case force = "force" case comment = "comment" case jobId = "jobId" } } + public struct CreateThingRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "thingTypeName", required: false, type: .string), + AWSShapeMember(label: "attributePayload", required: false, type: .structure), + AWSShapeMember(label: "thingName", location: .uri(locationName: "thingName"), required: true, type: .string) + ] + /// The name of the thing type associated with the new thing. + public let thingTypeName: String? + /// The attribute payload, which consists of up to three name/value pairs in a JSON document. For example: {\"attributes\":{\"string1\":\"string2\"}} + public let attributePayload: AttributePayload? + /// The name of the thing to create. + public let thingName: String + + public init(thingTypeName: String? = nil, attributePayload: AttributePayload? = nil, thingName: String) { + self.thingTypeName = thingTypeName + self.attributePayload = attributePayload + self.thingName = thingName + } + + private enum CodingKeys: String, CodingKey { + case thingTypeName = "thingTypeName" + case attributePayload = "attributePayload" + case thingName = "thingName" + } + } + + public enum ComparisonOperator: String, CustomStringConvertible, Codable { + case lessThan = "less-than" + case lessThanEquals = "less-than-equals" + case greaterThan = "greater-than" + case greaterThanEquals = "greater-than-equals" + case inCidrSet = "in-cidr-set" + case notInCidrSet = "not-in-cidr-set" + case inPortSet = "in-port-set" + case notInPortSet = "not-in-port-set" + public var description: String { return self.rawValue } + } + public struct CertificateDescription: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "certificateId", required: false, type: .string), + AWSShapeMember(label: "validity", required: false, type: .structure), + AWSShapeMember(label: "certificateArn", required: false, type: .string), + AWSShapeMember(label: "customerVersion", required: false, type: .integer), + AWSShapeMember(label: "lastModifiedDate", required: false, type: .timestamp), AWSShapeMember(label: "caCertificateId", required: false, type: .string), AWSShapeMember(label: "status", required: false, type: .enum), - AWSShapeMember(label: "creationDate", required: false, type: .timestamp), - AWSShapeMember(label: "certificateId", required: false, type: .string), AWSShapeMember(label: "certificatePem", required: false, type: .string), + AWSShapeMember(label: "creationDate", required: false, type: .timestamp), + AWSShapeMember(label: "generationId", required: false, type: .string), AWSShapeMember(label: "previousOwnedBy", required: false, type: .string), AWSShapeMember(label: "transferData", required: false, type: .structure), - AWSShapeMember(label: "ownedBy", required: false, type: .string), - AWSShapeMember(label: "certificateArn", required: false, type: .string), - AWSShapeMember(label: "lastModifiedDate", required: false, type: .timestamp) + AWSShapeMember(label: "ownedBy", required: false, type: .string) ] + /// The ID of the certificate. + public let certificateId: String? + /// When the certificate is valid. + public let validity: CertificateValidity? + /// The ARN of the certificate. + public let certificateArn: String? + /// The customer version of the certificate. + public let customerVersion: Int32? + /// The date and time the certificate was last modified. + public let lastModifiedDate: TimeStamp? /// The certificate ID of the CA certificate used to sign this certificate. public let caCertificateId: String? /// The status of the certificate. public let status: CertificateStatus? - /// The date and time the certificate was created. - public let creationDate: TimeStamp? - /// The ID of the certificate. - public let certificateId: String? /// The certificate data, in PEM format. public let certificatePem: String? + /// The date and time the certificate was created. + public let creationDate: TimeStamp? + /// The generation ID of the certificate. + public let generationId: String? /// The ID of the AWS account of the previous owner of the certificate. public let previousOwnedBy: String? /// The transfer data. public let transferData: TransferData? /// The ID of the AWS account that owns the certificate. public let ownedBy: String? - /// The ARN of the certificate. - public let certificateArn: String? - /// The date and time the certificate was last modified. - public let lastModifiedDate: TimeStamp? - public init(caCertificateId: String? = nil, status: CertificateStatus? = nil, creationDate: TimeStamp? = nil, certificateId: String? = nil, certificatePem: String? = nil, previousOwnedBy: String? = nil, transferData: TransferData? = nil, ownedBy: String? = nil, certificateArn: String? = nil, lastModifiedDate: TimeStamp? = nil) { + public init(certificateId: String? = nil, validity: CertificateValidity? = nil, certificateArn: String? = nil, customerVersion: Int32? = nil, lastModifiedDate: TimeStamp? = nil, caCertificateId: String? = nil, status: CertificateStatus? = nil, certificatePem: String? = nil, creationDate: TimeStamp? = nil, generationId: String? = nil, previousOwnedBy: String? = nil, transferData: TransferData? = nil, ownedBy: String? = nil) { + self.certificateId = certificateId + self.validity = validity + self.certificateArn = certificateArn + self.customerVersion = customerVersion + self.lastModifiedDate = lastModifiedDate self.caCertificateId = caCertificateId self.status = status - self.creationDate = creationDate - self.certificateId = certificateId self.certificatePem = certificatePem + self.creationDate = creationDate + self.generationId = generationId self.previousOwnedBy = previousOwnedBy self.transferData = transferData self.ownedBy = ownedBy - self.certificateArn = certificateArn - self.lastModifiedDate = lastModifiedDate } private enum CodingKeys: String, CodingKey { + case certificateId = "certificateId" + case validity = "validity" + case certificateArn = "certificateArn" + case customerVersion = "customerVersion" + case lastModifiedDate = "lastModifiedDate" case caCertificateId = "caCertificateId" case status = "status" - case creationDate = "creationDate" - case certificateId = "certificateId" case certificatePem = "certificatePem" + case creationDate = "creationDate" + case generationId = "generationId" case previousOwnedBy = "previousOwnedBy" case transferData = "transferData" case ownedBy = "ownedBy" - case certificateArn = "certificateArn" - case lastModifiedDate = "lastModifiedDate" } } @@ -5006,6 +7085,32 @@ extension Iot { } } + public struct ListTargetsForSecurityProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "securityProfileName", location: .uri(locationName: "securityProfileName"), required: true, type: .string), + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// The security profile. + public let securityProfileName: String + /// The token for the next set of results. + public let nextToken: String? + /// The maximum number of results to return at one time. + public let maxResults: Int32? + + public init(securityProfileName: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.securityProfileName = securityProfileName + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case securityProfileName = "securityProfileName" + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + public struct ListPrincipalThingsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), @@ -5014,7 +7119,7 @@ extension Iot { ] /// The maximum number of results to return in this operation. public let maxResults: Int32? - /// The token used to get the next set of results, or null if there are no additional results. + /// The token to retrieve the next set of results. public let nextToken: String? /// The principal. public let principal: String @@ -5032,10 +7137,47 @@ extension Iot { } } + public struct ListAuditTasksResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "tasks", required: false, type: .list) + ] + /// A token that can be used to retrieve the next set of results, or null if there are no additional results. + public let nextToken: String? + /// The audits that were performed during the specified time period. + public let tasks: [AuditTaskMetadata]? + + public init(nextToken: String? = nil, tasks: [AuditTaskMetadata]? = nil) { + self.nextToken = nextToken + self.tasks = tasks + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case tasks = "tasks" + } + } + public struct ClearDefaultAuthorizerResponse: AWSShape { } + public struct ValidateSecurityProfileBehaviorsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "behaviors", required: true, type: .list) + ] + /// Specifies the behaviors that, when violated by a device (thing), cause an alert. + public let behaviors: [Behavior] + + public init(behaviors: [Behavior]) { + self.behaviors = behaviors + } + + private enum CodingKeys: String, CodingKey { + case behaviors = "behaviors" + } + } + public struct CACertificate: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "status", required: false, type: .enum), @@ -5088,6 +7230,48 @@ extension Iot { } } + public struct StartOnDemandAuditTaskRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "targetCheckNames", required: true, type: .list) + ] + /// 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. + public let targetCheckNames: [String] + + public init(targetCheckNames: [String]) { + self.targetCheckNames = targetCheckNames + } + + private enum CodingKeys: String, CodingKey { + case targetCheckNames = "targetCheckNames" + } + } + + public struct StepFunctionsAction: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "roleArn", required: true, type: .string), + AWSShapeMember(label: "stateMachineName", required: true, type: .string), + AWSShapeMember(label: "executionNamePrefix", required: false, type: .string) + ] + /// The ARN of the role that grants IoT permission to start execution of a state machine ("Action":"states:StartExecution"). + public let roleArn: String + /// The name of the Step Functions state machine whose execution will be started. + public let stateMachineName: String + /// (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. + public let executionNamePrefix: String? + + public init(roleArn: String, stateMachineName: String, executionNamePrefix: String? = nil) { + self.roleArn = roleArn + self.stateMachineName = stateMachineName + self.executionNamePrefix = executionNamePrefix + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "roleArn" + case stateMachineName = "stateMachineName" + case executionNamePrefix = "executionNamePrefix" + } + } + public struct ListPolicyPrincipalsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "marker", location: .querystring(locationName: "marker"), required: false, type: .string), @@ -5119,6 +7303,47 @@ extension Iot { } } + public struct ResourceIdentifier: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "deviceCertificateId", required: false, type: .string), + AWSShapeMember(label: "caCertificateId", required: false, type: .string), + AWSShapeMember(label: "account", required: false, type: .string), + AWSShapeMember(label: "cognitoIdentityPoolId", required: false, type: .string), + AWSShapeMember(label: "policyVersionIdentifier", required: false, type: .structure), + AWSShapeMember(label: "clientId", required: false, type: .string) + ] + /// The ID of the certificate attached to the resource. + public let deviceCertificateId: String? + /// The ID of the CA certificate used to authorize the certificate. + public let caCertificateId: String? + /// The account with which the resource is associated. + public let account: String? + /// The ID of the Cognito Identity Pool. + public let cognitoIdentityPoolId: String? + /// The version of the policy associated with the resource. + public let policyVersionIdentifier: PolicyVersionIdentifier? + /// The client ID. + public let clientId: String? + + public init(deviceCertificateId: String? = nil, caCertificateId: String? = nil, account: String? = nil, cognitoIdentityPoolId: String? = nil, policyVersionIdentifier: PolicyVersionIdentifier? = nil, clientId: String? = nil) { + self.deviceCertificateId = deviceCertificateId + self.caCertificateId = caCertificateId + self.account = account + self.cognitoIdentityPoolId = cognitoIdentityPoolId + self.policyVersionIdentifier = policyVersionIdentifier + self.clientId = clientId + } + + private enum CodingKeys: String, CodingKey { + case deviceCertificateId = "deviceCertificateId" + case caCertificateId = "caCertificateId" + case account = "account" + case cognitoIdentityPoolId = "cognitoIdentityPoolId" + case policyVersionIdentifier = "policyVersionIdentifier" + case clientId = "clientId" + } + } + public struct DescribeIndexResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "indexStatus", required: false, type: .enum), @@ -5161,6 +7386,53 @@ extension Iot { } } + public struct ErrorInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "code", required: false, type: .string), + AWSShapeMember(label: "message", required: false, type: .string) + ] + /// The error code. + public let code: String? + /// The error message. + public let message: String? + + public init(code: String? = nil, message: String? = nil) { + self.code = code + self.message = message + } + + private enum CodingKeys: String, CodingKey { + case code = "code" + case message = "message" + } + } + + public struct UpdateAccountAuditConfigurationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "roleArn", required: false, type: .string), + AWSShapeMember(label: "auditCheckConfigurations", required: false, type: .map), + AWSShapeMember(label: "auditNotificationTargetConfigurations", required: false, type: .map) + ] + /// 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. + public let roleArn: String? + /// 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. + public let auditCheckConfigurations: [String: AuditCheckConfiguration]? + /// Information about the targets to which audit notifications are sent. + public let auditNotificationTargetConfigurations: [AuditNotificationType: AuditNotificationTarget]? + + public init(roleArn: String? = nil, auditCheckConfigurations: [String: AuditCheckConfiguration]? = nil, auditNotificationTargetConfigurations: [AuditNotificationType: AuditNotificationTarget]? = nil) { + self.roleArn = roleArn + self.auditCheckConfigurations = auditCheckConfigurations + self.auditNotificationTargetConfigurations = auditNotificationTargetConfigurations + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "roleArn" + case auditCheckConfigurations = "auditCheckConfigurations" + case auditNotificationTargetConfigurations = "auditNotificationTargetConfigurations" + } + } + public struct DescribeThingRegistrationTaskResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "roleArn", required: false, type: .string), @@ -5248,19 +7520,24 @@ extension Iot { } } - public struct GetRegistrationCodeResponse: AWSShape { + public struct ListCertificatesByCAResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "registrationCode", required: false, type: .string) + AWSShapeMember(label: "certificates", required: false, type: .list), + AWSShapeMember(label: "nextMarker", required: false, type: .string) ] - /// The CA certificate registration code. - public let registrationCode: String? + /// The device certificates signed by the specified CA certificate. + public let certificates: [Certificate]? + /// The marker for the next set of results, or null if there are no additional results. + public let nextMarker: String? - public init(registrationCode: String? = nil) { - self.registrationCode = registrationCode + public init(certificates: [Certificate]? = nil, nextMarker: String? = nil) { + self.certificates = certificates + self.nextMarker = nextMarker } private enum CodingKeys: String, CodingKey { - case registrationCode = "registrationCode" + case certificates = "certificates" + case nextMarker = "nextMarker" } } @@ -5290,50 +7567,19 @@ extension Iot { } } - public struct ListTargetsForPolicyRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "marker", location: .querystring(locationName: "marker"), required: false, type: .string), - AWSShapeMember(label: "pageSize", location: .querystring(locationName: "pageSize"), required: false, type: .integer), - AWSShapeMember(label: "policyName", location: .uri(locationName: "policyName"), required: true, type: .string) - ] - /// A marker used to get the next set of results. - public let marker: String? - /// The maximum number of results to return at one time. - public let pageSize: Int32? - /// The policy name. - public let policyName: String - - public init(marker: String? = nil, pageSize: Int32? = nil, policyName: String) { - self.marker = marker - self.pageSize = pageSize - self.policyName = policyName - } - - private enum CodingKeys: String, CodingKey { - case marker = "marker" - case pageSize = "pageSize" - case policyName = "policyName" - } - } - - public struct ListCertificatesByCAResponse: AWSShape { + public struct GetRegistrationCodeResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "certificates", required: false, type: .list), - AWSShapeMember(label: "nextMarker", required: false, type: .string) + AWSShapeMember(label: "registrationCode", required: false, type: .string) ] - /// The device certificates signed by the specified CA certificate. - public let certificates: [Certificate]? - /// The marker for the next set of results, or null if there are no additional results. - public let nextMarker: String? + /// The CA certificate registration code. + public let registrationCode: String? - public init(certificates: [Certificate]? = nil, nextMarker: String? = nil) { - self.certificates = certificates - self.nextMarker = nextMarker + public init(registrationCode: String? = nil) { + self.registrationCode = registrationCode } private enum CodingKeys: String, CodingKey { - case certificates = "certificates" - case nextMarker = "nextMarker" + case registrationCode = "registrationCode" } } @@ -5363,6 +7609,32 @@ extension Iot { } } + public struct ListTargetsForPolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "marker", location: .querystring(locationName: "marker"), required: false, type: .string), + AWSShapeMember(label: "pageSize", location: .querystring(locationName: "pageSize"), required: false, type: .integer), + AWSShapeMember(label: "policyName", location: .uri(locationName: "policyName"), required: true, type: .string) + ] + /// A marker used to get the next set of results. + public let marker: String? + /// The maximum number of results to return at one time. + public let pageSize: Int32? + /// The policy name. + public let policyName: String + + public init(marker: String? = nil, pageSize: Int32? = nil, policyName: String) { + self.marker = marker + self.pageSize = pageSize + self.policyName = policyName + } + + private enum CodingKeys: String, CodingKey { + case marker = "marker" + case pageSize = "pageSize" + case policyName = "policyName" + } + } + public struct DeprecateThingTypeRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "thingTypeName", location: .uri(locationName: "thingTypeName"), required: true, type: .string), @@ -5389,6 +7661,7 @@ extension Iot { AWSShapeMember(label: "awsIotSqlVersion", required: false, type: .string), AWSShapeMember(label: "ruleDisabled", required: false, type: .boolean), AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "errorAction", required: false, type: .structure), AWSShapeMember(label: "actions", required: true, type: .list), AWSShapeMember(label: "sql", required: true, type: .string) ] @@ -5398,15 +7671,18 @@ extension Iot { public let ruleDisabled: Bool? /// The description of the rule. public let description: String? + /// The action to take when an error occurs. + public let errorAction: Action? /// The actions associated with the rule. public let actions: [Action] /// The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference in the AWS IoT Developer Guide. public let sql: String - public init(awsIotSqlVersion: String? = nil, ruleDisabled: Bool? = nil, description: String? = nil, actions: [Action], sql: String) { + public init(awsIotSqlVersion: String? = nil, ruleDisabled: Bool? = nil, description: String? = nil, errorAction: Action? = nil, actions: [Action], sql: String) { self.awsIotSqlVersion = awsIotSqlVersion self.ruleDisabled = ruleDisabled self.description = description + self.errorAction = errorAction self.actions = actions self.sql = sql } @@ -5415,6 +7691,7 @@ extension Iot { case awsIotSqlVersion = "awsIotSqlVersion" case ruleDisabled = "ruleDisabled" case description = "description" + case errorAction = "errorAction" case actions = "actions" case sql = "sql" } @@ -5432,10 +7709,55 @@ extension Iot { } private enum CodingKeys: String, CodingKey { - case authorizerDescription = "authorizerDescription" + case authorizerDescription = "authorizerDescription" + } + } + + public struct UpdateAccountAuditConfigurationResponse: AWSShape { + + } + + public struct DescribeSecurityProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "securityProfileName", location: .uri(locationName: "securityProfileName"), required: true, type: .string) + ] + /// The name of the security profile whose information you want to get. + public let securityProfileName: String + + public init(securityProfileName: String) { + self.securityProfileName = securityProfileName + } + + private enum CodingKeys: String, CodingKey { + case securityProfileName = "securityProfileName" + } + } + + public struct ListSecurityProfilesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// The token for the next set of results. + public let nextToken: String? + /// The maximum number of results to return at one time. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" } } + public struct DeleteScheduledAuditResponse: AWSShape { + + } + public struct KeyPair: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PublicKey", required: false, type: .string), @@ -5481,22 +7803,6 @@ extension Iot { } - public struct DeleteTopicRuleRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ruleName", location: .uri(locationName: "ruleName"), required: true, type: .string) - ] - /// The name of the rule. - public let ruleName: String - - public init(ruleName: String) { - self.ruleName = ruleName - } - - private enum CodingKeys: String, CodingKey { - case ruleName = "ruleName" - } - } - public struct ListIndicesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), @@ -5570,6 +7876,22 @@ extension Iot { } } + public struct DeleteTopicRuleRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ruleName", location: .uri(locationName: "ruleName"), required: true, type: .string) + ] + /// The name of the rule. + public let ruleName: String + + public init(ruleName: String) { + self.ruleName = ruleName + } + + private enum CodingKeys: String, CodingKey { + case ruleName = "ruleName" + } + } + public struct OutgoingCertificate: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "transferMessage", required: false, type: .string), @@ -5706,33 +8028,59 @@ extension Iot { } } + public struct ListStreamsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "ascendingOrder", location: .querystring(locationName: "isAscendingOrder"), required: false, type: .boolean), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// A token used to get the next set of results. + public let nextToken: String? + /// Set to true to return the list of streams in ascending order. + public let ascendingOrder: Bool? + /// The maximum number of results to return at a time. + public let maxResults: Int32? + + public init(nextToken: String? = nil, ascendingOrder: Bool? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.ascendingOrder = ascendingOrder + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case ascendingOrder = "isAscendingOrder" + case maxResults = "maxResults" + } + } + public struct CreatePolicyVersionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "policyArn", required: false, type: .string), - AWSShapeMember(label: "policyVersionId", required: false, type: .string), AWSShapeMember(label: "isDefaultVersion", required: false, type: .boolean), + AWSShapeMember(label: "policyVersionId", required: false, type: .string), + AWSShapeMember(label: "policyArn", required: false, type: .string), AWSShapeMember(label: "policyDocument", required: false, type: .string) ] - /// The policy ARN. - public let policyArn: String? - /// The policy version ID. - public let policyVersionId: String? /// Specifies whether the policy version is the default. public let isDefaultVersion: Bool? + /// The policy version ID. + public let policyVersionId: String? + /// The policy ARN. + public let policyArn: String? /// The JSON document that describes the policy. public let policyDocument: String? - public init(policyArn: String? = nil, policyVersionId: String? = nil, isDefaultVersion: Bool? = nil, policyDocument: String? = nil) { - self.policyArn = policyArn - self.policyVersionId = policyVersionId + public init(isDefaultVersion: Bool? = nil, policyVersionId: String? = nil, policyArn: String? = nil, policyDocument: String? = nil) { self.isDefaultVersion = isDefaultVersion + self.policyVersionId = policyVersionId + self.policyArn = policyArn self.policyDocument = policyDocument } private enum CodingKeys: String, CodingKey { - case policyArn = "policyArn" - case policyVersionId = "policyVersionId" case isDefaultVersion = "isDefaultVersion" + case policyVersionId = "policyVersionId" + case policyArn = "policyArn" case policyDocument = "policyDocument" } } @@ -5753,11 +8101,15 @@ extension Iot { } } + public struct DeleteStreamResponse: AWSShape { + + } + public struct CancelCertificateTransferRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "certificateId", location: .uri(locationName: "certificateId"), required: true, type: .string) ] - /// The ID of the certificate. + /// The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.) public let certificateId: String public init(certificateId: String) { @@ -5769,6 +8121,48 @@ extension Iot { } } + public struct UpdateScheduledAuditResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "scheduledAuditArn", required: false, type: .string) + ] + /// The ARN of the scheduled audit. + public let scheduledAuditArn: String? + + public init(scheduledAuditArn: String? = nil) { + self.scheduledAuditArn = scheduledAuditArn + } + + private enum CodingKeys: String, CodingKey { + case scheduledAuditArn = "scheduledAuditArn" + } + } + + public struct Behavior: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "metric", required: false, type: .string), + AWSShapeMember(label: "criteria", required: false, type: .structure) + ] + /// The name you have given to the behavior. + public let name: String + /// What is measured by the behavior. + public let metric: String? + /// The criteria that determine if a device is behaving normally in regard to the metric. + public let criteria: BehaviorCriteria? + + public init(name: String, metric: String? = nil, criteria: BehaviorCriteria? = nil) { + self.name = name + self.metric = metric + self.criteria = criteria + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case metric = "metric" + case criteria = "criteria" + } + } + public struct DeleteCertificateRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "forceDelete", location: .querystring(locationName: "forceDelete"), required: false, type: .boolean), @@ -5776,7 +8170,7 @@ extension Iot { ] /// Forces a certificate request to be deleted. public let forceDelete: Bool? - /// The ID of the certificate. + /// The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.) public let certificateId: String public init(forceDelete: Bool? = nil, certificateId: String) { @@ -5794,6 +8188,22 @@ extension Iot { } + public struct StartThingRegistrationTaskResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "taskId", required: false, type: .string) + ] + /// The bulk thing provisioning task ID. + public let taskId: String? + + public init(taskId: String? = nil) { + self.taskId = taskId + } + + private enum CodingKeys: String, CodingKey { + case taskId = "taskId" + } + } + public struct DescribeThingRegistrationTaskRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "taskId", location: .uri(locationName: "taskId"), required: true, type: .string) @@ -5810,19 +8220,29 @@ extension Iot { } } - public struct StartThingRegistrationTaskResponse: AWSShape { + public struct CodeSigningCertificateChain: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "taskId", required: false, type: .string) + AWSShapeMember(label: "inlineDocument", required: false, type: .string), + AWSShapeMember(label: "certificateName", required: false, type: .string), + AWSShapeMember(label: "stream", required: false, type: .structure) ] - /// The bulk thing provisioning task ID. - public let taskId: String? + /// A base64 encoded binary representation of the code signing certificate chain. + public let inlineDocument: String? + /// The name of the certificate. + public let certificateName: String? + /// A stream of the certificate chain files. + public let stream: Stream? - public init(taskId: String? = nil) { - self.taskId = taskId + public init(inlineDocument: String? = nil, certificateName: String? = nil, stream: Stream? = nil) { + self.inlineDocument = inlineDocument + self.certificateName = certificateName + self.stream = stream } private enum CodingKeys: String, CodingKey { - case taskId = "taskId" + case inlineDocument = "inlineDocument" + case certificateName = "certificateName" + case stream = "stream" } } @@ -5852,6 +8272,32 @@ extension Iot { } } + public struct S3Location: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "key", required: true, type: .string), + AWSShapeMember(label: "version", required: false, type: .string), + AWSShapeMember(label: "bucket", required: true, type: .string) + ] + /// The name of the file within the S3 bucket to stream. + public let key: String + /// The file version. + public let version: String? + /// The S3 bucket that contains the file to stream. + public let bucket: String + + public init(key: String, version: String? = nil, bucket: String) { + self.key = key + self.version = version + self.bucket = bucket + } + + private enum CodingKeys: String, CodingKey { + case key = "key" + case version = "version" + case bucket = "bucket" + } + } + public struct ListOutgoingCertificatesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "marker", location: .querystring(locationName: "marker"), required: false, type: .string), @@ -5878,6 +8324,27 @@ extension Iot { } } + public struct ListSecurityProfilesForTargetResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "securityProfileTargetMappings", required: false, type: .list) + ] + /// A token that can be used to retrieve the next set of results, or null if there are no additional results. + public let nextToken: String? + /// A list of security profiles and their associated targets. + public let securityProfileTargetMappings: [SecurityProfileTargetMapping]? + + public init(nextToken: String? = nil, securityProfileTargetMappings: [SecurityProfileTargetMapping]? = nil) { + self.nextToken = nextToken + self.securityProfileTargetMappings = securityProfileTargetMappings + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case securityProfileTargetMappings = "securityProfileTargetMappings" + } + } + public struct GetPolicyRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "policyName", location: .uri(locationName: "policyName"), required: true, type: .string) @@ -5945,6 +8412,35 @@ extension Iot { } } + public enum AuditTaskStatus: String, CustomStringConvertible, Codable { + case inProgress = "IN_PROGRESS" + case completed = "COMPLETED" + case failed = "FAILED" + case canceled = "CANCELED" + public var description: String { return self.rawValue } + } + + public struct ListThingsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "things", required: false, type: .list) + ] + /// The token used to get the next set of results, or null if there are no additional results. + public let nextToken: String? + /// The things. + public let things: [ThingAttribute]? + + public init(nextToken: String? = nil, things: [ThingAttribute]? = nil) { + self.nextToken = nextToken + self.things = things + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case things = "things" + } + } + public struct AssociateTargetsWithJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "comment", required: false, type: .string), @@ -5971,36 +8467,46 @@ extension Iot { } } - public struct ListThingsResponse: AWSShape { + public enum Status: String, CustomStringConvertible, Codable { + case inprogress = "InProgress" + case completed = "Completed" + case failed = "Failed" + case cancelled = "Cancelled" + case cancelling = "Cancelling" + public var description: String { return self.rawValue } + } + + public struct ListSecurityProfilesForTargetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "things", required: false, type: .list) + AWSShapeMember(label: "securityProfileTargetArn", location: .querystring(locationName: "securityProfileTargetArn"), required: true, type: .string), + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), + AWSShapeMember(label: "recursive", location: .querystring(locationName: "recursive"), required: false, type: .boolean) ] - /// The token used to get the next set of results, or null if there are no additional results. + /// The ARN of the target (thing group) whose attached security profiles you want to get. + public let securityProfileTargetArn: String + /// The token for the next set of results. public let nextToken: String? - /// The things. - public let things: [ThingAttribute]? + /// The maximum number of results to return at one time. + public let maxResults: Int32? + /// If true, return child groups as well. + public let recursive: Bool? - public init(nextToken: String? = nil, things: [ThingAttribute]? = nil) { + public init(securityProfileTargetArn: String, nextToken: String? = nil, maxResults: Int32? = nil, recursive: Bool? = nil) { + self.securityProfileTargetArn = securityProfileTargetArn self.nextToken = nextToken - self.things = things + self.maxResults = maxResults + self.recursive = recursive } private enum CodingKeys: String, CodingKey { + case securityProfileTargetArn = "securityProfileTargetArn" case nextToken = "nextToken" - case things = "things" + case maxResults = "maxResults" + case recursive = "recursive" } } - public enum Status: String, CustomStringConvertible, Codable { - case inprogress = "InProgress" - case completed = "Completed" - case failed = "Failed" - case cancelled = "Cancelled" - case cancelling = "Cancelling" - public var description: String { return self.rawValue } - } - public enum LogLevel: String, CustomStringConvertible, Codable { case debug = "DEBUG" case info = "INFO" @@ -6018,15 +8524,92 @@ extension Iot { public var description: String { return self.rawValue } } - public enum JobExecutionStatus: String, CustomStringConvertible, Codable { - case queued = "QUEUED" - case inProgress = "IN_PROGRESS" - case succeeded = "SUCCEEDED" - case failed = "FAILED" - case rejected = "REJECTED" - case removed = "REMOVED" - case canceled = "CANCELED" - public var description: String { return self.rawValue } + public struct DescribeScheduledAuditResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "targetCheckNames", required: false, type: .list), + AWSShapeMember(label: "dayOfWeek", required: false, type: .enum), + AWSShapeMember(label: "scheduledAuditArn", required: false, type: .string), + AWSShapeMember(label: "scheduledAuditName", required: false, type: .string), + AWSShapeMember(label: "dayOfMonth", required: false, type: .string), + AWSShapeMember(label: "frequency", required: false, type: .enum) + ] + /// 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.) + public let targetCheckNames: [String]? + /// The day of the week on which the scheduled audit takes place. One of "SUN", "MON", "TUE", "WED", "THU", "FRI" or "SAT". + public let dayOfWeek: DayOfWeek? + /// The ARN of the scheduled audit. + public let scheduledAuditArn: String? + /// The name of the scheduled audit. + public let scheduledAuditName: String? + /// 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. + public let dayOfMonth: String? + /// 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. + public let frequency: AuditFrequency? + + public init(targetCheckNames: [String]? = nil, dayOfWeek: DayOfWeek? = nil, scheduledAuditArn: String? = nil, scheduledAuditName: String? = nil, dayOfMonth: String? = nil, frequency: AuditFrequency? = nil) { + self.targetCheckNames = targetCheckNames + self.dayOfWeek = dayOfWeek + self.scheduledAuditArn = scheduledAuditArn + self.scheduledAuditName = scheduledAuditName + self.dayOfMonth = dayOfMonth + self.frequency = frequency + } + + private enum CodingKeys: String, CodingKey { + case targetCheckNames = "targetCheckNames" + case dayOfWeek = "dayOfWeek" + case scheduledAuditArn = "scheduledAuditArn" + case scheduledAuditName = "scheduledAuditName" + case dayOfMonth = "dayOfMonth" + case frequency = "frequency" + } + } + + public enum AuditCheckRunStatus: String, CustomStringConvertible, Codable { + case inProgress = "IN_PROGRESS" + case waitingForDataCollection = "WAITING_FOR_DATA_COLLECTION" + case canceled = "CANCELED" + case completedCompliant = "COMPLETED_COMPLIANT" + case completedNonCompliant = "COMPLETED_NON_COMPLIANT" + case failed = "FAILED" + public var description: String { return self.rawValue } + } + + public enum JobExecutionStatus: String, CustomStringConvertible, Codable { + case queued = "QUEUED" + case inProgress = "IN_PROGRESS" + case succeeded = "SUCCEEDED" + case failed = "FAILED" + case rejected = "REJECTED" + case removed = "REMOVED" + case canceled = "CANCELED" + public var description: String { return self.rawValue } + } + + public struct ListOTAUpdatesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "otaUpdateStatus", location: .querystring(locationName: "otaUpdateStatus"), required: false, type: .enum), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string) + ] + /// The OTA update job status. + public let otaUpdateStatus: OTAUpdateStatus? + /// The maximum number of results to return at one time. + public let maxResults: Int32? + /// A token used to retrieve the next set of results. + public let nextToken: String? + + public init(otaUpdateStatus: OTAUpdateStatus? = nil, maxResults: Int32? = nil, nextToken: String? = nil) { + self.otaUpdateStatus = otaUpdateStatus + self.maxResults = maxResults + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case otaUpdateStatus = "otaUpdateStatus" + case maxResults = "maxResults" + case nextToken = "nextToken" + } } public struct ListThingRegistrationTasksResponse: AWSShape { @@ -6071,6 +8654,61 @@ extension Iot { } } + public enum CertificateStatus: String, CustomStringConvertible, Codable { + case active = "ACTIVE" + case inactive = "INACTIVE" + case revoked = "REVOKED" + case pendingTransfer = "PENDING_TRANSFER" + case registerInactive = "REGISTER_INACTIVE" + case pendingActivation = "PENDING_ACTIVATION" + public var description: String { return self.rawValue } + } + + public struct AuditCheckDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "totalResourcesCount", required: false, type: .long), + AWSShapeMember(label: "errorCode", required: false, type: .string), + AWSShapeMember(label: "message", required: false, type: .string), + AWSShapeMember(label: "checkRunStatus", required: false, type: .enum), + AWSShapeMember(label: "checkCompliant", required: false, type: .boolean), + AWSShapeMember(label: "nonCompliantResourcesCount", required: false, type: .long) + ] + /// The number of resources on which the check was performed. + public let totalResourcesCount: Int64? + /// The code of any error encountered when performing this check during this audit. One of "INSUFFICIENT_PERMISSIONS", or "AUDIT_CHECK_DISABLED". + public let errorCode: String? + /// The message associated with any error encountered when performing this check during this audit. + public let message: String? + /// The completion status of this check, one of "IN_PROGRESS", "WAITING_FOR_DATA_COLLECTION", "CANCELED", "COMPLETED_COMPLIANT", "COMPLETED_NON_COMPLIANT", or "FAILED". + public let checkRunStatus: AuditCheckRunStatus? + /// True if the check completed and found all resources compliant. + public let checkCompliant: Bool? + /// The number of resources that the check found non-compliant. + public let nonCompliantResourcesCount: Int64? + + public init(totalResourcesCount: Int64? = nil, errorCode: String? = nil, message: String? = nil, checkRunStatus: AuditCheckRunStatus? = nil, checkCompliant: Bool? = nil, nonCompliantResourcesCount: Int64? = nil) { + self.totalResourcesCount = totalResourcesCount + self.errorCode = errorCode + self.message = message + self.checkRunStatus = checkRunStatus + self.checkCompliant = checkCompliant + self.nonCompliantResourcesCount = nonCompliantResourcesCount + } + + private enum CodingKeys: String, CodingKey { + case totalResourcesCount = "totalResourcesCount" + case errorCode = "errorCode" + case message = "message" + case checkRunStatus = "checkRunStatus" + case checkCompliant = "checkCompliant" + case nonCompliantResourcesCount = "nonCompliantResourcesCount" + } + } + + public struct DeleteRoleAliasResponse: AWSShape { + + } + public struct ListThingGroupsForThingResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), @@ -6092,20 +8730,6 @@ extension Iot { } } - public enum CertificateStatus: String, CustomStringConvertible, Codable { - case active = "ACTIVE" - case inactive = "INACTIVE" - case revoked = "REVOKED" - case pendingTransfer = "PENDING_TRANSFER" - case registerInactive = "REGISTER_INACTIVE" - case pendingActivation = "PENDING_ACTIVATION" - public var description: String { return self.rawValue } - } - - public struct DeleteRoleAliasResponse: AWSShape { - - } - public struct DescribeThingTypeRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "thingTypeName", location: .uri(locationName: "thingTypeName"), required: true, type: .string) @@ -6122,6 +8746,22 @@ extension Iot { } } + public struct SecurityProfileTarget: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "arn", required: true, type: .string) + ] + /// The ARN of the security profile. + public let arn: String + + public init(arn: String) { + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case arn = "arn" + } + } + public struct JobExecutionSummaryForJob: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "jobExecutionSummary", required: false, type: .structure), @@ -6143,6 +8783,13 @@ extension Iot { } } + public enum ViolationEventType: String, CustomStringConvertible, Codable { + case inAlarm = "in-alarm" + case alarmCleared = "alarm-cleared" + case alarmInvalidated = "alarm-invalidated" + public var description: String { return self.rawValue } + } + public struct RegisterThingResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "resourceArns", required: false, type: .map), @@ -6150,6 +8797,7 @@ extension Iot { ] /// ARNs for the generated resources. public let resourceArns: [String: String]? + /// . public let certificatePem: String? public init(resourceArns: [String: String]? = nil, certificatePem: String? = nil) { @@ -6163,10 +8811,67 @@ extension Iot { } } + public struct ListOTAUpdatesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "otaUpdates", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// A list of OTA update jobs. + public let otaUpdates: [OTAUpdateSummary]? + /// A token to use to get the next set of results. + public let nextToken: String? + + public init(otaUpdates: [OTAUpdateSummary]? = nil, nextToken: String? = nil) { + self.otaUpdates = otaUpdates + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case otaUpdates = "otaUpdates" + case nextToken = "nextToken" + } + } + public struct DeleteThingGroupResponse: AWSShape { } + public struct CancelJobExecutionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "force", location: .querystring(locationName: "force"), required: false, type: .boolean), + AWSShapeMember(label: "thingName", location: .uri(locationName: "thingName"), required: true, type: .string), + AWSShapeMember(label: "expectedVersion", required: false, type: .long), + AWSShapeMember(label: "statusDetails", required: false, type: .map), + AWSShapeMember(label: "jobId", location: .uri(locationName: "jobId"), required: true, type: .string) + ] + /// (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. + public let force: Bool? + /// The name of the thing whose execution of the job will be canceled. + public let thingName: String + /// (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.) + public let expectedVersion: Int64? + /// 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. + public let statusDetails: [String: String]? + /// The ID of the job to be canceled. + public let jobId: String + + public init(force: Bool? = nil, thingName: String, expectedVersion: Int64? = nil, statusDetails: [String: String]? = nil, jobId: String) { + self.force = force + self.thingName = thingName + self.expectedVersion = expectedVersion + self.statusDetails = statusDetails + self.jobId = jobId + } + + private enum CodingKeys: String, CodingKey { + case force = "force" + case thingName = "thingName" + case expectedVersion = "expectedVersion" + case statusDetails = "statusDetails" + case jobId = "jobId" + } + } + public struct ListV2LoggingLevelsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), @@ -6224,16 +8929,176 @@ extension Iot { } } + public struct StreamInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "roleArn", required: false, type: .string), + AWSShapeMember(label: "streamVersion", required: false, type: .integer), + AWSShapeMember(label: "files", required: false, type: .list), + AWSShapeMember(label: "createdAt", required: false, type: .timestamp), + AWSShapeMember(label: "streamArn", required: false, type: .string), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "lastUpdatedAt", required: false, type: .timestamp), + AWSShapeMember(label: "streamId", required: false, type: .string) + ] + /// An IAM role AWS IoT assumes to access your S3 files. + public let roleArn: String? + /// The stream version. + public let streamVersion: Int32? + /// The files to stream. + public let files: [StreamFile]? + /// The date when the stream was created. + public let createdAt: TimeStamp? + /// The stream ARN. + public let streamArn: String? + /// The description of the stream. + public let description: String? + /// The date when the stream was last updated. + public let lastUpdatedAt: TimeStamp? + /// The stream ID. + public let streamId: String? + + public init(roleArn: String? = nil, streamVersion: Int32? = nil, files: [StreamFile]? = nil, createdAt: TimeStamp? = nil, streamArn: String? = nil, description: String? = nil, lastUpdatedAt: TimeStamp? = nil, streamId: String? = nil) { + self.roleArn = roleArn + self.streamVersion = streamVersion + self.files = files + self.createdAt = createdAt + self.streamArn = streamArn + self.description = description + self.lastUpdatedAt = lastUpdatedAt + self.streamId = streamId + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "roleArn" + case streamVersion = "streamVersion" + case files = "files" + case createdAt = "createdAt" + case streamArn = "streamArn" + case description = "description" + case lastUpdatedAt = "lastUpdatedAt" + case streamId = "streamId" + } + } + + public struct DeleteSecurityProfileRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "securityProfileName", location: .uri(locationName: "securityProfileName"), required: true, type: .string), + AWSShapeMember(label: "expectedVersion", location: .querystring(locationName: "expectedVersion"), required: false, type: .long) + ] + /// The name of the security profile to be deleted. + public let securityProfileName: String + /// 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. + public let expectedVersion: Int64? + + public init(securityProfileName: String, expectedVersion: Int64? = nil) { + self.securityProfileName = securityProfileName + self.expectedVersion = expectedVersion + } + + private enum CodingKeys: String, CodingKey { + case securityProfileName = "securityProfileName" + case expectedVersion = "expectedVersion" + } + } + public enum LogTargetType: String, CustomStringConvertible, Codable { case `default` = "DEFAULT" case thingGroup = "THING_GROUP" public var description: String { return self.rawValue } } + public struct AlertTarget: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "alertTargetArn", required: true, type: .string), + AWSShapeMember(label: "roleArn", required: true, type: .string) + ] + /// The ARN of the notification target to which alerts are sent. + public let alertTargetArn: String + /// The ARN of the role that grants permission to send alerts to the notification target. + public let roleArn: String + + public init(alertTargetArn: String, roleArn: String) { + self.alertTargetArn = alertTargetArn + self.roleArn = roleArn + } + + private enum CodingKeys: String, CodingKey { + case alertTargetArn = "alertTargetArn" + case roleArn = "roleArn" + } + } + + public struct ListTargetsForSecurityProfileResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "securityProfileTargets", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// The thing groups to which the security profile is attached. + public let securityProfileTargets: [SecurityProfileTarget]? + /// A token that can be used to retrieve the next set of results, or null if there are no additional results. + public let nextToken: String? + + public init(securityProfileTargets: [SecurityProfileTarget]? = nil, nextToken: String? = nil) { + self.securityProfileTargets = securityProfileTargets + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case securityProfileTargets = "securityProfileTargets" + case nextToken = "nextToken" + } + } + public struct AttachThingPrincipalResponse: AWSShape { } + public struct CreateOTAUpdateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "roleArn", required: true, type: .string), + AWSShapeMember(label: "files", required: true, type: .list), + AWSShapeMember(label: "otaUpdateId", location: .uri(locationName: "otaUpdateId"), required: true, type: .string), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "additionalParameters", required: false, type: .map), + AWSShapeMember(label: "targets", required: true, type: .list), + AWSShapeMember(label: "targetSelection", required: false, type: .enum) + ] + /// The IAM role that allows access to the AWS IoT Jobs service. + public let roleArn: String + /// The files to be streamed by the OTA update. + public let files: [OTAUpdateFile] + /// The ID of the OTA update to be created. + public let otaUpdateId: String + /// The description of the OTA update. + public let description: String? + /// A list of additional OTA update parameters which are name-value pairs. + public let additionalParameters: [String: String]? + /// The targeted devices to receive OTA updates. + public let targets: [String] + /// 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. + public let targetSelection: TargetSelection? + + public init(roleArn: String, files: [OTAUpdateFile], otaUpdateId: String, description: String? = nil, additionalParameters: [String: String]? = nil, targets: [String], targetSelection: TargetSelection? = nil) { + self.roleArn = roleArn + self.files = files + self.otaUpdateId = otaUpdateId + self.description = description + self.additionalParameters = additionalParameters + self.targets = targets + self.targetSelection = targetSelection + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "roleArn" + case files = "files" + case otaUpdateId = "otaUpdateId" + case description = "description" + case additionalParameters = "additionalParameters" + case targets = "targets" + case targetSelection = "targetSelection" + } + } + public struct Job: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "jobExecutionsRolloutConfig", required: false, type: .structure), @@ -6241,14 +9106,14 @@ extension Iot { AWSShapeMember(label: "description", required: false, type: .string), AWSShapeMember(label: "lastUpdatedAt", required: false, type: .timestamp), AWSShapeMember(label: "targetSelection", required: false, type: .enum), + AWSShapeMember(label: "forceCanceled", required: false, type: .boolean), AWSShapeMember(label: "status", required: false, type: .enum), AWSShapeMember(label: "jobArn", required: false, type: .string), AWSShapeMember(label: "jobProcessDetails", required: false, type: .structure), AWSShapeMember(label: "presignedUrlConfig", required: false, type: .structure), - AWSShapeMember(label: "documentParameters", required: false, type: .map), + AWSShapeMember(label: "completedAt", required: false, type: .timestamp), AWSShapeMember(label: "comment", required: false, type: .string), AWSShapeMember(label: "targets", required: false, type: .list), - AWSShapeMember(label: "completedAt", required: false, type: .timestamp), AWSShapeMember(label: "jobId", required: false, type: .string) ] /// Allows you to create a staged rollout of a job. @@ -6261,6 +9126,8 @@ extension Iot { public let lastUpdatedAt: TimeStamp? /// 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. public let targetSelection: TargetSelection? + /// Will be true if the job was canceled with the optional force parameter set to true. + public let forceCanceled: Bool? /// The status of the job, one of IN_PROGRESS, CANCELED, or COMPLETED. public let status: JobStatus? /// An ARN identifying the job with format "arn:aws:iot:region:account:job/jobId". @@ -6269,31 +9136,29 @@ extension Iot { public let jobProcessDetails: JobProcessDetails? /// Configuration for pre-signed S3 URLs. public let presignedUrlConfig: PresignedUrlConfig? - /// The parameters specified for the job document. - public let documentParameters: [String: String]? + /// The time, in milliseconds since the epoch, when the job was completed. + public let completedAt: TimeStamp? /// If the job was updated, describes the reason for the update. public let comment: String? /// A list of IoT things and thing groups to which the job should be sent. public let targets: [String]? - /// The time, in milliseconds since the epoch, when the job was completed. - public let completedAt: TimeStamp? /// The unique identifier you assigned to this job when it was created. public let jobId: String? - public init(jobExecutionsRolloutConfig: JobExecutionsRolloutConfig? = nil, createdAt: TimeStamp? = nil, description: String? = nil, lastUpdatedAt: TimeStamp? = nil, targetSelection: TargetSelection? = nil, status: JobStatus? = nil, jobArn: String? = nil, jobProcessDetails: JobProcessDetails? = nil, presignedUrlConfig: PresignedUrlConfig? = nil, documentParameters: [String: String]? = nil, comment: String? = nil, targets: [String]? = nil, completedAt: TimeStamp? = nil, jobId: String? = nil) { + public init(jobExecutionsRolloutConfig: JobExecutionsRolloutConfig? = nil, createdAt: TimeStamp? = nil, description: String? = nil, lastUpdatedAt: TimeStamp? = nil, targetSelection: TargetSelection? = nil, forceCanceled: Bool? = nil, status: JobStatus? = nil, jobArn: String? = nil, jobProcessDetails: JobProcessDetails? = nil, presignedUrlConfig: PresignedUrlConfig? = nil, completedAt: TimeStamp? = nil, comment: String? = nil, targets: [String]? = nil, jobId: String? = nil) { self.jobExecutionsRolloutConfig = jobExecutionsRolloutConfig self.createdAt = createdAt self.description = description self.lastUpdatedAt = lastUpdatedAt self.targetSelection = targetSelection + self.forceCanceled = forceCanceled self.status = status self.jobArn = jobArn self.jobProcessDetails = jobProcessDetails self.presignedUrlConfig = presignedUrlConfig - self.documentParameters = documentParameters + self.completedAt = completedAt self.comment = comment self.targets = targets - self.completedAt = completedAt self.jobId = jobId } @@ -6303,18 +9168,48 @@ extension Iot { case description = "description" case lastUpdatedAt = "lastUpdatedAt" case targetSelection = "targetSelection" + case forceCanceled = "forceCanceled" case status = "status" case jobArn = "jobArn" case jobProcessDetails = "jobProcessDetails" case presignedUrlConfig = "presignedUrlConfig" - case documentParameters = "documentParameters" + case completedAt = "completedAt" case comment = "comment" case targets = "targets" - case completedAt = "completedAt" case jobId = "jobId" } } + public struct CancelAuditTaskResponse: AWSShape { + + } + + public struct AuditNotificationTarget: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "roleArn", required: false, type: .string), + AWSShapeMember(label: "enabled", required: false, type: .boolean), + AWSShapeMember(label: "targetArn", required: false, type: .string) + ] + /// The ARN of the role that grants permission to send notifications to the target. + public let roleArn: String? + /// True if notifications to the target are enabled. + public let enabled: Bool? + /// The ARN of the target (SNS topic) to which audit notifications are sent. + public let targetArn: String? + + public init(roleArn: String? = nil, enabled: Bool? = nil, targetArn: String? = nil) { + self.roleArn = roleArn + self.enabled = enabled + self.targetArn = targetArn + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "roleArn" + case enabled = "enabled" + case targetArn = "targetArn" + } + } + public struct DeleteAuthorizerRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "authorizerName", location: .uri(locationName: "authorizerName"), required: true, type: .string) @@ -6331,6 +9226,22 @@ extension Iot { } } + public struct CreateScheduledAuditResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "scheduledAuditArn", required: false, type: .string) + ] + /// The ARN of the scheduled audit. + public let scheduledAuditArn: String? + + public init(scheduledAuditArn: String? = nil) { + self.scheduledAuditArn = scheduledAuditArn + } + + private enum CodingKeys: String, CodingKey { + case scheduledAuditArn = "scheduledAuditArn" + } + } + public struct DeleteThingRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "expectedVersion", location: .querystring(locationName: "expectedVersion"), required: false, type: .long), @@ -6354,42 +9265,47 @@ extension Iot { public struct RoleAliasDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "owner", required: false, type: .string), AWSShapeMember(label: "roleAlias", required: false, type: .string), + AWSShapeMember(label: "roleArn", required: false, type: .string), AWSShapeMember(label: "creationDate", required: false, type: .timestamp), + AWSShapeMember(label: "owner", required: false, type: .string), AWSShapeMember(label: "credentialDurationSeconds", required: false, type: .integer), - AWSShapeMember(label: "roleArn", required: false, type: .string), - AWSShapeMember(label: "lastModifiedDate", required: false, type: .timestamp) + AWSShapeMember(label: "lastModifiedDate", required: false, type: .timestamp), + AWSShapeMember(label: "roleAliasArn", required: false, type: .string) ] - /// The role alias owner. - public let owner: String? /// The role alias. public let roleAlias: String? + /// The role ARN. + public let roleArn: String? /// The UNIX timestamp of when the role alias was created. public let creationDate: TimeStamp? + /// The role alias owner. + public let owner: String? /// The number of seconds for which the credential is valid. public let credentialDurationSeconds: Int32? - /// The role ARN. - public let roleArn: String? /// The UNIX timestamp of when the role alias was last modified. public let lastModifiedDate: TimeStamp? + /// The ARN of the role alias. + public let roleAliasArn: String? - public init(owner: String? = nil, roleAlias: String? = nil, creationDate: TimeStamp? = nil, credentialDurationSeconds: Int32? = nil, roleArn: String? = nil, lastModifiedDate: TimeStamp? = nil) { - self.owner = owner + public init(roleAlias: String? = nil, roleArn: String? = nil, creationDate: TimeStamp? = nil, owner: String? = nil, credentialDurationSeconds: Int32? = nil, lastModifiedDate: TimeStamp? = nil, roleAliasArn: String? = nil) { self.roleAlias = roleAlias + self.roleArn = roleArn self.creationDate = creationDate + self.owner = owner self.credentialDurationSeconds = credentialDurationSeconds - self.roleArn = roleArn self.lastModifiedDate = lastModifiedDate + self.roleAliasArn = roleAliasArn } private enum CodingKeys: String, CodingKey { - case owner = "owner" case roleAlias = "roleAlias" + case roleArn = "roleArn" case creationDate = "creationDate" + case owner = "owner" case credentialDurationSeconds = "credentialDurationSeconds" - case roleArn = "roleArn" case lastModifiedDate = "lastModifiedDate" + case roleAliasArn = "roleAliasArn" } } diff --git a/Sources/AWSSDKSwift/Services/iot1click-devices/Iot1clickDevices_API.swift b/Sources/AWSSDKSwift/Services/iot1click-devices/Iot1clickDevices_API.swift new file mode 100644 index 00000000000..e294ca026e9 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/iot1click-devices/Iot1clickDevices_API.swift @@ -0,0 +1,92 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +Stub description +*/ +public struct Iot1clickDevices { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + service: "devices.iot1click", + serviceProtocol: ServiceProtocol(type: .restjson, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2018-05-14", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [Iot1clickDevicesError.self] + ) + } + + /// Given a device ID, finalizes the claim request for the associated device. + /// Claiming a device consists of initiating a claim, then publishing a device + /// event, and finalizing the claim. For a device of type button, a + /// device event can be published by simply clicking the device. + /// + public func finalizeDeviceClaim(_ input: FinalizeDeviceClaimRequest) throws -> FinalizeDeviceClaimResponse { + return try client.send(operation: "FinalizeDeviceClaim", path: "/devices/{deviceId}/finalize-claim", httpMethod: "PUT", input: input) + } + + /// Given a device ID, initiates a claim request for the associated device. + /// Claiming a device consists of initiating a claim, then publishing a device + /// event, and finalizing the claim. For a device of type button, a + /// device event can be published by simply clicking the device. + /// + public func initiateDeviceClaim(_ input: InitiateDeviceClaimRequest) throws -> InitiateDeviceClaimResponse { + return try client.send(operation: "InitiateDeviceClaim", path: "/devices/{deviceId}/initiate-claim", httpMethod: "PUT", input: input) + } + + /// Given a device ID, issues a request to invoke a named device method (with possible + /// parameters). See the "Example POST" code snippet below. + public func invokeDeviceMethod(_ input: InvokeDeviceMethodRequest) throws -> InvokeDeviceMethodResponse { + return try client.send(operation: "InvokeDeviceMethod", path: "/devices/{deviceId}/methods", httpMethod: "POST", input: input) + } + + /// Using a device ID, returns a DeviceEventsResponse object containing + /// an array of events for the device. + public func listDeviceEvents(_ input: ListDeviceEventsRequest) throws -> ListDeviceEventsResponse { + return try client.send(operation: "ListDeviceEvents", path: "/devices/{deviceId}/events", httpMethod: "GET", input: input) + } + + /// Given a device ID, returns a DescribeDeviceResponse object describing + /// the details of the device. + public func describeDevice(_ input: DescribeDeviceRequest) throws -> DescribeDeviceResponse { + return try client.send(operation: "DescribeDevice", path: "/devices/{deviceId}", httpMethod: "GET", input: input) + } + + /// Adds device(s) to your account (i.e., claim one or more devices) if and only if + /// you received a claim code with the device(s). + public func claimDevicesByClaimCode(_ input: ClaimDevicesByClaimCodeRequest) throws -> ClaimDevicesByClaimCodeResponse { + return try client.send(operation: "ClaimDevicesByClaimCode", path: "/claims/{claimCode}", httpMethod: "PUT", input: input) + } + + /// Disassociates a device from your AWS account using its device ID. + public func unclaimDevice(_ input: UnclaimDeviceRequest) throws -> UnclaimDeviceResponse { + return try client.send(operation: "UnclaimDevice", path: "/devices/{deviceId}/unclaim", httpMethod: "PUT", input: input) + } + + /// Using a Boolean value (true or false), this operation + /// enables or disables the device given a device ID. + public func updateDeviceState(_ input: UpdateDeviceStateRequest) throws -> UpdateDeviceStateResponse { + return try client.send(operation: "UpdateDeviceState", path: "/devices/{deviceId}/state", httpMethod: "PUT", input: input) + } + + /// Given a device ID, returns the invokable methods associated with the + /// device. + public func getDeviceMethods(_ input: GetDeviceMethodsRequest) throws -> GetDeviceMethodsResponse { + return try client.send(operation: "GetDeviceMethods", path: "/devices/{deviceId}/methods", httpMethod: "GET", input: input) + } + + /// Lists the 1-Click compatible devices associated with your AWS account. + public func listDevices(_ input: ListDevicesRequest) throws -> ListDevicesResponse { + return try client.send(operation: "ListDevices", path: "/devices", httpMethod: "GET", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/iot1click-devices/Iot1clickDevices_Error.swift b/Sources/AWSSDKSwift/Services/iot1click-devices/Iot1clickDevices_Error.swift new file mode 100644 index 00000000000..551b7671b2b --- /dev/null +++ b/Sources/AWSSDKSwift/Services/iot1click-devices/Iot1clickDevices_Error.swift @@ -0,0 +1,41 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Iot1clickDevices +public enum Iot1clickDevicesError: AWSErrorType { + case resourceNotFoundException(message: String?) + case invalidRequestException(message: String?) + case internalFailureException(message: String?) + case preconditionFailedException(message: String?) + case resourceConflictException(message: String?) + case rangeNotSatisfiableException(message: String?) + case forbiddenException(message: String?) +} + +extension Iot1clickDevicesError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "ResourceNotFoundException": + self = .resourceNotFoundException(message: message) + case "InvalidRequestException": + self = .invalidRequestException(message: message) + case "InternalFailureException": + self = .internalFailureException(message: message) + case "PreconditionFailedException": + self = .preconditionFailedException(message: message) + case "ResourceConflictException": + self = .resourceConflictException(message: message) + case "RangeNotSatisfiableException": + self = .rangeNotSatisfiableException(message: message) + case "ForbiddenException": + self = .forbiddenException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/iot1click-devices/Iot1clickDevices_Shapes.swift b/Sources/AWSSDKSwift/Services/iot1click-devices/Iot1clickDevices_Shapes.swift new file mode 100644 index 00000000000..7df0a029ab1 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/iot1click-devices/Iot1clickDevices_Shapes.swift @@ -0,0 +1,509 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Iot1clickDevices { + + public struct ListDevicesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "DeviceType", location: .querystring(locationName: "deviceType"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + public let nextToken: String? + public let deviceType: String? + public let maxResults: Int32? + + public init(nextToken: String? = nil, deviceType: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.deviceType = deviceType + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case deviceType = "deviceType" + case maxResults = "maxResults" + } + } + + public struct ListDeviceEventsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Events", location: .body(locationName: "events"), required: false, type: .list) + ] + public let nextToken: String? + public let events: [DeviceEvent]? + + public init(nextToken: String? = nil, events: [DeviceEvent]? = nil) { + self.nextToken = nextToken + self.events = events + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case events = "events" + } + } + + public struct DeviceMethod: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceType", location: .body(locationName: "deviceType"), required: false, type: .string), + AWSShapeMember(label: "MethodName", location: .body(locationName: "methodName"), required: false, type: .string) + ] + /// The type of the device, such as "button". + public let deviceType: String? + /// The name of the method applicable to the deviceType. + public let methodName: String? + + public init(deviceType: String? = nil, methodName: String? = nil) { + self.deviceType = deviceType + self.methodName = methodName + } + + private enum CodingKeys: String, CodingKey { + case deviceType = "deviceType" + case methodName = "methodName" + } + } + + public struct UnclaimDeviceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceId", location: .uri(locationName: "deviceId"), required: true, type: .string) + ] + public let deviceId: String + + public init(deviceId: String) { + self.deviceId = deviceId + } + + private enum CodingKeys: String, CodingKey { + case deviceId = "deviceId" + } + } + + public struct InitiateDeviceClaimResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .string) + ] + public let state: String? + + public init(state: String? = nil) { + self.state = state + } + + private enum CodingKeys: String, CodingKey { + case state = "state" + } + } + + public struct Attributes: AWSShape { + + } + + public struct ListDevicesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Devices", location: .body(locationName: "devices"), required: false, type: .list) + ] + /// The token to retrieve the next set of results. + public let nextToken: String? + /// A list of devices. + public let devices: [DeviceDescription]? + + public init(nextToken: String? = nil, devices: [DeviceDescription]? = nil) { + self.nextToken = nextToken + self.devices = devices + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case devices = "devices" + } + } + + public struct DeviceClaimResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .string) + ] + /// The device's final claim state. + public let state: String? + + public init(state: String? = nil) { + self.state = state + } + + private enum CodingKeys: String, CodingKey { + case state = "state" + } + } + + public struct InvokeDeviceMethodRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceMethod", location: .body(locationName: "deviceMethod"), required: false, type: .structure), + AWSShapeMember(label: "DeviceId", location: .uri(locationName: "deviceId"), required: true, type: .string), + AWSShapeMember(label: "DeviceMethodParameters", location: .body(locationName: "deviceMethodParameters"), required: false, type: .string) + ] + /// The device method to invoke. + public let deviceMethod: DeviceMethod? + public let deviceId: String + /// A JSON encoded string containing the device method request parameters. + public let deviceMethodParameters: String? + + public init(deviceMethod: DeviceMethod? = nil, deviceId: String, deviceMethodParameters: String? = nil) { + self.deviceMethod = deviceMethod + self.deviceId = deviceId + self.deviceMethodParameters = deviceMethodParameters + } + + private enum CodingKeys: String, CodingKey { + case deviceMethod = "deviceMethod" + case deviceId = "deviceId" + case deviceMethodParameters = "deviceMethodParameters" + } + } + + public struct ListDeviceEventsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ToTimeStamp", location: .querystring(locationName: "toTimeStamp"), required: true, type: .timestamp), + AWSShapeMember(label: "DeviceId", location: .uri(locationName: "deviceId"), required: true, type: .string), + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "FromTimeStamp", location: .querystring(locationName: "fromTimeStamp"), required: true, type: .timestamp), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + public let toTimeStamp: TimeStamp + public let deviceId: String + public let nextToken: String? + public let fromTimeStamp: TimeStamp + public let maxResults: Int32? + + public init(toTimeStamp: TimeStamp, deviceId: String, nextToken: String? = nil, fromTimeStamp: TimeStamp, maxResults: Int32? = nil) { + self.toTimeStamp = toTimeStamp + self.deviceId = deviceId + self.nextToken = nextToken + self.fromTimeStamp = fromTimeStamp + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case toTimeStamp = "toTimeStamp" + case deviceId = "deviceId" + case nextToken = "nextToken" + case fromTimeStamp = "fromTimeStamp" + case maxResults = "maxResults" + } + } + + public struct DeviceEvent: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StdEvent", location: .body(locationName: "stdEvent"), required: false, type: .string), + AWSShapeMember(label: "Device", location: .body(locationName: "device"), required: false, type: .structure) + ] + /// A serialized JSON object representing the device-type specific event. + public let stdEvent: String? + /// An object representing the device associated with the event. + public let device: Device? + + public init(stdEvent: String? = nil, device: Device? = nil) { + self.stdEvent = stdEvent + self.device = device + } + + private enum CodingKeys: String, CodingKey { + case stdEvent = "stdEvent" + case device = "device" + } + } + + public struct InitiateDeviceClaimRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceId", location: .uri(locationName: "deviceId"), required: true, type: .string) + ] + public let deviceId: String + + public init(deviceId: String) { + self.deviceId = deviceId + } + + private enum CodingKeys: String, CodingKey { + case deviceId = "deviceId" + } + } + + public struct ClaimDevicesByClaimCodeResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Total", location: .body(locationName: "total"), required: false, type: .integer), + AWSShapeMember(label: "ClaimCode", location: .body(locationName: "claimCode"), required: false, type: .string) + ] + /// The total number of devices associated with the claim code that has been processed + /// in the claim request. + public let total: Int32? + /// The claim code provided by the device manufacturer. + public let claimCode: String? + + public init(total: Int32? = nil, claimCode: String? = nil) { + self.total = total + self.claimCode = claimCode + } + + private enum CodingKeys: String, CodingKey { + case total = "total" + case claimCode = "claimCode" + } + } + + public struct ClaimDevicesByClaimCodeRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClaimCode", location: .uri(locationName: "claimCode"), required: true, type: .string) + ] + public let claimCode: String + + public init(claimCode: String) { + self.claimCode = claimCode + } + + private enum CodingKeys: String, CodingKey { + case claimCode = "claimCode" + } + } + + public struct UnclaimDeviceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .string) + ] + public let state: String? + + public init(state: String? = nil) { + self.state = state + } + + private enum CodingKeys: String, CodingKey { + case state = "state" + } + } + + public struct DeviceEventsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Events", location: .body(locationName: "events"), required: false, type: .list) + ] + /// The token to retrieve the next set of results. + public let nextToken: String? + /// An array of zero or more elements describing the event(s) associated with the + /// device. + public let events: [DeviceEvent]? + + public init(nextToken: String? = nil, events: [DeviceEvent]? = nil) { + self.nextToken = nextToken + self.events = events + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case events = "events" + } + } + + public struct GetDeviceMethodsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceId", location: .uri(locationName: "deviceId"), required: true, type: .string) + ] + public let deviceId: String + + public init(deviceId: String) { + self.deviceId = deviceId + } + + private enum CodingKeys: String, CodingKey { + case deviceId = "deviceId" + } + } + + public struct DescribeDeviceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceId", location: .uri(locationName: "deviceId"), required: true, type: .string) + ] + public let deviceId: String + + public init(deviceId: String) { + self.deviceId = deviceId + } + + private enum CodingKeys: String, CodingKey { + case deviceId = "deviceId" + } + } + + public struct DescribeDeviceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceDescription", location: .body(locationName: "deviceDescription"), required: false, type: .structure) + ] + /// Device details. + public let deviceDescription: DeviceDescription? + + public init(deviceDescription: DeviceDescription? = nil) { + self.deviceDescription = deviceDescription + } + + private enum CodingKeys: String, CodingKey { + case deviceDescription = "deviceDescription" + } + } + + public struct Empty: AWSShape { + + } + + public struct UpdateDeviceStateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceId", location: .uri(locationName: "deviceId"), required: true, type: .string), + AWSShapeMember(label: "Enabled", location: .body(locationName: "enabled"), required: false, type: .boolean) + ] + public let deviceId: String + /// If true, the device is enabled. If false, the device is + /// disabled. + public let enabled: Bool? + + public init(deviceId: String, enabled: Bool? = nil) { + self.deviceId = deviceId + self.enabled = enabled + } + + private enum CodingKeys: String, CodingKey { + case deviceId = "deviceId" + case enabled = "enabled" + } + } + + public struct GetDeviceMethodsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceMethods", location: .body(locationName: "deviceMethods"), required: false, type: .list) + ] + /// List of available device APIs. + public let deviceMethods: [DeviceMethod]? + + public init(deviceMethods: [DeviceMethod]? = nil) { + self.deviceMethods = deviceMethods + } + + private enum CodingKeys: String, CodingKey { + case deviceMethods = "deviceMethods" + } + } + + public struct UpdateDeviceStateResponse: AWSShape { + + } + + public struct Device: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .string), + AWSShapeMember(label: "Attributes", location: .body(locationName: "attributes"), required: false, type: .structure), + AWSShapeMember(label: "DeviceId", location: .body(locationName: "deviceId"), required: false, type: .string) + ] + /// The device type, such as "button". + public let `type`: String? + /// The user specified attributes associated with the device for an event. + public let attributes: Attributes? + /// The unique identifier of the device. + public let deviceId: String? + + public init(type: String? = nil, attributes: Attributes? = nil, deviceId: String? = nil) { + self.`type` = `type` + self.attributes = attributes + self.deviceId = deviceId + } + + private enum CodingKeys: String, CodingKey { + case `type` = "type" + case attributes = "attributes" + case deviceId = "deviceId" + } + } + + public struct FinalizeDeviceClaimResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .string) + ] + public let state: String? + + public init(state: String? = nil) { + self.state = state + } + + private enum CodingKeys: String, CodingKey { + case state = "state" + } + } + + public struct FinalizeDeviceClaimRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceId", location: .uri(locationName: "deviceId"), required: true, type: .string) + ] + public let deviceId: String + + public init(deviceId: String) { + self.deviceId = deviceId + } + + private enum CodingKeys: String, CodingKey { + case deviceId = "deviceId" + } + } + + public struct DeviceDescription: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RemainingLife", location: .body(locationName: "remainingLife"), required: false, type: .double), + AWSShapeMember(label: "Attributes", location: .body(locationName: "attributes"), required: false, type: .map), + AWSShapeMember(label: "DeviceId", location: .body(locationName: "deviceId"), required: false, type: .string), + AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .string), + AWSShapeMember(label: "Enabled", location: .body(locationName: "enabled"), required: false, type: .boolean) + ] + /// A value between 0 and 1 inclusive, representing the fraction of life remaining for + /// the device. + public let remainingLife: Double? + /// An array of zero or more elements of DeviceAttribute objects + /// providing user specified device attributes. + public let attributes: [String: String]? + /// The unique identifier of the device. + public let deviceId: String? + /// The type of the device, such as "button". + public let `type`: String? + /// A Boolean value indicating whether or not the device is enabled. + public let enabled: Bool? + + public init(remainingLife: Double? = nil, attributes: [String: String]? = nil, deviceId: String? = nil, type: String? = nil, enabled: Bool? = nil) { + self.remainingLife = remainingLife + self.attributes = attributes + self.deviceId = deviceId + self.`type` = `type` + self.enabled = enabled + } + + private enum CodingKeys: String, CodingKey { + case remainingLife = "remainingLife" + case attributes = "attributes" + case deviceId = "deviceId" + case `type` = "type" + case enabled = "enabled" + } + } + + public struct InvokeDeviceMethodResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeviceMethodResponse", location: .body(locationName: "deviceMethodResponse"), required: false, type: .string) + ] + /// A JSON encoded string containing the device method response. + public let deviceMethodResponse: String? + + public init(deviceMethodResponse: String? = nil) { + self.deviceMethodResponse = deviceMethodResponse + } + + private enum CodingKeys: String, CodingKey { + case deviceMethodResponse = "deviceMethodResponse" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/iot1click-projects/Iot1clickProjects_API.swift b/Sources/AWSSDKSwift/Services/iot1click-projects/Iot1clickProjects_API.swift new file mode 100644 index 00000000000..b55aeae1c59 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/iot1click-projects/Iot1clickProjects_API.swift @@ -0,0 +1,93 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +The AWS IoT 1-Click Project API Reference +*/ +public struct Iot1clickProjects { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + service: "projects.iot1click", + serviceProtocol: ServiceProtocol(type: .restjson, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2018-05-14", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [Iot1clickProjectsError.self] + ) + } + + /// Returns an object enumerating the devices in a placement. + public func getDevicesInPlacement(_ input: GetDevicesInPlacementRequest) throws -> GetDevicesInPlacementResponse { + return try client.send(operation: "GetDevicesInPlacement", path: "/projects/{projectName}/placements/{placementName}/devices", httpMethod: "GET", input: input) + } + + /// Removes a physical device from a placement. + public func disassociateDeviceFromPlacement(_ input: DisassociateDeviceFromPlacementRequest) throws -> DisassociateDeviceFromPlacementResponse { + return try client.send(operation: "DisassociateDeviceFromPlacement", path: "/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}", httpMethod: "DELETE", input: input) + } + + /// Associates a physical device with a placement. + public func associateDeviceWithPlacement(_ input: AssociateDeviceWithPlacementRequest) throws -> AssociateDeviceWithPlacementResponse { + return try client.send(operation: "AssociateDeviceWithPlacement", path: "/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}", httpMethod: "PUT", input: input) + } + + /// Lists the AWS IoT 1-Click project(s) associated with your AWS account and region. + public func listProjects(_ input: ListProjectsRequest) throws -> ListProjectsResponse { + return try client.send(operation: "ListProjects", path: "/projects", httpMethod: "GET", input: input) + } + + /// 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. + public func createProject(_ input: CreateProjectRequest) throws -> CreateProjectResponse { + return try client.send(operation: "CreateProject", path: "/projects", httpMethod: "POST", input: input) + } + + /// 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., ""). + public func updateProject(_ input: UpdateProjectRequest) throws -> UpdateProjectResponse { + return try client.send(operation: "UpdateProject", path: "/projects/{projectName}", httpMethod: "PUT", input: input) + } + + /// 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. + public func deleteProject(_ input: DeleteProjectRequest) throws -> DeleteProjectResponse { + return try client.send(operation: "DeleteProject", path: "/projects/{projectName}", httpMethod: "DELETE", input: input) + } + + /// Updates a placement with the given attributes. To clear an attribute, pass an empty value (i.e., ""). + public func updatePlacement(_ input: UpdatePlacementRequest) throws -> UpdatePlacementResponse { + return try client.send(operation: "UpdatePlacement", path: "/projects/{projectName}/placements/{placementName}", httpMethod: "PUT", input: input) + } + + /// Lists the placement(s) of a project. + public func listPlacements(_ input: ListPlacementsRequest) throws -> ListPlacementsResponse { + return try client.send(operation: "ListPlacements", path: "/projects/{projectName}/placements", httpMethod: "GET", input: input) + } + + /// Creates an empty placement. + public func createPlacement(_ input: CreatePlacementRequest) throws -> CreatePlacementResponse { + return try client.send(operation: "CreatePlacement", path: "/projects/{projectName}/placements", httpMethod: "POST", input: input) + } + + /// Describes a placement in a project. + public func describePlacement(_ input: DescribePlacementRequest) throws -> DescribePlacementResponse { + return try client.send(operation: "DescribePlacement", path: "/projects/{projectName}/placements/{placementName}", httpMethod: "GET", input: input) + } + + /// 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. + public func deletePlacement(_ input: DeletePlacementRequest) throws -> DeletePlacementResponse { + return try client.send(operation: "DeletePlacement", path: "/projects/{projectName}/placements/{placementName}", httpMethod: "DELETE", input: input) + } + + /// Returns an object describing a project. + public func describeProject(_ input: DescribeProjectRequest) throws -> DescribeProjectResponse { + return try client.send(operation: "DescribeProject", path: "/projects/{projectName}", httpMethod: "GET", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/iot1click-projects/Iot1clickProjects_Error.swift b/Sources/AWSSDKSwift/Services/iot1click-projects/Iot1clickProjects_Error.swift new file mode 100644 index 00000000000..51f73034d7c --- /dev/null +++ b/Sources/AWSSDKSwift/Services/iot1click-projects/Iot1clickProjects_Error.swift @@ -0,0 +1,35 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Iot1clickProjects +public enum Iot1clickProjectsError: AWSErrorType { + case internalFailureException(message: String?) + case invalidRequestException(message: String?) + case resourceNotFoundException(message: String?) + case tooManyRequestsException(message: String?) + case resourceConflictException(message: String?) +} + +extension Iot1clickProjectsError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "InternalFailureException": + self = .internalFailureException(message: message) + case "InvalidRequestException": + self = .invalidRequestException(message: message) + case "ResourceNotFoundException": + self = .resourceNotFoundException(message: message) + case "TooManyRequestsException": + self = .tooManyRequestsException(message: message) + case "ResourceConflictException": + self = .resourceConflictException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/iot1click-projects/Iot1clickProjects_Shapes.swift b/Sources/AWSSDKSwift/Services/iot1click-projects/Iot1clickProjects_Shapes.swift new file mode 100644 index 00000000000..5d3d89c0382 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/iot1click-projects/Iot1clickProjects_Shapes.swift @@ -0,0 +1,604 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Iot1clickProjects { + + public struct AssociateDeviceWithPlacementRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "deviceId", required: true, type: .string), + AWSShapeMember(label: "deviceTemplateName", location: .uri(locationName: "deviceTemplateName"), required: true, type: .string), + AWSShapeMember(label: "projectName", location: .uri(locationName: "projectName"), required: true, type: .string), + AWSShapeMember(label: "placementName", location: .uri(locationName: "placementName"), required: true, type: .string) + ] + /// 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. + public let deviceId: String + /// The device template name to associate with the device ID. + public let deviceTemplateName: String + /// The name of the project containing the placement in which to associate the device. + public let projectName: String + /// The name of the placement in which to associate the device. + public let placementName: String + + public init(deviceId: String, deviceTemplateName: String, projectName: String, placementName: String) { + self.deviceId = deviceId + self.deviceTemplateName = deviceTemplateName + self.projectName = projectName + self.placementName = placementName + } + + private enum CodingKeys: String, CodingKey { + case deviceId = "deviceId" + case deviceTemplateName = "deviceTemplateName" + case projectName = "projectName" + case placementName = "placementName" + } + } + + public struct ListProjectsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "projects", required: true, type: .list) + ] + /// The token used to retrieve the next set of results - will be effectively empty if there are no further results. + public let nextToken: String? + /// An object containing the list of projects. + public let projects: [ProjectSummary] + + public init(nextToken: String? = nil, projects: [ProjectSummary]) { + self.nextToken = nextToken + self.projects = projects + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case projects = "projects" + } + } + + public struct CreateProjectRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "placementTemplate", required: false, type: .structure), + AWSShapeMember(label: "projectName", required: true, type: .string), + AWSShapeMember(label: "description", required: false, type: .string) + ] + /// 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. + public let placementTemplate: PlacementTemplate? + /// The name of the project to create. + public let projectName: String + /// An optional description for the project. + public let description: String? + + public init(placementTemplate: PlacementTemplate? = nil, projectName: String, description: String? = nil) { + self.placementTemplate = placementTemplate + self.projectName = projectName + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case placementTemplate = "placementTemplate" + case projectName = "projectName" + case description = "description" + } + } + + public struct DeleteProjectRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "projectName", location: .uri(locationName: "projectName"), required: true, type: .string) + ] + /// The name of the empty project to delete. + public let projectName: String + + public init(projectName: String) { + self.projectName = projectName + } + + private enum CodingKeys: String, CodingKey { + case projectName = "projectName" + } + } + + public struct GetDevicesInPlacementRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "projectName", location: .uri(locationName: "projectName"), required: true, type: .string), + AWSShapeMember(label: "placementName", location: .uri(locationName: "placementName"), required: true, type: .string) + ] + /// The name of the project containing the placement. + public let projectName: String + /// The name of the placement to get the devices from. + public let placementName: String + + public init(projectName: String, placementName: String) { + self.projectName = projectName + self.placementName = placementName + } + + private enum CodingKeys: String, CodingKey { + case projectName = "projectName" + case placementName = "placementName" + } + } + + public struct DescribePlacementRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "placementName", location: .uri(locationName: "placementName"), required: true, type: .string), + AWSShapeMember(label: "projectName", location: .uri(locationName: "projectName"), required: true, type: .string) + ] + /// The name of the placement within a project. + public let placementName: String + /// The project containing the placement to be described. + public let projectName: String + + public init(placementName: String, projectName: String) { + self.placementName = placementName + self.projectName = projectName + } + + private enum CodingKeys: String, CodingKey { + case placementName = "placementName" + case projectName = "projectName" + } + } + + public struct DeviceTemplate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "deviceType", required: false, type: .string), + AWSShapeMember(label: "callbackOverrides", required: false, type: .map) + ] + /// The device type, which currently must be "button". + public let deviceType: String? + /// An optional Lambda function to invoke instead of the default Lambda function provided by the placement template. + public let callbackOverrides: [String: String]? + + public init(deviceType: String? = nil, callbackOverrides: [String: String]? = nil) { + self.deviceType = deviceType + self.callbackOverrides = callbackOverrides + } + + private enum CodingKeys: String, CodingKey { + case deviceType = "deviceType" + case callbackOverrides = "callbackOverrides" + } + } + + public struct ProjectDescription: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "placementTemplate", required: false, type: .structure), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "projectName", required: true, type: .string), + AWSShapeMember(label: "createdDate", required: true, type: .timestamp), + AWSShapeMember(label: "updatedDate", required: true, type: .timestamp) + ] + /// An object describing the project's placement specifications. + public let placementTemplate: PlacementTemplate? + /// The description of the project. + public let description: String? + /// The name of the project for which to obtain information from. + public let projectName: String + /// The date when the project was originally created, in UNIX epoch time format. + public let createdDate: TimeStamp + /// 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. + public let updatedDate: TimeStamp + + public init(placementTemplate: PlacementTemplate? = nil, description: String? = nil, projectName: String, createdDate: TimeStamp, updatedDate: TimeStamp) { + self.placementTemplate = placementTemplate + self.description = description + self.projectName = projectName + self.createdDate = createdDate + self.updatedDate = updatedDate + } + + private enum CodingKeys: String, CodingKey { + case placementTemplate = "placementTemplate" + case description = "description" + case projectName = "projectName" + case createdDate = "createdDate" + case updatedDate = "updatedDate" + } + } + + public struct PlacementTemplate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "deviceTemplates", required: false, type: .map), + AWSShapeMember(label: "defaultAttributes", required: false, type: .map) + ] + /// An object specifying the DeviceTemplate for all placements using this (PlacementTemplate) template. + public let deviceTemplates: [String: DeviceTemplate]? + /// The default attributes (key/value pairs) to be applied to all placements using this template. + public let defaultAttributes: [String: String]? + + public init(deviceTemplates: [String: DeviceTemplate]? = nil, defaultAttributes: [String: String]? = nil) { + self.deviceTemplates = deviceTemplates + self.defaultAttributes = defaultAttributes + } + + private enum CodingKeys: String, CodingKey { + case deviceTemplates = "deviceTemplates" + case defaultAttributes = "defaultAttributes" + } + } + + public struct DescribeProjectRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "projectName", location: .uri(locationName: "projectName"), required: true, type: .string) + ] + /// The name of the project to be described. + public let projectName: String + + public init(projectName: String) { + self.projectName = projectName + } + + private enum CodingKeys: String, CodingKey { + case projectName = "projectName" + } + } + + public struct CreatePlacementResponse: AWSShape { + + } + + public struct ListPlacementsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "projectName", location: .uri(locationName: "projectName"), required: true, type: .string), + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// The project containing the placements to be listed. + public let projectName: String + /// The token to retrieve the next set of results. + public let nextToken: String? + /// The maximum number of results to return per request. If not set, a default value of 100 is used. + public let maxResults: Int32? + + public init(projectName: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.projectName = projectName + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case projectName = "projectName" + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct DisassociateDeviceFromPlacementRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "projectName", location: .uri(locationName: "projectName"), required: true, type: .string), + AWSShapeMember(label: "placementName", location: .uri(locationName: "placementName"), required: true, type: .string), + AWSShapeMember(label: "deviceTemplateName", location: .uri(locationName: "deviceTemplateName"), required: true, type: .string) + ] + /// The name of the project that contains the placement. + public let projectName: String + /// The name of the placement that the device should be removed from. + public let placementName: String + /// The device ID that should be removed from the placement. + public let deviceTemplateName: String + + public init(projectName: String, placementName: String, deviceTemplateName: String) { + self.projectName = projectName + self.placementName = placementName + self.deviceTemplateName = deviceTemplateName + } + + private enum CodingKeys: String, CodingKey { + case projectName = "projectName" + case placementName = "placementName" + case deviceTemplateName = "deviceTemplateName" + } + } + + public struct ListPlacementsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "placements", required: true, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// An object listing the requested placements. + public let placements: [PlacementSummary] + /// The token used to retrieve the next set of results - will be effectively empty if there are no further results. + public let nextToken: String? + + public init(placements: [PlacementSummary], nextToken: String? = nil) { + self.placements = placements + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case placements = "placements" + case nextToken = "nextToken" + } + } + + public struct DeletePlacementResponse: AWSShape { + + } + + public struct PlacementSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "placementName", required: true, type: .string), + AWSShapeMember(label: "updatedDate", required: true, type: .timestamp), + AWSShapeMember(label: "projectName", required: true, type: .string), + AWSShapeMember(label: "createdDate", required: true, type: .timestamp) + ] + /// The name of the placement being summarized. + public let placementName: String + /// 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. + public let updatedDate: TimeStamp + /// The name of the project containing the placement. + public let projectName: String + /// The date when the placement was originally created, in UNIX epoch time format. + public let createdDate: TimeStamp + + public init(placementName: String, updatedDate: TimeStamp, projectName: String, createdDate: TimeStamp) { + self.placementName = placementName + self.updatedDate = updatedDate + self.projectName = projectName + self.createdDate = createdDate + } + + private enum CodingKeys: String, CodingKey { + case placementName = "placementName" + case updatedDate = "updatedDate" + case projectName = "projectName" + case createdDate = "createdDate" + } + } + + public struct DisassociateDeviceFromPlacementResponse: AWSShape { + + } + + public struct DeleteProjectResponse: AWSShape { + + } + + public struct PlacementDescription: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "placementName", required: true, type: .string), + AWSShapeMember(label: "attributes", required: true, type: .map), + AWSShapeMember(label: "updatedDate", required: true, type: .timestamp), + AWSShapeMember(label: "projectName", required: true, type: .string), + AWSShapeMember(label: "createdDate", required: true, type: .timestamp) + ] + /// The name of the placement. + public let placementName: String + /// The user-defined attributes associated with the placement. + public let attributes: [String: String] + /// 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. + public let updatedDate: TimeStamp + /// The name of the project containing the placement. + public let projectName: String + /// The date when the placement was initially created, in UNIX epoch time format. + public let createdDate: TimeStamp + + public init(placementName: String, attributes: [String: String], updatedDate: TimeStamp, projectName: String, createdDate: TimeStamp) { + self.placementName = placementName + self.attributes = attributes + self.updatedDate = updatedDate + self.projectName = projectName + self.createdDate = createdDate + } + + private enum CodingKeys: String, CodingKey { + case placementName = "placementName" + case attributes = "attributes" + case updatedDate = "updatedDate" + case projectName = "projectName" + case createdDate = "createdDate" + } + } + + public struct CreateProjectResponse: AWSShape { + + } + + public struct AssociateDeviceWithPlacementResponse: AWSShape { + + } + + public struct CreatePlacementRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "placementName", required: true, type: .string), + AWSShapeMember(label: "attributes", required: false, type: .map), + AWSShapeMember(label: "projectName", location: .uri(locationName: "projectName"), required: true, type: .string) + ] + /// The name of the placement to be created. + public let placementName: String + /// Optional user-defined key/value pairs providing contextual data (such as location or function) for the placement. + public let attributes: [String: String]? + /// The name of the project in which to create the placement. + public let projectName: String + + public init(placementName: String, attributes: [String: String]? = nil, projectName: String) { + self.placementName = placementName + self.attributes = attributes + self.projectName = projectName + } + + private enum CodingKeys: String, CodingKey { + case placementName = "placementName" + case attributes = "attributes" + case projectName = "projectName" + } + } + + public struct UpdatePlacementResponse: AWSShape { + + } + + public struct ProjectSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "updatedDate", required: true, type: .timestamp), + AWSShapeMember(label: "projectName", required: true, type: .string), + AWSShapeMember(label: "createdDate", required: true, type: .timestamp) + ] + /// 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. + public let updatedDate: TimeStamp + /// The name of the project being summarized. + public let projectName: String + /// The date when the project was originally created, in UNIX epoch time format. + public let createdDate: TimeStamp + + public init(updatedDate: TimeStamp, projectName: String, createdDate: TimeStamp) { + self.updatedDate = updatedDate + self.projectName = projectName + self.createdDate = createdDate + } + + private enum CodingKeys: String, CodingKey { + case updatedDate = "updatedDate" + case projectName = "projectName" + case createdDate = "createdDate" + } + } + + public struct UpdatePlacementRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "placementName", location: .uri(locationName: "placementName"), required: true, type: .string), + AWSShapeMember(label: "attributes", required: false, type: .map), + AWSShapeMember(label: "projectName", location: .uri(locationName: "projectName"), required: true, type: .string) + ] + /// The name of the placement to update. + public let placementName: String + /// The user-defined object of attributes used to update the placement. The maximum number of key/value pairs is 50. + public let attributes: [String: String]? + /// The name of the project containing the placement to be updated. + public let projectName: String + + public init(placementName: String, attributes: [String: String]? = nil, projectName: String) { + self.placementName = placementName + self.attributes = attributes + self.projectName = projectName + } + + private enum CodingKeys: String, CodingKey { + case placementName = "placementName" + case attributes = "attributes" + case projectName = "projectName" + } + } + + public struct UpdateProjectRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "placementTemplate", required: false, type: .structure), + AWSShapeMember(label: "projectName", location: .uri(locationName: "projectName"), required: true, type: .string), + AWSShapeMember(label: "description", required: false, type: .string) + ] + /// 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. + public let placementTemplate: PlacementTemplate? + /// The name of the project to be updated. + public let projectName: String + /// An optional user-defined description for the project. + public let description: String? + + public init(placementTemplate: PlacementTemplate? = nil, projectName: String, description: String? = nil) { + self.placementTemplate = placementTemplate + self.projectName = projectName + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case placementTemplate = "placementTemplate" + case projectName = "projectName" + case description = "description" + } + } + + public struct GetDevicesInPlacementResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "devices", required: true, type: .map) + ] + /// An object containing the devices (zero or more) within the placement. + public let devices: [String: String] + + public init(devices: [String: String]) { + self.devices = devices + } + + private enum CodingKeys: String, CodingKey { + case devices = "devices" + } + } + + public struct DeletePlacementRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "placementName", location: .uri(locationName: "placementName"), required: true, type: .string), + AWSShapeMember(label: "projectName", location: .uri(locationName: "projectName"), required: true, type: .string) + ] + /// The name of the empty placement to delete. + public let placementName: String + /// The project containing the empty placement to delete. + public let projectName: String + + public init(placementName: String, projectName: String) { + self.placementName = placementName + self.projectName = projectName + } + + private enum CodingKeys: String, CodingKey { + case placementName = "placementName" + case projectName = "projectName" + } + } + + public struct UpdateProjectResponse: AWSShape { + + } + + public struct DescribePlacementResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "placement", required: true, type: .structure) + ] + /// An object describing the placement. + public let placement: PlacementDescription + + public init(placement: PlacementDescription) { + self.placement = placement + } + + private enum CodingKeys: String, CodingKey { + case placement = "placement" + } + } + + public struct ListProjectsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// The token to retrieve the next set of results. + public let nextToken: String? + /// The maximum number of results to return per request. If not set, a default value of 100 is used. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct DescribeProjectResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "project", required: true, type: .structure) + ] + /// An object describing the project. + public let project: ProjectDescription + + public init(project: ProjectDescription) { + self.project = project + } + + private enum CodingKeys: String, CodingKey { + case project = "project" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/iotanalytics/Iotanalytics_API.swift b/Sources/AWSSDKSwift/Services/iotanalytics/Iotanalytics_API.swift new file mode 100644 index 00000000000..a9234a86058 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/iotanalytics/Iotanalytics_API.swift @@ -0,0 +1,193 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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. +*/ +public struct Iotanalytics { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + service: "iotanalytics", + serviceProtocol: ServiceProtocol(type: .restjson), + apiVersion: "2017-11-27", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [IotanalyticsError.self] + ) + } + + /// Starts the reprocessing of raw message data through the pipeline. + public func startPipelineReprocessing(_ input: StartPipelineReprocessingRequest) throws -> StartPipelineReprocessingResponse { + return try client.send(operation: "StartPipelineReprocessing", path: "/pipelines/{pipelineName}/reprocessing", httpMethod: "POST", input: input) + } + + /// Retrieves information about a pipeline. + public func describePipeline(_ input: DescribePipelineRequest) throws -> DescribePipelineResponse { + return try client.send(operation: "DescribePipeline", path: "/pipelines/{pipelineName}", httpMethod: "GET", input: input) + } + + /// Retrieves a list of channels. + public func listChannels(_ input: ListChannelsRequest) throws -> ListChannelsResponse { + return try client.send(operation: "ListChannels", path: "/channels", httpMethod: "GET", input: input) + } + + /// Deletes the specified data store. + public func deleteDatastore(_ input: DeleteDatastoreRequest) throws { + _ = try client.send(operation: "DeleteDatastore", path: "/datastores/{datastoreName}", httpMethod: "DELETE", input: input) + } + + /// 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. + public func putLoggingOptions(_ input: PutLoggingOptionsRequest) throws { + _ = try client.send(operation: "PutLoggingOptions", path: "/logging", httpMethod: "PUT", input: input) + } + + /// Lists the tags (metadata) which you have assigned to the resource. + public func listTagsForResource(_ input: ListTagsForResourceRequest) throws -> ListTagsForResourceResponse { + return try client.send(operation: "ListTagsForResource", path: "/tags", httpMethod: "GET", input: input) + } + + /// Creates a data set. A data set stores data retrieved from a data store by applying an SQL action. This operation creates the skeleton of a data set. To populate the data set, call "CreateDatasetContent". + public func createDataset(_ input: CreateDatasetRequest) throws -> CreateDatasetResponse { + return try client.send(operation: "CreateDataset", path: "/datasets", httpMethod: "POST", input: input) + } + + /// Retrieves the contents of a data set as pre-signed URIs. + public func getDatasetContent(_ input: GetDatasetContentRequest) throws -> GetDatasetContentResponse { + return try client.send(operation: "GetDatasetContent", path: "/datasets/{datasetName}/content", httpMethod: "GET", input: input) + } + + /// Retrieves information about a data store. + public func describeDatastore(_ input: DescribeDatastoreRequest) throws -> DescribeDatastoreResponse { + return try client.send(operation: "DescribeDatastore", path: "/datastores/{datastoreName}", httpMethod: "GET", input: input) + } + + /// Retrieves a sample of messages from the specified channel ingested during the specified timeframe. Up to 10 messages can be retrieved. + public func sampleChannelData(_ input: SampleChannelDataRequest) throws -> SampleChannelDataResponse { + return try client.send(operation: "SampleChannelData", path: "/channels/{channelName}/sample", httpMethod: "GET", input: input) + } + + /// Retrieves information about a channel. + public func describeChannel(_ input: DescribeChannelRequest) throws -> DescribeChannelResponse { + return try client.send(operation: "DescribeChannel", path: "/channels/{channelName}", httpMethod: "GET", input: input) + } + + /// Retrieves information about a data set. + public func describeDataset(_ input: DescribeDatasetRequest) throws -> DescribeDatasetResponse { + return try client.send(operation: "DescribeDataset", path: "/datasets/{datasetName}", httpMethod: "GET", input: input) + } + + /// Retrieves a list of pipelines. + public func listPipelines(_ input: ListPipelinesRequest) throws -> ListPipelinesResponse { + return try client.send(operation: "ListPipelines", path: "/pipelines", httpMethod: "GET", input: input) + } + + /// Retrieves the current settings of the AWS IoT Analytics logging options. + public func describeLoggingOptions(_ input: DescribeLoggingOptionsRequest) throws -> DescribeLoggingOptionsResponse { + return try client.send(operation: "DescribeLoggingOptions", path: "/logging", httpMethod: "GET", input: input) + } + + /// Sends messages to a channel. + public func batchPutMessage(_ input: BatchPutMessageRequest) throws -> BatchPutMessageResponse { + return try client.send(operation: "BatchPutMessage", path: "/messages/batch", httpMethod: "POST", input: input) + } + + /// Deletes the specified data set. You do not have to delete the content of the data set before you perform this operation. + public func deleteDataset(_ input: DeleteDatasetRequest) throws { + _ = try client.send(operation: "DeleteDataset", path: "/datasets/{datasetName}", httpMethod: "DELETE", input: input) + } + + /// Updates the settings of a data set. + public func updateDataset(_ input: UpdateDatasetRequest) throws { + _ = try client.send(operation: "UpdateDataset", path: "/datasets/{datasetName}", httpMethod: "PUT", input: input) + } + + /// Updates the settings of a pipeline. + public func updatePipeline(_ input: UpdatePipelineRequest) throws { + _ = try client.send(operation: "UpdatePipeline", path: "/pipelines/{pipelineName}", httpMethod: "PUT", input: input) + } + + /// Creates the content of a data set by applying an SQL action. + public func createDatasetContent(_ input: CreateDatasetContentRequest) throws { + _ = try client.send(operation: "CreateDatasetContent", path: "/datasets/{datasetName}/content", httpMethod: "POST", input: input) + } + + /// Deletes the specified channel. + public func deleteChannel(_ input: DeleteChannelRequest) throws { + _ = try client.send(operation: "DeleteChannel", path: "/channels/{channelName}", httpMethod: "DELETE", input: input) + } + + /// 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. + public func createPipeline(_ input: CreatePipelineRequest) throws -> CreatePipelineResponse { + return try client.send(operation: "CreatePipeline", path: "/pipelines", httpMethod: "POST", input: input) + } + + /// Deletes the specified pipeline. + public func deletePipeline(_ input: DeletePipelineRequest) throws { + _ = try client.send(operation: "DeletePipeline", path: "/pipelines/{pipelineName}", httpMethod: "DELETE", input: input) + } + + /// Retrieves a list of data stores. + public func listDatastores(_ input: ListDatastoresRequest) throws -> ListDatastoresResponse { + return try client.send(operation: "ListDatastores", path: "/datastores", httpMethod: "GET", input: input) + } + + /// Creates a data store, which is a repository for messages. + public func createDatastore(_ input: CreateDatastoreRequest) throws -> CreateDatastoreResponse { + return try client.send(operation: "CreateDatastore", path: "/datastores", httpMethod: "POST", input: input) + } + + /// Cancels the reprocessing of data through the pipeline. + public func cancelPipelineReprocessing(_ input: CancelPipelineReprocessingRequest) throws -> CancelPipelineReprocessingResponse { + return try client.send(operation: "CancelPipelineReprocessing", path: "/pipelines/{pipelineName}/reprocessing/{reprocessingId}", httpMethod: "DELETE", input: input) + } + + /// Simulates the results of running a pipeline activity on a message payload. + public func runPipelineActivity(_ input: RunPipelineActivityRequest) throws -> RunPipelineActivityResponse { + return try client.send(operation: "RunPipelineActivity", path: "/pipelineactivities/run", httpMethod: "POST", input: input) + } + + /// Updates the settings of a data store. + public func updateDatastore(_ input: UpdateDatastoreRequest) throws { + _ = try client.send(operation: "UpdateDatastore", path: "/datastores/{datastoreName}", httpMethod: "PUT", input: input) + } + + /// Removes the given tags (metadata) from the resource. + public func untagResource(_ input: UntagResourceRequest) throws -> UntagResourceResponse { + return try client.send(operation: "UntagResource", path: "/tags", httpMethod: "DELETE", input: input) + } + + /// Updates the settings of a channel. + public func updateChannel(_ input: UpdateChannelRequest) throws { + _ = try client.send(operation: "UpdateChannel", path: "/channels/{channelName}", httpMethod: "PUT", input: input) + } + + /// Deletes the content of the specified data set. + public func deleteDatasetContent(_ input: DeleteDatasetContentRequest) throws { + _ = try client.send(operation: "DeleteDatasetContent", path: "/datasets/{datasetName}/content", httpMethod: "DELETE", input: input) + } + + /// Creates a channel. A channel collects data from an MQTT topic and archives the raw, unprocessed messages before publishing the data to a pipeline. + public func createChannel(_ input: CreateChannelRequest) throws -> CreateChannelResponse { + return try client.send(operation: "CreateChannel", path: "/channels", httpMethod: "POST", input: input) + } + + /// Retrieves information about data sets. + public func listDatasets(_ input: ListDatasetsRequest) throws -> ListDatasetsResponse { + return try client.send(operation: "ListDatasets", path: "/datasets", httpMethod: "GET", input: input) + } + + /// Adds to or modifies the tags of the given resource. Tags are metadata which can be used to manage a resource. + public func tagResource(_ input: TagResourceRequest) throws -> TagResourceResponse { + return try client.send(operation: "TagResource", path: "/tags", httpMethod: "POST", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/iotanalytics/Iotanalytics_Error.swift b/Sources/AWSSDKSwift/Services/iotanalytics/Iotanalytics_Error.swift new file mode 100644 index 00000000000..e0b21523fdf --- /dev/null +++ b/Sources/AWSSDKSwift/Services/iotanalytics/Iotanalytics_Error.swift @@ -0,0 +1,41 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Iotanalytics +public enum IotanalyticsError: AWSErrorType { + case resourceNotFoundException(message: String?) + case resourceAlreadyExistsException(message: String?) + case invalidRequestException(message: String?) + case internalFailureException(message: String?) + case serviceUnavailableException(message: String?) + case throttlingException(message: String?) + case limitExceededException(message: String?) +} + +extension IotanalyticsError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "ResourceNotFoundException": + self = .resourceNotFoundException(message: message) + case "ResourceAlreadyExistsException": + self = .resourceAlreadyExistsException(message: message) + case "InvalidRequestException": + self = .invalidRequestException(message: message) + case "InternalFailureException": + self = .internalFailureException(message: message) + case "ServiceUnavailableException": + self = .serviceUnavailableException(message: message) + case "ThrottlingException": + self = .throttlingException(message: message) + case "LimitExceededException": + self = .limitExceededException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/iotanalytics/Iotanalytics_Shapes.swift b/Sources/AWSSDKSwift/Services/iotanalytics/Iotanalytics_Shapes.swift new file mode 100644 index 00000000000..edc447c8780 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/iotanalytics/Iotanalytics_Shapes.swift @@ -0,0 +1,2060 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Iotanalytics { + + public struct MathActivity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "attribute", required: true, type: .string), + AWSShapeMember(label: "next", required: false, type: .string), + AWSShapeMember(label: "math", required: true, type: .string), + AWSShapeMember(label: "name", required: true, type: .string) + ] + /// The name of the attribute that will contain the result of the math operation. + public let attribute: String + /// The next activity in the pipeline. + public let next: String? + /// An expression that uses one or more existing attributes and must return an integer value. + public let math: String + /// The name of the 'math' activity. + public let name: String + + public init(attribute: String, next: String? = nil, math: String, name: String) { + self.attribute = attribute + self.next = next + self.math = math + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case attribute = "attribute" + case next = "next" + case math = "math" + case name = "name" + } + } + + public struct DescribeDatasetRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datasetName", location: .uri(locationName: "datasetName"), required: true, type: .string) + ] + /// The name of the data set whose information is retrieved. + public let datasetName: String + + public init(datasetName: String) { + self.datasetName = datasetName + } + + private enum CodingKeys: String, CodingKey { + case datasetName = "datasetName" + } + } + + public struct CancelPipelineReprocessingResponse: AWSShape { + + } + + public struct DescribeChannelRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "channelName", location: .uri(locationName: "channelName"), required: true, type: .string), + AWSShapeMember(label: "includeStatistics", location: .querystring(locationName: "includeStatistics"), required: false, type: .boolean) + ] + /// The name of the channel whose information is retrieved. + public let channelName: String + /// If true, include statistics about the channel in the response. + public let includeStatistics: Bool? + + public init(channelName: String, includeStatistics: Bool? = nil) { + self.channelName = channelName + self.includeStatistics = includeStatistics + } + + private enum CodingKeys: String, CodingKey { + case channelName = "channelName" + case includeStatistics = "includeStatistics" + } + } + + public struct BatchPutMessageResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "batchPutMessageErrorEntries", required: false, type: .list) + ] + /// A list of any errors encountered when sending the messages to the channel. + public let batchPutMessageErrorEntries: [BatchPutMessageErrorEntry]? + + public init(batchPutMessageErrorEntries: [BatchPutMessageErrorEntry]? = nil) { + self.batchPutMessageErrorEntries = batchPutMessageErrorEntries + } + + private enum CodingKeys: String, CodingKey { + case batchPutMessageErrorEntries = "batchPutMessageErrorEntries" + } + } + + public struct GetDatasetContentRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datasetName", location: .uri(locationName: "datasetName"), required: true, type: .string), + AWSShapeMember(label: "versionId", location: .querystring(locationName: "versionId"), required: false, type: .string) + ] + /// The name of the data set whose contents are retrieved. + public let datasetName: String + /// 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. + public let versionId: String? + + public init(datasetName: String, versionId: String? = nil) { + self.datasetName = datasetName + self.versionId = versionId + } + + private enum CodingKeys: String, CodingKey { + case datasetName = "datasetName" + case versionId = "versionId" + } + } + + public enum LoggingLevel: String, CustomStringConvertible, Codable { + case error = "ERROR" + public var description: String { return self.rawValue } + } + + public struct CreateDatasetResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datasetName", required: false, type: .string), + AWSShapeMember(label: "datasetArn", required: false, type: .string) + ] + /// The name of the data set. + public let datasetName: String? + /// The ARN of the data set. + public let datasetArn: String? + + public init(datasetName: String? = nil, datasetArn: String? = nil) { + self.datasetName = datasetName + self.datasetArn = datasetArn + } + + private enum CodingKeys: String, CodingKey { + case datasetName = "datasetName" + case datasetArn = "datasetArn" + } + } + + public struct DescribePipelineRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "pipelineName", location: .uri(locationName: "pipelineName"), required: true, type: .string) + ] + /// The name of the pipeline whose information is retrieved. + public let pipelineName: String + + public init(pipelineName: String) { + self.pipelineName = pipelineName + } + + private enum CodingKeys: String, CodingKey { + case pipelineName = "pipelineName" + } + } + + public struct DeletePipelineRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "pipelineName", location: .uri(locationName: "pipelineName"), required: true, type: .string) + ] + /// The name of the pipeline to delete. + public let pipelineName: String + + public init(pipelineName: String) { + self.pipelineName = pipelineName + } + + private enum CodingKeys: String, CodingKey { + case pipelineName = "pipelineName" + } + } + + public struct RunPipelineActivityRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "payloads", required: true, type: .list), + AWSShapeMember(label: "pipelineActivity", required: true, type: .structure) + ] + /// The sample message payloads on which the pipeline activity is run. + public let payloads: [Data] + /// 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. + public let pipelineActivity: PipelineActivity + + public init(payloads: [Data], pipelineActivity: PipelineActivity) { + self.payloads = payloads + self.pipelineActivity = pipelineActivity + } + + private enum CodingKeys: String, CodingKey { + case payloads = "payloads" + case pipelineActivity = "pipelineActivity" + } + } + + public struct DatastoreStatistics: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "size", required: false, type: .structure) + ] + /// The estimated size of the data store. + public let size: EstimatedResourceSize? + + public init(size: EstimatedResourceSize? = nil) { + self.size = size + } + + private enum CodingKeys: String, CodingKey { + case size = "size" + } + } + + public struct RemoveAttributesActivity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "attributes", required: true, type: .list), + AWSShapeMember(label: "next", required: false, type: .string) + ] + /// The name of the 'removeAttributes' activity. + public let name: String + /// A list of 1-50 attributes to remove from the message. + public let attributes: [String] + /// The next activity in the pipeline. + public let next: String? + + public init(name: String, attributes: [String], next: String? = nil) { + self.name = name + self.attributes = attributes + self.next = next + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case attributes = "attributes" + case next = "next" + } + } + + public struct CreateDatastoreRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "tags", required: false, type: .list), + AWSShapeMember(label: "datastoreName", required: true, type: .string), + AWSShapeMember(label: "retentionPeriod", required: false, type: .structure) + ] + /// Metadata which can be used to manage the data store. + public let tags: [Tag]? + /// The name of the data store. + public let datastoreName: String + /// How long, in days, message data is kept for the data store. + public let retentionPeriod: RetentionPeriod? + + public init(tags: [Tag]? = nil, datastoreName: String, retentionPeriod: RetentionPeriod? = nil) { + self.tags = tags + self.datastoreName = datastoreName + self.retentionPeriod = retentionPeriod + } + + private enum CodingKeys: String, CodingKey { + case tags = "tags" + case datastoreName = "datastoreName" + case retentionPeriod = "retentionPeriod" + } + } + + public struct DescribeDatastoreRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datastoreName", location: .uri(locationName: "datastoreName"), required: true, type: .string), + AWSShapeMember(label: "includeStatistics", location: .querystring(locationName: "includeStatistics"), required: false, type: .boolean) + ] + /// The name of the data store + public let datastoreName: String + /// If true, include statistics about the data store in the response. + public let includeStatistics: Bool? + + public init(datastoreName: String, includeStatistics: Bool? = nil) { + self.datastoreName = datastoreName + self.includeStatistics = includeStatistics + } + + private enum CodingKeys: String, CodingKey { + case datastoreName = "datastoreName" + case includeStatistics = "includeStatistics" + } + } + + public struct DeleteDatasetContentRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datasetName", location: .uri(locationName: "datasetName"), required: true, type: .string), + AWSShapeMember(label: "versionId", location: .querystring(locationName: "versionId"), required: false, type: .string) + ] + /// The name of the data set whose content is deleted. + public let datasetName: String + /// 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. + public let versionId: String? + + public init(datasetName: String, versionId: String? = nil) { + self.datasetName = datasetName + self.versionId = versionId + } + + private enum CodingKeys: String, CodingKey { + case datasetName = "datasetName" + case versionId = "versionId" + } + } + + public struct DatastoreActivity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "datastoreName", required: true, type: .string) + ] + /// The name of the 'datastore' activity. + public let name: String + /// The name of the data store where processed messages are stored. + public let datastoreName: String + + public init(name: String, datastoreName: String) { + self.name = name + self.datastoreName = datastoreName + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case datastoreName = "datastoreName" + } + } + + public struct ListDatasetsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// The token for the next set of results. + public let nextToken: String? + /// The maximum number of results to return in this request. The default value is 100. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct PipelineSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "reprocessingSummaries", required: false, type: .list), + AWSShapeMember(label: "pipelineName", required: false, type: .string), + AWSShapeMember(label: "creationTime", required: false, type: .timestamp), + AWSShapeMember(label: "lastUpdateTime", required: false, type: .timestamp) + ] + /// A summary of information about the pipeline reprocessing. + public let reprocessingSummaries: [ReprocessingSummary]? + /// The name of the pipeline. + public let pipelineName: String? + /// When the pipeline was created. + public let creationTime: TimeStamp? + /// When the pipeline was last updated. + public let lastUpdateTime: TimeStamp? + + public init(reprocessingSummaries: [ReprocessingSummary]? = nil, pipelineName: String? = nil, creationTime: TimeStamp? = nil, lastUpdateTime: TimeStamp? = nil) { + self.reprocessingSummaries = reprocessingSummaries + self.pipelineName = pipelineName + self.creationTime = creationTime + self.lastUpdateTime = lastUpdateTime + } + + private enum CodingKeys: String, CodingKey { + case reprocessingSummaries = "reprocessingSummaries" + case pipelineName = "pipelineName" + case creationTime = "creationTime" + case lastUpdateTime = "lastUpdateTime" + } + } + + public struct ListChannelsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "channelSummaries", required: false, type: .list) + ] + /// The token to retrieve the next set of results, or null if there are no more results. + public let nextToken: String? + /// A list of "ChannelSummary" objects. + public let channelSummaries: [ChannelSummary]? + + public init(nextToken: String? = nil, channelSummaries: [ChannelSummary]? = nil) { + self.nextToken = nextToken + self.channelSummaries = channelSummaries + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case channelSummaries = "channelSummaries" + } + } + + public struct CreateDatasetContentRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datasetName", location: .uri(locationName: "datasetName"), required: true, type: .string) + ] + /// The name of the data set. + public let datasetName: String + + public init(datasetName: String) { + self.datasetName = datasetName + } + + private enum CodingKeys: String, CodingKey { + case datasetName = "datasetName" + } + } + + public struct CancelPipelineReprocessingRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "pipelineName", location: .uri(locationName: "pipelineName"), required: true, type: .string), + AWSShapeMember(label: "reprocessingId", location: .uri(locationName: "reprocessingId"), required: true, type: .string) + ] + /// The name of pipeline for which data reprocessing is canceled. + public let pipelineName: String + /// The ID of the reprocessing task (returned by "StartPipelineReprocessing"). + public let reprocessingId: String + + public init(pipelineName: String, reprocessingId: String) { + self.pipelineName = pipelineName + self.reprocessingId = reprocessingId + } + + private enum CodingKeys: String, CodingKey { + case pipelineName = "pipelineName" + case reprocessingId = "reprocessingId" + } + } + + public enum ChannelStatus: String, CustomStringConvertible, Codable { + case creating = "CREATING" + case active = "ACTIVE" + case deleting = "DELETING" + public var description: String { return self.rawValue } + } + + public struct TagResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceArn", location: .querystring(locationName: "resourceArn"), required: true, type: .string), + AWSShapeMember(label: "tags", required: true, type: .list) + ] + /// The ARN of the resource whose tags will be modified. + public let resourceArn: String + /// The new or modified tags for the resource. + public let tags: [Tag] + + public init(resourceArn: String, tags: [Tag]) { + self.resourceArn = resourceArn + self.tags = tags + } + + private enum CodingKeys: String, CodingKey { + case resourceArn = "resourceArn" + case tags = "tags" + } + } + + public struct RunPipelineActivityResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "payloads", required: false, type: .list), + AWSShapeMember(label: "logResult", required: false, type: .string) + ] + /// 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.) + public let payloads: [Data]? + /// In case the pipeline activity fails, the log message that is generated. + public let logResult: String? + + public init(payloads: [Data]? = nil, logResult: String? = nil) { + self.payloads = payloads + self.logResult = logResult + } + + private enum CodingKeys: String, CodingKey { + case payloads = "payloads" + case logResult = "logResult" + } + } + + public struct Message: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "payload", required: true, type: .blob), + AWSShapeMember(label: "messageId", required: true, type: .string) + ] + /// 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). + public let payload: Data + /// The ID you wish to assign to the message. Each "messageId" must be unique within each batch sent. + public let messageId: String + + public init(payload: Data, messageId: String) { + self.payload = payload + self.messageId = messageId + } + + private enum CodingKeys: String, CodingKey { + case payload = "payload" + case messageId = "messageId" + } + } + + public struct DatastoreSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "datastoreName", required: false, type: .string), + AWSShapeMember(label: "lastUpdateTime", required: false, type: .timestamp), + AWSShapeMember(label: "creationTime", required: false, type: .timestamp) + ] + /// The status of the data store. + public let status: DatastoreStatus? + /// The name of the data store. + public let datastoreName: String? + /// The last time the data store was updated. + public let lastUpdateTime: TimeStamp? + /// When the data store was created. + public let creationTime: TimeStamp? + + public init(status: DatastoreStatus? = nil, datastoreName: String? = nil, lastUpdateTime: TimeStamp? = nil, creationTime: TimeStamp? = nil) { + self.status = status + self.datastoreName = datastoreName + self.lastUpdateTime = lastUpdateTime + self.creationTime = creationTime + } + + private enum CodingKeys: String, CodingKey { + case status = "status" + case datastoreName = "datastoreName" + case lastUpdateTime = "lastUpdateTime" + case creationTime = "creationTime" + } + } + + public struct ListPipelinesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// The token for the next set of results. + public let nextToken: String? + /// The maximum number of results to return in this request. The default value is 100. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct LambdaActivity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "next", required: false, type: .string), + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "lambdaName", required: true, type: .string), + AWSShapeMember(label: "batchSize", required: true, type: .integer) + ] + /// The next activity in the pipeline. + public let next: String? + /// The name of the 'lambda' activity. + public let name: String + /// The name of the Lambda function that is run on the message. + public let lambdaName: String + /// 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. + public let batchSize: Int32 + + public init(next: String? = nil, name: String, lambdaName: String, batchSize: Int32) { + self.next = next + self.name = name + self.lambdaName = lambdaName + self.batchSize = batchSize + } + + private enum CodingKeys: String, CodingKey { + case next = "next" + case name = "name" + case lambdaName = "lambdaName" + case batchSize = "batchSize" + } + } + + public struct RetentionPeriod: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "unlimited", required: false, type: .boolean), + AWSShapeMember(label: "numberOfDays", required: false, type: .integer) + ] + /// If true, message data is kept indefinitely. + public let unlimited: Bool? + /// The number of days that message data is kept. The "unlimited" parameter must be false. + public let numberOfDays: Int32? + + public init(unlimited: Bool? = nil, numberOfDays: Int32? = nil) { + self.unlimited = unlimited + self.numberOfDays = numberOfDays + } + + private enum CodingKeys: String, CodingKey { + case unlimited = "unlimited" + case numberOfDays = "numberOfDays" + } + } + + public enum DatastoreStatus: String, CustomStringConvertible, Codable { + case creating = "CREATING" + case active = "ACTIVE" + case deleting = "DELETING" + public var description: String { return self.rawValue } + } + + public struct DeviceShadowEnrichActivity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "attribute", required: true, type: .string), + AWSShapeMember(label: "thingName", required: true, type: .string), + AWSShapeMember(label: "next", required: false, type: .string), + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "roleArn", required: true, type: .string) + ] + /// The name of the attribute that is added to the message. + public let attribute: String + /// The name of the IoT device whose shadow information is added to the message. + public let thingName: String + /// The next activity in the pipeline. + public let next: String? + /// The name of the 'deviceShadowEnrich' activity. + public let name: String + /// The ARN of the role that allows access to the device's shadow. + public let roleArn: String + + public init(attribute: String, thingName: String, next: String? = nil, name: String, roleArn: String) { + self.attribute = attribute + self.thingName = thingName + self.next = next + self.name = name + self.roleArn = roleArn + } + + private enum CodingKeys: String, CodingKey { + case attribute = "attribute" + case thingName = "thingName" + case next = "next" + case name = "name" + case roleArn = "roleArn" + } + } + + public struct DescribeLoggingOptionsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "loggingOptions", required: false, type: .structure) + ] + /// The current settings of the AWS IoT Analytics logging options. + public let loggingOptions: LoggingOptions? + + public init(loggingOptions: LoggingOptions? = nil) { + self.loggingOptions = loggingOptions + } + + private enum CodingKeys: String, CodingKey { + case loggingOptions = "loggingOptions" + } + } + + public struct ReprocessingSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "id", required: false, type: .string), + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "creationTime", required: false, type: .timestamp) + ] + /// The 'reprocessingId' returned by "StartPipelineReprocessing". + public let id: String? + /// The status of the pipeline reprocessing. + public let status: ReprocessingStatus? + /// The time the pipeline reprocessing was created. + public let creationTime: TimeStamp? + + public init(id: String? = nil, status: ReprocessingStatus? = nil, creationTime: TimeStamp? = nil) { + self.id = id + self.status = status + self.creationTime = creationTime + } + + private enum CodingKeys: String, CodingKey { + case id = "id" + case status = "status" + case creationTime = "creationTime" + } + } + + public struct ListChannelsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// The token for the next set of results. + public let nextToken: String? + /// The maximum number of results to return in this request. The default value is 100. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct Dataset: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "lastUpdateTime", required: false, type: .timestamp), + AWSShapeMember(label: "creationTime", required: false, type: .timestamp), + AWSShapeMember(label: "actions", required: false, type: .list), + AWSShapeMember(label: "triggers", required: false, type: .list), + AWSShapeMember(label: "arn", required: false, type: .string) + ] + /// The status of the data set. + public let status: DatasetStatus? + /// The name of the data set. + public let name: String? + /// The last time the data set was updated. + public let lastUpdateTime: TimeStamp? + /// When the data set was created. + public let creationTime: TimeStamp? + /// The "DatasetAction" objects that create the data set. + public let actions: [DatasetAction]? + /// The "DatasetTrigger" objects that specify when the data set is automatically updated. + public let triggers: [DatasetTrigger]? + /// The ARN of the data set. + public let arn: String? + + public init(status: DatasetStatus? = nil, name: String? = nil, lastUpdateTime: TimeStamp? = nil, creationTime: TimeStamp? = nil, actions: [DatasetAction]? = nil, triggers: [DatasetTrigger]? = nil, arn: String? = nil) { + self.status = status + self.name = name + self.lastUpdateTime = lastUpdateTime + self.creationTime = creationTime + self.actions = actions + self.triggers = triggers + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case status = "status" + case name = "name" + case lastUpdateTime = "lastUpdateTime" + case creationTime = "creationTime" + case actions = "actions" + case triggers = "triggers" + case arn = "arn" + } + } + + public struct Tag: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "key", required: true, type: .string), + AWSShapeMember(label: "value", required: true, type: .string) + ] + /// The tag's key. + public let key: String + /// The tag's value. + public let value: String + + public init(key: String, value: String) { + self.key = key + self.value = value + } + + private enum CodingKeys: String, CodingKey { + case key = "key" + case value = "value" + } + } + + public struct BatchPutMessageErrorEntry: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "messageId", required: false, type: .string), + AWSShapeMember(label: "errorMessage", required: false, type: .string), + AWSShapeMember(label: "errorCode", required: false, type: .string) + ] + /// The ID of the message that caused the error. (See the value corresponding to the "messageId" key in the message object.) + public let messageId: String? + /// The message associated with the error. + public let errorMessage: String? + /// The code associated with the error. + public let errorCode: String? + + public init(messageId: String? = nil, errorMessage: String? = nil, errorCode: String? = nil) { + self.messageId = messageId + self.errorMessage = errorMessage + self.errorCode = errorCode + } + + private enum CodingKeys: String, CodingKey { + case messageId = "messageId" + case errorMessage = "errorMessage" + case errorCode = "errorCode" + } + } + + public struct UpdateDatasetRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datasetName", location: .uri(locationName: "datasetName"), required: true, type: .string), + AWSShapeMember(label: "actions", required: true, type: .list), + AWSShapeMember(label: "triggers", required: false, type: .list) + ] + /// The name of the data set to update. + public let datasetName: String + /// A list of "DatasetAction" objects. Only one action is supported at this time. + public let actions: [DatasetAction] + /// A list of "DatasetTrigger" objects. The list can be empty or can contain up to five DataSetTrigger objects. + public let triggers: [DatasetTrigger]? + + public init(datasetName: String, actions: [DatasetAction], triggers: [DatasetTrigger]? = nil) { + self.datasetName = datasetName + self.actions = actions + self.triggers = triggers + } + + private enum CodingKeys: String, CodingKey { + case datasetName = "datasetName" + case actions = "actions" + case triggers = "triggers" + } + } + + public struct CreateChannelResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "channelName", required: false, type: .string), + AWSShapeMember(label: "channelArn", required: false, type: .string), + AWSShapeMember(label: "retentionPeriod", required: false, type: .structure) + ] + /// The name of the channel. + public let channelName: String? + /// The ARN of the channel. + public let channelArn: String? + /// How long, in days, message data is kept for the channel. + public let retentionPeriod: RetentionPeriod? + + public init(channelName: String? = nil, channelArn: String? = nil, retentionPeriod: RetentionPeriod? = nil) { + self.channelName = channelName + self.channelArn = channelArn + self.retentionPeriod = retentionPeriod + } + + private enum CodingKeys: String, CodingKey { + case channelName = "channelName" + case channelArn = "channelArn" + case retentionPeriod = "retentionPeriod" + } + } + + public struct DatasetAction: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "actionName", required: false, type: .string), + AWSShapeMember(label: "queryAction", required: false, type: .structure) + ] + /// The name of the data set action. + public let actionName: String? + /// An "SqlQueryDatasetAction" object that contains the SQL query to modify the message. + public let queryAction: SqlQueryDatasetAction? + + public init(actionName: String? = nil, queryAction: SqlQueryDatasetAction? = nil) { + self.actionName = actionName + self.queryAction = queryAction + } + + private enum CodingKeys: String, CodingKey { + case actionName = "actionName" + case queryAction = "queryAction" + } + } + + public struct CreatePipelineRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "pipelineName", required: true, type: .string), + AWSShapeMember(label: "tags", required: false, type: .list), + AWSShapeMember(label: "pipelineActivities", required: true, type: .list) + ] + /// The name of the pipeline. + public let pipelineName: String + /// Metadata which can be used to manage the pipeline. + public let tags: [Tag]? + /// 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. + public let pipelineActivities: [PipelineActivity] + + public init(pipelineName: String, tags: [Tag]? = nil, pipelineActivities: [PipelineActivity]) { + self.pipelineName = pipelineName + self.tags = tags + self.pipelineActivities = pipelineActivities + } + + private enum CodingKeys: String, CodingKey { + case pipelineName = "pipelineName" + case tags = "tags" + case pipelineActivities = "pipelineActivities" + } + } + + public struct Channel: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "retentionPeriod", required: false, type: .structure), + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "lastUpdateTime", required: false, type: .timestamp), + AWSShapeMember(label: "creationTime", required: false, type: .timestamp), + AWSShapeMember(label: "arn", required: false, type: .string) + ] + /// How long, in days, message data is kept for the channel. + public let retentionPeriod: RetentionPeriod? + /// The status of the channel. + public let status: ChannelStatus? + /// The name of the channel. + public let name: String? + /// When the channel was last updated. + public let lastUpdateTime: TimeStamp? + /// When the channel was created. + public let creationTime: TimeStamp? + /// The ARN of the channel. + public let arn: String? + + public init(retentionPeriod: RetentionPeriod? = nil, status: ChannelStatus? = nil, name: String? = nil, lastUpdateTime: TimeStamp? = nil, creationTime: TimeStamp? = nil, arn: String? = nil) { + self.retentionPeriod = retentionPeriod + self.status = status + self.name = name + self.lastUpdateTime = lastUpdateTime + self.creationTime = creationTime + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case retentionPeriod = "retentionPeriod" + case status = "status" + case name = "name" + case lastUpdateTime = "lastUpdateTime" + case creationTime = "creationTime" + case arn = "arn" + } + } + + public struct FilterActivity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "filter", required: true, type: .string), + AWSShapeMember(label: "next", required: false, type: .string) + ] + /// The name of the 'filter' activity. + public let name: String + /// An expression that looks like an SQL WHERE clause that must return a Boolean value. + public let filter: String + /// The next activity in the pipeline. + public let next: String? + + public init(name: String, filter: String, next: String? = nil) { + self.name = name + self.filter = filter + self.next = next + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case filter = "filter" + case next = "next" + } + } + + public struct ChannelActivity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "channelName", required: true, type: .string), + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "next", required: false, type: .string) + ] + /// The name of the channel from which the messages are processed. + public let channelName: String + /// The name of the 'channel' activity. + public let name: String + /// The next activity in the pipeline. + public let next: String? + + public init(channelName: String, name: String, next: String? = nil) { + self.channelName = channelName + self.name = name + self.next = next + } + + private enum CodingKeys: String, CodingKey { + case channelName = "channelName" + case name = "name" + case next = "next" + } + } + + public struct Pipeline: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "activities", required: false, type: .list), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "reprocessingSummaries", required: false, type: .list), + AWSShapeMember(label: "lastUpdateTime", required: false, type: .timestamp), + AWSShapeMember(label: "creationTime", required: false, type: .timestamp), + AWSShapeMember(label: "arn", required: false, type: .string) + ] + /// The activities that perform transformations on the messages. + public let activities: [PipelineActivity]? + /// The name of the pipeline. + public let name: String? + /// A summary of information about the pipeline reprocessing. + public let reprocessingSummaries: [ReprocessingSummary]? + /// The last time the pipeline was updated. + public let lastUpdateTime: TimeStamp? + /// When the pipeline was created. + public let creationTime: TimeStamp? + /// The ARN of the pipeline. + public let arn: String? + + public init(activities: [PipelineActivity]? = nil, name: String? = nil, reprocessingSummaries: [ReprocessingSummary]? = nil, lastUpdateTime: TimeStamp? = nil, creationTime: TimeStamp? = nil, arn: String? = nil) { + self.activities = activities + self.name = name + self.reprocessingSummaries = reprocessingSummaries + self.lastUpdateTime = lastUpdateTime + self.creationTime = creationTime + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case activities = "activities" + case name = "name" + case reprocessingSummaries = "reprocessingSummaries" + case lastUpdateTime = "lastUpdateTime" + case creationTime = "creationTime" + case arn = "arn" + } + } + + public struct SampleChannelDataRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "endTime", location: .querystring(locationName: "endTime"), required: false, type: .timestamp), + AWSShapeMember(label: "startTime", location: .querystring(locationName: "startTime"), required: false, type: .timestamp), + AWSShapeMember(label: "channelName", location: .uri(locationName: "channelName"), required: true, type: .string), + AWSShapeMember(label: "maxMessages", location: .querystring(locationName: "maxMessages"), required: false, type: .integer) + ] + /// The end of the time window from which sample messages are retrieved. + public let endTime: TimeStamp? + /// The start of the time window from which sample messages are retrieved. + public let startTime: TimeStamp? + /// The name of the channel whose message samples are retrieved. + public let channelName: String + /// The number of sample messages to be retrieved. The limit is 10, the default is also 10. + public let maxMessages: Int32? + + public init(endTime: TimeStamp? = nil, startTime: TimeStamp? = nil, channelName: String, maxMessages: Int32? = nil) { + self.endTime = endTime + self.startTime = startTime + self.channelName = channelName + self.maxMessages = maxMessages + } + + private enum CodingKeys: String, CodingKey { + case endTime = "endTime" + case startTime = "startTime" + case channelName = "channelName" + case maxMessages = "maxMessages" + } + } + + public struct CreateChannelRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "channelName", required: true, type: .string), + AWSShapeMember(label: "tags", required: false, type: .list), + AWSShapeMember(label: "retentionPeriod", required: false, type: .structure) + ] + /// The name of the channel. + public let channelName: String + /// Metadata which can be used to manage the channel. + public let tags: [Tag]? + /// How long, in days, message data is kept for the channel. + public let retentionPeriod: RetentionPeriod? + + public init(channelName: String, tags: [Tag]? = nil, retentionPeriod: RetentionPeriod? = nil) { + self.channelName = channelName + self.tags = tags + self.retentionPeriod = retentionPeriod + } + + private enum CodingKeys: String, CodingKey { + case channelName = "channelName" + case tags = "tags" + case retentionPeriod = "retentionPeriod" + } + } + + public struct StartPipelineReprocessingRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "pipelineName", location: .uri(locationName: "pipelineName"), required: true, type: .string), + AWSShapeMember(label: "startTime", required: false, type: .timestamp), + AWSShapeMember(label: "endTime", required: false, type: .timestamp) + ] + /// The name of the pipeline on which to start reprocessing. + public let pipelineName: String + /// The start time (inclusive) of raw message data that is reprocessed. + public let startTime: TimeStamp? + /// The end time (exclusive) of raw message data that is reprocessed. + public let endTime: TimeStamp? + + public init(pipelineName: String, startTime: TimeStamp? = nil, endTime: TimeStamp? = nil) { + self.pipelineName = pipelineName + self.startTime = startTime + self.endTime = endTime + } + + private enum CodingKeys: String, CodingKey { + case pipelineName = "pipelineName" + case startTime = "startTime" + case endTime = "endTime" + } + } + + public struct AddAttributesActivity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "attributes", required: true, type: .map), + AWSShapeMember(label: "next", required: false, type: .string) + ] + /// The name of the 'addAttributes' activity. + public let name: String + /// 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". + public let attributes: [String: String] + /// The next activity in the pipeline. + public let next: String? + + public init(name: String, attributes: [String: String], next: String? = nil) { + self.name = name + self.attributes = attributes + self.next = next + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case attributes = "attributes" + case next = "next" + } + } + + public struct DeleteChannelRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "channelName", location: .uri(locationName: "channelName"), required: true, type: .string) + ] + /// The name of the channel to delete. + public let channelName: String + + public init(channelName: String) { + self.channelName = channelName + } + + private enum CodingKeys: String, CodingKey { + case channelName = "channelName" + } + } + + public struct CreateDatasetRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datasetName", required: true, type: .string), + AWSShapeMember(label: "actions", required: true, type: .list), + AWSShapeMember(label: "tags", required: false, type: .list), + AWSShapeMember(label: "triggers", required: false, type: .list) + ] + /// The name of the data set. + public let datasetName: String + /// A list of actions that create the data set. Only one action is supported at this time. + public let actions: [DatasetAction] + /// Metadata which can be used to manage the data set. + public let tags: [Tag]? + /// A list of triggers. A trigger causes data set content to be populated at a specified time or time interval. The list of triggers can be empty or contain up to five DataSetTrigger objects. + public let triggers: [DatasetTrigger]? + + public init(datasetName: String, actions: [DatasetAction], tags: [Tag]? = nil, triggers: [DatasetTrigger]? = nil) { + self.datasetName = datasetName + self.actions = actions + self.tags = tags + self.triggers = triggers + } + + private enum CodingKeys: String, CodingKey { + case datasetName = "datasetName" + case actions = "actions" + case tags = "tags" + case triggers = "triggers" + } + } + + public struct Schedule: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "expression", required: false, type: .string) + ] + /// The expression that defines when to trigger an update. For more information, see Schedule Expressions for Rules in the Amazon CloudWatch documentation. + public let expression: String? + + public init(expression: String? = nil) { + self.expression = expression + } + + private enum CodingKeys: String, CodingKey { + case expression = "expression" + } + } + + public enum DatasetContentState: String, CustomStringConvertible, Codable { + case creating = "CREATING" + case succeeded = "SUCCEEDED" + case failed = "FAILED" + public var description: String { return self.rawValue } + } + + public struct ChannelSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "channelName", required: false, type: .string), + AWSShapeMember(label: "creationTime", required: false, type: .timestamp), + AWSShapeMember(label: "lastUpdateTime", required: false, type: .timestamp) + ] + /// The status of the channel. + public let status: ChannelStatus? + /// The name of the channel. + public let channelName: String? + /// When the channel was created. + public let creationTime: TimeStamp? + /// The last time the channel was updated. + public let lastUpdateTime: TimeStamp? + + public init(status: ChannelStatus? = nil, channelName: String? = nil, creationTime: TimeStamp? = nil, lastUpdateTime: TimeStamp? = nil) { + self.status = status + self.channelName = channelName + self.creationTime = creationTime + self.lastUpdateTime = lastUpdateTime + } + + private enum CodingKeys: String, CodingKey { + case status = "status" + case channelName = "channelName" + case creationTime = "creationTime" + case lastUpdateTime = "lastUpdateTime" + } + } + + public struct CreateDatastoreResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datastoreName", required: false, type: .string), + AWSShapeMember(label: "datastoreArn", required: false, type: .string), + AWSShapeMember(label: "retentionPeriod", required: false, type: .structure) + ] + /// The name of the data store. + public let datastoreName: String? + /// The ARN of the data store. + public let datastoreArn: String? + /// How long, in days, message data is kept for the data store. + public let retentionPeriod: RetentionPeriod? + + public init(datastoreName: String? = nil, datastoreArn: String? = nil, retentionPeriod: RetentionPeriod? = nil) { + self.datastoreName = datastoreName + self.datastoreArn = datastoreArn + self.retentionPeriod = retentionPeriod + } + + private enum CodingKeys: String, CodingKey { + case datastoreName = "datastoreName" + case datastoreArn = "datastoreArn" + case retentionPeriod = "retentionPeriod" + } + } + + public struct DescribeLoggingOptionsRequest: AWSShape { + + } + + public struct PutLoggingOptionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "loggingOptions", required: true, type: .structure) + ] + /// The new values of the AWS IoT Analytics logging options. + public let loggingOptions: LoggingOptions + + public init(loggingOptions: LoggingOptions) { + self.loggingOptions = loggingOptions + } + + private enum CodingKeys: String, CodingKey { + case loggingOptions = "loggingOptions" + } + } + + public struct ListDatasetsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "datasetSummaries", required: false, type: .list) + ] + /// The token to retrieve the next set of results, or null if there are no more results. + public let nextToken: String? + /// A list of "DatasetSummary" objects. + public let datasetSummaries: [DatasetSummary]? + + public init(nextToken: String? = nil, datasetSummaries: [DatasetSummary]? = nil) { + self.nextToken = nextToken + self.datasetSummaries = datasetSummaries + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case datasetSummaries = "datasetSummaries" + } + } + + public struct BatchPutMessageRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "channelName", required: true, type: .string), + AWSShapeMember(label: "messages", required: true, type: .list) + ] + /// The name of the channel where the messages are sent. + public let channelName: String + /// The list of messages to be sent. Each message has format: '{ "messageId": "string", "payload": "string"}'. + public let messages: [Message] + + public init(channelName: String, messages: [Message]) { + self.channelName = channelName + self.messages = messages + } + + private enum CodingKeys: String, CodingKey { + case channelName = "channelName" + case messages = "messages" + } + } + + public struct ListDatastoresResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datastoreSummaries", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// A list of "DatastoreSummary" objects. + public let datastoreSummaries: [DatastoreSummary]? + /// The token to retrieve the next set of results, or null if there are no more results. + public let nextToken: String? + + public init(datastoreSummaries: [DatastoreSummary]? = nil, nextToken: String? = nil) { + self.datastoreSummaries = datastoreSummaries + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case datastoreSummaries = "datastoreSummaries" + case nextToken = "nextToken" + } + } + + public struct GetDatasetContentResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "timestamp", required: false, type: .timestamp), + AWSShapeMember(label: "entries", required: false, type: .list), + AWSShapeMember(label: "status", required: false, type: .structure) + ] + /// The time when the request was made. + public let timestamp: TimeStamp? + /// A list of "DatasetEntry" objects. + public let entries: [DatasetEntry]? + /// The status of the data set content. + public let status: DatasetContentStatus? + + public init(timestamp: TimeStamp? = nil, entries: [DatasetEntry]? = nil, status: DatasetContentStatus? = nil) { + self.timestamp = timestamp + self.entries = entries + self.status = status + } + + private enum CodingKeys: String, CodingKey { + case timestamp = "timestamp" + case entries = "entries" + case status = "status" + } + } + + public struct ListTagsForResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceArn", location: .querystring(locationName: "resourceArn"), required: true, type: .string) + ] + /// The ARN of the resource whose tags you want to list. + public let resourceArn: String + + public init(resourceArn: String) { + self.resourceArn = resourceArn + } + + private enum CodingKeys: String, CodingKey { + case resourceArn = "resourceArn" + } + } + + public struct CreatePipelineResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "pipelineName", required: false, type: .string), + AWSShapeMember(label: "pipelineArn", required: false, type: .string) + ] + /// The name of the pipeline. + public let pipelineName: String? + /// The ARN of the pipeline. + public let pipelineArn: String? + + public init(pipelineName: String? = nil, pipelineArn: String? = nil) { + self.pipelineName = pipelineName + self.pipelineArn = pipelineArn + } + + private enum CodingKeys: String, CodingKey { + case pipelineName = "pipelineName" + case pipelineArn = "pipelineArn" + } + } + + public struct ListPipelinesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "pipelineSummaries", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// A list of "PipelineSummary" objects. + public let pipelineSummaries: [PipelineSummary]? + /// The token to retrieve the next set of results, or null if there are no more results. + public let nextToken: String? + + public init(pipelineSummaries: [PipelineSummary]? = nil, nextToken: String? = nil) { + self.pipelineSummaries = pipelineSummaries + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case pipelineSummaries = "pipelineSummaries" + case nextToken = "nextToken" + } + } + + public struct SelectAttributesActivity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "attributes", required: true, type: .list), + AWSShapeMember(label: "next", required: false, type: .string) + ] + /// The name of the 'selectAttributes' activity. + public let name: String + /// A list of the attributes to select from the message. + public let attributes: [String] + /// The next activity in the pipeline. + public let next: String? + + public init(name: String, attributes: [String], next: String? = nil) { + self.name = name + self.attributes = attributes + self.next = next + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case attributes = "attributes" + case next = "next" + } + } + + public struct ListTagsForResourceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "tags", required: false, type: .list) + ] + /// The tags (metadata) which you have assigned to the resource. + public let tags: [Tag]? + + public init(tags: [Tag]? = nil) { + self.tags = tags + } + + private enum CodingKeys: String, CodingKey { + case tags = "tags" + } + } + + public struct StartPipelineReprocessingResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "reprocessingId", required: false, type: .string) + ] + /// The ID of the pipeline reprocessing activity that was started. + public let reprocessingId: String? + + public init(reprocessingId: String? = nil) { + self.reprocessingId = reprocessingId + } + + private enum CodingKeys: String, CodingKey { + case reprocessingId = "reprocessingId" + } + } + + public struct SqlQueryDatasetAction: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "sqlQuery", required: true, type: .string) + ] + /// An SQL query string. + public let sqlQuery: String + + public init(sqlQuery: String) { + self.sqlQuery = sqlQuery + } + + private enum CodingKeys: String, CodingKey { + case sqlQuery = "sqlQuery" + } + } + + public struct TagResourceResponse: AWSShape { + + } + + public struct DatasetSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "datasetName", required: false, type: .string), + AWSShapeMember(label: "lastUpdateTime", required: false, type: .timestamp), + AWSShapeMember(label: "creationTime", required: false, type: .timestamp) + ] + /// The status of the data set. + public let status: DatasetStatus? + /// The name of the data set. + public let datasetName: String? + /// The last time the data set was updated. + public let lastUpdateTime: TimeStamp? + /// The time the data set was created. + public let creationTime: TimeStamp? + + public init(status: DatasetStatus? = nil, datasetName: String? = nil, lastUpdateTime: TimeStamp? = nil, creationTime: TimeStamp? = nil) { + self.status = status + self.datasetName = datasetName + self.lastUpdateTime = lastUpdateTime + self.creationTime = creationTime + } + + private enum CodingKeys: String, CodingKey { + case status = "status" + case datasetName = "datasetName" + case lastUpdateTime = "lastUpdateTime" + case creationTime = "creationTime" + } + } + + public struct UpdatePipelineRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "pipelineName", location: .uri(locationName: "pipelineName"), required: true, type: .string), + AWSShapeMember(label: "pipelineActivities", required: true, type: .list) + ] + /// The name of the pipeline to update. + public let pipelineName: String + /// 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. + public let pipelineActivities: [PipelineActivity] + + public init(pipelineName: String, pipelineActivities: [PipelineActivity]) { + self.pipelineName = pipelineName + self.pipelineActivities = pipelineActivities + } + + private enum CodingKeys: String, CodingKey { + case pipelineName = "pipelineName" + case pipelineActivities = "pipelineActivities" + } + } + + public struct PipelineActivity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "selectAttributes", required: false, type: .structure), + AWSShapeMember(label: "deviceShadowEnrich", required: false, type: .structure), + AWSShapeMember(label: "deviceRegistryEnrich", required: false, type: .structure), + AWSShapeMember(label: "addAttributes", required: false, type: .structure), + AWSShapeMember(label: "math", required: false, type: .structure), + AWSShapeMember(label: "removeAttributes", required: false, type: .structure), + AWSShapeMember(label: "filter", required: false, type: .structure), + AWSShapeMember(label: "channel", required: false, type: .structure), + AWSShapeMember(label: "datastore", required: false, type: .structure), + AWSShapeMember(label: "lambda", required: false, type: .structure) + ] + /// Creates a new message using only the specified attributes from the original message. + public let selectAttributes: SelectAttributesActivity? + /// Adds information from the AWS IoT Device Shadows service to a message. + public let deviceShadowEnrich: DeviceShadowEnrichActivity? + /// Adds data from the AWS IoT device registry to your message. + public let deviceRegistryEnrich: DeviceRegistryEnrichActivity? + /// Adds other attributes based on existing attributes in the message. + public let addAttributes: AddAttributesActivity? + /// Computes an arithmetic expression using the message's attributes and adds it to the message. + public let math: MathActivity? + /// Removes attributes from a message. + public let removeAttributes: RemoveAttributesActivity? + /// Filters a message based on its attributes. + public let filter: FilterActivity? + /// Determines the source of the messages to be processed. + public let channel: ChannelActivity? + /// Specifies where to store the processed message data. + public let datastore: DatastoreActivity? + /// Runs a Lambda function to modify the message. + public let lambda: LambdaActivity? + + public init(selectAttributes: SelectAttributesActivity? = nil, deviceShadowEnrich: DeviceShadowEnrichActivity? = nil, deviceRegistryEnrich: DeviceRegistryEnrichActivity? = nil, addAttributes: AddAttributesActivity? = nil, math: MathActivity? = nil, removeAttributes: RemoveAttributesActivity? = nil, filter: FilterActivity? = nil, channel: ChannelActivity? = nil, datastore: DatastoreActivity? = nil, lambda: LambdaActivity? = nil) { + self.selectAttributes = selectAttributes + self.deviceShadowEnrich = deviceShadowEnrich + self.deviceRegistryEnrich = deviceRegistryEnrich + self.addAttributes = addAttributes + self.math = math + self.removeAttributes = removeAttributes + self.filter = filter + self.channel = channel + self.datastore = datastore + self.lambda = lambda + } + + private enum CodingKeys: String, CodingKey { + case selectAttributes = "selectAttributes" + case deviceShadowEnrich = "deviceShadowEnrich" + case deviceRegistryEnrich = "deviceRegistryEnrich" + case addAttributes = "addAttributes" + case math = "math" + case removeAttributes = "removeAttributes" + case filter = "filter" + case channel = "channel" + case datastore = "datastore" + case lambda = "lambda" + } + } + + public struct UpdateDatastoreRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datastoreName", location: .uri(locationName: "datastoreName"), required: true, type: .string), + AWSShapeMember(label: "retentionPeriod", required: false, type: .structure) + ] + /// The name of the data store to be updated. + public let datastoreName: String + /// How long, in days, message data is kept for the data store. + public let retentionPeriod: RetentionPeriod? + + public init(datastoreName: String, retentionPeriod: RetentionPeriod? = nil) { + self.datastoreName = datastoreName + self.retentionPeriod = retentionPeriod + } + + private enum CodingKeys: String, CodingKey { + case datastoreName = "datastoreName" + case retentionPeriod = "retentionPeriod" + } + } + + public struct DescribeDatasetResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "dataset", required: false, type: .structure) + ] + /// An object that contains information about the data set. + public let dataset: Dataset? + + public init(dataset: Dataset? = nil) { + self.dataset = dataset + } + + private enum CodingKeys: String, CodingKey { + case dataset = "dataset" + } + } + + public struct Datastore: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "retentionPeriod", required: false, type: .structure), + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "lastUpdateTime", required: false, type: .timestamp), + AWSShapeMember(label: "creationTime", required: false, type: .timestamp), + AWSShapeMember(label: "arn", required: false, type: .string) + ] + /// How long, in days, message data is kept for the data store. + public let retentionPeriod: RetentionPeriod? + /// 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. + public let status: DatastoreStatus? + /// The name of the data store. + public let name: String? + /// The last time the data store was updated. + public let lastUpdateTime: TimeStamp? + /// When the data store was created. + public let creationTime: TimeStamp? + /// The ARN of the data store. + public let arn: String? + + public init(retentionPeriod: RetentionPeriod? = nil, status: DatastoreStatus? = nil, name: String? = nil, lastUpdateTime: TimeStamp? = nil, creationTime: TimeStamp? = nil, arn: String? = nil) { + self.retentionPeriod = retentionPeriod + self.status = status + self.name = name + self.lastUpdateTime = lastUpdateTime + self.creationTime = creationTime + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case retentionPeriod = "retentionPeriod" + case status = "status" + case name = "name" + case lastUpdateTime = "lastUpdateTime" + case creationTime = "creationTime" + case arn = "arn" + } + } + + public struct SampleChannelDataResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "payloads", required: false, type: .list) + ] + /// The list of message samples. Each sample message is returned as a base64-encoded string. + public let payloads: [Data]? + + public init(payloads: [Data]? = nil) { + self.payloads = payloads + } + + private enum CodingKeys: String, CodingKey { + case payloads = "payloads" + } + } + + public struct DescribePipelineResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "pipeline", required: false, type: .structure) + ] + /// A "Pipeline" object that contains information about the pipeline. + public let pipeline: Pipeline? + + public init(pipeline: Pipeline? = nil) { + self.pipeline = pipeline + } + + private enum CodingKeys: String, CodingKey { + case pipeline = "pipeline" + } + } + + public struct DescribeChannelResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "statistics", required: false, type: .structure), + AWSShapeMember(label: "channel", required: false, type: .structure) + ] + /// Statistics about the channel. Included if the 'includeStatistics' parameter is set to true in the request. + public let statistics: ChannelStatistics? + /// An object that contains information about the channel. + public let channel: Channel? + + public init(statistics: ChannelStatistics? = nil, channel: Channel? = nil) { + self.statistics = statistics + self.channel = channel + } + + private enum CodingKeys: String, CodingKey { + case statistics = "statistics" + case channel = "channel" + } + } + + public struct DatasetContentStatus: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "state", required: false, type: .enum), + AWSShapeMember(label: "reason", required: false, type: .string) + ] + /// The state of the data set. Can be one of "CREATING", "SUCCEEDED" or "FAILED". + public let state: DatasetContentState? + /// The reason the data set is in this state. + public let reason: String? + + public init(state: DatasetContentState? = nil, reason: String? = nil) { + self.state = state + self.reason = reason + } + + private enum CodingKeys: String, CodingKey { + case state = "state" + case reason = "reason" + } + } + + public struct LoggingOptions: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "roleArn", required: true, type: .string), + AWSShapeMember(label: "enabled", required: true, type: .boolean), + AWSShapeMember(label: "level", required: true, type: .enum) + ] + /// The ARN of the role that grants permission to AWS IoT Analytics to perform logging. + public let roleArn: String + /// If true, logging is enabled for AWS IoT Analytics. + public let enabled: Bool + /// The logging level. Currently, only "ERROR" is supported. + public let level: LoggingLevel + + public init(roleArn: String, enabled: Bool, level: LoggingLevel) { + self.roleArn = roleArn + self.enabled = enabled + self.level = level + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "roleArn" + case enabled = "enabled" + case level = "level" + } + } + + public struct ListDatastoresRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + /// The token for the next set of results. + public let nextToken: String? + /// The maximum number of results to return in this request. The default value is 100. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public enum DatasetStatus: String, CustomStringConvertible, Codable { + case creating = "CREATING" + case active = "ACTIVE" + case deleting = "DELETING" + public var description: String { return self.rawValue } + } + + public struct UntagResourceResponse: AWSShape { + + } + + public struct DeleteDatastoreRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datastoreName", location: .uri(locationName: "datastoreName"), required: true, type: .string) + ] + /// The name of the data store to delete. + public let datastoreName: String + + public init(datastoreName: String) { + self.datastoreName = datastoreName + } + + private enum CodingKeys: String, CodingKey { + case datastoreName = "datastoreName" + } + } + + public struct DeviceRegistryEnrichActivity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "attribute", required: true, type: .string), + AWSShapeMember(label: "thingName", required: true, type: .string), + AWSShapeMember(label: "next", required: false, type: .string), + AWSShapeMember(label: "name", required: true, type: .string), + AWSShapeMember(label: "roleArn", required: true, type: .string) + ] + /// The name of the attribute that is added to the message. + public let attribute: String + /// The name of the IoT device whose registry information is added to the message. + public let thingName: String + /// The next activity in the pipeline. + public let next: String? + /// The name of the 'deviceRegistryEnrich' activity. + public let name: String + /// The ARN of the role that allows access to the device's registry information. + public let roleArn: String + + public init(attribute: String, thingName: String, next: String? = nil, name: String, roleArn: String) { + self.attribute = attribute + self.thingName = thingName + self.next = next + self.name = name + self.roleArn = roleArn + } + + private enum CodingKeys: String, CodingKey { + case attribute = "attribute" + case thingName = "thingName" + case next = "next" + case name = "name" + case roleArn = "roleArn" + } + } + + public struct EstimatedResourceSize: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "estimatedOn", required: false, type: .timestamp), + AWSShapeMember(label: "estimatedSizeInBytes", required: false, type: .double) + ] + /// The time when the estimate of the size of the resource was made. + public let estimatedOn: TimeStamp? + /// The estimated size of the resource in bytes. + public let estimatedSizeInBytes: Double? + + public init(estimatedOn: TimeStamp? = nil, estimatedSizeInBytes: Double? = nil) { + self.estimatedOn = estimatedOn + self.estimatedSizeInBytes = estimatedSizeInBytes + } + + private enum CodingKeys: String, CodingKey { + case estimatedOn = "estimatedOn" + case estimatedSizeInBytes = "estimatedSizeInBytes" + } + } + + public struct DatasetTrigger: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "schedule", required: false, type: .structure) + ] + /// The "Schedule" when the trigger is initiated. + public let schedule: Schedule? + + public init(schedule: Schedule? = nil) { + self.schedule = schedule + } + + private enum CodingKeys: String, CodingKey { + case schedule = "schedule" + } + } + + public struct UpdateChannelRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "channelName", location: .uri(locationName: "channelName"), required: true, type: .string), + AWSShapeMember(label: "retentionPeriod", required: false, type: .structure) + ] + /// The name of the channel to be updated. + public let channelName: String + /// How long, in days, message data is kept for the channel. + public let retentionPeriod: RetentionPeriod? + + public init(channelName: String, retentionPeriod: RetentionPeriod? = nil) { + self.channelName = channelName + self.retentionPeriod = retentionPeriod + } + + private enum CodingKeys: String, CodingKey { + case channelName = "channelName" + case retentionPeriod = "retentionPeriod" + } + } + + public struct ChannelStatistics: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "size", required: false, type: .structure) + ] + /// The estimated size of the channel. + public let size: EstimatedResourceSize? + + public init(size: EstimatedResourceSize? = nil) { + self.size = size + } + + private enum CodingKeys: String, CodingKey { + case size = "size" + } + } + + public struct DeleteDatasetRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datasetName", location: .uri(locationName: "datasetName"), required: true, type: .string) + ] + /// The name of the data set to delete. + public let datasetName: String + + public init(datasetName: String) { + self.datasetName = datasetName + } + + private enum CodingKeys: String, CodingKey { + case datasetName = "datasetName" + } + } + + public enum ReprocessingStatus: String, CustomStringConvertible, Codable { + case running = "RUNNING" + case succeeded = "SUCCEEDED" + case cancelled = "CANCELLED" + case failed = "FAILED" + public var description: String { return self.rawValue } + } + + public struct DatasetEntry: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "dataURI", required: false, type: .string), + AWSShapeMember(label: "entryName", required: false, type: .string) + ] + /// The pre-signed URI of the data set item. + public let dataURI: String? + /// The name of the data set item. + public let entryName: String? + + public init(dataURI: String? = nil, entryName: String? = nil) { + self.dataURI = dataURI + self.entryName = entryName + } + + private enum CodingKeys: String, CodingKey { + case dataURI = "dataURI" + case entryName = "entryName" + } + } + + public struct UntagResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "resourceArn", location: .querystring(locationName: "resourceArn"), required: true, type: .string), + AWSShapeMember(label: "tagKeys", location: .querystring(locationName: "tagKeys"), required: true, type: .list) + ] + /// The ARN of the resource whose tags will be removed. + public let resourceArn: String + /// The keys of those tags which will be removed. + public let tagKeys: [String] + + public init(resourceArn: String, tagKeys: [String]) { + self.resourceArn = resourceArn + self.tagKeys = tagKeys + } + + private enum CodingKeys: String, CodingKey { + case resourceArn = "resourceArn" + case tagKeys = "tagKeys" + } + } + + public struct DescribeDatastoreResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "datastore", required: false, type: .structure), + AWSShapeMember(label: "statistics", required: false, type: .structure) + ] + /// Information about the data store. + public let datastore: Datastore? + /// Statistics about the data store. Included if the 'includeStatistics' parameter is set to true in the request. + public let statistics: DatastoreStatistics? + + public init(datastore: Datastore? = nil, statistics: DatastoreStatistics? = nil) { + self.datastore = datastore + self.statistics = statistics + } + + private enum CodingKeys: String, CodingKey { + case datastore = "datastore" + case statistics = "statistics" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/kinesis-video-archived-media/KinesisVideoArchivedMedia_API.swift b/Sources/AWSSDKSwift/Services/kinesis-video-archived-media/KinesisVideoArchivedMedia_API.swift index e84f6b3326f..2ce89070b5e 100644 --- a/Sources/AWSSDKSwift/Services/kinesis-video-archived-media/KinesisVideoArchivedMedia_API.swift +++ b/Sources/AWSSDKSwift/Services/kinesis-video-archived-media/KinesisVideoArchivedMedia_API.swift @@ -24,11 +24,16 @@ public struct KinesisVideoArchivedMedia { ) } - /// Gets media for a list of fragments (specified by fragment number) from the archived data in a Kinesis video stream. This operation is only available for the AWS SDK for Java. It is not supported in AWS SDKs for other languages. 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. + /// 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. public func getMediaForFragmentList(_ input: GetMediaForFragmentListInput) throws -> GetMediaForFragmentListOutput { return try client.send(operation: "GetMediaForFragmentList", path: "/getMediaForFragmentList", httpMethod: "POST", input: input) } + /// 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: Get an endpoint using GetDataEndpoint, specifying GET_HLS_STREAMING_SESSION_URL for the APIName parameter. 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. 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. 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. + public func getHLSStreamingSessionURL(_ input: GetHLSStreamingSessionURLInput) throws -> GetHLSStreamingSessionURLOutput { + return try client.send(operation: "GetHLSStreamingSessionURL", path: "/getHLSStreamingSessionURL", httpMethod: "POST", input: input) + } + /// Returns a list of Fragment objects from the specified stream and start location within the archived data. public func listFragments(_ input: ListFragmentsInput) throws -> ListFragmentsOutput { return try client.send(operation: "ListFragments", path: "/listFragments", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/kinesis-video-archived-media/KinesisVideoArchivedMedia_Error.swift b/Sources/AWSSDKSwift/Services/kinesis-video-archived-media/KinesisVideoArchivedMedia_Error.swift index 2f407ee2c25..fe1c55faf6e 100644 --- a/Sources/AWSSDKSwift/Services/kinesis-video-archived-media/KinesisVideoArchivedMedia_Error.swift +++ b/Sources/AWSSDKSwift/Services/kinesis-video-archived-media/KinesisVideoArchivedMedia_Error.swift @@ -8,6 +8,10 @@ public enum KinesisVideoArchivedMediaError: AWSErrorType { case invalidArgumentException(message: String?) case clientLimitExceededException(message: String?) case notAuthorizedException(message: String?) + case unsupportedStreamMediaTypeException(message: String?) + case noDataRetentionException(message: String?) + case missingCodecPrivateDataException(message: String?) + case invalidCodecPrivateDataException(message: String?) } extension KinesisVideoArchivedMediaError { @@ -25,6 +29,14 @@ extension KinesisVideoArchivedMediaError { self = .clientLimitExceededException(message: message) case "NotAuthorizedException": self = .notAuthorizedException(message: message) + case "UnsupportedStreamMediaTypeException": + self = .unsupportedStreamMediaTypeException(message: message) + case "NoDataRetentionException": + self = .noDataRetentionException(message: message) + case "MissingCodecPrivateDataException": + self = .missingCodecPrivateDataException(message: message) + case "InvalidCodecPrivateDataException": + self = .invalidCodecPrivateDataException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/kinesis-video-archived-media/KinesisVideoArchivedMedia_Shapes.swift b/Sources/AWSSDKSwift/Services/kinesis-video-archived-media/KinesisVideoArchivedMedia_Shapes.swift index f30293b1e17..551602e8c45 100644 --- a/Sources/AWSSDKSwift/Services/kinesis-video-archived-media/KinesisVideoArchivedMedia_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/kinesis-video-archived-media/KinesisVideoArchivedMedia_Shapes.swift @@ -11,6 +11,171 @@ extension KinesisVideoArchivedMedia { public var description: String { return self.rawValue } } + public enum PlaybackMode: String, CustomStringConvertible, Codable { + case live = "LIVE" + case onDemand = "ON_DEMAND" + public var description: String { return self.rawValue } + } + + public struct HLSTimestampRange: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StartTimestamp", required: false, type: .timestamp), + AWSShapeMember(label: "EndTimestamp", required: false, type: .timestamp) + ] + /// 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. + public let startTimestamp: TimeStamp? + /// 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. + public let endTimestamp: TimeStamp? + + public init(startTimestamp: TimeStamp? = nil, endTimestamp: TimeStamp? = nil) { + self.startTimestamp = startTimestamp + self.endTimestamp = endTimestamp + } + + private enum CodingKeys: String, CodingKey { + case startTimestamp = "StartTimestamp" + case endTimestamp = "EndTimestamp" + } + } + + public struct FragmentSelector: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FragmentSelectorType", required: true, type: .enum), + AWSShapeMember(label: "TimestampRange", required: true, type: .structure) + ] + /// The origin of the time stamps to use (Server or Producer). + public let fragmentSelectorType: FragmentSelectorType + /// The range of time stamps to return. + public let timestampRange: TimestampRange + + public init(fragmentSelectorType: FragmentSelectorType, timestampRange: TimestampRange) { + self.fragmentSelectorType = fragmentSelectorType + self.timestampRange = timestampRange + } + + private enum CodingKeys: String, CodingKey { + case fragmentSelectorType = "FragmentSelectorType" + case timestampRange = "TimestampRange" + } + } + + public struct ListFragmentsOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Fragments", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// A list of fragment numbers that correspond to the time stamp range provided. + public let fragments: [Fragment]? + /// 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. + public let nextToken: String? + + public init(fragments: [Fragment]? = nil, nextToken: String? = nil) { + self.fragments = fragments + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case fragments = "Fragments" + case nextToken = "NextToken" + } + } + + public struct HLSFragmentSelector: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FragmentSelectorType", required: false, type: .enum), + AWSShapeMember(label: "TimestampRange", required: false, type: .structure) + ] + /// 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. + public let fragmentSelectorType: HLSFragmentSelectorType? + /// The start and end of the time stamp range for the requested media. This value should not be present if PlaybackType is LIVE. + public let timestampRange: HLSTimestampRange? + + public init(fragmentSelectorType: HLSFragmentSelectorType? = nil, timestampRange: HLSTimestampRange? = nil) { + self.fragmentSelectorType = fragmentSelectorType + self.timestampRange = timestampRange + } + + private enum CodingKeys: String, CodingKey { + case fragmentSelectorType = "FragmentSelectorType" + case timestampRange = "TimestampRange" + } + } + + public struct GetHLSStreamingSessionURLInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StreamARN", required: false, type: .string), + AWSShapeMember(label: "Expires", required: false, type: .integer), + AWSShapeMember(label: "DiscontinuityMode", required: false, type: .enum), + AWSShapeMember(label: "HLSFragmentSelector", required: false, type: .structure), + AWSShapeMember(label: "StreamName", required: false, type: .string), + AWSShapeMember(label: "MaxMediaPlaylistFragmentResults", required: false, type: .long), + AWSShapeMember(label: "PlaybackMode", required: false, type: .enum) + ] + /// 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. + public let streamARN: String? + /// 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). + public let expires: Int32? + /// 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. + public let discontinuityMode: DiscontinuityMode? + /// 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. + public let hLSFragmentSelector: HLSFragmentSelector? + /// The name of the stream for which to retrieve the HLS master playlist URL. You must specify either the StreamName or the StreamARN. + public let streamName: String? + /// 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. + public let maxMediaPlaylistFragmentResults: Int64? + /// 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. + public let playbackMode: PlaybackMode? + + public init(streamARN: String? = nil, expires: Int32? = nil, discontinuityMode: DiscontinuityMode? = nil, hLSFragmentSelector: HLSFragmentSelector? = nil, streamName: String? = nil, maxMediaPlaylistFragmentResults: Int64? = nil, playbackMode: PlaybackMode? = nil) { + self.streamARN = streamARN + self.expires = expires + self.discontinuityMode = discontinuityMode + self.hLSFragmentSelector = hLSFragmentSelector + self.streamName = streamName + self.maxMediaPlaylistFragmentResults = maxMediaPlaylistFragmentResults + self.playbackMode = playbackMode + } + + private enum CodingKeys: String, CodingKey { + case streamARN = "StreamARN" + case expires = "Expires" + case discontinuityMode = "DiscontinuityMode" + case hLSFragmentSelector = "HLSFragmentSelector" + case streamName = "StreamName" + case maxMediaPlaylistFragmentResults = "MaxMediaPlaylistFragmentResults" + case playbackMode = "PlaybackMode" + } + } + + public struct GetMediaForFragmentListOutput: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "Payload" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContentType", location: .header(locationName: "Content-Type"), required: false, type: .string), + AWSShapeMember(label: "Payload", required: false, type: .blob) + ] + /// The content type of the requested media. + public let contentType: String? + /// 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 + public let payload: Data? + + public init(contentType: String? = nil, payload: Data? = nil) { + self.contentType = contentType + self.payload = payload + } + + private enum CodingKeys: String, CodingKey { + case contentType = "Content-Type" + case payload = "Payload" + } + } + + public enum HLSFragmentSelectorType: String, CustomStringConvertible, Codable { + case producerTimestamp = "PRODUCER_TIMESTAMP" + case serverTimestamp = "SERVER_TIMESTAMP" + public var description: String { return self.rawValue } + } + public struct GetMediaForFragmentListInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Fragments", required: true, type: .list), @@ -55,74 +220,54 @@ extension KinesisVideoArchivedMedia { public struct ListFragmentsInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StreamName", required: true, type: .string), AWSShapeMember(label: "FragmentSelector", required: false, type: .structure), + AWSShapeMember(label: "StreamName", required: true, type: .string), AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .long) ] - /// The name of the stream from which to retrieve a fragment list. - public let streamName: String /// Describes the time stamp range and time stamp origin for the range of fragments to return. public let fragmentSelector: FragmentSelector? + /// The name of the stream from which to retrieve a fragment list. + public let streamName: String /// A token to specify where to start paginating. This is the ListFragmentsOutput$NextToken from a previously truncated response. public let nextToken: String? /// 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. public let maxResults: Int64? - public init(streamName: String, fragmentSelector: FragmentSelector? = nil, nextToken: String? = nil, maxResults: Int64? = nil) { - self.streamName = streamName + public init(fragmentSelector: FragmentSelector? = nil, streamName: String, nextToken: String? = nil, maxResults: Int64? = nil) { self.fragmentSelector = fragmentSelector + self.streamName = streamName self.nextToken = nextToken self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case streamName = "StreamName" case fragmentSelector = "FragmentSelector" + case streamName = "StreamName" case nextToken = "NextToken" case maxResults = "MaxResults" } } - public struct FragmentSelector: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FragmentSelectorType", required: true, type: .enum), - AWSShapeMember(label: "TimestampRange", required: true, type: .structure) - ] - /// The origin of the time stamps to use (Server or Producer). - public let fragmentSelectorType: FragmentSelectorType - /// The range of time stamps to return. - public let timestampRange: TimestampRange - - public init(fragmentSelectorType: FragmentSelectorType, timestampRange: TimestampRange) { - self.fragmentSelectorType = fragmentSelectorType - self.timestampRange = timestampRange - } - - private enum CodingKeys: String, CodingKey { - case fragmentSelectorType = "FragmentSelectorType" - case timestampRange = "TimestampRange" - } + public enum DiscontinuityMode: String, CustomStringConvertible, Codable { + case always = "ALWAYS" + case never = "NEVER" + public var description: String { return self.rawValue } } - public struct ListFragmentsOutput: AWSShape { + public struct GetHLSStreamingSessionURLOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Fragments", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) + AWSShapeMember(label: "HLSStreamingSessionURL", required: false, type: .string) ] - /// A list of fragment numbers that correspond to the time stamp range provided. - public let fragments: [Fragment]? - /// 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. - public let nextToken: String? + /// The URL (containing the session token) that a media player can use to retrieve the HLS master playlist. + public let hLSStreamingSessionURL: String? - public init(fragments: [Fragment]? = nil, nextToken: String? = nil) { - self.fragments = fragments - self.nextToken = nextToken + public init(hLSStreamingSessionURL: String? = nil) { + self.hLSStreamingSessionURL = hLSStreamingSessionURL } private enum CodingKeys: String, CodingKey { - case fragments = "Fragments" - case nextToken = "NextToken" + case hLSStreamingSessionURL = "HLSStreamingSessionURL" } } @@ -162,27 +307,4 @@ extension KinesisVideoArchivedMedia { } } - public struct GetMediaForFragmentListOutput: AWSShape { - /// The key for the payload - public static let payloadPath: String? = "Payload" - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ContentType", location: .header(locationName: "Content-Type"), required: false, type: .string), - AWSShapeMember(label: "Payload", required: false, type: .blob) - ] - /// The content type of the requested media. - public let contentType: String? - /// 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 - public let payload: Data? - - public init(contentType: String? = nil, payload: Data? = nil) { - self.contentType = contentType - self.payload = payload - } - - private enum CodingKeys: String, CodingKey { - case contentType = "Content-Type" - case payload = "Payload" - } - } - } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/kinesis/Kinesis_API.swift b/Sources/AWSSDKSwift/Services/kinesis/Kinesis_API.swift index faa3fec5c96..b7b1eb8d9ca 100644 --- a/Sources/AWSSDKSwift/Services/kinesis/Kinesis_API.swift +++ b/Sources/AWSSDKSwift/Services/kinesis/Kinesis_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -Amazon Kinesis Streams Service API Reference Amazon Kinesis Streams is a managed service that scales elastically for real time processing of streaming big data. +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. */ public struct Kinesis { @@ -25,107 +25,137 @@ public struct Kinesis { ) } - /// Gets an Amazon Kinesis shard iterator. A shard iterator expires five minutes after it is returned to the requester. A shard iterator specifies the shard position from which to start reading data records sequentially. The position is specified using the sequence number of a data record in a shard. A sequence number is the identifier associated with every record ingested in the stream, and is assigned when a record is put into the stream. Each stream has one or more shards. You must specify the shard iterator type. For example, you can set the ShardIteratorType parameter to read exactly from the position denoted by a specific sequence number by using the AT_SEQUENCE_NUMBER shard iterator type. 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 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 5 transactions per second per account per open shard. - public func getShardIterator(_ input: GetShardIteratorInput) throws -> GetShardIteratorOutput { - return try client.send(operation: "GetShardIterator", path: "/", httpMethod: "POST", input: input) + /// 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. + public func deregisterStreamConsumer(_ input: DeregisterStreamConsumerInput) throws { + _ = try client.send(operation: "DeregisterStreamConsumer", path: "/", httpMethod: "POST", input: input) } - /// Describes the specified Kinesis 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 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. + /// 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. public func describeStream(_ input: DescribeStreamInput) throws -> DescribeStreamOutput { return try client.send(operation: "DescribeStream", path: "/", httpMethod: "POST", input: input) } - /// Decreases the Kinesis stream's retention period, which is the length of time data records are accessible after they are added to the stream. The minimum value of a stream's retention period is 24 hours. This operation may result in lost data. For example, if the stream's retention period is 48 hours and is decreased to 24 hours, any data already in the stream that is older than 24 hours is inaccessible. + /// 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. public func decreaseStreamRetentionPeriod(_ input: DecreaseStreamRetentionPeriodInput) throws { _ = try client.send(operation: "DecreaseStreamRetentionPeriod", path: "/", httpMethod: "POST", input: input) } - /// Increases the Amazon Kinesis stream's retention period, which is the length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 168 hours (7 days). 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. + /// 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. public func increaseStreamRetentionPeriod(_ input: IncreaseStreamRetentionPeriodInput) throws { _ = try client.send(operation: "IncreaseStreamRetentionPeriod", path: "/", httpMethod: "POST", input: input) } - /// Provides a summarized description of the specified Kinesis 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. + /// 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. public func describeStreamSummary(_ input: DescribeStreamSummaryInput) throws -> DescribeStreamSummaryOutput { return try client.send(operation: "DescribeStreamSummary", path: "/", httpMethod: "POST", input: input) } - /// Writes a single data record into an Amazon Kinesis stream. Call PutRecord to send data into the stream for real-time ingestion and subsequent processing, one record at a time. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second. You must specify the name of the stream that captures, stores, and transports the data; a partition key; and the data blob itself. The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on. The partition key is used by Kinesis Streams to distribute data across shards. Kinesis 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 Streams Developer Guide. PutRecord returns the shard ID of where the data record was placed and the sequence number that was assigned to the data record. Sequence numbers increase over time and are specific to a shard within a stream, not across all shards within a stream. To guarantee strictly increasing ordering, write serially to a shard and use the SequenceNumberForOrdering parameter. For more information, see Adding Data to a Stream in the Amazon Kinesis Streams Developer Guide. If a PutRecord request cannot be processed because of insufficient provisioned throughput on the shard involved in the request, PutRecord throws ProvisionedThroughputExceededException. 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. + /// 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. public func putRecord(_ input: PutRecordInput) throws -> PutRecordOutput { return try client.send(operation: "PutRecord", path: "/", httpMethod: "POST", input: input) } - /// Merges two adjacent shards in a Kinesis stream and combines them into a single shard to reduce the stream's capacity to ingest and transport data. Two shards are considered adjacent if the union of the hash key ranges for the two shards form a contiguous set with no gaps. For example, if you have two shards, one with a hash key range of 276...381 and the other with a hash key range of 382...454, then you could merge these two shards into a single shard that would have a hash key range of 276...454. After the merge, the single child shard receives data for all hash key values covered by the two parent shards. MergeShards is called when there is a need to reduce the overall capacity of a stream because of excess capacity that is not being used. You must specify the shard to be merged and the adjacent shard for a stream. For more information about merging shards, see Merge Two Shards in the Amazon Kinesis Streams Developer Guide. If the stream is in the ACTIVE state, you can call MergeShards. If a stream is in the CREATING, UPDATING, or DELETING state, MergeShards returns a ResourceInUseException. If the specified stream does not exist, MergeShards returns a ResourceNotFoundException. You can use DescribeStream to check the state of the stream, which is returned in StreamStatus. MergeShards is an asynchronous operation. Upon receiving a MergeShards request, Amazon Kinesis immediately returns a response and sets the StreamStatus to UPDATING. After the operation is completed, Amazon Kinesis sets the StreamStatus to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state. You use DescribeStream to determine the shard IDs that are specified in the MergeShards request. If you try to operate on too many streams in parallel using CreateStream, DeleteStream, MergeShards or SplitShard, you will receive a LimitExceededException. MergeShards has a limit of 5 transactions per second per account. + /// 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. + public func stopStreamEncryption(_ input: StopStreamEncryptionInput) throws { + _ = try client.send(operation: "StopStreamEncryption", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func getRecords(_ input: GetRecordsInput) throws -> GetRecordsOutput { + return try client.send(operation: "GetRecords", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func subscribeToShard(_ input: SubscribeToShardInput) throws { + _ = try client.send(operation: "SubscribeToShard", path: "/", httpMethod: "POST", input: input) + } + + /// Lists the tags for the specified Kinesis data stream. This operation has a limit of five transactions per second per account. + public func listTagsForStream(_ input: ListTagsForStreamInput) throws -> ListTagsForStreamOutput { + return try client.send(operation: "ListTagsForStream", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func listStreamConsumers(_ input: ListStreamConsumersInput) throws -> ListStreamConsumersOutput { + return try client.send(operation: "ListStreamConsumers", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func describeLimits(_ input: DescribeLimitsInput) throws -> DescribeLimitsOutput { + return try client.send(operation: "DescribeLimits", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func listShards(_ input: ListShardsInput) throws -> ListShardsOutput { + return try client.send(operation: "ListShards", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func getShardIterator(_ input: GetShardIteratorInput) throws -> GetShardIteratorOutput { + return try client.send(operation: "GetShardIterator", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func mergeShards(_ input: MergeShardsInput) throws { _ = try client.send(operation: "MergeShards", path: "/", httpMethod: "POST", input: input) } - /// Lists your Kinesis streams. The number of streams may be too large to return from a single call to ListStreams. You can limit the number of returned streams using the Limit parameter. If you do not specify a value for the Limit parameter, Kinesis 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 5 transactions per second per account. + /// 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. public func listStreams(_ input: ListStreamsInput) throws -> ListStreamsOutput { return try client.send(operation: "ListStreams", path: "/", httpMethod: "POST", input: input) } - /// 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 Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis 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 five 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. + /// 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. public func startStreamEncryption(_ input: StartStreamEncryptionInput) throws { _ = try client.send(operation: "StartStreamEncryption", path: "/", httpMethod: "POST", input: input) } - /// Removes tags from the specified Kinesis stream. Removed tags are deleted and cannot be recovered after this operation successfully completes. If you specify a tag that does not exist, it is ignored. + /// 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. public func removeTagsFromStream(_ input: RemoveTagsFromStreamInput) throws { _ = try client.send(operation: "RemoveTagsFromStream", path: "/", httpMethod: "POST", input: input) } - /// Disables server-side encryption for a specified stream. Stopping encryption is an asynchronous operation. Upon receiving the request, Kinesis Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis 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 Streams. API Limits: You can successfully disable server-side encryption 25 times in a rolling 24-hour period. Note: It can take up to five 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. - public func stopStreamEncryption(_ input: StopStreamEncryptionInput) throws { - _ = try client.send(operation: "StopStreamEncryption", path: "/", httpMethod: "POST", input: input) - } - - /// Creates a Kinesis stream. A stream captures and transports data records that are continuously emitted from different data sources or producers. Scale-out within a stream is explicitly supported by means of shards, which are uniquely identified groups of data records in a stream. You specify and control the number of shards that a stream is composed of. Each shard can support reads up to 5 transactions per second, up to a maximum data read total of 2 MB per second. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second. I 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 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 Streams immediately returns and sets the stream status to CREATING. After the stream is created, Kinesis 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 Streams Limits in the Amazon Kinesis 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 5 transactions per second per account. + /// 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. public func createStream(_ input: CreateStreamInput) throws { _ = try client.send(operation: "CreateStream", path: "/", httpMethod: "POST", input: input) } - /// Gets data records from a Kinesis stream's shard. Specify a shard iterator using the ShardIterator parameter. The shard iterator specifies the position in the shard from which you want to start reading data records sequentially. If there are no records available in the portion of the shard that the iterator points to, GetRecords returns an empty list. It might take multiple calls to get to a portion of the shard that contains records. You can scale by provisioning multiple shards per stream while considering service limits (for more information, see Streams Limits in the Amazon Kinesis Streams Developer Guide). Your application should have one thread per shard, each reading continuously from its stream. To read from a stream continually, call GetRecords in a loop. Use GetShardIterator to get the shard iterator to specify in the first GetRecords call. GetRecords returns a new shard iterator in NextShardIterator. Specify the shard iterator returned in NextShardIterator in subsequent calls to GetRecords. If the shard has been closed, the shard iterator can't return more data and GetRecords returns null in NextShardIterator. You can terminate the loop when the shard is closed, or when the shard iterator reaches the record with the sequence number or other attribute that marks it as the last record to process. Each data record can be up to 1 MB in size, and each shard can read up to 2 MB per second. You can ensure that your calls don't exceed the maximum supported size or throughput by using the Limit parameter to specify the maximum number of records that GetRecords can return. Consider your average record size when determining this limit. The size of the data returned by GetRecords varies depending on the utilization of the shard. The maximum size of data that GetRecords can return is 10 MB. If a call returns this amount of data, subsequent calls made within the next 5 seconds throw ProvisionedThroughputExceededException. If there is insufficient provisioned throughput on the shard, subsequent calls made within the next 1 second throw ProvisionedThroughputExceededException. GetRecords won't return any data when it throws an exception. For this reason, we recommend that you wait one second between calls to GetRecords; however, it's possible that the application will get exceptions for longer than 1 second. To detect whether the application is falling behind in processing, you can use the MillisBehindLatest response attribute. You can also monitor the stream using CloudWatch metrics and other mechanisms (see Monitoring in the Amazon Kinesis Streams Developer Guide). Each Amazon Kinesis record includes a value, ApproximateArrivalTimestamp, that is set when a stream successfully receives and stores a record. This is commonly referred to as a server-side 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. - public func getRecords(_ input: GetRecordsInput) throws -> GetRecordsOutput { - return try client.send(operation: "GetRecords", path: "/", httpMethod: "POST", input: input) - } - - /// Splits a shard into two new shards in the Kinesis stream, to increase the stream's capacity to ingest and transport data. SplitShard is called when there is a need to increase the overall capacity of a stream because of an expected increase in the volume of data records being ingested. You can also use SplitShard when a shard appears to be approaching its maximum utilization; for example, the producers sending data into the specific shard are suddenly sending more than previously anticipated. You can also call SplitShard to increase stream capacity, so that more Kinesis 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 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 Streams immediately returns a response and sets the stream status to UPDATING. After the operation is completed, Kinesis 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 Streams Limits in the Amazon Kinesis 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 5 transactions per second per account. + /// 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. public func splitShard(_ input: SplitShardInput) throws { _ = try client.send(operation: "SplitShard", path: "/", httpMethod: "POST", input: input) } - /// Lists the tags for the specified Kinesis stream. - public func listTagsForStream(_ input: ListTagsForStreamInput) throws -> ListTagsForStreamOutput { - return try client.send(operation: "ListTagsForStream", path: "/", httpMethod: "POST", input: input) + /// 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. + public func describeStreamConsumer(_ input: DescribeStreamConsumerInput) throws -> DescribeStreamConsumerOutput { + return try client.send(operation: "DescribeStreamConsumer", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func registerStreamConsumer(_ input: RegisterStreamConsumerInput) throws -> RegisterStreamConsumerOutput { + return try client.send(operation: "RegisterStreamConsumer", path: "/", httpMethod: "POST", input: input) } - /// Enables enhanced Kinesis stream monitoring for shard-level metrics. + /// Enables enhanced Kinesis data stream monitoring for shard-level metrics. public func enableEnhancedMonitoring(_ input: EnableEnhancedMonitoringInput) throws -> EnhancedMonitoringOutput { return try client.send(operation: "EnableEnhancedMonitoring", path: "/", httpMethod: "POST", input: input) } - /// 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 1 transaction per second per account. - public func describeLimits(_ input: DescribeLimitsInput) throws -> DescribeLimitsOutput { - return try client.send(operation: "DescribeLimits", path: "/", httpMethod: "POST", input: input) + /// 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. + public func addTagsToStream(_ input: AddTagsToStreamInput) throws { + _ = try client.send(operation: "AddTagsToStream", path: "/", httpMethod: "POST", input: input) } - /// Writes multiple data records into a Kinesis stream in a single call (also referred to as a PutRecords request). Use this operation to send data into the stream for data ingestion and processing. Each PutRecords request can support up to 500 records. Each record in the request can be as large as 1 MB, up to a limit of 5 MB for the entire request, including partition keys. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second. You must specify the name of the stream that captures, stores, and transports the data; and an array of request Records, with each record in the array requiring a partition key and data blob. The record size limit applies to the total size of the partition key and data blob. The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on. The partition key is used by Kinesis 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 Streams Developer Guide. Each record in the Records array may include an optional parameter, ExplicitHashKey, which overrides the partition key to shard mapping. This parameter allows a data producer to determine explicitly the shard where the record is stored. For more information, see Adding Multiple Records with PutRecords in the Amazon Kinesis Streams Developer Guide. The PutRecords response includes an array of response Records. Each record in the response array directly correlates with a record in the request array using natural ordering, from the top to the bottom of the request and response. The response Records array always includes the same number of records as the request array. The response Records array includes both successfully and unsuccessfully processed records. Amazon Kinesis attempts to process all records in each PutRecords request. A single record failure does not stop the processing of subsequent records. A successfully processed record includes ShardId and SequenceNumber values. The ShardId parameter identifies the shard in the stream where the record is stored. The SequenceNumber parameter is an identifier assigned to the put record, unique to all records in the stream. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error and can be one of the following values: ProvisionedThroughputExceededException or InternalFailure. ErrorMessage provides more detailed information about the ProvisionedThroughputExceededException exception including the account ID, stream name, and shard ID of the record that was throttled. For more information about partially successful responses, see Adding Multiple Records with PutRecords in the Amazon Kinesis Streams Developer Guide. By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period. + /// 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. public func putRecords(_ input: PutRecordsInput) throws -> PutRecordsOutput { return try client.send(operation: "PutRecords", path: "/", httpMethod: "POST", input: input) } - /// Adds or updates tags for the specified Kinesis stream. Each stream can have up to 10 tags. If tags have already been assigned to the stream, AddTagsToStream overwrites any existing tags that correspond to the specified tag keys. - public func addTagsToStream(_ input: AddTagsToStreamInput) throws { - _ = try client.send(operation: "AddTagsToStream", path: "/", httpMethod: "POST", input: input) - } - - /// 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 Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis 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 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 limits, which are per region per account unless otherwise noted. You cannot: Scale more than twice per rolling 24 hour period Scale up to double your current shard count Scale down below half your current shard count Scale up to more 500 shards in a stream Scale a stream with more than 500 shards down unless the result is less than 500 shards Scale up more the shard limits for your account For the default limits for an AWS account, see Streams Limits in the Amazon Kinesis Streams Developer Guide. To increase a limit, contact AWS Support. + /// 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. public func updateShardCount(_ input: UpdateShardCountInput) throws -> UpdateShardCountOutput { return try client.send(operation: "UpdateShardCount", path: "/", httpMethod: "POST", input: input) } - /// Deletes a Kinesis stream and all its shards and data. You must shut down any applications that are operating on the stream before you delete the stream. If an application attempts to operate on a deleted stream, it 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 Streams completes the deletion. Note: Kinesis 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 5 transactions per second per account. + /// 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. public func deleteStream(_ input: DeleteStreamInput) throws { _ = try client.send(operation: "DeleteStream", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/kinesis/Kinesis_Error.swift b/Sources/AWSSDKSwift/Services/kinesis/Kinesis_Error.swift index e13bd1cacfe..b28268057fe 100644 --- a/Sources/AWSSDKSwift/Services/kinesis/Kinesis_Error.swift +++ b/Sources/AWSSDKSwift/Services/kinesis/Kinesis_Error.swift @@ -4,11 +4,11 @@ import AWSSDKSwiftCore /// Error enum for Kinesis public enum KinesisError: AWSErrorType { + case limitExceededException(message: String?) case resourceNotFoundException(message: String?) case invalidArgumentException(message: String?) - case provisionedThroughputExceededException(message: String?) - case limitExceededException(message: String?) case resourceInUseException(message: String?) + case provisionedThroughputExceededException(message: String?) case kMSDisabledException(message: String?) case kMSInvalidStateException(message: String?) case kMSAccessDeniedException(message: String?) @@ -16,6 +16,7 @@ public enum KinesisError: AWSErrorType { case kMSOptInRequired(message: String?) case kMSThrottlingException(message: String?) case expiredIteratorException(message: String?) + case expiredNextTokenException(message: String?) } extension KinesisError { @@ -25,16 +26,16 @@ extension KinesisError { errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) } switch errorCode { + case "LimitExceededException": + self = .limitExceededException(message: message) case "ResourceNotFoundException": self = .resourceNotFoundException(message: message) case "InvalidArgumentException": self = .invalidArgumentException(message: message) - case "ProvisionedThroughputExceededException": - self = .provisionedThroughputExceededException(message: message) - case "LimitExceededException": - self = .limitExceededException(message: message) case "ResourceInUseException": self = .resourceInUseException(message: message) + case "ProvisionedThroughputExceededException": + self = .provisionedThroughputExceededException(message: message) case "KMSDisabledException": self = .kMSDisabledException(message: message) case "KMSInvalidStateException": @@ -49,6 +50,8 @@ extension KinesisError { self = .kMSThrottlingException(message: message) case "ExpiredIteratorException": self = .expiredIteratorException(message: message) + case "ExpiredNextTokenException": + self = .expiredNextTokenException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/kinesis/Kinesis_Shapes.swift b/Sources/AWSSDKSwift/Services/kinesis/Kinesis_Shapes.swift index 33bb9479217..a2487f35120 100644 --- a/Sources/AWSSDKSwift/Services/kinesis/Kinesis_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/kinesis/Kinesis_Shapes.swift @@ -5,6 +5,540 @@ import AWSSDKSwiftCore extension Kinesis { + public struct StreamDescriptionSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EncryptionType", required: false, type: .enum), + AWSShapeMember(label: "StreamARN", required: true, type: .string), + AWSShapeMember(label: "KeyId", required: false, type: .string), + AWSShapeMember(label: "RetentionPeriodHours", required: true, type: .integer), + AWSShapeMember(label: "EnhancedMonitoring", required: true, type: .list), + AWSShapeMember(label: "OpenShardCount", required: true, type: .integer), + AWSShapeMember(label: "ConsumerCount", required: false, type: .integer), + AWSShapeMember(label: "StreamCreationTimestamp", required: true, type: .timestamp), + AWSShapeMember(label: "StreamStatus", required: true, type: .enum), + AWSShapeMember(label: "StreamName", required: true, type: .string) + ] + /// The encryption type used. This value is one of the following: KMS NONE + public let encryptionType: EncryptionType? + /// The Amazon Resource Name (ARN) for the stream being described. + public let streamARN: String + /// 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 + public let keyId: String? + /// The current retention period, in hours. + public let retentionPeriodHours: Int32 + /// Represents the current enhanced monitoring settings of the stream. + public let enhancedMonitoring: [EnhancedMetrics] + /// The number of open shards in the stream. + public let openShardCount: Int32 + /// The number of enhanced fan-out consumers registered with the stream. + public let consumerCount: Int32? + /// The approximate time that the stream was created. + public let streamCreationTimestamp: TimeStamp + /// 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. + public let streamStatus: StreamStatus + /// The name of the stream being described. + public let streamName: String + + public init(encryptionType: EncryptionType? = nil, streamARN: String, keyId: String? = nil, retentionPeriodHours: Int32, enhancedMonitoring: [EnhancedMetrics], openShardCount: Int32, consumerCount: Int32? = nil, streamCreationTimestamp: TimeStamp, streamStatus: StreamStatus, streamName: String) { + self.encryptionType = encryptionType + self.streamARN = streamARN + self.keyId = keyId + self.retentionPeriodHours = retentionPeriodHours + self.enhancedMonitoring = enhancedMonitoring + self.openShardCount = openShardCount + self.consumerCount = consumerCount + self.streamCreationTimestamp = streamCreationTimestamp + self.streamStatus = streamStatus + self.streamName = streamName + } + + private enum CodingKeys: String, CodingKey { + case encryptionType = "EncryptionType" + case streamARN = "StreamARN" + case keyId = "KeyId" + case retentionPeriodHours = "RetentionPeriodHours" + case enhancedMonitoring = "EnhancedMonitoring" + case openShardCount = "OpenShardCount" + case consumerCount = "ConsumerCount" + case streamCreationTimestamp = "StreamCreationTimestamp" + case streamStatus = "StreamStatus" + case streamName = "StreamName" + } + } + + public struct AddTagsToStreamInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Tags", required: true, type: .map), + AWSShapeMember(label: "StreamName", required: true, type: .string) + ] + /// A set of up to 10 key-value pairs to use to create the tags. + public let tags: [String: String] + /// The name of the stream. + public let streamName: String + + public init(tags: [String: String], streamName: String) { + self.tags = tags + self.streamName = streamName + } + + private enum CodingKeys: String, CodingKey { + case tags = "Tags" + case streamName = "StreamName" + } + } + + public enum EncryptionType: String, CustomStringConvertible, Codable { + case none = "NONE" + case kms = "KMS" + public var description: String { return self.rawValue } + } + + public struct InternalFailureException: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "message", required: false, type: .string) + ] + public let message: String? + + public init(message: String? = nil) { + self.message = message + } + + private enum CodingKeys: String, CodingKey { + case message = "message" + } + } + + public struct UpdateShardCountOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TargetShardCount", required: false, type: .integer), + AWSShapeMember(label: "CurrentShardCount", required: false, type: .integer), + AWSShapeMember(label: "StreamName", required: false, type: .string) + ] + /// The updated number of shards. + public let targetShardCount: Int32? + /// The current number of shards. + public let currentShardCount: Int32? + /// The name of the stream. + public let streamName: String? + + public init(targetShardCount: Int32? = nil, currentShardCount: Int32? = nil, streamName: String? = nil) { + self.targetShardCount = targetShardCount + self.currentShardCount = currentShardCount + self.streamName = streamName + } + + private enum CodingKeys: String, CodingKey { + case targetShardCount = "TargetShardCount" + case currentShardCount = "CurrentShardCount" + case streamName = "StreamName" + } + } + + public struct DecreaseStreamRetentionPeriodInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RetentionPeriodHours", required: true, type: .integer), + AWSShapeMember(label: "StreamName", required: true, type: .string) + ] + /// The new retention period of the stream, in hours. Must be less than the current retention period. + public let retentionPeriodHours: Int32 + /// The name of the stream to modify. + public let streamName: String + + public init(retentionPeriodHours: Int32, streamName: String) { + self.retentionPeriodHours = retentionPeriodHours + self.streamName = streamName + } + + private enum CodingKeys: String, CodingKey { + case retentionPeriodHours = "RetentionPeriodHours" + case streamName = "StreamName" + } + } + + public struct Shard: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ShardId", required: true, type: .string), + AWSShapeMember(label: "SequenceNumberRange", required: true, type: .structure), + AWSShapeMember(label: "AdjacentParentShardId", required: false, type: .string), + AWSShapeMember(label: "HashKeyRange", required: true, type: .structure), + AWSShapeMember(label: "ParentShardId", required: false, type: .string) + ] + /// The unique identifier of the shard within the stream. + public let shardId: String + /// The range of possible sequence numbers for the shard. + public let sequenceNumberRange: SequenceNumberRange + /// The shard ID of the shard adjacent to the shard's parent. + public let adjacentParentShardId: String? + /// The range of possible hash key values for the shard, which is a set of ordered contiguous positive integers. + public let hashKeyRange: HashKeyRange + /// The shard ID of the shard's parent. + public let parentShardId: String? + + public init(shardId: String, sequenceNumberRange: SequenceNumberRange, adjacentParentShardId: String? = nil, hashKeyRange: HashKeyRange, parentShardId: String? = nil) { + self.shardId = shardId + self.sequenceNumberRange = sequenceNumberRange + self.adjacentParentShardId = adjacentParentShardId + self.hashKeyRange = hashKeyRange + self.parentShardId = parentShardId + } + + private enum CodingKeys: String, CodingKey { + case shardId = "ShardId" + case sequenceNumberRange = "SequenceNumberRange" + case adjacentParentShardId = "AdjacentParentShardId" + case hashKeyRange = "HashKeyRange" + case parentShardId = "ParentShardId" + } + } + + public struct PutRecordOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EncryptionType", required: false, type: .enum), + AWSShapeMember(label: "SequenceNumber", required: true, type: .string), + AWSShapeMember(label: "ShardId", required: true, type: .string) + ] + /// 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. + public let encryptionType: EncryptionType? + /// 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. + public let sequenceNumber: String + /// The shard ID of the shard where the data record was placed. + public let shardId: String + + public init(encryptionType: EncryptionType? = nil, sequenceNumber: String, shardId: String) { + self.encryptionType = encryptionType + self.sequenceNumber = sequenceNumber + self.shardId = shardId + } + + private enum CodingKeys: String, CodingKey { + case encryptionType = "EncryptionType" + case sequenceNumber = "SequenceNumber" + case shardId = "ShardId" + } + } + + public struct SubscribeToShardInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ShardId", required: true, type: .string), + AWSShapeMember(label: "StartingPosition", required: true, type: .structure), + AWSShapeMember(label: "ConsumerARN", required: true, type: .string) + ] + /// The ID of the shard you want to subscribe to. To see a list of all the shards for a given stream, use ListShards. + public let shardId: String + public let startingPosition: StartingPosition + /// For this parameter, use the value you obtained when you called RegisterStreamConsumer. + public let consumerARN: String + + public init(shardId: String, startingPosition: StartingPosition, consumerARN: String) { + self.shardId = shardId + self.startingPosition = startingPosition + self.consumerARN = consumerARN + } + + private enum CodingKeys: String, CodingKey { + case shardId = "ShardId" + case startingPosition = "StartingPosition" + case consumerARN = "ConsumerARN" + } + } + + public enum MetricsName: String, CustomStringConvertible, Codable { + case incomingbytes = "IncomingBytes" + case incomingrecords = "IncomingRecords" + case outgoingbytes = "OutgoingBytes" + case outgoingrecords = "OutgoingRecords" + case writeprovisionedthroughputexceeded = "WriteProvisionedThroughputExceeded" + case readprovisionedthroughputexceeded = "ReadProvisionedThroughputExceeded" + case iteratoragemilliseconds = "IteratorAgeMilliseconds" + case all = "ALL" + public var description: String { return self.rawValue } + } + + public struct RegisterStreamConsumerInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StreamARN", required: true, type: .string), + AWSShapeMember(label: "ConsumerName", required: true, type: .string) + ] + /// 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. + public let streamARN: String + /// 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. + public let consumerName: String + + public init(streamARN: String, consumerName: String) { + self.streamARN = streamARN + self.consumerName = consumerName + } + + private enum CodingKeys: String, CodingKey { + case streamARN = "StreamARN" + case consumerName = "ConsumerName" + } + } + + public struct PutRecordsInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Records", required: true, type: .list), + AWSShapeMember(label: "StreamName", required: true, type: .string) + ] + /// The records associated with the request. + public let records: [PutRecordsRequestEntry] + /// The stream name associated with the request. + public let streamName: String + + public init(records: [PutRecordsRequestEntry], streamName: String) { + self.records = records + self.streamName = streamName + } + + private enum CodingKeys: String, CodingKey { + case records = "Records" + case streamName = "StreamName" + } + } + + public struct HashKeyRange: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StartingHashKey", required: true, type: .string), + AWSShapeMember(label: "EndingHashKey", required: true, type: .string) + ] + /// The starting hash key of the hash key range. + public let startingHashKey: String + /// The ending hash key of the hash key range. + public let endingHashKey: String + + public init(startingHashKey: String, endingHashKey: String) { + self.startingHashKey = startingHashKey + self.endingHashKey = endingHashKey + } + + private enum CodingKeys: String, CodingKey { + case startingHashKey = "StartingHashKey" + case endingHashKey = "EndingHashKey" + } + } + + public struct Tag: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: false, type: .string), + AWSShapeMember(label: "Key", required: true, type: .string) + ] + /// An optional string, typically used to describe or define the tag. Maximum length: 256 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @ + public let value: String? + /// A unique identifier for the tag. Maximum length: 128 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @ + public let key: String + + public init(value: String? = nil, key: String) { + self.value = value + self.key = key + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case key = "Key" + } + } + + public struct PutRecordsRequestEntry: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Data", required: true, type: .blob), + AWSShapeMember(label: "ExplicitHashKey", required: false, type: .string), + AWSShapeMember(label: "PartitionKey", required: true, type: .string) + ] + /// 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). + public let data: Data + /// The hash value used to determine explicitly the shard that the data record is assigned to by overriding the partition key hash. + public let explicitHashKey: String? + /// 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. + public let partitionKey: String + + public init(data: Data, explicitHashKey: String? = nil, partitionKey: String) { + self.data = data + self.explicitHashKey = explicitHashKey + self.partitionKey = partitionKey + } + + private enum CodingKeys: String, CodingKey { + case data = "Data" + case explicitHashKey = "ExplicitHashKey" + case partitionKey = "PartitionKey" + } + } + + public struct UpdateShardCountInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TargetShardCount", required: true, type: .integer), + AWSShapeMember(label: "StreamName", required: true, type: .string), + AWSShapeMember(label: "ScalingType", required: true, type: .enum) + ] + /// The new number of shards. + public let targetShardCount: Int32 + /// The name of the stream. + public let streamName: String + /// The scaling type. Uniform scaling creates shards of equal size. + public let scalingType: ScalingType + + public init(targetShardCount: Int32, streamName: String, scalingType: ScalingType) { + self.targetShardCount = targetShardCount + self.streamName = streamName + self.scalingType = scalingType + } + + private enum CodingKeys: String, CodingKey { + case targetShardCount = "TargetShardCount" + case streamName = "StreamName" + case scalingType = "ScalingType" + } + } + + public struct ListStreamConsumersInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StreamCreationTimestamp", required: false, type: .timestamp), + AWSShapeMember(label: "StreamARN", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let streamCreationTimestamp: TimeStamp? + /// 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. + public let streamARN: String + /// 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. + public let nextToken: String? + /// The maximum number of consumers that you want a single call of ListStreamConsumers to return. + public let maxResults: Int32? + + public init(streamCreationTimestamp: TimeStamp? = nil, streamARN: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.streamCreationTimestamp = streamCreationTimestamp + self.streamARN = streamARN + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case streamCreationTimestamp = "StreamCreationTimestamp" + case streamARN = "StreamARN" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct ListTagsForStreamInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExclusiveStartTagKey", required: false, type: .string), + AWSShapeMember(label: "StreamName", required: true, type: .string), + AWSShapeMember(label: "Limit", required: false, type: .integer) + ] + /// 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. + public let exclusiveStartTagKey: String? + /// The name of the stream. + public let streamName: String + /// 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. + public let limit: Int32? + + public init(exclusiveStartTagKey: String? = nil, streamName: String, limit: Int32? = nil) { + self.exclusiveStartTagKey = exclusiveStartTagKey + self.streamName = streamName + self.limit = limit + } + + private enum CodingKeys: String, CodingKey { + case exclusiveStartTagKey = "ExclusiveStartTagKey" + case streamName = "StreamName" + case limit = "Limit" + } + } + + public struct ListStreamsOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StreamNames", required: true, type: .list), + AWSShapeMember(label: "HasMoreStreams", required: true, type: .boolean) + ] + /// The names of the streams that are associated with the AWS account making the ListStreams request. + public let streamNames: [String] + /// If set to true, there are more streams available to list. + public let hasMoreStreams: Bool + + public init(streamNames: [String], hasMoreStreams: Bool) { + self.streamNames = streamNames + self.hasMoreStreams = hasMoreStreams + } + + private enum CodingKeys: String, CodingKey { + case streamNames = "StreamNames" + case hasMoreStreams = "HasMoreStreams" + } + } + + public struct SubscribeToShardEvent: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Records", required: true, type: .list), + AWSShapeMember(label: "MillisBehindLatest", required: true, type: .long), + AWSShapeMember(label: "ContinuationSequenceNumber", required: true, type: .string) + ] + public let records: [Record] + /// 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. + public let millisBehindLatest: Int64 + /// Use this as StartingSequenceNumber in the next call to SubscribeToShard. + public let continuationSequenceNumber: String + + public init(records: [Record], millisBehindLatest: Int64, continuationSequenceNumber: String) { + self.records = records + self.millisBehindLatest = millisBehindLatest + self.continuationSequenceNumber = continuationSequenceNumber + } + + private enum CodingKeys: String, CodingKey { + case records = "Records" + case millisBehindLatest = "MillisBehindLatest" + case continuationSequenceNumber = "ContinuationSequenceNumber" + } + } + + public struct EnhancedMetrics: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ShardLevelMetrics", required: false, type: .list) + ] + /// 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. + public let shardLevelMetrics: [MetricsName]? + + public init(shardLevelMetrics: [MetricsName]? = nil) { + self.shardLevelMetrics = shardLevelMetrics + } + + private enum CodingKeys: String, CodingKey { + case shardLevelMetrics = "ShardLevelMetrics" + } + } + + public struct Consumer: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConsumerARN", required: true, type: .string), + AWSShapeMember(label: "ConsumerName", required: true, type: .string), + AWSShapeMember(label: "ConsumerStatus", required: true, type: .enum), + AWSShapeMember(label: "ConsumerCreationTimestamp", required: true, type: .timestamp) + ] + /// 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. + public let consumerARN: String + /// The name of the consumer is something you choose when you register the consumer. + public let consumerName: String + /// A consumer can't read data while in the CREATING or DELETING states. + public let consumerStatus: ConsumerStatus + public let consumerCreationTimestamp: TimeStamp + + public init(consumerARN: String, consumerName: String, consumerStatus: ConsumerStatus, consumerCreationTimestamp: TimeStamp) { + self.consumerARN = consumerARN + self.consumerName = consumerName + self.consumerStatus = consumerStatus + self.consumerCreationTimestamp = consumerCreationTimestamp + } + + private enum CodingKeys: String, CodingKey { + case consumerARN = "ConsumerARN" + case consumerName = "ConsumerName" + case consumerStatus = "ConsumerStatus" + case consumerCreationTimestamp = "ConsumerCreationTimestamp" + } + } + public struct StartStreamEncryptionInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EncryptionType", required: true, type: .enum), @@ -15,7 +549,7 @@ extension Kinesis { public let encryptionType: EncryptionType /// The name of the stream for which to start encrypting records. public let streamName: String - /// The GUID for the customer-managed 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 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 Streams: alias/aws/kinesis + /// 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 public let keyId: String public init(encryptionType: EncryptionType, streamName: String, keyId: String) { @@ -31,68 +565,12 @@ extension Kinesis { } } - public struct StreamDescriptionSummary: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EncryptionType", required: false, type: .enum), - AWSShapeMember(label: "StreamARN", required: true, type: .string), - AWSShapeMember(label: "KeyId", required: false, type: .string), - AWSShapeMember(label: "RetentionPeriodHours", required: true, type: .integer), - AWSShapeMember(label: "EnhancedMonitoring", required: true, type: .list), - AWSShapeMember(label: "OpenShardCount", required: true, type: .integer), - AWSShapeMember(label: "StreamCreationTimestamp", required: true, type: .timestamp), - AWSShapeMember(label: "StreamStatus", required: true, type: .enum), - AWSShapeMember(label: "StreamName", required: true, type: .string) - ] - /// The encryption type used. This value is one of the following: KMS NONE - public let encryptionType: EncryptionType? - /// The Amazon Resource Name (ARN) for the stream being described. - public let streamARN: String - /// The GUID for the customer-managed 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 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: alias/aws/kinesis - public let keyId: String? - /// The current retention period, in hours. - public let retentionPeriodHours: Int32 - /// Represents the current enhanced monitoring settings of the stream. - public let enhancedMonitoring: [EnhancedMetrics] - /// The number of open shards in the stream. - public let openShardCount: Int32 - /// The approximate time that the stream was created. - public let streamCreationTimestamp: TimeStamp - /// The current status of the stream being described. The stream status is one of the following states: CREATING - The stream is being created. Kinesis Streams immediately returns and sets StreamStatus to CREATING. DELETING - The stream is being deleted. The specified stream is in the DELETING state until Kinesis 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. - public let streamStatus: StreamStatus - /// The name of the stream being described. - public let streamName: String - - public init(encryptionType: EncryptionType? = nil, streamARN: String, keyId: String? = nil, retentionPeriodHours: Int32, enhancedMonitoring: [EnhancedMetrics], openShardCount: Int32, streamCreationTimestamp: TimeStamp, streamStatus: StreamStatus, streamName: String) { - self.encryptionType = encryptionType - self.streamARN = streamARN - self.keyId = keyId - self.retentionPeriodHours = retentionPeriodHours - self.enhancedMonitoring = enhancedMonitoring - self.openShardCount = openShardCount - self.streamCreationTimestamp = streamCreationTimestamp - self.streamStatus = streamStatus - self.streamName = streamName - } - - private enum CodingKeys: String, CodingKey { - case encryptionType = "EncryptionType" - case streamARN = "StreamARN" - case keyId = "KeyId" - case retentionPeriodHours = "RetentionPeriodHours" - case enhancedMonitoring = "EnhancedMonitoring" - case openShardCount = "OpenShardCount" - case streamCreationTimestamp = "StreamCreationTimestamp" - case streamStatus = "StreamStatus" - case streamName = "StreamName" - } - } - public struct CreateStreamInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StreamName", required: true, type: .string), AWSShapeMember(label: "ShardCount", required: true, type: .integer) ] - /// A name to identify the stream. The stream name is scoped to the AWS account used by the application that creates the stream. It is also scoped by region. That is, two streams in two different AWS accounts can have the same name. Two streams in the same AWS account but in two different regions can also have the same name. + /// 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. public let streamName: String /// 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; public let shardCount: Int32 @@ -108,35 +586,69 @@ extension Kinesis { } } - public struct AddTagsToStreamInput: AWSShape { + public struct ConsumerDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Tags", required: true, type: .map), - AWSShapeMember(label: "StreamName", required: true, type: .string) + AWSShapeMember(label: "ConsumerARN", required: true, type: .string), + AWSShapeMember(label: "StreamARN", required: true, type: .string), + AWSShapeMember(label: "ConsumerName", required: true, type: .string), + AWSShapeMember(label: "ConsumerStatus", required: true, type: .enum), + AWSShapeMember(label: "ConsumerCreationTimestamp", required: true, type: .timestamp) ] - /// The set of key-value pairs to use to create the tags. - public let tags: [String: String] - /// The name of the stream. - public let streamName: String - - public init(tags: [String: String], streamName: String) { - self.tags = tags - self.streamName = streamName + /// 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. + public let consumerARN: String + /// The ARN of the stream with which you registered the consumer. + public let streamARN: String + /// The name of the consumer is something you choose when you register the consumer. + public let consumerName: String + /// A consumer can't read data while in the CREATING or DELETING states. + public let consumerStatus: ConsumerStatus + public let consumerCreationTimestamp: TimeStamp + + public init(consumerARN: String, streamARN: String, consumerName: String, consumerStatus: ConsumerStatus, consumerCreationTimestamp: TimeStamp) { + self.consumerARN = consumerARN + self.streamARN = streamARN + self.consumerName = consumerName + self.consumerStatus = consumerStatus + self.consumerCreationTimestamp = consumerCreationTimestamp } private enum CodingKeys: String, CodingKey { - case tags = "Tags" - case streamName = "StreamName" + case consumerARN = "ConsumerARN" + case streamARN = "StreamARN" + case consumerName = "ConsumerName" + case consumerStatus = "ConsumerStatus" + case consumerCreationTimestamp = "ConsumerCreationTimestamp" } } - public struct DescribeLimitsInput: AWSShape { + public struct DeregisterStreamConsumerInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConsumerName", required: false, type: .string), + AWSShapeMember(label: "StreamARN", required: false, type: .string), + AWSShapeMember(label: "ConsumerARN", required: false, type: .string) + ] + /// The name that you gave to the consumer. + public let consumerName: String? + /// 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. + public let streamARN: String? + /// 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. + public let consumerARN: String? + + public init(consumerName: String? = nil, streamARN: String? = nil, consumerARN: String? = nil) { + self.consumerName = consumerName + self.streamARN = streamARN + self.consumerARN = consumerARN + } + private enum CodingKeys: String, CodingKey { + case consumerName = "ConsumerName" + case streamARN = "StreamARN" + case consumerARN = "ConsumerARN" + } } - public enum EncryptionType: String, CustomStringConvertible, Codable { - case none = "NONE" - case kms = "KMS" - public var description: String { return self.rawValue } + public struct DescribeLimitsInput: AWSShape { + } public enum ShardIteratorType: String, CustomStringConvertible, Codable { @@ -174,50 +686,55 @@ extension Kinesis { } } - public struct UpdateShardCountOutput: AWSShape { + public struct ListShardsInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TargetShardCount", required: false, type: .integer), - AWSShapeMember(label: "CurrentShardCount", required: false, type: .integer), - AWSShapeMember(label: "StreamName", required: false, type: .string) + AWSShapeMember(label: "StreamCreationTimestamp", required: false, type: .timestamp), + AWSShapeMember(label: "ExclusiveStartShardId", required: false, type: .string), + AWSShapeMember(label: "StreamName", required: false, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The updated number of shards. - public let targetShardCount: Int32? - /// The current number of shards. - public let currentShardCount: Int32? - /// The name of the stream. + /// 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. + public let streamCreationTimestamp: TimeStamp? + /// 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. + public let exclusiveStartShardId: String? + /// The name of the data stream whose shards you want to list. You cannot specify this parameter if you specify the NextToken parameter. public let streamName: String? + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? - public init(targetShardCount: Int32? = nil, currentShardCount: Int32? = nil, streamName: String? = nil) { - self.targetShardCount = targetShardCount - self.currentShardCount = currentShardCount + public init(streamCreationTimestamp: TimeStamp? = nil, exclusiveStartShardId: String? = nil, streamName: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.streamCreationTimestamp = streamCreationTimestamp + self.exclusiveStartShardId = exclusiveStartShardId self.streamName = streamName + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case targetShardCount = "TargetShardCount" - case currentShardCount = "CurrentShardCount" + case streamCreationTimestamp = "StreamCreationTimestamp" + case exclusiveStartShardId = "ExclusiveStartShardId" case streamName = "StreamName" + case nextToken = "NextToken" + case maxResults = "MaxResults" } } - public struct DecreaseStreamRetentionPeriodInput: AWSShape { + public struct DescribeStreamConsumerOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RetentionPeriodHours", required: true, type: .integer), - AWSShapeMember(label: "StreamName", required: true, type: .string) + AWSShapeMember(label: "ConsumerDescription", required: true, type: .structure) ] - /// The new retention period of the stream, in hours. Must be less than the current retention period. - public let retentionPeriodHours: Int32 - /// The name of the stream to modify. - public let streamName: String + /// An object that represents the details of the consumer. + public let consumerDescription: ConsumerDescription - public init(retentionPeriodHours: Int32, streamName: String) { - self.retentionPeriodHours = retentionPeriodHours - self.streamName = streamName + public init(consumerDescription: ConsumerDescription) { + self.consumerDescription = consumerDescription } private enum CodingKeys: String, CodingKey { - case retentionPeriodHours = "RetentionPeriodHours" - case streamName = "StreamName" + case consumerDescription = "ConsumerDescription" } } @@ -242,49 +759,13 @@ extension Kinesis { } } - public struct Shard: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ShardId", required: true, type: .string), - AWSShapeMember(label: "SequenceNumberRange", required: true, type: .structure), - AWSShapeMember(label: "AdjacentParentShardId", required: false, type: .string), - AWSShapeMember(label: "HashKeyRange", required: true, type: .structure), - AWSShapeMember(label: "ParentShardId", required: false, type: .string) - ] - /// The unique identifier of the shard within the stream. - public let shardId: String - /// The range of possible sequence numbers for the shard. - public let sequenceNumberRange: SequenceNumberRange - /// The shard ID of the shard adjacent to the shard's parent. - public let adjacentParentShardId: String? - /// The range of possible hash key values for the shard, which is a set of ordered contiguous positive integers. - public let hashKeyRange: HashKeyRange - /// The shard ID of the shard's parent. - public let parentShardId: String? - - public init(shardId: String, sequenceNumberRange: SequenceNumberRange, adjacentParentShardId: String? = nil, hashKeyRange: HashKeyRange, parentShardId: String? = nil) { - self.shardId = shardId - self.sequenceNumberRange = sequenceNumberRange - self.adjacentParentShardId = adjacentParentShardId - self.hashKeyRange = hashKeyRange - self.parentShardId = parentShardId - } - - private enum CodingKeys: String, CodingKey { - case shardId = "ShardId" - case sequenceNumberRange = "SequenceNumberRange" - case adjacentParentShardId = "AdjacentParentShardId" - case hashKeyRange = "HashKeyRange" - case parentShardId = "ParentShardId" - } - } - public struct PutRecordsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EncryptionType", required: false, type: .enum), AWSShapeMember(label: "FailedRecordCount", required: false, type: .integer), AWSShapeMember(label: "Records", required: true, type: .list) ] - /// 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 KMS key. + /// 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. public let encryptionType: EncryptionType? /// The number of unsuccessfully processed records in a PutRecords request. public let failedRecordCount: Int32? @@ -308,7 +789,7 @@ extension Kinesis { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StreamDescription", required: true, type: .structure) ] - /// The current status of the stream, the stream ARN, an array of shard objects that comprise the stream, and whether there are more shards available. + /// 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. public let streamDescription: StreamDescription public init(streamDescription: StreamDescription) { @@ -328,7 +809,7 @@ extension Kinesis { ] /// Represents the list of all the metrics that would be in the enhanced state after the operation. public let desiredShardLevelMetrics: [MetricsName]? - /// The name of the Kinesis stream. + /// The name of the Kinesis data stream. public let streamName: String? /// Represents the current state of the metrics that are in the enhanced state before the operation. public let currentShardLevelMetrics: [MetricsName]? @@ -346,32 +827,6 @@ extension Kinesis { } } - public struct PutRecordOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EncryptionType", required: false, type: .enum), - AWSShapeMember(label: "SequenceNumber", required: true, type: .string), - AWSShapeMember(label: "ShardId", required: true, type: .string) - ] - /// 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 KMS key. - public let encryptionType: EncryptionType? - /// 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. - public let sequenceNumber: String - /// The shard ID of the shard where the data record was placed. - public let shardId: String - - public init(encryptionType: EncryptionType? = nil, sequenceNumber: String, shardId: String) { - self.encryptionType = encryptionType - self.sequenceNumber = sequenceNumber - self.shardId = shardId - } - - private enum CodingKeys: String, CodingKey { - case encryptionType = "EncryptionType" - case sequenceNumber = "SequenceNumber" - case shardId = "ShardId" - } - } - public struct Record: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EncryptionType", required: false, type: .enum), @@ -380,7 +835,7 @@ extension Kinesis { AWSShapeMember(label: "PartitionKey", required: true, type: .string), AWSShapeMember(label: "Data", required: true, type: .blob) ] - /// 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 KMS key. + /// 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. public let encryptionType: EncryptionType? /// The approximate time that the record was inserted into the stream. public let approximateArrivalTimestamp: TimeStamp? @@ -388,7 +843,7 @@ extension Kinesis { public let sequenceNumber: String /// Identifies which shard in the stream the data record is assigned to. public let partitionKey: String - /// The data blob. The data in the blob is both opaque and immutable to Kinesis 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). + /// 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). public let data: Data public init(encryptionType: EncryptionType? = nil, approximateArrivalTimestamp: TimeStamp? = nil, sequenceNumber: String, partitionKey: String, data: Data) { @@ -408,26 +863,14 @@ extension Kinesis { } } - public enum MetricsName: String, CustomStringConvertible, Codable { - case incomingbytes = "IncomingBytes" - case incomingrecords = "IncomingRecords" - case outgoingbytes = "OutgoingBytes" - case outgoingrecords = "OutgoingRecords" - case writeprovisionedthroughputexceeded = "WriteProvisionedThroughputExceeded" - case readprovisionedthroughputexceeded = "ReadProvisionedThroughputExceeded" - case iteratoragemilliseconds = "IteratorAgeMilliseconds" - case all = "ALL" - public var description: String { return self.rawValue } - } - public struct DisableEnhancedMonitoringInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ShardLevelMetrics", required: true, type: .list), AWSShapeMember(label: "StreamName", required: true, type: .string) ] - /// List of shard-level metrics to disable. The following are the valid shard-level metrics. The value "ALL" disables every metric. IncomingBytes IncomingRecords OutgoingBytes OutgoingRecords WriteProvisionedThroughputExceeded ReadProvisionedThroughputExceeded IteratorAgeMilliseconds ALL For more information, see Monitoring the Amazon Kinesis Streams Service with Amazon CloudWatch in the Amazon Kinesis Streams Developer Guide. + /// 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. public let shardLevelMetrics: [MetricsName] - /// The name of the Kinesis stream for which to disable enhanced monitoring. + /// The name of the Kinesis data stream for which to disable enhanced monitoring. public let streamName: String public init(shardLevelMetrics: [MetricsName], streamName: String) { @@ -449,37 +892,16 @@ extension Kinesis { /// The maximum number of shards. public let shardLimit: Int32 /// The number of open shards. - public let openShardCount: Int32 - - public init(shardLimit: Int32, openShardCount: Int32) { - self.shardLimit = shardLimit - self.openShardCount = openShardCount - } - - private enum CodingKeys: String, CodingKey { - case shardLimit = "ShardLimit" - case openShardCount = "OpenShardCount" - } - } - - public struct HashKeyRange: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StartingHashKey", required: true, type: .string), - AWSShapeMember(label: "EndingHashKey", required: true, type: .string) - ] - /// The starting hash key of the hash key range. - public let startingHashKey: String - /// The ending hash key of the hash key range. - public let endingHashKey: String - - public init(startingHashKey: String, endingHashKey: String) { - self.startingHashKey = startingHashKey - self.endingHashKey = endingHashKey + public let openShardCount: Int32 + + public init(shardLimit: Int32, openShardCount: Int32) { + self.shardLimit = shardLimit + self.openShardCount = openShardCount } private enum CodingKeys: String, CodingKey { - case startingHashKey = "StartingHashKey" - case endingHashKey = "EndingHashKey" + case shardLimit = "ShardLimit" + case openShardCount = "OpenShardCount" } } @@ -497,9 +919,9 @@ extension Kinesis { public let timestamp: TimeStamp? /// 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. public let shardIteratorType: ShardIteratorType - /// The name of the Amazon Kinesis stream. + /// The name of the Amazon Kinesis data stream. public let streamName: String - /// The shard ID of the Kinesis Streams shard to get the iterator for. + /// The shard ID of the Kinesis Data Streams shard to get the iterator for. public let shardId: String public init(startingSequenceNumber: String? = nil, timestamp: TimeStamp? = nil, shardIteratorType: ShardIteratorType, streamName: String, shardId: String) { @@ -519,71 +941,66 @@ extension Kinesis { } } - public struct ListTagsForStreamOutput: AWSShape { + public struct SequenceNumberRange: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "HasMoreTags", required: true, type: .boolean), - AWSShapeMember(label: "Tags", required: true, type: .list) + AWSShapeMember(label: "EndingSequenceNumber", required: false, type: .string), + AWSShapeMember(label: "StartingSequenceNumber", required: true, type: .string) ] - /// If set to true, more tags are available. To request additional tags, set ExclusiveStartTagKey to the key of the last tag returned. - public let hasMoreTags: Bool - /// A list of tags associated with StreamName, starting with the first tag after ExclusiveStartTagKey and up to the specified Limit. - public let tags: [Tag] + /// The ending sequence number for the range. Shards that are in the OPEN state have an ending sequence number of null. + public let endingSequenceNumber: String? + /// The starting sequence number for the range. + public let startingSequenceNumber: String - public init(hasMoreTags: Bool, tags: [Tag]) { - self.hasMoreTags = hasMoreTags - self.tags = tags + public init(endingSequenceNumber: String? = nil, startingSequenceNumber: String) { + self.endingSequenceNumber = endingSequenceNumber + self.startingSequenceNumber = startingSequenceNumber } private enum CodingKeys: String, CodingKey { - case hasMoreTags = "HasMoreTags" - case tags = "Tags" + case endingSequenceNumber = "EndingSequenceNumber" + case startingSequenceNumber = "StartingSequenceNumber" } } - public struct UpdateShardCountInput: AWSShape { + public struct ListStreamConsumersOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TargetShardCount", required: true, type: .integer), - AWSShapeMember(label: "StreamName", required: true, type: .string), - AWSShapeMember(label: "ScalingType", required: true, type: .enum) + AWSShapeMember(label: "Consumers", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// The new number of shards. - public let targetShardCount: Int32 - /// The name of the stream. - public let streamName: String - /// The scaling type. Uniform scaling creates shards of equal size. - public let scalingType: ScalingType + /// An array of JSON objects. Each object represents one registered consumer. + public let consumers: [Consumer]? + /// 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. + public let nextToken: String? - public init(targetShardCount: Int32, streamName: String, scalingType: ScalingType) { - self.targetShardCount = targetShardCount - self.streamName = streamName - self.scalingType = scalingType + public init(consumers: [Consumer]? = nil, nextToken: String? = nil) { + self.consumers = consumers + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case targetShardCount = "TargetShardCount" - case streamName = "StreamName" - case scalingType = "ScalingType" + case consumers = "Consumers" + case nextToken = "NextToken" } } - public struct Tag: AWSShape { + public struct ListTagsForStreamOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Value", required: false, type: .string), - AWSShapeMember(label: "Key", required: true, type: .string) + AWSShapeMember(label: "HasMoreTags", required: true, type: .boolean), + AWSShapeMember(label: "Tags", required: true, type: .list) ] - /// An optional string, typically used to describe or define the tag. Maximum length: 256 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @ - public let value: String? - /// A unique identifier for the tag. Maximum length: 128 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @ - public let key: String + /// If set to true, more tags are available. To request additional tags, set ExclusiveStartTagKey to the key of the last tag returned. + public let hasMoreTags: Bool + /// A list of tags associated with StreamName, starting with the first tag after ExclusiveStartTagKey and up to the specified Limit. + public let tags: [Tag] - public init(value: String? = nil, key: String) { - self.value = value - self.key = key + public init(hasMoreTags: Bool, tags: [Tag]) { + self.hasMoreTags = hasMoreTags + self.tags = tags } private enum CodingKeys: String, CodingKey { - case value = "Value" - case key = "Key" + case hasMoreTags = "HasMoreTags" + case tags = "Tags" } } @@ -608,106 +1025,34 @@ extension Kinesis { } } - public struct PutRecordsRequestEntry: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Data", required: true, type: .blob), - AWSShapeMember(label: "ExplicitHashKey", required: false, type: .string), - AWSShapeMember(label: "PartitionKey", required: true, type: .string) - ] - /// 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). - public let data: Data - /// The hash value used to determine explicitly the shard that the data record is assigned to by overriding the partition key hash. - public let explicitHashKey: String? - /// Determines which shard in the stream the data record is assigned to. Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis uses the partition key as input to a hash function that maps the partition key and associated data to a specific shard. Specifically, an MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream. - public let partitionKey: String - - public init(data: Data, explicitHashKey: String? = nil, partitionKey: String) { - self.data = data - self.explicitHashKey = explicitHashKey - self.partitionKey = partitionKey - } - - private enum CodingKeys: String, CodingKey { - case data = "Data" - case explicitHashKey = "ExplicitHashKey" - case partitionKey = "PartitionKey" - } - } - - public struct PutRecordsInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Records", required: true, type: .list), - AWSShapeMember(label: "StreamName", required: true, type: .string) - ] - /// The records associated with the request. - public let records: [PutRecordsRequestEntry] - /// The stream name associated with the request. - public let streamName: String - - public init(records: [PutRecordsRequestEntry], streamName: String) { - self.records = records - self.streamName = streamName - } - - private enum CodingKeys: String, CodingKey { - case records = "Records" - case streamName = "StreamName" - } - } - - public struct SequenceNumberRange: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndingSequenceNumber", required: false, type: .string), - AWSShapeMember(label: "StartingSequenceNumber", required: true, type: .string) - ] - /// The ending sequence number for the range. Shards that are in the OPEN state have an ending sequence number of null. - public let endingSequenceNumber: String? - /// The starting sequence number for the range. - public let startingSequenceNumber: String - - public init(endingSequenceNumber: String? = nil, startingSequenceNumber: String) { - self.endingSequenceNumber = endingSequenceNumber - self.startingSequenceNumber = startingSequenceNumber - } - - private enum CodingKeys: String, CodingKey { - case endingSequenceNumber = "EndingSequenceNumber" - case startingSequenceNumber = "StartingSequenceNumber" - } + public enum ConsumerStatus: String, CustomStringConvertible, Codable { + case creating = "CREATING" + case deleting = "DELETING" + case active = "ACTIVE" + public var description: String { return self.rawValue } } public struct DeleteStreamInput: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EnforceConsumerDeletion", required: false, type: .boolean), AWSShapeMember(label: "StreamName", required: true, type: .string) ] + /// 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. + public let enforceConsumerDeletion: Bool? /// The name of the stream to delete. public let streamName: String - public init(streamName: String) { + public init(enforceConsumerDeletion: Bool? = nil, streamName: String) { + self.enforceConsumerDeletion = enforceConsumerDeletion self.streamName = streamName } private enum CodingKeys: String, CodingKey { + case enforceConsumerDeletion = "EnforceConsumerDeletion" case streamName = "StreamName" } } - public struct GetShardIteratorOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ShardIterator", required: false, type: .string) - ] - /// 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. - public let shardIterator: String? - - public init(shardIterator: String? = nil) { - self.shardIterator = shardIterator - } - - private enum CodingKeys: String, CodingKey { - case shardIterator = "ShardIterator" - } - } - public struct PutRecordsResultEntry: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SequenceNumber", required: false, type: .string), @@ -747,7 +1092,7 @@ extension Kinesis { AWSShapeMember(label: "SequenceNumberForOrdering", required: false, type: .string), AWSShapeMember(label: "Data", required: true, type: .blob) ] - /// Determines which shard in the stream the data record is assigned to. Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis uses the partition key as input to a hash function that maps the partition key and associated data to a specific shard. Specifically, an MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream. + /// 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. public let partitionKey: String /// The hash value used to explicitly determine the shard the data record is assigned to by overriding the partition key hash. public let explicitHashKey: String? @@ -775,45 +1120,35 @@ extension Kinesis { } } - public struct DescribeStreamSummaryInput: AWSShape { + public struct GetShardIteratorOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StreamName", required: true, type: .string) + AWSShapeMember(label: "ShardIterator", required: false, type: .string) ] - /// The name of the stream to describe. - public let streamName: String + /// 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. + public let shardIterator: String? - public init(streamName: String) { - self.streamName = streamName + public init(shardIterator: String? = nil) { + self.shardIterator = shardIterator } private enum CodingKeys: String, CodingKey { - case streamName = "StreamName" + case shardIterator = "ShardIterator" } } - public struct ListTagsForStreamInput: AWSShape { + public struct DescribeStreamSummaryInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ExclusiveStartTagKey", required: false, type: .string), - AWSShapeMember(label: "StreamName", required: true, type: .string), - AWSShapeMember(label: "Limit", required: false, type: .integer) + AWSShapeMember(label: "StreamName", required: true, type: .string) ] - /// 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. - public let exclusiveStartTagKey: String? - /// The name of the stream. + /// The name of the stream to describe. public let streamName: String - /// 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. - public let limit: Int32? - public init(exclusiveStartTagKey: String? = nil, streamName: String, limit: Int32? = nil) { - self.exclusiveStartTagKey = exclusiveStartTagKey + public init(streamName: String) { self.streamName = streamName - self.limit = limit } private enum CodingKeys: String, CodingKey { - case exclusiveStartTagKey = "ExclusiveStartTagKey" case streamName = "StreamName" - case limit = "Limit" } } @@ -843,7 +1178,7 @@ extension Kinesis { public let encryptionType: EncryptionType /// The name of the stream on which to stop encrypting records. public let streamName: String - /// The GUID for the customer-managed 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 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 Streams: alias/aws/kinesis + /// 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 public let keyId: String public init(encryptionType: EncryptionType, streamName: String, keyId: String) { @@ -859,24 +1194,24 @@ extension Kinesis { } } - public struct ListStreamsOutput: AWSShape { + public struct ListShardsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StreamNames", required: true, type: .list), - AWSShapeMember(label: "HasMoreStreams", required: true, type: .boolean) + AWSShapeMember(label: "Shards", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// The names of the streams that are associated with the AWS account making the ListStreams request. - public let streamNames: [String] - /// If set to true, there are more streams available to list. - public let hasMoreStreams: Bool + /// 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. + public let shards: [Shard]? + /// 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. + public let nextToken: String? - public init(streamNames: [String], hasMoreStreams: Bool) { - self.streamNames = streamNames - self.hasMoreStreams = hasMoreStreams + public init(shards: [Shard]? = nil, nextToken: String? = nil) { + self.shards = shards + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case streamNames = "StreamNames" - case hasMoreStreams = "HasMoreStreams" + case shards = "Shards" + case nextToken = "NextToken" } } @@ -885,7 +1220,7 @@ extension Kinesis { AWSShapeMember(label: "ShardLevelMetrics", required: true, type: .list), AWSShapeMember(label: "StreamName", required: true, type: .string) ] - /// List of shard-level metrics to enable. The following are the valid shard-level metrics. The value "ALL" enables every metric. IncomingBytes IncomingRecords OutgoingBytes OutgoingRecords WriteProvisionedThroughputExceeded ReadProvisionedThroughputExceeded IteratorAgeMilliseconds ALL For more information, see Monitoring the Amazon Kinesis Streams Service with Amazon CloudWatch in the Amazon Kinesis Streams Developer Guide. + /// 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. public let shardLevelMetrics: [MetricsName] /// The name of the stream for which to enable enhanced monitoring. public let streamName: String @@ -932,6 +1267,45 @@ extension Kinesis { } } + public struct RegisterStreamConsumerOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Consumer", required: true, type: .structure) + ] + /// 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. + public let consumer: Consumer + + public init(consumer: Consumer) { + self.consumer = consumer + } + + private enum CodingKeys: String, CodingKey { + case consumer = "Consumer" + } + } + + public struct StartingPosition: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", required: true, type: .enum), + AWSShapeMember(label: "Timestamp", required: false, type: .timestamp), + AWSShapeMember(label: "SequenceNumber", required: false, type: .string) + ] + public let `type`: ShardIteratorType + public let timestamp: TimeStamp? + public let sequenceNumber: String? + + public init(type: ShardIteratorType, timestamp: TimeStamp? = nil, sequenceNumber: String? = nil) { + self.`type` = `type` + self.timestamp = timestamp + self.sequenceNumber = sequenceNumber + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + case timestamp = "Timestamp" + case sequenceNumber = "SequenceNumber" + } + } + public struct RemoveTagsFromStreamInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StreamName", required: true, type: .string), @@ -1000,22 +1374,6 @@ extension Kinesis { } } - public struct EnhancedMetrics: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ShardLevelMetrics", required: false, type: .list) - ] - /// List of shard-level metrics. The following are the valid shard-level metrics. The value "ALL" enhances every metric. IncomingBytes IncomingRecords OutgoingBytes OutgoingRecords WriteProvisionedThroughputExceeded ReadProvisionedThroughputExceeded IteratorAgeMilliseconds ALL For more information, see Monitoring the Amazon Kinesis Streams Service with Amazon CloudWatch in the Amazon Kinesis Streams Developer Guide. - public let shardLevelMetrics: [MetricsName]? - - public init(shardLevelMetrics: [MetricsName]? = nil) { - self.shardLevelMetrics = shardLevelMetrics - } - - private enum CodingKeys: String, CodingKey { - case shardLevelMetrics = "ShardLevelMetrics" - } - } - public struct SplitShardInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StreamName", required: true, type: .string), @@ -1042,6 +1400,32 @@ extension Kinesis { } } + public struct DescribeStreamConsumerInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConsumerName", required: false, type: .string), + AWSShapeMember(label: "StreamARN", required: false, type: .string), + AWSShapeMember(label: "ConsumerARN", required: false, type: .string) + ] + /// The name that you gave to the consumer. + public let consumerName: String? + /// 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. + public let streamARN: String? + /// The ARN returned by Kinesis Data Streams when you registered the consumer. + public let consumerARN: String? + + public init(consumerName: String? = nil, streamARN: String? = nil, consumerARN: String? = nil) { + self.consumerName = consumerName + self.streamARN = streamARN + self.consumerARN = consumerARN + } + + private enum CodingKeys: String, CodingKey { + case consumerName = "ConsumerName" + case streamARN = "StreamARN" + case consumerARN = "ConsumerARN" + } + } + public struct StreamDescription: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EncryptionType", required: false, type: .enum), @@ -1055,11 +1439,11 @@ extension Kinesis { AWSShapeMember(label: "StreamName", required: true, type: .string), AWSShapeMember(label: "StreamStatus", required: true, type: .enum) ] - /// 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 KMS key. + /// 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. public let encryptionType: EncryptionType? /// The Amazon Resource Name (ARN) for the stream being described. public let streamARN: String - /// The GUID for the customer-managed 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 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 Streams: alias/aws/kinesis + /// 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 public let keyId: String? /// The current retention period, in hours. public let retentionPeriodHours: Int32 @@ -1073,7 +1457,7 @@ extension Kinesis { public let streamCreationTimestamp: TimeStamp /// The name of the stream being described. public let streamName: String - /// The current status of the stream being described. The stream status is one of the following states: CREATING - The stream is being created. Kinesis Streams immediately returns and sets StreamStatus to CREATING. DELETING - The stream is being deleted. The specified stream is in the DELETING state until Kinesis 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. + /// 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. public let streamStatus: StreamStatus public init(encryptionType: EncryptionType? = nil, streamARN: String, keyId: String? = nil, retentionPeriodHours: Int32, enhancedMonitoring: [EnhancedMetrics], hasMoreShards: Bool, shards: [Shard], streamCreationTimestamp: TimeStamp, streamName: String, streamStatus: StreamStatus) { diff --git a/Sources/AWSSDKSwift/Services/kinesisanalytics/Kinesisanalytics_API.swift b/Sources/AWSSDKSwift/Services/kinesisanalytics/Kinesisanalytics_API.swift index 1eb6e302f7e..43cdafd38b3 100644 --- a/Sources/AWSSDKSwift/Services/kinesisanalytics/Kinesisanalytics_API.swift +++ b/Sources/AWSSDKSwift/Services/kinesisanalytics/Kinesisanalytics_API.swift @@ -25,12 +25,12 @@ public struct Kinesisanalytics { ) } - /// Adds an external destination to your Amazon Kinesis Analytics application. If you want Amazon Kinesis Analytics to deliver data from an in-application stream within your application to an external destination (such as an Amazon Kinesis stream or a Firehose delivery stream), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination. You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors. For conceptual information, see Understanding Application Output (Destination). Note that any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version. For the limits on the number of application inputs and outputs you can configure, see Limits. This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action. + /// 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. public func addApplicationOutput(_ input: AddApplicationOutputRequest) throws -> AddApplicationOutputResponse { return try client.send(operation: "AddApplicationOutput", path: "/", httpMethod: "POST", input: input) } - /// Infers a schema by evaluating sample records on the specified streaming source (Amazon Kinesis stream or Amazon Kinesis Firehose delivery stream). In the response, the operation returns the inferred schema and also the sample records that the operation used to infer the schema. You can use the inferred schema when configuring a streaming source for your application. For conceptual information, see Configuring Application Input. Note that when you create an application using the Amazon Kinesis Analytics console, the console uses this operation to infer a schema and show it in the console user interface. This operation requires permissions to perform the kinesisanalytics:DiscoverInputSchema action. + /// 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. public func discoverInputSchema(_ input: DiscoverInputSchemaRequest) throws -> DiscoverInputSchemaResponse { return try client.send(operation: "DiscoverInputSchema", path: "/", httpMethod: "POST", input: input) } @@ -105,7 +105,7 @@ public struct Kinesisanalytics { return try client.send(operation: "UpdateApplication", path: "/", httpMethod: "POST", input: input) } - /// Creates an Amazon Kinesis Analytics application. You can configure each application with one streaming source as input, application code to process the input, and up to five streaming destinations where you want Amazon Kinesis Analytics to write the output data from your application. For an overview, see How it Works. In the input configuration, you map the streaming source to an in-application stream, which you can think of as a constantly updating table. In the mapping, you must provide a schema for the in-application stream and map each data column in the in-application stream to a data element in the streaming source. Your application code is one or more SQL statements that read input data, transform it, and generate output. Your application code can create one or more SQL artifacts like SQL streams or pumps. In the output configuration, you can configure the application to write data from in-application streams created in your applications to up to five streaming destinations. To read data from your source stream or write data to destination streams, Amazon Kinesis Analytics needs your permissions. You grant these permissions by creating IAM roles. This operation requires permissions to perform the kinesisanalytics:CreateApplication action. For introductory exercises to create an Amazon Kinesis Analytics application, see Getting Started. + /// 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. public func createApplication(_ input: CreateApplicationRequest) throws -> CreateApplicationResponse { return try client.send(operation: "CreateApplication", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/kinesisanalytics/Kinesisanalytics_Shapes.swift b/Sources/AWSSDKSwift/Services/kinesisanalytics/Kinesisanalytics_Shapes.swift index 80038f345e7..c20732375dc 100644 --- a/Sources/AWSSDKSwift/Services/kinesisanalytics/Kinesisanalytics_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/kinesisanalytics/Kinesisanalytics_Shapes.swift @@ -77,8 +77,11 @@ extension Kinesisanalytics { AWSShapeMember(label: "BucketARN", required: true, type: .string), AWSShapeMember(label: "FileKey", required: true, type: .string) ] + /// IAM ARN of the role used to access the data. public let roleARN: String + /// ARN of the S3 bucket that contains the data. public let bucketARN: String + /// The name of the object that contains the data. public let fileKey: String public init(roleARN: String, bucketARN: String, fileKey: String) { @@ -125,9 +128,9 @@ extension Kinesisanalytics { AWSShapeMember(label: "InputId", required: true, type: .string), AWSShapeMember(label: "InputParallelismUpdate", required: false, type: .structure) ] - /// If an Amazon Kinesis Firehose delivery stream is the streaming source to be updated, provides an updated stream Amazon Resource Name (ARN) and IAM role ARN. + /// If an Amazon Kinesis Firehose delivery stream is the streaming source to be updated, provides an updated stream ARN and IAM role ARN. public let kinesisFirehoseInputUpdate: KinesisFirehoseInputUpdate? - /// If a Amazon Kinesis stream is the streaming source to be updated, provides an updated stream ARN and IAM role ARN. + /// If an Amazon Kinesis stream is the streaming source to be updated, provides an updated stream Amazon Resource Name (ARN) and IAM role ARN. public let kinesisStreamsInputUpdate: KinesisStreamsInputUpdate? /// Describes updates for an input processing configuration. public let inputProcessingConfigurationUpdate: InputProcessingConfigurationUpdate? @@ -161,6 +164,27 @@ extension Kinesisanalytics { } } + public struct LambdaOutputDescription: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceARN", required: false, type: .string), + AWSShapeMember(label: "RoleARN", required: false, type: .string) + ] + /// Amazon Resource Name (ARN) of the destination Lambda function. + public let resourceARN: String? + /// ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination function. + public let roleARN: String? + + public init(resourceARN: String? = nil, roleARN: String? = nil) { + self.resourceARN = resourceARN + self.roleARN = roleARN + } + + private enum CodingKeys: String, CodingKey { + case resourceARN = "ResourceARN" + case roleARN = "RoleARN" + } + } + public struct KinesisFirehoseInputDescription: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ResourceARN", required: false, type: .string), @@ -214,7 +238,7 @@ extension Kinesisanalytics { public let inputProcessingConfiguration: InputProcessingConfiguration /// Name of the application to which you want to add the input processing configuration. public let applicationName: String - /// The ID of the input configuration to which to add the input configuration. You can get a list of the input IDs for an application using the DescribeApplication operation. + /// 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. public let inputId: String /// 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. public let currentApplicationVersionId: Int64 @@ -265,9 +289,30 @@ extension Kinesisanalytics { AWSShapeMember(label: "RoleARNUpdate", required: false, type: .string), AWSShapeMember(label: "ResourceARNUpdate", required: false, type: .string) ] - /// Amazon Resource Name (ARN) of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant necessary permissions to this role. + /// 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. + public let roleARNUpdate: String? + /// Amazon Resource Name (ARN) of the input Amazon Kinesis Firehose delivery stream to read. + public let resourceARNUpdate: String? + + public init(roleARNUpdate: String? = nil, resourceARNUpdate: String? = nil) { + self.roleARNUpdate = roleARNUpdate + self.resourceARNUpdate = resourceARNUpdate + } + + private enum CodingKeys: String, CodingKey { + case roleARNUpdate = "RoleARNUpdate" + case resourceARNUpdate = "ResourceARNUpdate" + } + } + + public struct LambdaOutputUpdate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoleARNUpdate", required: false, type: .string), + AWSShapeMember(label: "ResourceARNUpdate", required: false, type: .string) + ] + /// 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. public let roleARNUpdate: String? - /// ARN of the input Amazon Kinesis Firehose delivery stream to read. + /// Amazon Resource Name (ARN) of the destination Lambda function. public let resourceARNUpdate: String? public init(roleARNUpdate: String? = nil, resourceARNUpdate: String? = nil) { @@ -288,7 +333,7 @@ extension Kinesisanalytics { ] /// The ARN of the AWS Lambda function that operates on records in the stream. public let resourceARN: String - /// The ARN of the IAM role used to access the AWS Lambda function. + /// The ARN of the IAM role that is used to access the AWS Lambda function. public let roleARN: String public init(resourceARN: String, roleARN: String) { @@ -322,7 +367,7 @@ extension Kinesisanalytics { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "InputLambdaProcessor", required: true, type: .structure) ] - /// The InputLambdaProcessor that is used to preprocess the records in the stream prior to being processed by your application code. + /// The InputLambdaProcessor that is used to preprocess the records in the stream before being processed by your application code. public let inputLambdaProcessor: InputLambdaProcessor public init(inputLambdaProcessor: InputLambdaProcessor) { @@ -443,6 +488,27 @@ extension Kinesisanalytics { } } + public struct LambdaOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceARN", required: true, type: .string), + AWSShapeMember(label: "RoleARN", required: true, type: .string) + ] + /// Amazon Resource Name (ARN) of the destination Lambda function to write to. + public let resourceARN: String + /// 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. + public let roleARN: String + + public init(resourceARN: String, roleARN: String) { + self.resourceARN = resourceARN + self.roleARN = roleARN + } + + private enum CodingKeys: String, CodingKey { + case resourceARN = "ResourceARN" + case roleARN = "RoleARN" + } + } + public struct KinesisFirehoseOutputUpdate: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RoleARNUpdate", required: false, type: .string), @@ -468,7 +534,7 @@ extension Kinesisanalytics { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "InputStartingPosition", required: false, type: .enum) ] - /// The starting position on the stream. NOW - Start reading just after the most recent record in the stream, start at the request timestamp that the customer issued. TRIM_HORIZON - Start reading at the last untrimmed record in the stream, which is the oldest record available in the stream. This option is not available for an Amazon Kinesis Firehose delivery stream. LAST_STOPPED_POINT - Resume reading from where the application last stopped reading. + /// 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. public let inputStartingPosition: InputStartingPosition? public init(inputStartingPosition: InputStartingPosition? = nil) { @@ -517,6 +583,7 @@ extension Kinesisanalytics { ] /// The type of record format. public let recordFormatType: RecordFormatType + /// 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. public let mappingParameters: MappingParameters? public init(recordFormatType: RecordFormatType, mappingParameters: MappingParameters? = nil) { @@ -539,13 +606,13 @@ extension Kinesisanalytics { AWSShapeMember(label: "CloudWatchLoggingOptions", required: false, type: .list), AWSShapeMember(label: "ApplicationDescription", required: false, type: .string) ] - /// 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. + /// 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. public let inputs: [Input]? /// Name of your Amazon Kinesis Analytics application (for example, sample-app). public let applicationName: String - /// You can configure application output to write data from any of the in-application streams to up to five destinations. These destinations can be Amazon Kinesis streams, Amazon Kinesis Firehose delivery streams, or both. In the configuration, you specify the in-application stream name, the destination stream Amazon Resource Name (ARN), and the format to use when writing data. You must also provide an IAM role that Amazon Kinesis Analytics can assume to write to the destination stream on your behalf. In the output configuration, you also provide the output stream Amazon Resource Name (ARN) and the format of data in the stream (for example, JSON, CSV). You also must provide an IAM role that Amazon Kinesis Analytics can assume to write to this stream on your behalf. + /// 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. public let outputs: [Output]? - /// One or more SQL statements that read input data, transform it, and generate output. For example, you can write a SQL statement that reads data from one in-application stream, generates a running average of the number of advertisement clicks by vendor, and insert resulting rows in another in-application stream using pumps. For more inforamtion about the typical pattern, see Application Code. You can provide such series of SQL statements, where output of one statement can be used as the input for the next statement. You store intermediate results by creating in-application streams and pumps. Note that the application code must create the streams with names specified in the Outputs. For example, if your Outputs defines output streams named ExampleOutputStream1 and ExampleOutputStream2, then your application code must create these streams. + /// 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. public let applicationCode: String? /// Use this parameter to configure a CloudWatch log stream to monitor application configuration errors. For more information, see Working with Amazon CloudWatch Logs. public let cloudWatchLoggingOptions: [CloudWatchLoggingOption]? @@ -620,6 +687,7 @@ extension Kinesisanalytics { public let inputProcessingConfiguration: InputProcessingConfiguration? /// ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. public let roleARN: String? + /// Specify this parameter to discover a schema from data in an S3 object. public let s3Configuration: S3Configuration? /// Amazon Resource Name (ARN) of the streaming source. public let resourceARN: String? @@ -685,7 +753,7 @@ extension Kinesisanalytics { AWSShapeMember(label: "InputSchema", required: false, type: .structure), AWSShapeMember(label: "InputId", required: false, type: .string) ] - /// If an Amazon Kinesis Firehose delivery stream is configured as a streaming source, provides the Firehose delivery stream's Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf. + /// 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. public let kinesisFirehoseInputDescription: KinesisFirehoseInputDescription? /// The description of the preprocessor that executes on records in this input before the application's code is run. public let inputProcessingConfigurationDescription: InputProcessingConfigurationDescription? @@ -697,7 +765,7 @@ extension Kinesisanalytics { public let inAppStreamNames: [String]? /// Point at which the application is configured to read from the input stream. public let inputStartingPositionConfiguration: InputStartingPositionConfiguration? - /// If an Amazon Kinesis stream is configured as streaming source, provides Amazon Kinesis stream's ARN and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf. + /// 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. public let kinesisStreamsInputDescription: KinesisStreamsInputDescription? /// 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. public let inputSchema: SourceSchema? @@ -779,7 +847,7 @@ extension Kinesisanalytics { ] /// The version ID of the Kinesis Analytics application. public let currentApplicationVersionId: Int64 - /// The ID of the input configuration from which to delete the input configuration. You can get a list of the input IDs for an application using the DescribeApplication operation. + /// 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. public let inputId: String /// The Kinesis Analytics application name. public let applicationName: String @@ -824,11 +892,11 @@ extension Kinesisanalytics { AWSShapeMember(label: "ApplicationName", required: true, type: .string), AWSShapeMember(label: "Output", required: true, type: .structure) ] - /// Version of the application to which you want add the output configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned. + /// 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. public let currentApplicationVersionId: Int64 /// Name of the application to which you want to add the output configuration. public let applicationName: String - /// An array of objects, each describing one output configuration. In the output configuration, you specify the name of an in-application stream, a destination (that is, an Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream), and record the formation to use when writing to the destination. + /// 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. public let output: Output public init(currentApplicationVersionId: Int64, applicationName: String, output: Output) { @@ -874,17 +942,17 @@ extension Kinesisanalytics { AWSShapeMember(label: "KinesisStreamsInput", required: false, type: .structure), AWSShapeMember(label: "InputParallelism", required: false, type: .structure) ] - /// 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. + /// 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. public let inputProcessingConfiguration: InputProcessingConfiguration? - /// If the streaming source is an Amazon Kinesis Firehose delivery stream, identifies the Firehose delivery stream's ARN and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf. Note: Either KinesisStreamsInput or KinesisFirehoseInput is required. + /// 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. public let kinesisFirehoseInput: KinesisFirehoseInput? /// 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. public let inputSchema: SourceSchema - /// Name prefix to use when creating in-application stream. Suppose you specify a prefix "MyInApplicationStream". Amazon Kinesis Analytics will then create one or more (as per the InputParallelism count you specified) in-application streams with names "MyInApplicationStream_001", "MyInApplicationStream_002" and so on. + /// 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. public let namePrefix: String /// 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. public let kinesisStreamsInput: KinesisStreamsInput? - /// Describes the number of in-application streams to create. Data from your source will be routed to these in-application input streams. (see Configuring Application Input. + /// 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. public let inputParallelism: InputParallelism? public init(inputProcessingConfiguration: InputProcessingConfiguration? = nil, kinesisFirehoseInput: KinesisFirehoseInput? = nil, inputSchema: SourceSchema, namePrefix: String, kinesisStreamsInput: KinesisStreamsInput? = nil, inputParallelism: InputParallelism? = nil) { @@ -962,7 +1030,7 @@ extension Kinesisanalytics { AWSShapeMember(label: "ResourceARN", required: true, type: .string), AWSShapeMember(label: "RoleARN", required: true, type: .string) ] - /// ARN of the input Firehose delivery stream. + /// ARN of the input delivery stream. public let resourceARN: String /// 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. public let roleARN: String @@ -1003,6 +1071,7 @@ extension Kinesisanalytics { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "KinesisStreamsOutputDescription", required: false, type: .structure), AWSShapeMember(label: "DestinationSchema", required: false, type: .structure), + AWSShapeMember(label: "LambdaOutputDescription", required: false, type: .structure), AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "OutputId", required: false, type: .string), AWSShapeMember(label: "KinesisFirehoseOutputDescription", required: false, type: .structure) @@ -1011,6 +1080,8 @@ extension Kinesisanalytics { public let kinesisStreamsOutputDescription: KinesisStreamsOutputDescription? /// Data format used for writing data to the destination. public let destinationSchema: DestinationSchema? + /// Describes the AWS Lambda function configured as the destination where output is written. + public let lambdaOutputDescription: LambdaOutputDescription? /// Name of the in-application stream configured as output. public let name: String? /// A unique identifier for the output configuration. @@ -1018,9 +1089,10 @@ extension Kinesisanalytics { /// Describes the Amazon Kinesis Firehose delivery stream configured as the destination where output is written. public let kinesisFirehoseOutputDescription: KinesisFirehoseOutputDescription? - public init(kinesisStreamsOutputDescription: KinesisStreamsOutputDescription? = nil, destinationSchema: DestinationSchema? = nil, name: String? = nil, outputId: String? = nil, kinesisFirehoseOutputDescription: KinesisFirehoseOutputDescription? = nil) { + public init(kinesisStreamsOutputDescription: KinesisStreamsOutputDescription? = nil, destinationSchema: DestinationSchema? = nil, lambdaOutputDescription: LambdaOutputDescription? = nil, name: String? = nil, outputId: String? = nil, kinesisFirehoseOutputDescription: KinesisFirehoseOutputDescription? = nil) { self.kinesisStreamsOutputDescription = kinesisStreamsOutputDescription self.destinationSchema = destinationSchema + self.lambdaOutputDescription = lambdaOutputDescription self.name = name self.outputId = outputId self.kinesisFirehoseOutputDescription = kinesisFirehoseOutputDescription @@ -1029,6 +1101,7 @@ extension Kinesisanalytics { private enum CodingKeys: String, CodingKey { case kinesisStreamsOutputDescription = "KinesisStreamsOutputDescription" case destinationSchema = "DestinationSchema" + case lambdaOutputDescription = "LambdaOutputDescription" case name = "Name" case outputId = "OutputId" case kinesisFirehoseOutputDescription = "KinesisFirehoseOutputDescription" @@ -1063,7 +1136,7 @@ extension Kinesisanalytics { ] /// The ARN of the AWS Lambda function that is used to preprocess the records in the stream. public let resourceARN: String? - /// The ARN of the IAM role used to access the AWS Lambda function. + /// The ARN of the IAM role that is used to access the AWS Lambda function. public let roleARN: String? public init(resourceARN: String? = nil, roleARN: String? = nil) { @@ -1190,11 +1263,11 @@ extension Kinesisanalytics { public let applicationDescription: String? /// Status of the application. public let applicationStatus: ApplicationStatus - /// Timestamp when the application was last updated. + /// Time stamp when the application was last updated. public let lastUpdateTimestamp: TimeStamp? /// Describes the application input configuration. For more information, see Configuring Application Input. public let inputDescriptions: [InputDescription]? - /// Timestamp when the application version was created. + /// Time stamp when the application version was created. public let createTimestamp: TimeStamp? /// Returns the application code that you provided to perform data analysis on any of the in-application streams in your application. public let applicationCode: String? @@ -1333,6 +1406,7 @@ extension Kinesisanalytics { public let referenceId: String /// The in-application table name created by the specific reference data source configuration. public let tableName: String + /// 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. public let referenceSchema: SourceSchema? public init(s3ReferenceDataSourceDescription: S3ReferenceDataSourceDescription, referenceId: String, tableName: String, referenceSchema: SourceSchema? = nil) { @@ -1355,9 +1429,9 @@ extension Kinesisanalytics { AWSShapeMember(label: "RoleARNUpdate", required: false, type: .string), AWSShapeMember(label: "ResourceARNUpdate", required: false, type: .string) ] - /// The ARN of the new IAM role used to access the AWS Lambda function. + /// The ARN of the new IAM role that is used to access the AWS Lambda function. public let roleARNUpdate: String? - /// The ARN of the new AWS Lambda function that is used to preprocess the records in the stream. + /// The Amazon Resource Name (ARN) of the new AWS Lambda function that is used to preprocess the records in the stream. public let resourceARNUpdate: String? public init(roleARNUpdate: String? = nil, resourceARNUpdate: String? = nil) { @@ -1440,6 +1514,7 @@ extension Kinesisanalytics { public let s3ReferenceDataSourceUpdate: S3ReferenceDataSourceUpdate? /// In-application table name that is created by this update. public let tableNameUpdate: String? + /// 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. public let referenceSchemaUpdate: SourceSchema? /// ID of the reference data source being updated. You can use the DescribeApplication operation to get this value. public let referenceId: String @@ -1463,20 +1538,25 @@ extension Kinesisanalytics { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "KinesisFirehoseOutput", required: false, type: .structure), AWSShapeMember(label: "DestinationSchema", required: true, type: .structure), + AWSShapeMember(label: "LambdaOutput", required: false, type: .structure), AWSShapeMember(label: "Name", required: true, type: .string), AWSShapeMember(label: "KinesisStreamsOutput", required: false, type: .structure) ] /// Identifies an Amazon Kinesis Firehose delivery stream as the destination. public let kinesisFirehoseOutput: KinesisFirehoseOutput? + /// Describes the data format when records are written to the destination. For more information, see Configuring Application Output. public let destinationSchema: DestinationSchema + /// Identifies an AWS Lambda function as the destination. + public let lambdaOutput: LambdaOutput? /// Name of the in-application stream. public let name: String /// Identifies an Amazon Kinesis stream as the destination. public let kinesisStreamsOutput: KinesisStreamsOutput? - public init(kinesisFirehoseOutput: KinesisFirehoseOutput? = nil, destinationSchema: DestinationSchema, name: String, kinesisStreamsOutput: KinesisStreamsOutput? = nil) { + public init(kinesisFirehoseOutput: KinesisFirehoseOutput? = nil, destinationSchema: DestinationSchema, lambdaOutput: LambdaOutput? = nil, name: String, kinesisStreamsOutput: KinesisStreamsOutput? = nil) { self.kinesisFirehoseOutput = kinesisFirehoseOutput self.destinationSchema = destinationSchema + self.lambdaOutput = lambdaOutput self.name = name self.kinesisStreamsOutput = kinesisStreamsOutput } @@ -1484,6 +1564,7 @@ extension Kinesisanalytics { private enum CodingKeys: String, CodingKey { case kinesisFirehoseOutput = "KinesisFirehoseOutput" case destinationSchema = "DestinationSchema" + case lambdaOutput = "LambdaOutput" case name = "Name" case kinesisStreamsOutput = "KinesisStreamsOutput" } @@ -1612,24 +1693,29 @@ extension Kinesisanalytics { AWSShapeMember(label: "KinesisStreamsOutputUpdate", required: false, type: .structure), AWSShapeMember(label: "KinesisFirehoseOutputUpdate", required: false, type: .structure), AWSShapeMember(label: "DestinationSchemaUpdate", required: false, type: .structure), - AWSShapeMember(label: "OutputId", required: true, type: .string) + AWSShapeMember(label: "OutputId", required: true, type: .string), + AWSShapeMember(label: "LambdaOutputUpdate", required: false, type: .structure) ] /// 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. public let nameUpdate: String? /// Describes an Amazon Kinesis stream as the destination for the output. public let kinesisStreamsOutputUpdate: KinesisStreamsOutputUpdate? - /// Describes a Amazon Kinesis Firehose delivery stream as the destination for the output. + /// Describes an Amazon Kinesis Firehose delivery stream as the destination for the output. public let kinesisFirehoseOutputUpdate: KinesisFirehoseOutputUpdate? + /// Describes the data format when records are written to the destination. For more information, see Configuring Application Output. public let destinationSchemaUpdate: DestinationSchema? /// Identifies the specific output configuration that you want to update. public let outputId: String + /// Describes an AWS Lambda function as the destination for the output. + public let lambdaOutputUpdate: LambdaOutputUpdate? - public init(nameUpdate: String? = nil, kinesisStreamsOutputUpdate: KinesisStreamsOutputUpdate? = nil, kinesisFirehoseOutputUpdate: KinesisFirehoseOutputUpdate? = nil, destinationSchemaUpdate: DestinationSchema? = nil, outputId: String) { + public init(nameUpdate: String? = nil, kinesisStreamsOutputUpdate: KinesisStreamsOutputUpdate? = nil, kinesisFirehoseOutputUpdate: KinesisFirehoseOutputUpdate? = nil, destinationSchemaUpdate: DestinationSchema? = nil, outputId: String, lambdaOutputUpdate: LambdaOutputUpdate? = nil) { self.nameUpdate = nameUpdate self.kinesisStreamsOutputUpdate = kinesisStreamsOutputUpdate self.kinesisFirehoseOutputUpdate = kinesisFirehoseOutputUpdate self.destinationSchemaUpdate = destinationSchemaUpdate self.outputId = outputId + self.lambdaOutputUpdate = lambdaOutputUpdate } private enum CodingKeys: String, CodingKey { @@ -1638,6 +1724,7 @@ extension Kinesisanalytics { case kinesisFirehoseOutputUpdate = "KinesisFirehoseOutputUpdate" case destinationSchemaUpdate = "DestinationSchemaUpdate" case outputId = "OutputId" + case lambdaOutputUpdate = "LambdaOutputUpdate" } } @@ -1695,7 +1782,7 @@ extension Kinesisanalytics { ] /// The version ID of the Kinesis Analytics application. public let currentApplicationVersionId: Int64 - /// The CloudWatchLoggingOptionId of the CloudWatch logging option to delete. You can use the DescribeApplication operation to get the CloudWatchLoggingOptionId. + /// The CloudWatchLoggingOptionId of the CloudWatch logging option to delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation. public let cloudWatchLoggingOptionId: String /// The Kinesis Analytics application name. public let applicationName: String @@ -1761,7 +1848,9 @@ extension Kinesisanalytics { AWSShapeMember(label: "ReferenceSchema", required: true, type: .structure), AWSShapeMember(label: "TableName", required: true, type: .string) ] + /// 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. public let s3ReferenceDataSource: S3ReferenceDataSource? + /// 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. public let referenceSchema: SourceSchema /// Name of the in-application table to create. public let tableName: String diff --git a/Sources/AWSSDKSwift/Services/kinesisvideo/Kinesisvideo_Shapes.swift b/Sources/AWSSDKSwift/Services/kinesisvideo/Kinesisvideo_Shapes.swift index d5df99e66ef..11f5dfddda9 100644 --- a/Sources/AWSSDKSwift/Services/kinesisvideo/Kinesisvideo_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/kinesisvideo/Kinesisvideo_Shapes.swift @@ -13,7 +13,7 @@ extension Kinesisvideo { AWSShapeMember(label: "DeviceName", required: false, type: .string), AWSShapeMember(label: "KmsKeyId", required: false, type: .string) ] - /// 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. + /// 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. public let dataRetentionInHours: Int32? /// 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). public let mediaType: String? @@ -285,6 +285,7 @@ extension Kinesisvideo { case getMedia = "GET_MEDIA" case listFragments = "LIST_FRAGMENTS" case getMediaForFragmentList = "GET_MEDIA_FOR_FRAGMENT_LIST" + case getHlsStreamingSessionUrl = "GET_HLS_STREAMING_SESSION_URL" public var description: String { return self.rawValue } } diff --git a/Sources/AWSSDKSwift/Services/kms/Kms_API.swift b/Sources/AWSSDKSwift/Services/kms/Kms_API.swift index 68833fcad3e..bb28fd97f86 100644 --- a/Sources/AWSSDKSwift/Services/kms/Kms_API.swift +++ b/Sources/AWSSDKSwift/Services/kms/Kms_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -AWS Key Management Service AWS Key Management Service (AWS KMS) is an encryption and key management web service. This guide describes the AWS KMS operations that you can call programmatically. For general information about AWS KMS, see the AWS Key Management Service Developer Guide. AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS KMS and other AWS services. For example, the SDKs take care of tasks such as signing requests (see below), managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services. We recommend that you use the AWS SDKs to make programmatic API calls to AWS KMS. Clients must support TLS (Transport Layer Security) 1.0. We recommend TLS 1.2. Clients must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems such as Java 7 and later support these modes. Signing Requests Requests must be signed by using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account (root) access key ID and secret key for everyday work with AWS KMS. Instead, use the access key ID and secret access key for an IAM user, or you can use the AWS Security Token Service to generate temporary security credentials that you can use to sign requests. All AWS KMS operations require Signature Version 4. Logging API Requests AWS KMS supports AWS CloudTrail, a service that logs AWS API calls and related events for your AWS account and delivers them to an Amazon S3 bucket that you specify. By using the information collected by CloudTrail, you can determine what requests were made to AWS KMS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide. Additional Resources For more information about credentials and request signing, see the following: AWS Security Credentials - This topic provides general information about the types of credentials used for accessing AWS. Temporary Security Credentials - This section of the IAM User Guide describes how to create and use temporary security credentials. Signature Version 4 Signing Process - This set of topics walks you through the process of signing a request using an access key ID and a secret access key. Commonly Used APIs Of the APIs discussed in this guide, the following will prove the most useful for most applications. You will likely perform actions other than these, such as creating keys and assigning policies, by using the console. Encrypt Decrypt GenerateDataKey GenerateDataKeyWithoutPlaintext +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: AWS Security Credentials - This topic provides general information about the types of credentials used for accessing AWS. Temporary Security Credentials - This section of the IAM User Guide describes how to create and use temporary security credentials. Signature Version 4 Signing Process - This set of topics walks you through the process of signing a request using an access key ID and a secret access key. 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. Encrypt Decrypt GenerateDataKey GenerateDataKeyWithoutPlaintext */ public struct Kms { @@ -25,7 +25,7 @@ public struct Kms { ) } - /// 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: The GenerateDataKey operation AWS Key Management Service Concepts in the AWS Key Management Service Developer Guide You cannot use this operation to create a CMK in a different AWS account. + /// 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: The GenerateDataKey operation AWS Key Management Service Concepts in the AWS Key Management Service Developer Guide You cannot use this operation to create a CMK in a different AWS account. public func createKey(_ input: CreateKeyRequest) throws -> CreateKeyResponse { return try client.send(operation: "CreateKey", path: "/", httpMethod: "POST", input: input) } @@ -40,7 +40,7 @@ public struct Kms { return try client.send(operation: "ListResourceTags", path: "/", httpMethod: "POST", input: input) } - /// 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: Use this operation (GenerateDataKey) to get a data encryption key. 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. Store the encrypted data key (returned in the CiphertextBlob field of the response) alongside the locally encrypted data. To decrypt data locally: Use the Decrypt operation to decrypt the encrypted data key into a plaintext copy of the data key. 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. + /// 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: Use this operation (GenerateDataKey) to get a data encryption key. 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. Store the encrypted data key (returned in the CiphertextBlob field of the response) alongside the locally encrypted data. To decrypt data locally: Use the Decrypt operation to decrypt the encrypted data key into a plaintext copy of the data key. 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. public func generateDataKey(_ input: GenerateDataKeyRequest) throws -> GenerateDataKeyResponse { return try client.send(operation: "GenerateDataKey", path: "/", httpMethod: "POST", input: input) } @@ -50,12 +50,12 @@ public struct Kms { return try client.send(operation: "ListKeys", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func disableKey(_ input: DisableKeyRequest) throws { _ = try client.send(operation: "DisableKey", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func createGrant(_ input: CreateGrantRequest) throws -> CreateGrantResponse { return try client.send(operation: "CreateGrant", path: "/", httpMethod: "POST", input: input) } @@ -65,32 +65,32 @@ public struct Kms { _ = try client.send(operation: "DeleteAlias", path: "/", httpMethod: "POST", input: input) } - /// Provides detailed information about the specified customer master key (CMK). 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. + /// 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. public func describeKey(_ input: DescribeKeyRequest) throws -> DescribeKeyResponse { return try client.send(operation: "DescribeKey", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func getParametersForImport(_ input: GetParametersForImportRequest) throws -> GetParametersForImportResponse { return try client.send(operation: "GetParametersForImport", path: "/", httpMethod: "POST", input: input) } - /// Decrypts ciphertext. Ciphertext is plaintext that has been previously encrypted by using any of the following operations: GenerateDataKey GenerateDataKeyWithoutPlaintext Encrypt Note that if a caller has been granted access permissions to all keys (through, for example, IAM user policies that grant Decrypt permission on all resources), then ciphertext encrypted by using keys in other accounts where the key grants access to the caller can be decrypted. To remedy this, we recommend that you do not grant Decrypt access in an IAM user policy. Instead grant Decrypt access only in key policies. If you must grant Decrypt access in an IAM user policy, you should scope the resource to specific keys or to specific trusted accounts. + /// Decrypts ciphertext. Ciphertext is plaintext that has been previously encrypted by using any of the following operations: GenerateDataKey GenerateDataKeyWithoutPlaintext Encrypt 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. public func decrypt(_ input: DecryptRequest) throws -> DecryptResponse { return try client.send(operation: "Decrypt", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func enableKey(_ input: EnableKeyRequest) throws { _ = try client.send(operation: "EnableKey", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func enableKeyRotation(_ input: EnableKeyRotationRequest) throws { _ = try client.send(operation: "EnableKeyRotation", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func deleteImportedKeyMaterial(_ input: DeleteImportedKeyMaterialRequest) throws { _ = try client.send(operation: "DeleteImportedKeyMaterial", path: "/", httpMethod: "POST", input: input) } @@ -100,17 +100,17 @@ public struct Kms { _ = try client.send(operation: "RevokeGrant", path: "/", httpMethod: "POST", input: input) } - /// Updates the description of a customer master key (CMK). To see the decription of a CMK, use DescribeKey. You cannot perform this operation on a CMK in a different AWS account. + /// 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. public func updateKeyDescription(_ input: UpdateKeyDescriptionRequest) throws { _ = try client.send(operation: "UpdateKeyDescription", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func scheduleKeyDeletion(_ input: ScheduleKeyDeletionRequest) throws -> ScheduleKeyDeletionResponse { return try client.send(operation: "ScheduleKeyDeletion", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func disableKeyRotation(_ input: DisableKeyRotationRequest) throws { _ = try client.send(operation: "DisableKeyRotation", path: "/", httpMethod: "POST", input: input) } @@ -120,17 +120,17 @@ public struct Kms { _ = try client.send(operation: "PutKeyPolicy", path: "/", httpMethod: "POST", input: input) } - /// Creates a display name for a 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. 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 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. + /// 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. public func createAlias(_ input: CreateAliasRequest) throws { _ = try client.send(operation: "CreateAlias", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func importKeyMaterial(_ input: ImportKeyMaterialRequest) throws -> ImportKeyMaterialResponse { return try client.send(operation: "ImportKeyMaterial", path: "/", httpMethod: "POST", input: input) } - /// Gets a list of all aliases in the caller's AWS account and region. You cannot list aliases in other accounts. For more information about aliases, see CreateAlias. The response might include several aliases that do not have a TargetKeyId field because they are not associated with a CMK. These are predefined aliases that are reserved for CMKs managed by AWS services. If an alias is not associated with a CMK, the alias does not count against the alias limit for your account. + /// 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. public func listAliases(_ input: ListAliasesRequest) throws -> ListAliasesResponse { return try client.send(operation: "ListAliases", path: "/", httpMethod: "POST", input: input) } @@ -150,12 +150,12 @@ public struct Kms { return try client.send(operation: "GetKeyPolicy", path: "/", httpMethod: "POST", input: input) } - /// Removes the specified tag or 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, you specify the tag key for each tag to remove. You do not specify the tag value. To overwrite the tag value for an existing tag, use TagResource. + /// 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. public func untagResource(_ input: UntagResourceRequest) throws { _ = try client.send(operation: "UntagResource", path: "/", httpMethod: "POST", input: input) } - /// 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. To move encrypted data from one AWS region to another, you can use this operation to encrypt in the new region the plaintext data key that was used to encrypt the data in the original region. This provides you with an encrypted copy of the data key that can be decrypted in the new region and used there to decrypt the encrypted data. 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. Unless you are moving encrypted data from one region to another, you don't use this operation to encrypt a generated data key within a region. To get data keys that are already encrypted, call the GenerateDataKey or GenerateDataKeyWithoutPlaintext operation. Data keys don't need to be encrypted again by calling Encrypt. To encrypt data locally in your application, use the GenerateDataKey operation to return a plaintext data encryption key and a copy of the key encrypted under the CMK of your choosing. + /// 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. public func encrypt(_ input: EncryptRequest) throws -> EncryptResponse { return try client.send(operation: "Encrypt", path: "/", httpMethod: "POST", input: input) } @@ -165,12 +165,12 @@ public struct Kms { return try client.send(operation: "ListGrants", path: "/", httpMethod: "POST", input: input) } - /// 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). + /// 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. public func updateAlias(_ input: UpdateAliasRequest) throws { _ = try client.send(operation: "UpdateAlias", path: "/", httpMethod: "POST", input: input) } - /// Adds or overwrites one or more tags for the specified 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 cannot use the same tag key more than once per CMK. For example, consider a CMK with one tag whose tag key is Purpose and tag value is Test. If you send a TagResource request for this CMK with a tag key of Purpose and a tag value of Prod, it does not create a second tag. Instead, the original tag is overwritten with the new tag value. 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. + /// 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. public func tagResource(_ input: TagResourceRequest) throws { _ = try client.send(operation: "TagResource", path: "/", httpMethod: "POST", input: input) } @@ -180,22 +180,22 @@ public struct Kms { return try client.send(operation: "ListKeyPolicies", path: "/", httpMethod: "POST", input: input) } - /// 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, 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. + /// 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. public func generateDataKeyWithoutPlaintext(_ input: GenerateDataKeyWithoutPlaintextRequest) throws -> GenerateDataKeyWithoutPlaintextResponse { return try client.send(operation: "GenerateDataKeyWithoutPlaintext", path: "/", httpMethod: "POST", input: input) } - /// Gets a Boolean value that indicates whether automatic rotation of the key material is enabled 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. + /// 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. public func getKeyRotationStatus(_ input: GetKeyRotationStatusRequest) throws -> GetKeyRotationStatusResponse { return try client.send(operation: "GetKeyRotationStatus", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func cancelKeyDeletion(_ input: CancelKeyDeletionRequest) throws -> CancelKeyDeletionResponse { return try client.send(operation: "CancelKeyDeletion", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func reEncrypt(_ input: ReEncryptRequest) throws -> ReEncryptResponse { return try client.send(operation: "ReEncrypt", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/kms/Kms_Shapes.swift b/Sources/AWSSDKSwift/Services/kms/Kms_Shapes.swift index 907f31ff413..1d1502c733d 100644 --- a/Sources/AWSSDKSwift/Services/kms/Kms_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/kms/Kms_Shapes.swift @@ -13,7 +13,7 @@ extension Kms { ] /// 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. public let truncated: Bool? - /// A list of policy names. Currently, there is only one policy and it is named "Default". + /// A list of key policy names. Currently, there is only one key policy per CMK and it is always named default. public let policyNames: [String]? /// When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request. public let nextMarker: String? @@ -31,9 +31,45 @@ extension Kms { } } - public enum WrappingKeySpec: String, CustomStringConvertible, Codable { - case rsa2048 = "RSA_2048" - public var description: String { return self.rawValue } + public struct CreateKeyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BypassPolicyLockoutSafetyCheck", required: false, type: .boolean), + AWSShapeMember(label: "KeyUsage", required: false, type: .enum), + AWSShapeMember(label: "Origin", required: false, type: .enum), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "Policy", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// 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. + public let bypassPolicyLockoutSafetyCheck: Bool? + /// The intended use of the CMK. You can use CMKs only for symmetric encryption and decryption. + public let keyUsage: KeyUsageType? + /// 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. + public let origin: OriginType? + /// 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. + public let tags: [Tag]? + /// 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). + public let policy: String? + /// A description of the CMK. Use a description that helps you decide whether the CMK is appropriate for a task. + public let description: String? + + public init(bypassPolicyLockoutSafetyCheck: Bool? = nil, keyUsage: KeyUsageType? = nil, origin: OriginType? = nil, tags: [Tag]? = nil, policy: String? = nil, description: String? = nil) { + self.bypassPolicyLockoutSafetyCheck = bypassPolicyLockoutSafetyCheck + self.keyUsage = keyUsage + self.origin = origin + self.tags = tags + self.policy = policy + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case bypassPolicyLockoutSafetyCheck = "BypassPolicyLockoutSafetyCheck" + case keyUsage = "KeyUsage" + case origin = "Origin" + case tags = "Tags" + case policy = "Policy" + case description = "Description" + } } public struct GetParametersForImportRequest: AWSShape { @@ -44,7 +80,7 @@ extension Kms { ] /// 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. public let keyId: String - /// The algorithm you will use to encrypt the key material before importing it with ImportKeyMaterial. For more information, see Encrypt the Key Material in the AWS Key Management Service Developer Guide. + /// 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. public let wrappingAlgorithm: AlgorithmSpec /// The type of wrapping key (public key) to return in the response. Only 2048-bit RSA public keys are supported. public let wrappingKeySpec: WrappingKeySpec @@ -216,7 +252,7 @@ extension Kms { ] /// A list of grant tokens. For more information, see Grant Tokens in the AWS Key Management Service Developer Guide. public let grantTokens: [String]? - /// 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. + /// 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. public let keyId: String public init(grantTokens: [String]? = nil, keyId: String) { @@ -241,7 +277,7 @@ extension Kms { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Policy", required: false, type: .string) ] - /// A policy document in JSON format. + /// A key policy document in JSON format. public let policy: String? public init(policy: String? = nil) { @@ -279,29 +315,29 @@ extension Kms { } } - public struct ListAliasesResponse: AWSShape { + public struct ListKeyPoliciesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Aliases", required: false, type: .list), - AWSShapeMember(label: "Truncated", required: false, type: .boolean), - AWSShapeMember(label: "NextMarker", required: false, type: .string) + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "KeyId", required: true, type: .string), + AWSShapeMember(label: "Limit", required: false, type: .integer) ] - /// A list of aliases. - public let aliases: [AliasListEntry]? - /// 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. - public let truncated: Bool? - /// When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request. - public let nextMarker: String? + /// 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. + public let marker: String? + /// 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. + public let keyId: String + /// 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. + public let limit: Int32? - public init(aliases: [AliasListEntry]? = nil, truncated: Bool? = nil, nextMarker: String? = nil) { - self.aliases = aliases - self.truncated = truncated - self.nextMarker = nextMarker + public init(marker: String? = nil, keyId: String, limit: Int32? = nil) { + self.marker = marker + self.keyId = keyId + self.limit = limit } private enum CodingKeys: String, CodingKey { - case aliases = "Aliases" - case truncated = "Truncated" - case nextMarker = "NextMarker" + case marker = "Marker" + case keyId = "KeyId" + case limit = "Limit" } } @@ -326,6 +362,32 @@ extension Kms { } } + public struct ListAliasesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Aliases", required: false, type: .list), + AWSShapeMember(label: "Truncated", required: false, type: .boolean), + AWSShapeMember(label: "NextMarker", required: false, type: .string) + ] + /// A list of aliases. + public let aliases: [AliasListEntry]? + /// 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. + public let truncated: Bool? + /// When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request. + public let nextMarker: String? + + public init(aliases: [AliasListEntry]? = nil, truncated: Bool? = nil, nextMarker: String? = nil) { + self.aliases = aliases + self.truncated = truncated + self.nextMarker = nextMarker + } + + private enum CodingKeys: String, CodingKey { + case aliases = "Aliases" + case truncated = "Truncated" + case nextMarker = "NextMarker" + } + } + public struct GetKeyRotationStatusResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "KeyRotationEnabled", required: false, type: .boolean) @@ -349,11 +411,11 @@ extension Kms { AWSShapeMember(label: "Policy", required: true, type: .string), AWSShapeMember(label: "PolicyName", required: true, type: .string) ] - /// A flag to indicate whether to bypass the key policy lockout safety check. Setting this value to true increases the likelihood that the CMK becomes unmanageable. Do not set this value to true indiscriminately. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide. Use this parameter only when you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK. The default value is false. + /// 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. public let bypassPolicyLockoutSafetyCheck: Bool? /// 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. public let keyId: String - /// The key policy to attach to the CMK. If you do not set BypassPolicyLockoutSafetyCheck to true, the policy must meet the following criteria: It must allow the principal that is making the PutKeyPolicy request to make a subsequent PutKeyPolicy request on the CMK. This reduces the likelihood that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide. The principals that are specified in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before specifying the new principal in a key policy because the new principal might not immediately be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM User Guide. The policy size limit is 32 kilobytes (32768 bytes). + /// 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). public let policy: String /// The name of the key policy. The only valid value is default. public let policyName: String @@ -409,7 +471,7 @@ extension Kms { public let deletionDate: TimeStamp? /// The description of the CMK. public let description: String? - /// 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. + /// 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. public let keyManager: KeyManagerType? /// Specifies whether the CMK's key material expires. This value is present only when Origin is EXTERNAL, otherwise this value is omitted. public let expirationModel: ExpirationModelType? @@ -465,38 +527,12 @@ extension Kms { } } - public struct ListKeyPoliciesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Marker", required: false, type: .string), - AWSShapeMember(label: "KeyId", required: true, type: .string), - AWSShapeMember(label: "Limit", required: false, type: .integer) - ] - /// 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. - public let marker: String? - /// 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. - public let keyId: String - /// 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. - public let limit: Int32? - - public init(marker: String? = nil, keyId: String, limit: Int32? = nil) { - self.marker = marker - self.keyId = keyId - self.limit = limit - } - - private enum CodingKeys: String, CodingKey { - case marker = "Marker" - case keyId = "KeyId" - case limit = "Limit" - } - } - public struct CreateAliasRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AliasName", required: true, type: .string), AWSShapeMember(label: "TargetKeyId", required: true, type: .string) ] - /// String that contains the display name. The name must start with the word "alias" followed by a forward slash (alias/). Aliases that begin with "alias/AWS" are reserved. + /// 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. public let aliasName: String /// 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. public let targetKeyId: String @@ -845,7 +881,7 @@ extension Kms { public let keyId: String /// 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. public let retiringPrincipal: String? - /// A friendly name for identifying the grant. Use this value to prevent unintended creation of duplicate grants when retrying this request. When this value is absent, all CreateGrant requests result in a new grant with a unique GrantId even if all the supplied parameters are identical. This can result in unintended duplicates when you retry the CreateGrant request. When this value is present, you can retry a CreateGrant request with identical parameters; if the grant already exists, the original GrantId is returned without creating a new grant. Note that the returned grant token is unique with every CreateGrant request, even when a duplicate GrantId is returned. All grant tokens obtained in this way can be used interchangeably. + /// 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. public let name: String? /// A list of operations that the grant permits. public let operations: [GrantOperation] @@ -927,7 +963,7 @@ extension Kms { ] /// 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. public let keyId: String - /// Specifies the name of the policy. The only valid name is default. To get the names of key policies, use ListKeyPolicies. + /// Specifies the name of the key policy. The only valid name is default. To get the names of key policies, use ListKeyPolicies. public let policyName: String public init(keyId: String, policyName: String) { @@ -1056,20 +1092,25 @@ extension Kms { public struct ListAliasesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "KeyId", required: false, type: .string), AWSShapeMember(label: "Limit", required: false, type: .integer) ] /// 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. public let marker: String? + /// 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. + public let keyId: String? /// 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. public let limit: Int32? - public init(marker: String? = nil, limit: Int32? = nil) { + public init(marker: String? = nil, keyId: String? = nil, limit: Int32? = nil) { self.marker = marker + self.keyId = keyId self.limit = limit } private enum CodingKeys: String, CodingKey { case marker = "Marker" + case keyId = "KeyId" case limit = "Limit" } } @@ -1447,47 +1488,6 @@ extension Kms { } } - public struct CreateKeyRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BypassPolicyLockoutSafetyCheck", required: false, type: .boolean), - AWSShapeMember(label: "KeyUsage", required: false, type: .enum), - AWSShapeMember(label: "Origin", required: false, type: .enum), - AWSShapeMember(label: "Tags", required: false, type: .list), - AWSShapeMember(label: "Policy", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string) - ] - /// A flag to indicate whether to bypass the key policy lockout safety check. Setting this value to true increases the likelihood that the CMK becomes unmanageable. Do not set this value to true indiscriminately. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide. Use this parameter only when you include a policy in the request and you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK. The default value is false. - public let bypassPolicyLockoutSafetyCheck: Bool? - /// The intended use of the CMK. You can use CMKs only for symmetric encryption and decryption. - public let keyUsage: KeyUsageType? - /// 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. - public let origin: OriginType? - /// 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. - public let tags: [Tag]? - /// The key policy to attach to the CMK. If you specify a policy and do not set BypassPolicyLockoutSafetyCheck to true, the policy must meet the following criteria: It must allow the principal that is making the CreateKey request to make a subsequent PutKeyPolicy request on the CMK. This reduces the likelihood that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide. The principals that are specified in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before specifying the new principal in a key policy because the new principal might not immediately be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM User Guide. If you do not specify a policy, AWS KMS attaches a default key policy to the CMK. For more information, see Default Key Policy in the AWS Key Management Service Developer Guide. The policy size limit is 32 kilobytes (32768 bytes). - public let policy: String? - /// A description of the CMK. Use a description that helps you decide whether the CMK is appropriate for a task. - public let description: String? - - public init(bypassPolicyLockoutSafetyCheck: Bool? = nil, keyUsage: KeyUsageType? = nil, origin: OriginType? = nil, tags: [Tag]? = nil, policy: String? = nil, description: String? = nil) { - self.bypassPolicyLockoutSafetyCheck = bypassPolicyLockoutSafetyCheck - self.keyUsage = keyUsage - self.origin = origin - self.tags = tags - self.policy = policy - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case bypassPolicyLockoutSafetyCheck = "BypassPolicyLockoutSafetyCheck" - case keyUsage = "KeyUsage" - case origin = "Origin" - case tags = "Tags" - case policy = "Policy" - case description = "Description" - } - } - public struct UntagResourceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "KeyId", required: true, type: .string), @@ -1556,4 +1556,9 @@ extension Kms { } } + public enum WrappingKeySpec: String, CustomStringConvertible, Codable { + case rsa2048 = "RSA_2048" + public var description: String { return self.rawValue } + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/lambda/Lambda_API.swift b/Sources/AWSSDKSwift/Services/lambda/Lambda_API.swift index d229cc7aab4..1cb48108da0 100644 --- a/Sources/AWSSDKSwift/Services/lambda/Lambda_API.swift +++ b/Sources/AWSSDKSwift/Services/lambda/Lambda_API.swift @@ -24,7 +24,7 @@ public struct Lambda { ) } - /// Adds a permission to the resource policy associated with the specified AWS Lambda function. You use resource policies to grant permissions to event sources that use push model. In a push model, event sources (such as Amazon S3 and custom applications) invoke your Lambda function. Each permission you add to the resource policy allows an event source, permission to invoke the Lambda function. For information about the push model, see AWS Lambda: How it Works. If you are using versioning, the permissions you add are specific to the Lambda function version or alias you specify in the AddPermission request via the Qualifier parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases. This operation requires permission for the lambda:AddPermission action. + /// 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. public func addPermission(_ input: AddPermissionRequest) throws -> AddPermissionResponse { return try client.send(operation: "AddPermission", path: "/2015-03-31/functions/{FunctionName}/policy", httpMethod: "POST", input: input) } @@ -39,7 +39,7 @@ public struct Lambda { _ = try client.send(operation: "DeleteFunction", path: "/2015-03-31/functions/{FunctionName}", httpMethod: "DELETE", input: input) } - /// Removes concurrent execution limits from this function. + /// Removes concurrent execution limits from this function. For more information, see concurrent-executions. public func deleteFunctionConcurrency(_ input: DeleteFunctionConcurrencyRequest) throws { _ = try client.send(operation: "DeleteFunctionConcurrency", path: "/2017-10-31/functions/{FunctionName}/concurrency", httpMethod: "DELETE", input: input) } @@ -49,7 +49,7 @@ public struct Lambda { return try client.send(operation: "DeleteEventSourceMapping", path: "/2015-03-31/event-source-mappings/{UUID}", httpMethod: "DELETE", input: input) } - /// Returns a list of tags assigned to a function when supplied the function ARN (Amazon Resource Name). + /// 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. public func listTags(_ input: ListTagsRequest) throws -> ListTagsResponse { return try client.send(operation: "ListTags", path: "/2017-03-31/tags/{ARN}", httpMethod: "GET", input: input) } @@ -84,7 +84,7 @@ public struct Lambda { return try client.send(operation: "ListVersionsByFunction", path: "/2015-03-31/functions/{FunctionName}/versions", httpMethod: "GET", input: input) } - /// 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. + /// 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. public func putFunctionConcurrency(_ input: PutFunctionConcurrencyRequest) throws -> Concurrency { return try client.send(operation: "PutFunctionConcurrency", path: "/2017-10-31/functions/{FunctionName}/concurrency", httpMethod: "PUT", input: input) } @@ -99,7 +99,7 @@ public struct Lambda { return try client.send(operation: "GetAlias", path: "/2015-03-31/functions/{FunctionName}/aliases/{Name}", httpMethod: "GET", input: input) } - /// 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. + /// 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. public func invoke(_ input: InvocationRequest) throws -> InvocationResponse { return try client.send(operation: "Invoke", path: "/2015-03-31/functions/{FunctionName}/invocations", httpMethod: "POST", input: input) } @@ -129,7 +129,7 @@ public struct Lambda { return try client.send(operation: "ListAliases", path: "/2015-03-31/functions/{FunctionName}/aliases", httpMethod: "GET", input: input) } - /// Removes tags from a Lambda function. Requires the function ARN (Amazon Resource Name). + /// 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. public func untagResource(_ input: UntagResourceRequest) throws { _ = try client.send(operation: "UntagResource", path: "/2017-03-31/tags/{ARN}", httpMethod: "DELETE", input: input) } @@ -149,7 +149,7 @@ public struct Lambda { return try client.send(operation: "UpdateEventSourceMapping", path: "/2015-03-31/event-source-mappings/{UUID}", httpMethod: "PUT", input: input) } - /// 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. + /// 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. public func tagResource(_ input: TagResourceRequest) throws { _ = try client.send(operation: "TagResource", path: "/2017-03-31/tags/{ARN}", httpMethod: "POST", input: input) } @@ -169,7 +169,7 @@ public struct Lambda { return try client.send(operation: "ListEventSourceMappings", path: "/2015-03-31/event-source-mappings/", httpMethod: "GET", input: input) } - /// Identifies a stream as an event source for a Lambda function. It can be either an Amazon Kinesis stream or an Amazon DynamoDB stream. AWS Lambda invokes the specified function when records are posted to the stream. This association between a stream source and a Lambda function is called the event source mapping. This event source mapping is relevant only in the AWS Lambda pull model, where AWS Lambda invokes the function. For more information, see AWS Lambda: How it Works in the AWS Lambda Developer Guide. You provide mapping information (for example, which stream to read from and which Lambda function to invoke) in the request body. Each event source, such as an Amazon Kinesis or a DynamoDB stream, can be associated with multiple AWS Lambda function. A given Lambda function can be associated with multiple AWS event sources. If you are using versioning, you can specify a specific function version or an alias via the function name parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases. This operation requires permission for the lambda:CreateEventSourceMapping action. + /// 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. public func createEventSourceMapping(_ input: CreateEventSourceMappingRequest) throws -> EventSourceMappingConfiguration { return try client.send(operation: "CreateEventSourceMapping", path: "/2015-03-31/event-source-mappings/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/lambda/Lambda_Error.swift b/Sources/AWSSDKSwift/Services/lambda/Lambda_Error.swift index 9df5fc5d785..c4c61f763bd 100644 --- a/Sources/AWSSDKSwift/Services/lambda/Lambda_Error.swift +++ b/Sources/AWSSDKSwift/Services/lambda/Lambda_Error.swift @@ -10,6 +10,8 @@ public enum LambdaError: AWSErrorType { case invalidParameterValueException(message: String?) case policyLengthExceededException(message: String?) case tooManyRequestsException(message: String?) + case preconditionFailedException(message: String?) + case resourceInUseException(message: String?) case invalidRequestContentException(message: String?) case invalidRuntimeException(message: String?) case requestTooLargeException(message: String?) @@ -48,6 +50,10 @@ extension LambdaError { self = .policyLengthExceededException(message: message) case "TooManyRequestsException": self = .tooManyRequestsException(message: message) + case "PreconditionFailedException": + self = .preconditionFailedException(message: message) + case "ResourceInUseException": + self = .resourceInUseException(message: message) case "InvalidRequestContentException": self = .invalidRequestContentException(message: message) case "InvalidRuntimeException": diff --git a/Sources/AWSSDKSwift/Services/lambda/Lambda_Shapes.swift b/Sources/AWSSDKSwift/Services/lambda/Lambda_Shapes.swift index 2b23cad6ccc..4e47a7daeff 100644 --- a/Sources/AWSSDKSwift/Services/lambda/Lambda_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/lambda/Lambda_Shapes.swift @@ -41,9 +41,9 @@ extension Lambda { AWSShapeMember(label: "Resource", location: .uri(locationName: "ARN"), required: true, type: .string), AWSShapeMember(label: "Tags", required: true, type: .map) ] - /// The ARN (Amazon Resource Name) of the Lambda function. + /// The ARN (Amazon Resource Name) of the Lambda function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide. public let resource: String - /// The list of tags (key-value pairs) you are assigning to the Lambda function. + /// 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. public let tags: [String: String] public init(resource: String, tags: [String: String]) { @@ -74,9 +74,9 @@ extension Lambda { public let uuid: String? /// 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. public let batchSize: Int32? - /// The Amazon Resource Name (ARN) of the Amazon Kinesis stream that is the source of events. + /// The Amazon Resource Name (ARN) of the Amazon Kinesis or DynamoDB stream or the SQS queue that is the source of events. public let eventSourceArn: String? - /// The Lambda function to invoke when AWS Lambda detects an event on the stream. + /// The Lambda function to invoke when AWS Lambda detects an event on the poll-based source. public let functionArn: String? /// The state of the event source mapping. It can be Creating, Enabled, Disabled, Enabling, Disabling, Updating, or Deleting. public let state: String? @@ -112,11 +112,15 @@ extension Lambda { case nodejs = "nodejs" case nodejs43 = "nodejs4.3" case nodejs610 = "nodejs6.10" + case nodejs810 = "nodejs8.10" case java8 = "java8" case python27 = "python2.7" case python36 = "python3.6" case dotnetcore10 = "dotnetcore1.0" + case dotnetcore20 = "dotnetcore2.0" + case dotnetcore21 = "dotnetcore2.1" case nodejs43Edge = "nodejs4.3-edge" + case go1X = "go1.x" public var description: String { return self.rawValue } } @@ -124,7 +128,7 @@ extension Lambda { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FunctionName", location: .uri(locationName: "FunctionName"), required: true, type: .string) ] - /// The name of the function you are removing concurrent execution limits from. + /// The name of the function you are removing concurrent execution limits from. For more information, see concurrent-executions. public let functionName: String public init(functionName: String) { @@ -160,6 +164,7 @@ extension Lambda { public struct UpdateAliasRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RoutingConfig", required: false, type: .structure), + AWSShapeMember(label: "RevisionId", required: false, type: .string), AWSShapeMember(label: "FunctionName", location: .uri(locationName: "FunctionName"), required: true, type: .string), AWSShapeMember(label: "FunctionVersion", required: false, type: .string), AWSShapeMember(label: "Name", location: .uri(locationName: "Name"), required: true, type: .string), @@ -167,6 +172,8 @@ extension Lambda { ] /// 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. public let routingConfig: AliasRoutingConfiguration? + /// 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 . + public let revisionId: String? /// 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. public let functionName: String /// Using this parameter you can change the Lambda function version to which the alias points. @@ -176,8 +183,9 @@ extension Lambda { /// You can change the description of the alias using this parameter. public let description: String? - public init(routingConfig: AliasRoutingConfiguration? = nil, functionName: String, functionVersion: String? = nil, name: String, description: String? = nil) { + public init(routingConfig: AliasRoutingConfiguration? = nil, revisionId: String? = nil, functionName: String, functionVersion: String? = nil, name: String, description: String? = nil) { self.routingConfig = routingConfig + self.revisionId = revisionId self.functionName = functionName self.functionVersion = functionVersion self.name = name @@ -186,6 +194,7 @@ extension Lambda { private enum CodingKeys: String, CodingKey { case routingConfig = "RoutingConfig" + case revisionId = "RevisionId" case functionName = "FunctionName" case functionVersion = "FunctionVersion" case name = "Name" @@ -240,7 +249,7 @@ extension Lambda { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Tags", required: false, type: .map) ] - /// The list of tags assigned to the function. + /// The list of tags assigned to the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide. public let tags: [String: String]? public init(tags: [String: String]? = nil) { @@ -256,7 +265,7 @@ extension Lambda { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AdditionalVersionWeights", required: false, type: .map) ] - /// Set this property 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. + /// 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. public let additionalVersionWeights: [String: Double]? public init(additionalVersionWeights: [String: Double]? = nil) { @@ -272,7 +281,7 @@ extension Lambda { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TargetArn", required: false, type: .string) ] - /// The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic you specify as your Dead Letter Queue (DLQ). + /// 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. public let targetArn: String? public init(targetArn: String? = nil) { @@ -290,23 +299,23 @@ extension Lambda { AWSShapeMember(label: "BatchSize", required: false, type: .integer), AWSShapeMember(label: "StartingPositionTimestamp", required: false, type: .timestamp), AWSShapeMember(label: "EventSourceArn", required: true, type: .string), - AWSShapeMember(label: "StartingPosition", required: true, type: .enum), + AWSShapeMember(label: "StartingPosition", required: false, type: .enum), AWSShapeMember(label: "Enabled", required: false, type: .boolean) ] /// 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. public let functionName: String - /// The largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function. Your function receives an event with all the retrieved records. The default is 100 records. + /// 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. public let batchSize: Int32? /// 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. public let startingPositionTimestamp: TimeStamp? - /// The Amazon Resource Name (ARN) of the Amazon Kinesis or the Amazon DynamoDB stream that is the event source. Any record added to this stream could cause AWS Lambda to invoke your Lambda function, it depends on the BatchSize. AWS Lambda POSTs the Amazon Kinesis event, containing records, to your Lambda function as JSON. + /// 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. public let eventSourceArn: String - /// The position in the stream where AWS Lambda should start reading. Valid only for Kinesis streams. For more information, see ShardIteratorType in the Amazon Kinesis API Reference. - public let startingPosition: EventSourcePosition + /// 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. + public let startingPosition: EventSourcePosition? /// Indicates whether AWS Lambda should begin polling the event source. By default, Enabled is true. public let enabled: Bool? - public init(functionName: String, batchSize: Int32? = nil, startingPositionTimestamp: TimeStamp? = nil, eventSourceArn: String, startingPosition: EventSourcePosition, enabled: Bool? = nil) { + public init(functionName: String, batchSize: Int32? = nil, startingPositionTimestamp: TimeStamp? = nil, eventSourceArn: String, startingPosition: EventSourcePosition? = nil, enabled: Bool? = nil) { self.functionName = functionName self.batchSize = batchSize self.startingPositionTimestamp = startingPositionTimestamp @@ -365,6 +374,7 @@ extension Lambda { public struct AddPermissionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StatementId", required: true, type: .string), + AWSShapeMember(label: "RevisionId", required: false, type: .string), AWSShapeMember(label: "FunctionName", location: .uri(locationName: "FunctionName"), required: true, type: .string), AWSShapeMember(label: "Action", required: true, type: .string), AWSShapeMember(label: "SourceArn", required: false, type: .string), @@ -375,6 +385,8 @@ extension Lambda { ] /// A unique statement identifier. public let statementId: String + /// 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 . + public let revisionId: String? /// 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. public let functionName: String /// 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. @@ -390,8 +402,9 @@ extension Lambda { /// 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 public let qualifier: String? - public init(statementId: String, functionName: String, action: String, sourceArn: String? = nil, sourceAccount: String? = nil, principal: String, eventSourceToken: String? = nil, qualifier: String? = nil) { + public init(statementId: String, revisionId: String? = nil, functionName: String, action: String, sourceArn: String? = nil, sourceAccount: String? = nil, principal: String, eventSourceToken: String? = nil, qualifier: String? = nil) { self.statementId = statementId + self.revisionId = revisionId self.functionName = functionName self.action = action self.sourceArn = sourceArn @@ -403,6 +416,7 @@ extension Lambda { private enum CodingKeys: String, CodingKey { case statementId = "StatementId" + case revisionId = "RevisionId" case functionName = "FunctionName" case action = "Action" case sourceArn = "SourceArn" @@ -544,6 +558,7 @@ extension Lambda { public struct UpdateFunctionCodeRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RevisionId", required: false, type: .string), AWSShapeMember(label: "FunctionName", location: .uri(locationName: "FunctionName"), required: true, type: .string), AWSShapeMember(label: "ZipFile", required: false, type: .blob), AWSShapeMember(label: "S3Key", required: false, type: .string), @@ -552,9 +567,11 @@ extension Lambda { AWSShapeMember(label: "Publish", required: false, type: .boolean), AWSShapeMember(label: "S3ObjectVersion", required: false, type: .string) ] + /// 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 . + public let revisionId: String? /// 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. public let functionName: String - /// 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. + /// 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. public let zipFile: Data? /// The Amazon S3 object (the deployment package) key name you want to upload. public let s3Key: String? @@ -567,7 +584,8 @@ extension Lambda { /// The Amazon S3 object (the deployment package) version you want to upload. public let s3ObjectVersion: String? - public init(functionName: String, zipFile: Data? = nil, s3Key: String? = nil, dryRun: Bool? = nil, s3Bucket: String? = nil, publish: Bool? = nil, s3ObjectVersion: String? = nil) { + public init(revisionId: String? = nil, functionName: String, zipFile: Data? = nil, s3Key: String? = nil, dryRun: Bool? = nil, s3Bucket: String? = nil, publish: Bool? = nil, s3ObjectVersion: String? = nil) { + self.revisionId = revisionId self.functionName = functionName self.zipFile = zipFile self.s3Key = s3Key @@ -578,6 +596,7 @@ extension Lambda { } private enum CodingKeys: String, CodingKey { + case revisionId = "RevisionId" case functionName = "FunctionName" case zipFile = "ZipFile" case s3Key = "S3Key" @@ -590,27 +609,32 @@ extension Lambda { public struct RemovePermissionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Qualifier", location: .querystring(locationName: "Qualifier"), required: false, type: .string), + AWSShapeMember(label: "StatementId", location: .uri(locationName: "StatementId"), required: true, type: .string), + AWSShapeMember(label: "RevisionId", location: .querystring(locationName: "RevisionId"), required: false, type: .string), AWSShapeMember(label: "FunctionName", location: .uri(locationName: "FunctionName"), required: true, type: .string), - AWSShapeMember(label: "StatementId", location: .uri(locationName: "StatementId"), required: true, type: .string) + AWSShapeMember(label: "Qualifier", location: .querystring(locationName: "Qualifier"), required: false, type: .string) ] - /// 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. - public let qualifier: String? - /// 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. - public let functionName: String /// Statement ID of the permission to remove. public let statementId: String + /// 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 . + public let revisionId: String? + /// 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. + public let functionName: String + /// 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. + public let qualifier: String? - public init(qualifier: String? = nil, functionName: String, statementId: String) { - self.qualifier = qualifier - self.functionName = functionName + public init(statementId: String, revisionId: String? = nil, functionName: String, qualifier: String? = nil) { self.statementId = statementId + self.revisionId = revisionId + self.functionName = functionName + self.qualifier = qualifier } private enum CodingKeys: String, CodingKey { - case qualifier = "Qualifier" - case functionName = "FunctionName" case statementId = "StatementId" + case revisionId = "RevisionId" + case functionName = "FunctionName" + case qualifier = "Qualifier" } } @@ -640,7 +664,7 @@ extension Lambda { public let maxItems: Int32? /// 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. public let functionName: String? - /// The Amazon Resource Name (ARN) of the Amazon Kinesis stream. (This parameter is optional.) + /// The Amazon Resource Name (ARN) of the Amazon Kinesis or DynamoDB stream, or an SQS queue. (This parameter is optional.) public let eventSourceArn: String? /// 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. public let marker: String? @@ -805,7 +829,7 @@ extension Lambda { public let logResult: String? /// 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. public let payload: Data? - /// The function version that has been executed. This value is returned only if the invocation type is RequestResponse. + /// 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. public let executedVersion: String? /// 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. public let functionError: String? @@ -845,70 +869,75 @@ extension Lambda { public struct UpdateFunctionConfigurationRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "KMSKeyArn", required: false, type: .string), + AWSShapeMember(label: "RevisionId", required: false, type: .string), + AWSShapeMember(label: "VpcConfig", required: false, type: .structure), + AWSShapeMember(label: "DeadLetterConfig", required: false, type: .structure), + AWSShapeMember(label: "Timeout", required: false, type: .integer), + AWSShapeMember(label: "Runtime", required: false, type: .enum), AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "KMSKeyArn", required: false, type: .string), AWSShapeMember(label: "FunctionName", location: .uri(locationName: "FunctionName"), required: true, type: .string), AWSShapeMember(label: "TracingConfig", required: false, type: .structure), - AWSShapeMember(label: "VpcConfig", required: false, type: .structure), AWSShapeMember(label: "MemorySize", required: false, type: .integer), AWSShapeMember(label: "Role", required: false, type: .string), AWSShapeMember(label: "Environment", required: false, type: .structure), - AWSShapeMember(label: "DeadLetterConfig", required: false, type: .structure), - AWSShapeMember(label: "Timeout", required: false, type: .integer), - AWSShapeMember(label: "Runtime", required: false, type: .enum), AWSShapeMember(label: "Handler", required: false, type: .string) ] - /// 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. - public let kMSKeyArn: String? + /// 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 . + public let revisionId: String? + public let vpcConfig: VpcConfig? + /// 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. + public let deadLetterConfig: DeadLetterConfig? + /// 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. + public let timeout: Int32? + /// 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. + public let runtime: Runtime? /// A short user-defined function description. AWS Lambda does not use this value. Assign a meaningful description as you see fit. public let description: String? + /// 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. + public let kMSKeyArn: String? /// 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. public let functionName: String /// The parent object that contains your function's tracing settings. public let tracingConfig: TracingConfig? - public let vpcConfig: VpcConfig? /// 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. public let memorySize: Int32? /// The Amazon Resource Name (ARN) of the IAM role that Lambda will assume when it executes your function. public let role: String? /// The parent object that contains your environment's configuration settings. public let environment: Environment? - /// The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic. - public let deadLetterConfig: DeadLetterConfig? - /// 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. - public let timeout: Int32? - /// The runtime environment for the Lambda function. To use the Python runtime v3.6, set the value to "python3.6". To use the Python runtime v2.7, set the value to "python2.7". To use the Node.js runtime v6.10, set the value to "nodejs6.10". To use the Node.js runtime v4.3, set the value to "nodejs4.3". To use the Python runtime v3.6, set the value to "python3.6". 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. - public let runtime: Runtime? /// The function that Lambda calls to begin executing your function. For Node.js, it is the module-name.export value in your function. public let handler: String? - public init(kMSKeyArn: String? = nil, description: String? = nil, functionName: String, tracingConfig: TracingConfig? = nil, vpcConfig: VpcConfig? = nil, memorySize: Int32? = nil, role: String? = nil, environment: Environment? = nil, deadLetterConfig: DeadLetterConfig? = nil, timeout: Int32? = nil, runtime: Runtime? = nil, handler: String? = nil) { - self.kMSKeyArn = kMSKeyArn + public init(revisionId: String? = nil, vpcConfig: VpcConfig? = nil, deadLetterConfig: DeadLetterConfig? = nil, timeout: Int32? = nil, runtime: Runtime? = nil, description: String? = nil, kMSKeyArn: String? = nil, functionName: String, tracingConfig: TracingConfig? = nil, memorySize: Int32? = nil, role: String? = nil, environment: Environment? = nil, handler: String? = nil) { + self.revisionId = revisionId + self.vpcConfig = vpcConfig + self.deadLetterConfig = deadLetterConfig + self.timeout = timeout + self.runtime = runtime self.description = description + self.kMSKeyArn = kMSKeyArn self.functionName = functionName self.tracingConfig = tracingConfig - self.vpcConfig = vpcConfig self.memorySize = memorySize self.role = role self.environment = environment - self.deadLetterConfig = deadLetterConfig - self.timeout = timeout - self.runtime = runtime self.handler = handler } private enum CodingKeys: String, CodingKey { - case kMSKeyArn = "KMSKeyArn" + case revisionId = "RevisionId" + case vpcConfig = "VpcConfig" + case deadLetterConfig = "DeadLetterConfig" + case timeout = "Timeout" + case runtime = "Runtime" case description = "Description" + case kMSKeyArn = "KMSKeyArn" case functionName = "FunctionName" case tracingConfig = "TracingConfig" - case vpcConfig = "VpcConfig" case memorySize = "MemorySize" case role = "Role" case environment = "Environment" - case deadLetterConfig = "DeadLetterConfig" - case timeout = "Timeout" - case runtime = "Runtime" case handler = "Handler" } } @@ -961,15 +990,15 @@ extension Lambda { ] /// 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. public let vpcConfig: VpcConfig? - /// The list of tags (key-value pairs) assigned to the new function. + /// 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. public let tags: [String: String]? - /// The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic. + /// 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. public let deadLetterConfig: DeadLetterConfig? /// 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. public let timeout: Int32? /// This boolean parameter can be used to request AWS Lambda to create the Lambda function and publish a version as an atomic operation. public let publish: Bool? - /// The runtime environment for the Lambda function you are uploading. To use the Python runtime v3.6, set the value to "python3.6". To use the Python runtime v2.7, set the value to "python2.7". To use the Node.js runtime v6.10, set the value to "nodejs6.10". To use the Node.js runtime v4.3, set the value to "nodejs4.3". Node v0.10.42 is currently marked as deprecated. You must migrate existing functions to the newer Node.js runtime versions available on AWS Lambda (nodejs4.3 or nodejs6.10) as soon as possible. Failure to do so will result in an invalid parmaeter error being returned. Note that you will have to follow this procedure for each region that contains functions written in the Node v0.10.42 runtime. + /// 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. public let runtime: Runtime /// A short, user-defined function description. Lambda does not use this value. Assign a meaningful description as you see fit. public let description: String? @@ -1091,6 +1120,7 @@ extension Lambda { public struct FunctionConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RevisionId", required: false, type: .string), AWSShapeMember(label: "VpcConfig", required: false, type: .structure), AWSShapeMember(label: "MasterArn", required: false, type: .string), AWSShapeMember(label: "DeadLetterConfig", required: false, type: .structure), @@ -1110,11 +1140,13 @@ extension Lambda { AWSShapeMember(label: "Environment", required: false, type: .structure), AWSShapeMember(label: "Handler", required: false, type: .string) ] + /// Represents the latest updated revision of the function or alias. + public let revisionId: String? /// VPC configuration associated with your Lambda function. public let vpcConfig: VpcConfigResponse? /// Returns the ARN (Amazon Resource Name) of the master function. public let masterArn: String? - /// The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic. + /// 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. public let deadLetterConfig: DeadLetterConfig? /// 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. public let timeout: Int32? @@ -1147,7 +1179,8 @@ extension Lambda { /// The function Lambda calls to begin executing your function. public let handler: String? - public init(vpcConfig: VpcConfigResponse? = nil, masterArn: String? = nil, deadLetterConfig: DeadLetterConfig? = nil, timeout: Int32? = nil, runtime: Runtime? = nil, codeSha256: String? = nil, description: String? = nil, lastModified: String? = nil, kMSKeyArn: String? = nil, functionName: String? = nil, tracingConfig: TracingConfigResponse? = nil, memorySize: Int32? = nil, functionArn: String? = nil, version: String? = nil, role: String? = nil, codeSize: Int64? = nil, environment: EnvironmentResponse? = nil, handler: String? = nil) { + public init(revisionId: String? = nil, vpcConfig: VpcConfigResponse? = nil, masterArn: String? = nil, deadLetterConfig: DeadLetterConfig? = nil, timeout: Int32? = nil, runtime: Runtime? = nil, codeSha256: String? = nil, description: String? = nil, lastModified: String? = nil, kMSKeyArn: String? = nil, functionName: String? = nil, tracingConfig: TracingConfigResponse? = nil, memorySize: Int32? = nil, functionArn: String? = nil, version: String? = nil, role: String? = nil, codeSize: Int64? = nil, environment: EnvironmentResponse? = nil, handler: String? = nil) { + self.revisionId = revisionId self.vpcConfig = vpcConfig self.masterArn = masterArn self.deadLetterConfig = deadLetterConfig @@ -1169,6 +1202,7 @@ extension Lambda { } private enum CodingKeys: String, CodingKey { + case revisionId = "RevisionId" case vpcConfig = "VpcConfig" case masterArn = "MasterArn" case deadLetterConfig = "DeadLetterConfig" @@ -1192,17 +1226,22 @@ extension Lambda { public struct GetPolicyResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Policy", required: false, type: .string) + AWSShapeMember(label: "Policy", required: false, type: .string), + AWSShapeMember(label: "RevisionId", required: false, type: .string) ] /// 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. public let policy: String? + /// Represents the latest updated revision of the function or alias. + public let revisionId: String? - public init(policy: String? = nil) { + public init(policy: String? = nil, revisionId: String? = nil) { self.policy = policy + self.revisionId = revisionId } private enum CodingKeys: String, CodingKey { case policy = "Policy" + case revisionId = "RevisionId" } } @@ -1210,7 +1249,7 @@ extension Lambda { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ReservedConcurrentExecutions", required: false, type: .integer) ] - /// The number of concurrent executions reserved for this function. + /// The number of concurrent executions reserved for this function. For more information, see concurrent-executions. public let reservedConcurrentExecutions: Int32? public init(reservedConcurrentExecutions: Int32? = nil) { @@ -1248,9 +1287,9 @@ extension Lambda { AWSShapeMember(label: "ReservedConcurrentExecutions", required: true, type: .integer), AWSShapeMember(label: "FunctionName", location: .uri(locationName: "FunctionName"), required: true, type: .string) ] - /// The concurrent execution limit reserved for this function. + /// The concurrent execution limit reserved for this function. For more information, see concurrent-executions. public let reservedConcurrentExecutions: Int32 - /// The name of the function you are setting concurrent execution limits on. + /// The name of the function you are setting concurrent execution limits on. For more information, see concurrent-executions. public let functionName: String public init(reservedConcurrentExecutions: Int32, functionName: String) { @@ -1274,7 +1313,7 @@ extension Lambda { ] /// 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. public let codeSizeZipped: Int64? - /// The number of concurrent executions available to functions that do not have concurrency limits set. + /// The number of concurrent executions available to functions that do not have concurrency limits set. For more information, see concurrent-executions. public let unreservedConcurrentExecutions: Int32? /// 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. public let concurrentExecutions: Int32? @@ -1303,6 +1342,7 @@ extension Lambda { public struct AliasConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RoutingConfig", required: false, type: .structure), + AWSShapeMember(label: "RevisionId", required: false, type: .string), AWSShapeMember(label: "FunctionVersion", required: false, type: .string), AWSShapeMember(label: "AliasArn", required: false, type: .string), AWSShapeMember(label: "Name", required: false, type: .string), @@ -1310,6 +1350,8 @@ extension Lambda { ] /// 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. public let routingConfig: AliasRoutingConfiguration? + /// Represents the latest updated revision of the function or alias. + public let revisionId: String? /// Function version to which the alias points. public let functionVersion: String? /// 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. @@ -1319,8 +1361,9 @@ extension Lambda { /// Alias description. public let description: String? - public init(routingConfig: AliasRoutingConfiguration? = nil, functionVersion: String? = nil, aliasArn: String? = nil, name: String? = nil, description: String? = nil) { + public init(routingConfig: AliasRoutingConfiguration? = nil, revisionId: String? = nil, functionVersion: String? = nil, aliasArn: String? = nil, name: String? = nil, description: String? = nil) { self.routingConfig = routingConfig + self.revisionId = revisionId self.functionVersion = functionVersion self.aliasArn = aliasArn self.name = name @@ -1329,6 +1372,7 @@ extension Lambda { private enum CodingKeys: String, CodingKey { case routingConfig = "RoutingConfig" + case revisionId = "RevisionId" case functionVersion = "FunctionVersion" case aliasArn = "AliasArn" case name = "Name" @@ -1505,27 +1549,32 @@ extension Lambda { public struct PublishVersionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "RevisionId", required: false, type: .string), + AWSShapeMember(label: "FunctionName", location: .uri(locationName: "FunctionName"), required: true, type: .string), AWSShapeMember(label: "CodeSha256", required: false, type: .string), - AWSShapeMember(label: "FunctionName", location: .uri(locationName: "FunctionName"), required: true, type: .string) + AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The description for the version you are publishing. If not provided, AWS Lambda copies the description from the $LATEST version. - public let description: String? - /// 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. - public let codeSha256: String? + /// 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 . + public let revisionId: String? /// 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. public let functionName: String + /// 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. + public let codeSha256: String? + /// The description for the version you are publishing. If not provided, AWS Lambda copies the description from the $LATEST version. + public let description: String? - public init(description: String? = nil, codeSha256: String? = nil, functionName: String) { - self.description = description - self.codeSha256 = codeSha256 + public init(revisionId: String? = nil, functionName: String, codeSha256: String? = nil, description: String? = nil) { + self.revisionId = revisionId self.functionName = functionName + self.codeSha256 = codeSha256 + self.description = description } private enum CodingKeys: String, CodingKey { - case description = "Description" - case codeSha256 = "CodeSha256" + case revisionId = "RevisionId" case functionName = "FunctionName" + case codeSha256 = "CodeSha256" + case description = "Description" } } @@ -1537,10 +1586,10 @@ extension Lambda { AWSShapeMember(label: "Tags", required: false, type: .map) ] public let configuration: FunctionConfiguration? - /// The concurrent execution limit set for this function. + /// The concurrent execution limit set for this function. For more information, see concurrent-executions. public let concurrency: Concurrency? public let code: FunctionCodeLocation? - /// Returns the list of tags associated with the function. + /// Returns the list of tags associated with the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide. public let tags: [String: String]? public init(configuration: FunctionConfiguration? = nil, concurrency: Concurrency? = nil, code: FunctionCodeLocation? = nil, tags: [String: String]? = nil) { @@ -1629,7 +1678,7 @@ extension Lambda { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Resource", location: .uri(locationName: "ARN"), required: true, type: .string) ] - /// The ARN (Amazon Resource Name) of the function. + /// The ARN (Amazon Resource Name) of the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide. public let resource: String public init(resource: String) { @@ -1646,9 +1695,9 @@ extension Lambda { AWSShapeMember(label: "Resource", location: .uri(locationName: "ARN"), required: true, type: .string), AWSShapeMember(label: "TagKeys", location: .querystring(locationName: "tagKeys"), required: true, type: .list) ] - /// The ARN (Amazon Resource Name) of the function. + /// The ARN (Amazon Resource Name) of the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide. public let resource: String - /// The list of tag keys to be deleted from the function. + /// The list of tag keys to be deleted from the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide. public let tagKeys: [String] public init(resource: String, tagKeys: [String]) { diff --git a/Sources/AWSSDKSwift/Services/lex-models/LexModels_API.swift b/Sources/AWSSDKSwift/Services/lex-models/LexModels_API.swift index 24d0dce2f27..05cf31e7381 100644 --- a/Sources/AWSSDKSwift/Services/lex-models/LexModels_API.swift +++ b/Sources/AWSSDKSwift/Services/lex-models/LexModels_API.swift @@ -29,6 +29,11 @@ public struct LexModels { return try client.send(operation: "GetBotAlias", path: "/bots/{botName}/aliases/{name}", httpMethod: "GET", input: input) } + /// Gets information about an import job started with the StartImport operation. + public func getImport(_ input: GetImportRequest) throws -> GetImportResponse { + return try client.send(operation: "GetImport", path: "/imports/{importId}", httpMethod: "GET", input: input) + } + /// 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. public func getBuiltinSlotTypes(_ input: GetBuiltinSlotTypesRequest) throws -> GetBuiltinSlotTypesResponse { return try client.send(operation: "GetBuiltinSlotTypes", path: "/builtins/slottypes/", httpMethod: "GET", input: input) @@ -69,7 +74,7 @@ public struct LexModels { _ = try client.send(operation: "DeleteSlotTypeVersion", path: "/slottypes/{name}/version/{version}", httpMethod: "DELETE", input: input) } - /// 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. You can use this to add intents later, or to remove intents from an existing bot. When you create a bot with a name only, the bot is created or updated but Amazon Lex returns the response FAILED. You can build the bot after you add one or more intents. For more information about Amazon Lex bots, see how-it-works. If you specify the name of an existing bot, the fields in the request replace the existing values in the $LATEST version of the bot. Amazon Lex removes any fields that you don't provide values for in the request, except for the idleTTLInSeconds and privacySettings fields, which are set to their default values. If you don't specify values for required fields, Amazon Lex throws an exception. This operation requires permissions for the lex:PutBot action. For more information, see auth-and-access-control. + /// 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. public func putBot(_ input: PutBotRequest) throws -> PutBotResponse { return try client.send(operation: "PutBot", path: "/bots/{name}/versions/$LATEST", httpMethod: "PUT", input: input) } @@ -79,7 +84,7 @@ public struct LexModels { _ = try client.send(operation: "DeleteBot", path: "/bots/{name}", httpMethod: "DELETE", input: input) } - /// Deletes stored utterances. Amazon Lex stores the utterances that users send to your bot unless the childDirected field in the bot is set to true. Utterances are stored for 15 days for use with the GetUtterancesView operation, and then stored indefinately for use in improving the ability of your bot to respond to user input. Use the DeleteStoredUtterances operation to manually delete stored utterances for a specific user. This operation requires permissions for the lex:DeleteUtterances action. + /// 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. public func deleteUtterances(_ input: DeleteUtterancesRequest) throws { _ = try client.send(operation: "DeleteUtterances", path: "/bots/{botName}/utterances/{userId}", httpMethod: "DELETE", input: input) } @@ -89,7 +94,7 @@ public struct LexModels { return try client.send(operation: "GetBotChannelAssociations", path: "/bots/{botName}/aliases/{aliasName}/channels/", httpMethod: "GET", input: input) } - /// Creates a custom slot type or replaces an existing custom slot type. To create a custom slot type, specify a name for the slot type and a set of enumeration values, which are the values that a slot of this type can assume. For more information, see how-it-works. If you specify the name of an existing slot type, the fields in the request replace the existing values in the $LATEST version of the slot type. Amazon Lex removes the fields that you don't provide in the request. If you don't specify required fields, Amazon Lex throws an exception. This operation requires permissions for the lex:PutSlotType action. + /// 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. public func putSlotType(_ input: PutSlotTypeRequest) throws -> PutSlotTypeResponse { return try client.send(operation: "PutSlotType", path: "/slottypes/{name}/versions/$LATEST", httpMethod: "PUT", input: input) } @@ -104,7 +109,7 @@ public struct LexModels { return try client.send(operation: "GetExport", path: "/exports/", httpMethod: "GET", input: input) } - /// Creates an intent or replaces an existing intent. To define the interaction between the user and your bot, you use one or more intents. For a pizza ordering bot, for example, you would create an OrderPizza intent. To create an intent or replace an existing intent, you must provide the following: Intent name. For example, OrderPizza. Sample utterances. For example, "Can I order a pizza, please." and "I want to order a pizza." Information to be gathered. You specify slot types for the information that your bot will request from the user. You can specify standard slot types, such as a date or a time, or custom slot types such as the size and crust of a pizza. How the intent will be fulfilled. You can provide a Lambda function or configure the intent to return the intent information to the client application. If you use a Lambda function, when all of the intent information is available, Amazon Lex invokes your Lambda function. If you configure your intent to return the intent information to the client application. You can specify other optional information in the request, such as: A confirmation prompt to ask the user to confirm an intent. For example, "Shall I order your pizza?" A conclusion statement to send to the user after the intent has been fulfilled. For example, "I placed your pizza order." A follow-up prompt that asks the user for additional activity. For example, asking "Do you want to order a drink with your pizza?" If you specify an existing intent name to update the intent, Amazon Lex replaces the values in the $LATEST version of the slot type with the values in the request. Amazon Lex removes fields that you don't provide in the request. If you don't specify the required fields, Amazon Lex throws an exception. For more information, see how-it-works. This operation requires permissions for the lex:PutIntent action. + /// 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. public func putIntent(_ input: PutIntentRequest) throws -> PutIntentResponse { return try client.send(operation: "PutIntent", path: "/intents/{name}/versions/$LATEST", httpMethod: "PUT", input: input) } @@ -149,6 +154,11 @@ public struct LexModels { return try client.send(operation: "GetSlotType", path: "/slottypes/{name}/versions/{version}", httpMethod: "GET", input: input) } + /// Starts a job to import a resource to Amazon Lex. + public func startImport(_ input: StartImportRequest) throws -> StartImportResponse { + return try client.send(operation: "StartImport", path: "/imports/", httpMethod: "POST", input: input) + } + /// 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. public func getIntents(_ input: GetIntentsRequest) throws -> GetIntentsResponse { return try client.send(operation: "GetIntents", path: "/intents/", httpMethod: "GET", input: input) @@ -179,7 +189,7 @@ public struct LexModels { return try client.send(operation: "GetSlotTypeVersions", path: "/slottypes/{name}/versions/", httpMethod: "GET", input: input) } - /// Use the GetUtterancesView operation to get information about the utterances that your users have made to your bot. You can use this list to tune the utterances that your bot responds to. For example, say that you have created a bot to order flowers. After your users have used your bot for a while, use the GetUtterancesView operation to see the requests that they have made and whether they have been successful. You might find that the utterance "I want flowers" is not being recognized. You could add this utterance to the OrderFlowers intent so that your bot recognizes that utterance. After you publish a new version of a bot, you can get information about the old version and the new so that you can compare the performance across the two versions. Data is available for the last 15 days. You can request information for up to 5 versions in each request. The response contains information about a maximum of 100 utterances for each version. If the bot's childDirected field is set to true, utterances for the bot are not stored and cannot be retrieved with the GetUtterancesView operation. For more information, see PutBot. This operation requires permissions for the lex:GetUtterancesView action. + /// 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. public func getUtterancesView(_ input: GetUtterancesViewRequest) throws -> GetUtterancesViewResponse { return try client.send(operation: "GetUtterancesView", path: "/bots/{botname}/utterances?view=aggregation", httpMethod: "GET", input: input) } diff --git a/Sources/AWSSDKSwift/Services/lex-models/LexModels_Shapes.swift b/Sources/AWSSDKSwift/Services/lex-models/LexModels_Shapes.swift index 4078f09bfaf..ca6b3f5190b 100644 --- a/Sources/AWSSDKSwift/Services/lex-models/LexModels_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/lex-models/LexModels_Shapes.swift @@ -5,34 +5,64 @@ import AWSSDKSwiftCore extension LexModels { - public struct GetBotVersionsResponse: AWSShape { + public struct GetSlotTypeResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "bots", required: false, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "createdDate", required: false, type: .timestamp), + AWSShapeMember(label: "enumerationValues", required: false, type: .list), + AWSShapeMember(label: "valueSelectionStrategy", required: false, type: .enum), + AWSShapeMember(label: "checksum", required: false, type: .string), + AWSShapeMember(label: "version", required: false, type: .string), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "lastUpdatedDate", required: false, type: .timestamp) ] - /// An array of BotMetadata objects, one for each numbered version of the bot plus one for the $LATEST version. - public let bots: [BotMetadata]? - /// 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. - public let nextToken: String? + /// The name of the slot type. + public let name: String? + /// The date that the slot type was created. + public let createdDate: TimeStamp? + /// A list of EnumerationValue objects that defines the values that the slot type can take. + public let enumerationValues: [EnumerationValue]? + /// The strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType. + public let valueSelectionStrategy: SlotValueSelectionStrategy? + /// Checksum of the $LATEST version of the slot type. + public let checksum: String? + /// The version of the slot type. + public let version: String? + /// A description of the slot type. + public let description: String? + /// The date that the slot type was updated. When you create a resource, the creation date and last update date are the same. + public let lastUpdatedDate: TimeStamp? - public init(bots: [BotMetadata]? = nil, nextToken: String? = nil) { - self.bots = bots - self.nextToken = nextToken + public init(name: String? = nil, createdDate: TimeStamp? = nil, enumerationValues: [EnumerationValue]? = nil, valueSelectionStrategy: SlotValueSelectionStrategy? = nil, checksum: String? = nil, version: String? = nil, description: String? = nil, lastUpdatedDate: TimeStamp? = nil) { + self.name = name + self.createdDate = createdDate + self.enumerationValues = enumerationValues + self.valueSelectionStrategy = valueSelectionStrategy + self.checksum = checksum + self.version = version + self.description = description + self.lastUpdatedDate = lastUpdatedDate } private enum CodingKeys: String, CodingKey { - case bots = "bots" - case nextToken = "nextToken" + case name = "name" + case createdDate = "createdDate" + case enumerationValues = "enumerationValues" + case valueSelectionStrategy = "valueSelectionStrategy" + case checksum = "checksum" + case version = "version" + case description = "description" + case lastUpdatedDate = "lastUpdatedDate" } } public struct CreateBotVersionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string), - AWSShapeMember(label: "createdDate", required: false, type: .timestamp), AWSShapeMember(label: "clarificationPrompt", required: false, type: .structure), - AWSShapeMember(label: "description", required: false, type: .string), AWSShapeMember(label: "idleSessionTTLInSeconds", required: false, type: .integer), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "createdDate", required: false, type: .timestamp), AWSShapeMember(label: "checksum", required: false, type: .string), AWSShapeMember(label: "lastUpdatedDate", required: false, type: .timestamp), AWSShapeMember(label: "abortStatement", required: false, type: .structure), @@ -46,14 +76,14 @@ extension LexModels { ] /// The name of the bot. public let name: String? - /// The date when the bot version was created. - public let createdDate: TimeStamp? /// The message that Amazon Lex uses when it doesn't understand the user's request. For more information, see PutBot. public let clarificationPrompt: Prompt? - /// A description of the bot. - public let description: String? /// The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see PutBot. public let idleSessionTTLInSeconds: Int32? + /// A description of the bot. + public let description: String? + /// The date when the bot version was created. + public let createdDate: TimeStamp? /// Checksum identifying the version of the bot that was created. public let checksum: String? /// The date when the $LATEST version of this bot was updated. @@ -75,12 +105,12 @@ extension LexModels { /// If status is FAILED, Amazon Lex provides the reason that it failed to build the bot. public let failureReason: String? - public init(name: String? = nil, createdDate: TimeStamp? = nil, clarificationPrompt: Prompt? = nil, description: String? = nil, idleSessionTTLInSeconds: Int32? = nil, checksum: String? = nil, lastUpdatedDate: TimeStamp? = nil, abortStatement: Statement? = nil, locale: Locale? = nil, childDirected: Bool? = nil, status: Status? = nil, voiceId: String? = nil, version: String? = nil, intents: [Intent]? = nil, failureReason: String? = nil) { + public init(name: String? = nil, clarificationPrompt: Prompt? = nil, idleSessionTTLInSeconds: Int32? = nil, description: String? = nil, createdDate: TimeStamp? = nil, checksum: String? = nil, lastUpdatedDate: TimeStamp? = nil, abortStatement: Statement? = nil, locale: Locale? = nil, childDirected: Bool? = nil, status: Status? = nil, voiceId: String? = nil, version: String? = nil, intents: [Intent]? = nil, failureReason: String? = nil) { self.name = name - self.createdDate = createdDate self.clarificationPrompt = clarificationPrompt - self.description = description self.idleSessionTTLInSeconds = idleSessionTTLInSeconds + self.description = description + self.createdDate = createdDate self.checksum = checksum self.lastUpdatedDate = lastUpdatedDate self.abortStatement = abortStatement @@ -95,10 +125,10 @@ extension LexModels { private enum CodingKeys: String, CodingKey { case name = "name" - case createdDate = "createdDate" case clarificationPrompt = "clarificationPrompt" - case description = "description" case idleSessionTTLInSeconds = "idleSessionTTLInSeconds" + case description = "description" + case createdDate = "createdDate" case checksum = "checksum" case lastUpdatedDate = "lastUpdatedDate" case abortStatement = "abortStatement" @@ -112,54 +142,40 @@ extension LexModels { } } - public struct GetSlotTypeResponse: AWSShape { + public struct GetImportRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "name", required: false, type: .string), - AWSShapeMember(label: "createdDate", required: false, type: .timestamp), - AWSShapeMember(label: "enumerationValues", required: false, type: .list), - AWSShapeMember(label: "valueSelectionStrategy", required: false, type: .enum), - AWSShapeMember(label: "checksum", required: false, type: .string), - AWSShapeMember(label: "version", required: false, type: .string), - AWSShapeMember(label: "description", required: false, type: .string), - AWSShapeMember(label: "lastUpdatedDate", required: false, type: .timestamp) + AWSShapeMember(label: "importId", location: .uri(locationName: "importId"), required: true, type: .string) ] - /// The name of the slot type. - public let name: String? - /// The date that the slot type was created. - public let createdDate: TimeStamp? - /// A list of EnumerationValue objects that defines the values that the slot type can take. - public let enumerationValues: [EnumerationValue]? - /// The strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType. - public let valueSelectionStrategy: SlotValueSelectionStrategy? - /// Checksum of the $LATEST version of the slot type. - public let checksum: String? - /// The version of the slot type. - public let version: String? - /// A description of the slot type. - public let description: String? - /// The date that the slot type was updated. When you create a resource, the creation date and last update date are the same. - public let lastUpdatedDate: TimeStamp? + /// The identifier of the import job information to return. + public let importId: String - public init(name: String? = nil, createdDate: TimeStamp? = nil, enumerationValues: [EnumerationValue]? = nil, valueSelectionStrategy: SlotValueSelectionStrategy? = nil, checksum: String? = nil, version: String? = nil, description: String? = nil, lastUpdatedDate: TimeStamp? = nil) { - self.name = name - self.createdDate = createdDate - self.enumerationValues = enumerationValues - self.valueSelectionStrategy = valueSelectionStrategy - self.checksum = checksum - self.version = version - self.description = description - self.lastUpdatedDate = lastUpdatedDate + public init(importId: String) { + self.importId = importId } private enum CodingKeys: String, CodingKey { - case name = "name" - case createdDate = "createdDate" - case enumerationValues = "enumerationValues" - case valueSelectionStrategy = "valueSelectionStrategy" - case checksum = "checksum" - case version = "version" - case description = "description" - case lastUpdatedDate = "lastUpdatedDate" + case importId = "importId" + } + } + + public struct GetBotVersionsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "bots", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// An array of BotMetadata objects, one for each numbered version of the bot plus one for the $LATEST version. + public let bots: [BotMetadata]? + /// 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. + public let nextToken: String? + + public init(bots: [BotMetadata]? = nil, nextToken: String? = nil) { + self.bots = bots + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case bots = "bots" + case nextToken = "nextToken" } } @@ -210,6 +226,52 @@ extension LexModels { } } + public struct GetImportResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "importStatus", required: false, type: .enum), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "resourceType", required: false, type: .enum), + AWSShapeMember(label: "importId", required: false, type: .string), + AWSShapeMember(label: "createdDate", required: false, type: .timestamp), + AWSShapeMember(label: "mergeStrategy", required: false, type: .enum), + AWSShapeMember(label: "failureReason", required: false, type: .list) + ] + /// The status of the import job. If the status is FAILED, you can get the reason for the failure from the failureReason field. + public let importStatus: ImportStatus? + /// The name given to the import job. + public let name: String? + /// The type of resource imported. + public let resourceType: ResourceType? + /// The identifier for the specific import job. + public let importId: String? + /// A timestamp for the date and time that the import job was created. + public let createdDate: TimeStamp? + /// The action taken when there was a conflict between an existing resource and a resource in the import file. + public let mergeStrategy: MergeStrategy? + /// A string that describes why an import job failed to complete. + public let failureReason: [String]? + + public init(importStatus: ImportStatus? = nil, name: String? = nil, resourceType: ResourceType? = nil, importId: String? = nil, createdDate: TimeStamp? = nil, mergeStrategy: MergeStrategy? = nil, failureReason: [String]? = nil) { + self.importStatus = importStatus + self.name = name + self.resourceType = resourceType + self.importId = importId + self.createdDate = createdDate + self.mergeStrategy = mergeStrategy + self.failureReason = failureReason + } + + private enum CodingKeys: String, CodingKey { + case importStatus = "importStatus" + case name = "name" + case resourceType = "resourceType" + case importId = "importId" + case createdDate = "createdDate" + case mergeStrategy = "mergeStrategy" + case failureReason = "failureReason" + } + } + public struct DeleteIntentVersionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), @@ -237,6 +299,29 @@ extension LexModels { public var description: String { return self.rawValue } } + public struct DeleteSlotTypeRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string) + ] + /// The name of the slot type. The name is case sensitive. + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + } + } + + public enum ChannelStatus: String, CustomStringConvertible, Codable { + case inProgress = "IN_PROGRESS" + case created = "CREATED" + case failed = "FAILED" + public var description: String { return self.rawValue } + } + public struct GetIntentResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string), @@ -323,76 +408,45 @@ extension LexModels { } } - public struct DeleteSlotTypeRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string) - ] - /// The name of the slot type. The name is case sensitive. - public let name: String - - public init(name: String) { - self.name = name - } - - private enum CodingKeys: String, CodingKey { - case name = "name" - } - } - - public struct BotMetadata: AWSShape { + public struct GetUtterancesViewResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "description", required: false, type: .string), - AWSShapeMember(label: "status", required: false, type: .enum), - AWSShapeMember(label: "version", required: false, type: .string), - AWSShapeMember(label: "name", required: false, type: .string), - AWSShapeMember(label: "lastUpdatedDate", required: false, type: .timestamp), - AWSShapeMember(label: "createdDate", required: false, type: .timestamp) + AWSShapeMember(label: "utterances", required: false, type: .list), + AWSShapeMember(label: "botName", required: false, type: .string) ] - /// A description of the bot. - public let description: String? - /// The status of the bot. - public let status: Status? - /// The version of the bot. For a new bot, the version is always $LATEST. - public let version: String? - /// The name of the bot. - public let name: String? - /// The date that the bot was updated. When you create a bot, the creation date and last updated date are the same. - public let lastUpdatedDate: TimeStamp? - /// The date that the bot was created. - public let createdDate: TimeStamp? + /// 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. + public let utterances: [UtteranceList]? + /// The name of the bot for which utterance information was returned. + public let botName: String? - public init(description: String? = nil, status: Status? = nil, version: String? = nil, name: String? = nil, lastUpdatedDate: TimeStamp? = nil, createdDate: TimeStamp? = nil) { - self.description = description - self.status = status - self.version = version - self.name = name - self.lastUpdatedDate = lastUpdatedDate - self.createdDate = createdDate + public init(utterances: [UtteranceList]? = nil, botName: String? = nil) { + self.utterances = utterances + self.botName = botName } private enum CodingKeys: String, CodingKey { - case description = "description" - case status = "status" - case version = "version" - case name = "name" - case lastUpdatedDate = "lastUpdatedDate" - case createdDate = "createdDate" + case utterances = "utterances" + case botName = "botName" } } - public struct GetBuiltinIntentRequest: AWSShape { + public struct GetIntentsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "signature", location: .uri(locationName: "signature"), required: true, type: .string) + AWSShapeMember(label: "intents", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) ] - /// 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. - public let signature: String + /// An array of Intent objects. For more information, see PutBot. + public let intents: [IntentMetadata]? + /// 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. + public let nextToken: String? - public init(signature: String) { - self.signature = signature + public init(intents: [IntentMetadata]? = nil, nextToken: String? = nil) { + self.intents = intents + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case signature = "signature" + case intents = "intents" + case nextToken = "nextToken" } } @@ -452,66 +506,86 @@ extension LexModels { } } - public struct GetUtterancesViewResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "utterances", required: false, type: .list), - AWSShapeMember(label: "botName", required: false, type: .string) - ] - /// 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. - public let utterances: [UtteranceList]? - /// The name of the bot for which utterance information was returned. - public let botName: String? - - public init(utterances: [UtteranceList]? = nil, botName: String? = nil) { - self.utterances = utterances - self.botName = botName - } - - private enum CodingKeys: String, CodingKey { - case utterances = "utterances" - case botName = "botName" - } - } - - public struct GetIntentsResponse: AWSShape { + public struct GetBuiltinIntentRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "intents", required: false, type: .list), - AWSShapeMember(label: "nextToken", required: false, type: .string) + AWSShapeMember(label: "signature", location: .uri(locationName: "signature"), required: true, type: .string) ] - /// An array of Intent objects. For more information, see PutBot. - public let intents: [IntentMetadata]? - /// 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. - public let nextToken: String? + /// 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. + public let signature: String - public init(intents: [IntentMetadata]? = nil, nextToken: String? = nil) { - self.intents = intents - self.nextToken = nextToken + public init(signature: String) { + self.signature = signature } private enum CodingKeys: String, CodingKey { - case intents = "intents" - case nextToken = "nextToken" + case signature = "signature" } } public struct Message: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "content", required: true, type: .string), - AWSShapeMember(label: "contentType", required: true, type: .enum) + AWSShapeMember(label: "contentType", required: true, type: .enum), + AWSShapeMember(label: "groupNumber", required: false, type: .integer) ] /// The text of the message. public let content: String /// The content type of the message string. public let contentType: ContentType + /// 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. + public let groupNumber: Int32? - public init(content: String, contentType: ContentType) { + public init(content: String, contentType: ContentType, groupNumber: Int32? = nil) { self.content = content self.contentType = contentType + self.groupNumber = groupNumber } private enum CodingKeys: String, CodingKey { case content = "content" case contentType = "contentType" + case groupNumber = "groupNumber" + } + } + + public struct BotMetadata: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "status", required: false, type: .enum), + AWSShapeMember(label: "version", required: false, type: .string), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "lastUpdatedDate", required: false, type: .timestamp), + AWSShapeMember(label: "createdDate", required: false, type: .timestamp) + ] + /// A description of the bot. + public let description: String? + /// The status of the bot. + public let status: Status? + /// The version of the bot. For a new bot, the version is always $LATEST. + public let version: String? + /// The name of the bot. + public let name: String? + /// The date that the bot was updated. When you create a bot, the creation date and last updated date are the same. + public let lastUpdatedDate: TimeStamp? + /// The date that the bot was created. + public let createdDate: TimeStamp? + + public init(description: String? = nil, status: Status? = nil, version: String? = nil, name: String? = nil, lastUpdatedDate: TimeStamp? = nil, createdDate: TimeStamp? = nil) { + self.description = description + self.status = status + self.version = version + self.name = name + self.lastUpdatedDate = lastUpdatedDate + self.createdDate = createdDate + } + + private enum CodingKeys: String, CodingKey { + case description = "description" + case status = "status" + case version = "version" + case name = "name" + case lastUpdatedDate = "lastUpdatedDate" + case createdDate = "createdDate" } } @@ -541,6 +615,27 @@ extension LexModels { } } + public struct BuiltinSlotTypeMetadata: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "supportedLocales", required: false, type: .list), + AWSShapeMember(label: "signature", required: false, type: .string) + ] + /// A list of target locales for the slot. + public let supportedLocales: [Locale]? + /// 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. + public let signature: String? + + public init(supportedLocales: [Locale]? = nil, signature: String? = nil) { + self.supportedLocales = supportedLocales + self.signature = signature + } + + private enum CodingKeys: String, CodingKey { + case supportedLocales = "supportedLocales" + case signature = "signature" + } + } + public struct GetSlotTypeVersionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), @@ -588,27 +683,6 @@ extension LexModels { } } - public struct BuiltinSlotTypeMetadata: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "supportedLocales", required: false, type: .list), - AWSShapeMember(label: "signature", required: false, type: .string) - ] - /// A list of target locales for the slot. - public let supportedLocales: [Locale]? - /// 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. - public let signature: String? - - public init(supportedLocales: [Locale]? = nil, signature: String? = nil) { - self.supportedLocales = supportedLocales - self.signature = signature - } - - private enum CodingKeys: String, CodingKey { - case supportedLocales = "supportedLocales" - case signature = "signature" - } - } - public struct GetBotVersionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), @@ -656,33 +730,40 @@ extension LexModels { } } + public enum ImportStatus: String, CustomStringConvertible, Codable { + case inProgress = "IN_PROGRESS" + case complete = "COMPLETE" + case failed = "FAILED" + public var description: String { return self.rawValue } + } + public struct GetBuiltinIntentsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "signatureContains", location: .querystring(locationName: "signatureContains"), required: false, type: .string), - AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), AWSShapeMember(label: "locale", location: .querystring(locationName: "locale"), required: false, type: .enum) ] /// 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. public let signatureContains: String? - /// The maximum number of intents to return in the response. The default is 10. - public let maxResults: Int32? /// 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. public let nextToken: String? + /// The maximum number of intents to return in the response. The default is 10. + public let maxResults: Int32? /// A list of locales that the intent supports. public let locale: Locale? - public init(signatureContains: String? = nil, maxResults: Int32? = nil, nextToken: String? = nil, locale: Locale? = nil) { + public init(signatureContains: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil, locale: Locale? = nil) { self.signatureContains = signatureContains - self.maxResults = maxResults self.nextToken = nextToken + self.maxResults = maxResults self.locale = locale } private enum CodingKeys: String, CodingKey { case signatureContains = "signatureContains" - case maxResults = "maxResults" case nextToken = "nextToken" + case maxResults = "maxResults" case locale = "locale" } } @@ -715,6 +796,8 @@ extension LexModels { public enum ResourceType: String, CustomStringConvertible, Codable { case bot = "BOT" + case intent = "INTENT" + case slotType = "SLOT_TYPE" public var description: String { return self.rawValue } } @@ -728,66 +811,18 @@ extension LexModels { public let supportedLocales: [Locale]? /// An array of BuiltinIntentSlot objects, one entry for each slot type in the intent. public let slots: [BuiltinIntentSlot]? - /// The unique identifier for a built-in intent. - public let signature: String? - - public init(supportedLocales: [Locale]? = nil, slots: [BuiltinIntentSlot]? = nil, signature: String? = nil) { - self.supportedLocales = supportedLocales - self.slots = slots - self.signature = signature - } - - private enum CodingKeys: String, CodingKey { - case supportedLocales = "supportedLocales" - case slots = "slots" - case signature = "signature" - } - } - - public struct GetBotAliasRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), - AWSShapeMember(label: "botName", location: .uri(locationName: "botName"), required: true, type: .string) - ] - /// The name of the bot alias. The name is case sensitive. - public let name: String - /// The name of the bot. - public let botName: String - - public init(name: String, botName: String) { - self.name = name - self.botName = botName - } - - private enum CodingKeys: String, CodingKey { - case name = "name" - case botName = "botName" - } - } - - public enum ProcessBehavior: String, CustomStringConvertible, Codable { - case save = "SAVE" - case build = "BUILD" - public var description: String { return self.rawValue } - } - - public struct BuiltinIntentMetadata: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "supportedLocales", required: false, type: .list), - AWSShapeMember(label: "signature", required: false, type: .string) - ] - /// A list of identifiers for the locales that the intent supports. - public let supportedLocales: [Locale]? - /// 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. + /// The unique identifier for a built-in intent. public let signature: String? - public init(supportedLocales: [Locale]? = nil, signature: String? = nil) { + public init(supportedLocales: [Locale]? = nil, slots: [BuiltinIntentSlot]? = nil, signature: String? = nil) { self.supportedLocales = supportedLocales + self.slots = slots self.signature = signature } private enum CodingKeys: String, CodingKey { case supportedLocales = "supportedLocales" + case slots = "slots" case signature = "signature" } } @@ -838,6 +873,33 @@ extension LexModels { } } + public enum ProcessBehavior: String, CustomStringConvertible, Codable { + case save = "SAVE" + case build = "BUILD" + public var description: String { return self.rawValue } + } + + public struct GetBotAliasRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "botName", location: .uri(locationName: "botName"), required: true, type: .string) + ] + /// The name of the bot alias. The name is case sensitive. + public let name: String + /// The name of the bot. + public let botName: String + + public init(name: String, botName: String) { + self.name = name + self.botName = botName + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case botName = "botName" + } + } + public struct GetSlotTypesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "slotTypes", required: false, type: .list), @@ -859,6 +921,33 @@ extension LexModels { } } + public enum MergeStrategy: String, CustomStringConvertible, Codable { + case overwriteLatest = "OVERWRITE_LATEST" + case failOnConflict = "FAIL_ON_CONFLICT" + public var description: String { return self.rawValue } + } + + public struct BuiltinIntentMetadata: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "supportedLocales", required: false, type: .list), + AWSShapeMember(label: "signature", required: false, type: .string) + ] + /// A list of identifiers for the locales that the intent supports. + public let supportedLocales: [Locale]? + /// 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. + public let signature: String? + + public init(supportedLocales: [Locale]? = nil, signature: String? = nil) { + self.supportedLocales = supportedLocales + self.signature = signature + } + + private enum CodingKeys: String, CodingKey { + case supportedLocales = "supportedLocales" + case signature = "signature" + } + } + public struct PutIntentResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string), @@ -870,6 +959,7 @@ extension LexModels { AWSShapeMember(label: "checksum", required: false, type: .string), AWSShapeMember(label: "lastUpdatedDate", required: false, type: .timestamp), AWSShapeMember(label: "confirmationPrompt", required: false, type: .structure), + AWSShapeMember(label: "createVersion", required: false, type: .boolean), AWSShapeMember(label: "sampleUtterances", required: false, type: .list), AWSShapeMember(label: "rejectionStatement", required: false, type: .structure), AWSShapeMember(label: "conclusionStatement", required: false, type: .structure), @@ -895,6 +985,7 @@ extension LexModels { public let lastUpdatedDate: TimeStamp? /// If defined in the intent, Amazon Lex prompts the user to confirm the intent before fulfilling it. public let confirmationPrompt: Prompt? + public let createVersion: Bool? /// An array of sample utterances that are configured for the intent. public let sampleUtterances: [String]? /// If the user answers "no" to the question defined in confirmationPrompt Amazon Lex responds with this statement to acknowledge that the intent was canceled. @@ -908,7 +999,7 @@ extension LexModels { /// An array of intent slots that are configured for the intent. public let slots: [Slot]? - public init(name: String? = nil, fulfillmentActivity: FulfillmentActivity? = nil, createdDate: TimeStamp? = nil, followUpPrompt: FollowUpPrompt? = nil, description: String? = nil, dialogCodeHook: CodeHook? = nil, checksum: String? = nil, lastUpdatedDate: TimeStamp? = nil, confirmationPrompt: Prompt? = nil, sampleUtterances: [String]? = nil, rejectionStatement: Statement? = nil, conclusionStatement: Statement? = nil, parentIntentSignature: String? = nil, version: String? = nil, slots: [Slot]? = nil) { + public init(name: String? = nil, fulfillmentActivity: FulfillmentActivity? = nil, createdDate: TimeStamp? = nil, followUpPrompt: FollowUpPrompt? = nil, description: String? = nil, dialogCodeHook: CodeHook? = nil, checksum: String? = nil, lastUpdatedDate: TimeStamp? = nil, confirmationPrompt: Prompt? = nil, createVersion: Bool? = nil, sampleUtterances: [String]? = nil, rejectionStatement: Statement? = nil, conclusionStatement: Statement? = nil, parentIntentSignature: String? = nil, version: String? = nil, slots: [Slot]? = nil) { self.name = name self.fulfillmentActivity = fulfillmentActivity self.createdDate = createdDate @@ -918,6 +1009,7 @@ extension LexModels { self.checksum = checksum self.lastUpdatedDate = lastUpdatedDate self.confirmationPrompt = confirmationPrompt + self.createVersion = createVersion self.sampleUtterances = sampleUtterances self.rejectionStatement = rejectionStatement self.conclusionStatement = conclusionStatement @@ -936,6 +1028,7 @@ extension LexModels { case checksum = "checksum" case lastUpdatedDate = "lastUpdatedDate" case confirmationPrompt = "confirmationPrompt" + case createVersion = "createVersion" case sampleUtterances = "sampleUtterances" case rejectionStatement = "rejectionStatement" case conclusionStatement = "conclusionStatement" @@ -945,8 +1038,72 @@ extension LexModels { } } + public struct StartImportResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "importStatus", required: false, type: .enum), + AWSShapeMember(label: "name", required: false, type: .string), + AWSShapeMember(label: "mergeStrategy", required: false, type: .enum), + AWSShapeMember(label: "resourceType", required: false, type: .enum), + AWSShapeMember(label: "createdDate", required: false, type: .timestamp), + AWSShapeMember(label: "importId", required: false, type: .string) + ] + /// The status of the import job. If the status is FAILED, you can get the reason for the failure using the GetImport operation. + public let importStatus: ImportStatus? + /// The name given to the import job. + public let name: String? + /// The action to take when there is a merge conflict. + public let mergeStrategy: MergeStrategy? + /// The type of resource to import. + public let resourceType: ResourceType? + /// A timestamp for the date and time that the import job was requested. + public let createdDate: TimeStamp? + /// The identifier for the specific import job. + public let importId: String? + + public init(importStatus: ImportStatus? = nil, name: String? = nil, mergeStrategy: MergeStrategy? = nil, resourceType: ResourceType? = nil, createdDate: TimeStamp? = nil, importId: String? = nil) { + self.importStatus = importStatus + self.name = name + self.mergeStrategy = mergeStrategy + self.resourceType = resourceType + self.createdDate = createdDate + self.importId = importId + } + + private enum CodingKeys: String, CodingKey { + case importStatus = "importStatus" + case name = "name" + case mergeStrategy = "mergeStrategy" + case resourceType = "resourceType" + case createdDate = "createdDate" + case importId = "importId" + } + } + + public struct CreateSlotTypeVersionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "checksum", required: false, type: .string) + ] + /// The name of the slot type that you want to create a new version for. The name is case sensitive. + public let name: String + /// 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. + public let checksum: String? + + public init(name: String, checksum: String? = nil) { + self.name = name + self.checksum = checksum + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case checksum = "checksum" + } + } + public struct GetBotChannelAssociationResponse: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "failureReason", required: false, type: .string), + AWSShapeMember(label: "status", required: false, type: .enum), AWSShapeMember(label: "botAlias", required: false, type: .string), AWSShapeMember(label: "name", required: false, type: .string), AWSShapeMember(label: "botConfiguration", required: false, type: .map), @@ -955,6 +1112,10 @@ extension LexModels { AWSShapeMember(label: "type", required: false, type: .enum), AWSShapeMember(label: "botName", required: false, type: .string) ] + /// If status is FAILED, Amazon Lex provides the reason that it failed to create the association. + public let failureReason: String? + /// 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. + public let status: ChannelStatus? /// An alias pointing to the specific version of the Amazon Lex bot to which this association is being made. public let botAlias: String? /// The name of the association between the bot and the channel. @@ -970,7 +1131,9 @@ extension LexModels { /// The name of the Amazon Lex bot. public let botName: String? - public init(botAlias: String? = nil, name: String? = nil, botConfiguration: [String: String]? = nil, createdDate: TimeStamp? = nil, description: String? = nil, type: ChannelType? = nil, botName: String? = nil) { + public init(failureReason: String? = nil, status: ChannelStatus? = nil, botAlias: String? = nil, name: String? = nil, botConfiguration: [String: String]? = nil, createdDate: TimeStamp? = nil, description: String? = nil, type: ChannelType? = nil, botName: String? = nil) { + self.failureReason = failureReason + self.status = status self.botAlias = botAlias self.name = name self.botConfiguration = botConfiguration @@ -981,6 +1144,8 @@ extension LexModels { } private enum CodingKeys: String, CodingKey { + case failureReason = "failureReason" + case status = "status" case botAlias = "botAlias" case name = "name" case botConfiguration = "botConfiguration" @@ -991,55 +1156,61 @@ extension LexModels { } } - public struct GetBotRequest: AWSShape { + public enum ChannelType: String, CustomStringConvertible, Codable { + case facebook = "Facebook" + case slack = "Slack" + case twilioSms = "Twilio-Sms" + case kik = "Kik" + public var description: String { return self.rawValue } + } + + public struct StartImportRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), - AWSShapeMember(label: "versionOrAlias", location: .uri(locationName: "versionoralias"), required: true, type: .string) + AWSShapeMember(label: "payload", required: true, type: .blob), + AWSShapeMember(label: "mergeStrategy", required: true, type: .enum), + AWSShapeMember(label: "resourceType", required: true, type: .enum) ] - /// The name of the bot. The name is case sensitive. - public let name: String - /// The version or alias of the bot. - public let versionOrAlias: String + /// 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. + public let payload: Data + /// 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. + public let mergeStrategy: MergeStrategy + /// 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. + public let resourceType: ResourceType - public init(name: String, versionOrAlias: String) { - self.name = name - self.versionOrAlias = versionOrAlias + public init(payload: Data, mergeStrategy: MergeStrategy, resourceType: ResourceType) { + self.payload = payload + self.mergeStrategy = mergeStrategy + self.resourceType = resourceType } private enum CodingKeys: String, CodingKey { - case name = "name" - case versionOrAlias = "versionoralias" + case payload = "payload" + case mergeStrategy = "mergeStrategy" + case resourceType = "resourceType" } } - public struct CreateSlotTypeVersionRequest: AWSShape { + public struct GetBotRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), - AWSShapeMember(label: "checksum", required: false, type: .string) + AWSShapeMember(label: "versionOrAlias", location: .uri(locationName: "versionoralias"), required: true, type: .string) ] - /// The name of the slot type that you want to create a new version for. The name is case sensitive. + /// The name of the bot. The name is case sensitive. public let name: String - /// 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. - public let checksum: String? + /// The version or alias of the bot. + public let versionOrAlias: String - public init(name: String, checksum: String? = nil) { + public init(name: String, versionOrAlias: String) { self.name = name - self.checksum = checksum + self.versionOrAlias = versionOrAlias } private enum CodingKeys: String, CodingKey { case name = "name" - case checksum = "checksum" + case versionOrAlias = "versionoralias" } } - public enum ChannelType: String, CustomStringConvertible, Codable { - case facebook = "Facebook" - case slack = "Slack" - case twilioSms = "Twilio-Sms" - public var description: String { return self.rawValue } - } - public struct DeleteSlotTypeVersionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), @@ -1082,37 +1253,6 @@ extension LexModels { } } - public struct GetBotAliasesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), - AWSShapeMember(label: "nameContains", location: .querystring(locationName: "nameContains"), required: false, type: .string), - AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "botName", location: .uri(locationName: "botName"), required: true, type: .string) - ] - /// The maximum number of aliases to return in the response. The default is 50. . - public let maxResults: Int32? - /// 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." - public let nameContains: String? - /// 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. - public let nextToken: String? - /// The name of the bot. - public let botName: String - - public init(maxResults: Int32? = nil, nameContains: String? = nil, nextToken: String? = nil, botName: String) { - self.maxResults = maxResults - self.nameContains = nameContains - self.nextToken = nextToken - self.botName = botName - } - - private enum CodingKeys: String, CodingKey { - case maxResults = "maxResults" - case nameContains = "nameContains" - case nextToken = "nextToken" - case botName = "botName" - } - } - public struct GetIntentVersionsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "intents", required: false, type: .list), @@ -1134,6 +1274,12 @@ extension LexModels { } } + public enum StatusType: String, CustomStringConvertible, Codable { + case detected = "Detected" + case missed = "Missed" + public var description: String { return self.rawValue } + } + public struct IntentMetadata: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "description", required: false, type: .string), @@ -1170,19 +1316,44 @@ extension LexModels { } } - public enum StatusType: String, CustomStringConvertible, Codable { - case detected = "Detected" - case missed = "Missed" - public var description: String { return self.rawValue } + public struct GetBotAliasesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nameContains", location: .querystring(locationName: "nameContains"), required: false, type: .string), + AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), + AWSShapeMember(label: "botName", location: .uri(locationName: "botName"), required: true, type: .string) + ] + /// 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." + public let nameContains: String? + /// 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. + public let nextToken: String? + /// The maximum number of aliases to return in the response. The default is 50. . + public let maxResults: Int32? + /// The name of the bot. + public let botName: String + + public init(nameContains: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil, botName: String) { + self.nameContains = nameContains + self.nextToken = nextToken + self.maxResults = maxResults + self.botName = botName + } + + private enum CodingKeys: String, CodingKey { + case nameContains = "nameContains" + case nextToken = "nextToken" + case maxResults = "maxResults" + case botName = "botName" + } } public struct GetBotResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string), - AWSShapeMember(label: "createdDate", required: false, type: .timestamp), AWSShapeMember(label: "clarificationPrompt", required: false, type: .structure), - AWSShapeMember(label: "description", required: false, type: .string), AWSShapeMember(label: "idleSessionTTLInSeconds", required: false, type: .integer), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "createdDate", required: false, type: .timestamp), AWSShapeMember(label: "checksum", required: false, type: .string), AWSShapeMember(label: "lastUpdatedDate", required: false, type: .timestamp), AWSShapeMember(label: "abortStatement", required: false, type: .structure), @@ -1196,14 +1367,14 @@ extension LexModels { ] /// The name of the bot. public let name: String? - /// The date that the bot was created. - public let createdDate: TimeStamp? /// The message Amazon Lex uses when it doesn't understand the user's request. For more information, see PutBot. public let clarificationPrompt: Prompt? - /// A description of the bot. - public let description: String? /// The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see PutBot. public let idleSessionTTLInSeconds: Int32? + /// A description of the bot. + public let description: String? + /// The date that the bot was created. + public let createdDate: TimeStamp? /// Checksum of the bot used to identify a specific revision of the bot's $LATEST version. public let checksum: String? /// The date that the bot was updated. When you create a resource, the creation date and last updated date are the same. @@ -1225,12 +1396,12 @@ extension LexModels { /// If status is FAILED, Amazon Lex explains why it failed to build the bot. public let failureReason: String? - public init(name: String? = nil, createdDate: TimeStamp? = nil, clarificationPrompt: Prompt? = nil, description: String? = nil, idleSessionTTLInSeconds: Int32? = nil, checksum: String? = nil, lastUpdatedDate: TimeStamp? = nil, abortStatement: Statement? = nil, locale: Locale? = nil, childDirected: Bool? = nil, status: Status? = nil, voiceId: String? = nil, version: String? = nil, intents: [Intent]? = nil, failureReason: String? = nil) { + public init(name: String? = nil, clarificationPrompt: Prompt? = nil, idleSessionTTLInSeconds: Int32? = nil, description: String? = nil, createdDate: TimeStamp? = nil, checksum: String? = nil, lastUpdatedDate: TimeStamp? = nil, abortStatement: Statement? = nil, locale: Locale? = nil, childDirected: Bool? = nil, status: Status? = nil, voiceId: String? = nil, version: String? = nil, intents: [Intent]? = nil, failureReason: String? = nil) { self.name = name - self.createdDate = createdDate self.clarificationPrompt = clarificationPrompt - self.description = description self.idleSessionTTLInSeconds = idleSessionTTLInSeconds + self.description = description + self.createdDate = createdDate self.checksum = checksum self.lastUpdatedDate = lastUpdatedDate self.abortStatement = abortStatement @@ -1245,10 +1416,10 @@ extension LexModels { private enum CodingKeys: String, CodingKey { case name = "name" - case createdDate = "createdDate" case clarificationPrompt = "clarificationPrompt" - case description = "description" case idleSessionTTLInSeconds = "idleSessionTTLInSeconds" + case description = "description" + case createdDate = "createdDate" case checksum = "checksum" case lastUpdatedDate = "lastUpdatedDate" case abortStatement = "abortStatement" @@ -1544,6 +1715,13 @@ extension LexModels { } } + public enum Locale: String, CustomStringConvertible, Codable { + case enUs = "en-US" + case enGb = "en-GB" + case deDe = "de-DE" + public var description: String { return self.rawValue } + } + public enum Status: String, CustomStringConvertible, Codable { case building = "BUILDING" case ready = "READY" @@ -1552,11 +1730,6 @@ extension LexModels { public var description: String { return self.rawValue } } - public enum Locale: String, CustomStringConvertible, Codable { - case enUs = "en-US" - public var description: String { return self.rawValue } - } - public struct PutBotAliasRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "description", required: false, type: .string), @@ -1594,73 +1767,77 @@ extension LexModels { } public struct PutIntentRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "rejectionStatement", required: false, type: .structure), - AWSShapeMember(label: "fulfillmentActivity", required: false, type: .structure), - AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), - AWSShapeMember(label: "conclusionStatement", required: false, type: .structure), - AWSShapeMember(label: "dialogCodeHook", required: false, type: .structure), - AWSShapeMember(label: "description", required: false, type: .string), - AWSShapeMember(label: "parentIntentSignature", required: false, type: .string), + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "fulfillmentActivity", required: false, type: .structure), AWSShapeMember(label: "followUpPrompt", required: false, type: .structure), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "dialogCodeHook", required: false, type: .structure), AWSShapeMember(label: "checksum", required: false, type: .string), + AWSShapeMember(label: "createVersion", required: false, type: .boolean), AWSShapeMember(label: "confirmationPrompt", required: false, type: .structure), - AWSShapeMember(label: "slots", required: false, type: .list), - AWSShapeMember(label: "sampleUtterances", required: false, type: .list) + AWSShapeMember(label: "sampleUtterances", required: false, type: .list), + AWSShapeMember(label: "rejectionStatement", required: false, type: .structure), + AWSShapeMember(label: "conclusionStatement", required: false, type: .structure), + AWSShapeMember(label: "parentIntentSignature", required: false, type: .string), + AWSShapeMember(label: "slots", required: false, type: .list) ] - /// 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. - public let rejectionStatement: Statement? - /// 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). - public let fulfillmentActivity: FulfillmentActivity? /// 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. public let name: String - /// 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. - public let conclusionStatement: Statement? - /// 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. - public let dialogCodeHook: CodeHook? - /// A description of the intent. - public let description: String? - /// 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. - public let parentIntentSignature: String? + /// 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). + public let fulfillmentActivity: FulfillmentActivity? /// 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. public let followUpPrompt: FollowUpPrompt? + /// A description of the intent. + public let description: String? + /// 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. + public let dialogCodeHook: CodeHook? /// 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. public let checksum: String? + public let createVersion: Bool? /// 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. public let confirmationPrompt: Prompt? - /// 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. - public let slots: [Slot]? /// 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. public let sampleUtterances: [String]? + /// 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. + public let rejectionStatement: Statement? + /// 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. + public let conclusionStatement: Statement? + /// 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. + public let parentIntentSignature: String? + /// 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. + public let slots: [Slot]? - public init(rejectionStatement: Statement? = nil, fulfillmentActivity: FulfillmentActivity? = nil, name: String, conclusionStatement: Statement? = nil, dialogCodeHook: CodeHook? = nil, description: String? = nil, parentIntentSignature: String? = nil, followUpPrompt: FollowUpPrompt? = nil, checksum: String? = nil, confirmationPrompt: Prompt? = nil, slots: [Slot]? = nil, sampleUtterances: [String]? = nil) { - self.rejectionStatement = rejectionStatement - self.fulfillmentActivity = fulfillmentActivity + public init(name: String, fulfillmentActivity: FulfillmentActivity? = nil, followUpPrompt: FollowUpPrompt? = nil, description: String? = nil, dialogCodeHook: CodeHook? = nil, checksum: String? = nil, createVersion: Bool? = nil, confirmationPrompt: Prompt? = nil, sampleUtterances: [String]? = nil, rejectionStatement: Statement? = nil, conclusionStatement: Statement? = nil, parentIntentSignature: String? = nil, slots: [Slot]? = nil) { self.name = name - self.conclusionStatement = conclusionStatement - self.dialogCodeHook = dialogCodeHook - self.description = description - self.parentIntentSignature = parentIntentSignature + self.fulfillmentActivity = fulfillmentActivity self.followUpPrompt = followUpPrompt + self.description = description + self.dialogCodeHook = dialogCodeHook self.checksum = checksum + self.createVersion = createVersion self.confirmationPrompt = confirmationPrompt - self.slots = slots self.sampleUtterances = sampleUtterances + self.rejectionStatement = rejectionStatement + self.conclusionStatement = conclusionStatement + self.parentIntentSignature = parentIntentSignature + self.slots = slots } private enum CodingKeys: String, CodingKey { - case rejectionStatement = "rejectionStatement" - case fulfillmentActivity = "fulfillmentActivity" case name = "name" - case conclusionStatement = "conclusionStatement" - case dialogCodeHook = "dialogCodeHook" - case description = "description" - case parentIntentSignature = "parentIntentSignature" + case fulfillmentActivity = "fulfillmentActivity" case followUpPrompt = "followUpPrompt" + case description = "description" + case dialogCodeHook = "dialogCodeHook" case checksum = "checksum" + case createVersion = "createVersion" case confirmationPrompt = "confirmationPrompt" - case slots = "slots" case sampleUtterances = "sampleUtterances" + case rejectionStatement = "rejectionStatement" + case conclusionStatement = "conclusionStatement" + case parentIntentSignature = "parentIntentSignature" + case slots = "slots" } } @@ -1753,54 +1930,97 @@ extension LexModels { } } + public struct PutSlotTypeRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "valueSelectionStrategy", required: false, type: .enum), + AWSShapeMember(label: "createVersion", required: false, type: .boolean), + AWSShapeMember(label: "checksum", required: false, type: .string), + AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "enumerationValues", required: false, type: .list) + ] + /// 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. + public let valueSelectionStrategy: SlotValueSelectionStrategy? + public let createVersion: Bool? + /// 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. + public let checksum: String? + /// 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. + public let name: String + /// A description of the slot type. + public let description: String? + /// 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. + public let enumerationValues: [EnumerationValue]? + + public init(valueSelectionStrategy: SlotValueSelectionStrategy? = nil, createVersion: Bool? = nil, checksum: String? = nil, name: String, description: String? = nil, enumerationValues: [EnumerationValue]? = nil) { + self.valueSelectionStrategy = valueSelectionStrategy + self.createVersion = createVersion + self.checksum = checksum + self.name = name + self.description = description + self.enumerationValues = enumerationValues + } + + private enum CodingKeys: String, CodingKey { + case valueSelectionStrategy = "valueSelectionStrategy" + case createVersion = "createVersion" + case checksum = "checksum" + case name = "name" + case description = "description" + case enumerationValues = "enumerationValues" + } + } + public struct PutBotRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "childDirected", required: true, type: .boolean), AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), AWSShapeMember(label: "processBehavior", required: false, type: .enum), - AWSShapeMember(label: "idleSessionTTLInSeconds", required: false, type: .integer), AWSShapeMember(label: "clarificationPrompt", required: false, type: .structure), - AWSShapeMember(label: "voiceId", required: false, type: .string), + AWSShapeMember(label: "idleSessionTTLInSeconds", required: false, type: .integer), AWSShapeMember(label: "description", required: false, type: .string), - AWSShapeMember(label: "checksum", required: false, type: .string), + AWSShapeMember(label: "createVersion", required: false, type: .boolean), AWSShapeMember(label: "intents", required: false, type: .list), + AWSShapeMember(label: "checksum", required: false, type: .string), AWSShapeMember(label: "abortStatement", required: false, type: .structure), + AWSShapeMember(label: "voiceId", required: false, type: .string), AWSShapeMember(label: "locale", required: true, type: .enum) ] /// 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. public let childDirected: Bool /// The name of the bot. The name is not case sensitive. public let name: String - /// If you set the processBehavior element to Build, Amazon Lex builds the bot so that it can be run. If you set the element to SaveAmazon Lex saves the bot, but doesn't build it. If you don't specify this value, the default value is Save. + /// 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. public let processBehavior: ProcessBehavior? - /// 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). - public let idleSessionTTLInSeconds: Int32? /// 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.'" public let clarificationPrompt: Prompt? - /// 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. - public let voiceId: String? + /// 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). + public let idleSessionTTLInSeconds: Int32? /// A description of the bot. public let description: String? - /// 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. - public let checksum: String? + public let createVersion: Bool? /// 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. public let intents: [Intent]? + /// 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. + public let checksum: String? /// 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. public let abortStatement: Statement? + /// 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. + public let voiceId: String? /// 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. public let locale: Locale - public init(childDirected: Bool, name: String, processBehavior: ProcessBehavior? = nil, idleSessionTTLInSeconds: Int32? = nil, clarificationPrompt: Prompt? = nil, voiceId: String? = nil, description: String? = nil, checksum: String? = nil, intents: [Intent]? = nil, abortStatement: Statement? = nil, locale: Locale) { + public init(childDirected: Bool, name: String, processBehavior: ProcessBehavior? = nil, clarificationPrompt: Prompt? = nil, idleSessionTTLInSeconds: Int32? = nil, description: String? = nil, createVersion: Bool? = nil, intents: [Intent]? = nil, checksum: String? = nil, abortStatement: Statement? = nil, voiceId: String? = nil, locale: Locale) { self.childDirected = childDirected self.name = name self.processBehavior = processBehavior - self.idleSessionTTLInSeconds = idleSessionTTLInSeconds self.clarificationPrompt = clarificationPrompt - self.voiceId = voiceId + self.idleSessionTTLInSeconds = idleSessionTTLInSeconds self.description = description - self.checksum = checksum + self.createVersion = createVersion self.intents = intents + self.checksum = checksum self.abortStatement = abortStatement + self.voiceId = voiceId self.locale = locale } @@ -1808,53 +2028,18 @@ extension LexModels { case childDirected = "childDirected" case name = "name" case processBehavior = "processBehavior" - case idleSessionTTLInSeconds = "idleSessionTTLInSeconds" case clarificationPrompt = "clarificationPrompt" - case voiceId = "voiceId" + case idleSessionTTLInSeconds = "idleSessionTTLInSeconds" case description = "description" - case checksum = "checksum" + case createVersion = "createVersion" case intents = "intents" + case checksum = "checksum" case abortStatement = "abortStatement" + case voiceId = "voiceId" case locale = "locale" } } - public struct PutSlotTypeRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "valueSelectionStrategy", required: false, type: .enum), - AWSShapeMember(label: "name", location: .uri(locationName: "name"), required: true, type: .string), - AWSShapeMember(label: "checksum", required: false, type: .string), - AWSShapeMember(label: "description", required: false, type: .string), - AWSShapeMember(label: "enumerationValues", required: false, type: .list) - ] - /// 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. - public let valueSelectionStrategy: SlotValueSelectionStrategy? - /// 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. - public let name: String - /// 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. - public let checksum: String? - /// A description of the slot type. - public let description: String? - /// 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. - public let enumerationValues: [EnumerationValue]? - - public init(valueSelectionStrategy: SlotValueSelectionStrategy? = nil, name: String, checksum: String? = nil, description: String? = nil, enumerationValues: [EnumerationValue]? = nil) { - self.valueSelectionStrategy = valueSelectionStrategy - self.name = name - self.checksum = checksum - self.description = description - self.enumerationValues = enumerationValues - } - - private enum CodingKeys: String, CodingKey { - case valueSelectionStrategy = "valueSelectionStrategy" - case name = "name" - case checksum = "checksum" - case description = "description" - case enumerationValues = "enumerationValues" - } - } - public struct CreateIntentVersionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string), @@ -1962,27 +2147,6 @@ extension LexModels { } } - public struct GetBotAliasesResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "BotAliases", required: false, type: .list) - ] - /// 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. - public let nextToken: String? - /// An array of BotAliasMetadata objects, each describing a bot alias. - public let botAliases: [BotAliasMetadata]? - - public init(nextToken: String? = nil, botAliases: [BotAliasMetadata]? = nil) { - self.nextToken = nextToken - self.botAliases = botAliases - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case botAliases = "BotAliases" - } - } - public struct UtteranceList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "utterances", required: false, type: .list), @@ -2004,6 +2168,27 @@ extension LexModels { } } + public struct GetBotAliasesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "BotAliases", required: false, type: .list) + ] + /// 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. + public let nextToken: String? + /// An array of BotAliasMetadata objects, each describing a bot alias. + public let botAliases: [BotAliasMetadata]? + + public init(nextToken: String? = nil, botAliases: [BotAliasMetadata]? = nil) { + self.nextToken = nextToken + self.botAliases = botAliases + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case botAliases = "BotAliases" + } + } + public struct UtteranceData: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "firstUtteredDate", required: false, type: .timestamp), @@ -2043,6 +2228,7 @@ extension LexModels { public enum ContentType: String, CustomStringConvertible, Codable { case plaintext = "PlainText" case ssml = "SSML" + case custompayload = "CustomPayload" public var description: String { return self.rawValue } } @@ -2165,8 +2351,9 @@ extension LexModels { AWSShapeMember(label: "name", required: false, type: .string), AWSShapeMember(label: "createdDate", required: false, type: .timestamp), AWSShapeMember(label: "enumerationValues", required: false, type: .list), - AWSShapeMember(label: "valueSelectionStrategy", required: false, type: .enum), + AWSShapeMember(label: "createVersion", required: false, type: .boolean), AWSShapeMember(label: "checksum", required: false, type: .string), + AWSShapeMember(label: "valueSelectionStrategy", required: false, type: .enum), AWSShapeMember(label: "version", required: false, type: .string), AWSShapeMember(label: "description", required: false, type: .string), AWSShapeMember(label: "lastUpdatedDate", required: false, type: .timestamp) @@ -2177,10 +2364,11 @@ extension LexModels { public let createdDate: TimeStamp? /// A list of EnumerationValue objects that defines the values that the slot type can take. public let enumerationValues: [EnumerationValue]? - /// The slot resolution strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType. - public let valueSelectionStrategy: SlotValueSelectionStrategy? + public let createVersion: Bool? /// Checksum of the $LATEST version of the slot type. public let checksum: String? + /// The slot resolution strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType. + public let valueSelectionStrategy: SlotValueSelectionStrategy? /// The version of the slot type. For a new slot type, the version is always $LATEST. public let version: String? /// A description of the slot type. @@ -2188,12 +2376,13 @@ extension LexModels { /// The date that the slot type was updated. When you create a slot type, the creation date and last update date are the same. public let lastUpdatedDate: TimeStamp? - public init(name: String? = nil, createdDate: TimeStamp? = nil, enumerationValues: [EnumerationValue]? = nil, valueSelectionStrategy: SlotValueSelectionStrategy? = nil, checksum: String? = nil, version: String? = nil, description: String? = nil, lastUpdatedDate: TimeStamp? = nil) { + public init(name: String? = nil, createdDate: TimeStamp? = nil, enumerationValues: [EnumerationValue]? = nil, createVersion: Bool? = nil, checksum: String? = nil, valueSelectionStrategy: SlotValueSelectionStrategy? = nil, version: String? = nil, description: String? = nil, lastUpdatedDate: TimeStamp? = nil) { self.name = name self.createdDate = createdDate self.enumerationValues = enumerationValues - self.valueSelectionStrategy = valueSelectionStrategy + self.createVersion = createVersion self.checksum = checksum + self.valueSelectionStrategy = valueSelectionStrategy self.version = version self.description = description self.lastUpdatedDate = lastUpdatedDate @@ -2203,8 +2392,9 @@ extension LexModels { case name = "name" case createdDate = "createdDate" case enumerationValues = "enumerationValues" - case valueSelectionStrategy = "valueSelectionStrategy" + case createVersion = "createVersion" case checksum = "checksum" + case valueSelectionStrategy = "valueSelectionStrategy" case version = "version" case description = "description" case lastUpdatedDate = "lastUpdatedDate" @@ -2379,6 +2569,8 @@ extension LexModels { public struct BotChannelAssociation: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "failureReason", required: false, type: .string), + AWSShapeMember(label: "status", required: false, type: .enum), AWSShapeMember(label: "botAlias", required: false, type: .string), AWSShapeMember(label: "name", required: false, type: .string), AWSShapeMember(label: "botConfiguration", required: false, type: .map), @@ -2387,6 +2579,10 @@ extension LexModels { AWSShapeMember(label: "type", required: false, type: .enum), AWSShapeMember(label: "botName", required: false, type: .string) ] + /// If status is FAILED, Amazon Lex provides the reason that it failed to create the association. + public let failureReason: String? + /// 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. + public let status: ChannelStatus? /// An alias pointing to the specific version of the Amazon Lex bot to which this association is being made. public let botAlias: String? /// The name of the association between the bot and the channel. @@ -2402,7 +2598,9 @@ extension LexModels { /// 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. public let botName: String? - public init(botAlias: String? = nil, name: String? = nil, botConfiguration: [String: String]? = nil, createdDate: TimeStamp? = nil, description: String? = nil, type: ChannelType? = nil, botName: String? = nil) { + public init(failureReason: String? = nil, status: ChannelStatus? = nil, botAlias: String? = nil, name: String? = nil, botConfiguration: [String: String]? = nil, createdDate: TimeStamp? = nil, description: String? = nil, type: ChannelType? = nil, botName: String? = nil) { + self.failureReason = failureReason + self.status = status self.botAlias = botAlias self.name = name self.botConfiguration = botConfiguration @@ -2413,6 +2611,8 @@ extension LexModels { } private enum CodingKeys: String, CodingKey { + case failureReason = "failureReason" + case status = "status" case botAlias = "botAlias" case name = "name" case botConfiguration = "botConfiguration" @@ -2426,30 +2626,30 @@ extension LexModels { public struct GetBuiltinSlotTypesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "signatureContains", location: .querystring(locationName: "signatureContains"), required: false, type: .string), - AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), AWSShapeMember(label: "nextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "maxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer), AWSShapeMember(label: "locale", location: .querystring(locationName: "locale"), required: false, type: .enum) ] /// 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." public let signatureContains: String? - /// The maximum number of slot types to return in the response. The default is 10. - public let maxResults: Int32? /// 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. public let nextToken: String? + /// The maximum number of slot types to return in the response. The default is 10. + public let maxResults: Int32? /// A list of locales that the slot type supports. public let locale: Locale? - public init(signatureContains: String? = nil, maxResults: Int32? = nil, nextToken: String? = nil, locale: Locale? = nil) { + public init(signatureContains: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil, locale: Locale? = nil) { self.signatureContains = signatureContains - self.maxResults = maxResults self.nextToken = nextToken + self.maxResults = maxResults self.locale = locale } private enum CodingKeys: String, CodingKey { case signatureContains = "signatureContains" - case maxResults = "maxResults" case nextToken = "nextToken" + case maxResults = "maxResults" case locale = "locale" } } @@ -2596,19 +2796,21 @@ extension LexModels { public enum ExportType: String, CustomStringConvertible, Codable { case alexaSkillsKit = "ALEXA_SKILLS_KIT" + case lex = "LEX" public var description: String { return self.rawValue } } public struct PutBotResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "name", required: false, type: .string), - AWSShapeMember(label: "createdDate", required: false, type: .timestamp), AWSShapeMember(label: "clarificationPrompt", required: false, type: .structure), - AWSShapeMember(label: "description", required: false, type: .string), AWSShapeMember(label: "idleSessionTTLInSeconds", required: false, type: .integer), + AWSShapeMember(label: "description", required: false, type: .string), + AWSShapeMember(label: "createdDate", required: false, type: .timestamp), AWSShapeMember(label: "checksum", required: false, type: .string), AWSShapeMember(label: "lastUpdatedDate", required: false, type: .timestamp), AWSShapeMember(label: "abortStatement", required: false, type: .structure), + AWSShapeMember(label: "createVersion", required: false, type: .boolean), AWSShapeMember(label: "locale", required: false, type: .enum), AWSShapeMember(label: "childDirected", required: false, type: .boolean), AWSShapeMember(label: "status", required: false, type: .enum), @@ -2619,20 +2821,21 @@ extension LexModels { ] /// The name of the bot. public let name: String? - /// The date that the bot was created. - public let createdDate: TimeStamp? /// The prompts that Amazon Lex uses when it doesn't understand the user's intent. For more information, see PutBot. public let clarificationPrompt: Prompt? - /// A description of the bot. - public let description: String? /// The maximum length of time that Amazon Lex retains the data gathered in a conversation. For more information, see PutBot. public let idleSessionTTLInSeconds: Int32? + /// A description of the bot. + public let description: String? + /// The date that the bot was created. + public let createdDate: TimeStamp? /// Checksum of the bot that you created. public let checksum: String? /// The date that the bot was updated. When you create a resource, the creation date and last updated date are the same. public let lastUpdatedDate: TimeStamp? /// The message that Amazon Lex uses to abort a conversation. For more information, see PutBot. public let abortStatement: Statement? + public let createVersion: Bool? /// The target locale for the bot. public let locale: Locale? /// 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. @@ -2648,15 +2851,16 @@ extension LexModels { /// If status is FAILED, Amazon Lex provides the reason that it failed to build the bot. public let failureReason: String? - public init(name: String? = nil, createdDate: TimeStamp? = nil, clarificationPrompt: Prompt? = nil, description: String? = nil, idleSessionTTLInSeconds: Int32? = nil, checksum: String? = nil, lastUpdatedDate: TimeStamp? = nil, abortStatement: Statement? = nil, locale: Locale? = nil, childDirected: Bool? = nil, status: Status? = nil, voiceId: String? = nil, version: String? = nil, intents: [Intent]? = nil, failureReason: String? = nil) { + public init(name: String? = nil, clarificationPrompt: Prompt? = nil, idleSessionTTLInSeconds: Int32? = nil, description: String? = nil, createdDate: TimeStamp? = nil, checksum: String? = nil, lastUpdatedDate: TimeStamp? = nil, abortStatement: Statement? = nil, createVersion: Bool? = nil, locale: Locale? = nil, childDirected: Bool? = nil, status: Status? = nil, voiceId: String? = nil, version: String? = nil, intents: [Intent]? = nil, failureReason: String? = nil) { self.name = name - self.createdDate = createdDate self.clarificationPrompt = clarificationPrompt - self.description = description self.idleSessionTTLInSeconds = idleSessionTTLInSeconds + self.description = description + self.createdDate = createdDate self.checksum = checksum self.lastUpdatedDate = lastUpdatedDate self.abortStatement = abortStatement + self.createVersion = createVersion self.locale = locale self.childDirected = childDirected self.status = status @@ -2668,13 +2872,14 @@ extension LexModels { private enum CodingKeys: String, CodingKey { case name = "name" - case createdDate = "createdDate" case clarificationPrompt = "clarificationPrompt" - case description = "description" case idleSessionTTLInSeconds = "idleSessionTTLInSeconds" + case description = "description" + case createdDate = "createdDate" case checksum = "checksum" case lastUpdatedDate = "lastUpdatedDate" case abortStatement = "abortStatement" + case createVersion = "createVersion" case locale = "locale" case childDirected = "childDirected" case status = "status" diff --git a/Sources/AWSSDKSwift/Services/lightsail/Lightsail_API.swift b/Sources/AWSSDKSwift/Services/lightsail/Lightsail_API.swift index 03ed663d7e5..94bb97cde7f 100644 --- a/Sources/AWSSDKSwift/Services/lightsail/Lightsail_API.swift +++ b/Sources/AWSSDKSwift/Services/lightsail/Lightsail_API.swift @@ -30,7 +30,7 @@ public struct Lightsail { return try client.send(operation: "CreateDiskFromSnapshot", path: "/", httpMethod: "POST", input: input) } - /// Detaches the specified instances from a Lightsail load balancer. + /// 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. public func detachInstancesFromLoadBalancer(_ input: DetachInstancesFromLoadBalancerRequest) throws -> DetachInstancesFromLoadBalancerResult { return try client.send(operation: "DetachInstancesFromLoadBalancer", path: "/", httpMethod: "POST", input: input) } @@ -55,7 +55,7 @@ public struct Lightsail { return try client.send(operation: "RebootInstance", path: "/", httpMethod: "POST", input: input) } - /// 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). + /// 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. public func getLoadBalancerTlsCertificates(_ input: GetLoadBalancerTlsCertificatesRequest) throws -> GetLoadBalancerTlsCertificatesResult { return try client.send(operation: "GetLoadBalancerTlsCertificates", path: "/", httpMethod: "POST", input: input) } @@ -100,7 +100,7 @@ public struct Lightsail { return try client.send(operation: "GetKeyPair", path: "/", httpMethod: "POST", input: input) } - /// Deletes a Lightsail load balancer. + /// 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. public func deleteLoadBalancer(_ input: DeleteLoadBalancerRequest) throws -> DeleteLoadBalancerResult { return try client.send(operation: "DeleteLoadBalancer", path: "/", httpMethod: "POST", input: input) } @@ -185,7 +185,7 @@ public struct Lightsail { return try client.send(operation: "GetLoadBalancers", path: "/", httpMethod: "POST", input: input) } - /// Attaches a Transport Layer Security (TLS) certificate to your load balancer. TLS is just an updated, more secure version of Secure Socket Layer (SSL). + /// 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. public func attachLoadBalancerTlsCertificate(_ input: AttachLoadBalancerTlsCertificateRequest) throws -> AttachLoadBalancerTlsCertificateResult { return try client.send(operation: "AttachLoadBalancerTlsCertificate", path: "/", httpMethod: "POST", input: input) } @@ -210,7 +210,7 @@ public struct Lightsail { return try client.send(operation: "CreateInstanceSnapshot", path: "/", httpMethod: "POST", input: input) } - /// Creates a Lightsail load balancer. When you create a load balancer, you can specify certificates and port settings. You can create up to 5 load balancers per AWS Region in your account. + /// 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. public func createLoadBalancer(_ input: CreateLoadBalancerRequest) throws -> CreateLoadBalancerResult { return try client.send(operation: "CreateLoadBalancer", path: "/", httpMethod: "POST", input: input) } @@ -255,7 +255,7 @@ public struct Lightsail { return try client.send(operation: "CreateDisk", path: "/", httpMethod: "POST", input: input) } - /// Attaches one or more Lightsail instances to a load balancer. + /// 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. public func attachInstancesToLoadBalancer(_ input: AttachInstancesToLoadBalancerRequest) throws -> AttachInstancesToLoadBalancerResult { return try client.send(operation: "AttachInstancesToLoadBalancer", path: "/", httpMethod: "POST", input: input) } @@ -265,7 +265,7 @@ public struct Lightsail { return try client.send(operation: "DeleteDomain", path: "/", httpMethod: "POST", input: input) } - /// Updates the specified attribute for a load balancer. + /// Updates the specified attribute for a load balancer. You can only update one attribute at a time. public func updateLoadBalancerAttribute(_ input: UpdateLoadBalancerAttributeRequest) throws -> UpdateLoadBalancerAttributeResult { return try client.send(operation: "UpdateLoadBalancerAttribute", path: "/", httpMethod: "POST", input: input) } @@ -355,7 +355,7 @@ public struct Lightsail { return try client.send(operation: "DeleteKeyPair", path: "/", httpMethod: "POST", input: input) } - /// Deletes a TLS/SSL certificate associated with a Lightsail load balancer. + /// Deletes an SSL/TLS certificate associated with a Lightsail load balancer. public func deleteLoadBalancerTlsCertificate(_ input: DeleteLoadBalancerTlsCertificateRequest) throws -> DeleteLoadBalancerTlsCertificateResult { return try client.send(operation: "DeleteLoadBalancerTlsCertificate", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/lightsail/Lightsail_Shapes.swift b/Sources/AWSSDKSwift/Services/lightsail/Lightsail_Shapes.swift index 5bdea32dd87..f646e261fdd 100644 --- a/Sources/AWSSDKSwift/Services/lightsail/Lightsail_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/lightsail/Lightsail_Shapes.swift @@ -121,7 +121,7 @@ extension Lightsail { ] /// The name of the load balancer. public let loadBalancerName: String - /// An array of strings representing the instance name(s) you want to attach to your load balancer. + /// 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). public let instanceNames: [String] public init(loadBalancerName: String, instanceNames: [String]) { @@ -302,7 +302,7 @@ extension Lightsail { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "operations", required: false, type: .list) ] - /// An object representing the API operations. + /// 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. public let operations: [Operation]? public init(operations: [Operation]? = nil) { @@ -325,15 +325,15 @@ extension Lightsail { ] /// The instance port where you're creating your load balancer. public let instancePort: Int32 - /// The name of the TLS/SSL certificate. If you specify certificateName, then certificateDomainName is required (and vice-versa). + /// The name of the SSL/TLS certificate. If you specify certificateName, then certificateDomainName is required (and vice-versa). public let certificateName: String? - /// The alternative domain names to use with your TLS/SSL certificate (e.g., www.example.com, www.ejemplo.com, ejemplo.com). + /// 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). public let certificateAlternativeNames: [String]? /// The domain name with which your certificate is associated (e.g., example.com). If you specify certificateDomainName, then certificateName is required (and vice-versa). public let certificateDomainName: String? /// The name of your load balancer. public let loadBalancerName: String - /// 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., "/"). + /// 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. public let healthCheckPath: String? public init(instancePort: Int32, certificateName: String? = nil, certificateAlternativeNames: [String]? = nil, certificateDomainName: String? = nil, loadBalancerName: String, healthCheckPath: String? = nil) { @@ -996,9 +996,9 @@ extension Lightsail { AWSShapeMember(label: "certificateName", required: true, type: .string), AWSShapeMember(label: "loadBalancerName", required: true, type: .string) ] - /// When true, forces the deletion of a TLS/SSL certificate. + /// 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. public let force: Bool? - /// The TLS/SSL certificate name. + /// The SSL/TLS certificate name. public let certificateName: String /// The load balancer name. public let loadBalancerName: String @@ -1053,9 +1053,9 @@ extension Lightsail { AWSShapeMember(label: "name", required: false, type: .string), AWSShapeMember(label: "isAttached", required: false, type: .boolean) ] - /// The name of the TLS/SSL certificate. + /// The name of the SSL/TLS certificate. public let name: String? - /// When true, the TLS/SSL certificate is attached to the Lightsail load balancer. + /// When true, the SSL/TLS certificate is attached to the Lightsail load balancer. public let isAttached: Bool? public init(name: String? = nil, isAttached: Bool? = nil) { @@ -1098,11 +1098,11 @@ extension Lightsail { public let options: [String: String]? /// The name of the domain. public let name: String? - /// The target AWS name server (e.g., ns-111.awsdns-22.com.). + /// 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. public let target: String? /// The ID of the domain recordset entry. public let id: String? - /// When true, specifies whether the domain entry is an alias used by the Lightsail load balancer. + /// 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 public let isAlias: Bool? /// The type of domain entry (e.g., SOA or NS). public let `type`: String? @@ -1152,7 +1152,7 @@ extension Lightsail { public let resourceType: ResourceType? /// The date when your load balancer was created. public let createdAt: TimeStamp? - /// The instance port where the load balancer is listening. + /// 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. public let instancePort: Int32? /// 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. public let supportCode: String? @@ -1164,15 +1164,15 @@ extension Lightsail { public let configurationOptions: [LoadBalancerAttributeName: String]? /// 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. public let healthCheckPath: String? - /// The AWS Region and Availability Zone where your load balancer was created (e.g., us-east-2a). + /// The AWS Region where your load balancer was created (e.g., us-east-2a). Lightsail automatically creates your load balancer across Availability Zones. public let location: ResourceLocation? - /// The protocol you have enabled for your load balancer. Valid values are below. + /// 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. public let `protocol`: LoadBalancerProtocol? /// An array of InstanceHealthSummary objects describing the health of the load balancer. public let instanceHealthSummary: [InstanceHealthSummary]? - /// An array of public port settings for your load balancer. + /// An array of public port settings for your load balancer. For HTTP, use port 80. For HTTPS, use port 443. public let publicPorts: [Int32]? - /// An array of LoadBalancerTlsCertificateSummary objects that provide additional information about the TLS/SSL certificates. + /// 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. public let tlsCertificateSummaries: [LoadBalancerTlsCertificateSummary]? public init(state: LoadBalancerState? = nil, name: String? = nil, resourceType: ResourceType? = nil, createdAt: TimeStamp? = nil, instancePort: Int32? = nil, supportCode: String? = nil, dnsName: String? = nil, arn: String? = nil, configurationOptions: [LoadBalancerAttributeName: String]? = nil, healthCheckPath: String? = nil, location: ResourceLocation? = nil, protocol: LoadBalancerProtocol? = nil, instanceHealthSummary: [InstanceHealthSummary]? = nil, publicPorts: [Int32]? = nil, tlsCertificateSummaries: [LoadBalancerTlsCertificateSummary]? = nil) { @@ -1434,7 +1434,7 @@ extension Lightsail { AWSShapeMember(label: "instanceHealth", required: false, type: .enum), AWSShapeMember(label: "instanceName", required: false, type: .string) ] - /// More information about the instance health. Valid values are below. + /// 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. public let instanceHealthReason: InstanceHealthReason? /// Describes the overall instance health. Valid values are below. public let instanceHealth: InstanceHealthState? @@ -1536,7 +1536,7 @@ extension Lightsail { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "tlsCertificates", required: false, type: .list) ] - /// An array of LoadBalancerTlsCertificate objects describing your TLS/SSL certificates. + /// An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates. public let tlsCertificates: [LoadBalancerTlsCertificate]? public init(tlsCertificates: [LoadBalancerTlsCertificate]? = nil) { @@ -1705,7 +1705,7 @@ extension Lightsail { ] /// The value that you want to specify for the attribute name. public let attributeValue: String - /// The name of the load balancer that you want to modify. + /// The name of the load balancer that you want to modify (e.g., my-load-balancer. public let loadBalancerName: String /// The name of the attribute you want to update. Valid values are below. public let attributeName: LoadBalancerAttributeName @@ -1737,7 +1737,7 @@ extension Lightsail { public let validationStatus: LoadBalancerTlsCertificateDomainStatus? /// The value for that type. public let value: String? - /// The domain name against which your TLS/SSL certificate was validated. + /// The domain name against which your SSL/TLS certificate was validated. public let domainName: String? /// The type of validation record. For example, CNAME for domain validation. public let `type`: String? @@ -2236,6 +2236,7 @@ extension Lightsail { case started = "Started" case failed = "Failed" case completed = "Completed" + case succeeded = "Succeeded" public var description: String { return self.rawValue } } @@ -2423,7 +2424,7 @@ extension Lightsail { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "loadBalancerName", required: true, type: .string) ] - /// The name of the load balancer where you stored your TLS/SSL certificate. + /// The name of the load balancer you associated with your SSL/TLS certificate. public let loadBalancerName: String public init(loadBalancerName: String) { @@ -2510,44 +2511,44 @@ extension Lightsail { AWSShapeMember(label: "unit", required: true, type: .enum), AWSShapeMember(label: "statistics", required: true, type: .list), AWSShapeMember(label: "endTime", required: true, type: .timestamp), - AWSShapeMember(label: "loadBalancerName", required: true, type: .string), - AWSShapeMember(label: "startTime", required: true, type: .timestamp), AWSShapeMember(label: "period", required: true, type: .integer), - AWSShapeMember(label: "metricName", required: true, type: .enum) + AWSShapeMember(label: "loadBalancerName", required: true, type: .string), + AWSShapeMember(label: "metricName", required: true, type: .enum), + AWSShapeMember(label: "startTime", required: true, type: .timestamp) ] /// The unit for the time period request. Valid values are listed below. public let unit: MetricUnit - /// An array of statistics that you want to request metrics for. Valid values are listed below. + /// 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. public let statistics: [MetricStatistic] /// The end time of the period. public let endTime: TimeStamp - /// The name of the load balancer. - public let loadBalancerName: String - /// The start time of the period. - public let startTime: TimeStamp /// The time period duration for your health data request. public let period: Int32 + /// The name of the load balancer. + public let loadBalancerName: String /// 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. public let metricName: LoadBalancerMetricName + /// The start time of the period. + public let startTime: TimeStamp - public init(unit: MetricUnit, statistics: [MetricStatistic], endTime: TimeStamp, loadBalancerName: String, startTime: TimeStamp, period: Int32, metricName: LoadBalancerMetricName) { + public init(unit: MetricUnit, statistics: [MetricStatistic], endTime: TimeStamp, period: Int32, loadBalancerName: String, metricName: LoadBalancerMetricName, startTime: TimeStamp) { self.unit = unit self.statistics = statistics self.endTime = endTime - self.loadBalancerName = loadBalancerName - self.startTime = startTime self.period = period + self.loadBalancerName = loadBalancerName self.metricName = metricName + self.startTime = startTime } private enum CodingKeys: String, CodingKey { case unit = "unit" case statistics = "statistics" case endTime = "endTime" - case loadBalancerName = "loadBalancerName" - case startTime = "startTime" case period = "period" + case loadBalancerName = "loadBalancerName" case metricName = "metricName" + case startTime = "startTime" } } @@ -2572,8 +2573,9 @@ extension Lightsail { case usEast2 = "us-east-2" case usWest1 = "us-west-1" case usWest2 = "us-west-2" - case euWest1 = "eu-west-1" case euCentral1 = "eu-central-1" + case euWest1 = "eu-west-1" + case euWest2 = "eu-west-2" case apSouth1 = "ap-south-1" case apSoutheast1 = "ap-southeast-1" case apSoutheast2 = "ap-southeast-2" @@ -2645,7 +2647,7 @@ extension Lightsail { AWSShapeMember(label: "domainName", required: false, type: .string), AWSShapeMember(label: "validationStatus", required: false, type: .enum) ] - /// A fully qualified domain name in the certificate request. + /// The fully qualified domain name in the certificate request. public let domainName: String? /// The status of the domain validation. Valid values are listed below. public let validationStatus: LoadBalancerTlsCertificateDomainStatus? @@ -2809,7 +2811,7 @@ extension Lightsail { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "operations", required: false, type: .list) ] - /// An array of key-value pairs containing information about the request operation. + /// An array of key-value pairs containing information about the request operations. public let operations: [Operation]? public init(operations: [Operation]? = nil) { @@ -2906,7 +2908,7 @@ extension Lightsail { ] /// An array of metric datapoint objects. public let metricData: [MetricDatapoint]? - /// The metric about which you are receiving information. Valid values are listed below. + /// 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. public let metricName: LoadBalancerMetricName? public init(metricData: [MetricDatapoint]? = nil, metricName: LoadBalancerMetricName? = nil) { @@ -3220,9 +3222,9 @@ extension Lightsail { AWSShapeMember(label: "loadBalancerName", required: true, type: .string), AWSShapeMember(label: "certificateName", required: true, type: .string) ] - /// The name of the load balancer to which you want to associate the TLS/SSL certificate. + /// The name of the load balancer to which you want to associate the SSL/TLS certificate. public let loadBalancerName: String - /// The name of your TLS/SSL certificate. + /// The name of your SSL/TLS certificate. public let certificateName: String public init(loadBalancerName: String, certificateName: String) { @@ -3690,13 +3692,13 @@ extension Lightsail { AWSShapeMember(label: "certificateDomainName", required: true, type: .string), AWSShapeMember(label: "loadBalancerName", required: true, type: .string) ] - /// The TLS/SSL certificate name. + /// 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. public let certificateName: String - /// An array of strings listing alternative domain names for your TLS/SSL certificate. + /// 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). public let certificateAlternativeNames: [String]? - /// The domain name (e.g., example.com) for your TLS/SSL certificate. + /// The domain name (e.g., example.com) for your SSL/TLS certificate. public let certificateDomainName: String - /// The load balancer name where you want to create the TLS/SSL certificate. + /// The load balancer name where you want to create the SSL/TLS certificate. public let loadBalancerName: String public init(certificateName: String, certificateAlternativeNames: [String]? = nil, certificateDomainName: String, loadBalancerName: String) { @@ -3769,16 +3771,16 @@ extension Lightsail { public struct InstancePortInfo: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "accessFrom", required: false, type: .string), + AWSShapeMember(label: "toPort", required: false, type: .integer), AWSShapeMember(label: "fromPort", required: false, type: .integer), AWSShapeMember(label: "commonName", required: false, type: .string), AWSShapeMember(label: "protocol", required: false, type: .enum), AWSShapeMember(label: "accessDirection", required: false, type: .enum), AWSShapeMember(label: "accessType", required: false, type: .enum), - AWSShapeMember(label: "toPort", required: false, type: .integer) + AWSShapeMember(label: "accessFrom", required: false, type: .string) ] - /// The location from which access is allowed (e.g., Anywhere (0.0.0.0/0)). - public let accessFrom: String? + /// The last port in the range. + public let toPort: Int32? /// The first port in the range. public let fromPort: Int32? /// The common name. @@ -3789,27 +3791,27 @@ extension Lightsail { public let accessDirection: AccessDirection? /// The type of access (Public or Private). public let accessType: PortAccessType? - /// The last port in the range. - public let toPort: Int32? + /// The location from which access is allowed (e.g., Anywhere (0.0.0.0/0)). + public let accessFrom: String? - public init(accessFrom: String? = nil, fromPort: Int32? = nil, commonName: String? = nil, protocol: NetworkProtocol? = nil, accessDirection: AccessDirection? = nil, accessType: PortAccessType? = nil, toPort: Int32? = nil) { - self.accessFrom = accessFrom + public init(toPort: Int32? = nil, fromPort: Int32? = nil, commonName: String? = nil, protocol: NetworkProtocol? = nil, accessDirection: AccessDirection? = nil, accessType: PortAccessType? = nil, accessFrom: String? = nil) { + self.toPort = toPort self.fromPort = fromPort self.commonName = commonName self.`protocol` = `protocol` self.accessDirection = accessDirection self.accessType = accessType - self.toPort = toPort + self.accessFrom = accessFrom } private enum CodingKeys: String, CodingKey { - case accessFrom = "accessFrom" + case toPort = "toPort" case fromPort = "fromPort" case commonName = "commonName" case `protocol` = "protocol" case accessDirection = "accessDirection" case accessType = "accessType" - case toPort = "toPort" + case accessFrom = "accessFrom" } } @@ -4301,53 +4303,53 @@ extension Lightsail { AWSShapeMember(label: "loadBalancerName", required: false, type: .string), AWSShapeMember(label: "failureReason", required: false, type: .enum) ] - /// The name of the TLS/SSL certificate (e.g., my-certificate). + /// The name of the SSL/TLS certificate (e.g., my-certificate). public let name: String? /// The issuer of the certificate. public let issuer: String? - /// The resource type (e.g., LoadBalancerTlsCertificate. + /// 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 public let resourceType: ResourceType? - /// When true, the TLS/SSL certificate is attached to the Lightsail load balancer. + /// When true, the SSL/TLS certificate is attached to the Lightsail load balancer. public let isAttached: Bool? - /// The timestamp when the TLS/SSL certificate was revoked. + /// The timestamp when the SSL/TLS certificate was revoked. public let revokedAt: TimeStamp? - /// The time when you created your TLS/SSL certificate. + /// The time when you created your SSL/TLS certificate. public let createdAt: TimeStamp? /// The algorithm that was used to sign the certificate. public let signatureAlgorithm: String? - /// The time when the TLS/SSL certificate was issued. + /// The time when the SSL/TLS certificate was issued. public let issuedAt: TimeStamp? - /// The support code. Include this code in your email to support when you have questions about your Lightsail load balancer or TLS/SSL certificate. This code enables our support team to look up your Lightsail information more easily. + /// 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. public let supportCode: String? /// An object containing information about the status of Lightsail's managed renewal for the certificate. public let renewalSummary: LoadBalancerTlsCertificateRenewalSummary? - /// 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. + /// 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. public let subjectAlternativeNames: [String]? - /// The timestamp when the TLS/SSL certificate is first valid. + /// The timestamp when the SSL/TLS certificate is first valid. public let notBefore: TimeStamp? /// The name of the entity that is associated with the public key contained in the certificate. public let subject: String? - /// The Amazon Resource Name (ARN) of the TLS/SSL certificate. + /// The Amazon Resource Name (ARN) of the SSL/TLS certificate. public let arn: String? - /// The status of the TLS/SSL certificate. Valid values are below. + /// The status of the SSL/TLS certificate. Valid values are below. public let status: LoadBalancerTlsCertificateStatus? /// The AWS Region and Availability Zone where you created your certificate. public let location: ResourceLocation? /// The serial number of the certificate. public let serial: String? - /// The timestamp when the TLS/SSL certificate expires. + /// The timestamp when the SSL/TLS certificate expires. public let notAfter: TimeStamp? /// The reason the certificate was revoked. Valid values are below. public let revocationReason: LoadBalancerTlsCertificateRevocationReason? - /// The domain name for your TLS/SSL certificate. + /// The domain name for your SSL/TLS certificate. public let domainName: String? /// An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing the records. public let domainValidationRecords: [LoadBalancerTlsCertificateDomainValidationRecord]? /// The algorithm that was used to generate the key pair (the public and private key). public let keyAlgorithm: String? - /// The load balancer name where your TLS/SSL certificate is attached. + /// The load balancer name where your SSL/TLS certificate is attached. public let loadBalancerName: String? - /// The reason for the TLS/SSL certificate validation failure. + /// The reason for the SSL/TLS certificate validation failure. public let failureReason: LoadBalancerTlsCertificateFailureReason? public init(name: String? = nil, issuer: String? = nil, resourceType: ResourceType? = nil, isAttached: Bool? = nil, revokedAt: TimeStamp? = nil, createdAt: TimeStamp? = nil, signatureAlgorithm: String? = nil, issuedAt: TimeStamp? = nil, supportCode: String? = nil, renewalSummary: LoadBalancerTlsCertificateRenewalSummary? = nil, subjectAlternativeNames: [String]? = nil, notBefore: TimeStamp? = nil, subject: String? = nil, arn: String? = nil, status: LoadBalancerTlsCertificateStatus? = nil, location: ResourceLocation? = nil, serial: String? = nil, notAfter: TimeStamp? = nil, revocationReason: LoadBalancerTlsCertificateRevocationReason? = nil, domainName: String? = nil, domainValidationRecords: [LoadBalancerTlsCertificateDomainValidationRecord]? = nil, keyAlgorithm: String? = nil, loadBalancerName: String? = nil, failureReason: LoadBalancerTlsCertificateFailureReason? = nil) { diff --git a/Sources/AWSSDKSwift/Services/logs/Logs_Shapes.swift b/Sources/AWSSDKSwift/Services/logs/Logs_Shapes.swift index beab96e9591..8e394e7e1df 100644 --- a/Sources/AWSSDKSwift/Services/logs/Logs_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/logs/Logs_Shapes.swift @@ -657,31 +657,31 @@ extension Logs { public struct DescribeSubscriptionFiltersRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "filterNamePrefix", required: false, type: .string), AWSShapeMember(label: "limit", required: false, type: .integer), AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "filterNamePrefix", required: false, type: .string), AWSShapeMember(label: "logGroupName", required: true, type: .string) ] - /// The prefix to match. If you don't specify a value, no prefix filter is applied. - public let filterNamePrefix: String? /// The maximum number of items returned. If you don't specify a value, the default is up to 50 items. public let limit: Int32? /// The token for the next set of items to return. (You received this token from a previous call.) public let nextToken: String? + /// The prefix to match. If you don't specify a value, no prefix filter is applied. + public let filterNamePrefix: String? /// The name of the log group. public let logGroupName: String - public init(filterNamePrefix: String? = nil, limit: Int32? = nil, nextToken: String? = nil, logGroupName: String) { - self.filterNamePrefix = filterNamePrefix + public init(limit: Int32? = nil, nextToken: String? = nil, filterNamePrefix: String? = nil, logGroupName: String) { self.limit = limit self.nextToken = nextToken + self.filterNamePrefix = filterNamePrefix self.logGroupName = logGroupName } private enum CodingKeys: String, CodingKey { - case filterNamePrefix = "filterNamePrefix" case limit = "limit" case nextToken = "nextToken" + case filterNamePrefix = "filterNamePrefix" case logGroupName = "logGroupName" } } @@ -776,30 +776,30 @@ extension Logs { public struct DescribeExportTasksRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "nextToken", required: false, type: .string), - AWSShapeMember(label: "statusCode", required: false, type: .enum), AWSShapeMember(label: "taskId", required: false, type: .string), + AWSShapeMember(label: "statusCode", required: false, type: .enum), AWSShapeMember(label: "limit", required: false, type: .integer) ] /// The token for the next set of items to return. (You received this token from a previous call.) public let nextToken: String? - /// The status code of the export task. Specifying a status code filters the results to zero or more export tasks. - public let statusCode: ExportTaskStatusCode? /// The ID of the export task. Specifying a task ID filters the results to zero or one export tasks. public let taskId: String? + /// The status code of the export task. Specifying a status code filters the results to zero or more export tasks. + public let statusCode: ExportTaskStatusCode? /// The maximum number of items returned. If you don't specify a value, the default is up to 50 items. public let limit: Int32? - public init(nextToken: String? = nil, statusCode: ExportTaskStatusCode? = nil, taskId: String? = nil, limit: Int32? = nil) { + public init(nextToken: String? = nil, taskId: String? = nil, statusCode: ExportTaskStatusCode? = nil, limit: Int32? = nil) { self.nextToken = nextToken - self.statusCode = statusCode self.taskId = taskId + self.statusCode = statusCode self.limit = limit } private enum CodingKeys: String, CodingKey { case nextToken = "nextToken" - case statusCode = "statusCode" case taskId = "taskId" + case statusCode = "statusCode" case limit = "limit" } } diff --git a/Sources/AWSSDKSwift/Services/machinelearning/Machinelearning_Shapes.swift b/Sources/AWSSDKSwift/Services/machinelearning/Machinelearning_Shapes.swift index 16ef2679c88..6ae93c5823a 100644 --- a/Sources/AWSSDKSwift/Services/machinelearning/Machinelearning_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/machinelearning/Machinelearning_Shapes.swift @@ -683,28 +683,28 @@ extension Machinelearning { public struct Prediction: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "details", required: false, type: .map), - AWSShapeMember(label: "predictedScores", required: false, type: .map), AWSShapeMember(label: "predictedLabel", required: false, type: .string), + AWSShapeMember(label: "predictedScores", required: false, type: .map), AWSShapeMember(label: "predictedValue", required: false, type: .float) ] public let details: [DetailsAttributes: String]? - public let predictedScores: [String: Float]? /// The prediction label for either a BINARY or MULTICLASS MLModel. public let predictedLabel: String? + public let predictedScores: [String: Float]? /// The prediction value for REGRESSION MLModel. public let predictedValue: Float? - public init(details: [DetailsAttributes: String]? = nil, predictedScores: [String: Float]? = nil, predictedLabel: String? = nil, predictedValue: Float? = nil) { + public init(details: [DetailsAttributes: String]? = nil, predictedLabel: String? = nil, predictedScores: [String: Float]? = nil, predictedValue: Float? = nil) { self.details = details - self.predictedScores = predictedScores self.predictedLabel = predictedLabel + self.predictedScores = predictedScores self.predictedValue = predictedValue } private enum CodingKeys: String, CodingKey { case details = "details" - case predictedScores = "predictedScores" case predictedLabel = "predictedLabel" + case predictedScores = "predictedScores" case predictedValue = "predictedValue" } } diff --git a/Sources/AWSSDKSwift/Services/macie/Macie_API.swift b/Sources/AWSSDKSwift/Services/macie/Macie_API.swift new file mode 100644 index 00000000000..b626fac3199 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/macie/Macie_API.swift @@ -0,0 +1,64 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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. +*/ +public struct Macie { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + amzTarget: "MacieService", + service: "macie", + serviceProtocol: ServiceProtocol(type: .json, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2017-12-19", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [MacieError.self] + ) + } + + /// 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. + public func disassociateS3Resources(_ input: DisassociateS3ResourcesRequest) throws -> DisassociateS3ResourcesResult { + return try client.send(operation: "DisassociateS3Resources", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func listS3Resources(_ input: ListS3ResourcesRequest) throws -> ListS3ResourcesResult { + return try client.send(operation: "ListS3Resources", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func updateS3Resources(_ input: UpdateS3ResourcesRequest) throws -> UpdateS3ResourcesResult { + return try client.send(operation: "UpdateS3Resources", path: "/", httpMethod: "POST", input: input) + } + + /// Associates a specified AWS account with Amazon Macie as a member account. + public func associateMemberAccount(_ input: AssociateMemberAccountRequest) throws { + _ = try client.send(operation: "AssociateMemberAccount", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func associateS3Resources(_ input: AssociateS3ResourcesRequest) throws -> AssociateS3ResourcesResult { + return try client.send(operation: "AssociateS3Resources", path: "/", httpMethod: "POST", input: input) + } + + /// Removes the specified member account from Amazon Macie. + public func disassociateMemberAccount(_ input: DisassociateMemberAccountRequest) throws { + _ = try client.send(operation: "DisassociateMemberAccount", path: "/", httpMethod: "POST", input: input) + } + + /// Lists all Amazon Macie member accounts for the current Amazon Macie master account. + public func listMemberAccounts(_ input: ListMemberAccountsRequest) throws -> ListMemberAccountsResult { + return try client.send(operation: "ListMemberAccounts", path: "/", httpMethod: "POST", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/macie/Macie_Error.swift b/Sources/AWSSDKSwift/Services/macie/Macie_Error.swift new file mode 100644 index 00000000000..167e25fccfc --- /dev/null +++ b/Sources/AWSSDKSwift/Services/macie/Macie_Error.swift @@ -0,0 +1,32 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Macie +public enum MacieError: AWSErrorType { + case invalidInputException(message: String?) + case accessDeniedException(message: String?) + case internalException(message: String?) + case limitExceededException(message: String?) +} + +extension MacieError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "InvalidInputException": + self = .invalidInputException(message: message) + case "AccessDeniedException": + self = .accessDeniedException(message: message) + case "InternalException": + self = .internalException(message: message) + case "LimitExceededException": + self = .limitExceededException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/macie/Macie_Shapes.swift b/Sources/AWSSDKSwift/Services/macie/Macie_Shapes.swift new file mode 100644 index 00000000000..c64bcaa14a7 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/macie/Macie_Shapes.swift @@ -0,0 +1,408 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Macie { + + public struct S3Resource: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "prefix", required: false, type: .string), + AWSShapeMember(label: "bucketName", required: true, type: .string) + ] + /// The prefix of the S3 bucket. + public let prefix: String? + /// The name of the S3 bucket. + public let bucketName: String + + public init(prefix: String? = nil, bucketName: String) { + self.prefix = prefix + self.bucketName = bucketName + } + + private enum CodingKeys: String, CodingKey { + case prefix = "prefix" + case bucketName = "bucketName" + } + } + + public struct ListS3ResourcesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "s3Resources", required: false, type: .list) + ] + /// 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. + public let nextToken: String? + /// A list of the associated S3 resources returned by the action. + public let s3Resources: [S3ResourceClassification]? + + public init(nextToken: String? = nil, s3Resources: [S3ResourceClassification]? = nil) { + self.nextToken = nextToken + self.s3Resources = s3Resources + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case s3Resources = "s3Resources" + } + } + + public struct DisassociateMemberAccountRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "memberAccountId", required: true, type: .string) + ] + /// The ID of the member account that you want to remove from Amazon Macie. + public let memberAccountId: String + + public init(memberAccountId: String) { + self.memberAccountId = memberAccountId + } + + private enum CodingKeys: String, CodingKey { + case memberAccountId = "memberAccountId" + } + } + + public struct ClassificationTypeUpdate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "oneTime", required: false, type: .enum), + AWSShapeMember(label: "continuous", required: false, type: .enum) + ] + /// A one-time classification of all of the existing objects in a specified S3 bucket. + public let oneTime: S3OneTimeClassificationType? + /// 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. + public let continuous: S3ContinuousClassificationType? + + public init(oneTime: S3OneTimeClassificationType? = nil, continuous: S3ContinuousClassificationType? = nil) { + self.oneTime = oneTime + self.continuous = continuous + } + + private enum CodingKeys: String, CodingKey { + case oneTime = "oneTime" + case continuous = "continuous" + } + } + + public struct ListMemberAccountsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "memberAccounts", required: false, type: .list), + AWSShapeMember(label: "nextToken", required: false, type: .string) + ] + /// A list of the Amazon Macie member accounts returned by the action. The current master account is also included in this list. + public let memberAccounts: [MemberAccount]? + /// 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. + public let nextToken: String? + + public init(memberAccounts: [MemberAccount]? = nil, nextToken: String? = nil) { + self.memberAccounts = memberAccounts + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case memberAccounts = "memberAccounts" + case nextToken = "nextToken" + } + } + + public struct ListS3ResourcesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "memberAccountId", required: false, type: .string), + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer) + ] + /// The Amazon Macie member account ID whose associated S3 resources you want to list. + public let memberAccountId: String? + /// 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. + public let nextToken: String? + /// Use this parameter to indicate the maximum number of items that you want in the response. The default value is 250. + public let maxResults: Int32? + + public init(memberAccountId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.memberAccountId = memberAccountId + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case memberAccountId = "memberAccountId" + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct AssociateS3ResourcesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "memberAccountId", required: false, type: .string), + AWSShapeMember(label: "s3Resources", required: true, type: .list) + ] + /// The ID of the Amazon Macie member account whose resources you want to associate with Macie. + public let memberAccountId: String? + /// The S3 resources that you want to associate with Amazon Macie for monitoring and data classification. + public let s3Resources: [S3ResourceClassification] + + public init(memberAccountId: String? = nil, s3Resources: [S3ResourceClassification]) { + self.memberAccountId = memberAccountId + self.s3Resources = s3Resources + } + + private enum CodingKeys: String, CodingKey { + case memberAccountId = "memberAccountId" + case s3Resources = "s3Resources" + } + } + + public enum S3OneTimeClassificationType: String, CustomStringConvertible, Codable { + case full = "FULL" + case none = "NONE" + public var description: String { return self.rawValue } + } + + public enum S3ContinuousClassificationType: String, CustomStringConvertible, Codable { + case full = "FULL" + public var description: String { return self.rawValue } + } + + public struct DisassociateS3ResourcesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "memberAccountId", required: false, type: .string), + AWSShapeMember(label: "associatedS3Resources", required: true, type: .list) + ] + /// The ID of the Amazon Macie member account whose resources you want to remove from being monitored by Amazon Macie. + public let memberAccountId: String? + /// The S3 resources (buckets or prefixes) that you want to remove from being monitored and classified by Amazon Macie. + public let associatedS3Resources: [S3Resource] + + public init(memberAccountId: String? = nil, associatedS3Resources: [S3Resource]) { + self.memberAccountId = memberAccountId + self.associatedS3Resources = associatedS3Resources + } + + private enum CodingKeys: String, CodingKey { + case memberAccountId = "memberAccountId" + case associatedS3Resources = "associatedS3Resources" + } + } + + public struct FailedS3Resource: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "failedItem", required: false, type: .structure), + AWSShapeMember(label: "errorCode", required: false, type: .string), + AWSShapeMember(label: "errorMessage", required: false, type: .string) + ] + /// The failed S3 resources. + public let failedItem: S3Resource? + /// The status code of a failed item. + public let errorCode: String? + /// The error message of a failed item. + public let errorMessage: String? + + public init(failedItem: S3Resource? = nil, errorCode: String? = nil, errorMessage: String? = nil) { + self.failedItem = failedItem + self.errorCode = errorCode + self.errorMessage = errorMessage + } + + private enum CodingKeys: String, CodingKey { + case failedItem = "failedItem" + case errorCode = "errorCode" + case errorMessage = "errorMessage" + } + } + + public struct AssociateS3ResourcesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "failedS3Resources", required: false, type: .list) + ] + /// S3 resources that couldn't be associated with Amazon Macie. An error code and an error message are provided for each failed item. + public let failedS3Resources: [FailedS3Resource]? + + public init(failedS3Resources: [FailedS3Resource]? = nil) { + self.failedS3Resources = failedS3Resources + } + + private enum CodingKeys: String, CodingKey { + case failedS3Resources = "failedS3Resources" + } + } + + public struct UpdateS3ResourcesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "memberAccountId", required: false, type: .string), + AWSShapeMember(label: "s3ResourcesUpdate", required: true, type: .list) + ] + /// The AWS ID of the Amazon Macie member account whose S3 resources' classification types you want to update. + public let memberAccountId: String? + /// The S3 resources whose classification types you want to update. + public let s3ResourcesUpdate: [S3ResourceClassificationUpdate] + + public init(memberAccountId: String? = nil, s3ResourcesUpdate: [S3ResourceClassificationUpdate]) { + self.memberAccountId = memberAccountId + self.s3ResourcesUpdate = s3ResourcesUpdate + } + + private enum CodingKeys: String, CodingKey { + case memberAccountId = "memberAccountId" + case s3ResourcesUpdate = "s3ResourcesUpdate" + } + } + + public struct S3ResourceClassificationUpdate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "prefix", required: false, type: .string), + AWSShapeMember(label: "bucketName", required: true, type: .string), + AWSShapeMember(label: "classificationTypeUpdate", required: true, type: .structure) + ] + /// The prefix of the S3 bucket whose classification types you want to update. + public let prefix: String? + /// The name of the S3 bucket whose classification types you want to update. + public let bucketName: String + /// The classification type that you want to update for the resource associated with Amazon Macie. + public let classificationTypeUpdate: ClassificationTypeUpdate + + public init(prefix: String? = nil, bucketName: String, classificationTypeUpdate: ClassificationTypeUpdate) { + self.prefix = prefix + self.bucketName = bucketName + self.classificationTypeUpdate = classificationTypeUpdate + } + + private enum CodingKeys: String, CodingKey { + case prefix = "prefix" + case bucketName = "bucketName" + case classificationTypeUpdate = "classificationTypeUpdate" + } + } + + public struct AssociateMemberAccountRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "memberAccountId", required: true, type: .string) + ] + /// The ID of the AWS account that you want to associate with Amazon Macie as a member account. + public let memberAccountId: String + + public init(memberAccountId: String) { + self.memberAccountId = memberAccountId + } + + private enum CodingKeys: String, CodingKey { + case memberAccountId = "memberAccountId" + } + } + + public struct ListMemberAccountsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "maxResults", required: false, type: .integer) + ] + /// 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. + public let nextToken: String? + /// Use this parameter to indicate the maximum number of items that you want in the response. The default value is 250. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct UpdateS3ResourcesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "failedS3Resources", required: false, type: .list) + ] + /// The S3 resources whose classification types can't be updated. An error code and an error message are provided for each failed item. + public let failedS3Resources: [FailedS3Resource]? + + public init(failedS3Resources: [FailedS3Resource]? = nil) { + self.failedS3Resources = failedS3Resources + } + + private enum CodingKeys: String, CodingKey { + case failedS3Resources = "failedS3Resources" + } + } + + public struct DisassociateS3ResourcesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "failedS3Resources", required: false, type: .list) + ] + /// 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. + public let failedS3Resources: [FailedS3Resource]? + + public init(failedS3Resources: [FailedS3Resource]? = nil) { + self.failedS3Resources = failedS3Resources + } + + private enum CodingKeys: String, CodingKey { + case failedS3Resources = "failedS3Resources" + } + } + + public struct S3ResourceClassification: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "prefix", required: false, type: .string), + AWSShapeMember(label: "bucketName", required: true, type: .string), + AWSShapeMember(label: "classificationType", required: true, type: .structure) + ] + /// The prefix of the S3 bucket that you want to associate with Amazon Macie. + public let prefix: String? + /// The name of the S3 bucket that you want to associate with Amazon Macie. + public let bucketName: String + /// The classification type that you want to specify for the resource associated with Amazon Macie. + public let classificationType: ClassificationType + + public init(prefix: String? = nil, bucketName: String, classificationType: ClassificationType) { + self.prefix = prefix + self.bucketName = bucketName + self.classificationType = classificationType + } + + private enum CodingKeys: String, CodingKey { + case prefix = "prefix" + case bucketName = "bucketName" + case classificationType = "classificationType" + } + } + + public struct ClassificationType: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "oneTime", required: true, type: .enum), + AWSShapeMember(label: "continuous", required: true, type: .enum) + ] + /// A one-time classification of all of the existing objects in a specified S3 bucket. + public let oneTime: S3OneTimeClassificationType + /// 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. + public let continuous: S3ContinuousClassificationType + + public init(oneTime: S3OneTimeClassificationType, continuous: S3ContinuousClassificationType) { + self.oneTime = oneTime + self.continuous = continuous + } + + private enum CodingKeys: String, CodingKey { + case oneTime = "oneTime" + case continuous = "continuous" + } + } + + public struct MemberAccount: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "accountId", required: false, type: .string) + ] + /// The AWS account ID of the Amazon Macie member account. + public let accountId: String? + + public init(accountId: String? = nil) { + self.accountId = accountId + } + + private enum CodingKeys: String, CodingKey { + case accountId = "accountId" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/mediaconvert/Mediaconvert_API.swift b/Sources/AWSSDKSwift/Services/mediaconvert/Mediaconvert_API.swift index ba06733beb3..bbbc383961d 100644 --- a/Sources/AWSSDKSwift/Services/mediaconvert/Mediaconvert_API.swift +++ b/Sources/AWSSDKSwift/Services/mediaconvert/Mediaconvert_API.swift @@ -24,6 +24,11 @@ public struct Mediaconvert { ) } + /// 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. + public func cancelJob(_ input: CancelJobRequest) throws -> CancelJobResponse { + return try client.send(operation: "CancelJob", path: "/2017-08-29/jobs/{id}", httpMethod: "DELETE", input: input) + } + /// 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. public func listPresets(_ input: ListPresetsRequest) throws -> ListPresetsResponse { return try client.send(operation: "ListPresets", path: "/2017-08-29/presets", httpMethod: "GET", input: input) @@ -64,6 +69,11 @@ public struct Mediaconvert { return try client.send(operation: "UpdateJobTemplate", path: "/2017-08-29/jobTemplates/{name}", httpMethod: "PUT", input: input) } + /// Retrieve the tags for a MediaConvert resource. + public func listTagsForResource(_ input: ListTagsForResourceRequest) throws -> ListTagsForResourceResponse { + return try client.send(operation: "ListTagsForResource", path: "/2017-08-29/tags/{arn}", httpMethod: "GET", input: input) + } + /// Retrieve the JSON for a specific job template. public func getJobTemplate(_ input: GetJobTemplateRequest) throws -> GetJobTemplateResponse { return try client.send(operation: "GetJobTemplate", path: "/2017-08-29/jobTemplates/{name}", httpMethod: "GET", input: input) @@ -74,6 +84,11 @@ public struct Mediaconvert { return try client.send(operation: "GetQueue", path: "/2017-08-29/queues/{name}", httpMethod: "GET", input: input) } + /// 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 + public func untagResource(_ input: UntagResourceRequest) throws -> UntagResourceResponse { + return try client.send(operation: "UntagResource", path: "/2017-08-29/tags", httpMethod: "DELETE", input: input) + } + /// Retrieve the JSON for a specific completed transcoding job. public func getJob(_ input: GetJobRequest) throws -> GetJobResponse { return try client.send(operation: "GetJob", path: "/2017-08-29/jobs/{id}", httpMethod: "GET", input: input) @@ -89,9 +104,9 @@ public struct Mediaconvert { return try client.send(operation: "DeleteQueue", path: "/2017-08-29/queues/{name}", httpMethod: "DELETE", input: input) } - /// 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. - public func listJobs(_ input: ListJobsRequest) throws -> ListJobsResponse { - return try client.send(operation: "ListJobs", path: "/2017-08-29/jobs", httpMethod: "GET", input: input) + /// 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 + public func tagResource(_ input: TagResourceRequest) throws -> TagResourceResponse { + return try client.send(operation: "TagResource", path: "/2017-08-29/tags", httpMethod: "POST", input: input) } /// Send an request with an empty body to the regional API endpoint to get your account API endpoint. @@ -99,30 +114,30 @@ public struct Mediaconvert { return try client.send(operation: "DescribeEndpoints", path: "/2017-08-29/endpoints", httpMethod: "POST", input: input) } + /// 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 + public func createPreset(_ input: CreatePresetRequest) throws -> CreatePresetResponse { + return try client.send(operation: "CreatePreset", path: "/2017-08-29/presets", httpMethod: "POST", input: input) + } + /// 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 public func createQueue(_ input: CreateQueueRequest) throws -> CreateQueueResponse { return try client.send(operation: "CreateQueue", path: "/2017-08-29/queues", httpMethod: "POST", input: input) } + /// 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. + public func listJobs(_ input: ListJobsRequest) throws -> ListJobsResponse { + return try client.send(operation: "ListJobs", path: "/2017-08-29/jobs", httpMethod: "GET", input: input) + } + /// 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. public func listQueues(_ input: ListQueuesRequest) throws -> ListQueuesResponse { return try client.send(operation: "ListQueues", path: "/2017-08-29/queues", httpMethod: "GET", input: input) } - /// 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 - public func createPreset(_ input: CreatePresetRequest) throws -> CreatePresetResponse { - return try client.send(operation: "CreatePreset", path: "/2017-08-29/presets", httpMethod: "POST", input: input) - } - /// Modify one of your existing queues. public func updateQueue(_ input: UpdateQueueRequest) throws -> UpdateQueueResponse { return try client.send(operation: "UpdateQueue", path: "/2017-08-29/queues/{name}", httpMethod: "PUT", input: input) } - /// 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. - public func cancelJob(_ input: CancelJobRequest) throws -> CancelJobResponse { - return try client.send(operation: "CancelJob", path: "/2017-08-29/jobs/{id}", httpMethod: "DELETE", input: input) - } - } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/mediaconvert/Mediaconvert_Shapes.swift b/Sources/AWSSDKSwift/Services/mediaconvert/Mediaconvert_Shapes.swift index 8cc097a31ae..1e0671987d1 100644 --- a/Sources/AWSSDKSwift/Services/mediaconvert/Mediaconvert_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/mediaconvert/Mediaconvert_Shapes.swift @@ -5,33 +5,25 @@ import AWSSDKSwiftCore extension Mediaconvert { - public enum H264GopSizeUnits: String, CustomStringConvertible, Codable { - case frames = "FRAMES" - case seconds = "SECONDS" - public var description: String { return self.rawValue } - } - - public enum NoiseReducerFilter: String, CustomStringConvertible, Codable { - case bilateral = "BILATERAL" - case mean = "MEAN" - case gaussian = "GAUSSIAN" - case lanczos = "LANCZOS" - case sharpen = "SHARPEN" - case conserve = "CONSERVE" - case spatial = "SPATIAL" - public var description: String { return self.rawValue } - } + public struct TagResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Tags", location: .body(locationName: "tags"), required: true, type: .map), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: true, type: .string) + ] + /// The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key. + public let tags: [String: String] + /// 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. + public let arn: String - public enum AacAudioDescriptionBroadcasterMix: String, CustomStringConvertible, Codable { - case broadcasterMixedAd = "BROADCASTER_MIXED_AD" - case normal = "NORMAL" - public var description: String { return self.rawValue } - } + public init(tags: [String: String], arn: String) { + self.tags = tags + self.arn = arn + } - public enum AudioNormalizationAlgorithm: String, CustomStringConvertible, Codable { - case ituBs17701 = "ITU_BS_1770_1" - case ituBs17702 = "ITU_BS_1770_2" - public var description: String { return self.rawValue } + private enum CodingKeys: String, CodingKey { + case tags = "tags" + case arn = "arn" + } } public enum Ac3BitstreamMode: String, CustomStringConvertible, Codable { @@ -46,27 +38,6 @@ extension Mediaconvert { public var description: String { return self.rawValue } } - public struct UpdateJobTemplateResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobTemplate", location: .body(locationName: "jobTemplate"), required: false, type: .structure) - ] - public let jobTemplate: JobTemplate? - - public init(jobTemplate: JobTemplate? = nil) { - self.jobTemplate = jobTemplate - } - - private enum CodingKeys: String, CodingKey { - case jobTemplate = "jobTemplate" - } - } - - public enum TtmlStylePassthrough: String, CustomStringConvertible, Codable { - case enabled = "ENABLED" - case disabled = "DISABLED" - public var description: String { return self.rawValue } - } - public enum DeinterlaceAlgorithm: String, CustomStringConvertible, Codable { case interpolate = "INTERPOLATE" case interpolateTicker = "INTERPOLATE_TICKER" @@ -75,19 +46,25 @@ extension Mediaconvert { public var description: String { return self.rawValue } } + public enum ColorMetadata: String, CustomStringConvertible, Codable { + case ignore = "IGNORE" + case insert = "INSERT" + public var description: String { return self.rawValue } + } + public struct RemixSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ChannelsOut", location: .body(locationName: "channelsOut"), required: false, type: .integer), - AWSShapeMember(label: "ChannelMapping", location: .body(locationName: "channelMapping"), required: false, type: .structure), - AWSShapeMember(label: "ChannelsIn", location: .body(locationName: "channelsIn"), required: false, type: .integer) + AWSShapeMember(label: "ChannelsOut", location: .body(locationName: "channelsOut"), required: true, type: .integer), + AWSShapeMember(label: "ChannelMapping", location: .body(locationName: "channelMapping"), required: true, type: .structure), + AWSShapeMember(label: "ChannelsIn", location: .body(locationName: "channelsIn"), required: true, type: .integer) ] /// Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8 - public let channelsOut: Int32? - public let channelMapping: ChannelMapping? + public let channelsOut: Int32 + public let channelMapping: ChannelMapping /// 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. - public let channelsIn: Int32? + public let channelsIn: Int32 - public init(channelsOut: Int32? = nil, channelMapping: ChannelMapping? = nil, channelsIn: Int32? = nil) { + public init(channelsOut: Int32, channelMapping: ChannelMapping, channelsIn: Int32) { self.channelsOut = channelsOut self.channelMapping = channelMapping self.channelsIn = channelsIn @@ -106,18 +83,6 @@ extension Mediaconvert { public var description: String { return self.rawValue } } - public enum ColorMetadata: String, CustomStringConvertible, Codable { - case ignore = "IGNORE" - case insert = "INSERT" - public var description: String { return self.rawValue } - } - - public enum ColorSpaceUsage: String, CustomStringConvertible, Codable { - case force = "FORCE" - case fallback = "FALLBACK" - public var description: String { return self.rawValue } - } - public enum Ac3DynamicRangeCompressionProfile: String, CustomStringConvertible, Codable { case filmStandard = "FILM_STANDARD" case none = "NONE" @@ -130,28 +95,13 @@ extension Mediaconvert { public var description: String { return self.rawValue } } - public struct TtmlDestinationSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StylePassthrough", location: .body(locationName: "stylePassthrough"), required: false, type: .enum) - ] - public let stylePassthrough: TtmlStylePassthrough? - - public init(stylePassthrough: TtmlStylePassthrough? = nil) { - self.stylePassthrough = stylePassthrough - } - - private enum CodingKeys: String, CodingKey { - case stylePassthrough = "stylePassthrough" - } - } - - public enum ProresFramerateConversionAlgorithm: String, CustomStringConvertible, Codable { - case duplicateDrop = "DUPLICATE_DROP" - case interpolate = "INTERPOLATE" + public enum H264SceneChangeDetect: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum H264SceneChangeDetect: String, CustomStringConvertible, Codable { + public enum CmafClientCache: String, CustomStringConvertible, Codable { case disabled = "DISABLED" case enabled = "ENABLED" public var description: String { return self.rawValue } @@ -173,142 +123,6 @@ extension Mediaconvert { } } - public struct OutputGroup: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CustomName", location: .body(locationName: "customName"), required: false, type: .string), - AWSShapeMember(label: "OutputGroupSettings", location: .body(locationName: "outputGroupSettings"), required: false, type: .structure), - AWSShapeMember(label: "Outputs", location: .body(locationName: "outputs"), required: false, type: .list), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string) - ] - /// 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. - public let customName: String? - public let outputGroupSettings: OutputGroupSettings? - /// This object holds groups of encoding settings, one group of settings per output. - public let outputs: [Output]? - /// Name of the output group - public let name: String? - - public init(customName: String? = nil, outputGroupSettings: OutputGroupSettings? = nil, outputs: [Output]? = nil, name: String? = nil) { - self.customName = customName - self.outputGroupSettings = outputGroupSettings - self.outputs = outputs - self.name = name - } - - private enum CodingKeys: String, CodingKey { - case customName = "customName" - case outputGroupSettings = "outputGroupSettings" - case outputs = "outputs" - case name = "name" - } - } - - public struct Eac3Settings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DynamicRangeCompressionRf", location: .body(locationName: "dynamicRangeCompressionRf"), required: false, type: .enum), - AWSShapeMember(label: "LtRtCenterMixLevel", location: .body(locationName: "ltRtCenterMixLevel"), required: false, type: .double), - AWSShapeMember(label: "StereoDownmix", location: .body(locationName: "stereoDownmix"), required: false, type: .enum), - AWSShapeMember(label: "Dialnorm", location: .body(locationName: "dialnorm"), required: false, type: .integer), - AWSShapeMember(label: "DcFilter", location: .body(locationName: "dcFilter"), required: false, type: .enum), - AWSShapeMember(label: "LtRtSurroundMixLevel", location: .body(locationName: "ltRtSurroundMixLevel"), required: false, type: .double), - AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), - AWSShapeMember(label: "SurroundExMode", location: .body(locationName: "surroundExMode"), required: false, type: .enum), - AWSShapeMember(label: "MetadataControl", location: .body(locationName: "metadataControl"), required: false, type: .enum), - AWSShapeMember(label: "SurroundMode", location: .body(locationName: "surroundMode"), required: false, type: .enum), - AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: false, type: .enum), - AWSShapeMember(label: "LfeFilter", location: .body(locationName: "lfeFilter"), required: false, type: .enum), - AWSShapeMember(label: "BitstreamMode", location: .body(locationName: "bitstreamMode"), required: false, type: .enum), - AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .integer), - AWSShapeMember(label: "PassthroughControl", location: .body(locationName: "passthroughControl"), required: false, type: .enum), - AWSShapeMember(label: "LoRoSurroundMixLevel", location: .body(locationName: "loRoSurroundMixLevel"), required: false, type: .double), - AWSShapeMember(label: "LoRoCenterMixLevel", location: .body(locationName: "loRoCenterMixLevel"), required: false, type: .double), - AWSShapeMember(label: "PhaseControl", location: .body(locationName: "phaseControl"), required: false, type: .enum), - AWSShapeMember(label: "AttenuationControl", location: .body(locationName: "attenuationControl"), required: false, type: .enum), - AWSShapeMember(label: "DynamicRangeCompressionLine", location: .body(locationName: "dynamicRangeCompressionLine"), required: false, type: .enum), - AWSShapeMember(label: "LfeControl", location: .body(locationName: "lfeControl"), required: false, type: .enum) - ] - public let dynamicRangeCompressionRf: Eac3DynamicRangeCompressionRf? - /// Left total/Right total center mix level. Only used for 3/2 coding mode. - /// Valid values: 3.0, 1.5, 0.0, -1.5 -3.0 -4.5 -6.0 -60 - public let ltRtCenterMixLevel: Double? - public let stereoDownmix: Eac3StereoDownmix? - /// Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through. - public let dialnorm: Int32? - public let dcFilter: Eac3DcFilter? - /// Left total/Right total surround mix level. Only used for 3/2 coding mode. - /// Valid values: -1.5 -3.0 -4.5 -6.0 -60 - public let ltRtSurroundMixLevel: Double? - /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. - public let bitrate: Int32? - public let surroundExMode: Eac3SurroundExMode? - public let metadataControl: Eac3MetadataControl? - public let surroundMode: Eac3SurroundMode? - public let codingMode: Eac3CodingMode? - public let lfeFilter: Eac3LfeFilter? - public let bitstreamMode: Eac3BitstreamMode? - /// Sample rate in hz. Sample rate is always 48000. - public let sampleRate: Int32? - public let passthroughControl: Eac3PassthroughControl? - /// Left only/Right only surround mix level. Only used for 3/2 coding mode. - /// Valid values: -1.5 -3.0 -4.5 -6.0 -60 - public let loRoSurroundMixLevel: Double? - /// Left only/Right only center mix level. Only used for 3/2 coding mode. - /// Valid values: 3.0, 1.5, 0.0, -1.5 -3.0 -4.5 -6.0 -60 - public let loRoCenterMixLevel: Double? - public let phaseControl: Eac3PhaseControl? - public let attenuationControl: Eac3AttenuationControl? - public let dynamicRangeCompressionLine: Eac3DynamicRangeCompressionLine? - public let lfeControl: Eac3LfeControl? - - public init(dynamicRangeCompressionRf: Eac3DynamicRangeCompressionRf? = nil, ltRtCenterMixLevel: Double? = nil, stereoDownmix: Eac3StereoDownmix? = nil, dialnorm: Int32? = nil, dcFilter: Eac3DcFilter? = nil, ltRtSurroundMixLevel: Double? = nil, bitrate: Int32? = nil, surroundExMode: Eac3SurroundExMode? = nil, metadataControl: Eac3MetadataControl? = nil, surroundMode: Eac3SurroundMode? = nil, codingMode: Eac3CodingMode? = nil, lfeFilter: Eac3LfeFilter? = nil, bitstreamMode: Eac3BitstreamMode? = nil, sampleRate: Int32? = nil, passthroughControl: Eac3PassthroughControl? = nil, loRoSurroundMixLevel: Double? = nil, loRoCenterMixLevel: Double? = nil, phaseControl: Eac3PhaseControl? = nil, attenuationControl: Eac3AttenuationControl? = nil, dynamicRangeCompressionLine: Eac3DynamicRangeCompressionLine? = nil, lfeControl: Eac3LfeControl? = nil) { - self.dynamicRangeCompressionRf = dynamicRangeCompressionRf - self.ltRtCenterMixLevel = ltRtCenterMixLevel - self.stereoDownmix = stereoDownmix - self.dialnorm = dialnorm - self.dcFilter = dcFilter - self.ltRtSurroundMixLevel = ltRtSurroundMixLevel - self.bitrate = bitrate - self.surroundExMode = surroundExMode - self.metadataControl = metadataControl - self.surroundMode = surroundMode - self.codingMode = codingMode - self.lfeFilter = lfeFilter - self.bitstreamMode = bitstreamMode - self.sampleRate = sampleRate - self.passthroughControl = passthroughControl - self.loRoSurroundMixLevel = loRoSurroundMixLevel - self.loRoCenterMixLevel = loRoCenterMixLevel - self.phaseControl = phaseControl - self.attenuationControl = attenuationControl - self.dynamicRangeCompressionLine = dynamicRangeCompressionLine - self.lfeControl = lfeControl - } - - private enum CodingKeys: String, CodingKey { - case dynamicRangeCompressionRf = "dynamicRangeCompressionRf" - case ltRtCenterMixLevel = "ltRtCenterMixLevel" - case stereoDownmix = "stereoDownmix" - case dialnorm = "dialnorm" - case dcFilter = "dcFilter" - case ltRtSurroundMixLevel = "ltRtSurroundMixLevel" - case bitrate = "bitrate" - case surroundExMode = "surroundExMode" - case metadataControl = "metadataControl" - case surroundMode = "surroundMode" - case codingMode = "codingMode" - case lfeFilter = "lfeFilter" - case bitstreamMode = "bitstreamMode" - case sampleRate = "sampleRate" - case passthroughControl = "passthroughControl" - case loRoSurroundMixLevel = "loRoSurroundMixLevel" - case loRoCenterMixLevel = "loRoCenterMixLevel" - case phaseControl = "phaseControl" - case attenuationControl = "attenuationControl" - case dynamicRangeCompressionLine = "dynamicRangeCompressionLine" - case lfeControl = "lfeControl" - } - } - public enum InputFilterEnable: String, CustomStringConvertible, Codable { case auto = "AUTO" case disable = "DISABLE" @@ -518,16 +332,6 @@ extension Mediaconvert { public var description: String { return self.rawValue } } - public enum Ac3LfeFilter: String, CustomStringConvertible, Codable { - case enabled = "ENABLED" - case disabled = "DISABLED" - public var description: String { return self.rawValue } - } - - public struct DeleteQueueResponse: AWSShape { - - } - public enum Ac3CodingMode: String, CustomStringConvertible, Codable { case codingMode10 = "CODING_MODE_1_0" case codingMode11 = "CODING_MODE_1_1" @@ -536,47 +340,31 @@ extension Mediaconvert { public var description: String { return self.rawValue } } - public enum MsSmoothManifestEncoding: String, CustomStringConvertible, Codable { - case utf8 = "UTF8" - case utf16 = "UTF16" + public struct DeleteQueueResponse: AWSShape { + + } + + public enum CmafWriteHLSManifest: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum Order: String, CustomStringConvertible, Codable { - case ascending = "ASCENDING" - case descending = "DESCENDING" + public enum Eac3SurroundExMode: String, CustomStringConvertible, Codable { + case notIndicated = "NOT_INDICATED" + case enabled = "ENABLED" + case disabled = "DISABLED" public var description: String { return self.rawValue } } - public struct GetPresetResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Preset", location: .body(locationName: "preset"), required: false, type: .structure) - ] - public let preset: Preset? - - public init(preset: Preset? = nil) { - self.preset = preset - } - - private enum CodingKeys: String, CodingKey { - case preset = "preset" - } - } - - public enum F4vMoovPlacement: String, CustomStringConvertible, Codable { - case progressiveDownload = "PROGRESSIVE_DOWNLOAD" - case normal = "NORMAL" - public var description: String { return self.rawValue } - } - - public struct HlsEncryptionSettings: AWSShape { + public struct HlsEncryptionSettings: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "InitializationVectorInManifest", location: .body(locationName: "initializationVectorInManifest"), required: false, type: .enum), AWSShapeMember(label: "StaticKeyProvider", location: .body(locationName: "staticKeyProvider"), required: false, type: .structure), AWSShapeMember(label: "ConstantInitializationVector", location: .body(locationName: "constantInitializationVector"), required: false, type: .string), AWSShapeMember(label: "EncryptionMethod", location: .body(locationName: "encryptionMethod"), required: false, type: .enum), AWSShapeMember(label: "SpekeKeyProvider", location: .body(locationName: "spekeKeyProvider"), required: false, type: .structure), - AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum) + AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: true, type: .enum) ] public let initializationVectorInManifest: HlsInitializationVectorInManifest? public let staticKeyProvider: StaticKeyProvider? @@ -584,9 +372,9 @@ extension Mediaconvert { public let constantInitializationVector: String? public let encryptionMethod: HlsEncryptionType? public let spekeKeyProvider: SpekeKeyProvider? - public let `type`: HlsKeyProviderType? + public let `type`: HlsKeyProviderType - public init(initializationVectorInManifest: HlsInitializationVectorInManifest? = nil, staticKeyProvider: StaticKeyProvider? = nil, constantInitializationVector: String? = nil, encryptionMethod: HlsEncryptionType? = nil, spekeKeyProvider: SpekeKeyProvider? = nil, type: HlsKeyProviderType? = nil) { + public init(initializationVectorInManifest: HlsInitializationVectorInManifest? = nil, staticKeyProvider: StaticKeyProvider? = nil, constantInitializationVector: String? = nil, encryptionMethod: HlsEncryptionType? = nil, spekeKeyProvider: SpekeKeyProvider? = nil, type: HlsKeyProviderType) { self.initializationVectorInManifest = initializationVectorInManifest self.staticKeyProvider = staticKeyProvider self.constantInitializationVector = constantInitializationVector @@ -605,60 +393,42 @@ extension Mediaconvert { } } - public enum H265SlowPal: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum DeinterlacerControl: String, CustomStringConvertible, Codable { + case forceAllFrames = "FORCE_ALL_FRAMES" + case normal = "NORMAL" public var description: String { return self.rawValue } } - public struct GetJobTemplateRequest: AWSShape { + public struct CancelJobResponse: AWSShape { + + } + + public struct CreateQueueRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string) + AWSShapeMember(label: "Tags", location: .body(locationName: "tags"), required: false, type: .map), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] - /// The name of the job template. + /// The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key. + public let tags: [String: String]? + /// The name of the queue you are creating. public let name: String + /// Optional. A description of the queue you are creating. + public let description: String? - public init(name: String) { + public init(tags: [String: String]? = nil, name: String, description: String? = nil) { + self.tags = tags self.name = name + self.description = description } private enum CodingKeys: String, CodingKey { + case tags = "tags" case name = "name" + case description = "description" } } - public enum Eac3SurroundMode: String, CustomStringConvertible, Codable { - case notIndicated = "NOT_INDICATED" - case enabled = "ENABLED" - case disabled = "DISABLED" - public var description: String { return self.rawValue } - } - - public enum DeinterlacerControl: String, CustomStringConvertible, Codable { - case forceAllFrames = "FORCE_ALL_FRAMES" - case normal = "NORMAL" - public var description: String { return self.rawValue } - } - - public enum ColorSpaceConversion: String, CustomStringConvertible, Codable { - case none = "NONE" - case force601 = "FORCE_601" - case force709 = "FORCE_709" - case forceHdr10 = "FORCE_HDR10" - case forceHlg2020 = "FORCE_HLG_2020" - public var description: String { return self.rawValue } - } - - public enum M2tsScte35Source: String, CustomStringConvertible, Codable { - case passthrough = "PASSTHROUGH" - case none = "NONE" - public var description: String { return self.rawValue } - } - - public struct CancelJobResponse: AWSShape { - - } - public enum H265SampleAdaptiveOffsetFilterMode: String, CustomStringConvertible, Codable { case `default` = "DEFAULT" case adaptive = "ADAPTIVE" @@ -682,74 +452,17 @@ extension Mediaconvert { } } - public enum Eac3SurroundExMode: String, CustomStringConvertible, Codable { - case notIndicated = "NOT_INDICATED" - case enabled = "ENABLED" - case disabled = "DISABLED" + public enum CmafKeyProviderType: String, CustomStringConvertible, Codable { + case staticKey = "STATIC_KEY" public var description: String { return self.rawValue } } - public struct VideoSelector: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ColorSpace", location: .body(locationName: "colorSpace"), required: false, type: .enum), - AWSShapeMember(label: "ColorSpaceUsage", location: .body(locationName: "colorSpaceUsage"), required: false, type: .enum), - AWSShapeMember(label: "Pid", location: .body(locationName: "pid"), required: false, type: .integer), - AWSShapeMember(label: "Hdr10Metadata", location: .body(locationName: "hdr10Metadata"), required: false, type: .structure), - AWSShapeMember(label: "ProgramNumber", location: .body(locationName: "programNumber"), required: false, type: .integer) - ] - public let colorSpace: ColorSpace? - public let colorSpaceUsage: ColorSpaceUsage? - /// 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. - public let pid: Int32? - public let hdr10Metadata: Hdr10Metadata? - /// Selects a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported. - public let programNumber: Int32? - - public init(colorSpace: ColorSpace? = nil, colorSpaceUsage: ColorSpaceUsage? = nil, pid: Int32? = nil, hdr10Metadata: Hdr10Metadata? = nil, programNumber: Int32? = nil) { - self.colorSpace = colorSpace - self.colorSpaceUsage = colorSpaceUsage - self.pid = pid - self.hdr10Metadata = hdr10Metadata - self.programNumber = programNumber - } - - private enum CodingKeys: String, CodingKey { - case colorSpace = "colorSpace" - case colorSpaceUsage = "colorSpaceUsage" - case pid = "pid" - case hdr10Metadata = "hdr10Metadata" - case programNumber = "programNumber" - } - } - public enum H265TemporalAdaptiveQuantization: String, CustomStringConvertible, Codable { case disabled = "DISABLED" case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum H265FlickerAdaptiveQuantization: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } - - public struct DvbSubSourceSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Pid", location: .body(locationName: "pid"), required: false, type: .integer) - ] - /// 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. - public let pid: Int32? - - public init(pid: Int32? = nil) { - self.pid = pid - } - - private enum CodingKeys: String, CodingKey { - case pid = "pid" - } - } - public enum H264Telecine: String, CustomStringConvertible, Codable { case none = "NONE" case soft = "SOFT" @@ -757,50 +470,6 @@ extension Mediaconvert { public var description: String { return self.rawValue } } - public struct GetJobResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Job", location: .body(locationName: "job"), required: false, type: .structure) - ] - public let job: Job? - - public init(job: Job? = nil) { - self.job = job - } - - private enum CodingKeys: String, CodingKey { - case job = "job" - } - } - - public struct ListQueuesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ListBy", location: .querystring(locationName: "listBy"), required: false, type: .enum), - AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "Order", location: .querystring(locationName: "order"), required: false, type: .enum), - AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) - ] - public let listBy: QueueListBy? - /// Use this string, provided with the response to a previous request, to request the next batch of queues. - public let nextToken: String? - public let order: Order? - /// Optional. Number of queues, up to twenty, that will be returned at one time. - public let maxResults: Int32? - - public init(listBy: QueueListBy? = nil, nextToken: String? = nil, order: Order? = nil, maxResults: Int32? = nil) { - self.listBy = listBy - self.nextToken = nextToken - self.order = order - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case listBy = "listBy" - case nextToken = "nextToken" - case order = "order" - case maxResults = "maxResults" - } - } - public enum ProresFramerateControl: String, CustomStringConvertible, Codable { case initializeFromSource = "INITIALIZE_FROM_SOURCE" case specified = "SPECIFIED" @@ -872,244 +541,117 @@ extension Mediaconvert { } } - public struct CreateQueueRequest: AWSShape { + public enum DashIsoSegmentControl: String, CustomStringConvertible, Codable { + case singleFile = "SINGLE_FILE" + case segmentedFiles = "SEGMENTED_FILES" + public var description: String { return self.rawValue } + } + + public struct DashIsoGroupSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: false, type: .string), + AWSShapeMember(label: "FragmentLength", location: .body(locationName: "fragmentLength"), required: true, type: .integer), + AWSShapeMember(label: "MinBufferTime", location: .body(locationName: "minBufferTime"), required: false, type: .integer), + AWSShapeMember(label: "HbbtvCompliance", location: .body(locationName: "hbbtvCompliance"), required: false, type: .enum), + AWSShapeMember(label: "Encryption", location: .body(locationName: "encryption"), required: false, type: .structure), + AWSShapeMember(label: "BaseUrl", location: .body(locationName: "baseUrl"), required: false, type: .string), + AWSShapeMember(label: "SegmentControl", location: .body(locationName: "segmentControl"), required: false, type: .enum), + AWSShapeMember(label: "SegmentLength", location: .body(locationName: "segmentLength"), required: true, type: .integer) ] - /// The name of the queue you are creating. - public let name: String? - /// Optional. A description of the queue you are creating. - public let description: String? + /// 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. + public let destination: String? + /// 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. + public let fragmentLength: Int32 + /// Minimum time of initially buffered media that is needed to ensure smooth playout. + public let minBufferTime: Int32? + public let hbbtvCompliance: DashIsoHbbtvCompliance? + /// DRM settings. + public let encryption: DashIsoEncryptionSettings? + /// 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. + public let baseUrl: String? + public let segmentControl: DashIsoSegmentControl? + /// 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. + public let segmentLength: Int32 - public init(name: String? = nil, description: String? = nil) { - self.name = name - self.description = description + public init(destination: String? = nil, fragmentLength: Int32, minBufferTime: Int32? = nil, hbbtvCompliance: DashIsoHbbtvCompliance? = nil, encryption: DashIsoEncryptionSettings? = nil, baseUrl: String? = nil, segmentControl: DashIsoSegmentControl? = nil, segmentLength: Int32) { + self.destination = destination + self.fragmentLength = fragmentLength + self.minBufferTime = minBufferTime + self.hbbtvCompliance = hbbtvCompliance + self.encryption = encryption + self.baseUrl = baseUrl + self.segmentControl = segmentControl + self.segmentLength = segmentLength } private enum CodingKeys: String, CodingKey { - case name = "name" - case description = "description" + case destination = "destination" + case fragmentLength = "fragmentLength" + case minBufferTime = "minBufferTime" + case hbbtvCompliance = "hbbtvCompliance" + case encryption = "encryption" + case baseUrl = "baseUrl" + case segmentControl = "segmentControl" + case segmentLength = "segmentLength" } } - public enum DashIsoSegmentControl: String, CustomStringConvertible, Codable { - case singleFile = "SINGLE_FILE" - case segmentedFiles = "SEGMENTED_FILES" + public enum BurninSubtitleTeletextSpacing: String, CustomStringConvertible, Codable { + case fixedGrid = "FIXED_GRID" + case proportional = "PROPORTIONAL" public var description: String { return self.rawValue } } - public struct DvbSubDestinationSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BackgroundColor", location: .body(locationName: "backgroundColor"), required: false, type: .enum), - AWSShapeMember(label: "BackgroundOpacity", location: .body(locationName: "backgroundOpacity"), required: false, type: .integer), - AWSShapeMember(label: "YPosition", location: .body(locationName: "yPosition"), required: false, type: .integer), - AWSShapeMember(label: "FontOpacity", location: .body(locationName: "fontOpacity"), required: false, type: .integer), - AWSShapeMember(label: "ShadowXOffset", location: .body(locationName: "shadowXOffset"), required: false, type: .integer), - AWSShapeMember(label: "FontSize", location: .body(locationName: "fontSize"), required: false, type: .integer), - AWSShapeMember(label: "Alignment", location: .body(locationName: "alignment"), required: false, type: .enum), - AWSShapeMember(label: "XPosition", location: .body(locationName: "xPosition"), required: false, type: .integer), - AWSShapeMember(label: "ShadowOpacity", location: .body(locationName: "shadowOpacity"), required: false, type: .integer), - AWSShapeMember(label: "FontColor", location: .body(locationName: "fontColor"), required: false, type: .enum), - AWSShapeMember(label: "OutlineColor", location: .body(locationName: "outlineColor"), required: false, type: .enum), - AWSShapeMember(label: "ShadowColor", location: .body(locationName: "shadowColor"), required: false, type: .enum), - AWSShapeMember(label: "TeletextSpacing", location: .body(locationName: "teletextSpacing"), required: false, type: .enum), - AWSShapeMember(label: "FontResolution", location: .body(locationName: "fontResolution"), required: false, type: .integer), - AWSShapeMember(label: "ShadowYOffset", location: .body(locationName: "shadowYOffset"), required: false, type: .integer), - AWSShapeMember(label: "OutlineSize", location: .body(locationName: "outlineSize"), required: false, type: .integer) - ] - public let backgroundColor: DvbSubtitleBackgroundColor? - /// 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. - public let backgroundOpacity: Int32? - /// 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. - public let yPosition: Int32? - /// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. - /// All burn-in and DVB-Sub font settings must match. - public let fontOpacity: Int32? - /// 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. - public let shadowXOffset: Int32? - /// 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. - public let fontSize: Int32? - public let alignment: DvbSubtitleAlignment? - /// 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. - public let xPosition: Int32? - /// 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. - public let shadowOpacity: Int32? - public let fontColor: DvbSubtitleFontColor? - public let outlineColor: DvbSubtitleOutlineColor? - public let shadowColor: DvbSubtitleShadowColor? - public let teletextSpacing: DvbSubtitleTeletextSpacing? - /// Font resolution in DPI (dots per inch); default is 96 dpi. - /// All burn-in and DVB-Sub font settings must match. - public let fontResolution: Int32? - /// 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. - public let shadowYOffset: Int32? - /// 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. - public let outlineSize: Int32? - - public init(backgroundColor: DvbSubtitleBackgroundColor? = nil, backgroundOpacity: Int32? = nil, yPosition: Int32? = nil, fontOpacity: Int32? = nil, shadowXOffset: Int32? = nil, fontSize: Int32? = nil, alignment: DvbSubtitleAlignment? = nil, xPosition: Int32? = nil, shadowOpacity: Int32? = nil, fontColor: DvbSubtitleFontColor? = nil, outlineColor: DvbSubtitleOutlineColor? = nil, shadowColor: DvbSubtitleShadowColor? = nil, teletextSpacing: DvbSubtitleTeletextSpacing? = nil, fontResolution: Int32? = nil, shadowYOffset: Int32? = nil, outlineSize: Int32? = nil) { - self.backgroundColor = backgroundColor - self.backgroundOpacity = backgroundOpacity - self.yPosition = yPosition - self.fontOpacity = fontOpacity - self.shadowXOffset = shadowXOffset - self.fontSize = fontSize - self.alignment = alignment - self.xPosition = xPosition - self.shadowOpacity = shadowOpacity - self.fontColor = fontColor - self.outlineColor = outlineColor - self.shadowColor = shadowColor - self.teletextSpacing = teletextSpacing - self.fontResolution = fontResolution - self.shadowYOffset = shadowYOffset - self.outlineSize = outlineSize - } - - private enum CodingKeys: String, CodingKey { - case backgroundColor = "backgroundColor" - case backgroundOpacity = "backgroundOpacity" - case yPosition = "yPosition" - case fontOpacity = "fontOpacity" - case shadowXOffset = "shadowXOffset" - case fontSize = "fontSize" - case alignment = "alignment" - case xPosition = "xPosition" - case shadowOpacity = "shadowOpacity" - case fontColor = "fontColor" - case outlineColor = "outlineColor" - case shadowColor = "shadowColor" - case teletextSpacing = "teletextSpacing" - case fontResolution = "fontResolution" - case shadowYOffset = "shadowYOffset" - case outlineSize = "outlineSize" - } - } - - public enum H264QualityTuningLevel: String, CustomStringConvertible, Codable { - case singlePass = "SINGLE_PASS" - case singlePassHq = "SINGLE_PASS_HQ" - case multiPassHq = "MULTI_PASS_HQ" - public var description: String { return self.rawValue } - } - - public struct DashIsoGroupSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: false, type: .string), - AWSShapeMember(label: "FragmentLength", location: .body(locationName: "fragmentLength"), required: false, type: .integer), - AWSShapeMember(label: "MinBufferTime", location: .body(locationName: "minBufferTime"), required: false, type: .integer), - AWSShapeMember(label: "HbbtvCompliance", location: .body(locationName: "hbbtvCompliance"), required: false, type: .enum), - AWSShapeMember(label: "Encryption", location: .body(locationName: "encryption"), required: false, type: .structure), - AWSShapeMember(label: "BaseUrl", location: .body(locationName: "baseUrl"), required: false, type: .string), - AWSShapeMember(label: "SegmentLength", location: .body(locationName: "segmentLength"), required: false, type: .integer), - AWSShapeMember(label: "SegmentControl", location: .body(locationName: "segmentControl"), required: false, type: .enum) - ] - /// 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. - public let destination: String? - /// 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. - public let fragmentLength: Int32? - /// Minimum time of initially buffered media that is needed to ensure smooth playout. - public let minBufferTime: Int32? - public let hbbtvCompliance: DashIsoHbbtvCompliance? - /// DRM settings. - public let encryption: DashIsoEncryptionSettings? - /// 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. - public let baseUrl: String? - /// 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. - public let segmentLength: Int32? - public let segmentControl: DashIsoSegmentControl? - - public init(destination: String? = nil, fragmentLength: Int32? = nil, minBufferTime: Int32? = nil, hbbtvCompliance: DashIsoHbbtvCompliance? = nil, encryption: DashIsoEncryptionSettings? = nil, baseUrl: String? = nil, segmentLength: Int32? = nil, segmentControl: DashIsoSegmentControl? = nil) { - self.destination = destination - self.fragmentLength = fragmentLength - self.minBufferTime = minBufferTime - self.hbbtvCompliance = hbbtvCompliance - self.encryption = encryption - self.baseUrl = baseUrl - self.segmentLength = segmentLength - self.segmentControl = segmentControl - } - - private enum CodingKeys: String, CodingKey { - case destination = "destination" - case fragmentLength = "fragmentLength" - case minBufferTime = "minBufferTime" - case hbbtvCompliance = "hbbtvCompliance" - case encryption = "encryption" - case baseUrl = "baseUrl" - case segmentLength = "segmentLength" - case segmentControl = "segmentControl" - } - } - - public enum BurninSubtitleTeletextSpacing: String, CustomStringConvertible, Codable { - case fixedGrid = "FIXED_GRID" - case proportional = "PROPORTIONAL" - public var description: String { return self.rawValue } - } - - public enum AudioNormalizationLoudnessLogging: String, CustomStringConvertible, Codable { - case log = "LOG" - case dontLog = "DONT_LOG" - public var description: String { return self.rawValue } - } - - public enum Eac3LfeFilter: String, CustomStringConvertible, Codable { - case enabled = "ENABLED" - case disabled = "DISABLED" - public var description: String { return self.rawValue } - } - - public enum DvbSubtitleAlignment: String, CustomStringConvertible, Codable { - case centered = "CENTERED" - case left = "LEFT" - public var description: String { return self.rawValue } - } - - public enum AudioTypeControl: String, CustomStringConvertible, Codable { - case followInput = "FOLLOW_INPUT" - case useConfigured = "USE_CONFIGURED" - public var description: String { return self.rawValue } - } - - public struct InsertableImage: AWSShape { + public enum AudioNormalizationLoudnessLogging: String, CustomStringConvertible, Codable { + case log = "LOG" + case dontLog = "DONT_LOG" + public var description: String { return self.rawValue } + } + + public enum AudioTypeControl: String, CustomStringConvertible, Codable { + case followInput = "FOLLOW_INPUT" + case useConfigured = "USE_CONFIGURED" + public var description: String { return self.rawValue } + } + + public struct InsertableImage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Height", location: .body(locationName: "height"), required: false, type: .integer), AWSShapeMember(label: "StartTime", location: .body(locationName: "startTime"), required: false, type: .string), - AWSShapeMember(label: "ImageX", location: .body(locationName: "imageX"), required: false, type: .integer), - AWSShapeMember(label: "ImageY", location: .body(locationName: "imageY"), required: false, type: .integer), - AWSShapeMember(label: "Opacity", location: .body(locationName: "opacity"), required: false, type: .integer), + AWSShapeMember(label: "ImageX", location: .body(locationName: "imageX"), required: true, type: .integer), + AWSShapeMember(label: "ImageY", location: .body(locationName: "imageY"), required: true, type: .integer), + AWSShapeMember(label: "Opacity", location: .body(locationName: "opacity"), required: true, type: .integer), AWSShapeMember(label: "FadeIn", location: .body(locationName: "fadeIn"), required: false, type: .integer), AWSShapeMember(label: "FadeOut", location: .body(locationName: "fadeOut"), required: false, type: .integer), - AWSShapeMember(label: "ImageInserterInput", location: .body(locationName: "imageInserterInput"), required: false, type: .string), + AWSShapeMember(label: "ImageInserterInput", location: .body(locationName: "imageInserterInput"), required: true, type: .string), AWSShapeMember(label: "Duration", location: .body(locationName: "duration"), required: false, type: .integer), - AWSShapeMember(label: "Layer", location: .body(locationName: "layer"), required: false, type: .integer), + AWSShapeMember(label: "Layer", location: .body(locationName: "layer"), required: true, type: .integer), AWSShapeMember(label: "Width", location: .body(locationName: "width"), required: false, type: .integer) ] /// 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. public let height: Int32? - /// Use Start time (StartTime) to specify the video timecode when the image is inserted in the output. This must be in timecode format (HH:MM:SS:FF) + /// 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. public let startTime: String? /// 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. - public let imageX: Int32? + public let imageX: Int32 /// 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. - public let imageY: Int32? + public let imageY: Int32 /// 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. - public let opacity: Int32? + public let opacity: Int32 /// 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. public let fadeIn: Int32? /// 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. public let fadeOut: Int32? /// 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. - public let imageInserterInput: String? + public let imageInserterInput: String /// Use Duration (Duration) to set the time, in milliseconds, for the image to remain on the output video. public let duration: Int32? /// 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. - public let layer: Int32? + public let layer: Int32 /// 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. public let width: Int32? - public init(height: Int32? = nil, startTime: String? = nil, imageX: Int32? = nil, imageY: Int32? = nil, opacity: Int32? = nil, fadeIn: Int32? = nil, fadeOut: Int32? = nil, imageInserterInput: String? = nil, duration: Int32? = nil, layer: Int32? = nil, width: Int32? = nil) { + public init(height: Int32? = nil, startTime: String? = nil, imageX: Int32, imageY: Int32, opacity: Int32, fadeIn: Int32? = nil, fadeOut: Int32? = nil, imageInserterInput: String, duration: Int32? = nil, layer: Int32, width: Int32? = nil) { self.height = height self.startTime = startTime self.imageX = imageX @@ -1138,12 +680,6 @@ extension Mediaconvert { } } - public enum M2tsEbpPlacement: String, CustomStringConvertible, Codable { - case videoAndAudioPids = "VIDEO_AND_AUDIO_PIDS" - case videoPid = "VIDEO_PID" - public var description: String { return self.rawValue } - } - public enum AacCodingMode: String, CustomStringConvertible, Codable { case adReceiverMix = "AD_RECEIVER_MIX" case codingMode10 = "CODING_MODE_1_0" @@ -1171,45 +707,6 @@ extension Mediaconvert { public var description: String { return self.rawValue } } - public enum Mpeg2SpatialAdaptiveQuantization: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } - - public enum MsSmoothAudioDeduplication: String, CustomStringConvertible, Codable { - case combineDuplicateStreams = "COMBINE_DUPLICATE_STREAMS" - case none = "NONE" - public var description: String { return self.rawValue } - } - - public enum H264FramerateConversionAlgorithm: String, CustomStringConvertible, Codable { - case duplicateDrop = "DUPLICATE_DROP" - case interpolate = "INTERPOLATE" - public var description: String { return self.rawValue } - } - - public enum CaptionSourceType: String, CustomStringConvertible, Codable { - case ancillary = "ANCILLARY" - case dvbSub = "DVB_SUB" - case embedded = "EMBEDDED" - case scc = "SCC" - case ttml = "TTML" - case stl = "STL" - case srt = "SRT" - case teletext = "TELETEXT" - case nullSource = "NULL_SOURCE" - public var description: String { return self.rawValue } - } - - public enum OutputSdt: String, CustomStringConvertible, Codable { - case sdtFollow = "SDT_FOLLOW" - case sdtFollowIfPresent = "SDT_FOLLOW_IF_PRESENT" - case sdtManual = "SDT_MANUAL" - case sdtNone = "SDT_NONE" - public var description: String { return self.rawValue } - } - public enum BurninSubtitleBackgroundColor: String, CustomStringConvertible, Codable { case none = "NONE" case black = "BLACK" @@ -1217,58 +714,33 @@ extension Mediaconvert { public var description: String { return self.rawValue } } - public enum TimecodeBurninPosition: String, CustomStringConvertible, Codable { - case topCenter = "TOP_CENTER" - case topLeft = "TOP_LEFT" - case topRight = "TOP_RIGHT" - case middleLeft = "MIDDLE_LEFT" - case middleCenter = "MIDDLE_CENTER" - case middleRight = "MIDDLE_RIGHT" - case bottomLeft = "BOTTOM_LEFT" - case bottomCenter = "BOTTOM_CENTER" - case bottomRight = "BOTTOM_RIGHT" - public var description: String { return self.rawValue } - } - - public enum H265GopSizeUnits: String, CustomStringConvertible, Codable { - case frames = "FRAMES" - case seconds = "SECONDS" - public var description: String { return self.rawValue } - } - - public struct OutputSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "HlsSettings", location: .body(locationName: "hlsSettings"), required: false, type: .structure) - ] - public let hlsSettings: HlsSettings? - - public init(hlsSettings: HlsSettings? = nil) { - self.hlsSettings = hlsSettings - } - - private enum CodingKeys: String, CodingKey { - case hlsSettings = "hlsSettings" - } - } - public enum Mpeg2TemporalAdaptiveQuantization: String, CustomStringConvertible, Codable { case disabled = "DISABLED" case enabled = "ENABLED" public var description: String { return self.rawValue } } + public enum Mpeg2IntraDcPrecision: String, CustomStringConvertible, Codable { + case auto = "AUTO" + case intraDcPrecision8 = "INTRA_DC_PRECISION_8" + case intraDcPrecision9 = "INTRA_DC_PRECISION_9" + case intraDcPrecision10 = "INTRA_DC_PRECISION_10" + case intraDcPrecision11 = "INTRA_DC_PRECISION_11" + public var description: String { return self.rawValue } + } + public struct CreateJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Role", location: .body(locationName: "role"), required: false, type: .string), - AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: false, type: .structure), + AWSShapeMember(label: "Role", location: .body(locationName: "role"), required: true, type: .string), + AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: true, type: .structure), AWSShapeMember(label: "ClientRequestToken", location: .body(locationName: "clientRequestToken"), required: false, type: .string), AWSShapeMember(label: "JobTemplate", location: .body(locationName: "jobTemplate"), required: false, type: .string), AWSShapeMember(label: "Queue", location: .body(locationName: "queue"), required: false, type: .string), AWSShapeMember(label: "UserMetadata", location: .body(locationName: "userMetadata"), required: false, type: .map) ] /// 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. - public let role: String? - public let settings: JobSettings? + public let role: String + public let settings: JobSettings /// Idempotency token for CreateJob operation. public let clientRequestToken: String? /// When you create a job, you can either specify a job template or specify the transcoding settings individually @@ -1278,7 +750,7 @@ extension Mediaconvert { /// User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs. public let userMetadata: [String: String]? - public init(role: String? = nil, settings: JobSettings? = nil, clientRequestToken: String? = nil, jobTemplate: String? = nil, queue: String? = nil, userMetadata: [String: String]? = nil) { + public init(role: String, settings: JobSettings, clientRequestToken: String? = nil, jobTemplate: String? = nil, queue: String? = nil, userMetadata: [String: String]? = nil) { self.role = role self.settings = settings self.clientRequestToken = clientRequestToken @@ -1297,52 +769,15 @@ extension Mediaconvert { } } - public enum Mpeg2IntraDcPrecision: String, CustomStringConvertible, Codable { - case auto = "AUTO" - case intraDcPrecision8 = "INTRA_DC_PRECISION_8" - case intraDcPrecision9 = "INTRA_DC_PRECISION_9" - case intraDcPrecision10 = "INTRA_DC_PRECISION_10" - case intraDcPrecision11 = "INTRA_DC_PRECISION_11" + public enum CmafStreamInfResolution: String, CustomStringConvertible, Codable { + case include = "INCLUDE" + case exclude = "EXCLUDE" public var description: String { return self.rawValue } } - public enum ProresCodecProfile: String, CustomStringConvertible, Codable { - case appleProres422 = "APPLE_PRORES_422" - case appleProres422Hq = "APPLE_PRORES_422_HQ" - case appleProres422Lt = "APPLE_PRORES_422_LT" - case appleProres422Proxy = "APPLE_PRORES_422_PROXY" - public var description: String { return self.rawValue } - } - - public enum H265CodecProfile: String, CustomStringConvertible, Codable { - case mainMain = "MAIN_MAIN" - case mainHigh = "MAIN_HIGH" - case main10Main = "MAIN10_MAIN" - case main10High = "MAIN10_HIGH" - case main4228BitMain = "MAIN_422_8BIT_MAIN" - case main4228BitHigh = "MAIN_422_8BIT_HIGH" - case main42210BitMain = "MAIN_422_10BIT_MAIN" - case main42210BitHigh = "MAIN_422_10BIT_HIGH" - public var description: String { return self.rawValue } - } - - public enum Mpeg2AdaptiveQuantization: String, CustomStringConvertible, Codable { - case off = "OFF" - case low = "LOW" - case medium = "MEDIUM" - case high = "HIGH" - public var description: String { return self.rawValue } - } - - public enum InputPsiControl: String, CustomStringConvertible, Codable { - case ignorePsi = "IGNORE_PSI" - case usePsi = "USE_PSI" - public var description: String { return self.rawValue } - } - - public enum Eac3AttenuationControl: String, CustomStringConvertible, Codable { - case attenuate3Db = "ATTENUATE_3_DB" - case none = "NONE" + public enum Eac3AttenuationControl: String, CustomStringConvertible, Codable { + case attenuate3Db = "ATTENUATE_3_DB" + case none = "NONE" public var description: String { return self.rawValue } } @@ -1352,46 +787,6 @@ extension Mediaconvert { public var description: String { return self.rawValue } } - public struct ListJobTemplatesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Category", location: .querystring(locationName: "category"), required: false, type: .string), - AWSShapeMember(label: "ListBy", location: .querystring(locationName: "listBy"), required: false, type: .enum), - AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "Order", location: .querystring(locationName: "order"), required: false, type: .enum), - AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) - ] - /// Optionally, specify a job template category to limit responses to only job templates from that category. - public let category: String? - public let listBy: JobTemplateListBy? - /// Use this string, provided with the response to a previous request, to request the next batch of job templates. - public let nextToken: String? - public let order: Order? - /// Optional. Number of job templates, up to twenty, that will be returned at one time. - public let maxResults: Int32? - - public init(category: String? = nil, listBy: JobTemplateListBy? = nil, nextToken: String? = nil, order: Order? = nil, maxResults: Int32? = nil) { - self.category = category - self.listBy = listBy - self.nextToken = nextToken - self.order = order - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case category = "category" - case listBy = "listBy" - case nextToken = "nextToken" - case order = "order" - case maxResults = "maxResults" - } - } - - public enum HlsCodecSpecification: String, CustomStringConvertible, Codable { - case rfc6381 = "RFC_6381" - case rfc4281 = "RFC_4281" - public var description: String { return self.rawValue } - } - public enum Eac3DynamicRangeCompressionLine: String, CustomStringConvertible, Codable { case none = "NONE" case filmStandard = "FILM_STANDARD" @@ -1402,6 +797,12 @@ extension Mediaconvert { public var description: String { return self.rawValue } } + public enum CmafCodecSpecification: String, CustomStringConvertible, Codable { + case rfc6381 = "RFC_6381" + case rfc4281 = "RFC_4281" + public var description: String { return self.rawValue } + } + public enum AacVbrQuality: String, CustomStringConvertible, Codable { case low = "LOW" case mediumLow = "MEDIUM_LOW" @@ -1410,19 +811,33 @@ extension Mediaconvert { public var description: String { return self.rawValue } } - public struct ImageInserter: AWSShape { + public struct UpdatePresetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InsertableImages", location: .body(locationName: "insertableImages"), required: false, type: .list) + AWSShapeMember(label: "Category", location: .body(locationName: "category"), required: false, type: .string), + AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: false, type: .structure), + AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] - /// Image to insert. Must be 32 bit windows BMP, PNG, or TGA file. Must not be larger than the output frames. - public let insertableImages: [InsertableImage]? + /// The new category for the preset, if you are changing it. + public let category: String? + public let settings: PresetSettings? + /// The name of the preset you are modifying. + public let name: String + /// The new description for the preset, if you are changing it. + public let description: String? - public init(insertableImages: [InsertableImage]? = nil) { - self.insertableImages = insertableImages + public init(category: String? = nil, settings: PresetSettings? = nil, name: String, description: String? = nil) { + self.category = category + self.settings = settings + self.name = name + self.description = description } private enum CodingKeys: String, CodingKey { - case insertableImages = "insertableImages" + case category = "category" + case settings = "settings" + case name = "name" + case description = "description" } } @@ -1451,1032 +866,1735 @@ extension Mediaconvert { } } - public enum M2tsEsRateInPes: String, CustomStringConvertible, Codable { - case include = "INCLUDE" - case exclude = "EXCLUDE" - public var description: String { return self.rawValue } + public struct MovSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Reference", location: .body(locationName: "reference"), required: false, type: .enum), + AWSShapeMember(label: "ClapAtom", location: .body(locationName: "clapAtom"), required: false, type: .enum), + AWSShapeMember(label: "Mpeg2FourCCControl", location: .body(locationName: "mpeg2FourCCControl"), required: false, type: .enum), + AWSShapeMember(label: "PaddingControl", location: .body(locationName: "paddingControl"), required: false, type: .enum), + AWSShapeMember(label: "CslgAtom", location: .body(locationName: "cslgAtom"), required: false, type: .enum) + ] + public let reference: MovReference? + public let clapAtom: MovClapAtom? + public let mpeg2FourCCControl: MovMpeg2FourCCControl? + public let paddingControl: MovPaddingControl? + public let cslgAtom: MovCslgAtom? + + public init(reference: MovReference? = nil, clapAtom: MovClapAtom? = nil, mpeg2FourCCControl: MovMpeg2FourCCControl? = nil, paddingControl: MovPaddingControl? = nil, cslgAtom: MovCslgAtom? = nil) { + self.reference = reference + self.clapAtom = clapAtom + self.mpeg2FourCCControl = mpeg2FourCCControl + self.paddingControl = paddingControl + self.cslgAtom = cslgAtom + } + + private enum CodingKeys: String, CodingKey { + case reference = "reference" + case clapAtom = "clapAtom" + case mpeg2FourCCControl = "mpeg2FourCCControl" + case paddingControl = "paddingControl" + case cslgAtom = "cslgAtom" + } } - public struct UpdatePresetRequest: AWSShape { + public struct Rectangle: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Category", location: .body(locationName: "category"), required: false, type: .string), - AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: false, type: .structure), - AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + AWSShapeMember(label: "X", location: .body(locationName: "x"), required: true, type: .integer), + AWSShapeMember(label: "Height", location: .body(locationName: "height"), required: true, type: .integer), + AWSShapeMember(label: "Width", location: .body(locationName: "width"), required: true, type: .integer), + AWSShapeMember(label: "Y", location: .body(locationName: "y"), required: true, type: .integer) ] - /// The new category for the preset, if you are changing it. - public let category: String? - public let settings: PresetSettings? - /// The name of the preset you are modifying. - public let name: String - /// The new description for the preset, if you are changing it. - public let description: String? + /// The distance, in pixels, between the rectangle and the left edge of the video frame. + public let x: Int32 + /// Height of rectangle in pixels. + public let height: Int32 + /// Width of rectangle in pixels. + public let width: Int32 + /// The distance, in pixels, between the rectangle and the top edge of the video frame. + public let y: Int32 - public init(category: String? = nil, settings: PresetSettings? = nil, name: String, description: String? = nil) { - self.category = category - self.settings = settings - self.name = name - self.description = description + public init(x: Int32, height: Int32, width: Int32, y: Int32) { + self.x = x + self.height = height + self.width = width + self.y = y } private enum CodingKeys: String, CodingKey { - case category = "category" - case settings = "settings" - case name = "name" - case description = "description" + case x = "x" + case height = "height" + case width = "width" + case y = "y" } } - public struct M2tsSettings: AWSShape { + public struct H264Settings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PcrControl", location: .body(locationName: "pcrControl"), required: false, type: .enum), - AWSShapeMember(label: "PatInterval", location: .body(locationName: "patInterval"), required: false, type: .integer), - AWSShapeMember(label: "PmtPid", location: .body(locationName: "pmtPid"), required: false, type: .integer), - AWSShapeMember(label: "VideoPid", location: .body(locationName: "videoPid"), required: false, type: .integer), - AWSShapeMember(label: "PcrPid", location: .body(locationName: "pcrPid"), required: false, type: .integer), - AWSShapeMember(label: "Scte35Source", location: .body(locationName: "scte35Source"), required: false, type: .enum), - AWSShapeMember(label: "DvbTdtSettings", location: .body(locationName: "dvbTdtSettings"), required: false, type: .structure), - AWSShapeMember(label: "RateMode", location: .body(locationName: "rateMode"), required: false, type: .enum), - AWSShapeMember(label: "DvbSdtSettings", location: .body(locationName: "dvbSdtSettings"), required: false, type: .structure), - AWSShapeMember(label: "ProgramNumber", location: .body(locationName: "programNumber"), required: false, type: .integer), - AWSShapeMember(label: "AudioFramesPerPes", location: .body(locationName: "audioFramesPerPes"), required: false, type: .integer), - AWSShapeMember(label: "BufferModel", location: .body(locationName: "bufferModel"), required: false, type: .enum), - AWSShapeMember(label: "PrivateMetadataPid", location: .body(locationName: "privateMetadataPid"), required: false, type: .integer), - AWSShapeMember(label: "AudioBufferModel", location: .body(locationName: "audioBufferModel"), required: false, type: .enum), - AWSShapeMember(label: "MaxPcrInterval", location: .body(locationName: "maxPcrInterval"), required: false, type: .integer), - AWSShapeMember(label: "SegmentationTime", location: .body(locationName: "segmentationTime"), required: false, type: .double), - AWSShapeMember(label: "SegmentationStyle", location: .body(locationName: "segmentationStyle"), required: false, type: .enum), - AWSShapeMember(label: "MinEbpInterval", location: .body(locationName: "minEbpInterval"), required: false, type: .integer), - AWSShapeMember(label: "DvbNitSettings", location: .body(locationName: "dvbNitSettings"), required: false, type: .structure), - AWSShapeMember(label: "EbpAudioInterval", location: .body(locationName: "ebpAudioInterval"), required: false, type: .enum), - AWSShapeMember(label: "PmtInterval", location: .body(locationName: "pmtInterval"), required: false, type: .integer), - AWSShapeMember(label: "FragmentTime", location: .body(locationName: "fragmentTime"), required: false, type: .double), + AWSShapeMember(label: "NumberBFramesBetweenReferenceFrames", location: .body(locationName: "numberBFramesBetweenReferenceFrames"), required: false, type: .integer), + AWSShapeMember(label: "ParControl", location: .body(locationName: "parControl"), required: false, type: .enum), + AWSShapeMember(label: "FlickerAdaptiveQuantization", location: .body(locationName: "flickerAdaptiveQuantization"), required: false, type: .enum), + AWSShapeMember(label: "GopBReference", location: .body(locationName: "gopBReference"), required: false, type: .enum), + AWSShapeMember(label: "FramerateNumerator", location: .body(locationName: "framerateNumerator"), required: false, type: .integer), + AWSShapeMember(label: "Slices", location: .body(locationName: "slices"), required: false, type: .integer), + AWSShapeMember(label: "HrdBufferSize", location: .body(locationName: "hrdBufferSize"), required: false, type: .integer), + AWSShapeMember(label: "EntropyEncoding", location: .body(locationName: "entropyEncoding"), required: false, type: .enum), + AWSShapeMember(label: "SpatialAdaptiveQuantization", location: .body(locationName: "spatialAdaptiveQuantization"), required: false, type: .enum), + AWSShapeMember(label: "ParNumerator", location: .body(locationName: "parNumerator"), required: false, type: .integer), + AWSShapeMember(label: "CodecProfile", location: .body(locationName: "codecProfile"), required: false, type: .enum), + AWSShapeMember(label: "QualityTuningLevel", location: .body(locationName: "qualityTuningLevel"), required: false, type: .enum), + AWSShapeMember(label: "CodecLevel", location: .body(locationName: "codecLevel"), required: false, type: .enum), + AWSShapeMember(label: "MaxBitrate", location: .body(locationName: "maxBitrate"), required: false, type: .integer), + AWSShapeMember(label: "AdaptiveQuantization", location: .body(locationName: "adaptiveQuantization"), required: false, type: .enum), + AWSShapeMember(label: "GopSizeUnits", location: .body(locationName: "gopSizeUnits"), required: false, type: .enum), + AWSShapeMember(label: "SceneChangeDetect", location: .body(locationName: "sceneChangeDetect"), required: false, type: .enum), + AWSShapeMember(label: "SlowPal", location: .body(locationName: "slowPal"), required: false, type: .enum), + AWSShapeMember(label: "TemporalAdaptiveQuantization", location: .body(locationName: "temporalAdaptiveQuantization"), required: false, type: .enum), + AWSShapeMember(label: "NumberReferenceFrames", location: .body(locationName: "numberReferenceFrames"), required: false, type: .integer), + AWSShapeMember(label: "RateControlMode", location: .body(locationName: "rateControlMode"), required: false, type: .enum), + AWSShapeMember(label: "FramerateDenominator", location: .body(locationName: "framerateDenominator"), required: false, type: .integer), + AWSShapeMember(label: "FramerateConversionAlgorithm", location: .body(locationName: "framerateConversionAlgorithm"), required: false, type: .enum), + AWSShapeMember(label: "FieldEncoding", location: .body(locationName: "fieldEncoding"), required: false, type: .enum), + AWSShapeMember(label: "ParDenominator", location: .body(locationName: "parDenominator"), required: false, type: .integer), + AWSShapeMember(label: "GopClosedCadence", location: .body(locationName: "gopClosedCadence"), required: false, type: .integer), AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), - AWSShapeMember(label: "Scte35Pid", location: .body(locationName: "scte35Pid"), required: false, type: .integer), - AWSShapeMember(label: "EbpPlacement", location: .body(locationName: "ebpPlacement"), required: false, type: .enum), - AWSShapeMember(label: "DvbTeletextPid", location: .body(locationName: "dvbTeletextPid"), required: false, type: .integer), - AWSShapeMember(label: "SegmentationMarkers", location: .body(locationName: "segmentationMarkers"), required: false, type: .enum), - AWSShapeMember(label: "AudioPids", location: .body(locationName: "audioPids"), required: false, type: .list), - AWSShapeMember(label: "DvbSubPids", location: .body(locationName: "dvbSubPids"), required: false, type: .list), - AWSShapeMember(label: "TransportStreamId", location: .body(locationName: "transportStreamId"), required: false, type: .integer), - AWSShapeMember(label: "NullPacketBitrate", location: .body(locationName: "nullPacketBitrate"), required: false, type: .double), - AWSShapeMember(label: "EsRateInPes", location: .body(locationName: "esRateInPes"), required: false, type: .enum) + AWSShapeMember(label: "InterlaceMode", location: .body(locationName: "interlaceMode"), required: false, type: .enum), + AWSShapeMember(label: "MinIInterval", location: .body(locationName: "minIInterval"), required: false, type: .integer), + AWSShapeMember(label: "Syntax", location: .body(locationName: "syntax"), required: false, type: .enum), + AWSShapeMember(label: "RepeatPps", location: .body(locationName: "repeatPps"), required: false, type: .enum), + AWSShapeMember(label: "HrdBufferInitialFillPercentage", location: .body(locationName: "hrdBufferInitialFillPercentage"), required: false, type: .integer), + AWSShapeMember(label: "UnregisteredSeiTimecode", location: .body(locationName: "unregisteredSeiTimecode"), required: false, type: .enum), + AWSShapeMember(label: "Softness", location: .body(locationName: "softness"), required: false, type: .integer), + AWSShapeMember(label: "GopSize", location: .body(locationName: "gopSize"), required: false, type: .double), + AWSShapeMember(label: "FramerateControl", location: .body(locationName: "framerateControl"), required: false, type: .enum), + AWSShapeMember(label: "Telecine", location: .body(locationName: "telecine"), required: false, type: .enum) ] - public let pcrControl: M2tsPcrControl? - /// The number of milliseconds between instances of this table in the output transport stream. - public let patInterval: Int32? - /// Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. - public let pmtPid: Int32? - /// Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. - public let videoPid: Int32? - /// 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. - public let pcrPid: Int32? - public let scte35Source: M2tsScte35Source? - public let dvbTdtSettings: DvbTdtSettings? - public let rateMode: M2tsRateMode? - public let dvbSdtSettings: DvbSdtSettings? - /// The value of the program number field in the Program Map Table. - public let programNumber: Int32? - /// The number of audio frames to insert for each PES packet. - public let audioFramesPerPes: Int32? - public let bufferModel: M2tsBufferModel? - /// Packet Identifier (PID) of the private metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. - public let privateMetadataPid: Int32? - public let audioBufferModel: M2tsAudioBufferModel? - /// Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream. - public let maxPcrInterval: Int32? - /// The length in seconds of each segment. Required unless markers is set to _none_. - public let segmentationTime: Double? - public let segmentationStyle: M2tsSegmentationStyle? - /// 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. - public let minEbpInterval: Int32? - public let dvbNitSettings: DvbNitSettings? - public let ebpAudioInterval: M2tsEbpAudioInterval? - /// The number of milliseconds between instances of this table in the output transport stream. - public let pmtInterval: Int32? - /// The length in seconds of each fragment. Only used with EBP markers. - public let fragmentTime: Double? - /// 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. + /// Number of B-frames between reference frames. + public let numberBFramesBetweenReferenceFrames: Int32? + public let parControl: H264ParControl? + public let flickerAdaptiveQuantization: H264FlickerAdaptiveQuantization? + public let gopBReference: H264GopBReference? + /// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. + public let framerateNumerator: Int32? + /// 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. + public let slices: Int32? + /// Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000. + public let hrdBufferSize: Int32? + public let entropyEncoding: H264EntropyEncoding? + public let spatialAdaptiveQuantization: H264SpatialAdaptiveQuantization? + /// Pixel Aspect Ratio numerator. + public let parNumerator: Int32? + public let codecProfile: H264CodecProfile? + public let qualityTuningLevel: H264QualityTuningLevel? + public let codecLevel: H264CodecLevel? + /// Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. + public let maxBitrate: Int32? + public let adaptiveQuantization: H264AdaptiveQuantization? + public let gopSizeUnits: H264GopSizeUnits? + public let sceneChangeDetect: H264SceneChangeDetect? + public let slowPal: H264SlowPal? + public let temporalAdaptiveQuantization: H264TemporalAdaptiveQuantization? + /// Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. + public let numberReferenceFrames: Int32? + public let rateControlMode: H264RateControlMode? + /// 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. + public let framerateDenominator: Int32? + public let framerateConversionAlgorithm: H264FramerateConversionAlgorithm? + public let fieldEncoding: H264FieldEncoding? + /// Pixel Aspect Ratio denominator. + public let parDenominator: Int32? + /// 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. + public let gopClosedCadence: Int32? + /// 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. public let bitrate: Int32? - /// Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. - public let scte35Pid: Int32? - public let ebpPlacement: M2tsEbpPlacement? - /// Packet Identifier (PID) for input source DVB Teletext data to this output. Can be entered as a decimal or hexadecimal value. - public let dvbTeletextPid: Int32? - public let segmentationMarkers: M2tsSegmentationMarkers? - /// 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. - public let audioPids: [Int32]? - /// 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. - public let dvbSubPids: [Int32]? - /// The value of the transport stream ID field in the Program Map Table. - public let transportStreamId: Int32? - /// 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. - public let nullPacketBitrate: Double? - public let esRateInPes: M2tsEsRateInPes? + public let interlaceMode: H264InterlaceMode? + /// 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 + public let minIInterval: Int32? + public let syntax: H264Syntax? + public let repeatPps: H264RepeatPps? + /// Percentage of the buffer that should initially be filled (HRD buffer model). + public let hrdBufferInitialFillPercentage: Int32? + public let unregisteredSeiTimecode: H264UnregisteredSeiTimecode? + /// Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. + public let softness: Int32? + /// GOP Length (keyframe interval) in frames or seconds. Must be greater than zero. + public let gopSize: Double? + public let framerateControl: H264FramerateControl? + public let telecine: H264Telecine? - public init(pcrControl: M2tsPcrControl? = nil, patInterval: Int32? = nil, pmtPid: Int32? = nil, videoPid: Int32? = nil, pcrPid: Int32? = nil, scte35Source: M2tsScte35Source? = nil, dvbTdtSettings: DvbTdtSettings? = nil, rateMode: M2tsRateMode? = nil, dvbSdtSettings: DvbSdtSettings? = nil, programNumber: Int32? = nil, audioFramesPerPes: Int32? = nil, bufferModel: M2tsBufferModel? = nil, privateMetadataPid: Int32? = nil, audioBufferModel: M2tsAudioBufferModel? = nil, maxPcrInterval: Int32? = nil, segmentationTime: Double? = nil, segmentationStyle: M2tsSegmentationStyle? = nil, minEbpInterval: Int32? = nil, dvbNitSettings: DvbNitSettings? = nil, ebpAudioInterval: M2tsEbpAudioInterval? = nil, pmtInterval: Int32? = nil, fragmentTime: Double? = nil, bitrate: Int32? = nil, scte35Pid: Int32? = nil, ebpPlacement: M2tsEbpPlacement? = nil, dvbTeletextPid: Int32? = nil, segmentationMarkers: M2tsSegmentationMarkers? = nil, audioPids: [Int32]? = nil, dvbSubPids: [Int32]? = nil, transportStreamId: Int32? = nil, nullPacketBitrate: Double? = nil, esRateInPes: M2tsEsRateInPes? = nil) { - self.pcrControl = pcrControl - self.patInterval = patInterval - self.pmtPid = pmtPid - self.videoPid = videoPid - self.pcrPid = pcrPid - self.scte35Source = scte35Source - self.dvbTdtSettings = dvbTdtSettings - self.rateMode = rateMode - self.dvbSdtSettings = dvbSdtSettings - self.programNumber = programNumber - self.audioFramesPerPes = audioFramesPerPes - self.bufferModel = bufferModel - self.privateMetadataPid = privateMetadataPid - self.audioBufferModel = audioBufferModel - self.maxPcrInterval = maxPcrInterval - self.segmentationTime = segmentationTime - self.segmentationStyle = segmentationStyle - self.minEbpInterval = minEbpInterval - self.dvbNitSettings = dvbNitSettings - self.ebpAudioInterval = ebpAudioInterval - self.pmtInterval = pmtInterval - self.fragmentTime = fragmentTime + public init(numberBFramesBetweenReferenceFrames: Int32? = nil, parControl: H264ParControl? = nil, flickerAdaptiveQuantization: H264FlickerAdaptiveQuantization? = nil, gopBReference: H264GopBReference? = nil, framerateNumerator: Int32? = nil, slices: Int32? = nil, hrdBufferSize: Int32? = nil, entropyEncoding: H264EntropyEncoding? = nil, spatialAdaptiveQuantization: H264SpatialAdaptiveQuantization? = nil, parNumerator: Int32? = nil, codecProfile: H264CodecProfile? = nil, qualityTuningLevel: H264QualityTuningLevel? = nil, codecLevel: H264CodecLevel? = nil, maxBitrate: Int32? = nil, adaptiveQuantization: H264AdaptiveQuantization? = nil, gopSizeUnits: H264GopSizeUnits? = nil, sceneChangeDetect: H264SceneChangeDetect? = nil, slowPal: H264SlowPal? = nil, temporalAdaptiveQuantization: H264TemporalAdaptiveQuantization? = nil, numberReferenceFrames: Int32? = nil, rateControlMode: H264RateControlMode? = nil, framerateDenominator: Int32? = nil, framerateConversionAlgorithm: H264FramerateConversionAlgorithm? = nil, fieldEncoding: H264FieldEncoding? = nil, parDenominator: Int32? = nil, gopClosedCadence: Int32? = nil, bitrate: Int32? = nil, interlaceMode: H264InterlaceMode? = nil, minIInterval: Int32? = nil, syntax: H264Syntax? = nil, repeatPps: H264RepeatPps? = nil, hrdBufferInitialFillPercentage: Int32? = nil, unregisteredSeiTimecode: H264UnregisteredSeiTimecode? = nil, softness: Int32? = nil, gopSize: Double? = nil, framerateControl: H264FramerateControl? = nil, telecine: H264Telecine? = nil) { + self.numberBFramesBetweenReferenceFrames = numberBFramesBetweenReferenceFrames + self.parControl = parControl + self.flickerAdaptiveQuantization = flickerAdaptiveQuantization + self.gopBReference = gopBReference + self.framerateNumerator = framerateNumerator + self.slices = slices + self.hrdBufferSize = hrdBufferSize + self.entropyEncoding = entropyEncoding + self.spatialAdaptiveQuantization = spatialAdaptiveQuantization + self.parNumerator = parNumerator + self.codecProfile = codecProfile + self.qualityTuningLevel = qualityTuningLevel + self.codecLevel = codecLevel + self.maxBitrate = maxBitrate + self.adaptiveQuantization = adaptiveQuantization + self.gopSizeUnits = gopSizeUnits + self.sceneChangeDetect = sceneChangeDetect + self.slowPal = slowPal + self.temporalAdaptiveQuantization = temporalAdaptiveQuantization + self.numberReferenceFrames = numberReferenceFrames + self.rateControlMode = rateControlMode + self.framerateDenominator = framerateDenominator + self.framerateConversionAlgorithm = framerateConversionAlgorithm + self.fieldEncoding = fieldEncoding + self.parDenominator = parDenominator + self.gopClosedCadence = gopClosedCadence self.bitrate = bitrate - self.scte35Pid = scte35Pid - self.ebpPlacement = ebpPlacement - self.dvbTeletextPid = dvbTeletextPid - self.segmentationMarkers = segmentationMarkers - self.audioPids = audioPids - self.dvbSubPids = dvbSubPids - self.transportStreamId = transportStreamId - self.nullPacketBitrate = nullPacketBitrate - self.esRateInPes = esRateInPes + self.interlaceMode = interlaceMode + self.minIInterval = minIInterval + self.syntax = syntax + self.repeatPps = repeatPps + self.hrdBufferInitialFillPercentage = hrdBufferInitialFillPercentage + self.unregisteredSeiTimecode = unregisteredSeiTimecode + self.softness = softness + self.gopSize = gopSize + self.framerateControl = framerateControl + self.telecine = telecine } private enum CodingKeys: String, CodingKey { - case pcrControl = "pcrControl" - case patInterval = "patInterval" - case pmtPid = "pmtPid" - case videoPid = "videoPid" - case pcrPid = "pcrPid" - case scte35Source = "scte35Source" - case dvbTdtSettings = "dvbTdtSettings" - case rateMode = "rateMode" - case dvbSdtSettings = "dvbSdtSettings" - case programNumber = "programNumber" - case audioFramesPerPes = "audioFramesPerPes" - case bufferModel = "bufferModel" - case privateMetadataPid = "privateMetadataPid" - case audioBufferModel = "audioBufferModel" - case maxPcrInterval = "maxPcrInterval" - case segmentationTime = "segmentationTime" - case segmentationStyle = "segmentationStyle" - case minEbpInterval = "minEbpInterval" - case dvbNitSettings = "dvbNitSettings" - case ebpAudioInterval = "ebpAudioInterval" - case pmtInterval = "pmtInterval" - case fragmentTime = "fragmentTime" + case numberBFramesBetweenReferenceFrames = "numberBFramesBetweenReferenceFrames" + case parControl = "parControl" + case flickerAdaptiveQuantization = "flickerAdaptiveQuantization" + case gopBReference = "gopBReference" + case framerateNumerator = "framerateNumerator" + case slices = "slices" + case hrdBufferSize = "hrdBufferSize" + case entropyEncoding = "entropyEncoding" + case spatialAdaptiveQuantization = "spatialAdaptiveQuantization" + case parNumerator = "parNumerator" + case codecProfile = "codecProfile" + case qualityTuningLevel = "qualityTuningLevel" + case codecLevel = "codecLevel" + case maxBitrate = "maxBitrate" + case adaptiveQuantization = "adaptiveQuantization" + case gopSizeUnits = "gopSizeUnits" + case sceneChangeDetect = "sceneChangeDetect" + case slowPal = "slowPal" + case temporalAdaptiveQuantization = "temporalAdaptiveQuantization" + case numberReferenceFrames = "numberReferenceFrames" + case rateControlMode = "rateControlMode" + case framerateDenominator = "framerateDenominator" + case framerateConversionAlgorithm = "framerateConversionAlgorithm" + case fieldEncoding = "fieldEncoding" + case parDenominator = "parDenominator" + case gopClosedCadence = "gopClosedCadence" case bitrate = "bitrate" - case scte35Pid = "scte35Pid" - case ebpPlacement = "ebpPlacement" - case dvbTeletextPid = "dvbTeletextPid" - case segmentationMarkers = "segmentationMarkers" - case audioPids = "audioPids" - case dvbSubPids = "dvbSubPids" - case transportStreamId = "transportStreamId" - case nullPacketBitrate = "nullPacketBitrate" - case esRateInPes = "esRateInPes" + case interlaceMode = "interlaceMode" + case minIInterval = "minIInterval" + case syntax = "syntax" + case repeatPps = "repeatPps" + case hrdBufferInitialFillPercentage = "hrdBufferInitialFillPercentage" + case unregisteredSeiTimecode = "unregisteredSeiTimecode" + case softness = "softness" + case gopSize = "gopSize" + case framerateControl = "framerateControl" + case telecine = "telecine" } } - public enum FileSourceConvert608To708: String, CustomStringConvertible, Codable { - case upconvert = "UPCONVERT" - case disabled = "DISABLED" + public enum H265RateControlMode: String, CustomStringConvertible, Codable { + case vbr = "VBR" + case cbr = "CBR" + public var description: String { return self.rawValue } + } + + public enum Mpeg2RateControlMode: String, CustomStringConvertible, Codable { + case vbr = "VBR" + case cbr = "CBR" + public var description: String { return self.rawValue } + } + + public enum AudioSelectorType: String, CustomStringConvertible, Codable { + case pid = "PID" + case track = "TRACK" + case languageCode = "LANGUAGE_CODE" + public var description: String { return self.rawValue } + } + + public enum H265ParControl: String, CustomStringConvertible, Codable { + case initializeFromSource = "INITIALIZE_FROM_SOURCE" + case specified = "SPECIFIED" + public var description: String { return self.rawValue } + } + + public enum H264FieldEncoding: String, CustomStringConvertible, Codable { + case paff = "PAFF" + case forceField = "FORCE_FIELD" + public var description: String { return self.rawValue } + } + + public enum HlsAdMarkers: String, CustomStringConvertible, Codable { + case elemental = "ELEMENTAL" + case elementalScte35 = "ELEMENTAL_SCTE35" + public var description: String { return self.rawValue } + } + + public enum VideoCodec: String, CustomStringConvertible, Codable { + case frameCapture = "FRAME_CAPTURE" + case h264 = "H_264" + case h265 = "H_265" + case mpeg2 = "MPEG2" + case prores = "PRORES" + public var description: String { return self.rawValue } + } + + public enum JobTemplateListBy: String, CustomStringConvertible, Codable { + case name = "NAME" + case creationDate = "CREATION_DATE" + case system = "SYSTEM" public var description: String { return self.rawValue } } - public enum Eac3PassthroughControl: String, CustomStringConvertible, Codable { - case whenPossible = "WHEN_POSSIBLE" - case noPassthrough = "NO_PASSTHROUGH" - public var description: String { return self.rawValue } + public struct CaptionSourceSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FileSourceSettings", location: .body(locationName: "fileSourceSettings"), required: false, type: .structure), + AWSShapeMember(label: "DvbSubSourceSettings", location: .body(locationName: "dvbSubSourceSettings"), required: false, type: .structure), + AWSShapeMember(label: "AncillarySourceSettings", location: .body(locationName: "ancillarySourceSettings"), required: false, type: .structure), + AWSShapeMember(label: "TeletextSourceSettings", location: .body(locationName: "teletextSourceSettings"), required: false, type: .structure), + AWSShapeMember(label: "SourceType", location: .body(locationName: "sourceType"), required: true, type: .enum), + AWSShapeMember(label: "EmbeddedSourceSettings", location: .body(locationName: "embeddedSourceSettings"), required: false, type: .structure) + ] + public let fileSourceSettings: FileSourceSettings? + public let dvbSubSourceSettings: DvbSubSourceSettings? + public let ancillarySourceSettings: AncillarySourceSettings? + public let teletextSourceSettings: TeletextSourceSettings? + public let sourceType: CaptionSourceType + public let embeddedSourceSettings: EmbeddedSourceSettings? + + public init(fileSourceSettings: FileSourceSettings? = nil, dvbSubSourceSettings: DvbSubSourceSettings? = nil, ancillarySourceSettings: AncillarySourceSettings? = nil, teletextSourceSettings: TeletextSourceSettings? = nil, sourceType: CaptionSourceType, embeddedSourceSettings: EmbeddedSourceSettings? = nil) { + self.fileSourceSettings = fileSourceSettings + self.dvbSubSourceSettings = dvbSubSourceSettings + self.ancillarySourceSettings = ancillarySourceSettings + self.teletextSourceSettings = teletextSourceSettings + self.sourceType = sourceType + self.embeddedSourceSettings = embeddedSourceSettings + } + + private enum CodingKeys: String, CodingKey { + case fileSourceSettings = "fileSourceSettings" + case dvbSubSourceSettings = "dvbSubSourceSettings" + case ancillarySourceSettings = "ancillarySourceSettings" + case teletextSourceSettings = "teletextSourceSettings" + case sourceType = "sourceType" + case embeddedSourceSettings = "embeddedSourceSettings" + } + } + + public enum VideoTimecodeInsertion: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case picTimingSei = "PIC_TIMING_SEI" + public var description: String { return self.rawValue } + } + + public struct NoiseReducer: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FilterSettings", location: .body(locationName: "filterSettings"), required: false, type: .structure), + AWSShapeMember(label: "SpatialFilterSettings", location: .body(locationName: "spatialFilterSettings"), required: false, type: .structure), + AWSShapeMember(label: "Filter", location: .body(locationName: "filter"), required: true, type: .enum) + ] + public let filterSettings: NoiseReducerFilterSettings? + public let spatialFilterSettings: NoiseReducerSpatialFilterSettings? + public let filter: NoiseReducerFilter + + public init(filterSettings: NoiseReducerFilterSettings? = nil, spatialFilterSettings: NoiseReducerSpatialFilterSettings? = nil, filter: NoiseReducerFilter) { + self.filterSettings = filterSettings + self.spatialFilterSettings = spatialFilterSettings + self.filter = filter + } + + private enum CodingKeys: String, CodingKey { + case filterSettings = "filterSettings" + case spatialFilterSettings = "spatialFilterSettings" + case filter = "filter" + } + } + + public enum RespondToAfd: String, CustomStringConvertible, Codable { + case none = "NONE" + case respond = "RESPOND" + case passthrough = "PASSTHROUGH" + public var description: String { return self.rawValue } + } + + public enum SccDestinationFramerate: String, CustomStringConvertible, Codable { + case framerate2397 = "FRAMERATE_23_97" + case framerate24 = "FRAMERATE_24" + case framerate2997Dropframe = "FRAMERATE_29_97_DROPFRAME" + case framerate2997NonDropframe = "FRAMERATE_29_97_NON_DROPFRAME" + public var description: String { return self.rawValue } + } + + public struct TeletextSourceSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PageNumber", location: .body(locationName: "pageNumber"), required: false, type: .string) + ] + /// 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. + public let pageNumber: String? + + public init(pageNumber: String? = nil) { + self.pageNumber = pageNumber + } + + private enum CodingKeys: String, CodingKey { + case pageNumber = "pageNumber" + } + } + + public enum H264InterlaceMode: String, CustomStringConvertible, Codable { + case progressive = "PROGRESSIVE" + case topField = "TOP_FIELD" + case bottomField = "BOTTOM_FIELD" + case followTopField = "FOLLOW_TOP_FIELD" + case followBottomField = "FOLLOW_BOTTOM_FIELD" + public var description: String { return self.rawValue } + } + + public struct CreatePresetResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Preset", location: .body(locationName: "preset"), required: false, type: .structure) + ] + public let preset: Preset? + + public init(preset: Preset? = nil) { + self.preset = preset + } + + private enum CodingKeys: String, CodingKey { + case preset = "preset" + } + } + + public enum Mpeg2CodecLevel: String, CustomStringConvertible, Codable { + case auto = "AUTO" + case low = "LOW" + case main = "MAIN" + case high1440 = "HIGH1440" + case high = "HIGH" + public var description: String { return self.rawValue } + } + + public enum HlsOutputSelection: String, CustomStringConvertible, Codable { + case manifestsAndSegments = "MANIFESTS_AND_SEGMENTS" + case segmentsOnly = "SEGMENTS_ONLY" + public var description: String { return self.rawValue } + } + + public struct ListJobsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Jobs", location: .body(locationName: "jobs"), required: false, type: .list), + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) + ] + /// List of jobs + public let jobs: [Job]? + /// Use this string to request the next batch of jobs. + public let nextToken: String? + + public init(jobs: [Job]? = nil, nextToken: String? = nil) { + self.jobs = jobs + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case jobs = "jobs" + case nextToken = "nextToken" + } + } + + public enum QueueStatus: String, CustomStringConvertible, Codable { + case active = "ACTIVE" + case paused = "PAUSED" + public var description: String { return self.rawValue } + } + + public struct UpdateQueueResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Queue", location: .body(locationName: "queue"), required: false, type: .structure) + ] + public let queue: Queue? + + public init(queue: Queue? = nil) { + self.queue = queue + } + + private enum CodingKeys: String, CodingKey { + case queue = "queue" + } + } + + public struct Output: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContainerSettings", location: .body(locationName: "containerSettings"), required: false, type: .structure), + AWSShapeMember(label: "OutputSettings", location: .body(locationName: "outputSettings"), required: false, type: .structure), + AWSShapeMember(label: "Preset", location: .body(locationName: "preset"), required: false, type: .string), + AWSShapeMember(label: "AudioDescriptions", location: .body(locationName: "audioDescriptions"), required: false, type: .list), + AWSShapeMember(label: "NameModifier", location: .body(locationName: "nameModifier"), required: false, type: .string), + AWSShapeMember(label: "CaptionDescriptions", location: .body(locationName: "captionDescriptions"), required: false, type: .list), + AWSShapeMember(label: "VideoDescription", location: .body(locationName: "videoDescription"), required: false, type: .structure), + AWSShapeMember(label: "Extension", location: .body(locationName: "extension"), required: false, type: .string) + ] + public let containerSettings: ContainerSettings? + public let outputSettings: OutputSettings? + /// 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. + public let preset: String? + /// (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. + public let audioDescriptions: [AudioDescription]? + /// 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. + public let nameModifier: String? + /// (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. + public let captionDescriptions: [CaptionDescription]? + /// (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. + public let videoDescription: VideoDescription? + /// 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) + public let `extension`: String? + + public init(containerSettings: ContainerSettings? = nil, outputSettings: OutputSettings? = nil, preset: String? = nil, audioDescriptions: [AudioDescription]? = nil, nameModifier: String? = nil, captionDescriptions: [CaptionDescription]? = nil, videoDescription: VideoDescription? = nil, extension: String? = nil) { + self.containerSettings = containerSettings + self.outputSettings = outputSettings + self.preset = preset + self.audioDescriptions = audioDescriptions + self.nameModifier = nameModifier + self.captionDescriptions = captionDescriptions + self.videoDescription = videoDescription + self.`extension` = `extension` + } + + private enum CodingKeys: String, CodingKey { + case containerSettings = "containerSettings" + case outputSettings = "outputSettings" + case preset = "preset" + case audioDescriptions = "audioDescriptions" + case nameModifier = "nameModifier" + case captionDescriptions = "captionDescriptions" + case videoDescription = "videoDescription" + case `extension` = "extension" + } + } + + public enum Eac3MetadataControl: String, CustomStringConvertible, Codable { + case followInput = "FOLLOW_INPUT" + case useConfigured = "USE_CONFIGURED" + public var description: String { return self.rawValue } + } + + public struct TimedMetadataInsertion: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id3Insertions", location: .body(locationName: "id3Insertions"), required: true, type: .list) + ] + /// Id3Insertions contains the array of Id3Insertion instances. + public let id3Insertions: [Id3Insertion] + + public init(id3Insertions: [Id3Insertion]) { + self.id3Insertions = id3Insertions + } + + private enum CodingKeys: String, CodingKey { + case id3Insertions = "id3Insertions" + } + } + + public struct AiffSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BitDepth", location: .body(locationName: "bitDepth"), required: false, type: .integer), + AWSShapeMember(label: "Channels", location: .body(locationName: "channels"), required: false, type: .integer), + AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .integer) + ] + /// Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track. + public let bitDepth: Int32? + /// 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. + public let channels: Int32? + /// Sample rate in hz. + public let sampleRate: Int32? + + public init(bitDepth: Int32? = nil, channels: Int32? = nil, sampleRate: Int32? = nil) { + self.bitDepth = bitDepth + self.channels = channels + self.sampleRate = sampleRate + } + + private enum CodingKeys: String, CodingKey { + case bitDepth = "bitDepth" + case channels = "channels" + case sampleRate = "sampleRate" + } + } + + public struct HlsSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SegmentModifier", location: .body(locationName: "segmentModifier"), required: false, type: .string), + AWSShapeMember(label: "AudioGroupId", location: .body(locationName: "audioGroupId"), required: false, type: .string), + AWSShapeMember(label: "AudioTrackType", location: .body(locationName: "audioTrackType"), required: false, type: .enum), + AWSShapeMember(label: "IFrameOnlyManifest", location: .body(locationName: "iFrameOnlyManifest"), required: false, type: .enum), + AWSShapeMember(label: "AudioRenditionSets", location: .body(locationName: "audioRenditionSets"), required: false, type: .string) + ] + /// String concatenated to end of segment filenames. Accepts "Format Identifiers":#format_identifier_parameters. + public let segmentModifier: String? + /// Specifies the group to which the audio Rendition belongs. + public let audioGroupId: String? + public let audioTrackType: HlsAudioTrackType? + public let iFrameOnlyManifest: HlsIFrameOnlyManifest? + /// 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 ','. + public let audioRenditionSets: String? + + public init(segmentModifier: String? = nil, audioGroupId: String? = nil, audioTrackType: HlsAudioTrackType? = nil, iFrameOnlyManifest: HlsIFrameOnlyManifest? = nil, audioRenditionSets: String? = nil) { + self.segmentModifier = segmentModifier + self.audioGroupId = audioGroupId + self.audioTrackType = audioTrackType + self.iFrameOnlyManifest = iFrameOnlyManifest + self.audioRenditionSets = audioRenditionSets + } + + private enum CodingKeys: String, CodingKey { + case segmentModifier = "segmentModifier" + case audioGroupId = "audioGroupId" + case audioTrackType = "audioTrackType" + case iFrameOnlyManifest = "iFrameOnlyManifest" + case audioRenditionSets = "audioRenditionSets" + } + } + + public struct AudioSelector: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SelectorType", location: .body(locationName: "selectorType"), required: false, type: .enum), + AWSShapeMember(label: "Tracks", location: .body(locationName: "tracks"), required: false, type: .list), + AWSShapeMember(label: "ExternalAudioFileInput", location: .body(locationName: "externalAudioFileInput"), required: false, type: .string), + AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .enum), + AWSShapeMember(label: "ProgramSelection", location: .body(locationName: "programSelection"), required: false, type: .integer), + AWSShapeMember(label: "Offset", location: .body(locationName: "offset"), required: false, type: .integer), + AWSShapeMember(label: "CustomLanguageCode", location: .body(locationName: "customLanguageCode"), required: false, type: .string), + AWSShapeMember(label: "Pids", location: .body(locationName: "pids"), required: false, type: .list), + AWSShapeMember(label: "RemixSettings", location: .body(locationName: "remixSettings"), required: false, type: .structure), + AWSShapeMember(label: "DefaultSelection", location: .body(locationName: "defaultSelection"), required: false, type: .enum) + ] + public let selectorType: AudioSelectorType? + /// 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]. + public let tracks: [Int32]? + /// Specifies audio data from an external file source. + public let externalAudioFileInput: String? + /// Selects a specific language code from within an audio source. + public let languageCode: LanguageCode? + /// 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. + public let programSelection: Int32? + /// Specifies a time delta in milliseconds to offset the audio from the input video. + public let offset: Int32? + /// Selects a specific language code from within an audio source, using the ISO 639-2 or ISO 639-3 three-letter language code + public let customLanguageCode: String? + /// Selects a specific PID from within an audio source (e.g. 257 selects PID 0x101). + public let pids: [Int32]? + /// 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. + public let remixSettings: RemixSettings? + public let defaultSelection: AudioDefaultSelection? + + public init(selectorType: AudioSelectorType? = nil, tracks: [Int32]? = nil, externalAudioFileInput: String? = nil, languageCode: LanguageCode? = nil, programSelection: Int32? = nil, offset: Int32? = nil, customLanguageCode: String? = nil, pids: [Int32]? = nil, remixSettings: RemixSettings? = nil, defaultSelection: AudioDefaultSelection? = nil) { + self.selectorType = selectorType + self.tracks = tracks + self.externalAudioFileInput = externalAudioFileInput + self.languageCode = languageCode + self.programSelection = programSelection + self.offset = offset + self.customLanguageCode = customLanguageCode + self.pids = pids + self.remixSettings = remixSettings + self.defaultSelection = defaultSelection + } + + private enum CodingKeys: String, CodingKey { + case selectorType = "selectorType" + case tracks = "tracks" + case externalAudioFileInput = "externalAudioFileInput" + case languageCode = "languageCode" + case programSelection = "programSelection" + case offset = "offset" + case customLanguageCode = "customLanguageCode" + case pids = "pids" + case remixSettings = "remixSettings" + case defaultSelection = "defaultSelection" + } + } + + public enum HlsDirectoryStructure: String, CustomStringConvertible, Codable { + case singleDirectory = "SINGLE_DIRECTORY" + case subdirectoryPerStream = "SUBDIRECTORY_PER_STREAM" + public var description: String { return self.rawValue } + } + + public enum WavFormat: String, CustomStringConvertible, Codable { + case riff = "RIFF" + case rf64 = "RF64" + public var description: String { return self.rawValue } + } + + public enum H264FramerateControl: String, CustomStringConvertible, Codable { + case initializeFromSource = "INITIALIZE_FROM_SOURCE" + case specified = "SPECIFIED" + public var description: String { return self.rawValue } + } + + public enum Eac3DynamicRangeCompressionRf: String, CustomStringConvertible, Codable { + case none = "NONE" + case filmStandard = "FILM_STANDARD" + case filmLight = "FILM_LIGHT" + case musicStandard = "MUSIC_STANDARD" + case musicLight = "MUSIC_LIGHT" + case speech = "SPEECH" + public var description: String { return self.rawValue } + } + + public struct AacSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: true, type: .enum), + AWSShapeMember(label: "CodecProfile", location: .body(locationName: "codecProfile"), required: false, type: .enum), + AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: true, type: .integer), + AWSShapeMember(label: "AudioDescriptionBroadcasterMix", location: .body(locationName: "audioDescriptionBroadcasterMix"), required: false, type: .enum), + AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), + AWSShapeMember(label: "VbrQuality", location: .body(locationName: "vbrQuality"), required: false, type: .enum), + AWSShapeMember(label: "Specification", location: .body(locationName: "specification"), required: false, type: .enum), + AWSShapeMember(label: "RawFormat", location: .body(locationName: "rawFormat"), required: false, type: .enum), + AWSShapeMember(label: "RateControlMode", location: .body(locationName: "rateControlMode"), required: false, type: .enum) + ] + public let codingMode: AacCodingMode + public let codecProfile: AacCodecProfile? + /// Sample rate in Hz. Valid values depend on rate control mode and profile. + public let sampleRate: Int32 + public let audioDescriptionBroadcasterMix: AacAudioDescriptionBroadcasterMix? + /// Average bitrate in bits/second. Defaults and valid values depend on rate control mode and profile. + public let bitrate: Int32? + public let vbrQuality: AacVbrQuality? + public let specification: AacSpecification? + public let rawFormat: AacRawFormat? + public let rateControlMode: AacRateControlMode? + + public init(codingMode: AacCodingMode, codecProfile: AacCodecProfile? = nil, sampleRate: Int32, audioDescriptionBroadcasterMix: AacAudioDescriptionBroadcasterMix? = nil, bitrate: Int32? = nil, vbrQuality: AacVbrQuality? = nil, specification: AacSpecification? = nil, rawFormat: AacRawFormat? = nil, rateControlMode: AacRateControlMode? = nil) { + self.codingMode = codingMode + self.codecProfile = codecProfile + self.sampleRate = sampleRate + self.audioDescriptionBroadcasterMix = audioDescriptionBroadcasterMix + self.bitrate = bitrate + self.vbrQuality = vbrQuality + self.specification = specification + self.rawFormat = rawFormat + self.rateControlMode = rateControlMode + } + + private enum CodingKeys: String, CodingKey { + case codingMode = "codingMode" + case codecProfile = "codecProfile" + case sampleRate = "sampleRate" + case audioDescriptionBroadcasterMix = "audioDescriptionBroadcasterMix" + case bitrate = "bitrate" + case vbrQuality = "vbrQuality" + case specification = "specification" + case rawFormat = "rawFormat" + case rateControlMode = "rateControlMode" + } + } + + public struct MsSmoothEncryptionSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SpekeKeyProvider", location: .body(locationName: "spekeKeyProvider"), required: true, type: .structure) + ] + public let spekeKeyProvider: SpekeKeyProvider + + public init(spekeKeyProvider: SpekeKeyProvider) { + self.spekeKeyProvider = spekeKeyProvider + } + + private enum CodingKeys: String, CodingKey { + case spekeKeyProvider = "spekeKeyProvider" + } + } + + public enum H265CodecLevel: String, CustomStringConvertible, Codable { + case auto = "AUTO" + case level1 = "LEVEL_1" + case level2 = "LEVEL_2" + case level21 = "LEVEL_2_1" + case level3 = "LEVEL_3" + case level31 = "LEVEL_3_1" + case level4 = "LEVEL_4" + case level41 = "LEVEL_4_1" + case level5 = "LEVEL_5" + case level51 = "LEVEL_5_1" + case level52 = "LEVEL_5_2" + case level6 = "LEVEL_6" + case level61 = "LEVEL_6_1" + case level62 = "LEVEL_6_2" + public var description: String { return self.rawValue } + } + + public enum Mpeg2GopSizeUnits: String, CustomStringConvertible, Codable { + case frames = "FRAMES" + case seconds = "SECONDS" + public var description: String { return self.rawValue } + } + + public enum Eac3DcFilter: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" + public var description: String { return self.rawValue } + } + + public struct PresetSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContainerSettings", location: .body(locationName: "containerSettings"), required: false, type: .structure), + AWSShapeMember(label: "CaptionDescriptions", location: .body(locationName: "captionDescriptions"), required: false, type: .list), + AWSShapeMember(label: "VideoDescription", location: .body(locationName: "videoDescription"), required: false, type: .structure), + AWSShapeMember(label: "AudioDescriptions", location: .body(locationName: "audioDescriptions"), required: false, type: .list) + ] + public let containerSettings: ContainerSettings? + /// Caption settings for this preset. There can be multiple caption settings in a single output. + public let captionDescriptions: [CaptionDescriptionPreset]? + /// (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. + public let videoDescription: VideoDescription? + /// (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. + public let audioDescriptions: [AudioDescription]? + + public init(containerSettings: ContainerSettings? = nil, captionDescriptions: [CaptionDescriptionPreset]? = nil, videoDescription: VideoDescription? = nil, audioDescriptions: [AudioDescription]? = nil) { + self.containerSettings = containerSettings + self.captionDescriptions = captionDescriptions + self.videoDescription = videoDescription + self.audioDescriptions = audioDescriptions + } + + private enum CodingKeys: String, CodingKey { + case containerSettings = "containerSettings" + case captionDescriptions = "captionDescriptions" + case videoDescription = "videoDescription" + case audioDescriptions = "audioDescriptions" + } + } + + public enum DropFrameTimecode: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public enum HlsKeyProviderType: String, CustomStringConvertible, Codable { + case speke = "SPEKE" + case staticKey = "STATIC_KEY" + public var description: String { return self.rawValue } + } + + public struct VideoPreprocessor: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Deinterlacer", location: .body(locationName: "deinterlacer"), required: false, type: .structure), + AWSShapeMember(label: "NoiseReducer", location: .body(locationName: "noiseReducer"), required: false, type: .structure), + AWSShapeMember(label: "ImageInserter", location: .body(locationName: "imageInserter"), required: false, type: .structure), + AWSShapeMember(label: "TimecodeBurnin", location: .body(locationName: "timecodeBurnin"), required: false, type: .structure), + AWSShapeMember(label: "ColorCorrector", location: .body(locationName: "colorCorrector"), required: false, type: .structure) + ] + /// Use Deinterlacer (Deinterlacer) to produce smoother motion and a clearer picture. + public let deinterlacer: Deinterlacer? + /// 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. + public let noiseReducer: NoiseReducer? + /// 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. + public let imageInserter: ImageInserter? + /// Timecode burn-in (TimecodeBurnIn)--Burns the output timecode and specified prefix into the output. + public let timecodeBurnin: TimecodeBurnin? + /// Enable the Color corrector (ColorCorrector) feature if necessary. Enable or disable this feature for each output individually. This setting is disabled by default. + public let colorCorrector: ColorCorrector? + + public init(deinterlacer: Deinterlacer? = nil, noiseReducer: NoiseReducer? = nil, imageInserter: ImageInserter? = nil, timecodeBurnin: TimecodeBurnin? = nil, colorCorrector: ColorCorrector? = nil) { + self.deinterlacer = deinterlacer + self.noiseReducer = noiseReducer + self.imageInserter = imageInserter + self.timecodeBurnin = timecodeBurnin + self.colorCorrector = colorCorrector + } + + private enum CodingKeys: String, CodingKey { + case deinterlacer = "deinterlacer" + case noiseReducer = "noiseReducer" + case imageInserter = "imageInserter" + case timecodeBurnin = "timecodeBurnin" + case colorCorrector = "colorCorrector" + } + } + + public struct Preset: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CreatedAt", location: .body(locationName: "createdAt"), required: false, type: .timestamp), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "Category", location: .body(locationName: "category"), required: false, type: .string), + AWSShapeMember(label: "LastUpdated", location: .body(locationName: "lastUpdated"), required: false, type: .timestamp), + AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: true, type: .structure), + AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + ] + /// The timestamp in epoch seconds for preset creation. + public let createdAt: TimeStamp? + /// An identifier for this resource that is unique within all of AWS. + public let arn: String? + /// A name you create for each preset. Each name must be unique within your account. + public let name: String + /// An optional category you create to organize your presets. + public let category: String? + /// The timestamp in epoch seconds when the preset was last updated. + public let lastUpdated: TimeStamp? + public let settings: PresetSettings + /// A preset can be of two types: system or custom. System or built-in preset can't be modified or deleted by the user. + public let `type`: `Type`? + /// An optional description you create for each preset. + public let description: String? + + public init(createdAt: TimeStamp? = nil, arn: String? = nil, name: String, category: String? = nil, lastUpdated: TimeStamp? = nil, settings: PresetSettings, type: `Type`? = nil, description: String? = nil) { + self.createdAt = createdAt + self.arn = arn + self.name = name + self.category = category + self.lastUpdated = lastUpdated + self.settings = settings + self.`type` = `type` + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case createdAt = "createdAt" + case arn = "arn" + case name = "name" + case category = "category" + case lastUpdated = "lastUpdated" + case settings = "settings" + case `type` = "type" + case description = "description" + } + } + + public enum CmafEncryptionType: String, CustomStringConvertible, Codable { + case sampleAes = "SAMPLE_AES" + public var description: String { return self.rawValue } + } + + public enum H264Syntax: String, CustomStringConvertible, Codable { + case `default` = "DEFAULT" + case rp2027 = "RP2027" + public var description: String { return self.rawValue } + } + + public enum HlsCaptionLanguageSetting: String, CustomStringConvertible, Codable { + case insert = "INSERT" + case omit = "OMIT" + case none = "NONE" + public var description: String { return self.rawValue } + } + + public struct OutputChannelMapping: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InputChannels", location: .body(locationName: "inputChannels"), required: true, type: .list) + ] + /// List of input channels + public let inputChannels: [Int32] + + public init(inputChannels: [Int32]) { + self.inputChannels = inputChannels + } + + private enum CodingKeys: String, CodingKey { + case inputChannels = "inputChannels" + } + } + + public struct AvailBlanking: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AvailBlankingImage", location: .body(locationName: "availBlankingImage"), required: false, type: .string) + ] + /// Blanking image to be used. Leave empty for solid black. Only bmp and png images are supported. + public let availBlankingImage: String? + + public init(availBlankingImage: String? = nil) { + self.availBlankingImage = availBlankingImage + } + + private enum CodingKeys: String, CodingKey { + case availBlankingImage = "availBlankingImage" + } } - public struct ListPresetsRequest: AWSShape { + public struct TimecodeConfig: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Category", location: .querystring(locationName: "category"), required: false, type: .string), - AWSShapeMember(label: "ListBy", location: .querystring(locationName: "listBy"), required: false, type: .enum), - AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "Order", location: .querystring(locationName: "order"), required: false, type: .enum), - AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + AWSShapeMember(label: "Anchor", location: .body(locationName: "anchor"), required: false, type: .string), + AWSShapeMember(label: "Start", location: .body(locationName: "start"), required: false, type: .string), + AWSShapeMember(label: "Source", location: .body(locationName: "source"), required: false, type: .enum), + AWSShapeMember(label: "TimestampOffset", location: .body(locationName: "timestampOffset"), required: false, type: .string) ] - /// Optionally, specify a preset category to limit responses to only presets from that category. - public let category: String? - public let listBy: PresetListBy? - /// Use this string, provided with the response to a previous request, to request the next batch of presets. - public let nextToken: String? - public let order: Order? - /// Optional. Number of presets, up to twenty, that will be returned at one time - public let maxResults: Int32? + /// 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. + public let anchor: String? + /// 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). + public let start: String? + public let source: TimecodeSource? + /// 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. + public let timestampOffset: String? - public init(category: String? = nil, listBy: PresetListBy? = nil, nextToken: String? = nil, order: Order? = nil, maxResults: Int32? = nil) { - self.category = category - self.listBy = listBy - self.nextToken = nextToken - self.order = order - self.maxResults = maxResults + public init(anchor: String? = nil, start: String? = nil, source: TimecodeSource? = nil, timestampOffset: String? = nil) { + self.anchor = anchor + self.start = start + self.source = source + self.timestampOffset = timestampOffset } private enum CodingKeys: String, CodingKey { - case category = "category" - case listBy = "listBy" - case nextToken = "nextToken" - case order = "order" - case maxResults = "maxResults" + case anchor = "anchor" + case start = "start" + case source = "source" + case timestampOffset = "timestampOffset" } } - public enum HlsAudioTrackType: String, CustomStringConvertible, Codable { - case alternateAudioAutoSelectDefault = "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT" - case alternateAudioAutoSelect = "ALTERNATE_AUDIO_AUTO_SELECT" - case alternateAudioNotAutoSelect = "ALTERNATE_AUDIO_NOT_AUTO_SELECT" - case audioOnlyVariantStream = "AUDIO_ONLY_VARIANT_STREAM" + public enum CmafManifestCompression: String, CustomStringConvertible, Codable { + case gzip = "GZIP" + case none = "NONE" public var description: String { return self.rawValue } } - public enum H265QualityTuningLevel: String, CustomStringConvertible, Codable { - case singlePass = "SINGLE_PASS" - case singlePassHq = "SINGLE_PASS_HQ" - case multiPassHq = "MULTI_PASS_HQ" + public struct DeletePresetResponse: AWSShape { + + } + + public enum AudioDefaultSelection: String, CustomStringConvertible, Codable { + case `default` = "DEFAULT" + case notDefault = "NOT_DEFAULT" public var description: String { return self.rawValue } } - public struct VideoCodecSettings: AWSShape { + public struct DashIsoEncryptionSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "H264Settings", location: .body(locationName: "h264Settings"), required: false, type: .structure), - AWSShapeMember(label: "ProresSettings", location: .body(locationName: "proresSettings"), required: false, type: .structure), - AWSShapeMember(label: "H265Settings", location: .body(locationName: "h265Settings"), required: false, type: .structure), - AWSShapeMember(label: "Codec", location: .body(locationName: "codec"), required: false, type: .enum), - AWSShapeMember(label: "FrameCaptureSettings", location: .body(locationName: "frameCaptureSettings"), required: false, type: .structure), - AWSShapeMember(label: "Mpeg2Settings", location: .body(locationName: "mpeg2Settings"), required: false, type: .structure) + AWSShapeMember(label: "SpekeKeyProvider", location: .body(locationName: "spekeKeyProvider"), required: true, type: .structure) ] - public let h264Settings: H264Settings? - public let proresSettings: ProresSettings? - public let h265Settings: H265Settings? - public let codec: VideoCodec? - public let frameCaptureSettings: FrameCaptureSettings? - public let mpeg2Settings: Mpeg2Settings? + public let spekeKeyProvider: SpekeKeyProvider - public init(h264Settings: H264Settings? = nil, proresSettings: ProresSettings? = nil, h265Settings: H265Settings? = nil, codec: VideoCodec? = nil, frameCaptureSettings: FrameCaptureSettings? = nil, mpeg2Settings: Mpeg2Settings? = nil) { - self.h264Settings = h264Settings - self.proresSettings = proresSettings - self.h265Settings = h265Settings - self.codec = codec - self.frameCaptureSettings = frameCaptureSettings - self.mpeg2Settings = mpeg2Settings + public init(spekeKeyProvider: SpekeKeyProvider) { + self.spekeKeyProvider = spekeKeyProvider } private enum CodingKeys: String, CodingKey { - case h264Settings = "h264Settings" - case proresSettings = "proresSettings" - case h265Settings = "h265Settings" - case codec = "codec" - case frameCaptureSettings = "frameCaptureSettings" - case mpeg2Settings = "mpeg2Settings" + case spekeKeyProvider = "spekeKeyProvider" } } - public struct Rectangle: AWSShape { + public enum ProresSlowPal: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public enum H265GopBReference: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public struct InputClipping: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "X", location: .body(locationName: "x"), required: false, type: .integer), - AWSShapeMember(label: "Height", location: .body(locationName: "height"), required: false, type: .integer), - AWSShapeMember(label: "Width", location: .body(locationName: "width"), required: false, type: .integer), - AWSShapeMember(label: "Y", location: .body(locationName: "y"), required: false, type: .integer) + AWSShapeMember(label: "StartTimecode", location: .body(locationName: "startTimecode"), required: false, type: .string), + AWSShapeMember(label: "EndTimecode", location: .body(locationName: "endTimecode"), required: false, type: .string) ] - /// The distance, in pixels, between the rectangle and the left edge of the video frame. - public let x: Int32? - /// Height of rectangle in pixels. - public let height: Int32? - /// Width of rectangle in pixels. - public let width: Int32? - /// The distance, in pixels, between the rectangle and the top edge of the video frame. - public let y: Int32? + /// 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. + public let startTimecode: String? + /// 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. + public let endTimecode: String? - public init(x: Int32? = nil, height: Int32? = nil, width: Int32? = nil, y: Int32? = nil) { - self.x = x - self.height = height - self.width = width - self.y = y + public init(startTimecode: String? = nil, endTimecode: String? = nil) { + self.startTimecode = startTimecode + self.endTimecode = endTimecode } private enum CodingKeys: String, CodingKey { - case x = "x" - case height = "height" - case width = "width" - case y = "y" + case startTimecode = "startTimecode" + case endTimecode = "endTimecode" } } - public struct BurninDestinationSettings: AWSShape { + public struct M3u8Settings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BackgroundColor", location: .body(locationName: "backgroundColor"), required: false, type: .enum), - AWSShapeMember(label: "BackgroundOpacity", location: .body(locationName: "backgroundOpacity"), required: false, type: .integer), - AWSShapeMember(label: "YPosition", location: .body(locationName: "yPosition"), required: false, type: .integer), - AWSShapeMember(label: "FontOpacity", location: .body(locationName: "fontOpacity"), required: false, type: .integer), - AWSShapeMember(label: "ShadowXOffset", location: .body(locationName: "shadowXOffset"), required: false, type: .integer), - AWSShapeMember(label: "FontSize", location: .body(locationName: "fontSize"), required: false, type: .integer), - AWSShapeMember(label: "Alignment", location: .body(locationName: "alignment"), required: false, type: .enum), - AWSShapeMember(label: "XPosition", location: .body(locationName: "xPosition"), required: false, type: .integer), - AWSShapeMember(label: "ShadowOpacity", location: .body(locationName: "shadowOpacity"), required: false, type: .integer), - AWSShapeMember(label: "FontColor", location: .body(locationName: "fontColor"), required: false, type: .enum), - AWSShapeMember(label: "OutlineColor", location: .body(locationName: "outlineColor"), required: false, type: .enum), - AWSShapeMember(label: "ShadowColor", location: .body(locationName: "shadowColor"), required: false, type: .enum), - AWSShapeMember(label: "TeletextSpacing", location: .body(locationName: "teletextSpacing"), required: false, type: .enum), - AWSShapeMember(label: "FontResolution", location: .body(locationName: "fontResolution"), required: false, type: .integer), - AWSShapeMember(label: "ShadowYOffset", location: .body(locationName: "shadowYOffset"), required: false, type: .integer), - AWSShapeMember(label: "OutlineSize", location: .body(locationName: "outlineSize"), required: false, type: .integer) + AWSShapeMember(label: "TimedMetadataPid", location: .body(locationName: "timedMetadataPid"), required: false, type: .integer), + AWSShapeMember(label: "PcrControl", location: .body(locationName: "pcrControl"), required: false, type: .enum), + AWSShapeMember(label: "NielsenId3", location: .body(locationName: "nielsenId3"), required: false, type: .enum), + AWSShapeMember(label: "PatInterval", location: .body(locationName: "patInterval"), required: false, type: .integer), + AWSShapeMember(label: "TimedMetadata", location: .body(locationName: "timedMetadata"), required: false, type: .enum), + AWSShapeMember(label: "PmtPid", location: .body(locationName: "pmtPid"), required: false, type: .integer), + AWSShapeMember(label: "VideoPid", location: .body(locationName: "videoPid"), required: false, type: .integer), + AWSShapeMember(label: "PcrPid", location: .body(locationName: "pcrPid"), required: false, type: .integer), + AWSShapeMember(label: "PmtInterval", location: .body(locationName: "pmtInterval"), required: false, type: .integer), + AWSShapeMember(label: "Scte35Pid", location: .body(locationName: "scte35Pid"), required: false, type: .integer), + AWSShapeMember(label: "Scte35Source", location: .body(locationName: "scte35Source"), required: false, type: .enum), + AWSShapeMember(label: "ProgramNumber", location: .body(locationName: "programNumber"), required: false, type: .integer), + AWSShapeMember(label: "AudioPids", location: .body(locationName: "audioPids"), required: false, type: .list), + AWSShapeMember(label: "AudioFramesPerPes", location: .body(locationName: "audioFramesPerPes"), required: false, type: .integer), + AWSShapeMember(label: "TransportStreamId", location: .body(locationName: "transportStreamId"), required: false, type: .integer), + AWSShapeMember(label: "PrivateMetadataPid", location: .body(locationName: "privateMetadataPid"), required: false, type: .integer) ] - public let backgroundColor: BurninSubtitleBackgroundColor? - /// 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. - public let backgroundOpacity: Int32? - /// 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. - public let yPosition: Int32? - /// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. - /// All burn-in and DVB-Sub font settings must match. - public let fontOpacity: Int32? - /// 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. - public let shadowXOffset: Int32? - /// 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. - public let fontSize: Int32? - public let alignment: BurninSubtitleAlignment? - /// 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. - public let xPosition: Int32? - /// 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. - public let shadowOpacity: Int32? - public let fontColor: BurninSubtitleFontColor? - public let outlineColor: BurninSubtitleOutlineColor? - public let shadowColor: BurninSubtitleShadowColor? - public let teletextSpacing: BurninSubtitleTeletextSpacing? - /// Font resolution in DPI (dots per inch); default is 96 dpi. - /// All burn-in and DVB-Sub font settings must match. - public let fontResolution: Int32? - /// 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. - public let shadowYOffset: Int32? - /// 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. - public let outlineSize: Int32? + /// Packet Identifier (PID) of the timed metadata stream in the transport stream. + public let timedMetadataPid: Int32? + public let pcrControl: M3u8PcrControl? + public let nielsenId3: M3u8NielsenId3? + /// The number of milliseconds between instances of this table in the output transport stream. + public let patInterval: Int32? + public let timedMetadata: TimedMetadata? + /// Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. + public let pmtPid: Int32? + /// Packet Identifier (PID) of the elementary video stream in the transport stream. + public let videoPid: Int32? + /// 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. + public let pcrPid: Int32? + /// The number of milliseconds between instances of this table in the output transport stream. + public let pmtInterval: Int32? + /// Packet Identifier (PID) of the SCTE-35 stream in the transport stream. + public let scte35Pid: Int32? + public let scte35Source: M3u8Scte35Source? + /// The value of the program number field in the Program Map Table. + public let programNumber: Int32? + /// 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. + public let audioPids: [Int32]? + /// The number of audio frames to insert for each PES packet. + public let audioFramesPerPes: Int32? + /// The value of the transport stream ID field in the Program Map Table. + public let transportStreamId: Int32? + /// Packet Identifier (PID) of the private metadata stream in the transport stream. + public let privateMetadataPid: Int32? - public init(backgroundColor: BurninSubtitleBackgroundColor? = nil, backgroundOpacity: Int32? = nil, yPosition: Int32? = nil, fontOpacity: Int32? = nil, shadowXOffset: Int32? = nil, fontSize: Int32? = nil, alignment: BurninSubtitleAlignment? = nil, xPosition: Int32? = nil, shadowOpacity: Int32? = nil, fontColor: BurninSubtitleFontColor? = nil, outlineColor: BurninSubtitleOutlineColor? = nil, shadowColor: BurninSubtitleShadowColor? = nil, teletextSpacing: BurninSubtitleTeletextSpacing? = nil, fontResolution: Int32? = nil, shadowYOffset: Int32? = nil, outlineSize: Int32? = nil) { - self.backgroundColor = backgroundColor - self.backgroundOpacity = backgroundOpacity - self.yPosition = yPosition - self.fontOpacity = fontOpacity - self.shadowXOffset = shadowXOffset - self.fontSize = fontSize - self.alignment = alignment - self.xPosition = xPosition - self.shadowOpacity = shadowOpacity - self.fontColor = fontColor - self.outlineColor = outlineColor - self.shadowColor = shadowColor - self.teletextSpacing = teletextSpacing - self.fontResolution = fontResolution - self.shadowYOffset = shadowYOffset - self.outlineSize = outlineSize + public init(timedMetadataPid: Int32? = nil, pcrControl: M3u8PcrControl? = nil, nielsenId3: M3u8NielsenId3? = nil, patInterval: Int32? = nil, timedMetadata: TimedMetadata? = nil, pmtPid: Int32? = nil, videoPid: Int32? = nil, pcrPid: Int32? = nil, pmtInterval: Int32? = nil, scte35Pid: Int32? = nil, scte35Source: M3u8Scte35Source? = nil, programNumber: Int32? = nil, audioPids: [Int32]? = nil, audioFramesPerPes: Int32? = nil, transportStreamId: Int32? = nil, privateMetadataPid: Int32? = nil) { + self.timedMetadataPid = timedMetadataPid + self.pcrControl = pcrControl + self.nielsenId3 = nielsenId3 + self.patInterval = patInterval + self.timedMetadata = timedMetadata + self.pmtPid = pmtPid + self.videoPid = videoPid + self.pcrPid = pcrPid + self.pmtInterval = pmtInterval + self.scte35Pid = scte35Pid + self.scte35Source = scte35Source + self.programNumber = programNumber + self.audioPids = audioPids + self.audioFramesPerPes = audioFramesPerPes + self.transportStreamId = transportStreamId + self.privateMetadataPid = privateMetadataPid + } + + private enum CodingKeys: String, CodingKey { + case timedMetadataPid = "timedMetadataPid" + case pcrControl = "pcrControl" + case nielsenId3 = "nielsenId3" + case patInterval = "patInterval" + case timedMetadata = "timedMetadata" + case pmtPid = "pmtPid" + case videoPid = "videoPid" + case pcrPid = "pcrPid" + case pmtInterval = "pmtInterval" + case scte35Pid = "scte35Pid" + case scte35Source = "scte35Source" + case programNumber = "programNumber" + case audioPids = "audioPids" + case audioFramesPerPes = "audioFramesPerPes" + case transportStreamId = "transportStreamId" + case privateMetadataPid = "privateMetadataPid" } + } - private enum CodingKeys: String, CodingKey { - case backgroundColor = "backgroundColor" - case backgroundOpacity = "backgroundOpacity" - case yPosition = "yPosition" - case fontOpacity = "fontOpacity" - case shadowXOffset = "shadowXOffset" - case fontSize = "fontSize" - case alignment = "alignment" - case xPosition = "xPosition" - case shadowOpacity = "shadowOpacity" - case fontColor = "fontColor" - case outlineColor = "outlineColor" - case shadowColor = "shadowColor" - case teletextSpacing = "teletextSpacing" - case fontResolution = "fontResolution" - case shadowYOffset = "shadowYOffset" - case outlineSize = "outlineSize" - } + public enum AacSpecification: String, CustomStringConvertible, Codable { + case mpeg2 = "MPEG2" + case mpeg4 = "MPEG4" + public var description: String { return self.rawValue } } - public struct H264Settings: AWSShape { + public enum DashIsoHbbtvCompliance: String, CustomStringConvertible, Codable { + case hbbtv15 = "HBBTV_1_5" + case none = "NONE" + public var description: String { return self.rawValue } + } + + public struct ProresSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NumberBFramesBetweenReferenceFrames", location: .body(locationName: "numberBFramesBetweenReferenceFrames"), required: false, type: .integer), - AWSShapeMember(label: "ParControl", location: .body(locationName: "parControl"), required: false, type: .enum), - AWSShapeMember(label: "FlickerAdaptiveQuantization", location: .body(locationName: "flickerAdaptiveQuantization"), required: false, type: .enum), - AWSShapeMember(label: "GopBReference", location: .body(locationName: "gopBReference"), required: false, type: .enum), - AWSShapeMember(label: "FramerateNumerator", location: .body(locationName: "framerateNumerator"), required: false, type: .integer), - AWSShapeMember(label: "Slices", location: .body(locationName: "slices"), required: false, type: .integer), - AWSShapeMember(label: "HrdBufferSize", location: .body(locationName: "hrdBufferSize"), required: false, type: .integer), - AWSShapeMember(label: "EntropyEncoding", location: .body(locationName: "entropyEncoding"), required: false, type: .enum), - AWSShapeMember(label: "SpatialAdaptiveQuantization", location: .body(locationName: "spatialAdaptiveQuantization"), required: false, type: .enum), - AWSShapeMember(label: "ParNumerator", location: .body(locationName: "parNumerator"), required: false, type: .integer), - AWSShapeMember(label: "CodecProfile", location: .body(locationName: "codecProfile"), required: false, type: .enum), - AWSShapeMember(label: "QualityTuningLevel", location: .body(locationName: "qualityTuningLevel"), required: false, type: .enum), - AWSShapeMember(label: "CodecLevel", location: .body(locationName: "codecLevel"), required: false, type: .enum), - AWSShapeMember(label: "MaxBitrate", location: .body(locationName: "maxBitrate"), required: false, type: .integer), - AWSShapeMember(label: "AdaptiveQuantization", location: .body(locationName: "adaptiveQuantization"), required: false, type: .enum), - AWSShapeMember(label: "GopSizeUnits", location: .body(locationName: "gopSizeUnits"), required: false, type: .enum), - AWSShapeMember(label: "SceneChangeDetect", location: .body(locationName: "sceneChangeDetect"), required: false, type: .enum), - AWSShapeMember(label: "SlowPal", location: .body(locationName: "slowPal"), required: false, type: .enum), - AWSShapeMember(label: "TemporalAdaptiveQuantization", location: .body(locationName: "temporalAdaptiveQuantization"), required: false, type: .enum), - AWSShapeMember(label: "NumberReferenceFrames", location: .body(locationName: "numberReferenceFrames"), required: false, type: .integer), - AWSShapeMember(label: "RateControlMode", location: .body(locationName: "rateControlMode"), required: false, type: .enum), + AWSShapeMember(label: "Telecine", location: .body(locationName: "telecine"), required: false, type: .enum), AWSShapeMember(label: "FramerateDenominator", location: .body(locationName: "framerateDenominator"), required: false, type: .integer), + AWSShapeMember(label: "ParControl", location: .body(locationName: "parControl"), required: false, type: .enum), AWSShapeMember(label: "FramerateConversionAlgorithm", location: .body(locationName: "framerateConversionAlgorithm"), required: false, type: .enum), - AWSShapeMember(label: "FieldEncoding", location: .body(locationName: "fieldEncoding"), required: false, type: .enum), + AWSShapeMember(label: "FramerateNumerator", location: .body(locationName: "framerateNumerator"), required: false, type: .integer), AWSShapeMember(label: "ParDenominator", location: .body(locationName: "parDenominator"), required: false, type: .integer), - AWSShapeMember(label: "GopClosedCadence", location: .body(locationName: "gopClosedCadence"), required: false, type: .integer), - AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), + AWSShapeMember(label: "CodecProfile", location: .body(locationName: "codecProfile"), required: false, type: .enum), AWSShapeMember(label: "InterlaceMode", location: .body(locationName: "interlaceMode"), required: false, type: .enum), - AWSShapeMember(label: "MinIInterval", location: .body(locationName: "minIInterval"), required: false, type: .integer), - AWSShapeMember(label: "Syntax", location: .body(locationName: "syntax"), required: false, type: .enum), - AWSShapeMember(label: "RepeatPps", location: .body(locationName: "repeatPps"), required: false, type: .enum), - AWSShapeMember(label: "HrdBufferInitialFillPercentage", location: .body(locationName: "hrdBufferInitialFillPercentage"), required: false, type: .integer), - AWSShapeMember(label: "UnregisteredSeiTimecode", location: .body(locationName: "unregisteredSeiTimecode"), required: false, type: .enum), - AWSShapeMember(label: "Softness", location: .body(locationName: "softness"), required: false, type: .integer), - AWSShapeMember(label: "GopSize", location: .body(locationName: "gopSize"), required: false, type: .double), + AWSShapeMember(label: "SlowPal", location: .body(locationName: "slowPal"), required: false, type: .enum), AWSShapeMember(label: "FramerateControl", location: .body(locationName: "framerateControl"), required: false, type: .enum), - AWSShapeMember(label: "Telecine", location: .body(locationName: "telecine"), required: false, type: .enum) + AWSShapeMember(label: "ParNumerator", location: .body(locationName: "parNumerator"), required: false, type: .integer) ] - /// Number of B-frames between reference frames. - public let numberBFramesBetweenReferenceFrames: Int32? - public let parControl: H264ParControl? - public let flickerAdaptiveQuantization: H264FlickerAdaptiveQuantization? - public let gopBReference: H264GopBReference? - /// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. - public let framerateNumerator: Int32? - /// 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. - public let slices: Int32? - /// Size of buffer (HRD buffer model). Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m. - public let hrdBufferSize: Int32? - public let entropyEncoding: H264EntropyEncoding? - public let spatialAdaptiveQuantization: H264SpatialAdaptiveQuantization? - /// Pixel Aspect Ratio numerator. - public let parNumerator: Int32? - public let codecProfile: H264CodecProfile? - public let qualityTuningLevel: H264QualityTuningLevel? - public let codecLevel: H264CodecLevel? - /// Maximum bitrate in bits/second (for VBR mode only). Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m. - public let maxBitrate: Int32? - public let adaptiveQuantization: H264AdaptiveQuantization? - public let gopSizeUnits: H264GopSizeUnits? - public let sceneChangeDetect: H264SceneChangeDetect? - public let slowPal: H264SlowPal? - public let temporalAdaptiveQuantization: H264TemporalAdaptiveQuantization? - /// Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. - public let numberReferenceFrames: Int32? - public let rateControlMode: H264RateControlMode? - /// 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. + public let telecine: ProresTelecine? + /// Framerate denominator. public let framerateDenominator: Int32? - public let framerateConversionAlgorithm: H264FramerateConversionAlgorithm? - public let fieldEncoding: H264FieldEncoding? + public let parControl: ProresParControl? + public let framerateConversionAlgorithm: ProresFramerateConversionAlgorithm? + /// 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. + public let framerateNumerator: Int32? /// Pixel Aspect Ratio denominator. public let parDenominator: Int32? - /// 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. - public let gopClosedCadence: Int32? - /// Average bitrate in bits/second. Required for VBR, CBR, and ABR. Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000. - public let bitrate: Int32? - public let interlaceMode: H264InterlaceMode? - /// 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 - public let minIInterval: Int32? - public let syntax: H264Syntax? - public let repeatPps: H264RepeatPps? - /// Percentage of the buffer that should initially be filled (HRD buffer model). - public let hrdBufferInitialFillPercentage: Int32? - public let unregisteredSeiTimecode: H264UnregisteredSeiTimecode? - /// Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. - public let softness: Int32? - /// GOP Length (keyframe interval) in frames or seconds. Must be greater than zero. - public let gopSize: Double? - public let framerateControl: H264FramerateControl? - public let telecine: H264Telecine? + public let codecProfile: ProresCodecProfile? + public let interlaceMode: ProresInterlaceMode? + public let slowPal: ProresSlowPal? + public let framerateControl: ProresFramerateControl? + /// Pixel Aspect Ratio numerator. + public let parNumerator: Int32? - public init(numberBFramesBetweenReferenceFrames: Int32? = nil, parControl: H264ParControl? = nil, flickerAdaptiveQuantization: H264FlickerAdaptiveQuantization? = nil, gopBReference: H264GopBReference? = nil, framerateNumerator: Int32? = nil, slices: Int32? = nil, hrdBufferSize: Int32? = nil, entropyEncoding: H264EntropyEncoding? = nil, spatialAdaptiveQuantization: H264SpatialAdaptiveQuantization? = nil, parNumerator: Int32? = nil, codecProfile: H264CodecProfile? = nil, qualityTuningLevel: H264QualityTuningLevel? = nil, codecLevel: H264CodecLevel? = nil, maxBitrate: Int32? = nil, adaptiveQuantization: H264AdaptiveQuantization? = nil, gopSizeUnits: H264GopSizeUnits? = nil, sceneChangeDetect: H264SceneChangeDetect? = nil, slowPal: H264SlowPal? = nil, temporalAdaptiveQuantization: H264TemporalAdaptiveQuantization? = nil, numberReferenceFrames: Int32? = nil, rateControlMode: H264RateControlMode? = nil, framerateDenominator: Int32? = nil, framerateConversionAlgorithm: H264FramerateConversionAlgorithm? = nil, fieldEncoding: H264FieldEncoding? = nil, parDenominator: Int32? = nil, gopClosedCadence: Int32? = nil, bitrate: Int32? = nil, interlaceMode: H264InterlaceMode? = nil, minIInterval: Int32? = nil, syntax: H264Syntax? = nil, repeatPps: H264RepeatPps? = nil, hrdBufferInitialFillPercentage: Int32? = nil, unregisteredSeiTimecode: H264UnregisteredSeiTimecode? = nil, softness: Int32? = nil, gopSize: Double? = nil, framerateControl: H264FramerateControl? = nil, telecine: H264Telecine? = nil) { - self.numberBFramesBetweenReferenceFrames = numberBFramesBetweenReferenceFrames - self.parControl = parControl - self.flickerAdaptiveQuantization = flickerAdaptiveQuantization - self.gopBReference = gopBReference - self.framerateNumerator = framerateNumerator - self.slices = slices - self.hrdBufferSize = hrdBufferSize - self.entropyEncoding = entropyEncoding - self.spatialAdaptiveQuantization = spatialAdaptiveQuantization - self.parNumerator = parNumerator - self.codecProfile = codecProfile - self.qualityTuningLevel = qualityTuningLevel - self.codecLevel = codecLevel - self.maxBitrate = maxBitrate - self.adaptiveQuantization = adaptiveQuantization - self.gopSizeUnits = gopSizeUnits - self.sceneChangeDetect = sceneChangeDetect - self.slowPal = slowPal - self.temporalAdaptiveQuantization = temporalAdaptiveQuantization - self.numberReferenceFrames = numberReferenceFrames - self.rateControlMode = rateControlMode + public init(telecine: ProresTelecine? = nil, framerateDenominator: Int32? = nil, parControl: ProresParControl? = nil, framerateConversionAlgorithm: ProresFramerateConversionAlgorithm? = nil, framerateNumerator: Int32? = nil, parDenominator: Int32? = nil, codecProfile: ProresCodecProfile? = nil, interlaceMode: ProresInterlaceMode? = nil, slowPal: ProresSlowPal? = nil, framerateControl: ProresFramerateControl? = nil, parNumerator: Int32? = nil) { + self.telecine = telecine self.framerateDenominator = framerateDenominator + self.parControl = parControl self.framerateConversionAlgorithm = framerateConversionAlgorithm - self.fieldEncoding = fieldEncoding + self.framerateNumerator = framerateNumerator self.parDenominator = parDenominator - self.gopClosedCadence = gopClosedCadence - self.bitrate = bitrate + self.codecProfile = codecProfile self.interlaceMode = interlaceMode - self.minIInterval = minIInterval - self.syntax = syntax - self.repeatPps = repeatPps - self.hrdBufferInitialFillPercentage = hrdBufferInitialFillPercentage - self.unregisteredSeiTimecode = unregisteredSeiTimecode - self.softness = softness - self.gopSize = gopSize + self.slowPal = slowPal self.framerateControl = framerateControl - self.telecine = telecine + self.parNumerator = parNumerator } private enum CodingKeys: String, CodingKey { - case numberBFramesBetweenReferenceFrames = "numberBFramesBetweenReferenceFrames" - case parControl = "parControl" - case flickerAdaptiveQuantization = "flickerAdaptiveQuantization" - case gopBReference = "gopBReference" - case framerateNumerator = "framerateNumerator" - case slices = "slices" - case hrdBufferSize = "hrdBufferSize" - case entropyEncoding = "entropyEncoding" - case spatialAdaptiveQuantization = "spatialAdaptiveQuantization" - case parNumerator = "parNumerator" - case codecProfile = "codecProfile" - case qualityTuningLevel = "qualityTuningLevel" - case codecLevel = "codecLevel" - case maxBitrate = "maxBitrate" - case adaptiveQuantization = "adaptiveQuantization" - case gopSizeUnits = "gopSizeUnits" - case sceneChangeDetect = "sceneChangeDetect" - case slowPal = "slowPal" - case temporalAdaptiveQuantization = "temporalAdaptiveQuantization" - case numberReferenceFrames = "numberReferenceFrames" - case rateControlMode = "rateControlMode" + case telecine = "telecine" case framerateDenominator = "framerateDenominator" + case parControl = "parControl" case framerateConversionAlgorithm = "framerateConversionAlgorithm" - case fieldEncoding = "fieldEncoding" + case framerateNumerator = "framerateNumerator" case parDenominator = "parDenominator" - case gopClosedCadence = "gopClosedCadence" - case bitrate = "bitrate" + case codecProfile = "codecProfile" case interlaceMode = "interlaceMode" - case minIInterval = "minIInterval" - case syntax = "syntax" - case repeatPps = "repeatPps" - case hrdBufferInitialFillPercentage = "hrdBufferInitialFillPercentage" - case unregisteredSeiTimecode = "unregisteredSeiTimecode" - case softness = "softness" - case gopSize = "gopSize" + case slowPal = "slowPal" case framerateControl = "framerateControl" - case telecine = "telecine" + case parNumerator = "parNumerator" + } + } + + public enum Eac3LfeControl: String, CustomStringConvertible, Codable { + case lfe = "LFE" + case noLfe = "NO_LFE" + public var description: String { return self.rawValue } + } + + public enum HlsEncryptionType: String, CustomStringConvertible, Codable { + case aes128 = "AES128" + case sampleAes = "SAMPLE_AES" + public var description: String { return self.rawValue } + } + + public struct FrameCaptureSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FramerateDenominator", location: .body(locationName: "framerateDenominator"), required: false, type: .integer), + AWSShapeMember(label: "MaxCaptures", location: .body(locationName: "maxCaptures"), required: false, type: .integer), + AWSShapeMember(label: "FramerateNumerator", location: .body(locationName: "framerateNumerator"), required: false, type: .integer), + AWSShapeMember(label: "Quality", location: .body(locationName: "quality"), required: false, type: .integer) + ] + /// 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. + public let framerateDenominator: Int32? + /// Maximum number of captures (encoded jpg output files). + public let maxCaptures: Int32? + /// 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. + public let framerateNumerator: Int32? + /// JPEG Quality - a higher value equals higher quality. + public let quality: Int32? + + public init(framerateDenominator: Int32? = nil, maxCaptures: Int32? = nil, framerateNumerator: Int32? = nil, quality: Int32? = nil) { + self.framerateDenominator = framerateDenominator + self.maxCaptures = maxCaptures + self.framerateNumerator = framerateNumerator + self.quality = quality + } + + private enum CodingKeys: String, CodingKey { + case framerateDenominator = "framerateDenominator" + case maxCaptures = "maxCaptures" + case framerateNumerator = "framerateNumerator" + case quality = "quality" } } - public struct MovSettings: AWSShape { + public enum H264AdaptiveQuantization: String, CustomStringConvertible, Codable { + case off = "OFF" + case low = "LOW" + case medium = "MEDIUM" + case high = "HIGH" + case higher = "HIGHER" + case max = "MAX" + public var description: String { return self.rawValue } + } + + public enum QueueListBy: String, CustomStringConvertible, Codable { + case name = "NAME" + case creationDate = "CREATION_DATE" + public var description: String { return self.rawValue } + } + + public enum Mpeg2SceneChangeDetect: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public struct Mp4Settings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Reference", location: .body(locationName: "reference"), required: false, type: .enum), - AWSShapeMember(label: "ClapAtom", location: .body(locationName: "clapAtom"), required: false, type: .enum), - AWSShapeMember(label: "Mpeg2FourCCControl", location: .body(locationName: "mpeg2FourCCControl"), required: false, type: .enum), - AWSShapeMember(label: "PaddingControl", location: .body(locationName: "paddingControl"), required: false, type: .enum), + AWSShapeMember(label: "FreeSpaceBox", location: .body(locationName: "freeSpaceBox"), required: false, type: .enum), + AWSShapeMember(label: "MoovPlacement", location: .body(locationName: "moovPlacement"), required: false, type: .enum), + AWSShapeMember(label: "Mp4MajorBrand", location: .body(locationName: "mp4MajorBrand"), required: false, type: .string), AWSShapeMember(label: "CslgAtom", location: .body(locationName: "cslgAtom"), required: false, type: .enum) ] - public let reference: MovReference? - public let clapAtom: MovClapAtom? - public let mpeg2FourCCControl: MovMpeg2FourCCControl? - public let paddingControl: MovPaddingControl? - public let cslgAtom: MovCslgAtom? + public let freeSpaceBox: Mp4FreeSpaceBox? + public let moovPlacement: Mp4MoovPlacement? + /// Overrides the "Major Brand" field in the output file. Usually not necessary to specify. + public let mp4MajorBrand: String? + public let cslgAtom: Mp4CslgAtom? - public init(reference: MovReference? = nil, clapAtom: MovClapAtom? = nil, mpeg2FourCCControl: MovMpeg2FourCCControl? = nil, paddingControl: MovPaddingControl? = nil, cslgAtom: MovCslgAtom? = nil) { - self.reference = reference - self.clapAtom = clapAtom - self.mpeg2FourCCControl = mpeg2FourCCControl - self.paddingControl = paddingControl + public init(freeSpaceBox: Mp4FreeSpaceBox? = nil, moovPlacement: Mp4MoovPlacement? = nil, mp4MajorBrand: String? = nil, cslgAtom: Mp4CslgAtom? = nil) { + self.freeSpaceBox = freeSpaceBox + self.moovPlacement = moovPlacement + self.mp4MajorBrand = mp4MajorBrand self.cslgAtom = cslgAtom } private enum CodingKeys: String, CodingKey { - case reference = "reference" - case clapAtom = "clapAtom" - case mpeg2FourCCControl = "mpeg2FourCCControl" - case paddingControl = "paddingControl" + case freeSpaceBox = "freeSpaceBox" + case moovPlacement = "moovPlacement" + case mp4MajorBrand = "mp4MajorBrand" case cslgAtom = "cslgAtom" } } - public enum H264CodecProfile: String, CustomStringConvertible, Codable { - case baseline = "BASELINE" - case high = "HIGH" - case high10Bit = "HIGH_10BIT" - case high422 = "HIGH_422" - case high42210Bit = "HIGH_422_10BIT" - case main = "MAIN" + public enum BurninSubtitleOutlineColor: String, CustomStringConvertible, Codable { + case black = "BLACK" + case white = "WHITE" + case yellow = "YELLOW" + case red = "RED" + case green = "GREEN" + case blue = "BLUE" public var description: String { return self.rawValue } } - public enum MovReference: String, CustomStringConvertible, Codable { - case selfContained = "SELF_CONTAINED" - case external = "EXTERNAL" - public var description: String { return self.rawValue } + public struct GetPresetRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string) + ] + /// The name of the preset. + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + } } - public enum H265RateControlMode: String, CustomStringConvertible, Codable { - case vbr = "VBR" - case cbr = "CBR" - public var description: String { return self.rawValue } + public struct UpdateQueueRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", location: .body(locationName: "status"), required: false, type: .enum), + AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + ] + public let status: QueueStatus? + /// The name of the queue you are modifying. + public let name: String + /// The new description for the queue, if you are changing it. + public let description: String? + + public init(status: QueueStatus? = nil, name: String, description: String? = nil) { + self.status = status + self.name = name + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case status = "status" + case name = "name" + case description = "description" + } } - public enum H265ParControl: String, CustomStringConvertible, Codable { - case initializeFromSource = "INITIALIZE_FROM_SOURCE" - case specified = "SPECIFIED" + public enum H265SpatialAdaptiveQuantization: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum DvbSubtitleBackgroundColor: String, CustomStringConvertible, Codable { - case none = "NONE" - case black = "BLACK" - case white = "WHITE" - public var description: String { return self.rawValue } + public struct ListJobsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", location: .querystring(locationName: "status"), required: false, type: .enum), + AWSShapeMember(label: "Order", location: .querystring(locationName: "order"), required: false, type: .enum), + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Queue", location: .querystring(locationName: "queue"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + public let status: JobStatus? + public let order: Order? + /// Use this string, provided with the response to a previous request, to request the next batch of jobs. + public let nextToken: String? + /// Provide a queue name to get back only jobs from that queue. + public let queue: String? + /// Optional. Number of jobs, up to twenty, that will be returned at one time. + public let maxResults: Int32? + + public init(status: JobStatus? = nil, order: Order? = nil, nextToken: String? = nil, queue: String? = nil, maxResults: Int32? = nil) { + self.status = status + self.order = order + self.nextToken = nextToken + self.queue = queue + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case status = "status" + case order = "order" + case nextToken = "nextToken" + case queue = "queue" + case maxResults = "maxResults" + } } - public enum Mpeg2RateControlMode: String, CustomStringConvertible, Codable { - case vbr = "VBR" - case cbr = "CBR" + public enum DvbSubtitleFontColor: String, CustomStringConvertible, Codable { + case white = "WHITE" + case black = "BLACK" + case yellow = "YELLOW" + case red = "RED" + case green = "GREEN" + case blue = "BLUE" public var description: String { return self.rawValue } } - public enum M3u8PcrControl: String, CustomStringConvertible, Codable { - case pcrEveryPesPacket = "PCR_EVERY_PES_PACKET" - case configuredPcrPeriod = "CONFIGURED_PCR_PERIOD" + public enum Mpeg2SlowPal: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public struct CaptionSelector: AWSShape { + public struct Hdr10Metadata: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .enum), - AWSShapeMember(label: "SourceSettings", location: .body(locationName: "sourceSettings"), required: false, type: .structure) + AWSShapeMember(label: "BluePrimaryX", location: .body(locationName: "bluePrimaryX"), required: false, type: .integer), + AWSShapeMember(label: "WhitePointX", location: .body(locationName: "whitePointX"), required: false, type: .integer), + AWSShapeMember(label: "WhitePointY", location: .body(locationName: "whitePointY"), required: false, type: .integer), + AWSShapeMember(label: "RedPrimaryY", location: .body(locationName: "redPrimaryY"), required: false, type: .integer), + AWSShapeMember(label: "GreenPrimaryY", location: .body(locationName: "greenPrimaryY"), required: false, type: .integer), + AWSShapeMember(label: "MaxLuminance", location: .body(locationName: "maxLuminance"), required: false, type: .integer), + AWSShapeMember(label: "MaxFrameAverageLightLevel", location: .body(locationName: "maxFrameAverageLightLevel"), required: true, type: .integer), + AWSShapeMember(label: "RedPrimaryX", location: .body(locationName: "redPrimaryX"), required: false, type: .integer), + AWSShapeMember(label: "MinLuminance", location: .body(locationName: "minLuminance"), required: false, type: .integer), + AWSShapeMember(label: "MaxContentLightLevel", location: .body(locationName: "maxContentLightLevel"), required: true, type: .integer), + AWSShapeMember(label: "BluePrimaryY", location: .body(locationName: "bluePrimaryY"), required: false, type: .integer), + AWSShapeMember(label: "GreenPrimaryX", location: .body(locationName: "greenPrimaryX"), required: false, type: .integer) ] - /// 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. - public let languageCode: LanguageCode? - public let sourceSettings: CaptionSourceSettings? + /// 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. + public let bluePrimaryX: Int32? + /// 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. + public let whitePointX: Int32? + /// 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. + public let whitePointY: Int32? + /// 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. + public let redPrimaryY: Int32? + /// 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. + public let greenPrimaryY: Int32? + /// Nominal maximum mastering display luminance in units of of 0.0001 candelas per square meter. + public let maxLuminance: Int32? + /// Maximum average light level of any frame in the coded video sequence, in units of candelas per square meter. + public let maxFrameAverageLightLevel: Int32 + /// 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. + public let redPrimaryX: Int32? + /// Nominal minimum mastering display luminance in units of of 0.0001 candelas per square meter + public let minLuminance: Int32? + /// Maximum light level among all samples in the coded video sequence, in units of candelas per square meter. + public let maxContentLightLevel: Int32 + /// 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. + public let bluePrimaryY: Int32? + /// 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. + public let greenPrimaryX: Int32? - public init(languageCode: LanguageCode? = nil, sourceSettings: CaptionSourceSettings? = nil) { - self.languageCode = languageCode - self.sourceSettings = sourceSettings + public init(bluePrimaryX: Int32? = nil, whitePointX: Int32? = nil, whitePointY: Int32? = nil, redPrimaryY: Int32? = nil, greenPrimaryY: Int32? = nil, maxLuminance: Int32? = nil, maxFrameAverageLightLevel: Int32, redPrimaryX: Int32? = nil, minLuminance: Int32? = nil, maxContentLightLevel: Int32, bluePrimaryY: Int32? = nil, greenPrimaryX: Int32? = nil) { + self.bluePrimaryX = bluePrimaryX + self.whitePointX = whitePointX + self.whitePointY = whitePointY + self.redPrimaryY = redPrimaryY + self.greenPrimaryY = greenPrimaryY + self.maxLuminance = maxLuminance + self.maxFrameAverageLightLevel = maxFrameAverageLightLevel + self.redPrimaryX = redPrimaryX + self.minLuminance = minLuminance + self.maxContentLightLevel = maxContentLightLevel + self.bluePrimaryY = bluePrimaryY + self.greenPrimaryX = greenPrimaryX } private enum CodingKeys: String, CodingKey { - case languageCode = "languageCode" - case sourceSettings = "sourceSettings" + case bluePrimaryX = "bluePrimaryX" + case whitePointX = "whitePointX" + case whitePointY = "whitePointY" + case redPrimaryY = "redPrimaryY" + case greenPrimaryY = "greenPrimaryY" + case maxLuminance = "maxLuminance" + case maxFrameAverageLightLevel = "maxFrameAverageLightLevel" + case redPrimaryX = "redPrimaryX" + case minLuminance = "minLuminance" + case maxContentLightLevel = "maxContentLightLevel" + case bluePrimaryY = "bluePrimaryY" + case greenPrimaryX = "greenPrimaryX" } } - public enum AudioSelectorType: String, CustomStringConvertible, Codable { - case pid = "PID" - case track = "TRACK" - case languageCode = "LANGUAGE_CODE" - public var description: String { return self.rawValue } + public struct CreateJobTemplateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Category", location: .body(locationName: "category"), required: false, type: .string), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: true, type: .structure), + AWSShapeMember(label: "Tags", location: .body(locationName: "tags"), required: false, type: .map), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "Queue", location: .body(locationName: "queue"), required: false, type: .string) + ] + /// Optional. A category for the job template you are creating + public let category: String? + /// Optional. A description of the job template you are creating. + public let description: String? + public let settings: JobTemplateSettings + /// The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key. + public let tags: [String: String]? + /// The name of the job template you are creating. + public let name: String + /// 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. + public let queue: String? + + public init(category: String? = nil, description: String? = nil, settings: JobTemplateSettings, tags: [String: String]? = nil, name: String, queue: String? = nil) { + self.category = category + self.description = description + self.settings = settings + self.tags = tags + self.name = name + self.queue = queue + } + + private enum CodingKeys: String, CodingKey { + case category = "category" + case description = "description" + case settings = "settings" + case tags = "tags" + case name = "name" + case queue = "queue" + } } - public enum JobTemplateListBy: String, CustomStringConvertible, Codable { - case name = "NAME" - case creationDate = "CREATION_DATE" - case system = "SYSTEM" + public enum Eac3PhaseControl: String, CustomStringConvertible, Codable { + case shift90Degrees = "SHIFT_90_DEGREES" + case noShift = "NO_SHIFT" public var description: String { return self.rawValue } } - public enum HlsAdMarkers: String, CustomStringConvertible, Codable { - case elemental = "ELEMENTAL" - case elementalScte35 = "ELEMENTAL_SCTE35" + public enum H265InterlaceMode: String, CustomStringConvertible, Codable { + case progressive = "PROGRESSIVE" + case topField = "TOP_FIELD" + case bottomField = "BOTTOM_FIELD" + case followTopField = "FOLLOW_TOP_FIELD" + case followBottomField = "FOLLOW_BOTTOM_FIELD" public var description: String { return self.rawValue } } - public enum H264FieldEncoding: String, CustomStringConvertible, Codable { - case paff = "PAFF" - case forceField = "FORCE_FIELD" + public enum M3u8Scte35Source: String, CustomStringConvertible, Codable { + case passthrough = "PASSTHROUGH" + case none = "NONE" public var description: String { return self.rawValue } } - public struct NoiseReducerSpatialFilterSettings: AWSShape { + public struct DeleteQueueRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PostFilterSharpenStrength", location: .body(locationName: "postFilterSharpenStrength"), required: false, type: .integer), - AWSShapeMember(label: "Speed", location: .body(locationName: "speed"), required: false, type: .integer), - AWSShapeMember(label: "Strength", location: .body(locationName: "strength"), required: false, type: .integer) + AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string) ] - /// Specify strength of post noise reduction sharpening filter, with 0 disabling the filter and 3 enabling it at maximum strength. - public let postFilterSharpenStrength: Int32? - /// The speed of the filter, from -2 (lower speed) to 3 (higher speed), with 0 being the nominal value. - public let speed: Int32? - /// Relative strength of noise reducing filter. Higher values produce stronger filtering. - public let strength: Int32? + /// The name of the queue to be deleted. + public let name: String - public init(postFilterSharpenStrength: Int32? = nil, speed: Int32? = nil, strength: Int32? = nil) { - self.postFilterSharpenStrength = postFilterSharpenStrength - self.speed = speed - self.strength = strength + public init(name: String) { + self.name = name } private enum CodingKeys: String, CodingKey { - case postFilterSharpenStrength = "postFilterSharpenStrength" - case speed = "speed" - case strength = "strength" + case name = "name" } } - public struct CaptionSourceSettings: AWSShape { + public enum H264UnregisteredSeiTimecode: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public struct DeletePresetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FileSourceSettings", location: .body(locationName: "fileSourceSettings"), required: false, type: .structure), - AWSShapeMember(label: "DvbSubSourceSettings", location: .body(locationName: "dvbSubSourceSettings"), required: false, type: .structure), - AWSShapeMember(label: "AncillarySourceSettings", location: .body(locationName: "ancillarySourceSettings"), required: false, type: .structure), - AWSShapeMember(label: "TeletextSourceSettings", location: .body(locationName: "teletextSourceSettings"), required: false, type: .structure), - AWSShapeMember(label: "SourceType", location: .body(locationName: "sourceType"), required: false, type: .enum), - AWSShapeMember(label: "EmbeddedSourceSettings", location: .body(locationName: "embeddedSourceSettings"), required: false, type: .structure) + AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string) ] - public let fileSourceSettings: FileSourceSettings? - public let dvbSubSourceSettings: DvbSubSourceSettings? - public let ancillarySourceSettings: AncillarySourceSettings? - public let teletextSourceSettings: TeletextSourceSettings? - public let sourceType: CaptionSourceType? - public let embeddedSourceSettings: EmbeddedSourceSettings? + /// The name of the preset to be deleted. + public let name: String - public init(fileSourceSettings: FileSourceSettings? = nil, dvbSubSourceSettings: DvbSubSourceSettings? = nil, ancillarySourceSettings: AncillarySourceSettings? = nil, teletextSourceSettings: TeletextSourceSettings? = nil, sourceType: CaptionSourceType? = nil, embeddedSourceSettings: EmbeddedSourceSettings? = nil) { - self.fileSourceSettings = fileSourceSettings - self.dvbSubSourceSettings = dvbSubSourceSettings - self.ancillarySourceSettings = ancillarySourceSettings - self.teletextSourceSettings = teletextSourceSettings - self.sourceType = sourceType - self.embeddedSourceSettings = embeddedSourceSettings + public init(name: String) { + self.name = name } private enum CodingKeys: String, CodingKey { - case fileSourceSettings = "fileSourceSettings" - case dvbSubSourceSettings = "dvbSubSourceSettings" - case ancillarySourceSettings = "ancillarySourceSettings" - case teletextSourceSettings = "teletextSourceSettings" - case sourceType = "sourceType" - case embeddedSourceSettings = "embeddedSourceSettings" + case name = "name" } } - public enum VideoTimecodeInsertion: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case picTimingSei = "PIC_TIMING_SEI" - public var description: String { return self.rawValue } - } - - public enum H265UnregisteredSeiTimecode: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } - - public enum VideoCodec: String, CustomStringConvertible, Codable { - case frameCapture = "FRAME_CAPTURE" - case h264 = "H_264" - case h265 = "H_265" - case mpeg2 = "MPEG2" - case prores = "PRORES" + public enum Mp4FreeSpaceBox: String, CustomStringConvertible, Codable { + case include = "INCLUDE" + case exclude = "EXCLUDE" public var description: String { return self.rawValue } } - public struct Mpeg2Settings: AWSShape { + public struct OutputGroupSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NumberBFramesBetweenReferenceFrames", location: .body(locationName: "numberBFramesBetweenReferenceFrames"), required: false, type: .integer), - AWSShapeMember(label: "ParControl", location: .body(locationName: "parControl"), required: false, type: .enum), - AWSShapeMember(label: "FramerateNumerator", location: .body(locationName: "framerateNumerator"), required: false, type: .integer), - AWSShapeMember(label: "HrdBufferSize", location: .body(locationName: "hrdBufferSize"), required: false, type: .integer), - AWSShapeMember(label: "SpatialAdaptiveQuantization", location: .body(locationName: "spatialAdaptiveQuantization"), required: false, type: .enum), - AWSShapeMember(label: "ParNumerator", location: .body(locationName: "parNumerator"), required: false, type: .integer), - AWSShapeMember(label: "CodecProfile", location: .body(locationName: "codecProfile"), required: false, type: .enum), - AWSShapeMember(label: "QualityTuningLevel", location: .body(locationName: "qualityTuningLevel"), required: false, type: .enum), - AWSShapeMember(label: "CodecLevel", location: .body(locationName: "codecLevel"), required: false, type: .enum), - AWSShapeMember(label: "AdaptiveQuantization", location: .body(locationName: "adaptiveQuantization"), required: false, type: .enum), - AWSShapeMember(label: "MaxBitrate", location: .body(locationName: "maxBitrate"), required: false, type: .integer), - AWSShapeMember(label: "GopSizeUnits", location: .body(locationName: "gopSizeUnits"), required: false, type: .enum), - AWSShapeMember(label: "SceneChangeDetect", location: .body(locationName: "sceneChangeDetect"), required: false, type: .enum), - AWSShapeMember(label: "SlowPal", location: .body(locationName: "slowPal"), required: false, type: .enum), - AWSShapeMember(label: "TemporalAdaptiveQuantization", location: .body(locationName: "temporalAdaptiveQuantization"), required: false, type: .enum), - AWSShapeMember(label: "IntraDcPrecision", location: .body(locationName: "intraDcPrecision"), required: false, type: .enum), - AWSShapeMember(label: "RateControlMode", location: .body(locationName: "rateControlMode"), required: false, type: .enum), - AWSShapeMember(label: "FramerateDenominator", location: .body(locationName: "framerateDenominator"), required: false, type: .integer), - AWSShapeMember(label: "FramerateConversionAlgorithm", location: .body(locationName: "framerateConversionAlgorithm"), required: false, type: .enum), - AWSShapeMember(label: "ParDenominator", location: .body(locationName: "parDenominator"), required: false, type: .integer), - AWSShapeMember(label: "GopClosedCadence", location: .body(locationName: "gopClosedCadence"), required: false, type: .integer), - AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), - AWSShapeMember(label: "MinIInterval", location: .body(locationName: "minIInterval"), required: false, type: .integer), - AWSShapeMember(label: "InterlaceMode", location: .body(locationName: "interlaceMode"), required: false, type: .enum), - AWSShapeMember(label: "Syntax", location: .body(locationName: "syntax"), required: false, type: .enum), - AWSShapeMember(label: "HrdBufferInitialFillPercentage", location: .body(locationName: "hrdBufferInitialFillPercentage"), required: false, type: .integer), - AWSShapeMember(label: "Softness", location: .body(locationName: "softness"), required: false, type: .integer), - AWSShapeMember(label: "GopSize", location: .body(locationName: "gopSize"), required: false, type: .double), - AWSShapeMember(label: "FramerateControl", location: .body(locationName: "framerateControl"), required: false, type: .enum), - AWSShapeMember(label: "Telecine", location: .body(locationName: "telecine"), required: false, type: .enum) + AWSShapeMember(label: "FileGroupSettings", location: .body(locationName: "fileGroupSettings"), required: false, type: .structure), + AWSShapeMember(label: "MsSmoothGroupSettings", location: .body(locationName: "msSmoothGroupSettings"), required: false, type: .structure), + AWSShapeMember(label: "CmafGroupSettings", location: .body(locationName: "cmafGroupSettings"), required: false, type: .structure), + AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: true, type: .enum), + AWSShapeMember(label: "HlsGroupSettings", location: .body(locationName: "hlsGroupSettings"), required: false, type: .structure), + AWSShapeMember(label: "DashIsoGroupSettings", location: .body(locationName: "dashIsoGroupSettings"), required: false, type: .structure) ] - /// Number of B-frames between reference frames. - public let numberBFramesBetweenReferenceFrames: Int32? - public let parControl: Mpeg2ParControl? - /// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. - public let framerateNumerator: Int32? - /// Size of buffer (HRD buffer model). Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m. - public let hrdBufferSize: Int32? - public let spatialAdaptiveQuantization: Mpeg2SpatialAdaptiveQuantization? - /// Pixel Aspect Ratio numerator. - public let parNumerator: Int32? - public let codecProfile: Mpeg2CodecProfile? - public let qualityTuningLevel: Mpeg2QualityTuningLevel? - public let codecLevel: Mpeg2CodecLevel? - public let adaptiveQuantization: Mpeg2AdaptiveQuantization? - /// Maximum bitrate in bits/second (for VBR mode only). Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m. - public let maxBitrate: Int32? - public let gopSizeUnits: Mpeg2GopSizeUnits? - public let sceneChangeDetect: Mpeg2SceneChangeDetect? - public let slowPal: Mpeg2SlowPal? - public let temporalAdaptiveQuantization: Mpeg2TemporalAdaptiveQuantization? - public let intraDcPrecision: Mpeg2IntraDcPrecision? - public let rateControlMode: Mpeg2RateControlMode? - /// Framerate denominator. - public let framerateDenominator: Int32? - public let framerateConversionAlgorithm: Mpeg2FramerateConversionAlgorithm? - /// Pixel Aspect Ratio denominator. - public let parDenominator: Int32? - /// 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. - public let gopClosedCadence: Int32? - /// Average bitrate in bits/second. Required for VBR, CBR, and ABR. Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000. - public let bitrate: Int32? - /// 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 - public let minIInterval: Int32? - public let interlaceMode: Mpeg2InterlaceMode? - public let syntax: Mpeg2Syntax? - /// Percentage of the buffer that should initially be filled (HRD buffer model). - public let hrdBufferInitialFillPercentage: Int32? - /// Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. - public let softness: Int32? - /// GOP Length (keyframe interval) in frames or seconds. Must be greater than zero. - public let gopSize: Double? - public let framerateControl: Mpeg2FramerateControl? - public let telecine: Mpeg2Telecine? - - public init(numberBFramesBetweenReferenceFrames: Int32? = nil, parControl: Mpeg2ParControl? = nil, framerateNumerator: Int32? = nil, hrdBufferSize: Int32? = nil, spatialAdaptiveQuantization: Mpeg2SpatialAdaptiveQuantization? = nil, parNumerator: Int32? = nil, codecProfile: Mpeg2CodecProfile? = nil, qualityTuningLevel: Mpeg2QualityTuningLevel? = nil, codecLevel: Mpeg2CodecLevel? = nil, adaptiveQuantization: Mpeg2AdaptiveQuantization? = nil, maxBitrate: Int32? = nil, gopSizeUnits: Mpeg2GopSizeUnits? = nil, sceneChangeDetect: Mpeg2SceneChangeDetect? = nil, slowPal: Mpeg2SlowPal? = nil, temporalAdaptiveQuantization: Mpeg2TemporalAdaptiveQuantization? = nil, intraDcPrecision: Mpeg2IntraDcPrecision? = nil, rateControlMode: Mpeg2RateControlMode? = nil, framerateDenominator: Int32? = nil, framerateConversionAlgorithm: Mpeg2FramerateConversionAlgorithm? = nil, parDenominator: Int32? = nil, gopClosedCadence: Int32? = nil, bitrate: Int32? = nil, minIInterval: Int32? = nil, interlaceMode: Mpeg2InterlaceMode? = nil, syntax: Mpeg2Syntax? = nil, hrdBufferInitialFillPercentage: Int32? = nil, softness: Int32? = nil, gopSize: Double? = nil, framerateControl: Mpeg2FramerateControl? = nil, telecine: Mpeg2Telecine? = nil) { - self.numberBFramesBetweenReferenceFrames = numberBFramesBetweenReferenceFrames - self.parControl = parControl - self.framerateNumerator = framerateNumerator - self.hrdBufferSize = hrdBufferSize - self.spatialAdaptiveQuantization = spatialAdaptiveQuantization - self.parNumerator = parNumerator - self.codecProfile = codecProfile - self.qualityTuningLevel = qualityTuningLevel - self.codecLevel = codecLevel - self.adaptiveQuantization = adaptiveQuantization - self.maxBitrate = maxBitrate - self.gopSizeUnits = gopSizeUnits - self.sceneChangeDetect = sceneChangeDetect - self.slowPal = slowPal - self.temporalAdaptiveQuantization = temporalAdaptiveQuantization - self.intraDcPrecision = intraDcPrecision - self.rateControlMode = rateControlMode - self.framerateDenominator = framerateDenominator - self.framerateConversionAlgorithm = framerateConversionAlgorithm - self.parDenominator = parDenominator - self.gopClosedCadence = gopClosedCadence - self.bitrate = bitrate - self.minIInterval = minIInterval - self.interlaceMode = interlaceMode - self.syntax = syntax - self.hrdBufferInitialFillPercentage = hrdBufferInitialFillPercentage - self.softness = softness - self.gopSize = gopSize - self.framerateControl = framerateControl - self.telecine = telecine - } - - private enum CodingKeys: String, CodingKey { - case numberBFramesBetweenReferenceFrames = "numberBFramesBetweenReferenceFrames" - case parControl = "parControl" - case framerateNumerator = "framerateNumerator" - case hrdBufferSize = "hrdBufferSize" - case spatialAdaptiveQuantization = "spatialAdaptiveQuantization" - case parNumerator = "parNumerator" - case codecProfile = "codecProfile" - case qualityTuningLevel = "qualityTuningLevel" - case codecLevel = "codecLevel" - case adaptiveQuantization = "adaptiveQuantization" - case maxBitrate = "maxBitrate" - case gopSizeUnits = "gopSizeUnits" - case sceneChangeDetect = "sceneChangeDetect" - case slowPal = "slowPal" - case temporalAdaptiveQuantization = "temporalAdaptiveQuantization" - case intraDcPrecision = "intraDcPrecision" - case rateControlMode = "rateControlMode" - case framerateDenominator = "framerateDenominator" - case framerateConversionAlgorithm = "framerateConversionAlgorithm" - case parDenominator = "parDenominator" - case gopClosedCadence = "gopClosedCadence" - case bitrate = "bitrate" - case minIInterval = "minIInterval" - case interlaceMode = "interlaceMode" - case syntax = "syntax" - case hrdBufferInitialFillPercentage = "hrdBufferInitialFillPercentage" - case softness = "softness" - case gopSize = "gopSize" - case framerateControl = "framerateControl" - case telecine = "telecine" + public let fileGroupSettings: FileGroupSettings? + public let msSmoothGroupSettings: MsSmoothGroupSettings? + public let cmafGroupSettings: CmafGroupSettings? + public let `type`: OutputGroupType + public let hlsGroupSettings: HlsGroupSettings? + public let dashIsoGroupSettings: DashIsoGroupSettings? + + public init(fileGroupSettings: FileGroupSettings? = nil, msSmoothGroupSettings: MsSmoothGroupSettings? = nil, cmafGroupSettings: CmafGroupSettings? = nil, type: OutputGroupType, hlsGroupSettings: HlsGroupSettings? = nil, dashIsoGroupSettings: DashIsoGroupSettings? = nil) { + self.fileGroupSettings = fileGroupSettings + self.msSmoothGroupSettings = msSmoothGroupSettings + self.cmafGroupSettings = cmafGroupSettings + self.`type` = `type` + self.hlsGroupSettings = hlsGroupSettings + self.dashIsoGroupSettings = dashIsoGroupSettings + } + + private enum CodingKeys: String, CodingKey { + case fileGroupSettings = "fileGroupSettings" + case msSmoothGroupSettings = "msSmoothGroupSettings" + case cmafGroupSettings = "cmafGroupSettings" + case `type` = "type" + case hlsGroupSettings = "hlsGroupSettings" + case dashIsoGroupSettings = "dashIsoGroupSettings" } } - public struct MsSmoothGroupSettings: AWSShape { + public struct AudioNormalizationSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: false, type: .string), - AWSShapeMember(label: "FragmentLength", location: .body(locationName: "fragmentLength"), required: false, type: .integer), - AWSShapeMember(label: "Encryption", location: .body(locationName: "encryption"), required: false, type: .structure), - AWSShapeMember(label: "ManifestEncoding", location: .body(locationName: "manifestEncoding"), required: false, type: .enum), - AWSShapeMember(label: "AudioDeduplication", location: .body(locationName: "audioDeduplication"), required: false, type: .enum) + AWSShapeMember(label: "Algorithm", location: .body(locationName: "algorithm"), required: false, type: .enum), + AWSShapeMember(label: "CorrectionGateLevel", location: .body(locationName: "correctionGateLevel"), required: false, type: .integer), + AWSShapeMember(label: "PeakCalculation", location: .body(locationName: "peakCalculation"), required: false, type: .enum), + AWSShapeMember(label: "LoudnessLogging", location: .body(locationName: "loudnessLogging"), required: false, type: .enum), + AWSShapeMember(label: "AlgorithmControl", location: .body(locationName: "algorithmControl"), required: false, type: .enum), + AWSShapeMember(label: "TargetLkfs", location: .body(locationName: "targetLkfs"), required: false, type: .double) ] - /// 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. - public let destination: String? - /// Use Fragment length (FragmentLength) to specify the mp4 fragment sizes in seconds. Fragment length must be compatible with GOP size and framerate. - public let fragmentLength: Int32? - public let encryption: MsSmoothEncryptionSettings? - public let manifestEncoding: MsSmoothManifestEncoding? - public let audioDeduplication: MsSmoothAudioDeduplication? + public let algorithm: AudioNormalizationAlgorithm? + /// 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. + public let correctionGateLevel: Int32? + public let peakCalculation: AudioNormalizationPeakCalculation? + public let loudnessLogging: AudioNormalizationLoudnessLogging? + public let algorithmControl: AudioNormalizationAlgorithmControl? + /// 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. + public let targetLkfs: Double? - public init(destination: String? = nil, fragmentLength: Int32? = nil, encryption: MsSmoothEncryptionSettings? = nil, manifestEncoding: MsSmoothManifestEncoding? = nil, audioDeduplication: MsSmoothAudioDeduplication? = nil) { - self.destination = destination - self.fragmentLength = fragmentLength - self.encryption = encryption - self.manifestEncoding = manifestEncoding - self.audioDeduplication = audioDeduplication + public init(algorithm: AudioNormalizationAlgorithm? = nil, correctionGateLevel: Int32? = nil, peakCalculation: AudioNormalizationPeakCalculation? = nil, loudnessLogging: AudioNormalizationLoudnessLogging? = nil, algorithmControl: AudioNormalizationAlgorithmControl? = nil, targetLkfs: Double? = nil) { + self.algorithm = algorithm + self.correctionGateLevel = correctionGateLevel + self.peakCalculation = peakCalculation + self.loudnessLogging = loudnessLogging + self.algorithmControl = algorithmControl + self.targetLkfs = targetLkfs } private enum CodingKeys: String, CodingKey { - case destination = "destination" - case fragmentLength = "fragmentLength" - case encryption = "encryption" - case manifestEncoding = "manifestEncoding" - case audioDeduplication = "audioDeduplication" + case algorithm = "algorithm" + case correctionGateLevel = "correctionGateLevel" + case peakCalculation = "peakCalculation" + case loudnessLogging = "loudnessLogging" + case algorithmControl = "algorithmControl" + case targetLkfs = "targetLkfs" } } - public struct NoiseReducer: AWSShape { + public enum CmafInitializationVectorInManifest: String, CustomStringConvertible, Codable { + case include = "INCLUDE" + case exclude = "EXCLUDE" + public var description: String { return self.rawValue } + } + + public struct CmafEncryptionSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FilterSettings", location: .body(locationName: "filterSettings"), required: false, type: .structure), - AWSShapeMember(label: "SpatialFilterSettings", location: .body(locationName: "spatialFilterSettings"), required: false, type: .structure), - AWSShapeMember(label: "Filter", location: .body(locationName: "filter"), required: false, type: .enum) + AWSShapeMember(label: "InitializationVectorInManifest", location: .body(locationName: "initializationVectorInManifest"), required: false, type: .enum), + AWSShapeMember(label: "StaticKeyProvider", location: .body(locationName: "staticKeyProvider"), required: false, type: .structure), + AWSShapeMember(label: "ConstantInitializationVector", location: .body(locationName: "constantInitializationVector"), required: false, type: .string), + AWSShapeMember(label: "EncryptionMethod", location: .body(locationName: "encryptionMethod"), required: false, type: .enum), + AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: true, type: .enum) ] - public let filterSettings: NoiseReducerFilterSettings? - public let spatialFilterSettings: NoiseReducerSpatialFilterSettings? - public let filter: NoiseReducerFilter? + public let initializationVectorInManifest: CmafInitializationVectorInManifest? + public let staticKeyProvider: StaticKeyProvider? + /// 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. + public let constantInitializationVector: String? + public let encryptionMethod: CmafEncryptionType? + public let `type`: CmafKeyProviderType - public init(filterSettings: NoiseReducerFilterSettings? = nil, spatialFilterSettings: NoiseReducerSpatialFilterSettings? = nil, filter: NoiseReducerFilter? = nil) { - self.filterSettings = filterSettings - self.spatialFilterSettings = spatialFilterSettings - self.filter = filter + public init(initializationVectorInManifest: CmafInitializationVectorInManifest? = nil, staticKeyProvider: StaticKeyProvider? = nil, constantInitializationVector: String? = nil, encryptionMethod: CmafEncryptionType? = nil, type: CmafKeyProviderType) { + self.initializationVectorInManifest = initializationVectorInManifest + self.staticKeyProvider = staticKeyProvider + self.constantInitializationVector = constantInitializationVector + self.encryptionMethod = encryptionMethod + self.`type` = `type` } private enum CodingKeys: String, CodingKey { - case filterSettings = "filterSettings" - case spatialFilterSettings = "spatialFilterSettings" - case filter = "filter" + case initializationVectorInManifest = "initializationVectorInManifest" + case staticKeyProvider = "staticKeyProvider" + case constantInitializationVector = "constantInitializationVector" + case encryptionMethod = "encryptionMethod" + case `type` = "type" } } - public enum RespondToAfd: String, CustomStringConvertible, Codable { - case none = "NONE" - case respond = "RESPOND" - case passthrough = "PASSTHROUGH" - public var description: String { return self.rawValue } - } + public struct TagResourceResponse: AWSShape { - public enum `Type`: String, CustomStringConvertible, Codable { - case system = "SYSTEM" - case custom = "CUSTOM" - public var description: String { return self.rawValue } } - public enum SccDestinationFramerate: String, CustomStringConvertible, Codable { - case framerate2397 = "FRAMERATE_23_97" - case framerate24 = "FRAMERATE_24" - case framerate2997Dropframe = "FRAMERATE_29_97_DROPFRAME" - case framerate2997NonDropframe = "FRAMERATE_29_97_NON_DROPFRAME" + public enum M3u8NielsenId3: String, CustomStringConvertible, Codable { + case insert = "INSERT" + case none = "NONE" public var description: String { return self.rawValue } } - public struct TeletextSourceSettings: AWSShape { + public struct FileSourceSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PageNumber", location: .body(locationName: "pageNumber"), required: false, type: .string) + AWSShapeMember(label: "SourceFile", location: .body(locationName: "sourceFile"), required: true, type: .string), + AWSShapeMember(label: "TimeDelta", location: .body(locationName: "timeDelta"), required: false, type: .integer), + AWSShapeMember(label: "Convert608To708", location: .body(locationName: "convert608To708"), required: false, type: .enum) ] - /// 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. - public let pageNumber: String? + /// External caption file used for loading captions. Accepted file extensions are 'scc', 'ttml', 'dfxp', 'stl', 'srt', and 'smi'. + public let sourceFile: String + /// Specifies a time delta in seconds to offset the captions from the source file. + public let timeDelta: Int32? + public let convert608To708: FileSourceConvert608To708? - public init(pageNumber: String? = nil) { - self.pageNumber = pageNumber + public init(sourceFile: String, timeDelta: Int32? = nil, convert608To708: FileSourceConvert608To708? = nil) { + self.sourceFile = sourceFile + self.timeDelta = timeDelta + self.convert608To708 = convert608To708 } private enum CodingKeys: String, CodingKey { - case pageNumber = "pageNumber" + case sourceFile = "sourceFile" + case timeDelta = "timeDelta" + case convert608To708 = "convert608To708" } } - public enum H264InterlaceMode: String, CustomStringConvertible, Codable { + public enum Mpeg2InterlaceMode: String, CustomStringConvertible, Codable { case progressive = "PROGRESSIVE" case topField = "TOP_FIELD" case bottomField = "BOTTOM_FIELD" @@ -2485,3132 +2603,3606 @@ extension Mediaconvert { public var description: String { return self.rawValue } } - public struct WavSettings: AWSShape { + public enum Mpeg2FramerateConversionAlgorithm: String, CustomStringConvertible, Codable { + case duplicateDrop = "DUPLICATE_DROP" + case interpolate = "INTERPOLATE" + public var description: String { return self.rawValue } + } + + public struct DescribeEndpointsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BitDepth", location: .body(locationName: "bitDepth"), required: false, type: .integer), - AWSShapeMember(label: "Channels", location: .body(locationName: "channels"), required: false, type: .integer), - AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .integer) + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer) ] - /// Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track. - public let bitDepth: Int32? - /// 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. - public let channels: Int32? - /// Sample rate in Hz. - public let sampleRate: Int32? + /// Use this string, provided with the response to a previous request, to request the next batch of endpoints. + public let nextToken: String? + /// Optional. Max number of endpoints, up to twenty, that will be returned at one time. + public let maxResults: Int32? - public init(bitDepth: Int32? = nil, channels: Int32? = nil, sampleRate: Int32? = nil) { - self.bitDepth = bitDepth - self.channels = channels - self.sampleRate = sampleRate + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case bitDepth = "bitDepth" - case channels = "channels" - case sampleRate = "sampleRate" + case nextToken = "nextToken" + case maxResults = "maxResults" } } - public struct CreatePresetResponse: AWSShape { + public enum HlsSegmentControl: String, CustomStringConvertible, Codable { + case singleFile = "SINGLE_FILE" + case segmentedFiles = "SEGMENTED_FILES" + public var description: String { return self.rawValue } + } + + public enum TimedMetadata: String, CustomStringConvertible, Codable { + case passthrough = "PASSTHROUGH" + case none = "NONE" + public var description: String { return self.rawValue } + } + + public enum ColorSpace: String, CustomStringConvertible, Codable { + case follow = "FOLLOW" + case rec601 = "REC_601" + case rec709 = "REC_709" + case hdr10 = "HDR10" + case hlg2020 = "HLG_2020" + public var description: String { return self.rawValue } + } + + public enum HlsManifestCompression: String, CustomStringConvertible, Codable { + case gzip = "GZIP" + case none = "NONE" + public var description: String { return self.rawValue } + } + + public struct GetQueueRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Preset", location: .body(locationName: "preset"), required: false, type: .structure) + AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string) ] - public let preset: Preset? + /// The name of the queue. + public let name: String - public init(preset: Preset? = nil) { - self.preset = preset + public init(name: String) { + self.name = name } private enum CodingKeys: String, CodingKey { - case preset = "preset" + case name = "name" } } - public enum M2tsAudioBufferModel: String, CustomStringConvertible, Codable { - case dvb = "DVB" - case atsc = "ATSC" + public enum AacRawFormat: String, CustomStringConvertible, Codable { + case latmLoas = "LATM_LOAS" + case none = "NONE" public var description: String { return self.rawValue } } - public enum Mpeg2CodecLevel: String, CustomStringConvertible, Codable { - case auto = "AUTO" - case low = "LOW" - case main = "MAIN" - case high1440 = "HIGH1440" - case high = "HIGH" - public var description: String { return self.rawValue } + public struct ListJobTemplatesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "JobTemplates", location: .body(locationName: "jobTemplates"), required: false, type: .list) + ] + /// Use this string to request the next batch of job templates. + public let nextToken: String? + /// List of Job templates. + public let jobTemplates: [JobTemplate]? + + public init(nextToken: String? = nil, jobTemplates: [JobTemplate]? = nil) { + self.nextToken = nextToken + self.jobTemplates = jobTemplates + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case jobTemplates = "jobTemplates" + } } - public struct VideoDetail: AWSShape { + public struct EmbeddedSourceSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WidthInPx", location: .body(locationName: "widthInPx"), required: false, type: .integer), - AWSShapeMember(label: "HeightInPx", location: .body(locationName: "heightInPx"), required: false, type: .integer) + AWSShapeMember(label: "Source608ChannelNumber", location: .body(locationName: "source608ChannelNumber"), required: false, type: .integer), + AWSShapeMember(label: "Convert608To708", location: .body(locationName: "convert608To708"), required: false, type: .enum), + AWSShapeMember(label: "Source608TrackNumber", location: .body(locationName: "source608TrackNumber"), required: false, type: .integer) ] - /// Width in pixels for the output - public let widthInPx: Int32? - /// Height in pixels for the output - public let heightInPx: Int32? + /// Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough. + public let source608ChannelNumber: Int32? + public let convert608To708: EmbeddedConvert608To708? + /// 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'. + public let source608TrackNumber: Int32? - public init(widthInPx: Int32? = nil, heightInPx: Int32? = nil) { - self.widthInPx = widthInPx - self.heightInPx = heightInPx + public init(source608ChannelNumber: Int32? = nil, convert608To708: EmbeddedConvert608To708? = nil, source608TrackNumber: Int32? = nil) { + self.source608ChannelNumber = source608ChannelNumber + self.convert608To708 = convert608To708 + self.source608TrackNumber = source608TrackNumber } private enum CodingKeys: String, CodingKey { - case widthInPx = "widthInPx" - case heightInPx = "heightInPx" + case source608ChannelNumber = "source608ChannelNumber" + case convert608To708 = "convert608To708" + case source608TrackNumber = "source608TrackNumber" } } - public struct GetJobRequest: AWSShape { + public enum ScalingBehavior: String, CustomStringConvertible, Codable { + case `default` = "DEFAULT" + case stretchToOutput = "STRETCH_TO_OUTPUT" + public var description: String { return self.rawValue } + } + + public enum ContainerType: String, CustomStringConvertible, Codable { + case f4v = "F4V" + case ismv = "ISMV" + case m2ts = "M2TS" + case m3u8 = "M3U8" + case cmfc = "CMFC" + case mov = "MOV" + case mp4 = "MP4" + case mpd = "MPD" + case mxf = "MXF" + case raw = "RAW" + public var description: String { return self.rawValue } + } + + public struct NielsenConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", location: .uri(locationName: "id"), required: true, type: .string) + AWSShapeMember(label: "DistributorId", location: .body(locationName: "distributorId"), required: false, type: .string), + AWSShapeMember(label: "BreakoutCode", location: .body(locationName: "breakoutCode"), required: false, type: .integer) ] - /// the job ID of the job. - public let id: String + /// Use Distributor ID (DistributorID) to specify the distributor ID that is assigned to your organization by Neilsen. + public let distributorId: String? + /// Use Nielsen Configuration (NielsenConfiguration) to set the Nielsen measurement system breakout code. Supported values are 0, 3, 7, and 9. + public let breakoutCode: Int32? - public init(id: String) { - self.id = id + public init(distributorId: String? = nil, breakoutCode: Int32? = nil) { + self.distributorId = distributorId + self.breakoutCode = breakoutCode } private enum CodingKeys: String, CodingKey { - case id = "id" + case distributorId = "distributorId" + case breakoutCode = "breakoutCode" } } - public struct CaptionDestinationSettings: AWSShape { + public struct H265Settings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BurninDestinationSettings", location: .body(locationName: "burninDestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "TeletextDestinationSettings", location: .body(locationName: "teletextDestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "DestinationType", location: .body(locationName: "destinationType"), required: false, type: .enum), - AWSShapeMember(label: "DvbSubDestinationSettings", location: .body(locationName: "dvbSubDestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "SccDestinationSettings", location: .body(locationName: "sccDestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "TtmlDestinationSettings", location: .body(locationName: "ttmlDestinationSettings"), required: false, type: .structure) + AWSShapeMember(label: "NumberBFramesBetweenReferenceFrames", location: .body(locationName: "numberBFramesBetweenReferenceFrames"), required: false, type: .integer), + AWSShapeMember(label: "ParControl", location: .body(locationName: "parControl"), required: false, type: .enum), + AWSShapeMember(label: "FlickerAdaptiveQuantization", location: .body(locationName: "flickerAdaptiveQuantization"), required: false, type: .enum), + AWSShapeMember(label: "GopBReference", location: .body(locationName: "gopBReference"), required: false, type: .enum), + AWSShapeMember(label: "FramerateNumerator", location: .body(locationName: "framerateNumerator"), required: false, type: .integer), + AWSShapeMember(label: "Slices", location: .body(locationName: "slices"), required: false, type: .integer), + AWSShapeMember(label: "HrdBufferSize", location: .body(locationName: "hrdBufferSize"), required: false, type: .integer), + AWSShapeMember(label: "SpatialAdaptiveQuantization", location: .body(locationName: "spatialAdaptiveQuantization"), required: false, type: .enum), + AWSShapeMember(label: "ParNumerator", location: .body(locationName: "parNumerator"), required: false, type: .integer), + AWSShapeMember(label: "CodecProfile", location: .body(locationName: "codecProfile"), required: false, type: .enum), + AWSShapeMember(label: "QualityTuningLevel", location: .body(locationName: "qualityTuningLevel"), required: false, type: .enum), + AWSShapeMember(label: "CodecLevel", location: .body(locationName: "codecLevel"), required: false, type: .enum), + AWSShapeMember(label: "MaxBitrate", location: .body(locationName: "maxBitrate"), required: false, type: .integer), + AWSShapeMember(label: "AdaptiveQuantization", location: .body(locationName: "adaptiveQuantization"), required: false, type: .enum), + AWSShapeMember(label: "GopSizeUnits", location: .body(locationName: "gopSizeUnits"), required: false, type: .enum), + AWSShapeMember(label: "SceneChangeDetect", location: .body(locationName: "sceneChangeDetect"), required: false, type: .enum), + AWSShapeMember(label: "WriteMp4PackagingType", location: .body(locationName: "writeMp4PackagingType"), required: false, type: .enum), + AWSShapeMember(label: "SlowPal", location: .body(locationName: "slowPal"), required: false, type: .enum), + AWSShapeMember(label: "TemporalAdaptiveQuantization", location: .body(locationName: "temporalAdaptiveQuantization"), required: false, type: .enum), + AWSShapeMember(label: "NumberReferenceFrames", location: .body(locationName: "numberReferenceFrames"), required: false, type: .integer), + AWSShapeMember(label: "RateControlMode", location: .body(locationName: "rateControlMode"), required: false, type: .enum), + AWSShapeMember(label: "FramerateDenominator", location: .body(locationName: "framerateDenominator"), required: false, type: .integer), + AWSShapeMember(label: "FramerateConversionAlgorithm", location: .body(locationName: "framerateConversionAlgorithm"), required: false, type: .enum), + AWSShapeMember(label: "ParDenominator", location: .body(locationName: "parDenominator"), required: false, type: .integer), + AWSShapeMember(label: "GopClosedCadence", location: .body(locationName: "gopClosedCadence"), required: false, type: .integer), + AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), + AWSShapeMember(label: "InterlaceMode", location: .body(locationName: "interlaceMode"), required: false, type: .enum), + AWSShapeMember(label: "MinIInterval", location: .body(locationName: "minIInterval"), required: false, type: .integer), + AWSShapeMember(label: "TemporalIds", location: .body(locationName: "temporalIds"), required: false, type: .enum), + AWSShapeMember(label: "SampleAdaptiveOffsetFilterMode", location: .body(locationName: "sampleAdaptiveOffsetFilterMode"), required: false, type: .enum), + AWSShapeMember(label: "HrdBufferInitialFillPercentage", location: .body(locationName: "hrdBufferInitialFillPercentage"), required: false, type: .integer), + AWSShapeMember(label: "AlternateTransferFunctionSei", location: .body(locationName: "alternateTransferFunctionSei"), required: false, type: .enum), + AWSShapeMember(label: "Tiles", location: .body(locationName: "tiles"), required: false, type: .enum), + AWSShapeMember(label: "UnregisteredSeiTimecode", location: .body(locationName: "unregisteredSeiTimecode"), required: false, type: .enum), + AWSShapeMember(label: "GopSize", location: .body(locationName: "gopSize"), required: false, type: .double), + AWSShapeMember(label: "FramerateControl", location: .body(locationName: "framerateControl"), required: false, type: .enum), + AWSShapeMember(label: "Telecine", location: .body(locationName: "telecine"), required: false, type: .enum) ] - public let burninDestinationSettings: BurninDestinationSettings? - public let teletextDestinationSettings: TeletextDestinationSettings? - /// Type of Caption output, including Burn-In, Embedded, SCC, SRT, TTML, WebVTT, DVB-Sub, Teletext. - public let destinationType: CaptionDestinationType? - public let dvbSubDestinationSettings: DvbSubDestinationSettings? - public let sccDestinationSettings: SccDestinationSettings? - /// Settings specific to TTML caption outputs, including Pass style information (TtmlStylePassthrough). - public let ttmlDestinationSettings: TtmlDestinationSettings? + /// Number of B-frames between reference frames. + public let numberBFramesBetweenReferenceFrames: Int32? + public let parControl: H265ParControl? + public let flickerAdaptiveQuantization: H265FlickerAdaptiveQuantization? + public let gopBReference: H265GopBReference? + /// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. + public let framerateNumerator: Int32? + /// 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. + public let slices: Int32? + /// Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000. + public let hrdBufferSize: Int32? + public let spatialAdaptiveQuantization: H265SpatialAdaptiveQuantization? + /// Pixel Aspect Ratio numerator. + public let parNumerator: Int32? + public let codecProfile: H265CodecProfile? + public let qualityTuningLevel: H265QualityTuningLevel? + public let codecLevel: H265CodecLevel? + /// Maximum bitrate in bits/second. + public let maxBitrate: Int32? + public let adaptiveQuantization: H265AdaptiveQuantization? + public let gopSizeUnits: H265GopSizeUnits? + public let sceneChangeDetect: H265SceneChangeDetect? + public let writeMp4PackagingType: H265WriteMp4PackagingType? + public let slowPal: H265SlowPal? + public let temporalAdaptiveQuantization: H265TemporalAdaptiveQuantization? + /// Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. + public let numberReferenceFrames: Int32? + public let rateControlMode: H265RateControlMode? + /// Framerate denominator. + public let framerateDenominator: Int32? + public let framerateConversionAlgorithm: H265FramerateConversionAlgorithm? + /// Pixel Aspect Ratio denominator. + public let parDenominator: Int32? + /// 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. + public let gopClosedCadence: Int32? + /// 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. + public let bitrate: Int32? + public let interlaceMode: H265InterlaceMode? + /// 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 + public let minIInterval: Int32? + public let temporalIds: H265TemporalIds? + public let sampleAdaptiveOffsetFilterMode: H265SampleAdaptiveOffsetFilterMode? + /// Percentage of the buffer that should initially be filled (HRD buffer model). + public let hrdBufferInitialFillPercentage: Int32? + public let alternateTransferFunctionSei: H265AlternateTransferFunctionSei? + public let tiles: H265Tiles? + public let unregisteredSeiTimecode: H265UnregisteredSeiTimecode? + /// GOP Length (keyframe interval) in frames or seconds. Must be greater than zero. + public let gopSize: Double? + public let framerateControl: H265FramerateControl? + public let telecine: H265Telecine? - public init(burninDestinationSettings: BurninDestinationSettings? = nil, teletextDestinationSettings: TeletextDestinationSettings? = nil, destinationType: CaptionDestinationType? = nil, dvbSubDestinationSettings: DvbSubDestinationSettings? = nil, sccDestinationSettings: SccDestinationSettings? = nil, ttmlDestinationSettings: TtmlDestinationSettings? = nil) { - self.burninDestinationSettings = burninDestinationSettings - self.teletextDestinationSettings = teletextDestinationSettings - self.destinationType = destinationType - self.dvbSubDestinationSettings = dvbSubDestinationSettings - self.sccDestinationSettings = sccDestinationSettings - self.ttmlDestinationSettings = ttmlDestinationSettings + public init(numberBFramesBetweenReferenceFrames: Int32? = nil, parControl: H265ParControl? = nil, flickerAdaptiveQuantization: H265FlickerAdaptiveQuantization? = nil, gopBReference: H265GopBReference? = nil, framerateNumerator: Int32? = nil, slices: Int32? = nil, hrdBufferSize: Int32? = nil, spatialAdaptiveQuantization: H265SpatialAdaptiveQuantization? = nil, parNumerator: Int32? = nil, codecProfile: H265CodecProfile? = nil, qualityTuningLevel: H265QualityTuningLevel? = nil, codecLevel: H265CodecLevel? = nil, maxBitrate: Int32? = nil, adaptiveQuantization: H265AdaptiveQuantization? = nil, gopSizeUnits: H265GopSizeUnits? = nil, sceneChangeDetect: H265SceneChangeDetect? = nil, writeMp4PackagingType: H265WriteMp4PackagingType? = nil, slowPal: H265SlowPal? = nil, temporalAdaptiveQuantization: H265TemporalAdaptiveQuantization? = nil, numberReferenceFrames: Int32? = nil, rateControlMode: H265RateControlMode? = nil, framerateDenominator: Int32? = nil, framerateConversionAlgorithm: H265FramerateConversionAlgorithm? = nil, parDenominator: Int32? = nil, gopClosedCadence: Int32? = nil, bitrate: Int32? = nil, interlaceMode: H265InterlaceMode? = nil, minIInterval: Int32? = nil, temporalIds: H265TemporalIds? = nil, sampleAdaptiveOffsetFilterMode: H265SampleAdaptiveOffsetFilterMode? = nil, hrdBufferInitialFillPercentage: Int32? = nil, alternateTransferFunctionSei: H265AlternateTransferFunctionSei? = nil, tiles: H265Tiles? = nil, unregisteredSeiTimecode: H265UnregisteredSeiTimecode? = nil, gopSize: Double? = nil, framerateControl: H265FramerateControl? = nil, telecine: H265Telecine? = nil) { + self.numberBFramesBetweenReferenceFrames = numberBFramesBetweenReferenceFrames + self.parControl = parControl + self.flickerAdaptiveQuantization = flickerAdaptiveQuantization + self.gopBReference = gopBReference + self.framerateNumerator = framerateNumerator + self.slices = slices + self.hrdBufferSize = hrdBufferSize + self.spatialAdaptiveQuantization = spatialAdaptiveQuantization + self.parNumerator = parNumerator + self.codecProfile = codecProfile + self.qualityTuningLevel = qualityTuningLevel + self.codecLevel = codecLevel + self.maxBitrate = maxBitrate + self.adaptiveQuantization = adaptiveQuantization + self.gopSizeUnits = gopSizeUnits + self.sceneChangeDetect = sceneChangeDetect + self.writeMp4PackagingType = writeMp4PackagingType + self.slowPal = slowPal + self.temporalAdaptiveQuantization = temporalAdaptiveQuantization + self.numberReferenceFrames = numberReferenceFrames + self.rateControlMode = rateControlMode + self.framerateDenominator = framerateDenominator + self.framerateConversionAlgorithm = framerateConversionAlgorithm + self.parDenominator = parDenominator + self.gopClosedCadence = gopClosedCadence + self.bitrate = bitrate + self.interlaceMode = interlaceMode + self.minIInterval = minIInterval + self.temporalIds = temporalIds + self.sampleAdaptiveOffsetFilterMode = sampleAdaptiveOffsetFilterMode + self.hrdBufferInitialFillPercentage = hrdBufferInitialFillPercentage + self.alternateTransferFunctionSei = alternateTransferFunctionSei + self.tiles = tiles + self.unregisteredSeiTimecode = unregisteredSeiTimecode + self.gopSize = gopSize + self.framerateControl = framerateControl + self.telecine = telecine } private enum CodingKeys: String, CodingKey { - case burninDestinationSettings = "burninDestinationSettings" - case teletextDestinationSettings = "teletextDestinationSettings" - case destinationType = "destinationType" - case dvbSubDestinationSettings = "dvbSubDestinationSettings" - case sccDestinationSettings = "sccDestinationSettings" - case ttmlDestinationSettings = "ttmlDestinationSettings" + case numberBFramesBetweenReferenceFrames = "numberBFramesBetweenReferenceFrames" + case parControl = "parControl" + case flickerAdaptiveQuantization = "flickerAdaptiveQuantization" + case gopBReference = "gopBReference" + case framerateNumerator = "framerateNumerator" + case slices = "slices" + case hrdBufferSize = "hrdBufferSize" + case spatialAdaptiveQuantization = "spatialAdaptiveQuantization" + case parNumerator = "parNumerator" + case codecProfile = "codecProfile" + case qualityTuningLevel = "qualityTuningLevel" + case codecLevel = "codecLevel" + case maxBitrate = "maxBitrate" + case adaptiveQuantization = "adaptiveQuantization" + case gopSizeUnits = "gopSizeUnits" + case sceneChangeDetect = "sceneChangeDetect" + case writeMp4PackagingType = "writeMp4PackagingType" + case slowPal = "slowPal" + case temporalAdaptiveQuantization = "temporalAdaptiveQuantization" + case numberReferenceFrames = "numberReferenceFrames" + case rateControlMode = "rateControlMode" + case framerateDenominator = "framerateDenominator" + case framerateConversionAlgorithm = "framerateConversionAlgorithm" + case parDenominator = "parDenominator" + case gopClosedCadence = "gopClosedCadence" + case bitrate = "bitrate" + case interlaceMode = "interlaceMode" + case minIInterval = "minIInterval" + case temporalIds = "temporalIds" + case sampleAdaptiveOffsetFilterMode = "sampleAdaptiveOffsetFilterMode" + case hrdBufferInitialFillPercentage = "hrdBufferInitialFillPercentage" + case alternateTransferFunctionSei = "alternateTransferFunctionSei" + case tiles = "tiles" + case unregisteredSeiTimecode = "unregisteredSeiTimecode" + case gopSize = "gopSize" + case framerateControl = "framerateControl" + case telecine = "telecine" } } - - public enum H264RateControlMode: String, CustomStringConvertible, Codable { - case vbr = "VBR" - case cbr = "CBR" - public var description: String { return self.rawValue } - } - - public struct VideoDescription: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Height", location: .body(locationName: "height"), required: false, type: .integer), - AWSShapeMember(label: "TimecodeInsertion", location: .body(locationName: "timecodeInsertion"), required: false, type: .enum), - AWSShapeMember(label: "FixedAfd", location: .body(locationName: "fixedAfd"), required: false, type: .integer), - AWSShapeMember(label: "ColorMetadata", location: .body(locationName: "colorMetadata"), required: false, type: .enum), - AWSShapeMember(label: "VideoPreprocessors", location: .body(locationName: "videoPreprocessors"), required: false, type: .structure), - AWSShapeMember(label: "Width", location: .body(locationName: "width"), required: false, type: .integer), - AWSShapeMember(label: "CodecSettings", location: .body(locationName: "codecSettings"), required: false, type: .structure), - AWSShapeMember(label: "DropFrameTimecode", location: .body(locationName: "dropFrameTimecode"), required: false, type: .enum), - AWSShapeMember(label: "Sharpness", location: .body(locationName: "sharpness"), required: false, type: .integer), - AWSShapeMember(label: "Position", location: .body(locationName: "position"), required: false, type: .structure), - AWSShapeMember(label: "AfdSignaling", location: .body(locationName: "afdSignaling"), required: false, type: .enum), - AWSShapeMember(label: "Crop", location: .body(locationName: "crop"), required: false, type: .structure), - AWSShapeMember(label: "AntiAlias", location: .body(locationName: "antiAlias"), required: false, type: .enum), - AWSShapeMember(label: "ScalingBehavior", location: .body(locationName: "scalingBehavior"), required: false, type: .enum), - AWSShapeMember(label: "RespondToAfd", location: .body(locationName: "respondToAfd"), required: false, type: .enum) + + public struct ResourceTags: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Tags", location: .body(locationName: "tags"), required: false, type: .map), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string) ] - /// 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. - public let height: Int32? - public let timecodeInsertion: VideoTimecodeInsertion? - /// 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. - public let fixedAfd: Int32? - public let colorMetadata: ColorMetadata? - /// Find additional transcoding features under Preprocessors (VideoPreprocessors). Enable the features at each output individually. These features are disabled by default. - public let videoPreprocessors: VideoPreprocessor? - /// 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. - public let width: Int32? - public let codecSettings: VideoCodecSettings? - public let dropFrameTimecode: DropFrameTimecode? - /// 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. - public let sharpness: Int32? - /// Use Position (Position) to point to a rectangle object to define your position. This setting overrides any other aspect ratio. - public let position: Rectangle? - public let afdSignaling: AfdSignaling? - /// 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. - public let crop: Rectangle? - public let antiAlias: AntiAlias? - public let scalingBehavior: ScalingBehavior? - public let respondToAfd: RespondToAfd? + /// The tags for the resource. + public let tags: [String: String]? + /// The Amazon Resource Name (ARN) of the resource. + public let arn: String? - public init(height: Int32? = nil, timecodeInsertion: VideoTimecodeInsertion? = nil, fixedAfd: Int32? = nil, colorMetadata: ColorMetadata? = nil, videoPreprocessors: VideoPreprocessor? = nil, width: Int32? = nil, codecSettings: VideoCodecSettings? = nil, dropFrameTimecode: DropFrameTimecode? = nil, sharpness: Int32? = nil, position: Rectangle? = nil, afdSignaling: AfdSignaling? = nil, crop: Rectangle? = nil, antiAlias: AntiAlias? = nil, scalingBehavior: ScalingBehavior? = nil, respondToAfd: RespondToAfd? = nil) { - self.height = height - self.timecodeInsertion = timecodeInsertion - self.fixedAfd = fixedAfd - self.colorMetadata = colorMetadata - self.videoPreprocessors = videoPreprocessors - self.width = width - self.codecSettings = codecSettings - self.dropFrameTimecode = dropFrameTimecode - self.sharpness = sharpness - self.position = position - self.afdSignaling = afdSignaling - self.crop = crop - self.antiAlias = antiAlias - self.scalingBehavior = scalingBehavior - self.respondToAfd = respondToAfd + public init(tags: [String: String]? = nil, arn: String? = nil) { + self.tags = tags + self.arn = arn } private enum CodingKeys: String, CodingKey { - case height = "height" - case timecodeInsertion = "timecodeInsertion" - case fixedAfd = "fixedAfd" - case colorMetadata = "colorMetadata" - case videoPreprocessors = "videoPreprocessors" - case width = "width" - case codecSettings = "codecSettings" - case dropFrameTimecode = "dropFrameTimecode" - case sharpness = "sharpness" - case position = "position" - case afdSignaling = "afdSignaling" - case crop = "crop" - case antiAlias = "antiAlias" - case scalingBehavior = "scalingBehavior" - case respondToAfd = "respondToAfd" + case tags = "tags" + case arn = "arn" } } - public struct GetQueueResponse: AWSShape { + public struct CreateJobTemplateResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Queue", location: .body(locationName: "queue"), required: false, type: .structure) + AWSShapeMember(label: "JobTemplate", location: .body(locationName: "jobTemplate"), required: false, type: .structure) ] - public let queue: Queue? + public let jobTemplate: JobTemplate? - public init(queue: Queue? = nil) { - self.queue = queue + public init(jobTemplate: JobTemplate? = nil) { + self.jobTemplate = jobTemplate } private enum CodingKeys: String, CodingKey { - case queue = "queue" + case jobTemplate = "jobTemplate" } } - public enum H264FlickerAdaptiveQuantization: String, CustomStringConvertible, Codable { + public enum HlsTimedMetadataId3Frame: String, CustomStringConvertible, Codable { + case none = "NONE" + case priv = "PRIV" + case tdrl = "TDRL" + public var description: String { return self.rawValue } + } + + public struct UntagResourceResponse: AWSShape { + + } + + public enum AacRateControlMode: String, CustomStringConvertible, Codable { + case cbr = "CBR" + case vbr = "VBR" + public var description: String { return self.rawValue } + } + + public enum H265FramerateControl: String, CustomStringConvertible, Codable { + case initializeFromSource = "INITIALIZE_FROM_SOURCE" + case specified = "SPECIFIED" + public var description: String { return self.rawValue } + } + + public enum H265AlternateTransferFunctionSei: String, CustomStringConvertible, Codable { case disabled = "DISABLED" case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum QueueStatus: String, CustomStringConvertible, Codable { - case active = "ACTIVE" - case paused = "PAUSED" + public enum MovClapAtom: String, CustomStringConvertible, Codable { + case include = "INCLUDE" + case exclude = "EXCLUDE" public var description: String { return self.rawValue } } - public struct ListJobsResponse: AWSShape { + public struct TeletextDestinationSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Jobs", location: .body(locationName: "jobs"), required: false, type: .list), - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) + AWSShapeMember(label: "PageNumber", location: .body(locationName: "pageNumber"), required: false, type: .string) ] - /// List of jobs - public let jobs: [Job]? - /// Use this string to request the next batch of jobs. - public let nextToken: String? + /// 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. + public let pageNumber: String? - public init(jobs: [Job]? = nil, nextToken: String? = nil) { - self.jobs = jobs - self.nextToken = nextToken + public init(pageNumber: String? = nil) { + self.pageNumber = pageNumber } private enum CodingKeys: String, CodingKey { - case jobs = "jobs" - case nextToken = "nextToken" + case pageNumber = "pageNumber" } } - public enum InputTimecodeSource: String, CustomStringConvertible, Codable { - case embedded = "EMBEDDED" - case zerobased = "ZEROBASED" - case specifiedstart = "SPECIFIEDSTART" - public var description: String { return self.rawValue } + public struct HlsGroupSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OutputSelection", location: .body(locationName: "outputSelection"), required: false, type: .enum), + AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: false, type: .string), + AWSShapeMember(label: "StreamInfResolution", location: .body(locationName: "streamInfResolution"), required: false, type: .enum), + AWSShapeMember(label: "ManifestCompression", location: .body(locationName: "manifestCompression"), required: false, type: .enum), + AWSShapeMember(label: "DirectoryStructure", location: .body(locationName: "directoryStructure"), required: false, type: .enum), + AWSShapeMember(label: "AdMarkers", location: .body(locationName: "adMarkers"), required: false, type: .list), + AWSShapeMember(label: "BaseUrl", location: .body(locationName: "baseUrl"), required: false, type: .string), + AWSShapeMember(label: "ClientCache", location: .body(locationName: "clientCache"), required: false, type: .enum), + AWSShapeMember(label: "SegmentControl", location: .body(locationName: "segmentControl"), required: false, type: .enum), + AWSShapeMember(label: "ProgramDateTimePeriod", location: .body(locationName: "programDateTimePeriod"), required: false, type: .integer), + AWSShapeMember(label: "TimestampDeltaMilliseconds", location: .body(locationName: "timestampDeltaMilliseconds"), required: false, type: .integer), + AWSShapeMember(label: "CaptionLanguageSetting", location: .body(locationName: "captionLanguageSetting"), required: false, type: .enum), + AWSShapeMember(label: "Encryption", location: .body(locationName: "encryption"), required: false, type: .structure), + AWSShapeMember(label: "ManifestDurationFormat", location: .body(locationName: "manifestDurationFormat"), required: false, type: .enum), + AWSShapeMember(label: "CaptionLanguageMappings", location: .body(locationName: "captionLanguageMappings"), required: false, type: .list), + AWSShapeMember(label: "TimedMetadataId3Period", location: .body(locationName: "timedMetadataId3Period"), required: false, type: .integer), + AWSShapeMember(label: "ProgramDateTime", location: .body(locationName: "programDateTime"), required: false, type: .enum), + AWSShapeMember(label: "CodecSpecification", location: .body(locationName: "codecSpecification"), required: false, type: .enum), + AWSShapeMember(label: "SegmentsPerSubdirectory", location: .body(locationName: "segmentsPerSubdirectory"), required: false, type: .integer), + AWSShapeMember(label: "TimedMetadataId3Frame", location: .body(locationName: "timedMetadataId3Frame"), required: false, type: .enum), + AWSShapeMember(label: "MinSegmentLength", location: .body(locationName: "minSegmentLength"), required: true, type: .integer), + AWSShapeMember(label: "SegmentLength", location: .body(locationName: "segmentLength"), required: true, type: .integer) + ] + public let outputSelection: HlsOutputSelection? + /// 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. + public let destination: String? + public let streamInfResolution: HlsStreamInfResolution? + public let manifestCompression: HlsManifestCompression? + public let directoryStructure: HlsDirectoryStructure? + /// Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs. + public let adMarkers: [HlsAdMarkers]? + /// 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. + public let baseUrl: String? + public let clientCache: HlsClientCache? + public let segmentControl: HlsSegmentControl? + /// Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. + public let programDateTimePeriod: Int32? + /// Provides an extra millisecond delta offset to fine tune the timestamps. + public let timestampDeltaMilliseconds: Int32? + public let captionLanguageSetting: HlsCaptionLanguageSetting? + /// DRM settings. + public let encryption: HlsEncryptionSettings? + public let manifestDurationFormat: HlsManifestDurationFormat? + /// Language to be used on Caption outputs + public let captionLanguageMappings: [HlsCaptionLanguageMapping]? + /// Timed Metadata interval in seconds. + public let timedMetadataId3Period: Int32? + public let programDateTime: HlsProgramDateTime? + public let codecSpecification: HlsCodecSpecification? + /// 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. + public let segmentsPerSubdirectory: Int32? + public let timedMetadataId3Frame: HlsTimedMetadataId3Frame? + /// 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. + public let minSegmentLength: Int32 + /// 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. + public let segmentLength: Int32 + + public init(outputSelection: HlsOutputSelection? = nil, destination: String? = nil, streamInfResolution: HlsStreamInfResolution? = nil, manifestCompression: HlsManifestCompression? = nil, directoryStructure: HlsDirectoryStructure? = nil, adMarkers: [HlsAdMarkers]? = nil, baseUrl: String? = nil, clientCache: HlsClientCache? = nil, segmentControl: HlsSegmentControl? = nil, programDateTimePeriod: Int32? = nil, timestampDeltaMilliseconds: Int32? = nil, captionLanguageSetting: HlsCaptionLanguageSetting? = nil, encryption: HlsEncryptionSettings? = nil, manifestDurationFormat: HlsManifestDurationFormat? = nil, captionLanguageMappings: [HlsCaptionLanguageMapping]? = nil, timedMetadataId3Period: Int32? = nil, programDateTime: HlsProgramDateTime? = nil, codecSpecification: HlsCodecSpecification? = nil, segmentsPerSubdirectory: Int32? = nil, timedMetadataId3Frame: HlsTimedMetadataId3Frame? = nil, minSegmentLength: Int32, segmentLength: Int32) { + self.outputSelection = outputSelection + self.destination = destination + self.streamInfResolution = streamInfResolution + self.manifestCompression = manifestCompression + self.directoryStructure = directoryStructure + self.adMarkers = adMarkers + self.baseUrl = baseUrl + self.clientCache = clientCache + self.segmentControl = segmentControl + self.programDateTimePeriod = programDateTimePeriod + self.timestampDeltaMilliseconds = timestampDeltaMilliseconds + self.captionLanguageSetting = captionLanguageSetting + self.encryption = encryption + self.manifestDurationFormat = manifestDurationFormat + self.captionLanguageMappings = captionLanguageMappings + self.timedMetadataId3Period = timedMetadataId3Period + self.programDateTime = programDateTime + self.codecSpecification = codecSpecification + self.segmentsPerSubdirectory = segmentsPerSubdirectory + self.timedMetadataId3Frame = timedMetadataId3Frame + self.minSegmentLength = minSegmentLength + self.segmentLength = segmentLength + } + + private enum CodingKeys: String, CodingKey { + case outputSelection = "outputSelection" + case destination = "destination" + case streamInfResolution = "streamInfResolution" + case manifestCompression = "manifestCompression" + case directoryStructure = "directoryStructure" + case adMarkers = "adMarkers" + case baseUrl = "baseUrl" + case clientCache = "clientCache" + case segmentControl = "segmentControl" + case programDateTimePeriod = "programDateTimePeriod" + case timestampDeltaMilliseconds = "timestampDeltaMilliseconds" + case captionLanguageSetting = "captionLanguageSetting" + case encryption = "encryption" + case manifestDurationFormat = "manifestDurationFormat" + case captionLanguageMappings = "captionLanguageMappings" + case timedMetadataId3Period = "timedMetadataId3Period" + case programDateTime = "programDateTime" + case codecSpecification = "codecSpecification" + case segmentsPerSubdirectory = "segmentsPerSubdirectory" + case timedMetadataId3Frame = "timedMetadataId3Frame" + case minSegmentLength = "minSegmentLength" + case segmentLength = "segmentLength" + } } - public struct UpdateQueueResponse: AWSShape { + public struct AudioDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Queue", location: .body(locationName: "queue"), required: false, type: .structure) + AWSShapeMember(label: "AudioNormalizationSettings", location: .body(locationName: "audioNormalizationSettings"), required: false, type: .structure), + AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .enum), + AWSShapeMember(label: "LanguageCodeControl", location: .body(locationName: "languageCodeControl"), required: false, type: .enum), + AWSShapeMember(label: "CustomLanguageCode", location: .body(locationName: "customLanguageCode"), required: false, type: .string), + AWSShapeMember(label: "AudioType", location: .body(locationName: "audioType"), required: false, type: .integer), + AWSShapeMember(label: "AudioTypeControl", location: .body(locationName: "audioTypeControl"), required: false, type: .enum), + AWSShapeMember(label: "StreamName", location: .body(locationName: "streamName"), required: false, type: .string), + AWSShapeMember(label: "RemixSettings", location: .body(locationName: "remixSettings"), required: false, type: .structure), + AWSShapeMember(label: "AudioSourceName", location: .body(locationName: "audioSourceName"), required: false, type: .string), + AWSShapeMember(label: "CodecSettings", location: .body(locationName: "codecSettings"), required: true, type: .structure) ] - public let queue: Queue? + public let audioNormalizationSettings: AudioNormalizationSettings? + /// 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. + public let languageCode: LanguageCode? + public let languageCodeControl: AudioLanguageCodeControl? + /// 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. + public let customLanguageCode: String? + /// 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. + public let audioType: Int32? + public let audioTypeControl: AudioTypeControl? + /// 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. + public let streamName: String? + /// Advanced audio remixing settings. + public let remixSettings: RemixSettings? + /// 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. + public let audioSourceName: String? + public let codecSettings: AudioCodecSettings - public init(queue: Queue? = nil) { - self.queue = queue + public init(audioNormalizationSettings: AudioNormalizationSettings? = nil, languageCode: LanguageCode? = nil, languageCodeControl: AudioLanguageCodeControl? = nil, customLanguageCode: String? = nil, audioType: Int32? = nil, audioTypeControl: AudioTypeControl? = nil, streamName: String? = nil, remixSettings: RemixSettings? = nil, audioSourceName: String? = nil, codecSettings: AudioCodecSettings) { + self.audioNormalizationSettings = audioNormalizationSettings + self.languageCode = languageCode + self.languageCodeControl = languageCodeControl + self.customLanguageCode = customLanguageCode + self.audioType = audioType + self.audioTypeControl = audioTypeControl + self.streamName = streamName + self.remixSettings = remixSettings + self.audioSourceName = audioSourceName + self.codecSettings = codecSettings } private enum CodingKeys: String, CodingKey { - case queue = "queue" + case audioNormalizationSettings = "audioNormalizationSettings" + case languageCode = "languageCode" + case languageCodeControl = "languageCodeControl" + case customLanguageCode = "customLanguageCode" + case audioType = "audioType" + case audioTypeControl = "audioTypeControl" + case streamName = "streamName" + case remixSettings = "remixSettings" + case audioSourceName = "audioSourceName" + case codecSettings = "codecSettings" } } - public enum HlsOutputSelection: String, CustomStringConvertible, Codable { - case manifestsAndSegments = "MANIFESTS_AND_SEGMENTS" - case segmentsOnly = "SEGMENTS_ONLY" + public enum CmafWriteDASHManifest: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public struct F4vSettings: AWSShape { + public struct Timing: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MoovPlacement", location: .body(locationName: "moovPlacement"), required: false, type: .enum) + AWSShapeMember(label: "StartTime", location: .body(locationName: "startTime"), required: false, type: .timestamp), + AWSShapeMember(label: "FinishTime", location: .body(locationName: "finishTime"), required: false, type: .timestamp), + AWSShapeMember(label: "SubmitTime", location: .body(locationName: "submitTime"), required: false, type: .timestamp) ] - public let moovPlacement: F4vMoovPlacement? + /// The time, in Unix epoch format, that transcoding for the job began. + public let startTime: TimeStamp? + /// The time, in Unix epoch format, that the transcoding job finished + public let finishTime: TimeStamp? + /// The time, in Unix epoch format, that you submitted the job. + public let submitTime: TimeStamp? - public init(moovPlacement: F4vMoovPlacement? = nil) { - self.moovPlacement = moovPlacement + public init(startTime: TimeStamp? = nil, finishTime: TimeStamp? = nil, submitTime: TimeStamp? = nil) { + self.startTime = startTime + self.finishTime = finishTime + self.submitTime = submitTime } private enum CodingKeys: String, CodingKey { - case moovPlacement = "moovPlacement" + case startTime = "startTime" + case finishTime = "finishTime" + case submitTime = "submitTime" } } - public struct Output: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ContainerSettings", location: .body(locationName: "containerSettings"), required: false, type: .structure), - AWSShapeMember(label: "OutputSettings", location: .body(locationName: "outputSettings"), required: false, type: .structure), - AWSShapeMember(label: "Preset", location: .body(locationName: "preset"), required: false, type: .string), - AWSShapeMember(label: "AudioDescriptions", location: .body(locationName: "audioDescriptions"), required: false, type: .list), - AWSShapeMember(label: "NameModifier", location: .body(locationName: "nameModifier"), required: false, type: .string), - AWSShapeMember(label: "CaptionDescriptions", location: .body(locationName: "captionDescriptions"), required: false, type: .list), - AWSShapeMember(label: "VideoDescription", location: .body(locationName: "videoDescription"), required: false, type: .structure), - AWSShapeMember(label: "Extension", location: .body(locationName: "extension"), required: false, type: .string) - ] - public let containerSettings: ContainerSettings? - public let outputSettings: OutputSettings? - /// 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. - public let preset: String? - /// (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. - public let audioDescriptions: [AudioDescription]? - /// 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 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. - public let nameModifier: String? - /// (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. - public let captionDescriptions: [CaptionDescription]? - /// (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. - public let videoDescription: VideoDescription? - /// 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) - public let `extension`: String? - - public init(containerSettings: ContainerSettings? = nil, outputSettings: OutputSettings? = nil, preset: String? = nil, audioDescriptions: [AudioDescription]? = nil, nameModifier: String? = nil, captionDescriptions: [CaptionDescription]? = nil, videoDescription: VideoDescription? = nil, extension: String? = nil) { - self.containerSettings = containerSettings - self.outputSettings = outputSettings - self.preset = preset - self.audioDescriptions = audioDescriptions - self.nameModifier = nameModifier - self.captionDescriptions = captionDescriptions - self.videoDescription = videoDescription - self.`extension` = `extension` - } - - private enum CodingKeys: String, CodingKey { - case containerSettings = "containerSettings" - case outputSettings = "outputSettings" - case preset = "preset" - case audioDescriptions = "audioDescriptions" - case nameModifier = "nameModifier" - case captionDescriptions = "captionDescriptions" - case videoDescription = "videoDescription" - case `extension` = "extension" - } + public enum NoiseReducerFilter: String, CustomStringConvertible, Codable { + case bilateral = "BILATERAL" + case mean = "MEAN" + case gaussian = "GAUSSIAN" + case lanczos = "LANCZOS" + case sharpen = "SHARPEN" + case conserve = "CONSERVE" + case spatial = "SPATIAL" + public var description: String { return self.rawValue } } - public enum Eac3CodingMode: String, CustomStringConvertible, Codable { - case codingMode10 = "CODING_MODE_1_0" - case codingMode20 = "CODING_MODE_2_0" - case codingMode32 = "CODING_MODE_3_2" + public enum H264GopSizeUnits: String, CustomStringConvertible, Codable { + case frames = "FRAMES" + case seconds = "SECONDS" public var description: String { return self.rawValue } } - public enum Eac3MetadataControl: String, CustomStringConvertible, Codable { - case followInput = "FOLLOW_INPUT" - case useConfigured = "USE_CONFIGURED" + public enum AacAudioDescriptionBroadcasterMix: String, CustomStringConvertible, Codable { + case broadcasterMixedAd = "BROADCASTER_MIXED_AD" + case normal = "NORMAL" public var description: String { return self.rawValue } } - public enum DvbSubtitleTeletextSpacing: String, CustomStringConvertible, Codable { - case fixedGrid = "FIXED_GRID" - case proportional = "PROPORTIONAL" + public enum AudioNormalizationAlgorithm: String, CustomStringConvertible, Codable { + case ituBs17701 = "ITU_BS_1770_1" + case ituBs17702 = "ITU_BS_1770_2" public var description: String { return self.rawValue } } - public struct HlsCaptionLanguageMapping: AWSShape { + public struct UpdateJobTemplateResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .enum), - AWSShapeMember(label: "LanguageDescription", location: .body(locationName: "languageDescription"), required: false, type: .string), - AWSShapeMember(label: "CaptionChannel", location: .body(locationName: "captionChannel"), required: false, type: .integer) + AWSShapeMember(label: "JobTemplate", location: .body(locationName: "jobTemplate"), required: false, type: .structure) ] - public let languageCode: LanguageCode? - /// Caption language description. - public let languageDescription: String? - /// Caption channel. - public let captionChannel: Int32? + public let jobTemplate: JobTemplate? - public init(languageCode: LanguageCode? = nil, languageDescription: String? = nil, captionChannel: Int32? = nil) { - self.languageCode = languageCode - self.languageDescription = languageDescription - self.captionChannel = captionChannel + public init(jobTemplate: JobTemplate? = nil) { + self.jobTemplate = jobTemplate } private enum CodingKeys: String, CodingKey { - case languageCode = "languageCode" - case languageDescription = "languageDescription" - case captionChannel = "captionChannel" + case jobTemplate = "jobTemplate" } } - public enum Mpeg2ParControl: String, CustomStringConvertible, Codable { - case initializeFromSource = "INITIALIZE_FROM_SOURCE" - case specified = "SPECIFIED" + public enum TtmlStylePassthrough: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" public var description: String { return self.rawValue } } - public struct AiffSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BitDepth", location: .body(locationName: "bitDepth"), required: false, type: .integer), - AWSShapeMember(label: "Channels", location: .body(locationName: "channels"), required: false, type: .integer), - AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .integer) - ] - /// Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track. - public let bitDepth: Int32? - /// 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. - public let channels: Int32? - /// Sample rate in hz. - public let sampleRate: Int32? - - public init(bitDepth: Int32? = nil, channels: Int32? = nil, sampleRate: Int32? = nil) { - self.bitDepth = bitDepth - self.channels = channels - self.sampleRate = sampleRate - } - - private enum CodingKeys: String, CodingKey { - case bitDepth = "bitDepth" - case channels = "channels" - case sampleRate = "sampleRate" - } - } - - public struct TimedMetadataInsertion: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id3Insertions", location: .body(locationName: "id3Insertions"), required: false, type: .list) - ] - /// Id3Insertions contains the array of Id3Insertion instances. - public let id3Insertions: [Id3Insertion]? - - public init(id3Insertions: [Id3Insertion]? = nil) { - self.id3Insertions = id3Insertions - } - - private enum CodingKeys: String, CodingKey { - case id3Insertions = "id3Insertions" - } + public enum ColorSpaceUsage: String, CustomStringConvertible, Codable { + case force = "FORCE" + case fallback = "FALLBACK" + public var description: String { return self.rawValue } } - public struct HlsSettings: AWSShape { + public struct TtmlDestinationSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SegmentModifier", location: .body(locationName: "segmentModifier"), required: false, type: .string), - AWSShapeMember(label: "AudioGroupId", location: .body(locationName: "audioGroupId"), required: false, type: .string), - AWSShapeMember(label: "AudioTrackType", location: .body(locationName: "audioTrackType"), required: false, type: .enum), - AWSShapeMember(label: "IFrameOnlyManifest", location: .body(locationName: "iFrameOnlyManifest"), required: false, type: .enum), - AWSShapeMember(label: "AudioRenditionSets", location: .body(locationName: "audioRenditionSets"), required: false, type: .string) + AWSShapeMember(label: "StylePassthrough", location: .body(locationName: "stylePassthrough"), required: false, type: .enum) ] - /// String concatenated to end of segment filenames. Accepts "Format Identifiers":#format_identifier_parameters. - public let segmentModifier: String? - /// Specifies the group to which the audio Rendition belongs. - public let audioGroupId: String? - public let audioTrackType: HlsAudioTrackType? - public let iFrameOnlyManifest: HlsIFrameOnlyManifest? - /// 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 ','. - public let audioRenditionSets: String? + public let stylePassthrough: TtmlStylePassthrough? - public init(segmentModifier: String? = nil, audioGroupId: String? = nil, audioTrackType: HlsAudioTrackType? = nil, iFrameOnlyManifest: HlsIFrameOnlyManifest? = nil, audioRenditionSets: String? = nil) { - self.segmentModifier = segmentModifier - self.audioGroupId = audioGroupId - self.audioTrackType = audioTrackType - self.iFrameOnlyManifest = iFrameOnlyManifest - self.audioRenditionSets = audioRenditionSets + public init(stylePassthrough: TtmlStylePassthrough? = nil) { + self.stylePassthrough = stylePassthrough } private enum CodingKeys: String, CodingKey { - case segmentModifier = "segmentModifier" - case audioGroupId = "audioGroupId" - case audioTrackType = "audioTrackType" - case iFrameOnlyManifest = "iFrameOnlyManifest" - case audioRenditionSets = "audioRenditionSets" + case stylePassthrough = "stylePassthrough" } } - public enum Mpeg2QualityTuningLevel: String, CustomStringConvertible, Codable { - case singlePass = "SINGLE_PASS" - case multiPass = "MULTI_PASS" - public var description: String { return self.rawValue } - } - - public enum Mpeg2Syntax: String, CustomStringConvertible, Codable { - case `default` = "DEFAULT" - case d10 = "D_10" + public enum ProresFramerateConversionAlgorithm: String, CustomStringConvertible, Codable { + case duplicateDrop = "DUPLICATE_DROP" + case interpolate = "INTERPOLATE" public var description: String { return self.rawValue } } - public struct AudioSelector: AWSShape { + public struct OutputGroup: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SelectorType", location: .body(locationName: "selectorType"), required: false, type: .enum), - AWSShapeMember(label: "Tracks", location: .body(locationName: "tracks"), required: false, type: .list), - AWSShapeMember(label: "ExternalAudioFileInput", location: .body(locationName: "externalAudioFileInput"), required: false, type: .string), - AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .enum), - AWSShapeMember(label: "ProgramSelection", location: .body(locationName: "programSelection"), required: false, type: .integer), - AWSShapeMember(label: "Offset", location: .body(locationName: "offset"), required: false, type: .integer), - AWSShapeMember(label: "Pids", location: .body(locationName: "pids"), required: false, type: .list), - AWSShapeMember(label: "RemixSettings", location: .body(locationName: "remixSettings"), required: false, type: .structure), - AWSShapeMember(label: "DefaultSelection", location: .body(locationName: "defaultSelection"), required: false, type: .enum) + AWSShapeMember(label: "CustomName", location: .body(locationName: "customName"), required: false, type: .string), + AWSShapeMember(label: "OutputGroupSettings", location: .body(locationName: "outputGroupSettings"), required: true, type: .structure), + AWSShapeMember(label: "Outputs", location: .body(locationName: "outputs"), required: true, type: .list), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string) ] - public let selectorType: AudioSelectorType? - /// Identify the channel to include in this selector by entering the 1-based track index. To combine several tracks, enter a comma-separated list, e.g. "1,2,3" for tracks 1-3. - public let tracks: [Int32]? - /// Specifies audio data from an external file source. Auto populated when Infer External Filename is checked - public let externalAudioFileInput: String? - /// Selects a specific language code from within an audio source. - public let languageCode: LanguageCode? - /// Applies only when input streams contain Dolby E. Enter the program ID (according to the metadata in the audio) of the Dolby E program to extract from the specified track. One program extracted per audio selector. To select multiple programs, create multiple selectors with the same Track and different Program numbers. "All channels" means to ignore the program IDs and include all the channels in this selector; useful if metadata is known to be incorrect. - public let programSelection: Int32? - /// Specifies a time delta in milliseconds to offset the audio from the input video. - public let offset: Int32? - /// Selects a specific PID from within an audio source (e.g. 257 selects PID 0x101). - public let pids: [Int32]? - /// Advanced audio remixing settings. - public let remixSettings: RemixSettings? - public let defaultSelection: AudioDefaultSelection? + /// 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. + public let customName: String? + public let outputGroupSettings: OutputGroupSettings + /// This object holds groups of encoding settings, one group of settings per output. + public let outputs: [Output] + /// Name of the output group + public let name: String? - public init(selectorType: AudioSelectorType? = nil, tracks: [Int32]? = nil, externalAudioFileInput: String? = nil, languageCode: LanguageCode? = nil, programSelection: Int32? = nil, offset: Int32? = nil, pids: [Int32]? = nil, remixSettings: RemixSettings? = nil, defaultSelection: AudioDefaultSelection? = nil) { - self.selectorType = selectorType - self.tracks = tracks - self.externalAudioFileInput = externalAudioFileInput - self.languageCode = languageCode - self.programSelection = programSelection - self.offset = offset - self.pids = pids - self.remixSettings = remixSettings - self.defaultSelection = defaultSelection + public init(customName: String? = nil, outputGroupSettings: OutputGroupSettings, outputs: [Output], name: String? = nil) { + self.customName = customName + self.outputGroupSettings = outputGroupSettings + self.outputs = outputs + self.name = name } private enum CodingKeys: String, CodingKey { - case selectorType = "selectorType" - case tracks = "tracks" - case externalAudioFileInput = "externalAudioFileInput" - case languageCode = "languageCode" - case programSelection = "programSelection" - case offset = "offset" - case pids = "pids" - case remixSettings = "remixSettings" - case defaultSelection = "defaultSelection" + case customName = "customName" + case outputGroupSettings = "outputGroupSettings" + case outputs = "outputs" + case name = "name" } } - public struct DvbNitSettings: AWSShape { + public struct Eac3Settings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NitInterval", location: .body(locationName: "nitInterval"), required: false, type: .integer), - AWSShapeMember(label: "NetworkId", location: .body(locationName: "networkId"), required: false, type: .integer), - AWSShapeMember(label: "NetworkName", location: .body(locationName: "networkName"), required: false, type: .string) + AWSShapeMember(label: "DynamicRangeCompressionRf", location: .body(locationName: "dynamicRangeCompressionRf"), required: false, type: .enum), + AWSShapeMember(label: "LtRtCenterMixLevel", location: .body(locationName: "ltRtCenterMixLevel"), required: false, type: .double), + AWSShapeMember(label: "StereoDownmix", location: .body(locationName: "stereoDownmix"), required: false, type: .enum), + AWSShapeMember(label: "Dialnorm", location: .body(locationName: "dialnorm"), required: false, type: .integer), + AWSShapeMember(label: "DcFilter", location: .body(locationName: "dcFilter"), required: false, type: .enum), + AWSShapeMember(label: "LtRtSurroundMixLevel", location: .body(locationName: "ltRtSurroundMixLevel"), required: false, type: .double), + AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), + AWSShapeMember(label: "SurroundExMode", location: .body(locationName: "surroundExMode"), required: false, type: .enum), + AWSShapeMember(label: "MetadataControl", location: .body(locationName: "metadataControl"), required: false, type: .enum), + AWSShapeMember(label: "SurroundMode", location: .body(locationName: "surroundMode"), required: false, type: .enum), + AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: false, type: .enum), + AWSShapeMember(label: "LfeFilter", location: .body(locationName: "lfeFilter"), required: false, type: .enum), + AWSShapeMember(label: "BitstreamMode", location: .body(locationName: "bitstreamMode"), required: false, type: .enum), + AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .integer), + AWSShapeMember(label: "PassthroughControl", location: .body(locationName: "passthroughControl"), required: false, type: .enum), + AWSShapeMember(label: "LoRoSurroundMixLevel", location: .body(locationName: "loRoSurroundMixLevel"), required: false, type: .double), + AWSShapeMember(label: "LoRoCenterMixLevel", location: .body(locationName: "loRoCenterMixLevel"), required: false, type: .double), + AWSShapeMember(label: "PhaseControl", location: .body(locationName: "phaseControl"), required: false, type: .enum), + AWSShapeMember(label: "AttenuationControl", location: .body(locationName: "attenuationControl"), required: false, type: .enum), + AWSShapeMember(label: "DynamicRangeCompressionLine", location: .body(locationName: "dynamicRangeCompressionLine"), required: false, type: .enum), + AWSShapeMember(label: "LfeControl", location: .body(locationName: "lfeControl"), required: false, type: .enum) ] - /// The number of milliseconds between instances of this table in the output transport stream. - public let nitInterval: Int32? - /// The numeric value placed in the Network Information Table (NIT). - public let networkId: Int32? - /// The network name text placed in the network_name_descriptor inside the Network Information Table. Maximum length is 256 characters. - public let networkName: String? + public let dynamicRangeCompressionRf: Eac3DynamicRangeCompressionRf? + /// Left total/Right total center mix level. Only used for 3/2 coding mode. + /// Valid values: 3.0, 1.5, 0.0, -1.5 -3.0 -4.5 -6.0 -60 + public let ltRtCenterMixLevel: Double? + public let stereoDownmix: Eac3StereoDownmix? + /// Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through. + public let dialnorm: Int32? + public let dcFilter: Eac3DcFilter? + /// Left total/Right total surround mix level. Only used for 3/2 coding mode. + /// Valid values: -1.5 -3.0 -4.5 -6.0 -60 + public let ltRtSurroundMixLevel: Double? + /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. + public let bitrate: Int32? + public let surroundExMode: Eac3SurroundExMode? + public let metadataControl: Eac3MetadataControl? + public let surroundMode: Eac3SurroundMode? + public let codingMode: Eac3CodingMode? + public let lfeFilter: Eac3LfeFilter? + public let bitstreamMode: Eac3BitstreamMode? + /// Sample rate in hz. Sample rate is always 48000. + public let sampleRate: Int32? + public let passthroughControl: Eac3PassthroughControl? + /// Left only/Right only surround mix level. Only used for 3/2 coding mode. + /// Valid values: -1.5 -3.0 -4.5 -6.0 -60 + public let loRoSurroundMixLevel: Double? + /// Left only/Right only center mix level. Only used for 3/2 coding mode. + /// Valid values: 3.0, 1.5, 0.0, -1.5 -3.0 -4.5 -6.0 -60 + public let loRoCenterMixLevel: Double? + public let phaseControl: Eac3PhaseControl? + public let attenuationControl: Eac3AttenuationControl? + public let dynamicRangeCompressionLine: Eac3DynamicRangeCompressionLine? + public let lfeControl: Eac3LfeControl? - public init(nitInterval: Int32? = nil, networkId: Int32? = nil, networkName: String? = nil) { - self.nitInterval = nitInterval - self.networkId = networkId - self.networkName = networkName + public init(dynamicRangeCompressionRf: Eac3DynamicRangeCompressionRf? = nil, ltRtCenterMixLevel: Double? = nil, stereoDownmix: Eac3StereoDownmix? = nil, dialnorm: Int32? = nil, dcFilter: Eac3DcFilter? = nil, ltRtSurroundMixLevel: Double? = nil, bitrate: Int32? = nil, surroundExMode: Eac3SurroundExMode? = nil, metadataControl: Eac3MetadataControl? = nil, surroundMode: Eac3SurroundMode? = nil, codingMode: Eac3CodingMode? = nil, lfeFilter: Eac3LfeFilter? = nil, bitstreamMode: Eac3BitstreamMode? = nil, sampleRate: Int32? = nil, passthroughControl: Eac3PassthroughControl? = nil, loRoSurroundMixLevel: Double? = nil, loRoCenterMixLevel: Double? = nil, phaseControl: Eac3PhaseControl? = nil, attenuationControl: Eac3AttenuationControl? = nil, dynamicRangeCompressionLine: Eac3DynamicRangeCompressionLine? = nil, lfeControl: Eac3LfeControl? = nil) { + self.dynamicRangeCompressionRf = dynamicRangeCompressionRf + self.ltRtCenterMixLevel = ltRtCenterMixLevel + self.stereoDownmix = stereoDownmix + self.dialnorm = dialnorm + self.dcFilter = dcFilter + self.ltRtSurroundMixLevel = ltRtSurroundMixLevel + self.bitrate = bitrate + self.surroundExMode = surroundExMode + self.metadataControl = metadataControl + self.surroundMode = surroundMode + self.codingMode = codingMode + self.lfeFilter = lfeFilter + self.bitstreamMode = bitstreamMode + self.sampleRate = sampleRate + self.passthroughControl = passthroughControl + self.loRoSurroundMixLevel = loRoSurroundMixLevel + self.loRoCenterMixLevel = loRoCenterMixLevel + self.phaseControl = phaseControl + self.attenuationControl = attenuationControl + self.dynamicRangeCompressionLine = dynamicRangeCompressionLine + self.lfeControl = lfeControl } private enum CodingKeys: String, CodingKey { - case nitInterval = "nitInterval" - case networkId = "networkId" - case networkName = "networkName" + case dynamicRangeCompressionRf = "dynamicRangeCompressionRf" + case ltRtCenterMixLevel = "ltRtCenterMixLevel" + case stereoDownmix = "stereoDownmix" + case dialnorm = "dialnorm" + case dcFilter = "dcFilter" + case ltRtSurroundMixLevel = "ltRtSurroundMixLevel" + case bitrate = "bitrate" + case surroundExMode = "surroundExMode" + case metadataControl = "metadataControl" + case surroundMode = "surroundMode" + case codingMode = "codingMode" + case lfeFilter = "lfeFilter" + case bitstreamMode = "bitstreamMode" + case sampleRate = "sampleRate" + case passthroughControl = "passthroughControl" + case loRoSurroundMixLevel = "loRoSurroundMixLevel" + case loRoCenterMixLevel = "loRoCenterMixLevel" + case phaseControl = "phaseControl" + case attenuationControl = "attenuationControl" + case dynamicRangeCompressionLine = "dynamicRangeCompressionLine" + case lfeControl = "lfeControl" } } - public enum HlsDirectoryStructure: String, CustomStringConvertible, Codable { - case singleDirectory = "SINGLE_DIRECTORY" - case subdirectoryPerStream = "SUBDIRECTORY_PER_STREAM" + public enum Ac3LfeFilter: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" public var description: String { return self.rawValue } } - public enum M2tsRateMode: String, CustomStringConvertible, Codable { - case vbr = "VBR" - case cbr = "CBR" + public enum MsSmoothManifestEncoding: String, CustomStringConvertible, Codable { + case utf8 = "UTF8" + case utf16 = "UTF16" public var description: String { return self.rawValue } } - public enum H264EntropyEncoding: String, CustomStringConvertible, Codable { - case cabac = "CABAC" - case cavlc = "CAVLC" + public enum Order: String, CustomStringConvertible, Codable { + case ascending = "ASCENDING" + case descending = "DESCENDING" public var description: String { return self.rawValue } } - public enum Eac3DynamicRangeCompressionRf: String, CustomStringConvertible, Codable { - case none = "NONE" - case filmStandard = "FILM_STANDARD" - case filmLight = "FILM_LIGHT" - case musicStandard = "MUSIC_STANDARD" - case musicLight = "MUSIC_LIGHT" - case speech = "SPEECH" - public var description: String { return self.rawValue } + public struct GetJobTemplateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string) + ] + /// The name of the job template. + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + } } - public enum H264FramerateControl: String, CustomStringConvertible, Codable { - case initializeFromSource = "INITIALIZE_FROM_SOURCE" - case specified = "SPECIFIED" + public enum F4vMoovPlacement: String, CustomStringConvertible, Codable { + case progressiveDownload = "PROGRESSIVE_DOWNLOAD" + case normal = "NORMAL" public var description: String { return self.rawValue } } - public struct AacSettings: AWSShape { + public struct GetPresetResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: false, type: .enum), - AWSShapeMember(label: "CodecProfile", location: .body(locationName: "codecProfile"), required: false, type: .enum), - AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .integer), - AWSShapeMember(label: "AudioDescriptionBroadcasterMix", location: .body(locationName: "audioDescriptionBroadcasterMix"), required: false, type: .enum), - AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), - AWSShapeMember(label: "VbrQuality", location: .body(locationName: "vbrQuality"), required: false, type: .enum), - AWSShapeMember(label: "Specification", location: .body(locationName: "specification"), required: false, type: .enum), - AWSShapeMember(label: "RawFormat", location: .body(locationName: "rawFormat"), required: false, type: .enum), - AWSShapeMember(label: "RateControlMode", location: .body(locationName: "rateControlMode"), required: false, type: .enum) + AWSShapeMember(label: "Preset", location: .body(locationName: "preset"), required: false, type: .structure) ] - public let codingMode: AacCodingMode? - public let codecProfile: AacCodecProfile? - /// Sample rate in Hz. Valid values depend on rate control mode and profile. - public let sampleRate: Int32? - public let audioDescriptionBroadcasterMix: AacAudioDescriptionBroadcasterMix? - /// Average bitrate in bits/second. Valid values depend on rate control mode and profile. - public let bitrate: Int32? - public let vbrQuality: AacVbrQuality? - public let specification: AacSpecification? - public let rawFormat: AacRawFormat? - public let rateControlMode: AacRateControlMode? + public let preset: Preset? - public init(codingMode: AacCodingMode? = nil, codecProfile: AacCodecProfile? = nil, sampleRate: Int32? = nil, audioDescriptionBroadcasterMix: AacAudioDescriptionBroadcasterMix? = nil, bitrate: Int32? = nil, vbrQuality: AacVbrQuality? = nil, specification: AacSpecification? = nil, rawFormat: AacRawFormat? = nil, rateControlMode: AacRateControlMode? = nil) { - self.codingMode = codingMode - self.codecProfile = codecProfile - self.sampleRate = sampleRate - self.audioDescriptionBroadcasterMix = audioDescriptionBroadcasterMix - self.bitrate = bitrate - self.vbrQuality = vbrQuality - self.specification = specification - self.rawFormat = rawFormat - self.rateControlMode = rateControlMode + public init(preset: Preset? = nil) { + self.preset = preset } private enum CodingKeys: String, CodingKey { - case codingMode = "codingMode" - case codecProfile = "codecProfile" - case sampleRate = "sampleRate" - case audioDescriptionBroadcasterMix = "audioDescriptionBroadcasterMix" - case bitrate = "bitrate" - case vbrQuality = "vbrQuality" - case specification = "specification" - case rawFormat = "rawFormat" - case rateControlMode = "rateControlMode" + case preset = "preset" } } - public struct Deinterlacer: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Algorithm", location: .body(locationName: "algorithm"), required: false, type: .enum), - AWSShapeMember(label: "Control", location: .body(locationName: "control"), required: false, type: .enum), - AWSShapeMember(label: "Mode", location: .body(locationName: "mode"), required: false, type: .enum) - ] - public let algorithm: DeinterlaceAlgorithm? - public let control: DeinterlacerControl? - public let mode: DeinterlacerMode? + public enum H265SlowPal: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } - public init(algorithm: DeinterlaceAlgorithm? = nil, control: DeinterlacerControl? = nil, mode: DeinterlacerMode? = nil) { - self.algorithm = algorithm - self.control = control - self.mode = mode - } + public enum Eac3SurroundMode: String, CustomStringConvertible, Codable { + case notIndicated = "NOT_INDICATED" + case enabled = "ENABLED" + case disabled = "DISABLED" + public var description: String { return self.rawValue } + } + + public enum ColorSpaceConversion: String, CustomStringConvertible, Codable { + case none = "NONE" + case force601 = "FORCE_601" + case force709 = "FORCE_709" + case forceHdr10 = "FORCE_HDR10" + case forceHlg2020 = "FORCE_HLG_2020" + public var description: String { return self.rawValue } + } - private enum CodingKeys: String, CodingKey { - case algorithm = "algorithm" - case control = "control" - case mode = "mode" - } + public enum H265WriteMp4PackagingType: String, CustomStringConvertible, Codable { + case hvc1 = "HVC1" + case hev1 = "HEV1" + public var description: String { return self.rawValue } } - public struct CancelJobRequest: AWSShape { + public struct VideoSelector: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", location: .uri(locationName: "id"), required: true, type: .string) + AWSShapeMember(label: "ColorSpace", location: .body(locationName: "colorSpace"), required: false, type: .enum), + AWSShapeMember(label: "ColorSpaceUsage", location: .body(locationName: "colorSpaceUsage"), required: false, type: .enum), + AWSShapeMember(label: "Pid", location: .body(locationName: "pid"), required: false, type: .integer), + AWSShapeMember(label: "Hdr10Metadata", location: .body(locationName: "hdr10Metadata"), required: false, type: .structure), + AWSShapeMember(label: "ProgramNumber", location: .body(locationName: "programNumber"), required: false, type: .integer) ] - /// The Job ID of the job to be cancelled. - public let id: String + public let colorSpace: ColorSpace? + public let colorSpaceUsage: ColorSpaceUsage? + /// 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. + public let pid: Int32? + public let hdr10Metadata: Hdr10Metadata? + /// Selects a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported. + public let programNumber: Int32? - public init(id: String) { - self.id = id + public init(colorSpace: ColorSpace? = nil, colorSpaceUsage: ColorSpaceUsage? = nil, pid: Int32? = nil, hdr10Metadata: Hdr10Metadata? = nil, programNumber: Int32? = nil) { + self.colorSpace = colorSpace + self.colorSpaceUsage = colorSpaceUsage + self.pid = pid + self.hdr10Metadata = hdr10Metadata + self.programNumber = programNumber } private enum CodingKeys: String, CodingKey { - case id = "id" + case colorSpace = "colorSpace" + case colorSpaceUsage = "colorSpaceUsage" + case pid = "pid" + case hdr10Metadata = "hdr10Metadata" + case programNumber = "programNumber" } } - public enum H265CodecLevel: String, CustomStringConvertible, Codable { - case auto = "AUTO" - case level1 = "LEVEL_1" - case level2 = "LEVEL_2" - case level21 = "LEVEL_2_1" - case level3 = "LEVEL_3" - case level31 = "LEVEL_3_1" - case level4 = "LEVEL_4" - case level41 = "LEVEL_4_1" - case level5 = "LEVEL_5" - case level51 = "LEVEL_5_1" - case level52 = "LEVEL_5_2" - case level6 = "LEVEL_6" - case level61 = "LEVEL_6_1" - case level62 = "LEVEL_6_2" + public enum M2tsScte35Source: String, CustomStringConvertible, Codable { + case passthrough = "PASSTHROUGH" + case none = "NONE" public var description: String { return self.rawValue } } - public struct DescribeEndpointsResponse: AWSShape { + public enum H265FlickerAdaptiveQuantization: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public struct GetJobResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "Endpoints", location: .body(locationName: "endpoints"), required: false, type: .list) + AWSShapeMember(label: "Job", location: .body(locationName: "job"), required: false, type: .structure) ] - /// Use this string to request the next batch of endpoints. - public let nextToken: String? - /// List of endpoints - public let endpoints: [Endpoint]? + public let job: Job? - public init(nextToken: String? = nil, endpoints: [Endpoint]? = nil) { - self.nextToken = nextToken - self.endpoints = endpoints + public init(job: Job? = nil) { + self.job = job } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case endpoints = "endpoints" + case job = "job" } } - public enum PresetListBy: String, CustomStringConvertible, Codable { - case name = "NAME" - case creationDate = "CREATION_DATE" - case system = "SYSTEM" - public var description: String { return self.rawValue } - } + public struct DvbSubSourceSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Pid", location: .body(locationName: "pid"), required: false, type: .integer) + ] + /// 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. + public let pid: Int32? - public enum HlsManifestDurationFormat: String, CustomStringConvertible, Codable { - case floatingPoint = "FLOATING_POINT" - case integer = "INTEGER" - public var description: String { return self.rawValue } - } + public init(pid: Int32? = nil) { + self.pid = pid + } - public enum Mp4CslgAtom: String, CustomStringConvertible, Codable { - case include = "INCLUDE" - case exclude = "EXCLUDE" - public var description: String { return self.rawValue } + private enum CodingKeys: String, CodingKey { + case pid = "pid" + } } - public struct MsSmoothEncryptionSettings: AWSShape { + public struct ListQueuesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SpekeKeyProvider", location: .body(locationName: "spekeKeyProvider"), required: false, type: .structure) + AWSShapeMember(label: "ListBy", location: .querystring(locationName: "listBy"), required: false, type: .enum), + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Order", location: .querystring(locationName: "order"), required: false, type: .enum), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) ] - public let spekeKeyProvider: SpekeKeyProvider? + public let listBy: QueueListBy? + /// Use this string, provided with the response to a previous request, to request the next batch of queues. + public let nextToken: String? + public let order: Order? + /// Optional. Number of queues, up to twenty, that will be returned at one time. + public let maxResults: Int32? - public init(spekeKeyProvider: SpekeKeyProvider? = nil) { - self.spekeKeyProvider = spekeKeyProvider + public init(listBy: QueueListBy? = nil, nextToken: String? = nil, order: Order? = nil, maxResults: Int32? = nil) { + self.listBy = listBy + self.nextToken = nextToken + self.order = order + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case spekeKeyProvider = "spekeKeyProvider" + case listBy = "listBy" + case nextToken = "nextToken" + case order = "order" + case maxResults = "maxResults" } } - public enum H265FramerateConversionAlgorithm: String, CustomStringConvertible, Codable { - case duplicateDrop = "DUPLICATE_DROP" - case interpolate = "INTERPOLATE" - public var description: String { return self.rawValue } - } - - public struct TimecodeBurnin: AWSShape { + public struct DvbSubDestinationSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Position", location: .body(locationName: "position"), required: false, type: .enum), + AWSShapeMember(label: "BackgroundColor", location: .body(locationName: "backgroundColor"), required: false, type: .enum), + AWSShapeMember(label: "BackgroundOpacity", location: .body(locationName: "backgroundOpacity"), required: false, type: .integer), + AWSShapeMember(label: "YPosition", location: .body(locationName: "yPosition"), required: false, type: .integer), + AWSShapeMember(label: "FontOpacity", location: .body(locationName: "fontOpacity"), required: true, type: .integer), + AWSShapeMember(label: "ShadowXOffset", location: .body(locationName: "shadowXOffset"), required: false, type: .integer), AWSShapeMember(label: "FontSize", location: .body(locationName: "fontSize"), required: false, type: .integer), - AWSShapeMember(label: "Prefix", location: .body(locationName: "prefix"), required: false, type: .string) + AWSShapeMember(label: "Alignment", location: .body(locationName: "alignment"), required: true, type: .enum), + AWSShapeMember(label: "XPosition", location: .body(locationName: "xPosition"), required: false, type: .integer), + AWSShapeMember(label: "ShadowOpacity", location: .body(locationName: "shadowOpacity"), required: false, type: .integer), + AWSShapeMember(label: "FontColor", location: .body(locationName: "fontColor"), required: false, type: .enum), + AWSShapeMember(label: "OutlineColor", location: .body(locationName: "outlineColor"), required: true, type: .enum), + AWSShapeMember(label: "ShadowColor", location: .body(locationName: "shadowColor"), required: false, type: .enum), + AWSShapeMember(label: "TeletextSpacing", location: .body(locationName: "teletextSpacing"), required: false, type: .enum), + AWSShapeMember(label: "FontResolution", location: .body(locationName: "fontResolution"), required: false, type: .integer), + AWSShapeMember(label: "ShadowYOffset", location: .body(locationName: "shadowYOffset"), required: false, type: .integer), + AWSShapeMember(label: "OutlineSize", location: .body(locationName: "outlineSize"), required: true, type: .integer) ] - public let position: TimecodeBurninPosition? - /// Use Font Size (FontSize) to set the font size of any burned-in timecode. Valid values are 10, 16, 32, 48. + public let backgroundColor: DvbSubtitleBackgroundColor? + /// 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. + public let backgroundOpacity: Int32? + /// 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. + public let yPosition: Int32? + /// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. + /// All burn-in and DVB-Sub font settings must match. + public let fontOpacity: Int32 + /// 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. + public let shadowXOffset: Int32? + /// 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. public let fontSize: Int32? - /// 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. - public let prefix: String? + public let alignment: DvbSubtitleAlignment + /// 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. + public let xPosition: Int32? + /// 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. + public let shadowOpacity: Int32? + public let fontColor: DvbSubtitleFontColor? + public let outlineColor: DvbSubtitleOutlineColor + public let shadowColor: DvbSubtitleShadowColor? + public let teletextSpacing: DvbSubtitleTeletextSpacing? + /// Font resolution in DPI (dots per inch); default is 96 dpi. + /// All burn-in and DVB-Sub font settings must match. + public let fontResolution: Int32? + /// 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. + public let shadowYOffset: Int32? + /// 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. + public let outlineSize: Int32 - public init(position: TimecodeBurninPosition? = nil, fontSize: Int32? = nil, prefix: String? = nil) { - self.position = position + public init(backgroundColor: DvbSubtitleBackgroundColor? = nil, backgroundOpacity: Int32? = nil, yPosition: Int32? = nil, fontOpacity: Int32, shadowXOffset: Int32? = nil, fontSize: Int32? = nil, alignment: DvbSubtitleAlignment, xPosition: Int32? = nil, shadowOpacity: Int32? = nil, fontColor: DvbSubtitleFontColor? = nil, outlineColor: DvbSubtitleOutlineColor, shadowColor: DvbSubtitleShadowColor? = nil, teletextSpacing: DvbSubtitleTeletextSpacing? = nil, fontResolution: Int32? = nil, shadowYOffset: Int32? = nil, outlineSize: Int32) { + self.backgroundColor = backgroundColor + self.backgroundOpacity = backgroundOpacity + self.yPosition = yPosition + self.fontOpacity = fontOpacity + self.shadowXOffset = shadowXOffset self.fontSize = fontSize - self.prefix = prefix + self.alignment = alignment + self.xPosition = xPosition + self.shadowOpacity = shadowOpacity + self.fontColor = fontColor + self.outlineColor = outlineColor + self.shadowColor = shadowColor + self.teletextSpacing = teletextSpacing + self.fontResolution = fontResolution + self.shadowYOffset = shadowYOffset + self.outlineSize = outlineSize } private enum CodingKeys: String, CodingKey { - case position = "position" + case backgroundColor = "backgroundColor" + case backgroundOpacity = "backgroundOpacity" + case yPosition = "yPosition" + case fontOpacity = "fontOpacity" + case shadowXOffset = "shadowXOffset" case fontSize = "fontSize" - case prefix = "prefix" + case alignment = "alignment" + case xPosition = "xPosition" + case shadowOpacity = "shadowOpacity" + case fontColor = "fontColor" + case outlineColor = "outlineColor" + case shadowColor = "shadowColor" + case teletextSpacing = "teletextSpacing" + case fontResolution = "fontResolution" + case shadowYOffset = "shadowYOffset" + case outlineSize = "outlineSize" } } - public struct JobTemplateSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TimedMetadataInsertion", location: .body(locationName: "timedMetadataInsertion"), required: false, type: .structure), - AWSShapeMember(label: "OutputGroups", location: .body(locationName: "outputGroups"), required: false, type: .list), - AWSShapeMember(label: "NielsenConfiguration", location: .body(locationName: "nielsenConfiguration"), required: false, type: .structure), - AWSShapeMember(label: "Inputs", location: .body(locationName: "inputs"), required: false, type: .list), - AWSShapeMember(label: "AdAvailOffset", location: .body(locationName: "adAvailOffset"), required: false, type: .integer), - AWSShapeMember(label: "AvailBlanking", location: .body(locationName: "availBlanking"), required: false, type: .structure), - AWSShapeMember(label: "TimecodeConfig", location: .body(locationName: "timecodeConfig"), required: false, type: .structure) - ] - public let timedMetadataInsertion: TimedMetadataInsertion? - /// **!!**(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 - public let outputGroups: [OutputGroup]? - public let nielsenConfiguration: NielsenConfiguration? - /// 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. - public let inputs: [InputTemplate]? - /// When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. - public let adAvailOffset: Int32? - /// Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails. - public let availBlanking: AvailBlanking? - /// Contains settings used to acquire and adjust timecode information from inputs. - public let timecodeConfig: TimecodeConfig? - - public init(timedMetadataInsertion: TimedMetadataInsertion? = nil, outputGroups: [OutputGroup]? = nil, nielsenConfiguration: NielsenConfiguration? = nil, inputs: [InputTemplate]? = nil, adAvailOffset: Int32? = nil, availBlanking: AvailBlanking? = nil, timecodeConfig: TimecodeConfig? = nil) { - self.timedMetadataInsertion = timedMetadataInsertion - self.outputGroups = outputGroups - self.nielsenConfiguration = nielsenConfiguration - self.inputs = inputs - self.adAvailOffset = adAvailOffset - self.availBlanking = availBlanking - self.timecodeConfig = timecodeConfig - } - - private enum CodingKeys: String, CodingKey { - case timedMetadataInsertion = "timedMetadataInsertion" - case outputGroups = "outputGroups" - case nielsenConfiguration = "nielsenConfiguration" - case inputs = "inputs" - case adAvailOffset = "adAvailOffset" - case availBlanking = "availBlanking" - case timecodeConfig = "timecodeConfig" - } + public enum H264QualityTuningLevel: String, CustomStringConvertible, Codable { + case singlePass = "SINGLE_PASS" + case singlePassHq = "SINGLE_PASS_HQ" + case multiPassHq = "MULTI_PASS_HQ" + public var description: String { return self.rawValue } } - public enum H265Telecine: String, CustomStringConvertible, Codable { - case none = "NONE" - case soft = "SOFT" - case hard = "HARD" + public enum Eac3LfeFilter: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" public var description: String { return self.rawValue } } - public enum H264CodecLevel: String, CustomStringConvertible, Codable { - case auto = "AUTO" - case level1 = "LEVEL_1" - case level11 = "LEVEL_1_1" - case level12 = "LEVEL_1_2" - case level13 = "LEVEL_1_3" - case level2 = "LEVEL_2" - case level21 = "LEVEL_2_1" - case level22 = "LEVEL_2_2" - case level3 = "LEVEL_3" - case level31 = "LEVEL_3_1" - case level32 = "LEVEL_3_2" - case level4 = "LEVEL_4" - case level41 = "LEVEL_4_1" - case level42 = "LEVEL_4_2" - case level5 = "LEVEL_5" - case level51 = "LEVEL_5_1" - case level52 = "LEVEL_5_2" + public enum DvbSubtitleAlignment: String, CustomStringConvertible, Codable { + case centered = "CENTERED" + case left = "LEFT" public var description: String { return self.rawValue } } - public struct ContainerSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "M2tsSettings", location: .body(locationName: "m2tsSettings"), required: false, type: .structure), - AWSShapeMember(label: "MovSettings", location: .body(locationName: "movSettings"), required: false, type: .structure), - AWSShapeMember(label: "Mp4Settings", location: .body(locationName: "mp4Settings"), required: false, type: .structure), - AWSShapeMember(label: "F4vSettings", location: .body(locationName: "f4vSettings"), required: false, type: .structure), - AWSShapeMember(label: "Container", location: .body(locationName: "container"), required: false, type: .enum), - AWSShapeMember(label: "M3u8Settings", location: .body(locationName: "m3u8Settings"), required: false, type: .structure) - ] - public let m2tsSettings: M2tsSettings? - public let movSettings: MovSettings? - public let mp4Settings: Mp4Settings? - public let f4vSettings: F4vSettings? - public let container: ContainerType? - public let m3u8Settings: M3u8Settings? + public enum M2tsEbpPlacement: String, CustomStringConvertible, Codable { + case videoAndAudioPids = "VIDEO_AND_AUDIO_PIDS" + case videoPid = "VIDEO_PID" + public var description: String { return self.rawValue } + } - public init(m2tsSettings: M2tsSettings? = nil, movSettings: MovSettings? = nil, mp4Settings: Mp4Settings? = nil, f4vSettings: F4vSettings? = nil, container: ContainerType? = nil, m3u8Settings: M3u8Settings? = nil) { - self.m2tsSettings = m2tsSettings - self.movSettings = movSettings - self.mp4Settings = mp4Settings - self.f4vSettings = f4vSettings - self.container = container - self.m3u8Settings = m3u8Settings - } + public enum CaptionSourceType: String, CustomStringConvertible, Codable { + case ancillary = "ANCILLARY" + case dvbSub = "DVB_SUB" + case embedded = "EMBEDDED" + case scc = "SCC" + case ttml = "TTML" + case stl = "STL" + case srt = "SRT" + case teletext = "TELETEXT" + case nullSource = "NULL_SOURCE" + public var description: String { return self.rawValue } + } - private enum CodingKeys: String, CodingKey { - case m2tsSettings = "m2tsSettings" - case movSettings = "movSettings" - case mp4Settings = "mp4Settings" - case f4vSettings = "f4vSettings" - case container = "container" - case m3u8Settings = "m3u8Settings" - } + public enum H264FramerateConversionAlgorithm: String, CustomStringConvertible, Codable { + case duplicateDrop = "DUPLICATE_DROP" + case interpolate = "INTERPOLATE" + public var description: String { return self.rawValue } } - public enum Mpeg2GopSizeUnits: String, CustomStringConvertible, Codable { - case frames = "FRAMES" - case seconds = "SECONDS" + public enum Mpeg2SpatialAdaptiveQuantization: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum ProresTelecine: String, CustomStringConvertible, Codable { + public enum MsSmoothAudioDeduplication: String, CustomStringConvertible, Codable { + case combineDuplicateStreams = "COMBINE_DUPLICATE_STREAMS" case none = "NONE" - case hard = "HARD" public var description: String { return self.rawValue } } - public struct SpekeKeyProvider: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ResourceId", location: .body(locationName: "resourceId"), required: false, type: .string), - AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string), - AWSShapeMember(label: "SystemIds", location: .body(locationName: "systemIds"), required: false, type: .list) - ] - /// The SPEKE-compliant server uses Resource ID (ResourceId) to identify content. - public let resourceId: String? - /// Use URL (Url) to specify the SPEKE-compliant server that will provide keys for content. - public let url: String? - /// Relates to SPEKE implementation. DRM system identifiers. DASH output groups support a max of two system ids. Other group types support one system id. - public let systemIds: [String]? - - public init(resourceId: String? = nil, url: String? = nil, systemIds: [String]? = nil) { - self.resourceId = resourceId - self.url = url - self.systemIds = systemIds - } - - private enum CodingKeys: String, CodingKey { - case resourceId = "resourceId" - case url = "url" - case systemIds = "systemIds" - } + public enum OutputSdt: String, CustomStringConvertible, Codable { + case sdtFollow = "SDT_FOLLOW" + case sdtFollowIfPresent = "SDT_FOLLOW_IF_PRESENT" + case sdtManual = "SDT_MANUAL" + case sdtNone = "SDT_NONE" + public var description: String { return self.rawValue } } - public struct PresetSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ContainerSettings", location: .body(locationName: "containerSettings"), required: false, type: .structure), - AWSShapeMember(label: "CaptionDescriptions", location: .body(locationName: "captionDescriptions"), required: false, type: .list), - AWSShapeMember(label: "VideoDescription", location: .body(locationName: "videoDescription"), required: false, type: .structure), - AWSShapeMember(label: "AudioDescriptions", location: .body(locationName: "audioDescriptions"), required: false, type: .list) - ] - public let containerSettings: ContainerSettings? - /// Caption settings for this preset. There can be multiple caption settings in a single output. - public let captionDescriptions: [CaptionDescriptionPreset]? - /// (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. - public let videoDescription: VideoDescription? - /// (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. - public let audioDescriptions: [AudioDescription]? - - public init(containerSettings: ContainerSettings? = nil, captionDescriptions: [CaptionDescriptionPreset]? = nil, videoDescription: VideoDescription? = nil, audioDescriptions: [AudioDescription]? = nil) { - self.containerSettings = containerSettings - self.captionDescriptions = captionDescriptions - self.videoDescription = videoDescription - self.audioDescriptions = audioDescriptions - } + public enum TimecodeBurninPosition: String, CustomStringConvertible, Codable { + case topCenter = "TOP_CENTER" + case topLeft = "TOP_LEFT" + case topRight = "TOP_RIGHT" + case middleLeft = "MIDDLE_LEFT" + case middleCenter = "MIDDLE_CENTER" + case middleRight = "MIDDLE_RIGHT" + case bottomLeft = "BOTTOM_LEFT" + case bottomCenter = "BOTTOM_CENTER" + case bottomRight = "BOTTOM_RIGHT" + public var description: String { return self.rawValue } + } - private enum CodingKeys: String, CodingKey { - case containerSettings = "containerSettings" - case captionDescriptions = "captionDescriptions" - case videoDescription = "videoDescription" - case audioDescriptions = "audioDescriptions" - } + public enum M2tsNielsenId3: String, CustomStringConvertible, Codable { + case insert = "INSERT" + case none = "NONE" + public var description: String { return self.rawValue } } - public enum Eac3DcFilter: String, CustomStringConvertible, Codable { - case enabled = "ENABLED" - case disabled = "DISABLED" + public enum H265GopSizeUnits: String, CustomStringConvertible, Codable { + case frames = "FRAMES" + case seconds = "SECONDS" public var description: String { return self.rawValue } } - public struct VideoPreprocessor: AWSShape { + public struct OutputSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Deinterlacer", location: .body(locationName: "deinterlacer"), required: false, type: .structure), - AWSShapeMember(label: "NoiseReducer", location: .body(locationName: "noiseReducer"), required: false, type: .structure), - AWSShapeMember(label: "ImageInserter", location: .body(locationName: "imageInserter"), required: false, type: .structure), - AWSShapeMember(label: "TimecodeBurnin", location: .body(locationName: "timecodeBurnin"), required: false, type: .structure), - AWSShapeMember(label: "ColorCorrector", location: .body(locationName: "colorCorrector"), required: false, type: .structure) + AWSShapeMember(label: "HlsSettings", location: .body(locationName: "hlsSettings"), required: false, type: .structure) ] - /// Use Deinterlacer (Deinterlacer) to produce smoother motion and a clearer picture. - public let deinterlacer: Deinterlacer? - /// 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. - public let noiseReducer: NoiseReducer? - /// 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. - public let imageInserter: ImageInserter? - /// Timecode burn-in (TimecodeBurnIn)--Burns the output timecode and specified prefix into the output. - public let timecodeBurnin: TimecodeBurnin? - /// Enable the Color corrector (ColorCorrector) feature if necessary. Enable or disable this feature for each output individually. This setting is disabled by default. - public let colorCorrector: ColorCorrector? + public let hlsSettings: HlsSettings? - public init(deinterlacer: Deinterlacer? = nil, noiseReducer: NoiseReducer? = nil, imageInserter: ImageInserter? = nil, timecodeBurnin: TimecodeBurnin? = nil, colorCorrector: ColorCorrector? = nil) { - self.deinterlacer = deinterlacer - self.noiseReducer = noiseReducer - self.imageInserter = imageInserter - self.timecodeBurnin = timecodeBurnin - self.colorCorrector = colorCorrector + public init(hlsSettings: HlsSettings? = nil) { + self.hlsSettings = hlsSettings } private enum CodingKeys: String, CodingKey { - case deinterlacer = "deinterlacer" - case noiseReducer = "noiseReducer" - case imageInserter = "imageInserter" - case timecodeBurnin = "timecodeBurnin" - case colorCorrector = "colorCorrector" + case hlsSettings = "hlsSettings" } } - public enum DropFrameTimecode: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } - - public enum HlsKeyProviderType: String, CustomStringConvertible, Codable { - case speke = "SPEKE" - case staticKey = "STATIC_KEY" + public enum ProresCodecProfile: String, CustomStringConvertible, Codable { + case appleProres422 = "APPLE_PRORES_422" + case appleProres422Hq = "APPLE_PRORES_422_HQ" + case appleProres422Lt = "APPLE_PRORES_422_LT" + case appleProres422Proxy = "APPLE_PRORES_422_PROXY" public var description: String { return self.rawValue } } - public enum H265SceneChangeDetect: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum H265CodecProfile: String, CustomStringConvertible, Codable { + case mainMain = "MAIN_MAIN" + case mainHigh = "MAIN_HIGH" + case main10Main = "MAIN10_MAIN" + case main10High = "MAIN10_HIGH" + case main4228BitMain = "MAIN_422_8BIT_MAIN" + case main4228BitHigh = "MAIN_422_8BIT_HIGH" + case main42210BitMain = "MAIN_422_10BIT_MAIN" + case main42210BitHigh = "MAIN_422_10BIT_HIGH" public var description: String { return self.rawValue } } - public struct Preset: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CreatedAt", location: .body(locationName: "createdAt"), required: false, type: .timestamp), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "Category", location: .body(locationName: "category"), required: false, type: .string), - AWSShapeMember(label: "LastUpdated", location: .body(locationName: "lastUpdated"), required: false, type: .timestamp), - AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: false, type: .structure), - AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) - ] - /// The timestamp in epoch seconds for preset creation. - public let createdAt: TimeStamp? - /// An identifier for this resource that is unique within all of AWS. - public let arn: String? - /// A name you create for each preset. Each name must be unique within your account. - public let name: String? - /// An optional category you create to organize your presets. - public let category: String? - /// The timestamp in epoch seconds when the preset was last updated. - public let lastUpdated: TimeStamp? - public let settings: PresetSettings? - /// A preset can be of two types: system or custom. System or built-in preset can’t be modified or deleted by the user. - public let `type`: `Type`? - /// An optional description you create for each preset. - public let description: String? - - public init(createdAt: TimeStamp? = nil, arn: String? = nil, name: String? = nil, category: String? = nil, lastUpdated: TimeStamp? = nil, settings: PresetSettings? = nil, type: `Type`? = nil, description: String? = nil) { - self.createdAt = createdAt - self.arn = arn - self.name = name - self.category = category - self.lastUpdated = lastUpdated - self.settings = settings - self.`type` = `type` - self.description = description - } + public enum Mpeg2AdaptiveQuantization: String, CustomStringConvertible, Codable { + case off = "OFF" + case low = "LOW" + case medium = "MEDIUM" + case high = "HIGH" + public var description: String { return self.rawValue } + } - private enum CodingKeys: String, CodingKey { - case createdAt = "createdAt" - case arn = "arn" - case name = "name" - case category = "category" - case lastUpdated = "lastUpdated" - case settings = "settings" - case `type` = "type" - case description = "description" - } + public enum InputPsiControl: String, CustomStringConvertible, Codable { + case ignorePsi = "IGNORE_PSI" + case usePsi = "USE_PSI" + public var description: String { return self.rawValue } } - public struct UpdateJobTemplateRequest: AWSShape { + public struct ListJobTemplatesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Category", location: .body(locationName: "category"), required: false, type: .string), - AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: false, type: .structure), - AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string), - AWSShapeMember(label: "Queue", location: .body(locationName: "queue"), required: false, type: .string), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + AWSShapeMember(label: "Category", location: .querystring(locationName: "category"), required: false, type: .string), + AWSShapeMember(label: "ListBy", location: .querystring(locationName: "listBy"), required: false, type: .enum), + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Order", location: .querystring(locationName: "order"), required: false, type: .enum), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) ] - /// The new category for the job template, if you are changing it. + /// Optionally, specify a job template category to limit responses to only job templates from that category. public let category: String? - public let settings: JobTemplateSettings? - /// The name of the job template you are modifying - public let name: String - /// The new queue for the job template, if you are changing it. - public let queue: String? - /// The new description for the job template, if you are changing it. - public let description: String? + public let listBy: JobTemplateListBy? + /// Use this string, provided with the response to a previous request, to request the next batch of job templates. + public let nextToken: String? + public let order: Order? + /// Optional. Number of job templates, up to twenty, that will be returned at one time. + public let maxResults: Int32? - public init(category: String? = nil, settings: JobTemplateSettings? = nil, name: String, queue: String? = nil, description: String? = nil) { + public init(category: String? = nil, listBy: JobTemplateListBy? = nil, nextToken: String? = nil, order: Order? = nil, maxResults: Int32? = nil) { self.category = category - self.settings = settings - self.name = name - self.queue = queue - self.description = description + self.listBy = listBy + self.nextToken = nextToken + self.order = order + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { case category = "category" - case settings = "settings" - case name = "name" - case queue = "queue" - case description = "description" + case listBy = "listBy" + case nextToken = "nextToken" + case order = "order" + case maxResults = "maxResults" } } - public enum H264Syntax: String, CustomStringConvertible, Codable { - case `default` = "DEFAULT" - case rp2027 = "RP2027" + public enum HlsCodecSpecification: String, CustomStringConvertible, Codable { + case rfc6381 = "RFC_6381" + case rfc4281 = "RFC_4281" public var description: String { return self.rawValue } } - public enum HlsCaptionLanguageSetting: String, CustomStringConvertible, Codable { - case insert = "INSERT" - case omit = "OMIT" - case none = "NONE" - public var description: String { return self.rawValue } + public struct ListTagsForResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Arn", location: .uri(locationName: "arn"), required: true, type: .string) + ] + /// 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. + public let arn: String + + public init(arn: String) { + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case arn = "arn" + } } - public struct CaptionDescriptionPreset: AWSShape { + public struct ImageInserter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .enum), - AWSShapeMember(label: "LanguageDescription", location: .body(locationName: "languageDescription"), required: false, type: .string), - AWSShapeMember(label: "DestinationSettings", location: .body(locationName: "destinationSettings"), required: false, type: .structure) + AWSShapeMember(label: "InsertableImages", location: .body(locationName: "insertableImages"), required: true, type: .list) ] - /// Indicates the language of the caption output track. - public let languageCode: LanguageCode? - /// Human readable information to indicate captions available for players (eg. English, or Spanish). Alphanumeric characters, spaces, and underscore are legal. - public let languageDescription: String? - public let destinationSettings: CaptionDestinationSettings? + /// Image to insert. Must be 32 bit windows BMP, PNG, or TGA file. Must not be larger than the output frames. + public let insertableImages: [InsertableImage] - public init(languageCode: LanguageCode? = nil, languageDescription: String? = nil, destinationSettings: CaptionDestinationSettings? = nil) { - self.languageCode = languageCode - self.languageDescription = languageDescription - self.destinationSettings = destinationSettings + public init(insertableImages: [InsertableImage]) { + self.insertableImages = insertableImages } private enum CodingKeys: String, CodingKey { - case languageCode = "languageCode" - case languageDescription = "languageDescription" - case destinationSettings = "destinationSettings" + case insertableImages = "insertableImages" } } - public struct OutputChannelMapping: AWSShape { + public struct ListTagsForResourceResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InputChannels", location: .body(locationName: "inputChannels"), required: false, type: .list) + AWSShapeMember(label: "ResourceTags", location: .body(locationName: "resourceTags"), required: false, type: .structure) ] - /// List of input channels - public let inputChannels: [Int32]? + public let resourceTags: ResourceTags? - public init(inputChannels: [Int32]? = nil) { - self.inputChannels = inputChannels + public init(resourceTags: ResourceTags? = nil) { + self.resourceTags = resourceTags } private enum CodingKeys: String, CodingKey { - case inputChannels = "inputChannels" + case resourceTags = "resourceTags" } } - public struct ChannelMapping: AWSShape { + public enum M2tsEsRateInPes: String, CustomStringConvertible, Codable { + case include = "INCLUDE" + case exclude = "EXCLUDE" + public var description: String { return self.rawValue } + } + + public struct M2tsSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OutputChannels", location: .body(locationName: "outputChannels"), required: false, type: .list) + AWSShapeMember(label: "PcrControl", location: .body(locationName: "pcrControl"), required: false, type: .enum), + AWSShapeMember(label: "TimedMetadataPid", location: .body(locationName: "timedMetadataPid"), required: false, type: .integer), + AWSShapeMember(label: "NielsenId3", location: .body(locationName: "nielsenId3"), required: false, type: .enum), + AWSShapeMember(label: "PatInterval", location: .body(locationName: "patInterval"), required: false, type: .integer), + AWSShapeMember(label: "PmtPid", location: .body(locationName: "pmtPid"), required: false, type: .integer), + AWSShapeMember(label: "VideoPid", location: .body(locationName: "videoPid"), required: false, type: .integer), + AWSShapeMember(label: "PcrPid", location: .body(locationName: "pcrPid"), required: false, type: .integer), + AWSShapeMember(label: "Scte35Source", location: .body(locationName: "scte35Source"), required: false, type: .enum), + AWSShapeMember(label: "DvbTdtSettings", location: .body(locationName: "dvbTdtSettings"), required: false, type: .structure), + AWSShapeMember(label: "RateMode", location: .body(locationName: "rateMode"), required: false, type: .enum), + AWSShapeMember(label: "DvbSdtSettings", location: .body(locationName: "dvbSdtSettings"), required: false, type: .structure), + AWSShapeMember(label: "ProgramNumber", location: .body(locationName: "programNumber"), required: false, type: .integer), + AWSShapeMember(label: "AudioFramesPerPes", location: .body(locationName: "audioFramesPerPes"), required: false, type: .integer), + AWSShapeMember(label: "BufferModel", location: .body(locationName: "bufferModel"), required: false, type: .enum), + AWSShapeMember(label: "PrivateMetadataPid", location: .body(locationName: "privateMetadataPid"), required: false, type: .integer), + AWSShapeMember(label: "SegmentationTime", location: .body(locationName: "segmentationTime"), required: false, type: .double), + AWSShapeMember(label: "MaxPcrInterval", location: .body(locationName: "maxPcrInterval"), required: false, type: .integer), + AWSShapeMember(label: "AudioBufferModel", location: .body(locationName: "audioBufferModel"), required: false, type: .enum), + AWSShapeMember(label: "SegmentationStyle", location: .body(locationName: "segmentationStyle"), required: false, type: .enum), + AWSShapeMember(label: "MinEbpInterval", location: .body(locationName: "minEbpInterval"), required: false, type: .integer), + AWSShapeMember(label: "EbpAudioInterval", location: .body(locationName: "ebpAudioInterval"), required: false, type: .enum), + AWSShapeMember(label: "DvbNitSettings", location: .body(locationName: "dvbNitSettings"), required: false, type: .structure), + AWSShapeMember(label: "FragmentTime", location: .body(locationName: "fragmentTime"), required: false, type: .double), + AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), + AWSShapeMember(label: "PmtInterval", location: .body(locationName: "pmtInterval"), required: false, type: .integer), + AWSShapeMember(label: "Scte35Pid", location: .body(locationName: "scte35Pid"), required: false, type: .integer), + AWSShapeMember(label: "EbpPlacement", location: .body(locationName: "ebpPlacement"), required: false, type: .enum), + AWSShapeMember(label: "DvbTeletextPid", location: .body(locationName: "dvbTeletextPid"), required: false, type: .integer), + AWSShapeMember(label: "SegmentationMarkers", location: .body(locationName: "segmentationMarkers"), required: false, type: .enum), + AWSShapeMember(label: "AudioPids", location: .body(locationName: "audioPids"), required: false, type: .list), + AWSShapeMember(label: "DvbSubPids", location: .body(locationName: "dvbSubPids"), required: false, type: .list), + AWSShapeMember(label: "TransportStreamId", location: .body(locationName: "transportStreamId"), required: false, type: .integer), + AWSShapeMember(label: "NullPacketBitrate", location: .body(locationName: "nullPacketBitrate"), required: false, type: .double), + AWSShapeMember(label: "EsRateInPes", location: .body(locationName: "esRateInPes"), required: false, type: .enum) ] - /// List of output channels - public let outputChannels: [OutputChannelMapping]? + public let pcrControl: M2tsPcrControl? + /// Packet Identifier (PID) of the timed metadata stream in the transport stream. + public let timedMetadataPid: Int32? + public let nielsenId3: M2tsNielsenId3? + /// The number of milliseconds between instances of this table in the output transport stream. + public let patInterval: Int32? + /// Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. + public let pmtPid: Int32? + /// Packet Identifier (PID) of the elementary video stream in the transport stream. + public let videoPid: Int32? + /// 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. + public let pcrPid: Int32? + public let scte35Source: M2tsScte35Source? + public let dvbTdtSettings: DvbTdtSettings? + public let rateMode: M2tsRateMode? + public let dvbSdtSettings: DvbSdtSettings? + /// The value of the program number field in the Program Map Table. + public let programNumber: Int32? + /// The number of audio frames to insert for each PES packet. + public let audioFramesPerPes: Int32? + public let bufferModel: M2tsBufferModel? + /// Packet Identifier (PID) of the private metadata stream in the transport stream. + public let privateMetadataPid: Int32? + /// The length in seconds of each segment. Required unless markers is set to _none_. + public let segmentationTime: Double? + /// Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream. + public let maxPcrInterval: Int32? + public let audioBufferModel: M2tsAudioBufferModel? + public let segmentationStyle: M2tsSegmentationStyle? + /// 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. + public let minEbpInterval: Int32? + public let ebpAudioInterval: M2tsEbpAudioInterval? + public let dvbNitSettings: DvbNitSettings? + /// The length in seconds of each fragment. Only used with EBP markers. + public let fragmentTime: Double? + /// 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. + public let bitrate: Int32? + /// The number of milliseconds between instances of this table in the output transport stream. + public let pmtInterval: Int32? + /// Packet Identifier (PID) of the SCTE-35 stream in the transport stream. + public let scte35Pid: Int32? + public let ebpPlacement: M2tsEbpPlacement? + /// Packet Identifier (PID) for input source DVB Teletext data to this output. + public let dvbTeletextPid: Int32? + public let segmentationMarkers: M2tsSegmentationMarkers? + /// 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. + public let audioPids: [Int32]? + /// 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. + public let dvbSubPids: [Int32]? + /// The value of the transport stream ID field in the Program Map Table. + public let transportStreamId: Int32? + /// 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. + public let nullPacketBitrate: Double? + public let esRateInPes: M2tsEsRateInPes? - public init(outputChannels: [OutputChannelMapping]? = nil) { - self.outputChannels = outputChannels + public init(pcrControl: M2tsPcrControl? = nil, timedMetadataPid: Int32? = nil, nielsenId3: M2tsNielsenId3? = nil, patInterval: Int32? = nil, pmtPid: Int32? = nil, videoPid: Int32? = nil, pcrPid: Int32? = nil, scte35Source: M2tsScte35Source? = nil, dvbTdtSettings: DvbTdtSettings? = nil, rateMode: M2tsRateMode? = nil, dvbSdtSettings: DvbSdtSettings? = nil, programNumber: Int32? = nil, audioFramesPerPes: Int32? = nil, bufferModel: M2tsBufferModel? = nil, privateMetadataPid: Int32? = nil, segmentationTime: Double? = nil, maxPcrInterval: Int32? = nil, audioBufferModel: M2tsAudioBufferModel? = nil, segmentationStyle: M2tsSegmentationStyle? = nil, minEbpInterval: Int32? = nil, ebpAudioInterval: M2tsEbpAudioInterval? = nil, dvbNitSettings: DvbNitSettings? = nil, fragmentTime: Double? = nil, bitrate: Int32? = nil, pmtInterval: Int32? = nil, scte35Pid: Int32? = nil, ebpPlacement: M2tsEbpPlacement? = nil, dvbTeletextPid: Int32? = nil, segmentationMarkers: M2tsSegmentationMarkers? = nil, audioPids: [Int32]? = nil, dvbSubPids: [Int32]? = nil, transportStreamId: Int32? = nil, nullPacketBitrate: Double? = nil, esRateInPes: M2tsEsRateInPes? = nil) { + self.pcrControl = pcrControl + self.timedMetadataPid = timedMetadataPid + self.nielsenId3 = nielsenId3 + self.patInterval = patInterval + self.pmtPid = pmtPid + self.videoPid = videoPid + self.pcrPid = pcrPid + self.scte35Source = scte35Source + self.dvbTdtSettings = dvbTdtSettings + self.rateMode = rateMode + self.dvbSdtSettings = dvbSdtSettings + self.programNumber = programNumber + self.audioFramesPerPes = audioFramesPerPes + self.bufferModel = bufferModel + self.privateMetadataPid = privateMetadataPid + self.segmentationTime = segmentationTime + self.maxPcrInterval = maxPcrInterval + self.audioBufferModel = audioBufferModel + self.segmentationStyle = segmentationStyle + self.minEbpInterval = minEbpInterval + self.ebpAudioInterval = ebpAudioInterval + self.dvbNitSettings = dvbNitSettings + self.fragmentTime = fragmentTime + self.bitrate = bitrate + self.pmtInterval = pmtInterval + self.scte35Pid = scte35Pid + self.ebpPlacement = ebpPlacement + self.dvbTeletextPid = dvbTeletextPid + self.segmentationMarkers = segmentationMarkers + self.audioPids = audioPids + self.dvbSubPids = dvbSubPids + self.transportStreamId = transportStreamId + self.nullPacketBitrate = nullPacketBitrate + self.esRateInPes = esRateInPes } private enum CodingKeys: String, CodingKey { - case outputChannels = "outputChannels" + case pcrControl = "pcrControl" + case timedMetadataPid = "timedMetadataPid" + case nielsenId3 = "nielsenId3" + case patInterval = "patInterval" + case pmtPid = "pmtPid" + case videoPid = "videoPid" + case pcrPid = "pcrPid" + case scte35Source = "scte35Source" + case dvbTdtSettings = "dvbTdtSettings" + case rateMode = "rateMode" + case dvbSdtSettings = "dvbSdtSettings" + case programNumber = "programNumber" + case audioFramesPerPes = "audioFramesPerPes" + case bufferModel = "bufferModel" + case privateMetadataPid = "privateMetadataPid" + case segmentationTime = "segmentationTime" + case maxPcrInterval = "maxPcrInterval" + case audioBufferModel = "audioBufferModel" + case segmentationStyle = "segmentationStyle" + case minEbpInterval = "minEbpInterval" + case ebpAudioInterval = "ebpAudioInterval" + case dvbNitSettings = "dvbNitSettings" + case fragmentTime = "fragmentTime" + case bitrate = "bitrate" + case pmtInterval = "pmtInterval" + case scte35Pid = "scte35Pid" + case ebpPlacement = "ebpPlacement" + case dvbTeletextPid = "dvbTeletextPid" + case segmentationMarkers = "segmentationMarkers" + case audioPids = "audioPids" + case dvbSubPids = "dvbSubPids" + case transportStreamId = "transportStreamId" + case nullPacketBitrate = "nullPacketBitrate" + case esRateInPes = "esRateInPes" } } - public struct AvailBlanking: AWSShape { + public struct ListPresetsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AvailBlankingImage", location: .body(locationName: "availBlankingImage"), required: false, type: .string) + AWSShapeMember(label: "Category", location: .querystring(locationName: "category"), required: false, type: .string), + AWSShapeMember(label: "ListBy", location: .querystring(locationName: "listBy"), required: false, type: .enum), + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Order", location: .querystring(locationName: "order"), required: false, type: .enum), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) ] - /// Blanking image to be used. Leave empty for solid black. Only bmp and png images are supported. - public let availBlankingImage: String? + /// Optionally, specify a preset category to limit responses to only presets from that category. + public let category: String? + public let listBy: PresetListBy? + /// Use this string, provided with the response to a previous request, to request the next batch of presets. + public let nextToken: String? + public let order: Order? + /// Optional. Number of presets, up to twenty, that will be returned at one time + public let maxResults: Int32? - public init(availBlankingImage: String? = nil) { - self.availBlankingImage = availBlankingImage + public init(category: String? = nil, listBy: PresetListBy? = nil, nextToken: String? = nil, order: Order? = nil, maxResults: Int32? = nil) { + self.category = category + self.listBy = listBy + self.nextToken = nextToken + self.order = order + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case availBlankingImage = "availBlankingImage" + case category = "category" + case listBy = "listBy" + case nextToken = "nextToken" + case order = "order" + case maxResults = "maxResults" } } - public struct TimecodeConfig: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Source", location: .body(locationName: "source"), required: false, type: .enum), - AWSShapeMember(label: "Start", location: .body(locationName: "start"), required: false, type: .string), - AWSShapeMember(label: "Anchor", location: .body(locationName: "anchor"), required: false, type: .string), - AWSShapeMember(label: "TimestampOffset", location: .body(locationName: "timestampOffset"), required: false, type: .string) - ] - public let source: TimecodeSource? - /// Only use when you set Timecode 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). - public let start: String? - /// 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 Timecode source (TimecodeSource). * If Timecode 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 Timecode source (TimecodeSource) is set to Start at 0 (zerobased) the first frame is 00:00:00:00. * If Timecode source (TimecodeSource) is set to Embedded (embedded), the first frame is the timecode value on the first input frame of the input. - public let anchor: String? - /// Only applies to outputs that support program-date-time stamp. Use Time stamp 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. - public let timestampOffset: String? + public enum FileSourceConvert608To708: String, CustomStringConvertible, Codable { + case upconvert = "UPCONVERT" + case disabled = "DISABLED" + public var description: String { return self.rawValue } + } - public init(source: TimecodeSource? = nil, start: String? = nil, anchor: String? = nil, timestampOffset: String? = nil) { - self.source = source - self.start = start - self.anchor = anchor - self.timestampOffset = timestampOffset - } + public enum Eac3PassthroughControl: String, CustomStringConvertible, Codable { + case whenPossible = "WHEN_POSSIBLE" + case noPassthrough = "NO_PASSTHROUGH" + public var description: String { return self.rawValue } + } - private enum CodingKeys: String, CodingKey { - case source = "source" - case start = "start" - case anchor = "anchor" - case timestampOffset = "timestampOffset" - } + public enum HlsAudioTrackType: String, CustomStringConvertible, Codable { + case alternateAudioAutoSelectDefault = "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT" + case alternateAudioAutoSelect = "ALTERNATE_AUDIO_AUTO_SELECT" + case alternateAudioNotAutoSelect = "ALTERNATE_AUDIO_NOT_AUTO_SELECT" + case audioOnlyVariantStream = "AUDIO_ONLY_VARIANT_STREAM" + public var description: String { return self.rawValue } } - public enum BurninSubtitleFontColor: String, CustomStringConvertible, Codable { - case white = "WHITE" - case black = "BLACK" - case yellow = "YELLOW" - case red = "RED" - case green = "GREEN" - case blue = "BLUE" + public enum H265QualityTuningLevel: String, CustomStringConvertible, Codable { + case singlePass = "SINGLE_PASS" + case singlePassHq = "SINGLE_PASS_HQ" + case multiPassHq = "MULTI_PASS_HQ" public var description: String { return self.rawValue } } - public struct ColorCorrector: AWSShape { + public struct VideoCodecSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Brightness", location: .body(locationName: "brightness"), required: false, type: .integer), - AWSShapeMember(label: "Hue", location: .body(locationName: "hue"), required: false, type: .integer), - AWSShapeMember(label: "Saturation", location: .body(locationName: "saturation"), required: false, type: .integer), - AWSShapeMember(label: "Hdr10Metadata", location: .body(locationName: "hdr10Metadata"), required: false, type: .structure), - AWSShapeMember(label: "ColorSpaceConversion", location: .body(locationName: "colorSpaceConversion"), required: false, type: .enum), - AWSShapeMember(label: "Contrast", location: .body(locationName: "contrast"), required: false, type: .integer) + AWSShapeMember(label: "H264Settings", location: .body(locationName: "h264Settings"), required: false, type: .structure), + AWSShapeMember(label: "ProresSettings", location: .body(locationName: "proresSettings"), required: false, type: .structure), + AWSShapeMember(label: "H265Settings", location: .body(locationName: "h265Settings"), required: false, type: .structure), + AWSShapeMember(label: "Codec", location: .body(locationName: "codec"), required: true, type: .enum), + AWSShapeMember(label: "FrameCaptureSettings", location: .body(locationName: "frameCaptureSettings"), required: false, type: .structure), + AWSShapeMember(label: "Mpeg2Settings", location: .body(locationName: "mpeg2Settings"), required: false, type: .structure) ] - /// Brightness level. - public let brightness: Int32? - /// Hue in degrees. - public let hue: Int32? - /// Saturation level. - public let saturation: Int32? - public let hdr10Metadata: Hdr10Metadata? - public let colorSpaceConversion: ColorSpaceConversion? - /// Contrast level. - public let contrast: Int32? + public let h264Settings: H264Settings? + public let proresSettings: ProresSettings? + public let h265Settings: H265Settings? + public let codec: VideoCodec + public let frameCaptureSettings: FrameCaptureSettings? + public let mpeg2Settings: Mpeg2Settings? - public init(brightness: Int32? = nil, hue: Int32? = nil, saturation: Int32? = nil, hdr10Metadata: Hdr10Metadata? = nil, colorSpaceConversion: ColorSpaceConversion? = nil, contrast: Int32? = nil) { - self.brightness = brightness - self.hue = hue - self.saturation = saturation - self.hdr10Metadata = hdr10Metadata - self.colorSpaceConversion = colorSpaceConversion - self.contrast = contrast + public init(h264Settings: H264Settings? = nil, proresSettings: ProresSettings? = nil, h265Settings: H265Settings? = nil, codec: VideoCodec, frameCaptureSettings: FrameCaptureSettings? = nil, mpeg2Settings: Mpeg2Settings? = nil) { + self.h264Settings = h264Settings + self.proresSettings = proresSettings + self.h265Settings = h265Settings + self.codec = codec + self.frameCaptureSettings = frameCaptureSettings + self.mpeg2Settings = mpeg2Settings } private enum CodingKeys: String, CodingKey { - case brightness = "brightness" - case hue = "hue" - case saturation = "saturation" - case hdr10Metadata = "hdr10Metadata" - case colorSpaceConversion = "colorSpaceConversion" - case contrast = "contrast" + case h264Settings = "h264Settings" + case proresSettings = "proresSettings" + case h265Settings = "h265Settings" + case codec = "codec" + case frameCaptureSettings = "frameCaptureSettings" + case mpeg2Settings = "mpeg2Settings" } } - public struct DashIsoEncryptionSettings: AWSShape { + public struct BurninDestinationSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SpekeKeyProvider", location: .body(locationName: "spekeKeyProvider"), required: false, type: .structure) + AWSShapeMember(label: "BackgroundColor", location: .body(locationName: "backgroundColor"), required: false, type: .enum), + AWSShapeMember(label: "BackgroundOpacity", location: .body(locationName: "backgroundOpacity"), required: false, type: .integer), + AWSShapeMember(label: "YPosition", location: .body(locationName: "yPosition"), required: false, type: .integer), + AWSShapeMember(label: "FontOpacity", location: .body(locationName: "fontOpacity"), required: true, type: .integer), + AWSShapeMember(label: "ShadowXOffset", location: .body(locationName: "shadowXOffset"), required: false, type: .integer), + AWSShapeMember(label: "FontSize", location: .body(locationName: "fontSize"), required: false, type: .integer), + AWSShapeMember(label: "Alignment", location: .body(locationName: "alignment"), required: true, type: .enum), + AWSShapeMember(label: "XPosition", location: .body(locationName: "xPosition"), required: false, type: .integer), + AWSShapeMember(label: "ShadowOpacity", location: .body(locationName: "shadowOpacity"), required: false, type: .integer), + AWSShapeMember(label: "FontColor", location: .body(locationName: "fontColor"), required: false, type: .enum), + AWSShapeMember(label: "OutlineColor", location: .body(locationName: "outlineColor"), required: true, type: .enum), + AWSShapeMember(label: "ShadowColor", location: .body(locationName: "shadowColor"), required: false, type: .enum), + AWSShapeMember(label: "TeletextSpacing", location: .body(locationName: "teletextSpacing"), required: false, type: .enum), + AWSShapeMember(label: "FontResolution", location: .body(locationName: "fontResolution"), required: false, type: .integer), + AWSShapeMember(label: "ShadowYOffset", location: .body(locationName: "shadowYOffset"), required: false, type: .integer), + AWSShapeMember(label: "OutlineSize", location: .body(locationName: "outlineSize"), required: true, type: .integer) ] - public let spekeKeyProvider: SpekeKeyProvider? + public let backgroundColor: BurninSubtitleBackgroundColor? + /// 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. + public let backgroundOpacity: Int32? + /// 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. + public let yPosition: Int32? + /// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. + /// All burn-in and DVB-Sub font settings must match. + public let fontOpacity: Int32 + /// 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. + public let shadowXOffset: Int32? + /// 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. + public let fontSize: Int32? + public let alignment: BurninSubtitleAlignment + /// 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. + public let xPosition: Int32? + /// 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. + public let shadowOpacity: Int32? + public let fontColor: BurninSubtitleFontColor? + public let outlineColor: BurninSubtitleOutlineColor + public let shadowColor: BurninSubtitleShadowColor? + public let teletextSpacing: BurninSubtitleTeletextSpacing? + /// Font resolution in DPI (dots per inch); default is 96 dpi. + /// All burn-in and DVB-Sub font settings must match. + public let fontResolution: Int32? + /// 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. + public let shadowYOffset: Int32? + /// 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. + public let outlineSize: Int32 - public init(spekeKeyProvider: SpekeKeyProvider? = nil) { - self.spekeKeyProvider = spekeKeyProvider + public init(backgroundColor: BurninSubtitleBackgroundColor? = nil, backgroundOpacity: Int32? = nil, yPosition: Int32? = nil, fontOpacity: Int32, shadowXOffset: Int32? = nil, fontSize: Int32? = nil, alignment: BurninSubtitleAlignment, xPosition: Int32? = nil, shadowOpacity: Int32? = nil, fontColor: BurninSubtitleFontColor? = nil, outlineColor: BurninSubtitleOutlineColor, shadowColor: BurninSubtitleShadowColor? = nil, teletextSpacing: BurninSubtitleTeletextSpacing? = nil, fontResolution: Int32? = nil, shadowYOffset: Int32? = nil, outlineSize: Int32) { + self.backgroundColor = backgroundColor + self.backgroundOpacity = backgroundOpacity + self.yPosition = yPosition + self.fontOpacity = fontOpacity + self.shadowXOffset = shadowXOffset + self.fontSize = fontSize + self.alignment = alignment + self.xPosition = xPosition + self.shadowOpacity = shadowOpacity + self.fontColor = fontColor + self.outlineColor = outlineColor + self.shadowColor = shadowColor + self.teletextSpacing = teletextSpacing + self.fontResolution = fontResolution + self.shadowYOffset = shadowYOffset + self.outlineSize = outlineSize } private enum CodingKeys: String, CodingKey { - case spekeKeyProvider = "spekeKeyProvider" - } - } - - public struct DeletePresetResponse: AWSShape { - - } - - public enum AudioDefaultSelection: String, CustomStringConvertible, Codable { - case `default` = "DEFAULT" - case notDefault = "NOT_DEFAULT" - public var description: String { return self.rawValue } - } - - public enum ProresSlowPal: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } - - public enum Eac3BitstreamMode: String, CustomStringConvertible, Codable { - case completeMain = "COMPLETE_MAIN" - case commentary = "COMMENTARY" - case emergency = "EMERGENCY" - case hearingImpaired = "HEARING_IMPAIRED" - case visuallyImpaired = "VISUALLY_IMPAIRED" - public var description: String { return self.rawValue } - } - - public enum AudioNormalizationPeakCalculation: String, CustomStringConvertible, Codable { - case truePeak = "TRUE_PEAK" - case none = "NONE" - public var description: String { return self.rawValue } - } - - public struct CreatePresetRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Category", location: .body(locationName: "category"), required: false, type: .string), - AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: false, type: .structure), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) - ] - /// Optional. A category for the preset you are creating. - public let category: String? - public let settings: PresetSettings? - /// The name of the preset you are creating. - public let name: String? - /// Optional. A description of the preset you are creating. - public let description: String? - - public init(category: String? = nil, settings: PresetSettings? = nil, name: String? = nil, description: String? = nil) { - self.category = category - self.settings = settings - self.name = name - self.description = description + case backgroundColor = "backgroundColor" + case backgroundOpacity = "backgroundOpacity" + case yPosition = "yPosition" + case fontOpacity = "fontOpacity" + case shadowXOffset = "shadowXOffset" + case fontSize = "fontSize" + case alignment = "alignment" + case xPosition = "xPosition" + case shadowOpacity = "shadowOpacity" + case fontColor = "fontColor" + case outlineColor = "outlineColor" + case shadowColor = "shadowColor" + case teletextSpacing = "teletextSpacing" + case fontResolution = "fontResolution" + case shadowYOffset = "shadowYOffset" + case outlineSize = "outlineSize" } + } - private enum CodingKeys: String, CodingKey { - case category = "category" - case settings = "settings" - case name = "name" - case description = "description" - } + public enum H264CodecProfile: String, CustomStringConvertible, Codable { + case baseline = "BASELINE" + case high = "HIGH" + case high10Bit = "HIGH_10BIT" + case high422 = "HIGH_422" + case high42210Bit = "HIGH_422_10BIT" + case main = "MAIN" + public var description: String { return self.rawValue } } - public enum CaptionDestinationType: String, CustomStringConvertible, Codable { - case burnIn = "BURN_IN" - case dvbSub = "DVB_SUB" - case embedded = "EMBEDDED" - case scc = "SCC" - case srt = "SRT" - case teletext = "TELETEXT" - case ttml = "TTML" - case webvtt = "WEBVTT" + public enum MovReference: String, CustomStringConvertible, Codable { + case selfContained = "SELF_CONTAINED" + case external = "EXTERNAL" public var description: String { return self.rawValue } } - public enum H265GopBReference: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum DvbSubtitleBackgroundColor: String, CustomStringConvertible, Codable { + case none = "NONE" + case black = "BLACK" + case white = "WHITE" public var description: String { return self.rawValue } } - public struct UpdatePresetResponse: AWSShape { + public struct NoiseReducerSpatialFilterSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Preset", location: .body(locationName: "preset"), required: false, type: .structure) + AWSShapeMember(label: "PostFilterSharpenStrength", location: .body(locationName: "postFilterSharpenStrength"), required: false, type: .integer), + AWSShapeMember(label: "Speed", location: .body(locationName: "speed"), required: false, type: .integer), + AWSShapeMember(label: "Strength", location: .body(locationName: "strength"), required: false, type: .integer) ] - public let preset: Preset? + /// Specify strength of post noise reduction sharpening filter, with 0 disabling the filter and 3 enabling it at maximum strength. + public let postFilterSharpenStrength: Int32? + /// The speed of the filter, from -2 (lower speed) to 3 (higher speed), with 0 being the nominal value. + public let speed: Int32? + /// Relative strength of noise reducing filter. Higher values produce stronger filtering. + public let strength: Int32? - public init(preset: Preset? = nil) { - self.preset = preset + public init(postFilterSharpenStrength: Int32? = nil, speed: Int32? = nil, strength: Int32? = nil) { + self.postFilterSharpenStrength = postFilterSharpenStrength + self.speed = speed + self.strength = strength } private enum CodingKeys: String, CodingKey { - case preset = "preset" + case postFilterSharpenStrength = "postFilterSharpenStrength" + case speed = "speed" + case strength = "strength" } } - public struct InputClipping: AWSShape { + public struct CaptionSelector: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StartTimecode", location: .body(locationName: "startTimecode"), required: false, type: .string), - AWSShapeMember(label: "EndTimecode", location: .body(locationName: "endTimecode"), required: false, type: .string) + AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .enum), + AWSShapeMember(label: "SourceSettings", location: .body(locationName: "sourceSettings"), required: true, type: .structure), + AWSShapeMember(label: "CustomLanguageCode", location: .body(locationName: "customLanguageCode"), required: false, type: .string) ] - /// 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. 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:00:05:00. - public let startTimecode: String? - /// 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. 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:00:05:00. - public let endTimecode: String? + /// 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. + public let languageCode: LanguageCode? + public let sourceSettings: CaptionSourceSettings + /// 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. + public let customLanguageCode: String? - public init(startTimecode: String? = nil, endTimecode: String? = nil) { - self.startTimecode = startTimecode - self.endTimecode = endTimecode + public init(languageCode: LanguageCode? = nil, sourceSettings: CaptionSourceSettings, customLanguageCode: String? = nil) { + self.languageCode = languageCode + self.sourceSettings = sourceSettings + self.customLanguageCode = customLanguageCode } private enum CodingKeys: String, CodingKey { - case startTimecode = "startTimecode" - case endTimecode = "endTimecode" + case languageCode = "languageCode" + case sourceSettings = "sourceSettings" + case customLanguageCode = "customLanguageCode" } } - public enum M2tsBufferModel: String, CustomStringConvertible, Codable { - case multiplex = "MULTIPLEX" - case none = "NONE" + public enum M3u8PcrControl: String, CustomStringConvertible, Codable { + case pcrEveryPesPacket = "PCR_EVERY_PES_PACKET" + case configuredPcrPeriod = "CONFIGURED_PCR_PERIOD" public var description: String { return self.rawValue } } - public enum AfdSignaling: String, CustomStringConvertible, Codable { - case none = "NONE" - case auto = "AUTO" - case fixed = "FIXED" + public enum H265UnregisteredSeiTimecode: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public struct M3u8Settings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TimedMetadataPid", location: .body(locationName: "timedMetadataPid"), required: false, type: .integer), - AWSShapeMember(label: "PcrControl", location: .body(locationName: "pcrControl"), required: false, type: .enum), - AWSShapeMember(label: "PatInterval", location: .body(locationName: "patInterval"), required: false, type: .integer), - AWSShapeMember(label: "TimedMetadata", location: .body(locationName: "timedMetadata"), required: false, type: .enum), - AWSShapeMember(label: "PmtPid", location: .body(locationName: "pmtPid"), required: false, type: .integer), - AWSShapeMember(label: "VideoPid", location: .body(locationName: "videoPid"), required: false, type: .integer), - AWSShapeMember(label: "PcrPid", location: .body(locationName: "pcrPid"), required: false, type: .integer), - AWSShapeMember(label: "PmtInterval", location: .body(locationName: "pmtInterval"), required: false, type: .integer), - AWSShapeMember(label: "Scte35Pid", location: .body(locationName: "scte35Pid"), required: false, type: .integer), - AWSShapeMember(label: "Scte35Source", location: .body(locationName: "scte35Source"), required: false, type: .enum), - AWSShapeMember(label: "ProgramNumber", location: .body(locationName: "programNumber"), required: false, type: .integer), - AWSShapeMember(label: "AudioPids", location: .body(locationName: "audioPids"), required: false, type: .list), - AWSShapeMember(label: "AudioFramesPerPes", location: .body(locationName: "audioFramesPerPes"), required: false, type: .integer), - AWSShapeMember(label: "TransportStreamId", location: .body(locationName: "transportStreamId"), required: false, type: .integer), - AWSShapeMember(label: "PrivateMetadataPid", location: .body(locationName: "privateMetadataPid"), required: false, type: .integer) - ] - /// Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. - public let timedMetadataPid: Int32? - public let pcrControl: M3u8PcrControl? - /// The number of milliseconds between instances of this table in the output transport stream. - public let patInterval: Int32? - public let timedMetadata: TimedMetadata? - /// Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. - public let pmtPid: Int32? - /// Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. - public let videoPid: Int32? - /// 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. - public let pcrPid: Int32? - /// The number of milliseconds between instances of this table in the output transport stream. - public let pmtInterval: Int32? - /// Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. - public let scte35Pid: Int32? - public let scte35Source: M3u8Scte35Source? - /// The value of the program number field in the Program Map Table. - public let programNumber: Int32? - /// 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. - public let audioPids: [Int32]? - /// The number of audio frames to insert for each PES packet. - public let audioFramesPerPes: Int32? - /// The value of the transport stream ID field in the Program Map Table. - public let transportStreamId: Int32? - /// Packet Identifier (PID) of the private metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. - public let privateMetadataPid: Int32? - - public init(timedMetadataPid: Int32? = nil, pcrControl: M3u8PcrControl? = nil, patInterval: Int32? = nil, timedMetadata: TimedMetadata? = nil, pmtPid: Int32? = nil, videoPid: Int32? = nil, pcrPid: Int32? = nil, pmtInterval: Int32? = nil, scte35Pid: Int32? = nil, scte35Source: M3u8Scte35Source? = nil, programNumber: Int32? = nil, audioPids: [Int32]? = nil, audioFramesPerPes: Int32? = nil, transportStreamId: Int32? = nil, privateMetadataPid: Int32? = nil) { - self.timedMetadataPid = timedMetadataPid - self.pcrControl = pcrControl - self.patInterval = patInterval - self.timedMetadata = timedMetadata - self.pmtPid = pmtPid - self.videoPid = videoPid - self.pcrPid = pcrPid - self.pmtInterval = pmtInterval - self.scte35Pid = scte35Pid - self.scte35Source = scte35Source - self.programNumber = programNumber - self.audioPids = audioPids - self.audioFramesPerPes = audioFramesPerPes - self.transportStreamId = transportStreamId - self.privateMetadataPid = privateMetadataPid - } - - private enum CodingKeys: String, CodingKey { - case timedMetadataPid = "timedMetadataPid" - case pcrControl = "pcrControl" - case patInterval = "patInterval" - case timedMetadata = "timedMetadata" - case pmtPid = "pmtPid" - case videoPid = "videoPid" - case pcrPid = "pcrPid" - case pmtInterval = "pmtInterval" - case scte35Pid = "scte35Pid" - case scte35Source = "scte35Source" - case programNumber = "programNumber" - case audioPids = "audioPids" - case audioFramesPerPes = "audioFramesPerPes" - case transportStreamId = "transportStreamId" - case privateMetadataPid = "privateMetadataPid" - } - } - - public struct OutputDetail: AWSShape { + public struct Mpeg2Settings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "VideoDetails", location: .body(locationName: "videoDetails"), required: false, type: .structure), - AWSShapeMember(label: "DurationInMs", location: .body(locationName: "durationInMs"), required: false, type: .integer) + AWSShapeMember(label: "NumberBFramesBetweenReferenceFrames", location: .body(locationName: "numberBFramesBetweenReferenceFrames"), required: false, type: .integer), + AWSShapeMember(label: "ParControl", location: .body(locationName: "parControl"), required: false, type: .enum), + AWSShapeMember(label: "FramerateNumerator", location: .body(locationName: "framerateNumerator"), required: false, type: .integer), + AWSShapeMember(label: "HrdBufferSize", location: .body(locationName: "hrdBufferSize"), required: false, type: .integer), + AWSShapeMember(label: "SpatialAdaptiveQuantization", location: .body(locationName: "spatialAdaptiveQuantization"), required: false, type: .enum), + AWSShapeMember(label: "ParNumerator", location: .body(locationName: "parNumerator"), required: false, type: .integer), + AWSShapeMember(label: "CodecProfile", location: .body(locationName: "codecProfile"), required: false, type: .enum), + AWSShapeMember(label: "QualityTuningLevel", location: .body(locationName: "qualityTuningLevel"), required: false, type: .enum), + AWSShapeMember(label: "CodecLevel", location: .body(locationName: "codecLevel"), required: false, type: .enum), + AWSShapeMember(label: "AdaptiveQuantization", location: .body(locationName: "adaptiveQuantization"), required: false, type: .enum), + AWSShapeMember(label: "MaxBitrate", location: .body(locationName: "maxBitrate"), required: false, type: .integer), + AWSShapeMember(label: "GopSizeUnits", location: .body(locationName: "gopSizeUnits"), required: false, type: .enum), + AWSShapeMember(label: "SceneChangeDetect", location: .body(locationName: "sceneChangeDetect"), required: false, type: .enum), + AWSShapeMember(label: "SlowPal", location: .body(locationName: "slowPal"), required: false, type: .enum), + AWSShapeMember(label: "TemporalAdaptiveQuantization", location: .body(locationName: "temporalAdaptiveQuantization"), required: false, type: .enum), + AWSShapeMember(label: "IntraDcPrecision", location: .body(locationName: "intraDcPrecision"), required: false, type: .enum), + AWSShapeMember(label: "RateControlMode", location: .body(locationName: "rateControlMode"), required: false, type: .enum), + AWSShapeMember(label: "FramerateDenominator", location: .body(locationName: "framerateDenominator"), required: false, type: .integer), + AWSShapeMember(label: "FramerateConversionAlgorithm", location: .body(locationName: "framerateConversionAlgorithm"), required: false, type: .enum), + AWSShapeMember(label: "ParDenominator", location: .body(locationName: "parDenominator"), required: false, type: .integer), + AWSShapeMember(label: "GopClosedCadence", location: .body(locationName: "gopClosedCadence"), required: false, type: .integer), + AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), + AWSShapeMember(label: "MinIInterval", location: .body(locationName: "minIInterval"), required: false, type: .integer), + AWSShapeMember(label: "InterlaceMode", location: .body(locationName: "interlaceMode"), required: false, type: .enum), + AWSShapeMember(label: "Syntax", location: .body(locationName: "syntax"), required: false, type: .enum), + AWSShapeMember(label: "HrdBufferInitialFillPercentage", location: .body(locationName: "hrdBufferInitialFillPercentage"), required: false, type: .integer), + AWSShapeMember(label: "Softness", location: .body(locationName: "softness"), required: false, type: .integer), + AWSShapeMember(label: "GopSize", location: .body(locationName: "gopSize"), required: false, type: .double), + AWSShapeMember(label: "FramerateControl", location: .body(locationName: "framerateControl"), required: false, type: .enum), + AWSShapeMember(label: "Telecine", location: .body(locationName: "telecine"), required: false, type: .enum) ] - public let videoDetails: VideoDetail? - /// Duration in milliseconds - public let durationInMs: Int32? + /// Number of B-frames between reference frames. + public let numberBFramesBetweenReferenceFrames: Int32? + public let parControl: Mpeg2ParControl? + /// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. + public let framerateNumerator: Int32? + /// Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000. + public let hrdBufferSize: Int32? + public let spatialAdaptiveQuantization: Mpeg2SpatialAdaptiveQuantization? + /// Pixel Aspect Ratio numerator. + public let parNumerator: Int32? + public let codecProfile: Mpeg2CodecProfile? + public let qualityTuningLevel: Mpeg2QualityTuningLevel? + public let codecLevel: Mpeg2CodecLevel? + public let adaptiveQuantization: Mpeg2AdaptiveQuantization? + /// Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. + public let maxBitrate: Int32? + public let gopSizeUnits: Mpeg2GopSizeUnits? + public let sceneChangeDetect: Mpeg2SceneChangeDetect? + public let slowPal: Mpeg2SlowPal? + public let temporalAdaptiveQuantization: Mpeg2TemporalAdaptiveQuantization? + public let intraDcPrecision: Mpeg2IntraDcPrecision? + public let rateControlMode: Mpeg2RateControlMode? + /// Framerate denominator. + public let framerateDenominator: Int32? + public let framerateConversionAlgorithm: Mpeg2FramerateConversionAlgorithm? + /// Pixel Aspect Ratio denominator. + public let parDenominator: Int32? + /// 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. + public let gopClosedCadence: Int32? + /// 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. + public let bitrate: Int32? + /// 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 + public let minIInterval: Int32? + public let interlaceMode: Mpeg2InterlaceMode? + public let syntax: Mpeg2Syntax? + /// Percentage of the buffer that should initially be filled (HRD buffer model). + public let hrdBufferInitialFillPercentage: Int32? + /// Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. + public let softness: Int32? + /// GOP Length (keyframe interval) in frames or seconds. Must be greater than zero. + public let gopSize: Double? + public let framerateControl: Mpeg2FramerateControl? + public let telecine: Mpeg2Telecine? - public init(videoDetails: VideoDetail? = nil, durationInMs: Int32? = nil) { - self.videoDetails = videoDetails - self.durationInMs = durationInMs + public init(numberBFramesBetweenReferenceFrames: Int32? = nil, parControl: Mpeg2ParControl? = nil, framerateNumerator: Int32? = nil, hrdBufferSize: Int32? = nil, spatialAdaptiveQuantization: Mpeg2SpatialAdaptiveQuantization? = nil, parNumerator: Int32? = nil, codecProfile: Mpeg2CodecProfile? = nil, qualityTuningLevel: Mpeg2QualityTuningLevel? = nil, codecLevel: Mpeg2CodecLevel? = nil, adaptiveQuantization: Mpeg2AdaptiveQuantization? = nil, maxBitrate: Int32? = nil, gopSizeUnits: Mpeg2GopSizeUnits? = nil, sceneChangeDetect: Mpeg2SceneChangeDetect? = nil, slowPal: Mpeg2SlowPal? = nil, temporalAdaptiveQuantization: Mpeg2TemporalAdaptiveQuantization? = nil, intraDcPrecision: Mpeg2IntraDcPrecision? = nil, rateControlMode: Mpeg2RateControlMode? = nil, framerateDenominator: Int32? = nil, framerateConversionAlgorithm: Mpeg2FramerateConversionAlgorithm? = nil, parDenominator: Int32? = nil, gopClosedCadence: Int32? = nil, bitrate: Int32? = nil, minIInterval: Int32? = nil, interlaceMode: Mpeg2InterlaceMode? = nil, syntax: Mpeg2Syntax? = nil, hrdBufferInitialFillPercentage: Int32? = nil, softness: Int32? = nil, gopSize: Double? = nil, framerateControl: Mpeg2FramerateControl? = nil, telecine: Mpeg2Telecine? = nil) { + self.numberBFramesBetweenReferenceFrames = numberBFramesBetweenReferenceFrames + self.parControl = parControl + self.framerateNumerator = framerateNumerator + self.hrdBufferSize = hrdBufferSize + self.spatialAdaptiveQuantization = spatialAdaptiveQuantization + self.parNumerator = parNumerator + self.codecProfile = codecProfile + self.qualityTuningLevel = qualityTuningLevel + self.codecLevel = codecLevel + self.adaptiveQuantization = adaptiveQuantization + self.maxBitrate = maxBitrate + self.gopSizeUnits = gopSizeUnits + self.sceneChangeDetect = sceneChangeDetect + self.slowPal = slowPal + self.temporalAdaptiveQuantization = temporalAdaptiveQuantization + self.intraDcPrecision = intraDcPrecision + self.rateControlMode = rateControlMode + self.framerateDenominator = framerateDenominator + self.framerateConversionAlgorithm = framerateConversionAlgorithm + self.parDenominator = parDenominator + self.gopClosedCadence = gopClosedCadence + self.bitrate = bitrate + self.minIInterval = minIInterval + self.interlaceMode = interlaceMode + self.syntax = syntax + self.hrdBufferInitialFillPercentage = hrdBufferInitialFillPercentage + self.softness = softness + self.gopSize = gopSize + self.framerateControl = framerateControl + self.telecine = telecine } private enum CodingKeys: String, CodingKey { - case videoDetails = "videoDetails" - case durationInMs = "durationInMs" + case numberBFramesBetweenReferenceFrames = "numberBFramesBetweenReferenceFrames" + case parControl = "parControl" + case framerateNumerator = "framerateNumerator" + case hrdBufferSize = "hrdBufferSize" + case spatialAdaptiveQuantization = "spatialAdaptiveQuantization" + case parNumerator = "parNumerator" + case codecProfile = "codecProfile" + case qualityTuningLevel = "qualityTuningLevel" + case codecLevel = "codecLevel" + case adaptiveQuantization = "adaptiveQuantization" + case maxBitrate = "maxBitrate" + case gopSizeUnits = "gopSizeUnits" + case sceneChangeDetect = "sceneChangeDetect" + case slowPal = "slowPal" + case temporalAdaptiveQuantization = "temporalAdaptiveQuantization" + case intraDcPrecision = "intraDcPrecision" + case rateControlMode = "rateControlMode" + case framerateDenominator = "framerateDenominator" + case framerateConversionAlgorithm = "framerateConversionAlgorithm" + case parDenominator = "parDenominator" + case gopClosedCadence = "gopClosedCadence" + case bitrate = "bitrate" + case minIInterval = "minIInterval" + case interlaceMode = "interlaceMode" + case syntax = "syntax" + case hrdBufferInitialFillPercentage = "hrdBufferInitialFillPercentage" + case softness = "softness" + case gopSize = "gopSize" + case framerateControl = "framerateControl" + case telecine = "telecine" } } - public struct ListPresetsResponse: AWSShape { + public struct MsSmoothGroupSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Presets", location: .body(locationName: "presets"), required: false, type: .list), - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) + AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: false, type: .string), + AWSShapeMember(label: "FragmentLength", location: .body(locationName: "fragmentLength"), required: true, type: .integer), + AWSShapeMember(label: "Encryption", location: .body(locationName: "encryption"), required: false, type: .structure), + AWSShapeMember(label: "ManifestEncoding", location: .body(locationName: "manifestEncoding"), required: false, type: .enum), + AWSShapeMember(label: "AudioDeduplication", location: .body(locationName: "audioDeduplication"), required: false, type: .enum) ] - /// List of presets - public let presets: [Preset]? - /// Use this string to request the next batch of presets. - public let nextToken: String? + /// 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. + public let destination: String? + /// Use Fragment length (FragmentLength) to specify the mp4 fragment sizes in seconds. Fragment length must be compatible with GOP size and framerate. + public let fragmentLength: Int32 + public let encryption: MsSmoothEncryptionSettings? + public let manifestEncoding: MsSmoothManifestEncoding? + public let audioDeduplication: MsSmoothAudioDeduplication? - public init(presets: [Preset]? = nil, nextToken: String? = nil) { - self.presets = presets - self.nextToken = nextToken + public init(destination: String? = nil, fragmentLength: Int32, encryption: MsSmoothEncryptionSettings? = nil, manifestEncoding: MsSmoothManifestEncoding? = nil, audioDeduplication: MsSmoothAudioDeduplication? = nil) { + self.destination = destination + self.fragmentLength = fragmentLength + self.encryption = encryption + self.manifestEncoding = manifestEncoding + self.audioDeduplication = audioDeduplication } private enum CodingKeys: String, CodingKey { - case presets = "presets" - case nextToken = "nextToken" + case destination = "destination" + case fragmentLength = "fragmentLength" + case encryption = "encryption" + case manifestEncoding = "manifestEncoding" + case audioDeduplication = "audioDeduplication" } } - public enum AacSpecification: String, CustomStringConvertible, Codable { - case mpeg2 = "MPEG2" - case mpeg4 = "MPEG4" + public enum `Type`: String, CustomStringConvertible, Codable { + case system = "SYSTEM" + case custom = "CUSTOM" public var description: String { return self.rawValue } } - public enum DashIsoHbbtvCompliance: String, CustomStringConvertible, Codable { - case hbbtv15 = "HBBTV_1_5" - case none = "NONE" + public enum M2tsAudioBufferModel: String, CustomStringConvertible, Codable { + case dvb = "DVB" + case atsc = "ATSC" public var description: String { return self.rawValue } } - public struct GetPresetRequest: AWSShape { + public enum H264FlickerAdaptiveQuantization: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public struct WavSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string) + AWSShapeMember(label: "Format", location: .body(locationName: "format"), required: false, type: .enum), + AWSShapeMember(label: "BitDepth", location: .body(locationName: "bitDepth"), required: false, type: .integer), + AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .integer), + AWSShapeMember(label: "Channels", location: .body(locationName: "channels"), required: false, type: .integer) ] - /// The name of the preset. - public let name: String + public let format: WavFormat? + /// Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track. + public let bitDepth: Int32? + /// Sample rate in Hz. + public let sampleRate: Int32? + /// 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. + public let channels: Int32? - public init(name: String) { - self.name = name + public init(format: WavFormat? = nil, bitDepth: Int32? = nil, sampleRate: Int32? = nil, channels: Int32? = nil) { + self.format = format + self.bitDepth = bitDepth + self.sampleRate = sampleRate + self.channels = channels } private enum CodingKeys: String, CodingKey { - case name = "name" + case format = "format" + case bitDepth = "bitDepth" + case sampleRate = "sampleRate" + case channels = "channels" } } - public enum HlsEncryptionType: String, CustomStringConvertible, Codable { - case aes128 = "AES128" - case sampleAes = "SAMPLE_AES" - public var description: String { return self.rawValue } - } + public struct GetJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", location: .uri(locationName: "id"), required: true, type: .string) + ] + /// the job ID of the job. + public let id: String - public enum H264SpatialAdaptiveQuantization: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } + public init(id: String) { + self.id = id + } - public enum Eac3LfeControl: String, CustomStringConvertible, Codable { - case lfe = "LFE" - case noLfe = "NO_LFE" - public var description: String { return self.rawValue } + private enum CodingKeys: String, CodingKey { + case id = "id" + } } - public struct JobSettings: AWSShape { + public struct CaptionDestinationSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TimedMetadataInsertion", location: .body(locationName: "timedMetadataInsertion"), required: false, type: .structure), - AWSShapeMember(label: "OutputGroups", location: .body(locationName: "outputGroups"), required: false, type: .list), - AWSShapeMember(label: "NielsenConfiguration", location: .body(locationName: "nielsenConfiguration"), required: false, type: .structure), - AWSShapeMember(label: "Inputs", location: .body(locationName: "inputs"), required: false, type: .list), - AWSShapeMember(label: "AdAvailOffset", location: .body(locationName: "adAvailOffset"), required: false, type: .integer), - AWSShapeMember(label: "AvailBlanking", location: .body(locationName: "availBlanking"), required: false, type: .structure), - AWSShapeMember(label: "TimecodeConfig", location: .body(locationName: "timecodeConfig"), required: false, type: .structure) + AWSShapeMember(label: "BurninDestinationSettings", location: .body(locationName: "burninDestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "TeletextDestinationSettings", location: .body(locationName: "teletextDestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "DestinationType", location: .body(locationName: "destinationType"), required: true, type: .enum), + AWSShapeMember(label: "DvbSubDestinationSettings", location: .body(locationName: "dvbSubDestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "SccDestinationSettings", location: .body(locationName: "sccDestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "TtmlDestinationSettings", location: .body(locationName: "ttmlDestinationSettings"), required: false, type: .structure) ] - public let timedMetadataInsertion: TimedMetadataInsertion? - /// **!!**(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 - public let outputGroups: [OutputGroup]? - public let nielsenConfiguration: NielsenConfiguration? - /// 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. - public let inputs: [Input]? - /// When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. - public let adAvailOffset: Int32? - /// Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails. - public let availBlanking: AvailBlanking? - /// Contains settings used to acquire and adjust timecode information from inputs. - public let timecodeConfig: TimecodeConfig? + public let burninDestinationSettings: BurninDestinationSettings? + public let teletextDestinationSettings: TeletextDestinationSettings? + public let destinationType: CaptionDestinationType + public let dvbSubDestinationSettings: DvbSubDestinationSettings? + public let sccDestinationSettings: SccDestinationSettings? + public let ttmlDestinationSettings: TtmlDestinationSettings? - public init(timedMetadataInsertion: TimedMetadataInsertion? = nil, outputGroups: [OutputGroup]? = nil, nielsenConfiguration: NielsenConfiguration? = nil, inputs: [Input]? = nil, adAvailOffset: Int32? = nil, availBlanking: AvailBlanking? = nil, timecodeConfig: TimecodeConfig? = nil) { - self.timedMetadataInsertion = timedMetadataInsertion - self.outputGroups = outputGroups - self.nielsenConfiguration = nielsenConfiguration - self.inputs = inputs - self.adAvailOffset = adAvailOffset - self.availBlanking = availBlanking - self.timecodeConfig = timecodeConfig + public init(burninDestinationSettings: BurninDestinationSettings? = nil, teletextDestinationSettings: TeletextDestinationSettings? = nil, destinationType: CaptionDestinationType, dvbSubDestinationSettings: DvbSubDestinationSettings? = nil, sccDestinationSettings: SccDestinationSettings? = nil, ttmlDestinationSettings: TtmlDestinationSettings? = nil) { + self.burninDestinationSettings = burninDestinationSettings + self.teletextDestinationSettings = teletextDestinationSettings + self.destinationType = destinationType + self.dvbSubDestinationSettings = dvbSubDestinationSettings + self.sccDestinationSettings = sccDestinationSettings + self.ttmlDestinationSettings = ttmlDestinationSettings } private enum CodingKeys: String, CodingKey { - case timedMetadataInsertion = "timedMetadataInsertion" - case outputGroups = "outputGroups" - case nielsenConfiguration = "nielsenConfiguration" - case inputs = "inputs" - case adAvailOffset = "adAvailOffset" - case availBlanking = "availBlanking" - case timecodeConfig = "timecodeConfig" + case burninDestinationSettings = "burninDestinationSettings" + case teletextDestinationSettings = "teletextDestinationSettings" + case destinationType = "destinationType" + case dvbSubDestinationSettings = "dvbSubDestinationSettings" + case sccDestinationSettings = "sccDestinationSettings" + case ttmlDestinationSettings = "ttmlDestinationSettings" } } - public enum Mpeg2SceneChangeDetect: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } - - public enum BurninSubtitleOutlineColor: String, CustomStringConvertible, Codable { - case black = "BLACK" - case white = "WHITE" - case yellow = "YELLOW" - case red = "RED" - case green = "GREEN" - case blue = "BLUE" - public var description: String { return self.rawValue } - } - - public struct Mp4Settings: AWSShape { + public struct VideoDetail: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FreeSpaceBox", location: .body(locationName: "freeSpaceBox"), required: false, type: .enum), - AWSShapeMember(label: "MoovPlacement", location: .body(locationName: "moovPlacement"), required: false, type: .enum), - AWSShapeMember(label: "Mp4MajorBrand", location: .body(locationName: "mp4MajorBrand"), required: false, type: .string), - AWSShapeMember(label: "CslgAtom", location: .body(locationName: "cslgAtom"), required: false, type: .enum) + AWSShapeMember(label: "WidthInPx", location: .body(locationName: "widthInPx"), required: false, type: .integer), + AWSShapeMember(label: "HeightInPx", location: .body(locationName: "heightInPx"), required: false, type: .integer) ] - public let freeSpaceBox: Mp4FreeSpaceBox? - public let moovPlacement: Mp4MoovPlacement? - /// Overrides the "Major Brand" field in the output file. Usually not necessary to specify. - public let mp4MajorBrand: String? - public let cslgAtom: Mp4CslgAtom? - - public init(freeSpaceBox: Mp4FreeSpaceBox? = nil, moovPlacement: Mp4MoovPlacement? = nil, mp4MajorBrand: String? = nil, cslgAtom: Mp4CslgAtom? = nil) { - self.freeSpaceBox = freeSpaceBox - self.moovPlacement = moovPlacement - self.mp4MajorBrand = mp4MajorBrand - self.cslgAtom = cslgAtom - } + /// Width in pixels for the output + public let widthInPx: Int32? + /// Height in pixels for the output + public let heightInPx: Int32? - private enum CodingKeys: String, CodingKey { - case freeSpaceBox = "freeSpaceBox" - case moovPlacement = "moovPlacement" - case mp4MajorBrand = "mp4MajorBrand" - case cslgAtom = "cslgAtom" + public init(widthInPx: Int32? = nil, heightInPx: Int32? = nil) { + self.widthInPx = widthInPx + self.heightInPx = heightInPx } - } - public enum H264AdaptiveQuantization: String, CustomStringConvertible, Codable { - case off = "OFF" - case low = "LOW" - case medium = "MEDIUM" - case high = "HIGH" - case higher = "HIGHER" - case max = "MAX" - public var description: String { return self.rawValue } + private enum CodingKeys: String, CodingKey { + case widthInPx = "widthInPx" + case heightInPx = "heightInPx" + } } - public enum MovMpeg2FourCCControl: String, CustomStringConvertible, Codable { - case xdcam = "XDCAM" - case mpeg = "MPEG" + public enum H264RateControlMode: String, CustomStringConvertible, Codable { + case vbr = "VBR" + case cbr = "CBR" public var description: String { return self.rawValue } } - public struct FrameCaptureSettings: AWSShape { + public struct GetQueueResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FramerateDenominator", location: .body(locationName: "framerateDenominator"), required: false, type: .integer), - AWSShapeMember(label: "MaxCaptures", location: .body(locationName: "maxCaptures"), required: false, type: .integer), - AWSShapeMember(label: "FramerateNumerator", location: .body(locationName: "framerateNumerator"), required: false, type: .integer), - AWSShapeMember(label: "Quality", location: .body(locationName: "quality"), required: false, type: .integer) + AWSShapeMember(label: "Queue", location: .body(locationName: "queue"), required: false, type: .structure) ] - /// 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. - public let framerateDenominator: Int32? - /// Maximum number of captures (encoded jpg output files). - public let maxCaptures: Int32? - /// 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. - public let framerateNumerator: Int32? - /// JPEG Quality - a higher value equals higher quality. - public let quality: Int32? + public let queue: Queue? - public init(framerateDenominator: Int32? = nil, maxCaptures: Int32? = nil, framerateNumerator: Int32? = nil, quality: Int32? = nil) { - self.framerateDenominator = framerateDenominator - self.maxCaptures = maxCaptures - self.framerateNumerator = framerateNumerator - self.quality = quality + public init(queue: Queue? = nil) { + self.queue = queue } private enum CodingKeys: String, CodingKey { - case framerateDenominator = "framerateDenominator" - case maxCaptures = "maxCaptures" - case framerateNumerator = "framerateNumerator" - case quality = "quality" + case queue = "queue" } } - public struct UpdateQueueRequest: AWSShape { + public struct VideoDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Status", location: .body(locationName: "status"), required: false, type: .enum), - AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + AWSShapeMember(label: "Height", location: .body(locationName: "height"), required: false, type: .integer), + AWSShapeMember(label: "TimecodeInsertion", location: .body(locationName: "timecodeInsertion"), required: false, type: .enum), + AWSShapeMember(label: "FixedAfd", location: .body(locationName: "fixedAfd"), required: false, type: .integer), + AWSShapeMember(label: "ColorMetadata", location: .body(locationName: "colorMetadata"), required: false, type: .enum), + AWSShapeMember(label: "VideoPreprocessors", location: .body(locationName: "videoPreprocessors"), required: false, type: .structure), + AWSShapeMember(label: "Width", location: .body(locationName: "width"), required: false, type: .integer), + AWSShapeMember(label: "CodecSettings", location: .body(locationName: "codecSettings"), required: true, type: .structure), + AWSShapeMember(label: "DropFrameTimecode", location: .body(locationName: "dropFrameTimecode"), required: false, type: .enum), + AWSShapeMember(label: "Sharpness", location: .body(locationName: "sharpness"), required: false, type: .integer), + AWSShapeMember(label: "Position", location: .body(locationName: "position"), required: false, type: .structure), + AWSShapeMember(label: "AfdSignaling", location: .body(locationName: "afdSignaling"), required: false, type: .enum), + AWSShapeMember(label: "Crop", location: .body(locationName: "crop"), required: false, type: .structure), + AWSShapeMember(label: "AntiAlias", location: .body(locationName: "antiAlias"), required: false, type: .enum), + AWSShapeMember(label: "ScalingBehavior", location: .body(locationName: "scalingBehavior"), required: false, type: .enum), + AWSShapeMember(label: "RespondToAfd", location: .body(locationName: "respondToAfd"), required: false, type: .enum) ] - public let status: QueueStatus? - /// The name of the queue you are modifying. - public let name: String - /// The new description for the queue, if you are changing it. - public let description: String? + /// 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. + public let height: Int32? + public let timecodeInsertion: VideoTimecodeInsertion? + /// 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. + public let fixedAfd: Int32? + public let colorMetadata: ColorMetadata? + /// Find additional transcoding features under Preprocessors (VideoPreprocessors). Enable the features at each output individually. These features are disabled by default. + public let videoPreprocessors: VideoPreprocessor? + /// 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. + public let width: Int32? + public let codecSettings: VideoCodecSettings + public let dropFrameTimecode: DropFrameTimecode? + /// 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. + public let sharpness: Int32? + /// Use Position (Position) to point to a rectangle object to define your position. This setting overrides any other aspect ratio. + public let position: Rectangle? + public let afdSignaling: AfdSignaling? + /// 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. + public let crop: Rectangle? + public let antiAlias: AntiAlias? + public let scalingBehavior: ScalingBehavior? + public let respondToAfd: RespondToAfd? - public init(status: QueueStatus? = nil, name: String, description: String? = nil) { - self.status = status - self.name = name - self.description = description + public init(height: Int32? = nil, timecodeInsertion: VideoTimecodeInsertion? = nil, fixedAfd: Int32? = nil, colorMetadata: ColorMetadata? = nil, videoPreprocessors: VideoPreprocessor? = nil, width: Int32? = nil, codecSettings: VideoCodecSettings, dropFrameTimecode: DropFrameTimecode? = nil, sharpness: Int32? = nil, position: Rectangle? = nil, afdSignaling: AfdSignaling? = nil, crop: Rectangle? = nil, antiAlias: AntiAlias? = nil, scalingBehavior: ScalingBehavior? = nil, respondToAfd: RespondToAfd? = nil) { + self.height = height + self.timecodeInsertion = timecodeInsertion + self.fixedAfd = fixedAfd + self.colorMetadata = colorMetadata + self.videoPreprocessors = videoPreprocessors + self.width = width + self.codecSettings = codecSettings + self.dropFrameTimecode = dropFrameTimecode + self.sharpness = sharpness + self.position = position + self.afdSignaling = afdSignaling + self.crop = crop + self.antiAlias = antiAlias + self.scalingBehavior = scalingBehavior + self.respondToAfd = respondToAfd } private enum CodingKeys: String, CodingKey { - case status = "status" - case name = "name" - case description = "description" + case height = "height" + case timecodeInsertion = "timecodeInsertion" + case fixedAfd = "fixedAfd" + case colorMetadata = "colorMetadata" + case videoPreprocessors = "videoPreprocessors" + case width = "width" + case codecSettings = "codecSettings" + case dropFrameTimecode = "dropFrameTimecode" + case sharpness = "sharpness" + case position = "position" + case afdSignaling = "afdSignaling" + case crop = "crop" + case antiAlias = "antiAlias" + case scalingBehavior = "scalingBehavior" + case respondToAfd = "respondToAfd" } } - public enum QueueListBy: String, CustomStringConvertible, Codable { - case name = "NAME" - case creationDate = "CREATION_DATE" + public enum InputTimecodeSource: String, CustomStringConvertible, Codable { + case embedded = "EMBEDDED" + case zerobased = "ZEROBASED" + case specifiedstart = "SPECIFIEDSTART" public var description: String { return self.rawValue } } - public enum AacCodecProfile: String, CustomStringConvertible, Codable { - case lc = "LC" - case hev1 = "HEV1" - case hev2 = "HEV2" - public var description: String { return self.rawValue } - } + public struct F4vSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MoovPlacement", location: .body(locationName: "moovPlacement"), required: false, type: .enum) + ] + public let moovPlacement: F4vMoovPlacement? - public enum HlsClientCache: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } + public init(moovPlacement: F4vMoovPlacement? = nil) { + self.moovPlacement = moovPlacement + } + + private enum CodingKeys: String, CodingKey { + case moovPlacement = "moovPlacement" + } } - public enum AudioLanguageCodeControl: String, CustomStringConvertible, Codable { - case followInput = "FOLLOW_INPUT" - case useConfigured = "USE_CONFIGURED" + public enum Eac3CodingMode: String, CustomStringConvertible, Codable { + case codingMode10 = "CODING_MODE_1_0" + case codingMode20 = "CODING_MODE_2_0" + case codingMode32 = "CODING_MODE_3_2" public var description: String { return self.rawValue } } - public enum H265SpatialAdaptiveQuantization: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum DvbSubtitleTeletextSpacing: String, CustomStringConvertible, Codable { + case fixedGrid = "FIXED_GRID" + case proportional = "PROPORTIONAL" public var description: String { return self.rawValue } } - public struct Ac3Settings: AWSShape { + public struct HlsCaptionLanguageMapping: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: false, type: .enum), - AWSShapeMember(label: "LfeFilter", location: .body(locationName: "lfeFilter"), required: false, type: .enum), - AWSShapeMember(label: "BitstreamMode", location: .body(locationName: "bitstreamMode"), required: false, type: .enum), - AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .integer), - AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), - AWSShapeMember(label: "MetadataControl", location: .body(locationName: "metadataControl"), required: false, type: .enum), - AWSShapeMember(label: "DynamicRangeCompressionProfile", location: .body(locationName: "dynamicRangeCompressionProfile"), required: false, type: .enum), - AWSShapeMember(label: "Dialnorm", location: .body(locationName: "dialnorm"), required: false, type: .integer) + AWSShapeMember(label: "CustomLanguageCode", location: .body(locationName: "customLanguageCode"), required: false, type: .string), + AWSShapeMember(label: "LanguageDescription", location: .body(locationName: "languageDescription"), required: false, type: .string), + AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .enum), + AWSShapeMember(label: "CaptionChannel", location: .body(locationName: "captionChannel"), required: false, type: .integer) ] - public let codingMode: Ac3CodingMode? - public let lfeFilter: Ac3LfeFilter? - public let bitstreamMode: Ac3BitstreamMode? - /// Sample rate in hz. Sample rate is always 48000. - public let sampleRate: Int32? - /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. - public let bitrate: Int32? - public let metadataControl: Ac3MetadataControl? - public let dynamicRangeCompressionProfile: Ac3DynamicRangeCompressionProfile? - /// Sets the dialnorm for the output. If blank and input audio is Dolby Digital, dialnorm will be passed through. - public let dialnorm: Int32? + /// Specify the language for this caption channel, using the ISO 639-2 or ISO 639-3 three-letter language code + public let customLanguageCode: String? + /// Caption language description. + public let languageDescription: String? + public let languageCode: LanguageCode? + /// Caption channel. + public let captionChannel: Int32? - public init(codingMode: Ac3CodingMode? = nil, lfeFilter: Ac3LfeFilter? = nil, bitstreamMode: Ac3BitstreamMode? = nil, sampleRate: Int32? = nil, bitrate: Int32? = nil, metadataControl: Ac3MetadataControl? = nil, dynamicRangeCompressionProfile: Ac3DynamicRangeCompressionProfile? = nil, dialnorm: Int32? = nil) { - self.codingMode = codingMode - self.lfeFilter = lfeFilter - self.bitstreamMode = bitstreamMode - self.sampleRate = sampleRate - self.bitrate = bitrate - self.metadataControl = metadataControl - self.dynamicRangeCompressionProfile = dynamicRangeCompressionProfile - self.dialnorm = dialnorm + public init(customLanguageCode: String? = nil, languageDescription: String? = nil, languageCode: LanguageCode? = nil, captionChannel: Int32? = nil) { + self.customLanguageCode = customLanguageCode + self.languageDescription = languageDescription + self.languageCode = languageCode + self.captionChannel = captionChannel } private enum CodingKeys: String, CodingKey { - case codingMode = "codingMode" - case lfeFilter = "lfeFilter" - case bitstreamMode = "bitstreamMode" - case sampleRate = "sampleRate" - case bitrate = "bitrate" - case metadataControl = "metadataControl" - case dynamicRangeCompressionProfile = "dynamicRangeCompressionProfile" - case dialnorm = "dialnorm" + case customLanguageCode = "customLanguageCode" + case languageDescription = "languageDescription" + case languageCode = "languageCode" + case captionChannel = "captionChannel" } } - public struct ProresSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Telecine", location: .body(locationName: "telecine"), required: false, type: .enum), - AWSShapeMember(label: "FramerateDenominator", location: .body(locationName: "framerateDenominator"), required: false, type: .integer), - AWSShapeMember(label: "ParControl", location: .body(locationName: "parControl"), required: false, type: .enum), - AWSShapeMember(label: "FramerateConversionAlgorithm", location: .body(locationName: "framerateConversionAlgorithm"), required: false, type: .enum), - AWSShapeMember(label: "FramerateNumerator", location: .body(locationName: "framerateNumerator"), required: false, type: .integer), - AWSShapeMember(label: "ParDenominator", location: .body(locationName: "parDenominator"), required: false, type: .integer), - AWSShapeMember(label: "CodecProfile", location: .body(locationName: "codecProfile"), required: false, type: .enum), - AWSShapeMember(label: "InterlaceMode", location: .body(locationName: "interlaceMode"), required: false, type: .enum), - AWSShapeMember(label: "SlowPal", location: .body(locationName: "slowPal"), required: false, type: .enum), - AWSShapeMember(label: "FramerateControl", location: .body(locationName: "framerateControl"), required: false, type: .enum), - AWSShapeMember(label: "ParNumerator", location: .body(locationName: "parNumerator"), required: false, type: .integer) - ] - public let telecine: ProresTelecine? - /// Framerate denominator. - public let framerateDenominator: Int32? - public let parControl: ProresParControl? - public let framerateConversionAlgorithm: ProresFramerateConversionAlgorithm? - /// 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. - public let framerateNumerator: Int32? - /// Pixel Aspect Ratio denominator. - public let parDenominator: Int32? - public let codecProfile: ProresCodecProfile? - public let interlaceMode: ProresInterlaceMode? - public let slowPal: ProresSlowPal? - public let framerateControl: ProresFramerateControl? - /// Pixel Aspect Ratio numerator. - public let parNumerator: Int32? + public enum Mpeg2ParControl: String, CustomStringConvertible, Codable { + case initializeFromSource = "INITIALIZE_FROM_SOURCE" + case specified = "SPECIFIED" + public var description: String { return self.rawValue } + } - public init(telecine: ProresTelecine? = nil, framerateDenominator: Int32? = nil, parControl: ProresParControl? = nil, framerateConversionAlgorithm: ProresFramerateConversionAlgorithm? = nil, framerateNumerator: Int32? = nil, parDenominator: Int32? = nil, codecProfile: ProresCodecProfile? = nil, interlaceMode: ProresInterlaceMode? = nil, slowPal: ProresSlowPal? = nil, framerateControl: ProresFramerateControl? = nil, parNumerator: Int32? = nil) { - self.telecine = telecine - self.framerateDenominator = framerateDenominator - self.parControl = parControl - self.framerateConversionAlgorithm = framerateConversionAlgorithm - self.framerateNumerator = framerateNumerator - self.parDenominator = parDenominator - self.codecProfile = codecProfile - self.interlaceMode = interlaceMode - self.slowPal = slowPal - self.framerateControl = framerateControl - self.parNumerator = parNumerator + public struct CmafGroupSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ManifestCompression", location: .body(locationName: "manifestCompression"), required: false, type: .enum), + AWSShapeMember(label: "StreamInfResolution", location: .body(locationName: "streamInfResolution"), required: false, type: .enum), + AWSShapeMember(label: "WriteDashManifest", location: .body(locationName: "writeDashManifest"), required: false, type: .enum), + AWSShapeMember(label: "MinBufferTime", location: .body(locationName: "minBufferTime"), required: false, type: .integer), + AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: false, type: .string), + AWSShapeMember(label: "BaseUrl", location: .body(locationName: "baseUrl"), required: false, type: .string), + AWSShapeMember(label: "ClientCache", location: .body(locationName: "clientCache"), required: false, type: .enum), + AWSShapeMember(label: "SegmentControl", location: .body(locationName: "segmentControl"), required: false, type: .enum), + AWSShapeMember(label: "FragmentLength", location: .body(locationName: "fragmentLength"), required: true, type: .integer), + AWSShapeMember(label: "Encryption", location: .body(locationName: "encryption"), required: false, type: .structure), + AWSShapeMember(label: "ManifestDurationFormat", location: .body(locationName: "manifestDurationFormat"), required: false, type: .enum), + AWSShapeMember(label: "WriteHlsManifest", location: .body(locationName: "writeHlsManifest"), required: false, type: .enum), + AWSShapeMember(label: "CodecSpecification", location: .body(locationName: "codecSpecification"), required: false, type: .enum), + AWSShapeMember(label: "SegmentLength", location: .body(locationName: "segmentLength"), required: true, type: .integer) + ] + public let manifestCompression: CmafManifestCompression? + public let streamInfResolution: CmafStreamInfResolution? + public let writeDashManifest: CmafWriteDASHManifest? + /// Minimum time of initially buffered media that is needed to ensure smooth playout. + public let minBufferTime: Int32? + /// 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. + public let destination: String? + /// 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. + public let baseUrl: String? + public let clientCache: CmafClientCache? + public let segmentControl: CmafSegmentControl? + /// 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. + public let fragmentLength: Int32 + /// DRM settings. + public let encryption: CmafEncryptionSettings? + public let manifestDurationFormat: CmafManifestDurationFormat? + public let writeHlsManifest: CmafWriteHLSManifest? + public let codecSpecification: CmafCodecSpecification? + /// 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. + public let segmentLength: Int32 + + public init(manifestCompression: CmafManifestCompression? = nil, streamInfResolution: CmafStreamInfResolution? = nil, writeDashManifest: CmafWriteDASHManifest? = nil, minBufferTime: Int32? = nil, destination: String? = nil, baseUrl: String? = nil, clientCache: CmafClientCache? = nil, segmentControl: CmafSegmentControl? = nil, fragmentLength: Int32, encryption: CmafEncryptionSettings? = nil, manifestDurationFormat: CmafManifestDurationFormat? = nil, writeHlsManifest: CmafWriteHLSManifest? = nil, codecSpecification: CmafCodecSpecification? = nil, segmentLength: Int32) { + self.manifestCompression = manifestCompression + self.streamInfResolution = streamInfResolution + self.writeDashManifest = writeDashManifest + self.minBufferTime = minBufferTime + self.destination = destination + self.baseUrl = baseUrl + self.clientCache = clientCache + self.segmentControl = segmentControl + self.fragmentLength = fragmentLength + self.encryption = encryption + self.manifestDurationFormat = manifestDurationFormat + self.writeHlsManifest = writeHlsManifest + self.codecSpecification = codecSpecification + self.segmentLength = segmentLength } private enum CodingKeys: String, CodingKey { - case telecine = "telecine" - case framerateDenominator = "framerateDenominator" - case parControl = "parControl" - case framerateConversionAlgorithm = "framerateConversionAlgorithm" - case framerateNumerator = "framerateNumerator" - case parDenominator = "parDenominator" - case codecProfile = "codecProfile" - case interlaceMode = "interlaceMode" - case slowPal = "slowPal" - case framerateControl = "framerateControl" - case parNumerator = "parNumerator" + case manifestCompression = "manifestCompression" + case streamInfResolution = "streamInfResolution" + case writeDashManifest = "writeDashManifest" + case minBufferTime = "minBufferTime" + case destination = "destination" + case baseUrl = "baseUrl" + case clientCache = "clientCache" + case segmentControl = "segmentControl" + case fragmentLength = "fragmentLength" + case encryption = "encryption" + case manifestDurationFormat = "manifestDurationFormat" + case writeHlsManifest = "writeHlsManifest" + case codecSpecification = "codecSpecification" + case segmentLength = "segmentLength" } } - public struct ListJobsRequest: AWSShape { + public enum CmafSegmentControl: String, CustomStringConvertible, Codable { + case singleFile = "SINGLE_FILE" + case segmentedFiles = "SEGMENTED_FILES" + public var description: String { return self.rawValue } + } + + public enum Mpeg2QualityTuningLevel: String, CustomStringConvertible, Codable { + case singlePass = "SINGLE_PASS" + case multiPass = "MULTI_PASS" + public var description: String { return self.rawValue } + } + + public enum Mpeg2Syntax: String, CustomStringConvertible, Codable { + case `default` = "DEFAULT" + case d10 = "D_10" + public var description: String { return self.rawValue } + } + + public struct DvbNitSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Status", location: .querystring(locationName: "status"), required: false, type: .enum), - AWSShapeMember(label: "Order", location: .querystring(locationName: "order"), required: false, type: .enum), - AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "Queue", location: .querystring(locationName: "queue"), required: false, type: .string), - AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + AWSShapeMember(label: "NitInterval", location: .body(locationName: "nitInterval"), required: true, type: .integer), + AWSShapeMember(label: "NetworkId", location: .body(locationName: "networkId"), required: true, type: .integer), + AWSShapeMember(label: "NetworkName", location: .body(locationName: "networkName"), required: true, type: .string) ] - public let status: JobStatus? - public let order: Order? - /// Use this string, provided with the response to a previous request, to request the next batch of jobs. - public let nextToken: String? - /// Provide a queue name to get back only jobs from that queue. - public let queue: String? - /// Optional. Number of jobs, up to twenty, that will be returned at one time. - public let maxResults: Int32? + /// The number of milliseconds between instances of this table in the output transport stream. + public let nitInterval: Int32 + /// The numeric value placed in the Network Information Table (NIT). + public let networkId: Int32 + /// The network name text placed in the network_name_descriptor inside the Network Information Table. Maximum length is 256 characters. + public let networkName: String - public init(status: JobStatus? = nil, order: Order? = nil, nextToken: String? = nil, queue: String? = nil, maxResults: Int32? = nil) { - self.status = status - self.order = order - self.nextToken = nextToken - self.queue = queue - self.maxResults = maxResults + public init(nitInterval: Int32, networkId: Int32, networkName: String) { + self.nitInterval = nitInterval + self.networkId = networkId + self.networkName = networkName } private enum CodingKeys: String, CodingKey { - case status = "status" - case order = "order" - case nextToken = "nextToken" - case queue = "queue" - case maxResults = "maxResults" + case nitInterval = "nitInterval" + case networkId = "networkId" + case networkName = "networkName" } } - public enum HlsProgramDateTime: String, CustomStringConvertible, Codable { - case include = "INCLUDE" - case exclude = "EXCLUDE" + public enum M2tsRateMode: String, CustomStringConvertible, Codable { + case vbr = "VBR" + case cbr = "CBR" public var description: String { return self.rawValue } } - public enum Mp4MoovPlacement: String, CustomStringConvertible, Codable { - case progressiveDownload = "PROGRESSIVE_DOWNLOAD" - case normal = "NORMAL" + public enum H264EntropyEncoding: String, CustomStringConvertible, Codable { + case cabac = "CABAC" + case cavlc = "CAVLC" public var description: String { return self.rawValue } } - public enum Mpeg2SlowPal: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum H265FramerateConversionAlgorithm: String, CustomStringConvertible, Codable { + case duplicateDrop = "DUPLICATE_DROP" + case interpolate = "INTERPOLATE" public var description: String { return self.rawValue } } - public enum DvbSubtitleFontColor: String, CustomStringConvertible, Codable { - case white = "WHITE" - case black = "BLACK" - case yellow = "YELLOW" - case red = "RED" - case green = "GREEN" - case blue = "BLUE" - public var description: String { return self.rawValue } + public struct CancelJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", location: .uri(locationName: "id"), required: true, type: .string) + ] + /// The Job ID of the job to be cancelled. + public let id: String + + public init(id: String) { + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case id = "id" + } } - public enum InputDenoiseFilter: String, CustomStringConvertible, Codable { - case enabled = "ENABLED" - case disabled = "DISABLED" + public enum PresetListBy: String, CustomStringConvertible, Codable { + case name = "NAME" + case creationDate = "CREATION_DATE" + case system = "SYSTEM" public var description: String { return self.rawValue } } - public struct CaptionDescription: AWSShape { + public struct Deinterlacer: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CaptionSelectorName", location: .body(locationName: "captionSelectorName"), required: false, type: .string), - AWSShapeMember(label: "LanguageDescription", location: .body(locationName: "languageDescription"), required: false, type: .string), - AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .enum), - AWSShapeMember(label: "DestinationSettings", location: .body(locationName: "destinationSettings"), required: false, type: .structure) + AWSShapeMember(label: "Algorithm", location: .body(locationName: "algorithm"), required: false, type: .enum), + AWSShapeMember(label: "Control", location: .body(locationName: "control"), required: false, type: .enum), + AWSShapeMember(label: "Mode", location: .body(locationName: "mode"), required: false, type: .enum) ] - /// 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. - public let captionSelectorName: String? - /// Human readable information to indicate captions available for players (eg. English, or Spanish). Alphanumeric characters, spaces, and underscore are legal. - public let languageDescription: String? - /// Indicates the language of the caption output track. - public let languageCode: LanguageCode? - public let destinationSettings: CaptionDestinationSettings? + public let algorithm: DeinterlaceAlgorithm? + public let control: DeinterlacerControl? + public let mode: DeinterlacerMode? - public init(captionSelectorName: String? = nil, languageDescription: String? = nil, languageCode: LanguageCode? = nil, destinationSettings: CaptionDestinationSettings? = nil) { - self.captionSelectorName = captionSelectorName - self.languageDescription = languageDescription - self.languageCode = languageCode - self.destinationSettings = destinationSettings + public init(algorithm: DeinterlaceAlgorithm? = nil, control: DeinterlacerControl? = nil, mode: DeinterlacerMode? = nil) { + self.algorithm = algorithm + self.control = control + self.mode = mode } private enum CodingKeys: String, CodingKey { - case captionSelectorName = "captionSelectorName" - case languageDescription = "languageDescription" - case languageCode = "languageCode" - case destinationSettings = "destinationSettings" + case algorithm = "algorithm" + case control = "control" + case mode = "mode" } } - public struct Hdr10Metadata: AWSShape { + public struct DescribeEndpointsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BluePrimaryX", location: .body(locationName: "bluePrimaryX"), required: false, type: .integer), - AWSShapeMember(label: "WhitePointX", location: .body(locationName: "whitePointX"), required: false, type: .integer), - AWSShapeMember(label: "WhitePointY", location: .body(locationName: "whitePointY"), required: false, type: .integer), - AWSShapeMember(label: "RedPrimaryY", location: .body(locationName: "redPrimaryY"), required: false, type: .integer), - AWSShapeMember(label: "GreenPrimaryY", location: .body(locationName: "greenPrimaryY"), required: false, type: .integer), - AWSShapeMember(label: "MaxLuminance", location: .body(locationName: "maxLuminance"), required: false, type: .integer), - AWSShapeMember(label: "MaxFrameAverageLightLevel", location: .body(locationName: "maxFrameAverageLightLevel"), required: false, type: .integer), - AWSShapeMember(label: "RedPrimaryX", location: .body(locationName: "redPrimaryX"), required: false, type: .integer), - AWSShapeMember(label: "MinLuminance", location: .body(locationName: "minLuminance"), required: false, type: .integer), - AWSShapeMember(label: "MaxContentLightLevel", location: .body(locationName: "maxContentLightLevel"), required: false, type: .integer), - AWSShapeMember(label: "BluePrimaryY", location: .body(locationName: "bluePrimaryY"), required: false, type: .integer), - AWSShapeMember(label: "GreenPrimaryX", location: .body(locationName: "greenPrimaryX"), required: false, type: .integer) + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Endpoints", location: .body(locationName: "endpoints"), required: false, type: .list) ] - /// HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. - public let bluePrimaryX: Int32? - /// HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. - public let whitePointX: Int32? - /// HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. - public let whitePointY: Int32? - /// HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. - public let redPrimaryY: Int32? - /// HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. - public let greenPrimaryY: Int32? - /// Nominal maximum mastering display luminance in units of of 0.0001 candelas per square meter. - public let maxLuminance: Int32? - /// Maximum average light level of any frame in the coded video sequence, in units of candelas per square meter. - public let maxFrameAverageLightLevel: Int32? - /// HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. - public let redPrimaryX: Int32? - /// Nominal minimum mastering display luminance in units of of 0.0001 candelas per square meter - public let minLuminance: Int32? - /// Maximum light level among all samples in the coded video sequence, in units of candelas per square meter. - public let maxContentLightLevel: Int32? - /// HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. - public let bluePrimaryY: Int32? - /// HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. - public let greenPrimaryX: Int32? + /// Use this string to request the next batch of endpoints. + public let nextToken: String? + /// List of endpoints + public let endpoints: [Endpoint]? - public init(bluePrimaryX: Int32? = nil, whitePointX: Int32? = nil, whitePointY: Int32? = nil, redPrimaryY: Int32? = nil, greenPrimaryY: Int32? = nil, maxLuminance: Int32? = nil, maxFrameAverageLightLevel: Int32? = nil, redPrimaryX: Int32? = nil, minLuminance: Int32? = nil, maxContentLightLevel: Int32? = nil, bluePrimaryY: Int32? = nil, greenPrimaryX: Int32? = nil) { - self.bluePrimaryX = bluePrimaryX - self.whitePointX = whitePointX - self.whitePointY = whitePointY - self.redPrimaryY = redPrimaryY - self.greenPrimaryY = greenPrimaryY - self.maxLuminance = maxLuminance - self.maxFrameAverageLightLevel = maxFrameAverageLightLevel - self.redPrimaryX = redPrimaryX - self.minLuminance = minLuminance - self.maxContentLightLevel = maxContentLightLevel - self.bluePrimaryY = bluePrimaryY - self.greenPrimaryX = greenPrimaryX + public init(nextToken: String? = nil, endpoints: [Endpoint]? = nil) { + self.nextToken = nextToken + self.endpoints = endpoints } private enum CodingKeys: String, CodingKey { - case bluePrimaryX = "bluePrimaryX" - case whitePointX = "whitePointX" - case whitePointY = "whitePointY" - case redPrimaryY = "redPrimaryY" - case greenPrimaryY = "greenPrimaryY" - case maxLuminance = "maxLuminance" - case maxFrameAverageLightLevel = "maxFrameAverageLightLevel" - case redPrimaryX = "redPrimaryX" - case minLuminance = "minLuminance" - case maxContentLightLevel = "maxContentLightLevel" - case bluePrimaryY = "bluePrimaryY" - case greenPrimaryX = "greenPrimaryX" + case nextToken = "nextToken" + case endpoints = "endpoints" } } - public struct GetJobTemplateResponse: AWSShape { + public enum Mp4CslgAtom: String, CustomStringConvertible, Codable { + case include = "INCLUDE" + case exclude = "EXCLUDE" + public var description: String { return self.rawValue } + } + + public enum HlsManifestDurationFormat: String, CustomStringConvertible, Codable { + case floatingPoint = "FLOATING_POINT" + case integer = "INTEGER" + public var description: String { return self.rawValue } + } + + public struct TimecodeBurnin: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobTemplate", location: .body(locationName: "jobTemplate"), required: false, type: .structure) + AWSShapeMember(label: "Position", location: .body(locationName: "position"), required: false, type: .enum), + AWSShapeMember(label: "FontSize", location: .body(locationName: "fontSize"), required: false, type: .integer), + AWSShapeMember(label: "Prefix", location: .body(locationName: "prefix"), required: false, type: .string) ] - public let jobTemplate: JobTemplate? + public let position: TimecodeBurninPosition? + /// Use Font Size (FontSize) to set the font size of any burned-in timecode. Valid values are 10, 16, 32, 48. + public let fontSize: Int32? + /// 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. + public let prefix: String? - public init(jobTemplate: JobTemplate? = nil) { - self.jobTemplate = jobTemplate + public init(position: TimecodeBurninPosition? = nil, fontSize: Int32? = nil, prefix: String? = nil) { + self.position = position + self.fontSize = fontSize + self.prefix = prefix } private enum CodingKeys: String, CodingKey { - case jobTemplate = "jobTemplate" + case position = "position" + case fontSize = "fontSize" + case prefix = "prefix" } } - public struct CreateJobTemplateRequest: AWSShape { + public struct UntagResourceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Category", location: .body(locationName: "category"), required: false, type: .string), - AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: false, type: .structure), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "Queue", location: .body(locationName: "queue"), required: false, type: .string), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "TagKeys", location: .body(locationName: "tagKeys"), required: false, type: .list) ] - /// Optional. A category for the job template you are creating - public let category: String? - public let settings: JobTemplateSettings? - /// The name of the job template you are creating. - public let name: String? - /// 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. - public let queue: String? - /// Optional. A description of the job template you are creating. - public let description: String? + /// 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. + public let arn: String? + /// The keys of the tags that you want to remove from the resource. + public let tagKeys: [String]? - public init(category: String? = nil, settings: JobTemplateSettings? = nil, name: String? = nil, queue: String? = nil, description: String? = nil) { - self.category = category - self.settings = settings - self.name = name - self.queue = queue - self.description = description + public init(arn: String? = nil, tagKeys: [String]? = nil) { + self.arn = arn + self.tagKeys = tagKeys } private enum CodingKeys: String, CodingKey { - case category = "category" - case settings = "settings" - case name = "name" - case queue = "queue" - case description = "description" + case arn = "arn" + case tagKeys = "tagKeys" } } - public enum Eac3PhaseControl: String, CustomStringConvertible, Codable { - case shift90Degrees = "SHIFT_90_DEGREES" - case noShift = "NO_SHIFT" - public var description: String { return self.rawValue } - } - - public enum ProresParControl: String, CustomStringConvertible, Codable { - case initializeFromSource = "INITIALIZE_FROM_SOURCE" - case specified = "SPECIFIED" - public var description: String { return self.rawValue } - } - - public enum H265InterlaceMode: String, CustomStringConvertible, Codable { - case progressive = "PROGRESSIVE" - case topField = "TOP_FIELD" - case bottomField = "BOTTOM_FIELD" - case followTopField = "FOLLOW_TOP_FIELD" - case followBottomField = "FOLLOW_BOTTOM_FIELD" - public var description: String { return self.rawValue } - } - - public struct SccDestinationSettings: AWSShape { + public struct JobTemplateSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Framerate", location: .body(locationName: "framerate"), required: false, type: .enum) + AWSShapeMember(label: "TimedMetadataInsertion", location: .body(locationName: "timedMetadataInsertion"), required: false, type: .structure), + AWSShapeMember(label: "OutputGroups", location: .body(locationName: "outputGroups"), required: true, type: .list), + AWSShapeMember(label: "NielsenConfiguration", location: .body(locationName: "nielsenConfiguration"), required: false, type: .structure), + AWSShapeMember(label: "Inputs", location: .body(locationName: "inputs"), required: false, type: .list), + AWSShapeMember(label: "AdAvailOffset", location: .body(locationName: "adAvailOffset"), required: false, type: .integer), + AWSShapeMember(label: "AvailBlanking", location: .body(locationName: "availBlanking"), required: false, type: .structure), + AWSShapeMember(label: "TimecodeConfig", location: .body(locationName: "timecodeConfig"), required: false, type: .structure) ] - public let framerate: SccDestinationFramerate? + public let timedMetadataInsertion: TimedMetadataInsertion? + /// (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 + public let outputGroups: [OutputGroup] + public let nielsenConfiguration: NielsenConfiguration? + /// 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. + public let inputs: [InputTemplate]? + /// When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. + public let adAvailOffset: Int32? + /// Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails. + public let availBlanking: AvailBlanking? + /// Contains settings used to acquire and adjust timecode information from inputs. + public let timecodeConfig: TimecodeConfig? - public init(framerate: SccDestinationFramerate? = nil) { - self.framerate = framerate + public init(timedMetadataInsertion: TimedMetadataInsertion? = nil, outputGroups: [OutputGroup], nielsenConfiguration: NielsenConfiguration? = nil, inputs: [InputTemplate]? = nil, adAvailOffset: Int32? = nil, availBlanking: AvailBlanking? = nil, timecodeConfig: TimecodeConfig? = nil) { + self.timedMetadataInsertion = timedMetadataInsertion + self.outputGroups = outputGroups + self.nielsenConfiguration = nielsenConfiguration + self.inputs = inputs + self.adAvailOffset = adAvailOffset + self.availBlanking = availBlanking + self.timecodeConfig = timecodeConfig } private enum CodingKeys: String, CodingKey { - case framerate = "framerate" + case timedMetadataInsertion = "timedMetadataInsertion" + case outputGroups = "outputGroups" + case nielsenConfiguration = "nielsenConfiguration" + case inputs = "inputs" + case adAvailOffset = "adAvailOffset" + case availBlanking = "availBlanking" + case timecodeConfig = "timecodeConfig" } } - public enum H264GopBReference: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum H265Telecine: String, CustomStringConvertible, Codable { + case none = "NONE" + case soft = "SOFT" + case hard = "HARD" public var description: String { return self.rawValue } } - public enum HlsStreamInfResolution: String, CustomStringConvertible, Codable { - case include = "INCLUDE" - case exclude = "EXCLUDE" + public enum H264CodecLevel: String, CustomStringConvertible, Codable { + case auto = "AUTO" + case level1 = "LEVEL_1" + case level11 = "LEVEL_1_1" + case level12 = "LEVEL_1_2" + case level13 = "LEVEL_1_3" + case level2 = "LEVEL_2" + case level21 = "LEVEL_2_1" + case level22 = "LEVEL_2_2" + case level3 = "LEVEL_3" + case level31 = "LEVEL_3_1" + case level32 = "LEVEL_3_2" + case level4 = "LEVEL_4" + case level41 = "LEVEL_4_1" + case level42 = "LEVEL_4_2" + case level5 = "LEVEL_5" + case level51 = "LEVEL_5_1" + case level52 = "LEVEL_5_2" public var description: String { return self.rawValue } } - public struct DeleteQueueRequest: AWSShape { + public struct ContainerSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string) + AWSShapeMember(label: "M2tsSettings", location: .body(locationName: "m2tsSettings"), required: false, type: .structure), + AWSShapeMember(label: "MovSettings", location: .body(locationName: "movSettings"), required: false, type: .structure), + AWSShapeMember(label: "Mp4Settings", location: .body(locationName: "mp4Settings"), required: false, type: .structure), + AWSShapeMember(label: "F4vSettings", location: .body(locationName: "f4vSettings"), required: false, type: .structure), + AWSShapeMember(label: "Container", location: .body(locationName: "container"), required: true, type: .enum), + AWSShapeMember(label: "M3u8Settings", location: .body(locationName: "m3u8Settings"), required: false, type: .structure) ] - /// The name of the queue to be deleted. - public let name: String + public let m2tsSettings: M2tsSettings? + public let movSettings: MovSettings? + public let mp4Settings: Mp4Settings? + public let f4vSettings: F4vSettings? + public let container: ContainerType + public let m3u8Settings: M3u8Settings? - public init(name: String) { - self.name = name + public init(m2tsSettings: M2tsSettings? = nil, movSettings: MovSettings? = nil, mp4Settings: Mp4Settings? = nil, f4vSettings: F4vSettings? = nil, container: ContainerType, m3u8Settings: M3u8Settings? = nil) { + self.m2tsSettings = m2tsSettings + self.movSettings = movSettings + self.mp4Settings = mp4Settings + self.f4vSettings = f4vSettings + self.container = container + self.m3u8Settings = m3u8Settings } private enum CodingKeys: String, CodingKey { - case name = "name" + case m2tsSettings = "m2tsSettings" + case movSettings = "movSettings" + case mp4Settings = "mp4Settings" + case f4vSettings = "f4vSettings" + case container = "container" + case m3u8Settings = "m3u8Settings" } } - public enum M3u8Scte35Source: String, CustomStringConvertible, Codable { - case passthrough = "PASSTHROUGH" + public enum ProresTelecine: String, CustomStringConvertible, Codable { case none = "NONE" + case hard = "HARD" public var description: String { return self.rawValue } } - public struct OutputGroupDetail: AWSShape { + public struct SpekeKeyProvider: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OutputDetails", location: .body(locationName: "outputDetails"), required: false, type: .list) + AWSShapeMember(label: "ResourceId", location: .body(locationName: "resourceId"), required: true, type: .string), + AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: true, type: .string), + AWSShapeMember(label: "SystemIds", location: .body(locationName: "systemIds"), required: true, type: .list) ] - /// Details about the output - public let outputDetails: [OutputDetail]? + /// The SPEKE-compliant server uses Resource ID (ResourceId) to identify content. + public let resourceId: String + /// Use URL (Url) to specify the SPEKE-compliant server that will provide keys for content. + public let url: String + /// Relates to SPEKE implementation. DRM system identifiers. DASH output groups support a max of two system ids. Other group types support one system id. + public let systemIds: [String] - public init(outputDetails: [OutputDetail]? = nil) { - self.outputDetails = outputDetails + public init(resourceId: String, url: String, systemIds: [String]) { + self.resourceId = resourceId + self.url = url + self.systemIds = systemIds } private enum CodingKeys: String, CodingKey { - case outputDetails = "outputDetails" + case resourceId = "resourceId" + case url = "url" + case systemIds = "systemIds" } } - public enum H264UnregisteredSeiTimecode: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } - - public enum Mpeg2Telecine: String, CustomStringConvertible, Codable { - case none = "NONE" - case soft = "SOFT" - case hard = "HARD" - public var description: String { return self.rawValue } - } - - public enum H265Tiles: String, CustomStringConvertible, Codable { + public enum H265SceneChangeDetect: String, CustomStringConvertible, Codable { case disabled = "DISABLED" case enabled = "ENABLED" public var description: String { return self.rawValue } } - public struct AudioSelectorGroup: AWSShape { + public struct UpdateJobTemplateRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AudioSelectorNames", location: .body(locationName: "audioSelectorNames"), required: false, type: .list) + AWSShapeMember(label: "Category", location: .body(locationName: "category"), required: false, type: .string), + AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: false, type: .structure), + AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "Queue", location: .body(locationName: "queue"), required: false, type: .string), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] - /// Name of an "Audio Selector":#inputs-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. - public let audioSelectorNames: [String]? + /// The new category for the job template, if you are changing it. + public let category: String? + public let settings: JobTemplateSettings? + /// The name of the job template you are modifying + public let name: String + /// The new queue for the job template, if you are changing it. + public let queue: String? + /// The new description for the job template, if you are changing it. + public let description: String? - public init(audioSelectorNames: [String]? = nil) { - self.audioSelectorNames = audioSelectorNames + public init(category: String? = nil, settings: JobTemplateSettings? = nil, name: String, queue: String? = nil, description: String? = nil) { + self.category = category + self.settings = settings + self.name = name + self.queue = queue + self.description = description } private enum CodingKeys: String, CodingKey { - case audioSelectorNames = "audioSelectorNames" + case category = "category" + case settings = "settings" + case name = "name" + case queue = "queue" + case description = "description" } } - public struct CreateJobResponse: AWSShape { + public struct CaptionDescriptionPreset: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Job", location: .body(locationName: "job"), required: false, type: .structure) + AWSShapeMember(label: "CustomLanguageCode", location: .body(locationName: "customLanguageCode"), required: false, type: .string), + AWSShapeMember(label: "LanguageDescription", location: .body(locationName: "languageDescription"), required: false, type: .string), + AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .enum), + AWSShapeMember(label: "DestinationSettings", location: .body(locationName: "destinationSettings"), required: true, type: .structure) ] - public let job: Job? + /// Indicates the language of the caption output track, using the ISO 639-2 or ISO 639-3 three-letter language code + public let customLanguageCode: String? + /// Human readable information to indicate captions available for players (eg. English, or Spanish). Alphanumeric characters, spaces, and underscore are legal. + public let languageDescription: String? + /// Indicates the language of the caption output track. + public let languageCode: LanguageCode? + public let destinationSettings: CaptionDestinationSettings - public init(job: Job? = nil) { - self.job = job + public init(customLanguageCode: String? = nil, languageDescription: String? = nil, languageCode: LanguageCode? = nil, destinationSettings: CaptionDestinationSettings) { + self.customLanguageCode = customLanguageCode + self.languageDescription = languageDescription + self.languageCode = languageCode + self.destinationSettings = destinationSettings } private enum CodingKeys: String, CodingKey { - case job = "job" + case customLanguageCode = "customLanguageCode" + case languageDescription = "languageDescription" + case languageCode = "languageCode" + case destinationSettings = "destinationSettings" } } - public struct Input: AWSShape { + public struct ChannelMapping: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DeblockFilter", location: .body(locationName: "deblockFilter"), required: false, type: .enum), - AWSShapeMember(label: "FilterEnable", location: .body(locationName: "filterEnable"), required: false, type: .enum), - AWSShapeMember(label: "AudioSelectors", location: .body(locationName: "audioSelectors"), required: false, type: .map), - AWSShapeMember(label: "PsiControl", location: .body(locationName: "psiControl"), required: false, type: .enum), - AWSShapeMember(label: "FilterStrength", location: .body(locationName: "filterStrength"), required: false, type: .integer), - AWSShapeMember(label: "DenoiseFilter", location: .body(locationName: "denoiseFilter"), required: false, type: .enum), - AWSShapeMember(label: "InputClippings", location: .body(locationName: "inputClippings"), required: false, type: .list), - AWSShapeMember(label: "ProgramNumber", location: .body(locationName: "programNumber"), required: false, type: .integer), - AWSShapeMember(label: "VideoSelector", location: .body(locationName: "videoSelector"), required: false, type: .structure), - AWSShapeMember(label: "FileInput", location: .body(locationName: "fileInput"), required: false, type: .string), - AWSShapeMember(label: "AudioSelectorGroups", location: .body(locationName: "audioSelectorGroups"), required: false, type: .map), - AWSShapeMember(label: "CaptionSelectors", location: .body(locationName: "captionSelectors"), required: false, type: .map), - AWSShapeMember(label: "TimecodeSource", location: .body(locationName: "timecodeSource"), required: false, type: .enum) + AWSShapeMember(label: "OutputChannels", location: .body(locationName: "outputChannels"), required: true, type: .list) ] - public let deblockFilter: InputDeblockFilter? - public let filterEnable: InputFilterEnable? - /// 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. - public let audioSelectors: [String: AudioSelector]? - public let psiControl: InputPsiControl? - /// Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0. - public let filterStrength: Int32? - public let denoiseFilter: InputDenoiseFilter? - /// (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. - public let inputClippings: [InputClipping]? - /// 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. - public let programNumber: Int32? - public let videoSelector: VideoSelector? - /// 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. - public let fileInput: String? - /// 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. - public let audioSelectorGroups: [String: AudioSelectorGroup]? - /// 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. - public let captionSelectors: [String: CaptionSelector]? - public let timecodeSource: InputTimecodeSource? + /// List of output channels + public let outputChannels: [OutputChannelMapping] - public init(deblockFilter: InputDeblockFilter? = nil, filterEnable: InputFilterEnable? = nil, audioSelectors: [String: AudioSelector]? = nil, psiControl: InputPsiControl? = nil, filterStrength: Int32? = nil, denoiseFilter: InputDenoiseFilter? = nil, inputClippings: [InputClipping]? = nil, programNumber: Int32? = nil, videoSelector: VideoSelector? = nil, fileInput: String? = nil, audioSelectorGroups: [String: AudioSelectorGroup]? = nil, captionSelectors: [String: CaptionSelector]? = nil, timecodeSource: InputTimecodeSource? = nil) { - self.deblockFilter = deblockFilter - self.filterEnable = filterEnable - self.audioSelectors = audioSelectors - self.psiControl = psiControl - self.filterStrength = filterStrength - self.denoiseFilter = denoiseFilter - self.inputClippings = inputClippings - self.programNumber = programNumber - self.videoSelector = videoSelector - self.fileInput = fileInput - self.audioSelectorGroups = audioSelectorGroups - self.captionSelectors = captionSelectors - self.timecodeSource = timecodeSource + public init(outputChannels: [OutputChannelMapping]) { + self.outputChannels = outputChannels } private enum CodingKeys: String, CodingKey { - case deblockFilter = "deblockFilter" - case filterEnable = "filterEnable" - case audioSelectors = "audioSelectors" - case psiControl = "psiControl" - case filterStrength = "filterStrength" - case denoiseFilter = "denoiseFilter" - case inputClippings = "inputClippings" - case programNumber = "programNumber" - case videoSelector = "videoSelector" - case fileInput = "fileInput" - case audioSelectorGroups = "audioSelectorGroups" - case captionSelectors = "captionSelectors" - case timecodeSource = "timecodeSource" + case outputChannels = "outputChannels" } } - public enum H264SlowPal: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } - - public enum H264ParControl: String, CustomStringConvertible, Codable { - case initializeFromSource = "INITIALIZE_FROM_SOURCE" - case specified = "SPECIFIED" + public enum BurninSubtitleFontColor: String, CustomStringConvertible, Codable { + case white = "WHITE" + case black = "BLACK" + case yellow = "YELLOW" + case red = "RED" + case green = "GREEN" + case blue = "BLUE" public var description: String { return self.rawValue } } - public struct DeletePresetRequest: AWSShape { + public struct ColorCorrector: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string) + AWSShapeMember(label: "Brightness", location: .body(locationName: "brightness"), required: false, type: .integer), + AWSShapeMember(label: "Hue", location: .body(locationName: "hue"), required: false, type: .integer), + AWSShapeMember(label: "Saturation", location: .body(locationName: "saturation"), required: false, type: .integer), + AWSShapeMember(label: "Hdr10Metadata", location: .body(locationName: "hdr10Metadata"), required: false, type: .structure), + AWSShapeMember(label: "ColorSpaceConversion", location: .body(locationName: "colorSpaceConversion"), required: false, type: .enum), + AWSShapeMember(label: "Contrast", location: .body(locationName: "contrast"), required: false, type: .integer) ] - /// The name of the preset to be deleted. - public let name: String + /// Brightness level. + public let brightness: Int32? + /// Hue in degrees. + public let hue: Int32? + /// Saturation level. + public let saturation: Int32? + public let hdr10Metadata: Hdr10Metadata? + public let colorSpaceConversion: ColorSpaceConversion? + /// Contrast level. + public let contrast: Int32? - public init(name: String) { - self.name = name + public init(brightness: Int32? = nil, hue: Int32? = nil, saturation: Int32? = nil, hdr10Metadata: Hdr10Metadata? = nil, colorSpaceConversion: ColorSpaceConversion? = nil, contrast: Int32? = nil) { + self.brightness = brightness + self.hue = hue + self.saturation = saturation + self.hdr10Metadata = hdr10Metadata + self.colorSpaceConversion = colorSpaceConversion + self.contrast = contrast } private enum CodingKeys: String, CodingKey { - case name = "name" + case brightness = "brightness" + case hue = "hue" + case saturation = "saturation" + case hdr10Metadata = "hdr10Metadata" + case colorSpaceConversion = "colorSpaceConversion" + case contrast = "contrast" } } - public enum EmbeddedConvert608To708: String, CustomStringConvertible, Codable { - case upconvert = "UPCONVERT" - case disabled = "DISABLED" + public enum Eac3BitstreamMode: String, CustomStringConvertible, Codable { + case completeMain = "COMPLETE_MAIN" + case commentary = "COMMENTARY" + case emergency = "EMERGENCY" + case hearingImpaired = "HEARING_IMPAIRED" + case visuallyImpaired = "VISUALLY_IMPAIRED" public var description: String { return self.rawValue } } - public enum Mp4FreeSpaceBox: String, CustomStringConvertible, Codable { - case include = "INCLUDE" - case exclude = "EXCLUDE" + public enum AudioNormalizationPeakCalculation: String, CustomStringConvertible, Codable { + case truePeak = "TRUE_PEAK" + case none = "NONE" public var description: String { return self.rawValue } } - public struct OutputGroupSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MsSmoothGroupSettings", location: .body(locationName: "msSmoothGroupSettings"), required: false, type: .structure), - AWSShapeMember(label: "FileGroupSettings", location: .body(locationName: "fileGroupSettings"), required: false, type: .structure), - AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum), - AWSShapeMember(label: "HlsGroupSettings", location: .body(locationName: "hlsGroupSettings"), required: false, type: .structure), - AWSShapeMember(label: "DashIsoGroupSettings", location: .body(locationName: "dashIsoGroupSettings"), required: false, type: .structure) - ] - public let msSmoothGroupSettings: MsSmoothGroupSettings? - public let fileGroupSettings: FileGroupSettings? - /// Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming) - public let `type`: OutputGroupType? - public let hlsGroupSettings: HlsGroupSettings? - public let dashIsoGroupSettings: DashIsoGroupSettings? - - public init(msSmoothGroupSettings: MsSmoothGroupSettings? = nil, fileGroupSettings: FileGroupSettings? = nil, type: OutputGroupType? = nil, hlsGroupSettings: HlsGroupSettings? = nil, dashIsoGroupSettings: DashIsoGroupSettings? = nil) { - self.msSmoothGroupSettings = msSmoothGroupSettings - self.fileGroupSettings = fileGroupSettings - self.`type` = `type` - self.hlsGroupSettings = hlsGroupSettings - self.dashIsoGroupSettings = dashIsoGroupSettings - } - - private enum CodingKeys: String, CodingKey { - case msSmoothGroupSettings = "msSmoothGroupSettings" - case fileGroupSettings = "fileGroupSettings" - case `type` = "type" - case hlsGroupSettings = "hlsGroupSettings" - case dashIsoGroupSettings = "dashIsoGroupSettings" - } + public enum CaptionDestinationType: String, CustomStringConvertible, Codable { + case burnIn = "BURN_IN" + case dvbSub = "DVB_SUB" + case embedded = "EMBEDDED" + case scc = "SCC" + case srt = "SRT" + case teletext = "TELETEXT" + case ttml = "TTML" + case webvtt = "WEBVTT" + public var description: String { return self.rawValue } } - public struct JobTemplate: AWSShape { + public struct CreatePresetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CreatedAt", location: .body(locationName: "createdAt"), required: false, type: .timestamp), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), AWSShapeMember(label: "Category", location: .body(locationName: "category"), required: false, type: .string), - AWSShapeMember(label: "LastUpdated", location: .body(locationName: "lastUpdated"), required: false, type: .timestamp), - AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: false, type: .structure), - AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum), - AWSShapeMember(label: "Queue", location: .body(locationName: "queue"), required: false, type: .string), + AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: true, type: .structure), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "Tags", location: .body(locationName: "tags"), required: false, type: .map), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] - /// The timestamp in epoch seconds for Job template creation. - public let createdAt: TimeStamp? - /// An identifier for this resource that is unique within all of AWS. - public let arn: String? - /// A name you create for each job template. Each name must be unique within your account. - public let name: String? - /// An optional category you create to organize your job templates. + /// Optional. A category for the preset you are creating. public let category: String? - /// The timestamp in epoch seconds when the Job template was last updated. - public let lastUpdated: TimeStamp? - public let settings: JobTemplateSettings? - /// 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. - public let `type`: `Type`? - /// 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. - public let queue: String? - /// An optional description you create for each job template. + public let settings: PresetSettings + /// The name of the preset you are creating. + public let name: String + /// The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key. + public let tags: [String: String]? + /// Optional. A description of the preset you are creating. public let description: String? - public init(createdAt: TimeStamp? = nil, arn: String? = nil, name: String? = nil, category: String? = nil, lastUpdated: TimeStamp? = nil, settings: JobTemplateSettings? = nil, type: `Type`? = nil, queue: String? = nil, description: String? = nil) { - self.createdAt = createdAt - self.arn = arn - self.name = name + public init(category: String? = nil, settings: PresetSettings, name: String, tags: [String: String]? = nil, description: String? = nil) { self.category = category - self.lastUpdated = lastUpdated self.settings = settings - self.`type` = `type` - self.queue = queue + self.name = name + self.tags = tags self.description = description } private enum CodingKeys: String, CodingKey { - case createdAt = "createdAt" - case arn = "arn" - case name = "name" case category = "category" - case lastUpdated = "lastUpdated" case settings = "settings" - case `type` = "type" - case queue = "queue" + case name = "name" + case tags = "tags" case description = "description" } } - public struct StaticKeyProvider: AWSShape { + public struct UpdatePresetResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StaticKeyValue", location: .body(locationName: "staticKeyValue"), required: false, type: .string), - AWSShapeMember(label: "KeyFormat", location: .body(locationName: "keyFormat"), required: false, type: .string), - AWSShapeMember(label: "KeyFormatVersions", location: .body(locationName: "keyFormatVersions"), required: false, type: .string), - AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string) + AWSShapeMember(label: "Preset", location: .body(locationName: "preset"), required: false, type: .structure) ] - /// Relates to DRM implementation. Use a 32-character hexidecimal string to specify Key Value (StaticKeyValue). - public let staticKeyValue: String? - /// 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'. - public let keyFormat: String? - /// Relates to DRM implementation. Either a single positive integer version value or a slash delimited list of version values (1/2/3). - public let keyFormatVersions: String? - /// Relates to DRM implementation. The location of the license server used for protecting content. - public let url: String? + public let preset: Preset? - public init(staticKeyValue: String? = nil, keyFormat: String? = nil, keyFormatVersions: String? = nil, url: String? = nil) { - self.staticKeyValue = staticKeyValue - self.keyFormat = keyFormat - self.keyFormatVersions = keyFormatVersions - self.url = url + public init(preset: Preset? = nil) { + self.preset = preset } private enum CodingKeys: String, CodingKey { - case staticKeyValue = "staticKeyValue" - case keyFormat = "keyFormat" - case keyFormatVersions = "keyFormatVersions" - case url = "url" + case preset = "preset" } } - public struct DvbTdtSettings: AWSShape { + public enum AfdSignaling: String, CustomStringConvertible, Codable { + case none = "NONE" + case auto = "AUTO" + case fixed = "FIXED" + public var description: String { return self.rawValue } + } + + public enum M2tsBufferModel: String, CustomStringConvertible, Codable { + case multiplex = "MULTIPLEX" + case none = "NONE" + public var description: String { return self.rawValue } + } + + public struct OutputDetail: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TdtInterval", location: .body(locationName: "tdtInterval"), required: false, type: .integer) + AWSShapeMember(label: "VideoDetails", location: .body(locationName: "videoDetails"), required: false, type: .structure), + AWSShapeMember(label: "DurationInMs", location: .body(locationName: "durationInMs"), required: false, type: .integer) ] - /// The number of milliseconds between instances of this table in the output transport stream. - public let tdtInterval: Int32? + public let videoDetails: VideoDetail? + /// Duration in milliseconds + public let durationInMs: Int32? - public init(tdtInterval: Int32? = nil) { - self.tdtInterval = tdtInterval + public init(videoDetails: VideoDetail? = nil, durationInMs: Int32? = nil) { + self.videoDetails = videoDetails + self.durationInMs = durationInMs } private enum CodingKeys: String, CodingKey { - case tdtInterval = "tdtInterval" + case videoDetails = "videoDetails" + case durationInMs = "durationInMs" } } - public struct AudioNormalizationSettings: AWSShape { + public struct ListPresetsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Algorithm", location: .body(locationName: "algorithm"), required: false, type: .enum), - AWSShapeMember(label: "CorrectionGateLevel", location: .body(locationName: "correctionGateLevel"), required: false, type: .integer), - AWSShapeMember(label: "PeakCalculation", location: .body(locationName: "peakCalculation"), required: false, type: .enum), - AWSShapeMember(label: "LoudnessLogging", location: .body(locationName: "loudnessLogging"), required: false, type: .enum), - AWSShapeMember(label: "AlgorithmControl", location: .body(locationName: "algorithmControl"), required: false, type: .enum), - AWSShapeMember(label: "TargetLkfs", location: .body(locationName: "targetLkfs"), required: false, type: .double) + AWSShapeMember(label: "Presets", location: .body(locationName: "presets"), required: false, type: .list), + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) ] - public let algorithm: AudioNormalizationAlgorithm? - /// 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. - public let correctionGateLevel: Int32? - public let peakCalculation: AudioNormalizationPeakCalculation? - public let loudnessLogging: AudioNormalizationLoudnessLogging? - public let algorithmControl: AudioNormalizationAlgorithmControl? - /// 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. - public let targetLkfs: Double? + /// List of presets + public let presets: [Preset]? + /// Use this string to request the next batch of presets. + public let nextToken: String? - public init(algorithm: AudioNormalizationAlgorithm? = nil, correctionGateLevel: Int32? = nil, peakCalculation: AudioNormalizationPeakCalculation? = nil, loudnessLogging: AudioNormalizationLoudnessLogging? = nil, algorithmControl: AudioNormalizationAlgorithmControl? = nil, targetLkfs: Double? = nil) { - self.algorithm = algorithm - self.correctionGateLevel = correctionGateLevel - self.peakCalculation = peakCalculation - self.loudnessLogging = loudnessLogging - self.algorithmControl = algorithmControl - self.targetLkfs = targetLkfs + public init(presets: [Preset]? = nil, nextToken: String? = nil) { + self.presets = presets + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case algorithm = "algorithm" - case correctionGateLevel = "correctionGateLevel" - case peakCalculation = "peakCalculation" - case loudnessLogging = "loudnessLogging" - case algorithmControl = "algorithmControl" - case targetLkfs = "targetLkfs" + case presets = "presets" + case nextToken = "nextToken" } } - public struct DvbSdtSettings: AWSShape { + public enum HlsClientCache: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public enum H264SpatialAdaptiveQuantization: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public struct JobSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OutputSdt", location: .body(locationName: "outputSdt"), required: false, type: .enum), - AWSShapeMember(label: "ServiceName", location: .body(locationName: "serviceName"), required: false, type: .string), - AWSShapeMember(label: "SdtInterval", location: .body(locationName: "sdtInterval"), required: false, type: .integer), - AWSShapeMember(label: "ServiceProviderName", location: .body(locationName: "serviceProviderName"), required: false, type: .string) + AWSShapeMember(label: "TimedMetadataInsertion", location: .body(locationName: "timedMetadataInsertion"), required: false, type: .structure), + AWSShapeMember(label: "OutputGroups", location: .body(locationName: "outputGroups"), required: true, type: .list), + AWSShapeMember(label: "NielsenConfiguration", location: .body(locationName: "nielsenConfiguration"), required: false, type: .structure), + AWSShapeMember(label: "Inputs", location: .body(locationName: "inputs"), required: true, type: .list), + AWSShapeMember(label: "AdAvailOffset", location: .body(locationName: "adAvailOffset"), required: false, type: .integer), + AWSShapeMember(label: "AvailBlanking", location: .body(locationName: "availBlanking"), required: false, type: .structure), + AWSShapeMember(label: "TimecodeConfig", location: .body(locationName: "timecodeConfig"), required: false, type: .structure) ] - public let outputSdt: OutputSdt? - /// The service name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters. - public let serviceName: String? - /// The number of milliseconds between instances of this table in the output transport stream. - public let sdtInterval: Int32? - /// The service provider name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters. - public let serviceProviderName: String? + public let timedMetadataInsertion: TimedMetadataInsertion? + /// (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 + public let outputGroups: [OutputGroup] + public let nielsenConfiguration: NielsenConfiguration? + /// 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. + public let inputs: [Input] + /// When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. + public let adAvailOffset: Int32? + /// Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails. + public let availBlanking: AvailBlanking? + /// Contains settings used to acquire and adjust timecode information from inputs. + public let timecodeConfig: TimecodeConfig? - public init(outputSdt: OutputSdt? = nil, serviceName: String? = nil, sdtInterval: Int32? = nil, serviceProviderName: String? = nil) { - self.outputSdt = outputSdt - self.serviceName = serviceName - self.sdtInterval = sdtInterval - self.serviceProviderName = serviceProviderName + public init(timedMetadataInsertion: TimedMetadataInsertion? = nil, outputGroups: [OutputGroup], nielsenConfiguration: NielsenConfiguration? = nil, inputs: [Input], adAvailOffset: Int32? = nil, availBlanking: AvailBlanking? = nil, timecodeConfig: TimecodeConfig? = nil) { + self.timedMetadataInsertion = timedMetadataInsertion + self.outputGroups = outputGroups + self.nielsenConfiguration = nielsenConfiguration + self.inputs = inputs + self.adAvailOffset = adAvailOffset + self.availBlanking = availBlanking + self.timecodeConfig = timecodeConfig } private enum CodingKeys: String, CodingKey { - case outputSdt = "outputSdt" - case serviceName = "serviceName" - case sdtInterval = "sdtInterval" - case serviceProviderName = "serviceProviderName" + case timedMetadataInsertion = "timedMetadataInsertion" + case outputGroups = "outputGroups" + case nielsenConfiguration = "nielsenConfiguration" + case inputs = "inputs" + case adAvailOffset = "adAvailOffset" + case availBlanking = "availBlanking" + case timecodeConfig = "timecodeConfig" } } - public enum AntiAlias: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } - - public enum Eac3StereoDownmix: String, CustomStringConvertible, Codable { - case notIndicated = "NOT_INDICATED" - case loRo = "LO_RO" - case ltRt = "LT_RT" - case dpl2 = "DPL2" + public enum MovMpeg2FourCCControl: String, CustomStringConvertible, Codable { + case xdcam = "XDCAM" + case mpeg = "MPEG" public var description: String { return self.rawValue } } - public enum M2tsSegmentationStyle: String, CustomStringConvertible, Codable { - case maintainCadence = "MAINTAIN_CADENCE" - case resetCadence = "RESET_CADENCE" + public enum AacCodecProfile: String, CustomStringConvertible, Codable { + case lc = "LC" + case hev1 = "HEV1" + case hev2 = "HEV2" public var description: String { return self.rawValue } } - public enum M2tsSegmentationMarkers: String, CustomStringConvertible, Codable { - case none = "NONE" - case raiSegstart = "RAI_SEGSTART" - case raiAdapt = "RAI_ADAPT" - case psiSegstart = "PSI_SEGSTART" - case ebp = "EBP" - case ebpLegacy = "EBP_LEGACY" + public enum AudioLanguageCodeControl: String, CustomStringConvertible, Codable { + case followInput = "FOLLOW_INPUT" + case useConfigured = "USE_CONFIGURED" public var description: String { return self.rawValue } } - public struct FileSourceSettings: AWSShape { + public struct Ac3Settings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SourceFile", location: .body(locationName: "sourceFile"), required: false, type: .string), - AWSShapeMember(label: "TimeDelta", location: .body(locationName: "timeDelta"), required: false, type: .integer), - AWSShapeMember(label: "Convert608To708", location: .body(locationName: "convert608To708"), required: false, type: .enum) + AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: false, type: .enum), + AWSShapeMember(label: "LfeFilter", location: .body(locationName: "lfeFilter"), required: false, type: .enum), + AWSShapeMember(label: "BitstreamMode", location: .body(locationName: "bitstreamMode"), required: false, type: .enum), + AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .integer), + AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), + AWSShapeMember(label: "MetadataControl", location: .body(locationName: "metadataControl"), required: false, type: .enum), + AWSShapeMember(label: "DynamicRangeCompressionProfile", location: .body(locationName: "dynamicRangeCompressionProfile"), required: false, type: .enum), + AWSShapeMember(label: "Dialnorm", location: .body(locationName: "dialnorm"), required: false, type: .integer) ] - /// External caption file used for loading captions. Accepted file extensions are 'scc', 'ttml', 'dfxp', 'stl', 'srt', and 'smi'. Auto-populated when Infer External Filename is checked. - public let sourceFile: String? - /// Specifies a time delta in seconds to offset the captions from the source file. - public let timeDelta: Int32? - public let convert608To708: FileSourceConvert608To708? + public let codingMode: Ac3CodingMode? + public let lfeFilter: Ac3LfeFilter? + public let bitstreamMode: Ac3BitstreamMode? + /// Sample rate in hz. Sample rate is always 48000. + public let sampleRate: Int32? + /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. + public let bitrate: Int32? + public let metadataControl: Ac3MetadataControl? + public let dynamicRangeCompressionProfile: Ac3DynamicRangeCompressionProfile? + /// Sets the dialnorm for the output. If blank and input audio is Dolby Digital, dialnorm will be passed through. + public let dialnorm: Int32? - public init(sourceFile: String? = nil, timeDelta: Int32? = nil, convert608To708: FileSourceConvert608To708? = nil) { - self.sourceFile = sourceFile - self.timeDelta = timeDelta - self.convert608To708 = convert608To708 + public init(codingMode: Ac3CodingMode? = nil, lfeFilter: Ac3LfeFilter? = nil, bitstreamMode: Ac3BitstreamMode? = nil, sampleRate: Int32? = nil, bitrate: Int32? = nil, metadataControl: Ac3MetadataControl? = nil, dynamicRangeCompressionProfile: Ac3DynamicRangeCompressionProfile? = nil, dialnorm: Int32? = nil) { + self.codingMode = codingMode + self.lfeFilter = lfeFilter + self.bitstreamMode = bitstreamMode + self.sampleRate = sampleRate + self.bitrate = bitrate + self.metadataControl = metadataControl + self.dynamicRangeCompressionProfile = dynamicRangeCompressionProfile + self.dialnorm = dialnorm } private enum CodingKeys: String, CodingKey { - case sourceFile = "sourceFile" - case timeDelta = "timeDelta" - case convert608To708 = "convert608To708" + case codingMode = "codingMode" + case lfeFilter = "lfeFilter" + case bitstreamMode = "bitstreamMode" + case sampleRate = "sampleRate" + case bitrate = "bitrate" + case metadataControl = "metadataControl" + case dynamicRangeCompressionProfile = "dynamicRangeCompressionProfile" + case dialnorm = "dialnorm" } } - public enum Mpeg2InterlaceMode: String, CustomStringConvertible, Codable { - case progressive = "PROGRESSIVE" - case topField = "TOP_FIELD" - case bottomField = "BOTTOM_FIELD" - case followTopField = "FOLLOW_TOP_FIELD" - case followBottomField = "FOLLOW_BOTTOM_FIELD" + public enum HlsProgramDateTime: String, CustomStringConvertible, Codable { + case include = "INCLUDE" + case exclude = "EXCLUDE" public var description: String { return self.rawValue } } - public struct DescribeEndpointsRequest: AWSShape { + public enum InputDenoiseFilter: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" + public var description: String { return self.rawValue } + } + + public enum Mp4MoovPlacement: String, CustomStringConvertible, Codable { + case progressiveDownload = "PROGRESSIVE_DOWNLOAD" + case normal = "NORMAL" + public var description: String { return self.rawValue } + } + + public struct CaptionDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer) + AWSShapeMember(label: "CaptionSelectorName", location: .body(locationName: "captionSelectorName"), required: true, type: .string), + AWSShapeMember(label: "LanguageDescription", location: .body(locationName: "languageDescription"), required: false, type: .string), + AWSShapeMember(label: "CustomLanguageCode", location: .body(locationName: "customLanguageCode"), required: false, type: .string), + AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .enum), + AWSShapeMember(label: "DestinationSettings", location: .body(locationName: "destinationSettings"), required: true, type: .structure) ] - /// Use this string, provided with the response to a previous request, to request the next batch of endpoints. - public let nextToken: String? - /// Optional. Max number of endpoints, up to twenty, that will be returned at one time. - public let maxResults: Int32? + /// 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. + public let captionSelectorName: String + /// Human readable information to indicate captions available for players (eg. English, or Spanish). Alphanumeric characters, spaces, and underscore are legal. + public let languageDescription: String? + /// Indicates the language of the caption output track, using the ISO 639-2 or ISO 639-3 three-letter language code + public let customLanguageCode: String? + /// Indicates the language of the caption output track. + public let languageCode: LanguageCode? + public let destinationSettings: CaptionDestinationSettings - public init(nextToken: String? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.maxResults = maxResults + public init(captionSelectorName: String, languageDescription: String? = nil, customLanguageCode: String? = nil, languageCode: LanguageCode? = nil, destinationSettings: CaptionDestinationSettings) { + self.captionSelectorName = captionSelectorName + self.languageDescription = languageDescription + self.customLanguageCode = customLanguageCode + self.languageCode = languageCode + self.destinationSettings = destinationSettings } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case maxResults = "maxResults" + case captionSelectorName = "captionSelectorName" + case languageDescription = "languageDescription" + case customLanguageCode = "customLanguageCode" + case languageCode = "languageCode" + case destinationSettings = "destinationSettings" } } - public enum Mpeg2FramerateConversionAlgorithm: String, CustomStringConvertible, Codable { - case duplicateDrop = "DUPLICATE_DROP" - case interpolate = "INTERPOLATE" - public var description: String { return self.rawValue } + public struct GetJobTemplateResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobTemplate", location: .body(locationName: "jobTemplate"), required: false, type: .structure) + ] + public let jobTemplate: JobTemplate? + + public init(jobTemplate: JobTemplate? = nil) { + self.jobTemplate = jobTemplate + } + + private enum CodingKeys: String, CodingKey { + case jobTemplate = "jobTemplate" + } } - public enum HlsSegmentControl: String, CustomStringConvertible, Codable { - case singleFile = "SINGLE_FILE" - case segmentedFiles = "SEGMENTED_FILES" + public enum ProresParControl: String, CustomStringConvertible, Codable { + case initializeFromSource = "INITIALIZE_FROM_SOURCE" + case specified = "SPECIFIED" public var description: String { return self.rawValue } } - public enum TimedMetadata: String, CustomStringConvertible, Codable { - case passthrough = "PASSTHROUGH" - case none = "NONE" - public var description: String { return self.rawValue } + public struct SccDestinationSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Framerate", location: .body(locationName: "framerate"), required: false, type: .enum) + ] + public let framerate: SccDestinationFramerate? + + public init(framerate: SccDestinationFramerate? = nil) { + self.framerate = framerate + } + + private enum CodingKeys: String, CodingKey { + case framerate = "framerate" + } } - public enum H264TemporalAdaptiveQuantization: String, CustomStringConvertible, Codable { + public enum H264GopBReference: String, CustomStringConvertible, Codable { case disabled = "DISABLED" case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum ColorSpace: String, CustomStringConvertible, Codable { - case follow = "FOLLOW" - case rec601 = "REC_601" - case rec709 = "REC_709" - case hdr10 = "HDR10" - case hlg2020 = "HLG_2020" + public enum HlsStreamInfResolution: String, CustomStringConvertible, Codable { + case include = "INCLUDE" + case exclude = "EXCLUDE" public var description: String { return self.rawValue } } - public struct Mp2Settings: AWSShape { + public struct OutputGroupDetail: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), - AWSShapeMember(label: "Channels", location: .body(locationName: "channels"), required: false, type: .integer), - AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .integer) + AWSShapeMember(label: "OutputDetails", location: .body(locationName: "outputDetails"), required: false, type: .list) ] - /// Average bitrate in bits/second. - public let bitrate: Int32? - /// 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. - public let channels: Int32? - /// Sample rate in hz. - public let sampleRate: Int32? + /// Details about the output + public let outputDetails: [OutputDetail]? - public init(bitrate: Int32? = nil, channels: Int32? = nil, sampleRate: Int32? = nil) { - self.bitrate = bitrate - self.channels = channels - self.sampleRate = sampleRate + public init(outputDetails: [OutputDetail]? = nil) { + self.outputDetails = outputDetails } private enum CodingKeys: String, CodingKey { - case bitrate = "bitrate" - case channels = "channels" - case sampleRate = "sampleRate" + case outputDetails = "outputDetails" } } - public struct AudioCodecSettings: AWSShape { + public enum H265Tiles: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public enum Mpeg2Telecine: String, CustomStringConvertible, Codable { + case none = "NONE" + case soft = "SOFT" + case hard = "HARD" + public var description: String { return self.rawValue } + } + + public struct AudioSelectorGroup: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Eac3Settings", location: .body(locationName: "eac3Settings"), required: false, type: .structure), - AWSShapeMember(label: "AiffSettings", location: .body(locationName: "aiffSettings"), required: false, type: .structure), - AWSShapeMember(label: "Codec", location: .body(locationName: "codec"), required: false, type: .enum), - AWSShapeMember(label: "Ac3Settings", location: .body(locationName: "ac3Settings"), required: false, type: .structure), - AWSShapeMember(label: "WavSettings", location: .body(locationName: "wavSettings"), required: false, type: .structure), - AWSShapeMember(label: "Mp2Settings", location: .body(locationName: "mp2Settings"), required: false, type: .structure), - AWSShapeMember(label: "AacSettings", location: .body(locationName: "aacSettings"), required: false, type: .structure) + AWSShapeMember(label: "AudioSelectorNames", location: .body(locationName: "audioSelectorNames"), required: true, type: .list) ] - public let eac3Settings: Eac3Settings? - public let aiffSettings: AiffSettings? - public let codec: AudioCodec? - public let ac3Settings: Ac3Settings? - public let wavSettings: WavSettings? - public let mp2Settings: Mp2Settings? - public let aacSettings: AacSettings? + /// 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. + public let audioSelectorNames: [String] - public init(eac3Settings: Eac3Settings? = nil, aiffSettings: AiffSettings? = nil, codec: AudioCodec? = nil, ac3Settings: Ac3Settings? = nil, wavSettings: WavSettings? = nil, mp2Settings: Mp2Settings? = nil, aacSettings: AacSettings? = nil) { - self.eac3Settings = eac3Settings - self.aiffSettings = aiffSettings - self.codec = codec - self.ac3Settings = ac3Settings - self.wavSettings = wavSettings - self.mp2Settings = mp2Settings - self.aacSettings = aacSettings + public init(audioSelectorNames: [String]) { + self.audioSelectorNames = audioSelectorNames } private enum CodingKeys: String, CodingKey { - case eac3Settings = "eac3Settings" - case aiffSettings = "aiffSettings" - case codec = "codec" - case ac3Settings = "ac3Settings" - case wavSettings = "wavSettings" - case mp2Settings = "mp2Settings" - case aacSettings = "aacSettings" + case audioSelectorNames = "audioSelectorNames" } } - public enum HlsManifestCompression: String, CustomStringConvertible, Codable { - case gzip = "GZIP" - case none = "NONE" - public var description: String { return self.rawValue } - } - - public struct GetQueueRequest: AWSShape { + public struct CreateJobResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", location: .uri(locationName: "name"), required: true, type: .string) + AWSShapeMember(label: "Job", location: .body(locationName: "job"), required: false, type: .structure) ] - /// The name of the queue. - public let name: String + public let job: Job? - public init(name: String) { - self.name = name + public init(job: Job? = nil) { + self.job = job } private enum CodingKeys: String, CodingKey { - case name = "name" + case job = "job" } } - public struct NoiseReducerFilterSettings: AWSShape { + public struct Input: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Strength", location: .body(locationName: "strength"), required: false, type: .integer) + AWSShapeMember(label: "DeblockFilter", location: .body(locationName: "deblockFilter"), required: false, type: .enum), + AWSShapeMember(label: "FilterEnable", location: .body(locationName: "filterEnable"), required: false, type: .enum), + AWSShapeMember(label: "AudioSelectors", location: .body(locationName: "audioSelectors"), required: false, type: .map), + AWSShapeMember(label: "PsiControl", location: .body(locationName: "psiControl"), required: false, type: .enum), + AWSShapeMember(label: "FilterStrength", location: .body(locationName: "filterStrength"), required: false, type: .integer), + AWSShapeMember(label: "DenoiseFilter", location: .body(locationName: "denoiseFilter"), required: false, type: .enum), + AWSShapeMember(label: "InputClippings", location: .body(locationName: "inputClippings"), required: false, type: .list), + AWSShapeMember(label: "ProgramNumber", location: .body(locationName: "programNumber"), required: false, type: .integer), + AWSShapeMember(label: "VideoSelector", location: .body(locationName: "videoSelector"), required: false, type: .structure), + AWSShapeMember(label: "FileInput", location: .body(locationName: "fileInput"), required: true, type: .string), + AWSShapeMember(label: "AudioSelectorGroups", location: .body(locationName: "audioSelectorGroups"), required: false, type: .map), + AWSShapeMember(label: "CaptionSelectors", location: .body(locationName: "captionSelectors"), required: false, type: .map), + AWSShapeMember(label: "TimecodeSource", location: .body(locationName: "timecodeSource"), required: false, type: .enum) ] - /// Relative strength of noise reducing filter. Higher values produce stronger filtering. - public let strength: Int32? + public let deblockFilter: InputDeblockFilter? + public let filterEnable: InputFilterEnable? + /// 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. + public let audioSelectors: [String: AudioSelector]? + public let psiControl: InputPsiControl? + /// Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0. + public let filterStrength: Int32? + public let denoiseFilter: InputDenoiseFilter? + /// (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. + public let inputClippings: [InputClipping]? + /// 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. + public let programNumber: Int32? + public let videoSelector: VideoSelector? + /// 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. + public let fileInput: String + /// 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. + public let audioSelectorGroups: [String: AudioSelectorGroup]? + /// 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. + public let captionSelectors: [String: CaptionSelector]? + public let timecodeSource: InputTimecodeSource? - public init(strength: Int32? = nil) { - self.strength = strength + public init(deblockFilter: InputDeblockFilter? = nil, filterEnable: InputFilterEnable? = nil, audioSelectors: [String: AudioSelector]? = nil, psiControl: InputPsiControl? = nil, filterStrength: Int32? = nil, denoiseFilter: InputDenoiseFilter? = nil, inputClippings: [InputClipping]? = nil, programNumber: Int32? = nil, videoSelector: VideoSelector? = nil, fileInput: String, audioSelectorGroups: [String: AudioSelectorGroup]? = nil, captionSelectors: [String: CaptionSelector]? = nil, timecodeSource: InputTimecodeSource? = nil) { + self.deblockFilter = deblockFilter + self.filterEnable = filterEnable + self.audioSelectors = audioSelectors + self.psiControl = psiControl + self.filterStrength = filterStrength + self.denoiseFilter = denoiseFilter + self.inputClippings = inputClippings + self.programNumber = programNumber + self.videoSelector = videoSelector + self.fileInput = fileInput + self.audioSelectorGroups = audioSelectorGroups + self.captionSelectors = captionSelectors + self.timecodeSource = timecodeSource } private enum CodingKeys: String, CodingKey { - case strength = "strength" + case deblockFilter = "deblockFilter" + case filterEnable = "filterEnable" + case audioSelectors = "audioSelectors" + case psiControl = "psiControl" + case filterStrength = "filterStrength" + case denoiseFilter = "denoiseFilter" + case inputClippings = "inputClippings" + case programNumber = "programNumber" + case videoSelector = "videoSelector" + case fileInput = "fileInput" + case audioSelectorGroups = "audioSelectorGroups" + case captionSelectors = "captionSelectors" + case timecodeSource = "timecodeSource" } } - public enum H265TemporalIds: String, CustomStringConvertible, Codable { + public enum H264SlowPal: String, CustomStringConvertible, Codable { case disabled = "DISABLED" case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum AacRawFormat: String, CustomStringConvertible, Codable { - case latmLoas = "LATM_LOAS" - case none = "NONE" + public enum EmbeddedConvert608To708: String, CustomStringConvertible, Codable { + case upconvert = "UPCONVERT" + case disabled = "DISABLED" public var description: String { return self.rawValue } } - public enum H264RepeatPps: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum H264ParControl: String, CustomStringConvertible, Codable { + case initializeFromSource = "INITIALIZE_FROM_SOURCE" + case specified = "SPECIFIED" public var description: String { return self.rawValue } } - public struct ListJobTemplatesResponse: AWSShape { + public struct JobTemplate: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "JobTemplates", location: .body(locationName: "jobTemplates"), required: false, type: .list) + AWSShapeMember(label: "CreatedAt", location: .body(locationName: "createdAt"), required: false, type: .timestamp), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "Category", location: .body(locationName: "category"), required: false, type: .string), + AWSShapeMember(label: "LastUpdated", location: .body(locationName: "lastUpdated"), required: false, type: .timestamp), + AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: true, type: .structure), + AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum), + AWSShapeMember(label: "Queue", location: .body(locationName: "queue"), required: false, type: .string), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + ] + /// The timestamp in epoch seconds for Job template creation. + public let createdAt: TimeStamp? + /// An identifier for this resource that is unique within all of AWS. + public let arn: String? + /// A name you create for each job template. Each name must be unique within your account. + public let name: String + /// An optional category you create to organize your job templates. + public let category: String? + /// The timestamp in epoch seconds when the Job template was last updated. + public let lastUpdated: TimeStamp? + public let settings: JobTemplateSettings + /// 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. + public let `type`: `Type`? + /// 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. + public let queue: String? + /// An optional description you create for each job template. + public let description: String? + + public init(createdAt: TimeStamp? = nil, arn: String? = nil, name: String, category: String? = nil, lastUpdated: TimeStamp? = nil, settings: JobTemplateSettings, type: `Type`? = nil, queue: String? = nil, description: String? = nil) { + self.createdAt = createdAt + self.arn = arn + self.name = name + self.category = category + self.lastUpdated = lastUpdated + self.settings = settings + self.`type` = `type` + self.queue = queue + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case createdAt = "createdAt" + case arn = "arn" + case name = "name" + case category = "category" + case lastUpdated = "lastUpdated" + case settings = "settings" + case `type` = "type" + case queue = "queue" + case description = "description" + } + } + + public struct StaticKeyProvider: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StaticKeyValue", location: .body(locationName: "staticKeyValue"), required: true, type: .string), + AWSShapeMember(label: "KeyFormatVersions", location: .body(locationName: "keyFormatVersions"), required: false, type: .string), + AWSShapeMember(label: "KeyFormat", location: .body(locationName: "keyFormat"), required: false, type: .string), + AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: true, type: .string) ] - /// Use this string to request the next batch of job templates. - public let nextToken: String? - /// List of Job templates. - public let jobTemplates: [JobTemplate]? + /// Relates to DRM implementation. Use a 32-character hexidecimal string to specify Key Value (StaticKeyValue). + public let staticKeyValue: String + /// Relates to DRM implementation. Either a single positive integer version value or a slash delimited list of version values (1/2/3). + public let keyFormatVersions: String? + /// 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'. + public let keyFormat: String? + /// Relates to DRM implementation. The location of the license server used for protecting content. + public let url: String - public init(nextToken: String? = nil, jobTemplates: [JobTemplate]? = nil) { - self.nextToken = nextToken - self.jobTemplates = jobTemplates + public init(staticKeyValue: String, keyFormatVersions: String? = nil, keyFormat: String? = nil, url: String) { + self.staticKeyValue = staticKeyValue + self.keyFormatVersions = keyFormatVersions + self.keyFormat = keyFormat + self.url = url } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case jobTemplates = "jobTemplates" + case staticKeyValue = "staticKeyValue" + case keyFormatVersions = "keyFormatVersions" + case keyFormat = "keyFormat" + case url = "url" } } - public struct EmbeddedSourceSettings: AWSShape { + public struct DvbTdtSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Source608ChannelNumber", location: .body(locationName: "source608ChannelNumber"), required: false, type: .integer), - AWSShapeMember(label: "Convert608To708", location: .body(locationName: "convert608To708"), required: false, type: .enum), - AWSShapeMember(label: "Source608TrackNumber", location: .body(locationName: "source608TrackNumber"), required: false, type: .integer) + AWSShapeMember(label: "TdtInterval", location: .body(locationName: "tdtInterval"), required: true, type: .integer) ] - /// Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough. - public let source608ChannelNumber: Int32? - public let convert608To708: EmbeddedConvert608To708? - /// 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'. - public let source608TrackNumber: Int32? + /// The number of milliseconds between instances of this table in the output transport stream. + public let tdtInterval: Int32 - public init(source608ChannelNumber: Int32? = nil, convert608To708: EmbeddedConvert608To708? = nil, source608TrackNumber: Int32? = nil) { - self.source608ChannelNumber = source608ChannelNumber - self.convert608To708 = convert608To708 - self.source608TrackNumber = source608TrackNumber + public init(tdtInterval: Int32) { + self.tdtInterval = tdtInterval } private enum CodingKeys: String, CodingKey { - case source608ChannelNumber = "source608ChannelNumber" - case convert608To708 = "convert608To708" - case source608TrackNumber = "source608TrackNumber" + case tdtInterval = "tdtInterval" } } - public enum ScalingBehavior: String, CustomStringConvertible, Codable { - case `default` = "DEFAULT" - case stretchToOutput = "STRETCH_TO_OUTPUT" - public var description: String { return self.rawValue } - } - - public struct ExceptionBody: AWSShape { + public struct DvbSdtSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) + AWSShapeMember(label: "OutputSdt", location: .body(locationName: "outputSdt"), required: false, type: .enum), + AWSShapeMember(label: "ServiceName", location: .body(locationName: "serviceName"), required: false, type: .string), + AWSShapeMember(label: "SdtInterval", location: .body(locationName: "sdtInterval"), required: false, type: .integer), + AWSShapeMember(label: "ServiceProviderName", location: .body(locationName: "serviceProviderName"), required: false, type: .string) ] - public let message: String? + public let outputSdt: OutputSdt? + /// The service name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters. + public let serviceName: String? + /// The number of milliseconds between instances of this table in the output transport stream. + public let sdtInterval: Int32? + /// The service provider name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters. + public let serviceProviderName: String? - public init(message: String? = nil) { - self.message = message + public init(outputSdt: OutputSdt? = nil, serviceName: String? = nil, sdtInterval: Int32? = nil, serviceProviderName: String? = nil) { + self.outputSdt = outputSdt + self.serviceName = serviceName + self.sdtInterval = sdtInterval + self.serviceProviderName = serviceProviderName } private enum CodingKeys: String, CodingKey { - case message = "message" + case outputSdt = "outputSdt" + case serviceName = "serviceName" + case sdtInterval = "sdtInterval" + case serviceProviderName = "serviceProviderName" } } - public enum DvbSubtitleOutlineColor: String, CustomStringConvertible, Codable { - case black = "BLACK" - case white = "WHITE" - case yellow = "YELLOW" - case red = "RED" - case green = "GREEN" - case blue = "BLUE" - public var description: String { return self.rawValue } - } - - public enum ContainerType: String, CustomStringConvertible, Codable { - case f4v = "F4V" - case ismv = "ISMV" - case m2ts = "M2TS" - case m3u8 = "M3U8" - case mov = "MOV" - case mp4 = "MP4" - case mpd = "MPD" - case mxf = "MXF" - case raw = "RAW" + public enum AntiAlias: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum OutputGroupType: String, CustomStringConvertible, Codable { - case hlsGroupSettings = "HLS_GROUP_SETTINGS" - case dashIsoGroupSettings = "DASH_ISO_GROUP_SETTINGS" - case fileGroupSettings = "FILE_GROUP_SETTINGS" - case msSmoothGroupSettings = "MS_SMOOTH_GROUP_SETTINGS" + public enum Eac3StereoDownmix: String, CustomStringConvertible, Codable { + case notIndicated = "NOT_INDICATED" + case loRo = "LO_RO" + case ltRt = "LT_RT" + case dpl2 = "DPL2" public var description: String { return self.rawValue } } - public enum InputDeblockFilter: String, CustomStringConvertible, Codable { - case enabled = "ENABLED" - case disabled = "DISABLED" + public enum M2tsSegmentationStyle: String, CustomStringConvertible, Codable { + case maintainCadence = "MAINTAIN_CADENCE" + case resetCadence = "RESET_CADENCE" public var description: String { return self.rawValue } } - public struct NielsenConfiguration: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DistributorId", location: .body(locationName: "distributorId"), required: false, type: .string), - AWSShapeMember(label: "BreakoutCode", location: .body(locationName: "breakoutCode"), required: false, type: .integer) - ] - /// Use Distributor ID (DistributorID) to specify the distributor ID that is assigned to your organization by Neilsen. - public let distributorId: String? - /// Use Nielsen Configuration (NielsenConfiguration) to set the Nielsen measurement system breakout code. Supported values are 0, 3, 7, and 9. - public let breakoutCode: Int32? - - public init(distributorId: String? = nil, breakoutCode: Int32? = nil) { - self.distributorId = distributorId - self.breakoutCode = breakoutCode - } - - private enum CodingKeys: String, CodingKey { - case distributorId = "distributorId" - case breakoutCode = "breakoutCode" - } - } - - public struct H265Settings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NumberBFramesBetweenReferenceFrames", location: .body(locationName: "numberBFramesBetweenReferenceFrames"), required: false, type: .integer), - AWSShapeMember(label: "ParControl", location: .body(locationName: "parControl"), required: false, type: .enum), - AWSShapeMember(label: "FlickerAdaptiveQuantization", location: .body(locationName: "flickerAdaptiveQuantization"), required: false, type: .enum), - AWSShapeMember(label: "GopBReference", location: .body(locationName: "gopBReference"), required: false, type: .enum), - AWSShapeMember(label: "FramerateNumerator", location: .body(locationName: "framerateNumerator"), required: false, type: .integer), - AWSShapeMember(label: "Slices", location: .body(locationName: "slices"), required: false, type: .integer), - AWSShapeMember(label: "HrdBufferSize", location: .body(locationName: "hrdBufferSize"), required: false, type: .integer), - AWSShapeMember(label: "SpatialAdaptiveQuantization", location: .body(locationName: "spatialAdaptiveQuantization"), required: false, type: .enum), - AWSShapeMember(label: "ParNumerator", location: .body(locationName: "parNumerator"), required: false, type: .integer), - AWSShapeMember(label: "CodecProfile", location: .body(locationName: "codecProfile"), required: false, type: .enum), - AWSShapeMember(label: "QualityTuningLevel", location: .body(locationName: "qualityTuningLevel"), required: false, type: .enum), - AWSShapeMember(label: "CodecLevel", location: .body(locationName: "codecLevel"), required: false, type: .enum), - AWSShapeMember(label: "MaxBitrate", location: .body(locationName: "maxBitrate"), required: false, type: .integer), - AWSShapeMember(label: "AdaptiveQuantization", location: .body(locationName: "adaptiveQuantization"), required: false, type: .enum), - AWSShapeMember(label: "GopSizeUnits", location: .body(locationName: "gopSizeUnits"), required: false, type: .enum), - AWSShapeMember(label: "SceneChangeDetect", location: .body(locationName: "sceneChangeDetect"), required: false, type: .enum), - AWSShapeMember(label: "SlowPal", location: .body(locationName: "slowPal"), required: false, type: .enum), - AWSShapeMember(label: "TemporalAdaptiveQuantization", location: .body(locationName: "temporalAdaptiveQuantization"), required: false, type: .enum), - AWSShapeMember(label: "NumberReferenceFrames", location: .body(locationName: "numberReferenceFrames"), required: false, type: .integer), - AWSShapeMember(label: "RateControlMode", location: .body(locationName: "rateControlMode"), required: false, type: .enum), - AWSShapeMember(label: "FramerateDenominator", location: .body(locationName: "framerateDenominator"), required: false, type: .integer), - AWSShapeMember(label: "FramerateConversionAlgorithm", location: .body(locationName: "framerateConversionAlgorithm"), required: false, type: .enum), - AWSShapeMember(label: "ParDenominator", location: .body(locationName: "parDenominator"), required: false, type: .integer), - AWSShapeMember(label: "GopClosedCadence", location: .body(locationName: "gopClosedCadence"), required: false, type: .integer), - AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), - AWSShapeMember(label: "InterlaceMode", location: .body(locationName: "interlaceMode"), required: false, type: .enum), - AWSShapeMember(label: "MinIInterval", location: .body(locationName: "minIInterval"), required: false, type: .integer), - AWSShapeMember(label: "TemporalIds", location: .body(locationName: "temporalIds"), required: false, type: .enum), - AWSShapeMember(label: "SampleAdaptiveOffsetFilterMode", location: .body(locationName: "sampleAdaptiveOffsetFilterMode"), required: false, type: .enum), - AWSShapeMember(label: "HrdBufferInitialFillPercentage", location: .body(locationName: "hrdBufferInitialFillPercentage"), required: false, type: .integer), - AWSShapeMember(label: "AlternateTransferFunctionSei", location: .body(locationName: "alternateTransferFunctionSei"), required: false, type: .enum), - AWSShapeMember(label: "Tiles", location: .body(locationName: "tiles"), required: false, type: .enum), - AWSShapeMember(label: "UnregisteredSeiTimecode", location: .body(locationName: "unregisteredSeiTimecode"), required: false, type: .enum), - AWSShapeMember(label: "GopSize", location: .body(locationName: "gopSize"), required: false, type: .double), - AWSShapeMember(label: "FramerateControl", location: .body(locationName: "framerateControl"), required: false, type: .enum), - AWSShapeMember(label: "Telecine", location: .body(locationName: "telecine"), required: false, type: .enum) - ] - /// Number of B-frames between reference frames. - public let numberBFramesBetweenReferenceFrames: Int32? - public let parControl: H265ParControl? - public let flickerAdaptiveQuantization: H265FlickerAdaptiveQuantization? - public let gopBReference: H265GopBReference? - /// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. - public let framerateNumerator: Int32? - /// 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. - public let slices: Int32? - /// Size of buffer (HRD buffer model). Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m. - public let hrdBufferSize: Int32? - public let spatialAdaptiveQuantization: H265SpatialAdaptiveQuantization? - /// Pixel Aspect Ratio numerator. - public let parNumerator: Int32? - public let codecProfile: H265CodecProfile? - public let qualityTuningLevel: H265QualityTuningLevel? - public let codecLevel: H265CodecLevel? - /// Maximum bitrate in bits/second (for VBR mode only). Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m. - public let maxBitrate: Int32? - public let adaptiveQuantization: H265AdaptiveQuantization? - public let gopSizeUnits: H265GopSizeUnits? - public let sceneChangeDetect: H265SceneChangeDetect? - public let slowPal: H265SlowPal? - public let temporalAdaptiveQuantization: H265TemporalAdaptiveQuantization? - /// Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. - public let numberReferenceFrames: Int32? - public let rateControlMode: H265RateControlMode? - /// Framerate denominator. - public let framerateDenominator: Int32? - public let framerateConversionAlgorithm: H265FramerateConversionAlgorithm? - /// Pixel Aspect Ratio denominator. - public let parDenominator: Int32? - /// 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. - public let gopClosedCadence: Int32? - /// Average bitrate in bits/second. Required for VBR, CBR, and ABR. Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000. - public let bitrate: Int32? - public let interlaceMode: H265InterlaceMode? - /// 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 - public let minIInterval: Int32? - public let temporalIds: H265TemporalIds? - public let sampleAdaptiveOffsetFilterMode: H265SampleAdaptiveOffsetFilterMode? - /// Percentage of the buffer that should initially be filled (HRD buffer model). - public let hrdBufferInitialFillPercentage: Int32? - public let alternateTransferFunctionSei: H265AlternateTransferFunctionSei? - public let tiles: H265Tiles? - public let unregisteredSeiTimecode: H265UnregisteredSeiTimecode? - /// GOP Length (keyframe interval) in frames or seconds. Must be greater than zero. - public let gopSize: Double? - public let framerateControl: H265FramerateControl? - public let telecine: H265Telecine? - - public init(numberBFramesBetweenReferenceFrames: Int32? = nil, parControl: H265ParControl? = nil, flickerAdaptiveQuantization: H265FlickerAdaptiveQuantization? = nil, gopBReference: H265GopBReference? = nil, framerateNumerator: Int32? = nil, slices: Int32? = nil, hrdBufferSize: Int32? = nil, spatialAdaptiveQuantization: H265SpatialAdaptiveQuantization? = nil, parNumerator: Int32? = nil, codecProfile: H265CodecProfile? = nil, qualityTuningLevel: H265QualityTuningLevel? = nil, codecLevel: H265CodecLevel? = nil, maxBitrate: Int32? = nil, adaptiveQuantization: H265AdaptiveQuantization? = nil, gopSizeUnits: H265GopSizeUnits? = nil, sceneChangeDetect: H265SceneChangeDetect? = nil, slowPal: H265SlowPal? = nil, temporalAdaptiveQuantization: H265TemporalAdaptiveQuantization? = nil, numberReferenceFrames: Int32? = nil, rateControlMode: H265RateControlMode? = nil, framerateDenominator: Int32? = nil, framerateConversionAlgorithm: H265FramerateConversionAlgorithm? = nil, parDenominator: Int32? = nil, gopClosedCadence: Int32? = nil, bitrate: Int32? = nil, interlaceMode: H265InterlaceMode? = nil, minIInterval: Int32? = nil, temporalIds: H265TemporalIds? = nil, sampleAdaptiveOffsetFilterMode: H265SampleAdaptiveOffsetFilterMode? = nil, hrdBufferInitialFillPercentage: Int32? = nil, alternateTransferFunctionSei: H265AlternateTransferFunctionSei? = nil, tiles: H265Tiles? = nil, unregisteredSeiTimecode: H265UnregisteredSeiTimecode? = nil, gopSize: Double? = nil, framerateControl: H265FramerateControl? = nil, telecine: H265Telecine? = nil) { - self.numberBFramesBetweenReferenceFrames = numberBFramesBetweenReferenceFrames - self.parControl = parControl - self.flickerAdaptiveQuantization = flickerAdaptiveQuantization - self.gopBReference = gopBReference - self.framerateNumerator = framerateNumerator - self.slices = slices - self.hrdBufferSize = hrdBufferSize - self.spatialAdaptiveQuantization = spatialAdaptiveQuantization - self.parNumerator = parNumerator - self.codecProfile = codecProfile - self.qualityTuningLevel = qualityTuningLevel - self.codecLevel = codecLevel - self.maxBitrate = maxBitrate - self.adaptiveQuantization = adaptiveQuantization - self.gopSizeUnits = gopSizeUnits - self.sceneChangeDetect = sceneChangeDetect - self.slowPal = slowPal - self.temporalAdaptiveQuantization = temporalAdaptiveQuantization - self.numberReferenceFrames = numberReferenceFrames - self.rateControlMode = rateControlMode - self.framerateDenominator = framerateDenominator - self.framerateConversionAlgorithm = framerateConversionAlgorithm - self.parDenominator = parDenominator - self.gopClosedCadence = gopClosedCadence + public enum M2tsSegmentationMarkers: String, CustomStringConvertible, Codable { + case none = "NONE" + case raiSegstart = "RAI_SEGSTART" + case raiAdapt = "RAI_ADAPT" + case psiSegstart = "PSI_SEGSTART" + case ebp = "EBP" + case ebpLegacy = "EBP_LEGACY" + public var description: String { return self.rawValue } + } + + public enum H264TemporalAdaptiveQuantization: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public struct Mp2Settings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), + AWSShapeMember(label: "Channels", location: .body(locationName: "channels"), required: false, type: .integer), + AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .integer) + ] + /// Average bitrate in bits/second. + public let bitrate: Int32? + /// 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. + public let channels: Int32? + /// Sample rate in hz. + public let sampleRate: Int32? + + public init(bitrate: Int32? = nil, channels: Int32? = nil, sampleRate: Int32? = nil) { self.bitrate = bitrate - self.interlaceMode = interlaceMode - self.minIInterval = minIInterval - self.temporalIds = temporalIds - self.sampleAdaptiveOffsetFilterMode = sampleAdaptiveOffsetFilterMode - self.hrdBufferInitialFillPercentage = hrdBufferInitialFillPercentage - self.alternateTransferFunctionSei = alternateTransferFunctionSei - self.tiles = tiles - self.unregisteredSeiTimecode = unregisteredSeiTimecode - self.gopSize = gopSize - self.framerateControl = framerateControl - self.telecine = telecine + self.channels = channels + self.sampleRate = sampleRate } private enum CodingKeys: String, CodingKey { - case numberBFramesBetweenReferenceFrames = "numberBFramesBetweenReferenceFrames" - case parControl = "parControl" - case flickerAdaptiveQuantization = "flickerAdaptiveQuantization" - case gopBReference = "gopBReference" - case framerateNumerator = "framerateNumerator" - case slices = "slices" - case hrdBufferSize = "hrdBufferSize" - case spatialAdaptiveQuantization = "spatialAdaptiveQuantization" - case parNumerator = "parNumerator" - case codecProfile = "codecProfile" - case qualityTuningLevel = "qualityTuningLevel" - case codecLevel = "codecLevel" - case maxBitrate = "maxBitrate" - case adaptiveQuantization = "adaptiveQuantization" - case gopSizeUnits = "gopSizeUnits" - case sceneChangeDetect = "sceneChangeDetect" - case slowPal = "slowPal" - case temporalAdaptiveQuantization = "temporalAdaptiveQuantization" - case numberReferenceFrames = "numberReferenceFrames" - case rateControlMode = "rateControlMode" - case framerateDenominator = "framerateDenominator" - case framerateConversionAlgorithm = "framerateConversionAlgorithm" - case parDenominator = "parDenominator" - case gopClosedCadence = "gopClosedCadence" case bitrate = "bitrate" - case interlaceMode = "interlaceMode" - case minIInterval = "minIInterval" - case temporalIds = "temporalIds" - case sampleAdaptiveOffsetFilterMode = "sampleAdaptiveOffsetFilterMode" - case hrdBufferInitialFillPercentage = "hrdBufferInitialFillPercentage" - case alternateTransferFunctionSei = "alternateTransferFunctionSei" - case tiles = "tiles" - case unregisteredSeiTimecode = "unregisteredSeiTimecode" - case gopSize = "gopSize" - case framerateControl = "framerateControl" - case telecine = "telecine" + case channels = "channels" + case sampleRate = "sampleRate" } } - public enum H265AdaptiveQuantization: String, CustomStringConvertible, Codable { - case off = "OFF" - case low = "LOW" - case medium = "MEDIUM" - case high = "HIGH" - case higher = "HIGHER" - case max = "MAX" + public struct AudioCodecSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Eac3Settings", location: .body(locationName: "eac3Settings"), required: false, type: .structure), + AWSShapeMember(label: "AiffSettings", location: .body(locationName: "aiffSettings"), required: false, type: .structure), + AWSShapeMember(label: "Codec", location: .body(locationName: "codec"), required: true, type: .enum), + AWSShapeMember(label: "Ac3Settings", location: .body(locationName: "ac3Settings"), required: false, type: .structure), + AWSShapeMember(label: "WavSettings", location: .body(locationName: "wavSettings"), required: false, type: .structure), + AWSShapeMember(label: "Mp2Settings", location: .body(locationName: "mp2Settings"), required: false, type: .structure), + AWSShapeMember(label: "AacSettings", location: .body(locationName: "aacSettings"), required: false, type: .structure) + ] + public let eac3Settings: Eac3Settings? + public let aiffSettings: AiffSettings? + public let codec: AudioCodec + public let ac3Settings: Ac3Settings? + public let wavSettings: WavSettings? + public let mp2Settings: Mp2Settings? + public let aacSettings: AacSettings? + + public init(eac3Settings: Eac3Settings? = nil, aiffSettings: AiffSettings? = nil, codec: AudioCodec, ac3Settings: Ac3Settings? = nil, wavSettings: WavSettings? = nil, mp2Settings: Mp2Settings? = nil, aacSettings: AacSettings? = nil) { + self.eac3Settings = eac3Settings + self.aiffSettings = aiffSettings + self.codec = codec + self.ac3Settings = ac3Settings + self.wavSettings = wavSettings + self.mp2Settings = mp2Settings + self.aacSettings = aacSettings + } + + private enum CodingKeys: String, CodingKey { + case eac3Settings = "eac3Settings" + case aiffSettings = "aiffSettings" + case codec = "codec" + case ac3Settings = "ac3Settings" + case wavSettings = "wavSettings" + case mp2Settings = "mp2Settings" + case aacSettings = "aacSettings" + } + } + + public struct NoiseReducerFilterSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Strength", location: .body(locationName: "strength"), required: false, type: .integer) + ] + /// Relative strength of noise reducing filter. Higher values produce stronger filtering. + public let strength: Int32? + + public init(strength: Int32? = nil) { + self.strength = strength + } + + private enum CodingKeys: String, CodingKey { + case strength = "strength" + } + } + + public enum H265TemporalIds: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum BurninSubtitleAlignment: String, CustomStringConvertible, Codable { - case centered = "CENTERED" - case left = "LEFT" + public enum H264RepeatPps: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public struct CreateJobTemplateResponse: AWSShape { + public struct ExceptionBody: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobTemplate", location: .body(locationName: "jobTemplate"), required: false, type: .structure) + AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) ] - public let jobTemplate: JobTemplate? + public let message: String? - public init(jobTemplate: JobTemplate? = nil) { - self.jobTemplate = jobTemplate + public init(message: String? = nil) { + self.message = message } private enum CodingKeys: String, CodingKey { - case jobTemplate = "jobTemplate" + case message = "message" } } - public enum HlsTimedMetadataId3Frame: String, CustomStringConvertible, Codable { - case none = "NONE" - case priv = "PRIV" - case tdrl = "TDRL" + public enum DvbSubtitleOutlineColor: String, CustomStringConvertible, Codable { + case black = "BLACK" + case white = "WHITE" + case yellow = "YELLOW" + case red = "RED" + case green = "GREEN" + case blue = "BLUE" + public var description: String { return self.rawValue } + } + + public enum BurninSubtitleAlignment: String, CustomStringConvertible, Codable { + case centered = "CENTERED" + case left = "LEFT" + public var description: String { return self.rawValue } + } + + public enum InputDeblockFilter: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" + public var description: String { return self.rawValue } + } + + public enum OutputGroupType: String, CustomStringConvertible, Codable { + case hlsGroupSettings = "HLS_GROUP_SETTINGS" + case dashIsoGroupSettings = "DASH_ISO_GROUP_SETTINGS" + case fileGroupSettings = "FILE_GROUP_SETTINGS" + case msSmoothGroupSettings = "MS_SMOOTH_GROUP_SETTINGS" + case cmafGroupSettings = "CMAF_GROUP_SETTINGS" + public var description: String { return self.rawValue } + } + + public enum H265AdaptiveQuantization: String, CustomStringConvertible, Codable { + case off = "OFF" + case low = "LOW" + case medium = "MEDIUM" + case high = "HIGH" + case higher = "HIGHER" + case max = "MAX" + public var description: String { return self.rawValue } + } + + public enum CmafManifestDurationFormat: String, CustomStringConvertible, Codable { + case floatingPoint = "FLOATING_POINT" + case integer = "INTEGER" public var description: String { return self.rawValue } } @@ -5629,12 +6221,6 @@ extension Mediaconvert { } } - public enum AacRateControlMode: String, CustomStringConvertible, Codable { - case cbr = "CBR" - case vbr = "VBR" - public var description: String { return self.rawValue } - } - public enum M2tsPcrControl: String, CustomStringConvertible, Codable { case pcrEveryPesPacket = "PCR_EVERY_PES_PACKET" case configuredPcrPeriod = "CONFIGURED_PCR_PERIOD" @@ -5647,18 +6233,6 @@ extension Mediaconvert { public var description: String { return self.rawValue } } - public enum H265FramerateControl: String, CustomStringConvertible, Codable { - case initializeFromSource = "INITIALIZE_FROM_SOURCE" - case specified = "SPECIFIED" - public var description: String { return self.rawValue } - } - - public enum H265AlternateTransferFunctionSei: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } - public enum DeinterlacerMode: String, CustomStringConvertible, Codable { case deinterlace = "DEINTERLACE" case inverseTelecine = "INVERSE_TELECINE" @@ -5670,18 +6244,14 @@ extension Mediaconvert { } - public enum MovClapAtom: String, CustomStringConvertible, Codable { - case include = "INCLUDE" - case exclude = "EXCLUDE" - public var description: String { return self.rawValue } - } - public struct Queue: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Status", location: .body(locationName: "status"), required: false, type: .enum), AWSShapeMember(label: "CreatedAt", location: .body(locationName: "createdAt"), required: false, type: .timestamp), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "SubmittedJobsCount", location: .body(locationName: "submittedJobsCount"), required: false, type: .integer), + AWSShapeMember(label: "ProgressingJobsCount", location: .body(locationName: "progressingJobsCount"), required: false, type: .integer), AWSShapeMember(label: "LastUpdated", location: .body(locationName: "lastUpdated"), required: false, type: .timestamp), AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) @@ -5692,66 +6262,43 @@ extension Mediaconvert { /// An identifier for this resource that is unique within all of AWS. public let arn: String? /// A name you create for each queue. Each name must be unique within your account. - public let name: String? + public let name: String + /// Estimated number of jobs in SUBMITTED status. + public let submittedJobsCount: Int32? + /// Estimated number of jobs in PROGRESSING status. + public let progressingJobsCount: Int32? /// The timestamp in epoch seconds when the queue was last updated. public let lastUpdated: TimeStamp? - /// A queue can be of two types: system or custom. System or built-in queues can’t be modified or deleted by the user. + /// A queue can be of two types: system or custom. System or built-in queues can't be modified or deleted by the user. public let `type`: `Type`? /// An optional description you create for each queue. public let description: String? - public init(status: QueueStatus? = nil, createdAt: TimeStamp? = nil, arn: String? = nil, name: String? = nil, lastUpdated: TimeStamp? = nil, type: `Type`? = nil, description: String? = nil) { + public init(status: QueueStatus? = nil, createdAt: TimeStamp? = nil, arn: String? = nil, name: String, submittedJobsCount: Int32? = nil, progressingJobsCount: Int32? = nil, lastUpdated: TimeStamp? = nil, type: `Type`? = nil, description: String? = nil) { self.status = status self.createdAt = createdAt self.arn = arn self.name = name + self.submittedJobsCount = submittedJobsCount + self.progressingJobsCount = progressingJobsCount self.lastUpdated = lastUpdated self.`type` = `type` - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case status = "status" - case createdAt = "createdAt" - case arn = "arn" - case name = "name" - case lastUpdated = "lastUpdated" - case `type` = "type" - case description = "description" - } - } - - public enum ProresInterlaceMode: String, CustomStringConvertible, Codable { - case progressive = "PROGRESSIVE" - case topField = "TOP_FIELD" - case bottomField = "BOTTOM_FIELD" - case followTopField = "FOLLOW_TOP_FIELD" - case followBottomField = "FOLLOW_BOTTOM_FIELD" - public var description: String { return self.rawValue } - } - - public struct TeletextDestinationSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PageNumber", location: .body(locationName: "pageNumber"), required: false, type: .string) - ] - /// 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. - public let pageNumber: String? - - public init(pageNumber: String? = nil) { - self.pageNumber = pageNumber + self.description = description } private enum CodingKeys: String, CodingKey { - case pageNumber = "pageNumber" + case status = "status" + case createdAt = "createdAt" + case arn = "arn" + case name = "name" + case submittedJobsCount = "submittedJobsCount" + case progressingJobsCount = "progressingJobsCount" + case lastUpdated = "lastUpdated" + case `type` = "type" + case description = "description" } } - public enum HlsIFrameOnlyManifest: String, CustomStringConvertible, Codable { - case include = "INCLUDE" - case exclude = "EXCLUDE" - public var description: String { return self.rawValue } - } - public struct FileGroupSettings: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: false, type: .string) @@ -5768,6 +6315,15 @@ extension Mediaconvert { } } + public enum ProresInterlaceMode: String, CustomStringConvertible, Codable { + case progressive = "PROGRESSIVE" + case topField = "TOP_FIELD" + case bottomField = "BOTTOM_FIELD" + case followTopField = "FOLLOW_TOP_FIELD" + case followBottomField = "FOLLOW_BOTTOM_FIELD" + public var description: String { return self.rawValue } + } + public struct ListQueuesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Queues", location: .body(locationName: "queues"), required: false, type: .list), @@ -5789,17 +6345,29 @@ extension Mediaconvert { } } + public enum MovCslgAtom: String, CustomStringConvertible, Codable { + case include = "INCLUDE" + case exclude = "EXCLUDE" + public var description: String { return self.rawValue } + } + + public enum HlsIFrameOnlyManifest: String, CustomStringConvertible, Codable { + case include = "INCLUDE" + case exclude = "EXCLUDE" + public var description: String { return self.rawValue } + } + public struct Id3Insertion: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id3", location: .body(locationName: "id3"), required: false, type: .string), - AWSShapeMember(label: "Timecode", location: .body(locationName: "timecode"), required: false, type: .string) + AWSShapeMember(label: "Id3", location: .body(locationName: "id3"), required: true, type: .string), + AWSShapeMember(label: "Timecode", location: .body(locationName: "timecode"), required: true, type: .string) ] /// Use ID3 tag (Id3) to provide a tag value in base64-encode format. - public let id3: String? + public let id3: String /// Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format. - public let timecode: String? + public let timecode: String - public init(id3: String? = nil, timecode: String? = nil) { + public init(id3: String, timecode: String) { self.id3 = id3 self.timecode = timecode } @@ -5810,40 +6378,41 @@ extension Mediaconvert { } } - public enum MovCslgAtom: String, CustomStringConvertible, Codable { - case include = "INCLUDE" - case exclude = "EXCLUDE" + public enum Mpeg2CodecProfile: String, CustomStringConvertible, Codable { + case main = "MAIN" + case profile422 = "PROFILE_422" public var description: String { return self.rawValue } } - public enum M2tsEbpAudioInterval: String, CustomStringConvertible, Codable { - case videoAndFixedIntervals = "VIDEO_AND_FIXED_INTERVALS" - case videoInterval = "VIDEO_INTERVAL" + public enum AudioNormalizationAlgorithmControl: String, CustomStringConvertible, Codable { + case correctAudio = "CORRECT_AUDIO" + case measureOnly = "MEASURE_ONLY" public var description: String { return self.rawValue } } public struct Job: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Timing", location: .body(locationName: "timing"), required: false, type: .structure), + AWSShapeMember(label: "UserMetadata", location: .body(locationName: "userMetadata"), required: false, type: .map), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), AWSShapeMember(label: "OutputGroupDetails", location: .body(locationName: "outputGroupDetails"), required: false, type: .list), - AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: false, type: .structure), + AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: true, type: .structure), AWSShapeMember(label: "ErrorMessage", location: .body(locationName: "errorMessage"), required: false, type: .string), AWSShapeMember(label: "JobTemplate", location: .body(locationName: "jobTemplate"), required: false, type: .string), AWSShapeMember(label: "ErrorCode", location: .body(locationName: "errorCode"), required: false, type: .integer), AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), AWSShapeMember(label: "Status", location: .body(locationName: "status"), required: false, type: .enum), AWSShapeMember(label: "CreatedAt", location: .body(locationName: "createdAt"), required: false, type: .timestamp), - AWSShapeMember(label: "Role", location: .body(locationName: "role"), required: false, type: .string), + AWSShapeMember(label: "Role", location: .body(locationName: "role"), required: true, type: .string), AWSShapeMember(label: "Queue", location: .body(locationName: "queue"), required: false, type: .string), - AWSShapeMember(label: "UserMetadata", location: .body(locationName: "userMetadata"), required: false, type: .map) + AWSShapeMember(label: "Timing", location: .body(locationName: "timing"), required: false, type: .structure) ] - public let timing: Timing? + /// User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs. + public let userMetadata: [String: String]? /// An identifier for this resource that is unique within all of AWS. public let arn: String? /// List of output group details public let outputGroupDetails: [OutputGroupDetail]? - public let settings: JobSettings? + public let settings: JobSettings /// Error message of Job public let errorMessage: String? /// The job template that the job is created from, if it is created from a job template. @@ -5856,14 +6425,13 @@ extension Mediaconvert { /// The time, in Unix epoch format in seconds, when the job got created. public let createdAt: TimeStamp? /// 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 - public let role: String? + public let role: String /// 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 public let queue: String? - /// User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs. - public let userMetadata: [String: String]? + public let timing: Timing? - public init(timing: Timing? = nil, arn: String? = nil, outputGroupDetails: [OutputGroupDetail]? = nil, settings: JobSettings? = nil, errorMessage: String? = nil, jobTemplate: String? = nil, errorCode: Int32? = nil, id: String? = nil, status: JobStatus? = nil, createdAt: TimeStamp? = nil, role: String? = nil, queue: String? = nil, userMetadata: [String: String]? = nil) { - self.timing = timing + public init(userMetadata: [String: String]? = nil, arn: String? = nil, outputGroupDetails: [OutputGroupDetail]? = nil, settings: JobSettings, errorMessage: String? = nil, jobTemplate: String? = nil, errorCode: Int32? = nil, id: String? = nil, status: JobStatus? = nil, createdAt: TimeStamp? = nil, role: String, queue: String? = nil, timing: Timing? = nil) { + self.userMetadata = userMetadata self.arn = arn self.outputGroupDetails = outputGroupDetails self.settings = settings @@ -5875,11 +6443,11 @@ extension Mediaconvert { self.createdAt = createdAt self.role = role self.queue = queue - self.userMetadata = userMetadata + self.timing = timing } private enum CodingKeys: String, CodingKey { - case timing = "timing" + case userMetadata = "userMetadata" case arn = "arn" case outputGroupDetails = "outputGroupDetails" case settings = "settings" @@ -5891,185 +6459,16 @@ extension Mediaconvert { case createdAt = "createdAt" case role = "role" case queue = "queue" - case userMetadata = "userMetadata" - } - } - - public enum Mpeg2CodecProfile: String, CustomStringConvertible, Codable { - case main = "MAIN" - case profile422 = "PROFILE_422" - public var description: String { return self.rawValue } - } - - public struct HlsGroupSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OutputSelection", location: .body(locationName: "outputSelection"), required: false, type: .enum), - AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: false, type: .string), - AWSShapeMember(label: "StreamInfResolution", location: .body(locationName: "streamInfResolution"), required: false, type: .enum), - AWSShapeMember(label: "ManifestCompression", location: .body(locationName: "manifestCompression"), required: false, type: .enum), - AWSShapeMember(label: "DirectoryStructure", location: .body(locationName: "directoryStructure"), required: false, type: .enum), - AWSShapeMember(label: "AdMarkers", location: .body(locationName: "adMarkers"), required: false, type: .list), - AWSShapeMember(label: "BaseUrl", location: .body(locationName: "baseUrl"), required: false, type: .string), - AWSShapeMember(label: "ClientCache", location: .body(locationName: "clientCache"), required: false, type: .enum), - AWSShapeMember(label: "SegmentControl", location: .body(locationName: "segmentControl"), required: false, type: .enum), - AWSShapeMember(label: "ProgramDateTimePeriod", location: .body(locationName: "programDateTimePeriod"), required: false, type: .integer), - AWSShapeMember(label: "TimestampDeltaMilliseconds", location: .body(locationName: "timestampDeltaMilliseconds"), required: false, type: .integer), - AWSShapeMember(label: "CaptionLanguageSetting", location: .body(locationName: "captionLanguageSetting"), required: false, type: .enum), - AWSShapeMember(label: "Encryption", location: .body(locationName: "encryption"), required: false, type: .structure), - AWSShapeMember(label: "ManifestDurationFormat", location: .body(locationName: "manifestDurationFormat"), required: false, type: .enum), - AWSShapeMember(label: "CaptionLanguageMappings", location: .body(locationName: "captionLanguageMappings"), required: false, type: .list), - AWSShapeMember(label: "TimedMetadataId3Period", location: .body(locationName: "timedMetadataId3Period"), required: false, type: .integer), - AWSShapeMember(label: "ProgramDateTime", location: .body(locationName: "programDateTime"), required: false, type: .enum), - AWSShapeMember(label: "CodecSpecification", location: .body(locationName: "codecSpecification"), required: false, type: .enum), - AWSShapeMember(label: "SegmentsPerSubdirectory", location: .body(locationName: "segmentsPerSubdirectory"), required: false, type: .integer), - AWSShapeMember(label: "TimedMetadataId3Frame", location: .body(locationName: "timedMetadataId3Frame"), required: false, type: .enum), - AWSShapeMember(label: "MinSegmentLength", location: .body(locationName: "minSegmentLength"), required: false, type: .integer), - AWSShapeMember(label: "SegmentLength", location: .body(locationName: "segmentLength"), required: false, type: .integer) - ] - public let outputSelection: HlsOutputSelection? - /// 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. - public let destination: String? - public let streamInfResolution: HlsStreamInfResolution? - public let manifestCompression: HlsManifestCompression? - public let directoryStructure: HlsDirectoryStructure? - /// Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs. - public let adMarkers: [HlsAdMarkers]? - /// 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. - public let baseUrl: String? - public let clientCache: HlsClientCache? - public let segmentControl: HlsSegmentControl? - /// Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. - public let programDateTimePeriod: Int32? - /// Provides an extra millisecond delta offset to fine tune the timestamps. - public let timestampDeltaMilliseconds: Int32? - public let captionLanguageSetting: HlsCaptionLanguageSetting? - /// DRM settings. - public let encryption: HlsEncryptionSettings? - public let manifestDurationFormat: HlsManifestDurationFormat? - /// Language to be used on Caption outputs - public let captionLanguageMappings: [HlsCaptionLanguageMapping]? - /// Timed Metadata interval in seconds. - public let timedMetadataId3Period: Int32? - public let programDateTime: HlsProgramDateTime? - public let codecSpecification: HlsCodecSpecification? - /// 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. - public let segmentsPerSubdirectory: Int32? - public let timedMetadataId3Frame: HlsTimedMetadataId3Frame? - /// 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. - public let minSegmentLength: Int32? - /// 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. - public let segmentLength: Int32? - - public init(outputSelection: HlsOutputSelection? = nil, destination: String? = nil, streamInfResolution: HlsStreamInfResolution? = nil, manifestCompression: HlsManifestCompression? = nil, directoryStructure: HlsDirectoryStructure? = nil, adMarkers: [HlsAdMarkers]? = nil, baseUrl: String? = nil, clientCache: HlsClientCache? = nil, segmentControl: HlsSegmentControl? = nil, programDateTimePeriod: Int32? = nil, timestampDeltaMilliseconds: Int32? = nil, captionLanguageSetting: HlsCaptionLanguageSetting? = nil, encryption: HlsEncryptionSettings? = nil, manifestDurationFormat: HlsManifestDurationFormat? = nil, captionLanguageMappings: [HlsCaptionLanguageMapping]? = nil, timedMetadataId3Period: Int32? = nil, programDateTime: HlsProgramDateTime? = nil, codecSpecification: HlsCodecSpecification? = nil, segmentsPerSubdirectory: Int32? = nil, timedMetadataId3Frame: HlsTimedMetadataId3Frame? = nil, minSegmentLength: Int32? = nil, segmentLength: Int32? = nil) { - self.outputSelection = outputSelection - self.destination = destination - self.streamInfResolution = streamInfResolution - self.manifestCompression = manifestCompression - self.directoryStructure = directoryStructure - self.adMarkers = adMarkers - self.baseUrl = baseUrl - self.clientCache = clientCache - self.segmentControl = segmentControl - self.programDateTimePeriod = programDateTimePeriod - self.timestampDeltaMilliseconds = timestampDeltaMilliseconds - self.captionLanguageSetting = captionLanguageSetting - self.encryption = encryption - self.manifestDurationFormat = manifestDurationFormat - self.captionLanguageMappings = captionLanguageMappings - self.timedMetadataId3Period = timedMetadataId3Period - self.programDateTime = programDateTime - self.codecSpecification = codecSpecification - self.segmentsPerSubdirectory = segmentsPerSubdirectory - self.timedMetadataId3Frame = timedMetadataId3Frame - self.minSegmentLength = minSegmentLength - self.segmentLength = segmentLength - } - - private enum CodingKeys: String, CodingKey { - case outputSelection = "outputSelection" - case destination = "destination" - case streamInfResolution = "streamInfResolution" - case manifestCompression = "manifestCompression" - case directoryStructure = "directoryStructure" - case adMarkers = "adMarkers" - case baseUrl = "baseUrl" - case clientCache = "clientCache" - case segmentControl = "segmentControl" - case programDateTimePeriod = "programDateTimePeriod" - case timestampDeltaMilliseconds = "timestampDeltaMilliseconds" - case captionLanguageSetting = "captionLanguageSetting" - case encryption = "encryption" - case manifestDurationFormat = "manifestDurationFormat" - case captionLanguageMappings = "captionLanguageMappings" - case timedMetadataId3Period = "timedMetadataId3Period" - case programDateTime = "programDateTime" - case codecSpecification = "codecSpecification" - case segmentsPerSubdirectory = "segmentsPerSubdirectory" - case timedMetadataId3Frame = "timedMetadataId3Frame" - case minSegmentLength = "minSegmentLength" - case segmentLength = "segmentLength" + case timing = "timing" } } - public enum AudioNormalizationAlgorithmControl: String, CustomStringConvertible, Codable { - case correctAudio = "CORRECT_AUDIO" - case measureOnly = "MEASURE_ONLY" + public enum M2tsEbpAudioInterval: String, CustomStringConvertible, Codable { + case videoAndFixedIntervals = "VIDEO_AND_FIXED_INTERVALS" + case videoInterval = "VIDEO_INTERVAL" public var description: String { return self.rawValue } } - public struct AudioDescription: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AudioNormalizationSettings", location: .body(locationName: "audioNormalizationSettings"), required: false, type: .structure), - AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .enum), - AWSShapeMember(label: "LanguageCodeControl", location: .body(locationName: "languageCodeControl"), required: false, type: .enum), - AWSShapeMember(label: "AudioTypeControl", location: .body(locationName: "audioTypeControl"), required: false, type: .enum), - AWSShapeMember(label: "AudioType", location: .body(locationName: "audioType"), required: false, type: .integer), - AWSShapeMember(label: "StreamName", location: .body(locationName: "streamName"), required: false, type: .string), - AWSShapeMember(label: "RemixSettings", location: .body(locationName: "remixSettings"), required: false, type: .structure), - AWSShapeMember(label: "AudioSourceName", location: .body(locationName: "audioSourceName"), required: false, type: .string), - AWSShapeMember(label: "CodecSettings", location: .body(locationName: "codecSettings"), required: false, type: .structure) - ] - /// Settings for Audio Normalization - public let audioNormalizationSettings: AudioNormalizationSettings? - /// 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. - public let languageCode: LanguageCode? - public let languageCodeControl: AudioLanguageCodeControl? - public let audioTypeControl: AudioTypeControl? - /// 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. - public let audioType: Int32? - /// 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. - public let streamName: String? - /// Advanced audio remixing settings. - public let remixSettings: RemixSettings? - /// 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. - public let audioSourceName: String? - public let codecSettings: AudioCodecSettings? - - public init(audioNormalizationSettings: AudioNormalizationSettings? = nil, languageCode: LanguageCode? = nil, languageCodeControl: AudioLanguageCodeControl? = nil, audioTypeControl: AudioTypeControl? = nil, audioType: Int32? = nil, streamName: String? = nil, remixSettings: RemixSettings? = nil, audioSourceName: String? = nil, codecSettings: AudioCodecSettings? = nil) { - self.audioNormalizationSettings = audioNormalizationSettings - self.languageCode = languageCode - self.languageCodeControl = languageCodeControl - self.audioTypeControl = audioTypeControl - self.audioType = audioType - self.streamName = streamName - self.remixSettings = remixSettings - self.audioSourceName = audioSourceName - self.codecSettings = codecSettings - } - - private enum CodingKeys: String, CodingKey { - case audioNormalizationSettings = "audioNormalizationSettings" - case languageCode = "languageCode" - case languageCodeControl = "languageCodeControl" - case audioTypeControl = "audioTypeControl" - case audioType = "audioType" - case streamName = "streamName" - case remixSettings = "remixSettings" - case audioSourceName = "audioSourceName" - case codecSettings = "codecSettings" - } - } - public enum TimecodeSource: String, CustomStringConvertible, Codable { case embedded = "EMBEDDED" case zerobased = "ZEROBASED" @@ -6077,30 +6476,4 @@ extension Mediaconvert { public var description: String { return self.rawValue } } - public struct Timing: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StartTime", location: .body(locationName: "startTime"), required: false, type: .timestamp), - AWSShapeMember(label: "FinishTime", location: .body(locationName: "finishTime"), required: false, type: .timestamp), - AWSShapeMember(label: "SubmitTime", location: .body(locationName: "submitTime"), required: false, type: .timestamp) - ] - /// The time, in Unix epoch format, that transcoding for the job began. - public let startTime: TimeStamp? - /// The time, in Unix epoch format, that the transcoding job finished - public let finishTime: TimeStamp? - /// The time, in Unix epoch format, that you submitted the job. - public let submitTime: TimeStamp? - - public init(startTime: TimeStamp? = nil, finishTime: TimeStamp? = nil, submitTime: TimeStamp? = nil) { - self.startTime = startTime - self.finishTime = finishTime - self.submitTime = submitTime - } - - private enum CodingKeys: String, CodingKey { - case startTime = "startTime" - case finishTime = "finishTime" - case submitTime = "submitTime" - } - } - } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/medialive/Medialive_API.swift b/Sources/AWSSDKSwift/Services/medialive/Medialive_API.swift index 6a5b994de8d..6033983af7b 100644 --- a/Sources/AWSSDKSwift/Services/medialive/Medialive_API.swift +++ b/Sources/AWSSDKSwift/Services/medialive/Medialive_API.swift @@ -39,9 +39,9 @@ public struct Medialive { return try client.send(operation: "CreateInputSecurityGroup", path: "/prod/inputSecurityGroups", httpMethod: "POST", input: input) } - /// Produces list of channels that have been created - public func listChannels(_ input: ListChannelsRequest) throws -> ListChannelsResponse { - return try client.send(operation: "ListChannels", path: "/prod/channels", httpMethod: "GET", input: input) + /// Get details for a reservation. + public func describeReservation(_ input: DescribeReservationRequest) throws -> DescribeReservationResponse { + return try client.send(operation: "DescribeReservation", path: "/prod/reservations/{reservationId}", httpMethod: "GET", input: input) } /// Produces a list of Input Security Groups for an account @@ -49,11 +49,26 @@ public struct Medialive { return try client.send(operation: "ListInputSecurityGroups", path: "/prod/inputSecurityGroups", httpMethod: "GET", input: input) } + /// Produces list of channels that have been created + public func listChannels(_ input: ListChannelsRequest) throws -> ListChannelsResponse { + return try client.send(operation: "ListChannels", path: "/prod/channels", httpMethod: "GET", input: input) + } + /// Deletes the input end point public func deleteInput(_ input: DeleteInputRequest) throws -> DeleteInputResponse { return try client.send(operation: "DeleteInput", path: "/prod/inputs/{inputId}", httpMethod: "DELETE", input: input) } + /// List purchased reservations. + public func listReservations(_ input: ListReservationsRequest) throws -> ListReservationsResponse { + return try client.send(operation: "ListReservations", path: "/prod/reservations", httpMethod: "GET", input: input) + } + + /// Purchase an offering and create a reservation. + public func purchaseOffering(_ input: PurchaseOfferingRequest) throws -> PurchaseOfferingResponse { + return try client.send(operation: "PurchaseOffering", path: "/prod/offerings/{offeringId}/purchase", httpMethod: "POST", input: input) + } + /// Deletes an Input Security Group public func deleteInputSecurityGroup(_ input: DeleteInputSecurityGroupRequest) throws -> DeleteInputSecurityGroupResponse { return try client.send(operation: "DeleteInputSecurityGroup", path: "/prod/inputSecurityGroups/{inputSecurityGroupId}", httpMethod: "DELETE", input: input) @@ -64,19 +79,24 @@ public struct Medialive { return try client.send(operation: "CreateInput", path: "/prod/inputs", httpMethod: "POST", input: input) } - /// Gets details about a channel - public func describeChannel(_ input: DescribeChannelRequest) throws -> DescribeChannelResponse { - return try client.send(operation: "DescribeChannel", path: "/prod/channels/{channelId}", httpMethod: "GET", input: input) + /// Updates an input. + public func updateInput(_ input: UpdateInputRequest) throws -> UpdateInputResponse { + return try client.send(operation: "UpdateInput", path: "/prod/inputs/{inputId}", httpMethod: "PUT", input: input) } - /// Starts an existing channel - public func startChannel(_ input: StartChannelRequest) throws -> StartChannelResponse { - return try client.send(operation: "StartChannel", path: "/prod/channels/{channelId}/start", httpMethod: "POST", input: input) + /// Update an Input Security Group's Whilelists. + public func updateInputSecurityGroup(_ input: UpdateInputSecurityGroupRequest) throws -> UpdateInputSecurityGroupResponse { + return try client.send(operation: "UpdateInputSecurityGroup", path: "/prod/inputSecurityGroups/{inputSecurityGroupId}", httpMethod: "PUT", input: input) } - /// Stops a running channel - public func stopChannel(_ input: StopChannelRequest) throws -> StopChannelResponse { - return try client.send(operation: "StopChannel", path: "/prod/channels/{channelId}/stop", httpMethod: "POST", input: input) + /// Get details for an offering. + public func describeOffering(_ input: DescribeOfferingRequest) throws -> DescribeOfferingResponse { + return try client.send(operation: "DescribeOffering", path: "/prod/offerings/{offeringId}", httpMethod: "GET", input: input) + } + + /// Updates a channel. + public func updateChannel(_ input: UpdateChannelRequest) throws -> UpdateChannelResponse { + return try client.send(operation: "UpdateChannel", path: "/prod/channels/{channelId}", httpMethod: "PUT", input: input) } /// Creates a new channel @@ -89,10 +109,35 @@ public struct Medialive { return try client.send(operation: "DescribeInputSecurityGroup", path: "/prod/inputSecurityGroups/{inputSecurityGroupId}", httpMethod: "GET", input: input) } + /// Stops a running channel + public func stopChannel(_ input: StopChannelRequest) throws -> StopChannelResponse { + return try client.send(operation: "StopChannel", path: "/prod/channels/{channelId}/stop", httpMethod: "POST", input: input) + } + /// Produces list of inputs that have been created public func listInputs(_ input: ListInputsRequest) throws -> ListInputsResponse { return try client.send(operation: "ListInputs", path: "/prod/inputs", httpMethod: "GET", input: input) } + /// Gets details about a channel + public func describeChannel(_ input: DescribeChannelRequest) throws -> DescribeChannelResponse { + return try client.send(operation: "DescribeChannel", path: "/prod/channels/{channelId}", httpMethod: "GET", input: input) + } + + /// List offerings available for purchase. + public func listOfferings(_ input: ListOfferingsRequest) throws -> ListOfferingsResponse { + return try client.send(operation: "ListOfferings", path: "/prod/offerings", httpMethod: "GET", input: input) + } + + /// Delete an expired reservation. + public func deleteReservation(_ input: DeleteReservationRequest) throws -> DeleteReservationResponse { + return try client.send(operation: "DeleteReservation", path: "/prod/reservations/{reservationId}", httpMethod: "DELETE", input: input) + } + + /// Starts an existing channel + public func startChannel(_ input: StartChannelRequest) throws -> StartChannelResponse { + return try client.send(operation: "StartChannel", path: "/prod/channels/{channelId}/start", httpMethod: "POST", input: input) + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/medialive/Medialive_Shapes.swift b/Sources/AWSSDKSwift/Services/medialive/Medialive_Shapes.swift index ff14572922b..1f73ccc84a6 100644 --- a/Sources/AWSSDKSwift/Services/medialive/Medialive_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/medialive/Medialive_Shapes.swift @@ -5,43 +5,6 @@ import AWSSDKSwiftCore extension Medialive { - public struct HlsInputSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Bandwidth", location: .body(locationName: "bandwidth"), required: false, type: .integer), - AWSShapeMember(label: "RetryInterval", location: .body(locationName: "retryInterval"), required: false, type: .integer), - AWSShapeMember(label: "Retries", location: .body(locationName: "retries"), required: false, type: .integer), - AWSShapeMember(label: "BufferSegments", location: .body(locationName: "bufferSegments"), required: false, type: .integer) - ] - /// 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. - public let bandwidth: Int32? - /// The number of seconds between retries when an attempt to read a manifest or segment fails. - public let retryInterval: Int32? - /// The number of consecutive times that attempts to read a manifest or segment must fail before the input is considered unavailable. - public let retries: Int32? - /// 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. - public let bufferSegments: Int32? - - public init(bandwidth: Int32? = nil, retryInterval: Int32? = nil, retries: Int32? = nil, bufferSegments: Int32? = nil) { - self.bandwidth = bandwidth - self.retryInterval = retryInterval - self.retries = retries - self.bufferSegments = bufferSegments - } - - private enum CodingKeys: String, CodingKey { - case bandwidth = "bandwidth" - case retryInterval = "retryInterval" - case retries = "retries" - case bufferSegments = "bufferSegments" - } - } - - public enum HlsWebdavHttpTransferMode: String, CustomStringConvertible, Codable { - case chunked = "CHUNKED" - case nonChunked = "NON_CHUNKED" - public var description: String { return self.rawValue } - } - public struct InternalServiceError: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) @@ -57,71 +20,6 @@ extension Medialive { } } - public enum H264GopSizeUnits: String, CustomStringConvertible, Codable { - case frames = "FRAMES" - case seconds = "SECONDS" - public var description: String { return self.rawValue } - } - - public struct InputLocation: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Uri", location: .body(locationName: "uri"), required: false, type: .string), - AWSShapeMember(label: "PasswordParam", location: .body(locationName: "passwordParam"), required: false, type: .string), - AWSShapeMember(label: "Username", location: .body(locationName: "username"), required: false, type: .string) - ] - /// 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 rtmpEndpoint should have a uri simliar to: "rtmp://fmsserver/live". - public let uri: String? - /// key used to extract the password from EC2 Parameter store - public let passwordParam: String? - /// Username if credentials are required to access a file or publishing point. This can be either a plaintext username, or a reference to an AWS parameter store name from which the username can be retrieved. AWS Parameter store format: "ssm://" - public let username: String? - - public init(uri: String? = nil, passwordParam: String? = nil, username: String? = nil) { - self.uri = uri - self.passwordParam = passwordParam - self.username = username - } - - private enum CodingKeys: String, CodingKey { - case uri = "uri" - case passwordParam = "passwordParam" - case username = "username" - } - } - - public struct InputSource: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PasswordParam", location: .body(locationName: "passwordParam"), required: false, type: .string), - AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string), - AWSShapeMember(label: "Username", location: .body(locationName: "username"), required: false, type: .string) - ] - /// key used to extract the password from EC2 Parameter store - public let passwordParam: String? - /// This represents the customer's source URL where stream is - /// pulled from. - public let url: String? - /// username for input source - public let username: String? - - public init(passwordParam: String? = nil, url: String? = nil, username: String? = nil) { - self.passwordParam = passwordParam - self.url = url - self.username = username - } - - private enum CodingKeys: String, CodingKey { - case passwordParam = "passwordParam" - case url = "url" - case username = "username" - } - } - - public enum AudioNormalizationAlgorithm: String, CustomStringConvertible, Codable { - case itu17701 = "ITU_1770_1" - case itu17702 = "ITU_1770_2" - public var description: String { return self.rawValue } - } - public enum Ac3BitstreamMode: String, CustomStringConvertible, Codable { case commentary = "COMMENTARY" case completeMain = "COMPLETE_MAIN" @@ -137,18 +35,18 @@ extension Medialive { public struct RemixSettings: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ChannelsOut", location: .body(locationName: "channelsOut"), required: false, type: .integer), - AWSShapeMember(label: "ChannelMappings", location: .body(locationName: "channelMappings"), required: false, type: .list), + AWSShapeMember(label: "ChannelMappings", location: .body(locationName: "channelMappings"), required: true, type: .list), AWSShapeMember(label: "ChannelsIn", location: .body(locationName: "channelsIn"), required: false, type: .integer) ] /// Number of output channels to be produced. /// Valid values: 1, 2, 4, 6, 8 public let channelsOut: Int32? /// Mapping of input channels to output channels, with appropriate gain adjustments. - public let channelMappings: [AudioChannelMapping]? + public let channelMappings: [AudioChannelMapping] /// Number of input channels to be used. public let channelsIn: Int32? - public init(channelsOut: Int32? = nil, channelMappings: [AudioChannelMapping]? = nil, channelsIn: Int32? = nil) { + public init(channelsOut: Int32? = nil, channelMappings: [AudioChannelMapping], channelsIn: Int32? = nil) { self.channelsOut = channelsOut self.channelMappings = channelMappings self.channelsIn = channelsIn @@ -166,8 +64,8 @@ extension Medialive { AWSShapeMember(label: "ConnectionRetryInterval", location: .body(locationName: "connectionRetryInterval"), required: false, type: .integer), AWSShapeMember(label: "Token", location: .body(locationName: "token"), required: false, type: .string), AWSShapeMember(label: "HttpTransferMode", location: .body(locationName: "httpTransferMode"), required: false, type: .enum), - AWSShapeMember(label: "RestartDelay", location: .body(locationName: "restartDelay"), required: false, type: .integer), AWSShapeMember(label: "FilecacheDuration", location: .body(locationName: "filecacheDuration"), required: false, type: .integer), + AWSShapeMember(label: "RestartDelay", location: .body(locationName: "restartDelay"), required: false, type: .integer), AWSShapeMember(label: "Salt", location: .body(locationName: "salt"), required: false, type: .string), AWSShapeMember(label: "NumRetries", location: .body(locationName: "numRetries"), required: false, type: .integer) ] @@ -177,21 +75,21 @@ extension Medialive { public let token: String? /// Specify whether or not to use chunked transfer encoding to Akamai. User should contact Akamai to enable this feature. public let httpTransferMode: HlsAkamaiHttpTransferMode? - /// If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. - public let restartDelay: Int32? /// Size in seconds of file cache for streaming outputs. public let filecacheDuration: Int32? + /// If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + public let restartDelay: Int32? /// Salt for authenticated Akamai. public let salt: String? /// Number of retry attempts that will be made before the Live Event is put into an error state. public let numRetries: Int32? - public init(connectionRetryInterval: Int32? = nil, token: String? = nil, httpTransferMode: HlsAkamaiHttpTransferMode? = nil, restartDelay: Int32? = nil, filecacheDuration: Int32? = nil, salt: String? = nil, numRetries: Int32? = nil) { + public init(connectionRetryInterval: Int32? = nil, token: String? = nil, httpTransferMode: HlsAkamaiHttpTransferMode? = nil, filecacheDuration: Int32? = nil, restartDelay: Int32? = nil, salt: String? = nil, numRetries: Int32? = nil) { self.connectionRetryInterval = connectionRetryInterval self.token = token self.httpTransferMode = httpTransferMode - self.restartDelay = restartDelay self.filecacheDuration = filecacheDuration + self.restartDelay = restartDelay self.salt = salt self.numRetries = numRetries } @@ -200,8 +98,8 @@ extension Medialive { case connectionRetryInterval = "connectionRetryInterval" case token = "token" case httpTransferMode = "httpTransferMode" - case restartDelay = "restartDelay" case filecacheDuration = "filecacheDuration" + case restartDelay = "restartDelay" case salt = "salt" case numRetries = "numRetries" } @@ -222,18 +120,6 @@ extension Medialive { } } - public enum M2tsAudioStreamType: String, CustomStringConvertible, Codable { - case atsc = "ATSC" - case dvb = "DVB" - public var description: String { return self.rawValue } - } - - public enum Scte20Convert608To708: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case upconvert = "UPCONVERT" - public var description: String { return self.rawValue } - } - public struct CreateInputRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), @@ -288,974 +174,948 @@ extension Medialive { } } - public struct TtmlDestinationSettings: AWSShape { + public enum H264SceneChangeDetect: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public struct ResourceNotFound: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StyleControl", location: .body(locationName: "styleControl"), required: false, type: .enum) + AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) ] - /// 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. - public let styleControl: TtmlDestinationStyleControl? + public let message: String? - public init(styleControl: TtmlDestinationStyleControl? = nil) { - self.styleControl = styleControl + public init(message: String? = nil) { + self.message = message } private enum CodingKeys: String, CodingKey { - case styleControl = "styleControl" + case message = "message" } } - public struct DeleteInputResponse: AWSShape { + public enum Scte35SpliceInsertWebDeliveryAllowedBehavior: String, CustomStringConvertible, Codable { + case follow = "FOLLOW" + case ignore = "IGNORE" + public var description: String { return self.rawValue } + } + public struct CreateInputSecurityGroupResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SecurityGroup", location: .body(locationName: "securityGroup"), required: false, type: .structure) + ] + public let securityGroup: InputSecurityGroup? + + public init(securityGroup: InputSecurityGroup? = nil) { + self.securityGroup = securityGroup + } + + private enum CodingKeys: String, CodingKey { + case securityGroup = "securityGroup" + } } - public enum H264SceneChangeDetect: String, CustomStringConvertible, Codable { + public enum Ac3CodingMode: String, CustomStringConvertible, Codable { + case codingMode10 = "CODING_MODE_1_0" + case codingMode11 = "CODING_MODE_1_1" + case codingMode20 = "CODING_MODE_2_0" + case codingMode32Lfe = "CODING_MODE_3_2_LFE" + public var description: String { return self.rawValue } + } + + public enum ReservationMaximumBitrate: String, CustomStringConvertible, Codable { + case max10Mbps = "MAX_10_MBPS" + case max20Mbps = "MAX_20_MBPS" + case max50Mbps = "MAX_50_MBPS" + public var description: String { return self.rawValue } + } + + public enum Eac3SurroundExMode: String, CustomStringConvertible, Codable { case disabled = "DISABLED" case enabled = "ENABLED" + case notIndicated = "NOT_INDICATED" public var description: String { return self.rawValue } } - public enum Scte35AposNoRegionalBlackoutBehavior: String, CustomStringConvertible, Codable { - case follow = "FOLLOW" - case ignore = "IGNORE" + public enum InputLossActionForUdpOut: String, CustomStringConvertible, Codable { + case dropProgram = "DROP_PROGRAM" + case dropTs = "DROP_TS" + case emitProgram = "EMIT_PROGRAM" public var description: String { return self.rawValue } } - public enum Scte35SpliceInsertWebDeliveryAllowedBehavior: String, CustomStringConvertible, Codable { - case follow = "FOLLOW" - case ignore = "IGNORE" + public enum SmoothGroupSparseTrackType: String, CustomStringConvertible, Codable { + case none = "NONE" + case scte35 = "SCTE_35" public var description: String { return self.rawValue } } - public struct ResourceNotFound: AWSShape { + public struct ListOfferingsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) + AWSShapeMember(label: "Offerings", location: .body(locationName: "offerings"), required: false, type: .list), + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) ] - public let message: String? + public let offerings: [Offering]? + public let nextToken: String? - public init(message: String? = nil) { - self.message = message + public init(offerings: [Offering]? = nil, nextToken: String? = nil) { + self.offerings = offerings + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case message = "message" + case offerings = "offerings" + case nextToken = "nextToken" } } - public struct Eac3Settings: AWSShape { + public enum InputResolution: String, CustomStringConvertible, Codable { + case sd = "SD" + case hd = "HD" + case uhd = "UHD" + public var description: String { return self.rawValue } + } + + public struct ListInputsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LtRtCenterMixLevel", location: .body(locationName: "ltRtCenterMixLevel"), required: false, type: .double), - AWSShapeMember(label: "LfeControl", location: .body(locationName: "lfeControl"), required: false, type: .enum), - AWSShapeMember(label: "Dialnorm", location: .body(locationName: "dialnorm"), required: false, type: .integer), - AWSShapeMember(label: "DcFilter", location: .body(locationName: "dcFilter"), required: false, type: .enum), - AWSShapeMember(label: "LtRtSurroundMixLevel", location: .body(locationName: "ltRtSurroundMixLevel"), required: false, type: .double), - AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .double), - AWSShapeMember(label: "SurroundExMode", location: .body(locationName: "surroundExMode"), required: false, type: .enum), - AWSShapeMember(label: "MetadataControl", location: .body(locationName: "metadataControl"), required: false, type: .enum), - AWSShapeMember(label: "DrcRf", location: .body(locationName: "drcRf"), required: false, type: .enum), - AWSShapeMember(label: "SurroundMode", location: .body(locationName: "surroundMode"), required: false, type: .enum), - AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: false, type: .enum), - AWSShapeMember(label: "LfeFilter", location: .body(locationName: "lfeFilter"), required: false, type: .enum), - AWSShapeMember(label: "DrcLine", location: .body(locationName: "drcLine"), required: false, type: .enum), - AWSShapeMember(label: "BitstreamMode", location: .body(locationName: "bitstreamMode"), required: false, type: .enum), - AWSShapeMember(label: "PassthroughControl", location: .body(locationName: "passthroughControl"), required: false, type: .enum), - AWSShapeMember(label: "LoRoSurroundMixLevel", location: .body(locationName: "loRoSurroundMixLevel"), required: false, type: .double), - AWSShapeMember(label: "LoRoCenterMixLevel", location: .body(locationName: "loRoCenterMixLevel"), required: false, type: .double), - AWSShapeMember(label: "PhaseControl", location: .body(locationName: "phaseControl"), required: false, type: .enum), - AWSShapeMember(label: "AttenuationControl", location: .body(locationName: "attenuationControl"), required: false, type: .enum), - AWSShapeMember(label: "StereoDownmix", location: .body(locationName: "stereoDownmix"), required: false, type: .enum) + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) ] - /// Left total/Right total center mix level. Only used for 3/2 coding mode. - public let ltRtCenterMixLevel: Double? - /// When encoding 3/2 audio, setting to lfe enables the LFE channel - public let lfeControl: Eac3LfeControl? - /// Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through. - public let dialnorm: Int32? - /// When set to enabled, activates a DC highpass filter for all input channels. - public let dcFilter: Eac3DcFilter? - /// Left total/Right total surround mix level. Only used for 3/2 coding mode. - public let ltRtSurroundMixLevel: Double? - /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. - public let bitrate: Double? - /// When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels. - public let surroundExMode: Eac3SurroundExMode? - /// 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. - public let metadataControl: Eac3MetadataControl? - /// Sets the profile for heavy Dolby dynamic range compression, ensures that the instantaneous signal peaks do not exceed specified levels. - public let drcRf: Eac3DrcRf? - /// When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels. - public let surroundMode: Eac3SurroundMode? - /// Dolby Digital Plus coding mode. Determines number of channels. - public let codingMode: Eac3CodingMode? - /// When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with codingMode32 coding mode. - public let lfeFilter: Eac3LfeFilter? - /// Sets the Dolby dynamic range compression profile. - public let drcLine: Eac3DrcLine? - /// Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC A/52-2012 (Annex E) for background on these values. - public let bitstreamMode: Eac3BitstreamMode? - /// 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. - public let passthroughControl: Eac3PassthroughControl? - /// Left only/Right only surround mix level. Only used for 3/2 coding mode. - public let loRoSurroundMixLevel: Double? - /// Left only/Right only center mix level. Only used for 3/2 coding mode. - public let loRoCenterMixLevel: Double? - /// When set to shift90Degrees, applies a 90-degree phase shift to the surround channels. Only used for 3/2 coding mode. - public let phaseControl: Eac3PhaseControl? - /// When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode. - public let attenuationControl: Eac3AttenuationControl? - /// Stereo downmix preference. Only used for 3/2 coding mode. - public let stereoDownmix: Eac3StereoDownmix? + public let nextToken: String? + public let maxResults: Int32? - public init(ltRtCenterMixLevel: Double? = nil, lfeControl: Eac3LfeControl? = nil, dialnorm: Int32? = nil, dcFilter: Eac3DcFilter? = nil, ltRtSurroundMixLevel: Double? = nil, bitrate: Double? = nil, surroundExMode: Eac3SurroundExMode? = nil, metadataControl: Eac3MetadataControl? = nil, drcRf: Eac3DrcRf? = nil, surroundMode: Eac3SurroundMode? = nil, codingMode: Eac3CodingMode? = nil, lfeFilter: Eac3LfeFilter? = nil, drcLine: Eac3DrcLine? = nil, bitstreamMode: Eac3BitstreamMode? = nil, passthroughControl: Eac3PassthroughControl? = nil, loRoSurroundMixLevel: Double? = nil, loRoCenterMixLevel: Double? = nil, phaseControl: Eac3PhaseControl? = nil, attenuationControl: Eac3AttenuationControl? = nil, stereoDownmix: Eac3StereoDownmix? = nil) { - self.ltRtCenterMixLevel = ltRtCenterMixLevel - self.lfeControl = lfeControl - self.dialnorm = dialnorm - self.dcFilter = dcFilter - self.ltRtSurroundMixLevel = ltRtSurroundMixLevel - self.bitrate = bitrate - self.surroundExMode = surroundExMode - self.metadataControl = metadataControl - self.drcRf = drcRf - self.surroundMode = surroundMode - self.codingMode = codingMode - self.lfeFilter = lfeFilter - self.drcLine = drcLine - self.bitstreamMode = bitstreamMode - self.passthroughControl = passthroughControl - self.loRoSurroundMixLevel = loRoSurroundMixLevel - self.loRoCenterMixLevel = loRoCenterMixLevel - self.phaseControl = phaseControl - self.attenuationControl = attenuationControl - self.stereoDownmix = stereoDownmix + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case ltRtCenterMixLevel = "ltRtCenterMixLevel" - case lfeControl = "lfeControl" - case dialnorm = "dialnorm" - case dcFilter = "dcFilter" - case ltRtSurroundMixLevel = "ltRtSurroundMixLevel" - case bitrate = "bitrate" - case surroundExMode = "surroundExMode" - case metadataControl = "metadataControl" - case drcRf = "drcRf" - case surroundMode = "surroundMode" - case codingMode = "codingMode" - case lfeFilter = "lfeFilter" - case drcLine = "drcLine" - case bitstreamMode = "bitstreamMode" - case passthroughControl = "passthroughControl" - case loRoSurroundMixLevel = "loRoSurroundMixLevel" - case loRoCenterMixLevel = "loRoCenterMixLevel" - case phaseControl = "phaseControl" - case attenuationControl = "attenuationControl" - case stereoDownmix = "stereoDownmix" + case nextToken = "nextToken" + case maxResults = "maxResults" } } - public struct OutputGroup: AWSShape { + public struct UpdateInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Outputs", location: .body(locationName: "outputs"), required: false, type: .list), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "OutputGroupSettings", location: .body(locationName: "outputGroupSettings"), required: false, type: .structure) + AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), + AWSShapeMember(label: "InputSecurityGroups", location: .body(locationName: "inputSecurityGroups"), required: false, type: .list), + AWSShapeMember(label: "Sources", location: .body(locationName: "sources"), required: false, type: .list), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string) ] - public let outputs: [Output]? - /// Custom output group name optionally defined by the user. Only letters, numbers, and the underscore character allowed; only 32 characters allowed. + /// Destination settings for PUSH type inputs. + public let destinations: [InputDestinationRequest]? + /// A list of security groups referenced by IDs to attach to the input. + public let inputSecurityGroups: [String]? + /// The source URLs for a PULL-type input. Every PULL type input needs + /// exactly two source URLs for redundancy. + /// Only specify sources for PULL type Inputs. Leave Destinations empty. + public let sources: [InputSourceRequest]? + /// Name of the input. public let name: String? - /// Settings associated with the output group. - public let outputGroupSettings: OutputGroupSettings? - public init(outputs: [Output]? = nil, name: String? = nil, outputGroupSettings: OutputGroupSettings? = nil) { - self.outputs = outputs + public init(destinations: [InputDestinationRequest]? = nil, inputSecurityGroups: [String]? = nil, sources: [InputSourceRequest]? = nil, name: String? = nil) { + self.destinations = destinations + self.inputSecurityGroups = inputSecurityGroups + self.sources = sources self.name = name - self.outputGroupSettings = outputGroupSettings } private enum CodingKeys: String, CodingKey { - case outputs = "outputs" + case destinations = "destinations" + case inputSecurityGroups = "inputSecurityGroups" + case sources = "sources" case name = "name" - case outputGroupSettings = "outputGroupSettings" } } - public struct CreateInputSecurityGroupResponse: AWSShape { + public struct FecOutputSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SecurityGroup", location: .body(locationName: "securityGroup"), required: false, type: .structure) + AWSShapeMember(label: "IncludeFec", location: .body(locationName: "includeFec"), required: false, type: .enum), + AWSShapeMember(label: "ColumnDepth", location: .body(locationName: "columnDepth"), required: false, type: .integer), + AWSShapeMember(label: "RowLength", location: .body(locationName: "rowLength"), required: false, type: .integer) ] - public let securityGroup: InputSecurityGroup? + /// Enables column only or column and row based FEC + public let includeFec: FecOutputIncludeFec? + /// 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. + public let columnDepth: Int32? + /// 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. + public let rowLength: Int32? - public init(securityGroup: InputSecurityGroup? = nil) { - self.securityGroup = securityGroup + public init(includeFec: FecOutputIncludeFec? = nil, columnDepth: Int32? = nil, rowLength: Int32? = nil) { + self.includeFec = includeFec + self.columnDepth = columnDepth + self.rowLength = rowLength } private enum CodingKeys: String, CodingKey { - case securityGroup = "securityGroup" + case includeFec = "includeFec" + case columnDepth = "columnDepth" + case rowLength = "rowLength" } } - public enum AudioDescriptionAudioTypeControl: String, CustomStringConvertible, Codable { - case followInput = "FOLLOW_INPUT" - case useConfigured = "USE_CONFIGURED" - public var description: String { return self.rawValue } - } - - public enum Ac3LfeFilter: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } - - public enum BurnInAlignment: String, CustomStringConvertible, Codable { - case centered = "CENTERED" - case left = "LEFT" - case smart = "SMART" - public var description: String { return self.rawValue } - } - - public struct GlobalConfiguration: AWSShape { + public struct InputSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InputEndAction", location: .body(locationName: "inputEndAction"), required: false, type: .enum), - AWSShapeMember(label: "InputLossBehavior", location: .body(locationName: "inputLossBehavior"), required: false, type: .structure), - AWSShapeMember(label: "SupportLowFramerateInputs", location: .body(locationName: "supportLowFramerateInputs"), required: false, type: .enum), - AWSShapeMember(label: "OutputTimingSource", location: .body(locationName: "outputTimingSource"), required: false, type: .enum), - AWSShapeMember(label: "InitialAudioGain", location: .body(locationName: "initialAudioGain"), required: false, type: .integer) + AWSShapeMember(label: "FilterStrength", location: .body(locationName: "filterStrength"), required: false, type: .integer), + AWSShapeMember(label: "DenoiseFilter", location: .body(locationName: "denoiseFilter"), required: false, type: .enum), + AWSShapeMember(label: "DeblockFilter", location: .body(locationName: "deblockFilter"), required: false, type: .enum), + AWSShapeMember(label: "InputFilter", location: .body(locationName: "inputFilter"), required: false, type: .enum), + AWSShapeMember(label: "VideoSelector", location: .body(locationName: "videoSelector"), required: false, type: .structure), + AWSShapeMember(label: "AudioSelectors", location: .body(locationName: "audioSelectors"), required: false, type: .list), + AWSShapeMember(label: "SourceEndBehavior", location: .body(locationName: "sourceEndBehavior"), required: false, type: .enum), + AWSShapeMember(label: "CaptionSelectors", location: .body(locationName: "captionSelectors"), required: false, type: .list), + AWSShapeMember(label: "NetworkInputSettings", location: .body(locationName: "networkInputSettings"), required: false, type: .structure) ] - /// 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"). - public let inputEndAction: GlobalConfigurationInputEndAction? - /// Settings for system actions when input is lost. - public let inputLossBehavior: InputLossBehavior? - /// 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. - public let supportLowFramerateInputs: GlobalConfigurationLowFramerateInputs? - /// 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. - public let outputTimingSource: GlobalConfigurationOutputTimingSource? - /// Value to set the initial audio gain for the Live Event. - public let initialAudioGain: Int32? + /// Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest). + public let filterStrength: Int32? + /// Enable or disable the denoise filter when filtering. + public let denoiseFilter: InputDenoiseFilter? + /// Enable or disable the deblock filter when filtering. + public let deblockFilter: InputDeblockFilter? + /// Turns on the filter for this input. MPEG-2 inputs have the deblocking filter enabled by default. + /// 1) auto - filtering will be applied depending on input type/quality + /// 2) disabled - no filtering will be applied to the input + /// 3) forced - filtering will be applied regardless of input type + public let inputFilter: InputFilter? + /// Informs which video elementary stream to decode for input types that have multiple available. + public let videoSelector: VideoSelector? + /// Used to select the audio stream to decode for inputs that have multiple available. + public let audioSelectors: [AudioSelector]? + /// Loop input if it is a file. This allows a file input to be streamed indefinitely. + public let sourceEndBehavior: InputSourceEndBehavior? + /// Used to select the caption input to use for inputs that have multiple available. + public let captionSelectors: [CaptionSelector]? + /// Input settings. + public let networkInputSettings: NetworkInputSettings? - public init(inputEndAction: GlobalConfigurationInputEndAction? = nil, inputLossBehavior: InputLossBehavior? = nil, supportLowFramerateInputs: GlobalConfigurationLowFramerateInputs? = nil, outputTimingSource: GlobalConfigurationOutputTimingSource? = nil, initialAudioGain: Int32? = nil) { - self.inputEndAction = inputEndAction - self.inputLossBehavior = inputLossBehavior - self.supportLowFramerateInputs = supportLowFramerateInputs - self.outputTimingSource = outputTimingSource - self.initialAudioGain = initialAudioGain + public init(filterStrength: Int32? = nil, denoiseFilter: InputDenoiseFilter? = nil, deblockFilter: InputDeblockFilter? = nil, inputFilter: InputFilter? = nil, videoSelector: VideoSelector? = nil, audioSelectors: [AudioSelector]? = nil, sourceEndBehavior: InputSourceEndBehavior? = nil, captionSelectors: [CaptionSelector]? = nil, networkInputSettings: NetworkInputSettings? = nil) { + self.filterStrength = filterStrength + self.denoiseFilter = denoiseFilter + self.deblockFilter = deblockFilter + self.inputFilter = inputFilter + self.videoSelector = videoSelector + self.audioSelectors = audioSelectors + self.sourceEndBehavior = sourceEndBehavior + self.captionSelectors = captionSelectors + self.networkInputSettings = networkInputSettings } private enum CodingKeys: String, CodingKey { - case inputEndAction = "inputEndAction" - case inputLossBehavior = "inputLossBehavior" - case supportLowFramerateInputs = "supportLowFramerateInputs" - case outputTimingSource = "outputTimingSource" - case initialAudioGain = "initialAudioGain" + case filterStrength = "filterStrength" + case denoiseFilter = "denoiseFilter" + case deblockFilter = "deblockFilter" + case inputFilter = "inputFilter" + case videoSelector = "videoSelector" + case audioSelectors = "audioSelectors" + case sourceEndBehavior = "sourceEndBehavior" + case captionSelectors = "captionSelectors" + case networkInputSettings = "networkInputSettings" } } - public struct AribSourceSettings: AWSShape { - + public enum SmoothGroupTimestampOffsetMode: String, CustomStringConvertible, Codable { + case useConfiguredOffset = "USE_CONFIGURED_OFFSET" + case useEventStartDate = "USE_EVENT_START_DATE" + public var description: String { return self.rawValue } } - public enum Ac3CodingMode: String, CustomStringConvertible, Codable { + public enum AacCodingMode: String, CustomStringConvertible, Codable { + case adReceiverMix = "AD_RECEIVER_MIX" case codingMode10 = "CODING_MODE_1_0" case codingMode11 = "CODING_MODE_1_1" case codingMode20 = "CODING_MODE_2_0" - case codingMode32Lfe = "CODING_MODE_3_2_LFE" - public var description: String { return self.rawValue } - } - - public enum EmbeddedScte20Detection: String, CustomStringConvertible, Codable { - case auto = "AUTO" - case off = "OFF" - public var description: String { return self.rawValue } - } - - public enum Eac3SurroundExMode: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - case notIndicated = "NOT_INDICATED" + case codingMode51 = "CODING_MODE_5_1" public var description: String { return self.rawValue } } - public struct Scte27DestinationSettings: AWSShape { - - } - - public struct AudioPidSelection: AWSShape { + public struct CreateChannelResultModel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Pid", location: .body(locationName: "pid"), required: false, type: .integer) + AWSShapeMember(label: "Channel", location: .body(locationName: "channel"), required: false, type: .structure) ] - /// Selects a specific PID from within a source. - public let pid: Int32? + public let channel: Channel? - public init(pid: Int32? = nil) { - self.pid = pid + public init(channel: Channel? = nil) { + self.channel = channel } private enum CodingKeys: String, CodingKey { - case pid = "pid" + case channel = "channel" } } - public enum InputFilter: String, CustomStringConvertible, Codable { - case auto = "AUTO" - case disabled = "DISABLED" - case forced = "FORCED" - public var description: String { return self.rawValue } - } - - public enum InputLossActionForUdpOut: String, CustomStringConvertible, Codable { - case dropProgram = "DROP_PROGRAM" - case dropTs = "DROP_TS" - case emitProgram = "EMIT_PROGRAM" - public var description: String { return self.rawValue } - } - - public enum Eac3SurroundMode: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - case notIndicated = "NOT_INDICATED" - public var description: String { return self.rawValue } - } - - public enum M2tsKlv: String, CustomStringConvertible, Codable { - case none = "NONE" - case passthrough = "PASSTHROUGH" + public enum H264Level: String, CustomStringConvertible, Codable { + case h264Level1 = "H264_LEVEL_1" + case h264Level11 = "H264_LEVEL_1_1" + case h264Level12 = "H264_LEVEL_1_2" + case h264Level13 = "H264_LEVEL_1_3" + case h264Level2 = "H264_LEVEL_2" + case h264Level21 = "H264_LEVEL_2_1" + case h264Level22 = "H264_LEVEL_2_2" + case h264Level3 = "H264_LEVEL_3" + case h264Level31 = "H264_LEVEL_3_1" + case h264Level32 = "H264_LEVEL_3_2" + case h264Level4 = "H264_LEVEL_4" + case h264Level41 = "H264_LEVEL_4_1" + case h264Level42 = "H264_LEVEL_4_2" + case h264Level5 = "H264_LEVEL_5" + case h264Level51 = "H264_LEVEL_5_1" + case h264Level52 = "H264_LEVEL_5_2" + case h264LevelAuto = "H264_LEVEL_AUTO" public var description: String { return self.rawValue } } - public enum SmoothGroupSparseTrackType: String, CustomStringConvertible, Codable { - case none = "NONE" - case scte35 = "SCTE_35" + public struct UdpOutputSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FecOutputSettings", location: .body(locationName: "fecOutputSettings"), required: false, type: .structure), + AWSShapeMember(label: "ContainerSettings", location: .body(locationName: "containerSettings"), required: true, type: .structure), + AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: true, type: .structure), + AWSShapeMember(label: "BufferMsec", location: .body(locationName: "bufferMsec"), required: false, type: .integer) + ] + /// Settings for enabling and adjusting Forward Error Correction on UDP outputs. + public let fecOutputSettings: FecOutputSettings? + public let containerSettings: UdpContainerSettings + /// 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). + public let destination: OutputLocationRef + /// 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. + public let bufferMsec: Int32? + + public init(fecOutputSettings: FecOutputSettings? = nil, containerSettings: UdpContainerSettings, destination: OutputLocationRef, bufferMsec: Int32? = nil) { + self.fecOutputSettings = fecOutputSettings + self.containerSettings = containerSettings + self.destination = destination + self.bufferMsec = bufferMsec + } + + private enum CodingKeys: String, CodingKey { + case fecOutputSettings = "fecOutputSettings" + case containerSettings = "containerSettings" + case destination = "destination" + case bufferMsec = "bufferMsec" + } + } + + public enum H264TemporalAq: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public struct Scte20SourceSettings: AWSShape { + public enum FixedAfd: String, CustomStringConvertible, Codable { + case afd0000 = "AFD_0000" + case afd0010 = "AFD_0010" + case afd0011 = "AFD_0011" + case afd0100 = "AFD_0100" + case afd1000 = "AFD_1000" + case afd1001 = "AFD_1001" + case afd1010 = "AFD_1010" + case afd1011 = "AFD_1011" + case afd1101 = "AFD_1101" + case afd1110 = "AFD_1110" + case afd1111 = "AFD_1111" + public var description: String { return self.rawValue } + } + + public struct PurchaseOffering: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Source608ChannelNumber", location: .body(locationName: "source608ChannelNumber"), required: false, type: .integer), - AWSShapeMember(label: "Convert608To708", location: .body(locationName: "convert608To708"), required: false, type: .enum) + AWSShapeMember(label: "RequestId", location: .body(locationName: "requestId"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "Count", location: .body(locationName: "count"), required: false, type: .integer) ] - /// Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough. - public let source608ChannelNumber: Int32? - /// 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. - public let convert608To708: Scte20Convert608To708? + /// Unique request ID to be specified. This is needed to prevent retries from creating multiple resources. + public let requestId: String? + /// Name for the new reservation + public let name: String? + /// Number of resources + public let count: Int32? - public init(source608ChannelNumber: Int32? = nil, convert608To708: Scte20Convert608To708? = nil) { - self.source608ChannelNumber = source608ChannelNumber - self.convert608To708 = convert608To708 + public init(requestId: String? = nil, name: String? = nil, count: Int32? = nil) { + self.requestId = requestId + self.name = name + self.count = count } private enum CodingKeys: String, CodingKey { - case source608ChannelNumber = "source608ChannelNumber" - case convert608To708 = "convert608To708" + case requestId = "requestId" + case name = "name" + case count = "count" } } - public struct InputChannelLevel: AWSShape { + public struct ListReservationsResultModel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InputChannel", location: .body(locationName: "inputChannel"), required: false, type: .integer), - AWSShapeMember(label: "Gain", location: .body(locationName: "gain"), required: false, type: .integer) + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Reservations", location: .body(locationName: "reservations"), required: false, type: .list) ] - /// The index of the input channel used as a source. - public let inputChannel: Int32? - /// Remixing value. Units are in dB and acceptable values are within the range from -60 (mute) and 6 dB. - public let gain: Int32? + /// Token to retrieve the next page of results + public let nextToken: String? + /// List of reservations + public let reservations: [Reservation]? - public init(inputChannel: Int32? = nil, gain: Int32? = nil) { - self.inputChannel = inputChannel - self.gain = gain + public init(nextToken: String? = nil, reservations: [Reservation]? = nil) { + self.nextToken = nextToken + self.reservations = reservations } private enum CodingKeys: String, CodingKey { - case inputChannel = "inputChannel" - case gain = "gain" + case nextToken = "nextToken" + case reservations = "reservations" } } - public struct VideoSelector: AWSShape { + public struct HlsOutputSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ColorSpace", location: .body(locationName: "colorSpace"), required: false, type: .enum), - AWSShapeMember(label: "ColorSpaceUsage", location: .body(locationName: "colorSpaceUsage"), required: false, type: .enum), - AWSShapeMember(label: "SelectorSettings", location: .body(locationName: "selectorSettings"), required: false, type: .structure) + AWSShapeMember(label: "SegmentModifier", location: .body(locationName: "segmentModifier"), required: false, type: .string), + AWSShapeMember(label: "HlsSettings", location: .body(locationName: "hlsSettings"), required: true, type: .structure), + AWSShapeMember(label: "NameModifier", location: .body(locationName: "nameModifier"), required: false, type: .string) ] - /// Specifies the colorspace of an input. This setting works in tandem with colorSpaceConversion to determine if any conversion will be performed. - public let colorSpace: VideoSelectorColorSpace? - /// 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. - public let colorSpaceUsage: VideoSelectorColorSpaceUsage? - /// The video selector settings. - public let selectorSettings: VideoSelectorSettings? + /// String concatenated to end of segment filenames. + public let segmentModifier: String? + /// Settings regarding the underlying stream. These settings are different for audio-only outputs. + public let hlsSettings: HlsSettings + /// String concatenated to the end of the destination filename. Accepts \"Format Identifiers\":#formatIdentifierParameters. + public let nameModifier: String? - public init(colorSpace: VideoSelectorColorSpace? = nil, colorSpaceUsage: VideoSelectorColorSpaceUsage? = nil, selectorSettings: VideoSelectorSettings? = nil) { - self.colorSpace = colorSpace - self.colorSpaceUsage = colorSpaceUsage - self.selectorSettings = selectorSettings + public init(segmentModifier: String? = nil, hlsSettings: HlsSettings, nameModifier: String? = nil) { + self.segmentModifier = segmentModifier + self.hlsSettings = hlsSettings + self.nameModifier = nameModifier } private enum CodingKeys: String, CodingKey { - case colorSpace = "colorSpace" - case colorSpaceUsage = "colorSpaceUsage" - case selectorSettings = "selectorSettings" + case segmentModifier = "segmentModifier" + case hlsSettings = "hlsSettings" + case nameModifier = "nameModifier" } } - public enum ChannelState: String, CustomStringConvertible, Codable { - case creating = "CREATING" - case createFailed = "CREATE_FAILED" - case idle = "IDLE" - case starting = "STARTING" - case running = "RUNNING" - case recovering = "RECOVERING" - case stopping = "STOPPING" - case deleting = "DELETING" - case deleted = "DELETED" - public var description: String { return self.rawValue } + public struct ListReservationsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Codec", location: .querystring(locationName: "codec"), required: false, type: .string), + AWSShapeMember(label: "VideoQuality", location: .querystring(locationName: "videoQuality"), required: false, type: .string), + AWSShapeMember(label: "MaximumFramerate", location: .querystring(locationName: "maximumFramerate"), required: false, type: .string), + AWSShapeMember(label: "ResourceType", location: .querystring(locationName: "resourceType"), required: false, type: .string), + AWSShapeMember(label: "SpecialFeature", location: .querystring(locationName: "specialFeature"), required: false, type: .string), + AWSShapeMember(label: "Resolution", location: .querystring(locationName: "resolution"), required: false, type: .string), + AWSShapeMember(label: "MaximumBitrate", location: .querystring(locationName: "maximumBitrate"), required: false, type: .string), + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + public let codec: String? + public let videoQuality: String? + public let maximumFramerate: String? + public let resourceType: String? + public let specialFeature: String? + public let resolution: String? + public let maximumBitrate: String? + public let nextToken: String? + public let maxResults: Int32? + + public init(codec: String? = nil, videoQuality: String? = nil, maximumFramerate: String? = nil, resourceType: String? = nil, specialFeature: String? = nil, resolution: String? = nil, maximumBitrate: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.codec = codec + self.videoQuality = videoQuality + self.maximumFramerate = maximumFramerate + self.resourceType = resourceType + self.specialFeature = specialFeature + self.resolution = resolution + self.maximumBitrate = maximumBitrate + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case codec = "codec" + case videoQuality = "videoQuality" + case maximumFramerate = "maximumFramerate" + case resourceType = "resourceType" + case specialFeature = "specialFeature" + case resolution = "resolution" + case maximumBitrate = "maximumBitrate" + case nextToken = "nextToken" + case maxResults = "maxResults" + } } - public struct DvbSubSourceSettings: AWSShape { + public struct AccessDenied: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Pid", location: .body(locationName: "pid"), required: false, type: .integer) + AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) ] - /// 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. - public let pid: Int32? + public let message: String? - public init(pid: Int32? = nil) { - self.pid = pid + public init(message: String? = nil) { + self.message = message } private enum CodingKeys: String, CodingKey { - case pid = "pid" + case message = "message" } } - public enum Eac3DrcRf: String, CustomStringConvertible, Codable { - case filmLight = "FILM_LIGHT" - case filmStandard = "FILM_STANDARD" - case musicLight = "MUSIC_LIGHT" - case musicStandard = "MUSIC_STANDARD" + public enum Eac3AttenuationControl: String, CustomStringConvertible, Codable { + case attenuate3Db = "ATTENUATE_3_DB" case none = "NONE" - case speech = "SPEECH" public var description: String { return self.rawValue } } - public struct HlsBasicPutSettings: AWSShape { + public enum AacVbrQuality: String, CustomStringConvertible, Codable { + case high = "HIGH" + case low = "LOW" + case mediumHigh = "MEDIUM_HIGH" + case mediumLow = "MEDIUM_LOW" + public var description: String { return self.rawValue } + } + + public enum M3u8Scte35Behavior: String, CustomStringConvertible, Codable { + case noPassthrough = "NO_PASSTHROUGH" + case passthrough = "PASSTHROUGH" + public var description: String { return self.rawValue } + } + + public enum VideoSelectorColorSpace: String, CustomStringConvertible, Codable { + case follow = "FOLLOW" + case rec601 = "REC_601" + case rec709 = "REC_709" + public var description: String { return self.rawValue } + } + + public struct EmbeddedDestinationSettings: AWSShape { + + } + + public struct PurchaseOfferingResultModel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConnectionRetryInterval", location: .body(locationName: "connectionRetryInterval"), required: false, type: .integer), - AWSShapeMember(label: "FilecacheDuration", location: .body(locationName: "filecacheDuration"), required: false, type: .integer), - AWSShapeMember(label: "NumRetries", location: .body(locationName: "numRetries"), required: false, type: .integer), - AWSShapeMember(label: "RestartDelay", location: .body(locationName: "restartDelay"), required: false, type: .integer) + AWSShapeMember(label: "Reservation", location: .body(locationName: "reservation"), required: false, type: .structure) ] - /// Number of seconds to wait before retrying connection to the CDN if the connection is lost. - public let connectionRetryInterval: Int32? - /// Size in seconds of file cache for streaming outputs. - public let filecacheDuration: Int32? - /// Number of retry attempts that will be made before the Live Event is put into an error state. - public let numRetries: Int32? - /// If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. - public let restartDelay: Int32? + public let reservation: Reservation? - public init(connectionRetryInterval: Int32? = nil, filecacheDuration: Int32? = nil, numRetries: Int32? = nil, restartDelay: Int32? = nil) { - self.connectionRetryInterval = connectionRetryInterval - self.filecacheDuration = filecacheDuration - self.numRetries = numRetries - self.restartDelay = restartDelay + public init(reservation: Reservation? = nil) { + self.reservation = reservation } private enum CodingKeys: String, CodingKey { - case connectionRetryInterval = "connectionRetryInterval" - case filecacheDuration = "filecacheDuration" - case numRetries = "numRetries" - case restartDelay = "restartDelay" + case reservation = "reservation" } } - public enum UdpTimedMetadataId3Frame: String, CustomStringConvertible, Codable { - case none = "NONE" - case priv = "PRIV" - case tdrl = "TDRL" - public var description: String { return self.rawValue } - } - - public struct DvbSubDestinationSettings: AWSShape { + public struct H264Settings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BackgroundColor", location: .body(locationName: "backgroundColor"), required: false, type: .enum), - AWSShapeMember(label: "BackgroundOpacity", location: .body(locationName: "backgroundOpacity"), required: false, type: .integer), - AWSShapeMember(label: "YPosition", location: .body(locationName: "yPosition"), required: false, type: .integer), - AWSShapeMember(label: "FontOpacity", location: .body(locationName: "fontOpacity"), required: false, type: .integer), - AWSShapeMember(label: "ShadowXOffset", location: .body(locationName: "shadowXOffset"), required: false, type: .integer), - AWSShapeMember(label: "FontSize", location: .body(locationName: "fontSize"), required: false, type: .string), - AWSShapeMember(label: "Alignment", location: .body(locationName: "alignment"), required: false, type: .enum), - AWSShapeMember(label: "XPosition", location: .body(locationName: "xPosition"), required: false, type: .integer), - AWSShapeMember(label: "ShadowOpacity", location: .body(locationName: "shadowOpacity"), required: false, type: .integer), - AWSShapeMember(label: "FontColor", location: .body(locationName: "fontColor"), required: false, type: .enum), - AWSShapeMember(label: "OutlineColor", location: .body(locationName: "outlineColor"), required: false, type: .enum), - AWSShapeMember(label: "ShadowColor", location: .body(locationName: "shadowColor"), required: false, type: .enum), - AWSShapeMember(label: "ShadowYOffset", location: .body(locationName: "shadowYOffset"), required: false, type: .integer), - AWSShapeMember(label: "FontResolution", location: .body(locationName: "fontResolution"), required: false, type: .integer), - AWSShapeMember(label: "Font", location: .body(locationName: "font"), required: false, type: .structure), - AWSShapeMember(label: "OutlineSize", location: .body(locationName: "outlineSize"), required: false, type: .integer), - AWSShapeMember(label: "TeletextGridControl", location: .body(locationName: "teletextGridControl"), required: false, type: .enum) - ] - /// Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match. - public let backgroundColor: DvbSubDestinationBackgroundColor? - /// 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. - public let backgroundOpacity: Int32? - /// 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. - public let yPosition: Int32? - /// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match. - public let fontOpacity: Int32? - /// 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. - public let shadowXOffset: Int32? - /// 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. - public let fontSize: String? - /// 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. - public let alignment: DvbSubDestinationAlignment? - /// 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. - public let xPosition: Int32? - /// 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. - public let shadowOpacity: Int32? - /// 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. - public let fontColor: DvbSubDestinationFontColor? - /// 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. - public let outlineColor: DvbSubDestinationOutlineColor? - /// Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match. - public let shadowColor: DvbSubDestinationShadowColor? - /// 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. - public let shadowYOffset: Int32? - /// Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match. - public let fontResolution: Int32? - /// 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. - public let font: InputLocation? - /// 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. - public let outlineSize: Int32? - /// 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. - public let teletextGridControl: DvbSubDestinationTeletextGridControl? + AWSShapeMember(label: "BufFillPct", location: .body(locationName: "bufFillPct"), required: false, type: .integer), + AWSShapeMember(label: "BufSize", location: .body(locationName: "bufSize"), required: false, type: .integer), + AWSShapeMember(label: "ScanType", location: .body(locationName: "scanType"), required: false, type: .enum), + AWSShapeMember(label: "ParControl", location: .body(locationName: "parControl"), required: false, type: .enum), + AWSShapeMember(label: "NumRefFrames", location: .body(locationName: "numRefFrames"), required: false, type: .integer), + AWSShapeMember(label: "GopBReference", location: .body(locationName: "gopBReference"), required: false, type: .enum), + AWSShapeMember(label: "FramerateNumerator", location: .body(locationName: "framerateNumerator"), required: false, type: .integer), + AWSShapeMember(label: "Slices", location: .body(locationName: "slices"), required: false, type: .integer), + AWSShapeMember(label: "EntropyEncoding", location: .body(locationName: "entropyEncoding"), required: false, type: .enum), + AWSShapeMember(label: "ColorMetadata", location: .body(locationName: "colorMetadata"), required: false, type: .enum), + AWSShapeMember(label: "LookAheadRateControl", location: .body(locationName: "lookAheadRateControl"), required: false, type: .enum), + AWSShapeMember(label: "ParNumerator", location: .body(locationName: "parNumerator"), required: false, type: .integer), + AWSShapeMember(label: "MaxBitrate", location: .body(locationName: "maxBitrate"), required: false, type: .integer), + AWSShapeMember(label: "AdaptiveQuantization", location: .body(locationName: "adaptiveQuantization"), required: false, type: .enum), + AWSShapeMember(label: "GopSizeUnits", location: .body(locationName: "gopSizeUnits"), required: false, type: .enum), + AWSShapeMember(label: "SceneChangeDetect", location: .body(locationName: "sceneChangeDetect"), required: false, type: .enum), + AWSShapeMember(label: "RateControlMode", location: .body(locationName: "rateControlMode"), required: false, type: .enum), + AWSShapeMember(label: "Level", location: .body(locationName: "level"), required: false, type: .enum), + AWSShapeMember(label: "FramerateDenominator", location: .body(locationName: "framerateDenominator"), required: false, type: .integer), + AWSShapeMember(label: "ParDenominator", location: .body(locationName: "parDenominator"), required: false, type: .integer), + AWSShapeMember(label: "TimecodeInsertion", location: .body(locationName: "timecodeInsertion"), required: false, type: .enum), + AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), + AWSShapeMember(label: "GopClosedCadence", location: .body(locationName: "gopClosedCadence"), required: false, type: .integer), + AWSShapeMember(label: "FixedAfd", location: .body(locationName: "fixedAfd"), required: false, type: .enum), + AWSShapeMember(label: "MinIInterval", location: .body(locationName: "minIInterval"), required: false, type: .integer), + AWSShapeMember(label: "FlickerAq", location: .body(locationName: "flickerAq"), required: false, type: .enum), + AWSShapeMember(label: "Syntax", location: .body(locationName: "syntax"), required: false, type: .enum), + AWSShapeMember(label: "GopNumBFrames", location: .body(locationName: "gopNumBFrames"), required: false, type: .integer), + AWSShapeMember(label: "AfdSignaling", location: .body(locationName: "afdSignaling"), required: false, type: .enum), + AWSShapeMember(label: "Profile", location: .body(locationName: "profile"), required: false, type: .enum), + AWSShapeMember(label: "SpatialAq", location: .body(locationName: "spatialAq"), required: false, type: .enum), + AWSShapeMember(label: "Softness", location: .body(locationName: "softness"), required: false, type: .integer), + AWSShapeMember(label: "GopSize", location: .body(locationName: "gopSize"), required: false, type: .double), + AWSShapeMember(label: "FramerateControl", location: .body(locationName: "framerateControl"), required: false, type: .enum), + AWSShapeMember(label: "TemporalAq", location: .body(locationName: "temporalAq"), required: false, type: .enum) + ] + /// Percentage of the buffer that should initially be filled (HRD buffer model). + public let bufFillPct: Int32? + /// Size of buffer (HRD buffer model) in bits/second. + public let bufSize: Int32? + /// Sets the scan type of the output to progressive or top-field-first interlaced. + public let scanType: H264ScanType? + /// 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. + public let parControl: H264ParControl? + /// Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. + public let numRefFrames: Int32? + /// If enabled, use reference B frames for GOP structures that have B frames > 1. + public let gopBReference: H264GopBReference? + /// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. + public let framerateNumerator: Int32? + /// 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. + /// This field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution. + public let slices: Int32? + /// Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc. + public let entropyEncoding: H264EntropyEncoding? + /// Includes colorspace metadata in the output. + public let colorMetadata: H264ColorMetadata? + /// Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content. + public let lookAheadRateControl: H264LookAheadRateControl? + /// Pixel Aspect Ratio numerator. + public let parNumerator: Int32? + /// Maximum bitrate in bits/second (for VBR mode only). + public let maxBitrate: Int32? + /// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality. + public let adaptiveQuantization: H264AdaptiveQuantization? + /// 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. + public let gopSizeUnits: H264GopSizeUnits? + /// Scene change detection. Inserts I-frames on scene changes when enabled. + public let sceneChangeDetect: H264SceneChangeDetect? + /// Rate control mode. + public let rateControlMode: H264RateControlMode? + /// H.264 Level. + public let level: H264Level? + /// Framerate denominator. + public let framerateDenominator: Int32? + /// Pixel Aspect Ratio denominator. + public let parDenominator: Int32? + /// Determines how timecodes should be inserted into the video elementary stream. + /// - 'disabled': Do not include timecodes + /// - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config + public let timecodeInsertion: H264TimecodeInsertionBehavior? + /// 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. + public let bitrate: Int32? + /// 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. + public let gopClosedCadence: Int32? + /// Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'. + public let fixedAfd: FixedAfd? + /// 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 + public let minIInterval: Int32? + /// If set to enabled, adjust quantization within each frame to reduce flicker or 'pop' on I-frames. + public let flickerAq: H264FlickerAq? + /// Produces a bitstream compliant with SMPTE RP-2027. + public let syntax: H264Syntax? + /// Number of B-frames between reference frames. + public let gopNumBFrames: Int32? + /// 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. + public let afdSignaling: AfdSignaling? + /// H.264 Profile. + public let profile: H264Profile? + /// If set to enabled, adjust quantization within each frame based on spatial variation of content complexity. + public let spatialAq: H264SpatialAq? + /// Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. + public let softness: Int32? + /// GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. Must be greater than zero. + public let gopSize: Double? + /// 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. + public let framerateControl: H264FramerateControl? + /// If set to enabled, adjust quantization within each frame based on temporal variation of content complexity. + public let temporalAq: H264TemporalAq? - public init(backgroundColor: DvbSubDestinationBackgroundColor? = nil, backgroundOpacity: Int32? = nil, yPosition: Int32? = nil, fontOpacity: Int32? = nil, shadowXOffset: Int32? = nil, fontSize: String? = nil, alignment: DvbSubDestinationAlignment? = nil, xPosition: Int32? = nil, shadowOpacity: Int32? = nil, fontColor: DvbSubDestinationFontColor? = nil, outlineColor: DvbSubDestinationOutlineColor? = nil, shadowColor: DvbSubDestinationShadowColor? = nil, shadowYOffset: Int32? = nil, fontResolution: Int32? = nil, font: InputLocation? = nil, outlineSize: Int32? = nil, teletextGridControl: DvbSubDestinationTeletextGridControl? = nil) { - self.backgroundColor = backgroundColor - self.backgroundOpacity = backgroundOpacity - self.yPosition = yPosition - self.fontOpacity = fontOpacity - self.shadowXOffset = shadowXOffset - self.fontSize = fontSize - self.alignment = alignment - self.xPosition = xPosition - self.shadowOpacity = shadowOpacity - self.fontColor = fontColor - self.outlineColor = outlineColor - self.shadowColor = shadowColor - self.shadowYOffset = shadowYOffset - self.fontResolution = fontResolution - self.font = font - self.outlineSize = outlineSize - self.teletextGridControl = teletextGridControl + public init(bufFillPct: Int32? = nil, bufSize: Int32? = nil, scanType: H264ScanType? = nil, parControl: H264ParControl? = nil, numRefFrames: Int32? = nil, gopBReference: H264GopBReference? = nil, framerateNumerator: Int32? = nil, slices: Int32? = nil, entropyEncoding: H264EntropyEncoding? = nil, colorMetadata: H264ColorMetadata? = nil, lookAheadRateControl: H264LookAheadRateControl? = nil, parNumerator: Int32? = nil, maxBitrate: Int32? = nil, adaptiveQuantization: H264AdaptiveQuantization? = nil, gopSizeUnits: H264GopSizeUnits? = nil, sceneChangeDetect: H264SceneChangeDetect? = nil, rateControlMode: H264RateControlMode? = nil, level: H264Level? = nil, framerateDenominator: Int32? = nil, parDenominator: Int32? = nil, timecodeInsertion: H264TimecodeInsertionBehavior? = nil, bitrate: Int32? = nil, gopClosedCadence: Int32? = nil, fixedAfd: FixedAfd? = nil, minIInterval: Int32? = nil, flickerAq: H264FlickerAq? = nil, syntax: H264Syntax? = nil, gopNumBFrames: Int32? = nil, afdSignaling: AfdSignaling? = nil, profile: H264Profile? = nil, spatialAq: H264SpatialAq? = nil, softness: Int32? = nil, gopSize: Double? = nil, framerateControl: H264FramerateControl? = nil, temporalAq: H264TemporalAq? = nil) { + self.bufFillPct = bufFillPct + self.bufSize = bufSize + self.scanType = scanType + self.parControl = parControl + self.numRefFrames = numRefFrames + self.gopBReference = gopBReference + self.framerateNumerator = framerateNumerator + self.slices = slices + self.entropyEncoding = entropyEncoding + self.colorMetadata = colorMetadata + self.lookAheadRateControl = lookAheadRateControl + self.parNumerator = parNumerator + self.maxBitrate = maxBitrate + self.adaptiveQuantization = adaptiveQuantization + self.gopSizeUnits = gopSizeUnits + self.sceneChangeDetect = sceneChangeDetect + self.rateControlMode = rateControlMode + self.level = level + self.framerateDenominator = framerateDenominator + self.parDenominator = parDenominator + self.timecodeInsertion = timecodeInsertion + self.bitrate = bitrate + self.gopClosedCadence = gopClosedCadence + self.fixedAfd = fixedAfd + self.minIInterval = minIInterval + self.flickerAq = flickerAq + self.syntax = syntax + self.gopNumBFrames = gopNumBFrames + self.afdSignaling = afdSignaling + self.profile = profile + self.spatialAq = spatialAq + self.softness = softness + self.gopSize = gopSize + self.framerateControl = framerateControl + self.temporalAq = temporalAq } private enum CodingKeys: String, CodingKey { - case backgroundColor = "backgroundColor" - case backgroundOpacity = "backgroundOpacity" - case yPosition = "yPosition" - case fontOpacity = "fontOpacity" - case shadowXOffset = "shadowXOffset" - case fontSize = "fontSize" - case alignment = "alignment" - case xPosition = "xPosition" - case shadowOpacity = "shadowOpacity" - case fontColor = "fontColor" - case outlineColor = "outlineColor" - case shadowColor = "shadowColor" - case shadowYOffset = "shadowYOffset" - case fontResolution = "fontResolution" - case font = "font" - case outlineSize = "outlineSize" - case teletextGridControl = "teletextGridControl" + case bufFillPct = "bufFillPct" + case bufSize = "bufSize" + case scanType = "scanType" + case parControl = "parControl" + case numRefFrames = "numRefFrames" + case gopBReference = "gopBReference" + case framerateNumerator = "framerateNumerator" + case slices = "slices" + case entropyEncoding = "entropyEncoding" + case colorMetadata = "colorMetadata" + case lookAheadRateControl = "lookAheadRateControl" + case parNumerator = "parNumerator" + case maxBitrate = "maxBitrate" + case adaptiveQuantization = "adaptiveQuantization" + case gopSizeUnits = "gopSizeUnits" + case sceneChangeDetect = "sceneChangeDetect" + case rateControlMode = "rateControlMode" + case level = "level" + case framerateDenominator = "framerateDenominator" + case parDenominator = "parDenominator" + case timecodeInsertion = "timecodeInsertion" + case bitrate = "bitrate" + case gopClosedCadence = "gopClosedCadence" + case fixedAfd = "fixedAfd" + case minIInterval = "minIInterval" + case flickerAq = "flickerAq" + case syntax = "syntax" + case gopNumBFrames = "gopNumBFrames" + case afdSignaling = "afdSignaling" + case profile = "profile" + case spatialAq = "spatialAq" + case softness = "softness" + case gopSize = "gopSize" + case framerateControl = "framerateControl" + case temporalAq = "temporalAq" } } - public struct ListInputsRequest: AWSShape { + public struct UpdateInputSecurityGroupResultModel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + AWSShapeMember(label: "SecurityGroup", location: .body(locationName: "securityGroup"), required: false, type: .structure) ] - public let nextToken: String? - public let maxResults: Int32? + public let securityGroup: InputSecurityGroup? - public init(nextToken: String? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.maxResults = maxResults + public init(securityGroup: InputSecurityGroup? = nil) { + self.securityGroup = securityGroup } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case maxResults = "maxResults" + case securityGroup = "securityGroup" } } - public struct FecOutputSettings: AWSShape { + public struct DescribeReservationRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "IncludeFec", location: .body(locationName: "includeFec"), required: false, type: .enum), - AWSShapeMember(label: "ColumnDepth", location: .body(locationName: "columnDepth"), required: false, type: .integer), - AWSShapeMember(label: "RowLength", location: .body(locationName: "rowLength"), required: false, type: .integer) + AWSShapeMember(label: "ReservationId", location: .uri(locationName: "reservationId"), required: true, type: .string) ] - /// Enables column only or column and row based FEC - public let includeFec: FecOutputIncludeFec? - /// 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. - public let columnDepth: Int32? - /// 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. - public let rowLength: Int32? + public let reservationId: String - public init(includeFec: FecOutputIncludeFec? = nil, columnDepth: Int32? = nil, rowLength: Int32? = nil) { - self.includeFec = includeFec - self.columnDepth = columnDepth - self.rowLength = rowLength + public init(reservationId: String) { + self.reservationId = reservationId } private enum CodingKeys: String, CodingKey { - case includeFec = "includeFec" - case columnDepth = "columnDepth" - case rowLength = "rowLength" + case reservationId = "reservationId" } } - public enum Eac3LfeFilter: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum HlsAdMarkers: String, CustomStringConvertible, Codable { + case adobe = "ADOBE" + case elemental = "ELEMENTAL" + case elementalScte35 = "ELEMENTAL_SCTE35" public var description: String { return self.rawValue } } - public struct AudioOnlyHlsSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AudioTrackType", location: .body(locationName: "audioTrackType"), required: false, type: .enum), - AWSShapeMember(label: "AudioGroupId", location: .body(locationName: "audioGroupId"), required: false, type: .string), - AWSShapeMember(label: "AudioOnlyImage", location: .body(locationName: "audioOnlyImage"), required: false, type: .structure) - ] - /// 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 - public let audioTrackType: AudioOnlyHlsTrackType? - /// Specifies the group to which the audio Rendition belongs. - public let audioGroupId: String? - /// 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.}. - public let audioOnlyImage: InputLocation? - - public init(audioTrackType: AudioOnlyHlsTrackType? = nil, audioGroupId: String? = nil, audioOnlyImage: InputLocation? = nil) { - self.audioTrackType = audioTrackType - self.audioGroupId = audioGroupId - self.audioOnlyImage = audioOnlyImage - } - - private enum CodingKeys: String, CodingKey { - case audioTrackType = "audioTrackType" - case audioGroupId = "audioGroupId" - case audioOnlyImage = "audioOnlyImage" - } + public enum DvbSubDestinationAlignment: String, CustomStringConvertible, Codable { + case centered = "CENTERED" + case left = "LEFT" + case smart = "SMART" + public var description: String { return self.rawValue } } - public struct InputSettings: AWSShape { + public struct PurchaseOfferingRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FilterStrength", location: .body(locationName: "filterStrength"), required: false, type: .integer), - AWSShapeMember(label: "DenoiseFilter", location: .body(locationName: "denoiseFilter"), required: false, type: .enum), - AWSShapeMember(label: "DeblockFilter", location: .body(locationName: "deblockFilter"), required: false, type: .enum), - AWSShapeMember(label: "InputFilter", location: .body(locationName: "inputFilter"), required: false, type: .enum), - AWSShapeMember(label: "VideoSelector", location: .body(locationName: "videoSelector"), required: false, type: .structure), - AWSShapeMember(label: "AudioSelectors", location: .body(locationName: "audioSelectors"), required: false, type: .list), - AWSShapeMember(label: "SourceEndBehavior", location: .body(locationName: "sourceEndBehavior"), required: false, type: .enum), - AWSShapeMember(label: "CaptionSelectors", location: .body(locationName: "captionSelectors"), required: false, type: .list), - AWSShapeMember(label: "NetworkInputSettings", location: .body(locationName: "networkInputSettings"), required: false, type: .structure) + AWSShapeMember(label: "RequestId", location: .body(locationName: "requestId"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "OfferingId", location: .uri(locationName: "offeringId"), required: true, type: .string), + AWSShapeMember(label: "Count", location: .body(locationName: "count"), required: false, type: .integer) ] - /// Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest). - public let filterStrength: Int32? - /// Enable or disable the denoise filter when filtering. - public let denoiseFilter: InputDenoiseFilter? - /// Enable or disable the deblock filter when filtering. - public let deblockFilter: InputDeblockFilter? - /// Turns on the filter for this input. MPEG-2 inputs have the deblocking filter enabled by default. - /// 1) auto - filtering will be applied depending on input type/quality - /// 2) disabled - no filtering will be applied to the input - /// 3) forced - filtering will be applied regardless of input type - public let inputFilter: InputFilter? - /// Informs which video elementary stream to decode for input types that have multiple available. - public let videoSelector: VideoSelector? - /// Used to select the audio stream to decode for inputs that have multiple available. - public let audioSelectors: [AudioSelector]? - /// Loop input if it is a file. This allows a file input to be streamed indefinitely. - public let sourceEndBehavior: InputSourceEndBehavior? - /// Used to select the caption input to use for inputs that have multiple available. - public let captionSelectors: [CaptionSelector]? - /// Input settings. - public let networkInputSettings: NetworkInputSettings? + public let requestId: String? + public let name: String? + public let offeringId: String + public let count: Int32? - public init(filterStrength: Int32? = nil, denoiseFilter: InputDenoiseFilter? = nil, deblockFilter: InputDeblockFilter? = nil, inputFilter: InputFilter? = nil, videoSelector: VideoSelector? = nil, audioSelectors: [AudioSelector]? = nil, sourceEndBehavior: InputSourceEndBehavior? = nil, captionSelectors: [CaptionSelector]? = nil, networkInputSettings: NetworkInputSettings? = nil) { - self.filterStrength = filterStrength - self.denoiseFilter = denoiseFilter - self.deblockFilter = deblockFilter - self.inputFilter = inputFilter - self.videoSelector = videoSelector - self.audioSelectors = audioSelectors - self.sourceEndBehavior = sourceEndBehavior - self.captionSelectors = captionSelectors - self.networkInputSettings = networkInputSettings + public init(requestId: String? = nil, name: String? = nil, offeringId: String, count: Int32? = nil) { + self.requestId = requestId + self.name = name + self.offeringId = offeringId + self.count = count } private enum CodingKeys: String, CodingKey { - case filterStrength = "filterStrength" - case denoiseFilter = "denoiseFilter" - case deblockFilter = "deblockFilter" - case inputFilter = "inputFilter" - case videoSelector = "videoSelector" - case audioSelectors = "audioSelectors" - case sourceEndBehavior = "sourceEndBehavior" - case captionSelectors = "captionSelectors" - case networkInputSettings = "networkInputSettings" + case requestId = "requestId" + case name = "name" + case offeringId = "offeringId" + case count = "count" } } - public enum M2tsEbpPlacement: String, CustomStringConvertible, Codable { - case videoAndAudioPids = "VIDEO_AND_AUDIO_PIDS" - case videoPid = "VIDEO_PID" + public enum H264TimecodeInsertionBehavior: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case picTimingSei = "PIC_TIMING_SEI" public var description: String { return self.rawValue } } - public struct ChannelEgressEndpoint: AWSShape { + public struct CaptionSelectorSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SourceIp", location: .body(locationName: "sourceIp"), required: false, type: .string) + AWSShapeMember(label: "DvbSubSourceSettings", location: .body(locationName: "dvbSubSourceSettings"), required: false, type: .structure), + AWSShapeMember(label: "AribSourceSettings", location: .body(locationName: "aribSourceSettings"), required: false, type: .structure), + AWSShapeMember(label: "EmbeddedSourceSettings", location: .body(locationName: "embeddedSourceSettings"), required: false, type: .structure), + AWSShapeMember(label: "Scte27SourceSettings", location: .body(locationName: "scte27SourceSettings"), required: false, type: .structure), + AWSShapeMember(label: "TeletextSourceSettings", location: .body(locationName: "teletextSourceSettings"), required: false, type: .structure), + AWSShapeMember(label: "Scte20SourceSettings", location: .body(locationName: "scte20SourceSettings"), required: false, type: .structure) ] - /// Public IP of where a channel's output comes from - public let sourceIp: String? + public let dvbSubSourceSettings: DvbSubSourceSettings? + public let aribSourceSettings: AribSourceSettings? + public let embeddedSourceSettings: EmbeddedSourceSettings? + public let scte27SourceSettings: Scte27SourceSettings? + public let teletextSourceSettings: TeletextSourceSettings? + public let scte20SourceSettings: Scte20SourceSettings? - public init(sourceIp: String? = nil) { - self.sourceIp = sourceIp + public init(dvbSubSourceSettings: DvbSubSourceSettings? = nil, aribSourceSettings: AribSourceSettings? = nil, embeddedSourceSettings: EmbeddedSourceSettings? = nil, scte27SourceSettings: Scte27SourceSettings? = nil, teletextSourceSettings: TeletextSourceSettings? = nil, scte20SourceSettings: Scte20SourceSettings? = nil) { + self.dvbSubSourceSettings = dvbSubSourceSettings + self.aribSourceSettings = aribSourceSettings + self.embeddedSourceSettings = embeddedSourceSettings + self.scte27SourceSettings = scte27SourceSettings + self.teletextSourceSettings = teletextSourceSettings + self.scte20SourceSettings = scte20SourceSettings } private enum CodingKeys: String, CodingKey { - case sourceIp = "sourceIp" + case dvbSubSourceSettings = "dvbSubSourceSettings" + case aribSourceSettings = "aribSourceSettings" + case embeddedSourceSettings = "embeddedSourceSettings" + case scte27SourceSettings = "scte27SourceSettings" + case teletextSourceSettings = "teletextSourceSettings" + case scte20SourceSettings = "scte20SourceSettings" } } - public enum SmoothGroupTimestampOffsetMode: String, CustomStringConvertible, Codable { - case useConfiguredOffset = "USE_CONFIGURED_OFFSET" - case useEventStartDate = "USE_EVENT_START_DATE" + public enum AvailBlankingState: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum AacCodingMode: String, CustomStringConvertible, Codable { - case adReceiverMix = "AD_RECEIVER_MIX" - case codingMode10 = "CODING_MODE_1_0" - case codingMode11 = "CODING_MODE_1_1" - case codingMode20 = "CODING_MODE_2_0" - case codingMode51 = "CODING_MODE_5_1" + public enum DvbSubDestinationShadowColor: String, CustomStringConvertible, Codable { + case black = "BLACK" + case none = "NONE" + case white = "WHITE" public var description: String { return self.rawValue } } - public enum SmoothGroupAudioOnlyTimecodeControl: String, CustomStringConvertible, Codable { - case passthrough = "PASSTHROUGH" - case useConfiguredClock = "USE_CONFIGURED_CLOCK" + public enum DvbSubDestinationOutlineColor: String, CustomStringConvertible, Codable { + case black = "BLACK" + case blue = "BLUE" + case green = "GREEN" + case red = "RED" + case white = "WHITE" + case yellow = "YELLOW" public var description: String { return self.rawValue } } - public struct CreateChannelResultModel: AWSShape { + public struct HlsCdnSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Channel", location: .body(locationName: "channel"), required: false, type: .structure) + AWSShapeMember(label: "HlsBasicPutSettings", location: .body(locationName: "hlsBasicPutSettings"), required: false, type: .structure), + AWSShapeMember(label: "HlsMediaStoreSettings", location: .body(locationName: "hlsMediaStoreSettings"), required: false, type: .structure), + AWSShapeMember(label: "HlsAkamaiSettings", location: .body(locationName: "hlsAkamaiSettings"), required: false, type: .structure), + AWSShapeMember(label: "HlsWebdavSettings", location: .body(locationName: "hlsWebdavSettings"), required: false, type: .structure) ] - public let channel: Channel? + public let hlsBasicPutSettings: HlsBasicPutSettings? + public let hlsMediaStoreSettings: HlsMediaStoreSettings? + public let hlsAkamaiSettings: HlsAkamaiSettings? + public let hlsWebdavSettings: HlsWebdavSettings? - public init(channel: Channel? = nil) { - self.channel = channel + public init(hlsBasicPutSettings: HlsBasicPutSettings? = nil, hlsMediaStoreSettings: HlsMediaStoreSettings? = nil, hlsAkamaiSettings: HlsAkamaiSettings? = nil, hlsWebdavSettings: HlsWebdavSettings? = nil) { + self.hlsBasicPutSettings = hlsBasicPutSettings + self.hlsMediaStoreSettings = hlsMediaStoreSettings + self.hlsAkamaiSettings = hlsAkamaiSettings + self.hlsWebdavSettings = hlsWebdavSettings } private enum CodingKeys: String, CodingKey { - case channel = "channel" + case hlsBasicPutSettings = "hlsBasicPutSettings" + case hlsMediaStoreSettings = "hlsMediaStoreSettings" + case hlsAkamaiSettings = "hlsAkamaiSettings" + case hlsWebdavSettings = "hlsWebdavSettings" } } - public struct UdpOutputSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FecOutputSettings", location: .body(locationName: "fecOutputSettings"), required: false, type: .structure), - AWSShapeMember(label: "ContainerSettings", location: .body(locationName: "containerSettings"), required: false, type: .structure), - AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: false, type: .structure), - AWSShapeMember(label: "BufferMsec", location: .body(locationName: "bufferMsec"), required: false, type: .integer) - ] - /// Settings for enabling and adjusting Forward Error Correction on UDP outputs. - public let fecOutputSettings: FecOutputSettings? - public let containerSettings: UdpContainerSettings? - /// 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). - public let destination: OutputLocationRef? - /// 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. - public let bufferMsec: Int32? - - public init(fecOutputSettings: FecOutputSettings? = nil, containerSettings: UdpContainerSettings? = nil, destination: OutputLocationRef? = nil, bufferMsec: Int32? = nil) { - self.fecOutputSettings = fecOutputSettings - self.containerSettings = containerSettings - self.destination = destination - self.bufferMsec = bufferMsec - } - - private enum CodingKeys: String, CodingKey { - case fecOutputSettings = "fecOutputSettings" - case containerSettings = "containerSettings" - case destination = "destination" - case bufferMsec = "bufferMsec" - } + public enum Mp2CodingMode: String, CustomStringConvertible, Codable { + case codingMode10 = "CODING_MODE_1_0" + case codingMode20 = "CODING_MODE_2_0" + public var description: String { return self.rawValue } } - public struct ArchiveGroupSettings: AWSShape { + public struct TeletextSourceSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RolloverInterval", location: .body(locationName: "rolloverInterval"), required: false, type: .integer), - AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: false, type: .structure) + AWSShapeMember(label: "PageNumber", location: .body(locationName: "pageNumber"), required: false, type: .string) ] - /// Number of seconds to write to archive file before closing and starting a new one. - public let rolloverInterval: Int32? - /// 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. - public let destination: OutputLocationRef? + /// 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. + public let pageNumber: String? - public init(rolloverInterval: Int32? = nil, destination: OutputLocationRef? = nil) { - self.rolloverInterval = rolloverInterval - self.destination = destination + public init(pageNumber: String? = nil) { + self.pageNumber = pageNumber } private enum CodingKeys: String, CodingKey { - case rolloverInterval = "rolloverInterval" - case destination = "destination" + case pageNumber = "pageNumber" } } - public enum H264Level: String, CustomStringConvertible, Codable { - case h264Level1 = "H264_LEVEL_1" - case h264Level11 = "H264_LEVEL_1_1" - case h264Level12 = "H264_LEVEL_1_2" - case h264Level13 = "H264_LEVEL_1_3" - case h264Level2 = "H264_LEVEL_2" - case h264Level21 = "H264_LEVEL_2_1" - case h264Level22 = "H264_LEVEL_2_2" - case h264Level3 = "H264_LEVEL_3" - case h264Level31 = "H264_LEVEL_3_1" - case h264Level32 = "H264_LEVEL_3_2" - case h264Level4 = "H264_LEVEL_4" - case h264Level41 = "H264_LEVEL_4_1" - case h264Level42 = "H264_LEVEL_4_2" - case h264Level5 = "H264_LEVEL_5" - case h264Level51 = "H264_LEVEL_5_1" - case h264Level52 = "H264_LEVEL_5_2" - case h264LevelAuto = "H264_LEVEL_AUTO" - public var description: String { return self.rawValue } - } - - public struct StartChannelRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ChannelId", location: .uri(locationName: "channelId"), required: true, type: .string) - ] - public let channelId: String - - public init(channelId: String) { - self.channelId = channelId - } - - private enum CodingKeys: String, CodingKey { - case channelId = "channelId" - } - } - - public enum H264TemporalAq: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum VideoDescriptionRespondToAfd: String, CustomStringConvertible, Codable { + case none = "NONE" + case passthrough = "PASSTHROUGH" + case respond = "RESPOND" public var description: String { return self.rawValue } } - public enum InputSourceEndBehavior: String, CustomStringConvertible, Codable { - case `continue` = "CONTINUE" - case loop = "LOOP" + public enum InputLossActionForMsSmoothOut: String, CustomStringConvertible, Codable { + case emitOutput = "EMIT_OUTPUT" + case pauseOutput = "PAUSE_OUTPUT" public var description: String { return self.rawValue } } - public enum FixedAfd: String, CustomStringConvertible, Codable { - case afd0000 = "AFD_0000" - case afd0010 = "AFD_0010" - case afd0011 = "AFD_0011" - case afd0100 = "AFD_0100" - case afd1000 = "AFD_1000" - case afd1001 = "AFD_1001" - case afd1010 = "AFD_1010" - case afd1011 = "AFD_1011" - case afd1101 = "AFD_1101" - case afd1110 = "AFD_1110" - case afd1111 = "AFD_1111" + public enum RtmpCaptionData: String, CustomStringConvertible, Codable { + case all = "ALL" + case field1608 = "FIELD1_608" + case field1AndField2608 = "FIELD1_AND_FIELD2_608" public var description: String { return self.rawValue } } - public struct DescribeInputResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), - AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "securityGroups"), required: false, type: .list), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "AttachedChannels", location: .body(locationName: "attachedChannels"), required: false, type: .list), - AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "Sources", location: .body(locationName: "sources"), required: false, type: .list), - AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) - ] - public let destinations: [InputDestination]? - public let securityGroups: [String]? - public let arn: String? - public let attachedChannels: [String]? - public let state: InputState? - public let name: String? - public let sources: [InputSource]? - public let `type`: InputType? - public let id: String? + public struct WebvttDestinationSettings: AWSShape { - public init(destinations: [InputDestination]? = nil, securityGroups: [String]? = nil, arn: String? = nil, attachedChannels: [String]? = nil, state: InputState? = nil, name: String? = nil, sources: [InputSource]? = nil, type: InputType? = nil, id: String? = nil) { - self.destinations = destinations - self.securityGroups = securityGroups - self.arn = arn - self.attachedChannels = attachedChannels - self.state = state - self.name = name - self.sources = sources - self.`type` = `type` - self.id = id - } + } - private enum CodingKeys: String, CodingKey { - case destinations = "destinations" - case securityGroups = "securityGroups" - case arn = "arn" - case attachedChannels = "attachedChannels" - case state = "state" - case name = "name" - case sources = "sources" - case `type` = "type" - case id = "id" - } + public enum HlsOutputSelection: String, CustomStringConvertible, Codable { + case manifestsAndSegments = "MANIFESTS_AND_SEGMENTS" + case segmentsOnly = "SEGMENTS_ONLY" + public var description: String { return self.rawValue } } - public struct HlsOutputSettings: AWSShape { + public struct DeleteInputRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SegmentModifier", location: .body(locationName: "segmentModifier"), required: false, type: .string), - AWSShapeMember(label: "HlsSettings", location: .body(locationName: "hlsSettings"), required: false, type: .structure), - AWSShapeMember(label: "NameModifier", location: .body(locationName: "nameModifier"), required: false, type: .string) + AWSShapeMember(label: "InputId", location: .uri(locationName: "inputId"), required: true, type: .string) ] - /// String concatenated to end of segment filenames. - public let segmentModifier: String? - /// Settings regarding the underlying stream. These settings are different for audio-only outputs. - public let hlsSettings: HlsSettings? - /// String concatenated to the end of the destination filename. Accepts \"Format Identifiers\":#formatIdentifierParameters. - public let nameModifier: String? + public let inputId: String - public init(segmentModifier: String? = nil, hlsSettings: HlsSettings? = nil, nameModifier: String? = nil) { - self.segmentModifier = segmentModifier - self.hlsSettings = hlsSettings - self.nameModifier = nameModifier + public init(inputId: String) { + self.inputId = inputId } private enum CodingKeys: String, CodingKey { - case segmentModifier = "segmentModifier" - case hlsSettings = "hlsSettings" - case nameModifier = "nameModifier" + case inputId = "inputId" } } - public struct AccessDenied: AWSShape { + public struct ResourceConflict: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) ] @@ -1270,1729 +1130,2534 @@ extension Medialive { } } - public struct OutputSettings: AWSShape { + public struct DescribeInputSecurityGroupResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MsSmoothOutputSettings", location: .body(locationName: "msSmoothOutputSettings"), required: false, type: .structure), - AWSShapeMember(label: "UdpOutputSettings", location: .body(locationName: "udpOutputSettings"), required: false, type: .structure), - AWSShapeMember(label: "ArchiveOutputSettings", location: .body(locationName: "archiveOutputSettings"), required: false, type: .structure), - AWSShapeMember(label: "HlsOutputSettings", location: .body(locationName: "hlsOutputSettings"), required: false, type: .structure) + AWSShapeMember(label: "WhitelistRules", location: .body(locationName: "whitelistRules"), required: false, type: .list), + AWSShapeMember(label: "Inputs", location: .body(locationName: "inputs"), required: false, type: .list), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) ] - public let msSmoothOutputSettings: MsSmoothOutputSettings? - public let udpOutputSettings: UdpOutputSettings? - public let archiveOutputSettings: ArchiveOutputSettings? - public let hlsOutputSettings: HlsOutputSettings? + public let whitelistRules: [InputWhitelistRule]? + public let inputs: [String]? + public let arn: String? + public let state: InputSecurityGroupState? + public let id: String? - public init(msSmoothOutputSettings: MsSmoothOutputSettings? = nil, udpOutputSettings: UdpOutputSettings? = nil, archiveOutputSettings: ArchiveOutputSettings? = nil, hlsOutputSettings: HlsOutputSettings? = nil) { - self.msSmoothOutputSettings = msSmoothOutputSettings - self.udpOutputSettings = udpOutputSettings - self.archiveOutputSettings = archiveOutputSettings - self.hlsOutputSettings = hlsOutputSettings + public init(whitelistRules: [InputWhitelistRule]? = nil, inputs: [String]? = nil, arn: String? = nil, state: InputSecurityGroupState? = nil, id: String? = nil) { + self.whitelistRules = whitelistRules + self.inputs = inputs + self.arn = arn + self.state = state + self.id = id } private enum CodingKeys: String, CodingKey { - case msSmoothOutputSettings = "msSmoothOutputSettings" - case udpOutputSettings = "udpOutputSettings" - case archiveOutputSettings = "archiveOutputSettings" - case hlsOutputSettings = "hlsOutputSettings" + case whitelistRules = "whitelistRules" + case inputs = "inputs" + case arn = "arn" + case state = "state" + case id = "id" } } - public enum BurnInFontColor: String, CustomStringConvertible, Codable { - case black = "BLACK" - case blue = "BLUE" - case green = "GREEN" - case red = "RED" - case white = "WHITE" - case yellow = "YELLOW" - public var description: String { return self.rawValue } - } - - public enum SmoothGroupCertificateMode: String, CustomStringConvertible, Codable { - case selfSigned = "SELF_SIGNED" - case verifyAuthenticity = "VERIFY_AUTHENTICITY" - public var description: String { return self.rawValue } - } - - public enum BlackoutSlateState: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } - - public enum Eac3AttenuationControl: String, CustomStringConvertible, Codable { - case attenuate3Db = "ATTENUATE_3_DB" - case none = "NONE" + public enum Scte35SpliceInsertNoRegionalBlackoutBehavior: String, CustomStringConvertible, Codable { + case follow = "FOLLOW" + case ignore = "IGNORE" public var description: String { return self.rawValue } } - public enum HlsCodecSpecification: String, CustomStringConvertible, Codable { - case rfc4281 = "RFC_4281" - case rfc6381 = "RFC_6381" + public enum TimecodeConfigSource: String, CustomStringConvertible, Codable { + case embedded = "EMBEDDED" + case systemclock = "SYSTEMCLOCK" + case zerobased = "ZEROBASED" public var description: String { return self.rawValue } } - public struct ListChannelsResultModel: AWSShape { + public struct Output: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "Channels", location: .body(locationName: "channels"), required: false, type: .list) + AWSShapeMember(label: "CaptionDescriptionNames", location: .body(locationName: "captionDescriptionNames"), required: false, type: .list), + AWSShapeMember(label: "OutputSettings", location: .body(locationName: "outputSettings"), required: true, type: .structure), + AWSShapeMember(label: "VideoDescriptionName", location: .body(locationName: "videoDescriptionName"), required: false, type: .string), + AWSShapeMember(label: "OutputName", location: .body(locationName: "outputName"), required: false, type: .string), + AWSShapeMember(label: "AudioDescriptionNames", location: .body(locationName: "audioDescriptionNames"), required: false, type: .list) ] - public let nextToken: String? - public let channels: [ChannelSummary]? + /// The names of the CaptionDescriptions used as caption sources for this output. + public let captionDescriptionNames: [String]? + /// Output type-specific settings. + public let outputSettings: OutputSettings + /// The name of the VideoDescription used as the source for this output. + public let videoDescriptionName: String? + /// The name used to identify an output. + public let outputName: String? + /// The names of the AudioDescriptions used as audio sources for this output. + public let audioDescriptionNames: [String]? - public init(nextToken: String? = nil, channels: [ChannelSummary]? = nil) { - self.nextToken = nextToken - self.channels = channels + public init(captionDescriptionNames: [String]? = nil, outputSettings: OutputSettings, videoDescriptionName: String? = nil, outputName: String? = nil, audioDescriptionNames: [String]? = nil) { + self.captionDescriptionNames = captionDescriptionNames + self.outputSettings = outputSettings + self.videoDescriptionName = videoDescriptionName + self.outputName = outputName + self.audioDescriptionNames = audioDescriptionNames } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case channels = "channels" + case captionDescriptionNames = "captionDescriptionNames" + case outputSettings = "outputSettings" + case videoDescriptionName = "videoDescriptionName" + case outputName = "outputName" + case audioDescriptionNames = "audioDescriptionNames" } } - public struct HlsWebdavSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConnectionRetryInterval", location: .body(locationName: "connectionRetryInterval"), required: false, type: .integer), - AWSShapeMember(label: "FilecacheDuration", location: .body(locationName: "filecacheDuration"), required: false, type: .integer), - AWSShapeMember(label: "HttpTransferMode", location: .body(locationName: "httpTransferMode"), required: false, type: .enum), - AWSShapeMember(label: "NumRetries", location: .body(locationName: "numRetries"), required: false, type: .integer), - AWSShapeMember(label: "RestartDelay", location: .body(locationName: "restartDelay"), required: false, type: .integer) - ] - /// Number of seconds to wait before retrying connection to the CDN if the connection is lost. - public let connectionRetryInterval: Int32? - /// Size in seconds of file cache for streaming outputs. - public let filecacheDuration: Int32? - /// Specify whether or not to use chunked transfer encoding to WebDAV. - public let httpTransferMode: HlsWebdavHttpTransferMode? - /// Number of retry attempts that will be made before the Live Event is put into an error state. - public let numRetries: Int32? - /// If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. - public let restartDelay: Int32? + public enum Eac3MetadataControl: String, CustomStringConvertible, Codable { + case followInput = "FOLLOW_INPUT" + case useConfigured = "USE_CONFIGURED" + public var description: String { return self.rawValue } + } - public init(connectionRetryInterval: Int32? = nil, filecacheDuration: Int32? = nil, httpTransferMode: HlsWebdavHttpTransferMode? = nil, numRetries: Int32? = nil, restartDelay: Int32? = nil) { - self.connectionRetryInterval = connectionRetryInterval - self.filecacheDuration = filecacheDuration - self.httpTransferMode = httpTransferMode - self.numRetries = numRetries - self.restartDelay = restartDelay + public enum H264ScanType: String, CustomStringConvertible, Codable { + case interlaced = "INTERLACED" + case progressive = "PROGRESSIVE" + public var description: String { return self.rawValue } + } + + public struct BurnInDestinationSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BackgroundColor", location: .body(locationName: "backgroundColor"), required: false, type: .enum), + AWSShapeMember(label: "BackgroundOpacity", location: .body(locationName: "backgroundOpacity"), required: false, type: .integer), + AWSShapeMember(label: "YPosition", location: .body(locationName: "yPosition"), required: false, type: .integer), + AWSShapeMember(label: "FontOpacity", location: .body(locationName: "fontOpacity"), required: false, type: .integer), + AWSShapeMember(label: "ShadowXOffset", location: .body(locationName: "shadowXOffset"), required: false, type: .integer), + AWSShapeMember(label: "FontSize", location: .body(locationName: "fontSize"), required: false, type: .string), + AWSShapeMember(label: "Alignment", location: .body(locationName: "alignment"), required: false, type: .enum), + AWSShapeMember(label: "XPosition", location: .body(locationName: "xPosition"), required: false, type: .integer), + AWSShapeMember(label: "ShadowOpacity", location: .body(locationName: "shadowOpacity"), required: false, type: .integer), + AWSShapeMember(label: "FontColor", location: .body(locationName: "fontColor"), required: false, type: .enum), + AWSShapeMember(label: "OutlineColor", location: .body(locationName: "outlineColor"), required: false, type: .enum), + AWSShapeMember(label: "ShadowColor", location: .body(locationName: "shadowColor"), required: false, type: .enum), + AWSShapeMember(label: "ShadowYOffset", location: .body(locationName: "shadowYOffset"), required: false, type: .integer), + AWSShapeMember(label: "FontResolution", location: .body(locationName: "fontResolution"), required: false, type: .integer), + AWSShapeMember(label: "Font", location: .body(locationName: "font"), required: false, type: .structure), + AWSShapeMember(label: "OutlineSize", location: .body(locationName: "outlineSize"), required: false, type: .integer), + AWSShapeMember(label: "TeletextGridControl", location: .body(locationName: "teletextGridControl"), required: false, type: .enum) + ] + /// Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match. + public let backgroundColor: BurnInBackgroundColor? + /// 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. + public let backgroundOpacity: Int32? + /// 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. + public let yPosition: Int32? + /// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match. + public let fontOpacity: Int32? + /// 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. + public let shadowXOffset: Int32? + /// 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. + public let fontSize: String? + /// 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. + public let alignment: BurnInAlignment? + /// 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. + public let xPosition: Int32? + /// 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. + public let shadowOpacity: Int32? + /// 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. + public let fontColor: BurnInFontColor? + /// 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. + public let outlineColor: BurnInOutlineColor? + /// Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match. + public let shadowColor: BurnInShadowColor? + /// 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. + public let shadowYOffset: Int32? + /// Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match. + public let fontResolution: Int32? + /// 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. + public let font: InputLocation? + /// 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. + public let outlineSize: Int32? + /// 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. + public let teletextGridControl: BurnInTeletextGridControl? + + public init(backgroundColor: BurnInBackgroundColor? = nil, backgroundOpacity: Int32? = nil, yPosition: Int32? = nil, fontOpacity: Int32? = nil, shadowXOffset: Int32? = nil, fontSize: String? = nil, alignment: BurnInAlignment? = nil, xPosition: Int32? = nil, shadowOpacity: Int32? = nil, fontColor: BurnInFontColor? = nil, outlineColor: BurnInOutlineColor? = nil, shadowColor: BurnInShadowColor? = nil, shadowYOffset: Int32? = nil, fontResolution: Int32? = nil, font: InputLocation? = nil, outlineSize: Int32? = nil, teletextGridControl: BurnInTeletextGridControl? = nil) { + self.backgroundColor = backgroundColor + self.backgroundOpacity = backgroundOpacity + self.yPosition = yPosition + self.fontOpacity = fontOpacity + self.shadowXOffset = shadowXOffset + self.fontSize = fontSize + self.alignment = alignment + self.xPosition = xPosition + self.shadowOpacity = shadowOpacity + self.fontColor = fontColor + self.outlineColor = outlineColor + self.shadowColor = shadowColor + self.shadowYOffset = shadowYOffset + self.fontResolution = fontResolution + self.font = font + self.outlineSize = outlineSize + self.teletextGridControl = teletextGridControl } private enum CodingKeys: String, CodingKey { - case connectionRetryInterval = "connectionRetryInterval" - case filecacheDuration = "filecacheDuration" - case httpTransferMode = "httpTransferMode" - case numRetries = "numRetries" - case restartDelay = "restartDelay" + case backgroundColor = "backgroundColor" + case backgroundOpacity = "backgroundOpacity" + case yPosition = "yPosition" + case fontOpacity = "fontOpacity" + case shadowXOffset = "shadowXOffset" + case fontSize = "fontSize" + case alignment = "alignment" + case xPosition = "xPosition" + case shadowOpacity = "shadowOpacity" + case fontColor = "fontColor" + case outlineColor = "outlineColor" + case shadowColor = "shadowColor" + case shadowYOffset = "shadowYOffset" + case fontResolution = "fontResolution" + case font = "font" + case outlineSize = "outlineSize" + case teletextGridControl = "teletextGridControl" } } - public enum AacVbrQuality: String, CustomStringConvertible, Codable { - case high = "HIGH" - case low = "LOW" - case mediumHigh = "MEDIUM_HIGH" - case mediumLow = "MEDIUM_LOW" + public enum M2tsAudioInterval: String, CustomStringConvertible, Codable { + case videoAndFixedIntervals = "VIDEO_AND_FIXED_INTERVALS" + case videoInterval = "VIDEO_INTERVAL" public var description: String { return self.rawValue } } - public struct MsSmoothOutputSettings: AWSShape { + public struct HlsSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NameModifier", location: .body(locationName: "nameModifier"), required: false, type: .string) + AWSShapeMember(label: "AudioOnlyHlsSettings", location: .body(locationName: "audioOnlyHlsSettings"), required: false, type: .structure), + AWSShapeMember(label: "StandardHlsSettings", location: .body(locationName: "standardHlsSettings"), required: false, type: .structure) ] - /// String concatenated to the end of the destination filename. Required for multiple outputs of the same type. - public let nameModifier: String? + public let audioOnlyHlsSettings: AudioOnlyHlsSettings? + public let standardHlsSettings: StandardHlsSettings? - public init(nameModifier: String? = nil) { - self.nameModifier = nameModifier + public init(audioOnlyHlsSettings: AudioOnlyHlsSettings? = nil, standardHlsSettings: StandardHlsSettings? = nil) { + self.audioOnlyHlsSettings = audioOnlyHlsSettings + self.standardHlsSettings = standardHlsSettings } private enum CodingKeys: String, CodingKey { - case nameModifier = "nameModifier" + case audioOnlyHlsSettings = "audioOnlyHlsSettings" + case standardHlsSettings = "standardHlsSettings" } } - public enum M3u8Scte35Behavior: String, CustomStringConvertible, Codable { - case noPassthrough = "NO_PASSTHROUGH" - case passthrough = "PASSTHROUGH" + public struct AudioSelector: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "SelectorSettings", location: .body(locationName: "selectorSettings"), required: false, type: .structure) + ] + /// The name of this AudioSelector. AudioDescriptions will use this name to uniquely identify this Selector. Selector names should be unique per input. + public let name: String + /// The audio selector settings. + public let selectorSettings: AudioSelectorSettings? + + public init(name: String, selectorSettings: AudioSelectorSettings? = nil) { + self.name = name + self.selectorSettings = selectorSettings + } + + private enum CodingKeys: String, CodingKey { + case name = "name" + case selectorSettings = "selectorSettings" + } + } + + public struct InputSourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PasswordParam", location: .body(locationName: "passwordParam"), required: false, type: .string), + AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string), + AWSShapeMember(label: "Username", location: .body(locationName: "username"), required: false, type: .string) + ] + /// The key used to extract the password from EC2 Parameter store. + public let passwordParam: String? + /// This represents the customer's source URL where stream is + /// pulled from. + public let url: String? + /// The username for the input source. + public let username: String? + + public init(passwordParam: String? = nil, url: String? = nil, username: String? = nil) { + self.passwordParam = passwordParam + self.url = url + self.username = username + } + + private enum CodingKeys: String, CodingKey { + case passwordParam = "passwordParam" + case url = "url" + case username = "username" + } + } + + public enum HlsMode: String, CustomStringConvertible, Codable { + case live = "LIVE" + case vod = "VOD" public var description: String { return self.rawValue } } - public enum M2tsEsRateInPes: String, CustomStringConvertible, Codable { - case exclude = "EXCLUDE" - case include = "INCLUDE" + public enum H264FramerateControl: String, CustomStringConvertible, Codable { + case initializeFromSource = "INITIALIZE_FROM_SOURCE" + case specified = "SPECIFIED" public var description: String { return self.rawValue } } - public struct M2tsSettings: AWSShape { + public enum M2tsAbsentInputAudioBehavior: String, CustomStringConvertible, Codable { + case drop = "DROP" + case encodeSilence = "ENCODE_SILENCE" + public var description: String { return self.rawValue } + } + + public enum HlsDirectoryStructure: String, CustomStringConvertible, Codable { + case singleDirectory = "SINGLE_DIRECTORY" + case subdirectoryPerStream = "SUBDIRECTORY_PER_STREAM" + public var description: String { return self.rawValue } + } + + public struct AacSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PcrControl", location: .body(locationName: "pcrControl"), required: false, type: .enum), - AWSShapeMember(label: "TimedMetadataPid", location: .body(locationName: "timedMetadataPid"), required: false, type: .string), - AWSShapeMember(label: "KlvDataPids", location: .body(locationName: "klvDataPids"), required: false, type: .string), - AWSShapeMember(label: "PatInterval", location: .body(locationName: "patInterval"), required: false, type: .integer), - AWSShapeMember(label: "EsRateInPes", location: .body(locationName: "esRateInPes"), required: false, type: .enum), - AWSShapeMember(label: "AbsentInputAudioBehavior", location: .body(locationName: "absentInputAudioBehavior"), required: false, type: .enum), - AWSShapeMember(label: "PmtPid", location: .body(locationName: "pmtPid"), required: false, type: .string), - AWSShapeMember(label: "VideoPid", location: .body(locationName: "videoPid"), required: false, type: .string), - AWSShapeMember(label: "EtvSignalPid", location: .body(locationName: "etvSignalPid"), required: false, type: .string), - AWSShapeMember(label: "PcrPid", location: .body(locationName: "pcrPid"), required: false, type: .string), - AWSShapeMember(label: "AribCaptionsPidControl", location: .body(locationName: "aribCaptionsPidControl"), required: false, type: .enum), - AWSShapeMember(label: "Klv", location: .body(locationName: "klv"), required: false, type: .enum), - AWSShapeMember(label: "TimedMetadataBehavior", location: .body(locationName: "timedMetadataBehavior"), required: false, type: .enum), - AWSShapeMember(label: "Scte35Control", location: .body(locationName: "scte35Control"), required: false, type: .enum), - AWSShapeMember(label: "DvbTdtSettings", location: .body(locationName: "dvbTdtSettings"), required: false, type: .structure), - AWSShapeMember(label: "RateMode", location: .body(locationName: "rateMode"), required: false, type: .enum), - AWSShapeMember(label: "DvbSdtSettings", location: .body(locationName: "dvbSdtSettings"), required: false, type: .structure), - AWSShapeMember(label: "Scte27Pids", location: .body(locationName: "scte27Pids"), required: false, type: .string), - AWSShapeMember(label: "AudioFramesPerPes", location: .body(locationName: "audioFramesPerPes"), required: false, type: .integer), - AWSShapeMember(label: "BufferModel", location: .body(locationName: "bufferModel"), required: false, type: .enum), - AWSShapeMember(label: "EbpLookaheadMs", location: .body(locationName: "ebpLookaheadMs"), required: false, type: .integer), - AWSShapeMember(label: "AudioStreamType", location: .body(locationName: "audioStreamType"), required: false, type: .enum), - AWSShapeMember(label: "Ebif", location: .body(locationName: "ebif"), required: false, type: .enum), - AWSShapeMember(label: "SegmentationTime", location: .body(locationName: "segmentationTime"), required: false, type: .double), - AWSShapeMember(label: "AudioBufferModel", location: .body(locationName: "audioBufferModel"), required: false, type: .enum), - AWSShapeMember(label: "SegmentationStyle", location: .body(locationName: "segmentationStyle"), required: false, type: .enum), - AWSShapeMember(label: "CcDescriptor", location: .body(locationName: "ccDescriptor"), required: false, type: .enum), - AWSShapeMember(label: "EbpAudioInterval", location: .body(locationName: "ebpAudioInterval"), required: false, type: .enum), - AWSShapeMember(label: "DvbNitSettings", location: .body(locationName: "dvbNitSettings"), required: false, type: .structure), - AWSShapeMember(label: "FragmentTime", location: .body(locationName: "fragmentTime"), required: false, type: .double), - AWSShapeMember(label: "ProgramNum", location: .body(locationName: "programNum"), required: false, type: .integer), - AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), - AWSShapeMember(label: "PmtInterval", location: .body(locationName: "pmtInterval"), required: false, type: .integer), - AWSShapeMember(label: "Scte35Pid", location: .body(locationName: "scte35Pid"), required: false, type: .string), - AWSShapeMember(label: "DvbTeletextPid", location: .body(locationName: "dvbTeletextPid"), required: false, type: .string), - AWSShapeMember(label: "EbpPlacement", location: .body(locationName: "ebpPlacement"), required: false, type: .enum), - AWSShapeMember(label: "AribCaptionsPid", location: .body(locationName: "aribCaptionsPid"), required: false, type: .string), - AWSShapeMember(label: "SegmentationMarkers", location: .body(locationName: "segmentationMarkers"), required: false, type: .enum), - AWSShapeMember(label: "AudioPids", location: .body(locationName: "audioPids"), required: false, type: .string), - AWSShapeMember(label: "PcrPeriod", location: .body(locationName: "pcrPeriod"), required: false, type: .integer), - AWSShapeMember(label: "EcmPid", location: .body(locationName: "ecmPid"), required: false, type: .string), - AWSShapeMember(label: "Arib", location: .body(locationName: "arib"), required: false, type: .enum), - AWSShapeMember(label: "DvbSubPids", location: .body(locationName: "dvbSubPids"), required: false, type: .string), - AWSShapeMember(label: "TransportStreamId", location: .body(locationName: "transportStreamId"), required: false, type: .integer), - AWSShapeMember(label: "EtvPlatformPid", location: .body(locationName: "etvPlatformPid"), required: false, type: .string), - AWSShapeMember(label: "NullPacketBitrate", location: .body(locationName: "nullPacketBitrate"), required: false, type: .double) + AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: false, type: .enum), + AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .double), + AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .double), + AWSShapeMember(label: "Profile", location: .body(locationName: "profile"), required: false, type: .enum), + AWSShapeMember(label: "RawFormat", location: .body(locationName: "rawFormat"), required: false, type: .enum), + AWSShapeMember(label: "Spec", location: .body(locationName: "spec"), required: false, type: .enum), + AWSShapeMember(label: "VbrQuality", location: .body(locationName: "vbrQuality"), required: false, type: .enum), + AWSShapeMember(label: "InputType", location: .body(locationName: "inputType"), required: false, type: .enum), + AWSShapeMember(label: "RateControlMode", location: .body(locationName: "rateControlMode"), required: false, type: .enum) ] - /// 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. - public let pcrControl: M2tsPcrControl? - /// 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). - public let timedMetadataPid: String? - /// 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). - public let klvDataPids: String? - /// The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000. - public let patInterval: Int32? - /// Include or exclude the ES Rate field in the PES header. - public let esRateInPes: M2tsEsRateInPes? - /// 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. - public let absentInputAudioBehavior: M2tsAbsentInputAudioBehavior? - /// 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). - public let pmtPid: String? - /// 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). - public let videoPid: String? - /// 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). - public let etvSignalPid: String? - /// 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). - public let pcrPid: String? - /// 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. - public let aribCaptionsPidControl: M2tsAribCaptionsPidControl? - /// If set to passthrough, passes any KLV data from the input source to this output. - public let klv: M2tsKlv? - /// When set to passthrough, timed metadata will be passed through from input to output. - public let timedMetadataBehavior: M2tsTimedMetadataBehavior? - /// Optionally pass SCTE-35 signals from the input source to this output. - public let scte35Control: M2tsScte35Control? - /// Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. - public let dvbTdtSettings: DvbTdtSettings? - /// 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. - public let rateMode: M2tsRateMode? - /// Inserts DVB Service Description Table (SDT) at the specified table repetition interval. - public let dvbSdtSettings: DvbSdtSettings? - /// 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). - public let scte27Pids: String? - /// The number of audio frames to insert for each PES packet. - public let audioFramesPerPes: Int32? - /// 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. - public let bufferModel: M2tsBufferModel? - /// 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. - public let ebpLookaheadMs: Int32? - /// When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for EAC3. When set to dvb, uses stream type = 0x06. - public let audioStreamType: M2tsAudioStreamType? - /// If set to passthrough, passes any EBIF data from the input source to this output. - public let ebif: M2tsEbifControl? - /// The length in seconds of each segment. Required unless markers is set to None_. - public let segmentationTime: Double? - /// When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to atsc, the ATSC model is used. - public let audioBufferModel: M2tsAudioBufferModel? - /// 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 "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. - /// When 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. - public let segmentationStyle: M2tsSegmentationStyle? - /// When set to enabled, generates captionServiceDescriptor in PMT. - public let ccDescriptor: M2tsCcDescriptor? - /// 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. - public let ebpAudioInterval: M2tsAudioInterval? - /// Inserts DVB Network Information Table (NIT) at the specified table repetition interval. - public let dvbNitSettings: DvbNitSettings? - /// The length in seconds of each fragment. Only used with EBP markers. - public let fragmentTime: Double? - /// The value of the program number field in the Program Map Table. - public let programNum: Int32? - /// The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate. - public let bitrate: Int32? - /// The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000. - public let pmtInterval: Int32? - /// 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). - public let scte35Pid: String? - /// 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). - public let dvbTeletextPid: String? - /// 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. - public let ebpPlacement: M2tsEbpPlacement? - /// 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). - public let aribCaptionsPid: String? - /// 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. - public let segmentationMarkers: M2tsSegmentationMarkers? - /// 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). - public let audioPids: String? - /// Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream. - public let pcrPeriod: Int32? - /// Packet Identifier (PID) for ECM in the transport stream. Only enabled when Simulcrypt is enabled. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). - public let ecmPid: String? - /// When set to enabled, uses ARIB-compliant field muxing and removes video descriptor. - public let arib: M2tsArib? - /// 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). - public let dvbSubPids: String? - /// The value of the transport stream ID field in the Program Map Table. - public let transportStreamId: Int32? - /// 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). - public let etvPlatformPid: String? - /// 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. - public let nullPacketBitrate: Double? + /// 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. + public let codingMode: AacCodingMode? + /// Sample rate in Hz. Valid values depend on rate control mode and profile. + public let sampleRate: Double? + /// Average bitrate in bits/second. Valid values depend on rate control mode and profile. + public let bitrate: Double? + /// AAC Profile. + public let profile: AacProfile? + /// Sets LATM / LOAS AAC output for raw containers. + public let rawFormat: AacRawFormat? + /// Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers. + public let spec: AacSpec? + /// VBR Quality Level - Only used if rateControlMode is VBR. + public let vbrQuality: AacVbrQuality? + /// 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. + /// Leave set to "normal" when input does not contain pre-mixed audio + AD. + public let inputType: AacInputType? + /// Rate Control Mode. + public let rateControlMode: AacRateControlMode? - public init(pcrControl: M2tsPcrControl? = nil, timedMetadataPid: String? = nil, klvDataPids: String? = nil, patInterval: Int32? = nil, esRateInPes: M2tsEsRateInPes? = nil, absentInputAudioBehavior: M2tsAbsentInputAudioBehavior? = nil, pmtPid: String? = nil, videoPid: String? = nil, etvSignalPid: String? = nil, pcrPid: String? = nil, aribCaptionsPidControl: M2tsAribCaptionsPidControl? = nil, klv: M2tsKlv? = nil, timedMetadataBehavior: M2tsTimedMetadataBehavior? = nil, scte35Control: M2tsScte35Control? = nil, dvbTdtSettings: DvbTdtSettings? = nil, rateMode: M2tsRateMode? = nil, dvbSdtSettings: DvbSdtSettings? = nil, scte27Pids: String? = nil, audioFramesPerPes: Int32? = nil, bufferModel: M2tsBufferModel? = nil, ebpLookaheadMs: Int32? = nil, audioStreamType: M2tsAudioStreamType? = nil, ebif: M2tsEbifControl? = nil, segmentationTime: Double? = nil, audioBufferModel: M2tsAudioBufferModel? = nil, segmentationStyle: M2tsSegmentationStyle? = nil, ccDescriptor: M2tsCcDescriptor? = nil, ebpAudioInterval: M2tsAudioInterval? = nil, dvbNitSettings: DvbNitSettings? = nil, fragmentTime: Double? = nil, programNum: Int32? = nil, bitrate: Int32? = nil, pmtInterval: Int32? = nil, scte35Pid: String? = nil, dvbTeletextPid: String? = nil, ebpPlacement: M2tsEbpPlacement? = nil, aribCaptionsPid: String? = nil, segmentationMarkers: M2tsSegmentationMarkers? = nil, audioPids: String? = nil, pcrPeriod: Int32? = nil, ecmPid: String? = nil, arib: M2tsArib? = nil, dvbSubPids: String? = nil, transportStreamId: Int32? = nil, etvPlatformPid: String? = nil, nullPacketBitrate: Double? = nil) { - self.pcrControl = pcrControl - self.timedMetadataPid = timedMetadataPid - self.klvDataPids = klvDataPids - self.patInterval = patInterval - self.esRateInPes = esRateInPes - self.absentInputAudioBehavior = absentInputAudioBehavior - self.pmtPid = pmtPid - self.videoPid = videoPid - self.etvSignalPid = etvSignalPid - self.pcrPid = pcrPid - self.aribCaptionsPidControl = aribCaptionsPidControl - self.klv = klv - self.timedMetadataBehavior = timedMetadataBehavior - self.scte35Control = scte35Control - self.dvbTdtSettings = dvbTdtSettings - self.rateMode = rateMode - self.dvbSdtSettings = dvbSdtSettings - self.scte27Pids = scte27Pids - self.audioFramesPerPes = audioFramesPerPes - self.bufferModel = bufferModel - self.ebpLookaheadMs = ebpLookaheadMs - self.audioStreamType = audioStreamType - self.ebif = ebif - self.segmentationTime = segmentationTime - self.audioBufferModel = audioBufferModel - self.segmentationStyle = segmentationStyle - self.ccDescriptor = ccDescriptor - self.ebpAudioInterval = ebpAudioInterval - self.dvbNitSettings = dvbNitSettings - self.fragmentTime = fragmentTime - self.programNum = programNum + public init(codingMode: AacCodingMode? = nil, sampleRate: Double? = nil, bitrate: Double? = nil, profile: AacProfile? = nil, rawFormat: AacRawFormat? = nil, spec: AacSpec? = nil, vbrQuality: AacVbrQuality? = nil, inputType: AacInputType? = nil, rateControlMode: AacRateControlMode? = nil) { + self.codingMode = codingMode + self.sampleRate = sampleRate self.bitrate = bitrate - self.pmtInterval = pmtInterval - self.scte35Pid = scte35Pid - self.dvbTeletextPid = dvbTeletextPid - self.ebpPlacement = ebpPlacement - self.aribCaptionsPid = aribCaptionsPid - self.segmentationMarkers = segmentationMarkers - self.audioPids = audioPids - self.pcrPeriod = pcrPeriod - self.ecmPid = ecmPid - self.arib = arib - self.dvbSubPids = dvbSubPids - self.transportStreamId = transportStreamId - self.etvPlatformPid = etvPlatformPid - self.nullPacketBitrate = nullPacketBitrate + self.profile = profile + self.rawFormat = rawFormat + self.spec = spec + self.vbrQuality = vbrQuality + self.inputType = inputType + self.rateControlMode = rateControlMode } private enum CodingKeys: String, CodingKey { - case pcrControl = "pcrControl" - case timedMetadataPid = "timedMetadataPid" - case klvDataPids = "klvDataPids" - case patInterval = "patInterval" - case esRateInPes = "esRateInPes" - case absentInputAudioBehavior = "absentInputAudioBehavior" - case pmtPid = "pmtPid" - case videoPid = "videoPid" - case etvSignalPid = "etvSignalPid" - case pcrPid = "pcrPid" - case aribCaptionsPidControl = "aribCaptionsPidControl" - case klv = "klv" - case timedMetadataBehavior = "timedMetadataBehavior" - case scte35Control = "scte35Control" - case dvbTdtSettings = "dvbTdtSettings" - case rateMode = "rateMode" - case dvbSdtSettings = "dvbSdtSettings" - case scte27Pids = "scte27Pids" - case audioFramesPerPes = "audioFramesPerPes" - case bufferModel = "bufferModel" - case ebpLookaheadMs = "ebpLookaheadMs" - case audioStreamType = "audioStreamType" - case ebif = "ebif" - case segmentationTime = "segmentationTime" - case audioBufferModel = "audioBufferModel" - case segmentationStyle = "segmentationStyle" - case ccDescriptor = "ccDescriptor" - case ebpAudioInterval = "ebpAudioInterval" - case dvbNitSettings = "dvbNitSettings" - case fragmentTime = "fragmentTime" - case programNum = "programNum" + case codingMode = "codingMode" + case sampleRate = "sampleRate" case bitrate = "bitrate" - case pmtInterval = "pmtInterval" - case scte35Pid = "scte35Pid" - case dvbTeletextPid = "dvbTeletextPid" - case ebpPlacement = "ebpPlacement" - case aribCaptionsPid = "aribCaptionsPid" - case segmentationMarkers = "segmentationMarkers" - case audioPids = "audioPids" - case pcrPeriod = "pcrPeriod" - case ecmPid = "ecmPid" - case arib = "arib" - case dvbSubPids = "dvbSubPids" - case transportStreamId = "transportStreamId" - case etvPlatformPid = "etvPlatformPid" - case nullPacketBitrate = "nullPacketBitrate" + case profile = "profile" + case rawFormat = "rawFormat" + case spec = "spec" + case vbrQuality = "vbrQuality" + case inputType = "inputType" + case rateControlMode = "rateControlMode" + } + } + + public struct VideoSelectorPid: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Pid", location: .body(locationName: "pid"), required: false, type: .integer) + ] + /// Selects a specific PID from within a video source. + public let pid: Int32? + + public init(pid: Int32? = nil) { + self.pid = pid + } + + private enum CodingKeys: String, CodingKey { + case pid = "pid" + } + } + + public enum SmoothGroupStreamManifestBehavior: String, CustomStringConvertible, Codable { + case doNotSend = "DO_NOT_SEND" + case send = "SEND" + public var description: String { return self.rawValue } + } + + public struct ListInputSecurityGroupsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + public let nextToken: String? + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public enum BlackoutSlateNetworkEndBlackout: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public struct UpdateInputSecurityGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InputSecurityGroupId", location: .uri(locationName: "inputSecurityGroupId"), required: true, type: .string), + AWSShapeMember(label: "WhitelistRules", location: .body(locationName: "whitelistRules"), required: false, type: .list) + ] + public let inputSecurityGroupId: String + public let whitelistRules: [InputWhitelistRuleCidr]? + + public init(inputSecurityGroupId: String, whitelistRules: [InputWhitelistRuleCidr]? = nil) { + self.inputSecurityGroupId = inputSecurityGroupId + self.whitelistRules = whitelistRules + } + + private enum CodingKeys: String, CodingKey { + case inputSecurityGroupId = "inputSecurityGroupId" + case whitelistRules = "whitelistRules" + } + } + + public enum Eac3DcFilter: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public enum DvbSubDestinationBackgroundColor: String, CustomStringConvertible, Codable { + case black = "BLACK" + case none = "NONE" + case white = "WHITE" + public var description: String { return self.rawValue } + } + + public enum AudioType: String, CustomStringConvertible, Codable { + case cleanEffects = "CLEAN_EFFECTS" + case hearingImpaired = "HEARING_IMPAIRED" + case undefined = "UNDEFINED" + case visualImpairedCommentary = "VISUAL_IMPAIRED_COMMENTARY" + public var description: String { return self.rawValue } + } + + public enum HlsCaptionLanguageSetting: String, CustomStringConvertible, Codable { + case insert = "INSERT" + case none = "NONE" + case omit = "OMIT" + public var description: String { return self.rawValue } + } + + public struct NetworkInputSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ServerValidation", location: .body(locationName: "serverValidation"), required: false, type: .enum), + AWSShapeMember(label: "HlsInputSettings", location: .body(locationName: "hlsInputSettings"), required: false, type: .structure) + ] + /// 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. + public let serverValidation: NetworkInputServerValidation? + /// Specifies HLS input settings when the uri is for a HLS manifest. + public let hlsInputSettings: HlsInputSettings? + + public init(serverValidation: NetworkInputServerValidation? = nil, hlsInputSettings: HlsInputSettings? = nil) { + self.serverValidation = serverValidation + self.hlsInputSettings = hlsInputSettings + } + + private enum CodingKeys: String, CodingKey { + case serverValidation = "serverValidation" + case hlsInputSettings = "hlsInputSettings" + } + } + + public enum H264Syntax: String, CustomStringConvertible, Codable { + case `default` = "DEFAULT" + case rp2027 = "RP2027" + public var description: String { return self.rawValue } + } + + public enum InputLossImageType: String, CustomStringConvertible, Codable { + case color = "COLOR" + case slate = "SLATE" + public var description: String { return self.rawValue } + } + + public struct TimecodeConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SyncThreshold", location: .body(locationName: "syncThreshold"), required: false, type: .integer), + AWSShapeMember(label: "Source", location: .body(locationName: "source"), required: true, type: .enum) + ] + /// 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. + public let syncThreshold: Int32? + /// Identifies the source for the timecode that will be associated with the events outputs. + /// -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). + /// -System Clock (systemclock): Use the UTC time. + /// -Start at 0 (zerobased): The time of the first frame of the event will be 00:00:00:00. + public let source: TimecodeConfigSource + + public init(syncThreshold: Int32? = nil, source: TimecodeConfigSource) { + self.syncThreshold = syncThreshold + self.source = source + } + + private enum CodingKeys: String, CodingKey { + case syncThreshold = "syncThreshold" + case source = "source" + } + } + + public enum H264LookAheadRateControl: String, CustomStringConvertible, Codable { + case high = "HIGH" + case low = "LOW" + case medium = "MEDIUM" + public var description: String { return self.rawValue } + } + + public struct InputWhitelistRuleCidr: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Cidr", location: .body(locationName: "cidr"), required: false, type: .string) + ] + /// The IPv4 CIDR to whitelist. + public let cidr: String? + + public init(cidr: String? = nil) { + self.cidr = cidr + } + + private enum CodingKeys: String, CodingKey { + case cidr = "cidr" + } + } + + public struct InputSecurityGroup: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WhitelistRules", location: .body(locationName: "whitelistRules"), required: false, type: .list), + AWSShapeMember(label: "Inputs", location: .body(locationName: "inputs"), required: false, type: .list), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + ] + /// Whitelist rules and their sync status + public let whitelistRules: [InputWhitelistRule]? + /// The list of inputs currently using this Input Security Group. + public let inputs: [String]? + /// Unique ARN of Input Security Group + public let arn: String? + /// The current state of the Input Security Group. + public let state: InputSecurityGroupState? + /// The Id of the Input Security Group + public let id: String? + + public init(whitelistRules: [InputWhitelistRule]? = nil, inputs: [String]? = nil, arn: String? = nil, state: InputSecurityGroupState? = nil, id: String? = nil) { + self.whitelistRules = whitelistRules + self.inputs = inputs + self.arn = arn + self.state = state + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case whitelistRules = "whitelistRules" + case inputs = "inputs" + case arn = "arn" + case state = "state" + case id = "id" + } + } + + public struct AvailBlanking: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "AvailBlankingImage", location: .body(locationName: "availBlankingImage"), required: false, type: .structure) + ] + /// When set to enabled, causes video, audio and captions to be blanked when insertion metadata is added. + public let state: AvailBlankingState? + /// Blanking image to be used. Leave empty for solid black. Only bmp and png images are supported. + public let availBlankingImage: InputLocation? + + public init(state: AvailBlankingState? = nil, availBlankingImage: InputLocation? = nil) { + self.state = state + self.availBlankingImage = availBlankingImage + } + + private enum CodingKeys: String, CodingKey { + case state = "state" + case availBlankingImage = "availBlankingImage" + } + } + + public enum AacProfile: String, CustomStringConvertible, Codable { + case hev1 = "HEV1" + case hev2 = "HEV2" + case lc = "LC" + public var description: String { return self.rawValue } + } + + public enum SmoothGroupSegmentationMode: String, CustomStringConvertible, Codable { + case useInputSegmentation = "USE_INPUT_SEGMENTATION" + case useSegmentDuration = "USE_SEGMENT_DURATION" + public var description: String { return self.rawValue } + } + + public struct ListChannelsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + public let nextToken: String? + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct M3u8Settings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TimedMetadataPid", location: .body(locationName: "timedMetadataPid"), required: false, type: .string), + AWSShapeMember(label: "Scte35Behavior", location: .body(locationName: "scte35Behavior"), required: false, type: .enum), + AWSShapeMember(label: "PcrControl", location: .body(locationName: "pcrControl"), required: false, type: .enum), + AWSShapeMember(label: "PatInterval", location: .body(locationName: "patInterval"), required: false, type: .integer), + AWSShapeMember(label: "PmtPid", location: .body(locationName: "pmtPid"), required: false, type: .string), + AWSShapeMember(label: "VideoPid", location: .body(locationName: "videoPid"), required: false, type: .string), + AWSShapeMember(label: "TimedMetadataBehavior", location: .body(locationName: "timedMetadataBehavior"), required: false, type: .enum), + AWSShapeMember(label: "ProgramNum", location: .body(locationName: "programNum"), required: false, type: .integer), + AWSShapeMember(label: "PcrPid", location: .body(locationName: "pcrPid"), required: false, type: .string), + AWSShapeMember(label: "Scte35Pid", location: .body(locationName: "scte35Pid"), required: false, type: .string), + AWSShapeMember(label: "PmtInterval", location: .body(locationName: "pmtInterval"), required: false, type: .integer), + AWSShapeMember(label: "AudioPids", location: .body(locationName: "audioPids"), required: false, type: .string), + AWSShapeMember(label: "PcrPeriod", location: .body(locationName: "pcrPeriod"), required: false, type: .integer), + AWSShapeMember(label: "EcmPid", location: .body(locationName: "ecmPid"), required: false, type: .string), + AWSShapeMember(label: "AudioFramesPerPes", location: .body(locationName: "audioFramesPerPes"), required: false, type: .integer), + AWSShapeMember(label: "TransportStreamId", location: .body(locationName: "transportStreamId"), required: false, type: .integer) + ] + /// 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). + public let timedMetadataPid: String? + /// If set to passthrough, passes any SCTE-35 signals from the input source to this output. + public let scte35Behavior: M3u8Scte35Behavior? + /// 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. + public let pcrControl: M3u8PcrControl? + /// 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. + public let patInterval: Int32? + /// Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. + public let pmtPid: String? + /// Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. + public let videoPid: String? + /// When set to passthrough, timed metadata is passed through from input to output. + public let timedMetadataBehavior: M3u8TimedMetadataBehavior? + /// The value of the program number field in the Program Map Table. + public let programNum: Int32? + /// 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. + public let pcrPid: String? + /// Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. + public let scte35Pid: String? + /// 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. + public let pmtInterval: Int32? + /// 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. + public let audioPids: String? + /// Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream. + public let pcrPeriod: Int32? + /// This parameter is unused and deprecated. + public let ecmPid: String? + /// The number of audio frames to insert for each PES packet. + public let audioFramesPerPes: Int32? + /// The value of the transport stream ID field in the Program Map Table. + public let transportStreamId: Int32? + + public init(timedMetadataPid: String? = nil, scte35Behavior: M3u8Scte35Behavior? = nil, pcrControl: M3u8PcrControl? = nil, patInterval: Int32? = nil, pmtPid: String? = nil, videoPid: String? = nil, timedMetadataBehavior: M3u8TimedMetadataBehavior? = nil, programNum: Int32? = nil, pcrPid: String? = nil, scte35Pid: String? = nil, pmtInterval: Int32? = nil, audioPids: String? = nil, pcrPeriod: Int32? = nil, ecmPid: String? = nil, audioFramesPerPes: Int32? = nil, transportStreamId: Int32? = nil) { + self.timedMetadataPid = timedMetadataPid + self.scte35Behavior = scte35Behavior + self.pcrControl = pcrControl + self.patInterval = patInterval + self.pmtPid = pmtPid + self.videoPid = videoPid + self.timedMetadataBehavior = timedMetadataBehavior + self.programNum = programNum + self.pcrPid = pcrPid + self.scte35Pid = scte35Pid + self.pmtInterval = pmtInterval + self.audioPids = audioPids + self.pcrPeriod = pcrPeriod + self.ecmPid = ecmPid + self.audioFramesPerPes = audioFramesPerPes + self.transportStreamId = transportStreamId + } + + private enum CodingKeys: String, CodingKey { + case timedMetadataPid = "timedMetadataPid" + case scte35Behavior = "scte35Behavior" + case pcrControl = "pcrControl" + case patInterval = "patInterval" + case pmtPid = "pmtPid" + case videoPid = "videoPid" + case timedMetadataBehavior = "timedMetadataBehavior" + case programNum = "programNum" + case pcrPid = "pcrPid" + case scte35Pid = "scte35Pid" + case pmtInterval = "pmtInterval" + case audioPids = "audioPids" + case pcrPeriod = "pcrPeriod" + case ecmPid = "ecmPid" + case audioFramesPerPes = "audioFramesPerPes" + case transportStreamId = "transportStreamId" + } + } + + public enum BurnInBackgroundColor: String, CustomStringConvertible, Codable { + case black = "BLACK" + case none = "NONE" + case white = "WHITE" + public var description: String { return self.rawValue } + } + + public enum H264AdaptiveQuantization: String, CustomStringConvertible, Codable { + case high = "HIGH" + case higher = "HIGHER" + case low = "LOW" + case max = "MAX" + case medium = "MEDIUM" + case off = "OFF" + public var description: String { return self.rawValue } + } + + public enum Scte35AposWebDeliveryAllowedBehavior: String, CustomStringConvertible, Codable { + case follow = "FOLLOW" + case ignore = "IGNORE" + public var description: String { return self.rawValue } + } + + public enum Eac3LfeControl: String, CustomStringConvertible, Codable { + case lfe = "LFE" + case noLfe = "NO_LFE" + public var description: String { return self.rawValue } + } + + public enum HlsEncryptionType: String, CustomStringConvertible, Codable { + case aes128 = "AES128" + case sampleAes = "SAMPLE_AES" + public var description: String { return self.rawValue } + } + + public struct DeleteInputSecurityGroupResponse: AWSShape { + + } + + public enum ReservationVideoQuality: String, CustomStringConvertible, Codable { + case standard = "STANDARD" + case enhanced = "ENHANCED" + case premium = "PREMIUM" + public var description: String { return self.rawValue } + } + + public enum InputCodec: String, CustomStringConvertible, Codable { + case mpeg2 = "MPEG2" + case avc = "AVC" + case hevc = "HEVC" + public var description: String { return self.rawValue } + } + + public enum M2tsTimedMetadataBehavior: String, CustomStringConvertible, Codable { + case noPassthrough = "NO_PASSTHROUGH" + case passthrough = "PASSTHROUGH" + public var description: String { return self.rawValue } + } + + public struct ArchiveContainerSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "M2tsSettings", location: .body(locationName: "m2tsSettings"), required: false, type: .structure) + ] + public let m2tsSettings: M2tsSettings? + + public init(m2tsSettings: M2tsSettings? = nil) { + self.m2tsSettings = m2tsSettings + } + + private enum CodingKeys: String, CodingKey { + case m2tsSettings = "m2tsSettings" + } + } + + public enum ReservationResourceType: String, CustomStringConvertible, Codable { + case input = "INPUT" + case output = "OUTPUT" + case channel = "CHANNEL" + public var description: String { return self.rawValue } + } + + public struct OutputLocationRef: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DestinationRefId", location: .body(locationName: "destinationRefId"), required: false, type: .string) + ] + public let destinationRefId: String? + + public init(destinationRefId: String? = nil) { + self.destinationRefId = destinationRefId + } + + private enum CodingKeys: String, CodingKey { + case destinationRefId = "destinationRefId" + } + } + + public enum Eac3PhaseControl: String, CustomStringConvertible, Codable { + case noShift = "NO_SHIFT" + case shift90Degrees = "SHIFT_90_DEGREES" + public var description: String { return self.rawValue } + } + + public struct OutputDestinationSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PasswordParam", location: .body(locationName: "passwordParam"), required: false, type: .string), + AWSShapeMember(label: "StreamName", location: .body(locationName: "streamName"), required: false, type: .string), + AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string), + AWSShapeMember(label: "Username", location: .body(locationName: "username"), required: false, type: .string) + ] + /// key used to extract the password from EC2 Parameter store + public let passwordParam: String? + /// Stream name for RTMP destinations (URLs of type rtmp://) + public let streamName: String? + /// A URL specifying a destination + public let url: String? + /// username for destination + public let username: String? + + public init(passwordParam: String? = nil, streamName: String? = nil, url: String? = nil, username: String? = nil) { + self.passwordParam = passwordParam + self.streamName = streamName + self.url = url + self.username = username + } + + private enum CodingKeys: String, CodingKey { + case passwordParam = "passwordParam" + case streamName = "streamName" + case url = "url" + case username = "username" + } + } + + public struct DeleteInputSecurityGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InputSecurityGroupId", location: .uri(locationName: "inputSecurityGroupId"), required: true, type: .string) + ] + public let inputSecurityGroupId: String + + public init(inputSecurityGroupId: String) { + self.inputSecurityGroupId = inputSecurityGroupId + } + + private enum CodingKeys: String, CodingKey { + case inputSecurityGroupId = "inputSecurityGroupId" + } + } + + public struct ListOfferingsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Codec", location: .querystring(locationName: "codec"), required: false, type: .string), + AWSShapeMember(label: "VideoQuality", location: .querystring(locationName: "videoQuality"), required: false, type: .string), + AWSShapeMember(label: "MaximumFramerate", location: .querystring(locationName: "maximumFramerate"), required: false, type: .string), + AWSShapeMember(label: "ResourceType", location: .querystring(locationName: "resourceType"), required: false, type: .string), + AWSShapeMember(label: "SpecialFeature", location: .querystring(locationName: "specialFeature"), required: false, type: .string), + AWSShapeMember(label: "Resolution", location: .querystring(locationName: "resolution"), required: false, type: .string), + AWSShapeMember(label: "ChannelConfiguration", location: .querystring(locationName: "channelConfiguration"), required: false, type: .string), + AWSShapeMember(label: "MaximumBitrate", location: .querystring(locationName: "maximumBitrate"), required: false, type: .string), + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + public let codec: String? + public let videoQuality: String? + public let maximumFramerate: String? + public let resourceType: String? + public let specialFeature: String? + public let resolution: String? + public let channelConfiguration: String? + public let maximumBitrate: String? + public let nextToken: String? + public let maxResults: Int32? + + public init(codec: String? = nil, videoQuality: String? = nil, maximumFramerate: String? = nil, resourceType: String? = nil, specialFeature: String? = nil, resolution: String? = nil, channelConfiguration: String? = nil, maximumBitrate: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.codec = codec + self.videoQuality = videoQuality + self.maximumFramerate = maximumFramerate + self.resourceType = resourceType + self.specialFeature = specialFeature + self.resolution = resolution + self.channelConfiguration = channelConfiguration + self.maximumBitrate = maximumBitrate + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case codec = "codec" + case videoQuality = "videoQuality" + case maximumFramerate = "maximumFramerate" + case resourceType = "resourceType" + case specialFeature = "specialFeature" + case resolution = "resolution" + case channelConfiguration = "channelConfiguration" + case maximumBitrate = "maximumBitrate" + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct HlsMediaStoreSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConnectionRetryInterval", location: .body(locationName: "connectionRetryInterval"), required: false, type: .integer), + AWSShapeMember(label: "MediaStoreStorageClass", location: .body(locationName: "mediaStoreStorageClass"), required: false, type: .enum), + AWSShapeMember(label: "FilecacheDuration", location: .body(locationName: "filecacheDuration"), required: false, type: .integer), + AWSShapeMember(label: "NumRetries", location: .body(locationName: "numRetries"), required: false, type: .integer), + AWSShapeMember(label: "RestartDelay", location: .body(locationName: "restartDelay"), required: false, type: .integer) + ] + /// Number of seconds to wait before retrying connection to the CDN if the connection is lost. + public let connectionRetryInterval: Int32? + /// When set to temporal, output files are stored in non-persistent memory for faster reading and writing. + public let mediaStoreStorageClass: HlsMediaStoreStorageClass? + /// Size in seconds of file cache for streaming outputs. + public let filecacheDuration: Int32? + /// Number of retry attempts that will be made before the Live Event is put into an error state. + public let numRetries: Int32? + /// If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + public let restartDelay: Int32? + + public init(connectionRetryInterval: Int32? = nil, mediaStoreStorageClass: HlsMediaStoreStorageClass? = nil, filecacheDuration: Int32? = nil, numRetries: Int32? = nil, restartDelay: Int32? = nil) { + self.connectionRetryInterval = connectionRetryInterval + self.mediaStoreStorageClass = mediaStoreStorageClass + self.filecacheDuration = filecacheDuration + self.numRetries = numRetries + self.restartDelay = restartDelay + } + + private enum CodingKeys: String, CodingKey { + case connectionRetryInterval = "connectionRetryInterval" + case mediaStoreStorageClass = "mediaStoreStorageClass" + case filecacheDuration = "filecacheDuration" + case numRetries = "numRetries" + case restartDelay = "restartDelay" + } + } + + public struct ChannelSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "EgressEndpoints", location: .body(locationName: "egressEndpoints"), required: false, type: .list), + AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), + AWSShapeMember(label: "PipelinesRunningCount", location: .body(locationName: "pipelinesRunningCount"), required: false, type: .integer), + AWSShapeMember(label: "LogLevel", location: .body(locationName: "logLevel"), required: false, type: .enum), + AWSShapeMember(label: "InputSpecification", location: .body(locationName: "inputSpecification"), required: false, type: .structure) + ] + /// A list of destinations of the channel. For UDP outputs, there is one + /// destination per output. For other types (HLS, for example), there is + /// one destination per packager. + public let destinations: [OutputDestination]? + /// The unique id of the channel. + public let id: String? + /// The unique arn of the channel. + public let arn: String? + /// List of input attachments for channel. + public let inputAttachments: [InputAttachment]? + public let state: ChannelState? + /// The name of the channel. (user-mutable) + public let name: String? + /// The endpoints where outgoing connections initiate from + public let egressEndpoints: [ChannelEgressEndpoint]? + /// The Amazon Resource Name (ARN) of the role assumed when running the Channel. + public let roleArn: String? + /// The number of currently healthy pipelines. + public let pipelinesRunningCount: Int32? + /// The log level being written to CloudWatch Logs. + public let logLevel: LogLevel? + public let inputSpecification: InputSpecification? + + public init(destinations: [OutputDestination]? = nil, id: String? = nil, arn: String? = nil, inputAttachments: [InputAttachment]? = nil, state: ChannelState? = nil, name: String? = nil, egressEndpoints: [ChannelEgressEndpoint]? = nil, roleArn: String? = nil, pipelinesRunningCount: Int32? = nil, logLevel: LogLevel? = nil, inputSpecification: InputSpecification? = nil) { + self.destinations = destinations + self.id = id + self.arn = arn + self.inputAttachments = inputAttachments + self.state = state + self.name = name + self.egressEndpoints = egressEndpoints + self.roleArn = roleArn + self.pipelinesRunningCount = pipelinesRunningCount + self.logLevel = logLevel + self.inputSpecification = inputSpecification + } + + private enum CodingKeys: String, CodingKey { + case destinations = "destinations" + case id = "id" + case arn = "arn" + case inputAttachments = "inputAttachments" + case state = "state" + case name = "name" + case egressEndpoints = "egressEndpoints" + case roleArn = "roleArn" + case pipelinesRunningCount = "pipelinesRunningCount" + case logLevel = "logLevel" + case inputSpecification = "inputSpecification" + } + } + + public struct ListReservationsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Reservations", location: .body(locationName: "reservations"), required: false, type: .list) + ] + public let nextToken: String? + public let reservations: [Reservation]? + + public init(nextToken: String? = nil, reservations: [Reservation]? = nil) { + self.nextToken = nextToken + self.reservations = reservations + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case reservations = "reservations" + } + } + + public struct UdpContainerSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "M2tsSettings", location: .body(locationName: "m2tsSettings"), required: false, type: .structure) + ] + public let m2tsSettings: M2tsSettings? + + public init(m2tsSettings: M2tsSettings? = nil) { + self.m2tsSettings = m2tsSettings + } + + private enum CodingKeys: String, CodingKey { + case m2tsSettings = "m2tsSettings" } } - public enum Eac3PassthroughControl: String, CustomStringConvertible, Codable { - case noPassthrough = "NO_PASSTHROUGH" - case whenPossible = "WHEN_POSSIBLE" + public enum GlobalConfigurationLowFramerateInputs: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum VideoSelectorColorSpace: String, CustomStringConvertible, Codable { - case follow = "FOLLOW" - case rec601 = "REC_601" - case rec709 = "REC_709" - public var description: String { return self.rawValue } + public struct RtmpOutputSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConnectionRetryInterval", location: .body(locationName: "connectionRetryInterval"), required: false, type: .integer), + AWSShapeMember(label: "CertificateMode", location: .body(locationName: "certificateMode"), required: false, type: .enum), + AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: true, type: .structure), + AWSShapeMember(label: "NumRetries", location: .body(locationName: "numRetries"), required: false, type: .integer) + ] + /// Number of seconds to wait before retrying a connection to the Flash Media server if the connection is lost. + public let connectionRetryInterval: Int32? + /// 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. + public let certificateMode: RtmpOutputCertificateMode? + /// 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. + public let destination: OutputLocationRef + /// Number of retry attempts. + public let numRetries: Int32? + + public init(connectionRetryInterval: Int32? = nil, certificateMode: RtmpOutputCertificateMode? = nil, destination: OutputLocationRef, numRetries: Int32? = nil) { + self.connectionRetryInterval = connectionRetryInterval + self.certificateMode = certificateMode + self.destination = destination + self.numRetries = numRetries + } + + private enum CodingKeys: String, CodingKey { + case connectionRetryInterval = "connectionRetryInterval" + case certificateMode = "certificateMode" + case destination = "destination" + case numRetries = "numRetries" + } } - public struct VideoCodecSettings: AWSShape { + public struct CreateInputSecurityGroupRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "H264Settings", location: .body(locationName: "h264Settings"), required: false, type: .structure) + AWSShapeMember(label: "WhitelistRules", location: .body(locationName: "whitelistRules"), required: false, type: .list) ] - public let h264Settings: H264Settings? + public let whitelistRules: [InputWhitelistRuleCidr]? - public init(h264Settings: H264Settings? = nil) { - self.h264Settings = h264Settings + public init(whitelistRules: [InputWhitelistRuleCidr]? = nil) { + self.whitelistRules = whitelistRules } private enum CodingKeys: String, CodingKey { - case h264Settings = "h264Settings" + case whitelistRules = "whitelistRules" } } - public struct EmbeddedDestinationSettings: AWSShape { + public struct DeleteReservationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReservationId", location: .uri(locationName: "reservationId"), required: true, type: .string) + ] + public let reservationId: String + public init(reservationId: String) { + self.reservationId = reservationId + } + + private enum CodingKeys: String, CodingKey { + case reservationId = "reservationId" + } } - public struct H264Settings: AWSShape { + public struct OutputGroupSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BufFillPct", location: .body(locationName: "bufFillPct"), required: false, type: .integer), - AWSShapeMember(label: "BufSize", location: .body(locationName: "bufSize"), required: false, type: .integer), - AWSShapeMember(label: "ScanType", location: .body(locationName: "scanType"), required: false, type: .enum), - AWSShapeMember(label: "ParControl", location: .body(locationName: "parControl"), required: false, type: .enum), - AWSShapeMember(label: "NumRefFrames", location: .body(locationName: "numRefFrames"), required: false, type: .integer), - AWSShapeMember(label: "GopBReference", location: .body(locationName: "gopBReference"), required: false, type: .enum), - AWSShapeMember(label: "FramerateNumerator", location: .body(locationName: "framerateNumerator"), required: false, type: .integer), - AWSShapeMember(label: "Slices", location: .body(locationName: "slices"), required: false, type: .integer), - AWSShapeMember(label: "EntropyEncoding", location: .body(locationName: "entropyEncoding"), required: false, type: .enum), - AWSShapeMember(label: "ColorMetadata", location: .body(locationName: "colorMetadata"), required: false, type: .enum), - AWSShapeMember(label: "LookAheadRateControl", location: .body(locationName: "lookAheadRateControl"), required: false, type: .enum), - AWSShapeMember(label: "ParNumerator", location: .body(locationName: "parNumerator"), required: false, type: .integer), - AWSShapeMember(label: "MaxBitrate", location: .body(locationName: "maxBitrate"), required: false, type: .integer), - AWSShapeMember(label: "AdaptiveQuantization", location: .body(locationName: "adaptiveQuantization"), required: false, type: .enum), - AWSShapeMember(label: "GopSizeUnits", location: .body(locationName: "gopSizeUnits"), required: false, type: .enum), - AWSShapeMember(label: "SceneChangeDetect", location: .body(locationName: "sceneChangeDetect"), required: false, type: .enum), - AWSShapeMember(label: "RateControlMode", location: .body(locationName: "rateControlMode"), required: false, type: .enum), - AWSShapeMember(label: "Level", location: .body(locationName: "level"), required: false, type: .enum), - AWSShapeMember(label: "FramerateDenominator", location: .body(locationName: "framerateDenominator"), required: false, type: .integer), - AWSShapeMember(label: "ParDenominator", location: .body(locationName: "parDenominator"), required: false, type: .integer), - AWSShapeMember(label: "TimecodeInsertion", location: .body(locationName: "timecodeInsertion"), required: false, type: .enum), - AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), - AWSShapeMember(label: "GopClosedCadence", location: .body(locationName: "gopClosedCadence"), required: false, type: .integer), - AWSShapeMember(label: "FixedAfd", location: .body(locationName: "fixedAfd"), required: false, type: .enum), - AWSShapeMember(label: "MinIInterval", location: .body(locationName: "minIInterval"), required: false, type: .integer), - AWSShapeMember(label: "FlickerAq", location: .body(locationName: "flickerAq"), required: false, type: .enum), - AWSShapeMember(label: "Syntax", location: .body(locationName: "syntax"), required: false, type: .enum), - AWSShapeMember(label: "GopNumBFrames", location: .body(locationName: "gopNumBFrames"), required: false, type: .integer), - AWSShapeMember(label: "AfdSignaling", location: .body(locationName: "afdSignaling"), required: false, type: .enum), - AWSShapeMember(label: "Profile", location: .body(locationName: "profile"), required: false, type: .enum), - AWSShapeMember(label: "SpatialAq", location: .body(locationName: "spatialAq"), required: false, type: .enum), - AWSShapeMember(label: "Softness", location: .body(locationName: "softness"), required: false, type: .integer), - AWSShapeMember(label: "GopSize", location: .body(locationName: "gopSize"), required: false, type: .double), - AWSShapeMember(label: "FramerateControl", location: .body(locationName: "framerateControl"), required: false, type: .enum), - AWSShapeMember(label: "TemporalAq", location: .body(locationName: "temporalAq"), required: false, type: .enum) + AWSShapeMember(label: "MsSmoothGroupSettings", location: .body(locationName: "msSmoothGroupSettings"), required: false, type: .structure), + AWSShapeMember(label: "ArchiveGroupSettings", location: .body(locationName: "archiveGroupSettings"), required: false, type: .structure), + AWSShapeMember(label: "UdpGroupSettings", location: .body(locationName: "udpGroupSettings"), required: false, type: .structure), + AWSShapeMember(label: "HlsGroupSettings", location: .body(locationName: "hlsGroupSettings"), required: false, type: .structure), + AWSShapeMember(label: "RtmpGroupSettings", location: .body(locationName: "rtmpGroupSettings"), required: false, type: .structure) ] - /// Percentage of the buffer that should initially be filled (HRD buffer model). - public let bufFillPct: Int32? - /// Size of buffer (HRD buffer model) in bits/second. - public let bufSize: Int32? - /// Sets the scan type of the output to progressive or top-field-first interlaced. - public let scanType: H264ScanType? - /// 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. - public let parControl: H264ParControl? - /// Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. - public let numRefFrames: Int32? - /// If enabled, use reference B frames for GOP structures that have B frames > 1. - public let gopBReference: H264GopBReference? - /// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. - public let framerateNumerator: Int32? - /// 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. - /// This field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution. - public let slices: Int32? - /// Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc. - public let entropyEncoding: H264EntropyEncoding? - /// Includes colorspace metadata in the output. - public let colorMetadata: H264ColorMetadata? - /// Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content. - public let lookAheadRateControl: H264LookAheadRateControl? - /// Pixel Aspect Ratio numerator. - public let parNumerator: Int32? - /// Maximum bitrate in bits/second (for VBR mode only). - public let maxBitrate: Int32? - /// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality. - public let adaptiveQuantization: H264AdaptiveQuantization? - /// 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. - public let gopSizeUnits: H264GopSizeUnits? - /// Scene change detection. Inserts I-frames on scene changes when enabled. - public let sceneChangeDetect: H264SceneChangeDetect? - /// Rate control mode. - public let rateControlMode: H264RateControlMode? - /// H.264 Level. - public let level: H264Level? - /// Framerate denominator. - public let framerateDenominator: Int32? - /// Pixel Aspect Ratio denominator. - public let parDenominator: Int32? - /// Determines how timecodes should be inserted into the video elementary stream. - /// - 'disabled': Do not include timecodes - /// - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config - public let timecodeInsertion: H264TimecodeInsertionBehavior? - /// 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. - public let bitrate: Int32? - /// 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. - public let gopClosedCadence: Int32? - /// Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'. - public let fixedAfd: FixedAfd? - /// 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 - public let minIInterval: Int32? - /// If set to enabled, adjust quantization within each frame to reduce flicker or 'pop' on I-frames. - public let flickerAq: H264FlickerAq? - /// Produces a bitstream compliant with SMPTE RP-2027. - public let syntax: H264Syntax? - /// Number of B-frames between reference frames. - public let gopNumBFrames: Int32? - /// 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. - public let afdSignaling: AfdSignaling? - /// H.264 Profile. - public let profile: H264Profile? - /// If set to enabled, adjust quantization within each frame based on spatial variation of content complexity. - public let spatialAq: H264SpatialAq? - /// Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. - public let softness: Int32? - /// GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. Must be greater than zero. - public let gopSize: Double? - /// 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. - public let framerateControl: H264FramerateControl? - /// If set to enabled, adjust quantization within each frame based on temporal variation of content complexity. - public let temporalAq: H264TemporalAq? + public let msSmoothGroupSettings: MsSmoothGroupSettings? + public let archiveGroupSettings: ArchiveGroupSettings? + public let udpGroupSettings: UdpGroupSettings? + public let hlsGroupSettings: HlsGroupSettings? + public let rtmpGroupSettings: RtmpGroupSettings? - public init(bufFillPct: Int32? = nil, bufSize: Int32? = nil, scanType: H264ScanType? = nil, parControl: H264ParControl? = nil, numRefFrames: Int32? = nil, gopBReference: H264GopBReference? = nil, framerateNumerator: Int32? = nil, slices: Int32? = nil, entropyEncoding: H264EntropyEncoding? = nil, colorMetadata: H264ColorMetadata? = nil, lookAheadRateControl: H264LookAheadRateControl? = nil, parNumerator: Int32? = nil, maxBitrate: Int32? = nil, adaptiveQuantization: H264AdaptiveQuantization? = nil, gopSizeUnits: H264GopSizeUnits? = nil, sceneChangeDetect: H264SceneChangeDetect? = nil, rateControlMode: H264RateControlMode? = nil, level: H264Level? = nil, framerateDenominator: Int32? = nil, parDenominator: Int32? = nil, timecodeInsertion: H264TimecodeInsertionBehavior? = nil, bitrate: Int32? = nil, gopClosedCadence: Int32? = nil, fixedAfd: FixedAfd? = nil, minIInterval: Int32? = nil, flickerAq: H264FlickerAq? = nil, syntax: H264Syntax? = nil, gopNumBFrames: Int32? = nil, afdSignaling: AfdSignaling? = nil, profile: H264Profile? = nil, spatialAq: H264SpatialAq? = nil, softness: Int32? = nil, gopSize: Double? = nil, framerateControl: H264FramerateControl? = nil, temporalAq: H264TemporalAq? = nil) { - self.bufFillPct = bufFillPct - self.bufSize = bufSize - self.scanType = scanType - self.parControl = parControl - self.numRefFrames = numRefFrames - self.gopBReference = gopBReference - self.framerateNumerator = framerateNumerator - self.slices = slices - self.entropyEncoding = entropyEncoding - self.colorMetadata = colorMetadata - self.lookAheadRateControl = lookAheadRateControl - self.parNumerator = parNumerator - self.maxBitrate = maxBitrate - self.adaptiveQuantization = adaptiveQuantization - self.gopSizeUnits = gopSizeUnits - self.sceneChangeDetect = sceneChangeDetect - self.rateControlMode = rateControlMode - self.level = level - self.framerateDenominator = framerateDenominator - self.parDenominator = parDenominator - self.timecodeInsertion = timecodeInsertion - self.bitrate = bitrate - self.gopClosedCadence = gopClosedCadence - self.fixedAfd = fixedAfd - self.minIInterval = minIInterval - self.flickerAq = flickerAq - self.syntax = syntax - self.gopNumBFrames = gopNumBFrames - self.afdSignaling = afdSignaling - self.profile = profile - self.spatialAq = spatialAq - self.softness = softness - self.gopSize = gopSize - self.framerateControl = framerateControl - self.temporalAq = temporalAq + public init(msSmoothGroupSettings: MsSmoothGroupSettings? = nil, archiveGroupSettings: ArchiveGroupSettings? = nil, udpGroupSettings: UdpGroupSettings? = nil, hlsGroupSettings: HlsGroupSettings? = nil, rtmpGroupSettings: RtmpGroupSettings? = nil) { + self.msSmoothGroupSettings = msSmoothGroupSettings + self.archiveGroupSettings = archiveGroupSettings + self.udpGroupSettings = udpGroupSettings + self.hlsGroupSettings = hlsGroupSettings + self.rtmpGroupSettings = rtmpGroupSettings } private enum CodingKeys: String, CodingKey { - case bufFillPct = "bufFillPct" - case bufSize = "bufSize" - case scanType = "scanType" - case parControl = "parControl" - case numRefFrames = "numRefFrames" - case gopBReference = "gopBReference" - case framerateNumerator = "framerateNumerator" - case slices = "slices" - case entropyEncoding = "entropyEncoding" - case colorMetadata = "colorMetadata" - case lookAheadRateControl = "lookAheadRateControl" - case parNumerator = "parNumerator" - case maxBitrate = "maxBitrate" - case adaptiveQuantization = "adaptiveQuantization" - case gopSizeUnits = "gopSizeUnits" - case sceneChangeDetect = "sceneChangeDetect" - case rateControlMode = "rateControlMode" - case level = "level" - case framerateDenominator = "framerateDenominator" - case parDenominator = "parDenominator" - case timecodeInsertion = "timecodeInsertion" - case bitrate = "bitrate" - case gopClosedCadence = "gopClosedCadence" - case fixedAfd = "fixedAfd" - case minIInterval = "minIInterval" - case flickerAq = "flickerAq" - case syntax = "syntax" - case gopNumBFrames = "gopNumBFrames" - case afdSignaling = "afdSignaling" - case profile = "profile" - case spatialAq = "spatialAq" - case softness = "softness" - case gopSize = "gopSize" - case framerateControl = "framerateControl" - case temporalAq = "temporalAq" + case msSmoothGroupSettings = "msSmoothGroupSettings" + case archiveGroupSettings = "archiveGroupSettings" + case udpGroupSettings = "udpGroupSettings" + case hlsGroupSettings = "hlsGroupSettings" + case rtmpGroupSettings = "rtmpGroupSettings" } } - public enum AudioOnlyHlsTrackType: String, CustomStringConvertible, Codable { - case alternateAudioAutoSelect = "ALTERNATE_AUDIO_AUTO_SELECT" - case alternateAudioAutoSelectDefault = "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT" - case alternateAudioNotAutoSelect = "ALTERNATE_AUDIO_NOT_AUTO_SELECT" - case audioOnlyVariantStream = "AUDIO_ONLY_VARIANT_STREAM" + public enum ReservationCodec: String, CustomStringConvertible, Codable { + case mpeg2 = "MPEG2" + case avc = "AVC" + case hevc = "HEVC" + case audio = "AUDIO" public var description: String { return self.rawValue } } - public enum M2tsAribCaptionsPidControl: String, CustomStringConvertible, Codable { - case auto = "AUTO" - case useConfigured = "USE_CONFIGURED" + public struct AudioNormalizationSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Algorithm", location: .body(locationName: "algorithm"), required: false, type: .enum), + AWSShapeMember(label: "AlgorithmControl", location: .body(locationName: "algorithmControl"), required: false, type: .enum), + AWSShapeMember(label: "TargetLkfs", location: .body(locationName: "targetLkfs"), required: false, type: .double) + ] + /// Audio normalization algorithm to use. itu17701 conforms to the CALM Act specification, itu17702 conforms to the EBU R-128 specification. + public let algorithm: AudioNormalizationAlgorithm? + /// 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. + public let algorithmControl: AudioNormalizationAlgorithmControl? + /// 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. + public let targetLkfs: Double? + + public init(algorithm: AudioNormalizationAlgorithm? = nil, algorithmControl: AudioNormalizationAlgorithmControl? = nil, targetLkfs: Double? = nil) { + self.algorithm = algorithm + self.algorithmControl = algorithmControl + self.targetLkfs = targetLkfs + } + + private enum CodingKeys: String, CodingKey { + case algorithm = "algorithm" + case algorithmControl = "algorithmControl" + case targetLkfs = "targetLkfs" + } + } + + public enum H264ColorMetadata: String, CustomStringConvertible, Codable { + case ignore = "IGNORE" + case insert = "INSERT" public var description: String { return self.rawValue } } - public struct InputDestination: AWSShape { + public struct DescribeInputSecurityGroupRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Ip", location: .body(locationName: "ip"), required: false, type: .string), - AWSShapeMember(label: "Port", location: .body(locationName: "port"), required: false, type: .string), - AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string) + AWSShapeMember(label: "InputSecurityGroupId", location: .uri(locationName: "inputSecurityGroupId"), required: true, type: .string) ] - /// system-generated static IP address of endpoint. - /// Remains fixed for the lifetime of the input - public let ip: String? - /// port for input - public let port: String? - /// This represents the endpoint that the customer stream will be - /// pushed to. - public let url: String? + public let inputSecurityGroupId: String - public init(ip: String? = nil, port: String? = nil, url: String? = nil) { - self.ip = ip - self.port = port - self.url = url + public init(inputSecurityGroupId: String) { + self.inputSecurityGroupId = inputSecurityGroupId } private enum CodingKeys: String, CodingKey { - case ip = "ip" - case port = "port" - case url = "url" + case inputSecurityGroupId = "inputSecurityGroupId" } } - public struct KeyProviderSettings: AWSShape { + public struct ListOfferingsResultModel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StaticKeySettings", location: .body(locationName: "staticKeySettings"), required: false, type: .structure) + AWSShapeMember(label: "Offerings", location: .body(locationName: "offerings"), required: false, type: .list), + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) ] - public let staticKeySettings: StaticKeySettings? + /// List of offerings + public let offerings: [Offering]? + /// Token to retrieve the next page of results + public let nextToken: String? - public init(staticKeySettings: StaticKeySettings? = nil) { - self.staticKeySettings = staticKeySettings + public init(offerings: [Offering]? = nil, nextToken: String? = nil) { + self.offerings = offerings + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case staticKeySettings = "staticKeySettings" + case offerings = "offerings" + case nextToken = "nextToken" } } - public enum M3u8PcrControl: String, CustomStringConvertible, Codable { - case configuredPcrPeriod = "CONFIGURED_PCR_PERIOD" - case pcrEveryPesPacket = "PCR_EVERY_PES_PACKET" + public enum OfferingType: String, CustomStringConvertible, Codable { + case noUpfront = "NO_UPFRONT" public var description: String { return self.rawValue } } - public struct CaptionSelector: AWSShape { + public struct EmbeddedPlusScte20DestinationSettings: AWSShape { + + } + + public struct DescribeOfferingRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .string), + AWSShapeMember(label: "OfferingId", location: .uri(locationName: "offeringId"), required: true, type: .string) + ] + public let offeringId: String + + public init(offeringId: String) { + self.offeringId = offeringId + } + + private enum CodingKeys: String, CodingKey { + case offeringId = "offeringId" + } + } + + public enum HlsManifestCompression: String, CustomStringConvertible, Codable { + case gzip = "GZIP" + case none = "NONE" + public var description: String { return self.rawValue } + } + + public struct DescribeChannelResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "SelectorSettings", location: .body(locationName: "selectorSettings"), required: false, type: .structure) + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), + AWSShapeMember(label: "EgressEndpoints", location: .body(locationName: "egressEndpoints"), required: false, type: .list), + AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), + AWSShapeMember(label: "PipelinesRunningCount", location: .body(locationName: "pipelinesRunningCount"), required: false, type: .integer), + AWSShapeMember(label: "LogLevel", location: .body(locationName: "logLevel"), required: false, type: .enum), + AWSShapeMember(label: "InputSpecification", location: .body(locationName: "inputSpecification"), required: false, type: .structure) ] - /// When specified this field indicates the three letter language code of the caption track to extract from the source. - public let languageCode: String? - /// 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. + public let destinations: [OutputDestination]? + public let id: String? + public let arn: String? + public let inputAttachments: [InputAttachment]? public let name: String? - /// Caption selector settings. - public let selectorSettings: CaptionSelectorSettings? + public let state: ChannelState? + public let encoderSettings: EncoderSettings? + public let egressEndpoints: [ChannelEgressEndpoint]? + public let roleArn: String? + public let pipelinesRunningCount: Int32? + public let logLevel: LogLevel? + public let inputSpecification: InputSpecification? - public init(languageCode: String? = nil, name: String? = nil, selectorSettings: CaptionSelectorSettings? = nil) { - self.languageCode = languageCode + public init(destinations: [OutputDestination]? = nil, id: String? = nil, arn: String? = nil, inputAttachments: [InputAttachment]? = nil, name: String? = nil, state: ChannelState? = nil, encoderSettings: EncoderSettings? = nil, egressEndpoints: [ChannelEgressEndpoint]? = nil, roleArn: String? = nil, pipelinesRunningCount: Int32? = nil, logLevel: LogLevel? = nil, inputSpecification: InputSpecification? = nil) { + self.destinations = destinations + self.id = id + self.arn = arn + self.inputAttachments = inputAttachments self.name = name - self.selectorSettings = selectorSettings + self.state = state + self.encoderSettings = encoderSettings + self.egressEndpoints = egressEndpoints + self.roleArn = roleArn + self.pipelinesRunningCount = pipelinesRunningCount + self.logLevel = logLevel + self.inputSpecification = inputSpecification } private enum CodingKeys: String, CodingKey { - case languageCode = "languageCode" + case destinations = "destinations" + case id = "id" + case arn = "arn" + case inputAttachments = "inputAttachments" case name = "name" - case selectorSettings = "selectorSettings" + case state = "state" + case encoderSettings = "encoderSettings" + case egressEndpoints = "egressEndpoints" + case roleArn = "roleArn" + case pipelinesRunningCount = "pipelinesRunningCount" + case logLevel = "logLevel" + case inputSpecification = "inputSpecification" } } - public enum HlsAdMarkers: String, CustomStringConvertible, Codable { - case adobe = "ADOBE" - case elemental = "ELEMENTAL" - case elementalScte35 = "ELEMENTAL_SCTE35" + public struct InputDestinationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StreamName", location: .body(locationName: "streamName"), required: false, type: .string) + ] + /// A unique name for the location the RTMP stream is being pushed + /// to. + public let streamName: String? + + public init(streamName: String? = nil) { + self.streamName = streamName + } + + private enum CodingKeys: String, CodingKey { + case streamName = "streamName" + } + } + + public enum AacRawFormat: String, CustomStringConvertible, Codable { + case latmLoas = "LATM_LOAS" + case none = "NONE" public var description: String { return self.rawValue } } - public enum DvbSubDestinationAlignment: String, CustomStringConvertible, Codable { - case centered = "CENTERED" - case left = "LEFT" - case smart = "SMART" + public struct EmbeddedSourceSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Source608ChannelNumber", location: .body(locationName: "source608ChannelNumber"), required: false, type: .integer), + AWSShapeMember(label: "Convert608To708", location: .body(locationName: "convert608To708"), required: false, type: .enum), + AWSShapeMember(label: "Source608TrackNumber", location: .body(locationName: "source608TrackNumber"), required: false, type: .integer), + AWSShapeMember(label: "Scte20Detection", location: .body(locationName: "scte20Detection"), required: false, type: .enum) + ] + /// Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough. + public let source608ChannelNumber: Int32? + /// 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. + public let convert608To708: EmbeddedConvert608To708? + /// This field is unused and deprecated. + public let source608TrackNumber: Int32? + /// Set to "auto" to handle streams with intermittent and/or non-aligned SCTE-20 and Embedded captions. + public let scte20Detection: EmbeddedScte20Detection? + + public init(source608ChannelNumber: Int32? = nil, convert608To708: EmbeddedConvert608To708? = nil, source608TrackNumber: Int32? = nil, scte20Detection: EmbeddedScte20Detection? = nil) { + self.source608ChannelNumber = source608ChannelNumber + self.convert608To708 = convert608To708 + self.source608TrackNumber = source608TrackNumber + self.scte20Detection = scte20Detection + } + + private enum CodingKeys: String, CodingKey { + case source608ChannelNumber = "source608ChannelNumber" + case convert608To708 = "convert608To708" + case source608TrackNumber = "source608TrackNumber" + case scte20Detection = "scte20Detection" + } + } + + public enum AudioDescriptionLanguageCodeControl: String, CustomStringConvertible, Codable { + case followInput = "FOLLOW_INPUT" + case useConfigured = "USE_CONFIGURED" public var description: String { return self.rawValue } } - public struct UdpGroupSettings: AWSShape { + public struct VideoSelectorSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TimedMetadataId3Frame", location: .body(locationName: "timedMetadataId3Frame"), required: false, type: .enum), - AWSShapeMember(label: "TimedMetadataId3Period", location: .body(locationName: "timedMetadataId3Period"), required: false, type: .integer), - AWSShapeMember(label: "InputLossAction", location: .body(locationName: "inputLossAction"), required: false, type: .enum) + AWSShapeMember(label: "VideoSelectorPid", location: .body(locationName: "videoSelectorPid"), required: false, type: .structure), + AWSShapeMember(label: "VideoSelectorProgramId", location: .body(locationName: "videoSelectorProgramId"), required: false, type: .structure) ] - /// Indicates ID3 frame that has the timecode. - public let timedMetadataId3Frame: UdpTimedMetadataId3Frame? - /// Timed Metadata interval in seconds. - public let timedMetadataId3Period: Int32? - /// 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. - public let inputLossAction: InputLossActionForUdpOut? + public let videoSelectorPid: VideoSelectorPid? + public let videoSelectorProgramId: VideoSelectorProgramId? - public init(timedMetadataId3Frame: UdpTimedMetadataId3Frame? = nil, timedMetadataId3Period: Int32? = nil, inputLossAction: InputLossActionForUdpOut? = nil) { - self.timedMetadataId3Frame = timedMetadataId3Frame - self.timedMetadataId3Period = timedMetadataId3Period - self.inputLossAction = inputLossAction + public init(videoSelectorPid: VideoSelectorPid? = nil, videoSelectorProgramId: VideoSelectorProgramId? = nil) { + self.videoSelectorPid = videoSelectorPid + self.videoSelectorProgramId = videoSelectorProgramId + } + + private enum CodingKeys: String, CodingKey { + case videoSelectorPid = "videoSelectorPid" + case videoSelectorProgramId = "videoSelectorProgramId" + } + } + + public struct InputSecurityGroupWhitelistRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WhitelistRules", location: .body(locationName: "whitelistRules"), required: false, type: .list) + ] + /// List of IPv4 CIDR addresses to whitelist + public let whitelistRules: [InputWhitelistRuleCidr]? + + public init(whitelistRules: [InputWhitelistRuleCidr]? = nil) { + self.whitelistRules = whitelistRules + } + + private enum CodingKeys: String, CodingKey { + case whitelistRules = "whitelistRules" + } + } + + public struct LimitExceeded: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) + ] + public let message: String? + + public init(message: String? = nil) { + self.message = message } private enum CodingKeys: String, CodingKey { - case timedMetadataId3Frame = "timedMetadataId3Frame" - case timedMetadataId3Period = "timedMetadataId3Period" - case inputLossAction = "inputLossAction" + case message = "message" } } - public enum H264TimecodeInsertionBehavior: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case picTimingSei = "PIC_TIMING_SEI" - public var description: String { return self.rawValue } + public struct Empty: AWSShape { + } - public enum SmoothGroupEventStopBehavior: String, CustomStringConvertible, Codable { + public enum HlsTimedMetadataId3Frame: String, CustomStringConvertible, Codable { case none = "NONE" - case sendEos = "SEND_EOS" + case priv = "PRIV" + case tdrl = "TDRL" public var description: String { return self.rawValue } } - public struct CaptionSelectorSettings: AWSShape { + public enum BurnInTeletextGridControl: String, CustomStringConvertible, Codable { + case fixed = "FIXED" + case scaled = "SCALED" + public var description: String { return self.rawValue } + } + + public enum AacRateControlMode: String, CustomStringConvertible, Codable { + case cbr = "CBR" + case vbr = "VBR" + public var description: String { return self.rawValue } + } + + public struct InputAttachment: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DvbSubSourceSettings", location: .body(locationName: "dvbSubSourceSettings"), required: false, type: .structure), - AWSShapeMember(label: "AribSourceSettings", location: .body(locationName: "aribSourceSettings"), required: false, type: .structure), - AWSShapeMember(label: "EmbeddedSourceSettings", location: .body(locationName: "embeddedSourceSettings"), required: false, type: .structure), - AWSShapeMember(label: "Scte27SourceSettings", location: .body(locationName: "scte27SourceSettings"), required: false, type: .structure), - AWSShapeMember(label: "TeletextSourceSettings", location: .body(locationName: "teletextSourceSettings"), required: false, type: .structure), - AWSShapeMember(label: "Scte20SourceSettings", location: .body(locationName: "scte20SourceSettings"), required: false, type: .structure) + AWSShapeMember(label: "InputSettings", location: .body(locationName: "inputSettings"), required: false, type: .structure), + AWSShapeMember(label: "InputId", location: .body(locationName: "inputId"), required: false, type: .string) ] - public let dvbSubSourceSettings: DvbSubSourceSettings? - public let aribSourceSettings: AribSourceSettings? - public let embeddedSourceSettings: EmbeddedSourceSettings? - public let scte27SourceSettings: Scte27SourceSettings? - public let teletextSourceSettings: TeletextSourceSettings? - public let scte20SourceSettings: Scte20SourceSettings? + /// Settings of an input (caption selector, etc.) + public let inputSettings: InputSettings? + /// The ID of the input + public let inputId: String? - public init(dvbSubSourceSettings: DvbSubSourceSettings? = nil, aribSourceSettings: AribSourceSettings? = nil, embeddedSourceSettings: EmbeddedSourceSettings? = nil, scte27SourceSettings: Scte27SourceSettings? = nil, teletextSourceSettings: TeletextSourceSettings? = nil, scte20SourceSettings: Scte20SourceSettings? = nil) { - self.dvbSubSourceSettings = dvbSubSourceSettings - self.aribSourceSettings = aribSourceSettings - self.embeddedSourceSettings = embeddedSourceSettings - self.scte27SourceSettings = scte27SourceSettings - self.teletextSourceSettings = teletextSourceSettings - self.scte20SourceSettings = scte20SourceSettings + public init(inputSettings: InputSettings? = nil, inputId: String? = nil) { + self.inputSettings = inputSettings + self.inputId = inputId } private enum CodingKeys: String, CodingKey { - case dvbSubSourceSettings = "dvbSubSourceSettings" - case aribSourceSettings = "aribSourceSettings" - case embeddedSourceSettings = "embeddedSourceSettings" - case scte27SourceSettings = "scte27SourceSettings" - case teletextSourceSettings = "teletextSourceSettings" - case scte20SourceSettings = "scte20SourceSettings" + case inputSettings = "inputSettings" + case inputId = "inputId" } } - public enum AvailBlankingState: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } - - public enum DvbSubDestinationShadowColor: String, CustomStringConvertible, Codable { - case black = "BLACK" - case none = "NONE" - case white = "WHITE" - public var description: String { return self.rawValue } - } - - public struct MsSmoothGroupSettings: AWSShape { + public struct CreateInputResultModel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AcquisitionPointId", location: .body(locationName: "acquisitionPointId"), required: false, type: .string), - AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: false, type: .structure), - AWSShapeMember(label: "EventIdMode", location: .body(locationName: "eventIdMode"), required: false, type: .enum), - AWSShapeMember(label: "RestartDelay", location: .body(locationName: "restartDelay"), required: false, type: .integer), - AWSShapeMember(label: "TimestampOffsetMode", location: .body(locationName: "timestampOffsetMode"), required: false, type: .enum), - AWSShapeMember(label: "CertificateMode", location: .body(locationName: "certificateMode"), required: false, type: .enum), - AWSShapeMember(label: "EventStopBehavior", location: .body(locationName: "eventStopBehavior"), required: false, type: .enum), - AWSShapeMember(label: "ConnectionRetryInterval", location: .body(locationName: "connectionRetryInterval"), required: false, type: .integer), - AWSShapeMember(label: "FragmentLength", location: .body(locationName: "fragmentLength"), required: false, type: .integer), - AWSShapeMember(label: "SegmentationMode", location: .body(locationName: "segmentationMode"), required: false, type: .enum), - AWSShapeMember(label: "InputLossAction", location: .body(locationName: "inputLossAction"), required: false, type: .enum), - AWSShapeMember(label: "EventId", location: .body(locationName: "eventId"), required: false, type: .string), - AWSShapeMember(label: "FilecacheDuration", location: .body(locationName: "filecacheDuration"), required: false, type: .integer), - AWSShapeMember(label: "AudioOnlyTimecodeControl", location: .body(locationName: "audioOnlyTimecodeControl"), required: false, type: .enum), - AWSShapeMember(label: "SparseTrackType", location: .body(locationName: "sparseTrackType"), required: false, type: .enum), - AWSShapeMember(label: "SendDelayMs", location: .body(locationName: "sendDelayMs"), required: false, type: .integer), - AWSShapeMember(label: "StreamManifestBehavior", location: .body(locationName: "streamManifestBehavior"), required: false, type: .enum), - AWSShapeMember(label: "TimestampOffset", location: .body(locationName: "timestampOffset"), required: false, type: .string), - AWSShapeMember(label: "NumRetries", location: .body(locationName: "numRetries"), required: false, type: .integer) + AWSShapeMember(label: "Input", location: .body(locationName: "input"), required: false, type: .structure) ] - /// The value of the "Acquisition Point Identity" element used in each message placed in the sparse track. Only enabled if sparseTrackType is not "none". - public let acquisitionPointId: String? - /// Smooth Streaming publish point on an IIS server. Elemental Live acts as a "Push" encoder to IIS. - public let destination: OutputLocationRef? - /// 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. - /// Options: - /// - "useConfigured" - use the value provided in eventId - /// - "useTimestamp" - generate and send an event ID based on the current timestamp - /// - "noEventId" - do not send an event ID to the IIS server. - public let eventIdMode: SmoothGroupEventIdMode? - /// Number of seconds before initiating a restart due to output failure, due to exhausting the numRetries on one segment, or exceeding filecacheDuration. - public let restartDelay: Int32? - /// Type of timestamp date offset to use. - /// - useEventStartDate: Use the date the event was started as the offset - /// - useConfiguredOffset: Use an explicitly configured date as the offset - public let timestampOffsetMode: SmoothGroupTimestampOffsetMode? - /// 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 unless those certificates are manually added to the OS trusted keystore. - public let certificateMode: SmoothGroupCertificateMode? - /// When set to sendEos, send EOS signal to IIS server when stopping the event - public let eventStopBehavior: SmoothGroupEventStopBehavior? - /// 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. - public let connectionRetryInterval: Int32? - /// Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate. - public let fragmentLength: Int32? - /// When set to useInputSegmentation, the output segment or fragment points are set by the RAI markers from the input streams. - public let segmentationMode: SmoothGroupSegmentationMode? - /// Parameter that control output group behavior on input loss. - public let inputLossAction: InputLossActionForMsSmoothOut? - /// MS Smooth event ID to be sent to the IIS server. - /// Should only be specified if eventIdMode is set to useConfigured. - public let eventId: String? - /// Size in seconds of file cache for streaming outputs. - public let filecacheDuration: Int32? - /// 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. - public let audioOnlyTimecodeControl: SmoothGroupAudioOnlyTimecodeControl? - /// If set to scte35, use incoming SCTE-35 messages to generate a sparse track in this group of MS-Smooth outputs. - public let sparseTrackType: SmoothGroupSparseTrackType? - /// 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) - public let sendDelayMs: Int32? - /// When set to send, send stream manifest so publishing point doesn't start until all streams start. - public let streamManifestBehavior: SmoothGroupStreamManifestBehavior? - /// Timestamp offset for the event. Only used if timestampOffsetMode is set to useConfiguredOffset. - public let timestampOffset: String? - /// Number of retry attempts. - public let numRetries: Int32? + public let input: Input? - public init(acquisitionPointId: String? = nil, destination: OutputLocationRef? = nil, eventIdMode: SmoothGroupEventIdMode? = nil, restartDelay: Int32? = nil, timestampOffsetMode: SmoothGroupTimestampOffsetMode? = nil, certificateMode: SmoothGroupCertificateMode? = nil, eventStopBehavior: SmoothGroupEventStopBehavior? = nil, connectionRetryInterval: Int32? = nil, fragmentLength: Int32? = nil, segmentationMode: SmoothGroupSegmentationMode? = nil, inputLossAction: InputLossActionForMsSmoothOut? = nil, eventId: String? = nil, filecacheDuration: Int32? = nil, audioOnlyTimecodeControl: SmoothGroupAudioOnlyTimecodeControl? = nil, sparseTrackType: SmoothGroupSparseTrackType? = nil, sendDelayMs: Int32? = nil, streamManifestBehavior: SmoothGroupStreamManifestBehavior? = nil, timestampOffset: String? = nil, numRetries: Int32? = nil) { - self.acquisitionPointId = acquisitionPointId - self.destination = destination - self.eventIdMode = eventIdMode - self.restartDelay = restartDelay - self.timestampOffsetMode = timestampOffsetMode - self.certificateMode = certificateMode - self.eventStopBehavior = eventStopBehavior - self.connectionRetryInterval = connectionRetryInterval - self.fragmentLength = fragmentLength - self.segmentationMode = segmentationMode - self.inputLossAction = inputLossAction - self.eventId = eventId - self.filecacheDuration = filecacheDuration - self.audioOnlyTimecodeControl = audioOnlyTimecodeControl - self.sparseTrackType = sparseTrackType - self.sendDelayMs = sendDelayMs - self.streamManifestBehavior = streamManifestBehavior - self.timestampOffset = timestampOffset - self.numRetries = numRetries + public init(input: Input? = nil) { + self.input = input } private enum CodingKeys: String, CodingKey { - case acquisitionPointId = "acquisitionPointId" - case destination = "destination" - case eventIdMode = "eventIdMode" - case restartDelay = "restartDelay" - case timestampOffsetMode = "timestampOffsetMode" - case certificateMode = "certificateMode" - case eventStopBehavior = "eventStopBehavior" - case connectionRetryInterval = "connectionRetryInterval" - case fragmentLength = "fragmentLength" - case segmentationMode = "segmentationMode" - case inputLossAction = "inputLossAction" - case eventId = "eventId" - case filecacheDuration = "filecacheDuration" - case audioOnlyTimecodeControl = "audioOnlyTimecodeControl" - case sparseTrackType = "sparseTrackType" - case sendDelayMs = "sendDelayMs" - case streamManifestBehavior = "streamManifestBehavior" - case timestampOffset = "timestampOffset" - case numRetries = "numRetries" + case input = "input" } } - public enum DvbSubDestinationOutlineColor: String, CustomStringConvertible, Codable { - case black = "BLACK" - case blue = "BLUE" - case green = "GREEN" - case red = "RED" - case white = "WHITE" - case yellow = "YELLOW" + public enum InputMaximumBitrate: String, CustomStringConvertible, Codable { + case max10Mbps = "MAX_10_MBPS" + case max20Mbps = "MAX_20_MBPS" + case max50Mbps = "MAX_50_MBPS" public var description: String { return self.rawValue } } - public struct HlsCdnSettings: AWSShape { + public struct StartChannelResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "HlsBasicPutSettings", location: .body(locationName: "hlsBasicPutSettings"), required: false, type: .structure), - AWSShapeMember(label: "HlsMediaStoreSettings", location: .body(locationName: "hlsMediaStoreSettings"), required: false, type: .structure), - AWSShapeMember(label: "HlsWebdavSettings", location: .body(locationName: "hlsWebdavSettings"), required: false, type: .structure), - AWSShapeMember(label: "HlsAkamaiSettings", location: .body(locationName: "hlsAkamaiSettings"), required: false, type: .structure) + AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), + AWSShapeMember(label: "EgressEndpoints", location: .body(locationName: "egressEndpoints"), required: false, type: .list), + AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), + AWSShapeMember(label: "PipelinesRunningCount", location: .body(locationName: "pipelinesRunningCount"), required: false, type: .integer), + AWSShapeMember(label: "LogLevel", location: .body(locationName: "logLevel"), required: false, type: .enum), + AWSShapeMember(label: "InputSpecification", location: .body(locationName: "inputSpecification"), required: false, type: .structure) ] - public let hlsBasicPutSettings: HlsBasicPutSettings? - public let hlsMediaStoreSettings: HlsMediaStoreSettings? - public let hlsWebdavSettings: HlsWebdavSettings? - public let hlsAkamaiSettings: HlsAkamaiSettings? + public let destinations: [OutputDestination]? + public let id: String? + public let arn: String? + public let inputAttachments: [InputAttachment]? + public let name: String? + public let state: ChannelState? + public let encoderSettings: EncoderSettings? + public let egressEndpoints: [ChannelEgressEndpoint]? + public let roleArn: String? + public let pipelinesRunningCount: Int32? + public let logLevel: LogLevel? + public let inputSpecification: InputSpecification? - public init(hlsBasicPutSettings: HlsBasicPutSettings? = nil, hlsMediaStoreSettings: HlsMediaStoreSettings? = nil, hlsWebdavSettings: HlsWebdavSettings? = nil, hlsAkamaiSettings: HlsAkamaiSettings? = nil) { - self.hlsBasicPutSettings = hlsBasicPutSettings - self.hlsMediaStoreSettings = hlsMediaStoreSettings - self.hlsWebdavSettings = hlsWebdavSettings - self.hlsAkamaiSettings = hlsAkamaiSettings + public init(destinations: [OutputDestination]? = nil, id: String? = nil, arn: String? = nil, inputAttachments: [InputAttachment]? = nil, name: String? = nil, state: ChannelState? = nil, encoderSettings: EncoderSettings? = nil, egressEndpoints: [ChannelEgressEndpoint]? = nil, roleArn: String? = nil, pipelinesRunningCount: Int32? = nil, logLevel: LogLevel? = nil, inputSpecification: InputSpecification? = nil) { + self.destinations = destinations + self.id = id + self.arn = arn + self.inputAttachments = inputAttachments + self.name = name + self.state = state + self.encoderSettings = encoderSettings + self.egressEndpoints = egressEndpoints + self.roleArn = roleArn + self.pipelinesRunningCount = pipelinesRunningCount + self.logLevel = logLevel + self.inputSpecification = inputSpecification } private enum CodingKeys: String, CodingKey { - case hlsBasicPutSettings = "hlsBasicPutSettings" - case hlsMediaStoreSettings = "hlsMediaStoreSettings" - case hlsWebdavSettings = "hlsWebdavSettings" - case hlsAkamaiSettings = "hlsAkamaiSettings" - } - } - - public enum Mp2CodingMode: String, CustomStringConvertible, Codable { - case codingMode10 = "CODING_MODE_1_0" - case codingMode20 = "CODING_MODE_2_0" - public var description: String { return self.rawValue } + case destinations = "destinations" + case id = "id" + case arn = "arn" + case inputAttachments = "inputAttachments" + case name = "name" + case state = "state" + case encoderSettings = "encoderSettings" + case egressEndpoints = "egressEndpoints" + case roleArn = "roleArn" + case pipelinesRunningCount = "pipelinesRunningCount" + case logLevel = "logLevel" + case inputSpecification = "inputSpecification" + } } - public struct TeletextSourceSettings: AWSShape { + public struct DeleteReservationResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PageNumber", location: .body(locationName: "pageNumber"), required: false, type: .string) + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "OfferingId", location: .body(locationName: "offeringId"), required: false, type: .string), + AWSShapeMember(label: "UsagePrice", location: .body(locationName: "usagePrice"), required: false, type: .double), + AWSShapeMember(label: "Region", location: .body(locationName: "region"), required: false, type: .string), + AWSShapeMember(label: "Count", location: .body(locationName: "count"), required: false, type: .integer), + AWSShapeMember(label: "OfferingType", location: .body(locationName: "offeringType"), required: false, type: .enum), + AWSShapeMember(label: "ResourceSpecification", location: .body(locationName: "resourceSpecification"), required: false, type: .structure), + AWSShapeMember(label: "ReservationId", location: .body(locationName: "reservationId"), required: false, type: .string), + AWSShapeMember(label: "OfferingDescription", location: .body(locationName: "offeringDescription"), required: false, type: .string), + AWSShapeMember(label: "Start", location: .body(locationName: "start"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "End", location: .body(locationName: "end"), required: false, type: .string), + AWSShapeMember(label: "CurrencyCode", location: .body(locationName: "currencyCode"), required: false, type: .string), + AWSShapeMember(label: "DurationUnits", location: .body(locationName: "durationUnits"), required: false, type: .enum), + AWSShapeMember(label: "Duration", location: .body(locationName: "duration"), required: false, type: .integer), + AWSShapeMember(label: "FixedPrice", location: .body(locationName: "fixedPrice"), required: false, type: .double) ] - /// 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. - public let pageNumber: String? + public let arn: String? + public let state: ReservationState? + public let offeringId: String? + public let usagePrice: Double? + public let region: String? + public let count: Int32? + public let offeringType: OfferingType? + public let resourceSpecification: ReservationResourceSpecification? + public let reservationId: String? + public let offeringDescription: String? + public let start: String? + public let name: String? + public let end: String? + public let currencyCode: String? + public let durationUnits: OfferingDurationUnits? + public let duration: Int32? + public let fixedPrice: Double? - public init(pageNumber: String? = nil) { - self.pageNumber = pageNumber + public init(arn: String? = nil, state: ReservationState? = nil, offeringId: String? = nil, usagePrice: Double? = nil, region: String? = nil, count: Int32? = nil, offeringType: OfferingType? = nil, resourceSpecification: ReservationResourceSpecification? = nil, reservationId: String? = nil, offeringDescription: String? = nil, start: String? = nil, name: String? = nil, end: String? = nil, currencyCode: String? = nil, durationUnits: OfferingDurationUnits? = nil, duration: Int32? = nil, fixedPrice: Double? = nil) { + self.arn = arn + self.state = state + self.offeringId = offeringId + self.usagePrice = usagePrice + self.region = region + self.count = count + self.offeringType = offeringType + self.resourceSpecification = resourceSpecification + self.reservationId = reservationId + self.offeringDescription = offeringDescription + self.start = start + self.name = name + self.end = end + self.currencyCode = currencyCode + self.durationUnits = durationUnits + self.duration = duration + self.fixedPrice = fixedPrice } private enum CodingKeys: String, CodingKey { - case pageNumber = "pageNumber" + case arn = "arn" + case state = "state" + case offeringId = "offeringId" + case usagePrice = "usagePrice" + case region = "region" + case count = "count" + case offeringType = "offeringType" + case resourceSpecification = "resourceSpecification" + case reservationId = "reservationId" + case offeringDescription = "offeringDescription" + case start = "start" + case name = "name" + case end = "end" + case currencyCode = "currencyCode" + case durationUnits = "durationUnits" + case duration = "duration" + case fixedPrice = "fixedPrice" } } - public enum VideoDescriptionRespondToAfd: String, CustomStringConvertible, Codable { - case none = "NONE" + public enum M3u8TimedMetadataBehavior: String, CustomStringConvertible, Codable { + case noPassthrough = "NO_PASSTHROUGH" case passthrough = "PASSTHROUGH" - case respond = "RESPOND" - public var description: String { return self.rawValue } - } - - public enum M2tsAudioBufferModel: String, CustomStringConvertible, Codable { - case atsc = "ATSC" - case dvb = "DVB" - public var description: String { return self.rawValue } - } - - public enum InputLossActionForMsSmoothOut: String, CustomStringConvertible, Codable { - case emitOutput = "EMIT_OUTPUT" - case pauseOutput = "PAUSE_OUTPUT" public var description: String { return self.rawValue } } - public struct WebvttDestinationSettings: AWSShape { - - } - - public struct CaptionDestinationSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EmbeddedPlusScte20DestinationSettings", location: .body(locationName: "embeddedPlusScte20DestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "Scte20PlusEmbeddedDestinationSettings", location: .body(locationName: "scte20PlusEmbeddedDestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "AribDestinationSettings", location: .body(locationName: "aribDestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "TtmlDestinationSettings", location: .body(locationName: "ttmlDestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "TeletextDestinationSettings", location: .body(locationName: "teletextDestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "WebvttDestinationSettings", location: .body(locationName: "webvttDestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "EmbeddedDestinationSettings", location: .body(locationName: "embeddedDestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "DvbSubDestinationSettings", location: .body(locationName: "dvbSubDestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "SmpteTtDestinationSettings", location: .body(locationName: "smpteTtDestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "BurnInDestinationSettings", location: .body(locationName: "burnInDestinationSettings"), required: false, type: .structure), - AWSShapeMember(label: "Scte27DestinationSettings", location: .body(locationName: "scte27DestinationSettings"), required: false, type: .structure) - ] - public let embeddedPlusScte20DestinationSettings: EmbeddedPlusScte20DestinationSettings? - public let scte20PlusEmbeddedDestinationSettings: Scte20PlusEmbeddedDestinationSettings? - public let aribDestinationSettings: AribDestinationSettings? - public let ttmlDestinationSettings: TtmlDestinationSettings? - public let teletextDestinationSettings: TeletextDestinationSettings? - public let webvttDestinationSettings: WebvttDestinationSettings? - public let embeddedDestinationSettings: EmbeddedDestinationSettings? - public let dvbSubDestinationSettings: DvbSubDestinationSettings? - public let smpteTtDestinationSettings: SmpteTtDestinationSettings? - public let burnInDestinationSettings: BurnInDestinationSettings? - public let scte27DestinationSettings: Scte27DestinationSettings? - - public init(embeddedPlusScte20DestinationSettings: EmbeddedPlusScte20DestinationSettings? = nil, scte20PlusEmbeddedDestinationSettings: Scte20PlusEmbeddedDestinationSettings? = nil, aribDestinationSettings: AribDestinationSettings? = nil, ttmlDestinationSettings: TtmlDestinationSettings? = nil, teletextDestinationSettings: TeletextDestinationSettings? = nil, webvttDestinationSettings: WebvttDestinationSettings? = nil, embeddedDestinationSettings: EmbeddedDestinationSettings? = nil, dvbSubDestinationSettings: DvbSubDestinationSettings? = nil, smpteTtDestinationSettings: SmpteTtDestinationSettings? = nil, burnInDestinationSettings: BurnInDestinationSettings? = nil, scte27DestinationSettings: Scte27DestinationSettings? = nil) { - self.embeddedPlusScte20DestinationSettings = embeddedPlusScte20DestinationSettings - self.scte20PlusEmbeddedDestinationSettings = scte20PlusEmbeddedDestinationSettings - self.aribDestinationSettings = aribDestinationSettings - self.ttmlDestinationSettings = ttmlDestinationSettings - self.teletextDestinationSettings = teletextDestinationSettings - self.webvttDestinationSettings = webvttDestinationSettings - self.embeddedDestinationSettings = embeddedDestinationSettings - self.dvbSubDestinationSettings = dvbSubDestinationSettings - self.smpteTtDestinationSettings = smpteTtDestinationSettings - self.burnInDestinationSettings = burnInDestinationSettings - self.scte27DestinationSettings = scte27DestinationSettings - } + public struct TeletextDestinationSettings: AWSShape { - private enum CodingKeys: String, CodingKey { - case embeddedPlusScte20DestinationSettings = "embeddedPlusScte20DestinationSettings" - case scte20PlusEmbeddedDestinationSettings = "scte20PlusEmbeddedDestinationSettings" - case aribDestinationSettings = "aribDestinationSettings" - case ttmlDestinationSettings = "ttmlDestinationSettings" - case teletextDestinationSettings = "teletextDestinationSettings" - case webvttDestinationSettings = "webvttDestinationSettings" - case embeddedDestinationSettings = "embeddedDestinationSettings" - case dvbSubDestinationSettings = "dvbSubDestinationSettings" - case smpteTtDestinationSettings = "smpteTtDestinationSettings" - case burnInDestinationSettings = "burnInDestinationSettings" - case scte27DestinationSettings = "scte27DestinationSettings" - } } - public enum H264RateControlMode: String, CustomStringConvertible, Codable { - case cbr = "CBR" - case vbr = "VBR" + public enum GlobalConfigurationOutputTimingSource: String, CustomStringConvertible, Codable { + case inputClock = "INPUT_CLOCK" + case systemClock = "SYSTEM_CLOCK" public var description: String { return self.rawValue } } - public struct VideoDescription: AWSShape { + public struct HlsGroupSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Height", location: .body(locationName: "height"), required: false, type: .integer), - AWSShapeMember(label: "Sharpness", location: .body(locationName: "sharpness"), required: false, type: .integer), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "ScalingBehavior", location: .body(locationName: "scalingBehavior"), required: false, type: .enum), - AWSShapeMember(label: "RespondToAfd", location: .body(locationName: "respondToAfd"), required: false, type: .enum), - AWSShapeMember(label: "Width", location: .body(locationName: "width"), required: false, type: .integer), - AWSShapeMember(label: "CodecSettings", location: .body(locationName: "codecSettings"), required: false, type: .structure) + AWSShapeMember(label: "OutputSelection", location: .body(locationName: "outputSelection"), required: false, type: .enum), + AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: true, type: .structure), + AWSShapeMember(label: "KeyFormat", location: .body(locationName: "keyFormat"), required: false, type: .string), + AWSShapeMember(label: "AdMarkers", location: .body(locationName: "adMarkers"), required: false, type: .list), + AWSShapeMember(label: "TsFileMode", location: .body(locationName: "tsFileMode"), required: false, type: .enum), + AWSShapeMember(label: "ProgramDateTimePeriod", location: .body(locationName: "programDateTimePeriod"), required: false, type: .integer), + AWSShapeMember(label: "EncryptionType", location: .body(locationName: "encryptionType"), required: false, type: .enum), + AWSShapeMember(label: "CaptionLanguageSetting", location: .body(locationName: "captionLanguageSetting"), required: false, type: .enum), + AWSShapeMember(label: "SegmentationMode", location: .body(locationName: "segmentationMode"), required: false, type: .enum), + AWSShapeMember(label: "IvInManifest", location: .body(locationName: "ivInManifest"), required: false, type: .enum), + AWSShapeMember(label: "IndexNSegments", location: .body(locationName: "indexNSegments"), required: false, type: .integer), + AWSShapeMember(label: "CaptionLanguageMappings", location: .body(locationName: "captionLanguageMappings"), required: false, type: .list), + AWSShapeMember(label: "IvSource", location: .body(locationName: "ivSource"), required: false, type: .enum), + AWSShapeMember(label: "TimedMetadataId3Period", location: .body(locationName: "timedMetadataId3Period"), required: false, type: .integer), + AWSShapeMember(label: "KeyFormatVersions", location: .body(locationName: "keyFormatVersions"), required: false, type: .string), + AWSShapeMember(label: "SegmentsPerSubdirectory", location: .body(locationName: "segmentsPerSubdirectory"), required: false, type: .integer), + AWSShapeMember(label: "ManifestDurationFormat", location: .body(locationName: "manifestDurationFormat"), required: false, type: .enum), + AWSShapeMember(label: "BaseUrlContent", location: .body(locationName: "baseUrlContent"), required: false, type: .string), + AWSShapeMember(label: "SegmentLength", location: .body(locationName: "segmentLength"), required: false, type: .integer), + AWSShapeMember(label: "MinSegmentLength", location: .body(locationName: "minSegmentLength"), required: false, type: .integer), + AWSShapeMember(label: "ManifestCompression", location: .body(locationName: "manifestCompression"), required: false, type: .enum), + AWSShapeMember(label: "StreamInfResolution", location: .body(locationName: "streamInfResolution"), required: false, type: .enum), + AWSShapeMember(label: "DirectoryStructure", location: .body(locationName: "directoryStructure"), required: false, type: .enum), + AWSShapeMember(label: "ConstantIv", location: .body(locationName: "constantIv"), required: false, type: .string), + AWSShapeMember(label: "KeyProviderSettings", location: .body(locationName: "keyProviderSettings"), required: false, type: .structure), + AWSShapeMember(label: "Mode", location: .body(locationName: "mode"), required: false, type: .enum), + AWSShapeMember(label: "ClientCache", location: .body(locationName: "clientCache"), required: false, type: .enum), + AWSShapeMember(label: "TimestampDeltaMilliseconds", location: .body(locationName: "timestampDeltaMilliseconds"), required: false, type: .integer), + AWSShapeMember(label: "InputLossAction", location: .body(locationName: "inputLossAction"), required: false, type: .enum), + AWSShapeMember(label: "ProgramDateTime", location: .body(locationName: "programDateTime"), required: false, type: .enum), + AWSShapeMember(label: "CodecSpecification", location: .body(locationName: "codecSpecification"), required: false, type: .enum), + AWSShapeMember(label: "BaseUrlManifest", location: .body(locationName: "baseUrlManifest"), required: false, type: .string), + AWSShapeMember(label: "TimedMetadataId3Frame", location: .body(locationName: "timedMetadataId3Frame"), required: false, type: .enum), + AWSShapeMember(label: "KeepSegments", location: .body(locationName: "keepSegments"), required: false, type: .integer), + AWSShapeMember(label: "HlsCdnSettings", location: .body(locationName: "hlsCdnSettings"), required: false, type: .structure) ] - /// Output video height (in pixels). Leave blank to use source video height. If left blank, width must also be unspecified. - public let height: Int32? - /// 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. - public let sharpness: Int32? - /// The name of this VideoDescription. Outputs will use this name to uniquely identify this Description. Description names should be unique within this Live Event. - public let name: String? - /// 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. - public let scalingBehavior: VideoDescriptionScalingBehavior? - /// 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. - public let respondToAfd: VideoDescriptionRespondToAfd? - /// 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. - public let width: Int32? - /// Video codec settings. - public let codecSettings: VideoCodecSettings? + /// Generates the .m3u8 playlist file for this HLS output group. The segmentsOnly option will output segments without the .m3u8 file. + public let outputSelection: HlsOutputSelection? + /// A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled). + public let destination: OutputLocationRef + /// 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. + public let keyFormat: String? + /// Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs. + public let adMarkers: [HlsAdMarkers]? + /// 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. + public let tsFileMode: HlsTsFileMode? + /// Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. + public let programDateTimePeriod: Int32? + /// Encrypts the segments with the given encryption scheme. Exclude this parameter if no encryption is desired. + public let encryptionType: HlsEncryptionType? + /// 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. + public let captionLanguageSetting: HlsCaptionLanguageSetting? + /// When set to useInputSegmentation, the output segment or fragment points are set by the RAI markers from the input streams. + public let segmentationMode: HlsSegmentationMode? + /// 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. + public let ivInManifest: HlsIvInManifest? + /// 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. + public let indexNSegments: Int32? + /// Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to "insert". + public let captionLanguageMappings: [CaptionLanguageMapping]? + /// 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. + public let ivSource: HlsIvSource? + /// Timed Metadata interval in seconds. + public let timedMetadataId3Period: Int32? + /// Either a single positive integer version value or a slash delimited list of version values (1/2/3). + public let keyFormatVersions: String? + /// Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect. + public let segmentsPerSubdirectory: Int32? + /// Indicates whether the output manifest should use floating point or integer values for segment duration. + public let manifestDurationFormat: HlsManifestDurationFormat? + /// 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. + public let baseUrlContent: String? + /// 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. + public let segmentLength: Int32? + /// 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. + public let minSegmentLength: Int32? + /// When set to gzip, compresses HLS playlist. + public let manifestCompression: HlsManifestCompression? + /// Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest. + public let streamInfResolution: HlsStreamInfResolution? + /// Place segments in subdirectories. + public let directoryStructure: HlsDirectoryStructure? + /// 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. + public let constantIv: String? + /// The key provider settings. + public let keyProviderSettings: KeyProviderSettings? + /// 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. + /// VOD 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. + public let mode: HlsMode? + /// 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. + public let clientCache: HlsClientCache? + /// Provides an extra millisecond delta offset to fine tune the timestamps. + public let timestampDeltaMilliseconds: Int32? + /// Parameter that control output group behavior on input loss. + public let inputLossAction: InputLossActionForHlsOut? + /// 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. + public let programDateTime: HlsProgramDateTime? + /// Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation. + public let codecSpecification: HlsCodecSpecification? + /// 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. + public let baseUrlManifest: String? + /// Indicates ID3 frame that has the timecode. + public let timedMetadataId3Frame: HlsTimedMetadataId3Frame? + /// If mode is "live", the number of TS segments to retain in the destination directory. If mode is "vod", this parameter has no effect. + public let keepSegments: Int32? + /// Parameters that control interactions with the CDN. + public let hlsCdnSettings: HlsCdnSettings? - public init(height: Int32? = nil, sharpness: Int32? = nil, name: String? = nil, scalingBehavior: VideoDescriptionScalingBehavior? = nil, respondToAfd: VideoDescriptionRespondToAfd? = nil, width: Int32? = nil, codecSettings: VideoCodecSettings? = nil) { - self.height = height - self.sharpness = sharpness - self.name = name - self.scalingBehavior = scalingBehavior - self.respondToAfd = respondToAfd - self.width = width - self.codecSettings = codecSettings + public init(outputSelection: HlsOutputSelection? = nil, destination: OutputLocationRef, keyFormat: String? = nil, adMarkers: [HlsAdMarkers]? = nil, tsFileMode: HlsTsFileMode? = nil, programDateTimePeriod: Int32? = nil, encryptionType: HlsEncryptionType? = nil, captionLanguageSetting: HlsCaptionLanguageSetting? = nil, segmentationMode: HlsSegmentationMode? = nil, ivInManifest: HlsIvInManifest? = nil, indexNSegments: Int32? = nil, captionLanguageMappings: [CaptionLanguageMapping]? = nil, ivSource: HlsIvSource? = nil, timedMetadataId3Period: Int32? = nil, keyFormatVersions: String? = nil, segmentsPerSubdirectory: Int32? = nil, manifestDurationFormat: HlsManifestDurationFormat? = nil, baseUrlContent: String? = nil, segmentLength: Int32? = nil, minSegmentLength: Int32? = nil, manifestCompression: HlsManifestCompression? = nil, streamInfResolution: HlsStreamInfResolution? = nil, directoryStructure: HlsDirectoryStructure? = nil, constantIv: String? = nil, keyProviderSettings: KeyProviderSettings? = nil, mode: HlsMode? = nil, clientCache: HlsClientCache? = nil, timestampDeltaMilliseconds: Int32? = nil, inputLossAction: InputLossActionForHlsOut? = nil, programDateTime: HlsProgramDateTime? = nil, codecSpecification: HlsCodecSpecification? = nil, baseUrlManifest: String? = nil, timedMetadataId3Frame: HlsTimedMetadataId3Frame? = nil, keepSegments: Int32? = nil, hlsCdnSettings: HlsCdnSettings? = nil) { + self.outputSelection = outputSelection + self.destination = destination + self.keyFormat = keyFormat + self.adMarkers = adMarkers + self.tsFileMode = tsFileMode + self.programDateTimePeriod = programDateTimePeriod + self.encryptionType = encryptionType + self.captionLanguageSetting = captionLanguageSetting + self.segmentationMode = segmentationMode + self.ivInManifest = ivInManifest + self.indexNSegments = indexNSegments + self.captionLanguageMappings = captionLanguageMappings + self.ivSource = ivSource + self.timedMetadataId3Period = timedMetadataId3Period + self.keyFormatVersions = keyFormatVersions + self.segmentsPerSubdirectory = segmentsPerSubdirectory + self.manifestDurationFormat = manifestDurationFormat + self.baseUrlContent = baseUrlContent + self.segmentLength = segmentLength + self.minSegmentLength = minSegmentLength + self.manifestCompression = manifestCompression + self.streamInfResolution = streamInfResolution + self.directoryStructure = directoryStructure + self.constantIv = constantIv + self.keyProviderSettings = keyProviderSettings + self.mode = mode + self.clientCache = clientCache + self.timestampDeltaMilliseconds = timestampDeltaMilliseconds + self.inputLossAction = inputLossAction + self.programDateTime = programDateTime + self.codecSpecification = codecSpecification + self.baseUrlManifest = baseUrlManifest + self.timedMetadataId3Frame = timedMetadataId3Frame + self.keepSegments = keepSegments + self.hlsCdnSettings = hlsCdnSettings } private enum CodingKeys: String, CodingKey { - case height = "height" - case sharpness = "sharpness" - case name = "name" - case scalingBehavior = "scalingBehavior" - case respondToAfd = "respondToAfd" - case width = "width" - case codecSettings = "codecSettings" + case outputSelection = "outputSelection" + case destination = "destination" + case keyFormat = "keyFormat" + case adMarkers = "adMarkers" + case tsFileMode = "tsFileMode" + case programDateTimePeriod = "programDateTimePeriod" + case encryptionType = "encryptionType" + case captionLanguageSetting = "captionLanguageSetting" + case segmentationMode = "segmentationMode" + case ivInManifest = "ivInManifest" + case indexNSegments = "indexNSegments" + case captionLanguageMappings = "captionLanguageMappings" + case ivSource = "ivSource" + case timedMetadataId3Period = "timedMetadataId3Period" + case keyFormatVersions = "keyFormatVersions" + case segmentsPerSubdirectory = "segmentsPerSubdirectory" + case manifestDurationFormat = "manifestDurationFormat" + case baseUrlContent = "baseUrlContent" + case segmentLength = "segmentLength" + case minSegmentLength = "minSegmentLength" + case manifestCompression = "manifestCompression" + case streamInfResolution = "streamInfResolution" + case directoryStructure = "directoryStructure" + case constantIv = "constantIv" + case keyProviderSettings = "keyProviderSettings" + case mode = "mode" + case clientCache = "clientCache" + case timestampDeltaMilliseconds = "timestampDeltaMilliseconds" + case inputLossAction = "inputLossAction" + case programDateTime = "programDateTime" + case codecSpecification = "codecSpecification" + case baseUrlManifest = "baseUrlManifest" + case timedMetadataId3Frame = "timedMetadataId3Frame" + case keepSegments = "keepSegments" + case hlsCdnSettings = "hlsCdnSettings" } } - public enum AacInputType: String, CustomStringConvertible, Codable { - case broadcasterMixedAd = "BROADCASTER_MIXED_AD" - case normal = "NORMAL" - public var description: String { return self.rawValue } - } - - public enum SmoothGroupEventIdMode: String, CustomStringConvertible, Codable { - case noEventId = "NO_EVENT_ID" - case useConfigured = "USE_CONFIGURED" - case useTimestamp = "USE_TIMESTAMP" - public var description: String { return self.rawValue } - } - - public enum HlsOutputSelection: String, CustomStringConvertible, Codable { - case manifestsAndSegments = "MANIFESTS_AND_SEGMENTS" - case segmentsOnly = "SEGMENTS_ONLY" - public var description: String { return self.rawValue } - } - - public struct ResourceConflict: AWSShape { + public struct ValidationError: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) + AWSShapeMember(label: "ErrorMessage", location: .body(locationName: "errorMessage"), required: false, type: .string), + AWSShapeMember(label: "ElementPath", location: .body(locationName: "elementPath"), required: false, type: .string) ] - public let message: String? + public let errorMessage: String? + public let elementPath: String? - public init(message: String? = nil) { - self.message = message + public init(errorMessage: String? = nil, elementPath: String? = nil) { + self.errorMessage = errorMessage + self.elementPath = elementPath } private enum CodingKeys: String, CodingKey { - case message = "message" + case errorMessage = "errorMessage" + case elementPath = "elementPath" } } - public enum HlsAkamaiHttpTransferMode: String, CustomStringConvertible, Codable { - case chunked = "CHUNKED" - case nonChunked = "NON_CHUNKED" + public enum Ac3DrcProfile: String, CustomStringConvertible, Codable { + case filmStandard = "FILM_STANDARD" + case none = "NONE" public var description: String { return self.rawValue } } - public struct DescribeInputSecurityGroupResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "WhitelistRules", location: .body(locationName: "whitelistRules"), required: false, type: .list) - ] - public let id: String? - public let arn: String? - public let whitelistRules: [InputWhitelistRule]? - - public init(id: String? = nil, arn: String? = nil, whitelistRules: [InputWhitelistRule]? = nil) { - self.id = id - self.arn = arn - self.whitelistRules = whitelistRules - } - - private enum CodingKeys: String, CodingKey { - case id = "id" - case arn = "arn" - case whitelistRules = "whitelistRules" - } - } - - public struct DeleteInputRequest: AWSShape { + public struct AudioDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InputId", location: .uri(locationName: "inputId"), required: true, type: .string) + AWSShapeMember(label: "AudioNormalizationSettings", location: .body(locationName: "audioNormalizationSettings"), required: false, type: .structure), + AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "LanguageCodeControl", location: .body(locationName: "languageCodeControl"), required: false, type: .enum), + AWSShapeMember(label: "AudioTypeControl", location: .body(locationName: "audioTypeControl"), required: false, type: .enum), + AWSShapeMember(label: "AudioType", location: .body(locationName: "audioType"), required: false, type: .enum), + AWSShapeMember(label: "StreamName", location: .body(locationName: "streamName"), required: false, type: .string), + AWSShapeMember(label: "RemixSettings", location: .body(locationName: "remixSettings"), required: false, type: .structure), + AWSShapeMember(label: "AudioSelectorName", location: .body(locationName: "audioSelectorName"), required: true, type: .string), + AWSShapeMember(label: "CodecSettings", location: .body(locationName: "codecSettings"), required: false, type: .structure) ] - public let inputId: String + /// Advanced audio normalization settings. + public let audioNormalizationSettings: AudioNormalizationSettings? + /// 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. + public let languageCode: String? + /// The name of this AudioDescription. Outputs will use this name to uniquely identify this AudioDescription. Description names should be unique within this Live Event. + public let name: String + /// 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. + public let languageCodeControl: AudioDescriptionLanguageCodeControl? + /// Determines how audio type is determined. + /// 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. + /// useConfigured: The value in Audio Type is included in the output. + /// Note that this field and audioType are both ignored if inputType is broadcasterMixedAd. + public let audioTypeControl: AudioDescriptionAudioTypeControl? + /// Applies only if audioTypeControl is useConfigured. The values for audioType are defined in ISO-IEC 13818-1. + public let audioType: AudioType? + /// Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by the player (eg. English, or Director Commentary). + public let streamName: String? + /// Settings that control how input audio channels are remixed into the output audio channels. + public let remixSettings: RemixSettings? + /// The name of the AudioSelector used as the source for this AudioDescription. + public let audioSelectorName: String + /// Audio codec settings. + public let codecSettings: AudioCodecSettings? - public init(inputId: String) { - self.inputId = inputId + public init(audioNormalizationSettings: AudioNormalizationSettings? = nil, languageCode: String? = nil, name: String, languageCodeControl: AudioDescriptionLanguageCodeControl? = nil, audioTypeControl: AudioDescriptionAudioTypeControl? = nil, audioType: AudioType? = nil, streamName: String? = nil, remixSettings: RemixSettings? = nil, audioSelectorName: String, codecSettings: AudioCodecSettings? = nil) { + self.audioNormalizationSettings = audioNormalizationSettings + self.languageCode = languageCode + self.name = name + self.languageCodeControl = languageCodeControl + self.audioTypeControl = audioTypeControl + self.audioType = audioType + self.streamName = streamName + self.remixSettings = remixSettings + self.audioSelectorName = audioSelectorName + self.codecSettings = codecSettings } private enum CodingKeys: String, CodingKey { - case inputId = "inputId" + case audioNormalizationSettings = "audioNormalizationSettings" + case languageCode = "languageCode" + case name = "name" + case languageCodeControl = "languageCodeControl" + case audioTypeControl = "audioTypeControl" + case audioType = "audioType" + case streamName = "streamName" + case remixSettings = "remixSettings" + case audioSelectorName = "audioSelectorName" + case codecSettings = "codecSettings" } } - public struct ListInputSecurityGroupsResultModel: AWSShape { + public struct CreateInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "InputSecurityGroups", location: .body(locationName: "inputSecurityGroups"), required: false, type: .list) + AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), + AWSShapeMember(label: "InputSecurityGroups", location: .body(locationName: "inputSecurityGroups"), required: false, type: .list), + AWSShapeMember(label: "Sources", location: .body(locationName: "sources"), required: false, type: .list), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum), + AWSShapeMember(label: "RequestId", location: .body(locationName: "requestId"), required: false, type: .string) ] - public let nextToken: String? - /// List of input security groups - public let inputSecurityGroups: [InputSecurityGroup]? + /// Destination settings for PUSH type inputs. + public let destinations: [InputDestinationRequest]? + /// A list of security groups referenced by IDs to attach to the input. + public let inputSecurityGroups: [String]? + /// The source URLs for a PULL-type input. Every PULL type input needs + /// exactly two source URLs for redundancy. + /// Only specify sources for PULL type Inputs. Leave Destinations empty. + public let sources: [InputSourceRequest]? + /// Name of the input. + public let name: String? + public let `type`: InputType? + /// Unique identifier of the request to ensure the request is handled + /// exactly once in case of retries. + public let requestId: String? - public init(nextToken: String? = nil, inputSecurityGroups: [InputSecurityGroup]? = nil) { - self.nextToken = nextToken + public init(destinations: [InputDestinationRequest]? = nil, inputSecurityGroups: [String]? = nil, sources: [InputSourceRequest]? = nil, name: String? = nil, type: InputType? = nil, requestId: String? = nil) { + self.destinations = destinations self.inputSecurityGroups = inputSecurityGroups + self.sources = sources + self.name = name + self.`type` = `type` + self.requestId = requestId } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" + case destinations = "destinations" case inputSecurityGroups = "inputSecurityGroups" + case sources = "sources" + case name = "name" + case `type` = "type" + case requestId = "requestId" } } - public struct Output: AWSShape { + public struct UpdateChannel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CaptionDescriptionNames", location: .body(locationName: "captionDescriptionNames"), required: false, type: .list), - AWSShapeMember(label: "OutputSettings", location: .body(locationName: "outputSettings"), required: false, type: .structure), - AWSShapeMember(label: "VideoDescriptionName", location: .body(locationName: "videoDescriptionName"), required: false, type: .string), - AWSShapeMember(label: "OutputName", location: .body(locationName: "outputName"), required: false, type: .string), - AWSShapeMember(label: "AudioDescriptionNames", location: .body(locationName: "audioDescriptionNames"), required: false, type: .list) + AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), + AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), + AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), + AWSShapeMember(label: "LogLevel", location: .body(locationName: "logLevel"), required: false, type: .enum), + AWSShapeMember(label: "InputSpecification", location: .body(locationName: "inputSpecification"), required: false, type: .structure) ] - /// The names of the CaptionDescriptions used as caption sources for this output. - public let captionDescriptionNames: [String]? - /// Output type-specific settings. - public let outputSettings: OutputSettings? - /// The name of the VideoDescription used as the source for this output. - public let videoDescriptionName: String? - /// The name used to identify an output. - public let outputName: String? - /// The names of the AudioDescriptions used as audio sources for this output. - public let audioDescriptionNames: [String]? + /// A list of output destinations for this channel. + public let destinations: [OutputDestination]? + public let inputAttachments: [InputAttachment]? + /// The name of the channel. + public let name: String? + /// The encoder settings for this channel. + public let encoderSettings: EncoderSettings? + /// 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. + public let roleArn: String? + /// The log level to write to CloudWatch Logs. + public let logLevel: LogLevel? + /// Specification of input for this channel (max. bitrate, resolution, codec, etc.) + public let inputSpecification: InputSpecification? - public init(captionDescriptionNames: [String]? = nil, outputSettings: OutputSettings? = nil, videoDescriptionName: String? = nil, outputName: String? = nil, audioDescriptionNames: [String]? = nil) { - self.captionDescriptionNames = captionDescriptionNames - self.outputSettings = outputSettings - self.videoDescriptionName = videoDescriptionName - self.outputName = outputName - self.audioDescriptionNames = audioDescriptionNames + public init(destinations: [OutputDestination]? = nil, inputAttachments: [InputAttachment]? = nil, name: String? = nil, encoderSettings: EncoderSettings? = nil, roleArn: String? = nil, logLevel: LogLevel? = nil, inputSpecification: InputSpecification? = nil) { + self.destinations = destinations + self.inputAttachments = inputAttachments + self.name = name + self.encoderSettings = encoderSettings + self.roleArn = roleArn + self.logLevel = logLevel + self.inputSpecification = inputSpecification } private enum CodingKeys: String, CodingKey { - case captionDescriptionNames = "captionDescriptionNames" - case outputSettings = "outputSettings" - case videoDescriptionName = "videoDescriptionName" - case outputName = "outputName" - case audioDescriptionNames = "audioDescriptionNames" - } - } - - public enum Eac3CodingMode: String, CustomStringConvertible, Codable { - case codingMode10 = "CODING_MODE_1_0" - case codingMode20 = "CODING_MODE_2_0" - case codingMode32 = "CODING_MODE_3_2" - public var description: String { return self.rawValue } + case destinations = "destinations" + case inputAttachments = "inputAttachments" + case name = "name" + case encoderSettings = "encoderSettings" + case roleArn = "roleArn" + case logLevel = "logLevel" + case inputSpecification = "inputSpecification" + } } - public struct InputLossBehavior: AWSShape { + public struct DeleteChannelResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BlackFrameMsec", location: .body(locationName: "blackFrameMsec"), required: false, type: .integer), - AWSShapeMember(label: "InputLossImageSlate", location: .body(locationName: "inputLossImageSlate"), required: false, type: .structure), - AWSShapeMember(label: "InputLossImageColor", location: .body(locationName: "inputLossImageColor"), required: false, type: .string), - AWSShapeMember(label: "InputLossImageType", location: .body(locationName: "inputLossImageType"), required: false, type: .enum), - AWSShapeMember(label: "RepeatFrameMsec", location: .body(locationName: "repeatFrameMsec"), required: false, type: .integer) + AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), + AWSShapeMember(label: "EgressEndpoints", location: .body(locationName: "egressEndpoints"), required: false, type: .list), + AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), + AWSShapeMember(label: "PipelinesRunningCount", location: .body(locationName: "pipelinesRunningCount"), required: false, type: .integer), + AWSShapeMember(label: "LogLevel", location: .body(locationName: "logLevel"), required: false, type: .enum), + AWSShapeMember(label: "InputSpecification", location: .body(locationName: "inputSpecification"), required: false, type: .structure) ] - /// On input loss, the number of milliseconds to substitute black into the output before switching to the frame specified by inputLossImageType. A value x, where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as infinite. - public let blackFrameMsec: Int32? - /// When input loss image type is "slate" these fields specify the parameters for accessing the slate. - public let inputLossImageSlate: InputLocation? - /// When input loss image type is "color" this field specifies the color to use. Value: 6 hex characters representing the values of RGB. - public let inputLossImageColor: String? - /// Indicates whether to substitute a solid color or a slate into the output after input loss exceeds blackFrameMsec. - public let inputLossImageType: InputLossImageType? - /// On input loss, the number of milliseconds to repeat the previous picture before substituting black into the output. A value x, where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as infinite. - public let repeatFrameMsec: Int32? + public let destinations: [OutputDestination]? + public let id: String? + public let arn: String? + public let inputAttachments: [InputAttachment]? + public let name: String? + public let state: ChannelState? + public let encoderSettings: EncoderSettings? + public let egressEndpoints: [ChannelEgressEndpoint]? + public let roleArn: String? + public let pipelinesRunningCount: Int32? + public let logLevel: LogLevel? + public let inputSpecification: InputSpecification? - public init(blackFrameMsec: Int32? = nil, inputLossImageSlate: InputLocation? = nil, inputLossImageColor: String? = nil, inputLossImageType: InputLossImageType? = nil, repeatFrameMsec: Int32? = nil) { - self.blackFrameMsec = blackFrameMsec - self.inputLossImageSlate = inputLossImageSlate - self.inputLossImageColor = inputLossImageColor - self.inputLossImageType = inputLossImageType - self.repeatFrameMsec = repeatFrameMsec + public init(destinations: [OutputDestination]? = nil, id: String? = nil, arn: String? = nil, inputAttachments: [InputAttachment]? = nil, name: String? = nil, state: ChannelState? = nil, encoderSettings: EncoderSettings? = nil, egressEndpoints: [ChannelEgressEndpoint]? = nil, roleArn: String? = nil, pipelinesRunningCount: Int32? = nil, logLevel: LogLevel? = nil, inputSpecification: InputSpecification? = nil) { + self.destinations = destinations + self.id = id + self.arn = arn + self.inputAttachments = inputAttachments + self.name = name + self.state = state + self.encoderSettings = encoderSettings + self.egressEndpoints = egressEndpoints + self.roleArn = roleArn + self.pipelinesRunningCount = pipelinesRunningCount + self.logLevel = logLevel + self.inputSpecification = inputSpecification } private enum CodingKeys: String, CodingKey { - case blackFrameMsec = "blackFrameMsec" - case inputLossImageSlate = "inputLossImageSlate" - case inputLossImageColor = "inputLossImageColor" - case inputLossImageType = "inputLossImageType" - case repeatFrameMsec = "repeatFrameMsec" + case destinations = "destinations" + case id = "id" + case arn = "arn" + case inputAttachments = "inputAttachments" + case name = "name" + case state = "state" + case encoderSettings = "encoderSettings" + case egressEndpoints = "egressEndpoints" + case roleArn = "roleArn" + case pipelinesRunningCount = "pipelinesRunningCount" + case logLevel = "logLevel" + case inputSpecification = "inputSpecification" } } - public enum HlsSegmentationMode: String, CustomStringConvertible, Codable { - case useInputSegmentation = "USE_INPUT_SEGMENTATION" - case useSegmentDuration = "USE_SEGMENT_DURATION" - public var description: String { return self.rawValue } - } - - public enum Eac3MetadataControl: String, CustomStringConvertible, Codable { - case followInput = "FOLLOW_INPUT" - case useConfigured = "USE_CONFIGURED" - public var description: String { return self.rawValue } - } - - public struct BurnInDestinationSettings: AWSShape { + public struct CaptionLanguageMapping: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BackgroundColor", location: .body(locationName: "backgroundColor"), required: false, type: .enum), - AWSShapeMember(label: "BackgroundOpacity", location: .body(locationName: "backgroundOpacity"), required: false, type: .integer), - AWSShapeMember(label: "YPosition", location: .body(locationName: "yPosition"), required: false, type: .integer), - AWSShapeMember(label: "FontOpacity", location: .body(locationName: "fontOpacity"), required: false, type: .integer), - AWSShapeMember(label: "ShadowXOffset", location: .body(locationName: "shadowXOffset"), required: false, type: .integer), - AWSShapeMember(label: "FontSize", location: .body(locationName: "fontSize"), required: false, type: .string), - AWSShapeMember(label: "Alignment", location: .body(locationName: "alignment"), required: false, type: .enum), - AWSShapeMember(label: "XPosition", location: .body(locationName: "xPosition"), required: false, type: .integer), - AWSShapeMember(label: "ShadowOpacity", location: .body(locationName: "shadowOpacity"), required: false, type: .integer), - AWSShapeMember(label: "FontColor", location: .body(locationName: "fontColor"), required: false, type: .enum), - AWSShapeMember(label: "OutlineColor", location: .body(locationName: "outlineColor"), required: false, type: .enum), - AWSShapeMember(label: "ShadowColor", location: .body(locationName: "shadowColor"), required: false, type: .enum), - AWSShapeMember(label: "ShadowYOffset", location: .body(locationName: "shadowYOffset"), required: false, type: .integer), - AWSShapeMember(label: "FontResolution", location: .body(locationName: "fontResolution"), required: false, type: .integer), - AWSShapeMember(label: "Font", location: .body(locationName: "font"), required: false, type: .structure), - AWSShapeMember(label: "OutlineSize", location: .body(locationName: "outlineSize"), required: false, type: .integer), - AWSShapeMember(label: "TeletextGridControl", location: .body(locationName: "teletextGridControl"), required: false, type: .enum) + AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: true, type: .string), + AWSShapeMember(label: "LanguageDescription", location: .body(locationName: "languageDescription"), required: true, type: .string), + AWSShapeMember(label: "CaptionChannel", location: .body(locationName: "captionChannel"), required: true, type: .integer) ] - /// Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match. - public let backgroundColor: BurnInBackgroundColor? - /// 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. - public let backgroundOpacity: Int32? - /// 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. - public let yPosition: Int32? - /// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match. - public let fontOpacity: Int32? - /// 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. - public let shadowXOffset: Int32? - /// 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. - public let fontSize: String? - /// 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. - public let alignment: BurnInAlignment? - /// 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. - public let xPosition: Int32? - /// 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. - public let shadowOpacity: Int32? - /// 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. - public let fontColor: BurnInFontColor? - /// 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. - public let outlineColor: BurnInOutlineColor? - /// Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match. - public let shadowColor: BurnInShadowColor? - /// 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. - public let shadowYOffset: Int32? - /// Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match. - public let fontResolution: Int32? - /// 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. - public let font: InputLocation? - /// 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. - public let outlineSize: Int32? - /// 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. - public let teletextGridControl: BurnInTeletextGridControl? + /// Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2) + public let languageCode: String + /// Textual description of language + public let languageDescription: String + /// The closed caption channel being described by this CaptionLanguageMapping. Each channel mapping must have a unique channel number (maximum of 4) + public let captionChannel: Int32 - public init(backgroundColor: BurnInBackgroundColor? = nil, backgroundOpacity: Int32? = nil, yPosition: Int32? = nil, fontOpacity: Int32? = nil, shadowXOffset: Int32? = nil, fontSize: String? = nil, alignment: BurnInAlignment? = nil, xPosition: Int32? = nil, shadowOpacity: Int32? = nil, fontColor: BurnInFontColor? = nil, outlineColor: BurnInOutlineColor? = nil, shadowColor: BurnInShadowColor? = nil, shadowYOffset: Int32? = nil, fontResolution: Int32? = nil, font: InputLocation? = nil, outlineSize: Int32? = nil, teletextGridControl: BurnInTeletextGridControl? = nil) { - self.backgroundColor = backgroundColor - self.backgroundOpacity = backgroundOpacity - self.yPosition = yPosition - self.fontOpacity = fontOpacity - self.shadowXOffset = shadowXOffset - self.fontSize = fontSize - self.alignment = alignment - self.xPosition = xPosition - self.shadowOpacity = shadowOpacity - self.fontColor = fontColor - self.outlineColor = outlineColor - self.shadowColor = shadowColor - self.shadowYOffset = shadowYOffset - self.fontResolution = fontResolution - self.font = font - self.outlineSize = outlineSize - self.teletextGridControl = teletextGridControl + public init(languageCode: String, languageDescription: String, captionChannel: Int32) { + self.languageCode = languageCode + self.languageDescription = languageDescription + self.captionChannel = captionChannel } private enum CodingKeys: String, CodingKey { - case backgroundColor = "backgroundColor" - case backgroundOpacity = "backgroundOpacity" - case yPosition = "yPosition" - case fontOpacity = "fontOpacity" - case shadowXOffset = "shadowXOffset" - case fontSize = "fontSize" - case alignment = "alignment" - case xPosition = "xPosition" - case shadowOpacity = "shadowOpacity" - case fontColor = "fontColor" - case outlineColor = "outlineColor" - case shadowColor = "shadowColor" - case shadowYOffset = "shadowYOffset" - case fontResolution = "fontResolution" - case font = "font" - case outlineSize = "outlineSize" - case teletextGridControl = "teletextGridControl" + case languageCode = "languageCode" + case languageDescription = "languageDescription" + case captionChannel = "captionChannel" } } - public enum InputLossActionForHlsOut: String, CustomStringConvertible, Codable { - case emitOutput = "EMIT_OUTPUT" - case pauseOutput = "PAUSE_OUTPUT" - public var description: String { return self.rawValue } - } - - public enum M2tsAudioInterval: String, CustomStringConvertible, Codable { - case videoAndFixedIntervals = "VIDEO_AND_FIXED_INTERVALS" - case videoInterval = "VIDEO_INTERVAL" + public enum TtmlDestinationStyleControl: String, CustomStringConvertible, Codable { + case passthrough = "PASSTHROUGH" + case useConfigured = "USE_CONFIGURED" public var description: String { return self.rawValue } } - public struct HlsSettings: AWSShape { + public struct HlsInputSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AudioOnlyHlsSettings", location: .body(locationName: "audioOnlyHlsSettings"), required: false, type: .structure), - AWSShapeMember(label: "StandardHlsSettings", location: .body(locationName: "standardHlsSettings"), required: false, type: .structure) + AWSShapeMember(label: "Bandwidth", location: .body(locationName: "bandwidth"), required: false, type: .integer), + AWSShapeMember(label: "RetryInterval", location: .body(locationName: "retryInterval"), required: false, type: .integer), + AWSShapeMember(label: "Retries", location: .body(locationName: "retries"), required: false, type: .integer), + AWSShapeMember(label: "BufferSegments", location: .body(locationName: "bufferSegments"), required: false, type: .integer) ] - public let audioOnlyHlsSettings: AudioOnlyHlsSettings? - public let standardHlsSettings: StandardHlsSettings? + /// 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. + public let bandwidth: Int32? + /// The number of seconds between retries when an attempt to read a manifest or segment fails. + public let retryInterval: Int32? + /// The number of consecutive times that attempts to read a manifest or segment must fail before the input is considered unavailable. + public let retries: Int32? + /// 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. + public let bufferSegments: Int32? - public init(audioOnlyHlsSettings: AudioOnlyHlsSettings? = nil, standardHlsSettings: StandardHlsSettings? = nil) { - self.audioOnlyHlsSettings = audioOnlyHlsSettings - self.standardHlsSettings = standardHlsSettings + public init(bandwidth: Int32? = nil, retryInterval: Int32? = nil, retries: Int32? = nil, bufferSegments: Int32? = nil) { + self.bandwidth = bandwidth + self.retryInterval = retryInterval + self.retries = retries + self.bufferSegments = bufferSegments } private enum CodingKeys: String, CodingKey { - case audioOnlyHlsSettings = "audioOnlyHlsSettings" - case standardHlsSettings = "standardHlsSettings" + case bandwidth = "bandwidth" + case retryInterval = "retryInterval" + case retries = "retries" + case bufferSegments = "bufferSegments" } } - public enum Scte35SpliceInsertNoRegionalBlackoutBehavior: String, CustomStringConvertible, Codable { - case follow = "FOLLOW" - case ignore = "IGNORE" + public enum HlsWebdavHttpTransferMode: String, CustomStringConvertible, Codable { + case chunked = "CHUNKED" + case nonChunked = "NON_CHUNKED" public var description: String { return self.rawValue } } - public enum TimecodeConfigSource: String, CustomStringConvertible, Codable { - case embedded = "EMBEDDED" - case systemclock = "SYSTEMCLOCK" - case zerobased = "ZEROBASED" + public enum H264GopSizeUnits: String, CustomStringConvertible, Codable { + case frames = "FRAMES" + case seconds = "SECONDS" public var description: String { return self.rawValue } } - public enum H264ScanType: String, CustomStringConvertible, Codable { - case interlaced = "INTERLACED" - case progressive = "PROGRESSIVE" + public enum AudioNormalizationAlgorithm: String, CustomStringConvertible, Codable { + case itu17701 = "ITU_1770_1" + case itu17702 = "ITU_1770_2" public var description: String { return self.rawValue } } - public struct ListInputsResultModel: AWSShape { + public struct InputSource: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Inputs", location: .body(locationName: "inputs"), required: false, type: .list), - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) + AWSShapeMember(label: "PasswordParam", location: .body(locationName: "passwordParam"), required: false, type: .string), + AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string), + AWSShapeMember(label: "Username", location: .body(locationName: "username"), required: false, type: .string) ] - public let inputs: [Input]? - public let nextToken: String? + /// The key used to extract the password from EC2 Parameter store. + public let passwordParam: String? + /// This represents the customer's source URL where stream is + /// pulled from. + public let url: String? + /// The username for the input source. + public let username: String? - public init(inputs: [Input]? = nil, nextToken: String? = nil) { - self.inputs = inputs - self.nextToken = nextToken + public init(passwordParam: String? = nil, url: String? = nil, username: String? = nil) { + self.passwordParam = passwordParam + self.url = url + self.username = username } private enum CodingKeys: String, CodingKey { - case inputs = "inputs" - case nextToken = "nextToken" + case passwordParam = "passwordParam" + case url = "url" + case username = "username" } } - public struct AudioSelector: AWSShape { + public struct InputLocation: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "SelectorSettings", location: .body(locationName: "selectorSettings"), required: false, type: .structure) + AWSShapeMember(label: "Uri", location: .body(locationName: "uri"), required: true, type: .string), + AWSShapeMember(label: "PasswordParam", location: .body(locationName: "passwordParam"), required: false, type: .string), + AWSShapeMember(label: "Username", location: .body(locationName: "username"), required: false, type: .string) ] - /// The name of this AudioSelector. AudioDescriptions will use this name to uniquely identify this Selector. Selector names should be unique per input. - public let name: String? - /// The audio selector settings. - public let selectorSettings: AudioSelectorSettings? + /// 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". + public let uri: String + /// key used to extract the password from EC2 Parameter store + public let passwordParam: String? + /// Username if credentials are required to access a file or publishing point. This can be either a plaintext username, or a reference to an AWS parameter store name from which the username can be retrieved. AWS Parameter store format: "ssm://" + public let username: String? - public init(name: String? = nil, selectorSettings: AudioSelectorSettings? = nil) { - self.name = name - self.selectorSettings = selectorSettings + public init(uri: String, passwordParam: String? = nil, username: String? = nil) { + self.uri = uri + self.passwordParam = passwordParam + self.username = username } private enum CodingKeys: String, CodingKey { - case name = "name" - case selectorSettings = "selectorSettings" + case uri = "uri" + case passwordParam = "passwordParam" + case username = "username" } } - public struct DvbNitSettings: AWSShape { + public struct UpdateInputSecurityGroupResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RepInterval", location: .body(locationName: "repInterval"), required: false, type: .integer), - AWSShapeMember(label: "NetworkId", location: .body(locationName: "networkId"), required: false, type: .integer), - AWSShapeMember(label: "NetworkName", location: .body(locationName: "networkName"), required: false, type: .string) + AWSShapeMember(label: "SecurityGroup", location: .body(locationName: "securityGroup"), required: false, type: .structure) ] - /// The number of milliseconds between instances of this table in the output transport stream. - public let repInterval: Int32? - /// The numeric value placed in the Network Information Table (NIT). - public let networkId: Int32? - /// The network name text placed in the networkNameDescriptor inside the Network Information Table. Maximum length is 256 characters. - public let networkName: String? + public let securityGroup: InputSecurityGroup? - public init(repInterval: Int32? = nil, networkId: Int32? = nil, networkName: String? = nil) { - self.repInterval = repInterval - self.networkId = networkId - self.networkName = networkName + public init(securityGroup: InputSecurityGroup? = nil) { + self.securityGroup = securityGroup } private enum CodingKeys: String, CodingKey { - case repInterval = "repInterval" - case networkId = "networkId" - case networkName = "networkName" + case securityGroup = "securityGroup" } } - public struct InputSourceRequest: AWSShape { + public struct UpdateChannelResultModel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PasswordParam", location: .body(locationName: "passwordParam"), required: false, type: .string), - AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string), - AWSShapeMember(label: "Username", location: .body(locationName: "username"), required: false, type: .string) + AWSShapeMember(label: "Channel", location: .body(locationName: "channel"), required: false, type: .structure) ] - /// key used to extract the password from EC2 Parameter store - public let passwordParam: String? - /// This represents the customer's source URL where stream is - /// pulled from. - public let url: String? - /// username for input source - public let username: String? + public let channel: Channel? - public init(passwordParam: String? = nil, url: String? = nil, username: String? = nil) { - self.passwordParam = passwordParam - self.url = url - self.username = username + public init(channel: Channel? = nil) { + self.channel = channel } private enum CodingKeys: String, CodingKey { - case passwordParam = "passwordParam" - case url = "url" - case username = "username" + case channel = "channel" } } - public enum M2tsAbsentInputAudioBehavior: String, CustomStringConvertible, Codable { - case drop = "DROP" - case encodeSilence = "ENCODE_SILENCE" + public enum M2tsAudioStreamType: String, CustomStringConvertible, Codable { + case atsc = "ATSC" + case dvb = "DVB" public var description: String { return self.rawValue } } - public enum HlsMode: String, CustomStringConvertible, Codable { - case live = "LIVE" - case vod = "VOD" + public enum Scte20Convert608To708: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case upconvert = "UPCONVERT" public var description: String { return self.rawValue } } - public enum H264EntropyEncoding: String, CustomStringConvertible, Codable { - case cabac = "CABAC" - case cavlc = "CAVLC" - public var description: String { return self.rawValue } + public struct DeleteInputResponse: AWSShape { + } - public enum H264FramerateControl: String, CustomStringConvertible, Codable { - case initializeFromSource = "INITIALIZE_FROM_SOURCE" - case specified = "SPECIFIED" - public var description: String { return self.rawValue } + public struct TtmlDestinationSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StyleControl", location: .body(locationName: "styleControl"), required: false, type: .enum) + ] + /// 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. + public let styleControl: TtmlDestinationStyleControl? + + public init(styleControl: TtmlDestinationStyleControl? = nil) { + self.styleControl = styleControl + } + + private enum CodingKeys: String, CodingKey { + case styleControl = "styleControl" + } } - public enum M2tsRateMode: String, CustomStringConvertible, Codable { - case cbr = "CBR" - case vbr = "VBR" + public enum Scte35AposNoRegionalBlackoutBehavior: String, CustomStringConvertible, Codable { + case follow = "FOLLOW" + case ignore = "IGNORE" public var description: String { return self.rawValue } } - public struct AacSettings: AWSShape { + public struct OutputGroup: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: false, type: .enum), - AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .double), + AWSShapeMember(label: "Outputs", location: .body(locationName: "outputs"), required: true, type: .list), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "OutputGroupSettings", location: .body(locationName: "outputGroupSettings"), required: true, type: .structure) + ] + public let outputs: [Output] + /// Custom output group name optionally defined by the user. Only letters, numbers, and the underscore character allowed; only 32 characters allowed. + public let name: String? + /// Settings associated with the output group. + public let outputGroupSettings: OutputGroupSettings + + public init(outputs: [Output], name: String? = nil, outputGroupSettings: OutputGroupSettings) { + self.outputs = outputs + self.name = name + self.outputGroupSettings = outputGroupSettings + } + + private enum CodingKeys: String, CodingKey { + case outputs = "outputs" + case name = "name" + case outputGroupSettings = "outputGroupSettings" + } + } + + public struct Eac3Settings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LtRtCenterMixLevel", location: .body(locationName: "ltRtCenterMixLevel"), required: false, type: .double), + AWSShapeMember(label: "LfeControl", location: .body(locationName: "lfeControl"), required: false, type: .enum), + AWSShapeMember(label: "Dialnorm", location: .body(locationName: "dialnorm"), required: false, type: .integer), + AWSShapeMember(label: "DcFilter", location: .body(locationName: "dcFilter"), required: false, type: .enum), + AWSShapeMember(label: "LtRtSurroundMixLevel", location: .body(locationName: "ltRtSurroundMixLevel"), required: false, type: .double), AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .double), - AWSShapeMember(label: "Profile", location: .body(locationName: "profile"), required: false, type: .enum), - AWSShapeMember(label: "RawFormat", location: .body(locationName: "rawFormat"), required: false, type: .enum), - AWSShapeMember(label: "Spec", location: .body(locationName: "spec"), required: false, type: .enum), - AWSShapeMember(label: "VbrQuality", location: .body(locationName: "vbrQuality"), required: false, type: .enum), - AWSShapeMember(label: "InputType", location: .body(locationName: "inputType"), required: false, type: .enum), - AWSShapeMember(label: "RateControlMode", location: .body(locationName: "rateControlMode"), required: false, type: .enum) + AWSShapeMember(label: "SurroundExMode", location: .body(locationName: "surroundExMode"), required: false, type: .enum), + AWSShapeMember(label: "MetadataControl", location: .body(locationName: "metadataControl"), required: false, type: .enum), + AWSShapeMember(label: "DrcRf", location: .body(locationName: "drcRf"), required: false, type: .enum), + AWSShapeMember(label: "SurroundMode", location: .body(locationName: "surroundMode"), required: false, type: .enum), + AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: false, type: .enum), + AWSShapeMember(label: "LfeFilter", location: .body(locationName: "lfeFilter"), required: false, type: .enum), + AWSShapeMember(label: "DrcLine", location: .body(locationName: "drcLine"), required: false, type: .enum), + AWSShapeMember(label: "BitstreamMode", location: .body(locationName: "bitstreamMode"), required: false, type: .enum), + AWSShapeMember(label: "PassthroughControl", location: .body(locationName: "passthroughControl"), required: false, type: .enum), + AWSShapeMember(label: "LoRoSurroundMixLevel", location: .body(locationName: "loRoSurroundMixLevel"), required: false, type: .double), + AWSShapeMember(label: "LoRoCenterMixLevel", location: .body(locationName: "loRoCenterMixLevel"), required: false, type: .double), + AWSShapeMember(label: "PhaseControl", location: .body(locationName: "phaseControl"), required: false, type: .enum), + AWSShapeMember(label: "AttenuationControl", location: .body(locationName: "attenuationControl"), required: false, type: .enum), + AWSShapeMember(label: "StereoDownmix", location: .body(locationName: "stereoDownmix"), required: false, type: .enum) ] - /// 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. - public let codingMode: AacCodingMode? - /// Sample rate in Hz. Valid values depend on rate control mode and profile. - public let sampleRate: Double? - /// Average bitrate in bits/second. Valid values depend on rate control mode and profile. + /// Left total/Right total center mix level. Only used for 3/2 coding mode. + public let ltRtCenterMixLevel: Double? + /// When encoding 3/2 audio, setting to lfe enables the LFE channel + public let lfeControl: Eac3LfeControl? + /// Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through. + public let dialnorm: Int32? + /// When set to enabled, activates a DC highpass filter for all input channels. + public let dcFilter: Eac3DcFilter? + /// Left total/Right total surround mix level. Only used for 3/2 coding mode. + public let ltRtSurroundMixLevel: Double? + /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. public let bitrate: Double? - /// AAC Profile. - public let profile: AacProfile? - /// Sets LATM / LOAS AAC output for raw containers. - public let rawFormat: AacRawFormat? - /// Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers. - public let spec: AacSpec? - /// VBR Quality Level - Only used if rateControlMode is VBR. - public let vbrQuality: AacVbrQuality? - /// 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. - /// Leave set to "normal" when input does not contain pre-mixed audio + AD. - public let inputType: AacInputType? - /// Rate Control Mode. - public let rateControlMode: AacRateControlMode? + /// When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels. + public let surroundExMode: Eac3SurroundExMode? + /// 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. + public let metadataControl: Eac3MetadataControl? + /// Sets the profile for heavy Dolby dynamic range compression, ensures that the instantaneous signal peaks do not exceed specified levels. + public let drcRf: Eac3DrcRf? + /// When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels. + public let surroundMode: Eac3SurroundMode? + /// Dolby Digital Plus coding mode. Determines number of channels. + public let codingMode: Eac3CodingMode? + /// When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with codingMode32 coding mode. + public let lfeFilter: Eac3LfeFilter? + /// Sets the Dolby dynamic range compression profile. + public let drcLine: Eac3DrcLine? + /// Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC A/52-2012 (Annex E) for background on these values. + public let bitstreamMode: Eac3BitstreamMode? + /// 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. + public let passthroughControl: Eac3PassthroughControl? + /// Left only/Right only surround mix level. Only used for 3/2 coding mode. + public let loRoSurroundMixLevel: Double? + /// Left only/Right only center mix level. Only used for 3/2 coding mode. + public let loRoCenterMixLevel: Double? + /// When set to shift90Degrees, applies a 90-degree phase shift to the surround channels. Only used for 3/2 coding mode. + public let phaseControl: Eac3PhaseControl? + /// When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode. + public let attenuationControl: Eac3AttenuationControl? + /// Stereo downmix preference. Only used for 3/2 coding mode. + public let stereoDownmix: Eac3StereoDownmix? - public init(codingMode: AacCodingMode? = nil, sampleRate: Double? = nil, bitrate: Double? = nil, profile: AacProfile? = nil, rawFormat: AacRawFormat? = nil, spec: AacSpec? = nil, vbrQuality: AacVbrQuality? = nil, inputType: AacInputType? = nil, rateControlMode: AacRateControlMode? = nil) { - self.codingMode = codingMode - self.sampleRate = sampleRate + public init(ltRtCenterMixLevel: Double? = nil, lfeControl: Eac3LfeControl? = nil, dialnorm: Int32? = nil, dcFilter: Eac3DcFilter? = nil, ltRtSurroundMixLevel: Double? = nil, bitrate: Double? = nil, surroundExMode: Eac3SurroundExMode? = nil, metadataControl: Eac3MetadataControl? = nil, drcRf: Eac3DrcRf? = nil, surroundMode: Eac3SurroundMode? = nil, codingMode: Eac3CodingMode? = nil, lfeFilter: Eac3LfeFilter? = nil, drcLine: Eac3DrcLine? = nil, bitstreamMode: Eac3BitstreamMode? = nil, passthroughControl: Eac3PassthroughControl? = nil, loRoSurroundMixLevel: Double? = nil, loRoCenterMixLevel: Double? = nil, phaseControl: Eac3PhaseControl? = nil, attenuationControl: Eac3AttenuationControl? = nil, stereoDownmix: Eac3StereoDownmix? = nil) { + self.ltRtCenterMixLevel = ltRtCenterMixLevel + self.lfeControl = lfeControl + self.dialnorm = dialnorm + self.dcFilter = dcFilter + self.ltRtSurroundMixLevel = ltRtSurroundMixLevel self.bitrate = bitrate - self.profile = profile - self.rawFormat = rawFormat - self.spec = spec - self.vbrQuality = vbrQuality - self.inputType = inputType - self.rateControlMode = rateControlMode + self.surroundExMode = surroundExMode + self.metadataControl = metadataControl + self.drcRf = drcRf + self.surroundMode = surroundMode + self.codingMode = codingMode + self.lfeFilter = lfeFilter + self.drcLine = drcLine + self.bitstreamMode = bitstreamMode + self.passthroughControl = passthroughControl + self.loRoSurroundMixLevel = loRoSurroundMixLevel + self.loRoCenterMixLevel = loRoCenterMixLevel + self.phaseControl = phaseControl + self.attenuationControl = attenuationControl + self.stereoDownmix = stereoDownmix } private enum CodingKeys: String, CodingKey { - case codingMode = "codingMode" - case sampleRate = "sampleRate" + case ltRtCenterMixLevel = "ltRtCenterMixLevel" + case lfeControl = "lfeControl" + case dialnorm = "dialnorm" + case dcFilter = "dcFilter" + case ltRtSurroundMixLevel = "ltRtSurroundMixLevel" case bitrate = "bitrate" - case profile = "profile" - case rawFormat = "rawFormat" - case spec = "spec" - case vbrQuality = "vbrQuality" - case inputType = "inputType" - case rateControlMode = "rateControlMode" + case surroundExMode = "surroundExMode" + case metadataControl = "metadataControl" + case drcRf = "drcRf" + case surroundMode = "surroundMode" + case codingMode = "codingMode" + case lfeFilter = "lfeFilter" + case drcLine = "drcLine" + case bitstreamMode = "bitstreamMode" + case passthroughControl = "passthroughControl" + case loRoSurroundMixLevel = "loRoSurroundMixLevel" + case loRoCenterMixLevel = "loRoCenterMixLevel" + case phaseControl = "phaseControl" + case attenuationControl = "attenuationControl" + case stereoDownmix = "stereoDownmix" } } - public struct VideoSelectorPid: AWSShape { + public struct UpdateInputRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Pid", location: .body(locationName: "pid"), required: false, type: .integer) + AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), + AWSShapeMember(label: "InputId", location: .uri(locationName: "inputId"), required: true, type: .string), + AWSShapeMember(label: "Sources", location: .body(locationName: "sources"), required: false, type: .list), + AWSShapeMember(label: "InputSecurityGroups", location: .body(locationName: "inputSecurityGroups"), required: false, type: .list), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string) ] - /// Selects a specific PID from within a video source. - public let pid: Int32? + public let destinations: [InputDestinationRequest]? + public let inputId: String + public let sources: [InputSourceRequest]? + public let inputSecurityGroups: [String]? + public let name: String? - public init(pid: Int32? = nil) { - self.pid = pid + public init(destinations: [InputDestinationRequest]? = nil, inputId: String, sources: [InputSourceRequest]? = nil, inputSecurityGroups: [String]? = nil, name: String? = nil) { + self.destinations = destinations + self.inputId = inputId + self.sources = sources + self.inputSecurityGroups = inputSecurityGroups + self.name = name } private enum CodingKeys: String, CodingKey { - case pid = "pid" + case destinations = "destinations" + case inputId = "inputId" + case sources = "sources" + case inputSecurityGroups = "inputSecurityGroups" + case name = "name" } } - public enum BurnInShadowColor: String, CustomStringConvertible, Codable { - case black = "BLACK" - case none = "NONE" - case white = "WHITE" + public enum AudioDescriptionAudioTypeControl: String, CustomStringConvertible, Codable { + case followInput = "FOLLOW_INPUT" + case useConfigured = "USE_CONFIGURED" public var description: String { return self.rawValue } } - public struct Scte35SpliceInsert: AWSShape { + public enum Ac3LfeFilter: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public struct GlobalConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NoRegionalBlackoutFlag", location: .body(locationName: "noRegionalBlackoutFlag"), required: false, type: .enum), - AWSShapeMember(label: "AdAvailOffset", location: .body(locationName: "adAvailOffset"), required: false, type: .integer), - AWSShapeMember(label: "WebDeliveryAllowedFlag", location: .body(locationName: "webDeliveryAllowedFlag"), required: false, type: .enum) + AWSShapeMember(label: "InputEndAction", location: .body(locationName: "inputEndAction"), required: false, type: .enum), + AWSShapeMember(label: "InputLossBehavior", location: .body(locationName: "inputLossBehavior"), required: false, type: .structure), + AWSShapeMember(label: "SupportLowFramerateInputs", location: .body(locationName: "supportLowFramerateInputs"), required: false, type: .enum), + AWSShapeMember(label: "OutputTimingSource", location: .body(locationName: "outputTimingSource"), required: false, type: .enum), + AWSShapeMember(label: "InitialAudioGain", location: .body(locationName: "initialAudioGain"), required: false, type: .integer) ] - /// When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates - public let noRegionalBlackoutFlag: Scte35SpliceInsertNoRegionalBlackoutBehavior? - /// 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. - public let adAvailOffset: Int32? - /// When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates - public let webDeliveryAllowedFlag: Scte35SpliceInsertWebDeliveryAllowedBehavior? + /// 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"). + public let inputEndAction: GlobalConfigurationInputEndAction? + /// Settings for system actions when input is lost. + public let inputLossBehavior: InputLossBehavior? + /// 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. + public let supportLowFramerateInputs: GlobalConfigurationLowFramerateInputs? + /// 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. + public let outputTimingSource: GlobalConfigurationOutputTimingSource? + /// Value to set the initial audio gain for the Live Event. + public let initialAudioGain: Int32? - public init(noRegionalBlackoutFlag: Scte35SpliceInsertNoRegionalBlackoutBehavior? = nil, adAvailOffset: Int32? = nil, webDeliveryAllowedFlag: Scte35SpliceInsertWebDeliveryAllowedBehavior? = nil) { - self.noRegionalBlackoutFlag = noRegionalBlackoutFlag - self.adAvailOffset = adAvailOffset - self.webDeliveryAllowedFlag = webDeliveryAllowedFlag + public init(inputEndAction: GlobalConfigurationInputEndAction? = nil, inputLossBehavior: InputLossBehavior? = nil, supportLowFramerateInputs: GlobalConfigurationLowFramerateInputs? = nil, outputTimingSource: GlobalConfigurationOutputTimingSource? = nil, initialAudioGain: Int32? = nil) { + self.inputEndAction = inputEndAction + self.inputLossBehavior = inputLossBehavior + self.supportLowFramerateInputs = supportLowFramerateInputs + self.outputTimingSource = outputTimingSource + self.initialAudioGain = initialAudioGain } private enum CodingKeys: String, CodingKey { - case noRegionalBlackoutFlag = "noRegionalBlackoutFlag" - case adAvailOffset = "adAvailOffset" - case webDeliveryAllowedFlag = "webDeliveryAllowedFlag" + case inputEndAction = "inputEndAction" + case inputLossBehavior = "inputLossBehavior" + case supportLowFramerateInputs = "supportLowFramerateInputs" + case outputTimingSource = "outputTimingSource" + case initialAudioGain = "initialAudioGain" } } - public enum HlsDirectoryStructure: String, CustomStringConvertible, Codable { - case singleDirectory = "SINGLE_DIRECTORY" - case subdirectoryPerStream = "SUBDIRECTORY_PER_STREAM" + public enum BurnInAlignment: String, CustomStringConvertible, Codable { + case centered = "CENTERED" + case left = "LEFT" + case smart = "SMART" public var description: String { return self.rawValue } } - public enum HlsManifestDurationFormat: String, CustomStringConvertible, Codable { - case floatingPoint = "FLOATING_POINT" - case integer = "INTEGER" - public var description: String { return self.rawValue } + public struct AribSourceSettings: AWSShape { + } - public enum FecOutputIncludeFec: String, CustomStringConvertible, Codable { - case column = "COLUMN" - case columnAndRow = "COLUMN_AND_ROW" + public enum EmbeddedScte20Detection: String, CustomStringConvertible, Codable { + case auto = "AUTO" + case off = "OFF" public var description: String { return self.rawValue } } - public struct InputWhitelistRule: AWSShape { + public struct RtmpGroupSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Cidr", location: .body(locationName: "cidr"), required: false, type: .string) + AWSShapeMember(label: "CacheLength", location: .body(locationName: "cacheLength"), required: false, type: .integer), + AWSShapeMember(label: "CaptionData", location: .body(locationName: "captionData"), required: false, type: .enum), + AWSShapeMember(label: "AuthenticationScheme", location: .body(locationName: "authenticationScheme"), required: false, type: .enum), + AWSShapeMember(label: "CacheFullBehavior", location: .body(locationName: "cacheFullBehavior"), required: false, type: .enum), + AWSShapeMember(label: "RestartDelay", location: .body(locationName: "restartDelay"), required: false, type: .integer) ] - /// The IPv4 CIDR that's whitelisted. - public let cidr: String? + /// Cache length, in seconds, is used to calculate buffer size. + public let cacheLength: Int32? + /// 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. + public let captionData: RtmpCaptionData? + /// Authentication scheme to use when connecting with CDN + public let authenticationScheme: AuthenticationScheme? + /// 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. + public let cacheFullBehavior: RtmpCacheFullBehavior? + /// If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + public let restartDelay: Int32? - public init(cidr: String? = nil) { - self.cidr = cidr + public init(cacheLength: Int32? = nil, captionData: RtmpCaptionData? = nil, authenticationScheme: AuthenticationScheme? = nil, cacheFullBehavior: RtmpCacheFullBehavior? = nil, restartDelay: Int32? = nil) { + self.cacheLength = cacheLength + self.captionData = captionData + self.authenticationScheme = authenticationScheme + self.cacheFullBehavior = cacheFullBehavior + self.restartDelay = restartDelay } private enum CodingKeys: String, CodingKey { - case cidr = "cidr" + case cacheLength = "cacheLength" + case captionData = "captionData" + case authenticationScheme = "authenticationScheme" + case cacheFullBehavior = "cacheFullBehavior" + case restartDelay = "restartDelay" } } - public enum SmoothGroupStreamManifestBehavior: String, CustomStringConvertible, Codable { - case doNotSend = "DO_NOT_SEND" - case send = "SEND" - public var description: String { return self.rawValue } - } - - public struct Scte27SourceSettings: AWSShape { + public struct AudioPidSelection: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Pid", location: .body(locationName: "pid"), required: false, type: .integer) + AWSShapeMember(label: "Pid", location: .body(locationName: "pid"), required: true, type: .integer) ] - /// The pid field is used in conjunction with the caption selector languageCode field as follows: - /// - Specify PID and Language: Extracts captions from that PID; the language is "informational". - /// - Specify PID and omit Language: Extracts the specified PID. - /// - Omit PID and specify Language: Extracts the specified language, whichever PID that happens to be. - /// - Omit PID and omit Language: Valid only if source is DVB-Sub that is being passed through; all languages will be passed through. - public let pid: Int32? + /// Selects a specific PID from within a source. + public let pid: Int32 - public init(pid: Int32? = nil) { + public init(pid: Int32) { self.pid = pid } @@ -3001,2536 +3666,3193 @@ extension Medialive { } } - public struct DescribeChannelRequest: AWSShape { + public struct Scte27DestinationSettings: AWSShape { + + } + + public enum InputFilter: String, CustomStringConvertible, Codable { + case auto = "AUTO" + case disabled = "DISABLED" + case forced = "FORCED" + public var description: String { return self.rawValue } + } + + public enum Eac3SurroundMode: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + case notIndicated = "NOT_INDICATED" + public var description: String { return self.rawValue } + } + + public enum M2tsKlv: String, CustomStringConvertible, Codable { + case none = "NONE" + case passthrough = "PASSTHROUGH" + public var description: String { return self.rawValue } + } + + public struct Scte20SourceSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ChannelId", location: .uri(locationName: "channelId"), required: true, type: .string) + AWSShapeMember(label: "Source608ChannelNumber", location: .body(locationName: "source608ChannelNumber"), required: false, type: .integer), + AWSShapeMember(label: "Convert608To708", location: .body(locationName: "convert608To708"), required: false, type: .enum) ] - public let channelId: String + /// Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough. + public let source608ChannelNumber: Int32? + /// 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. + public let convert608To708: Scte20Convert608To708? - public init(channelId: String) { - self.channelId = channelId + public init(source608ChannelNumber: Int32? = nil, convert608To708: Scte20Convert608To708? = nil) { + self.source608ChannelNumber = source608ChannelNumber + self.convert608To708 = convert608To708 } private enum CodingKeys: String, CodingKey { - case channelId = "channelId" + case source608ChannelNumber = "source608ChannelNumber" + case convert608To708 = "convert608To708" } } - public struct ListInputSecurityGroupsRequest: AWSShape { + public struct VideoSelector: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + AWSShapeMember(label: "ColorSpace", location: .body(locationName: "colorSpace"), required: false, type: .enum), + AWSShapeMember(label: "ColorSpaceUsage", location: .body(locationName: "colorSpaceUsage"), required: false, type: .enum), + AWSShapeMember(label: "SelectorSettings", location: .body(locationName: "selectorSettings"), required: false, type: .structure) ] - public let nextToken: String? - public let maxResults: Int32? + /// Specifies the colorspace of an input. This setting works in tandem with colorSpaceConversion to determine if any conversion will be performed. + public let colorSpace: VideoSelectorColorSpace? + /// 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. + public let colorSpaceUsage: VideoSelectorColorSpaceUsage? + /// The video selector settings. + public let selectorSettings: VideoSelectorSettings? - public init(nextToken: String? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.maxResults = maxResults + public init(colorSpace: VideoSelectorColorSpace? = nil, colorSpaceUsage: VideoSelectorColorSpaceUsage? = nil, selectorSettings: VideoSelectorSettings? = nil) { + self.colorSpace = colorSpace + self.colorSpaceUsage = colorSpaceUsage + self.selectorSettings = selectorSettings } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case maxResults = "maxResults" + case colorSpace = "colorSpace" + case colorSpaceUsage = "colorSpaceUsage" + case selectorSettings = "selectorSettings" } } - public struct EncoderSettings: AWSShape { + public enum ReservationSpecialFeature: String, CustomStringConvertible, Codable { + case advancedAudio = "ADVANCED_AUDIO" + case audioNormalization = "AUDIO_NORMALIZATION" + public var description: String { return self.rawValue } + } + + public struct InputChannelLevel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "VideoDescriptions", location: .body(locationName: "videoDescriptions"), required: false, type: .list), - AWSShapeMember(label: "BlackoutSlate", location: .body(locationName: "blackoutSlate"), required: false, type: .structure), - AWSShapeMember(label: "OutputGroups", location: .body(locationName: "outputGroups"), required: false, type: .list), - AWSShapeMember(label: "AudioDescriptions", location: .body(locationName: "audioDescriptions"), required: false, type: .list), - AWSShapeMember(label: "GlobalConfiguration", location: .body(locationName: "globalConfiguration"), required: false, type: .structure), - AWSShapeMember(label: "AvailConfiguration", location: .body(locationName: "availConfiguration"), required: false, type: .structure), - AWSShapeMember(label: "CaptionDescriptions", location: .body(locationName: "captionDescriptions"), required: false, type: .list), - AWSShapeMember(label: "AvailBlanking", location: .body(locationName: "availBlanking"), required: false, type: .structure), - AWSShapeMember(label: "TimecodeConfig", location: .body(locationName: "timecodeConfig"), required: false, type: .structure) + AWSShapeMember(label: "InputChannel", location: .body(locationName: "inputChannel"), required: true, type: .integer), + AWSShapeMember(label: "Gain", location: .body(locationName: "gain"), required: true, type: .integer) ] - public let videoDescriptions: [VideoDescription]? - /// Settings for blackout slate. - public let blackoutSlate: BlackoutSlate? - public let outputGroups: [OutputGroup]? - public let audioDescriptions: [AudioDescription]? - /// Configuration settings that apply to the event as a whole. - public let globalConfiguration: GlobalConfiguration? - /// Event-wide configuration settings for ad avail insertion. - public let availConfiguration: AvailConfiguration? - /// Settings for caption decriptions - public let captionDescriptions: [CaptionDescription]? - /// Settings for ad avail blanking. - public let availBlanking: AvailBlanking? - /// Contains settings used to acquire and adjust timecode information from inputs. - public let timecodeConfig: TimecodeConfig? - - public init(videoDescriptions: [VideoDescription]? = nil, blackoutSlate: BlackoutSlate? = nil, outputGroups: [OutputGroup]? = nil, audioDescriptions: [AudioDescription]? = nil, globalConfiguration: GlobalConfiguration? = nil, availConfiguration: AvailConfiguration? = nil, captionDescriptions: [CaptionDescription]? = nil, availBlanking: AvailBlanking? = nil, timecodeConfig: TimecodeConfig? = nil) { - self.videoDescriptions = videoDescriptions - self.blackoutSlate = blackoutSlate - self.outputGroups = outputGroups - self.audioDescriptions = audioDescriptions - self.globalConfiguration = globalConfiguration - self.availConfiguration = availConfiguration - self.captionDescriptions = captionDescriptions - self.availBlanking = availBlanking - self.timecodeConfig = timecodeConfig + /// The index of the input channel used as a source. + public let inputChannel: Int32 + /// Remixing value. Units are in dB and acceptable values are within the range from -60 (mute) and 6 dB. + public let gain: Int32 + + public init(inputChannel: Int32, gain: Int32) { + self.inputChannel = inputChannel + self.gain = gain } private enum CodingKeys: String, CodingKey { - case videoDescriptions = "videoDescriptions" - case blackoutSlate = "blackoutSlate" - case outputGroups = "outputGroups" - case audioDescriptions = "audioDescriptions" - case globalConfiguration = "globalConfiguration" - case availConfiguration = "availConfiguration" - case captionDescriptions = "captionDescriptions" - case availBlanking = "availBlanking" - case timecodeConfig = "timecodeConfig" + case inputChannel = "inputChannel" + case gain = "gain" } } - public enum BlackoutSlateNetworkEndBlackout: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum ChannelState: String, CustomStringConvertible, Codable { + case creating = "CREATING" + case createFailed = "CREATE_FAILED" + case idle = "IDLE" + case starting = "STARTING" + case running = "RUNNING" + case recovering = "RECOVERING" + case stopping = "STOPPING" + case deleting = "DELETING" + case deleted = "DELETED" public var description: String { return self.rawValue } } - public enum Eac3DcFilter: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public struct DvbSubSourceSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Pid", location: .body(locationName: "pid"), required: false, type: .integer) + ] + /// 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. + public let pid: Int32? + + public init(pid: Int32? = nil) { + self.pid = pid + } + + private enum CodingKeys: String, CodingKey { + case pid = "pid" + } + } + + public enum InputSecurityGroupState: String, CustomStringConvertible, Codable { + case idle = "IDLE" + case inUse = "IN_USE" + case updating = "UPDATING" + case deleted = "DELETED" public var description: String { return self.rawValue } } - public enum DvbSubDestinationBackgroundColor: String, CustomStringConvertible, Codable { - case black = "BLACK" + public enum Eac3DrcRf: String, CustomStringConvertible, Codable { + case filmLight = "FILM_LIGHT" + case filmStandard = "FILM_STANDARD" + case musicLight = "MUSIC_LIGHT" + case musicStandard = "MUSIC_STANDARD" case none = "NONE" - case white = "WHITE" + case speech = "SPEECH" public var description: String { return self.rawValue } } - public struct BlackoutSlate: AWSShape { + public struct HlsBasicPutSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NetworkEndBlackout", location: .body(locationName: "networkEndBlackout"), required: false, type: .enum), - AWSShapeMember(label: "NetworkEndBlackoutImage", location: .body(locationName: "networkEndBlackoutImage"), required: false, type: .structure), - AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), - AWSShapeMember(label: "NetworkId", location: .body(locationName: "networkId"), required: false, type: .string), - AWSShapeMember(label: "BlackoutSlateImage", location: .body(locationName: "blackoutSlateImage"), required: false, type: .structure) + AWSShapeMember(label: "ConnectionRetryInterval", location: .body(locationName: "connectionRetryInterval"), required: false, type: .integer), + AWSShapeMember(label: "FilecacheDuration", location: .body(locationName: "filecacheDuration"), required: false, type: .integer), + AWSShapeMember(label: "NumRetries", location: .body(locationName: "numRetries"), required: false, type: .integer), + AWSShapeMember(label: "RestartDelay", location: .body(locationName: "restartDelay"), required: false, type: .integer) ] - /// 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". - public let networkEndBlackout: BlackoutSlateNetworkEndBlackout? - /// Path to local file to use as Network End Blackout image. Image will be scaled to fill the entire output raster. - public let networkEndBlackoutImage: InputLocation? - /// When set to enabled, causes video, audio and captions to be blanked when indicated by program metadata. - public let state: BlackoutSlateState? - /// Provides Network ID that matches EIDR ID format (e.g., "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C"). - public let networkId: String? - /// Blackout slate image to be used. Leave empty for solid black. Only bmp and png images are supported. - public let blackoutSlateImage: InputLocation? + /// Number of seconds to wait before retrying connection to the CDN if the connection is lost. + public let connectionRetryInterval: Int32? + /// Size in seconds of file cache for streaming outputs. + public let filecacheDuration: Int32? + /// Number of retry attempts that will be made before the Live Event is put into an error state. + public let numRetries: Int32? + /// If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + public let restartDelay: Int32? - public init(networkEndBlackout: BlackoutSlateNetworkEndBlackout? = nil, networkEndBlackoutImage: InputLocation? = nil, state: BlackoutSlateState? = nil, networkId: String? = nil, blackoutSlateImage: InputLocation? = nil) { - self.networkEndBlackout = networkEndBlackout - self.networkEndBlackoutImage = networkEndBlackoutImage - self.state = state - self.networkId = networkId - self.blackoutSlateImage = blackoutSlateImage + public init(connectionRetryInterval: Int32? = nil, filecacheDuration: Int32? = nil, numRetries: Int32? = nil, restartDelay: Int32? = nil) { + self.connectionRetryInterval = connectionRetryInterval + self.filecacheDuration = filecacheDuration + self.numRetries = numRetries + self.restartDelay = restartDelay } private enum CodingKeys: String, CodingKey { - case networkEndBlackout = "networkEndBlackout" - case networkEndBlackoutImage = "networkEndBlackoutImage" - case state = "state" - case networkId = "networkId" - case blackoutSlateImage = "blackoutSlateImage" + case connectionRetryInterval = "connectionRetryInterval" + case filecacheDuration = "filecacheDuration" + case numRetries = "numRetries" + case restartDelay = "restartDelay" } } - public enum H264Syntax: String, CustomStringConvertible, Codable { - case `default` = "DEFAULT" - case rp2027 = "RP2027" - public var description: String { return self.rawValue } - } - - public enum HlsCaptionLanguageSetting: String, CustomStringConvertible, Codable { - case insert = "INSERT" + public enum UdpTimedMetadataId3Frame: String, CustomStringConvertible, Codable { case none = "NONE" - case omit = "OMIT" + case priv = "PRIV" + case tdrl = "TDRL" public var description: String { return self.rawValue } } - public struct NetworkInputSettings: AWSShape { + public struct DvbSubDestinationSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ServerValidation", location: .body(locationName: "serverValidation"), required: false, type: .enum), - AWSShapeMember(label: "HlsInputSettings", location: .body(locationName: "hlsInputSettings"), required: false, type: .structure) + AWSShapeMember(label: "BackgroundColor", location: .body(locationName: "backgroundColor"), required: false, type: .enum), + AWSShapeMember(label: "BackgroundOpacity", location: .body(locationName: "backgroundOpacity"), required: false, type: .integer), + AWSShapeMember(label: "YPosition", location: .body(locationName: "yPosition"), required: false, type: .integer), + AWSShapeMember(label: "FontOpacity", location: .body(locationName: "fontOpacity"), required: false, type: .integer), + AWSShapeMember(label: "ShadowXOffset", location: .body(locationName: "shadowXOffset"), required: false, type: .integer), + AWSShapeMember(label: "FontSize", location: .body(locationName: "fontSize"), required: false, type: .string), + AWSShapeMember(label: "Alignment", location: .body(locationName: "alignment"), required: false, type: .enum), + AWSShapeMember(label: "XPosition", location: .body(locationName: "xPosition"), required: false, type: .integer), + AWSShapeMember(label: "ShadowOpacity", location: .body(locationName: "shadowOpacity"), required: false, type: .integer), + AWSShapeMember(label: "FontColor", location: .body(locationName: "fontColor"), required: false, type: .enum), + AWSShapeMember(label: "OutlineColor", location: .body(locationName: "outlineColor"), required: false, type: .enum), + AWSShapeMember(label: "ShadowColor", location: .body(locationName: "shadowColor"), required: false, type: .enum), + AWSShapeMember(label: "ShadowYOffset", location: .body(locationName: "shadowYOffset"), required: false, type: .integer), + AWSShapeMember(label: "FontResolution", location: .body(locationName: "fontResolution"), required: false, type: .integer), + AWSShapeMember(label: "Font", location: .body(locationName: "font"), required: false, type: .structure), + AWSShapeMember(label: "OutlineSize", location: .body(locationName: "outlineSize"), required: false, type: .integer), + AWSShapeMember(label: "TeletextGridControl", location: .body(locationName: "teletextGridControl"), required: false, type: .enum) ] - /// 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. - public let serverValidation: NetworkInputServerValidation? - /// Specifies HLS input settings when the uri is for a HLS manifest. - public let hlsInputSettings: HlsInputSettings? + /// Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match. + public let backgroundColor: DvbSubDestinationBackgroundColor? + /// 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. + public let backgroundOpacity: Int32? + /// 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. + public let yPosition: Int32? + /// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match. + public let fontOpacity: Int32? + /// 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. + public let shadowXOffset: Int32? + /// 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. + public let fontSize: String? + /// 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. + public let alignment: DvbSubDestinationAlignment? + /// 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. + public let xPosition: Int32? + /// 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. + public let shadowOpacity: Int32? + /// 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. + public let fontColor: DvbSubDestinationFontColor? + /// 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. + public let outlineColor: DvbSubDestinationOutlineColor? + /// Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match. + public let shadowColor: DvbSubDestinationShadowColor? + /// 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. + public let shadowYOffset: Int32? + /// Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match. + public let fontResolution: Int32? + /// 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. + public let font: InputLocation? + /// 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. + public let outlineSize: Int32? + /// 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. + public let teletextGridControl: DvbSubDestinationTeletextGridControl? - public init(serverValidation: NetworkInputServerValidation? = nil, hlsInputSettings: HlsInputSettings? = nil) { - self.serverValidation = serverValidation - self.hlsInputSettings = hlsInputSettings + public init(backgroundColor: DvbSubDestinationBackgroundColor? = nil, backgroundOpacity: Int32? = nil, yPosition: Int32? = nil, fontOpacity: Int32? = nil, shadowXOffset: Int32? = nil, fontSize: String? = nil, alignment: DvbSubDestinationAlignment? = nil, xPosition: Int32? = nil, shadowOpacity: Int32? = nil, fontColor: DvbSubDestinationFontColor? = nil, outlineColor: DvbSubDestinationOutlineColor? = nil, shadowColor: DvbSubDestinationShadowColor? = nil, shadowYOffset: Int32? = nil, fontResolution: Int32? = nil, font: InputLocation? = nil, outlineSize: Int32? = nil, teletextGridControl: DvbSubDestinationTeletextGridControl? = nil) { + self.backgroundColor = backgroundColor + self.backgroundOpacity = backgroundOpacity + self.yPosition = yPosition + self.fontOpacity = fontOpacity + self.shadowXOffset = shadowXOffset + self.fontSize = fontSize + self.alignment = alignment + self.xPosition = xPosition + self.shadowOpacity = shadowOpacity + self.fontColor = fontColor + self.outlineColor = outlineColor + self.shadowColor = shadowColor + self.shadowYOffset = shadowYOffset + self.fontResolution = fontResolution + self.font = font + self.outlineSize = outlineSize + self.teletextGridControl = teletextGridControl } private enum CodingKeys: String, CodingKey { - case serverValidation = "serverValidation" - case hlsInputSettings = "hlsInputSettings" + case backgroundColor = "backgroundColor" + case backgroundOpacity = "backgroundOpacity" + case yPosition = "yPosition" + case fontOpacity = "fontOpacity" + case shadowXOffset = "shadowXOffset" + case fontSize = "fontSize" + case alignment = "alignment" + case xPosition = "xPosition" + case shadowOpacity = "shadowOpacity" + case fontColor = "fontColor" + case outlineColor = "outlineColor" + case shadowColor = "shadowColor" + case shadowYOffset = "shadowYOffset" + case fontResolution = "fontResolution" + case font = "font" + case outlineSize = "outlineSize" + case teletextGridControl = "teletextGridControl" } } - public struct AvailBlanking: AWSShape { + public enum Eac3LfeFilter: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public struct AudioOnlyHlsSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), - AWSShapeMember(label: "AvailBlankingImage", location: .body(locationName: "availBlankingImage"), required: false, type: .structure) + AWSShapeMember(label: "AudioTrackType", location: .body(locationName: "audioTrackType"), required: false, type: .enum), + AWSShapeMember(label: "AudioGroupId", location: .body(locationName: "audioGroupId"), required: false, type: .string), + AWSShapeMember(label: "AudioOnlyImage", location: .body(locationName: "audioOnlyImage"), required: false, type: .structure) ] - /// When set to enabled, causes video, audio and captions to be blanked when insertion metadata is added. - public let state: AvailBlankingState? - /// Blanking image to be used. Leave empty for solid black. Only bmp and png images are supported. - public let availBlankingImage: InputLocation? + /// 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 + public let audioTrackType: AudioOnlyHlsTrackType? + /// Specifies the group to which the audio Rendition belongs. + public let audioGroupId: String? + /// 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.}. + public let audioOnlyImage: InputLocation? - public init(state: AvailBlankingState? = nil, availBlankingImage: InputLocation? = nil) { - self.state = state - self.availBlankingImage = availBlankingImage + public init(audioTrackType: AudioOnlyHlsTrackType? = nil, audioGroupId: String? = nil, audioOnlyImage: InputLocation? = nil) { + self.audioTrackType = audioTrackType + self.audioGroupId = audioGroupId + self.audioOnlyImage = audioOnlyImage } private enum CodingKeys: String, CodingKey { - case state = "state" - case availBlankingImage = "availBlankingImage" + case audioTrackType = "audioTrackType" + case audioGroupId = "audioGroupId" + case audioOnlyImage = "audioOnlyImage" } } - public enum InputLossImageType: String, CustomStringConvertible, Codable { - case color = "COLOR" - case slate = "SLATE" + public enum M2tsEbpPlacement: String, CustomStringConvertible, Codable { + case videoAndAudioPids = "VIDEO_AND_AUDIO_PIDS" + case videoPid = "VIDEO_PID" public var description: String { return self.rawValue } } - public struct TimecodeConfig: AWSShape { + public struct ChannelEgressEndpoint: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SyncThreshold", location: .body(locationName: "syncThreshold"), required: false, type: .integer), - AWSShapeMember(label: "Source", location: .body(locationName: "source"), required: false, type: .enum) + AWSShapeMember(label: "SourceIp", location: .body(locationName: "sourceIp"), required: false, type: .string) ] - /// 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. - public let syncThreshold: Int32? - /// Identifies the source for the timecode that will be associated with the events outputs. - /// -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). - /// -System Clock (systemclock): Use the UTC time. - /// -Start at 0 (zerobased): The time of the first frame of the event will be 00:00:00:00. - public let source: TimecodeConfigSource? + /// Public IP of where a channel's output comes from + public let sourceIp: String? - public init(syncThreshold: Int32? = nil, source: TimecodeConfigSource? = nil) { - self.syncThreshold = syncThreshold - self.source = source + public init(sourceIp: String? = nil) { + self.sourceIp = sourceIp } private enum CodingKeys: String, CodingKey { - case syncThreshold = "syncThreshold" - case source = "source" + case sourceIp = "sourceIp" } } - public enum AudioType: String, CustomStringConvertible, Codable { - case cleanEffects = "CLEAN_EFFECTS" - case hearingImpaired = "HEARING_IMPAIRED" - case undefined = "UNDEFINED" - case visualImpairedCommentary = "VISUAL_IMPAIRED_COMMENTARY" + public enum SmoothGroupAudioOnlyTimecodeControl: String, CustomStringConvertible, Codable { + case passthrough = "PASSTHROUGH" + case useConfiguredClock = "USE_CONFIGURED_CLOCK" public var description: String { return self.rawValue } } - public enum H264LookAheadRateControl: String, CustomStringConvertible, Codable { - case high = "HIGH" - case low = "LOW" - case medium = "MEDIUM" - public var description: String { return self.rawValue } + public struct ArchiveGroupSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RolloverInterval", location: .body(locationName: "rolloverInterval"), required: false, type: .integer), + AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: true, type: .structure) + ] + /// Number of seconds to write to archive file before closing and starting a new one. + public let rolloverInterval: Int32? + /// 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. + public let destination: OutputLocationRef + + public init(rolloverInterval: Int32? = nil, destination: OutputLocationRef) { + self.rolloverInterval = rolloverInterval + self.destination = destination + } + + private enum CodingKeys: String, CodingKey { + case rolloverInterval = "rolloverInterval" + case destination = "destination" + } } - public struct InputWhitelistRuleCidr: AWSShape { + public struct StartChannelRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Cidr", location: .body(locationName: "cidr"), required: false, type: .string) + AWSShapeMember(label: "ChannelId", location: .uri(locationName: "channelId"), required: true, type: .string) ] - /// The IPv4 CIDR to whitelist - public let cidr: String? + public let channelId: String - public init(cidr: String? = nil) { - self.cidr = cidr + public init(channelId: String) { + self.channelId = channelId } private enum CodingKeys: String, CodingKey { - case cidr = "cidr" + case channelId = "channelId" } } - public struct InputSecurityGroup: AWSShape { + public enum InputSourceEndBehavior: String, CustomStringConvertible, Codable { + case `continue` = "CONTINUE" + case loop = "LOOP" + public var description: String { return self.rawValue } + } + + public struct DescribeInputResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), + AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), + AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "securityGroups"), required: false, type: .list), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "WhitelistRules", location: .body(locationName: "whitelistRules"), required: false, type: .list) + AWSShapeMember(label: "AttachedChannels", location: .body(locationName: "attachedChannels"), required: false, type: .list), + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "Sources", location: .body(locationName: "sources"), required: false, type: .list), + AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) ] - /// The Id of the Input Security Group - public let id: String? - /// Unique ARN of Input Security Group + public let destinations: [InputDestination]? + public let securityGroups: [String]? public let arn: String? - /// Whitelist rules and their sync status - public let whitelistRules: [InputWhitelistRule]? + public let attachedChannels: [String]? + public let state: InputState? + public let name: String? + public let sources: [InputSource]? + public let `type`: InputType? + public let id: String? - public init(id: String? = nil, arn: String? = nil, whitelistRules: [InputWhitelistRule]? = nil) { - self.id = id + public init(destinations: [InputDestination]? = nil, securityGroups: [String]? = nil, arn: String? = nil, attachedChannels: [String]? = nil, state: InputState? = nil, name: String? = nil, sources: [InputSource]? = nil, type: InputType? = nil, id: String? = nil) { + self.destinations = destinations + self.securityGroups = securityGroups self.arn = arn - self.whitelistRules = whitelistRules + self.attachedChannels = attachedChannels + self.state = state + self.name = name + self.sources = sources + self.`type` = `type` + self.id = id } private enum CodingKeys: String, CodingKey { - case id = "id" + case destinations = "destinations" + case securityGroups = "securityGroups" case arn = "arn" - case whitelistRules = "whitelistRules" + case attachedChannels = "attachedChannels" + case state = "state" + case name = "name" + case sources = "sources" + case `type` = "type" + case id = "id" } } - public struct PassThroughSettings: AWSShape { - - } - - public enum AacProfile: String, CustomStringConvertible, Codable { - case hev1 = "HEV1" - case hev2 = "HEV2" - case lc = "LC" - public var description: String { return self.rawValue } - } + public struct OutputSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MsSmoothOutputSettings", location: .body(locationName: "msSmoothOutputSettings"), required: false, type: .structure), + AWSShapeMember(label: "UdpOutputSettings", location: .body(locationName: "udpOutputSettings"), required: false, type: .structure), + AWSShapeMember(label: "ArchiveOutputSettings", location: .body(locationName: "archiveOutputSettings"), required: false, type: .structure), + AWSShapeMember(label: "HlsOutputSettings", location: .body(locationName: "hlsOutputSettings"), required: false, type: .structure), + AWSShapeMember(label: "RtmpOutputSettings", location: .body(locationName: "rtmpOutputSettings"), required: false, type: .structure) + ] + public let msSmoothOutputSettings: MsSmoothOutputSettings? + public let udpOutputSettings: UdpOutputSettings? + public let archiveOutputSettings: ArchiveOutputSettings? + public let hlsOutputSettings: HlsOutputSettings? + public let rtmpOutputSettings: RtmpOutputSettings? - public enum SmoothGroupSegmentationMode: String, CustomStringConvertible, Codable { - case useInputSegmentation = "USE_INPUT_SEGMENTATION" - case useSegmentDuration = "USE_SEGMENT_DURATION" - public var description: String { return self.rawValue } - } + public init(msSmoothOutputSettings: MsSmoothOutputSettings? = nil, udpOutputSettings: UdpOutputSettings? = nil, archiveOutputSettings: ArchiveOutputSettings? = nil, hlsOutputSettings: HlsOutputSettings? = nil, rtmpOutputSettings: RtmpOutputSettings? = nil) { + self.msSmoothOutputSettings = msSmoothOutputSettings + self.udpOutputSettings = udpOutputSettings + self.archiveOutputSettings = archiveOutputSettings + self.hlsOutputSettings = hlsOutputSettings + self.rtmpOutputSettings = rtmpOutputSettings + } - public enum H264Profile: String, CustomStringConvertible, Codable { - case baseline = "BASELINE" - case high = "HIGH" - case high10Bit = "HIGH_10BIT" - case high422 = "HIGH_422" - case high42210Bit = "HIGH_422_10BIT" - case main = "MAIN" - public var description: String { return self.rawValue } + private enum CodingKeys: String, CodingKey { + case msSmoothOutputSettings = "msSmoothOutputSettings" + case udpOutputSettings = "udpOutputSettings" + case archiveOutputSettings = "archiveOutputSettings" + case hlsOutputSettings = "hlsOutputSettings" + case rtmpOutputSettings = "rtmpOutputSettings" + } } - public enum Eac3BitstreamMode: String, CustomStringConvertible, Codable { - case commentary = "COMMENTARY" - case completeMain = "COMPLETE_MAIN" - case emergency = "EMERGENCY" - case hearingImpaired = "HEARING_IMPAIRED" - case visuallyImpaired = "VISUALLY_IMPAIRED" + public enum BurnInFontColor: String, CustomStringConvertible, Codable { + case black = "BLACK" + case blue = "BLUE" + case green = "GREEN" + case red = "RED" + case white = "WHITE" + case yellow = "YELLOW" public var description: String { return self.rawValue } } - public enum InputState: String, CustomStringConvertible, Codable { - case creating = "CREATING" - case detached = "DETACHED" - case attached = "ATTACHED" - case deleting = "DELETING" - case deleted = "DELETED" + public enum SmoothGroupCertificateMode: String, CustomStringConvertible, Codable { + case selfSigned = "SELF_SIGNED" + case verifyAuthenticity = "VERIFY_AUTHENTICITY" public var description: String { return self.rawValue } } - public enum M2tsCcDescriptor: String, CustomStringConvertible, Codable { + public enum BlackoutSlateState: String, CustomStringConvertible, Codable { case disabled = "DISABLED" case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum M2tsBufferModel: String, CustomStringConvertible, Codable { - case multiplex = "MULTIPLEX" - case none = "NONE" - public var description: String { return self.rawValue } - } - - public enum AfdSignaling: String, CustomStringConvertible, Codable { - case auto = "AUTO" - case fixed = "FIXED" - case none = "NONE" + public enum HlsCodecSpecification: String, CustomStringConvertible, Codable { + case rfc4281 = "RFC_4281" + case rfc6381 = "RFC_6381" public var description: String { return self.rawValue } } - public struct ListChannelsRequest: AWSShape { + public struct ListChannelsResultModel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Channels", location: .body(locationName: "channels"), required: false, type: .list) ] public let nextToken: String? - public let maxResults: Int32? + public let channels: [ChannelSummary]? - public init(nextToken: String? = nil, maxResults: Int32? = nil) { + public init(nextToken: String? = nil, channels: [ChannelSummary]? = nil) { self.nextToken = nextToken - self.maxResults = maxResults + self.channels = channels } private enum CodingKeys: String, CodingKey { case nextToken = "nextToken" - case maxResults = "maxResults" + case channels = "channels" } } - public struct CreateChannel: AWSShape { + public struct HlsWebdavSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConnectionRetryInterval", location: .body(locationName: "connectionRetryInterval"), required: false, type: .integer), + AWSShapeMember(label: "FilecacheDuration", location: .body(locationName: "filecacheDuration"), required: false, type: .integer), + AWSShapeMember(label: "HttpTransferMode", location: .body(locationName: "httpTransferMode"), required: false, type: .enum), + AWSShapeMember(label: "NumRetries", location: .body(locationName: "numRetries"), required: false, type: .integer), + AWSShapeMember(label: "RestartDelay", location: .body(locationName: "restartDelay"), required: false, type: .integer) + ] + /// Number of seconds to wait before retrying connection to the CDN if the connection is lost. + public let connectionRetryInterval: Int32? + /// Size in seconds of file cache for streaming outputs. + public let filecacheDuration: Int32? + /// Specify whether or not to use chunked transfer encoding to WebDAV. + public let httpTransferMode: HlsWebdavHttpTransferMode? + /// Number of retry attempts that will be made before the Live Event is put into an error state. + public let numRetries: Int32? + /// If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + public let restartDelay: Int32? + + public init(connectionRetryInterval: Int32? = nil, filecacheDuration: Int32? = nil, httpTransferMode: HlsWebdavHttpTransferMode? = nil, numRetries: Int32? = nil, restartDelay: Int32? = nil) { + self.connectionRetryInterval = connectionRetryInterval + self.filecacheDuration = filecacheDuration + self.httpTransferMode = httpTransferMode + self.numRetries = numRetries + self.restartDelay = restartDelay + } + + private enum CodingKeys: String, CodingKey { + case connectionRetryInterval = "connectionRetryInterval" + case filecacheDuration = "filecacheDuration" + case httpTransferMode = "httpTransferMode" + case numRetries = "numRetries" + case restartDelay = "restartDelay" + } + } + + public struct MsSmoothOutputSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), - AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "Reserved", location: .body(locationName: "reserved"), required: false, type: .string), - AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), - AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), - AWSShapeMember(label: "RequestId", location: .body(locationName: "requestId"), required: false, type: .string) + AWSShapeMember(label: "NameModifier", location: .body(locationName: "nameModifier"), required: false, type: .string) ] - public let destinations: [OutputDestination]? - /// List of input attachments for channel. - public let inputAttachments: [InputAttachment]? - /// Name of channel. - public let name: String? - /// Reserved for future use. - public let reserved: String? - public let encoderSettings: EncoderSettings? - /// An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. - public let roleArn: String? - /// Unique request ID to be specified. This is needed to prevent retries from - /// creating multiple resources. - public let requestId: String? + /// String concatenated to the end of the destination filename. Required for multiple outputs of the same type. + public let nameModifier: String? - public init(destinations: [OutputDestination]? = nil, inputAttachments: [InputAttachment]? = nil, name: String? = nil, reserved: String? = nil, encoderSettings: EncoderSettings? = nil, roleArn: String? = nil, requestId: String? = nil) { - self.destinations = destinations - self.inputAttachments = inputAttachments - self.name = name - self.reserved = reserved - self.encoderSettings = encoderSettings - self.roleArn = roleArn - self.requestId = requestId + public init(nameModifier: String? = nil) { + self.nameModifier = nameModifier } private enum CodingKeys: String, CodingKey { - case destinations = "destinations" - case inputAttachments = "inputAttachments" - case name = "name" - case reserved = "reserved" - case encoderSettings = "encoderSettings" - case roleArn = "roleArn" - case requestId = "requestId" + case nameModifier = "nameModifier" } } - public struct M3u8Settings: AWSShape { + public enum M2tsEsRateInPes: String, CustomStringConvertible, Codable { + case exclude = "EXCLUDE" + case include = "INCLUDE" + public var description: String { return self.rawValue } + } + + public struct M2tsSettings: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PcrControl", location: .body(locationName: "pcrControl"), required: false, type: .enum), - AWSShapeMember(label: "Scte35Behavior", location: .body(locationName: "scte35Behavior"), required: false, type: .enum), + AWSShapeMember(label: "TimedMetadataPid", location: .body(locationName: "timedMetadataPid"), required: false, type: .string), + AWSShapeMember(label: "KlvDataPids", location: .body(locationName: "klvDataPids"), required: false, type: .string), AWSShapeMember(label: "PatInterval", location: .body(locationName: "patInterval"), required: false, type: .integer), + AWSShapeMember(label: "EsRateInPes", location: .body(locationName: "esRateInPes"), required: false, type: .enum), + AWSShapeMember(label: "AbsentInputAudioBehavior", location: .body(locationName: "absentInputAudioBehavior"), required: false, type: .enum), AWSShapeMember(label: "PmtPid", location: .body(locationName: "pmtPid"), required: false, type: .string), AWSShapeMember(label: "VideoPid", location: .body(locationName: "videoPid"), required: false, type: .string), + AWSShapeMember(label: "EtvSignalPid", location: .body(locationName: "etvSignalPid"), required: false, type: .string), + AWSShapeMember(label: "PcrPid", location: .body(locationName: "pcrPid"), required: false, type: .string), + AWSShapeMember(label: "AribCaptionsPidControl", location: .body(locationName: "aribCaptionsPidControl"), required: false, type: .enum), + AWSShapeMember(label: "Klv", location: .body(locationName: "klv"), required: false, type: .enum), AWSShapeMember(label: "TimedMetadataBehavior", location: .body(locationName: "timedMetadataBehavior"), required: false, type: .enum), + AWSShapeMember(label: "Scte35Control", location: .body(locationName: "scte35Control"), required: false, type: .enum), + AWSShapeMember(label: "DvbTdtSettings", location: .body(locationName: "dvbTdtSettings"), required: false, type: .structure), + AWSShapeMember(label: "RateMode", location: .body(locationName: "rateMode"), required: false, type: .enum), + AWSShapeMember(label: "DvbSdtSettings", location: .body(locationName: "dvbSdtSettings"), required: false, type: .structure), + AWSShapeMember(label: "Scte27Pids", location: .body(locationName: "scte27Pids"), required: false, type: .string), + AWSShapeMember(label: "AudioFramesPerPes", location: .body(locationName: "audioFramesPerPes"), required: false, type: .integer), + AWSShapeMember(label: "BufferModel", location: .body(locationName: "bufferModel"), required: false, type: .enum), + AWSShapeMember(label: "EbpLookaheadMs", location: .body(locationName: "ebpLookaheadMs"), required: false, type: .integer), + AWSShapeMember(label: "AudioStreamType", location: .body(locationName: "audioStreamType"), required: false, type: .enum), + AWSShapeMember(label: "Ebif", location: .body(locationName: "ebif"), required: false, type: .enum), + AWSShapeMember(label: "SegmentationTime", location: .body(locationName: "segmentationTime"), required: false, type: .double), + AWSShapeMember(label: "AudioBufferModel", location: .body(locationName: "audioBufferModel"), required: false, type: .enum), + AWSShapeMember(label: "SegmentationStyle", location: .body(locationName: "segmentationStyle"), required: false, type: .enum), + AWSShapeMember(label: "CcDescriptor", location: .body(locationName: "ccDescriptor"), required: false, type: .enum), + AWSShapeMember(label: "EbpAudioInterval", location: .body(locationName: "ebpAudioInterval"), required: false, type: .enum), + AWSShapeMember(label: "DvbNitSettings", location: .body(locationName: "dvbNitSettings"), required: false, type: .structure), + AWSShapeMember(label: "FragmentTime", location: .body(locationName: "fragmentTime"), required: false, type: .double), AWSShapeMember(label: "ProgramNum", location: .body(locationName: "programNum"), required: false, type: .integer), - AWSShapeMember(label: "PcrPid", location: .body(locationName: "pcrPid"), required: false, type: .string), - AWSShapeMember(label: "Scte35Pid", location: .body(locationName: "scte35Pid"), required: false, type: .string), + AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .integer), AWSShapeMember(label: "PmtInterval", location: .body(locationName: "pmtInterval"), required: false, type: .integer), + AWSShapeMember(label: "Scte35Pid", location: .body(locationName: "scte35Pid"), required: false, type: .string), + AWSShapeMember(label: "DvbTeletextPid", location: .body(locationName: "dvbTeletextPid"), required: false, type: .string), + AWSShapeMember(label: "EbpPlacement", location: .body(locationName: "ebpPlacement"), required: false, type: .enum), + AWSShapeMember(label: "AribCaptionsPid", location: .body(locationName: "aribCaptionsPid"), required: false, type: .string), + AWSShapeMember(label: "SegmentationMarkers", location: .body(locationName: "segmentationMarkers"), required: false, type: .enum), AWSShapeMember(label: "AudioPids", location: .body(locationName: "audioPids"), required: false, type: .string), AWSShapeMember(label: "PcrPeriod", location: .body(locationName: "pcrPeriod"), required: false, type: .integer), AWSShapeMember(label: "EcmPid", location: .body(locationName: "ecmPid"), required: false, type: .string), - AWSShapeMember(label: "AudioFramesPerPes", location: .body(locationName: "audioFramesPerPes"), required: false, type: .integer), - AWSShapeMember(label: "TransportStreamId", location: .body(locationName: "transportStreamId"), required: false, type: .integer) + AWSShapeMember(label: "Arib", location: .body(locationName: "arib"), required: false, type: .enum), + AWSShapeMember(label: "DvbSubPids", location: .body(locationName: "dvbSubPids"), required: false, type: .string), + AWSShapeMember(label: "TransportStreamId", location: .body(locationName: "transportStreamId"), required: false, type: .integer), + AWSShapeMember(label: "EtvPlatformPid", location: .body(locationName: "etvPlatformPid"), required: false, type: .string), + AWSShapeMember(label: "NullPacketBitrate", location: .body(locationName: "nullPacketBitrate"), required: false, type: .double) ] /// 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. - public let pcrControl: M3u8PcrControl? - /// If set to passthrough, passes any SCTE-35 signals from the input source to this output. - public let scte35Behavior: M3u8Scte35Behavior? - /// 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. + public let pcrControl: M2tsPcrControl? + /// 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). + public let timedMetadataPid: String? + /// 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). + public let klvDataPids: String? + /// The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000. public let patInterval: Int32? - /// Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. + /// Include or exclude the ES Rate field in the PES header. + public let esRateInPes: M2tsEsRateInPes? + /// 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. + public let absentInputAudioBehavior: M2tsAbsentInputAudioBehavior? + /// 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). public let pmtPid: String? - /// Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. + /// 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). public let videoPid: String? - /// When set to passthrough, timed metadata is passed through from input to output. - public let timedMetadataBehavior: M3u8TimedMetadataBehavior? + /// 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). + public let etvSignalPid: String? + /// 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). + public let pcrPid: String? + /// 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. + public let aribCaptionsPidControl: M2tsAribCaptionsPidControl? + /// If set to passthrough, passes any KLV data from the input source to this output. + public let klv: M2tsKlv? + /// When set to passthrough, timed metadata will be passed through from input to output. + public let timedMetadataBehavior: M2tsTimedMetadataBehavior? + /// Optionally pass SCTE-35 signals from the input source to this output. + public let scte35Control: M2tsScte35Control? + /// Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. + public let dvbTdtSettings: DvbTdtSettings? + /// 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. + public let rateMode: M2tsRateMode? + /// Inserts DVB Service Description Table (SDT) at the specified table repetition interval. + public let dvbSdtSettings: DvbSdtSettings? + /// 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). + public let scte27Pids: String? + /// The number of audio frames to insert for each PES packet. + public let audioFramesPerPes: Int32? + /// 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. + public let bufferModel: M2tsBufferModel? + /// 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. + public let ebpLookaheadMs: Int32? + /// When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for EAC3. When set to dvb, uses stream type = 0x06. + public let audioStreamType: M2tsAudioStreamType? + /// If set to passthrough, passes any EBIF data from the input source to this output. + public let ebif: M2tsEbifControl? + /// The length in seconds of each segment. Required unless markers is set to None_. + public let segmentationTime: Double? + /// When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to atsc, the ATSC model is used. + public let audioBufferModel: M2tsAudioBufferModel? + /// 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 "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. + /// When 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. + public let segmentationStyle: M2tsSegmentationStyle? + /// When set to enabled, generates captionServiceDescriptor in PMT. + public let ccDescriptor: M2tsCcDescriptor? + /// 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. + public let ebpAudioInterval: M2tsAudioInterval? + /// Inserts DVB Network Information Table (NIT) at the specified table repetition interval. + public let dvbNitSettings: DvbNitSettings? + /// The length in seconds of each fragment. Only used with EBP markers. + public let fragmentTime: Double? /// The value of the program number field in the Program Map Table. public let programNum: Int32? - /// 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. - public let pcrPid: String? - /// Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. - public let scte35Pid: String? - /// 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. + /// The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate. + public let bitrate: Int32? + /// The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000. public let pmtInterval: Int32? - /// 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. + /// 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). + public let scte35Pid: String? + /// 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). + public let dvbTeletextPid: String? + /// 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. + public let ebpPlacement: M2tsEbpPlacement? + /// 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). + public let aribCaptionsPid: String? + /// 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. + public let segmentationMarkers: M2tsSegmentationMarkers? + /// 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). public let audioPids: String? - /// Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream. + /// Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream. public let pcrPeriod: Int32? - /// ThePlatform-protected transport streams using 'microsoft' as Target Client include an ECM stream. This ECM stream contains the size, IV, and PTS of every sample in the transport stream. This stream PID is specified here. This PID has no effect on non ThePlatform-protected streams. + /// This field is unused and deprecated. public let ecmPid: String? - /// The number of audio frames to insert for each PES packet. - public let audioFramesPerPes: Int32? + /// When set to enabled, uses ARIB-compliant field muxing and removes video descriptor. + public let arib: M2tsArib? + /// 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). + public let dvbSubPids: String? /// The value of the transport stream ID field in the Program Map Table. public let transportStreamId: Int32? + /// 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). + public let etvPlatformPid: String? + /// 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. + public let nullPacketBitrate: Double? - public init(pcrControl: M3u8PcrControl? = nil, scte35Behavior: M3u8Scte35Behavior? = nil, patInterval: Int32? = nil, pmtPid: String? = nil, videoPid: String? = nil, timedMetadataBehavior: M3u8TimedMetadataBehavior? = nil, programNum: Int32? = nil, pcrPid: String? = nil, scte35Pid: String? = nil, pmtInterval: Int32? = nil, audioPids: String? = nil, pcrPeriod: Int32? = nil, ecmPid: String? = nil, audioFramesPerPes: Int32? = nil, transportStreamId: Int32? = nil) { + public init(pcrControl: M2tsPcrControl? = nil, timedMetadataPid: String? = nil, klvDataPids: String? = nil, patInterval: Int32? = nil, esRateInPes: M2tsEsRateInPes? = nil, absentInputAudioBehavior: M2tsAbsentInputAudioBehavior? = nil, pmtPid: String? = nil, videoPid: String? = nil, etvSignalPid: String? = nil, pcrPid: String? = nil, aribCaptionsPidControl: M2tsAribCaptionsPidControl? = nil, klv: M2tsKlv? = nil, timedMetadataBehavior: M2tsTimedMetadataBehavior? = nil, scte35Control: M2tsScte35Control? = nil, dvbTdtSettings: DvbTdtSettings? = nil, rateMode: M2tsRateMode? = nil, dvbSdtSettings: DvbSdtSettings? = nil, scte27Pids: String? = nil, audioFramesPerPes: Int32? = nil, bufferModel: M2tsBufferModel? = nil, ebpLookaheadMs: Int32? = nil, audioStreamType: M2tsAudioStreamType? = nil, ebif: M2tsEbifControl? = nil, segmentationTime: Double? = nil, audioBufferModel: M2tsAudioBufferModel? = nil, segmentationStyle: M2tsSegmentationStyle? = nil, ccDescriptor: M2tsCcDescriptor? = nil, ebpAudioInterval: M2tsAudioInterval? = nil, dvbNitSettings: DvbNitSettings? = nil, fragmentTime: Double? = nil, programNum: Int32? = nil, bitrate: Int32? = nil, pmtInterval: Int32? = nil, scte35Pid: String? = nil, dvbTeletextPid: String? = nil, ebpPlacement: M2tsEbpPlacement? = nil, aribCaptionsPid: String? = nil, segmentationMarkers: M2tsSegmentationMarkers? = nil, audioPids: String? = nil, pcrPeriod: Int32? = nil, ecmPid: String? = nil, arib: M2tsArib? = nil, dvbSubPids: String? = nil, transportStreamId: Int32? = nil, etvPlatformPid: String? = nil, nullPacketBitrate: Double? = nil) { self.pcrControl = pcrControl - self.scte35Behavior = scte35Behavior + self.timedMetadataPid = timedMetadataPid + self.klvDataPids = klvDataPids self.patInterval = patInterval + self.esRateInPes = esRateInPes + self.absentInputAudioBehavior = absentInputAudioBehavior self.pmtPid = pmtPid self.videoPid = videoPid + self.etvSignalPid = etvSignalPid + self.pcrPid = pcrPid + self.aribCaptionsPidControl = aribCaptionsPidControl + self.klv = klv self.timedMetadataBehavior = timedMetadataBehavior + self.scte35Control = scte35Control + self.dvbTdtSettings = dvbTdtSettings + self.rateMode = rateMode + self.dvbSdtSettings = dvbSdtSettings + self.scte27Pids = scte27Pids + self.audioFramesPerPes = audioFramesPerPes + self.bufferModel = bufferModel + self.ebpLookaheadMs = ebpLookaheadMs + self.audioStreamType = audioStreamType + self.ebif = ebif + self.segmentationTime = segmentationTime + self.audioBufferModel = audioBufferModel + self.segmentationStyle = segmentationStyle + self.ccDescriptor = ccDescriptor + self.ebpAudioInterval = ebpAudioInterval + self.dvbNitSettings = dvbNitSettings + self.fragmentTime = fragmentTime self.programNum = programNum - self.pcrPid = pcrPid - self.scte35Pid = scte35Pid + self.bitrate = bitrate self.pmtInterval = pmtInterval + self.scte35Pid = scte35Pid + self.dvbTeletextPid = dvbTeletextPid + self.ebpPlacement = ebpPlacement + self.aribCaptionsPid = aribCaptionsPid + self.segmentationMarkers = segmentationMarkers self.audioPids = audioPids self.pcrPeriod = pcrPeriod self.ecmPid = ecmPid - self.audioFramesPerPes = audioFramesPerPes + self.arib = arib + self.dvbSubPids = dvbSubPids self.transportStreamId = transportStreamId + self.etvPlatformPid = etvPlatformPid + self.nullPacketBitrate = nullPacketBitrate } private enum CodingKeys: String, CodingKey { case pcrControl = "pcrControl" - case scte35Behavior = "scte35Behavior" + case timedMetadataPid = "timedMetadataPid" + case klvDataPids = "klvDataPids" case patInterval = "patInterval" + case esRateInPes = "esRateInPes" + case absentInputAudioBehavior = "absentInputAudioBehavior" case pmtPid = "pmtPid" case videoPid = "videoPid" + case etvSignalPid = "etvSignalPid" + case pcrPid = "pcrPid" + case aribCaptionsPidControl = "aribCaptionsPidControl" + case klv = "klv" case timedMetadataBehavior = "timedMetadataBehavior" + case scte35Control = "scte35Control" + case dvbTdtSettings = "dvbTdtSettings" + case rateMode = "rateMode" + case dvbSdtSettings = "dvbSdtSettings" + case scte27Pids = "scte27Pids" + case audioFramesPerPes = "audioFramesPerPes" + case bufferModel = "bufferModel" + case ebpLookaheadMs = "ebpLookaheadMs" + case audioStreamType = "audioStreamType" + case ebif = "ebif" + case segmentationTime = "segmentationTime" + case audioBufferModel = "audioBufferModel" + case segmentationStyle = "segmentationStyle" + case ccDescriptor = "ccDescriptor" + case ebpAudioInterval = "ebpAudioInterval" + case dvbNitSettings = "dvbNitSettings" + case fragmentTime = "fragmentTime" case programNum = "programNum" - case pcrPid = "pcrPid" - case scte35Pid = "scte35Pid" + case bitrate = "bitrate" case pmtInterval = "pmtInterval" + case scte35Pid = "scte35Pid" + case dvbTeletextPid = "dvbTeletextPid" + case ebpPlacement = "ebpPlacement" + case aribCaptionsPid = "aribCaptionsPid" + case segmentationMarkers = "segmentationMarkers" case audioPids = "audioPids" case pcrPeriod = "pcrPeriod" case ecmPid = "ecmPid" - case audioFramesPerPes = "audioFramesPerPes" + case arib = "arib" + case dvbSubPids = "dvbSubPids" case transportStreamId = "transportStreamId" + case etvPlatformPid = "etvPlatformPid" + case nullPacketBitrate = "nullPacketBitrate" } } - public enum HlsIvInManifest: String, CustomStringConvertible, Codable { - case exclude = "EXCLUDE" - case include = "INCLUDE" + public enum Eac3PassthroughControl: String, CustomStringConvertible, Codable { + case noPassthrough = "NO_PASSTHROUGH" + case whenPossible = "WHEN_POSSIBLE" public var description: String { return self.rawValue } } - public struct ChannelConfigurationValidationError: AWSShape { + public struct VideoCodecSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ValidationErrors", location: .body(locationName: "validationErrors"), required: false, type: .list), - AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) + AWSShapeMember(label: "H264Settings", location: .body(locationName: "h264Settings"), required: false, type: .structure) ] - /// A collection of validation error responses from attempting to create a channel with a bouquet of settings. - public let validationErrors: [ValidationError]? - public let message: String? + public let h264Settings: H264Settings? - public init(validationErrors: [ValidationError]? = nil, message: String? = nil) { - self.validationErrors = validationErrors - self.message = message + public init(h264Settings: H264Settings? = nil) { + self.h264Settings = h264Settings } private enum CodingKeys: String, CodingKey { - case validationErrors = "validationErrors" - case message = "message" + case h264Settings = "h264Settings" } } - public struct InvalidRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) - ] - public let message: String? - - public init(message: String? = nil) { - self.message = message - } + public enum OfferingDurationUnits: String, CustomStringConvertible, Codable { + case months = "MONTHS" + public var description: String { return self.rawValue } + } - private enum CodingKeys: String, CodingKey { - case message = "message" - } + public enum AudioOnlyHlsTrackType: String, CustomStringConvertible, Codable { + case alternateAudioAutoSelect = "ALTERNATE_AUDIO_AUTO_SELECT" + case alternateAudioAutoSelectDefault = "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT" + case alternateAudioNotAutoSelect = "ALTERNATE_AUDIO_NOT_AUTO_SELECT" + case audioOnlyVariantStream = "AUDIO_ONLY_VARIANT_STREAM" + public var description: String { return self.rawValue } } - public struct AudioChannelMapping: AWSShape { + public struct Reservation: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InputChannelLevels", location: .body(locationName: "inputChannelLevels"), required: false, type: .list), - AWSShapeMember(label: "OutputChannel", location: .body(locationName: "outputChannel"), required: false, type: .integer) + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "OfferingId", location: .body(locationName: "offeringId"), required: false, type: .string), + AWSShapeMember(label: "UsagePrice", location: .body(locationName: "usagePrice"), required: false, type: .double), + AWSShapeMember(label: "Region", location: .body(locationName: "region"), required: false, type: .string), + AWSShapeMember(label: "Count", location: .body(locationName: "count"), required: false, type: .integer), + AWSShapeMember(label: "OfferingType", location: .body(locationName: "offeringType"), required: false, type: .enum), + AWSShapeMember(label: "ResourceSpecification", location: .body(locationName: "resourceSpecification"), required: false, type: .structure), + AWSShapeMember(label: "ReservationId", location: .body(locationName: "reservationId"), required: false, type: .string), + AWSShapeMember(label: "OfferingDescription", location: .body(locationName: "offeringDescription"), required: false, type: .string), + AWSShapeMember(label: "Start", location: .body(locationName: "start"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "End", location: .body(locationName: "end"), required: false, type: .string), + AWSShapeMember(label: "CurrencyCode", location: .body(locationName: "currencyCode"), required: false, type: .string), + AWSShapeMember(label: "DurationUnits", location: .body(locationName: "durationUnits"), required: false, type: .enum), + AWSShapeMember(label: "Duration", location: .body(locationName: "duration"), required: false, type: .integer), + AWSShapeMember(label: "FixedPrice", location: .body(locationName: "fixedPrice"), required: false, type: .double) ] - /// Indices and gain values for each input channel that should be remixed into this output channel. - public let inputChannelLevels: [InputChannelLevel]? - /// The index of the output channel being produced. - public let outputChannel: Int32? - - public init(inputChannelLevels: [InputChannelLevel]? = nil, outputChannel: Int32? = nil) { - self.inputChannelLevels = inputChannelLevels - self.outputChannel = outputChannel + /// Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567' + public let arn: String? + /// Current state of reservation, e.g. 'ACTIVE' + public let state: ReservationState? + /// Unique offering ID, e.g. '87654321' + public let offeringId: String? + /// Recurring usage charge for each reserved resource, e.g. '157.0' + public let usagePrice: Double? + /// AWS region, e.g. 'us-west-2' + public let region: String? + /// Number of reserved resources + public let count: Int32? + /// Offering type, e.g. 'NO_UPFRONT' + public let offeringType: OfferingType? + /// Resource configuration details + public let resourceSpecification: ReservationResourceSpecification? + /// Unique reservation ID, e.g. '1234567' + public let reservationId: String? + /// Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' + public let offeringDescription: String? + /// Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00' + public let start: String? + /// User specified reservation name + public let name: String? + /// Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00' + public let end: String? + /// Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' + public let currencyCode: String? + /// Units for duration, e.g. 'MONTHS' + public let durationUnits: OfferingDurationUnits? + /// Lease duration, e.g. '12' + public let duration: Int32? + /// One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering + public let fixedPrice: Double? + + public init(arn: String? = nil, state: ReservationState? = nil, offeringId: String? = nil, usagePrice: Double? = nil, region: String? = nil, count: Int32? = nil, offeringType: OfferingType? = nil, resourceSpecification: ReservationResourceSpecification? = nil, reservationId: String? = nil, offeringDescription: String? = nil, start: String? = nil, name: String? = nil, end: String? = nil, currencyCode: String? = nil, durationUnits: OfferingDurationUnits? = nil, duration: Int32? = nil, fixedPrice: Double? = nil) { + self.arn = arn + self.state = state + self.offeringId = offeringId + self.usagePrice = usagePrice + self.region = region + self.count = count + self.offeringType = offeringType + self.resourceSpecification = resourceSpecification + self.reservationId = reservationId + self.offeringDescription = offeringDescription + self.start = start + self.name = name + self.end = end + self.currencyCode = currencyCode + self.durationUnits = durationUnits + self.duration = duration + self.fixedPrice = fixedPrice } private enum CodingKeys: String, CodingKey { - case inputChannelLevels = "inputChannelLevels" - case outputChannel = "outputChannel" + case arn = "arn" + case state = "state" + case offeringId = "offeringId" + case usagePrice = "usagePrice" + case region = "region" + case count = "count" + case offeringType = "offeringType" + case resourceSpecification = "resourceSpecification" + case reservationId = "reservationId" + case offeringDescription = "offeringDescription" + case start = "start" + case name = "name" + case end = "end" + case currencyCode = "currencyCode" + case durationUnits = "durationUnits" + case duration = "duration" + case fixedPrice = "fixedPrice" } } - public enum BurnInBackgroundColor: String, CustomStringConvertible, Codable { - case black = "BLACK" - case none = "NONE" - case white = "WHITE" - public var description: String { return self.rawValue } - } - - public enum Scte35AposWebDeliveryAllowedBehavior: String, CustomStringConvertible, Codable { - case follow = "FOLLOW" - case ignore = "IGNORE" - public var description: String { return self.rawValue } - } + public struct RtmpCaptionInfoDestinationSettings: AWSShape { - public enum DvbSdtOutputSdt: String, CustomStringConvertible, Codable { - case sdtFollow = "SDT_FOLLOW" - case sdtFollowIfPresent = "SDT_FOLLOW_IF_PRESENT" - case sdtManual = "SDT_MANUAL" - case sdtNone = "SDT_NONE" - public var description: String { return self.rawValue } } - public enum HlsEncryptionType: String, CustomStringConvertible, Codable { - case aes128 = "AES128" - case sampleAes = "SAMPLE_AES" + public enum ReservationState: String, CustomStringConvertible, Codable { + case active = "ACTIVE" + case expired = "EXPIRED" + case canceled = "CANCELED" + case deleted = "DELETED" public var description: String { return self.rawValue } } - public enum Eac3DrcLine: String, CustomStringConvertible, Codable { - case filmLight = "FILM_LIGHT" - case filmStandard = "FILM_STANDARD" - case musicLight = "MUSIC_LIGHT" - case musicStandard = "MUSIC_STANDARD" - case none = "NONE" - case speech = "SPEECH" + public enum M2tsAribCaptionsPidControl: String, CustomStringConvertible, Codable { + case auto = "AUTO" + case useConfigured = "USE_CONFIGURED" public var description: String { return self.rawValue } } - public struct DeleteInputSecurityGroupResponse: AWSShape { + public struct InputDestination: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Ip", location: .body(locationName: "ip"), required: false, type: .string), + AWSShapeMember(label: "Port", location: .body(locationName: "port"), required: false, type: .string), + AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string) + ] + /// The system-generated static IP address of endpoint. + /// It remains fixed for the lifetime of the input. + public let ip: String? + /// The port number for the input. + public let port: String? + /// This represents the endpoint that the customer stream will be + /// pushed to. + public let url: String? - } + public init(ip: String? = nil, port: String? = nil, url: String? = nil) { + self.ip = ip + self.port = port + self.url = url + } - public enum BurnInOutlineColor: String, CustomStringConvertible, Codable { - case black = "BLACK" - case blue = "BLUE" - case green = "GREEN" - case red = "RED" - case white = "WHITE" - case yellow = "YELLOW" - public var description: String { return self.rawValue } + private enum CodingKeys: String, CodingKey { + case ip = "ip" + case port = "port" + case url = "url" + } } - public enum Eac3LfeControl: String, CustomStringConvertible, Codable { - case lfe = "LFE" - case noLfe = "NO_LFE" - public var description: String { return self.rawValue } - } + public struct KeyProviderSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StaticKeySettings", location: .body(locationName: "staticKeySettings"), required: false, type: .structure) + ] + public let staticKeySettings: StaticKeySettings? - public enum H264AdaptiveQuantization: String, CustomStringConvertible, Codable { - case high = "HIGH" - case higher = "HIGHER" - case low = "LOW" - case max = "MAX" - case medium = "MEDIUM" - case off = "OFF" - public var description: String { return self.rawValue } - } + public init(staticKeySettings: StaticKeySettings? = nil) { + self.staticKeySettings = staticKeySettings + } - public enum HlsClientCache: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } + private enum CodingKeys: String, CodingKey { + case staticKeySettings = "staticKeySettings" + } } - public struct CreateChannelResponse: AWSShape { + public struct CaptionSelector: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Channel", location: .body(locationName: "channel"), required: false, type: .structure) + AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "SelectorSettings", location: .body(locationName: "selectorSettings"), required: false, type: .structure) ] - public let channel: Channel? + /// When specified this field indicates the three letter language code of the caption track to extract from the source. + public let languageCode: String? + /// 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. + public let name: String + /// Caption selector settings. + public let selectorSettings: CaptionSelectorSettings? - public init(channel: Channel? = nil) { - self.channel = channel + public init(languageCode: String? = nil, name: String, selectorSettings: CaptionSelectorSettings? = nil) { + self.languageCode = languageCode + self.name = name + self.selectorSettings = selectorSettings } private enum CodingKeys: String, CodingKey { - case channel = "channel" + case languageCode = "languageCode" + case name = "name" + case selectorSettings = "selectorSettings" } } - public struct Channel: AWSShape { + public enum M3u8PcrControl: String, CustomStringConvertible, Codable { + case configuredPcrPeriod = "CONFIGURED_PCR_PERIOD" + case pcrEveryPesPacket = "PCR_EVERY_PES_PACKET" + public var description: String { return self.rawValue } + } + + public struct UdpGroupSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), - AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), - AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "EgressEndpoints", location: .body(locationName: "egressEndpoints"), required: false, type: .list), - AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), - AWSShapeMember(label: "PipelinesRunningCount", location: .body(locationName: "pipelinesRunningCount"), required: false, type: .integer), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + AWSShapeMember(label: "TimedMetadataId3Frame", location: .body(locationName: "timedMetadataId3Frame"), required: false, type: .enum), + AWSShapeMember(label: "TimedMetadataId3Period", location: .body(locationName: "timedMetadataId3Period"), required: false, type: .integer), + AWSShapeMember(label: "InputLossAction", location: .body(locationName: "inputLossAction"), required: false, type: .enum) ] - /// A list of destinations of the channel. For UDP outputs, there is one - /// destination per output. For other types (HLS, for example), there is - /// one destination per packager. - public let destinations: [OutputDestination]? - /// The unique arn of the channel. - public let arn: String? - /// List of input attachments for channel. - public let inputAttachments: [InputAttachment]? - public let state: ChannelState? - public let encoderSettings: EncoderSettings? - /// The name of the channel. (user-mutable) - public let name: String? - /// The endpoints where outgoing connections initiate from - public let egressEndpoints: [ChannelEgressEndpoint]? - /// The Amazon Resource Name (ARN) of the role assumed when running the Channel. - public let roleArn: String? - /// The number of currently healthy pipelines. - public let pipelinesRunningCount: Int32? - /// The unique id of the channel. - public let id: String? + /// Indicates ID3 frame that has the timecode. + public let timedMetadataId3Frame: UdpTimedMetadataId3Frame? + /// Timed Metadata interval in seconds. + public let timedMetadataId3Period: Int32? + /// 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. + public let inputLossAction: InputLossActionForUdpOut? - public init(destinations: [OutputDestination]? = nil, arn: String? = nil, inputAttachments: [InputAttachment]? = nil, state: ChannelState? = nil, encoderSettings: EncoderSettings? = nil, name: String? = nil, egressEndpoints: [ChannelEgressEndpoint]? = nil, roleArn: String? = nil, pipelinesRunningCount: Int32? = nil, id: String? = nil) { - self.destinations = destinations - self.arn = arn - self.inputAttachments = inputAttachments - self.state = state - self.encoderSettings = encoderSettings - self.name = name - self.egressEndpoints = egressEndpoints - self.roleArn = roleArn - self.pipelinesRunningCount = pipelinesRunningCount - self.id = id + public init(timedMetadataId3Frame: UdpTimedMetadataId3Frame? = nil, timedMetadataId3Period: Int32? = nil, inputLossAction: InputLossActionForUdpOut? = nil) { + self.timedMetadataId3Frame = timedMetadataId3Frame + self.timedMetadataId3Period = timedMetadataId3Period + self.inputLossAction = inputLossAction } - private enum CodingKeys: String, CodingKey { - case destinations = "destinations" - case arn = "arn" - case inputAttachments = "inputAttachments" - case state = "state" - case encoderSettings = "encoderSettings" - case name = "name" - case egressEndpoints = "egressEndpoints" - case roleArn = "roleArn" - case pipelinesRunningCount = "pipelinesRunningCount" - case id = "id" + private enum CodingKeys: String, CodingKey { + case timedMetadataId3Frame = "timedMetadataId3Frame" + case timedMetadataId3Period = "timedMetadataId3Period" + case inputLossAction = "inputLossAction" } } - public enum InputType: String, CustomStringConvertible, Codable { - case udpPush = "UDP_PUSH" - case rtpPush = "RTP_PUSH" - case rtmpPush = "RTMP_PUSH" - case rtmpPull = "RTMP_PULL" - case urlPull = "URL_PULL" + public enum SmoothGroupEventStopBehavior: String, CustomStringConvertible, Codable { + case none = "NONE" + case sendEos = "SEND_EOS" public var description: String { return self.rawValue } } - public struct StopChannelRequest: AWSShape { + public struct DescribeOfferingResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ChannelId", location: .uri(locationName: "channelId"), required: true, type: .string) + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "OfferingDescription", location: .body(locationName: "offeringDescription"), required: false, type: .string), + AWSShapeMember(label: "UsagePrice", location: .body(locationName: "usagePrice"), required: false, type: .double), + AWSShapeMember(label: "Region", location: .body(locationName: "region"), required: false, type: .string), + AWSShapeMember(label: "OfferingId", location: .body(locationName: "offeringId"), required: false, type: .string), + AWSShapeMember(label: "CurrencyCode", location: .body(locationName: "currencyCode"), required: false, type: .string), + AWSShapeMember(label: "DurationUnits", location: .body(locationName: "durationUnits"), required: false, type: .enum), + AWSShapeMember(label: "Duration", location: .body(locationName: "duration"), required: false, type: .integer), + AWSShapeMember(label: "OfferingType", location: .body(locationName: "offeringType"), required: false, type: .enum), + AWSShapeMember(label: "FixedPrice", location: .body(locationName: "fixedPrice"), required: false, type: .double), + AWSShapeMember(label: "ResourceSpecification", location: .body(locationName: "resourceSpecification"), required: false, type: .structure) ] - public let channelId: String - - public init(channelId: String) { - self.channelId = channelId + public let arn: String? + public let offeringDescription: String? + public let usagePrice: Double? + public let region: String? + public let offeringId: String? + public let currencyCode: String? + public let durationUnits: OfferingDurationUnits? + public let duration: Int32? + public let offeringType: OfferingType? + public let fixedPrice: Double? + public let resourceSpecification: ReservationResourceSpecification? + + public init(arn: String? = nil, offeringDescription: String? = nil, usagePrice: Double? = nil, region: String? = nil, offeringId: String? = nil, currencyCode: String? = nil, durationUnits: OfferingDurationUnits? = nil, duration: Int32? = nil, offeringType: OfferingType? = nil, fixedPrice: Double? = nil, resourceSpecification: ReservationResourceSpecification? = nil) { + self.arn = arn + self.offeringDescription = offeringDescription + self.usagePrice = usagePrice + self.region = region + self.offeringId = offeringId + self.currencyCode = currencyCode + self.durationUnits = durationUnits + self.duration = duration + self.offeringType = offeringType + self.fixedPrice = fixedPrice + self.resourceSpecification = resourceSpecification } private enum CodingKeys: String, CodingKey { - case channelId = "channelId" + case arn = "arn" + case offeringDescription = "offeringDescription" + case usagePrice = "usagePrice" + case region = "region" + case offeringId = "offeringId" + case currencyCode = "currencyCode" + case durationUnits = "durationUnits" + case duration = "duration" + case offeringType = "offeringType" + case fixedPrice = "fixedPrice" + case resourceSpecification = "resourceSpecification" } } - public struct Ac3Settings: AWSShape { + public struct MsSmoothGroupSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: false, type: .enum), - AWSShapeMember(label: "DrcProfile", location: .body(locationName: "drcProfile"), required: false, type: .enum), - AWSShapeMember(label: "LfeFilter", location: .body(locationName: "lfeFilter"), required: false, type: .enum), - AWSShapeMember(label: "BitstreamMode", location: .body(locationName: "bitstreamMode"), required: false, type: .enum), - AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .double), - AWSShapeMember(label: "MetadataControl", location: .body(locationName: "metadataControl"), required: false, type: .enum), - AWSShapeMember(label: "Dialnorm", location: .body(locationName: "dialnorm"), required: false, type: .integer) + AWSShapeMember(label: "AcquisitionPointId", location: .body(locationName: "acquisitionPointId"), required: false, type: .string), + AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: true, type: .structure), + AWSShapeMember(label: "EventIdMode", location: .body(locationName: "eventIdMode"), required: false, type: .enum), + AWSShapeMember(label: "RestartDelay", location: .body(locationName: "restartDelay"), required: false, type: .integer), + AWSShapeMember(label: "TimestampOffsetMode", location: .body(locationName: "timestampOffsetMode"), required: false, type: .enum), + AWSShapeMember(label: "CertificateMode", location: .body(locationName: "certificateMode"), required: false, type: .enum), + AWSShapeMember(label: "EventStopBehavior", location: .body(locationName: "eventStopBehavior"), required: false, type: .enum), + AWSShapeMember(label: "ConnectionRetryInterval", location: .body(locationName: "connectionRetryInterval"), required: false, type: .integer), + AWSShapeMember(label: "FragmentLength", location: .body(locationName: "fragmentLength"), required: false, type: .integer), + AWSShapeMember(label: "SegmentationMode", location: .body(locationName: "segmentationMode"), required: false, type: .enum), + AWSShapeMember(label: "InputLossAction", location: .body(locationName: "inputLossAction"), required: false, type: .enum), + AWSShapeMember(label: "EventId", location: .body(locationName: "eventId"), required: false, type: .string), + AWSShapeMember(label: "FilecacheDuration", location: .body(locationName: "filecacheDuration"), required: false, type: .integer), + AWSShapeMember(label: "AudioOnlyTimecodeControl", location: .body(locationName: "audioOnlyTimecodeControl"), required: false, type: .enum), + AWSShapeMember(label: "SparseTrackType", location: .body(locationName: "sparseTrackType"), required: false, type: .enum), + AWSShapeMember(label: "SendDelayMs", location: .body(locationName: "sendDelayMs"), required: false, type: .integer), + AWSShapeMember(label: "StreamManifestBehavior", location: .body(locationName: "streamManifestBehavior"), required: false, type: .enum), + AWSShapeMember(label: "TimestampOffset", location: .body(locationName: "timestampOffset"), required: false, type: .string), + AWSShapeMember(label: "NumRetries", location: .body(locationName: "numRetries"), required: false, type: .integer) ] - /// Dolby Digital coding mode. Determines number of channels. - public let codingMode: Ac3CodingMode? - /// If set to filmStandard, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification. - public let drcProfile: Ac3DrcProfile? - /// When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid in codingMode32Lfe mode. - public let lfeFilter: Ac3LfeFilter? - /// Specifies the bitstream mode (bsmod) for the emitted AC-3 stream. See ATSC A/52-2012 for background on these values. - public let bitstreamMode: Ac3BitstreamMode? - /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. - public let bitrate: Double? - /// 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. - public let metadataControl: Ac3MetadataControl? - /// Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, dialnorm will be passed through. - public let dialnorm: Int32? + /// The value of the "Acquisition Point Identity" element used in each message placed in the sparse track. Only enabled if sparseTrackType is not "none". + public let acquisitionPointId: String? + /// Smooth Streaming publish point on an IIS server. Elemental Live acts as a "Push" encoder to IIS. + public let destination: OutputLocationRef + /// 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. + /// Options: + /// - "useConfigured" - use the value provided in eventId + /// - "useTimestamp" - generate and send an event ID based on the current timestamp + /// - "noEventId" - do not send an event ID to the IIS server. + public let eventIdMode: SmoothGroupEventIdMode? + /// Number of seconds before initiating a restart due to output failure, due to exhausting the numRetries on one segment, or exceeding filecacheDuration. + public let restartDelay: Int32? + /// Type of timestamp date offset to use. + /// - useEventStartDate: Use the date the event was started as the offset + /// - useConfiguredOffset: Use an explicitly configured date as the offset + public let timestampOffsetMode: SmoothGroupTimestampOffsetMode? + /// 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. + public let certificateMode: SmoothGroupCertificateMode? + /// When set to sendEos, send EOS signal to IIS server when stopping the event + public let eventStopBehavior: SmoothGroupEventStopBehavior? + /// 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. + public let connectionRetryInterval: Int32? + /// Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate. + public let fragmentLength: Int32? + /// When set to useInputSegmentation, the output segment or fragment points are set by the RAI markers from the input streams. + public let segmentationMode: SmoothGroupSegmentationMode? + /// Parameter that control output group behavior on input loss. + public let inputLossAction: InputLossActionForMsSmoothOut? + /// MS Smooth event ID to be sent to the IIS server. + /// Should only be specified if eventIdMode is set to useConfigured. + public let eventId: String? + /// Size in seconds of file cache for streaming outputs. + public let filecacheDuration: Int32? + /// 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. + public let audioOnlyTimecodeControl: SmoothGroupAudioOnlyTimecodeControl? + /// If set to scte35, use incoming SCTE-35 messages to generate a sparse track in this group of MS-Smooth outputs. + public let sparseTrackType: SmoothGroupSparseTrackType? + /// 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) + public let sendDelayMs: Int32? + /// When set to send, send stream manifest so publishing point doesn't start until all streams start. + public let streamManifestBehavior: SmoothGroupStreamManifestBehavior? + /// Timestamp offset for the event. Only used if timestampOffsetMode is set to useConfiguredOffset. + public let timestampOffset: String? + /// Number of retry attempts. + public let numRetries: Int32? - public init(codingMode: Ac3CodingMode? = nil, drcProfile: Ac3DrcProfile? = nil, lfeFilter: Ac3LfeFilter? = nil, bitstreamMode: Ac3BitstreamMode? = nil, bitrate: Double? = nil, metadataControl: Ac3MetadataControl? = nil, dialnorm: Int32? = nil) { - self.codingMode = codingMode - self.drcProfile = drcProfile - self.lfeFilter = lfeFilter - self.bitstreamMode = bitstreamMode - self.bitrate = bitrate - self.metadataControl = metadataControl - self.dialnorm = dialnorm + public init(acquisitionPointId: String? = nil, destination: OutputLocationRef, eventIdMode: SmoothGroupEventIdMode? = nil, restartDelay: Int32? = nil, timestampOffsetMode: SmoothGroupTimestampOffsetMode? = nil, certificateMode: SmoothGroupCertificateMode? = nil, eventStopBehavior: SmoothGroupEventStopBehavior? = nil, connectionRetryInterval: Int32? = nil, fragmentLength: Int32? = nil, segmentationMode: SmoothGroupSegmentationMode? = nil, inputLossAction: InputLossActionForMsSmoothOut? = nil, eventId: String? = nil, filecacheDuration: Int32? = nil, audioOnlyTimecodeControl: SmoothGroupAudioOnlyTimecodeControl? = nil, sparseTrackType: SmoothGroupSparseTrackType? = nil, sendDelayMs: Int32? = nil, streamManifestBehavior: SmoothGroupStreamManifestBehavior? = nil, timestampOffset: String? = nil, numRetries: Int32? = nil) { + self.acquisitionPointId = acquisitionPointId + self.destination = destination + self.eventIdMode = eventIdMode + self.restartDelay = restartDelay + self.timestampOffsetMode = timestampOffsetMode + self.certificateMode = certificateMode + self.eventStopBehavior = eventStopBehavior + self.connectionRetryInterval = connectionRetryInterval + self.fragmentLength = fragmentLength + self.segmentationMode = segmentationMode + self.inputLossAction = inputLossAction + self.eventId = eventId + self.filecacheDuration = filecacheDuration + self.audioOnlyTimecodeControl = audioOnlyTimecodeControl + self.sparseTrackType = sparseTrackType + self.sendDelayMs = sendDelayMs + self.streamManifestBehavior = streamManifestBehavior + self.timestampOffset = timestampOffset + self.numRetries = numRetries } private enum CodingKeys: String, CodingKey { - case codingMode = "codingMode" - case drcProfile = "drcProfile" - case lfeFilter = "lfeFilter" - case bitstreamMode = "bitstreamMode" - case bitrate = "bitrate" - case metadataControl = "metadataControl" - case dialnorm = "dialnorm" + case acquisitionPointId = "acquisitionPointId" + case destination = "destination" + case eventIdMode = "eventIdMode" + case restartDelay = "restartDelay" + case timestampOffsetMode = "timestampOffsetMode" + case certificateMode = "certificateMode" + case eventStopBehavior = "eventStopBehavior" + case connectionRetryInterval = "connectionRetryInterval" + case fragmentLength = "fragmentLength" + case segmentationMode = "segmentationMode" + case inputLossAction = "inputLossAction" + case eventId = "eventId" + case filecacheDuration = "filecacheDuration" + case audioOnlyTimecodeControl = "audioOnlyTimecodeControl" + case sparseTrackType = "sparseTrackType" + case sendDelayMs = "sendDelayMs" + case streamManifestBehavior = "streamManifestBehavior" + case timestampOffset = "timestampOffset" + case numRetries = "numRetries" } } - public enum H264SpatialAq: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum M2tsAudioBufferModel: String, CustomStringConvertible, Codable { + case atsc = "ATSC" + case dvb = "DVB" public var description: String { return self.rawValue } } - public enum VideoDescriptionScalingBehavior: String, CustomStringConvertible, Codable { - case `default` = "DEFAULT" - case stretchToOutput = "STRETCH_TO_OUTPUT" - public var description: String { return self.rawValue } - } + public struct CaptionDestinationSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EmbeddedPlusScte20DestinationSettings", location: .body(locationName: "embeddedPlusScte20DestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "Scte27DestinationSettings", location: .body(locationName: "scte27DestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "Scte20PlusEmbeddedDestinationSettings", location: .body(locationName: "scte20PlusEmbeddedDestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "AribDestinationSettings", location: .body(locationName: "aribDestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "EmbeddedDestinationSettings", location: .body(locationName: "embeddedDestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "TeletextDestinationSettings", location: .body(locationName: "teletextDestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "WebvttDestinationSettings", location: .body(locationName: "webvttDestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "TtmlDestinationSettings", location: .body(locationName: "ttmlDestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "DvbSubDestinationSettings", location: .body(locationName: "dvbSubDestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "SmpteTtDestinationSettings", location: .body(locationName: "smpteTtDestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "RtmpCaptionInfoDestinationSettings", location: .body(locationName: "rtmpCaptionInfoDestinationSettings"), required: false, type: .structure), + AWSShapeMember(label: "BurnInDestinationSettings", location: .body(locationName: "burnInDestinationSettings"), required: false, type: .structure) + ] + public let embeddedPlusScte20DestinationSettings: EmbeddedPlusScte20DestinationSettings? + public let scte27DestinationSettings: Scte27DestinationSettings? + public let scte20PlusEmbeddedDestinationSettings: Scte20PlusEmbeddedDestinationSettings? + public let aribDestinationSettings: AribDestinationSettings? + public let embeddedDestinationSettings: EmbeddedDestinationSettings? + public let teletextDestinationSettings: TeletextDestinationSettings? + public let webvttDestinationSettings: WebvttDestinationSettings? + public let ttmlDestinationSettings: TtmlDestinationSettings? + public let dvbSubDestinationSettings: DvbSubDestinationSettings? + public let smpteTtDestinationSettings: SmpteTtDestinationSettings? + public let rtmpCaptionInfoDestinationSettings: RtmpCaptionInfoDestinationSettings? + public let burnInDestinationSettings: BurnInDestinationSettings? - public enum M2tsTimedMetadataBehavior: String, CustomStringConvertible, Codable { - case noPassthrough = "NO_PASSTHROUGH" - case passthrough = "PASSTHROUGH" - public var description: String { return self.rawValue } + public init(embeddedPlusScte20DestinationSettings: EmbeddedPlusScte20DestinationSettings? = nil, scte27DestinationSettings: Scte27DestinationSettings? = nil, scte20PlusEmbeddedDestinationSettings: Scte20PlusEmbeddedDestinationSettings? = nil, aribDestinationSettings: AribDestinationSettings? = nil, embeddedDestinationSettings: EmbeddedDestinationSettings? = nil, teletextDestinationSettings: TeletextDestinationSettings? = nil, webvttDestinationSettings: WebvttDestinationSettings? = nil, ttmlDestinationSettings: TtmlDestinationSettings? = nil, dvbSubDestinationSettings: DvbSubDestinationSettings? = nil, smpteTtDestinationSettings: SmpteTtDestinationSettings? = nil, rtmpCaptionInfoDestinationSettings: RtmpCaptionInfoDestinationSettings? = nil, burnInDestinationSettings: BurnInDestinationSettings? = nil) { + self.embeddedPlusScte20DestinationSettings = embeddedPlusScte20DestinationSettings + self.scte27DestinationSettings = scte27DestinationSettings + self.scte20PlusEmbeddedDestinationSettings = scte20PlusEmbeddedDestinationSettings + self.aribDestinationSettings = aribDestinationSettings + self.embeddedDestinationSettings = embeddedDestinationSettings + self.teletextDestinationSettings = teletextDestinationSettings + self.webvttDestinationSettings = webvttDestinationSettings + self.ttmlDestinationSettings = ttmlDestinationSettings + self.dvbSubDestinationSettings = dvbSubDestinationSettings + self.smpteTtDestinationSettings = smpteTtDestinationSettings + self.rtmpCaptionInfoDestinationSettings = rtmpCaptionInfoDestinationSettings + self.burnInDestinationSettings = burnInDestinationSettings + } + + private enum CodingKeys: String, CodingKey { + case embeddedPlusScte20DestinationSettings = "embeddedPlusScte20DestinationSettings" + case scte27DestinationSettings = "scte27DestinationSettings" + case scte20PlusEmbeddedDestinationSettings = "scte20PlusEmbeddedDestinationSettings" + case aribDestinationSettings = "aribDestinationSettings" + case embeddedDestinationSettings = "embeddedDestinationSettings" + case teletextDestinationSettings = "teletextDestinationSettings" + case webvttDestinationSettings = "webvttDestinationSettings" + case ttmlDestinationSettings = "ttmlDestinationSettings" + case dvbSubDestinationSettings = "dvbSubDestinationSettings" + case smpteTtDestinationSettings = "smpteTtDestinationSettings" + case rtmpCaptionInfoDestinationSettings = "rtmpCaptionInfoDestinationSettings" + case burnInDestinationSettings = "burnInDestinationSettings" + } } - public enum DvbSubDestinationFontColor: String, CustomStringConvertible, Codable { - case black = "BLACK" - case blue = "BLUE" - case green = "GREEN" - case red = "RED" - case white = "WHITE" - case yellow = "YELLOW" + public enum H264RateControlMode: String, CustomStringConvertible, Codable { + case cbr = "CBR" + case vbr = "VBR" public var description: String { return self.rawValue } } - public struct ArchiveContainerSettings: AWSShape { + public struct VideoDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "M2tsSettings", location: .body(locationName: "m2tsSettings"), required: false, type: .structure) + AWSShapeMember(label: "Height", location: .body(locationName: "height"), required: false, type: .integer), + AWSShapeMember(label: "Sharpness", location: .body(locationName: "sharpness"), required: false, type: .integer), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "ScalingBehavior", location: .body(locationName: "scalingBehavior"), required: false, type: .enum), + AWSShapeMember(label: "RespondToAfd", location: .body(locationName: "respondToAfd"), required: false, type: .enum), + AWSShapeMember(label: "Width", location: .body(locationName: "width"), required: false, type: .integer), + AWSShapeMember(label: "CodecSettings", location: .body(locationName: "codecSettings"), required: false, type: .structure) ] - public let m2tsSettings: M2tsSettings? + /// Output video height (in pixels). Leave blank to use source video height. If left blank, width must also be unspecified. + public let height: Int32? + /// 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. + public let sharpness: Int32? + /// The name of this VideoDescription. Outputs will use this name to uniquely identify this Description. Description names should be unique within this Live Event. + public let name: String + /// 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. + public let scalingBehavior: VideoDescriptionScalingBehavior? + /// 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. + public let respondToAfd: VideoDescriptionRespondToAfd? + /// 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. + public let width: Int32? + /// Video codec settings. + public let codecSettings: VideoCodecSettings? - public init(m2tsSettings: M2tsSettings? = nil) { - self.m2tsSettings = m2tsSettings + public init(height: Int32? = nil, sharpness: Int32? = nil, name: String, scalingBehavior: VideoDescriptionScalingBehavior? = nil, respondToAfd: VideoDescriptionRespondToAfd? = nil, width: Int32? = nil, codecSettings: VideoCodecSettings? = nil) { + self.height = height + self.sharpness = sharpness + self.name = name + self.scalingBehavior = scalingBehavior + self.respondToAfd = respondToAfd + self.width = width + self.codecSettings = codecSettings } private enum CodingKeys: String, CodingKey { - case m2tsSettings = "m2tsSettings" + case height = "height" + case sharpness = "sharpness" + case name = "name" + case scalingBehavior = "scalingBehavior" + case respondToAfd = "respondToAfd" + case width = "width" + case codecSettings = "codecSettings" } } - public enum HlsProgramDateTime: String, CustomStringConvertible, Codable { - case exclude = "EXCLUDE" - case include = "INCLUDE" + public enum AacInputType: String, CustomStringConvertible, Codable { + case broadcasterMixedAd = "BROADCASTER_MIXED_AD" + case normal = "NORMAL" public var description: String { return self.rawValue } } - public enum InputDenoiseFilter: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum SmoothGroupEventIdMode: String, CustomStringConvertible, Codable { + case noEventId = "NO_EVENT_ID" + case useConfigured = "USE_CONFIGURED" + case useTimestamp = "USE_TIMESTAMP" public var description: String { return self.rawValue } } - public enum M2tsArib: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum HlsAkamaiHttpTransferMode: String, CustomStringConvertible, Codable { + case chunked = "CHUNKED" + case nonChunked = "NON_CHUNKED" public var description: String { return self.rawValue } } - public struct CaptionDescription: AWSShape { + public struct ListInputSecurityGroupsResultModel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CaptionSelectorName", location: .body(locationName: "captionSelectorName"), required: false, type: .string), - AWSShapeMember(label: "LanguageDescription", location: .body(locationName: "languageDescription"), required: false, type: .string), - AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .string), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "DestinationSettings", location: .body(locationName: "destinationSettings"), required: false, type: .structure) + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "InputSecurityGroups", location: .body(locationName: "inputSecurityGroups"), required: false, type: .list) ] - /// Specifies which input caption selector to use as a caption source when generating output captions. This field should match a captionSelector name. - public let captionSelectorName: String? - /// Human readable information to indicate captions available for players (eg. English, or Spanish). - public let languageDescription: String? - /// ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/ - public let languageCode: String? - /// Name of the caption description. Used to associate a caption description with an output. Names must be unique within an event. - public let name: String? - /// Additional settings for captions destination that depend on the destination type. - public let destinationSettings: CaptionDestinationSettings? + public let nextToken: String? + /// List of input security groups + public let inputSecurityGroups: [InputSecurityGroup]? - public init(captionSelectorName: String? = nil, languageDescription: String? = nil, languageCode: String? = nil, name: String? = nil, destinationSettings: CaptionDestinationSettings? = nil) { - self.captionSelectorName = captionSelectorName - self.languageDescription = languageDescription - self.languageCode = languageCode - self.name = name - self.destinationSettings = destinationSettings + public init(nextToken: String? = nil, inputSecurityGroups: [InputSecurityGroup]? = nil) { + self.nextToken = nextToken + self.inputSecurityGroups = inputSecurityGroups } private enum CodingKeys: String, CodingKey { - case captionSelectorName = "captionSelectorName" - case languageDescription = "languageDescription" - case languageCode = "languageCode" - case name = "name" - case destinationSettings = "destinationSettings" + case nextToken = "nextToken" + case inputSecurityGroups = "inputSecurityGroups" } } - public struct OutputLocationRef: AWSShape { + public struct InputLossBehavior: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DestinationRefId", location: .body(locationName: "destinationRefId"), required: false, type: .string) + AWSShapeMember(label: "BlackFrameMsec", location: .body(locationName: "blackFrameMsec"), required: false, type: .integer), + AWSShapeMember(label: "InputLossImageSlate", location: .body(locationName: "inputLossImageSlate"), required: false, type: .structure), + AWSShapeMember(label: "InputLossImageColor", location: .body(locationName: "inputLossImageColor"), required: false, type: .string), + AWSShapeMember(label: "InputLossImageType", location: .body(locationName: "inputLossImageType"), required: false, type: .enum), + AWSShapeMember(label: "RepeatFrameMsec", location: .body(locationName: "repeatFrameMsec"), required: false, type: .integer) ] - public let destinationRefId: String? + /// On input loss, the number of milliseconds to substitute black into the output before switching to the frame specified by inputLossImageType. A value x, where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as infinite. + public let blackFrameMsec: Int32? + /// When input loss image type is "slate" these fields specify the parameters for accessing the slate. + public let inputLossImageSlate: InputLocation? + /// When input loss image type is "color" this field specifies the color to use. Value: 6 hex characters representing the values of RGB. + public let inputLossImageColor: String? + /// Indicates whether to substitute a solid color or a slate into the output after input loss exceeds blackFrameMsec. + public let inputLossImageType: InputLossImageType? + /// On input loss, the number of milliseconds to repeat the previous picture before substituting black into the output. A value x, where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as infinite. + public let repeatFrameMsec: Int32? - public init(destinationRefId: String? = nil) { - self.destinationRefId = destinationRefId + public init(blackFrameMsec: Int32? = nil, inputLossImageSlate: InputLocation? = nil, inputLossImageColor: String? = nil, inputLossImageType: InputLossImageType? = nil, repeatFrameMsec: Int32? = nil) { + self.blackFrameMsec = blackFrameMsec + self.inputLossImageSlate = inputLossImageSlate + self.inputLossImageColor = inputLossImageColor + self.inputLossImageType = inputLossImageType + self.repeatFrameMsec = repeatFrameMsec } private enum CodingKeys: String, CodingKey { - case destinationRefId = "destinationRefId" + case blackFrameMsec = "blackFrameMsec" + case inputLossImageSlate = "inputLossImageSlate" + case inputLossImageColor = "inputLossImageColor" + case inputLossImageType = "inputLossImageType" + case repeatFrameMsec = "repeatFrameMsec" } } - public struct Scte20PlusEmbeddedDestinationSettings: AWSShape { + public enum Eac3CodingMode: String, CustomStringConvertible, Codable { + case codingMode10 = "CODING_MODE_1_0" + case codingMode20 = "CODING_MODE_2_0" + case codingMode32 = "CODING_MODE_3_2" + public var description: String { return self.rawValue } + } + public enum HlsSegmentationMode: String, CustomStringConvertible, Codable { + case useInputSegmentation = "USE_INPUT_SEGMENTATION" + case useSegmentDuration = "USE_SEGMENT_DURATION" + public var description: String { return self.rawValue } } - public struct ListInputSecurityGroupsResponse: AWSShape { + public struct InputSpecification: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "InputSecurityGroups", location: .body(locationName: "inputSecurityGroups"), required: false, type: .list) + AWSShapeMember(label: "Resolution", location: .body(locationName: "resolution"), required: false, type: .enum), + AWSShapeMember(label: "Codec", location: .body(locationName: "codec"), required: false, type: .enum), + AWSShapeMember(label: "MaximumBitrate", location: .body(locationName: "maximumBitrate"), required: false, type: .enum) ] - public let nextToken: String? - public let inputSecurityGroups: [InputSecurityGroup]? + /// Input resolution, categorized coarsely + public let resolution: InputResolution? + /// Input codec + public let codec: InputCodec? + /// Maximum input bitrate, categorized coarsely + public let maximumBitrate: InputMaximumBitrate? - public init(nextToken: String? = nil, inputSecurityGroups: [InputSecurityGroup]? = nil) { - self.nextToken = nextToken - self.inputSecurityGroups = inputSecurityGroups + public init(resolution: InputResolution? = nil, codec: InputCodec? = nil, maximumBitrate: InputMaximumBitrate? = nil) { + self.resolution = resolution + self.codec = codec + self.maximumBitrate = maximumBitrate } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case inputSecurityGroups = "inputSecurityGroups" + case resolution = "resolution" + case codec = "codec" + case maximumBitrate = "maximumBitrate" } } - public struct AudioLanguageSelection: AWSShape { + public struct ListInputsResultModel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .string), - AWSShapeMember(label: "LanguageSelectionPolicy", location: .body(locationName: "languageSelectionPolicy"), required: false, type: .enum) + AWSShapeMember(label: "Inputs", location: .body(locationName: "inputs"), required: false, type: .list), + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) ] - /// Selects a specific three-letter language code from within an audio source. - public let languageCode: String? - /// 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. - public let languageSelectionPolicy: AudioLanguageSelectionPolicy? + public let inputs: [Input]? + public let nextToken: String? - public init(languageCode: String? = nil, languageSelectionPolicy: AudioLanguageSelectionPolicy? = nil) { - self.languageCode = languageCode - self.languageSelectionPolicy = languageSelectionPolicy + public init(inputs: [Input]? = nil, nextToken: String? = nil) { + self.inputs = inputs + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case languageCode = "languageCode" - case languageSelectionPolicy = "languageSelectionPolicy" + case inputs = "inputs" + case nextToken = "nextToken" } } - public enum Eac3PhaseControl: String, CustomStringConvertible, Codable { - case noShift = "NO_SHIFT" - case shift90Degrees = "SHIFT_90_DEGREES" + public enum InputLossActionForHlsOut: String, CustomStringConvertible, Codable { + case emitOutput = "EMIT_OUTPUT" + case pauseOutput = "PAUSE_OUTPUT" public var description: String { return self.rawValue } } - public struct CreateChannelRequest: AWSShape { + public enum AuthenticationScheme: String, CustomStringConvertible, Codable { + case akamai = "AKAMAI" + case common = "COMMON" + public var description: String { return self.rawValue } + } + + public struct DvbNitSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), - AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "Reserved", location: .body(locationName: "reserved"), required: false, type: .string), - AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), - AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), - AWSShapeMember(label: "RequestId", location: .body(locationName: "requestId"), required: false, type: .string) + AWSShapeMember(label: "RepInterval", location: .body(locationName: "repInterval"), required: false, type: .integer), + AWSShapeMember(label: "NetworkId", location: .body(locationName: "networkId"), required: true, type: .integer), + AWSShapeMember(label: "NetworkName", location: .body(locationName: "networkName"), required: true, type: .string) ] - public let destinations: [OutputDestination]? - public let inputAttachments: [InputAttachment]? - public let name: String? - public let reserved: String? - public let encoderSettings: EncoderSettings? - public let roleArn: String? - public let requestId: String? + /// The number of milliseconds between instances of this table in the output transport stream. + public let repInterval: Int32? + /// The numeric value placed in the Network Information Table (NIT). + public let networkId: Int32 + /// The network name text placed in the networkNameDescriptor inside the Network Information Table. Maximum length is 256 characters. + public let networkName: String - public init(destinations: [OutputDestination]? = nil, inputAttachments: [InputAttachment]? = nil, name: String? = nil, reserved: String? = nil, encoderSettings: EncoderSettings? = nil, roleArn: String? = nil, requestId: String? = nil) { - self.destinations = destinations - self.inputAttachments = inputAttachments - self.name = name - self.reserved = reserved - self.encoderSettings = encoderSettings - self.roleArn = roleArn - self.requestId = requestId + public init(repInterval: Int32? = nil, networkId: Int32, networkName: String) { + self.repInterval = repInterval + self.networkId = networkId + self.networkName = networkName } private enum CodingKeys: String, CodingKey { - case destinations = "destinations" - case inputAttachments = "inputAttachments" - case name = "name" - case reserved = "reserved" - case encoderSettings = "encoderSettings" - case roleArn = "roleArn" - case requestId = "requestId" + case repInterval = "repInterval" + case networkId = "networkId" + case networkName = "networkName" } } - public struct OutputDestination: AWSShape { + public struct Offering: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: false, type: .list), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) - ] - /// Destination settings for output; one for each redundant encoder. - public let settings: [OutputDestinationSettings]? - /// User-specified id. This is used in an output group or an output. - public let id: String? - - public init(settings: [OutputDestinationSettings]? = nil, id: String? = nil) { - self.settings = settings - self.id = id + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "OfferingDescription", location: .body(locationName: "offeringDescription"), required: false, type: .string), + AWSShapeMember(label: "UsagePrice", location: .body(locationName: "usagePrice"), required: false, type: .double), + AWSShapeMember(label: "Region", location: .body(locationName: "region"), required: false, type: .string), + AWSShapeMember(label: "OfferingId", location: .body(locationName: "offeringId"), required: false, type: .string), + AWSShapeMember(label: "CurrencyCode", location: .body(locationName: "currencyCode"), required: false, type: .string), + AWSShapeMember(label: "DurationUnits", location: .body(locationName: "durationUnits"), required: false, type: .enum), + AWSShapeMember(label: "Duration", location: .body(locationName: "duration"), required: false, type: .integer), + AWSShapeMember(label: "OfferingType", location: .body(locationName: "offeringType"), required: false, type: .enum), + AWSShapeMember(label: "FixedPrice", location: .body(locationName: "fixedPrice"), required: false, type: .double), + AWSShapeMember(label: "ResourceSpecification", location: .body(locationName: "resourceSpecification"), required: false, type: .structure) + ] + /// Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' + public let arn: String? + /// Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' + public let offeringDescription: String? + /// Recurring usage charge for each reserved resource, e.g. '157.0' + public let usagePrice: Double? + /// AWS region, e.g. 'us-west-2' + public let region: String? + /// Unique offering ID, e.g. '87654321' + public let offeringId: String? + /// Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' + public let currencyCode: String? + /// Units for duration, e.g. 'MONTHS' + public let durationUnits: OfferingDurationUnits? + /// Lease duration, e.g. '12' + public let duration: Int32? + /// Offering type, e.g. 'NO_UPFRONT' + public let offeringType: OfferingType? + /// One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering + public let fixedPrice: Double? + /// Resource configuration details + public let resourceSpecification: ReservationResourceSpecification? + + public init(arn: String? = nil, offeringDescription: String? = nil, usagePrice: Double? = nil, region: String? = nil, offeringId: String? = nil, currencyCode: String? = nil, durationUnits: OfferingDurationUnits? = nil, duration: Int32? = nil, offeringType: OfferingType? = nil, fixedPrice: Double? = nil, resourceSpecification: ReservationResourceSpecification? = nil) { + self.arn = arn + self.offeringDescription = offeringDescription + self.usagePrice = usagePrice + self.region = region + self.offeringId = offeringId + self.currencyCode = currencyCode + self.durationUnits = durationUnits + self.duration = duration + self.offeringType = offeringType + self.fixedPrice = fixedPrice + self.resourceSpecification = resourceSpecification } private enum CodingKeys: String, CodingKey { - case settings = "settings" - case id = "id" + case arn = "arn" + case offeringDescription = "offeringDescription" + case usagePrice = "usagePrice" + case region = "region" + case offeringId = "offeringId" + case currencyCode = "currencyCode" + case durationUnits = "durationUnits" + case duration = "duration" + case offeringType = "offeringType" + case fixedPrice = "fixedPrice" + case resourceSpecification = "resourceSpecification" } } - public struct DeleteChannelRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ChannelId", location: .uri(locationName: "channelId"), required: true, type: .string) - ] - public let channelId: String + public enum M2tsRateMode: String, CustomStringConvertible, Codable { + case cbr = "CBR" + case vbr = "VBR" + public var description: String { return self.rawValue } + } - public init(channelId: String) { - self.channelId = channelId - } + public enum H264EntropyEncoding: String, CustomStringConvertible, Codable { + case cabac = "CABAC" + case cavlc = "CAVLC" + public var description: String { return self.rawValue } + } - private enum CodingKeys: String, CodingKey { - case channelId = "channelId" - } + public enum BurnInShadowColor: String, CustomStringConvertible, Codable { + case black = "BLACK" + case none = "NONE" + case white = "WHITE" + public var description: String { return self.rawValue } } - public struct OutputDestinationSettings: AWSShape { + public struct Scte35SpliceInsert: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PasswordParam", location: .body(locationName: "passwordParam"), required: false, type: .string), - AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string), - AWSShapeMember(label: "Username", location: .body(locationName: "username"), required: false, type: .string) + AWSShapeMember(label: "NoRegionalBlackoutFlag", location: .body(locationName: "noRegionalBlackoutFlag"), required: false, type: .enum), + AWSShapeMember(label: "AdAvailOffset", location: .body(locationName: "adAvailOffset"), required: false, type: .integer), + AWSShapeMember(label: "WebDeliveryAllowedFlag", location: .body(locationName: "webDeliveryAllowedFlag"), required: false, type: .enum) ] - /// key used to extract the password from EC2 Parameter store - public let passwordParam: String? - /// A URL specifying a destination - public let url: String? - /// username for destination - public let username: String? + /// When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates + public let noRegionalBlackoutFlag: Scte35SpliceInsertNoRegionalBlackoutBehavior? + /// 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. + public let adAvailOffset: Int32? + /// When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates + public let webDeliveryAllowedFlag: Scte35SpliceInsertWebDeliveryAllowedBehavior? - public init(passwordParam: String? = nil, url: String? = nil, username: String? = nil) { - self.passwordParam = passwordParam - self.url = url - self.username = username + public init(noRegionalBlackoutFlag: Scte35SpliceInsertNoRegionalBlackoutBehavior? = nil, adAvailOffset: Int32? = nil, webDeliveryAllowedFlag: Scte35SpliceInsertWebDeliveryAllowedBehavior? = nil) { + self.noRegionalBlackoutFlag = noRegionalBlackoutFlag + self.adAvailOffset = adAvailOffset + self.webDeliveryAllowedFlag = webDeliveryAllowedFlag } private enum CodingKeys: String, CodingKey { - case passwordParam = "passwordParam" - case url = "url" - case username = "username" + case noRegionalBlackoutFlag = "noRegionalBlackoutFlag" + case adAvailOffset = "adAvailOffset" + case webDeliveryAllowedFlag = "webDeliveryAllowedFlag" } } - public enum H264GopBReference: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" + public enum HlsManifestDurationFormat: String, CustomStringConvertible, Codable { + case floatingPoint = "FLOATING_POINT" + case integer = "INTEGER" public var description: String { return self.rawValue } } - public struct DeleteInputSecurityGroupRequest: AWSShape { + public enum FecOutputIncludeFec: String, CustomStringConvertible, Codable { + case column = "COLUMN" + case columnAndRow = "COLUMN_AND_ROW" + public var description: String { return self.rawValue } + } + + public struct InputWhitelistRule: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InputSecurityGroupId", location: .uri(locationName: "inputSecurityGroupId"), required: true, type: .string) + AWSShapeMember(label: "Cidr", location: .body(locationName: "cidr"), required: false, type: .string) ] - public let inputSecurityGroupId: String + /// The IPv4 CIDR that's whitelisted. + public let cidr: String? - public init(inputSecurityGroupId: String) { - self.inputSecurityGroupId = inputSecurityGroupId + public init(cidr: String? = nil) { + self.cidr = cidr } private enum CodingKeys: String, CodingKey { - case inputSecurityGroupId = "inputSecurityGroupId" + case cidr = "cidr" } } - public struct HlsMediaStoreSettings: AWSShape { + public struct Scte27SourceSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConnectionRetryInterval", location: .body(locationName: "connectionRetryInterval"), required: false, type: .integer), - AWSShapeMember(label: "MediaStoreStorageClass", location: .body(locationName: "mediaStoreStorageClass"), required: false, type: .enum), - AWSShapeMember(label: "FilecacheDuration", location: .body(locationName: "filecacheDuration"), required: false, type: .integer), - AWSShapeMember(label: "NumRetries", location: .body(locationName: "numRetries"), required: false, type: .integer), - AWSShapeMember(label: "RestartDelay", location: .body(locationName: "restartDelay"), required: false, type: .integer) + AWSShapeMember(label: "Pid", location: .body(locationName: "pid"), required: false, type: .integer) ] - /// Number of seconds to wait before retrying connection to the CDN if the connection is lost. - public let connectionRetryInterval: Int32? - /// When set to temporal, output files are stored in non-persistent memory for faster reading and writing. - public let mediaStoreStorageClass: HlsMediaStoreStorageClass? - /// Size in seconds of file cache for streaming outputs. - public let filecacheDuration: Int32? - /// Number of retry attempts that will be made before the Live Event is put into an error state. - public let numRetries: Int32? - /// If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. - public let restartDelay: Int32? + /// The pid field is used in conjunction with the caption selector languageCode field as follows: + /// - Specify PID and Language: Extracts captions from that PID; the language is "informational". + /// - Specify PID and omit Language: Extracts the specified PID. + /// - Omit PID and specify Language: Extracts the specified language, whichever PID that happens to be. + /// - Omit PID and omit Language: Valid only if source is DVB-Sub that is being passed through; all languages will be passed through. + public let pid: Int32? - public init(connectionRetryInterval: Int32? = nil, mediaStoreStorageClass: HlsMediaStoreStorageClass? = nil, filecacheDuration: Int32? = nil, numRetries: Int32? = nil, restartDelay: Int32? = nil) { - self.connectionRetryInterval = connectionRetryInterval - self.mediaStoreStorageClass = mediaStoreStorageClass - self.filecacheDuration = filecacheDuration - self.numRetries = numRetries - self.restartDelay = restartDelay + public init(pid: Int32? = nil) { + self.pid = pid } private enum CodingKeys: String, CodingKey { - case connectionRetryInterval = "connectionRetryInterval" - case mediaStoreStorageClass = "mediaStoreStorageClass" - case filecacheDuration = "filecacheDuration" - case numRetries = "numRetries" - case restartDelay = "restartDelay" + case pid = "pid" } } - public enum HlsStreamInfResolution: String, CustomStringConvertible, Codable { - case exclude = "EXCLUDE" - case include = "INCLUDE" - public var description: String { return self.rawValue } - } - - public struct VideoSelectorProgramId: AWSShape { + public struct DescribeChannelRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ProgramId", location: .body(locationName: "programId"), required: false, type: .integer) + AWSShapeMember(label: "ChannelId", location: .uri(locationName: "channelId"), required: true, type: .string) ] - /// 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. - public let programId: Int32? + public let channelId: String - public init(programId: Int32? = nil) { - self.programId = programId + public init(channelId: String) { + self.channelId = channelId } private enum CodingKeys: String, CodingKey { - case programId = "programId" + case channelId = "channelId" } } - public struct StandardHlsSettings: AWSShape { + public struct EncoderSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AudioRenditionSets", location: .body(locationName: "audioRenditionSets"), required: false, type: .string), - AWSShapeMember(label: "M3u8Settings", location: .body(locationName: "m3u8Settings"), required: false, type: .structure) + AWSShapeMember(label: "VideoDescriptions", location: .body(locationName: "videoDescriptions"), required: true, type: .list), + AWSShapeMember(label: "BlackoutSlate", location: .body(locationName: "blackoutSlate"), required: false, type: .structure), + AWSShapeMember(label: "OutputGroups", location: .body(locationName: "outputGroups"), required: true, type: .list), + AWSShapeMember(label: "AudioDescriptions", location: .body(locationName: "audioDescriptions"), required: true, type: .list), + AWSShapeMember(label: "GlobalConfiguration", location: .body(locationName: "globalConfiguration"), required: false, type: .structure), + AWSShapeMember(label: "AvailConfiguration", location: .body(locationName: "availConfiguration"), required: false, type: .structure), + AWSShapeMember(label: "CaptionDescriptions", location: .body(locationName: "captionDescriptions"), required: false, type: .list), + AWSShapeMember(label: "AvailBlanking", location: .body(locationName: "availBlanking"), required: false, type: .structure), + AWSShapeMember(label: "TimecodeConfig", location: .body(locationName: "timecodeConfig"), required: true, type: .structure) ] - /// 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 ','. - public let audioRenditionSets: String? - public let m3u8Settings: M3u8Settings? + public let videoDescriptions: [VideoDescription] + /// Settings for blackout slate. + public let blackoutSlate: BlackoutSlate? + public let outputGroups: [OutputGroup] + public let audioDescriptions: [AudioDescription] + /// Configuration settings that apply to the event as a whole. + public let globalConfiguration: GlobalConfiguration? + /// Event-wide configuration settings for ad avail insertion. + public let availConfiguration: AvailConfiguration? + /// Settings for caption decriptions + public let captionDescriptions: [CaptionDescription]? + /// Settings for ad avail blanking. + public let availBlanking: AvailBlanking? + /// Contains settings used to acquire and adjust timecode information from inputs. + public let timecodeConfig: TimecodeConfig - public init(audioRenditionSets: String? = nil, m3u8Settings: M3u8Settings? = nil) { - self.audioRenditionSets = audioRenditionSets - self.m3u8Settings = m3u8Settings + public init(videoDescriptions: [VideoDescription], blackoutSlate: BlackoutSlate? = nil, outputGroups: [OutputGroup], audioDescriptions: [AudioDescription], globalConfiguration: GlobalConfiguration? = nil, availConfiguration: AvailConfiguration? = nil, captionDescriptions: [CaptionDescription]? = nil, availBlanking: AvailBlanking? = nil, timecodeConfig: TimecodeConfig) { + self.videoDescriptions = videoDescriptions + self.blackoutSlate = blackoutSlate + self.outputGroups = outputGroups + self.audioDescriptions = audioDescriptions + self.globalConfiguration = globalConfiguration + self.availConfiguration = availConfiguration + self.captionDescriptions = captionDescriptions + self.availBlanking = availBlanking + self.timecodeConfig = timecodeConfig } private enum CodingKeys: String, CodingKey { - case audioRenditionSets = "audioRenditionSets" - case m3u8Settings = "m3u8Settings" + case videoDescriptions = "videoDescriptions" + case blackoutSlate = "blackoutSlate" + case outputGroups = "outputGroups" + case audioDescriptions = "audioDescriptions" + case globalConfiguration = "globalConfiguration" + case availConfiguration = "availConfiguration" + case captionDescriptions = "captionDescriptions" + case availBlanking = "availBlanking" + case timecodeConfig = "timecodeConfig" } } - public struct ChannelSummary: AWSShape { + public struct BlackoutSlate: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), + AWSShapeMember(label: "NetworkEndBlackout", location: .body(locationName: "networkEndBlackout"), required: false, type: .enum), + AWSShapeMember(label: "NetworkEndBlackoutImage", location: .body(locationName: "networkEndBlackoutImage"), required: false, type: .structure), AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "EgressEndpoints", location: .body(locationName: "egressEndpoints"), required: false, type: .list), - AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), - AWSShapeMember(label: "PipelinesRunningCount", location: .body(locationName: "pipelinesRunningCount"), required: false, type: .integer), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + AWSShapeMember(label: "NetworkId", location: .body(locationName: "networkId"), required: false, type: .string), + AWSShapeMember(label: "BlackoutSlateImage", location: .body(locationName: "blackoutSlateImage"), required: false, type: .structure) ] - /// A list of destinations of the channel. For UDP outputs, there is one - /// destination per output. For other types (HLS, for example), there is - /// one destination per packager. - public let destinations: [OutputDestination]? - /// The unique arn of the channel. - public let arn: String? - /// List of input attachments for channel. - public let inputAttachments: [InputAttachment]? - public let state: ChannelState? - /// The name of the channel. (user-mutable) - public let name: String? - /// The endpoints where outgoing connections initiate from - public let egressEndpoints: [ChannelEgressEndpoint]? - /// The Amazon Resource Name (ARN) of the role assumed when running the Channel. - public let roleArn: String? - /// The number of currently healthy pipelines. - public let pipelinesRunningCount: Int32? - /// The unique id of the channel. - public let id: String? + /// 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". + public let networkEndBlackout: BlackoutSlateNetworkEndBlackout? + /// Path to local file to use as Network End Blackout image. Image will be scaled to fill the entire output raster. + public let networkEndBlackoutImage: InputLocation? + /// When set to enabled, causes video, audio and captions to be blanked when indicated by program metadata. + public let state: BlackoutSlateState? + /// Provides Network ID that matches EIDR ID format (e.g., "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C"). + public let networkId: String? + /// Blackout slate image to be used. Leave empty for solid black. Only bmp and png images are supported. + public let blackoutSlateImage: InputLocation? - public init(destinations: [OutputDestination]? = nil, arn: String? = nil, inputAttachments: [InputAttachment]? = nil, state: ChannelState? = nil, name: String? = nil, egressEndpoints: [ChannelEgressEndpoint]? = nil, roleArn: String? = nil, pipelinesRunningCount: Int32? = nil, id: String? = nil) { - self.destinations = destinations - self.arn = arn - self.inputAttachments = inputAttachments + public init(networkEndBlackout: BlackoutSlateNetworkEndBlackout? = nil, networkEndBlackoutImage: InputLocation? = nil, state: BlackoutSlateState? = nil, networkId: String? = nil, blackoutSlateImage: InputLocation? = nil) { + self.networkEndBlackout = networkEndBlackout + self.networkEndBlackoutImage = networkEndBlackoutImage self.state = state - self.name = name - self.egressEndpoints = egressEndpoints - self.roleArn = roleArn - self.pipelinesRunningCount = pipelinesRunningCount - self.id = id + self.networkId = networkId + self.blackoutSlateImage = blackoutSlateImage } private enum CodingKeys: String, CodingKey { - case destinations = "destinations" - case arn = "arn" - case inputAttachments = "inputAttachments" + case networkEndBlackout = "networkEndBlackout" + case networkEndBlackoutImage = "networkEndBlackoutImage" case state = "state" - case name = "name" - case egressEndpoints = "egressEndpoints" - case roleArn = "roleArn" - case pipelinesRunningCount = "pipelinesRunningCount" - case id = "id" + case networkId = "networkId" + case blackoutSlateImage = "blackoutSlateImage" } } - public enum HlsMediaStoreStorageClass: String, CustomStringConvertible, Codable { - case temporal = "TEMPORAL" - public var description: String { return self.rawValue } + public struct PassThroughSettings: AWSShape { + } - public enum VideoSelectorColorSpaceUsage: String, CustomStringConvertible, Codable { - case fallback = "FALLBACK" - case force = "FORCE" + public enum H264Profile: String, CustomStringConvertible, Codable { + case baseline = "BASELINE" + case high = "HIGH" + case high10Bit = "HIGH_10BIT" + case high422 = "HIGH_422" + case high42210Bit = "HIGH_422_10BIT" + case main = "MAIN" public var description: String { return self.rawValue } } - public struct SmpteTtDestinationSettings: AWSShape { - + public enum Eac3BitstreamMode: String, CustomStringConvertible, Codable { + case commentary = "COMMENTARY" + case completeMain = "COMPLETE_MAIN" + case emergency = "EMERGENCY" + case hearingImpaired = "HEARING_IMPAIRED" + case visuallyImpaired = "VISUALLY_IMPAIRED" + public var description: String { return self.rawValue } } - public enum M2tsEbifControl: String, CustomStringConvertible, Codable { - case none = "NONE" - case passthrough = "PASSTHROUGH" + public enum InputState: String, CustomStringConvertible, Codable { + case creating = "CREATING" + case detached = "DETACHED" + case attached = "ATTACHED" + case deleting = "DELETING" + case deleted = "DELETED" public var description: String { return self.rawValue } } - public struct UdpContainerSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "M2tsSettings", location: .body(locationName: "m2tsSettings"), required: false, type: .structure) - ] - public let m2tsSettings: M2tsSettings? - - public init(m2tsSettings: M2tsSettings? = nil) { - self.m2tsSettings = m2tsSettings - } - - private enum CodingKeys: String, CodingKey { - case m2tsSettings = "m2tsSettings" - } + public enum M2tsCcDescriptor: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } } - public enum M2tsScte35Control: String, CustomStringConvertible, Codable { + public enum AfdSignaling: String, CustomStringConvertible, Codable { + case auto = "AUTO" + case fixed = "FIXED" case none = "NONE" - case passthrough = "PASSTHROUGH" public var description: String { return self.rawValue } } - public struct Input: AWSShape { + public enum M2tsBufferModel: String, CustomStringConvertible, Codable { + case multiplex = "MULTIPLEX" + case none = "NONE" + public var description: String { return self.rawValue } + } + + public struct CreateChannel: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), - AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "securityGroups"), required: false, type: .list), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "AttachedChannels", location: .body(locationName: "attachedChannels"), required: false, type: .list), - AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "Sources", location: .body(locationName: "sources"), required: false, type: .list), - AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), + AWSShapeMember(label: "Reserved", location: .body(locationName: "reserved"), required: false, type: .string), + AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), + AWSShapeMember(label: "RequestId", location: .body(locationName: "requestId"), required: false, type: .string), + AWSShapeMember(label: "LogLevel", location: .body(locationName: "logLevel"), required: false, type: .enum), + AWSShapeMember(label: "InputSpecification", location: .body(locationName: "inputSpecification"), required: false, type: .structure) ] - /// List of destinations of input (PULL-type) - public let destinations: [InputDestination]? - /// List of IDs for all the security groups attached to the input. - public let securityGroups: [String]? - /// Unique ARN of input (generated, immutable) - public let arn: String? - /// List of channel IDs that that input is attached to (currently an input can only be attached to one channel) - public let attachedChannels: [String]? - public let state: InputState? - /// user-assigned name (mutable) + public let destinations: [OutputDestination]? + /// List of input attachments for channel. + public let inputAttachments: [InputAttachment]? + /// Name of channel. public let name: String? - /// List of sources of input (PULL-type) - public let sources: [InputSource]? - public let `type`: InputType? - /// generated ID of input (unique for user account, immutable) - public let id: String? + public let encoderSettings: EncoderSettings? + /// Deprecated field that's only usable by whitelisted customers. + public let reserved: String? + /// An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. + public let roleArn: String? + /// Unique request ID to be specified. This is needed to prevent retries from + /// creating multiple resources. + public let requestId: String? + /// The log level to write to CloudWatch Logs. + public let logLevel: LogLevel? + /// Specification of input for this channel (max. bitrate, resolution, codec, etc.) + public let inputSpecification: InputSpecification? - public init(destinations: [InputDestination]? = nil, securityGroups: [String]? = nil, arn: String? = nil, attachedChannels: [String]? = nil, state: InputState? = nil, name: String? = nil, sources: [InputSource]? = nil, type: InputType? = nil, id: String? = nil) { + public init(destinations: [OutputDestination]? = nil, inputAttachments: [InputAttachment]? = nil, name: String? = nil, encoderSettings: EncoderSettings? = nil, reserved: String? = nil, roleArn: String? = nil, requestId: String? = nil, logLevel: LogLevel? = nil, inputSpecification: InputSpecification? = nil) { self.destinations = destinations - self.securityGroups = securityGroups - self.arn = arn - self.attachedChannels = attachedChannels - self.state = state + self.inputAttachments = inputAttachments self.name = name - self.sources = sources - self.`type` = `type` - self.id = id + self.encoderSettings = encoderSettings + self.reserved = reserved + self.roleArn = roleArn + self.requestId = requestId + self.logLevel = logLevel + self.inputSpecification = inputSpecification } private enum CodingKeys: String, CodingKey { case destinations = "destinations" - case securityGroups = "securityGroups" - case arn = "arn" - case attachedChannels = "attachedChannels" - case state = "state" + case inputAttachments = "inputAttachments" case name = "name" - case sources = "sources" - case `type` = "type" - case id = "id" + case encoderSettings = "encoderSettings" + case reserved = "reserved" + case roleArn = "roleArn" + case requestId = "requestId" + case logLevel = "logLevel" + case inputSpecification = "inputSpecification" } } - public enum GlobalConfigurationInputEndAction: String, CustomStringConvertible, Codable { - case none = "NONE" - case switchAndLoopInputs = "SWITCH_AND_LOOP_INPUTS" + public enum HlsIvInManifest: String, CustomStringConvertible, Codable { + case exclude = "EXCLUDE" + case include = "INCLUDE" public var description: String { return self.rawValue } } - public enum GlobalConfigurationLowFramerateInputs: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case enabled = "ENABLED" - public var description: String { return self.rawValue } - } + public struct ChannelConfigurationValidationError: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ValidationErrors", location: .body(locationName: "validationErrors"), required: false, type: .list), + AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) + ] + /// A collection of validation error responses from attempting to create a channel with a bouquet of settings. + public let validationErrors: [ValidationError]? + public let message: String? - public enum H264ParControl: String, CustomStringConvertible, Codable { - case initializeFromSource = "INITIALIZE_FROM_SOURCE" - case specified = "SPECIFIED" - public var description: String { return self.rawValue } - } + public init(validationErrors: [ValidationError]? = nil, message: String? = nil) { + self.validationErrors = validationErrors + self.message = message + } - public enum EmbeddedConvert608To708: String, CustomStringConvertible, Codable { - case disabled = "DISABLED" - case upconvert = "UPCONVERT" - public var description: String { return self.rawValue } + private enum CodingKeys: String, CodingKey { + case validationErrors = "validationErrors" + case message = "message" + } } - public struct CreateInputSecurityGroupRequest: AWSShape { + public struct InvalidRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WhitelistRules", location: .body(locationName: "whitelistRules"), required: false, type: .list) + AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) ] - public let whitelistRules: [InputWhitelistRuleCidr]? + public let message: String? - public init(whitelistRules: [InputWhitelistRuleCidr]? = nil) { - self.whitelistRules = whitelistRules + public init(message: String? = nil) { + self.message = message } private enum CodingKeys: String, CodingKey { - case whitelistRules = "whitelistRules" + case message = "message" } } - public struct OutputGroupSettings: AWSShape { + public struct AudioChannelMapping: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MsSmoothGroupSettings", location: .body(locationName: "msSmoothGroupSettings"), required: false, type: .structure), - AWSShapeMember(label: "ArchiveGroupSettings", location: .body(locationName: "archiveGroupSettings"), required: false, type: .structure), - AWSShapeMember(label: "UdpGroupSettings", location: .body(locationName: "udpGroupSettings"), required: false, type: .structure), - AWSShapeMember(label: "HlsGroupSettings", location: .body(locationName: "hlsGroupSettings"), required: false, type: .structure) + AWSShapeMember(label: "InputChannelLevels", location: .body(locationName: "inputChannelLevels"), required: true, type: .list), + AWSShapeMember(label: "OutputChannel", location: .body(locationName: "outputChannel"), required: true, type: .integer) ] - public let msSmoothGroupSettings: MsSmoothGroupSettings? - public let archiveGroupSettings: ArchiveGroupSettings? - public let udpGroupSettings: UdpGroupSettings? - public let hlsGroupSettings: HlsGroupSettings? + /// Indices and gain values for each input channel that should be remixed into this output channel. + public let inputChannelLevels: [InputChannelLevel] + /// The index of the output channel being produced. + public let outputChannel: Int32 - public init(msSmoothGroupSettings: MsSmoothGroupSettings? = nil, archiveGroupSettings: ArchiveGroupSettings? = nil, udpGroupSettings: UdpGroupSettings? = nil, hlsGroupSettings: HlsGroupSettings? = nil) { - self.msSmoothGroupSettings = msSmoothGroupSettings - self.archiveGroupSettings = archiveGroupSettings - self.udpGroupSettings = udpGroupSettings - self.hlsGroupSettings = hlsGroupSettings + public init(inputChannelLevels: [InputChannelLevel], outputChannel: Int32) { + self.inputChannelLevels = inputChannelLevels + self.outputChannel = outputChannel } private enum CodingKeys: String, CodingKey { - case msSmoothGroupSettings = "msSmoothGroupSettings" - case archiveGroupSettings = "archiveGroupSettings" - case udpGroupSettings = "udpGroupSettings" - case hlsGroupSettings = "hlsGroupSettings" + case inputChannelLevels = "inputChannelLevels" + case outputChannel = "outputChannel" } } - public enum H264FlickerAq: String, CustomStringConvertible, Codable { + public enum HlsClientCache: String, CustomStringConvertible, Codable { case disabled = "DISABLED" case enabled = "ENABLED" public var description: String { return self.rawValue } } - public struct DvbTdtSettings: AWSShape { + public struct ReservationResourceSpecification: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RepInterval", location: .body(locationName: "repInterval"), required: false, type: .integer) + AWSShapeMember(label: "Codec", location: .body(locationName: "codec"), required: false, type: .enum), + AWSShapeMember(label: "VideoQuality", location: .body(locationName: "videoQuality"), required: false, type: .enum), + AWSShapeMember(label: "MaximumFramerate", location: .body(locationName: "maximumFramerate"), required: false, type: .enum), + AWSShapeMember(label: "ResourceType", location: .body(locationName: "resourceType"), required: false, type: .enum), + AWSShapeMember(label: "SpecialFeature", location: .body(locationName: "specialFeature"), required: false, type: .enum), + AWSShapeMember(label: "Resolution", location: .body(locationName: "resolution"), required: false, type: .enum), + AWSShapeMember(label: "MaximumBitrate", location: .body(locationName: "maximumBitrate"), required: false, type: .enum) ] - /// The number of milliseconds between instances of this table in the output transport stream. - public let repInterval: Int32? + /// Codec, e.g. 'AVC' + public let codec: ReservationCodec? + /// Video quality, e.g. 'STANDARD' (Outputs only) + public let videoQuality: ReservationVideoQuality? + /// Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only) + public let maximumFramerate: ReservationMaximumFramerate? + /// Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL' + public let resourceType: ReservationResourceType? + /// Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) + public let specialFeature: ReservationSpecialFeature? + /// Resolution, e.g. 'HD' + public let resolution: ReservationResolution? + /// Maximum bitrate, e.g. 'MAX_20_MBPS' + public let maximumBitrate: ReservationMaximumBitrate? - public init(repInterval: Int32? = nil) { - self.repInterval = repInterval + public init(codec: ReservationCodec? = nil, videoQuality: ReservationVideoQuality? = nil, maximumFramerate: ReservationMaximumFramerate? = nil, resourceType: ReservationResourceType? = nil, specialFeature: ReservationSpecialFeature? = nil, resolution: ReservationResolution? = nil, maximumBitrate: ReservationMaximumBitrate? = nil) { + self.codec = codec + self.videoQuality = videoQuality + self.maximumFramerate = maximumFramerate + self.resourceType = resourceType + self.specialFeature = specialFeature + self.resolution = resolution + self.maximumBitrate = maximumBitrate } private enum CodingKeys: String, CodingKey { - case repInterval = "repInterval" + case codec = "codec" + case videoQuality = "videoQuality" + case maximumFramerate = "maximumFramerate" + case resourceType = "resourceType" + case specialFeature = "specialFeature" + case resolution = "resolution" + case maximumBitrate = "maximumBitrate" } } - public struct AudioNormalizationSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Algorithm", location: .body(locationName: "algorithm"), required: false, type: .enum), - AWSShapeMember(label: "AlgorithmControl", location: .body(locationName: "algorithmControl"), required: false, type: .enum), - AWSShapeMember(label: "TargetLkfs", location: .body(locationName: "targetLkfs"), required: false, type: .double) - ] - /// Audio normalization algorithm to use. itu17701 conforms to the CALM Act specification, itu17702 conforms to the EBU R-128 specification. - public let algorithm: AudioNormalizationAlgorithm? - /// 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. - public let algorithmControl: AudioNormalizationAlgorithmControl? - /// 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. - public let targetLkfs: Double? + public enum Eac3DrcLine: String, CustomStringConvertible, Codable { + case filmLight = "FILM_LIGHT" + case filmStandard = "FILM_STANDARD" + case musicLight = "MUSIC_LIGHT" + case musicStandard = "MUSIC_STANDARD" + case none = "NONE" + case speech = "SPEECH" + public var description: String { return self.rawValue } + } - public init(algorithm: AudioNormalizationAlgorithm? = nil, algorithmControl: AudioNormalizationAlgorithmControl? = nil, targetLkfs: Double? = nil) { - self.algorithm = algorithm - self.algorithmControl = algorithmControl - self.targetLkfs = targetLkfs - } + public enum DvbSdtOutputSdt: String, CustomStringConvertible, Codable { + case sdtFollow = "SDT_FOLLOW" + case sdtFollowIfPresent = "SDT_FOLLOW_IF_PRESENT" + case sdtManual = "SDT_MANUAL" + case sdtNone = "SDT_NONE" + public var description: String { return self.rawValue } + } - private enum CodingKeys: String, CodingKey { - case algorithm = "algorithm" - case algorithmControl = "algorithmControl" - case targetLkfs = "targetLkfs" - } + public enum BurnInOutlineColor: String, CustomStringConvertible, Codable { + case black = "BLACK" + case blue = "BLUE" + case green = "GREEN" + case red = "RED" + case white = "WHITE" + case yellow = "YELLOW" + public var description: String { return self.rawValue } } - public struct DvbSdtSettings: AWSShape { + public enum RtmpCacheFullBehavior: String, CustomStringConvertible, Codable { + case disconnectImmediately = "DISCONNECT_IMMEDIATELY" + case waitForServer = "WAIT_FOR_SERVER" + public var description: String { return self.rawValue } + } + + public struct Channel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RepInterval", location: .body(locationName: "repInterval"), required: false, type: .integer), - AWSShapeMember(label: "ServiceName", location: .body(locationName: "serviceName"), required: false, type: .string), - AWSShapeMember(label: "ServiceProviderName", location: .body(locationName: "serviceProviderName"), required: false, type: .string), - AWSShapeMember(label: "OutputSdt", location: .body(locationName: "outputSdt"), required: false, type: .enum) + AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), + AWSShapeMember(label: "EgressEndpoints", location: .body(locationName: "egressEndpoints"), required: false, type: .list), + AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), + AWSShapeMember(label: "PipelinesRunningCount", location: .body(locationName: "pipelinesRunningCount"), required: false, type: .integer), + AWSShapeMember(label: "LogLevel", location: .body(locationName: "logLevel"), required: false, type: .enum), + AWSShapeMember(label: "InputSpecification", location: .body(locationName: "inputSpecification"), required: false, type: .structure) ] - /// The number of milliseconds between instances of this table in the output transport stream. - public let repInterval: Int32? - /// The service name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters. - public let serviceName: String? - /// The service provider name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters. - public let serviceProviderName: String? - /// 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. - public let outputSdt: DvbSdtOutputSdt? + /// A list of destinations of the channel. For UDP outputs, there is one + /// destination per output. For other types (HLS, for example), there is + /// one destination per packager. + public let destinations: [OutputDestination]? + /// The unique id of the channel. + public let id: String? + /// The unique arn of the channel. + public let arn: String? + /// List of input attachments for channel. + public let inputAttachments: [InputAttachment]? + /// The name of the channel. (user-mutable) + public let name: String? + public let state: ChannelState? + public let encoderSettings: EncoderSettings? + /// The endpoints where outgoing connections initiate from + public let egressEndpoints: [ChannelEgressEndpoint]? + /// The Amazon Resource Name (ARN) of the role assumed when running the Channel. + public let roleArn: String? + /// The number of currently healthy pipelines. + public let pipelinesRunningCount: Int32? + /// The log level being written to CloudWatch Logs. + public let logLevel: LogLevel? + public let inputSpecification: InputSpecification? - public init(repInterval: Int32? = nil, serviceName: String? = nil, serviceProviderName: String? = nil, outputSdt: DvbSdtOutputSdt? = nil) { - self.repInterval = repInterval - self.serviceName = serviceName - self.serviceProviderName = serviceProviderName - self.outputSdt = outputSdt + public init(destinations: [OutputDestination]? = nil, id: String? = nil, arn: String? = nil, inputAttachments: [InputAttachment]? = nil, name: String? = nil, state: ChannelState? = nil, encoderSettings: EncoderSettings? = nil, egressEndpoints: [ChannelEgressEndpoint]? = nil, roleArn: String? = nil, pipelinesRunningCount: Int32? = nil, logLevel: LogLevel? = nil, inputSpecification: InputSpecification? = nil) { + self.destinations = destinations + self.id = id + self.arn = arn + self.inputAttachments = inputAttachments + self.name = name + self.state = state + self.encoderSettings = encoderSettings + self.egressEndpoints = egressEndpoints + self.roleArn = roleArn + self.pipelinesRunningCount = pipelinesRunningCount + self.logLevel = logLevel + self.inputSpecification = inputSpecification } private enum CodingKeys: String, CodingKey { - case repInterval = "repInterval" - case serviceName = "serviceName" - case serviceProviderName = "serviceProviderName" - case outputSdt = "outputSdt" + case destinations = "destinations" + case id = "id" + case arn = "arn" + case inputAttachments = "inputAttachments" + case name = "name" + case state = "state" + case encoderSettings = "encoderSettings" + case egressEndpoints = "egressEndpoints" + case roleArn = "roleArn" + case pipelinesRunningCount = "pipelinesRunningCount" + case logLevel = "logLevel" + case inputSpecification = "inputSpecification" } } - public struct AribDestinationSettings: AWSShape { - + public enum InputType: String, CustomStringConvertible, Codable { + case udpPush = "UDP_PUSH" + case rtpPush = "RTP_PUSH" + case rtmpPush = "RTMP_PUSH" + case rtmpPull = "RTMP_PULL" + case urlPull = "URL_PULL" + public var description: String { return self.rawValue } } - public struct StaticKeySettings: AWSShape { + public struct CreateChannelResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "KeyProviderServer", location: .body(locationName: "keyProviderServer"), required: false, type: .structure), - AWSShapeMember(label: "StaticKeyValue", location: .body(locationName: "staticKeyValue"), required: false, type: .string) + AWSShapeMember(label: "Channel", location: .body(locationName: "channel"), required: false, type: .structure) ] - /// The URL of the license server used for protecting content. - public let keyProviderServer: InputLocation? - /// Static key value as a 32 character hexadecimal string. - public let staticKeyValue: String? + public let channel: Channel? - public init(keyProviderServer: InputLocation? = nil, staticKeyValue: String? = nil) { - self.keyProviderServer = keyProviderServer - self.staticKeyValue = staticKeyValue + public init(channel: Channel? = nil) { + self.channel = channel } private enum CodingKeys: String, CodingKey { - case keyProviderServer = "keyProviderServer" - case staticKeyValue = "staticKeyValue" + case channel = "channel" } } - public enum H264ColorMetadata: String, CustomStringConvertible, Codable { - case ignore = "IGNORE" - case insert = "INSERT" - public var description: String { return self.rawValue } - } - - public struct CreateInputSecurityGroupResultModel: AWSShape { + public struct StopChannelRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SecurityGroup", location: .body(locationName: "securityGroup"), required: false, type: .structure) + AWSShapeMember(label: "ChannelId", location: .uri(locationName: "channelId"), required: true, type: .string) ] - public let securityGroup: InputSecurityGroup? + public let channelId: String - public init(securityGroup: InputSecurityGroup? = nil) { - self.securityGroup = securityGroup + public init(channelId: String) { + self.channelId = channelId } private enum CodingKeys: String, CodingKey { - case securityGroup = "securityGroup" + case channelId = "channelId" } } - public enum Eac3StereoDownmix: String, CustomStringConvertible, Codable { - case dpl2 = "DPL2" - case loRo = "LO_RO" - case ltRt = "LT_RT" - case notIndicated = "NOT_INDICATED" + public enum ReservationResolution: String, CustomStringConvertible, Codable { + case sd = "SD" + case hd = "HD" + case uhd = "UHD" public var description: String { return self.rawValue } } - public struct DescribeInputSecurityGroupRequest: AWSShape { + public struct Ac3Settings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InputSecurityGroupId", location: .uri(locationName: "inputSecurityGroupId"), required: true, type: .string) + AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: false, type: .enum), + AWSShapeMember(label: "DrcProfile", location: .body(locationName: "drcProfile"), required: false, type: .enum), + AWSShapeMember(label: "LfeFilter", location: .body(locationName: "lfeFilter"), required: false, type: .enum), + AWSShapeMember(label: "BitstreamMode", location: .body(locationName: "bitstreamMode"), required: false, type: .enum), + AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .double), + AWSShapeMember(label: "MetadataControl", location: .body(locationName: "metadataControl"), required: false, type: .enum), + AWSShapeMember(label: "Dialnorm", location: .body(locationName: "dialnorm"), required: false, type: .integer) ] - public let inputSecurityGroupId: String + /// Dolby Digital coding mode. Determines number of channels. + public let codingMode: Ac3CodingMode? + /// If set to filmStandard, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification. + public let drcProfile: Ac3DrcProfile? + /// When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid in codingMode32Lfe mode. + public let lfeFilter: Ac3LfeFilter? + /// Specifies the bitstream mode (bsmod) for the emitted AC-3 stream. See ATSC A/52-2012 for background on these values. + public let bitstreamMode: Ac3BitstreamMode? + /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. + public let bitrate: Double? + /// 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. + public let metadataControl: Ac3MetadataControl? + /// Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, dialnorm will be passed through. + public let dialnorm: Int32? - public init(inputSecurityGroupId: String) { - self.inputSecurityGroupId = inputSecurityGroupId + public init(codingMode: Ac3CodingMode? = nil, drcProfile: Ac3DrcProfile? = nil, lfeFilter: Ac3LfeFilter? = nil, bitstreamMode: Ac3BitstreamMode? = nil, bitrate: Double? = nil, metadataControl: Ac3MetadataControl? = nil, dialnorm: Int32? = nil) { + self.codingMode = codingMode + self.drcProfile = drcProfile + self.lfeFilter = lfeFilter + self.bitstreamMode = bitstreamMode + self.bitrate = bitrate + self.metadataControl = metadataControl + self.dialnorm = dialnorm } private enum CodingKeys: String, CodingKey { - case inputSecurityGroupId = "inputSecurityGroupId" + case codingMode = "codingMode" + case drcProfile = "drcProfile" + case lfeFilter = "lfeFilter" + case bitstreamMode = "bitstreamMode" + case bitrate = "bitrate" + case metadataControl = "metadataControl" + case dialnorm = "dialnorm" } } - public enum M2tsSegmentationStyle: String, CustomStringConvertible, Codable { - case maintainCadence = "MAINTAIN_CADENCE" - case resetCadence = "RESET_CADENCE" + public enum H264SpatialAq: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum M2tsSegmentationMarkers: String, CustomStringConvertible, Codable { - case ebp = "EBP" - case ebpLegacy = "EBP_LEGACY" - case none = "NONE" - case psiSegstart = "PSI_SEGSTART" - case raiAdapt = "RAI_ADAPT" - case raiSegstart = "RAI_SEGSTART" + public enum VideoDescriptionScalingBehavior: String, CustomStringConvertible, Codable { + case `default` = "DEFAULT" + case stretchToOutput = "STRETCH_TO_OUTPUT" public var description: String { return self.rawValue } } - public enum AacSpec: String, CustomStringConvertible, Codable { - case mpeg2 = "MPEG2" - case mpeg4 = "MPEG4" + public enum DvbSubDestinationFontColor: String, CustomStringConvertible, Codable { + case black = "BLACK" + case blue = "BLUE" + case green = "GREEN" + case red = "RED" + case white = "WHITE" + case yellow = "YELLOW" public var description: String { return self.rawValue } } - public struct Mp2Settings: AWSShape { + public struct DescribeReservationResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: false, type: .enum), - AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .double), - AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .double) + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "OfferingId", location: .body(locationName: "offeringId"), required: false, type: .string), + AWSShapeMember(label: "UsagePrice", location: .body(locationName: "usagePrice"), required: false, type: .double), + AWSShapeMember(label: "Region", location: .body(locationName: "region"), required: false, type: .string), + AWSShapeMember(label: "Count", location: .body(locationName: "count"), required: false, type: .integer), + AWSShapeMember(label: "OfferingType", location: .body(locationName: "offeringType"), required: false, type: .enum), + AWSShapeMember(label: "ResourceSpecification", location: .body(locationName: "resourceSpecification"), required: false, type: .structure), + AWSShapeMember(label: "ReservationId", location: .body(locationName: "reservationId"), required: false, type: .string), + AWSShapeMember(label: "OfferingDescription", location: .body(locationName: "offeringDescription"), required: false, type: .string), + AWSShapeMember(label: "Start", location: .body(locationName: "start"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "End", location: .body(locationName: "end"), required: false, type: .string), + AWSShapeMember(label: "CurrencyCode", location: .body(locationName: "currencyCode"), required: false, type: .string), + AWSShapeMember(label: "DurationUnits", location: .body(locationName: "durationUnits"), required: false, type: .enum), + AWSShapeMember(label: "Duration", location: .body(locationName: "duration"), required: false, type: .integer), + AWSShapeMember(label: "FixedPrice", location: .body(locationName: "fixedPrice"), required: false, type: .double) ] - /// The MPEG2 Audio coding mode. Valid values are codingMode10 (for mono) or codingMode20 (for stereo). - public let codingMode: Mp2CodingMode? - /// Average bitrate in bits/second. - public let bitrate: Double? - /// Sample rate in Hz. - public let sampleRate: Double? + public let arn: String? + public let state: ReservationState? + public let offeringId: String? + public let usagePrice: Double? + public let region: String? + public let count: Int32? + public let offeringType: OfferingType? + public let resourceSpecification: ReservationResourceSpecification? + public let reservationId: String? + public let offeringDescription: String? + public let start: String? + public let name: String? + public let end: String? + public let currencyCode: String? + public let durationUnits: OfferingDurationUnits? + public let duration: Int32? + public let fixedPrice: Double? - public init(codingMode: Mp2CodingMode? = nil, bitrate: Double? = nil, sampleRate: Double? = nil) { - self.codingMode = codingMode - self.bitrate = bitrate - self.sampleRate = sampleRate + public init(arn: String? = nil, state: ReservationState? = nil, offeringId: String? = nil, usagePrice: Double? = nil, region: String? = nil, count: Int32? = nil, offeringType: OfferingType? = nil, resourceSpecification: ReservationResourceSpecification? = nil, reservationId: String? = nil, offeringDescription: String? = nil, start: String? = nil, name: String? = nil, end: String? = nil, currencyCode: String? = nil, durationUnits: OfferingDurationUnits? = nil, duration: Int32? = nil, fixedPrice: Double? = nil) { + self.arn = arn + self.state = state + self.offeringId = offeringId + self.usagePrice = usagePrice + self.region = region + self.count = count + self.offeringType = offeringType + self.resourceSpecification = resourceSpecification + self.reservationId = reservationId + self.offeringDescription = offeringDescription + self.start = start + self.name = name + self.end = end + self.currencyCode = currencyCode + self.durationUnits = durationUnits + self.duration = duration + self.fixedPrice = fixedPrice } private enum CodingKeys: String, CodingKey { - case codingMode = "codingMode" - case bitrate = "bitrate" - case sampleRate = "sampleRate" + case arn = "arn" + case state = "state" + case offeringId = "offeringId" + case usagePrice = "usagePrice" + case region = "region" + case count = "count" + case offeringType = "offeringType" + case resourceSpecification = "resourceSpecification" + case reservationId = "reservationId" + case offeringDescription = "offeringDescription" + case start = "start" + case name = "name" + case end = "end" + case currencyCode = "currencyCode" + case durationUnits = "durationUnits" + case duration = "duration" + case fixedPrice = "fixedPrice" } } - public struct Scte35TimeSignalApos: AWSShape { + public enum HlsProgramDateTime: String, CustomStringConvertible, Codable { + case exclude = "EXCLUDE" + case include = "INCLUDE" + public var description: String { return self.rawValue } + } + + public enum InputDenoiseFilter: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public enum M2tsArib: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" + public var description: String { return self.rawValue } + } + + public struct CaptionDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NoRegionalBlackoutFlag", location: .body(locationName: "noRegionalBlackoutFlag"), required: false, type: .enum), - AWSShapeMember(label: "AdAvailOffset", location: .body(locationName: "adAvailOffset"), required: false, type: .integer), - AWSShapeMember(label: "WebDeliveryAllowedFlag", location: .body(locationName: "webDeliveryAllowedFlag"), required: false, type: .enum) + AWSShapeMember(label: "CaptionSelectorName", location: .body(locationName: "captionSelectorName"), required: true, type: .string), + AWSShapeMember(label: "LanguageDescription", location: .body(locationName: "languageDescription"), required: false, type: .string), + AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), + AWSShapeMember(label: "DestinationSettings", location: .body(locationName: "destinationSettings"), required: false, type: .structure) ] - /// When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates - public let noRegionalBlackoutFlag: Scte35AposNoRegionalBlackoutBehavior? - /// 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. - public let adAvailOffset: Int32? - /// When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates - public let webDeliveryAllowedFlag: Scte35AposWebDeliveryAllowedBehavior? + /// Specifies which input caption selector to use as a caption source when generating output captions. This field should match a captionSelector name. + public let captionSelectorName: String + /// Human readable information to indicate captions available for players (eg. English, or Spanish). + public let languageDescription: String? + /// ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/ + public let languageCode: String? + /// Name of the caption description. Used to associate a caption description with an output. Names must be unique within an event. + public let name: String + /// Additional settings for captions destination that depend on the destination type. + public let destinationSettings: CaptionDestinationSettings? - public init(noRegionalBlackoutFlag: Scte35AposNoRegionalBlackoutBehavior? = nil, adAvailOffset: Int32? = nil, webDeliveryAllowedFlag: Scte35AposWebDeliveryAllowedBehavior? = nil) { - self.noRegionalBlackoutFlag = noRegionalBlackoutFlag - self.adAvailOffset = adAvailOffset - self.webDeliveryAllowedFlag = webDeliveryAllowedFlag + public init(captionSelectorName: String, languageDescription: String? = nil, languageCode: String? = nil, name: String, destinationSettings: CaptionDestinationSettings? = nil) { + self.captionSelectorName = captionSelectorName + self.languageDescription = languageDescription + self.languageCode = languageCode + self.name = name + self.destinationSettings = destinationSettings } private enum CodingKeys: String, CodingKey { - case noRegionalBlackoutFlag = "noRegionalBlackoutFlag" - case adAvailOffset = "adAvailOffset" - case webDeliveryAllowedFlag = "webDeliveryAllowedFlag" + case captionSelectorName = "captionSelectorName" + case languageDescription = "languageDescription" + case languageCode = "languageCode" + case name = "name" + case destinationSettings = "destinationSettings" } } - public struct AudioCodecSettings: AWSShape { + public struct Scte20PlusEmbeddedDestinationSettings: AWSShape { + + } + + public struct ListInputSecurityGroupsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Mp2Settings", location: .body(locationName: "mp2Settings"), required: false, type: .structure), - AWSShapeMember(label: "AacSettings", location: .body(locationName: "aacSettings"), required: false, type: .structure), - AWSShapeMember(label: "Ac3Settings", location: .body(locationName: "ac3Settings"), required: false, type: .structure), - AWSShapeMember(label: "PassThroughSettings", location: .body(locationName: "passThroughSettings"), required: false, type: .structure), - AWSShapeMember(label: "Eac3Settings", location: .body(locationName: "eac3Settings"), required: false, type: .structure) + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "InputSecurityGroups", location: .body(locationName: "inputSecurityGroups"), required: false, type: .list) ] - public let mp2Settings: Mp2Settings? - public let aacSettings: AacSettings? - public let ac3Settings: Ac3Settings? - public let passThroughSettings: PassThroughSettings? - public let eac3Settings: Eac3Settings? + public let nextToken: String? + public let inputSecurityGroups: [InputSecurityGroup]? - public init(mp2Settings: Mp2Settings? = nil, aacSettings: AacSettings? = nil, ac3Settings: Ac3Settings? = nil, passThroughSettings: PassThroughSettings? = nil, eac3Settings: Eac3Settings? = nil) { - self.mp2Settings = mp2Settings - self.aacSettings = aacSettings - self.ac3Settings = ac3Settings - self.passThroughSettings = passThroughSettings - self.eac3Settings = eac3Settings + public init(nextToken: String? = nil, inputSecurityGroups: [InputSecurityGroup]? = nil) { + self.nextToken = nextToken + self.inputSecurityGroups = inputSecurityGroups } private enum CodingKeys: String, CodingKey { - case mp2Settings = "mp2Settings" - case aacSettings = "aacSettings" - case ac3Settings = "ac3Settings" - case passThroughSettings = "passThroughSettings" - case eac3Settings = "eac3Settings" + case nextToken = "nextToken" + case inputSecurityGroups = "inputSecurityGroups" } } - public enum HlsIvSource: String, CustomStringConvertible, Codable { - case explicit = "EXPLICIT" - case followsSegmentNumber = "FOLLOWS_SEGMENT_NUMBER" - public var description: String { return self.rawValue } - } - - public struct AvailConfiguration: AWSShape { + public struct AudioLanguageSelection: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AvailSettings", location: .body(locationName: "availSettings"), required: false, type: .structure) + AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: true, type: .string), + AWSShapeMember(label: "LanguageSelectionPolicy", location: .body(locationName: "languageSelectionPolicy"), required: false, type: .enum) ] - /// Ad avail settings. - public let availSettings: AvailSettings? + /// Selects a specific three-letter language code from within an audio source. + public let languageCode: String + /// 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. + public let languageSelectionPolicy: AudioLanguageSelectionPolicy? - public init(availSettings: AvailSettings? = nil) { - self.availSettings = availSettings + public init(languageCode: String, languageSelectionPolicy: AudioLanguageSelectionPolicy? = nil) { + self.languageCode = languageCode + self.languageSelectionPolicy = languageSelectionPolicy } private enum CodingKeys: String, CodingKey { - case availSettings = "availSettings" + case languageCode = "languageCode" + case languageSelectionPolicy = "languageSelectionPolicy" } } - public struct StopChannelResponse: AWSShape { + public struct CreateChannelRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), - AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), - AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "EgressEndpoints", location: .body(locationName: "egressEndpoints"), required: false, type: .list), + AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), + AWSShapeMember(label: "Reserved", location: .body(locationName: "reserved"), required: false, type: .string), AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), - AWSShapeMember(label: "PipelinesRunningCount", location: .body(locationName: "pipelinesRunningCount"), required: false, type: .integer), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + AWSShapeMember(label: "RequestId", location: .body(locationName: "requestId"), required: false, type: .string), + AWSShapeMember(label: "LogLevel", location: .body(locationName: "logLevel"), required: false, type: .enum), + AWSShapeMember(label: "InputSpecification", location: .body(locationName: "inputSpecification"), required: false, type: .structure) ] public let destinations: [OutputDestination]? - public let arn: String? public let inputAttachments: [InputAttachment]? - public let state: ChannelState? - public let encoderSettings: EncoderSettings? public let name: String? - public let egressEndpoints: [ChannelEgressEndpoint]? + public let encoderSettings: EncoderSettings? + public let reserved: String? public let roleArn: String? - public let pipelinesRunningCount: Int32? - public let id: String? + public let requestId: String? + public let logLevel: LogLevel? + public let inputSpecification: InputSpecification? - public init(destinations: [OutputDestination]? = nil, arn: String? = nil, inputAttachments: [InputAttachment]? = nil, state: ChannelState? = nil, encoderSettings: EncoderSettings? = nil, name: String? = nil, egressEndpoints: [ChannelEgressEndpoint]? = nil, roleArn: String? = nil, pipelinesRunningCount: Int32? = nil, id: String? = nil) { + public init(destinations: [OutputDestination]? = nil, inputAttachments: [InputAttachment]? = nil, name: String? = nil, encoderSettings: EncoderSettings? = nil, reserved: String? = nil, roleArn: String? = nil, requestId: String? = nil, logLevel: LogLevel? = nil, inputSpecification: InputSpecification? = nil) { self.destinations = destinations - self.arn = arn self.inputAttachments = inputAttachments - self.state = state - self.encoderSettings = encoderSettings self.name = name - self.egressEndpoints = egressEndpoints + self.encoderSettings = encoderSettings + self.reserved = reserved self.roleArn = roleArn - self.pipelinesRunningCount = pipelinesRunningCount - self.id = id + self.requestId = requestId + self.logLevel = logLevel + self.inputSpecification = inputSpecification } private enum CodingKeys: String, CodingKey { case destinations = "destinations" - case arn = "arn" case inputAttachments = "inputAttachments" - case state = "state" - case encoderSettings = "encoderSettings" case name = "name" - case egressEndpoints = "egressEndpoints" + case encoderSettings = "encoderSettings" + case reserved = "reserved" case roleArn = "roleArn" - case pipelinesRunningCount = "pipelinesRunningCount" - case id = "id" + case requestId = "requestId" + case logLevel = "logLevel" + case inputSpecification = "inputSpecification" } } - public struct AvailSettings: AWSShape { + public struct OutputDestination: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Scte35TimeSignalApos", location: .body(locationName: "scte35TimeSignalApos"), required: false, type: .structure), - AWSShapeMember(label: "Scte35SpliceInsert", location: .body(locationName: "scte35SpliceInsert"), required: false, type: .structure) + AWSShapeMember(label: "Settings", location: .body(locationName: "settings"), required: false, type: .list), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) ] - public let scte35TimeSignalApos: Scte35TimeSignalApos? - public let scte35SpliceInsert: Scte35SpliceInsert? + /// Destination settings for output; one for each redundant encoder. + public let settings: [OutputDestinationSettings]? + /// User-specified id. This is used in an output group or an output. + public let id: String? - public init(scte35TimeSignalApos: Scte35TimeSignalApos? = nil, scte35SpliceInsert: Scte35SpliceInsert? = nil) { - self.scte35TimeSignalApos = scte35TimeSignalApos - self.scte35SpliceInsert = scte35SpliceInsert + public init(settings: [OutputDestinationSettings]? = nil, id: String? = nil) { + self.settings = settings + self.id = id } private enum CodingKeys: String, CodingKey { - case scte35TimeSignalApos = "scte35TimeSignalApos" - case scte35SpliceInsert = "scte35SpliceInsert" + case settings = "settings" + case id = "id" } } - public struct EmbeddedPlusScte20DestinationSettings: AWSShape { + public struct DeleteChannelRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ChannelId", location: .uri(locationName: "channelId"), required: true, type: .string) + ] + public let channelId: String + + public init(channelId: String) { + self.channelId = channelId + } + private enum CodingKeys: String, CodingKey { + case channelId = "channelId" + } } - public enum HlsManifestCompression: String, CustomStringConvertible, Codable { - case gzip = "GZIP" - case none = "NONE" + public enum H264GopBReference: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public enum AacRawFormat: String, CustomStringConvertible, Codable { - case latmLoas = "LATM_LOAS" - case none = "NONE" + public enum HlsStreamInfResolution: String, CustomStringConvertible, Codable { + case exclude = "EXCLUDE" + case include = "INCLUDE" public var description: String { return self.rawValue } } - public struct DescribeChannelResponse: AWSShape { + public struct VideoSelectorProgramId: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), - AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), - AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "EgressEndpoints", location: .body(locationName: "egressEndpoints"), required: false, type: .list), - AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), - AWSShapeMember(label: "PipelinesRunningCount", location: .body(locationName: "pipelinesRunningCount"), required: false, type: .integer), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + AWSShapeMember(label: "ProgramId", location: .body(locationName: "programId"), required: false, type: .integer) ] - public let destinations: [OutputDestination]? - public let arn: String? - public let inputAttachments: [InputAttachment]? - public let state: ChannelState? - public let encoderSettings: EncoderSettings? - public let name: String? - public let egressEndpoints: [ChannelEgressEndpoint]? - public let roleArn: String? - public let pipelinesRunningCount: Int32? - public let id: String? + /// 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. + public let programId: Int32? - public init(destinations: [OutputDestination]? = nil, arn: String? = nil, inputAttachments: [InputAttachment]? = nil, state: ChannelState? = nil, encoderSettings: EncoderSettings? = nil, name: String? = nil, egressEndpoints: [ChannelEgressEndpoint]? = nil, roleArn: String? = nil, pipelinesRunningCount: Int32? = nil, id: String? = nil) { - self.destinations = destinations - self.arn = arn - self.inputAttachments = inputAttachments - self.state = state - self.encoderSettings = encoderSettings - self.name = name - self.egressEndpoints = egressEndpoints - self.roleArn = roleArn - self.pipelinesRunningCount = pipelinesRunningCount - self.id = id + public init(programId: Int32? = nil) { + self.programId = programId } private enum CodingKeys: String, CodingKey { - case destinations = "destinations" - case arn = "arn" - case inputAttachments = "inputAttachments" - case state = "state" - case encoderSettings = "encoderSettings" - case name = "name" - case egressEndpoints = "egressEndpoints" - case roleArn = "roleArn" - case pipelinesRunningCount = "pipelinesRunningCount" - case id = "id" + case programId = "programId" } } - public enum AudioDescriptionLanguageCodeControl: String, CustomStringConvertible, Codable { - case followInput = "FOLLOW_INPUT" - case useConfigured = "USE_CONFIGURED" - public var description: String { return self.rawValue } - } - - public struct InputDestinationRequest: AWSShape { + public struct StandardHlsSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StreamName", location: .body(locationName: "streamName"), required: false, type: .string) + AWSShapeMember(label: "AudioRenditionSets", location: .body(locationName: "audioRenditionSets"), required: false, type: .string), + AWSShapeMember(label: "M3u8Settings", location: .body(locationName: "m3u8Settings"), required: true, type: .structure) ] - /// A unique name for the location the RTMP stream is being pushed - /// to. - public let streamName: String? + /// 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 ','. + public let audioRenditionSets: String? + public let m3u8Settings: M3u8Settings - public init(streamName: String? = nil) { - self.streamName = streamName + public init(audioRenditionSets: String? = nil, m3u8Settings: M3u8Settings) { + self.audioRenditionSets = audioRenditionSets + self.m3u8Settings = m3u8Settings } private enum CodingKeys: String, CodingKey { - case streamName = "streamName" + case audioRenditionSets = "audioRenditionSets" + case m3u8Settings = "m3u8Settings" } } - public struct EmbeddedSourceSettings: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Source608ChannelNumber", location: .body(locationName: "source608ChannelNumber"), required: false, type: .integer), - AWSShapeMember(label: "Convert608To708", location: .body(locationName: "convert608To708"), required: false, type: .enum), - AWSShapeMember(label: "Source608TrackNumber", location: .body(locationName: "source608TrackNumber"), required: false, type: .integer), - AWSShapeMember(label: "Scte20Detection", location: .body(locationName: "scte20Detection"), required: false, type: .enum) - ] - /// Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough. - public let source608ChannelNumber: Int32? - /// 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. - public let convert608To708: EmbeddedConvert608To708? - /// This field is unused and deprecated. - public let source608TrackNumber: Int32? - /// Set to "auto" to handle streams with intermittent and/or non-aligned SCTE-20 and Embedded captions. - public let scte20Detection: EmbeddedScte20Detection? + public enum HlsMediaStoreStorageClass: String, CustomStringConvertible, Codable { + case temporal = "TEMPORAL" + public var description: String { return self.rawValue } + } - public init(source608ChannelNumber: Int32? = nil, convert608To708: EmbeddedConvert608To708? = nil, source608TrackNumber: Int32? = nil, scte20Detection: EmbeddedScte20Detection? = nil) { - self.source608ChannelNumber = source608ChannelNumber - self.convert608To708 = convert608To708 - self.source608TrackNumber = source608TrackNumber - self.scte20Detection = scte20Detection - } + public enum VideoSelectorColorSpaceUsage: String, CustomStringConvertible, Codable { + case fallback = "FALLBACK" + case force = "FORCE" + public var description: String { return self.rawValue } + } + + public struct SmpteTtDestinationSettings: AWSShape { - private enum CodingKeys: String, CodingKey { - case source608ChannelNumber = "source608ChannelNumber" - case convert608To708 = "convert608To708" - case source608TrackNumber = "source608TrackNumber" - case scte20Detection = "scte20Detection" - } } - public struct VideoSelectorSettings: AWSShape { + public enum M2tsEbifControl: String, CustomStringConvertible, Codable { + case none = "NONE" + case passthrough = "PASSTHROUGH" + public var description: String { return self.rawValue } + } + + public enum GlobalConfigurationInputEndAction: String, CustomStringConvertible, Codable { + case none = "NONE" + case switchAndLoopInputs = "SWITCH_AND_LOOP_INPUTS" + public var description: String { return self.rawValue } + } + + public struct Input: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "VideoSelectorPid", location: .body(locationName: "videoSelectorPid"), required: false, type: .structure), - AWSShapeMember(label: "VideoSelectorProgramId", location: .body(locationName: "videoSelectorProgramId"), required: false, type: .structure) + AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), + AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "securityGroups"), required: false, type: .list), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "AttachedChannels", location: .body(locationName: "attachedChannels"), required: false, type: .list), + AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "Sources", location: .body(locationName: "sources"), required: false, type: .list), + AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) ] - public let videoSelectorPid: VideoSelectorPid? - public let videoSelectorProgramId: VideoSelectorProgramId? + /// A list of the destinations of the input (PUSH-type). + public let destinations: [InputDestination]? + /// A list of IDs for all the security groups attached to the input. + public let securityGroups: [String]? + /// The Unique ARN of the input (generated, immutable). + public let arn: String? + /// A list of channel IDs that that input is attached to (currently an input can only be attached to one channel). + public let attachedChannels: [String]? + public let state: InputState? + /// The user-assigned name (This is a mutable value). + public let name: String? + /// A list of the sources of the input (PULL-type). + public let sources: [InputSource]? + public let `type`: InputType? + /// The generated ID of the input (unique for user account, immutable). + public let id: String? - public init(videoSelectorPid: VideoSelectorPid? = nil, videoSelectorProgramId: VideoSelectorProgramId? = nil) { - self.videoSelectorPid = videoSelectorPid - self.videoSelectorProgramId = videoSelectorProgramId + public init(destinations: [InputDestination]? = nil, securityGroups: [String]? = nil, arn: String? = nil, attachedChannels: [String]? = nil, state: InputState? = nil, name: String? = nil, sources: [InputSource]? = nil, type: InputType? = nil, id: String? = nil) { + self.destinations = destinations + self.securityGroups = securityGroups + self.arn = arn + self.attachedChannels = attachedChannels + self.state = state + self.name = name + self.sources = sources + self.`type` = `type` + self.id = id } private enum CodingKeys: String, CodingKey { - case videoSelectorPid = "videoSelectorPid" - case videoSelectorProgramId = "videoSelectorProgramId" + case destinations = "destinations" + case securityGroups = "securityGroups" + case arn = "arn" + case attachedChannels = "attachedChannels" + case state = "state" + case name = "name" + case sources = "sources" + case `type` = "type" + case id = "id" } } - public enum AudioLanguageSelectionPolicy: String, CustomStringConvertible, Codable { - case loose = "LOOSE" - case strict = "STRICT" + public enum M2tsScte35Control: String, CustomStringConvertible, Codable { + case none = "NONE" + case passthrough = "PASSTHROUGH" public var description: String { return self.rawValue } } - public enum HlsTsFileMode: String, CustomStringConvertible, Codable { - case segmentedFiles = "SEGMENTED_FILES" - case singleFile = "SINGLE_FILE" + public enum EmbeddedConvert608To708: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case upconvert = "UPCONVERT" public var description: String { return self.rawValue } } - public enum NetworkInputServerValidation: String, CustomStringConvertible, Codable { - case checkCryptographyAndValidateName = "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" - case checkCryptographyOnly = "CHECK_CRYPTOGRAPHY_ONLY" + public enum H264ParControl: String, CustomStringConvertible, Codable { + case initializeFromSource = "INITIALIZE_FROM_SOURCE" + case specified = "SPECIFIED" public var description: String { return self.rawValue } } - public enum InputDeblockFilter: String, CustomStringConvertible, Codable { + public enum H264FlickerAq: String, CustomStringConvertible, Codable { case disabled = "DISABLED" case enabled = "ENABLED" public var description: String { return self.rawValue } } - public struct InputSecurityGroupWhitelistRequest: AWSShape { + public struct DvbTdtSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WhitelistRules", location: .body(locationName: "whitelistRules"), required: false, type: .list) + AWSShapeMember(label: "RepInterval", location: .body(locationName: "repInterval"), required: false, type: .integer) ] - /// List of IPv4 CIDR addresses to whitelist - public let whitelistRules: [InputWhitelistRuleCidr]? + /// The number of milliseconds between instances of this table in the output transport stream. + public let repInterval: Int32? - public init(whitelistRules: [InputWhitelistRuleCidr]? = nil) { - self.whitelistRules = whitelistRules + public init(repInterval: Int32? = nil) { + self.repInterval = repInterval } private enum CodingKeys: String, CodingKey { - case whitelistRules = "whitelistRules" + case repInterval = "repInterval" } } - public struct Empty: AWSShape { + public struct DvbSdtSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RepInterval", location: .body(locationName: "repInterval"), required: false, type: .integer), + AWSShapeMember(label: "ServiceName", location: .body(locationName: "serviceName"), required: false, type: .string), + AWSShapeMember(label: "ServiceProviderName", location: .body(locationName: "serviceProviderName"), required: false, type: .string), + AWSShapeMember(label: "OutputSdt", location: .body(locationName: "outputSdt"), required: false, type: .enum) + ] + /// The number of milliseconds between instances of this table in the output transport stream. + public let repInterval: Int32? + /// The service name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters. + public let serviceName: String? + /// The service provider name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters. + public let serviceProviderName: String? + /// 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. + public let outputSdt: DvbSdtOutputSdt? + + public init(repInterval: Int32? = nil, serviceName: String? = nil, serviceProviderName: String? = nil, outputSdt: DvbSdtOutputSdt? = nil) { + self.repInterval = repInterval + self.serviceName = serviceName + self.serviceProviderName = serviceProviderName + self.outputSdt = outputSdt + } + + private enum CodingKeys: String, CodingKey { + case repInterval = "repInterval" + case serviceName = "serviceName" + case serviceProviderName = "serviceProviderName" + case outputSdt = "outputSdt" + } + } + + public struct AribDestinationSettings: AWSShape { } - public struct LimitExceeded: AWSShape { + public struct StaticKeySettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string) + AWSShapeMember(label: "KeyProviderServer", location: .body(locationName: "keyProviderServer"), required: true, type: .structure), + AWSShapeMember(label: "StaticKeyValue", location: .body(locationName: "staticKeyValue"), required: true, type: .string) ] - public let message: String? + /// The URL of the license server used for protecting content. + public let keyProviderServer: InputLocation + /// Static key value as a 32 character hexadecimal string. + public let staticKeyValue: String - public init(message: String? = nil) { - self.message = message + public init(keyProviderServer: InputLocation, staticKeyValue: String) { + self.keyProviderServer = keyProviderServer + self.staticKeyValue = staticKeyValue } private enum CodingKeys: String, CodingKey { - case message = "message" + case keyProviderServer = "keyProviderServer" + case staticKeyValue = "staticKeyValue" } } - public struct DescribeInputRequest: AWSShape { + public struct CreateInputSecurityGroupResultModel: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InputId", location: .uri(locationName: "inputId"), required: true, type: .string) + AWSShapeMember(label: "SecurityGroup", location: .body(locationName: "securityGroup"), required: false, type: .structure) ] - public let inputId: String + public let securityGroup: InputSecurityGroup? - public init(inputId: String) { - self.inputId = inputId + public init(securityGroup: InputSecurityGroup? = nil) { + self.securityGroup = securityGroup } private enum CodingKeys: String, CodingKey { - case inputId = "inputId" + case securityGroup = "securityGroup" } } - public enum HlsTimedMetadataId3Frame: String, CustomStringConvertible, Codable { + public enum Eac3StereoDownmix: String, CustomStringConvertible, Codable { + case dpl2 = "DPL2" + case loRo = "LO_RO" + case ltRt = "LT_RT" + case notIndicated = "NOT_INDICATED" + public var description: String { return self.rawValue } + } + + public struct UpdateInputResultModel: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Input", location: .body(locationName: "input"), required: false, type: .structure) + ] + public let input: Input? + + public init(input: Input? = nil) { + self.input = input + } + + private enum CodingKeys: String, CodingKey { + case input = "input" + } + } + + public enum LogLevel: String, CustomStringConvertible, Codable { + case error = "ERROR" + case warning = "WARNING" + case info = "INFO" + case debug = "DEBUG" + case disabled = "DISABLED" + public var description: String { return self.rawValue } + } + + public enum M2tsSegmentationStyle: String, CustomStringConvertible, Codable { + case maintainCadence = "MAINTAIN_CADENCE" + case resetCadence = "RESET_CADENCE" + public var description: String { return self.rawValue } + } + + public enum M2tsSegmentationMarkers: String, CustomStringConvertible, Codable { + case ebp = "EBP" + case ebpLegacy = "EBP_LEGACY" case none = "NONE" - case priv = "PRIV" - case tdrl = "TDRL" + case psiSegstart = "PSI_SEGSTART" + case raiAdapt = "RAI_ADAPT" + case raiSegstart = "RAI_SEGSTART" public var description: String { return self.rawValue } } - public enum AacRateControlMode: String, CustomStringConvertible, Codable { - case cbr = "CBR" - case vbr = "VBR" + public enum ReservationMaximumFramerate: String, CustomStringConvertible, Codable { + case max30Fps = "MAX_30_FPS" + case max60Fps = "MAX_60_FPS" public var description: String { return self.rawValue } } - public enum BurnInTeletextGridControl: String, CustomStringConvertible, Codable { - case fixed = "FIXED" - case scaled = "SCALED" + public enum AacSpec: String, CustomStringConvertible, Codable { + case mpeg2 = "MPEG2" + case mpeg4 = "MPEG4" public var description: String { return self.rawValue } } - public struct ListInputsResponse: AWSShape { + public struct Mp2Settings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Inputs", location: .body(locationName: "inputs"), required: false, type: .list), - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) + AWSShapeMember(label: "CodingMode", location: .body(locationName: "codingMode"), required: false, type: .enum), + AWSShapeMember(label: "Bitrate", location: .body(locationName: "bitrate"), required: false, type: .double), + AWSShapeMember(label: "SampleRate", location: .body(locationName: "sampleRate"), required: false, type: .double) ] - public let inputs: [Input]? - public let nextToken: String? + /// The MPEG2 Audio coding mode. Valid values are codingMode10 (for mono) or codingMode20 (for stereo). + public let codingMode: Mp2CodingMode? + /// Average bitrate in bits/second. + public let bitrate: Double? + /// Sample rate in Hz. + public let sampleRate: Double? - public init(inputs: [Input]? = nil, nextToken: String? = nil) { - self.inputs = inputs - self.nextToken = nextToken + public init(codingMode: Mp2CodingMode? = nil, bitrate: Double? = nil, sampleRate: Double? = nil) { + self.codingMode = codingMode + self.bitrate = bitrate + self.sampleRate = sampleRate } private enum CodingKeys: String, CodingKey { - case inputs = "inputs" - case nextToken = "nextToken" + case codingMode = "codingMode" + case bitrate = "bitrate" + case sampleRate = "sampleRate" } } - public enum M2tsPcrControl: String, CustomStringConvertible, Codable { - case configuredPcrPeriod = "CONFIGURED_PCR_PERIOD" - case pcrEveryPesPacket = "PCR_EVERY_PES_PACKET" - public var description: String { return self.rawValue } - } + public struct Scte35TimeSignalApos: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NoRegionalBlackoutFlag", location: .body(locationName: "noRegionalBlackoutFlag"), required: false, type: .enum), + AWSShapeMember(label: "AdAvailOffset", location: .body(locationName: "adAvailOffset"), required: false, type: .integer), + AWSShapeMember(label: "WebDeliveryAllowedFlag", location: .body(locationName: "webDeliveryAllowedFlag"), required: false, type: .enum) + ] + /// When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates + public let noRegionalBlackoutFlag: Scte35AposNoRegionalBlackoutBehavior? + /// 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. + public let adAvailOffset: Int32? + /// When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates + public let webDeliveryAllowedFlag: Scte35AposWebDeliveryAllowedBehavior? - public enum Ac3MetadataControl: String, CustomStringConvertible, Codable { - case followInput = "FOLLOW_INPUT" - case useConfigured = "USE_CONFIGURED" - public var description: String { return self.rawValue } + public init(noRegionalBlackoutFlag: Scte35AposNoRegionalBlackoutBehavior? = nil, adAvailOffset: Int32? = nil, webDeliveryAllowedFlag: Scte35AposWebDeliveryAllowedBehavior? = nil) { + self.noRegionalBlackoutFlag = noRegionalBlackoutFlag + self.adAvailOffset = adAvailOffset + self.webDeliveryAllowedFlag = webDeliveryAllowedFlag + } + + private enum CodingKeys: String, CodingKey { + case noRegionalBlackoutFlag = "noRegionalBlackoutFlag" + case adAvailOffset = "adAvailOffset" + case webDeliveryAllowedFlag = "webDeliveryAllowedFlag" + } } - public struct InputAttachment: AWSShape { + public struct AvailConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InputSettings", location: .body(locationName: "inputSettings"), required: false, type: .structure), - AWSShapeMember(label: "InputId", location: .body(locationName: "inputId"), required: false, type: .string) + AWSShapeMember(label: "AvailSettings", location: .body(locationName: "availSettings"), required: false, type: .structure) ] - /// Settings of an input (caption selector, etc.) - public let inputSettings: InputSettings? - /// The ID of the input - public let inputId: String? + /// Ad avail settings. + public let availSettings: AvailSettings? - public init(inputSettings: InputSettings? = nil, inputId: String? = nil) { - self.inputSettings = inputSettings - self.inputId = inputId + public init(availSettings: AvailSettings? = nil) { + self.availSettings = availSettings } private enum CodingKeys: String, CodingKey { - case inputSettings = "inputSettings" - case inputId = "inputId" + case availSettings = "availSettings" } } - public struct ArchiveOutputSettings: AWSShape { + public enum HlsIvSource: String, CustomStringConvertible, Codable { + case explicit = "EXPLICIT" + case followsSegmentNumber = "FOLLOWS_SEGMENT_NUMBER" + public var description: String { return self.rawValue } + } + + public struct AudioCodecSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NameModifier", location: .body(locationName: "nameModifier"), required: false, type: .string), - AWSShapeMember(label: "ContainerSettings", location: .body(locationName: "containerSettings"), required: false, type: .structure), - AWSShapeMember(label: "Extension", location: .body(locationName: "extension"), required: false, type: .string) - ] - /// String concatenated to the end of the destination filename. Required for multiple outputs of the same type. - public let nameModifier: String? - /// Settings specific to the container type of the file. - public let containerSettings: ArchiveContainerSettings? - /// Output file extension. If excluded, this will be auto-selected from the container type. - public let `extension`: String? + AWSShapeMember(label: "Mp2Settings", location: .body(locationName: "mp2Settings"), required: false, type: .structure), + AWSShapeMember(label: "AacSettings", location: .body(locationName: "aacSettings"), required: false, type: .structure), + AWSShapeMember(label: "Ac3Settings", location: .body(locationName: "ac3Settings"), required: false, type: .structure), + AWSShapeMember(label: "PassThroughSettings", location: .body(locationName: "passThroughSettings"), required: false, type: .structure), + AWSShapeMember(label: "Eac3Settings", location: .body(locationName: "eac3Settings"), required: false, type: .structure) + ] + public let mp2Settings: Mp2Settings? + public let aacSettings: AacSettings? + public let ac3Settings: Ac3Settings? + public let passThroughSettings: PassThroughSettings? + public let eac3Settings: Eac3Settings? - public init(nameModifier: String? = nil, containerSettings: ArchiveContainerSettings? = nil, extension: String? = nil) { - self.nameModifier = nameModifier - self.containerSettings = containerSettings - self.`extension` = `extension` + public init(mp2Settings: Mp2Settings? = nil, aacSettings: AacSettings? = nil, ac3Settings: Ac3Settings? = nil, passThroughSettings: PassThroughSettings? = nil, eac3Settings: Eac3Settings? = nil) { + self.mp2Settings = mp2Settings + self.aacSettings = aacSettings + self.ac3Settings = ac3Settings + self.passThroughSettings = passThroughSettings + self.eac3Settings = eac3Settings } private enum CodingKeys: String, CodingKey { - case nameModifier = "nameModifier" - case containerSettings = "containerSettings" - case `extension` = "extension" + case mp2Settings = "mp2Settings" + case aacSettings = "aacSettings" + case ac3Settings = "ac3Settings" + case passThroughSettings = "passThroughSettings" + case eac3Settings = "eac3Settings" } } - public struct CreateInputResultModel: AWSShape { + public struct AvailSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Input", location: .body(locationName: "input"), required: false, type: .structure) + AWSShapeMember(label: "Scte35TimeSignalApos", location: .body(locationName: "scte35TimeSignalApos"), required: false, type: .structure), + AWSShapeMember(label: "Scte35SpliceInsert", location: .body(locationName: "scte35SpliceInsert"), required: false, type: .structure) ] - public let input: Input? + public let scte35TimeSignalApos: Scte35TimeSignalApos? + public let scte35SpliceInsert: Scte35SpliceInsert? - public init(input: Input? = nil) { - self.input = input + public init(scte35TimeSignalApos: Scte35TimeSignalApos? = nil, scte35SpliceInsert: Scte35SpliceInsert? = nil) { + self.scte35TimeSignalApos = scte35TimeSignalApos + self.scte35SpliceInsert = scte35SpliceInsert } private enum CodingKeys: String, CodingKey { - case input = "input" + case scte35TimeSignalApos = "scte35TimeSignalApos" + case scte35SpliceInsert = "scte35SpliceInsert" } } - public struct StartChannelResponse: AWSShape { + public struct StopChannelResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), AWSShapeMember(label: "EgressEndpoints", location: .body(locationName: "egressEndpoints"), required: false, type: .list), AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), AWSShapeMember(label: "PipelinesRunningCount", location: .body(locationName: "pipelinesRunningCount"), required: false, type: .integer), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + AWSShapeMember(label: "LogLevel", location: .body(locationName: "logLevel"), required: false, type: .enum), + AWSShapeMember(label: "InputSpecification", location: .body(locationName: "inputSpecification"), required: false, type: .structure) ] public let destinations: [OutputDestination]? + public let id: String? public let arn: String? public let inputAttachments: [InputAttachment]? + public let name: String? public let state: ChannelState? public let encoderSettings: EncoderSettings? - public let name: String? public let egressEndpoints: [ChannelEgressEndpoint]? public let roleArn: String? public let pipelinesRunningCount: Int32? - public let id: String? + public let logLevel: LogLevel? + public let inputSpecification: InputSpecification? - public init(destinations: [OutputDestination]? = nil, arn: String? = nil, inputAttachments: [InputAttachment]? = nil, state: ChannelState? = nil, encoderSettings: EncoderSettings? = nil, name: String? = nil, egressEndpoints: [ChannelEgressEndpoint]? = nil, roleArn: String? = nil, pipelinesRunningCount: Int32? = nil, id: String? = nil) { + public init(destinations: [OutputDestination]? = nil, id: String? = nil, arn: String? = nil, inputAttachments: [InputAttachment]? = nil, name: String? = nil, state: ChannelState? = nil, encoderSettings: EncoderSettings? = nil, egressEndpoints: [ChannelEgressEndpoint]? = nil, roleArn: String? = nil, pipelinesRunningCount: Int32? = nil, logLevel: LogLevel? = nil, inputSpecification: InputSpecification? = nil) { self.destinations = destinations + self.id = id self.arn = arn self.inputAttachments = inputAttachments + self.name = name self.state = state self.encoderSettings = encoderSettings - self.name = name self.egressEndpoints = egressEndpoints self.roleArn = roleArn self.pipelinesRunningCount = pipelinesRunningCount - self.id = id + self.logLevel = logLevel + self.inputSpecification = inputSpecification } private enum CodingKeys: String, CodingKey { case destinations = "destinations" + case id = "id" case arn = "arn" case inputAttachments = "inputAttachments" + case name = "name" case state = "state" case encoderSettings = "encoderSettings" - case name = "name" case egressEndpoints = "egressEndpoints" case roleArn = "roleArn" case pipelinesRunningCount = "pipelinesRunningCount" - case id = "id" + case logLevel = "logLevel" + case inputSpecification = "inputSpecification" } } - public enum M3u8TimedMetadataBehavior: String, CustomStringConvertible, Codable { - case noPassthrough = "NO_PASSTHROUGH" - case passthrough = "PASSTHROUGH" - public var description: String { return self.rawValue } - } + public struct UpdateInputResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Input", location: .body(locationName: "input"), required: false, type: .structure) + ] + public let input: Input? - public struct TeletextDestinationSettings: AWSShape { + public init(input: Input? = nil) { + self.input = input + } + private enum CodingKeys: String, CodingKey { + case input = "input" + } } - public enum GlobalConfigurationOutputTimingSource: String, CustomStringConvertible, Codable { - case inputClock = "INPUT_CLOCK" - case systemClock = "SYSTEM_CLOCK" + public enum AudioLanguageSelectionPolicy: String, CustomStringConvertible, Codable { + case loose = "LOOSE" + case strict = "STRICT" public var description: String { return self.rawValue } } - public struct ValidationError: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ErrorMessage", location: .body(locationName: "errorMessage"), required: false, type: .string), - AWSShapeMember(label: "ElementPath", location: .body(locationName: "elementPath"), required: false, type: .string) - ] - public let errorMessage: String? - public let elementPath: String? - - public init(errorMessage: String? = nil, elementPath: String? = nil) { - self.errorMessage = errorMessage - self.elementPath = elementPath - } + public enum HlsTsFileMode: String, CustomStringConvertible, Codable { + case segmentedFiles = "SEGMENTED_FILES" + case singleFile = "SINGLE_FILE" + public var description: String { return self.rawValue } + } - private enum CodingKeys: String, CodingKey { - case errorMessage = "errorMessage" - case elementPath = "elementPath" - } + public enum NetworkInputServerValidation: String, CustomStringConvertible, Codable { + case checkCryptographyAndValidateName = "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" + case checkCryptographyOnly = "CHECK_CRYPTOGRAPHY_ONLY" + public var description: String { return self.rawValue } } - public enum Ac3DrcProfile: String, CustomStringConvertible, Codable { - case filmStandard = "FILM_STANDARD" - case none = "NONE" + public enum InputDeblockFilter: String, CustomStringConvertible, Codable { + case disabled = "DISABLED" + case enabled = "ENABLED" public var description: String { return self.rawValue } } - public struct HlsGroupSettings: AWSShape { + public struct DescribeInputRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OutputSelection", location: .body(locationName: "outputSelection"), required: false, type: .enum), - AWSShapeMember(label: "Destination", location: .body(locationName: "destination"), required: false, type: .structure), - AWSShapeMember(label: "KeyFormat", location: .body(locationName: "keyFormat"), required: false, type: .string), - AWSShapeMember(label: "AdMarkers", location: .body(locationName: "adMarkers"), required: false, type: .list), - AWSShapeMember(label: "TsFileMode", location: .body(locationName: "tsFileMode"), required: false, type: .enum), - AWSShapeMember(label: "ProgramDateTimePeriod", location: .body(locationName: "programDateTimePeriod"), required: false, type: .integer), - AWSShapeMember(label: "EncryptionType", location: .body(locationName: "encryptionType"), required: false, type: .enum), - AWSShapeMember(label: "CaptionLanguageSetting", location: .body(locationName: "captionLanguageSetting"), required: false, type: .enum), - AWSShapeMember(label: "SegmentationMode", location: .body(locationName: "segmentationMode"), required: false, type: .enum), - AWSShapeMember(label: "IvInManifest", location: .body(locationName: "ivInManifest"), required: false, type: .enum), - AWSShapeMember(label: "IndexNSegments", location: .body(locationName: "indexNSegments"), required: false, type: .integer), - AWSShapeMember(label: "CaptionLanguageMappings", location: .body(locationName: "captionLanguageMappings"), required: false, type: .list), - AWSShapeMember(label: "IvSource", location: .body(locationName: "ivSource"), required: false, type: .enum), - AWSShapeMember(label: "TimedMetadataId3Period", location: .body(locationName: "timedMetadataId3Period"), required: false, type: .integer), - AWSShapeMember(label: "KeyFormatVersions", location: .body(locationName: "keyFormatVersions"), required: false, type: .string), - AWSShapeMember(label: "SegmentsPerSubdirectory", location: .body(locationName: "segmentsPerSubdirectory"), required: false, type: .integer), - AWSShapeMember(label: "ManifestDurationFormat", location: .body(locationName: "manifestDurationFormat"), required: false, type: .enum), - AWSShapeMember(label: "BaseUrlContent", location: .body(locationName: "baseUrlContent"), required: false, type: .string), - AWSShapeMember(label: "SegmentLength", location: .body(locationName: "segmentLength"), required: false, type: .integer), - AWSShapeMember(label: "MinSegmentLength", location: .body(locationName: "minSegmentLength"), required: false, type: .integer), - AWSShapeMember(label: "ManifestCompression", location: .body(locationName: "manifestCompression"), required: false, type: .enum), - AWSShapeMember(label: "StreamInfResolution", location: .body(locationName: "streamInfResolution"), required: false, type: .enum), - AWSShapeMember(label: "DirectoryStructure", location: .body(locationName: "directoryStructure"), required: false, type: .enum), - AWSShapeMember(label: "ConstantIv", location: .body(locationName: "constantIv"), required: false, type: .string), - AWSShapeMember(label: "KeyProviderSettings", location: .body(locationName: "keyProviderSettings"), required: false, type: .structure), - AWSShapeMember(label: "Mode", location: .body(locationName: "mode"), required: false, type: .enum), - AWSShapeMember(label: "ClientCache", location: .body(locationName: "clientCache"), required: false, type: .enum), - AWSShapeMember(label: "TimestampDeltaMilliseconds", location: .body(locationName: "timestampDeltaMilliseconds"), required: false, type: .integer), - AWSShapeMember(label: "InputLossAction", location: .body(locationName: "inputLossAction"), required: false, type: .enum), - AWSShapeMember(label: "ProgramDateTime", location: .body(locationName: "programDateTime"), required: false, type: .enum), - AWSShapeMember(label: "CodecSpecification", location: .body(locationName: "codecSpecification"), required: false, type: .enum), - AWSShapeMember(label: "BaseUrlManifest", location: .body(locationName: "baseUrlManifest"), required: false, type: .string), - AWSShapeMember(label: "TimedMetadataId3Frame", location: .body(locationName: "timedMetadataId3Frame"), required: false, type: .enum), - AWSShapeMember(label: "KeepSegments", location: .body(locationName: "keepSegments"), required: false, type: .integer), - AWSShapeMember(label: "HlsCdnSettings", location: .body(locationName: "hlsCdnSettings"), required: false, type: .structure) + AWSShapeMember(label: "InputId", location: .uri(locationName: "inputId"), required: true, type: .string) ] - /// Generates the .m3u8 playlist file for this HLS output group. The segmentsOnly option will output segments without the .m3u8 file. - public let outputSelection: HlsOutputSelection? - /// A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled). - public let destination: OutputLocationRef? - /// 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. - public let keyFormat: String? - /// Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs. - public let adMarkers: [HlsAdMarkers]? - /// 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. - public let tsFileMode: HlsTsFileMode? - /// Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. - public let programDateTimePeriod: Int32? - /// Encrypts the segments with the given encryption scheme. Exclude this parameter if no encryption is desired. - public let encryptionType: HlsEncryptionType? - /// 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. - public let captionLanguageSetting: HlsCaptionLanguageSetting? - /// When set to useInputSegmentation, the output segment or fragment points are set by the RAI markers from the input streams. - public let segmentationMode: HlsSegmentationMode? - /// 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. - public let ivInManifest: HlsIvInManifest? - /// Number of segments to keep in the playlist (.m3u8) file. mode must be "vod" for this setting to have an effect, and this number should be less than or equal to keepSegments. - public let indexNSegments: Int32? - /// Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to "insert". - public let captionLanguageMappings: [CaptionLanguageMapping]? - /// 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. - public let ivSource: HlsIvSource? - /// Timed Metadata interval in seconds. - public let timedMetadataId3Period: Int32? - /// Either a single positive integer version value or a slash delimited list of version values (1/2/3). - public let keyFormatVersions: String? - /// Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect. - public let segmentsPerSubdirectory: Int32? - /// Indicates whether the output manifest should use floating point or integer values for segment duration. - public let manifestDurationFormat: HlsManifestDurationFormat? - /// 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. - public let baseUrlContent: String? - /// 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. - public let segmentLength: Int32? - /// 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. - public let minSegmentLength: Int32? - /// When set to gzip, compresses HLS playlist. - public let manifestCompression: HlsManifestCompression? - /// Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest. - public let streamInfResolution: HlsStreamInfResolution? - /// Place segments in subdirectories. - public let directoryStructure: HlsDirectoryStructure? - /// 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. - public let constantIv: String? - /// The key provider settings. - public let keyProviderSettings: KeyProviderSettings? - /// If set to "vod", keeps and indexes all segments starting with the first segment. If set to "live" segments will age out and only the last keepSegments number of segments will be retained. - public let mode: HlsMode? - /// 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. - public let clientCache: HlsClientCache? - /// Provides an extra millisecond delta offset to fine tune the timestamps. - public let timestampDeltaMilliseconds: Int32? - /// Parameter that control output group behavior on input loss. - public let inputLossAction: InputLossActionForHlsOut? - /// 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. - public let programDateTime: HlsProgramDateTime? - /// Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation. - public let codecSpecification: HlsCodecSpecification? - /// 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. - public let baseUrlManifest: String? - /// Indicates ID3 frame that has the timecode. - public let timedMetadataId3Frame: HlsTimedMetadataId3Frame? - /// Number of segments to retain in the destination directory. mode must be "live" for this setting to have an effect. - public let keepSegments: Int32? - /// Parameters that control interactions with the CDN. - public let hlsCdnSettings: HlsCdnSettings? - - public init(outputSelection: HlsOutputSelection? = nil, destination: OutputLocationRef? = nil, keyFormat: String? = nil, adMarkers: [HlsAdMarkers]? = nil, tsFileMode: HlsTsFileMode? = nil, programDateTimePeriod: Int32? = nil, encryptionType: HlsEncryptionType? = nil, captionLanguageSetting: HlsCaptionLanguageSetting? = nil, segmentationMode: HlsSegmentationMode? = nil, ivInManifest: HlsIvInManifest? = nil, indexNSegments: Int32? = nil, captionLanguageMappings: [CaptionLanguageMapping]? = nil, ivSource: HlsIvSource? = nil, timedMetadataId3Period: Int32? = nil, keyFormatVersions: String? = nil, segmentsPerSubdirectory: Int32? = nil, manifestDurationFormat: HlsManifestDurationFormat? = nil, baseUrlContent: String? = nil, segmentLength: Int32? = nil, minSegmentLength: Int32? = nil, manifestCompression: HlsManifestCompression? = nil, streamInfResolution: HlsStreamInfResolution? = nil, directoryStructure: HlsDirectoryStructure? = nil, constantIv: String? = nil, keyProviderSettings: KeyProviderSettings? = nil, mode: HlsMode? = nil, clientCache: HlsClientCache? = nil, timestampDeltaMilliseconds: Int32? = nil, inputLossAction: InputLossActionForHlsOut? = nil, programDateTime: HlsProgramDateTime? = nil, codecSpecification: HlsCodecSpecification? = nil, baseUrlManifest: String? = nil, timedMetadataId3Frame: HlsTimedMetadataId3Frame? = nil, keepSegments: Int32? = nil, hlsCdnSettings: HlsCdnSettings? = nil) { - self.outputSelection = outputSelection - self.destination = destination - self.keyFormat = keyFormat - self.adMarkers = adMarkers - self.tsFileMode = tsFileMode - self.programDateTimePeriod = programDateTimePeriod - self.encryptionType = encryptionType - self.captionLanguageSetting = captionLanguageSetting - self.segmentationMode = segmentationMode - self.ivInManifest = ivInManifest - self.indexNSegments = indexNSegments - self.captionLanguageMappings = captionLanguageMappings - self.ivSource = ivSource - self.timedMetadataId3Period = timedMetadataId3Period - self.keyFormatVersions = keyFormatVersions - self.segmentsPerSubdirectory = segmentsPerSubdirectory - self.manifestDurationFormat = manifestDurationFormat - self.baseUrlContent = baseUrlContent - self.segmentLength = segmentLength - self.minSegmentLength = minSegmentLength - self.manifestCompression = manifestCompression - self.streamInfResolution = streamInfResolution - self.directoryStructure = directoryStructure - self.constantIv = constantIv - self.keyProviderSettings = keyProviderSettings - self.mode = mode - self.clientCache = clientCache - self.timestampDeltaMilliseconds = timestampDeltaMilliseconds - self.inputLossAction = inputLossAction - self.programDateTime = programDateTime - self.codecSpecification = codecSpecification - self.baseUrlManifest = baseUrlManifest - self.timedMetadataId3Frame = timedMetadataId3Frame - self.keepSegments = keepSegments - self.hlsCdnSettings = hlsCdnSettings + public let inputId: String + + public init(inputId: String) { + self.inputId = inputId } private enum CodingKeys: String, CodingKey { - case outputSelection = "outputSelection" - case destination = "destination" - case keyFormat = "keyFormat" - case adMarkers = "adMarkers" - case tsFileMode = "tsFileMode" - case programDateTimePeriod = "programDateTimePeriod" - case encryptionType = "encryptionType" - case captionLanguageSetting = "captionLanguageSetting" - case segmentationMode = "segmentationMode" - case ivInManifest = "ivInManifest" - case indexNSegments = "indexNSegments" - case captionLanguageMappings = "captionLanguageMappings" - case ivSource = "ivSource" - case timedMetadataId3Period = "timedMetadataId3Period" - case keyFormatVersions = "keyFormatVersions" - case segmentsPerSubdirectory = "segmentsPerSubdirectory" - case manifestDurationFormat = "manifestDurationFormat" - case baseUrlContent = "baseUrlContent" - case segmentLength = "segmentLength" - case minSegmentLength = "minSegmentLength" - case manifestCompression = "manifestCompression" - case streamInfResolution = "streamInfResolution" - case directoryStructure = "directoryStructure" - case constantIv = "constantIv" - case keyProviderSettings = "keyProviderSettings" - case mode = "mode" - case clientCache = "clientCache" - case timestampDeltaMilliseconds = "timestampDeltaMilliseconds" - case inputLossAction = "inputLossAction" - case programDateTime = "programDateTime" - case codecSpecification = "codecSpecification" - case baseUrlManifest = "baseUrlManifest" - case timedMetadataId3Frame = "timedMetadataId3Frame" - case keepSegments = "keepSegments" - case hlsCdnSettings = "hlsCdnSettings" + case inputId = "inputId" } } - public struct CreateInput: AWSShape { + public struct ListInputsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), - AWSShapeMember(label: "InputSecurityGroups", location: .body(locationName: "inputSecurityGroups"), required: false, type: .list), - AWSShapeMember(label: "Sources", location: .body(locationName: "sources"), required: false, type: .list), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .enum), - AWSShapeMember(label: "RequestId", location: .body(locationName: "requestId"), required: false, type: .string) + AWSShapeMember(label: "Inputs", location: .body(locationName: "inputs"), required: false, type: .list), + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) ] - /// settings required for PUSH-type inputs; one per redundancy group. - /// Only one of sources and destinations can be specified. - /// Note: there are currently no settings required for PUSH-type inputs - public let destinations: [InputDestinationRequest]? - /// A list of security groups referenced by IDs to attach to the input. - public let inputSecurityGroups: [String]? - /// settings required for PULL-type inputs; one per redundancy group - /// Only one of sources and destinations can be specified - public let sources: [InputSourceRequest]? - /// Name of the input. - public let name: String? - public let `type`: InputType? - /// Unique identifier of the request to ensure the request is handled - /// exactly once in case of retries - public let requestId: String? + public let inputs: [Input]? + public let nextToken: String? - public init(destinations: [InputDestinationRequest]? = nil, inputSecurityGroups: [String]? = nil, sources: [InputSourceRequest]? = nil, name: String? = nil, type: InputType? = nil, requestId: String? = nil) { - self.destinations = destinations - self.inputSecurityGroups = inputSecurityGroups - self.sources = sources - self.name = name - self.`type` = `type` - self.requestId = requestId + public init(inputs: [Input]? = nil, nextToken: String? = nil) { + self.inputs = inputs + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case destinations = "destinations" - case inputSecurityGroups = "inputSecurityGroups" - case sources = "sources" - case name = "name" - case `type` = "type" - case requestId = "requestId" + case inputs = "inputs" + case nextToken = "nextToken" } } - public enum AudioNormalizationAlgorithmControl: String, CustomStringConvertible, Codable { - case correctAudio = "CORRECT_AUDIO" + public enum Ac3MetadataControl: String, CustomStringConvertible, Codable { + case followInput = "FOLLOW_INPUT" + case useConfigured = "USE_CONFIGURED" public var description: String { return self.rawValue } } - public struct AudioDescription: AWSShape { + public enum M2tsPcrControl: String, CustomStringConvertible, Codable { + case configuredPcrPeriod = "CONFIGURED_PCR_PERIOD" + case pcrEveryPesPacket = "PCR_EVERY_PES_PACKET" + public var description: String { return self.rawValue } + } + + public struct ArchiveOutputSettings: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AudioNormalizationSettings", location: .body(locationName: "audioNormalizationSettings"), required: false, type: .structure), - AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .string), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "LanguageCodeControl", location: .body(locationName: "languageCodeControl"), required: false, type: .enum), - AWSShapeMember(label: "AudioTypeControl", location: .body(locationName: "audioTypeControl"), required: false, type: .enum), - AWSShapeMember(label: "AudioType", location: .body(locationName: "audioType"), required: false, type: .enum), - AWSShapeMember(label: "StreamName", location: .body(locationName: "streamName"), required: false, type: .string), - AWSShapeMember(label: "RemixSettings", location: .body(locationName: "remixSettings"), required: false, type: .structure), - AWSShapeMember(label: "AudioSelectorName", location: .body(locationName: "audioSelectorName"), required: false, type: .string), - AWSShapeMember(label: "CodecSettings", location: .body(locationName: "codecSettings"), required: false, type: .structure) + AWSShapeMember(label: "NameModifier", location: .body(locationName: "nameModifier"), required: false, type: .string), + AWSShapeMember(label: "ContainerSettings", location: .body(locationName: "containerSettings"), required: true, type: .structure), + AWSShapeMember(label: "Extension", location: .body(locationName: "extension"), required: false, type: .string) ] - /// Advanced audio normalization settings. - public let audioNormalizationSettings: AudioNormalizationSettings? - /// 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. - public let languageCode: String? - /// The name of this AudioDescription. Outputs will use this name to uniquely identify this AudioDescription. Description names should be unique within this Live Event. - public let name: String? - /// 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. - public let languageCodeControl: AudioDescriptionLanguageCodeControl? - /// Determines how audio type is determined. - /// 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. - /// useConfigured: The value in Audio Type is included in the output. - /// Note that this field and audioType are both ignored if inputType is broadcasterMixedAd. - public let audioTypeControl: AudioDescriptionAudioTypeControl? - /// Applies only if audioTypeControl is useConfigured. The values for audioType are defined in ISO-IEC 13818-1. - public let audioType: AudioType? - /// Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by the player (eg. English, or Director Commentary). - public let streamName: String? - /// Settings that control how input audio channels are remixed into the output audio channels. - public let remixSettings: RemixSettings? - /// The name of the AudioSelector used as the source for this AudioDescription. - public let audioSelectorName: String? - /// Audio codec settings. - public let codecSettings: AudioCodecSettings? + /// String concatenated to the end of the destination filename. Required for multiple outputs of the same type. + public let nameModifier: String? + /// Settings specific to the container type of the file. + public let containerSettings: ArchiveContainerSettings + /// Output file extension. If excluded, this will be auto-selected from the container type. + public let `extension`: String? - public init(audioNormalizationSettings: AudioNormalizationSettings? = nil, languageCode: String? = nil, name: String? = nil, languageCodeControl: AudioDescriptionLanguageCodeControl? = nil, audioTypeControl: AudioDescriptionAudioTypeControl? = nil, audioType: AudioType? = nil, streamName: String? = nil, remixSettings: RemixSettings? = nil, audioSelectorName: String? = nil, codecSettings: AudioCodecSettings? = nil) { - self.audioNormalizationSettings = audioNormalizationSettings - self.languageCode = languageCode - self.name = name - self.languageCodeControl = languageCodeControl - self.audioTypeControl = audioTypeControl - self.audioType = audioType - self.streamName = streamName - self.remixSettings = remixSettings - self.audioSelectorName = audioSelectorName - self.codecSettings = codecSettings + public init(nameModifier: String? = nil, containerSettings: ArchiveContainerSettings, extension: String? = nil) { + self.nameModifier = nameModifier + self.containerSettings = containerSettings + self.`extension` = `extension` } private enum CodingKeys: String, CodingKey { - case audioNormalizationSettings = "audioNormalizationSettings" - case languageCode = "languageCode" - case name = "name" - case languageCodeControl = "languageCodeControl" - case audioTypeControl = "audioTypeControl" - case audioType = "audioType" - case streamName = "streamName" - case remixSettings = "remixSettings" - case audioSelectorName = "audioSelectorName" - case codecSettings = "codecSettings" + case nameModifier = "nameModifier" + case containerSettings = "containerSettings" + case `extension` = "extension" } } - public struct AudioSelectorSettings: AWSShape { + public struct PurchaseOfferingResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AudioLanguageSelection", location: .body(locationName: "audioLanguageSelection"), required: false, type: .structure), - AWSShapeMember(label: "AudioPidSelection", location: .body(locationName: "audioPidSelection"), required: false, type: .structure) + AWSShapeMember(label: "Reservation", location: .body(locationName: "reservation"), required: false, type: .structure) ] - public let audioLanguageSelection: AudioLanguageSelection? - public let audioPidSelection: AudioPidSelection? + public let reservation: Reservation? - public init(audioLanguageSelection: AudioLanguageSelection? = nil, audioPidSelection: AudioPidSelection? = nil) { - self.audioLanguageSelection = audioLanguageSelection - self.audioPidSelection = audioPidSelection + public init(reservation: Reservation? = nil) { + self.reservation = reservation } private enum CodingKeys: String, CodingKey { - case audioLanguageSelection = "audioLanguageSelection" - case audioPidSelection = "audioPidSelection" + case reservation = "reservation" } } - public enum DvbSubDestinationTeletextGridControl: String, CustomStringConvertible, Codable { - case fixed = "FIXED" - case scaled = "SCALED" - public var description: String { return self.rawValue } - } - - public struct DeleteChannelResponse: AWSShape { + public struct UpdateChannelRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Destinations", location: .body(locationName: "destinations"), required: false, type: .list), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), AWSShapeMember(label: "InputAttachments", location: .body(locationName: "inputAttachments"), required: false, type: .list), - AWSShapeMember(label: "State", location: .body(locationName: "state"), required: false, type: .enum), - AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "EgressEndpoints", location: .body(locationName: "egressEndpoints"), required: false, type: .list), + AWSShapeMember(label: "EncoderSettings", location: .body(locationName: "encoderSettings"), required: false, type: .structure), + AWSShapeMember(label: "ChannelId", location: .uri(locationName: "channelId"), required: true, type: .string), AWSShapeMember(label: "RoleArn", location: .body(locationName: "roleArn"), required: false, type: .string), - AWSShapeMember(label: "PipelinesRunningCount", location: .body(locationName: "pipelinesRunningCount"), required: false, type: .integer), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + AWSShapeMember(label: "LogLevel", location: .body(locationName: "logLevel"), required: false, type: .enum), + AWSShapeMember(label: "InputSpecification", location: .body(locationName: "inputSpecification"), required: false, type: .structure) ] public let destinations: [OutputDestination]? - public let arn: String? public let inputAttachments: [InputAttachment]? - public let state: ChannelState? - public let encoderSettings: EncoderSettings? public let name: String? - public let egressEndpoints: [ChannelEgressEndpoint]? + public let encoderSettings: EncoderSettings? + public let channelId: String public let roleArn: String? - public let pipelinesRunningCount: Int32? - public let id: String? + public let logLevel: LogLevel? + public let inputSpecification: InputSpecification? - public init(destinations: [OutputDestination]? = nil, arn: String? = nil, inputAttachments: [InputAttachment]? = nil, state: ChannelState? = nil, encoderSettings: EncoderSettings? = nil, name: String? = nil, egressEndpoints: [ChannelEgressEndpoint]? = nil, roleArn: String? = nil, pipelinesRunningCount: Int32? = nil, id: String? = nil) { + public init(destinations: [OutputDestination]? = nil, inputAttachments: [InputAttachment]? = nil, name: String? = nil, encoderSettings: EncoderSettings? = nil, channelId: String, roleArn: String? = nil, logLevel: LogLevel? = nil, inputSpecification: InputSpecification? = nil) { self.destinations = destinations - self.arn = arn self.inputAttachments = inputAttachments - self.state = state - self.encoderSettings = encoderSettings self.name = name - self.egressEndpoints = egressEndpoints + self.encoderSettings = encoderSettings + self.channelId = channelId self.roleArn = roleArn - self.pipelinesRunningCount = pipelinesRunningCount - self.id = id + self.logLevel = logLevel + self.inputSpecification = inputSpecification } private enum CodingKeys: String, CodingKey { case destinations = "destinations" - case arn = "arn" case inputAttachments = "inputAttachments" - case state = "state" - case encoderSettings = "encoderSettings" case name = "name" - case egressEndpoints = "egressEndpoints" + case encoderSettings = "encoderSettings" + case channelId = "channelId" case roleArn = "roleArn" - case pipelinesRunningCount = "pipelinesRunningCount" - case id = "id" + case logLevel = "logLevel" + case inputSpecification = "inputSpecification" } } - public struct CaptionLanguageMapping: AWSShape { + public struct UpdateChannelResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LanguageCode", location: .body(locationName: "languageCode"), required: false, type: .string), - AWSShapeMember(label: "LanguageDescription", location: .body(locationName: "languageDescription"), required: false, type: .string), - AWSShapeMember(label: "CaptionChannel", location: .body(locationName: "captionChannel"), required: false, type: .integer) + AWSShapeMember(label: "Channel", location: .body(locationName: "channel"), required: false, type: .structure) ] - /// Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2) - public let languageCode: String? - /// Textual description of language - public let languageDescription: String? - /// Channel to insert closed captions. Each channel mapping must have a unique channel number (maximum of 4) - public let captionChannel: Int32? + public let channel: Channel? - public init(languageCode: String? = nil, languageDescription: String? = nil, captionChannel: Int32? = nil) { - self.languageCode = languageCode - self.languageDescription = languageDescription - self.captionChannel = captionChannel + public init(channel: Channel? = nil) { + self.channel = channel } private enum CodingKeys: String, CodingKey { - case languageCode = "languageCode" - case languageDescription = "languageDescription" - case captionChannel = "captionChannel" + case channel = "channel" } } - public enum TtmlDestinationStyleControl: String, CustomStringConvertible, Codable { - case passthrough = "PASSTHROUGH" - case useConfigured = "USE_CONFIGURED" + public enum RtmpOutputCertificateMode: String, CustomStringConvertible, Codable { + case selfSigned = "SELF_SIGNED" + case verifyAuthenticity = "VERIFY_AUTHENTICITY" + public var description: String { return self.rawValue } + } + + public enum AudioNormalizationAlgorithmControl: String, CustomStringConvertible, Codable { + case correctAudio = "CORRECT_AUDIO" + public var description: String { return self.rawValue } + } + + public struct AudioSelectorSettings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AudioLanguageSelection", location: .body(locationName: "audioLanguageSelection"), required: false, type: .structure), + AWSShapeMember(label: "AudioPidSelection", location: .body(locationName: "audioPidSelection"), required: false, type: .structure) + ] + public let audioLanguageSelection: AudioLanguageSelection? + public let audioPidSelection: AudioPidSelection? + + public init(audioLanguageSelection: AudioLanguageSelection? = nil, audioPidSelection: AudioPidSelection? = nil) { + self.audioLanguageSelection = audioLanguageSelection + self.audioPidSelection = audioPidSelection + } + + private enum CodingKeys: String, CodingKey { + case audioLanguageSelection = "audioLanguageSelection" + case audioPidSelection = "audioPidSelection" + } + } + + public enum DvbSubDestinationTeletextGridControl: String, CustomStringConvertible, Codable { + case fixed = "FIXED" + case scaled = "SCALED" public var description: String { return self.rawValue } } diff --git a/Sources/AWSSDKSwift/Services/mediapackage/Mediapackage_Shapes.swift b/Sources/AWSSDKSwift/Services/mediapackage/Mediapackage_Shapes.swift index 1ab978a7708..cd2bed9839e 100644 --- a/Sources/AWSSDKSwift/Services/mediapackage/Mediapackage_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/mediapackage/Mediapackage_Shapes.swift @@ -7,60 +7,64 @@ extension Mediapackage { public struct CreateOriginEndpointResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), AWSShapeMember(label: "DashPackage", location: .body(locationName: "dashPackage"), required: false, type: .structure), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "TimeDelaySeconds", location: .body(locationName: "timeDelaySeconds"), required: false, type: .integer), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), AWSShapeMember(label: "HlsPackage", location: .body(locationName: "hlsPackage"), required: false, type: .structure), AWSShapeMember(label: "Whitelist", location: .body(locationName: "whitelist"), required: false, type: .list), AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string), AWSShapeMember(label: "ChannelId", location: .body(locationName: "channelId"), required: false, type: .string), AWSShapeMember(label: "ManifestName", location: .body(locationName: "manifestName"), required: false, type: .string), AWSShapeMember(label: "MssPackage", location: .body(locationName: "mssPackage"), required: false, type: .structure), - AWSShapeMember(label: "TimeDelaySeconds", location: .body(locationName: "timeDelaySeconds"), required: false, type: .integer), - AWSShapeMember(label: "StartoverWindowSeconds", location: .body(locationName: "startoverWindowSeconds"), required: false, type: .integer), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + AWSShapeMember(label: "CmafPackage", location: .body(locationName: "cmafPackage"), required: false, type: .structure), + AWSShapeMember(label: "StartoverWindowSeconds", location: .body(locationName: "startoverWindowSeconds"), required: false, type: .integer) ] - public let description: String? public let dashPackage: DashPackage? public let arn: String? + public let timeDelaySeconds: Int32? + public let description: String? + public let id: String? public let hlsPackage: HlsPackage? public let whitelist: [String]? public let url: String? public let channelId: String? public let manifestName: String? public let mssPackage: MssPackage? - public let timeDelaySeconds: Int32? + public let cmafPackage: CmafPackage? public let startoverWindowSeconds: Int32? - public let id: String? - public init(description: String? = nil, dashPackage: DashPackage? = nil, arn: String? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, url: String? = nil, channelId: String? = nil, manifestName: String? = nil, mssPackage: MssPackage? = nil, timeDelaySeconds: Int32? = nil, startoverWindowSeconds: Int32? = nil, id: String? = nil) { - self.description = description + public init(dashPackage: DashPackage? = nil, arn: String? = nil, timeDelaySeconds: Int32? = nil, description: String? = nil, id: String? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, url: String? = nil, channelId: String? = nil, manifestName: String? = nil, mssPackage: MssPackage? = nil, cmafPackage: CmafPackage? = nil, startoverWindowSeconds: Int32? = nil) { self.dashPackage = dashPackage self.arn = arn + self.timeDelaySeconds = timeDelaySeconds + self.description = description + self.id = id self.hlsPackage = hlsPackage self.whitelist = whitelist self.url = url self.channelId = channelId self.manifestName = manifestName self.mssPackage = mssPackage - self.timeDelaySeconds = timeDelaySeconds + self.cmafPackage = cmafPackage self.startoverWindowSeconds = startoverWindowSeconds - self.id = id } private enum CodingKeys: String, CodingKey { - case description = "description" case dashPackage = "dashPackage" case arn = "arn" + case timeDelaySeconds = "timeDelaySeconds" + case description = "description" + case id = "id" case hlsPackage = "hlsPackage" case whitelist = "whitelist" case url = "url" case channelId = "channelId" case manifestName = "manifestName" case mssPackage = "mssPackage" - case timeDelaySeconds = "timeDelaySeconds" + case cmafPackage = "cmafPackage" case startoverWindowSeconds = "startoverWindowSeconds" - case id = "id" } } @@ -114,6 +118,7 @@ extension Mediapackage { AWSShapeMember(label: "ManifestName", location: .body(locationName: "manifestName"), required: false, type: .string), AWSShapeMember(label: "MssPackage", location: .body(locationName: "mssPackage"), required: false, type: .structure), AWSShapeMember(label: "TimeDelaySeconds", location: .body(locationName: "timeDelaySeconds"), required: false, type: .integer), + AWSShapeMember(label: "CmafPackage", location: .body(locationName: "cmafPackage"), required: false, type: .structure), AWSShapeMember(label: "StartoverWindowSeconds", location: .body(locationName: "startoverWindowSeconds"), required: false, type: .integer), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] @@ -127,19 +132,21 @@ extension Mediapackage { /// Amount of delay (in seconds) to enforce on the playback of live content. /// If not specified, there will be no time delay in effect for the OriginEndpoint. public let timeDelaySeconds: Int32? + public let cmafPackage: CmafPackageCreateOrUpdateParameters? /// Maximum duration (in seconds) of content to retain for startover playback. /// If not specified, startover playback will be disabled for the OriginEndpoint. public let startoverWindowSeconds: Int32? /// A short text description of the OriginEndpoint. public let description: String? - public init(dashPackage: DashPackage? = nil, whitelist: [String]? = nil, hlsPackage: HlsPackage? = nil, manifestName: String? = nil, mssPackage: MssPackage? = nil, timeDelaySeconds: Int32? = nil, startoverWindowSeconds: Int32? = nil, description: String? = nil) { + public init(dashPackage: DashPackage? = nil, whitelist: [String]? = nil, hlsPackage: HlsPackage? = nil, manifestName: String? = nil, mssPackage: MssPackage? = nil, timeDelaySeconds: Int32? = nil, cmafPackage: CmafPackageCreateOrUpdateParameters? = nil, startoverWindowSeconds: Int32? = nil, description: String? = nil) { self.dashPackage = dashPackage self.whitelist = whitelist self.hlsPackage = hlsPackage self.manifestName = manifestName self.mssPackage = mssPackage self.timeDelaySeconds = timeDelaySeconds + self.cmafPackage = cmafPackage self.startoverWindowSeconds = startoverWindowSeconds self.description = description } @@ -151,6 +158,7 @@ extension Mediapackage { case manifestName = "manifestName" case mssPackage = "mssPackage" case timeDelaySeconds = "timeDelaySeconds" + case cmafPackage = "cmafPackage" case startoverWindowSeconds = "startoverWindowSeconds" case description = "description" } @@ -375,24 +383,30 @@ extension Mediapackage { public struct OriginEndpoint: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), AWSShapeMember(label: "DashPackage", location: .body(locationName: "dashPackage"), required: false, type: .structure), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "TimeDelaySeconds", location: .body(locationName: "timeDelaySeconds"), required: false, type: .integer), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), AWSShapeMember(label: "HlsPackage", location: .body(locationName: "hlsPackage"), required: false, type: .structure), AWSShapeMember(label: "Whitelist", location: .body(locationName: "whitelist"), required: false, type: .list), AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string), AWSShapeMember(label: "ChannelId", location: .body(locationName: "channelId"), required: false, type: .string), AWSShapeMember(label: "ManifestName", location: .body(locationName: "manifestName"), required: false, type: .string), AWSShapeMember(label: "MssPackage", location: .body(locationName: "mssPackage"), required: false, type: .structure), - AWSShapeMember(label: "TimeDelaySeconds", location: .body(locationName: "timeDelaySeconds"), required: false, type: .integer), - AWSShapeMember(label: "StartoverWindowSeconds", location: .body(locationName: "startoverWindowSeconds"), required: false, type: .integer), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + AWSShapeMember(label: "CmafPackage", location: .body(locationName: "cmafPackage"), required: false, type: .structure), + AWSShapeMember(label: "StartoverWindowSeconds", location: .body(locationName: "startoverWindowSeconds"), required: false, type: .integer) ] - /// A short text description of the OriginEndpoint. - public let description: String? public let dashPackage: DashPackage? /// The Amazon Resource Name (ARN) assigned to the OriginEndpoint. public let arn: String? + /// Amount of delay (seconds) to enforce on the playback of live content. + /// If not specified, there will be no time delay in effect for the OriginEndpoint. + public let timeDelaySeconds: Int32? + /// A short text description of the OriginEndpoint. + public let description: String? + /// The ID of the OriginEndpoint. + public let id: String? public let hlsPackage: HlsPackage? /// A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. public let whitelist: [String]? @@ -403,43 +417,41 @@ extension Mediapackage { /// A short string appended to the end of the OriginEndpoint URL. public let manifestName: String? public let mssPackage: MssPackage? - /// Amount of delay (seconds) to enforce on the playback of live content. - /// If not specified, there will be no time delay in effect for the OriginEndpoint. - public let timeDelaySeconds: Int32? + public let cmafPackage: CmafPackage? /// Maximum duration (seconds) of content to retain for startover playback. /// If not specified, startover playback will be disabled for the OriginEndpoint. public let startoverWindowSeconds: Int32? - /// The ID of the OriginEndpoint. - public let id: String? - public init(description: String? = nil, dashPackage: DashPackage? = nil, arn: String? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, url: String? = nil, channelId: String? = nil, manifestName: String? = nil, mssPackage: MssPackage? = nil, timeDelaySeconds: Int32? = nil, startoverWindowSeconds: Int32? = nil, id: String? = nil) { - self.description = description + public init(dashPackage: DashPackage? = nil, arn: String? = nil, timeDelaySeconds: Int32? = nil, description: String? = nil, id: String? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, url: String? = nil, channelId: String? = nil, manifestName: String? = nil, mssPackage: MssPackage? = nil, cmafPackage: CmafPackage? = nil, startoverWindowSeconds: Int32? = nil) { self.dashPackage = dashPackage self.arn = arn + self.timeDelaySeconds = timeDelaySeconds + self.description = description + self.id = id self.hlsPackage = hlsPackage self.whitelist = whitelist self.url = url self.channelId = channelId self.manifestName = manifestName self.mssPackage = mssPackage - self.timeDelaySeconds = timeDelaySeconds + self.cmafPackage = cmafPackage self.startoverWindowSeconds = startoverWindowSeconds - self.id = id } private enum CodingKeys: String, CodingKey { - case description = "description" case dashPackage = "dashPackage" case arn = "arn" + case timeDelaySeconds = "timeDelaySeconds" + case description = "description" + case id = "id" case hlsPackage = "hlsPackage" case whitelist = "whitelist" case url = "url" case channelId = "channelId" case manifestName = "manifestName" case mssPackage = "mssPackage" - case timeDelaySeconds = "timeDelaySeconds" + case cmafPackage = "cmafPackage" case startoverWindowSeconds = "startoverWindowSeconds" - case id = "id" } } @@ -499,6 +511,7 @@ extension Mediapackage { AWSShapeMember(label: "ManifestName", location: .body(locationName: "manifestName"), required: false, type: .string), AWSShapeMember(label: "MssPackage", location: .body(locationName: "mssPackage"), required: false, type: .structure), AWSShapeMember(label: "TimeDelaySeconds", location: .body(locationName: "timeDelaySeconds"), required: false, type: .integer), + AWSShapeMember(label: "CmafPackage", location: .body(locationName: "cmafPackage"), required: false, type: .structure), AWSShapeMember(label: "StartoverWindowSeconds", location: .body(locationName: "startoverWindowSeconds"), required: false, type: .integer), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] @@ -510,10 +523,11 @@ extension Mediapackage { public let manifestName: String? public let mssPackage: MssPackage? public let timeDelaySeconds: Int32? + public let cmafPackage: CmafPackageCreateOrUpdateParameters? public let startoverWindowSeconds: Int32? public let description: String? - public init(id: String, dashPackage: DashPackage? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, channelId: String, manifestName: String? = nil, mssPackage: MssPackage? = nil, timeDelaySeconds: Int32? = nil, startoverWindowSeconds: Int32? = nil, description: String? = nil) { + public init(id: String, dashPackage: DashPackage? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, channelId: String, manifestName: String? = nil, mssPackage: MssPackage? = nil, timeDelaySeconds: Int32? = nil, cmafPackage: CmafPackageCreateOrUpdateParameters? = nil, startoverWindowSeconds: Int32? = nil, description: String? = nil) { self.id = id self.dashPackage = dashPackage self.hlsPackage = hlsPackage @@ -522,6 +536,7 @@ extension Mediapackage { self.manifestName = manifestName self.mssPackage = mssPackage self.timeDelaySeconds = timeDelaySeconds + self.cmafPackage = cmafPackage self.startoverWindowSeconds = startoverWindowSeconds self.description = description } @@ -535,11 +550,87 @@ extension Mediapackage { case manifestName = "manifestName" case mssPackage = "mssPackage" case timeDelaySeconds = "timeDelaySeconds" + case cmafPackage = "cmafPackage" case startoverWindowSeconds = "startoverWindowSeconds" case description = "description" } } + public struct CmafPackageCreateOrUpdateParameters: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StreamSelection", location: .body(locationName: "streamSelection"), required: false, type: .structure), + AWSShapeMember(label: "HlsManifests", location: .body(locationName: "hlsManifests"), required: false, type: .list), + AWSShapeMember(label: "Encryption", location: .body(locationName: "encryption"), required: false, type: .structure), + AWSShapeMember(label: "SegmentPrefix", location: .body(locationName: "segmentPrefix"), required: false, type: .string), + AWSShapeMember(label: "SegmentDurationSeconds", location: .body(locationName: "segmentDurationSeconds"), required: false, type: .integer) + ] + public let streamSelection: StreamSelection? + /// A list of HLS manifest configurations + public let hlsManifests: [HlsManifestCreateOrUpdateParameters]? + public let encryption: CmafEncryption? + /// An optional custom string that is prepended to the name of each segment. If not specified, it defaults to the ChannelId. + public let segmentPrefix: String? + /// Duration (in seconds) of each segment. Actual segments will be + /// rounded to the nearest multiple of the source segment duration. + public let segmentDurationSeconds: Int32? + + public init(streamSelection: StreamSelection? = nil, hlsManifests: [HlsManifestCreateOrUpdateParameters]? = nil, encryption: CmafEncryption? = nil, segmentPrefix: String? = nil, segmentDurationSeconds: Int32? = nil) { + self.streamSelection = streamSelection + self.hlsManifests = hlsManifests + self.encryption = encryption + self.segmentPrefix = segmentPrefix + self.segmentDurationSeconds = segmentDurationSeconds + } + + private enum CodingKeys: String, CodingKey { + case streamSelection = "streamSelection" + case hlsManifests = "hlsManifests" + case encryption = "encryption" + case segmentPrefix = "segmentPrefix" + case segmentDurationSeconds = "segmentDurationSeconds" + } + } + + public struct CmafPackage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StreamSelection", location: .body(locationName: "streamSelection"), required: false, type: .structure), + AWSShapeMember(label: "HlsManifests", location: .body(locationName: "hlsManifests"), required: false, type: .list), + AWSShapeMember(label: "Encryption", location: .body(locationName: "encryption"), required: false, type: .structure), + AWSShapeMember(label: "SegmentPrefix", location: .body(locationName: "segmentPrefix"), required: false, type: .string), + AWSShapeMember(label: "SegmentDurationSeconds", location: .body(locationName: "segmentDurationSeconds"), required: false, type: .integer) + ] + public let streamSelection: StreamSelection? + /// A list of HLS manifest configurations + public let hlsManifests: [HlsManifest]? + public let encryption: CmafEncryption? + /// An optional custom string that is prepended to the name of each segment. If not specified, it defaults to the ChannelId. + public let segmentPrefix: String? + /// Duration (in seconds) of each segment. Actual segments will be + /// rounded to the nearest multiple of the source segment duration. + public let segmentDurationSeconds: Int32? + + public init(streamSelection: StreamSelection? = nil, hlsManifests: [HlsManifest]? = nil, encryption: CmafEncryption? = nil, segmentPrefix: String? = nil, segmentDurationSeconds: Int32? = nil) { + self.streamSelection = streamSelection + self.hlsManifests = hlsManifests + self.encryption = encryption + self.segmentPrefix = segmentPrefix + self.segmentDurationSeconds = segmentDurationSeconds + } + + private enum CodingKeys: String, CodingKey { + case streamSelection = "streamSelection" + case hlsManifests = "hlsManifests" + case encryption = "encryption" + case segmentPrefix = "segmentPrefix" + case segmentDurationSeconds = "segmentDurationSeconds" + } + } + + public enum Periodtriggerselement: String, CustomStringConvertible, Codable { + case ads = "ADS" + public var description: String { return self.rawValue } + } + public struct HlsIngest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "IngestEndpoints", location: .body(locationName: "ingestEndpoints"), required: false, type: .list) @@ -558,40 +649,42 @@ extension Mediapackage { public struct OriginEndpointCreateParameters: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: true, type: .string), AWSShapeMember(label: "DashPackage", location: .body(locationName: "dashPackage"), required: false, type: .structure), AWSShapeMember(label: "HlsPackage", location: .body(locationName: "hlsPackage"), required: false, type: .structure), AWSShapeMember(label: "Whitelist", location: .body(locationName: "whitelist"), required: false, type: .list), - AWSShapeMember(label: "ChannelId", location: .body(locationName: "channelId"), required: false, type: .string), + AWSShapeMember(label: "ChannelId", location: .body(locationName: "channelId"), required: true, type: .string), AWSShapeMember(label: "ManifestName", location: .body(locationName: "manifestName"), required: false, type: .string), AWSShapeMember(label: "MssPackage", location: .body(locationName: "mssPackage"), required: false, type: .structure), AWSShapeMember(label: "TimeDelaySeconds", location: .body(locationName: "timeDelaySeconds"), required: false, type: .integer), + AWSShapeMember(label: "CmafPackage", location: .body(locationName: "cmafPackage"), required: false, type: .structure), AWSShapeMember(label: "StartoverWindowSeconds", location: .body(locationName: "startoverWindowSeconds"), required: false, type: .integer), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] /// The ID of the OriginEndpoint. The ID must be unique within the region /// and it cannot be changed after the OriginEndpoint is created. - public let id: String? + public let id: String public let dashPackage: DashPackage? public let hlsPackage: HlsPackage? /// A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. public let whitelist: [String]? /// The ID of the Channel that the OriginEndpoint will be associated with. /// This cannot be changed after the OriginEndpoint is created. - public let channelId: String? + public let channelId: String /// A short string that will be used as the filename of the OriginEndpoint URL (defaults to "index"). public let manifestName: String? public let mssPackage: MssPackage? /// Amount of delay (seconds) to enforce on the playback of live content. /// If not specified, there will be no time delay in effect for the OriginEndpoint. public let timeDelaySeconds: Int32? + public let cmafPackage: CmafPackageCreateOrUpdateParameters? /// Maximum duration (seconds) of content to retain for startover playback. /// If not specified, startover playback will be disabled for the OriginEndpoint. public let startoverWindowSeconds: Int32? /// A short text description of the OriginEndpoint. public let description: String? - public init(id: String? = nil, dashPackage: DashPackage? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, channelId: String? = nil, manifestName: String? = nil, mssPackage: MssPackage? = nil, timeDelaySeconds: Int32? = nil, startoverWindowSeconds: Int32? = nil, description: String? = nil) { + public init(id: String, dashPackage: DashPackage? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, channelId: String, manifestName: String? = nil, mssPackage: MssPackage? = nil, timeDelaySeconds: Int32? = nil, cmafPackage: CmafPackageCreateOrUpdateParameters? = nil, startoverWindowSeconds: Int32? = nil, description: String? = nil) { self.id = id self.dashPackage = dashPackage self.hlsPackage = hlsPackage @@ -600,6 +693,7 @@ extension Mediapackage { self.manifestName = manifestName self.mssPackage = mssPackage self.timeDelaySeconds = timeDelaySeconds + self.cmafPackage = cmafPackage self.startoverWindowSeconds = startoverWindowSeconds self.description = description } @@ -613,6 +707,7 @@ extension Mediapackage { case manifestName = "manifestName" case mssPackage = "mssPackage" case timeDelaySeconds = "timeDelaySeconds" + case cmafPackage = "cmafPackage" case startoverWindowSeconds = "startoverWindowSeconds" case description = "description" } @@ -644,16 +739,19 @@ extension Mediapackage { } } - public struct CreateChannelResponse: AWSShape { + public struct Channel: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), AWSShapeMember(label: "HlsIngest", location: .body(locationName: "hlsIngest"), required: false, type: .structure), AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) ] + /// A short text description of the Channel. public let description: String? + /// The Amazon Resource Name (ARN) assigned to the Channel. public let arn: String? public let hlsIngest: HlsIngest? + /// The ID of the Channel. public let id: String? public init(description: String? = nil, arn: String? = nil, hlsIngest: HlsIngest? = nil, id: String? = nil) { @@ -671,19 +769,16 @@ extension Mediapackage { } } - public struct Channel: AWSShape { + public struct CreateChannelResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), AWSShapeMember(label: "HlsIngest", location: .body(locationName: "hlsIngest"), required: false, type: .structure), AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) ] - /// A short text description of the Channel. public let description: String? - /// The Amazon Resource Name (ARN) assigned to the Channel. public let arn: String? public let hlsIngest: HlsIngest? - /// The ID of the Channel. public let id: String? public init(description: String? = nil, arn: String? = nil, hlsIngest: HlsIngest? = nil, id: String? = nil) { @@ -710,6 +805,7 @@ extension Mediapackage { AWSShapeMember(label: "ManifestName", location: .body(locationName: "manifestName"), required: false, type: .string), AWSShapeMember(label: "MssPackage", location: .body(locationName: "mssPackage"), required: false, type: .structure), AWSShapeMember(label: "TimeDelaySeconds", location: .body(locationName: "timeDelaySeconds"), required: false, type: .integer), + AWSShapeMember(label: "CmafPackage", location: .body(locationName: "cmafPackage"), required: false, type: .structure), AWSShapeMember(label: "StartoverWindowSeconds", location: .body(locationName: "startoverWindowSeconds"), required: false, type: .integer), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] @@ -720,10 +816,11 @@ extension Mediapackage { public let manifestName: String? public let mssPackage: MssPackage? public let timeDelaySeconds: Int32? + public let cmafPackage: CmafPackageCreateOrUpdateParameters? public let startoverWindowSeconds: Int32? public let description: String? - public init(id: String, dashPackage: DashPackage? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, manifestName: String? = nil, mssPackage: MssPackage? = nil, timeDelaySeconds: Int32? = nil, startoverWindowSeconds: Int32? = nil, description: String? = nil) { + public init(id: String, dashPackage: DashPackage? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, manifestName: String? = nil, mssPackage: MssPackage? = nil, timeDelaySeconds: Int32? = nil, cmafPackage: CmafPackageCreateOrUpdateParameters? = nil, startoverWindowSeconds: Int32? = nil, description: String? = nil) { self.id = id self.dashPackage = dashPackage self.hlsPackage = hlsPackage @@ -731,6 +828,7 @@ extension Mediapackage { self.manifestName = manifestName self.mssPackage = mssPackage self.timeDelaySeconds = timeDelaySeconds + self.cmafPackage = cmafPackage self.startoverWindowSeconds = startoverWindowSeconds self.description = description } @@ -743,6 +841,7 @@ extension Mediapackage { case manifestName = "manifestName" case mssPackage = "mssPackage" case timeDelaySeconds = "timeDelaySeconds" + case cmafPackage = "cmafPackage" case startoverWindowSeconds = "startoverWindowSeconds" case description = "description" } @@ -750,16 +849,16 @@ extension Mediapackage { public struct ChannelCreateParameters: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: true, type: .string), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] /// The ID of the Channel. The ID must be unique within the region and it /// cannot be changed after a Channel is created. - public let id: String? + public let id: String /// A short text description of the Channel. public let description: String? - public init(id: String? = nil, description: String? = nil) { + public init(id: String, description: String? = nil) { self.id = id self.description = description } @@ -793,6 +892,26 @@ extension Mediapackage { } } + public struct CmafEncryption: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SpekeKeyProvider", location: .body(locationName: "spekeKeyProvider"), required: true, type: .structure), + AWSShapeMember(label: "KeyRotationIntervalSeconds", location: .body(locationName: "keyRotationIntervalSeconds"), required: false, type: .integer) + ] + public let spekeKeyProvider: SpekeKeyProvider + /// Time (in seconds) between each encryption key rotation. + public let keyRotationIntervalSeconds: Int32? + + public init(spekeKeyProvider: SpekeKeyProvider, keyRotationIntervalSeconds: Int32? = nil) { + self.spekeKeyProvider = spekeKeyProvider + self.keyRotationIntervalSeconds = keyRotationIntervalSeconds + } + + private enum CodingKeys: String, CodingKey { + case spekeKeyProvider = "spekeKeyProvider" + case keyRotationIntervalSeconds = "keyRotationIntervalSeconds" + } + } + public struct UpdateChannelRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Id", location: .uri(locationName: "id"), required: true, type: .string), @@ -812,12 +931,79 @@ extension Mediapackage { } } + public struct HlsManifest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PlaylistWindowSeconds", location: .body(locationName: "playlistWindowSeconds"), required: false, type: .integer), + AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string), + AWSShapeMember(label: "ProgramDateTimeIntervalSeconds", location: .body(locationName: "programDateTimeIntervalSeconds"), required: false, type: .integer), + AWSShapeMember(label: "AdMarkers", location: .body(locationName: "adMarkers"), required: false, type: .enum), + AWSShapeMember(label: "ManifestName", location: .body(locationName: "manifestName"), required: false, type: .string), + AWSShapeMember(label: "PlaylistType", location: .body(locationName: "playlistType"), required: false, type: .enum), + AWSShapeMember(label: "IncludeIframeOnlyStream", location: .body(locationName: "includeIframeOnlyStream"), required: false, type: .boolean), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: true, type: .string) + ] + /// Time window (in seconds) contained in each parent manifest. + public let playlistWindowSeconds: Int32? + /// The URL of the packaged OriginEndpoint for consumption. + public let url: String? + /// The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag + /// inserted into manifests. Additionally, when an interval is specified + /// ID3Timed Metadata messages will be generated every 5 seconds using the + /// ingest time of the content. + /// If the interval is not specified, or set to 0, then + /// no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no + /// ID3Timed Metadata messages will be generated. Note that irrespective + /// of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, + /// it will be passed through to HLS output. + public let programDateTimeIntervalSeconds: Int32? + /// This setting controls how ad markers are included in the packaged OriginEndpoint. + /// "NONE" will omit all SCTE-35 ad markers from the output. + /// "PASSTHROUGH" causes the manifest to contain a copy of the SCTE-35 ad + /// markers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest. + /// "SCTE35_ENHANCED" generates ad markers and blackout tags based on SCTE-35 + /// messages in the input source. + public let adMarkers: AdMarkers? + /// An optional short string appended to the end of the OriginEndpoint URL. If not specified, defaults to the manifestName for the OriginEndpoint. + public let manifestName: String? + /// The HTTP Live Streaming (HLS) playlist type. + /// When either "EVENT" or "VOD" is specified, a corresponding EXT-X-PLAYLIST-TYPE + /// entry will be included in the media playlist. + public let playlistType: PlaylistType? + /// When enabled, an I-Frame only stream will be included in the output. + public let includeIframeOnlyStream: Bool? + /// The ID of the manifest. The ID must be unique within the OriginEndpoint and it cannot be changed after it is created. + public let id: String + + public init(playlistWindowSeconds: Int32? = nil, url: String? = nil, programDateTimeIntervalSeconds: Int32? = nil, adMarkers: AdMarkers? = nil, manifestName: String? = nil, playlistType: PlaylistType? = nil, includeIframeOnlyStream: Bool? = nil, id: String) { + self.playlistWindowSeconds = playlistWindowSeconds + self.url = url + self.programDateTimeIntervalSeconds = programDateTimeIntervalSeconds + self.adMarkers = adMarkers + self.manifestName = manifestName + self.playlistType = playlistType + self.includeIframeOnlyStream = includeIframeOnlyStream + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case playlistWindowSeconds = "playlistWindowSeconds" + case url = "url" + case programDateTimeIntervalSeconds = "programDateTimeIntervalSeconds" + case adMarkers = "adMarkers" + case manifestName = "manifestName" + case playlistType = "playlistType" + case includeIframeOnlyStream = "includeIframeOnlyStream" + case id = "id" + } + } + public struct DashPackage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Encryption", location: .body(locationName: "encryption"), required: false, type: .structure), AWSShapeMember(label: "SuggestedPresentationDelaySeconds", location: .body(locationName: "suggestedPresentationDelaySeconds"), required: false, type: .integer), AWSShapeMember(label: "SegmentDurationSeconds", location: .body(locationName: "segmentDurationSeconds"), required: false, type: .integer), AWSShapeMember(label: "Profile", location: .body(locationName: "profile"), required: false, type: .enum), + AWSShapeMember(label: "PeriodTriggers", location: .body(locationName: "periodTriggers"), required: false, type: .list), AWSShapeMember(label: "MinBufferTimeSeconds", location: .body(locationName: "minBufferTimeSeconds"), required: false, type: .integer), AWSShapeMember(label: "MinUpdatePeriodSeconds", location: .body(locationName: "minUpdatePeriodSeconds"), required: false, type: .integer), AWSShapeMember(label: "ManifestWindowSeconds", location: .body(locationName: "manifestWindowSeconds"), required: false, type: .integer), @@ -831,6 +1017,11 @@ extension Mediapackage { public let segmentDurationSeconds: Int32? /// The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to "HBBTV_1_5", HbbTV 1.5 compliant output is enabled. public let profile: Profile? + /// A list of triggers that controls when the outgoing Dynamic Adaptive Streaming over HTTP (DASH) + /// Media Presentation Description (MPD) will be partitioned into multiple periods. If empty, the content will not + /// be partitioned into more than one period. If the list contains "ADS", new periods will be created where + /// the Channel source contains SCTE-35 ad markers. + public let periodTriggers: [Periodtriggerselement]? /// Minimum duration (in seconds) that a player will buffer media before starting the presentation. public let minBufferTimeSeconds: Int32? /// Minimum duration (in seconds) between potential changes to the Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD). @@ -839,11 +1030,12 @@ extension Mediapackage { public let manifestWindowSeconds: Int32? public let streamSelection: StreamSelection? - public init(encryption: DashEncryption? = nil, suggestedPresentationDelaySeconds: Int32? = nil, segmentDurationSeconds: Int32? = nil, profile: Profile? = nil, minBufferTimeSeconds: Int32? = nil, minUpdatePeriodSeconds: Int32? = nil, manifestWindowSeconds: Int32? = nil, streamSelection: StreamSelection? = nil) { + public init(encryption: DashEncryption? = nil, suggestedPresentationDelaySeconds: Int32? = nil, segmentDurationSeconds: Int32? = nil, profile: Profile? = nil, periodTriggers: [Periodtriggerselement]? = nil, minBufferTimeSeconds: Int32? = nil, minUpdatePeriodSeconds: Int32? = nil, manifestWindowSeconds: Int32? = nil, streamSelection: StreamSelection? = nil) { self.encryption = encryption self.suggestedPresentationDelaySeconds = suggestedPresentationDelaySeconds self.segmentDurationSeconds = segmentDurationSeconds self.profile = profile + self.periodTriggers = periodTriggers self.minBufferTimeSeconds = minBufferTimeSeconds self.minUpdatePeriodSeconds = minUpdatePeriodSeconds self.manifestWindowSeconds = manifestWindowSeconds @@ -855,6 +1047,7 @@ extension Mediapackage { case suggestedPresentationDelaySeconds = "suggestedPresentationDelaySeconds" case segmentDurationSeconds = "segmentDurationSeconds" case profile = "profile" + case periodTriggers = "periodTriggers" case minBufferTimeSeconds = "minBufferTimeSeconds" case minUpdatePeriodSeconds = "minUpdatePeriodSeconds" case manifestWindowSeconds = "manifestWindowSeconds" @@ -862,33 +1055,6 @@ extension Mediapackage { } } - public struct UpdateChannelResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "HlsIngest", location: .body(locationName: "hlsIngest"), required: false, type: .structure), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) - ] - public let description: String? - public let arn: String? - public let hlsIngest: HlsIngest? - public let id: String? - - public init(description: String? = nil, arn: String? = nil, hlsIngest: HlsIngest? = nil, id: String? = nil) { - self.description = description - self.arn = arn - self.hlsIngest = hlsIngest - self.id = id - } - - private enum CodingKeys: String, CodingKey { - case description = "description" - case arn = "arn" - case hlsIngest = "hlsIngest" - case id = "id" - } - } - public struct OriginEndpointList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "OriginEndpoints", location: .body(locationName: "originEndpoints"), required: false, type: .list), @@ -912,59 +1078,90 @@ extension Mediapackage { public struct UpdateOriginEndpointResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), AWSShapeMember(label: "DashPackage", location: .body(locationName: "dashPackage"), required: false, type: .structure), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "TimeDelaySeconds", location: .body(locationName: "timeDelaySeconds"), required: false, type: .integer), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), AWSShapeMember(label: "HlsPackage", location: .body(locationName: "hlsPackage"), required: false, type: .structure), AWSShapeMember(label: "Whitelist", location: .body(locationName: "whitelist"), required: false, type: .list), AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string), AWSShapeMember(label: "ChannelId", location: .body(locationName: "channelId"), required: false, type: .string), AWSShapeMember(label: "ManifestName", location: .body(locationName: "manifestName"), required: false, type: .string), AWSShapeMember(label: "MssPackage", location: .body(locationName: "mssPackage"), required: false, type: .structure), - AWSShapeMember(label: "TimeDelaySeconds", location: .body(locationName: "timeDelaySeconds"), required: false, type: .integer), - AWSShapeMember(label: "StartoverWindowSeconds", location: .body(locationName: "startoverWindowSeconds"), required: false, type: .integer), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + AWSShapeMember(label: "CmafPackage", location: .body(locationName: "cmafPackage"), required: false, type: .structure), + AWSShapeMember(label: "StartoverWindowSeconds", location: .body(locationName: "startoverWindowSeconds"), required: false, type: .integer) ] - public let description: String? public let dashPackage: DashPackage? public let arn: String? + public let timeDelaySeconds: Int32? + public let description: String? + public let id: String? public let hlsPackage: HlsPackage? public let whitelist: [String]? public let url: String? public let channelId: String? public let manifestName: String? public let mssPackage: MssPackage? - public let timeDelaySeconds: Int32? + public let cmafPackage: CmafPackage? public let startoverWindowSeconds: Int32? - public let id: String? - public init(description: String? = nil, dashPackage: DashPackage? = nil, arn: String? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, url: String? = nil, channelId: String? = nil, manifestName: String? = nil, mssPackage: MssPackage? = nil, timeDelaySeconds: Int32? = nil, startoverWindowSeconds: Int32? = nil, id: String? = nil) { - self.description = description + public init(dashPackage: DashPackage? = nil, arn: String? = nil, timeDelaySeconds: Int32? = nil, description: String? = nil, id: String? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, url: String? = nil, channelId: String? = nil, manifestName: String? = nil, mssPackage: MssPackage? = nil, cmafPackage: CmafPackage? = nil, startoverWindowSeconds: Int32? = nil) { self.dashPackage = dashPackage self.arn = arn + self.timeDelaySeconds = timeDelaySeconds + self.description = description + self.id = id self.hlsPackage = hlsPackage self.whitelist = whitelist self.url = url self.channelId = channelId self.manifestName = manifestName self.mssPackage = mssPackage - self.timeDelaySeconds = timeDelaySeconds + self.cmafPackage = cmafPackage self.startoverWindowSeconds = startoverWindowSeconds - self.id = id } private enum CodingKeys: String, CodingKey { - case description = "description" case dashPackage = "dashPackage" case arn = "arn" + case timeDelaySeconds = "timeDelaySeconds" + case description = "description" + case id = "id" case hlsPackage = "hlsPackage" case whitelist = "whitelist" case url = "url" case channelId = "channelId" case manifestName = "manifestName" case mssPackage = "mssPackage" - case timeDelaySeconds = "timeDelaySeconds" + case cmafPackage = "cmafPackage" case startoverWindowSeconds = "startoverWindowSeconds" + } + } + + public struct UpdateChannelResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "HlsIngest", location: .body(locationName: "hlsIngest"), required: false, type: .structure), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + ] + public let description: String? + public let arn: String? + public let hlsIngest: HlsIngest? + public let id: String? + + public init(description: String? = nil, arn: String? = nil, hlsIngest: HlsIngest? = nil, id: String? = nil) { + self.description = description + self.arn = arn + self.hlsIngest = hlsIngest + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case description = "description" + case arn = "arn" + case hlsIngest = "hlsIngest" case id = "id" } } @@ -1012,60 +1209,64 @@ extension Mediapackage { public struct DescribeOriginEndpointResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), AWSShapeMember(label: "DashPackage", location: .body(locationName: "dashPackage"), required: false, type: .structure), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "TimeDelaySeconds", location: .body(locationName: "timeDelaySeconds"), required: false, type: .integer), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), AWSShapeMember(label: "HlsPackage", location: .body(locationName: "hlsPackage"), required: false, type: .structure), AWSShapeMember(label: "Whitelist", location: .body(locationName: "whitelist"), required: false, type: .list), AWSShapeMember(label: "Url", location: .body(locationName: "url"), required: false, type: .string), AWSShapeMember(label: "ChannelId", location: .body(locationName: "channelId"), required: false, type: .string), AWSShapeMember(label: "ManifestName", location: .body(locationName: "manifestName"), required: false, type: .string), AWSShapeMember(label: "MssPackage", location: .body(locationName: "mssPackage"), required: false, type: .structure), - AWSShapeMember(label: "TimeDelaySeconds", location: .body(locationName: "timeDelaySeconds"), required: false, type: .integer), - AWSShapeMember(label: "StartoverWindowSeconds", location: .body(locationName: "startoverWindowSeconds"), required: false, type: .integer), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) + AWSShapeMember(label: "CmafPackage", location: .body(locationName: "cmafPackage"), required: false, type: .structure), + AWSShapeMember(label: "StartoverWindowSeconds", location: .body(locationName: "startoverWindowSeconds"), required: false, type: .integer) ] - public let description: String? public let dashPackage: DashPackage? public let arn: String? + public let timeDelaySeconds: Int32? + public let description: String? + public let id: String? public let hlsPackage: HlsPackage? public let whitelist: [String]? public let url: String? public let channelId: String? public let manifestName: String? public let mssPackage: MssPackage? - public let timeDelaySeconds: Int32? + public let cmafPackage: CmafPackage? public let startoverWindowSeconds: Int32? - public let id: String? - public init(description: String? = nil, dashPackage: DashPackage? = nil, arn: String? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, url: String? = nil, channelId: String? = nil, manifestName: String? = nil, mssPackage: MssPackage? = nil, timeDelaySeconds: Int32? = nil, startoverWindowSeconds: Int32? = nil, id: String? = nil) { - self.description = description + public init(dashPackage: DashPackage? = nil, arn: String? = nil, timeDelaySeconds: Int32? = nil, description: String? = nil, id: String? = nil, hlsPackage: HlsPackage? = nil, whitelist: [String]? = nil, url: String? = nil, channelId: String? = nil, manifestName: String? = nil, mssPackage: MssPackage? = nil, cmafPackage: CmafPackage? = nil, startoverWindowSeconds: Int32? = nil) { self.dashPackage = dashPackage self.arn = arn + self.timeDelaySeconds = timeDelaySeconds + self.description = description + self.id = id self.hlsPackage = hlsPackage self.whitelist = whitelist self.url = url self.channelId = channelId self.manifestName = manifestName self.mssPackage = mssPackage - self.timeDelaySeconds = timeDelaySeconds + self.cmafPackage = cmafPackage self.startoverWindowSeconds = startoverWindowSeconds - self.id = id } private enum CodingKeys: String, CodingKey { - case description = "description" case dashPackage = "dashPackage" case arn = "arn" + case timeDelaySeconds = "timeDelaySeconds" + case description = "description" + case id = "id" case hlsPackage = "hlsPackage" case whitelist = "whitelist" case url = "url" case channelId = "channelId" case manifestName = "manifestName" case mssPackage = "mssPackage" - case timeDelaySeconds = "timeDelaySeconds" + case cmafPackage = "cmafPackage" case startoverWindowSeconds = "startoverWindowSeconds" - case id = "id" } } @@ -1084,21 +1285,6 @@ extension Mediapackage { } } - public struct RotateChannelCredentialsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", location: .uri(locationName: "id"), required: true, type: .string) - ] - public let id: String - - public init(id: String) { - self.id = id - } - - private enum CodingKeys: String, CodingKey { - case id = "id" - } - } - public struct HlsPackage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Encryption", location: .body(locationName: "encryption"), required: false, type: .structure), @@ -1128,7 +1314,7 @@ extension Mediapackage { public let useAudioRenditionGroup: Bool? /// The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag /// inserted into manifests. Additionally, when an interval is specified - /// ID3Timed Metadata messages will be generated every 5 seconds using the + /// ID3Timed Metadata messages will be generated every 5 seconds using the /// ingest time of the content. /// If the interval is not specified, or set to 0, then /// no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no @@ -1169,6 +1355,82 @@ extension Mediapackage { } } + public struct RotateChannelCredentialsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", location: .uri(locationName: "id"), required: true, type: .string) + ] + public let id: String + + public init(id: String) { + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case id = "id" + } + } + + public struct HlsManifestCreateOrUpdateParameters: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PlaylistWindowSeconds", location: .body(locationName: "playlistWindowSeconds"), required: false, type: .integer), + AWSShapeMember(label: "ProgramDateTimeIntervalSeconds", location: .body(locationName: "programDateTimeIntervalSeconds"), required: false, type: .integer), + AWSShapeMember(label: "AdMarkers", location: .body(locationName: "adMarkers"), required: false, type: .enum), + AWSShapeMember(label: "ManifestName", location: .body(locationName: "manifestName"), required: false, type: .string), + AWSShapeMember(label: "PlaylistType", location: .body(locationName: "playlistType"), required: false, type: .enum), + AWSShapeMember(label: "IncludeIframeOnlyStream", location: .body(locationName: "includeIframeOnlyStream"), required: false, type: .boolean), + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: true, type: .string) + ] + /// Time window (in seconds) contained in each parent manifest. + public let playlistWindowSeconds: Int32? + /// The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag + /// inserted into manifests. Additionally, when an interval is specified + /// ID3Timed Metadata messages will be generated every 5 seconds using the + /// ingest time of the content. + /// If the interval is not specified, or set to 0, then + /// no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no + /// ID3Timed Metadata messages will be generated. Note that irrespective + /// of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, + /// it will be passed through to HLS output. + public let programDateTimeIntervalSeconds: Int32? + /// This setting controls how ad markers are included in the packaged OriginEndpoint. + /// "NONE" will omit all SCTE-35 ad markers from the output. + /// "PASSTHROUGH" causes the manifest to contain a copy of the SCTE-35 ad + /// markers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest. + /// "SCTE35_ENHANCED" generates ad markers and blackout tags based on SCTE-35 + /// messages in the input source. + public let adMarkers: AdMarkers? + /// An optional short string appended to the end of the OriginEndpoint URL. If not specified, defaults to the manifestName for the OriginEndpoint. + public let manifestName: String? + /// The HTTP Live Streaming (HLS) playlist type. + /// When either "EVENT" or "VOD" is specified, a corresponding EXT-X-PLAYLIST-TYPE + /// entry will be included in the media playlist. + public let playlistType: PlaylistType? + /// When enabled, an I-Frame only stream will be included in the output. + public let includeIframeOnlyStream: Bool? + /// The ID of the manifest. The ID must be unique within the OriginEndpoint and it cannot be changed after it is created. + public let id: String + + public init(playlistWindowSeconds: Int32? = nil, programDateTimeIntervalSeconds: Int32? = nil, adMarkers: AdMarkers? = nil, manifestName: String? = nil, playlistType: PlaylistType? = nil, includeIframeOnlyStream: Bool? = nil, id: String) { + self.playlistWindowSeconds = playlistWindowSeconds + self.programDateTimeIntervalSeconds = programDateTimeIntervalSeconds + self.adMarkers = adMarkers + self.manifestName = manifestName + self.playlistType = playlistType + self.includeIframeOnlyStream = includeIframeOnlyStream + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case playlistWindowSeconds = "playlistWindowSeconds" + case programDateTimeIntervalSeconds = "programDateTimeIntervalSeconds" + case adMarkers = "adMarkers" + case manifestName = "manifestName" + case playlistType = "playlistType" + case includeIframeOnlyStream = "includeIframeOnlyStream" + case id = "id" + } + } + public struct DeleteChannelResponse: AWSShape { } diff --git a/Sources/AWSSDKSwift/Services/mediastore-data/MediastoreData_API.swift b/Sources/AWSSDKSwift/Services/mediastore-data/MediastoreData_API.swift index ca14594d4e5..d8a81f3b242 100644 --- a/Sources/AWSSDKSwift/Services/mediastore-data/MediastoreData_API.swift +++ b/Sources/AWSSDKSwift/Services/mediastore-data/MediastoreData_API.swift @@ -24,7 +24,7 @@ public struct MediastoreData { ) } - /// Gets the header for an object at the specified path. + /// Gets the headers for an object at the specified path. public func describeObject(_ input: DescribeObjectRequest) throws -> DescribeObjectResponse { return try client.send(operation: "DescribeObject", path: "/{Path+}", httpMethod: "HEAD", input: input) } diff --git a/Sources/AWSSDKSwift/Services/mediastore-data/MediastoreData_Shapes.swift b/Sources/AWSSDKSwift/Services/mediastore-data/MediastoreData_Shapes.swift index 077706cfa06..8b504317e20 100644 --- a/Sources/AWSSDKSwift/Services/mediastore-data/MediastoreData_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/mediastore-data/MediastoreData_Shapes.swift @@ -21,7 +21,7 @@ extension MediastoreData { public let storageClass: StorageClass? /// 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. public let cacheControl: String? - /// The path to the file outside of the container. The file name can include or omit an extension. Example 1: If the file is stored on a remote server that has been mounted to the workstation on which the REST API command is being run, the path could be the absolute path \mount\assets\mlaw.avi or the relative path ..\..\mount\assets\movies\premium\mlaw.avi. Example 2: If the file is stored on a remote server that is not mounted, the path could be https:\\192.0.2.15\movies\premium\mlaw.avi. + /// The bytes to be stored. public let body: Data /// 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. public let path: String @@ -226,7 +226,7 @@ extension MediastoreData { public let statusCode: Int32 /// The ETag that represents a unique instance of the object. public let eTag: String? - /// The path to the file outside of the container. The file name can include or omit an extension. Example 1: If the file is stored on a remote server that has been mounted to the workstation on which the REST API command is being run, the path could be the absolute path \mount\assets\mlaw.avi or the relative path ..\..\mount\assets\movies\premium\mlaw.avi. Example 2: If the file is stored on a remote server that is not mounted, the path could be https:\\192.0.2.15\movies\premium\mlaw.avi. + /// The bytes of the object. public let body: Data? public init(lastModified: TimeStamp? = nil, cacheControl: String? = nil, contentLength: Int64? = nil, contentRange: String? = nil, contentType: String? = nil, statusCode: Int32, eTag: String? = nil, body: Data? = nil) { diff --git a/Sources/AWSSDKSwift/Services/mediastore/Mediastore_API.swift b/Sources/AWSSDKSwift/Services/mediastore/Mediastore_API.swift index 6ea01c065b2..98bed96d0f4 100644 --- a/Sources/AWSSDKSwift/Services/mediastore/Mediastore_API.swift +++ b/Sources/AWSSDKSwift/Services/mediastore/Mediastore_API.swift @@ -40,9 +40,9 @@ public struct Mediastore { return try client.send(operation: "DeleteContainer", path: "/", httpMethod: "POST", input: input) } - /// Retrieves the properties of the requested container. This returns a single Container object based on ContainerName. To return all Container objects that are associated with a specified AWS account, use ListContainers. - public func describeContainer(_ input: DescribeContainerInput) throws -> DescribeContainerOutput { - return try client.send(operation: "DescribeContainer", path: "/", httpMethod: "POST", input: input) + /// 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. + public func deleteCorsPolicy(_ input: DeleteCorsPolicyInput) throws -> DeleteCorsPolicyOutput { + return try client.send(operation: "DeleteCorsPolicy", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -55,10 +55,25 @@ public struct Mediastore { return try client.send(operation: "DeleteContainerPolicy", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describeContainer(_ input: DescribeContainerInput) throws -> DescribeContainerOutput { + return try client.send(operation: "DescribeContainer", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func listContainers(_ input: ListContainersInput) throws -> ListContainersOutput { return try client.send(operation: "ListContainers", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func getCorsPolicy(_ input: GetCorsPolicyInput) throws -> GetCorsPolicyOutput { + return try client.send(operation: "GetCorsPolicy", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func putCorsPolicy(_ input: PutCorsPolicyInput) throws -> PutCorsPolicyOutput { + return try client.send(operation: "PutCorsPolicy", path: "/", httpMethod: "POST", input: input) + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/mediastore/Mediastore_Error.swift b/Sources/AWSSDKSwift/Services/mediastore/Mediastore_Error.swift index b52ad3dc276..eb7a4c2e2b4 100644 --- a/Sources/AWSSDKSwift/Services/mediastore/Mediastore_Error.swift +++ b/Sources/AWSSDKSwift/Services/mediastore/Mediastore_Error.swift @@ -8,6 +8,7 @@ public enum MediastoreError: AWSErrorType { case limitExceededException(message: String?) case internalServerError(message: String?) case containerNotFoundException(message: String?) + case corsPolicyNotFoundException(message: String?) case policyNotFoundException(message: String?) } @@ -26,6 +27,8 @@ extension MediastoreError { self = .internalServerError(message: message) case "ContainerNotFoundException": self = .containerNotFoundException(message: message) + case "CorsPolicyNotFoundException": + self = .corsPolicyNotFoundException(message: message) case "PolicyNotFoundException": self = .policyNotFoundException(message: message) default: diff --git a/Sources/AWSSDKSwift/Services/mediastore/Mediastore_Shapes.swift b/Sources/AWSSDKSwift/Services/mediastore/Mediastore_Shapes.swift index 65849cb5db2..3aa088b93e4 100644 --- a/Sources/AWSSDKSwift/Services/mediastore/Mediastore_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/mediastore/Mediastore_Shapes.swift @@ -9,7 +9,7 @@ extension Mediastore { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Container", required: true, type: .structure) ] - /// 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 timestamp. 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. + /// 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. public let container: Container public init(container: Container) { @@ -21,6 +21,42 @@ extension Mediastore { } } + public struct CorsRule: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExposeHeaders", required: false, type: .list), + AWSShapeMember(label: "AllowedOrigins", required: false, type: .list), + AWSShapeMember(label: "MaxAgeSeconds", required: false, type: .integer), + AWSShapeMember(label: "AllowedHeaders", required: false, type: .list), + AWSShapeMember(label: "AllowedMethods", required: false, type: .list) + ] + /// 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. + public let exposeHeaders: [String]? + /// 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. + public let allowedOrigins: [String]? + /// The time in seconds that your browser caches the preflight response for the specified resource. A CORS rule can have only one MaxAgeSeconds element. + public let maxAgeSeconds: Int32? + /// 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 (*). + public let allowedHeaders: [String]? + /// 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. + public let allowedMethods: [MethodName]? + + public init(exposeHeaders: [String]? = nil, allowedOrigins: [String]? = nil, maxAgeSeconds: Int32? = nil, allowedHeaders: [String]? = nil, allowedMethods: [MethodName]? = nil) { + self.exposeHeaders = exposeHeaders + self.allowedOrigins = allowedOrigins + self.maxAgeSeconds = maxAgeSeconds + self.allowedHeaders = allowedHeaders + self.allowedMethods = allowedMethods + } + + private enum CodingKeys: String, CodingKey { + case exposeHeaders = "ExposeHeaders" + case allowedOrigins = "AllowedOrigins" + case maxAgeSeconds = "MaxAgeSeconds" + case allowedHeaders = "AllowedHeaders" + case allowedMethods = "AllowedMethods" + } + } + public struct GetContainerPolicyOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Policy", required: true, type: .string) @@ -37,6 +73,10 @@ extension Mediastore { } } + public struct DeleteCorsPolicyOutput: AWSShape { + + } + public struct ListContainersOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Containers", required: true, type: .list), @@ -79,6 +119,30 @@ extension Mediastore { } } + public struct DeleteContainerPolicyOutput: AWSShape { + + } + + public struct DeleteCorsPolicyInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContainerName", required: true, type: .string) + ] + /// The name of the container to remove the policy from. + public let containerName: String + + public init(containerName: String) { + self.containerName = containerName + } + + private enum CodingKeys: String, CodingKey { + case containerName = "ContainerName" + } + } + + public struct PutCorsPolicyOutput: AWSShape { + + } + public struct DeleteContainerPolicyInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ContainerName", required: true, type: .string) @@ -95,8 +159,41 @@ extension Mediastore { } } - public struct DeleteContainerPolicyOutput: AWSShape { + public struct GetCorsPolicyInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContainerName", required: true, type: .string) + ] + /// The name of the container that the policy is assigned to. + public let containerName: String + + public init(containerName: String) { + self.containerName = containerName + } + + private enum CodingKeys: String, CodingKey { + case containerName = "ContainerName" + } + } + + public struct PutCorsPolicyInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContainerName", required: true, type: .string), + AWSShapeMember(label: "CorsPolicy", required: true, type: .list) + ] + /// The name of the container that you want to assign the CORS policy to. + public let containerName: String + /// The CORS policy to apply to the container. + public let corsPolicy: [CorsRule] + + public init(containerName: String, corsPolicy: [CorsRule]) { + self.containerName = containerName + self.corsPolicy = corsPolicy + } + private enum CodingKeys: String, CodingKey { + case containerName = "ContainerName" + case corsPolicy = "CorsPolicy" + } } public struct PutContainerPolicyOutput: AWSShape { @@ -119,19 +216,18 @@ extension Mediastore { } } - public struct DescribeContainerOutput: AWSShape { + public struct GetCorsPolicyOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Container", required: false, type: .structure) + AWSShapeMember(label: "CorsPolicy", required: true, type: .list) ] - /// The name of the queried container. - public let container: Container? + public let corsPolicy: [CorsRule] - public init(container: Container? = nil) { - self.container = container + public init(corsPolicy: [CorsRule]) { + self.corsPolicy = corsPolicy } private enum CodingKeys: String, CodingKey { - case container = "Container" + case corsPolicy = "CorsPolicy" } } @@ -151,6 +247,22 @@ extension Mediastore { } } + public struct CreateContainerInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ContainerName", required: true, type: .string) + ] + /// 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. + public let containerName: String + + public init(containerName: String) { + self.containerName = containerName + } + + private enum CodingKeys: String, CodingKey { + case containerName = "ContainerName" + } + } + public struct PutContainerPolicyInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Policy", required: true, type: .string), @@ -176,19 +288,19 @@ extension Mediastore { } - public struct CreateContainerInput: AWSShape { + public struct DescribeContainerOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ContainerName", required: true, type: .string) + AWSShapeMember(label: "Container", required: false, type: .structure) ] - /// 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. - public let containerName: String + /// The name of the queried container. + public let container: Container? - public init(containerName: String) { - self.containerName = containerName + public init(container: Container? = nil) { + self.container = container } private enum CodingKeys: String, CodingKey { - case containerName = "ContainerName" + case container = "Container" } } @@ -208,6 +320,14 @@ extension Mediastore { } } + public enum MethodName: String, CustomStringConvertible, Codable { + case put = "PUT" + case get = "GET" + case delete = "DELETE" + case head = "HEAD" + public var description: String { return self.rawValue } + } + public enum ContainerStatus: String, CustomStringConvertible, Codable { case active = "ACTIVE" case creating = "CREATING" @@ -231,7 +351,7 @@ extension Mediastore { public let arn: String? /// The name of the container. public let name: String? - /// The DNS endpoint of the container. Use from 1 to 255 characters. Use this endpoint to identify this container when sending requests to the data plane. + /// 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. public let endpoint: String? public init(creationTime: TimeStamp? = nil, status: ContainerStatus? = nil, arn: String? = nil, name: String? = nil, endpoint: String? = nil) { diff --git a/Sources/AWSSDKSwift/Services/mediatailor/Mediatailor_API.swift b/Sources/AWSSDKSwift/Services/mediatailor/Mediatailor_API.swift new file mode 100644 index 00000000000..4e2ca327fae --- /dev/null +++ b/Sources/AWSSDKSwift/Services/mediatailor/Mediatailor_API.swift @@ -0,0 +1,47 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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). +*/ +public struct Mediatailor { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + service: "api.mediatailor", + serviceProtocol: ServiceProtocol(type: .restjson, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2018-04-23", + endpoint: endpoint, + middlewares: [] + ) + } + + /// 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. + public func listPlaybackConfigurations(_ input: ListPlaybackConfigurationsRequest) throws -> ListPlaybackConfigurationsResponse { + return try client.send(operation: "ListPlaybackConfigurations", path: "/playbackConfigurations", httpMethod: "GET", input: input) + } + + /// Returns the configuration for the specified name. + public func getPlaybackConfiguration(_ input: GetPlaybackConfigurationRequest) throws -> GetPlaybackConfigurationResponse { + return try client.send(operation: "GetPlaybackConfiguration", path: "/playbackConfiguration/{Name}", httpMethod: "GET", input: input) + } + + /// Adds a new configuration to AWS Elemental MediaTailor. + public func putPlaybackConfiguration(_ input: PutPlaybackConfigurationRequest) throws -> PutPlaybackConfigurationResponse { + return try client.send(operation: "PutPlaybackConfiguration", path: "/playbackConfiguration", httpMethod: "PUT", input: input) + } + + /// Deletes the configuration for the specified name. + public func deletePlaybackConfiguration(_ input: DeletePlaybackConfigurationRequest) throws { + _ = try client.send(operation: "DeletePlaybackConfiguration", path: "/playbackConfiguration/{Name}", httpMethod: "DELETE", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/mediatailor/Mediatailor_Shapes.swift b/Sources/AWSSDKSwift/Services/mediatailor/Mediatailor_Shapes.swift new file mode 100644 index 00000000000..87f74fb34df --- /dev/null +++ b/Sources/AWSSDKSwift/Services/mediatailor/Mediatailor_Shapes.swift @@ -0,0 +1,276 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Mediatailor { + + public struct PutPlaybackConfigurationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VideoContentSourceUrl", required: false, type: .string), + AWSShapeMember(label: "AdDecisionServerUrl", required: false, type: .string), + AWSShapeMember(label: "SlateAdUrl", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "CdnConfiguration", required: false, type: .structure) + ] + /// The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters. + public let videoContentSourceUrl: String? + /// 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. + public let adDecisionServerUrl: String? + /// 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. + public let slateAdUrl: String? + /// The identifier for the configuration. + public let name: String? + /// The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management. + public let cdnConfiguration: CdnConfiguration? + + public init(videoContentSourceUrl: String? = nil, adDecisionServerUrl: String? = nil, slateAdUrl: String? = nil, name: String? = nil, cdnConfiguration: CdnConfiguration? = nil) { + self.videoContentSourceUrl = videoContentSourceUrl + self.adDecisionServerUrl = adDecisionServerUrl + self.slateAdUrl = slateAdUrl + self.name = name + self.cdnConfiguration = cdnConfiguration + } + + private enum CodingKeys: String, CodingKey { + case videoContentSourceUrl = "VideoContentSourceUrl" + case adDecisionServerUrl = "AdDecisionServerUrl" + case slateAdUrl = "SlateAdUrl" + case name = "Name" + case cdnConfiguration = "CdnConfiguration" + } + } + + public struct HlsConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ManifestEndpointPrefix", required: false, type: .string) + ] + /// The URL that is used to initiate a playback session for devices that support Apple HLS. The session uses server-side reporting. + public let manifestEndpointPrefix: String? + + public init(manifestEndpointPrefix: String? = nil) { + self.manifestEndpointPrefix = manifestEndpointPrefix + } + + private enum CodingKeys: String, CodingKey { + case manifestEndpointPrefix = "ManifestEndpointPrefix" + } + } + + public struct DeletePlaybackConfigurationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", location: .uri(locationName: "Name"), required: true, type: .string) + ] + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + + public struct ListPlaybackConfigurationsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "NextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "MaxResults"), required: false, type: .integer) + ] + public let nextToken: String? + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct PutPlaybackConfigurationResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AdDecisionServerUrl", required: false, type: .string), + AWSShapeMember(label: "HlsConfiguration", required: false, type: .structure), + AWSShapeMember(label: "VideoContentSourceUrl", required: false, type: .string), + AWSShapeMember(label: "SlateAdUrl", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "SessionInitializationEndpointPrefix", required: false, type: .string), + AWSShapeMember(label: "PlaybackEndpointPrefix", required: false, type: .string), + AWSShapeMember(label: "CdnConfiguration", required: false, type: .structure) + ] + public let adDecisionServerUrl: String? + public let hlsConfiguration: HlsConfiguration? + public let videoContentSourceUrl: String? + public let slateAdUrl: String? + public let name: String? + public let sessionInitializationEndpointPrefix: String? + public let playbackEndpointPrefix: String? + public let cdnConfiguration: CdnConfiguration? + + public init(adDecisionServerUrl: String? = nil, hlsConfiguration: HlsConfiguration? = nil, videoContentSourceUrl: String? = nil, slateAdUrl: String? = nil, name: String? = nil, sessionInitializationEndpointPrefix: String? = nil, playbackEndpointPrefix: String? = nil, cdnConfiguration: CdnConfiguration? = nil) { + self.adDecisionServerUrl = adDecisionServerUrl + self.hlsConfiguration = hlsConfiguration + self.videoContentSourceUrl = videoContentSourceUrl + self.slateAdUrl = slateAdUrl + self.name = name + self.sessionInitializationEndpointPrefix = sessionInitializationEndpointPrefix + self.playbackEndpointPrefix = playbackEndpointPrefix + self.cdnConfiguration = cdnConfiguration + } + + private enum CodingKeys: String, CodingKey { + case adDecisionServerUrl = "AdDecisionServerUrl" + case hlsConfiguration = "HlsConfiguration" + case videoContentSourceUrl = "VideoContentSourceUrl" + case slateAdUrl = "SlateAdUrl" + case name = "Name" + case sessionInitializationEndpointPrefix = "SessionInitializationEndpointPrefix" + case playbackEndpointPrefix = "PlaybackEndpointPrefix" + case cdnConfiguration = "CdnConfiguration" + } + } + + public struct GetPlaybackConfigurationResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AdDecisionServerUrl", required: false, type: .string), + AWSShapeMember(label: "HlsConfiguration", required: false, type: .structure), + AWSShapeMember(label: "VideoContentSourceUrl", required: false, type: .string), + AWSShapeMember(label: "SlateAdUrl", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "SessionInitializationEndpointPrefix", required: false, type: .string), + AWSShapeMember(label: "PlaybackEndpointPrefix", required: false, type: .string), + AWSShapeMember(label: "CdnConfiguration", required: false, type: .structure) + ] + /// 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. + public let adDecisionServerUrl: String? + /// The configuration for HLS content. + public let hlsConfiguration: HlsConfiguration? + /// The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters. + public let videoContentSourceUrl: String? + /// 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. + public let slateAdUrl: String? + /// The identifier for the configuration. + public let name: String? + /// The URL that the player uses to initialize a session that uses client-side reporting. + public let sessionInitializationEndpointPrefix: String? + /// The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting. + public let playbackEndpointPrefix: String? + /// The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management. + public let cdnConfiguration: CdnConfiguration? + + public init(adDecisionServerUrl: String? = nil, hlsConfiguration: HlsConfiguration? = nil, videoContentSourceUrl: String? = nil, slateAdUrl: String? = nil, name: String? = nil, sessionInitializationEndpointPrefix: String? = nil, playbackEndpointPrefix: String? = nil, cdnConfiguration: CdnConfiguration? = nil) { + self.adDecisionServerUrl = adDecisionServerUrl + self.hlsConfiguration = hlsConfiguration + self.videoContentSourceUrl = videoContentSourceUrl + self.slateAdUrl = slateAdUrl + self.name = name + self.sessionInitializationEndpointPrefix = sessionInitializationEndpointPrefix + self.playbackEndpointPrefix = playbackEndpointPrefix + self.cdnConfiguration = cdnConfiguration + } + + private enum CodingKeys: String, CodingKey { + case adDecisionServerUrl = "AdDecisionServerUrl" + case hlsConfiguration = "HlsConfiguration" + case videoContentSourceUrl = "VideoContentSourceUrl" + case slateAdUrl = "SlateAdUrl" + case name = "Name" + case sessionInitializationEndpointPrefix = "SessionInitializationEndpointPrefix" + case playbackEndpointPrefix = "PlaybackEndpointPrefix" + case cdnConfiguration = "CdnConfiguration" + } + } + + public struct ListPlaybackConfigurationsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Items", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// 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. + public let items: [PlaybackConfiguration]? + /// Pagination token returned by the GET list request when results overrun the meximum allowed. Use the token to fetch the next page of results. + public let nextToken: String? + + public init(items: [PlaybackConfiguration]? = nil, nextToken: String? = nil) { + self.items = items + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case items = "Items" + case nextToken = "NextToken" + } + } + + public struct GetPlaybackConfigurationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", location: .uri(locationName: "Name"), required: true, type: .string) + ] + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + + public struct PlaybackConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VideoContentSourceUrl", required: false, type: .string), + AWSShapeMember(label: "AdDecisionServerUrl", required: false, type: .string), + AWSShapeMember(label: "SlateAdUrl", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "CdnConfiguration", required: false, type: .structure) + ] + public let videoContentSourceUrl: String? + public let adDecisionServerUrl: String? + public let slateAdUrl: String? + public let name: String? + public let cdnConfiguration: CdnConfiguration? + + public init(videoContentSourceUrl: String? = nil, adDecisionServerUrl: String? = nil, slateAdUrl: String? = nil, name: String? = nil, cdnConfiguration: CdnConfiguration? = nil) { + self.videoContentSourceUrl = videoContentSourceUrl + self.adDecisionServerUrl = adDecisionServerUrl + self.slateAdUrl = slateAdUrl + self.name = name + self.cdnConfiguration = cdnConfiguration + } + + private enum CodingKeys: String, CodingKey { + case videoContentSourceUrl = "VideoContentSourceUrl" + case adDecisionServerUrl = "AdDecisionServerUrl" + case slateAdUrl = "SlateAdUrl" + case name = "Name" + case cdnConfiguration = "CdnConfiguration" + } + } + + public struct CdnConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AdSegmentUrlPrefix", required: false, type: .string), + AWSShapeMember(label: "ContentSegmentUrlPrefix", required: false, type: .string) + ] + /// 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. + public let adSegmentUrlPrefix: String? + /// 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. + public let contentSegmentUrlPrefix: String? + + public init(adSegmentUrlPrefix: String? = nil, contentSegmentUrlPrefix: String? = nil) { + self.adSegmentUrlPrefix = adSegmentUrlPrefix + self.contentSegmentUrlPrefix = contentSegmentUrlPrefix + } + + private enum CodingKeys: String, CodingKey { + case adSegmentUrlPrefix = "AdSegmentUrlPrefix" + case contentSegmentUrlPrefix = "ContentSegmentUrlPrefix" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/monitoring/Monitoring_API.swift b/Sources/AWSSDKSwift/Services/monitoring/Monitoring_API.swift index 8c09f9bd4a5..18753b0de87 100644 --- a/Sources/AWSSDKSwift/Services/monitoring/Monitoring_API.swift +++ b/Sources/AWSSDKSwift/Services/monitoring/Monitoring_API.swift @@ -29,7 +29,7 @@ public struct Monitoring { return try client.send(operation: "DescribeAlarms", path: "/", httpMethod: "POST", input: input) } - /// 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: 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. + /// 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. public func putMetricAlarm(_ input: PutMetricAlarmInput) throws { _ = try client.send(operation: "PutMetricAlarm", path: "/", httpMethod: "POST", input: input) } @@ -94,6 +94,11 @@ public struct Monitoring { _ = try client.send(operation: "SetAlarmState", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func getMetricData(_ input: GetMetricDataInput) throws -> GetMetricDataOutput { + return try client.send(operation: "GetMetricData", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func describeAlarmHistory(_ input: DescribeAlarmHistoryInput) throws -> DescribeAlarmHistoryOutput { return try client.send(operation: "DescribeAlarmHistory", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/monitoring/Monitoring_Shapes.swift b/Sources/AWSSDKSwift/Services/monitoring/Monitoring_Shapes.swift index 5e168d4d723..1d04c075afb 100644 --- a/Sources/AWSSDKSwift/Services/monitoring/Monitoring_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/monitoring/Monitoring_Shapes.swift @@ -7,15 +7,15 @@ extension Monitoring { public struct PutDashboardInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DashboardBody", required: false, type: .string), - AWSShapeMember(label: "DashboardName", required: false, type: .string) + AWSShapeMember(label: "DashboardBody", required: true, type: .string), + AWSShapeMember(label: "DashboardName", required: true, type: .string) ] - /// The detailed information about the dashboard in JSON format, including the widgets to include and their location on the dashboard. For more information about the syntax, see CloudWatch-Dashboard-Body-Structure. - public let dashboardBody: String? - /// 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 "_". - public let dashboardName: String? + /// 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. + public let dashboardBody: String + /// 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. + public let dashboardName: String - public init(dashboardBody: String? = nil, dashboardName: String? = nil) { + public init(dashboardBody: String, dashboardName: String) { self.dashboardBody = dashboardBody self.dashboardName = dashboardName } @@ -99,14 +99,56 @@ extension Monitoring { } } + public struct GetMetricDataOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MetricDataResults", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// The metrics that are returned, including the metric name, namespace, and dimensions. + public let metricDataResults: [MetricDataResult]? + /// A token that marks the next batch of returned results. + public let nextToken: String? + + public init(metricDataResults: [MetricDataResult]? = nil, nextToken: String? = nil) { + self.metricDataResults = metricDataResults + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case metricDataResults = "MetricDataResults" + case nextToken = "NextToken" + } + } + + public struct MessageData: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: false, type: .string), + AWSShapeMember(label: "Code", required: false, type: .string) + ] + /// The message text. + public let value: String? + /// The error code or status code associated with the message. + public let code: String? + + public init(value: String? = nil, code: String? = nil) { + self.value = value + self.code = code + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case code = "Code" + } + } + public struct DeleteDashboardsInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DashboardNames", required: false, type: .list) + AWSShapeMember(label: "DashboardNames", required: true, type: .list) ] - /// The dashboards to be deleted. - public let dashboardNames: [String]? + /// The dashboards to be deleted. This parameter is required. + public let dashboardNames: [String] - public init(dashboardNames: [String]? = nil) { + public init(dashboardNames: [String]) { self.dashboardNames = dashboardNames } @@ -121,12 +163,12 @@ extension Monitoring { public struct GetDashboardInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DashboardName", required: false, type: .string) + AWSShapeMember(label: "DashboardName", required: true, type: .string) ] /// The name of the dashboard to be described. - public let dashboardName: String? + public let dashboardName: String - public init(dashboardName: String? = nil) { + public init(dashboardName: String) { self.dashboardName = dashboardName } @@ -248,6 +290,13 @@ extension Monitoring { } } + public enum StatusCode: String, CustomStringConvertible, Codable { + case complete = "Complete" + case internalerror = "InternalError" + case partialdata = "PartialData" + public var description: String { return self.rawValue } + } + public enum StandardUnit: String, CustomStringConvertible, Codable { case seconds = "Seconds" case microseconds = "Microseconds" @@ -360,7 +409,7 @@ extension Monitoring { public let extendedStatistics: [String]? /// 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. public let dimensions: [Dimension]? - /// The unit for a given metric. Metrics may be reported in multiple units. Not supplying a unit results in all units being returned. If the metric only ever reports one unit, specifying a unit has no effect. + /// 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. public let unit: StandardUnit? /// The metric statistics, other than percentile. For percentile statistics, use ExtendedStatistics. When calling GetMetricStatistics, you must specify either Statistics or ExtendedStatistics, but not both. public let statistics: [Statistic]? @@ -413,6 +462,15 @@ extension Monitoring { } } + public enum Statistic: String, CustomStringConvertible, Codable { + case samplecount = "SampleCount" + case average = "Average" + case sum = "Sum" + case minimum = "Minimum" + case maximum = "Maximum" + public var description: String { return self.rawValue } + } + public struct GetMetricStatisticsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Label", required: false, type: .string), @@ -434,15 +492,6 @@ extension Monitoring { } } - public enum Statistic: String, CustomStringConvertible, Codable { - case samplecount = "SampleCount" - case average = "Average" - case sum = "Sum" - case minimum = "Minimum" - case maximum = "Maximum" - public var description: String { return self.rawValue } - } - public enum HistoryItemType: String, CustomStringConvertible, Codable { case configurationupdate = "ConfigurationUpdate" case stateupdate = "StateUpdate" @@ -450,6 +499,22 @@ extension Monitoring { public var description: String { return self.rawValue } } + public struct DescribeAlarmsForMetricOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MetricAlarms", required: false, type: .list) + ] + /// The information for each alarm with the specified metric. + public let metricAlarms: [MetricAlarm]? + + public init(metricAlarms: [MetricAlarm]? = nil) { + self.metricAlarms = metricAlarms + } + + private enum CodingKeys: String, CodingKey { + case metricAlarms = "MetricAlarms" + } + } + public struct DimensionFilter: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Value", required: false, type: .string), @@ -471,22 +536,6 @@ extension Monitoring { } } - public struct DescribeAlarmsForMetricOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MetricAlarms", required: false, type: .list) - ] - /// The information for each alarm with the specified metric. - public let metricAlarms: [MetricAlarm]? - - public init(metricAlarms: [MetricAlarm]? = nil) { - self.metricAlarms = metricAlarms - } - - private enum CodingKeys: String, CodingKey { - case metricAlarms = "MetricAlarms" - } - } - public struct ListDashboardsInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -508,6 +557,53 @@ extension Monitoring { } } + public struct MetricDataResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Values", required: false, type: .list), + AWSShapeMember(label: "StatusCode", required: false, type: .enum), + AWSShapeMember(label: "Label", required: false, type: .string), + AWSShapeMember(label: "Timestamps", required: false, type: .list), + AWSShapeMember(label: "Messages", required: false, type: .list), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// 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]. + public let values: [Double]? + /// 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. + public let statusCode: StatusCode? + /// The human-readable label associated with the data. + public let label: String? + /// 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]. + public let timestamps: [TimeStamp]? + /// A list of messages with additional information about the data returned. + public let messages: [MessageData]? + /// The short name you specified to represent this metric. + public let id: String? + + public init(values: [Double]? = nil, statusCode: StatusCode? = nil, label: String? = nil, timestamps: [TimeStamp]? = nil, messages: [MessageData]? = nil, id: String? = nil) { + self.values = values + self.statusCode = statusCode + self.label = label + self.timestamps = timestamps + self.messages = messages + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case values = "Values" + case statusCode = "StatusCode" + case label = "Label" + case timestamps = "Timestamps" + case messages = "Messages" + case id = "Id" + } + } + + public enum ScanBy: String, CustomStringConvertible, Codable { + case timestampdescending = "TimestampDescending" + case timestampascending = "TimestampAscending" + public var description: String { return self.rawValue } + } + public struct MetricDatum: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MetricName", required: true, type: .string), @@ -629,6 +725,47 @@ extension Monitoring { } } + public struct GetMetricDataInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxDatapoints", required: false, type: .integer), + AWSShapeMember(label: "StartTime", required: true, type: .timestamp), + AWSShapeMember(label: "EndTime", required: true, type: .timestamp), + AWSShapeMember(label: "MetricDataQueries", required: true, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ScanBy", required: false, type: .enum) + ] + /// The maximum number of data points the request should return before paginating. If you omit this, the default of 100,800 is used. + public let maxDatapoints: Int32? + /// The time stamp indicating the earliest data to be returned. + public let startTime: TimeStamp + /// The time stamp indicating the latest data to be returned. + public let endTime: TimeStamp + /// 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. + public let metricDataQueries: [MetricDataQuery] + /// Include this value, if it was returned by the previous call, to get the next set of data points. + public let nextToken: String? + /// 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. + public let scanBy: ScanBy? + + public init(maxDatapoints: Int32? = nil, startTime: TimeStamp, endTime: TimeStamp, metricDataQueries: [MetricDataQuery], nextToken: String? = nil, scanBy: ScanBy? = nil) { + self.maxDatapoints = maxDatapoints + self.startTime = startTime + self.endTime = endTime + self.metricDataQueries = metricDataQueries + self.nextToken = nextToken + self.scanBy = scanBy + } + + private enum CodingKeys: String, CodingKey { + case maxDatapoints = "MaxDatapoints" + case startTime = "StartTime" + case endTime = "EndTime" + case metricDataQueries = "MetricDataQueries" + case nextToken = "NextToken" + case scanBy = "ScanBy" + } + } + public struct ListDashboardsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -772,9 +909,10 @@ extension Monitoring { AWSShapeMember(label: "EvaluateLowSampleCountPercentile", required: false, type: .string), AWSShapeMember(label: "Statistic", required: false, type: .enum), AWSShapeMember(label: "Unit", required: false, type: .enum), + AWSShapeMember(label: "DatapointsToAlarm", required: false, type: .integer), AWSShapeMember(label: "ActionsEnabled", required: false, type: .boolean), - AWSShapeMember(label: "AlarmActions", required: false, type: .list), AWSShapeMember(label: "InsufficientDataActions", required: false, type: .list), + AWSShapeMember(label: "AlarmActions", required: false, type: .list), AWSShapeMember(label: "Namespace", required: true, type: .string), AWSShapeMember(label: "AlarmName", required: true, type: .string), AWSShapeMember(label: "EvaluationPeriods", required: true, type: .integer), @@ -788,27 +926,29 @@ extension Monitoring { public let metricName: String /// The value against which the specified statistic is compared. public let threshold: Double - /// 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. + /// 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. public let period: Int32 - /// The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100. + /// 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. public let extendedStatistic: String? /// 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 public let evaluateLowSampleCountPercentile: String? - /// The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use ExtendedStatistic. + /// 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. public let statistic: Statistic? /// 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. public let unit: StandardUnit? + /// 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. + public let datapointsToAlarm: Int32? /// Indicates whether actions should be executed during any changes to the alarm state. public let actionsEnabled: Bool? - /// 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 Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0 - public let alarmActions: [String]? - /// 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 Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0 + /// 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 public let insufficientDataActions: [String]? + /// 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 + public let alarmActions: [String]? /// The namespace for the metric associated with the alarm. public let namespace: String /// The name for the alarm. This name must be unique within the AWS account. public let alarmName: String - /// The number of periods over which data is compared to the specified threshold. An alarm's total current evaluation period can be no longer than one day, so this number multiplied by Period cannot be more than 86,400 seconds. + /// 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. public let evaluationPeriods: Int32 /// The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand. public let comparisonOperator: ComparisonOperator @@ -818,10 +958,10 @@ extension Monitoring { public let treatMissingData: String? /// The description for the alarm. public let alarmDescription: String? - /// 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 Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0 + /// 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 public let oKActions: [String]? - public init(metricName: String, threshold: Double, period: Int32, extendedStatistic: String? = nil, evaluateLowSampleCountPercentile: String? = nil, statistic: Statistic? = nil, unit: StandardUnit? = nil, actionsEnabled: Bool? = nil, alarmActions: [String]? = nil, insufficientDataActions: [String]? = nil, namespace: String, alarmName: String, evaluationPeriods: Int32, comparisonOperator: ComparisonOperator, dimensions: [Dimension]? = nil, treatMissingData: String? = nil, alarmDescription: String? = nil, oKActions: [String]? = nil) { + public init(metricName: String, threshold: Double, period: Int32, extendedStatistic: String? = nil, evaluateLowSampleCountPercentile: String? = nil, statistic: Statistic? = nil, unit: StandardUnit? = nil, datapointsToAlarm: Int32? = nil, actionsEnabled: Bool? = nil, insufficientDataActions: [String]? = nil, alarmActions: [String]? = nil, namespace: String, alarmName: String, evaluationPeriods: Int32, comparisonOperator: ComparisonOperator, dimensions: [Dimension]? = nil, treatMissingData: String? = nil, alarmDescription: String? = nil, oKActions: [String]? = nil) { self.metricName = metricName self.threshold = threshold self.period = period @@ -829,9 +969,10 @@ extension Monitoring { self.evaluateLowSampleCountPercentile = evaluateLowSampleCountPercentile self.statistic = statistic self.unit = unit + self.datapointsToAlarm = datapointsToAlarm self.actionsEnabled = actionsEnabled - self.alarmActions = alarmActions self.insufficientDataActions = insufficientDataActions + self.alarmActions = alarmActions self.namespace = namespace self.alarmName = alarmName self.evaluationPeriods = evaluationPeriods @@ -850,9 +991,10 @@ extension Monitoring { case evaluateLowSampleCountPercentile = "EvaluateLowSampleCountPercentile" case statistic = "Statistic" case unit = "Unit" + case datapointsToAlarm = "DatapointsToAlarm" case actionsEnabled = "ActionsEnabled" - case alarmActions = "AlarmActions" case insufficientDataActions = "InsufficientDataActions" + case alarmActions = "AlarmActions" case namespace = "Namespace" case alarmName = "AlarmName" case evaluationPeriods = "EvaluationPeriods" @@ -889,65 +1031,72 @@ extension Monitoring { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MetricName", required: false, type: .string), AWSShapeMember(label: "Threshold", required: false, type: .double), + AWSShapeMember(label: "AlarmActions", required: false, type: .list), + AWSShapeMember(label: "DatapointsToAlarm", required: false, type: .integer), + AWSShapeMember(label: "StateUpdatedTimestamp", required: false, type: .timestamp), + AWSShapeMember(label: "StateReasonData", required: false, type: .string), + AWSShapeMember(label: "StateValue", required: false, type: .enum), + AWSShapeMember(label: "AlarmArn", required: false, type: .string), + AWSShapeMember(label: "AlarmDescription", required: false, type: .string), + AWSShapeMember(label: "OKActions", required: false, type: .list), AWSShapeMember(label: "Period", required: false, type: .integer), AWSShapeMember(label: "ExtendedStatistic", required: false, type: .string), - AWSShapeMember(label: "AlarmActions", required: false, type: .list), + AWSShapeMember(label: "EvaluateLowSampleCountPercentile", required: false, type: .string), AWSShapeMember(label: "Statistic", required: false, type: .enum), AWSShapeMember(label: "ActionsEnabled", required: false, type: .boolean), - AWSShapeMember(label: "StateUpdatedTimestamp", required: false, type: .timestamp), AWSShapeMember(label: "Unit", required: false, type: .enum), - AWSShapeMember(label: "StateReasonData", required: false, type: .string), - AWSShapeMember(label: "StateReason", required: false, type: .string), - AWSShapeMember(label: "InsufficientDataActions", required: false, type: .list), AWSShapeMember(label: "Namespace", required: false, type: .string), - AWSShapeMember(label: "StateValue", required: false, type: .enum), + AWSShapeMember(label: "InsufficientDataActions", required: false, type: .list), + AWSShapeMember(label: "StateReason", required: false, type: .string), AWSShapeMember(label: "AlarmName", required: false, type: .string), - AWSShapeMember(label: "EvaluateLowSampleCountPercentile", required: false, type: .string), AWSShapeMember(label: "AlarmConfigurationUpdatedTimestamp", required: false, type: .timestamp), - AWSShapeMember(label: "AlarmArn", required: false, type: .string), AWSShapeMember(label: "EvaluationPeriods", required: false, type: .integer), AWSShapeMember(label: "ComparisonOperator", required: false, type: .enum), AWSShapeMember(label: "Dimensions", required: false, type: .list), - AWSShapeMember(label: "TreatMissingData", required: false, type: .string), - AWSShapeMember(label: "AlarmDescription", required: false, type: .string), - AWSShapeMember(label: "OKActions", required: false, type: .list) + AWSShapeMember(label: "TreatMissingData", required: false, type: .string) ] /// The name of the metric associated with the alarm. public let metricName: String? /// The value to compare with the specified statistic. public let threshold: Double? + /// 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). + public let alarmActions: [String]? + /// The number of datapoints that must be breaching to trigger the alarm. + public let datapointsToAlarm: Int32? + /// The time stamp of the last update to the alarm state. + public let stateUpdatedTimestamp: TimeStamp? + /// An explanation for the alarm state, in JSON format. + public let stateReasonData: String? + /// The state value for the alarm. + public let stateValue: StateValue? + /// The Amazon Resource Name (ARN) of the alarm. + public let alarmArn: String? + /// The description of the alarm. + public let alarmDescription: String? + /// 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). + public let oKActions: [String]? /// The period, in seconds, over which the statistic is applied. public let period: Int32? /// The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100. public let extendedStatistic: String? - /// 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). - public let alarmActions: [String]? + /// 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. + public let evaluateLowSampleCountPercentile: String? /// The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use ExtendedStatistic. public let statistic: Statistic? /// Indicates whether actions should be executed during any changes to the alarm state. public let actionsEnabled: Bool? - /// The time stamp of the last update to the alarm state. - public let stateUpdatedTimestamp: TimeStamp? /// The unit of the metric associated with the alarm. public let unit: StandardUnit? - /// An explanation for the alarm state, in JSON format. - public let stateReasonData: String? - /// An explanation for the alarm state, in text format. - public let stateReason: String? - /// 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). - public let insufficientDataActions: [String]? /// The namespace of the metric associated with the alarm. public let namespace: String? - /// The state value for the alarm. - public let stateValue: StateValue? + /// 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). + public let insufficientDataActions: [String]? + /// An explanation for the alarm state, in text format. + public let stateReason: String? /// The name of the alarm. public let alarmName: String? - /// 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. - public let evaluateLowSampleCountPercentile: String? /// The time stamp of the last update to the alarm configuration. public let alarmConfigurationUpdatedTimestamp: TimeStamp? - /// The Amazon Resource Name (ARN) of the alarm. - public let alarmArn: String? /// The number of periods over which data is compared to the specified threshold. public let evaluationPeriods: Int32? /// The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand. @@ -956,63 +1105,97 @@ extension Monitoring { public let dimensions: [Dimension]? /// Sets how this alarm is to handle missing data points. If this parameter is omitted, the default behavior of missing is used. public let treatMissingData: String? - /// The description of the alarm. - public let alarmDescription: String? - /// 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). - public let oKActions: [String]? - public init(metricName: String? = nil, threshold: Double? = nil, period: Int32? = nil, extendedStatistic: String? = nil, alarmActions: [String]? = nil, statistic: Statistic? = nil, actionsEnabled: Bool? = nil, stateUpdatedTimestamp: TimeStamp? = nil, unit: StandardUnit? = nil, stateReasonData: String? = nil, stateReason: String? = nil, insufficientDataActions: [String]? = nil, namespace: String? = nil, stateValue: StateValue? = nil, alarmName: String? = nil, evaluateLowSampleCountPercentile: String? = nil, alarmConfigurationUpdatedTimestamp: TimeStamp? = nil, alarmArn: String? = nil, evaluationPeriods: Int32? = nil, comparisonOperator: ComparisonOperator? = nil, dimensions: [Dimension]? = nil, treatMissingData: String? = nil, alarmDescription: String? = nil, oKActions: [String]? = nil) { + public init(metricName: String? = nil, threshold: Double? = nil, alarmActions: [String]? = nil, datapointsToAlarm: Int32? = nil, stateUpdatedTimestamp: TimeStamp? = nil, stateReasonData: String? = nil, stateValue: StateValue? = nil, alarmArn: String? = nil, alarmDescription: String? = nil, oKActions: [String]? = nil, period: Int32? = nil, extendedStatistic: String? = nil, evaluateLowSampleCountPercentile: String? = nil, statistic: Statistic? = nil, actionsEnabled: Bool? = nil, unit: StandardUnit? = nil, namespace: String? = nil, insufficientDataActions: [String]? = nil, stateReason: String? = nil, alarmName: String? = nil, alarmConfigurationUpdatedTimestamp: TimeStamp? = nil, evaluationPeriods: Int32? = nil, comparisonOperator: ComparisonOperator? = nil, dimensions: [Dimension]? = nil, treatMissingData: String? = nil) { self.metricName = metricName self.threshold = threshold + self.alarmActions = alarmActions + self.datapointsToAlarm = datapointsToAlarm + self.stateUpdatedTimestamp = stateUpdatedTimestamp + self.stateReasonData = stateReasonData + self.stateValue = stateValue + self.alarmArn = alarmArn + self.alarmDescription = alarmDescription + self.oKActions = oKActions self.period = period self.extendedStatistic = extendedStatistic - self.alarmActions = alarmActions + self.evaluateLowSampleCountPercentile = evaluateLowSampleCountPercentile self.statistic = statistic self.actionsEnabled = actionsEnabled - self.stateUpdatedTimestamp = stateUpdatedTimestamp self.unit = unit - self.stateReasonData = stateReasonData - self.stateReason = stateReason - self.insufficientDataActions = insufficientDataActions self.namespace = namespace - self.stateValue = stateValue + self.insufficientDataActions = insufficientDataActions + self.stateReason = stateReason self.alarmName = alarmName - self.evaluateLowSampleCountPercentile = evaluateLowSampleCountPercentile self.alarmConfigurationUpdatedTimestamp = alarmConfigurationUpdatedTimestamp - self.alarmArn = alarmArn self.evaluationPeriods = evaluationPeriods self.comparisonOperator = comparisonOperator self.dimensions = dimensions self.treatMissingData = treatMissingData - self.alarmDescription = alarmDescription - self.oKActions = oKActions } private enum CodingKeys: String, CodingKey { case metricName = "MetricName" case threshold = "Threshold" + case alarmActions = "AlarmActions" + case datapointsToAlarm = "DatapointsToAlarm" + case stateUpdatedTimestamp = "StateUpdatedTimestamp" + case stateReasonData = "StateReasonData" + case stateValue = "StateValue" + case alarmArn = "AlarmArn" + case alarmDescription = "AlarmDescription" + case oKActions = "OKActions" case period = "Period" case extendedStatistic = "ExtendedStatistic" - case alarmActions = "AlarmActions" + case evaluateLowSampleCountPercentile = "EvaluateLowSampleCountPercentile" case statistic = "Statistic" case actionsEnabled = "ActionsEnabled" - case stateUpdatedTimestamp = "StateUpdatedTimestamp" case unit = "Unit" - case stateReasonData = "StateReasonData" - case stateReason = "StateReason" - case insufficientDataActions = "InsufficientDataActions" case namespace = "Namespace" - case stateValue = "StateValue" + case insufficientDataActions = "InsufficientDataActions" + case stateReason = "StateReason" case alarmName = "AlarmName" - case evaluateLowSampleCountPercentile = "EvaluateLowSampleCountPercentile" case alarmConfigurationUpdatedTimestamp = "AlarmConfigurationUpdatedTimestamp" - case alarmArn = "AlarmArn" case evaluationPeriods = "EvaluationPeriods" case comparisonOperator = "ComparisonOperator" case dimensions = "Dimensions" case treatMissingData = "TreatMissingData" - case alarmDescription = "AlarmDescription" - case oKActions = "OKActions" + } + } + + public struct MetricDataQuery: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Label", required: false, type: .string), + AWSShapeMember(label: "Expression", required: false, type: .string), + AWSShapeMember(label: "MetricStat", required: false, type: .structure), + AWSShapeMember(label: "ReturnData", required: false, type: .boolean), + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// 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. + public let label: String? + /// 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. + public let expression: String? + /// 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. + public let metricStat: MetricStat? + /// 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. + public let returnData: Bool? + /// 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. + public let id: String + + public init(label: String? = nil, expression: String? = nil, metricStat: MetricStat? = nil, returnData: Bool? = nil, id: String) { + self.label = label + self.expression = expression + self.metricStat = metricStat + self.returnData = returnData + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case label = "Label" + case expression = "Expression" + case metricStat = "MetricStat" + case returnData = "ReturnData" + case id = "Id" } } @@ -1139,4 +1322,35 @@ extension Monitoring { public var description: String { return self.rawValue } } + public struct MetricStat: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Unit", required: false, type: .enum), + AWSShapeMember(label: "Stat", required: true, type: .string), + AWSShapeMember(label: "Period", required: true, type: .integer), + AWSShapeMember(label: "Metric", required: true, type: .structure) + ] + /// The unit to use for the returned data points. + public let unit: StandardUnit? + /// The statistic to return. It can include any CloudWatch statistic or extended statistic. + public let stat: String + /// The period to use when retrieving the metric. + public let period: Int32 + /// The metric to return, including the metric name, namespace, and dimensions. + public let metric: Metric + + public init(unit: StandardUnit? = nil, stat: String, period: Int32, metric: Metric) { + self.unit = unit + self.stat = stat + self.period = period + self.metric = metric + } + + private enum CodingKeys: String, CodingKey { + case unit = "Unit" + case stat = "Stat" + case period = "Period" + case metric = "Metric" + } + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/mq/Mq_API.swift b/Sources/AWSSDKSwift/Services/mq/Mq_API.swift index 60bc5471abc..7c15deee9db 100644 --- a/Sources/AWSSDKSwift/Services/mq/Mq_API.swift +++ b/Sources/AWSSDKSwift/Services/mq/Mq_API.swift @@ -84,7 +84,7 @@ public struct Mq { return try client.send(operation: "DescribeConfigurationRevision", path: "/v1/configurations/{configuration-id}/revisions/{configuration-revision}", httpMethod: "GET", input: input) } - /// Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version). Note: If the configuration name already exists, Amazon MQ doesn't create a configuration. + /// Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version). public func createConfiguration(_ input: CreateConfigurationRequest) throws -> CreateConfigurationResponse { return try client.send(operation: "CreateConfiguration", path: "/v1/configurations", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/mq/Mq_Shapes.swift b/Sources/AWSSDKSwift/Services/mq/Mq_Shapes.swift index 2ac0f9a3b2d..34551e7fd59 100644 --- a/Sources/AWSSDKSwift/Services/mq/Mq_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/mq/Mq_Shapes.swift @@ -54,26 +54,687 @@ extension Mq { } } - public struct UpdateConfigurationRequest: AWSShape { + public struct Logs: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "General", location: .body(locationName: "general"), required: false, type: .boolean), + AWSShapeMember(label: "Audit", location: .body(locationName: "audit"), required: false, type: .boolean) + ] + /// Enables general logging. + public let general: Bool? + /// Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. + public let audit: Bool? + + public init(general: Bool? = nil, audit: Bool? = nil) { + self.general = general + self.audit = audit + } + + private enum CodingKeys: String, CodingKey { + case general = "general" + case audit = "audit" + } + } + + public struct ListBrokersOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BrokerSummaries", location: .body(locationName: "brokerSummaries"), required: false, type: .list), + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) + ] + /// A list of information about all brokers. + public let brokerSummaries: [BrokerSummary]? + /// The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. + public let nextToken: String? + + public init(brokerSummaries: [BrokerSummary]? = nil, nextToken: String? = nil) { + self.brokerSummaries = brokerSummaries + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case brokerSummaries = "brokerSummaries" + case nextToken = "nextToken" + } + } + + public struct UpdateUserResponse: AWSShape { + + } + + public struct ListConfigurationsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "Configurations", location: .body(locationName: "configurations"), required: false, type: .list), + AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer) + ] + public let nextToken: String? + public let configurations: [Configuration]? + public let maxResults: Int32? + + public init(nextToken: String? = nil, configurations: [Configuration]? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.configurations = configurations + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case configurations = "configurations" + case maxResults = "maxResults" + } + } + + public enum ChangeType: String, CustomStringConvertible, Codable { + case create = "CREATE" + case update = "UPDATE" + case delete = "DELETE" + public var description: String { return self.rawValue } + } + + public struct ListUsersResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Users", location: .body(locationName: "users"), required: false, type: .list), + AWSShapeMember(label: "BrokerId", location: .body(locationName: "brokerId"), required: false, type: .string), + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer) + ] + public let users: [UserSummary]? + public let brokerId: String? + public let nextToken: String? + public let maxResults: Int32? + + public init(users: [UserSummary]? = nil, brokerId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.users = users + self.brokerId = brokerId + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case users = "users" + case brokerId = "brokerId" + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct DescribeConfigurationRevisionResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "ConfigurationId", location: .body(locationName: "configurationId"), required: false, type: .string), + AWSShapeMember(label: "Created", location: .body(locationName: "created"), required: false, type: .timestamp), + AWSShapeMember(label: "Data", location: .body(locationName: "data"), required: false, type: .string) + ] + public let description: String? + public let configurationId: String? + public let created: TimeStamp? + public let data: String? + + public init(description: String? = nil, configurationId: String? = nil, created: TimeStamp? = nil, data: String? = nil) { + self.description = description + self.configurationId = configurationId + self.created = created + self.data = data + } + + private enum CodingKeys: String, CodingKey { + case description = "description" + case configurationId = "configurationId" + case created = "created" + case data = "data" + } + } + + public struct DescribeConfigurationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigurationId", location: .uri(locationName: "configuration-id"), required: true, type: .string) + ] + public let configurationId: String + + public init(configurationId: String) { + self.configurationId = configurationId + } + + private enum CodingKeys: String, CodingKey { + case configurationId = "configuration-id" + } + } + + public enum DeploymentMode: String, CustomStringConvertible, Codable { + case singleInstance = "SINGLE_INSTANCE" + case activeStandbyMultiAz = "ACTIVE_STANDBY_MULTI_AZ" + public var description: String { return self.rawValue } + } + + public struct Configurations: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Pending", location: .body(locationName: "pending"), required: false, type: .structure), + AWSShapeMember(label: "History", location: .body(locationName: "history"), required: false, type: .list), + AWSShapeMember(label: "Current", location: .body(locationName: "current"), required: false, type: .structure) + ] + /// The pending configuration of the broker. + public let pending: ConfigurationId? + /// The history of configurations applied to the broker. + public let history: [ConfigurationId]? + /// The current configuration of the broker. + public let current: ConfigurationId? + + public init(pending: ConfigurationId? = nil, history: [ConfigurationId]? = nil, current: ConfigurationId? = nil) { + self.pending = pending + self.history = history + self.current = current + } + + private enum CodingKeys: String, CodingKey { + case pending = "pending" + case history = "history" + case current = "current" + } + } + + public struct ListBrokersRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) + ] + public let nextToken: String? + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct CreateBrokerResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BrokerArn", location: .body(locationName: "brokerArn"), required: false, type: .string), + AWSShapeMember(label: "BrokerId", location: .body(locationName: "brokerId"), required: false, type: .string) + ] + public let brokerArn: String? + public let brokerId: String? + + public init(brokerArn: String? = nil, brokerId: String? = nil) { + self.brokerArn = brokerArn + self.brokerId = brokerId + } + + private enum CodingKeys: String, CodingKey { + case brokerArn = "brokerArn" + case brokerId = "brokerId" + } + } + + public struct UpdateBrokerInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Logs", location: .body(locationName: "logs"), required: false, type: .structure), + AWSShapeMember(label: "Configuration", location: .body(locationName: "configuration"), required: false, type: .structure) + ] + /// Enables Amazon CloudWatch logging for brokers. + public let logs: Logs? + /// A list of information about the configuration. + public let configuration: ConfigurationId? + + public init(logs: Logs? = nil, configuration: ConfigurationId? = nil) { + self.logs = logs + self.configuration = configuration + } + + private enum CodingKeys: String, CodingKey { + case logs = "logs" + case configuration = "configuration" + } + } + + public struct RebootBrokerResponse: AWSShape { + + } + + public struct UserPendingChanges: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PendingChange", location: .body(locationName: "pendingChange"), required: false, type: .enum), + AWSShapeMember(label: "Groups", location: .body(locationName: "groups"), required: false, type: .list), + AWSShapeMember(label: "ConsoleAccess", location: .body(locationName: "consoleAccess"), required: false, type: .boolean) + ] + /// Required. The type of change pending for the ActiveMQ user. + public let pendingChange: ChangeType? + /// 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. + public let groups: [String]? + /// Enables access to the the ActiveMQ Web Console for the ActiveMQ user. + public let consoleAccess: Bool? + + public init(pendingChange: ChangeType? = nil, groups: [String]? = nil, consoleAccess: Bool? = nil) { + self.pendingChange = pendingChange + self.groups = groups + self.consoleAccess = consoleAccess + } + + private enum CodingKeys: String, CodingKey { + case pendingChange = "pendingChange" + case groups = "groups" + case consoleAccess = "consoleAccess" + } + } + + public enum EngineType: String, CustomStringConvertible, Codable { + case activemq = "ACTIVEMQ" + public var description: String { return self.rawValue } + } + + public struct DescribeConfigurationRevisionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigurationId", location: .uri(locationName: "configuration-id"), required: true, type: .string), + AWSShapeMember(label: "ConfigurationRevision", location: .uri(locationName: "configuration-revision"), required: true, type: .string) + ] + public let configurationId: String + public let configurationRevision: String + + public init(configurationId: String, configurationRevision: String) { + self.configurationId = configurationId + self.configurationRevision = configurationRevision + } + + private enum CodingKeys: String, CodingKey { + case configurationId = "configuration-id" + case configurationRevision = "configuration-revision" + } + } + + public struct CreateUserRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConsoleAccess", location: .body(locationName: "consoleAccess"), required: false, type: .boolean), + AWSShapeMember(label: "Password", location: .body(locationName: "password"), required: false, type: .string), + AWSShapeMember(label: "BrokerId", location: .uri(locationName: "broker-id"), required: true, type: .string), + AWSShapeMember(label: "Groups", location: .body(locationName: "groups"), required: false, type: .list), + AWSShapeMember(label: "Username", location: .uri(locationName: "username"), required: true, type: .string) + ] + public let consoleAccess: Bool? + public let password: String? + public let brokerId: String + public let groups: [String]? + public let username: String + + public init(consoleAccess: Bool? = nil, password: String? = nil, brokerId: String, groups: [String]? = nil, username: String) { + self.consoleAccess = consoleAccess + self.password = password + self.brokerId = brokerId + self.groups = groups + self.username = username + } + + private enum CodingKeys: String, CodingKey { + case consoleAccess = "consoleAccess" + case password = "password" + case brokerId = "broker-id" + case groups = "groups" + case username = "username" + } + } + + public struct ConfigurationId: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), + AWSShapeMember(label: "Revision", location: .body(locationName: "revision"), required: false, type: .integer) + ] + /// Required. The unique ID that Amazon MQ generates for the configuration. + public let id: String? + /// The revision number of the configuration. + public let revision: Int32? + + public init(id: String? = nil, revision: Int32? = nil) { + self.id = id + self.revision = revision + } + + private enum CodingKeys: String, CodingKey { + case id = "id" + case revision = "revision" + } + } + + public struct DescribeConfigurationResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "EngineVersion", location: .body(locationName: "engineVersion"), required: false, type: .string), + AWSShapeMember(label: "EngineType", location: .body(locationName: "engineType"), required: false, type: .enum), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "Created", location: .body(locationName: "created"), required: false, type: .timestamp), + AWSShapeMember(label: "LatestRevision", location: .body(locationName: "latestRevision"), required: false, type: .structure), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + ] + public let id: String? + public let arn: String? + public let engineVersion: String? + public let engineType: EngineType? + public let name: String? + public let created: TimeStamp? + public let latestRevision: ConfigurationRevision? + public let description: String? + + public init(id: String? = nil, arn: String? = nil, engineVersion: String? = nil, engineType: EngineType? = nil, name: String? = nil, created: TimeStamp? = nil, latestRevision: ConfigurationRevision? = nil, description: String? = nil) { + self.id = id + self.arn = arn + self.engineVersion = engineVersion + self.engineType = engineType + self.name = name + self.created = created + self.latestRevision = latestRevision + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case id = "id" + case arn = "arn" + case engineVersion = "engineVersion" + case engineType = "engineType" + case name = "name" + case created = "created" + case latestRevision = "latestRevision" + case description = "description" + } + } + + public struct CreateBrokerInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EngineType", location: .body(locationName: "engineType"), required: false, type: .enum), + AWSShapeMember(label: "Logs", location: .body(locationName: "logs"), required: false, type: .structure), + AWSShapeMember(label: "Configuration", location: .body(locationName: "configuration"), required: false, type: .structure), + AWSShapeMember(label: "BrokerName", location: .body(locationName: "brokerName"), required: false, type: .string), + AWSShapeMember(label: "PubliclyAccessible", location: .body(locationName: "publiclyAccessible"), required: false, type: .boolean), + AWSShapeMember(label: "AutoMinorVersionUpgrade", location: .body(locationName: "autoMinorVersionUpgrade"), required: false, type: .boolean), + AWSShapeMember(label: "SubnetIds", location: .body(locationName: "subnetIds"), required: false, type: .list), + AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "securityGroups"), required: false, type: .list), + AWSShapeMember(label: "HostInstanceType", location: .body(locationName: "hostInstanceType"), required: false, type: .string), + AWSShapeMember(label: "EngineVersion", location: .body(locationName: "engineVersion"), required: false, type: .string), + AWSShapeMember(label: "Users", location: .body(locationName: "users"), required: false, type: .list), + AWSShapeMember(label: "DeploymentMode", location: .body(locationName: "deploymentMode"), required: false, type: .enum), + AWSShapeMember(label: "CreatorRequestId", location: .body(locationName: "creatorRequestId"), required: false, type: .string), + AWSShapeMember(label: "MaintenanceWindowStartTime", location: .body(locationName: "maintenanceWindowStartTime"), required: false, type: .structure) + ] + /// Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. + public let engineType: EngineType? + /// Enables Amazon CloudWatch logging for brokers. + public let logs: Logs? + /// A list of information about the configuration. + public let configuration: ConfigurationId? + /// 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. + public let brokerName: String? + /// Required. Enables connections from applications outside of the VPC that hosts the broker's subnets. + public let publiclyAccessible: Bool? + /// 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. + public let autoMinorVersionUpgrade: Bool? + /// 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. + public let subnetIds: [String]? + /// The list of rules (1 minimum, 125 maximum) that authorize connections to brokers. + public let securityGroups: [String]? + /// Required. The broker's instance type. + public let hostInstanceType: String? + /// Required. The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0. + public let engineVersion: String? + /// 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. + public let users: [User]? + /// Required. The deployment mode of the broker. + public let deploymentMode: DeploymentMode? + /// 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. + public let creatorRequestId: String? + /// The parameters that determine the WeeklyStartTime. + public let maintenanceWindowStartTime: WeeklyStartTime? + + public init(engineType: EngineType? = nil, logs: Logs? = nil, configuration: ConfigurationId? = nil, brokerName: String? = nil, publiclyAccessible: Bool? = nil, autoMinorVersionUpgrade: Bool? = nil, subnetIds: [String]? = nil, securityGroups: [String]? = nil, hostInstanceType: String? = nil, engineVersion: String? = nil, users: [User]? = nil, deploymentMode: DeploymentMode? = nil, creatorRequestId: String? = nil, maintenanceWindowStartTime: WeeklyStartTime? = nil) { + self.engineType = engineType + self.logs = logs + self.configuration = configuration + self.brokerName = brokerName + self.publiclyAccessible = publiclyAccessible + self.autoMinorVersionUpgrade = autoMinorVersionUpgrade + self.subnetIds = subnetIds + self.securityGroups = securityGroups + self.hostInstanceType = hostInstanceType + self.engineVersion = engineVersion + self.users = users + self.deploymentMode = deploymentMode + self.creatorRequestId = creatorRequestId + self.maintenanceWindowStartTime = maintenanceWindowStartTime + } + + private enum CodingKeys: String, CodingKey { + case engineType = "engineType" + case logs = "logs" + case configuration = "configuration" + case brokerName = "brokerName" + case publiclyAccessible = "publiclyAccessible" + case autoMinorVersionUpgrade = "autoMinorVersionUpgrade" + case subnetIds = "subnetIds" + case securityGroups = "securityGroups" + case hostInstanceType = "hostInstanceType" + case engineVersion = "engineVersion" + case users = "users" + case deploymentMode = "deploymentMode" + case creatorRequestId = "creatorRequestId" + case maintenanceWindowStartTime = "maintenanceWindowStartTime" + } + } + + public struct DeleteUserRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BrokerId", location: .uri(locationName: "broker-id"), required: true, type: .string), + AWSShapeMember(label: "Username", location: .uri(locationName: "username"), required: true, type: .string) + ] + public let brokerId: String + public let username: String + + public init(brokerId: String, username: String) { + self.brokerId = brokerId + self.username = username + } + + private enum CodingKeys: String, CodingKey { + case brokerId = "broker-id" + case username = "username" + } + } + + public struct BrokerSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BrokerArn", location: .body(locationName: "brokerArn"), required: false, type: .string), + AWSShapeMember(label: "BrokerId", location: .body(locationName: "brokerId"), required: false, type: .string), + AWSShapeMember(label: "Created", location: .body(locationName: "created"), required: false, type: .timestamp), + AWSShapeMember(label: "BrokerState", location: .body(locationName: "brokerState"), required: false, type: .enum), + AWSShapeMember(label: "BrokerName", location: .body(locationName: "brokerName"), required: false, type: .string), + AWSShapeMember(label: "DeploymentMode", location: .body(locationName: "deploymentMode"), required: false, type: .enum), + AWSShapeMember(label: "HostInstanceType", location: .body(locationName: "hostInstanceType"), required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the broker. + public let brokerArn: String? + /// The unique ID that Amazon MQ generates for the broker. + public let brokerId: String? + /// The time when the broker was created. + public let created: TimeStamp? + /// The status of the broker. + public let brokerState: BrokerState? + /// 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. + public let brokerName: String? + /// Required. The deployment mode of the broker. + public let deploymentMode: DeploymentMode? + /// The broker's instance type. + public let hostInstanceType: String? + + public init(brokerArn: String? = nil, brokerId: String? = nil, created: TimeStamp? = nil, brokerState: BrokerState? = nil, brokerName: String? = nil, deploymentMode: DeploymentMode? = nil, hostInstanceType: String? = nil) { + self.brokerArn = brokerArn + self.brokerId = brokerId + self.created = created + self.brokerState = brokerState + self.brokerName = brokerName + self.deploymentMode = deploymentMode + self.hostInstanceType = hostInstanceType + } + + private enum CodingKeys: String, CodingKey { + case brokerArn = "brokerArn" + case brokerId = "brokerId" + case created = "created" + case brokerState = "brokerState" + case brokerName = "brokerName" + case deploymentMode = "deploymentMode" + case hostInstanceType = "hostInstanceType" + } + } + + public struct ListConfigurationRevisionsOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConfigurationId", location: .body(locationName: "configurationId"), required: false, type: .string), + AWSShapeMember(label: "Revisions", location: .body(locationName: "revisions"), required: false, type: .list), + AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer) + ] + /// The unique ID that Amazon MQ generates for the configuration. + public let configurationId: String? + /// The list of all revisions for the specified configuration. + public let revisions: [ConfigurationRevision]? + /// The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(configurationId: String? = nil, revisions: [ConfigurationRevision]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.configurationId = configurationId + self.revisions = revisions + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case configurationId = "configurationId" + case revisions = "revisions" + case nextToken = "nextToken" + case maxResults = "maxResults" + } + } + + public struct SanitizationWarning: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Reason", location: .body(locationName: "reason"), required: false, type: .enum), + AWSShapeMember(label: "AttributeName", location: .body(locationName: "attributeName"), required: false, type: .string), + AWSShapeMember(label: "ElementName", location: .body(locationName: "elementName"), required: false, type: .string) + ] + /// Required. The reason for which the XML elements or attributes were sanitized. + public let reason: SanitizationWarningReason? + /// The name of the XML attribute that has been sanitized. + public let attributeName: String? + /// The name of the XML element that has been sanitized. + public let elementName: String? + + public init(reason: SanitizationWarningReason? = nil, attributeName: String? = nil, elementName: String? = nil) { + self.reason = reason + self.attributeName = attributeName + self.elementName = elementName + } + + private enum CodingKeys: String, CodingKey { + case reason = "reason" + case attributeName = "attributeName" + case elementName = "elementName" + } + } + + public struct UpdateConfigurationInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "Data", location: .body(locationName: "data"), required: false, type: .string) + ] + /// The description of the configuration. + public let description: String? + /// Required. The base64-encoded XML configuration. + public let data: String? + + public init(description: String? = nil, data: String? = nil) { + self.description = description + self.data = data + } + + private enum CodingKeys: String, CodingKey { + case description = "description" + case data = "data" + } + } + + public struct Error: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string), + AWSShapeMember(label: "ErrorAttribute", location: .body(locationName: "errorAttribute"), required: false, type: .string) + ] + /// The explanation of the error. + public let message: String? + /// The attribute which caused the error. + public let errorAttribute: String? + + public init(message: String? = nil, errorAttribute: String? = nil) { + self.message = message + self.errorAttribute = errorAttribute + } + + private enum CodingKeys: String, CodingKey { + case message = "message" + case errorAttribute = "errorAttribute" + } + } + + public struct ListConfigurationRevisionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), AWSShapeMember(label: "ConfigurationId", location: .uri(locationName: "configuration-id"), required: true, type: .string), - AWSShapeMember(label: "Data", location: .body(locationName: "data"), required: false, type: .string) + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) ] - public let description: String? + public let nextToken: String? public let configurationId: String - public let data: String? + public let maxResults: Int32? - public init(description: String? = nil, configurationId: String, data: String? = nil) { - self.description = description + public init(nextToken: String? = nil, configurationId: String, maxResults: Int32? = nil) { + self.nextToken = nextToken self.configurationId = configurationId - self.data = data + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case description = "description" + case nextToken = "nextToken" case configurationId = "configuration-id" - case data = "data" + case maxResults = "maxResults" + } + } + + public struct UpdateUserRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ConsoleAccess", location: .body(locationName: "consoleAccess"), required: false, type: .boolean), + AWSShapeMember(label: "Password", location: .body(locationName: "password"), required: false, type: .string), + AWSShapeMember(label: "BrokerId", location: .uri(locationName: "broker-id"), required: true, type: .string), + AWSShapeMember(label: "Groups", location: .body(locationName: "groups"), required: false, type: .list), + AWSShapeMember(label: "Username", location: .uri(locationName: "username"), required: true, type: .string) + ] + public let consoleAccess: Bool? + public let password: String? + public let brokerId: String + public let groups: [String]? + public let username: String + + public init(consoleAccess: Bool? = nil, password: String? = nil, brokerId: String, groups: [String]? = nil, username: String) { + self.consoleAccess = consoleAccess + self.password = password + self.brokerId = brokerId + self.groups = groups + self.username = username + } + + private enum CodingKeys: String, CodingKey { + case consoleAccess = "consoleAccess" + case password = "password" + case brokerId = "broker-id" + case groups = "groups" + case username = "username" } } @@ -81,16 +742,18 @@ extension Mq { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "BrokerId", location: .body(locationName: "brokerId"), required: false, type: .string), AWSShapeMember(label: "EngineType", location: .body(locationName: "engineType"), required: false, type: .enum), + AWSShapeMember(label: "Logs", location: .body(locationName: "logs"), required: false, type: .structure), + AWSShapeMember(label: "Created", location: .body(locationName: "created"), required: false, type: .timestamp), AWSShapeMember(label: "BrokerName", location: .body(locationName: "brokerName"), required: false, type: .string), AWSShapeMember(label: "BrokerState", location: .body(locationName: "brokerState"), required: false, type: .enum), + AWSShapeMember(label: "PubliclyAccessible", location: .body(locationName: "publiclyAccessible"), required: false, type: .boolean), AWSShapeMember(label: "AutoMinorVersionUpgrade", location: .body(locationName: "autoMinorVersionUpgrade"), required: false, type: .boolean), - AWSShapeMember(label: "BrokerInstances", location: .body(locationName: "brokerInstances"), required: false, type: .list), AWSShapeMember(label: "SubnetIds", location: .body(locationName: "subnetIds"), required: false, type: .list), - AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "securityGroups"), required: false, type: .list), + AWSShapeMember(label: "HostInstanceType", location: .body(locationName: "hostInstanceType"), required: false, type: .string), AWSShapeMember(label: "BrokerArn", location: .body(locationName: "brokerArn"), required: false, type: .string), AWSShapeMember(label: "EngineVersion", location: .body(locationName: "engineVersion"), required: false, type: .string), - AWSShapeMember(label: "HostInstanceType", location: .body(locationName: "hostInstanceType"), required: false, type: .string), - AWSShapeMember(label: "PubliclyAccessible", location: .body(locationName: "publiclyAccessible"), required: false, type: .boolean), + AWSShapeMember(label: "BrokerInstances", location: .body(locationName: "brokerInstances"), required: false, type: .list), + AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "securityGroups"), required: false, type: .list), AWSShapeMember(label: "Users", location: .body(locationName: "users"), required: false, type: .list), AWSShapeMember(label: "DeploymentMode", location: .body(locationName: "deploymentMode"), required: false, type: .enum), AWSShapeMember(label: "MaintenanceWindowStartTime", location: .body(locationName: "maintenanceWindowStartTime"), required: false, type: .structure), @@ -98,34 +761,38 @@ extension Mq { ] public let brokerId: String? public let engineType: EngineType? + public let logs: LogsSummary? + public let created: TimeStamp? public let brokerName: String? public let brokerState: BrokerState? + public let publiclyAccessible: Bool? public let autoMinorVersionUpgrade: Bool? - public let brokerInstances: [BrokerInstance]? public let subnetIds: [String]? - public let securityGroups: [String]? + public let hostInstanceType: String? public let brokerArn: String? public let engineVersion: String? - public let hostInstanceType: String? - public let publiclyAccessible: Bool? + public let brokerInstances: [BrokerInstance]? + public let securityGroups: [String]? public let users: [UserSummary]? public let deploymentMode: DeploymentMode? public let maintenanceWindowStartTime: WeeklyStartTime? public let configurations: Configurations? - public init(brokerId: String? = nil, engineType: EngineType? = nil, brokerName: String? = nil, brokerState: BrokerState? = nil, autoMinorVersionUpgrade: Bool? = nil, brokerInstances: [BrokerInstance]? = nil, subnetIds: [String]? = nil, securityGroups: [String]? = nil, brokerArn: String? = nil, engineVersion: String? = nil, hostInstanceType: String? = nil, publiclyAccessible: Bool? = nil, users: [UserSummary]? = nil, deploymentMode: DeploymentMode? = nil, maintenanceWindowStartTime: WeeklyStartTime? = nil, configurations: Configurations? = nil) { + public init(brokerId: String? = nil, engineType: EngineType? = nil, logs: LogsSummary? = nil, created: TimeStamp? = nil, brokerName: String? = nil, brokerState: BrokerState? = nil, publiclyAccessible: Bool? = nil, autoMinorVersionUpgrade: Bool? = nil, subnetIds: [String]? = nil, hostInstanceType: String? = nil, brokerArn: String? = nil, engineVersion: String? = nil, brokerInstances: [BrokerInstance]? = nil, securityGroups: [String]? = nil, users: [UserSummary]? = nil, deploymentMode: DeploymentMode? = nil, maintenanceWindowStartTime: WeeklyStartTime? = nil, configurations: Configurations? = nil) { self.brokerId = brokerId self.engineType = engineType + self.logs = logs + self.created = created self.brokerName = brokerName self.brokerState = brokerState + self.publiclyAccessible = publiclyAccessible self.autoMinorVersionUpgrade = autoMinorVersionUpgrade - self.brokerInstances = brokerInstances self.subnetIds = subnetIds - self.securityGroups = securityGroups + self.hostInstanceType = hostInstanceType self.brokerArn = brokerArn self.engineVersion = engineVersion - self.hostInstanceType = hostInstanceType - self.publiclyAccessible = publiclyAccessible + self.brokerInstances = brokerInstances + self.securityGroups = securityGroups self.users = users self.deploymentMode = deploymentMode self.maintenanceWindowStartTime = maintenanceWindowStartTime @@ -135,16 +802,18 @@ extension Mq { private enum CodingKeys: String, CodingKey { case brokerId = "brokerId" case engineType = "engineType" + case logs = "logs" + case created = "created" case brokerName = "brokerName" case brokerState = "brokerState" + case publiclyAccessible = "publiclyAccessible" case autoMinorVersionUpgrade = "autoMinorVersionUpgrade" - case brokerInstances = "brokerInstances" case subnetIds = "subnetIds" - case securityGroups = "securityGroups" + case hostInstanceType = "hostInstanceType" case brokerArn = "brokerArn" case engineVersion = "engineVersion" - case hostInstanceType = "hostInstanceType" - case publiclyAccessible = "publiclyAccessible" + case brokerInstances = "brokerInstances" + case securityGroups = "securityGroups" case users = "users" case deploymentMode = "deploymentMode" case maintenanceWindowStartTime = "maintenanceWindowStartTime" @@ -152,6 +821,29 @@ extension Mq { } } + public struct UpdateConfigurationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "ConfigurationId", location: .uri(locationName: "configuration-id"), required: true, type: .string), + AWSShapeMember(label: "Data", location: .body(locationName: "data"), required: false, type: .string) + ] + public let description: String? + public let configurationId: String + public let data: String? + + public init(description: String? = nil, configurationId: String, data: String? = nil) { + self.description = description + self.configurationId = configurationId + self.data = data + } + + private enum CodingKeys: String, CodingKey { + case description = "description" + case configurationId = "configuration-id" + case data = "data" + } + } + public struct WeeklyStartTime: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TimeOfDay", location: .body(locationName: "timeOfDay"), required: false, type: .string), @@ -162,7 +854,7 @@ extension Mq { public let timeOfDay: String? /// The time zone, UTC by default, in either the Country/City format, or the UTC offset format. public let timeZone: String? - /// Required. The day of the week. Possible values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY + /// Required. The day of the week. public let dayOfWeek: DayOfWeek? public init(timeOfDay: String? = nil, timeZone: String? = nil, dayOfWeek: DayOfWeek? = nil) { @@ -178,37 +870,6 @@ extension Mq { } } - public struct UpdateUserRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConsoleAccess", location: .body(locationName: "consoleAccess"), required: false, type: .boolean), - AWSShapeMember(label: "Password", location: .body(locationName: "password"), required: false, type: .string), - AWSShapeMember(label: "BrokerId", location: .uri(locationName: "broker-id"), required: true, type: .string), - AWSShapeMember(label: "Groups", location: .body(locationName: "groups"), required: false, type: .list), - AWSShapeMember(label: "Username", location: .uri(locationName: "username"), required: true, type: .string) - ] - public let consoleAccess: Bool? - public let password: String? - public let brokerId: String - public let groups: [String]? - public let username: String - - public init(consoleAccess: Bool? = nil, password: String? = nil, brokerId: String, groups: [String]? = nil, username: String) { - self.consoleAccess = consoleAccess - self.password = password - self.brokerId = brokerId - self.groups = groups - self.username = username - } - - private enum CodingKeys: String, CodingKey { - case consoleAccess = "consoleAccess" - case password = "password" - case brokerId = "broker-id" - case groups = "groups" - case username = "username" - } - } - public struct DeleteUserResponse: AWSShape { } @@ -232,27 +893,6 @@ extension Mq { } } - public struct ListBrokersOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BrokerSummaries", location: .body(locationName: "brokerSummaries"), required: false, type: .list), - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string) - ] - /// A list of information about all brokers. - public let brokerSummaries: [BrokerSummary]? - /// The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. - public let nextToken: String? - - public init(brokerSummaries: [BrokerSummary]? = nil, nextToken: String? = nil) { - self.brokerSummaries = brokerSummaries - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case brokerSummaries = "brokerSummaries" - case nextToken = "nextToken" - } - } - public struct DescribeUserOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Pending", location: .body(locationName: "pending"), required: false, type: .structure), @@ -289,21 +929,6 @@ extension Mq { } } - public struct DeleteBrokerResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BrokerId", location: .body(locationName: "brokerId"), required: false, type: .string) - ] - public let brokerId: String? - - public init(brokerId: String? = nil) { - self.brokerId = brokerId - } - - private enum CodingKeys: String, CodingKey { - case brokerId = "brokerId" - } - } - public struct ListConfigurationRevisionsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ConfigurationId", location: .body(locationName: "configurationId"), required: false, type: .string), @@ -331,11 +956,10 @@ extension Mq { } } - public struct DeleteBrokerOutput: AWSShape { + public struct DeleteBrokerResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "BrokerId", location: .body(locationName: "brokerId"), required: false, type: .string) ] - /// The unique ID that Amazon MQ generates for the broker. public let brokerId: String? public init(brokerId: String? = nil) { @@ -347,102 +971,55 @@ extension Mq { } } - public struct UpdateUserResponse: AWSShape { - - } - - public struct ListConfigurationsResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "Configurations", location: .body(locationName: "configurations"), required: false, type: .list), - AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer) - ] - public let nextToken: String? - public let configurations: [Configuration]? - public let maxResults: Int32? - - public init(nextToken: String? = nil, configurations: [Configuration]? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.configurations = configurations - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case configurations = "configurations" - case maxResults = "maxResults" - } - } - - public enum ChangeType: String, CustomStringConvertible, Codable { - case create = "CREATE" - case update = "UPDATE" - case delete = "DELETE" - public var description: String { return self.rawValue } - } - - public struct ListUsersResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Users", location: .body(locationName: "users"), required: false, type: .list), - AWSShapeMember(label: "BrokerId", location: .body(locationName: "brokerId"), required: false, type: .string), - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer) - ] - public let users: [UserSummary]? - public let brokerId: String? - public let nextToken: String? - public let maxResults: Int32? - - public init(users: [UserSummary]? = nil, brokerId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.users = users - self.brokerId = brokerId - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case users = "users" - case brokerId = "brokerId" - case nextToken = "nextToken" - case maxResults = "maxResults" - } - } - - public struct DescribeConfigurationRevisionResponse: AWSShape { + public struct LogsSummary: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), - AWSShapeMember(label: "ConfigurationId", location: .body(locationName: "configurationId"), required: false, type: .string), - AWSShapeMember(label: "Data", location: .body(locationName: "data"), required: false, type: .string) + AWSShapeMember(label: "Pending", location: .body(locationName: "pending"), required: false, type: .structure), + AWSShapeMember(label: "GeneralLogGroup", location: .body(locationName: "generalLogGroup"), required: false, type: .string), + AWSShapeMember(label: "General", location: .body(locationName: "general"), required: false, type: .boolean), + AWSShapeMember(label: "Audit", location: .body(locationName: "audit"), required: false, type: .boolean), + AWSShapeMember(label: "AuditLogGroup", location: .body(locationName: "auditLogGroup"), required: false, type: .string) ] - public let description: String? - public let configurationId: String? - public let data: String? - - public init(description: String? = nil, configurationId: String? = nil, data: String? = nil) { - self.description = description - self.configurationId = configurationId - self.data = data + /// The list of information about logs pending to be deployed for the specified broker. + public let pending: PendingLogs? + /// Location of CloudWatch Log group where general logs will be sent. + public let generalLogGroup: String? + /// Enables general logging. + public let general: Bool? + /// Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. + public let audit: Bool? + /// Location of CloudWatch Log group where audit logs will be sent. + public let auditLogGroup: String? + + public init(pending: PendingLogs? = nil, generalLogGroup: String? = nil, general: Bool? = nil, audit: Bool? = nil, auditLogGroup: String? = nil) { + self.pending = pending + self.generalLogGroup = generalLogGroup + self.general = general + self.audit = audit + self.auditLogGroup = auditLogGroup } - - private enum CodingKeys: String, CodingKey { - case description = "description" - case configurationId = "configurationId" - case data = "data" + + private enum CodingKeys: String, CodingKey { + case pending = "pending" + case generalLogGroup = "generalLogGroup" + case general = "general" + case audit = "audit" + case auditLogGroup = "auditLogGroup" } } - public struct DescribeConfigurationRequest: AWSShape { + public struct DeleteBrokerOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigurationId", location: .uri(locationName: "configuration-id"), required: true, type: .string) + AWSShapeMember(label: "BrokerId", location: .body(locationName: "brokerId"), required: false, type: .string) ] - public let configurationId: String + /// The unique ID that Amazon MQ generates for the broker. + public let brokerId: String? - public init(configurationId: String) { - self.configurationId = configurationId + public init(brokerId: String? = nil) { + self.brokerId = brokerId } private enum CodingKeys: String, CodingKey { - case configurationId = "configuration-id" + case brokerId = "brokerId" } } @@ -468,20 +1045,25 @@ extension Mq { public struct UpdateBrokerOutput: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Logs", location: .body(locationName: "logs"), required: false, type: .structure), AWSShapeMember(label: "Configuration", location: .body(locationName: "configuration"), required: false, type: .structure), AWSShapeMember(label: "BrokerId", location: .body(locationName: "brokerId"), required: false, type: .string) ] + /// The list of information about logs to be enabled for the specified broker. + public let logs: Logs? /// The ID of the updated configuration. public let configuration: ConfigurationId? /// Required. The unique ID that Amazon MQ generates for the broker. public let brokerId: String? - public init(configuration: ConfigurationId? = nil, brokerId: String? = nil) { + public init(logs: Logs? = nil, configuration: ConfigurationId? = nil, brokerId: String? = nil) { + self.logs = logs self.configuration = configuration self.brokerId = brokerId } private enum CodingKeys: String, CodingKey { + case logs = "logs" case configuration = "configuration" case brokerId = "brokerId" } @@ -492,7 +1074,7 @@ extension Mq { AWSShapeMember(label: "PendingChange", location: .body(locationName: "pendingChange"), required: false, type: .enum), AWSShapeMember(label: "Username", location: .body(locationName: "username"), required: false, type: .string) ] - /// The type of change pending for the ActiveMQ user. Possible values: CREATE, UPDATE, DELETE + /// The type of change pending for the ActiveMQ user. public let pendingChange: ChangeType? /// 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. public let username: String? @@ -510,18 +1092,22 @@ extension Mq { public struct UpdateBrokerRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Logs", location: .body(locationName: "logs"), required: false, type: .structure), AWSShapeMember(label: "Configuration", location: .body(locationName: "configuration"), required: false, type: .structure), AWSShapeMember(label: "BrokerId", location: .uri(locationName: "broker-id"), required: true, type: .string) ] + public let logs: Logs? public let configuration: ConfigurationId? public let brokerId: String - public init(configuration: ConfigurationId? = nil, brokerId: String) { + public init(logs: Logs? = nil, configuration: ConfigurationId? = nil, brokerId: String) { + self.logs = logs self.configuration = configuration self.brokerId = brokerId } private enum CodingKeys: String, CodingKey { + case logs = "logs" case configuration = "configuration" case brokerId = "broker-id" } @@ -529,11 +1115,14 @@ extension Mq { public struct CreateConfigurationOutput: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Created", location: .body(locationName: "created"), required: false, type: .timestamp), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), AWSShapeMember(label: "LatestRevision", location: .body(locationName: "latestRevision"), required: false, type: .structure), AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) ] + /// Required. The date and time of the configuration. + public let created: TimeStamp? /// Required. The Amazon Resource Name (ARN) of the configuration. public let arn: String? /// The latest revision of the configuration. @@ -543,7 +1132,8 @@ extension Mq { /// Required. The unique ID that Amazon MQ generates for the configuration. public let id: String? - public init(arn: String? = nil, latestRevision: ConfigurationRevision? = nil, name: String? = nil, id: String? = nil) { + public init(created: TimeStamp? = nil, arn: String? = nil, latestRevision: ConfigurationRevision? = nil, name: String? = nil, id: String? = nil) { + self.created = created self.arn = arn self.latestRevision = latestRevision self.name = name @@ -551,6 +1141,7 @@ extension Mq { } private enum CodingKeys: String, CodingKey { + case created = "created" case arn = "arn" case latestRevision = "latestRevision" case name = "name" @@ -558,10 +1149,25 @@ extension Mq { } } - public enum DeploymentMode: String, CustomStringConvertible, Codable { - case singleInstance = "SINGLE_INSTANCE" - case activeStandbyMultiAz = "ACTIVE_STANDBY_MULTI_AZ" - public var description: String { return self.rawValue } + public struct PendingLogs: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "General", location: .body(locationName: "general"), required: false, type: .boolean), + AWSShapeMember(label: "Audit", location: .body(locationName: "audit"), required: false, type: .boolean) + ] + /// Enables general logging. + public let general: Bool? + /// Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. + public let audit: Bool? + + public init(general: Bool? = nil, audit: Bool? = nil) { + self.general = general + self.audit = audit + } + + private enum CodingKeys: String, CodingKey { + case general = "general" + case audit = "audit" + } } public struct DescribeBrokerRequest: AWSShape { @@ -610,70 +1216,6 @@ extension Mq { } } - public struct Configurations: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Pending", location: .body(locationName: "pending"), required: false, type: .structure), - AWSShapeMember(label: "History", location: .body(locationName: "history"), required: false, type: .list), - AWSShapeMember(label: "Current", location: .body(locationName: "current"), required: false, type: .structure) - ] - /// The pending configuration of the broker. - public let pending: ConfigurationId? - /// The history of configurations applied to the broker. - public let history: [ConfigurationId]? - /// The current configuration of the broker. - public let current: ConfigurationId? - - public init(pending: ConfigurationId? = nil, history: [ConfigurationId]? = nil, current: ConfigurationId? = nil) { - self.pending = pending - self.history = history - self.current = current - } - - private enum CodingKeys: String, CodingKey { - case pending = "pending" - case history = "history" - case current = "current" - } - } - - public struct ListBrokersRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) - ] - public let nextToken: String? - public let maxResults: Int32? - - public init(nextToken: String? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case maxResults = "maxResults" - } - } - - public struct CreateBrokerResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BrokerArn", location: .body(locationName: "brokerArn"), required: false, type: .string), - AWSShapeMember(label: "BrokerId", location: .body(locationName: "brokerId"), required: false, type: .string) - ] - public let brokerArn: String? - public let brokerId: String? - - public init(brokerArn: String? = nil, brokerId: String? = nil) { - self.brokerArn = brokerArn - self.brokerId = brokerId - } - - private enum CodingKeys: String, CodingKey { - case brokerArn = "brokerArn" - case brokerId = "brokerId" - } - } - public struct DeleteBrokerRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "BrokerId", location: .uri(locationName: "broker-id"), required: true, type: .string) @@ -715,179 +1257,6 @@ extension Mq { } } - public struct UpdateBrokerInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Configuration", location: .body(locationName: "configuration"), required: false, type: .structure) - ] - /// A list of information about the configuration. - public let configuration: ConfigurationId? - - public init(configuration: ConfigurationId? = nil) { - self.configuration = configuration - } - - private enum CodingKeys: String, CodingKey { - case configuration = "configuration" - } - } - - public struct RebootBrokerResponse: AWSShape { - - } - - public struct UserPendingChanges: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PendingChange", location: .body(locationName: "pendingChange"), required: false, type: .enum), - AWSShapeMember(label: "Groups", location: .body(locationName: "groups"), required: false, type: .list), - AWSShapeMember(label: "ConsoleAccess", location: .body(locationName: "consoleAccess"), required: false, type: .boolean) - ] - /// Required. The type of change pending for the ActiveMQ user. Possible values: CREATE, UPDATE, DELETE - public let pendingChange: ChangeType? - /// 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. - public let groups: [String]? - /// Enables access to the the ActiveMQ Web Console for the ActiveMQ user. - public let consoleAccess: Bool? - - public init(pendingChange: ChangeType? = nil, groups: [String]? = nil, consoleAccess: Bool? = nil) { - self.pendingChange = pendingChange - self.groups = groups - self.consoleAccess = consoleAccess - } - - private enum CodingKeys: String, CodingKey { - case pendingChange = "pendingChange" - case groups = "groups" - case consoleAccess = "consoleAccess" - } - } - - public struct Configuration: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "EngineVersion", location: .body(locationName: "engineVersion"), required: false, type: .string), - AWSShapeMember(label: "EngineType", location: .body(locationName: "engineType"), required: false, type: .enum), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "LatestRevision", location: .body(locationName: "latestRevision"), required: false, type: .structure), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) - ] - /// Required. The description of the configuration. - public let description: String? - /// Required. The ARN of the configuration. - public let arn: String? - /// Required. The version of the broker engine. - public let engineVersion: String? - /// Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. - public let engineType: EngineType? - /// 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. - public let name: String? - /// Required. The latest revision of the configuration. - public let latestRevision: ConfigurationRevision? - /// Required. The unique ID that Amazon MQ generates for the configuration. - public let id: String? - - public init(description: String? = nil, arn: String? = nil, engineVersion: String? = nil, engineType: EngineType? = nil, name: String? = nil, latestRevision: ConfigurationRevision? = nil, id: String? = nil) { - self.description = description - self.arn = arn - self.engineVersion = engineVersion - self.engineType = engineType - self.name = name - self.latestRevision = latestRevision - self.id = id - } - - private enum CodingKeys: String, CodingKey { - case description = "description" - case arn = "arn" - case engineVersion = "engineVersion" - case engineType = "engineType" - case name = "name" - case latestRevision = "latestRevision" - case id = "id" - } - } - - public struct UpdateUserInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Password", location: .body(locationName: "password"), required: false, type: .string), - AWSShapeMember(label: "Groups", location: .body(locationName: "groups"), required: false, type: .list), - AWSShapeMember(label: "ConsoleAccess", location: .body(locationName: "consoleAccess"), required: false, type: .boolean) - ] - /// 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. - public let password: String? - /// 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. - public let groups: [String]? - /// Enables access to the the ActiveMQ Web Console for the ActiveMQ user. - public let consoleAccess: Bool? - - public init(password: String? = nil, groups: [String]? = nil, consoleAccess: Bool? = nil) { - self.password = password - self.groups = groups - self.consoleAccess = consoleAccess - } - - private enum CodingKeys: String, CodingKey { - case password = "password" - case groups = "groups" - case consoleAccess = "consoleAccess" - } - } - - public struct CreateUserRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConsoleAccess", location: .body(locationName: "consoleAccess"), required: false, type: .boolean), - AWSShapeMember(label: "Password", location: .body(locationName: "password"), required: false, type: .string), - AWSShapeMember(label: "BrokerId", location: .uri(locationName: "broker-id"), required: true, type: .string), - AWSShapeMember(label: "Groups", location: .body(locationName: "groups"), required: false, type: .list), - AWSShapeMember(label: "Username", location: .uri(locationName: "username"), required: true, type: .string) - ] - public let consoleAccess: Bool? - public let password: String? - public let brokerId: String - public let groups: [String]? - public let username: String - - public init(consoleAccess: Bool? = nil, password: String? = nil, brokerId: String, groups: [String]? = nil, username: String) { - self.consoleAccess = consoleAccess - self.password = password - self.brokerId = brokerId - self.groups = groups - self.username = username - } - - private enum CodingKeys: String, CodingKey { - case consoleAccess = "consoleAccess" - case password = "password" - case brokerId = "broker-id" - case groups = "groups" - case username = "username" - } - } - - public struct DescribeConfigurationRevisionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigurationId", location: .uri(locationName: "configuration-id"), required: true, type: .string), - AWSShapeMember(label: "ConfigurationRevision", location: .uri(locationName: "configuration-revision"), required: true, type: .string) - ] - public let configurationId: String - public let configurationRevision: String - - public init(configurationId: String, configurationRevision: String) { - self.configurationId = configurationId - self.configurationRevision = configurationRevision - } - - private enum CodingKeys: String, CodingKey { - case configurationId = "configuration-id" - case configurationRevision = "configuration-revision" - } - } - - public enum EngineType: String, CustomStringConvertible, Codable { - case activemq = "ACTIVEMQ" - public var description: String { return self.rawValue } - } - public struct ListUsersRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "BrokerId", location: .uri(locationName: "broker-id"), required: true, type: .string), @@ -911,24 +1280,106 @@ extension Mq { } } + public struct Configuration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), + AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), + AWSShapeMember(label: "EngineVersion", location: .body(locationName: "engineVersion"), required: false, type: .string), + AWSShapeMember(label: "EngineType", location: .body(locationName: "engineType"), required: false, type: .enum), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "Created", location: .body(locationName: "created"), required: false, type: .timestamp), + AWSShapeMember(label: "LatestRevision", location: .body(locationName: "latestRevision"), required: false, type: .structure), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + ] + /// Required. The unique ID that Amazon MQ generates for the configuration. + public let id: String? + /// Required. The ARN of the configuration. + public let arn: String? + /// Required. The version of the broker engine. + public let engineVersion: String? + /// Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. + public let engineType: EngineType? + /// 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. + public let name: String? + /// Required. The date and time of the configuration revision. + public let created: TimeStamp? + /// Required. The latest revision of the configuration. + public let latestRevision: ConfigurationRevision? + /// Required. The description of the configuration. + public let description: String? + + public init(id: String? = nil, arn: String? = nil, engineVersion: String? = nil, engineType: EngineType? = nil, name: String? = nil, created: TimeStamp? = nil, latestRevision: ConfigurationRevision? = nil, description: String? = nil) { + self.id = id + self.arn = arn + self.engineVersion = engineVersion + self.engineType = engineType + self.name = name + self.created = created + self.latestRevision = latestRevision + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case id = "id" + case arn = "arn" + case engineVersion = "engineVersion" + case engineType = "engineType" + case name = "name" + case created = "created" + case latestRevision = "latestRevision" + case description = "description" + } + } + + public struct UpdateUserInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Password", location: .body(locationName: "password"), required: false, type: .string), + AWSShapeMember(label: "Groups", location: .body(locationName: "groups"), required: false, type: .list), + AWSShapeMember(label: "ConsoleAccess", location: .body(locationName: "consoleAccess"), required: false, type: .boolean) + ] + /// 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. + public let password: String? + /// 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. + public let groups: [String]? + /// Enables access to the the ActiveMQ Web Console for the ActiveMQ user. + public let consoleAccess: Bool? + + public init(password: String? = nil, groups: [String]? = nil, consoleAccess: Bool? = nil) { + self.password = password + self.groups = groups + self.consoleAccess = consoleAccess + } + + private enum CodingKeys: String, CodingKey { + case password = "password" + case groups = "groups" + case consoleAccess = "consoleAccess" + } + } + public struct BrokerInstance: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Endpoints", location: .body(locationName: "endpoints"), required: false, type: .list), AWSShapeMember(label: "ConsoleURL", location: .body(locationName: "consoleURL"), required: false, type: .string), - AWSShapeMember(label: "Endpoints", location: .body(locationName: "endpoints"), required: false, type: .list) + AWSShapeMember(label: "IpAddress", location: .body(locationName: "ipAddress"), required: false, type: .string) ] - /// The URL of the broker's ActiveMQ Web Console. - public let consoleURL: String? /// The broker's wire-level protocol endpoints. public let endpoints: [String]? + /// The URL of the broker's ActiveMQ Web Console. + public let consoleURL: String? + /// The IP address of the ENI attached to the broker. + public let ipAddress: String? - public init(consoleURL: String? = nil, endpoints: [String]? = nil) { - self.consoleURL = consoleURL + public init(endpoints: [String]? = nil, consoleURL: String? = nil, ipAddress: String? = nil) { self.endpoints = endpoints + self.consoleURL = consoleURL + self.ipAddress = ipAddress } private enum CodingKeys: String, CodingKey { - case consoleURL = "consoleURL" case endpoints = "endpoints" + case consoleURL = "consoleURL" + case ipAddress = "ipAddress" } } @@ -975,63 +1426,67 @@ extension Mq { public struct CreateBrokerRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EngineType", location: .body(locationName: "engineType"), required: false, type: .enum), + AWSShapeMember(label: "Logs", location: .body(locationName: "logs"), required: false, type: .structure), AWSShapeMember(label: "Configuration", location: .body(locationName: "configuration"), required: false, type: .structure), AWSShapeMember(label: "BrokerName", location: .body(locationName: "brokerName"), required: false, type: .string), + AWSShapeMember(label: "PubliclyAccessible", location: .body(locationName: "publiclyAccessible"), required: false, type: .boolean), AWSShapeMember(label: "AutoMinorVersionUpgrade", location: .body(locationName: "autoMinorVersionUpgrade"), required: false, type: .boolean), - AWSShapeMember(label: "HostInstanceType", location: .body(locationName: "hostInstanceType"), required: false, type: .string), AWSShapeMember(label: "SubnetIds", location: .body(locationName: "subnetIds"), required: false, type: .list), AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "securityGroups"), required: false, type: .list), - AWSShapeMember(label: "PubliclyAccessible", location: .body(locationName: "publiclyAccessible"), required: false, type: .boolean), + AWSShapeMember(label: "HostInstanceType", location: .body(locationName: "hostInstanceType"), required: false, type: .string), AWSShapeMember(label: "EngineVersion", location: .body(locationName: "engineVersion"), required: false, type: .string), AWSShapeMember(label: "Users", location: .body(locationName: "users"), required: false, type: .list), - AWSShapeMember(label: "MaintenanceWindowStartTime", location: .body(locationName: "maintenanceWindowStartTime"), required: false, type: .structure), AWSShapeMember(label: "DeploymentMode", location: .body(locationName: "deploymentMode"), required: false, type: .enum), - AWSShapeMember(label: "CreatorRequestId", location: .body(locationName: "creatorRequestId"), required: false, type: .string) + AWSShapeMember(label: "CreatorRequestId", location: .body(locationName: "creatorRequestId"), required: false, type: .string), + AWSShapeMember(label: "MaintenanceWindowStartTime", location: .body(locationName: "maintenanceWindowStartTime"), required: false, type: .structure) ] public let engineType: EngineType? + public let logs: Logs? public let configuration: ConfigurationId? public let brokerName: String? + public let publiclyAccessible: Bool? public let autoMinorVersionUpgrade: Bool? - public let hostInstanceType: String? public let subnetIds: [String]? public let securityGroups: [String]? - public let publiclyAccessible: Bool? + public let hostInstanceType: String? public let engineVersion: String? public let users: [User]? - public let maintenanceWindowStartTime: WeeklyStartTime? public let deploymentMode: DeploymentMode? public let creatorRequestId: String? + public let maintenanceWindowStartTime: WeeklyStartTime? - public init(engineType: EngineType? = nil, configuration: ConfigurationId? = nil, brokerName: String? = nil, autoMinorVersionUpgrade: Bool? = nil, hostInstanceType: String? = nil, subnetIds: [String]? = nil, securityGroups: [String]? = nil, publiclyAccessible: Bool? = nil, engineVersion: String? = nil, users: [User]? = nil, maintenanceWindowStartTime: WeeklyStartTime? = nil, deploymentMode: DeploymentMode? = nil, creatorRequestId: String? = nil) { + public init(engineType: EngineType? = nil, logs: Logs? = nil, configuration: ConfigurationId? = nil, brokerName: String? = nil, publiclyAccessible: Bool? = nil, autoMinorVersionUpgrade: Bool? = nil, subnetIds: [String]? = nil, securityGroups: [String]? = nil, hostInstanceType: String? = nil, engineVersion: String? = nil, users: [User]? = nil, deploymentMode: DeploymentMode? = nil, creatorRequestId: String? = nil, maintenanceWindowStartTime: WeeklyStartTime? = nil) { self.engineType = engineType + self.logs = logs self.configuration = configuration self.brokerName = brokerName + self.publiclyAccessible = publiclyAccessible self.autoMinorVersionUpgrade = autoMinorVersionUpgrade - self.hostInstanceType = hostInstanceType self.subnetIds = subnetIds self.securityGroups = securityGroups - self.publiclyAccessible = publiclyAccessible + self.hostInstanceType = hostInstanceType self.engineVersion = engineVersion self.users = users - self.maintenanceWindowStartTime = maintenanceWindowStartTime self.deploymentMode = deploymentMode self.creatorRequestId = creatorRequestId + self.maintenanceWindowStartTime = maintenanceWindowStartTime } private enum CodingKeys: String, CodingKey { case engineType = "engineType" + case logs = "logs" case configuration = "configuration" case brokerName = "brokerName" + case publiclyAccessible = "publiclyAccessible" case autoMinorVersionUpgrade = "autoMinorVersionUpgrade" - case hostInstanceType = "hostInstanceType" case subnetIds = "subnetIds" case securityGroups = "securityGroups" - case publiclyAccessible = "publiclyAccessible" + case hostInstanceType = "hostInstanceType" case engineVersion = "engineVersion" case users = "users" - case maintenanceWindowStartTime = "maintenanceWindowStartTime" case deploymentMode = "deploymentMode" case creatorRequestId = "creatorRequestId" + case maintenanceWindowStartTime = "maintenanceWindowStartTime" } } @@ -1066,181 +1521,79 @@ extension Mq { } } - public struct ConfigurationId: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string), - AWSShapeMember(label: "Revision", location: .body(locationName: "revision"), required: false, type: .integer) - ] - /// Required. The unique ID that Amazon MQ generates for the configuration. - public let id: String? - /// The Universally Unique Identifier (UUID) of the request. - public let revision: Int32? - - public init(id: String? = nil, revision: Int32? = nil) { - self.id = id - self.revision = revision - } - - private enum CodingKeys: String, CodingKey { - case id = "id" - case revision = "revision" - } - } - - public struct DescribeConfigurationResponse: AWSShape { + public struct CreateConfigurationInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), - AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), - AWSShapeMember(label: "EngineVersion", location: .body(locationName: "engineVersion"), required: false, type: .string), AWSShapeMember(label: "EngineType", location: .body(locationName: "engineType"), required: false, type: .enum), AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "LatestRevision", location: .body(locationName: "latestRevision"), required: false, type: .structure), - AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) - ] - public let description: String? - public let arn: String? - public let engineVersion: String? - public let engineType: EngineType? - public let name: String? - public let latestRevision: ConfigurationRevision? - public let id: String? - - public init(description: String? = nil, arn: String? = nil, engineVersion: String? = nil, engineType: EngineType? = nil, name: String? = nil, latestRevision: ConfigurationRevision? = nil, id: String? = nil) { - self.description = description - self.arn = arn - self.engineVersion = engineVersion - self.engineType = engineType - self.name = name - self.latestRevision = latestRevision - self.id = id - } - - private enum CodingKeys: String, CodingKey { - case description = "description" - case arn = "arn" - case engineVersion = "engineVersion" - case engineType = "engineType" - case name = "name" - case latestRevision = "latestRevision" - case id = "id" - } - } - - public struct CreateBrokerInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EngineType", location: .body(locationName: "engineType"), required: false, type: .enum), - AWSShapeMember(label: "Configuration", location: .body(locationName: "configuration"), required: false, type: .structure), - AWSShapeMember(label: "BrokerName", location: .body(locationName: "brokerName"), required: false, type: .string), - AWSShapeMember(label: "AutoMinorVersionUpgrade", location: .body(locationName: "autoMinorVersionUpgrade"), required: false, type: .boolean), - AWSShapeMember(label: "HostInstanceType", location: .body(locationName: "hostInstanceType"), required: false, type: .string), - AWSShapeMember(label: "SubnetIds", location: .body(locationName: "subnetIds"), required: false, type: .list), - AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "securityGroups"), required: false, type: .list), - AWSShapeMember(label: "PubliclyAccessible", location: .body(locationName: "publiclyAccessible"), required: false, type: .boolean), - AWSShapeMember(label: "EngineVersion", location: .body(locationName: "engineVersion"), required: false, type: .string), - AWSShapeMember(label: "Users", location: .body(locationName: "users"), required: false, type: .list), - AWSShapeMember(label: "MaintenanceWindowStartTime", location: .body(locationName: "maintenanceWindowStartTime"), required: false, type: .structure), - AWSShapeMember(label: "DeploymentMode", location: .body(locationName: "deploymentMode"), required: false, type: .enum), - AWSShapeMember(label: "CreatorRequestId", location: .body(locationName: "creatorRequestId"), required: false, type: .string) + AWSShapeMember(label: "EngineVersion", location: .body(locationName: "engineVersion"), required: false, type: .string) ] /// Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. public let engineType: EngineType? - /// A list of information about the configuration. - public let configuration: ConfigurationId? - /// 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. - public let brokerName: String? - /// 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. - public let autoMinorVersionUpgrade: Bool? - /// Required. The broker's instance type. Possible values: mq.t2.micro, mq.m4.large - public let hostInstanceType: String? - /// Required. 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. - public let subnetIds: [String]? - /// Required. The list of rules (1 minimum, 125 maximum) that authorize connections to brokers. - public let securityGroups: [String]? - /// Required. Enables connections from applications outside of the VPC that hosts the broker's subnets. - public let publiclyAccessible: Bool? + /// 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. + public let name: String? /// Required. The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0. public let engineVersion: String? - /// 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. - public let users: [User]? - /// The parameters that determine the WeeklyStartTime. - public let maintenanceWindowStartTime: WeeklyStartTime? - /// Required. The deployment mode of the broker. Possible values: SINGLE_INSTANCE, ACTIVE_STANDBY_MULTI_AZ SINGLE_INSTANCE creates a single-instance broker in a single Availability Zone. ACTIVE_STANDBY_MULTI_AZ creates an active/standby broker for high availability. - public let deploymentMode: DeploymentMode? - /// 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. - public let creatorRequestId: String? - public init(engineType: EngineType? = nil, configuration: ConfigurationId? = nil, brokerName: String? = nil, autoMinorVersionUpgrade: Bool? = nil, hostInstanceType: String? = nil, subnetIds: [String]? = nil, securityGroups: [String]? = nil, publiclyAccessible: Bool? = nil, engineVersion: String? = nil, users: [User]? = nil, maintenanceWindowStartTime: WeeklyStartTime? = nil, deploymentMode: DeploymentMode? = nil, creatorRequestId: String? = nil) { + public init(engineType: EngineType? = nil, name: String? = nil, engineVersion: String? = nil) { self.engineType = engineType - self.configuration = configuration - self.brokerName = brokerName - self.autoMinorVersionUpgrade = autoMinorVersionUpgrade - self.hostInstanceType = hostInstanceType - self.subnetIds = subnetIds - self.securityGroups = securityGroups - self.publiclyAccessible = publiclyAccessible + self.name = name self.engineVersion = engineVersion - self.users = users - self.maintenanceWindowStartTime = maintenanceWindowStartTime - self.deploymentMode = deploymentMode - self.creatorRequestId = creatorRequestId } private enum CodingKeys: String, CodingKey { case engineType = "engineType" - case configuration = "configuration" - case brokerName = "brokerName" - case autoMinorVersionUpgrade = "autoMinorVersionUpgrade" - case hostInstanceType = "hostInstanceType" - case subnetIds = "subnetIds" - case securityGroups = "securityGroups" - case publiclyAccessible = "publiclyAccessible" + case name = "name" case engineVersion = "engineVersion" - case users = "users" - case maintenanceWindowStartTime = "maintenanceWindowStartTime" - case deploymentMode = "deploymentMode" - case creatorRequestId = "creatorRequestId" } } - public struct CreateConfigurationInput: AWSShape { + public struct DescribeConfigurationRevisionOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EngineType", location: .body(locationName: "engineType"), required: false, type: .enum), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), - AWSShapeMember(label: "EngineVersion", location: .body(locationName: "engineVersion"), required: false, type: .string) + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "ConfigurationId", location: .body(locationName: "configurationId"), required: false, type: .string), + AWSShapeMember(label: "Created", location: .body(locationName: "created"), required: false, type: .timestamp), + AWSShapeMember(label: "Data", location: .body(locationName: "data"), required: false, type: .string) ] - /// Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. - public let engineType: EngineType? - /// 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. - public let name: String? - /// Required. The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0. - public let engineVersion: String? + /// The description of the configuration. + public let description: String? + /// Required. The unique ID that Amazon MQ generates for the configuration. + public let configurationId: String? + /// Required. The date and time of the configuration. + public let created: TimeStamp? + /// Required. The base64-encoded XML configuration. + public let data: String? - public init(engineType: EngineType? = nil, name: String? = nil, engineVersion: String? = nil) { - self.engineType = engineType - self.name = name - self.engineVersion = engineVersion + public init(description: String? = nil, configurationId: String? = nil, created: TimeStamp? = nil, data: String? = nil) { + self.description = description + self.configurationId = configurationId + self.created = created + self.data = data } private enum CodingKeys: String, CodingKey { - case engineType = "engineType" - case name = "name" - case engineVersion = "engineVersion" + case description = "description" + case configurationId = "configurationId" + case created = "created" + case data = "data" } } public struct CreateConfigurationResponse: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Created", location: .body(locationName: "created"), required: false, type: .timestamp), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), AWSShapeMember(label: "LatestRevision", location: .body(locationName: "latestRevision"), required: false, type: .structure), AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) ] + public let created: TimeStamp? public let arn: String? public let latestRevision: ConfigurationRevision? public let name: String? public let id: String? - public init(arn: String? = nil, latestRevision: ConfigurationRevision? = nil, name: String? = nil, id: String? = nil) { + public init(created: TimeStamp? = nil, arn: String? = nil, latestRevision: ConfigurationRevision? = nil, name: String? = nil, id: String? = nil) { + self.created = created self.arn = arn self.latestRevision = latestRevision self.name = name @@ -1248,6 +1601,7 @@ extension Mq { } private enum CodingKeys: String, CodingKey { + case created = "created" case arn = "arn" case latestRevision = "latestRevision" case name = "name" @@ -1258,20 +1612,25 @@ extension Mq { public struct ConfigurationRevision: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Revision", location: .body(locationName: "revision"), required: false, type: .integer), + AWSShapeMember(label: "Created", location: .body(locationName: "created"), required: false, type: .timestamp), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] - /// Required. The revision of the configuration. + /// Required. The revision number of the configuration. public let revision: Int32? + /// Required. The date and time of the configuration revision. + public let created: TimeStamp? /// The description of the configuration revision. public let description: String? - public init(revision: Int32? = nil, description: String? = nil) { + public init(revision: Int32? = nil, created: TimeStamp? = nil, description: String? = nil) { self.revision = revision + self.created = created self.description = description } private enum CodingKeys: String, CodingKey { case revision = "revision" + case created = "created" case description = "description" } } @@ -1280,16 +1639,18 @@ extension Mq { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "BrokerId", location: .body(locationName: "brokerId"), required: false, type: .string), AWSShapeMember(label: "EngineType", location: .body(locationName: "engineType"), required: false, type: .enum), + AWSShapeMember(label: "Logs", location: .body(locationName: "logs"), required: false, type: .structure), + AWSShapeMember(label: "Created", location: .body(locationName: "created"), required: false, type: .timestamp), AWSShapeMember(label: "BrokerName", location: .body(locationName: "brokerName"), required: false, type: .string), AWSShapeMember(label: "BrokerState", location: .body(locationName: "brokerState"), required: false, type: .enum), + AWSShapeMember(label: "PubliclyAccessible", location: .body(locationName: "publiclyAccessible"), required: false, type: .boolean), AWSShapeMember(label: "AutoMinorVersionUpgrade", location: .body(locationName: "autoMinorVersionUpgrade"), required: false, type: .boolean), - AWSShapeMember(label: "BrokerInstances", location: .body(locationName: "brokerInstances"), required: false, type: .list), AWSShapeMember(label: "SubnetIds", location: .body(locationName: "subnetIds"), required: false, type: .list), - AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "securityGroups"), required: false, type: .list), + AWSShapeMember(label: "HostInstanceType", location: .body(locationName: "hostInstanceType"), required: false, type: .string), AWSShapeMember(label: "BrokerArn", location: .body(locationName: "brokerArn"), required: false, type: .string), AWSShapeMember(label: "EngineVersion", location: .body(locationName: "engineVersion"), required: false, type: .string), - AWSShapeMember(label: "HostInstanceType", location: .body(locationName: "hostInstanceType"), required: false, type: .string), - AWSShapeMember(label: "PubliclyAccessible", location: .body(locationName: "publiclyAccessible"), required: false, type: .boolean), + AWSShapeMember(label: "BrokerInstances", location: .body(locationName: "brokerInstances"), required: false, type: .list), + AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "securityGroups"), required: false, type: .list), AWSShapeMember(label: "Users", location: .body(locationName: "users"), required: false, type: .list), AWSShapeMember(label: "DeploymentMode", location: .body(locationName: "deploymentMode"), required: false, type: .enum), AWSShapeMember(label: "MaintenanceWindowStartTime", location: .body(locationName: "maintenanceWindowStartTime"), required: false, type: .structure), @@ -1299,48 +1660,54 @@ extension Mq { public let brokerId: String? /// Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. public let engineType: EngineType? + /// The list of information about logs currently enabled and pending to be deployed for the specified broker. + public let logs: LogsSummary? + /// The time when the broker was created. + public let created: TimeStamp? /// 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. public let brokerName: String? - /// The status of the broker. Possible values: CREATION_IN_PROGRESS, CREATION_FAILED, DELETION_IN_PROGRESS, RUNNING, REBOOT_IN_PROGRESS + /// The status of the broker. public let brokerState: BrokerState? + /// Required. Enables connections from applications outside of the VPC that hosts the broker's subnets. + public let publiclyAccessible: Bool? /// 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. public let autoMinorVersionUpgrade: Bool? - /// A list of information about allocated brokers. - public let brokerInstances: [BrokerInstance]? /// 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. public let subnetIds: [String]? - /// Required. The list of rules (1 minimum, 125 maximum) that authorize connections to brokers. - public let securityGroups: [String]? + /// The broker's instance type. + public let hostInstanceType: String? /// The Amazon Resource Name (ARN) of the broker. public let brokerArn: String? /// The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0. public let engineVersion: String? - /// The broker's instance type. Possible values: mq.t2.micro, mq.m4.large - public let hostInstanceType: String? - /// Required. Enables connections from applications outside of the VPC that hosts the broker's subnets. - public let publiclyAccessible: Bool? + /// A list of information about allocated brokers. + public let brokerInstances: [BrokerInstance]? + /// Required. The list of rules (1 minimum, 125 maximum) that authorize connections to brokers. + public let securityGroups: [String]? /// The list of all ActiveMQ usernames for the specified broker. public let users: [UserSummary]? - /// Required. The deployment mode of the broker. Possible values: SINGLE_INSTANCE, ACTIVE_STANDBY_MULTI_AZ SINGLE_INSTANCE creates a single-instance broker in a single Availability Zone. ACTIVE_STANDBY_MULTI_AZ creates an active/standby broker for high availability. + /// Required. The deployment mode of the broker. public let deploymentMode: DeploymentMode? /// The parameters that determine the WeeklyStartTime. public let maintenanceWindowStartTime: WeeklyStartTime? /// The list of all revisions for the specified configuration. public let configurations: Configurations? - public init(brokerId: String? = nil, engineType: EngineType? = nil, brokerName: String? = nil, brokerState: BrokerState? = nil, autoMinorVersionUpgrade: Bool? = nil, brokerInstances: [BrokerInstance]? = nil, subnetIds: [String]? = nil, securityGroups: [String]? = nil, brokerArn: String? = nil, engineVersion: String? = nil, hostInstanceType: String? = nil, publiclyAccessible: Bool? = nil, users: [UserSummary]? = nil, deploymentMode: DeploymentMode? = nil, maintenanceWindowStartTime: WeeklyStartTime? = nil, configurations: Configurations? = nil) { + public init(brokerId: String? = nil, engineType: EngineType? = nil, logs: LogsSummary? = nil, created: TimeStamp? = nil, brokerName: String? = nil, brokerState: BrokerState? = nil, publiclyAccessible: Bool? = nil, autoMinorVersionUpgrade: Bool? = nil, subnetIds: [String]? = nil, hostInstanceType: String? = nil, brokerArn: String? = nil, engineVersion: String? = nil, brokerInstances: [BrokerInstance]? = nil, securityGroups: [String]? = nil, users: [UserSummary]? = nil, deploymentMode: DeploymentMode? = nil, maintenanceWindowStartTime: WeeklyStartTime? = nil, configurations: Configurations? = nil) { self.brokerId = brokerId self.engineType = engineType + self.logs = logs + self.created = created self.brokerName = brokerName self.brokerState = brokerState + self.publiclyAccessible = publiclyAccessible self.autoMinorVersionUpgrade = autoMinorVersionUpgrade - self.brokerInstances = brokerInstances self.subnetIds = subnetIds - self.securityGroups = securityGroups + self.hostInstanceType = hostInstanceType self.brokerArn = brokerArn self.engineVersion = engineVersion - self.hostInstanceType = hostInstanceType - self.publiclyAccessible = publiclyAccessible + self.brokerInstances = brokerInstances + self.securityGroups = securityGroups self.users = users self.deploymentMode = deploymentMode self.maintenanceWindowStartTime = maintenanceWindowStartTime @@ -1350,16 +1717,18 @@ extension Mq { private enum CodingKeys: String, CodingKey { case brokerId = "brokerId" case engineType = "engineType" + case logs = "logs" + case created = "created" case brokerName = "brokerName" case brokerState = "brokerState" + case publiclyAccessible = "publiclyAccessible" case autoMinorVersionUpgrade = "autoMinorVersionUpgrade" - case brokerInstances = "brokerInstances" case subnetIds = "subnetIds" - case securityGroups = "securityGroups" + case hostInstanceType = "hostInstanceType" case brokerArn = "brokerArn" case engineVersion = "engineVersion" - case hostInstanceType = "hostInstanceType" - case publiclyAccessible = "publiclyAccessible" + case brokerInstances = "brokerInstances" + case securityGroups = "securityGroups" case users = "users" case deploymentMode = "deploymentMode" case maintenanceWindowStartTime = "maintenanceWindowStartTime" @@ -1367,25 +1736,6 @@ extension Mq { } } - public struct DeleteUserRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BrokerId", location: .uri(locationName: "broker-id"), required: true, type: .string), - AWSShapeMember(label: "Username", location: .uri(locationName: "username"), required: true, type: .string) - ] - public let brokerId: String - public let username: String - - public init(brokerId: String, username: String) { - self.brokerId = brokerId - self.username = username - } - - private enum CodingKeys: String, CodingKey { - case brokerId = "broker-id" - case username = "username" - } - } - public enum DayOfWeek: String, CustomStringConvertible, Codable { case monday = "MONDAY" case tuesday = "TUESDAY" @@ -1397,73 +1747,6 @@ extension Mq { public var description: String { return self.rawValue } } - public struct DescribeConfigurationRevisionOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), - AWSShapeMember(label: "ConfigurationId", location: .body(locationName: "configurationId"), required: false, type: .string), - AWSShapeMember(label: "Data", location: .body(locationName: "data"), required: false, type: .string) - ] - /// The description of the configuration. - public let description: String? - /// Required. The unique ID that Amazon MQ generates for the configuration. - public let configurationId: String? - /// Required. The base64-encoded XML configuration. - public let data: String? - - public init(description: String? = nil, configurationId: String? = nil, data: String? = nil) { - self.description = description - self.configurationId = configurationId - self.data = data - } - - private enum CodingKeys: String, CodingKey { - case description = "description" - case configurationId = "configurationId" - case data = "data" - } - } - - public struct BrokerSummary: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BrokerName", location: .body(locationName: "brokerName"), required: false, type: .string), - AWSShapeMember(label: "BrokerArn", location: .body(locationName: "brokerArn"), required: false, type: .string), - AWSShapeMember(label: "BrokerId", location: .body(locationName: "brokerId"), required: false, type: .string), - AWSShapeMember(label: "BrokerState", location: .body(locationName: "brokerState"), required: false, type: .enum), - AWSShapeMember(label: "HostInstanceType", location: .body(locationName: "hostInstanceType"), required: false, type: .string), - AWSShapeMember(label: "DeploymentMode", location: .body(locationName: "deploymentMode"), required: false, type: .enum) - ] - /// 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. - public let brokerName: String? - /// The Amazon Resource Name (ARN) of the broker. - public let brokerArn: String? - /// The unique ID that Amazon MQ generates for the broker. - public let brokerId: String? - /// The status of the broker. Possible values: CREATION_IN_PROGRESS, CREATION_FAILED, DELETION_IN_PROGRESS, RUNNING, REBOOT_IN_PROGRESS - public let brokerState: BrokerState? - /// The broker's instance type. Possible values: mq.t2.micro, mq.m4.large - public let hostInstanceType: String? - /// Required. The deployment mode of the broker. Possible values: SINGLE_INSTANCE, ACTIVE_STANDBY_MULTI_AZ SINGLE_INSTANCE creates a single-instance broker in a single Availability Zone. ACTIVE_STANDBY_MULTI_AZ creates an active/standby broker for high availability. - public let deploymentMode: DeploymentMode? - - public init(brokerName: String? = nil, brokerArn: String? = nil, brokerId: String? = nil, brokerState: BrokerState? = nil, hostInstanceType: String? = nil, deploymentMode: DeploymentMode? = nil) { - self.brokerName = brokerName - self.brokerArn = brokerArn - self.brokerId = brokerId - self.brokerState = brokerState - self.hostInstanceType = hostInstanceType - self.deploymentMode = deploymentMode - } - - private enum CodingKeys: String, CodingKey { - case brokerName = "brokerName" - case brokerArn = "brokerArn" - case brokerId = "brokerId" - case brokerState = "brokerState" - case hostInstanceType = "hostInstanceType" - case deploymentMode = "deploymentMode" - } - } - public struct DescribeUserResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Pending", location: .body(locationName: "pending"), required: false, type: .structure), @@ -1495,115 +1778,41 @@ extension Mq { } } - public struct ListConfigurationRevisionsOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ConfigurationId", location: .body(locationName: "configurationId"), required: false, type: .string), - AWSShapeMember(label: "Revisions", location: .body(locationName: "revisions"), required: false, type: .list), - AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "MaxResults", location: .body(locationName: "maxResults"), required: false, type: .integer) - ] - /// The unique ID that Amazon MQ generates for the configuration. - public let configurationId: String? - /// The list of all revisions for the specified configuration. - public let revisions: [ConfigurationRevision]? - /// The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. - public let nextToken: String? - /// 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. - public let maxResults: Int32? - - public init(configurationId: String? = nil, revisions: [ConfigurationRevision]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.configurationId = configurationId - self.revisions = revisions - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case configurationId = "configurationId" - case revisions = "revisions" - case nextToken = "nextToken" - case maxResults = "maxResults" - } - } - public struct UpdateConfigurationResponse: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Created", location: .body(locationName: "created"), required: false, type: .timestamp), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), AWSShapeMember(label: "LatestRevision", location: .body(locationName: "latestRevision"), required: false, type: .structure), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), AWSShapeMember(label: "Warnings", location: .body(locationName: "warnings"), required: false, type: .list), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) ] + public let created: TimeStamp? public let arn: String? public let latestRevision: ConfigurationRevision? - public let name: String? public let warnings: [SanitizationWarning]? + public let name: String? public let id: String? - public init(arn: String? = nil, latestRevision: ConfigurationRevision? = nil, name: String? = nil, warnings: [SanitizationWarning]? = nil, id: String? = nil) { + public init(created: TimeStamp? = nil, arn: String? = nil, latestRevision: ConfigurationRevision? = nil, warnings: [SanitizationWarning]? = nil, name: String? = nil, id: String? = nil) { + self.created = created self.arn = arn self.latestRevision = latestRevision - self.name = name self.warnings = warnings + self.name = name self.id = id } private enum CodingKeys: String, CodingKey { + case created = "created" case arn = "arn" case latestRevision = "latestRevision" - case name = "name" case warnings = "warnings" + case name = "name" case id = "id" } } - public struct SanitizationWarning: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Reason", location: .body(locationName: "reason"), required: false, type: .enum), - AWSShapeMember(label: "AttributeName", location: .body(locationName: "attributeName"), required: false, type: .string), - AWSShapeMember(label: "ElementName", location: .body(locationName: "elementName"), required: false, type: .string) - ] - /// Required. The reason for which the XML elements or attributes were sanitized. Possible values: DISALLOWED_ELEMENT_REMOVED, DISALLOWED_ATTRIBUTE_REMOVED, INVALID_ATTRIBUTE_VALUE_REMOVED DISALLOWED_ELEMENT_REMOVED shows that the provided element isn't allowed and has been removed. DISALLOWED_ATTRIBUTE_REMOVED shows that the provided attribute isn't allowed and has been removed. INVALID_ATTRIBUTE_VALUE_REMOVED shows that the provided value for the attribute isn't allowed and has been removed. - public let reason: SanitizationWarningReason? - /// The name of the XML attribute that has been sanitized. - public let attributeName: String? - /// The name of the XML element that has been sanitized. - public let elementName: String? - - public init(reason: SanitizationWarningReason? = nil, attributeName: String? = nil, elementName: String? = nil) { - self.reason = reason - self.attributeName = attributeName - self.elementName = elementName - } - - private enum CodingKeys: String, CodingKey { - case reason = "reason" - case attributeName = "attributeName" - case elementName = "elementName" - } - } - - public struct UpdateConfigurationInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), - AWSShapeMember(label: "Data", location: .body(locationName: "data"), required: false, type: .string) - ] - /// The description of the configuration. - public let description: String? - /// Required. The base64-encoded XML configuration. - public let data: String? - - public init(description: String? = nil, data: String? = nil) { - self.description = description - self.data = data - } - - private enum CodingKeys: String, CodingKey { - case description = "description" - case data = "data" - } - } - public struct DescribeUserRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "BrokerId", location: .uri(locationName: "broker-id"), required: true, type: .string), @@ -1625,36 +1834,41 @@ extension Mq { public struct UpdateConfigurationOutput: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Created", location: .body(locationName: "created"), required: false, type: .timestamp), AWSShapeMember(label: "Arn", location: .body(locationName: "arn"), required: false, type: .string), AWSShapeMember(label: "LatestRevision", location: .body(locationName: "latestRevision"), required: false, type: .structure), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), AWSShapeMember(label: "Warnings", location: .body(locationName: "warnings"), required: false, type: .list), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), AWSShapeMember(label: "Id", location: .body(locationName: "id"), required: false, type: .string) ] + /// Required. The date and time of the configuration. + public let created: TimeStamp? /// Required. The Amazon Resource Name (ARN) of the configuration. public let arn: String? /// The latest revision of the configuration. public let latestRevision: ConfigurationRevision? - /// 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. - public let name: String? /// The list of the first 20 warnings about the configuration XML elements or attributes that were sanitized. public let warnings: [SanitizationWarning]? + /// 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. + public let name: String? /// Required. The unique ID that Amazon MQ generates for the configuration. public let id: String? - public init(arn: String? = nil, latestRevision: ConfigurationRevision? = nil, name: String? = nil, warnings: [SanitizationWarning]? = nil, id: String? = nil) { + public init(created: TimeStamp? = nil, arn: String? = nil, latestRevision: ConfigurationRevision? = nil, warnings: [SanitizationWarning]? = nil, name: String? = nil, id: String? = nil) { + self.created = created self.arn = arn self.latestRevision = latestRevision - self.name = name self.warnings = warnings + self.name = name self.id = id } private enum CodingKeys: String, CodingKey { + case created = "created" case arn = "arn" case latestRevision = "latestRevision" - case name = "name" case warnings = "warnings" + case name = "name" case id = "id" } } @@ -1674,64 +1888,24 @@ extension Mq { } } - public struct Error: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Message", location: .body(locationName: "message"), required: false, type: .string), - AWSShapeMember(label: "ErrorAttribute", location: .body(locationName: "errorAttribute"), required: false, type: .string) - ] - /// The error message. - public let message: String? - /// The error attribute. - public let errorAttribute: String? - - public init(message: String? = nil, errorAttribute: String? = nil) { - self.message = message - self.errorAttribute = errorAttribute - } - - private enum CodingKeys: String, CodingKey { - case message = "message" - case errorAttribute = "errorAttribute" - } - } - - public struct ListConfigurationRevisionsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "ConfigurationId", location: .uri(locationName: "configuration-id"), required: true, type: .string), - AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) - ] - public let nextToken: String? - public let configurationId: String - public let maxResults: Int32? - - public init(nextToken: String? = nil, configurationId: String, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.configurationId = configurationId - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" - case configurationId = "configuration-id" - case maxResults = "maxResults" - } - } - public struct UpdateBrokerResponse: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Logs", location: .body(locationName: "logs"), required: false, type: .structure), AWSShapeMember(label: "Configuration", location: .body(locationName: "configuration"), required: false, type: .structure), AWSShapeMember(label: "BrokerId", location: .body(locationName: "brokerId"), required: false, type: .string) ] + public let logs: Logs? public let configuration: ConfigurationId? public let brokerId: String? - public init(configuration: ConfigurationId? = nil, brokerId: String? = nil) { + public init(logs: Logs? = nil, configuration: ConfigurationId? = nil, brokerId: String? = nil) { + self.logs = logs self.configuration = configuration self.brokerId = brokerId } private enum CodingKeys: String, CodingKey { + case logs = "logs" case configuration = "configuration" case brokerId = "brokerId" } diff --git a/Sources/AWSSDKSwift/Services/mturk-requester/MturkRequester_API.swift b/Sources/AWSSDKSwift/Services/mturk-requester/MturkRequester_API.swift index 6a29fb7818b..ff36c38080e 100644 --- a/Sources/AWSSDKSwift/Services/mturk-requester/MturkRequester_API.swift +++ b/Sources/AWSSDKSwift/Services/mturk-requester/MturkRequester_API.swift @@ -51,7 +51,7 @@ public struct MturkRequester { return try client.send(operation: "DisassociateQualificationFromWorker", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func getFileUploadURL(_ input: GetFileUploadURLRequest) throws -> GetFileUploadURLResponse { return try client.send(operation: "GetFileUploadURL", path: "/", httpMethod: "POST", input: input) } @@ -91,7 +91,7 @@ public struct MturkRequester { return try client.send(operation: "ListReviewPolicyResultsForHIT", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// The ListQualificationTypes operation returns a list of Qualification types, filtered by an optional search term. public func listQualificationTypes(_ input: ListQualificationTypesRequest) throws -> ListQualificationTypesResponse { return try client.send(operation: "ListQualificationTypes", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/mturk-requester/MturkRequester_Shapes.swift b/Sources/AWSSDKSwift/Services/mturk-requester/MturkRequester_Shapes.swift index 80c1e59a916..d6929d81b91 100644 --- a/Sources/AWSSDKSwift/Services/mturk-requester/MturkRequester_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/mturk-requester/MturkRequester_Shapes.swift @@ -60,7 +60,7 @@ extension MturkRequester { public let hITStatus: HITStatus? /// The date and time the HIT expires. public let expiration: TimeStamp? - /// A condition that a Worker's Qualifications must meet in order to accept the HIT. A HIT can have between zero and ten Qualification requirements. All requirements must be met by a Worker's Qualifications for the Worker to accept the HIT. + /// 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. public let qualificationRequirements: [QualificationRequirement]? /// 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. public let keywords: String? @@ -634,8 +634,8 @@ extension MturkRequester { AWSShapeMember(label: "HITLayoutParameters", required: false, type: .list), AWSShapeMember(label: "HITLayoutId", required: false, type: .string), AWSShapeMember(label: "Title", required: true, type: .string), - AWSShapeMember(label: "HITReviewPolicy", required: false, type: .structure), AWSShapeMember(label: "AssignmentDurationInSeconds", required: true, type: .long), + AWSShapeMember(label: "HITReviewPolicy", required: false, type: .structure), AWSShapeMember(label: "Reward", required: true, type: .string), AWSShapeMember(label: "UniqueRequestToken", required: false, type: .string), AWSShapeMember(label: "Description", required: true, type: .string), @@ -655,10 +655,10 @@ extension MturkRequester { public let hITLayoutId: String? /// 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. public let title: String - /// The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy. - public let hITReviewPolicy: ReviewPolicy? /// 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. public let assignmentDurationInSeconds: Int64 + /// The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy. + public let hITReviewPolicy: ReviewPolicy? /// The amount of money the Requester will pay a Worker for successfully completing the HIT. public let reward: String /// 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. @@ -667,7 +667,7 @@ extension MturkRequester { public let description: String /// The number of times the HIT can be accepted and completed before the HIT becomes unavailable. public let maxAssignments: Int32? - /// A condition that a Worker's Qualifications must meet before the Worker is allowed to accept and complete the HIT. + /// 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. public let qualificationRequirements: [QualificationRequirement]? /// One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs. public let keywords: String? @@ -680,13 +680,13 @@ extension MturkRequester { /// 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. public let requesterAnnotation: String? - public init(autoApprovalDelayInSeconds: Int64? = nil, hITLayoutParameters: [HITLayoutParameter]? = nil, hITLayoutId: String? = nil, title: String, hITReviewPolicy: ReviewPolicy? = nil, assignmentDurationInSeconds: Int64, reward: String, uniqueRequestToken: String? = nil, description: String, maxAssignments: Int32? = nil, qualificationRequirements: [QualificationRequirement]? = nil, keywords: String? = nil, question: String? = nil, lifetimeInSeconds: Int64, assignmentReviewPolicy: ReviewPolicy? = nil, requesterAnnotation: String? = nil) { + public init(autoApprovalDelayInSeconds: Int64? = nil, hITLayoutParameters: [HITLayoutParameter]? = nil, hITLayoutId: String? = nil, title: String, assignmentDurationInSeconds: Int64, hITReviewPolicy: ReviewPolicy? = nil, reward: String, uniqueRequestToken: String? = nil, description: String, maxAssignments: Int32? = nil, qualificationRequirements: [QualificationRequirement]? = nil, keywords: String? = nil, question: String? = nil, lifetimeInSeconds: Int64, assignmentReviewPolicy: ReviewPolicy? = nil, requesterAnnotation: String? = nil) { self.autoApprovalDelayInSeconds = autoApprovalDelayInSeconds self.hITLayoutParameters = hITLayoutParameters self.hITLayoutId = hITLayoutId self.title = title - self.hITReviewPolicy = hITReviewPolicy self.assignmentDurationInSeconds = assignmentDurationInSeconds + self.hITReviewPolicy = hITReviewPolicy self.reward = reward self.uniqueRequestToken = uniqueRequestToken self.description = description @@ -704,8 +704,8 @@ extension MturkRequester { case hITLayoutParameters = "HITLayoutParameters" case hITLayoutId = "HITLayoutId" case title = "Title" - case hITReviewPolicy = "HITReviewPolicy" case assignmentDurationInSeconds = "AssignmentDurationInSeconds" + case hITReviewPolicy = "HITReviewPolicy" case reward = "Reward" case uniqueRequestToken = "UniqueRequestToken" case description = "Description" @@ -1131,6 +1131,7 @@ extension MturkRequester { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "QualificationTypeId", required: true, type: .string), AWSShapeMember(label: "IntegerValues", required: false, type: .list), + AWSShapeMember(label: "ActionsGuarded", required: false, type: .enum), AWSShapeMember(label: "RequiredToPreview", required: false, type: .boolean), AWSShapeMember(label: "Comparator", required: true, type: .enum), AWSShapeMember(label: "LocaleValues", required: false, type: .list) @@ -1139,16 +1140,19 @@ extension MturkRequester { public let qualificationTypeId: String /// 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. public let integerValues: [Int32]? - /// If true, the question data for the HIT will not be shown when a Worker whose Qualifications do not meet this requirement tries to preview the HIT. That is, a Worker's Qualifications must meet all of the requirements for which RequiredToPreview is true in order to preview the HIT. If a Worker meets all of the requirements where RequiredToPreview is true (or if there are no such requirements), but does not meet all of the requirements for the HIT, the Worker will be allowed to preview the HIT's question data, but will not be allowed to accept and complete the HIT. The default is false. + /// 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. + public let actionsGuarded: HITAccessActions? + /// 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. public let requiredToPreview: Bool? /// 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. public let comparator: Comparator /// 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. public let localeValues: [Locale]? - public init(qualificationTypeId: String, integerValues: [Int32]? = nil, requiredToPreview: Bool? = nil, comparator: Comparator, localeValues: [Locale]? = nil) { + public init(qualificationTypeId: String, integerValues: [Int32]? = nil, actionsGuarded: HITAccessActions? = nil, requiredToPreview: Bool? = nil, comparator: Comparator, localeValues: [Locale]? = nil) { self.qualificationTypeId = qualificationTypeId self.integerValues = integerValues + self.actionsGuarded = actionsGuarded self.requiredToPreview = requiredToPreview self.comparator = comparator self.localeValues = localeValues @@ -1157,6 +1161,7 @@ extension MturkRequester { private enum CodingKeys: String, CodingKey { case qualificationTypeId = "QualificationTypeId" case integerValues = "IntegerValues" + case actionsGuarded = "ActionsGuarded" case requiredToPreview = "RequiredToPreview" case comparator = "Comparator" case localeValues = "LocaleValues" @@ -1457,7 +1462,7 @@ extension MturkRequester { ] /// 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. public let autoApprovalDelayInSeconds: Int64? - /// A condition that a Worker's Qualifications must meet before the Worker is allowed to accept and complete the HIT. + /// 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. public let qualificationRequirements: [QualificationRequirement]? /// 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. public let assignmentDurationInSeconds: Int64 @@ -1491,6 +1496,53 @@ extension MturkRequester { } } + public enum HITAccessActions: String, CustomStringConvertible, Codable { + case accept = "Accept" + case previewandaccept = "PreviewAndAccept" + case discoverpreviewandaccept = "DiscoverPreviewAndAccept" + public var description: String { return self.rawValue } + } + + public struct SendBonusRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AssignmentId", required: true, type: .string), + AWSShapeMember(label: "UniqueRequestToken", required: false, type: .string), + AWSShapeMember(label: "Reason", required: true, type: .string), + AWSShapeMember(label: "WorkerId", required: true, type: .string), + AWSShapeMember(label: "BonusAmount", required: true, type: .string) + ] + /// The ID of the assignment for which this bonus is paid. + public let assignmentId: String + /// 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. + public let uniqueRequestToken: String? + /// A message that explains the reason for the bonus payment. The Worker receiving the bonus can see this message. + public let reason: String + /// The ID of the Worker being paid the bonus. + public let workerId: String + /// 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. + public let bonusAmount: String + + public init(assignmentId: String, uniqueRequestToken: String? = nil, reason: String, workerId: String, bonusAmount: String) { + self.assignmentId = assignmentId + self.uniqueRequestToken = uniqueRequestToken + self.reason = reason + self.workerId = workerId + self.bonusAmount = bonusAmount + } + + private enum CodingKeys: String, CodingKey { + case assignmentId = "AssignmentId" + case uniqueRequestToken = "UniqueRequestToken" + case reason = "Reason" + case workerId = "WorkerId" + case bonusAmount = "BonusAmount" + } + } + + public struct CreateWorkerBlockResponse: AWSShape { + + } + public struct Assignment: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AutoApprovalTime", required: false, type: .timestamp), @@ -1562,46 +1614,6 @@ extension MturkRequester { } } - public struct SendBonusRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AssignmentId", required: true, type: .string), - AWSShapeMember(label: "UniqueRequestToken", required: false, type: .string), - AWSShapeMember(label: "Reason", required: true, type: .string), - AWSShapeMember(label: "WorkerId", required: true, type: .string), - AWSShapeMember(label: "BonusAmount", required: true, type: .string) - ] - /// The ID of the assignment for which this bonus is paid. - public let assignmentId: String - /// 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. - public let uniqueRequestToken: String? - /// A message that explains the reason for the bonus payment. The Worker receiving the bonus can see this message. - public let reason: String - /// The ID of the Worker being paid the bonus. - public let workerId: String - /// 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. - public let bonusAmount: String - - public init(assignmentId: String, uniqueRequestToken: String? = nil, reason: String, workerId: String, bonusAmount: String) { - self.assignmentId = assignmentId - self.uniqueRequestToken = uniqueRequestToken - self.reason = reason - self.workerId = workerId - self.bonusAmount = bonusAmount - } - - private enum CodingKeys: String, CodingKey { - case assignmentId = "AssignmentId" - case uniqueRequestToken = "UniqueRequestToken" - case reason = "Reason" - case workerId = "WorkerId" - case bonusAmount = "BonusAmount" - } - } - - public struct CreateWorkerBlockResponse: AWSShape { - - } - public struct CreateQualificationTypeResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "QualificationType", required: false, type: .structure) diff --git a/Sources/AWSSDKSwift/Services/neptune/Neptune_API.swift b/Sources/AWSSDKSwift/Services/neptune/Neptune_API.swift new file mode 100644 index 00000000000..892ac25f35d --- /dev/null +++ b/Sources/AWSSDKSwift/Services/neptune/Neptune_API.swift @@ -0,0 +1,313 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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 +*/ +public struct Neptune { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + service: "rds", + serviceProtocol: ServiceProtocol(type: .query), + apiVersion: "2014-10-31", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [NeptuneError.self] + ) + } + + /// Creates a new DB instance. + public func createDBInstance(_ input: CreateDBInstanceMessage) throws -> CreateDBInstanceResult { + return try client.send(operation: "CreateDBInstance", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func failoverDBCluster(_ input: FailoverDBClusterMessage) throws -> FailoverDBClusterResult { + return try client.send(operation: "FailoverDBCluster", path: "/", httpMethod: "POST", input: input) + } + + /// Promotes a Read Replica DB cluster to a standalone DB cluster. + public func promoteReadReplicaDBCluster(_ input: PromoteReadReplicaDBClusterMessage) throws -> PromoteReadReplicaDBClusterResult { + return try client.send(operation: "PromoteReadReplicaDBCluster", path: "/", httpMethod: "POST", input: input) + } + + /// Removes a source identifier from an existing event notification subscription. + public func removeSourceIdentifierFromSubscription(_ input: RemoveSourceIdentifierFromSubscriptionMessage) throws -> RemoveSourceIdentifierFromSubscriptionResult { + return try client.send(operation: "RemoveSourceIdentifierFromSubscription", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func createDBClusterParameterGroup(_ input: CreateDBClusterParameterGroupMessage) throws -> CreateDBClusterParameterGroupResult { + return try client.send(operation: "CreateDBClusterParameterGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Associates an Identity and Access Management (IAM) role from an Neptune DB cluster. + public func addRoleToDBCluster(_ input: AddRoleToDBClusterMessage) throws { + _ = try client.send(operation: "AddRoleToDBCluster", path: "/", httpMethod: "POST", input: input) + } + + /// Returns a list of the available DB engines. + public func describeDBEngineVersions(_ input: DescribeDBEngineVersionsMessage) throws -> DBEngineVersionMessage { + return try client.send(operation: "DescribeDBEngineVersions", path: "/", httpMethod: "POST", input: input) + } + + /// Returns the default engine and system parameter information for the cluster database engine. + public func describeEngineDefaultClusterParameters(_ input: DescribeEngineDefaultClusterParametersMessage) throws -> DescribeEngineDefaultClusterParametersResult { + return try client.send(operation: "DescribeEngineDefaultClusterParameters", path: "/", httpMethod: "POST", input: input) + } + + /// Returns information about provisioned DB clusters. This API supports pagination. + public func describeDBClusters(_ input: DescribeDBClustersMessage) throws -> DBClusterMessage { + return try client.send(operation: "DescribeDBClusters", path: "/", httpMethod: "POST", input: input) + } + + /// Lists all tags on an Amazon Neptune resource. + public func listTagsForResource(_ input: ListTagsForResourceMessage) throws -> TagListMessage { + return try client.send(operation: "ListTagsForResource", path: "/", httpMethod: "POST", input: input) + } + + /// Returns the detailed parameter list for a particular DB parameter group. + public func describeDBParameters(_ input: DescribeDBParametersMessage) throws -> DBParameterGroupDetails { + return try client.send(operation: "DescribeDBParameters", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func describeDBClusterSnapshotAttributes(_ input: DescribeDBClusterSnapshotAttributesMessage) throws -> DescribeDBClusterSnapshotAttributesResult { + return try client.send(operation: "DescribeDBClusterSnapshotAttributes", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func modifyEventSubscription(_ input: ModifyEventSubscriptionMessage) throws -> ModifyEventSubscriptionResult { + return try client.send(operation: "ModifyEventSubscription", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func modifyDBParameterGroup(_ input: ModifyDBParameterGroupMessage) throws -> DBParameterGroupNameMessage { + return try client.send(operation: "ModifyDBParameterGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region. + public func createDBSubnetGroup(_ input: CreateDBSubnetGroupMessage) throws -> CreateDBSubnetGroupResult { + return try client.send(operation: "CreateDBSubnetGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Copies the specified DB parameter group. + public func copyDBParameterGroup(_ input: CopyDBParameterGroupMessage) throws -> CopyDBParameterGroupResult { + return try client.send(operation: "CopyDBParameterGroup", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func createDBParameterGroup(_ input: CreateDBParameterGroupMessage) throws -> CreateDBParameterGroupResult { + return try client.send(operation: "CreateDBParameterGroup", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func deleteDBClusterSnapshot(_ input: DeleteDBClusterSnapshotMessage) throws -> DeleteDBClusterSnapshotResult { + return try client.send(operation: "DeleteDBClusterSnapshot", path: "/", httpMethod: "POST", input: input) + } + + /// Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName is specified, the list will contain only the description of the specified DB parameter group. + public func describeDBParameterGroups(_ input: DescribeDBParameterGroupsMessage) throws -> DBParameterGroupsMessage { + return try client.send(operation: "DescribeDBParameterGroups", path: "/", httpMethod: "POST", input: input) + } + + /// Removes metadata tags from an Amazon Neptune resource. + public func removeTagsFromResource(_ input: RemoveTagsFromResourceMessage) throws { + _ = try client.send(operation: "RemoveTagsFromResource", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func modifyDBCluster(_ input: ModifyDBClusterMessage) throws -> ModifyDBClusterResult { + return try client.send(operation: "ModifyDBCluster", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func resetDBParameterGroup(_ input: ResetDBParameterGroupMessage) throws -> DBParameterGroupNameMessage { + return try client.send(operation: "ResetDBParameterGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Displays a list of categories for all event source types, or, if specified, for a specified source type. + public func describeEventCategories(_ input: DescribeEventCategoriesMessage) throws -> EventCategoriesMessage { + return try client.send(operation: "DescribeEventCategories", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func rebootDBInstance(_ input: RebootDBInstanceMessage) throws -> RebootDBInstanceResult { + return try client.send(operation: "RebootDBInstance", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func modifyDBInstance(_ input: ModifyDBInstanceMessage) throws -> ModifyDBInstanceResult { + return try client.send(operation: "ModifyDBInstance", path: "/", httpMethod: "POST", input: input) + } + + /// Returns a list of resources (for example, DB instances) that have at least one pending maintenance action. + public func describePendingMaintenanceActions(_ input: DescribePendingMaintenanceActionsMessage) throws -> PendingMaintenanceActionsMessage { + return try client.send(operation: "DescribePendingMaintenanceActions", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func describeDBClusterParameterGroups(_ input: DescribeDBClusterParameterGroupsMessage) throws -> DBClusterParameterGroupsMessage { + return try client.send(operation: "DescribeDBClusterParameterGroups", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func deleteDBCluster(_ input: DeleteDBClusterMessage) throws -> DeleteDBClusterResult { + return try client.send(operation: "DeleteDBCluster", path: "/", httpMethod: "POST", input: input) + } + + /// You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance. + public func describeValidDBInstanceModifications(_ input: DescribeValidDBInstanceModificationsMessage) throws -> DescribeValidDBInstanceModificationsResult { + return try client.send(operation: "DescribeValidDBInstanceModifications", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func restoreDBClusterFromSnapshot(_ input: RestoreDBClusterFromSnapshotMessage) throws -> RestoreDBClusterFromSnapshotResult { + return try client.send(operation: "RestoreDBClusterFromSnapshot", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func restoreDBClusterToPointInTime(_ input: RestoreDBClusterToPointInTimeMessage) throws -> RestoreDBClusterToPointInTimeResult { + return try client.send(operation: "RestoreDBClusterToPointInTime", path: "/", httpMethod: "POST", input: input) + } + + /// Returns information about provisioned instances. This API supports pagination. + public func describeDBInstances(_ input: DescribeDBInstancesMessage) throws -> DBInstanceMessage { + return try client.send(operation: "DescribeDBInstances", path: "/", httpMethod: "POST", input: input) + } + + /// Returns a list of orderable DB instance options for the specified engine. + public func describeOrderableDBInstanceOptions(_ input: DescribeOrderableDBInstanceOptionsMessage) throws -> OrderableDBInstanceOptionsMessage { + return try client.send(operation: "DescribeOrderableDBInstanceOptions", path: "/", httpMethod: "POST", input: input) + } + + /// Copies the specified DB cluster parameter group. + public func copyDBClusterParameterGroup(_ input: CopyDBClusterParameterGroupMessage) throws -> CopyDBClusterParameterGroupResult { + return try client.send(operation: "CopyDBClusterParameterGroup", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func describeDBSubnetGroups(_ input: DescribeDBSubnetGroupsMessage) throws -> DBSubnetGroupMessage { + return try client.send(operation: "DescribeDBSubnetGroups", path: "/", httpMethod: "POST", input: input) + } + + /// Creates a snapshot of a DB cluster. + public func createDBClusterSnapshot(_ input: CreateDBClusterSnapshotMessage) throws -> CreateDBClusterSnapshotResult { + return try client.send(operation: "CreateDBClusterSnapshot", path: "/", httpMethod: "POST", input: input) + } + + /// Adds a source identifier to an existing event notification subscription. + public func addSourceIdentifierToSubscription(_ input: AddSourceIdentifierToSubscriptionMessage) throws -> AddSourceIdentifierToSubscriptionResult { + return try client.send(operation: "AddSourceIdentifierToSubscription", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func modifyDBClusterParameterGroup(_ input: ModifyDBClusterParameterGroupMessage) throws -> DBClusterParameterGroupNameMessage { + return try client.send(operation: "ModifyDBClusterParameterGroup", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func createDBCluster(_ input: CreateDBClusterMessage) throws -> CreateDBClusterResult { + return try client.send(operation: "CreateDBCluster", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func createEventSubscription(_ input: CreateEventSubscriptionMessage) throws -> CreateEventSubscriptionResult { + return try client.send(operation: "CreateEventSubscription", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func describeEvents(_ input: DescribeEventsMessage) throws -> EventsMessage { + return try client.send(operation: "DescribeEvents", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func describeEventSubscriptions(_ input: DescribeEventSubscriptionsMessage) throws -> EventSubscriptionsMessage { + return try client.send(operation: "DescribeEventSubscriptions", path: "/", httpMethod: "POST", input: input) + } + + /// Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region. + public func modifyDBSubnetGroup(_ input: ModifyDBSubnetGroupMessage) throws -> ModifyDBSubnetGroupResult { + return try client.send(operation: "ModifyDBSubnetGroup", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func resetDBClusterParameterGroup(_ input: ResetDBClusterParameterGroupMessage) throws -> DBClusterParameterGroupNameMessage { + return try client.send(operation: "ResetDBClusterParameterGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Returns the default engine and system parameter information for the specified database engine. + public func describeEngineDefaultParameters(_ input: DescribeEngineDefaultParametersMessage) throws -> DescribeEngineDefaultParametersResult { + return try client.send(operation: "DescribeEngineDefaultParameters", path: "/", httpMethod: "POST", input: input) + } + + /// Returns the detailed parameter list for a particular DB cluster parameter group. + public func describeDBClusterParameters(_ input: DescribeDBClusterParametersMessage) throws -> DBClusterParameterGroupDetails { + return try client.send(operation: "DescribeDBClusterParameters", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes an event notification subscription. + public func deleteEventSubscription(_ input: DeleteEventSubscriptionMessage) throws -> DeleteEventSubscriptionResult { + return try client.send(operation: "DeleteEventSubscription", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func deleteDBInstance(_ input: DeleteDBInstanceMessage) throws -> DeleteDBInstanceResult { + return try client.send(operation: "DeleteDBInstance", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted can't be associated with any DB instances. + public func deleteDBParameterGroup(_ input: DeleteDBParameterGroupMessage) throws { + _ = try client.send(operation: "DeleteDBParameterGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Returns information about DB cluster snapshots. This API action supports pagination. + public func describeDBClusterSnapshots(_ input: DescribeDBClusterSnapshotsMessage) throws -> DBClusterSnapshotMessage { + return try client.send(operation: "DescribeDBClusterSnapshots", path: "/", httpMethod: "POST", input: input) + } + + /// Applies a pending maintenance action to a resource (for example, to a DB instance). + public func applyPendingMaintenanceAction(_ input: ApplyPendingMaintenanceActionMessage) throws -> ApplyPendingMaintenanceActionResult { + return try client.send(operation: "ApplyPendingMaintenanceAction", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted can't be associated with any DB clusters. + public func deleteDBClusterParameterGroup(_ input: DeleteDBClusterParameterGroupMessage) throws { + _ = try client.send(operation: "DeleteDBClusterParameterGroup", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func modifyDBClusterSnapshotAttribute(_ input: ModifyDBClusterSnapshotAttributeMessage) throws -> ModifyDBClusterSnapshotAttributeResult { + return try client.send(operation: "ModifyDBClusterSnapshotAttribute", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func copyDBClusterSnapshot(_ input: CopyDBClusterSnapshotMessage) throws -> CopyDBClusterSnapshotResult { + return try client.send(operation: "CopyDBClusterSnapshot", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func addTagsToResource(_ input: AddTagsToResourceMessage) throws { + _ = try client.send(operation: "AddTagsToResource", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes a DB subnet group. The specified database subnet group must not be associated with any DB instances. + public func deleteDBSubnetGroup(_ input: DeleteDBSubnetGroupMessage) throws { + _ = try client.send(operation: "DeleteDBSubnetGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Disassociates an Identity and Access Management (IAM) role from a DB cluster. + public func removeRoleFromDBCluster(_ input: RemoveRoleFromDBClusterMessage) throws { + _ = try client.send(operation: "RemoveRoleFromDBCluster", path: "/", httpMethod: "POST", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/neptune/Neptune_Error.swift b/Sources/AWSSDKSwift/Services/neptune/Neptune_Error.swift new file mode 100644 index 00000000000..b3ac67eabf0 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/neptune/Neptune_Error.swift @@ -0,0 +1,197 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Neptune +public enum NeptuneError: AWSErrorType { + case dBInstanceAlreadyExistsFault(message: String?) + case insufficientDBInstanceCapacityFault(message: String?) + case dBParameterGroupNotFoundFault(message: String?) + case dBSecurityGroupNotFoundFault(message: String?) + case instanceQuotaExceededFault(message: String?) + case storageQuotaExceededFault(message: String?) + case dBSubnetGroupNotFoundFault(message: String?) + case dBSubnetGroupDoesNotCoverEnoughAZs(message: String?) + case invalidDBClusterStateFault(message: String?) + case invalidSubnet(message: String?) + case invalidVPCNetworkStateFault(message: String?) + case provisionedIopsNotAvailableInAZFault(message: String?) + case optionGroupNotFoundFault(message: String?) + case dBClusterNotFoundFault(message: String?) + case storageTypeNotSupportedFault(message: String?) + case authorizationNotFoundFault(message: String?) + case kMSKeyNotAccessibleFault(message: String?) + case domainNotFoundFault(message: String?) + case invalidDBInstanceStateFault(message: String?) + case subscriptionNotFoundFault(message: String?) + case sourceNotFoundFault(message: String?) + case dBParameterGroupQuotaExceededFault(message: String?) + case dBParameterGroupAlreadyExistsFault(message: String?) + case dBClusterRoleAlreadyExistsFault(message: String?) + case dBClusterRoleQuotaExceededFault(message: String?) + case dBInstanceNotFoundFault(message: String?) + case dBSnapshotNotFoundFault(message: String?) + case dBClusterSnapshotNotFoundFault(message: String?) + case eventSubscriptionQuotaExceededFault(message: String?) + case sNSInvalidTopicFault(message: String?) + case sNSNoAuthorizationFault(message: String?) + case sNSTopicArnNotFoundFault(message: String?) + case subscriptionCategoryNotFoundFault(message: String?) + case invalidDBParameterGroupStateFault(message: String?) + case dBSubnetGroupAlreadyExistsFault(message: String?) + case dBSubnetGroupQuotaExceededFault(message: String?) + case dBSubnetQuotaExceededFault(message: String?) + case invalidDBClusterSnapshotStateFault(message: String?) + case invalidDBSubnetGroupStateFault(message: String?) + case dBClusterParameterGroupNotFoundFault(message: String?) + case invalidDBSecurityGroupStateFault(message: String?) + case dBClusterAlreadyExistsFault(message: String?) + case dBUpgradeDependencyFailureFault(message: String?) + case certificateNotFoundFault(message: String?) + case resourceNotFoundFault(message: String?) + case dBClusterSnapshotAlreadyExistsFault(message: String?) + case snapshotQuotaExceededFault(message: String?) + case dBClusterQuotaExceededFault(message: String?) + case insufficientDBClusterCapacityFault(message: String?) + case insufficientStorageClusterCapacityFault(message: String?) + case invalidDBSnapshotStateFault(message: String?) + case invalidRestoreFault(message: String?) + case subscriptionAlreadyExistFault(message: String?) + case subnetAlreadyInUse(message: String?) + case invalidEventSubscriptionStateFault(message: String?) + case dBSnapshotAlreadyExistsFault(message: String?) + case sharedSnapshotQuotaExceededFault(message: String?) + case invalidDBSubnetStateFault(message: String?) + case dBClusterRoleNotFoundFault(message: String?) +} + +extension NeptuneError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "DBInstanceAlreadyExistsFault": + self = .dBInstanceAlreadyExistsFault(message: message) + case "InsufficientDBInstanceCapacityFault": + self = .insufficientDBInstanceCapacityFault(message: message) + case "DBParameterGroupNotFoundFault": + self = .dBParameterGroupNotFoundFault(message: message) + case "DBSecurityGroupNotFoundFault": + self = .dBSecurityGroupNotFoundFault(message: message) + case "InstanceQuotaExceededFault": + self = .instanceQuotaExceededFault(message: message) + case "StorageQuotaExceededFault": + self = .storageQuotaExceededFault(message: message) + case "DBSubnetGroupNotFoundFault": + self = .dBSubnetGroupNotFoundFault(message: message) + case "DBSubnetGroupDoesNotCoverEnoughAZs": + self = .dBSubnetGroupDoesNotCoverEnoughAZs(message: message) + case "InvalidDBClusterStateFault": + self = .invalidDBClusterStateFault(message: message) + case "InvalidSubnet": + self = .invalidSubnet(message: message) + case "InvalidVPCNetworkStateFault": + self = .invalidVPCNetworkStateFault(message: message) + case "ProvisionedIopsNotAvailableInAZFault": + self = .provisionedIopsNotAvailableInAZFault(message: message) + case "OptionGroupNotFoundFault": + self = .optionGroupNotFoundFault(message: message) + case "DBClusterNotFoundFault": + self = .dBClusterNotFoundFault(message: message) + case "StorageTypeNotSupportedFault": + self = .storageTypeNotSupportedFault(message: message) + case "AuthorizationNotFoundFault": + self = .authorizationNotFoundFault(message: message) + case "KMSKeyNotAccessibleFault": + self = .kMSKeyNotAccessibleFault(message: message) + case "DomainNotFoundFault": + self = .domainNotFoundFault(message: message) + case "InvalidDBInstanceStateFault": + self = .invalidDBInstanceStateFault(message: message) + case "SubscriptionNotFoundFault": + self = .subscriptionNotFoundFault(message: message) + case "SourceNotFoundFault": + self = .sourceNotFoundFault(message: message) + case "DBParameterGroupQuotaExceededFault": + self = .dBParameterGroupQuotaExceededFault(message: message) + case "DBParameterGroupAlreadyExistsFault": + self = .dBParameterGroupAlreadyExistsFault(message: message) + case "DBClusterRoleAlreadyExistsFault": + self = .dBClusterRoleAlreadyExistsFault(message: message) + case "DBClusterRoleQuotaExceededFault": + self = .dBClusterRoleQuotaExceededFault(message: message) + case "DBInstanceNotFoundFault": + self = .dBInstanceNotFoundFault(message: message) + case "DBSnapshotNotFoundFault": + self = .dBSnapshotNotFoundFault(message: message) + case "DBClusterSnapshotNotFoundFault": + self = .dBClusterSnapshotNotFoundFault(message: message) + case "EventSubscriptionQuotaExceededFault": + self = .eventSubscriptionQuotaExceededFault(message: message) + case "SNSInvalidTopicFault": + self = .sNSInvalidTopicFault(message: message) + case "SNSNoAuthorizationFault": + self = .sNSNoAuthorizationFault(message: message) + case "SNSTopicArnNotFoundFault": + self = .sNSTopicArnNotFoundFault(message: message) + case "SubscriptionCategoryNotFoundFault": + self = .subscriptionCategoryNotFoundFault(message: message) + case "InvalidDBParameterGroupStateFault": + self = .invalidDBParameterGroupStateFault(message: message) + case "DBSubnetGroupAlreadyExistsFault": + self = .dBSubnetGroupAlreadyExistsFault(message: message) + case "DBSubnetGroupQuotaExceededFault": + self = .dBSubnetGroupQuotaExceededFault(message: message) + case "DBSubnetQuotaExceededFault": + self = .dBSubnetQuotaExceededFault(message: message) + case "InvalidDBClusterSnapshotStateFault": + self = .invalidDBClusterSnapshotStateFault(message: message) + case "InvalidDBSubnetGroupStateFault": + self = .invalidDBSubnetGroupStateFault(message: message) + case "DBClusterParameterGroupNotFoundFault": + self = .dBClusterParameterGroupNotFoundFault(message: message) + case "InvalidDBSecurityGroupStateFault": + self = .invalidDBSecurityGroupStateFault(message: message) + case "DBClusterAlreadyExistsFault": + self = .dBClusterAlreadyExistsFault(message: message) + case "DBUpgradeDependencyFailureFault": + self = .dBUpgradeDependencyFailureFault(message: message) + case "CertificateNotFoundFault": + self = .certificateNotFoundFault(message: message) + case "ResourceNotFoundFault": + self = .resourceNotFoundFault(message: message) + case "DBClusterSnapshotAlreadyExistsFault": + self = .dBClusterSnapshotAlreadyExistsFault(message: message) + case "SnapshotQuotaExceededFault": + self = .snapshotQuotaExceededFault(message: message) + case "DBClusterQuotaExceededFault": + self = .dBClusterQuotaExceededFault(message: message) + case "InsufficientDBClusterCapacityFault": + self = .insufficientDBClusterCapacityFault(message: message) + case "InsufficientStorageClusterCapacityFault": + self = .insufficientStorageClusterCapacityFault(message: message) + case "InvalidDBSnapshotStateFault": + self = .invalidDBSnapshotStateFault(message: message) + case "InvalidRestoreFault": + self = .invalidRestoreFault(message: message) + case "SubscriptionAlreadyExistFault": + self = .subscriptionAlreadyExistFault(message: message) + case "SubnetAlreadyInUse": + self = .subnetAlreadyInUse(message: message) + case "InvalidEventSubscriptionStateFault": + self = .invalidEventSubscriptionStateFault(message: message) + case "DBSnapshotAlreadyExistsFault": + self = .dBSnapshotAlreadyExistsFault(message: message) + case "SharedSnapshotQuotaExceededFault": + self = .sharedSnapshotQuotaExceededFault(message: message) + case "InvalidDBSubnetStateFault": + self = .invalidDBSubnetStateFault(message: message) + case "DBClusterRoleNotFoundFault": + self = .dBClusterRoleNotFoundFault(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/neptune/Neptune_Shapes.swift b/Sources/AWSSDKSwift/Services/neptune/Neptune_Shapes.swift new file mode 100644 index 00000000000..754cabbfd81 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/neptune/Neptune_Shapes.swift @@ -0,0 +1,5467 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Neptune { + + public struct DescribeDBParametersMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "Source", required: false, type: .string), + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "DBParameterGroupName", required: true, type: .string) + ] + /// 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. + public let maxRecords: Int32? + /// This parameter is not currently supported. + public let filters: FilterList? + /// The parameter types to return. Default: All parameter types returned Valid Values: user | system | engine-default + public let source: String? + /// 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. + public let marker: String? + /// The name of a specific DB parameter group to return details for. Constraints: If supplied, must match the name of an existing DBParameterGroup. + public let dBParameterGroupName: String + + public init(maxRecords: Int32? = nil, filters: FilterList? = nil, source: String? = nil, marker: String? = nil, dBParameterGroupName: String) { + self.maxRecords = maxRecords + self.filters = filters + self.source = source + self.marker = marker + self.dBParameterGroupName = dBParameterGroupName + } + + private enum CodingKeys: String, CodingKey { + case maxRecords = "MaxRecords" + case filters = "Filters" + case source = "Source" + case marker = "Marker" + case dBParameterGroupName = "DBParameterGroupName" + } + } + + public struct DBInstanceStatusInfoList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBInstanceStatusInfo", required: false, type: .list) + ] + public let dBInstanceStatusInfo: [DBInstanceStatusInfo]? + + public init(dBInstanceStatusInfo: [DBInstanceStatusInfo]? = nil) { + self.dBInstanceStatusInfo = dBInstanceStatusInfo + } + + private enum CodingKeys: String, CodingKey { + case dBInstanceStatusInfo = "DBInstanceStatusInfo" + } + } + + public struct EventsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "Events", required: false, type: .structure) + ] + /// 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 . + public let marker: String? + /// A list of Event instances. + public let events: EventList? + + public init(marker: String? = nil, events: EventList? = nil) { + self.marker = marker + self.events = events + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case events = "Events" + } + } + + public struct CreateDBSubnetGroupResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBSubnetGroup", required: false, type: .structure) + ] + public let dBSubnetGroup: DBSubnetGroup? + + public init(dBSubnetGroup: DBSubnetGroup? = nil) { + self.dBSubnetGroup = dBSubnetGroup + } + + private enum CodingKeys: String, CodingKey { + case dBSubnetGroup = "DBSubnetGroup" + } + } + + public struct ResetDBClusterParameterGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Parameters", required: false, type: .structure), + AWSShapeMember(label: "ResetAllParameters", required: false, type: .boolean), + AWSShapeMember(label: "DBClusterParameterGroupName", required: true, type: .string) + ] + /// 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. + public let parameters: ParametersList? + /// 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. + public let resetAllParameters: Bool? + /// The name of the DB cluster parameter group to reset. + public let dBClusterParameterGroupName: String + + public init(parameters: ParametersList? = nil, resetAllParameters: Bool? = nil, dBClusterParameterGroupName: String) { + self.parameters = parameters + self.resetAllParameters = resetAllParameters + self.dBClusterParameterGroupName = dBClusterParameterGroupName + } + + private enum CodingKeys: String, CodingKey { + case parameters = "Parameters" + case resetAllParameters = "ResetAllParameters" + case dBClusterParameterGroupName = "DBClusterParameterGroupName" + } + } + + public struct DescribeEngineDefaultParametersResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EngineDefaults", required: false, type: .structure) + ] + public let engineDefaults: EngineDefaults? + + public init(engineDefaults: EngineDefaults? = nil) { + self.engineDefaults = engineDefaults + } + + private enum CodingKeys: String, CodingKey { + case engineDefaults = "EngineDefaults" + } + } + + public struct RestoreDBClusterFromSnapshotResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBCluster", required: false, type: .structure) + ] + public let dBCluster: DBCluster? + + public init(dBCluster: DBCluster? = nil) { + self.dBCluster = dBCluster + } + + private enum CodingKeys: String, CodingKey { + case dBCluster = "DBCluster" + } + } + + public struct PromoteReadReplicaDBClusterMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string) + ] + /// 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 + public let dBClusterIdentifier: String + + public init(dBClusterIdentifier: String) { + self.dBClusterIdentifier = dBClusterIdentifier + } + + private enum CodingKeys: String, CodingKey { + case dBClusterIdentifier = "DBClusterIdentifier" + } + } + + public struct FilterList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Filter", required: false, type: .list) + ] + public let filter: [Filter]? + + public init(filter: [Filter]? = nil) { + self.filter = filter + } + + private enum CodingKeys: String, CodingKey { + case filter = "Filter" + } + } + + public struct DBClusterMember: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBInstanceIdentifier", required: false, type: .string), + AWSShapeMember(label: "PromotionTier", required: false, type: .integer), + AWSShapeMember(label: "IsClusterWriter", required: false, type: .boolean), + AWSShapeMember(label: "DBClusterParameterGroupStatus", required: false, type: .string) + ] + /// Specifies the instance identifier for this member of the DB cluster. + public let dBInstanceIdentifier: String? + /// 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. + public let promotionTier: Int32? + /// Value that is true if the cluster member is the primary instance for the DB cluster and false otherwise. + public let isClusterWriter: Bool? + /// Specifies the status of the DB cluster parameter group for this member of the DB cluster. + public let dBClusterParameterGroupStatus: String? + + public init(dBInstanceIdentifier: String? = nil, promotionTier: Int32? = nil, isClusterWriter: Bool? = nil, dBClusterParameterGroupStatus: String? = nil) { + self.dBInstanceIdentifier = dBInstanceIdentifier + self.promotionTier = promotionTier + self.isClusterWriter = isClusterWriter + self.dBClusterParameterGroupStatus = dBClusterParameterGroupStatus + } + + private enum CodingKeys: String, CodingKey { + case dBInstanceIdentifier = "DBInstanceIdentifier" + case promotionTier = "PromotionTier" + case isClusterWriter = "IsClusterWriter" + case dBClusterParameterGroupStatus = "DBClusterParameterGroupStatus" + } + } + + public struct CreateDBClusterParameterGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroupFamily", required: true, type: .string), + AWSShapeMember(label: "DBClusterParameterGroupName", required: true, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "Description", required: true, type: .string) + ] + /// 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. + public let dBParameterGroupFamily: String + /// 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. + public let dBClusterParameterGroupName: String + public let tags: TagList? + /// The description for the DB cluster parameter group. + public let description: String + + public init(dBParameterGroupFamily: String, dBClusterParameterGroupName: String, tags: TagList? = nil, description: String) { + self.dBParameterGroupFamily = dBParameterGroupFamily + self.dBClusterParameterGroupName = dBClusterParameterGroupName + self.tags = tags + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroupFamily = "DBParameterGroupFamily" + case dBClusterParameterGroupName = "DBClusterParameterGroupName" + case tags = "Tags" + case description = "Description" + } + } + + public struct DBClusterMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "DBClusters", required: false, type: .structure) + ] + /// A pagination token that can be used in a subsequent DescribeDBClusters request. + public let marker: String? + /// Contains a list of DB clusters for the user. + public let dBClusters: DBClusterList? + + public init(marker: String? = nil, dBClusters: DBClusterList? = nil) { + self.marker = marker + self.dBClusters = dBClusters + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case dBClusters = "DBClusters" + } + } + + public struct Endpoint: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Address", required: false, type: .string), + AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "HostedZoneId", required: false, type: .string) + ] + /// Specifies the DNS address of the DB instance. + public let address: String? + /// Specifies the port that the database engine is listening on. + public let port: Int32? + /// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + public let hostedZoneId: String? + + public init(address: String? = nil, port: Int32? = nil, hostedZoneId: String? = nil) { + self.address = address + self.port = port + self.hostedZoneId = hostedZoneId + } + + private enum CodingKeys: String, CodingKey { + case address = "Address" + case port = "Port" + case hostedZoneId = "HostedZoneId" + } + } + + public struct DeleteDBSubnetGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBSubnetGroupName", required: true, type: .string) + ] + /// 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 + public let dBSubnetGroupName: String + + public init(dBSubnetGroupName: String) { + self.dBSubnetGroupName = dBSubnetGroupName + } + + private enum CodingKeys: String, CodingKey { + case dBSubnetGroupName = "DBSubnetGroupName" + } + } + + public struct DBClusterSnapshotMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "DBClusterSnapshots", required: false, type: .structure) + ] + /// 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. + public let marker: String? + /// Provides a list of DB cluster snapshots for the user. + public let dBClusterSnapshots: DBClusterSnapshotList? + + public init(marker: String? = nil, dBClusterSnapshots: DBClusterSnapshotList? = nil) { + self.marker = marker + self.dBClusterSnapshots = dBClusterSnapshots + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case dBClusterSnapshots = "DBClusterSnapshots" + } + } + + public struct ModifyDBClusterResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBCluster", required: false, type: .structure) + ] + public let dBCluster: DBCluster? + + public init(dBCluster: DBCluster? = nil) { + self.dBCluster = dBCluster + } + + private enum CodingKeys: String, CodingKey { + case dBCluster = "DBCluster" + } + } + + public struct DescribeEngineDefaultClusterParametersResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EngineDefaults", required: false, type: .structure) + ] + public let engineDefaults: EngineDefaults? + + public init(engineDefaults: EngineDefaults? = nil) { + self.engineDefaults = engineDefaults + } + + private enum CodingKeys: String, CodingKey { + case engineDefaults = "EngineDefaults" + } + } + + public struct FailoverDBClusterResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBCluster", required: false, type: .structure) + ] + public let dBCluster: DBCluster? + + public init(dBCluster: DBCluster? = nil) { + self.dBCluster = dBCluster + } + + private enum CodingKeys: String, CodingKey { + case dBCluster = "DBCluster" + } + } + + public struct CreateDBClusterSnapshotMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "DBClusterSnapshotIdentifier", required: true, type: .string), + AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string) + ] + /// The tags to be assigned to the DB cluster snapshot. + public let tags: TagList? + /// 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 + public let dBClusterSnapshotIdentifier: String + /// 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 + public let dBClusterIdentifier: String + + public init(tags: TagList? = nil, dBClusterSnapshotIdentifier: String, dBClusterIdentifier: String) { + self.tags = tags + self.dBClusterSnapshotIdentifier = dBClusterSnapshotIdentifier + self.dBClusterIdentifier = dBClusterIdentifier + } + + private enum CodingKeys: String, CodingKey { + case tags = "Tags" + case dBClusterSnapshotIdentifier = "DBClusterSnapshotIdentifier" + case dBClusterIdentifier = "DBClusterIdentifier" + } + } + + public struct DBClusterSnapshotAttribute: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AttributeName", required: false, type: .string), + AWSShapeMember(label: "AttributeValues", required: false, type: .structure) + ] + /// 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. + public let attributeName: String? + /// 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. + public let attributeValues: AttributeValueList? + + public init(attributeName: String? = nil, attributeValues: AttributeValueList? = nil) { + self.attributeName = attributeName + self.attributeValues = attributeValues + } + + private enum CodingKeys: String, CodingKey { + case attributeName = "AttributeName" + case attributeValues = "AttributeValues" + } + } + + public struct DomainMembership: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "IAMRoleName", required: false, type: .string), + AWSShapeMember(label: "FQDN", required: false, type: .string), + AWSShapeMember(label: "Domain", required: false, type: .string) + ] + /// The status of the DB instance's Active Directory Domain membership, such as joined, pending-join, failed etc). + public let status: String? + /// The name of the IAM role to be used when making API calls to the Directory Service. + public let iAMRoleName: String? + /// The fully qualified domain name of the Active Directory Domain. + public let fqdn: String? + /// The identifier of the Active Directory Domain. + public let domain: String? + + public init(status: String? = nil, iAMRoleName: String? = nil, fqdn: String? = nil, domain: String? = nil) { + self.status = status + self.iAMRoleName = iAMRoleName + self.fqdn = fqdn + self.domain = domain + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case iAMRoleName = "IAMRoleName" + case fqdn = "FQDN" + case domain = "Domain" + } + } + + public struct RebootDBInstanceResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBInstance", required: false, type: .structure) + ] + public let dBInstance: DBInstance? + + public init(dBInstance: DBInstance? = nil) { + self.dBInstance = dBInstance + } + + private enum CodingKeys: String, CodingKey { + case dBInstance = "DBInstance" + } + } + + public struct AttributeValueList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AttributeValue", required: false, type: .list) + ] + public let attributeValue: [String]? + + public init(attributeValue: [String]? = nil) { + self.attributeValue = attributeValue + } + + private enum CodingKeys: String, CodingKey { + case attributeValue = "AttributeValue" + } + } + + public struct Tag: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: false, type: .string), + AWSShapeMember(label: "Key", required: false, type: .string) + ] + /// 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}_.:/=+\\-]*)$"). + public let value: String? + /// 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}_.:/=+\\-]*)$"). + public let key: String? + + public init(value: String? = nil, key: String? = nil) { + self.value = value + self.key = key + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case key = "Key" + } + } + + public struct SupportedTimezonesList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Timezone", required: false, type: .list) + ] + public let timezone: [Timezone]? + + public init(timezone: [Timezone]? = nil) { + self.timezone = timezone + } + + private enum CodingKeys: String, CodingKey { + case timezone = "Timezone" + } + } + + public struct ListTagsForResourceMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "ResourceName", required: true, type: .string) + ] + /// This parameter is not currently supported. + public let filters: FilterList? + /// 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). + public let resourceName: String + + public init(filters: FilterList? = nil, resourceName: String) { + self.filters = filters + self.resourceName = resourceName + } + + private enum CodingKeys: String, CodingKey { + case filters = "Filters" + case resourceName = "ResourceName" + } + } + + public struct FailoverDBClusterMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TargetDBInstanceIdentifier", required: false, type: .string), + AWSShapeMember(label: "DBClusterIdentifier", required: false, type: .string) + ] + /// 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. + public let targetDBInstanceIdentifier: String? + /// A DB cluster identifier to force a failover for. This parameter is not case-sensitive. Constraints: Must match the identifier of an existing DBCluster. + public let dBClusterIdentifier: String? + + public init(targetDBInstanceIdentifier: String? = nil, dBClusterIdentifier: String? = nil) { + self.targetDBInstanceIdentifier = targetDBInstanceIdentifier + self.dBClusterIdentifier = dBClusterIdentifier + } + + private enum CodingKeys: String, CodingKey { + case targetDBInstanceIdentifier = "TargetDBInstanceIdentifier" + case dBClusterIdentifier = "DBClusterIdentifier" + } + } + + public struct CreateEventSubscriptionMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SnsTopicArn", required: true, type: .string), + AWSShapeMember(label: "SubscriptionName", required: true, type: .string), + AWSShapeMember(label: "SourceType", required: false, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "EventCategories", required: false, type: .structure), + AWSShapeMember(label: "Enabled", required: false, type: .boolean), + AWSShapeMember(label: "SourceIds", required: false, type: .structure) + ] + /// 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. + public let snsTopicArn: String + /// The name of the subscription. Constraints: The name must be less than 255 characters. + public let subscriptionName: String + /// 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 + public let sourceType: String? + public let tags: TagList? + /// 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. + public let eventCategories: EventCategoriesList? + /// A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it. + public let enabled: Bool? + /// 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. + public let sourceIds: SourceIdsList? + + public init(snsTopicArn: String, subscriptionName: String, sourceType: String? = nil, tags: TagList? = nil, eventCategories: EventCategoriesList? = nil, enabled: Bool? = nil, sourceIds: SourceIdsList? = nil) { + self.snsTopicArn = snsTopicArn + self.subscriptionName = subscriptionName + self.sourceType = sourceType + self.tags = tags + self.eventCategories = eventCategories + self.enabled = enabled + self.sourceIds = sourceIds + } + + private enum CodingKeys: String, CodingKey { + case snsTopicArn = "SnsTopicArn" + case subscriptionName = "SubscriptionName" + case sourceType = "SourceType" + case tags = "Tags" + case eventCategories = "EventCategories" + case enabled = "Enabled" + case sourceIds = "SourceIds" + } + } + + public struct EventCategoriesMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EventCategoriesMapList", required: false, type: .structure) + ] + /// A list of EventCategoriesMap data types. + public let eventCategoriesMapList: EventCategoriesMapList? + + public init(eventCategoriesMapList: EventCategoriesMapList? = nil) { + self.eventCategoriesMapList = eventCategoriesMapList + } + + private enum CodingKeys: String, CodingKey { + case eventCategoriesMapList = "EventCategoriesMapList" + } + } + + public struct DBClusterParameterGroupDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "Parameters", required: false, type: .structure) + ] + /// 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 . + public let marker: String? + /// Provides a list of parameters for the DB cluster parameter group. + public let parameters: ParametersList? + + public init(marker: String? = nil, parameters: ParametersList? = nil) { + self.marker = marker + self.parameters = parameters + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case parameters = "Parameters" + } + } + + public struct ModifyDBInstanceResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBInstance", required: false, type: .structure) + ] + public let dBInstance: DBInstance? + + public init(dBInstance: DBInstance? = nil) { + self.dBInstance = dBInstance + } + + private enum CodingKeys: String, CodingKey { + case dBInstance = "DBInstance" + } + } + + public struct PendingCloudwatchLogsExports: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LogTypesToEnable", required: false, type: .list), + AWSShapeMember(label: "LogTypesToDisable", required: false, type: .list) + ] + /// Log types that are in the process of being deactivated. After they are deactivated, these log types aren't exported to CloudWatch Logs. + public let logTypesToEnable: [String]? + /// Log types that are in the process of being enabled. After they are enabled, these log types are exported to CloudWatch Logs. + public let logTypesToDisable: [String]? + + public init(logTypesToEnable: [String]? = nil, logTypesToDisable: [String]? = nil) { + self.logTypesToEnable = logTypesToEnable + self.logTypesToDisable = logTypesToDisable + } + + private enum CodingKeys: String, CodingKey { + case logTypesToEnable = "LogTypesToEnable" + case logTypesToDisable = "LogTypesToDisable" + } + } + + public struct OptionGroupMembership: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "OptionGroupName", required: false, type: .string) + ] + /// 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. + public let status: String? + /// The name of the option group that the instance belongs to. + public let optionGroupName: String? + + public init(status: String? = nil, optionGroupName: String? = nil) { + self.status = status + self.optionGroupName = optionGroupName + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case optionGroupName = "OptionGroupName" + } + } + + public struct DescribeValidDBInstanceModificationsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string) + ] + /// The customer identifier or the ARN of your DB instance. + public let dBInstanceIdentifier: String + + public init(dBInstanceIdentifier: String) { + self.dBInstanceIdentifier = dBInstanceIdentifier + } + + private enum CodingKeys: String, CodingKey { + case dBInstanceIdentifier = "DBInstanceIdentifier" + } + } + + public struct DeleteDBClusterSnapshotMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterSnapshotIdentifier", required: true, type: .string) + ] + /// The identifier of the DB cluster snapshot to delete. Constraints: Must be the name of an existing DB cluster snapshot in the available state. + public let dBClusterSnapshotIdentifier: String + + public init(dBClusterSnapshotIdentifier: String) { + self.dBClusterSnapshotIdentifier = dBClusterSnapshotIdentifier + } + + private enum CodingKeys: String, CodingKey { + case dBClusterSnapshotIdentifier = "DBClusterSnapshotIdentifier" + } + } + + public struct RestoreDBClusterToPointInTimeResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBCluster", required: false, type: .structure) + ] + public let dBCluster: DBCluster? + + public init(dBCluster: DBCluster? = nil) { + self.dBCluster = dBCluster + } + + private enum CodingKeys: String, CodingKey { + case dBCluster = "DBCluster" + } + } + + public struct DescribeEventsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StartTime", required: false, type: .timestamp), + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "SourceType", required: false, type: .enum), + AWSShapeMember(label: "EventCategories", required: false, type: .structure), + AWSShapeMember(label: "EndTime", required: false, type: .timestamp), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "SourceIdentifier", required: false, type: .string), + AWSShapeMember(label: "Duration", required: false, type: .integer) + ] + /// 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 + public let startTime: TimeStamp? + /// 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. + public let maxRecords: Int32? + /// 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. + public let marker: String? + /// The event source to retrieve events for. If no value is specified, all events are returned. + public let sourceType: SourceType? + /// A list of event categories that trigger notifications for a event notification subscription. + public let eventCategories: EventCategoriesList? + /// 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 + public let endTime: TimeStamp? + /// This parameter is not currently supported. + public let filters: FilterList? + /// 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. + public let sourceIdentifier: String? + /// The number of minutes to retrieve events for. Default: 60 + public let duration: Int32? + + public init(startTime: TimeStamp? = nil, maxRecords: Int32? = nil, marker: String? = nil, sourceType: SourceType? = nil, eventCategories: EventCategoriesList? = nil, endTime: TimeStamp? = nil, filters: FilterList? = nil, sourceIdentifier: String? = nil, duration: Int32? = nil) { + self.startTime = startTime + self.maxRecords = maxRecords + self.marker = marker + self.sourceType = sourceType + self.eventCategories = eventCategories + self.endTime = endTime + self.filters = filters + self.sourceIdentifier = sourceIdentifier + self.duration = duration + } + + private enum CodingKeys: String, CodingKey { + case startTime = "StartTime" + case maxRecords = "MaxRecords" + case marker = "Marker" + case sourceType = "SourceType" + case eventCategories = "EventCategories" + case endTime = "EndTime" + case filters = "Filters" + case sourceIdentifier = "SourceIdentifier" + case duration = "Duration" + } + } + + public struct AvailabilityZones: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AvailabilityZone", required: false, type: .list) + ] + public let availabilityZone: [String]? + + public init(availabilityZone: [String]? = nil) { + self.availabilityZone = availabilityZone + } + + private enum CodingKeys: String, CodingKey { + case availabilityZone = "AvailabilityZone" + } + } + + public struct VpcSecurityGroupIdList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VpcSecurityGroupId", required: false, type: .list) + ] + public let vpcSecurityGroupId: [String]? + + public init(vpcSecurityGroupId: [String]? = nil) { + self.vpcSecurityGroupId = vpcSecurityGroupId + } + + private enum CodingKeys: String, CodingKey { + case vpcSecurityGroupId = "VpcSecurityGroupId" + } + } + + public struct RemoveTagsFromResourceMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceName", required: true, type: .string), + AWSShapeMember(label: "TagKeys", required: true, type: .list) + ] + /// 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). + public let resourceName: String + /// The tag key (name) of the tag to be removed. + public let tagKeys: [String] + + public init(resourceName: String, tagKeys: [String]) { + self.resourceName = resourceName + self.tagKeys = tagKeys + } + + private enum CodingKeys: String, CodingKey { + case resourceName = "ResourceName" + case tagKeys = "TagKeys" + } + } + + public struct DBClusterMemberList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterMember", required: false, type: .list) + ] + public let dBClusterMember: [DBClusterMember]? + + public init(dBClusterMember: [DBClusterMember]? = nil) { + self.dBClusterMember = dBClusterMember + } + + private enum CodingKeys: String, CodingKey { + case dBClusterMember = "DBClusterMember" + } + } + + public struct EventList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Event", required: false, type: .list) + ] + public let event: [Event]? + + public init(event: [Event]? = nil) { + self.event = event + } + + private enum CodingKeys: String, CodingKey { + case event = "Event" + } + } + + public struct DoubleRangeList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DoubleRange", required: false, type: .list) + ] + public let doubleRange: [DoubleRange]? + + public init(doubleRange: [DoubleRange]? = nil) { + self.doubleRange = doubleRange + } + + private enum CodingKeys: String, CodingKey { + case doubleRange = "DoubleRange" + } + } + + public struct DBParameterGroupStatusList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroup", required: false, type: .list) + ] + public let dBParameterGroup: [DBParameterGroupStatus]? + + public init(dBParameterGroup: [DBParameterGroupStatus]? = nil) { + self.dBParameterGroup = dBParameterGroup + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroup = "DBParameterGroup" + } + } + + public struct OrderableDBInstanceOptionsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "OrderableDBInstanceOptions", required: false, type: .structure) + ] + /// 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 . + public let marker: String? + /// An OrderableDBInstanceOption structure containing information about orderable options for the DB instance. + public let orderableDBInstanceOptions: OrderableDBInstanceOptionsList? + + public init(marker: String? = nil, orderableDBInstanceOptions: OrderableDBInstanceOptionsList? = nil) { + self.marker = marker + self.orderableDBInstanceOptions = orderableDBInstanceOptions + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case orderableDBInstanceOptions = "OrderableDBInstanceOptions" + } + } + + public struct DescribeDBClusterSnapshotsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "DBClusterIdentifier", required: false, type: .string), + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "IncludePublic", required: false, type: .boolean), + AWSShapeMember(label: "SnapshotType", required: false, type: .string), + AWSShapeMember(label: "IncludeShared", required: false, type: .boolean), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "DBClusterSnapshotIdentifier", required: false, type: .string) + ] + /// 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. + public let maxRecords: Int32? + /// 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. + public let dBClusterIdentifier: String? + /// 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. + public let marker: String? + /// 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. + public let includePublic: Bool? + /// 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. + public let snapshotType: String? + /// 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. + public let includeShared: Bool? + /// This parameter is not currently supported. + public let filters: FilterList? + /// 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. + public let dBClusterSnapshotIdentifier: String? + + public init(maxRecords: Int32? = nil, dBClusterIdentifier: String? = nil, marker: String? = nil, includePublic: Bool? = nil, snapshotType: String? = nil, includeShared: Bool? = nil, filters: FilterList? = nil, dBClusterSnapshotIdentifier: String? = nil) { + self.maxRecords = maxRecords + self.dBClusterIdentifier = dBClusterIdentifier + self.marker = marker + self.includePublic = includePublic + self.snapshotType = snapshotType + self.includeShared = includeShared + self.filters = filters + self.dBClusterSnapshotIdentifier = dBClusterSnapshotIdentifier + } + + private enum CodingKeys: String, CodingKey { + case maxRecords = "MaxRecords" + case dBClusterIdentifier = "DBClusterIdentifier" + case marker = "Marker" + case includePublic = "IncludePublic" + case snapshotType = "SnapshotType" + case includeShared = "IncludeShared" + case filters = "Filters" + case dBClusterSnapshotIdentifier = "DBClusterSnapshotIdentifier" + } + } + + public struct DBClusterSnapshot: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AvailabilityZones", required: false, type: .structure), + AWSShapeMember(label: "AllocatedStorage", required: false, type: .integer), + AWSShapeMember(label: "LicenseModel", required: false, type: .string), + AWSShapeMember(label: "SnapshotType", required: false, type: .string), + AWSShapeMember(label: "DBClusterSnapshotArn", required: false, type: .string), + AWSShapeMember(label: "ClusterCreateTime", required: false, type: .timestamp), + AWSShapeMember(label: "IAMDatabaseAuthenticationEnabled", required: false, type: .boolean), + AWSShapeMember(label: "DBClusterIdentifier", required: false, type: .string), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "VpcId", required: false, type: .string), + AWSShapeMember(label: "MasterUsername", required: false, type: .string), + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "Engine", required: false, type: .string), + AWSShapeMember(label: "SnapshotCreateTime", required: false, type: .timestamp), + AWSShapeMember(label: "PercentProgress", required: false, type: .integer), + AWSShapeMember(label: "StorageEncrypted", required: false, type: .boolean), + AWSShapeMember(label: "SourceDBClusterSnapshotArn", required: false, type: .string), + AWSShapeMember(label: "DBClusterSnapshotIdentifier", required: false, type: .string), + AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string) + ] + /// Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in. + public let availabilityZones: AvailabilityZones? + /// Specifies the allocated storage size in gibibytes (GiB). + public let allocatedStorage: Int32? + /// Provides the license model information for this DB cluster snapshot. + public let licenseModel: String? + /// Provides the type of the DB cluster snapshot. + public let snapshotType: String? + /// The Amazon Resource Name (ARN) for the DB cluster snapshot. + public let dBClusterSnapshotArn: String? + /// Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC). + public let clusterCreateTime: TimeStamp? + /// True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false. + public let iAMDatabaseAuthenticationEnabled: Bool? + /// Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from. + public let dBClusterIdentifier: String? + /// Provides the version of the database engine for this DB cluster snapshot. + public let engineVersion: String? + /// Provides the VPC ID associated with the DB cluster snapshot. + public let vpcId: String? + /// Provides the master username for the DB cluster snapshot. + public let masterUsername: String? + /// Specifies the status of this DB cluster snapshot. + public let status: String? + /// Specifies the name of the database engine. + public let engine: String? + /// Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC). + public let snapshotCreateTime: TimeStamp? + /// Specifies the percentage of the estimated data that has been transferred. + public let percentProgress: Int32? + /// Specifies whether the DB cluster snapshot is encrypted. + public let storageEncrypted: Bool? + /// 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. + public let sourceDBClusterSnapshotArn: String? + /// Specifies the identifier for the DB cluster snapshot. + public let dBClusterSnapshotIdentifier: String? + /// Specifies the port that the DB cluster was listening on at the time of the snapshot. + public let port: Int32? + /// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot. + public let kmsKeyId: String? + + public init(availabilityZones: AvailabilityZones? = nil, allocatedStorage: Int32? = nil, licenseModel: String? = nil, snapshotType: String? = nil, dBClusterSnapshotArn: String? = nil, clusterCreateTime: TimeStamp? = nil, iAMDatabaseAuthenticationEnabled: Bool? = nil, dBClusterIdentifier: String? = nil, engineVersion: String? = nil, vpcId: String? = nil, masterUsername: String? = nil, status: String? = nil, engine: String? = nil, snapshotCreateTime: TimeStamp? = nil, percentProgress: Int32? = nil, storageEncrypted: Bool? = nil, sourceDBClusterSnapshotArn: String? = nil, dBClusterSnapshotIdentifier: String? = nil, port: Int32? = nil, kmsKeyId: String? = nil) { + self.availabilityZones = availabilityZones + self.allocatedStorage = allocatedStorage + self.licenseModel = licenseModel + self.snapshotType = snapshotType + self.dBClusterSnapshotArn = dBClusterSnapshotArn + self.clusterCreateTime = clusterCreateTime + self.iAMDatabaseAuthenticationEnabled = iAMDatabaseAuthenticationEnabled + self.dBClusterIdentifier = dBClusterIdentifier + self.engineVersion = engineVersion + self.vpcId = vpcId + self.masterUsername = masterUsername + self.status = status + self.engine = engine + self.snapshotCreateTime = snapshotCreateTime + self.percentProgress = percentProgress + self.storageEncrypted = storageEncrypted + self.sourceDBClusterSnapshotArn = sourceDBClusterSnapshotArn + self.dBClusterSnapshotIdentifier = dBClusterSnapshotIdentifier + self.port = port + self.kmsKeyId = kmsKeyId + } + + private enum CodingKeys: String, CodingKey { + case availabilityZones = "AvailabilityZones" + case allocatedStorage = "AllocatedStorage" + case licenseModel = "LicenseModel" + case snapshotType = "SnapshotType" + case dBClusterSnapshotArn = "DBClusterSnapshotArn" + case clusterCreateTime = "ClusterCreateTime" + case iAMDatabaseAuthenticationEnabled = "IAMDatabaseAuthenticationEnabled" + case dBClusterIdentifier = "DBClusterIdentifier" + case engineVersion = "EngineVersion" + case vpcId = "VpcId" + case masterUsername = "MasterUsername" + case status = "Status" + case engine = "Engine" + case snapshotCreateTime = "SnapshotCreateTime" + case percentProgress = "PercentProgress" + case storageEncrypted = "StorageEncrypted" + case sourceDBClusterSnapshotArn = "SourceDBClusterSnapshotArn" + case dBClusterSnapshotIdentifier = "DBClusterSnapshotIdentifier" + case port = "Port" + case kmsKeyId = "KmsKeyId" + } + } + + public struct PromoteReadReplicaDBClusterResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBCluster", required: false, type: .structure) + ] + public let dBCluster: DBCluster? + + public init(dBCluster: DBCluster? = nil) { + self.dBCluster = dBCluster + } + + private enum CodingKeys: String, CodingKey { + case dBCluster = "DBCluster" + } + } + + public struct ModifyDBSubnetGroupResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBSubnetGroup", required: false, type: .structure) + ] + public let dBSubnetGroup: DBSubnetGroup? + + public init(dBSubnetGroup: DBSubnetGroup? = nil) { + self.dBSubnetGroup = dBSubnetGroup + } + + private enum CodingKeys: String, CodingKey { + case dBSubnetGroup = "DBSubnetGroup" + } + } + + public struct DeleteEventSubscriptionMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SubscriptionName", required: true, type: .string) + ] + /// The name of the event notification subscription you want to delete. + public let subscriptionName: String + + public init(subscriptionName: String) { + self.subscriptionName = subscriptionName + } + + private enum CodingKeys: String, CodingKey { + case subscriptionName = "SubscriptionName" + } + } + + public struct DBInstanceStatusInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "Message", required: false, type: .string), + AWSShapeMember(label: "StatusType", required: false, type: .string), + AWSShapeMember(label: "Normal", required: false, type: .boolean) + ] + /// Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated. + public let status: String? + /// 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. + public let message: String? + /// This value is currently "read replication." + public let statusType: String? + /// Boolean value that is true if the instance is operating normally, or false if the instance is in an error state. + public let normal: Bool? + + public init(status: String? = nil, message: String? = nil, statusType: String? = nil, normal: Bool? = nil) { + self.status = status + self.message = message + self.statusType = statusType + self.normal = normal + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case message = "Message" + case statusType = "StatusType" + case normal = "Normal" + } + } + + public struct SourceIdsList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SourceId", required: false, type: .list) + ] + public let sourceId: [String]? + + public init(sourceId: [String]? = nil) { + self.sourceId = sourceId + } + + private enum CodingKeys: String, CodingKey { + case sourceId = "SourceId" + } + } + + public struct SubnetIdentifierList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SubnetIdentifier", required: false, type: .list) + ] + public let subnetIdentifier: [String]? + + public init(subnetIdentifier: [String]? = nil) { + self.subnetIdentifier = subnetIdentifier + } + + private enum CodingKeys: String, CodingKey { + case subnetIdentifier = "SubnetIdentifier" + } + } + + public struct Subnet: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SubnetIdentifier", required: false, type: .string), + AWSShapeMember(label: "SubnetAvailabilityZone", required: false, type: .structure), + AWSShapeMember(label: "SubnetStatus", required: false, type: .string) + ] + /// Specifies the identifier of the subnet. + public let subnetIdentifier: String? + public let subnetAvailabilityZone: AvailabilityZone? + /// Specifies the status of the subnet. + public let subnetStatus: String? + + public init(subnetIdentifier: String? = nil, subnetAvailabilityZone: AvailabilityZone? = nil, subnetStatus: String? = nil) { + self.subnetIdentifier = subnetIdentifier + self.subnetAvailabilityZone = subnetAvailabilityZone + self.subnetStatus = subnetStatus + } + + private enum CodingKeys: String, CodingKey { + case subnetIdentifier = "SubnetIdentifier" + case subnetAvailabilityZone = "SubnetAvailabilityZone" + case subnetStatus = "SubnetStatus" + } + } + + public struct Parameter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ParameterValue", required: false, type: .string), + AWSShapeMember(label: "AllowedValues", required: false, type: .string), + AWSShapeMember(label: "DataType", required: false, type: .string), + AWSShapeMember(label: "ParameterName", required: false, type: .string), + AWSShapeMember(label: "ApplyType", required: false, type: .string), + AWSShapeMember(label: "Source", required: false, type: .string), + AWSShapeMember(label: "IsModifiable", required: false, type: .boolean), + AWSShapeMember(label: "MinimumEngineVersion", required: false, type: .string), + AWSShapeMember(label: "ApplyMethod", required: false, type: .enum), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// Specifies the value of the parameter. + public let parameterValue: String? + /// Specifies the valid range of values for the parameter. + public let allowedValues: String? + /// Specifies the valid data type for the parameter. + public let dataType: String? + /// Specifies the name of the parameter. + public let parameterName: String? + /// Specifies the engine specific parameters type. + public let applyType: String? + /// Indicates the source of the parameter value. + public let source: String? + /// Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed. + public let isModifiable: Bool? + /// The earliest engine version to which the parameter can apply. + public let minimumEngineVersion: String? + /// Indicates when to apply parameter updates. + public let applyMethod: ApplyMethod? + /// Provides a description of the parameter. + public let description: String? + + public init(parameterValue: String? = nil, allowedValues: String? = nil, dataType: String? = nil, parameterName: String? = nil, applyType: String? = nil, source: String? = nil, isModifiable: Bool? = nil, minimumEngineVersion: String? = nil, applyMethod: ApplyMethod? = nil, description: String? = nil) { + self.parameterValue = parameterValue + self.allowedValues = allowedValues + self.dataType = dataType + self.parameterName = parameterName + self.applyType = applyType + self.source = source + self.isModifiable = isModifiable + self.minimumEngineVersion = minimumEngineVersion + self.applyMethod = applyMethod + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case parameterValue = "ParameterValue" + case allowedValues = "AllowedValues" + case dataType = "DataType" + case parameterName = "ParameterName" + case applyType = "ApplyType" + case source = "Source" + case isModifiable = "IsModifiable" + case minimumEngineVersion = "MinimumEngineVersion" + case applyMethod = "ApplyMethod" + case description = "Description" + } + } + + public struct ResetDBParameterGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Parameters", required: false, type: .structure), + AWSShapeMember(label: "DBParameterGroupName", required: true, type: .string), + AWSShapeMember(label: "ResetAllParameters", required: false, type: .boolean) + ] + /// 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 + public let parameters: ParametersList? + /// The name of the DB parameter group. Constraints: Must match the name of an existing DBParameterGroup. + public let dBParameterGroupName: String + /// Specifies whether (true) or not (false) to reset all parameters in the DB parameter group to default values. Default: true + public let resetAllParameters: Bool? + + public init(parameters: ParametersList? = nil, dBParameterGroupName: String, resetAllParameters: Bool? = nil) { + self.parameters = parameters + self.dBParameterGroupName = dBParameterGroupName + self.resetAllParameters = resetAllParameters + } + + private enum CodingKeys: String, CodingKey { + case parameters = "Parameters" + case dBParameterGroupName = "DBParameterGroupName" + case resetAllParameters = "ResetAllParameters" + } + } + + public struct DBInstanceList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBInstance", required: false, type: .list) + ] + public let dBInstance: [DBInstance]? + + public init(dBInstance: [DBInstance]? = nil) { + self.dBInstance = dBInstance + } + + private enum CodingKeys: String, CodingKey { + case dBInstance = "DBInstance" + } + } + + public struct SupportedCharacterSetsList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CharacterSet", required: false, type: .list) + ] + public let characterSet: [CharacterSet]? + + public init(characterSet: [CharacterSet]? = nil) { + self.characterSet = characterSet + } + + private enum CodingKeys: String, CodingKey { + case characterSet = "CharacterSet" + } + } + + public struct DescribeEngineDefaultClusterParametersMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroupFamily", required: true, type: .string), + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "Marker", required: false, type: .string) + ] + /// The name of the DB cluster parameter group family to return engine parameter information for. + public let dBParameterGroupFamily: String + /// 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. + public let maxRecords: Int32? + /// This parameter is not currently supported. + public let filters: FilterList? + /// 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. + public let marker: String? + + public init(dBParameterGroupFamily: String, maxRecords: Int32? = nil, filters: FilterList? = nil, marker: String? = nil) { + self.dBParameterGroupFamily = dBParameterGroupFamily + self.maxRecords = maxRecords + self.filters = filters + self.marker = marker + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroupFamily = "DBParameterGroupFamily" + case maxRecords = "MaxRecords" + case filters = "Filters" + case marker = "Marker" + } + } + + public struct DBEngineVersion: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "ExportableLogTypes", required: false, type: .list), + AWSShapeMember(label: "SupportedCharacterSets", required: false, type: .structure), + AWSShapeMember(label: "DefaultCharacterSet", required: false, type: .structure), + AWSShapeMember(label: "Engine", required: false, type: .string), + AWSShapeMember(label: "DBParameterGroupFamily", required: false, type: .string), + AWSShapeMember(label: "SupportedTimezones", required: false, type: .structure), + AWSShapeMember(label: "ValidUpgradeTarget", required: false, type: .structure), + AWSShapeMember(label: "DBEngineDescription", required: false, type: .string), + AWSShapeMember(label: "SupportsLogExportsToCloudwatchLogs", required: false, type: .boolean), + AWSShapeMember(label: "SupportsReadReplica", required: false, type: .boolean), + AWSShapeMember(label: "DBEngineVersionDescription", required: false, type: .string) + ] + /// The version number of the database engine. + public let engineVersion: String? + /// The types of logs that the database engine has available for export to CloudWatch Logs. + public let exportableLogTypes: [String]? + /// A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance action. + public let supportedCharacterSets: SupportedCharacterSetsList? + /// The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API is not specified. + public let defaultCharacterSet: CharacterSet? + /// The name of the database engine. + public let engine: String? + /// The name of the DB parameter group family for the database engine. + public let dBParameterGroupFamily: String? + /// A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action. + public let supportedTimezones: SupportedTimezonesList? + /// A list of engine versions that this database engine version can be upgraded to. + public let validUpgradeTarget: ValidUpgradeTargetList? + /// The description of the database engine. + public let dBEngineDescription: String? + /// A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs. + public let supportsLogExportsToCloudwatchLogs: Bool? + /// Indicates whether the database engine version supports read replicas. + public let supportsReadReplica: Bool? + /// The description of the database engine version. + public let dBEngineVersionDescription: String? + + public init(engineVersion: String? = nil, exportableLogTypes: [String]? = nil, supportedCharacterSets: SupportedCharacterSetsList? = nil, defaultCharacterSet: CharacterSet? = nil, engine: String? = nil, dBParameterGroupFamily: String? = nil, supportedTimezones: SupportedTimezonesList? = nil, validUpgradeTarget: ValidUpgradeTargetList? = nil, dBEngineDescription: String? = nil, supportsLogExportsToCloudwatchLogs: Bool? = nil, supportsReadReplica: Bool? = nil, dBEngineVersionDescription: String? = nil) { + self.engineVersion = engineVersion + self.exportableLogTypes = exportableLogTypes + self.supportedCharacterSets = supportedCharacterSets + self.defaultCharacterSet = defaultCharacterSet + self.engine = engine + self.dBParameterGroupFamily = dBParameterGroupFamily + self.supportedTimezones = supportedTimezones + self.validUpgradeTarget = validUpgradeTarget + self.dBEngineDescription = dBEngineDescription + self.supportsLogExportsToCloudwatchLogs = supportsLogExportsToCloudwatchLogs + self.supportsReadReplica = supportsReadReplica + self.dBEngineVersionDescription = dBEngineVersionDescription + } + + private enum CodingKeys: String, CodingKey { + case engineVersion = "EngineVersion" + case exportableLogTypes = "ExportableLogTypes" + case supportedCharacterSets = "SupportedCharacterSets" + case defaultCharacterSet = "DefaultCharacterSet" + case engine = "Engine" + case dBParameterGroupFamily = "DBParameterGroupFamily" + case supportedTimezones = "SupportedTimezones" + case validUpgradeTarget = "ValidUpgradeTarget" + case dBEngineDescription = "DBEngineDescription" + case supportsLogExportsToCloudwatchLogs = "SupportsLogExportsToCloudwatchLogs" + case supportsReadReplica = "SupportsReadReplica" + case dBEngineVersionDescription = "DBEngineVersionDescription" + } + } + + public struct OptionGroupMembershipList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OptionGroupMembership", required: false, type: .list) + ] + public let optionGroupMembership: [OptionGroupMembership]? + + public init(optionGroupMembership: [OptionGroupMembership]? = nil) { + self.optionGroupMembership = optionGroupMembership + } + + private enum CodingKeys: String, CodingKey { + case optionGroupMembership = "OptionGroupMembership" + } + } + + public struct ReadReplicaDBClusterIdentifierList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReadReplicaDBClusterIdentifier", required: false, type: .list) + ] + public let readReplicaDBClusterIdentifier: [String]? + + public init(readReplicaDBClusterIdentifier: [String]? = nil) { + self.readReplicaDBClusterIdentifier = readReplicaDBClusterIdentifier + } + + private enum CodingKeys: String, CodingKey { + case readReplicaDBClusterIdentifier = "ReadReplicaDBClusterIdentifier" + } + } + + public struct DBClusterSnapshotList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterSnapshot", required: false, type: .list) + ] + public let dBClusterSnapshot: [DBClusterSnapshot]? + + public init(dBClusterSnapshot: [DBClusterSnapshot]? = nil) { + self.dBClusterSnapshot = dBClusterSnapshot + } + + private enum CodingKeys: String, CodingKey { + case dBClusterSnapshot = "DBClusterSnapshot" + } + } + + public struct ValidStorageOptionsList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ValidStorageOptions", required: false, type: .list) + ] + public let validStorageOptions: [ValidStorageOptions]? + + public init(validStorageOptions: [ValidStorageOptions]? = nil) { + self.validStorageOptions = validStorageOptions + } + + private enum CodingKeys: String, CodingKey { + case validStorageOptions = "ValidStorageOptions" + } + } + + public struct DescribeDBEngineVersionsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "DefaultOnly", required: false, type: .boolean), + AWSShapeMember(label: "ListSupportedTimezones", required: false, type: .boolean), + AWSShapeMember(label: "Engine", required: false, type: .string), + AWSShapeMember(label: "DBParameterGroupFamily", required: false, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "ListSupportedCharacterSets", required: false, type: .boolean) + ] + /// 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. + public let maxRecords: Int32? + /// The database engine version to return. Example: 5.1.49 + public let engineVersion: String? + /// 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. + public let marker: String? + /// Indicates that only the default version of the specified engine or engine and major version combination is returned. + public let defaultOnly: Bool? + /// 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. + public let listSupportedTimezones: Bool? + /// The database engine to return. + public let engine: String? + /// The name of a specific DB parameter group family to return details for. Constraints: If supplied, must match an existing DBParameterGroupFamily. + public let dBParameterGroupFamily: String? + /// Not currently supported. + public let filters: FilterList? + /// 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. + public let listSupportedCharacterSets: Bool? + + public init(maxRecords: Int32? = nil, engineVersion: String? = nil, marker: String? = nil, defaultOnly: Bool? = nil, listSupportedTimezones: Bool? = nil, engine: String? = nil, dBParameterGroupFamily: String? = nil, filters: FilterList? = nil, listSupportedCharacterSets: Bool? = nil) { + self.maxRecords = maxRecords + self.engineVersion = engineVersion + self.marker = marker + self.defaultOnly = defaultOnly + self.listSupportedTimezones = listSupportedTimezones + self.engine = engine + self.dBParameterGroupFamily = dBParameterGroupFamily + self.filters = filters + self.listSupportedCharacterSets = listSupportedCharacterSets + } + + private enum CodingKeys: String, CodingKey { + case maxRecords = "MaxRecords" + case engineVersion = "EngineVersion" + case marker = "Marker" + case defaultOnly = "DefaultOnly" + case listSupportedTimezones = "ListSupportedTimezones" + case engine = "Engine" + case dBParameterGroupFamily = "DBParameterGroupFamily" + case filters = "Filters" + case listSupportedCharacterSets = "ListSupportedCharacterSets" + } + } + + public struct DescribePendingMaintenanceActionsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceIdentifier", required: false, type: .string), + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "Marker", required: false, type: .string) + ] + /// The ARN of a resource to return pending maintenance actions for. + public let resourceIdentifier: String? + /// 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. + public let maxRecords: Int32? + /// 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. + public let filters: FilterList? + /// 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. + public let marker: String? + + public init(resourceIdentifier: String? = nil, maxRecords: Int32? = nil, filters: FilterList? = nil, marker: String? = nil) { + self.resourceIdentifier = resourceIdentifier + self.maxRecords = maxRecords + self.filters = filters + self.marker = marker + } + + private enum CodingKeys: String, CodingKey { + case resourceIdentifier = "ResourceIdentifier" + case maxRecords = "MaxRecords" + case filters = "Filters" + case marker = "Marker" + } + } + + public struct DescribeDBClusterSnapshotAttributesMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterSnapshotIdentifier", required: true, type: .string) + ] + /// The identifier for the DB cluster snapshot to describe the attributes for. + public let dBClusterSnapshotIdentifier: String + + public init(dBClusterSnapshotIdentifier: String) { + self.dBClusterSnapshotIdentifier = dBClusterSnapshotIdentifier + } + + private enum CodingKeys: String, CodingKey { + case dBClusterSnapshotIdentifier = "DBClusterSnapshotIdentifier" + } + } + + public struct Event: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SourceType", required: false, type: .enum), + AWSShapeMember(label: "Message", required: false, type: .string), + AWSShapeMember(label: "SourceIdentifier", required: false, type: .string), + AWSShapeMember(label: "Date", required: false, type: .timestamp), + AWSShapeMember(label: "EventCategories", required: false, type: .structure), + AWSShapeMember(label: "SourceArn", required: false, type: .string) + ] + /// Specifies the source type for this event. + public let sourceType: SourceType? + /// Provides the text of this event. + public let message: String? + /// Provides the identifier for the source of the event. + public let sourceIdentifier: String? + /// Specifies the date and time of the event. + public let date: TimeStamp? + /// Specifies the category for the event. + public let eventCategories: EventCategoriesList? + /// The Amazon Resource Name (ARN) for the event. + public let sourceArn: String? + + public init(sourceType: SourceType? = nil, message: String? = nil, sourceIdentifier: String? = nil, date: TimeStamp? = nil, eventCategories: EventCategoriesList? = nil, sourceArn: String? = nil) { + self.sourceType = sourceType + self.message = message + self.sourceIdentifier = sourceIdentifier + self.date = date + self.eventCategories = eventCategories + self.sourceArn = sourceArn + } + + private enum CodingKeys: String, CodingKey { + case sourceType = "SourceType" + case message = "Message" + case sourceIdentifier = "SourceIdentifier" + case date = "Date" + case eventCategories = "EventCategories" + case sourceArn = "SourceArn" + } + } + + public struct DescribeEventSubscriptionsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "SubscriptionName", required: false, type: .string), + AWSShapeMember(label: "Marker", required: false, type: .string) + ] + /// 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. + public let maxRecords: Int32? + /// This parameter is not currently supported. + public let filters: FilterList? + /// The name of the event notification subscription you want to describe. + public let subscriptionName: String? + /// 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 . + public let marker: String? + + public init(maxRecords: Int32? = nil, filters: FilterList? = nil, subscriptionName: String? = nil, marker: String? = nil) { + self.maxRecords = maxRecords + self.filters = filters + self.subscriptionName = subscriptionName + self.marker = marker + } + + private enum CodingKeys: String, CodingKey { + case maxRecords = "MaxRecords" + case filters = "Filters" + case subscriptionName = "SubscriptionName" + case marker = "Marker" + } + } + + public struct EventCategoriesMap: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SourceType", required: false, type: .string), + AWSShapeMember(label: "EventCategories", required: false, type: .structure) + ] + /// The source type that the returned categories belong to + public let sourceType: String? + /// The event categories for the specified source type + public let eventCategories: EventCategoriesList? + + public init(sourceType: String? = nil, eventCategories: EventCategoriesList? = nil) { + self.sourceType = sourceType + self.eventCategories = eventCategories + } + + private enum CodingKeys: String, CodingKey { + case sourceType = "SourceType" + case eventCategories = "EventCategories" + } + } + + public struct DescribeDBParameterGroupsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "DBParameterGroupName", required: false, type: .string) + ] + /// 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. + public let maxRecords: Int32? + /// This parameter is not currently supported. + public let filters: FilterList? + /// 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. + public let marker: String? + /// The name of a specific DB parameter group to return details for. Constraints: If supplied, must match the name of an existing DBClusterParameterGroup. + public let dBParameterGroupName: String? + + public init(maxRecords: Int32? = nil, filters: FilterList? = nil, marker: String? = nil, dBParameterGroupName: String? = nil) { + self.maxRecords = maxRecords + self.filters = filters + self.marker = marker + self.dBParameterGroupName = dBParameterGroupName + } + + private enum CodingKeys: String, CodingKey { + case maxRecords = "MaxRecords" + case filters = "Filters" + case marker = "Marker" + case dBParameterGroupName = "DBParameterGroupName" + } + } + + public struct DBClusterRoles: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterRole", required: false, type: .list) + ] + public let dBClusterRole: [DBClusterRole]? + + public init(dBClusterRole: [DBClusterRole]? = nil) { + self.dBClusterRole = dBClusterRole + } + + private enum CodingKeys: String, CodingKey { + case dBClusterRole = "DBClusterRole" + } + } + + public struct ModifyEventSubscriptionResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EventSubscription", required: false, type: .structure) + ] + public let eventSubscription: EventSubscription? + + public init(eventSubscription: EventSubscription? = nil) { + self.eventSubscription = eventSubscription + } + + private enum CodingKeys: String, CodingKey { + case eventSubscription = "EventSubscription" + } + } + + public struct DBClusterList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBCluster", required: false, type: .list) + ] + public let dBCluster: [DBCluster]? + + public init(dBCluster: [DBCluster]? = nil) { + self.dBCluster = dBCluster + } + + private enum CodingKeys: String, CodingKey { + case dBCluster = "DBCluster" + } + } + + public struct DBParameterGroupStatus: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroupName", required: false, type: .string), + AWSShapeMember(label: "ParameterApplyStatus", required: false, type: .string) + ] + /// The name of the DP parameter group. + public let dBParameterGroupName: String? + /// The status of parameter updates. + public let parameterApplyStatus: String? + + public init(dBParameterGroupName: String? = nil, parameterApplyStatus: String? = nil) { + self.dBParameterGroupName = dBParameterGroupName + self.parameterApplyStatus = parameterApplyStatus + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroupName = "DBParameterGroupName" + case parameterApplyStatus = "ParameterApplyStatus" + } + } + + public struct DBClusterParameterGroupsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "DBClusterParameterGroups", required: false, type: .structure) + ] + /// 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. + public let marker: String? + /// A list of DB cluster parameter groups. + public let dBClusterParameterGroups: DBClusterParameterGroupList? + + public init(marker: String? = nil, dBClusterParameterGroups: DBClusterParameterGroupList? = nil) { + self.marker = marker + self.dBClusterParameterGroups = dBClusterParameterGroups + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case dBClusterParameterGroups = "DBClusterParameterGroups" + } + } + + public struct CopyDBClusterParameterGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SourceDBClusterParameterGroupIdentifier", required: true, type: .string), + AWSShapeMember(label: "TargetDBClusterParameterGroupDescription", required: true, type: .string), + AWSShapeMember(label: "TargetDBClusterParameterGroupIdentifier", required: true, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .structure) + ] + /// 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. + public let sourceDBClusterParameterGroupIdentifier: String + /// A description for the copied DB cluster parameter group. + public let targetDBClusterParameterGroupDescription: String + /// 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 + public let targetDBClusterParameterGroupIdentifier: String + public let tags: TagList? + + public init(sourceDBClusterParameterGroupIdentifier: String, targetDBClusterParameterGroupDescription: String, targetDBClusterParameterGroupIdentifier: String, tags: TagList? = nil) { + self.sourceDBClusterParameterGroupIdentifier = sourceDBClusterParameterGroupIdentifier + self.targetDBClusterParameterGroupDescription = targetDBClusterParameterGroupDescription + self.targetDBClusterParameterGroupIdentifier = targetDBClusterParameterGroupIdentifier + self.tags = tags + } + + private enum CodingKeys: String, CodingKey { + case sourceDBClusterParameterGroupIdentifier = "SourceDBClusterParameterGroupIdentifier" + case targetDBClusterParameterGroupDescription = "TargetDBClusterParameterGroupDescription" + case targetDBClusterParameterGroupIdentifier = "TargetDBClusterParameterGroupIdentifier" + case tags = "Tags" + } + } + + public struct ReadReplicaDBInstanceIdentifierList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReadReplicaDBInstanceIdentifier", required: false, type: .list) + ] + public let readReplicaDBInstanceIdentifier: [String]? + + public init(readReplicaDBInstanceIdentifier: [String]? = nil) { + self.readReplicaDBInstanceIdentifier = readReplicaDBInstanceIdentifier + } + + private enum CodingKeys: String, CodingKey { + case readReplicaDBInstanceIdentifier = "ReadReplicaDBInstanceIdentifier" + } + } + + public struct CreateDBSubnetGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SubnetIds", required: true, type: .structure), + AWSShapeMember(label: "DBSubnetGroupDescription", required: true, type: .string), + AWSShapeMember(label: "DBSubnetGroupName", required: true, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .structure) + ] + /// The EC2 Subnet IDs for the DB subnet group. + public let subnetIds: SubnetIdentifierList + /// The description for the DB subnet group. + public let dBSubnetGroupDescription: String + /// 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 + public let dBSubnetGroupName: String + public let tags: TagList? + + public init(subnetIds: SubnetIdentifierList, dBSubnetGroupDescription: String, dBSubnetGroupName: String, tags: TagList? = nil) { + self.subnetIds = subnetIds + self.dBSubnetGroupDescription = dBSubnetGroupDescription + self.dBSubnetGroupName = dBSubnetGroupName + self.tags = tags + } + + private enum CodingKeys: String, CodingKey { + case subnetIds = "SubnetIds" + case dBSubnetGroupDescription = "DBSubnetGroupDescription" + case dBSubnetGroupName = "DBSubnetGroupName" + case tags = "Tags" + } + } + + public struct CreateDBParameterGroupResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroup", required: false, type: .structure) + ] + public let dBParameterGroup: DBParameterGroup? + + public init(dBParameterGroup: DBParameterGroup? = nil) { + self.dBParameterGroup = dBParameterGroup + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroup = "DBParameterGroup" + } + } + + public struct ModifyDBSubnetGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SubnetIds", required: true, type: .structure), + AWSShapeMember(label: "DBSubnetGroupDescription", required: false, type: .string), + AWSShapeMember(label: "DBSubnetGroupName", required: true, type: .string) + ] + /// The EC2 subnet IDs for the DB subnet group. + public let subnetIds: SubnetIdentifierList + /// The description for the DB subnet group. + public let dBSubnetGroupDescription: String? + /// 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 + public let dBSubnetGroupName: String + + public init(subnetIds: SubnetIdentifierList, dBSubnetGroupDescription: String? = nil, dBSubnetGroupName: String) { + self.subnetIds = subnetIds + self.dBSubnetGroupDescription = dBSubnetGroupDescription + self.dBSubnetGroupName = dBSubnetGroupName + } + + private enum CodingKeys: String, CodingKey { + case subnetIds = "SubnetIds" + case dBSubnetGroupDescription = "DBSubnetGroupDescription" + case dBSubnetGroupName = "DBSubnetGroupName" + } + } + + public struct RemoveSourceIdentifierFromSubscriptionResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EventSubscription", required: false, type: .structure) + ] + public let eventSubscription: EventSubscription? + + public init(eventSubscription: EventSubscription? = nil) { + self.eventSubscription = eventSubscription + } + + private enum CodingKeys: String, CodingKey { + case eventSubscription = "EventSubscription" + } + } + + public struct DeleteDBClusterResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBCluster", required: false, type: .structure) + ] + public let dBCluster: DBCluster? + + public init(dBCluster: DBCluster? = nil) { + self.dBCluster = dBCluster + } + + private enum CodingKeys: String, CodingKey { + case dBCluster = "DBCluster" + } + } + + public struct OrderableDBInstanceOptionsList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrderableDBInstanceOption", required: false, type: .list) + ] + public let orderableDBInstanceOption: [OrderableDBInstanceOption]? + + public init(orderableDBInstanceOption: [OrderableDBInstanceOption]? = nil) { + self.orderableDBInstanceOption = orderableDBInstanceOption + } + + private enum CodingKeys: String, CodingKey { + case orderableDBInstanceOption = "OrderableDBInstanceOption" + } + } + + public struct AddTagsToResourceMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Tags", required: true, type: .structure), + AWSShapeMember(label: "ResourceName", required: true, type: .string) + ] + /// The tags to be assigned to the Amazon Neptune resource. + public let tags: TagList + /// 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). + public let resourceName: String + + public init(tags: TagList, resourceName: String) { + self.tags = tags + self.resourceName = resourceName + } + + private enum CodingKeys: String, CodingKey { + case tags = "Tags" + case resourceName = "ResourceName" + } + } + + public struct DBClusterOptionGroupMemberships: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterOptionGroup", required: false, type: .list) + ] + public let dBClusterOptionGroup: [DBClusterOptionGroupStatus]? + + public init(dBClusterOptionGroup: [DBClusterOptionGroupStatus]? = nil) { + self.dBClusterOptionGroup = dBClusterOptionGroup + } + + private enum CodingKeys: String, CodingKey { + case dBClusterOptionGroup = "DBClusterOptionGroup" + } + } + + public struct PendingMaintenanceAction: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AutoAppliedAfterDate", required: false, type: .timestamp), + AWSShapeMember(label: "OptInStatus", required: false, type: .string), + AWSShapeMember(label: "Action", required: false, type: .string), + AWSShapeMember(label: "ForcedApplyDate", required: false, type: .timestamp), + AWSShapeMember(label: "CurrentApplyDate", required: false, type: .timestamp), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// 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. + public let autoAppliedAfterDate: TimeStamp? + /// Indicates the type of opt-in request that has been received for the resource. + public let optInStatus: String? + /// The type of pending maintenance action that is available for the resource. + public let action: String? + /// 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. + public let forcedApplyDate: TimeStamp? + /// 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. + public let currentApplyDate: TimeStamp? + /// A description providing more detail about the maintenance action. + public let description: String? + + public init(autoAppliedAfterDate: TimeStamp? = nil, optInStatus: String? = nil, action: String? = nil, forcedApplyDate: TimeStamp? = nil, currentApplyDate: TimeStamp? = nil, description: String? = nil) { + self.autoAppliedAfterDate = autoAppliedAfterDate + self.optInStatus = optInStatus + self.action = action + self.forcedApplyDate = forcedApplyDate + self.currentApplyDate = currentApplyDate + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case autoAppliedAfterDate = "AutoAppliedAfterDate" + case optInStatus = "OptInStatus" + case action = "Action" + case forcedApplyDate = "ForcedApplyDate" + case currentApplyDate = "CurrentApplyDate" + case description = "Description" + } + } + + public struct ModifyDBClusterSnapshotAttributeMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AttributeName", required: true, type: .string), + AWSShapeMember(label: "ValuesToAdd", required: false, type: .structure), + AWSShapeMember(label: "DBClusterSnapshotIdentifier", required: true, type: .string), + AWSShapeMember(label: "ValuesToRemove", required: false, type: .structure) + ] + /// 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. + public let attributeName: String + /// 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. + public let valuesToAdd: AttributeValueList? + /// The identifier for the DB cluster snapshot to modify the attributes for. + public let dBClusterSnapshotIdentifier: String + /// 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. + public let valuesToRemove: AttributeValueList? + + public init(attributeName: String, valuesToAdd: AttributeValueList? = nil, dBClusterSnapshotIdentifier: String, valuesToRemove: AttributeValueList? = nil) { + self.attributeName = attributeName + self.valuesToAdd = valuesToAdd + self.dBClusterSnapshotIdentifier = dBClusterSnapshotIdentifier + self.valuesToRemove = valuesToRemove + } + + private enum CodingKeys: String, CodingKey { + case attributeName = "AttributeName" + case valuesToAdd = "ValuesToAdd" + case dBClusterSnapshotIdentifier = "DBClusterSnapshotIdentifier" + case valuesToRemove = "ValuesToRemove" + } + } + + public struct DBClusterSnapshotAttributeList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterSnapshotAttribute", required: false, type: .list) + ] + public let dBClusterSnapshotAttribute: [DBClusterSnapshotAttribute]? + + public init(dBClusterSnapshotAttribute: [DBClusterSnapshotAttribute]? = nil) { + self.dBClusterSnapshotAttribute = dBClusterSnapshotAttribute + } + + private enum CodingKeys: String, CodingKey { + case dBClusterSnapshotAttribute = "DBClusterSnapshotAttribute" + } + } + + public struct DBEngineVersionList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBEngineVersion", required: false, type: .list) + ] + public let dBEngineVersion: [DBEngineVersion]? + + public init(dBEngineVersion: [DBEngineVersion]? = nil) { + self.dBEngineVersion = dBEngineVersion + } + + private enum CodingKeys: String, CodingKey { + case dBEngineVersion = "DBEngineVersion" + } + } + + public struct PendingMaintenanceActionDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PendingMaintenanceAction", required: false, type: .list) + ] + public let pendingMaintenanceAction: [PendingMaintenanceAction]? + + public init(pendingMaintenanceAction: [PendingMaintenanceAction]? = nil) { + self.pendingMaintenanceAction = pendingMaintenanceAction + } + + private enum CodingKeys: String, CodingKey { + case pendingMaintenanceAction = "PendingMaintenanceAction" + } + } + + public struct EventSubscriptionsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EventSubscriptionsList", required: false, type: .structure), + AWSShapeMember(label: "Marker", required: false, type: .string) + ] + /// A list of EventSubscriptions data types. + public let eventSubscriptionsList: EventSubscriptionsList? + /// 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. + public let marker: String? + + public init(eventSubscriptionsList: EventSubscriptionsList? = nil, marker: String? = nil) { + self.eventSubscriptionsList = eventSubscriptionsList + self.marker = marker + } + + private enum CodingKeys: String, CodingKey { + case eventSubscriptionsList = "EventSubscriptionsList" + case marker = "Marker" + } + } + + public struct DBClusterParameterGroupNameMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterParameterGroupName", required: false, type: .string) + ] + /// 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. + public let dBClusterParameterGroupName: String? + + public init(dBClusterParameterGroupName: String? = nil) { + self.dBClusterParameterGroupName = dBClusterParameterGroupName + } + + private enum CodingKeys: String, CodingKey { + case dBClusterParameterGroupName = "DBClusterParameterGroupName" + } + } + + public struct EventSubscriptionsList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EventSubscription", required: false, type: .list) + ] + public let eventSubscription: [EventSubscription]? + + public init(eventSubscription: [EventSubscription]? = nil) { + self.eventSubscription = eventSubscription + } + + private enum CodingKeys: String, CodingKey { + case eventSubscription = "EventSubscription" + } + } + + public struct ModifyDBClusterParameterGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Parameters", required: true, type: .structure), + AWSShapeMember(label: "DBClusterParameterGroupName", required: true, type: .string) + ] + /// A list of parameters in the DB cluster parameter group to modify. + public let parameters: ParametersList + /// The name of the DB cluster parameter group to modify. + public let dBClusterParameterGroupName: String + + public init(parameters: ParametersList, dBClusterParameterGroupName: String) { + self.parameters = parameters + self.dBClusterParameterGroupName = dBClusterParameterGroupName + } + + private enum CodingKeys: String, CodingKey { + case parameters = "Parameters" + case dBClusterParameterGroupName = "DBClusterParameterGroupName" + } + } + + public struct AddSourceIdentifierToSubscriptionMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SourceIdentifier", required: true, type: .string), + AWSShapeMember(label: "SubscriptionName", required: true, type: .string) + ] + /// 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. + public let sourceIdentifier: String + /// The name of the event notification subscription you want to add a source identifier to. + public let subscriptionName: String + + public init(sourceIdentifier: String, subscriptionName: String) { + self.sourceIdentifier = sourceIdentifier + self.subscriptionName = subscriptionName + } + + private enum CodingKeys: String, CodingKey { + case sourceIdentifier = "SourceIdentifier" + case subscriptionName = "SubscriptionName" + } + } + + public struct CreateEventSubscriptionResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EventSubscription", required: false, type: .structure) + ] + public let eventSubscription: EventSubscription? + + public init(eventSubscription: EventSubscription? = nil) { + self.eventSubscription = eventSubscription + } + + private enum CodingKeys: String, CodingKey { + case eventSubscription = "EventSubscription" + } + } + + public struct DBParameterGroupDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "Parameters", required: false, type: .structure) + ] + /// 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. + public let marker: String? + /// A list of Parameter values. + public let parameters: ParametersList? + + public init(marker: String? = nil, parameters: ParametersList? = nil) { + self.marker = marker + self.parameters = parameters + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case parameters = "Parameters" + } + } + + public struct VpcSecurityGroupMembership: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "VpcSecurityGroupId", required: false, type: .string) + ] + /// The status of the VPC security group. + public let status: String? + /// The name of the VPC security group. + public let vpcSecurityGroupId: String? + + public init(status: String? = nil, vpcSecurityGroupId: String? = nil) { + self.status = status + self.vpcSecurityGroupId = vpcSecurityGroupId + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case vpcSecurityGroupId = "VpcSecurityGroupId" + } + } + + public struct PendingMaintenanceActionsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "PendingMaintenanceActions", required: false, type: .structure) + ] + /// 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. + public let marker: String? + /// A list of the pending maintenance actions for the resource. + public let pendingMaintenanceActions: PendingMaintenanceActions? + + public init(marker: String? = nil, pendingMaintenanceActions: PendingMaintenanceActions? = nil) { + self.marker = marker + self.pendingMaintenanceActions = pendingMaintenanceActions + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case pendingMaintenanceActions = "PendingMaintenanceActions" + } + } + + public struct CopyDBClusterSnapshotResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterSnapshot", required: false, type: .structure) + ] + public let dBClusterSnapshot: DBClusterSnapshot? + + public init(dBClusterSnapshot: DBClusterSnapshot? = nil) { + self.dBClusterSnapshot = dBClusterSnapshot + } + + private enum CodingKeys: String, CodingKey { + case dBClusterSnapshot = "DBClusterSnapshot" + } + } + + public struct DBInstanceMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "DBInstances", required: false, type: .structure) + ] + /// 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 . + public let marker: String? + /// A list of DBInstance instances. + public let dBInstances: DBInstanceList? + + public init(marker: String? = nil, dBInstances: DBInstanceList? = nil) { + self.marker = marker + self.dBInstances = dBInstances + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case dBInstances = "DBInstances" + } + } + + public struct DescribeEngineDefaultParametersMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroupFamily", required: true, type: .string), + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "Marker", required: false, type: .string) + ] + /// The name of the DB parameter group family. + public let dBParameterGroupFamily: String + /// 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. + public let maxRecords: Int32? + /// Not currently supported. + public let filters: FilterList? + /// 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. + public let marker: String? + + public init(dBParameterGroupFamily: String, maxRecords: Int32? = nil, filters: FilterList? = nil, marker: String? = nil) { + self.dBParameterGroupFamily = dBParameterGroupFamily + self.maxRecords = maxRecords + self.filters = filters + self.marker = marker + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroupFamily = "DBParameterGroupFamily" + case maxRecords = "MaxRecords" + case filters = "Filters" + case marker = "Marker" + } + } + + public struct EventCategoriesList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EventCategory", required: false, type: .list) + ] + public let eventCategory: [String]? + + public init(eventCategory: [String]? = nil) { + self.eventCategory = eventCategory + } + + private enum CodingKeys: String, CodingKey { + case eventCategory = "EventCategory" + } + } + + public struct DeleteDBInstanceResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBInstance", required: false, type: .structure) + ] + public let dBInstance: DBInstance? + + public init(dBInstance: DBInstance? = nil) { + self.dBInstance = dBInstance + } + + private enum CodingKeys: String, CodingKey { + case dBInstance = "DBInstance" + } + } + + public struct OrderableDBInstanceOption: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SupportsIops", required: false, type: .boolean), + AWSShapeMember(label: "AvailabilityZones", required: false, type: .structure), + AWSShapeMember(label: "MinIopsPerGib", required: false, type: .double), + AWSShapeMember(label: "MaxIopsPerGib", required: false, type: .double), + AWSShapeMember(label: "LicenseModel", required: false, type: .string), + AWSShapeMember(label: "StorageType", required: false, type: .string), + AWSShapeMember(label: "MinIopsPerDbInstance", required: false, type: .integer), + AWSShapeMember(label: "MinStorageSize", required: false, type: .integer), + AWSShapeMember(label: "SupportsIAMDatabaseAuthentication", required: false, type: .boolean), + AWSShapeMember(label: "SupportsStorageEncryption", required: false, type: .boolean), + AWSShapeMember(label: "MultiAZCapable", required: false, type: .boolean), + AWSShapeMember(label: "ReadReplicaCapable", required: false, type: .boolean), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "MaxStorageSize", required: false, type: .integer), + AWSShapeMember(label: "SupportsEnhancedMonitoring", required: false, type: .boolean), + AWSShapeMember(label: "Engine", required: false, type: .string), + AWSShapeMember(label: "SupportsPerformanceInsights", required: false, type: .boolean), + AWSShapeMember(label: "Vpc", required: false, type: .boolean), + AWSShapeMember(label: "DBInstanceClass", required: false, type: .string), + AWSShapeMember(label: "MaxIopsPerDbInstance", required: false, type: .integer) + ] + /// Indicates whether a DB instance supports provisioned IOPS. + public let supportsIops: Bool? + /// A list of Availability Zones for a DB instance. + public let availabilityZones: AvailabilityZoneList? + /// Minimum provisioned IOPS per GiB for a DB instance. + public let minIopsPerGib: Double? + /// Maximum provisioned IOPS per GiB for a DB instance. + public let maxIopsPerGib: Double? + /// The license model for a DB instance. + public let licenseModel: String? + /// Indicates the storage type for a DB instance. + public let storageType: String? + /// Minimum total provisioned IOPS for a DB instance. + public let minIopsPerDbInstance: Int32? + /// Minimum storage size for a DB instance. + public let minStorageSize: Int32? + /// Indicates whether a DB instance supports IAM database authentication. + public let supportsIAMDatabaseAuthentication: Bool? + /// Indicates whether a DB instance supports encrypted storage. + public let supportsStorageEncryption: Bool? + /// Indicates whether a DB instance is Multi-AZ capable. + public let multiAZCapable: Bool? + /// Indicates whether a DB instance can have a Read Replica. + public let readReplicaCapable: Bool? + /// The engine version of a DB instance. + public let engineVersion: String? + /// Maximum storage size for a DB instance. + public let maxStorageSize: Int32? + /// Indicates whether a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds. + public let supportsEnhancedMonitoring: Bool? + /// The engine type of a DB instance. + public let engine: String? + /// True if a DB instance supports Performance Insights, otherwise false. + public let supportsPerformanceInsights: Bool? + /// Indicates whether a DB instance is in a VPC. + public let vpc: Bool? + /// The DB instance class for a DB instance. + public let dBInstanceClass: String? + /// Maximum total provisioned IOPS for a DB instance. + public let maxIopsPerDbInstance: Int32? + + public init(supportsIops: Bool? = nil, availabilityZones: AvailabilityZoneList? = nil, minIopsPerGib: Double? = nil, maxIopsPerGib: Double? = nil, licenseModel: String? = nil, storageType: String? = nil, minIopsPerDbInstance: Int32? = nil, minStorageSize: Int32? = nil, supportsIAMDatabaseAuthentication: Bool? = nil, supportsStorageEncryption: Bool? = nil, multiAZCapable: Bool? = nil, readReplicaCapable: Bool? = nil, engineVersion: String? = nil, maxStorageSize: Int32? = nil, supportsEnhancedMonitoring: Bool? = nil, engine: String? = nil, supportsPerformanceInsights: Bool? = nil, vpc: Bool? = nil, dBInstanceClass: String? = nil, maxIopsPerDbInstance: Int32? = nil) { + self.supportsIops = supportsIops + self.availabilityZones = availabilityZones + self.minIopsPerGib = minIopsPerGib + self.maxIopsPerGib = maxIopsPerGib + self.licenseModel = licenseModel + self.storageType = storageType + self.minIopsPerDbInstance = minIopsPerDbInstance + self.minStorageSize = minStorageSize + self.supportsIAMDatabaseAuthentication = supportsIAMDatabaseAuthentication + self.supportsStorageEncryption = supportsStorageEncryption + self.multiAZCapable = multiAZCapable + self.readReplicaCapable = readReplicaCapable + self.engineVersion = engineVersion + self.maxStorageSize = maxStorageSize + self.supportsEnhancedMonitoring = supportsEnhancedMonitoring + self.engine = engine + self.supportsPerformanceInsights = supportsPerformanceInsights + self.vpc = vpc + self.dBInstanceClass = dBInstanceClass + self.maxIopsPerDbInstance = maxIopsPerDbInstance + } + + private enum CodingKeys: String, CodingKey { + case supportsIops = "SupportsIops" + case availabilityZones = "AvailabilityZones" + case minIopsPerGib = "MinIopsPerGib" + case maxIopsPerGib = "MaxIopsPerGib" + case licenseModel = "LicenseModel" + case storageType = "StorageType" + case minIopsPerDbInstance = "MinIopsPerDbInstance" + case minStorageSize = "MinStorageSize" + case supportsIAMDatabaseAuthentication = "SupportsIAMDatabaseAuthentication" + case supportsStorageEncryption = "SupportsStorageEncryption" + case multiAZCapable = "MultiAZCapable" + case readReplicaCapable = "ReadReplicaCapable" + case engineVersion = "EngineVersion" + case maxStorageSize = "MaxStorageSize" + case supportsEnhancedMonitoring = "SupportsEnhancedMonitoring" + case engine = "Engine" + case supportsPerformanceInsights = "SupportsPerformanceInsights" + case vpc = "Vpc" + case dBInstanceClass = "DBInstanceClass" + case maxIopsPerDbInstance = "MaxIopsPerDbInstance" + } + } + + public struct CopyDBParameterGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TargetDBParameterGroupIdentifier", required: true, type: .string), + AWSShapeMember(label: "SourceDBParameterGroupIdentifier", required: true, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "TargetDBParameterGroupDescription", required: true, type: .string) + ] + /// 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 + public let targetDBParameterGroupIdentifier: String + /// 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. + public let sourceDBParameterGroupIdentifier: String + public let tags: TagList? + /// A description for the copied DB parameter group. + public let targetDBParameterGroupDescription: String + + public init(targetDBParameterGroupIdentifier: String, sourceDBParameterGroupIdentifier: String, tags: TagList? = nil, targetDBParameterGroupDescription: String) { + self.targetDBParameterGroupIdentifier = targetDBParameterGroupIdentifier + self.sourceDBParameterGroupIdentifier = sourceDBParameterGroupIdentifier + self.tags = tags + self.targetDBParameterGroupDescription = targetDBParameterGroupDescription + } + + private enum CodingKeys: String, CodingKey { + case targetDBParameterGroupIdentifier = "TargetDBParameterGroupIdentifier" + case sourceDBParameterGroupIdentifier = "SourceDBParameterGroupIdentifier" + case tags = "Tags" + case targetDBParameterGroupDescription = "TargetDBParameterGroupDescription" + } + } + + public struct EngineDefaults: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroupFamily", required: false, type: .string), + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "Parameters", required: false, type: .structure) + ] + /// Specifies the name of the DB parameter group family that the engine default parameters apply to. + public let dBParameterGroupFamily: String? + /// 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 . + public let marker: String? + /// Contains a list of engine default parameters. + public let parameters: ParametersList? + + public init(dBParameterGroupFamily: String? = nil, marker: String? = nil, parameters: ParametersList? = nil) { + self.dBParameterGroupFamily = dBParameterGroupFamily + self.marker = marker + self.parameters = parameters + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroupFamily = "DBParameterGroupFamily" + case marker = "Marker" + case parameters = "Parameters" + } + } + + public struct DeleteDBClusterMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FinalDBSnapshotIdentifier", required: false, type: .string), + AWSShapeMember(label: "SkipFinalSnapshot", required: false, type: .boolean), + AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string) + ] + /// 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 + public let finalDBSnapshotIdentifier: String? + /// 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 + public let skipFinalSnapshot: Bool? + /// The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case-sensitive. Constraints: Must match an existing DBClusterIdentifier. + public let dBClusterIdentifier: String + + public init(finalDBSnapshotIdentifier: String? = nil, skipFinalSnapshot: Bool? = nil, dBClusterIdentifier: String) { + self.finalDBSnapshotIdentifier = finalDBSnapshotIdentifier + self.skipFinalSnapshot = skipFinalSnapshot + self.dBClusterIdentifier = dBClusterIdentifier + } + + private enum CodingKeys: String, CodingKey { + case finalDBSnapshotIdentifier = "FinalDBSnapshotIdentifier" + case skipFinalSnapshot = "SkipFinalSnapshot" + case dBClusterIdentifier = "DBClusterIdentifier" + } + } + + public struct DescribeDBClustersMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "DBClusterIdentifier", required: false, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "Marker", required: false, type: .string) + ] + /// 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. + public let maxRecords: Int32? + /// 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. + public let dBClusterIdentifier: String? + /// 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. + public let filters: FilterList? + /// 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. + public let marker: String? + + public init(maxRecords: Int32? = nil, dBClusterIdentifier: String? = nil, filters: FilterList? = nil, marker: String? = nil) { + self.maxRecords = maxRecords + self.dBClusterIdentifier = dBClusterIdentifier + self.filters = filters + self.marker = marker + } + + private enum CodingKeys: String, CodingKey { + case maxRecords = "MaxRecords" + case dBClusterIdentifier = "DBClusterIdentifier" + case filters = "Filters" + case marker = "Marker" + } + } + + public struct FilterValueList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: false, type: .list) + ] + public let value: [String]? + + public init(value: [String]? = nil) { + self.value = value + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + } + } + + public struct DeleteEventSubscriptionResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EventSubscription", required: false, type: .structure) + ] + public let eventSubscription: EventSubscription? + + public init(eventSubscription: EventSubscription? = nil) { + self.eventSubscription = eventSubscription + } + + private enum CodingKeys: String, CodingKey { + case eventSubscription = "EventSubscription" + } + } + + public struct CreateDBParameterGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroupFamily", required: true, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "DBParameterGroupName", required: true, type: .string), + AWSShapeMember(label: "Description", required: true, type: .string) + ] + /// 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. + public let dBParameterGroupFamily: String + public let tags: TagList? + /// 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. + public let dBParameterGroupName: String + /// The description for the DB parameter group. + public let description: String + + public init(dBParameterGroupFamily: String, tags: TagList? = nil, dBParameterGroupName: String, description: String) { + self.dBParameterGroupFamily = dBParameterGroupFamily + self.tags = tags + self.dBParameterGroupName = dBParameterGroupName + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroupFamily = "DBParameterGroupFamily" + case tags = "Tags" + case dBParameterGroupName = "DBParameterGroupName" + case description = "Description" + } + } + + public struct CopyDBParameterGroupResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroup", required: false, type: .structure) + ] + public let dBParameterGroup: DBParameterGroup? + + public init(dBParameterGroup: DBParameterGroup? = nil) { + self.dBParameterGroup = dBParameterGroup + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroup = "DBParameterGroup" + } + } + + public struct EventSubscription: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "SnsTopicArn", required: false, type: .string), + AWSShapeMember(label: "SourceIdsList", required: false, type: .structure), + AWSShapeMember(label: "SourceType", required: false, type: .string), + AWSShapeMember(label: "CustSubscriptionId", required: false, type: .string), + AWSShapeMember(label: "Enabled", required: false, type: .boolean), + AWSShapeMember(label: "EventSubscriptionArn", required: false, type: .string), + AWSShapeMember(label: "CustomerAwsId", required: false, type: .string), + AWSShapeMember(label: "EventCategoriesList", required: false, type: .structure), + AWSShapeMember(label: "SubscriptionCreationTime", required: false, type: .string) + ] + /// 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. + public let status: String? + /// The topic ARN of the event notification subscription. + public let snsTopicArn: String? + /// A list of source IDs for the event notification subscription. + public let sourceIdsList: SourceIdsList? + /// The source type for the event notification subscription. + public let sourceType: String? + /// The event notification subscription Id. + public let custSubscriptionId: String? + /// A Boolean value indicating if the subscription is enabled. True indicates the subscription is enabled. + public let enabled: Bool? + /// The Amazon Resource Name (ARN) for the event subscription. + public let eventSubscriptionArn: String? + /// The AWS customer account associated with the event notification subscription. + public let customerAwsId: String? + /// A list of event categories for the event notification subscription. + public let eventCategoriesList: EventCategoriesList? + /// The time the event notification subscription was created. + public let subscriptionCreationTime: String? + + public init(status: String? = nil, snsTopicArn: String? = nil, sourceIdsList: SourceIdsList? = nil, sourceType: String? = nil, custSubscriptionId: String? = nil, enabled: Bool? = nil, eventSubscriptionArn: String? = nil, customerAwsId: String? = nil, eventCategoriesList: EventCategoriesList? = nil, subscriptionCreationTime: String? = nil) { + self.status = status + self.snsTopicArn = snsTopicArn + self.sourceIdsList = sourceIdsList + self.sourceType = sourceType + self.custSubscriptionId = custSubscriptionId + self.enabled = enabled + self.eventSubscriptionArn = eventSubscriptionArn + self.customerAwsId = customerAwsId + self.eventCategoriesList = eventCategoriesList + self.subscriptionCreationTime = subscriptionCreationTime + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case snsTopicArn = "SnsTopicArn" + case sourceIdsList = "SourceIdsList" + case sourceType = "SourceType" + case custSubscriptionId = "CustSubscriptionId" + case enabled = "Enabled" + case eventSubscriptionArn = "EventSubscriptionArn" + case customerAwsId = "CustomerAwsId" + case eventCategoriesList = "EventCategoriesList" + case subscriptionCreationTime = "SubscriptionCreationTime" + } + } + + public struct CreateDBInstanceMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBName", required: false, type: .string), + AWSShapeMember(label: "TdeCredentialPassword", required: false, type: .string), + AWSShapeMember(label: "EnablePerformanceInsights", required: false, type: .boolean), + AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), + AWSShapeMember(label: "Iops", required: false, type: .integer), + AWSShapeMember(label: "DBSecurityGroups", required: false, type: .structure), + AWSShapeMember(label: "CharacterSetName", required: false, type: .string), + AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), + AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), + AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), + AWSShapeMember(label: "PerformanceInsightsKMSKeyId", required: false, type: .string), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), + AWSShapeMember(label: "PromotionTier", required: false, type: .integer), + AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), + AWSShapeMember(label: "DomainIAMRoleName", required: false, type: .string), + AWSShapeMember(label: "CopyTagsToSnapshot", required: false, type: .boolean), + AWSShapeMember(label: "DBClusterIdentifier", required: false, type: .string), + AWSShapeMember(label: "DBInstanceClass", required: true, type: .string), + AWSShapeMember(label: "Domain", required: false, type: .string), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string), + AWSShapeMember(label: "MultiAZ", required: false, type: .boolean), + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "Timezone", required: false, type: .string), + AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), + AWSShapeMember(label: "AllocatedStorage", required: false, type: .integer), + AWSShapeMember(label: "StorageType", required: false, type: .string), + AWSShapeMember(label: "LicenseModel", required: false, type: .string), + AWSShapeMember(label: "TdeCredentialArn", required: false, type: .string), + AWSShapeMember(label: "DBParameterGroupName", required: false, type: .string), + AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), + AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), + AWSShapeMember(label: "EnableCloudwatchLogsExports", required: false, type: .list), + AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), + AWSShapeMember(label: "OptionGroupName", required: false, type: .string), + AWSShapeMember(label: "MasterUsername", required: false, type: .string), + AWSShapeMember(label: "MonitoringRoleArn", required: false, type: .string), + AWSShapeMember(label: "Engine", required: true, type: .string), + AWSShapeMember(label: "MonitoringInterval", required: false, type: .integer), + AWSShapeMember(label: "StorageEncrypted", required: false, type: .boolean), + AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string) + ] + /// The database name. Type: String + public let dBName: String? + /// The password for the given ARN from the key store in order to access the device. + public let tdeCredentialPassword: String? + /// True to enable Performance Insights for the DB instance, and otherwise false. + public let enablePerformanceInsights: Bool? + /// The password for the master user. The password can include any printable ASCII character except "/", """, or "@". Not used. + public let masterUserPassword: String? + /// The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance. + public let iops: Int32? + /// A list of DB security groups to associate with this DB instance. Default: The default DB security group for the database engine. + public let dBSecurityGroups: DBSecurityGroupNameList? + /// 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. + public let characterSetName: String? + /// 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. + public let availabilityZone: String? + /// Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window. Default: true + public let autoMinorVersionUpgrade: Bool? + /// 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 + public let backupRetentionPeriod: Int32? + /// 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. + public let performanceInsightsKMSKeyId: String? + /// The version number of the database engine to use. + public let engineVersion: String? + /// True to enable AWS Identity and Access Management (IAM) authentication for Neptune. Default: false + public let enableIAMDatabaseAuthentication: Bool? + /// 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 + public let promotionTier: Int32? + /// 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. + public let preferredMaintenanceWindow: String? + /// Specify the name of the IAM role to be used when making API calls to the Directory Service. + public let domainIAMRoleName: String? + /// True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false. + public let copyTagsToSnapshot: Bool? + /// The identifier of the DB cluster that the instance will belong to. For information on creating a DB cluster, see CreateDBCluster. Type: String + public let dBClusterIdentifier: String? + /// 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. + public let dBInstanceClass: String + /// Specify the Active Directory Domain to create the instance in. + public let domain: String? + /// 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. + public let kmsKeyId: String? + /// 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. + public let multiAZ: Bool? + public let tags: TagList? + /// The time zone of the DB instance. + public let timezone: String? + /// 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. + public let vpcSecurityGroupIds: VpcSecurityGroupIdList? + /// 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. + public let allocatedStorage: Int32? + /// Specifies the storage type to be associated with the DB instance. Not applicable. Storage is managed by the DB Cluster. + public let storageType: String? + /// License model information for this DB instance. Valid values: license-included | bring-your-own-license | general-public-license + public let licenseModel: String? + /// The ARN from the key store with which to associate the instance for TDE encryption. + public let tdeCredentialArn: String? + /// 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 + public let dBParameterGroupName: String? + /// This parameter is not supported. + public let publiclyAccessible: Bool? + /// 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. + public let preferredBackupWindow: String? + /// The list of log types that need to be enabled for exporting to CloudWatch Logs. + public let enableCloudwatchLogsExports: [String]? + /// 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. + public let dBSubnetGroupName: String? + /// 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 + public let optionGroupName: String? + /// The name for the master user. Not used. + public let masterUsername: String? + /// 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. + public let monitoringRoleArn: String? + /// The name of the database engine to be used for this instance. Valid Values: neptune + public let engine: String + /// 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 + public let monitoringInterval: Int32? + /// 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 + public let storageEncrypted: Bool? + /// 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 + public let port: Int32? + /// 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 + public let dBInstanceIdentifier: String + + public init(dBName: String? = nil, tdeCredentialPassword: String? = nil, enablePerformanceInsights: Bool? = nil, masterUserPassword: String? = nil, iops: Int32? = nil, dBSecurityGroups: DBSecurityGroupNameList? = nil, characterSetName: String? = nil, availabilityZone: String? = nil, autoMinorVersionUpgrade: Bool? = nil, backupRetentionPeriod: Int32? = nil, performanceInsightsKMSKeyId: String? = nil, engineVersion: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, promotionTier: Int32? = nil, preferredMaintenanceWindow: String? = nil, domainIAMRoleName: String? = nil, copyTagsToSnapshot: Bool? = nil, dBClusterIdentifier: String? = nil, dBInstanceClass: String, domain: String? = nil, kmsKeyId: String? = nil, multiAZ: Bool? = nil, tags: TagList? = nil, timezone: String? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, allocatedStorage: Int32? = nil, storageType: String? = nil, licenseModel: String? = nil, tdeCredentialArn: String? = nil, dBParameterGroupName: String? = nil, publiclyAccessible: Bool? = nil, preferredBackupWindow: String? = nil, enableCloudwatchLogsExports: [String]? = nil, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, masterUsername: String? = nil, monitoringRoleArn: String? = nil, engine: String, monitoringInterval: Int32? = nil, storageEncrypted: Bool? = nil, port: Int32? = nil, dBInstanceIdentifier: String) { + self.dBName = dBName + self.tdeCredentialPassword = tdeCredentialPassword + self.enablePerformanceInsights = enablePerformanceInsights + self.masterUserPassword = masterUserPassword + self.iops = iops + self.dBSecurityGroups = dBSecurityGroups + self.characterSetName = characterSetName + self.availabilityZone = availabilityZone + self.autoMinorVersionUpgrade = autoMinorVersionUpgrade + self.backupRetentionPeriod = backupRetentionPeriod + self.performanceInsightsKMSKeyId = performanceInsightsKMSKeyId + self.engineVersion = engineVersion + self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication + self.promotionTier = promotionTier + self.preferredMaintenanceWindow = preferredMaintenanceWindow + self.domainIAMRoleName = domainIAMRoleName + self.copyTagsToSnapshot = copyTagsToSnapshot + self.dBClusterIdentifier = dBClusterIdentifier + self.dBInstanceClass = dBInstanceClass + self.domain = domain + self.kmsKeyId = kmsKeyId + self.multiAZ = multiAZ + self.tags = tags + self.timezone = timezone + self.vpcSecurityGroupIds = vpcSecurityGroupIds + self.allocatedStorage = allocatedStorage + self.storageType = storageType + self.licenseModel = licenseModel + self.tdeCredentialArn = tdeCredentialArn + self.dBParameterGroupName = dBParameterGroupName + self.publiclyAccessible = publiclyAccessible + self.preferredBackupWindow = preferredBackupWindow + self.enableCloudwatchLogsExports = enableCloudwatchLogsExports + self.dBSubnetGroupName = dBSubnetGroupName + self.optionGroupName = optionGroupName + self.masterUsername = masterUsername + self.monitoringRoleArn = monitoringRoleArn + self.engine = engine + self.monitoringInterval = monitoringInterval + self.storageEncrypted = storageEncrypted + self.port = port + self.dBInstanceIdentifier = dBInstanceIdentifier + } + + private enum CodingKeys: String, CodingKey { + case dBName = "DBName" + case tdeCredentialPassword = "TdeCredentialPassword" + case enablePerformanceInsights = "EnablePerformanceInsights" + case masterUserPassword = "MasterUserPassword" + case iops = "Iops" + case dBSecurityGroups = "DBSecurityGroups" + case characterSetName = "CharacterSetName" + case availabilityZone = "AvailabilityZone" + case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" + case backupRetentionPeriod = "BackupRetentionPeriod" + case performanceInsightsKMSKeyId = "PerformanceInsightsKMSKeyId" + case engineVersion = "EngineVersion" + case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" + case promotionTier = "PromotionTier" + case preferredMaintenanceWindow = "PreferredMaintenanceWindow" + case domainIAMRoleName = "DomainIAMRoleName" + case copyTagsToSnapshot = "CopyTagsToSnapshot" + case dBClusterIdentifier = "DBClusterIdentifier" + case dBInstanceClass = "DBInstanceClass" + case domain = "Domain" + case kmsKeyId = "KmsKeyId" + case multiAZ = "MultiAZ" + case tags = "Tags" + case timezone = "Timezone" + case vpcSecurityGroupIds = "VpcSecurityGroupIds" + case allocatedStorage = "AllocatedStorage" + case storageType = "StorageType" + case licenseModel = "LicenseModel" + case tdeCredentialArn = "TdeCredentialArn" + case dBParameterGroupName = "DBParameterGroupName" + case publiclyAccessible = "PubliclyAccessible" + case preferredBackupWindow = "PreferredBackupWindow" + case enableCloudwatchLogsExports = "EnableCloudwatchLogsExports" + case dBSubnetGroupName = "DBSubnetGroupName" + case optionGroupName = "OptionGroupName" + case masterUsername = "MasterUsername" + case monitoringRoleArn = "MonitoringRoleArn" + case engine = "Engine" + case monitoringInterval = "MonitoringInterval" + case storageEncrypted = "StorageEncrypted" + case port = "Port" + case dBInstanceIdentifier = "DBInstanceIdentifier" + } + } + + public struct VpcSecurityGroupMembershipList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VpcSecurityGroupMembership", required: false, type: .list) + ] + public let vpcSecurityGroupMembership: [VpcSecurityGroupMembership]? + + public init(vpcSecurityGroupMembership: [VpcSecurityGroupMembership]? = nil) { + self.vpcSecurityGroupMembership = vpcSecurityGroupMembership + } + + private enum CodingKeys: String, CodingKey { + case vpcSecurityGroupMembership = "VpcSecurityGroupMembership" + } + } + + public struct DBClusterRole: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoleArn", required: false, type: .string), + AWSShapeMember(label: "Status", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster. + public let roleArn: String? + /// 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. + public let status: String? + + public init(roleArn: String? = nil, status: String? = nil) { + self.roleArn = roleArn + self.status = status + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "RoleArn" + case status = "Status" + } + } + + public struct ApplyPendingMaintenanceActionMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceIdentifier", required: true, type: .string), + AWSShapeMember(label: "OptInType", required: true, type: .string), + AWSShapeMember(label: "ApplyAction", required: true, type: .string) + ] + /// 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). + public let resourceIdentifier: String + /// 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. + public let optInType: String + /// The pending maintenance action to apply to this resource. Valid values: system-update, db-upgrade + public let applyAction: String + + public init(resourceIdentifier: String, optInType: String, applyAction: String) { + self.resourceIdentifier = resourceIdentifier + self.optInType = optInType + self.applyAction = applyAction + } + + private enum CodingKeys: String, CodingKey { + case resourceIdentifier = "ResourceIdentifier" + case optInType = "OptInType" + case applyAction = "ApplyAction" + } + } + + public struct TagList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Tag", required: false, type: .list) + ] + public let tag: [Tag]? + + public init(tag: [Tag]? = nil) { + self.tag = tag + } + + private enum CodingKeys: String, CodingKey { + case tag = "Tag" + } + } + + public struct CreateDBClusterParameterGroupResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterParameterGroup", required: false, type: .structure) + ] + public let dBClusterParameterGroup: DBClusterParameterGroup? + + public init(dBClusterParameterGroup: DBClusterParameterGroup? = nil) { + self.dBClusterParameterGroup = dBClusterParameterGroup + } + + private enum CodingKeys: String, CodingKey { + case dBClusterParameterGroup = "DBClusterParameterGroup" + } + } + + public struct RestoreDBClusterToPointInTimeMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "KmsKeyId", required: false, type: .string), + AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string), + AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), + AWSShapeMember(label: "OptionGroupName", required: false, type: .string), + AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), + AWSShapeMember(label: "RestoreToTime", required: false, type: .timestamp), + AWSShapeMember(label: "UseLatestRestorableTime", required: false, type: .boolean), + AWSShapeMember(label: "RestoreType", required: false, type: .string), + AWSShapeMember(label: "SourceDBClusterIdentifier", required: true, type: .string), + AWSShapeMember(label: "Port", required: false, type: .integer) + ] + /// 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. + public let kmsKeyId: String? + /// 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 + public let dBClusterIdentifier: String + /// 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 + public let dBSubnetGroupName: String? + /// The name of the option group for the new DB cluster. + public let optionGroupName: String? + /// True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false. Default: false + public let enableIAMDatabaseAuthentication: Bool? + public let tags: TagList? + /// A list of VPC security groups that the new DB cluster belongs to. + public let vpcSecurityGroupIds: VpcSecurityGroupIdList? + /// 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 + public let restoreToTime: TimeStamp? + /// 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. + public let useLatestRestorableTime: Bool? + /// 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. + public let restoreType: String? + /// The identifier of the source DB cluster from which to restore. Constraints: Must match the identifier of an existing DBCluster. + public let sourceDBClusterIdentifier: String + /// 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. + public let port: Int32? + + public init(kmsKeyId: String? = nil, dBClusterIdentifier: String, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, tags: TagList? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, restoreToTime: TimeStamp? = nil, useLatestRestorableTime: Bool? = nil, restoreType: String? = nil, sourceDBClusterIdentifier: String, port: Int32? = nil) { + self.kmsKeyId = kmsKeyId + self.dBClusterIdentifier = dBClusterIdentifier + self.dBSubnetGroupName = dBSubnetGroupName + self.optionGroupName = optionGroupName + self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication + self.tags = tags + self.vpcSecurityGroupIds = vpcSecurityGroupIds + self.restoreToTime = restoreToTime + self.useLatestRestorableTime = useLatestRestorableTime + self.restoreType = restoreType + self.sourceDBClusterIdentifier = sourceDBClusterIdentifier + self.port = port + } + + private enum CodingKeys: String, CodingKey { + case kmsKeyId = "KmsKeyId" + case dBClusterIdentifier = "DBClusterIdentifier" + case dBSubnetGroupName = "DBSubnetGroupName" + case optionGroupName = "OptionGroupName" + case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" + case tags = "Tags" + case vpcSecurityGroupIds = "VpcSecurityGroupIds" + case restoreToTime = "RestoreToTime" + case useLatestRestorableTime = "UseLatestRestorableTime" + case restoreType = "RestoreType" + case sourceDBClusterIdentifier = "SourceDBClusterIdentifier" + case port = "Port" + } + } + + public struct DescribeEventCategoriesMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SourceType", required: false, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .structure) + ] + /// The type of source that is generating the events. Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot + public let sourceType: String? + /// This parameter is not currently supported. + public let filters: FilterList? + + public init(sourceType: String? = nil, filters: FilterList? = nil) { + self.sourceType = sourceType + self.filters = filters + } + + private enum CodingKeys: String, CodingKey { + case sourceType = "SourceType" + case filters = "Filters" + } + } + + public struct AvailabilityZoneList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AvailabilityZone", required: false, type: .list) + ] + public let availabilityZone: [AvailabilityZone]? + + public init(availabilityZone: [AvailabilityZone]? = nil) { + self.availabilityZone = availabilityZone + } + + private enum CodingKeys: String, CodingKey { + case availabilityZone = "AvailabilityZone" + } + } + + public struct DBCluster: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterArn", required: false, type: .string), + AWSShapeMember(label: "VpcSecurityGroups", required: false, type: .structure), + AWSShapeMember(label: "ReadReplicaIdentifiers", required: false, type: .structure), + AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), + AWSShapeMember(label: "HostedZoneId", required: false, type: .string), + AWSShapeMember(label: "CharacterSetName", required: false, type: .string), + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "LatestRestorableTime", required: false, type: .timestamp), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "DBClusterIdentifier", required: false, type: .string), + AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), + AWSShapeMember(label: "DBClusterParameterGroup", required: false, type: .string), + AWSShapeMember(label: "ReplicationSourceIdentifier", required: false, type: .string), + AWSShapeMember(label: "PercentProgress", required: false, type: .string), + AWSShapeMember(label: "ReaderEndpoint", required: false, type: .string), + AWSShapeMember(label: "DbClusterResourceId", required: false, type: .string), + AWSShapeMember(label: "Endpoint", required: false, type: .string), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string), + AWSShapeMember(label: "AvailabilityZones", required: false, type: .structure), + AWSShapeMember(label: "DBClusterOptionGroupMemberships", required: false, type: .structure), + AWSShapeMember(label: "MultiAZ", required: false, type: .boolean), + AWSShapeMember(label: "DBClusterMembers", required: false, type: .structure), + AWSShapeMember(label: "AllocatedStorage", required: false, type: .integer), + AWSShapeMember(label: "EarliestRestorableTime", required: false, type: .timestamp), + AWSShapeMember(label: "ClusterCreateTime", required: false, type: .timestamp), + AWSShapeMember(label: "CloneGroupId", required: false, type: .string), + AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), + AWSShapeMember(label: "IAMDatabaseAuthenticationEnabled", required: false, type: .boolean), + AWSShapeMember(label: "MasterUsername", required: false, type: .string), + AWSShapeMember(label: "DatabaseName", required: false, type: .string), + AWSShapeMember(label: "Engine", required: false, type: .string), + AWSShapeMember(label: "DBSubnetGroup", required: false, type: .string), + AWSShapeMember(label: "StorageEncrypted", required: false, type: .boolean), + AWSShapeMember(label: "AssociatedRoles", required: false, type: .structure), + AWSShapeMember(label: "Port", required: false, type: .integer) + ] + /// The Amazon Resource Name (ARN) for the DB cluster. + public let dBClusterArn: String? + /// Provides a list of VPC security groups that the DB cluster belongs to. + public let vpcSecurityGroups: VpcSecurityGroupMembershipList? + /// Contains one or more identifiers of the Read Replicas associated with this DB cluster. + public let readReplicaIdentifiers: ReadReplicaIdentifierList? + /// Specifies the number of days for which automatic DB snapshots are retained. + public let backupRetentionPeriod: Int32? + /// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + public let hostedZoneId: String? + /// If present, specifies the name of the character set that this cluster is associated with. + public let characterSetName: String? + /// Specifies the current state of this DB cluster. + public let status: String? + /// Specifies the latest time to which a database can be restored with point-in-time restore. + public let latestRestorableTime: TimeStamp? + /// Indicates the database engine version. + public let engineVersion: String? + /// Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster. + public let dBClusterIdentifier: String? + /// Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). + public let preferredMaintenanceWindow: String? + /// Specifies the name of the DB cluster parameter group for the DB cluster. + public let dBClusterParameterGroup: String? + /// Contains the identifier of the source DB cluster if this DB cluster is a Read Replica. + public let replicationSourceIdentifier: String? + /// Specifies the progress of the operation as a percentage. + public let percentProgress: String? + /// 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. + public let readerEndpoint: String? + /// 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. + public let dbClusterResourceId: String? + /// Specifies the connection endpoint for the primary instance of the DB cluster. + public let endpoint: String? + /// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster. + public let kmsKeyId: String? + /// Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in. + public let availabilityZones: AvailabilityZones? + /// Provides the list of option group memberships for this DB cluster. + public let dBClusterOptionGroupMemberships: DBClusterOptionGroupMemberships? + /// Specifies whether the DB cluster has instances in multiple Availability Zones. + public let multiAZ: Bool? + /// Provides the list of instances that make up the DB cluster. + public let dBClusterMembers: DBClusterMemberList? + /// AllocatedStorage always returns 1, because Neptune DB cluster storage size is not fixed, but instead automatically adjusts as needed. + public let allocatedStorage: Int32? + /// Specifies the earliest time to which a database can be restored with point-in-time restore. + public let earliestRestorableTime: TimeStamp? + /// Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC). + public let clusterCreateTime: TimeStamp? + /// Identifies the clone group to which the DB cluster is associated. + public let cloneGroupId: String? + /// Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod. + public let preferredBackupWindow: String? + /// True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false. + public let iAMDatabaseAuthenticationEnabled: Bool? + /// Contains the master username for the DB cluster. + public let masterUsername: String? + /// 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. + public let databaseName: String? + /// Provides the name of the database engine to be used for this DB cluster. + public let engine: String? + /// Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group. + public let dBSubnetGroup: String? + /// Specifies whether the DB cluster is encrypted. + public let storageEncrypted: Bool? + /// 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. + public let associatedRoles: DBClusterRoles? + /// Specifies the port that the database engine is listening on. + public let port: Int32? + + public init(dBClusterArn: String? = nil, vpcSecurityGroups: VpcSecurityGroupMembershipList? = nil, readReplicaIdentifiers: ReadReplicaIdentifierList? = nil, backupRetentionPeriod: Int32? = nil, hostedZoneId: String? = nil, characterSetName: String? = nil, status: String? = nil, latestRestorableTime: TimeStamp? = nil, engineVersion: String? = nil, dBClusterIdentifier: String? = nil, preferredMaintenanceWindow: String? = nil, dBClusterParameterGroup: String? = nil, replicationSourceIdentifier: String? = nil, percentProgress: String? = nil, readerEndpoint: String? = nil, dbClusterResourceId: String? = nil, endpoint: String? = nil, kmsKeyId: String? = nil, availabilityZones: AvailabilityZones? = nil, dBClusterOptionGroupMemberships: DBClusterOptionGroupMemberships? = nil, multiAZ: Bool? = nil, dBClusterMembers: DBClusterMemberList? = nil, allocatedStorage: Int32? = nil, earliestRestorableTime: TimeStamp? = nil, clusterCreateTime: TimeStamp? = nil, cloneGroupId: String? = nil, preferredBackupWindow: String? = nil, iAMDatabaseAuthenticationEnabled: Bool? = nil, masterUsername: String? = nil, databaseName: String? = nil, engine: String? = nil, dBSubnetGroup: String? = nil, storageEncrypted: Bool? = nil, associatedRoles: DBClusterRoles? = nil, port: Int32? = nil) { + self.dBClusterArn = dBClusterArn + self.vpcSecurityGroups = vpcSecurityGroups + self.readReplicaIdentifiers = readReplicaIdentifiers + self.backupRetentionPeriod = backupRetentionPeriod + self.hostedZoneId = hostedZoneId + self.characterSetName = characterSetName + self.status = status + self.latestRestorableTime = latestRestorableTime + self.engineVersion = engineVersion + self.dBClusterIdentifier = dBClusterIdentifier + self.preferredMaintenanceWindow = preferredMaintenanceWindow + self.dBClusterParameterGroup = dBClusterParameterGroup + self.replicationSourceIdentifier = replicationSourceIdentifier + self.percentProgress = percentProgress + self.readerEndpoint = readerEndpoint + self.dbClusterResourceId = dbClusterResourceId + self.endpoint = endpoint + self.kmsKeyId = kmsKeyId + self.availabilityZones = availabilityZones + self.dBClusterOptionGroupMemberships = dBClusterOptionGroupMemberships + self.multiAZ = multiAZ + self.dBClusterMembers = dBClusterMembers + self.allocatedStorage = allocatedStorage + self.earliestRestorableTime = earliestRestorableTime + self.clusterCreateTime = clusterCreateTime + self.cloneGroupId = cloneGroupId + self.preferredBackupWindow = preferredBackupWindow + self.iAMDatabaseAuthenticationEnabled = iAMDatabaseAuthenticationEnabled + self.masterUsername = masterUsername + self.databaseName = databaseName + self.engine = engine + self.dBSubnetGroup = dBSubnetGroup + self.storageEncrypted = storageEncrypted + self.associatedRoles = associatedRoles + self.port = port + } + + private enum CodingKeys: String, CodingKey { + case dBClusterArn = "DBClusterArn" + case vpcSecurityGroups = "VpcSecurityGroups" + case readReplicaIdentifiers = "ReadReplicaIdentifiers" + case backupRetentionPeriod = "BackupRetentionPeriod" + case hostedZoneId = "HostedZoneId" + case characterSetName = "CharacterSetName" + case status = "Status" + case latestRestorableTime = "LatestRestorableTime" + case engineVersion = "EngineVersion" + case dBClusterIdentifier = "DBClusterIdentifier" + case preferredMaintenanceWindow = "PreferredMaintenanceWindow" + case dBClusterParameterGroup = "DBClusterParameterGroup" + case replicationSourceIdentifier = "ReplicationSourceIdentifier" + case percentProgress = "PercentProgress" + case readerEndpoint = "ReaderEndpoint" + case dbClusterResourceId = "DbClusterResourceId" + case endpoint = "Endpoint" + case kmsKeyId = "KmsKeyId" + case availabilityZones = "AvailabilityZones" + case dBClusterOptionGroupMemberships = "DBClusterOptionGroupMemberships" + case multiAZ = "MultiAZ" + case dBClusterMembers = "DBClusterMembers" + case allocatedStorage = "AllocatedStorage" + case earliestRestorableTime = "EarliestRestorableTime" + case clusterCreateTime = "ClusterCreateTime" + case cloneGroupId = "CloneGroupId" + case preferredBackupWindow = "PreferredBackupWindow" + case iAMDatabaseAuthenticationEnabled = "IAMDatabaseAuthenticationEnabled" + case masterUsername = "MasterUsername" + case databaseName = "DatabaseName" + case engine = "Engine" + case dBSubnetGroup = "DBSubnetGroup" + case storageEncrypted = "StorageEncrypted" + case associatedRoles = "AssociatedRoles" + case port = "Port" + } + } + + public struct CreateDBClusterSnapshotResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterSnapshot", required: false, type: .structure) + ] + public let dBClusterSnapshot: DBClusterSnapshot? + + public init(dBClusterSnapshot: DBClusterSnapshot? = nil) { + self.dBClusterSnapshot = dBClusterSnapshot + } + + private enum CodingKeys: String, CodingKey { + case dBClusterSnapshot = "DBClusterSnapshot" + } + } + + public struct ModifyDBClusterSnapshotAttributeResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterSnapshotAttributesResult", required: false, type: .structure) + ] + public let dBClusterSnapshotAttributesResult: DBClusterSnapshotAttributesResult? + + public init(dBClusterSnapshotAttributesResult: DBClusterSnapshotAttributesResult? = nil) { + self.dBClusterSnapshotAttributesResult = dBClusterSnapshotAttributesResult + } + + private enum CodingKeys: String, CodingKey { + case dBClusterSnapshotAttributesResult = "DBClusterSnapshotAttributesResult" + } + } + + public struct DescribeDBClusterParametersMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "Source", required: false, type: .string), + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "DBClusterParameterGroupName", required: true, type: .string) + ] + /// 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. + public let maxRecords: Int32? + /// This parameter is not currently supported. + public let filters: FilterList? + /// A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer. + public let source: String? + /// 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. + public let marker: String? + /// 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. + public let dBClusterParameterGroupName: String + + public init(maxRecords: Int32? = nil, filters: FilterList? = nil, source: String? = nil, marker: String? = nil, dBClusterParameterGroupName: String) { + self.maxRecords = maxRecords + self.filters = filters + self.source = source + self.marker = marker + self.dBClusterParameterGroupName = dBClusterParameterGroupName + } + + private enum CodingKeys: String, CodingKey { + case maxRecords = "MaxRecords" + case filters = "Filters" + case source = "Source" + case marker = "Marker" + case dBClusterParameterGroupName = "DBClusterParameterGroupName" + } + } + + public struct DeleteDBParameterGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroupName", required: true, type: .string) + ] + /// 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 + public let dBParameterGroupName: String + + public init(dBParameterGroupName: String) { + self.dBParameterGroupName = dBParameterGroupName + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroupName = "DBParameterGroupName" + } + } + + public struct DBSecurityGroupMembership: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "DBSecurityGroupName", required: false, type: .string) + ] + /// The status of the DB security group. + public let status: String? + /// The name of the DB security group. + public let dBSecurityGroupName: String? + + public init(status: String? = nil, dBSecurityGroupName: String? = nil) { + self.status = status + self.dBSecurityGroupName = dBSecurityGroupName + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case dBSecurityGroupName = "DBSecurityGroupName" + } + } + + public struct DBClusterParameterGroup: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroupFamily", required: false, type: .string), + AWSShapeMember(label: "DBClusterParameterGroupArn", required: false, type: .string), + AWSShapeMember(label: "DBClusterParameterGroupName", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// Provides the name of the DB parameter group family that this DB cluster parameter group is compatible with. + public let dBParameterGroupFamily: String? + /// The Amazon Resource Name (ARN) for the DB cluster parameter group. + public let dBClusterParameterGroupArn: String? + /// Provides the name of the DB cluster parameter group. + public let dBClusterParameterGroupName: String? + /// Provides the customer-specified description for this DB cluster parameter group. + public let description: String? + + public init(dBParameterGroupFamily: String? = nil, dBClusterParameterGroupArn: String? = nil, dBClusterParameterGroupName: String? = nil, description: String? = nil) { + self.dBParameterGroupFamily = dBParameterGroupFamily + self.dBClusterParameterGroupArn = dBClusterParameterGroupArn + self.dBClusterParameterGroupName = dBClusterParameterGroupName + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroupFamily = "DBParameterGroupFamily" + case dBClusterParameterGroupArn = "DBClusterParameterGroupArn" + case dBClusterParameterGroupName = "DBClusterParameterGroupName" + case description = "Description" + } + } + + public enum SourceType: String, CustomStringConvertible, Codable { + case dbInstance = "db-instance" + case dbParameterGroup = "db-parameter-group" + case dbSecurityGroup = "db-security-group" + case dbSnapshot = "db-snapshot" + case dbCluster = "db-cluster" + case dbClusterSnapshot = "db-cluster-snapshot" + public var description: String { return self.rawValue } + } + + public enum ApplyMethod: String, CustomStringConvertible, Codable { + case immediate = "immediate" + case pendingReboot = "pending-reboot" + public var description: String { return self.rawValue } + } + + public struct DomainMembershipList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DomainMembership", required: false, type: .list) + ] + public let domainMembership: [DomainMembership]? + + public init(domainMembership: [DomainMembership]? = nil) { + self.domainMembership = domainMembership + } + + private enum CodingKeys: String, CodingKey { + case domainMembership = "DomainMembership" + } + } + + public struct DBSecurityGroupNameList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBSecurityGroupName", required: false, type: .list) + ] + public let dBSecurityGroupName: [String]? + + public init(dBSecurityGroupName: [String]? = nil) { + self.dBSecurityGroupName = dBSecurityGroupName + } + + private enum CodingKeys: String, CodingKey { + case dBSecurityGroupName = "DBSecurityGroupName" + } + } + + public struct CreateDBClusterResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBCluster", required: false, type: .structure) + ] + public let dBCluster: DBCluster? + + public init(dBCluster: DBCluster? = nil) { + self.dBCluster = dBCluster + } + + private enum CodingKeys: String, CodingKey { + case dBCluster = "DBCluster" + } + } + + public struct DeleteDBInstanceMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FinalDBSnapshotIdentifier", required: false, type: .string), + AWSShapeMember(label: "SkipFinalSnapshot", required: false, type: .boolean), + AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string) + ] + /// 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. + public let finalDBSnapshotIdentifier: String? + /// 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 + public let skipFinalSnapshot: Bool? + /// 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. + public let dBInstanceIdentifier: String + + public init(finalDBSnapshotIdentifier: String? = nil, skipFinalSnapshot: Bool? = nil, dBInstanceIdentifier: String) { + self.finalDBSnapshotIdentifier = finalDBSnapshotIdentifier + self.skipFinalSnapshot = skipFinalSnapshot + self.dBInstanceIdentifier = dBInstanceIdentifier + } + + private enum CodingKeys: String, CodingKey { + case finalDBSnapshotIdentifier = "FinalDBSnapshotIdentifier" + case skipFinalSnapshot = "SkipFinalSnapshot" + case dBInstanceIdentifier = "DBInstanceIdentifier" + } + } + + public struct Timezone: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TimezoneName", required: false, type: .string) + ] + /// The name of the time zone. + public let timezoneName: String? + + public init(timezoneName: String? = nil) { + self.timezoneName = timezoneName + } + + private enum CodingKeys: String, CodingKey { + case timezoneName = "TimezoneName" + } + } + + public struct RebootDBInstanceMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string), + AWSShapeMember(label: "ForceFailover", required: false, type: .boolean) + ] + /// The DB instance identifier. This parameter is stored as a lowercase string. Constraints: Must match the identifier of an existing DBInstance. + public let dBInstanceIdentifier: String + /// When true, the reboot is conducted through a MultiAZ failover. Constraint: You can't specify true if the instance is not configured for MultiAZ. + public let forceFailover: Bool? + + public init(dBInstanceIdentifier: String, forceFailover: Bool? = nil) { + self.dBInstanceIdentifier = dBInstanceIdentifier + self.forceFailover = forceFailover + } + + private enum CodingKeys: String, CodingKey { + case dBInstanceIdentifier = "DBInstanceIdentifier" + case forceFailover = "ForceFailover" + } + } + + public struct DeleteDBClusterSnapshotResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterSnapshot", required: false, type: .structure) + ] + public let dBClusterSnapshot: DBClusterSnapshot? + + public init(dBClusterSnapshot: DBClusterSnapshot? = nil) { + self.dBClusterSnapshot = dBClusterSnapshot + } + + private enum CodingKeys: String, CodingKey { + case dBClusterSnapshot = "DBClusterSnapshot" + } + } + + public struct DBClusterSnapshotAttributesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterSnapshotIdentifier", required: false, type: .string), + AWSShapeMember(label: "DBClusterSnapshotAttributes", required: false, type: .structure) + ] + /// The identifier of the manual DB cluster snapshot that the attributes apply to. + public let dBClusterSnapshotIdentifier: String? + /// The list of attributes and values for the manual DB cluster snapshot. + public let dBClusterSnapshotAttributes: DBClusterSnapshotAttributeList? + + public init(dBClusterSnapshotIdentifier: String? = nil, dBClusterSnapshotAttributes: DBClusterSnapshotAttributeList? = nil) { + self.dBClusterSnapshotIdentifier = dBClusterSnapshotIdentifier + self.dBClusterSnapshotAttributes = dBClusterSnapshotAttributes + } + + private enum CodingKeys: String, CodingKey { + case dBClusterSnapshotIdentifier = "DBClusterSnapshotIdentifier" + case dBClusterSnapshotAttributes = "DBClusterSnapshotAttributes" + } + } + + public struct DBClusterOptionGroupStatus: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "DBClusterOptionGroupName", required: false, type: .string) + ] + /// Specifies the status of the DB cluster option group. + public let status: String? + /// Specifies the name of the DB cluster option group. + public let dBClusterOptionGroupName: String? + + public init(status: String? = nil, dBClusterOptionGroupName: String? = nil) { + self.status = status + self.dBClusterOptionGroupName = dBClusterOptionGroupName + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case dBClusterOptionGroupName = "DBClusterOptionGroupName" + } + } + + public struct UpgradeTarget: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Engine", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "AutoUpgrade", required: false, type: .boolean), + AWSShapeMember(label: "IsMajorVersionUpgrade", required: false, type: .boolean) + ] + /// The name of the upgrade target database engine. + public let engine: String? + /// The version of the database engine that a DB instance can be upgraded to. + public let description: String? + /// The version number of the upgrade target database engine. + public let engineVersion: String? + /// A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true. + public let autoUpgrade: Bool? + /// A value that indicates whether a database engine is upgraded to a major version. + public let isMajorVersionUpgrade: Bool? + + public init(engine: String? = nil, description: String? = nil, engineVersion: String? = nil, autoUpgrade: Bool? = nil, isMajorVersionUpgrade: Bool? = nil) { + self.engine = engine + self.description = description + self.engineVersion = engineVersion + self.autoUpgrade = autoUpgrade + self.isMajorVersionUpgrade = isMajorVersionUpgrade + } + + private enum CodingKeys: String, CodingKey { + case engine = "Engine" + case description = "Description" + case engineVersion = "EngineVersion" + case autoUpgrade = "AutoUpgrade" + case isMajorVersionUpgrade = "IsMajorVersionUpgrade" + } + } + + public struct DBInstance: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VpcSecurityGroups", required: false, type: .structure), + AWSShapeMember(label: "DomainMemberships", required: false, type: .structure), + AWSShapeMember(label: "DBInstanceStatus", required: false, type: .string), + AWSShapeMember(label: "DBParameterGroups", required: false, type: .structure), + AWSShapeMember(label: "DBSecurityGroups", required: false, type: .structure), + AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), + AWSShapeMember(label: "CharacterSetName", required: false, type: .string), + AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), + AWSShapeMember(label: "Iops", required: false, type: .integer), + AWSShapeMember(label: "DBClusterIdentifier", required: false, type: .string), + AWSShapeMember(label: "PerformanceInsightsKMSKeyId", required: false, type: .string), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "LatestRestorableTime", required: false, type: .timestamp), + AWSShapeMember(label: "DbiResourceId", required: false, type: .string), + AWSShapeMember(label: "Endpoint", required: false, type: .structure), + AWSShapeMember(label: "DBInstanceClass", required: false, type: .string), + AWSShapeMember(label: "InstanceCreateTime", required: false, type: .timestamp), + AWSShapeMember(label: "MultiAZ", required: false, type: .boolean), + AWSShapeMember(label: "AllocatedStorage", required: false, type: .integer), + AWSShapeMember(label: "LicenseModel", required: false, type: .string), + AWSShapeMember(label: "PerformanceInsightsEnabled", required: false, type: .boolean), + AWSShapeMember(label: "DbInstancePort", required: false, type: .integer), + AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), + AWSShapeMember(label: "IAMDatabaseAuthenticationEnabled", required: false, type: .boolean), + AWSShapeMember(label: "MonitoringRoleArn", required: false, type: .string), + AWSShapeMember(label: "StatusInfos", required: false, type: .structure), + AWSShapeMember(label: "MasterUsername", required: false, type: .string), + AWSShapeMember(label: "SecondaryAvailabilityZone", required: false, type: .string), + AWSShapeMember(label: "Engine", required: false, type: .string), + AWSShapeMember(label: "ReadReplicaDBInstanceIdentifiers", required: false, type: .structure), + AWSShapeMember(label: "DBSubnetGroup", required: false, type: .structure), + AWSShapeMember(label: "StorageEncrypted", required: false, type: .boolean), + AWSShapeMember(label: "MonitoringInterval", required: false, type: .integer), + AWSShapeMember(label: "DBInstanceIdentifier", required: false, type: .string), + AWSShapeMember(label: "DBName", required: false, type: .string), + AWSShapeMember(label: "EnhancedMonitoringResourceArn", required: false, type: .string), + AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), + AWSShapeMember(label: "OptionGroupMemberships", required: false, type: .structure), + AWSShapeMember(label: "CACertificateIdentifier", required: false, type: .string), + AWSShapeMember(label: "PromotionTier", required: false, type: .integer), + AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), + AWSShapeMember(label: "EnabledCloudwatchLogsExports", required: false, type: .list), + AWSShapeMember(label: "CopyTagsToSnapshot", required: false, type: .boolean), + AWSShapeMember(label: "DBInstanceArn", required: false, type: .string), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string), + AWSShapeMember(label: "PendingModifiedValues", required: false, type: .structure), + AWSShapeMember(label: "ReadReplicaSourceDBInstanceIdentifier", required: false, type: .string), + AWSShapeMember(label: "Timezone", required: false, type: .string), + AWSShapeMember(label: "StorageType", required: false, type: .string), + AWSShapeMember(label: "TdeCredentialArn", required: false, type: .string), + AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), + AWSShapeMember(label: "ReadReplicaDBClusterIdentifiers", required: false, type: .structure) + ] + /// Provides a list of VPC security group elements that the DB instance belongs to. + public let vpcSecurityGroups: VpcSecurityGroupMembershipList? + /// Not supported + public let domainMemberships: DomainMembershipList? + /// Specifies the current state of this database. + public let dBInstanceStatus: String? + /// Provides the list of DB parameter groups applied to this DB instance. + public let dBParameterGroups: DBParameterGroupStatusList? + /// Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements. + public let dBSecurityGroups: DBSecurityGroupMembershipList? + /// Specifies the name of the Availability Zone the DB instance is located in. + public let availabilityZone: String? + /// If present, specifies the name of the character set that this instance is associated with. + public let characterSetName: String? + /// Indicates that minor version patches are applied automatically. + public let autoMinorVersionUpgrade: Bool? + /// Specifies the Provisioned IOPS (I/O operations per second) value. + public let iops: Int32? + /// 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. + public let dBClusterIdentifier: String? + /// 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. + public let performanceInsightsKMSKeyId: String? + /// Indicates the database engine version. + public let engineVersion: String? + /// Specifies the latest time to which a database can be restored with point-in-time restore. + public let latestRestorableTime: TimeStamp? + /// 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. + public let dbiResourceId: String? + /// Specifies the connection endpoint. + public let endpoint: Endpoint? + /// Contains the name of the compute and memory capacity class of the DB instance. + public let dBInstanceClass: String? + /// Provides the date and time the DB instance was created. + public let instanceCreateTime: TimeStamp? + /// Specifies if the DB instance is a Multi-AZ deployment. + public let multiAZ: Bool? + /// Specifies the allocated storage size specified in gibibytes. + public let allocatedStorage: Int32? + /// License model information for this DB instance. + public let licenseModel: String? + /// True if Performance Insights is enabled for the DB instance, and otherwise false. + public let performanceInsightsEnabled: Bool? + /// 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. + public let dbInstancePort: Int32? + /// Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod. + public let preferredBackupWindow: String? + /// True if AWS Identity and Access Management (IAM) authentication is enabled, and otherwise false. + public let iAMDatabaseAuthenticationEnabled: Bool? + /// The ARN for the IAM role that permits Neptune to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. + public let monitoringRoleArn: String? + /// The status of a Read Replica. If the instance is not a Read Replica, this is blank. + public let statusInfos: DBInstanceStatusInfoList? + /// Contains the master username for the DB instance. + public let masterUsername: String? + /// If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support. + public let secondaryAvailabilityZone: String? + /// Provides the name of the database engine to be used for this DB instance. + public let engine: String? + /// Contains one or more identifiers of the Read Replicas associated with this DB instance. + public let readReplicaDBInstanceIdentifiers: ReadReplicaDBInstanceIdentifierList? + /// Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group. + public let dBSubnetGroup: DBSubnetGroup? + /// Specifies whether the DB instance is encrypted. + public let storageEncrypted: Bool? + /// The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. + public let monitoringInterval: Int32? + /// Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance. + public let dBInstanceIdentifier: String? + /// The database name. + public let dBName: String? + /// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance. + public let enhancedMonitoringResourceArn: String? + /// Specifies the number of days for which automatic DB snapshots are retained. + public let backupRetentionPeriod: Int32? + /// Provides the list of option group memberships for this DB instance. + public let optionGroupMemberships: OptionGroupMembershipList? + /// The identifier of the CA certificate for this DB instance. + public let cACertificateIdentifier: String? + /// 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. + public let promotionTier: Int32? + /// Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). + public let preferredMaintenanceWindow: String? + /// A list of log types that this DB instance is configured to export to CloudWatch Logs. + public let enabledCloudwatchLogsExports: [String]? + /// Specifies whether tags are copied from the DB instance to snapshots of the DB instance. + public let copyTagsToSnapshot: Bool? + /// The Amazon Resource Name (ARN) for the DB instance. + public let dBInstanceArn: String? + /// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance. + public let kmsKeyId: String? + /// Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements. + public let pendingModifiedValues: PendingModifiedValues? + /// Contains the identifier of the source DB instance if this DB instance is a Read Replica. + public let readReplicaSourceDBInstanceIdentifier: String? + /// Not supported. + public let timezone: String? + /// Specifies the storage type associated with DB instance. + public let storageType: String? + /// The ARN from the key store with which the instance is associated for TDE encryption. + public let tdeCredentialArn: String? + /// This parameter is not supported. + public let publiclyAccessible: Bool? + /// Contains one or more identifiers of DB clusters that are Read Replicas of this DB instance. + public let readReplicaDBClusterIdentifiers: ReadReplicaDBClusterIdentifierList? + + public init(vpcSecurityGroups: VpcSecurityGroupMembershipList? = nil, domainMemberships: DomainMembershipList? = nil, dBInstanceStatus: String? = nil, dBParameterGroups: DBParameterGroupStatusList? = nil, dBSecurityGroups: DBSecurityGroupMembershipList? = nil, availabilityZone: String? = nil, characterSetName: String? = nil, autoMinorVersionUpgrade: Bool? = nil, iops: Int32? = nil, dBClusterIdentifier: String? = nil, performanceInsightsKMSKeyId: String? = nil, engineVersion: String? = nil, latestRestorableTime: TimeStamp? = nil, dbiResourceId: String? = nil, endpoint: Endpoint? = nil, dBInstanceClass: String? = nil, instanceCreateTime: TimeStamp? = nil, multiAZ: Bool? = nil, allocatedStorage: Int32? = nil, licenseModel: String? = nil, performanceInsightsEnabled: Bool? = nil, dbInstancePort: Int32? = nil, preferredBackupWindow: String? = nil, iAMDatabaseAuthenticationEnabled: Bool? = nil, monitoringRoleArn: String? = nil, statusInfos: DBInstanceStatusInfoList? = nil, masterUsername: String? = nil, secondaryAvailabilityZone: String? = nil, engine: String? = nil, readReplicaDBInstanceIdentifiers: ReadReplicaDBInstanceIdentifierList? = nil, dBSubnetGroup: DBSubnetGroup? = nil, storageEncrypted: Bool? = nil, monitoringInterval: Int32? = nil, dBInstanceIdentifier: String? = nil, dBName: String? = nil, enhancedMonitoringResourceArn: String? = nil, backupRetentionPeriod: Int32? = nil, optionGroupMemberships: OptionGroupMembershipList? = nil, cACertificateIdentifier: String? = nil, promotionTier: Int32? = nil, preferredMaintenanceWindow: String? = nil, enabledCloudwatchLogsExports: [String]? = nil, copyTagsToSnapshot: Bool? = nil, dBInstanceArn: String? = nil, kmsKeyId: String? = nil, pendingModifiedValues: PendingModifiedValues? = nil, readReplicaSourceDBInstanceIdentifier: String? = nil, timezone: String? = nil, storageType: String? = nil, tdeCredentialArn: String? = nil, publiclyAccessible: Bool? = nil, readReplicaDBClusterIdentifiers: ReadReplicaDBClusterIdentifierList? = nil) { + self.vpcSecurityGroups = vpcSecurityGroups + self.domainMemberships = domainMemberships + self.dBInstanceStatus = dBInstanceStatus + self.dBParameterGroups = dBParameterGroups + self.dBSecurityGroups = dBSecurityGroups + self.availabilityZone = availabilityZone + self.characterSetName = characterSetName + self.autoMinorVersionUpgrade = autoMinorVersionUpgrade + self.iops = iops + self.dBClusterIdentifier = dBClusterIdentifier + self.performanceInsightsKMSKeyId = performanceInsightsKMSKeyId + self.engineVersion = engineVersion + self.latestRestorableTime = latestRestorableTime + self.dbiResourceId = dbiResourceId + self.endpoint = endpoint + self.dBInstanceClass = dBInstanceClass + self.instanceCreateTime = instanceCreateTime + self.multiAZ = multiAZ + self.allocatedStorage = allocatedStorage + self.licenseModel = licenseModel + self.performanceInsightsEnabled = performanceInsightsEnabled + self.dbInstancePort = dbInstancePort + self.preferredBackupWindow = preferredBackupWindow + self.iAMDatabaseAuthenticationEnabled = iAMDatabaseAuthenticationEnabled + self.monitoringRoleArn = monitoringRoleArn + self.statusInfos = statusInfos + self.masterUsername = masterUsername + self.secondaryAvailabilityZone = secondaryAvailabilityZone + self.engine = engine + self.readReplicaDBInstanceIdentifiers = readReplicaDBInstanceIdentifiers + self.dBSubnetGroup = dBSubnetGroup + self.storageEncrypted = storageEncrypted + self.monitoringInterval = monitoringInterval + self.dBInstanceIdentifier = dBInstanceIdentifier + self.dBName = dBName + self.enhancedMonitoringResourceArn = enhancedMonitoringResourceArn + self.backupRetentionPeriod = backupRetentionPeriod + self.optionGroupMemberships = optionGroupMemberships + self.cACertificateIdentifier = cACertificateIdentifier + self.promotionTier = promotionTier + self.preferredMaintenanceWindow = preferredMaintenanceWindow + self.enabledCloudwatchLogsExports = enabledCloudwatchLogsExports + self.copyTagsToSnapshot = copyTagsToSnapshot + self.dBInstanceArn = dBInstanceArn + self.kmsKeyId = kmsKeyId + self.pendingModifiedValues = pendingModifiedValues + self.readReplicaSourceDBInstanceIdentifier = readReplicaSourceDBInstanceIdentifier + self.timezone = timezone + self.storageType = storageType + self.tdeCredentialArn = tdeCredentialArn + self.publiclyAccessible = publiclyAccessible + self.readReplicaDBClusterIdentifiers = readReplicaDBClusterIdentifiers + } + + private enum CodingKeys: String, CodingKey { + case vpcSecurityGroups = "VpcSecurityGroups" + case domainMemberships = "DomainMemberships" + case dBInstanceStatus = "DBInstanceStatus" + case dBParameterGroups = "DBParameterGroups" + case dBSecurityGroups = "DBSecurityGroups" + case availabilityZone = "AvailabilityZone" + case characterSetName = "CharacterSetName" + case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" + case iops = "Iops" + case dBClusterIdentifier = "DBClusterIdentifier" + case performanceInsightsKMSKeyId = "PerformanceInsightsKMSKeyId" + case engineVersion = "EngineVersion" + case latestRestorableTime = "LatestRestorableTime" + case dbiResourceId = "DbiResourceId" + case endpoint = "Endpoint" + case dBInstanceClass = "DBInstanceClass" + case instanceCreateTime = "InstanceCreateTime" + case multiAZ = "MultiAZ" + case allocatedStorage = "AllocatedStorage" + case licenseModel = "LicenseModel" + case performanceInsightsEnabled = "PerformanceInsightsEnabled" + case dbInstancePort = "DbInstancePort" + case preferredBackupWindow = "PreferredBackupWindow" + case iAMDatabaseAuthenticationEnabled = "IAMDatabaseAuthenticationEnabled" + case monitoringRoleArn = "MonitoringRoleArn" + case statusInfos = "StatusInfos" + case masterUsername = "MasterUsername" + case secondaryAvailabilityZone = "SecondaryAvailabilityZone" + case engine = "Engine" + case readReplicaDBInstanceIdentifiers = "ReadReplicaDBInstanceIdentifiers" + case dBSubnetGroup = "DBSubnetGroup" + case storageEncrypted = "StorageEncrypted" + case monitoringInterval = "MonitoringInterval" + case dBInstanceIdentifier = "DBInstanceIdentifier" + case dBName = "DBName" + case enhancedMonitoringResourceArn = "EnhancedMonitoringResourceArn" + case backupRetentionPeriod = "BackupRetentionPeriod" + case optionGroupMemberships = "OptionGroupMemberships" + case cACertificateIdentifier = "CACertificateIdentifier" + case promotionTier = "PromotionTier" + case preferredMaintenanceWindow = "PreferredMaintenanceWindow" + case enabledCloudwatchLogsExports = "EnabledCloudwatchLogsExports" + case copyTagsToSnapshot = "CopyTagsToSnapshot" + case dBInstanceArn = "DBInstanceArn" + case kmsKeyId = "KmsKeyId" + case pendingModifiedValues = "PendingModifiedValues" + case readReplicaSourceDBInstanceIdentifier = "ReadReplicaSourceDBInstanceIdentifier" + case timezone = "Timezone" + case storageType = "StorageType" + case tdeCredentialArn = "TdeCredentialArn" + case publiclyAccessible = "PubliclyAccessible" + case readReplicaDBClusterIdentifiers = "ReadReplicaDBClusterIdentifiers" + } + } + + public struct CloudwatchLogsExportConfiguration: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DisableLogTypes", required: false, type: .list), + AWSShapeMember(label: "EnableLogTypes", required: false, type: .list) + ] + /// The list of log types to disable. + public let disableLogTypes: [String]? + /// The list of log types to enable. + public let enableLogTypes: [String]? + + public init(disableLogTypes: [String]? = nil, enableLogTypes: [String]? = nil) { + self.disableLogTypes = disableLogTypes + self.enableLogTypes = enableLogTypes + } + + private enum CodingKeys: String, CodingKey { + case disableLogTypes = "DisableLogTypes" + case enableLogTypes = "EnableLogTypes" + } + } + + public struct ApplyPendingMaintenanceActionResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourcePendingMaintenanceActions", required: false, type: .structure) + ] + public let resourcePendingMaintenanceActions: ResourcePendingMaintenanceActions? + + public init(resourcePendingMaintenanceActions: ResourcePendingMaintenanceActions? = nil) { + self.resourcePendingMaintenanceActions = resourcePendingMaintenanceActions + } + + private enum CodingKeys: String, CodingKey { + case resourcePendingMaintenanceActions = "ResourcePendingMaintenanceActions" + } + } + + public struct DeleteDBClusterParameterGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterParameterGroupName", required: true, type: .string) + ] + /// 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. + public let dBClusterParameterGroupName: String + + public init(dBClusterParameterGroupName: String) { + self.dBClusterParameterGroupName = dBClusterParameterGroupName + } + + private enum CodingKeys: String, CodingKey { + case dBClusterParameterGroupName = "DBClusterParameterGroupName" + } + } + + public struct ValidStorageOptions: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StorageSize", required: false, type: .structure), + AWSShapeMember(label: "StorageType", required: false, type: .string), + AWSShapeMember(label: "IopsToStorageRatio", required: false, type: .structure), + AWSShapeMember(label: "ProvisionedIops", required: false, type: .structure) + ] + /// The valid range of storage in gibibytes. For example, 100 to 16384. + public let storageSize: RangeList? + /// The valid storage types for your DB instance. For example, gp2, io1. + public let storageType: String? + /// 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. + public let iopsToStorageRatio: DoubleRangeList? + /// The valid range of provisioned IOPS. For example, 1000-20000. + public let provisionedIops: RangeList? + + public init(storageSize: RangeList? = nil, storageType: String? = nil, iopsToStorageRatio: DoubleRangeList? = nil, provisionedIops: RangeList? = nil) { + self.storageSize = storageSize + self.storageType = storageType + self.iopsToStorageRatio = iopsToStorageRatio + self.provisionedIops = provisionedIops + } + + private enum CodingKeys: String, CodingKey { + case storageSize = "StorageSize" + case storageType = "StorageType" + case iopsToStorageRatio = "IopsToStorageRatio" + case provisionedIops = "ProvisionedIops" + } + } + + public struct DescribeDBClusterParameterGroupsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "DBClusterParameterGroupName", required: false, type: .string), + AWSShapeMember(label: "Marker", required: false, type: .string) + ] + /// 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. + public let maxRecords: Int32? + /// This parameter is not currently supported. + public let filters: FilterList? + /// The name of a specific DB cluster parameter group to return details for. Constraints: If supplied, must match the name of an existing DBClusterParameterGroup. + public let dBClusterParameterGroupName: String? + /// 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. + public let marker: String? + + public init(maxRecords: Int32? = nil, filters: FilterList? = nil, dBClusterParameterGroupName: String? = nil, marker: String? = nil) { + self.maxRecords = maxRecords + self.filters = filters + self.dBClusterParameterGroupName = dBClusterParameterGroupName + self.marker = marker + } + + private enum CodingKeys: String, CodingKey { + case maxRecords = "MaxRecords" + case filters = "Filters" + case dBClusterParameterGroupName = "DBClusterParameterGroupName" + case marker = "Marker" + } + } + + public struct ModifyEventSubscriptionMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SnsTopicArn", required: false, type: .string), + AWSShapeMember(label: "SubscriptionName", required: true, type: .string), + AWSShapeMember(label: "SourceType", required: false, type: .string), + AWSShapeMember(label: "EventCategories", required: false, type: .structure), + AWSShapeMember(label: "Enabled", required: false, type: .boolean) + ] + /// 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. + public let snsTopicArn: String? + /// The name of the event notification subscription. + public let subscriptionName: String + /// 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 + public let sourceType: String? + /// 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. + public let eventCategories: EventCategoriesList? + /// A Boolean value; set to true to activate the subscription. + public let enabled: Bool? + + public init(snsTopicArn: String? = nil, subscriptionName: String, sourceType: String? = nil, eventCategories: EventCategoriesList? = nil, enabled: Bool? = nil) { + self.snsTopicArn = snsTopicArn + self.subscriptionName = subscriptionName + self.sourceType = sourceType + self.eventCategories = eventCategories + self.enabled = enabled + } + + private enum CodingKeys: String, CodingKey { + case snsTopicArn = "SnsTopicArn" + case subscriptionName = "SubscriptionName" + case sourceType = "SourceType" + case eventCategories = "EventCategories" + case enabled = "Enabled" + } + } + + public struct AvailabilityZone: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string) + ] + /// The name of the availability zone. + public let name: String? + + public init(name: String? = nil) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + + public struct CharacterSet: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CharacterSetDescription", required: false, type: .string), + AWSShapeMember(label: "CharacterSetName", required: false, type: .string) + ] + /// The description of the character set. + public let characterSetDescription: String? + /// The name of the character set. + public let characterSetName: String? + + public init(characterSetDescription: String? = nil, characterSetName: String? = nil) { + self.characterSetDescription = characterSetDescription + self.characterSetName = characterSetName + } + + private enum CodingKeys: String, CodingKey { + case characterSetDescription = "CharacterSetDescription" + case characterSetName = "CharacterSetName" + } + } + + public struct CreateDBInstanceResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBInstance", required: false, type: .structure) + ] + public let dBInstance: DBInstance? + + public init(dBInstance: DBInstance? = nil) { + self.dBInstance = dBInstance + } + + private enum CodingKeys: String, CodingKey { + case dBInstance = "DBInstance" + } + } + + public struct ModifyDBParameterGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Parameters", required: true, type: .structure), + AWSShapeMember(label: "DBParameterGroupName", required: true, type: .string) + ] + /// 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. + public let parameters: ParametersList + /// The name of the DB parameter group. Constraints: If supplied, must match the name of an existing DBParameterGroup. + public let dBParameterGroupName: String + + public init(parameters: ParametersList, dBParameterGroupName: String) { + self.parameters = parameters + self.dBParameterGroupName = dBParameterGroupName + } + + private enum CodingKeys: String, CodingKey { + case parameters = "Parameters" + case dBParameterGroupName = "DBParameterGroupName" + } + } + + public struct DBSubnetGroups: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBSubnetGroup", required: false, type: .list) + ] + public let dBSubnetGroup: [DBSubnetGroup]? + + public init(dBSubnetGroup: [DBSubnetGroup]? = nil) { + self.dBSubnetGroup = dBSubnetGroup + } + + private enum CodingKeys: String, CodingKey { + case dBSubnetGroup = "DBSubnetGroup" + } + } + + public struct DoubleRange: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "From", required: false, type: .double), + AWSShapeMember(label: "To", required: false, type: .double) + ] + /// The minimum value in the range. + public let from: Double? + /// The maximum value in the range. + public let to: Double? + + public init(from: Double? = nil, to: Double? = nil) { + self.from = from + self.to = to + } + + private enum CodingKeys: String, CodingKey { + case from = "From" + case to = "To" + } + } + + public struct RemoveRoleFromDBClusterMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoleArn", required: true, type: .string), + AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole. + public let roleArn: String + /// The name of the DB cluster to disassociate the IAM role from. + public let dBClusterIdentifier: String + + public init(roleArn: String, dBClusterIdentifier: String) { + self.roleArn = roleArn + self.dBClusterIdentifier = dBClusterIdentifier + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "RoleArn" + case dBClusterIdentifier = "DBClusterIdentifier" + } + } + + public struct DescribeDBSubnetGroupsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), + AWSShapeMember(label: "Marker", required: false, type: .string) + ] + /// 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. + public let maxRecords: Int32? + /// This parameter is not currently supported. + public let filters: FilterList? + /// The name of the DB subnet group to return details for. + public let dBSubnetGroupName: String? + /// 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. + public let marker: String? + + public init(maxRecords: Int32? = nil, filters: FilterList? = nil, dBSubnetGroupName: String? = nil, marker: String? = nil) { + self.maxRecords = maxRecords + self.filters = filters + self.dBSubnetGroupName = dBSubnetGroupName + self.marker = marker + } + + private enum CodingKeys: String, CodingKey { + case maxRecords = "MaxRecords" + case filters = "Filters" + case dBSubnetGroupName = "DBSubnetGroupName" + case marker = "Marker" + } + } + + public struct DescribeDBClusterSnapshotAttributesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterSnapshotAttributesResult", required: false, type: .structure) + ] + public let dBClusterSnapshotAttributesResult: DBClusterSnapshotAttributesResult? + + public init(dBClusterSnapshotAttributesResult: DBClusterSnapshotAttributesResult? = nil) { + self.dBClusterSnapshotAttributesResult = dBClusterSnapshotAttributesResult + } + + private enum CodingKeys: String, CodingKey { + case dBClusterSnapshotAttributesResult = "DBClusterSnapshotAttributesResult" + } + } + + public struct RangeList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Range", required: false, type: .list) + ] + public let range: [Range]? + + public init(range: [Range]? = nil) { + self.range = range + } + + private enum CodingKeys: String, CodingKey { + case range = "Range" + } + } + + public struct Range: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Step", required: false, type: .integer), + AWSShapeMember(label: "From", required: false, type: .integer), + AWSShapeMember(label: "To", required: false, type: .integer) + ] + /// 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... + public let step: Int32? + /// The minimum value in the range. + public let from: Int32? + /// The maximum value in the range. + public let to: Int32? + + public init(step: Int32? = nil, from: Int32? = nil, to: Int32? = nil) { + self.step = step + self.from = from + self.to = to + } + + private enum CodingKeys: String, CodingKey { + case step = "Step" + case from = "From" + case to = "To" + } + } + + public struct ResourcePendingMaintenanceActions: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceIdentifier", required: false, type: .string), + AWSShapeMember(label: "PendingMaintenanceActionDetails", required: false, type: .structure) + ] + /// The ARN of the resource that has pending maintenance actions. + public let resourceIdentifier: String? + /// A list that provides details about the pending maintenance actions for the resource. + public let pendingMaintenanceActionDetails: PendingMaintenanceActionDetails? + + public init(resourceIdentifier: String? = nil, pendingMaintenanceActionDetails: PendingMaintenanceActionDetails? = nil) { + self.resourceIdentifier = resourceIdentifier + self.pendingMaintenanceActionDetails = pendingMaintenanceActionDetails + } + + private enum CodingKeys: String, CodingKey { + case resourceIdentifier = "ResourceIdentifier" + case pendingMaintenanceActionDetails = "PendingMaintenanceActionDetails" + } + } + + public struct DBSubnetGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "DBSubnetGroups", required: false, type: .structure) + ] + /// 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. + public let marker: String? + /// A list of DBSubnetGroup instances. + public let dBSubnetGroups: DBSubnetGroups? + + public init(marker: String? = nil, dBSubnetGroups: DBSubnetGroups? = nil) { + self.marker = marker + self.dBSubnetGroups = dBSubnetGroups + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case dBSubnetGroups = "DBSubnetGroups" + } + } + + public struct CopyDBClusterParameterGroupResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterParameterGroup", required: false, type: .structure) + ] + public let dBClusterParameterGroup: DBClusterParameterGroup? + + public init(dBClusterParameterGroup: DBClusterParameterGroup? = nil) { + self.dBClusterParameterGroup = dBClusterParameterGroup + } + + private enum CodingKeys: String, CodingKey { + case dBClusterParameterGroup = "DBClusterParameterGroup" + } + } + + public struct DBSecurityGroupMembershipList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBSecurityGroup", required: false, type: .list) + ] + public let dBSecurityGroup: [DBSecurityGroupMembership]? + + public init(dBSecurityGroup: [DBSecurityGroupMembership]? = nil) { + self.dBSecurityGroup = dBSecurityGroup + } + + private enum CodingKeys: String, CodingKey { + case dBSecurityGroup = "DBSecurityGroup" + } + } + + public struct ModifyDBClusterMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), + AWSShapeMember(label: "ApplyImmediately", required: false, type: .boolean), + AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), + AWSShapeMember(label: "NewDBClusterIdentifier", required: false, type: .string), + AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), + AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), + AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string), + AWSShapeMember(label: "OptionGroupName", required: false, type: .string), + AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), + AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "DBClusterParameterGroupName", required: false, type: .string), + AWSShapeMember(label: "Port", required: false, type: .integer) + ] + /// A list of VPC security groups that the DB cluster will belong to. + public let vpcSecurityGroupIds: VpcSecurityGroupIdList? + /// 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 + public let applyImmediately: Bool? + /// 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 + public let backupRetentionPeriod: Int32? + /// 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 + public let newDBClusterIdentifier: String? + /// 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. + public let masterUserPassword: String? + /// 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. + public let preferredBackupWindow: String? + /// The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive. Constraints: Must match the identifier of an existing DBCluster. + public let dBClusterIdentifier: String + /// 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. + public let optionGroupName: String? + /// True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false. Default: false + public let enableIAMDatabaseAuthentication: Bool? + /// 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. + public let preferredMaintenanceWindow: String? + /// 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. + public let engineVersion: String? + /// The name of the DB cluster parameter group to use for the DB cluster. + public let dBClusterParameterGroupName: String? + /// 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. + public let port: Int32? + + public init(vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, applyImmediately: Bool? = nil, backupRetentionPeriod: Int32? = nil, newDBClusterIdentifier: String? = nil, masterUserPassword: String? = nil, preferredBackupWindow: String? = nil, dBClusterIdentifier: String, optionGroupName: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, preferredMaintenanceWindow: String? = nil, engineVersion: String? = nil, dBClusterParameterGroupName: String? = nil, port: Int32? = nil) { + self.vpcSecurityGroupIds = vpcSecurityGroupIds + self.applyImmediately = applyImmediately + self.backupRetentionPeriod = backupRetentionPeriod + self.newDBClusterIdentifier = newDBClusterIdentifier + self.masterUserPassword = masterUserPassword + self.preferredBackupWindow = preferredBackupWindow + self.dBClusterIdentifier = dBClusterIdentifier + self.optionGroupName = optionGroupName + self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication + self.preferredMaintenanceWindow = preferredMaintenanceWindow + self.engineVersion = engineVersion + self.dBClusterParameterGroupName = dBClusterParameterGroupName + self.port = port + } + + private enum CodingKeys: String, CodingKey { + case vpcSecurityGroupIds = "VpcSecurityGroupIds" + case applyImmediately = "ApplyImmediately" + case backupRetentionPeriod = "BackupRetentionPeriod" + case newDBClusterIdentifier = "NewDBClusterIdentifier" + case masterUserPassword = "MasterUserPassword" + case preferredBackupWindow = "PreferredBackupWindow" + case dBClusterIdentifier = "DBClusterIdentifier" + case optionGroupName = "OptionGroupName" + case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" + case preferredMaintenanceWindow = "PreferredMaintenanceWindow" + case engineVersion = "EngineVersion" + case dBClusterParameterGroupName = "DBClusterParameterGroupName" + case port = "Port" + } + } + + public struct DBParameterGroupList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroup", required: false, type: .list) + ] + public let dBParameterGroup: [DBParameterGroup]? + + public init(dBParameterGroup: [DBParameterGroup]? = nil) { + self.dBParameterGroup = dBParameterGroup + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroup = "DBParameterGroup" + } + } + + public struct AddSourceIdentifierToSubscriptionResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EventSubscription", required: false, type: .structure) + ] + public let eventSubscription: EventSubscription? + + public init(eventSubscription: EventSubscription? = nil) { + self.eventSubscription = eventSubscription + } + + private enum CodingKeys: String, CodingKey { + case eventSubscription = "EventSubscription" + } + } + + public struct AddRoleToDBClusterMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoleArn", required: true, type: .string), + AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) of the IAM role to associate with the Neptune DB cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole. + public let roleArn: String + /// The name of the DB cluster to associate the IAM role with. + public let dBClusterIdentifier: String + + public init(roleArn: String, dBClusterIdentifier: String) { + self.roleArn = roleArn + self.dBClusterIdentifier = dBClusterIdentifier + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "RoleArn" + case dBClusterIdentifier = "DBClusterIdentifier" + } + } + + public struct ValidUpgradeTargetList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UpgradeTarget", required: false, type: .list) + ] + public let upgradeTarget: [UpgradeTarget]? + + public init(upgradeTarget: [UpgradeTarget]? = nil) { + self.upgradeTarget = upgradeTarget + } + + private enum CodingKeys: String, CodingKey { + case upgradeTarget = "UpgradeTarget" + } + } + + public struct DBSubnetGroup: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBSubnetGroupArn", required: false, type: .string), + AWSShapeMember(label: "SubnetGroupStatus", required: false, type: .string), + AWSShapeMember(label: "DBSubnetGroupDescription", required: false, type: .string), + AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), + AWSShapeMember(label: "VpcId", required: false, type: .string), + AWSShapeMember(label: "Subnets", required: false, type: .structure) + ] + /// The Amazon Resource Name (ARN) for the DB subnet group. + public let dBSubnetGroupArn: String? + /// Provides the status of the DB subnet group. + public let subnetGroupStatus: String? + /// Provides the description of the DB subnet group. + public let dBSubnetGroupDescription: String? + /// The name of the DB subnet group. + public let dBSubnetGroupName: String? + /// Provides the VpcId of the DB subnet group. + public let vpcId: String? + /// Contains a list of Subnet elements. + public let subnets: SubnetList? + + public init(dBSubnetGroupArn: String? = nil, subnetGroupStatus: String? = nil, dBSubnetGroupDescription: String? = nil, dBSubnetGroupName: String? = nil, vpcId: String? = nil, subnets: SubnetList? = nil) { + self.dBSubnetGroupArn = dBSubnetGroupArn + self.subnetGroupStatus = subnetGroupStatus + self.dBSubnetGroupDescription = dBSubnetGroupDescription + self.dBSubnetGroupName = dBSubnetGroupName + self.vpcId = vpcId + self.subnets = subnets + } + + private enum CodingKeys: String, CodingKey { + case dBSubnetGroupArn = "DBSubnetGroupArn" + case subnetGroupStatus = "SubnetGroupStatus" + case dBSubnetGroupDescription = "DBSubnetGroupDescription" + case dBSubnetGroupName = "DBSubnetGroupName" + case vpcId = "VpcId" + case subnets = "Subnets" + } + } + + public struct SubnetList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Subnet", required: false, type: .list) + ] + public let subnet: [Subnet]? + + public init(subnet: [Subnet]? = nil) { + self.subnet = subnet + } + + private enum CodingKeys: String, CodingKey { + case subnet = "Subnet" + } + } + + public struct RemoveSourceIdentifierFromSubscriptionMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SourceIdentifier", required: true, type: .string), + AWSShapeMember(label: "SubscriptionName", required: true, type: .string) + ] + /// 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. + public let sourceIdentifier: String + /// The name of the event notification subscription you want to remove a source identifier from. + public let subscriptionName: String + + public init(sourceIdentifier: String, subscriptionName: String) { + self.sourceIdentifier = sourceIdentifier + self.subscriptionName = subscriptionName + } + + private enum CodingKeys: String, CodingKey { + case sourceIdentifier = "SourceIdentifier" + case subscriptionName = "SubscriptionName" + } + } + + public struct ReadReplicaIdentifierList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReadReplicaIdentifier", required: false, type: .list) + ] + public let readReplicaIdentifier: [String]? + + public init(readReplicaIdentifier: [String]? = nil) { + self.readReplicaIdentifier = readReplicaIdentifier + } + + private enum CodingKeys: String, CodingKey { + case readReplicaIdentifier = "ReadReplicaIdentifier" + } + } + + public struct DescribeValidDBInstanceModificationsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ValidDBInstanceModificationsMessage", required: false, type: .structure) + ] + public let validDBInstanceModificationsMessage: ValidDBInstanceModificationsMessage? + + public init(validDBInstanceModificationsMessage: ValidDBInstanceModificationsMessage? = nil) { + self.validDBInstanceModificationsMessage = validDBInstanceModificationsMessage + } + + private enum CodingKeys: String, CodingKey { + case validDBInstanceModificationsMessage = "ValidDBInstanceModificationsMessage" + } + } + + public struct TagListMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TagList", required: false, type: .structure) + ] + /// List of tags returned by the ListTagsForResource operation. + public let tagList: TagList? + + public init(tagList: TagList? = nil) { + self.tagList = tagList + } + + private enum CodingKeys: String, CodingKey { + case tagList = "TagList" + } + } + + public struct DBClusterParameterGroupList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterParameterGroup", required: false, type: .list) + ] + public let dBClusterParameterGroup: [DBClusterParameterGroup]? + + public init(dBClusterParameterGroup: [DBClusterParameterGroup]? = nil) { + self.dBClusterParameterGroup = dBClusterParameterGroup + } + + private enum CodingKeys: String, CodingKey { + case dBClusterParameterGroup = "DBClusterParameterGroup" + } + } + + public struct CopyDBClusterSnapshotMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SourceDBClusterSnapshotIdentifier", required: true, type: .string), + AWSShapeMember(label: "CopyTags", required: false, type: .boolean), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "TargetDBClusterSnapshotIdentifier", required: true, type: .string), + AWSShapeMember(label: "PreSignedUrl", required: false, type: .string) + ] + /// 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 + public let sourceDBClusterSnapshotIdentifier: String + /// True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. The default is false. + public let copyTags: Bool? + /// 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. + public let kmsKeyId: String? + public let tags: TagList? + /// 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 + public let targetDBClusterSnapshotIdentifier: String + /// 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. + public let preSignedUrl: String? + + public init(sourceDBClusterSnapshotIdentifier: String, copyTags: Bool? = nil, kmsKeyId: String? = nil, tags: TagList? = nil, targetDBClusterSnapshotIdentifier: String, preSignedUrl: String? = nil) { + self.sourceDBClusterSnapshotIdentifier = sourceDBClusterSnapshotIdentifier + self.copyTags = copyTags + self.kmsKeyId = kmsKeyId + self.tags = tags + self.targetDBClusterSnapshotIdentifier = targetDBClusterSnapshotIdentifier + self.preSignedUrl = preSignedUrl + } + + private enum CodingKeys: String, CodingKey { + case sourceDBClusterSnapshotIdentifier = "SourceDBClusterSnapshotIdentifier" + case copyTags = "CopyTags" + case kmsKeyId = "KmsKeyId" + case tags = "Tags" + case targetDBClusterSnapshotIdentifier = "TargetDBClusterSnapshotIdentifier" + case preSignedUrl = "PreSignedUrl" + } + } + + public struct ValidDBInstanceModificationsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Storage", required: false, type: .structure) + ] + /// Valid storage options for your DB instance. + public let storage: ValidStorageOptionsList? + + public init(storage: ValidStorageOptionsList? = nil) { + self.storage = storage + } + + private enum CodingKeys: String, CodingKey { + case storage = "Storage" + } + } + + public struct DBEngineVersionMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "DBEngineVersions", required: false, type: .structure) + ] + /// 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. + public let marker: String? + /// A list of DBEngineVersion elements. + public let dBEngineVersions: DBEngineVersionList? + + public init(marker: String? = nil, dBEngineVersions: DBEngineVersionList? = nil) { + self.marker = marker + self.dBEngineVersions = dBEngineVersions + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case dBEngineVersions = "DBEngineVersions" + } + } + + public struct DBParameterGroupsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "DBParameterGroups", required: false, type: .structure) + ] + /// 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. + public let marker: String? + /// A list of DBParameterGroup instances. + public let dBParameterGroups: DBParameterGroupList? + + public init(marker: String? = nil, dBParameterGroups: DBParameterGroupList? = nil) { + self.marker = marker + self.dBParameterGroups = dBParameterGroups + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case dBParameterGroups = "DBParameterGroups" + } + } + + public struct CreateDBClusterMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AvailabilityZones", required: false, type: .structure), + AWSShapeMember(label: "DBClusterParameterGroupName", required: false, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), + AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), + AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), + AWSShapeMember(label: "CharacterSetName", required: false, type: .string), + AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), + AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string), + AWSShapeMember(label: "OptionGroupName", required: false, type: .string), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "MasterUsername", required: false, type: .string), + AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), + AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), + AWSShapeMember(label: "ReplicationSourceIdentifier", required: false, type: .string), + AWSShapeMember(label: "PreSignedUrl", required: false, type: .string), + AWSShapeMember(label: "Engine", required: true, type: .string), + AWSShapeMember(label: "StorageEncrypted", required: false, type: .boolean), + AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), + AWSShapeMember(label: "DatabaseName", required: false, type: .string), + AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string) + ] + /// A list of EC2 Availability Zones that instances in the DB cluster can be created in. + public let availabilityZones: AvailabilityZones? + /// 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. + public let dBClusterParameterGroupName: String? + public let tags: TagList? + /// A list of EC2 VPC security groups to associate with this DB cluster. + public let vpcSecurityGroupIds: VpcSecurityGroupIdList? + /// 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. + public let masterUserPassword: String? + /// 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 + public let backupRetentionPeriod: Int32? + /// A value that indicates that the DB cluster should be associated with the specified CharacterSet. + public let characterSetName: String? + /// 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. + public let preferredBackupWindow: String? + /// 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 + public let dBClusterIdentifier: String + /// 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. + public let optionGroupName: String? + /// The version number of the database engine to use. Example: 1.0.1 + public let engineVersion: String? + /// 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. + public let masterUsername: String? + /// 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 + public let dBSubnetGroupName: String? + /// True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false. Default: false + public let enableIAMDatabaseAuthentication: Bool? + /// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica. + public let replicationSourceIdentifier: String? + /// 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. + public let preSignedUrl: String? + /// The name of the database engine to be used for this DB cluster. Valid Values: neptune + public let engine: String + /// Specifies whether the DB cluster is encrypted. + public let storageEncrypted: Bool? + /// 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. + public let preferredMaintenanceWindow: String? + /// 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. + public let databaseName: String? + /// The port number on which the instances in the DB cluster accept connections. Default: 8182 + public let port: Int32? + /// 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. + public let kmsKeyId: String? + + public init(availabilityZones: AvailabilityZones? = nil, dBClusterParameterGroupName: String? = nil, tags: TagList? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, masterUserPassword: String? = nil, backupRetentionPeriod: Int32? = nil, characterSetName: String? = nil, preferredBackupWindow: String? = nil, dBClusterIdentifier: String, optionGroupName: String? = nil, engineVersion: String? = nil, masterUsername: String? = nil, dBSubnetGroupName: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, replicationSourceIdentifier: String? = nil, preSignedUrl: String? = nil, engine: String, storageEncrypted: Bool? = nil, preferredMaintenanceWindow: String? = nil, databaseName: String? = nil, port: Int32? = nil, kmsKeyId: String? = nil) { + self.availabilityZones = availabilityZones + self.dBClusterParameterGroupName = dBClusterParameterGroupName + self.tags = tags + self.vpcSecurityGroupIds = vpcSecurityGroupIds + self.masterUserPassword = masterUserPassword + self.backupRetentionPeriod = backupRetentionPeriod + self.characterSetName = characterSetName + self.preferredBackupWindow = preferredBackupWindow + self.dBClusterIdentifier = dBClusterIdentifier + self.optionGroupName = optionGroupName + self.engineVersion = engineVersion + self.masterUsername = masterUsername + self.dBSubnetGroupName = dBSubnetGroupName + self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication + self.replicationSourceIdentifier = replicationSourceIdentifier + self.preSignedUrl = preSignedUrl + self.engine = engine + self.storageEncrypted = storageEncrypted + self.preferredMaintenanceWindow = preferredMaintenanceWindow + self.databaseName = databaseName + self.port = port + self.kmsKeyId = kmsKeyId + } + + private enum CodingKeys: String, CodingKey { + case availabilityZones = "AvailabilityZones" + case dBClusterParameterGroupName = "DBClusterParameterGroupName" + case tags = "Tags" + case vpcSecurityGroupIds = "VpcSecurityGroupIds" + case masterUserPassword = "MasterUserPassword" + case backupRetentionPeriod = "BackupRetentionPeriod" + case characterSetName = "CharacterSetName" + case preferredBackupWindow = "PreferredBackupWindow" + case dBClusterIdentifier = "DBClusterIdentifier" + case optionGroupName = "OptionGroupName" + case engineVersion = "EngineVersion" + case masterUsername = "MasterUsername" + case dBSubnetGroupName = "DBSubnetGroupName" + case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" + case replicationSourceIdentifier = "ReplicationSourceIdentifier" + case preSignedUrl = "PreSignedUrl" + case engine = "Engine" + case storageEncrypted = "StorageEncrypted" + case preferredMaintenanceWindow = "PreferredMaintenanceWindow" + case databaseName = "DatabaseName" + case port = "Port" + case kmsKeyId = "KmsKeyId" + } + } + + public struct RestoreDBClusterFromSnapshotMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AvailabilityZones", required: false, type: .structure), + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), + AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string), + AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), + AWSShapeMember(label: "OptionGroupName", required: false, type: .string), + AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "SnapshotIdentifier", required: true, type: .string), + AWSShapeMember(label: "Engine", required: true, type: .string), + AWSShapeMember(label: "DatabaseName", required: false, type: .string), + AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string) + ] + /// Provides the list of EC2 Availability Zones that instances in the restored DB cluster can be created in. + public let availabilityZones: AvailabilityZones? + /// The tags to be assigned to the restored DB cluster. + public let tags: TagList? + /// A list of VPC security groups that the new DB cluster will belong to. + public let vpcSecurityGroupIds: VpcSecurityGroupIdList? + /// 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 + public let dBClusterIdentifier: String + /// 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 + public let dBSubnetGroupName: String? + /// The name of the option group to use for the restored DB cluster. + public let optionGroupName: String? + /// True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false. Default: false + public let enableIAMDatabaseAuthentication: Bool? + /// The version of the database engine to use for the new DB cluster. + public let engineVersion: String? + /// 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. + public let snapshotIdentifier: String + /// 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 + public let engine: String + /// The database name for the restored DB cluster. + public let databaseName: String? + /// 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. + public let port: Int32? + /// 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. + public let kmsKeyId: String? + + public init(availabilityZones: AvailabilityZones? = nil, tags: TagList? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, dBClusterIdentifier: String, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, engineVersion: String? = nil, snapshotIdentifier: String, engine: String, databaseName: String? = nil, port: Int32? = nil, kmsKeyId: String? = nil) { + self.availabilityZones = availabilityZones + self.tags = tags + self.vpcSecurityGroupIds = vpcSecurityGroupIds + self.dBClusterIdentifier = dBClusterIdentifier + self.dBSubnetGroupName = dBSubnetGroupName + self.optionGroupName = optionGroupName + self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication + self.engineVersion = engineVersion + self.snapshotIdentifier = snapshotIdentifier + self.engine = engine + self.databaseName = databaseName + self.port = port + self.kmsKeyId = kmsKeyId + } + + private enum CodingKeys: String, CodingKey { + case availabilityZones = "AvailabilityZones" + case tags = "Tags" + case vpcSecurityGroupIds = "VpcSecurityGroupIds" + case dBClusterIdentifier = "DBClusterIdentifier" + case dBSubnetGroupName = "DBSubnetGroupName" + case optionGroupName = "OptionGroupName" + case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" + case engineVersion = "EngineVersion" + case snapshotIdentifier = "SnapshotIdentifier" + case engine = "Engine" + case databaseName = "DatabaseName" + case port = "Port" + case kmsKeyId = "KmsKeyId" + } + } + + public struct DescribeDBInstancesMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "DBInstanceIdentifier", required: false, type: .string) + ] + /// 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. + public let maxRecords: Int32? + /// 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. + public let filters: FilterList? + /// 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. + public let marker: String? + /// 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. + public let dBInstanceIdentifier: String? + + public init(maxRecords: Int32? = nil, filters: FilterList? = nil, marker: String? = nil, dBInstanceIdentifier: String? = nil) { + self.maxRecords = maxRecords + self.filters = filters + self.marker = marker + self.dBInstanceIdentifier = dBInstanceIdentifier + } + + private enum CodingKeys: String, CodingKey { + case maxRecords = "MaxRecords" + case filters = "Filters" + case marker = "Marker" + case dBInstanceIdentifier = "DBInstanceIdentifier" + } + } + + public struct DescribeOrderableDBInstanceOptionsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "LicenseModel", required: false, type: .string), + AWSShapeMember(label: "Engine", required: true, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "Vpc", required: false, type: .boolean), + AWSShapeMember(label: "DBInstanceClass", required: false, type: .string) + ] + /// 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. + public let maxRecords: Int32? + /// The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version. + public let engineVersion: String? + /// 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 . + public let marker: String? + /// The license model filter value. Specify this parameter to show only the available offerings matching the specified license model. + public let licenseModel: String? + /// The name of the engine to retrieve DB instance options for. + public let engine: String + /// This parameter is not currently supported. + public let filters: FilterList? + /// The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings. + public let vpc: Bool? + /// The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class. + public let dBInstanceClass: String? + + public init(maxRecords: Int32? = nil, engineVersion: String? = nil, marker: String? = nil, licenseModel: String? = nil, engine: String, filters: FilterList? = nil, vpc: Bool? = nil, dBInstanceClass: String? = nil) { + self.maxRecords = maxRecords + self.engineVersion = engineVersion + self.marker = marker + self.licenseModel = licenseModel + self.engine = engine + self.filters = filters + self.vpc = vpc + self.dBInstanceClass = dBInstanceClass + } + + private enum CodingKeys: String, CodingKey { + case maxRecords = "MaxRecords" + case engineVersion = "EngineVersion" + case marker = "Marker" + case licenseModel = "LicenseModel" + case engine = "Engine" + case filters = "Filters" + case vpc = "Vpc" + case dBInstanceClass = "DBInstanceClass" + } + } + + public struct PendingModifiedValues: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBInstanceIdentifier", required: false, type: .string), + AWSShapeMember(label: "MultiAZ", required: false, type: .boolean), + AWSShapeMember(label: "LicenseModel", required: false, type: .string), + AWSShapeMember(label: "StorageType", required: false, type: .string), + AWSShapeMember(label: "AllocatedStorage", required: false, type: .integer), + AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), + AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), + AWSShapeMember(label: "Iops", required: false, type: .integer), + AWSShapeMember(label: "CACertificateIdentifier", required: false, type: .string), + AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), + AWSShapeMember(label: "PendingCloudwatchLogsExports", required: false, type: .structure), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "DBInstanceClass", required: false, type: .string) + ] + /// Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied. + public let dBInstanceIdentifier: String? + /// Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment. + public let multiAZ: Bool? + /// The license model for the DB instance. Valid values: license-included | bring-your-own-license | general-public-license + public let licenseModel: String? + /// Specifies the storage type to be associated with the DB instance. + public let storageType: String? + /// Contains the new AllocatedStorage size for the DB instance that will be applied or is currently being applied. + public let allocatedStorage: Int32? + /// Contains the pending or currently-in-progress change of the master credentials for the DB instance. + public let masterUserPassword: String? + /// Specifies the pending number of days for which automated backups are retained. + public let backupRetentionPeriod: Int32? + /// Specifies the new Provisioned IOPS value for the DB instance that will be applied or is currently being applied. + public let iops: Int32? + /// Specifies the identifier of the CA certificate for the DB instance. + public let cACertificateIdentifier: String? + /// The new DB subnet group for the DB instance. + public let dBSubnetGroupName: String? + public let pendingCloudwatchLogsExports: PendingCloudwatchLogsExports? + /// Indicates the database engine version. + public let engineVersion: String? + /// Specifies the pending port for the DB instance. + public let port: Int32? + /// Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied. + public let dBInstanceClass: String? + + public init(dBInstanceIdentifier: String? = nil, multiAZ: Bool? = nil, licenseModel: String? = nil, storageType: String? = nil, allocatedStorage: Int32? = nil, masterUserPassword: String? = nil, backupRetentionPeriod: Int32? = nil, iops: Int32? = nil, cACertificateIdentifier: String? = nil, dBSubnetGroupName: String? = nil, pendingCloudwatchLogsExports: PendingCloudwatchLogsExports? = nil, engineVersion: String? = nil, port: Int32? = nil, dBInstanceClass: String? = nil) { + self.dBInstanceIdentifier = dBInstanceIdentifier + self.multiAZ = multiAZ + self.licenseModel = licenseModel + self.storageType = storageType + self.allocatedStorage = allocatedStorage + self.masterUserPassword = masterUserPassword + self.backupRetentionPeriod = backupRetentionPeriod + self.iops = iops + self.cACertificateIdentifier = cACertificateIdentifier + self.dBSubnetGroupName = dBSubnetGroupName + self.pendingCloudwatchLogsExports = pendingCloudwatchLogsExports + self.engineVersion = engineVersion + self.port = port + self.dBInstanceClass = dBInstanceClass + } + + private enum CodingKeys: String, CodingKey { + case dBInstanceIdentifier = "DBInstanceIdentifier" + case multiAZ = "MultiAZ" + case licenseModel = "LicenseModel" + case storageType = "StorageType" + case allocatedStorage = "AllocatedStorage" + case masterUserPassword = "MasterUserPassword" + case backupRetentionPeriod = "BackupRetentionPeriod" + case iops = "Iops" + case cACertificateIdentifier = "CACertificateIdentifier" + case dBSubnetGroupName = "DBSubnetGroupName" + case pendingCloudwatchLogsExports = "PendingCloudwatchLogsExports" + case engineVersion = "EngineVersion" + case port = "Port" + case dBInstanceClass = "DBInstanceClass" + } + } + + public struct ModifyDBInstanceMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AllowMajorVersionUpgrade", required: false, type: .boolean), + AWSShapeMember(label: "TdeCredentialPassword", required: false, type: .string), + AWSShapeMember(label: "DBPortNumber", required: false, type: .integer), + AWSShapeMember(label: "EnablePerformanceInsights", required: false, type: .boolean), + AWSShapeMember(label: "ApplyImmediately", required: false, type: .boolean), + AWSShapeMember(label: "Iops", required: false, type: .integer), + AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), + AWSShapeMember(label: "DBSecurityGroups", required: false, type: .structure), + AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), + AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), + AWSShapeMember(label: "CACertificateIdentifier", required: false, type: .string), + AWSShapeMember(label: "PerformanceInsightsKMSKeyId", required: false, type: .string), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), + AWSShapeMember(label: "PromotionTier", required: false, type: .integer), + AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), + AWSShapeMember(label: "CopyTagsToSnapshot", required: false, type: .boolean), + AWSShapeMember(label: "DomainIAMRoleName", required: false, type: .string), + AWSShapeMember(label: "Domain", required: false, type: .string), + AWSShapeMember(label: "DBInstanceClass", required: false, type: .string), + AWSShapeMember(label: "MultiAZ", required: false, type: .boolean), + AWSShapeMember(label: "AllocatedStorage", required: false, type: .integer), + AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), + AWSShapeMember(label: "StorageType", required: false, type: .string), + AWSShapeMember(label: "LicenseModel", required: false, type: .string), + AWSShapeMember(label: "TdeCredentialArn", required: false, type: .string), + AWSShapeMember(label: "DBParameterGroupName", required: false, type: .string), + AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), + AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), + AWSShapeMember(label: "CloudwatchLogsExportConfiguration", required: false, type: .structure), + AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), + AWSShapeMember(label: "OptionGroupName", required: false, type: .string), + AWSShapeMember(label: "MonitoringRoleArn", required: false, type: .string), + AWSShapeMember(label: "MonitoringInterval", required: false, type: .integer), + AWSShapeMember(label: "NewDBInstanceIdentifier", required: false, type: .string), + AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string) + ] + /// 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. + public let allowMajorVersionUpgrade: Bool? + /// The password for the given ARN from the key store in order to access the device. + public let tdeCredentialPassword: String? + /// 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 + public let dBPortNumber: Int32? + /// True to enable Performance Insights for the DB instance, and otherwise false. + public let enablePerformanceInsights: Bool? + /// 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 + public let applyImmediately: Bool? + /// 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 + public let iops: Int32? + /// The new password for the master user. The password can include any printable ASCII character except "/", """, or "@". Not applicable. Default: Uses existing setting + public let masterUserPassword: String? + /// 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. + public let dBSecurityGroups: DBSecurityGroupNameList? + /// 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. + public let autoMinorVersionUpgrade: Bool? + /// 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 + public let backupRetentionPeriod: Int32? + /// Indicates the certificate that needs to be associated with the instance. + public let cACertificateIdentifier: String? + /// 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. + public let performanceInsightsKMSKeyId: String? + /// 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. + public let engineVersion: String? + /// 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 + public let enableIAMDatabaseAuthentication: Bool? + /// 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 + public let promotionTier: Int32? + /// 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 + public let preferredMaintenanceWindow: String? + /// True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false. + public let copyTagsToSnapshot: Bool? + /// Not supported + public let domainIAMRoleName: String? + /// Not supported. + public let domain: String? + /// 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 + public let dBInstanceClass: String? + /// 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. + public let multiAZ: Bool? + /// The new amount of storage (in gibibytes) to allocate for the DB instance. Not applicable. Storage is managed by the DB Cluster. + public let allocatedStorage: Int32? + /// 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. + public let vpcSecurityGroupIds: VpcSecurityGroupIdList? + /// 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 + public let storageType: String? + /// The license model for the DB instance. Valid values: license-included | bring-your-own-license | general-public-license + public let licenseModel: String? + /// The ARN from the key store with which to associate the instance for TDE encryption. + public let tdeCredentialArn: String? + /// 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. + public let dBParameterGroupName: String? + /// This parameter is not supported. + public let publiclyAccessible: Bool? + /// 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 + public let preferredBackupWindow: String? + /// The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster. + public let cloudwatchLogsExportConfiguration: CloudwatchLogsExportConfiguration? + /// 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 + public let dBSubnetGroupName: String? + /// 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 + public let optionGroupName: String? + /// 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. + public let monitoringRoleArn: String? + /// 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 + public let monitoringInterval: Int32? + /// 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 + public let newDBInstanceIdentifier: String? + /// The DB instance identifier. This value is stored as a lowercase string. Constraints: Must match the identifier of an existing DBInstance. + public let dBInstanceIdentifier: String + + public init(allowMajorVersionUpgrade: Bool? = nil, tdeCredentialPassword: String? = nil, dBPortNumber: Int32? = nil, enablePerformanceInsights: Bool? = nil, applyImmediately: Bool? = nil, iops: Int32? = nil, masterUserPassword: String? = nil, dBSecurityGroups: DBSecurityGroupNameList? = nil, autoMinorVersionUpgrade: Bool? = nil, backupRetentionPeriod: Int32? = nil, cACertificateIdentifier: String? = nil, performanceInsightsKMSKeyId: String? = nil, engineVersion: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, promotionTier: Int32? = nil, preferredMaintenanceWindow: String? = nil, copyTagsToSnapshot: Bool? = nil, domainIAMRoleName: String? = nil, domain: String? = nil, dBInstanceClass: String? = nil, multiAZ: Bool? = nil, allocatedStorage: Int32? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, storageType: String? = nil, licenseModel: String? = nil, tdeCredentialArn: String? = nil, dBParameterGroupName: String? = nil, publiclyAccessible: Bool? = nil, preferredBackupWindow: String? = nil, cloudwatchLogsExportConfiguration: CloudwatchLogsExportConfiguration? = nil, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, monitoringRoleArn: String? = nil, monitoringInterval: Int32? = nil, newDBInstanceIdentifier: String? = nil, dBInstanceIdentifier: String) { + self.allowMajorVersionUpgrade = allowMajorVersionUpgrade + self.tdeCredentialPassword = tdeCredentialPassword + self.dBPortNumber = dBPortNumber + self.enablePerformanceInsights = enablePerformanceInsights + self.applyImmediately = applyImmediately + self.iops = iops + self.masterUserPassword = masterUserPassword + self.dBSecurityGroups = dBSecurityGroups + self.autoMinorVersionUpgrade = autoMinorVersionUpgrade + self.backupRetentionPeriod = backupRetentionPeriod + self.cACertificateIdentifier = cACertificateIdentifier + self.performanceInsightsKMSKeyId = performanceInsightsKMSKeyId + self.engineVersion = engineVersion + self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication + self.promotionTier = promotionTier + self.preferredMaintenanceWindow = preferredMaintenanceWindow + self.copyTagsToSnapshot = copyTagsToSnapshot + self.domainIAMRoleName = domainIAMRoleName + self.domain = domain + self.dBInstanceClass = dBInstanceClass + self.multiAZ = multiAZ + self.allocatedStorage = allocatedStorage + self.vpcSecurityGroupIds = vpcSecurityGroupIds + self.storageType = storageType + self.licenseModel = licenseModel + self.tdeCredentialArn = tdeCredentialArn + self.dBParameterGroupName = dBParameterGroupName + self.publiclyAccessible = publiclyAccessible + self.preferredBackupWindow = preferredBackupWindow + self.cloudwatchLogsExportConfiguration = cloudwatchLogsExportConfiguration + self.dBSubnetGroupName = dBSubnetGroupName + self.optionGroupName = optionGroupName + self.monitoringRoleArn = monitoringRoleArn + self.monitoringInterval = monitoringInterval + self.newDBInstanceIdentifier = newDBInstanceIdentifier + self.dBInstanceIdentifier = dBInstanceIdentifier + } + + private enum CodingKeys: String, CodingKey { + case allowMajorVersionUpgrade = "AllowMajorVersionUpgrade" + case tdeCredentialPassword = "TdeCredentialPassword" + case dBPortNumber = "DBPortNumber" + case enablePerformanceInsights = "EnablePerformanceInsights" + case applyImmediately = "ApplyImmediately" + case iops = "Iops" + case masterUserPassword = "MasterUserPassword" + case dBSecurityGroups = "DBSecurityGroups" + case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" + case backupRetentionPeriod = "BackupRetentionPeriod" + case cACertificateIdentifier = "CACertificateIdentifier" + case performanceInsightsKMSKeyId = "PerformanceInsightsKMSKeyId" + case engineVersion = "EngineVersion" + case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" + case promotionTier = "PromotionTier" + case preferredMaintenanceWindow = "PreferredMaintenanceWindow" + case copyTagsToSnapshot = "CopyTagsToSnapshot" + case domainIAMRoleName = "DomainIAMRoleName" + case domain = "Domain" + case dBInstanceClass = "DBInstanceClass" + case multiAZ = "MultiAZ" + case allocatedStorage = "AllocatedStorage" + case vpcSecurityGroupIds = "VpcSecurityGroupIds" + case storageType = "StorageType" + case licenseModel = "LicenseModel" + case tdeCredentialArn = "TdeCredentialArn" + case dBParameterGroupName = "DBParameterGroupName" + case publiclyAccessible = "PubliclyAccessible" + case preferredBackupWindow = "PreferredBackupWindow" + case cloudwatchLogsExportConfiguration = "CloudwatchLogsExportConfiguration" + case dBSubnetGroupName = "DBSubnetGroupName" + case optionGroupName = "OptionGroupName" + case monitoringRoleArn = "MonitoringRoleArn" + case monitoringInterval = "MonitoringInterval" + case newDBInstanceIdentifier = "NewDBInstanceIdentifier" + case dBInstanceIdentifier = "DBInstanceIdentifier" + } + } + + public struct DBParameterGroup: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroupFamily", required: false, type: .string), + AWSShapeMember(label: "DBParameterGroupArn", required: false, type: .string), + AWSShapeMember(label: "DBParameterGroupName", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// Provides the name of the DB parameter group family that this DB parameter group is compatible with. + public let dBParameterGroupFamily: String? + /// The Amazon Resource Name (ARN) for the DB parameter group. + public let dBParameterGroupArn: String? + /// Provides the name of the DB parameter group. + public let dBParameterGroupName: String? + /// Provides the customer-specified description for this DB parameter group. + public let description: String? + + public init(dBParameterGroupFamily: String? = nil, dBParameterGroupArn: String? = nil, dBParameterGroupName: String? = nil, description: String? = nil) { + self.dBParameterGroupFamily = dBParameterGroupFamily + self.dBParameterGroupArn = dBParameterGroupArn + self.dBParameterGroupName = dBParameterGroupName + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroupFamily = "DBParameterGroupFamily" + case dBParameterGroupArn = "DBParameterGroupArn" + case dBParameterGroupName = "DBParameterGroupName" + case description = "Description" + } + } + + public struct ParametersList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Parameter", required: false, type: .list) + ] + public let parameter: [Parameter]? + + public init(parameter: [Parameter]? = nil) { + self.parameter = parameter + } + + private enum CodingKeys: String, CodingKey { + case parameter = "Parameter" + } + } + + public struct DBParameterGroupNameMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBParameterGroupName", required: false, type: .string) + ] + /// Provides the name of the DB parameter group. + public let dBParameterGroupName: String? + + public init(dBParameterGroupName: String? = nil) { + self.dBParameterGroupName = dBParameterGroupName + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroupName = "DBParameterGroupName" + } + } + + public struct PendingMaintenanceActions: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourcePendingMaintenanceActions", required: false, type: .list) + ] + public let resourcePendingMaintenanceActions: [ResourcePendingMaintenanceActions]? + + public init(resourcePendingMaintenanceActions: [ResourcePendingMaintenanceActions]? = nil) { + self.resourcePendingMaintenanceActions = resourcePendingMaintenanceActions + } + + private enum CodingKeys: String, CodingKey { + case resourcePendingMaintenanceActions = "ResourcePendingMaintenanceActions" + } + } + + public struct Filter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Values", required: true, type: .structure) + ] + /// This parameter is not currently supported. + public let name: String + /// This parameter is not currently supported. + public let values: FilterValueList + + public init(name: String, values: FilterValueList) { + self.name = name + self.values = values + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case values = "Values" + } + } + + public struct EventCategoriesMapList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EventCategoriesMap", required: false, type: .list) + ] + public let eventCategoriesMap: [EventCategoriesMap]? + + public init(eventCategoriesMap: [EventCategoriesMap]? = nil) { + self.eventCategoriesMap = eventCategoriesMap + } + + private enum CodingKeys: String, CodingKey { + case eventCategoriesMap = "EventCategoriesMap" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/opsworks/Opsworks_API.swift b/Sources/AWSSDKSwift/Services/opsworks/Opsworks_API.swift index 4f0ecb07171..677c8676ee6 100644 --- a/Sources/AWSSDKSwift/Services/opsworks/Opsworks_API.swift +++ b/Sources/AWSSDKSwift/Services/opsworks/Opsworks_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -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: AWS CLI AWS SDK for Java AWS SDK for .NET AWS SDK for PHP 2 AWS SDK for Ruby AWS SDK for Node.js AWS SDK for Python(Boto) Endpoints AWS OpsWorks Stacks supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Stacks can only be accessed or managed within the endpoint in which they are created. opsworks.us-east-1.amazonaws.com opsworks.us-east-2.amazonaws.com opsworks.us-west-1.amazonaws.com opsworks.us-west-2.amazonaws.com opsworks.eu-west-1.amazonaws.com opsworks.eu-west-2.amazonaws.com opsworks.eu-central-1.amazonaws.com opsworks.ap-northeast-1.amazonaws.com opsworks.ap-northeast-2.amazonaws.com opsworks.ap-south-1.amazonaws.com opsworks.ap-southeast-1.amazonaws.com opsworks.ap-southeast-2.amazonaws.com opsworks.sa-east-1.amazonaws.com Chef Versions When you call CreateStack, CloneStack, or UpdateStack we recommend you use the ConfigurationManager parameter to specify the Chef version. The recommended and default value for Linux stacks is currently 12. Windows stacks use Chef 12.2. For more information, see Chef Versions. You can specify Chef 12, 11.10, or 11.4 for your Linux stack. We recommend migrating your existing Linux stacks to Chef 12 as soon as possible. +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: AWS CLI AWS SDK for Java AWS SDK for .NET AWS SDK for PHP 2 AWS SDK for Ruby AWS SDK for Node.js AWS SDK for Python(Boto) 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. */ public struct Opsworks { @@ -40,12 +40,12 @@ public struct Opsworks { return try client.send(operation: "CreateLayer", path: "/", httpMethod: "POST", input: input) } - /// Describes time-based auto scaling configurations for specified instances. You must specify at least one of the parameters. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeTimeBasedAutoScaling(_ input: DescribeTimeBasedAutoScalingRequest) throws -> DescribeTimeBasedAutoScalingResult { return try client.send(operation: "DescribeTimeBasedAutoScaling", path: "/", httpMethod: "POST", input: input) } - /// Deletes a user profile. Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func deleteUserProfile(_ input: DeleteUserProfileRequest) throws { _ = try client.send(operation: "DeleteUserProfile", path: "/", httpMethod: "POST", input: input) } @@ -55,7 +55,7 @@ public struct Opsworks { _ = try client.send(operation: "RebootInstance", path: "/", httpMethod: "POST", input: input) } - /// Describes the number of layers and apps in a specified stack, and the number of instances in each state, such as running_setup or online. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeStackSummary(_ input: DescribeStackSummaryRequest) throws -> DescribeStackSummaryResult { return try client.send(operation: "DescribeStackSummary", path: "/", httpMethod: "POST", input: input) } @@ -70,7 +70,7 @@ public struct Opsworks { return try client.send(operation: "ListTags", path: "/", httpMethod: "POST", input: input) } - /// Requests a description of one or more layers in a specified stack. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeLayers(_ input: DescribeLayersRequest) throws -> DescribeLayersResult { return try client.send(operation: "DescribeLayers", path: "/", httpMethod: "POST", input: input) } @@ -80,7 +80,7 @@ public struct Opsworks { _ = try client.send(operation: "UpdateRdsDbInstance", path: "/", httpMethod: "POST", input: input) } - /// Requests a description of a specified set of deployments. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeDeployments(_ input: DescribeDeploymentsRequest) throws -> DescribeDeploymentsResult { return try client.send(operation: "DescribeDeployments", path: "/", httpMethod: "POST", input: input) } @@ -90,7 +90,7 @@ public struct Opsworks { _ = try client.send(operation: "RegisterRdsDbInstance", path: "/", httpMethod: "POST", input: input) } - /// Describes Amazon RDS instances. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. This call accepts only one resource-identifying parameter. + /// 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. public func describeRdsDbInstances(_ input: DescribeRdsDbInstancesRequest) throws -> DescribeRdsDbInstancesResult { return try client.send(operation: "DescribeRdsDbInstances", path: "/", httpMethod: "POST", input: input) } @@ -115,12 +115,12 @@ public struct Opsworks { _ = try client.send(operation: "DeleteStack", path: "/", httpMethod: "POST", input: input) } - /// Deregister a registered Amazon EC2 or on-premises instance. This action removes the instance from the stack and returns it to your control. This action can not be used with instances that were created with AWS OpsWorks Stacks. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func deregisterInstance(_ input: DeregisterInstanceRequest) throws { _ = try client.send(operation: "DeregisterInstance", path: "/", httpMethod: "POST", input: input) } - /// Describes Elastic IP addresses. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeElasticIps(_ input: DescribeElasticIpsRequest) throws -> DescribeElasticIpsResult { return try client.send(operation: "DescribeElasticIps", path: "/", httpMethod: "POST", input: input) } @@ -130,12 +130,12 @@ public struct Opsworks { _ = try client.send(operation: "AssociateElasticIp", path: "/", httpMethod: "POST", input: input) } - /// Describe specified users. Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeUserProfiles(_ input: DescribeUserProfilesRequest) throws -> DescribeUserProfilesResult { return try client.send(operation: "DescribeUserProfiles", path: "/", httpMethod: "POST", input: input) } - /// Creates a new stack. For more information, see Create a New Stack. Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func createStack(_ input: CreateStackRequest) throws -> CreateStackResult { return try client.send(operation: "CreateStack", path: "/", httpMethod: "POST", input: input) } @@ -150,7 +150,7 @@ public struct Opsworks { _ = try client.send(operation: "StartInstance", path: "/", httpMethod: "POST", input: input) } - /// Describe an instance's RAID arrays. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeRaidArrays(_ input: DescribeRaidArraysRequest) throws -> DescribeRaidArraysResult { return try client.send(operation: "DescribeRaidArrays", path: "/", httpMethod: "POST", input: input) } @@ -160,7 +160,7 @@ public struct Opsworks { return try client.send(operation: "CreateDeployment", path: "/", httpMethod: "POST", input: input) } - /// Describes AWS OpsWorks Stacks service errors. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. This call accepts only one resource-identifying parameter. + /// 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. public func describeServiceErrors(_ input: DescribeServiceErrorsRequest) throws -> DescribeServiceErrorsResult { return try client.send(operation: "DescribeServiceErrors", path: "/", httpMethod: "POST", input: input) } @@ -170,12 +170,12 @@ public struct Opsworks { _ = try client.send(operation: "DetachElasticLoadBalancer", path: "/", httpMethod: "POST", input: input) } - /// Describes Amazon ECS clusters that are registered with a stack. If you specify only a stack ID, you can use the MaxResults and NextToken parameters to paginate the response. However, AWS OpsWorks Stacks currently supports only one cluster per layer, so the result set has a maximum of one element. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permission. For more information on user permissions, see Managing User Permissions. This call accepts only one resource-identifying parameter. + /// 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. public func describeEcsClusters(_ input: DescribeEcsClustersRequest) throws -> DescribeEcsClustersResult { return try client.send(operation: "DescribeEcsClusters", path: "/", httpMethod: "POST", input: input) } - /// Describes a stack's Elastic Load Balancing instances. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeElasticLoadBalancers(_ input: DescribeElasticLoadBalancersRequest) throws -> DescribeElasticLoadBalancersResult { return try client.send(operation: "DescribeElasticLoadBalancers", path: "/", httpMethod: "POST", input: input) } @@ -195,9 +195,9 @@ public struct Opsworks { _ = try client.send(operation: "AssignVolume", path: "/", httpMethod: "POST", input: input) } - /// Requests a description of one or more stacks. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. - public func describeStacks(_ input: DescribeStacksRequest) throws -> DescribeStacksResult { - return try client.send(operation: "DescribeStacks", path: "/", httpMethod: "POST", input: input) + /// Describes the operating systems that are supported by AWS OpsWorks Stacks. + public func describeOperatingSystems() throws -> DescribeOperatingSystemsResponse { + return try client.send(operation: "DescribeOperatingSystems", path: "/", httpMethod: "POST") } /// 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. @@ -205,16 +205,16 @@ public struct Opsworks { _ = try client.send(operation: "SetPermission", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describeStacks(_ input: DescribeStacksRequest) throws -> DescribeStacksResult { + return try client.send(operation: "DescribeStacks", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func registerVolume(_ input: RegisterVolumeRequest) throws -> RegisterVolumeResult { return try client.send(operation: "RegisterVolume", path: "/", httpMethod: "POST", input: input) } - /// Creates a clone of a specified stack. For more information, see Clone a Stack. By default, all parameters are set to the values used by the parent stack. Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. - public func cloneStack(_ input: CloneStackRequest) throws -> CloneStackResult { - return try client.send(operation: "CloneStack", path: "/", httpMethod: "POST", input: input) - } - /// 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. public func unassignVolume(_ input: UnassignVolumeRequest) throws { _ = try client.send(operation: "UnassignVolume", path: "/", httpMethod: "POST", input: input) @@ -230,9 +230,9 @@ public struct Opsworks { _ = try client.send(operation: "UpdateInstance", path: "/", httpMethod: "POST", input: input) } - /// Unassigns a registered instance from all of it's layers. The instance remains in the stack as an unassigned instance and can be assigned to another layer, as needed. You cannot use this action with instances that were created with AWS OpsWorks Stacks. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. - public func unassignInstance(_ input: UnassignInstanceRequest) throws { - _ = try client.send(operation: "UnassignInstance", path: "/", httpMethod: "POST", input: input) + /// 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. + public func cloneStack(_ input: CloneStackRequest) throws -> CloneStackResult { + return try client.send(operation: "CloneStack", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -250,9 +250,9 @@ public struct Opsworks { _ = try client.send(operation: "UpdateStack", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func describePermissions(_ input: DescribePermissionsRequest) throws -> DescribePermissionsResult { - return try client.send(operation: "DescribePermissions", path: "/", httpMethod: "POST", input: input) + /// 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. + public func unassignInstance(_ input: UnassignInstanceRequest) throws { + _ = try client.send(operation: "UnassignInstance", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -260,17 +260,22 @@ public struct Opsworks { return try client.send(operation: "GetHostnameSuggestion", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describePermissions(_ input: DescribePermissionsRequest) throws -> DescribePermissionsResult { + return try client.send(operation: "DescribePermissions", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func setLoadBasedAutoScaling(_ input: SetLoadBasedAutoScalingRequest) throws { _ = try client.send(operation: "SetLoadBasedAutoScaling", path: "/", httpMethod: "POST", input: input) } - /// Describes an instance's Amazon EBS volumes. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeVolumes(_ input: DescribeVolumesRequest) throws -> DescribeVolumesResult { return try client.send(operation: "DescribeVolumes", path: "/", httpMethod: "POST", input: input) } - /// Updates a specified user profile. Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func updateUserProfile(_ input: UpdateUserProfileRequest) throws { _ = try client.send(operation: "UpdateUserProfile", path: "/", httpMethod: "POST", input: input) } @@ -280,7 +285,7 @@ public struct Opsworks { _ = try client.send(operation: "SetTimeBasedAutoScaling", path: "/", httpMethod: "POST", input: input) } - /// Requests a description of a stack's provisioning parameters. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeStackProvisioningParameters(_ input: DescribeStackProvisioningParametersRequest) throws -> DescribeStackProvisioningParametersResult { return try client.send(operation: "DescribeStackProvisioningParameters", path: "/", httpMethod: "POST", input: input) } @@ -305,12 +310,12 @@ public struct Opsworks { _ = try client.send(operation: "DeleteLayer", path: "/", httpMethod: "POST", input: input) } - /// Creates a new user profile. Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func createUserProfile(_ input: CreateUserProfileRequest) throws -> CreateUserProfileResult { return try client.send(operation: "CreateUserProfile", path: "/", httpMethod: "POST", input: input) } - /// Requests a description of a specified set of apps. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeApps(_ input: DescribeAppsRequest) throws -> DescribeAppsResult { return try client.send(operation: "DescribeApps", path: "/", httpMethod: "POST", input: input) } @@ -325,17 +330,17 @@ public struct Opsworks { _ = try client.send(operation: "StopStack", path: "/", httpMethod: "POST", input: input) } - /// Describes load-based auto scaling configurations for specified layers. You must specify at least one of the parameters. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeLoadBasedAutoScaling(_ input: DescribeLoadBasedAutoScalingRequest) throws -> DescribeLoadBasedAutoScalingResult { return try client.send(operation: "DescribeLoadBasedAutoScaling", path: "/", httpMethod: "POST", input: input) } - /// Describes a user's SSH information. Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeMyUserProfile() throws -> DescribeMyUserProfileResult { return try client.send(operation: "DescribeMyUserProfile", path: "/", httpMethod: "POST") } - /// Updates a user's SSH public key. Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func updateMyUserProfile(_ input: UpdateMyUserProfileRequest) throws { _ = try client.send(operation: "UpdateMyUserProfile", path: "/", httpMethod: "POST", input: input) } @@ -355,7 +360,7 @@ public struct Opsworks { _ = try client.send(operation: "AttachElasticLoadBalancer", path: "/", httpMethod: "POST", input: input) } - /// Requests a description of a set of instances. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeInstances(_ input: DescribeInstancesRequest) throws -> DescribeInstancesResult { return try client.send(operation: "DescribeInstances", path: "/", httpMethod: "POST", input: input) } @@ -385,7 +390,7 @@ public struct Opsworks { _ = try client.send(operation: "DeleteInstance", path: "/", httpMethod: "POST", input: input) } - /// Describes the results of specified commands. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + /// 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. public func describeCommands(_ input: DescribeCommandsRequest) throws -> DescribeCommandsResult { return try client.send(operation: "DescribeCommands", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/opsworks/Opsworks_Shapes.swift b/Sources/AWSSDKSwift/Services/opsworks/Opsworks_Shapes.swift index 8fc08ff56cc..e064cae8f60 100644 --- a/Sources/AWSSDKSwift/Services/opsworks/Opsworks_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/opsworks/Opsworks_Shapes.swift @@ -78,7 +78,7 @@ extension Opsworks { AWSShapeMember(label: "StackId", required: true, type: .string), AWSShapeMember(label: "RdsDbInstanceArns", required: false, type: .list) ] - /// The stack ID that the instances are registered with. The operation returns descriptions of all registered Amazon RDS instances. + /// The ID of the stack with which the instances are registered. The operation returns descriptions of all registered Amazon RDS instances. public let stackId: String /// An array containing the ARNs of the instances to be described. public let rdsDbInstanceArns: [String]? @@ -122,6 +122,7 @@ extension Opsworks { ] /// The layer short name. public let shortname: String? + /// The Amazon Resource Number (ARN) of a layer. public let arn: String? /// An array of Package objects that describe the layer's packages. public let packages: [String]? @@ -332,7 +333,7 @@ extension Opsworks { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EcsClusterArn", required: true, type: .string) ] - /// The cluster's ARN. + /// The cluster's Amazon Resource Number (ARN). public let ecsClusterArn: String public init(ecsClusterArn: String) { @@ -597,6 +598,7 @@ extension Opsworks { ] /// For container instances, the instance's ARN. public let ecsContainerInstanceArn: String? + /// The instance's Amazon Resource Number (ARN). public let arn: String? /// The instance host name. public let hostname: String? @@ -907,106 +909,111 @@ extension Opsworks { public struct InstancesCount: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Pending", required: false, type: .integer), - AWSShapeMember(label: "Stopping", required: false, type: .integer), AWSShapeMember(label: "Booting", required: false, type: .integer), + AWSShapeMember(label: "Stopping", required: false, type: .integer), AWSShapeMember(label: "Online", required: false, type: .integer), - AWSShapeMember(label: "RunningSetup", required: false, type: .integer), - AWSShapeMember(label: "Terminated", required: false, type: .integer), AWSShapeMember(label: "SetupFailed", required: false, type: .integer), + AWSShapeMember(label: "Terminated", required: false, type: .integer), + AWSShapeMember(label: "RunningSetup", required: false, type: .integer), AWSShapeMember(label: "Assigning", required: false, type: .integer), AWSShapeMember(label: "ConnectionLost", required: false, type: .integer), AWSShapeMember(label: "Terminating", required: false, type: .integer), - AWSShapeMember(label: "ShuttingDown", required: false, type: .integer), - AWSShapeMember(label: "Registering", required: false, type: .integer), AWSShapeMember(label: "Rebooting", required: false, type: .integer), - AWSShapeMember(label: "Unassigning", required: false, type: .integer), + AWSShapeMember(label: "Registering", required: false, type: .integer), + AWSShapeMember(label: "ShuttingDown", required: false, type: .integer), AWSShapeMember(label: "Stopped", required: false, type: .integer), + AWSShapeMember(label: "Unassigning", required: false, type: .integer), + AWSShapeMember(label: "StopFailed", required: false, type: .integer), AWSShapeMember(label: "StartFailed", required: false, type: .integer), AWSShapeMember(label: "Registered", required: false, type: .integer), - AWSShapeMember(label: "Deregistering", required: false, type: .integer), - AWSShapeMember(label: "Requested", required: false, type: .integer) + AWSShapeMember(label: "Requested", required: false, type: .integer), + AWSShapeMember(label: "Deregistering", required: false, type: .integer) ] /// The number of instances with pending status. public let pending: Int32? - /// The number of instances with stopping status. - public let stopping: Int32? /// The number of instances with booting status. public let booting: Int32? + /// The number of instances with stopping status. + public let stopping: Int32? /// The number of instances with online status. public let online: Int32? - /// The number of instances with running_setup status. - public let runningSetup: Int32? - /// The number of instances with terminated status. - public let terminated: Int32? /// The number of instances with setup_failed status. public let setupFailed: Int32? + /// The number of instances with terminated status. + public let terminated: Int32? + /// The number of instances with running_setup status. + public let runningSetup: Int32? /// The number of instances in the Assigning state. public let assigning: Int32? /// The number of instances with connection_lost status. public let connectionLost: Int32? /// The number of instances with terminating status. public let terminating: Int32? - /// The number of instances with shutting_down status. - public let shuttingDown: Int32? - /// The number of instances in the Registering state. - public let registering: Int32? /// The number of instances with rebooting status. public let rebooting: Int32? - /// The number of instances in the Unassigning state. - public let unassigning: Int32? + /// The number of instances in the Registering state. + public let registering: Int32? + /// The number of instances with shutting_down status. + public let shuttingDown: Int32? /// The number of instances with stopped status. public let stopped: Int32? + /// The number of instances in the Unassigning state. + public let unassigning: Int32? + /// The number of instances with stop_failed status. + public let stopFailed: Int32? /// The number of instances with start_failed status. public let startFailed: Int32? /// The number of instances in the Registered state. public let registered: Int32? - /// The number of instances in the Deregistering state. - public let deregistering: Int32? /// The number of instances with requested status. public let requested: Int32? + /// The number of instances in the Deregistering state. + public let deregistering: Int32? - public init(pending: Int32? = nil, stopping: Int32? = nil, booting: Int32? = nil, online: Int32? = nil, runningSetup: Int32? = nil, terminated: Int32? = nil, setupFailed: Int32? = nil, assigning: Int32? = nil, connectionLost: Int32? = nil, terminating: Int32? = nil, shuttingDown: Int32? = nil, registering: Int32? = nil, rebooting: Int32? = nil, unassigning: Int32? = nil, stopped: Int32? = nil, startFailed: Int32? = nil, registered: Int32? = nil, deregistering: Int32? = nil, requested: Int32? = nil) { + public init(pending: Int32? = nil, booting: Int32? = nil, stopping: Int32? = nil, online: Int32? = nil, setupFailed: Int32? = nil, terminated: Int32? = nil, runningSetup: Int32? = nil, assigning: Int32? = nil, connectionLost: Int32? = nil, terminating: Int32? = nil, rebooting: Int32? = nil, registering: Int32? = nil, shuttingDown: Int32? = nil, stopped: Int32? = nil, unassigning: Int32? = nil, stopFailed: Int32? = nil, startFailed: Int32? = nil, registered: Int32? = nil, requested: Int32? = nil, deregistering: Int32? = nil) { self.pending = pending - self.stopping = stopping self.booting = booting + self.stopping = stopping self.online = online - self.runningSetup = runningSetup - self.terminated = terminated self.setupFailed = setupFailed + self.terminated = terminated + self.runningSetup = runningSetup self.assigning = assigning self.connectionLost = connectionLost self.terminating = terminating - self.shuttingDown = shuttingDown - self.registering = registering self.rebooting = rebooting - self.unassigning = unassigning + self.registering = registering + self.shuttingDown = shuttingDown self.stopped = stopped + self.unassigning = unassigning + self.stopFailed = stopFailed self.startFailed = startFailed self.registered = registered - self.deregistering = deregistering self.requested = requested + self.deregistering = deregistering } private enum CodingKeys: String, CodingKey { case pending = "Pending" - case stopping = "Stopping" case booting = "Booting" + case stopping = "Stopping" case online = "Online" - case runningSetup = "RunningSetup" - case terminated = "Terminated" case setupFailed = "SetupFailed" + case terminated = "Terminated" + case runningSetup = "RunningSetup" case assigning = "Assigning" case connectionLost = "ConnectionLost" case terminating = "Terminating" - case shuttingDown = "ShuttingDown" - case registering = "Registering" case rebooting = "Rebooting" - case unassigning = "Unassigning" + case registering = "Registering" + case shuttingDown = "ShuttingDown" case stopped = "Stopped" + case unassigning = "Unassigning" + case stopFailed = "StopFailed" case startFailed = "StartFailed" case registered = "Registered" - case deregistering = "Deregistering" case requested = "Requested" + case deregistering = "Deregistering" } } @@ -1146,7 +1153,7 @@ extension Opsworks { public let instanceId: String /// 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. public let instanceType: String? - /// The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI. A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS. CentOS Linux 7 Red Hat Enterprise Linux 7 A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web. For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems. The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the AmiId parameter to specify the custom AMI that you want to use. For more information on the supported operating systems, see Operating Systems. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs. You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux. + /// 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. public let os: String? /// The instance's Amazon EC2 key name. public let sshKeyName: String? @@ -1300,30 +1307,30 @@ extension Opsworks { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DownScaling", required: false, type: .structure), AWSShapeMember(label: "Enable", required: false, type: .boolean), - AWSShapeMember(label: "UpScaling", required: false, type: .structure), - AWSShapeMember(label: "LayerId", required: false, type: .string) + AWSShapeMember(label: "LayerId", required: false, type: .string), + AWSShapeMember(label: "UpScaling", required: false, type: .structure) ] /// An AutoScalingThresholds object that describes the downscaling configuration, which defines how and when AWS OpsWorks Stacks reduces the number of instances. public let downScaling: AutoScalingThresholds? /// Whether load-based auto scaling is enabled for the layer. public let enable: Bool? - /// An AutoScalingThresholds object that describes the upscaling configuration, which defines how and when AWS OpsWorks Stacks increases the number of instances. - public let upScaling: AutoScalingThresholds? /// The layer ID. public let layerId: String? + /// An AutoScalingThresholds object that describes the upscaling configuration, which defines how and when AWS OpsWorks Stacks increases the number of instances. + public let upScaling: AutoScalingThresholds? - public init(downScaling: AutoScalingThresholds? = nil, enable: Bool? = nil, upScaling: AutoScalingThresholds? = nil, layerId: String? = nil) { + public init(downScaling: AutoScalingThresholds? = nil, enable: Bool? = nil, layerId: String? = nil, upScaling: AutoScalingThresholds? = nil) { self.downScaling = downScaling self.enable = enable - self.upScaling = upScaling self.layerId = layerId + self.upScaling = upScaling } private enum CodingKeys: String, CodingKey { case downScaling = "DownScaling" case enable = "Enable" - case upScaling = "UpScaling" case layerId = "LayerId" + case upScaling = "UpScaling" } } @@ -1688,7 +1695,7 @@ extension Opsworks { public let rootDeviceType: RootDeviceType? /// For load-based or time-based instances, the type. Windows stacks can use only time-based instances. public let autoScalingType: AutoScalingType? - /// The instance's operating system, which must be set to one of the following. A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS. CentOS Linux 7 Red Hat Enterprise Linux 7 A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web. A custom AMI: Custom. For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems. The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the CreateInstance action's AmiId parameter to specify the custom AMI that you want to use. Block device mappings are not supported if the value is Custom. For more information on the supported operating systems, see Operating SystemsFor more information on how to use custom AMIs with AWS OpsWorks Stacks, see Using Custom AMIs. + /// 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. public let os: String? /// The instance's Amazon EC2 key-pair name. public let sshKeyName: String? @@ -1830,6 +1837,27 @@ extension Opsworks { } } + public struct OperatingSystemConfigurationManager: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Version", required: false, type: .string) + ] + /// The name of the configuration manager, which is Chef. + public let name: String? + /// The versions of the configuration manager that are supported by an operating system. + public let version: String? + + public init(name: String? = nil, version: String? = nil) { + self.name = name + self.version = version + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case version = "Version" + } + } + public struct CreateUserProfileResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "IamUserArn", required: false, type: .string) @@ -1871,7 +1899,7 @@ extension Opsworks { AWSShapeMember(label: "ConfigurationManager", required: false, type: .structure), AWSShapeMember(label: "UseOpsworksSecurityGroups", required: false, type: .boolean) ] - /// The stack's operating system, which must be set to one of the following. A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS. CentOS Linux 7 Red Hat Enterprise Linux 7 Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web. A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs. The default option is the parent stack's operating system. For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems. You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux. + /// 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. public let defaultOs: String? /// Whether to clone the source stack's permissions. public let clonePermissions: Bool? @@ -1887,7 +1915,7 @@ extension Opsworks { public let region: String? /// The source stack ID. public let sourceStackId: String - /// A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format: "{\"key1\": \"value1\", \"key2\": \"value2\",...}" For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes + /// 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 public let customJson: String? /// Whether to use custom cookbooks. public let useCustomCookbooks: Bool? @@ -1896,7 +1924,7 @@ extension Opsworks { public let defaultSshKeyName: String? /// 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. public let agentVersion: String? - /// The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later. If your account supports EC2 Classic, the default value is no VPC. If your account does not support EC2 Classic, the default value is the default VPC for the specified region. If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively. If you specify a nondefault VPC ID, note the following: It must belong to a VPC in your account that is in the specified region. You must specify a value for DefaultSubnetId. For more information on how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a VPC. For more information on default VPC and EC2 Classic, see Supported Platforms. + /// 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. public let vpcId: String? /// The cloned stack name. public let name: String? @@ -2014,11 +2042,11 @@ extension Opsworks { AWSShapeMember(label: "DeploymentIds", required: false, type: .list), AWSShapeMember(label: "AppId", required: false, type: .string) ] - /// The stack ID. If you include this parameter, DescribeDeployments returns a description of the commands associated with the specified stack. + /// The stack ID. If you include this parameter, the command returns a description of the commands associated with the specified stack. public let stackId: String? - /// An array of deployment IDs to be described. If you include this parameter, DescribeDeployments returns a description of the specified deployments. Otherwise, it returns a description of every deployment. + /// 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. public let deploymentIds: [String]? - /// The app ID. If you include this parameter, DescribeDeployments returns a description of the commands associated with the specified app. + /// The app ID. If you include this parameter, the command returns a description of the commands associated with the specified app. public let appId: String? public init(stackId: String? = nil, deploymentIds: [String]? = nil, appId: String? = nil) { @@ -2258,41 +2286,46 @@ extension Opsworks { public struct VolumeConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NumberOfDisks", required: true, type: .integer), AWSShapeMember(label: "VolumeType", required: false, type: .string), - AWSShapeMember(label: "Iops", required: false, type: .integer), AWSShapeMember(label: "MountPoint", required: true, type: .string), AWSShapeMember(label: "Size", required: true, type: .integer), + AWSShapeMember(label: "Encrypted", required: false, type: .boolean), + AWSShapeMember(label: "NumberOfDisks", required: true, type: .integer), + AWSShapeMember(label: "Iops", required: false, type: .integer), AWSShapeMember(label: "RaidLevel", required: false, type: .integer) ] - /// The number of disks in the volume. - public let numberOfDisks: Int32 - /// The volume type: standard - Magnetic io1 - Provisioned IOPS (SSD) gp2 - General Purpose (SSD) + /// 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. public let volumeType: String? - /// For PIOPS volumes, the IOPS per disk. - public let iops: Int32? /// The volume mount point. For example "/dev/sdh". public let mountPoint: String /// The volume size. public let size: Int32 + /// Specifies whether an Amazon EBS volume is encrypted. For more information, see Amazon EBS Encryption. + public let encrypted: Bool? + /// The number of disks in the volume. + public let numberOfDisks: Int32 + /// For PIOPS volumes, the IOPS per disk. + public let iops: Int32? /// The volume RAID level. public let raidLevel: Int32? - public init(numberOfDisks: Int32, volumeType: String? = nil, iops: Int32? = nil, mountPoint: String, size: Int32, raidLevel: Int32? = nil) { - self.numberOfDisks = numberOfDisks + public init(volumeType: String? = nil, mountPoint: String, size: Int32, encrypted: Bool? = nil, numberOfDisks: Int32, iops: Int32? = nil, raidLevel: Int32? = nil) { self.volumeType = volumeType - self.iops = iops self.mountPoint = mountPoint self.size = size + self.encrypted = encrypted + self.numberOfDisks = numberOfDisks + self.iops = iops self.raidLevel = raidLevel } private enum CodingKeys: String, CodingKey { - case numberOfDisks = "NumberOfDisks" case volumeType = "VolumeType" - case iops = "Iops" case mountPoint = "MountPoint" case size = "Size" + case encrypted = "Encrypted" + case numberOfDisks = "NumberOfDisks" + case iops = "Iops" case raidLevel = "RaidLevel" } } @@ -2333,30 +2366,30 @@ extension Opsworks { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DownScaling", required: false, type: .structure), AWSShapeMember(label: "Enable", required: false, type: .boolean), - AWSShapeMember(label: "UpScaling", required: false, type: .structure), - AWSShapeMember(label: "LayerId", required: true, type: .string) + AWSShapeMember(label: "LayerId", required: true, type: .string), + AWSShapeMember(label: "UpScaling", required: false, type: .structure) ] /// 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. public let downScaling: AutoScalingThresholds? /// Enables load-based auto scaling for the layer. public let enable: Bool? - /// 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. - public let upScaling: AutoScalingThresholds? /// The layer ID. public let layerId: String + /// 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. + public let upScaling: AutoScalingThresholds? - public init(downScaling: AutoScalingThresholds? = nil, enable: Bool? = nil, upScaling: AutoScalingThresholds? = nil, layerId: String) { + public init(downScaling: AutoScalingThresholds? = nil, enable: Bool? = nil, layerId: String, upScaling: AutoScalingThresholds? = nil) { self.downScaling = downScaling self.enable = enable - self.upScaling = upScaling self.layerId = layerId + self.upScaling = upScaling } private enum CodingKeys: String, CodingKey { case downScaling = "DownScaling" case enable = "Enable" - case upScaling = "UpScaling" case layerId = "LayerId" + case upScaling = "UpScaling" } } @@ -2471,17 +2504,22 @@ extension Opsworks { public struct StopInstanceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InstanceId", required: true, type: .string) + AWSShapeMember(label: "InstanceId", required: true, type: .string), + AWSShapeMember(label: "Force", required: false, type: .boolean) ] /// The instance ID. public let instanceId: String + /// Specifies whether to force an instance to stop. + public let force: Bool? - public init(instanceId: String) { + public init(instanceId: String, force: Bool? = nil) { self.instanceId = instanceId + self.force = force } private enum CodingKeys: String, CodingKey { case instanceId = "InstanceId" + case force = "Force" } } @@ -2689,21 +2727,21 @@ extension Opsworks { public struct RegisterInstanceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "InstanceIdentity", required: false, type: .structure), - AWSShapeMember(label: "Hostname", required: false, type: .string), AWSShapeMember(label: "StackId", required: true, type: .string), AWSShapeMember(label: "PrivateIp", required: false, type: .string), + AWSShapeMember(label: "Hostname", required: false, type: .string), AWSShapeMember(label: "RsaPublicKeyFingerprint", required: false, type: .string), AWSShapeMember(label: "PublicIp", required: false, type: .string), AWSShapeMember(label: "RsaPublicKey", required: false, type: .string) ] /// An InstanceIdentity object that contains the instance's identity. public let instanceIdentity: InstanceIdentity? - /// The instance's hostname. - public let hostname: String? /// The ID of the stack that the instance is to be registered with. public let stackId: String /// The instance's private IP address. public let privateIp: String? + /// The instance's hostname. + public let hostname: String? /// The instances public RSA key fingerprint. public let rsaPublicKeyFingerprint: String? /// The instance's public IP address. @@ -2711,11 +2749,11 @@ extension Opsworks { /// The instances public RSA key. This key is used to encrypt communication between the instance and the service. public let rsaPublicKey: String? - public init(instanceIdentity: InstanceIdentity? = nil, hostname: String? = nil, stackId: String, privateIp: String? = nil, rsaPublicKeyFingerprint: String? = nil, publicIp: String? = nil, rsaPublicKey: String? = nil) { + public init(instanceIdentity: InstanceIdentity? = nil, stackId: String, privateIp: String? = nil, hostname: String? = nil, rsaPublicKeyFingerprint: String? = nil, publicIp: String? = nil, rsaPublicKey: String? = nil) { self.instanceIdentity = instanceIdentity - self.hostname = hostname self.stackId = stackId self.privateIp = privateIp + self.hostname = hostname self.rsaPublicKeyFingerprint = rsaPublicKeyFingerprint self.publicIp = publicIp self.rsaPublicKey = rsaPublicKey @@ -2723,9 +2761,9 @@ extension Opsworks { private enum CodingKeys: String, CodingKey { case instanceIdentity = "InstanceIdentity" - case hostname = "Hostname" case stackId = "StackId" case privateIp = "PrivateIp" + case hostname = "Hostname" case rsaPublicKeyFingerprint = "RsaPublicKeyFingerprint" case publicIp = "PublicIp" case rsaPublicKey = "RsaPublicKey" @@ -3344,7 +3382,7 @@ extension Opsworks { AWSShapeMember(label: "StackId", required: true, type: .string), AWSShapeMember(label: "AllowSudo", required: false, type: .boolean) ] - /// The user's permission level, which must be set to one of the following strings. You cannot set your own permissions level. deny show deploy manage iam_only For more information on the permissions associated with these levels, see Managing User Permissions. + /// 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. public let level: String? /// The user's IAM ARN. This can also be a federated user's ARN. public let iamUserArn: String @@ -3560,7 +3598,7 @@ extension Opsworks { AWSShapeMember(label: "HostnameTheme", required: false, type: .string), AWSShapeMember(label: "UseOpsworksSecurityGroups", required: false, type: .boolean) ] - /// The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance. You can specify one of the following. A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS. CentOS Linux 7 Red Hat Enterprise Linux 7 A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web. A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information, see Using Custom AMIs. The default option is the current Amazon Linux version. For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems. + /// 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. public let defaultOs: String? /// 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. public let chefConfiguration: ChefConfiguration? @@ -3570,10 +3608,10 @@ extension Opsworks { public let defaultRootDeviceType: RootDeviceType? /// 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. public let defaultInstanceProfileArn: String - /// The stack's AWS region, such as "ap-south-1". For more information about Amazon regions, see Regions and Endpoints. + /// 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. public let region: String public let customCookbooksSource: Source? - /// A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format: "{\"key1\": \"value1\", \"key2\": \"value2\",...}" For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes. + /// 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. public let customJson: String? /// Whether the stack uses custom cookbooks. public let useCustomCookbooks: Bool? @@ -3583,13 +3621,13 @@ extension Opsworks { public let agentVersion: String? /// The stack name. public let name: String - /// The ID of the VPC that the stack is to be launched into. The VPC must be in the stack's region. All instances are launched into this VPC. You cannot change the ID later. If your account supports EC2-Classic, the default value is no VPC. If your account does not support EC2-Classic, the default value is the default VPC for the specified region. If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively. If you specify a nondefault VPC ID, note the following: It must belong to a VPC in your account that is in the specified region. You must specify a value for DefaultSubnetId. For more information on how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a VPC. For more information on default VPC and EC2-Classic, see Supported Platforms. + /// 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. public let vpcId: String? /// One or more user-defined key-value pairs to be added to the stack attributes. public let attributes: [StackAttributesKeys: String]? /// 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. public let defaultSubnetId: String? - /// The configuration manager. When you create a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 11.4. + /// 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. public let configurationManager: StackConfigurationManager? /// 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. public let defaultAvailabilityZone: String? @@ -3769,7 +3807,7 @@ extension Opsworks { AWSShapeMember(label: "LayerId", required: true, type: .string), AWSShapeMember(label: "ElasticLoadBalancerName", required: true, type: .string) ] - /// The ID of the layer that the Elastic Load Balancing instance is to be attached to. + /// The ID of the layer to which the Elastic Load Balancing instance is to be attached. public let layerId: String /// The Elastic Load Balancing instance's name. public let elasticLoadBalancerName: String @@ -3909,6 +3947,7 @@ extension Opsworks { public struct Volume: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Device", required: false, type: .string), + AWSShapeMember(label: "Encrypted", required: false, type: .boolean), AWSShapeMember(label: "VolumeId", required: false, type: .string), AWSShapeMember(label: "Region", required: false, type: .string), AWSShapeMember(label: "Ec2VolumeId", required: false, type: .string), @@ -3924,6 +3963,8 @@ extension Opsworks { ] /// The device name. public let device: String? + /// Specifies whether an Amazon EBS volume is encrypted. For more information, see Amazon EBS Encryption. + public let encrypted: Bool? /// The volume ID. public let volumeId: String? /// The AWS region. For more information about AWS regions, see Regions and Endpoints. @@ -3938,7 +3979,7 @@ extension Opsworks { public let raidArrayId: String? /// The value returned by DescribeVolumes. public let status: String? - /// The volume type, standard or PIOPS. + /// 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. public let volumeType: String? /// The volume mount point. For example, "/mnt/disk1". public let mountPoint: String? @@ -3949,8 +3990,9 @@ extension Opsworks { /// The volume size. public let size: Int32? - public init(device: String? = nil, volumeId: String? = nil, region: String? = nil, ec2VolumeId: String? = nil, iops: Int32? = nil, availabilityZone: String? = nil, raidArrayId: String? = nil, status: String? = nil, volumeType: String? = nil, mountPoint: String? = nil, name: String? = nil, instanceId: String? = nil, size: Int32? = nil) { + public init(device: String? = nil, encrypted: Bool? = nil, volumeId: String? = nil, region: String? = nil, ec2VolumeId: String? = nil, iops: Int32? = nil, availabilityZone: String? = nil, raidArrayId: String? = nil, status: String? = nil, volumeType: String? = nil, mountPoint: String? = nil, name: String? = nil, instanceId: String? = nil, size: Int32? = nil) { self.device = device + self.encrypted = encrypted self.volumeId = volumeId self.region = region self.ec2VolumeId = ec2VolumeId @@ -3967,6 +4009,7 @@ extension Opsworks { private enum CodingKeys: String, CodingKey { case device = "Device" + case encrypted = "Encrypted" case volumeId = "VolumeId" case region = "Region" case ec2VolumeId = "Ec2VolumeId" @@ -3982,6 +4025,52 @@ extension Opsworks { } } + public struct OperatingSystem: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReportedName", required: false, type: .string), + AWSShapeMember(label: "Supported", required: false, type: .boolean), + AWSShapeMember(label: "ConfigurationManagers", required: false, type: .list), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ReportedVersion", required: false, type: .string), + AWSShapeMember(label: "Type", required: false, type: .string), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// A short name for the operating system manufacturer. + public let reportedName: String? + /// Indicates that an operating system is not supported for new instances. + public let supported: Bool? + /// Supported configuration manager name and versions for an AWS OpsWorks Stacks operating system. + public let configurationManagers: [OperatingSystemConfigurationManager]? + /// The name of the operating system, such as Amazon Linux 2017.09. + public let name: String? + /// The version of the operating system, including the release and edition, if applicable. + public let reportedVersion: String? + /// The type of a supported operating system, either Linux or Windows. + public let `type`: String? + /// The ID of a supported operating system, such as Amazon Linux 2017.09. + public let id: String? + + public init(reportedName: String? = nil, supported: Bool? = nil, configurationManagers: [OperatingSystemConfigurationManager]? = nil, name: String? = nil, reportedVersion: String? = nil, type: String? = nil, id: String? = nil) { + self.reportedName = reportedName + self.supported = supported + self.configurationManagers = configurationManagers + self.name = name + self.reportedVersion = reportedVersion + self.`type` = `type` + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case reportedName = "ReportedName" + case supported = "Supported" + case configurationManagers = "ConfigurationManagers" + case name = "Name" + case reportedVersion = "ReportedVersion" + case `type` = "Type" + case id = "Id" + } + } + public struct SelfUserProfile: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "IamUserArn", required: false, type: .string), @@ -4044,35 +4133,35 @@ extension Opsworks { } } - public struct DescribeStackSummaryRequest: AWSShape { + public struct CreateLayerResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StackId", required: true, type: .string) + AWSShapeMember(label: "LayerId", required: false, type: .string) ] - /// The stack ID. - public let stackId: String + /// The layer ID. + public let layerId: String? - public init(stackId: String) { - self.stackId = stackId + public init(layerId: String? = nil) { + self.layerId = layerId } private enum CodingKeys: String, CodingKey { - case stackId = "StackId" + case layerId = "LayerId" } } - public struct CreateLayerResult: AWSShape { + public struct DescribeStackSummaryRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LayerId", required: false, type: .string) + AWSShapeMember(label: "StackId", required: true, type: .string) ] - /// The layer ID. - public let layerId: String? + /// The stack ID. + public let stackId: String - public init(layerId: String? = nil) { - self.layerId = layerId + public init(stackId: String) { + self.stackId = stackId } private enum CodingKeys: String, CodingKey { - case layerId = "LayerId" + case stackId = "StackId" } } @@ -4139,7 +4228,7 @@ extension Opsworks { public let stackId: String /// A user-defined comment. public let comment: String? - /// A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format: "{\"key1\": \"value1\", \"key2\": \"value2\",...}" For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes. + /// 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. public let customJson: String? /// A DeploymentCommand object that specifies the deployment command and any associated arguments. public let command: DeploymentCommand @@ -4354,7 +4443,7 @@ extension Opsworks { AWSShapeMember(label: "Arn", required: false, type: .string), AWSShapeMember(label: "DatabaseName", required: false, type: .string) ] - /// The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance, or RdsDbInstance. + /// The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance, RdsDbInstance, or None. public let `type`: String? /// The data source's ARN. public let arn: String? @@ -4456,6 +4545,22 @@ extension Opsworks { public var description: String { return self.rawValue } } + public struct DescribeOperatingSystemsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OperatingSystems", required: false, type: .list) + ] + /// Contains information in response to a DescribeOperatingSystems request. + public let operatingSystems: [OperatingSystem]? + + public init(operatingSystems: [OperatingSystem]? = nil) { + self.operatingSystems = operatingSystems + } + + private enum CodingKeys: String, CodingKey { + case operatingSystems = "OperatingSystems" + } + } + public struct EbsBlockDevice: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SnapshotId", required: false, type: .string), @@ -4470,7 +4575,7 @@ extension Opsworks { public let volumeSize: Int32? /// Whether the volume is deleted on instance termination. public let deleteOnTermination: Bool? - /// The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, and standard for Magnetic volumes. + /// 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). public let volumeType: VolumeType? /// The number of I/O operations per second (IOPS) that the volume supports. For more information, see EbsBlockDevice. public let iops: Int32? @@ -4560,7 +4665,7 @@ extension Opsworks { AWSShapeMember(label: "DefaultAvailabilityZone", required: false, type: .string), AWSShapeMember(label: "UseOpsworksSecurityGroups", required: false, type: .boolean) ] - /// The stack's operating system, which must be set to one of the following: A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS. CentOS Linux 7 Red Hat Enterprise Linux 7 A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web. A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs. The default option is the stack's current operating system. For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems. + /// 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. public let defaultOs: String? /// 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. public let chefConfiguration: ChefConfiguration? @@ -4571,7 +4676,7 @@ extension Opsworks { /// 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. public let defaultInstanceProfileArn: String? public let customCookbooksSource: Source? - /// A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration JSON values or to pass data to recipes. The string should be in the following format: "{\"key1\": \"value1\", \"key2\": \"value2\",...}" For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes. + /// 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. public let customJson: String? /// Whether the stack uses custom cookbooks. public let useCustomCookbooks: Bool? @@ -4583,7 +4688,7 @@ extension Opsworks { public let name: String? /// The stack ID. public let stackId: String - /// The configuration manager. When you update a stack, we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 11.4. + /// 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. public let configurationManager: StackConfigurationManager? /// One or more user-defined key-value pairs to be added to the stack attributes. public let attributes: [StackAttributesKeys: String]? @@ -4644,7 +4749,7 @@ extension Opsworks { AWSShapeMember(label: "ElasticIp", required: true, type: .string), AWSShapeMember(label: "Name", required: false, type: .string) ] - /// The address. + /// The IP address for which you want to update the name. public let elasticIp: String /// The new name. public let name: String? @@ -4717,7 +4822,7 @@ extension Opsworks { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StackId", required: true, type: .string) ] - /// The stack ID + /// The stack ID. public let stackId: String public init(stackId: String) { diff --git a/Sources/AWSSDKSwift/Services/opsworkscm/Opsworkscm_API.swift b/Sources/AWSSDKSwift/Services/opsworkscm/Opsworkscm_API.swift index 7f2fa4b65e3..69e1e81c1f4 100644 --- a/Sources/AWSSDKSwift/Services/opsworkscm/Opsworkscm_API.swift +++ b/Sources/AWSSDKSwift/Services/opsworkscm/Opsworkscm_API.swift @@ -60,6 +60,11 @@ public struct Opsworkscm { return try client.send(operation: "DisassociateNode", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func updateServerEngineAttributes(_ input: UpdateServerEngineAttributesRequest) throws -> UpdateServerEngineAttributesResponse { + return try client.send(operation: "UpdateServerEngineAttributes", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func describeNodeAssociationStatus(_ input: DescribeNodeAssociationStatusRequest) throws -> DescribeNodeAssociationStatusResponse { return try client.send(operation: "DescribeNodeAssociationStatus", path: "/", httpMethod: "POST", input: input) @@ -70,11 +75,6 @@ public struct Opsworkscm { return try client.send(operation: "DescribeAccountAttributes", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func updateServerEngineAttributes(_ input: UpdateServerEngineAttributesRequest) throws -> UpdateServerEngineAttributesResponse { - return try client.send(operation: "UpdateServerEngineAttributes", path: "/", httpMethod: "POST", input: input) - } - /// 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. public func describeServers(_ input: DescribeServersRequest) throws -> DescribeServersResponse { return try client.send(operation: "DescribeServers", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/opsworkscm/Opsworkscm_Shapes.swift b/Sources/AWSSDKSwift/Services/opsworkscm/Opsworkscm_Shapes.swift index be902726be9..48db5cd2de5 100644 --- a/Sources/AWSSDKSwift/Services/opsworkscm/Opsworkscm_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/opsworkscm/Opsworkscm_Shapes.swift @@ -427,59 +427,59 @@ extension Opsworkscm { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LogUrl", required: false, type: .string), AWSShapeMember(label: "CreatedAt", required: false, type: .timestamp), - AWSShapeMember(label: "Message", required: false, type: .string), - AWSShapeMember(label: "ServerName", required: false, type: .string) + AWSShapeMember(label: "ServerName", required: false, type: .string), + AWSShapeMember(label: "Message", required: false, type: .string) ] /// The Amazon S3 URL of the event's log file. public let logUrl: String? /// The time when the event occurred. public let createdAt: TimeStamp? - /// A human-readable informational or status message. - public let message: String? /// The name of the server on or for which the event occurred. public let serverName: String? + /// A human-readable informational or status message. + public let message: String? - public init(logUrl: String? = nil, createdAt: TimeStamp? = nil, message: String? = nil, serverName: String? = nil) { + public init(logUrl: String? = nil, createdAt: TimeStamp? = nil, serverName: String? = nil, message: String? = nil) { self.logUrl = logUrl self.createdAt = createdAt - self.message = message self.serverName = serverName + self.message = message } private enum CodingKeys: String, CodingKey { case logUrl = "LogUrl" case createdAt = "CreatedAt" - case message = "Message" case serverName = "ServerName" + case message = "Message" } } public struct DescribeBackupsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ServerName", required: false, type: .string), AWSShapeMember(label: "BackupId", required: false, type: .string), + AWSShapeMember(label: "ServerName", required: false, type: .string), AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// Returns backups for the server with the specified ServerName. - public let serverName: String? /// Describes a single backup. public let backupId: String? + /// Returns backups for the server with the specified ServerName. + public let serverName: String? /// 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. public let nextToken: String? /// 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. public let maxResults: Int32? - public init(serverName: String? = nil, backupId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.serverName = serverName + public init(backupId: String? = nil, serverName: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { self.backupId = backupId + self.serverName = serverName self.nextToken = nextToken self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case serverName = "ServerName" case backupId = "BackupId" + case serverName = "ServerName" case nextToken = "NextToken" case maxResults = "MaxResults" } @@ -843,31 +843,31 @@ extension Opsworkscm { public struct RestoreServerRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ServerName", required: true, type: .string), - AWSShapeMember(label: "InstanceType", required: false, type: .string), AWSShapeMember(label: "BackupId", required: true, type: .string), + AWSShapeMember(label: "InstanceType", required: false, type: .string), + AWSShapeMember(label: "ServerName", required: true, type: .string), AWSShapeMember(label: "KeyPair", required: false, type: .string) ] - /// The name of the server that you want to restore. - public let serverName: String - /// 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. - public let instanceType: String? /// The ID of the backup that you want to use to restore a server. public let backupId: String + /// 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. + public let instanceType: String? + /// The name of the server that you want to restore. + public let serverName: String /// 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. public let keyPair: String? - public init(serverName: String, instanceType: String? = nil, backupId: String, keyPair: String? = nil) { - self.serverName = serverName - self.instanceType = instanceType + public init(backupId: String, instanceType: String? = nil, serverName: String, keyPair: String? = nil) { self.backupId = backupId + self.instanceType = instanceType + self.serverName = serverName self.keyPair = keyPair } private enum CodingKeys: String, CodingKey { - case serverName = "ServerName" - case instanceType = "InstanceType" case backupId = "BackupId" + case instanceType = "InstanceType" + case serverName = "ServerName" case keyPair = "KeyPair" } } diff --git a/Sources/AWSSDKSwift/Services/organizations/Organizations_API.swift b/Sources/AWSSDKSwift/Services/organizations/Organizations_API.swift index bc8fe2f6796..94b1c77099c 100644 --- a/Sources/AWSSDKSwift/Services/organizations/Organizations_API.swift +++ b/Sources/AWSSDKSwift/Services/organizations/Organizations_API.swift @@ -32,17 +32,17 @@ public struct Organizations { return try client.send(operation: "ListAWSServiceAccessForOrganization", path: "/", httpMethod: "POST", input: input) } - /// Lists the roots that are defined in the current organization. This operation can be called only from the organization's master account. + /// 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. public func listRoots(_ input: ListRootsRequest) throws -> ListRootsResponse { return try client.send(operation: "ListRoots", path: "/", httpMethod: "POST", input: input) } - /// 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. This operation can be called only from the organization's master account. + /// 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. public func listAccountsForParent(_ input: ListAccountsForParentRequest) throws -> ListAccountsForParentResponse { return try client.send(operation: "ListAccountsForParent", path: "/", httpMethod: "POST", input: input) } - /// Lists all of the OUs or accounts that are contained in the specified parent OU or root. This operation, along with ListParents enables you to traverse the tree structure that makes up this root. This operation can be called only from the organization's master account. + /// 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. public func listChildren(_ input: ListChildrenRequest) throws -> ListChildrenResponse { return try client.send(operation: "ListChildren", path: "/", httpMethod: "POST", input: input) } @@ -52,17 +52,17 @@ public struct Organizations { _ = try client.send(operation: "EnableAWSServiceAccess", path: "/", httpMethod: "POST", input: input) } - /// 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. When you create a member account with this operation, you can choose whether to create the account with the IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable this, then only the account root user can access billing information. For information about how to disable this for an account, see Granting Access to Your Billing Information and Tools. This operation can be called only from the organization's master account. If you get an exception that indicates that you exceeded your account limits for the organization or that you can"t add an account because your organization is still initializing, please contact AWS Customer Support. + /// 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. public func createAccount(_ input: CreateAccountRequest) throws -> CreateAccountResponse { return try client.send(operation: "CreateAccount", path: "/", httpMethod: "POST", input: input) } - /// Moves an account from its current source parent root or OU to the specified destination parent root or OU. This operation can be called only from the organization's master account. + /// 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. public func moveAccount(_ input: MoveAccountRequest) throws { _ = try client.send(operation: "MoveAccount", path: "/", httpMethod: "POST", input: input) } - /// Lists the account creation requests that match the specified status that is currently being tracked for the organization. This operation can be called only from the organization's master account. + /// 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. public func listCreateAccountStatus(_ input: ListCreateAccountStatusRequest) throws -> ListCreateAccountStatusResponse { return try client.send(operation: "ListCreateAccountStatus", path: "/", httpMethod: "POST", input: input) } @@ -72,22 +72,22 @@ public struct Organizations { return try client.send(operation: "DescribeHandshake", path: "/", httpMethod: "POST", input: input) } - /// Lists the handshakes that are associated with the organization that the requesting user is part of. The ListHandshakesForOrganization operation returns a list of handshake structures. Each structure contains details and status about a handshake. Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that they are deleted and no longer accessible. This operation can be called only from the organization's master account. + /// 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. public func listHandshakesForOrganization(_ input: ListHandshakesForOrganizationRequest) throws -> ListHandshakesForOrganizationResponse { return try client.send(operation: "ListHandshakesForOrganization", path: "/", httpMethod: "POST", input: input) } - /// Lists the root or organizational units (OUs) that serve as the immediate parent of the specified child OU or account. This operation, along with ListChildren enables you to traverse the tree structure that makes up this root. This operation can be called only from the organization's master account. In the current release, a child can have only a single parent. + /// 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. public func listParents(_ input: ListParentsRequest) throws -> ListParentsResponse { return try client.send(operation: "ListParents", path: "/", httpMethod: "POST", input: input) } - /// Lists all the roots, OUs, and accounts to which the specified policy is attached. This operation can be called only from the organization's master account. + /// 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. public func listTargetsForPolicy(_ input: ListTargetsForPolicyRequest) throws -> ListTargetsForPolicyResponse { return try client.send(operation: "ListTargetsForPolicy", path: "/", httpMethod: "POST", input: input) } - /// Deletes the specified policy from your organization. Before you perform this operation, you must first detach the policy from all OUs, roots, and accounts. This operation can be called only from the organization's master account. + /// 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. public func deletePolicy(_ input: DeletePolicyRequest) throws { _ = try client.send(operation: "DeletePolicy", path: "/", httpMethod: "POST", input: input) } @@ -97,22 +97,22 @@ public struct Organizations { return try client.send(operation: "AcceptHandshake", path: "/", httpMethod: "POST", input: input) } - /// Deletes an organizational unit from a root or another OU. You must first remove all accounts and child OUs from the OU that you want to delete. This operation can be called only from the organization's master account. + /// 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. public func deleteOrganizationalUnit(_ input: DeleteOrganizationalUnitRequest) throws { _ = try client.send(operation: "DeleteOrganizationalUnit", path: "/", httpMethod: "POST", input: input) } - /// Enables all features in an organization. This enables the use of organization policies that can restrict the services and actions that can be called in each account. Until you enable all features, you have access only to consolidated billing, and you can't use any of the advanced account administration features that AWS Organizations supports. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide. This operation is required only for organizations that were created explicitly with only the consolidated billing features enabled, or that were migrated from a Consolidated Billing account family to Organizations. Calling this operation sends a handshake to every invited account in the organization. The feature set change can be finalized and the additional features enabled only after all administrators in the invited accounts approve the change by accepting the handshake. After all invited member accounts accept the handshake, you finalize the feature set change by accepting the handshake that contains "Action": "ENABLE_ALL_FEATURES". This completes the change. After you enable all features in your organization, the master account in the organization can apply policies on all member accounts. These policies can restrict what users and even administrators in those accounts can do. The master account can apply policies that prevent accounts from leaving the organization. Ensure that your account administrators are aware of this. This operation can be called only from the organization's master account. + /// 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. public func enableAllFeatures(_ input: EnableAllFeaturesRequest) throws -> EnableAllFeaturesResponse { return try client.send(operation: "EnableAllFeatures", path: "/", httpMethod: "POST", input: input) } - /// Lists the current handshakes that are associated with the account of the requesting user. Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that they are deleted and no longer accessible. This operation can be called from any account in the organization. + /// 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. public func listHandshakesForAccount(_ input: ListHandshakesForAccountRequest) throws -> ListHandshakesForAccountResponse { return try client.send(operation: "ListHandshakesForAccount", path: "/", httpMethod: "POST", input: input) } - /// Deletes the organization. You can delete an organization only by using credentials from the master account. The organization must be empty of member accounts, OUs, and policies. + /// 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. public func deleteOrganization() throws { _ = try client.send(operation: "DeleteOrganization", path: "/", httpMethod: "POST") } @@ -127,7 +127,7 @@ public struct Organizations { return try client.send(operation: "UpdateOrganizationalUnit", path: "/", httpMethod: "POST", input: input) } - /// 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 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. + /// 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. public func disablePolicyType(_ input: DisablePolicyTypeRequest) throws -> DisablePolicyTypeResponse { return try client.send(operation: "DisablePolicyType", path: "/", httpMethod: "POST", input: input) } @@ -137,17 +137,17 @@ public struct Organizations { _ = try client.send(operation: "LeaveOrganization", path: "/", httpMethod: "POST") } - /// 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. You can remove a member account only after you enable IAM user access to billing in the member account. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide. + /// 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. public func removeAccountFromOrganization(_ input: RemoveAccountFromOrganizationRequest) throws { _ = try client.send(operation: "RemoveAccountFromOrganization", path: "/", httpMethod: "POST", input: input) } - /// Retrieves the list of all policies in an organization of a specified type. This operation can be called only from the organization's master account. + /// 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. public func listPolicies(_ input: ListPoliciesRequest) throws -> ListPoliciesResponse { return try client.send(operation: "ListPolicies", path: "/", httpMethod: "POST", input: input) } - /// 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. This operation can be called only from the organization's master account. If you get an exception that indicates that you exceeded your account limits for the organization or that you can"t add an account because your organization is still initializing, please contact AWS Customer Support. + /// 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. public func inviteAccountToOrganization(_ input: InviteAccountToOrganizationRequest) throws -> InviteAccountToOrganizationResponse { return try client.send(operation: "InviteAccountToOrganization", path: "/", httpMethod: "POST", input: input) } @@ -162,17 +162,17 @@ public struct Organizations { return try client.send(operation: "CreateOrganization", path: "/", httpMethod: "POST", input: input) } - /// Lists the policies that are directly attached to the specified target root, organizational unit (OU), or account. You must specify the policy type that you want included in the returned list. This operation can be called only from the organization's master account. + /// 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. public func listPoliciesForTarget(_ input: ListPoliciesForTargetRequest) throws -> ListPoliciesForTargetResponse { return try client.send(operation: "ListPoliciesForTarget", path: "/", httpMethod: "POST", input: input) } - /// Retrieves information about the organization that the user's account belongs to. This operation can be called from any account in the organization. + /// 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. public func describeOrganization() throws -> DescribeOrganizationResponse { return try client.send(operation: "DescribeOrganization", path: "/", httpMethod: "POST") } - /// Lists all the accounts in the organization. To request only the accounts in a root or OU, use the ListAccountsForParent operation instead. This operation can be called only from the organization's master account. + /// 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. public func listAccounts(_ input: ListAccountsRequest) throws -> ListAccountsResponse { return try client.send(operation: "ListAccounts", path: "/", httpMethod: "POST", input: input) } @@ -192,22 +192,22 @@ public struct Organizations { return try client.send(operation: "CancelHandshake", path: "/", httpMethod: "POST", input: input) } - /// Enables a policy type in a root. After you enable a policy type in a root, you can attach policies of that type to the root, any OU, or account in that root. You can undo this by using the DisablePolicyType operation. This operation can be called only from the organization's master account. + /// 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. public func enablePolicyType(_ input: EnablePolicyTypeRequest) throws -> EnablePolicyTypeResponse { return try client.send(operation: "EnablePolicyType", path: "/", httpMethod: "POST", input: input) } - /// Lists the organizational units (OUs) in a parent organizational unit or root. This operation can be called only from the organization's master account. + /// 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. public func listOrganizationalUnitsForParent(_ input: ListOrganizationalUnitsForParentRequest) throws -> ListOrganizationalUnitsForParentResponse { return try client.send(operation: "ListOrganizationalUnitsForParent", path: "/", httpMethod: "POST", input: input) } - /// Detaches a policy from a target root, organizational unit, or account. If the policy being detached is a service control policy (SCP), the changes to permissions for IAM users and roles in affected accounts are immediate. Note: Every root, OU, and account must have at least one SCP attached. If you want to replace the default FullAWSAccess policy with one that limits the permissions that can be delegated, then you must attach the replacement policy before you can remove the default one. This is the authorization strategy of whitelisting. If you instead attach a second SCP and leave the FullAWSAccess SCP still attached, and specify "Effect": "Deny" in the second SCP to override the "Effect": "Allow" in the FullAWSAccess policy (or any other attached SCP), then you are using the authorization strategy of blacklisting. This operation can be called only from the organization's master account. + /// 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. public func detachPolicy(_ input: DetachPolicyRequest) throws { _ = try client.send(operation: "DetachPolicy", path: "/", httpMethod: "POST", input: input) } - /// Attaches a policy to a root, an organizational unit, or an individual account. How the policy affects accounts depends on the type of policy: Service control policy (SCP) - An SCP specifies what permissions can be delegated to users in affected member accounts. The scope of influence for a policy depends on what you attach the policy to: If you attach an SCP to a root, it affects all accounts in the organization. If you attach an SCP to an OU, it affects all accounts in that OU and in any child OUs. If you attach the policy directly to an account, then it affects only that account. SCPs essentially are permission "filters". When you attach one SCP to a higher level root or OU, and you also attach a different SCP to a child OU or to an account, the child policy can further restrict only the permissions that pass through the parent filter and are available to the child. An SCP that is attached to a child cannot grant a permission that is not already granted by the parent. For example, imagine that the parent SCP allows permissions A, B, C, D, and E. The child SCP allows C, D, E, F, and G. The result is that the accounts affected by the child SCP are allowed to use only C, D, and E. They cannot use A or B because they were filtered out by the child OU. They also cannot use F and G because they were filtered out by the parent OU. They cannot be granted back by the child SCP; child SCPs can only filter the permissions they receive from the parent SCP. AWS Organizations attaches a default SCP named "FullAWSAccess to every root, OU, and account. This default SCP allows all services and actions, enabling any new child OU or account to inherit the permissions of the parent root or OU. If you detach the default policy, you must replace it with a policy that specifies the permissions that you want to allow in that OU or account. For more information about how Organizations policies permissions work, see Using Service Control Policies in the AWS Organizations User Guide. This operation can be called only from the organization's master account. + /// 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. public func attachPolicy(_ input: AttachPolicyRequest) throws { _ = try client.send(operation: "AttachPolicy", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/organizations/Organizations_Shapes.swift b/Sources/AWSSDKSwift/Services/organizations/Organizations_Shapes.swift index b6c485be23a..5a81f8cc0e4 100644 --- a/Sources/AWSSDKSwift/Services/organizations/Organizations_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/organizations/Organizations_Shapes.swift @@ -265,6 +265,7 @@ extension Organizations { case movingAccountBetweenDifferentRoots = "MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS" case invalidFullNameTarget = "INVALID_FULL_NAME_TARGET" case unrecognizedServicePrincipal = "UNRECOGNIZED_SERVICE_PRINCIPAL" + case invalidRoleName = "INVALID_ROLE_NAME" public var description: String { return self.rawValue } } @@ -989,7 +990,7 @@ extension Organizations { ] /// 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. public let arn: String? - /// 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. + /// 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. public let policyTypes: [PolicyTypeSummary]? /// 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. public let name: String? @@ -1450,19 +1451,19 @@ extension Organizations { public struct Organization: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MasterAccountEmail", required: false, type: .string), + AWSShapeMember(label: "Id", required: false, type: .string), AWSShapeMember(label: "Arn", required: false, type: .string), AWSShapeMember(label: "AvailablePolicyTypes", required: false, type: .list), AWSShapeMember(label: "MasterAccountArn", required: false, type: .string), AWSShapeMember(label: "FeatureSet", required: false, type: .enum), AWSShapeMember(label: "MasterAccountId", required: false, type: .string), - AWSShapeMember(label: "Id", required: false, type: .string) + AWSShapeMember(label: "MasterAccountEmail", required: false, type: .string) ] - /// The email address that is associated with the AWS account that is designated as the master account for the organization. - public let masterAccountEmail: String? + /// 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. + public let id: String? /// 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. public let arn: String? - /// 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. + /// 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. public let availablePolicyTypes: [PolicyTypeSummary]? /// 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. public let masterAccountArn: String? @@ -1470,27 +1471,27 @@ extension Organizations { public let featureSet: OrganizationFeatureSet? /// The unique identifier (ID) of the master account of an organization. The regex pattern for an account ID string requires exactly 12 digits. public let masterAccountId: String? - /// 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. - public let id: String? + /// The email address that is associated with the AWS account that is designated as the master account for the organization. + public let masterAccountEmail: String? - public init(masterAccountEmail: String? = nil, arn: String? = nil, availablePolicyTypes: [PolicyTypeSummary]? = nil, masterAccountArn: String? = nil, featureSet: OrganizationFeatureSet? = nil, masterAccountId: String? = nil, id: String? = nil) { - self.masterAccountEmail = masterAccountEmail + public init(id: String? = nil, arn: String? = nil, availablePolicyTypes: [PolicyTypeSummary]? = nil, masterAccountArn: String? = nil, featureSet: OrganizationFeatureSet? = nil, masterAccountId: String? = nil, masterAccountEmail: String? = nil) { + self.id = id self.arn = arn self.availablePolicyTypes = availablePolicyTypes self.masterAccountArn = masterAccountArn self.featureSet = featureSet self.masterAccountId = masterAccountId - self.id = id + self.masterAccountEmail = masterAccountEmail } private enum CodingKeys: String, CodingKey { - case masterAccountEmail = "MasterAccountEmail" + case id = "Id" case arn = "Arn" case availablePolicyTypes = "AvailablePolicyTypes" case masterAccountArn = "MasterAccountArn" case featureSet = "FeatureSet" case masterAccountId = "MasterAccountId" - case id = "Id" + case masterAccountEmail = "MasterAccountEmail" } } diff --git a/Sources/AWSSDKSwift/Services/pi/Pi_API.swift b/Sources/AWSSDKSwift/Services/pi/Pi_API.swift new file mode 100644 index 00000000000..259f480cd36 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/pi/Pi_API.swift @@ -0,0 +1,39 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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. +*/ +public struct Pi { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + amzTarget: "PerformanceInsightsv20180227", + service: "pi", + serviceProtocol: ServiceProtocol(type: .json, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2018-02-27", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [PiError.self] + ) + } + + /// For a specific time period, retrieve the top N dimension keys for a metric. + public func describeDimensionKeys(_ input: DescribeDimensionKeysRequest) throws -> DescribeDimensionKeysResponse { + return try client.send(operation: "DescribeDimensionKeys", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func getResourceMetrics(_ input: GetResourceMetricsRequest) throws -> GetResourceMetricsResponse { + return try client.send(operation: "GetResourceMetrics", path: "/", httpMethod: "POST", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/pi/Pi_Error.swift b/Sources/AWSSDKSwift/Services/pi/Pi_Error.swift new file mode 100644 index 00000000000..2aef4874401 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/pi/Pi_Error.swift @@ -0,0 +1,29 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Pi +public enum PiError: AWSErrorType { + case invalidArgumentException(message: String?) + case internalServiceError(message: String?) + case notAuthorizedException(message: String?) +} + +extension PiError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "InvalidArgumentException": + self = .invalidArgumentException(message: message) + case "InternalServiceError": + self = .internalServiceError(message: message) + case "NotAuthorizedException": + self = .notAuthorizedException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/pi/Pi_Shapes.swift b/Sources/AWSSDKSwift/Services/pi/Pi_Shapes.swift new file mode 100644 index 00000000000..310b0cc4f2f --- /dev/null +++ b/Sources/AWSSDKSwift/Services/pi/Pi_Shapes.swift @@ -0,0 +1,359 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Pi { + + public enum ServiceType: String, CustomStringConvertible, Codable { + case rds = "RDS" + public var description: String { return self.rawValue } + } + + public struct GetResourceMetricsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StartTime", required: true, type: .timestamp), + AWSShapeMember(label: "MetricQueries", required: true, type: .list), + AWSShapeMember(label: "Identifier", required: true, type: .string), + AWSShapeMember(label: "PeriodInSeconds", required: false, type: .integer), + AWSShapeMember(label: "EndTime", required: true, type: .timestamp), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ServiceType", required: true, type: .enum), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let startTime: TimeStamp + /// 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. + public let metricQueries: [MetricQuery] + /// 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 + public let identifier: String + /// 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. + public let periodInSeconds: Int32? + /// 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. + public let endTime: TimeStamp + /// 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. + public let nextToken: String? + /// The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is: RDS + public let serviceType: ServiceType + /// 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. + public let maxResults: Int32? + + public init(startTime: TimeStamp, metricQueries: [MetricQuery], identifier: String, periodInSeconds: Int32? = nil, endTime: TimeStamp, nextToken: String? = nil, serviceType: ServiceType, maxResults: Int32? = nil) { + self.startTime = startTime + self.metricQueries = metricQueries + self.identifier = identifier + self.periodInSeconds = periodInSeconds + self.endTime = endTime + self.nextToken = nextToken + self.serviceType = serviceType + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case startTime = "StartTime" + case metricQueries = "MetricQueries" + case identifier = "Identifier" + case periodInSeconds = "PeriodInSeconds" + case endTime = "EndTime" + case nextToken = "NextToken" + case serviceType = "ServiceType" + case maxResults = "MaxResults" + } + } + + public struct DimensionGroup: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Group", required: true, type: .string), + AWSShapeMember(label: "Dimensions", required: false, type: .list), + AWSShapeMember(label: "Limit", required: false, type: .integer) + ] + /// 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 + public let group: String + /// 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 + public let dimensions: [String]? + /// The maximum number of items to fetch for this dimension group. + public let limit: Int32? + + public init(group: String, dimensions: [String]? = nil, limit: Int32? = nil) { + self.group = group + self.dimensions = dimensions + self.limit = limit + } + + private enum CodingKeys: String, CodingKey { + case group = "Group" + case dimensions = "Dimensions" + case limit = "Limit" + } + } + + public struct DataPoint: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Timestamp", required: true, type: .timestamp), + AWSShapeMember(label: "Value", required: true, type: .double) + ] + /// The time, in epoch format, associated with a particular Value. + public let timestamp: TimeStamp + /// The actual value associated with a particular Timestamp. + public let value: Double + + public init(timestamp: TimeStamp, value: Double) { + self.timestamp = timestamp + self.value = value + } + + private enum CodingKeys: String, CodingKey { + case timestamp = "Timestamp" + case value = "Value" + } + } + + public struct MetricKeyDataPoints: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Key", required: false, type: .structure), + AWSShapeMember(label: "DataPoints", required: false, type: .list) + ] + /// The dimension(s) to which the data points apply. + public let key: ResponseResourceMetricKey? + /// An array of timestamp-value pairs, representing measurements over a period of time. + public let dataPoints: [DataPoint]? + + public init(key: ResponseResourceMetricKey? = nil, dataPoints: [DataPoint]? = nil) { + self.key = key + self.dataPoints = dataPoints + } + + private enum CodingKeys: String, CodingKey { + case key = "Key" + case dataPoints = "DataPoints" + } + } + + public struct GetResourceMetricsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AlignedStartTime", required: false, type: .timestamp), + AWSShapeMember(label: "Identifier", required: false, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MetricList", required: false, type: .list), + AWSShapeMember(label: "AlignedEndTime", required: false, type: .timestamp) + ] + /// 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. + public let alignedStartTime: TimeStamp? + /// 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 + public let identifier: String? + /// 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. + public let nextToken: String? + /// An array of metric results,, where each array element contains all of the data points for a particular dimension. + public let metricList: [MetricKeyDataPoints]? + /// 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. + public let alignedEndTime: TimeStamp? + + public init(alignedStartTime: TimeStamp? = nil, identifier: String? = nil, nextToken: String? = nil, metricList: [MetricKeyDataPoints]? = nil, alignedEndTime: TimeStamp? = nil) { + self.alignedStartTime = alignedStartTime + self.identifier = identifier + self.nextToken = nextToken + self.metricList = metricList + self.alignedEndTime = alignedEndTime + } + + private enum CodingKeys: String, CodingKey { + case alignedStartTime = "AlignedStartTime" + case identifier = "Identifier" + case nextToken = "NextToken" + case metricList = "MetricList" + case alignedEndTime = "AlignedEndTime" + } + } + + public struct MetricQuery: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GroupBy", required: false, type: .structure), + AWSShapeMember(label: "Metric", required: true, type: .string), + AWSShapeMember(label: "Filter", required: false, type: .map) + ] + /// 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. + public let groupBy: DimensionGroup? + /// 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. + public let metric: String + /// 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. + public let filter: [String: String]? + + public init(groupBy: DimensionGroup? = nil, metric: String, filter: [String: String]? = nil) { + self.groupBy = groupBy + self.metric = metric + self.filter = filter + } + + private enum CodingKeys: String, CodingKey { + case groupBy = "GroupBy" + case metric = "Metric" + case filter = "Filter" + } + } + + public struct ResponsePartitionKey: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Dimensions", required: true, type: .map) + ] + /// A dimension map that contains the dimension(s) for this partition. + public let dimensions: [String: String] + + public init(dimensions: [String: String]) { + self.dimensions = dimensions + } + + private enum CodingKeys: String, CodingKey { + case dimensions = "Dimensions" + } + } + + public struct ResponseResourceMetricKey: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Dimensions", required: false, type: .map), + AWSShapeMember(label: "Metric", required: true, type: .string) + ] + /// The valid dimensions for the metric. + public let dimensions: [String: String]? + /// 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. + public let metric: String + + public init(dimensions: [String: String]? = nil, metric: String) { + self.dimensions = dimensions + self.metric = metric + } + + private enum CodingKeys: String, CodingKey { + case dimensions = "Dimensions" + case metric = "Metric" + } + } + + public struct DescribeDimensionKeysResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AlignedEndTime", required: false, type: .timestamp), + AWSShapeMember(label: "AlignedStartTime", required: false, type: .timestamp), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Keys", required: false, type: .list), + AWSShapeMember(label: "PartitionKeys", required: false, type: .list) + ] + /// 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. + public let alignedEndTime: TimeStamp? + /// 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. + public let alignedStartTime: TimeStamp? + /// 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. + public let nextToken: String? + /// The dimension keys that were requested. + public let keys: [DimensionKeyDescription]? + /// If PartitionBy was present in the request, PartitionKeys contains the breakdown of dimension keys by the specified partitions. + public let partitionKeys: [ResponsePartitionKey]? + + public init(alignedEndTime: TimeStamp? = nil, alignedStartTime: TimeStamp? = nil, nextToken: String? = nil, keys: [DimensionKeyDescription]? = nil, partitionKeys: [ResponsePartitionKey]? = nil) { + self.alignedEndTime = alignedEndTime + self.alignedStartTime = alignedStartTime + self.nextToken = nextToken + self.keys = keys + self.partitionKeys = partitionKeys + } + + private enum CodingKeys: String, CodingKey { + case alignedEndTime = "AlignedEndTime" + case alignedStartTime = "AlignedStartTime" + case nextToken = "NextToken" + case keys = "Keys" + case partitionKeys = "PartitionKeys" + } + } + + public struct DescribeDimensionKeysRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StartTime", required: true, type: .timestamp), + AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "Identifier", required: true, type: .string), + AWSShapeMember(label: "GroupBy", required: true, type: .structure), + AWSShapeMember(label: "PeriodInSeconds", required: false, type: .integer), + AWSShapeMember(label: "Metric", required: true, type: .string), + AWSShapeMember(label: "EndTime", required: true, type: .timestamp), + AWSShapeMember(label: "Filter", required: false, type: .map), + AWSShapeMember(label: "PartitionBy", required: false, type: .structure), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ServiceType", required: true, type: .enum) + ] + /// 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. + public let startTime: TimeStamp + /// 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. + public let maxResults: Int32? + /// 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 + public let identifier: String + /// 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. + public let groupBy: DimensionGroup + /// 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. + public let periodInSeconds: Int32? + /// 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. + public let metric: String + /// 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. + public let endTime: TimeStamp + /// 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. + public let filter: [String: String]? + /// For each dimension specified in GroupBy, specify a secondary dimension to further subdivide the partition keys in the response. + public let partitionBy: DimensionGroup? + /// 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. + public let nextToken: String? + /// The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is: RDS + public let serviceType: ServiceType + + public init(startTime: TimeStamp, maxResults: Int32? = nil, identifier: String, groupBy: DimensionGroup, periodInSeconds: Int32? = nil, metric: String, endTime: TimeStamp, filter: [String: String]? = nil, partitionBy: DimensionGroup? = nil, nextToken: String? = nil, serviceType: ServiceType) { + self.startTime = startTime + self.maxResults = maxResults + self.identifier = identifier + self.groupBy = groupBy + self.periodInSeconds = periodInSeconds + self.metric = metric + self.endTime = endTime + self.filter = filter + self.partitionBy = partitionBy + self.nextToken = nextToken + self.serviceType = serviceType + } + + private enum CodingKeys: String, CodingKey { + case startTime = "StartTime" + case maxResults = "MaxResults" + case identifier = "Identifier" + case groupBy = "GroupBy" + case periodInSeconds = "PeriodInSeconds" + case metric = "Metric" + case endTime = "EndTime" + case filter = "Filter" + case partitionBy = "PartitionBy" + case nextToken = "NextToken" + case serviceType = "ServiceType" + } + } + + public struct DimensionKeyDescription: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Partitions", required: false, type: .list), + AWSShapeMember(label: "Total", required: false, type: .double), + AWSShapeMember(label: "Dimensions", required: false, type: .map) + ] + /// If PartitionBy was specified, PartitionKeys contains the dimensions that were. + public let partitions: [Double]? + /// The aggregated metric value for the dimension(s), over the requested time range. + public let total: Double? + /// A map of name-value pairs for the dimensions in the group. + public let dimensions: [String: String]? + + public init(partitions: [Double]? = nil, total: Double? = nil, dimensions: [String: String]? = nil) { + self.partitions = partitions + self.total = total + self.dimensions = dimensions + } + + private enum CodingKeys: String, CodingKey { + case partitions = "Partitions" + case total = "Total" + case dimensions = "Dimensions" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/pinpoint/Pinpoint_API.swift b/Sources/AWSSDKSwift/Services/pinpoint/Pinpoint_API.swift index c9a10b428b6..354db622111 100644 --- a/Sources/AWSSDKSwift/Services/pinpoint/Pinpoint_API.swift +++ b/Sources/AWSSDKSwift/Services/pinpoint/Pinpoint_API.swift @@ -34,21 +34,46 @@ public struct Pinpoint { return try client.send(operation: "GetSegmentVersion", path: "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}", httpMethod: "GET", input: input) } - /// Update an APNS VOIP channel + /// Update an APNS VoIP channel public func updateApnsVoipChannel(_ input: UpdateApnsVoipChannelRequest) throws -> UpdateApnsVoipChannelResponse { return try client.send(operation: "UpdateApnsVoipChannel", path: "/v1/apps/{application-id}/channels/apns_voip", httpMethod: "PUT", input: input) } + /// Deletes endpoints associated with an user id. + public func deleteUserEndpoints(_ input: DeleteUserEndpointsRequest) throws -> DeleteUserEndpointsResponse { + return try client.send(operation: "DeleteUserEndpoints", path: "/v1/apps/{application-id}/users/{user-id}", httpMethod: "DELETE", input: input) + } + /// Returns information about a specific version of a campaign. public func getCampaignVersion(_ input: GetCampaignVersionRequest) throws -> GetCampaignVersionResponse { return try client.send(operation: "GetCampaignVersion", path: "/v1/apps/{application-id}/campaigns/{campaign-id}/versions/{version}", httpMethod: "GET", input: input) } + /// Returns a list of export jobs for a specific segment. + public func getSegmentExportJobs(_ input: GetSegmentExportJobsRequest) throws -> GetSegmentExportJobsResponse { + return try client.send(operation: "GetSegmentExportJobs", path: "/v1/apps/{application-id}/segments/{segment-id}/jobs/export", httpMethod: "GET", input: input) + } + + /// Returns information about the endpoints associated with an user id. + public func getUserEndpoints(_ input: GetUserEndpointsRequest) throws -> GetUserEndpointsResponse { + return try client.send(operation: "GetUserEndpoints", path: "/v1/apps/{application-id}/users/{user-id}", httpMethod: "GET", input: input) + } + /// Returns information about the GCM channel for an app. public func getGcmChannel(_ input: GetGcmChannelRequest) throws -> GetGcmChannelResponse { return try client.send(operation: "GetGcmChannel", path: "/v1/apps/{application-id}/channels/gcm", httpMethod: "GET", input: input) } + /// Returns information about your export jobs. + public func getExportJobs(_ input: GetExportJobsRequest) throws -> GetExportJobsResponse { + return try client.send(operation: "GetExportJobs", path: "/v1/apps/{application-id}/jobs/export", httpMethod: "GET", input: input) + } + + /// Returns information about the specified phone number. + public func phoneNumberValidate(_ input: PhoneNumberValidateRequest) throws -> PhoneNumberValidateResponse { + return try client.send(operation: "PhoneNumberValidate", path: "/v1/phone/number/validate", httpMethod: "POST", input: input) + } + /// Returns the event stream for an app. public func getEventStream(_ input: GetEventStreamRequest) throws -> GetEventStreamResponse { return try client.send(operation: "GetEventStream", path: "/v1/apps/{application-id}/eventstream", httpMethod: "GET", input: input) @@ -64,7 +89,7 @@ public struct Pinpoint { return try client.send(operation: "DeleteApp", path: "/v1/apps/{application-id}", httpMethod: "DELETE", input: input) } - /// Update an APNS VOIP sandbox channel + /// Update an APNS VoIP sandbox channel public func updateApnsVoipSandboxChannel(_ input: UpdateApnsVoipSandboxChannelRequest) throws -> UpdateApnsVoipSandboxChannelResponse { return try client.send(operation: "UpdateApnsVoipSandboxChannel", path: "/v1/apps/{application-id}/channels/apns_voip_sandbox", httpMethod: "PUT", input: input) } @@ -84,7 +109,7 @@ public struct Pinpoint { return try client.send(operation: "CreateSegment", path: "/v1/apps/{application-id}/segments", httpMethod: "POST", input: input) } - /// Delete an ADM channel + /// Delete an ADM channel. public func deleteAdmChannel(_ input: DeleteAdmChannelRequest) throws -> DeleteAdmChannelResponse { return try client.send(operation: "DeleteAdmChannel", path: "/v1/apps/{application-id}/channels/adm", httpMethod: "DELETE", input: input) } @@ -104,7 +129,7 @@ public struct Pinpoint { return try client.send(operation: "GetCampaign", path: "/v1/apps/{application-id}/campaigns/{campaign-id}", httpMethod: "GET", input: input) } - /// Get an APNS VoipSandbox channel + /// Get an APNS VoIPSandbox channel public func getApnsVoipSandboxChannel(_ input: GetApnsVoipSandboxChannelRequest) throws -> GetApnsVoipSandboxChannelResponse { return try client.send(operation: "GetApnsVoipSandboxChannel", path: "/v1/apps/{application-id}/channels/apns_voip_sandbox", httpMethod: "GET", input: input) } @@ -119,7 +144,7 @@ public struct Pinpoint { return try client.send(operation: "UpdateCampaign", path: "/v1/apps/{application-id}/campaigns/{campaign-id}", httpMethod: "PUT", input: input) } - /// Update an email channel + /// Update an email channel. public func updateEmailChannel(_ input: UpdateEmailChannelRequest) throws -> UpdateEmailChannelResponse { return try client.send(operation: "UpdateEmailChannel", path: "/v1/apps/{application-id}/channels/email", httpMethod: "PUT", input: input) } @@ -159,32 +184,52 @@ public struct Pinpoint { return try client.send(operation: "GetSegments", path: "/v1/apps/{application-id}/segments", httpMethod: "GET", input: input) } + /// Returns information about an export job. + public func getExportJob(_ input: GetExportJobRequest) throws -> GetExportJobResponse { + return try client.send(operation: "GetExportJob", path: "/v1/apps/{application-id}/jobs/export/{job-id}", httpMethod: "GET", input: input) + } + + /// Creates an export job. + public func createExportJob(_ input: CreateExportJobRequest) throws -> CreateExportJobResponse { + return try client.send(operation: "CreateExportJob", path: "/v1/apps/{application-id}/jobs/export", httpMethod: "POST", input: input) + } + + /// Used to remove the attributes for an app + public func removeAttributes(_ input: RemoveAttributesRequest) throws -> RemoveAttributesResponse { + return try client.send(operation: "RemoveAttributes", path: "/v1/apps/{application-id}/attributes/{attribute-type}", httpMethod: "PUT", input: input) + } + /// Returns a list of import jobs for a specific segment. public func getSegmentImportJobs(_ input: GetSegmentImportJobsRequest) throws -> GetSegmentImportJobsResponse { return try client.send(operation: "GetSegmentImportJobs", path: "/v1/apps/{application-id}/segments/{segment-id}/jobs/import", httpMethod: "GET", input: input) } - /// Delete an SMS channel + /// Delete an SMS channel. public func deleteSmsChannel(_ input: DeleteSmsChannelRequest) throws -> DeleteSmsChannelResponse { return try client.send(operation: "DeleteSmsChannel", path: "/v1/apps/{application-id}/channels/sms", httpMethod: "DELETE", input: input) } - /// Delete an APNS sandbox channel + /// Delete an APNS sandbox channel. public func deleteApnsSandboxChannel(_ input: DeleteApnsSandboxChannelRequest) throws -> DeleteApnsSandboxChannelResponse { return try client.send(operation: "DeleteApnsSandboxChannel", path: "/v1/apps/{application-id}/channels/apns_sandbox", httpMethod: "DELETE", input: input) } + /// Get all channels. + public func getChannels(_ input: GetChannelsRequest) throws -> GetChannelsResponse { + return try client.send(operation: "GetChannels", path: "/v1/apps/{application-id}/channels", httpMethod: "GET", input: input) + } + /// Returns information about your campaign versions. public func getCampaignVersions(_ input: GetCampaignVersionsRequest) throws -> GetCampaignVersionsResponse { return try client.send(operation: "GetCampaignVersions", path: "/v1/apps/{application-id}/campaigns/{campaign-id}/versions", httpMethod: "GET", input: input) } - /// Get an APNS Voip channel + /// Get an APNS VoIP channel public func getApnsVoipChannel(_ input: GetApnsVoipChannelRequest) throws -> GetApnsVoipChannelResponse { return try client.send(operation: "GetApnsVoipChannel", path: "/v1/apps/{application-id}/channels/apns_voip", httpMethod: "GET", input: input) } - /// Delete an email channel + /// Delete an email channel. public func deleteEmailChannel(_ input: DeleteEmailChannelRequest) throws -> DeleteEmailChannelResponse { return try client.send(operation: "DeleteEmailChannel", path: "/v1/apps/{application-id}/channels/email", httpMethod: "DELETE", input: input) } @@ -194,7 +239,7 @@ public struct Pinpoint { return try client.send(operation: "GetApps", path: "/v1/apps", httpMethod: "GET", input: input) } - /// Delete an APNS VOIP sandbox channel + /// Delete an APNS VoIP sandbox channel public func deleteApnsVoipSandboxChannel(_ input: DeleteApnsVoipSandboxChannelRequest) throws -> DeleteApnsVoipSandboxChannelResponse { return try client.send(operation: "DeleteApnsVoipSandboxChannel", path: "/v1/apps/{application-id}/channels/apns_voip_sandbox", httpMethod: "DELETE", input: input) } @@ -209,7 +254,7 @@ public struct Pinpoint { return try client.send(operation: "UpdateEndpointsBatch", path: "/v1/apps/{application-id}/endpoints", httpMethod: "PUT", input: input) } - /// Get an SMS channel + /// Get an SMS channel. public func getSmsChannel(_ input: GetSmsChannelRequest) throws -> GetSmsChannelResponse { return try client.send(operation: "GetSmsChannel", path: "/v1/apps/{application-id}/channels/sms", httpMethod: "GET", input: input) } @@ -224,12 +269,15 @@ public struct Pinpoint { return try client.send(operation: "CreateImportJob", path: "/v1/apps/{application-id}/jobs/import", httpMethod: "POST", input: input) } - /// Update an APNS sandbox channel + /// Update an APNS sandbox channel. public func updateApnsSandboxChannel(_ input: UpdateApnsSandboxChannelRequest) throws -> UpdateApnsSandboxChannelResponse { return try client.send(operation: "UpdateApnsSandboxChannel", path: "/v1/apps/{application-id}/channels/apns_sandbox", httpMethod: "PUT", input: input) } - /// Send a batch of messages to users + /// Use this resource to message a list of users. Amazon Pinpoint sends the message to all of the endpoints that are associated with each user. + /// A user represents an individual who is assigned a unique user ID, and this ID is assigned to one or more endpoints. For example, if an individual uses your app on multiple devices, your app could assign that person's user ID to the endpoint for each device. + /// With the users-messages resource, you specify the message recipients as user IDs. For each user ID, Amazon Pinpoint delivers the message to all of the user's endpoints. Within the body of your request, you can specify a default message, and you can tailor your message for different channels, including those for mobile push and SMS. + /// With this resource, you send a direct message, which is a one time message that you send to a limited audience without creating a campaign. You can send the message to up to 100 users per request. You cannot use the message to engage a segment. When you send the message, Amazon Pinpoint delivers it immediately, and you cannot schedule the delivery. To engage a user segment, and to schedule the message delivery, create a campaign instead of using the users-messages resource. public func sendUsersMessages(_ input: SendUsersMessagesRequest) throws -> SendUsersMessagesResponse { return try client.send(operation: "SendUsersMessages", path: "/v1/apps/{application-id}/users-messages", httpMethod: "POST", input: input) } @@ -244,27 +292,27 @@ public struct Pinpoint { return try client.send(operation: "GetApnsChannel", path: "/v1/apps/{application-id}/channels/apns", httpMethod: "GET", input: input) } - /// Use to update an endpoint. + /// Creates or updates an endpoint. public func updateEndpoint(_ input: UpdateEndpointRequest) throws -> UpdateEndpointResponse { return try client.send(operation: "UpdateEndpoint", path: "/v1/apps/{application-id}/endpoints/{endpoint-id}", httpMethod: "PUT", input: input) } - /// Get an APNS sandbox channel + /// Get an APNS sandbox channel. public func getApnsSandboxChannel(_ input: GetApnsSandboxChannelRequest) throws -> GetApnsSandboxChannelResponse { return try client.send(operation: "GetApnsSandboxChannel", path: "/v1/apps/{application-id}/channels/apns_sandbox", httpMethod: "GET", input: input) } - /// Update an ADM channel + /// Update an ADM channel. public func updateAdmChannel(_ input: UpdateAdmChannelRequest) throws -> UpdateAdmChannelResponse { return try client.send(operation: "UpdateAdmChannel", path: "/v1/apps/{application-id}/channels/adm", httpMethod: "PUT", input: input) } - /// Get an email channel + /// Get an email channel. public func getEmailChannel(_ input: GetEmailChannelRequest) throws -> GetEmailChannelResponse { return try client.send(operation: "GetEmailChannel", path: "/v1/apps/{application-id}/channels/email", httpMethod: "GET", input: input) } - /// Get an ADM channel + /// Get an ADM channel. public func getAdmChannel(_ input: GetAdmChannelRequest) throws -> GetAdmChannelResponse { return try client.send(operation: "GetAdmChannel", path: "/v1/apps/{application-id}/channels/adm", httpMethod: "GET", input: input) } @@ -279,7 +327,14 @@ public struct Pinpoint { return try client.send(operation: "UpdateApnsChannel", path: "/v1/apps/{application-id}/channels/apns", httpMethod: "PUT", input: input) } - /// Send a batch of messages + /// Deletes an endpoint. + public func deleteEndpoint(_ input: DeleteEndpointRequest) throws -> DeleteEndpointResponse { + return try client.send(operation: "DeleteEndpoint", path: "/v1/apps/{application-id}/endpoints/{endpoint-id}", httpMethod: "DELETE", input: input) + } + + /// Use this resource to send a direct message, which is a one time message that you send to a limited audience without creating a campaign. + /// You can send the message to up to 100 recipients. You cannot use the message to engage a segment. When you send the message, Amazon Pinpoint delivers it immediately, and you cannot schedule the delivery. To engage a user segment, and to schedule the message delivery, create a campaign instead of sending a direct message. + /// You can send a direct message as a push notification to your mobile app or as an SMS message to SMS-enabled devices. public func sendMessages(_ input: SendMessagesRequest) throws -> SendMessagesResponse { return try client.send(operation: "SendMessages", path: "/v1/apps/{application-id}/messages", httpMethod: "POST", input: input) } @@ -309,7 +364,7 @@ public struct Pinpoint { return try client.send(operation: "UpdateGcmChannel", path: "/v1/apps/{application-id}/channels/gcm", httpMethod: "PUT", input: input) } - /// Delete an APNS VOIP channel + /// Delete an APNS VoIP channel public func deleteApnsVoipChannel(_ input: DeleteApnsVoipChannelRequest) throws -> DeleteApnsVoipChannelResponse { return try client.send(operation: "DeleteApnsVoipChannel", path: "/v1/apps/{application-id}/channels/apns_voip", httpMethod: "DELETE", input: input) } @@ -319,7 +374,7 @@ public struct Pinpoint { return try client.send(operation: "PutEventStream", path: "/v1/apps/{application-id}/eventstream", httpMethod: "POST", input: input) } - /// Update an SMS channel + /// Update an SMS channel. public func updateSmsChannel(_ input: UpdateSmsChannelRequest) throws -> UpdateSmsChannelResponse { return try client.send(operation: "UpdateSmsChannel", path: "/v1/apps/{application-id}/channels/sms", httpMethod: "PUT", input: input) } diff --git a/Sources/AWSSDKSwift/Services/pinpoint/Pinpoint_Shapes.swift b/Sources/AWSSDKSwift/Services/pinpoint/Pinpoint_Shapes.swift index c45211af2c0..5a8ffefce57 100644 --- a/Sources/AWSSDKSwift/Services/pinpoint/Pinpoint_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/pinpoint/Pinpoint_Shapes.swift @@ -26,26 +26,26 @@ extension Pinpoint { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PageSize", location: .querystring(locationName: "page-size"), required: false, type: .string), AWSShapeMember(label: "CampaignId", location: .uri(locationName: "campaign-id"), required: true, type: .string), - AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string), - AWSShapeMember(label: "Token", location: .querystring(locationName: "token"), required: false, type: .string) + AWSShapeMember(label: "Token", location: .querystring(locationName: "token"), required: false, type: .string), + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) ] public let pageSize: String? public let campaignId: String - public let applicationId: String public let token: String? + public let applicationId: String - public init(pageSize: String? = nil, campaignId: String, applicationId: String, token: String? = nil) { + public init(pageSize: String? = nil, campaignId: String, token: String? = nil, applicationId: String) { self.pageSize = pageSize self.campaignId = campaignId - self.applicationId = applicationId self.token = token + self.applicationId = applicationId } private enum CodingKeys: String, CodingKey { case pageSize = "page-size" case campaignId = "campaign-id" - case applicationId = "application-id" case token = "token" + case applicationId = "application-id" } } @@ -79,28 +79,31 @@ extension Pinpoint { AWSShapeMember(label: "User", required: false, type: .structure), AWSShapeMember(label: "ChannelType", required: false, type: .enum) ] - /// The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated. + /// Unused. public let endpointStatus: String? /// Indicates whether a user has opted out of receiving messages with one of the following values: /// ALL - User has opted out of all messages. /// NONE - Users has not opted out and receives all messages. public let optOut: String? + /// Custom metrics that your app reports to Amazon Pinpoint. public let metrics: [String: Double]? /// The last time the endpoint was updated. Provided in ISO 8601 format. public let effectiveDate: String? - /// The address or token of the endpoint as provided by your push provider (e.g. DeviceToken or RegistrationId). + /// 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 +1206XXX5550100. For the email channel, use an email address. public let address: String? /// The endpoint location attributes. public let location: EndpointLocation? /// The endpoint demographic attributes. public let demographic: EndpointDemographic? + /// 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. + /// The 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. public let attributes: [String: [String]]? /// The unique ID for the most recent request to update the endpoint. public let requestId: String? /// Custom user-specific attributes that your app reports to Amazon Pinpoint. public let user: EndpointUser? /// The channel type. - /// Valid values: GCM | APNS | SMS | EMAIL + /// Valid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU public let channelType: ChannelType? public init(endpointStatus: String? = nil, optOut: String? = nil, metrics: [String: Double]? = nil, effectiveDate: String? = nil, address: String? = nil, location: EndpointLocation? = nil, demographic: EndpointDemographic? = nil, attributes: [String: [String]]? = nil, requestId: String? = nil, user: EndpointUser? = nil, channelType: ChannelType? = nil) { @@ -252,6 +255,32 @@ extension Pinpoint { } } + public struct CampaignHook: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Mode", required: false, type: .enum), + AWSShapeMember(label: "WebUrl", required: false, type: .string), + AWSShapeMember(label: "LambdaFunctionName", required: false, type: .string) + ] + /// What mode Lambda should be invoked in. + public let mode: Mode? + /// Web URL to call for hook. If the URL has authentication specified it will be added as authentication to the request + public let webUrl: String? + /// Lambda function name or arn to be called for delivery + public let lambdaFunctionName: String? + + public init(mode: Mode? = nil, webUrl: String? = nil, lambdaFunctionName: String? = nil) { + self.mode = mode + self.webUrl = webUrl + self.lambdaFunctionName = lambdaFunctionName + } + + private enum CodingKeys: String, CodingKey { + case mode = "Mode" + case webUrl = "WebUrl" + case lambdaFunctionName = "LambdaFunctionName" + } + } + public struct EndpointSendConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TitleOverride", required: false, type: .string), @@ -262,11 +291,13 @@ extension Pinpoint { ] /// Title override. If specified will override default title if applicable. public let titleOverride: String? + /// 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. public let context: [String: String]? /// Body override. If specified will override default body. public let bodyOverride: String? /// The Raw JSON formatted string to be used as the payload. This value overrides the message. public let rawContent: String? + /// 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. public let substitutions: [String: [String]]? public init(titleOverride: String? = nil, context: [String: String]? = nil, bodyOverride: String? = nil, rawContent: String? = nil, substitutions: [String: [String]]? = nil) { @@ -295,30 +326,30 @@ extension Pinpoint { public struct EmailChannelRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FromAddress", required: false, type: .string), AWSShapeMember(label: "Enabled", required: false, type: .boolean), + AWSShapeMember(label: "FromAddress", required: false, type: .string), AWSShapeMember(label: "RoleArn", required: false, type: .string), AWSShapeMember(label: "Identity", required: false, type: .string) ] - /// The email address used to send emails from. - public let fromAddress: String? /// If the channel is enabled for sending messages. public let enabled: Bool? + /// The email address used to send emails from. + public let fromAddress: String? /// The ARN of an IAM Role used to submit events to Mobile Analytics' event ingestion service public let roleArn: String? /// The ARN of an identity verified with SES. public let identity: String? - public init(fromAddress: String? = nil, enabled: Bool? = nil, roleArn: String? = nil, identity: String? = nil) { - self.fromAddress = fromAddress + public init(enabled: Bool? = nil, fromAddress: String? = nil, roleArn: String? = nil, identity: String? = nil) { self.enabled = enabled + self.fromAddress = fromAddress self.roleArn = roleArn self.identity = identity } private enum CodingKeys: String, CodingKey { - case fromAddress = "FromAddress" case enabled = "Enabled" + case fromAddress = "FromAddress" case roleArn = "RoleArn" case identity = "Identity" } @@ -434,6 +465,39 @@ extension Pinpoint { } } + public struct ExportJobResource: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SegmentVersion", required: false, type: .integer), + AWSShapeMember(label: "RoleArn", required: false, type: .string), + AWSShapeMember(label: "SegmentId", required: false, type: .string), + AWSShapeMember(label: "S3UrlPrefix", required: false, type: .string) + ] + /// The version of the segment to export if specified. + public let segmentVersion: Int32? + /// 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. + public let roleArn: String? + /// The ID of the segment to export endpoints from. If not present, Amazon Pinpoint exports all of the endpoints that belong to the application. + public let segmentId: String? + /// 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. + /// The URL should follow this format: s3://bucket-name/folder-name/ + /// Amazon Pinpoint will export endpoints to this location. + public let s3UrlPrefix: String? + + public init(segmentVersion: Int32? = nil, roleArn: String? = nil, segmentId: String? = nil, s3UrlPrefix: String? = nil) { + self.segmentVersion = segmentVersion + self.roleArn = roleArn + self.segmentId = segmentId + self.s3UrlPrefix = s3UrlPrefix + } + + private enum CodingKeys: String, CodingKey { + case segmentVersion = "SegmentVersion" + case roleArn = "RoleArn" + case segmentId = "SegmentId" + case s3UrlPrefix = "S3UrlPrefix" + } + } + public struct DeleteApnsVoipSandboxChannelResponse: AWSShape { /// The key for the payload public static let payloadPath: String? = "APNSVoipSandboxChannelResponse" @@ -469,7 +533,7 @@ extension Pinpoint { public let id: String? /// The platform type. Will be BAIDU public let platform: String? - /// If the channel is registered with a credential for authentication. + /// Not used. Retained for backwards compatibility. public let hasCredential: Bool? /// Version of channel public let version: Int32? @@ -576,6 +640,84 @@ extension Pinpoint { } } + public struct ExportJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CompletionDate", required: false, type: .string), + AWSShapeMember(label: "Definition", required: false, type: .structure), + AWSShapeMember(label: "FailedPieces", required: false, type: .integer), + AWSShapeMember(label: "TotalPieces", required: false, type: .integer), + AWSShapeMember(label: "CreationDate", required: false, type: .string), + AWSShapeMember(label: "JobStatus", required: false, type: .enum), + AWSShapeMember(label: "Id", required: false, type: .string), + AWSShapeMember(label: "TotalProcessed", required: false, type: .integer), + AWSShapeMember(label: "CompletedPieces", required: false, type: .integer), + AWSShapeMember(label: "TotalFailures", required: false, type: .integer), + AWSShapeMember(label: "Failures", required: false, type: .list), + AWSShapeMember(label: "ApplicationId", required: false, type: .string), + AWSShapeMember(label: "Type", required: false, type: .string) + ] + /// The date the job completed in ISO 8601 format. + public let completionDate: String? + /// The export job settings. + public let definition: ExportJobResource? + /// The number of pieces that failed to be processed as of the time of the request. + public let failedPieces: Int32? + /// The total number of pieces that must be processed to finish the job. Each piece is an approximately equal portion of the endpoints. + public let totalPieces: Int32? + /// The date the job was created in ISO 8601 format. + public let creationDate: String? + /// The status of the job. + /// Valid values: CREATED, INITIALIZING, PROCESSING, COMPLETING, COMPLETED, FAILING, FAILED + /// The job status is FAILED if one or more pieces failed. + public let jobStatus: JobStatus? + /// The unique ID of the job. + public let id: String? + /// The number of endpoints that were processed by the job. + public let totalProcessed: Int32? + /// The number of pieces that have successfully completed as of the time of the request. + public let completedPieces: Int32? + /// The number of endpoints that were not processed; for example, because of syntax errors. + public let totalFailures: Int32? + /// Provides up to 100 of the first failed entries for the job, if any exist. + public let failures: [String]? + /// The unique ID of the application to which the job applies. + public let applicationId: String? + /// The job type. Will be 'EXPORT'. + public let `type`: String? + + public init(completionDate: String? = nil, definition: ExportJobResource? = nil, failedPieces: Int32? = nil, totalPieces: Int32? = nil, creationDate: String? = nil, jobStatus: JobStatus? = nil, id: String? = nil, totalProcessed: Int32? = nil, completedPieces: Int32? = nil, totalFailures: Int32? = nil, failures: [String]? = nil, applicationId: String? = nil, type: String? = nil) { + self.completionDate = completionDate + self.definition = definition + self.failedPieces = failedPieces + self.totalPieces = totalPieces + self.creationDate = creationDate + self.jobStatus = jobStatus + self.id = id + self.totalProcessed = totalProcessed + self.completedPieces = completedPieces + self.totalFailures = totalFailures + self.failures = failures + self.applicationId = applicationId + self.`type` = `type` + } + + private enum CodingKeys: String, CodingKey { + case completionDate = "CompletionDate" + case definition = "Definition" + case failedPieces = "FailedPieces" + case totalPieces = "TotalPieces" + case creationDate = "CreationDate" + case jobStatus = "JobStatus" + case id = "Id" + case totalProcessed = "TotalProcessed" + case completedPieces = "CompletedPieces" + case totalFailures = "TotalFailures" + case failures = "Failures" + case applicationId = "ApplicationId" + case `type` = "Type" + } + } + public struct DeleteApnsVoipChannelRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) @@ -617,74 +759,102 @@ extension Pinpoint { } } + public struct GetExportJobsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PageSize", location: .querystring(locationName: "page-size"), required: false, type: .string), + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string), + AWSShapeMember(label: "Token", location: .querystring(locationName: "token"), required: false, type: .string) + ] + public let pageSize: String? + public let applicationId: String + public let token: String? + + public init(pageSize: String? = nil, applicationId: String, token: String? = nil) { + self.pageSize = pageSize + self.applicationId = applicationId + self.token = token + } + + private enum CodingKeys: String, CodingKey { + case pageSize = "page-size" + case applicationId = "application-id" + case token = "token" + } + } + public struct WriteCampaignRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Limits", required: false, type: .structure), AWSShapeMember(label: "TreatmentName", required: false, type: .string), AWSShapeMember(label: "SegmentVersion", required: false, type: .integer), - AWSShapeMember(label: "AdditionalTreatments", required: false, type: .list), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "TreatmentDescription", required: false, type: .string), - AWSShapeMember(label: "HoldoutPercent", required: false, type: .integer), - AWSShapeMember(label: "Limits", required: false, type: .structure), AWSShapeMember(label: "Schedule", required: false, type: .structure), AWSShapeMember(label: "MessageConfiguration", required: false, type: .structure), AWSShapeMember(label: "SegmentId", required: false, type: .string), - AWSShapeMember(label: "IsPaused", required: false, type: .boolean), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "Hook", required: false, type: .structure), + AWSShapeMember(label: "TreatmentDescription", required: false, type: .string), + AWSShapeMember(label: "AdditionalTreatments", required: false, type: .list), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "HoldoutPercent", required: false, type: .integer), + AWSShapeMember(label: "IsPaused", required: false, type: .boolean) ] + /// The campaign limits settings. + public let limits: CampaignLimits? /// The custom name of a variation of the campaign used for A/B testing. public let treatmentName: String? /// The version of the segment to which the campaign sends messages. public let segmentVersion: Int32? - /// Treatments that are defined in addition to the default treatment. - public let additionalTreatments: [WriteTreatmentResource]? - /// The custom name of the campaign. - public let name: String? - /// A custom description for the treatment. - public let treatmentDescription: String? - /// The allocated percentage of end users who will not receive messages from this campaign. - public let holdoutPercent: Int32? - /// The campaign limits settings. - public let limits: CampaignLimits? /// The campaign schedule. public let schedule: Schedule? /// The message configuration settings. public let messageConfiguration: MessageConfiguration? /// The ID of the segment to which the campaign sends messages. public let segmentId: String? - /// Indicates whether the campaign is paused. A paused campaign does not send messages unless you resume it by setting IsPaused to false. - public let isPaused: Bool? /// A description of the campaign. public let description: String? + /// Campaign hook information. + public let hook: CampaignHook? + /// A custom description for the treatment. + public let treatmentDescription: String? + /// Treatments that are defined in addition to the default treatment. + public let additionalTreatments: [WriteTreatmentResource]? + /// The custom name of the campaign. + public let name: String? + /// The allocated percentage of end users who will not receive messages from this campaign. + public let holdoutPercent: Int32? + /// Indicates whether the campaign is paused. A paused campaign does not send messages unless you resume it by setting IsPaused to false. + public let isPaused: Bool? - public init(treatmentName: String? = nil, segmentVersion: Int32? = nil, additionalTreatments: [WriteTreatmentResource]? = nil, name: String? = nil, treatmentDescription: String? = nil, holdoutPercent: Int32? = nil, limits: CampaignLimits? = nil, schedule: Schedule? = nil, messageConfiguration: MessageConfiguration? = nil, segmentId: String? = nil, isPaused: Bool? = nil, description: String? = nil) { + public init(limits: CampaignLimits? = nil, treatmentName: String? = nil, segmentVersion: Int32? = nil, schedule: Schedule? = nil, messageConfiguration: MessageConfiguration? = nil, segmentId: String? = nil, description: String? = nil, hook: CampaignHook? = nil, treatmentDescription: String? = nil, additionalTreatments: [WriteTreatmentResource]? = nil, name: String? = nil, holdoutPercent: Int32? = nil, isPaused: Bool? = nil) { + self.limits = limits self.treatmentName = treatmentName self.segmentVersion = segmentVersion - self.additionalTreatments = additionalTreatments - self.name = name - self.treatmentDescription = treatmentDescription - self.holdoutPercent = holdoutPercent - self.limits = limits self.schedule = schedule self.messageConfiguration = messageConfiguration self.segmentId = segmentId - self.isPaused = isPaused self.description = description + self.hook = hook + self.treatmentDescription = treatmentDescription + self.additionalTreatments = additionalTreatments + self.name = name + self.holdoutPercent = holdoutPercent + self.isPaused = isPaused } private enum CodingKeys: String, CodingKey { + case limits = "Limits" case treatmentName = "TreatmentName" case segmentVersion = "SegmentVersion" - case additionalTreatments = "AdditionalTreatments" - case name = "Name" - case treatmentDescription = "TreatmentDescription" - case holdoutPercent = "HoldoutPercent" - case limits = "Limits" case schedule = "Schedule" case messageConfiguration = "MessageConfiguration" case segmentId = "SegmentId" - case isPaused = "IsPaused" case description = "Description" + case hook = "Hook" + case treatmentDescription = "TreatmentDescription" + case additionalTreatments = "AdditionalTreatments" + case name = "Name" + case holdoutPercent = "HoldoutPercent" + case isPaused = "IsPaused" } } @@ -741,34 +911,64 @@ extension Pinpoint { public struct SMSMessage: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Keyword", required: false, type: .string), AWSShapeMember(label: "SenderId", required: false, type: .string), + AWSShapeMember(label: "OriginationNumber", required: false, type: .string), AWSShapeMember(label: "MessageType", required: false, type: .enum), AWSShapeMember(label: "Body", required: false, type: .string), AWSShapeMember(label: "Substitutions", required: false, type: .map) ] - /// Sender ID of sent message. + /// The SMS program name that you provided to AWS Support when you requested your dedicated number. + public let keyword: String? + /// The sender ID that is shown as the message sender on the recipient's device. Support for sender IDs varies by country or region. public let senderId: String? + /// 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. + public let originationNumber: String? /// Is this a transaction priority message or lower priority. public let messageType: MessageType? - /// The message body of the notification, the email body or the text message. + /// The body of the SMS message. public let body: String? + /// Default message substitutions. Can be overridden by individual address substitutions. public let substitutions: [String: [String]]? - public init(senderId: String? = nil, messageType: MessageType? = nil, body: String? = nil, substitutions: [String: [String]]? = nil) { + public init(keyword: String? = nil, senderId: String? = nil, originationNumber: String? = nil, messageType: MessageType? = nil, body: String? = nil, substitutions: [String: [String]]? = nil) { + self.keyword = keyword self.senderId = senderId + self.originationNumber = originationNumber self.messageType = messageType self.body = body self.substitutions = substitutions } private enum CodingKeys: String, CodingKey { + case keyword = "Keyword" case senderId = "SenderId" + case originationNumber = "OriginationNumber" case messageType = "MessageType" case body = "Body" case substitutions = "Substitutions" } } + public struct GetUserEndpointsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserId", location: .uri(locationName: "user-id"), required: true, type: .string), + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) + ] + public let userId: String + public let applicationId: String + + public init(userId: String, applicationId: String) { + self.userId = userId + self.applicationId = applicationId + } + + private enum CodingKeys: String, CodingKey { + case userId = "user-id" + case applicationId = "application-id" + } + } + public struct DeleteSmsChannelRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) @@ -784,20 +984,24 @@ extension Pinpoint { } } - public struct DeleteSmsChannelResponse: AWSShape { - /// The key for the payload - public static let payloadPath: String? = "SMSChannelResponse" + public struct SegmentReference: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SMSChannelResponse", required: true, type: .structure) + AWSShapeMember(label: "Version", required: false, type: .integer), + AWSShapeMember(label: "Id", required: false, type: .string) ] - public let sMSChannelResponse: SMSChannelResponse + /// If specified contains a specific version of the segment included. + public let version: Int32? + /// Segment Id. + public let id: String? - public init(sMSChannelResponse: SMSChannelResponse) { - self.sMSChannelResponse = sMSChannelResponse + public init(version: Int32? = nil, id: String? = nil) { + self.version = version + self.id = id } private enum CodingKeys: String, CodingKey { - case sMSChannelResponse = "SMSChannelResponse" + case version = "Version" + case id = "Id" } } @@ -831,6 +1035,23 @@ extension Pinpoint { public var description: String { return self.rawValue } } + public struct DeleteSmsChannelResponse: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "SMSChannelResponse" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SMSChannelResponse", required: true, type: .structure) + ] + public let sMSChannelResponse: SMSChannelResponse + + public init(sMSChannelResponse: SMSChannelResponse) { + self.sMSChannelResponse = sMSChannelResponse + } + + private enum CodingKeys: String, CodingKey { + case sMSChannelResponse = "SMSChannelResponse" + } + } + public struct GetSmsChannelRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) @@ -868,12 +1089,13 @@ extension Pinpoint { AWSShapeMember(label: "MessageConfiguration", required: false, type: .structure), AWSShapeMember(label: "Endpoints", required: false, type: .map) ] + /// 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. public let context: [String: String]? - /// A map of destination addresses, with the address as the key(Email address, phone number or push token) and the Address Configuration as the value. + /// 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. public let addresses: [String: AddressConfiguration]? /// Message configuration. public let messageConfiguration: DirectMessageConfiguration? - /// A map of destination addresses, with the address as the key(Email address, phone number or push token) and the Address Configuration as the value. + /// 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. public let endpoints: [String: EndpointSendConfiguration]? public init(context: [String: String]? = nil, addresses: [String: AddressConfiguration]? = nil, messageConfiguration: DirectMessageConfiguration? = nil, endpoints: [String: EndpointSendConfiguration]? = nil) { @@ -891,6 +1113,25 @@ extension Pinpoint { } } + public struct GetExportJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", location: .uri(locationName: "job-id"), required: true, type: .string), + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) + ] + public let jobId: String + public let applicationId: String + + public init(jobId: String, applicationId: String) { + self.jobId = jobId + self.applicationId = applicationId + } + + private enum CodingKeys: String, CodingKey { + case jobId = "job-id" + case applicationId = "application-id" + } + } + public struct GetCampaignRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CampaignId", location: .uri(locationName: "campaign-id"), required: true, type: .string), @@ -993,21 +1234,31 @@ extension Pinpoint { public struct WriteApplicationSettingsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Limits", required: false, type: .structure), - AWSShapeMember(label: "QuietTime", required: false, type: .structure) + AWSShapeMember(label: "QuietTime", required: false, type: .structure), + AWSShapeMember(label: "CampaignHook", required: false, type: .structure), + AWSShapeMember(label: "CloudWatchMetricsEnabled", required: false, type: .boolean) ] /// 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. public let limits: CampaignLimits? /// 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. public let quietTime: QuietTime? + /// Default campaign hook information. + public let campaignHook: CampaignHook? + /// The CloudWatchMetrics settings for the app. + public let cloudWatchMetricsEnabled: Bool? - public init(limits: CampaignLimits? = nil, quietTime: QuietTime? = nil) { + public init(limits: CampaignLimits? = nil, quietTime: QuietTime? = nil, campaignHook: CampaignHook? = nil, cloudWatchMetricsEnabled: Bool? = nil) { self.limits = limits self.quietTime = quietTime + self.campaignHook = campaignHook + self.cloudWatchMetricsEnabled = cloudWatchMetricsEnabled } private enum CodingKeys: String, CodingKey { case limits = "Limits" case quietTime = "QuietTime" + case campaignHook = "CampaignHook" + case cloudWatchMetricsEnabled = "CloudWatchMetricsEnabled" } } @@ -1030,37 +1281,42 @@ extension Pinpoint { public struct EndpointMessageResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DeliveryStatus", required: false, type: .enum), + AWSShapeMember(label: "UpdatedToken", required: false, type: .string), AWSShapeMember(label: "StatusCode", required: false, type: .integer), + AWSShapeMember(label: "DeliveryStatus", required: false, type: .enum), AWSShapeMember(label: "StatusMessage", required: false, type: .string), AWSShapeMember(label: "Address", required: false, type: .string), - AWSShapeMember(label: "UpdatedToken", required: false, type: .string) + AWSShapeMember(label: "MessageId", required: false, type: .string) ] - /// Delivery status of message. - public let deliveryStatus: DeliveryStatus? + /// If token was updated as part of delivery. (This is GCM Specific) + public let updatedToken: String? /// Downstream service status code. public let statusCode: Int32? + /// Delivery status of message. + public let deliveryStatus: DeliveryStatus? /// Status message for message delivery. public let statusMessage: String? /// Address that endpoint message was delivered to. public let address: String? - /// If token was updated as part of delivery. (This is GCM Specific) - public let updatedToken: String? + /// Unique message identifier associated with the message that was sent. + public let messageId: String? - public init(deliveryStatus: DeliveryStatus? = nil, statusCode: Int32? = nil, statusMessage: String? = nil, address: String? = nil, updatedToken: String? = nil) { - self.deliveryStatus = deliveryStatus + public init(updatedToken: String? = nil, statusCode: Int32? = nil, deliveryStatus: DeliveryStatus? = nil, statusMessage: String? = nil, address: String? = nil, messageId: String? = nil) { + self.updatedToken = updatedToken self.statusCode = statusCode + self.deliveryStatus = deliveryStatus self.statusMessage = statusMessage self.address = address - self.updatedToken = updatedToken + self.messageId = messageId } private enum CodingKeys: String, CodingKey { - case deliveryStatus = "DeliveryStatus" + case updatedToken = "UpdatedToken" case statusCode = "StatusCode" + case deliveryStatus = "DeliveryStatus" case statusMessage = "StatusMessage" case address = "Address" - case updatedToken = "UpdatedToken" + case messageId = "MessageId" } } @@ -1072,6 +1328,22 @@ extension Pinpoint { public var description: String { return self.rawValue } } + public struct EndpointsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Item", required: false, type: .list) + ] + /// The list of endpoints. + public let item: [EndpointResponse]? + + public init(item: [EndpointResponse]? = nil) { + self.item = item + } + + private enum CodingKeys: String, CodingKey { + case item = "Item" + } + } + public struct GetSmsChannelResponse: AWSShape { /// The key for the payload public static let payloadPath: String? = "SMSChannelResponse" @@ -1105,7 +1377,7 @@ extension Pinpoint { AWSShapeMember(label: "Id", required: false, type: .string) ] /// The channel type. - /// Valid values: GCM | APNS | SMS | EMAIL + /// Valid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU public let channelType: ChannelType? /// Custom user-specific attributes that your app reports to Amazon Pinpoint. public let user: EndpointUser? @@ -1115,17 +1387,20 @@ extension Pinpoint { /// ALL - User has opted out of all messages. /// NONE - Users has not opted out and receives all messages. public let optOut: String? + /// Custom metrics that your app reports to Amazon Pinpoint. public let metrics: [String: Double]? /// The endpoint location attributes. public let location: EndpointLocation? - /// The address or token of the endpoint as provided by your push provider (e.g. DeviceToken or RegistrationId). + /// 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 +1206XXX5550100. For the email channel, use an email address. public let address: String? /// The endpoint demographic attributes. public let demographic: EndpointDemographic? + /// 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. + /// The 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. public let attributes: [String: [String]]? /// The unique ID for the most recent request to update the endpoint. public let requestId: String? - /// The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated. + /// Unused. public let endpointStatus: String? /// The unique Id for the Endpoint in the batch. public let id: String? @@ -1231,6 +1506,7 @@ extension Pinpoint { ] /// The message body of the notification, the email body or the text message. public let body: String? + /// Default message substitutions. Can be overridden by individual address substitutions. public let substitutions: [String: [String]]? public init(body: String? = nil, substitutions: [String: [String]]? = nil) { @@ -1244,19 +1520,10 @@ extension Pinpoint { } } - public struct DeleteAdmChannelRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) - ] - public let applicationId: String - - public init(applicationId: String) { - self.applicationId = applicationId - } - - private enum CodingKeys: String, CodingKey { - case applicationId = "application-id" - } + public enum Mode: String, CustomStringConvertible, Codable { + case delivery = "DELIVERY" + case filter = "FILTER" + public var description: String { return self.rawValue } } public struct CreateApplicationRequest: AWSShape { @@ -1320,16 +1587,64 @@ extension Pinpoint { /// The key for the payload public static let payloadPath: String? = "APNSVoipChannelResponse" public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "APNSVoipChannelResponse", required: true, type: .structure) + AWSShapeMember(label: "APNSVoipChannelResponse", required: true, type: .structure) + ] + public let aPNSVoipChannelResponse: APNSVoipChannelResponse + + public init(aPNSVoipChannelResponse: APNSVoipChannelResponse) { + self.aPNSVoipChannelResponse = aPNSVoipChannelResponse + } + + private enum CodingKeys: String, CodingKey { + case aPNSVoipChannelResponse = "APNSVoipChannelResponse" + } + } + + public struct ExportJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SegmentVersion", required: false, type: .integer), + AWSShapeMember(label: "RoleArn", required: false, type: .string), + AWSShapeMember(label: "SegmentId", required: false, type: .string), + AWSShapeMember(label: "S3UrlPrefix", required: false, type: .string) + ] + /// The version of the segment to export if specified. + public let segmentVersion: Int32? + /// 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. + public let roleArn: String? + /// The ID of the segment to export endpoints from. If not present, Amazon Pinpoint exports all of the endpoints that belong to the application. + public let segmentId: String? + /// 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. + /// The URL should follow this format: s3://bucket-name/folder-name/ + /// Amazon Pinpoint will export endpoints to this location. + public let s3UrlPrefix: String? + + public init(segmentVersion: Int32? = nil, roleArn: String? = nil, segmentId: String? = nil, s3UrlPrefix: String? = nil) { + self.segmentVersion = segmentVersion + self.roleArn = roleArn + self.segmentId = segmentId + self.s3UrlPrefix = s3UrlPrefix + } + + private enum CodingKeys: String, CodingKey { + case segmentVersion = "SegmentVersion" + case roleArn = "RoleArn" + case segmentId = "SegmentId" + case s3UrlPrefix = "S3UrlPrefix" + } + } + + public struct DeleteAdmChannelRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) ] - public let aPNSVoipChannelResponse: APNSVoipChannelResponse + public let applicationId: String - public init(aPNSVoipChannelResponse: APNSVoipChannelResponse) { - self.aPNSVoipChannelResponse = aPNSVoipChannelResponse + public init(applicationId: String) { + self.applicationId = applicationId } private enum CodingKeys: String, CodingKey { - case aPNSVoipChannelResponse = "APNSVoipChannelResponse" + case applicationId = "application-id" } } @@ -1368,7 +1683,7 @@ extension Pinpoint { public let id: String? /// The platform type. Will be GCM public let platform: String? - /// If the channel is registered with a credential for authentication. + /// Not used. Retained for backwards compatibility. public let hasCredential: Bool? /// Version of channel public let version: Int32? @@ -1488,12 +1803,34 @@ extension Pinpoint { } } + public struct SegmentGroupList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Groups", required: false, type: .list), + AWSShapeMember(label: "Include", required: false, type: .enum) + ] + /// List of dimension groups to evaluate. + public let groups: [SegmentGroup]? + /// How should the groups be applied for the result + public let include: Include? + + public init(groups: [SegmentGroup]? = nil, include: Include? = nil) { + self.groups = groups + self.include = include + } + + private enum CodingKeys: String, CodingKey { + case groups = "Groups" + case include = "Include" + } + } + public enum CampaignStatus: String, CustomStringConvertible, Codable { case scheduled = "SCHEDULED" case executing = "EXECUTING" case pendingNextRun = "PENDING_NEXT_RUN" case completed = "COMPLETED" case paused = "PAUSED" + case deleted = "DELETED" public var description: String { return self.rawValue } } @@ -1527,6 +1864,7 @@ extension Pinpoint { /// INCLUSIVE - Endpoints that match the criteria are included in the segment. /// EXCLUSIVE - Endpoints that match the criteria are excluded from the segment. public let dimensionType: DimensionType? + /// 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. public let values: [String]? public init(dimensionType: DimensionType? = nil, values: [String]? = nil) { @@ -1618,7 +1956,6 @@ extension Pinpoint { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) ] - /// Application Id. public let applicationId: String public init(applicationId: String) { @@ -1648,7 +1985,7 @@ extension Pinpoint { ] /// The unique message body ID. public let requestID: String? - /// The error message returned from the API. + /// The error message that's returned from the API. public let message: String? public init(requestID: String? = nil, message: String? = nil) { @@ -1696,6 +2033,27 @@ extension Pinpoint { } } + public struct MetricDimension: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ComparisonOperator", required: false, type: .string), + AWSShapeMember(label: "Value", required: false, type: .double) + ] + /// GREATER_THAN | LESS_THAN | GREATER_THAN_OR_EQUAL | LESS_THAN_OR_EQUAL | EQUAL + public let comparisonOperator: String? + /// Value to be compared. + public let value: Double? + + public init(comparisonOperator: String? = nil, value: Double? = nil) { + self.comparisonOperator = comparisonOperator + self.value = value + } + + private enum CodingKeys: String, CodingKey { + case comparisonOperator = "ComparisonOperator" + case value = "Value" + } + } + public struct UpdateEndpointResponse: AWSShape { /// The key for the payload public static let payloadPath: String? = "MessageBody" @@ -1717,26 +2075,47 @@ extension Pinpoint { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PageSize", location: .querystring(locationName: "page-size"), required: false, type: .string), AWSShapeMember(label: "CampaignId", location: .uri(locationName: "campaign-id"), required: true, type: .string), - AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string), - AWSShapeMember(label: "Token", location: .querystring(locationName: "token"), required: false, type: .string) + AWSShapeMember(label: "Token", location: .querystring(locationName: "token"), required: false, type: .string), + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) ] public let pageSize: String? public let campaignId: String - public let applicationId: String public let token: String? + public let applicationId: String - public init(pageSize: String? = nil, campaignId: String, applicationId: String, token: String? = nil) { + public init(pageSize: String? = nil, campaignId: String, token: String? = nil, applicationId: String) { self.pageSize = pageSize self.campaignId = campaignId - self.applicationId = applicationId self.token = token + self.applicationId = applicationId } private enum CodingKeys: String, CodingKey { case pageSize = "page-size" case campaignId = "campaign-id" - case applicationId = "application-id" case token = "token" + case applicationId = "application-id" + } + } + + public struct GPSCoordinates: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Longitude", required: false, type: .double), + AWSShapeMember(label: "Latitude", required: false, type: .double) + ] + /// Longitude + public let longitude: Double? + /// Latitude + public let latitude: Double? + + public init(longitude: Double? = nil, latitude: Double? = nil) { + self.longitude = longitude + self.latitude = latitude + } + + private enum CodingKeys: String, CodingKey { + case longitude = "Longitude" + case latitude = "Latitude" } } @@ -1749,6 +2128,7 @@ extension Pinpoint { /// INCLUSIVE - Endpoints that match the criteria are included in the segment. /// EXCLUSIVE - Endpoints that match the criteria are excluded from the segment. public let attributeType: AttributeType? + /// 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. public let values: [String]? public init(attributeType: AttributeType? = nil, values: [String]? = nil) { @@ -1814,11 +2194,11 @@ extension Pinpoint { public let creationDate: String? /// The ID of the application to which the channel applies. public let applicationId: String? - /// If the channel is registered with a credential for authentication. + /// Not used. Retained for backwards compatibility. public let hasCredential: Bool? /// Is this channel archived public let isArchived: Bool? - /// If the channel is registered with a token key for authentication. + /// Indicates whether the channel is configured with a key for APNs token authentication. Provide a token key by setting the TokenKey attribute. public let hasTokenKey: Bool? /// Who last updated this entry public let lastModifiedBy: String? @@ -1879,7 +2259,6 @@ extension Pinpoint { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) ] - /// Application Id. public let applicationId: String public init(applicationId: String) { @@ -1891,6 +2270,23 @@ extension Pinpoint { } } + public struct DeleteUserEndpointsResponse: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "EndpointsResponse" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointsResponse", required: true, type: .structure) + ] + public let endpointsResponse: EndpointsResponse + + public init(endpointsResponse: EndpointsResponse) { + self.endpointsResponse = endpointsResponse + } + + private enum CodingKeys: String, CodingKey { + case endpointsResponse = "EndpointsResponse" + } + } + public struct CreateAppRequest: AWSShape { /// The key for the payload public static let payloadPath: String? = "CreateApplicationRequest" @@ -1997,6 +2393,22 @@ extension Pinpoint { } } + public struct ChannelsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Channels", required: false, type: .map) + ] + /// A map of channels, with the ChannelType as the key and the Channel as the value. + public let channels: [String: ChannelResponse]? + + public init(channels: [String: ChannelResponse]? = nil) { + self.channels = channels + } + + private enum CodingKeys: String, CodingKey { + case channels = "Channels" + } + } + public struct UpdateSegmentRequest: AWSShape { /// The key for the payload public static let payloadPath: String? = "WriteSegmentRequest" @@ -2060,6 +2472,23 @@ extension Pinpoint { } } + public struct UpdateApnsChannelResponse: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "APNSChannelResponse" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "APNSChannelResponse", required: true, type: .structure) + ] + public let aPNSChannelResponse: APNSChannelResponse + + public init(aPNSChannelResponse: APNSChannelResponse) { + self.aPNSChannelResponse = aPNSChannelResponse + } + + private enum CodingKeys: String, CodingKey { + case aPNSChannelResponse = "APNSChannelResponse" + } + } + public struct APNSSandboxChannelResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Id", required: false, type: .string), @@ -2089,13 +2518,13 @@ extension Pinpoint { public let lastModifiedDate: String? /// When was this segment created public let creationDate: String? - /// Application id + /// The ID of the application to which the channel applies. public let applicationId: String? - /// If the channel is registered with a credential for authentication. + /// Not used. Retained for backwards compatibility. public let hasCredential: Bool? /// Is this channel archived public let isArchived: Bool? - /// If the channel is registered with a token key for authentication. + /// Indicates whether the channel is configured with a key for APNs token authentication. Provide a token key by setting the TokenKey attribute. public let hasTokenKey: Bool? /// Who last updated this entry public let lastModifiedBy: String? @@ -2131,23 +2560,6 @@ extension Pinpoint { } } - public struct UpdateApnsChannelResponse: AWSShape { - /// The key for the payload - public static let payloadPath: String? = "APNSChannelResponse" - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "APNSChannelResponse", required: true, type: .structure) - ] - public let aPNSChannelResponse: APNSChannelResponse - - public init(aPNSChannelResponse: APNSChannelResponse) { - self.aPNSChannelResponse = aPNSChannelResponse - } - - private enum CodingKeys: String, CodingKey { - case aPNSChannelResponse = "APNSChannelResponse" - } - } - public struct DeleteBaiduChannelRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) @@ -2195,6 +2607,13 @@ extension Pinpoint { } } + public enum `Type`: String, CustomStringConvertible, Codable { + case all = "ALL" + case any = "ANY" + case none = "NONE" + public var description: String { return self.rawValue } + } + public struct UpdateBaiduChannelResponse: AWSShape { /// The key for the payload public static let payloadPath: String? = "BaiduChannelResponse" @@ -2310,30 +2729,47 @@ extension Pinpoint { public struct GetSegmentImportJobsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PageSize", location: .querystring(locationName: "page-size"), required: false, type: .string), - AWSShapeMember(label: "Token", location: .querystring(locationName: "token"), required: false, type: .string), AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string), + AWSShapeMember(label: "Token", location: .querystring(locationName: "token"), required: false, type: .string), AWSShapeMember(label: "SegmentId", location: .uri(locationName: "segment-id"), required: true, type: .string) ] public let pageSize: String? - public let token: String? public let applicationId: String + public let token: String? public let segmentId: String - public init(pageSize: String? = nil, token: String? = nil, applicationId: String, segmentId: String) { + public init(pageSize: String? = nil, applicationId: String, token: String? = nil, segmentId: String) { self.pageSize = pageSize - self.token = token self.applicationId = applicationId + self.token = token self.segmentId = segmentId } private enum CodingKeys: String, CodingKey { case pageSize = "page-size" - case token = "token" case applicationId = "application-id" + case token = "token" case segmentId = "segment-id" } } + public struct DeleteEndpointResponse: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "EndpointResponse" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointResponse", required: true, type: .structure) + ] + public let endpointResponse: EndpointResponse + + public init(endpointResponse: EndpointResponse) { + self.endpointResponse = endpointResponse + } + + private enum CodingKeys: String, CodingKey { + case endpointResponse = "EndpointResponse" + } + } + public struct CreateCampaignResponse: AWSShape { /// The key for the payload public static let payloadPath: String? = "CampaignResponse" @@ -2358,9 +2794,7 @@ extension Pinpoint { AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string), AWSShapeMember(label: "WriteEventStream", required: true, type: .structure) ] - /// Application Id. public let applicationId: String - /// Write event stream wrapper. public let writeEventStream: WriteEventStream public init(applicationId: String, writeEventStream: WriteEventStream) { @@ -2374,37 +2808,54 @@ extension Pinpoint { } } - public struct GetCampaignVersionsResponse: AWSShape { + public struct DeleteAppResponse: AWSShape { /// The key for the payload - public static let payloadPath: String? = "CampaignsResponse" + public static let payloadPath: String? = "ApplicationResponse" public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CampaignsResponse", required: true, type: .structure) + AWSShapeMember(label: "ApplicationResponse", required: true, type: .structure) ] - public let campaignsResponse: CampaignsResponse + public let applicationResponse: ApplicationResponse - public init(campaignsResponse: CampaignsResponse) { - self.campaignsResponse = campaignsResponse + public init(applicationResponse: ApplicationResponse) { + self.applicationResponse = applicationResponse } private enum CodingKeys: String, CodingKey { - case campaignsResponse = "CampaignsResponse" + case applicationResponse = "ApplicationResponse" } } - public struct DeleteAppResponse: AWSShape { + public struct GetChannelsResponse: AWSShape { /// The key for the payload - public static let payloadPath: String? = "ApplicationResponse" + public static let payloadPath: String? = "ChannelsResponse" public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ApplicationResponse", required: true, type: .structure) + AWSShapeMember(label: "ChannelsResponse", required: true, type: .structure) ] - public let applicationResponse: ApplicationResponse + public let channelsResponse: ChannelsResponse - public init(applicationResponse: ApplicationResponse) { - self.applicationResponse = applicationResponse + public init(channelsResponse: ChannelsResponse) { + self.channelsResponse = channelsResponse } private enum CodingKeys: String, CodingKey { - case applicationResponse = "ApplicationResponse" + case channelsResponse = "ChannelsResponse" + } + } + + public struct GetCampaignVersionsResponse: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "CampaignsResponse" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CampaignsResponse", required: true, type: .structure) + ] + public let campaignsResponse: CampaignsResponse + + public init(campaignsResponse: CampaignsResponse) { + self.campaignsResponse = campaignsResponse + } + + private enum CodingKeys: String, CodingKey { + case campaignsResponse = "CampaignsResponse" } } @@ -2459,6 +2910,27 @@ extension Pinpoint { } } + public struct ExportJobsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Item", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// A list of export jobs for the application. + public let item: [ExportJobResponse]? + /// The string that you use in a subsequent request to get the next page of results in a paginated response. + public let nextToken: String? + + public init(item: [ExportJobResponse]? = nil, nextToken: String? = nil) { + self.item = item + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case item = "Item" + case nextToken = "NextToken" + } + } + public struct GetEndpointRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EndpointId", location: .uri(locationName: "endpoint-id"), required: true, type: .string), @@ -2507,10 +2979,11 @@ extension Pinpoint { AWSShapeMember(label: "Context", required: false, type: .map), AWSShapeMember(label: "Users", required: false, type: .map) ] - /// Message configuration. + /// Message definitions for the default message and any messages that are tailored for specific channels. public let messageConfiguration: DirectMessageConfiguration? + /// 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. public let context: [String: String]? - /// A map of destination endpoints, with the EndpointId as the key Endpoint Message Configuration as the value. + /// 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. public let users: [String: EndpointSendConfiguration]? public init(messageConfiguration: DirectMessageConfiguration? = nil, context: [String: String]? = nil, users: [String: EndpointSendConfiguration]? = nil) { @@ -2610,6 +3083,22 @@ extension Pinpoint { } } + public struct UpdateAttributesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Blacklist", required: false, type: .list) + ] + /// The GLOB wildcard for removing the attributes in the application + public let blacklist: [String]? + + public init(blacklist: [String]? = nil) { + self.blacklist = blacklist + } + + private enum CodingKeys: String, CodingKey { + case blacklist = "Blacklist" + } + } + public struct DeleteSegmentRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SegmentId", location: .uri(locationName: "segment-id"), required: true, type: .string), @@ -2641,12 +3130,14 @@ extension Pinpoint { AWSShapeMember(label: "Url", required: false, type: .string), AWSShapeMember(label: "RawContent", required: false, type: .string), AWSShapeMember(label: "Sound", required: false, type: .string), - AWSShapeMember(label: "ImageUrl", required: false, type: .string), + AWSShapeMember(label: "TimeToLive", required: false, type: .integer), AWSShapeMember(label: "Body", required: false, type: .string), + AWSShapeMember(label: "ImageUrl", required: false, type: .string), AWSShapeMember(label: "Substitutions", required: false, type: .map) ] /// The icon image name of the asset saved in your application. public let iconReference: String? + /// The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object public let data: [String: String]? /// The message title that displays above the message on the user's device. public let title: String? @@ -2664,13 +3155,16 @@ extension Pinpoint { public let rawContent: String? /// 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/ public let sound: String? - /// The URL that points to an image used in the push notification. - public let imageUrl: String? + /// 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) + public let timeToLive: Int32? /// The message body of the notification, the email body or the text message. public let body: String? + /// The URL that points to an image used in the push notification. + public let imageUrl: String? + /// Default message substitutions. Can be overridden by individual address substitutions. public let substitutions: [String: [String]]? - public init(iconReference: String? = nil, data: [String: String]? = nil, title: String? = nil, imageIconUrl: String? = nil, silentPush: Bool? = nil, smallImageIconUrl: String? = nil, action: Action? = nil, url: String? = nil, rawContent: String? = nil, sound: String? = nil, imageUrl: String? = nil, body: String? = nil, substitutions: [String: [String]]? = nil) { + public init(iconReference: String? = nil, data: [String: String]? = nil, title: String? = nil, imageIconUrl: String? = nil, silentPush: Bool? = nil, smallImageIconUrl: String? = nil, action: Action? = nil, url: String? = nil, rawContent: String? = nil, sound: String? = nil, timeToLive: Int32? = nil, body: String? = nil, imageUrl: String? = nil, substitutions: [String: [String]]? = nil) { self.iconReference = iconReference self.data = data self.title = title @@ -2681,8 +3175,9 @@ extension Pinpoint { self.url = url self.rawContent = rawContent self.sound = sound - self.imageUrl = imageUrl + self.timeToLive = timeToLive self.body = body + self.imageUrl = imageUrl self.substitutions = substitutions } @@ -2697,8 +3192,9 @@ extension Pinpoint { case url = "Url" case rawContent = "RawContent" case sound = "Sound" - case imageUrl = "ImageUrl" + case timeToLive = "TimeToLive" case body = "Body" + case imageUrl = "ImageUrl" case substitutions = "Substitutions" } } @@ -2754,26 +3250,70 @@ extension Pinpoint { /// The endpoint model version. public let modelVersion: String? - public init(locale: String? = nil, platform: String? = nil, timezone: String? = nil, platformVersion: String? = nil, make: String? = nil, appVersion: String? = nil, model: String? = nil, modelVersion: String? = nil) { - self.locale = locale - self.platform = platform - self.timezone = timezone - self.platformVersion = platformVersion - self.make = make - self.appVersion = appVersion - self.model = model - self.modelVersion = modelVersion + public init(locale: String? = nil, platform: String? = nil, timezone: String? = nil, platformVersion: String? = nil, make: String? = nil, appVersion: String? = nil, model: String? = nil, modelVersion: String? = nil) { + self.locale = locale + self.platform = platform + self.timezone = timezone + self.platformVersion = platformVersion + self.make = make + self.appVersion = appVersion + self.model = model + self.modelVersion = modelVersion + } + + private enum CodingKeys: String, CodingKey { + case locale = "Locale" + case platform = "Platform" + case timezone = "Timezone" + case platformVersion = "PlatformVersion" + case make = "Make" + case appVersion = "AppVersion" + case model = "Model" + case modelVersion = "ModelVersion" + } + } + + public struct CreateExportJobResponse: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "ExportJobResponse" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExportJobResponse", required: true, type: .structure) + ] + public let exportJobResponse: ExportJobResponse + + public init(exportJobResponse: ExportJobResponse) { + self.exportJobResponse = exportJobResponse + } + + private enum CodingKeys: String, CodingKey { + case exportJobResponse = "ExportJobResponse" + } + } + + public struct GetSegmentExportJobsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PageSize", location: .querystring(locationName: "page-size"), required: false, type: .string), + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string), + AWSShapeMember(label: "Token", location: .querystring(locationName: "token"), required: false, type: .string), + AWSShapeMember(label: "SegmentId", location: .uri(locationName: "segment-id"), required: true, type: .string) + ] + public let pageSize: String? + public let applicationId: String + public let token: String? + public let segmentId: String + + public init(pageSize: String? = nil, applicationId: String, token: String? = nil, segmentId: String) { + self.pageSize = pageSize + self.applicationId = applicationId + self.token = token + self.segmentId = segmentId } private enum CodingKeys: String, CodingKey { - case locale = "Locale" - case platform = "Platform" - case timezone = "Timezone" - case platformVersion = "PlatformVersion" - case make = "Make" - case appVersion = "AppVersion" - case model = "Model" - case modelVersion = "ModelVersion" + case pageSize = "page-size" + case applicationId = "application-id" + case token = "token" + case segmentId = "segment-id" } } @@ -2862,6 +3402,70 @@ extension Pinpoint { } } + public struct GPSPointDimension: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Coordinates", required: false, type: .structure), + AWSShapeMember(label: "RangeInKilometers", required: false, type: .double) + ] + /// Coordinate to measure distance from. + public let coordinates: GPSCoordinates? + /// Range in kilometers from the coordinate. + public let rangeInKilometers: Double? + + public init(coordinates: GPSCoordinates? = nil, rangeInKilometers: Double? = nil) { + self.coordinates = coordinates + self.rangeInKilometers = rangeInKilometers + } + + private enum CodingKeys: String, CodingKey { + case coordinates = "Coordinates" + case rangeInKilometers = "RangeInKilometers" + } + } + + public struct GetExportJobResponse: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "ExportJobResponse" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExportJobResponse", required: true, type: .structure) + ] + public let exportJobResponse: ExportJobResponse + + public init(exportJobResponse: ExportJobResponse) { + self.exportJobResponse = exportJobResponse + } + + private enum CodingKeys: String, CodingKey { + case exportJobResponse = "ExportJobResponse" + } + } + + public struct AttributesResource: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AttributeType", required: false, type: .string), + AWSShapeMember(label: "Attributes", required: false, type: .list), + AWSShapeMember(label: "ApplicationId", required: false, type: .string) + ] + /// The attribute type for the application. + public let attributeType: String? + /// The attributes for the application. + public let attributes: [String]? + /// The unique ID for the application. + public let applicationId: String? + + public init(attributeType: String? = nil, attributes: [String]? = nil, applicationId: String? = nil) { + self.attributeType = attributeType + self.attributes = attributes + self.applicationId = applicationId + } + + private enum CodingKeys: String, CodingKey { + case attributeType = "AttributeType" + case attributes = "Attributes" + case applicationId = "ApplicationId" + } + } + public struct SendMessagesResponse: AWSShape { /// The key for the payload public static let payloadPath: String? = "MessageResponse" @@ -2990,6 +3594,25 @@ extension Pinpoint { } } + public struct DeleteEndpointRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointId", location: .uri(locationName: "endpoint-id"), required: true, type: .string), + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) + ] + public let endpointId: String + public let applicationId: String + + public init(endpointId: String, applicationId: String) { + self.endpointId = endpointId + self.applicationId = applicationId + } + + private enum CodingKeys: String, CodingKey { + case endpointId = "endpoint-id" + case applicationId = "application-id" + } + } + public struct BaiduChannelRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SecretKey", required: false, type: .string), @@ -3040,26 +3663,26 @@ extension Pinpoint { public struct GetSegmentVersionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PageSize", location: .querystring(locationName: "page-size"), required: false, type: .string), - AWSShapeMember(label: "Token", location: .querystring(locationName: "token"), required: false, type: .string), AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string), + AWSShapeMember(label: "Token", location: .querystring(locationName: "token"), required: false, type: .string), AWSShapeMember(label: "SegmentId", location: .uri(locationName: "segment-id"), required: true, type: .string) ] public let pageSize: String? - public let token: String? public let applicationId: String + public let token: String? public let segmentId: String - public init(pageSize: String? = nil, token: String? = nil, applicationId: String, segmentId: String) { + public init(pageSize: String? = nil, applicationId: String, token: String? = nil, segmentId: String) { self.pageSize = pageSize - self.token = token self.applicationId = applicationId + self.token = token self.segmentId = segmentId } private enum CodingKeys: String, CodingKey { case pageSize = "page-size" - case token = "token" case applicationId = "application-id" + case token = "token" case segmentId = "segment-id" } } @@ -3075,14 +3698,16 @@ extension Pinpoint { ] /// Title override. If specified will override default title if applicable. public let titleOverride: String? + /// 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. public let context: [String: String]? /// Body override. If specified will override default body. public let bodyOverride: String? /// The Raw JSON formatted string to be used as the payload. This value overrides the message. public let rawContent: String? /// The channel type. - /// Valid values: GCM | APNS | SMS | EMAIL + /// Valid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU public let channelType: ChannelType? + /// 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. public let substitutions: [String: [String]]? public init(titleOverride: String? = nil, context: [String: String]? = nil, bodyOverride: String? = nil, rawContent: String? = nil, channelType: ChannelType? = nil, substitutions: [String: [String]]? = nil) { @@ -3104,20 +3729,39 @@ extension Pinpoint { } } + public struct GetChannelsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) + ] + public let applicationId: String + + public init(applicationId: String) { + self.applicationId = applicationId + } + + private enum CodingKeys: String, CodingKey { + case applicationId = "application-id" + } + } + public struct Message: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SilentPush", required: false, type: .boolean), AWSShapeMember(label: "ImageSmallIconUrl", required: false, type: .string), AWSShapeMember(label: "Action", required: false, type: .enum), AWSShapeMember(label: "Url", required: false, type: .string), AWSShapeMember(label: "RawContent", required: false, type: .string), AWSShapeMember(label: "MediaUrl", required: false, type: .string), AWSShapeMember(label: "Title", required: false, type: .string), - AWSShapeMember(label: "ImageUrl", required: false, type: .string), - AWSShapeMember(label: "SilentPush", required: false, type: .boolean), - AWSShapeMember(label: "JsonBody", required: false, type: .string), + AWSShapeMember(label: "ImageIconUrl", required: false, type: .string), + AWSShapeMember(label: "TimeToLive", required: false, type: .integer), AWSShapeMember(label: "Body", required: false, type: .string), - AWSShapeMember(label: "ImageIconUrl", required: false, type: .string) + AWSShapeMember(label: "ImageUrl", required: false, type: .string), + AWSShapeMember(label: "JsonBody", required: false, type: .string) ] + /// Indicates if the message should display on the users device. + /// Silent pushes can be used for Remote Configuration and Phone Home use cases. + public let silentPush: Bool? /// The URL that points to the small icon image for the push notification icon, for example, the app icon. public let imageSmallIconUrl: String? /// The action that occurs if the user taps a push notification delivered by the campaign: @@ -3133,44 +3777,45 @@ extension Pinpoint { public let mediaUrl: String? /// The message title that displays above the message on the user's device. public let title: String? + /// The URL that points to the icon image for the push notification icon, for example, the app icon. + public let imageIconUrl: String? + /// 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 + public let timeToLive: Int32? + /// The message body. Can include up to 140 characters. + public let body: String? /// The URL that points to an image used in the push notification. public let imageUrl: String? - /// Indicates if the message should display on the users device. - /// Silent pushes can be used for Remote Configuration and Phone Home use cases. - public let silentPush: Bool? /// The JSON payload used for a silent push. public let jsonBody: String? - /// The message body. Can include up to 140 characters. - public let body: String? - /// The URL that points to the icon image for the push notification icon, for example, the app icon. - public let imageIconUrl: String? - public init(imageSmallIconUrl: String? = nil, action: Action? = nil, url: String? = nil, rawContent: String? = nil, mediaUrl: String? = nil, title: String? = nil, imageUrl: String? = nil, silentPush: Bool? = nil, jsonBody: String? = nil, body: String? = nil, imageIconUrl: String? = nil) { + public init(silentPush: Bool? = nil, imageSmallIconUrl: String? = nil, action: Action? = nil, url: String? = nil, rawContent: String? = nil, mediaUrl: String? = nil, title: String? = nil, imageIconUrl: String? = nil, timeToLive: Int32? = nil, body: String? = nil, imageUrl: String? = nil, jsonBody: String? = nil) { + self.silentPush = silentPush self.imageSmallIconUrl = imageSmallIconUrl self.action = action self.url = url self.rawContent = rawContent self.mediaUrl = mediaUrl self.title = title + self.imageIconUrl = imageIconUrl + self.timeToLive = timeToLive + self.body = body self.imageUrl = imageUrl - self.silentPush = silentPush self.jsonBody = jsonBody - self.body = body - self.imageIconUrl = imageIconUrl } private enum CodingKeys: String, CodingKey { + case silentPush = "SilentPush" case imageSmallIconUrl = "ImageSmallIconUrl" case action = "Action" case url = "Url" case rawContent = "RawContent" case mediaUrl = "MediaUrl" case title = "Title" + case imageIconUrl = "ImageIconUrl" + case timeToLive = "TimeToLive" + case body = "Body" case imageUrl = "ImageUrl" - case silentPush = "SilentPush" case jsonBody = "JsonBody" - case body = "Body" - case imageIconUrl = "ImageIconUrl" } } @@ -3193,71 +3838,81 @@ extension Pinpoint { public struct SMSChannelResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ShortCode", required: false, type: .string), AWSShapeMember(label: "Platform", required: false, type: .string), + AWSShapeMember(label: "Enabled", required: false, type: .boolean), + AWSShapeMember(label: "SenderId", required: false, type: .string), + AWSShapeMember(label: "CreationDate", required: false, type: .string), + AWSShapeMember(label: "IsArchived", required: false, type: .boolean), + AWSShapeMember(label: "ShortCode", required: false, type: .string), AWSShapeMember(label: "Id", required: false, type: .string), + AWSShapeMember(label: "TransactionalMessagesPerSecond", required: false, type: .integer), + AWSShapeMember(label: "PromotionalMessagesPerSecond", required: false, type: .integer), AWSShapeMember(label: "HasCredential", required: false, type: .boolean), AWSShapeMember(label: "Version", required: false, type: .integer), - AWSShapeMember(label: "Enabled", required: false, type: .boolean), AWSShapeMember(label: "LastModifiedDate", required: false, type: .string), - AWSShapeMember(label: "CreationDate", required: false, type: .string), AWSShapeMember(label: "ApplicationId", required: false, type: .string), - AWSShapeMember(label: "SenderId", required: false, type: .string), - AWSShapeMember(label: "IsArchived", required: false, type: .boolean), AWSShapeMember(label: "LastModifiedBy", required: false, type: .string) ] - /// The short code registered with the phone provider. - public let shortCode: String? /// Platform type. Will be "SMS" public let platform: String? + /// If the channel is enabled for sending messages. + public let enabled: Bool? + /// Sender identifier of your messages. + public let senderId: String? + /// The date that the settings were last updated in ISO 8601 format. + public let creationDate: String? + /// Is this channel archived + public let isArchived: Bool? + /// The short code registered with the phone provider. + public let shortCode: String? /// Channel ID. Not used, only for backwards compatibility. public let id: String? - /// If the channel is registered with a credential for authentication. + /// Transactional messages per second that can be sent + public let transactionalMessagesPerSecond: Int32? + /// Promotional messages per second that can be sent + public let promotionalMessagesPerSecond: Int32? + /// Not used. Retained for backwards compatibility. public let hasCredential: Bool? /// Version of channel public let version: Int32? - /// If the channel is enabled for sending messages. - public let enabled: Bool? /// Last date this was updated public let lastModifiedDate: String? - /// The date that the settings were last updated in ISO 8601 format. - public let creationDate: String? /// The unique ID of the application to which the SMS channel belongs. public let applicationId: String? - /// Sender identifier of your messages. - public let senderId: String? - /// Is this channel archived - public let isArchived: Bool? /// Who last updated this entry public let lastModifiedBy: String? - public init(shortCode: String? = nil, platform: String? = nil, id: String? = nil, hasCredential: Bool? = nil, version: Int32? = nil, enabled: Bool? = nil, lastModifiedDate: String? = nil, creationDate: String? = nil, applicationId: String? = nil, senderId: String? = nil, isArchived: Bool? = nil, lastModifiedBy: String? = nil) { - self.shortCode = shortCode + public init(platform: String? = nil, enabled: Bool? = nil, senderId: String? = nil, creationDate: String? = nil, isArchived: Bool? = nil, shortCode: String? = nil, id: String? = nil, transactionalMessagesPerSecond: Int32? = nil, promotionalMessagesPerSecond: Int32? = nil, hasCredential: Bool? = nil, version: Int32? = nil, lastModifiedDate: String? = nil, applicationId: String? = nil, lastModifiedBy: String? = nil) { self.platform = platform + self.enabled = enabled + self.senderId = senderId + self.creationDate = creationDate + self.isArchived = isArchived + self.shortCode = shortCode self.id = id + self.transactionalMessagesPerSecond = transactionalMessagesPerSecond + self.promotionalMessagesPerSecond = promotionalMessagesPerSecond self.hasCredential = hasCredential self.version = version - self.enabled = enabled self.lastModifiedDate = lastModifiedDate - self.creationDate = creationDate self.applicationId = applicationId - self.senderId = senderId - self.isArchived = isArchived self.lastModifiedBy = lastModifiedBy } private enum CodingKeys: String, CodingKey { - case shortCode = "ShortCode" case platform = "Platform" + case enabled = "Enabled" + case senderId = "SenderId" + case creationDate = "CreationDate" + case isArchived = "IsArchived" + case shortCode = "ShortCode" case id = "Id" + case transactionalMessagesPerSecond = "TransactionalMessagesPerSecond" + case promotionalMessagesPerSecond = "PromotionalMessagesPerSecond" case hasCredential = "HasCredential" case version = "Version" - case enabled = "Enabled" case lastModifiedDate = "LastModifiedDate" - case creationDate = "CreationDate" case applicationId = "ApplicationId" - case senderId = "SenderId" - case isArchived = "IsArchived" case lastModifiedBy = "LastModifiedBy" } } @@ -3302,16 +3957,21 @@ extension Pinpoint { public struct SegmentLocation: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GPSPoint", required: false, type: .structure), AWSShapeMember(label: "Country", required: false, type: .structure) ] + /// The GPS Point dimension. + public let gPSPoint: GPSPointDimension? /// The country filter according to ISO 3166-1 Alpha-2 codes. public let country: SetDimension? - public init(country: SetDimension? = nil) { + public init(gPSPoint: GPSPointDimension? = nil, country: SetDimension? = nil) { + self.gPSPoint = gPSPoint self.country = country } private enum CodingKeys: String, CodingKey { + case gPSPoint = "GPSPoint" case country = "Country" } } @@ -3414,7 +4074,7 @@ extension Pinpoint { public let creationDate: String? /// Application id public let applicationId: String? - /// If the channel is registered with a credential for authentication. + /// Not used. Retained for backwards compatibility. public let hasCredential: Bool? /// Is this channel archived public let isArchived: Bool? @@ -3463,7 +4123,7 @@ extension Pinpoint { AWSShapeMember(label: "RoleArn", required: false, type: .string), AWSShapeMember(label: "LastUpdatedBy", required: false, type: .string) ] - /// The external ID assigned the IAM role that authorizes Amazon Pinpoint to publish to the stream. + /// 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. public let externalId: String? /// The date the event stream was last updated in ISO 8601 format. public let lastModifiedDate: String? @@ -3514,7 +4174,7 @@ extension Pinpoint { public struct EndpointResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndpointStatus", required: false, type: .string), + AWSShapeMember(label: "User", required: false, type: .structure), AWSShapeMember(label: "Metrics", required: false, type: .map), AWSShapeMember(label: "OptOut", required: false, type: .string), AWSShapeMember(label: "CreationDate", required: false, type: .string), @@ -3527,11 +4187,12 @@ extension Pinpoint { AWSShapeMember(label: "Attributes", required: false, type: .map), AWSShapeMember(label: "ApplicationId", required: false, type: .string), AWSShapeMember(label: "RequestId", required: false, type: .string), - AWSShapeMember(label: "ChannelType", required: false, type: .enum), - AWSShapeMember(label: "User", required: false, type: .structure) + AWSShapeMember(label: "EndpointStatus", required: false, type: .string), + AWSShapeMember(label: "ChannelType", required: false, type: .enum) ] - /// The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated. - public let endpointStatus: String? + /// Custom user-specific attributes that your app reports to Amazon Pinpoint. + public let user: EndpointUser? + /// Custom metrics that your app reports to Amazon Pinpoint. public let metrics: [String: Double]? /// Indicates whether a user has opted out of receiving messages with one of the following values: /// ALL - User has opted out of all messages. @@ -3551,19 +4212,21 @@ extension Pinpoint { public let address: String? /// The endpoint demographic attributes. public let demographic: EndpointDemographic? + /// 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. + /// The 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. public let attributes: [String: [String]]? /// The ID of the application associated with the endpoint. public let applicationId: String? /// The unique ID for the most recent request to update the endpoint. public let requestId: String? + /// Unused. + public let endpointStatus: String? /// The channel type. - /// Valid values: GCM | APNS | SMS | EMAIL + /// Valid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU public let channelType: ChannelType? - /// Custom user-specific attributes that your app reports to Amazon Pinpoint. - public let user: EndpointUser? - public init(endpointStatus: String? = nil, metrics: [String: Double]? = nil, optOut: String? = nil, creationDate: String? = nil, id: String? = nil, cohortId: String? = nil, effectiveDate: String? = nil, location: EndpointLocation? = nil, address: String? = nil, demographic: EndpointDemographic? = nil, attributes: [String: [String]]? = nil, applicationId: String? = nil, requestId: String? = nil, channelType: ChannelType? = nil, user: EndpointUser? = nil) { - self.endpointStatus = endpointStatus + public init(user: EndpointUser? = nil, metrics: [String: Double]? = nil, optOut: String? = nil, creationDate: String? = nil, id: String? = nil, cohortId: String? = nil, effectiveDate: String? = nil, location: EndpointLocation? = nil, address: String? = nil, demographic: EndpointDemographic? = nil, attributes: [String: [String]]? = nil, applicationId: String? = nil, requestId: String? = nil, endpointStatus: String? = nil, channelType: ChannelType? = nil) { + self.user = user self.metrics = metrics self.optOut = optOut self.creationDate = creationDate @@ -3576,12 +4239,12 @@ extension Pinpoint { self.attributes = attributes self.applicationId = applicationId self.requestId = requestId + self.endpointStatus = endpointStatus self.channelType = channelType - self.user = user } private enum CodingKeys: String, CodingKey { - case endpointStatus = "EndpointStatus" + case user = "User" case metrics = "Metrics" case optOut = "OptOut" case creationDate = "CreationDate" @@ -3594,8 +4257,8 @@ extension Pinpoint { case attributes = "Attributes" case applicationId = "ApplicationId" case requestId = "RequestId" + case endpointStatus = "EndpointStatus" case channelType = "ChannelType" - case user = "User" } } @@ -3620,16 +4283,17 @@ extension Pinpoint { public struct CampaignResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Limits", required: false, type: .structure), AWSShapeMember(label: "TreatmentName", required: false, type: .string), AWSShapeMember(label: "SegmentVersion", required: false, type: .integer), + AWSShapeMember(label: "Limits", required: false, type: .structure), AWSShapeMember(label: "State", required: false, type: .structure), AWSShapeMember(label: "CreationDate", required: false, type: .string), AWSShapeMember(label: "Schedule", required: false, type: .structure), AWSShapeMember(label: "MessageConfiguration", required: false, type: .structure), AWSShapeMember(label: "SegmentId", required: false, type: .string), - AWSShapeMember(label: "Id", required: false, type: .string), AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "Id", required: false, type: .string), + AWSShapeMember(label: "Hook", required: false, type: .structure), AWSShapeMember(label: "TreatmentDescription", required: false, type: .string), AWSShapeMember(label: "AdditionalTreatments", required: false, type: .list), AWSShapeMember(label: "Name", required: false, type: .string), @@ -3640,12 +4304,12 @@ extension Pinpoint { AWSShapeMember(label: "IsPaused", required: false, type: .boolean), AWSShapeMember(label: "DefaultState", required: false, type: .structure) ] - /// The campaign limits settings. - public let limits: CampaignLimits? /// The custom name of a variation of the campaign used for A/B testing. public let treatmentName: String? /// The version of the segment to which the campaign sends messages. public let segmentVersion: Int32? + /// The campaign limits settings. + public let limits: CampaignLimits? /// The campaign status. /// An A/B test campaign will have a status of COMPLETED only when all treatments have a status of COMPLETED. public let state: CampaignState? @@ -3657,10 +4321,12 @@ extension Pinpoint { public let messageConfiguration: MessageConfiguration? /// The ID of the segment to which the campaign sends messages. public let segmentId: String? - /// The unique campaign ID. - public let id: String? /// A description of the campaign. public let description: String? + /// The unique campaign ID. + public let id: String? + /// Campaign hook information. + public let hook: CampaignHook? /// A custom description for the treatment. public let treatmentDescription: String? /// Treatments that are defined in addition to the default treatment. @@ -3680,17 +4346,18 @@ extension Pinpoint { /// The status of the campaign's default treatment. Only present for A/B test campaigns. public let defaultState: CampaignState? - public init(limits: CampaignLimits? = nil, treatmentName: String? = nil, segmentVersion: Int32? = nil, state: CampaignState? = nil, creationDate: String? = nil, schedule: Schedule? = nil, messageConfiguration: MessageConfiguration? = nil, segmentId: String? = nil, id: String? = nil, description: String? = nil, treatmentDescription: String? = nil, additionalTreatments: [TreatmentResource]? = nil, name: String? = nil, holdoutPercent: Int32? = nil, version: Int32? = nil, lastModifiedDate: String? = nil, applicationId: String? = nil, isPaused: Bool? = nil, defaultState: CampaignState? = nil) { - self.limits = limits + public init(treatmentName: String? = nil, segmentVersion: Int32? = nil, limits: CampaignLimits? = nil, state: CampaignState? = nil, creationDate: String? = nil, schedule: Schedule? = nil, messageConfiguration: MessageConfiguration? = nil, segmentId: String? = nil, description: String? = nil, id: String? = nil, hook: CampaignHook? = nil, treatmentDescription: String? = nil, additionalTreatments: [TreatmentResource]? = nil, name: String? = nil, holdoutPercent: Int32? = nil, version: Int32? = nil, lastModifiedDate: String? = nil, applicationId: String? = nil, isPaused: Bool? = nil, defaultState: CampaignState? = nil) { self.treatmentName = treatmentName self.segmentVersion = segmentVersion + self.limits = limits self.state = state self.creationDate = creationDate self.schedule = schedule self.messageConfiguration = messageConfiguration self.segmentId = segmentId - self.id = id self.description = description + self.id = id + self.hook = hook self.treatmentDescription = treatmentDescription self.additionalTreatments = additionalTreatments self.name = name @@ -3703,16 +4370,17 @@ extension Pinpoint { } private enum CodingKeys: String, CodingKey { - case limits = "Limits" case treatmentName = "TreatmentName" case segmentVersion = "SegmentVersion" + case limits = "Limits" case state = "State" case creationDate = "CreationDate" case schedule = "Schedule" case messageConfiguration = "MessageConfiguration" case segmentId = "SegmentId" - case id = "Id" case description = "Description" + case id = "Id" + case hook = "Hook" case treatmentDescription = "TreatmentDescription" case additionalTreatments = "AdditionalTreatments" case name = "Name" @@ -3742,6 +4410,37 @@ extension Pinpoint { } } + public struct RemoveAttributesRequest: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "UpdateAttributesRequest" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AttributeType", location: .uri(locationName: "attribute-type"), required: true, type: .string), + AWSShapeMember(label: "UpdateAttributesRequest", required: true, type: .structure), + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) + ] + public let attributeType: String + public let updateAttributesRequest: UpdateAttributesRequest + public let applicationId: String + + public init(attributeType: String, updateAttributesRequest: UpdateAttributesRequest, applicationId: String) { + self.attributeType = attributeType + self.updateAttributesRequest = updateAttributesRequest + self.applicationId = applicationId + } + + private enum CodingKeys: String, CodingKey { + case attributeType = "attribute-type" + case updateAttributesRequest = "UpdateAttributesRequest" + case applicationId = "application-id" + } + } + + public enum SourceType: String, CustomStringConvertible, Codable { + case all = "ALL" + case any = "ANY" + public var description: String { return self.rawValue } + } + public struct APNSMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ThreadId", required: false, type: .string), @@ -3764,12 +4463,18 @@ extension Pinpoint { ] /// 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. public let threadId: String? + /// The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object public let data: [String: String]? - /// Is this a transaction priority message or lower priority. + /// 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: + /// "5" - Low priority. Messages might be delayed, delivered in groups, and throttled. + /// "10" - High priority. Messages are sent immediately. High priority messages must cause an alert, sound, or badge on the receiving device. + /// The default value is "10". + /// The equivalent values for FCM or GCM messages are "normal" and "high". Amazon Pinpoint accepts these values for APNs messages and converts them. + /// For more information about the apns-priority parameter, see Communicating with APNs in the APNs Local and Remote Notification Programming Guide. public let priority: String? /// The URL that points to a video used in the push notification. public let mediaUrl: String? - /// Multiple notifications with the same collapse identifier are displayed to the user as a single notification. The value of this key must not exceed 64 bytes. + /// 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. public let collapseId: String? /// The message title that displays above the message on the user's device. public let title: String? @@ -3789,10 +4494,11 @@ extension Pinpoint { public let category: String? /// 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. public let sound: String? - /// This parameter specifies how long (in seconds) the message should be kept if APNS is unable to deliver the notification the first time. If the value is 0, APNS 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 APNS + /// 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. public let timeToLive: Int32? /// The message body of the notification, the email body or the text message. public let body: String? + /// Default message substitutions. Can be overridden by individual address substitutions. public let substitutions: [String: [String]]? public init(threadId: String? = nil, data: [String: String]? = nil, priority: String? = nil, mediaUrl: String? = nil, collapseId: String? = nil, title: String? = nil, silentPush: Bool? = nil, badge: Int32? = nil, action: Action? = nil, url: String? = nil, preferredAuthenticationMethod: String? = nil, rawContent: String? = nil, category: String? = nil, sound: String? = nil, timeToLive: Int32? = nil, body: String? = nil, substitutions: [String: [String]]? = nil) { @@ -3863,30 +4569,32 @@ extension Pinpoint { AWSShapeMember(label: "Url", required: false, type: .string), AWSShapeMember(label: "Data", required: false, type: .map), AWSShapeMember(label: "Title", required: false, type: .string), - AWSShapeMember(label: "SilentPush", required: false, type: .boolean), AWSShapeMember(label: "Body", required: false, type: .string), + AWSShapeMember(label: "SilentPush", required: false, type: .boolean), AWSShapeMember(label: "Substitutions", required: false, type: .map) ] /// 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 public let action: Action? /// The URL to open in the user's mobile browser. Used if the value for Action is URL. public let url: String? + /// The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object public let data: [String: String]? /// The message title that displays above the message on the user's device. public let title: String? - /// Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases. - public let silentPush: Bool? /// The message body of the notification, the email body or the text message. public let body: String? + /// Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases. + public let silentPush: Bool? + /// Default message substitutions. Can be overridden by individual address substitutions. public let substitutions: [String: [String]]? - public init(action: Action? = nil, url: String? = nil, data: [String: String]? = nil, title: String? = nil, silentPush: Bool? = nil, body: String? = nil, substitutions: [String: [String]]? = nil) { + public init(action: Action? = nil, url: String? = nil, data: [String: String]? = nil, title: String? = nil, body: String? = nil, silentPush: Bool? = nil, substitutions: [String: [String]]? = nil) { self.action = action self.url = url self.data = data self.title = title - self.silentPush = silentPush self.body = body + self.silentPush = silentPush self.substitutions = substitutions } @@ -3895,8 +4603,8 @@ extension Pinpoint { case url = "Url" case data = "Data" case title = "Title" - case silentPush = "SilentPush" case body = "Body" + case silentPush = "SilentPush" case substitutions = "Substitutions" } } @@ -3918,7 +4626,7 @@ extension Pinpoint { public let id: String? /// Platform type. Will be "ADM" public let platform: String? - /// If the channel is registered with a credential for authentication. + /// Not used. Retained for backwards compatibility. public let hasCredential: Bool? /// Version of channel public let version: Int32? @@ -3928,7 +4636,7 @@ extension Pinpoint { public let lastModifiedDate: String? /// When was this segment created public let creationDate: String? - /// Application id + /// The ID of the application to which the channel applies. public let applicationId: String? /// Is this channel archived public let isArchived: Bool? @@ -3972,6 +4680,7 @@ extension Pinpoint { case sms = "SMS" case email = "EMAIL" case baidu = "BAIDU" + case custom = "CUSTOM" public var description: String { return self.rawValue } } @@ -4044,6 +4753,23 @@ extension Pinpoint { } } + public struct GetSegmentExportJobsResponse: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "ExportJobsResponse" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExportJobsResponse", required: true, type: .structure) + ] + public let exportJobsResponse: ExportJobsResponse + + public init(exportJobsResponse: ExportJobsResponse) { + self.exportJobsResponse = exportJobsResponse + } + + private enum CodingKeys: String, CodingKey { + case exportJobsResponse = "ExportJobsResponse" + } + } + public struct ActivitiesResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Item", required: false, type: .list) @@ -4060,6 +4786,62 @@ extension Pinpoint { } } + public struct ChannelResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", required: false, type: .string), + AWSShapeMember(label: "HasCredential", required: false, type: .boolean), + AWSShapeMember(label: "Enabled", required: false, type: .boolean), + AWSShapeMember(label: "Version", required: false, type: .integer), + AWSShapeMember(label: "LastModifiedDate", required: false, type: .string), + AWSShapeMember(label: "CreationDate", required: false, type: .string), + AWSShapeMember(label: "ApplicationId", required: false, type: .string), + AWSShapeMember(label: "IsArchived", required: false, type: .boolean), + AWSShapeMember(label: "LastModifiedBy", required: false, type: .string) + ] + /// Channel ID. Not used, only for backwards compatibility. + public let id: String? + /// Not used. Retained for backwards compatibility. + public let hasCredential: Bool? + /// If the channel is enabled for sending messages. + public let enabled: Bool? + /// Version of channel + public let version: Int32? + /// Last date this was updated + public let lastModifiedDate: String? + /// When was this segment created + public let creationDate: String? + /// Application id + public let applicationId: String? + /// Is this channel archived + public let isArchived: Bool? + /// Who made the last change + public let lastModifiedBy: String? + + public init(id: String? = nil, hasCredential: Bool? = nil, enabled: Bool? = nil, version: Int32? = nil, lastModifiedDate: String? = nil, creationDate: String? = nil, applicationId: String? = nil, isArchived: Bool? = nil, lastModifiedBy: String? = nil) { + self.id = id + self.hasCredential = hasCredential + self.enabled = enabled + self.version = version + self.lastModifiedDate = lastModifiedDate + self.creationDate = creationDate + self.applicationId = applicationId + self.isArchived = isArchived + self.lastModifiedBy = lastModifiedBy + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + case hasCredential = "HasCredential" + case enabled = "Enabled" + case version = "Version" + case lastModifiedDate = "LastModifiedDate" + case creationDate = "CreationDate" + case applicationId = "ApplicationId" + case isArchived = "IsArchived" + case lastModifiedBy = "LastModifiedBy" + } + } + public struct DeleteAdmChannelResponse: AWSShape { /// The key for the payload public static let payloadPath: String? = "ADMChannelResponse" @@ -4216,13 +4998,14 @@ extension Pinpoint { AWSShapeMember(label: "S3Url", required: false, type: .string), AWSShapeMember(label: "Size", required: false, type: .integer) ] - /// A unique, custom ID assigned to the IAM role that restricts who can assume the role. + /// 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. public let externalId: String? /// The format of the endpoint files that were imported to create this segment. /// Valid values: CSV, JSON public let format: Format? /// The Amazon Resource Name (ARN) of an IAM role that grants Amazon Pinpoint access to the endpoints in Amazon S3. public let roleArn: String? + /// Channel type counts public let channelCounts: [String: Int32]? /// A URL that points to the Amazon S3 location from which the endpoints for this segment were imported. public let s3Url: String? @@ -4268,7 +5051,7 @@ extension Pinpoint { /// The format of the files that contain the endpoint definitions. /// Valid values: CSV, JSON public let format: Format? - /// A unique, custom ID assigned to the IAM role that restricts who can assume the role. + /// 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. public let externalId: String? /// Sets whether the endpoints are registered with Amazon Pinpoint when they are imported. public let registerEndpoints: Bool? @@ -4325,6 +5108,40 @@ extension Pinpoint { } } + public struct PhoneNumberValidateRequest: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "NumberValidateRequest" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NumberValidateRequest", required: true, type: .structure) + ] + public let numberValidateRequest: NumberValidateRequest + + public init(numberValidateRequest: NumberValidateRequest) { + self.numberValidateRequest = numberValidateRequest + } + + private enum CodingKeys: String, CodingKey { + case numberValidateRequest = "NumberValidateRequest" + } + } + + public struct PhoneNumberValidateResponse: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "NumberValidateResponse" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NumberValidateResponse", required: true, type: .structure) + ] + public let numberValidateResponse: NumberValidateResponse + + public init(numberValidateResponse: NumberValidateResponse) { + self.numberValidateResponse = numberValidateResponse + } + + private enum CodingKeys: String, CodingKey { + case numberValidateResponse = "NumberValidateResponse" + } + } + public struct CreateImportJobRequest: AWSShape { /// The key for the payload public static let payloadPath: String? = "ImportJobRequest" @@ -4366,7 +5183,7 @@ extension Pinpoint { /// The format of the files that contain the endpoint definitions. /// Valid values: CSV, JSON public let format: Format? - /// A unique, custom ID assigned to the IAM role that restricts who can assume the role. + /// 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. public let externalId: String? /// Sets whether the endpoints are registered with Amazon Pinpoint when they are imported. public let registerEndpoints: Bool? @@ -4419,6 +5236,25 @@ extension Pinpoint { } } + public struct DeleteUserEndpointsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserId", location: .uri(locationName: "user-id"), required: true, type: .string), + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) + ] + public let userId: String + public let applicationId: String + + public init(userId: String, applicationId: String) { + self.userId = userId + self.applicationId = applicationId + } + + private enum CodingKeys: String, CodingKey { + case userId = "user-id" + case applicationId = "application-id" + } + } + public struct EndpointUser: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UserId", required: false, type: .string), @@ -4426,6 +5262,8 @@ extension Pinpoint { ] /// The unique ID of the user. public let userId: String? + /// Custom attributes that describe an end user 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. + /// The 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. public let userAttributes: [String: [String]]? public init(userId: String? = nil, userAttributes: [String: [String]]? = nil) { @@ -4439,6 +5277,13 @@ extension Pinpoint { } } + public enum Include: String, CustomStringConvertible, Codable { + case all = "ALL" + case any = "ANY" + case none = "NONE" + public var description: String { return self.rawValue } + } + public struct CampaignEmailMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Title", required: false, type: .string), @@ -4475,6 +5320,7 @@ extension Pinpoint { AWSShapeMember(label: "Demographic", required: false, type: .structure), AWSShapeMember(label: "Behavior", required: false, type: .structure), AWSShapeMember(label: "Attributes", required: false, type: .map), + AWSShapeMember(label: "Metrics", required: false, type: .map), AWSShapeMember(label: "Location", required: false, type: .structure), AWSShapeMember(label: "UserAttributes", required: false, type: .map) ] @@ -4484,15 +5330,18 @@ extension Pinpoint { public let behavior: SegmentBehaviors? /// Custom segment attributes. public let attributes: [String: AttributeDimension]? + /// Custom segment metrics. + public let metrics: [String: MetricDimension]? /// The segment location attributes. public let location: SegmentLocation? /// Custom segment user attributes. public let userAttributes: [String: AttributeDimension]? - public init(demographic: SegmentDemographics? = nil, behavior: SegmentBehaviors? = nil, attributes: [String: AttributeDimension]? = nil, location: SegmentLocation? = nil, userAttributes: [String: AttributeDimension]? = nil) { + public init(demographic: SegmentDemographics? = nil, behavior: SegmentBehaviors? = nil, attributes: [String: AttributeDimension]? = nil, metrics: [String: MetricDimension]? = nil, location: SegmentLocation? = nil, userAttributes: [String: AttributeDimension]? = nil) { self.demographic = demographic self.behavior = behavior self.attributes = attributes + self.metrics = metrics self.location = location self.userAttributes = userAttributes } @@ -4501,6 +5350,7 @@ extension Pinpoint { case demographic = "Demographic" case behavior = "Behavior" case attributes = "Attributes" + case metrics = "Metrics" case location = "Location" case userAttributes = "UserAttributes" } @@ -4510,30 +5360,66 @@ extension Pinpoint { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LastModifiedDate", required: false, type: .string), AWSShapeMember(label: "Limits", required: false, type: .structure), - AWSShapeMember(label: "QuietTime", required: false, type: .structure), - AWSShapeMember(label: "ApplicationId", required: false, type: .string) + AWSShapeMember(label: "CampaignHook", required: false, type: .structure), + AWSShapeMember(label: "ApplicationId", required: false, type: .string), + AWSShapeMember(label: "QuietTime", required: false, type: .structure) ] /// The date that the settings were last updated in ISO 8601 format. public let lastModifiedDate: String? /// 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. public let limits: CampaignLimits? - /// 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. - public let quietTime: QuietTime? + /// Default campaign hook. + public let campaignHook: CampaignHook? /// The unique ID for the application. public let applicationId: String? + /// 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. + public let quietTime: QuietTime? - public init(lastModifiedDate: String? = nil, limits: CampaignLimits? = nil, quietTime: QuietTime? = nil, applicationId: String? = nil) { + public init(lastModifiedDate: String? = nil, limits: CampaignLimits? = nil, campaignHook: CampaignHook? = nil, applicationId: String? = nil, quietTime: QuietTime? = nil) { self.lastModifiedDate = lastModifiedDate self.limits = limits - self.quietTime = quietTime + self.campaignHook = campaignHook self.applicationId = applicationId + self.quietTime = quietTime } private enum CodingKeys: String, CodingKey { case lastModifiedDate = "LastModifiedDate" case limits = "Limits" - case quietTime = "QuietTime" + case campaignHook = "CampaignHook" case applicationId = "ApplicationId" + case quietTime = "QuietTime" + } + } + + public struct SegmentGroup: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Dimensions", required: false, type: .list), + AWSShapeMember(label: "SourceSegments", required: false, type: .list), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "SourceType", required: false, type: .enum) + ] + /// List of dimensions to include or exclude. + public let dimensions: [SegmentDimensions]? + /// Segments that define the source of this segment. Currently a maximum of 1 import segment is supported. + public let sourceSegments: [SegmentReference]? + /// How should the dimensions be applied for the result + public let `type`: `Type`? + /// Include or exclude the source. + public let sourceType: SourceType? + + public init(dimensions: [SegmentDimensions]? = nil, sourceSegments: [SegmentReference]? = nil, type: `Type`? = nil, sourceType: SourceType? = nil) { + self.dimensions = dimensions + self.sourceSegments = sourceSegments + self.`type` = `type` + self.sourceType = sourceType + } + + private enum CodingKeys: String, CodingKey { + case dimensions = "Dimensions" + case sourceSegments = "SourceSegments" + case `type` = "Type" + case sourceType = "SourceType" } } @@ -4586,9 +5472,48 @@ extension Pinpoint { } } + public struct NumberValidateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "IsoCountryCode", required: false, type: .string), + AWSShapeMember(label: "PhoneNumber", required: false, type: .string) + ] + /// (Optional) The two-character ISO country code for the country where the phone number was originally registered. + public let isoCountryCode: String? + /// The phone number to get information about. + public let phoneNumber: String? + + public init(isoCountryCode: String? = nil, phoneNumber: String? = nil) { + self.isoCountryCode = isoCountryCode + self.phoneNumber = phoneNumber + } + + private enum CodingKeys: String, CodingKey { + case isoCountryCode = "IsoCountryCode" + case phoneNumber = "PhoneNumber" + } + } + + public struct GetExportJobsResponse: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "ExportJobsResponse" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExportJobsResponse", required: true, type: .structure) + ] + public let exportJobsResponse: ExportJobsResponse + + public init(exportJobsResponse: ExportJobsResponse) { + self.exportJobsResponse = exportJobsResponse + } + + private enum CodingKeys: String, CodingKey { + case exportJobsResponse = "ExportJobsResponse" + } + } + public struct SegmentResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", required: false, type: .string), + AWSShapeMember(label: "SegmentType", required: false, type: .enum), + AWSShapeMember(label: "SegmentGroups", required: false, type: .structure), AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "Version", required: false, type: .integer), AWSShapeMember(label: "Dimensions", required: false, type: .structure), @@ -4596,10 +5521,14 @@ extension Pinpoint { AWSShapeMember(label: "ApplicationId", required: false, type: .string), AWSShapeMember(label: "LastModifiedDate", required: false, type: .string), AWSShapeMember(label: "ImportDefinition", required: false, type: .structure), - AWSShapeMember(label: "SegmentType", required: false, type: .enum) + AWSShapeMember(label: "Id", required: false, type: .string) ] - /// The unique segment ID. - public let id: String? + /// The segment type: + /// DIMENSIONAL - 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. + /// IMPORT - 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. + public let segmentType: SegmentType? + /// Segment definition groups. We currently only support one. If specified Dimensions must be empty. + public let segmentGroups: SegmentGroupList? /// The name of segment public let name: String? /// The segment version number. @@ -4614,13 +5543,12 @@ extension Pinpoint { public let lastModifiedDate: String? /// The import job settings. public let importDefinition: SegmentImportResource? - /// The segment type: - /// DIMENSIONAL - 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. - /// IMPORT - 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. - public let segmentType: SegmentType? + /// The unique segment ID. + public let id: String? - public init(id: String? = nil, name: String? = nil, version: Int32? = nil, dimensions: SegmentDimensions? = nil, creationDate: String? = nil, applicationId: String? = nil, lastModifiedDate: String? = nil, importDefinition: SegmentImportResource? = nil, segmentType: SegmentType? = nil) { - self.id = id + public init(segmentType: SegmentType? = nil, segmentGroups: SegmentGroupList? = nil, name: String? = nil, version: Int32? = nil, dimensions: SegmentDimensions? = nil, creationDate: String? = nil, applicationId: String? = nil, lastModifiedDate: String? = nil, importDefinition: SegmentImportResource? = nil, id: String? = nil) { + self.segmentType = segmentType + self.segmentGroups = segmentGroups self.name = name self.version = version self.dimensions = dimensions @@ -4628,11 +5556,12 @@ extension Pinpoint { self.applicationId = applicationId self.lastModifiedDate = lastModifiedDate self.importDefinition = importDefinition - self.segmentType = segmentType + self.id = id } private enum CodingKeys: String, CodingKey { - case id = "Id" + case segmentType = "SegmentType" + case segmentGroups = "SegmentGroups" case name = "Name" case version = "Version" case dimensions = "Dimensions" @@ -4640,7 +5569,7 @@ extension Pinpoint { case applicationId = "ApplicationId" case lastModifiedDate = "LastModifiedDate" case importDefinition = "ImportDefinition" - case segmentType = "SegmentType" + case id = "Id" } } @@ -4682,6 +5611,7 @@ extension Pinpoint { public let completedPieces: Int32? /// The number of endpoints that failed to import; for example, because of syntax errors. public let totalFailures: Int32? + /// Provides up to 100 of the first failed entries for the job, if any exist. public let failures: [String]? /// The unique ID of the application to which the import job applies. public let applicationId: String? @@ -4721,6 +5651,87 @@ extension Pinpoint { } } + public struct NumberValidateResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CleansedPhoneNumberE164", required: false, type: .string), + AWSShapeMember(label: "Country", required: false, type: .string), + AWSShapeMember(label: "Carrier", required: false, type: .string), + AWSShapeMember(label: "Timezone", required: false, type: .string), + AWSShapeMember(label: "PhoneTypeCode", required: false, type: .integer), + AWSShapeMember(label: "ZipCode", required: false, type: .string), + AWSShapeMember(label: "PhoneType", required: false, type: .string), + AWSShapeMember(label: "County", required: false, type: .string), + AWSShapeMember(label: "City", required: false, type: .string), + AWSShapeMember(label: "OriginalCountryCodeIso2", required: false, type: .string), + AWSShapeMember(label: "CountryCodeIso2", required: false, type: .string), + AWSShapeMember(label: "CleansedPhoneNumberNational", required: false, type: .string), + AWSShapeMember(label: "CountryCodeNumeric", required: false, type: .string), + AWSShapeMember(label: "OriginalPhoneNumber", required: false, type: .string) + ] + /// The cleansed (standardized) phone number in E.164 format. + public let cleansedPhoneNumberE164: String? + /// The country where the phone number was originally registered. + public let country: String? + /// The carrier that the phone number is registered with. + public let carrier: String? + /// The time zone for the location where the phone number was originally registered. + public let timezone: String? + /// The phone type as an integer. Possible values include 0 (MOBILE), 1 (LANDLINE), 2 (VOIP), 3 (INVALID), and 4 (OTHER). + public let phoneTypeCode: Int32? + /// The zip code for the location where the phone number was originally registered. + public let zipCode: String? + /// A description of the phone type. Possible values include MOBILE, LANDLINE, VOIP, INVALID, and OTHER. + public let phoneType: String? + /// The county where the phone number was originally registered. + public let county: String? + /// The city where the phone number was originally registered. + public let city: String? + /// The two-character ISO country code that was included in the request body. + public let originalCountryCodeIso2: String? + /// The two-character ISO country code for the country where the phone number was originally registered. + public let countryCodeIso2: String? + /// The cleansed phone number in national format. + public let cleansedPhoneNumberNational: String? + /// The numeric country code for the country where the phone number was originally registered. + public let countryCodeNumeric: String? + /// The phone number that you included in the request body. + public let originalPhoneNumber: String? + + public init(cleansedPhoneNumberE164: String? = nil, country: String? = nil, carrier: String? = nil, timezone: String? = nil, phoneTypeCode: Int32? = nil, zipCode: String? = nil, phoneType: String? = nil, county: String? = nil, city: String? = nil, originalCountryCodeIso2: String? = nil, countryCodeIso2: String? = nil, cleansedPhoneNumberNational: String? = nil, countryCodeNumeric: String? = nil, originalPhoneNumber: String? = nil) { + self.cleansedPhoneNumberE164 = cleansedPhoneNumberE164 + self.country = country + self.carrier = carrier + self.timezone = timezone + self.phoneTypeCode = phoneTypeCode + self.zipCode = zipCode + self.phoneType = phoneType + self.county = county + self.city = city + self.originalCountryCodeIso2 = originalCountryCodeIso2 + self.countryCodeIso2 = countryCodeIso2 + self.cleansedPhoneNumberNational = cleansedPhoneNumberNational + self.countryCodeNumeric = countryCodeNumeric + self.originalPhoneNumber = originalPhoneNumber + } + + private enum CodingKeys: String, CodingKey { + case cleansedPhoneNumberE164 = "CleansedPhoneNumberE164" + case country = "Country" + case carrier = "Carrier" + case timezone = "Timezone" + case phoneTypeCode = "PhoneTypeCode" + case zipCode = "ZipCode" + case phoneType = "PhoneType" + case county = "County" + case city = "City" + case originalCountryCodeIso2 = "OriginalCountryCodeIso2" + case countryCodeIso2 = "CountryCodeIso2" + case cleansedPhoneNumberNational = "CleansedPhoneNumberNational" + case countryCodeNumeric = "CountryCodeNumeric" + case originalPhoneNumber = "OriginalPhoneNumber" + } + } + public struct APNSVoipSandboxChannelResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Id", required: false, type: .string), @@ -4752,7 +5763,7 @@ extension Pinpoint { public let creationDate: String? /// Application id public let applicationId: String? - /// If the channel is registered with a credential for authentication. + /// Not used. Retained for backwards compatibility. public let hasCredential: Bool? /// Is this channel archived public let isArchived: Bool? @@ -4919,6 +5930,7 @@ extension Pinpoint { ] /// The icon image name of the asset saved in your application. public let iconReference: String? + /// The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object public let data: [String: String]? /// The message title that displays above the message on the user's device. public let title: String? @@ -4946,6 +5958,7 @@ extension Pinpoint { public let body: String? /// Optional. Number of seconds ADM should retain the message if the device is offline public let expiresAfter: String? + /// Default message substitutions. Can be overridden by individual address substitutions. public let substitutions: [String: [String]]? public init(iconReference: String? = nil, data: [String: String]? = nil, title: String? = nil, imageIconUrl: String? = nil, silentPush: Bool? = nil, smallImageIconUrl: String? = nil, consolidationKey: String? = nil, action: Action? = nil, url: String? = nil, rawContent: String? = nil, md5: String? = nil, sound: String? = nil, imageUrl: String? = nil, body: String? = nil, expiresAfter: String? = nil, substitutions: [String: [String]]? = nil) { @@ -4994,11 +6007,11 @@ extension Pinpoint { AWSShapeMember(label: "MessagesPerSecond", required: false, type: .integer), AWSShapeMember(label: "Total", required: false, type: .integer) ] - /// The maximum duration of a campaign from the scheduled start. Must be a minimum of 60 seconds. + /// 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. public let maximumDuration: Int32? /// The maximum number of messages that the campaign can send daily. public let daily: Int32? - /// The maximum number of messages per second that the campaign will send. This is a best effort maximum cap and can go as high as 20000 and as low as 50 + /// The number of messages that the campaign can send per second. The minimum value is 50, and the maximum is 20000. public let messagesPerSecond: Int32? /// The maximum total number of messages that the campaign can send. public let total: Int32? @@ -5079,11 +6092,12 @@ extension Pinpoint { public struct EmailChannelResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Platform", required: false, type: .string), + AWSShapeMember(label: "MessagesPerSecond", required: false, type: .integer), AWSShapeMember(label: "Enabled", required: false, type: .boolean), AWSShapeMember(label: "CreationDate", required: false, type: .string), AWSShapeMember(label: "IsArchived", required: false, type: .boolean), - AWSShapeMember(label: "Id", required: false, type: .string), AWSShapeMember(label: "FromAddress", required: false, type: .string), + AWSShapeMember(label: "Id", required: false, type: .string), AWSShapeMember(label: "HasCredential", required: false, type: .boolean), AWSShapeMember(label: "Version", required: false, type: .integer), AWSShapeMember(label: "Identity", required: false, type: .string), @@ -5094,17 +6108,19 @@ extension Pinpoint { ] /// Platform type. Will be "EMAIL" public let platform: String? + /// Messages per second that can be sent + public let messagesPerSecond: Int32? /// If the channel is enabled for sending messages. public let enabled: Bool? /// The date that the settings were last updated in ISO 8601 format. public let creationDate: String? /// Is this channel archived public let isArchived: Bool? - /// Channel ID. Not used, only for backwards compatibility. - public let id: String? /// The email address used to send emails from. public let fromAddress: String? - /// If the channel is registered with a credential for authentication. + /// Channel ID. Not used, only for backwards compatibility. + public let id: String? + /// Not used. Retained for backwards compatibility. public let hasCredential: Bool? /// Version of channel public let version: Int32? @@ -5119,13 +6135,14 @@ extension Pinpoint { /// Who last updated this entry public let lastModifiedBy: String? - public init(platform: String? = nil, enabled: Bool? = nil, creationDate: String? = nil, isArchived: Bool? = nil, id: String? = nil, fromAddress: String? = nil, hasCredential: Bool? = nil, version: Int32? = nil, identity: String? = nil, lastModifiedDate: String? = nil, applicationId: String? = nil, roleArn: String? = nil, lastModifiedBy: String? = nil) { + public init(platform: String? = nil, messagesPerSecond: Int32? = nil, enabled: Bool? = nil, creationDate: String? = nil, isArchived: Bool? = nil, fromAddress: String? = nil, id: String? = nil, hasCredential: Bool? = nil, version: Int32? = nil, identity: String? = nil, lastModifiedDate: String? = nil, applicationId: String? = nil, roleArn: String? = nil, lastModifiedBy: String? = nil) { self.platform = platform + self.messagesPerSecond = messagesPerSecond self.enabled = enabled self.creationDate = creationDate self.isArchived = isArchived - self.id = id self.fromAddress = fromAddress + self.id = id self.hasCredential = hasCredential self.version = version self.identity = identity @@ -5137,11 +6154,12 @@ extension Pinpoint { private enum CodingKeys: String, CodingKey { case platform = "Platform" + case messagesPerSecond = "MessagesPerSecond" case enabled = "Enabled" case creationDate = "CreationDate" case isArchived = "IsArchived" - case id = "Id" case fromAddress = "FromAddress" + case id = "Id" case hasCredential = "HasCredential" case version = "Version" case identity = "Identity" @@ -5357,32 +6375,37 @@ extension Pinpoint { public struct MessageResult: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DeliveryStatus", required: false, type: .enum), AWSShapeMember(label: "StatusCode", required: false, type: .integer), AWSShapeMember(label: "StatusMessage", required: false, type: .string), AWSShapeMember(label: "UpdatedToken", required: false, type: .string), - AWSShapeMember(label: "DeliveryStatus", required: false, type: .enum) + AWSShapeMember(label: "MessageId", required: false, type: .string) ] + /// Delivery status of message. + public let deliveryStatus: DeliveryStatus? /// Downstream service status code. public let statusCode: Int32? /// Status message for message delivery. public let statusMessage: String? /// If token was updated as part of delivery. (This is GCM Specific) public let updatedToken: String? - /// Delivery status of message. - public let deliveryStatus: DeliveryStatus? + /// Unique message identifier associated with the message that was sent. + public let messageId: String? - public init(statusCode: Int32? = nil, statusMessage: String? = nil, updatedToken: String? = nil, deliveryStatus: DeliveryStatus? = nil) { + public init(deliveryStatus: DeliveryStatus? = nil, statusCode: Int32? = nil, statusMessage: String? = nil, updatedToken: String? = nil, messageId: String? = nil) { + self.deliveryStatus = deliveryStatus self.statusCode = statusCode self.statusMessage = statusMessage self.updatedToken = updatedToken - self.deliveryStatus = deliveryStatus + self.messageId = messageId } private enum CodingKeys: String, CodingKey { + case deliveryStatus = "DeliveryStatus" case statusCode = "StatusCode" case statusMessage = "StatusMessage" case updatedToken = "UpdatedToken" - case deliveryStatus = "DeliveryStatus" + case messageId = "MessageId" } } @@ -5604,8 +6627,13 @@ extension Pinpoint { public let iconReference: String? /// 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. public let collapseKey: String? + /// The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object public let data: [String: String]? - /// Is this a transaction priority message or lower priority. + /// 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: + /// "Normal" - Messages might be delayed. Delivery is optimized for battery usage on the receiving device. Use normal priority unless immediate delivery is required. + /// "High" - Messages are sent immediately and might wake a sleeping device. + /// The equivalent values for APNs messages are "5" and "10". Amazon Pinpoint accepts these values here and converts them. + /// For more information, see About FCM Messages in the Firebase documentation. public let priority: String? /// The message title that displays above the message on the user's device. public let title: String? @@ -5623,12 +6651,13 @@ extension Pinpoint { public let rawContent: String? /// 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/ public let sound: String? - /// This parameter specifies how long (in seconds) the message should be kept in GCM storage if the device is offline. The maximum time to live supported is 4 weeks, and the default value is 4 weeks. + /// 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. public let timeToLive: Int32? /// The message body of the notification, the email body or the text message. public let body: String? /// The URL that points to an image used in the push notification. public let imageUrl: String? + /// Default message substitutions. Can be overridden by individual address substitutions. public let substitutions: [String: [String]]? public init(restrictedPackageName: String? = nil, iconReference: String? = nil, collapseKey: String? = nil, data: [String: String]? = nil, priority: String? = nil, title: String? = nil, imageIconUrl: String? = nil, silentPush: Bool? = nil, smallImageIconUrl: String? = nil, action: Action? = nil, url: String? = nil, rawContent: String? = nil, sound: String? = nil, timeToLive: Int32? = nil, body: String? = nil, imageUrl: String? = nil, substitutions: [String: [String]]? = nil) { @@ -5695,11 +6724,11 @@ extension Pinpoint { AWSShapeMember(label: "RequestId", required: false, type: .string), AWSShapeMember(label: "ApplicationId", required: false, type: .string) ] - /// A map containing of UserId to Map of EndpointId to Endpoint Message Result. + /// 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. public let result: [String: [String: EndpointMessageResult]]? - /// Original request Id for which this message was delivered. + /// The unique ID assigned to the users-messages request. public let requestId: String? - /// Application id of the message. + /// The unique ID of the Amazon Pinpoint project used to send the message. public let applicationId: String? public init(result: [String: [String: EndpointMessageResult]]? = nil, requestId: String? = nil, applicationId: String? = nil) { @@ -5732,23 +6761,83 @@ extension Pinpoint { public struct WriteSegmentRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SegmentGroups", required: false, type: .structure), AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "Dimensions", required: false, type: .structure) ] + /// Segment definition groups. We currently only support one. If specified Dimensions must be empty. + public let segmentGroups: SegmentGroupList? /// The name of segment public let name: String? /// The segment dimensions attributes. public let dimensions: SegmentDimensions? - public init(name: String? = nil, dimensions: SegmentDimensions? = nil) { + public init(segmentGroups: SegmentGroupList? = nil, name: String? = nil, dimensions: SegmentDimensions? = nil) { + self.segmentGroups = segmentGroups self.name = name self.dimensions = dimensions } private enum CodingKeys: String, CodingKey { + case segmentGroups = "SegmentGroups" case name = "Name" case dimensions = "Dimensions" } } + public struct CreateExportJobRequest: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "ExportJobRequest" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExportJobRequest", required: true, type: .structure), + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "application-id"), required: true, type: .string) + ] + public let exportJobRequest: ExportJobRequest + public let applicationId: String + + public init(exportJobRequest: ExportJobRequest, applicationId: String) { + self.exportJobRequest = exportJobRequest + self.applicationId = applicationId + } + + private enum CodingKeys: String, CodingKey { + case exportJobRequest = "ExportJobRequest" + case applicationId = "application-id" + } + } + + public struct GetUserEndpointsResponse: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "EndpointsResponse" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EndpointsResponse", required: true, type: .structure) + ] + public let endpointsResponse: EndpointsResponse + + public init(endpointsResponse: EndpointsResponse) { + self.endpointsResponse = endpointsResponse + } + + private enum CodingKeys: String, CodingKey { + case endpointsResponse = "EndpointsResponse" + } + } + + public struct RemoveAttributesResponse: AWSShape { + /// The key for the payload + public static let payloadPath: String? = "AttributesResource" + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AttributesResource", required: true, type: .structure) + ] + public let attributesResource: AttributesResource + + public init(attributesResource: AttributesResource) { + self.attributesResource = attributesResource + } + + private enum CodingKeys: String, CodingKey { + case attributesResource = "AttributesResource" + } + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/polly/Polly_API.swift b/Sources/AWSSDKSwift/Services/polly/Polly_API.swift index 4ce60041032..1a0f863179d 100644 --- a/Sources/AWSSDKSwift/Services/polly/Polly_API.swift +++ b/Sources/AWSSDKSwift/Services/polly/Polly_API.swift @@ -34,14 +34,19 @@ public struct Polly { return try client.send(operation: "DescribeVoices", path: "/v1/voices", httpMethod: "GET", input: input) } - /// Returns a list of pronunciation lexicons stored in an AWS Region. For more information, see Managing Lexicons. - public func listLexicons(_ input: ListLexiconsInput) throws -> ListLexiconsOutput { - return try client.send(operation: "ListLexicons", path: "/v1/lexicons", httpMethod: "GET", input: input) + /// 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. + public func startSpeechSynthesisTask(_ input: StartSpeechSynthesisTaskInput) throws -> StartSpeechSynthesisTaskOutput { + return try client.send(operation: "StartSpeechSynthesisTask", path: "/v1/synthesisTasks", httpMethod: "POST", input: input) } - /// 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. - public func deleteLexicon(_ input: DeleteLexiconInput) throws -> DeleteLexiconOutput { - return try client.send(operation: "DeleteLexicon", path: "/v1/lexicons/{LexiconName}", httpMethod: "DELETE", input: input) + /// 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. + public func putLexicon(_ input: PutLexiconInput) throws -> PutLexiconOutput { + return try client.send(operation: "PutLexicon", path: "/v1/lexicons/{LexiconName}", httpMethod: "PUT", input: input) + } + + /// 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. + public func getSpeechSynthesisTask(_ input: GetSpeechSynthesisTaskInput) throws -> GetSpeechSynthesisTaskOutput { + return try client.send(operation: "GetSpeechSynthesisTask", path: "/v1/synthesisTasks/{TaskId}", httpMethod: "GET", input: input) } /// 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. @@ -49,9 +54,19 @@ public struct Polly { return try client.send(operation: "SynthesizeSpeech", path: "/v1/speech", httpMethod: "POST", input: input) } - /// 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. - public func putLexicon(_ input: PutLexiconInput) throws -> PutLexiconOutput { - return try client.send(operation: "PutLexicon", path: "/v1/lexicons/{LexiconName}", httpMethod: "PUT", input: input) + /// Returns a list of pronunciation lexicons stored in an AWS Region. For more information, see Managing Lexicons. + public func listLexicons(_ input: ListLexiconsInput) throws -> ListLexiconsOutput { + return try client.send(operation: "ListLexicons", path: "/v1/lexicons", httpMethod: "GET", input: input) + } + + /// 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. + public func listSpeechSynthesisTasks(_ input: ListSpeechSynthesisTasksInput) throws -> ListSpeechSynthesisTasksOutput { + return try client.send(operation: "ListSpeechSynthesisTasks", path: "/v1/synthesisTasks", httpMethod: "GET", input: input) + } + + /// 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. + public func deleteLexicon(_ input: DeleteLexiconInput) throws -> DeleteLexiconOutput { + return try client.send(operation: "DeleteLexicon", path: "/v1/lexicons/{LexiconName}", httpMethod: "DELETE", input: input) } diff --git a/Sources/AWSSDKSwift/Services/polly/Polly_Error.swift b/Sources/AWSSDKSwift/Services/polly/Polly_Error.swift index 23e468932d6..892e29f6d78 100644 --- a/Sources/AWSSDKSwift/Services/polly/Polly_Error.swift +++ b/Sources/AWSSDKSwift/Services/polly/Polly_Error.swift @@ -8,16 +8,22 @@ public enum PollyError: AWSErrorType { case serviceFailureException(message: String?) case invalidNextTokenException(message: String?) case textLengthExceededException(message: String?) + case invalidS3BucketException(message: String?) + case invalidS3KeyException(message: String?) case invalidSampleRateException(message: String?) + case invalidSnsTopicArnException(message: String?) case invalidSsmlException(message: String?) case marksNotSupportedForFormatException(message: String?) case ssmlMarksNotSupportedForTextTypeException(message: String?) + case languageNotSupportedException(message: String?) case invalidLexiconException(message: String?) case unsupportedPlsAlphabetException(message: String?) case unsupportedPlsLanguageException(message: String?) case lexiconSizeExceededException(message: String?) case maxLexemeLengthExceededException(message: String?) case maxLexiconsNumberExceededException(message: String?) + case invalidTaskIdException(message: String?) + case synthesisTaskNotFoundException(message: String?) } extension PollyError { @@ -35,14 +41,22 @@ extension PollyError { self = .invalidNextTokenException(message: message) case "TextLengthExceededException": self = .textLengthExceededException(message: message) + case "InvalidS3BucketException": + self = .invalidS3BucketException(message: message) + case "InvalidS3KeyException": + self = .invalidS3KeyException(message: message) case "InvalidSampleRateException": self = .invalidSampleRateException(message: message) + case "InvalidSnsTopicArnException": + self = .invalidSnsTopicArnException(message: message) case "InvalidSsmlException": self = .invalidSsmlException(message: message) case "MarksNotSupportedForFormatException": self = .marksNotSupportedForFormatException(message: message) case "SsmlMarksNotSupportedForTextTypeException": self = .ssmlMarksNotSupportedForTextTypeException(message: message) + case "LanguageNotSupportedException": + self = .languageNotSupportedException(message: message) case "InvalidLexiconException": self = .invalidLexiconException(message: message) case "UnsupportedPlsAlphabetException": @@ -55,6 +69,10 @@ extension PollyError { self = .maxLexemeLengthExceededException(message: message) case "MaxLexiconsNumberExceededException": self = .maxLexiconsNumberExceededException(message: message) + case "InvalidTaskIdException": + self = .invalidTaskIdException(message: message) + case "SynthesisTaskNotFoundException": + self = .synthesisTaskNotFoundException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/polly/Polly_Shapes.swift b/Sources/AWSSDKSwift/Services/polly/Polly_Shapes.swift index bfb3583f146..88448679980 100644 --- a/Sources/AWSSDKSwift/Services/polly/Polly_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/polly/Polly_Shapes.swift @@ -5,6 +5,72 @@ import AWSSDKSwiftCore extension Polly { + public struct StartSpeechSynthesisTaskInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VoiceId", required: true, type: .enum), + AWSShapeMember(label: "SnsTopicArn", required: false, type: .string), + AWSShapeMember(label: "LanguageCode", required: false, type: .enum), + AWSShapeMember(label: "OutputS3BucketName", required: true, type: .string), + AWSShapeMember(label: "SampleRate", required: false, type: .string), + AWSShapeMember(label: "Text", required: true, type: .string), + AWSShapeMember(label: "SpeechMarkTypes", required: false, type: .list), + AWSShapeMember(label: "OutputS3KeyPrefix", required: false, type: .string), + AWSShapeMember(label: "OutputFormat", required: true, type: .enum), + AWSShapeMember(label: "TextType", required: false, type: .enum), + AWSShapeMember(label: "LexiconNames", required: false, type: .list) + ] + /// Voice ID to use for the synthesis. + public let voiceId: VoiceId + /// ARN for the SNS topic optionally used for providing status notification for a speech synthesis task. + public let snsTopicArn: String? + /// 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. + public let languageCode: LanguageCode? + /// Amazon S3 bucket name to which the output file will be saved. + public let outputS3BucketName: String + /// 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". + public let sampleRate: String? + /// The input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the input text. + public let text: String + /// The type of speech marks returned for the input text. + public let speechMarkTypes: [SpeechMarkType]? + /// The Amazon S3 key prefix for the output speech file. + public let outputS3KeyPrefix: String? + /// 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. + public let outputFormat: OutputFormat + /// Specifies whether the input text is plain text or SSML. The default value is plain text. + public let textType: TextType? + /// 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. + public let lexiconNames: [String]? + + public init(voiceId: VoiceId, snsTopicArn: String? = nil, languageCode: LanguageCode? = nil, outputS3BucketName: String, sampleRate: String? = nil, text: String, speechMarkTypes: [SpeechMarkType]? = nil, outputS3KeyPrefix: String? = nil, outputFormat: OutputFormat, textType: TextType? = nil, lexiconNames: [String]? = nil) { + self.voiceId = voiceId + self.snsTopicArn = snsTopicArn + self.languageCode = languageCode + self.outputS3BucketName = outputS3BucketName + self.sampleRate = sampleRate + self.text = text + self.speechMarkTypes = speechMarkTypes + self.outputS3KeyPrefix = outputS3KeyPrefix + self.outputFormat = outputFormat + self.textType = textType + self.lexiconNames = lexiconNames + } + + private enum CodingKeys: String, CodingKey { + case voiceId = "VoiceId" + case snsTopicArn = "SnsTopicArn" + case languageCode = "LanguageCode" + case outputS3BucketName = "OutputS3BucketName" + case sampleRate = "SampleRate" + case text = "Text" + case speechMarkTypes = "SpeechMarkTypes" + case outputS3KeyPrefix = "OutputS3KeyPrefix" + case outputFormat = "OutputFormat" + case textType = "TextType" + case lexiconNames = "LexiconNames" + } + } + public struct Lexicon: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Content", required: false, type: .string), @@ -29,21 +95,26 @@ extension Polly { public struct DescribeVoicesInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LanguageCode", location: .querystring(locationName: "LanguageCode"), required: false, type: .enum), - AWSShapeMember(label: "NextToken", location: .querystring(locationName: "NextToken"), required: false, type: .string) + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "NextToken"), required: false, type: .string), + AWSShapeMember(label: "IncludeAdditionalLanguageCodes", location: .querystring(locationName: "IncludeAdditionalLanguageCodes"), required: false, type: .boolean) ] /// 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. public let languageCode: LanguageCode? /// An opaque pagination token returned from the previous DescribeVoices operation. If present, this indicates where to continue the listing. public let nextToken: String? + /// 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. + public let includeAdditionalLanguageCodes: Bool? - public init(languageCode: LanguageCode? = nil, nextToken: String? = nil) { + public init(languageCode: LanguageCode? = nil, nextToken: String? = nil, includeAdditionalLanguageCodes: Bool? = nil) { self.languageCode = languageCode self.nextToken = nextToken + self.includeAdditionalLanguageCodes = includeAdditionalLanguageCodes } private enum CodingKeys: String, CodingKey { case languageCode = "LanguageCode" case nextToken = "NextToken" + case includeAdditionalLanguageCodes = "IncludeAdditionalLanguageCodes" } } @@ -74,6 +145,7 @@ extension Polly { case penelope = "Penelope" case chantal = "Chantal" case celine = "Celine" + case lea = "Lea" case mathieu = "Mathieu" case dora = "Dora" case karl = "Karl" @@ -103,6 +175,87 @@ extension Polly { public var description: String { return self.rawValue } } + public struct SynthesisTask: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SnsTopicArn", required: false, type: .string), + AWSShapeMember(label: "LanguageCode", required: false, type: .enum), + AWSShapeMember(label: "TaskStatusReason", required: false, type: .string), + AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), + AWSShapeMember(label: "TextType", required: false, type: .enum), + AWSShapeMember(label: "TaskStatus", required: false, type: .enum), + AWSShapeMember(label: "VoiceId", required: false, type: .enum), + AWSShapeMember(label: "SampleRate", required: false, type: .string), + AWSShapeMember(label: "RequestCharacters", required: false, type: .integer), + AWSShapeMember(label: "OutputFormat", required: false, type: .enum), + AWSShapeMember(label: "SpeechMarkTypes", required: false, type: .list), + AWSShapeMember(label: "TaskId", required: false, type: .string), + AWSShapeMember(label: "OutputUri", required: false, type: .string), + AWSShapeMember(label: "LexiconNames", required: false, type: .list) + ] + /// ARN for the SNS topic optionally used for providing status notification for a speech synthesis task. + public let snsTopicArn: String? + /// 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. + public let languageCode: LanguageCode? + /// Reason for the current status of a specific speech synthesis task, including errors if the task has failed. + public let taskStatusReason: String? + /// Timestamp for the time the synthesis task was started. + public let creationTime: TimeStamp? + /// Specifies whether the input text is plain text or SSML. The default value is plain text. + public let textType: TextType? + /// Current status of the individual speech synthesis task. + public let taskStatus: TaskStatus? + /// Voice ID to use for the synthesis. + public let voiceId: VoiceId? + /// 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". + public let sampleRate: String? + /// Number of billable characters synthesized. + public let requestCharacters: Int32? + /// 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. + public let outputFormat: OutputFormat? + /// The type of speech marks returned for the input text. + public let speechMarkTypes: [SpeechMarkType]? + /// The Amazon Polly generated identifier for a speech synthesis task. + public let taskId: String? + /// Pathway for the output speech file. + public let outputUri: String? + /// 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. + public let lexiconNames: [String]? + + public init(snsTopicArn: String? = nil, languageCode: LanguageCode? = nil, taskStatusReason: String? = nil, creationTime: TimeStamp? = nil, textType: TextType? = nil, taskStatus: TaskStatus? = nil, voiceId: VoiceId? = nil, sampleRate: String? = nil, requestCharacters: Int32? = nil, outputFormat: OutputFormat? = nil, speechMarkTypes: [SpeechMarkType]? = nil, taskId: String? = nil, outputUri: String? = nil, lexiconNames: [String]? = nil) { + self.snsTopicArn = snsTopicArn + self.languageCode = languageCode + self.taskStatusReason = taskStatusReason + self.creationTime = creationTime + self.textType = textType + self.taskStatus = taskStatus + self.voiceId = voiceId + self.sampleRate = sampleRate + self.requestCharacters = requestCharacters + self.outputFormat = outputFormat + self.speechMarkTypes = speechMarkTypes + self.taskId = taskId + self.outputUri = outputUri + self.lexiconNames = lexiconNames + } + + private enum CodingKeys: String, CodingKey { + case snsTopicArn = "SnsTopicArn" + case languageCode = "LanguageCode" + case taskStatusReason = "TaskStatusReason" + case creationTime = "CreationTime" + case textType = "TextType" + case taskStatus = "TaskStatus" + case voiceId = "VoiceId" + case sampleRate = "SampleRate" + case requestCharacters = "RequestCharacters" + case outputFormat = "OutputFormat" + case speechMarkTypes = "SpeechMarkTypes" + case taskId = "TaskId" + case outputUri = "OutputUri" + case lexiconNames = "LexiconNames" + } + } + public enum LanguageCode: String, CustomStringConvertible, Codable { case cyGb = "cy-GB" case daDk = "da-DK" @@ -118,8 +271,9 @@ extension Polly { case frFr = "fr-FR" case isIs = "is-IS" case itIt = "it-IT" - case koKr = "ko-KR" case jaJp = "ja-JP" + case hiIn = "hi-IN" + case koKr = "ko-KR" case nbNo = "nb-NO" case nlNl = "nl-NL" case plPl = "pl-PL" @@ -257,6 +411,22 @@ extension Polly { } + public struct StartSpeechSynthesisTaskOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SynthesisTask", required: false, type: .structure) + ] + /// SynthesisTask object that provides information and attributes about a newly submitted speech synthesis task. + public let synthesisTask: SynthesisTask? + + public init(synthesisTask: SynthesisTask? = nil) { + self.synthesisTask = synthesisTask + } + + private enum CodingKeys: String, CodingKey { + case synthesisTask = "SynthesisTask" + } + } + public enum SpeechMarkType: String, CustomStringConvertible, Codable { case sentence = "sentence" case ssml = "ssml" @@ -265,11 +435,38 @@ extension Polly { public var description: String { return self.rawValue } } + public struct ListSpeechSynthesisTasksInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", location: .querystring(locationName: "Status"), required: false, type: .enum), + AWSShapeMember(label: "NextToken", location: .querystring(locationName: "NextToken"), required: false, type: .string), + AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "MaxResults"), required: false, type: .integer) + ] + /// Status of the speech synthesis tasks returned in a List operation + public let status: TaskStatus? + /// The pagination token to use in the next request to continue the listing of speech synthesis tasks. + public let nextToken: String? + /// Maximum number of speech synthesis tasks returned in a List operation. + public let maxResults: Int32? + + public init(status: TaskStatus? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.status = status + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + public struct SynthesizeSpeechInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "VoiceId", required: true, type: .enum), - AWSShapeMember(label: "Text", required: true, type: .string), + AWSShapeMember(label: "LanguageCode", required: false, type: .enum), AWSShapeMember(label: "SampleRate", required: false, type: .string), + AWSShapeMember(label: "Text", required: true, type: .string), AWSShapeMember(label: "SpeechMarkTypes", required: false, type: .list), AWSShapeMember(label: "OutputFormat", required: true, type: .enum), AWSShapeMember(label: "TextType", required: false, type: .enum), @@ -277,10 +474,12 @@ extension Polly { ] /// Voice ID to use for the synthesis. You can get a list of available voice IDs by calling the DescribeVoices operation. public let voiceId: VoiceId - /// Input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the input text. - public let text: String + /// 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. + public let languageCode: LanguageCode? /// 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". public let sampleRate: String? + /// Input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the input text. + public let text: String /// The type of speech marks returned for the input text. public let speechMarkTypes: [SpeechMarkType]? /// 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. @@ -290,10 +489,11 @@ extension Polly { /// 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. public let lexiconNames: [String]? - public init(voiceId: VoiceId, text: String, sampleRate: String? = nil, speechMarkTypes: [SpeechMarkType]? = nil, outputFormat: OutputFormat, textType: TextType? = nil, lexiconNames: [String]? = nil) { + public init(voiceId: VoiceId, languageCode: LanguageCode? = nil, sampleRate: String? = nil, text: String, speechMarkTypes: [SpeechMarkType]? = nil, outputFormat: OutputFormat, textType: TextType? = nil, lexiconNames: [String]? = nil) { self.voiceId = voiceId - self.text = text + self.languageCode = languageCode self.sampleRate = sampleRate + self.text = text self.speechMarkTypes = speechMarkTypes self.outputFormat = outputFormat self.textType = textType @@ -302,8 +502,9 @@ extension Polly { private enum CodingKeys: String, CodingKey { case voiceId = "VoiceId" - case text = "Text" + case languageCode = "LanguageCode" case sampleRate = "SampleRate" + case text = "Text" case speechMarkTypes = "SpeechMarkTypes" case outputFormat = "OutputFormat" case textType = "TextType" @@ -311,6 +512,14 @@ extension Polly { } } + public enum TaskStatus: String, CustomStringConvertible, Codable { + case scheduled = "scheduled" + case inprogress = "inProgress" + case completed = "completed" + case failed = "failed" + public var description: String { return self.rawValue } + } + public struct DescribeVoicesOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Voices", required: false, type: .list), @@ -348,6 +557,27 @@ extension Polly { } } + public struct ListSpeechSynthesisTasksOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SynthesisTasks", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// 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. + public let synthesisTasks: [SynthesisTask]? + /// An opaque pagination token returned from the previous List operation in this request. If present, this indicates where to continue the listing. + public let nextToken: String? + + public init(synthesisTasks: [SynthesisTask]? = nil, nextToken: String? = nil) { + self.synthesisTasks = synthesisTasks + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case synthesisTasks = "SynthesisTasks" + case nextToken = "NextToken" + } + } + public struct LexiconAttributes: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LexiconArn", required: false, type: .string), @@ -416,6 +646,22 @@ extension Polly { public var description: String { return self.rawValue } } + public struct GetSpeechSynthesisTaskOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SynthesisTask", required: false, type: .structure) + ] + /// SynthesisTask object that provides information from the requested task, including output format, creation time, task status, and so on. + public let synthesisTask: SynthesisTask? + + public init(synthesisTask: SynthesisTask? = nil) { + self.synthesisTask = synthesisTask + } + + private enum CodingKeys: String, CodingKey { + case synthesisTask = "SynthesisTask" + } + } + public struct PutLexiconOutput: AWSShape { } @@ -439,6 +685,7 @@ extension Polly { public struct Voice: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LanguageName", required: false, type: .string), + AWSShapeMember(label: "AdditionalLanguageCodes", required: false, type: .list), AWSShapeMember(label: "LanguageCode", required: false, type: .enum), AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "Gender", required: false, type: .enum), @@ -446,6 +693,8 @@ extension Polly { ] /// Human readable name of the language in English. public let languageName: String? + /// 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. + public let additionalLanguageCodes: [LanguageCode]? /// Language code of the voice. public let languageCode: LanguageCode? /// Name of the voice (for example, Salli, Kendra, etc.). This provides a human readable voice name that you might display in your application. @@ -455,8 +704,9 @@ extension Polly { /// Amazon Polly assigned voice ID. This is the ID that you specify when calling the SynthesizeSpeech operation. public let id: VoiceId? - public init(languageName: String? = nil, languageCode: LanguageCode? = nil, name: String? = nil, gender: Gender? = nil, id: VoiceId? = nil) { + public init(languageName: String? = nil, additionalLanguageCodes: [LanguageCode]? = nil, languageCode: LanguageCode? = nil, name: String? = nil, gender: Gender? = nil, id: VoiceId? = nil) { self.languageName = languageName + self.additionalLanguageCodes = additionalLanguageCodes self.languageCode = languageCode self.name = name self.gender = gender @@ -465,6 +715,7 @@ extension Polly { private enum CodingKeys: String, CodingKey { case languageName = "LanguageName" + case additionalLanguageCodes = "AdditionalLanguageCodes" case languageCode = "LanguageCode" case name = "Name" case gender = "Gender" @@ -472,4 +723,20 @@ extension Polly { } } + public struct GetSpeechSynthesisTaskInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TaskId", location: .uri(locationName: "TaskId"), required: true, type: .string) + ] + /// The Amazon Polly generated identifier for a speech synthesis task. + public let taskId: String + + public init(taskId: String) { + self.taskId = taskId + } + + private enum CodingKeys: String, CodingKey { + case taskId = "TaskId" + } + } + } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/rds/Rds_API.swift b/Sources/AWSSDKSwift/Services/rds/Rds_API.swift index b866115c89f..fca1b7d9b1c 100644 --- a/Sources/AWSSDKSwift/Services/rds/Rds_API.swift +++ b/Sources/AWSSDKSwift/Services/rds/Rds_API.swift @@ -29,12 +29,12 @@ public struct Rds { return try client.send(operation: "CreateDBInstance", path: "/", httpMethod: "POST", input: input) } - /// Creates a new DB instance from a DB snapshot. The target database is created from the source database restore point with the most of original configuration with the default security group and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored AZ deployment and not a single-AZ deployment. If your intent is to replace your original DB instance with the new, restored DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot action. RDS does not allow two DB instances with the same name. Once you have renamed your original DB instance with a different identifier, then you can pass the original name of the DB instance as the DBInstanceIdentifier in the call to the RestoreDBInstanceFromDBSnapshot action. The result is that you will replace the original DB instance with the DB instance created from the snapshot. If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot. + /// 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. public func restoreDBInstanceFromDBSnapshot(_ input: RestoreDBInstanceFromDBSnapshotMessage) throws -> RestoreDBInstanceFromDBSnapshotResult { return try client.send(operation: "RestoreDBInstanceFromDBSnapshot", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func startDBInstance(_ input: StartDBInstanceMessage) throws -> StartDBInstanceResult { return try client.send(operation: "StartDBInstance", path: "/", httpMethod: "POST", input: input) } @@ -64,6 +64,11 @@ public struct Rds { return try client.send(operation: "RemoveSourceIdentifierFromSubscription", path: "/", httpMethod: "POST", input: input) } + /// 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 RDS User Guide. + public func backtrackDBCluster(_ input: BacktrackDBClusterMessage) throws -> DBClusterBacktrack { + return try client.send(operation: "BacktrackDBCluster", path: "/", httpMethod: "POST", input: input) + } + /// Creates a new DB cluster parameter group. Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster. A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect. After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified. For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide. public func createDBClusterParameterGroup(_ input: CreateDBClusterParameterGroupMessage) throws -> CreateDBClusterParameterGroupResult { return try client.send(operation: "CreateDBClusterParameterGroup", path: "/", httpMethod: "POST", input: input) @@ -99,7 +104,7 @@ public struct Rds { return try client.send(operation: "DescribeDBParameters", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func promoteReadReplica(_ input: PromoteReadReplicaMessage) throws -> PromoteReadReplicaResult { return try client.send(operation: "PromoteReadReplica", path: "/", httpMethod: "POST", input: input) } @@ -204,12 +209,12 @@ public struct Rds { return try client.send(operation: "DescribeEventCategories", path: "/", httpMethod: "POST", input: input) } - /// 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 is 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. + /// 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. public func rebootDBInstance(_ input: RebootDBInstanceMessage) throws -> RebootDBInstanceResult { return try client.send(operation: "RebootDBInstance", path: "/", httpMethod: "POST", input: input) } - /// 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. Amazon Aurora does not support this action. You must call the CreateDBInstance action to create a DB instance for an Aurora DB cluster. All Read Replica DB instances are created as Single-AZ deployments with backups disabled. All other DB instance attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance, except as specified below. The source DB instance must have backup retention enabled. For more information, see Working with PostgreSQL, MySQL, and MariaDB Read Replicas. + /// 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. 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. public func createDBInstanceReadReplica(_ input: CreateDBInstanceReadReplicaMessage) throws -> CreateDBInstanceReadReplicaResult { return try client.send(operation: "CreateDBInstanceReadReplica", path: "/", httpMethod: "POST", input: input) } @@ -224,7 +229,7 @@ public struct Rds { return try client.send(operation: "ModifyDBInstance", path: "/", httpMethod: "POST", input: input) } - /// 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. You can't copy an encrypted, shared DB snapshot from one AWS Region to another. For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide. + /// 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. public func copyDBSnapshot(_ input: CopyDBSnapshotMessage) throws -> CopyDBSnapshotResult { return try client.send(operation: "CopyDBSnapshot", path: "/", httpMethod: "POST", input: input) } @@ -244,7 +249,7 @@ public struct Rds { return try client.send(operation: "DescribePendingMaintenanceActions", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func restoreDBInstanceToPointInTime(_ input: RestoreDBInstanceToPointInTimeMessage) throws -> RestoreDBInstanceToPointInTimeResult { return try client.send(operation: "RestoreDBInstanceToPointInTime", path: "/", httpMethod: "POST", input: input) } @@ -314,7 +319,7 @@ public struct Rds { return try client.send(operation: "ModifyDBClusterParameterGroup", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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. public func stopDBInstance(_ input: StopDBInstanceMessage) throws -> StopDBInstanceResult { return try client.send(operation: "StopDBInstance", path: "/", httpMethod: "POST", input: input) } @@ -334,16 +339,16 @@ public struct Rds { return try client.send(operation: "DeleteDBCluster", path: "/", httpMethod: "POST", input: input) } + /// Returns information about backtracks for a DB cluster. For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide. + public func describeDBClusterBacktracks(_ input: DescribeDBClusterBacktracksMessage) throws -> DBClusterBacktrackMessage { + return try client.send(operation: "DescribeDBClusterBacktracks", path: "/", httpMethod: "POST", input: input) + } + /// Copies the specified DB cluster parameter group. public func copyDBClusterParameterGroup(_ input: CopyDBClusterParameterGroupMessage) throws -> CopyDBClusterParameterGroupResult { return try client.send(operation: "CopyDBClusterParameterGroup", path: "/", httpMethod: "POST", input: input) } - /// Lists all of the attributes for a customer account. The attributes include Amazon RDS quotas for the account, such as the number of DB instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value. This command does not take any parameters. - public func describeAccountAttributes(_ input: DescribeAccountAttributesMessage) throws -> AccountAttributesMessage { - return try client.send(operation: "DescribeAccountAttributes", path: "/", httpMethod: "POST", input: input) - } - /// 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. public func createEventSubscription(_ input: CreateEventSubscriptionMessage) throws -> CreateEventSubscriptionResult { return try client.send(operation: "CreateEventSubscription", path: "/", httpMethod: "POST", input: input) @@ -354,6 +359,11 @@ public struct Rds { return try client.send(operation: "CreateDBCluster", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describeAccountAttributes(_ input: DescribeAccountAttributesMessage) throws -> AccountAttributesMessage { + return try client.send(operation: "DescribeAccountAttributes", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func describeDBSnapshotAttributes(_ input: DescribeDBSnapshotAttributesMessage) throws -> DescribeDBSnapshotAttributesResult { return try client.send(operation: "DescribeDBSnapshotAttributes", path: "/", httpMethod: "POST", input: input) @@ -439,7 +449,7 @@ public struct Rds { _ = try client.send(operation: "DeleteDBParameterGroup", path: "/", httpMethod: "POST", input: input) } - /// Creates a new DB security group. DB security groups control access to a DB instance. + /// 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. public func createDBSecurityGroup(_ input: CreateDBSecurityGroupMessage) throws -> CreateDBSecurityGroupResult { return try client.send(operation: "CreateDBSecurityGroup", path: "/", httpMethod: "POST", input: input) } @@ -454,7 +464,7 @@ public struct Rds { _ = try client.send(operation: "DeleteDBClusterParameterGroup", path: "/", httpMethod: "POST", input: input) } - /// 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 DB Cluster Snapshot in the Same Account, Either in the Same Region or Across Regions in the Amazon RDS User Guide. For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide. + /// 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 DB Cluster Snapshot in the Same Account, Either in the Same Region or Across Regions in the Amazon RDS User Guide. For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide. public func copyDBClusterSnapshot(_ input: CopyDBClusterSnapshotMessage) throws -> CopyDBClusterSnapshotResult { return try client.send(operation: "CopyDBClusterSnapshot", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/rds/Rds_Error.swift b/Sources/AWSSDKSwift/Services/rds/Rds_Error.swift index c6b21840892..7f8ef240cc6 100644 --- a/Sources/AWSSDKSwift/Services/rds/Rds_Error.swift +++ b/Sources/AWSSDKSwift/Services/rds/Rds_Error.swift @@ -72,6 +72,7 @@ public enum RdsError: AWSErrorType { case authorizationAlreadyExistsFault(message: String?) case authorizationQuotaExceededFault(message: String?) case dBClusterSnapshotAlreadyExistsFault(message: String?) + case dBClusterBacktrackNotFoundFault(message: String?) case subscriptionAlreadyExistFault(message: String?) case subnetAlreadyInUse(message: String?) case sharedSnapshotQuotaExceededFault(message: String?) @@ -225,6 +226,8 @@ extension RdsError { self = .authorizationQuotaExceededFault(message: message) case "DBClusterSnapshotAlreadyExistsFault": self = .dBClusterSnapshotAlreadyExistsFault(message: message) + case "DBClusterBacktrackNotFoundFault": + self = .dBClusterBacktrackNotFoundFault(message: message) case "SubscriptionAlreadyExistFault": self = .subscriptionAlreadyExistFault(message: message) case "SubnetAlreadyInUse": diff --git a/Sources/AWSSDKSwift/Services/rds/Rds_Shapes.swift b/Sources/AWSSDKSwift/Services/rds/Rds_Shapes.swift index eded5f07b6e..6ae3a3735c4 100644 --- a/Sources/AWSSDKSwift/Services/rds/Rds_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/rds/Rds_Shapes.swift @@ -41,6 +41,21 @@ extension Rds { } } + public struct DescribeEngineDefaultParametersResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EngineDefaults", required: false, type: .structure) + ] + public let engineDefaults: EngineDefaults? + + public init(engineDefaults: EngineDefaults? = nil) { + self.engineDefaults = engineDefaults + } + + private enum CodingKeys: String, CodingKey { + case engineDefaults = "EngineDefaults" + } + } + public struct EventsMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Marker", required: false, type: .string), @@ -62,21 +77,6 @@ extension Rds { } } - public struct DescribeEngineDefaultParametersResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EngineDefaults", required: false, type: .structure) - ] - public let engineDefaults: EngineDefaults? - - public init(engineDefaults: EngineDefaults? = nil) { - self.engineDefaults = engineDefaults - } - - private enum CodingKeys: String, CodingKey { - case engineDefaults = "EngineDefaults" - } - } - public struct ResetDBClusterParameterGroupMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Parameters", required: false, type: .structure), @@ -226,18 +226,39 @@ extension Rds { } } - public struct ModifyDBClusterResult: AWSShape { + public struct DescribeDBClusterBacktracksMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBCluster", required: false, type: .structure) + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .structure), + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "BacktrackIdentifier", required: false, type: .string) ] - public let dBCluster: DBCluster? + /// 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. + public let maxRecords: Int32? + /// 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 + public let dBClusterIdentifier: String + /// 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. + public let filters: FilterList? + /// 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. + public let marker: String? + /// If specified, this value is the backtrack identifier of the backtrack to be described. Constraints: Must contain a valid universally unique identifier (UUID). For more information about UUIDs, see A Universally Unique Identifier (UUID) URN Namespace. Example: 123e4567-e89b-12d3-a456-426655440000 + public let backtrackIdentifier: String? - public init(dBCluster: DBCluster? = nil) { - self.dBCluster = dBCluster + public init(maxRecords: Int32? = nil, dBClusterIdentifier: String, filters: FilterList? = nil, marker: String? = nil, backtrackIdentifier: String? = nil) { + self.maxRecords = maxRecords + self.dBClusterIdentifier = dBClusterIdentifier + self.filters = filters + self.marker = marker + self.backtrackIdentifier = backtrackIdentifier } private enum CodingKeys: String, CodingKey { - case dBCluster = "DBCluster" + case maxRecords = "MaxRecords" + case dBClusterIdentifier = "DBClusterIdentifier" + case filters = "Filters" + case marker = "Marker" + case backtrackIdentifier = "BacktrackIdentifier" } } @@ -256,6 +277,21 @@ extension Rds { } } + public struct ModifyDBClusterResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBCluster", required: false, type: .structure) + ] + public let dBCluster: DBCluster? + + public init(dBCluster: DBCluster? = nil) { + self.dBCluster = dBCluster + } + + private enum CodingKeys: String, CodingKey { + case dBCluster = "DBCluster" + } + } + public struct FailoverDBClusterResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBCluster", required: false, type: .structure) @@ -317,33 +353,33 @@ extension Rds { } } - public struct ModifyOptionGroupResult: AWSShape { + public struct AttributeValueList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OptionGroup", required: false, type: .structure) + AWSShapeMember(label: "AttributeValue", required: false, type: .list) ] - public let optionGroup: OptionGroup? + public let attributeValue: [String]? - public init(optionGroup: OptionGroup? = nil) { - self.optionGroup = optionGroup + public init(attributeValue: [String]? = nil) { + self.attributeValue = attributeValue } private enum CodingKeys: String, CodingKey { - case optionGroup = "OptionGroup" + case attributeValue = "AttributeValue" } } - public struct AttributeValueList: AWSShape { + public struct ModifyOptionGroupResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AttributeValue", required: false, type: .list) + AWSShapeMember(label: "OptionGroup", required: false, type: .structure) ] - public let attributeValue: [String]? + public let optionGroup: OptionGroup? - public init(attributeValue: [String]? = nil) { - self.attributeValue = attributeValue + public init(optionGroup: OptionGroup? = nil) { + self.optionGroup = optionGroup } private enum CodingKeys: String, CodingKey { - case attributeValue = "AttributeValue" + case optionGroup = "OptionGroup" } } @@ -465,6 +501,43 @@ extension Rds { } } + public struct OptionGroupMembership: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "OptionGroupName", required: false, type: .string) + ] + /// 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. + public let status: String? + /// The name of the option group that the instance belongs to. + public let optionGroupName: String? + + public init(status: String? = nil, optionGroupName: String? = nil) { + self.status = status + self.optionGroupName = optionGroupName + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case optionGroupName = "OptionGroupName" + } + } + + public struct DescribeValidDBInstanceModificationsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string) + ] + /// The customer identifier or the ARN of your DB instance. + public let dBInstanceIdentifier: String + + public init(dBInstanceIdentifier: String) { + self.dBInstanceIdentifier = dBInstanceIdentifier + } + + private enum CodingKeys: String, CodingKey { + case dBInstanceIdentifier = "DBInstanceIdentifier" + } + } + public struct DBClusterParameterGroupDetails: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Marker", required: false, type: .string), @@ -486,40 +559,65 @@ extension Rds { } } - public struct OptionGroupMembership: AWSShape { + public struct DBClusterBacktrack: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BacktrackTo", required: false, type: .timestamp), AWSShapeMember(label: "Status", required: false, type: .string), - AWSShapeMember(label: "OptionGroupName", required: false, type: .string) + AWSShapeMember(label: "DBClusterIdentifier", required: false, type: .string), + AWSShapeMember(label: "BacktrackIdentifier", required: false, type: .string), + AWSShapeMember(label: "BacktrackedFrom", required: false, type: .timestamp), + AWSShapeMember(label: "BacktrackRequestCreationTime", required: false, type: .timestamp) ] - /// 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. + /// The timestamp of the time to which the DB cluster was backtracked. + public let backtrackTo: TimeStamp? + /// 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. public let status: String? - /// The name of the option group that the instance belongs to. - public let optionGroupName: String? - - public init(status: String? = nil, optionGroupName: String? = nil) { + /// Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster. + public let dBClusterIdentifier: String? + /// Contains the backtrack identifier. + public let backtrackIdentifier: String? + /// The timestamp of the time from which the DB cluster was backtracked. + public let backtrackedFrom: TimeStamp? + /// The timestamp of the time at which the backtrack was requested. + public let backtrackRequestCreationTime: TimeStamp? + + public init(backtrackTo: TimeStamp? = nil, status: String? = nil, dBClusterIdentifier: String? = nil, backtrackIdentifier: String? = nil, backtrackedFrom: TimeStamp? = nil, backtrackRequestCreationTime: TimeStamp? = nil) { + self.backtrackTo = backtrackTo self.status = status - self.optionGroupName = optionGroupName + self.dBClusterIdentifier = dBClusterIdentifier + self.backtrackIdentifier = backtrackIdentifier + self.backtrackedFrom = backtrackedFrom + self.backtrackRequestCreationTime = backtrackRequestCreationTime } private enum CodingKeys: String, CodingKey { + case backtrackTo = "BacktrackTo" case status = "Status" - case optionGroupName = "OptionGroupName" + case dBClusterIdentifier = "DBClusterIdentifier" + case backtrackIdentifier = "BacktrackIdentifier" + case backtrackedFrom = "BacktrackedFrom" + case backtrackRequestCreationTime = "BacktrackRequestCreationTime" } } - public struct DescribeValidDBInstanceModificationsMessage: AWSShape { + public struct PendingCloudwatchLogsExports: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string) + AWSShapeMember(label: "LogTypesToEnable", required: false, type: .list), + AWSShapeMember(label: "LogTypesToDisable", required: false, type: .list) ] - /// The customer identifier or the ARN of your DB instance. - public let dBInstanceIdentifier: String + /// Log types that are in the process of being deactivated. After they are deactivated, these log types aren't exported to CloudWatch Logs. + public let logTypesToEnable: [String]? + /// Log types that are in the process of being enabled. After they are enabled, these log types are exported to CloudWatch Logs. + public let logTypesToDisable: [String]? - public init(dBInstanceIdentifier: String) { - self.dBInstanceIdentifier = dBInstanceIdentifier + public init(logTypesToEnable: [String]? = nil, logTypesToDisable: [String]? = nil) { + self.logTypesToEnable = logTypesToEnable + self.logTypesToDisable = logTypesToDisable } private enum CodingKeys: String, CodingKey { - case dBInstanceIdentifier = "DBInstanceIdentifier" + case logTypesToEnable = "LogTypesToEnable" + case logTypesToDisable = "LogTypesToDisable" } } @@ -646,6 +744,21 @@ extension Rds { } } + public struct PromoteReadReplicaDBClusterResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBCluster", required: false, type: .structure) + ] + public let dBCluster: DBCluster? + + public init(dBCluster: DBCluster? = nil) { + self.dBCluster = dBCluster + } + + private enum CodingKeys: String, CodingKey { + case dBCluster = "DBCluster" + } + } + public struct DoubleRangeList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DoubleRange", required: false, type: .list) @@ -676,21 +789,6 @@ extension Rds { } } - public struct PromoteReadReplicaDBClusterResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBCluster", required: false, type: .structure) - ] - public let dBCluster: DBCluster? - - public init(dBCluster: DBCluster? = nil) { - self.dBCluster = dBCluster - } - - private enum CodingKeys: String, CodingKey { - case dBCluster = "DBCluster" - } - } - public struct ModifyDBSubnetGroupResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBSubnetGroup", required: false, type: .structure) @@ -789,31 +887,6 @@ extension Rds { } } - public struct Subnet: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SubnetIdentifier", required: false, type: .string), - AWSShapeMember(label: "SubnetAvailabilityZone", required: false, type: .structure), - AWSShapeMember(label: "SubnetStatus", required: false, type: .string) - ] - /// Specifies the identifier of the subnet. - public let subnetIdentifier: String? - public let subnetAvailabilityZone: AvailabilityZone? - /// Specifies the status of the subnet. - public let subnetStatus: String? - - public init(subnetIdentifier: String? = nil, subnetAvailabilityZone: AvailabilityZone? = nil, subnetStatus: String? = nil) { - self.subnetIdentifier = subnetIdentifier - self.subnetAvailabilityZone = subnetAvailabilityZone - self.subnetStatus = subnetStatus - } - - private enum CodingKeys: String, CodingKey { - case subnetIdentifier = "SubnetIdentifier" - case subnetAvailabilityZone = "SubnetAvailabilityZone" - case subnetStatus = "SubnetStatus" - } - } - public struct EC2SecurityGroup: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Status", required: false, type: .string), @@ -845,6 +918,31 @@ extension Rds { } } + public struct Subnet: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SubnetIdentifier", required: false, type: .string), + AWSShapeMember(label: "SubnetAvailabilityZone", required: false, type: .structure), + AWSShapeMember(label: "SubnetStatus", required: false, type: .string) + ] + /// Specifies the identifier of the subnet. + public let subnetIdentifier: String? + public let subnetAvailabilityZone: AvailabilityZone? + /// Specifies the status of the subnet. + public let subnetStatus: String? + + public init(subnetIdentifier: String? = nil, subnetAvailabilityZone: AvailabilityZone? = nil, subnetStatus: String? = nil) { + self.subnetIdentifier = subnetIdentifier + self.subnetAvailabilityZone = subnetAvailabilityZone + self.subnetStatus = subnetStatus + } + + private enum CodingKeys: String, CodingKey { + case subnetIdentifier = "SubnetIdentifier" + case subnetAvailabilityZone = "SubnetAvailabilityZone" + case subnetStatus = "SubnetStatus" + } + } + public struct OptionSettingsList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "OptionSetting", required: false, type: .list) @@ -875,18 +973,34 @@ extension Rds { } } - public struct SupportedCharacterSetsList: AWSShape { + public struct BacktrackDBClusterMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CharacterSet", required: false, type: .list) + AWSShapeMember(label: "BacktrackTo", required: true, type: .timestamp), + AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string), + AWSShapeMember(label: "UseEarliestTimeOnPointInTimeUnavailable", required: false, type: .boolean), + AWSShapeMember(label: "Force", required: false, type: .boolean) ] - public let characterSet: [CharacterSet]? + /// 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 + public let backtrackTo: TimeStamp + /// 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 + public let dBClusterIdentifier: String + /// 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. + public let useEarliestTimeOnPointInTimeUnavailable: Bool? + /// 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. + public let force: Bool? - public init(characterSet: [CharacterSet]? = nil) { - self.characterSet = characterSet + public init(backtrackTo: TimeStamp, dBClusterIdentifier: String, useEarliestTimeOnPointInTimeUnavailable: Bool? = nil, force: Bool? = nil) { + self.backtrackTo = backtrackTo + self.dBClusterIdentifier = dBClusterIdentifier + self.useEarliestTimeOnPointInTimeUnavailable = useEarliestTimeOnPointInTimeUnavailable + self.force = force } private enum CodingKeys: String, CodingKey { - case characterSet = "CharacterSet" + case backtrackTo = "BacktrackTo" + case dBClusterIdentifier = "DBClusterIdentifier" + case useEarliestTimeOnPointInTimeUnavailable = "UseEarliestTimeOnPointInTimeUnavailable" + case force = "Force" } } @@ -931,6 +1045,21 @@ extension Rds { } } + public struct SupportedCharacterSetsList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CharacterSet", required: false, type: .list) + ] + public let characterSet: [CharacterSet]? + + public init(characterSet: [CharacterSet]? = nil) { + self.characterSet = characterSet + } + + private enum CodingKeys: String, CodingKey { + case characterSet = "CharacterSet" + } + } + public struct ValidStorageOptionsList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ValidStorageOptions", required: false, type: .list) @@ -949,17 +1078,17 @@ extension Rds { public struct DescribeDBLogFilesMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxRecords", required: false, type: .integer), - AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string), + AWSShapeMember(label: "FilenameContains", required: false, type: .string), AWSShapeMember(label: "FileSize", required: false, type: .long), AWSShapeMember(label: "Marker", required: false, type: .string), AWSShapeMember(label: "FileLastWritten", required: false, type: .long), AWSShapeMember(label: "Filters", required: false, type: .structure), - AWSShapeMember(label: "FilenameContains", required: false, type: .string) + AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string) ] /// 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. public let maxRecords: Int32? - /// 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. - public let dBInstanceIdentifier: String + /// Filters the available log files for log file names that contain the specified string. + public let filenameContains: String? /// Filters the available log files for files larger than the specified size. public let fileSize: Int64? /// The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords. @@ -968,27 +1097,27 @@ extension Rds { public let fileLastWritten: Int64? /// This parameter is not currently supported. public let filters: FilterList? - /// Filters the available log files for log file names that contain the specified string. - public let filenameContains: String? + /// 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. + public let dBInstanceIdentifier: String - public init(maxRecords: Int32? = nil, dBInstanceIdentifier: String, fileSize: Int64? = nil, marker: String? = nil, fileLastWritten: Int64? = nil, filters: FilterList? = nil, filenameContains: String? = nil) { + public init(maxRecords: Int32? = nil, filenameContains: String? = nil, fileSize: Int64? = nil, marker: String? = nil, fileLastWritten: Int64? = nil, filters: FilterList? = nil, dBInstanceIdentifier: String) { self.maxRecords = maxRecords - self.dBInstanceIdentifier = dBInstanceIdentifier + self.filenameContains = filenameContains self.fileSize = fileSize self.marker = marker self.fileLastWritten = fileLastWritten self.filters = filters - self.filenameContains = filenameContains + self.dBInstanceIdentifier = dBInstanceIdentifier } private enum CodingKeys: String, CodingKey { case maxRecords = "MaxRecords" - case dBInstanceIdentifier = "DBInstanceIdentifier" + case filenameContains = "FilenameContains" case fileSize = "FileSize" case marker = "Marker" case fileLastWritten = "FileLastWritten" case filters = "Filters" - case filenameContains = "FilenameContains" + case dBInstanceIdentifier = "DBInstanceIdentifier" } } @@ -1018,7 +1147,7 @@ extension Rds { public let engine: String? /// The name of a specific DB parameter group family to return details for. Constraints: If supplied, must match an existing DBParameterGroupFamily. public let dBParameterGroupFamily: String? - /// Not currently supported. + /// This parameter is not currently supported. public let filters: FilterList? /// 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. public let listSupportedCharacterSets: Bool? @@ -1240,31 +1369,31 @@ extension Rds { public struct ModifyOptionGroupMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OptionGroupName", required: true, type: .string), - AWSShapeMember(label: "OptionsToInclude", required: false, type: .structure), AWSShapeMember(label: "OptionsToRemove", required: false, type: .list), + AWSShapeMember(label: "OptionsToInclude", required: false, type: .structure), + AWSShapeMember(label: "OptionGroupName", required: true, type: .string), AWSShapeMember(label: "ApplyImmediately", required: false, type: .boolean) ] - /// 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 - public let optionGroupName: String - /// Options in this list are added to the option group or, if already present, the specified configuration is used to update the existing configuration. - public let optionsToInclude: OptionConfigurationList? /// Options in this list are removed from the option group. public let optionsToRemove: [String]? + /// Options in this list are added to the option group or, if already present, the specified configuration is used to update the existing configuration. + public let optionsToInclude: OptionConfigurationList? + /// 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 + public let optionGroupName: String /// Indicates whether the changes should be applied immediately, or during the next maintenance window for each instance associated with the option group. public let applyImmediately: Bool? - public init(optionGroupName: String, optionsToInclude: OptionConfigurationList? = nil, optionsToRemove: [String]? = nil, applyImmediately: Bool? = nil) { - self.optionGroupName = optionGroupName - self.optionsToInclude = optionsToInclude + public init(optionsToRemove: [String]? = nil, optionsToInclude: OptionConfigurationList? = nil, optionGroupName: String, applyImmediately: Bool? = nil) { self.optionsToRemove = optionsToRemove + self.optionsToInclude = optionsToInclude + self.optionGroupName = optionGroupName self.applyImmediately = applyImmediately } private enum CodingKeys: String, CodingKey { - case optionGroupName = "OptionGroupName" - case optionsToInclude = "OptionsToInclude" case optionsToRemove = "OptionsToRemove" + case optionsToInclude = "OptionsToInclude" + case optionGroupName = "OptionGroupName" case applyImmediately = "ApplyImmediately" } } @@ -1664,6 +1793,21 @@ extension Rds { } } + public struct EventSubscriptionsList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EventSubscription", required: false, type: .list) + ] + public let eventSubscription: [EventSubscription]? + + public init(eventSubscription: [EventSubscription]? = nil) { + self.eventSubscription = eventSubscription + } + + private enum CodingKeys: String, CodingKey { + case eventSubscription = "EventSubscription" + } + } + public struct ModifyDBSnapshotMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EngineVersion", required: false, type: .string), @@ -1690,21 +1834,6 @@ extension Rds { } } - public struct EventSubscriptionsList: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EventSubscription", required: false, type: .list) - ] - public let eventSubscription: [EventSubscription]? - - public init(eventSubscription: [EventSubscription]? = nil) { - self.eventSubscription = eventSubscription - } - - private enum CodingKeys: String, CodingKey { - case eventSubscription = "EventSubscription" - } - } - public struct AddSourceIdentifierToSubscriptionMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SourceIdentifier", required: true, type: .string), @@ -1762,6 +1891,21 @@ extension Rds { } } + public struct PromoteReadReplicaResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBInstance", required: false, type: .structure) + ] + public let dBInstance: DBInstance? + + public init(dBInstance: DBInstance? = nil) { + self.dBInstance = dBInstance + } + + private enum CodingKeys: String, CodingKey { + case dBInstance = "DBInstance" + } + } + public struct CopyDBClusterSnapshotResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBClusterSnapshot", required: false, type: .structure) @@ -1798,18 +1942,18 @@ extension Rds { } } - public struct PromoteReadReplicaResult: AWSShape { + public struct DBSecurityGroups: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBInstance", required: false, type: .structure) + AWSShapeMember(label: "DBSecurityGroup", required: false, type: .list) ] - public let dBInstance: DBInstance? + public let dBSecurityGroup: [DBSecurityGroup]? - public init(dBInstance: DBInstance? = nil) { - self.dBInstance = dBInstance + public init(dBSecurityGroup: [DBSecurityGroup]? = nil) { + self.dBSecurityGroup = dBSecurityGroup } private enum CodingKeys: String, CodingKey { - case dBInstance = "DBInstance" + case dBSecurityGroup = "DBSecurityGroup" } } @@ -1828,21 +1972,6 @@ extension Rds { } } - public struct DBSecurityGroups: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBSecurityGroup", required: false, type: .list) - ] - public let dBSecurityGroup: [DBSecurityGroup]? - - public init(dBSecurityGroup: [DBSecurityGroup]? = nil) { - self.dBSecurityGroup = dBSecurityGroup - } - - private enum CodingKeys: String, CodingKey { - case dBSecurityGroup = "DBSecurityGroup" - } - } - public struct CopyDBParameterGroupMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TargetDBParameterGroupIdentifier", required: true, type: .string), @@ -1878,6 +2007,7 @@ extension Rds { AWSShapeMember(label: "SupportsIops", required: false, type: .boolean), AWSShapeMember(label: "AvailabilityZones", required: false, type: .structure), AWSShapeMember(label: "MinIopsPerGib", required: false, type: .double), + AWSShapeMember(label: "MaxIopsPerDbInstance", required: false, type: .integer), AWSShapeMember(label: "MaxIopsPerGib", required: false, type: .double), AWSShapeMember(label: "LicenseModel", required: false, type: .string), AWSShapeMember(label: "StorageType", required: false, type: .string), @@ -1894,7 +2024,7 @@ extension Rds { AWSShapeMember(label: "SupportsPerformanceInsights", required: false, type: .boolean), AWSShapeMember(label: "Vpc", required: false, type: .boolean), AWSShapeMember(label: "DBInstanceClass", required: false, type: .string), - AWSShapeMember(label: "MaxIopsPerDbInstance", required: false, type: .integer) + AWSShapeMember(label: "AvailableProcessorFeatures", required: false, type: .structure) ] /// Indicates whether a DB instance supports provisioned IOPS. public let supportsIops: Bool? @@ -1902,6 +2032,8 @@ extension Rds { public let availabilityZones: AvailabilityZoneList? /// Minimum provisioned IOPS per GiB for a DB instance. public let minIopsPerGib: Double? + /// Maximum total provisioned IOPS for a DB instance. + public let maxIopsPerDbInstance: Int32? /// Maximum provisioned IOPS per GiB for a DB instance. public let maxIopsPerGib: Double? /// The license model for a DB instance. @@ -1934,13 +2066,14 @@ extension Rds { public let vpc: Bool? /// The DB instance class for a DB instance. public let dBInstanceClass: String? - /// Maximum total provisioned IOPS for a DB instance. - public let maxIopsPerDbInstance: Int32? + /// A list of the available processor features for the DB instance class of a DB instance. + public let availableProcessorFeatures: AvailableProcessorFeatureList? - public init(supportsIops: Bool? = nil, availabilityZones: AvailabilityZoneList? = nil, minIopsPerGib: Double? = nil, maxIopsPerGib: Double? = nil, licenseModel: String? = nil, storageType: String? = nil, minIopsPerDbInstance: Int32? = nil, minStorageSize: Int32? = nil, supportsIAMDatabaseAuthentication: Bool? = nil, supportsStorageEncryption: Bool? = nil, multiAZCapable: Bool? = nil, readReplicaCapable: Bool? = nil, engineVersion: String? = nil, maxStorageSize: Int32? = nil, supportsEnhancedMonitoring: Bool? = nil, engine: String? = nil, supportsPerformanceInsights: Bool? = nil, vpc: Bool? = nil, dBInstanceClass: String? = nil, maxIopsPerDbInstance: Int32? = nil) { + public init(supportsIops: Bool? = nil, availabilityZones: AvailabilityZoneList? = nil, minIopsPerGib: Double? = nil, maxIopsPerDbInstance: Int32? = nil, maxIopsPerGib: Double? = nil, licenseModel: String? = nil, storageType: String? = nil, minIopsPerDbInstance: Int32? = nil, minStorageSize: Int32? = nil, supportsIAMDatabaseAuthentication: Bool? = nil, supportsStorageEncryption: Bool? = nil, multiAZCapable: Bool? = nil, readReplicaCapable: Bool? = nil, engineVersion: String? = nil, maxStorageSize: Int32? = nil, supportsEnhancedMonitoring: Bool? = nil, engine: String? = nil, supportsPerformanceInsights: Bool? = nil, vpc: Bool? = nil, dBInstanceClass: String? = nil, availableProcessorFeatures: AvailableProcessorFeatureList? = nil) { self.supportsIops = supportsIops self.availabilityZones = availabilityZones self.minIopsPerGib = minIopsPerGib + self.maxIopsPerDbInstance = maxIopsPerDbInstance self.maxIopsPerGib = maxIopsPerGib self.licenseModel = licenseModel self.storageType = storageType @@ -1957,13 +2090,14 @@ extension Rds { self.supportsPerformanceInsights = supportsPerformanceInsights self.vpc = vpc self.dBInstanceClass = dBInstanceClass - self.maxIopsPerDbInstance = maxIopsPerDbInstance + self.availableProcessorFeatures = availableProcessorFeatures } private enum CodingKeys: String, CodingKey { case supportsIops = "SupportsIops" case availabilityZones = "AvailabilityZones" case minIopsPerGib = "MinIopsPerGib" + case maxIopsPerDbInstance = "MaxIopsPerDbInstance" case maxIopsPerGib = "MaxIopsPerGib" case licenseModel = "LicenseModel" case storageType = "StorageType" @@ -1980,7 +2114,7 @@ extension Rds { case supportsPerformanceInsights = "SupportsPerformanceInsights" case vpc = "Vpc" case dBInstanceClass = "DBInstanceClass" - case maxIopsPerDbInstance = "MaxIopsPerDbInstance" + case availableProcessorFeatures = "AvailableProcessorFeatures" } } @@ -2145,20 +2279,27 @@ extension Rds { public struct RestoreDBClusterToPointInTimeMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "KmsKeyId", required: false, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), + AWSShapeMember(label: "EnableCloudwatchLogsExports", required: false, type: .list), AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string), AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), AWSShapeMember(label: "OptionGroupName", required: false, type: .string), AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), - AWSShapeMember(label: "Tags", required: false, type: .structure), - AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), AWSShapeMember(label: "RestoreToTime", required: false, type: .timestamp), AWSShapeMember(label: "UseLatestRestorableTime", required: false, type: .boolean), AWSShapeMember(label: "RestoreType", required: false, type: .string), + AWSShapeMember(label: "BacktrackWindow", required: false, type: .long), AWSShapeMember(label: "SourceDBClusterIdentifier", required: true, type: .string), AWSShapeMember(label: "Port", required: false, type: .integer) ] /// 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. public let kmsKeyId: String? + public let tags: TagList? + /// A list of VPC security groups that the new DB cluster belongs to. + public let vpcSecurityGroupIds: VpcSecurityGroupIdList? + /// The list of logs that the restored DB cluster is to export to CloudWatch Logs. + public let enableCloudwatchLogsExports: [String]? /// 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 public let dBClusterIdentifier: String /// 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 @@ -2167,46 +2308,49 @@ extension Rds { public let optionGroupName: String? /// True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false. Default: false public let enableIAMDatabaseAuthentication: Bool? - public let tags: TagList? - /// A list of VPC security groups that the new DB cluster belongs to. - public let vpcSecurityGroupIds: VpcSecurityGroupIdList? /// 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 public let restoreToTime: TimeStamp? /// 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. public let useLatestRestorableTime: Bool? /// 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. public let restoreType: String? + /// 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). + public let backtrackWindow: Int64? /// The identifier of the source DB cluster from which to restore. Constraints: Must match the identifier of an existing DBCluster. public let sourceDBClusterIdentifier: String - /// 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. + /// The port number on which the new DB cluster accepts connections. Constraints: A value from 1150-65535. Default: The default port for the engine. public let port: Int32? - public init(kmsKeyId: String? = nil, dBClusterIdentifier: String, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, tags: TagList? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, restoreToTime: TimeStamp? = nil, useLatestRestorableTime: Bool? = nil, restoreType: String? = nil, sourceDBClusterIdentifier: String, port: Int32? = nil) { + public init(kmsKeyId: String? = nil, tags: TagList? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, enableCloudwatchLogsExports: [String]? = nil, dBClusterIdentifier: String, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, restoreToTime: TimeStamp? = nil, useLatestRestorableTime: Bool? = nil, restoreType: String? = nil, backtrackWindow: Int64? = nil, sourceDBClusterIdentifier: String, port: Int32? = nil) { self.kmsKeyId = kmsKeyId + self.tags = tags + self.vpcSecurityGroupIds = vpcSecurityGroupIds + self.enableCloudwatchLogsExports = enableCloudwatchLogsExports self.dBClusterIdentifier = dBClusterIdentifier self.dBSubnetGroupName = dBSubnetGroupName self.optionGroupName = optionGroupName self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication - self.tags = tags - self.vpcSecurityGroupIds = vpcSecurityGroupIds self.restoreToTime = restoreToTime self.useLatestRestorableTime = useLatestRestorableTime self.restoreType = restoreType + self.backtrackWindow = backtrackWindow self.sourceDBClusterIdentifier = sourceDBClusterIdentifier self.port = port } private enum CodingKeys: String, CodingKey { case kmsKeyId = "KmsKeyId" + case tags = "Tags" + case vpcSecurityGroupIds = "VpcSecurityGroupIds" + case enableCloudwatchLogsExports = "EnableCloudwatchLogsExports" case dBClusterIdentifier = "DBClusterIdentifier" case dBSubnetGroupName = "DBSubnetGroupName" case optionGroupName = "OptionGroupName" case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" - case tags = "Tags" - case vpcSecurityGroupIds = "VpcSecurityGroupIds" case restoreToTime = "RestoreToTime" case useLatestRestorableTime = "UseLatestRestorableTime" case restoreType = "RestoreType" + case backtrackWindow = "BacktrackWindow" case sourceDBClusterIdentifier = "SourceDBClusterIdentifier" case port = "Port" } @@ -2284,6 +2428,21 @@ extension Rds { } } + public struct ProcessorFeatureList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ProcessorFeature", required: false, type: .list) + ] + public let processorFeature: [ProcessorFeature]? + + public init(processorFeature: [ProcessorFeature]? = nil) { + self.processorFeature = processorFeature + } + + private enum CodingKeys: String, CodingKey { + case processorFeature = "ProcessorFeature" + } + } + public struct DBClusterParameterGroup: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBParameterGroupFamily", required: false, type: .string), @@ -2397,6 +2556,21 @@ extension Rds { } } + public struct ReservedDBInstanceList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReservedDBInstance", required: false, type: .list) + ] + public let reservedDBInstance: [ReservedDBInstance]? + + public init(reservedDBInstance: [ReservedDBInstance]? = nil) { + self.reservedDBInstance = reservedDBInstance + } + + private enum CodingKeys: String, CodingKey { + case reservedDBInstance = "ReservedDBInstance" + } + } + public struct RebootDBInstanceMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string), @@ -2418,21 +2592,6 @@ extension Rds { } } - public struct ReservedDBInstanceList: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ReservedDBInstance", required: false, type: .list) - ] - public let reservedDBInstance: [ReservedDBInstance]? - - public init(reservedDBInstance: [ReservedDBInstance]? = nil) { - self.reservedDBInstance = reservedDBInstance - } - - private enum CodingKeys: String, CodingKey { - case reservedDBInstance = "ReservedDBInstance" - } - } - public struct DBClusterSnapshotAttributesResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBClusterSnapshotIdentifier", required: false, type: .string), @@ -2480,6 +2639,36 @@ extension Rds { } } + public struct ModifyDBSnapshotAttributeResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBSnapshotAttributesResult", required: false, type: .structure) + ] + public let dBSnapshotAttributesResult: DBSnapshotAttributesResult? + + public init(dBSnapshotAttributesResult: DBSnapshotAttributesResult? = nil) { + self.dBSnapshotAttributesResult = dBSnapshotAttributesResult + } + + private enum CodingKeys: String, CodingKey { + case dBSnapshotAttributesResult = "DBSnapshotAttributesResult" + } + } + + public struct RevokeDBSecurityGroupIngressResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBSecurityGroup", required: false, type: .structure) + ] + public let dBSecurityGroup: DBSecurityGroup? + + public init(dBSecurityGroup: DBSecurityGroup? = nil) { + self.dBSecurityGroup = dBSecurityGroup + } + + private enum CodingKeys: String, CodingKey { + case dBSecurityGroup = "DBSecurityGroup" + } + } + public struct DBInstance: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "VpcSecurityGroups", required: false, type: .structure), @@ -2487,14 +2676,14 @@ extension Rds { AWSShapeMember(label: "DBInstanceStatus", required: false, type: .string), AWSShapeMember(label: "DBParameterGroups", required: false, type: .structure), AWSShapeMember(label: "DBSecurityGroups", required: false, type: .structure), + AWSShapeMember(label: "Iops", required: false, type: .integer), AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), - AWSShapeMember(label: "CharacterSetName", required: false, type: .string), AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), - AWSShapeMember(label: "Iops", required: false, type: .integer), + AWSShapeMember(label: "CharacterSetName", required: false, type: .string), + AWSShapeMember(label: "LatestRestorableTime", required: false, type: .timestamp), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), AWSShapeMember(label: "DBClusterIdentifier", required: false, type: .string), AWSShapeMember(label: "PerformanceInsightsKMSKeyId", required: false, type: .string), - AWSShapeMember(label: "EngineVersion", required: false, type: .string), - AWSShapeMember(label: "LatestRestorableTime", required: false, type: .timestamp), AWSShapeMember(label: "DbiResourceId", required: false, type: .string), AWSShapeMember(label: "Endpoint", required: false, type: .structure), AWSShapeMember(label: "DBInstanceClass", required: false, type: .string), @@ -2502,28 +2691,31 @@ extension Rds { AWSShapeMember(label: "MultiAZ", required: false, type: .boolean), AWSShapeMember(label: "AllocatedStorage", required: false, type: .integer), AWSShapeMember(label: "LicenseModel", required: false, type: .string), - AWSShapeMember(label: "PerformanceInsightsEnabled", required: false, type: .boolean), AWSShapeMember(label: "DbInstancePort", required: false, type: .integer), + AWSShapeMember(label: "PerformanceInsightsEnabled", required: false, type: .boolean), AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), AWSShapeMember(label: "IAMDatabaseAuthenticationEnabled", required: false, type: .boolean), + AWSShapeMember(label: "MasterUsername", required: false, type: .string), AWSShapeMember(label: "MonitoringRoleArn", required: false, type: .string), AWSShapeMember(label: "StatusInfos", required: false, type: .structure), - AWSShapeMember(label: "MasterUsername", required: false, type: .string), AWSShapeMember(label: "SecondaryAvailabilityZone", required: false, type: .string), AWSShapeMember(label: "Engine", required: false, type: .string), AWSShapeMember(label: "ReadReplicaDBInstanceIdentifiers", required: false, type: .structure), - AWSShapeMember(label: "DBSubnetGroup", required: false, type: .structure), AWSShapeMember(label: "StorageEncrypted", required: false, type: .boolean), + AWSShapeMember(label: "DBSubnetGroup", required: false, type: .structure), AWSShapeMember(label: "MonitoringInterval", required: false, type: .integer), AWSShapeMember(label: "DBInstanceIdentifier", required: false, type: .string), AWSShapeMember(label: "DBName", required: false, type: .string), AWSShapeMember(label: "EnhancedMonitoringResourceArn", required: false, type: .string), + AWSShapeMember(label: "PerformanceInsightsRetentionPeriod", required: false, type: .integer), + AWSShapeMember(label: "ProcessorFeatures", required: false, type: .structure), AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), AWSShapeMember(label: "OptionGroupMemberships", required: false, type: .structure), AWSShapeMember(label: "CACertificateIdentifier", required: false, type: .string), AWSShapeMember(label: "PromotionTier", required: false, type: .integer), AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), AWSShapeMember(label: "CopyTagsToSnapshot", required: false, type: .boolean), + AWSShapeMember(label: "EnabledCloudwatchLogsExports", required: false, type: .list), AWSShapeMember(label: "DBInstanceArn", required: false, type: .string), AWSShapeMember(label: "KmsKeyId", required: false, type: .string), AWSShapeMember(label: "PendingModifiedValues", required: false, type: .structure), @@ -2544,22 +2736,22 @@ extension Rds { public let dBParameterGroups: DBParameterGroupStatusList? /// Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements. public let dBSecurityGroups: DBSecurityGroupMembershipList? + /// Specifies the Provisioned IOPS (I/O operations per second) value. + public let iops: Int32? /// Specifies the name of the Availability Zone the DB instance is located in. public let availabilityZone: String? - /// If present, specifies the name of the character set that this instance is associated with. - public let characterSetName: String? /// Indicates that minor version patches are applied automatically. public let autoMinorVersionUpgrade: Bool? - /// Specifies the Provisioned IOPS (I/O operations per second) value. - public let iops: Int32? + /// If present, specifies the name of the character set that this instance is associated with. + public let characterSetName: String? + /// Specifies the latest time to which a database can be restored with point-in-time restore. + public let latestRestorableTime: TimeStamp? + /// Indicates the database engine version. + public let engineVersion: String? /// 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. public let dBClusterIdentifier: String? /// 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. public let performanceInsightsKMSKeyId: String? - /// Indicates the database engine version. - public let engineVersion: String? - /// Specifies the latest time to which a database can be restored with point-in-time restore. - public let latestRestorableTime: TimeStamp? /// 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. public let dbiResourceId: String? /// Specifies the connection endpoint. @@ -2570,34 +2762,34 @@ extension Rds { public let instanceCreateTime: TimeStamp? /// Specifies if the DB instance is a Multi-AZ deployment. public let multiAZ: Bool? - /// Specifies the allocated storage size specified in gigabytes. + /// Specifies the allocated storage size specified in gibibytes. public let allocatedStorage: Int32? /// License model information for this DB instance. public let licenseModel: String? - /// True if Performance Insights is enabled for the DB instance, and otherwise false. - public let performanceInsightsEnabled: Bool? /// 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. public let dbInstancePort: Int32? + /// True if Performance Insights is enabled for the DB instance, and otherwise false. + public let performanceInsightsEnabled: Bool? /// Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod. public let preferredBackupWindow: String? /// 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. public let iAMDatabaseAuthenticationEnabled: Bool? + /// Contains the master username for the DB instance. + public let masterUsername: String? /// The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. public let monitoringRoleArn: String? /// The status of a Read Replica. If the instance is not a Read Replica, this is blank. public let statusInfos: DBInstanceStatusInfoList? - /// Contains the master username for the DB instance. - public let masterUsername: String? /// If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support. public let secondaryAvailabilityZone: String? /// Provides the name of the database engine to be used for this DB instance. public let engine: String? /// Contains one or more identifiers of the Read Replicas associated with this DB instance. public let readReplicaDBInstanceIdentifiers: ReadReplicaDBInstanceIdentifierList? - /// Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group. - public let dBSubnetGroup: DBSubnetGroup? /// Specifies whether the DB instance is encrypted. public let storageEncrypted: Bool? + /// Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group. + public let dBSubnetGroup: DBSubnetGroup? /// The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. public let monitoringInterval: Int32? /// Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance. @@ -2606,6 +2798,10 @@ extension Rds { public let dBName: String? /// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance. public let enhancedMonitoringResourceArn: String? + /// The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years). + public let performanceInsightsRetentionPeriod: Int32? + /// The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. + public let processorFeatures: ProcessorFeatureList? /// Specifies the number of days for which automatic DB snapshots are retained. public let backupRetentionPeriod: Int32? /// Provides the list of option group memberships for this DB instance. @@ -2618,6 +2814,8 @@ extension Rds { public let preferredMaintenanceWindow: String? /// Specifies whether tags are copied from the DB instance to snapshots of the DB instance. public let copyTagsToSnapshot: Bool? + /// A list of log types that this DB instance is configured to export to CloudWatch Logs. + public let enabledCloudwatchLogsExports: [String]? /// The Amazon Resource Name (ARN) for the DB instance. public let dBInstanceArn: String? /// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance. @@ -2637,20 +2835,20 @@ extension Rds { /// Contains one or more identifiers of Aurora DB clusters that are Read Replicas of this DB instance. public let readReplicaDBClusterIdentifiers: ReadReplicaDBClusterIdentifierList? - public init(vpcSecurityGroups: VpcSecurityGroupMembershipList? = nil, domainMemberships: DomainMembershipList? = nil, dBInstanceStatus: String? = nil, dBParameterGroups: DBParameterGroupStatusList? = nil, dBSecurityGroups: DBSecurityGroupMembershipList? = nil, availabilityZone: String? = nil, characterSetName: String? = nil, autoMinorVersionUpgrade: Bool? = nil, iops: Int32? = nil, dBClusterIdentifier: String? = nil, performanceInsightsKMSKeyId: String? = nil, engineVersion: String? = nil, latestRestorableTime: TimeStamp? = nil, dbiResourceId: String? = nil, endpoint: Endpoint? = nil, dBInstanceClass: String? = nil, instanceCreateTime: TimeStamp? = nil, multiAZ: Bool? = nil, allocatedStorage: Int32? = nil, licenseModel: String? = nil, performanceInsightsEnabled: Bool? = nil, dbInstancePort: Int32? = nil, preferredBackupWindow: String? = nil, iAMDatabaseAuthenticationEnabled: Bool? = nil, monitoringRoleArn: String? = nil, statusInfos: DBInstanceStatusInfoList? = nil, masterUsername: String? = nil, secondaryAvailabilityZone: String? = nil, engine: String? = nil, readReplicaDBInstanceIdentifiers: ReadReplicaDBInstanceIdentifierList? = nil, dBSubnetGroup: DBSubnetGroup? = nil, storageEncrypted: Bool? = nil, monitoringInterval: Int32? = nil, dBInstanceIdentifier: String? = nil, dBName: String? = nil, enhancedMonitoringResourceArn: String? = nil, backupRetentionPeriod: Int32? = nil, optionGroupMemberships: OptionGroupMembershipList? = nil, cACertificateIdentifier: String? = nil, promotionTier: Int32? = nil, preferredMaintenanceWindow: String? = nil, copyTagsToSnapshot: Bool? = nil, dBInstanceArn: String? = nil, kmsKeyId: String? = nil, pendingModifiedValues: PendingModifiedValues? = nil, readReplicaSourceDBInstanceIdentifier: String? = nil, timezone: String? = nil, storageType: String? = nil, tdeCredentialArn: String? = nil, publiclyAccessible: Bool? = nil, readReplicaDBClusterIdentifiers: ReadReplicaDBClusterIdentifierList? = nil) { + public init(vpcSecurityGroups: VpcSecurityGroupMembershipList? = nil, domainMemberships: DomainMembershipList? = nil, dBInstanceStatus: String? = nil, dBParameterGroups: DBParameterGroupStatusList? = nil, dBSecurityGroups: DBSecurityGroupMembershipList? = nil, iops: Int32? = nil, availabilityZone: String? = nil, autoMinorVersionUpgrade: Bool? = nil, characterSetName: String? = nil, latestRestorableTime: TimeStamp? = nil, engineVersion: String? = nil, dBClusterIdentifier: String? = nil, performanceInsightsKMSKeyId: String? = nil, dbiResourceId: String? = nil, endpoint: Endpoint? = nil, dBInstanceClass: String? = nil, instanceCreateTime: TimeStamp? = nil, multiAZ: Bool? = nil, allocatedStorage: Int32? = nil, licenseModel: String? = nil, dbInstancePort: Int32? = nil, performanceInsightsEnabled: Bool? = nil, preferredBackupWindow: String? = nil, iAMDatabaseAuthenticationEnabled: Bool? = nil, masterUsername: String? = nil, monitoringRoleArn: String? = nil, statusInfos: DBInstanceStatusInfoList? = nil, secondaryAvailabilityZone: String? = nil, engine: String? = nil, readReplicaDBInstanceIdentifiers: ReadReplicaDBInstanceIdentifierList? = nil, storageEncrypted: Bool? = nil, dBSubnetGroup: DBSubnetGroup? = nil, monitoringInterval: Int32? = nil, dBInstanceIdentifier: String? = nil, dBName: String? = nil, enhancedMonitoringResourceArn: String? = nil, performanceInsightsRetentionPeriod: Int32? = nil, processorFeatures: ProcessorFeatureList? = nil, backupRetentionPeriod: Int32? = nil, optionGroupMemberships: OptionGroupMembershipList? = nil, cACertificateIdentifier: String? = nil, promotionTier: Int32? = nil, preferredMaintenanceWindow: String? = nil, copyTagsToSnapshot: Bool? = nil, enabledCloudwatchLogsExports: [String]? = nil, dBInstanceArn: String? = nil, kmsKeyId: String? = nil, pendingModifiedValues: PendingModifiedValues? = nil, readReplicaSourceDBInstanceIdentifier: String? = nil, timezone: String? = nil, storageType: String? = nil, tdeCredentialArn: String? = nil, publiclyAccessible: Bool? = nil, readReplicaDBClusterIdentifiers: ReadReplicaDBClusterIdentifierList? = nil) { self.vpcSecurityGroups = vpcSecurityGroups self.domainMemberships = domainMemberships self.dBInstanceStatus = dBInstanceStatus self.dBParameterGroups = dBParameterGroups self.dBSecurityGroups = dBSecurityGroups + self.iops = iops self.availabilityZone = availabilityZone - self.characterSetName = characterSetName self.autoMinorVersionUpgrade = autoMinorVersionUpgrade - self.iops = iops + self.characterSetName = characterSetName + self.latestRestorableTime = latestRestorableTime + self.engineVersion = engineVersion self.dBClusterIdentifier = dBClusterIdentifier self.performanceInsightsKMSKeyId = performanceInsightsKMSKeyId - self.engineVersion = engineVersion - self.latestRestorableTime = latestRestorableTime self.dbiResourceId = dbiResourceId self.endpoint = endpoint self.dBInstanceClass = dBInstanceClass @@ -2658,28 +2856,31 @@ extension Rds { self.multiAZ = multiAZ self.allocatedStorage = allocatedStorage self.licenseModel = licenseModel - self.performanceInsightsEnabled = performanceInsightsEnabled self.dbInstancePort = dbInstancePort + self.performanceInsightsEnabled = performanceInsightsEnabled self.preferredBackupWindow = preferredBackupWindow self.iAMDatabaseAuthenticationEnabled = iAMDatabaseAuthenticationEnabled + self.masterUsername = masterUsername self.monitoringRoleArn = monitoringRoleArn self.statusInfos = statusInfos - self.masterUsername = masterUsername self.secondaryAvailabilityZone = secondaryAvailabilityZone self.engine = engine self.readReplicaDBInstanceIdentifiers = readReplicaDBInstanceIdentifiers - self.dBSubnetGroup = dBSubnetGroup self.storageEncrypted = storageEncrypted + self.dBSubnetGroup = dBSubnetGroup self.monitoringInterval = monitoringInterval self.dBInstanceIdentifier = dBInstanceIdentifier self.dBName = dBName self.enhancedMonitoringResourceArn = enhancedMonitoringResourceArn + self.performanceInsightsRetentionPeriod = performanceInsightsRetentionPeriod + self.processorFeatures = processorFeatures self.backupRetentionPeriod = backupRetentionPeriod self.optionGroupMemberships = optionGroupMemberships self.cACertificateIdentifier = cACertificateIdentifier self.promotionTier = promotionTier self.preferredMaintenanceWindow = preferredMaintenanceWindow self.copyTagsToSnapshot = copyTagsToSnapshot + self.enabledCloudwatchLogsExports = enabledCloudwatchLogsExports self.dBInstanceArn = dBInstanceArn self.kmsKeyId = kmsKeyId self.pendingModifiedValues = pendingModifiedValues @@ -2697,14 +2898,14 @@ extension Rds { case dBInstanceStatus = "DBInstanceStatus" case dBParameterGroups = "DBParameterGroups" case dBSecurityGroups = "DBSecurityGroups" + case iops = "Iops" case availabilityZone = "AvailabilityZone" - case characterSetName = "CharacterSetName" case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" - case iops = "Iops" + case characterSetName = "CharacterSetName" + case latestRestorableTime = "LatestRestorableTime" + case engineVersion = "EngineVersion" case dBClusterIdentifier = "DBClusterIdentifier" case performanceInsightsKMSKeyId = "PerformanceInsightsKMSKeyId" - case engineVersion = "EngineVersion" - case latestRestorableTime = "LatestRestorableTime" case dbiResourceId = "DbiResourceId" case endpoint = "Endpoint" case dBInstanceClass = "DBInstanceClass" @@ -2712,28 +2913,31 @@ extension Rds { case multiAZ = "MultiAZ" case allocatedStorage = "AllocatedStorage" case licenseModel = "LicenseModel" - case performanceInsightsEnabled = "PerformanceInsightsEnabled" case dbInstancePort = "DbInstancePort" + case performanceInsightsEnabled = "PerformanceInsightsEnabled" case preferredBackupWindow = "PreferredBackupWindow" case iAMDatabaseAuthenticationEnabled = "IAMDatabaseAuthenticationEnabled" + case masterUsername = "MasterUsername" case monitoringRoleArn = "MonitoringRoleArn" case statusInfos = "StatusInfos" - case masterUsername = "MasterUsername" case secondaryAvailabilityZone = "SecondaryAvailabilityZone" case engine = "Engine" case readReplicaDBInstanceIdentifiers = "ReadReplicaDBInstanceIdentifiers" - case dBSubnetGroup = "DBSubnetGroup" case storageEncrypted = "StorageEncrypted" + case dBSubnetGroup = "DBSubnetGroup" case monitoringInterval = "MonitoringInterval" case dBInstanceIdentifier = "DBInstanceIdentifier" case dBName = "DBName" case enhancedMonitoringResourceArn = "EnhancedMonitoringResourceArn" + case performanceInsightsRetentionPeriod = "PerformanceInsightsRetentionPeriod" + case processorFeatures = "ProcessorFeatures" case backupRetentionPeriod = "BackupRetentionPeriod" case optionGroupMemberships = "OptionGroupMemberships" case cACertificateIdentifier = "CACertificateIdentifier" case promotionTier = "PromotionTier" case preferredMaintenanceWindow = "PreferredMaintenanceWindow" case copyTagsToSnapshot = "CopyTagsToSnapshot" + case enabledCloudwatchLogsExports = "EnabledCloudwatchLogsExports" case dBInstanceArn = "DBInstanceArn" case kmsKeyId = "KmsKeyId" case pendingModifiedValues = "PendingModifiedValues" @@ -2746,33 +2950,24 @@ extension Rds { } } - public struct ModifyDBSnapshotAttributeResult: AWSShape { + public struct CloudwatchLogsExportConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBSnapshotAttributesResult", required: false, type: .structure) + AWSShapeMember(label: "DisableLogTypes", required: false, type: .list), + AWSShapeMember(label: "EnableLogTypes", required: false, type: .list) ] - public let dBSnapshotAttributesResult: DBSnapshotAttributesResult? - - public init(dBSnapshotAttributesResult: DBSnapshotAttributesResult? = nil) { - self.dBSnapshotAttributesResult = dBSnapshotAttributesResult - } + /// The list of log types to disable. + public let disableLogTypes: [String]? + /// The list of log types to enable. + public let enableLogTypes: [String]? - private enum CodingKeys: String, CodingKey { - case dBSnapshotAttributesResult = "DBSnapshotAttributesResult" - } - } - - public struct RevokeDBSecurityGroupIngressResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBSecurityGroup", required: false, type: .structure) - ] - public let dBSecurityGroup: DBSecurityGroup? - - public init(dBSecurityGroup: DBSecurityGroup? = nil) { - self.dBSecurityGroup = dBSecurityGroup + public init(disableLogTypes: [String]? = nil, enableLogTypes: [String]? = nil) { + self.disableLogTypes = disableLogTypes + self.enableLogTypes = enableLogTypes } private enum CodingKeys: String, CodingKey { - case dBSecurityGroup = "DBSecurityGroup" + case disableLogTypes = "DisableLogTypes" + case enableLogTypes = "EnableLogTypes" } } @@ -2842,28 +3037,19 @@ extension Rds { } } - public struct CreateDBSnapshotMessage: AWSShape { + public struct DeleteDBClusterParameterGroupMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Tags", required: false, type: .structure), - AWSShapeMember(label: "DBSnapshotIdentifier", required: true, type: .string), - AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string) + AWSShapeMember(label: "DBClusterParameterGroupName", required: true, type: .string) ] - public let tags: TagList? - /// 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 - public let dBSnapshotIdentifier: String - /// The identifier of the DB instance that you want to create the snapshot of. Constraints: Must match the identifier of an existing DBInstance. - public let dBInstanceIdentifier: String + /// 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. + public let dBClusterParameterGroupName: String - public init(tags: TagList? = nil, dBSnapshotIdentifier: String, dBInstanceIdentifier: String) { - self.tags = tags - self.dBSnapshotIdentifier = dBSnapshotIdentifier - self.dBInstanceIdentifier = dBInstanceIdentifier + public init(dBClusterParameterGroupName: String) { + self.dBClusterParameterGroupName = dBClusterParameterGroupName } private enum CodingKeys: String, CodingKey { - case tags = "Tags" - case dBSnapshotIdentifier = "DBSnapshotIdentifier" - case dBInstanceIdentifier = "DBInstanceIdentifier" + case dBClusterParameterGroupName = "DBClusterParameterGroupName" } } @@ -2928,34 +3114,44 @@ extension Rds { } } - public struct ValidStorageOptions: AWSShape { + public struct Certificate: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StorageSize", required: false, type: .structure), - AWSShapeMember(label: "ProvisionedIops", required: false, type: .structure), - AWSShapeMember(label: "IopsToStorageRatio", required: false, type: .structure), - AWSShapeMember(label: "StorageType", required: false, type: .string) + AWSShapeMember(label: "CertificateArn", required: false, type: .string), + AWSShapeMember(label: "Thumbprint", required: false, type: .string), + AWSShapeMember(label: "ValidFrom", required: false, type: .timestamp), + AWSShapeMember(label: "ValidTill", required: false, type: .timestamp), + AWSShapeMember(label: "CertificateIdentifier", required: false, type: .string), + AWSShapeMember(label: "CertificateType", required: false, type: .string) ] - /// The valid range of storage in gigabytes. For example, 100 to 6144. - public let storageSize: RangeList? - /// The valid range of provisioned IOPS. For example, 1000-20000. - public let provisionedIops: RangeList? - /// The valid range of Provisioned IOPS to gigabytes of storage multiplier. For example, 3-10, which means that provisioned IOPS can be between 3 and 10 times storage. - public let iopsToStorageRatio: DoubleRangeList? - /// The valid storage types for your DB instance. For example, gp2, io1. - public let storageType: String? + /// The Amazon Resource Name (ARN) for the certificate. + public let certificateArn: String? + /// The thumbprint of the certificate. + public let thumbprint: String? + /// The starting date from which the certificate is valid. + public let validFrom: TimeStamp? + /// The final date that the certificate continues to be valid. + public let validTill: TimeStamp? + /// The unique key that identifies a certificate. + public let certificateIdentifier: String? + /// The type of the certificate. + public let certificateType: String? - public init(storageSize: RangeList? = nil, provisionedIops: RangeList? = nil, iopsToStorageRatio: DoubleRangeList? = nil, storageType: String? = nil) { - self.storageSize = storageSize - self.provisionedIops = provisionedIops - self.iopsToStorageRatio = iopsToStorageRatio - self.storageType = storageType + public init(certificateArn: String? = nil, thumbprint: String? = nil, validFrom: TimeStamp? = nil, validTill: TimeStamp? = nil, certificateIdentifier: String? = nil, certificateType: String? = nil) { + self.certificateArn = certificateArn + self.thumbprint = thumbprint + self.validFrom = validFrom + self.validTill = validTill + self.certificateIdentifier = certificateIdentifier + self.certificateType = certificateType } private enum CodingKeys: String, CodingKey { - case storageSize = "StorageSize" - case provisionedIops = "ProvisionedIops" - case iopsToStorageRatio = "IopsToStorageRatio" - case storageType = "StorageType" + case certificateArn = "CertificateArn" + case thumbprint = "Thumbprint" + case validFrom = "ValidFrom" + case validTill = "ValidTill" + case certificateIdentifier = "CertificateIdentifier" + case certificateType = "CertificateType" } } @@ -2990,6 +3186,62 @@ extension Rds { } } + public struct CreateDBSnapshotMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "DBSnapshotIdentifier", required: true, type: .string), + AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string) + ] + public let tags: TagList? + /// 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 + public let dBSnapshotIdentifier: String + /// The identifier of the DB instance that you want to create the snapshot of. Constraints: Must match the identifier of an existing DBInstance. + public let dBInstanceIdentifier: String + + public init(tags: TagList? = nil, dBSnapshotIdentifier: String, dBInstanceIdentifier: String) { + self.tags = tags + self.dBSnapshotIdentifier = dBSnapshotIdentifier + self.dBInstanceIdentifier = dBInstanceIdentifier + } + + private enum CodingKeys: String, CodingKey { + case tags = "Tags" + case dBSnapshotIdentifier = "DBSnapshotIdentifier" + case dBInstanceIdentifier = "DBInstanceIdentifier" + } + } + + public struct ValidStorageOptions: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StorageSize", required: false, type: .structure), + AWSShapeMember(label: "StorageType", required: false, type: .string), + AWSShapeMember(label: "IopsToStorageRatio", required: false, type: .structure), + AWSShapeMember(label: "ProvisionedIops", required: false, type: .structure) + ] + /// The valid range of storage in gibibytes. For example, 100 to 16384. + public let storageSize: RangeList? + /// The valid storage types for your DB instance. For example, gp2, io1. + public let storageType: String? + /// 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. + public let iopsToStorageRatio: DoubleRangeList? + /// The valid range of provisioned IOPS. For example, 1000-20000. + public let provisionedIops: RangeList? + + public init(storageSize: RangeList? = nil, storageType: String? = nil, iopsToStorageRatio: DoubleRangeList? = nil, provisionedIops: RangeList? = nil) { + self.storageSize = storageSize + self.storageType = storageType + self.iopsToStorageRatio = iopsToStorageRatio + self.provisionedIops = provisionedIops + } + + private enum CodingKeys: String, CodingKey { + case storageSize = "StorageSize" + case storageType = "StorageType" + case iopsToStorageRatio = "IopsToStorageRatio" + case provisionedIops = "ProvisionedIops" + } + } + public struct DescribeSourceRegionsMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxRecords", required: false, type: .integer), @@ -3021,206 +3273,179 @@ extension Rds { } } - public struct Certificate: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CertificateArn", required: false, type: .string), - AWSShapeMember(label: "Thumbprint", required: false, type: .string), - AWSShapeMember(label: "ValidFrom", required: false, type: .timestamp), - AWSShapeMember(label: "ValidTill", required: false, type: .timestamp), - AWSShapeMember(label: "CertificateIdentifier", required: false, type: .string), - AWSShapeMember(label: "CertificateType", required: false, type: .string) - ] - /// The Amazon Resource Name (ARN) for the certificate. - public let certificateArn: String? - /// The thumbprint of the certificate. - public let thumbprint: String? - /// The starting date from which the certificate is valid. - public let validFrom: TimeStamp? - /// The final date that the certificate continues to be valid. - public let validTill: TimeStamp? - /// The unique key that identifies a certificate. - public let certificateIdentifier: String? - /// The type of the certificate. - public let certificateType: String? - - public init(certificateArn: String? = nil, thumbprint: String? = nil, validFrom: TimeStamp? = nil, validTill: TimeStamp? = nil, certificateIdentifier: String? = nil, certificateType: String? = nil) { - self.certificateArn = certificateArn - self.thumbprint = thumbprint - self.validFrom = validFrom - self.validTill = validTill - self.certificateIdentifier = certificateIdentifier - self.certificateType = certificateType - } - - private enum CodingKeys: String, CodingKey { - case certificateArn = "CertificateArn" - case thumbprint = "Thumbprint" - case validFrom = "ValidFrom" - case validTill = "ValidTill" - case certificateIdentifier = "CertificateIdentifier" - case certificateType = "CertificateType" - } - } - - public struct DeleteDBClusterParameterGroupMessage: AWSShape { + public struct AvailabilityZone: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBClusterParameterGroupName", required: true, type: .string) + AWSShapeMember(label: "Name", required: false, type: .string) ] - /// 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. - public let dBClusterParameterGroupName: String + /// The name of the Availability Zone. + public let name: String? - public init(dBClusterParameterGroupName: String) { - self.dBClusterParameterGroupName = dBClusterParameterGroupName + public init(name: String? = nil) { + self.name = name } private enum CodingKeys: String, CodingKey { - case dBClusterParameterGroupName = "DBClusterParameterGroupName" + case name = "Name" } } - public struct AvailabilityZone: AWSShape { + public struct StopDBInstanceResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: false, type: .string) + AWSShapeMember(label: "DBInstance", required: false, type: .structure) ] - /// The name of the availability zone. - public let name: String? + public let dBInstance: DBInstance? - public init(name: String? = nil) { - self.name = name + public init(dBInstance: DBInstance? = nil) { + self.dBInstance = dBInstance } private enum CodingKeys: String, CodingKey { - case name = "Name" + case dBInstance = "DBInstance" } } public struct RestoreDBInstanceToPointInTimeMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Domain", required: false, type: .string), - AWSShapeMember(label: "Port", required: false, type: .integer), AWSShapeMember(label: "DBName", required: false, type: .string), - AWSShapeMember(label: "MultiAZ", required: false, type: .boolean), AWSShapeMember(label: "TdeCredentialPassword", required: false, type: .string), - AWSShapeMember(label: "Tags", required: false, type: .structure), - AWSShapeMember(label: "LicenseModel", required: false, type: .string), - AWSShapeMember(label: "StorageType", required: false, type: .string), - AWSShapeMember(label: "TdeCredentialArn", required: false, type: .string), - AWSShapeMember(label: "RestoreTime", required: false, type: .timestamp), + AWSShapeMember(label: "ProcessorFeatures", required: false, type: .structure), AWSShapeMember(label: "Iops", required: false, type: .integer), AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), - AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), AWSShapeMember(label: "TargetDBInstanceIdentifier", required: true, type: .string), AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), - AWSShapeMember(label: "OptionGroupName", required: false, type: .string), - AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), + AWSShapeMember(label: "UseDefaultProcessorFeatures", required: false, type: .boolean), AWSShapeMember(label: "CopyTagsToSnapshot", required: false, type: .boolean), - AWSShapeMember(label: "Engine", required: false, type: .string), AWSShapeMember(label: "DomainIAMRoleName", required: false, type: .string), AWSShapeMember(label: "UseLatestRestorableTime", required: false, type: .boolean), + AWSShapeMember(label: "DBInstanceClass", required: false, type: .string), + AWSShapeMember(label: "Domain", required: false, type: .string), AWSShapeMember(label: "SourceDBInstanceIdentifier", required: true, type: .string), - AWSShapeMember(label: "DBInstanceClass", required: false, type: .string) + AWSShapeMember(label: "MultiAZ", required: false, type: .boolean), + AWSShapeMember(label: "RestoreTime", required: false, type: .timestamp), + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "LicenseModel", required: false, type: .string), + AWSShapeMember(label: "StorageType", required: false, type: .string), + AWSShapeMember(label: "TdeCredentialArn", required: false, type: .string), + AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), + AWSShapeMember(label: "EnableCloudwatchLogsExports", required: false, type: .list), + AWSShapeMember(label: "OptionGroupName", required: false, type: .string), + AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), + AWSShapeMember(label: "Engine", required: false, type: .string), + AWSShapeMember(label: "Port", required: false, type: .integer) ] - /// Specify the Active Directory Domain to restore the instance in. - public let domain: String? - /// The port number on which the database accepts connections. Constraints: Value must be 1150-65535 Default: The same port as the original DB instance. - public let port: Int32? /// The database name for the restored DB instance. This parameter is not used for the MySQL or MariaDB engines. public let dBName: String? - /// 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. - public let multiAZ: Bool? /// The password for the given ARN from the key store in order to access the device. public let tdeCredentialPassword: String? - public let tags: TagList? - /// License model information for the restored DB instance. Default: Same as source. Valid values: license-included | bring-your-own-license | general-public-license - public let licenseModel: String? - /// 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 - public let storageType: String? - /// The ARN from the key store with which to associate the instance for TDE encryption. - public let tdeCredentialArn: String? - /// 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 - public let restoreTime: TimeStamp? + /// The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. + public let processorFeatures: ProcessorFeatureList? /// 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. public let iops: Int32? /// 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 public let availabilityZone: String? - /// 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 is 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 is private. - public let publiclyAccessible: Bool? /// Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. public let autoMinorVersionUpgrade: Bool? /// 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 public let targetDBInstanceIdentifier: String - /// 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 + /// 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 public let enableIAMDatabaseAuthentication: Bool? - /// 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 - public let optionGroupName: String? - /// The DB subnet group name to use for the new instance. Constraints: If supplied, must match the name of an existing DBSubnetGroup. Example: mySubnetgroup - public let dBSubnetGroupName: String? + /// A value that specifies that the DB instance class of the DB instance uses its default processor features. + public let useDefaultProcessorFeatures: Bool? /// True to copy all tags from the restored DB instance to snapshots of the DB instance, and otherwise false. The default is false. public let copyTagsToSnapshot: Bool? - /// 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: aurora aurora-postgresql mariadb mysql oracle-ee oracle-se2 oracle-se1 oracle-se postgres sqlserver-ee sqlserver-se sqlserver-ex sqlserver-web - public let engine: String? /// Specify the name of the IAM role to be used when making API calls to the Directory Service. public let domainIAMRoleName: String? /// 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. public let useLatestRestorableTime: Bool? - /// The identifier of the source DB instance from which to restore. Constraints: Must match the identifier of an existing DBInstance. - public let sourceDBInstanceIdentifier: String /// 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. public let dBInstanceClass: String? + /// Specify the Active Directory Domain to restore the instance in. + public let domain: String? + /// The identifier of the source DB instance from which to restore. Constraints: Must match the identifier of an existing DB instance. + public let sourceDBInstanceIdentifier: String + /// 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. + public let multiAZ: Bool? + /// 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 + public let restoreTime: TimeStamp? + public let tags: TagList? + /// License model information for the restored DB instance. Default: Same as source. Valid values: license-included | bring-your-own-license | general-public-license + public let licenseModel: String? + /// 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 + public let storageType: String? + /// The ARN from the key store with which to associate the instance for TDE encryption. + public let tdeCredentialArn: String? + /// 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 is 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 is private. + public let publiclyAccessible: Bool? + /// The list of logs that the restored DB instance is to export to CloudWatch Logs. + public let enableCloudwatchLogsExports: [String]? + /// 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 + public let optionGroupName: String? + /// The DB subnet group name to use for the new instance. Constraints: If supplied, must match the name of an existing DBSubnetGroup. Example: mySubnetgroup + public let dBSubnetGroupName: String? + /// 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 + public let engine: String? + /// The port number on which the database accepts connections. Constraints: Value must be 1150-65535 Default: The same port as the original DB instance. + public let port: Int32? - public init(domain: String? = nil, port: Int32? = nil, dBName: String? = nil, multiAZ: Bool? = nil, tdeCredentialPassword: String? = nil, tags: TagList? = nil, licenseModel: String? = nil, storageType: String? = nil, tdeCredentialArn: String? = nil, restoreTime: TimeStamp? = nil, iops: Int32? = nil, availabilityZone: String? = nil, publiclyAccessible: Bool? = nil, autoMinorVersionUpgrade: Bool? = nil, targetDBInstanceIdentifier: String, enableIAMDatabaseAuthentication: Bool? = nil, optionGroupName: String? = nil, dBSubnetGroupName: String? = nil, copyTagsToSnapshot: Bool? = nil, engine: String? = nil, domainIAMRoleName: String? = nil, useLatestRestorableTime: Bool? = nil, sourceDBInstanceIdentifier: String, dBInstanceClass: String? = nil) { + public init(dBName: String? = nil, tdeCredentialPassword: String? = nil, processorFeatures: ProcessorFeatureList? = nil, iops: Int32? = nil, availabilityZone: String? = nil, autoMinorVersionUpgrade: Bool? = nil, targetDBInstanceIdentifier: String, enableIAMDatabaseAuthentication: Bool? = nil, useDefaultProcessorFeatures: Bool? = nil, copyTagsToSnapshot: Bool? = nil, domainIAMRoleName: String? = nil, useLatestRestorableTime: Bool? = nil, dBInstanceClass: String? = nil, domain: String? = nil, sourceDBInstanceIdentifier: String, multiAZ: Bool? = nil, restoreTime: TimeStamp? = nil, tags: TagList? = nil, licenseModel: String? = nil, storageType: String? = nil, tdeCredentialArn: String? = nil, publiclyAccessible: Bool? = nil, enableCloudwatchLogsExports: [String]? = nil, optionGroupName: String? = nil, dBSubnetGroupName: String? = nil, engine: String? = nil, port: Int32? = nil) { + self.dBName = dBName + self.tdeCredentialPassword = tdeCredentialPassword + self.processorFeatures = processorFeatures + self.iops = iops + self.availabilityZone = availabilityZone + self.autoMinorVersionUpgrade = autoMinorVersionUpgrade + self.targetDBInstanceIdentifier = targetDBInstanceIdentifier + self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication + self.useDefaultProcessorFeatures = useDefaultProcessorFeatures + self.copyTagsToSnapshot = copyTagsToSnapshot + self.domainIAMRoleName = domainIAMRoleName + self.useLatestRestorableTime = useLatestRestorableTime + self.dBInstanceClass = dBInstanceClass self.domain = domain - self.port = port - self.dBName = dBName + self.sourceDBInstanceIdentifier = sourceDBInstanceIdentifier self.multiAZ = multiAZ - self.tdeCredentialPassword = tdeCredentialPassword + self.restoreTime = restoreTime self.tags = tags self.licenseModel = licenseModel self.storageType = storageType self.tdeCredentialArn = tdeCredentialArn - self.restoreTime = restoreTime - self.iops = iops - self.availabilityZone = availabilityZone self.publiclyAccessible = publiclyAccessible - self.autoMinorVersionUpgrade = autoMinorVersionUpgrade - self.targetDBInstanceIdentifier = targetDBInstanceIdentifier - self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication + self.enableCloudwatchLogsExports = enableCloudwatchLogsExports self.optionGroupName = optionGroupName self.dBSubnetGroupName = dBSubnetGroupName - self.copyTagsToSnapshot = copyTagsToSnapshot self.engine = engine - self.domainIAMRoleName = domainIAMRoleName - self.useLatestRestorableTime = useLatestRestorableTime - self.sourceDBInstanceIdentifier = sourceDBInstanceIdentifier - self.dBInstanceClass = dBInstanceClass + self.port = port } private enum CodingKeys: String, CodingKey { - case domain = "Domain" - case port = "Port" case dBName = "DBName" - case multiAZ = "MultiAZ" case tdeCredentialPassword = "TdeCredentialPassword" - case tags = "Tags" - case licenseModel = "LicenseModel" - case storageType = "StorageType" - case tdeCredentialArn = "TdeCredentialArn" - case restoreTime = "RestoreTime" + case processorFeatures = "ProcessorFeatures" case iops = "Iops" case availabilityZone = "AvailabilityZone" - case publiclyAccessible = "PubliclyAccessible" case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" case targetDBInstanceIdentifier = "TargetDBInstanceIdentifier" case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" - case optionGroupName = "OptionGroupName" - case dBSubnetGroupName = "DBSubnetGroupName" + case useDefaultProcessorFeatures = "UseDefaultProcessorFeatures" case copyTagsToSnapshot = "CopyTagsToSnapshot" - case engine = "Engine" case domainIAMRoleName = "DomainIAMRoleName" case useLatestRestorableTime = "UseLatestRestorableTime" - case sourceDBInstanceIdentifier = "SourceDBInstanceIdentifier" case dBInstanceClass = "DBInstanceClass" + case domain = "Domain" + case sourceDBInstanceIdentifier = "SourceDBInstanceIdentifier" + case multiAZ = "MultiAZ" + case restoreTime = "RestoreTime" + case tags = "Tags" + case licenseModel = "LicenseModel" + case storageType = "StorageType" + case tdeCredentialArn = "TdeCredentialArn" + case publiclyAccessible = "PubliclyAccessible" + case enableCloudwatchLogsExports = "EnableCloudwatchLogsExports" + case optionGroupName = "OptionGroupName" + case dBSubnetGroupName = "DBSubnetGroupName" + case engine = "Engine" + case port = "Port" } } @@ -3239,21 +3464,6 @@ extension Rds { } } - public struct StopDBInstanceResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBInstance", required: false, type: .structure) - ] - public let dBInstance: DBInstance? - - public init(dBInstance: DBInstance? = nil) { - self.dBInstance = dBInstance - } - - private enum CodingKeys: String, CodingKey { - case dBInstance = "DBInstance" - } - } - public struct ReservedDBInstance: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RecurringCharges", required: false, type: .structure), @@ -3473,32 +3683,6 @@ extension Rds { } } - public struct SourceRegion: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Status", required: false, type: .string), - AWSShapeMember(label: "Endpoint", required: false, type: .string), - AWSShapeMember(label: "RegionName", required: false, type: .string) - ] - /// The status of the source AWS Region. - public let status: String? - /// The endpoint for the source AWS Region endpoint. - public let endpoint: String? - /// The name of the source AWS Region. - public let regionName: String? - - public init(status: String? = nil, endpoint: String? = nil, regionName: String? = nil) { - self.status = status - self.endpoint = endpoint - self.regionName = regionName - } - - private enum CodingKeys: String, CodingKey { - case status = "Status" - case endpoint = "Endpoint" - case regionName = "RegionName" - } - } - public struct Range: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Step", required: false, type: .integer), @@ -3525,6 +3709,32 @@ extension Rds { } } + public struct SourceRegion: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "Endpoint", required: false, type: .string), + AWSShapeMember(label: "RegionName", required: false, type: .string) + ] + /// The status of the source AWS Region. + public let status: String? + /// The endpoint for the source AWS Region endpoint. + public let endpoint: String? + /// The name of the source AWS Region. + public let regionName: String? + + public init(status: String? = nil, endpoint: String? = nil, regionName: String? = nil) { + self.status = status + self.endpoint = endpoint + self.regionName = regionName + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case endpoint = "Endpoint" + case regionName = "RegionName" + } + } + public struct CreateDBSnapshotResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBSnapshot", required: false, type: .structure) @@ -3572,71 +3782,86 @@ extension Rds { public struct ModifyDBClusterMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), + AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), + AWSShapeMember(label: "ApplyImmediately", required: false, type: .boolean), + AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), + AWSShapeMember(label: "NewDBClusterIdentifier", required: false, type: .string), AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), + AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), + AWSShapeMember(label: "CloudwatchLogsExportConfiguration", required: false, type: .structure), AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string), AWSShapeMember(label: "OptionGroupName", required: false, type: .string), AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), - AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), + AWSShapeMember(label: "EngineVersion", required: false, type: .string), AWSShapeMember(label: "DBClusterParameterGroupName", required: false, type: .string), - AWSShapeMember(label: "ApplyImmediately", required: false, type: .boolean), - AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), - AWSShapeMember(label: "NewDBClusterIdentifier", required: false, type: .string), + AWSShapeMember(label: "BacktrackWindow", required: false, type: .long), AWSShapeMember(label: "Port", required: false, type: .integer) ] - /// 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. - public let preferredBackupWindow: String? + /// A list of VPC security groups that the DB cluster will belong to. + public let vpcSecurityGroupIds: VpcSecurityGroupIdList? + /// 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 + public let applyImmediately: Bool? + /// 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 + public let backupRetentionPeriod: Int32? + /// 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 + public let newDBClusterIdentifier: String? /// 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. public let masterUserPassword: String? + /// 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. + public let preferredBackupWindow: String? + /// The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB cluster. + public let cloudwatchLogsExportConfiguration: CloudwatchLogsExportConfiguration? /// The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive. Constraints: Must match the identifier of an existing DBCluster. public let dBClusterIdentifier: String - /// A value that indicates that the DB cluster should be associated with the specified option group. Changing this parameter does not result in an outage except in the following case, and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted. Permanent options 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. + /// 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. public let optionGroupName: String? /// True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false. Default: false public let enableIAMDatabaseAuthentication: Bool? /// 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 RDS User Guide. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute window. public let preferredMaintenanceWindow: String? - /// A list of VPC security groups that the DB cluster will belong to. - public let vpcSecurityGroupIds: VpcSecurityGroupIdList? + /// 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. + public let engineVersion: String? /// The name of the DB cluster parameter group to use for the DB cluster. public let dBClusterParameterGroupName: String? - /// 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 - public let applyImmediately: Bool? - /// 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 - public let backupRetentionPeriod: Int32? - /// 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 - public let newDBClusterIdentifier: String? + /// 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). + public let backtrackWindow: Int64? /// 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. public let port: Int32? - public init(preferredBackupWindow: String? = nil, masterUserPassword: String? = nil, dBClusterIdentifier: String, optionGroupName: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, preferredMaintenanceWindow: String? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, dBClusterParameterGroupName: String? = nil, applyImmediately: Bool? = nil, backupRetentionPeriod: Int32? = nil, newDBClusterIdentifier: String? = nil, port: Int32? = nil) { - self.preferredBackupWindow = preferredBackupWindow + public init(vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, applyImmediately: Bool? = nil, backupRetentionPeriod: Int32? = nil, newDBClusterIdentifier: String? = nil, masterUserPassword: String? = nil, preferredBackupWindow: String? = nil, cloudwatchLogsExportConfiguration: CloudwatchLogsExportConfiguration? = nil, dBClusterIdentifier: String, optionGroupName: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, preferredMaintenanceWindow: String? = nil, engineVersion: String? = nil, dBClusterParameterGroupName: String? = nil, backtrackWindow: Int64? = nil, port: Int32? = nil) { + self.vpcSecurityGroupIds = vpcSecurityGroupIds + self.applyImmediately = applyImmediately + self.backupRetentionPeriod = backupRetentionPeriod + self.newDBClusterIdentifier = newDBClusterIdentifier self.masterUserPassword = masterUserPassword + self.preferredBackupWindow = preferredBackupWindow + self.cloudwatchLogsExportConfiguration = cloudwatchLogsExportConfiguration self.dBClusterIdentifier = dBClusterIdentifier self.optionGroupName = optionGroupName self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication self.preferredMaintenanceWindow = preferredMaintenanceWindow - self.vpcSecurityGroupIds = vpcSecurityGroupIds + self.engineVersion = engineVersion self.dBClusterParameterGroupName = dBClusterParameterGroupName - self.applyImmediately = applyImmediately - self.backupRetentionPeriod = backupRetentionPeriod - self.newDBClusterIdentifier = newDBClusterIdentifier + self.backtrackWindow = backtrackWindow self.port = port } private enum CodingKeys: String, CodingKey { - case preferredBackupWindow = "PreferredBackupWindow" + case vpcSecurityGroupIds = "VpcSecurityGroupIds" + case applyImmediately = "ApplyImmediately" + case backupRetentionPeriod = "BackupRetentionPeriod" + case newDBClusterIdentifier = "NewDBClusterIdentifier" case masterUserPassword = "MasterUserPassword" + case preferredBackupWindow = "PreferredBackupWindow" + case cloudwatchLogsExportConfiguration = "CloudwatchLogsExportConfiguration" case dBClusterIdentifier = "DBClusterIdentifier" case optionGroupName = "OptionGroupName" case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" case preferredMaintenanceWindow = "PreferredMaintenanceWindow" - case vpcSecurityGroupIds = "VpcSecurityGroupIds" + case engineVersion = "EngineVersion" case dBClusterParameterGroupName = "DBClusterParameterGroupName" - case applyImmediately = "ApplyImmediately" - case backupRetentionPeriod = "BackupRetentionPeriod" - case newDBClusterIdentifier = "NewDBClusterIdentifier" + case backtrackWindow = "BacktrackWindow" case port = "Port" } } @@ -3858,7 +4083,7 @@ extension Rds { public let sourceDBClusterSnapshotIdentifier: String /// True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. The default is false. public let copyTags: Bool? - /// 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 RDS encrypts the target DB cluster snapshot using the specified KMS encryption key. If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot. If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId. To copy an encrypted DB cluster snapshot to another 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. + /// 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. public let kmsKeyId: String? public let tags: TagList? /// 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 @@ -3887,17 +4112,22 @@ extension Rds { public struct ValidDBInstanceModificationsMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Storage", required: false, type: .structure) + AWSShapeMember(label: "Storage", required: false, type: .structure), + AWSShapeMember(label: "ValidProcessorFeatures", required: false, type: .structure) ] /// Valid storage options for your DB instance. public let storage: ValidStorageOptionsList? + /// Valid processor features for your DB instance. + public let validProcessorFeatures: AvailableProcessorFeatureList? - public init(storage: ValidStorageOptionsList? = nil) { + public init(storage: ValidStorageOptionsList? = nil, validProcessorFeatures: AvailableProcessorFeatureList? = nil) { self.storage = storage + self.validProcessorFeatures = validProcessorFeatures } private enum CodingKeys: String, CodingKey { case storage = "Storage" + case validProcessorFeatures = "ValidProcessorFeatures" } } @@ -3962,6 +4192,7 @@ extension Rds { AWSShapeMember(label: "AvailabilityZones", required: false, type: .structure), AWSShapeMember(label: "Tags", required: false, type: .structure), AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), + AWSShapeMember(label: "EnableCloudwatchLogsExports", required: false, type: .list), AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string), AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), AWSShapeMember(label: "OptionGroupName", required: false, type: .string), @@ -3970,6 +4201,7 @@ extension Rds { AWSShapeMember(label: "SnapshotIdentifier", required: true, type: .string), AWSShapeMember(label: "Engine", required: true, type: .string), AWSShapeMember(label: "DatabaseName", required: false, type: .string), + AWSShapeMember(label: "BacktrackWindow", required: false, type: .long), AWSShapeMember(label: "Port", required: false, type: .integer), AWSShapeMember(label: "KmsKeyId", required: false, type: .string) ] @@ -3979,7 +4211,9 @@ extension Rds { public let tags: TagList? /// A list of VPC security groups that the new DB cluster will belong to. public let vpcSecurityGroupIds: VpcSecurityGroupIdList? - /// 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 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 + /// The list of logs that the restored DB cluster is to export to CloudWatch Logs. + public let enableCloudwatchLogsExports: [String]? + /// 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 public let dBClusterIdentifier: String /// 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 public let dBSubnetGroupName: String? @@ -3995,15 +4229,18 @@ extension Rds { public let engine: String /// The database name for the restored DB cluster. public let databaseName: String? + /// 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). + public let backtrackWindow: Int64? /// 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. public let port: Int32? /// 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. public let kmsKeyId: String? - public init(availabilityZones: AvailabilityZones? = nil, tags: TagList? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, dBClusterIdentifier: String, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, engineVersion: String? = nil, snapshotIdentifier: String, engine: String, databaseName: String? = nil, port: Int32? = nil, kmsKeyId: String? = nil) { + public init(availabilityZones: AvailabilityZones? = nil, tags: TagList? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, enableCloudwatchLogsExports: [String]? = nil, dBClusterIdentifier: String, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, engineVersion: String? = nil, snapshotIdentifier: String, engine: String, databaseName: String? = nil, backtrackWindow: Int64? = nil, port: Int32? = nil, kmsKeyId: String? = nil) { self.availabilityZones = availabilityZones self.tags = tags self.vpcSecurityGroupIds = vpcSecurityGroupIds + self.enableCloudwatchLogsExports = enableCloudwatchLogsExports self.dBClusterIdentifier = dBClusterIdentifier self.dBSubnetGroupName = dBSubnetGroupName self.optionGroupName = optionGroupName @@ -4012,6 +4249,7 @@ extension Rds { self.snapshotIdentifier = snapshotIdentifier self.engine = engine self.databaseName = databaseName + self.backtrackWindow = backtrackWindow self.port = port self.kmsKeyId = kmsKeyId } @@ -4020,6 +4258,7 @@ extension Rds { case availabilityZones = "AvailabilityZones" case tags = "Tags" case vpcSecurityGroupIds = "VpcSecurityGroupIds" + case enableCloudwatchLogsExports = "EnableCloudwatchLogsExports" case dBClusterIdentifier = "DBClusterIdentifier" case dBSubnetGroupName = "DBSubnetGroupName" case optionGroupName = "OptionGroupName" @@ -4028,6 +4267,7 @@ extension Rds { case snapshotIdentifier = "SnapshotIdentifier" case engine = "Engine" case databaseName = "DatabaseName" + case backtrackWindow = "BacktrackWindow" case port = "Port" case kmsKeyId = "KmsKeyId" } @@ -4085,9 +4325,24 @@ extension Rds { } } + public struct ModifyDBSnapshotResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBSnapshot", required: false, type: .structure) + ] + public let dBSnapshot: DBSnapshot? + + public init(dBSnapshot: DBSnapshot? = nil) { + self.dBSnapshot = dBSnapshot + } + + private enum CodingKeys: String, CodingKey { + case dBSnapshot = "DBSnapshot" + } + } + public struct PendingModifiedValues: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBInstanceClass", required: false, type: .string), + AWSShapeMember(label: "DBInstanceIdentifier", required: false, type: .string), AWSShapeMember(label: "MultiAZ", required: false, type: .boolean), AWSShapeMember(label: "LicenseModel", required: false, type: .string), AWSShapeMember(label: "StorageType", required: false, type: .string), @@ -4095,14 +4350,16 @@ extension Rds { AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), AWSShapeMember(label: "Iops", required: false, type: .integer), + AWSShapeMember(label: "ProcessorFeatures", required: false, type: .structure), AWSShapeMember(label: "CACertificateIdentifier", required: false, type: .string), AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), + AWSShapeMember(label: "PendingCloudwatchLogsExports", required: false, type: .structure), AWSShapeMember(label: "EngineVersion", required: false, type: .string), AWSShapeMember(label: "Port", required: false, type: .integer), - AWSShapeMember(label: "DBInstanceIdentifier", required: false, type: .string) + AWSShapeMember(label: "DBInstanceClass", required: false, type: .string) ] - /// Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied. - public let dBInstanceClass: String? + /// Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied. + public let dBInstanceIdentifier: String? /// Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment. public let multiAZ: Bool? /// The license model for the DB instance. Valid values: license-included | bring-your-own-license | general-public-license @@ -4117,19 +4374,22 @@ extension Rds { public let backupRetentionPeriod: Int32? /// Specifies the new Provisioned IOPS value for the DB instance that will be applied or is currently being applied. public let iops: Int32? + /// The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. + public let processorFeatures: ProcessorFeatureList? /// Specifies the identifier of the CA certificate for the DB instance. public let cACertificateIdentifier: String? /// The new DB subnet group for the DB instance. public let dBSubnetGroupName: String? + public let pendingCloudwatchLogsExports: PendingCloudwatchLogsExports? /// Indicates the database engine version. public let engineVersion: String? /// Specifies the pending port for the DB instance. public let port: Int32? - /// Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied. - public let dBInstanceIdentifier: String? + /// Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied. + public let dBInstanceClass: String? - public init(dBInstanceClass: String? = nil, multiAZ: Bool? = nil, licenseModel: String? = nil, storageType: String? = nil, allocatedStorage: Int32? = nil, masterUserPassword: String? = nil, backupRetentionPeriod: Int32? = nil, iops: Int32? = nil, cACertificateIdentifier: String? = nil, dBSubnetGroupName: String? = nil, engineVersion: String? = nil, port: Int32? = nil, dBInstanceIdentifier: String? = nil) { - self.dBInstanceClass = dBInstanceClass + public init(dBInstanceIdentifier: String? = nil, multiAZ: Bool? = nil, licenseModel: String? = nil, storageType: String? = nil, allocatedStorage: Int32? = nil, masterUserPassword: String? = nil, backupRetentionPeriod: Int32? = nil, iops: Int32? = nil, processorFeatures: ProcessorFeatureList? = nil, cACertificateIdentifier: String? = nil, dBSubnetGroupName: String? = nil, pendingCloudwatchLogsExports: PendingCloudwatchLogsExports? = nil, engineVersion: String? = nil, port: Int32? = nil, dBInstanceClass: String? = nil) { + self.dBInstanceIdentifier = dBInstanceIdentifier self.multiAZ = multiAZ self.licenseModel = licenseModel self.storageType = storageType @@ -4137,15 +4397,17 @@ extension Rds { self.masterUserPassword = masterUserPassword self.backupRetentionPeriod = backupRetentionPeriod self.iops = iops + self.processorFeatures = processorFeatures self.cACertificateIdentifier = cACertificateIdentifier self.dBSubnetGroupName = dBSubnetGroupName + self.pendingCloudwatchLogsExports = pendingCloudwatchLogsExports self.engineVersion = engineVersion self.port = port - self.dBInstanceIdentifier = dBInstanceIdentifier + self.dBInstanceClass = dBInstanceClass } private enum CodingKeys: String, CodingKey { - case dBInstanceClass = "DBInstanceClass" + case dBInstanceIdentifier = "DBInstanceIdentifier" case multiAZ = "MultiAZ" case licenseModel = "LicenseModel" case storageType = "StorageType" @@ -4153,26 +4415,13 @@ extension Rds { case masterUserPassword = "MasterUserPassword" case backupRetentionPeriod = "BackupRetentionPeriod" case iops = "Iops" + case processorFeatures = "ProcessorFeatures" case cACertificateIdentifier = "CACertificateIdentifier" case dBSubnetGroupName = "DBSubnetGroupName" + case pendingCloudwatchLogsExports = "PendingCloudwatchLogsExports" case engineVersion = "EngineVersion" case port = "Port" - case dBInstanceIdentifier = "DBInstanceIdentifier" - } - } - - public struct ModifyDBSnapshotResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBSnapshot", required: false, type: .structure) - ] - public let dBSnapshot: DBSnapshot? - - public init(dBSnapshot: DBSnapshot? = nil) { - self.dBSnapshot = dBSnapshot - } - - private enum CodingKeys: String, CodingKey { - case dBSnapshot = "DBSnapshot" + case dBInstanceClass = "DBInstanceClass" } } @@ -4198,19 +4447,22 @@ extension Rds { AWSShapeMember(label: "TdeCredentialPassword", required: false, type: .string), AWSShapeMember(label: "DBPortNumber", required: false, type: .integer), AWSShapeMember(label: "EnablePerformanceInsights", required: false, type: .boolean), + AWSShapeMember(label: "PerformanceInsightsRetentionPeriod", required: false, type: .integer), + AWSShapeMember(label: "ProcessorFeatures", required: false, type: .structure), + AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), AWSShapeMember(label: "ApplyImmediately", required: false, type: .boolean), - AWSShapeMember(label: "Iops", required: false, type: .integer), AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), AWSShapeMember(label: "DBSecurityGroups", required: false, type: .structure), AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), - AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), AWSShapeMember(label: "CACertificateIdentifier", required: false, type: .string), AWSShapeMember(label: "PerformanceInsightsKMSKeyId", required: false, type: .string), AWSShapeMember(label: "EngineVersion", required: false, type: .string), AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), + AWSShapeMember(label: "UseDefaultProcessorFeatures", required: false, type: .boolean), AWSShapeMember(label: "PromotionTier", required: false, type: .integer), - AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), AWSShapeMember(label: "CopyTagsToSnapshot", required: false, type: .boolean), + AWSShapeMember(label: "Iops", required: false, type: .integer), + AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), AWSShapeMember(label: "DomainIAMRoleName", required: false, type: .string), AWSShapeMember(label: "Domain", required: false, type: .string), AWSShapeMember(label: "DBInstanceClass", required: false, type: .string), @@ -4223,6 +4475,7 @@ extension Rds { AWSShapeMember(label: "DBParameterGroupName", required: false, type: .string), AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), + AWSShapeMember(label: "CloudwatchLogsExportConfiguration", required: false, type: .structure), AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), AWSShapeMember(label: "OptionGroupName", required: false, type: .string), AWSShapeMember(label: "MonitoringRoleArn", required: false, type: .string), @@ -4230,67 +4483,75 @@ extension Rds { AWSShapeMember(label: "NewDBInstanceIdentifier", required: false, type: .string), AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string) ] - /// 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. + /// 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. public let allowMajorVersionUpgrade: Bool? /// The password for the given ARN from the key store in order to access the device. public let tdeCredentialPassword: String? /// 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 public let dBPortNumber: Int32? - /// True to enable Performance Insights for the DB instance, and otherwise false. + /// 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. public let enablePerformanceInsights: Bool? + /// The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years). + public let performanceInsightsRetentionPeriod: Int32? + /// The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. + public let processorFeatures: ProcessorFeatureList? + /// 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 + public let backupRetentionPeriod: Int32? /// 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 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 public let applyImmediately: Bool? - /// 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 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. - public let iops: Int32? - /// The new password for the master user. The password can include 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. 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. + /// 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. public let masterUserPassword: String? - /// 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: If supplied, must match existing DBSecurityGroups. + /// 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. public let dBSecurityGroups: DBSecurityGroupNameList? - /// Indicates that minor version upgrades are 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. + /// 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. public let autoMinorVersionUpgrade: Bool? - /// 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 - public let backupRetentionPeriod: Int32? /// Indicates the certificate that needs to be associated with the instance. public let cACertificateIdentifier: String? /// 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. public let performanceInsightsKMSKeyId: String? - /// 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 a list of valid engine versions, see CreateDBInstance. + /// 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. public let engineVersion: String? /// 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 public let enableIAMDatabaseAuthentication: Bool? + /// A value that specifies that the DB instance class of the DB instance uses its default processor features. + public let useDefaultProcessorFeatures: Bool? /// A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster. Default: 1 Valid Values: 0 - 15 public let promotionTier: Int32? - /// The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter does not result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied. Default: Uses existing setting Format: ddd:hh24:mi-ddd:hh24:mi Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun Constraints: Must be at least 30 minutes - public let preferredMaintenanceWindow: String? /// True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false. public let copyTagsToSnapshot: Bool? + /// 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 + public let iops: Int32? + /// 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 + public let preferredMaintenanceWindow: String? /// The name of the IAM role to use when making API calls to the Directory Service. public let domainIAMRoleName: String? /// 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. public let domain: String? /// 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 public let dBInstanceClass: String? - /// 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. + /// 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. public let multiAZ: Bool? - /// The new storage capacity of the RDS instance. Changing this setting does not result in an outage and the change is applied during the next maintenance window unless ApplyImmediately is set to true for this request. MySQL Default: Uses existing setting Valid Values: 5-6144 Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. Type: Integer MariaDB Default: Uses existing setting Valid Values: 5-6144 Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. Type: Integer PostgreSQL Default: Uses existing setting Valid Values: 5-6144 Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. Type: Integer Oracle Default: Uses existing setting Valid Values: 10-6144 Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. SQL Server Cannot be modified. If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance 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. + /// 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. public let allocatedStorage: Int32? /// 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. public let vpcSecurityGroupIds: VpcSecurityGroupIdList? - /// 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 + /// 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 public let storageType: String? /// The license model for the DB instance. Valid values: license-included | bring-your-own-license | general-public-license public let licenseModel: String? /// The ARN from the key store with which to associate the instance for TDE encryption. public let tdeCredentialArn: String? - /// 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. + /// 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. public let dBParameterGroupName: String? /// 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 public let publiclyAccessible: Bool? - /// The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod parameter. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. 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 + /// 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 public let preferredBackupWindow: String? + /// The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance. + public let cloudwatchLogsExportConfiguration: CloudwatchLogsExportConfiguration? /// The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance is not in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see Updating the VPC for a DB Instance. Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify true for the ApplyImmediately parameter. Constraints: If supplied, must match the name of an existing DBSubnetGroup. Example: mySubnetGroup public let dBSubnetGroupName: String? - /// 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, 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 + /// 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 public let optionGroupName: String? /// 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. If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value. public let monitoringRoleArn: String? @@ -4301,24 +4562,27 @@ extension Rds { /// The DB instance identifier. This value is stored as a lowercase string. Constraints: Must match the identifier of an existing DBInstance. public let dBInstanceIdentifier: String - public init(allowMajorVersionUpgrade: Bool? = nil, tdeCredentialPassword: String? = nil, dBPortNumber: Int32? = nil, enablePerformanceInsights: Bool? = nil, applyImmediately: Bool? = nil, iops: Int32? = nil, masterUserPassword: String? = nil, dBSecurityGroups: DBSecurityGroupNameList? = nil, autoMinorVersionUpgrade: Bool? = nil, backupRetentionPeriod: Int32? = nil, cACertificateIdentifier: String? = nil, performanceInsightsKMSKeyId: String? = nil, engineVersion: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, promotionTier: Int32? = nil, preferredMaintenanceWindow: String? = nil, copyTagsToSnapshot: Bool? = nil, domainIAMRoleName: String? = nil, domain: String? = nil, dBInstanceClass: String? = nil, multiAZ: Bool? = nil, allocatedStorage: Int32? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, storageType: String? = nil, licenseModel: String? = nil, tdeCredentialArn: String? = nil, dBParameterGroupName: String? = nil, publiclyAccessible: Bool? = nil, preferredBackupWindow: String? = nil, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, monitoringRoleArn: String? = nil, monitoringInterval: Int32? = nil, newDBInstanceIdentifier: String? = nil, dBInstanceIdentifier: String) { + public init(allowMajorVersionUpgrade: Bool? = nil, tdeCredentialPassword: String? = nil, dBPortNumber: Int32? = nil, enablePerformanceInsights: Bool? = nil, performanceInsightsRetentionPeriod: Int32? = nil, processorFeatures: ProcessorFeatureList? = nil, backupRetentionPeriod: Int32? = nil, applyImmediately: Bool? = nil, masterUserPassword: String? = nil, dBSecurityGroups: DBSecurityGroupNameList? = nil, autoMinorVersionUpgrade: Bool? = nil, cACertificateIdentifier: String? = nil, performanceInsightsKMSKeyId: String? = nil, engineVersion: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, useDefaultProcessorFeatures: Bool? = nil, promotionTier: Int32? = nil, copyTagsToSnapshot: Bool? = nil, iops: Int32? = nil, preferredMaintenanceWindow: String? = nil, domainIAMRoleName: String? = nil, domain: String? = nil, dBInstanceClass: String? = nil, multiAZ: Bool? = nil, allocatedStorage: Int32? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, storageType: String? = nil, licenseModel: String? = nil, tdeCredentialArn: String? = nil, dBParameterGroupName: String? = nil, publiclyAccessible: Bool? = nil, preferredBackupWindow: String? = nil, cloudwatchLogsExportConfiguration: CloudwatchLogsExportConfiguration? = nil, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, monitoringRoleArn: String? = nil, monitoringInterval: Int32? = nil, newDBInstanceIdentifier: String? = nil, dBInstanceIdentifier: String) { self.allowMajorVersionUpgrade = allowMajorVersionUpgrade self.tdeCredentialPassword = tdeCredentialPassword self.dBPortNumber = dBPortNumber self.enablePerformanceInsights = enablePerformanceInsights + self.performanceInsightsRetentionPeriod = performanceInsightsRetentionPeriod + self.processorFeatures = processorFeatures + self.backupRetentionPeriod = backupRetentionPeriod self.applyImmediately = applyImmediately - self.iops = iops self.masterUserPassword = masterUserPassword self.dBSecurityGroups = dBSecurityGroups self.autoMinorVersionUpgrade = autoMinorVersionUpgrade - self.backupRetentionPeriod = backupRetentionPeriod self.cACertificateIdentifier = cACertificateIdentifier self.performanceInsightsKMSKeyId = performanceInsightsKMSKeyId self.engineVersion = engineVersion self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication + self.useDefaultProcessorFeatures = useDefaultProcessorFeatures self.promotionTier = promotionTier - self.preferredMaintenanceWindow = preferredMaintenanceWindow self.copyTagsToSnapshot = copyTagsToSnapshot + self.iops = iops + self.preferredMaintenanceWindow = preferredMaintenanceWindow self.domainIAMRoleName = domainIAMRoleName self.domain = domain self.dBInstanceClass = dBInstanceClass @@ -4331,6 +4595,7 @@ extension Rds { self.dBParameterGroupName = dBParameterGroupName self.publiclyAccessible = publiclyAccessible self.preferredBackupWindow = preferredBackupWindow + self.cloudwatchLogsExportConfiguration = cloudwatchLogsExportConfiguration self.dBSubnetGroupName = dBSubnetGroupName self.optionGroupName = optionGroupName self.monitoringRoleArn = monitoringRoleArn @@ -4344,19 +4609,22 @@ extension Rds { case tdeCredentialPassword = "TdeCredentialPassword" case dBPortNumber = "DBPortNumber" case enablePerformanceInsights = "EnablePerformanceInsights" + case performanceInsightsRetentionPeriod = "PerformanceInsightsRetentionPeriod" + case processorFeatures = "ProcessorFeatures" + case backupRetentionPeriod = "BackupRetentionPeriod" case applyImmediately = "ApplyImmediately" - case iops = "Iops" case masterUserPassword = "MasterUserPassword" case dBSecurityGroups = "DBSecurityGroups" case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" - case backupRetentionPeriod = "BackupRetentionPeriod" case cACertificateIdentifier = "CACertificateIdentifier" case performanceInsightsKMSKeyId = "PerformanceInsightsKMSKeyId" case engineVersion = "EngineVersion" case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" + case useDefaultProcessorFeatures = "UseDefaultProcessorFeatures" case promotionTier = "PromotionTier" - case preferredMaintenanceWindow = "PreferredMaintenanceWindow" case copyTagsToSnapshot = "CopyTagsToSnapshot" + case iops = "Iops" + case preferredMaintenanceWindow = "PreferredMaintenanceWindow" case domainIAMRoleName = "DomainIAMRoleName" case domain = "Domain" case dBInstanceClass = "DBInstanceClass" @@ -4369,6 +4637,7 @@ extension Rds { case dBParameterGroupName = "DBParameterGroupName" case publiclyAccessible = "PubliclyAccessible" case preferredBackupWindow = "PreferredBackupWindow" + case cloudwatchLogsExportConfiguration = "CloudwatchLogsExportConfiguration" case dBSubnetGroupName = "DBSubnetGroupName" case optionGroupName = "OptionGroupName" case monitoringRoleArn = "MonitoringRoleArn" @@ -4439,6 +4708,21 @@ extension Rds { } } + public struct DBClusterBacktrackList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterBacktrack", required: false, type: .list) + ] + public let dBClusterBacktrack: [DBClusterBacktrack]? + + public init(dBClusterBacktrack: [DBClusterBacktrack]? = nil) { + self.dBClusterBacktrack = dBClusterBacktrack + } + + private enum CodingKeys: String, CodingKey { + case dBClusterBacktrack = "DBClusterBacktrack" + } + } + public struct DescribeDBSnapshotAttributesMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBSnapshotIdentifier", required: true, type: .string) @@ -4537,9 +4821,9 @@ extension Rds { AWSShapeMember(label: "Name", required: true, type: .string), AWSShapeMember(label: "Values", required: true, type: .structure) ] - /// This parameter is not currently supported. + /// The name of the filter. Filter names are case-sensitive. public let name: String - /// This parameter is not currently supported. + /// One or more filter values. Filter values are case-sensitive. public let values: FilterValueList public init(name: String, values: FilterValueList) { @@ -4588,18 +4872,21 @@ extension Rds { AWSShapeMember(label: "S3IngestionRoleArn", required: true, type: .string), AWSShapeMember(label: "DBName", required: false, type: .string), AWSShapeMember(label: "EnablePerformanceInsights", required: false, type: .boolean), + AWSShapeMember(label: "PerformanceInsightsRetentionPeriod", required: false, type: .integer), AWSShapeMember(label: "S3Prefix", required: false, type: .string), AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), - AWSShapeMember(label: "Iops", required: false, type: .integer), + AWSShapeMember(label: "ProcessorFeatures", required: false, type: .structure), + AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), - AWSShapeMember(label: "DBSecurityGroups", required: false, type: .structure), AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), - AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), + AWSShapeMember(label: "DBSecurityGroups", required: false, type: .structure), AWSShapeMember(label: "PerformanceInsightsKMSKeyId", required: false, type: .string), AWSShapeMember(label: "EngineVersion", required: false, type: .string), AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), - AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), + AWSShapeMember(label: "UseDefaultProcessorFeatures", required: false, type: .boolean), + AWSShapeMember(label: "Iops", required: false, type: .integer), AWSShapeMember(label: "CopyTagsToSnapshot", required: false, type: .boolean), + AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), AWSShapeMember(label: "DBInstanceClass", required: true, type: .string), AWSShapeMember(label: "KmsKeyId", required: false, type: .string), AWSShapeMember(label: "MultiAZ", required: false, type: .boolean), @@ -4613,6 +4900,7 @@ extension Rds { AWSShapeMember(label: "SourceEngineVersion", required: true, type: .string), AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), + AWSShapeMember(label: "EnableCloudwatchLogsExports", required: false, type: .list), AWSShapeMember(label: "S3BucketName", required: true, type: .string), AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), AWSShapeMember(label: "OptionGroupName", required: false, type: .string), @@ -4628,32 +4916,38 @@ extension Rds { public let s3IngestionRoleArn: String /// The name of the database to create when the DB instance is created. Follow the naming rules specified in CreateDBInstance. public let dBName: String? - /// True to enable Performance Insights for the DB instance, and otherwise false. + /// 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. public let enablePerformanceInsights: Bool? + /// The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years). + public let performanceInsightsRetentionPeriod: Int32? /// The prefix of your Amazon S3 bucket. public let s3Prefix: String? /// The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. For more information, see CreateDBInstance. public let backupRetentionPeriod: Int32? - /// 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. - public let iops: Int32? + /// The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. + public let processorFeatures: ProcessorFeatureList? + /// True to indicate that minor engine upgrades are applied automatically to the DB instance during the maintenance window, and otherwise false. Default: true + public let autoMinorVersionUpgrade: Bool? /// The password for the master user. The password can include any printable ASCII character except "/", """, or "@". Constraints: Must contain from 8 to 41 characters. public let masterUserPassword: String? - /// A list of DB security groups to associate with this DB instance. Default: The default DB security group for the database engine. - public let dBSecurityGroups: DBSecurityGroupNameList? /// The Availability Zone that the DB instance is created in. For information about 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. public let availabilityZone: String? - /// True to indicate that minor engine upgrades are applied automatically to the DB instance during the maintenance window, and otherwise false. Default: true - public let autoMinorVersionUpgrade: Bool? + /// A list of DB security groups to associate with this DB instance. Default: The default DB security group for the database engine. + public let dBSecurityGroups: DBSecurityGroupNameList? /// 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. public let performanceInsightsKMSKeyId: String? - /// The version number of the database engine to use. Choose the latest minor version of your database engine as specified in CreateDBInstance. + /// 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. public let engineVersion: String? /// True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false. Default: false public let enableIAMDatabaseAuthentication: Bool? - /// The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window. 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. - public let preferredMaintenanceWindow: String? + /// A value that specifies that the DB instance class of the DB instance uses its default processor features. + public let useDefaultProcessorFeatures: Bool? + /// 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. + public let iops: Int32? /// True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. Default: false. public let copyTagsToSnapshot: Bool? + /// The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window. 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. + public let preferredMaintenanceWindow: String? /// 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. public let dBInstanceClass: String /// 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. @@ -4680,6 +4974,8 @@ extension Rds { public let publiclyAccessible: Bool? /// The time range each day during which automated backups are created if automated backups are enabled. For more information, see The Backup Window. 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. public let preferredBackupWindow: String? + /// The list of logs that the restored DB instance is to export to CloudWatch Logs. + public let enableCloudwatchLogsExports: [String]? /// The name of your Amazon S3 bucket that contains your database backup file. public let s3BucketName: String /// A DB subnet group to associate with this DB instance. @@ -4701,22 +4997,25 @@ extension Rds { /// 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 public let dBInstanceIdentifier: String - public init(s3IngestionRoleArn: String, dBName: String? = nil, enablePerformanceInsights: Bool? = nil, s3Prefix: String? = nil, backupRetentionPeriod: Int32? = nil, iops: Int32? = nil, masterUserPassword: String? = nil, dBSecurityGroups: DBSecurityGroupNameList? = nil, availabilityZone: String? = nil, autoMinorVersionUpgrade: Bool? = nil, performanceInsightsKMSKeyId: String? = nil, engineVersion: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, preferredMaintenanceWindow: String? = nil, copyTagsToSnapshot: Bool? = nil, dBInstanceClass: String, kmsKeyId: String? = nil, multiAZ: Bool? = nil, tags: TagList? = nil, allocatedStorage: Int32? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, storageType: String? = nil, licenseModel: String? = nil, sourceEngine: String, dBParameterGroupName: String? = nil, sourceEngineVersion: String, publiclyAccessible: Bool? = nil, preferredBackupWindow: String? = nil, s3BucketName: String, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, masterUsername: String? = nil, monitoringRoleArn: String? = nil, engine: String, monitoringInterval: Int32? = nil, storageEncrypted: Bool? = nil, port: Int32? = nil, dBInstanceIdentifier: String) { + public init(s3IngestionRoleArn: String, dBName: String? = nil, enablePerformanceInsights: Bool? = nil, performanceInsightsRetentionPeriod: Int32? = nil, s3Prefix: String? = nil, backupRetentionPeriod: Int32? = nil, processorFeatures: ProcessorFeatureList? = nil, autoMinorVersionUpgrade: Bool? = nil, masterUserPassword: String? = nil, availabilityZone: String? = nil, dBSecurityGroups: DBSecurityGroupNameList? = nil, performanceInsightsKMSKeyId: String? = nil, engineVersion: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, useDefaultProcessorFeatures: Bool? = nil, iops: Int32? = nil, copyTagsToSnapshot: Bool? = nil, preferredMaintenanceWindow: String? = nil, dBInstanceClass: String, kmsKeyId: String? = nil, multiAZ: Bool? = nil, tags: TagList? = nil, allocatedStorage: Int32? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, storageType: String? = nil, licenseModel: String? = nil, sourceEngine: String, dBParameterGroupName: String? = nil, sourceEngineVersion: String, publiclyAccessible: Bool? = nil, preferredBackupWindow: String? = nil, enableCloudwatchLogsExports: [String]? = nil, s3BucketName: String, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, masterUsername: String? = nil, monitoringRoleArn: String? = nil, engine: String, monitoringInterval: Int32? = nil, storageEncrypted: Bool? = nil, port: Int32? = nil, dBInstanceIdentifier: String) { self.s3IngestionRoleArn = s3IngestionRoleArn self.dBName = dBName self.enablePerformanceInsights = enablePerformanceInsights + self.performanceInsightsRetentionPeriod = performanceInsightsRetentionPeriod self.s3Prefix = s3Prefix self.backupRetentionPeriod = backupRetentionPeriod - self.iops = iops + self.processorFeatures = processorFeatures + self.autoMinorVersionUpgrade = autoMinorVersionUpgrade self.masterUserPassword = masterUserPassword - self.dBSecurityGroups = dBSecurityGroups self.availabilityZone = availabilityZone - self.autoMinorVersionUpgrade = autoMinorVersionUpgrade + self.dBSecurityGroups = dBSecurityGroups self.performanceInsightsKMSKeyId = performanceInsightsKMSKeyId self.engineVersion = engineVersion self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication - self.preferredMaintenanceWindow = preferredMaintenanceWindow + self.useDefaultProcessorFeatures = useDefaultProcessorFeatures + self.iops = iops self.copyTagsToSnapshot = copyTagsToSnapshot + self.preferredMaintenanceWindow = preferredMaintenanceWindow self.dBInstanceClass = dBInstanceClass self.kmsKeyId = kmsKeyId self.multiAZ = multiAZ @@ -4730,6 +5029,7 @@ extension Rds { self.sourceEngineVersion = sourceEngineVersion self.publiclyAccessible = publiclyAccessible self.preferredBackupWindow = preferredBackupWindow + self.enableCloudwatchLogsExports = enableCloudwatchLogsExports self.s3BucketName = s3BucketName self.dBSubnetGroupName = dBSubnetGroupName self.optionGroupName = optionGroupName @@ -4746,18 +5046,21 @@ extension Rds { case s3IngestionRoleArn = "S3IngestionRoleArn" case dBName = "DBName" case enablePerformanceInsights = "EnablePerformanceInsights" + case performanceInsightsRetentionPeriod = "PerformanceInsightsRetentionPeriod" case s3Prefix = "S3Prefix" case backupRetentionPeriod = "BackupRetentionPeriod" - case iops = "Iops" + case processorFeatures = "ProcessorFeatures" + case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" case masterUserPassword = "MasterUserPassword" - case dBSecurityGroups = "DBSecurityGroups" case availabilityZone = "AvailabilityZone" - case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" + case dBSecurityGroups = "DBSecurityGroups" case performanceInsightsKMSKeyId = "PerformanceInsightsKMSKeyId" case engineVersion = "EngineVersion" case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" - case preferredMaintenanceWindow = "PreferredMaintenanceWindow" + case useDefaultProcessorFeatures = "UseDefaultProcessorFeatures" + case iops = "Iops" case copyTagsToSnapshot = "CopyTagsToSnapshot" + case preferredMaintenanceWindow = "PreferredMaintenanceWindow" case dBInstanceClass = "DBInstanceClass" case kmsKeyId = "KmsKeyId" case multiAZ = "MultiAZ" @@ -4771,6 +5074,7 @@ extension Rds { case sourceEngineVersion = "SourceEngineVersion" case publiclyAccessible = "PubliclyAccessible" case preferredBackupWindow = "PreferredBackupWindow" + case enableCloudwatchLogsExports = "EnableCloudwatchLogsExports" case s3BucketName = "S3BucketName" case dBSubnetGroupName = "DBSubnetGroupName" case optionGroupName = "OptionGroupName" @@ -4928,7 +5232,7 @@ extension Rds { AWSShapeMember(label: "Tags", required: false, type: .structure), AWSShapeMember(label: "Description", required: true, type: .string) ] - /// 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. + /// 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 public let dBParameterGroupFamily: String /// 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. public let dBClusterParameterGroupName: String @@ -5033,6 +5337,27 @@ extension Rds { } } + public struct DBClusterSnapshotAttribute: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AttributeName", required: false, type: .string), + AWSShapeMember(label: "AttributeValues", required: false, type: .structure) + ] + /// 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. + public let attributeName: String? + /// 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. + public let attributeValues: AttributeValueList? + + public init(attributeName: String? = nil, attributeValues: AttributeValueList? = nil) { + self.attributeName = attributeName + self.attributeValues = attributeValues + } + + private enum CodingKeys: String, CodingKey { + case attributeName = "AttributeName" + case attributeValues = "AttributeValues" + } + } + public struct CreateDBClusterSnapshotMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Tags", required: false, type: .structure), @@ -5059,27 +5384,6 @@ extension Rds { } } - public struct DBClusterSnapshotAttribute: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AttributeName", required: false, type: .string), - AWSShapeMember(label: "AttributeValues", required: false, type: .structure) - ] - /// 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. - public let attributeName: String? - /// 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. - public let attributeValues: AttributeValueList? - - public init(attributeName: String? = nil, attributeValues: AttributeValueList? = nil) { - self.attributeName = attributeName - self.attributeValues = attributeValues - } - - private enum CodingKeys: String, CodingKey { - case attributeName = "AttributeName" - case attributeValues = "AttributeValues" - } - } - public struct Tag: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Value", required: false, type: .string), @@ -5146,6 +5450,21 @@ extension Rds { } } + public struct AvailableProcessorFeatureList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AvailableProcessorFeature", required: false, type: .list) + ] + public let availableProcessorFeature: [AvailableProcessorFeature]? + + public init(availableProcessorFeature: [AvailableProcessorFeature]? = nil) { + self.availableProcessorFeature = availableProcessorFeature + } + + private enum CodingKeys: String, CodingKey { + case availableProcessorFeature = "AvailableProcessorFeature" + } + } + public struct DescribeDBSnapshotAttributesResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBSnapshotAttributesResult", required: false, type: .structure) @@ -5257,6 +5576,21 @@ extension Rds { } } + public struct VpcSecurityGroupIdList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VpcSecurityGroupId", required: false, type: .list) + ] + public let vpcSecurityGroupId: [String]? + + public init(vpcSecurityGroupId: [String]? = nil) { + self.vpcSecurityGroupId = vpcSecurityGroupId + } + + private enum CodingKeys: String, CodingKey { + case vpcSecurityGroupId = "VpcSecurityGroupId" + } + } + public struct Option: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "OptionSettings", required: false, type: .structure), @@ -5313,21 +5647,6 @@ extension Rds { } } - public struct VpcSecurityGroupIdList: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "VpcSecurityGroupId", required: false, type: .list) - ] - public let vpcSecurityGroupId: [String]? - - public init(vpcSecurityGroupId: [String]? = nil) { - self.vpcSecurityGroupId = vpcSecurityGroupId - } - - private enum CodingKeys: String, CodingKey { - case vpcSecurityGroupId = "VpcSecurityGroupId" - } - } - public struct OptionsDependedOn: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "OptionName", required: false, type: .list) @@ -5411,39 +5730,60 @@ extension Rds { public struct RestoreDBInstanceFromDBSnapshotMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Port", required: false, type: .integer), - AWSShapeMember(label: "Domain", required: false, type: .string), + AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string), + AWSShapeMember(label: "TdeCredentialPassword", required: false, type: .string), AWSShapeMember(label: "DBName", required: false, type: .string), + AWSShapeMember(label: "ProcessorFeatures", required: false, type: .structure), + AWSShapeMember(label: "Iops", required: false, type: .integer), + AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), + AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), + AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), + AWSShapeMember(label: "UseDefaultProcessorFeatures", required: false, type: .boolean), + AWSShapeMember(label: "CopyTagsToSnapshot", required: false, type: .boolean), + AWSShapeMember(label: "DomainIAMRoleName", required: false, type: .string), + AWSShapeMember(label: "DBInstanceClass", required: false, type: .string), + AWSShapeMember(label: "Domain", required: false, type: .string), AWSShapeMember(label: "MultiAZ", required: false, type: .boolean), - AWSShapeMember(label: "TdeCredentialPassword", required: false, type: .string), AWSShapeMember(label: "Tags", required: false, type: .structure), AWSShapeMember(label: "LicenseModel", required: false, type: .string), AWSShapeMember(label: "StorageType", required: false, type: .string), AWSShapeMember(label: "TdeCredentialArn", required: false, type: .string), - AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string), - AWSShapeMember(label: "Iops", required: false, type: .integer), - AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), - AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), - AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), + AWSShapeMember(label: "EnableCloudwatchLogsExports", required: false, type: .list), AWSShapeMember(label: "OptionGroupName", required: false, type: .string), AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), - AWSShapeMember(label: "CopyTagsToSnapshot", required: false, type: .boolean), AWSShapeMember(label: "Engine", required: false, type: .string), - AWSShapeMember(label: "DomainIAMRoleName", required: false, type: .string), - AWSShapeMember(label: "DBSnapshotIdentifier", required: true, type: .string), - AWSShapeMember(label: "DBInstanceClass", required: false, type: .string) + AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "DBSnapshotIdentifier", required: true, type: .string) ] - /// The port number on which the database accepts connections. Default: The same port as the original DB instance Constraints: Value must be 1150-65535 - public let port: Int32? - /// Specify the Active Directory Domain to restore the instance in. - public let domain: String? + /// 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 + public let dBInstanceIdentifier: String + /// The password for the given ARN from the key store in order to access the device. + public let tdeCredentialPassword: String? /// The database name for the restored DB instance. This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines. public let dBName: String? + /// The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. + public let processorFeatures: ProcessorFeatureList? + /// 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. Constraints: Must be an integer greater than 1000. + public let iops: Int32? + /// 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 + public let availabilityZone: String? + /// Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. + public let autoMinorVersionUpgrade: Bool? + /// 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 + public let enableIAMDatabaseAuthentication: Bool? + /// A value that specifies that the DB instance class of the DB instance uses its default processor features. + public let useDefaultProcessorFeatures: Bool? + /// True to copy all tags from the restored DB instance to snapshots of the DB instance, and otherwise false. The default is false. + public let copyTagsToSnapshot: Bool? + /// Specify the name of the IAM role to be used when making API calls to the Directory Service. + public let domainIAMRoleName: String? + /// 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. + public let dBInstanceClass: String? + /// Specify the Active Directory Domain to restore the instance in. + public let domain: String? /// 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. public let multiAZ: Bool? - /// The password for the given ARN from the key store in order to access the device. - public let tdeCredentialPassword: String? public let tags: TagList? /// License model information for the restored DB instance. Default: Same as source. Valid values: license-included | bring-your-own-license | general-public-license public let licenseModel: String? @@ -5451,81 +5791,75 @@ extension Rds { public let storageType: String? /// The ARN from the key store with which to associate the instance for TDE encryption. public let tdeCredentialArn: String? - /// 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 - public let dBInstanceIdentifier: String - /// 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. Constraints: Must be an integer greater than 1000. - public let iops: Int32? - /// 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 - public let availabilityZone: String? /// 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 is 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 is private. public let publiclyAccessible: Bool? - /// Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. - public let autoMinorVersionUpgrade: Bool? - /// 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 - public let enableIAMDatabaseAuthentication: Bool? + /// The list of logs that the restored DB instance is to export to CloudWatch Logs. + public let enableCloudwatchLogsExports: [String]? /// 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 public let optionGroupName: String? /// The DB subnet group name to use for the new instance. Constraints: If supplied, must match the name of an existing DBSubnetGroup. Example: mySubnetgroup public let dBSubnetGroupName: String? - /// True to copy all tags from the restored DB instance to snapshots of the DB instance, and otherwise false. The default is false. - public let copyTagsToSnapshot: Bool? - /// The database engine to use for the new instance. Default: The same as source Constraint: Must be compatible with the engine of the source. You can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot. Valid Values: aurora aurora-postgresql mariadb mysql oracle-ee oracle-se2 oracle-se1 oracle-se postgres sqlserver-ee sqlserver-se sqlserver-ex sqlserver-web + /// 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 public let engine: String? - /// Specify the name of the IAM role to be used when making API calls to the Directory Service. - public let domainIAMRoleName: String? + /// The port number on which the database accepts connections. Default: The same port as the original DB instance Constraints: Value must be 1150-65535 + public let port: Int32? /// 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. public let dBSnapshotIdentifier: String - /// 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. - public let dBInstanceClass: String? - public init(port: Int32? = nil, domain: String? = nil, dBName: String? = nil, multiAZ: Bool? = nil, tdeCredentialPassword: String? = nil, tags: TagList? = nil, licenseModel: String? = nil, storageType: String? = nil, tdeCredentialArn: String? = nil, dBInstanceIdentifier: String, iops: Int32? = nil, availabilityZone: String? = nil, publiclyAccessible: Bool? = nil, autoMinorVersionUpgrade: Bool? = nil, enableIAMDatabaseAuthentication: Bool? = nil, optionGroupName: String? = nil, dBSubnetGroupName: String? = nil, copyTagsToSnapshot: Bool? = nil, engine: String? = nil, domainIAMRoleName: String? = nil, dBSnapshotIdentifier: String, dBInstanceClass: String? = nil) { - self.port = port - self.domain = domain + public init(dBInstanceIdentifier: String, tdeCredentialPassword: String? = nil, dBName: String? = nil, processorFeatures: ProcessorFeatureList? = nil, iops: Int32? = nil, availabilityZone: String? = nil, autoMinorVersionUpgrade: Bool? = nil, enableIAMDatabaseAuthentication: Bool? = nil, useDefaultProcessorFeatures: Bool? = nil, copyTagsToSnapshot: Bool? = nil, domainIAMRoleName: String? = nil, dBInstanceClass: String? = nil, domain: String? = nil, multiAZ: Bool? = nil, tags: TagList? = nil, licenseModel: String? = nil, storageType: String? = nil, tdeCredentialArn: String? = nil, publiclyAccessible: Bool? = nil, enableCloudwatchLogsExports: [String]? = nil, optionGroupName: String? = nil, dBSubnetGroupName: String? = nil, engine: String? = nil, port: Int32? = nil, dBSnapshotIdentifier: String) { + self.dBInstanceIdentifier = dBInstanceIdentifier + self.tdeCredentialPassword = tdeCredentialPassword self.dBName = dBName + self.processorFeatures = processorFeatures + self.iops = iops + self.availabilityZone = availabilityZone + self.autoMinorVersionUpgrade = autoMinorVersionUpgrade + self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication + self.useDefaultProcessorFeatures = useDefaultProcessorFeatures + self.copyTagsToSnapshot = copyTagsToSnapshot + self.domainIAMRoleName = domainIAMRoleName + self.dBInstanceClass = dBInstanceClass + self.domain = domain self.multiAZ = multiAZ - self.tdeCredentialPassword = tdeCredentialPassword self.tags = tags self.licenseModel = licenseModel self.storageType = storageType self.tdeCredentialArn = tdeCredentialArn - self.dBInstanceIdentifier = dBInstanceIdentifier - self.iops = iops - self.availabilityZone = availabilityZone self.publiclyAccessible = publiclyAccessible - self.autoMinorVersionUpgrade = autoMinorVersionUpgrade - self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication + self.enableCloudwatchLogsExports = enableCloudwatchLogsExports self.optionGroupName = optionGroupName self.dBSubnetGroupName = dBSubnetGroupName - self.copyTagsToSnapshot = copyTagsToSnapshot self.engine = engine - self.domainIAMRoleName = domainIAMRoleName + self.port = port self.dBSnapshotIdentifier = dBSnapshotIdentifier - self.dBInstanceClass = dBInstanceClass } private enum CodingKeys: String, CodingKey { - case port = "Port" - case domain = "Domain" + case dBInstanceIdentifier = "DBInstanceIdentifier" + case tdeCredentialPassword = "TdeCredentialPassword" case dBName = "DBName" + case processorFeatures = "ProcessorFeatures" + case iops = "Iops" + case availabilityZone = "AvailabilityZone" + case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" + case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" + case useDefaultProcessorFeatures = "UseDefaultProcessorFeatures" + case copyTagsToSnapshot = "CopyTagsToSnapshot" + case domainIAMRoleName = "DomainIAMRoleName" + case dBInstanceClass = "DBInstanceClass" + case domain = "Domain" case multiAZ = "MultiAZ" - case tdeCredentialPassword = "TdeCredentialPassword" case tags = "Tags" case licenseModel = "LicenseModel" case storageType = "StorageType" case tdeCredentialArn = "TdeCredentialArn" - case dBInstanceIdentifier = "DBInstanceIdentifier" - case iops = "Iops" - case availabilityZone = "AvailabilityZone" case publiclyAccessible = "PubliclyAccessible" - case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" - case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" + case enableCloudwatchLogsExports = "EnableCloudwatchLogsExports" case optionGroupName = "OptionGroupName" case dBSubnetGroupName = "DBSubnetGroupName" - case copyTagsToSnapshot = "CopyTagsToSnapshot" case engine = "Engine" - case domainIAMRoleName = "DomainIAMRoleName" + case port = "Port" case dBSnapshotIdentifier = "DBSnapshotIdentifier" - case dBInstanceClass = "DBInstanceClass" } } @@ -5626,7 +5960,7 @@ extension Rds { ] /// Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in. public let availabilityZones: AvailabilityZones? - /// Specifies the allocated storage size in gigabytes (GB). + /// Specifies the allocated storage size in gibibytes (GiB). public let allocatedStorage: Int32? /// Provides the license model information for this DB cluster snapshot. public let licenseModel: String? @@ -5909,55 +6243,70 @@ extension Rds { public struct DBEngineVersion: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EngineVersion", required: false, type: .string), + AWSShapeMember(label: "ExportableLogTypes", required: false, type: .list), AWSShapeMember(label: "SupportedCharacterSets", required: false, type: .structure), AWSShapeMember(label: "DefaultCharacterSet", required: false, type: .structure), AWSShapeMember(label: "Engine", required: false, type: .string), - AWSShapeMember(label: "SupportedTimezones", required: false, type: .structure), AWSShapeMember(label: "DBParameterGroupFamily", required: false, type: .string), + AWSShapeMember(label: "SupportedTimezones", required: false, type: .structure), AWSShapeMember(label: "ValidUpgradeTarget", required: false, type: .structure), AWSShapeMember(label: "DBEngineDescription", required: false, type: .string), + AWSShapeMember(label: "SupportsLogExportsToCloudwatchLogs", required: false, type: .boolean), + AWSShapeMember(label: "SupportsReadReplica", required: false, type: .boolean), AWSShapeMember(label: "DBEngineVersionDescription", required: false, type: .string) ] /// The version number of the database engine. public let engineVersion: String? + /// The types of logs that the database engine has available for export to CloudWatch Logs. + public let exportableLogTypes: [String]? /// A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance action. public let supportedCharacterSets: SupportedCharacterSetsList? /// The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API is not specified. public let defaultCharacterSet: CharacterSet? /// The name of the database engine. public let engine: String? - /// A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action. - public let supportedTimezones: SupportedTimezonesList? /// The name of the DB parameter group family for the database engine. public let dBParameterGroupFamily: String? + /// A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action. + public let supportedTimezones: SupportedTimezonesList? /// A list of engine versions that this database engine version can be upgraded to. public let validUpgradeTarget: ValidUpgradeTargetList? /// The description of the database engine. public let dBEngineDescription: String? + /// A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs. + public let supportsLogExportsToCloudwatchLogs: Bool? + /// Indicates whether the database engine version supports read replicas. + public let supportsReadReplica: Bool? /// The description of the database engine version. public let dBEngineVersionDescription: String? - public init(engineVersion: String? = nil, supportedCharacterSets: SupportedCharacterSetsList? = nil, defaultCharacterSet: CharacterSet? = nil, engine: String? = nil, supportedTimezones: SupportedTimezonesList? = nil, dBParameterGroupFamily: String? = nil, validUpgradeTarget: ValidUpgradeTargetList? = nil, dBEngineDescription: String? = nil, dBEngineVersionDescription: String? = nil) { + public init(engineVersion: String? = nil, exportableLogTypes: [String]? = nil, supportedCharacterSets: SupportedCharacterSetsList? = nil, defaultCharacterSet: CharacterSet? = nil, engine: String? = nil, dBParameterGroupFamily: String? = nil, supportedTimezones: SupportedTimezonesList? = nil, validUpgradeTarget: ValidUpgradeTargetList? = nil, dBEngineDescription: String? = nil, supportsLogExportsToCloudwatchLogs: Bool? = nil, supportsReadReplica: Bool? = nil, dBEngineVersionDescription: String? = nil) { self.engineVersion = engineVersion + self.exportableLogTypes = exportableLogTypes self.supportedCharacterSets = supportedCharacterSets self.defaultCharacterSet = defaultCharacterSet self.engine = engine - self.supportedTimezones = supportedTimezones self.dBParameterGroupFamily = dBParameterGroupFamily + self.supportedTimezones = supportedTimezones self.validUpgradeTarget = validUpgradeTarget self.dBEngineDescription = dBEngineDescription + self.supportsLogExportsToCloudwatchLogs = supportsLogExportsToCloudwatchLogs + self.supportsReadReplica = supportsReadReplica self.dBEngineVersionDescription = dBEngineVersionDescription } private enum CodingKeys: String, CodingKey { case engineVersion = "EngineVersion" + case exportableLogTypes = "ExportableLogTypes" case supportedCharacterSets = "SupportedCharacterSets" case defaultCharacterSet = "DefaultCharacterSet" case engine = "Engine" - case supportedTimezones = "SupportedTimezones" case dBParameterGroupFamily = "DBParameterGroupFamily" + case supportedTimezones = "SupportedTimezones" case validUpgradeTarget = "ValidUpgradeTarget" case dBEngineDescription = "DBEngineDescription" + case supportsLogExportsToCloudwatchLogs = "SupportsLogExportsToCloudwatchLogs" + case supportsReadReplica = "SupportsReadReplica" case dBEngineVersionDescription = "DBEngineVersionDescription" } } @@ -6241,14 +6590,40 @@ extension Rds { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBParameterGroup", required: false, type: .structure) ] - public let dBParameterGroup: DBParameterGroup? + public let dBParameterGroup: DBParameterGroup? + + public init(dBParameterGroup: DBParameterGroup? = nil) { + self.dBParameterGroup = dBParameterGroup + } + + private enum CodingKeys: String, CodingKey { + case dBParameterGroup = "DBParameterGroup" + } + } + + public struct AvailableProcessorFeature: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DefaultValue", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "AllowedValues", required: false, type: .string) + ] + /// The default value for the processor feature of the DB instance class. + public let defaultValue: String? + /// The name of the processor feature. Valid names are coreCount and threadsPerCore. + public let name: String? + /// The allowed values for the processor feature of the DB instance class. + public let allowedValues: String? - public init(dBParameterGroup: DBParameterGroup? = nil) { - self.dBParameterGroup = dBParameterGroup + public init(defaultValue: String? = nil, name: String? = nil, allowedValues: String? = nil) { + self.defaultValue = defaultValue + self.name = name + self.allowedValues = allowedValues } private enum CodingKeys: String, CodingKey { - case dBParameterGroup = "DBParameterGroup" + case defaultValue = "DefaultValue" + case name = "Name" + case allowedValues = "AllowedValues" } } @@ -6515,7 +6890,7 @@ extension Rds { public let dBParameterGroupFamily: String /// 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. public let maxRecords: Int32? - /// Not currently supported. + /// This parameter is not currently supported. public let filters: FilterList? /// 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. public let marker: String? @@ -6535,6 +6910,27 @@ extension Rds { } } + public struct ProcessorFeature: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string) + ] + /// The value of a processor feature name. + public let value: String? + /// The name of the processor feature. Valid names are coreCount and threadsPerCore. + public let name: String? + + public init(value: String? = nil, name: String? = nil) { + self.value = value + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case name = "Name" + } + } + public struct DeleteDBInstanceResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBInstance", required: false, type: .structure) @@ -6552,111 +6948,136 @@ extension Rds { public struct CreateDBInstanceReadReplicaMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SourceDBInstanceIdentifier", required: true, type: .string), - AWSShapeMember(label: "Port", required: false, type: .integer), - AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string), - AWSShapeMember(label: "Tags", required: false, type: .structure), - AWSShapeMember(label: "StorageType", required: false, type: .string), AWSShapeMember(label: "EnablePerformanceInsights", required: false, type: .boolean), + AWSShapeMember(label: "PerformanceInsightsRetentionPeriod", required: false, type: .integer), + AWSShapeMember(label: "ProcessorFeatures", required: false, type: .structure), AWSShapeMember(label: "Iops", required: false, type: .integer), AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), - AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), - AWSShapeMember(label: "OptionGroupName", required: false, type: .string), - AWSShapeMember(label: "MonitoringRoleArn", required: false, type: .string), - AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), AWSShapeMember(label: "PerformanceInsightsKMSKeyId", required: false, type: .string), + AWSShapeMember(label: "UseDefaultProcessorFeatures", required: false, type: .boolean), AWSShapeMember(label: "CopyTagsToSnapshot", required: false, type: .boolean), AWSShapeMember(label: "PreSignedUrl", required: false, type: .string), - AWSShapeMember(label: "MonitoringInterval", required: false, type: .integer), + AWSShapeMember(label: "SourceDBInstanceIdentifier", required: true, type: .string), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string), AWSShapeMember(label: "DBInstanceClass", required: false, type: .string), - AWSShapeMember(label: "KmsKeyId", required: false, type: .string) + AWSShapeMember(label: "MultiAZ", required: false, type: .boolean), + AWSShapeMember(label: "Tags", required: false, type: .structure), + AWSShapeMember(label: "StorageType", required: false, type: .string), + AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), + AWSShapeMember(label: "EnableCloudwatchLogsExports", required: false, type: .list), + AWSShapeMember(label: "OptionGroupName", required: false, type: .string), + AWSShapeMember(label: "MonitoringRoleArn", required: false, type: .string), + AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), + AWSShapeMember(label: "MonitoringInterval", required: false, type: .integer), + AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "DBInstanceIdentifier", required: true, type: .string) ] - /// 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 a Amazon RDS Amazon Resource Name (ARN). - public let sourceDBInstanceIdentifier: String - /// The port number that the DB instance uses for connections. Default: Inherits from the source DB instance Valid Values: 1150-65535 - public let port: Int32? - /// 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. - public let dBInstanceIdentifier: String - public let tags: TagList? - /// 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 - public let storageType: String? - /// True to enable Performance Insights for the read replica, and otherwise false. + /// True to enable Performance Insights for the read replica, and otherwise false. For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide. public let enablePerformanceInsights: Bool? + /// The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years). + public let performanceInsightsRetentionPeriod: Int32? + /// The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. + public let processorFeatures: ProcessorFeatureList? /// The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance. public let iops: Int32? /// 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 public let availabilityZone: String? - /// 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 is 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 is private. - public let publiclyAccessible: Bool? /// Indicates that minor engine upgrades are applied automatically to the Read Replica during the maintenance window. Default: Inherits from the source DB instance public let autoMinorVersionUpgrade: Bool? /// 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 public let enableIAMDatabaseAuthentication: Bool? - /// The option group the DB instance is associated with. If omitted, the default option group for the engine specified is used. - public let optionGroupName: String? - /// 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. If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value. - public let monitoringRoleArn: String? - /// 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 - public let dBSubnetGroupName: String? /// 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. public let performanceInsightsKMSKeyId: String? + /// A value that specifies that the DB instance class of the DB instance uses its default processor features. + public let useDefaultProcessorFeatures: Bool? /// True to copy all tags from the Read Replica to snapshots of the Read Replica, and otherwise false. The default is false. public let copyTagsToSnapshot: Bool? /// 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. public let preSignedUrl: String? - /// 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 - public let monitoringInterval: Int32? - /// 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. - public let dBInstanceClass: String? + /// 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 a Amazon RDS Amazon Resource Name (ARN). + public let sourceDBInstanceIdentifier: String /// 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. public let kmsKeyId: String? + /// 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. + public let dBInstanceClass: String? + /// 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. + public let multiAZ: Bool? + public let tags: TagList? + /// 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 + public let storageType: String? + /// 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 is 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 is private. + public let publiclyAccessible: Bool? + /// The list of logs that the new DB instance is to export to CloudWatch Logs. + public let enableCloudwatchLogsExports: [String]? + /// The option group the DB instance is associated with. If omitted, the default option group for the engine specified is used. + public let optionGroupName: String? + /// 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. If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value. + public let monitoringRoleArn: String? + /// 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 + public let dBSubnetGroupName: String? + /// 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 + public let monitoringInterval: Int32? + /// The port number that the DB instance uses for connections. Default: Inherits from the source DB instance Valid Values: 1150-65535 + public let port: Int32? + /// 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. + public let dBInstanceIdentifier: String - public init(sourceDBInstanceIdentifier: String, port: Int32? = nil, dBInstanceIdentifier: String, tags: TagList? = nil, storageType: String? = nil, enablePerformanceInsights: Bool? = nil, iops: Int32? = nil, availabilityZone: String? = nil, publiclyAccessible: Bool? = nil, autoMinorVersionUpgrade: Bool? = nil, enableIAMDatabaseAuthentication: Bool? = nil, optionGroupName: String? = nil, monitoringRoleArn: String? = nil, dBSubnetGroupName: String? = nil, performanceInsightsKMSKeyId: String? = nil, copyTagsToSnapshot: Bool? = nil, preSignedUrl: String? = nil, monitoringInterval: Int32? = nil, dBInstanceClass: String? = nil, kmsKeyId: String? = nil) { - self.sourceDBInstanceIdentifier = sourceDBInstanceIdentifier - self.port = port - self.dBInstanceIdentifier = dBInstanceIdentifier - self.tags = tags - self.storageType = storageType + public init(enablePerformanceInsights: Bool? = nil, performanceInsightsRetentionPeriod: Int32? = nil, processorFeatures: ProcessorFeatureList? = nil, iops: Int32? = nil, availabilityZone: String? = nil, autoMinorVersionUpgrade: Bool? = nil, enableIAMDatabaseAuthentication: Bool? = nil, performanceInsightsKMSKeyId: String? = nil, useDefaultProcessorFeatures: Bool? = nil, copyTagsToSnapshot: Bool? = nil, preSignedUrl: String? = nil, sourceDBInstanceIdentifier: String, kmsKeyId: String? = nil, dBInstanceClass: String? = nil, multiAZ: Bool? = nil, tags: TagList? = nil, storageType: String? = nil, publiclyAccessible: Bool? = nil, enableCloudwatchLogsExports: [String]? = nil, optionGroupName: String? = nil, monitoringRoleArn: String? = nil, dBSubnetGroupName: String? = nil, monitoringInterval: Int32? = nil, port: Int32? = nil, dBInstanceIdentifier: String) { self.enablePerformanceInsights = enablePerformanceInsights + self.performanceInsightsRetentionPeriod = performanceInsightsRetentionPeriod + self.processorFeatures = processorFeatures self.iops = iops self.availabilityZone = availabilityZone - self.publiclyAccessible = publiclyAccessible self.autoMinorVersionUpgrade = autoMinorVersionUpgrade self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication - self.optionGroupName = optionGroupName - self.monitoringRoleArn = monitoringRoleArn - self.dBSubnetGroupName = dBSubnetGroupName self.performanceInsightsKMSKeyId = performanceInsightsKMSKeyId + self.useDefaultProcessorFeatures = useDefaultProcessorFeatures self.copyTagsToSnapshot = copyTagsToSnapshot self.preSignedUrl = preSignedUrl - self.monitoringInterval = monitoringInterval - self.dBInstanceClass = dBInstanceClass + self.sourceDBInstanceIdentifier = sourceDBInstanceIdentifier self.kmsKeyId = kmsKeyId + self.dBInstanceClass = dBInstanceClass + self.multiAZ = multiAZ + self.tags = tags + self.storageType = storageType + self.publiclyAccessible = publiclyAccessible + self.enableCloudwatchLogsExports = enableCloudwatchLogsExports + self.optionGroupName = optionGroupName + self.monitoringRoleArn = monitoringRoleArn + self.dBSubnetGroupName = dBSubnetGroupName + self.monitoringInterval = monitoringInterval + self.port = port + self.dBInstanceIdentifier = dBInstanceIdentifier } private enum CodingKeys: String, CodingKey { - case sourceDBInstanceIdentifier = "SourceDBInstanceIdentifier" - case port = "Port" - case dBInstanceIdentifier = "DBInstanceIdentifier" - case tags = "Tags" - case storageType = "StorageType" case enablePerformanceInsights = "EnablePerformanceInsights" + case performanceInsightsRetentionPeriod = "PerformanceInsightsRetentionPeriod" + case processorFeatures = "ProcessorFeatures" case iops = "Iops" case availabilityZone = "AvailabilityZone" - case publiclyAccessible = "PubliclyAccessible" case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" - case optionGroupName = "OptionGroupName" - case monitoringRoleArn = "MonitoringRoleArn" - case dBSubnetGroupName = "DBSubnetGroupName" case performanceInsightsKMSKeyId = "PerformanceInsightsKMSKeyId" + case useDefaultProcessorFeatures = "UseDefaultProcessorFeatures" case copyTagsToSnapshot = "CopyTagsToSnapshot" case preSignedUrl = "PreSignedUrl" - case monitoringInterval = "MonitoringInterval" - case dBInstanceClass = "DBInstanceClass" + case sourceDBInstanceIdentifier = "SourceDBInstanceIdentifier" case kmsKeyId = "KmsKeyId" + case dBInstanceClass = "DBInstanceClass" + case multiAZ = "MultiAZ" + case tags = "Tags" + case storageType = "StorageType" + case publiclyAccessible = "PubliclyAccessible" + case enableCloudwatchLogsExports = "EnableCloudwatchLogsExports" + case optionGroupName = "OptionGroupName" + case monitoringRoleArn = "MonitoringRoleArn" + case dBSubnetGroupName = "DBSubnetGroupName" + case monitoringInterval = "MonitoringInterval" + case port = "Port" + case dBInstanceIdentifier = "DBInstanceIdentifier" } } @@ -6733,7 +7154,7 @@ extension Rds { AWSShapeMember(label: "DBParameterGroupName", required: true, type: .string), AWSShapeMember(label: "Description", required: true, type: .string) ] - /// 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. + /// 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. public let dBParameterGroupFamily: String public let tags: TagList? /// 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. @@ -6786,70 +7207,19 @@ extension Rds { } } - public struct AccountAttributesMessage: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AccountQuotas", required: false, type: .structure) - ] - /// 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. - public let accountQuotas: AccountQuotaList? - - public init(accountQuotas: AccountQuotaList? = nil) { - self.accountQuotas = accountQuotas - } - - private enum CodingKeys: String, CodingKey { - case accountQuotas = "AccountQuotas" - } - } - - public struct VpcSecurityGroupMembershipList: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "VpcSecurityGroupMembership", required: false, type: .list) - ] - public let vpcSecurityGroupMembership: [VpcSecurityGroupMembership]? - - public init(vpcSecurityGroupMembership: [VpcSecurityGroupMembership]? = nil) { - self.vpcSecurityGroupMembership = vpcSecurityGroupMembership - } - - private enum CodingKeys: String, CodingKey { - case vpcSecurityGroupMembership = "VpcSecurityGroupMembership" - } - } - - public struct DBClusterRole: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RoleArn", required: false, type: .string), - AWSShapeMember(label: "Status", required: false, type: .string) - ] - /// The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster. - public let roleArn: String? - /// 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. - public let status: String? - - public init(roleArn: String? = nil, status: String? = nil) { - self.roleArn = roleArn - self.status = status - } - - private enum CodingKeys: String, CodingKey { - case roleArn = "RoleArn" - case status = "Status" - } - } - public struct CreateDBInstanceMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBName", required: false, type: .string), AWSShapeMember(label: "TdeCredentialPassword", required: false, type: .string), AWSShapeMember(label: "EnablePerformanceInsights", required: false, type: .boolean), - AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), + AWSShapeMember(label: "PerformanceInsightsRetentionPeriod", required: false, type: .integer), + AWSShapeMember(label: "ProcessorFeatures", required: false, type: .structure), + AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), AWSShapeMember(label: "Iops", required: false, type: .integer), - AWSShapeMember(label: "DBSecurityGroups", required: false, type: .structure), - AWSShapeMember(label: "CharacterSetName", required: false, type: .string), + AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), + AWSShapeMember(label: "DBSecurityGroups", required: false, type: .structure), AWSShapeMember(label: "AutoMinorVersionUpgrade", required: false, type: .boolean), - AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), AWSShapeMember(label: "PerformanceInsightsKMSKeyId", required: false, type: .string), AWSShapeMember(label: "EngineVersion", required: false, type: .string), AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), @@ -6857,6 +7227,7 @@ extension Rds { AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), AWSShapeMember(label: "DomainIAMRoleName", required: false, type: .string), AWSShapeMember(label: "CopyTagsToSnapshot", required: false, type: .boolean), + AWSShapeMember(label: "CharacterSetName", required: false, type: .string), AWSShapeMember(label: "DBClusterIdentifier", required: false, type: .string), AWSShapeMember(label: "DBInstanceClass", required: true, type: .string), AWSShapeMember(label: "Domain", required: false, type: .string), @@ -6872,6 +7243,7 @@ extension Rds { AWSShapeMember(label: "DBParameterGroupName", required: false, type: .string), AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), + AWSShapeMember(label: "EnableCloudwatchLogsExports", required: false, type: .list), AWSShapeMember(label: "DBSubnetGroupName", required: false, type: .string), AWSShapeMember(label: "OptionGroupName", required: false, type: .string), AWSShapeMember(label: "MasterUsername", required: false, type: .string), @@ -6886,25 +7258,27 @@ extension Rds { public let dBName: String? /// The password for the given ARN from the key store in order to access the device. public let tdeCredentialPassword: String? - /// True to enable Performance Insights for the DB instance, and otherwise false. + /// 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. public let enablePerformanceInsights: Bool? + /// The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years). + public let performanceInsightsRetentionPeriod: Int32? + /// The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. + public let processorFeatures: ProcessorFeatureList? + /// 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 + public let backupRetentionPeriod: Int32? + /// 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. 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. + public let iops: Int32? /// 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. public let masterUserPassword: String? - /// 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. Constraints: Must be a multiple between 3 and 10 of the storage amount for the DB instance. Must also be an integer multiple of 1000. For example, if the size of your DB instance is 500 GB, then your Iops value can be 2000, 3000, 4000, or 5000. - public let iops: Int32? - /// A list of DB security groups to associate with this DB instance. Default: The default DB security group for the database engine. - public let dBSecurityGroups: DBSecurityGroupNameList? - /// 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. - public let characterSetName: String? /// 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. public let availabilityZone: String? + /// A list of DB security groups to associate with this DB instance. Default: The default DB security group for the database engine. + public let dBSecurityGroups: DBSecurityGroupNameList? /// Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window. Default: true public let autoMinorVersionUpgrade: Bool? - /// 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 - public let backupRetentionPeriod: Int32? /// 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. public let performanceInsightsKMSKeyId: String? - /// The version number of the database engine to use. The following are the database engines and major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region. Amazon Aurora 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 10.1.23 (supported in all AWS Regions) 10.1.19 (supported in all AWS Regions) 10.1.14 (supported in all AWS Regions except us-east-2) 10.0.31 (supported in all AWS Regions) 10.0.28 (supported in all AWS Regions) 10.0.24 (supported in all AWS Regions) 10.0.17 (supported in all AWS Regions except us-east-2, ca-central-1, eu-west-2) Microsoft SQL Server 2016 13.00.4422.0.v1 (supported for all editions, and all AWS Regions) 13.00.2164.0.v1 (supported for all editions, and all AWS Regions) Microsoft SQL Server 2014 12.00.5546.0.v1 (supported for all editions, and all AWS Regions) 12.00.5000.0.v1 (supported for all editions, and all AWS Regions) 12.00.4422.0.v1 (supported for all editions except Enterprise Edition, and all AWS Regions except ca-central-1 and eu-west-2) Microsoft SQL Server 2012 11.00.6594.0.v1 (supported for all editions, and all AWS Regions) 11.00.6020.0.v1 (supported for all editions, and all AWS Regions) 11.00.5058.0.v1 (supported for all editions, and all AWS Regions except us-east-2, ca-central-1, and eu-west-2) 11.00.2100.60.v1 (supported for all editions, and all AWS Regions except us-east-2, ca-central-1, and eu-west-2) Microsoft SQL Server 2008 R2 10.50.6529.0.v1 (supported for all editions, and all AWS Regions except us-east-2, ca-central-1, and eu-west-2) 10.50.6000.34.v1 (supported for all editions, and all AWS Regions except us-east-2, ca-central-1, and eu-west-2) 10.50.2789.0.v1 (supported for all editions, and all AWS Regions except us-east-2, ca-central-1, and eu-west-2) MySQL 5.7.19 (supported in all AWS regions) 5.7.17 (supported in all AWS regions) 5.7.16 (supported in all AWS regions) 5.6.37 (supported in all AWS Regions) 5.6.35 (supported in all AWS Regions) 5.6.34 (supported in all AWS Regions) 5.6.29 (supported in all AWS Regions) 5.6.27 (supported in all AWS Regions except us-east-2, ca-central-1, eu-west-2) 5.5.57 (supported in all AWS Regions) 5.5.54 (supported in all AWS Regions) 5.5.53 (supported in all AWS Regions) 5.5.46 (supported in all AWS Regions) Oracle 12c 12.1.0.2.v9 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) 12.1.0.2.v8 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) 12.1.0.2.v7 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) 12.1.0.2.v6 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) 12.1.0.2.v5 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) 12.1.0.2.v4 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) 12.1.0.2.v3 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) 12.1.0.2.v2 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) 12.1.0.2.v1 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) Oracle 11g 11.2.0.4.v13 (supported for EE, SE1, and SE, in all AWS regions) 11.2.0.4.v12 (supported for EE, SE1, and SE, in all AWS regions) 11.2.0.4.v11 (supported for EE, SE1, and SE, in all AWS regions) 11.2.0.4.v10 (supported for EE, SE1, and SE, in all AWS regions) 11.2.0.4.v9 (supported for EE, SE1, and SE, in all AWS regions) 11.2.0.4.v8 (supported for EE, SE1, and SE, in all AWS regions) 11.2.0.4.v7 (supported for EE, SE1, and SE, in all AWS regions) 11.2.0.4.v6 (supported for EE, SE1, and SE, in all AWS regions) 11.2.0.4.v5 (supported for EE, SE1, and SE, in all AWS regions) 11.2.0.4.v4 (supported for EE, SE1, and SE, in all AWS regions) 11.2.0.4.v3 (supported for EE, SE1, and SE, in all AWS regions) 11.2.0.4.v1 (supported for EE, SE1, and SE, in all AWS regions) PostgreSQL Version 9.6.x: 9.6.5 | 9.6.3 | 9.6.2 | 9.6.1 Version 9.5.x: 9.5.9 | 9.5.7 | 9.5.6 | 9.5.4 | 9.5.2 Version 9.4.x: 9.4.14 | 9.4.12 | 9.4.11 | 9.4.9 | 9.4.7 Version 9.3.x: 9.3.19 | 9.3.17 | 9.3.16 | 9.3.14 | 9.3.12 + /// 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. public let engineVersion: String? /// 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 public let enableIAMDatabaseAuthentication: Bool? @@ -6916,6 +7290,8 @@ extension Rds { public let domainIAMRoleName: String? /// True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false. public let copyTagsToSnapshot: Bool? + /// 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. + public let characterSetName: String? /// The identifier of the DB cluster that the instance will belong to. For information on creating a DB cluster, see CreateDBCluster. Type: String public let dBClusterIdentifier: String? /// 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. @@ -6931,7 +7307,7 @@ extension Rds { public let timezone: String? /// 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. public let vpcSecurityGroupIds: VpcSecurityGroupIdList? - /// The amount of storage (in gigabytes) to be initially allocated 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 5 to 6144. Provisioned IOPS storage (io1): Must be an integer from 100 to 6144. 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 5 to 6144. Provisioned IOPS storage (io1): Must be an integer from 100 to 6144. 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 5 to 6144. Provisioned IOPS storage (io1): Must be an integer from 100 to 6144. 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 10 to 6144. Provisioned IOPS storage (io1): Must be an integer from 100 to 6144. 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. + /// 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. public let allocatedStorage: Int32? /// 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 public let storageType: String? @@ -6945,6 +7321,8 @@ extension Rds { public let publiclyAccessible: Bool? /// 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. 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. 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. public let preferredBackupWindow: String? + /// The list of log types that need to be enabled for exporting to CloudWatch Logs. + public let enableCloudwatchLogsExports: [String]? /// 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. public let dBSubnetGroupName: String? /// 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 @@ -6953,7 +7331,7 @@ extension Rds { public let masterUsername: String? /// 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. If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value. public let monitoringRoleArn: String? - /// 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 aurora-postgresql mariadb mysql oracle-ee oracle-se2 oracle-se1 oracle-se postgres sqlserver-ee sqlserver-se sqlserver-ex sqlserver-web + /// 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 public let engine: String /// 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 public let monitoringInterval: Int32? @@ -6964,17 +7342,18 @@ extension Rds { /// 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 public let dBInstanceIdentifier: String - public init(dBName: String? = nil, tdeCredentialPassword: String? = nil, enablePerformanceInsights: Bool? = nil, masterUserPassword: String? = nil, iops: Int32? = nil, dBSecurityGroups: DBSecurityGroupNameList? = nil, characterSetName: String? = nil, availabilityZone: String? = nil, autoMinorVersionUpgrade: Bool? = nil, backupRetentionPeriod: Int32? = nil, performanceInsightsKMSKeyId: String? = nil, engineVersion: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, promotionTier: Int32? = nil, preferredMaintenanceWindow: String? = nil, domainIAMRoleName: String? = nil, copyTagsToSnapshot: Bool? = nil, dBClusterIdentifier: String? = nil, dBInstanceClass: String, domain: String? = nil, kmsKeyId: String? = nil, multiAZ: Bool? = nil, tags: TagList? = nil, timezone: String? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, allocatedStorage: Int32? = nil, storageType: String? = nil, licenseModel: String? = nil, tdeCredentialArn: String? = nil, dBParameterGroupName: String? = nil, publiclyAccessible: Bool? = nil, preferredBackupWindow: String? = nil, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, masterUsername: String? = nil, monitoringRoleArn: String? = nil, engine: String, monitoringInterval: Int32? = nil, storageEncrypted: Bool? = nil, port: Int32? = nil, dBInstanceIdentifier: String) { + public init(dBName: String? = nil, tdeCredentialPassword: String? = nil, enablePerformanceInsights: Bool? = nil, performanceInsightsRetentionPeriod: Int32? = nil, processorFeatures: ProcessorFeatureList? = nil, backupRetentionPeriod: Int32? = nil, iops: Int32? = nil, masterUserPassword: String? = nil, availabilityZone: String? = nil, dBSecurityGroups: DBSecurityGroupNameList? = nil, autoMinorVersionUpgrade: Bool? = nil, performanceInsightsKMSKeyId: String? = nil, engineVersion: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, promotionTier: Int32? = nil, preferredMaintenanceWindow: String? = nil, domainIAMRoleName: String? = nil, copyTagsToSnapshot: Bool? = nil, characterSetName: String? = nil, dBClusterIdentifier: String? = nil, dBInstanceClass: String, domain: String? = nil, kmsKeyId: String? = nil, multiAZ: Bool? = nil, tags: TagList? = nil, timezone: String? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, allocatedStorage: Int32? = nil, storageType: String? = nil, licenseModel: String? = nil, tdeCredentialArn: String? = nil, dBParameterGroupName: String? = nil, publiclyAccessible: Bool? = nil, preferredBackupWindow: String? = nil, enableCloudwatchLogsExports: [String]? = nil, dBSubnetGroupName: String? = nil, optionGroupName: String? = nil, masterUsername: String? = nil, monitoringRoleArn: String? = nil, engine: String, monitoringInterval: Int32? = nil, storageEncrypted: Bool? = nil, port: Int32? = nil, dBInstanceIdentifier: String) { self.dBName = dBName self.tdeCredentialPassword = tdeCredentialPassword self.enablePerformanceInsights = enablePerformanceInsights - self.masterUserPassword = masterUserPassword + self.performanceInsightsRetentionPeriod = performanceInsightsRetentionPeriod + self.processorFeatures = processorFeatures + self.backupRetentionPeriod = backupRetentionPeriod self.iops = iops - self.dBSecurityGroups = dBSecurityGroups - self.characterSetName = characterSetName + self.masterUserPassword = masterUserPassword self.availabilityZone = availabilityZone + self.dBSecurityGroups = dBSecurityGroups self.autoMinorVersionUpgrade = autoMinorVersionUpgrade - self.backupRetentionPeriod = backupRetentionPeriod self.performanceInsightsKMSKeyId = performanceInsightsKMSKeyId self.engineVersion = engineVersion self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication @@ -6982,6 +7361,7 @@ extension Rds { self.preferredMaintenanceWindow = preferredMaintenanceWindow self.domainIAMRoleName = domainIAMRoleName self.copyTagsToSnapshot = copyTagsToSnapshot + self.characterSetName = characterSetName self.dBClusterIdentifier = dBClusterIdentifier self.dBInstanceClass = dBInstanceClass self.domain = domain @@ -6997,6 +7377,7 @@ extension Rds { self.dBParameterGroupName = dBParameterGroupName self.publiclyAccessible = publiclyAccessible self.preferredBackupWindow = preferredBackupWindow + self.enableCloudwatchLogsExports = enableCloudwatchLogsExports self.dBSubnetGroupName = dBSubnetGroupName self.optionGroupName = optionGroupName self.masterUsername = masterUsername @@ -7012,13 +7393,14 @@ extension Rds { case dBName = "DBName" case tdeCredentialPassword = "TdeCredentialPassword" case enablePerformanceInsights = "EnablePerformanceInsights" - case masterUserPassword = "MasterUserPassword" + case performanceInsightsRetentionPeriod = "PerformanceInsightsRetentionPeriod" + case processorFeatures = "ProcessorFeatures" + case backupRetentionPeriod = "BackupRetentionPeriod" case iops = "Iops" - case dBSecurityGroups = "DBSecurityGroups" - case characterSetName = "CharacterSetName" + case masterUserPassword = "MasterUserPassword" case availabilityZone = "AvailabilityZone" + case dBSecurityGroups = "DBSecurityGroups" case autoMinorVersionUpgrade = "AutoMinorVersionUpgrade" - case backupRetentionPeriod = "BackupRetentionPeriod" case performanceInsightsKMSKeyId = "PerformanceInsightsKMSKeyId" case engineVersion = "EngineVersion" case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" @@ -7026,6 +7408,7 @@ extension Rds { case preferredMaintenanceWindow = "PreferredMaintenanceWindow" case domainIAMRoleName = "DomainIAMRoleName" case copyTagsToSnapshot = "CopyTagsToSnapshot" + case characterSetName = "CharacterSetName" case dBClusterIdentifier = "DBClusterIdentifier" case dBInstanceClass = "DBInstanceClass" case domain = "Domain" @@ -7041,6 +7424,7 @@ extension Rds { case dBParameterGroupName = "DBParameterGroupName" case publiclyAccessible = "PubliclyAccessible" case preferredBackupWindow = "PreferredBackupWindow" + case enableCloudwatchLogsExports = "EnableCloudwatchLogsExports" case dBSubnetGroupName = "DBSubnetGroupName" case optionGroupName = "OptionGroupName" case masterUsername = "MasterUsername" @@ -7053,6 +7437,58 @@ extension Rds { } } + public struct VpcSecurityGroupMembershipList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VpcSecurityGroupMembership", required: false, type: .list) + ] + public let vpcSecurityGroupMembership: [VpcSecurityGroupMembership]? + + public init(vpcSecurityGroupMembership: [VpcSecurityGroupMembership]? = nil) { + self.vpcSecurityGroupMembership = vpcSecurityGroupMembership + } + + private enum CodingKeys: String, CodingKey { + case vpcSecurityGroupMembership = "VpcSecurityGroupMembership" + } + } + + public struct DBClusterRole: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoleArn", required: false, type: .string), + AWSShapeMember(label: "Status", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster. + public let roleArn: String? + /// 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. + public let status: String? + + public init(roleArn: String? = nil, status: String? = nil) { + self.roleArn = roleArn + self.status = status + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "RoleArn" + case status = "Status" + } + } + + public struct AccountAttributesMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AccountQuotas", required: false, type: .structure) + ] + /// 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. + public let accountQuotas: AccountQuotaList? + + public init(accountQuotas: AccountQuotaList? = nil) { + self.accountQuotas = accountQuotas + } + + private enum CodingKeys: String, CodingKey { + case accountQuotas = "AccountQuotas" + } + } + public struct ApplyPendingMaintenanceActionMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ResourceIdentifier", required: true, type: .string), @@ -7109,42 +7545,12 @@ extension Rds { } } - public struct ModifyDBSnapshotAttributeMessage: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AttributeName", required: true, type: .string), - AWSShapeMember(label: "ValuesToAdd", required: false, type: .structure), - AWSShapeMember(label: "ValuesToRemove", required: false, type: .structure), - AWSShapeMember(label: "DBSnapshotIdentifier", required: true, type: .string) - ] - /// 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. - public let attributeName: String - /// 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. - public let valuesToAdd: AttributeValueList? - /// 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. - public let valuesToRemove: AttributeValueList? - /// The identifier for the DB snapshot to modify the attributes for. - public let dBSnapshotIdentifier: String - - public init(attributeName: String, valuesToAdd: AttributeValueList? = nil, valuesToRemove: AttributeValueList? = nil, dBSnapshotIdentifier: String) { - self.attributeName = attributeName - self.valuesToAdd = valuesToAdd - self.valuesToRemove = valuesToRemove - self.dBSnapshotIdentifier = dBSnapshotIdentifier - } - - private enum CodingKeys: String, CodingKey { - case attributeName = "AttributeName" - case valuesToAdd = "ValuesToAdd" - case valuesToRemove = "ValuesToRemove" - case dBSnapshotIdentifier = "DBSnapshotIdentifier" - } - } - public struct DBCluster: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBClusterArn", required: false, type: .string), AWSShapeMember(label: "VpcSecurityGroups", required: false, type: .structure), AWSShapeMember(label: "ReadReplicaIdentifiers", required: false, type: .structure), + AWSShapeMember(label: "BacktrackConsumedChangeRecords", required: false, type: .long), AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), AWSShapeMember(label: "HostedZoneId", required: false, type: .string), AWSShapeMember(label: "CharacterSetName", required: false, type: .string), @@ -7154,8 +7560,10 @@ extension Rds { AWSShapeMember(label: "DBClusterIdentifier", required: false, type: .string), AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), AWSShapeMember(label: "DBClusterParameterGroup", required: false, type: .string), + AWSShapeMember(label: "EnabledCloudwatchLogsExports", required: false, type: .list), AWSShapeMember(label: "ReplicationSourceIdentifier", required: false, type: .string), AWSShapeMember(label: "PercentProgress", required: false, type: .string), + AWSShapeMember(label: "BacktrackWindow", required: false, type: .long), AWSShapeMember(label: "ReaderEndpoint", required: false, type: .string), AWSShapeMember(label: "DbClusterResourceId", required: false, type: .string), AWSShapeMember(label: "Endpoint", required: false, type: .string), @@ -7164,6 +7572,7 @@ extension Rds { AWSShapeMember(label: "DBClusterOptionGroupMemberships", required: false, type: .structure), AWSShapeMember(label: "MultiAZ", required: false, type: .boolean), AWSShapeMember(label: "DBClusterMembers", required: false, type: .structure), + AWSShapeMember(label: "EarliestBacktrackTime", required: false, type: .timestamp), AWSShapeMember(label: "AllocatedStorage", required: false, type: .integer), AWSShapeMember(label: "EarliestRestorableTime", required: false, type: .timestamp), AWSShapeMember(label: "ClusterCreateTime", required: false, type: .timestamp), @@ -7184,6 +7593,8 @@ extension Rds { public let vpcSecurityGroups: VpcSecurityGroupMembershipList? /// Contains one or more identifiers of the Read Replicas associated with this DB cluster. public let readReplicaIdentifiers: ReadReplicaIdentifierList? + /// The number of change records stored for Backtrack. + public let backtrackConsumedChangeRecords: Int64? /// Specifies the number of days for which automatic DB snapshots are retained. public let backupRetentionPeriod: Int32? /// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. @@ -7202,10 +7613,14 @@ extension Rds { public let preferredMaintenanceWindow: String? /// Specifies the name of the DB cluster parameter group for the DB cluster. public let dBClusterParameterGroup: String? + /// A list of log types that this DB cluster is configured to export to CloudWatch Logs. + public let enabledCloudwatchLogsExports: [String]? /// Contains the identifier of the source DB cluster if this DB cluster is a Read Replica. public let replicationSourceIdentifier: String? /// Specifies the progress of the operation as a percentage. public let percentProgress: String? + /// The target backtrack window, in seconds. If this value is set to 0, backtracking is disabled for the DB cluster. Otherwise, backtracking is enabled. + public let backtrackWindow: Int64? /// 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. public let readerEndpoint: String? /// 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. @@ -7222,9 +7637,11 @@ extension Rds { public let multiAZ: Bool? /// Provides the list of instances that make up the DB cluster. public let dBClusterMembers: DBClusterMemberList? - /// For all database engines except Amazon Aurora, AllocatedStorage specifies the allocated storage size in gigabytes (GB). For Aurora, AllocatedStorage always returns 1, because Aurora DB cluster storage size is not fixed, but instead automatically adjusts as needed. + /// The earliest time to which a DB cluster can be backtracked. + public let earliestBacktrackTime: TimeStamp? + /// 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. public let allocatedStorage: Int32? - /// Specifies the earliest time to which a database can be restored with point-in-time restore. + /// The earliest time to which a database can be restored with point-in-time restore. public let earliestRestorableTime: TimeStamp? /// Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC). public let clusterCreateTime: TimeStamp? @@ -7249,10 +7666,11 @@ extension Rds { /// Specifies the port that the database engine is listening on. public let port: Int32? - public init(dBClusterArn: String? = nil, vpcSecurityGroups: VpcSecurityGroupMembershipList? = nil, readReplicaIdentifiers: ReadReplicaIdentifierList? = nil, backupRetentionPeriod: Int32? = nil, hostedZoneId: String? = nil, characterSetName: String? = nil, status: String? = nil, latestRestorableTime: TimeStamp? = nil, engineVersion: String? = nil, dBClusterIdentifier: String? = nil, preferredMaintenanceWindow: String? = nil, dBClusterParameterGroup: String? = nil, replicationSourceIdentifier: String? = nil, percentProgress: String? = nil, readerEndpoint: String? = nil, dbClusterResourceId: String? = nil, endpoint: String? = nil, kmsKeyId: String? = nil, availabilityZones: AvailabilityZones? = nil, dBClusterOptionGroupMemberships: DBClusterOptionGroupMemberships? = nil, multiAZ: Bool? = nil, dBClusterMembers: DBClusterMemberList? = nil, allocatedStorage: Int32? = nil, earliestRestorableTime: TimeStamp? = nil, clusterCreateTime: TimeStamp? = nil, cloneGroupId: String? = nil, preferredBackupWindow: String? = nil, iAMDatabaseAuthenticationEnabled: Bool? = nil, masterUsername: String? = nil, databaseName: String? = nil, engine: String? = nil, dBSubnetGroup: String? = nil, storageEncrypted: Bool? = nil, associatedRoles: DBClusterRoles? = nil, port: Int32? = nil) { + public init(dBClusterArn: String? = nil, vpcSecurityGroups: VpcSecurityGroupMembershipList? = nil, readReplicaIdentifiers: ReadReplicaIdentifierList? = nil, backtrackConsumedChangeRecords: Int64? = nil, backupRetentionPeriod: Int32? = nil, hostedZoneId: String? = nil, characterSetName: String? = nil, status: String? = nil, latestRestorableTime: TimeStamp? = nil, engineVersion: String? = nil, dBClusterIdentifier: String? = nil, preferredMaintenanceWindow: String? = nil, dBClusterParameterGroup: String? = nil, enabledCloudwatchLogsExports: [String]? = nil, replicationSourceIdentifier: String? = nil, percentProgress: String? = nil, backtrackWindow: Int64? = nil, readerEndpoint: String? = nil, dbClusterResourceId: String? = nil, endpoint: String? = nil, kmsKeyId: String? = nil, availabilityZones: AvailabilityZones? = nil, dBClusterOptionGroupMemberships: DBClusterOptionGroupMemberships? = nil, multiAZ: Bool? = nil, dBClusterMembers: DBClusterMemberList? = nil, earliestBacktrackTime: TimeStamp? = nil, allocatedStorage: Int32? = nil, earliestRestorableTime: TimeStamp? = nil, clusterCreateTime: TimeStamp? = nil, cloneGroupId: String? = nil, preferredBackupWindow: String? = nil, iAMDatabaseAuthenticationEnabled: Bool? = nil, masterUsername: String? = nil, databaseName: String? = nil, engine: String? = nil, dBSubnetGroup: String? = nil, storageEncrypted: Bool? = nil, associatedRoles: DBClusterRoles? = nil, port: Int32? = nil) { self.dBClusterArn = dBClusterArn self.vpcSecurityGroups = vpcSecurityGroups self.readReplicaIdentifiers = readReplicaIdentifiers + self.backtrackConsumedChangeRecords = backtrackConsumedChangeRecords self.backupRetentionPeriod = backupRetentionPeriod self.hostedZoneId = hostedZoneId self.characterSetName = characterSetName @@ -7262,8 +7680,10 @@ extension Rds { self.dBClusterIdentifier = dBClusterIdentifier self.preferredMaintenanceWindow = preferredMaintenanceWindow self.dBClusterParameterGroup = dBClusterParameterGroup + self.enabledCloudwatchLogsExports = enabledCloudwatchLogsExports self.replicationSourceIdentifier = replicationSourceIdentifier self.percentProgress = percentProgress + self.backtrackWindow = backtrackWindow self.readerEndpoint = readerEndpoint self.dbClusterResourceId = dbClusterResourceId self.endpoint = endpoint @@ -7272,6 +7692,7 @@ extension Rds { self.dBClusterOptionGroupMemberships = dBClusterOptionGroupMemberships self.multiAZ = multiAZ self.dBClusterMembers = dBClusterMembers + self.earliestBacktrackTime = earliestBacktrackTime self.allocatedStorage = allocatedStorage self.earliestRestorableTime = earliestRestorableTime self.clusterCreateTime = clusterCreateTime @@ -7291,6 +7712,7 @@ extension Rds { case dBClusterArn = "DBClusterArn" case vpcSecurityGroups = "VpcSecurityGroups" case readReplicaIdentifiers = "ReadReplicaIdentifiers" + case backtrackConsumedChangeRecords = "BacktrackConsumedChangeRecords" case backupRetentionPeriod = "BackupRetentionPeriod" case hostedZoneId = "HostedZoneId" case characterSetName = "CharacterSetName" @@ -7300,8 +7722,10 @@ extension Rds { case dBClusterIdentifier = "DBClusterIdentifier" case preferredMaintenanceWindow = "PreferredMaintenanceWindow" case dBClusterParameterGroup = "DBClusterParameterGroup" + case enabledCloudwatchLogsExports = "EnabledCloudwatchLogsExports" case replicationSourceIdentifier = "ReplicationSourceIdentifier" case percentProgress = "PercentProgress" + case backtrackWindow = "BacktrackWindow" case readerEndpoint = "ReaderEndpoint" case dbClusterResourceId = "DbClusterResourceId" case endpoint = "Endpoint" @@ -7310,6 +7734,7 @@ extension Rds { case dBClusterOptionGroupMemberships = "DBClusterOptionGroupMemberships" case multiAZ = "MultiAZ" case dBClusterMembers = "DBClusterMembers" + case earliestBacktrackTime = "EarliestBacktrackTime" case allocatedStorage = "AllocatedStorage" case earliestRestorableTime = "EarliestRestorableTime" case clusterCreateTime = "ClusterCreateTime" @@ -7326,33 +7751,49 @@ extension Rds { } } - public struct CreateDBClusterSnapshotResult: AWSShape { + public struct ModifyDBSnapshotAttributeMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBClusterSnapshot", required: false, type: .structure) + AWSShapeMember(label: "AttributeName", required: true, type: .string), + AWSShapeMember(label: "ValuesToAdd", required: false, type: .structure), + AWSShapeMember(label: "ValuesToRemove", required: false, type: .structure), + AWSShapeMember(label: "DBSnapshotIdentifier", required: true, type: .string) ] - public let dBClusterSnapshot: DBClusterSnapshot? + /// 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. + public let attributeName: String + /// 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. + public let valuesToAdd: AttributeValueList? + /// 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. + public let valuesToRemove: AttributeValueList? + /// The identifier for the DB snapshot to modify the attributes for. + public let dBSnapshotIdentifier: String - public init(dBClusterSnapshot: DBClusterSnapshot? = nil) { - self.dBClusterSnapshot = dBClusterSnapshot + public init(attributeName: String, valuesToAdd: AttributeValueList? = nil, valuesToRemove: AttributeValueList? = nil, dBSnapshotIdentifier: String) { + self.attributeName = attributeName + self.valuesToAdd = valuesToAdd + self.valuesToRemove = valuesToRemove + self.dBSnapshotIdentifier = dBSnapshotIdentifier } private enum CodingKeys: String, CodingKey { - case dBClusterSnapshot = "DBClusterSnapshot" + case attributeName = "AttributeName" + case valuesToAdd = "ValuesToAdd" + case valuesToRemove = "ValuesToRemove" + case dBSnapshotIdentifier = "DBSnapshotIdentifier" } } - public struct ModifyDBClusterSnapshotAttributeResult: AWSShape { + public struct CreateDBClusterSnapshotResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBClusterSnapshotAttributesResult", required: false, type: .structure) + AWSShapeMember(label: "DBClusterSnapshot", required: false, type: .structure) ] - public let dBClusterSnapshotAttributesResult: DBClusterSnapshotAttributesResult? + public let dBClusterSnapshot: DBClusterSnapshot? - public init(dBClusterSnapshotAttributesResult: DBClusterSnapshotAttributesResult? = nil) { - self.dBClusterSnapshotAttributesResult = dBClusterSnapshotAttributesResult + public init(dBClusterSnapshot: DBClusterSnapshot? = nil) { + self.dBClusterSnapshot = dBClusterSnapshot } private enum CodingKeys: String, CodingKey { - case dBClusterSnapshotAttributesResult = "DBClusterSnapshotAttributesResult" + case dBClusterSnapshot = "DBClusterSnapshot" } } @@ -7371,6 +7812,21 @@ extension Rds { } } + public struct ModifyDBClusterSnapshotAttributeResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterSnapshotAttributesResult", required: false, type: .structure) + ] + public let dBClusterSnapshotAttributesResult: DBClusterSnapshotAttributesResult? + + public init(dBClusterSnapshotAttributesResult: DBClusterSnapshotAttributesResult? = nil) { + self.dBClusterSnapshotAttributesResult = dBClusterSnapshotAttributesResult + } + + private enum CodingKeys: String, CodingKey { + case dBClusterSnapshotAttributesResult = "DBClusterSnapshotAttributesResult" + } + } + public struct ReservedDBInstanceMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Marker", required: false, type: .string), @@ -7531,12 +7987,6 @@ extension Rds { } } - public enum ApplyMethod: String, CustomStringConvertible, Codable { - case immediate = "immediate" - case pendingReboot = "pending-reboot" - public var description: String { return self.rawValue } - } - public struct DomainMembershipList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DomainMembership", required: false, type: .list) @@ -7552,6 +8002,12 @@ extension Rds { } } + public enum ApplyMethod: String, CustomStringConvertible, Codable { + case immediate = "immediate" + case pendingReboot = "pending-reboot" + public var description: String { return self.rawValue } + } + public struct RestoreDBInstanceToPointInTimeResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBInstance", required: false, type: .structure) @@ -7822,27 +8278,6 @@ extension Rds { } } - public struct ModifyDBParameterGroupMessage: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Parameters", required: true, type: .structure), - AWSShapeMember(label: "DBParameterGroupName", required: true, type: .string) - ] - /// 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. - public let parameters: ParametersList - /// The name of the DB parameter group. Constraints: If supplied, must match the name of an existing DBParameterGroup. - public let dBParameterGroupName: String - - public init(parameters: ParametersList, dBParameterGroupName: String) { - self.parameters = parameters - self.dBParameterGroupName = dBParameterGroupName - } - - private enum CodingKeys: String, CodingKey { - case parameters = "Parameters" - case dBParameterGroupName = "DBParameterGroupName" - } - } - public struct DescribeCertificatesMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxRecords", required: false, type: .integer), @@ -7874,6 +8309,27 @@ extension Rds { } } + public struct ModifyDBParameterGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Parameters", required: true, type: .structure), + AWSShapeMember(label: "DBParameterGroupName", required: true, type: .string) + ] + /// 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. + public let parameters: ParametersList + /// The name of the DB parameter group. Constraints: If supplied, must match the name of an existing DBParameterGroup. + public let dBParameterGroupName: String + + public init(parameters: ParametersList, dBParameterGroupName: String) { + self.parameters = parameters + self.dBParameterGroupName = dBParameterGroupName + } + + private enum CodingKeys: String, CodingKey { + case parameters = "Parameters" + case dBParameterGroupName = "DBParameterGroupName" + } + } + public struct StopDBInstanceMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DBSnapshotIdentifier", required: false, type: .string), @@ -7974,33 +8430,33 @@ extension Rds { } } - public struct CopyDBClusterParameterGroupResult: AWSShape { + public struct DBSecurityGroupMembershipList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBClusterParameterGroup", required: false, type: .structure) + AWSShapeMember(label: "DBSecurityGroup", required: false, type: .list) ] - public let dBClusterParameterGroup: DBClusterParameterGroup? + public let dBSecurityGroup: [DBSecurityGroupMembership]? - public init(dBClusterParameterGroup: DBClusterParameterGroup? = nil) { - self.dBClusterParameterGroup = dBClusterParameterGroup + public init(dBSecurityGroup: [DBSecurityGroupMembership]? = nil) { + self.dBSecurityGroup = dBSecurityGroup } private enum CodingKeys: String, CodingKey { - case dBClusterParameterGroup = "DBClusterParameterGroup" + case dBSecurityGroup = "DBSecurityGroup" } } - public struct DBSecurityGroupMembershipList: AWSShape { + public struct CopyDBClusterParameterGroupResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DBSecurityGroup", required: false, type: .list) + AWSShapeMember(label: "DBClusterParameterGroup", required: false, type: .structure) ] - public let dBSecurityGroup: [DBSecurityGroupMembership]? + public let dBClusterParameterGroup: DBClusterParameterGroup? - public init(dBSecurityGroup: [DBSecurityGroupMembership]? = nil) { - self.dBSecurityGroup = dBSecurityGroup + public init(dBClusterParameterGroup: DBClusterParameterGroup? = nil) { + self.dBClusterParameterGroup = dBClusterParameterGroup } private enum CodingKeys: String, CodingKey { - case dBSecurityGroup = "DBSecurityGroup" + case dBClusterParameterGroup = "DBClusterParameterGroup" } } @@ -8092,6 +8548,7 @@ extension Rds { AWSShapeMember(label: "EngineVersion", required: false, type: .string), AWSShapeMember(label: "EnableIAMDatabaseAuthentication", required: false, type: .boolean), AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), + AWSShapeMember(label: "BacktrackWindow", required: false, type: .long), AWSShapeMember(label: "KmsKeyId", required: false, type: .string), AWSShapeMember(label: "AvailabilityZones", required: false, type: .structure), AWSShapeMember(label: "Tags", required: false, type: .structure), @@ -8099,6 +8556,7 @@ extension Rds { AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), AWSShapeMember(label: "SourceEngine", required: true, type: .string), AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), + AWSShapeMember(label: "EnableCloudwatchLogsExports", required: false, type: .list), AWSShapeMember(label: "S3BucketName", required: true, type: .string), AWSShapeMember(label: "OptionGroupName", required: false, type: .string), AWSShapeMember(label: "MasterUsername", required: true, type: .string), @@ -8120,12 +8578,14 @@ extension Rds { public let characterSetName: String? /// 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 public let dBClusterIdentifier: String - /// The version number of the database engine to use. Aurora Example: 5.6.10a + /// The version number of the database engine to use. Aurora MySQL Example: 5.6.10a Aurora PostgreSQL Example: 9.6.3 public let engineVersion: String? /// True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false. Default: false public let enableIAMDatabaseAuthentication: Bool? /// 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 RDS User Guide. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute window. public let preferredMaintenanceWindow: String? + /// 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). + public let backtrackWindow: Int64? /// 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. public let kmsKeyId: String? /// A list of EC2 Availability Zones that instances in the restored DB cluster can be created in. @@ -8139,6 +8599,8 @@ extension Rds { public let sourceEngine: String /// 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. public let preferredBackupWindow: String? + /// The list of logs that the restored DB cluster is to export to CloudWatch Logs. + public let enableCloudwatchLogsExports: [String]? /// The name of the Amazon S3 bucket that contains the data used to create the Amazon Aurora DB cluster. public let s3BucketName: String /// 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. @@ -8160,7 +8622,7 @@ extension Rds { /// 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. public let s3IngestionRoleArn: String - public init(masterUserPassword: String, backupRetentionPeriod: Int32? = nil, s3Prefix: String? = nil, characterSetName: String? = nil, dBClusterIdentifier: String, engineVersion: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, preferredMaintenanceWindow: String? = nil, kmsKeyId: String? = nil, availabilityZones: AvailabilityZones? = nil, tags: TagList? = nil, sourceEngineVersion: String, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, sourceEngine: String, preferredBackupWindow: String? = nil, s3BucketName: String, optionGroupName: String? = nil, masterUsername: String, dBSubnetGroupName: String? = nil, databaseName: String? = nil, engine: String, storageEncrypted: Bool? = nil, dBClusterParameterGroupName: String? = nil, port: Int32? = nil, s3IngestionRoleArn: String) { + public init(masterUserPassword: String, backupRetentionPeriod: Int32? = nil, s3Prefix: String? = nil, characterSetName: String? = nil, dBClusterIdentifier: String, engineVersion: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, preferredMaintenanceWindow: String? = nil, backtrackWindow: Int64? = nil, kmsKeyId: String? = nil, availabilityZones: AvailabilityZones? = nil, tags: TagList? = nil, sourceEngineVersion: String, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, sourceEngine: String, preferredBackupWindow: String? = nil, enableCloudwatchLogsExports: [String]? = nil, s3BucketName: String, optionGroupName: String? = nil, masterUsername: String, dBSubnetGroupName: String? = nil, databaseName: String? = nil, engine: String, storageEncrypted: Bool? = nil, dBClusterParameterGroupName: String? = nil, port: Int32? = nil, s3IngestionRoleArn: String) { self.masterUserPassword = masterUserPassword self.backupRetentionPeriod = backupRetentionPeriod self.s3Prefix = s3Prefix @@ -8169,6 +8631,7 @@ extension Rds { self.engineVersion = engineVersion self.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication self.preferredMaintenanceWindow = preferredMaintenanceWindow + self.backtrackWindow = backtrackWindow self.kmsKeyId = kmsKeyId self.availabilityZones = availabilityZones self.tags = tags @@ -8176,6 +8639,7 @@ extension Rds { self.vpcSecurityGroupIds = vpcSecurityGroupIds self.sourceEngine = sourceEngine self.preferredBackupWindow = preferredBackupWindow + self.enableCloudwatchLogsExports = enableCloudwatchLogsExports self.s3BucketName = s3BucketName self.optionGroupName = optionGroupName self.masterUsername = masterUsername @@ -8197,6 +8661,7 @@ extension Rds { case engineVersion = "EngineVersion" case enableIAMDatabaseAuthentication = "EnableIAMDatabaseAuthentication" case preferredMaintenanceWindow = "PreferredMaintenanceWindow" + case backtrackWindow = "BacktrackWindow" case kmsKeyId = "KmsKeyId" case availabilityZones = "AvailabilityZones" case tags = "Tags" @@ -8204,6 +8669,7 @@ extension Rds { case vpcSecurityGroupIds = "VpcSecurityGroupIds" case sourceEngine = "SourceEngine" case preferredBackupWindow = "PreferredBackupWindow" + case enableCloudwatchLogsExports = "EnableCloudwatchLogsExports" case s3BucketName = "S3BucketName" case optionGroupName = "OptionGroupName" case masterUsername = "MasterUsername" @@ -8245,7 +8711,7 @@ extension Rds { public let offeringType: String? /// The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class. public let dBInstanceClass: String? - /// Product description filter value. Specify this parameter to show only the available offerings matching the specified product description. + /// 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. public let productDescription: String? public init(maxRecords: Int32? = nil, multiAZ: Bool? = nil, marker: String? = nil, filters: FilterList? = nil, reservedDBInstancesOfferingId: String? = nil, duration: String? = nil, offeringType: String? = nil, dBInstanceClass: String? = nil, productDescription: String? = nil) { @@ -8273,6 +8739,27 @@ extension Rds { } } + public struct DBClusterBacktrackMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DBClusterBacktracks", required: false, type: .structure), + AWSShapeMember(label: "Marker", required: false, type: .string) + ] + /// Contains a list of backtracks for the user. + public let dBClusterBacktracks: DBClusterBacktrackList? + /// A pagination token that can be used in a subsequent DescribeDBClusterBacktracks request. + public let marker: String? + + public init(dBClusterBacktracks: DBClusterBacktrackList? = nil, marker: String? = nil) { + self.dBClusterBacktracks = dBClusterBacktracks + self.marker = marker + } + + private enum CodingKeys: String, CodingKey { + case dBClusterBacktracks = "DBClusterBacktracks" + case marker = "Marker" + } + } + public struct DBEngineVersionMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Marker", required: false, type: .string), @@ -8354,13 +8841,15 @@ extension Rds { public struct CreateDBClusterMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AvailabilityZones", required: false, type: .structure), - AWSShapeMember(label: "DBClusterParameterGroupName", required: false, type: .string), + AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "DatabaseName", required: false, type: .string), AWSShapeMember(label: "Tags", required: false, type: .structure), AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), AWSShapeMember(label: "BackupRetentionPeriod", required: false, type: .integer), AWSShapeMember(label: "CharacterSetName", required: false, type: .string), AWSShapeMember(label: "PreferredBackupWindow", required: false, type: .string), + AWSShapeMember(label: "EnableCloudwatchLogsExports", required: false, type: .list), AWSShapeMember(label: "DBClusterIdentifier", required: true, type: .string), AWSShapeMember(label: "OptionGroupName", required: false, type: .string), AWSShapeMember(label: "EngineVersion", required: false, type: .string), @@ -8370,16 +8859,18 @@ extension Rds { AWSShapeMember(label: "ReplicationSourceIdentifier", required: false, type: .string), AWSShapeMember(label: "PreSignedUrl", required: false, type: .string), AWSShapeMember(label: "Engine", required: true, type: .string), + AWSShapeMember(label: "DBClusterParameterGroupName", required: false, type: .string), AWSShapeMember(label: "StorageEncrypted", required: false, type: .boolean), + AWSShapeMember(label: "BacktrackWindow", required: false, type: .long), AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), - AWSShapeMember(label: "DatabaseName", required: false, type: .string), - AWSShapeMember(label: "Port", required: false, type: .integer), AWSShapeMember(label: "KmsKeyId", required: false, type: .string) ] /// 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 Regions and Availability Zones. public let availabilityZones: AvailabilityZones? - /// 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. - public let dBClusterParameterGroupName: String? + /// 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. + public let port: Int32? + /// 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. + public let databaseName: String? public let tags: TagList? /// A list of EC2 VPC security groups to associate with this DB cluster. public let vpcSecurityGroupIds: VpcSecurityGroupIdList? @@ -8391,11 +8882,13 @@ extension Rds { public let characterSetName: String? /// 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. public let preferredBackupWindow: String? + /// The list of log types that need to be enabled for exporting to CloudWatch Logs. + public let enableCloudwatchLogsExports: [String]? /// 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 public let dBClusterIdentifier: String /// 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. public let optionGroupName: String? - /// The version number of the database engine to use. Aurora Example: 5.6.10a + /// The version number of the database engine to use. Aurora MySQL Example: 5.6.10a, 5.7.12 Aurora PostgreSQL Example: 9.6.3 public let engineVersion: String? /// 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. public let masterUsername: String? @@ -8407,28 +8900,30 @@ extension Rds { public let replicationSourceIdentifier: String? /// 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. public let preSignedUrl: String? - /// The name of the database engine to be used for this DB cluster. Valid Values: aurora, aurora-postgresql + /// 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 public let engine: String + /// 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. + public let dBClusterParameterGroupName: String? /// Specifies whether the DB cluster is encrypted. public let storageEncrypted: Bool? + /// 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). + public let backtrackWindow: Int64? /// 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 RDS User Guide. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute window. public let preferredMaintenanceWindow: String? - /// 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. - public let databaseName: String? - /// The port number on which the instances in the DB cluster accept connections. Default: 3306 - public let port: Int32? /// 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. public let kmsKeyId: String? - public init(availabilityZones: AvailabilityZones? = nil, dBClusterParameterGroupName: String? = nil, tags: TagList? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, masterUserPassword: String? = nil, backupRetentionPeriod: Int32? = nil, characterSetName: String? = nil, preferredBackupWindow: String? = nil, dBClusterIdentifier: String, optionGroupName: String? = nil, engineVersion: String? = nil, masterUsername: String? = nil, dBSubnetGroupName: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, replicationSourceIdentifier: String? = nil, preSignedUrl: String? = nil, engine: String, storageEncrypted: Bool? = nil, preferredMaintenanceWindow: String? = nil, databaseName: String? = nil, port: Int32? = nil, kmsKeyId: String? = nil) { + public init(availabilityZones: AvailabilityZones? = nil, port: Int32? = nil, databaseName: String? = nil, tags: TagList? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, masterUserPassword: String? = nil, backupRetentionPeriod: Int32? = nil, characterSetName: String? = nil, preferredBackupWindow: String? = nil, enableCloudwatchLogsExports: [String]? = nil, dBClusterIdentifier: String, optionGroupName: String? = nil, engineVersion: String? = nil, masterUsername: String? = nil, dBSubnetGroupName: String? = nil, enableIAMDatabaseAuthentication: Bool? = nil, replicationSourceIdentifier: String? = nil, preSignedUrl: String? = nil, engine: String, dBClusterParameterGroupName: String? = nil, storageEncrypted: Bool? = nil, backtrackWindow: Int64? = nil, preferredMaintenanceWindow: String? = nil, kmsKeyId: String? = nil) { self.availabilityZones = availabilityZones - self.dBClusterParameterGroupName = dBClusterParameterGroupName + self.port = port + self.databaseName = databaseName self.tags = tags self.vpcSecurityGroupIds = vpcSecurityGroupIds self.masterUserPassword = masterUserPassword self.backupRetentionPeriod = backupRetentionPeriod self.characterSetName = characterSetName self.preferredBackupWindow = preferredBackupWindow + self.enableCloudwatchLogsExports = enableCloudwatchLogsExports self.dBClusterIdentifier = dBClusterIdentifier self.optionGroupName = optionGroupName self.engineVersion = engineVersion @@ -8438,22 +8933,24 @@ extension Rds { self.replicationSourceIdentifier = replicationSourceIdentifier self.preSignedUrl = preSignedUrl self.engine = engine + self.dBClusterParameterGroupName = dBClusterParameterGroupName self.storageEncrypted = storageEncrypted + self.backtrackWindow = backtrackWindow self.preferredMaintenanceWindow = preferredMaintenanceWindow - self.databaseName = databaseName - self.port = port self.kmsKeyId = kmsKeyId } private enum CodingKeys: String, CodingKey { case availabilityZones = "AvailabilityZones" - case dBClusterParameterGroupName = "DBClusterParameterGroupName" + case port = "Port" + case databaseName = "DatabaseName" case tags = "Tags" case vpcSecurityGroupIds = "VpcSecurityGroupIds" case masterUserPassword = "MasterUserPassword" case backupRetentionPeriod = "BackupRetentionPeriod" case characterSetName = "CharacterSetName" case preferredBackupWindow = "PreferredBackupWindow" + case enableCloudwatchLogsExports = "EnableCloudwatchLogsExports" case dBClusterIdentifier = "DBClusterIdentifier" case optionGroupName = "OptionGroupName" case engineVersion = "EngineVersion" @@ -8463,10 +8960,10 @@ extension Rds { case replicationSourceIdentifier = "ReplicationSourceIdentifier" case preSignedUrl = "PreSignedUrl" case engine = "Engine" + case dBClusterParameterGroupName = "DBClusterParameterGroupName" case storageEncrypted = "StorageEncrypted" + case backtrackWindow = "BacktrackWindow" case preferredMaintenanceWindow = "PreferredMaintenanceWindow" - case databaseName = "DatabaseName" - case port = "Port" case kmsKeyId = "KmsKeyId" } } @@ -8590,8 +9087,9 @@ extension Rds { public struct DBSnapshot: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Port", required: false, type: .integer), + AWSShapeMember(label: "DBInstanceIdentifier", required: false, type: .string), AWSShapeMember(label: "Encrypted", required: false, type: .boolean), + AWSShapeMember(label: "ProcessorFeatures", required: false, type: .structure), AWSShapeMember(label: "Iops", required: false, type: .integer), AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), AWSShapeMember(label: "SourceDBSnapshotIdentifier", required: false, type: .string), @@ -8615,12 +9113,14 @@ extension Rds { AWSShapeMember(label: "MasterUsername", required: false, type: .string), AWSShapeMember(label: "Engine", required: false, type: .string), AWSShapeMember(label: "DBSnapshotIdentifier", required: false, type: .string), - AWSShapeMember(label: "DBInstanceIdentifier", required: false, type: .string) + AWSShapeMember(label: "Port", required: false, type: .integer) ] - /// Specifies the port that the database engine was listening on at the time of the snapshot. - public let port: Int32? + /// Specifies the DB instance identifier of the DB instance this DB snapshot was created from. + public let dBInstanceIdentifier: String? /// Specifies whether the DB snapshot is encrypted. public let encrypted: Bool? + /// 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. + public let processorFeatures: ProcessorFeatureList? /// Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot. public let iops: Int32? /// Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot. @@ -8645,7 +9145,7 @@ extension Rds { public let instanceCreateTime: TimeStamp? /// The AWS Region that the DB snapshot was created in or copied from. public let sourceRegion: String? - /// Specifies the allocated storage size in gigabytes (GB). + /// Specifies the allocated storage size in gibibytes (GiB). public let allocatedStorage: Int32? /// Specifies the storage type associated with DB snapshot. public let storageType: String? @@ -8667,12 +9167,13 @@ extension Rds { public let engine: String? /// Specifies the identifier for the DB snapshot. public let dBSnapshotIdentifier: String? - /// Specifies the DB instance identifier of the DB instance this DB snapshot was created from. - public let dBInstanceIdentifier: String? + /// Specifies the port that the database engine was listening on at the time of the snapshot. + public let port: Int32? - public init(port: Int32? = nil, encrypted: Bool? = nil, iops: Int32? = nil, availabilityZone: String? = nil, sourceDBSnapshotIdentifier: String? = nil, status: String? = nil, engineVersion: String? = nil, vpcId: String? = nil, percentProgress: Int32? = nil, snapshotCreateTime: TimeStamp? = nil, dBSnapshotArn: String? = nil, kmsKeyId: String? = nil, instanceCreateTime: TimeStamp? = nil, sourceRegion: String? = nil, allocatedStorage: Int32? = nil, storageType: String? = nil, tdeCredentialArn: String? = nil, timezone: String? = nil, snapshotType: String? = nil, licenseModel: String? = nil, iAMDatabaseAuthenticationEnabled: Bool? = nil, optionGroupName: String? = nil, masterUsername: String? = nil, engine: String? = nil, dBSnapshotIdentifier: String? = nil, dBInstanceIdentifier: String? = nil) { - self.port = port + public init(dBInstanceIdentifier: String? = nil, encrypted: Bool? = nil, processorFeatures: ProcessorFeatureList? = nil, iops: Int32? = nil, availabilityZone: String? = nil, sourceDBSnapshotIdentifier: String? = nil, status: String? = nil, engineVersion: String? = nil, vpcId: String? = nil, percentProgress: Int32? = nil, snapshotCreateTime: TimeStamp? = nil, dBSnapshotArn: String? = nil, kmsKeyId: String? = nil, instanceCreateTime: TimeStamp? = nil, sourceRegion: String? = nil, allocatedStorage: Int32? = nil, storageType: String? = nil, tdeCredentialArn: String? = nil, timezone: String? = nil, snapshotType: String? = nil, licenseModel: String? = nil, iAMDatabaseAuthenticationEnabled: Bool? = nil, optionGroupName: String? = nil, masterUsername: String? = nil, engine: String? = nil, dBSnapshotIdentifier: String? = nil, port: Int32? = nil) { + self.dBInstanceIdentifier = dBInstanceIdentifier self.encrypted = encrypted + self.processorFeatures = processorFeatures self.iops = iops self.availabilityZone = availabilityZone self.sourceDBSnapshotIdentifier = sourceDBSnapshotIdentifier @@ -8696,12 +9197,13 @@ extension Rds { self.masterUsername = masterUsername self.engine = engine self.dBSnapshotIdentifier = dBSnapshotIdentifier - self.dBInstanceIdentifier = dBInstanceIdentifier + self.port = port } private enum CodingKeys: String, CodingKey { - case port = "Port" + case dBInstanceIdentifier = "DBInstanceIdentifier" case encrypted = "Encrypted" + case processorFeatures = "ProcessorFeatures" case iops = "Iops" case availabilityZone = "AvailabilityZone" case sourceDBSnapshotIdentifier = "SourceDBSnapshotIdentifier" @@ -8725,7 +9227,7 @@ extension Rds { case masterUsername = "MasterUsername" case engine = "Engine" case dBSnapshotIdentifier = "DBSnapshotIdentifier" - case dBInstanceIdentifier = "DBInstanceIdentifier" + case port = "Port" } } diff --git a/Sources/AWSSDKSwift/Services/redshift/Redshift_API.swift b/Sources/AWSSDKSwift/Services/redshift/Redshift_API.swift index 3d43fc976c7..8d1c8338c7b 100644 --- a/Sources/AWSSDKSwift/Services/redshift/Redshift_API.swift +++ b/Sources/AWSSDKSwift/Services/redshift/Redshift_API.swift @@ -79,6 +79,16 @@ public struct Redshift { return try client.send(operation: "DescribeSnapshotCopyGrants", path: "/", httpMethod: "POST", input: input) } + /// Returns an array of ClusterDbRevision objects. + public func describeClusterDbRevisions(_ input: DescribeClusterDbRevisionsMessage) throws -> ClusterDbRevisionsMessage { + return try client.send(operation: "DescribeClusterDbRevisions", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func acceptReservedNodeExchange(_ input: AcceptReservedNodeExchangeInputMessage) throws -> AcceptReservedNodeExchangeOutputMessage { + return try client.send(operation: "AcceptReservedNodeExchange", path: "/", httpMethod: "POST", input: input) + } + /// Modifies an existing Amazon Redshift event notification subscription. public func modifyEventSubscription(_ input: ModifyEventSubscriptionMessage) throws -> ModifyEventSubscriptionResult { return try client.send(operation: "ModifyEventSubscription", path: "/", httpMethod: "POST", input: input) @@ -109,7 +119,7 @@ public struct Redshift { return try client.send(operation: "CreateClusterSecurityGroup", path: "/", httpMethod: "POST", input: input) } - /// Adds one or more tags to a specified resource. A resource can have up to 10 tags. If you try to create more than 10 tags for a resource, you will receive an error and the attempt will fail. If you specify a key that already exists for the resource, the value for that key will be updated with the new value. + /// 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. public func createTags(_ input: CreateTagsMessage) throws { _ = try client.send(operation: "CreateTags", path: "/", httpMethod: "POST", input: input) } @@ -219,7 +229,7 @@ public struct Redshift { _ = try client.send(operation: "DeleteClusterSecurityGroup", path: "/", httpMethod: "POST", input: input) } - /// Creates a new cluster. To create the cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide. + /// 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. public func createCluster(_ input: CreateClusterMessage) throws -> CreateClusterResult { return try client.send(operation: "CreateCluster", path: "/", httpMethod: "POST", input: input) } @@ -254,11 +264,6 @@ public struct Redshift { return try client.send(operation: "CreateHsmConfiguration", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func describeHsmClientCertificates(_ input: DescribeHsmClientCertificatesMessage) throws -> HsmClientCertificateMessage { - return try client.send(operation: "DescribeHsmClientCertificates", path: "/", httpMethod: "POST", input: input) - } - /// 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. public func createClusterSubnetGroup(_ input: CreateClusterSubnetGroupMessage) throws -> CreateClusterSubnetGroupResult { return try client.send(operation: "CreateClusterSubnetGroup", path: "/", httpMethod: "POST", input: input) @@ -279,6 +284,11 @@ public struct Redshift { return try client.send(operation: "EnableSnapshotCopy", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describeHsmClientCertificates(_ input: DescribeHsmClientCertificatesMessage) throws -> HsmClientCertificateMessage { + return try client.send(operation: "DescribeHsmClientCertificates", path: "/", httpMethod: "POST", input: input) + } + /// Describes whether information, such as queries and connection attempts, is being logged for the specified Amazon Redshift cluster. public func describeLoggingStatus(_ input: DescribeLoggingStatusMessage) throws -> LoggingStatus { return try client.send(operation: "DescribeLoggingStatus", path: "/", httpMethod: "POST", input: input) @@ -309,6 +319,16 @@ public struct Redshift { return try client.send(operation: "DescribeClusterVersions", path: "/", httpMethod: "POST", input: input) } + /// Modifies the database revision of a cluster. The database revision is a unique revision of the database running in a cluster. + public func modifyClusterDbRevision(_ input: ModifyClusterDbRevisionMessage) throws -> ModifyClusterDbRevisionResult { + return try client.send(operation: "ModifyClusterDbRevision", path: "/", httpMethod: "POST", input: input) + } + + /// Returns an array of DC2 ReservedNodeOfferings that matches the payment type, term, and usage price of the given DC1 reserved node. + public func getReservedNodeExchangeOfferings(_ input: GetReservedNodeExchangeOfferingsInputMessage) throws -> GetReservedNodeExchangeOfferingsOutputMessage { + return try client.send(operation: "GetReservedNodeExchangeOfferings", path: "/", httpMethod: "POST", input: input) + } + /// Deletes an Amazon Redshift event notification subscription. public func deleteEventSubscription(_ input: DeleteEventSubscriptionMessage) throws { _ = try client.send(operation: "DeleteEventSubscription", path: "/", httpMethod: "POST", input: input) @@ -319,6 +339,11 @@ public struct Redshift { return try client.send(operation: "ModifySnapshotCopyRetentionPeriod", path: "/", httpMethod: "POST", input: input) } + /// Returns a list of all the available maintenance tracks. + public func describeClusterTracks(_ input: DescribeClusterTracksMessage) throws -> TrackListMessage { + return try client.send(operation: "DescribeClusterTracks", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func copyClusterSnapshot(_ input: CopyClusterSnapshotMessage) throws -> CopyClusterSnapshotResult { return try client.send(operation: "CopyClusterSnapshot", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/redshift/Redshift_Error.swift b/Sources/AWSSDKSwift/Services/redshift/Redshift_Error.swift index 3cef6cd06d1..1a067bbcb2c 100644 --- a/Sources/AWSSDKSwift/Services/redshift/Redshift_Error.swift +++ b/Sources/AWSSDKSwift/Services/redshift/Redshift_Error.swift @@ -22,6 +22,11 @@ public enum RedshiftError: AWSErrorType { case tagLimitExceededFault(message: String?) case resourceNotFoundFault(message: String?) case snapshotCopyGrantNotFoundFault(message: String?) + case invalidReservedNodeStateFault(message: String?) + case reservedNodeAlreadyMigratedFault(message: String?) + case reservedNodeOfferingNotFoundFault(message: String?) + case unsupportedOperationFault(message: String?) + case reservedNodeAlreadyExistsFault(message: String?) case subscriptionNotFoundFault(message: String?) case sNSInvalidTopicFault(message: String?) case sNSNoAuthorizationFault(message: String?) @@ -48,10 +53,7 @@ public enum RedshiftError: AWSErrorType { case clusterParameterGroupAlreadyExistsFault(message: String?) case clusterSnapshotAlreadyExistsFault(message: String?) case clusterSnapshotQuotaExceededFault(message: String?) - case reservedNodeOfferingNotFoundFault(message: String?) - case reservedNodeAlreadyExistsFault(message: String?) case reservedNodeQuotaExceededFault(message: String?) - case unsupportedOperationFault(message: String?) case invalidHsmConfigurationStateFault(message: String?) case bucketNotFoundFault(message: String?) case insufficientS3BucketPolicyFault(message: String?) @@ -71,6 +73,7 @@ public enum RedshiftError: AWSErrorType { case invalidVPCNetworkStateFault(message: String?) case invalidClusterSubnetGroupStateFault(message: String?) case invalidElasticIpFault(message: String?) + case invalidClusterTrackFault(message: String?) case eventSubscriptionQuotaExceededFault(message: String?) case subscriptionAlreadyExistFault(message: String?) case hsmConfigurationAlreadyExistsFault(message: String?) @@ -84,10 +87,12 @@ public enum RedshiftError: AWSErrorType { case snapshotCopyGrantAlreadyExistsFault(message: String?) case snapshotCopyGrantQuotaExceededFault(message: String?) case invalidClusterSubnetStateFault(message: String?) + case clusterOnLatestRevisionFault(message: String?) case snapshotCopyDisabledFault(message: String?) case invalidSnapshotCopyGrantStateFault(message: String?) case invalidRestoreFault(message: String?) case unsupportedOptionFault(message: String?) + case tableLimitExceededFault(message: String?) } extension RedshiftError { @@ -133,6 +138,16 @@ extension RedshiftError { self = .resourceNotFoundFault(message: message) case "SnapshotCopyGrantNotFoundFault": self = .snapshotCopyGrantNotFoundFault(message: message) + case "InvalidReservedNodeStateFault": + self = .invalidReservedNodeStateFault(message: message) + case "ReservedNodeAlreadyMigratedFault": + self = .reservedNodeAlreadyMigratedFault(message: message) + case "ReservedNodeOfferingNotFoundFault": + self = .reservedNodeOfferingNotFoundFault(message: message) + case "UnsupportedOperationFault": + self = .unsupportedOperationFault(message: message) + case "ReservedNodeAlreadyExistsFault": + self = .reservedNodeAlreadyExistsFault(message: message) case "SubscriptionNotFoundFault": self = .subscriptionNotFoundFault(message: message) case "SNSInvalidTopicFault": @@ -185,14 +200,8 @@ extension RedshiftError { self = .clusterSnapshotAlreadyExistsFault(message: message) case "ClusterSnapshotQuotaExceededFault": self = .clusterSnapshotQuotaExceededFault(message: message) - case "ReservedNodeOfferingNotFoundFault": - self = .reservedNodeOfferingNotFoundFault(message: message) - case "ReservedNodeAlreadyExistsFault": - self = .reservedNodeAlreadyExistsFault(message: message) case "ReservedNodeQuotaExceededFault": self = .reservedNodeQuotaExceededFault(message: message) - case "UnsupportedOperationFault": - self = .unsupportedOperationFault(message: message) case "InvalidHsmConfigurationStateFault": self = .invalidHsmConfigurationStateFault(message: message) case "BucketNotFoundFault": @@ -231,6 +240,8 @@ extension RedshiftError { self = .invalidClusterSubnetGroupStateFault(message: message) case "InvalidElasticIpFault": self = .invalidElasticIpFault(message: message) + case "InvalidClusterTrackFault": + self = .invalidClusterTrackFault(message: message) case "EventSubscriptionQuotaExceededFault": self = .eventSubscriptionQuotaExceededFault(message: message) case "SubscriptionAlreadyExistFault": @@ -257,6 +268,8 @@ extension RedshiftError { self = .snapshotCopyGrantQuotaExceededFault(message: message) case "InvalidClusterSubnetStateFault": self = .invalidClusterSubnetStateFault(message: message) + case "ClusterOnLatestRevisionFault": + self = .clusterOnLatestRevisionFault(message: message) case "SnapshotCopyDisabledFault": self = .snapshotCopyDisabledFault(message: message) case "InvalidSnapshotCopyGrantStateFault": @@ -265,6 +278,8 @@ extension RedshiftError { self = .invalidRestoreFault(message: message) case "UnsupportedOptionFault": self = .unsupportedOptionFault(message: message) + case "TableLimitExceededFault": + self = .tableLimitExceededFault(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/redshift/Redshift_Shapes.swift b/Sources/AWSSDKSwift/Services/redshift/Redshift_Shapes.swift index 7e26dea79ab..ba70e8b17f3 100644 --- a/Sources/AWSSDKSwift/Services/redshift/Redshift_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/redshift/Redshift_Shapes.swift @@ -110,30 +110,30 @@ extension Redshift { public struct AuthorizeClusterSecurityGroupIngressMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CIDRIP", required: false, type: .string), AWSShapeMember(label: "EC2SecurityGroupName", required: false, type: .string), + AWSShapeMember(label: "CIDRIP", required: false, type: .string), AWSShapeMember(label: "EC2SecurityGroupOwnerId", required: false, type: .string), AWSShapeMember(label: "ClusterSecurityGroupName", required: true, type: .string) ] - /// The IP range to be added the Amazon Redshift security group. - public let cidrip: String? /// The EC2 security group to be added the Amazon Redshift security group. public let eC2SecurityGroupName: String? + /// The IP range to be added the Amazon Redshift security group. + public let cidrip: String? /// 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 public let eC2SecurityGroupOwnerId: String? /// The name of the security group to which the ingress rule is added. public let clusterSecurityGroupName: String - public init(cidrip: String? = nil, eC2SecurityGroupName: String? = nil, eC2SecurityGroupOwnerId: String? = nil, clusterSecurityGroupName: String) { - self.cidrip = cidrip + public init(eC2SecurityGroupName: String? = nil, cidrip: String? = nil, eC2SecurityGroupOwnerId: String? = nil, clusterSecurityGroupName: String) { self.eC2SecurityGroupName = eC2SecurityGroupName + self.cidrip = cidrip self.eC2SecurityGroupOwnerId = eC2SecurityGroupOwnerId self.clusterSecurityGroupName = clusterSecurityGroupName } private enum CodingKeys: String, CodingKey { - case cidrip = "CIDRIP" case eC2SecurityGroupName = "EC2SecurityGroupName" + case cidrip = "CIDRIP" case eC2SecurityGroupOwnerId = "EC2SecurityGroupOwnerId" case clusterSecurityGroupName = "ClusterSecurityGroupName" } @@ -158,7 +158,7 @@ extension Redshift { public let durationSeconds: Int32? /// Create a database user with the name specified for the user named in DbUser if one does not exist. public let autoCreate: Bool? - /// 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 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. + /// 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. public let dbUser: String public init(clusterIdentifier: String, dbGroups: DbGroupList? = nil, dbName: String? = nil, durationSeconds: Int32? = nil, autoCreate: Bool? = nil, dbUser: String) { @@ -554,6 +554,21 @@ extension Redshift { } } + public struct ClusterDbRevisionsList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClusterDbRevision", required: false, type: .list) + ] + public let clusterDbRevision: [ClusterDbRevision]? + + public init(clusterDbRevision: [ClusterDbRevision]? = nil) { + self.clusterDbRevision = clusterDbRevision + } + + private enum CodingKeys: String, CodingKey { + case clusterDbRevision = "ClusterDbRevision" + } + } + public struct TableRestoreStatusList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TableRestoreStatus", required: false, type: .list) @@ -625,6 +640,21 @@ extension Redshift { } } + public struct SupportedPlatform: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string) + ] + public let name: String? + + public init(name: String? = nil) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + public struct CreateHsmConfigurationMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "HsmPartitionName", required: true, type: .string), @@ -758,6 +788,21 @@ extension Redshift { } } + public struct SupportedPlatformsList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SupportedPlatform", required: false, type: .list) + ] + public let supportedPlatform: [SupportedPlatform]? + + public init(supportedPlatform: [SupportedPlatform]? = nil) { + self.supportedPlatform = supportedPlatform + } + + private enum CodingKeys: String, CodingKey { + case supportedPlatform = "SupportedPlatform" + } + } + public struct ResizeProgressMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Status", required: false, type: .string), @@ -911,6 +956,27 @@ extension Redshift { } } + public struct TrackListMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaintenanceTracks", required: false, type: .structure), + AWSShapeMember(label: "Marker", required: false, type: .string) + ] + /// A list of maintenance tracks output by the DescribeClusterTracks operation. + public let maintenanceTracks: TrackList? + /// 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. + public let marker: String? + + public init(maintenanceTracks: TrackList? = nil, marker: String? = nil) { + self.maintenanceTracks = maintenanceTracks + self.marker = marker + } + + private enum CodingKeys: String, CodingKey { + case maintenanceTracks = "MaintenanceTracks" + case marker = "Marker" + } + } + public struct ClusterIamRoleList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ClusterIamRole", required: false, type: .list) @@ -999,6 +1065,21 @@ extension Redshift { } } + public struct EligibleTracksToUpdateList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UpdateTarget", required: false, type: .list) + ] + public let updateTarget: [UpdateTarget]? + + public init(updateTarget: [UpdateTarget]? = nil) { + self.updateTarget = updateTarget + } + + private enum CodingKeys: String, CodingKey { + case updateTarget = "UpdateTarget" + } + } + public struct DescribeEventsMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StartTime", required: false, type: .timestamp), @@ -1236,30 +1317,30 @@ extension Redshift { public struct ClusterParameterGroup: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ParameterGroupName", required: false, type: .string), AWSShapeMember(label: "ParameterGroupFamily", required: false, type: .string), + AWSShapeMember(label: "ParameterGroupName", required: false, type: .string), AWSShapeMember(label: "Tags", required: false, type: .structure), AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The name of the cluster parameter group. - public let parameterGroupName: String? /// The name of the cluster parameter group family that this cluster parameter group is compatible with. public let parameterGroupFamily: String? + /// The name of the cluster parameter group. + public let parameterGroupName: String? /// The list of tags for the cluster parameter group. public let tags: TagList? /// The description of the parameter group. public let description: String? - public init(parameterGroupName: String? = nil, parameterGroupFamily: String? = nil, tags: TagList? = nil, description: String? = nil) { - self.parameterGroupName = parameterGroupName + public init(parameterGroupFamily: String? = nil, parameterGroupName: String? = nil, tags: TagList? = nil, description: String? = nil) { self.parameterGroupFamily = parameterGroupFamily + self.parameterGroupName = parameterGroupName self.tags = tags self.description = description } private enum CodingKeys: String, CodingKey { - case parameterGroupName = "ParameterGroupName" case parameterGroupFamily = "ParameterGroupFamily" + case parameterGroupName = "ParameterGroupName" case tags = "Tags" case description = "Description" } @@ -1267,71 +1348,75 @@ extension Redshift { public struct ReservedNode: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StartTime", required: false, type: .timestamp), AWSShapeMember(label: "RecurringCharges", required: false, type: .structure), - AWSShapeMember(label: "NodeCount", required: false, type: .integer), AWSShapeMember(label: "UsagePrice", required: false, type: .double), AWSShapeMember(label: "State", required: false, type: .string), AWSShapeMember(label: "NodeType", required: false, type: .string), + AWSShapeMember(label: "OfferingType", required: false, type: .string), + AWSShapeMember(label: "StartTime", required: false, type: .timestamp), + AWSShapeMember(label: "NodeCount", required: false, type: .integer), AWSShapeMember(label: "ReservedNodeId", required: false, type: .string), AWSShapeMember(label: "CurrencyCode", required: false, type: .string), AWSShapeMember(label: "ReservedNodeOfferingId", required: false, type: .string), + AWSShapeMember(label: "ReservedNodeOfferingType", required: false, type: .enum), AWSShapeMember(label: "Duration", required: false, type: .integer), - AWSShapeMember(label: "OfferingType", required: false, type: .string), AWSShapeMember(label: "FixedPrice", required: false, type: .double) ] - /// The time the reservation started. You purchase a reserved node offering for a duration. This is the start time of that duration. - public let startTime: TimeStamp? /// The recurring charges for the reserved node. public let recurringCharges: RecurringChargeList? - /// The number of reserved compute nodes. - public let nodeCount: Int32? /// The hourly rate Amazon Redshift charges you for this reserved node. public let usagePrice: Double? - /// 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. + /// 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. public let state: String? /// The node type of the reserved node. public let nodeType: String? + /// The anticipated utilization of the reserved node, as defined in the reserved node offering. + public let offeringType: String? + /// The time the reservation started. You purchase a reserved node offering for a duration. This is the start time of that duration. + public let startTime: TimeStamp? + /// The number of reserved compute nodes. + public let nodeCount: Int32? /// The unique identifier for the reservation. public let reservedNodeId: String? /// The currency code for the reserved cluster. public let currencyCode: String? /// The identifier for the reserved node offering. public let reservedNodeOfferingId: String? + public let reservedNodeOfferingType: ReservedNodeOfferingType? /// The duration of the node reservation in seconds. public let duration: Int32? - /// The anticipated utilization of the reserved node, as defined in the reserved node offering. - public let offeringType: String? /// The fixed cost Amazon Redshift charges you for this reserved node. public let fixedPrice: Double? - public init(startTime: TimeStamp? = nil, recurringCharges: RecurringChargeList? = nil, nodeCount: Int32? = nil, usagePrice: Double? = nil, state: String? = nil, nodeType: String? = nil, reservedNodeId: String? = nil, currencyCode: String? = nil, reservedNodeOfferingId: String? = nil, duration: Int32? = nil, offeringType: String? = nil, fixedPrice: Double? = nil) { - self.startTime = startTime + public init(recurringCharges: RecurringChargeList? = nil, usagePrice: Double? = nil, state: String? = nil, nodeType: String? = nil, offeringType: String? = nil, startTime: TimeStamp? = nil, nodeCount: Int32? = nil, reservedNodeId: String? = nil, currencyCode: String? = nil, reservedNodeOfferingId: String? = nil, reservedNodeOfferingType: ReservedNodeOfferingType? = nil, duration: Int32? = nil, fixedPrice: Double? = nil) { self.recurringCharges = recurringCharges - self.nodeCount = nodeCount self.usagePrice = usagePrice self.state = state self.nodeType = nodeType + self.offeringType = offeringType + self.startTime = startTime + self.nodeCount = nodeCount self.reservedNodeId = reservedNodeId self.currencyCode = currencyCode self.reservedNodeOfferingId = reservedNodeOfferingId + self.reservedNodeOfferingType = reservedNodeOfferingType self.duration = duration - self.offeringType = offeringType self.fixedPrice = fixedPrice } private enum CodingKeys: String, CodingKey { - case startTime = "StartTime" case recurringCharges = "RecurringCharges" - case nodeCount = "NodeCount" case usagePrice = "UsagePrice" case state = "State" case nodeType = "NodeType" + case offeringType = "OfferingType" + case startTime = "StartTime" + case nodeCount = "NodeCount" case reservedNodeId = "ReservedNodeId" case currencyCode = "CurrencyCode" case reservedNodeOfferingId = "ReservedNodeOfferingId" + case reservedNodeOfferingType = "ReservedNodeOfferingType" case duration = "Duration" - case offeringType = "OfferingType" case fixedPrice = "FixedPrice" } } @@ -1391,14 +1476,15 @@ extension Redshift { AWSShapeMember(label: "AutomatedSnapshotRetentionPeriod", required: false, type: .integer), AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), AWSShapeMember(label: "HsmConfigurationIdentifier", required: false, type: .string), - AWSShapeMember(label: "IamRoles", required: false, type: .structure), + AWSShapeMember(label: "MaintenanceTrackName", required: false, type: .string), AWSShapeMember(label: "SnapshotIdentifier", required: true, type: .string), AWSShapeMember(label: "HsmClientCertificateIdentifier", required: false, type: .string), AWSShapeMember(label: "ElasticIp", required: false, type: .string), AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), - AWSShapeMember(label: "ClusterSubnetGroupName", required: false, type: .string), + AWSShapeMember(label: "IamRoles", required: false, type: .structure), AWSShapeMember(label: "AdditionalInfo", required: false, type: .string), AWSShapeMember(label: "AllowVersionUpgrade", required: false, type: .boolean), + AWSShapeMember(label: "ClusterSubnetGroupName", required: false, type: .string), AWSShapeMember(label: "Port", required: false, type: .integer), AWSShapeMember(label: "KmsKeyId", required: false, type: .string) ] @@ -1412,7 +1498,7 @@ extension Redshift { public let vpcSecurityGroupIds: VpcSecurityGroupIdList? /// 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 public let enhancedVpcRouting: Bool? - /// The node type that the restored cluster will be provisioned with. Default: The node type of the cluster from which the snapshot was taken. You can modify this if you are using any DS node type. In that case, you can choose to restore into another DS node type of the same size. For example, you can restore ds1.8xlarge into ds2.8xlarge, or ds2.xlarge into ds1.xlarge. If you have a DC instance type, you must restore into that same instance type and size. In other words, you can only restore a dc1.large instance type into another dc1.large instance type. For more information about node types, see About Clusters and Nodes in the Amazon Redshift Cluster Management Guide + /// 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. public let nodeType: String? /// 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. public let clusterIdentifier: String @@ -1426,8 +1512,8 @@ extension Redshift { public let publiclyAccessible: Bool? /// 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. public let hsmConfigurationIdentifier: String? - /// 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. - public let iamRoles: IamRoleArnList? + /// 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. + public let maintenanceTrackName: String? /// The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. Example: my-snapshot-id public let snapshotIdentifier: String /// Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM. @@ -1436,18 +1522,20 @@ extension Redshift { public let elasticIp: String? /// 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. public let preferredMaintenanceWindow: String? - /// 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. - public let clusterSubnetGroupName: String? + /// 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. + public let iamRoles: IamRoleArnList? /// Reserved. public let additionalInfo: String? /// 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 public let allowVersionUpgrade: Bool? + /// 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. + public let clusterSubnetGroupName: String? /// The port number on which the cluster accepts connections. Default: The same port as the original cluster. Constraints: Must be between 1115 and 65535. public let port: Int32? /// 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. public let kmsKeyId: String? - public init(clusterSecurityGroups: ClusterSecurityGroupNameList? = nil, snapshotClusterIdentifier: String? = nil, ownerAccount: String? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, enhancedVpcRouting: Bool? = nil, nodeType: String? = nil, clusterIdentifier: String, clusterParameterGroupName: String? = nil, availabilityZone: String? = nil, automatedSnapshotRetentionPeriod: Int32? = nil, publiclyAccessible: Bool? = nil, hsmConfigurationIdentifier: String? = nil, iamRoles: IamRoleArnList? = nil, snapshotIdentifier: String, hsmClientCertificateIdentifier: String? = nil, elasticIp: String? = nil, preferredMaintenanceWindow: String? = nil, clusterSubnetGroupName: String? = nil, additionalInfo: String? = nil, allowVersionUpgrade: Bool? = nil, port: Int32? = nil, kmsKeyId: String? = nil) { + public init(clusterSecurityGroups: ClusterSecurityGroupNameList? = nil, snapshotClusterIdentifier: String? = nil, ownerAccount: String? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, enhancedVpcRouting: Bool? = nil, nodeType: String? = nil, clusterIdentifier: String, clusterParameterGroupName: String? = nil, availabilityZone: String? = nil, automatedSnapshotRetentionPeriod: Int32? = nil, publiclyAccessible: Bool? = nil, hsmConfigurationIdentifier: String? = nil, maintenanceTrackName: String? = nil, snapshotIdentifier: String, hsmClientCertificateIdentifier: String? = nil, elasticIp: String? = nil, preferredMaintenanceWindow: String? = nil, iamRoles: IamRoleArnList? = nil, additionalInfo: String? = nil, allowVersionUpgrade: Bool? = nil, clusterSubnetGroupName: String? = nil, port: Int32? = nil, kmsKeyId: String? = nil) { self.clusterSecurityGroups = clusterSecurityGroups self.snapshotClusterIdentifier = snapshotClusterIdentifier self.ownerAccount = ownerAccount @@ -1460,14 +1548,15 @@ extension Redshift { self.automatedSnapshotRetentionPeriod = automatedSnapshotRetentionPeriod self.publiclyAccessible = publiclyAccessible self.hsmConfigurationIdentifier = hsmConfigurationIdentifier - self.iamRoles = iamRoles + self.maintenanceTrackName = maintenanceTrackName self.snapshotIdentifier = snapshotIdentifier self.hsmClientCertificateIdentifier = hsmClientCertificateIdentifier self.elasticIp = elasticIp self.preferredMaintenanceWindow = preferredMaintenanceWindow - self.clusterSubnetGroupName = clusterSubnetGroupName + self.iamRoles = iamRoles self.additionalInfo = additionalInfo self.allowVersionUpgrade = allowVersionUpgrade + self.clusterSubnetGroupName = clusterSubnetGroupName self.port = port self.kmsKeyId = kmsKeyId } @@ -1485,14 +1574,15 @@ extension Redshift { case automatedSnapshotRetentionPeriod = "AutomatedSnapshotRetentionPeriod" case publiclyAccessible = "PubliclyAccessible" case hsmConfigurationIdentifier = "HsmConfigurationIdentifier" - case iamRoles = "IamRoles" + case maintenanceTrackName = "MaintenanceTrackName" case snapshotIdentifier = "SnapshotIdentifier" case hsmClientCertificateIdentifier = "HsmClientCertificateIdentifier" case elasticIp = "ElasticIp" case preferredMaintenanceWindow = "PreferredMaintenanceWindow" - case clusterSubnetGroupName = "ClusterSubnetGroupName" + case iamRoles = "IamRoles" case additionalInfo = "AdditionalInfo" case allowVersionUpgrade = "AllowVersionUpgrade" + case clusterSubnetGroupName = "ClusterSubnetGroupName" case port = "Port" case kmsKeyId = "KmsKeyId" } @@ -1675,6 +1765,32 @@ extension Redshift { } } + public struct DescribeClusterTracksMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "MaintenanceTrackName", required: false, type: .string), + AWSShapeMember(label: "MaxRecords", required: false, type: .integer) + ] + /// 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. + public let marker: String? + /// The name of the maintenance track. + public let maintenanceTrackName: String? + /// An integer value for the maximum number of maintenance tracks to return. + public let maxRecords: Int32? + + public init(marker: String? = nil, maintenanceTrackName: String? = nil, maxRecords: Int32? = nil) { + self.marker = marker + self.maintenanceTrackName = maintenanceTrackName + self.maxRecords = maxRecords + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case maintenanceTrackName = "MaintenanceTrackName" + case maxRecords = "MaxRecords" + } + } + public struct ClusterVersion: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ClusterVersion", required: false, type: .string), @@ -1701,6 +1817,32 @@ extension Redshift { } } + public struct RevisionTarget: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DatabaseRevisionReleaseDate", required: false, type: .timestamp), + AWSShapeMember(label: "DatabaseRevision", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The date on which the database revision was released. + public let databaseRevisionReleaseDate: TimeStamp? + /// A unique string that identifies the version to update the cluster to. You can use this value in ModifyClusterDbRevision. + public let databaseRevision: String? + /// A string that describes the changes and features that will be applied to the cluster when it is updated to the corresponding ClusterDbRevision. + public let description: String? + + public init(databaseRevisionReleaseDate: TimeStamp? = nil, databaseRevision: String? = nil, description: String? = nil) { + self.databaseRevisionReleaseDate = databaseRevisionReleaseDate + self.databaseRevision = databaseRevision + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case databaseRevisionReleaseDate = "DatabaseRevisionReleaseDate" + case databaseRevision = "DatabaseRevision" + case description = "Description" + } + } + public struct SubnetIdentifierList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SubnetIdentifier", required: false, type: .list) @@ -1828,6 +1970,27 @@ extension Redshift { } } + public struct ModifyClusterDbRevisionMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClusterIdentifier", required: true, type: .string), + AWSShapeMember(label: "RevisionTarget", required: true, type: .string) + ] + /// The unique identifier of a cluster whose database revision you want to modify. Example: examplecluster + public let clusterIdentifier: String + /// The identifier of the database revision. You can retrieve this value from the response to the DescribeClusterDbRevisions request. + public let revisionTarget: String + + public init(clusterIdentifier: String, revisionTarget: String) { + self.clusterIdentifier = clusterIdentifier + self.revisionTarget = revisionTarget + } + + private enum CodingKeys: String, CodingKey { + case clusterIdentifier = "ClusterIdentifier" + case revisionTarget = "RevisionTarget" + } + } + public struct ClusterCredentials: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DbPassword", required: false, type: .string), @@ -1856,30 +2019,30 @@ extension Redshift { public struct CreateClusterParameterGroupMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ParameterGroupName", required: true, type: .string), AWSShapeMember(label: "ParameterGroupFamily", required: true, type: .string), + AWSShapeMember(label: "ParameterGroupName", required: true, type: .string), AWSShapeMember(label: "Tags", required: false, type: .structure), AWSShapeMember(label: "Description", required: true, type: .string) ] - /// 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. - public let parameterGroupName: String /// 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". public let parameterGroupFamily: String + /// 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. + public let parameterGroupName: String /// A list of tag instances. public let tags: TagList? /// A description of the parameter group. public let description: String - public init(parameterGroupName: String, parameterGroupFamily: String, tags: TagList? = nil, description: String) { - self.parameterGroupName = parameterGroupName + public init(parameterGroupFamily: String, parameterGroupName: String, tags: TagList? = nil, description: String) { self.parameterGroupFamily = parameterGroupFamily + self.parameterGroupName = parameterGroupName self.tags = tags self.description = description } private enum CodingKeys: String, CodingKey { - case parameterGroupName = "ParameterGroupName" case parameterGroupFamily = "ParameterGroupFamily" + case parameterGroupName = "ParameterGroupName" case tags = "Tags" case description = "Description" } @@ -1977,9 +2140,9 @@ extension Redshift { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Severity", required: false, type: .string), AWSShapeMember(label: "Message", required: false, type: .string), - AWSShapeMember(label: "SourceType", required: false, type: .enum), AWSShapeMember(label: "EventId", required: false, type: .string), AWSShapeMember(label: "EventCategories", required: false, type: .structure), + AWSShapeMember(label: "SourceType", required: false, type: .enum), AWSShapeMember(label: "SourceIdentifier", required: false, type: .string), AWSShapeMember(label: "Date", required: false, type: .timestamp) ] @@ -1987,23 +2150,23 @@ extension Redshift { public let severity: String? /// The text of this event. public let message: String? - /// The source type for this event. - public let sourceType: SourceType? /// The identifier of the event. public let eventId: String? /// A list of the event categories. Values: Configuration, Management, Monitoring, Security public let eventCategories: EventCategoriesList? + /// The source type for this event. + public let sourceType: SourceType? /// The identifier for the source of the event. public let sourceIdentifier: String? /// The date and time of the event. public let date: TimeStamp? - public init(severity: String? = nil, message: String? = nil, sourceType: SourceType? = nil, eventId: String? = nil, eventCategories: EventCategoriesList? = nil, sourceIdentifier: String? = nil, date: TimeStamp? = nil) { + public init(severity: String? = nil, message: String? = nil, eventId: String? = nil, eventCategories: EventCategoriesList? = nil, sourceType: SourceType? = nil, sourceIdentifier: String? = nil, date: TimeStamp? = nil) { self.severity = severity self.message = message - self.sourceType = sourceType self.eventId = eventId self.eventCategories = eventCategories + self.sourceType = sourceType self.sourceIdentifier = sourceIdentifier self.date = date } @@ -2011,9 +2174,9 @@ extension Redshift { private enum CodingKeys: String, CodingKey { case severity = "Severity" case message = "Message" - case sourceType = "SourceType" case eventId = "EventId" case eventCategories = "EventCategories" + case sourceType = "SourceType" case sourceIdentifier = "SourceIdentifier" case date = "Date" } @@ -2043,7 +2206,8 @@ extension Redshift { AWSShapeMember(label: "ReservedNodeOfferingId", required: false, type: .string), AWSShapeMember(label: "Duration", required: false, type: .integer), AWSShapeMember(label: "OfferingType", required: false, type: .string), - AWSShapeMember(label: "FixedPrice", required: false, type: .double) + AWSShapeMember(label: "FixedPrice", required: false, type: .double), + AWSShapeMember(label: "ReservedNodeOfferingType", required: false, type: .enum) ] /// 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. public let recurringCharges: RecurringChargeList? @@ -2061,8 +2225,9 @@ extension Redshift { public let offeringType: String? /// The upfront fixed charge you will pay to purchase the specific reserved node offering. public let fixedPrice: Double? + public let reservedNodeOfferingType: ReservedNodeOfferingType? - public init(recurringCharges: RecurringChargeList? = nil, usagePrice: Double? = nil, nodeType: String? = nil, currencyCode: String? = nil, reservedNodeOfferingId: String? = nil, duration: Int32? = nil, offeringType: String? = nil, fixedPrice: Double? = nil) { + public init(recurringCharges: RecurringChargeList? = nil, usagePrice: Double? = nil, nodeType: String? = nil, currencyCode: String? = nil, reservedNodeOfferingId: String? = nil, duration: Int32? = nil, offeringType: String? = nil, fixedPrice: Double? = nil, reservedNodeOfferingType: ReservedNodeOfferingType? = nil) { self.recurringCharges = recurringCharges self.usagePrice = usagePrice self.nodeType = nodeType @@ -2071,6 +2236,7 @@ extension Redshift { self.duration = duration self.offeringType = offeringType self.fixedPrice = fixedPrice + self.reservedNodeOfferingType = reservedNodeOfferingType } private enum CodingKeys: String, CodingKey { @@ -2082,6 +2248,7 @@ extension Redshift { case duration = "Duration" case offeringType = "OfferingType" case fixedPrice = "FixedPrice" + case reservedNodeOfferingType = "ReservedNodeOfferingType" } } @@ -2412,6 +2579,32 @@ extension Redshift { } } + public struct MaintenanceTrack: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaintenanceTrackName", required: false, type: .string), + AWSShapeMember(label: "DatabaseVersion", required: false, type: .string), + AWSShapeMember(label: "UpdateTargets", required: false, type: .structure) + ] + /// The name of the maintenance track. Possible values are current and trailing. + public let maintenanceTrackName: String? + /// The version number for the cluster release. + public let databaseVersion: String? + /// An array of UpdateTarget objects to update with the maintenance track. + public let updateTargets: EligibleTracksToUpdateList? + + public init(maintenanceTrackName: String? = nil, databaseVersion: String? = nil, updateTargets: EligibleTracksToUpdateList? = nil) { + self.maintenanceTrackName = maintenanceTrackName + self.databaseVersion = databaseVersion + self.updateTargets = updateTargets + } + + private enum CodingKeys: String, CodingKey { + case maintenanceTrackName = "MaintenanceTrackName" + case databaseVersion = "DatabaseVersion" + case updateTargets = "UpdateTargets" + } + } + public struct DescribeClusterVersionsMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxRecords", required: false, type: .integer), @@ -2484,6 +2677,52 @@ extension Redshift { } } + public struct AcceptReservedNodeExchangeOutputMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExchangedReservedNode", required: false, type: .structure) + ] + public let exchangedReservedNode: ReservedNode? + + public init(exchangedReservedNode: ReservedNode? = nil) { + self.exchangedReservedNode = exchangedReservedNode + } + + private enum CodingKeys: String, CodingKey { + case exchangedReservedNode = "ExchangedReservedNode" + } + } + + public struct ClusterDbRevision: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClusterIdentifier", required: false, type: .string), + AWSShapeMember(label: "CurrentDatabaseRevision", required: false, type: .string), + AWSShapeMember(label: "DatabaseRevisionReleaseDate", required: false, type: .timestamp), + AWSShapeMember(label: "RevisionTargets", required: false, type: .structure) + ] + /// The unique identifier of the cluster. + public let clusterIdentifier: String? + /// A string representing the current cluster version. + public let currentDatabaseRevision: String? + /// The date on which the database revision was released. + public let databaseRevisionReleaseDate: TimeStamp? + /// A list of RevisionTarget objects, where each object describes the database revision that a cluster can be updated to. + public let revisionTargets: RevisionTargetsList? + + public init(clusterIdentifier: String? = nil, currentDatabaseRevision: String? = nil, databaseRevisionReleaseDate: TimeStamp? = nil, revisionTargets: RevisionTargetsList? = nil) { + self.clusterIdentifier = clusterIdentifier + self.currentDatabaseRevision = currentDatabaseRevision + self.databaseRevisionReleaseDate = databaseRevisionReleaseDate + self.revisionTargets = revisionTargets + } + + private enum CodingKeys: String, CodingKey { + case clusterIdentifier = "ClusterIdentifier" + case currentDatabaseRevision = "CurrentDatabaseRevision" + case databaseRevisionReleaseDate = "DatabaseRevisionReleaseDate" + case revisionTargets = "RevisionTargets" + } + } + public struct EnableSnapshotCopyResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Cluster", required: false, type: .structure) @@ -2756,6 +2995,7 @@ extension Redshift { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StartTime", required: false, type: .timestamp), AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "ClusterExists", required: false, type: .boolean), AWSShapeMember(label: "SnapshotIdentifier", required: false, type: .string), AWSShapeMember(label: "Marker", required: false, type: .string), AWSShapeMember(label: "TagKeys", required: false, type: .structure), @@ -2769,6 +3009,8 @@ extension Redshift { public let startTime: TimeStamp? /// 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. public let maxRecords: Int32? + /// 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. + public let clusterExists: Bool? /// The snapshot identifier of the snapshot about which to return information. public let snapshotIdentifier: String? /// 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. @@ -2786,9 +3028,10 @@ extension Redshift { /// 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. public let ownerAccount: String? - public init(startTime: TimeStamp? = nil, maxRecords: Int32? = nil, snapshotIdentifier: String? = nil, marker: String? = nil, tagKeys: TagKeyList? = nil, clusterIdentifier: String? = nil, tagValues: TagValueList? = nil, snapshotType: String? = nil, endTime: TimeStamp? = nil, ownerAccount: String? = nil) { + public init(startTime: TimeStamp? = nil, maxRecords: Int32? = nil, clusterExists: Bool? = nil, snapshotIdentifier: String? = nil, marker: String? = nil, tagKeys: TagKeyList? = nil, clusterIdentifier: String? = nil, tagValues: TagValueList? = nil, snapshotType: String? = nil, endTime: TimeStamp? = nil, ownerAccount: String? = nil) { self.startTime = startTime self.maxRecords = maxRecords + self.clusterExists = clusterExists self.snapshotIdentifier = snapshotIdentifier self.marker = marker self.tagKeys = tagKeys @@ -2802,6 +3045,7 @@ extension Redshift { private enum CodingKeys: String, CodingKey { case startTime = "StartTime" case maxRecords = "MaxRecords" + case clusterExists = "ClusterExists" case snapshotIdentifier = "SnapshotIdentifier" case marker = "Marker" case tagKeys = "TagKeys" @@ -2906,6 +3150,27 @@ extension Redshift { } } + public struct GetReservedNodeExchangeOfferingsOutputMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReservedNodeOfferings", required: false, type: .structure), + AWSShapeMember(label: "Marker", required: false, type: .string) + ] + /// Returns an array of ReservedNodeOffering objects. + public let reservedNodeOfferings: ReservedNodeOfferingList? + /// 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. + public let marker: String? + + public init(reservedNodeOfferings: ReservedNodeOfferingList? = nil, marker: String? = nil) { + self.reservedNodeOfferings = reservedNodeOfferings + self.marker = marker + } + + private enum CodingKeys: String, CodingKey { + case reservedNodeOfferings = "ReservedNodeOfferings" + case marker = "Marker" + } + } + public struct CreateClusterSubnetGroupResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ClusterSubnetGroup", required: false, type: .structure) @@ -3085,6 +3350,7 @@ extension Redshift { AWSShapeMember(label: "Tags", required: false, type: .structure), AWSShapeMember(label: "NodeType", required: false, type: .string), AWSShapeMember(label: "SnapshotType", required: false, type: .string), + AWSShapeMember(label: "MaintenanceTrackName", required: false, type: .string), AWSShapeMember(label: "ClusterCreateTime", required: false, type: .timestamp), AWSShapeMember(label: "SnapshotIdentifier", required: false, type: .string), AWSShapeMember(label: "MasterUsername", required: false, type: .string), @@ -3138,6 +3404,8 @@ extension Redshift { public let nodeType: String? /// The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot will be of type "manual". public let snapshotType: String? + /// The name of the maintenance track for the snapshot. + public let maintenanceTrackName: String? /// The time (UTC) when the cluster was originally created. public let clusterCreateTime: TimeStamp? /// The snapshot identifier that is provided in the request. @@ -3151,7 +3419,7 @@ extension Redshift { /// The port that the cluster is listening on. public let port: Int32? - public init(actualIncrementalBackupSizeInMegaBytes: Double? = nil, dBName: String? = nil, clusterVersion: String? = nil, encrypted: Bool? = nil, currentBackupRateInMegaBytesPerSecond: Double? = nil, ownerAccount: String? = nil, backupProgressInMegaBytes: Double? = nil, restorableNodeTypes: RestorableNodeTypeList? = nil, enhancedVpcRouting: Bool? = nil, encryptedWithHSM: Bool? = nil, clusterIdentifier: String? = nil, availabilityZone: String? = nil, status: String? = nil, estimatedSecondsToCompletion: Int64? = nil, vpcId: String? = nil, snapshotCreateTime: TimeStamp? = nil, accountsWithRestoreAccess: AccountsWithRestoreAccessList? = nil, numberOfNodes: Int32? = nil, kmsKeyId: String? = nil, sourceRegion: String? = nil, tags: TagList? = nil, nodeType: String? = nil, snapshotType: String? = nil, clusterCreateTime: TimeStamp? = nil, snapshotIdentifier: String? = nil, masterUsername: String? = nil, totalBackupSizeInMegaBytes: Double? = nil, elapsedTimeInSeconds: Int64? = nil, port: Int32? = nil) { + public init(actualIncrementalBackupSizeInMegaBytes: Double? = nil, dBName: String? = nil, clusterVersion: String? = nil, encrypted: Bool? = nil, currentBackupRateInMegaBytesPerSecond: Double? = nil, ownerAccount: String? = nil, backupProgressInMegaBytes: Double? = nil, restorableNodeTypes: RestorableNodeTypeList? = nil, enhancedVpcRouting: Bool? = nil, encryptedWithHSM: Bool? = nil, clusterIdentifier: String? = nil, availabilityZone: String? = nil, status: String? = nil, estimatedSecondsToCompletion: Int64? = nil, vpcId: String? = nil, snapshotCreateTime: TimeStamp? = nil, accountsWithRestoreAccess: AccountsWithRestoreAccessList? = nil, numberOfNodes: Int32? = nil, kmsKeyId: String? = nil, sourceRegion: String? = nil, tags: TagList? = nil, nodeType: String? = nil, snapshotType: String? = nil, maintenanceTrackName: String? = nil, clusterCreateTime: TimeStamp? = nil, snapshotIdentifier: String? = nil, masterUsername: String? = nil, totalBackupSizeInMegaBytes: Double? = nil, elapsedTimeInSeconds: Int64? = nil, port: Int32? = nil) { self.actualIncrementalBackupSizeInMegaBytes = actualIncrementalBackupSizeInMegaBytes self.dBName = dBName self.clusterVersion = clusterVersion @@ -3175,6 +3443,7 @@ extension Redshift { self.tags = tags self.nodeType = nodeType self.snapshotType = snapshotType + self.maintenanceTrackName = maintenanceTrackName self.clusterCreateTime = clusterCreateTime self.snapshotIdentifier = snapshotIdentifier self.masterUsername = masterUsername @@ -3207,6 +3476,7 @@ extension Redshift { case tags = "Tags" case nodeType = "NodeType" case snapshotType = "SnapshotType" + case maintenanceTrackName = "MaintenanceTrackName" case clusterCreateTime = "ClusterCreateTime" case snapshotIdentifier = "SnapshotIdentifier" case masterUsername = "MasterUsername" @@ -3297,6 +3567,27 @@ extension Redshift { } } + public struct UpdateTarget: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaintenanceTrackName", required: false, type: .string), + AWSShapeMember(label: "DatabaseVersion", required: false, type: .string) + ] + /// The name of the new maintenance track. + public let maintenanceTrackName: String? + /// The cluster version for the new maintenance track. + public let databaseVersion: String? + + public init(maintenanceTrackName: String? = nil, databaseVersion: String? = nil) { + self.maintenanceTrackName = maintenanceTrackName + self.databaseVersion = databaseVersion + } + + private enum CodingKeys: String, CodingKey { + case maintenanceTrackName = "MaintenanceTrackName" + case databaseVersion = "DatabaseVersion" + } + } + public struct CreateSnapshotCopyGrantMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SnapshotCopyGrantName", required: true, type: .string), @@ -3338,6 +3629,27 @@ extension Redshift { } } + public struct ClusterDbRevisionsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "ClusterDbRevisions", required: false, type: .structure) + ] + /// 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. + public let marker: String? + /// A list of revisions. + public let clusterDbRevisions: ClusterDbRevisionsList? + + public init(marker: String? = nil, clusterDbRevisions: ClusterDbRevisionsList? = nil) { + self.marker = marker + self.clusterDbRevisions = clusterDbRevisions + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case clusterDbRevisions = "ClusterDbRevisions" + } + } + public struct ElasticIpStatus: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ElasticIp", required: false, type: .string), @@ -3499,6 +3811,21 @@ extension Redshift { } } + public struct ModifyClusterDbRevisionResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Cluster", required: false, type: .structure) + ] + public let cluster: Cluster? + + public init(cluster: Cluster? = nil) { + self.cluster = cluster + } + + private enum CodingKeys: String, CodingKey { + case cluster = "Cluster" + } + } + public struct PurchaseReservedNodeOfferingResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ReservedNode", required: false, type: .structure) @@ -3514,6 +3841,21 @@ extension Redshift { } } + public struct TrackList: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaintenanceTrack", required: false, type: .list) + ] + public let maintenanceTrack: [MaintenanceTrack]? + + public init(maintenanceTrack: [MaintenanceTrack]? = nil) { + self.maintenanceTrack = maintenanceTrack + } + + private enum CodingKeys: String, CodingKey { + case maintenanceTrack = "MaintenanceTrack" + } + } + public enum SourceType: String, CustomStringConvertible, Codable { case cluster = "cluster" case clusterParameterGroup = "cluster-parameter-group" @@ -3559,9 +3901,10 @@ extension Redshift { AWSShapeMember(label: "ClusterIdentifier", required: true, type: .string), AWSShapeMember(label: "EnhancedVpcRouting", required: false, type: .boolean), AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), - AWSShapeMember(label: "AutomatedSnapshotRetentionPeriod", required: false, type: .integer), + AWSShapeMember(label: "MaintenanceTrackName", required: false, type: .string), AWSShapeMember(label: "HsmConfigurationIdentifier", required: false, type: .string), AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), + AWSShapeMember(label: "AutomatedSnapshotRetentionPeriod", required: false, type: .integer), AWSShapeMember(label: "ClusterParameterGroupName", required: false, type: .string), AWSShapeMember(label: "HsmClientCertificateIdentifier", required: false, type: .string), AWSShapeMember(label: "ElasticIp", required: false, type: .string), @@ -3575,9 +3918,9 @@ extension Redshift { public let clusterVersion: String? /// 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 public let newClusterIdentifier: String? - /// A list of virtual private cloud (VPC) security groups to be associated with the cluster. + /// A list of virtual private cloud (VPC) security groups to be associated with the cluster. This change is asynchronously applied as soon as possible. public let vpcSecurityGroupIds: VpcSecurityGroupIdList? - /// The new node type of the cluster. If you specify a new node type, you must also specify the number of nodes parameter. When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the new connection is complete, the original access permissions for the cluster are restored. You can use DescribeResize to track the progress of the resize request. Valid Values: ds1.xlarge | ds1.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge. + /// 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 public let nodeType: String? /// 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 public let clusterType: String? @@ -3587,12 +3930,14 @@ extension Redshift { public let enhancedVpcRouting: Bool? /// 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. public let masterUserPassword: String? - /// 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. - public let automatedSnapshotRetentionPeriod: Int32? + /// 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. + public let maintenanceTrackName: String? /// 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. public let hsmConfigurationIdentifier: String? /// If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be publicly available. public let publiclyAccessible: Bool? + /// 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. + public let automatedSnapshotRetentionPeriod: Int32? /// 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. public let clusterParameterGroupName: String? /// Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM. @@ -3606,7 +3951,7 @@ extension Redshift { /// 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. public let numberOfNodes: Int32? - public init(clusterSecurityGroups: ClusterSecurityGroupNameList? = nil, clusterVersion: String? = nil, newClusterIdentifier: String? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, nodeType: String? = nil, clusterType: String? = nil, clusterIdentifier: String, enhancedVpcRouting: Bool? = nil, masterUserPassword: String? = nil, automatedSnapshotRetentionPeriod: Int32? = nil, hsmConfigurationIdentifier: String? = nil, publiclyAccessible: Bool? = nil, clusterParameterGroupName: String? = nil, hsmClientCertificateIdentifier: String? = nil, elasticIp: String? = nil, preferredMaintenanceWindow: String? = nil, allowVersionUpgrade: Bool? = nil, numberOfNodes: Int32? = nil) { + public init(clusterSecurityGroups: ClusterSecurityGroupNameList? = nil, clusterVersion: String? = nil, newClusterIdentifier: String? = nil, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, nodeType: String? = nil, clusterType: String? = nil, clusterIdentifier: String, enhancedVpcRouting: Bool? = nil, masterUserPassword: String? = nil, maintenanceTrackName: String? = nil, hsmConfigurationIdentifier: String? = nil, publiclyAccessible: Bool? = nil, automatedSnapshotRetentionPeriod: Int32? = nil, clusterParameterGroupName: String? = nil, hsmClientCertificateIdentifier: String? = nil, elasticIp: String? = nil, preferredMaintenanceWindow: String? = nil, allowVersionUpgrade: Bool? = nil, numberOfNodes: Int32? = nil) { self.clusterSecurityGroups = clusterSecurityGroups self.clusterVersion = clusterVersion self.newClusterIdentifier = newClusterIdentifier @@ -3616,9 +3961,10 @@ extension Redshift { self.clusterIdentifier = clusterIdentifier self.enhancedVpcRouting = enhancedVpcRouting self.masterUserPassword = masterUserPassword - self.automatedSnapshotRetentionPeriod = automatedSnapshotRetentionPeriod + self.maintenanceTrackName = maintenanceTrackName self.hsmConfigurationIdentifier = hsmConfigurationIdentifier self.publiclyAccessible = publiclyAccessible + self.automatedSnapshotRetentionPeriod = automatedSnapshotRetentionPeriod self.clusterParameterGroupName = clusterParameterGroupName self.hsmClientCertificateIdentifier = hsmClientCertificateIdentifier self.elasticIp = elasticIp @@ -3637,9 +3983,10 @@ extension Redshift { case clusterIdentifier = "ClusterIdentifier" case enhancedVpcRouting = "EnhancedVpcRouting" case masterUserPassword = "MasterUserPassword" - case automatedSnapshotRetentionPeriod = "AutomatedSnapshotRetentionPeriod" + case maintenanceTrackName = "MaintenanceTrackName" case hsmConfigurationIdentifier = "HsmConfigurationIdentifier" case publiclyAccessible = "PubliclyAccessible" + case automatedSnapshotRetentionPeriod = "AutomatedSnapshotRetentionPeriod" case clusterParameterGroupName = "ClusterParameterGroupName" case hsmClientCertificateIdentifier = "HsmClientCertificateIdentifier" case elasticIp = "ElasticIp" @@ -4028,6 +4375,7 @@ extension Redshift { AWSShapeMember(label: "AvailabilityZone", required: false, type: .string), AWSShapeMember(label: "IamRoles", required: false, type: .structure), AWSShapeMember(label: "ClusterStatus", required: false, type: .string), + AWSShapeMember(label: "PendingActions", required: false, type: .list), AWSShapeMember(label: "VpcId", required: false, type: .string), AWSShapeMember(label: "PreferredMaintenanceWindow", required: false, type: .string), AWSShapeMember(label: "NumberOfNodes", required: false, type: .integer), @@ -4041,6 +4389,7 @@ extension Redshift { AWSShapeMember(label: "NodeType", required: false, type: .string), AWSShapeMember(label: "ClusterPublicKey", required: false, type: .string), AWSShapeMember(label: "HsmStatus", required: false, type: .structure), + AWSShapeMember(label: "MaintenanceTrackName", required: false, type: .string), AWSShapeMember(label: "ClusterCreateTime", required: false, type: .timestamp), AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), AWSShapeMember(label: "ElasticIpStatus", required: false, type: .structure), @@ -4074,6 +4423,8 @@ extension Redshift { public let iamRoles: ClusterIamRoleList? /// 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 public let clusterStatus: String? + /// Cluster operations that are waiting to be started. + public let pendingActions: [String]? /// The identifier of the VPC the cluster is in, if the cluster is in a VPC. public let vpcId: String? /// The weekly time range, in Universal Coordinated Time (UTC), during which system maintenance can occur. @@ -4100,6 +4451,8 @@ extension Redshift { public let clusterPublicKey: String? /// 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 public let hsmStatus: HsmStatus? + /// The name of the maintenance track for the cluster. + public let maintenanceTrackName: String? /// The date and time that the cluster was created. public let clusterCreateTime: TimeStamp? /// A Boolean value that, if true, indicates that the cluster can be accessed from a public network. @@ -4117,7 +4470,7 @@ extension Redshift { /// The status of a modify operation, if any, initiated for the cluster. public let modifyStatus: String? - public init(vpcSecurityGroups: VpcSecurityGroupMembershipList? = nil, clusterNodes: [ClusterNode]? = nil, dBName: String? = nil, clusterVersion: String? = nil, encrypted: Bool? = nil, clusterIdentifier: String? = nil, automatedSnapshotRetentionPeriod: Int32? = nil, enhancedVpcRouting: Bool? = nil, clusterSnapshotCopyStatus: ClusterSnapshotCopyStatus? = nil, availabilityZone: String? = nil, iamRoles: ClusterIamRoleList? = nil, clusterStatus: String? = nil, vpcId: String? = nil, preferredMaintenanceWindow: String? = nil, numberOfNodes: Int32? = nil, endpoint: Endpoint? = nil, clusterRevisionNumber: String? = nil, kmsKeyId: String? = nil, pendingModifiedValues: PendingModifiedValues? = nil, clusterSecurityGroups: ClusterSecurityGroupMembershipList? = nil, clusterParameterGroups: ClusterParameterGroupStatusList? = nil, tags: TagList? = nil, nodeType: String? = nil, clusterPublicKey: String? = nil, hsmStatus: HsmStatus? = nil, clusterCreateTime: TimeStamp? = nil, publiclyAccessible: Bool? = nil, elasticIpStatus: ElasticIpStatus? = nil, restoreStatus: RestoreStatus? = nil, clusterSubnetGroupName: String? = nil, masterUsername: String? = nil, allowVersionUpgrade: Bool? = nil, modifyStatus: String? = nil) { + public init(vpcSecurityGroups: VpcSecurityGroupMembershipList? = nil, clusterNodes: [ClusterNode]? = nil, dBName: String? = nil, clusterVersion: String? = nil, encrypted: Bool? = nil, clusterIdentifier: String? = nil, automatedSnapshotRetentionPeriod: Int32? = nil, enhancedVpcRouting: Bool? = nil, clusterSnapshotCopyStatus: ClusterSnapshotCopyStatus? = nil, availabilityZone: String? = nil, iamRoles: ClusterIamRoleList? = nil, clusterStatus: String? = nil, pendingActions: [String]? = nil, vpcId: String? = nil, preferredMaintenanceWindow: String? = nil, numberOfNodes: Int32? = nil, endpoint: Endpoint? = nil, clusterRevisionNumber: String? = nil, kmsKeyId: String? = nil, pendingModifiedValues: PendingModifiedValues? = nil, clusterSecurityGroups: ClusterSecurityGroupMembershipList? = nil, clusterParameterGroups: ClusterParameterGroupStatusList? = nil, tags: TagList? = nil, nodeType: String? = nil, clusterPublicKey: String? = nil, hsmStatus: HsmStatus? = nil, maintenanceTrackName: String? = nil, clusterCreateTime: TimeStamp? = nil, publiclyAccessible: Bool? = nil, elasticIpStatus: ElasticIpStatus? = nil, restoreStatus: RestoreStatus? = nil, clusterSubnetGroupName: String? = nil, masterUsername: String? = nil, allowVersionUpgrade: Bool? = nil, modifyStatus: String? = nil) { self.vpcSecurityGroups = vpcSecurityGroups self.clusterNodes = clusterNodes self.dBName = dBName @@ -4130,6 +4483,7 @@ extension Redshift { self.availabilityZone = availabilityZone self.iamRoles = iamRoles self.clusterStatus = clusterStatus + self.pendingActions = pendingActions self.vpcId = vpcId self.preferredMaintenanceWindow = preferredMaintenanceWindow self.numberOfNodes = numberOfNodes @@ -4143,6 +4497,7 @@ extension Redshift { self.nodeType = nodeType self.clusterPublicKey = clusterPublicKey self.hsmStatus = hsmStatus + self.maintenanceTrackName = maintenanceTrackName self.clusterCreateTime = clusterCreateTime self.publiclyAccessible = publiclyAccessible self.elasticIpStatus = elasticIpStatus @@ -4166,6 +4521,7 @@ extension Redshift { case availabilityZone = "AvailabilityZone" case iamRoles = "IamRoles" case clusterStatus = "ClusterStatus" + case pendingActions = "PendingActions" case vpcId = "VpcId" case preferredMaintenanceWindow = "PreferredMaintenanceWindow" case numberOfNodes = "NumberOfNodes" @@ -4179,6 +4535,7 @@ extension Redshift { case nodeType = "NodeType" case clusterPublicKey = "ClusterPublicKey" case hsmStatus = "HsmStatus" + case maintenanceTrackName = "MaintenanceTrackName" case clusterCreateTime = "ClusterCreateTime" case publiclyAccessible = "PubliclyAccessible" case elasticIpStatus = "ElasticIpStatus" @@ -4279,35 +4636,24 @@ extension Redshift { public struct AvailabilityZone: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SupportedPlatforms", required: false, type: .structure), AWSShapeMember(label: "Name", required: false, type: .string) ] + public let supportedPlatforms: SupportedPlatformsList? /// The name of the availability zone. public let name: String? - public init(name: String? = nil) { + public init(supportedPlatforms: SupportedPlatformsList? = nil, name: String? = nil) { + self.supportedPlatforms = supportedPlatforms self.name = name } private enum CodingKeys: String, CodingKey { + case supportedPlatforms = "SupportedPlatforms" case name = "Name" } } - public struct ModifyClusterSubnetGroupResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ClusterSubnetGroup", required: false, type: .structure) - ] - public let clusterSubnetGroup: ClusterSubnetGroup? - - public init(clusterSubnetGroup: ClusterSubnetGroup? = nil) { - self.clusterSubnetGroup = clusterSubnetGroup - } - - private enum CodingKeys: String, CodingKey { - case clusterSubnetGroup = "ClusterSubnetGroup" - } - } - public struct HsmConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "HsmIpAddress", required: false, type: .string), @@ -4360,6 +4706,32 @@ extension Redshift { } } + public struct GetReservedNodeExchangeOfferingsInputMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Marker", required: false, type: .string), + AWSShapeMember(label: "ReservedNodeId", required: true, type: .string), + AWSShapeMember(label: "MaxRecords", required: false, type: .integer) + ] + /// A value that indicates the starting point for the next set of ReservedNodeOfferings. + public let marker: String? + /// A string representing the node identifier for the DC1 Reserved Node to be exchanged. + public let reservedNodeId: String + /// An integer setting the maximum number of ReservedNodeOfferings to retrieve. + public let maxRecords: Int32? + + public init(marker: String? = nil, reservedNodeId: String, maxRecords: Int32? = nil) { + self.marker = marker + self.reservedNodeId = reservedNodeId + self.maxRecords = maxRecords + } + + private enum CodingKeys: String, CodingKey { + case marker = "Marker" + case reservedNodeId = "ReservedNodeId" + case maxRecords = "MaxRecords" + } + } + public struct HsmClientCertificateList: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "HsmClientCertificate", required: false, type: .list) @@ -4375,6 +4747,27 @@ extension Redshift { } } + public enum ReservedNodeOfferingType: String, CustomStringConvertible, Codable { + case regular = "Regular" + case upgradable = "Upgradable" + public var description: String { return self.rawValue } + } + + public struct ModifyClusterSubnetGroupResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClusterSubnetGroup", required: false, type: .structure) + ] + public let clusterSubnetGroup: ClusterSubnetGroup? + + public init(clusterSubnetGroup: ClusterSubnetGroup? = nil) { + self.clusterSubnetGroup = clusterSubnetGroup + } + + private enum CodingKeys: String, CodingKey { + case clusterSubnetGroup = "ClusterSubnetGroup" + } + } + public struct DescribeClustersMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ClusterIdentifier", required: false, type: .string), @@ -4411,6 +4804,32 @@ extension Redshift { } } + public struct DescribeClusterDbRevisionsMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClusterIdentifier", required: false, type: .string), + AWSShapeMember(label: "MaxRecords", required: false, type: .integer), + AWSShapeMember(label: "Marker", required: false, type: .string) + ] + /// 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. + public let clusterIdentifier: String? + /// 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. + public let maxRecords: Int32? + /// 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. + public let marker: String? + + public init(clusterIdentifier: String? = nil, maxRecords: Int32? = nil, marker: String? = nil) { + self.clusterIdentifier = clusterIdentifier + self.maxRecords = maxRecords + self.marker = marker + } + + private enum CodingKeys: String, CodingKey { + case clusterIdentifier = "ClusterIdentifier" + case maxRecords = "MaxRecords" + case marker = "Marker" + } + } + public struct RotateEncryptionKeyMessage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ClusterIdentifier", required: true, type: .string) @@ -4429,30 +4848,30 @@ extension Redshift { public struct RevokeClusterSecurityGroupIngressMessage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CIDRIP", required: false, type: .string), AWSShapeMember(label: "EC2SecurityGroupName", required: false, type: .string), + AWSShapeMember(label: "CIDRIP", required: false, type: .string), AWSShapeMember(label: "EC2SecurityGroupOwnerId", required: false, type: .string), AWSShapeMember(label: "ClusterSecurityGroupName", required: true, type: .string) ] - /// 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. - public let cidrip: String? /// 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. public let eC2SecurityGroupName: String? + /// 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. + public let cidrip: String? /// 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 public let eC2SecurityGroupOwnerId: String? /// The name of the security Group from which to revoke the ingress rule. public let clusterSecurityGroupName: String - public init(cidrip: String? = nil, eC2SecurityGroupName: String? = nil, eC2SecurityGroupOwnerId: String? = nil, clusterSecurityGroupName: String) { - self.cidrip = cidrip + public init(eC2SecurityGroupName: String? = nil, cidrip: String? = nil, eC2SecurityGroupOwnerId: String? = nil, clusterSecurityGroupName: String) { self.eC2SecurityGroupName = eC2SecurityGroupName + self.cidrip = cidrip self.eC2SecurityGroupOwnerId = eC2SecurityGroupOwnerId self.clusterSecurityGroupName = clusterSecurityGroupName } private enum CodingKeys: String, CodingKey { - case cidrip = "CIDRIP" case eC2SecurityGroupName = "EC2SecurityGroupName" + case cidrip = "CIDRIP" case eC2SecurityGroupOwnerId = "EC2SecurityGroupOwnerId" case clusterSecurityGroupName = "ClusterSecurityGroupName" } @@ -4537,6 +4956,7 @@ extension Redshift { AWSShapeMember(label: "NodeType", required: true, type: .string), AWSShapeMember(label: "VpcSecurityGroupIds", required: false, type: .structure), AWSShapeMember(label: "ClusterParameterGroupName", required: false, type: .string), + AWSShapeMember(label: "MaintenanceTrackName", required: false, type: .string), AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), AWSShapeMember(label: "MasterUsername", required: true, type: .string), AWSShapeMember(label: "ClusterSubnetGroupName", required: false, type: .string), @@ -4580,15 +5000,17 @@ extension Redshift { public let clusterSecurityGroups: ClusterSecurityGroupNameList? /// A list of tag instances. public let tags: TagList? - /// The node type to be provisioned for the cluster. For information about node types, go to Working with Clusters in the Amazon Redshift Cluster Management Guide. Valid Values: ds1.xlarge | ds1.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge. + /// 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 public let nodeType: String /// 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. public let vpcSecurityGroupIds: VpcSecurityGroupIdList? /// 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. public let clusterParameterGroupName: String? + /// 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. + public let maintenanceTrackName: String? /// If true, the cluster can be accessed from a public network. public let publiclyAccessible: Bool? - /// The user name associated with the master user account for the cluster that is being created. Constraints: Must be 1 - 128 alphanumeric characters. First character must be a letter. Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide. + /// 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. public let masterUsername: String /// 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). public let clusterSubnetGroupName: String? @@ -4599,7 +5021,7 @@ extension Redshift { /// 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 public let port: Int32? - public init(dBName: String? = nil, clusterVersion: String? = nil, encrypted: Bool? = nil, clusterIdentifier: String, clusterType: String? = nil, enhancedVpcRouting: Bool? = nil, automatedSnapshotRetentionPeriod: Int32? = nil, masterUserPassword: String, availabilityZone: String? = nil, hsmConfigurationIdentifier: String? = nil, iamRoles: IamRoleArnList? = nil, hsmClientCertificateIdentifier: String? = nil, elasticIp: String? = nil, preferredMaintenanceWindow: String? = nil, numberOfNodes: Int32? = nil, kmsKeyId: String? = nil, clusterSecurityGroups: ClusterSecurityGroupNameList? = nil, tags: TagList? = nil, nodeType: String, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, clusterParameterGroupName: String? = nil, publiclyAccessible: Bool? = nil, masterUsername: String, clusterSubnetGroupName: String? = nil, additionalInfo: String? = nil, allowVersionUpgrade: Bool? = nil, port: Int32? = nil) { + public init(dBName: String? = nil, clusterVersion: String? = nil, encrypted: Bool? = nil, clusterIdentifier: String, clusterType: String? = nil, enhancedVpcRouting: Bool? = nil, automatedSnapshotRetentionPeriod: Int32? = nil, masterUserPassword: String, availabilityZone: String? = nil, hsmConfigurationIdentifier: String? = nil, iamRoles: IamRoleArnList? = nil, hsmClientCertificateIdentifier: String? = nil, elasticIp: String? = nil, preferredMaintenanceWindow: String? = nil, numberOfNodes: Int32? = nil, kmsKeyId: String? = nil, clusterSecurityGroups: ClusterSecurityGroupNameList? = nil, tags: TagList? = nil, nodeType: String, vpcSecurityGroupIds: VpcSecurityGroupIdList? = nil, clusterParameterGroupName: String? = nil, maintenanceTrackName: String? = nil, publiclyAccessible: Bool? = nil, masterUsername: String, clusterSubnetGroupName: String? = nil, additionalInfo: String? = nil, allowVersionUpgrade: Bool? = nil, port: Int32? = nil) { self.dBName = dBName self.clusterVersion = clusterVersion self.encrypted = encrypted @@ -4621,6 +5043,7 @@ extension Redshift { self.nodeType = nodeType self.vpcSecurityGroupIds = vpcSecurityGroupIds self.clusterParameterGroupName = clusterParameterGroupName + self.maintenanceTrackName = maintenanceTrackName self.publiclyAccessible = publiclyAccessible self.masterUsername = masterUsername self.clusterSubnetGroupName = clusterSubnetGroupName @@ -4651,6 +5074,7 @@ extension Redshift { case nodeType = "NodeType" case vpcSecurityGroupIds = "VpcSecurityGroupIds" case clusterParameterGroupName = "ClusterParameterGroupName" + case maintenanceTrackName = "MaintenanceTrackName" case publiclyAccessible = "PubliclyAccessible" case masterUsername = "MasterUsername" case clusterSubnetGroupName = "ClusterSubnetGroupName" @@ -4743,19 +5167,18 @@ extension Redshift { } } - public struct DeleteClusterSubnetGroupMessage: AWSShape { + public struct RevisionTargetsList: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ClusterSubnetGroupName", required: true, type: .string) + AWSShapeMember(label: "RevisionTarget", required: false, type: .list) ] - /// The name of the cluster subnet group name to be deleted. - public let clusterSubnetGroupName: String + public let revisionTarget: [RevisionTarget]? - public init(clusterSubnetGroupName: String) { - self.clusterSubnetGroupName = clusterSubnetGroupName + public init(revisionTarget: [RevisionTarget]? = nil) { + self.revisionTarget = revisionTarget } private enum CodingKeys: String, CodingKey { - case clusterSubnetGroupName = "ClusterSubnetGroupName" + case revisionTarget = "RevisionTarget" } } @@ -4785,6 +5208,43 @@ extension Redshift { } } + public struct AcceptReservedNodeExchangeInputMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ReservedNodeId", required: true, type: .string), + AWSShapeMember(label: "TargetReservedNodeOfferingId", required: true, type: .string) + ] + /// A string representing the node identifier of the DC1 Reserved Node to be exchanged. + public let reservedNodeId: String + /// 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 + public let targetReservedNodeOfferingId: String + + public init(reservedNodeId: String, targetReservedNodeOfferingId: String) { + self.reservedNodeId = reservedNodeId + self.targetReservedNodeOfferingId = targetReservedNodeOfferingId + } + + private enum CodingKeys: String, CodingKey { + case reservedNodeId = "ReservedNodeId" + case targetReservedNodeOfferingId = "TargetReservedNodeOfferingId" + } + } + + public struct DeleteClusterSubnetGroupMessage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClusterSubnetGroupName", required: true, type: .string) + ] + /// The name of the cluster subnet group name to be deleted. + public let clusterSubnetGroupName: String + + public init(clusterSubnetGroupName: String) { + self.clusterSubnetGroupName = clusterSubnetGroupName + } + + private enum CodingKeys: String, CodingKey { + case clusterSubnetGroupName = "ClusterSubnetGroupName" + } + } + public struct CreateHsmClientCertificateResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "HsmClientCertificate", required: false, type: .structure) @@ -4864,9 +5324,10 @@ extension Redshift { AWSShapeMember(label: "AutomatedSnapshotRetentionPeriod", required: false, type: .integer), AWSShapeMember(label: "NumberOfNodes", required: false, type: .integer), AWSShapeMember(label: "MasterUserPassword", required: false, type: .string), + AWSShapeMember(label: "MaintenanceTrackName", required: false, type: .string), AWSShapeMember(label: "EnhancedVpcRouting", required: false, type: .boolean), - AWSShapeMember(label: "ClusterType", required: false, type: .string), - AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean) + AWSShapeMember(label: "PubliclyAccessible", required: false, type: .boolean), + AWSShapeMember(label: "ClusterType", required: false, type: .string) ] /// The pending or in-progress change of the service version. public let clusterVersion: String? @@ -4880,23 +5341,26 @@ extension Redshift { public let numberOfNodes: Int32? /// The pending or in-progress change of the master user password for the cluster. public let masterUserPassword: String? + /// The name of the maintenance track that the cluster will change to during the next maintenance window. + public let maintenanceTrackName: String? /// 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 public let enhancedVpcRouting: Bool? - /// The pending or in-progress change of the cluster type. - public let clusterType: String? /// The pending or in-progress change of the ability to connect to the cluster from the public network. public let publiclyAccessible: Bool? + /// The pending or in-progress change of the cluster type. + public let clusterType: String? - public init(clusterVersion: String? = nil, nodeType: String? = nil, clusterIdentifier: String? = nil, automatedSnapshotRetentionPeriod: Int32? = nil, numberOfNodes: Int32? = nil, masterUserPassword: String? = nil, enhancedVpcRouting: Bool? = nil, clusterType: String? = nil, publiclyAccessible: Bool? = nil) { + public init(clusterVersion: String? = nil, nodeType: String? = nil, clusterIdentifier: String? = nil, automatedSnapshotRetentionPeriod: Int32? = nil, numberOfNodes: Int32? = nil, masterUserPassword: String? = nil, maintenanceTrackName: String? = nil, enhancedVpcRouting: Bool? = nil, publiclyAccessible: Bool? = nil, clusterType: String? = nil) { self.clusterVersion = clusterVersion self.nodeType = nodeType self.clusterIdentifier = clusterIdentifier self.automatedSnapshotRetentionPeriod = automatedSnapshotRetentionPeriod self.numberOfNodes = numberOfNodes self.masterUserPassword = masterUserPassword + self.maintenanceTrackName = maintenanceTrackName self.enhancedVpcRouting = enhancedVpcRouting - self.clusterType = clusterType self.publiclyAccessible = publiclyAccessible + self.clusterType = clusterType } private enum CodingKeys: String, CodingKey { @@ -4906,9 +5370,10 @@ extension Redshift { case automatedSnapshotRetentionPeriod = "AutomatedSnapshotRetentionPeriod" case numberOfNodes = "NumberOfNodes" case masterUserPassword = "MasterUserPassword" + case maintenanceTrackName = "MaintenanceTrackName" case enhancedVpcRouting = "EnhancedVpcRouting" - case clusterType = "ClusterType" case publiclyAccessible = "PubliclyAccessible" + case clusterType = "ClusterType" } } @@ -5117,30 +5582,30 @@ extension Redshift { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxRecords", required: false, type: .integer), AWSShapeMember(label: "ParameterGroupName", required: true, type: .string), - AWSShapeMember(label: "Marker", required: false, type: .string), - AWSShapeMember(label: "Source", required: false, type: .string) + AWSShapeMember(label: "Source", required: false, type: .string), + AWSShapeMember(label: "Marker", required: false, type: .string) ] /// 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. public let maxRecords: Int32? /// The name of a cluster parameter group for which to return details. public let parameterGroupName: String - /// 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. - public let marker: String? /// 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 public let source: String? + /// 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. + public let marker: String? - public init(maxRecords: Int32? = nil, parameterGroupName: String, marker: String? = nil, source: String? = nil) { + public init(maxRecords: Int32? = nil, parameterGroupName: String, source: String? = nil, marker: String? = nil) { self.maxRecords = maxRecords self.parameterGroupName = parameterGroupName - self.marker = marker self.source = source + self.marker = marker } private enum CodingKeys: String, CodingKey { case maxRecords = "MaxRecords" case parameterGroupName = "ParameterGroupName" - case marker = "Marker" case source = "Source" + case marker = "Marker" } } diff --git a/Sources/AWSSDKSwift/Services/rekognition/Rekognition_API.swift b/Sources/AWSSDKSwift/Services/rekognition/Rekognition_API.swift index 808b25b7b17..badd2156adf 100644 --- a/Sources/AWSSDKSwift/Services/rekognition/Rekognition_API.swift +++ b/Sources/AWSSDKSwift/Services/rekognition/Rekognition_API.swift @@ -30,7 +30,7 @@ public struct Rekognition { return try client.send(operation: "DeleteFaces", path: "/", httpMethod: "POST", input: input) } - /// Gets the person tracking results of a 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, 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. 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. + /// 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. public func getPersonTracking(_ input: GetPersonTrackingRequest) throws -> GetPersonTrackingResponse { return try client.send(operation: "GetPersonTracking", path: "/", httpMethod: "POST", input: input) } @@ -40,22 +40,22 @@ public struct Rekognition { return try client.send(operation: "DeleteStreamProcessor", path: "/", httpMethod: "POST", input: input) } - /// 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. For an example, see procedure-detecting-faces-in-images. This operation requires permissions to perform the rekognition:DetectFaces action. + /// 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. public func detectFaces(_ input: DetectFacesRequest) throws -> DetectFacesResponse { return try client.send(operation: "DetectFaces", path: "/", httpMethod: "POST", input: input) } - /// Gets the celebrity recognition results for a 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, 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 video. 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. 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. + /// 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. public func getCelebrityRecognition(_ input: GetCelebrityRecognitionRequest) throws -> GetCelebrityRecognitionResponse { return try client.send(operation: "GetCelebrityRecognition", path: "/", httpMethod: "POST", input: input) } - /// 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 search-face-with-id-procedure. This operation requires permissions to perform the rekognition:SearchFaces action. + /// 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. public func searchFaces(_ input: SearchFacesRequest) throws -> SearchFacesResponse { return try client.send(operation: "SearchFaces", path: "/", httpMethod: "POST", input: input) } - /// 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 list-collection-procedure. This operation requires permissions to perform the rekognition:ListCollections action. + /// 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. public func listCollections(_ input: ListCollectionsRequest) throws -> ListCollectionsResponse { return try client.send(operation: "ListCollections", path: "/", httpMethod: "POST", input: input) } @@ -65,27 +65,27 @@ public struct Rekognition { return try client.send(operation: "DeleteCollection", path: "/", httpMethod: "POST", input: input) } - /// 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 get-celebrity-info-procedure. This operation requires permissions to perform the rekognition:GetCelebrityInfo action. + /// 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. public func getCelebrityInfo(_ input: GetCelebrityInfoRequest) throws -> GetCelebrityInfoResponse { return try client.send(operation: "GetCelebrityInfo", path: "/", httpMethod: "POST", input: input) } - /// Starts asynchronous detection of faces in a stored video. 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, 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 faces-video. + /// 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. public func startFaceDetection(_ input: StartFaceDetectionRequest) throws -> StartFaceDetectionResponse { return try client.send(operation: "StartFaceDetection", path: "/", httpMethod: "POST", input: input) } - /// 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 images-s3. DetectLabels does not support the detection of activities. However, activity detection is supported for label detection in videos. For more information, see . 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. + /// 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. public func detectLabels(_ input: DetectLabelsRequest) throws -> DetectLabelsResponse { return try client.send(operation: "DetectLabels", path: "/", httpMethod: "POST", input: input) } - /// 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 list-faces-in-collection-procedure. This operation requires permissions to perform the rekognition:ListFaces action. + /// 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. public func listFaces(_ input: ListFacesRequest) throws -> ListFacesResponse { return try client.send(operation: "ListFaces", path: "/", httpMethod: "POST", input: input) } - /// Starts asynchronous recognition of celebrities in a stored video. 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, 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 celebrities. + /// 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. public func startCelebrityRecognition(_ input: StartCelebrityRecognitionRequest) throws -> StartCelebrityRecognitionResponse { return try client.send(operation: "StartCelebrityRecognition", path: "/", httpMethod: "POST", input: input) } @@ -95,7 +95,7 @@ public struct Rekognition { return try client.send(operation: "ListStreamProcessors", path: "/", httpMethod: "POST", input: input) } - /// Gets the content moderation analysis results for a 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, 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 video. 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 moderation. + /// 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. public func getContentModeration(_ input: GetContentModerationRequest) throws -> GetContentModerationResponse { return try client.send(operation: "GetContentModeration", path: "/", httpMethod: "POST", input: input) } @@ -105,27 +105,27 @@ public struct Rekognition { return try client.send(operation: "DescribeStreamProcessor", path: "/", httpMethod: "POST", input: input) } - /// Starts the asynchronous tracking of persons in a stored video. 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. + /// 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. public func startPersonTracking(_ input: StartPersonTrackingRequest) throws -> StartPersonTrackingResponse { return try client.send(operation: "StartPersonTracking", path: "/", httpMethod: "POST", input: input) } - /// Creates an Amazon Rekognition stream processor that you can use to detect and recognize faces in a streaming video. Rekognition Video is a consumer of live video from Amazon Kinesis Video Streams. 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 . + /// 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 . public func createStreamProcessor(_ input: CreateStreamProcessorRequest) throws -> CreateStreamProcessorResponse { return try client.send(operation: "CreateStreamProcessor", path: "/", httpMethod: "POST", input: input) } - /// 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 faces-compare-images. This operation requires permissions to perform the rekognition:CompareFaces action. + /// 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. public func compareFaces(_ input: CompareFacesRequest) throws -> CompareFacesResponse { return try client.send(operation: "CompareFaces", path: "/", httpMethod: "POST", input: input) } - /// Detects faces in the input image and adds them to the specified collection. Amazon Rekognition does not save the actual faces detected. Instead, the underlying detection algorithm first detects the faces in the input image, and for each face extracts facial features into a feature vector, and stores it in the back-end database. Amazon Rekognition uses feature vectors when performing face match and search operations using the and operations. If you 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, check the the value of FaceModelVersion in the response from IndexFaces. For more information, see face-detection-model. If you provide the optional ExternalImageID for the input image you provided, Amazon Rekognition associates this ID with all faces that it detects. When you call the operation, the response returns the external ID. You can use this external image ID to create a client-side index to associate the faces with each image. You can then use the index to find all faces in an image. In response, the operation returns an array of metadata for all detected faces. This includes, the bounding box of the detected face, confidence value (indicating the bounding box contains a face), a face ID assigned by the service for each face that is detected and stored, and an image ID assigned by the service for the input image. If you request all facial attributes (using the detectionAttributes parameter, Amazon Rekognition returns detailed facial attributes such as facial landmarks (for example, location of eye and mount) and other facial attributes such gender. If you provide the same image, specify the same collection, and use the same external ID in the IndexFaces operation, Amazon Rekognition doesn't save duplicate face metadata. 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. + /// Detects faces in the input image and adds them to the specified collection. Amazon Rekognition does not save the actual faces detected. Instead, the underlying detection algorithm first detects the faces in the input image, and for each face extracts facial features into a feature vector, and stores it in the back-end database. Amazon Rekognition uses feature vectors when performing face match and search operations using the and operations. If you 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, check the 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 mount) and other facial attributes such gender. If you provide the same image, specify the same collection, and use the same external ID in the IndexFaces operation, Amazon Rekognition doesn't save duplicate face metadata. For 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. public func indexFaces(_ input: IndexFacesRequest) throws -> IndexFacesResponse { return try client.send(operation: "IndexFaces", path: "/", httpMethod: "POST", input: input) } - /// Returns an array of celebrities recognized in the input image. For more information, see celebrities. 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 celebrities-procedure-image. This operation requires permissions to perform the rekognition:RecognizeCelebrities operation. + /// 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. public func recognizeCelebrities(_ input: RecognizeCelebritiesRequest) throws -> RecognizeCelebritiesResponse { return try client.send(operation: "RecognizeCelebrities", path: "/", httpMethod: "POST", input: input) } @@ -135,7 +135,7 @@ public struct Rekognition { return try client.send(operation: "StartStreamProcessor", path: "/", httpMethod: "POST", input: input) } - /// Starts asynchronous detection of labels in a stored video. 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, 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. + /// 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. public func startLabelDetection(_ input: StartLabelDetectionRequest) throws -> StartLabelDetectionResponse { return try client.send(operation: "StartLabelDetection", path: "/", httpMethod: "POST", input: input) } @@ -145,27 +145,27 @@ public struct Rekognition { return try client.send(operation: "CreateCollection", path: "/", httpMethod: "POST", input: input) } - /// Starts asynchronous detection of explicit or suggestive adult content in a stored video. 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, 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 moderation. + /// 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. public func startContentModeration(_ input: StartContentModerationRequest) throws -> StartContentModerationResponse { return try client.send(operation: "StartContentModeration", path: "/", httpMethod: "POST", input: input) } - /// 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, see search-face-with-image-procedure. This operation requires permissions to perform the rekognition:SearchFacesByImage action. + /// 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. public func searchFacesByImage(_ input: SearchFacesByImageRequest) throws -> SearchFacesByImageResponse { return try client.send(operation: "SearchFacesByImage", path: "/", httpMethod: "POST", input: input) } - /// Gets the face search results for 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, 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 collections. 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 for the matched person, and the time the person was matched in the video. 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. + /// 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. public func getFaceSearch(_ input: GetFaceSearchRequest) throws -> GetFaceSearchResponse { return try client.send(operation: "GetFaceSearch", path: "/", httpMethod: "POST", input: input) } - /// 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 +/- 30 degrees orientation of the horizontal axis. For more information, see text-detection. + /// 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 +/- 30 degrees orientation of the horizontal axis. For more information, see DetectText in the Amazon Rekognition Developer Guide. public func detectText(_ input: DetectTextRequest) throws -> DetectTextResponse { return try client.send(operation: "DetectText", path: "/", httpMethod: "POST", input: input) } - /// Gets face detection results for a Rekognition Video analysis started by . Face detection with Rekognition Video is an asynchronous operation. You start face detection by calling which returns a job identifier (JobId). When the face detection operation finishes, 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. + /// 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. public func getFaceDetection(_ input: GetFaceDetectionRequest) throws -> GetFaceDetectionResponse { return try client.send(operation: "GetFaceDetection", path: "/", httpMethod: "POST", input: input) } @@ -175,17 +175,17 @@ public struct Rekognition { return try client.send(operation: "StopStreamProcessor", path: "/", httpMethod: "POST", input: input) } - /// 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 moderation. 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. + /// 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. public func detectModerationLabels(_ input: DetectModerationLabelsRequest) throws -> DetectModerationLabelsResponse { return try client.send(operation: "DetectModerationLabels", path: "/", httpMethod: "POST", input: input) } - /// Gets the label detection results of a 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. + /// 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. public func getLabelDetection(_ input: GetLabelDetectionRequest) throws -> GetLabelDetectionResponse { return try client.send(operation: "GetLabelDetection", path: "/", httpMethod: "POST", input: input) } - /// 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, 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 collections-search-person. + /// 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 collections-search-person. public func startFaceSearch(_ input: StartFaceSearchRequest) throws -> StartFaceSearchResponse { return try client.send(operation: "StartFaceSearch", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/rekognition/Rekognition_Shapes.swift b/Sources/AWSSDKSwift/Services/rekognition/Rekognition_Shapes.swift index 5b41130cdf8..9b93286a2be 100644 --- a/Sources/AWSSDKSwift/Services/rekognition/Rekognition_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/rekognition/Rekognition_Shapes.swift @@ -152,7 +152,7 @@ extension Rekognition { public let clientRequestToken: String? /// ID of the collection that contains the faces you want to search for. public let collectionId: String - /// The ARN of the Amazon SNS topic to which you want Rekognition Video to publish the completion status of the search. + /// The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the search. public let notificationChannel: NotificationChannel? /// The video you want to search. The video must be stored in an Amazon S3 bucket. public let video: Video @@ -307,7 +307,7 @@ extension Rekognition { public let orientationCorrection: OrientationCorrection? /// Version number of the face detection model associated with the input collection (CollectionId). public let faceModelVersion: String? - /// An array of faces detected and added to the collection. For more information, see collections-index-faces. + /// 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. public let faceRecords: [FaceRecord]? public init(orientationCorrection: OrientationCorrection? = nil, faceModelVersion: String? = nil, faceRecords: [FaceRecord]? = nil) { @@ -337,8 +337,8 @@ extension Rekognition { AWSShapeMember(label: "Landmarks", required: false, type: .list), AWSShapeMember(label: "Beard", required: false, type: .structure), AWSShapeMember(label: "Quality", required: false, type: .structure), - AWSShapeMember(label: "Confidence", required: false, type: .float), AWSShapeMember(label: "Mustache", required: false, type: .structure), + AWSShapeMember(label: "Confidence", required: false, type: .float), AWSShapeMember(label: "Emotions", required: false, type: .list) ] /// Indicates whether or not the face is wearing sunglasses, and the confidence level in the determination. @@ -351,28 +351,28 @@ extension Rekognition { public let smile: Smile? /// Indicates whether or not the mouth on the face is open, and the confidence level in the determination. public let mouthOpen: MouthOpen? - /// Bounding box of the face. + /// Bounding box of the face. Default attribute. public let boundingBox: BoundingBox? - /// Indicates the pose of the face as determined by its pitch, roll, and yaw. + /// Indicates the pose of the face as determined by its pitch, roll, and yaw. Default attribute. public let pose: Pose? /// The estimated age range, in years, for the face. Low represents the lowest estimated age and High represents the highest estimated age. public let ageRange: AgeRange? /// Indicates whether or not the face is wearing eye glasses, and the confidence level in the determination. public let eyeglasses: Eyeglasses? - /// Indicates the location of landmarks on the face. + /// Indicates the location of landmarks on the face. Default attribute. public let landmarks: [Landmark]? /// Indicates whether or not the face has a beard, and the confidence level in the determination. public let beard: Beard? - /// Identifies image brightness and sharpness. + /// Identifies image brightness and sharpness. Default attribute. public let quality: ImageQuality? - /// Confidence level that the bounding box contains a face (and not a different object such as a tree). - public let confidence: Float? /// Indicates whether or not the face has a mustache, and the confidence level in the determination. public let mustache: Mustache? + /// Confidence level that the bounding box contains a face (and not a different object such as a tree). Default attribute. + public let confidence: Float? /// The emotions detected on the face, and the confidence level in the determination. For example, HAPPY, SAD, and ANGRY. public let emotions: [Emotion]? - public init(sunglasses: Sunglasses? = nil, gender: Gender? = nil, eyesOpen: EyeOpen? = nil, smile: Smile? = nil, mouthOpen: MouthOpen? = nil, boundingBox: BoundingBox? = nil, pose: Pose? = nil, ageRange: AgeRange? = nil, eyeglasses: Eyeglasses? = nil, landmarks: [Landmark]? = nil, beard: Beard? = nil, quality: ImageQuality? = nil, confidence: Float? = nil, mustache: Mustache? = nil, emotions: [Emotion]? = nil) { + public init(sunglasses: Sunglasses? = nil, gender: Gender? = nil, eyesOpen: EyeOpen? = nil, smile: Smile? = nil, mouthOpen: MouthOpen? = nil, boundingBox: BoundingBox? = nil, pose: Pose? = nil, ageRange: AgeRange? = nil, eyeglasses: Eyeglasses? = nil, landmarks: [Landmark]? = nil, beard: Beard? = nil, quality: ImageQuality? = nil, mustache: Mustache? = nil, confidence: Float? = nil, emotions: [Emotion]? = nil) { self.sunglasses = sunglasses self.gender = gender self.eyesOpen = eyesOpen @@ -385,8 +385,8 @@ extension Rekognition { self.landmarks = landmarks self.beard = beard self.quality = quality - self.confidence = confidence self.mustache = mustache + self.confidence = confidence self.emotions = emotions } @@ -403,8 +403,8 @@ extension Rekognition { case landmarks = "Landmarks" case beard = "Beard" case quality = "Quality" - case confidence = "Confidence" case mustache = "Mustache" + case confidence = "Confidence" case emotions = "Emotions" } } @@ -596,7 +596,7 @@ extension Rekognition { public let clientRequestToken: String? /// 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. public let minConfidence: Float? - /// The Amazon SNS topic ARN that you want Rekognition Video to publish the completion status of the content moderation analysis to. + /// The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the content moderation analysis to. public let notificationChannel: NotificationChannel? /// The video in which you want to moderate content. The video must be stored in an Amazon S3 bucket. public let video: Video @@ -660,9 +660,9 @@ extension Rekognition { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// If the previous response was incomplete (because there are more stream processors to retrieve), Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of stream processors. + /// 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. public let nextToken: String? - /// Maximum number of stream processors you want Rekognition Video to return in the response. The default is 1000. + /// Maximum number of stream processors you want Amazon Rekognition Video to return in the response. The default is 1000. public let maxResults: Int32? public init(nextToken: String? = nil, maxResults: Int32? = nil) { @@ -1000,7 +1000,7 @@ extension Rekognition { public let name: String? /// 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. public let lastUpdateTimestamp: TimeStamp? - /// Kinesis data stream to which Rekognition Video puts the analysis results. + /// Kinesis data stream to which Amazon Rekognition Video puts the analysis results. public let output: StreamProcessorOutput? /// 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. public let settings: StreamProcessorSettings? @@ -1050,9 +1050,9 @@ extension Rekognition { public let labels: [LabelDetection]? /// The current status of the label detection job. public let jobStatus: VideoJobStatus? - /// Information about a video that Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation. + /// Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation. public let videoMetadata: VideoMetadata? - /// If the response is truncated, Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of labels. + /// 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. public let nextToken: String? /// If the job fails, StatusMessage provides a descriptive error message. public let statusMessage: String? @@ -1114,9 +1114,9 @@ extension Rekognition { public let jobStatus: VideoJobStatus? /// 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. public let persons: [PersonMatch]? - /// Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from a Rekognition Video operation. + /// Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition Video operation. public let videoMetadata: VideoMetadata? - /// If the response is truncated, Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of search results. + /// 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. public let nextToken: String? /// If the job fails, StatusMessage provides a descriptive error message. public let statusMessage: String? @@ -1171,9 +1171,9 @@ extension Rekognition { public let jobTag: String? /// 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. public let clientRequestToken: String? - /// Specifies the minimum confidence that 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. 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. + /// 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. public let minConfidence: Float? - /// The Amazon SNS topic ARN you want Rekognition Video to publish the completion status of the label detection operation to. + /// The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the label detection operation to. public let notificationChannel: NotificationChannel? /// The video in which you want to detect labels. The video must be stored in an Amazon S3 bucket. public let video: Video @@ -1204,11 +1204,11 @@ extension Rekognition { ] /// 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. public let sortBy: FaceSearchSortBy? - /// If the previous response was incomplete (because there is more search results to retrieve), Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of search results. + /// 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. public let nextToken: String? /// The job identifer for the search request. You get the job identifier from an initial call to StartFaceSearch. public let jobId: String - /// Maximum number of search results you want Rekognition Video to return in the response. The default is 1000. + /// 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. public let maxResults: Int32? public init(sortBy: FaceSearchSortBy? = nil, nextToken: String? = nil, jobId: String, maxResults: Int32? = nil) { @@ -1256,11 +1256,11 @@ extension Rekognition { ] /// 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. public let sortBy: CelebrityRecognitionSortBy? - /// If the previous response was incomplete (because there is more recognized celebrities to retrieve), Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of celebrities. + /// 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. public let nextToken: String? /// Job identifier for the required celebrity recognition analysis. You can get the job identifer from a call to StartCelebrityRecognition. public let jobId: String - /// Maximum number of celebrities you want Rekognition Video to return in the response. The default is 1000. + /// 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. public let maxResults: Int32? public init(sortBy: CelebrityRecognitionSortBy? = nil, nextToken: String? = nil, jobId: String, maxResults: Int32? = nil) { @@ -1429,7 +1429,7 @@ extension Rekognition { public let name: String /// Kinesis video stream stream that provides the source streaming video. If you are using the AWS CLI, the parameter name is StreamProcessorInput. public let input: StreamProcessorInput - /// Kinesis data stream stream to which Rekognition Video puts the analysis results. If you are using the AWS CLI, the parameter name is StreamProcessorOutput. + /// 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. public let output: StreamProcessorOutput public init(settings: StreamProcessorSettings, roleArn: String, name: String, input: StreamProcessorInput, output: StreamProcessorOutput) { @@ -1527,22 +1527,6 @@ extension Rekognition { } - public struct StartContentModerationResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobId", required: false, type: .string) - ] - /// The identifier for the content moderation analysis job. Use JobId to identify the job in a subsequent call to GetContentModeration. - public let jobId: String? - - public init(jobId: String? = nil) { - self.jobId = jobId - } - - private enum CodingKeys: String, CodingKey { - case jobId = "JobId" - } - } - public struct IndexFacesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Image", required: true, type: .structure), @@ -1574,6 +1558,22 @@ extension Rekognition { } } + public struct DetectTextRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Image", required: true, type: .structure) + ] + /// 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. + public let image: Image + + public init(image: Image) { + self.image = image + } + + private enum CodingKeys: String, CodingKey { + case image = "Image" + } + } + public enum EmotionName: String, CustomStringConvertible, Codable { case happy = "HAPPY" case sad = "SAD" @@ -1586,19 +1586,19 @@ extension Rekognition { public var description: String { return self.rawValue } } - public struct DetectTextRequest: AWSShape { + public struct StartContentModerationResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Image", required: true, type: .structure) + AWSShapeMember(label: "JobId", required: false, type: .string) ] - /// 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. - public let image: Image + /// The identifier for the content moderation analysis job. Use JobId to identify the job in a subsequent call to GetContentModeration. + public let jobId: String? - public init(image: Image) { - self.image = image + public init(jobId: String? = nil) { + self.jobId = jobId } private enum CodingKeys: String, CodingKey { - case image = "Image" + case jobId = "JobId" } } @@ -1658,7 +1658,7 @@ extension Rekognition { public let clientRequestToken: String? /// 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. public let faceAttributes: FaceAttributes? - /// The ARN of the Amazon SNS topic to which you want Rekognition Video to publish the completion status of the face detection operation. + /// The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the face detection operation. public let notificationChannel: NotificationChannel? /// The video in which you want to detect faces. The video must be stored in an Amazon S3 bucket. public let video: Video @@ -1708,9 +1708,9 @@ extension Rekognition { public let statusMessage: String? /// The current status of the celebrity recognition job. public let jobStatus: VideoJobStatus? - /// Information about a video that Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Rekognition Video operation. + /// Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition Video operation. public let videoMetadata: VideoMetadata? - /// If the response is truncated, Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of celebrities. + /// 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. public let nextToken: String? /// Array of celebrities recognized in the video. public let celebrities: [CelebrityRecognition]? @@ -1807,7 +1807,7 @@ extension Rekognition { public let jobTag: String? /// 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. public let clientRequestToken: String? - /// The Amazon SNS topic ARN that you want Rekognition Video to publish the completion status of the celebrity recognition analysis to. + /// The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the celebrity recognition analysis to. public let notificationChannel: NotificationChannel? /// The video in which you want to recognize celebrities. The video must be stored in an Amazon S3 bucket. public let video: Video @@ -1912,9 +1912,9 @@ extension Rekognition { public let jobStatus: VideoJobStatus? /// 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. public let persons: [PersonDetection]? - /// Information about a video that Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Rekognition Video operation. + /// Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition Video operation. public let videoMetadata: VideoMetadata? - /// If the response is truncated, Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of persons. + /// 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. public let nextToken: String? /// If the job fails, StatusMessage provides a descriptive error message. public let statusMessage: String? @@ -1950,7 +1950,7 @@ extension Rekognition { public let jobStatus: VideoJobStatus? /// 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. public let faces: [FaceDetection]? - /// Information about a video that Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation. + /// Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation. public let videoMetadata: VideoMetadata? /// 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. public let nextToken: String? @@ -1998,7 +1998,7 @@ extension Rekognition { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "StreamProcessors", required: false, type: .list) ] - /// If the response is truncated, Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of stream processors. + /// 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. public let nextToken: String? /// List of stream processors that you have created. public let streamProcessors: [StreamProcessor]? @@ -2060,11 +2060,11 @@ extension Rekognition { ] /// 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. public let sortBy: LabelDetectionSortBy? - /// If the previous response was incomplete (because there are more labels to retrieve), Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of labels. + /// 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. public let nextToken: String? /// Job identifier for the label detection operation for which you want results returned. You get the job identifer from an initial call to StartlabelDetection. public let jobId: String - /// Maximum number of labels you want Amazon Rekognition to return in the response. The default is 1000. + /// 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. public let maxResults: Int32? public init(sortBy: LabelDetectionSortBy? = nil, nextToken: String? = nil, jobId: String, maxResults: Int32? = nil) { @@ -2093,7 +2093,7 @@ extension Rekognition { public let jobTag: String? /// 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. public let clientRequestToken: String? - /// The Amazon SNS topic ARN you want Rekognition Video to publish the completion status of the people detection operation to. + /// The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the people detection operation to. public let notificationChannel: NotificationChannel? /// The video in which you want to detect people. The video must be stored in an Amazon S3 bucket. public let video: Video @@ -2119,11 +2119,11 @@ extension Rekognition { AWSShapeMember(label: "JobId", required: true, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// If the previous response was incomplete (because there are more faces to retrieve), Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of faces. + /// 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. public let nextToken: String? /// Unique identifier for the face detection job. The JobId is returned from StartFaceDetection. public let jobId: String - /// Maximum number of detected faces to return. The default is 1000. + /// 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. public let maxResults: Int32? public init(nextToken: String? = nil, jobId: String, maxResults: Int32? = nil) { @@ -2445,7 +2445,7 @@ extension Rekognition { public let nextToken: String? /// The identifier for the content moderation job. Use JobId to identify the job in a subsequent call to GetContentModeration. public let jobId: String - /// Maximum number of content moderation labels to return. The default is 1000. + /// 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. public let maxResults: Int32? public init(sortBy: ContentModerationSortBy? = nil, nextToken: String? = nil, jobId: String, maxResults: Int32? = nil) { @@ -2530,7 +2530,7 @@ extension Rekognition { public let moderationLabels: [ContentModerationDetection]? /// Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from GetContentModeration. public let videoMetadata: VideoMetadata? - /// If the response is truncated, Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of moderation labels. + /// 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. public let nextToken: String? /// If the job fails, StatusMessage provides a descriptive error message. public let statusMessage: String? @@ -2709,11 +2709,11 @@ extension Rekognition { ] /// 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. public let sortBy: PersonTrackingSortBy? - /// If the previous response was incomplete (because there are more persons to retrieve), Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of persons. + /// 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. public let nextToken: String? /// The identifier for a job that tracks persons in a video. You get the JobId from a call to StartPersonTracking. public let jobId: String - /// Maximum number of tracked persons to return. The default is 1000. + /// 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. public let maxResults: Int32? public init(sortBy: PersonTrackingSortBy? = nil, nextToken: String? = nil, jobId: String, maxResults: Int32? = nil) { diff --git a/Sources/AWSSDKSwift/Services/resource-groups/ResourceGroups_API.swift b/Sources/AWSSDKSwift/Services/resource-groups/ResourceGroups_API.swift index 9f5ce6c1ab7..4946e8fcd26 100644 --- a/Sources/AWSSDKSwift/Services/resource-groups/ResourceGroups_API.swift +++ b/Sources/AWSSDKSwift/Services/resource-groups/ResourceGroups_API.swift @@ -61,12 +61,12 @@ public struct ResourceGroups { /// Returns a list of existing resource groups in your account. public func listGroups(_ input: ListGroupsInput) throws -> ListGroupsOutput { - return try client.send(operation: "ListGroups", path: "/groups", httpMethod: "GET", input: input) + return try client.send(operation: "ListGroups", path: "/groups-list", httpMethod: "POST", input: input) } /// Returns a list of ARNs of resources that are members of a specified resource group. public func listGroupResources(_ input: ListGroupResourcesInput) throws -> ListGroupResourcesOutput { - return try client.send(operation: "ListGroupResources", path: "/groups/{GroupName}/resource-identifiers", httpMethod: "GET", input: input) + return try client.send(operation: "ListGroupResources", path: "/groups/{GroupName}/resource-identifiers-list", httpMethod: "POST", input: input) } /// Deletes specified tags from a specified resource. diff --git a/Sources/AWSSDKSwift/Services/resource-groups/ResourceGroups_Shapes.swift b/Sources/AWSSDKSwift/Services/resource-groups/ResourceGroups_Shapes.swift index 8d423a0abd0..f90a72f4bb6 100644 --- a/Sources/AWSSDKSwift/Services/resource-groups/ResourceGroups_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/resource-groups/ResourceGroups_Shapes.swift @@ -42,35 +42,24 @@ extension ResourceGroups { } } - public struct GetGroupQueryInput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "GroupName", location: .uri(locationName: "GroupName"), required: true, type: .string) - ] - /// The name of the resource group. - public let groupName: String - - public init(groupName: String) { - self.groupName = groupName - } - - private enum CodingKeys: String, CodingKey { - case groupName = "GroupName" - } - } - - public struct GetTagsInput: AWSShape { + public struct ResourceFilter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Arn", location: .uri(locationName: "Arn"), required: true, type: .string) + AWSShapeMember(label: "Name", required: true, type: .enum), + AWSShapeMember(label: "Values", required: true, type: .list) ] - /// The ARN of the resource for which you want a list of tags. The resource must exist within the account you are using. - public let arn: String + /// The name of the filter. Filter names are case-sensitive. + public let name: ResourceFilterName + /// One or more filter values. Allowed filter values vary by resource filter name, and are case-sensitive. + public let values: [String] - public init(arn: String) { - self.arn = arn + public init(name: ResourceFilterName, values: [String]) { + self.name = name + self.values = values } private enum CodingKeys: String, CodingKey { - case arn = "Arn" + case name = "Name" + case values = "Values" } } @@ -100,29 +89,35 @@ extension ResourceGroups { } } - public struct CreateGroupOutput: AWSShape { + public struct GetTagsInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Tags", required: false, type: .map), - AWSShapeMember(label: "ResourceQuery", required: false, type: .structure), - AWSShapeMember(label: "Group", required: false, type: .structure) + AWSShapeMember(label: "Arn", location: .uri(locationName: "Arn"), required: true, type: .string) ] - /// The tags associated with the group. - public let tags: [String: String]? - /// The resource query associated with the group. - public let resourceQuery: ResourceQuery? - /// A full description of the resource group after it is created. - public let group: Group? + /// The ARN of the resource for which you want a list of tags. The resource must exist within the account you are using. + public let arn: String - public init(tags: [String: String]? = nil, resourceQuery: ResourceQuery? = nil, group: Group? = nil) { - self.tags = tags - self.resourceQuery = resourceQuery - self.group = group + public init(arn: String) { + self.arn = arn } private enum CodingKeys: String, CodingKey { - case tags = "Tags" - case resourceQuery = "ResourceQuery" - case group = "Group" + case arn = "Arn" + } + } + + public struct GetGroupQueryInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GroupName", location: .uri(locationName: "GroupName"), required: true, type: .string) + ] + /// The name of the resource group. + public let groupName: String + + public init(groupName: String) { + self.groupName = groupName + } + + private enum CodingKeys: String, CodingKey { + case groupName = "GroupName" } } @@ -147,6 +142,32 @@ extension ResourceGroups { } } + public struct CreateGroupOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Tags", required: false, type: .map), + AWSShapeMember(label: "ResourceQuery", required: false, type: .structure), + AWSShapeMember(label: "Group", required: false, type: .structure) + ] + /// The tags associated with the group. + public let tags: [String: String]? + /// The resource query associated with the group. + public let resourceQuery: ResourceQuery? + /// A full description of the resource group after it is created. + public let group: Group? + + public init(tags: [String: String]? = nil, resourceQuery: ResourceQuery? = nil, group: Group? = nil) { + self.tags = tags + self.resourceQuery = resourceQuery + self.group = group + } + + private enum CodingKeys: String, CodingKey { + case tags = "Tags" + case resourceQuery = "ResourceQuery" + case group = "Group" + } + } + public struct UntagInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Arn", location: .uri(locationName: "Arn"), required: true, type: .string), @@ -418,10 +439,13 @@ extension ResourceGroups { public struct ListGroupResourcesInput: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Filters", required: false, type: .list), AWSShapeMember(label: "GroupName", location: .uri(locationName: "GroupName"), required: true, type: .string), AWSShapeMember(label: "NextToken", location: .querystring(locationName: "nextToken"), required: false, type: .string), AWSShapeMember(label: "MaxResults", location: .querystring(locationName: "maxResults"), required: false, type: .integer) ] + /// 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. + public let filters: [ResourceFilter]? /// The name of the resource group. public let groupName: String /// 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. @@ -429,13 +453,15 @@ extension ResourceGroups { /// 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. public let maxResults: Int32? - public init(groupName: String, nextToken: String? = nil, maxResults: Int32? = nil) { + public init(filters: [ResourceFilter]? = nil, groupName: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.filters = filters self.groupName = groupName self.nextToken = nextToken self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { + case filters = "Filters" case groupName = "GroupName" case nextToken = "nextToken" case maxResults = "maxResults" @@ -447,7 +473,7 @@ extension ResourceGroups { AWSShapeMember(label: "Tags", required: true, type: .map), AWSShapeMember(label: "Arn", location: .uri(locationName: "Arn"), required: true, type: .string) ] - /// 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 127 characters, and tag values can have a maximum length of 255 characters. + /// 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. public let tags: [String: String] /// The ARN of the resource to which to add tags. public let arn: String @@ -484,6 +510,11 @@ extension ResourceGroups { } } + public enum ResourceFilterName: String, CustomStringConvertible, Codable { + case resourceType = "resource-type" + public var description: String { return self.rawValue } + } + public struct Group: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: true, type: .string), @@ -519,9 +550,9 @@ extension ResourceGroups { ] /// The resource query that determines which AWS resources are members of this group. public let resourceQuery: ResourceQuery - /// 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 127 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. + /// 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. public let name: String - /// 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 127 characters, and tag values can have a maximum length of 255 characters. + /// 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. public let tags: [String: String]? /// The description of the resource group. Descriptions can have a maximum of 511 characters, including letters, numbers, hyphens, underscores, punctuation, and spaces. public let description: String? diff --git a/Sources/AWSSDKSwift/Services/route53/Route53_API.swift b/Sources/AWSSDKSwift/Services/route53/Route53_API.swift index 44b2ddda515..9a7ef17abd0 100644 --- a/Sources/AWSSDKSwift/Services/route53/Route53_API.swift +++ b/Sources/AWSSDKSwift/Services/route53/Route53_API.swift @@ -121,7 +121,7 @@ public struct Route53 { return try client.send(operation: "ListTrafficPolicyInstancesByHostedZone", path: "/2013-04-01/trafficpolicyinstances/hostedzone", httpMethod: "GET", input: input) } - /// Creates a delegation set (a group of four name servers) that can be reused by multiple hosted zones. If a hosted zoned ID is specified, CreateReusableDelegationSet marks the delegation set associated with that zone as reusable A reusable delegation set can't be associated with a private hosted zone. For information on how to use a reusable delegation set to configure white label name servers, see Configuring White Label Name Servers. + /// 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: Create a reusable delegation set. Recreate hosted zones, and reduce the TTL to 60 seconds or less. Recreate resource record sets in the new hosted zones. Change the registrar's name servers to use the name servers for the new hosted zones. Monitor traffic for the website or application. 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. public func createReusableDelegationSet(_ input: CreateReusableDelegationSetRequest) throws -> CreateReusableDelegationSetResponse { return try client.send(operation: "CreateReusableDelegationSet", path: "/2013-04-01/delegationset", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/route53/Route53_Error.swift b/Sources/AWSSDKSwift/Services/route53/Route53_Error.swift index cdcbb329659..9d822d3f548 100644 --- a/Sources/AWSSDKSwift/Services/route53/Route53_Error.swift +++ b/Sources/AWSSDKSwift/Services/route53/Route53_Error.swift @@ -42,6 +42,7 @@ public enum Route53Error: AWSErrorType { case invalidChangeBatch(message: String?) case conflictingTypes(message: String?) case trafficPolicyInUse(message: String?) + case tooManyTrafficPolicyVersionsForCurrentPolicy(message: String?) case tooManyTrafficPolicyInstances(message: String?) case trafficPolicyInstanceAlreadyExists(message: String?) case noSuchCloudWatchLogsLogGroup(message: String?) @@ -139,6 +140,8 @@ extension Route53Error { self = .conflictingTypes(message: message) case "TrafficPolicyInUse": self = .trafficPolicyInUse(message: message) + case "TooManyTrafficPolicyVersionsForCurrentPolicy": + self = .tooManyTrafficPolicyVersionsForCurrentPolicy(message: message) case "TooManyTrafficPolicyInstances": self = .tooManyTrafficPolicyInstances(message: message) case "TrafficPolicyInstanceAlreadyExists": diff --git a/Sources/AWSSDKSwift/Services/route53/Route53_Shapes.swift b/Sources/AWSSDKSwift/Services/route53/Route53_Shapes.swift index 253deaf775e..8c6c45a7598 100644 --- a/Sources/AWSSDKSwift/Services/route53/Route53_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/route53/Route53_Shapes.swift @@ -126,7 +126,7 @@ extension Route53 { AWSShapeMember(label: "Type", location: .uri(locationName: "Type"), required: true, type: .enum), AWSShapeMember(label: "HostedZoneId", location: .uri(locationName: "Id"), required: true, type: .string) ] - /// 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_TYPE: The maximum number of Amazon VPCs that you can associate with the specified private hosted zone. + /// 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. public let `type`: HostedZoneLimitType /// The ID of the hosted zone that you want to get a limit for. public let hostedZoneId: String @@ -406,7 +406,7 @@ extension Route53 { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "HealthCheckId", location: .uri(locationName: "HealthCheckId"), required: true, type: .string) ] - /// 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. + /// 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. public let healthCheckId: String public init(healthCheckId: String) { @@ -560,12 +560,14 @@ extension Route53 { case usWest2 = "us-west-2" case euWest1 = "eu-west-1" case euWest2 = "eu-west-2" + case euWest3 = "eu-west-3" case euCentral1 = "eu-central-1" case apSoutheast1 = "ap-southeast-1" case apSoutheast2 = "ap-southeast-2" case apSouth1 = "ap-south-1" case apNortheast1 = "ap-northeast-1" case apNortheast2 = "ap-northeast-2" + case apNortheast3 = "ap-northeast-3" case saEast1 = "sa-east-1" case caCentral1 = "ca-central-1" case cnNorth1 = "cn-north-1" @@ -2785,10 +2787,10 @@ extension Route53 { public struct HealthCheckConfig: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "IPAddress", required: false, type: .string), - AWSShapeMember(label: "ChildHealthChecks", required: false, type: .structure), AWSShapeMember(label: "MeasureLatency", required: false, type: .boolean), AWSShapeMember(label: "ResourcePath", required: false, type: .string), + AWSShapeMember(label: "ChildHealthChecks", required: false, type: .structure), + AWSShapeMember(label: "IPAddress", required: false, type: .string), AWSShapeMember(label: "InsufficientDataHealthStatus", required: false, type: .enum), AWSShapeMember(label: "Inverted", required: false, type: .boolean), AWSShapeMember(label: "AlarmIdentifier", required: false, type: .structure), @@ -2802,14 +2804,14 @@ extension Route53 { AWSShapeMember(label: "Port", required: false, type: .integer), AWSShapeMember(label: "FailureThreshold", required: false, type: .integer) ] - /// 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: RFC 5735, Special Use IPv4 Addresses RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space RFC 5156, Special-Use IPv6 Addresses When the value of Type is CALCULATED or CLOUDWATCH_METRIC, omit IPAddress. - public let iPAddress: String? - /// (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. - public let childHealthChecks: ChildHealthCheckList? /// 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. public let measureLatency: Bool? /// 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. public let resourcePath: String? + /// (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. + public let childHealthChecks: ChildHealthCheckList? + /// 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: RFC 5735, Special Use IPv4 Addresses RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space RFC 5156, Special-Use IPv6 Addresses When the value of Type is CALCULATED or CLOUDWATCH_METRIC, omit IPAddress. + public let iPAddress: String? /// 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. public let insufficientDataHealthStatus: InsufficientDataHealthStatus? /// 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. @@ -2835,11 +2837,11 @@ extension Route53 { /// 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. public let failureThreshold: Int32? - public init(iPAddress: String? = nil, childHealthChecks: ChildHealthCheckList? = nil, measureLatency: Bool? = nil, resourcePath: String? = nil, insufficientDataHealthStatus: InsufficientDataHealthStatus? = nil, inverted: Bool? = nil, alarmIdentifier: AlarmIdentifier? = nil, regions: HealthCheckRegionList? = nil, healthThreshold: Int32? = nil, searchString: String? = nil, fullyQualifiedDomainName: String? = nil, requestInterval: Int32? = nil, type: HealthCheckType, enableSNI: Bool? = nil, port: Int32? = nil, failureThreshold: Int32? = nil) { - self.iPAddress = iPAddress - self.childHealthChecks = childHealthChecks + public init(measureLatency: Bool? = nil, resourcePath: String? = nil, childHealthChecks: ChildHealthCheckList? = nil, iPAddress: String? = nil, insufficientDataHealthStatus: InsufficientDataHealthStatus? = nil, inverted: Bool? = nil, alarmIdentifier: AlarmIdentifier? = nil, regions: HealthCheckRegionList? = nil, healthThreshold: Int32? = nil, searchString: String? = nil, fullyQualifiedDomainName: String? = nil, requestInterval: Int32? = nil, type: HealthCheckType, enableSNI: Bool? = nil, port: Int32? = nil, failureThreshold: Int32? = nil) { self.measureLatency = measureLatency self.resourcePath = resourcePath + self.childHealthChecks = childHealthChecks + self.iPAddress = iPAddress self.insufficientDataHealthStatus = insufficientDataHealthStatus self.inverted = inverted self.alarmIdentifier = alarmIdentifier @@ -2855,10 +2857,10 @@ extension Route53 { } private enum CodingKeys: String, CodingKey { - case iPAddress = "IPAddress" - case childHealthChecks = "ChildHealthChecks" case measureLatency = "MeasureLatency" case resourcePath = "ResourcePath" + case childHealthChecks = "ChildHealthChecks" + case iPAddress = "IPAddress" case insufficientDataHealthStatus = "InsufficientDataHealthStatus" case inverted = "Inverted" case alarmIdentifier = "AlarmIdentifier" @@ -3509,7 +3511,7 @@ extension Route53 { AWSShapeMember(label: "Type", required: true, type: .enum), AWSShapeMember(label: "Value", required: true, type: .long) ] - /// 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_TYPE: The maximum number of Amazon VPCs that you can associate with the specified private hosted zone. + /// 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. public let `type`: HostedZoneLimitType /// The current value for the limit that is specified by Type. public let value: Int64 @@ -3750,13 +3752,16 @@ extension Route53 { case caCentral1 = "ca-central-1" case euWest1 = "eu-west-1" case euWest2 = "eu-west-2" + case euWest3 = "eu-west-3" case euCentral1 = "eu-central-1" case apSoutheast1 = "ap-southeast-1" case apSoutheast2 = "ap-southeast-2" case apNortheast1 = "ap-northeast-1" case apNortheast2 = "ap-northeast-2" + case apNortheast3 = "ap-northeast-3" case saEast1 = "sa-east-1" case cnNorth1 = "cn-north-1" + case cnNorthwest1 = "cn-northwest-1" case apSouth1 = "ap-south-1" public var description: String { return self.rawValue } } @@ -3922,11 +3927,13 @@ extension Route53 { case euCentral1 = "eu-central-1" case euWest1 = "eu-west-1" case euWest2 = "eu-west-2" + case euWest3 = "eu-west-3" case apSouth1 = "ap-south-1" case apSoutheast1 = "ap-southeast-1" case apSoutheast2 = "ap-southeast-2" case apNortheast1 = "ap-northeast-1" case apNortheast2 = "ap-northeast-2" + case apNortheast3 = "ap-northeast-3" case saEast1 = "sa-east-1" public var description: String { return self.rawValue } } diff --git a/Sources/AWSSDKSwift/Services/route53domains/Route53domains_API.swift b/Sources/AWSSDKSwift/Services/route53domains/Route53domains_API.swift index cf91bc9370e..e7303c08fbd 100644 --- a/Sources/AWSSDKSwift/Services/route53domains/Route53domains_API.swift +++ b/Sources/AWSSDKSwift/Services/route53domains/Route53domains_API.swift @@ -25,7 +25,7 @@ public struct Route53domains { ) } - /// This operation updates the contact information for a particular domain. Information for at least one contact (registrant, administrator, or technical) must be supplied for update. If the update is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email. + /// 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. public func updateDomainContact(_ input: UpdateDomainContactRequest) throws -> UpdateDomainContactResponse { return try client.send(operation: "UpdateDomainContact", path: "/", httpMethod: "POST", input: input) } @@ -65,7 +65,7 @@ public struct Route53domains { return try client.send(operation: "GetOperationDetail", path: "/", httpMethod: "POST", input: input) } - /// This operation configures Amazon Route 53 to automatically renew the specified domain before the domain registration expires. The cost of renewing your domain registration is billed to your AWS account. The period during which you can renew a domain name varies by TLD. For a list of TLDs and their renewal policies, see "Renewal, restoration, and deletion times" on the website for our registrar partner, Gandi. Route 53 requires that you renew before the end of the renewal period that is listed on the Gandi website so we can complete processing before the deadline. + /// 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. public func enableDomainAutoRenew(_ input: EnableDomainAutoRenewRequest) throws -> EnableDomainAutoRenewResponse { return try client.send(operation: "EnableDomainAutoRenew", path: "/", httpMethod: "POST", input: input) } @@ -100,7 +100,7 @@ public struct Route53domains { return try client.send(operation: "ListTagsForDomain", path: "/", httpMethod: "POST", input: input) } - /// This operation updates the specified domain contact's privacy setting. When the privacy option is enabled, personal information such as postal or email address is hidden from the results of a public WHOIS query. The privacy services are provided by the AWS registrar, Gandi. For more information, see the Gandi privacy features. This operation only affects the privacy of the specified contact type (registrant, administrator, or tech). Successful acceptance returns an operation ID that you can use with GetOperationDetail to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email. + /// 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. public func updateDomainContactPrivacy(_ input: UpdateDomainContactPrivacyRequest) throws -> UpdateDomainContactPrivacyResponse { return try client.send(operation: "UpdateDomainContactPrivacy", path: "/", httpMethod: "POST", input: input) } @@ -125,7 +125,7 @@ public struct Route53domains { return try client.send(operation: "GetDomainDetail", path: "/", httpMethod: "POST", input: input) } - /// This operation registers a domain. Domains are registered by the AWS registrar partner, Gandi. For some top-level domains (TLDs), this operation requires extra parameters. When you register a domain, Amazon Route 53 does the following: Creates a Amazon Route 53 hosted zone that has the same name as the domain. Amazon Route 53 assigns four name servers to your hosted zone and automatically updates your domain registration with the names of these name servers. Enables autorenew, so your domain registration will renew automatically each year. We'll notify you in advance of the renewal date so you can choose whether to renew the registration. Optionally enables privacy protection, so WHOIS queries return contact information for our registrar partner, Gandi, instead of the information you entered for registrant, admin, and tech contacts. If registration is successful, returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant is notified by email. Charges your AWS account an amount based on the top-level domain. For more information, see Amazon Route 53 Pricing. + /// 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. public func registerDomain(_ input: RegisterDomainRequest) throws -> RegisterDomainResponse { return try client.send(operation: "RegisterDomain", path: "/", httpMethod: "POST", input: input) } @@ -140,7 +140,7 @@ public struct Route53domains { return try client.send(operation: "RetrieveDomainAuthCode", path: "/", httpMethod: "POST", input: input) } - /// This operation transfers a domain from another registrar to Amazon Route 53. When the transfer is complete, the domain is registered with the AWS registrar partner, Gandi. For transfer requirements, a detailed procedure, and information about viewing the status of a domain transfer, see Transferring Registration for a Domain to Amazon Route 53 in the Amazon Route 53 Developer Guide. If the registrar for your domain is also the DNS service provider for the domain, we highly recommend that you consider transferring your DNS service to Amazon Route 53 or to another DNS service provider before you transfer your registration. Some registrars provide free DNS service when you purchase a domain registration. When you transfer the registration, the previous registrar will not renew your domain registration and could end your DNS service at any time. If the registrar for your domain is also the DNS service provider for the domain and you don't transfer DNS service to another provider, your website, email, and the web applications associated with the domain might become unavailable. If the transfer is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the transfer doesn't complete successfully, the domain registrant will be notified by email. + /// 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. public func transferDomain(_ input: TransferDomainRequest) throws -> TransferDomainResponse { return try client.send(operation: "TransferDomain", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/route53domains/Route53domains_Shapes.swift b/Sources/AWSSDKSwift/Services/route53domains/Route53domains_Shapes.swift index f45dbd18ca8..d89c68529b0 100644 --- a/Sources/AWSSDKSwift/Services/route53domains/Route53domains_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/route53domains/Route53domains_Shapes.swift @@ -60,20 +60,25 @@ extension Route53domains { public struct ListOperationsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SubmittedSince", required: false, type: .timestamp), AWSShapeMember(label: "Marker", required: false, type: .string), AWSShapeMember(label: "MaxItems", required: false, type: .integer) ] + /// 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). + public let submittedSince: TimeStamp? /// 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. public let marker: String? /// Number of domains to be returned. Default: 20 public let maxItems: Int32? - public init(marker: String? = nil, maxItems: Int32? = nil) { + public init(submittedSince: TimeStamp? = nil, marker: String? = nil, maxItems: Int32? = nil) { + self.submittedSince = submittedSince self.marker = marker self.maxItems = maxItems } private enum CodingKeys: String, CodingKey { + case submittedSince = "SubmittedSince" case marker = "Marker" case maxItems = "MaxItems" } @@ -186,13 +191,13 @@ extension Route53domains { AWSShapeMember(label: "RegistrantPrivacy", required: false, type: .boolean), AWSShapeMember(label: "AdminPrivacy", required: false, type: .boolean) ] - /// Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS ("who is") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter. + /// 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. public let techPrivacy: Bool? /// The name of the domain that you want to update the privacy setting for. public let domainName: String - /// Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS ("who is") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter. + /// 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). public let registrantPrivacy: Bool? - /// Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS ("who is") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter. + /// 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. public let adminPrivacy: Bool? public init(techPrivacy: Bool? = nil, domainName: String, registrantPrivacy: Bool? = nil, adminPrivacy: Bool? = nil) { @@ -673,11 +678,11 @@ extension Route53domains { public let nameservers: [Nameserver]? /// Provides detailed contact information. public let techContact: ContactDetail - /// Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS ("who is") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter. Default: true + /// 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 public let privacyProtectTechContact: Bool? - /// Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS ("who is") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter. Default: true + /// 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 public let privacyProtectRegistrantContact: Bool? - /// Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS ("who is") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter. Default: true + /// 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 public let privacyProtectAdminContact: Bool? /// 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. public let domainName: String @@ -834,7 +839,7 @@ extension Route53domains { ] /// Values corresponding to the additional parameter names required by some top-level domains. public let value: String - /// Name of the additional parameter required by the top-level domain. + /// 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. public let name: ExtraParamName public init(value: String, name: ExtraParamName) { @@ -1001,13 +1006,13 @@ extension Route53domains { public let registrantContact: ContactDetail /// Provides detailed contact information. public let techContact: ContactDetail - /// Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS ("who is") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter. Default: true + /// 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 public let privacyProtectTechContact: Bool? - /// Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS ("who is") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter. Default: true + /// 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 public let privacyProtectRegistrantContact: Bool? /// 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. public let domainName: String - /// Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS ("who is") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter. Default: true + /// 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 public let privacyProtectAdminContact: Bool? /// Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect after the account is charged. Default: true public let autoRenew: Bool? @@ -1135,25 +1140,25 @@ extension Route53domains { public let statusList: [String]? /// Provides details about the domain technical contact. public let techContact: ContactDetail - /// The date when the registration for the domain is set to expire. The date format is Unix time. + /// The date when the registration for the domain is set to expire. The date and time is in Coordinated Universal time (UTC). public let expirationDate: TimeStamp? - /// Name of the registrar of the domain as identified in the registry. Amazon Route 53 domains are registered by registrar Gandi. The value is "GANDI SAS". + /// 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". public let registrarName: String? - /// Specifies whether contact information for the tech contact is concealed from WHOIS queries. If the value is true, WHOIS ("who is") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter. + /// 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. public let techPrivacy: Bool? /// Web address of the registrar. public let registrarUrl: String? - /// The date when the domain was created as found in the response to a WHOIS query. The date format is Unix time. + /// 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). public let creationDate: TimeStamp? /// 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. public let abuseContactEmail: String? - /// Specifies whether contact information for the admin contact is concealed from WHOIS queries. If the value is true, WHOIS ("who is") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter. + /// 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. public let adminPrivacy: Bool? /// Phone number for reporting abuse. public let abuseContactPhone: String? /// Provides details about the domain administrative contact. public let adminContact: ContactDetail - /// The last updated date of the domain as found in the response to a WHOIS query. The date format is Unix time. + /// 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). public let updatedDate: TimeStamp? /// The fully qualified name of the WHOIS server that can answer the WHOIS query for the domain. public let whoIsServer: String? @@ -1163,7 +1168,7 @@ extension Route53domains { public let dnsSec: String? /// The name of a domain. public let domainName: String - /// Specifies whether contact information for the registrant contact is concealed from WHOIS queries. If the value is true, WHOIS ("who is") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter. + /// 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). public let registrantPrivacy: Bool? /// Specifies whether the domain registration is set to renew automatically. public let autoRenew: Bool? @@ -1346,11 +1351,11 @@ extension Route53domains { ] /// The number of billing records to be returned. Default: 20 public let maxItems: Int32? - /// The beginning date and time for the time period for which you want a list of billing records. Specify the date in Unix time format. + /// 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). public let start: TimeStamp? /// 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. public let marker: String? - /// The end date and time for the time period for which you want a list of billing records. Specify the date in Unix time format. + /// 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). public let end: TimeStamp? public init(maxItems: Int32? = nil, start: TimeStamp? = nil, marker: String? = nil, end: TimeStamp? = nil) { @@ -1368,48 +1373,6 @@ extension Route53domains { } } - public struct CheckDomainTransferabilityResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Transferability", required: true, type: .structure) - ] - /// A complex type that contains information about whether the specified domain can be transferred to Amazon Route 53. - public let transferability: DomainTransferability - - public init(transferability: DomainTransferability) { - self.transferability = transferability - } - - private enum CodingKeys: String, CodingKey { - case transferability = "Transferability" - } - } - - public struct UpdateDomainNameserversRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FIAuthKey", required: false, type: .string), - AWSShapeMember(label: "Nameservers", required: true, type: .list), - AWSShapeMember(label: "DomainName", required: true, type: .string) - ] - /// The authorization key for .fi domains - public let fIAuthKey: String? - /// A list of new name servers for the domain. - public let nameservers: [Nameserver] - /// The name of the domain that you want to change name servers for. - public let domainName: String - - public init(fIAuthKey: String? = nil, nameservers: [Nameserver], domainName: String) { - self.fIAuthKey = fIAuthKey - self.nameservers = nameservers - self.domainName = domainName - } - - private enum CodingKeys: String, CodingKey { - case fIAuthKey = "FIAuthKey" - case nameservers = "Nameservers" - case domainName = "DomainName" - } - } - public struct UpdateDomainContactRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AdminContact", required: false, type: .structure), @@ -1457,6 +1420,48 @@ extension Route53domains { } } + public struct UpdateDomainNameserversRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FIAuthKey", required: false, type: .string), + AWSShapeMember(label: "Nameservers", required: true, type: .list), + AWSShapeMember(label: "DomainName", required: true, type: .string) + ] + /// The authorization key for .fi domains + public let fIAuthKey: String? + /// A list of new name servers for the domain. + public let nameservers: [Nameserver] + /// The name of the domain that you want to change name servers for. + public let domainName: String + + public init(fIAuthKey: String? = nil, nameservers: [Nameserver], domainName: String) { + self.fIAuthKey = fIAuthKey + self.nameservers = nameservers + self.domainName = domainName + } + + private enum CodingKeys: String, CodingKey { + case fIAuthKey = "FIAuthKey" + case nameservers = "Nameservers" + case domainName = "DomainName" + } + } + + public struct CheckDomainTransferabilityResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Transferability", required: true, type: .structure) + ] + /// A complex type that contains information about whether the specified domain can be transferred to Amazon Route 53. + public let transferability: DomainTransferability + + public init(transferability: DomainTransferability) { + self.transferability = transferability + } + + private enum CodingKeys: String, CodingKey { + case transferability = "Transferability" + } + } + public enum CountryCode: String, CustomStringConvertible, Codable { case ad = "AD" case ae = "AE" diff --git a/Sources/AWSSDKSwift/Services/runtime.lex/Runtimelex_Shapes.swift b/Sources/AWSSDKSwift/Services/runtime.lex/Runtimelex_Shapes.swift index 75b7ef26f20..197dfa20792 100644 --- a/Sources/AWSSDKSwift/Services/runtime.lex/Runtimelex_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/runtime.lex/Runtimelex_Shapes.swift @@ -80,8 +80,9 @@ extension Runtimelex { public struct PostTextResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "slotToElicit", required: false, type: .string), - AWSShapeMember(label: "slots", required: false, type: .map), + AWSShapeMember(label: "messageFormat", required: false, type: .enum), AWSShapeMember(label: "sessionAttributes", required: false, type: .map), + AWSShapeMember(label: "slots", required: false, type: .map), AWSShapeMember(label: "message", required: false, type: .string), AWSShapeMember(label: "dialogState", required: false, type: .enum), AWSShapeMember(label: "intentName", required: false, type: .string), @@ -89,11 +90,13 @@ extension Runtimelex { ] /// If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value. public let slotToElicit: String? - /// 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. - public let slots: [String: String]? + /// 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. + public let messageFormat: MessageFormatType? /// A map of key-value pairs representing the session-specific context information. public let sessionAttributes: [String: String]? - /// A message to convey to the user. It can come from the bot's configuration or a code hook (Lambda function). If the current intent is not configured with a code hook or the code hook returned Delegate as the dialogAction.type in its response, then Amazon Lex decides the next course of action and selects an appropriate message from the bot configuration based on the current user interaction context. For example, if Amazon Lex is not able to understand the user input, it uses a clarification prompt message (for more information, see the Error Handling section in the Amazon Lex console). Another example: if the intent requires confirmation before fulfillment, then Amazon Lex uses the confirmation prompt message in the intent configuration. If the code hook returns a message, Amazon Lex passes it as-is in its response to the client. + /// 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. + public let slots: [String: String]? + /// 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. public let message: String? /// 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. public let dialogState: DialogState? @@ -102,10 +105,11 @@ extension Runtimelex { /// 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). public let responseCard: ResponseCard? - public init(slotToElicit: String? = nil, slots: [String: String]? = nil, sessionAttributes: [String: String]? = nil, message: String? = nil, dialogState: DialogState? = nil, intentName: String? = nil, responseCard: ResponseCard? = nil) { + public init(slotToElicit: String? = nil, messageFormat: MessageFormatType? = nil, sessionAttributes: [String: String]? = nil, slots: [String: String]? = nil, message: String? = nil, dialogState: DialogState? = nil, intentName: String? = nil, responseCard: ResponseCard? = nil) { self.slotToElicit = slotToElicit - self.slots = slots + self.messageFormat = messageFormat self.sessionAttributes = sessionAttributes + self.slots = slots self.message = message self.dialogState = dialogState self.intentName = intentName @@ -114,8 +118,9 @@ extension Runtimelex { private enum CodingKeys: String, CodingKey { case slotToElicit = "slotToElicit" - case slots = "slots" + case messageFormat = "messageFormat" case sessionAttributes = "sessionAttributes" + case slots = "slots" case message = "message" case dialogState = "dialogState" case intentName = "intentName" @@ -217,12 +222,21 @@ extension Runtimelex { } } + public enum MessageFormatType: String, CustomStringConvertible, Codable { + case plaintext = "PlainText" + case custompayload = "CustomPayload" + case ssml = "SSML" + case composite = "Composite" + public var description: String { return self.rawValue } + } + public struct PostContentResponse: AWSShape { /// The key for the payload public static let payloadPath: String? = "audioStream" public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "contentType", location: .header(locationName: "Content-Type"), required: false, type: .string), AWSShapeMember(label: "slotToElicit", location: .header(locationName: "x-amz-lex-slot-to-elicit"), required: false, type: .string), + AWSShapeMember(label: "messageFormat", location: .header(locationName: "x-amz-lex-message-format"), required: false, type: .enum), AWSShapeMember(label: "audioStream", required: false, type: .blob), AWSShapeMember(label: "inputTranscript", location: .header(locationName: "x-amz-lex-input-transcript"), required: false, type: .string), AWSShapeMember(label: "sessionAttributes", location: .header(locationName: "x-amz-lex-session-attributes"), required: false, type: .string), @@ -235,6 +249,8 @@ extension Runtimelex { public let contentType: String? /// If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value. public let slotToElicit: String? + /// 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. + public let messageFormat: MessageFormatType? /// 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. public let audioStream: Data? /// 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. @@ -243,16 +259,17 @@ extension Runtimelex { public let sessionAttributes: String? /// 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. public let slots: String? - /// Message to convey to the user. It can come from the bot's configuration or a code hook (Lambda function). If the current intent is not configured with a code hook or if the code hook returned Delegate as the dialogAction.type in its response, then Amazon Lex decides the next course of action and selects an appropriate message from the bot configuration based on the current user interaction context. For example, if Amazon Lex is not able to understand the user input, it uses a clarification prompt message (For more information, see the Error Handling section in the Amazon Lex console). Another example: if the intent requires confirmation before fulfillment, then Amazon Lex uses the confirmation prompt message in the intent configuration. If the code hook returns a message, Amazon Lex passes it as-is in its response to the client. + /// 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. public let message: String? /// 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. public let dialogState: DialogState? /// Current user intent that Amazon Lex is aware of. public let intentName: String? - public init(contentType: String? = nil, slotToElicit: String? = nil, audioStream: Data? = nil, inputTranscript: String? = nil, sessionAttributes: String? = nil, slots: String? = nil, message: String? = nil, dialogState: DialogState? = nil, intentName: String? = nil) { + public init(contentType: String? = nil, slotToElicit: String? = nil, messageFormat: MessageFormatType? = nil, audioStream: Data? = nil, inputTranscript: String? = nil, sessionAttributes: String? = nil, slots: String? = nil, message: String? = nil, dialogState: DialogState? = nil, intentName: String? = nil) { self.contentType = contentType self.slotToElicit = slotToElicit + self.messageFormat = messageFormat self.audioStream = audioStream self.inputTranscript = inputTranscript self.sessionAttributes = sessionAttributes @@ -265,6 +282,7 @@ extension Runtimelex { private enum CodingKeys: String, CodingKey { case contentType = "Content-Type" case slotToElicit = "x-amz-lex-slot-to-elicit" + case messageFormat = "x-amz-lex-message-format" case audioStream = "audioStream" case inputTranscript = "x-amz-lex-input-transcript" case sessionAttributes = "x-amz-lex-session-attributes" diff --git a/Sources/AWSSDKSwift/Services/s3/S3_API.swift b/Sources/AWSSDKSwift/Services/s3/S3_API.swift index 4ceeff1365d..7fb3d14702f 100644 --- a/Sources/AWSSDKSwift/Services/s3/S3_API.swift +++ b/Sources/AWSSDKSwift/Services/s3/S3_API.swift @@ -46,7 +46,7 @@ public struct S3 { return try client.send(operation: "GetBucketInventoryConfiguration", path: "/{Bucket}?inventory", httpMethod: "GET", input: input) } - /// 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. + /// 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. public func abortMultipartUpload(_ input: AbortMultipartUploadRequest) throws -> AbortMultipartUploadOutput { return try client.send(operation: "AbortMultipartUpload", path: "/{Bucket}/{Key+}", httpMethod: "DELETE", input: input) } @@ -256,9 +256,9 @@ public struct S3 { return try client.send(operation: "GetBucketLifecycleConfiguration", path: "/{Bucket}?lifecycle", httpMethod: "GET", input: input) } - /// This operation lists in-progress multipart uploads. - public func listMultipartUploads(_ input: ListMultipartUploadsRequest) throws -> ListMultipartUploadsOutput { - return try client.send(operation: "ListMultipartUploads", path: "/{Bucket}?uploads", httpMethod: "GET", input: input) + /// 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. + public func selectObjectContent(_ input: SelectObjectContentRequest) throws { + _ = try client.send(operation: "SelectObjectContent", path: "/{Bucket}/{Key+}?select&select-type=2", httpMethod: "POST", input: input) } /// Adds an object to a bucket. @@ -276,6 +276,11 @@ public struct S3 { _ = try client.send(operation: "PutBucketAccelerateConfiguration", path: "/{Bucket}?accelerate", httpMethod: "PUT", input: input) } + /// This operation lists in-progress multipart uploads. + public func listMultipartUploads(_ input: ListMultipartUploadsRequest) throws -> ListMultipartUploadsOutput { + return try client.send(operation: "ListMultipartUploads", path: "/{Bucket}?uploads", httpMethod: "GET", input: input) + } + /// This operation is useful to determine if a bucket exists and you have permission to access it. public func headBucket(_ input: HeadBucketRequest) throws { _ = try client.send(operation: "HeadBucket", path: "/{Bucket}", httpMethod: "HEAD", input: input) @@ -311,7 +316,7 @@ public struct S3 { _ = try client.send(operation: "PutBucketAcl", path: "/{Bucket}?acl", httpMethod: "PUT", input: input) } - /// 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. + /// 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. public func createMultipartUpload(_ input: CreateMultipartUploadRequest) throws -> CreateMultipartUploadOutput { return try client.send(operation: "CreateMultipartUpload", path: "/{Bucket}/{Key+}?uploads", httpMethod: "POST", input: input) } @@ -356,7 +361,7 @@ public struct S3 { return try client.send(operation: "GetObjectAcl", path: "/{Bucket}/{Key+}?acl", httpMethod: "GET", input: input) } - /// 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. + /// 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. public func uploadPart(_ input: UploadPartRequest) throws -> UploadPartOutput { return try client.send(operation: "UploadPart", path: "/{Bucket}/{Key+}", httpMethod: "PUT", input: input) } diff --git a/Sources/AWSSDKSwift/Services/s3/S3_Shapes.swift b/Sources/AWSSDKSwift/Services/s3/S3_Shapes.swift index 09adad0cecb..3fe356f1e78 100644 --- a/Sources/AWSSDKSwift/Services/s3/S3_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/s3/S3_Shapes.swift @@ -146,8 +146,8 @@ extension S3 { AWSShapeMember(label: "NoncurrentVersionExpiration", required: false, type: .structure), AWSShapeMember(label: "Transition", required: false, type: .structure), AWSShapeMember(label: "NoncurrentVersionTransition", required: false, type: .structure), - AWSShapeMember(label: "Expiration", required: false, type: .structure), - AWSShapeMember(label: "Prefix", required: true, type: .string) + AWSShapeMember(label: "Prefix", required: true, type: .string), + AWSShapeMember(label: "Expiration", required: false, type: .structure) ] /// Unique identifier for the rule. The value cannot be longer than 255 characters. public let id: String? @@ -157,19 +157,19 @@ extension S3 { public let noncurrentVersionExpiration: NoncurrentVersionExpiration? public let transition: Transition? public let noncurrentVersionTransition: NoncurrentVersionTransition? - public let expiration: LifecycleExpiration? /// Prefix identifying one or more objects to which the rule applies. public let prefix: String + public let expiration: LifecycleExpiration? - public init(id: String? = nil, status: ExpirationStatus, abortIncompleteMultipartUpload: AbortIncompleteMultipartUpload? = nil, noncurrentVersionExpiration: NoncurrentVersionExpiration? = nil, transition: Transition? = nil, noncurrentVersionTransition: NoncurrentVersionTransition? = nil, expiration: LifecycleExpiration? = nil, prefix: String) { + public init(id: String? = nil, status: ExpirationStatus, abortIncompleteMultipartUpload: AbortIncompleteMultipartUpload? = nil, noncurrentVersionExpiration: NoncurrentVersionExpiration? = nil, transition: Transition? = nil, noncurrentVersionTransition: NoncurrentVersionTransition? = nil, prefix: String, expiration: LifecycleExpiration? = nil) { self.id = id self.status = status self.abortIncompleteMultipartUpload = abortIncompleteMultipartUpload self.noncurrentVersionExpiration = noncurrentVersionExpiration self.transition = transition self.noncurrentVersionTransition = noncurrentVersionTransition - self.expiration = expiration self.prefix = prefix + self.expiration = expiration } private enum CodingKeys: String, CodingKey { @@ -179,8 +179,8 @@ extension S3 { case noncurrentVersionExpiration = "NoncurrentVersionExpiration" case transition = "Transition" case noncurrentVersionTransition = "NoncurrentVersionTransition" - case expiration = "Expiration" case prefix = "Prefix" + case expiration = "Expiration" } } @@ -265,18 +265,19 @@ extension S3 { } } - public struct GetBucketPolicyRequest: AWSShape { + public struct JSONOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Bucket", location: .uri(locationName: "Bucket"), required: true, type: .string) + AWSShapeMember(label: "RecordDelimiter", required: false, type: .string) ] - public let bucket: String + /// The value used to separate individual records in the output. + public let recordDelimiter: String? - public init(bucket: String) { - self.bucket = bucket + public init(recordDelimiter: String? = nil) { + self.recordDelimiter = recordDelimiter } private enum CodingKeys: String, CodingKey { - case bucket = "Bucket" + case recordDelimiter = "RecordDelimiter" } } @@ -299,6 +300,21 @@ extension S3 { } } + public struct GetBucketPolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Bucket", location: .uri(locationName: "Bucket"), required: true, type: .string) + ] + public let bucket: String + + public init(bucket: String) { + self.bucket = bucket + } + + private enum CodingKeys: String, CodingKey { + case bucket = "Bucket" + } + } + public struct PutBucketAccelerateConfigurationRequest: AWSShape { /// The key for the payload public static let payloadPath: String? = "AccelerateConfiguration" @@ -558,6 +574,32 @@ extension S3 { } } + public struct Stats: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BytesProcessed", required: false, type: .long), + AWSShapeMember(label: "BytesScanned", required: false, type: .long), + AWSShapeMember(label: "BytesReturned", required: false, type: .long) + ] + /// Total number of uncompressed object bytes processed. + public let bytesProcessed: Int64? + /// Total number of object bytes scanned. + public let bytesScanned: Int64? + /// Total number of bytes of records payload data returned. + public let bytesReturned: Int64? + + public init(bytesProcessed: Int64? = nil, bytesScanned: Int64? = nil, bytesReturned: Int64? = nil) { + self.bytesProcessed = bytesProcessed + self.bytesScanned = bytesScanned + self.bytesReturned = bytesReturned + } + + private enum CodingKeys: String, CodingKey { + case bytesProcessed = "BytesProcessed" + case bytesScanned = "BytesScanned" + case bytesReturned = "BytesReturned" + } + } + public struct OutputLocation: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "S3", required: false, type: .structure) @@ -816,42 +858,47 @@ extension S3 { public struct CSVInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FieldDelimiter", required: false, type: .string), - AWSShapeMember(label: "FileHeaderInfo", required: false, type: .enum), AWSShapeMember(label: "QuoteEscapeCharacter", required: false, type: .string), - AWSShapeMember(label: "Comments", required: false, type: .string), + AWSShapeMember(label: "FileHeaderInfo", required: false, type: .enum), + AWSShapeMember(label: "FieldDelimiter", required: false, type: .string), + AWSShapeMember(label: "AllowQuotedRecordDelimiter", required: false, type: .boolean), AWSShapeMember(label: "RecordDelimiter", required: false, type: .string), - AWSShapeMember(label: "QuoteCharacter", required: false, type: .string) + AWSShapeMember(label: "QuoteCharacter", required: false, type: .string), + AWSShapeMember(label: "Comments", required: false, type: .string) ] - /// Value used to separate individual fields in a record. - public let fieldDelimiter: String? - /// Describes the first line of input. Valid values: None, Ignore, Use. - public let fileHeaderInfo: FileHeaderInfo? /// Single character used for escaping the quote character inside an already escaped value. public let quoteEscapeCharacter: String? - /// Single character used to indicate a row should be ignored when present at the start of a row. - public let comments: String? + /// Describes the first line of input. Valid values: None, Ignore, Use. + public let fileHeaderInfo: FileHeaderInfo? + /// Value used to separate individual fields in a record. + public let fieldDelimiter: String? + /// 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. + public let allowQuotedRecordDelimiter: Bool? /// Value used to separate individual records. public let recordDelimiter: String? /// Value used for escaping where the field delimiter is part of the value. public let quoteCharacter: String? + /// Single character used to indicate a row should be ignored when present at the start of a row. + public let comments: String? - public init(fieldDelimiter: String? = nil, fileHeaderInfo: FileHeaderInfo? = nil, quoteEscapeCharacter: String? = nil, comments: String? = nil, recordDelimiter: String? = nil, quoteCharacter: String? = nil) { - self.fieldDelimiter = fieldDelimiter - self.fileHeaderInfo = fileHeaderInfo + public init(quoteEscapeCharacter: String? = nil, fileHeaderInfo: FileHeaderInfo? = nil, fieldDelimiter: String? = nil, allowQuotedRecordDelimiter: Bool? = nil, recordDelimiter: String? = nil, quoteCharacter: String? = nil, comments: String? = nil) { self.quoteEscapeCharacter = quoteEscapeCharacter - self.comments = comments + self.fileHeaderInfo = fileHeaderInfo + self.fieldDelimiter = fieldDelimiter + self.allowQuotedRecordDelimiter = allowQuotedRecordDelimiter self.recordDelimiter = recordDelimiter self.quoteCharacter = quoteCharacter + self.comments = comments } private enum CodingKeys: String, CodingKey { - case fieldDelimiter = "FieldDelimiter" - case fileHeaderInfo = "FileHeaderInfo" case quoteEscapeCharacter = "QuoteEscapeCharacter" - case comments = "Comments" + case fileHeaderInfo = "FileHeaderInfo" + case fieldDelimiter = "FieldDelimiter" + case allowQuotedRecordDelimiter = "AllowQuotedRecordDelimiter" case recordDelimiter = "RecordDelimiter" case quoteCharacter = "QuoteCharacter" + case comments = "Comments" } } @@ -1121,6 +1168,32 @@ extension S3 { } } + public struct Progress: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BytesProcessed", required: false, type: .long), + AWSShapeMember(label: "BytesScanned", required: false, type: .long), + AWSShapeMember(label: "BytesReturned", required: false, type: .long) + ] + /// Current number of uncompressed object bytes processed. + public let bytesProcessed: Int64? + /// Current number of object bytes scanned. + public let bytesScanned: Int64? + /// Current number of bytes of records payload data returned. + public let bytesReturned: Int64? + + public init(bytesProcessed: Int64? = nil, bytesScanned: Int64? = nil, bytesReturned: Int64? = nil) { + self.bytesProcessed = bytesProcessed + self.bytesScanned = bytesScanned + self.bytesReturned = bytesReturned + } + + private enum CodingKeys: String, CodingKey { + case bytesProcessed = "BytesProcessed" + case bytesScanned = "BytesScanned" + case bytesReturned = "BytesReturned" + } + } + public struct CompletedMultipartUpload: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Parts", location: .body(locationName: "Part"), required: false, type: .list) @@ -1491,6 +1564,22 @@ extension S3 { } } + public struct JSONInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", required: false, type: .enum) + ] + /// The type of JSON. Valid values: Document, Lines. + public let `type`: JSONType? + + public init(type: JSONType? = nil) { + self.`type` = `type` + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + } + } + public struct ReplicationConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Role", required: true, type: .string), @@ -1817,27 +1906,27 @@ extension S3 { public struct TopicConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TopicArn", location: .body(locationName: "Topic"), required: true, type: .string), - AWSShapeMember(label: "Filter", required: false, type: .structure), AWSShapeMember(label: "Events", location: .body(locationName: "Event"), required: true, type: .list), + AWSShapeMember(label: "Filter", required: false, type: .structure), AWSShapeMember(label: "Id", required: false, type: .string) ] /// Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects events of specified type. public let topicArn: String - public let filter: NotificationConfigurationFilter? public let events: [Event] + public let filter: NotificationConfigurationFilter? public let id: String? - public init(topicArn: String, filter: NotificationConfigurationFilter? = nil, events: [Event], id: String? = nil) { + public init(topicArn: String, events: [Event], filter: NotificationConfigurationFilter? = nil, id: String? = nil) { self.topicArn = topicArn - self.filter = filter self.events = events + self.filter = filter self.id = id } private enum CodingKeys: String, CodingKey { case topicArn = "Topic" - case filter = "Filter" case events = "Event" + case filter = "Filter" case id = "Id" } } @@ -2156,7 +2245,7 @@ extension S3 { public let delimiter: String? /// Encoding type used by Amazon S3 to encode object keys in the response. public let encodingType: EncodingType? - /// 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 + /// 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 public let keyCount: Int32? public init(maxKeys: Int32? = nil, startAfter: String? = nil, isTruncated: Bool? = nil, continuationToken: String? = nil, name: String? = nil, prefix: String? = nil, nextContinuationToken: String? = nil, commonPrefixes: [CommonPrefix]? = nil, contents: [Object]? = nil, delimiter: String? = nil, encodingType: EncodingType? = nil, keyCount: Int32? = nil) { @@ -2426,7 +2515,7 @@ extension S3 { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MaxKeys", required: false, type: .integer), AWSShapeMember(label: "IsTruncated", required: false, type: .boolean), - AWSShapeMember(label: "VersionIdMarker", required: false, type: .string), + AWSShapeMember(label: "Versions", location: .body(locationName: "Version"), required: false, type: .list), AWSShapeMember(label: "NextVersionIdMarker", required: false, type: .string), AWSShapeMember(label: "CommonPrefixes", required: false, type: .list), AWSShapeMember(label: "Delimiter", required: false, type: .string), @@ -2436,12 +2525,12 @@ extension S3 { AWSShapeMember(label: "Prefix", required: false, type: .string), AWSShapeMember(label: "DeleteMarkers", location: .body(locationName: "DeleteMarker"), required: false, type: .list), AWSShapeMember(label: "NextKeyMarker", required: false, type: .string), - AWSShapeMember(label: "Versions", location: .body(locationName: "Version"), required: false, type: .list) + AWSShapeMember(label: "VersionIdMarker", required: false, type: .string) ] public let maxKeys: Int32? /// 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. public let isTruncated: Bool? - public let versionIdMarker: String? + public let versions: [ObjectVersion]? /// Use this value for the next version id marker parameter in a subsequent request. public let nextVersionIdMarker: String? public let commonPrefixes: [CommonPrefix]? @@ -2455,12 +2544,12 @@ extension S3 { public let deleteMarkers: [DeleteMarkerEntry]? /// Use this value for the key marker request parameter in a subsequent request. public let nextKeyMarker: String? - public let versions: [ObjectVersion]? + public let versionIdMarker: String? - public init(maxKeys: Int32? = nil, isTruncated: Bool? = nil, versionIdMarker: String? = nil, nextVersionIdMarker: String? = nil, commonPrefixes: [CommonPrefix]? = nil, delimiter: String? = nil, keyMarker: String? = nil, encodingType: EncodingType? = nil, name: String? = nil, prefix: String? = nil, deleteMarkers: [DeleteMarkerEntry]? = nil, nextKeyMarker: String? = nil, versions: [ObjectVersion]? = nil) { + public init(maxKeys: Int32? = nil, isTruncated: Bool? = nil, versions: [ObjectVersion]? = nil, nextVersionIdMarker: String? = nil, commonPrefixes: [CommonPrefix]? = nil, delimiter: String? = nil, keyMarker: String? = nil, encodingType: EncodingType? = nil, name: String? = nil, prefix: String? = nil, deleteMarkers: [DeleteMarkerEntry]? = nil, nextKeyMarker: String? = nil, versionIdMarker: String? = nil) { self.maxKeys = maxKeys self.isTruncated = isTruncated - self.versionIdMarker = versionIdMarker + self.versions = versions self.nextVersionIdMarker = nextVersionIdMarker self.commonPrefixes = commonPrefixes self.delimiter = delimiter @@ -2470,13 +2559,13 @@ extension S3 { self.prefix = prefix self.deleteMarkers = deleteMarkers self.nextKeyMarker = nextKeyMarker - self.versions = versions + self.versionIdMarker = versionIdMarker } private enum CodingKeys: String, CodingKey { case maxKeys = "MaxKeys" case isTruncated = "IsTruncated" - case versionIdMarker = "VersionIdMarker" + case versions = "Version" case nextVersionIdMarker = "NextVersionIdMarker" case commonPrefixes = "CommonPrefixes" case delimiter = "Delimiter" @@ -2486,7 +2575,7 @@ extension S3 { case prefix = "Prefix" case deleteMarkers = "DeleteMarker" case nextKeyMarker = "NextKeyMarker" - case versions = "Version" + case versionIdMarker = "VersionIdMarker" } } @@ -2539,17 +2628,27 @@ extension S3 { public struct InputSerialization: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CSV", required: false, type: .structure) + AWSShapeMember(label: "CSV", required: false, type: .structure), + AWSShapeMember(label: "CompressionType", required: false, type: .enum), + AWSShapeMember(label: "JSON", required: false, type: .structure) ] /// Describes the serialization of a CSV-encoded object. public let csv: CSVInput? + /// Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default Value: NONE. + public let compressionType: CompressionType? + /// Specifies JSON as object's input serialization format. + public let json: JSONInput? - public init(csv: CSVInput? = nil) { + public init(csv: CSVInput? = nil, compressionType: CompressionType? = nil, json: JSONInput? = nil) { self.csv = csv + self.compressionType = compressionType + self.json = json } private enum CodingKeys: String, CodingKey { case csv = "CSV" + case compressionType = "CompressionType" + case json = "JSON" } } @@ -2683,18 +2782,18 @@ extension S3 { public struct ListMultipartUploadsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Bucket", location: .uri(locationName: "Bucket"), required: true, type: .string), - AWSShapeMember(label: "UploadIdMarker", location: .querystring(locationName: "upload-id-marker"), required: false, type: .string), AWSShapeMember(label: "Prefix", location: .querystring(locationName: "prefix"), required: false, type: .string), + AWSShapeMember(label: "UploadIdMarker", location: .querystring(locationName: "upload-id-marker"), required: false, type: .string), AWSShapeMember(label: "MaxUploads", location: .querystring(locationName: "max-uploads"), required: false, type: .integer), AWSShapeMember(label: "Delimiter", location: .querystring(locationName: "delimiter"), required: false, type: .string), AWSShapeMember(label: "EncodingType", location: .querystring(locationName: "encoding-type"), required: false, type: .enum), AWSShapeMember(label: "KeyMarker", location: .querystring(locationName: "key-marker"), required: false, type: .string) ] public let bucket: String - /// 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. - public let uploadIdMarker: String? /// Lists in-progress uploads only for those keys that begin with the specified prefix. public let prefix: String? + /// 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. + public let uploadIdMarker: String? /// 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. public let maxUploads: Int32? /// Character you use to group keys. @@ -2703,10 +2802,10 @@ extension S3 { /// Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin. public let keyMarker: String? - public init(bucket: String, uploadIdMarker: String? = nil, prefix: String? = nil, maxUploads: Int32? = nil, delimiter: String? = nil, encodingType: EncodingType? = nil, keyMarker: String? = nil) { + public init(bucket: String, prefix: String? = nil, uploadIdMarker: String? = nil, maxUploads: Int32? = nil, delimiter: String? = nil, encodingType: EncodingType? = nil, keyMarker: String? = nil) { self.bucket = bucket - self.uploadIdMarker = uploadIdMarker self.prefix = prefix + self.uploadIdMarker = uploadIdMarker self.maxUploads = maxUploads self.delimiter = delimiter self.encodingType = encodingType @@ -2715,8 +2814,8 @@ extension S3 { private enum CodingKeys: String, CodingKey { case bucket = "Bucket" - case uploadIdMarker = "upload-id-marker" case prefix = "prefix" + case uploadIdMarker = "upload-id-marker" case maxUploads = "max-uploads" case delimiter = "delimiter" case encodingType = "encoding-type" @@ -2787,6 +2886,7 @@ extension S3 { case standard = "STANDARD" case reducedRedundancy = "REDUCED_REDUNDANCY" case standardIa = "STANDARD_IA" + case onezoneIa = "ONEZONE_IA" public var description: String { return self.rawValue } } @@ -3485,8 +3585,8 @@ extension S3 { AWSShapeMember(label: "StorageClass", required: false, type: .enum), AWSShapeMember(label: "Key", required: false, type: .string), AWSShapeMember(label: "MaxParts", required: false, type: .integer), - AWSShapeMember(label: "NextPartNumberMarker", required: false, type: .integer), - AWSShapeMember(label: "RequestCharged", location: .header(locationName: "x-amz-request-charged"), required: false, type: .enum) + AWSShapeMember(label: "RequestCharged", location: .header(locationName: "x-amz-request-charged"), required: false, type: .enum), + AWSShapeMember(label: "NextPartNumberMarker", required: false, type: .integer) ] /// Part number after which listing begins. public let partNumberMarker: Int32? @@ -3510,11 +3610,11 @@ extension S3 { public let key: String? /// Maximum number of parts that were allowed in the response. public let maxParts: Int32? + public let requestCharged: RequestCharged? /// 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. public let nextPartNumberMarker: Int32? - public let requestCharged: RequestCharged? - public init(partNumberMarker: Int32? = nil, bucket: String? = nil, isTruncated: Bool? = nil, abortDate: TimeStamp? = nil, uploadId: String? = nil, owner: Owner? = nil, parts: [Part]? = nil, initiator: Initiator? = nil, abortRuleId: String? = nil, storageClass: StorageClass? = nil, key: String? = nil, maxParts: Int32? = nil, nextPartNumberMarker: Int32? = nil, requestCharged: RequestCharged? = nil) { + public init(partNumberMarker: Int32? = nil, bucket: String? = nil, isTruncated: Bool? = nil, abortDate: TimeStamp? = nil, uploadId: String? = nil, owner: Owner? = nil, parts: [Part]? = nil, initiator: Initiator? = nil, abortRuleId: String? = nil, storageClass: StorageClass? = nil, key: String? = nil, maxParts: Int32? = nil, requestCharged: RequestCharged? = nil, nextPartNumberMarker: Int32? = nil) { self.partNumberMarker = partNumberMarker self.bucket = bucket self.isTruncated = isTruncated @@ -3527,8 +3627,8 @@ extension S3 { self.storageClass = storageClass self.key = key self.maxParts = maxParts - self.nextPartNumberMarker = nextPartNumberMarker self.requestCharged = requestCharged + self.nextPartNumberMarker = nextPartNumberMarker } private enum CodingKeys: String, CodingKey { @@ -3544,8 +3644,8 @@ extension S3 { case storageClass = "StorageClass" case key = "Key" case maxParts = "MaxParts" - case nextPartNumberMarker = "NextPartNumberMarker" case requestCharged = "x-amz-request-charged" + case nextPartNumberMarker = "NextPartNumberMarker" } } @@ -3974,16 +4074,16 @@ extension S3 { public struct LoggingEnabled: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TargetGrants", required: false, type: .structure), - AWSShapeMember(label: "TargetPrefix", required: false, type: .string), - AWSShapeMember(label: "TargetBucket", required: false, type: .string) + AWSShapeMember(label: "TargetPrefix", required: true, type: .string), + AWSShapeMember(label: "TargetBucket", required: true, type: .string) ] public let targetGrants: TargetGrants? /// This element lets you specify a prefix for the keys that the log files will be stored under. - public let targetPrefix: String? + public let targetPrefix: String /// 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. - public let targetBucket: String? + public let targetBucket: String - public init(targetGrants: TargetGrants? = nil, targetPrefix: String? = nil, targetBucket: String? = nil) { + public init(targetGrants: TargetGrants? = nil, targetPrefix: String, targetBucket: String) { self.targetGrants = targetGrants self.targetPrefix = targetPrefix self.targetBucket = targetBucket @@ -4053,6 +4153,10 @@ extension S3 { } } + public struct EndEvent: AWSShape { + + } + public struct Tag: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Value", required: true, type: .string), @@ -4089,6 +4193,22 @@ extension S3 { } } + public struct RecordsEvent: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Payload", required: false, type: .blob) + ] + /// The byte array of partial, one or more result records. + public let payload: Data? + + public init(payload: Data? = nil) { + self.payload = payload + } + + private enum CodingKeys: String, CodingKey { + case payload = "Payload" + } + } + public struct RestoreObjectOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RequestCharged", location: .header(locationName: "x-amz-request-charged"), required: false, type: .enum), @@ -4304,6 +4424,10 @@ extension S3 { } } + public struct ContinuationEvent: AWSShape { + + } + public struct PutBucketNotificationRequest: AWSShape { /// The key for the payload public static let payloadPath: String? = "NotificationConfiguration" @@ -4740,6 +4864,22 @@ extension S3 { } } + public struct ProgressEvent: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Details", required: false, type: .structure) + ] + /// The Progress event details. + public let details: Progress? + + public init(details: Progress? = nil) { + self.details = details + } + + private enum CodingKeys: String, CodingKey { + case details = "Details" + } + } + public struct GetObjectTorrentOutput: AWSShape { /// The key for the payload public static let payloadPath: String? = "Body" @@ -5070,6 +5210,8 @@ extension S3 { case standard = "STANDARD" case reducedRedundancy = "REDUCED_REDUNDANCY" case glacier = "GLACIER" + case standardIa = "STANDARD_IA" + case onezoneIa = "ONEZONE_IA" public var description: String { return self.rawValue } } @@ -5181,28 +5323,28 @@ extension S3 { public struct QueueConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Filter", required: false, type: .structure), - AWSShapeMember(label: "QueueArn", location: .body(locationName: "Queue"), required: true, type: .string), AWSShapeMember(label: "Events", location: .body(locationName: "Event"), required: true, type: .list), + AWSShapeMember(label: "QueueArn", location: .body(locationName: "Queue"), required: true, type: .string), + AWSShapeMember(label: "Filter", required: false, type: .structure), AWSShapeMember(label: "Id", required: false, type: .string) ] - public let filter: NotificationConfigurationFilter? + public let events: [Event] /// Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects events of specified type. public let queueArn: String - public let events: [Event] + public let filter: NotificationConfigurationFilter? public let id: String? - public init(filter: NotificationConfigurationFilter? = nil, queueArn: String, events: [Event], id: String? = nil) { - self.filter = filter - self.queueArn = queueArn + public init(events: [Event], queueArn: String, filter: NotificationConfigurationFilter? = nil, id: String? = nil) { self.events = events + self.queueArn = queueArn + self.filter = filter self.id = id } private enum CodingKeys: String, CodingKey { - case filter = "Filter" - case queueArn = "Queue" case events = "Event" + case queueArn = "Queue" + case filter = "Filter" case id = "Id" } } @@ -5222,6 +5364,22 @@ extension S3 { } } + public struct RequestProgress: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Enabled", required: false, type: .boolean) + ] + /// Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE. + public let enabled: Bool? + + public init(enabled: Bool? = nil) { + self.enabled = enabled + } + + private enum CodingKeys: String, CodingKey { + case enabled = "Enabled" + } + } + public struct ErrorDocument: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Key", required: true, type: .string) @@ -5601,27 +5759,27 @@ extension S3 { public struct LambdaFunctionConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LambdaFunctionArn", location: .body(locationName: "CloudFunction"), required: true, type: .string), - AWSShapeMember(label: "Events", location: .body(locationName: "Event"), required: true, type: .list), AWSShapeMember(label: "Filter", required: false, type: .structure), + AWSShapeMember(label: "Events", location: .body(locationName: "Event"), required: true, type: .list), AWSShapeMember(label: "Id", required: false, type: .string) ] /// Lambda cloud function ARN that Amazon S3 can invoke when it detects events of the specified type. public let lambdaFunctionArn: String - public let events: [Event] public let filter: NotificationConfigurationFilter? + public let events: [Event] public let id: String? - public init(lambdaFunctionArn: String, events: [Event], filter: NotificationConfigurationFilter? = nil, id: String? = nil) { + public init(lambdaFunctionArn: String, filter: NotificationConfigurationFilter? = nil, events: [Event], id: String? = nil) { self.lambdaFunctionArn = lambdaFunctionArn - self.events = events self.filter = filter + self.events = events self.id = id } private enum CodingKeys: String, CodingKey { case lambdaFunctionArn = "CloudFunction" - case events = "Event" case filter = "Filter" + case events = "Event" case id = "Id" } } @@ -5683,17 +5841,22 @@ extension S3 { public struct OutputSerialization: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CSV", required: false, type: .structure) + AWSShapeMember(label: "CSV", required: false, type: .structure), + AWSShapeMember(label: "JSON", required: false, type: .structure) ] /// Describes the serialization of CSV-encoded Select results. public let csv: CSVOutput? + /// Specifies JSON as request's output serialization format. + public let json: JSONOutput? - public init(csv: CSVOutput? = nil) { + public init(csv: CSVOutput? = nil, json: JSONOutput? = nil) { self.csv = csv + self.json = json } private enum CodingKeys: String, CodingKey { case csv = "CSV" + case json = "JSON" } } @@ -5734,27 +5897,27 @@ extension S3 { public struct Error: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "VersionId", required: false, type: .string), - AWSShapeMember(label: "Key", required: false, type: .string), AWSShapeMember(label: "Code", required: false, type: .string), - AWSShapeMember(label: "Message", required: false, type: .string) + AWSShapeMember(label: "Message", required: false, type: .string), + AWSShapeMember(label: "Key", required: false, type: .string) ] public let versionId: String? - public let key: String? public let code: String? public let message: String? + public let key: String? - public init(versionId: String? = nil, key: String? = nil, code: String? = nil, message: String? = nil) { + public init(versionId: String? = nil, code: String? = nil, message: String? = nil, key: String? = nil) { self.versionId = versionId - self.key = key self.code = code self.message = message + self.key = key } private enum CodingKeys: String, CodingKey { case versionId = "VersionId" - case key = "Key" case code = "Code" case message = "Message" + case key = "Key" } } @@ -5935,8 +6098,8 @@ extension S3 { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Tagging", required: false, type: .structure), AWSShapeMember(label: "Encryption", required: false, type: .structure), - AWSShapeMember(label: "Prefix", required: true, type: .string), AWSShapeMember(label: "AccessControlList", required: false, type: .structure), + AWSShapeMember(label: "Prefix", required: true, type: .string), AWSShapeMember(label: "StorageClass", required: false, type: .enum), AWSShapeMember(label: "BucketName", required: true, type: .string), AWSShapeMember(label: "CannedACL", required: false, type: .enum), @@ -5945,10 +6108,10 @@ extension S3 { /// The tag-set that is applied to the restore results. public let tagging: Tagging? public let encryption: Encryption? - /// The prefix that is prepended to the restore results for this request. - public let prefix: String /// A list of grants that control access to the staged results. public let accessControlList: Grants? + /// The prefix that is prepended to the restore results for this request. + public let prefix: String /// The class of storage used to store the restore results. public let storageClass: StorageClass? /// The name of the bucket where the restore results will be placed. @@ -5958,11 +6121,11 @@ extension S3 { /// A list of metadata to store with the restore results in S3. public let userMetadata: UserMetadata? - public init(tagging: Tagging? = nil, encryption: Encryption? = nil, prefix: String, accessControlList: Grants? = nil, storageClass: StorageClass? = nil, bucketName: String, cannedACL: ObjectCannedACL? = nil, userMetadata: UserMetadata? = nil) { + public init(tagging: Tagging? = nil, encryption: Encryption? = nil, accessControlList: Grants? = nil, prefix: String, storageClass: StorageClass? = nil, bucketName: String, cannedACL: ObjectCannedACL? = nil, userMetadata: UserMetadata? = nil) { self.tagging = tagging self.encryption = encryption - self.prefix = prefix self.accessControlList = accessControlList + self.prefix = prefix self.storageClass = storageClass self.bucketName = bucketName self.cannedACL = cannedACL @@ -5972,8 +6135,8 @@ extension S3 { private enum CodingKeys: String, CodingKey { case tagging = "Tagging" case encryption = "Encryption" - case prefix = "Prefix" case accessControlList = "AccessControlList" + case prefix = "Prefix" case storageClass = "StorageClass" case bucketName = "BucketName" case cannedACL = "CannedACL" @@ -6142,6 +6305,7 @@ extension S3 { public enum TransitionStorageClass: String, CustomStringConvertible, Codable { case glacier = "GLACIER" case standardIa = "STANDARD_IA" + case onezoneIa = "ONEZONE_IA" public var description: String { return self.rawValue } } @@ -6274,6 +6438,67 @@ extension S3 { } } + public struct SelectObjectContentRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Bucket", location: .uri(locationName: "Bucket"), required: true, type: .string), + AWSShapeMember(label: "OutputSerialization", required: true, type: .structure), + AWSShapeMember(label: "SSECustomerKey", location: .header(locationName: "x-amz-server-side-encryption-customer-key"), required: false, type: .string), + AWSShapeMember(label: "Expression", required: true, type: .string), + AWSShapeMember(label: "ExpressionType", required: true, type: .enum), + AWSShapeMember(label: "RequestProgress", required: false, type: .structure), + AWSShapeMember(label: "SSECustomerKeyMD5", location: .header(locationName: "x-amz-server-side-encryption-customer-key-MD5"), required: false, type: .string), + AWSShapeMember(label: "Key", location: .uri(locationName: "Key"), required: true, type: .string), + AWSShapeMember(label: "SSECustomerAlgorithm", location: .header(locationName: "x-amz-server-side-encryption-customer-algorithm"), required: false, type: .string), + AWSShapeMember(label: "InputSerialization", required: true, type: .structure) + ] + /// The S3 Bucket. + public let bucket: String + /// Describes the format of the data that you want Amazon S3 to return in response. + public let outputSerialization: OutputSerialization + /// The SSE Customer Key. For more information, go to Server-Side Encryption (Using Customer-Provided Encryption Keys. + public let sSECustomerKey: String? + /// The expression that is used to query the object. + public let expression: String + /// The type of the provided expression (e.g., SQL). + public let expressionType: ExpressionType + /// Specifies if periodic request progress information should be enabled. + public let requestProgress: RequestProgress? + /// The SSE Customer Key MD5. For more information, go to Server-Side Encryption (Using Customer-Provided Encryption Keys. + public let sSECustomerKeyMD5: String? + /// The Object Key. + public let key: String + /// The SSE Algorithm used to encrypt the object. For more information, go to Server-Side Encryption (Using Customer-Provided Encryption Keys. + public let sSECustomerAlgorithm: String? + /// Describes the format of the data in the object that is being queried. + public let inputSerialization: InputSerialization + + public init(bucket: String, outputSerialization: OutputSerialization, sSECustomerKey: String? = nil, expression: String, expressionType: ExpressionType, requestProgress: RequestProgress? = nil, sSECustomerKeyMD5: String? = nil, key: String, sSECustomerAlgorithm: String? = nil, inputSerialization: InputSerialization) { + self.bucket = bucket + self.outputSerialization = outputSerialization + self.sSECustomerKey = sSECustomerKey + self.expression = expression + self.expressionType = expressionType + self.requestProgress = requestProgress + self.sSECustomerKeyMD5 = sSECustomerKeyMD5 + self.key = key + self.sSECustomerAlgorithm = sSECustomerAlgorithm + self.inputSerialization = inputSerialization + } + + private enum CodingKeys: String, CodingKey { + case bucket = "Bucket" + case outputSerialization = "OutputSerialization" + case sSECustomerKey = "x-amz-server-side-encryption-customer-key" + case expression = "Expression" + case expressionType = "ExpressionType" + case requestProgress = "RequestProgress" + case sSECustomerKeyMD5 = "x-amz-server-side-encryption-customer-key-MD5" + case key = "Key" + case sSECustomerAlgorithm = "x-amz-server-side-encryption-customer-algorithm" + case inputSerialization = "InputSerialization" + } + } + public struct SseKmsEncryptedObjects: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Status", required: true, type: .enum) @@ -6311,6 +6536,12 @@ extension S3 { } } + public enum JSONType: String, CustomStringConvertible, Codable { + case document = "DOCUMENT" + case lines = "LINES" + public var description: String { return self.rawValue } + } + public struct LifecycleConfiguration: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Rules", location: .body(locationName: "Rule"), required: true, type: .list) @@ -6480,6 +6711,22 @@ extension S3 { } } + public struct StatsEvent: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Details", required: false, type: .structure) + ] + /// The Stats event details. + public let details: Stats? + + public init(details: Stats? = nil) { + self.details = details + } + + private enum CodingKeys: String, CodingKey { + case details = "Details" + } + } + public struct Grantee: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ID", required: false, type: .string), @@ -6516,6 +6763,13 @@ extension S3 { } } + public enum CompressionType: String, CustomStringConvertible, Codable { + case none = "NONE" + case gzip = "GZIP" + case bzip2 = "BZIP2" + public var description: String { return self.rawValue } + } + public struct QueueConfigurationDeprecated: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Queue", required: false, type: .string), diff --git a/Sources/AWSSDKSwift/Services/secretsmanager/Secretsmanager_API.swift b/Sources/AWSSDKSwift/Services/secretsmanager/Secretsmanager_API.swift new file mode 100644 index 00000000000..00ebac0d815 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/secretsmanager/Secretsmanager_API.swift @@ -0,0 +1,119 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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. +*/ +public struct Secretsmanager { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + amzTarget: "secretsmanager", + service: "secretsmanager", + serviceProtocol: ServiceProtocol(type: .json, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2017-10-17", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [SecretsmanagerError.self] + ) + } + + /// 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 + public func getRandomPassword(_ input: GetRandomPasswordRequest) throws -> GetRandomPasswordResponse { + return try client.send(operation: "GetRandomPassword", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func updateSecretVersionStage(_ input: UpdateSecretVersionStageRequest) throws -> UpdateSecretVersionStageResponse { + return try client.send(operation: "UpdateSecretVersionStage", path: "/", httpMethod: "POST", input: input) + } + + /// 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 To list the versions attached to a secret, use ListSecretVersionIds. + public func listSecrets(_ input: ListSecretsRequest) throws -> ListSecretsResponse { + return try client.send(operation: "ListSecrets", path: "/", httpMethod: "POST", input: input) + } + + /// 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 To attach a resource policy to a secret, use PutResourcePolicy. To delete the resource-based policy that's attached to a secret, use DeleteResourcePolicy. To list all of the currently available secrets, use ListSecrets. + public func getResourcePolicy(_ input: GetResourcePolicyRequest) throws -> GetResourcePolicyResponse { + return try client.send(operation: "GetResourcePolicy", path: "/", httpMethod: "POST", input: input) + } + + /// 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 To delete a secret, use DeleteSecret. + public func restoreSecret(_ input: RestoreSecretRequest) throws -> RestoreSecretResponse { + return try client.send(operation: "RestoreSecret", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func getSecretValue(_ input: GetSecretValueRequest) throws -> GetSecretValueResponse { + return try client.send(operation: "GetSecretValue", path: "/", httpMethod: "POST", input: input) + } + + /// 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 To create a secret, use CreateSecret. To modify a secret, use UpdateSecret. To retrieve the encrypted secret information in a version of the secret, use GetSecretValue. To list all of the secrets in the AWS account, use ListSecrets. + public func describeSecret(_ input: DescribeSecretRequest) throws -> DescribeSecretResponse { + return try client.send(operation: "DescribeSecret", path: "/", httpMethod: "POST", input: input) + } + + /// 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 SecretVersionId 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. + public func cancelRotateSecret(_ input: CancelRotateSecretRequest) throws -> CancelRotateSecretResponse { + return try client.send(operation: "CancelRotateSecret", path: "/", httpMethod: "POST", input: input) + } + + /// Modifies many of the details of a 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 SecretVersionId with the same value as the ClientRequestToken parameter already exists, the operation generates an error. You cannot modify an existing version, you can only create new ones. 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 To create a new secret, use CreateSecret. To add only a new version to an existing secret, use PutSecretValue. To get the details for a secret, use DescribeSecret. To list the versions contained in a secret, use ListSecretVersionIds. + public func updateSecret(_ input: UpdateSecretRequest) throws -> UpdateSecretResponse { + return try client.send(operation: "UpdateSecret", path: "/", httpMethod: "POST", input: input) + } + + /// 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. 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 To list the secrets in your account, use ListSecrets. To get the details for a version of a secret, use DescribeSecret. To create a new version of a secret, use CreateSecret. To attach staging labels to or remove staging labels from a version of a secret, use UpdateSecretVersionStage. + public func rotateSecret(_ input: RotateSecretRequest) throws -> RotateSecretResponse { + return try client.send(operation: "RotateSecret", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func untagResource(_ input: UntagResourceRequest) throws { + _ = try client.send(operation: "UntagResource", path: "/", httpMethod: "POST", input: input) + } + + /// 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 To list the secrets in an account, use ListSecrets. + public func listSecretVersionIds(_ input: ListSecretVersionIdsRequest) throws -> ListSecretVersionIdsResponse { + return try client.send(operation: "ListSecretVersionIds", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func deleteSecret(_ input: DeleteSecretRequest) throws -> DeleteSecretResponse { + return try client.send(operation: "DeleteSecret", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func tagResource(_ input: TagResourceRequest) throws { + _ = try client.send(operation: "TagResource", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func deleteResourcePolicy(_ input: DeleteResourcePolicyRequest) throws -> DeleteResourcePolicyResponse { + return try client.send(operation: "DeleteResourcePolicy", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func createSecret(_ input: CreateSecretRequest) throws -> CreateSecretResponse { + return try client.send(operation: "CreateSecret", path: "/", httpMethod: "POST", input: input) + } + + /// 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 SecretVersionId 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 To retrieve the encrypted value you store in the version of a secret, use GetSecretValue. To create a secret, use CreateSecret. To get the details for a secret, use DescribeSecret. To list the versions attached to a secret, use ListSecretVersionIds. + public func putSecretValue(_ input: PutSecretValueRequest) throws -> PutSecretValueResponse { + return try client.send(operation: "PutSecretValue", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func putResourcePolicy(_ input: PutResourcePolicyRequest) throws -> PutResourcePolicyResponse { + return try client.send(operation: "PutResourcePolicy", path: "/", httpMethod: "POST", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/secretsmanager/Secretsmanager_Error.swift b/Sources/AWSSDKSwift/Services/secretsmanager/Secretsmanager_Error.swift new file mode 100644 index 00000000000..f887e353d38 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/secretsmanager/Secretsmanager_Error.swift @@ -0,0 +1,53 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Secretsmanager +public enum SecretsmanagerError: AWSErrorType { + case invalidParameterException(message: String?) + case invalidRequestException(message: String?) + case internalServiceError(message: String?) + case resourceNotFoundException(message: String?) + case limitExceededException(message: String?) + case invalidNextTokenException(message: String?) + case decryptionFailure(message: String?) + case encryptionFailure(message: String?) + case resourceExistsException(message: String?) + case malformedPolicyDocumentException(message: String?) + case preconditionNotMetException(message: String?) +} + +extension SecretsmanagerError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "InvalidParameterException": + self = .invalidParameterException(message: message) + case "InvalidRequestException": + self = .invalidRequestException(message: message) + case "InternalServiceError": + self = .internalServiceError(message: message) + case "ResourceNotFoundException": + self = .resourceNotFoundException(message: message) + case "LimitExceededException": + self = .limitExceededException(message: message) + case "InvalidNextTokenException": + self = .invalidNextTokenException(message: message) + case "DecryptionFailure": + self = .decryptionFailure(message: message) + case "EncryptionFailure": + self = .encryptionFailure(message: message) + case "ResourceExistsException": + self = .resourceExistsException(message: message) + case "MalformedPolicyDocumentException": + self = .malformedPolicyDocumentException(message: message) + case "PreconditionNotMetException": + self = .preconditionNotMetException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/secretsmanager/Secretsmanager_Shapes.swift b/Sources/AWSSDKSwift/Services/secretsmanager/Secretsmanager_Shapes.swift new file mode 100644 index 00000000000..d39ae0c86a4 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/secretsmanager/Secretsmanager_Shapes.swift @@ -0,0 +1,1091 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Secretsmanager { + + public struct TagResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Tags", required: true, type: .list), + AWSShapeMember(label: "SecretId", required: true, type: .string) + ] + /// 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"[,…] + public let tags: [Tag] + /// 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. + public let secretId: String + + public init(tags: [Tag], secretId: String) { + self.tags = tags + self.secretId = secretId + } + + private enum CodingKeys: String, CodingKey { + case tags = "Tags" + case secretId = "SecretId" + } + } + + public struct RestoreSecretRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SecretId", required: true, type: .string) + ] + /// 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. + public let secretId: String + + public init(secretId: String) { + self.secretId = secretId + } + + private enum CodingKeys: String, CodingKey { + case secretId = "SecretId" + } + } + + public struct DeleteSecretRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RecoveryWindowInDays", required: false, type: .long), + AWSShapeMember(label: "SecretId", required: true, type: .string) + ] + /// (Optional) Specifies the number of days that Secrets Manager waits before it can delete the secret. This value can range from 7 to 30 days. The default value is 30. + public let recoveryWindowInDays: Int64? + /// Specifies the secret that you want to delete. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. + public let secretId: String + + public init(recoveryWindowInDays: Int64? = nil, secretId: String) { + self.recoveryWindowInDays = recoveryWindowInDays + self.secretId = secretId + } + + private enum CodingKeys: String, CodingKey { + case recoveryWindowInDays = "RecoveryWindowInDays" + case secretId = "SecretId" + } + } + + public struct CreateSecretRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SecretBinary", required: false, type: .blob), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string), + AWSShapeMember(label: "ClientRequestToken", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "SecretString", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// (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. + public let secretBinary: Data? + /// (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. + public let kmsKeyId: String? + /// (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 SecretVersionId of the new version. + public let clientRequestToken: String? + /// Specifies the friendly name of the new secret. The secret name must be ASCII letters, digits, or the following characters : /_+=.@- + public let name: String + /// (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: + - = . _ : / @. + public let tags: [Tag]? + /// (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. + public let secretString: String? + /// (Optional) Specifies a user-provided description of the secret. + public let description: String? + + public init(secretBinary: Data? = nil, kmsKeyId: String? = nil, clientRequestToken: String? = nil, name: String, tags: [Tag]? = nil, secretString: String? = nil, description: String? = nil) { + self.secretBinary = secretBinary + self.kmsKeyId = kmsKeyId + self.clientRequestToken = clientRequestToken + self.name = name + self.tags = tags + self.secretString = secretString + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case secretBinary = "SecretBinary" + case kmsKeyId = "KmsKeyId" + case clientRequestToken = "ClientRequestToken" + case name = "Name" + case tags = "Tags" + case secretString = "SecretString" + case description = "Description" + } + } + + public struct DeleteResourcePolicyResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ARN", required: false, type: .string) + ] + /// The friendly name of the secret that the resource-based policy was deleted for. + public let name: String? + /// The ARN of the secret that the resource-based policy was deleted for. + public let arn: String? + + public init(name: String? = nil, arn: String? = nil) { + self.name = name + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case arn = "ARN" + } + } + + public struct SecretListEntry: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RotationLambdaARN", required: false, type: .string), + AWSShapeMember(label: "LastChangedDate", required: false, type: .timestamp), + AWSShapeMember(label: "LastRotatedDate", required: false, type: .timestamp), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "RotationRules", required: false, type: .structure), + AWSShapeMember(label: "RotationEnabled", required: false, type: .boolean), + AWSShapeMember(label: "SecretVersionsToStages", required: false, type: .map), + AWSShapeMember(label: "ARN", required: false, type: .string), + AWSShapeMember(label: "LastAccessedDate", required: false, type: .timestamp), + AWSShapeMember(label: "DeletedDate", required: false, type: .timestamp), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string) + ] + /// 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. + public let rotationLambdaARN: String? + /// The last date and time that this secret was modified in any way. + public let lastChangedDate: TimeStamp? + /// The last date and time that the rotation process for this secret was invoked. + public let lastRotatedDate: TimeStamp? + /// 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. + public let tags: [Tag]? + /// A structure that defines the rotation configuration for the secret. + public let rotationRules: RotationRulesType? + /// Indicated whether automatic, scheduled rotation is enabled for this secret. + public let rotationEnabled: Bool? + /// 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. + public let secretVersionsToStages: [String: [String]]? + /// 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. + public let arn: String? + /// 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. + public let lastAccessedDate: TimeStamp? + /// 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. + public let deletedDate: TimeStamp? + /// The user-provided description of the secret. + public let description: String? + /// 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. + public let name: String? + /// 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. + public let kmsKeyId: String? + + public init(rotationLambdaARN: String? = nil, lastChangedDate: TimeStamp? = nil, lastRotatedDate: TimeStamp? = nil, tags: [Tag]? = nil, rotationRules: RotationRulesType? = nil, rotationEnabled: Bool? = nil, secretVersionsToStages: [String: [String]]? = nil, arn: String? = nil, lastAccessedDate: TimeStamp? = nil, deletedDate: TimeStamp? = nil, description: String? = nil, name: String? = nil, kmsKeyId: String? = nil) { + self.rotationLambdaARN = rotationLambdaARN + self.lastChangedDate = lastChangedDate + self.lastRotatedDate = lastRotatedDate + self.tags = tags + self.rotationRules = rotationRules + self.rotationEnabled = rotationEnabled + self.secretVersionsToStages = secretVersionsToStages + self.arn = arn + self.lastAccessedDate = lastAccessedDate + self.deletedDate = deletedDate + self.description = description + self.name = name + self.kmsKeyId = kmsKeyId + } + + private enum CodingKeys: String, CodingKey { + case rotationLambdaARN = "RotationLambdaARN" + case lastChangedDate = "LastChangedDate" + case lastRotatedDate = "LastRotatedDate" + case tags = "Tags" + case rotationRules = "RotationRules" + case rotationEnabled = "RotationEnabled" + case secretVersionsToStages = "SecretVersionsToStages" + case arn = "ARN" + case lastAccessedDate = "LastAccessedDate" + case deletedDate = "DeletedDate" + case description = "Description" + case name = "Name" + case kmsKeyId = "KmsKeyId" + } + } + + public struct UpdateSecretRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "KmsKeyId", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "SecretId", required: true, type: .string), + AWSShapeMember(label: "ClientRequestToken", required: false, type: .string), + AWSShapeMember(label: "SecretString", required: false, type: .string), + AWSShapeMember(label: "SecretBinary", required: false, type: .blob) + ] + /// (Optional) Specifies the ARN or alias of the AWS KMS customer master key (CMK) to be used to encrypt the protected text in the versions of this secret. If you don't specify this value, then Secrets Manager defaults to using the default CMK in the account (the one named aws/secretsmanager). If a AWS KMS CMK with that name doesn't exist, then Secrets Manager creates it for you automatically the first time it needs to encrypt a version's Plaintext or PlaintextString fields. 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 in this field. + public let kmsKeyId: String? + /// (Optional) Specifies a user-provided description of the secret. + public let description: String? + /// Specifies the secret that you want to update 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. + public let secretId: String + /// (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 SecretVersionId of the new version. + public let clientRequestToken: String? + /// (Optional) Specifies 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. + public let secretString: String? + /// (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 using the Secrets Manager console. + public let secretBinary: Data? + + public init(kmsKeyId: String? = nil, description: String? = nil, secretId: String, clientRequestToken: String? = nil, secretString: String? = nil, secretBinary: Data? = nil) { + self.kmsKeyId = kmsKeyId + self.description = description + self.secretId = secretId + self.clientRequestToken = clientRequestToken + self.secretString = secretString + self.secretBinary = secretBinary + } + + private enum CodingKeys: String, CodingKey { + case kmsKeyId = "KmsKeyId" + case description = "Description" + case secretId = "SecretId" + case clientRequestToken = "ClientRequestToken" + case secretString = "SecretString" + case secretBinary = "SecretBinary" + } + } + + public struct GetSecretValueRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionId", required: false, type: .string), + AWSShapeMember(label: "VersionStage", required: false, type: .string), + AWSShapeMember(label: "SecretId", required: true, type: .string) + ] + /// 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 SecretVersionId 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. + public let versionId: String? + /// 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 SecretVersionId. If you don't specify either a VersionStage or SecretVersionId, then the default is to perform the operation on the version with the VersionStage value of AWSCURRENT. + public let versionStage: String? + /// 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. + public let secretId: String + + public init(versionId: String? = nil, versionStage: String? = nil, secretId: String) { + self.versionId = versionId + self.versionStage = versionStage + self.secretId = secretId + } + + private enum CodingKeys: String, CodingKey { + case versionId = "VersionId" + case versionStage = "VersionStage" + case secretId = "SecretId" + } + } + + public struct GetSecretValueResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionStages", required: false, type: .list), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "VersionId", required: false, type: .string), + AWSShapeMember(label: "ARN", required: false, type: .string), + AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), + AWSShapeMember(label: "SecretString", required: false, type: .string), + AWSShapeMember(label: "SecretBinary", required: false, type: .blob) + ] + /// A list of all of the staging labels currently attached to this version of the secret. + public let versionStages: [String]? + /// The friendly name of the secret. + public let name: String? + /// The unique identifier of this version of the secret. + public let versionId: String? + /// The ARN of the secret. + public let arn: String? + /// The date and time that this version of the secret was created. + public let createdDate: TimeStamp? + /// 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. + public let secretString: String? + /// 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. + public let secretBinary: Data? + + public init(versionStages: [String]? = nil, name: String? = nil, versionId: String? = nil, arn: String? = nil, createdDate: TimeStamp? = nil, secretString: String? = nil, secretBinary: Data? = nil) { + self.versionStages = versionStages + self.name = name + self.versionId = versionId + self.arn = arn + self.createdDate = createdDate + self.secretString = secretString + self.secretBinary = secretBinary + } + + private enum CodingKeys: String, CodingKey { + case versionStages = "VersionStages" + case name = "Name" + case versionId = "VersionId" + case arn = "ARN" + case createdDate = "CreatedDate" + case secretString = "SecretString" + case secretBinary = "SecretBinary" + } + } + + public struct CancelRotateSecretResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionId", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ARN", required: false, type: .string) + ] + /// 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. + public let versionId: String? + /// The friendly name of the secret for which rotation was canceled. + public let name: String? + /// The ARN of the secret for which rotation was canceled. + public let arn: String? + + public init(versionId: String? = nil, name: String? = nil, arn: String? = nil) { + self.versionId = versionId + self.name = name + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case versionId = "VersionId" + case name = "Name" + case arn = "ARN" + } + } + + public struct RotationRulesType: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AutomaticallyAfterDays", required: false, type: .long) + ] + /// Specifies the number of days between automatic scheduled rotations of the secret. + public let automaticallyAfterDays: Int64? + + public init(automaticallyAfterDays: Int64? = nil) { + self.automaticallyAfterDays = automaticallyAfterDays + } + + private enum CodingKeys: String, CodingKey { + case automaticallyAfterDays = "AutomaticallyAfterDays" + } + } + + public struct DescribeSecretRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SecretId", required: true, type: .string) + ] + /// 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. + public let secretId: String + + public init(secretId: String) { + self.secretId = secretId + } + + private enum CodingKeys: String, CodingKey { + case secretId = "SecretId" + } + } + + public struct RotateSecretResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionId", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ARN", required: false, type: .string) + ] + /// The ID of the new version of the secret created by the rotation started by this request. + public let versionId: String? + /// The friendly name of the secret. + public let name: String? + /// The ARN of the secret. + public let arn: String? + + public init(versionId: String? = nil, name: String? = nil, arn: String? = nil) { + self.versionId = versionId + self.name = name + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case versionId = "VersionId" + case name = "Name" + case arn = "ARN" + } + } + + public struct UpdateSecretVersionStageResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ARN", required: false, type: .string) + ] + /// The friendly name of the secret with the staging labels that were modified. + public let name: String? + /// The ARN of the secret with the staging labels that were modified. + public let arn: String? + + public init(name: String? = nil, arn: String? = nil) { + self.name = name + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case arn = "ARN" + } + } + + public struct PutSecretValueRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionStages", required: false, type: .list), + AWSShapeMember(label: "SecretId", required: true, type: .string), + AWSShapeMember(label: "ClientRequestToken", required: false, type: .string), + AWSShapeMember(label: "SecretString", required: false, type: .string), + AWSShapeMember(label: "SecretBinary", required: false, type: .blob) + ] + /// (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. + public let versionStages: [String]? + /// 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. + public let secretId: String + /// (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 SecretVersionId of the new version. + public let clientRequestToken: String? + /// (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. + public let secretString: String? + /// (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. + public let secretBinary: Data? + + public init(versionStages: [String]? = nil, secretId: String, clientRequestToken: String? = nil, secretString: String? = nil, secretBinary: Data? = nil) { + self.versionStages = versionStages + self.secretId = secretId + self.clientRequestToken = clientRequestToken + self.secretString = secretString + self.secretBinary = secretBinary + } + + private enum CodingKeys: String, CodingKey { + case versionStages = "VersionStages" + case secretId = "SecretId" + case clientRequestToken = "ClientRequestToken" + case secretString = "SecretString" + case secretBinary = "SecretBinary" + } + } + + public struct CreateSecretResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionId", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ARN", required: false, type: .string) + ] + /// The unique identifier that's associated with the version of the secret you just created. + public let versionId: String? + /// The friendly name of the secret that you just created. + public let name: String? + /// 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. + public let arn: String? + + public init(versionId: String? = nil, name: String? = nil, arn: String? = nil) { + self.versionId = versionId + self.name = name + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case versionId = "VersionId" + case name = "Name" + case arn = "ARN" + } + } + + public struct GetRandomPasswordResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RandomPassword", required: false, type: .string) + ] + /// A string with the generated password. + public let randomPassword: String? + + public init(randomPassword: String? = nil) { + self.randomPassword = randomPassword + } + + private enum CodingKeys: String, CodingKey { + case randomPassword = "RandomPassword" + } + } + + public struct CancelRotateSecretRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SecretId", required: true, type: .string) + ] + /// 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. + public let secretId: String + + public init(secretId: String) { + self.secretId = secretId + } + + private enum CodingKeys: String, CodingKey { + case secretId = "SecretId" + } + } + + public struct Tag: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: false, type: .string), + AWSShapeMember(label: "Key", required: false, type: .string) + ] + /// The string value that's associated with the key of the tag. + public let value: String? + /// The key identifier, or name, of the tag. + public let key: String? + + public init(value: String? = nil, key: String? = nil) { + self.value = value + self.key = key + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case key = "Key" + } + } + + public struct UpdateSecretResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionId", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ARN", required: false, type: .string) + ] + /// If a version of the secret was created or updated by this operation, then its unique identifier is returned. + public let versionId: String? + /// The friendly name of this secret. + public let name: String? + /// The ARN of this 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. + public let arn: String? + + public init(versionId: String? = nil, name: String? = nil, arn: String? = nil) { + self.versionId = versionId + self.name = name + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case versionId = "VersionId" + case name = "Name" + case arn = "ARN" + } + } + + public struct RotateSecretRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RotationRules", required: false, type: .structure), + AWSShapeMember(label: "RotationLambdaARN", required: false, type: .string), + AWSShapeMember(label: "SecretId", required: true, type: .string), + AWSShapeMember(label: "ClientRequestToken", required: false, type: .string) + ] + /// A structure that defines the rotation configuration for this secret. + public let rotationRules: RotationRulesType? + /// (Optional) Specifies the ARN of the Lambda function that can rotate the secret. + public let rotationLambdaARN: String? + /// Specifies the secret that you want to rotate. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. + public let secretId: String + /// (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. 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 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 SecretVersionId of the new version. + public let clientRequestToken: String? + + public init(rotationRules: RotationRulesType? = nil, rotationLambdaARN: String? = nil, secretId: String, clientRequestToken: String? = nil) { + self.rotationRules = rotationRules + self.rotationLambdaARN = rotationLambdaARN + self.secretId = secretId + self.clientRequestToken = clientRequestToken + } + + private enum CodingKeys: String, CodingKey { + case rotationRules = "RotationRules" + case rotationLambdaARN = "RotationLambdaARN" + case secretId = "SecretId" + case clientRequestToken = "ClientRequestToken" + } + } + + public struct SecretVersionsListEntry: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionId", required: false, type: .string), + AWSShapeMember(label: "VersionStages", required: false, type: .list), + AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), + AWSShapeMember(label: "LastAccessedDate", required: false, type: .timestamp) + ] + /// The unique version identifier of this version of the secret. + public let versionId: String? + /// An array of staging labels that are currently associated with this version of the secret. + public let versionStages: [String]? + /// The date and time this version of the secret was created. + public let createdDate: TimeStamp? + /// 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. + public let lastAccessedDate: TimeStamp? + + public init(versionId: String? = nil, versionStages: [String]? = nil, createdDate: TimeStamp? = nil, lastAccessedDate: TimeStamp? = nil) { + self.versionId = versionId + self.versionStages = versionStages + self.createdDate = createdDate + self.lastAccessedDate = lastAccessedDate + } + + private enum CodingKeys: String, CodingKey { + case versionId = "VersionId" + case versionStages = "VersionStages" + case createdDate = "CreatedDate" + case lastAccessedDate = "LastAccessedDate" + } + } + + public struct ListSecretVersionIdsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SecretId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "IncludeDeprecated", required: false, type: .boolean), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let secretId: String + /// (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. + public let nextToken: String? + /// (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. + public let includeDeprecated: Bool? + /// (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. + public let maxResults: Int32? + + public init(secretId: String, nextToken: String? = nil, includeDeprecated: Bool? = nil, maxResults: Int32? = nil) { + self.secretId = secretId + self.nextToken = nextToken + self.includeDeprecated = includeDeprecated + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case secretId = "SecretId" + case nextToken = "NextToken" + case includeDeprecated = "IncludeDeprecated" + case maxResults = "MaxResults" + } + } + + public struct GetResourcePolicyResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourcePolicy", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ARN", required: false, type: .string) + ] + /// 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. + public let resourcePolicy: String? + /// The friendly name of the secret that the resource-based policy was retrieved for. + public let name: String? + /// The ARN of the secret that the resource-based policy was retrieved for. + public let arn: String? + + public init(resourcePolicy: String? = nil, name: String? = nil, arn: String? = nil) { + self.resourcePolicy = resourcePolicy + self.name = name + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case resourcePolicy = "ResourcePolicy" + case name = "Name" + case arn = "ARN" + } + } + + public struct GetResourcePolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SecretId", required: true, type: .string) + ] + /// 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. + public let secretId: String + + public init(secretId: String) { + self.secretId = secretId + } + + private enum CodingKeys: String, CodingKey { + case secretId = "SecretId" + } + } + + public struct GetRandomPasswordRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExcludeCharacters", required: false, type: .string), + AWSShapeMember(label: "ExcludeNumbers", required: false, type: .boolean), + AWSShapeMember(label: "ExcludeUppercase", required: false, type: .boolean), + AWSShapeMember(label: "ExcludePunctuation", required: false, type: .boolean), + AWSShapeMember(label: "RequireEachIncludedType", required: false, type: .boolean), + AWSShapeMember(label: "ExcludeLowercase", required: false, type: .boolean), + AWSShapeMember(label: "PasswordLength", required: false, type: .long), + AWSShapeMember(label: "IncludeSpace", required: false, type: .boolean) + ] + /// 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. + public let excludeCharacters: String? + /// 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. + public let excludeNumbers: Bool? + /// 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. + public let excludeUppercase: Bool? + /// 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. + public let excludePunctuation: Bool? + /// 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. + public let requireEachIncludedType: Bool? + /// 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. + public let excludeLowercase: Bool? + /// The desired length of the generated password. The default value if you do not include this parameter is 32 characters. + public let passwordLength: Int64? + /// 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. + public let includeSpace: Bool? + + public init(excludeCharacters: String? = nil, excludeNumbers: Bool? = nil, excludeUppercase: Bool? = nil, excludePunctuation: Bool? = nil, requireEachIncludedType: Bool? = nil, excludeLowercase: Bool? = nil, passwordLength: Int64? = nil, includeSpace: Bool? = nil) { + self.excludeCharacters = excludeCharacters + self.excludeNumbers = excludeNumbers + self.excludeUppercase = excludeUppercase + self.excludePunctuation = excludePunctuation + self.requireEachIncludedType = requireEachIncludedType + self.excludeLowercase = excludeLowercase + self.passwordLength = passwordLength + self.includeSpace = includeSpace + } + + private enum CodingKeys: String, CodingKey { + case excludeCharacters = "ExcludeCharacters" + case excludeNumbers = "ExcludeNumbers" + case excludeUppercase = "ExcludeUppercase" + case excludePunctuation = "ExcludePunctuation" + case requireEachIncludedType = "RequireEachIncludedType" + case excludeLowercase = "ExcludeLowercase" + case passwordLength = "PasswordLength" + case includeSpace = "IncludeSpace" + } + } + + public struct PutSecretValueResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionId", required: false, type: .string), + AWSShapeMember(label: "VersionStages", required: false, type: .list), + AWSShapeMember(label: "ARN", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string) + ] + /// The unique identifier of the version of the secret you just created or updated. + public let versionId: String? + /// 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. + public let versionStages: [String]? + /// The Amazon Resource Name (ARN) for the secret for which you just created a version. + public let arn: String? + /// The friendly name of the secret for which you just created or updated a version. + public let name: String? + + public init(versionId: String? = nil, versionStages: [String]? = nil, arn: String? = nil, name: String? = nil) { + self.versionId = versionId + self.versionStages = versionStages + self.arn = arn + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case versionId = "VersionId" + case versionStages = "VersionStages" + case arn = "ARN" + case name = "Name" + } + } + + public struct ListSecretVersionIdsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ARN", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Versions", required: false, type: .list) + ] + /// 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. + public let arn: String? + /// The friendly name of the secret. + public let name: String? + /// 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). + public let nextToken: String? + /// The list of the currently available versions of the specified secret. + public let versions: [SecretVersionsListEntry]? + + public init(arn: String? = nil, name: String? = nil, nextToken: String? = nil, versions: [SecretVersionsListEntry]? = nil) { + self.arn = arn + self.name = name + self.nextToken = nextToken + self.versions = versions + } + + private enum CodingKeys: String, CodingKey { + case arn = "ARN" + case name = "Name" + case nextToken = "NextToken" + case versions = "Versions" + } + } + + public struct DeleteSecretResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ARN", required: false, type: .string), + AWSShapeMember(label: "DeletionDate", required: false, type: .timestamp) + ] + /// The friendly name of the secret that is now scheduled for deletion. + public let name: String? + /// The ARN of the secret that is now scheduled for deletion. + public let arn: String? + /// 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. + public let deletionDate: TimeStamp? + + public init(name: String? = nil, arn: String? = nil, deletionDate: TimeStamp? = nil) { + self.name = name + self.arn = arn + self.deletionDate = deletionDate + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case arn = "ARN" + case deletionDate = "DeletionDate" + } + } + + public struct UpdateSecretVersionStageRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VersionStage", required: true, type: .string), + AWSShapeMember(label: "MoveToVersionId", required: false, type: .string), + AWSShapeMember(label: "SecretId", required: true, type: .string), + AWSShapeMember(label: "RemoveFromVersionId", required: false, type: .string) + ] + /// The list of staging labels to add to this version. + public let versionStage: String + /// (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 removed from that version before adding them to this version. + public let moveToVersionId: String? + /// 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. + public let secretId: String + /// (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. + public let removeFromVersionId: String? + + public init(versionStage: String, moveToVersionId: String? = nil, secretId: String, removeFromVersionId: String? = nil) { + self.versionStage = versionStage + self.moveToVersionId = moveToVersionId + self.secretId = secretId + self.removeFromVersionId = removeFromVersionId + } + + private enum CodingKeys: String, CodingKey { + case versionStage = "VersionStage" + case moveToVersionId = "MoveToVersionId" + case secretId = "SecretId" + case removeFromVersionId = "RemoveFromVersionId" + } + } + + public struct DeleteResourcePolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SecretId", required: true, type: .string) + ] + /// 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. + public let secretId: String + + public init(secretId: String) { + self.secretId = secretId + } + + private enum CodingKeys: String, CodingKey { + case secretId = "SecretId" + } + } + + public struct PutResourcePolicyResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ARN", required: false, type: .string) + ] + /// The friendly name of the secret that the resource-based policy was retrieved for. + public let name: String? + /// The ARN of the secret that the resource-based policy was retrieved for. + public let arn: String? + + public init(name: String? = nil, arn: String? = nil) { + self.name = name + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case arn = "ARN" + } + } + + public struct PutResourcePolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourcePolicy", required: true, type: .string), + AWSShapeMember(label: "SecretId", required: true, type: .string) + ] + /// 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. + public let resourcePolicy: String + /// 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. + public let secretId: String + + public init(resourcePolicy: String, secretId: String) { + self.resourcePolicy = resourcePolicy + self.secretId = secretId + } + + private enum CodingKeys: String, CodingKey { + case resourcePolicy = "ResourcePolicy" + case secretId = "SecretId" + } + } + + public struct ListSecretsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// (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. + public let nextToken: String? + /// (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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct ListSecretsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SecretList", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// A list of the secrets in the account. + public let secretList: [SecretListEntry]? + /// 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). + public let nextToken: String? + + public init(secretList: [SecretListEntry]? = nil, nextToken: String? = nil) { + self.secretList = secretList + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case secretList = "SecretList" + case nextToken = "NextToken" + } + } + + public struct DescribeSecretResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RotationLambdaARN", required: false, type: .string), + AWSShapeMember(label: "LastChangedDate", required: false, type: .timestamp), + AWSShapeMember(label: "LastRotatedDate", required: false, type: .timestamp), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "RotationRules", required: false, type: .structure), + AWSShapeMember(label: "RotationEnabled", required: false, type: .boolean), + AWSShapeMember(label: "ARN", required: false, type: .string), + AWSShapeMember(label: "LastAccessedDate", required: false, type: .timestamp), + AWSShapeMember(label: "DeletedDate", required: false, type: .timestamp), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "VersionIdsToStages", required: false, type: .map), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "KmsKeyId", required: false, type: .string) + ] + /// 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. + public let rotationLambdaARN: String? + /// The last date and time that this secret was modified in any way. + public let lastChangedDate: TimeStamp? + /// The last date and time that the Secrets Manager rotation process for this secret was invoked. + public let lastRotatedDate: TimeStamp? + /// 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. + public let tags: [Tag]? + /// A structure that contains the rotation configuration for this secret. + public let rotationRules: RotationRulesType? + /// 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. + public let rotationEnabled: Bool? + /// The ARN of the secret. + public let arn: String? + /// 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. + public let lastAccessedDate: TimeStamp? + /// 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. + public let deletedDate: TimeStamp? + /// The user-provided description of the secret. + public let description: String? + /// A list of all of the currently assigned VersionStage 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 staging labels attached is considered deprecated and subject to deletion. Such versions are not included in this list. + public let versionIdsToStages: [String: [String]]? + /// The user-provided friendly name of the secret. + public let name: String? + /// 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. + public let kmsKeyId: String? + + public init(rotationLambdaARN: String? = nil, lastChangedDate: TimeStamp? = nil, lastRotatedDate: TimeStamp? = nil, tags: [Tag]? = nil, rotationRules: RotationRulesType? = nil, rotationEnabled: Bool? = nil, arn: String? = nil, lastAccessedDate: TimeStamp? = nil, deletedDate: TimeStamp? = nil, description: String? = nil, versionIdsToStages: [String: [String]]? = nil, name: String? = nil, kmsKeyId: String? = nil) { + self.rotationLambdaARN = rotationLambdaARN + self.lastChangedDate = lastChangedDate + self.lastRotatedDate = lastRotatedDate + self.tags = tags + self.rotationRules = rotationRules + self.rotationEnabled = rotationEnabled + self.arn = arn + self.lastAccessedDate = lastAccessedDate + self.deletedDate = deletedDate + self.description = description + self.versionIdsToStages = versionIdsToStages + self.name = name + self.kmsKeyId = kmsKeyId + } + + private enum CodingKeys: String, CodingKey { + case rotationLambdaARN = "RotationLambdaARN" + case lastChangedDate = "LastChangedDate" + case lastRotatedDate = "LastRotatedDate" + case tags = "Tags" + case rotationRules = "RotationRules" + case rotationEnabled = "RotationEnabled" + case arn = "ARN" + case lastAccessedDate = "LastAccessedDate" + case deletedDate = "DeletedDate" + case description = "Description" + case versionIdsToStages = "VersionIdsToStages" + case name = "Name" + case kmsKeyId = "KmsKeyId" + } + } + + public struct UntagResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TagKeys", required: true, type: .list), + AWSShapeMember(label: "SecretId", required: true, type: .string) + ] + /// 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. + public let tagKeys: [String] + /// 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. + public let secretId: String + + public init(tagKeys: [String], secretId: String) { + self.tagKeys = tagKeys + self.secretId = secretId + } + + private enum CodingKeys: String, CodingKey { + case tagKeys = "TagKeys" + case secretId = "SecretId" + } + } + + public struct RestoreSecretResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ARN", required: false, type: .string) + ] + /// The friendly name of the secret that was restored. + public let name: String? + /// The ARN of the secret that was restored. + public let arn: String? + + public init(name: String? = nil, arn: String? = nil) { + self.name = name + self.arn = arn + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case arn = "ARN" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/serverlessrepo/Serverlessrepo_API.swift b/Sources/AWSSDKSwift/Services/serverlessrepo/Serverlessrepo_API.swift index 30333cc13db..a37ed4fca14 100644 --- a/Sources/AWSSDKSwift/Services/serverlessrepo/Serverlessrepo_API.swift +++ b/Sources/AWSSDKSwift/Services/serverlessrepo/Serverlessrepo_API.swift @@ -4,7 +4,26 @@ import Foundation import AWSSDKSwiftCore /** -AWS Serverless Application Repository +The AWS Serverless Application Repository makes it easy for developers and enterprises to quickly find + and deploy serverless applications in the AWS Cloud. For more information about serverless applications, + 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 + all levels can get started with serverless computing without needing to learn anything new. You can use category + keywords to browse for applications such as web and mobile backends, data processing applications, or chatbots. + You can also search for applications by name, publisher, or event source. To use an application, you simply choose it, + 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 + within your team or across your organization. To publish a serverless application (or app), you can use the + AWS Management Console, AWS Command Line Interface (AWS CLI), or AWS SDKs to upload the code. Along with the + code, you upload a simple manifest file, also known as the AWS Serverless Application Model (AWS SAM) template. + For more information about AWS SAM, see AWS Serverless Application Model (AWS SAM) on the AWS Labs + GitHub repository.The AWS Serverless Application Repository Developer Guide contains more information about the two developer + experiences available: + + Consuming Applications – Browse for applications and view information about them, including + source code and readme files. Also install, configure, and deploy applications of your choosing. + Publishing Applications – Configure and upload applications to make them available to other + developers, and publish new versions of applications. + + */ public struct Serverlessrepo { @@ -39,7 +58,7 @@ public struct Serverlessrepo { return try client.send(operation: "CreateApplicationVersion", path: "/applications/{applicationId}/versions/{semanticVersion}", httpMethod: "PUT", input: input) } - /// Gets the policy for the specified application. + /// Retrieves the policy for the application. public func getApplicationPolicy(_ input: GetApplicationPolicyRequest) throws -> GetApplicationPolicyResponse { return try client.send(operation: "GetApplicationPolicy", path: "/applications/{applicationId}/policy", httpMethod: "GET", input: input) } @@ -49,12 +68,19 @@ public struct Serverlessrepo { return try client.send(operation: "ListApplications", path: "/applications", httpMethod: "GET", input: input) } - /// Puts the policy for the specified application. + /// Deletes the specified application. + public func deleteApplication(_ input: DeleteApplicationRequest) throws { + _ = try client.send(operation: "DeleteApplication", path: "/applications/{applicationId}", httpMethod: "DELETE", input: input) + } + + /// Sets the permission policy for an application. See + /// Application Permissions + /// for the list of supported actions that can be used with this operation. public func putApplicationPolicy(_ input: PutApplicationPolicyRequest) throws -> PutApplicationPolicyResponse { return try client.send(operation: "PutApplicationPolicy", path: "/applications/{applicationId}/policy", httpMethod: "PUT", input: input) } - /// Creates an AWS CloudFormation ChangeSet for the given application. + /// Creates an AWS CloudFormation change set for the given application. public func createCloudFormationChangeSet(_ input: CreateCloudFormationChangeSetRequest) throws -> CreateCloudFormationChangeSetResponse { return try client.send(operation: "CreateCloudFormationChangeSet", path: "/applications/{applicationId}/changesets", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/serverlessrepo/Serverlessrepo_Shapes.swift b/Sources/AWSSDKSwift/Services/serverlessrepo/Serverlessrepo_Shapes.swift index 52b5aee6f01..ed7e3811adb 100644 --- a/Sources/AWSSDKSwift/Services/serverlessrepo/Serverlessrepo_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/serverlessrepo/Serverlessrepo_Shapes.swift @@ -35,6 +35,7 @@ extension Serverlessrepo { AWSShapeMember(label: "CreationTime", location: .body(locationName: "creationTime"), required: false, type: .string), AWSShapeMember(label: "LicenseUrl", location: .body(locationName: "licenseUrl"), required: false, type: .string), AWSShapeMember(label: "ApplicationId", location: .body(locationName: "applicationId"), required: false, type: .string), + AWSShapeMember(label: "HomePageUrl", location: .body(locationName: "homePageUrl"), required: false, type: .string), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] public let labels: [String]? @@ -46,9 +47,10 @@ extension Serverlessrepo { public let creationTime: String? public let licenseUrl: String? public let applicationId: String? + public let homePageUrl: String? public let description: String? - public init(labels: [String]? = nil, author: String? = nil, name: String? = nil, readmeUrl: String? = nil, version: Version? = nil, spdxLicenseId: String? = nil, creationTime: String? = nil, licenseUrl: String? = nil, applicationId: String? = nil, description: String? = nil) { + public init(labels: [String]? = nil, author: String? = nil, name: String? = nil, readmeUrl: String? = nil, version: Version? = nil, spdxLicenseId: String? = nil, creationTime: String? = nil, licenseUrl: String? = nil, applicationId: String? = nil, homePageUrl: String? = nil, description: String? = nil) { self.labels = labels self.author = author self.name = name @@ -58,6 +60,7 @@ extension Serverlessrepo { self.creationTime = creationTime self.licenseUrl = licenseUrl self.applicationId = applicationId + self.homePageUrl = homePageUrl self.description = description } @@ -71,27 +74,30 @@ extension Serverlessrepo { case creationTime = "creationTime" case licenseUrl = "licenseUrl" case applicationId = "applicationId" + case homePageUrl = "homePageUrl" case description = "description" } } public struct ChangeSetDetails: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ApplicationId", location: .body(locationName: "applicationId"), required: false, type: .string), - AWSShapeMember(label: "SemanticVersion", location: .body(locationName: "semanticVersion"), required: false, type: .string), - AWSShapeMember(label: "StackId", location: .body(locationName: "stackId"), required: false, type: .string), - AWSShapeMember(label: "ChangeSetId", location: .body(locationName: "changeSetId"), required: false, type: .string) + AWSShapeMember(label: "ApplicationId", location: .body(locationName: "applicationId"), required: true, type: .string), + AWSShapeMember(label: "SemanticVersion", location: .body(locationName: "semanticVersion"), required: true, type: .string), + AWSShapeMember(label: "StackId", location: .body(locationName: "stackId"), required: true, type: .string), + AWSShapeMember(label: "ChangeSetId", location: .body(locationName: "changeSetId"), required: true, type: .string) ] /// The application Amazon Resource Name (ARN). - public let applicationId: String? - /// The semantic version of the application:\n\n https://semver.org/ - public let semanticVersion: String? + public let applicationId: String + /// The semantic version of the application: + /// https://semver.org/ + /// + public let semanticVersion: String /// The unique ID of the stack. - public let stackId: String? - /// The ARN of the change set.\nLength Constraints: Minimum length of 1.\nPattern: arn:[-a-zA-Z0-9:/]* - public let changeSetId: String? + public let stackId: String + /// The Amazon Resource Name (ARN) of the change set.Length constraints: Minimum length of 1.Pattern: ARN:[-a-zA-Z0-9:/]* + public let changeSetId: String - public init(applicationId: String? = nil, semanticVersion: String? = nil, stackId: String? = nil, changeSetId: String? = nil) { + public init(applicationId: String, semanticVersion: String, stackId: String, changeSetId: String) { self.applicationId = applicationId self.semanticVersion = semanticVersion self.stackId = stackId @@ -117,6 +123,7 @@ extension Serverlessrepo { AWSShapeMember(label: "CreationTime", location: .body(locationName: "creationTime"), required: false, type: .string), AWSShapeMember(label: "LicenseUrl", location: .body(locationName: "licenseUrl"), required: false, type: .string), AWSShapeMember(label: "ApplicationId", location: .body(locationName: "applicationId"), required: false, type: .string), + AWSShapeMember(label: "HomePageUrl", location: .body(locationName: "homePageUrl"), required: false, type: .string), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] public let labels: [String]? @@ -128,9 +135,10 @@ extension Serverlessrepo { public let creationTime: String? public let licenseUrl: String? public let applicationId: String? + public let homePageUrl: String? public let description: String? - public init(labels: [String]? = nil, author: String? = nil, name: String? = nil, readmeUrl: String? = nil, version: Version? = nil, spdxLicenseId: String? = nil, creationTime: String? = nil, licenseUrl: String? = nil, applicationId: String? = nil, description: String? = nil) { + public init(labels: [String]? = nil, author: String? = nil, name: String? = nil, readmeUrl: String? = nil, version: Version? = nil, spdxLicenseId: String? = nil, creationTime: String? = nil, licenseUrl: String? = nil, applicationId: String? = nil, homePageUrl: String? = nil, description: String? = nil) { self.labels = labels self.author = author self.name = name @@ -140,6 +148,7 @@ extension Serverlessrepo { self.creationTime = creationTime self.licenseUrl = licenseUrl self.applicationId = applicationId + self.homePageUrl = homePageUrl self.description = description } @@ -153,6 +162,7 @@ extension Serverlessrepo { case creationTime = "creationTime" case licenseUrl = "licenseUrl" case applicationId = "applicationId" + case homePageUrl = "homePageUrl" case description = "description" } } @@ -182,40 +192,57 @@ extension Serverlessrepo { AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), AWSShapeMember(label: "MaxValue", location: .body(locationName: "maxValue"), required: false, type: .integer), AWSShapeMember(label: "NoEcho", location: .body(locationName: "noEcho"), required: false, type: .boolean), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), AWSShapeMember(label: "MaxLength", location: .body(locationName: "maxLength"), required: false, type: .integer), - AWSShapeMember(label: "ReferencedByResources", location: .body(locationName: "referencedByResources"), required: false, type: .list), + AWSShapeMember(label: "ReferencedByResources", location: .body(locationName: "referencedByResources"), required: true, type: .list), AWSShapeMember(label: "Type", location: .body(locationName: "type"), required: false, type: .string), AWSShapeMember(label: "ConstraintDescription", location: .body(locationName: "constraintDescription"), required: false, type: .string) ] - /// Array containing the list of values allowed for the parameter. + /// An array containing the list of values allowed for the parameter. public let allowedValues: [String]? - /// A numeric value that determines the smallest numeric value you want to allow for Number types. + /// A numeric value that determines the smallest numeric value that you want to allow for Number types. public let minValue: Int32? - /// An integer value that determines the smallest number of characters you want to allow for String types. + /// An integer value that determines the smallest number of characters that you want to allow for String types. public let minLength: Int32? /// A regular expression that represents the patterns to allow for String types. public let allowedPattern: String? - /// 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. + /// A value of the appropriate type for the template to use if no value is specified when a stack is created. + /// If you define constraints for the parameter, you must specify a value that adheres to those constraints. public let defaultValue: String? /// A string of up to 4,000 characters that describes the parameter. public let description: String? - /// A numeric value that determines the largest numeric value you want to allow for Number types. + /// A numeric value that determines the largest numeric value that you want to allow for Number types. public let maxValue: Int32? - /// 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 (*****). + /// Whether to mask the parameter value whenever anyone makes a call that describes the stack. If you set the + /// value to true, the parameter value is masked with asterisks (*****). public let noEcho: Bool? /// The name of the parameter. - public let name: String? - /// An integer value that determines the largest number of characters you want to allow for String types. + public let name: String + /// An integer value that determines the largest number of characters that you want to allow for String types. public let maxLength: Int32? - /// A list of SAM resources that use this parameter. - public let referencedByResources: [String]? - /// The type of the parameter.\nValid values: String | Number | List | CommaDelimitedList \n \n\n String : A literal string.\nFor example, users could specify "MyUserName" .\n\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.\nFor example, users could specify "8888" .\n\n List : 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.\nFor example, users could specify "80,20", and a Ref results in ["80","20"] .\n\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.\nFor example, users could specify "test,dev,prod", and a Ref results in ["test","dev","prod"] . + /// A list of AWS SAM resources that use this parameter. + public let referencedByResources: [String] + /// The type of the parameter.Valid values: String | Number | List<Number> | CommaDelimitedList + /// + /// String: A literal string.For example, users can specify "MyUserName". + /// Number: An integer or float. AWS CloudFormation validates the parameter value as a number. However, when you use the + /// 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". + /// List<Number>: An array of integers or floats that are separated by commas. AWS CloudFormation validates the parameter value as numbers. However, when + /// 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"]. + /// 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. + /// Also, each member string is space-trimmed.For example, users might specify "test,dev,prod", and then Ref results in ["test","dev","prod"]. public let `type`: String? - /// 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\n Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+ \n \nBy 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\n Malformed input-Parameter MyParameter must contain only uppercase and lowercase letters and numbers. + /// A string that explains a constraint when the constraint is violated. For example, without a constraint description, + /// a parameter that has an allowed pattern of [A-Za-z0-9]+ displays the following error message when the user + /// specifies an invalid value: + /// Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+ + /// By adding a constraint description, such as "must contain only uppercase and lowercase letters and numbers," you can display + /// the following customized error message: + /// Malformed input-Parameter MyParameter must contain only uppercase and lowercase letters and numbers. + /// public let constraintDescription: String? - public init(allowedValues: [String]? = nil, minValue: Int32? = nil, minLength: Int32? = nil, allowedPattern: String? = nil, defaultValue: String? = nil, description: String? = nil, maxValue: Int32? = nil, noEcho: Bool? = nil, name: String? = nil, maxLength: Int32? = nil, referencedByResources: [String]? = nil, type: String? = nil, constraintDescription: String? = nil) { + public init(allowedValues: [String]? = nil, minValue: Int32? = nil, minLength: Int32? = nil, allowedPattern: String? = nil, defaultValue: String? = nil, description: String? = nil, maxValue: Int32? = nil, noEcho: Bool? = nil, name: String, maxLength: Int32? = nil, referencedByResources: [String], type: String? = nil, constraintDescription: String? = nil) { self.allowedValues = allowedValues self.minValue = minValue self.minLength = minLength @@ -251,26 +278,28 @@ extension Serverlessrepo { public struct Version: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SourceCodeUrl", location: .body(locationName: "sourceCodeUrl"), required: false, type: .string), - AWSShapeMember(label: "CreationTime", location: .body(locationName: "creationTime"), required: false, type: .string), - AWSShapeMember(label: "ParameterDefinitions", location: .body(locationName: "parameterDefinitions"), required: false, type: .list), - AWSShapeMember(label: "ApplicationId", location: .body(locationName: "applicationId"), required: false, type: .string), - AWSShapeMember(label: "SemanticVersion", location: .body(locationName: "semanticVersion"), required: false, type: .string), - AWSShapeMember(label: "TemplateUrl", location: .body(locationName: "templateUrl"), required: false, type: .string) + AWSShapeMember(label: "CreationTime", location: .body(locationName: "creationTime"), required: true, type: .string), + AWSShapeMember(label: "ParameterDefinitions", location: .body(locationName: "parameterDefinitions"), required: true, type: .list), + AWSShapeMember(label: "ApplicationId", location: .body(locationName: "applicationId"), required: true, type: .string), + AWSShapeMember(label: "SemanticVersion", location: .body(locationName: "semanticVersion"), required: true, type: .string), + AWSShapeMember(label: "TemplateUrl", location: .body(locationName: "templateUrl"), required: true, type: .string) ] /// A link to a public repository for the source code of your application. public let sourceCodeUrl: String? - /// The date/time this resource was created. - public let creationTime: String? - /// Array of parameter types supported by the application. - public let parameterDefinitions: [ParameterDefinition]? + /// The date and time this resource was created. + public let creationTime: String + /// An array of parameter types supported by the application. + public let parameterDefinitions: [ParameterDefinition] /// The application Amazon Resource Name (ARN). - public let applicationId: String? - /// The semantic version of the application:\n\n https://semver.org/ - public let semanticVersion: String? - /// A link to the packaged SAM template of your application. - public let templateUrl: String? + public let applicationId: String + /// The semantic version of the application: + /// https://semver.org/ + /// + public let semanticVersion: String + /// A link to the packaged AWS SAM template of your application. + public let templateUrl: String - public init(sourceCodeUrl: String? = nil, creationTime: String? = nil, parameterDefinitions: [ParameterDefinition]? = nil, applicationId: String? = nil, semanticVersion: String? = nil, templateUrl: String? = nil) { + public init(sourceCodeUrl: String? = nil, creationTime: String, parameterDefinitions: [ParameterDefinition], applicationId: String, semanticVersion: String, templateUrl: String) { self.sourceCodeUrl = sourceCodeUrl self.creationTime = creationTime self.parameterDefinitions = parameterDefinitions @@ -292,20 +321,22 @@ extension Serverlessrepo { public struct VersionSummary: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SourceCodeUrl", location: .body(locationName: "sourceCodeUrl"), required: false, type: .string), - AWSShapeMember(label: "CreationTime", location: .body(locationName: "creationTime"), required: false, type: .string), - AWSShapeMember(label: "ApplicationId", location: .body(locationName: "applicationId"), required: false, type: .string), - AWSShapeMember(label: "SemanticVersion", location: .body(locationName: "semanticVersion"), required: false, type: .string) + AWSShapeMember(label: "CreationTime", location: .body(locationName: "creationTime"), required: true, type: .string), + AWSShapeMember(label: "ApplicationId", location: .body(locationName: "applicationId"), required: true, type: .string), + AWSShapeMember(label: "SemanticVersion", location: .body(locationName: "semanticVersion"), required: true, type: .string) ] /// A link to a public repository for the source code of your application. public let sourceCodeUrl: String? - /// The date/time this resource was created. - public let creationTime: String? + /// The date and time this resource was created. + public let creationTime: String /// The application Amazon Resource Name (ARN). - public let applicationId: String? - /// The semantic version of the application:\n\n https://semver.org/ - public let semanticVersion: String? + public let applicationId: String + /// The semantic version of the application: + /// https://semver.org/ + /// + public let semanticVersion: String - public init(sourceCodeUrl: String? = nil, creationTime: String? = nil, applicationId: String? = nil, semanticVersion: String? = nil) { + public init(sourceCodeUrl: String? = nil, creationTime: String, applicationId: String, semanticVersion: String) { self.sourceCodeUrl = sourceCodeUrl self.creationTime = creationTime self.applicationId = applicationId @@ -381,17 +412,17 @@ extension Serverlessrepo { public struct ApplicationPolicyStatement: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StatementId", location: .body(locationName: "statementId"), required: false, type: .string), - AWSShapeMember(label: "Principals", location: .body(locationName: "principals"), required: false, type: .list), - AWSShapeMember(label: "Actions", location: .body(locationName: "actions"), required: false, type: .list) + AWSShapeMember(label: "Principals", location: .body(locationName: "principals"), required: true, type: .list), + AWSShapeMember(label: "Actions", location: .body(locationName: "actions"), required: true, type: .list) ] /// A unique ID for the statement. public let statementId: String? /// An AWS account ID, or * to make the application public. - public let principals: [String]? - /// A list of supported actions:\n\n GetApplication \n \n\n CreateCloudFormationChangeSet \n \n\n ListApplicationVersions \n \n\n SearchApplications \n \n\n Deploy (Note: This action enables all other actions above.) - public let actions: [String]? + public let principals: [String] + /// See Application Permissions for the list of supported actions. + public let actions: [String] - public init(statementId: String? = nil, principals: [String]? = nil, actions: [String]? = nil) { + public init(statementId: String? = nil, principals: [String], actions: [String]) { self.statementId = statementId self.principals = principals self.actions = actions @@ -409,14 +440,14 @@ extension Serverlessrepo { AWSShapeMember(label: "ParameterOverrides", location: .body(locationName: "parameterOverrides"), required: false, type: .list), AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "applicationId"), required: true, type: .string), AWSShapeMember(label: "SemanticVersion", location: .body(locationName: "semanticVersion"), required: false, type: .string), - AWSShapeMember(label: "StackName", location: .body(locationName: "stackName"), required: false, type: .string) + AWSShapeMember(label: "StackName", location: .body(locationName: "stackName"), required: true, type: .string) ] public let parameterOverrides: [ParameterValue]? public let applicationId: String public let semanticVersion: String? - public let stackName: String? + public let stackName: String - public init(parameterOverrides: [ParameterValue]? = nil, applicationId: String, semanticVersion: String? = nil, stackName: String? = nil) { + public init(parameterOverrides: [ParameterValue]? = nil, applicationId: String, semanticVersion: String? = nil, stackName: String) { self.parameterOverrides = parameterOverrides self.applicationId = applicationId self.semanticVersion = semanticVersion @@ -434,14 +465,14 @@ extension Serverlessrepo { public struct ApplicationVersionPage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "Versions", location: .body(locationName: "versions"), required: false, type: .list) + AWSShapeMember(label: "Versions", location: .body(locationName: "versions"), required: true, type: .list) ] /// The token to request the next page of results. public let nextToken: String? - /// Array of version summaries for the application. - public let versions: [VersionSummary]? + /// An array of version summaries for the application. + public let versions: [VersionSummary] - public init(nextToken: String? = nil, versions: [VersionSummary]? = nil) { + public init(nextToken: String? = nil, versions: [VersionSummary]) { self.nextToken = nextToken self.versions = versions } @@ -455,38 +486,42 @@ extension Serverlessrepo { public struct Application: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Labels", location: .body(locationName: "labels"), required: false, type: .list), - AWSShapeMember(label: "Author", location: .body(locationName: "author"), required: false, type: .string), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "Author", location: .body(locationName: "author"), required: true, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), AWSShapeMember(label: "ReadmeUrl", location: .body(locationName: "readmeUrl"), required: false, type: .string), AWSShapeMember(label: "Version", location: .body(locationName: "version"), required: false, type: .structure), AWSShapeMember(label: "SpdxLicenseId", location: .body(locationName: "spdxLicenseId"), required: false, type: .string), AWSShapeMember(label: "CreationTime", location: .body(locationName: "creationTime"), required: false, type: .string), AWSShapeMember(label: "LicenseUrl", location: .body(locationName: "licenseUrl"), required: false, type: .string), - AWSShapeMember(label: "ApplicationId", location: .body(locationName: "applicationId"), required: false, type: .string), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + AWSShapeMember(label: "ApplicationId", location: .body(locationName: "applicationId"), required: true, type: .string), + AWSShapeMember(label: "HomePageUrl", location: .body(locationName: "homePageUrl"), required: false, type: .string), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: true, type: .string) ] - /// Labels to improve discovery of apps in search results.\nMin Length=1. Max Length=127. Maximum number of labels: 10\nPattern: "^[a-zA-Z0-9+\\-_:\\/@]+$"; + /// Labels to improve discovery of apps in search results.Minimum length=1. Maximum length=127. Maximum number of labels: 10Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$"; public let labels: [String]? - /// The name of the author publishing the app.\nMin Length=1. Max Length=127.\nPattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$"; - public let author: String? - /// The name of the application.\nMin Length=1. Max Length=140\nPattern: "[a-zA-Z0-9\\-]+"; - public let name: String? - /// A link to the Readme file that contains a more detailed description of the application and how it works in markdown language.\nMax size 5 MB + /// The name of the author publishing the app.Minimum length=1. Maximum length=127.Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$"; + public let author: String + /// The name of the application.Minimum length=1. Maximum length=140Pattern: "[a-zA-Z0-9\\-]+"; + public let name: String + /// 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 public let readmeUrl: String? /// Version information about the application. public let version: Version? /// A valid identifier from https://spdx.org/licenses/. public let spdxLicenseId: String? - /// The date/time this resource was created. + /// The date and time this resource was created. public let creationTime: String? - /// A link to a license file of the app that matches the spdxLicenseID of your application.\nMax size 5 MB + /// A link to a license file of the app that matches the spdxLicenseID value of your application.Maximum size 5 MB public let licenseUrl: String? /// The application Amazon Resource Name (ARN). - public let applicationId: String? - /// The description of the application.\nMin Length=1. Max Length=256 - public let description: String? + public let applicationId: String + /// A URL with more information about the application, for example + /// the location of your GitHub repository for the application. + public let homePageUrl: String? + /// The description of the application.Minimum length=1. Maximum length=256 + public let description: String - public init(labels: [String]? = nil, author: String? = nil, name: String? = nil, readmeUrl: String? = nil, version: Version? = nil, spdxLicenseId: String? = nil, creationTime: String? = nil, licenseUrl: String? = nil, applicationId: String? = nil, description: String? = nil) { + public init(labels: [String]? = nil, author: String, name: String, readmeUrl: String? = nil, version: Version? = nil, spdxLicenseId: String? = nil, creationTime: String? = nil, licenseUrl: String? = nil, applicationId: String, homePageUrl: String? = nil, description: String) { self.labels = labels self.author = author self.name = name @@ -496,6 +531,7 @@ extension Serverlessrepo { self.creationTime = creationTime self.licenseUrl = licenseUrl self.applicationId = applicationId + self.homePageUrl = homePageUrl self.description = description } @@ -509,6 +545,7 @@ extension Serverlessrepo { case creationTime = "creationTime" case licenseUrl = "licenseUrl" case applicationId = "applicationId" + case homePageUrl = "homePageUrl" case description = "description" } } @@ -574,6 +611,7 @@ extension Serverlessrepo { AWSShapeMember(label: "CreationTime", location: .body(locationName: "creationTime"), required: false, type: .string), AWSShapeMember(label: "LicenseUrl", location: .body(locationName: "licenseUrl"), required: false, type: .string), AWSShapeMember(label: "ApplicationId", location: .body(locationName: "applicationId"), required: false, type: .string), + AWSShapeMember(label: "HomePageUrl", location: .body(locationName: "homePageUrl"), required: false, type: .string), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] public let labels: [String]? @@ -585,9 +623,10 @@ extension Serverlessrepo { public let creationTime: String? public let licenseUrl: String? public let applicationId: String? + public let homePageUrl: String? public let description: String? - public init(labels: [String]? = nil, author: String? = nil, name: String? = nil, readmeUrl: String? = nil, version: Version? = nil, spdxLicenseId: String? = nil, creationTime: String? = nil, licenseUrl: String? = nil, applicationId: String? = nil, description: String? = nil) { + public init(labels: [String]? = nil, author: String? = nil, name: String? = nil, readmeUrl: String? = nil, version: Version? = nil, spdxLicenseId: String? = nil, creationTime: String? = nil, licenseUrl: String? = nil, applicationId: String? = nil, homePageUrl: String? = nil, description: String? = nil) { self.labels = labels self.author = author self.name = name @@ -597,6 +636,7 @@ extension Serverlessrepo { self.creationTime = creationTime self.licenseUrl = licenseUrl self.applicationId = applicationId + self.homePageUrl = homePageUrl self.description = description } @@ -610,43 +650,50 @@ extension Serverlessrepo { case creationTime = "creationTime" case licenseUrl = "licenseUrl" case applicationId = "applicationId" + case homePageUrl = "homePageUrl" case description = "description" } } public struct UpdateApplicationInput: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), AWSShapeMember(label: "Labels", location: .body(locationName: "labels"), required: false, type: .list), AWSShapeMember(label: "Author", location: .body(locationName: "author"), required: false, type: .string), AWSShapeMember(label: "ReadmeBody", location: .body(locationName: "readmeBody"), required: false, type: .string), AWSShapeMember(label: "ReadmeUrl", location: .body(locationName: "readmeUrl"), required: false, type: .string), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + AWSShapeMember(label: "HomePageUrl", location: .body(locationName: "homePageUrl"), required: false, type: .string) ] - /// Labels to improve discovery of apps in search results.\nMin Length=1. Max Length=127. Maximum number of labels: 10\nPattern: "^[a-zA-Z0-9+\\-_:\\/@]+$"; + /// The description of the application.Minimum length=1. Maximum length=256 + public let description: String? + /// Labels to improve discovery of apps in search results.Minimum length=1. Maximum length=127. Maximum number of labels: 10Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$"; public let labels: [String]? - /// The name of the author publishing the app.\nMin Length=1. Max Length=127.\nPattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$"; + /// The name of the author publishing the app.Minimum length=1. Maximum length=127.Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$"; public let author: String? - /// A raw text Readme file that contains a more detailed description of the application and how it works in markdown language.\nMax size 5 MB + /// A text readme file in Markdown language that contains a more detailed description of the application and how it works.Maximum size 5 MB public let readmeBody: String? - /// A link to the Readme file that contains a more detailed description of the application and how it works in markdown language.\nMax size 5 MB + /// 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 public let readmeUrl: String? - /// The description of the application.\nMin Length=1. Max Length=256 - public let description: String? + /// A URL with more information about the application, for example + /// the location of your GitHub repository for the application. + public let homePageUrl: String? - public init(labels: [String]? = nil, author: String? = nil, readmeBody: String? = nil, readmeUrl: String? = nil, description: String? = nil) { + public init(description: String? = nil, labels: [String]? = nil, author: String? = nil, readmeBody: String? = nil, readmeUrl: String? = nil, homePageUrl: String? = nil) { + self.description = description self.labels = labels self.author = author self.readmeBody = readmeBody self.readmeUrl = readmeUrl - self.description = description + self.homePageUrl = homePageUrl } private enum CodingKeys: String, CodingKey { + case description = "description" case labels = "labels" case author = "author" case readmeBody = "readmeBody" case readmeUrl = "readmeUrl" - case description = "description" + case homePageUrl = "homePageUrl" } } @@ -671,13 +718,13 @@ extension Serverlessrepo { public struct PutApplicationPolicyRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Statements", location: .body(locationName: "statements"), required: false, type: .list), + AWSShapeMember(label: "Statements", location: .body(locationName: "statements"), required: true, type: .list), AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "applicationId"), required: true, type: .string) ] - public let statements: [ApplicationPolicyStatement]? + public let statements: [ApplicationPolicyStatement] public let applicationId: String - public init(statements: [ApplicationPolicyStatement]? = nil, applicationId: String) { + public init(statements: [ApplicationPolicyStatement], applicationId: String) { self.statements = statements self.applicationId = applicationId } @@ -691,17 +738,21 @@ extension Serverlessrepo { public struct CreateCloudFormationChangeSetInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SemanticVersion", location: .body(locationName: "semanticVersion"), required: false, type: .string), - AWSShapeMember(label: "StackName", location: .body(locationName: "stackName"), required: false, type: .string), + AWSShapeMember(label: "StackName", location: .body(locationName: "stackName"), required: true, type: .string), AWSShapeMember(label: "ParameterOverrides", location: .body(locationName: "parameterOverrides"), required: false, type: .list) ] - /// The semantic version of the application:\n\n https://semver.org/ + /// The semantic version of the application: + /// https://semver.org/ + /// public let semanticVersion: String? - /// 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. \nConstraints: Minimum length of 1.\nPattern: ([a-zA-Z][-a-zA-Z0-9]*)|(arn:\b(aws|aws-us-gov|aws-cn)\b:[-a-zA-Z0-9:/._+]*) - public let stackName: String? + /// 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. 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:/._+]*) + public let stackName: String /// A list of parameter values for the parameters of the application. public let parameterOverrides: [ParameterValue]? - public init(semanticVersion: String? = nil, stackName: String? = nil, parameterOverrides: [ParameterValue]? = nil) { + public init(semanticVersion: String? = nil, stackName: String, parameterOverrides: [ParameterValue]? = nil) { self.semanticVersion = semanticVersion self.stackName = stackName self.parameterOverrides = parameterOverrides @@ -739,12 +790,12 @@ extension Serverlessrepo { public struct ApplicationPolicy: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Statements", location: .body(locationName: "statements"), required: false, type: .list) + AWSShapeMember(label: "Statements", location: .body(locationName: "statements"), required: true, type: .list) ] - /// Array of policy statements applied to the application. - public let statements: [ApplicationPolicyStatement]? + /// An array of policy statements applied to the application. + public let statements: [ApplicationPolicyStatement] - public init(statements: [ApplicationPolicyStatement]? = nil) { + public init(statements: [ApplicationPolicyStatement]) { self.statements = statements } @@ -757,13 +808,14 @@ extension Serverlessrepo { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SourceCodeUrl", location: .body(locationName: "sourceCodeUrl"), required: false, type: .string), AWSShapeMember(label: "Labels", location: .body(locationName: "labels"), required: false, type: .list), - AWSShapeMember(label: "Author", location: .body(locationName: "author"), required: false, type: .string), + AWSShapeMember(label: "Author", location: .body(locationName: "author"), required: true, type: .string), AWSShapeMember(label: "ReadmeBody", location: .body(locationName: "readmeBody"), required: false, type: .string), AWSShapeMember(label: "LicenseUrl", location: .body(locationName: "licenseUrl"), required: false, type: .string), AWSShapeMember(label: "SemanticVersion", location: .body(locationName: "semanticVersion"), required: false, type: .string), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "HomePageUrl", location: .body(locationName: "homePageUrl"), required: false, type: .string), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: true, type: .string), AWSShapeMember(label: "LicenseBody", location: .body(locationName: "licenseBody"), required: false, type: .string), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), AWSShapeMember(label: "ReadmeUrl", location: .body(locationName: "readmeUrl"), required: false, type: .string), AWSShapeMember(label: "SpdxLicenseId", location: .body(locationName: "spdxLicenseId"), required: false, type: .string), AWSShapeMember(label: "TemplateBody", location: .body(locationName: "templateBody"), required: false, type: .string), @@ -771,38 +823,47 @@ extension Serverlessrepo { ] /// A link to a public repository for the source code of your application. public let sourceCodeUrl: String? - /// Labels to improve discovery of apps in search results.\nMin Length=1. Max Length=127. Maximum number of labels: 10\nPattern: "^[a-zA-Z0-9+\\-_:\\/@]+$"; + /// Labels to improve discovery of apps in search results.Minimum length=1. Maximum length=127. Maximum number of labels: 10Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$"; public let labels: [String]? - /// The name of the author publishing the app.\nMin Length=1. Max Length=127.\nPattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$"; - public let author: String? - /// A raw text Readme file that contains a more detailed description of the application and how it works in markdown language.\nMax size 5 MB + /// The name of the author publishing the app.Minimum length=1. Maximum length=127.Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$"; + public let author: String + /// A local text readme file in Markdown language that contains a more detailed description of the application and how it works. + /// The file is of the format file://<path>/<filename>.Maximum size 5 MBNote: Only one of readmeBody and readmeUrl can be specified, otherwise an error will result. public let readmeBody: String? - /// A link to a license file of the app that matches the spdxLicenseID of your application.\nMax size 5 MB + /// A link to the S3 object that contains the license of the app that matches the spdxLicenseID value of your application.Maximum size 5 MBNote: Only one of licenseBody and licenseUrl can be specified, otherwise an error will result. public let licenseUrl: String? - /// The semantic version of the application:\n\n https://semver.org/ + /// The semantic version of the application: + /// https://semver.org/ + /// public let semanticVersion: String? - /// The description of the application.\nMin Length=1. Max Length=256 - public let description: String? - /// A raw text file that contains the license of the app that matches the spdxLicenseID of your application.\nMax size 5 MB + /// A URL with more information about the application, for example + /// the location of your GitHub repository for the application. + public let homePageUrl: String? + /// The description of the application.Minimum length=1. Maximum length=256 + public let description: String + /// A local text file that contains the license of the app that matches the spdxLicenseID value of your application. + /// The file is of the format file://<path>/<filename>.Maximum size 5 MBNote: Only one of licenseBody and licenseUrl can be specified, otherwise an error will result. public let licenseBody: String? - /// The name of the application you want to publish.\nMin Length=1. Max Length=140\nPattern: "[a-zA-Z0-9\\-]+"; - public let name: String? - /// A link to the Readme file that contains a more detailed description of the application and how it works in markdown language.\nMax size 5 MB + /// The name of the application that you want to publish.Minimum length=1. Maximum length=140Pattern: "[a-zA-Z0-9\\-]+"; + public let name: String + /// 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 MBNote: Only one of readmeBody and readmeUrl can be specified, otherwise an error will result. public let readmeUrl: String? - /// A valid identifier from https://spdx.org/licenses/ . + /// A valid identifier from https://spdx.org/licenses/. public let spdxLicenseId: String? - /// The raw packaged SAM template of your application. + /// The local raw packaged AWS SAM template file of your application. + /// The file is of the format file://<path>/<filename>.Note: Only one of templateBody and templateUrl can be specified, otherwise an error will result. public let templateBody: String? - /// A link to the packaged SAM template of your application. + /// 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. public let templateUrl: String? - public init(sourceCodeUrl: String? = nil, labels: [String]? = nil, author: String? = nil, readmeBody: String? = nil, licenseUrl: String? = nil, semanticVersion: String? = nil, description: String? = nil, licenseBody: String? = nil, name: String? = nil, readmeUrl: String? = nil, spdxLicenseId: String? = nil, templateBody: String? = nil, templateUrl: String? = nil) { + public init(sourceCodeUrl: String? = nil, labels: [String]? = nil, author: String, readmeBody: String? = nil, licenseUrl: String? = nil, semanticVersion: String? = nil, homePageUrl: String? = nil, description: String, licenseBody: String? = nil, name: String, readmeUrl: String? = nil, spdxLicenseId: String? = nil, templateBody: String? = nil, templateUrl: String? = nil) { self.sourceCodeUrl = sourceCodeUrl self.labels = labels self.author = author self.readmeBody = readmeBody self.licenseUrl = licenseUrl self.semanticVersion = semanticVersion + self.homePageUrl = homePageUrl self.description = description self.licenseBody = licenseBody self.name = name @@ -819,6 +880,7 @@ extension Serverlessrepo { case readmeBody = "readmeBody" case licenseUrl = "licenseUrl" case semanticVersion = "semanticVersion" + case homePageUrl = "homePageUrl" case description = "description" case licenseBody = "licenseBody" case name = "name" @@ -852,13 +914,14 @@ extension Serverlessrepo { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SourceCodeUrl", location: .body(locationName: "sourceCodeUrl"), required: false, type: .string), AWSShapeMember(label: "Labels", location: .body(locationName: "labels"), required: false, type: .list), - AWSShapeMember(label: "Author", location: .body(locationName: "author"), required: false, type: .string), + AWSShapeMember(label: "Author", location: .body(locationName: "author"), required: true, type: .string), AWSShapeMember(label: "ReadmeBody", location: .body(locationName: "readmeBody"), required: false, type: .string), AWSShapeMember(label: "LicenseUrl", location: .body(locationName: "licenseUrl"), required: false, type: .string), AWSShapeMember(label: "SemanticVersion", location: .body(locationName: "semanticVersion"), required: false, type: .string), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string), + AWSShapeMember(label: "HomePageUrl", location: .body(locationName: "homePageUrl"), required: false, type: .string), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: true, type: .string), AWSShapeMember(label: "LicenseBody", location: .body(locationName: "licenseBody"), required: false, type: .string), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), AWSShapeMember(label: "ReadmeUrl", location: .body(locationName: "readmeUrl"), required: false, type: .string), AWSShapeMember(label: "SpdxLicenseId", location: .body(locationName: "spdxLicenseId"), required: false, type: .string), AWSShapeMember(label: "TemplateBody", location: .body(locationName: "templateBody"), required: false, type: .string), @@ -866,25 +929,27 @@ extension Serverlessrepo { ] public let sourceCodeUrl: String? public let labels: [String]? - public let author: String? + public let author: String public let readmeBody: String? public let licenseUrl: String? public let semanticVersion: String? - public let description: String? + public let homePageUrl: String? + public let description: String public let licenseBody: String? - public let name: String? + public let name: String public let readmeUrl: String? public let spdxLicenseId: String? public let templateBody: String? public let templateUrl: String? - public init(sourceCodeUrl: String? = nil, labels: [String]? = nil, author: String? = nil, readmeBody: String? = nil, licenseUrl: String? = nil, semanticVersion: String? = nil, description: String? = nil, licenseBody: String? = nil, name: String? = nil, readmeUrl: String? = nil, spdxLicenseId: String? = nil, templateBody: String? = nil, templateUrl: String? = nil) { + public init(sourceCodeUrl: String? = nil, labels: [String]? = nil, author: String, readmeBody: String? = nil, licenseUrl: String? = nil, semanticVersion: String? = nil, homePageUrl: String? = nil, description: String, licenseBody: String? = nil, name: String, readmeUrl: String? = nil, spdxLicenseId: String? = nil, templateBody: String? = nil, templateUrl: String? = nil) { self.sourceCodeUrl = sourceCodeUrl self.labels = labels self.author = author self.readmeBody = readmeBody self.licenseUrl = licenseUrl self.semanticVersion = semanticVersion + self.homePageUrl = homePageUrl self.description = description self.licenseBody = licenseBody self.name = name @@ -901,6 +966,7 @@ extension Serverlessrepo { case readmeBody = "readmeBody" case licenseUrl = "licenseUrl" case semanticVersion = "semanticVersion" + case homePageUrl = "homePageUrl" case description = "description" case licenseBody = "licenseBody" case name = "name" @@ -911,17 +977,32 @@ extension Serverlessrepo { } } + public struct DeleteApplicationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "applicationId"), required: true, type: .string) + ] + public let applicationId: String + + public init(applicationId: String) { + self.applicationId = applicationId + } + + private enum CodingKeys: String, CodingKey { + case applicationId = "applicationId" + } + } + public struct ApplicationPage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", location: .body(locationName: "nextToken"), required: false, type: .string), - AWSShapeMember(label: "Applications", location: .body(locationName: "applications"), required: false, type: .list) + AWSShapeMember(label: "Applications", location: .body(locationName: "applications"), required: true, type: .list) ] /// The token to request the next page of results. public let nextToken: String? - /// Array of application summaries. - public let applications: [ApplicationSummary]? + /// An array of application summaries. + public let applications: [ApplicationSummary] - public init(nextToken: String? = nil, applications: [ApplicationSummary]? = nil) { + public init(nextToken: String? = nil, applications: [ApplicationSummary]) { self.nextToken = nextToken self.applications = applications } @@ -955,9 +1036,9 @@ extension Serverlessrepo { ] /// A link to a public repository for the source code of your application. public let sourceCodeUrl: String? - /// A link to the packaged SAM template of your application. + /// A link to the packaged AWS SAM template of your application. public let templateUrl: String? - /// The raw packaged SAM template of your application. + /// The raw packaged AWS SAM template of your application. public let templateBody: String? public init(sourceCodeUrl: String? = nil, templateUrl: String? = nil, templateBody: String? = nil) { @@ -976,35 +1057,40 @@ extension Serverlessrepo { public struct ApplicationSummary: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Labels", location: .body(locationName: "labels"), required: false, type: .list), - AWSShapeMember(label: "Author", location: .body(locationName: "author"), required: false, type: .string), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string), + AWSShapeMember(label: "Author", location: .body(locationName: "author"), required: true, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string), AWSShapeMember(label: "SpdxLicenseId", location: .body(locationName: "spdxLicenseId"), required: false, type: .string), AWSShapeMember(label: "CreationTime", location: .body(locationName: "creationTime"), required: false, type: .string), - AWSShapeMember(label: "ApplicationId", location: .body(locationName: "applicationId"), required: false, type: .string), - AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) + AWSShapeMember(label: "ApplicationId", location: .body(locationName: "applicationId"), required: true, type: .string), + AWSShapeMember(label: "HomePageUrl", location: .body(locationName: "homePageUrl"), required: false, type: .string), + AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: true, type: .string) ] - /// Labels to improve discovery of apps in search results.\nMin Length=1. Max Length=127. Maximum number of labels: 10\nPattern: "^[a-zA-Z0-9+\\-_:\\/@]+$"; + /// Labels to improve discovery of apps in search results.Minimum length=1. Maximum length=127. Maximum number of labels: 10Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$"; public let labels: [String]? - /// The name of the author publishing the app\nMin Length=1. Max Length=127.\nPattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$"; - public let author: String? - /// The name of the application.\nMin Length=1. Max Length=140\nPattern: "[a-zA-Z0-9\\-]+"; - public let name: String? - /// A valid identifier from https://spdx.org/licenses/ . + /// The name of the author publishing the app.Minimum length=1. Maximum length=127.Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$"; + public let author: String + /// The name of the application.Minimum length=1. Maximum length=140Pattern: "[a-zA-Z0-9\\-]+"; + public let name: String + /// A valid identifier from https://spdx.org/licenses/. public let spdxLicenseId: String? - /// The date/time this resource was created. + /// The date and time this resource was created. public let creationTime: String? - /// The application ARN. - public let applicationId: String? - /// The description of the application.\nMin Length=1. Max Length=256 - public let description: String? + /// The application Amazon Resource Name (ARN). + public let applicationId: String + /// A URL with more information about the application, for example + /// the location of your GitHub repository for the application. + public let homePageUrl: String? + /// The description of the application.Minimum length=1. Maximum length=256 + public let description: String - public init(labels: [String]? = nil, author: String? = nil, name: String? = nil, spdxLicenseId: String? = nil, creationTime: String? = nil, applicationId: String? = nil, description: String? = nil) { + public init(labels: [String]? = nil, author: String, name: String, spdxLicenseId: String? = nil, creationTime: String? = nil, applicationId: String, homePageUrl: String? = nil, description: String) { self.labels = labels self.author = author self.name = name self.spdxLicenseId = spdxLicenseId self.creationTime = creationTime self.applicationId = applicationId + self.homePageUrl = homePageUrl self.description = description } @@ -1015,6 +1101,7 @@ extension Serverlessrepo { case spdxLicenseId = "spdxLicenseId" case creationTime = "creationTime" case applicationId = "applicationId" + case homePageUrl = "homePageUrl" case description = "description" } } @@ -1042,48 +1129,53 @@ extension Serverlessrepo { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Labels", location: .body(locationName: "labels"), required: false, type: .list), AWSShapeMember(label: "Author", location: .body(locationName: "author"), required: false, type: .string), - AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "applicationId"), required: true, type: .string), AWSShapeMember(label: "ReadmeBody", location: .body(locationName: "readmeBody"), required: false, type: .string), AWSShapeMember(label: "ReadmeUrl", location: .body(locationName: "readmeUrl"), required: false, type: .string), + AWSShapeMember(label: "ApplicationId", location: .uri(locationName: "applicationId"), required: true, type: .string), + AWSShapeMember(label: "HomePageUrl", location: .body(locationName: "homePageUrl"), required: false, type: .string), AWSShapeMember(label: "Description", location: .body(locationName: "description"), required: false, type: .string) ] public let labels: [String]? public let author: String? - public let applicationId: String public let readmeBody: String? public let readmeUrl: String? + public let applicationId: String + public let homePageUrl: String? public let description: String? - public init(labels: [String]? = nil, author: String? = nil, applicationId: String, readmeBody: String? = nil, readmeUrl: String? = nil, description: String? = nil) { + public init(labels: [String]? = nil, author: String? = nil, readmeBody: String? = nil, readmeUrl: String? = nil, applicationId: String, homePageUrl: String? = nil, description: String? = nil) { self.labels = labels self.author = author - self.applicationId = applicationId self.readmeBody = readmeBody self.readmeUrl = readmeUrl + self.applicationId = applicationId + self.homePageUrl = homePageUrl self.description = description } private enum CodingKeys: String, CodingKey { case labels = "labels" case author = "author" - case applicationId = "applicationId" case readmeBody = "readmeBody" case readmeUrl = "readmeUrl" + case applicationId = "applicationId" + case homePageUrl = "homePageUrl" case description = "description" } } public struct ParameterValue: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Value", location: .body(locationName: "value"), required: false, type: .string), - AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: false, type: .string) + AWSShapeMember(label: "Value", location: .body(locationName: "value"), required: true, type: .string), + AWSShapeMember(label: "Name", location: .body(locationName: "name"), required: true, type: .string) ] /// The input value associated with the parameter. - public let value: String? - /// 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. - public let name: String? + public let value: String + /// 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. + public let name: String - public init(value: String? = nil, name: String? = nil) { + public init(value: String, name: String) { self.value = value self.name = name } diff --git a/Sources/AWSSDKSwift/Services/servicecatalog/Servicecatalog_API.swift b/Sources/AWSSDKSwift/Services/servicecatalog/Servicecatalog_API.swift index 7a232d1b66a..3beaa24ef41 100644 --- a/Sources/AWSSDKSwift/Services/servicecatalog/Servicecatalog_API.swift +++ b/Sources/AWSSDKSwift/Services/servicecatalog/Servicecatalog_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -AWS Service Catalog Overview AWS Service Catalog allows organizations to create and manage catalogs of IT services that are approved for use on AWS. This documentation provides reference material for the AWS Service Catalog end user API. To get the most out of this documentation, be familiar with the terminology discussed in AWS Service Catalog Concepts. Additional Resources AWS Service Catalog Administrator Guide AWS Service Catalog User Guide +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. */ public struct Servicecatalog { @@ -25,12 +25,12 @@ public struct Servicecatalog { ) } - /// Creates a new portfolio share. + /// Shares the specified portfolio with the specified account. public func createPortfolioShare(_ input: CreatePortfolioShareInput) throws -> CreatePortfolioShareOutput { return try client.send(operation: "CreatePortfolioShare", path: "/", httpMethod: "POST", input: input) } - /// Updates an existing TagOption. + /// Updates the specified TagOption. public func updateTagOption(_ input: UpdateTagOptionInput) throws -> UpdateTagOptionOutput { return try client.send(operation: "UpdateTagOption", path: "/", httpMethod: "POST", input: input) } @@ -45,37 +45,37 @@ public struct Servicecatalog { return try client.send(operation: "ListPrincipalsForPortfolio", path: "/", httpMethod: "POST", input: input) } - /// Returns a paginated list of all the ProvisionedProduct objects that are currently available (not terminated). + /// Lists the provisioned products that are available (not terminated). To use additional filtering, see SearchProvisionedProducts. public func scanProvisionedProducts(_ input: ScanProvisionedProductsInput) throws -> ScanProvisionedProductsOutput { return try client.send(operation: "ScanProvisionedProducts", path: "/", httpMethod: "POST", input: input) } - /// Retrieves detailed information for a specified constraint. + /// Gets information about the specified constraint. public func describeConstraint(_ input: DescribeConstraintInput) throws -> DescribeConstraintOutput { return try client.send(operation: "DescribeConstraint", path: "/", httpMethod: "POST", input: input) } - /// Describes a TagOption. + /// Gets information about the specified TagOption. public func describeTagOption(_ input: DescribeTagOptionInput) throws -> DescribeTagOptionOutput { return try client.send(operation: "DescribeTagOption", path: "/", httpMethod: "POST", input: input) } - /// Retrieves detailed information and any tags associated with the specified portfolio. + /// Gets information about the specified portfolio. public func describePortfolio(_ input: DescribePortfolioInput) throws -> DescribePortfolioOutput { return try client.send(operation: "DescribePortfolio", path: "/", httpMethod: "POST", input: input) } - /// Updates an existing constraint. + /// Updates the specified constraint. public func updateConstraint(_ input: UpdateConstraintInput) throws -> UpdateConstraintOutput { return try client.send(operation: "UpdateConstraint", path: "/", httpMethod: "POST", input: input) } - /// Lists resources associated with a TagOption. + /// Lists the resources associated with the specified TagOption. public func listResourcesForTagOption(_ input: ListResourcesForTagOptionInput) throws -> ListResourcesForTagOptionOutput { return try client.send(operation: "ListResourcesForTagOption", path: "/", httpMethod: "POST", input: input) } - /// Creates a new product. + /// Creates a product. public func createProduct(_ input: CreateProductInput) throws -> CreateProductOutput { return try client.send(operation: "CreateProduct", path: "/", httpMethod: "POST", input: input) } @@ -85,17 +85,17 @@ public struct Servicecatalog { return try client.send(operation: "DisassociateProductFromPortfolio", path: "/", httpMethod: "POST", input: input) } - /// Provides information about parameters required to provision a specified product in a specified manner. Use this operation to obtain the list of ProvisioningArtifactParameters parameters available to call the ProvisionProduct operation for the specified product. 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 the ProvisionProduct operation, do not include conflicted TagOption keys as tags. Calls to ProvisionProduct with empty TagOption values cause the error "Parameter validation failed: Missing required parameter in Tags[N]:Value ". Calls to ProvisionProduct with conflicted TagOption keys automatically tag the provisioned product with the conflicted keys with the value "sc-tagoption-conflict-portfolioId-productId". + /// 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. public func describeProvisioningParameters(_ input: DescribeProvisioningParametersInput) throws -> DescribeProvisioningParametersOutput { return try client.send(operation: "DescribeProvisioningParameters", path: "/", httpMethod: "POST", input: input) } - /// Retrieves detailed constraint information for the specified portfolio and product. + /// Lists the constraints for the specified portfolio and product. public func listConstraintsForPortfolio(_ input: ListConstraintsForPortfolioInput) throws -> ListConstraintsForPortfolioOutput { return try client.send(operation: "ListConstraintsForPortfolio", path: "/", httpMethod: "POST", input: input) } - /// Creates a new constraint. For more information, see Using Constraints. + /// Creates a constraint. public func createConstraint(_ input: CreateConstraintInput) throws -> CreateConstraintOutput { return try client.send(operation: "CreateConstraint", path: "/", httpMethod: "POST", input: input) } @@ -105,27 +105,32 @@ public struct Servicecatalog { return try client.send(operation: "AssociatePrincipalWithPortfolio", path: "/", httpMethod: "POST", input: input) } - /// Lists all provisioning artifacts associated with the specified product. + /// Lists all provisioning artifacts (also known as versions) for the specified product. public func listProvisioningArtifacts(_ input: ListProvisioningArtifactsInput) throws -> ListProvisioningArtifactsOutput { return try client.send(operation: "ListProvisioningArtifacts", path: "/", httpMethod: "POST", input: input) } - /// Creates a new portfolio. + /// Creates a portfolio. public func createPortfolio(_ input: CreatePortfolioInput) throws -> CreatePortfolioOutput { return try client.send(operation: "CreatePortfolio", path: "/", httpMethod: "POST", input: input) } - /// Deletes the specified provisioning artifact. This operation does not work on a provisioning artifact associated with a product that has been shared with you, or on the last provisioning artifact associated with a product (a product must have at least one provisioning artifact). + /// 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. public func deleteProvisioningArtifact(_ input: DeleteProvisioningArtifactInput) throws -> DeleteProvisioningArtifactOutput { return try client.send(operation: "DeleteProvisioningArtifact", path: "/", httpMethod: "POST", input: input) } - /// Deletes the specified product. This operation does not work with a product that has been shared with you or is associated with a portfolio. + /// Deletes the specified plan. + public func deleteProvisionedProductPlan(_ input: DeleteProvisionedProductPlanInput) throws -> DeleteProvisionedProductPlanOutput { + return try client.send(operation: "DeleteProvisionedProductPlan", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes the specified product. You cannot delete a product if it was shared with you or is associated with a portfolio. public func deleteProduct(_ input: DeleteProductInput) throws -> DeleteProductOutput { return try client.send(operation: "DeleteProduct", path: "/", httpMethod: "POST", input: input) } - /// Updates an existing product. + /// Updates the specified product. public func updateProduct(_ input: UpdateProductInput) throws -> UpdateProductOutput { return try client.send(operation: "UpdateProduct", path: "/", httpMethod: "POST", input: input) } @@ -135,62 +140,62 @@ public struct Servicecatalog { return try client.send(operation: "ListPortfoliosForProduct", path: "/", httpMethod: "POST", input: input) } - /// Create a new provisioning artifact for the specified product. This operation does not work with a product that has been shared with you. + /// 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. public func createProvisioningArtifact(_ input: CreateProvisioningArtifactInput) throws -> CreateProvisioningArtifactOutput { return try client.send(operation: "CreateProvisioningArtifact", path: "/", httpMethod: "POST", input: input) } - /// Deletes the specified portfolio share. + /// Stops sharing the specified portfolio with the specified account. public func deletePortfolioShare(_ input: DeletePortfolioShareInput) throws -> DeletePortfolioShareOutput { return try client.send(operation: "DeletePortfolioShare", path: "/", httpMethod: "POST", input: input) } - /// Returns a paginated list all of the Products objects to which the caller has access. The output of this operation can be used as input for other operations, such as DescribeProductView. + /// Gets information about the products to which the caller has access. public func searchProducts(_ input: SearchProductsInput) throws -> SearchProductsOutput { return try client.send(operation: "SearchProducts", path: "/", httpMethod: "POST", input: input) } - /// Requests updates to the configuration of an existing ProvisionedProduct object. If there are tags associated with the object, they cannot be updated or added with this operation. Depending on the specific updates requested, this operation may update with no interruption, with some interruption, or replace the ProvisionedProduct object entirely. You can check the status of this request using the DescribeRecord operation. + /// 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. public func updateProvisionedProduct(_ input: UpdateProvisionedProductInput) throws -> UpdateProvisionedProductOutput { return try client.send(operation: "UpdateProvisionedProduct", path: "/", httpMethod: "POST", input: input) } - /// Updates the specified portfolio's details. This operation does not work with a product that has been shared with you. + /// Updates the specified portfolio. You cannot update a product that was shared with you. public func updatePortfolio(_ input: UpdatePortfolioInput) throws -> UpdatePortfolioOutput { return try client.send(operation: "UpdatePortfolio", path: "/", httpMethod: "POST", input: input) } - /// Retrieves a paginated list of the full details of a specific request. Use this operation after calling a request operation (ProvisionProduct, TerminateProvisionedProduct, or UpdateProvisionedProduct). + /// Gets information about the specified request operation. Use this operation after calling a request operation (for example, ProvisionProduct, TerminateProvisionedProduct, or UpdateProvisionedProduct). public func describeRecord(_ input: DescribeRecordInput) throws -> DescribeRecordOutput { return try client.send(operation: "DescribeRecord", path: "/", httpMethod: "POST", input: input) } - /// Accepts an offer to share a portfolio. + /// Accepts an offer to share the specified portfolio. public func acceptPortfolioShare(_ input: AcceptPortfolioShareInput) throws -> AcceptPortfolioShareOutput { return try client.send(operation: "AcceptPortfolioShare", path: "/", httpMethod: "POST", input: input) } - /// Associates a product with a portfolio. + /// Associates the specified product with the specified portfolio. public func associateProductWithPortfolio(_ input: AssociateProductWithPortfolioInput) throws -> AssociateProductWithPortfolioOutput { return try client.send(operation: "AssociateProductWithPortfolio", path: "/", httpMethod: "POST", input: input) } - /// Returns a paginated list of all paths to a specified product. A path is how the user has access to a specified product, and is necessary when provisioning a product. A path also determines the constraints put on the product. + /// 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. public func listLaunchPaths(_ input: ListLaunchPathsInput) throws -> ListLaunchPathsOutput { return try client.send(operation: "ListLaunchPaths", path: "/", httpMethod: "POST", input: input) } - /// Associate a TagOption identifier with a resource identifier. + /// Associate the specified TagOption with the specified portfolio or product. public func associateTagOptionWithResource(_ input: AssociateTagOptionWithResourceInput) throws -> AssociateTagOptionWithResourceOutput { return try client.send(operation: "AssociateTagOptionWithResource", path: "/", httpMethod: "POST", input: input) } - /// Retrieves summary and status information about all products created within the caller's account. If a portfolio ID is provided, this operation retrieves information for only those products that are associated with the specified portfolio. + /// Gets information about the products for the specified portfolio or all products. public func searchProductsAsAdmin(_ input: SearchProductsAsAdminInput) throws -> SearchProductsAsAdminOutput { return try client.send(operation: "SearchProductsAsAdmin", path: "/", httpMethod: "POST", input: input) } - /// Lists details of all portfolios for which sharing was accepted by this account. + /// Lists all portfolios for which sharing was accepted by this account. public func listAcceptedPortfolioShares(_ input: ListAcceptedPortfolioSharesInput) throws -> ListAcceptedPortfolioSharesOutput { return try client.send(operation: "ListAcceptedPortfolioShares", path: "/", httpMethod: "POST", input: input) } @@ -200,57 +205,77 @@ public struct Servicecatalog { return try client.send(operation: "DisassociatePrincipalFromPortfolio", path: "/", httpMethod: "POST", input: input) } - /// Lists the account IDs that have been authorized sharing of the specified portfolio. + /// Lists the account IDs that have access to the specified portfolio. public func listPortfolioAccess(_ input: ListPortfolioAccessInput) throws -> ListPortfolioAccessOutput { return try client.send(operation: "ListPortfolioAccess", path: "/", httpMethod: "POST", input: input) } - /// Rejects an offer to share a portfolio. + /// Rejects an offer to share the specified portfolio. public func rejectPortfolioShare(_ input: RejectPortfolioShareInput) throws -> RejectPortfolioShareOutput { return try client.send(operation: "RejectPortfolioShare", path: "/", httpMethod: "POST", input: input) } - /// Retrieves information about a specified product, run with administrator access. + /// Gets information about the specified product. This operation is run with administrator access. public func describeProductAsAdmin(_ input: DescribeProductAsAdminInput) throws -> DescribeProductAsAdminOutput { return try client.send(operation: "DescribeProductAsAdmin", path: "/", httpMethod: "POST", input: input) } - /// Retrieves detailed information about the specified provisioning artifact. + /// Gets information about the specified provisioning artifact (also known as a version) for the specified product. public func describeProvisioningArtifact(_ input: DescribeProvisioningArtifactInput) throws -> DescribeProvisioningArtifactOutput { return try client.send(operation: "DescribeProvisioningArtifact", path: "/", httpMethod: "POST", input: input) } - /// Create a new TagOption. + /// Lists the plans for the specified provisioned product or all plans to which the user has access. + public func listProvisionedProductPlans(_ input: ListProvisionedProductPlansInput) throws -> ListProvisionedProductPlansOutput { + return try client.send(operation: "ListProvisionedProductPlans", path: "/", httpMethod: "POST", input: input) + } + + /// Creates a TagOption. public func createTagOption(_ input: CreateTagOptionInput) throws -> CreateTagOptionOutput { return try client.send(operation: "CreateTagOption", path: "/", httpMethod: "POST", input: input) } - /// Retrieves information about a specified product. This operation is functionally identical to DescribeProduct except that it takes as input ProductViewId instead of ProductId. + /// Gets information about the specified product. public func describeProductView(_ input: DescribeProductViewInput) throws -> DescribeProductViewOutput { return try client.send(operation: "DescribeProductView", path: "/", httpMethod: "POST", input: input) } - /// Copies the specified source product to the specified target product or a new product. You can copy the product to the same account or another account. You can copy the product to the same region or another region. This operation is performed asynchronously. To track the progress of the operation, use DescribeCopyProductStatus. + /// 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. public func copyProduct(_ input: CopyProductInput) throws -> CopyProductOutput { return try client.send(operation: "CopyProduct", path: "/", httpMethod: "POST", input: input) } - /// Lists detailed TagOptions information. + /// Gets information about the provisioned products that meet the specified criteria. + public func searchProvisionedProducts(_ input: SearchProvisionedProductsInput) throws -> SearchProvisionedProductsOutput { + return try client.send(operation: "SearchProvisionedProducts", path: "/", httpMethod: "POST", input: input) + } + + /// Lists the specified TagOptions or all TagOptions. public func listTagOptions(_ input: ListTagOptionsInput) throws -> ListTagOptionsOutput { return try client.send(operation: "ListTagOptions", path: "/", httpMethod: "POST", input: input) } - /// Disassociates a TagOption from a resource. + /// Deletes the specified TagOption. You cannot delete a TagOption if it is associated with a product or portfolio. + public func deleteTagOption(_ input: DeleteTagOptionInput) throws -> DeleteTagOptionOutput { + return try client.send(operation: "DeleteTagOption", path: "/", httpMethod: "POST", input: input) + } + + /// Provisions or modifies a product based on the resource changes for the specified plan. + public func executeProvisionedProductPlan(_ input: ExecuteProvisionedProductPlanInput) throws -> ExecuteProvisionedProductPlanOutput { + return try client.send(operation: "ExecuteProvisionedProductPlan", path: "/", httpMethod: "POST", input: input) + } + + /// Disassociates the specified TagOption from the specified resource. public func disassociateTagOptionFromResource(_ input: DisassociateTagOptionFromResourceInput) throws -> DisassociateTagOptionFromResourceOutput { return try client.send(operation: "DisassociateTagOptionFromResource", path: "/", httpMethod: "POST", input: input) } - /// Returns a paginated list of all performed requests, in the form of RecordDetails objects that are filtered as specified. + /// Lists the specified requests or all performed requests. public func listRecordHistory(_ input: ListRecordHistoryInput) throws -> ListRecordHistoryOutput { return try client.send(operation: "ListRecordHistory", path: "/", httpMethod: "POST", input: input) } - /// Requests termination of an existing ProvisionedProduct object. If there are Tags associated with the object, they are terminated when the ProvisionedProduct object is terminated. This operation does not delete any records associated with the ProvisionedProduct object. You can check the status of this request using the DescribeRecord operation. + /// 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. public func terminateProvisionedProduct(_ input: TerminateProvisionedProductInput) throws -> TerminateProvisionedProductOutput { return try client.send(operation: "TerminateProvisionedProduct", path: "/", httpMethod: "POST", input: input) } @@ -260,32 +285,42 @@ public struct Servicecatalog { return try client.send(operation: "ListPortfolios", path: "/", httpMethod: "POST", input: input) } - /// Updates an existing provisioning artifact's information. This operation does not work on a provisioning artifact associated with a product that has been shared with you. + /// 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. + public func createProvisionedProductPlan(_ input: CreateProvisionedProductPlanInput) throws -> CreateProvisionedProductPlanOutput { + return try client.send(operation: "CreateProvisionedProductPlan", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func updateProvisioningArtifact(_ input: UpdateProvisioningArtifactInput) throws -> UpdateProvisioningArtifactOutput { return try client.send(operation: "UpdateProvisioningArtifact", path: "/", httpMethod: "POST", input: input) } - /// Deletes the specified portfolio. This operation does not work with a portfolio that has been shared with you or if it has products, users, constraints, or shared accounts associated with it. + /// 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. public func deletePortfolio(_ input: DeletePortfolioInput) throws -> DeletePortfolioOutput { return try client.send(operation: "DeletePortfolio", path: "/", httpMethod: "POST", input: input) } - /// Retrieves information about a specified product. This operation is functionally identical to DescribeProductView except that it takes as input ProductId instead of ProductViewId. + /// Gets information about the specified product. public func describeProduct(_ input: DescribeProductInput) throws -> DescribeProductOutput { return try client.send(operation: "DescribeProduct", path: "/", httpMethod: "POST", input: input) } - /// Retrieve detailed information about the provisioned product. + /// Gets information about the specified provisioned product. public func describeProvisionedProduct(_ input: DescribeProvisionedProductInput) throws -> DescribeProvisionedProductOutput { return try client.send(operation: "DescribeProvisionedProduct", path: "/", httpMethod: "POST", input: input) } - /// Requests a provision of a specified product. A provisioned product is a resourced instance for a product. For example, provisioning a CloudFormation-template-backed product results in launching a CloudFormation stack and all the underlying resources that come with it. You can check the status of this request using the DescribeRecord operation. The error "Parameter validation failed: Missing required parameter in Tags[N]:Value" indicates that your request contains a tag which has a tag key but no corresponding tag value (value is empty or null). Your call may have included values returned from a DescribeProvisioningParameters call that resulted in a TagOption key with an empty list. This happens when TagOption keys are in conflict. For more information, see DescribeProvisioningParameters. + /// Gets information about the resource changes for the specified plan. + public func describeProvisionedProductPlan(_ input: DescribeProvisionedProductPlanInput) throws -> DescribeProvisionedProductPlanOutput { + return try client.send(operation: "DescribeProvisionedProductPlan", path: "/", httpMethod: "POST", input: input) + } + + /// 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". public func provisionProduct(_ input: ProvisionProductInput) throws -> ProvisionProductOutput { return try client.send(operation: "ProvisionProduct", path: "/", httpMethod: "POST", input: input) } - /// Describes the status of the specified copy product operation. + /// Gets the status of the specified copy product operation. public func describeCopyProductStatus(_ input: DescribeCopyProductStatusInput) throws -> DescribeCopyProductStatusOutput { return try client.send(operation: "DescribeCopyProductStatus", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/servicecatalog/Servicecatalog_Shapes.swift b/Sources/AWSSDKSwift/Services/servicecatalog/Servicecatalog_Shapes.swift index 69c1607408a..405ac806086 100644 --- a/Sources/AWSSDKSwift/Services/servicecatalog/Servicecatalog_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/servicecatalog/Servicecatalog_Shapes.swift @@ -32,7 +32,7 @@ extension Servicecatalog { AWSShapeMember(label: "PortfolioId", required: true, type: .string), AWSShapeMember(label: "AcceptLanguage", required: false, type: .string) ] - /// The account ID associated with the share to delete. + /// The AWS account ID. public let accountId: String /// The portfolio identifier. public let portfolioId: String @@ -52,13 +52,20 @@ extension Servicecatalog { } } + public enum ChangeAction: String, CustomStringConvertible, Codable { + case add = "ADD" + case modify = "MODIFY" + case remove = "REMOVE" + public var description: String { return self.rawValue } + } + public struct DisassociatePrincipalFromPortfolioInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PrincipalARN", required: true, type: .string), AWSShapeMember(label: "PortfolioId", required: true, type: .string), AWSShapeMember(label: "AcceptLanguage", required: false, type: .string) ] - /// The ARN representing the principal (IAM user, role, or group). + /// The ARN of the principal (IAM user, role, or group). public let principalARN: String /// The portfolio identifier. public let portfolioId: String @@ -93,7 +100,7 @@ extension Servicecatalog { ] /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The identifier of the portfolio for the delete request. + /// The portfolio identifier. public let id: String public init(acceptLanguage: String? = nil, id: String) { @@ -114,13 +121,13 @@ extension Servicecatalog { AWSShapeMember(label: "UsageInstructions", required: false, type: .list), AWSShapeMember(label: "ProvisioningArtifactParameters", required: false, type: .list) ] - /// List of TagOptions associated with the provisioned provisioning parameters. + /// Information about the TagOptions associated with the resource. public let tagOptions: [TagOptionSummary]? - /// The list of constraint summaries that apply to provisioning this product. + /// Information about the constraints used to provision the product. public let constraintSummaries: [ConstraintSummary]? /// Any additional metadata specifically related to the provisioning of the product. For example, see the Version field of the CloudFormation template. public let usageInstructions: [UsageInstruction]? - /// The list of parameters used to successfully provision the product. Each parameter includes a list of allowable values and additional metadata about each parameter. + /// Information about the parameters used to provision the product. public let provisioningArtifactParameters: [ProvisioningArtifactParameter]? public init(tagOptions: [TagOptionSummary]? = nil, constraintSummaries: [ConstraintSummary]? = nil, usageInstructions: [UsageInstruction]? = nil, provisioningArtifactParameters: [ProvisioningArtifactParameter]? = nil) { @@ -159,34 +166,70 @@ extension Servicecatalog { } } + public struct CreateProvisionedProductPlanOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ProvisioningArtifactId", required: false, type: .string), + AWSShapeMember(label: "ProvisionProductId", required: false, type: .string), + AWSShapeMember(label: "PlanId", required: false, type: .string), + AWSShapeMember(label: "PlanName", required: false, type: .string), + AWSShapeMember(label: "ProvisionedProductName", required: false, type: .string) + ] + /// The identifier of the provisioning artifact. + public let provisioningArtifactId: String? + /// The product identifier. + public let provisionProductId: String? + /// The plan identifier. + public let planId: String? + /// The name of the plan. + public let planName: String? + /// The user-friendly name of the provisioned product. + public let provisionedProductName: String? + + public init(provisioningArtifactId: String? = nil, provisionProductId: String? = nil, planId: String? = nil, planName: String? = nil, provisionedProductName: String? = nil) { + self.provisioningArtifactId = provisioningArtifactId + self.provisionProductId = provisionProductId + self.planId = planId + self.planName = planName + self.provisionedProductName = provisionedProductName + } + + private enum CodingKeys: String, CodingKey { + case provisioningArtifactId = "ProvisioningArtifactId" + case provisionProductId = "ProvisionProductId" + case planId = "PlanId" + case planName = "PlanName" + case provisionedProductName = "ProvisionedProductName" + } + } + public struct ProvisioningArtifactProperties: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "Info", required: true, type: .map), AWSShapeMember(label: "Type", required: false, type: .enum), AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "Info", required: true, type: .map) + AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The text description of the provisioning artifact properties. - public let description: String? - /// The type of the provisioning artifact properties. The following provisioning artifact property types are used by AWS Marketplace products: MARKETPLACE_AMI - AMI products. MARKETPLACE_CAR - CAR (Cluster and AWS Resources) products. + /// 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/..." + public let info: [String: String] + /// The type of provisioning artifact. CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template MARKETPLACE_AMI - AWS Marketplace AMI MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources public let `type`: ProvisioningArtifactType? - /// The name assigned to the provisioning artifact properties. + /// The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed. public let name: String? - /// Additional information about the provisioning artifact properties. When using this element in a request, you must specify LoadTemplateFromURL. For more information, see CreateProvisioningArtifact. - public let info: [String: String] + /// The description of the provisioning artifact, including how it differs from the previous provisioning artifact. + public let description: String? - public init(description: String? = nil, type: ProvisioningArtifactType? = nil, name: String? = nil, info: [String: String]) { - self.description = description + public init(info: [String: String], type: ProvisioningArtifactType? = nil, name: String? = nil, description: String? = nil) { + self.info = info self.`type` = `type` self.name = name - self.info = info + self.description = description } private enum CodingKeys: String, CodingKey { - case description = "Description" + case info = "Info" case `type` = "Type" case name = "Name" - case info = "Info" + case description = "Description" } } @@ -197,13 +240,13 @@ extension Servicecatalog { AWSShapeMember(label: "Tags", required: false, type: .list), AWSShapeMember(label: "ProductViewDetail", required: false, type: .structure) ] - /// List of TagOptions associated with the product. + /// Information about the TagOptions associated with the product. public let tagOptions: [TagOptionDetail]? - /// A list of provisioning artifact summaries for the product. + /// Information about the provisioning artifacts (also known as versions) for the specified product. public let provisioningArtifactSummaries: [ProvisioningArtifactSummary]? - /// Tags associated with the product. + /// Information about the tags associated with the product. public let tags: [Tag]? - /// Detailed product view information. + /// Information about the product view. public let productViewDetail: ProductViewDetail? public init(tagOptions: [TagOptionDetail]? = nil, provisioningArtifactSummaries: [ProvisioningArtifactSummary]? = nil, tags: [Tag]? = nil, productViewDetail: ProductViewDetail? = nil) { @@ -221,14 +264,20 @@ extension Servicecatalog { } } + public enum PortfolioShareType: String, CustomStringConvertible, Codable { + case imported = "IMPORTED" + case awsServicecatalog = "AWS_SERVICECATALOG" + public var description: String { return self.rawValue } + } + public struct ListPortfolioAccessOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextPageToken", required: false, type: .string), AWSShapeMember(label: "AccountIds", required: false, type: .list) ] - /// The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null. + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. public let nextPageToken: String? - /// List of account IDs associated with access to the portfolio. + /// Information about the AWS accounts with access to the portfolio. public let accountIds: [String]? public init(nextPageToken: String? = nil, accountIds: [String]? = nil) { @@ -249,13 +298,13 @@ extension Servicecatalog { AWSShapeMember(label: "ResourceType", required: false, type: .string), AWSShapeMember(label: "PageToken", required: false, type: .string) ] - /// Identifier of the TagOption. + /// The TagOption identifier. public let tagOptionId: String - /// The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null. + /// The maximum number of items to return with this call. public let pageSize: Int32? - /// Resource type. + /// The resource type. Portfolio Product public let resourceType: String? - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? public init(tagOptionId: String, pageSize: Int32? = nil, resourceType: String? = nil, pageToken: String? = nil) { @@ -284,11 +333,11 @@ extension Servicecatalog { AWSShapeMember(label: "ProductViewDetail", required: false, type: .structure), AWSShapeMember(label: "ProvisioningArtifactDetail", required: false, type: .structure) ] - /// Tags successfully associated with the new product. + /// Information about the tags associated with the product. public let tags: [Tag]? - /// The resulting detailed product view information. + /// Information about the product view. public let productViewDetail: ProductViewDetail? - /// The resulting detailed provisioning artifact information. + /// Information about the provisioning artifact. public let provisioningArtifactDetail: ProvisioningArtifactDetail? public init(tags: [Tag]? = nil, productViewDetail: ProductViewDetail? = nil, provisioningArtifactDetail: ProvisioningArtifactDetail? = nil) { @@ -304,6 +353,32 @@ extension Servicecatalog { } } + public struct DeleteProvisionedProductPlanInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "IgnoreErrors", required: false, type: .boolean), + AWSShapeMember(label: "PlanId", required: true, type: .string), + AWSShapeMember(label: "AcceptLanguage", required: false, type: .string) + ] + /// If set to true, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources. + public let ignoreErrors: Bool? + /// The plan identifier. + public let planId: String + /// The language code. en - English (default) jp - Japanese zh - Chinese + public let acceptLanguage: String? + + public init(ignoreErrors: Bool? = nil, planId: String, acceptLanguage: String? = nil) { + self.ignoreErrors = ignoreErrors + self.planId = planId + self.acceptLanguage = acceptLanguage + } + + private enum CodingKeys: String, CodingKey { + case ignoreErrors = "IgnoreErrors" + case planId = "PlanId" + case acceptLanguage = "AcceptLanguage" + } + } + public struct UsageInstruction: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Type", required: false, type: .string), @@ -329,7 +404,7 @@ extension Servicecatalog { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TagOptionDetail", required: false, type: .structure) ] - /// The resulting detailed TagOption information. + /// Information about the TagOption. public let tagOptionDetail: TagOptionDetail? public init(tagOptionDetail: TagOptionDetail? = nil) { @@ -341,13 +416,20 @@ extension Servicecatalog { } } + public enum RequiresRecreation: String, CustomStringConvertible, Codable { + case never = "NEVER" + case conditionally = "CONDITIONALLY" + case always = "ALWAYS" + public var description: String { return self.rawValue } + } + public struct CreatePortfolioShareInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AccountId", required: true, type: .string), AWSShapeMember(label: "PortfolioId", required: true, type: .string), AWSShapeMember(label: "AcceptLanguage", required: false, type: .string) ] - /// The account ID with which to share the portfolio. + /// The AWS account ID. public let accountId: String /// The portfolio identifier. public let portfolioId: String @@ -393,9 +475,9 @@ extension Servicecatalog { AWSShapeMember(label: "ProvisionedProducts", required: false, type: .list), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// A list of ProvisionedProduct detail objects. + /// Information about the provisioned products. public let provisionedProducts: [ProvisionedProductDetail]? - /// The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null. + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. public let nextPageToken: String? public init(provisionedProducts: [ProvisionedProductDetail]? = nil, nextPageToken: String? = nil) { @@ -418,11 +500,11 @@ extension Servicecatalog { ] /// The identifier of the constraint. public let constraintId: String? - /// The type of the constraint. + /// The type of constraint. LAUNCH NOTIFICATION TEMPLATE public let `type`: String? /// The owner of the constraint. public let owner: String? - /// The text description of the constraint. + /// The description of the constraint. public let description: String? public init(constraintId: String? = nil, type: String? = nil, owner: String? = nil, description: String? = nil) { @@ -445,9 +527,9 @@ extension Servicecatalog { AWSShapeMember(label: "ProductViewSummary", required: false, type: .structure), AWSShapeMember(label: "ProvisioningArtifacts", required: false, type: .list) ] - /// The summary metadata about the specified product. + /// Summary information about the product. public let productViewSummary: ProductViewSummary? - /// A list of provisioning artifact objects for the specified product. The ProvisioningArtifacts represent the ways in which the specified product can be provisioned. + /// Information about the provisioning artifacts for the product. public let provisioningArtifacts: [ProvisioningArtifact]? public init(productViewSummary: ProductViewSummary? = nil, provisioningArtifacts: [ProvisioningArtifact]? = nil) { @@ -466,35 +548,14 @@ extension Servicecatalog { public var description: String { return self.rawValue } } - public struct Tag: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Value", required: true, type: .string), - AWSShapeMember(label: "Key", required: true, type: .string) - ] - /// The desired value for this key. - public let value: String - /// The ProvisioningArtifactParameter.TagKey parameter from DescribeProvisioningParameters. - public let key: String - - public init(value: String, key: String) { - self.value = value - self.key = key - } - - private enum CodingKeys: String, CodingKey { - case value = "Value" - case key = "Key" - } - } - public struct UpdatePortfolioOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PortfolioDetail", required: false, type: .structure), AWSShapeMember(label: "Tags", required: false, type: .list) ] - /// The resulting detailed portfolio information. + /// Information about the portfolio. public let portfolioDetail: PortfolioDetail? - /// Tags associated with the portfolio. + /// Information about the tags associated with the portfolio. public let tags: [Tag]? public init(portfolioDetail: PortfolioDetail? = nil, tags: [Tag]? = nil) { @@ -508,6 +569,27 @@ extension Servicecatalog { } } + public struct Tag: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: true, type: .string), + AWSShapeMember(label: "Key", required: true, type: .string) + ] + /// The value for this key. + public let value: String + /// The tag key. + public let key: String + + public init(value: String, key: String) { + self.value = value + self.key = key + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case key = "Key" + } + } + public struct DescribeProductInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), @@ -515,7 +597,7 @@ extension Servicecatalog { ] /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The ProductId of the product to describe. + /// The product identifier. public let id: String public init(acceptLanguage: String? = nil, id: String) { @@ -534,9 +616,9 @@ extension Servicecatalog { AWSShapeMember(label: "RecordDetails", required: false, type: .list), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// A list of record detail objects, listed in reverse chronological order. + /// The records, in reverse chronological order. public let recordDetails: [RecordDetail]? - /// The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null. + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. public let nextPageToken: String? public init(recordDetails: [RecordDetail]? = nil, nextPageToken: String? = nil) { @@ -557,13 +639,13 @@ extension Servicecatalog { AWSShapeMember(label: "AccessLevelFilter", required: false, type: .structure), AWSShapeMember(label: "PageToken", required: false, type: .string) ] - /// The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null. + /// The maximum number of items to return with this call. public let pageSize: Int32? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The access level for obtaining results. If left unspecified, User level access is used. + /// The access level to use to obtain results. The default is User. public let accessLevelFilter: AccessLevelFilter? - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? public init(pageSize: Int32? = nil, acceptLanguage: String? = nil, accessLevelFilter: AccessLevelFilter? = nil, pageToken: String? = nil) { @@ -590,17 +672,17 @@ extension Servicecatalog { AWSShapeMember(label: "DisplayName", required: true, type: .string), AWSShapeMember(label: "IdempotencyToken", required: true, type: .string) ] - /// The text description of the portfolio. + /// The description of the portfolio. public let description: String? /// The name of the portfolio provider. public let providerName: String /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// Tags to associate with the new portfolio. + /// One or more tags. public let tags: [Tag]? /// The name to use for display purposes. public let displayName: String - /// A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request. + /// 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. public let idempotencyToken: String public init(description: String? = nil, providerName: String, acceptLanguage: String? = nil, tags: [Tag]? = nil, displayName: String, idempotencyToken: String) { @@ -627,9 +709,9 @@ extension Servicecatalog { AWSShapeMember(label: "Key", required: false, type: .string), AWSShapeMember(label: "Values", required: false, type: .list) ] - /// The TagOptionSummary key. + /// The TagOption key. public let key: String? - /// The TagOptionSummary value. + /// The TagOption value. public let values: [String]? public init(key: String? = nil, values: [String]? = nil) { @@ -648,9 +730,9 @@ extension Servicecatalog { AWSShapeMember(label: "Value", required: false, type: .string), AWSShapeMember(label: "Key", required: false, type: .string) ] - /// The filter value for Key. + /// The filter value. public let value: String? - /// The filter key. + /// The filter key. product - Filter results based on the specified product identifier. provisionedproduct - Filter results based on the provisioned product identifier. public let key: String? public init(value: String? = nil, key: String? = nil) { @@ -670,11 +752,11 @@ extension Servicecatalog { AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), AWSShapeMember(label: "PageToken", required: false, type: .string) ] - /// The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null. + /// The maximum number of items to return with this call. public let pageSize: Int32? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? public init(pageSize: Int32? = nil, acceptLanguage: String? = nil, pageToken: String? = nil) { @@ -690,9 +772,30 @@ extension Servicecatalog { } } - public enum CopyOption: String, CustomStringConvertible, Codable { - case copytags = "CopyTags" - public var description: String { return self.rawValue } + public struct ResourceChangeDetail: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Target", required: false, type: .structure), + AWSShapeMember(label: "Evaluation", required: false, type: .enum), + AWSShapeMember(label: "CausingEntity", required: false, type: .string) + ] + /// Information about the resource attribute to be modified. + public let target: ResourceTargetDefinition? + /// 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. + public let evaluation: EvaluationType? + /// The ID of the entity that caused the change. + public let causingEntity: String? + + public init(target: ResourceTargetDefinition? = nil, evaluation: EvaluationType? = nil, causingEntity: String? = nil) { + self.target = target + self.evaluation = evaluation + self.causingEntity = causingEntity + } + + private enum CodingKeys: String, CodingKey { + case target = "Target" + case evaluation = "Evaluation" + case causingEntity = "CausingEntity" + } } public struct AcceptPortfolioShareOutput: AWSShape { @@ -704,9 +807,9 @@ extension Servicecatalog { AWSShapeMember(label: "LaunchPathSummaries", required: false, type: .list), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// List of launch path information summaries for the specified PageToken. + /// Information about the launch path. public let launchPathSummaries: [LaunchPathSummary]? - /// The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null. + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. public let nextPageToken: String? public init(launchPathSummaries: [LaunchPathSummary]? = nil, nextPageToken: String? = nil) { @@ -725,9 +828,9 @@ extension Servicecatalog { AWSShapeMember(label: "ConstraintDetails", required: false, type: .list), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// List of detailed constraint information objects. + /// Information about the constraints. public let constraintDetails: [ConstraintDetail]? - /// The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null. + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. public let nextPageToken: String? public init(constraintDetails: [ConstraintDetail]? = nil, nextPageToken: String? = nil) { @@ -746,9 +849,9 @@ extension Servicecatalog { AWSShapeMember(label: "Tags", required: false, type: .list), AWSShapeMember(label: "ProductViewDetail", required: false, type: .structure) ] - /// Tags associated with the product. + /// Information about the tags associated with the product. public let tags: [Tag]? - /// The resulting detailed product view information. + /// Information about the product view. public let productViewDetail: ProductViewDetail? public init(tags: [Tag]? = nil, productViewDetail: ProductViewDetail? = nil) { @@ -762,6 +865,11 @@ extension Servicecatalog { } } + public enum CopyOption: String, CustomStringConvertible, Codable { + case copytags = "CopyTags" + public var description: String { return self.rawValue } + } + public struct SearchProductsAsAdminInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SortBy", required: false, type: .enum), @@ -773,9 +881,9 @@ extension Servicecatalog { AWSShapeMember(label: "SortOrder", required: false, type: .enum), AWSShapeMember(label: "Filters", required: false, type: .map) ] - /// The sort field specifier. If no value is specified, results are not sorted. + /// The sort field. If no value is specified, the results are not sorted. public let sortBy: ProductViewSortBy? - /// The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null. + /// The maximum number of items to return with this call. public let pageSize: Int32? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? @@ -783,11 +891,11 @@ extension Servicecatalog { public let productSource: ProductSource? /// The portfolio identifier. public let portfolioId: String? - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? - /// The sort order specifier. If no value is specified, results are not sorted. + /// The sort order. If no value is specified, the results are not sorted. public let sortOrder: SortOrder? - /// The list of filters with which to limit search results. If no search filters are specified, the output is all the products to which the administrator has access. + /// The search filters. If no search filters are specified, the output includes all products to which the administrator has access. public let filters: [ProductViewFilterBy: [String]]? public init(sortBy: ProductViewSortBy? = nil, pageSize: Int32? = nil, acceptLanguage: String? = nil, productSource: ProductSource? = nil, portfolioId: String? = nil, pageToken: String? = nil, sortOrder: SortOrder? = nil, filters: [ProductViewFilterBy: [String]]? = nil) { @@ -825,23 +933,23 @@ extension Servicecatalog { AWSShapeMember(label: "ProductId", required: true, type: .string), AWSShapeMember(label: "ProvisionedProductName", required: true, type: .string) ] - /// The provisioning artifact identifier for this product. This is sometimes referred to as the product version. + /// The identifier of the provisioning artifact. public let provisioningArtifactId: String /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? /// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events. public let notificationArns: [String]? - /// A list of tags to use as provisioning options. + /// One or more tags. public let tags: [Tag]? - /// An idempotency token that uniquely identifies the provisioning request. + /// An idempotency token that uniquely identifies the provisioning request. public let provisionToken: String - /// The identifier of the path for this product's provisioning. This value is optional if the product has a default path, and is required if there is more than one path for the specified product. + /// 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. public let pathId: String? /// Parameters specified by the administrator that are required for provisioning the product. public let provisioningParameters: [ProvisioningParameter]? /// The product identifier. public let productId: String - /// A user-friendly name to identify the ProvisionedProduct object. This value must be unique for the AWS account and cannot be updated after the product is provisioned. + /// 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. public let provisionedProductName: String public init(provisioningArtifactId: String, acceptLanguage: String? = nil, notificationArns: [String]? = nil, tags: [Tag]? = nil, provisionToken: String, pathId: String? = nil, provisioningParameters: [ProvisioningParameter]? = nil, productId: String, provisionedProductName: String) { @@ -875,11 +983,11 @@ extension Servicecatalog { AWSShapeMember(label: "Key", required: false, type: .string), AWSShapeMember(label: "UsePreviousValue", required: false, type: .boolean) ] - /// The value to use for updating the product provisioning. Any constraints on this value can be found in the ProvisioningArtifactParameter parameter for Key. + /// The parameter value. public let value: String? - /// The ProvisioningArtifactParameter.ParameterKey parameter from DescribeProvisioningParameters. + /// The parameter key. public let key: String? - /// If true, uses the currently set value for Key, ignoring UpdateProvisioningParameter.Value. + /// If set to true, Value is ignored and the previous parameter value is kept. public let usePreviousValue: Bool? public init(value: String? = nil, key: String? = nil, usePreviousValue: Bool? = nil) { @@ -900,6 +1008,7 @@ extension Servicecatalog { case underChange = "UNDER_CHANGE" case tainted = "TAINTED" case error = "ERROR" + case planInProgress = "PLAN_IN_PROGRESS" public var description: String { return self.rawValue } } @@ -917,15 +1026,15 @@ extension Servicecatalog { public let acceptLanguage: String? /// The portfolio identifier. public let portfolioId: String - /// The constraint parameters. Expected values vary depending on which Type is specified. For more information, see the Examples section. For Type LAUNCH, the RoleArn property is required. For Type NOTIFICATION, the NotificationArns property is required. For Type TEMPLATE, the Rules property is required. + /// 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. public let parameters: String - /// A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request. + /// 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. public let idempotencyToken: String - /// The type of the constraint. Case-sensitive valid values are: LAUNCH, NOTIFICATION, or TEMPLATE. + /// The type of constraint. LAUNCH NOTIFICATION TEMPLATE public let `type`: String /// The product identifier. public let productId: String - /// The text description of the constraint. + /// The description of the constraint. public let description: String? public init(acceptLanguage: String? = nil, portfolioId: String, parameters: String, idempotencyToken: String, type: String, productId: String, description: String? = nil) { @@ -962,13 +1071,13 @@ extension Servicecatalog { AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// List of constraints on the portfolio-product relationship. + /// The constraints on the portfolio-product relationship. public let constraintSummaries: [ConstraintSummary]? - /// List of tags used by this launch path. + /// The tags associated with this product path. public let tags: [Tag]? - /// Corresponds to the name of the portfolio to which the user was assigned. + /// The name of the portfolio to which the user was assigned. public let name: String? - /// The unique identifier of the product path. + /// The identifier of the product path. public let id: String? public init(constraintSummaries: [ConstraintSummary]? = nil, tags: [Tag]? = nil, name: String? = nil, id: String? = nil) { @@ -996,35 +1105,35 @@ extension Servicecatalog { AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), AWSShapeMember(label: "UpdateToken", required: true, type: .string), AWSShapeMember(label: "ProvisionedProductId", required: false, type: .string), - AWSShapeMember(label: "PathId", required: false, type: .string), AWSShapeMember(label: "ProvisioningParameters", required: false, type: .list), + AWSShapeMember(label: "PathId", required: false, type: .string), AWSShapeMember(label: "ProductId", required: false, type: .string), AWSShapeMember(label: "ProvisionedProductName", required: false, type: .string) ] - /// The provisioning artifact identifier for this product. This is sometimes referred to as the product version. + /// The identifier of the provisioning artifact. public let provisioningArtifactId: String? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? /// The idempotency token that uniquely identifies the provisioning update request. public let updateToken: String - /// The identifier of the ProvisionedProduct object to update. Specify either ProvisionedProductName or ProvisionedProductId, but not both. + /// The identifier of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId. public let provisionedProductId: String? - /// The identifier of the path to use in the updated ProvisionedProduct object. This value is optional if the product has a default path, and is required if there is more than one path for the specified product. - public let pathId: String? - /// A list of ProvisioningParameter objects used to update the ProvisionedProduct object. + /// The new parameters. public let provisioningParameters: [UpdateProvisioningParameter]? - /// The identifier of the ProvisionedProduct object. + /// 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. + public let pathId: String? + /// The identifier of the provisioned product. public let productId: String? - /// The updated name of the ProvisionedProduct object. Specify either ProvisionedProductName or ProvisionedProductId, but not both. + /// The updated name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId. public let provisionedProductName: String? - public init(provisioningArtifactId: String? = nil, acceptLanguage: String? = nil, updateToken: String, provisionedProductId: String? = nil, pathId: String? = nil, provisioningParameters: [UpdateProvisioningParameter]? = nil, productId: String? = nil, provisionedProductName: String? = nil) { + public init(provisioningArtifactId: String? = nil, acceptLanguage: String? = nil, updateToken: String, provisionedProductId: String? = nil, provisioningParameters: [UpdateProvisioningParameter]? = nil, pathId: String? = nil, productId: String? = nil, provisionedProductName: String? = nil) { self.provisioningArtifactId = provisioningArtifactId self.acceptLanguage = acceptLanguage self.updateToken = updateToken self.provisionedProductId = provisionedProductId - self.pathId = pathId self.provisioningParameters = provisioningParameters + self.pathId = pathId self.productId = productId self.provisionedProductName = provisionedProductName } @@ -1034,8 +1143,8 @@ extension Servicecatalog { case acceptLanguage = "AcceptLanguage" case updateToken = "UpdateToken" case provisionedProductId = "ProvisionedProductId" - case pathId = "PathId" case provisioningParameters = "ProvisioningParameters" + case pathId = "PathId" case productId = "ProductId" case provisionedProductName = "ProvisionedProductName" } @@ -1060,15 +1169,15 @@ extension Servicecatalog { ] /// The parameter type. public let parameterType: String? - /// The text description of the parameter. + /// The description of the parameter. public let description: String? - /// The list of constraints that the administrator has put on the parameter. + /// Constraints that the administrator has put on a parameter. public let parameterConstraints: ParameterConstraints? - /// The default value for this parameter. + /// The default value. public let defaultValue: String? /// 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. public let isNoEcho: Bool? - /// The parameter key. + /// The parameter key. public let parameterKey: String? public init(parameterType: String? = nil, description: String? = nil, parameterConstraints: ParameterConstraints? = nil, defaultValue: String? = nil, isNoEcho: Bool? = nil, parameterKey: String? = nil) { @@ -1097,7 +1206,7 @@ extension Servicecatalog { ] /// The IAM principals (users or roles) associated with the portfolio. public let principals: [Principal]? - /// The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null. + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. public let nextPageToken: String? public init(principals: [Principal]? = nil, nextPageToken: String? = nil) { @@ -1118,13 +1227,13 @@ extension Servicecatalog { AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), AWSShapeMember(label: "Id", required: true, type: .string) ] - /// The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null. + /// The maximum number of items to return with this call. public let pageSize: Int32? - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The record identifier of the ProvisionedProduct object for which to retrieve output information. This is the RecordDetail.RecordId obtained from the request operation's response. + /// The record identifier of the provisioned product. This identifier is returned by the request operation. public let id: String public init(pageSize: Int32? = nil, pageToken: String? = nil, acceptLanguage: String? = nil, id: String) { @@ -1147,9 +1256,9 @@ extension Servicecatalog { AWSShapeMember(label: "PortfolioDetails", required: false, type: .list), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// List of detailed portfolio information objects. + /// Information about the portfolios. public let portfolioDetails: [PortfolioDetail]? - /// The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null. + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. public let nextPageToken: String? public init(portfolioDetails: [PortfolioDetail]? = nil, nextPageToken: String? = nil) { @@ -1169,11 +1278,11 @@ extension Servicecatalog { AWSShapeMember(label: "Status", required: false, type: .enum), AWSShapeMember(label: "ConstraintParameters", required: false, type: .string) ] - /// The resulting detailed constraint information. + /// Information about the constraint. public let constraintDetail: ConstraintDetail? /// The status of the current request. public let status: Status? - /// The resulting constraint parameters. + /// The constraint parameters. public let constraintParameters: String? public init(constraintDetail: ConstraintDetail? = nil, status: Status? = nil, constraintParameters: String? = nil) { @@ -1196,13 +1305,13 @@ extension Servicecatalog { AWSShapeMember(label: "ProductViewSummary", required: false, type: .structure), AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp) ] - /// Current status of the product. AVAILABLE - Product is available for use. CREATING - Creation of product started, not ready for use. FAILED - Action on product failed. + /// 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. public let status: Status? - /// The ARN associated with the product. + /// The ARN of the product. public let productARN: String? - /// The summary metadata about the specified product view. + /// Summary information about the product view. public let productViewSummary: ProductViewSummary? - /// The UTC timestamp of the creation time. + /// The UTC time stamp of the creation time. public let createdTime: TimeStamp? public init(status: Status? = nil, productARN: String? = nil, productViewSummary: ProductViewSummary? = nil, createdTime: TimeStamp? = nil) { @@ -1227,11 +1336,11 @@ extension Servicecatalog { AWSShapeMember(label: "Verbose", required: false, type: .boolean), AWSShapeMember(label: "ProductId", required: true, type: .string) ] - /// The identifier of the provisioning artifact. This is sometimes referred to as the product version. + /// The identifier of the provisioning artifact. public let provisioningArtifactId: String /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// Enable a verbose level of details for the provisioning artifact. + /// Indicates whether a verbose level of detail is enabled. public let verbose: Bool? /// The product identifier. public let productId: String @@ -1260,11 +1369,11 @@ extension Servicecatalog { ] /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The parameters to use when creating the new provisioning artifact. + /// The configuration for the provisioning artifact. public let parameters: ProvisioningArtifactProperties /// The product identifier. public let productId: String - /// A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request. + /// 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. public let idempotencyToken: String public init(acceptLanguage: String? = nil, parameters: ProvisioningArtifactProperties, productId: String, idempotencyToken: String) { @@ -1288,11 +1397,11 @@ extension Servicecatalog { AWSShapeMember(label: "Status", required: false, type: .enum), AWSShapeMember(label: "ConstraintParameters", required: false, type: .string) ] - /// The resulting detailed constraint information. + /// Information about the constraint. public let constraintDetail: ConstraintDetail? /// The status of the current request. public let status: Status? - /// The resulting updated constraint parameters. + /// The constraint parameters. public let constraintParameters: String? public init(constraintDetail: ConstraintDetail? = nil, status: Status? = nil, constraintParameters: String? = nil) { @@ -1315,17 +1424,74 @@ extension Servicecatalog { public var description: String { return self.rawValue } } + public struct DescribeProvisionedProductPlanInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PageSize", required: false, type: .integer), + AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), + AWSShapeMember(label: "PlanId", required: true, type: .string), + AWSShapeMember(label: "PageToken", required: false, type: .string) + ] + /// The maximum number of items to return with this call. + public let pageSize: Int32? + /// The language code. en - English (default) jp - Japanese zh - Chinese + public let acceptLanguage: String? + /// The plan identifier. + public let planId: String + /// The page token for the next set of results. To retrieve the first set of results, use null. + public let pageToken: String? + + public init(pageSize: Int32? = nil, acceptLanguage: String? = nil, planId: String, pageToken: String? = nil) { + self.pageSize = pageSize + self.acceptLanguage = acceptLanguage + self.planId = planId + self.pageToken = pageToken + } + + private enum CodingKeys: String, CodingKey { + case pageSize = "PageSize" + case acceptLanguage = "AcceptLanguage" + case planId = "PlanId" + case pageToken = "PageToken" + } + } + + public struct DescribeProvisionedProductPlanOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ProvisionedProductPlanDetails", required: false, type: .structure), + AWSShapeMember(label: "ResourceChanges", required: false, type: .list), + AWSShapeMember(label: "NextPageToken", required: false, type: .string) + ] + /// Information about the plan. + public let provisionedProductPlanDetails: ProvisionedProductPlanDetails? + /// Information about the resource changes that will occur when the plan is executed. + public let resourceChanges: [ResourceChange]? + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. + public let nextPageToken: String? + + public init(provisionedProductPlanDetails: ProvisionedProductPlanDetails? = nil, resourceChanges: [ResourceChange]? = nil, nextPageToken: String? = nil) { + self.provisionedProductPlanDetails = provisionedProductPlanDetails + self.resourceChanges = resourceChanges + self.nextPageToken = nextPageToken + } + + private enum CodingKeys: String, CodingKey { + case provisionedProductPlanDetails = "ProvisionedProductPlanDetails" + case resourceChanges = "ResourceChanges" + case nextPageToken = "NextPageToken" + } + } + public struct DescribeRecordOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RecordDetail", required: false, type: .structure), AWSShapeMember(label: "RecordOutputs", required: false, type: .list), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// Detailed record information for the specified product. + /// Information about the product. public let recordDetail: RecordDetail? - /// A list of outputs for the specified Product object created as the result of a request. For example, a CloudFormation-backed product that creates an S3 bucket would have an output for the S3 bucket URL. + /// 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. public let recordOutputs: [RecordOutput]? - /// The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null. + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. public let nextPageToken: String? public init(recordDetail: RecordDetail? = nil, recordOutputs: [RecordOutput]? = nil, nextPageToken: String? = nil) { @@ -1341,11 +1507,34 @@ extension Servicecatalog { } } + public enum Replacement: String, CustomStringConvertible, Codable { + case `true` = "TRUE" + case `false` = "FALSE" + case conditional = "CONDITIONAL" + public var description: String { return self.rawValue } + } + public struct UpdateProvisionedProductOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RecordDetail", required: false, type: .structure) ] - /// The detailed result of the UpdateProvisionedProduct request, containing the inputs made to that request, the current state of the request, a pointer to the ProvisionedProduct object that the request is modifying, and a list of any errors that the request encountered. + /// Information about the result of the request. + public let recordDetail: RecordDetail? + + public init(recordDetail: RecordDetail? = nil) { + self.recordDetail = recordDetail + } + + private enum CodingKeys: String, CodingKey { + case recordDetail = "RecordDetail" + } + } + + public struct TerminateProvisionedProductOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RecordDetail", required: false, type: .structure) + ] + /// Information about the result of this request. public let recordDetail: RecordDetail? public init(recordDetail: RecordDetail? = nil) { @@ -1362,9 +1551,9 @@ extension Servicecatalog { AWSShapeMember(label: "ProvisioningArtifactDetails", required: false, type: .list), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// List of detailed provisioning artifact information objects. + /// Information about the provisioning artifacts. public let provisioningArtifactDetails: [ProvisioningArtifactDetail]? - /// The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null. + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. public let nextPageToken: String? public init(provisioningArtifactDetails: [ProvisioningArtifactDetail]? = nil, nextPageToken: String? = nil) { @@ -1378,30 +1567,14 @@ extension Servicecatalog { } } - public struct TerminateProvisionedProductOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RecordDetail", required: false, type: .structure) - ] - /// The detailed result of the TerminateProvisionedProduct request, containing the inputs made to that request, the current state of the request, a pointer to the ProvisionedProduct object that the request is modifying, and a list of any errors that the request encountered. - public let recordDetail: RecordDetail? - - public init(recordDetail: RecordDetail? = nil) { - self.recordDetail = recordDetail - } - - private enum CodingKeys: String, CodingKey { - case recordDetail = "RecordDetail" - } - } - public struct ProvisioningParameter: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Value", required: false, type: .string), AWSShapeMember(label: "Key", required: false, type: .string) ] - /// The value to use for provisioning. Any constraints on this value can be found in ProvisioningArtifactParameter for Key. + /// The parameter value. public let value: String? - /// The ProvisioningArtifactParameter.ParameterKey parameter from DescribeProvisioningParameters. + /// The parameter key. public let key: String? public init(value: String? = nil, key: String? = nil) { @@ -1425,7 +1598,7 @@ extension Servicecatalog { public let outputValue: String? /// The output key. public let outputKey: String? - /// The text description of the output. + /// The description of the output. public let description: String? public init(outputValue: String? = nil, outputKey: String? = nil, description: String? = nil) { @@ -1448,13 +1621,13 @@ extension Servicecatalog { AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// The text description of the artifact. + /// The description of the provisioning artifact. public let description: String? - /// The name of the artifact. + /// The name of the provisioning artifact. public let name: String? - /// The UTC timestamp of the creation time. + /// The UTC time stamp of the creation time. public let createdTime: TimeStamp? - /// The identifier for the artifact. This is sometimes referred to as the product version. + /// The identifier of the provisioning artifact. public let id: String? public init(description: String? = nil, name: String? = nil, createdTime: TimeStamp? = nil, id: String? = nil) { @@ -1474,17 +1647,68 @@ extension Servicecatalog { public struct DescribeProvisionedProductOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ProvisionedProductDetail", required: false, type: .structure) + AWSShapeMember(label: "ProvisionedProductDetail", required: false, type: .structure), + AWSShapeMember(label: "CloudWatchDashboards", required: false, type: .list) ] - /// Detailed provisioned product information. + /// Information about the provisioned product. public let provisionedProductDetail: ProvisionedProductDetail? + /// Any CloudWatch dashboards that were created when provisioning the product. + public let cloudWatchDashboards: [CloudWatchDashboard]? - public init(provisionedProductDetail: ProvisionedProductDetail? = nil) { + public init(provisionedProductDetail: ProvisionedProductDetail? = nil, cloudWatchDashboards: [CloudWatchDashboard]? = nil) { self.provisionedProductDetail = provisionedProductDetail + self.cloudWatchDashboards = cloudWatchDashboards } private enum CodingKeys: String, CodingKey { case provisionedProductDetail = "ProvisionedProductDetail" + case cloudWatchDashboards = "CloudWatchDashboards" + } + } + + public struct SearchProvisionedProductsInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SortBy", required: false, type: .string), + AWSShapeMember(label: "PageSize", required: false, type: .integer), + AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), + AWSShapeMember(label: "PageToken", required: false, type: .string), + AWSShapeMember(label: "AccessLevelFilter", required: false, type: .structure), + AWSShapeMember(label: "SortOrder", required: false, type: .enum), + AWSShapeMember(label: "Filters", required: false, type: .map) + ] + /// The sort field. If no value is specified, the results are not sorted. The valid values are arn, id, name, and lastRecordId. + public let sortBy: String? + /// The maximum number of items to return with this call. + public let pageSize: Int32? + /// The language code. en - English (default) jp - Japanese zh - Chinese + public let acceptLanguage: String? + /// The page token for the next set of results. To retrieve the first set of results, use null. + public let pageToken: String? + /// The access level to use to obtain results. The default is User. + public let accessLevelFilter: AccessLevelFilter? + /// The sort order. If no value is specified, the results are not sorted. + public let sortOrder: SortOrder? + /// 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"] + public let filters: [ProvisionedProductViewFilterBy: [String]]? + + public init(sortBy: String? = nil, pageSize: Int32? = nil, acceptLanguage: String? = nil, pageToken: String? = nil, accessLevelFilter: AccessLevelFilter? = nil, sortOrder: SortOrder? = nil, filters: [ProvisionedProductViewFilterBy: [String]]? = nil) { + self.sortBy = sortBy + self.pageSize = pageSize + self.acceptLanguage = acceptLanguage + self.pageToken = pageToken + self.accessLevelFilter = accessLevelFilter + self.sortOrder = sortOrder + self.filters = filters + } + + private enum CodingKeys: String, CodingKey { + case sortBy = "SortBy" + case pageSize = "PageSize" + case acceptLanguage = "AcceptLanguage" + case pageToken = "PageToken" + case accessLevelFilter = "AccessLevelFilter" + case sortOrder = "SortOrder" + case filters = "Filters" } } @@ -1496,13 +1720,13 @@ extension Servicecatalog { AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// The provisioning artifact metadata. This data is used with products created by AWS Marketplace. + /// The metadata for the provisioning artifact. This is used with AWS Marketplace products. public let provisioningArtifactMetadata: [String: String]? /// The description of the provisioning artifact. public let description: String? /// The name of the provisioning artifact. public let name: String? - /// The UTC timestamp of the creation time. + /// The UTC time stamp of the creation time. public let createdTime: TimeStamp? /// The identifier of the provisioning artifact. public let id: String? @@ -1524,6 +1748,10 @@ extension Servicecatalog { } } + public struct DeleteTagOptionOutput: AWSShape { + + } + public struct AssociateProductWithPortfolioOutput: AWSShape { } @@ -1535,13 +1763,13 @@ extension Servicecatalog { AWSShapeMember(label: "ProductId", required: true, type: .string), AWSShapeMember(label: "PageToken", required: false, type: .string) ] - /// The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null. + /// The maximum number of items to return with this call. public let pageSize: Int32? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The product identifier. Identifies the product for which to retrieve LaunchPathSummaries information. + /// The product identifier. public let productId: String - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? public init(pageSize: Int32? = nil, acceptLanguage: String? = nil, productId: String, pageToken: String? = nil) { @@ -1565,11 +1793,11 @@ extension Servicecatalog { AWSShapeMember(label: "ProductViewSummaries", required: false, type: .list), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// A list of the product view aggregation value objects. + /// The product view aggregations. public let productViewAggregations: [String: [ProductViewAggregationValue]]? - /// A list of the product view summary objects. + /// Information about the product views. public let productViewSummaries: [ProductViewSummary]? - /// The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null. + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. public let nextPageToken: String? public init(productViewAggregations: [String: [ProductViewAggregationValue]]? = nil, productViewSummaries: [ProductViewSummary]? = nil, nextPageToken: String? = nil) { @@ -1591,11 +1819,11 @@ extension Servicecatalog { AWSShapeMember(label: "Key", required: false, type: .string), AWSShapeMember(label: "Active", required: false, type: .boolean) ] - /// The ListTagOptionsFilters value. + /// The TagOption value. public let value: String? - /// The ListTagOptionsFilters key. + /// The TagOption key. public let key: String? - /// The ListTagOptionsFilters active state. + /// The active state. public let active: Bool? public init(value: String? = nil, key: String? = nil, active: Bool? = nil) { @@ -1615,19 +1843,70 @@ extension Servicecatalog { } - public struct DescribeTagOptionInput: AWSShape { + public enum ResourceAttribute: String, CustomStringConvertible, Codable { + case properties = "PROPERTIES" + case metadata = "METADATA" + case creationpolicy = "CREATIONPOLICY" + case updatepolicy = "UPDATEPOLICY" + case deletionpolicy = "DELETIONPOLICY" + case tags = "TAGS" + public var description: String { return self.rawValue } + } + + public struct ProvisionedProductPlanSummary: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", required: true, type: .string) + AWSShapeMember(label: "ProvisioningArtifactId", required: false, type: .string), + AWSShapeMember(label: "ProvisionProductId", required: false, type: .string), + AWSShapeMember(label: "ProvisionProductName", required: false, type: .string), + AWSShapeMember(label: "PlanId", required: false, type: .string), + AWSShapeMember(label: "PlanName", required: false, type: .string), + AWSShapeMember(label: "PlanType", required: false, type: .enum) ] - /// The identifier of the TagOption. - public let id: String - - public init(id: String) { - self.id = id + /// The identifier of the provisioning artifact. + public let provisioningArtifactId: String? + /// The product identifier. + public let provisionProductId: String? + /// The user-friendly name of the provisioned product. + public let provisionProductName: String? + /// The plan identifier. + public let planId: String? + /// The name of the plan. + public let planName: String? + /// The plan type. + public let planType: ProvisionedProductPlanType? + + public init(provisioningArtifactId: String? = nil, provisionProductId: String? = nil, provisionProductName: String? = nil, planId: String? = nil, planName: String? = nil, planType: ProvisionedProductPlanType? = nil) { + self.provisioningArtifactId = provisioningArtifactId + self.provisionProductId = provisionProductId + self.provisionProductName = provisionProductName + self.planId = planId + self.planName = planName + self.planType = planType } private enum CodingKeys: String, CodingKey { - case id = "Id" + case provisioningArtifactId = "ProvisioningArtifactId" + case provisionProductId = "ProvisionProductId" + case provisionProductName = "ProvisionProductName" + case planId = "PlanId" + case planName = "PlanName" + case planType = "PlanType" + } + } + + public struct DescribeTagOptionInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// The TagOption identifier. + public let id: String + + public init(id: String) { + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" } } @@ -1635,6 +1914,22 @@ extension Servicecatalog { } + public struct ExecuteProvisionedProductPlanOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RecordDetail", required: false, type: .structure) + ] + /// Information about the result of provisioning the product. + public let recordDetail: RecordDetail? + + public init(recordDetail: RecordDetail? = nil) { + self.recordDetail = recordDetail + } + + private enum CodingKeys: String, CodingKey { + case recordDetail = "RecordDetail" + } + } + public struct DeleteConstraintInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), @@ -1642,7 +1937,7 @@ extension Servicecatalog { ] /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The identifier of the constraint to delete. + /// The identifier of the constraint. public let id: String public init(acceptLanguage: String? = nil, id: String) { @@ -1660,7 +1955,7 @@ extension Servicecatalog { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CopyProductToken", required: false, type: .string) ] - /// A unique token to pass to DescribeCopyProductStatus to track the progress of the operation. + /// The token to use to track the progress of the operation. public let copyProductToken: String? public init(copyProductToken: String? = nil) { @@ -1679,7 +1974,7 @@ extension Servicecatalog { ] /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The ProductViewId of the product to describe. + /// The product view identifier. public let id: String public init(acceptLanguage: String? = nil, id: String) { @@ -1699,7 +1994,7 @@ extension Servicecatalog { AWSShapeMember(label: "ProductId", required: true, type: .string), AWSShapeMember(label: "AcceptLanguage", required: false, type: .string) ] - /// The identifier of the provisioning artifact for the delete request. This is sometimes referred to as the product version. + /// The identifier of the provisioning artifact. public let provisioningArtifactId: String /// The product identifier. public let productId: String @@ -1719,6 +2014,27 @@ extension Servicecatalog { } } + public struct ListProvisionedProductPlansOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ProvisionedProductPlans", required: false, type: .list), + AWSShapeMember(label: "NextPageToken", required: false, type: .string) + ] + /// Information about the plans. + public let provisionedProductPlans: [ProvisionedProductPlanSummary]? + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. + public let nextPageToken: String? + + public init(provisionedProductPlans: [ProvisionedProductPlanSummary]? = nil, nextPageToken: String? = nil) { + self.provisionedProductPlans = provisionedProductPlans + self.nextPageToken = nextPageToken + } + + private enum CodingKeys: String, CodingKey { + case provisionedProductPlans = "ProvisionedProductPlans" + case nextPageToken = "NextPageToken" + } + } + public struct ParameterConstraints: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AllowedValues", required: false, type: .list) @@ -1735,6 +2051,37 @@ extension Servicecatalog { } } + public struct ResourceTargetDefinition: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RequiresRecreation", required: false, type: .enum), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Attribute", required: false, type: .enum) + ] + /// If the attribute is Properties, indicates whether a change to this property causes the resource to be re-created. + public let requiresRecreation: RequiresRecreation? + /// If the attribute is Properties, the value is the name of the property. Otherwise, the value is null. + public let name: String? + /// The attribute to be changed. + public let attribute: ResourceAttribute? + + public init(requiresRecreation: RequiresRecreation? = nil, name: String? = nil, attribute: ResourceAttribute? = nil) { + self.requiresRecreation = requiresRecreation + self.name = name + self.attribute = attribute + } + + private enum CodingKeys: String, CodingKey { + case requiresRecreation = "RequiresRecreation" + case name = "Name" + case attribute = "Attribute" + } + } + + public enum ProvisionedProductPlanType: String, CustomStringConvertible, Codable { + case cloudformation = "CLOUDFORMATION" + public var description: String { return self.rawValue } + } + public enum ProductSource: String, CustomStringConvertible, Codable { case account = "ACCOUNT" public var description: String { return self.rawValue } @@ -1747,13 +2094,13 @@ extension Servicecatalog { AWSShapeMember(label: "ProductId", required: true, type: .string), AWSShapeMember(label: "PageToken", required: false, type: .string) ] - /// The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null. + /// The maximum number of items to return with this call. public let pageSize: Int32? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? /// The product identifier. public let productId: String - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? public init(pageSize: Int32? = nil, acceptLanguage: String? = nil, productId: String, pageToken: String? = nil) { @@ -1786,11 +2133,11 @@ extension Servicecatalog { public let providerName: String? /// The ARN assigned to the portfolio. public let arn: String? - /// The text description of the portfolio. + /// The description of the portfolio. public let description: String? - /// The UTC timestamp of the creation time. + /// The UTC time stamp of the creation time. public let createdTime: TimeStamp? - /// The identifier for the portfolio. + /// The portfolio identifier. public let id: String? public init(displayName: String? = nil, providerName: String? = nil, arn: String? = nil, description: String? = nil, createdTime: TimeStamp? = nil, id: String? = nil) { @@ -1816,7 +2163,7 @@ extension Servicecatalog { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TagOptionDetail", required: false, type: .structure) ] - /// The resulting detailed TagOption information. + /// Information about the TagOption. public let tagOptionDetail: TagOptionDetail? public init(tagOptionDetail: TagOptionDetail? = nil) { @@ -1835,13 +2182,13 @@ extension Servicecatalog { AWSShapeMember(label: "ProductId", required: true, type: .string), AWSShapeMember(label: "PathId", required: false, type: .string) ] - /// The provisioning artifact identifier for this product. This is sometimes referred to as the product version. + /// The identifier of the provisioning artifact. public let provisioningArtifactId: String /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? /// The product identifier. public let productId: String - /// The identifier of the path for this product's provisioning. This value is optional if the product has a default path, and is required if there is more than one path for the specified product. + /// 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. public let pathId: String? public init(provisioningArtifactId: String, acceptLanguage: String? = nil, productId: String, pathId: String? = nil) { @@ -1864,9 +2211,9 @@ extension Servicecatalog { AWSShapeMember(label: "ProductViewDetails", required: false, type: .list), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// List of detailed product view information objects. + /// Information about the product views. public let productViewDetails: [ProductViewDetail]? - /// The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null. + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. public let nextPageToken: String? public init(productViewDetails: [ProductViewDetail]? = nil, nextPageToken: String? = nil) { @@ -1909,15 +2256,15 @@ extension Servicecatalog { AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// Description of the resource. + /// The description of the resource. public let description: String? - /// ARN of the resource. + /// The ARN of the resource. public let arn: String? - /// Name of the resource. + /// The name of the resource. public let name: String? - /// Creation time of the resource. + /// The creation time of the resource. public let createdTime: TimeStamp? - /// Identifier of the resource. + /// The identifier of the resource. public let id: String? public init(description: String? = nil, arn: String? = nil, name: String? = nil, createdTime: TimeStamp? = nil, id: String? = nil) { @@ -1937,32 +2284,79 @@ extension Servicecatalog { } } + public struct DeleteTagOptionInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// The TagOption identifier. + public let id: String + + public init(id: String) { + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + } + } + public struct ListAcceptedPortfolioSharesInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PageSize", required: false, type: .integer), AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), + AWSShapeMember(label: "PortfolioShareType", required: false, type: .enum), AWSShapeMember(label: "PageToken", required: false, type: .string) ] - /// The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null. + /// The maximum number of items to return with this call. public let pageSize: Int32? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The type of shared portfolios to list. The default is to list imported portfolios. AWS_SERVICECATALOG - List default portfolios IMPORTED - List imported portfolios + public let portfolioShareType: PortfolioShareType? + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? - public init(pageSize: Int32? = nil, acceptLanguage: String? = nil, pageToken: String? = nil) { + public init(pageSize: Int32? = nil, acceptLanguage: String? = nil, portfolioShareType: PortfolioShareType? = nil, pageToken: String? = nil) { self.pageSize = pageSize self.acceptLanguage = acceptLanguage + self.portfolioShareType = portfolioShareType self.pageToken = pageToken } private enum CodingKeys: String, CodingKey { case pageSize = "PageSize" case acceptLanguage = "AcceptLanguage" + case portfolioShareType = "PortfolioShareType" case pageToken = "PageToken" } } + public struct ExecuteProvisionedProductPlanInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PlanId", required: true, type: .string), + AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), + AWSShapeMember(label: "IdempotencyToken", required: true, type: .string) + ] + /// The plan identifier. + public let planId: String + /// The language code. en - English (default) jp - Japanese zh - Chinese + public let acceptLanguage: String? + /// 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. + public let idempotencyToken: String + + public init(planId: String, acceptLanguage: String? = nil, idempotencyToken: String) { + self.planId = planId + self.acceptLanguage = acceptLanguage + self.idempotencyToken = idempotencyToken + } + + private enum CodingKeys: String, CodingKey { + case planId = "PlanId" + case acceptLanguage = "AcceptLanguage" + case idempotencyToken = "IdempotencyToken" + } + } + public struct SearchProductsInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PageSize", required: false, type: .integer), @@ -1972,17 +2366,17 @@ extension Servicecatalog { AWSShapeMember(label: "SortOrder", required: false, type: .enum), AWSShapeMember(label: "PageToken", required: false, type: .string) ] - /// The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null. + /// The maximum number of items to return with this call. public let pageSize: Int32? - /// The sort field specifier. If no value is specified, results are not sorted. + /// The sort field. If no value is specified, the results are not sorted. public let sortBy: ProductViewSortBy? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The list of filters with which to limit search results. If no search filters are specified, the output is all the products to which the calling user has access. + /// The search filters. If no search filters are specified, the output includes all products to which the caller has access. public let filters: [ProductViewFilterBy: [String]]? - /// The sort order specifier. If no value is specified, results are not sorted. + /// The sort order. If no value is specified, the results are not sorted. public let sortOrder: SortOrder? - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? public init(pageSize: Int32? = nil, sortBy: ProductViewSortBy? = nil, acceptLanguage: String? = nil, filters: [ProductViewFilterBy: [String]]? = nil, sortOrder: SortOrder? = nil, pageToken: String? = nil) { @@ -2011,7 +2405,7 @@ extension Servicecatalog { ] /// The numeric value of the error. public let code: String? - /// The text description of the error. + /// The description of the error. public let description: String? public init(code: String? = nil, description: String? = nil) { @@ -2031,11 +2425,11 @@ extension Servicecatalog { AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), AWSShapeMember(label: "Id", required: true, type: .string) ] - /// The updated text description of the constraint. + /// The updated description of the constraint. public let description: String? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The identifier of the constraint to update. + /// The identifier of the constraint. public let id: String public init(description: String? = nil, acceptLanguage: String? = nil, id: String) { @@ -2063,23 +2457,23 @@ extension Servicecatalog { AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// The current status of the ProvisionedProduct. AVAILABLE - Stable state, ready to perform any operation. The most recent action request succeeded and completed. UNDER_CHANGE - Transitive state, operations performed may or may not have valid results. Wait for an AVAILABLE status before performing operations. TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version. ERROR - Something unexpected happened such that the provisioned product exists but the stack is not running. For example, CloudFormation received an invalid parameter value and could not launch the stack. + /// 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. public let status: ProvisionedProductStatus? - /// The ARN associated with the ProvisionedProduct object. + /// The ARN of the provisioned product. public let arn: String? - /// The record identifier of the last request performed on this ProvisionedProduct object. + /// The record identifier of the last request performed on this provisioned product. public let lastRecordId: String? - /// The user-friendly name of the ProvisionedProduct object. + /// The user-friendly name of the provisioned product. public let name: String? - /// A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request. + /// 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. public let idempotencyToken: String? - /// The type of the ProvisionedProduct object. + /// The type of provisioned product. The supported value is CFN_STACK. public let `type`: String? - /// The current status message of the ProvisionedProduct. + /// The current status message of the provisioned product. public let statusMessage: String? - /// The UTC timestamp of the creation time. + /// The UTC time stamp of the creation time. public let createdTime: TimeStamp? - /// The identifier of the ProvisionedProduct object. + /// The identifier of the provisioned product. public let id: String? public init(status: ProvisionedProductStatus? = nil, arn: String? = nil, lastRecordId: String? = nil, name: String? = nil, idempotencyToken: String? = nil, type: String? = nil, statusMessage: String? = nil, createdTime: TimeStamp? = nil, id: String? = nil) { @@ -2107,11 +2501,97 @@ extension Servicecatalog { } } + public struct ProvisionedProductPlanDetails: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ProvisioningArtifactId", required: false, type: .string), + AWSShapeMember(label: "UpdatedTime", required: false, type: .timestamp), + AWSShapeMember(label: "NotificationArns", required: false, type: .list), + AWSShapeMember(label: "PlanType", required: false, type: .enum), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "PathId", required: false, type: .string), + AWSShapeMember(label: "ProvisionProductId", required: false, type: .string), + AWSShapeMember(label: "ProvisioningParameters", required: false, type: .list), + AWSShapeMember(label: "PlanId", required: false, type: .string), + AWSShapeMember(label: "ProductId", required: false, type: .string), + AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), + AWSShapeMember(label: "PlanName", required: false, type: .string), + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "ProvisionProductName", required: false, type: .string), + AWSShapeMember(label: "StatusMessage", required: false, type: .string) + ] + /// The identifier of the provisioning artifact. + public let provisioningArtifactId: String? + /// The time when the plan was last updated. + public let updatedTime: TimeStamp? + /// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events. + public let notificationArns: [String]? + /// The plan type. + public let planType: ProvisionedProductPlanType? + /// One or more tags. + public let tags: [Tag]? + /// 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. + public let pathId: String? + /// The product identifier. + public let provisionProductId: String? + /// Parameters specified by the administrator that are required for provisioning the product. + public let provisioningParameters: [UpdateProvisioningParameter]? + /// The plan identifier. + public let planId: String? + /// The product identifier. + public let productId: String? + /// The UTC time stamp of the creation time. + public let createdTime: TimeStamp? + /// The name of the plan. + public let planName: String? + /// The status. + public let status: ProvisionedProductPlanStatus? + /// The user-friendly name of the provisioned product. + public let provisionProductName: String? + /// The status message. + public let statusMessage: String? + + public init(provisioningArtifactId: String? = nil, updatedTime: TimeStamp? = nil, notificationArns: [String]? = nil, planType: ProvisionedProductPlanType? = nil, tags: [Tag]? = nil, pathId: String? = nil, provisionProductId: String? = nil, provisioningParameters: [UpdateProvisioningParameter]? = nil, planId: String? = nil, productId: String? = nil, createdTime: TimeStamp? = nil, planName: String? = nil, status: ProvisionedProductPlanStatus? = nil, provisionProductName: String? = nil, statusMessage: String? = nil) { + self.provisioningArtifactId = provisioningArtifactId + self.updatedTime = updatedTime + self.notificationArns = notificationArns + self.planType = planType + self.tags = tags + self.pathId = pathId + self.provisionProductId = provisionProductId + self.provisioningParameters = provisioningParameters + self.planId = planId + self.productId = productId + self.createdTime = createdTime + self.planName = planName + self.status = status + self.provisionProductName = provisionProductName + self.statusMessage = statusMessage + } + + private enum CodingKeys: String, CodingKey { + case provisioningArtifactId = "ProvisioningArtifactId" + case updatedTime = "UpdatedTime" + case notificationArns = "NotificationArns" + case planType = "PlanType" + case tags = "Tags" + case pathId = "PathId" + case provisionProductId = "ProvisionProductId" + case provisioningParameters = "ProvisioningParameters" + case planId = "PlanId" + case productId = "ProductId" + case createdTime = "CreatedTime" + case planName = "PlanName" + case status = "Status" + case provisionProductName = "ProvisionProductName" + case statusMessage = "StatusMessage" + } + } + public struct ProvisionProductOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RecordDetail", required: false, type: .structure) ] - /// The detailed result of the ProvisionProduct request, containing the inputs made to that request, the current state of the request, a pointer to the ProvisionedProduct object of the request, and a list of any errors that the request encountered. + /// Information about the result of provisioning the product. public let recordDetail: RecordDetail? public init(recordDetail: RecordDetail? = nil) { @@ -2130,7 +2610,7 @@ extension Servicecatalog { ] /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The identifier of the product for the delete request. + /// The product identifier. public let id: String public init(acceptLanguage: String? = nil, id: String) { @@ -2149,9 +2629,9 @@ extension Servicecatalog { AWSShapeMember(label: "ResourceDetails", required: false, type: .list), AWSShapeMember(label: "PageToken", required: false, type: .string) ] - /// The resulting detailed resource information. + /// Information about the resources. public let resourceDetails: [ResourceDetail]? - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? public init(resourceDetails: [ResourceDetail]? = nil, pageToken: String? = nil) { @@ -2186,6 +2666,52 @@ extension Servicecatalog { } } + public struct ResourceChange: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Details", required: false, type: .list), + AWSShapeMember(label: "Action", required: false, type: .enum), + AWSShapeMember(label: "ResourceType", required: false, type: .string), + AWSShapeMember(label: "PhysicalResourceId", required: false, type: .string), + AWSShapeMember(label: "Replacement", required: false, type: .enum), + AWSShapeMember(label: "LogicalResourceId", required: false, type: .string), + AWSShapeMember(label: "Scope", required: false, type: .list) + ] + /// Information about the resource changes. + public let details: [ResourceChangeDetail]? + /// The change action. + public let action: ChangeAction? + /// The type of resource. + public let resourceType: String? + /// The ID of the resource, if it was already created. + public let physicalResourceId: String? + /// If the change type is Modify, indicates whether the existing resource is deleted and replaced with a new one. + public let replacement: Replacement? + /// The ID of the resource, as defined in the CloudFormation template. + public let logicalResourceId: String? + /// The change scope. + public let scope: [ResourceAttribute]? + + public init(details: [ResourceChangeDetail]? = nil, action: ChangeAction? = nil, resourceType: String? = nil, physicalResourceId: String? = nil, replacement: Replacement? = nil, logicalResourceId: String? = nil, scope: [ResourceAttribute]? = nil) { + self.details = details + self.action = action + self.resourceType = resourceType + self.physicalResourceId = physicalResourceId + self.replacement = replacement + self.logicalResourceId = logicalResourceId + self.scope = scope + } + + private enum CodingKeys: String, CodingKey { + case details = "Details" + case action = "Action" + case resourceType = "ResourceType" + case physicalResourceId = "PhysicalResourceId" + case replacement = "Replacement" + case logicalResourceId = "LogicalResourceId" + case scope = "Scope" + } + } + public struct ListRecordHistoryInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PageSize", required: false, type: .integer), @@ -2194,15 +2720,15 @@ extension Servicecatalog { AWSShapeMember(label: "SearchFilter", required: false, type: .structure), AWSShapeMember(label: "PageToken", required: false, type: .string) ] - /// The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null. + /// The maximum number of items to return with this call. public let pageSize: Int32? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The access level for obtaining results. If left unspecified, User level access is used. + /// The access level to use to obtain results. The default is User. public let accessLevelFilter: AccessLevelFilter? - /// The filter to limit search results. + /// The search filter to scope the results. public let searchFilter: ListRecordHistorySearchFilter? - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? public init(pageSize: Int32? = nil, acceptLanguage: String? = nil, accessLevelFilter: AccessLevelFilter? = nil, searchFilter: ListRecordHistorySearchFilter? = nil, pageToken: String? = nil) { @@ -2231,7 +2757,7 @@ extension Servicecatalog { ] /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The identifier of the source portfolio to use with this association. + /// The identifier of the source portfolio. public let sourcePortfolioId: String? /// The portfolio identifier. public let portfolioId: String @@ -2253,6 +2779,11 @@ extension Servicecatalog { } } + public enum ProvisionedProductViewFilterBy: String, CustomStringConvertible, Codable { + case searchquery = "SearchQuery" + public var description: String { return self.rawValue } + } + public struct UpdateProductInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Id", required: true, type: .string), @@ -2267,9 +2798,9 @@ extension Servicecatalog { AWSShapeMember(label: "SupportDescription", required: false, type: .string), AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The identifier of the product for the update request. + /// The product identifier. public let id: String - /// Tags to remove from the existing list of tags associated with the product. + /// The tags to remove from the product. public let removeTags: [String]? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? @@ -2279,7 +2810,7 @@ extension Servicecatalog { public let name: String? /// The updated distributor of the product. public let distributor: String? - /// Tags to add to the existing list of tags associated with the product. + /// The tags to add to the product. public let addTags: [Tag]? /// The updated support URL for the product. public let supportUrl: String? @@ -2287,7 +2818,7 @@ extension Servicecatalog { public let owner: String? /// The updated support description for the product. public let supportDescription: String? - /// The updated text description of the product. + /// The updated description of the product. public let description: String? public init(id: String, removeTags: [String]? = nil, acceptLanguage: String? = nil, supportEmail: String? = nil, name: String? = nil, distributor: String? = nil, addTags: [Tag]? = nil, supportUrl: String? = nil, owner: String? = nil, supportDescription: String? = nil, description: String? = nil) { @@ -2341,15 +2872,15 @@ extension Servicecatalog { AWSShapeMember(label: "ProvisionedProductId", required: false, type: .string), AWSShapeMember(label: "ProvisionedProductName", required: false, type: .string) ] - /// If set to true, AWS Service Catalog stops managing the specified ProvisionedProduct object even if it cannot delete the underlying resources. + /// If set to true, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources. public let ignoreErrors: Bool? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// An idempotency token that uniquely identifies the termination request. This token is only valid during the termination process. After the ProvisionedProduct object is terminated, further requests to terminate the same ProvisionedProduct object always return ResourceNotFound regardless of the value of TerminateToken. + /// 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. public let terminateToken: String - /// The identifier of the ProvisionedProduct object to terminate. Specify either ProvisionedProductName or ProvisionedProductId, but not both. + /// The identifier of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId. public let provisionedProductId: String? - /// The name of the ProvisionedProduct object to terminate. Specify either ProvisionedProductName or ProvisionedProductId, but not both. + /// The name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId. public let provisionedProductName: String? public init(ignoreErrors: Bool? = nil, acceptLanguage: String? = nil, terminateToken: String, provisionedProductId: String? = nil, provisionedProductName: String? = nil) { @@ -2375,54 +2906,63 @@ extension Servicecatalog { public var description: String { return self.rawValue } } - public struct RejectPortfolioShareOutput: AWSShape { + public struct DeleteProvisionedProductPlanOutput: AWSShape { } public struct UpdateProvisioningArtifactInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ProvisioningArtifactId", required: true, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), AWSShapeMember(label: "ProductId", required: true, type: .string), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "Active", required: false, type: .boolean), + AWSShapeMember(label: "Name", required: false, type: .string) ] - /// The identifier of the provisioning artifact for the update request. This is sometimes referred to as the product version. + /// The identifier of the provisioning artifact. public let provisioningArtifactId: String + /// The updated description of the provisioning artifact. + public let description: String? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? /// The product identifier. public let productId: String + /// Indicates whether the product version is active. + public let active: Bool? /// The updated name of the provisioning artifact. public let name: String? - /// The updated text description of the provisioning artifact. - public let description: String? - public init(provisioningArtifactId: String, acceptLanguage: String? = nil, productId: String, name: String? = nil, description: String? = nil) { + public init(provisioningArtifactId: String, description: String? = nil, acceptLanguage: String? = nil, productId: String, active: Bool? = nil, name: String? = nil) { self.provisioningArtifactId = provisioningArtifactId + self.description = description self.acceptLanguage = acceptLanguage self.productId = productId + self.active = active self.name = name - self.description = description } private enum CodingKeys: String, CodingKey { case provisioningArtifactId = "ProvisioningArtifactId" + case description = "Description" case acceptLanguage = "AcceptLanguage" case productId = "ProductId" + case active = "Active" case name = "Name" - case description = "Description" } } + public struct RejectPortfolioShareOutput: AWSShape { + + } + public struct CreatePortfolioOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PortfolioDetail", required: false, type: .structure), AWSShapeMember(label: "Tags", required: false, type: .list) ] - /// The resulting detailed portfolio information. + /// Information about the portfolio. public let portfolioDetail: PortfolioDetail? - /// Tags successfully associated with the new portfolio. + /// Information about the tags associated with the portfolio. public let tags: [Tag]? public init(portfolioDetail: PortfolioDetail? = nil, tags: [Tag]? = nil) { @@ -2442,11 +2982,11 @@ extension Servicecatalog { AWSShapeMember(label: "Tags", required: false, type: .list), AWSShapeMember(label: "TagOptions", required: false, type: .list) ] - /// Detailed portfolio information. + /// Information about the portfolio. public let portfolioDetail: PortfolioDetail? - /// Tags associated with the portfolio. + /// Information about the tags associated with the portfolio. public let tags: [Tag]? - /// TagOptions associated with the portfolio. + /// Information about the TagOptions associated with the portfolio. public let tagOptions: [TagOptionDetail]? public init(portfolioDetail: PortfolioDetail? = nil, tags: [Tag]? = nil, tagOptions: [TagOptionDetail]? = nil) { @@ -2474,9 +3014,9 @@ extension Servicecatalog { AWSShapeMember(label: "Value", required: false, type: .string), AWSShapeMember(label: "Key", required: false, type: .enum) ] - /// Specifies the user to which the access level applies. A value of Self is currently supported. + /// The user to which the access level applies. The only supported value is Self. public let value: String? - /// Specifies the access level. Account allows results at the account level. Role allows results based on the federated role of the specified user. User allows results limited to the specified user. + /// 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. public let key: AccessLevelFilterKey? public init(value: String? = nil, key: AccessLevelFilterKey? = nil) { @@ -2497,13 +3037,13 @@ extension Servicecatalog { AWSShapeMember(label: "Active", required: false, type: .boolean), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// The TagOptionDetail key. + /// The TagOption key. public let key: String? - /// The TagOptionDetail value. + /// The TagOption value. public let value: String? - /// The TagOptionDetail active state. + /// The TagOption active state. public let active: Bool? - /// The TagOptionDetail identifier. + /// The TagOption identifier. public let id: String? public init(key: String? = nil, value: String? = nil, active: Bool? = nil, id: String? = nil) { @@ -2526,9 +3066,9 @@ extension Servicecatalog { AWSShapeMember(label: "Type", required: false, type: .string), AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The type of the constraint. + /// The type of constraint. LAUNCH NOTIFICATION TEMPLATE public let `type`: String? - /// The text description of the constraint. + /// The description of the constraint. public let description: String? public init(type: String? = nil, description: String? = nil) { @@ -2542,6 +3082,92 @@ extension Servicecatalog { } } + public struct ProvisionedProductAttribute: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ProvisioningArtifactId", required: false, type: .string), + AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "LastRecordId", required: false, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "ProductId", required: false, type: .string), + AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), + AWSShapeMember(label: "Id", required: false, type: .string), + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "UserArnSession", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "IdempotencyToken", required: false, type: .string), + AWSShapeMember(label: "UserArn", required: false, type: .string), + AWSShapeMember(label: "Type", required: false, type: .string), + AWSShapeMember(label: "StatusMessage", required: false, type: .string), + AWSShapeMember(label: "PhysicalId", required: false, type: .string) + ] + /// The identifier of the provisioning artifact. + public let provisioningArtifactId: String? + /// The ARN of the provisioned product. + public let arn: String? + /// The record identifier of the last request performed on this provisioned product. + public let lastRecordId: String? + /// One or more tags. + public let tags: [Tag]? + /// The product identifier. + public let productId: String? + /// The UTC time stamp of the creation time. + public let createdTime: TimeStamp? + /// The identifier of the provisioned product. + public let id: String? + /// 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. + public let status: ProvisionedProductStatus? + /// The ARN of the IAM user in the session. This ARN might contain a session ID. + public let userArnSession: String? + /// The user-friendly name of the provisioned product. + public let name: String? + /// 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. + public let idempotencyToken: String? + /// The Amazon Resource Name (ARN) of the IAM user. + public let userArn: String? + /// The type of provisioned product. The supported value is CFN_STACK. + public let `type`: String? + /// The current status message of the provisioned product. + public let statusMessage: String? + /// The assigned identifier for the resource, such as an EC2 instance ID or an S3 bucket name. + public let physicalId: String? + + public init(provisioningArtifactId: String? = nil, arn: String? = nil, lastRecordId: String? = nil, tags: [Tag]? = nil, productId: String? = nil, createdTime: TimeStamp? = nil, id: String? = nil, status: ProvisionedProductStatus? = nil, userArnSession: String? = nil, name: String? = nil, idempotencyToken: String? = nil, userArn: String? = nil, type: String? = nil, statusMessage: String? = nil, physicalId: String? = nil) { + self.provisioningArtifactId = provisioningArtifactId + self.arn = arn + self.lastRecordId = lastRecordId + self.tags = tags + self.productId = productId + self.createdTime = createdTime + self.id = id + self.status = status + self.userArnSession = userArnSession + self.name = name + self.idempotencyToken = idempotencyToken + self.userArn = userArn + self.`type` = `type` + self.statusMessage = statusMessage + self.physicalId = physicalId + } + + private enum CodingKeys: String, CodingKey { + case provisioningArtifactId = "ProvisioningArtifactId" + case arn = "Arn" + case lastRecordId = "LastRecordId" + case tags = "Tags" + case productId = "ProductId" + case createdTime = "CreatedTime" + case id = "Id" + case status = "Status" + case userArnSession = "UserArnSession" + case name = "Name" + case idempotencyToken = "IdempotencyToken" + case userArn = "UserArn" + case `type` = "Type" + case statusMessage = "StatusMessage" + case physicalId = "PhysicalId" + } + } + public struct ProductViewSummary: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "HasDefaultPath", required: false, type: .boolean), @@ -2556,7 +3182,7 @@ extension Servicecatalog { AWSShapeMember(label: "SupportDescription", required: false, type: .string), AWSShapeMember(label: "Type", required: false, type: .enum) ] - /// A value of false indicates that the product does not have a default path, while a value of true indicates that it does. If it's false, call ListLaunchPaths to disambiguate between paths. If true, ListLaunchPaths is not required, and the output of the ProductViewSummary operation can be used directly with DescribeProvisioningParameters. + /// 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. public let hasDefaultPath: Bool? /// Short description of the product. public let shortDescription: String? @@ -2625,9 +3251,9 @@ extension Servicecatalog { ] /// The status of the current request. public let status: Status? - /// The resulting detailed provisioning artifact information. + /// Information about the provisioning artifact. public let provisioningArtifactDetail: ProvisioningArtifactDetail? - /// Additional information about the provisioning artifact update request. + /// The URL of the CloudFormation template in Amazon S3. public let info: [String: String]? public init(status: Status? = nil, provisioningArtifactDetail: ProvisioningArtifactDetail? = nil, info: [String: String]? = nil) { @@ -2669,9 +3295,9 @@ extension Servicecatalog { AWSShapeMember(label: "TagOptionDetails", required: false, type: .list), AWSShapeMember(label: "PageToken", required: false, type: .string) ] - /// The resulting detailed TagOption information. + /// Information about the TagOptions. public let tagOptionDetails: [TagOptionDetail]? - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? public init(tagOptionDetails: [TagOptionDetail]? = nil, pageToken: String? = nil) { @@ -2690,7 +3316,7 @@ extension Servicecatalog { AWSShapeMember(label: "CopyProductToken", required: true, type: .string), AWSShapeMember(label: "AcceptLanguage", required: false, type: .string) ] - /// The token returned from the call to CopyProduct that initiated the operation. + /// The token for the copy product operation. This token is returned by CopyProduct. public let copyProductToken: String /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? @@ -2706,17 +3332,39 @@ extension Servicecatalog { } } + public enum EvaluationType: String, CustomStringConvertible, Codable { + case `static` = "STATIC" + case dynamic = "DYNAMIC" + public var description: String { return self.rawValue } + } + + public struct CloudWatchDashboard: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: false, type: .string) + ] + /// The name of the CloudWatch dashboard. + public let name: String? + + public init(name: String? = nil) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + public struct DescribeConstraintOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ConstraintDetail", required: false, type: .structure), AWSShapeMember(label: "Status", required: false, type: .enum), AWSShapeMember(label: "ConstraintParameters", required: false, type: .string) ] - /// Detailed constraint information. + /// Information about the constraint. public let constraintDetail: ConstraintDetail? /// The status of the current request. public let status: Status? - /// The current parameters associated with the specified constraint. + /// The constraint parameters. public let constraintParameters: String? public init(constraintDetail: ConstraintDetail? = nil, status: Status? = nil, constraintParameters: String? = nil) { @@ -2744,9 +3392,9 @@ extension Servicecatalog { AWSShapeMember(label: "PrincipalARN", required: false, type: .string), AWSShapeMember(label: "PrincipalType", required: false, type: .enum) ] - /// The ARN representing the principal (IAM user, role, or group). + /// The ARN of the principal (IAM user, role, or group). public let principalARN: String? - /// The principal type. Must be IAM + /// The principal type. The supported value is IAM. public let principalType: PrincipalType? public init(principalARN: String? = nil, principalType: PrincipalType? = nil) { @@ -2766,11 +3414,11 @@ extension Servicecatalog { AWSShapeMember(label: "Filters", required: false, type: .structure), AWSShapeMember(label: "PageToken", required: false, type: .string) ] - /// The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null. + /// The maximum number of items to return with this call. public let pageSize: Int32? - /// The list of filters with which to limit search results. If no search filters are specified, the output is all TagOptions. + /// The search filters. If no search filters are specified, the output includes all TagOptions. public let filters: ListTagOptionsFilters? - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? public init(pageSize: Int32? = nil, filters: ListTagOptionsFilters? = nil, pageToken: String? = nil) { @@ -2790,7 +3438,7 @@ extension Servicecatalog { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TagOptionDetail", required: false, type: .structure) ] - /// The resulting detailed TagOption information. + /// Information about the TagOption. public let tagOptionDetail: TagOptionDetail? public init(tagOptionDetail: TagOptionDetail? = nil) { @@ -2804,24 +3452,28 @@ extension Servicecatalog { public struct ProvisioningArtifactDetail: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Active", required: false, type: .boolean), AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "Type", required: false, type: .enum), AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// The text description of the provisioning artifact. + /// Indicates whether the product version is active. + public let active: Bool? + /// The description of the provisioning artifact. public let description: String? - /// The type of the provisioning artifact. The following provisioning artifact types are used by AWS Marketplace products: MARKETPLACE_AMI - AMI products. MARKETPLACE_CAR - CAR (Cluster and AWS Resources) products. + /// The type of provisioning artifact. CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template MARKETPLACE_AMI - AWS Marketplace AMI MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources public let `type`: ProvisioningArtifactType? - /// The name assigned to the provisioning artifact. + /// The name of the provisioning artifact. public let name: String? - /// The UTC timestamp of the creation time. + /// The UTC time stamp of the creation time. public let createdTime: TimeStamp? - /// The identifier of the provisioning artifact. This is sometimes referred to as the product version. + /// The identifier of the provisioning artifact. public let id: String? - public init(description: String? = nil, type: ProvisioningArtifactType? = nil, name: String? = nil, createdTime: TimeStamp? = nil, id: String? = nil) { + public init(active: Bool? = nil, description: String? = nil, type: ProvisioningArtifactType? = nil, name: String? = nil, createdTime: TimeStamp? = nil, id: String? = nil) { + self.active = active self.description = description self.`type` = `type` self.name = name @@ -2830,6 +3482,7 @@ extension Servicecatalog { } private enum CodingKeys: String, CodingKey { + case active = "Active" case description = "Description" case `type` = "Type" case name = "Name" @@ -2850,7 +3503,7 @@ extension Servicecatalog { AWSShapeMember(label: "ProductId", required: false, type: .string), AWSShapeMember(label: "PageToken", required: false, type: .string) ] - /// The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null. + /// The maximum number of items to return with this call. public let pageSize: Int32? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? @@ -2858,7 +3511,7 @@ extension Servicecatalog { public let portfolioId: String /// The product identifier. public let productId: String? - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? public init(pageSize: Int32? = nil, acceptLanguage: String? = nil, portfolioId: String, productId: String? = nil, pageToken: String? = nil) { @@ -2913,9 +3566,9 @@ extension Servicecatalog { AWSShapeMember(label: "PortfolioDetails", required: false, type: .list), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// List of detailed portfolio information objects. + /// Information about the portfolios. public let portfolioDetails: [PortfolioDetail]? - /// The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null. + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. public let nextPageToken: String? public init(portfolioDetails: [PortfolioDetail]? = nil, nextPageToken: String? = nil) { @@ -2936,13 +3589,13 @@ extension Servicecatalog { AWSShapeMember(label: "PortfolioId", required: true, type: .string), AWSShapeMember(label: "PageToken", required: false, type: .string) ] - /// The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null. + /// The maximum number of items to return with this call. public let pageSize: Int32? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? /// The portfolio identifier. public let portfolioId: String - /// The page token of the first page retrieved. If null, this retrieves the first page of size PageSize. + /// The page token for the next set of results. To retrieve the first set of results, use null. public let pageToken: String? public init(pageSize: Int32? = nil, acceptLanguage: String? = nil, portfolioId: String, pageToken: String? = nil) { @@ -2965,33 +3618,33 @@ extension Servicecatalog { AWSShapeMember(label: "TargetProductId", required: false, type: .string), AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), AWSShapeMember(label: "TargetProductName", required: false, type: .string), + AWSShapeMember(label: "SourceProductArn", required: true, type: .string), AWSShapeMember(label: "IdempotencyToken", required: true, type: .string), AWSShapeMember(label: "SourceProvisioningArtifactIdentifiers", required: false, type: .list), - AWSShapeMember(label: "SourceProductArn", required: true, type: .string), AWSShapeMember(label: "CopyOptions", required: false, type: .list) ] - /// The ID of the target product. By default, a new product is created. + /// The identifier of the target product. By default, a new product is created. public let targetProductId: String? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? /// A name for the target product. The default is the name of the source product. public let targetProductName: String? - /// A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request. - public let idempotencyToken: String - /// The IDs of the product versions to copy. By default, all provisioning artifacts are copied. - public let sourceProvisioningArtifactIdentifiers: [[ProvisioningArtifactPropertyName: String]]? /// The Amazon Resource Name (ARN) of the source product. public let sourceProductArn: String + /// 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. + public let idempotencyToken: String + /// The identifiers of the provisioning artifacts (also known as versions) of the product to copy. By default, all provisioning artifacts are copied. + public let sourceProvisioningArtifactIdentifiers: [[ProvisioningArtifactPropertyName: String]]? /// The copy options. If the value is CopyTags, the tags from the source product are copied to the target product. public let copyOptions: [CopyOption]? - public init(targetProductId: String? = nil, acceptLanguage: String? = nil, targetProductName: String? = nil, idempotencyToken: String, sourceProvisioningArtifactIdentifiers: [[ProvisioningArtifactPropertyName: String]]? = nil, sourceProductArn: String, copyOptions: [CopyOption]? = nil) { + public init(targetProductId: String? = nil, acceptLanguage: String? = nil, targetProductName: String? = nil, sourceProductArn: String, idempotencyToken: String, sourceProvisioningArtifactIdentifiers: [[ProvisioningArtifactPropertyName: String]]? = nil, copyOptions: [CopyOption]? = nil) { self.targetProductId = targetProductId self.acceptLanguage = acceptLanguage self.targetProductName = targetProductName + self.sourceProductArn = sourceProductArn self.idempotencyToken = idempotencyToken self.sourceProvisioningArtifactIdentifiers = sourceProvisioningArtifactIdentifiers - self.sourceProductArn = sourceProductArn self.copyOptions = copyOptions } @@ -2999,9 +3652,9 @@ extension Servicecatalog { case targetProductId = "TargetProductId" case acceptLanguage = "AcceptLanguage" case targetProductName = "TargetProductName" + case sourceProductArn = "SourceProductArn" case idempotencyToken = "IdempotencyToken" case sourceProvisioningArtifactIdentifiers = "SourceProvisioningArtifactIdentifiers" - case sourceProductArn = "SourceProductArn" case copyOptions = "CopyOptions" } } @@ -3014,6 +3667,68 @@ extension Servicecatalog { } + public struct ListProvisionedProductPlansInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PageSize", required: false, type: .integer), + AWSShapeMember(label: "ProvisionProductId", required: false, type: .string), + AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), + AWSShapeMember(label: "AccessLevelFilter", required: false, type: .structure), + AWSShapeMember(label: "PageToken", required: false, type: .string) + ] + /// The maximum number of items to return with this call. + public let pageSize: Int32? + /// The product identifier. + public let provisionProductId: String? + /// The language code. en - English (default) jp - Japanese zh - Chinese + public let acceptLanguage: String? + /// The access level to use to obtain results. The default is User. + public let accessLevelFilter: AccessLevelFilter? + /// The page token for the next set of results. To retrieve the first set of results, use null. + public let pageToken: String? + + public init(pageSize: Int32? = nil, provisionProductId: String? = nil, acceptLanguage: String? = nil, accessLevelFilter: AccessLevelFilter? = nil, pageToken: String? = nil) { + self.pageSize = pageSize + self.provisionProductId = provisionProductId + self.acceptLanguage = acceptLanguage + self.accessLevelFilter = accessLevelFilter + self.pageToken = pageToken + } + + private enum CodingKeys: String, CodingKey { + case pageSize = "PageSize" + case provisionProductId = "ProvisionProductId" + case acceptLanguage = "AcceptLanguage" + case accessLevelFilter = "AccessLevelFilter" + case pageToken = "PageToken" + } + } + + public struct SearchProvisionedProductsOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TotalResultsCount", required: false, type: .integer), + AWSShapeMember(label: "ProvisionedProducts", required: false, type: .list), + AWSShapeMember(label: "NextPageToken", required: false, type: .string) + ] + /// The number of provisioned products found. + public let totalResultsCount: Int32? + /// Information about the provisioned products. + public let provisionedProducts: [ProvisionedProductAttribute]? + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. + public let nextPageToken: String? + + public init(totalResultsCount: Int32? = nil, provisionedProducts: [ProvisionedProductAttribute]? = nil, nextPageToken: String? = nil) { + self.totalResultsCount = totalResultsCount + self.provisionedProducts = provisionedProducts + self.nextPageToken = nextPageToken + } + + private enum CodingKeys: String, CodingKey { + case totalResultsCount = "TotalResultsCount" + case provisionedProducts = "ProvisionedProducts" + case nextPageToken = "NextPageToken" + } + } + public struct DescribeCopyProductStatusOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CopyProductStatus", required: false, type: .enum), @@ -3024,7 +3739,7 @@ extension Servicecatalog { public let copyProductStatus: CopyProductStatus? /// The status message. public let statusDetail: String? - /// The ID of the copied product. + /// The identifier of the copied product. public let targetProductId: String? public init(copyProductStatus: CopyProductStatus? = nil, statusDetail: String? = nil, targetProductId: String? = nil) { @@ -3045,9 +3760,9 @@ extension Servicecatalog { AWSShapeMember(label: "ProductViewSummary", required: false, type: .structure), AWSShapeMember(label: "ProvisioningArtifacts", required: false, type: .list) ] - /// The summary metadata about the specified product. + /// Summary information about the product view. public let productViewSummary: ProductViewSummary? - /// A list of provisioning artifact objects for the specified product. The ProvisioningArtifacts parameter represent the ways the specified product can be provisioned. + /// Information about the provisioning artifacts for the specified product. public let provisioningArtifacts: [ProvisioningArtifact]? public init(productViewSummary: ProductViewSummary? = nil, provisioningArtifacts: [ProvisioningArtifact]? = nil) { @@ -3065,7 +3780,7 @@ extension Servicecatalog { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ProvisioningArtifactId", required: false, type: .string), AWSShapeMember(label: "UpdatedTime", required: false, type: .timestamp), - AWSShapeMember(label: "ProvisionedProductName", required: false, type: .string), + AWSShapeMember(label: "ProvisionedProductType", required: false, type: .string), AWSShapeMember(label: "PathId", required: false, type: .string), AWSShapeMember(label: "ProductId", required: false, type: .string), AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp), @@ -3074,40 +3789,40 @@ extension Servicecatalog { AWSShapeMember(label: "ProvisionedProductId", required: false, type: .string), AWSShapeMember(label: "RecordType", required: false, type: .string), AWSShapeMember(label: "RecordId", required: false, type: .string), - AWSShapeMember(label: "ProvisionedProductType", required: false, type: .string), - AWSShapeMember(label: "RecordTags", required: false, type: .list) + AWSShapeMember(label: "RecordTags", required: false, type: .list), + AWSShapeMember(label: "ProvisionedProductName", required: false, type: .string) ] - /// The provisioning artifact identifier for this product. This is sometimes referred to as the product version. + /// The identifier of the provisioning artifact. public let provisioningArtifactId: String? - /// The time when the record for the ProvisionedProduct object was last updated. + /// The time when the record was last updated. public let updatedTime: TimeStamp? - /// The user-friendly name of the ProvisionedProduct object. - public let provisionedProductName: String? - /// The identifier of the path for this product's provisioning. + /// The type of provisioned product. The supported value is CFN_STACK. + public let provisionedProductType: String? + /// The path identifier. public let pathId: String? /// The product identifier. public let productId: String? - /// The UTC timestamp of the creation time. + /// The UTC time stamp of the creation time. public let createdTime: TimeStamp? - /// A list of errors that occurred while processing the request. + /// The errors that occurred. public let recordErrors: [RecordError]? - /// The status of the ProvisionedProduct object. CREATED - Request created but the operation has not yet started. IN_PROGRESS - The requested operation is in-progress. IN_PROGRESS_IN_ERROR - The provisioned product is under change but the requested operation failed and some remediation is occurring. For example, a rollback. SUCCEEDED - The requested operation has successfully completed. FAILED - The requested operation has completed but has failed. Investigate using the error messages returned. + /// 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. public let status: RecordStatus? - /// The identifier of the ProvisionedProduct object. + /// The identifier of the provisioned product. public let provisionedProductId: String? - /// The record type for this record. + /// The record type. PROVISION_PRODUCT UPDATE_PROVISIONED_PRODUCT TERMINATE_PROVISIONED_PRODUCT public let recordType: String? - /// The identifier of the ProvisionedProduct object record. + /// The identifier of the record. public let recordId: String? - /// The type of the ProvisionedProduct object. - public let provisionedProductType: String? - /// List of tags associated with this record. + /// One or more tags. public let recordTags: [RecordTag]? + /// The user-friendly name of the provisioned product. + public let provisionedProductName: String? - public init(provisioningArtifactId: String? = nil, updatedTime: TimeStamp? = nil, provisionedProductName: String? = nil, pathId: String? = nil, productId: String? = nil, createdTime: TimeStamp? = nil, recordErrors: [RecordError]? = nil, status: RecordStatus? = nil, provisionedProductId: String? = nil, recordType: String? = nil, recordId: String? = nil, provisionedProductType: String? = nil, recordTags: [RecordTag]? = nil) { + public init(provisioningArtifactId: String? = nil, updatedTime: TimeStamp? = nil, provisionedProductType: String? = nil, pathId: String? = nil, productId: String? = nil, createdTime: TimeStamp? = nil, recordErrors: [RecordError]? = nil, status: RecordStatus? = nil, provisionedProductId: String? = nil, recordType: String? = nil, recordId: String? = nil, recordTags: [RecordTag]? = nil, provisionedProductName: String? = nil) { self.provisioningArtifactId = provisioningArtifactId self.updatedTime = updatedTime - self.provisionedProductName = provisionedProductName + self.provisionedProductType = provisionedProductType self.pathId = pathId self.productId = productId self.createdTime = createdTime @@ -3116,14 +3831,14 @@ extension Servicecatalog { self.provisionedProductId = provisionedProductId self.recordType = recordType self.recordId = recordId - self.provisionedProductType = provisionedProductType self.recordTags = recordTags + self.provisionedProductName = provisionedProductName } private enum CodingKeys: String, CodingKey { case provisioningArtifactId = "ProvisioningArtifactId" case updatedTime = "UpdatedTime" - case provisionedProductName = "ProvisionedProductName" + case provisionedProductType = "ProvisionedProductType" case pathId = "PathId" case productId = "ProductId" case createdTime = "CreatedTime" @@ -3132,8 +3847,8 @@ extension Servicecatalog { case provisionedProductId = "ProvisionedProductId" case recordType = "RecordType" case recordId = "RecordId" - case provisionedProductType = "ProvisionedProductType" case recordTags = "RecordTags" + case provisionedProductName = "ProvisionedProductName" } } @@ -3145,9 +3860,9 @@ extension Servicecatalog { ] /// The status of the current request. public let status: Status? - /// Detailed provisioning artifact information. + /// Information about the provisioning artifact. public let provisioningArtifactDetail: ProvisioningArtifactDetail? - /// Additional information about the provisioning artifact. + /// The URL of the CloudFormation template in Amazon S3. public let info: [String: String]? public init(status: Status? = nil, provisioningArtifactDetail: ProvisioningArtifactDetail? = nil, info: [String: String]? = nil) { @@ -3163,14 +3878,80 @@ extension Servicecatalog { } } + public struct CreateProvisionedProductPlanInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ProvisioningArtifactId", required: true, type: .string), + AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), + AWSShapeMember(label: "NotificationArns", required: false, type: .list), + AWSShapeMember(label: "PlanType", required: true, type: .enum), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "PathId", required: false, type: .string), + AWSShapeMember(label: "ProvisioningParameters", required: false, type: .list), + AWSShapeMember(label: "IdempotencyToken", required: true, type: .string), + AWSShapeMember(label: "PlanName", required: true, type: .string), + AWSShapeMember(label: "ProductId", required: true, type: .string), + AWSShapeMember(label: "ProvisionedProductName", required: true, type: .string) + ] + /// The identifier of the provisioning artifact. + public let provisioningArtifactId: String + /// The language code. en - English (default) jp - Japanese zh - Chinese + public let acceptLanguage: String? + /// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events. + public let notificationArns: [String]? + /// The plan type. + public let planType: ProvisionedProductPlanType + /// One or more tags. + public let tags: [Tag]? + /// 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. + public let pathId: String? + /// Parameters specified by the administrator that are required for provisioning the product. + public let provisioningParameters: [UpdateProvisioningParameter]? + /// 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. + public let idempotencyToken: String + /// The name of the plan. + public let planName: String + /// The product identifier. + public let productId: String + /// 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. + public let provisionedProductName: String + + public init(provisioningArtifactId: String, acceptLanguage: String? = nil, notificationArns: [String]? = nil, planType: ProvisionedProductPlanType, tags: [Tag]? = nil, pathId: String? = nil, provisioningParameters: [UpdateProvisioningParameter]? = nil, idempotencyToken: String, planName: String, productId: String, provisionedProductName: String) { + self.provisioningArtifactId = provisioningArtifactId + self.acceptLanguage = acceptLanguage + self.notificationArns = notificationArns + self.planType = planType + self.tags = tags + self.pathId = pathId + self.provisioningParameters = provisioningParameters + self.idempotencyToken = idempotencyToken + self.planName = planName + self.productId = productId + self.provisionedProductName = provisionedProductName + } + + private enum CodingKeys: String, CodingKey { + case provisioningArtifactId = "ProvisioningArtifactId" + case acceptLanguage = "AcceptLanguage" + case notificationArns = "NotificationArns" + case planType = "PlanType" + case tags = "Tags" + case pathId = "PathId" + case provisioningParameters = "ProvisioningParameters" + case idempotencyToken = "IdempotencyToken" + case planName = "PlanName" + case productId = "ProductId" + case provisionedProductName = "ProvisionedProductName" + } + } + public struct DisassociateTagOptionFromResourceInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ResourceId", required: true, type: .string), AWSShapeMember(label: "TagOptionId", required: true, type: .string) ] - /// Identifier of the resource from which to disassociate the TagOption. + /// The resource identifier. public let resourceId: String - /// Identifier of the TagOption to disassociate from the resource. + /// The TagOption identifier. public let tagOptionId: String public init(resourceId: String, tagOptionId: String) { @@ -3205,6 +3986,16 @@ extension Servicecatalog { } } + public enum ProvisionedProductPlanStatus: String, CustomStringConvertible, Codable { + case createInProgress = "CREATE_IN_PROGRESS" + case createSuccess = "CREATE_SUCCESS" + case createFailed = "CREATE_FAILED" + case executeInProgress = "EXECUTE_IN_PROGRESS" + case executeSuccess = "EXECUTE_SUCCESS" + case executeFailed = "EXECUTE_FAILED" + public var description: String { return self.rawValue } + } + public struct DisassociateTagOptionFromResourceOutput: AWSShape { } @@ -3256,9 +4047,9 @@ extension Servicecatalog { AWSShapeMember(label: "PortfolioDetails", required: false, type: .list), AWSShapeMember(label: "NextPageToken", required: false, type: .string) ] - /// List of detailed portfolio information objects. + /// Information about the portfolios. public let portfolioDetails: [PortfolioDetail]? - /// The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null. + /// The page token to use to retrieve the next set of results. If there are no additional results, this value is null. public let nextPageToken: String? public init(portfolioDetails: [PortfolioDetail]? = nil, nextPageToken: String? = nil) { @@ -3277,32 +4068,32 @@ extension Servicecatalog { AWSShapeMember(label: "Id", required: true, type: .string), AWSShapeMember(label: "RemoveTags", required: false, type: .list), AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), - AWSShapeMember(label: "DisplayName", required: false, type: .string), AWSShapeMember(label: "AddTags", required: false, type: .list), + AWSShapeMember(label: "DisplayName", required: false, type: .string), AWSShapeMember(label: "ProviderName", required: false, type: .string), AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The identifier of the portfolio for the update request. + /// The portfolio identifier. public let id: String - /// Tags to remove from the existing list of tags associated with the portfolio. + /// The tags to remove. public let removeTags: [String]? /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? + /// The tags to add. + public let addTags: [Tag]? /// The name to use for display purposes. public let displayName: String? - /// Tags to add to the existing list of tags associated with the portfolio. - public let addTags: [Tag]? /// The updated name of the portfolio provider. public let providerName: String? - /// The updated text description of the portfolio. + /// The updated description of the portfolio. public let description: String? - public init(id: String, removeTags: [String]? = nil, acceptLanguage: String? = nil, displayName: String? = nil, addTags: [Tag]? = nil, providerName: String? = nil, description: String? = nil) { + public init(id: String, removeTags: [String]? = nil, acceptLanguage: String? = nil, addTags: [Tag]? = nil, displayName: String? = nil, providerName: String? = nil, description: String? = nil) { self.id = id self.removeTags = removeTags self.acceptLanguage = acceptLanguage - self.displayName = displayName self.addTags = addTags + self.displayName = displayName self.providerName = providerName self.description = description } @@ -3311,8 +4102,8 @@ extension Servicecatalog { case id = "Id" case removeTags = "RemoveTags" case acceptLanguage = "AcceptLanguage" - case displayName = "DisplayName" case addTags = "AddTags" + case displayName = "DisplayName" case providerName = "ProviderName" case description = "Description" } @@ -3329,11 +4120,11 @@ extension Servicecatalog { AWSShapeMember(label: "PrincipalType", required: true, type: .enum), AWSShapeMember(label: "PortfolioId", required: true, type: .string) ] - /// The ARN representing the principal (IAM user, role, or group). + /// The ARN of the principal (IAM user, role, or group). public let principalARN: String /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The principal type. Must be IAM + /// The principal type. The supported value is IAM. public let principalType: PrincipalType /// The portfolio identifier. public let portfolioId: String @@ -3353,14 +4144,14 @@ extension Servicecatalog { } } - public struct DescribeProductAsAdminInput: AWSShape { + public struct DescribePortfolioInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), AWSShapeMember(label: "Id", required: true, type: .string) ] /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The identifier of the product for which to retrieve information. + /// The portfolio identifier. public let id: String public init(acceptLanguage: String? = nil, id: String) { @@ -3374,14 +4165,14 @@ extension Servicecatalog { } } - public struct DescribePortfolioInput: AWSShape { + public struct DescribeProductAsAdminInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AcceptLanguage", required: false, type: .string), AWSShapeMember(label: "Id", required: true, type: .string) ] /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// The identifier of the portfolio for which to retrieve information. + /// The product identifier. public let id: String public init(acceptLanguage: String? = nil, id: String) { @@ -3412,27 +4203,27 @@ extension Servicecatalog { ] /// The language code. en - English (default) jp - Japanese zh - Chinese public let acceptLanguage: String? - /// Contact email for product support. + /// The contact email for product support. public let supportEmail: String? /// The name of the product. public let name: String /// The distributor of the product. public let distributor: String? - /// A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request. + /// 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. public let idempotencyToken: String - /// The type of the product to create. + /// The type of product. public let productType: ProductType - /// Tags to associate with the new product. + /// One or more tags. public let tags: [Tag]? - /// Parameters for the provisioning artifact. + /// The configuration of the provisioning artifact. public let provisioningArtifactParameters: ProvisioningArtifactProperties - /// Contact URL for product support. + /// The contact URL for product support. public let supportUrl: String? /// The owner of the product. public let owner: String - /// Support information about the product. + /// The support information about the product. public let supportDescription: String? - /// The text description of the product. + /// The description of the product. public let description: String? public init(acceptLanguage: String? = nil, supportEmail: String? = nil, name: String, distributor: String? = nil, idempotencyToken: String, productType: ProductType, tags: [Tag]? = nil, provisioningArtifactParameters: ProvisioningArtifactProperties, supportUrl: String? = nil, owner: String, supportDescription: String? = nil, description: String? = nil) { @@ -3474,9 +4265,9 @@ extension Servicecatalog { ] /// The status of the current request. public let status: Status? - /// The resulting detailed provisioning artifact information. + /// Information about the provisioning artifact. public let provisioningArtifactDetail: ProvisioningArtifactDetail? - /// Additional information about the creation request for the provisioning artifact. + /// The URL of the CloudFormation template in Amazon S3, in JSON format. public let info: [String: String]? public init(status: Status? = nil, provisioningArtifactDetail: ProvisioningArtifactDetail? = nil, info: [String: String]? = nil) { @@ -3523,7 +4314,7 @@ extension Servicecatalog { public let value: String? /// The updated active state. public let active: Bool? - /// The identifier of the constraint to update. + /// The TagOption identifier. public let id: String public init(value: String? = nil, active: Bool? = nil, id: String) { diff --git a/Sources/AWSSDKSwift/Services/servicediscovery/Servicediscovery_API.swift b/Sources/AWSSDKSwift/Services/servicediscovery/Servicediscovery_API.swift new file mode 100644 index 00000000000..7be7cf8c71b --- /dev/null +++ b/Sources/AWSSDKSwift/Services/servicediscovery/Servicediscovery_API.swift @@ -0,0 +1,118 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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. +*/ +public struct Servicediscovery { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + amzTarget: "Route53AutoNaming_v20170314", + service: "servicediscovery", + serviceProtocol: ServiceProtocol(type: .json, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2017-03-14", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [ServicediscoveryError.self] + ) + } + + /// Deletes a namespace from the current account. If the namespace still contains one or more services, the request fails. + public func deleteNamespace(_ input: DeleteNamespaceRequest) throws -> DeleteNamespaceResponse { + return try client.send(operation: "DeleteNamespace", path: "/", httpMethod: "POST", input: input) + } + + public func updateInstanceCustomHealthStatus(_ input: UpdateInstanceCustomHealthStatusRequest) throws { + _ = try client.send(operation: "UpdateInstanceCustomHealthStatus", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func getInstancesHealthStatus(_ input: GetInstancesHealthStatusRequest) throws -> GetInstancesHealthStatusResponse { + return try client.send(operation: "GetInstancesHealthStatus", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes a specified service. If the service still contains one or more registered instances, the request fails. + public func deleteService(_ input: DeleteServiceRequest) throws -> DeleteServiceResponse { + return try client.send(operation: "DeleteService", path: "/", httpMethod: "POST", input: input) + } + + /// Gets information about a specified instance. + public func getInstance(_ input: GetInstanceRequest) throws -> GetInstanceResponse { + return try client.send(operation: "GetInstance", path: "/", httpMethod: "POST", input: input) + } + + /// Gets information about a namespace. + public func getNamespace(_ input: GetNamespaceRequest) throws -> GetNamespaceResponse { + return try client.send(operation: "GetNamespace", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func getOperation(_ input: GetOperationRequest) throws -> GetOperationResponse { + return try client.send(operation: "GetOperation", path: "/", httpMethod: "POST", input: input) + } + + /// Lists operations that match the criteria that you specify. + public func listOperations(_ input: ListOperationsRequest) throws -> ListOperationsResponse { + return try client.send(operation: "ListOperations", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func createPublicDnsNamespace(_ input: CreatePublicDnsNamespaceRequest) throws -> CreatePublicDnsNamespaceResponse { + return try client.send(operation: "CreatePublicDnsNamespace", path: "/", httpMethod: "POST", input: input) + } + + /// Lists summary information for all the services that are associated with one or more specified namespaces. + public func listServices(_ input: ListServicesRequest) throws -> ListServicesResponse { + return try client.send(operation: "ListServices", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func registerInstance(_ input: RegisterInstanceRequest) throws -> RegisterInstanceResponse { + return try client.send(operation: "RegisterInstance", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes the records and the health check, if any, that Amazon Route 53 created for the specified instance. + public func deregisterInstance(_ input: DeregisterInstanceRequest) throws -> DeregisterInstanceResponse { + return try client.send(operation: "DeregisterInstance", path: "/", httpMethod: "POST", input: input) + } + + /// Lists summary information about the namespaces that were created by the current AWS account. + public func listNamespaces(_ input: ListNamespacesRequest) throws -> ListNamespacesResponse { + return try client.send(operation: "ListNamespaces", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func createService(_ input: CreateServiceRequest) throws -> CreateServiceResponse { + return try client.send(operation: "CreateService", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func updateService(_ input: UpdateServiceRequest) throws -> UpdateServiceResponse { + return try client.send(operation: "UpdateService", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func createPrivateDnsNamespace(_ input: CreatePrivateDnsNamespaceRequest) throws -> CreatePrivateDnsNamespaceResponse { + return try client.send(operation: "CreatePrivateDnsNamespace", path: "/", httpMethod: "POST", input: input) + } + + /// Lists summary information about the instances that you registered by using a specified service. + public func listInstances(_ input: ListInstancesRequest) throws -> ListInstancesResponse { + return try client.send(operation: "ListInstances", path: "/", httpMethod: "POST", input: input) + } + + /// Gets the settings for a specified service. + public func getService(_ input: GetServiceRequest) throws -> GetServiceResponse { + return try client.send(operation: "GetService", path: "/", httpMethod: "POST", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/servicediscovery/Servicediscovery_Error.swift b/Sources/AWSSDKSwift/Services/servicediscovery/Servicediscovery_Error.swift new file mode 100644 index 00000000000..a125dc2da0a --- /dev/null +++ b/Sources/AWSSDKSwift/Services/servicediscovery/Servicediscovery_Error.swift @@ -0,0 +1,53 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Servicediscovery +public enum ServicediscoveryError: AWSErrorType { + case invalidInput(message: String?) + case namespaceNotFound(message: String?) + case resourceInUse(message: String?) + case duplicateRequest(message: String?) + case instanceNotFound(message: String?) + case serviceNotFound(message: String?) + case customHealthNotFound(message: String?) + case operationNotFound(message: String?) + case namespaceAlreadyExists(message: String?) + case resourceLimitExceeded(message: String?) + case serviceAlreadyExists(message: String?) +} + +extension ServicediscoveryError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "InvalidInput": + self = .invalidInput(message: message) + case "NamespaceNotFound": + self = .namespaceNotFound(message: message) + case "ResourceInUse": + self = .resourceInUse(message: message) + case "DuplicateRequest": + self = .duplicateRequest(message: message) + case "InstanceNotFound": + self = .instanceNotFound(message: message) + case "ServiceNotFound": + self = .serviceNotFound(message: message) + case "CustomHealthNotFound": + self = .customHealthNotFound(message: message) + case "OperationNotFound": + self = .operationNotFound(message: message) + case "NamespaceAlreadyExists": + self = .namespaceAlreadyExists(message: message) + case "ResourceLimitExceeded": + self = .resourceLimitExceeded(message: message) + case "ServiceAlreadyExists": + self = .serviceAlreadyExists(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/servicediscovery/Servicediscovery_Shapes.swift b/Sources/AWSSDKSwift/Services/servicediscovery/Servicediscovery_Shapes.swift new file mode 100644 index 00000000000..cc886d3840b --- /dev/null +++ b/Sources/AWSSDKSwift/Services/servicediscovery/Servicediscovery_Shapes.swift @@ -0,0 +1,1353 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Servicediscovery { + + public struct CreateServiceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "HealthCheckConfig", required: false, type: .structure), + AWSShapeMember(label: "CreatorRequestId", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "HealthCheckCustomConfig", required: false, type: .structure), + AWSShapeMember(label: "DnsConfig", required: true, type: .structure) + ] + /// A description for the service. + public let description: String? + /// 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. + public let healthCheckConfig: HealthCheckConfig? + /// 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. + public let creatorRequestId: String? + /// The name that you want to assign to the service. + public let name: String + public let healthCheckCustomConfig: HealthCheckCustomConfig? + /// A complex type that contains information about the records that you want Route 53 to create when you register an instance. + public let dnsConfig: DnsConfig + + public init(description: String? = nil, healthCheckConfig: HealthCheckConfig? = nil, creatorRequestId: String? = nil, name: String, healthCheckCustomConfig: HealthCheckCustomConfig? = nil, dnsConfig: DnsConfig) { + self.description = description + self.healthCheckConfig = healthCheckConfig + self.creatorRequestId = creatorRequestId + self.name = name + self.healthCheckCustomConfig = healthCheckCustomConfig + self.dnsConfig = dnsConfig + } + + private enum CodingKeys: String, CodingKey { + case description = "Description" + case healthCheckConfig = "HealthCheckConfig" + case creatorRequestId = "CreatorRequestId" + case name = "Name" + case healthCheckCustomConfig = "HealthCheckCustomConfig" + case dnsConfig = "DnsConfig" + } + } + + public struct ListOperationsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let nextToken: String? + /// 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. + public let filters: [OperationFilter]? + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, filters: [OperationFilter]? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.filters = filters + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case filters = "Filters" + case maxResults = "MaxResults" + } + } + + public struct RegisterInstanceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Attributes", required: true, type: .map), + AWSShapeMember(label: "ServiceId", required: true, type: .string), + AWSShapeMember(label: "CreatorRequestId", required: false, type: .string), + AWSShapeMember(label: "InstanceId", required: true, type: .string) + ] + /// 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. + public let attributes: [String: String] + /// The ID of the service that you want to use for settings for the records and health check that Route 53 will create. + public let serviceId: String + /// 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. + public let creatorRequestId: String? + /// 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. + public let instanceId: String + + public init(attributes: [String: String], serviceId: String, creatorRequestId: String? = nil, instanceId: String) { + self.attributes = attributes + self.serviceId = serviceId + self.creatorRequestId = creatorRequestId + self.instanceId = instanceId + } + + private enum CodingKeys: String, CodingKey { + case attributes = "Attributes" + case serviceId = "ServiceId" + case creatorRequestId = "CreatorRequestId" + case instanceId = "InstanceId" + } + } + + public struct CreatePrivateDnsNamespaceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OperationId", required: false, type: .string) + ] + /// A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation. + public let operationId: String? + + public init(operationId: String? = nil) { + self.operationId = operationId + } + + private enum CodingKeys: String, CodingKey { + case operationId = "OperationId" + } + } + + public enum OperationStatus: String, CustomStringConvertible, Codable { + case submitted = "SUBMITTED" + case pending = "PENDING" + case success = "SUCCESS" + case fail = "FAIL" + public var description: String { return self.rawValue } + } + + public struct GetInstancesHealthStatusResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .map), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// A complex type that contains the IDs and the health status of the instances that you specified in the GetInstancesHealthStatus request. + public let status: [String: HealthStatus]? + /// 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. + public let nextToken: String? + + public init(status: [String: HealthStatus]? = nil, nextToken: String? = nil) { + self.status = status + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case nextToken = "NextToken" + } + } + + public struct RegisterInstanceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OperationId", required: false, type: .string) + ] + /// A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation. + public let operationId: String? + + public init(operationId: String? = nil) { + self.operationId = operationId + } + + private enum CodingKeys: String, CodingKey { + case operationId = "OperationId" + } + } + + public struct GetServiceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Service", required: false, type: .structure) + ] + /// A complex type that contains information about the service. + public let service: Service? + + public init(service: Service? = nil) { + self.service = service + } + + private enum CodingKeys: String, CodingKey { + case service = "Service" + } + } + + public struct DnsProperties: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "HostedZoneId", required: false, type: .string) + ] + /// The ID for the hosted zone that Route 53 creates when you create a namespace. + public let hostedZoneId: String? + + public init(hostedZoneId: String? = nil) { + self.hostedZoneId = hostedZoneId + } + + private enum CodingKeys: String, CodingKey { + case hostedZoneId = "HostedZoneId" + } + } + + public struct ListInstancesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Instances", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// Summary information about the instances that are associated with the specified service. + public let instances: [InstanceSummary]? + /// 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. + public let nextToken: String? + + public init(instances: [InstanceSummary]? = nil, nextToken: String? = nil) { + self.instances = instances + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case instances = "Instances" + case nextToken = "NextToken" + } + } + + public struct DeleteServiceResponse: AWSShape { + + } + + public struct DeleteNamespaceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OperationId", required: false, type: .string) + ] + /// A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation. + public let operationId: String? + + public init(operationId: String? = nil) { + self.operationId = operationId + } + + private enum CodingKeys: String, CodingKey { + case operationId = "OperationId" + } + } + + public struct NamespaceFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Condition", required: false, type: .enum), + AWSShapeMember(label: "Name", required: true, type: .enum), + AWSShapeMember(label: "Values", required: true, type: .list) + ] + /// 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 + public let condition: FilterCondition? + /// Specify TYPE. + public let name: NamespaceFilterName + /// 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. + public let values: [String] + + public init(condition: FilterCondition? = nil, name: NamespaceFilterName, values: [String]) { + self.condition = condition + self.name = name + self.values = values + } + + private enum CodingKeys: String, CodingKey { + case condition = "Condition" + case name = "Name" + case values = "Values" + } + } + + public struct ListNamespacesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let nextToken: String? + /// 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. + public let filters: [NamespaceFilter]? + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, filters: [NamespaceFilter]? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.filters = filters + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case filters = "Filters" + case maxResults = "MaxResults" + } + } + + public enum HealthStatus: String, CustomStringConvertible, Codable { + case healthy = "HEALTHY" + case unhealthy = "UNHEALTHY" + case unknown = "UNKNOWN" + public var description: String { return self.rawValue } + } + + public enum CustomHealthStatus: String, CustomStringConvertible, Codable { + case healthy = "HEALTHY" + case unhealthy = "UNHEALTHY" + public var description: String { return self.rawValue } + } + + public struct ServiceSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "InstanceCount", required: false, type: .integer), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// The description that you specify when you create the service. + public let description: String? + /// The Amazon Resource Name (ARN) that Route 53 assigns to the service when you create it. + public let arn: String? + /// 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. + public let instanceCount: Int32? + /// The name of the service. + public let name: String? + /// The ID that Route 53 assigned to the service when you created it. + public let id: String? + + public init(description: String? = nil, arn: String? = nil, instanceCount: Int32? = nil, name: String? = nil, id: String? = nil) { + self.description = description + self.arn = arn + self.instanceCount = instanceCount + self.name = name + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case description = "Description" + case arn = "Arn" + case instanceCount = "InstanceCount" + case name = "Name" + case id = "Id" + } + } + + public struct DeregisterInstanceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OperationId", required: false, type: .string) + ] + /// A value that you can use to determine whether the request completed successfully. For more information, see GetOperation. + public let operationId: String? + + public init(operationId: String? = nil) { + self.operationId = operationId + } + + private enum CodingKeys: String, CodingKey { + case operationId = "OperationId" + } + } + + public struct GetOperationResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Operation", required: false, type: .structure) + ] + /// A complex type that contains information about the operation. + public let operation: Operation? + + public init(operation: Operation? = nil) { + self.operation = operation + } + + private enum CodingKeys: String, CodingKey { + case operation = "Operation" + } + } + + public struct ListInstancesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ServiceId", required: true, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let nextToken: String? + /// The ID of the service that you want to list instances for. + public let serviceId: String + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, serviceId: String, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.serviceId = serviceId + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case serviceId = "ServiceId" + case maxResults = "MaxResults" + } + } + + public enum FilterCondition: String, CustomStringConvertible, Codable { + case eq = "EQ" + case `in` = "IN" + case between = "BETWEEN" + public var description: String { return self.rawValue } + } + + public enum NamespaceType: String, CustomStringConvertible, Codable { + case dnsPublic = "DNS_PUBLIC" + case dnsPrivate = "DNS_PRIVATE" + public var description: String { return self.rawValue } + } + + public struct DeleteServiceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// The ID of the service that you want to delete. + public let id: String + + public init(id: String) { + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + } + } + + public struct GetOperationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OperationId", required: true, type: .string) + ] + /// The ID of the operation that you want to get more information about. + public let operationId: String + + public init(operationId: String) { + self.operationId = operationId + } + + private enum CodingKeys: String, CodingKey { + case operationId = "OperationId" + } + } + + public enum RoutingPolicy: String, CustomStringConvertible, Codable { + case multivalue = "MULTIVALUE" + case weighted = "WEIGHTED" + public var description: String { return self.rawValue } + } + + public struct GetInstancesHealthStatusRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Instances", required: false, type: .list), + AWSShapeMember(label: "ServiceId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let instances: [String]? + /// The ID of the service that the instance is associated with. + public let serviceId: String + /// 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. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(instances: [String]? = nil, serviceId: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.instances = instances + self.serviceId = serviceId + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case instances = "Instances" + case serviceId = "ServiceId" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct GetInstanceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", required: true, type: .string), + AWSShapeMember(label: "ServiceId", required: true, type: .string) + ] + /// The ID of the instance that you want to get information about. + public let instanceId: String + /// The ID of the service that the instance is associated with. + public let serviceId: String + + public init(instanceId: String, serviceId: String) { + self.instanceId = instanceId + self.serviceId = serviceId + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + case serviceId = "ServiceId" + } + } + + public struct Instance: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CreatorRequestId", required: false, type: .string), + AWSShapeMember(label: "Attributes", required: false, type: .map), + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// 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. + public let creatorRequestId: String? + /// 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. + public let attributes: [String: String]? + /// 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. + public let id: String + + public init(creatorRequestId: String? = nil, attributes: [String: String]? = nil, id: String) { + self.creatorRequestId = creatorRequestId + self.attributes = attributes + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case creatorRequestId = "CreatorRequestId" + case attributes = "Attributes" + case id = "Id" + } + } + + public struct DnsConfigChange: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DnsRecords", required: true, type: .list) + ] + /// An array that contains one DnsRecord object for each record that you want Route 53 to create when you register an instance. + public let dnsRecords: [DnsRecord] + + public init(dnsRecords: [DnsRecord]) { + self.dnsRecords = dnsRecords + } + + private enum CodingKeys: String, CodingKey { + case dnsRecords = "DnsRecords" + } + } + + public struct HealthCheckConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FailureThreshold", required: false, type: .integer), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "ResourcePath", required: false, type: .string) + ] + /// 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. + public let failureThreshold: Int32? + /// 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. + public let `type`: HealthCheckType? + /// 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. + public let resourcePath: String? + + public init(failureThreshold: Int32? = nil, type: HealthCheckType? = nil, resourcePath: String? = nil) { + self.failureThreshold = failureThreshold + self.`type` = `type` + self.resourcePath = resourcePath + } + + private enum CodingKeys: String, CodingKey { + case failureThreshold = "FailureThreshold" + case `type` = "Type" + case resourcePath = "ResourcePath" + } + } + + public struct ListOperationsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Operations", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// Summary information about the operations that match the specified criteria. + public let operations: [OperationSummary]? + /// 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. + public let nextToken: String? + + public init(operations: [OperationSummary]? = nil, nextToken: String? = nil) { + self.operations = operations + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case operations = "Operations" + case nextToken = "NextToken" + } + } + + public struct Service: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", required: false, type: .string), + AWSShapeMember(label: "HealthCheckConfig", required: false, type: .structure), + AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "DnsConfig", required: false, type: .structure), + AWSShapeMember(label: "HealthCheckCustomConfig", required: false, type: .structure), + AWSShapeMember(label: "CreateDate", required: false, type: .timestamp), + AWSShapeMember(label: "InstanceCount", required: false, type: .integer), + AWSShapeMember(label: "CreatorRequestId", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The ID that Route 53 assigned to the service when you created it. + public let id: String? + /// 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. + public let healthCheckConfig: HealthCheckConfig? + /// The Amazon Resource Name (ARN) that Route 53 assigns to the service when you create it. + public let arn: String? + /// The name of the service. + public let name: String? + /// A complex type that contains information about the records that you want Route 53 to create when you register an instance. + public let dnsConfig: DnsConfig? + public let healthCheckCustomConfig: HealthCheckCustomConfig? + /// 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. + public let createDate: TimeStamp? + /// 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. + public let instanceCount: Int32? + /// 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. + public let creatorRequestId: String? + /// The description of the service. + public let description: String? + + public init(id: String? = nil, healthCheckConfig: HealthCheckConfig? = nil, arn: String? = nil, name: String? = nil, dnsConfig: DnsConfig? = nil, healthCheckCustomConfig: HealthCheckCustomConfig? = nil, createDate: TimeStamp? = nil, instanceCount: Int32? = nil, creatorRequestId: String? = nil, description: String? = nil) { + self.id = id + self.healthCheckConfig = healthCheckConfig + self.arn = arn + self.name = name + self.dnsConfig = dnsConfig + self.healthCheckCustomConfig = healthCheckCustomConfig + self.createDate = createDate + self.instanceCount = instanceCount + self.creatorRequestId = creatorRequestId + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + case healthCheckConfig = "HealthCheckConfig" + case arn = "Arn" + case name = "Name" + case dnsConfig = "DnsConfig" + case healthCheckCustomConfig = "HealthCheckCustomConfig" + case createDate = "CreateDate" + case instanceCount = "InstanceCount" + case creatorRequestId = "CreatorRequestId" + case description = "Description" + } + } + + public struct CreatePublicDnsNamespaceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CreatorRequestId", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// 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. + public let creatorRequestId: String? + /// The name that you want to assign to this namespace. + public let name: String + /// A description for the namespace. + public let description: String? + + public init(creatorRequestId: String? = nil, name: String, description: String? = nil) { + self.creatorRequestId = creatorRequestId + self.name = name + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case creatorRequestId = "CreatorRequestId" + case name = "Name" + case description = "Description" + } + } + + public struct UpdateServiceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Service", required: true, type: .structure), + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// A complex type that contains the new settings for the service. + public let service: ServiceChange + /// The ID of the service that you want to update. + public let id: String + + public init(service: ServiceChange, id: String) { + self.service = service + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case service = "Service" + case id = "Id" + } + } + + public enum OperationTargetType: String, CustomStringConvertible, Codable { + case namespace = "NAMESPACE" + case service = "SERVICE" + case instance = "INSTANCE" + public var description: String { return self.rawValue } + } + + public enum RecordType: String, CustomStringConvertible, Codable { + case srv = "SRV" + case a = "A" + case aaaa = "AAAA" + case cname = "CNAME" + public var description: String { return self.rawValue } + } + + public struct CreatePrivateDnsNamespaceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CreatorRequestId", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Vpc", required: true, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// 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. + public let creatorRequestId: String? + /// 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. + public let name: String + /// The ID of the Amazon VPC that you want to associate the namespace with. + public let vpc: String + /// A description for the namespace. + public let description: String? + + public init(creatorRequestId: String? = nil, name: String, vpc: String, description: String? = nil) { + self.creatorRequestId = creatorRequestId + self.name = name + self.vpc = vpc + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case creatorRequestId = "CreatorRequestId" + case name = "Name" + case vpc = "Vpc" + case description = "Description" + } + } + + public struct GetNamespaceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// The ID of the namespace that you want to get information about. + public let id: String + + public init(id: String) { + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + } + } + + public struct GetServiceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// The ID of the service that you want to get settings for. + public let id: String + + public init(id: String) { + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + } + } + + public struct ListNamespacesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Namespaces", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// An array that contains one NamespaceSummary object for each namespace that matches the specified filter criteria. + public let namespaces: [NamespaceSummary]? + /// 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. + public let nextToken: String? + + public init(namespaces: [NamespaceSummary]? = nil, nextToken: String? = nil) { + self.namespaces = namespaces + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case namespaces = "Namespaces" + case nextToken = "NextToken" + } + } + + public struct GetInstanceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Instance", required: false, type: .structure) + ] + /// A complex type that contains information about a specified instance. + public let instance: Instance? + + public init(instance: Instance? = nil) { + self.instance = instance + } + + private enum CodingKeys: String, CodingKey { + case instance = "Instance" + } + } + + public struct CreatePublicDnsNamespaceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OperationId", required: false, type: .string) + ] + /// A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation. + public let operationId: String? + + public init(operationId: String? = nil) { + self.operationId = operationId + } + + private enum CodingKeys: String, CodingKey { + case operationId = "OperationId" + } + } + + public struct DeregisterInstanceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", required: true, type: .string), + AWSShapeMember(label: "ServiceId", required: true, type: .string) + ] + /// The value that you specified for Id in the RegisterInstance request. + public let instanceId: String + /// The ID of the service that the instance is associated with. + public let serviceId: String + + public init(instanceId: String, serviceId: String) { + self.instanceId = instanceId + self.serviceId = serviceId + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + case serviceId = "ServiceId" + } + } + + public struct OperationFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Condition", required: false, type: .enum), + AWSShapeMember(label: "Name", required: true, type: .enum), + AWSShapeMember(label: "Values", required: true, type: .list) + ] + /// 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. + public let condition: FilterCondition? + /// 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. + public let name: OperationFilterName + /// 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. + public let values: [String] + + public init(condition: FilterCondition? = nil, name: OperationFilterName, values: [String]) { + self.condition = condition + self.name = name + self.values = values + } + + private enum CodingKeys: String, CodingKey { + case condition = "Condition" + case name = "Name" + case values = "Values" + } + } + + public struct UpdateInstanceCustomHealthStatusRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", required: true, type: .string), + AWSShapeMember(label: "Status", required: true, type: .enum), + AWSShapeMember(label: "ServiceId", required: true, type: .string) + ] + public let instanceId: String + public let status: CustomHealthStatus + public let serviceId: String + + public init(instanceId: String, status: CustomHealthStatus, serviceId: String) { + self.instanceId = instanceId + self.status = status + self.serviceId = serviceId + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + case status = "Status" + case serviceId = "ServiceId" + } + } + + public struct NamespaceSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) that Route 53 assigns to the namespace when you create it. + public let arn: String? + /// The type of the namespace, either public or private. + public let `type`: NamespaceType? + /// 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. + public let name: String? + /// The ID of the namespace. + public let id: String? + + public init(arn: String? = nil, type: NamespaceType? = nil, name: String? = nil, id: String? = nil) { + self.arn = arn + self.`type` = `type` + self.name = name + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case arn = "Arn" + case `type` = "Type" + case name = "Name" + case id = "Id" + } + } + + public struct UpdateServiceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OperationId", required: false, type: .string) + ] + /// A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation. + public let operationId: String? + + public init(operationId: String? = nil) { + self.operationId = operationId + } + + private enum CodingKeys: String, CodingKey { + case operationId = "OperationId" + } + } + + public struct CreateServiceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Service", required: false, type: .structure) + ] + /// A complex type that contains information about the new service. + public let service: Service? + + public init(service: Service? = nil) { + self.service = service + } + + private enum CodingKeys: String, CodingKey { + case service = "Service" + } + } + + public struct Operation: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "UpdateDate", required: false, type: .timestamp), + AWSShapeMember(label: "Targets", required: false, type: .map), + AWSShapeMember(label: "CreateDate", required: false, type: .timestamp), + AWSShapeMember(label: "ErrorMessage", required: false, type: .string), + AWSShapeMember(label: "ErrorCode", required: false, type: .string), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// 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. + public let status: OperationStatus? + /// 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. + public let updateDate: TimeStamp? + /// 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. + public let targets: [OperationTargetType: String]? + /// 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. + public let createDate: TimeStamp? + /// If the value of Status is FAIL, the reason that the operation failed. + public let errorMessage: String? + /// 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 + public let errorCode: String? + /// The name of the operation that is associated with the specified ID. + public let `type`: OperationType? + /// The ID of the operation that you want to get information about. + public let id: String? + + public init(status: OperationStatus? = nil, updateDate: TimeStamp? = nil, targets: [OperationTargetType: String]? = nil, createDate: TimeStamp? = nil, errorMessage: String? = nil, errorCode: String? = nil, type: OperationType? = nil, id: String? = nil) { + self.status = status + self.updateDate = updateDate + self.targets = targets + self.createDate = createDate + self.errorMessage = errorMessage + self.errorCode = errorCode + self.`type` = `type` + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case updateDate = "UpdateDate" + case targets = "Targets" + case createDate = "CreateDate" + case errorMessage = "ErrorMessage" + case errorCode = "ErrorCode" + case `type` = "Type" + case id = "Id" + } + } + + public struct HealthCheckCustomConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FailureThreshold", required: false, type: .integer) + ] + public let failureThreshold: Int32? + + public init(failureThreshold: Int32? = nil) { + self.failureThreshold = failureThreshold + } + + private enum CodingKeys: String, CodingKey { + case failureThreshold = "FailureThreshold" + } + } + + public enum OperationType: String, CustomStringConvertible, Codable { + case createNamespace = "CREATE_NAMESPACE" + case deleteNamespace = "DELETE_NAMESPACE" + case updateService = "UPDATE_SERVICE" + case registerInstance = "REGISTER_INSTANCE" + case deregisterInstance = "DEREGISTER_INSTANCE" + public var description: String { return self.rawValue } + } + + public enum ServiceFilterName: String, CustomStringConvertible, Codable { + case namespaceId = "NAMESPACE_ID" + public var description: String { return self.rawValue } + } + + public enum OperationFilterName: String, CustomStringConvertible, Codable { + case namespaceId = "NAMESPACE_ID" + case serviceId = "SERVICE_ID" + case status = "STATUS" + case `type` = "TYPE" + case updateDate = "UPDATE_DATE" + public var description: String { return self.rawValue } + } + + public struct ServiceChange: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DnsConfig", required: true, type: .structure), + AWSShapeMember(label: "HealthCheckConfig", required: false, type: .structure), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// A complex type that contains information about the records that you want Route 53 to create when you register an instance. + public let dnsConfig: DnsConfigChange + public let healthCheckConfig: HealthCheckConfig? + /// A description for the service. + public let description: String? + + public init(dnsConfig: DnsConfigChange, healthCheckConfig: HealthCheckConfig? = nil, description: String? = nil) { + self.dnsConfig = dnsConfig + self.healthCheckConfig = healthCheckConfig + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case dnsConfig = "DnsConfig" + case healthCheckConfig = "HealthCheckConfig" + case description = "Description" + } + } + + public struct GetNamespaceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Namespace", required: false, type: .structure) + ] + /// A complex type that contains information about the specified namespace. + public let namespace: Namespace? + + public init(namespace: Namespace? = nil) { + self.namespace = namespace + } + + private enum CodingKeys: String, CodingKey { + case namespace = "Namespace" + } + } + + public enum NamespaceFilterName: String, CustomStringConvertible, Codable { + case `type` = "TYPE" + public var description: String { return self.rawValue } + } + + public struct InstanceSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Attributes", required: false, type: .map), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// 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. + public let attributes: [String: String]? + /// The ID for an instance that you created by using a specified service. + public let id: String? + + public init(attributes: [String: String]? = nil, id: String? = nil) { + self.attributes = attributes + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case attributes = "Attributes" + case id = "Id" + } + } + + public struct NamespaceProperties: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DnsProperties", required: false, type: .structure) + ] + /// A complex type that contains the ID for the hosted zone that Route 53 creates when you create a namespace. + public let dnsProperties: DnsProperties? + + public init(dnsProperties: DnsProperties? = nil) { + self.dnsProperties = dnsProperties + } + + private enum CodingKeys: String, CodingKey { + case dnsProperties = "DnsProperties" + } + } + + public struct ListServicesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let nextToken: String? + /// 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. + public let filters: [ServiceFilter]? + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, filters: [ServiceFilter]? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.filters = filters + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case filters = "Filters" + case maxResults = "MaxResults" + } + } + + public struct DnsConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DnsRecords", required: true, type: .list), + AWSShapeMember(label: "RoutingPolicy", required: false, type: .enum), + AWSShapeMember(label: "NamespaceId", required: true, type: .string) + ] + /// An array that contains one DnsRecord object for each record that you want Route 53 to create when you register an instance. + public let dnsRecords: [DnsRecord] + /// 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. + public let routingPolicy: RoutingPolicy? + /// The ID of the namespace to use for DNS configuration. + public let namespaceId: String + + public init(dnsRecords: [DnsRecord], routingPolicy: RoutingPolicy? = nil, namespaceId: String) { + self.dnsRecords = dnsRecords + self.routingPolicy = routingPolicy + self.namespaceId = namespaceId + } + + private enum CodingKeys: String, CodingKey { + case dnsRecords = "DnsRecords" + case routingPolicy = "RoutingPolicy" + case namespaceId = "NamespaceId" + } + } + + public struct DnsRecord: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", required: true, type: .enum), + AWSShapeMember(label: "TTL", required: true, type: .long) + ] + /// 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. + public let `type`: RecordType + /// 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. + public let ttl: Int64 + + public init(type: RecordType, ttl: Int64) { + self.`type` = `type` + self.ttl = ttl + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + case ttl = "TTL" + } + } + + public struct Namespace: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", required: false, type: .string), + AWSShapeMember(label: "Arn", required: false, type: .string), + AWSShapeMember(label: "Properties", required: false, type: .structure), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "CreateDate", required: false, type: .timestamp), + AWSShapeMember(label: "CreatorRequestId", required: false, type: .string), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "ServiceCount", required: false, type: .integer), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The ID of a namespace. + public let id: String? + /// The Amazon Resource Name (ARN) that Route 53 assigns to the namespace when you create it. + public let arn: String? + /// A complex type that contains information that's specific to the type of the namespace. + public let properties: NamespaceProperties? + /// The name of the namespace, such as example.com. + public let name: String? + /// 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. + public let createDate: TimeStamp? + /// A unique string that identifies the request and that allows failed requests to be retried without the risk of executing an operation twice. + public let creatorRequestId: String? + /// The type of the namespace. Valid values are DNS_PUBLIC and DNS_PRIVATE. + public let `type`: NamespaceType? + /// The number of services that are associated with the namespace. + public let serviceCount: Int32? + /// The description that you specify for the namespace when you create it. + public let description: String? + + public init(id: String? = nil, arn: String? = nil, properties: NamespaceProperties? = nil, name: String? = nil, createDate: TimeStamp? = nil, creatorRequestId: String? = nil, type: NamespaceType? = nil, serviceCount: Int32? = nil, description: String? = nil) { + self.id = id + self.arn = arn + self.properties = properties + self.name = name + self.createDate = createDate + self.creatorRequestId = creatorRequestId + self.`type` = `type` + self.serviceCount = serviceCount + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + case arn = "Arn" + case properties = "Properties" + case name = "Name" + case createDate = "CreateDate" + case creatorRequestId = "CreatorRequestId" + case `type` = "Type" + case serviceCount = "ServiceCount" + case description = "Description" + } + } + + public struct OperationSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// 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. + public let status: OperationStatus? + /// The ID for an operation. + public let id: String? + + public init(status: OperationStatus? = nil, id: String? = nil) { + self.status = status + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case id = "Id" + } + } + + public struct ListServicesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Services", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// An array that contains one ServiceSummary object for each service that matches the specified filter criteria. + public let services: [ServiceSummary]? + /// 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. + public let nextToken: String? + + public init(services: [ServiceSummary]? = nil, nextToken: String? = nil) { + self.services = services + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case services = "Services" + case nextToken = "NextToken" + } + } + + public struct ServiceFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Condition", required: false, type: .enum), + AWSShapeMember(label: "Name", required: true, type: .enum), + AWSShapeMember(label: "Values", required: true, type: .list) + ] + /// 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. + public let condition: FilterCondition? + /// Specify NAMESPACE_ID. + public let name: ServiceFilterName + /// The values that are applicable to the value that you specify for Condition to filter the list of services. + public let values: [String] + + public init(condition: FilterCondition? = nil, name: ServiceFilterName, values: [String]) { + self.condition = condition + self.name = name + self.values = values + } + + private enum CodingKeys: String, CodingKey { + case condition = "Condition" + case name = "Name" + case values = "Values" + } + } + + public struct DeleteNamespaceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// The ID of the namespace that you want to delete. + public let id: String + + public init(id: String) { + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case id = "Id" + } + } + + public enum HealthCheckType: String, CustomStringConvertible, Codable { + case http = "HTTP" + case https = "HTTPS" + case tcp = "TCP" + public var description: String { return self.rawValue } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/shield/Shield_API.swift b/Sources/AWSSDKSwift/Services/shield/Shield_API.swift index 7870f632f5c..1fc8bfa39f2 100644 --- a/Sources/AWSSDKSwift/Services/shield/Shield_API.swift +++ b/Sources/AWSSDKSwift/Services/shield/Shield_API.swift @@ -25,34 +25,69 @@ public struct Shield { ) } - /// Activates AWS Shield Advanced for an account. + /// 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. public func createSubscription(_ input: CreateSubscriptionRequest) throws -> CreateSubscriptionResponse { return try client.send(operation: "CreateSubscription", path: "/", httpMethod: "POST", input: input) } + /// Updates the details of the list of email addresses that the DRT can use to contact you during a suspected attack. + public func updateEmergencyContactSettings(_ input: UpdateEmergencyContactSettingsRequest) throws -> UpdateEmergencyContactSettingsResponse { + return try client.send(operation: "UpdateEmergencyContactSettings", path: "/", httpMethod: "POST", input: input) + } + /// Returns all ongoing DDoS attacks or all DDoS attacks during a specified time period. public func listAttacks(_ input: ListAttacksRequest) throws -> ListAttacksResponse { return try client.send(operation: "ListAttacks", path: "/", httpMethod: "POST", input: input) } + /// Lists the details of a Protection object. + public func describeProtection(_ input: DescribeProtectionRequest) throws -> DescribeProtectionResponse { + return try client.send(operation: "DescribeProtection", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func describeDRTAccess(_ input: DescribeDRTAccessRequest) throws -> DescribeDRTAccessResponse { + return try client.send(operation: "DescribeDRTAccess", path: "/", httpMethod: "POST", input: input) + } + + /// Provides details about the AWS Shield Advanced subscription for an account. + public func describeSubscription(_ input: DescribeSubscriptionRequest) throws -> DescribeSubscriptionResponse { + return try client.send(operation: "DescribeSubscription", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func deleteSubscription(_ input: DeleteSubscriptionRequest) throws -> DeleteSubscriptionResponse { + return try client.send(operation: "DeleteSubscription", path: "/", httpMethod: "POST", input: input) + } + + /// Lists all Protection objects for the account. + public func listProtections(_ input: ListProtectionsRequest) throws -> ListProtectionsResponse { + return try client.send(operation: "ListProtections", path: "/", httpMethod: "POST", input: input) + } + /// Describes the details of a DDoS attack. public func describeAttack(_ input: DescribeAttackRequest) throws -> DescribeAttackResponse { return try client.send(operation: "DescribeAttack", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func associateDRTLogBucket(_ input: AssociateDRTLogBucketRequest) throws -> AssociateDRTLogBucketResponse { + return try client.send(operation: "AssociateDRTLogBucket", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func disassociateDRTRole(_ input: DisassociateDRTRoleRequest) throws -> DisassociateDRTRoleResponse { + return try client.send(operation: "DisassociateDRTRole", path: "/", httpMethod: "POST", input: input) + } + /// Returns the SubscriptionState, either Active or Inactive. public func getSubscriptionState(_ input: GetSubscriptionStateRequest) throws -> GetSubscriptionStateResponse { return try client.send(operation: "GetSubscriptionState", path: "/", httpMethod: "POST", input: input) } - /// Lists the details of a Protection object. - public func describeProtection(_ input: DescribeProtectionRequest) throws -> DescribeProtectionResponse { - return try client.send(operation: "DescribeProtection", path: "/", httpMethod: "POST", input: input) - } - - /// 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. - public func createProtection(_ input: CreateProtectionRequest) throws -> CreateProtectionResponse { - return try client.send(operation: "CreateProtection", path: "/", httpMethod: "POST", input: input) + /// Updates the details of an existing subscription. Only enter values for parameters you want to change. Empty parameters are not updated. + public func updateSubscription(_ input: UpdateSubscriptionRequest) throws -> UpdateSubscriptionResponse { + return try client.send(operation: "UpdateSubscription", path: "/", httpMethod: "POST", input: input) } /// Deletes an AWS Shield Advanced Protection. @@ -60,19 +95,24 @@ public struct Shield { return try client.send(operation: "DeleteProtection", path: "/", httpMethod: "POST", input: input) } - /// Provides details about the AWS Shield Advanced subscription for an account. - public func describeSubscription(_ input: DescribeSubscriptionRequest) throws -> DescribeSubscriptionResponse { - return try client.send(operation: "DescribeSubscription", path: "/", httpMethod: "POST", input: input) + /// 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. + public func createProtection(_ input: CreateProtectionRequest) throws -> CreateProtectionResponse { + return try client.send(operation: "CreateProtection", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func deleteSubscription(_ input: DeleteSubscriptionRequest) throws -> DeleteSubscriptionResponse { - return try client.send(operation: "DeleteSubscription", path: "/", httpMethod: "POST", input: input) + /// Lists the email addresses that the DRT can use to contact you during a suspected attack. + public func describeEmergencyContactSettings(_ input: DescribeEmergencyContactSettingsRequest) throws -> DescribeEmergencyContactSettingsResponse { + return try client.send(operation: "DescribeEmergencyContactSettings", path: "/", httpMethod: "POST", input: input) } - /// Lists all Protection objects for the account. - public func listProtections(_ input: ListProtectionsRequest) throws -> ListProtectionsResponse { - return try client.send(operation: "ListProtections", path: "/", httpMethod: "POST", input: input) + /// 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. + public func associateDRTRole(_ input: AssociateDRTRoleRequest) throws -> AssociateDRTRoleResponse { + return try client.send(operation: "AssociateDRTRole", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func disassociateDRTLogBucket(_ input: DisassociateDRTLogBucketRequest) throws -> DisassociateDRTLogBucketResponse { + return try client.send(operation: "DisassociateDRTLogBucket", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/shield/Shield_Error.swift b/Sources/AWSSDKSwift/Services/shield/Shield_Error.swift index db5e95cf591..971b450d013 100644 --- a/Sources/AWSSDKSwift/Services/shield/Shield_Error.swift +++ b/Sources/AWSSDKSwift/Services/shield/Shield_Error.swift @@ -7,12 +7,15 @@ public enum ShieldError: AWSErrorType { case internalErrorException(message: String?) case resourceAlreadyExistsException(message: String?) case invalidParameterException(message: String?) - case invalidOperationException(message: String?) - case resourceNotFoundException(message: String?) - case invalidResourceException(message: String?) - case limitsExceededException(message: String?) case optimisticLockException(message: String?) + case resourceNotFoundException(message: String?) + case invalidOperationException(message: String?) case lockedSubscriptionException(message: String?) + case invalidPaginationTokenException(message: String?) + case noAssociatedRoleException(message: String?) + case limitsExceededException(message: String?) + case accessDeniedForDependencyException(message: String?) + case invalidResourceException(message: String?) } extension ShieldError { @@ -28,18 +31,24 @@ extension ShieldError { self = .resourceAlreadyExistsException(message: message) case "InvalidParameterException": self = .invalidParameterException(message: message) - case "InvalidOperationException": - self = .invalidOperationException(message: message) - case "ResourceNotFoundException": - self = .resourceNotFoundException(message: message) - case "InvalidResourceException": - self = .invalidResourceException(message: message) - case "LimitsExceededException": - self = .limitsExceededException(message: message) case "OptimisticLockException": self = .optimisticLockException(message: message) + case "ResourceNotFoundException": + self = .resourceNotFoundException(message: message) + case "InvalidOperationException": + self = .invalidOperationException(message: message) case "LockedSubscriptionException": self = .lockedSubscriptionException(message: message) + case "InvalidPaginationTokenException": + self = .invalidPaginationTokenException(message: message) + case "NoAssociatedRoleException": + self = .noAssociatedRoleException(message: message) + case "LimitsExceededException": + self = .limitsExceededException(message: message) + case "AccessDeniedForDependencyException": + self = .accessDeniedForDependencyException(message: message) + case "InvalidResourceException": + self = .invalidResourceException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/shield/Shield_Shapes.swift b/Sources/AWSSDKSwift/Services/shield/Shield_Shapes.swift index fc1973e1739..376e46b7e81 100644 --- a/Sources/AWSSDKSwift/Services/shield/Shield_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/shield/Shield_Shapes.swift @@ -41,12 +41,6 @@ extension Shield { } } - public enum SubResourceType: String, CustomStringConvertible, Codable { - case ip = "IP" - case url = "URL" - public var description: String { return self.rawValue } - } - public struct Protection: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ResourceArn", required: false, type: .string), @@ -73,8 +67,52 @@ extension Shield { } } - public struct DeleteSubscriptionRequest: AWSShape { + public struct DisassociateDRTLogBucketRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LogBucket", required: true, type: .string) + ] + /// The Amazon S3 bucket that contains your flow logs. + public let logBucket: String + + public init(logBucket: String) { + self.logBucket = logBucket + } + private enum CodingKeys: String, CodingKey { + case logBucket = "LogBucket" + } + } + + public struct AssociateDRTRoleRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "RoleArn", required: true, type: .string) + ] + /// 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. + public let roleArn: String + + public init(roleArn: String) { + self.roleArn = roleArn + } + + private enum CodingKeys: String, CodingKey { + case roleArn = "RoleArn" + } + } + + public struct DescribeEmergencyContactSettingsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EmergencyContactList", required: false, type: .list) + ] + /// A list of email addresses that the DRT can use to contact you during a suspected attack. + public let emergencyContactList: [EmergencyContact]? + + public init(emergencyContactList: [EmergencyContact]? = nil) { + self.emergencyContactList = emergencyContactList + } + + private enum CodingKeys: String, CodingKey { + case emergencyContactList = "EmergencyContactList" + } } public struct AttackSummary: AWSShape { @@ -116,21 +154,36 @@ extension Shield { public struct Subscription: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StartTime", required: false, type: .timestamp), - AWSShapeMember(label: "TimeCommitmentInSeconds", required: false, type: .long) + AWSShapeMember(label: "EndTime", required: false, type: .timestamp), + AWSShapeMember(label: "Limits", required: false, type: .list), + AWSShapeMember(label: "TimeCommitmentInSeconds", required: false, type: .long), + AWSShapeMember(label: "AutoRenew", required: false, type: .enum) ] /// The start time of the subscription, in Unix time in seconds. For more information see timestamp. public let startTime: TimeStamp? + /// The date and time your subscription will end. + public let endTime: TimeStamp? + /// Specifies how many protections of a given type you can create. + public let limits: [Limit]? /// The length, in seconds, of the AWS Shield Advanced subscription for the account. public let timeCommitmentInSeconds: Int64? + /// 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. + public let autoRenew: AutoRenew? - public init(startTime: TimeStamp? = nil, timeCommitmentInSeconds: Int64? = nil) { + public init(startTime: TimeStamp? = nil, endTime: TimeStamp? = nil, limits: [Limit]? = nil, timeCommitmentInSeconds: Int64? = nil, autoRenew: AutoRenew? = nil) { self.startTime = startTime + self.endTime = endTime + self.limits = limits self.timeCommitmentInSeconds = timeCommitmentInSeconds + self.autoRenew = autoRenew } private enum CodingKeys: String, CodingKey { case startTime = "StartTime" + case endTime = "EndTime" + case limits = "Limits" case timeCommitmentInSeconds = "TimeCommitmentInSeconds" + case autoRenew = "AutoRenew" } } @@ -228,19 +281,24 @@ extension Shield { } } - public struct DescribeAttackResponse: AWSShape { + public struct DescribeDRTAccessResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Attack", required: false, type: .structure) + AWSShapeMember(label: "RoleArn", required: false, type: .string), + AWSShapeMember(label: "LogBucketList", required: false, type: .list) ] - /// The attack that is described. - public let attack: AttackDetail? + /// The Amazon Resource Name (ARN) of the role the DRT used to access your AWS account. + public let roleArn: String? + /// The list of Amazon S3 buckets accessed by the DRT. + public let logBucketList: [String]? - public init(attack: AttackDetail? = nil) { - self.attack = attack + public init(roleArn: String? = nil, logBucketList: [String]? = nil) { + self.roleArn = roleArn + self.logBucketList = logBucketList } private enum CodingKeys: String, CodingKey { - case attack = "Attack" + case roleArn = "RoleArn" + case logBucketList = "LogBucketList" } } @@ -265,47 +323,6 @@ extension Shield { } } - public struct SummarizedCounter: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Unit", required: false, type: .string), - AWSShapeMember(label: "Average", required: false, type: .double), - AWSShapeMember(label: "N", required: false, type: .integer), - AWSShapeMember(label: "Max", required: false, type: .double), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "Sum", required: false, type: .double) - ] - /// The unit of the counters. - public let unit: String? - /// The average value of the counter for a specified time period. - public let average: Double? - /// The number of counters for a specified time period. - public let n: Int32? - /// The maximum value of the counter for a specified time period. - public let max: Double? - /// The counter name. - public let name: String? - /// The total of counter values for a specified time period. - public let sum: Double? - - public init(unit: String? = nil, average: Double? = nil, n: Int32? = nil, max: Double? = nil, name: String? = nil, sum: Double? = nil) { - self.unit = unit - self.average = average - self.n = n - self.max = max - self.name = name - self.sum = sum - } - - private enum CodingKeys: String, CodingKey { - case unit = "Unit" - case average = "Average" - case n = "N" - case max = "Max" - case name = "Name" - case sum = "Sum" - } - } - public struct Contributor: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Value", required: false, type: .long), @@ -348,42 +365,6 @@ extension Shield { } } - public struct GetSubscriptionStateRequest: AWSShape { - - } - - public struct DescribeAttackRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AttackId", required: true, type: .string) - ] - /// The unique identifier (ID) for the attack that to be described. - public let attackId: String - - public init(attackId: String) { - self.attackId = attackId - } - - private enum CodingKeys: String, CodingKey { - case attackId = "AttackId" - } - } - - public struct DescribeProtectionResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Protection", required: false, type: .structure) - ] - /// The Protection object that is described. - public let protection: Protection? - - public init(protection: Protection? = nil) { - self.protection = protection - } - - private enum CodingKeys: String, CodingKey { - case protection = "Protection" - } - } - public struct DescribeProtectionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ProtectionId", required: true, type: .string) @@ -416,8 +397,10 @@ extension Shield { } } - public struct DeleteSubscriptionResponse: AWSShape { - + public enum AutoRenew: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" + public var description: String { return self.rawValue } } public struct TimeRange: AWSShape { @@ -445,6 +428,26 @@ extension Shield { } + public struct UpdateEmergencyContactSettingsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EmergencyContactList", required: false, type: .list) + ] + /// A list of email addresses that the DRT can use to contact you during a suspected attack. + public let emergencyContactList: [EmergencyContact]? + + public init(emergencyContactList: [EmergencyContact]? = nil) { + self.emergencyContactList = emergencyContactList + } + + private enum CodingKeys: String, CodingKey { + case emergencyContactList = "EmergencyContactList" + } + } + + public struct AssociateDRTRoleResponse: AWSShape { + + } + public struct CreateProtectionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ProtectionId", required: false, type: .string) @@ -482,20 +485,12 @@ extension Shield { } } - public struct Mitigation: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MitigationName", required: false, type: .string) - ] - /// The name of the mitigation taken for this attack. - public let mitigationName: String? + public struct DisassociateDRTRoleResponse: AWSShape { - public init(mitigationName: String? = nil) { - self.mitigationName = mitigationName - } + } + + public struct DisassociateDRTLogBucketResponse: AWSShape { - private enum CodingKeys: String, CodingKey { - case mitigationName = "MitigationName" - } } public struct DescribeSubscriptionResponse: AWSShape { @@ -514,43 +509,19 @@ extension Shield { } } - public struct CreateSubscriptionRequest: AWSShape { - - } - - public struct ListAttacksRequest: AWSShape { + public struct AssociateDRTLogBucketRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StartTime", required: false, type: .structure), - AWSShapeMember(label: "ResourceArns", required: false, type: .list), - AWSShapeMember(label: "EndTime", required: false, type: .structure), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "LogBucket", required: true, type: .string) ] - /// 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. - public let startTime: TimeRange? - /// 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. - public let resourceArns: [String]? - /// 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. - public let endTime: TimeRange? - /// The ListAttacksRequest.NextMarker value from a previous call to ListAttacksRequest. Pass null if this is the first call. - public let nextToken: String? - /// The maximum number of AttackSummary objects to be returned. If this is left blank, the first 20 results will be returned. - public let maxResults: Int32? + /// The Amazon S3 bucket that contains your flow logs. + public let logBucket: String - public init(startTime: TimeRange? = nil, resourceArns: [String]? = nil, endTime: TimeRange? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.startTime = startTime - self.resourceArns = resourceArns - self.endTime = endTime - self.nextToken = nextToken - self.maxResults = maxResults + public init(logBucket: String) { + self.logBucket = logBucket } private enum CodingKeys: String, CodingKey { - case startTime = "StartTime" - case resourceArns = "ResourceArns" - case endTime = "EndTime" - case nextToken = "NextToken" - case maxResults = "MaxResults" + case logBucket = "LogBucket" } } @@ -588,6 +559,275 @@ extension Shield { public var description: String { return self.rawValue } } + public struct ListProtectionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The ListProtectionsRequest.NextToken value from a previous call to ListProtections. Pass null if this is the first call. + public let nextToken: String? + /// The maximum number of Protection objects to be returned. If this is left blank the first 20 results will be returned. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct DescribeSubscriptionRequest: AWSShape { + + } + + public struct UpdateSubscriptionResponse: AWSShape { + + } + + public struct DescribeEmergencyContactSettingsRequest: AWSShape { + + } + + public struct DeleteProtectionResponse: AWSShape { + + } + + public enum SubResourceType: String, CustomStringConvertible, Codable { + case ip = "IP" + case url = "URL" + public var description: String { return self.rawValue } + } + + public struct DescribeDRTAccessRequest: AWSShape { + + } + + public struct EmergencyContact: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EmailAddress", required: true, type: .string) + ] + /// An email address that the DRT can use to contact you during a suspected attack. + public let emailAddress: String + + public init(emailAddress: String) { + self.emailAddress = emailAddress + } + + private enum CodingKeys: String, CodingKey { + case emailAddress = "EmailAddress" + } + } + + public struct UpdateEmergencyContactSettingsResponse: AWSShape { + + } + + public struct DeleteSubscriptionRequest: AWSShape { + + } + + public struct UpdateSubscriptionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AutoRenew", required: false, type: .enum) + ] + /// 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. + public let autoRenew: AutoRenew? + + public init(autoRenew: AutoRenew? = nil) { + self.autoRenew = autoRenew + } + + private enum CodingKeys: String, CodingKey { + case autoRenew = "AutoRenew" + } + } + + public struct DescribeAttackResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Attack", required: false, type: .structure) + ] + /// The attack that is described. + public let attack: AttackDetail? + + public init(attack: AttackDetail? = nil) { + self.attack = attack + } + + private enum CodingKeys: String, CodingKey { + case attack = "Attack" + } + } + + public struct SummarizedCounter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Unit", required: false, type: .string), + AWSShapeMember(label: "Average", required: false, type: .double), + AWSShapeMember(label: "N", required: false, type: .integer), + AWSShapeMember(label: "Max", required: false, type: .double), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Sum", required: false, type: .double) + ] + /// The unit of the counters. + public let unit: String? + /// The average value of the counter for a specified time period. + public let average: Double? + /// The number of counters for a specified time period. + public let n: Int32? + /// The maximum value of the counter for a specified time period. + public let max: Double? + /// The counter name. + public let name: String? + /// The total of counter values for a specified time period. + public let sum: Double? + + public init(unit: String? = nil, average: Double? = nil, n: Int32? = nil, max: Double? = nil, name: String? = nil, sum: Double? = nil) { + self.unit = unit + self.average = average + self.n = n + self.max = max + self.name = name + self.sum = sum + } + + private enum CodingKeys: String, CodingKey { + case unit = "Unit" + case average = "Average" + case n = "N" + case max = "Max" + case name = "Name" + case sum = "Sum" + } + } + + public struct GetSubscriptionStateRequest: AWSShape { + + } + + public struct DescribeAttackRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AttackId", required: true, type: .string) + ] + /// The unique identifier (ID) for the attack that to be described. + public let attackId: String + + public init(attackId: String) { + self.attackId = attackId + } + + private enum CodingKeys: String, CodingKey { + case attackId = "AttackId" + } + } + + public struct DescribeProtectionResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Protection", required: false, type: .structure) + ] + /// The Protection object that is described. + public let protection: Protection? + + public init(protection: Protection? = nil) { + self.protection = protection + } + + private enum CodingKeys: String, CodingKey { + case protection = "Protection" + } + } + + public struct DeleteSubscriptionResponse: AWSShape { + + } + + public struct Limit: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Max", required: false, type: .long), + AWSShapeMember(label: "Type", required: false, type: .string) + ] + /// The maximum number of protections that can be created for the specified Type. + public let max: Int64? + /// The type of protection. + public let `type`: String? + + public init(max: Int64? = nil, type: String? = nil) { + self.max = max + self.`type` = `type` + } + + private enum CodingKeys: String, CodingKey { + case max = "Max" + case `type` = "Type" + } + } + + public struct DisassociateDRTRoleRequest: AWSShape { + + } + + public struct Mitigation: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MitigationName", required: false, type: .string) + ] + /// The name of the mitigation taken for this attack. + public let mitigationName: String? + + public init(mitigationName: String? = nil) { + self.mitigationName = mitigationName + } + + private enum CodingKeys: String, CodingKey { + case mitigationName = "MitigationName" + } + } + + public struct CreateSubscriptionRequest: AWSShape { + + } + + public struct ListAttacksRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StartTime", required: false, type: .structure), + AWSShapeMember(label: "ResourceArns", required: false, type: .list), + AWSShapeMember(label: "EndTime", required: false, type: .structure), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let startTime: TimeRange? + /// 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. + public let resourceArns: [String]? + /// 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. + public let endTime: TimeRange? + /// The ListAttacksRequest.NextMarker value from a previous call to ListAttacksRequest. Pass null if this is the first call. + public let nextToken: String? + /// The maximum number of AttackSummary objects to be returned. If this is left blank, the first 20 results will be returned. + public let maxResults: Int32? + + public init(startTime: TimeRange? = nil, resourceArns: [String]? = nil, endTime: TimeRange? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.startTime = startTime + self.resourceArns = resourceArns + self.endTime = endTime + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case startTime = "StartTime" + case resourceArns = "ResourceArns" + case endTime = "EndTime" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct AssociateDRTLogBucketResponse: AWSShape { + + } + public struct SubResourceSummary: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Counters", required: false, type: .list), @@ -619,39 +859,10 @@ extension Shield { } } - public struct ListProtectionsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// The ListProtectionsRequest.NextToken value from a previous call to ListProtections. Pass null if this is the first call. - public let nextToken: String? - /// The maximum number of Protection objects to be returned. If this is left blank the first 20 results will be returned. - public let maxResults: Int32? - - public init(nextToken: String? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case maxResults = "MaxResults" - } - } - public enum SubscriptionState: String, CustomStringConvertible, Codable { case active = "ACTIVE" case inactive = "INACTIVE" public var description: String { return self.rawValue } } - public struct DescribeSubscriptionRequest: AWSShape { - - } - - public struct DeleteProtectionResponse: AWSShape { - - } - } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/sms/Sms_Shapes.swift b/Sources/AWSSDKSwift/Services/sms/Sms_Shapes.swift index 2e3191d4775..84d8dd62bee 100644 --- a/Sources/AWSSDKSwift/Services/sms/Sms_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/sms/Sms_Shapes.swift @@ -119,26 +119,26 @@ extension Sms { public struct GetServersResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "serverList", required: false, type: .structure), - AWSShapeMember(label: "serverCatalogStatus", required: false, type: .enum), AWSShapeMember(label: "nextToken", required: false, type: .string), + AWSShapeMember(label: "serverCatalogStatus", required: false, type: .enum), AWSShapeMember(label: "lastModifiedOn", required: false, type: .timestamp) ] public let serverList: ServerList? - public let serverCatalogStatus: ServerCatalogStatus? public let nextToken: String? + public let serverCatalogStatus: ServerCatalogStatus? public let lastModifiedOn: TimeStamp? - public init(serverList: ServerList? = nil, serverCatalogStatus: ServerCatalogStatus? = nil, nextToken: String? = nil, lastModifiedOn: TimeStamp? = nil) { + public init(serverList: ServerList? = nil, nextToken: String? = nil, serverCatalogStatus: ServerCatalogStatus? = nil, lastModifiedOn: TimeStamp? = nil) { self.serverList = serverList - self.serverCatalogStatus = serverCatalogStatus self.nextToken = nextToken + self.serverCatalogStatus = serverCatalogStatus self.lastModifiedOn = lastModifiedOn } private enum CodingKeys: String, CodingKey { case serverList = "serverList" - case serverCatalogStatus = "serverCatalogStatus" case nextToken = "nextToken" + case serverCatalogStatus = "serverCatalogStatus" case lastModifiedOn = "lastModifiedOn" } } diff --git a/Sources/AWSSDKSwift/Services/snowball/Snowball_API.swift b/Sources/AWSSDKSwift/Services/snowball/Snowball_API.swift index 9e4f9dee448..5a7d0e64c34 100644 --- a/Sources/AWSSDKSwift/Services/snowball/Snowball_API.swift +++ b/Sources/AWSSDKSwift/Services/snowball/Snowball_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -AWS Snowball is a petabyte-scale data transport solution that uses secure appliances to transfer large amounts of data between your on-premises data centers and Amazon Simple Storage Service (Amazon S3). The Snowball commands described here provide access to the same functionality that is available in the AWS Snowball Management Console, which enables you to create and manage jobs for Snowball. To transfer data locally with a Snowball appliance, you'll need to use the Snowball client or the Amazon S3 API adapter for Snowball. For more information, see the User Guide. +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. */ public struct Snowball { @@ -65,9 +65,9 @@ public struct Snowball { return try client.send(operation: "CreateCluster", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func updateCluster(_ input: UpdateClusterRequest) throws -> UpdateClusterResult { - return try client.send(operation: "UpdateCluster", path: "/", httpMethod: "POST", input: input) + /// 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. + public func listCompatibleImages(_ input: ListCompatibleImagesRequest) throws -> ListCompatibleImagesResult { + return try client.send(operation: "ListCompatibleImages", path: "/", httpMethod: "POST", input: input) } /// 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. @@ -75,6 +75,11 @@ public struct Snowball { return try client.send(operation: "UpdateJob", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func updateCluster(_ input: UpdateClusterRequest) throws -> UpdateClusterResult { + return try client.send(operation: "UpdateCluster", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func getJobUnlockCode(_ input: GetJobUnlockCodeRequest) throws -> GetJobUnlockCodeResult { return try client.send(operation: "GetJobUnlockCode", path: "/", httpMethod: "POST", input: input) @@ -105,7 +110,7 @@ public struct Snowball { return try client.send(operation: "DescribeJob", path: "/", httpMethod: "POST", input: input) } - /// Cancels the specified job. You can only cancel a job before its JobState value changes to PreparingAppliance. Requesting the ListJobs or DescribeJob action will return a job's JobState as part of the response element data returned. + /// 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. public func cancelJob(_ input: CancelJobRequest) throws -> CancelJobResult { return try client.send(operation: "CancelJob", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/snowball/Snowball_Error.swift b/Sources/AWSSDKSwift/Services/snowball/Snowball_Error.swift index 15298187a00..590653d3b89 100644 --- a/Sources/AWSSDKSwift/Services/snowball/Snowball_Error.swift +++ b/Sources/AWSSDKSwift/Services/snowball/Snowball_Error.swift @@ -9,6 +9,7 @@ public enum SnowballError: AWSErrorType { case kMSRequestFailedException(message: String?) case invalidInputCombinationException(message: String?) case clusterLimitExceededException(message: String?) + case ec2RequestFailedException(message: String?) case invalidJobStateException(message: String?) case invalidAddressException(message: String?) case unsupportedAddressException(message: String?) @@ -31,6 +32,8 @@ extension SnowballError { self = .invalidInputCombinationException(message: message) case "ClusterLimitExceededException": self = .clusterLimitExceededException(message: message) + case "Ec2RequestFailedException": + self = .ec2RequestFailedException(message: message) case "InvalidJobStateException": self = .invalidJobStateException(message: message) case "InvalidAddressException": diff --git a/Sources/AWSSDKSwift/Services/snowball/Snowball_Shapes.swift b/Sources/AWSSDKSwift/Services/snowball/Snowball_Shapes.swift index cf0df8e6947..907a58a3d02 100644 --- a/Sources/AWSSDKSwift/Services/snowball/Snowball_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/snowball/Snowball_Shapes.swift @@ -50,7 +50,7 @@ extension Snowball { public let roleARN: String? /// The new or updated Notification object. public let notification: Notification? - /// The updated S3Resource object (for a single Amazon S3 bucket or key range), or the updated JobResource object (for multiple buckets or key ranges). + /// The updated JobResource object, or the updated JobResource object. public let resources: JobResource? /// The job ID of the job that you want to update, for example JID123e4567-e89b-12d3-a456-426655440000. public let jobId: String @@ -92,22 +92,27 @@ extension Snowball { public struct JobResource: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LambdaResources", required: false, type: .list), AWSShapeMember(label: "S3Resources", required: false, type: .list), - AWSShapeMember(label: "LambdaResources", required: false, type: .list) + AWSShapeMember(label: "Ec2AmiResources", required: false, type: .list) ] - /// An array of S3Resource objects. - public let s3Resources: [S3Resource]? /// The Python-language Lambda functions for this job. public let lambdaResources: [LambdaResource]? + /// An array of S3Resource objects. + public let s3Resources: [S3Resource]? + /// The Amazon Machine Images (AMIs) associated with this job. + public let ec2AmiResources: [Ec2AmiResource]? - public init(s3Resources: [S3Resource]? = nil, lambdaResources: [LambdaResource]? = nil) { - self.s3Resources = s3Resources + public init(lambdaResources: [LambdaResource]? = nil, s3Resources: [S3Resource]? = nil, ec2AmiResources: [Ec2AmiResource]? = nil) { self.lambdaResources = lambdaResources + self.s3Resources = s3Resources + self.ec2AmiResources = ec2AmiResources } private enum CodingKeys: String, CodingKey { - case s3Resources = "S3Resources" case lambdaResources = "LambdaResources" + case s3Resources = "S3Resources" + case ec2AmiResources = "Ec2AmiResources" } } @@ -135,9 +140,9 @@ extension Snowball { ] /// 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. public let shippingOption: ShippingOption? - /// The Status and TrackingNumber values for a Snowball being delivered to the address that you specified for a particular job. - public let inboundShipment: Shipment? /// The Status and TrackingNumber values for a Snowball being returned to AWS for a particular job. + public let inboundShipment: Shipment? + /// The Status and TrackingNumber values for a Snowball being delivered to the address that you specified for a particular job. public let outboundShipment: Shipment? public init(shippingOption: ShippingOption? = nil, inboundShipment: Shipment? = nil, outboundShipment: Shipment? = nil) { @@ -183,81 +188,6 @@ extension Snowball { } - public struct EventTriggerDefinition: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EventResourceARN", required: false, type: .string) - ] - /// The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an AWS Lambda function's event trigger associated with this job. - public let eventResourceARN: String? - - public init(eventResourceARN: String? = nil) { - self.eventResourceARN = eventResourceARN - } - - private enum CodingKeys: String, CodingKey { - case eventResourceARN = "EventResourceARN" - } - } - - public struct GetJobUnlockCodeRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobId", required: true, type: .string) - ] - /// The ID for the job that you want to get the UnlockCode value for, for example JID123e4567-e89b-12d3-a456-426655440000. - public let jobId: String - - public init(jobId: String) { - self.jobId = jobId - } - - private enum CodingKeys: String, CodingKey { - case jobId = "JobId" - } - } - - public struct KeyRange: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BeginMarker", required: false, type: .string), - AWSShapeMember(label: "EndMarker", required: false, type: .string) - ] - /// The key that starts an optional key range for an export job. Ranges are inclusive and UTF-8 binary sorted. - public let beginMarker: String? - /// The key that ends an optional key range for an export job. Ranges are inclusive and UTF-8 binary sorted. - public let endMarker: String? - - public init(beginMarker: String? = nil, endMarker: String? = nil) { - self.beginMarker = beginMarker - self.endMarker = endMarker - } - - private enum CodingKeys: String, CodingKey { - case beginMarker = "BeginMarker" - case endMarker = "EndMarker" - } - } - - public enum SnowballType: String, CustomStringConvertible, Codable { - case standard = "STANDARD" - case edge = "EDGE" - public var description: String { return self.rawValue } - } - - public struct DescribeClusterResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ClusterMetadata", required: false, type: .structure) - ] - /// Information about a specific cluster, including shipping information, cluster status, and other important metadata. - public let clusterMetadata: ClusterMetadata? - - public init(clusterMetadata: ClusterMetadata? = nil) { - self.clusterMetadata = clusterMetadata - } - - private enum CodingKeys: String, CodingKey { - case clusterMetadata = "ClusterMetadata" - } - } - public struct Address: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Landmark", required: false, type: .string), @@ -339,6 +269,81 @@ extension Snowball { } } + public struct GetJobUnlockCodeRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: true, type: .string) + ] + /// The ID for the job that you want to get the UnlockCode value for, for example JID123e4567-e89b-12d3-a456-426655440000. + public let jobId: String + + public init(jobId: String) { + self.jobId = jobId + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + } + } + + public struct KeyRange: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BeginMarker", required: false, type: .string), + AWSShapeMember(label: "EndMarker", required: false, type: .string) + ] + /// The key that starts an optional key range for an export job. Ranges are inclusive and UTF-8 binary sorted. + public let beginMarker: String? + /// The key that ends an optional key range for an export job. Ranges are inclusive and UTF-8 binary sorted. + public let endMarker: String? + + public init(beginMarker: String? = nil, endMarker: String? = nil) { + self.beginMarker = beginMarker + self.endMarker = endMarker + } + + private enum CodingKeys: String, CodingKey { + case beginMarker = "BeginMarker" + case endMarker = "EndMarker" + } + } + + public struct DescribeClusterResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClusterMetadata", required: false, type: .structure) + ] + /// Information about a specific cluster, including shipping information, cluster status, and other important metadata. + public let clusterMetadata: ClusterMetadata? + + public init(clusterMetadata: ClusterMetadata? = nil) { + self.clusterMetadata = clusterMetadata + } + + private enum CodingKeys: String, CodingKey { + case clusterMetadata = "ClusterMetadata" + } + } + + public struct EventTriggerDefinition: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EventResourceARN", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an AWS Lambda function's event trigger associated with this job. + public let eventResourceARN: String? + + public init(eventResourceARN: String? = nil) { + self.eventResourceARN = eventResourceARN + } + + private enum CodingKeys: String, CodingKey { + case eventResourceARN = "EventResourceARN" + } + } + + public enum SnowballType: String, CustomStringConvertible, Codable { + case standard = "STANDARD" + case edge = "EDGE" + public var description: String { return self.rawValue } + } + public enum ClusterState: String, CustomStringConvertible, Codable { case awaitingquorum = "AwaitingQuorum" case pending = "Pending" @@ -348,6 +353,31 @@ extension Snowball { public var description: String { return self.rawValue } } + public struct ListCompatibleImagesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "CompatibleImages", required: false, type: .list) + ] + /// Because HTTP requests are stateless, this is the starting point for your next list of returned images. + public let nextToken: String? + /// A JSON-formatted object that describes a compatible AMI, including the ID and name for a Snowball Edge AMI. + public let compatibleImages: [CompatibleImage]? + + public init(nextToken: String? = nil, compatibleImages: [CompatibleImage]? = nil) { + self.nextToken = nextToken + self.compatibleImages = compatibleImages + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case compatibleImages = "CompatibleImages" + } + } + + public struct GetSnowballUsageRequest: AWSShape { + + } + public struct ListClustersResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ClusterListEntries", required: false, type: .list), @@ -369,10 +399,6 @@ extension Snowball { } } - public struct GetSnowballUsageRequest: AWSShape { - - } - public struct CancelJobResult: AWSShape { } @@ -422,9 +448,9 @@ extension Snowball { AWSShapeMember(label: "Resources", required: true, type: .structure), AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge appliance, rather it represents how quickly each appliance moves to its destination while in transit. Regional shipping speeds are as follows: In Australia, you have access to express shipping. Typically, appliances 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. + /// 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. public let shippingOption: ShippingOption - /// The ID for the address that you want the cluster shipped to.> + /// The ID for the address that you want the cluster shipped to. public let addressId: String /// The forwarding address ID for a cluster. This field is not supported in most regions. public let forwardingAddressId: String? @@ -436,7 +462,7 @@ extension Snowball { public let notification: Notification? /// 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). public let kmsKeyARN: String? - /// The type of AWS Snowball appliance to use for this cluster. Currently, the only supported appliance type for cluster jobs is EDGE. + /// The type of AWS Snowball device to use for this cluster. Currently, the only supported device type for cluster jobs is EDGE. public let snowballType: SnowballType? /// The resources associated with the cluster job. These resources include Amazon S3 buckets and optional AWS Lambda functions written in the Python language. public let resources: JobResource @@ -470,19 +496,24 @@ extension Snowball { } } - public struct DescribeClusterRequest: AWSShape { + public struct CompatibleImage: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ClusterId", required: true, type: .string) + AWSShapeMember(label: "AmiId", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string) ] - /// The automatically generated ID for a cluster. - public let clusterId: String + /// The unique identifier for an individual Snowball Edge AMI. + public let amiId: String? + /// The optional name of a compatible image. + public let name: String? - public init(clusterId: String) { - self.clusterId = clusterId + public init(amiId: String? = nil, name: String? = nil) { + self.amiId = amiId + self.name = name } private enum CodingKeys: String, CodingKey { - case clusterId = "ClusterId" + case amiId = "AmiId" + case name = "Name" } } @@ -507,6 +538,22 @@ extension Snowball { } } + public struct DescribeClusterRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClusterId", required: true, type: .string) + ] + /// The automatically generated ID for a cluster. + public let clusterId: String + + public init(clusterId: String) { + self.clusterId = clusterId + } + + private enum CodingKeys: String, CodingKey { + case clusterId = "ClusterId" + } + } + public struct CreateAddressRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Address", required: true, type: .structure) @@ -544,8 +591,20 @@ extension Snowball { } } - public struct UpdateClusterResult: AWSShape { + public struct GetJobManifestRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobId", required: true, type: .string) + ] + /// The ID for a job that you want to get the manifest file for, for example JID123e4567-e89b-12d3-a456-426655440000. + public let jobId: String + public init(jobId: String) { + self.jobId = jobId + } + + private enum CodingKeys: String, CodingKey { + case jobId = "JobId" + } } public struct GetJobUnlockCodeResult: AWSShape { @@ -595,19 +654,11 @@ extension Snowball { } } - public enum ShippingOption: String, CustomStringConvertible, Codable { - case secondDay = "SECOND_DAY" - case nextDay = "NEXT_DAY" - case express = "EXPRESS" - case standard = "STANDARD" - public var description: String { return self.rawValue } - } - - public struct GetJobManifestRequest: AWSShape { + public struct DescribeJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "JobId", required: true, type: .string) ] - /// The ID for a job that you want to get the manifest file for, for example JID123e4567-e89b-12d3-a456-426655440000. + /// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000. public let jobId: String public init(jobId: String) { @@ -619,6 +670,14 @@ extension Snowball { } } + public enum ShippingOption: String, CustomStringConvertible, Codable { + case secondDay = "SECOND_DAY" + case nextDay = "NEXT_DAY" + case express = "EXPRESS" + case standard = "STANDARD" + public var description: String { return self.rawValue } + } + public struct DescribeAddressRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AddressId", required: true, type: .string) @@ -635,20 +694,8 @@ extension Snowball { } } - public struct DescribeJobRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobId", required: true, type: .string) - ] - /// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000. - public let jobId: String - - public init(jobId: String) { - self.jobId = jobId - } + public struct UpdateClusterResult: AWSShape { - private enum CodingKeys: String, CodingKey { - case jobId = "JobId" - } } public struct ListJobsResult: AWSShape { @@ -672,19 +719,45 @@ extension Snowball { } } - public struct CreateJobResult: AWSShape { + public struct Ec2AmiResource: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobId", required: false, type: .string) + AWSShapeMember(label: "AmiId", required: true, type: .string), + AWSShapeMember(label: "SnowballAmiId", required: false, type: .string) ] - /// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000. - public let jobId: String? + /// The ID of the AMI in Amazon EC2. + public let amiId: String + /// The ID of the AMI on the Snowball Edge device. + public let snowballAmiId: String? - public init(jobId: String? = nil) { - self.jobId = jobId + public init(amiId: String, snowballAmiId: String? = nil) { + self.amiId = amiId + self.snowballAmiId = snowballAmiId } private enum CodingKeys: String, CodingKey { - case jobId = "JobId" + case amiId = "AmiId" + case snowballAmiId = "SnowballAmiId" + } + } + + public struct LambdaResource: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LambdaArn", required: false, type: .string), + AWSShapeMember(label: "EventTriggers", required: false, type: .list) + ] + /// 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. + public let lambdaArn: String? + /// The array of ARNs for S3Resource objects to trigger the LambdaResource objects associated with this job. + public let eventTriggers: [EventTriggerDefinition]? + + public init(lambdaArn: String? = nil, eventTriggers: [EventTriggerDefinition]? = nil) { + self.lambdaArn = lambdaArn + self.eventTriggers = eventTriggers + } + + private enum CodingKeys: String, CodingKey { + case lambdaArn = "LambdaArn" + case eventTriggers = "EventTriggers" } } @@ -704,31 +777,26 @@ extension Snowball { } } - public struct CancelClusterResult: AWSShape { - - } - - public struct LambdaResource: AWSShape { + public struct CreateJobResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LambdaArn", required: false, type: .string), - AWSShapeMember(label: "EventTriggers", required: false, type: .list) + AWSShapeMember(label: "JobId", required: false, type: .string) ] - /// 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. - public let lambdaArn: String? - /// The array of ARNs for S3Resource objects to trigger the LambdaResource objects associated with this job. - public let eventTriggers: [EventTriggerDefinition]? + /// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000. + public let jobId: String? - public init(lambdaArn: String? = nil, eventTriggers: [EventTriggerDefinition]? = nil) { - self.lambdaArn = lambdaArn - self.eventTriggers = eventTriggers + public init(jobId: String? = nil) { + self.jobId = jobId } private enum CodingKeys: String, CodingKey { - case lambdaArn = "LambdaArn" - case eventTriggers = "EventTriggers" + case jobId = "JobId" } } + public struct CancelClusterResult: AWSShape { + + } + public struct ClusterMetadata: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ClusterState", required: false, type: .enum), @@ -747,7 +815,7 @@ extension Snowball { ] /// The current status of the cluster. public let clusterState: ClusterState? - /// The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge appliance, rather it represents how quickly each appliance moves to its destination while in transit. Regional shipping speeds are as follows: In Australia, you have access to express shipping. Typically, appliances 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. + /// 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. public let shippingOption: ShippingOption? /// 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. public let forwardingAddressId: String? @@ -765,7 +833,7 @@ extension Snowball { public let jobType: JobType? /// The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster. public let notification: Notification? - /// The type of AWS Snowball appliance to use for this cluster. Currently, the only supported appliance type for cluster jobs is EDGE. + /// The type of AWS Snowball device to use for this cluster. Currently, the only supported device type for cluster jobs is EDGE. public let snowballType: SnowballType? /// The arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects. public let resources: JobResource? @@ -805,6 +873,13 @@ extension Snowball { } } + public enum JobType: String, CustomStringConvertible, Codable { + case `import` = "IMPORT" + case export = "EXPORT" + case localUse = "LOCAL_USE" + public var description: String { return self.rawValue } + } + public struct Notification: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NotifyAll", required: false, type: .boolean), @@ -831,21 +906,35 @@ extension Snowball { } } - public enum JobType: String, CustomStringConvertible, Codable { - case `import` = "IMPORT" - case export = "EXPORT" - case localUse = "LOCAL_USE" - public var description: String { return self.rawValue } + public struct DescribeJobResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobMetadata", required: false, type: .structure), + AWSShapeMember(label: "SubJobMetadata", required: false, type: .list) + ] + /// Information about a specific job, including shipping information, job status, and other important metadata. + public let jobMetadata: JobMetadata? + /// Information about a specific job part (in the case of an export job), including shipping information, job status, and other important metadata. + public let subJobMetadata: [JobMetadata]? + + public init(jobMetadata: JobMetadata? = nil, subJobMetadata: [JobMetadata]? = nil) { + self.jobMetadata = jobMetadata + self.subJobMetadata = subJobMetadata + } + + private enum CodingKeys: String, CodingKey { + case jobMetadata = "JobMetadata" + case subJobMetadata = "SubJobMetadata" + } } - public struct ListJobsRequest: AWSShape { + public struct ListCompatibleImagesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// 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. + /// 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. public let nextToken: String? - /// The number of JobListEntry objects to return. + /// The maximum number of results for the list of compatible images. Currently, a Snowball Edge device can store 10 AMIs. public let maxResults: Int32? public init(nextToken: String? = nil, maxResults: Int32? = nil) { @@ -859,35 +948,14 @@ extension Snowball { } } - public struct Shipment: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Status", required: false, type: .string), - AWSShapeMember(label: "TrackingNumber", required: false, type: .string) - ] - /// Status information for a shipment. - public let status: String? - /// 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. - public let trackingNumber: String? - - public init(status: String? = nil, trackingNumber: String? = nil) { - self.status = status - self.trackingNumber = trackingNumber - } - - private enum CodingKeys: String, CodingKey { - case status = "Status" - case trackingNumber = "TrackingNumber" - } - } - - public struct DescribeAddressesRequest: AWSShape { + public struct ListJobsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// 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. + /// 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. public let nextToken: String? - /// The number of ADDRESS objects to return. + /// The number of JobListEntry objects to return. public let maxResults: Int32? public init(nextToken: String? = nil, maxResults: Int32? = nil) { @@ -952,24 +1020,45 @@ extension Snowball { } } - public struct DescribeJobResult: AWSShape { + public struct Shipment: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "JobMetadata", required: false, type: .structure), - AWSShapeMember(label: "SubJobMetadata", required: false, type: .list) + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "TrackingNumber", required: false, type: .string) ] - /// Information about a specific job, including shipping information, job status, and other important metadata. - public let jobMetadata: JobMetadata? - /// Information about a specific job part (in the case of an export job), including shipping information, job status, and other important metadata. - public let subJobMetadata: [JobMetadata]? + /// Status information for a shipment. + public let status: String? + /// 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. + public let trackingNumber: String? - public init(jobMetadata: JobMetadata? = nil, subJobMetadata: [JobMetadata]? = nil) { - self.jobMetadata = jobMetadata - self.subJobMetadata = subJobMetadata + public init(status: String? = nil, trackingNumber: String? = nil) { + self.status = status + self.trackingNumber = trackingNumber } private enum CodingKeys: String, CodingKey { - case jobMetadata = "JobMetadata" - case subJobMetadata = "SubJobMetadata" + case status = "Status" + case trackingNumber = "TrackingNumber" + } + } + + public struct DescribeAddressesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// 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. + public let nextToken: String? + /// The number of ADDRESS objects to return. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case maxResults = "MaxResults" } } @@ -991,7 +1080,7 @@ extension Snowball { public let jobState: JobState? /// The creation date for this job. public let creationDate: TimeStamp? - /// The type of appliance used with this job. + /// The type of device used with this job. public let snowballType: SnowballType? /// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000. public let jobId: String? @@ -1123,7 +1212,7 @@ extension Snowball { AWSShapeMember(label: "ClusterId", required: false, type: .string), AWSShapeMember(label: "Resources", required: false, type: .structure) ] - /// A value that defines the real-time status of a Snowball's data transfer while the appliance is at AWS. This data is only available while a job has a JobState value of InProgress, for both import and export jobs. + /// 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. public let dataTransferProgress: DataTransfer? /// 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. public let snowballCapacityPreference: SnowballCapacity? @@ -1149,7 +1238,7 @@ extension Snowball { public let jobType: JobType? /// 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. public let notification: Notification? - /// The type of appliance used with this job. + /// The type of device used with this job. public let snowballType: SnowballType? /// 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. public let jobLogInfo: JobLogs? @@ -1199,6 +1288,27 @@ extension Snowball { } } + public struct GetSnowballUsageResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SnowballLimit", required: false, type: .integer), + AWSShapeMember(label: "SnowballsInUse", required: false, type: .integer) + ] + /// The service limit for number of Snowballs this account can have at once. The default service limit is 1 (one). + public let snowballLimit: Int32? + /// The number of Snowballs that this account is currently using. + public let snowballsInUse: Int32? + + public init(snowballLimit: Int32? = nil, snowballsInUse: Int32? = nil) { + self.snowballLimit = snowballLimit + self.snowballsInUse = snowballsInUse + } + + private enum CodingKeys: String, CodingKey { + case snowballLimit = "SnowballLimit" + case snowballsInUse = "SnowballsInUse" + } + } + public struct JobLogs: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "JobFailureLogURI", required: false, type: .string), @@ -1225,27 +1335,6 @@ extension Snowball { } } - public struct GetSnowballUsageResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SnowballLimit", required: false, type: .integer), - AWSShapeMember(label: "SnowballsInUse", required: false, type: .integer) - ] - /// The service limit for number of Snowballs this account can have at once. The default service limit is 1 (one). - public let snowballLimit: Int32? - /// The number of Snowballs that this account is currently using. - public let snowballsInUse: Int32? - - public init(snowballLimit: Int32? = nil, snowballsInUse: Int32? = nil) { - self.snowballLimit = snowballLimit - self.snowballsInUse = snowballsInUse - } - - private enum CodingKeys: String, CodingKey { - case snowballLimit = "SnowballLimit" - case snowballsInUse = "SnowballsInUse" - } - } - public struct CreateJobRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ShippingOption", required: false, type: .enum), @@ -1277,7 +1366,7 @@ extension Snowball { public let jobType: JobType? /// Defines the Amazon Simple Notification Service (Amazon SNS) notification settings for this job. public let notification: Notification? - /// The type of AWS Snowball appliance to use for this job. Currently, the only supported appliance type for cluster jobs is EDGE. + /// The type of AWS Snowball device to use for this job. Currently, the only supported device type for cluster jobs is EDGE. public let snowballType: SnowballType? /// 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. public let resources: JobResource? diff --git a/Sources/AWSSDKSwift/Services/sns/Sns_API.swift b/Sources/AWSSDKSwift/Services/sns/Sns_API.swift index 149ba836ca2..1582f22d33a 100644 --- a/Sources/AWSSDKSwift/Services/sns/Sns_API.swift +++ b/Sources/AWSSDKSwift/Services/sns/Sns_API.swift @@ -29,7 +29,7 @@ public struct Sns { return try client.send(operation: "ListPhoneNumbersOptedOut", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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). public func listSubscriptionsByTopic(_ input: ListSubscriptionsByTopicInput) throws -> ListSubscriptionsByTopicResponse { return try client.send(operation: "ListSubscriptionsByTopic", path: "/", httpMethod: "POST", input: input) } @@ -44,12 +44,12 @@ public struct Sns { _ = try client.send(operation: "AddPermission", path: "/", httpMethod: "POST", input: input) } - /// Allows a subscription owner to set an attribute of the topic to a new value. + /// Allows a subscription owner to set an attribute of the subscription to a new value. public func setSubscriptionAttributes(_ input: SetSubscriptionAttributesInput) throws { _ = try client.send(operation: "SetSubscriptionAttributes", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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). public func unsubscribe(_ input: UnsubscribeInput) throws { _ = try client.send(operation: "Unsubscribe", path: "/", httpMethod: "POST", input: input) } @@ -74,7 +74,7 @@ public struct Sns { return try client.send(operation: "OptInPhoneNumber", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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). public func listPlatformApplications(_ input: ListPlatformApplicationsInput) throws -> ListPlatformApplicationsResponse { return try client.send(operation: "ListPlatformApplications", path: "/", httpMethod: "POST", input: input) } @@ -124,17 +124,17 @@ public struct Sns { return try client.send(operation: "GetSMSAttributes", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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). public func listEndpointsByPlatformApplication(_ input: ListEndpointsByPlatformApplicationInput) throws -> ListEndpointsByPlatformApplicationResponse { return try client.send(operation: "ListEndpointsByPlatformApplication", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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). public func subscribe(_ input: SubscribeInput) throws -> SubscribeResponse { return try client.send(operation: "Subscribe", path: "/", httpMethod: "POST", input: input) } - /// Sends a message to all of a topic's subscribed endpoints. When a messageId is returned, the message has been saved and Amazon SNS will attempt to deliver it to the topic's subscribers shortly. The format of the outgoing message to each subscribed endpoint depends on the notification protocol. To use the Publish action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the CreatePlatformEndpoint action. For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices. + /// 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. public func publish(_ input: PublishInput) throws -> PublishResponse { return try client.send(operation: "Publish", path: "/", httpMethod: "POST", input: input) } @@ -149,7 +149,7 @@ public struct Sns { _ = try client.send(operation: "DeletePlatformApplication", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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). public func listTopics(_ input: ListTopicsInput) throws -> ListTopicsResponse { return try client.send(operation: "ListTopics", path: "/", httpMethod: "POST", input: input) } @@ -159,7 +159,7 @@ public struct Sns { return try client.send(operation: "SetSMSAttributes", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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). public func listSubscriptions(_ input: ListSubscriptionsInput) throws -> ListSubscriptionsResponse { return try client.send(operation: "ListSubscriptions", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/sns/Sns_Error.swift b/Sources/AWSSDKSwift/Services/sns/Sns_Error.swift index 351dbb71e23..61d298fdfc3 100644 --- a/Sources/AWSSDKSwift/Services/sns/Sns_Error.swift +++ b/Sources/AWSSDKSwift/Services/sns/Sns_Error.swift @@ -9,6 +9,7 @@ public enum SnsError: AWSErrorType { case authorizationErrorException(message: String?) case invalidParameterException(message: String?) case notFoundException(message: String?) + case filterPolicyLimitExceededException(message: String?) case topicLimitExceededException(message: String?) case subscriptionLimitExceededException(message: String?) case invalidParameterValueException(message: String?) @@ -33,6 +34,8 @@ extension SnsError { self = .invalidParameterException(message: message) case "NotFoundException": self = .notFoundException(message: message) + case "FilterPolicyLimitExceededException": + self = .filterPolicyLimitExceededException(message: message) case "TopicLimitExceededException": self = .topicLimitExceededException(message: message) case "SubscriptionLimitExceededException": diff --git a/Sources/AWSSDKSwift/Services/sns/Sns_Shapes.swift b/Sources/AWSSDKSwift/Services/sns/Sns_Shapes.swift index 59a9d0ae4dc..1ca7094abb6 100644 --- a/Sources/AWSSDKSwift/Services/sns/Sns_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/sns/Sns_Shapes.swift @@ -321,7 +321,7 @@ extension Sns { AWSShapeMember(label: "AttributeValue", required: false, type: .string), AWSShapeMember(label: "SubscriptionArn", required: true, type: .string) ] - /// The name of the attribute you want to set. Only a subset of the subscriptions attributes are mutable. Valid values: DeliveryPolicy | RawMessageDelivery + /// The name of the attribute you want to set. Only a subset of the subscriptions attributes are mutable. Valid values: DeliveryPolicy | FilterPolicy | RawMessageDelivery public let attributeName: String /// The new value for the attribute in JSON format. public let attributeValue: String? @@ -573,43 +573,53 @@ extension Sns { } } - public struct CheckIfPhoneNumberIsOptedOutResponse: AWSShape { + public struct ListSubscriptionsByTopicResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "isOptedOut", required: false, type: .boolean) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Subscriptions", required: false, type: .list) ] - /// 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. - public let isOptedOut: Bool? + /// Token to pass along to the next ListSubscriptionsByTopic request. This element is returned if there are more subscriptions to retrieve. + public let nextToken: String? + /// A list of subscriptions. + public let subscriptions: [Subscription]? - public init(isOptedOut: Bool? = nil) { - self.isOptedOut = isOptedOut + public init(nextToken: String? = nil, subscriptions: [Subscription]? = nil) { + self.nextToken = nextToken + self.subscriptions = subscriptions } private enum CodingKeys: String, CodingKey { - case isOptedOut = "isOptedOut" + case nextToken = "NextToken" + case subscriptions = "Subscriptions" } } - public struct ConfirmSubscriptionResponse: AWSShape { + public struct ListSubscriptionsResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SubscriptionArn", required: false, type: .string) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Subscriptions", required: false, type: .list) ] - /// The ARN of the created subscription. - public let subscriptionArn: String? + /// Token to pass along to the next ListSubscriptions request. This element is returned if there are more subscriptions to retrieve. + public let nextToken: String? + /// A list of subscriptions. + public let subscriptions: [Subscription]? - public init(subscriptionArn: String? = nil) { - self.subscriptionArn = subscriptionArn + public init(nextToken: String? = nil, subscriptions: [Subscription]? = nil) { + self.nextToken = nextToken + self.subscriptions = subscriptions } private enum CodingKeys: String, CodingKey { - case subscriptionArn = "SubscriptionArn" + case nextToken = "NextToken" + case subscriptions = "Subscriptions" } } - public struct SubscribeResponse: AWSShape { + public struct ConfirmSubscriptionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SubscriptionArn", required: false, type: .string) ] - /// The ARN of the subscription, if the service was able to create a subscription immediately (without requiring endpoint owner confirmation). + /// The ARN of the created subscription. public let subscriptionArn: String? public init(subscriptionArn: String? = nil) { @@ -621,45 +631,35 @@ extension Sns { } } - public struct ListSubscriptionsByTopicResponse: AWSShape { + public struct SubscribeResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Subscriptions", required: false, type: .list) + AWSShapeMember(label: "SubscriptionArn", required: false, type: .string) ] - /// Token to pass along to the next ListSubscriptionsByTopic request. This element is returned if there are more subscriptions to retrieve. - public let nextToken: String? - /// A list of subscriptions. - public let subscriptions: [Subscription]? + /// 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. + public let subscriptionArn: String? - public init(nextToken: String? = nil, subscriptions: [Subscription]? = nil) { - self.nextToken = nextToken - self.subscriptions = subscriptions + public init(subscriptionArn: String? = nil) { + self.subscriptionArn = subscriptionArn } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case subscriptions = "Subscriptions" + case subscriptionArn = "SubscriptionArn" } } - public struct ListSubscriptionsResponse: AWSShape { + public struct CheckIfPhoneNumberIsOptedOutResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Subscriptions", required: false, type: .list) + AWSShapeMember(label: "isOptedOut", required: false, type: .boolean) ] - /// Token to pass along to the next ListSubscriptions request. This element is returned if there are more subscriptions to retrieve. - public let nextToken: String? - /// A list of subscriptions. - public let subscriptions: [Subscription]? + /// 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. + public let isOptedOut: Bool? - public init(nextToken: String? = nil, subscriptions: [Subscription]? = nil) { - self.nextToken = nextToken - self.subscriptions = subscriptions + public init(isOptedOut: Bool? = nil) { + self.isOptedOut = isOptedOut } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case subscriptions = "Subscriptions" + case isOptedOut = "isOptedOut" } } @@ -669,7 +669,7 @@ extension Sns { AWSShapeMember(label: "BinaryValue", required: false, type: .blob), AWSShapeMember(label: "StringValue", required: false, type: .string) ] - /// Amazon SNS supports the following logical data types: String, Number, and Binary. For more information, see Message Attribute Data Types. + /// Amazon SNS supports the following logical data types: String, String.Array, Number, and Binary. For more information, see Message Attribute Data Types. public let dataType: String /// Binary type attributes can store any binary data, for example, compressed data, encrypted data, or images. public let binaryValue: Data? @@ -776,7 +776,7 @@ extension Sns { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "attributes", required: true, type: .map) ] - /// The default settings for sending SMS messages from your account. You can set values for the following attribute names: MonthlySpendLimit – The maximum amount in USD that you are willing to spend each month to send SMS messages. When Amazon SNS determines that sending an SMS message would incur a cost that exceeds this limit, it stops sending SMS messages within minutes. Amazon SNS stops sending SMS messages within minutes of the limit being crossed. During that interval, if you continue to send SMS messages, you will incur costs that exceed your limit. By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to exceed the maximum, contact AWS Support or your AWS sales representative for a service limit increase. DeliveryStatusIAMRole – The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For each SMS message that you send, Amazon SNS writes a log that includes the message price, the success or failure status, the reason for failure (if the message failed), the message dwell time, and other information. DeliveryStatusSuccessSamplingRate – The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value can be an integer from 0 - 100. For example, to write logs only for failed deliveries, set this value to 0. To write logs for 10% of your successful deliveries, set it to 10. DefaultSenderID – A string, such as your business brand, that is displayed as the sender on the receiving device. Support for sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric characters, and it must contain at least one letter. DefaultSMSType – The type of SMS message that you will send by default. You can assign the following values: Promotional – (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the message delivery to incur the lowest cost. Transactional – Critical messages that support customer transactions, such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes the message delivery to achieve the highest reliability. UsageReportS3Bucket – The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage report as a CSV file to the bucket. The report includes the following information for each SMS message that was successfully delivered by your account: Time that the message was published (in UTC) Message ID Destination phone number Message type Delivery status Message price (in USD) Part number (a message is split into multiple parts if it is too long for a single message) Total number of parts To receive the report, the bucket must have a policy that allows the Amazon SNS service principle to perform the s3:PutObject and s3:GetBucketLocation actions. For an example bucket policy and usage report, see Monitoring SMS Activity in the Amazon SNS Developer Guide. + /// 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. public let attributes: [String: String] public init(attributes: [String: String]) { @@ -790,26 +790,36 @@ extension Sns { public struct SubscribeInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Endpoint", required: false, type: .string), AWSShapeMember(label: "TopicArn", required: true, type: .string), + AWSShapeMember(label: "Attributes", required: false, type: .map), + AWSShapeMember(label: "ReturnSubscriptionArn", required: false, type: .boolean), + AWSShapeMember(label: "Endpoint", required: false, type: .string), AWSShapeMember(label: "Protocol", required: true, type: .string) ] - /// 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. - public let endpoint: String? /// The ARN of the topic you want to subscribe to. public let topicArn: String + /// Assigns attributes to the subscription as a map of key-value pairs. You can assign any attribute that is supported by the SetSubscriptionAttributes action. + public let attributes: [String: String]? + /// 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. + public let returnSubscriptionArn: Bool? + /// 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. + public let endpoint: String? /// 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. public let `protocol`: String - public init(endpoint: String? = nil, topicArn: String, protocol: String) { - self.endpoint = endpoint + public init(topicArn: String, attributes: [String: String]? = nil, returnSubscriptionArn: Bool? = nil, endpoint: String? = nil, protocol: String) { self.topicArn = topicArn + self.attributes = attributes + self.returnSubscriptionArn = returnSubscriptionArn + self.endpoint = endpoint self.`protocol` = `protocol` } private enum CodingKeys: String, CodingKey { - case endpoint = "Endpoint" case topicArn = "TopicArn" + case attributes = "Attributes" + case returnSubscriptionArn = "ReturnSubscriptionArn" + case endpoint = "Endpoint" case `protocol` = "Protocol" } } @@ -864,19 +874,19 @@ extension Sns { public struct PublishInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MessageAttributes", required: false, type: .map), + AWSShapeMember(label: "Subject", required: false, type: .string), AWSShapeMember(label: "PhoneNumber", required: false, type: .string), AWSShapeMember(label: "Message", required: true, type: .string), AWSShapeMember(label: "TargetArn", required: false, type: .string), AWSShapeMember(label: "MessageStructure", required: false, type: .string), AWSShapeMember(label: "TopicArn", required: false, type: .string), - AWSShapeMember(label: "Subject", required: false, type: .string) + AWSShapeMember(label: "MessageAttributes", required: false, type: .map) ] - /// Message attributes for Publish action. - public let messageAttributes: [String: MessageAttributeValue]? + /// 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. + public let subject: String? /// 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. public let phoneNumber: String? - /// The message you want to send to the topic. If you want to send the same message to all transport protocols, include the text of the message as a String value. If you want to send different messages for each transport protocol, set the value of the MessageStructure parameter to json and use a JSON object for the Message parameter. Constraints: Messages must be UTF-8 encoded strings at most 256 KB in size (262144 bytes, not 262144 characters). JSON-specific constraints: Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values. The values will be parsed (unescaped) before they are used in outgoing messages. Outbound notifications are JSON encoded (meaning that the characters will be reescaped for sending). Values have a minimum length of 0 (the empty string, "", is allowed). Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes). Non-string values will cause the key to be ignored. Keys that do not correspond to supported transport protocols are ignored. Duplicate keys are not allowed. Failure to parse or validate any key or value in the message will cause the Publish call to return an error (no partial delivery). + /// 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). public let message: String /// 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. public let targetArn: String? @@ -884,27 +894,27 @@ extension Sns { public let messageStructure: String? /// 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. public let topicArn: String? - /// 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. - public let subject: String? + /// Message attributes for Publish action. + public let messageAttributes: [String: MessageAttributeValue]? - public init(messageAttributes: [String: MessageAttributeValue]? = nil, phoneNumber: String? = nil, message: String, targetArn: String? = nil, messageStructure: String? = nil, topicArn: String? = nil, subject: String? = nil) { - self.messageAttributes = messageAttributes + public init(subject: String? = nil, phoneNumber: String? = nil, message: String, targetArn: String? = nil, messageStructure: String? = nil, topicArn: String? = nil, messageAttributes: [String: MessageAttributeValue]? = nil) { + self.subject = subject self.phoneNumber = phoneNumber self.message = message self.targetArn = targetArn self.messageStructure = messageStructure self.topicArn = topicArn - self.subject = subject + self.messageAttributes = messageAttributes } private enum CodingKeys: String, CodingKey { - case messageAttributes = "MessageAttributes" + case subject = "Subject" case phoneNumber = "PhoneNumber" case message = "Message" case targetArn = "TargetArn" case messageStructure = "MessageStructure" case topicArn = "TopicArn" - case subject = "Subject" + case messageAttributes = "MessageAttributes" } } @@ -1038,7 +1048,7 @@ extension Sns { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Attributes", required: false, type: .map) ] - /// A map of the subscription's attributes. Attributes in this map include the following: SubscriptionArn -- the subscription's ARN TopicArn -- the topic ARN that the subscription is associated with Owner -- the AWS account ID of the subscription's owner ConfirmationWasAuthenticated -- true if the subscription confirmation request was authenticated DeliveryPolicy -- the JSON serialization of the subscription's delivery policy EffectiveDeliveryPolicy -- the JSON serialization of the effective delivery policy that takes into account the topic delivery policy and account system defaults + /// 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. public let attributes: [String: String]? public init(attributes: [String: String]? = nil) { diff --git a/Sources/AWSSDKSwift/Services/sqs/Sqs_API.swift b/Sources/AWSSDKSwift/Services/sqs/Sqs_API.swift index 8f88116c86d..cbd40f6ca34 100644 --- a/Sources/AWSSDKSwift/Services/sqs/Sqs_API.swift +++ b/Sources/AWSSDKSwift/Services/sqs/Sqs_API.swift @@ -19,6 +19,7 @@ public struct Sqs { serviceProtocol: ServiceProtocol(type: .query), apiVersion: "2012-11-05", endpoint: endpoint, + serviceEndpoints: ["fips-us-west-1": "sqs-fips.us-west-1.amazonaws.com", "fips-us-west-2": "sqs-fips.us-west-2.amazonaws.com", "fips-us-east-1": "sqs-fips.us-east-1.amazonaws.com", "fips-us-east-2": "sqs-fips.us-east-2.amazonaws.com"], middlewares: [], possibleErrorTypes: [SqsError.self] ) diff --git a/Sources/AWSSDKSwift/Services/sqs/Sqs_Shapes.swift b/Sources/AWSSDKSwift/Services/sqs/Sqs_Shapes.swift index 0e986f4aa32..bdb80367421 100644 --- a/Sources/AWSSDKSwift/Services/sqs/Sqs_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/sqs/Sqs_Shapes.swift @@ -7,16 +7,16 @@ extension Sqs { public struct ReceiveMessageRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MessageAttributeNames", required: false, type: .structure), + AWSShapeMember(label: "WaitTimeSeconds", required: false, type: .integer), AWSShapeMember(label: "VisibilityTimeout", required: false, type: .integer), AWSShapeMember(label: "MaxNumberOfMessages", required: false, type: .integer), AWSShapeMember(label: "QueueUrl", required: true, type: .string), AWSShapeMember(label: "ReceiveRequestAttemptId", required: false, type: .string), AWSShapeMember(label: "AttributeNames", required: false, type: .structure), - AWSShapeMember(label: "WaitTimeSeconds", required: false, type: .integer) + AWSShapeMember(label: "MessageAttributeNames", required: false, type: .structure) ] - /// 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.*. - public let messageAttributeNames: MessageAttributeNameList? + /// 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. + public let waitTimeSeconds: Int32? /// The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request. public let visibilityTimeout: Int32? /// 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. @@ -27,27 +27,27 @@ extension Sqs { public let receiveRequestAttemptId: String? /// 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 public let attributeNames: AttributeNameList? - /// 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. - public let waitTimeSeconds: Int32? + /// 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.*. + public let messageAttributeNames: MessageAttributeNameList? - public init(messageAttributeNames: MessageAttributeNameList? = nil, visibilityTimeout: Int32? = nil, maxNumberOfMessages: Int32? = nil, queueUrl: String, receiveRequestAttemptId: String? = nil, attributeNames: AttributeNameList? = nil, waitTimeSeconds: Int32? = nil) { - self.messageAttributeNames = messageAttributeNames + public init(waitTimeSeconds: Int32? = nil, visibilityTimeout: Int32? = nil, maxNumberOfMessages: Int32? = nil, queueUrl: String, receiveRequestAttemptId: String? = nil, attributeNames: AttributeNameList? = nil, messageAttributeNames: MessageAttributeNameList? = nil) { + self.waitTimeSeconds = waitTimeSeconds self.visibilityTimeout = visibilityTimeout self.maxNumberOfMessages = maxNumberOfMessages self.queueUrl = queueUrl self.receiveRequestAttemptId = receiveRequestAttemptId self.attributeNames = attributeNames - self.waitTimeSeconds = waitTimeSeconds + self.messageAttributeNames = messageAttributeNames } private enum CodingKeys: String, CodingKey { - case messageAttributeNames = "MessageAttributeNames" + case waitTimeSeconds = "WaitTimeSeconds" case visibilityTimeout = "VisibilityTimeout" case maxNumberOfMessages = "MaxNumberOfMessages" case queueUrl = "QueueUrl" case receiveRequestAttemptId = "ReceiveRequestAttemptId" case attributeNames = "AttributeNames" - case waitTimeSeconds = "WaitTimeSeconds" + case messageAttributeNames = "MessageAttributeNames" } } @@ -425,32 +425,32 @@ extension Sqs { public struct AddPermissionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Label", required: true, type: .string), + AWSShapeMember(label: "QueueUrl", required: true, type: .string), AWSShapeMember(label: "AWSAccountIds", required: true, type: .structure), AWSShapeMember(label: "Actions", required: true, type: .structure), - AWSShapeMember(label: "QueueUrl", required: true, type: .string) + AWSShapeMember(label: "Label", required: true, type: .string) ] - /// The unique identification of the permission you're setting (for example, AliceSendMessage). Maximum 80 characters. Allowed characters include alphanumeric characters, hyphens (-), and underscores (_). - public let label: String + /// The URL of the Amazon SQS queue to which permissions are added. Queue URLs are case-sensitive. + public let queueUrl: String /// 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. public let aWSAccountIds: AWSAccountIdList /// 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. public let actions: ActionNameList - /// The URL of the Amazon SQS queue to which permissions are added. Queue URLs are case-sensitive. - public let queueUrl: String + /// The unique identification of the permission you're setting (for example, AliceSendMessage). Maximum 80 characters. Allowed characters include alphanumeric characters, hyphens (-), and underscores (_). + public let label: String - public init(label: String, aWSAccountIds: AWSAccountIdList, actions: ActionNameList, queueUrl: String) { - self.label = label + public init(queueUrl: String, aWSAccountIds: AWSAccountIdList, actions: ActionNameList, label: String) { + self.queueUrl = queueUrl self.aWSAccountIds = aWSAccountIds self.actions = actions - self.queueUrl = queueUrl + self.label = label } private enum CodingKeys: String, CodingKey { - case label = "Label" + case queueUrl = "QueueUrl" case aWSAccountIds = "AWSAccountIds" case actions = "Actions" - case queueUrl = "QueueUrl" + case label = "Label" } } diff --git a/Sources/AWSSDKSwift/Services/ssm/Ssm_API.swift b/Sources/AWSSDKSwift/Services/ssm/Ssm_API.swift index 8ae5cc28a86..78eb834e912 100644 --- a/Sources/AWSSDKSwift/Services/ssm/Ssm_API.swift +++ b/Sources/AWSSDKSwift/Services/ssm/Ssm_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -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. 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. +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. */ public struct Ssm { @@ -30,14 +30,19 @@ public struct Ssm { return try client.send(operation: "DescribeMaintenanceWindowExecutionTaskInvocations", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describeInstanceInformation(_ input: DescribeInstanceInformationRequest) throws -> DescribeInstanceInformationResult { + return try client.send(operation: "DescribeInstanceInformation", path: "/", httpMethod: "POST", input: input) + } + /// Get detailed information about a particular Automation execution. public func getAutomationExecution(_ input: GetAutomationExecutionRequest) throws -> GetAutomationExecutionResult { return try client.send(operation: "GetAutomationExecution", path: "/", httpMethod: "POST", input: input) } - /// Describes the specified Systems Manager document. - public func describeDocument(_ input: DescribeDocumentRequest) throws -> DescribeDocumentResult { - return try client.send(operation: "DescribeDocument", path: "/", httpMethod: "POST", input: input) + /// Describes a specific delete inventory operation. + public func describeInventoryDeletions(_ input: DescribeInventoryDeletionsRequest) throws -> DescribeInventoryDeletionsResult { + return try client.send(operation: "DescribeInventoryDeletions", path: "/", httpMethod: "POST", input: input) } /// Retrieves the Maintenance Windows in an AWS account. @@ -65,6 +70,11 @@ public struct Ssm { return try client.send(operation: "DescribeMaintenanceWindowTargets", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func deleteInventory(_ input: DeleteInventoryRequest) throws -> DeleteInventoryResult { + return try client.send(operation: "DeleteInventory", path: "/", httpMethod: "POST", input: input) + } + /// Stop an Automation that is currently executing. public func stopAutomationExecution(_ input: StopAutomationExecutionRequest) throws -> StopAutomationExecutionResult { return try client.send(operation: "StopAutomationExecution", path: "/", httpMethod: "POST", input: input) @@ -120,7 +130,7 @@ public struct Ssm { return try client.send(operation: "GetMaintenanceWindow", path: "/", httpMethod: "POST", input: input) } - /// Modifies a task assigned to a Maintenance Window. You can't change the task type, but you can change the following values: Task ARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript. Service role ARN. Task parameters. Task priority. Task MaxConcurrency and MaxErrors. Log location. 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. + /// 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. public func updateMaintenanceWindowTask(_ input: UpdateMaintenanceWindowTaskRequest) throws -> UpdateMaintenanceWindowTaskResult { return try client.send(operation: "UpdateMaintenanceWindowTask", path: "/", httpMethod: "POST", input: input) } @@ -130,7 +140,7 @@ public struct Ssm { return try client.send(operation: "ListComplianceSummaries", path: "/", httpMethod: "POST", input: input) } - /// Get information about a parameter by using the parameter name. + /// Get information about a parameter by using the parameter name. Don't confuse this API action with the GetParameters API action. public func getParameter(_ input: GetParameterRequest) throws -> GetParameterResult { return try client.send(operation: "GetParameter", path: "/", httpMethod: "POST", input: input) } @@ -155,7 +165,7 @@ public struct Ssm { return try client.send(operation: "UpdateManagedInstanceRole", path: "/", httpMethod: "POST", input: input) } - /// 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 Configuring Resource Data Sync for Inventory. + /// 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. public func createResourceDataSync(_ input: CreateResourceDataSyncRequest) throws -> CreateResourceDataSyncResult { return try client.send(operation: "CreateResourceDataSync", path: "/", httpMethod: "POST", input: input) } @@ -170,6 +180,11 @@ public struct Ssm { return try client.send(operation: "CreateAssociation", path: "/", httpMethod: "POST", input: input) } + /// Use this API action to view all executions for a specific association ID. + public func describeAssociationExecutions(_ input: DescribeAssociationExecutionsRequest) throws -> DescribeAssociationExecutionsResult { + return try client.send(operation: "DescribeAssociationExecutions", path: "/", httpMethod: "POST", input: input) + } + /// 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). public func describeDocumentPermission(_ input: DescribeDocumentPermissionRequest) throws -> DescribeDocumentPermissionResponse { return try client.send(operation: "DescribeDocumentPermission", path: "/", httpMethod: "POST", input: input) @@ -210,29 +225,19 @@ public struct Ssm { return try client.send(operation: "DescribeMaintenanceWindowExecutions", path: "/", httpMethod: "POST", input: input) } - /// Associates the specified Systems Manager document with the specified instances or targets. When you associate a document with one or more instances using instance IDs or tags, the SSM Agent running on the instance processes the document and configures the instance as specified. If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception. - public func createAssociationBatch(_ input: CreateAssociationBatchRequest) throws -> CreateAssociationBatchResult { - return try client.send(operation: "CreateAssociationBatch", path: "/", httpMethod: "POST", input: input) - } - /// 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. public func createActivation(_ input: CreateActivationRequest) throws -> CreateActivationResult { return try client.send(operation: "CreateActivation", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func getDefaultPatchBaseline(_ input: GetDefaultPatchBaselineRequest) throws -> GetDefaultPatchBaselineResult { - return try client.send(operation: "GetDefaultPatchBaseline", path: "/", httpMethod: "POST", input: input) - } - /// Return a list of inventory type names for the account, or return a list of attribute names for a specific Inventory item type. public func getInventorySchema(_ input: GetInventorySchemaRequest) throws -> GetInventorySchemaResult { return try client.send(operation: "GetInventorySchema", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func describeEffectivePatchesForPatchBaseline(_ input: DescribeEffectivePatchesForPatchBaselineRequest) throws -> DescribeEffectivePatchesForPatchBaselineResult { - return try client.send(operation: "DescribeEffectivePatchesForPatchBaseline", path: "/", httpMethod: "POST", input: input) + /// Associates the specified Systems Manager document with the specified instances or targets. When you associate a document with one or more instances using instance IDs or tags, the SSM Agent running on the instance processes the document and configures the instance as specified. If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception. + public func createAssociationBatch(_ input: CreateAssociationBatchRequest) throws -> CreateAssociationBatchResult { + return try client.send(operation: "CreateAssociationBatch", path: "/", httpMethod: "POST", input: input) } /// Retrieves all versions of an association for a specific association ID. @@ -240,9 +245,14 @@ public struct Ssm { return try client.send(operation: "ListAssociationVersions", path: "/", httpMethod: "POST", input: input) } - /// Executes commands on one or more managed instances. - public func sendCommand(_ input: SendCommandRequest) throws -> SendCommandResult { - return try client.send(operation: "SendCommand", path: "/", httpMethod: "POST", input: input) + /// 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. + public func getDefaultPatchBaseline(_ input: GetDefaultPatchBaselineRequest) throws -> GetDefaultPatchBaselineResult { + return try client.send(operation: "GetDefaultPatchBaseline", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func describeEffectivePatchesForPatchBaseline(_ input: DescribeEffectivePatchesForPatchBaselineRequest) throws -> DescribeEffectivePatchesForPatchBaselineResult { + return try client.send(operation: "DescribeEffectivePatchesForPatchBaseline", path: "/", httpMethod: "POST", input: input) } /// Sends a signal to an Automation execution to change the current behavior or status of the execution. @@ -250,7 +260,12 @@ public struct Ssm { return try client.send(operation: "SendAutomationSignal", path: "/", httpMethod: "POST", input: input) } - /// Removes the server or virtual machine from the list of registered servers. You can reregister the instance again at any time. If you don't plan to use Run Command on the server, we suggest uninstalling the SSM Agent first. + /// Executes commands on one or more managed instances. + public func sendCommand(_ input: SendCommandRequest) throws -> SendCommandResult { + return try client.send(operation: "SendCommand", path: "/", httpMethod: "POST", input: input) + } + + /// 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. public func deregisterManagedInstance(_ input: DeregisterManagedInstanceRequest) throws -> DeregisterManagedInstanceResult { return try client.send(operation: "DeregisterManagedInstance", path: "/", httpMethod: "POST", input: input) } @@ -280,6 +295,11 @@ public struct Ssm { return try client.send(operation: "ListAssociations", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func labelParameterVersion(_ input: LabelParameterVersionRequest) throws -> LabelParameterVersionResult { + return try client.send(operation: "LabelParameterVersion", path: "/", httpMethod: "POST", input: input) + } + /// Lists the commands requested by users of the AWS account. public func listCommands(_ input: ListCommandsRequest) throws -> ListCommandsResult { return try client.send(operation: "ListCommands", path: "/", httpMethod: "POST", input: input) @@ -330,7 +350,7 @@ public struct Ssm { return try client.send(operation: "GetMaintenanceWindowExecutionTaskInvocation", path: "/", httpMethod: "POST", input: input) } - /// Get details of a parameter. + /// Get details of a parameter. Don't confuse this API action with the GetParameter API action. public func getParameters(_ input: GetParametersRequest) throws -> GetParametersResult { return try client.send(operation: "GetParameters", path: "/", httpMethod: "POST", input: input) } @@ -355,7 +375,7 @@ public struct Ssm { return try client.send(operation: "StartAutomationExecution", path: "/", httpMethod: "POST", input: input) } - /// Modifies an existing patch baseline. Fields not specified in the request are left unchanged. + /// 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. public func updatePatchBaseline(_ input: UpdatePatchBaselineRequest) throws -> UpdatePatchBaselineResult { return try client.send(operation: "UpdatePatchBaseline", path: "/", httpMethod: "POST", input: input) } @@ -365,7 +385,7 @@ public struct Ssm { return try client.send(operation: "ModifyDocumentPermission", path: "/", httpMethod: "POST", input: input) } - /// Retrieve parameters in a specific hierarchy. For more information, see Working with Systems Manager Parameters. 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. + /// 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. public func getParametersByPath(_ input: GetParametersByPathRequest) throws -> GetParametersByPathResult { return try client.send(operation: "GetParametersByPath", path: "/", httpMethod: "POST", input: input) } @@ -375,11 +395,21 @@ public struct Ssm { return try client.send(operation: "CreateDocument", path: "/", httpMethod: "POST", input: input) } + /// Use this API action to view information about a specific execution of a specific association. + public func describeAssociationExecutionTargets(_ input: DescribeAssociationExecutionTargetsRequest) throws -> DescribeAssociationExecutionTargetsResult { + return try client.send(operation: "DescribeAssociationExecutionTargets", path: "/", httpMethod: "POST", input: input) + } + /// Lists the tasks in a Maintenance Window. public func getMaintenanceWindowTask(_ input: GetMaintenanceWindowTaskRequest) throws -> GetMaintenanceWindowTaskResult { return try client.send(operation: "GetMaintenanceWindowTask", path: "/", httpMethod: "POST", input: input) } + /// Use this API action to execute an association immediately and only one time. This action can be helpful when troubleshooting associations. + public func startAssociationsOnce(_ input: StartAssociationsOnceRequest) throws -> StartAssociationsOnceResult { + return try client.send(operation: "StartAssociationsOnce", path: "/", httpMethod: "POST", input: input) + } + /// Registers a target with a Maintenance Window. public func registerTargetWithMaintenanceWindow(_ input: RegisterTargetWithMaintenanceWindowRequest) throws -> RegisterTargetWithMaintenanceWindowResult { return try client.send(operation: "RegisterTargetWithMaintenanceWindow", path: "/", httpMethod: "POST", input: input) @@ -410,7 +440,7 @@ public struct Ssm { return try client.send(operation: "CreateMaintenanceWindow", path: "/", httpMethod: "POST", input: input) } - /// 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. + /// 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' public func putComplianceItems(_ input: PutComplianceItemsRequest) throws -> PutComplianceItemsResult { return try client.send(operation: "PutComplianceItems", path: "/", httpMethod: "POST", input: input) } @@ -425,7 +455,7 @@ public struct Ssm { return try client.send(operation: "UpdateDocumentDefaultVersion", path: "/", httpMethod: "POST", input: input) } - /// Add one or more parameters to the system. + /// Add a parameter to the system. public func putParameter(_ input: PutParameterRequest) throws -> PutParameterResult { return try client.send(operation: "PutParameter", path: "/", httpMethod: "POST", input: input) } @@ -465,11 +495,6 @@ public struct Ssm { return try client.send(operation: "GetParameterHistory", path: "/", httpMethod: "POST", input: input) } - /// Retrieves the details about a specific task executed as part of a Maintenance Window execution. - public func getMaintenanceWindowExecutionTask(_ input: GetMaintenanceWindowExecutionTaskRequest) throws -> GetMaintenanceWindowExecutionTaskResult { - return try client.send(operation: "GetMaintenanceWindowExecutionTask", path: "/", httpMethod: "POST", input: input) - } - /// Updates an existing Maintenance Window. Only specified parameters are modified. public func updateMaintenanceWindow(_ input: UpdateMaintenanceWindowRequest) throws -> UpdateMaintenanceWindowResult { return try client.send(operation: "UpdateMaintenanceWindow", path: "/", httpMethod: "POST", input: input) @@ -480,9 +505,14 @@ public struct Ssm { return try client.send(operation: "DescribeParameters", path: "/", httpMethod: "POST", input: input) } - /// Creates a patch baseline. - public func createPatchBaseline(_ input: CreatePatchBaselineRequest) throws -> CreatePatchBaselineResult { - return try client.send(operation: "CreatePatchBaseline", path: "/", httpMethod: "POST", input: input) + /// Retrieves the details about a specific task executed as part of a Maintenance Window execution. + public func getMaintenanceWindowExecutionTask(_ input: GetMaintenanceWindowExecutionTaskRequest) throws -> GetMaintenanceWindowExecutionTaskResult { + return try client.send(operation: "GetMaintenanceWindowExecutionTask", path: "/", httpMethod: "POST", input: input) + } + + /// The status of the associations for the instance(s). + public func describeInstanceAssociationsStatus(_ input: DescribeInstanceAssociationsStatusRequest) throws -> DescribeInstanceAssociationsStatusResult { + return try client.send(operation: "DescribeInstanceAssociationsStatus", path: "/", httpMethod: "POST", input: input) } /// Removes a task from a Maintenance Window. @@ -490,25 +520,25 @@ public struct Ssm { return try client.send(operation: "DeregisterTaskFromMaintenanceWindow", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func describeInstanceInformation(_ input: DescribeInstanceInformationRequest) throws -> DescribeInstanceInformationResult { - return try client.send(operation: "DescribeInstanceInformation", path: "/", httpMethod: "POST", input: input) + /// Creates a patch baseline. For information about valid key and value pairs in PatchFilters for each supported operating system type, see PatchFilter. + public func createPatchBaseline(_ input: CreatePatchBaselineRequest) throws -> CreatePatchBaselineResult { + return try client.send(operation: "CreatePatchBaseline", path: "/", httpMethod: "POST", input: input) } - /// 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 10 tags. We recommend that you devise a set of tag keys that meets your needs for each resource type. Using a consistent set of tag keys makes it easier for you to manage your resources. You can search and filter the resources based on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and are interpreted strictly as a string of characters. For more information about tags, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide. + /// 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. public func addTagsToResource(_ input: AddTagsToResourceRequest) throws -> AddTagsToResourceResult { return try client.send(operation: "AddTagsToResource", path: "/", httpMethod: "POST", input: input) } + /// Describes the specified Systems Manager document. + public func describeDocument(_ input: DescribeDocumentRequest) throws -> DescribeDocumentResult { + return try client.send(operation: "DescribeDocument", path: "/", httpMethod: "POST", input: input) + } + /// Registers a patch baseline for a patch group. public func registerPatchBaselineForPatchGroup(_ input: RegisterPatchBaselineForPatchGroupRequest) throws -> RegisterPatchBaselineForPatchGroupResult { return try client.send(operation: "RegisterPatchBaselineForPatchGroup", path: "/", httpMethod: "POST", input: input) } - /// The status of the associations for the instance(s). - public func describeInstanceAssociationsStatus(_ input: DescribeInstanceAssociationsStatusRequest) throws -> DescribeInstanceAssociationsStatusResult { - return try client.send(operation: "DescribeInstanceAssociationsStatus", path: "/", httpMethod: "POST", input: input) - } - } \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/ssm/Ssm_Error.swift b/Sources/AWSSDKSwift/Services/ssm/Ssm_Error.swift index d87925d013a..05b4182b57d 100644 --- a/Sources/AWSSDKSwift/Services/ssm/Ssm_Error.swift +++ b/Sources/AWSSDKSwift/Services/ssm/Ssm_Error.swift @@ -6,25 +6,31 @@ import AWSSDKSwiftCore public enum SsmError: AWSErrorType { case doesNotExistException(message: String?) case internalServerError(message: String?) + case invalidInstanceId(message: String?) + case invalidNextToken(message: String?) + case invalidInstanceInformationFilterValue(message: String?) + case invalidFilterKey(message: String?) case automationExecutionNotFoundException(message: String?) - case invalidDocument(message: String?) - case invalidDocumentVersion(message: String?) + case invalidDeletionIdException(message: String?) case invalidResourceType(message: String?) case invalidResourceId(message: String?) case idempotentParameterMismatch(message: String?) case resourceLimitExceededException(message: String?) case featureNotAvailableException(message: String?) + case invalidTypeNameException(message: String?) + case invalidOptionException(message: String?) + case invalidDeleteInventoryParametersException(message: String?) + case invalidInventoryRequestException(message: String?) case invalidAutomationStatusUpdateException(message: String?) - case invalidNextToken(message: String?) - case invalidInstanceId(message: String?) + case invalidDocument(message: String?) case associationDoesNotExist(message: String?) case statusUnchanged(message: String?) case tooManyUpdates(message: String?) + case invalidDocumentVersion(message: String?) case invalidFilter(message: String?) case invalidKeyId(message: String?) case parameterNotFound(message: String?) case parameterVersionNotFound(message: String?) - case invalidTypeNameException(message: String?) case resourceDataSyncCountExceededException(message: String?) case resourceDataSyncAlreadyExistsException(message: String?) case resourceDataSyncInvalidConfigurationException(message: String?) @@ -43,15 +49,15 @@ public enum SsmError: AWSErrorType { case invalidActivation(message: String?) case duplicateInstanceId(message: String?) case unsupportedOperatingSystem(message: String?) + case automationStepNotFoundException(message: String?) + case invalidAutomationSignalException(message: String?) case invalidOutputFolder(message: String?) case maxDocumentSizeExceeded(message: String?) case invalidRole(message: String?) case invalidNotificationConfig(message: String?) - case automationStepNotFoundException(message: String?) - case invalidAutomationSignalException(message: String?) case invalidAssociationVersion(message: String?) case invalidCommandId(message: String?) - case invalidFilterKey(message: String?) + case parameterVersionLabelLimitExceeded(message: String?) case invalidResultAttributeException(message: String?) case invalidFilterValue(message: String?) case resourceDataSyncNotFoundException(message: String?) @@ -67,6 +73,8 @@ public enum SsmError: AWSErrorType { case documentLimitExceeded(message: String?) case invalidFilterOption(message: String?) case documentAlreadyExists(message: String?) + case associationExecutionDoesNotExist(message: String?) + case invalidAssociation(message: String?) case invalidUpdate(message: String?) case associationVersionLimitExceeded(message: String?) case invalidItemContentException(message: String?) @@ -90,7 +98,6 @@ public enum SsmError: AWSErrorType { case invalidInventoryItemContextException(message: String?) case subTypeCountLimitExceededException(message: String?) case targetInUseException(message: String?) - case invalidInstanceInformationFilterValue(message: String?) case tooManyTagsError(message: String?) case alreadyExistsException(message: String?) } @@ -106,12 +113,18 @@ extension SsmError { self = .doesNotExistException(message: message) case "InternalServerError": self = .internalServerError(message: message) + case "InvalidInstanceId": + self = .invalidInstanceId(message: message) + case "InvalidNextToken": + self = .invalidNextToken(message: message) + case "InvalidInstanceInformationFilterValue": + self = .invalidInstanceInformationFilterValue(message: message) + case "InvalidFilterKey": + self = .invalidFilterKey(message: message) case "AutomationExecutionNotFoundException": self = .automationExecutionNotFoundException(message: message) - case "InvalidDocument": - self = .invalidDocument(message: message) - case "InvalidDocumentVersion": - self = .invalidDocumentVersion(message: message) + case "InvalidDeletionIdException": + self = .invalidDeletionIdException(message: message) case "InvalidResourceType": self = .invalidResourceType(message: message) case "InvalidResourceId": @@ -122,18 +135,26 @@ extension SsmError { self = .resourceLimitExceededException(message: message) case "FeatureNotAvailableException": self = .featureNotAvailableException(message: message) + case "InvalidTypeNameException": + self = .invalidTypeNameException(message: message) + case "InvalidOptionException": + self = .invalidOptionException(message: message) + case "InvalidDeleteInventoryParametersException": + self = .invalidDeleteInventoryParametersException(message: message) + case "InvalidInventoryRequestException": + self = .invalidInventoryRequestException(message: message) case "InvalidAutomationStatusUpdateException": self = .invalidAutomationStatusUpdateException(message: message) - case "InvalidNextToken": - self = .invalidNextToken(message: message) - case "InvalidInstanceId": - self = .invalidInstanceId(message: message) + case "InvalidDocument": + self = .invalidDocument(message: message) case "AssociationDoesNotExist": self = .associationDoesNotExist(message: message) case "StatusUnchanged": self = .statusUnchanged(message: message) case "TooManyUpdates": self = .tooManyUpdates(message: message) + case "InvalidDocumentVersion": + self = .invalidDocumentVersion(message: message) case "InvalidFilter": self = .invalidFilter(message: message) case "InvalidKeyId": @@ -142,8 +163,6 @@ extension SsmError { self = .parameterNotFound(message: message) case "ParameterVersionNotFound": self = .parameterVersionNotFound(message: message) - case "InvalidTypeNameException": - self = .invalidTypeNameException(message: message) case "ResourceDataSyncCountExceededException": self = .resourceDataSyncCountExceededException(message: message) case "ResourceDataSyncAlreadyExistsException": @@ -180,6 +199,10 @@ extension SsmError { self = .duplicateInstanceId(message: message) case "UnsupportedOperatingSystem": self = .unsupportedOperatingSystem(message: message) + case "AutomationStepNotFoundException": + self = .automationStepNotFoundException(message: message) + case "InvalidAutomationSignalException": + self = .invalidAutomationSignalException(message: message) case "InvalidOutputFolder": self = .invalidOutputFolder(message: message) case "MaxDocumentSizeExceeded": @@ -188,16 +211,12 @@ extension SsmError { self = .invalidRole(message: message) case "InvalidNotificationConfig": self = .invalidNotificationConfig(message: message) - case "AutomationStepNotFoundException": - self = .automationStepNotFoundException(message: message) - case "InvalidAutomationSignalException": - self = .invalidAutomationSignalException(message: message) case "InvalidAssociationVersion": self = .invalidAssociationVersion(message: message) case "InvalidCommandId": self = .invalidCommandId(message: message) - case "InvalidFilterKey": - self = .invalidFilterKey(message: message) + case "ParameterVersionLabelLimitExceeded": + self = .parameterVersionLabelLimitExceeded(message: message) case "InvalidResultAttributeException": self = .invalidResultAttributeException(message: message) case "InvalidFilterValue": @@ -228,6 +247,10 @@ extension SsmError { self = .invalidFilterOption(message: message) case "DocumentAlreadyExists": self = .documentAlreadyExists(message: message) + case "AssociationExecutionDoesNotExist": + self = .associationExecutionDoesNotExist(message: message) + case "InvalidAssociation": + self = .invalidAssociation(message: message) case "InvalidUpdate": self = .invalidUpdate(message: message) case "AssociationVersionLimitExceeded": @@ -274,8 +297,6 @@ extension SsmError { self = .subTypeCountLimitExceededException(message: message) case "TargetInUseException": self = .targetInUseException(message: message) - case "InvalidInstanceInformationFilterValue": - self = .invalidInstanceInformationFilterValue(message: message) case "TooManyTagsError": self = .tooManyTagsError(message: message) case "AlreadyExistsException": diff --git a/Sources/AWSSDKSwift/Services/ssm/Ssm_Shapes.swift b/Sources/AWSSDKSwift/Services/ssm/Ssm_Shapes.swift index fcce7147fc7..12d9c0e73f1 100644 --- a/Sources/AWSSDKSwift/Services/ssm/Ssm_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/ssm/Ssm_Shapes.swift @@ -5,32 +5,6 @@ import AWSSDKSwiftCore extension Ssm { - public struct DescribePatchBaselinesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// 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) - public let filters: [PatchOrchestratorFilter]? - /// The maximum number of patch baselines to return (per page). - public let maxResults: Int32? - - public init(nextToken: String? = nil, filters: [PatchOrchestratorFilter]? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.filters = filters - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case filters = "Filters" - case maxResults = "MaxResults" - } - } - public struct DescribeActivationsResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ActivationList", required: false, type: .list), @@ -52,48 +26,6 @@ extension Ssm { } } - public struct NonCompliantSummary: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NonCompliantCount", required: false, type: .integer), - AWSShapeMember(label: "SeveritySummary", required: false, type: .structure) - ] - /// The total number of compliance items that are not compliant. - public let nonCompliantCount: Int32? - /// A summary of the non-compliance severity by compliance type - public let severitySummary: SeveritySummary? - - public init(nonCompliantCount: Int32? = nil, severitySummary: SeveritySummary? = nil) { - self.nonCompliantCount = nonCompliantCount - self.severitySummary = severitySummary - } - - private enum CodingKeys: String, CodingKey { - case nonCompliantCount = "NonCompliantCount" - case severitySummary = "SeveritySummary" - } - } - - public struct DescribeEffectivePatchesForPatchBaselineResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "EffectivePatches", required: false, type: .list) - ] - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? - /// An array of patches and patch status. - public let effectivePatches: [EffectivePatch]? - - public init(nextToken: String? = nil, effectivePatches: [EffectivePatch]? = nil) { - self.nextToken = nextToken - self.effectivePatches = effectivePatches - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case effectivePatches = "EffectivePatches" - } - } - public struct UpdateAssociationStatusRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: true, type: .string), @@ -120,123 +52,12 @@ extension Ssm { } } - public struct DeregisterTargetFromMaintenanceWindowResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: false, type: .string), - AWSShapeMember(label: "WindowTargetId", required: false, type: .string) - ] - /// The ID of the Maintenance Window the target was removed from. - public let windowId: String? - /// The ID of the removed target definition. - public let windowTargetId: String? - - public init(windowId: String? = nil, windowTargetId: String? = nil) { - self.windowId = windowId - self.windowTargetId = windowTargetId - } - - private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case windowTargetId = "WindowTargetId" - } - } - - public enum ResourceTypeForTagging: String, CustomStringConvertible, Codable { - case document = "Document" - case managedinstance = "ManagedInstance" - case maintenancewindow = "MaintenanceWindow" - case parameter = "Parameter" - case patchbaseline = "PatchBaseline" - public var description: String { return self.rawValue } - } - public enum PlatformType: String, CustomStringConvertible, Codable { case windows = "Windows" case linux = "Linux" public var description: String { return self.rawValue } } - public struct GetMaintenanceWindowTaskRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: true, type: .string), - AWSShapeMember(label: "WindowTaskId", required: true, type: .string) - ] - /// The Maintenance Window ID that includes the task to retrieve. - public let windowId: String - /// The Maintenance Window task ID to retrieve. - public let windowTaskId: String - - public init(windowId: String, windowTaskId: String) { - self.windowId = windowId - self.windowTaskId = windowTaskId - } - - private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case windowTaskId = "WindowTaskId" - } - } - - public enum InstanceInformationFilterKey: String, CustomStringConvertible, Codable { - case instanceids = "InstanceIds" - case agentversion = "AgentVersion" - case pingstatus = "PingStatus" - case platformtypes = "PlatformTypes" - case activationids = "ActivationIds" - case iamrole = "IamRole" - case resourcetype = "ResourceType" - case associationstatus = "AssociationStatus" - public var description: String { return self.rawValue } - } - - public enum ExecutionMode: String, CustomStringConvertible, Codable { - case auto = "Auto" - case interactive = "Interactive" - public var description: String { return self.rawValue } - } - - public struct ResultAttribute: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TypeName", required: true, type: .string) - ] - /// Name of the inventory item type. Valid value: AWS:InstanceInformation. Default Value: AWS:InstanceInformation. - public let typeName: String - - public init(typeName: String) { - self.typeName = typeName - } - - private enum CodingKeys: String, CodingKey { - case typeName = "TypeName" - } - } - - public struct ListAssociationVersionsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MaxResults", required: false, type: .integer), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "AssociationId", required: true, type: .string) - ] - /// 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. - public let maxResults: Int32? - /// A token to start the list. Use this token to get the next set of results. - public let nextToken: String? - /// The association ID for which you want to view all versions. - public let associationId: String - - public init(maxResults: Int32? = nil, nextToken: String? = nil, associationId: String) { - self.maxResults = maxResults - self.nextToken = nextToken - self.associationId = associationId - } - - private enum CodingKeys: String, CodingKey { - case maxResults = "MaxResults" - case nextToken = "NextToken" - case associationId = "AssociationId" - } - } - public struct GetParameterRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "WithDecryption", required: false, type: .boolean), @@ -258,6 +79,18 @@ extension Ssm { } } + public enum InstanceInformationFilterKey: String, CustomStringConvertible, Codable { + case instanceids = "InstanceIds" + case agentversion = "AgentVersion" + case pingstatus = "PingStatus" + case platformtypes = "PlatformTypes" + case activationids = "ActivationIds" + case iamrole = "IamRole" + case resourcetype = "ResourceType" + case associationstatus = "AssociationStatus" + public var description: String { return self.rawValue } + } + public struct ParametersFilter: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Key", required: true, type: .enum), @@ -279,70 +112,19 @@ extension Ssm { } } - public struct DescribePatchGroupsResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Mappings", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) - ] - /// Each entry in the array contains: PatchGroup: string (between 1 and 256 characters, Regex: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$) PatchBaselineIdentity: A PatchBaselineIdentity element. - public let mappings: [PatchGroupPatchBaselineMapping]? - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? - - public init(mappings: [PatchGroupPatchBaselineMapping]? = nil, nextToken: String? = nil) { - self.mappings = mappings - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case mappings = "Mappings" - case nextToken = "NextToken" - } - } - - public struct RegisterTargetWithMaintenanceWindowRequest: AWSShape { + public struct ResultAttribute: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: true, type: .string), - AWSShapeMember(label: "OwnerInformation", required: false, type: .string), - AWSShapeMember(label: "ClientToken", required: false, type: .string), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "ResourceType", required: true, type: .enum), - AWSShapeMember(label: "Targets", required: true, type: .list), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "TypeName", required: true, type: .string) ] - /// The ID of the Maintenance Window the target should be registered with. - public let windowId: String - /// User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window. - public let ownerInformation: String? - /// User-provided idempotency token. - public let clientToken: String? - /// An optional name for the target. - public let name: String? - /// The type of target being registered with the Maintenance Window. - public let resourceType: MaintenanceWindowResourceType - /// 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>. - public let targets: [Target] - /// An optional description for the target. - public let description: String? + /// Name of the inventory item type. Valid value: AWS:InstanceInformation. Default Value: AWS:InstanceInformation. + public let typeName: String - public init(windowId: String, ownerInformation: String? = nil, clientToken: String? = nil, name: String? = nil, resourceType: MaintenanceWindowResourceType, targets: [Target], description: String? = nil) { - self.windowId = windowId - self.ownerInformation = ownerInformation - self.clientToken = clientToken - self.name = name - self.resourceType = resourceType - self.targets = targets - self.description = description + public init(typeName: String) { + self.typeName = typeName } private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case ownerInformation = "OwnerInformation" - case clientToken = "ClientToken" - case name = "Name" - case resourceType = "ResourceType" - case targets = "Targets" - case description = "Description" + case typeName = "TypeName" } } @@ -429,160 +211,6 @@ extension Ssm { } } - public struct FailureDetails: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FailureType", required: false, type: .string), - AWSShapeMember(label: "Details", required: false, type: .map), - AWSShapeMember(label: "FailureStage", required: false, type: .string) - ] - /// The type of Automation failure. Failure types include the following: Action, Permission, Throttling, Verification, Internal. - public let failureType: String? - /// Detailed information about the Automation step failure. - public let details: [String: [String]]? - /// The stage of the Automation execution when the failure occurred. The stages include the following: InputValidation, PreVerification, Invocation, PostVerification. - public let failureStage: String? - - public init(failureType: String? = nil, details: [String: [String]]? = nil, failureStage: String? = nil) { - self.failureType = failureType - self.details = details - self.failureStage = failureStage - } - - private enum CodingKeys: String, CodingKey { - case failureType = "FailureType" - case details = "Details" - case failureStage = "FailureStage" - } - } - - public struct GetInventorySchemaRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MaxResults", required: false, type: .integer), - AWSShapeMember(label: "Aggregator", required: false, type: .boolean), - AWSShapeMember(label: "SubType", required: false, type: .boolean), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "TypeName", required: false, type: .string) - ] - /// 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. - public let maxResults: Int32? - /// 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. - public let aggregator: Bool? - /// Returns the sub-type schema for a specified inventory type. - public let subType: Bool? - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// The type of inventory item to return. - public let typeName: String? - - public init(maxResults: Int32? = nil, aggregator: Bool? = nil, subType: Bool? = nil, nextToken: String? = nil, typeName: String? = nil) { - self.maxResults = maxResults - self.aggregator = aggregator - self.subType = subType - self.nextToken = nextToken - self.typeName = typeName - } - - private enum CodingKeys: String, CodingKey { - case maxResults = "MaxResults" - case aggregator = "Aggregator" - case subType = "SubType" - case nextToken = "NextToken" - case typeName = "TypeName" - } - } - - public struct CreatePatchBaselineRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ClientToken", required: false, type: .string), - AWSShapeMember(label: "ApprovedPatches", required: false, type: .list), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "OperatingSystem", required: false, type: .enum), - AWSShapeMember(label: "RejectedPatches", required: false, type: .list), - AWSShapeMember(label: "ApprovedPatchesComplianceLevel", required: false, type: .enum), - AWSShapeMember(label: "ApprovalRules", required: false, type: .structure), - AWSShapeMember(label: "GlobalFilters", required: false, type: .structure), - AWSShapeMember(label: "Description", required: false, type: .string) - ] - /// User-provided idempotency token. - public let clientToken: String? - /// A list of explicitly approved patches for the baseline. - public let approvedPatches: [String]? - /// The name of the patch baseline. - public let name: String - /// Defines the operating system the patch baseline applies to. The Default value is WINDOWS. - public let operatingSystem: OperatingSystem? - /// A list of explicitly rejected patches for the baseline. - public let rejectedPatches: [String]? - /// 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. Valid compliance severity levels include the following: CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED. The default value is UNSPECIFIED. - public let approvedPatchesComplianceLevel: PatchComplianceLevel? - /// A set of rules used to include patches in the baseline. - public let approvalRules: PatchRuleGroup? - /// A set of global filters used to exclude patches from the baseline. - public let globalFilters: PatchFilterGroup? - /// A description of the patch baseline. - public let description: String? - - public init(clientToken: String? = nil, approvedPatches: [String]? = nil, name: String, operatingSystem: OperatingSystem? = nil, rejectedPatches: [String]? = nil, approvedPatchesComplianceLevel: PatchComplianceLevel? = nil, approvalRules: PatchRuleGroup? = nil, globalFilters: PatchFilterGroup? = nil, description: String? = nil) { - self.clientToken = clientToken - self.approvedPatches = approvedPatches - self.name = name - self.operatingSystem = operatingSystem - self.rejectedPatches = rejectedPatches - self.approvedPatchesComplianceLevel = approvedPatchesComplianceLevel - self.approvalRules = approvalRules - self.globalFilters = globalFilters - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case clientToken = "ClientToken" - case approvedPatches = "ApprovedPatches" - case name = "Name" - case operatingSystem = "OperatingSystem" - case rejectedPatches = "RejectedPatches" - case approvedPatchesComplianceLevel = "ApprovedPatchesComplianceLevel" - case approvalRules = "ApprovalRules" - case globalFilters = "GlobalFilters" - case description = "Description" - } - } - - public struct DescribeMaintenanceWindowExecutionTaskInvocationsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowExecutionId", required: true, type: .string), - AWSShapeMember(label: "TaskId", required: true, type: .string), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// The ID of the Maintenance Window execution the task is part of. - public let windowExecutionId: String - /// The ID of the specific task in the Maintenance Window task that should be retrieved. - public let taskId: String - /// 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. - public let filters: [MaintenanceWindowFilter]? - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// 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. - public let maxResults: Int32? - - public init(windowExecutionId: String, taskId: String, filters: [MaintenanceWindowFilter]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.windowExecutionId = windowExecutionId - self.taskId = taskId - self.filters = filters - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case windowExecutionId = "WindowExecutionId" - case taskId = "TaskId" - case filters = "Filters" - case nextToken = "NextToken" - case maxResults = "MaxResults" - } - } - public struct DeregisterTargetFromMaintenanceWindowRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "WindowId", required: true, type: .string), @@ -630,104 +258,6 @@ extension Ssm { } } - public struct UpdateMaintenanceWindowTargetRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: true, type: .string), - AWSShapeMember(label: "Replace", required: false, type: .boolean), - AWSShapeMember(label: "OwnerInformation", required: false, type: .string), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "Targets", required: false, type: .list), - AWSShapeMember(label: "WindowTargetId", required: true, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string) - ] - /// The Maintenance Window ID with which to modify the target. - public let windowId: String - /// 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. - public let replace: Bool? - /// User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window. - public let ownerInformation: String? - /// A name for the update. - public let name: String? - /// The targets to add or replace. - public let targets: [Target]? - /// The target ID to modify. - public let windowTargetId: String - /// An optional description for the update. - public let description: String? - - public init(windowId: String, replace: Bool? = nil, ownerInformation: String? = nil, name: String? = nil, targets: [Target]? = nil, windowTargetId: String, description: String? = nil) { - self.windowId = windowId - self.replace = replace - self.ownerInformation = ownerInformation - self.name = name - self.targets = targets - self.windowTargetId = windowTargetId - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case replace = "Replace" - case ownerInformation = "OwnerInformation" - case name = "Name" - case targets = "Targets" - case windowTargetId = "WindowTargetId" - case description = "Description" - } - } - - public struct DescribeInstancePatchesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "InstanceId", required: true, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// 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) - public let filters: [PatchOrchestratorFilter]? - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// The ID of the instance whose patch state information should be retrieved. - public let instanceId: String - /// The maximum number of patches to return (per page). - public let maxResults: Int32? - - public init(filters: [PatchOrchestratorFilter]? = nil, nextToken: String? = nil, instanceId: String, maxResults: Int32? = nil) { - self.filters = filters - self.nextToken = nextToken - self.instanceId = instanceId - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case filters = "Filters" - case nextToken = "NextToken" - case instanceId = "InstanceId" - case maxResults = "MaxResults" - } - } - - public struct ListAssociationVersionsResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AssociationVersions", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) - ] - /// Information about all versions of the association for the specified association ID. - public let associationVersions: [AssociationVersionInfo]? - /// The token for the next set of items to return. Use this token to get the next set of results. - public let nextToken: String? - - public init(associationVersions: [AssociationVersionInfo]? = nil, nextToken: String? = nil) { - self.associationVersions = associationVersions - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case associationVersions = "AssociationVersions" - case nextToken = "NextToken" - } - } - public struct DeleteResourceDataSyncRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SyncName", required: true, type: .string) @@ -775,119 +305,7 @@ extension Ssm { } } - public struct DescribeInstancePatchStatesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "InstanceIds", required: true, type: .list), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// The ID of the instance whose patch state information should be retrieved. - public let instanceIds: [String] - /// The maximum number of instances to return (per page). - public let maxResults: Int32? - - public init(nextToken: String? = nil, instanceIds: [String], maxResults: Int32? = nil) { - self.nextToken = nextToken - self.instanceIds = instanceIds - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case instanceIds = "InstanceIds" - case maxResults = "MaxResults" - } - } - - public struct SendCommandRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ServiceRoleArn", required: false, type: .string), - AWSShapeMember(label: "OutputS3BucketName", required: false, type: .string), - AWSShapeMember(label: "NotificationConfig", required: false, type: .structure), - AWSShapeMember(label: "Comment", required: false, type: .string), - AWSShapeMember(label: "Targets", required: false, type: .list), - AWSShapeMember(label: "OutputS3KeyPrefix", required: false, type: .string), - AWSShapeMember(label: "OutputS3Region", required: false, type: .string), - AWSShapeMember(label: "DocumentHashType", required: false, type: .enum), - AWSShapeMember(label: "InstanceIds", required: false, type: .list), - AWSShapeMember(label: "MaxErrors", required: false, type: .string), - AWSShapeMember(label: "Parameters", required: false, type: .map), - AWSShapeMember(label: "DocumentName", required: true, type: .string), - AWSShapeMember(label: "DocumentHash", required: false, type: .string), - AWSShapeMember(label: "MaxConcurrency", required: false, type: .string), - AWSShapeMember(label: "TimeoutSeconds", required: false, type: .integer) - ] - /// The IAM role that Systems Manager uses to send notifications. - public let serviceRoleArn: String? - /// The name of the S3 bucket where command execution responses should be stored. - public let outputS3BucketName: String? - /// Configurations for sending notifications. - public let notificationConfig: NotificationConfig? - /// User-specified information about the command, such as a brief description of what the command should do. - public let comment: String? - /// (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. - public let targets: [Target]? - /// The directory structure within the S3 bucket where the responses should be stored. - public let outputS3KeyPrefix: String? - /// (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region. - public let outputS3Region: String? - /// Sha256 or Sha1. Sha1 hashes have been deprecated. - public let documentHashType: DocumentHashType? - /// 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. - public let instanceIds: [String]? - /// The maximum number of errors allowed without the command failing. When the command fails one more time beyond the value of MaxErrors, the systems stops sending the command to additional targets. You can specify a number like 10 or a percentage like 10%. The default value is 50. For more information about how to use MaxErrors, see Using Error Controls. - public let maxErrors: String? - /// The required and optional parameters specified in the document being executed. - public let parameters: [String: [String]]? - /// Required. The name of the Systems Manager document to execute. This can be a public document or a custom document. - public let documentName: String - /// The Sha256 or Sha1 hash created by the system when the document was created. Sha1 hashes have been deprecated. - public let documentHash: String? - /// (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. - public let maxConcurrency: String? - /// If this time is reached and the command has not already started executing, it will not execute. - public let timeoutSeconds: Int32? - - public init(serviceRoleArn: String? = nil, outputS3BucketName: String? = nil, notificationConfig: NotificationConfig? = nil, comment: String? = nil, targets: [Target]? = nil, outputS3KeyPrefix: String? = nil, outputS3Region: String? = nil, documentHashType: DocumentHashType? = nil, instanceIds: [String]? = nil, maxErrors: String? = nil, parameters: [String: [String]]? = nil, documentName: String, documentHash: String? = nil, maxConcurrency: String? = nil, timeoutSeconds: Int32? = nil) { - self.serviceRoleArn = serviceRoleArn - self.outputS3BucketName = outputS3BucketName - self.notificationConfig = notificationConfig - self.comment = comment - self.targets = targets - self.outputS3KeyPrefix = outputS3KeyPrefix - self.outputS3Region = outputS3Region - self.documentHashType = documentHashType - self.instanceIds = instanceIds - self.maxErrors = maxErrors - self.parameters = parameters - self.documentName = documentName - self.documentHash = documentHash - self.maxConcurrency = maxConcurrency - self.timeoutSeconds = timeoutSeconds - } - - private enum CodingKeys: String, CodingKey { - case serviceRoleArn = "ServiceRoleArn" - case outputS3BucketName = "OutputS3BucketName" - case notificationConfig = "NotificationConfig" - case comment = "Comment" - case targets = "Targets" - case outputS3KeyPrefix = "OutputS3KeyPrefix" - case outputS3Region = "OutputS3Region" - case documentHashType = "DocumentHashType" - case instanceIds = "InstanceIds" - case maxErrors = "MaxErrors" - case parameters = "Parameters" - case documentName = "DocumentName" - case documentHash = "DocumentHash" - case maxConcurrency = "MaxConcurrency" - case timeoutSeconds = "TimeoutSeconds" - } - } - - public struct GetMaintenanceWindowExecutionTaskRequest: AWSShape { + public struct GetMaintenanceWindowExecutionTaskRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "WindowExecutionId", required: true, type: .string), AWSShapeMember(label: "TaskId", required: true, type: .string) @@ -945,7 +363,7 @@ extension Ssm { public let outputS3KeyPrefix: String? /// A numeric response code generated after executing the plugin. public let responseCode: Int32? - /// A detailed status of the plugin execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Run Command Status. StatusDetails can be one of the following values: Pending: The command has not been sent to the instance. In Progress: The command has been sent to the instance but has not reached a terminal state. Success: The execution of the command or plugin was successfully completed. This is a terminal state. Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state. Execution Timed Out: Command execution started on the instance, but the execution was not complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state. Failed: The command was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state. Canceled: The command was terminated before it was completed. This is a terminal state. Undeliverable: The command can't be delivered to the instance. The instance might not exist, or it might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit, and they don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state. Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state. + /// 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. public let statusDetails: String? public init(status: CommandPluginStatus? = nil, responseStartDateTime: TimeStamp? = nil, responseFinishDateTime: TimeStamp? = nil, outputS3BucketName: String? = nil, name: String? = nil, output: String? = nil, standardErrorUrl: String? = nil, standardOutputUrl: String? = nil, outputS3Region: String? = nil, outputS3KeyPrefix: String? = nil, responseCode: Int32? = nil, statusDetails: String? = nil) { @@ -1010,27 +428,6 @@ extension Ssm { } } - public struct DescribeAutomationStepExecutionsResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StepExecutions", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) - ] - /// A list of details about the current state of all steps that make up an execution. - public let stepExecutions: [StepExecution]? - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? - - public init(stepExecutions: [StepExecution]? = nil, nextToken: String? = nil) { - self.stepExecutions = stepExecutions - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case stepExecutions = "StepExecutions" - case nextToken = "NextToken" - } - } - public struct DescribeParametersResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Parameters", required: false, type: .list), @@ -1077,53 +474,6 @@ extension Ssm { } } - public struct ComplianceSummaryItem: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CompliantSummary", required: false, type: .structure), - AWSShapeMember(label: "ComplianceType", required: false, type: .string), - AWSShapeMember(label: "NonCompliantSummary", required: false, type: .structure) - ] - /// A list of COMPLIANT items for the specified compliance type. - public let compliantSummary: CompliantSummary? - /// The type of compliance item. For example, the compliance type can be Association, Patch, or Custom:string. - public let complianceType: String? - /// A list of NON_COMPLIANT items for the specified compliance type. - public let nonCompliantSummary: NonCompliantSummary? - - public init(compliantSummary: CompliantSummary? = nil, complianceType: String? = nil, nonCompliantSummary: NonCompliantSummary? = nil) { - self.compliantSummary = compliantSummary - self.complianceType = complianceType - self.nonCompliantSummary = nonCompliantSummary - } - - private enum CodingKeys: String, CodingKey { - case compliantSummary = "CompliantSummary" - case complianceType = "ComplianceType" - case nonCompliantSummary = "NonCompliantSummary" - } - } - - public struct DescribeDocumentRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "DocumentVersion", required: false, type: .string) - ] - /// The name of the Systems Manager document. - public let name: String - /// The document version for which you want information. Can be a specific version or the default version. - public let documentVersion: String? - - public init(name: String, documentVersion: String? = nil) { - self.name = name - self.documentVersion = documentVersion - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - case documentVersion = "DocumentVersion" - } - } - public struct DescribeInstanceAssociationsStatusResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "InstanceAssociationStatusInfos", required: false, type: .list), @@ -1145,32 +495,6 @@ extension Ssm { } } - public struct GetMaintenanceWindowExecutionTaskInvocationRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowExecutionId", required: true, type: .string), - AWSShapeMember(label: "TaskId", required: true, type: .string), - AWSShapeMember(label: "InvocationId", required: true, type: .string) - ] - /// The ID of the Maintenance Window execution for which the task is a part. - public let windowExecutionId: String - /// The ID of the specific task in the Maintenance Window task that should be retrieved. - public let taskId: String - /// The invocation ID to retrieve. - public let invocationId: String - - public init(windowExecutionId: String, taskId: String, invocationId: String) { - self.windowExecutionId = windowExecutionId - self.taskId = taskId - self.invocationId = invocationId - } - - private enum CodingKeys: String, CodingKey { - case windowExecutionId = "WindowExecutionId" - case taskId = "TaskId" - case invocationId = "InvocationId" - } - } - public struct DeletePatchBaselineRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "BaselineId", required: true, type: .string) @@ -1208,35 +532,16 @@ extension Ssm { } } - public struct DescribeInstancePatchStatesForPatchGroupResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "InstancePatchStates", required: false, type: .list) - ] - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? - /// The high-level patch state for the requested instances. - public let instancePatchStates: [InstancePatchState]? - - public init(nextToken: String? = nil, instancePatchStates: [InstancePatchState]? = nil) { - self.nextToken = nextToken - self.instancePatchStates = instancePatchStates - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case instancePatchStates = "InstancePatchStates" - } - } - public struct Command: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OutputS3BucketName", required: false, type: .string), + AWSShapeMember(label: "DeliveryTimedOutCount", required: false, type: .integer), + AWSShapeMember(label: "CloudWatchOutputConfig", required: false, type: .structure), AWSShapeMember(label: "NotificationConfig", required: false, type: .structure), AWSShapeMember(label: "CompletedCount", required: false, type: .integer), + AWSShapeMember(label: "Comment", required: false, type: .string), AWSShapeMember(label: "Targets", required: false, type: .list), + AWSShapeMember(label: "OutputS3BucketName", required: false, type: .string), AWSShapeMember(label: "OutputS3KeyPrefix", required: false, type: .string), - AWSShapeMember(label: "Comment", required: false, type: .string), AWSShapeMember(label: "ServiceRole", required: false, type: .string), AWSShapeMember(label: "OutputS3Region", required: false, type: .string), AWSShapeMember(label: "InstanceIds", required: false, type: .list), @@ -1246,24 +551,29 @@ extension Ssm { AWSShapeMember(label: "RequestedDateTime", required: false, type: .timestamp), AWSShapeMember(label: "Parameters", required: false, type: .map), AWSShapeMember(label: "DocumentName", required: false, type: .string), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string), AWSShapeMember(label: "MaxConcurrency", required: false, type: .string), - AWSShapeMember(label: "ExpiresAfter", required: false, type: .timestamp), AWSShapeMember(label: "ErrorCount", required: false, type: .integer), + AWSShapeMember(label: "ExpiresAfter", required: false, type: .timestamp), AWSShapeMember(label: "CommandId", required: false, type: .string), AWSShapeMember(label: "StatusDetails", required: false, type: .string) ] - /// The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command. - public let outputS3BucketName: String? + /// The number of targets for which the status is Delivery Timed Out. + public let deliveryTimedOutCount: Int32? + /// CloudWatch Logs information where you want Systems Manager to send the command output. + public let cloudWatchOutputConfig: CloudWatchOutputConfig? /// Configurations for sending notifications about command status changes. public let notificationConfig: NotificationConfig? /// 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. public let completedCount: Int32? + /// User-specified information about the command, such as a brief description of what the command should do. + public let comment: String? /// 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. public let targets: [Target]? + /// The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command. + public let outputS3BucketName: String? /// The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command. public let outputS3KeyPrefix: String? - /// User-specified information about the command, such as a brief description of what the command should do. - public let comment: String? /// The IAM service role that Run Command uses to act on your behalf when sending notifications about command status changes. public let serviceRole: String? /// (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region. @@ -1274,7 +584,7 @@ extension Ssm { public let targetCount: Int32? /// The status of the command. public let status: CommandStatus? - /// The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is 50. For more information about how to use MaxErrors, see Executing a Command Using Systems Manager Run Command. + /// 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. public let maxErrors: String? /// The date and time the command was requested. public let requestedDateTime: TimeStamp? @@ -1282,24 +592,28 @@ extension Ssm { public let parameters: [String: [String]]? /// The name of the document requested for execution. public let documentName: String? - /// The maximum number of instances that are allowed to execute the command at the same time. You can specify a number of instances, such as 10, or a percentage of instances, such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Executing a Command Using Systems Manager Run Command. + /// The SSM document version. + public let documentVersion: String? + /// 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. public let maxConcurrency: String? - /// If this time is reached and the command has not already started executing, it will not execute. Calculated based on the ExpiresAfter user input provided as part of the SendCommand API. - public let expiresAfter: TimeStamp? /// The number of targets for which the status is Failed or Execution Timed Out. public let errorCount: Int32? + /// 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. + public let expiresAfter: TimeStamp? /// A unique identifier for this command. public let commandId: String? - /// A detailed status of the command execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Run Command Status. StatusDetails can be one of the following values: Pending: The command has not been sent to any instances. In Progress: The command has been sent to at least one instance but has not reached a final state on all instances. Success: The command successfully executed on all invocations. This is a terminal state. Delivery Timed Out: The value of MaxErrors or more command invocations shows a status of Delivery Timed Out. This is a terminal state. Execution Timed Out: The value of MaxErrors or more command invocations shows a status of Execution Timed Out. This is a terminal state. Failed: The value of MaxErrors or more command invocations shows a status of Failed. This is a terminal state. Incomplete: The command was attempted on all instances and one or more invocations does not have a value of Success but not enough invocations failed for the status to be Failed. This is a terminal state. Canceled: The command was terminated before it was completed. This is a terminal state. Rate Exceeded: The number of instances targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before executing it on any instance. This is a terminal state. + /// 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. public let statusDetails: String? - public init(outputS3BucketName: String? = nil, notificationConfig: NotificationConfig? = nil, completedCount: Int32? = nil, targets: [Target]? = nil, outputS3KeyPrefix: String? = nil, comment: String? = nil, serviceRole: String? = nil, outputS3Region: String? = nil, instanceIds: [String]? = nil, targetCount: Int32? = nil, status: CommandStatus? = nil, maxErrors: String? = nil, requestedDateTime: TimeStamp? = nil, parameters: [String: [String]]? = nil, documentName: String? = nil, maxConcurrency: String? = nil, expiresAfter: TimeStamp? = nil, errorCount: Int32? = nil, commandId: String? = nil, statusDetails: String? = nil) { - self.outputS3BucketName = outputS3BucketName + public init(deliveryTimedOutCount: Int32? = nil, cloudWatchOutputConfig: CloudWatchOutputConfig? = nil, notificationConfig: NotificationConfig? = nil, completedCount: Int32? = nil, comment: String? = nil, targets: [Target]? = nil, outputS3BucketName: String? = nil, outputS3KeyPrefix: String? = nil, serviceRole: String? = nil, outputS3Region: String? = nil, instanceIds: [String]? = nil, targetCount: Int32? = nil, status: CommandStatus? = nil, maxErrors: String? = nil, requestedDateTime: TimeStamp? = nil, parameters: [String: [String]]? = nil, documentName: String? = nil, documentVersion: String? = nil, maxConcurrency: String? = nil, errorCount: Int32? = nil, expiresAfter: TimeStamp? = nil, commandId: String? = nil, statusDetails: String? = nil) { + self.deliveryTimedOutCount = deliveryTimedOutCount + self.cloudWatchOutputConfig = cloudWatchOutputConfig self.notificationConfig = notificationConfig self.completedCount = completedCount + self.comment = comment self.targets = targets + self.outputS3BucketName = outputS3BucketName self.outputS3KeyPrefix = outputS3KeyPrefix - self.comment = comment self.serviceRole = serviceRole self.outputS3Region = outputS3Region self.instanceIds = instanceIds @@ -1309,20 +623,23 @@ extension Ssm { self.requestedDateTime = requestedDateTime self.parameters = parameters self.documentName = documentName + self.documentVersion = documentVersion self.maxConcurrency = maxConcurrency - self.expiresAfter = expiresAfter self.errorCount = errorCount + self.expiresAfter = expiresAfter self.commandId = commandId self.statusDetails = statusDetails } private enum CodingKeys: String, CodingKey { - case outputS3BucketName = "OutputS3BucketName" + case deliveryTimedOutCount = "DeliveryTimedOutCount" + case cloudWatchOutputConfig = "CloudWatchOutputConfig" case notificationConfig = "NotificationConfig" case completedCount = "CompletedCount" + case comment = "Comment" case targets = "Targets" + case outputS3BucketName = "OutputS3BucketName" case outputS3KeyPrefix = "OutputS3KeyPrefix" - case comment = "Comment" case serviceRole = "ServiceRole" case outputS3Region = "OutputS3Region" case instanceIds = "InstanceIds" @@ -1332,19 +649,15 @@ extension Ssm { case requestedDateTime = "RequestedDateTime" case parameters = "Parameters" case documentName = "DocumentName" + case documentVersion = "DocumentVersion" case maxConcurrency = "MaxConcurrency" - case expiresAfter = "ExpiresAfter" case errorCount = "ErrorCount" + case expiresAfter = "ExpiresAfter" case commandId = "CommandId" case statusDetails = "StatusDetails" } } - public enum DocumentPermissionType: String, CustomStringConvertible, Codable { - case share = "Share" - public var description: String { return self.rawValue } - } - public struct CreateAssociationRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Parameters", required: false, type: .map), @@ -1396,119 +709,10 @@ extension Ssm { } } - public struct ModifyDocumentPermissionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PermissionType", required: true, type: .enum), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "AccountIdsToRemove", required: false, type: .list), - AWSShapeMember(label: "AccountIdsToAdd", required: false, type: .list) - ] - /// The permission type for the document. The permission type can be Share. - public let permissionType: DocumentPermissionType - /// The name of the document that you want to share. - public let name: String - /// 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. - public let accountIdsToRemove: [String]? - /// The AWS user accounts that should have access to the document. The account IDs can either be a group of account IDs or All. - public let accountIdsToAdd: [String]? - - public init(permissionType: DocumentPermissionType, name: String, accountIdsToRemove: [String]? = nil, accountIdsToAdd: [String]? = nil) { - self.permissionType = permissionType - self.name = name - self.accountIdsToRemove = accountIdsToRemove - self.accountIdsToAdd = accountIdsToAdd - } - - private enum CodingKeys: String, CodingKey { - case permissionType = "PermissionType" - case name = "Name" - case accountIdsToRemove = "AccountIdsToRemove" - case accountIdsToAdd = "AccountIdsToAdd" - } - } - - public struct RegisterDefaultPatchBaselineRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BaselineId", required: true, type: .string) - ] - /// The ID of the patch baseline that should be the default patch baseline. - public let baselineId: String - - public init(baselineId: String) { - self.baselineId = baselineId - } - - private enum CodingKeys: String, CodingKey { - case baselineId = "BaselineId" - } - } - public struct AddTagsToResourceResult: AWSShape { } - public struct PatchComplianceData: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Severity", required: true, type: .string), - AWSShapeMember(label: "Classification", required: true, type: .string), - AWSShapeMember(label: "InstalledTime", required: true, type: .timestamp), - AWSShapeMember(label: "Title", required: true, type: .string), - AWSShapeMember(label: "State", required: true, type: .enum), - AWSShapeMember(label: "KBId", required: true, type: .string) - ] - /// The severity of the patch (for example, Critical, Important, Moderate). - public let severity: String - /// The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates). - public let classification: String - /// The date/time the patch was installed on the instance. Note that not all operating systems provide this level of information. - public let installedTime: TimeStamp - /// The title of the patch. - public let title: String - /// The state of the patch on the instance (INSTALLED, INSTALLED_OTHER, MISSING, NOT_APPLICABLE or FAILED). - public let state: PatchComplianceDataState - /// The operating system-specific ID of the patch. - public let kBId: String - - public init(severity: String, classification: String, installedTime: TimeStamp, title: String, state: PatchComplianceDataState, kBId: String) { - self.severity = severity - self.classification = classification - self.installedTime = installedTime - self.title = title - self.state = state - self.kBId = kBId - } - - private enum CodingKeys: String, CodingKey { - case severity = "Severity" - case classification = "Classification" - case installedTime = "InstalledTime" - case title = "Title" - case state = "State" - case kBId = "KBId" - } - } - - public struct DeregisterTaskFromMaintenanceWindowResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: false, type: .string), - AWSShapeMember(label: "WindowTaskId", required: false, type: .string) - ] - /// The ID of the Maintenance Window the task was removed from. - public let windowId: String? - /// The ID of the task removed from the Maintenance Window. - public let windowTaskId: String? - - public init(windowId: String? = nil, windowTaskId: String? = nil) { - self.windowId = windowId - self.windowTaskId = windowTaskId - } - - private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case windowTaskId = "WindowTaskId" - } - } - public struct PatchRuleGroup: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PatchRules", required: true, type: .list) @@ -1525,63 +729,6 @@ extension Ssm { } } - public struct DescribeMaintenanceWindowTasksRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: true, type: .string), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// The ID of the Maintenance Window whose tasks should be retrieved. - public let windowId: String - /// Optional filters used to narrow down the scope of the returned tasks. The supported filter keys are WindowTaskId, TaskArn, Priority, and TaskType. - public let filters: [MaintenanceWindowFilter]? - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// 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. - public let maxResults: Int32? - - public init(windowId: String, filters: [MaintenanceWindowFilter]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.windowId = windowId - self.filters = filters - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case filters = "Filters" - case nextToken = "NextToken" - case maxResults = "MaxResults" - } - } - - public struct DescribeAutomationExecutionsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// Filters used to limit the scope of executions that are requested. - public let filters: [AutomationExecutionFilter]? - /// 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. - public let maxResults: Int32? - - public init(nextToken: String? = nil, filters: [AutomationExecutionFilter]? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.filters = filters - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case filters = "Filters" - case maxResults = "MaxResults" - } - } - public enum PatchComplianceDataState: String, CustomStringConvertible, Codable { case installed = "INSTALLED" case installedOther = "INSTALLED_OTHER" @@ -1591,93 +738,6 @@ extension Ssm { public var description: String { return self.rawValue } } - public struct GetMaintenanceWindowResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: false, type: .string), - AWSShapeMember(label: "ModifiedDate", required: false, type: .timestamp), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "Enabled", required: false, type: .boolean), - AWSShapeMember(label: "AllowUnassociatedTargets", required: false, type: .boolean), - AWSShapeMember(label: "Schedule", required: false, type: .string), - AWSShapeMember(label: "Cutoff", required: false, type: .integer), - AWSShapeMember(label: "Duration", required: false, type: .integer), - AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), - AWSShapeMember(label: "Description", required: false, type: .string) - ] - /// The ID of the created Maintenance Window. - public let windowId: String? - /// The date the Maintenance Window was last modified. - public let modifiedDate: TimeStamp? - /// The name of the Maintenance Window. - public let name: String? - /// Whether the Maintenance Windows is enabled. - public let enabled: Bool? - /// Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets. - public let allowUnassociatedTargets: Bool? - /// The schedule of the Maintenance Window in the form of a cron or rate expression. - public let schedule: String? - /// The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution. - public let cutoff: Int32? - /// The duration of the Maintenance Window in hours. - public let duration: Int32? - /// The date the Maintenance Window was created. - public let createdDate: TimeStamp? - /// The description of the Maintenance Window. - public let description: String? - - public init(windowId: String? = nil, modifiedDate: TimeStamp? = nil, name: String? = nil, enabled: Bool? = nil, allowUnassociatedTargets: Bool? = nil, schedule: String? = nil, cutoff: Int32? = nil, duration: Int32? = nil, createdDate: TimeStamp? = nil, description: String? = nil) { - self.windowId = windowId - self.modifiedDate = modifiedDate - self.name = name - self.enabled = enabled - self.allowUnassociatedTargets = allowUnassociatedTargets - self.schedule = schedule - self.cutoff = cutoff - self.duration = duration - self.createdDate = createdDate - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case modifiedDate = "ModifiedDate" - case name = "Name" - case enabled = "Enabled" - case allowUnassociatedTargets = "AllowUnassociatedTargets" - case schedule = "Schedule" - case cutoff = "Cutoff" - case duration = "Duration" - case createdDate = "CreatedDate" - case description = "Description" - } - } - - public struct LoggingInfo: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "S3KeyPrefix", required: false, type: .string), - AWSShapeMember(label: "S3Region", required: true, type: .string), - AWSShapeMember(label: "S3BucketName", required: true, type: .string) - ] - /// (Optional) The Amazon S3 bucket subfolder. - public let s3KeyPrefix: String? - /// The region where the Amazon S3 bucket is located. - public let s3Region: String - /// The name of an Amazon S3 bucket where execution logs are stored . - public let s3BucketName: String - - public init(s3KeyPrefix: String? = nil, s3Region: String, s3BucketName: String) { - self.s3KeyPrefix = s3KeyPrefix - self.s3Region = s3Region - self.s3BucketName = s3BucketName - } - - private enum CodingKeys: String, CodingKey { - case s3KeyPrefix = "S3KeyPrefix" - case s3Region = "S3Region" - case s3BucketName = "S3BucketName" - } - } - public struct InventoryResultItem: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "CaptureTime", required: false, type: .string), @@ -1861,22 +921,6 @@ extension Ssm { } } - public struct DescribeAssociationResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AssociationDescription", required: false, type: .structure) - ] - /// Information about the association. - public let associationDescription: AssociationDescription? - - public init(associationDescription: AssociationDescription? = nil) { - self.associationDescription = associationDescription - } - - private enum CodingKeys: String, CodingKey { - case associationDescription = "AssociationDescription" - } - } - public struct StopAutomationExecutionResult: AWSShape { } @@ -1918,47 +962,6 @@ extension Ssm { } } - public struct InventoryItem: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CaptureTime", required: true, type: .string), - AWSShapeMember(label: "Context", required: false, type: .map), - AWSShapeMember(label: "Content", required: false, type: .list), - AWSShapeMember(label: "SchemaVersion", required: true, type: .string), - AWSShapeMember(label: "ContentHash", required: false, type: .string), - AWSShapeMember(label: "TypeName", required: true, type: .string) - ] - /// The time the inventory information was collected. - public let captureTime: String - /// 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. - public let context: [String: String]? - /// The inventory data of the inventory type. - public let content: [[String: String]]? - /// The schema version for the inventory item. - public let schemaVersion: String - /// 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. - public let contentHash: String? - /// 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. - public let typeName: String - - public init(captureTime: String, context: [String: String]? = nil, content: [[String: String]]? = nil, schemaVersion: String, contentHash: String? = nil, typeName: String) { - self.captureTime = captureTime - self.context = context - self.content = content - self.schemaVersion = schemaVersion - self.contentHash = contentHash - self.typeName = typeName - } - - private enum CodingKeys: String, CodingKey { - case captureTime = "CaptureTime" - case context = "Context" - case content = "Content" - case schemaVersion = "SchemaVersion" - case contentHash = "ContentHash" - case typeName = "TypeName" - } - } - public enum AutomationExecutionStatus: String, CustomStringConvertible, Codable { case pending = "Pending" case inprogress = "InProgress" @@ -1971,4125 +974,7314 @@ extension Ssm { public var description: String { return self.rawValue } } - public struct DeletePatchBaselineResult: AWSShape { + public enum CommandStatus: String, CustomStringConvertible, Codable { + case pending = "Pending" + case inprogress = "InProgress" + case success = "Success" + case cancelled = "Cancelled" + case failed = "Failed" + case timedout = "TimedOut" + case cancelling = "Cancelling" + public var description: String { return self.rawValue } + } + + public enum CommandPluginStatus: String, CustomStringConvertible, Codable { + case pending = "Pending" + case inprogress = "InProgress" + case success = "Success" + case timedout = "TimedOut" + case cancelled = "Cancelled" + case failed = "Failed" + public var description: String { return self.rawValue } + } + + public struct ComplianceStringFilter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BaselineId", required: false, type: .string) + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Key", required: false, type: .string), + AWSShapeMember(label: "Values", required: false, type: .list) ] - /// The ID of the deleted patch baseline. - public let baselineId: String? + /// The type of comparison that should be performed for the value: Equal, NotEqual, BeginWith, LessThan, or GreaterThan. + public let `type`: ComplianceQueryOperatorType? + /// The name of the filter. + public let key: String? + /// The value for which to search. + public let values: [String]? - public init(baselineId: String? = nil) { - self.baselineId = baselineId + public init(type: ComplianceQueryOperatorType? = nil, key: String? = nil, values: [String]? = nil) { + self.`type` = `type` + self.key = key + self.values = values } private enum CodingKeys: String, CodingKey { - case baselineId = "BaselineId" + case `type` = "Type" + case key = "Key" + case values = "Values" } } - public enum DocumentFormat: String, CustomStringConvertible, Codable { - case yaml = "YAML" - case json = "JSON" - public var description: String { return self.rawValue } + public struct DeregisterManagedInstanceResult: AWSShape { + } - public enum DocumentType: String, CustomStringConvertible, Codable { - case command = "Command" - case policy = "Policy" - case automation = "Automation" - public var description: String { return self.rawValue } + public struct DeleteResourceDataSyncResult: AWSShape { + } - public struct ListResourceComplianceSummariesResult: AWSShape { + public struct StartAssociationsOnceResult: AWSShape { + + } + + public struct FailedCreateAssociation: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "ResourceComplianceSummaryItems", required: false, type: .list) + AWSShapeMember(label: "Fault", required: false, type: .enum), + AWSShapeMember(label: "Entry", required: false, type: .structure), + AWSShapeMember(label: "Message", required: false, type: .string) ] - /// The token for the next set of items to return. Use this token to get the next set of results. - public let nextToken: String? - /// 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. - public let resourceComplianceSummaryItems: [ResourceComplianceSummaryItem]? + /// The source of the failure. + public let fault: Fault? + /// The association. + public let entry: CreateAssociationBatchRequestEntry? + /// A description of the failure. + public let message: String? - public init(nextToken: String? = nil, resourceComplianceSummaryItems: [ResourceComplianceSummaryItem]? = nil) { - self.nextToken = nextToken - self.resourceComplianceSummaryItems = resourceComplianceSummaryItems + public init(fault: Fault? = nil, entry: CreateAssociationBatchRequestEntry? = nil, message: String? = nil) { + self.fault = fault + self.entry = entry + self.message = message } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case resourceComplianceSummaryItems = "ResourceComplianceSummaryItems" + case fault = "Fault" + case entry = "Entry" + case message = "Message" } } - public enum CommandStatus: String, CustomStringConvertible, Codable { - case pending = "Pending" - case inprogress = "InProgress" - case success = "Success" - case cancelled = "Cancelled" - case failed = "Failed" - case timedout = "TimedOut" - case cancelling = "Cancelling" - public var description: String { return self.rawValue } - } - - public struct InstanceInformation: AWSShape { + public struct DeleteMaintenanceWindowResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LastSuccessfulAssociationExecutionDate", required: false, type: .timestamp), - AWSShapeMember(label: "IsLatestVersion", required: false, type: .boolean), - AWSShapeMember(label: "AssociationOverview", required: false, type: .structure), - AWSShapeMember(label: "IPAddress", required: false, type: .string), - AWSShapeMember(label: "ResourceType", required: false, type: .enum), - AWSShapeMember(label: "PlatformVersion", required: false, type: .string), - AWSShapeMember(label: "ComputerName", required: false, type: .string), - AWSShapeMember(label: "AssociationStatus", required: false, type: .string), - AWSShapeMember(label: "LastAssociationExecutionDate", required: false, type: .timestamp), - AWSShapeMember(label: "IamRole", required: false, type: .string), - AWSShapeMember(label: "PlatformName", required: false, type: .string), - AWSShapeMember(label: "AgentVersion", required: false, type: .string), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "InstanceId", required: false, type: .string), - AWSShapeMember(label: "PingStatus", required: false, type: .enum), - AWSShapeMember(label: "RegistrationDate", required: false, type: .timestamp), - AWSShapeMember(label: "PlatformType", required: false, type: .enum), - AWSShapeMember(label: "ActivationId", required: false, type: .string), - AWSShapeMember(label: "LastPingDateTime", required: false, type: .timestamp) + AWSShapeMember(label: "WindowId", required: false, type: .string) ] - /// The last date the association was successfully run. - public let lastSuccessfulAssociationExecutionDate: TimeStamp? - /// Indicates whether latest version of the SSM Agent is running on your instance. - public let isLatestVersion: Bool? - /// Information about the association. - public let associationOverview: InstanceAggregatedAssociationOverview? - /// The IP address of the managed instance. - public let iPAddress: String? - /// The type of instance. Instances are either EC2 instances or managed instances. - public let resourceType: ResourceType? - /// The version of the OS platform running on your instance. - public let platformVersion: String? - /// The fully qualified host name of the managed instance. - public let computerName: String? - /// The status of the association. - public let associationStatus: String? - /// The date the association was last executed. - public let lastAssociationExecutionDate: TimeStamp? - /// The Amazon Identity and Access Management (IAM) role assigned to EC2 instances or managed instances. - public let iamRole: String? - /// The name of the operating system platform running on your instance. - public let platformName: String? - /// The version of the SSM Agent running on your Linux instance. - public let agentVersion: String? - /// The name of the managed instance. - public let name: String? - /// The instance ID. - public let instanceId: String? - /// Connection status of the SSM Agent. - public let pingStatus: PingStatus? - /// The date the server or VM was registered with AWS as a managed instance. - public let registrationDate: TimeStamp? - /// The operating system platform type. - public let platformType: PlatformType? - /// The activation ID created by Systems Manager when the server or VM was registered. - public let activationId: String? - /// The date and time when agent last pinged Systems Manager service. - public let lastPingDateTime: TimeStamp? + /// The ID of the deleted Maintenance Window. + public let windowId: String? - public init(lastSuccessfulAssociationExecutionDate: TimeStamp? = nil, isLatestVersion: Bool? = nil, associationOverview: InstanceAggregatedAssociationOverview? = nil, iPAddress: String? = nil, resourceType: ResourceType? = nil, platformVersion: String? = nil, computerName: String? = nil, associationStatus: String? = nil, lastAssociationExecutionDate: TimeStamp? = nil, iamRole: String? = nil, platformName: String? = nil, agentVersion: String? = nil, name: String? = nil, instanceId: String? = nil, pingStatus: PingStatus? = nil, registrationDate: TimeStamp? = nil, platformType: PlatformType? = nil, activationId: String? = nil, lastPingDateTime: TimeStamp? = nil) { - self.lastSuccessfulAssociationExecutionDate = lastSuccessfulAssociationExecutionDate - self.isLatestVersion = isLatestVersion - self.associationOverview = associationOverview - self.iPAddress = iPAddress - self.resourceType = resourceType - self.platformVersion = platformVersion - self.computerName = computerName - self.associationStatus = associationStatus - self.lastAssociationExecutionDate = lastAssociationExecutionDate - self.iamRole = iamRole - self.platformName = platformName - self.agentVersion = agentVersion - self.name = name - self.instanceId = instanceId - self.pingStatus = pingStatus - self.registrationDate = registrationDate - self.platformType = platformType - self.activationId = activationId - self.lastPingDateTime = lastPingDateTime + public init(windowId: String? = nil) { + self.windowId = windowId } private enum CodingKeys: String, CodingKey { - case lastSuccessfulAssociationExecutionDate = "LastSuccessfulAssociationExecutionDate" - case isLatestVersion = "IsLatestVersion" - case associationOverview = "AssociationOverview" - case iPAddress = "IPAddress" - case resourceType = "ResourceType" - case platformVersion = "PlatformVersion" - case computerName = "ComputerName" - case associationStatus = "AssociationStatus" - case lastAssociationExecutionDate = "LastAssociationExecutionDate" - case iamRole = "IamRole" - case platformName = "PlatformName" - case agentVersion = "AgentVersion" - case name = "Name" - case instanceId = "InstanceId" - case pingStatus = "PingStatus" - case registrationDate = "RegistrationDate" - case platformType = "PlatformType" - case activationId = "ActivationId" - case lastPingDateTime = "LastPingDateTime" + case windowId = "WindowId" } } - public struct CancelCommandRequest: AWSShape { + public struct GetParameterHistoryRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CommandId", required: true, type: .string), - AWSShapeMember(label: "InstanceIds", required: false, type: .list) + AWSShapeMember(label: "WithDecryption", required: false, type: .boolean), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The ID of the command you want to cancel. - public let commandId: String - /// (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. - public let instanceIds: [String]? + /// Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types. + public let withDecryption: Bool? + /// The name of a parameter you want to query. + public let name: String + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// 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. + public let maxResults: Int32? - public init(commandId: String, instanceIds: [String]? = nil) { - self.commandId = commandId - self.instanceIds = instanceIds + public init(withDecryption: Bool? = nil, name: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.withDecryption = withDecryption + self.name = name + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case commandId = "CommandId" - case instanceIds = "InstanceIds" + case withDecryption = "WithDecryption" + case name = "Name" + case nextToken = "NextToken" + case maxResults = "MaxResults" } } - public struct DescribeActivationsRequest: AWSShape { + public struct PutComplianceItemsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ComplianceType", required: true, type: .string), + AWSShapeMember(label: "ItemContentHash", required: false, type: .string), + AWSShapeMember(label: "ExecutionSummary", required: true, type: .structure), + AWSShapeMember(label: "ResourceId", required: true, type: .string), + AWSShapeMember(label: "ResourceType", required: true, type: .string), + AWSShapeMember(label: "Items", required: true, type: .list) + ] + /// Specify the compliance type. For example, specify Association (for a State Manager association), Patch, or Custom:string. + public let complianceType: String + /// 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. + public let itemContentHash: String? + /// 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'. + public let executionSummary: ComplianceExecutionSummary + /// Specify an ID for this resource. For a managed instance, this is the instance ID. + public let resourceId: String + /// Specify the type of resource. ManagedInstance is currently the only supported resource type. + public let resourceType: String + /// 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. + public let items: [ComplianceItemEntry] + + public init(complianceType: String, itemContentHash: String? = nil, executionSummary: ComplianceExecutionSummary, resourceId: String, resourceType: String, items: [ComplianceItemEntry]) { + self.complianceType = complianceType + self.itemContentHash = itemContentHash + self.executionSummary = executionSummary + self.resourceId = resourceId + self.resourceType = resourceType + self.items = items + } + + private enum CodingKeys: String, CodingKey { + case complianceType = "ComplianceType" + case itemContentHash = "ItemContentHash" + case executionSummary = "ExecutionSummary" + case resourceId = "ResourceId" + case resourceType = "ResourceType" + case items = "Items" + } + } + + public struct ListDocumentVersionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "Name", required: true, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// A token to start the list. Use this token to get the next set of results. + /// The token for the next set of items to return. (You received this token from a previous call.) public let nextToken: String? - /// A filter to view information about your activations. - public let filters: [DescribeActivationsFilter]? + /// The name of the document about which you want version information. + public let name: String /// 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. public let maxResults: Int32? - public init(nextToken: String? = nil, filters: [DescribeActivationsFilter]? = nil, maxResults: Int32? = nil) { + public init(nextToken: String? = nil, name: String, maxResults: Int32? = nil) { self.nextToken = nextToken - self.filters = filters + self.name = name self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { case nextToken = "NextToken" - case filters = "Filters" + case name = "Name" case maxResults = "MaxResults" } } - public enum CommandPluginStatus: String, CustomStringConvertible, Codable { - case pending = "Pending" - case inprogress = "InProgress" - case success = "Success" - case timedout = "TimedOut" - case cancelled = "Cancelled" - case failed = "Failed" - public var description: String { return self.rawValue } - } - - public struct CreateMaintenanceWindowRequest: AWSShape { + public struct GetParameterHistoryResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ClientToken", required: false, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "AllowUnassociatedTargets", required: true, type: .boolean), - AWSShapeMember(label: "Schedule", required: true, type: .string), - AWSShapeMember(label: "Cutoff", required: true, type: .integer), - AWSShapeMember(label: "Duration", required: true, type: .integer), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "Parameters", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// User-provided idempotency token. - public let clientToken: String? - /// The name of the Maintenance Window. - public let name: String - /// 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. - public let allowUnassociatedTargets: Bool - /// The schedule of the Maintenance Window in the form of a cron or rate expression. - public let schedule: String - /// The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution. - public let cutoff: Int32 - /// The duration of the Maintenance Window in hours. - public let duration: Int32 - /// An optional description for the Maintenance Window. We recommend specifying a description to help you organize your Maintenance Windows. - public let description: String? + /// A list of parameters returned by the request. + public let parameters: [ParameterHistory]? + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? - public init(clientToken: String? = nil, name: String, allowUnassociatedTargets: Bool, schedule: String, cutoff: Int32, duration: Int32, description: String? = nil) { - self.clientToken = clientToken - self.name = name - self.allowUnassociatedTargets = allowUnassociatedTargets - self.schedule = schedule - self.cutoff = cutoff - self.duration = duration - self.description = description + public init(parameters: [ParameterHistory]? = nil, nextToken: String? = nil) { + self.parameters = parameters + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case clientToken = "ClientToken" - case name = "Name" - case allowUnassociatedTargets = "AllowUnassociatedTargets" - case schedule = "Schedule" - case cutoff = "Cutoff" - case duration = "Duration" - case description = "Description" + case parameters = "Parameters" + case nextToken = "NextToken" } } - public struct ComplianceStringFilter: AWSShape { + public struct Target: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Type", required: false, type: .enum), AWSShapeMember(label: "Key", required: false, type: .string), AWSShapeMember(label: "Values", required: false, type: .list) ] - /// The type of comparison that should be performed for the value: Equal, NotEqual, BeginWith, LessThan, or GreaterThan. - public let `type`: ComplianceQueryOperatorType? - /// The name of the filter. + /// 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. public let key: String? - /// The value for which to search. + /// 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. public let values: [String]? - public init(type: ComplianceQueryOperatorType? = nil, key: String? = nil, values: [String]? = nil) { - self.`type` = `type` + public init(key: String? = nil, values: [String]? = nil) { self.key = key self.values = values } private enum CodingKeys: String, CodingKey { - case `type` = "Type" case key = "Key" case values = "Values" } } - public enum SignalType: String, CustomStringConvertible, Codable { - case approve = "Approve" - case reject = "Reject" - case startstep = "StartStep" - case stopstep = "StopStep" - case resume = "Resume" - public var description: String { return self.rawValue } - } - - public struct CommandInvocation: AWSShape { + public struct DeleteInventoryRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CommandPlugins", required: false, type: .list), - AWSShapeMember(label: "NotificationConfig", required: false, type: .structure), - AWSShapeMember(label: "Comment", required: false, type: .string), - AWSShapeMember(label: "StandardOutputUrl", required: false, type: .string), - AWSShapeMember(label: "ServiceRole", required: false, type: .string), - AWSShapeMember(label: "TraceOutput", required: false, type: .string), - AWSShapeMember(label: "Status", required: false, type: .enum), - AWSShapeMember(label: "InstanceName", required: false, type: .string), - AWSShapeMember(label: "RequestedDateTime", required: false, type: .timestamp), - AWSShapeMember(label: "InstanceId", required: false, type: .string), - AWSShapeMember(label: "DocumentName", required: false, type: .string), - AWSShapeMember(label: "StandardErrorUrl", required: false, type: .string), - AWSShapeMember(label: "CommandId", required: false, type: .string), - AWSShapeMember(label: "StatusDetails", required: false, type: .string) + AWSShapeMember(label: "SchemaDeleteOption", required: false, type: .enum), + AWSShapeMember(label: "ClientToken", required: false, type: .string), + AWSShapeMember(label: "DryRun", required: false, type: .boolean), + AWSShapeMember(label: "TypeName", required: true, type: .string) ] - public let commandPlugins: [CommandPlugin]? - /// Configurations for sending notifications about command status changes on a per instance basis. - public let notificationConfig: NotificationConfig? - /// User-specified information about the command, such as a brief description of what the command should do. - public let comment: String? - /// 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. - public let standardOutputUrl: String? - /// 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. - public let serviceRole: String? - /// Gets the trace output sent by the agent. - public let traceOutput: String? - /// Whether or not the invocation succeeded, failed, or is pending. - public let status: CommandInvocationStatus? - /// 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. - public let instanceName: String? - /// The time and date the request was sent to this instance. - public let requestedDateTime: TimeStamp? - /// The instance ID in which this invocation was requested. - public let instanceId: String? - /// The document name that was requested for execution. - public let documentName: String? - /// 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. - public let standardErrorUrl: String? - /// The command against which this invocation was requested. - public let commandId: String? - /// A detailed status of the command execution for each invocation (each instance targeted by the command). StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Run Command Status. StatusDetails can be one of the following values: Pending: The command has not been sent to the instance. In Progress: The command has been sent to the instance but has not reached a terminal state. Success: The execution of the command or plugin was successfully completed. This is a terminal state. Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state. Execution Timed Out: Command execution started on the instance, but the execution was not complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state. Failed: The command was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state. Canceled: The command was terminated before it was completed. This is a terminal state. Undeliverable: The command can't be delivered to the instance. The instance might not exist or might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state. Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state. - public let statusDetails: String? + /// 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. + public let schemaDeleteOption: InventorySchemaDeleteOption? + /// User-provided idempotency token. + public let clientToken: String? + /// 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. + public let dryRun: Bool? + /// The name of the custom inventory type for which you want to delete either all previously collected data, or the inventory type itself. + public let typeName: String - public init(commandPlugins: [CommandPlugin]? = nil, notificationConfig: NotificationConfig? = nil, comment: String? = nil, standardOutputUrl: String? = nil, serviceRole: String? = nil, traceOutput: String? = nil, status: CommandInvocationStatus? = nil, instanceName: String? = nil, requestedDateTime: TimeStamp? = nil, instanceId: String? = nil, documentName: String? = nil, standardErrorUrl: String? = nil, commandId: String? = nil, statusDetails: String? = nil) { - self.commandPlugins = commandPlugins - self.notificationConfig = notificationConfig - self.comment = comment - self.standardOutputUrl = standardOutputUrl - self.serviceRole = serviceRole - self.traceOutput = traceOutput - self.status = status - self.instanceName = instanceName - self.requestedDateTime = requestedDateTime - self.instanceId = instanceId - self.documentName = documentName - self.standardErrorUrl = standardErrorUrl - self.commandId = commandId - self.statusDetails = statusDetails + public init(schemaDeleteOption: InventorySchemaDeleteOption? = nil, clientToken: String? = nil, dryRun: Bool? = nil, typeName: String) { + self.schemaDeleteOption = schemaDeleteOption + self.clientToken = clientToken + self.dryRun = dryRun + self.typeName = typeName } private enum CodingKeys: String, CodingKey { - case commandPlugins = "CommandPlugins" - case notificationConfig = "NotificationConfig" - case comment = "Comment" - case standardOutputUrl = "StandardOutputUrl" - case serviceRole = "ServiceRole" - case traceOutput = "TraceOutput" - case status = "Status" - case instanceName = "InstanceName" - case requestedDateTime = "RequestedDateTime" - case instanceId = "InstanceId" - case documentName = "DocumentName" - case standardErrorUrl = "StandardErrorUrl" - case commandId = "CommandId" - case statusDetails = "StatusDetails" + case schemaDeleteOption = "SchemaDeleteOption" + case clientToken = "ClientToken" + case dryRun = "DryRun" + case typeName = "TypeName" } } - public struct DeregisterManagedInstanceResult: AWSShape { + public struct PutComplianceItemsResult: AWSShape { } - public struct DeleteResourceDataSyncResult: AWSShape { - + public enum AssociationStatusName: String, CustomStringConvertible, Codable { + case pending = "Pending" + case success = "Success" + case failed = "Failed" + public var description: String { return self.rawValue } } - public struct FailedCreateAssociation: AWSShape { + public struct AssociationDescription: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastExecutionDate", required: false, type: .timestamp), + AWSShapeMember(label: "LastUpdateAssociationDate", required: false, type: .timestamp), + AWSShapeMember(label: "Targets", required: false, type: .list), + AWSShapeMember(label: "Status", required: false, type: .structure), + AWSShapeMember(label: "AssociationId", required: false, type: .string), + AWSShapeMember(label: "Parameters", required: false, type: .map), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "InstanceId", required: false, type: .string), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string), + AWSShapeMember(label: "AssociationVersion", required: false, type: .string), + AWSShapeMember(label: "OutputLocation", required: false, type: .structure), + AWSShapeMember(label: "Overview", required: false, type: .structure), + AWSShapeMember(label: "ScheduleExpression", required: false, type: .string), + AWSShapeMember(label: "AssociationName", required: false, type: .string), + AWSShapeMember(label: "Date", required: false, type: .timestamp), + AWSShapeMember(label: "LastSuccessfulExecutionDate", required: false, type: .timestamp) + ] + /// The date on which the association was last run. + public let lastExecutionDate: TimeStamp? + /// The date when the association was last updated. + public let lastUpdateAssociationDate: TimeStamp? + /// The instances targeted by the request. + public let targets: [Target]? + /// The association status. + public let status: AssociationStatus? + /// The association ID. + public let associationId: String? + /// A description of the parameters for a document. + public let parameters: [String: [String]]? + /// The name of the Systems Manager document. + public let name: String? + /// The ID of the instance. + public let instanceId: String? + /// The document version. + public let documentVersion: String? + /// The association version. + public let associationVersion: String? + /// An Amazon S3 bucket where you want to store the output details of the request. + public let outputLocation: InstanceAssociationOutputLocation? + /// Information about the association. + public let overview: AssociationOverview? + /// A cron expression that specifies a schedule when the association runs. + public let scheduleExpression: String? + /// The association name. + public let associationName: String? + /// The date when the association was made. + public let date: TimeStamp? + /// The last date on which the association was successfully run. + public let lastSuccessfulExecutionDate: TimeStamp? + + public init(lastExecutionDate: TimeStamp? = nil, lastUpdateAssociationDate: TimeStamp? = nil, targets: [Target]? = nil, status: AssociationStatus? = nil, associationId: String? = nil, parameters: [String: [String]]? = nil, name: String? = nil, instanceId: String? = nil, documentVersion: String? = nil, associationVersion: String? = nil, outputLocation: InstanceAssociationOutputLocation? = nil, overview: AssociationOverview? = nil, scheduleExpression: String? = nil, associationName: String? = nil, date: TimeStamp? = nil, lastSuccessfulExecutionDate: TimeStamp? = nil) { + self.lastExecutionDate = lastExecutionDate + self.lastUpdateAssociationDate = lastUpdateAssociationDate + self.targets = targets + self.status = status + self.associationId = associationId + self.parameters = parameters + self.name = name + self.instanceId = instanceId + self.documentVersion = documentVersion + self.associationVersion = associationVersion + self.outputLocation = outputLocation + self.overview = overview + self.scheduleExpression = scheduleExpression + self.associationName = associationName + self.date = date + self.lastSuccessfulExecutionDate = lastSuccessfulExecutionDate + } + + private enum CodingKeys: String, CodingKey { + case lastExecutionDate = "LastExecutionDate" + case lastUpdateAssociationDate = "LastUpdateAssociationDate" + case targets = "Targets" + case status = "Status" + case associationId = "AssociationId" + case parameters = "Parameters" + case name = "Name" + case instanceId = "InstanceId" + case documentVersion = "DocumentVersion" + case associationVersion = "AssociationVersion" + case outputLocation = "OutputLocation" + case overview = "Overview" + case scheduleExpression = "ScheduleExpression" + case associationName = "AssociationName" + case date = "Date" + case lastSuccessfulExecutionDate = "LastSuccessfulExecutionDate" + } + } + + public struct DeleteParameterResult: AWSShape { + + } + + public struct InstanceAssociation: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Content", required: false, type: .string), + AWSShapeMember(label: "AssociationVersion", required: false, type: .string), + AWSShapeMember(label: "AssociationId", required: false, type: .string), + AWSShapeMember(label: "InstanceId", required: false, type: .string) + ] + /// The content of the association document for the instance(s). + public let content: String? + /// Version information for the association on the instance. + public let associationVersion: String? + /// The association ID. + public let associationId: String? + /// The instance ID. + public let instanceId: String? + + public init(content: String? = nil, associationVersion: String? = nil, associationId: String? = nil, instanceId: String? = nil) { + self.content = content + self.associationVersion = associationVersion + self.associationId = associationId + self.instanceId = instanceId + } + + private enum CodingKeys: String, CodingKey { + case content = "Content" + case associationVersion = "AssociationVersion" + case associationId = "AssociationId" + case instanceId = "InstanceId" + } + } + + public struct DeleteDocumentRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// The name of the document. + public let name: String + + public init(name: String) { + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + } + } + + public struct DescribePatchGroupStateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "PatchGroup", required: true, type: .string) + ] + /// The name of the patch group whose patch snapshot should be retrieved. + public let patchGroup: String + + public init(patchGroup: String) { + self.patchGroup = patchGroup + } + + private enum CodingKeys: String, CodingKey { + case patchGroup = "PatchGroup" + } + } + + public struct InventoryFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Key", required: true, type: .string), + AWSShapeMember(label: "Values", required: true, type: .list) + ] + /// The type of filter. Valid values include the following: "Equal"|"NotEqual"|"BeginWith"|"LessThan"|"GreaterThan" + public let `type`: InventoryQueryOperatorType? + /// The name of the filter key. + public let key: String + /// Inventory filter values. Example: inventory filter where instance IDs are specified as values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g, i-1a2b3c4d5e6,Type=Equal + public let values: [String] + + public init(type: InventoryQueryOperatorType? = nil, key: String, values: [String]) { + self.`type` = `type` + self.key = key + self.values = values + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + case key = "Key" + case values = "Values" + } + } + + public struct ListCommandsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Commands", required: false, type: .list) + ] + /// (Optional) The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// (Optional) The list of commands requested by the user. + public let commands: [Command]? + + public init(nextToken: String? = nil, commands: [Command]? = nil) { + self.nextToken = nextToken + self.commands = commands + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case commands = "Commands" + } + } + + public struct ResourceComplianceSummaryItem: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CompliantSummary", required: false, type: .structure), + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "ComplianceType", required: false, type: .string), + AWSShapeMember(label: "OverallSeverity", required: false, type: .enum), + AWSShapeMember(label: "ResourceType", required: false, type: .string), + AWSShapeMember(label: "NonCompliantSummary", required: false, type: .structure), + AWSShapeMember(label: "ExecutionSummary", required: false, type: .structure), + AWSShapeMember(label: "ResourceId", required: false, type: .string) + ] + /// A list of items that are compliant for the resource. + public let compliantSummary: CompliantSummary? + /// The compliance status for the resource. + public let status: ComplianceStatus? + /// The compliance type. + public let complianceType: String? + /// The highest severity item found for the resource. The resource is compliant for this item. + public let overallSeverity: ComplianceSeverity? + /// The resource type. + public let resourceType: String? + /// A list of items that aren't compliant for the resource. + public let nonCompliantSummary: NonCompliantSummary? + /// Information about the execution. + public let executionSummary: ComplianceExecutionSummary? + /// The resource ID. + public let resourceId: String? + + public init(compliantSummary: CompliantSummary? = nil, status: ComplianceStatus? = nil, complianceType: String? = nil, overallSeverity: ComplianceSeverity? = nil, resourceType: String? = nil, nonCompliantSummary: NonCompliantSummary? = nil, executionSummary: ComplianceExecutionSummary? = nil, resourceId: String? = nil) { + self.compliantSummary = compliantSummary + self.status = status + self.complianceType = complianceType + self.overallSeverity = overallSeverity + self.resourceType = resourceType + self.nonCompliantSummary = nonCompliantSummary + self.executionSummary = executionSummary + self.resourceId = resourceId + } + + private enum CodingKeys: String, CodingKey { + case compliantSummary = "CompliantSummary" + case status = "Status" + case complianceType = "ComplianceType" + case overallSeverity = "OverallSeverity" + case resourceType = "ResourceType" + case nonCompliantSummary = "NonCompliantSummary" + case executionSummary = "ExecutionSummary" + case resourceId = "ResourceId" + } + } + + public struct GetPatchBaselineForPatchGroupResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OperatingSystem", required: false, type: .enum), + AWSShapeMember(label: "BaselineId", required: false, type: .string), + AWSShapeMember(label: "PatchGroup", required: false, type: .string) + ] + /// The operating system rule specified for patch groups using the patch baseline. + public let operatingSystem: OperatingSystem? + /// The ID of the patch baseline that should be used for the patch group. + public let baselineId: String? + /// The name of the patch group. + public let patchGroup: String? + + public init(operatingSystem: OperatingSystem? = nil, baselineId: String? = nil, patchGroup: String? = nil) { + self.operatingSystem = operatingSystem + self.baselineId = baselineId + self.patchGroup = patchGroup + } + + private enum CodingKeys: String, CodingKey { + case operatingSystem = "OperatingSystem" + case baselineId = "BaselineId" + case patchGroup = "PatchGroup" + } + } + + public struct RegisterPatchBaselineForPatchGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BaselineId", required: true, type: .string), + AWSShapeMember(label: "PatchGroup", required: true, type: .string) + ] + /// The ID of the patch baseline to register the patch group with. + public let baselineId: String + /// The name of the patch group that should be registered with the patch baseline. + public let patchGroup: String + + public init(baselineId: String, patchGroup: String) { + self.baselineId = baselineId + self.patchGroup = patchGroup + } + + private enum CodingKeys: String, CodingKey { + case baselineId = "BaselineId" + case patchGroup = "PatchGroup" + } + } + + public struct AssociationVersionInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AssociationId", required: false, type: .string), + AWSShapeMember(label: "Parameters", required: false, type: .map), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string), + AWSShapeMember(label: "Targets", required: false, type: .list), + AWSShapeMember(label: "OutputLocation", required: false, type: .structure), + AWSShapeMember(label: "AssociationVersion", required: false, type: .string), + AWSShapeMember(label: "ScheduleExpression", required: false, type: .string), + AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), + AWSShapeMember(label: "AssociationName", required: false, type: .string) + ] + /// The ID created by the system when the association was created. + public let associationId: String? + /// Parameters specified when the association version was created. + public let parameters: [String: [String]]? + /// The name specified when the association was created. + public let name: String? + /// The version of a Systems Manager document used when the association version was created. + public let documentVersion: String? + /// The targets specified for the association when the association version was created. + public let targets: [Target]? + /// The location in Amazon S3 specified for the association when the association version was created. + public let outputLocation: InstanceAssociationOutputLocation? + /// The association version. + public let associationVersion: String? + /// The cron or rate schedule specified for the association when the association version was created. + public let scheduleExpression: String? + /// The date the association version was created. + public let createdDate: TimeStamp? + /// The name specified for the association version when the association version was created. + public let associationName: String? + + public init(associationId: String? = nil, parameters: [String: [String]]? = nil, name: String? = nil, documentVersion: String? = nil, targets: [Target]? = nil, outputLocation: InstanceAssociationOutputLocation? = nil, associationVersion: String? = nil, scheduleExpression: String? = nil, createdDate: TimeStamp? = nil, associationName: String? = nil) { + self.associationId = associationId + self.parameters = parameters + self.name = name + self.documentVersion = documentVersion + self.targets = targets + self.outputLocation = outputLocation + self.associationVersion = associationVersion + self.scheduleExpression = scheduleExpression + self.createdDate = createdDate + self.associationName = associationName + } + + private enum CodingKeys: String, CodingKey { + case associationId = "AssociationId" + case parameters = "Parameters" + case name = "Name" + case documentVersion = "DocumentVersion" + case targets = "Targets" + case outputLocation = "OutputLocation" + case associationVersion = "AssociationVersion" + case scheduleExpression = "ScheduleExpression" + case createdDate = "CreatedDate" + case associationName = "AssociationName" + } + } + + public struct DescribeMaintenanceWindowTasksResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Tasks", required: false, type: .list) + ] + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? + /// Information about the tasks in the Maintenance Window. + public let tasks: [MaintenanceWindowTask]? + + public init(nextToken: String? = nil, tasks: [MaintenanceWindowTask]? = nil) { + self.nextToken = nextToken + self.tasks = tasks + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case tasks = "Tasks" + } + } + + public enum PatchFilterKey: String, CustomStringConvertible, Codable { + case product = "PRODUCT" + case classification = "CLASSIFICATION" + case msrcSeverity = "MSRC_SEVERITY" + case patchId = "PATCH_ID" + case section = "SECTION" + case priority = "PRIORITY" + case severity = "SEVERITY" + public var description: String { return self.rawValue } + } + + public struct Patch: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Classification", required: false, type: .string), + AWSShapeMember(label: "Product", required: false, type: .string), + AWSShapeMember(label: "Language", required: false, type: .string), + AWSShapeMember(label: "ReleaseDate", required: false, type: .timestamp), + AWSShapeMember(label: "Title", required: false, type: .string), + AWSShapeMember(label: "ProductFamily", required: false, type: .string), + AWSShapeMember(label: "Id", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "Vendor", required: false, type: .string), + AWSShapeMember(label: "MsrcNumber", required: false, type: .string), + AWSShapeMember(label: "KbNumber", required: false, type: .string), + AWSShapeMember(label: "ContentUrl", required: false, type: .string), + AWSShapeMember(label: "MsrcSeverity", required: false, type: .string) + ] + /// The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates). + public let classification: String? + /// The specific product the patch is applicable for (for example, WindowsServer2016). + public let product: String? + /// The language of the patch if it's language-specific. + public let language: String? + /// The date the patch was released. + public let releaseDate: TimeStamp? + /// The title of the patch. + public let title: String? + /// The product family the patch is applicable for (for example, Windows). + public let productFamily: String? + /// The ID of the patch (this is different than the Microsoft Knowledge Base ID). + public let id: String? + /// The description of the patch. + public let description: String? + /// The name of the vendor providing the patch. + public let vendor: String? + /// The ID of the MSRC bulletin the patch is related to. + public let msrcNumber: String? + /// The Microsoft Knowledge Base ID of the patch. + public let kbNumber: String? + /// The URL where more information can be obtained about the patch. + public let contentUrl: String? + /// The severity of the patch (for example Critical, Important, Moderate). + public let msrcSeverity: String? + + public init(classification: String? = nil, product: String? = nil, language: String? = nil, releaseDate: TimeStamp? = nil, title: String? = nil, productFamily: String? = nil, id: String? = nil, description: String? = nil, vendor: String? = nil, msrcNumber: String? = nil, kbNumber: String? = nil, contentUrl: String? = nil, msrcSeverity: String? = nil) { + self.classification = classification + self.product = product + self.language = language + self.releaseDate = releaseDate + self.title = title + self.productFamily = productFamily + self.id = id + self.description = description + self.vendor = vendor + self.msrcNumber = msrcNumber + self.kbNumber = kbNumber + self.contentUrl = contentUrl + self.msrcSeverity = msrcSeverity + } + + private enum CodingKeys: String, CodingKey { + case classification = "Classification" + case product = "Product" + case language = "Language" + case releaseDate = "ReleaseDate" + case title = "Title" + case productFamily = "ProductFamily" + case id = "Id" + case description = "Description" + case vendor = "Vendor" + case msrcNumber = "MsrcNumber" + case kbNumber = "KbNumber" + case contentUrl = "ContentUrl" + case msrcSeverity = "MsrcSeverity" + } + } + + public struct MaintenanceWindowStepFunctionsParameters: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Input", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string) + ] + /// The inputs for the STEP_FUNCTION task. + public let input: String? + /// The name of the STEP_FUNCTION task. + public let name: String? + + public init(input: String? = nil, name: String? = nil) { + self.input = input + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case input = "Input" + case name = "Name" + } + } + + public struct DescribeDocumentResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Document", required: false, type: .structure) + ] + /// Information about the Systems Manager document. + public let document: DocumentDescription? + + public init(document: DocumentDescription? = nil) { + self.document = document + } + + private enum CodingKeys: String, CodingKey { + case document = "Document" + } + } + + public struct RegisterTaskWithMaintenanceWindowRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WindowId", required: true, type: .string), + AWSShapeMember(label: "TaskInvocationParameters", required: false, type: .structure), + AWSShapeMember(label: "ServiceRoleArn", required: false, type: .string), + AWSShapeMember(label: "ClientToken", required: false, type: .string), + AWSShapeMember(label: "Priority", required: false, type: .integer), + AWSShapeMember(label: "Targets", required: true, type: .list), + AWSShapeMember(label: "LoggingInfo", required: false, type: .structure), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "MaxErrors", required: true, type: .string), + AWSShapeMember(label: "TaskArn", required: true, type: .string), + AWSShapeMember(label: "TaskType", required: true, type: .enum), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "TaskParameters", required: false, type: .map), + AWSShapeMember(label: "MaxConcurrency", required: true, type: .string) + ] + /// The ID of the Maintenance Window the task should be added to. + public let windowId: String + /// The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty. + public let taskInvocationParameters: MaintenanceWindowTaskInvocationParameters? + /// 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. + public let serviceRoleArn: String? + /// User-provided idempotency token. + public let clientToken: String? + /// 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. + public let priority: Int32? + /// 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> + public let targets: [Target] + /// 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. + public let loggingInfo: LoggingInfo? + /// An optional description for the task. + public let description: String? + /// The maximum number of errors allowed before this task stops being scheduled. + public let maxErrors: String + /// The ARN of the task to execute + public let taskArn: String + /// The type of task being registered. + public let taskType: MaintenanceWindowTaskType + /// An optional name for the task. + public let name: String? + /// 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. + public let taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? + /// The maximum number of targets this task can be run for in parallel. + public let maxConcurrency: String + + public init(windowId: String, taskInvocationParameters: MaintenanceWindowTaskInvocationParameters? = nil, serviceRoleArn: String? = nil, clientToken: String? = nil, priority: Int32? = nil, targets: [Target], loggingInfo: LoggingInfo? = nil, description: String? = nil, maxErrors: String, taskArn: String, taskType: MaintenanceWindowTaskType, name: String? = nil, taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? = nil, maxConcurrency: String) { + self.windowId = windowId + self.taskInvocationParameters = taskInvocationParameters + self.serviceRoleArn = serviceRoleArn + self.clientToken = clientToken + self.priority = priority + self.targets = targets + self.loggingInfo = loggingInfo + self.description = description + self.maxErrors = maxErrors + self.taskArn = taskArn + self.taskType = taskType + self.name = name + self.taskParameters = taskParameters + self.maxConcurrency = maxConcurrency + } + + private enum CodingKeys: String, CodingKey { + case windowId = "WindowId" + case taskInvocationParameters = "TaskInvocationParameters" + case serviceRoleArn = "ServiceRoleArn" + case clientToken = "ClientToken" + case priority = "Priority" + case targets = "Targets" + case loggingInfo = "LoggingInfo" + case description = "Description" + case maxErrors = "MaxErrors" + case taskArn = "TaskArn" + case taskType = "TaskType" + case name = "Name" + case taskParameters = "TaskParameters" + case maxConcurrency = "MaxConcurrency" + } + } + + public enum InventoryDeletionStatus: String, CustomStringConvertible, Codable { + case inprogress = "InProgress" + case complete = "Complete" + public var description: String { return self.rawValue } + } + + public struct ParameterHistory: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Labels", required: false, type: .list), + AWSShapeMember(label: "KeyId", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Version", required: false, type: .long), + AWSShapeMember(label: "LastModifiedDate", required: false, type: .timestamp), + AWSShapeMember(label: "AllowedPattern", required: false, type: .string), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Value", required: false, type: .string), + AWSShapeMember(label: "LastModifiedUser", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// Labels assigned to the parameter version. + public let labels: [String]? + /// The ID of the query key used for this parameter. + public let keyId: String? + /// The name of the parameter. + public let name: String? + /// The parameter version. + public let version: Int64? + /// Date the parameter was last changed or updated. + public let lastModifiedDate: TimeStamp? + /// Parameter names can include the following letters and symbols. a-zA-Z0-9_.- + public let allowedPattern: String? + /// The type of parameter used. + public let `type`: ParameterType? + /// The parameter value. + public let value: String? + /// Amazon Resource Name (ARN) of the AWS user who last changed the parameter. + public let lastModifiedUser: String? + /// Information about the parameter. + public let description: String? + + public init(labels: [String]? = nil, keyId: String? = nil, name: String? = nil, version: Int64? = nil, lastModifiedDate: TimeStamp? = nil, allowedPattern: String? = nil, type: ParameterType? = nil, value: String? = nil, lastModifiedUser: String? = nil, description: String? = nil) { + self.labels = labels + self.keyId = keyId + self.name = name + self.version = version + self.lastModifiedDate = lastModifiedDate + self.allowedPattern = allowedPattern + self.`type` = `type` + self.value = value + self.lastModifiedUser = lastModifiedUser + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case labels = "Labels" + case keyId = "KeyId" + case name = "Name" + case version = "Version" + case lastModifiedDate = "LastModifiedDate" + case allowedPattern = "AllowedPattern" + case `type` = "Type" + case value = "Value" + case lastModifiedUser = "LastModifiedUser" + case description = "Description" + } + } + + public struct UpdateDocumentResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DocumentDescription", required: false, type: .structure) + ] + /// A description of the document that was updated. + public let documentDescription: DocumentDescription? + + public init(documentDescription: DocumentDescription? = nil) { + self.documentDescription = documentDescription + } + + private enum CodingKeys: String, CodingKey { + case documentDescription = "DocumentDescription" + } + } + + public struct InventoryItemAttribute: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DataType", required: true, type: .enum), + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// The data type of the inventory item attribute. + public let dataType: InventoryAttributeDataType + /// Name of the inventory item attribute. + public let name: String + + public init(dataType: InventoryAttributeDataType, name: String) { + self.dataType = dataType + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case dataType = "DataType" + case name = "Name" + } + } + + public struct DeregisterPatchBaselineForPatchGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BaselineId", required: true, type: .string), + AWSShapeMember(label: "PatchGroup", required: true, type: .string) + ] + /// The ID of the patch baseline to deregister the patch group from. + public let baselineId: String + /// The name of the patch group that should be deregistered from the patch baseline. + public let patchGroup: String + + public init(baselineId: String, patchGroup: String) { + self.baselineId = baselineId + self.patchGroup = patchGroup + } + + private enum CodingKeys: String, CodingKey { + case baselineId = "BaselineId" + case patchGroup = "PatchGroup" + } + } + + public struct CreateResourceDataSyncResult: AWSShape { + + } + + public struct DescribeEffectiveInstanceAssociationsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "InstanceId", required: true, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// The instance ID for which you want to view all associations. + public let instanceId: String + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, instanceId: String, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.instanceId = instanceId + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case instanceId = "InstanceId" + case maxResults = "MaxResults" + } + } + + public enum MaintenanceWindowResourceType: String, CustomStringConvertible, Codable { + case instance = "INSTANCE" + public var description: String { return self.rawValue } + } + + public struct ComplianceItemEntry: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Severity", required: true, type: .enum), + AWSShapeMember(label: "Details", required: false, type: .map), + AWSShapeMember(label: "Title", required: false, type: .string), + AWSShapeMember(label: "Status", required: true, type: .enum), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified. + public let severity: ComplianceSeverity + /// A "Key": "Value" tag combination for the compliance item. + public let details: [String: String]? + /// 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. + public let title: String? + /// The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT. + public let status: ComplianceStatus + /// The compliance item ID. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article. + public let id: String? + + public init(severity: ComplianceSeverity, details: [String: String]? = nil, title: String? = nil, status: ComplianceStatus, id: String? = nil) { + self.severity = severity + self.details = details + self.title = title + self.status = status + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case severity = "Severity" + case details = "Details" + case title = "Title" + case status = "Status" + case id = "Id" + } + } + + public struct SendCommandResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Command", required: false, type: .structure) + ] + /// The request as it was received by Systems Manager. Also provides the command ID which can be used future references to this request. + public let command: Command? + + public init(command: Command? = nil) { + self.command = command + } + + private enum CodingKeys: String, CodingKey { + case command = "Command" + } + } + + public struct DeregisterTaskFromMaintenanceWindowRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WindowId", required: true, type: .string), + AWSShapeMember(label: "WindowTaskId", required: true, type: .string) + ] + /// The ID of the Maintenance Window the task should be removed from. + public let windowId: String + /// The ID of the task to remove from the Maintenance Window. + public let windowTaskId: String + + public init(windowId: String, windowTaskId: String) { + self.windowId = windowId + self.windowTaskId = windowTaskId + } + + private enum CodingKeys: String, CodingKey { + case windowId = "WindowId" + case windowTaskId = "WindowTaskId" + } + } + + public struct ListComplianceItemsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceIds", required: false, type: .list), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ResourceTypes", required: false, type: .list), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The ID for the resources from which to get compliance information. Currently, you can only specify one resource ID. + public let resourceIds: [String]? + /// One or more compliance filters. Use a filter to return a more specific list of results. + public let filters: [ComplianceStringFilter]? + /// A token to start the list. Use this token to get the next set of results. + public let nextToken: String? + /// The type of resource from which to get compliance information. Currently, the only supported resource type is ManagedInstance. + public let resourceTypes: [String]? + /// 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. + public let maxResults: Int32? + + public init(resourceIds: [String]? = nil, filters: [ComplianceStringFilter]? = nil, nextToken: String? = nil, resourceTypes: [String]? = nil, maxResults: Int32? = nil) { + self.resourceIds = resourceIds + self.filters = filters + self.nextToken = nextToken + self.resourceTypes = resourceTypes + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case resourceIds = "ResourceIds" + case filters = "Filters" + case nextToken = "NextToken" + case resourceTypes = "ResourceTypes" + case maxResults = "MaxResults" + } + } + + public struct DescribeMaintenanceWindowExecutionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WindowId", required: true, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The ID of the Maintenance Window whose executions should be retrieved. + public let windowId: String + /// 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. + public let filters: [MaintenanceWindowFilter]? + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(windowId: String, filters: [MaintenanceWindowFilter]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.windowId = windowId + self.filters = filters + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case windowId = "WindowId" + case filters = "Filters" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct DeleteParametersResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InvalidParameters", required: false, type: .list), + AWSShapeMember(label: "DeletedParameters", required: false, type: .list) + ] + /// The names of parameters that weren't deleted because the parameters are not valid. + public let invalidParameters: [String]? + /// The names of the deleted parameters. + public let deletedParameters: [String]? + + public init(invalidParameters: [String]? = nil, deletedParameters: [String]? = nil) { + self.invalidParameters = invalidParameters + self.deletedParameters = deletedParameters + } + + private enum CodingKeys: String, CodingKey { + case invalidParameters = "InvalidParameters" + case deletedParameters = "DeletedParameters" + } + } + + public enum Fault: String, CustomStringConvertible, Codable { + case client = "Client" + case server = "Server" + case unknown = "Unknown" + public var description: String { return self.rawValue } + } + + public struct StartAssociationsOnceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AssociationIds", required: true, type: .list) + ] + /// The association IDs that you want to execute immediately and only one time. + public let associationIds: [String] + + public init(associationIds: [String]) { + self.associationIds = associationIds + } + + private enum CodingKeys: String, CodingKey { + case associationIds = "AssociationIds" + } + } + + public struct UpdatePatchBaselineResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ModifiedDate", required: false, type: .timestamp), + AWSShapeMember(label: "RejectedPatches", required: false, type: .list), + AWSShapeMember(label: "ApprovedPatchesComplianceLevel", required: false, type: .enum), + AWSShapeMember(label: "Sources", required: false, type: .list), + AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), + AWSShapeMember(label: "GlobalFilters", required: false, type: .structure), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "BaselineId", required: false, type: .string), + AWSShapeMember(label: "ApprovedPatches", required: false, type: .list), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "OperatingSystem", required: false, type: .enum), + AWSShapeMember(label: "ApprovedPatchesEnableNonSecurity", required: false, type: .boolean), + AWSShapeMember(label: "ApprovalRules", required: false, type: .structure) + ] + /// The date when the patch baseline was last modified. + public let modifiedDate: TimeStamp? + /// A list of explicitly rejected patches for the baseline. + public let rejectedPatches: [String]? + /// The compliance severity level assigned to the patch baseline after the update completed. + public let approvedPatchesComplianceLevel: PatchComplianceLevel? + /// Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only. + public let sources: [PatchSource]? + /// The date when the patch baseline was created. + public let createdDate: TimeStamp? + /// A set of global filters used to exclude patches from the baseline. + public let globalFilters: PatchFilterGroup? + /// A description of the Patch Baseline. + public let description: String? + /// The ID of the deleted patch baseline. + public let baselineId: String? + /// A list of explicitly approved patches for the baseline. + public let approvedPatches: [String]? + /// The name of the patch baseline. + public let name: String? + /// The operating system rule used by the updated patch baseline. + public let operatingSystem: OperatingSystem? + /// 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. + public let approvedPatchesEnableNonSecurity: Bool? + /// A set of rules used to include patches in the baseline. + public let approvalRules: PatchRuleGroup? + + public init(modifiedDate: TimeStamp? = nil, rejectedPatches: [String]? = nil, approvedPatchesComplianceLevel: PatchComplianceLevel? = nil, sources: [PatchSource]? = nil, createdDate: TimeStamp? = nil, globalFilters: PatchFilterGroup? = nil, description: String? = nil, baselineId: String? = nil, approvedPatches: [String]? = nil, name: String? = nil, operatingSystem: OperatingSystem? = nil, approvedPatchesEnableNonSecurity: Bool? = nil, approvalRules: PatchRuleGroup? = nil) { + self.modifiedDate = modifiedDate + self.rejectedPatches = rejectedPatches + self.approvedPatchesComplianceLevel = approvedPatchesComplianceLevel + self.sources = sources + self.createdDate = createdDate + self.globalFilters = globalFilters + self.description = description + self.baselineId = baselineId + self.approvedPatches = approvedPatches + self.name = name + self.operatingSystem = operatingSystem + self.approvedPatchesEnableNonSecurity = approvedPatchesEnableNonSecurity + self.approvalRules = approvalRules + } + + private enum CodingKeys: String, CodingKey { + case modifiedDate = "ModifiedDate" + case rejectedPatches = "RejectedPatches" + case approvedPatchesComplianceLevel = "ApprovedPatchesComplianceLevel" + case sources = "Sources" + case createdDate = "CreatedDate" + case globalFilters = "GlobalFilters" + case description = "Description" + case baselineId = "BaselineId" + case approvedPatches = "ApprovedPatches" + case name = "Name" + case operatingSystem = "OperatingSystem" + case approvedPatchesEnableNonSecurity = "ApprovedPatchesEnableNonSecurity" + case approvalRules = "ApprovalRules" + } + } + + public struct DescribeMaintenanceWindowsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// Optional filters used to narrow down the scope of the returned Maintenance Windows. Supported filter keys are Name and Enabled. + public let filters: [MaintenanceWindowFilter]? + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, filters: [MaintenanceWindowFilter]? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.filters = filters + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case filters = "Filters" + case maxResults = "MaxResults" + } + } + + public struct DescribeInstanceInformationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceInformationFilterList", required: false, type: .list), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// One or more filters. Use a filter to return a more specific list of instances. + public let instanceInformationFilterList: [InstanceInformationFilter]? + /// One or more filters. Use a filter to return a more specific list of instances. + public let filters: [InstanceInformationStringFilter]? + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(instanceInformationFilterList: [InstanceInformationFilter]? = nil, filters: [InstanceInformationStringFilter]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.instanceInformationFilterList = instanceInformationFilterList + self.filters = filters + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case instanceInformationFilterList = "InstanceInformationFilterList" + case filters = "Filters" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct ListComplianceSummariesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// A token to start the list. Use this token to get the next set of results. + public let nextToken: String? + /// One or more compliance or inventory filters. Use a filter to return a more specific list of results. + public let filters: [ComplianceStringFilter]? + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, filters: [ComplianceStringFilter]? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.filters = filters + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case filters = "Filters" + case maxResults = "MaxResults" + } + } + + public struct AssociationExecution: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "LastExecutionDate", required: false, type: .timestamp), + AWSShapeMember(label: "AssociationId", required: false, type: .string), + AWSShapeMember(label: "ExecutionId", required: false, type: .string), + AWSShapeMember(label: "ResourceCountByStatus", required: false, type: .string), + AWSShapeMember(label: "AssociationVersion", required: false, type: .string), + AWSShapeMember(label: "DetailedStatus", required: false, type: .string), + AWSShapeMember(label: "CreatedTime", required: false, type: .timestamp) + ] + /// The status of the association execution. + public let status: String? + /// The date of the last execution. + public let lastExecutionDate: TimeStamp? + /// The association ID. + public let associationId: String? + /// 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. + public let executionId: String? + /// An aggregate status of the resources in the execution based on the status type. + public let resourceCountByStatus: String? + /// The association version. + public let associationVersion: String? + /// Detailed status information about the execution. + public let detailedStatus: String? + /// The time the execution started. + public let createdTime: TimeStamp? + + public init(status: String? = nil, lastExecutionDate: TimeStamp? = nil, associationId: String? = nil, executionId: String? = nil, resourceCountByStatus: String? = nil, associationVersion: String? = nil, detailedStatus: String? = nil, createdTime: TimeStamp? = nil) { + self.status = status + self.lastExecutionDate = lastExecutionDate + self.associationId = associationId + self.executionId = executionId + self.resourceCountByStatus = resourceCountByStatus + self.associationVersion = associationVersion + self.detailedStatus = detailedStatus + self.createdTime = createdTime + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case lastExecutionDate = "LastExecutionDate" + case associationId = "AssociationId" + case executionId = "ExecutionId" + case resourceCountByStatus = "ResourceCountByStatus" + case associationVersion = "AssociationVersion" + case detailedStatus = "DetailedStatus" + case createdTime = "CreatedTime" + } + } + + public struct InventoryItemSchema: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Version", required: false, type: .string), + AWSShapeMember(label: "Attributes", required: true, type: .list), + AWSShapeMember(label: "DisplayName", required: false, type: .string), + AWSShapeMember(label: "TypeName", required: true, type: .string) + ] + /// The schema version for the inventory item. + public let version: String? + /// The schema attributes for inventory. This contains data type and attribute name. + public let attributes: [InventoryItemAttribute] + /// The alias name of the inventory type. The alias name is used for display purposes. + public let displayName: String? + /// 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. + public let typeName: String + + public init(version: String? = nil, attributes: [InventoryItemAttribute], displayName: String? = nil, typeName: String) { + self.version = version + self.attributes = attributes + self.displayName = displayName + self.typeName = typeName + } + + private enum CodingKeys: String, CodingKey { + case version = "Version" + case attributes = "Attributes" + case displayName = "DisplayName" + case typeName = "TypeName" + } + } + + public struct UpdateAssociationResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AssociationDescription", required: false, type: .structure) + ] + /// The description of the association that was updated. + public let associationDescription: AssociationDescription? + + public init(associationDescription: AssociationDescription? = nil) { + self.associationDescription = associationDescription + } + + private enum CodingKeys: String, CodingKey { + case associationDescription = "AssociationDescription" + } + } + + public struct DescribeInstanceInformationResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "InstanceInformationList", required: false, type: .list) + ] + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? + /// The instance information list. + public let instanceInformationList: [InstanceInformation]? + + public init(nextToken: String? = nil, instanceInformationList: [InstanceInformation]? = nil) { + self.nextToken = nextToken + self.instanceInformationList = instanceInformationList + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case instanceInformationList = "InstanceInformationList" + } + } + + public struct CloudWatchOutputConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CloudWatchOutputEnabled", required: false, type: .boolean), + AWSShapeMember(label: "CloudWatchLogGroupName", required: false, type: .string) + ] + /// Enables Systems Manager to send command output to CloudWatch Logs. + public let cloudWatchOutputEnabled: Bool? + /// 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. + public let cloudWatchLogGroupName: String? + + public init(cloudWatchOutputEnabled: Bool? = nil, cloudWatchLogGroupName: String? = nil) { + self.cloudWatchOutputEnabled = cloudWatchOutputEnabled + self.cloudWatchLogGroupName = cloudWatchLogGroupName + } + + private enum CodingKeys: String, CodingKey { + case cloudWatchOutputEnabled = "CloudWatchOutputEnabled" + case cloudWatchLogGroupName = "CloudWatchLogGroupName" + } + } + + public struct StartAutomationExecutionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxErrors", required: false, type: .string), + AWSShapeMember(label: "ClientToken", required: false, type: .string), + AWSShapeMember(label: "Parameters", required: false, type: .map), + AWSShapeMember(label: "TargetParameterName", required: false, type: .string), + AWSShapeMember(label: "DocumentName", required: true, type: .string), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string), + AWSShapeMember(label: "Mode", required: false, type: .enum), + AWSShapeMember(label: "Targets", required: false, type: .list), + AWSShapeMember(label: "MaxConcurrency", required: false, type: .string) + ] + /// 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. + public let maxErrors: String? + /// User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused. + public let clientToken: String? + /// A key-value map of execution parameters, which match the declared parameters in the Automation document. + public let parameters: [String: [String]]? + /// The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify Targets. + public let targetParameterName: String? + /// The name of the Automation document to use for this execution. + public let documentName: String + /// The version of the Automation document to use for this execution. + public let documentVersion: String? + /// The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto. + public let mode: ExecutionMode? + /// A key-value mapping to target resources. Required if you specify TargetParameterName. + public let targets: [Target]? + /// 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. + public let maxConcurrency: String? + + public init(maxErrors: String? = nil, clientToken: String? = nil, parameters: [String: [String]]? = nil, targetParameterName: String? = nil, documentName: String, documentVersion: String? = nil, mode: ExecutionMode? = nil, targets: [Target]? = nil, maxConcurrency: String? = nil) { + self.maxErrors = maxErrors + self.clientToken = clientToken + self.parameters = parameters + self.targetParameterName = targetParameterName + self.documentName = documentName + self.documentVersion = documentVersion + self.mode = mode + self.targets = targets + self.maxConcurrency = maxConcurrency + } + + private enum CodingKeys: String, CodingKey { + case maxErrors = "MaxErrors" + case clientToken = "ClientToken" + case parameters = "Parameters" + case targetParameterName = "TargetParameterName" + case documentName = "DocumentName" + case documentVersion = "DocumentVersion" + case mode = "Mode" + case targets = "Targets" + case maxConcurrency = "MaxConcurrency" + } + } + + public struct DescribePatchGroupStateResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstancesWithMissingPatches", required: false, type: .integer), + AWSShapeMember(label: "Instances", required: false, type: .integer), + AWSShapeMember(label: "InstancesWithNotApplicablePatches", required: false, type: .integer), + AWSShapeMember(label: "InstancesWithInstalledPatches", required: false, type: .integer), + AWSShapeMember(label: "InstancesWithFailedPatches", required: false, type: .integer), + AWSShapeMember(label: "InstancesWithInstalledOtherPatches", required: false, type: .integer) + ] + /// The number of instances with missing patches from the patch baseline. + public let instancesWithMissingPatches: Int32? + /// The number of instances in the patch group. + public let instances: Int32? + /// The number of instances with patches that aren't applicable. + public let instancesWithNotApplicablePatches: Int32? + /// The number of instances with installed patches. + public let instancesWithInstalledPatches: Int32? + /// The number of instances with patches from the patch baseline that failed to install. + public let instancesWithFailedPatches: Int32? + /// The number of instances with patches installed that aren't defined in the patch baseline. + public let instancesWithInstalledOtherPatches: Int32? + + public init(instancesWithMissingPatches: Int32? = nil, instances: Int32? = nil, instancesWithNotApplicablePatches: Int32? = nil, instancesWithInstalledPatches: Int32? = nil, instancesWithFailedPatches: Int32? = nil, instancesWithInstalledOtherPatches: Int32? = nil) { + self.instancesWithMissingPatches = instancesWithMissingPatches + self.instances = instances + self.instancesWithNotApplicablePatches = instancesWithNotApplicablePatches + self.instancesWithInstalledPatches = instancesWithInstalledPatches + self.instancesWithFailedPatches = instancesWithFailedPatches + self.instancesWithInstalledOtherPatches = instancesWithInstalledOtherPatches + } + + private enum CodingKeys: String, CodingKey { + case instancesWithMissingPatches = "InstancesWithMissingPatches" + case instances = "Instances" + case instancesWithNotApplicablePatches = "InstancesWithNotApplicablePatches" + case instancesWithInstalledPatches = "InstancesWithInstalledPatches" + case instancesWithFailedPatches = "InstancesWithFailedPatches" + case instancesWithInstalledOtherPatches = "InstancesWithInstalledOtherPatches" + } + } + + public struct MaintenanceWindowIdentity: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WindowId", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "Cutoff", required: false, type: .integer), + AWSShapeMember(label: "Duration", required: false, type: .integer), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Enabled", required: false, type: .boolean) + ] + /// The ID of the Maintenance Window. + public let windowId: String? + /// A description of the Maintenance Window. + public let description: String? + /// The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution. + public let cutoff: Int32? + /// The duration of the Maintenance Window in hours. + public let duration: Int32? + /// The name of the Maintenance Window. + public let name: String? + /// Whether the Maintenance Window is enabled. + public let enabled: Bool? + + public init(windowId: String? = nil, description: String? = nil, cutoff: Int32? = nil, duration: Int32? = nil, name: String? = nil, enabled: Bool? = nil) { + self.windowId = windowId + self.description = description + self.cutoff = cutoff + self.duration = duration + self.name = name + self.enabled = enabled + } + + private enum CodingKeys: String, CodingKey { + case windowId = "WindowId" + case description = "Description" + case cutoff = "Cutoff" + case duration = "Duration" + case name = "Name" + case enabled = "Enabled" + } + } + + public struct Tag: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Value", required: true, type: .string), + AWSShapeMember(label: "Key", required: true, type: .string) + ] + /// The value of the tag. + public let value: String + /// The name of the tag. + public let key: String + + public init(value: String, key: String) { + self.value = value + self.key = key + } + + private enum CodingKeys: String, CodingKey { + case value = "Value" + case key = "Key" + } + } + + public struct DeregisterManagedInstanceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", required: true, type: .string) + ] + /// The ID assigned to the managed instance when you registered it using the activation process. + public let instanceId: String + + public init(instanceId: String) { + self.instanceId = instanceId + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + } + } + + public struct AutomationExecutionFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Key", required: true, type: .enum), + AWSShapeMember(label: "Values", required: true, type: .list) + ] + /// One or more keys to limit the results. Valid filter keys include the following: DocumentNamePrefix, ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction, StartTimeBefore, StartTimeAfter. + public let key: AutomationExecutionFilterKey + /// The values used to limit the execution information associated with the filter's key. + public let values: [String] + + public init(key: AutomationExecutionFilterKey, values: [String]) { + self.key = key + self.values = values + } + + private enum CodingKeys: String, CodingKey { + case key = "Key" + case values = "Values" + } + } + + public enum InventoryQueryOperatorType: String, CustomStringConvertible, Codable { + case equal = "Equal" + case notequal = "NotEqual" + case beginwith = "BeginWith" + case lessthan = "LessThan" + case greaterthan = "GreaterThan" + public var description: String { return self.rawValue } + } + + public enum ComplianceSeverity: String, CustomStringConvertible, Codable { + case critical = "CRITICAL" + case high = "HIGH" + case medium = "MEDIUM" + case low = "LOW" + case informational = "INFORMATIONAL" + case unspecified = "UNSPECIFIED" + public var description: String { return self.rawValue } + } + + public struct MaintenanceWindowTask: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WindowId", required: false, type: .string), + AWSShapeMember(label: "ServiceRoleArn", required: false, type: .string), + AWSShapeMember(label: "Priority", required: false, type: .integer), + AWSShapeMember(label: "Targets", required: false, type: .list), + AWSShapeMember(label: "LoggingInfo", required: false, type: .structure), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "MaxErrors", required: false, type: .string), + AWSShapeMember(label: "TaskArn", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "TaskParameters", required: false, type: .map), + AWSShapeMember(label: "WindowTaskId", required: false, type: .string), + AWSShapeMember(label: "MaxConcurrency", required: false, type: .string), + AWSShapeMember(label: "Type", required: false, type: .enum) + ] + /// The Maintenance Window ID where the task is registered. + public let windowId: String? + /// The role that should be assumed when executing the task + public let serviceRoleArn: String? + /// 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. + public let priority: Int32? + /// 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>. + public let targets: [Target]? + /// 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. + public let loggingInfo: LoggingInfo? + /// A description of the task. + public let description: String? + /// The maximum number of errors allowed before this task stops being scheduled. + public let maxErrors: String? + /// 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. + public let taskArn: String? + /// The task name. + public let name: String? + /// 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. + public let taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? + /// The task ID. + public let windowTaskId: String? + /// The maximum number of targets this task can be run for in parallel. + public let maxConcurrency: String? + /// The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, LAMBDA, or STEP_FUNCTION. + public let `type`: MaintenanceWindowTaskType? + + public init(windowId: String? = nil, serviceRoleArn: String? = nil, priority: Int32? = nil, targets: [Target]? = nil, loggingInfo: LoggingInfo? = nil, description: String? = nil, maxErrors: String? = nil, taskArn: String? = nil, name: String? = nil, taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? = nil, windowTaskId: String? = nil, maxConcurrency: String? = nil, type: MaintenanceWindowTaskType? = nil) { + self.windowId = windowId + self.serviceRoleArn = serviceRoleArn + self.priority = priority + self.targets = targets + self.loggingInfo = loggingInfo + self.description = description + self.maxErrors = maxErrors + self.taskArn = taskArn + self.name = name + self.taskParameters = taskParameters + self.windowTaskId = windowTaskId + self.maxConcurrency = maxConcurrency + self.`type` = `type` + } + + private enum CodingKeys: String, CodingKey { + case windowId = "WindowId" + case serviceRoleArn = "ServiceRoleArn" + case priority = "Priority" + case targets = "Targets" + case loggingInfo = "LoggingInfo" + case description = "Description" + case maxErrors = "MaxErrors" + case taskArn = "TaskArn" + case name = "Name" + case taskParameters = "TaskParameters" + case windowTaskId = "WindowTaskId" + case maxConcurrency = "MaxConcurrency" + case `type` = "Type" + } + } + + public struct DescribeMaintenanceWindowExecutionTaskInvocationsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WindowExecutionTaskInvocationIdentities", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// Information about the task invocation results per invocation. + public let windowExecutionTaskInvocationIdentities: [MaintenanceWindowExecutionTaskInvocationIdentity]? + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? + + public init(windowExecutionTaskInvocationIdentities: [MaintenanceWindowExecutionTaskInvocationIdentity]? = nil, nextToken: String? = nil) { + self.windowExecutionTaskInvocationIdentities = windowExecutionTaskInvocationIdentities + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case windowExecutionTaskInvocationIdentities = "WindowExecutionTaskInvocationIdentities" + case nextToken = "NextToken" + } + } + + public struct MaintenanceWindowAutomationParameters: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Parameters", required: false, type: .map), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string) + ] + /// 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. + public let parameters: [String: [String]]? + /// The version of an Automation document to use during task execution. + public let documentVersion: String? + + public init(parameters: [String: [String]]? = nil, documentVersion: String? = nil) { + self.parameters = parameters + self.documentVersion = documentVersion + } + + private enum CodingKeys: String, CodingKey { + case parameters = "Parameters" + case documentVersion = "DocumentVersion" + } + } + + public struct DescribeAssociationExecutionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "AssociationId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// Filters for the request. You can specify the following filters and values. ExecutionId (EQUAL) Status (EQUAL) CreatedTime (EQUAL, GREATER_THAN, LESS_THAN) + public let filters: [AssociationExecutionFilter]? + /// The association ID for which you want to view execution history details. + public let associationId: String + /// A token to start the list. Use this token to get the next set of results. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(filters: [AssociationExecutionFilter]? = nil, associationId: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.filters = filters + self.associationId = associationId + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case filters = "Filters" + case associationId = "AssociationId" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct RemoveTagsFromResourceResult: AWSShape { + + } + + public struct LabelParameterVersionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ParameterVersion", required: false, type: .long), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Labels", required: true, type: .list) + ] + /// 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.) + public let parameterVersion: Int64? + /// The parameter name on which you want to attach one or more labels. + public let name: String + /// One or more labels to attach to the specified parameter version. + public let labels: [String] + + public init(parameterVersion: Int64? = nil, name: String, labels: [String]) { + self.parameterVersion = parameterVersion + self.name = name + self.labels = labels + } + + private enum CodingKeys: String, CodingKey { + case parameterVersion = "ParameterVersion" + case name = "Name" + case labels = "Labels" + } + } + + public struct DescribePatchGroupsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// One or more filters. Use a filter to return a more specific list of results. + public let filters: [PatchOrchestratorFilter]? + /// The maximum number of patch groups to return (per page). + public let maxResults: Int32? + + public init(nextToken: String? = nil, filters: [PatchOrchestratorFilter]? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.filters = filters + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case filters = "Filters" + case maxResults = "MaxResults" + } + } + + public struct MaintenanceWindowRunCommandParameters: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ServiceRoleArn", required: false, type: .string), + AWSShapeMember(label: "Parameters", required: false, type: .map), + AWSShapeMember(label: "OutputS3BucketName", required: false, type: .string), + AWSShapeMember(label: "NotificationConfig", required: false, type: .structure), + AWSShapeMember(label: "Comment", required: false, type: .string), + AWSShapeMember(label: "DocumentHash", required: false, type: .string), + AWSShapeMember(label: "OutputS3KeyPrefix", required: false, type: .string), + AWSShapeMember(label: "DocumentHashType", required: false, type: .enum), + AWSShapeMember(label: "TimeoutSeconds", required: false, type: .integer) + ] + /// The IAM service role to assume during task execution. + public let serviceRoleArn: String? + /// The parameters for the RUN_COMMAND task execution. + public let parameters: [String: [String]]? + /// The name of the Amazon S3 bucket. + public let outputS3BucketName: String? + /// Configurations for sending notifications about command status changes on a per-instance basis. + public let notificationConfig: NotificationConfig? + /// Information about the command(s) to execute. + public let comment: String? + /// The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes have been deprecated. + public let documentHash: String? + /// The Amazon S3 bucket subfolder. + public let outputS3KeyPrefix: String? + /// SHA-256 or SHA-1. SHA-1 hashes have been deprecated. + public let documentHashType: DocumentHashType? + /// If this time is reached and the command has not already started executing, it doesn not execute. + public let timeoutSeconds: Int32? + + public init(serviceRoleArn: String? = nil, parameters: [String: [String]]? = nil, outputS3BucketName: String? = nil, notificationConfig: NotificationConfig? = nil, comment: String? = nil, documentHash: String? = nil, outputS3KeyPrefix: String? = nil, documentHashType: DocumentHashType? = nil, timeoutSeconds: Int32? = nil) { + self.serviceRoleArn = serviceRoleArn + self.parameters = parameters + self.outputS3BucketName = outputS3BucketName + self.notificationConfig = notificationConfig + self.comment = comment + self.documentHash = documentHash + self.outputS3KeyPrefix = outputS3KeyPrefix + self.documentHashType = documentHashType + self.timeoutSeconds = timeoutSeconds + } + + private enum CodingKeys: String, CodingKey { + case serviceRoleArn = "ServiceRoleArn" + case parameters = "Parameters" + case outputS3BucketName = "OutputS3BucketName" + case notificationConfig = "NotificationConfig" + case comment = "Comment" + case documentHash = "DocumentHash" + case outputS3KeyPrefix = "OutputS3KeyPrefix" + case documentHashType = "DocumentHashType" + case timeoutSeconds = "TimeoutSeconds" + } + } + + public struct GetPatchBaselineForPatchGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OperatingSystem", required: false, type: .enum), + AWSShapeMember(label: "PatchGroup", required: true, type: .string) + ] + /// Returns he operating system rule specified for patch groups using the patch baseline. + public let operatingSystem: OperatingSystem? + /// The name of the patch group whose patch baseline should be retrieved. + public let patchGroup: String + + public init(operatingSystem: OperatingSystem? = nil, patchGroup: String) { + self.operatingSystem = operatingSystem + self.patchGroup = patchGroup + } + + private enum CodingKeys: String, CodingKey { + case operatingSystem = "OperatingSystem" + case patchGroup = "PatchGroup" + } + } + + public struct DescribeActivationsFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FilterKey", required: false, type: .enum), + AWSShapeMember(label: "FilterValues", required: false, type: .list) + ] + /// The name of the filter. + public let filterKey: DescribeActivationsFilterKeys? + /// The filter values. + public let filterValues: [String]? + + public init(filterKey: DescribeActivationsFilterKeys? = nil, filterValues: [String]? = nil) { + self.filterKey = filterKey + self.filterValues = filterValues + } + + private enum CodingKeys: String, CodingKey { + case filterKey = "FilterKey" + case filterValues = "FilterValues" + } + } + + public struct ListTagsForResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceId", required: true, type: .string), + AWSShapeMember(label: "ResourceType", required: true, type: .enum) + ] + /// The resource ID for which you want to see a list of tags. + public let resourceId: String + /// Returns a list of tags for a specific resource type. + public let resourceType: ResourceTypeForTagging + + public init(resourceId: String, resourceType: ResourceTypeForTagging) { + self.resourceId = resourceId + self.resourceType = resourceType + } + + private enum CodingKeys: String, CodingKey { + case resourceId = "ResourceId" + case resourceType = "ResourceType" + } + } + + public struct Parameter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SourceResult", required: false, type: .string), + AWSShapeMember(label: "Selector", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Version", required: false, type: .long), + AWSShapeMember(label: "LastModifiedDate", required: false, type: .timestamp), + AWSShapeMember(label: "ARN", required: false, type: .string), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Value", required: false, type: .string) + ] + /// Applies to parameters that reference information in other AWS services. SourceResult is the raw result or response from the source. + public let sourceResult: String? + /// 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 + public let selector: String? + /// The name of the parameter. + public let name: String? + /// The parameter version. + public let version: Int64? + /// Date the parameter was last changed or updated and the parameter version was created. + public let lastModifiedDate: TimeStamp? + /// The Amazon Resource Name (ARN) of the parameter. + public let arn: String? + /// The type of parameter. Valid values include the following: String, String list, Secure string. + public let `type`: ParameterType? + /// The parameter value. + public let value: String? + + public init(sourceResult: String? = nil, selector: String? = nil, name: String? = nil, version: Int64? = nil, lastModifiedDate: TimeStamp? = nil, arn: String? = nil, type: ParameterType? = nil, value: String? = nil) { + self.sourceResult = sourceResult + self.selector = selector + self.name = name + self.version = version + self.lastModifiedDate = lastModifiedDate + self.arn = arn + self.`type` = `type` + self.value = value + } + + private enum CodingKeys: String, CodingKey { + case sourceResult = "SourceResult" + case selector = "Selector" + case name = "Name" + case version = "Version" + case lastModifiedDate = "LastModifiedDate" + case arn = "ARN" + case `type` = "Type" + case value = "Value" + } + } + + public struct GetAutomationExecutionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AutomationExecutionId", required: true, type: .string) + ] + /// 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. + public let automationExecutionId: String + + public init(automationExecutionId: String) { + self.automationExecutionId = automationExecutionId + } + + private enum CodingKeys: String, CodingKey { + case automationExecutionId = "AutomationExecutionId" + } + } + + public struct DescribeMaintenanceWindowExecutionTasksResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WindowExecutionTaskIdentities", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// Information about the task executions. + public let windowExecutionTaskIdentities: [MaintenanceWindowExecutionTaskIdentity]? + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? + + public init(windowExecutionTaskIdentities: [MaintenanceWindowExecutionTaskIdentity]? = nil, nextToken: String? = nil) { + self.windowExecutionTaskIdentities = windowExecutionTaskIdentities + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case windowExecutionTaskIdentities = "WindowExecutionTaskIdentities" + case nextToken = "NextToken" + } + } + + public struct DescribeInstanceAssociationsStatusRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "InstanceId", required: true, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// The instance IDs for which you want association status information. + public let instanceId: String + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, instanceId: String, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.instanceId = instanceId + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case instanceId = "InstanceId" + case maxResults = "MaxResults" + } + } + + public struct AssociationExecutionFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", required: true, type: .enum), + AWSShapeMember(label: "Value", required: true, type: .string), + AWSShapeMember(label: "Key", required: true, type: .enum) + ] + /// The filter type specified in the request. + public let `type`: AssociationFilterOperatorType + /// The value specified for the key. + public let value: String + /// The key value used in the request. + public let key: AssociationExecutionFilterKey + + public init(type: AssociationFilterOperatorType, value: String, key: AssociationExecutionFilterKey) { + self.`type` = `type` + self.value = value + self.key = key + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + case value = "Value" + case key = "Key" + } + } + + public struct PutParameterResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Version", required: false, type: .long) + ] + /// 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. + public let version: Int64? + + public init(version: Int64? = nil) { + self.version = version + } + + private enum CodingKeys: String, CodingKey { + case version = "Version" + } + } + + public struct ListInventoryEntriesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "InstanceId", required: true, type: .string), + AWSShapeMember(label: "TypeName", required: true, type: .string) + ] + /// 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. + public let maxResults: Int32? + /// One or more filters. Use a filter to return a more specific list of results. + public let filters: [InventoryFilter]? + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// The instance ID for which you want inventory information. + public let instanceId: String + /// The type of inventory item for which you want information. + public let typeName: String + + public init(maxResults: Int32? = nil, filters: [InventoryFilter]? = nil, nextToken: String? = nil, instanceId: String, typeName: String) { + self.maxResults = maxResults + self.filters = filters + self.nextToken = nextToken + self.instanceId = instanceId + self.typeName = typeName + } + + private enum CodingKeys: String, CodingKey { + case maxResults = "MaxResults" + case filters = "Filters" + case nextToken = "NextToken" + case instanceId = "InstanceId" + case typeName = "TypeName" + } + } + + public enum MaintenanceWindowExecutionStatus: String, CustomStringConvertible, Codable { + case pending = "PENDING" + case inProgress = "IN_PROGRESS" + case success = "SUCCESS" + case failed = "FAILED" + case timedOut = "TIMED_OUT" + case cancelling = "CANCELLING" + case cancelled = "CANCELLED" + case skippedOverlapping = "SKIPPED_OVERLAPPING" + public var description: String { return self.rawValue } + } + + public struct GetCommandInvocationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CommandId", required: true, type: .string), + AWSShapeMember(label: "PluginName", required: false, type: .string), + AWSShapeMember(label: "InstanceId", required: true, type: .string) + ] + /// (Required) The parent command ID of the invocation plugin. + public let commandId: String + /// (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. + public let pluginName: String? + /// (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. + public let instanceId: String + + public init(commandId: String, pluginName: String? = nil, instanceId: String) { + self.commandId = commandId + self.pluginName = pluginName + self.instanceId = instanceId + } + + private enum CodingKeys: String, CodingKey { + case commandId = "CommandId" + case pluginName = "PluginName" + case instanceId = "InstanceId" + } + } + + public struct ListResourceComplianceSummariesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// A token to start the list. Use this token to get the next set of results. + public let nextToken: String? + /// One or more filters. Use a filter to return a more specific list of results. + public let filters: [ComplianceStringFilter]? + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, filters: [ComplianceStringFilter]? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.filters = filters + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case filters = "Filters" + case maxResults = "MaxResults" + } + } + + public struct DeleteAssociationResult: AWSShape { + + } + + public struct ListResourceDataSyncRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// A token to start the list. Use this token to get the next set of results. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct UpdateDocumentDefaultVersionResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Description", required: false, type: .structure) + ] + /// The description of a custom document that you want to set as the default version. + public let description: DocumentDefaultVersionDescription? + + public init(description: DocumentDefaultVersionDescription? = nil) { + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case description = "Description" + } + } + + public enum PingStatus: String, CustomStringConvertible, Codable { + case online = "Online" + case connectionlost = "ConnectionLost" + case inactive = "Inactive" + public var description: String { return self.rawValue } + } + + public enum AssociationExecutionTargetsFilterKey: String, CustomStringConvertible, Codable { + case status = "Status" + case resourceid = "ResourceId" + case resourcetype = "ResourceType" + public var description: String { return self.rawValue } + } + + public struct InstancePatchState: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstalledOtherCount", required: false, type: .integer), + AWSShapeMember(label: "FailedCount", required: false, type: .integer), + AWSShapeMember(label: "OperationEndTime", required: true, type: .timestamp), + AWSShapeMember(label: "PatchGroup", required: true, type: .string), + AWSShapeMember(label: "BaselineId", required: true, type: .string), + AWSShapeMember(label: "MissingCount", required: false, type: .integer), + AWSShapeMember(label: "InstanceId", required: true, type: .string), + AWSShapeMember(label: "Operation", required: true, type: .enum), + AWSShapeMember(label: "NotApplicableCount", required: false, type: .integer), + AWSShapeMember(label: "SnapshotId", required: false, type: .string), + AWSShapeMember(label: "InstalledCount", required: false, type: .integer), + AWSShapeMember(label: "OperationStartTime", required: true, type: .timestamp), + AWSShapeMember(label: "OwnerInformation", required: false, type: .string) + ] + /// The number of patches not specified in the patch baseline that are installed on the instance. + public let installedOtherCount: Int32? + /// The number of patches from the patch baseline that were attempted to be installed during the last patching operation, but failed to install. + public let failedCount: Int32? + /// The time the most recent patching operation completed on the instance. + public let operationEndTime: TimeStamp + /// The name of the patch group the managed instance belongs to. + public let patchGroup: String + /// The ID of the patch baseline used to patch the instance. + public let baselineId: String + /// The number of patches from the patch baseline that are applicable for the instance but aren't currently installed. + public let missingCount: Int32? + /// The ID of the managed instance the high-level patch compliance information was collected for. + public let instanceId: String + /// The type of patching operation that was performed: SCAN (assess patch compliance state) or INSTALL (install missing patches). + public let operation: PatchOperationType + /// The number of patches from the patch baseline that aren't applicable for the instance and hence aren't installed on the instance. + public let notApplicableCount: Int32? + /// The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected. + public let snapshotId: String? + /// The number of patches from the patch baseline that are installed on the instance. + public let installedCount: Int32? + /// The time the most recent patching operation was started on the instance. + public let operationStartTime: TimeStamp + /// Placeholder information. This field will always be empty in the current release of the service. + public let ownerInformation: String? + + public init(installedOtherCount: Int32? = nil, failedCount: Int32? = nil, operationEndTime: TimeStamp, patchGroup: String, baselineId: String, missingCount: Int32? = nil, instanceId: String, operation: PatchOperationType, notApplicableCount: Int32? = nil, snapshotId: String? = nil, installedCount: Int32? = nil, operationStartTime: TimeStamp, ownerInformation: String? = nil) { + self.installedOtherCount = installedOtherCount + self.failedCount = failedCount + self.operationEndTime = operationEndTime + self.patchGroup = patchGroup + self.baselineId = baselineId + self.missingCount = missingCount + self.instanceId = instanceId + self.operation = operation + self.notApplicableCount = notApplicableCount + self.snapshotId = snapshotId + self.installedCount = installedCount + self.operationStartTime = operationStartTime + self.ownerInformation = ownerInformation + } + + private enum CodingKeys: String, CodingKey { + case installedOtherCount = "InstalledOtherCount" + case failedCount = "FailedCount" + case operationEndTime = "OperationEndTime" + case patchGroup = "PatchGroup" + case baselineId = "BaselineId" + case missingCount = "MissingCount" + case instanceId = "InstanceId" + case operation = "Operation" + case notApplicableCount = "NotApplicableCount" + case snapshotId = "SnapshotId" + case installedCount = "InstalledCount" + case operationStartTime = "OperationStartTime" + case ownerInformation = "OwnerInformation" + } + } + + public enum DocumentHashType: String, CustomStringConvertible, Codable { + case sha256 = "Sha256" + case sha1 = "Sha1" + public var description: String { return self.rawValue } + } + + public enum ParameterType: String, CustomStringConvertible, Codable { + case string = "String" + case stringlist = "StringList" + case securestring = "SecureString" + public var description: String { return self.rawValue } + } + + public struct PutInventoryResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Fault", required: false, type: .enum), - AWSShapeMember(label: "Entry", required: false, type: .structure), AWSShapeMember(label: "Message", required: false, type: .string) ] - /// The source of the failure. - public let fault: Fault? - /// The association. - public let entry: CreateAssociationBatchRequestEntry? - /// A description of the failure. - public let message: String? + /// Information about the request. + public let message: String? + + public init(message: String? = nil) { + self.message = message + } + + private enum CodingKeys: String, CodingKey { + case message = "Message" + } + } + + public struct ListTagsForResourceResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TagList", required: false, type: .list) + ] + /// A list of tags. + public let tagList: [Tag]? + + public init(tagList: [Tag]? = nil) { + self.tagList = tagList + } + + private enum CodingKeys: String, CodingKey { + case tagList = "TagList" + } + } + + public struct StepExecution: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TimeoutSeconds", required: false, type: .long), + AWSShapeMember(label: "OnFailure", required: false, type: .string), + AWSShapeMember(label: "Inputs", required: false, type: .map), + AWSShapeMember(label: "ExecutionStartTime", required: false, type: .timestamp), + AWSShapeMember(label: "Outputs", required: false, type: .map), + AWSShapeMember(label: "IsCritical", required: false, type: .boolean), + AWSShapeMember(label: "MaxAttempts", required: false, type: .integer), + AWSShapeMember(label: "ExecutionEndTime", required: false, type: .timestamp), + AWSShapeMember(label: "StepName", required: false, type: .string), + AWSShapeMember(label: "Action", required: false, type: .string), + AWSShapeMember(label: "IsEnd", required: false, type: .boolean), + AWSShapeMember(label: "ValidNextSteps", required: false, type: .list), + AWSShapeMember(label: "NextStep", required: false, type: .string), + AWSShapeMember(label: "FailureDetails", required: false, type: .structure), + AWSShapeMember(label: "OverriddenParameters", required: false, type: .map), + AWSShapeMember(label: "StepExecutionId", required: false, type: .string), + AWSShapeMember(label: "ResponseCode", required: false, type: .string), + AWSShapeMember(label: "FailureMessage", required: false, type: .string), + AWSShapeMember(label: "StepStatus", required: false, type: .enum), + AWSShapeMember(label: "Response", required: false, type: .string) + ] + /// The timeout seconds of the step. + public let timeoutSeconds: Int64? + /// The action to take if the step fails. The default value is Abort. + public let onFailure: String? + /// Fully-resolved values passed into the step before execution. + public let inputs: [String: String]? + /// 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. + public let executionStartTime: TimeStamp? + /// Returned values from the execution of the step. + public let outputs: [String: [String]]? + /// The flag which can be used to help decide whether the failure of current step leads to the Automation failure. + public let isCritical: Bool? + /// The maximum number of tries to run the action of the step. The default value is 1. + public let maxAttempts: Int32? + /// 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. + public let executionEndTime: TimeStamp? + /// The name of this execution step. + public let stepName: String? + /// The action this step performs. The action determines the behavior of the step. + public let action: String? + /// The flag which can be used to end automation no matter whether the step succeeds or fails. + public let isEnd: Bool? + /// 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. + public let validNextSteps: [String]? + /// The next step after the step succeeds. + public let nextStep: String? + /// Information about the Automation failure. + public let failureDetails: FailureDetails? + /// A user-specified list of parameters to override when executing a step. + public let overriddenParameters: [String: [String]]? + /// The unique ID of a step execution. + public let stepExecutionId: String? + /// The response code returned by the execution of the step. + public let responseCode: String? + /// If a step failed, this message explains why the execution failed. + public let failureMessage: String? + /// The execution status for this step. Valid values include: Pending, InProgress, Success, Cancelled, Failed, and TimedOut. + public let stepStatus: AutomationExecutionStatus? + /// A message associated with the response code for an execution. + public let response: String? + + public init(timeoutSeconds: Int64? = nil, onFailure: String? = nil, inputs: [String: String]? = nil, executionStartTime: TimeStamp? = nil, outputs: [String: [String]]? = nil, isCritical: Bool? = nil, maxAttempts: Int32? = nil, executionEndTime: TimeStamp? = nil, stepName: String? = nil, action: String? = nil, isEnd: Bool? = nil, validNextSteps: [String]? = nil, nextStep: String? = nil, failureDetails: FailureDetails? = nil, overriddenParameters: [String: [String]]? = nil, stepExecutionId: String? = nil, responseCode: String? = nil, failureMessage: String? = nil, stepStatus: AutomationExecutionStatus? = nil, response: String? = nil) { + self.timeoutSeconds = timeoutSeconds + self.onFailure = onFailure + self.inputs = inputs + self.executionStartTime = executionStartTime + self.outputs = outputs + self.isCritical = isCritical + self.maxAttempts = maxAttempts + self.executionEndTime = executionEndTime + self.stepName = stepName + self.action = action + self.isEnd = isEnd + self.validNextSteps = validNextSteps + self.nextStep = nextStep + self.failureDetails = failureDetails + self.overriddenParameters = overriddenParameters + self.stepExecutionId = stepExecutionId + self.responseCode = responseCode + self.failureMessage = failureMessage + self.stepStatus = stepStatus + self.response = response + } + + private enum CodingKeys: String, CodingKey { + case timeoutSeconds = "TimeoutSeconds" + case onFailure = "OnFailure" + case inputs = "Inputs" + case executionStartTime = "ExecutionStartTime" + case outputs = "Outputs" + case isCritical = "IsCritical" + case maxAttempts = "MaxAttempts" + case executionEndTime = "ExecutionEndTime" + case stepName = "StepName" + case action = "Action" + case isEnd = "IsEnd" + case validNextSteps = "ValidNextSteps" + case nextStep = "NextStep" + case failureDetails = "FailureDetails" + case overriddenParameters = "OverriddenParameters" + case stepExecutionId = "StepExecutionId" + case responseCode = "ResponseCode" + case failureMessage = "FailureMessage" + case stepStatus = "StepStatus" + case response = "Response" + } + } + + public struct DescribeAvailablePatchesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// Filters used to scope down the returned patches. + public let filters: [PatchOrchestratorFilter]? + /// The maximum number of patches to return (per page). + public let maxResults: Int32? + + public init(nextToken: String? = nil, filters: [PatchOrchestratorFilter]? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.filters = filters + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case filters = "Filters" + case maxResults = "MaxResults" + } + } + + public struct InventoryDeletionSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TotalCount", required: false, type: .integer), + AWSShapeMember(label: "RemainingCount", required: false, type: .integer), + AWSShapeMember(label: "SummaryItems", required: false, type: .list) + ] + /// The total number of items to delete. This count does not change during the delete operation. + public let totalCount: Int32? + /// Remaining number of items to delete. + public let remainingCount: Int32? + /// A list of counts and versions for deleted items. + public let summaryItems: [InventoryDeletionSummaryItem]? + + public init(totalCount: Int32? = nil, remainingCount: Int32? = nil, summaryItems: [InventoryDeletionSummaryItem]? = nil) { + self.totalCount = totalCount + self.remainingCount = remainingCount + self.summaryItems = summaryItems + } + + private enum CodingKeys: String, CodingKey { + case totalCount = "TotalCount" + case remainingCount = "RemainingCount" + case summaryItems = "SummaryItems" + } + } + + public struct CreateDocumentResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DocumentDescription", required: false, type: .structure) + ] + /// Information about the Systems Manager document. + public let documentDescription: DocumentDescription? + + public init(documentDescription: DocumentDescription? = nil) { + self.documentDescription = documentDescription + } + + private enum CodingKeys: String, CodingKey { + case documentDescription = "DocumentDescription" + } + } + + public struct DescribeMaintenanceWindowExecutionsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WindowExecutions", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// Information about the Maintenance Windows execution. + public let windowExecutions: [MaintenanceWindowExecution]? + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? + + public init(windowExecutions: [MaintenanceWindowExecution]? = nil, nextToken: String? = nil) { + self.windowExecutions = windowExecutions + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case windowExecutions = "WindowExecutions" + case nextToken = "NextToken" + } + } + + public struct CreateAssociationResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AssociationDescription", required: false, type: .structure) + ] + /// Information about the association. + public let associationDescription: AssociationDescription? + + public init(associationDescription: AssociationDescription? = nil) { + self.associationDescription = associationDescription + } + + private enum CodingKeys: String, CodingKey { + case associationDescription = "AssociationDescription" + } + } + + public struct UpdateMaintenanceWindowTaskResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WindowId", required: false, type: .string), + AWSShapeMember(label: "TaskInvocationParameters", required: false, type: .structure), + AWSShapeMember(label: "ServiceRoleArn", required: false, type: .string), + AWSShapeMember(label: "Priority", required: false, type: .integer), + AWSShapeMember(label: "Targets", required: false, type: .list), + AWSShapeMember(label: "LoggingInfo", required: false, type: .structure), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "MaxErrors", required: false, type: .string), + AWSShapeMember(label: "TaskArn", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "TaskParameters", required: false, type: .map), + AWSShapeMember(label: "WindowTaskId", required: false, type: .string), + AWSShapeMember(label: "MaxConcurrency", required: false, type: .string) + ] + /// The ID of the Maintenance Window that was updated. + public let windowId: String? + /// The updated parameter values. + public let taskInvocationParameters: MaintenanceWindowTaskInvocationParameters? + /// The updated service role ARN value. + public let serviceRoleArn: String? + /// The updated priority value. + public let priority: Int32? + /// The updated target values. + public let targets: [Target]? + /// 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. + public let loggingInfo: LoggingInfo? + /// The updated task description. + public let description: String? + /// The updated MaxErrors value. + public let maxErrors: String? + /// The updated task ARN value. + public let taskArn: String? + /// The updated task name. + public let name: String? + /// 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. + public let taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? + /// The task ID of the Maintenance Window that was updated. + public let windowTaskId: String? + /// The updated MaxConcurrency value. + public let maxConcurrency: String? + + public init(windowId: String? = nil, taskInvocationParameters: MaintenanceWindowTaskInvocationParameters? = nil, serviceRoleArn: String? = nil, priority: Int32? = nil, targets: [Target]? = nil, loggingInfo: LoggingInfo? = nil, description: String? = nil, maxErrors: String? = nil, taskArn: String? = nil, name: String? = nil, taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? = nil, windowTaskId: String? = nil, maxConcurrency: String? = nil) { + self.windowId = windowId + self.taskInvocationParameters = taskInvocationParameters + self.serviceRoleArn = serviceRoleArn + self.priority = priority + self.targets = targets + self.loggingInfo = loggingInfo + self.description = description + self.maxErrors = maxErrors + self.taskArn = taskArn + self.name = name + self.taskParameters = taskParameters + self.windowTaskId = windowTaskId + self.maxConcurrency = maxConcurrency + } + + private enum CodingKeys: String, CodingKey { + case windowId = "WindowId" + case taskInvocationParameters = "TaskInvocationParameters" + case serviceRoleArn = "ServiceRoleArn" + case priority = "Priority" + case targets = "Targets" + case loggingInfo = "LoggingInfo" + case description = "Description" + case maxErrors = "MaxErrors" + case taskArn = "TaskArn" + case name = "Name" + case taskParameters = "TaskParameters" + case windowTaskId = "WindowTaskId" + case maxConcurrency = "MaxConcurrency" + } + } + + public struct DescribeParametersRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ParameterFilters", required: false, type: .list), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// Filters to limit the request results. + public let parameterFilters: [ParameterStringFilter]? + /// One or more filters. Use a filter to return a more specific list of results. + public let filters: [ParametersFilter]? + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(parameterFilters: [ParameterStringFilter]? = nil, filters: [ParametersFilter]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.parameterFilters = parameterFilters + self.filters = filters + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case parameterFilters = "ParameterFilters" + case filters = "Filters" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct InstancePatchStateFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", required: true, type: .enum), + AWSShapeMember(label: "Key", required: true, type: .string), + AWSShapeMember(label: "Values", required: true, type: .list) + ] + /// The type of comparison that should be performed for the value: Equal, NotEqual, LessThan or GreaterThan. + public let `type`: InstancePatchStateOperatorType + /// The key for the filter. Supported values are FailedCount, InstalledCount, InstalledOtherCount, MissingCount and NotApplicableCount. + public let key: String + /// The value for the filter, must be an integer greater than or equal to 0. + public let values: [String] + + public init(type: InstancePatchStateOperatorType, key: String, values: [String]) { + self.`type` = `type` + self.key = key + self.values = values + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + case key = "Key" + case values = "Values" + } + } + + public struct UpdateManagedInstanceRoleRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InstanceId", required: true, type: .string), + AWSShapeMember(label: "IamRole", required: true, type: .string) + ] + /// The ID of the managed instance where you want to update the role. + public let instanceId: String + /// The IAM role you want to assign or change. + public let iamRole: String + + public init(instanceId: String, iamRole: String) { + self.instanceId = instanceId + self.iamRole = iamRole + } + + private enum CodingKeys: String, CodingKey { + case instanceId = "InstanceId" + case iamRole = "IamRole" + } + } + + public enum PatchDeploymentStatus: String, CustomStringConvertible, Codable { + case approved = "APPROVED" + case pendingApproval = "PENDING_APPROVAL" + case explicitApproved = "EXPLICIT_APPROVED" + case explicitRejected = "EXPLICIT_REJECTED" + public var description: String { return self.rawValue } + } + + public struct DeregisterPatchBaselineForPatchGroupResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BaselineId", required: false, type: .string), + AWSShapeMember(label: "PatchGroup", required: false, type: .string) + ] + /// The ID of the patch baseline the patch group was deregistered from. + public let baselineId: String? + /// The name of the patch group deregistered from the patch baseline. + public let patchGroup: String? + + public init(baselineId: String? = nil, patchGroup: String? = nil) { + self.baselineId = baselineId + self.patchGroup = patchGroup + } + + private enum CodingKeys: String, CodingKey { + case baselineId = "BaselineId" + case patchGroup = "PatchGroup" + } + } + + public struct ComplianceExecutionSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ExecutionTime", required: true, type: .timestamp), + AWSShapeMember(label: "ExecutionType", required: false, type: .string), + AWSShapeMember(label: "ExecutionId", required: false, type: .string) + ] + /// The time the execution ran as a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'. + public let executionTime: TimeStamp + /// The type of execution. For example, Command is a valid execution type. + public let executionType: String? + /// 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. + public let executionId: String? + + public init(executionTime: TimeStamp, executionType: String? = nil, executionId: String? = nil) { + self.executionTime = executionTime + self.executionType = executionType + self.executionId = executionId + } + + private enum CodingKeys: String, CodingKey { + case executionTime = "ExecutionTime" + case executionType = "ExecutionType" + case executionId = "ExecutionId" + } + } + + public struct UpdateAssociationStatusResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AssociationDescription", required: false, type: .structure) + ] + /// Information about the association. + public let associationDescription: AssociationDescription? + + public init(associationDescription: AssociationDescription? = nil) { + self.associationDescription = associationDescription + } + + private enum CodingKeys: String, CodingKey { + case associationDescription = "AssociationDescription" + } + } + + public struct InstanceAssociationStatusInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "AssociationId", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "InstanceId", required: false, type: .string), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string), + AWSShapeMember(label: "AssociationVersion", required: false, type: .string), + AWSShapeMember(label: "ExecutionDate", required: false, type: .timestamp), + AWSShapeMember(label: "ExecutionSummary", required: false, type: .string), + AWSShapeMember(label: "AssociationName", required: false, type: .string), + AWSShapeMember(label: "DetailedStatus", required: false, type: .string), + AWSShapeMember(label: "OutputUrl", required: false, type: .structure), + AWSShapeMember(label: "ErrorCode", required: false, type: .string) + ] + /// Status information about the instance association. + public let status: String? + /// The association ID. + public let associationId: String? + /// The name of the association. + public let name: String? + /// The instance ID where the association was created. + public let instanceId: String? + /// The association document verions. + public let documentVersion: String? + /// The version of the association applied to the instance. + public let associationVersion: String? + /// The date the instance association executed. + public let executionDate: TimeStamp? + /// Summary information about association execution. + public let executionSummary: String? + /// The name of the association applied to the instance. + public let associationName: String? + /// Detailed status information about the instance association. + public let detailedStatus: String? + /// A URL for an Amazon S3 bucket where you want to store the results of this request. + public let outputUrl: InstanceAssociationOutputUrl? + /// An error code returned by the request to create the association. + public let errorCode: String? + + public init(status: String? = nil, associationId: String? = nil, name: String? = nil, instanceId: String? = nil, documentVersion: String? = nil, associationVersion: String? = nil, executionDate: TimeStamp? = nil, executionSummary: String? = nil, associationName: String? = nil, detailedStatus: String? = nil, outputUrl: InstanceAssociationOutputUrl? = nil, errorCode: String? = nil) { + self.status = status + self.associationId = associationId + self.name = name + self.instanceId = instanceId + self.documentVersion = documentVersion + self.associationVersion = associationVersion + self.executionDate = executionDate + self.executionSummary = executionSummary + self.associationName = associationName + self.detailedStatus = detailedStatus + self.outputUrl = outputUrl + self.errorCode = errorCode + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case associationId = "AssociationId" + case name = "Name" + case instanceId = "InstanceId" + case documentVersion = "DocumentVersion" + case associationVersion = "AssociationVersion" + case executionDate = "ExecutionDate" + case executionSummary = "ExecutionSummary" + case associationName = "AssociationName" + case detailedStatus = "DetailedStatus" + case outputUrl = "OutputUrl" + case errorCode = "ErrorCode" + } + } + + public struct DocumentKeyValuesFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Key", required: false, type: .string), + AWSShapeMember(label: "Values", required: false, type: .list) + ] + /// The name of the filter key. + public let key: String? + /// The value for the filter key. + public let values: [String]? + + public init(key: String? = nil, values: [String]? = nil) { + self.key = key + self.values = values + } + + private enum CodingKeys: String, CodingKey { + case key = "Key" + case values = "Values" + } + } + + public struct PatchFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Key", required: true, type: .enum), + AWSShapeMember(label: "Values", required: true, type: .list) + ] + /// The key for the filter. See PatchFilter for lists of valid keys for each operating system type. + public let key: PatchFilterKey + /// The value for the filter key. See PatchFilter for lists of valid values for each key based on operating system type. + public let values: [String] + + public init(key: PatchFilterKey, values: [String]) { + self.key = key + self.values = values + } + + private enum CodingKeys: String, CodingKey { + case key = "Key" + case values = "Values" + } + } + + public struct MaintenanceWindowTarget: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WindowId", required: false, type: .string), + AWSShapeMember(label: "OwnerInformation", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ResourceType", required: false, type: .enum), + AWSShapeMember(label: "Targets", required: false, type: .list), + AWSShapeMember(label: "WindowTargetId", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The Maintenance Window ID where the target is registered. + public let windowId: String? + /// User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window. + public let ownerInformation: String? + /// The target name. + public let name: String? + /// The type of target. + public let resourceType: MaintenanceWindowResourceType? + /// 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>. + public let targets: [Target]? + /// The ID of the target. + public let windowTargetId: String? + /// A description of the target. + public let description: String? + + public init(windowId: String? = nil, ownerInformation: String? = nil, name: String? = nil, resourceType: MaintenanceWindowResourceType? = nil, targets: [Target]? = nil, windowTargetId: String? = nil, description: String? = nil) { + self.windowId = windowId + self.ownerInformation = ownerInformation + self.name = name + self.resourceType = resourceType + self.targets = targets + self.windowTargetId = windowTargetId + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case windowId = "WindowId" + case ownerInformation = "OwnerInformation" + case name = "Name" + case resourceType = "ResourceType" + case targets = "Targets" + case windowTargetId = "WindowTargetId" + case description = "Description" + } + } + + public struct UpdateDocumentDefaultVersionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "DocumentVersion", required: true, type: .string) + ] + /// The name of a custom document that you want to set as the default version. + public let name: String + /// The version of a custom document that you want to set as the default version. + public let documentVersion: String + + public init(name: String, documentVersion: String) { + self.name = name + self.documentVersion = documentVersion + } + + private enum CodingKeys: String, CodingKey { + case name = "Name" + case documentVersion = "DocumentVersion" + } + } + + public struct UpdateMaintenanceWindowTargetResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WindowId", required: false, type: .string), + AWSShapeMember(label: "Targets", required: false, type: .list), + AWSShapeMember(label: "WindowTargetId", required: false, type: .string), + AWSShapeMember(label: "OwnerInformation", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The Maintenance Window ID specified in the update request. + public let windowId: String? + /// The updated targets. + public let targets: [Target]? + /// The target ID specified in the update request. + public let windowTargetId: String? + /// The updated owner. + public let ownerInformation: String? + /// The updated name. + public let name: String? + /// The updated description. + public let description: String? + + public init(windowId: String? = nil, targets: [Target]? = nil, windowTargetId: String? = nil, ownerInformation: String? = nil, name: String? = nil, description: String? = nil) { + self.windowId = windowId + self.targets = targets + self.windowTargetId = windowTargetId + self.ownerInformation = ownerInformation + self.name = name + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case windowId = "WindowId" + case targets = "Targets" + case windowTargetId = "WindowTargetId" + case ownerInformation = "OwnerInformation" + case name = "Name" + case description = "Description" + } + } + + public struct DescribeInstancePatchStatesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "InstancePatchStates", required: false, type: .list) + ] + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? + /// The high-level patch state for the requested instances. + public let instancePatchStates: [InstancePatchState]? + + public init(nextToken: String? = nil, instancePatchStates: [InstancePatchState]? = nil) { + self.nextToken = nextToken + self.instancePatchStates = instancePatchStates + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case instancePatchStates = "InstancePatchStates" + } + } + + public struct PatchSource: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Configuration", required: true, type: .string), + AWSShapeMember(label: "Products", required: true, type: .list), + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// The value of the yum repo configuration. For example: cachedir=/var/cache/yum/$basesearch $releasever keepcache=0 debuglevel=2 + public let configuration: String + /// 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. + public let products: [String] + /// The name specified to identify the patch source. + public let name: String + + public init(configuration: String, products: [String], name: String) { + self.configuration = configuration + self.products = products + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case configuration = "Configuration" + case products = "Products" + case name = "Name" + } + } + + public struct ResourceDataSyncItem: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SyncName", required: false, type: .string), + AWSShapeMember(label: "LastSyncStatusMessage", required: false, type: .string), + AWSShapeMember(label: "SyncCreatedTime", required: false, type: .timestamp), + AWSShapeMember(label: "LastStatus", required: false, type: .enum), + AWSShapeMember(label: "LastSyncTime", required: false, type: .timestamp), + AWSShapeMember(label: "LastSuccessfulSyncTime", required: false, type: .timestamp), + AWSShapeMember(label: "S3Destination", required: false, type: .structure) + ] + /// The name of the Resource Data Sync. + public let syncName: String? + /// The status message details reported by the last sync. + public let lastSyncStatusMessage: String? + /// The date and time the configuration was created (UTC). + public let syncCreatedTime: TimeStamp? + /// The status reported by the last sync. + public let lastStatus: LastResourceDataSyncStatus? + /// The last time the configuration attempted to sync (UTC). + public let lastSyncTime: TimeStamp? + /// The last time the sync operations returned a status of SUCCESSFUL (UTC). + public let lastSuccessfulSyncTime: TimeStamp? + /// Configuration information for the target Amazon S3 bucket. + public let s3Destination: ResourceDataSyncS3Destination? + + public init(syncName: String? = nil, lastSyncStatusMessage: String? = nil, syncCreatedTime: TimeStamp? = nil, lastStatus: LastResourceDataSyncStatus? = nil, lastSyncTime: TimeStamp? = nil, lastSuccessfulSyncTime: TimeStamp? = nil, s3Destination: ResourceDataSyncS3Destination? = nil) { + self.syncName = syncName + self.lastSyncStatusMessage = lastSyncStatusMessage + self.syncCreatedTime = syncCreatedTime + self.lastStatus = lastStatus + self.lastSyncTime = lastSyncTime + self.lastSuccessfulSyncTime = lastSuccessfulSyncTime + self.s3Destination = s3Destination + } + + private enum CodingKeys: String, CodingKey { + case syncName = "SyncName" + case lastSyncStatusMessage = "LastSyncStatusMessage" + case syncCreatedTime = "SyncCreatedTime" + case lastStatus = "LastStatus" + case lastSyncTime = "LastSyncTime" + case lastSuccessfulSyncTime = "LastSuccessfulSyncTime" + case s3Destination = "S3Destination" + } + } + + public struct S3OutputLocation: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OutputS3KeyPrefix", required: false, type: .string), + AWSShapeMember(label: "OutputS3BucketName", required: false, type: .string), + AWSShapeMember(label: "OutputS3Region", required: false, type: .string) + ] + /// The Amazon S3 bucket subfolder. + public let outputS3KeyPrefix: String? + /// The name of the Amazon S3 bucket. + public let outputS3BucketName: String? + /// (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region. + public let outputS3Region: String? + + public init(outputS3KeyPrefix: String? = nil, outputS3BucketName: String? = nil, outputS3Region: String? = nil) { + self.outputS3KeyPrefix = outputS3KeyPrefix + self.outputS3BucketName = outputS3BucketName + self.outputS3Region = outputS3Region + } + + private enum CodingKeys: String, CodingKey { + case outputS3KeyPrefix = "OutputS3KeyPrefix" + case outputS3BucketName = "OutputS3BucketName" + case outputS3Region = "OutputS3Region" + } + } + + public enum OperatingSystem: String, CustomStringConvertible, Codable { + case windows = "WINDOWS" + case amazonLinux = "AMAZON_LINUX" + case amazonLinux2 = "AMAZON_LINUX_2" + case ubuntu = "UBUNTU" + case redhatEnterpriseLinux = "REDHAT_ENTERPRISE_LINUX" + case suse = "SUSE" + case centos = "CENTOS" + public var description: String { return self.rawValue } + } + + public struct DeleteActivationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ActivationId", required: true, type: .string) + ] + /// The ID of the activation that you want to delete. + public let activationId: String + + public init(activationId: String) { + self.activationId = activationId + } + + private enum CodingKeys: String, CodingKey { + case activationId = "ActivationId" + } + } + + public struct NotificationConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NotificationArn", required: false, type: .string), + AWSShapeMember(label: "NotificationType", required: false, type: .enum), + AWSShapeMember(label: "NotificationEvents", required: false, type: .list) + ] + /// An Amazon Resource Name (ARN) for a Simple Notification Service (SNS) topic. Run Command pushes notifications about command status changes to this topic. + public let notificationArn: String? + /// 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. + public let notificationType: NotificationType? + /// 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. + public let notificationEvents: [NotificationEvent]? + + public init(notificationArn: String? = nil, notificationType: NotificationType? = nil, notificationEvents: [NotificationEvent]? = nil) { + self.notificationArn = notificationArn + self.notificationType = notificationType + self.notificationEvents = notificationEvents + } + + private enum CodingKeys: String, CodingKey { + case notificationArn = "NotificationArn" + case notificationType = "NotificationType" + case notificationEvents = "NotificationEvents" + } + } + + public struct PutParameterRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Overwrite", required: false, type: .boolean), + AWSShapeMember(label: "KeyId", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "AllowedPattern", required: false, type: .string), + AWSShapeMember(label: "Type", required: true, type: .enum), + AWSShapeMember(label: "Value", required: true, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// Overwrite an existing parameter. If not specified, will default to "false". + public let overwrite: Bool? + /// 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. + public let keyId: String? + /// 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. + public let name: String + /// 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+$ + public let allowedPattern: String? + /// 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. + public let `type`: ParameterType + /// The parameter value that you want to add to the system. + public let value: String + /// Information about the parameter that you want to add to the system. Optional but recommended. Do not enter personally identifiable information in this field. + public let description: String? + + public init(overwrite: Bool? = nil, keyId: String? = nil, name: String, allowedPattern: String? = nil, type: ParameterType, value: String, description: String? = nil) { + self.overwrite = overwrite + self.keyId = keyId + self.name = name + self.allowedPattern = allowedPattern + self.`type` = `type` + self.value = value + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case overwrite = "Overwrite" + case keyId = "KeyId" + case name = "Name" + case allowedPattern = "AllowedPattern" + case `type` = "Type" + case value = "Value" + case description = "Description" + } + } + + public struct InventoryDeletionSummaryItem: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Version", required: false, type: .string), + AWSShapeMember(label: "RemainingCount", required: false, type: .integer), + AWSShapeMember(label: "Count", required: false, type: .integer) + ] + /// The inventory type version. + public let version: String? + /// The remaining number of items to delete. + public let remainingCount: Int32? + /// A count of the number of deleted items. + public let count: Int32? - public init(fault: Fault? = nil, entry: CreateAssociationBatchRequestEntry? = nil, message: String? = nil) { - self.fault = fault - self.entry = entry - self.message = message + public init(version: String? = nil, remainingCount: Int32? = nil, count: Int32? = nil) { + self.version = version + self.remainingCount = remainingCount + self.count = count } private enum CodingKeys: String, CodingKey { - case fault = "Fault" - case entry = "Entry" - case message = "Message" + case version = "Version" + case remainingCount = "RemainingCount" + case count = "Count" } } - public struct GetMaintenanceWindowExecutionTaskInvocationResult: AWSShape { + public struct PatchBaselineIdentity: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "StartTime", required: false, type: .timestamp), - AWSShapeMember(label: "WindowExecutionId", required: false, type: .string), - AWSShapeMember(label: "Status", required: false, type: .enum), - AWSShapeMember(label: "InvocationId", required: false, type: .string), - AWSShapeMember(label: "TaskType", required: false, type: .enum), - AWSShapeMember(label: "Parameters", required: false, type: .string), - AWSShapeMember(label: "ExecutionId", required: false, type: .string), - AWSShapeMember(label: "EndTime", required: false, type: .timestamp), - AWSShapeMember(label: "WindowTargetId", required: false, type: .string), - AWSShapeMember(label: "TaskExecutionId", required: false, type: .string), - AWSShapeMember(label: "StatusDetails", required: false, type: .string), - AWSShapeMember(label: "OwnerInformation", required: false, type: .string) + AWSShapeMember(label: "DefaultBaseline", required: false, type: .boolean), + AWSShapeMember(label: "OperatingSystem", required: false, type: .enum), + AWSShapeMember(label: "BaselineName", required: false, type: .string), + AWSShapeMember(label: "BaselineDescription", required: false, type: .string), + AWSShapeMember(label: "BaselineId", required: false, type: .string) ] - /// The time that the task started executing on the target. - public let startTime: TimeStamp? - /// The Maintenance Window execution ID. - public let windowExecutionId: String? - /// The task status for an invocation. - public let status: MaintenanceWindowExecutionStatus? - /// The invocation ID. - public let invocationId: String? - /// Retrieves the task type for a Maintenance Window. Task types include the following: LAMBDA, STEP_FUNCTION, AUTOMATION, RUN_COMMAND. - public let taskType: MaintenanceWindowTaskType? - /// The parameters used at the time that the task executed. - public let parameters: String? - /// The execution ID. - public let executionId: String? - /// The time that the task finished executing on the target. - public let endTime: TimeStamp? - /// The Maintenance Window target ID. - public let windowTargetId: String? - /// The task execution ID. - public let taskExecutionId: String? - /// The details explaining the status. Details are only available for certain status values. - public let statusDetails: String? - /// User-provided value to be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window. - public let ownerInformation: String? + /// 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. + public let defaultBaseline: Bool? + /// Defines the operating system the patch baseline applies to. The Default value is WINDOWS. + public let operatingSystem: OperatingSystem? + /// The name of the patch baseline. + public let baselineName: String? + /// The description of the patch baseline. + public let baselineDescription: String? + /// The ID of the patch baseline. + public let baselineId: String? - public init(startTime: TimeStamp? = nil, windowExecutionId: String? = nil, status: MaintenanceWindowExecutionStatus? = nil, invocationId: String? = nil, taskType: MaintenanceWindowTaskType? = nil, parameters: String? = nil, executionId: String? = nil, endTime: TimeStamp? = nil, windowTargetId: String? = nil, taskExecutionId: String? = nil, statusDetails: String? = nil, ownerInformation: String? = nil) { - self.startTime = startTime - self.windowExecutionId = windowExecutionId - self.status = status - self.invocationId = invocationId - self.taskType = taskType - self.parameters = parameters - self.executionId = executionId - self.endTime = endTime - self.windowTargetId = windowTargetId - self.taskExecutionId = taskExecutionId - self.statusDetails = statusDetails - self.ownerInformation = ownerInformation + public init(defaultBaseline: Bool? = nil, operatingSystem: OperatingSystem? = nil, baselineName: String? = nil, baselineDescription: String? = nil, baselineId: String? = nil) { + self.defaultBaseline = defaultBaseline + self.operatingSystem = operatingSystem + self.baselineName = baselineName + self.baselineDescription = baselineDescription + self.baselineId = baselineId } private enum CodingKeys: String, CodingKey { - case startTime = "StartTime" - case windowExecutionId = "WindowExecutionId" - case status = "Status" - case invocationId = "InvocationId" - case taskType = "TaskType" - case parameters = "Parameters" - case executionId = "ExecutionId" - case endTime = "EndTime" - case windowTargetId = "WindowTargetId" - case taskExecutionId = "TaskExecutionId" - case statusDetails = "StatusDetails" - case ownerInformation = "OwnerInformation" + case defaultBaseline = "DefaultBaseline" + case operatingSystem = "OperatingSystem" + case baselineName = "BaselineName" + case baselineDescription = "BaselineDescription" + case baselineId = "BaselineId" + } + } + + public struct Activation: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "IamRole", required: false, type: .string), + AWSShapeMember(label: "Expired", required: false, type: .boolean), + AWSShapeMember(label: "RegistrationLimit", required: false, type: .integer), + AWSShapeMember(label: "ExpirationDate", required: false, type: .timestamp), + AWSShapeMember(label: "ActivationId", required: false, type: .string), + AWSShapeMember(label: "RegistrationsCount", required: false, type: .integer), + AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), + AWSShapeMember(label: "DefaultInstanceName", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) + ] + /// The Amazon Identity and Access Management (IAM) role to assign to the managed instance. + public let iamRole: String? + /// Whether or not the activation is expired. + public let expired: Bool? + /// The maximum number of managed instances that can be registered using this activation. + public let registrationLimit: Int32? + /// The date when this activation can no longer be used to register managed instances. + public let expirationDate: TimeStamp? + /// The ID created by Systems Manager when you submitted the activation. + public let activationId: String? + /// The number of managed instances already registered with this activation. + public let registrationsCount: Int32? + /// The date the activation was created. + public let createdDate: TimeStamp? + /// A name for the managed instance when it is created. + public let defaultInstanceName: String? + /// A user defined description of the activation. + public let description: String? + + public init(iamRole: String? = nil, expired: Bool? = nil, registrationLimit: Int32? = nil, expirationDate: TimeStamp? = nil, activationId: String? = nil, registrationsCount: Int32? = nil, createdDate: TimeStamp? = nil, defaultInstanceName: String? = nil, description: String? = nil) { + self.iamRole = iamRole + self.expired = expired + self.registrationLimit = registrationLimit + self.expirationDate = expirationDate + self.activationId = activationId + self.registrationsCount = registrationsCount + self.createdDate = createdDate + self.defaultInstanceName = defaultInstanceName + self.description = description + } + + private enum CodingKeys: String, CodingKey { + case iamRole = "IamRole" + case expired = "Expired" + case registrationLimit = "RegistrationLimit" + case expirationDate = "ExpirationDate" + case activationId = "ActivationId" + case registrationsCount = "RegistrationsCount" + case createdDate = "CreatedDate" + case defaultInstanceName = "DefaultInstanceName" + case description = "Description" + } + } + + public struct SendAutomationSignalRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SignalType", required: true, type: .enum), + AWSShapeMember(label: "AutomationExecutionId", required: true, type: .string), + AWSShapeMember(label: "Payload", required: false, type: .map) + ] + /// The type of signal. Valid signal types include the following: Approve and Reject + public let signalType: SignalType + /// The unique identifier for an existing Automation execution that you want to send the signal to. + public let automationExecutionId: String + /// The data sent with the signal. The data schema depends on the type of signal used in the request. + public let payload: [String: [String]]? + + public init(signalType: SignalType, automationExecutionId: String, payload: [String: [String]]? = nil) { + self.signalType = signalType + self.automationExecutionId = automationExecutionId + self.payload = payload + } + + private enum CodingKeys: String, CodingKey { + case signalType = "SignalType" + case automationExecutionId = "AutomationExecutionId" + case payload = "Payload" + } + } + + public struct StepExecutionFilter: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Key", required: true, type: .enum), + AWSShapeMember(label: "Values", required: true, type: .list) + ] + /// One or more keys to limit the results. Valid filter keys include the following: StepName, Action, StepExecutionId, StepExecutionStatus, StartTimeBefore, StartTimeAfter. + public let key: StepExecutionFilterKey + /// The values of the filter key. + public let values: [String] + + public init(key: StepExecutionFilterKey, values: [String]) { + self.key = key + self.values = values + } + + private enum CodingKeys: String, CodingKey { + case key = "Key" + case values = "Values" + } + } + + public struct StartAutomationExecutionResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AutomationExecutionId", required: false, type: .string) + ] + /// The unique ID of a newly scheduled automation execution. + public let automationExecutionId: String? + + public init(automationExecutionId: String? = nil) { + self.automationExecutionId = automationExecutionId + } + + private enum CodingKeys: String, CodingKey { + case automationExecutionId = "AutomationExecutionId" + } + } + + public struct ListDocumentsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DocumentFilterList", required: false, type: .list), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// One or more filters. Use a filter to return a more specific list of results. + public let documentFilterList: [DocumentFilter]? + /// One or more filters. Use a filter to return a more specific list of results. + public let filters: [DocumentKeyValuesFilter]? + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(documentFilterList: [DocumentFilter]? = nil, filters: [DocumentKeyValuesFilter]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.documentFilterList = documentFilterList + self.filters = filters + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case documentFilterList = "DocumentFilterList" + case filters = "Filters" + case nextToken = "NextToken" + case maxResults = "MaxResults" } } - public struct GetInventorySchemaResult: AWSShape { + public struct DescribeAssociationExecutionTargetsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Schemas", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "AssociationId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ExecutionId", required: true, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// Inventory schemas returned by the request. - public let schemas: [InventoryItemSchema]? - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + /// Filters for the request. You can specify the following filters and values. Status (EQUAL) ResourceId (EQUAL) ResourceType (EQUAL) + public let filters: [AssociationExecutionTargetsFilter]? + /// The association ID that includes the execution for which you want to view details. + public let associationId: String + /// A token to start the list. Use this token to get the next set of results. public let nextToken: String? + /// The execution ID for which you want to view details. + public let executionId: String + /// 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. + public let maxResults: Int32? - public init(schemas: [InventoryItemSchema]? = nil, nextToken: String? = nil) { - self.schemas = schemas + public init(filters: [AssociationExecutionTargetsFilter]? = nil, associationId: String, nextToken: String? = nil, executionId: String, maxResults: Int32? = nil) { + self.filters = filters + self.associationId = associationId self.nextToken = nextToken + self.executionId = executionId + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case schemas = "Schemas" + case filters = "Filters" + case associationId = "AssociationId" case nextToken = "NextToken" + case executionId = "ExecutionId" + case maxResults = "MaxResults" } } - public struct DocumentIdentifier: AWSShape { + public struct DeleteAssociationRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "Tags", required: false, type: .list), - AWSShapeMember(label: "SchemaVersion", required: false, type: .string), - AWSShapeMember(label: "DocumentVersion", required: false, type: .string), - AWSShapeMember(label: "TargetType", required: false, type: .string), - AWSShapeMember(label: "Owner", required: false, type: .string), - AWSShapeMember(label: "DocumentFormat", required: false, type: .enum), - AWSShapeMember(label: "PlatformTypes", required: false, type: .list), - AWSShapeMember(label: "DocumentType", required: false, type: .enum) + AWSShapeMember(label: "InstanceId", required: false, type: .string), + AWSShapeMember(label: "AssociationId", required: false, type: .string) ] /// The name of the Systems Manager document. public let name: String? - /// The tags, or metadata, that have been applied to the document. - public let tags: [Tag]? - /// The schema version. - public let schemaVersion: String? - /// The document version. - public let documentVersion: String? - /// 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. - public let targetType: String? - /// The AWS user account that created the document. - public let owner: String? - /// The document format, either JSON or YAML. - public let documentFormat: DocumentFormat? - /// The operating system platform. - public let platformTypes: [PlatformType]? - /// The document type. - public let documentType: DocumentType? + /// The ID of the instance. + public let instanceId: String? + /// The association ID that you want to delete. + public let associationId: String? - public init(name: String? = nil, tags: [Tag]? = nil, schemaVersion: String? = nil, documentVersion: String? = nil, targetType: String? = nil, owner: String? = nil, documentFormat: DocumentFormat? = nil, platformTypes: [PlatformType]? = nil, documentType: DocumentType? = nil) { + public init(name: String? = nil, instanceId: String? = nil, associationId: String? = nil) { self.name = name - self.tags = tags - self.schemaVersion = schemaVersion - self.documentVersion = documentVersion - self.targetType = targetType - self.owner = owner - self.documentFormat = documentFormat - self.platformTypes = platformTypes - self.documentType = documentType + self.instanceId = instanceId + self.associationId = associationId } private enum CodingKeys: String, CodingKey { case name = "Name" - case tags = "Tags" - case schemaVersion = "SchemaVersion" - case documentVersion = "DocumentVersion" - case targetType = "TargetType" - case owner = "Owner" - case documentFormat = "DocumentFormat" - case platformTypes = "PlatformTypes" - case documentType = "DocumentType" + case instanceId = "InstanceId" + case associationId = "AssociationId" } } - public struct DeleteMaintenanceWindowResult: AWSShape { + public enum AutomationExecutionFilterKey: String, CustomStringConvertible, Codable { + case documentnameprefix = "DocumentNamePrefix" + case executionstatus = "ExecutionStatus" + case executionid = "ExecutionId" + case parentexecutionid = "ParentExecutionId" + case currentaction = "CurrentAction" + case starttimebefore = "StartTimeBefore" + case starttimeafter = "StartTimeAfter" + public var description: String { return self.rawValue } + } + + public struct EffectivePatch: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: false, type: .string) + AWSShapeMember(label: "Patch", required: false, type: .structure), + AWSShapeMember(label: "PatchStatus", required: false, type: .structure) ] - /// The ID of the deleted Maintenance Window. - public let windowId: String? + /// 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. + public let patch: Patch? + /// 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. + public let patchStatus: PatchStatus? - public init(windowId: String? = nil) { - self.windowId = windowId + public init(patch: Patch? = nil, patchStatus: PatchStatus? = nil) { + self.patch = patch + self.patchStatus = patchStatus } private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" + case patch = "Patch" + case patchStatus = "PatchStatus" } } - public struct GetParameterHistoryRequest: AWSShape { + public struct DocumentParameter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WithDecryption", required: false, type: .boolean), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "DefaultValue", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) ] - /// Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types. - public let withDecryption: Bool? - /// The name of a parameter you want to query. - public let name: String - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// 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. - public let maxResults: Int32? + /// The type of parameter. The type can be either String or StringList. + public let `type`: DocumentParameterType? + /// The name of the parameter. + public let name: String? + /// If specified, the default values for the parameters. Parameters without a default value are required. Parameters with a default value are optional. + public let defaultValue: String? + /// A description of what the parameter does, how to use it, the default value, and whether or not the parameter is optional. + public let description: String? - public init(withDecryption: Bool? = nil, name: String, nextToken: String? = nil, maxResults: Int32? = nil) { - self.withDecryption = withDecryption + public init(type: DocumentParameterType? = nil, name: String? = nil, defaultValue: String? = nil, description: String? = nil) { + self.`type` = `type` self.name = name - self.nextToken = nextToken - self.maxResults = maxResults + self.defaultValue = defaultValue + self.description = description } private enum CodingKeys: String, CodingKey { - case withDecryption = "WithDecryption" + case `type` = "Type" case name = "Name" - case nextToken = "NextToken" - case maxResults = "MaxResults" + case defaultValue = "DefaultValue" + case description = "Description" } } - public struct PutComplianceItemsRequest: AWSShape { + public struct DeleteInventoryResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ComplianceType", required: true, type: .string), - AWSShapeMember(label: "ItemContentHash", required: false, type: .string), - AWSShapeMember(label: "ExecutionSummary", required: true, type: .structure), - AWSShapeMember(label: "ResourceId", required: true, type: .string), - AWSShapeMember(label: "ResourceType", required: true, type: .string), - AWSShapeMember(label: "Items", required: true, type: .list) + AWSShapeMember(label: "TypeName", required: false, type: .string), + AWSShapeMember(label: "DeletionSummary", required: false, type: .structure), + AWSShapeMember(label: "DeletionId", required: false, type: .string) ] - /// Specify the compliance type. For example, specify Association (for a State Manager association), Patch, or Custom:string. - public let complianceType: String - /// 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. - public let itemContentHash: String? - /// 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'. - public let executionSummary: ComplianceExecutionSummary - /// Specify an ID for this resource. For a managed instance, this is the instance ID. - public let resourceId: String - /// Specify the type of resource. ManagedInstance is currently the only supported resource type. - public let resourceType: String - /// 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. - public let items: [ComplianceItemEntry] + /// The name of the inventory data type specified in the request. + public let typeName: String? + /// 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. + public let deletionSummary: InventoryDeletionSummary? + /// 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. + public let deletionId: String? - public init(complianceType: String, itemContentHash: String? = nil, executionSummary: ComplianceExecutionSummary, resourceId: String, resourceType: String, items: [ComplianceItemEntry]) { - self.complianceType = complianceType - self.itemContentHash = itemContentHash - self.executionSummary = executionSummary - self.resourceId = resourceId - self.resourceType = resourceType - self.items = items + public init(typeName: String? = nil, deletionSummary: InventoryDeletionSummary? = nil, deletionId: String? = nil) { + self.typeName = typeName + self.deletionSummary = deletionSummary + self.deletionId = deletionId } private enum CodingKeys: String, CodingKey { - case complianceType = "ComplianceType" - case itemContentHash = "ItemContentHash" - case executionSummary = "ExecutionSummary" - case resourceId = "ResourceId" - case resourceType = "ResourceType" - case items = "Items" + case typeName = "TypeName" + case deletionSummary = "DeletionSummary" + case deletionId = "DeletionId" } } - public struct ListDocumentVersionsRequest: AWSShape { + public enum AssociationFilterOperatorType: String, CustomStringConvertible, Codable { + case equal = "EQUAL" + case lessThan = "LESS_THAN" + case greaterThan = "GREATER_THAN" + public var description: String { return self.rawValue } + } + + public enum NotificationEvent: String, CustomStringConvertible, Codable { + case all = "All" + case inprogress = "InProgress" + case success = "Success" + case timedout = "TimedOut" + case cancelled = "Cancelled" + case failed = "Failed" + public var description: String { return self.rawValue } + } + + public struct StopAutomationExecutionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "AutomationExecutionId", required: true, type: .string) ] - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// The name of the document about which you want version information. + /// The stop request type. Valid types include the following: Cancel and Complete. The default type is Cancel. + public let `type`: StopType? + /// The execution ID of the Automation to stop. + public let automationExecutionId: String + + public init(type: StopType? = nil, automationExecutionId: String) { + self.`type` = `type` + self.automationExecutionId = automationExecutionId + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + case automationExecutionId = "AutomationExecutionId" + } + } + + public struct DeleteParameterRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// The name of the parameter to delete. public let name: String - /// 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. - public let maxResults: Int32? - public init(nextToken: String? = nil, name: String, maxResults: Int32? = nil) { - self.nextToken = nextToken + public init(name: String) { self.name = name - self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" case name = "Name" - case maxResults = "MaxResults" } } - public struct GetParameterHistoryResult: AWSShape { + public struct DocumentFilter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Parameters", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) - ] - /// A list of parameters returned by the request. - public let parameters: [ParameterHistory]? - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? + AWSShapeMember(label: "key", required: true, type: .enum), + AWSShapeMember(label: "value", required: true, type: .string) + ] + /// The name of the filter. + public let key: DocumentFilterKey + /// The value of the filter. + public let value: String - public init(parameters: [ParameterHistory]? = nil, nextToken: String? = nil) { - self.parameters = parameters - self.nextToken = nextToken + public init(key: DocumentFilterKey, value: String) { + self.key = key + self.value = value } private enum CodingKeys: String, CodingKey { - case parameters = "Parameters" - case nextToken = "NextToken" + case key = "key" + case value = "value" } } - public enum DocumentFilterKey: String, CustomStringConvertible, Codable { - case name = "Name" - case owner = "Owner" - case platformtypes = "PlatformTypes" - case documenttype = "DocumentType" - public var description: String { return self.rawValue } - } - - public struct Target: AWSShape { + public struct MaintenanceWindowTaskInvocationParameters: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Key", required: false, type: .string), - AWSShapeMember(label: "Values", required: false, type: .list) + AWSShapeMember(label: "Automation", required: false, type: .structure), + AWSShapeMember(label: "RunCommand", required: false, type: .structure), + AWSShapeMember(label: "Lambda", required: false, type: .structure), + AWSShapeMember(label: "StepFunctions", required: false, type: .structure) ] - /// User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see Executing a Command Using Systems Manager Run Command. - public let key: String? - /// User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to execute a command on instances that include Amazon EC2 tags of ServerRole,WebServer. For more information about how to send commands that target instances using Key,Value parameters, see Executing a Command Using Systems Manager Run Command. - public let values: [String]? + /// The parameters for an AUTOMATION task type. + public let automation: MaintenanceWindowAutomationParameters? + /// The parameters for a RUN_COMMAND task type. + public let runCommand: MaintenanceWindowRunCommandParameters? + /// The parameters for a LAMBDA task type. + public let lambda: MaintenanceWindowLambdaParameters? + /// The parameters for a STEP_FUNCTION task type. + public let stepFunctions: MaintenanceWindowStepFunctionsParameters? - public init(key: String? = nil, values: [String]? = nil) { - self.key = key - self.values = values + public init(automation: MaintenanceWindowAutomationParameters? = nil, runCommand: MaintenanceWindowRunCommandParameters? = nil, lambda: MaintenanceWindowLambdaParameters? = nil, stepFunctions: MaintenanceWindowStepFunctionsParameters? = nil) { + self.automation = automation + self.runCommand = runCommand + self.lambda = lambda + self.stepFunctions = stepFunctions } private enum CodingKeys: String, CodingKey { - case key = "Key" - case values = "Values" + case automation = "Automation" + case runCommand = "RunCommand" + case lambda = "Lambda" + case stepFunctions = "StepFunctions" } } - public struct ListResourceDataSyncResult: AWSShape { + public enum LastResourceDataSyncStatus: String, CustomStringConvertible, Codable { + case successful = "Successful" + case failed = "Failed" + case inprogress = "InProgress" + public var description: String { return self.rawValue } + } + + public struct ListComplianceItemsResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "ResourceDataSyncItems", required: false, type: .list) + AWSShapeMember(label: "ComplianceItems", required: false, type: .list) ] /// The token for the next set of items to return. Use this token to get the next set of results. public let nextToken: String? - /// A list of your current Resource Data Sync configurations and their statuses. - public let resourceDataSyncItems: [ResourceDataSyncItem]? + /// A list of compliance information for the specified resource ID. + public let complianceItems: [ComplianceItem]? - public init(nextToken: String? = nil, resourceDataSyncItems: [ResourceDataSyncItem]? = nil) { + public init(nextToken: String? = nil, complianceItems: [ComplianceItem]? = nil) { self.nextToken = nextToken - self.resourceDataSyncItems = resourceDataSyncItems + self.complianceItems = complianceItems } private enum CodingKeys: String, CodingKey { case nextToken = "NextToken" - case resourceDataSyncItems = "ResourceDataSyncItems" + case complianceItems = "ComplianceItems" } } - public struct PutComplianceItemsResult: AWSShape { + public struct InstanceAssociationOutputLocation: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "S3Location", required: false, type: .structure) + ] + /// An Amazon S3 bucket where you want to store the results of this request. + public let s3Location: S3OutputLocation? - } + public init(s3Location: S3OutputLocation? = nil) { + self.s3Location = s3Location + } - public enum AssociationStatusName: String, CustomStringConvertible, Codable { - case pending = "Pending" - case success = "Success" - case failed = "Failed" - public var description: String { return self.rawValue } + private enum CodingKeys: String, CodingKey { + case s3Location = "S3Location" + } } - public enum PatchOperationType: String, CustomStringConvertible, Codable { - case scan = "Scan" - case install = "Install" + public enum InventoryAttributeDataType: String, CustomStringConvertible, Codable { + case string = "string" + case number = "number" public var description: String { return self.rawValue } } - public struct DescribeAutomationStepExecutionsRequest: AWSShape { + public struct DescribePatchBaselinesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ReverseOrder", required: false, type: .boolean), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "AutomationExecutionId", required: true, type: .string), AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// A boolean that indicates whether to list step executions in reverse order by start time. The default value is false. - public let reverseOrder: Bool? - /// One or more filters to limit the number of step executions returned by the request. - public let filters: [StepExecutionFilter]? - /// The Automation execution ID for which you want step execution descriptions. - public let automationExecutionId: String /// The token for the next set of items to return. (You received this token from a previous call.) public let nextToken: String? - /// 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. + /// 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) + public let filters: [PatchOrchestratorFilter]? + /// The maximum number of patch baselines to return (per page). public let maxResults: Int32? - public init(reverseOrder: Bool? = nil, filters: [StepExecutionFilter]? = nil, automationExecutionId: String, nextToken: String? = nil, maxResults: Int32? = nil) { - self.reverseOrder = reverseOrder - self.filters = filters - self.automationExecutionId = automationExecutionId + public init(nextToken: String? = nil, filters: [PatchOrchestratorFilter]? = nil, maxResults: Int32? = nil) { self.nextToken = nextToken + self.filters = filters self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case reverseOrder = "ReverseOrder" - case filters = "Filters" - case automationExecutionId = "AutomationExecutionId" case nextToken = "NextToken" + case filters = "Filters" case maxResults = "MaxResults" } } - public struct AssociationDescription: AWSShape { + public struct NonCompliantSummary: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "LastExecutionDate", required: false, type: .timestamp), - AWSShapeMember(label: "LastUpdateAssociationDate", required: false, type: .timestamp), - AWSShapeMember(label: "Targets", required: false, type: .list), - AWSShapeMember(label: "Status", required: false, type: .structure), - AWSShapeMember(label: "AssociationId", required: false, type: .string), - AWSShapeMember(label: "Parameters", required: false, type: .map), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "InstanceId", required: false, type: .string), - AWSShapeMember(label: "DocumentVersion", required: false, type: .string), - AWSShapeMember(label: "AssociationVersion", required: false, type: .string), - AWSShapeMember(label: "OutputLocation", required: false, type: .structure), - AWSShapeMember(label: "Overview", required: false, type: .structure), - AWSShapeMember(label: "ScheduleExpression", required: false, type: .string), - AWSShapeMember(label: "AssociationName", required: false, type: .string), - AWSShapeMember(label: "Date", required: false, type: .timestamp), - AWSShapeMember(label: "LastSuccessfulExecutionDate", required: false, type: .timestamp) + AWSShapeMember(label: "NonCompliantCount", required: false, type: .integer), + AWSShapeMember(label: "SeveritySummary", required: false, type: .structure) ] - /// The date on which the association was last run. - public let lastExecutionDate: TimeStamp? - /// The date when the association was last updated. - public let lastUpdateAssociationDate: TimeStamp? - /// The instances targeted by the request. - public let targets: [Target]? - /// The association status. - public let status: AssociationStatus? - /// The association ID. - public let associationId: String? - /// A description of the parameters for a document. - public let parameters: [String: [String]]? - /// The name of the Systems Manager document. - public let name: String? - /// The ID of the instance. - public let instanceId: String? - /// The document version. - public let documentVersion: String? - /// The association version. - public let associationVersion: String? - /// An Amazon S3 bucket where you want to store the output details of the request. - public let outputLocation: InstanceAssociationOutputLocation? - /// Information about the association. - public let overview: AssociationOverview? - /// A cron expression that specifies a schedule when the association runs. - public let scheduleExpression: String? - /// The association name. - public let associationName: String? - /// The date when the association was made. - public let date: TimeStamp? - /// The last date on which the association was successfully run. - public let lastSuccessfulExecutionDate: TimeStamp? + /// The total number of compliance items that are not compliant. + public let nonCompliantCount: Int32? + /// A summary of the non-compliance severity by compliance type + public let severitySummary: SeveritySummary? - public init(lastExecutionDate: TimeStamp? = nil, lastUpdateAssociationDate: TimeStamp? = nil, targets: [Target]? = nil, status: AssociationStatus? = nil, associationId: String? = nil, parameters: [String: [String]]? = nil, name: String? = nil, instanceId: String? = nil, documentVersion: String? = nil, associationVersion: String? = nil, outputLocation: InstanceAssociationOutputLocation? = nil, overview: AssociationOverview? = nil, scheduleExpression: String? = nil, associationName: String? = nil, date: TimeStamp? = nil, lastSuccessfulExecutionDate: TimeStamp? = nil) { - self.lastExecutionDate = lastExecutionDate - self.lastUpdateAssociationDate = lastUpdateAssociationDate - self.targets = targets - self.status = status - self.associationId = associationId - self.parameters = parameters - self.name = name - self.instanceId = instanceId - self.documentVersion = documentVersion - self.associationVersion = associationVersion - self.outputLocation = outputLocation - self.overview = overview - self.scheduleExpression = scheduleExpression - self.associationName = associationName - self.date = date - self.lastSuccessfulExecutionDate = lastSuccessfulExecutionDate + public init(nonCompliantCount: Int32? = nil, severitySummary: SeveritySummary? = nil) { + self.nonCompliantCount = nonCompliantCount + self.severitySummary = severitySummary } private enum CodingKeys: String, CodingKey { - case lastExecutionDate = "LastExecutionDate" - case lastUpdateAssociationDate = "LastUpdateAssociationDate" - case targets = "Targets" - case status = "Status" - case associationId = "AssociationId" - case parameters = "Parameters" - case name = "Name" - case instanceId = "InstanceId" - case documentVersion = "DocumentVersion" - case associationVersion = "AssociationVersion" - case outputLocation = "OutputLocation" - case overview = "Overview" - case scheduleExpression = "ScheduleExpression" - case associationName = "AssociationName" - case date = "Date" - case lastSuccessfulExecutionDate = "LastSuccessfulExecutionDate" + case nonCompliantCount = "NonCompliantCount" + case severitySummary = "SeveritySummary" } } - public struct DeleteParameterResult: AWSShape { + public struct DescribeEffectivePatchesForPatchBaselineResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "EffectivePatches", required: false, type: .list) + ] + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? + /// An array of patches and patch status. + public let effectivePatches: [EffectivePatch]? + + public init(nextToken: String? = nil, effectivePatches: [EffectivePatch]? = nil) { + self.nextToken = nextToken + self.effectivePatches = effectivePatches + } + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case effectivePatches = "EffectivePatches" + } } - public struct InstanceAssociation: AWSShape { + public struct DeregisterTargetFromMaintenanceWindowResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Content", required: false, type: .string), - AWSShapeMember(label: "AssociationVersion", required: false, type: .string), - AWSShapeMember(label: "AssociationId", required: false, type: .string), - AWSShapeMember(label: "InstanceId", required: false, type: .string) - ] - /// The content of the association document for the instance(s). - public let content: String? - /// Version information for the association on the instance. - public let associationVersion: String? - /// The association ID. - public let associationId: String? - /// The instance ID. - public let instanceId: String? + AWSShapeMember(label: "WindowId", required: false, type: .string), + AWSShapeMember(label: "WindowTargetId", required: false, type: .string) + ] + /// The ID of the Maintenance Window the target was removed from. + public let windowId: String? + /// The ID of the removed target definition. + public let windowTargetId: String? - public init(content: String? = nil, associationVersion: String? = nil, associationId: String? = nil, instanceId: String? = nil) { - self.content = content - self.associationVersion = associationVersion - self.associationId = associationId - self.instanceId = instanceId + public init(windowId: String? = nil, windowTargetId: String? = nil) { + self.windowId = windowId + self.windowTargetId = windowTargetId } private enum CodingKeys: String, CodingKey { - case content = "Content" - case associationVersion = "AssociationVersion" - case associationId = "AssociationId" - case instanceId = "InstanceId" + case windowId = "WindowId" + case windowTargetId = "WindowTargetId" } } - public struct InstanceInformationStringFilter: AWSShape { + public enum ResourceTypeForTagging: String, CustomStringConvertible, Codable { + case document = "Document" + case managedinstance = "ManagedInstance" + case maintenancewindow = "MaintenanceWindow" + case parameter = "Parameter" + case patchbaseline = "PatchBaseline" + public var description: String { return self.rawValue } + } + + public struct GetMaintenanceWindowTaskRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Key", required: true, type: .string), - AWSShapeMember(label: "Values", required: true, type: .list) + AWSShapeMember(label: "WindowId", required: true, type: .string), + AWSShapeMember(label: "WindowTaskId", required: true, type: .string) ] - /// The filter key name to describe your instances. For example: "InstanceIds"|"AgentVersion"|"PingStatus"|"PlatformTypes"|"ActivationIds"|"IamRole"|"ResourceType"|"AssociationStatus"|"Tag Key" - public let key: String - /// The filter values. - public let values: [String] + /// The Maintenance Window ID that includes the task to retrieve. + public let windowId: String + /// The Maintenance Window task ID to retrieve. + public let windowTaskId: String - public init(key: String, values: [String]) { - self.key = key - self.values = values + public init(windowId: String, windowTaskId: String) { + self.windowId = windowId + self.windowTaskId = windowTaskId } private enum CodingKeys: String, CodingKey { - case key = "Key" - case values = "Values" + case windowId = "WindowId" + case windowTaskId = "WindowTaskId" } } - public struct DeleteDocumentRequest: AWSShape { + public enum ExecutionMode: String, CustomStringConvertible, Codable { + case auto = "Auto" + case interactive = "Interactive" + public var description: String { return self.rawValue } + } + + public struct ListAssociationVersionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string) + AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "AssociationId", required: true, type: .string) ] - /// The name of the document. - public let name: String + /// 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. + public let maxResults: Int32? + /// A token to start the list. Use this token to get the next set of results. + public let nextToken: String? + /// The association ID for which you want to view all versions. + public let associationId: String - public init(name: String) { - self.name = name + public init(maxResults: Int32? = nil, nextToken: String? = nil, associationId: String) { + self.maxResults = maxResults + self.nextToken = nextToken + self.associationId = associationId } private enum CodingKeys: String, CodingKey { - case name = "Name" + case maxResults = "MaxResults" + case nextToken = "NextToken" + case associationId = "AssociationId" } } - public struct DescribeMaintenanceWindowTargetsResult: AWSShape { + public struct DescribePatchGroupsResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Targets", required: false, type: .list), + AWSShapeMember(label: "Mappings", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// Information about the targets in the Maintenance Window. - public let targets: [MaintenanceWindowTarget]? + /// Each entry in the array contains: PatchGroup: string (between 1 and 256 characters, Regex: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$) PatchBaselineIdentity: A PatchBaselineIdentity element. + public let mappings: [PatchGroupPatchBaselineMapping]? /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. public let nextToken: String? - public init(targets: [MaintenanceWindowTarget]? = nil, nextToken: String? = nil) { - self.targets = targets + public init(mappings: [PatchGroupPatchBaselineMapping]? = nil, nextToken: String? = nil) { + self.mappings = mappings self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case targets = "Targets" + case mappings = "Mappings" case nextToken = "NextToken" } } - public struct UpdatePatchBaselineRequest: AWSShape { + public struct RegisterTargetWithMaintenanceWindowRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BaselineId", required: true, type: .string), - AWSShapeMember(label: "ApprovedPatches", required: false, type: .list), + AWSShapeMember(label: "WindowId", required: true, type: .string), + AWSShapeMember(label: "OwnerInformation", required: false, type: .string), + AWSShapeMember(label: "ClientToken", required: false, type: .string), AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "RejectedPatches", required: false, type: .list), - AWSShapeMember(label: "ApprovedPatchesComplianceLevel", required: false, type: .enum), - AWSShapeMember(label: "ApprovalRules", required: false, type: .structure), - AWSShapeMember(label: "GlobalFilters", required: false, type: .structure), + AWSShapeMember(label: "ResourceType", required: true, type: .enum), + AWSShapeMember(label: "Targets", required: true, type: .list), AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The ID of the patch baseline to update. - public let baselineId: String - /// A list of explicitly approved patches for the baseline. - public let approvedPatches: [String]? - /// The name of the patch baseline. + /// The ID of the Maintenance Window the target should be registered with. + public let windowId: String + /// User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window. + public let ownerInformation: String? + /// User-provided idempotency token. + public let clientToken: String? + /// An optional name for the target. public let name: String? - /// A list of explicitly rejected patches for the baseline. - public let rejectedPatches: [String]? - /// Assigns a new compliance severity level to an existing patch baseline. - public let approvedPatchesComplianceLevel: PatchComplianceLevel? - /// A set of rules used to include patches in the baseline. - public let approvalRules: PatchRuleGroup? - /// A set of global filters used to exclude patches from the baseline. - public let globalFilters: PatchFilterGroup? - /// A description of the patch baseline. + /// The type of target being registered with the Maintenance Window. + public let resourceType: MaintenanceWindowResourceType + /// 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> + public let targets: [Target] + /// An optional description for the target. public let description: String? - public init(baselineId: String, approvedPatches: [String]? = nil, name: String? = nil, rejectedPatches: [String]? = nil, approvedPatchesComplianceLevel: PatchComplianceLevel? = nil, approvalRules: PatchRuleGroup? = nil, globalFilters: PatchFilterGroup? = nil, description: String? = nil) { - self.baselineId = baselineId - self.approvedPatches = approvedPatches + public init(windowId: String, ownerInformation: String? = nil, clientToken: String? = nil, name: String? = nil, resourceType: MaintenanceWindowResourceType, targets: [Target], description: String? = nil) { + self.windowId = windowId + self.ownerInformation = ownerInformation + self.clientToken = clientToken self.name = name - self.rejectedPatches = rejectedPatches - self.approvedPatchesComplianceLevel = approvedPatchesComplianceLevel - self.approvalRules = approvalRules - self.globalFilters = globalFilters + self.resourceType = resourceType + self.targets = targets self.description = description } private enum CodingKeys: String, CodingKey { - case baselineId = "BaselineId" - case approvedPatches = "ApprovedPatches" + case windowId = "WindowId" + case ownerInformation = "OwnerInformation" + case clientToken = "ClientToken" case name = "Name" - case rejectedPatches = "RejectedPatches" - case approvedPatchesComplianceLevel = "ApprovedPatchesComplianceLevel" - case approvalRules = "ApprovalRules" - case globalFilters = "GlobalFilters" + case resourceType = "ResourceType" + case targets = "Targets" case description = "Description" } } - public struct DescribePatchGroupStateRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PatchGroup", required: true, type: .string) - ] - /// The name of the patch group whose patch snapshot should be retrieved. - public let patchGroup: String - - public init(patchGroup: String) { - self.patchGroup = patchGroup - } - - private enum CodingKeys: String, CodingKey { - case patchGroup = "PatchGroup" - } - } - - public struct InventoryFilter: AWSShape { + public struct FailureDetails: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Type", required: false, type: .enum), - AWSShapeMember(label: "Key", required: true, type: .string), - AWSShapeMember(label: "Values", required: true, type: .list) + AWSShapeMember(label: "FailureType", required: false, type: .string), + AWSShapeMember(label: "Details", required: false, type: .map), + AWSShapeMember(label: "FailureStage", required: false, type: .string) ] - /// The type of filter. Valid values include the following: "Equal"|"NotEqual"|"BeginWith"|"LessThan"|"GreaterThan" - public let `type`: InventoryQueryOperatorType? - /// The name of the filter key. - public let key: String - /// Inventory filter values. Example: inventory filter where instance IDs are specified as values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g, i-1a2b3c4d5e6,Type=Equal - public let values: [String] + /// The type of Automation failure. Failure types include the following: Action, Permission, Throttling, Verification, Internal. + public let failureType: String? + /// Detailed information about the Automation step failure. + public let details: [String: [String]]? + /// The stage of the Automation execution when the failure occurred. The stages include the following: InputValidation, PreVerification, Invocation, PostVerification. + public let failureStage: String? - public init(type: InventoryQueryOperatorType? = nil, key: String, values: [String]) { - self.`type` = `type` - self.key = key - self.values = values + public init(failureType: String? = nil, details: [String: [String]]? = nil, failureStage: String? = nil) { + self.failureType = failureType + self.details = details + self.failureStage = failureStage } private enum CodingKeys: String, CodingKey { - case `type` = "Type" - case key = "Key" - case values = "Values" + case failureType = "FailureType" + case details = "Details" + case failureStage = "FailureStage" } } - public struct ListCommandsResult: AWSShape { + public struct GetInventorySchemaRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "Aggregator", required: false, type: .boolean), + AWSShapeMember(label: "SubType", required: false, type: .boolean), AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Commands", required: false, type: .list) + AWSShapeMember(label: "TypeName", required: false, type: .string) ] - /// (Optional) The token for the next set of items to return. (You received this token from a previous call.) + /// 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. + public let maxResults: Int32? + /// 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. + public let aggregator: Bool? + /// Returns the sub-type schema for a specified inventory type. + public let subType: Bool? + /// The token for the next set of items to return. (You received this token from a previous call.) public let nextToken: String? - /// (Optional) The list of commands requested by the user. - public let commands: [Command]? + /// The type of inventory item to return. + public let typeName: String? - public init(nextToken: String? = nil, commands: [Command]? = nil) { + public init(maxResults: Int32? = nil, aggregator: Bool? = nil, subType: Bool? = nil, nextToken: String? = nil, typeName: String? = nil) { + self.maxResults = maxResults + self.aggregator = aggregator + self.subType = subType self.nextToken = nextToken - self.commands = commands + self.typeName = typeName } private enum CodingKeys: String, CodingKey { + case maxResults = "MaxResults" + case aggregator = "Aggregator" + case subType = "SubType" case nextToken = "NextToken" - case commands = "Commands" - } - } - - public enum DocumentParameterType: String, CustomStringConvertible, Codable { - case string = "String" - case stringlist = "StringList" - public var description: String { return self.rawValue } - } - - public struct ResourceComplianceSummaryItem: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CompliantSummary", required: false, type: .structure), - AWSShapeMember(label: "Status", required: false, type: .enum), - AWSShapeMember(label: "ComplianceType", required: false, type: .string), - AWSShapeMember(label: "OverallSeverity", required: false, type: .enum), - AWSShapeMember(label: "ResourceType", required: false, type: .string), - AWSShapeMember(label: "NonCompliantSummary", required: false, type: .structure), - AWSShapeMember(label: "ExecutionSummary", required: false, type: .structure), - AWSShapeMember(label: "ResourceId", required: false, type: .string) + case typeName = "TypeName" + } + } + + public struct DescribeInventoryDeletionsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "InventoryDeletions", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// A list of items that are compliant for the resource. - public let compliantSummary: CompliantSummary? - /// The compliance status for the resource. - public let status: ComplianceStatus? - /// The compliance type. - public let complianceType: String? - /// The highest severity item found for the resource. The resource is compliant for this item. - public let overallSeverity: ComplianceSeverity? - /// The resource type. - public let resourceType: String? - /// A list of items that aren't compliant for the resource. - public let nonCompliantSummary: NonCompliantSummary? - /// Information about the execution. - public let executionSummary: ComplianceExecutionSummary? - /// The resource ID. - public let resourceId: String? + /// A list of status items for deleted inventory. + public let inventoryDeletions: [InventoryDeletionStatusItem]? + /// The token for the next set of items to return. Use this token to get the next set of results. + public let nextToken: String? - public init(compliantSummary: CompliantSummary? = nil, status: ComplianceStatus? = nil, complianceType: String? = nil, overallSeverity: ComplianceSeverity? = nil, resourceType: String? = nil, nonCompliantSummary: NonCompliantSummary? = nil, executionSummary: ComplianceExecutionSummary? = nil, resourceId: String? = nil) { - self.compliantSummary = compliantSummary - self.status = status - self.complianceType = complianceType - self.overallSeverity = overallSeverity - self.resourceType = resourceType - self.nonCompliantSummary = nonCompliantSummary - self.executionSummary = executionSummary - self.resourceId = resourceId + public init(inventoryDeletions: [InventoryDeletionStatusItem]? = nil, nextToken: String? = nil) { + self.inventoryDeletions = inventoryDeletions + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case compliantSummary = "CompliantSummary" - case status = "Status" - case complianceType = "ComplianceType" - case overallSeverity = "OverallSeverity" - case resourceType = "ResourceType" - case nonCompliantSummary = "NonCompliantSummary" - case executionSummary = "ExecutionSummary" - case resourceId = "ResourceId" + case inventoryDeletions = "InventoryDeletions" + case nextToken = "NextToken" } } - public struct GetPatchBaselineForPatchGroupResult: AWSShape { + public struct CreatePatchBaselineRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClientToken", required: false, type: .string), + AWSShapeMember(label: "ApprovedPatches", required: false, type: .list), + AWSShapeMember(label: "Name", required: true, type: .string), AWSShapeMember(label: "OperatingSystem", required: false, type: .enum), - AWSShapeMember(label: "BaselineId", required: false, type: .string), - AWSShapeMember(label: "PatchGroup", required: false, type: .string) + AWSShapeMember(label: "RejectedPatches", required: false, type: .list), + AWSShapeMember(label: "ApprovedPatchesComplianceLevel", required: false, type: .enum), + AWSShapeMember(label: "ApprovalRules", required: false, type: .structure), + AWSShapeMember(label: "Sources", required: false, type: .list), + AWSShapeMember(label: "ApprovedPatchesEnableNonSecurity", required: false, type: .boolean), + AWSShapeMember(label: "GlobalFilters", required: false, type: .structure), + AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The operating system rule specified for patch groups using the patch baseline. + /// User-provided idempotency token. + public let clientToken: String? + /// 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. + public let approvedPatches: [String]? + /// The name of the patch baseline. + public let name: String + /// Defines the operating system the patch baseline applies to. The Default value is WINDOWS. public let operatingSystem: OperatingSystem? - /// The ID of the patch baseline that should be used for the patch group. - public let baselineId: String? - /// The name of the patch group. - public let patchGroup: String? + /// 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. + public let rejectedPatches: [String]? + /// 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. + public let approvedPatchesComplianceLevel: PatchComplianceLevel? + /// A set of rules used to include patches in the baseline. + public let approvalRules: PatchRuleGroup? + /// Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only. + public let sources: [PatchSource]? + /// 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. + public let approvedPatchesEnableNonSecurity: Bool? + /// A set of global filters used to exclude patches from the baseline. + public let globalFilters: PatchFilterGroup? + /// A description of the patch baseline. + public let description: String? - public init(operatingSystem: OperatingSystem? = nil, baselineId: String? = nil, patchGroup: String? = nil) { + public init(clientToken: String? = nil, approvedPatches: [String]? = nil, name: String, operatingSystem: OperatingSystem? = nil, rejectedPatches: [String]? = nil, approvedPatchesComplianceLevel: PatchComplianceLevel? = nil, approvalRules: PatchRuleGroup? = nil, sources: [PatchSource]? = nil, approvedPatchesEnableNonSecurity: Bool? = nil, globalFilters: PatchFilterGroup? = nil, description: String? = nil) { + self.clientToken = clientToken + self.approvedPatches = approvedPatches + self.name = name self.operatingSystem = operatingSystem - self.baselineId = baselineId - self.patchGroup = patchGroup + self.rejectedPatches = rejectedPatches + self.approvedPatchesComplianceLevel = approvedPatchesComplianceLevel + self.approvalRules = approvalRules + self.sources = sources + self.approvedPatchesEnableNonSecurity = approvedPatchesEnableNonSecurity + self.globalFilters = globalFilters + self.description = description } private enum CodingKeys: String, CodingKey { + case clientToken = "ClientToken" + case approvedPatches = "ApprovedPatches" + case name = "Name" case operatingSystem = "OperatingSystem" - case baselineId = "BaselineId" - case patchGroup = "PatchGroup" + case rejectedPatches = "RejectedPatches" + case approvedPatchesComplianceLevel = "ApprovedPatchesComplianceLevel" + case approvalRules = "ApprovalRules" + case sources = "Sources" + case approvedPatchesEnableNonSecurity = "ApprovedPatchesEnableNonSecurity" + case globalFilters = "GlobalFilters" + case description = "Description" } } - public struct RegisterPatchBaselineForPatchGroupRequest: AWSShape { + public struct DescribeMaintenanceWindowExecutionTaskInvocationsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BaselineId", required: true, type: .string), - AWSShapeMember(label: "PatchGroup", required: true, type: .string) + AWSShapeMember(label: "WindowExecutionId", required: true, type: .string), + AWSShapeMember(label: "TaskId", required: true, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The ID of the patch baseline to register the patch group with. - public let baselineId: String - /// The name of the patch group that should be registered with the patch baseline. - public let patchGroup: String + /// The ID of the Maintenance Window execution the task is part of. + public let windowExecutionId: String + /// The ID of the specific task in the Maintenance Window task that should be retrieved. + public let taskId: String + /// 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. + public let filters: [MaintenanceWindowFilter]? + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// 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. + public let maxResults: Int32? - public init(baselineId: String, patchGroup: String) { - self.baselineId = baselineId - self.patchGroup = patchGroup + public init(windowExecutionId: String, taskId: String, filters: [MaintenanceWindowFilter]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.windowExecutionId = windowExecutionId + self.taskId = taskId + self.filters = filters + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case baselineId = "BaselineId" - case patchGroup = "PatchGroup" + case windowExecutionId = "WindowExecutionId" + case taskId = "TaskId" + case filters = "Filters" + case nextToken = "NextToken" + case maxResults = "MaxResults" } } - public struct DescribeEffectivePatchesForPatchBaselineRequest: AWSShape { + public struct DescribeInstancePatchesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BaselineId", required: true, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "InstanceId", required: true, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The ID of the patch baseline to retrieve the effective patches for. - public let baselineId: String + /// 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) + public let filters: [PatchOrchestratorFilter]? /// The token for the next set of items to return. (You received this token from a previous call.) public let nextToken: String? + /// The ID of the instance whose patch state information should be retrieved. + public let instanceId: String /// The maximum number of patches to return (per page). public let maxResults: Int32? - public init(baselineId: String, nextToken: String? = nil, maxResults: Int32? = nil) { - self.baselineId = baselineId + public init(filters: [PatchOrchestratorFilter]? = nil, nextToken: String? = nil, instanceId: String, maxResults: Int32? = nil) { + self.filters = filters self.nextToken = nextToken + self.instanceId = instanceId self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case baselineId = "BaselineId" + case filters = "Filters" case nextToken = "NextToken" + case instanceId = "InstanceId" case maxResults = "MaxResults" } } - public struct AssociationVersionInfo: AWSShape { + public struct UpdateMaintenanceWindowTargetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AssociationId", required: false, type: .string), - AWSShapeMember(label: "Parameters", required: false, type: .map), + AWSShapeMember(label: "WindowId", required: true, type: .string), + AWSShapeMember(label: "Replace", required: false, type: .boolean), + AWSShapeMember(label: "OwnerInformation", required: false, type: .string), AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "DocumentVersion", required: false, type: .string), AWSShapeMember(label: "Targets", required: false, type: .list), - AWSShapeMember(label: "OutputLocation", required: false, type: .structure), - AWSShapeMember(label: "AssociationVersion", required: false, type: .string), - AWSShapeMember(label: "ScheduleExpression", required: false, type: .string), - AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), - AWSShapeMember(label: "AssociationName", required: false, type: .string) + AWSShapeMember(label: "WindowTargetId", required: true, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The ID created by the system when the association was created. - public let associationId: String? - /// Parameters specified when the association version was created. - public let parameters: [String: [String]]? - /// The name specified when the association was created. + /// The Maintenance Window ID with which to modify the target. + public let windowId: String + /// 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. + public let replace: Bool? + /// User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window. + public let ownerInformation: String? + /// A name for the update. public let name: String? - /// The version of a Systems Manager document used when the association version was created. - public let documentVersion: String? - /// The targets specified for the association when the association version was created. + /// The targets to add or replace. public let targets: [Target]? - /// The location in Amazon S3 specified for the association when the association version was created. - public let outputLocation: InstanceAssociationOutputLocation? - /// The association version. - public let associationVersion: String? - /// The cron or rate schedule specified for the association when the association version was created. - public let scheduleExpression: String? - /// The date the association version was created. - public let createdDate: TimeStamp? - /// The name specified for the association version when the association version was created. - public let associationName: String? + /// The target ID to modify. + public let windowTargetId: String + /// An optional description for the update. + public let description: String? - public init(associationId: String? = nil, parameters: [String: [String]]? = nil, name: String? = nil, documentVersion: String? = nil, targets: [Target]? = nil, outputLocation: InstanceAssociationOutputLocation? = nil, associationVersion: String? = nil, scheduleExpression: String? = nil, createdDate: TimeStamp? = nil, associationName: String? = nil) { - self.associationId = associationId - self.parameters = parameters + public init(windowId: String, replace: Bool? = nil, ownerInformation: String? = nil, name: String? = nil, targets: [Target]? = nil, windowTargetId: String, description: String? = nil) { + self.windowId = windowId + self.replace = replace + self.ownerInformation = ownerInformation self.name = name - self.documentVersion = documentVersion self.targets = targets - self.outputLocation = outputLocation - self.associationVersion = associationVersion - self.scheduleExpression = scheduleExpression - self.createdDate = createdDate - self.associationName = associationName - } - - private enum CodingKeys: String, CodingKey { - case associationId = "AssociationId" - case parameters = "Parameters" - case name = "Name" - case documentVersion = "DocumentVersion" - case targets = "Targets" - case outputLocation = "OutputLocation" - case associationVersion = "AssociationVersion" - case scheduleExpression = "ScheduleExpression" - case createdDate = "CreatedDate" - case associationName = "AssociationName" - } - } - - public enum ResourceType: String, CustomStringConvertible, Codable { - case managedinstance = "ManagedInstance" - case document = "Document" - case ec2instance = "EC2Instance" - public var description: String { return self.rawValue } - } - - public struct AssociationStatus: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Message", required: true, type: .string), - AWSShapeMember(label: "Name", required: true, type: .enum), - AWSShapeMember(label: "Date", required: true, type: .timestamp), - AWSShapeMember(label: "AdditionalInfo", required: false, type: .string) - ] - /// The reason for the status. - public let message: String - /// The status. - public let name: AssociationStatusName - /// The date when the status changed. - public let date: TimeStamp - /// A user-defined string. - public let additionalInfo: String? - - public init(message: String, name: AssociationStatusName, date: TimeStamp, additionalInfo: String? = nil) { - self.message = message - self.name = name - self.date = date - self.additionalInfo = additionalInfo + self.windowTargetId = windowTargetId + self.description = description } private enum CodingKeys: String, CodingKey { - case message = "Message" + case windowId = "WindowId" + case replace = "Replace" + case ownerInformation = "OwnerInformation" case name = "Name" - case date = "Date" - case additionalInfo = "AdditionalInfo" + case targets = "Targets" + case windowTargetId = "WindowTargetId" + case description = "Description" } } - public struct DescribeInstancePatchStatesForPatchGroupRequest: AWSShape { + public struct ListAssociationVersionsResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "PatchGroup", required: true, type: .string), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "AssociationVersions", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// 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") - public let filters: [InstancePatchStateFilter]? - /// The name of the patch group for which the patch state information should be retrieved. - public let patchGroup: String - /// The token for the next set of items to return. (You received this token from a previous call.) + /// Information about all versions of the association for the specified association ID. + public let associationVersions: [AssociationVersionInfo]? + /// The token for the next set of items to return. Use this token to get the next set of results. public let nextToken: String? - /// The maximum number of patches to return (per page). - public let maxResults: Int32? - public init(filters: [InstancePatchStateFilter]? = nil, patchGroup: String, nextToken: String? = nil, maxResults: Int32? = nil) { - self.filters = filters - self.patchGroup = patchGroup + public init(associationVersions: [AssociationVersionInfo]? = nil, nextToken: String? = nil) { + self.associationVersions = associationVersions self.nextToken = nextToken - self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case filters = "Filters" - case patchGroup = "PatchGroup" + case associationVersions = "AssociationVersions" case nextToken = "NextToken" - case maxResults = "MaxResults" } } - public struct DescribeMaintenanceWindowTasksResult: AWSShape { + public struct DescribeInstancePatchStatesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Tasks", required: false, type: .list) + AWSShapeMember(label: "InstanceIds", required: true, type: .list), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + /// The token for the next set of items to return. (You received this token from a previous call.) public let nextToken: String? - /// Information about the tasks in the Maintenance Window. - public let tasks: [MaintenanceWindowTask]? + /// The ID of the instance whose patch state information should be retrieved. + public let instanceIds: [String] + /// The maximum number of instances to return (per page). + public let maxResults: Int32? - public init(nextToken: String? = nil, tasks: [MaintenanceWindowTask]? = nil) { + public init(nextToken: String? = nil, instanceIds: [String], maxResults: Int32? = nil) { self.nextToken = nextToken - self.tasks = tasks + self.instanceIds = instanceIds + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { case nextToken = "NextToken" - case tasks = "Tasks" + case instanceIds = "InstanceIds" + case maxResults = "MaxResults" } } - public enum PatchFilterKey: String, CustomStringConvertible, Codable { - case product = "PRODUCT" - case classification = "CLASSIFICATION" - case msrcSeverity = "MSRC_SEVERITY" - case patchId = "PATCH_ID" - case section = "SECTION" - case priority = "PRIORITY" - case severity = "SEVERITY" - public var description: String { return self.rawValue } - } - - public struct AutomationExecution: AWSShape { + public struct SendCommandRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CurrentAction", required: false, type: .string), - AWSShapeMember(label: "AutomationExecutionStatus", required: false, type: .enum), + AWSShapeMember(label: "CloudWatchOutputConfig", required: false, type: .structure), + AWSShapeMember(label: "ServiceRoleArn", required: false, type: .string), + AWSShapeMember(label: "OutputS3BucketName", required: false, type: .string), + AWSShapeMember(label: "NotificationConfig", required: false, type: .structure), + AWSShapeMember(label: "Comment", required: false, type: .string), AWSShapeMember(label: "Targets", required: false, type: .list), - AWSShapeMember(label: "ResolvedTargets", required: false, type: .structure), - AWSShapeMember(label: "CurrentStepName", required: false, type: .string), - AWSShapeMember(label: "Outputs", required: false, type: .map), - AWSShapeMember(label: "ExecutionStartTime", required: false, type: .timestamp), - AWSShapeMember(label: "StepExecutions", required: false, type: .list), - AWSShapeMember(label: "Mode", required: false, type: .enum), - AWSShapeMember(label: "ParentAutomationExecutionId", required: false, type: .string), - AWSShapeMember(label: "ExecutionEndTime", required: false, type: .timestamp), - AWSShapeMember(label: "Target", required: false, type: .string), + AWSShapeMember(label: "OutputS3KeyPrefix", required: false, type: .string), + AWSShapeMember(label: "OutputS3Region", required: false, type: .string), + AWSShapeMember(label: "DocumentHashType", required: false, type: .enum), + AWSShapeMember(label: "InstanceIds", required: false, type: .list), AWSShapeMember(label: "MaxErrors", required: false, type: .string), - AWSShapeMember(label: "ExecutedBy", required: false, type: .string), - AWSShapeMember(label: "TargetParameterName", required: false, type: .string), AWSShapeMember(label: "Parameters", required: false, type: .map), - AWSShapeMember(label: "DocumentName", required: false, type: .string), + AWSShapeMember(label: "DocumentName", required: true, type: .string), + AWSShapeMember(label: "DocumentHash", required: false, type: .string), AWSShapeMember(label: "DocumentVersion", required: false, type: .string), AWSShapeMember(label: "MaxConcurrency", required: false, type: .string), - AWSShapeMember(label: "FailureMessage", required: false, type: .string), - AWSShapeMember(label: "AutomationExecutionId", required: false, type: .string), - AWSShapeMember(label: "StepExecutionsTruncated", required: false, type: .boolean) + AWSShapeMember(label: "TimeoutSeconds", required: false, type: .integer) ] - /// The action of the currently executing step. - public let currentAction: String? - /// The execution status of the Automation. - public let automationExecutionStatus: AutomationExecutionStatus? - /// The specified targets. + /// Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs. + public let cloudWatchOutputConfig: CloudWatchOutputConfig? + /// The IAM role that Systems Manager uses to send notifications. + public let serviceRoleArn: String? + /// The name of the S3 bucket where command execution responses should be stored. + public let outputS3BucketName: String? + /// Configurations for sending notifications. + public let notificationConfig: NotificationConfig? + /// User-specified information about the command, such as a brief description of what the command should do. + public let comment: String? + /// (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. public let targets: [Target]? - /// A list of resolved targets in the rate control execution. - public let resolvedTargets: ResolvedTargets? - /// The name of the currently executing step. - public let currentStepName: String? - /// The list of execution outputs as defined in the automation document. - public let outputs: [String: [String]]? - /// The time the execution started. - public let executionStartTime: TimeStamp? - /// 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. - public let stepExecutions: [StepExecution]? - /// The automation execution mode. - public let mode: ExecutionMode? - /// The AutomationExecutionId of the parent automation. - public let parentAutomationExecutionId: String? - /// The time the execution finished. - public let executionEndTime: TimeStamp? - /// The target of the execution. - public let target: String? - /// The MaxErrors value specified by the user when the execution started. + /// The directory structure within the S3 bucket where the responses should be stored. + public let outputS3KeyPrefix: String? + /// (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region. + public let outputS3Region: String? + /// Sha256 or Sha1. Sha1 hashes have been deprecated. + public let documentHashType: DocumentHashType? + /// 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. + public let instanceIds: [String]? + /// 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. public let maxErrors: String? - /// The Amazon Resource Name (ARN) of the user who executed the automation. - public let executedBy: String? - /// The parameter name. - public let targetParameterName: String? - /// The key-value map of execution parameters, which were supplied when calling StartAutomationExecution. + /// The required and optional parameters specified in the document being executed. public let parameters: [String: [String]]? - /// The name of the Automation document used during the execution. - public let documentName: String? - /// The version of the document to use during execution. + /// Required. The name of the Systems Manager document to execute. This can be a public document or a custom document. + public let documentName: String + /// The Sha256 or Sha1 hash created by the system when the document was created. Sha1 hashes have been deprecated. + public let documentHash: String? + /// 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" public let documentVersion: String? - /// The MaxConcurrency value specified by the user when the execution started. + /// (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. public let maxConcurrency: String? - /// A message describing why an execution has failed, if the status is set to Failed. - public let failureMessage: String? - /// The execution ID. - public let automationExecutionId: String? - /// 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. - public let stepExecutionsTruncated: Bool? + /// If this time is reached and the command has not already started executing, it will not run. + public let timeoutSeconds: Int32? - public init(currentAction: String? = nil, automationExecutionStatus: AutomationExecutionStatus? = nil, targets: [Target]? = nil, resolvedTargets: ResolvedTargets? = nil, currentStepName: String? = nil, outputs: [String: [String]]? = nil, executionStartTime: TimeStamp? = nil, stepExecutions: [StepExecution]? = nil, mode: ExecutionMode? = nil, parentAutomationExecutionId: String? = nil, executionEndTime: TimeStamp? = nil, target: String? = nil, maxErrors: String? = nil, executedBy: String? = nil, targetParameterName: String? = nil, parameters: [String: [String]]? = nil, documentName: String? = nil, documentVersion: String? = nil, maxConcurrency: String? = nil, failureMessage: String? = nil, automationExecutionId: String? = nil, stepExecutionsTruncated: Bool? = nil) { - self.currentAction = currentAction - self.automationExecutionStatus = automationExecutionStatus + public init(cloudWatchOutputConfig: CloudWatchOutputConfig? = nil, serviceRoleArn: String? = nil, outputS3BucketName: String? = nil, notificationConfig: NotificationConfig? = nil, comment: String? = nil, targets: [Target]? = nil, outputS3KeyPrefix: String? = nil, outputS3Region: String? = nil, documentHashType: DocumentHashType? = nil, instanceIds: [String]? = nil, maxErrors: String? = nil, parameters: [String: [String]]? = nil, documentName: String, documentHash: String? = nil, documentVersion: String? = nil, maxConcurrency: String? = nil, timeoutSeconds: Int32? = nil) { + self.cloudWatchOutputConfig = cloudWatchOutputConfig + self.serviceRoleArn = serviceRoleArn + self.outputS3BucketName = outputS3BucketName + self.notificationConfig = notificationConfig + self.comment = comment self.targets = targets - self.resolvedTargets = resolvedTargets - self.currentStepName = currentStepName - self.outputs = outputs - self.executionStartTime = executionStartTime - self.stepExecutions = stepExecutions - self.mode = mode - self.parentAutomationExecutionId = parentAutomationExecutionId - self.executionEndTime = executionEndTime - self.target = target + self.outputS3KeyPrefix = outputS3KeyPrefix + self.outputS3Region = outputS3Region + self.documentHashType = documentHashType + self.instanceIds = instanceIds self.maxErrors = maxErrors - self.executedBy = executedBy - self.targetParameterName = targetParameterName self.parameters = parameters self.documentName = documentName + self.documentHash = documentHash self.documentVersion = documentVersion self.maxConcurrency = maxConcurrency - self.failureMessage = failureMessage - self.automationExecutionId = automationExecutionId - self.stepExecutionsTruncated = stepExecutionsTruncated + self.timeoutSeconds = timeoutSeconds } private enum CodingKeys: String, CodingKey { - case currentAction = "CurrentAction" - case automationExecutionStatus = "AutomationExecutionStatus" + case cloudWatchOutputConfig = "CloudWatchOutputConfig" + case serviceRoleArn = "ServiceRoleArn" + case outputS3BucketName = "OutputS3BucketName" + case notificationConfig = "NotificationConfig" + case comment = "Comment" case targets = "Targets" - case resolvedTargets = "ResolvedTargets" - case currentStepName = "CurrentStepName" - case outputs = "Outputs" - case executionStartTime = "ExecutionStartTime" - case stepExecutions = "StepExecutions" - case mode = "Mode" - case parentAutomationExecutionId = "ParentAutomationExecutionId" - case executionEndTime = "ExecutionEndTime" - case target = "Target" + case outputS3KeyPrefix = "OutputS3KeyPrefix" + case outputS3Region = "OutputS3Region" + case documentHashType = "DocumentHashType" + case instanceIds = "InstanceIds" case maxErrors = "MaxErrors" - case executedBy = "ExecutedBy" - case targetParameterName = "TargetParameterName" case parameters = "Parameters" case documentName = "DocumentName" + case documentHash = "DocumentHash" case documentVersion = "DocumentVersion" case maxConcurrency = "MaxConcurrency" - case failureMessage = "FailureMessage" - case automationExecutionId = "AutomationExecutionId" - case stepExecutionsTruncated = "StepExecutionsTruncated" + case timeoutSeconds = "TimeoutSeconds" + } + } + + public struct AssociationExecutionTarget: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .string), + AWSShapeMember(label: "LastExecutionDate", required: false, type: .timestamp), + AWSShapeMember(label: "AssociationId", required: false, type: .string), + AWSShapeMember(label: "ExecutionId", required: false, type: .string), + AWSShapeMember(label: "ResourceType", required: false, type: .string), + AWSShapeMember(label: "AssociationVersion", required: false, type: .string), + AWSShapeMember(label: "ResourceId", required: false, type: .string), + AWSShapeMember(label: "OutputSource", required: false, type: .structure), + AWSShapeMember(label: "DetailedStatus", required: false, type: .string) + ] + /// The association execution status. + public let status: String? + /// The date of the last execution. + public let lastExecutionDate: TimeStamp? + /// The association ID. + public let associationId: String? + /// 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. + public let executionId: String? + /// The resource type, for example, instance. + public let resourceType: String? + /// The association version. + public let associationVersion: String? + /// The resource ID, for example, the instance ID where the association ran. + public let resourceId: String? + /// The location where the association details are saved. + public let outputSource: OutputSource? + /// Detailed information about the execution status. + public let detailedStatus: String? + + public init(status: String? = nil, lastExecutionDate: TimeStamp? = nil, associationId: String? = nil, executionId: String? = nil, resourceType: String? = nil, associationVersion: String? = nil, resourceId: String? = nil, outputSource: OutputSource? = nil, detailedStatus: String? = nil) { + self.status = status + self.lastExecutionDate = lastExecutionDate + self.associationId = associationId + self.executionId = executionId + self.resourceType = resourceType + self.associationVersion = associationVersion + self.resourceId = resourceId + self.outputSource = outputSource + self.detailedStatus = detailedStatus + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case lastExecutionDate = "LastExecutionDate" + case associationId = "AssociationId" + case executionId = "ExecutionId" + case resourceType = "ResourceType" + case associationVersion = "AssociationVersion" + case resourceId = "ResourceId" + case outputSource = "OutputSource" + case detailedStatus = "DetailedStatus" } } - public struct GetParametersByPathResult: AWSShape { + public enum AssociationExecutionFilterKey: String, CustomStringConvertible, Codable { + case executionid = "ExecutionId" + case status = "Status" + case createdtime = "CreatedTime" + public var description: String { return self.rawValue } + } + + public struct DescribeAutomationStepExecutionsResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Parameters", required: false, type: .list), + AWSShapeMember(label: "StepExecutions", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// A list of parameters found in the specified hierarchy. - public let parameters: [Parameter]? - /// The token for the next set of items to return. Use this token to get the next set of results. + /// A list of details about the current state of all steps that make up an execution. + public let stepExecutions: [StepExecution]? + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. public let nextToken: String? - public init(parameters: [Parameter]? = nil, nextToken: String? = nil) { - self.parameters = parameters + public init(stepExecutions: [StepExecution]? = nil, nextToken: String? = nil) { + self.stepExecutions = stepExecutions self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case parameters = "Parameters" + case stepExecutions = "StepExecutions" case nextToken = "NextToken" } } - public struct MaintenanceWindowTaskParameterValueExpression: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Values", required: false, type: .list) - ] - /// This field contains an array of 0 or more strings, each 1 to 255 characters in length. - public let values: [String]? - - public init(values: [String]? = nil) { - self.values = values - } - - private enum CodingKeys: String, CodingKey { - case values = "Values" - } - } - - public struct Patch: AWSShape { + public struct ComplianceSummaryItem: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Classification", required: false, type: .string), - AWSShapeMember(label: "Product", required: false, type: .string), - AWSShapeMember(label: "Language", required: false, type: .string), - AWSShapeMember(label: "ReleaseDate", required: false, type: .timestamp), - AWSShapeMember(label: "Title", required: false, type: .string), - AWSShapeMember(label: "Id", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "ProductFamily", required: false, type: .string), - AWSShapeMember(label: "Vendor", required: false, type: .string), - AWSShapeMember(label: "MsrcNumber", required: false, type: .string), - AWSShapeMember(label: "KbNumber", required: false, type: .string), - AWSShapeMember(label: "ContentUrl", required: false, type: .string), - AWSShapeMember(label: "MsrcSeverity", required: false, type: .string) + AWSShapeMember(label: "CompliantSummary", required: false, type: .structure), + AWSShapeMember(label: "ComplianceType", required: false, type: .string), + AWSShapeMember(label: "NonCompliantSummary", required: false, type: .structure) ] - /// The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates). - public let classification: String? - /// The specific product the patch is applicable for (for example, WindowsServer2016). - public let product: String? - /// The language of the patch if it's language-specific. - public let language: String? - /// The date the patch was released. - public let releaseDate: TimeStamp? - /// The title of the patch. - public let title: String? - /// The ID of the patch (this is different than the Microsoft Knowledge Base ID). - public let id: String? - /// The description of the patch. - public let description: String? - /// The product family the patch is applicable for (for example, Windows). - public let productFamily: String? - /// The name of the vendor providing the patch. - public let vendor: String? - /// The ID of the MSRC bulletin the patch is related to. - public let msrcNumber: String? - /// The Microsoft Knowledge Base ID of the patch. - public let kbNumber: String? - /// The URL where more information can be obtained about the patch. - public let contentUrl: String? - /// The severity of the patch (for example Critical, Important, Moderate). - public let msrcSeverity: String? + /// A list of COMPLIANT items for the specified compliance type. + public let compliantSummary: CompliantSummary? + /// The type of compliance item. For example, the compliance type can be Association, Patch, or Custom:string. + public let complianceType: String? + /// A list of NON_COMPLIANT items for the specified compliance type. + public let nonCompliantSummary: NonCompliantSummary? - public init(classification: String? = nil, product: String? = nil, language: String? = nil, releaseDate: TimeStamp? = nil, title: String? = nil, id: String? = nil, description: String? = nil, productFamily: String? = nil, vendor: String? = nil, msrcNumber: String? = nil, kbNumber: String? = nil, contentUrl: String? = nil, msrcSeverity: String? = nil) { - self.classification = classification - self.product = product - self.language = language - self.releaseDate = releaseDate - self.title = title - self.id = id - self.description = description - self.productFamily = productFamily - self.vendor = vendor - self.msrcNumber = msrcNumber - self.kbNumber = kbNumber - self.contentUrl = contentUrl - self.msrcSeverity = msrcSeverity + public init(compliantSummary: CompliantSummary? = nil, complianceType: String? = nil, nonCompliantSummary: NonCompliantSummary? = nil) { + self.compliantSummary = compliantSummary + self.complianceType = complianceType + self.nonCompliantSummary = nonCompliantSummary } private enum CodingKeys: String, CodingKey { - case classification = "Classification" - case product = "Product" - case language = "Language" - case releaseDate = "ReleaseDate" - case title = "Title" - case id = "Id" - case description = "Description" - case productFamily = "ProductFamily" - case vendor = "Vendor" - case msrcNumber = "MsrcNumber" - case kbNumber = "KbNumber" - case contentUrl = "ContentUrl" - case msrcSeverity = "MsrcSeverity" + case compliantSummary = "CompliantSummary" + case complianceType = "ComplianceType" + case nonCompliantSummary = "NonCompliantSummary" } } - public struct MaintenanceWindowStepFunctionsParameters: AWSShape { + public struct DescribeDocumentRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Input", required: false, type: .string), - AWSShapeMember(label: "Name", required: false, type: .string) + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string) ] - /// The inputs for the STEP_FUNCTION task. - public let input: String? - /// The name of the STEP_FUNCTION task. - public let name: String? + /// The name of the Systems Manager document. + public let name: String + /// The document version for which you want information. Can be a specific version or the default version. + public let documentVersion: String? - public init(input: String? = nil, name: String? = nil) { - self.input = input + public init(name: String, documentVersion: String? = nil) { self.name = name + self.documentVersion = documentVersion } private enum CodingKeys: String, CodingKey { - case input = "Input" case name = "Name" + case documentVersion = "DocumentVersion" } } - public enum ComplianceStatus: String, CustomStringConvertible, Codable { - case compliant = "COMPLIANT" - case nonCompliant = "NON_COMPLIANT" - public var description: String { return self.rawValue } - } - - public struct DescribeDocumentResult: AWSShape { + public struct GetMaintenanceWindowExecutionTaskInvocationRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Document", required: false, type: .structure) + AWSShapeMember(label: "WindowExecutionId", required: true, type: .string), + AWSShapeMember(label: "TaskId", required: true, type: .string), + AWSShapeMember(label: "InvocationId", required: true, type: .string) ] - /// Information about the Systems Manager document. - public let document: DocumentDescription? + /// The ID of the Maintenance Window execution for which the task is a part. + public let windowExecutionId: String + /// The ID of the specific task in the Maintenance Window task that should be retrieved. + public let taskId: String + /// The invocation ID to retrieve. + public let invocationId: String - public init(document: DocumentDescription? = nil) { - self.document = document + public init(windowExecutionId: String, taskId: String, invocationId: String) { + self.windowExecutionId = windowExecutionId + self.taskId = taskId + self.invocationId = invocationId } private enum CodingKeys: String, CodingKey { - case document = "Document" + case windowExecutionId = "WindowExecutionId" + case taskId = "TaskId" + case invocationId = "InvocationId" } } - public struct DescribeAutomationExecutionsResult: AWSShape { + public struct DescribeInstancePatchStatesForPatchGroupResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "AutomationExecutionMetadataList", required: false, type: .list) + AWSShapeMember(label: "InstancePatchStates", required: false, type: .list) ] /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. public let nextToken: String? - /// The list of details about each automation execution which has occurred which matches the filter specification, if any. - public let automationExecutionMetadataList: [AutomationExecutionMetadata]? + /// The high-level patch state for the requested instances. + public let instancePatchStates: [InstancePatchState]? - public init(nextToken: String? = nil, automationExecutionMetadataList: [AutomationExecutionMetadata]? = nil) { + public init(nextToken: String? = nil, instancePatchStates: [InstancePatchState]? = nil) { self.nextToken = nextToken - self.automationExecutionMetadataList = automationExecutionMetadataList + self.instancePatchStates = instancePatchStates } private enum CodingKeys: String, CodingKey { case nextToken = "NextToken" - case automationExecutionMetadataList = "AutomationExecutionMetadataList" + case instancePatchStates = "InstancePatchStates" } } - public struct RegisterTaskWithMaintenanceWindowRequest: AWSShape { + public enum DocumentPermissionType: String, CustomStringConvertible, Codable { + case share = "Share" + public var description: String { return self.rawValue } + } + + public struct ModifyDocumentPermissionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: true, type: .string), - AWSShapeMember(label: "TaskInvocationParameters", required: false, type: .structure), - AWSShapeMember(label: "ServiceRoleArn", required: true, type: .string), - AWSShapeMember(label: "ClientToken", required: false, type: .string), - AWSShapeMember(label: "Priority", required: false, type: .integer), - AWSShapeMember(label: "Targets", required: true, type: .list), - AWSShapeMember(label: "LoggingInfo", required: false, type: .structure), - AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "MaxErrors", required: true, type: .string), - AWSShapeMember(label: "TaskArn", required: true, type: .string), - AWSShapeMember(label: "TaskType", required: true, type: .enum), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "TaskParameters", required: false, type: .map), - AWSShapeMember(label: "MaxConcurrency", required: true, type: .string) + AWSShapeMember(label: "PermissionType", required: true, type: .enum), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "AccountIdsToRemove", required: false, type: .list), + AWSShapeMember(label: "AccountIdsToAdd", required: false, type: .list) ] - /// The id of the Maintenance Window the task should be added to. - public let windowId: String - /// The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty. - public let taskInvocationParameters: MaintenanceWindowTaskInvocationParameters? - /// The role that should be assumed when executing the task. - public let serviceRoleArn: String - /// User-provided idempotency token. - public let clientToken: String? - /// 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. - public let priority: Int32? - /// 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>. - public let targets: [Target] - /// A structure containing information about an Amazon S3 bucket to write instance-level logs to. - public let loggingInfo: LoggingInfo? - /// An optional description for the task. - public let description: String? - /// The maximum number of errors allowed before this task stops being scheduled. - public let maxErrors: String - /// The ARN of the task to execute - public let taskArn: String - /// The type of task being registered. - public let taskType: MaintenanceWindowTaskType - /// An optional name for the task. - public let name: String? - /// The parameters that should be passed to the task when it is executed. - public let taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? - /// The maximum number of targets this task can be run for in parallel. - public let maxConcurrency: String + /// The permission type for the document. The permission type can be Share. + public let permissionType: DocumentPermissionType + /// The name of the document that you want to share. + public let name: String + /// 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. + public let accountIdsToRemove: [String]? + /// The AWS user accounts that should have access to the document. The account IDs can either be a group of account IDs or All. + public let accountIdsToAdd: [String]? - public init(windowId: String, taskInvocationParameters: MaintenanceWindowTaskInvocationParameters? = nil, serviceRoleArn: String, clientToken: String? = nil, priority: Int32? = nil, targets: [Target], loggingInfo: LoggingInfo? = nil, description: String? = nil, maxErrors: String, taskArn: String, taskType: MaintenanceWindowTaskType, name: String? = nil, taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? = nil, maxConcurrency: String) { - self.windowId = windowId - self.taskInvocationParameters = taskInvocationParameters - self.serviceRoleArn = serviceRoleArn - self.clientToken = clientToken - self.priority = priority - self.targets = targets - self.loggingInfo = loggingInfo - self.description = description - self.maxErrors = maxErrors - self.taskArn = taskArn - self.taskType = taskType + public init(permissionType: DocumentPermissionType, name: String, accountIdsToRemove: [String]? = nil, accountIdsToAdd: [String]? = nil) { + self.permissionType = permissionType self.name = name - self.taskParameters = taskParameters - self.maxConcurrency = maxConcurrency + self.accountIdsToRemove = accountIdsToRemove + self.accountIdsToAdd = accountIdsToAdd } private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case taskInvocationParameters = "TaskInvocationParameters" - case serviceRoleArn = "ServiceRoleArn" - case clientToken = "ClientToken" - case priority = "Priority" - case targets = "Targets" - case loggingInfo = "LoggingInfo" - case description = "Description" - case maxErrors = "MaxErrors" - case taskArn = "TaskArn" - case taskType = "TaskType" + case permissionType = "PermissionType" case name = "Name" - case taskParameters = "TaskParameters" - case maxConcurrency = "MaxConcurrency" + case accountIdsToRemove = "AccountIdsToRemove" + case accountIdsToAdd = "AccountIdsToAdd" } } - public struct CreateAssociationBatchRequestEntry: AWSShape { + public struct RegisterDefaultPatchBaselineRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Parameters", required: false, type: .map), - AWSShapeMember(label: "InstanceId", required: false, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "DocumentVersion", required: false, type: .string), - AWSShapeMember(label: "Targets", required: false, type: .list), - AWSShapeMember(label: "OutputLocation", required: false, type: .structure), - AWSShapeMember(label: "ScheduleExpression", required: false, type: .string), - AWSShapeMember(label: "AssociationName", required: false, type: .string) + AWSShapeMember(label: "BaselineId", required: true, type: .string) ] - /// A description of the parameters for a document. - public let parameters: [String: [String]]? - /// The ID of the instance. - public let instanceId: String? - /// The name of the configuration document. - public let name: String - /// The document version. - public let documentVersion: String? - /// The instances targeted by the request. - public let targets: [Target]? - /// An Amazon S3 bucket where you want to store the results of this request. - public let outputLocation: InstanceAssociationOutputLocation? - /// A cron expression that specifies a schedule when the association runs. - public let scheduleExpression: String? - /// Specify a descriptive name for the association. - public let associationName: String? + /// The ID of the patch baseline that should be the default patch baseline. + public let baselineId: String - public init(parameters: [String: [String]]? = nil, instanceId: String? = nil, name: String, documentVersion: String? = nil, targets: [Target]? = nil, outputLocation: InstanceAssociationOutputLocation? = nil, scheduleExpression: String? = nil, associationName: String? = nil) { - self.parameters = parameters - self.instanceId = instanceId - self.name = name - self.documentVersion = documentVersion - self.targets = targets - self.outputLocation = outputLocation - self.scheduleExpression = scheduleExpression - self.associationName = associationName + public init(baselineId: String) { + self.baselineId = baselineId } private enum CodingKeys: String, CodingKey { - case parameters = "Parameters" - case instanceId = "InstanceId" - case name = "Name" - case documentVersion = "DocumentVersion" - case targets = "Targets" - case outputLocation = "OutputLocation" - case scheduleExpression = "ScheduleExpression" - case associationName = "AssociationName" + case baselineId = "BaselineId" } } - public enum NotificationType: String, CustomStringConvertible, Codable { - case command = "Command" - case invocation = "Invocation" - public var description: String { return self.rawValue } - } + public struct PatchComplianceData: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Severity", required: true, type: .string), + AWSShapeMember(label: "Classification", required: true, type: .string), + AWSShapeMember(label: "InstalledTime", required: true, type: .timestamp), + AWSShapeMember(label: "Title", required: true, type: .string), + AWSShapeMember(label: "State", required: true, type: .enum), + AWSShapeMember(label: "KBId", required: true, type: .string) + ] + /// The severity of the patch (for example, Critical, Important, Moderate). + public let severity: String + /// The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates). + public let classification: String + /// The date/time the patch was installed on the instance. Note that not all operating systems provide this level of information. + public let installedTime: TimeStamp + /// The title of the patch. + public let title: String + /// The state of the patch on the instance (INSTALLED, INSTALLED_OTHER, MISSING, NOT_APPLICABLE or FAILED). + public let state: PatchComplianceDataState + /// The operating system-specific ID of the patch. + public let kBId: String - public struct CancelCommandResult: AWSShape { + public init(severity: String, classification: String, installedTime: TimeStamp, title: String, state: PatchComplianceDataState, kBId: String) { + self.severity = severity + self.classification = classification + self.installedTime = installedTime + self.title = title + self.state = state + self.kBId = kBId + } + private enum CodingKeys: String, CodingKey { + case severity = "Severity" + case classification = "Classification" + case installedTime = "InstalledTime" + case title = "Title" + case state = "State" + case kBId = "KBId" + } } - public enum AssociationFilterKey: String, CustomStringConvertible, Codable { - case instanceid = "InstanceId" - case name = "Name" - case associationid = "AssociationId" - case associationstatusname = "AssociationStatusName" - case lastexecutedbefore = "LastExecutedBefore" - case lastexecutedafter = "LastExecutedAfter" - case associationname = "AssociationName" - public var description: String { return self.rawValue } + public struct DeregisterTaskFromMaintenanceWindowResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WindowId", required: false, type: .string), + AWSShapeMember(label: "WindowTaskId", required: false, type: .string) + ] + /// The ID of the Maintenance Window the task was removed from. + public let windowId: String? + /// The ID of the task removed from the Maintenance Window. + public let windowTaskId: String? + + public init(windowId: String? = nil, windowTaskId: String? = nil) { + self.windowId = windowId + self.windowTaskId = windowTaskId + } + + private enum CodingKeys: String, CodingKey { + case windowId = "WindowId" + case windowTaskId = "WindowTaskId" + } } - public struct GetDefaultPatchBaselineRequest: AWSShape { + public struct DescribeMaintenanceWindowTasksRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OperatingSystem", required: false, type: .enum) + AWSShapeMember(label: "WindowId", required: true, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// Returns the default patch baseline for the specified operating system. - public let operatingSystem: OperatingSystem? + /// The ID of the Maintenance Window whose tasks should be retrieved. + public let windowId: String + /// Optional filters used to narrow down the scope of the returned tasks. The supported filter keys are WindowTaskId, TaskArn, Priority, and TaskType. + public let filters: [MaintenanceWindowFilter]? + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// 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. + public let maxResults: Int32? - public init(operatingSystem: OperatingSystem? = nil) { - self.operatingSystem = operatingSystem + public init(windowId: String, filters: [MaintenanceWindowFilter]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.windowId = windowId + self.filters = filters + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case operatingSystem = "OperatingSystem" + case windowId = "WindowId" + case filters = "Filters" + case nextToken = "NextToken" + case maxResults = "MaxResults" } } - public struct ResourceDataSyncS3Destination: AWSShape { + public struct DescribeAutomationExecutionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Prefix", required: false, type: .string), - AWSShapeMember(label: "BucketName", required: true, type: .string), - AWSShapeMember(label: "SyncFormat", required: true, type: .enum), - AWSShapeMember(label: "Region", required: true, type: .string), - AWSShapeMember(label: "AWSKMSKeyARN", required: false, type: .string) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// An Amazon S3 prefix for the bucket. - public let prefix: String? - /// The name of the Amazon S3 bucket where the aggregated data is stored. - public let bucketName: String - /// A supported sync format. The following format is currently supported: JsonSerDe - public let syncFormat: ResourceDataSyncS3Format - /// The AWS Region with the Amazon S3 bucket targeted by the Resource Data Sync. - public let region: String - /// The ARN of an encryption key for a destination in Amazon S3. Must belong to the same region as the destination Amazon S3 bucket. - public let aWSKMSKeyARN: String? + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// Filters used to limit the scope of executions that are requested. + public let filters: [AutomationExecutionFilter]? + /// 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. + public let maxResults: Int32? - public init(prefix: String? = nil, bucketName: String, syncFormat: ResourceDataSyncS3Format, region: String, aWSKMSKeyARN: String? = nil) { - self.prefix = prefix - self.bucketName = bucketName - self.syncFormat = syncFormat - self.region = region - self.aWSKMSKeyARN = aWSKMSKeyARN + public init(nextToken: String? = nil, filters: [AutomationExecutionFilter]? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.filters = filters + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case prefix = "Prefix" - case bucketName = "BucketName" - case syncFormat = "SyncFormat" - case region = "Region" - case aWSKMSKeyARN = "AWSKMSKeyARN" + case nextToken = "NextToken" + case filters = "Filters" + case maxResults = "MaxResults" } } - public struct ParameterHistory: AWSShape { + public struct GetMaintenanceWindowResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "KeyId", required: false, type: .string), + AWSShapeMember(label: "WindowId", required: false, type: .string), + AWSShapeMember(label: "ModifiedDate", required: false, type: .timestamp), AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "Version", required: false, type: .long), - AWSShapeMember(label: "LastModifiedDate", required: false, type: .timestamp), - AWSShapeMember(label: "AllowedPattern", required: false, type: .string), - AWSShapeMember(label: "Type", required: false, type: .enum), - AWSShapeMember(label: "Value", required: false, type: .string), - AWSShapeMember(label: "LastModifiedUser", required: false, type: .string), + AWSShapeMember(label: "Enabled", required: false, type: .boolean), + AWSShapeMember(label: "AllowUnassociatedTargets", required: false, type: .boolean), + AWSShapeMember(label: "Schedule", required: false, type: .string), + AWSShapeMember(label: "Cutoff", required: false, type: .integer), + AWSShapeMember(label: "Duration", required: false, type: .integer), + AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The ID of the query key used for this parameter. - public let keyId: String? - /// The name of the parameter. + /// The ID of the created Maintenance Window. + public let windowId: String? + /// The date the Maintenance Window was last modified. + public let modifiedDate: TimeStamp? + /// The name of the Maintenance Window. public let name: String? - /// The parameter version. - public let version: Int64? - /// Date the parameter was last changed or updated. - public let lastModifiedDate: TimeStamp? - /// Parameter names can include the following letters and symbols. a-zA-Z0-9_.- - public let allowedPattern: String? - /// The type of parameter used. - public let `type`: ParameterType? - /// The parameter value. - public let value: String? - /// Amazon Resource Name (ARN) of the AWS user who last changed the parameter. - public let lastModifiedUser: String? - /// Information about the parameter. + /// Whether the Maintenance Windows is enabled. + public let enabled: Bool? + /// Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets. + public let allowUnassociatedTargets: Bool? + /// The schedule of the Maintenance Window in the form of a cron or rate expression. + public let schedule: String? + /// The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution. + public let cutoff: Int32? + /// The duration of the Maintenance Window in hours. + public let duration: Int32? + /// The date the Maintenance Window was created. + public let createdDate: TimeStamp? + /// The description of the Maintenance Window. public let description: String? - public init(keyId: String? = nil, name: String? = nil, version: Int64? = nil, lastModifiedDate: TimeStamp? = nil, allowedPattern: String? = nil, type: ParameterType? = nil, value: String? = nil, lastModifiedUser: String? = nil, description: String? = nil) { - self.keyId = keyId + public init(windowId: String? = nil, modifiedDate: TimeStamp? = nil, name: String? = nil, enabled: Bool? = nil, allowUnassociatedTargets: Bool? = nil, schedule: String? = nil, cutoff: Int32? = nil, duration: Int32? = nil, createdDate: TimeStamp? = nil, description: String? = nil) { + self.windowId = windowId + self.modifiedDate = modifiedDate self.name = name - self.version = version - self.lastModifiedDate = lastModifiedDate - self.allowedPattern = allowedPattern - self.`type` = `type` - self.value = value - self.lastModifiedUser = lastModifiedUser + self.enabled = enabled + self.allowUnassociatedTargets = allowUnassociatedTargets + self.schedule = schedule + self.cutoff = cutoff + self.duration = duration + self.createdDate = createdDate self.description = description } private enum CodingKeys: String, CodingKey { - case keyId = "KeyId" + case windowId = "WindowId" + case modifiedDate = "ModifiedDate" case name = "Name" - case version = "Version" - case lastModifiedDate = "LastModifiedDate" - case allowedPattern = "AllowedPattern" - case `type` = "Type" - case value = "Value" - case lastModifiedUser = "LastModifiedUser" + case enabled = "Enabled" + case allowUnassociatedTargets = "AllowUnassociatedTargets" + case schedule = "Schedule" + case cutoff = "Cutoff" + case duration = "Duration" + case createdDate = "CreatedDate" case description = "Description" } } - public enum MaintenanceWindowTaskType: String, CustomStringConvertible, Codable { - case runCommand = "RUN_COMMAND" - case automation = "AUTOMATION" - case stepFunctions = "STEP_FUNCTIONS" - case lambda = "LAMBDA" - public var description: String { return self.rawValue } - } - - public struct PatchOrchestratorFilter: AWSShape { + public struct LoggingInfo: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Key", required: false, type: .string), - AWSShapeMember(label: "Values", required: false, type: .list) + AWSShapeMember(label: "S3KeyPrefix", required: false, type: .string), + AWSShapeMember(label: "S3Region", required: true, type: .string), + AWSShapeMember(label: "S3BucketName", required: true, type: .string) ] - /// The key for the filter. - public let key: String? - /// The value for the filter. - public let values: [String]? + /// (Optional) The Amazon S3 bucket subfolder. + public let s3KeyPrefix: String? + /// The region where the Amazon S3 bucket is located. + public let s3Region: String + /// The name of an Amazon S3 bucket where execution logs are stored . + public let s3BucketName: String - public init(key: String? = nil, values: [String]? = nil) { - self.key = key - self.values = values + public init(s3KeyPrefix: String? = nil, s3Region: String, s3BucketName: String) { + self.s3KeyPrefix = s3KeyPrefix + self.s3Region = s3Region + self.s3BucketName = s3BucketName } private enum CodingKeys: String, CodingKey { - case key = "Key" - case values = "Values" + case s3KeyPrefix = "S3KeyPrefix" + case s3Region = "S3Region" + case s3BucketName = "S3BucketName" } } - public enum CommandFilterKey: String, CustomStringConvertible, Codable { - case invokedafter = "InvokedAfter" - case invokedbefore = "InvokedBefore" - case status = "Status" - public var description: String { return self.rawValue } - } + public struct DescribeAssociationResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AssociationDescription", required: false, type: .structure) + ] + /// Information about the association. + public let associationDescription: AssociationDescription? - public enum ResourceDataSyncS3Format: String, CustomStringConvertible, Codable { - case jsonserde = "JsonSerDe" - public var description: String { return self.rawValue } + public init(associationDescription: AssociationDescription? = nil) { + self.associationDescription = associationDescription + } + + private enum CodingKeys: String, CodingKey { + case associationDescription = "AssociationDescription" + } } - public struct UpdateDocumentResult: AWSShape { + public struct InventoryItem: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DocumentDescription", required: false, type: .structure) + AWSShapeMember(label: "CaptureTime", required: true, type: .string), + AWSShapeMember(label: "Context", required: false, type: .map), + AWSShapeMember(label: "Content", required: false, type: .list), + AWSShapeMember(label: "SchemaVersion", required: true, type: .string), + AWSShapeMember(label: "ContentHash", required: false, type: .string), + AWSShapeMember(label: "TypeName", required: true, type: .string) ] - /// A description of the document that was updated. - public let documentDescription: DocumentDescription? + /// The time the inventory information was collected. + public let captureTime: String + /// 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. + public let context: [String: String]? + /// The inventory data of the inventory type. + public let content: [[String: String]]? + /// The schema version for the inventory item. + public let schemaVersion: String + /// 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. + public let contentHash: String? + /// 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. + public let typeName: String - public init(documentDescription: DocumentDescription? = nil) { - self.documentDescription = documentDescription + public init(captureTime: String, context: [String: String]? = nil, content: [[String: String]]? = nil, schemaVersion: String, contentHash: String? = nil, typeName: String) { + self.captureTime = captureTime + self.context = context + self.content = content + self.schemaVersion = schemaVersion + self.contentHash = contentHash + self.typeName = typeName } private enum CodingKeys: String, CodingKey { - case documentDescription = "DocumentDescription" + case captureTime = "CaptureTime" + case context = "Context" + case content = "Content" + case schemaVersion = "SchemaVersion" + case contentHash = "ContentHash" + case typeName = "TypeName" } } - public struct InventoryItemAttribute: AWSShape { + public struct DeletePatchBaselineResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DataType", required: true, type: .enum), - AWSShapeMember(label: "Name", required: true, type: .string) + AWSShapeMember(label: "BaselineId", required: false, type: .string) ] - /// The data type of the inventory item attribute. - public let dataType: InventoryAttributeDataType - /// Name of the inventory item attribute. - public let name: String + /// The ID of the deleted patch baseline. + public let baselineId: String? - public init(dataType: InventoryAttributeDataType, name: String) { - self.dataType = dataType - self.name = name + public init(baselineId: String? = nil) { + self.baselineId = baselineId } private enum CodingKeys: String, CodingKey { - case dataType = "DataType" - case name = "Name" + case baselineId = "BaselineId" } } - public struct DocumentDescription: AWSShape { + public struct CancelCommandRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Sha1", required: false, type: .string), - AWSShapeMember(label: "Tags", required: false, type: .list), - AWSShapeMember(label: "DefaultVersion", required: false, type: .string), - AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), - AWSShapeMember(label: "DocumentFormat", required: false, type: .enum), - AWSShapeMember(label: "Owner", required: false, type: .string), - AWSShapeMember(label: "DocumentType", required: false, type: .enum), - AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "Status", required: false, type: .enum), - AWSShapeMember(label: "Parameters", required: false, type: .list), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "DocumentVersion", required: false, type: .string), - AWSShapeMember(label: "SchemaVersion", required: false, type: .string), - AWSShapeMember(label: "LatestVersion", required: false, type: .string), - AWSShapeMember(label: "TargetType", required: false, type: .string), - AWSShapeMember(label: "PlatformTypes", required: false, type: .list), - AWSShapeMember(label: "HashType", required: false, type: .enum), - AWSShapeMember(label: "Hash", required: false, type: .string) + AWSShapeMember(label: "CommandId", required: true, type: .string), + AWSShapeMember(label: "InstanceIds", required: false, type: .list) ] - /// The SHA1 hash of the document, which you can use for verification. - public let sha1: String? - /// The tags, or metadata, that have been applied to the document. - public let tags: [Tag]? - /// The default version. - public let defaultVersion: String? - /// The date when the document was created. - public let createdDate: TimeStamp? - /// The document format, either JSON or YAML. - public let documentFormat: DocumentFormat? - /// The AWS user account that created the document. - public let owner: String? - /// The type of document. - public let documentType: DocumentType? - /// A description of the document. - public let description: String? - /// The status of the Systems Manager document. - public let status: DocumentStatus? - /// A description of the parameters for a document. - public let parameters: [DocumentParameter]? - /// The name of the Systems Manager document. - public let name: String? - /// The document version. - public let documentVersion: String? - /// The schema version. - public let schemaVersion: String? - /// The latest version of the document. - public let latestVersion: String? - /// 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. - public let targetType: String? - /// The list of OS platforms compatible with this Systems Manager document. - public let platformTypes: [PlatformType]? - /// Sha256 or Sha1. Sha1 hashes have been deprecated. - public let hashType: DocumentHashType? - /// The Sha256 or Sha1 hash created by the system when the document was created. Sha1 hashes have been deprecated. - public let hash: String? + /// The ID of the command you want to cancel. + public let commandId: String + /// (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. + public let instanceIds: [String]? - public init(sha1: String? = nil, tags: [Tag]? = nil, defaultVersion: String? = nil, createdDate: TimeStamp? = nil, documentFormat: DocumentFormat? = nil, owner: String? = nil, documentType: DocumentType? = nil, description: String? = nil, status: DocumentStatus? = nil, parameters: [DocumentParameter]? = nil, name: String? = nil, documentVersion: String? = nil, schemaVersion: String? = nil, latestVersion: String? = nil, targetType: String? = nil, platformTypes: [PlatformType]? = nil, hashType: DocumentHashType? = nil, hash: String? = nil) { - self.sha1 = sha1 - self.tags = tags - self.defaultVersion = defaultVersion - self.createdDate = createdDate - self.documentFormat = documentFormat - self.owner = owner - self.documentType = documentType - self.description = description - self.status = status - self.parameters = parameters - self.name = name - self.documentVersion = documentVersion - self.schemaVersion = schemaVersion - self.latestVersion = latestVersion - self.targetType = targetType - self.platformTypes = platformTypes - self.hashType = hashType - self.hash = hash + public init(commandId: String, instanceIds: [String]? = nil) { + self.commandId = commandId + self.instanceIds = instanceIds } private enum CodingKeys: String, CodingKey { - case sha1 = "Sha1" - case tags = "Tags" - case defaultVersion = "DefaultVersion" - case createdDate = "CreatedDate" - case documentFormat = "DocumentFormat" - case owner = "Owner" - case documentType = "DocumentType" - case description = "Description" - case status = "Status" - case parameters = "Parameters" - case name = "Name" - case documentVersion = "DocumentVersion" - case schemaVersion = "SchemaVersion" - case latestVersion = "LatestVersion" - case targetType = "TargetType" - case platformTypes = "PlatformTypes" - case hashType = "HashType" - case hash = "Hash" + case commandId = "CommandId" + case instanceIds = "InstanceIds" } } - public struct DeregisterPatchBaselineForPatchGroupRequest: AWSShape { + public enum DocumentFormat: String, CustomStringConvertible, Codable { + case yaml = "YAML" + case json = "JSON" + public var description: String { return self.rawValue } + } + + public enum DocumentType: String, CustomStringConvertible, Codable { + case command = "Command" + case policy = "Policy" + case automation = "Automation" + public var description: String { return self.rawValue } + } + + public struct ListResourceComplianceSummariesResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BaselineId", required: true, type: .string), - AWSShapeMember(label: "PatchGroup", required: true, type: .string) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ResourceComplianceSummaryItems", required: false, type: .list) ] - /// The ID of the patch baseline to deregister the patch group from. - public let baselineId: String - /// The name of the patch group that should be deregistered from the patch baseline. - public let patchGroup: String + /// The token for the next set of items to return. Use this token to get the next set of results. + public let nextToken: String? + /// 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. + public let resourceComplianceSummaryItems: [ResourceComplianceSummaryItem]? - public init(baselineId: String, patchGroup: String) { - self.baselineId = baselineId - self.patchGroup = patchGroup + public init(nextToken: String? = nil, resourceComplianceSummaryItems: [ResourceComplianceSummaryItem]? = nil) { + self.nextToken = nextToken + self.resourceComplianceSummaryItems = resourceComplianceSummaryItems } private enum CodingKeys: String, CodingKey { - case baselineId = "BaselineId" - case patchGroup = "PatchGroup" + case nextToken = "NextToken" + case resourceComplianceSummaryItems = "ResourceComplianceSummaryItems" } } - public struct InstanceInformationFilter: AWSShape { + public struct InstanceInformation: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "key", required: true, type: .enum), - AWSShapeMember(label: "valueSet", required: true, type: .list) + AWSShapeMember(label: "LastSuccessfulAssociationExecutionDate", required: false, type: .timestamp), + AWSShapeMember(label: "IsLatestVersion", required: false, type: .boolean), + AWSShapeMember(label: "AssociationOverview", required: false, type: .structure), + AWSShapeMember(label: "IPAddress", required: false, type: .string), + AWSShapeMember(label: "ResourceType", required: false, type: .enum), + AWSShapeMember(label: "PlatformVersion", required: false, type: .string), + AWSShapeMember(label: "ComputerName", required: false, type: .string), + AWSShapeMember(label: "AssociationStatus", required: false, type: .string), + AWSShapeMember(label: "LastAssociationExecutionDate", required: false, type: .timestamp), + AWSShapeMember(label: "IamRole", required: false, type: .string), + AWSShapeMember(label: "PlatformName", required: false, type: .string), + AWSShapeMember(label: "AgentVersion", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "InstanceId", required: false, type: .string), + AWSShapeMember(label: "PingStatus", required: false, type: .enum), + AWSShapeMember(label: "RegistrationDate", required: false, type: .timestamp), + AWSShapeMember(label: "PlatformType", required: false, type: .enum), + AWSShapeMember(label: "ActivationId", required: false, type: .string), + AWSShapeMember(label: "LastPingDateTime", required: false, type: .timestamp) ] - /// The name of the filter. - public let key: InstanceInformationFilterKey - /// The filter values. - public let valueSet: [String] + /// The last date the association was successfully run. + public let lastSuccessfulAssociationExecutionDate: TimeStamp? + /// 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. + public let isLatestVersion: Bool? + /// Information about the association. + public let associationOverview: InstanceAggregatedAssociationOverview? + /// The IP address of the managed instance. + public let iPAddress: String? + /// The type of instance. Instances are either EC2 instances or managed instances. + public let resourceType: ResourceType? + /// The version of the OS platform running on your instance. + public let platformVersion: String? + /// The fully qualified host name of the managed instance. + public let computerName: String? + /// The status of the association. + public let associationStatus: String? + /// The date the association was last executed. + public let lastAssociationExecutionDate: TimeStamp? + /// 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. + public let iamRole: String? + /// The name of the operating system platform running on your instance. + public let platformName: String? + /// The version of SSM Agent running on your Linux instance. + public let agentVersion: String? + /// The name of the managed instance. + public let name: String? + /// The instance ID. + public let instanceId: String? + /// Connection status of SSM Agent. + public let pingStatus: PingStatus? + /// The date the server or VM was registered with AWS as a managed instance. + public let registrationDate: TimeStamp? + /// The operating system platform type. + public let platformType: PlatformType? + /// The activation ID created by Systems Manager when the server or VM was registered. + public let activationId: String? + /// The date and time when agent last pinged Systems Manager service. + public let lastPingDateTime: TimeStamp? - public init(key: InstanceInformationFilterKey, valueSet: [String]) { - self.key = key - self.valueSet = valueSet + public init(lastSuccessfulAssociationExecutionDate: TimeStamp? = nil, isLatestVersion: Bool? = nil, associationOverview: InstanceAggregatedAssociationOverview? = nil, iPAddress: String? = nil, resourceType: ResourceType? = nil, platformVersion: String? = nil, computerName: String? = nil, associationStatus: String? = nil, lastAssociationExecutionDate: TimeStamp? = nil, iamRole: String? = nil, platformName: String? = nil, agentVersion: String? = nil, name: String? = nil, instanceId: String? = nil, pingStatus: PingStatus? = nil, registrationDate: TimeStamp? = nil, platformType: PlatformType? = nil, activationId: String? = nil, lastPingDateTime: TimeStamp? = nil) { + self.lastSuccessfulAssociationExecutionDate = lastSuccessfulAssociationExecutionDate + self.isLatestVersion = isLatestVersion + self.associationOverview = associationOverview + self.iPAddress = iPAddress + self.resourceType = resourceType + self.platformVersion = platformVersion + self.computerName = computerName + self.associationStatus = associationStatus + self.lastAssociationExecutionDate = lastAssociationExecutionDate + self.iamRole = iamRole + self.platformName = platformName + self.agentVersion = agentVersion + self.name = name + self.instanceId = instanceId + self.pingStatus = pingStatus + self.registrationDate = registrationDate + self.platformType = platformType + self.activationId = activationId + self.lastPingDateTime = lastPingDateTime } private enum CodingKeys: String, CodingKey { - case key = "key" - case valueSet = "valueSet" + case lastSuccessfulAssociationExecutionDate = "LastSuccessfulAssociationExecutionDate" + case isLatestVersion = "IsLatestVersion" + case associationOverview = "AssociationOverview" + case iPAddress = "IPAddress" + case resourceType = "ResourceType" + case platformVersion = "PlatformVersion" + case computerName = "ComputerName" + case associationStatus = "AssociationStatus" + case lastAssociationExecutionDate = "LastAssociationExecutionDate" + case iamRole = "IamRole" + case platformName = "PlatformName" + case agentVersion = "AgentVersion" + case name = "Name" + case instanceId = "InstanceId" + case pingStatus = "PingStatus" + case registrationDate = "RegistrationDate" + case platformType = "PlatformType" + case activationId = "ActivationId" + case lastPingDateTime = "LastPingDateTime" } } - public struct SendAutomationSignalResult: AWSShape { - - } - - public enum ComplianceQueryOperatorType: String, CustomStringConvertible, Codable { - case equal = "EQUAL" - case notEqual = "NOT_EQUAL" - case beginWith = "BEGIN_WITH" - case lessThan = "LESS_THAN" - case greaterThan = "GREATER_THAN" - public var description: String { return self.rawValue } - } - - public struct CreateResourceDataSyncResult: AWSShape { - - } - - public struct DescribeEffectiveInstanceAssociationsRequest: AWSShape { + public struct DescribeActivationsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "InstanceId", required: true, type: .string), + AWSShapeMember(label: "Filters", required: false, type: .list), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The token for the next set of items to return. (You received this token from a previous call.) + /// A token to start the list. Use this token to get the next set of results. public let nextToken: String? - /// The instance ID for which you want to view all associations. - public let instanceId: String + /// A filter to view information about your activations. + public let filters: [DescribeActivationsFilter]? /// 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. public let maxResults: Int32? - public init(nextToken: String? = nil, instanceId: String, maxResults: Int32? = nil) { + public init(nextToken: String? = nil, filters: [DescribeActivationsFilter]? = nil, maxResults: Int32? = nil) { self.nextToken = nextToken - self.instanceId = instanceId + self.filters = filters self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { case nextToken = "NextToken" - case instanceId = "InstanceId" + case filters = "Filters" case maxResults = "MaxResults" } } - public struct ModifyDocumentPermissionResponse: AWSShape { - - } - - public struct DescribeDocumentPermissionRequest: AWSShape { + public struct CreateMaintenanceWindowRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClientToken", required: false, type: .string), AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "PermissionType", required: true, type: .enum) + AWSShapeMember(label: "AllowUnassociatedTargets", required: true, type: .boolean), + AWSShapeMember(label: "Schedule", required: true, type: .string), + AWSShapeMember(label: "Cutoff", required: true, type: .integer), + AWSShapeMember(label: "Duration", required: true, type: .integer), + AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The name of the document for which you are the owner. + /// User-provided idempotency token. + public let clientToken: String? + /// The name of the Maintenance Window. public let name: String - /// The permission type for the document. The permission type can be Share. - public let permissionType: DocumentPermissionType + /// 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. + public let allowUnassociatedTargets: Bool + /// The schedule of the Maintenance Window in the form of a cron or rate expression. + public let schedule: String + /// The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution. + public let cutoff: Int32 + /// The duration of the Maintenance Window in hours. + public let duration: Int32 + /// An optional description for the Maintenance Window. We recommend specifying a description to help you organize your Maintenance Windows. + public let description: String? - public init(name: String, permissionType: DocumentPermissionType) { + public init(clientToken: String? = nil, name: String, allowUnassociatedTargets: Bool, schedule: String, cutoff: Int32, duration: Int32, description: String? = nil) { + self.clientToken = clientToken self.name = name - self.permissionType = permissionType + self.allowUnassociatedTargets = allowUnassociatedTargets + self.schedule = schedule + self.cutoff = cutoff + self.duration = duration + self.description = description } private enum CodingKeys: String, CodingKey { + case clientToken = "ClientToken" case name = "Name" - case permissionType = "PermissionType" + case allowUnassociatedTargets = "AllowUnassociatedTargets" + case schedule = "Schedule" + case cutoff = "Cutoff" + case duration = "Duration" + case description = "Description" } } - public struct PatchFilterGroup: AWSShape { + public struct LabelParameterVersionResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PatchFilters", required: true, type: .list) + AWSShapeMember(label: "InvalidLabels", required: false, type: .list) ] - /// The set of patch filters that make up the group. - public let patchFilters: [PatchFilter] + /// The label does not meet the requirements. For information about parameter label requirements, see Labeling Parameters in the AWS Systems Manager User Guide. + public let invalidLabels: [String]? - public init(patchFilters: [PatchFilter]) { - self.patchFilters = patchFilters + public init(invalidLabels: [String]? = nil) { + self.invalidLabels = invalidLabels } private enum CodingKeys: String, CodingKey { - case patchFilters = "PatchFilters" + case invalidLabels = "InvalidLabels" } } - public struct ComplianceItem: AWSShape { + public enum SignalType: String, CustomStringConvertible, Codable { + case approve = "Approve" + case reject = "Reject" + case startstep = "StartStep" + case stopstep = "StopStep" + case resume = "Resume" + public var description: String { return self.rawValue } + } + + public struct CommandInvocation: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Severity", required: false, type: .enum), + AWSShapeMember(label: "CloudWatchOutputConfig", required: false, type: .structure), + AWSShapeMember(label: "CommandPlugins", required: false, type: .list), + AWSShapeMember(label: "NotificationConfig", required: false, type: .structure), + AWSShapeMember(label: "Comment", required: false, type: .string), + AWSShapeMember(label: "StandardOutputUrl", required: false, type: .string), + AWSShapeMember(label: "ServiceRole", required: false, type: .string), + AWSShapeMember(label: "TraceOutput", required: false, type: .string), AWSShapeMember(label: "Status", required: false, type: .enum), - AWSShapeMember(label: "ComplianceType", required: false, type: .string), - AWSShapeMember(label: "Details", required: false, type: .map), - AWSShapeMember(label: "ResourceType", required: false, type: .string), - AWSShapeMember(label: "Title", required: false, type: .string), - AWSShapeMember(label: "ExecutionSummary", required: false, type: .structure), - AWSShapeMember(label: "ResourceId", required: false, type: .string), - AWSShapeMember(label: "Id", required: false, type: .string) + AWSShapeMember(label: "InstanceName", required: false, type: .string), + AWSShapeMember(label: "RequestedDateTime", required: false, type: .timestamp), + AWSShapeMember(label: "InstanceId", required: false, type: .string), + AWSShapeMember(label: "DocumentName", required: false, type: .string), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string), + AWSShapeMember(label: "StandardErrorUrl", required: false, type: .string), + AWSShapeMember(label: "CommandId", required: false, type: .string), + AWSShapeMember(label: "StatusDetails", required: false, type: .string) ] - /// The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified. - public let severity: ComplianceSeverity? - /// The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT. - public let status: ComplianceStatus? - /// The compliance type. For example, Association (for a State Manager association), Patch, or Custom:string are all valid compliance types. - public let complianceType: String? - /// A "Key": "Value" tag combination for the compliance item. - public let details: [String: String]? - /// The type of resource. ManagedInstance is currently the only supported resource type. - public let resourceType: String? - /// A title for the compliance item. For example, if the compliance item is a Windows patch, the title could be the title of the KB article for the patch. Here's an example: Security Update for Active Directory Federation Services. - public let title: String? - /// A summary for the compliance item. The summary includes an execution ID, the execution type (for example, command), and the execution time. - public let executionSummary: ComplianceExecutionSummary? - /// An ID for the resource. For a managed instance, this is the instance ID. - public let resourceId: String? - /// An ID for the compliance item. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article. Here's an example: KB4010320. - public let id: String? + /// CloudWatch Logs information where you want Systems Manager to send the command output. + public let cloudWatchOutputConfig: CloudWatchOutputConfig? + public let commandPlugins: [CommandPlugin]? + /// Configurations for sending notifications about command status changes on a per instance basis. + public let notificationConfig: NotificationConfig? + /// User-specified information about the command, such as a brief description of what the command should do. + public let comment: String? + /// 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. + public let standardOutputUrl: String? + /// 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. + public let serviceRole: String? + /// Gets the trace output sent by the agent. + public let traceOutput: String? + /// Whether or not the invocation succeeded, failed, or is pending. + public let status: CommandInvocationStatus? + /// 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. + public let instanceName: String? + /// The time and date the request was sent to this instance. + public let requestedDateTime: TimeStamp? + /// The instance ID in which this invocation was requested. + public let instanceId: String? + /// The document name that was requested for execution. + public let documentName: String? + /// The SSM document version. + public let documentVersion: String? + /// 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. + public let standardErrorUrl: String? + /// The command against which this invocation was requested. + public let commandId: String? + /// 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. + public let statusDetails: String? - public init(severity: ComplianceSeverity? = nil, status: ComplianceStatus? = nil, complianceType: String? = nil, details: [String: String]? = nil, resourceType: String? = nil, title: String? = nil, executionSummary: ComplianceExecutionSummary? = nil, resourceId: String? = nil, id: String? = nil) { - self.severity = severity + public init(cloudWatchOutputConfig: CloudWatchOutputConfig? = nil, commandPlugins: [CommandPlugin]? = nil, notificationConfig: NotificationConfig? = nil, comment: String? = nil, standardOutputUrl: String? = nil, serviceRole: String? = nil, traceOutput: String? = nil, status: CommandInvocationStatus? = nil, instanceName: String? = nil, requestedDateTime: TimeStamp? = nil, instanceId: String? = nil, documentName: String? = nil, documentVersion: String? = nil, standardErrorUrl: String? = nil, commandId: String? = nil, statusDetails: String? = nil) { + self.cloudWatchOutputConfig = cloudWatchOutputConfig + self.commandPlugins = commandPlugins + self.notificationConfig = notificationConfig + self.comment = comment + self.standardOutputUrl = standardOutputUrl + self.serviceRole = serviceRole + self.traceOutput = traceOutput self.status = status - self.complianceType = complianceType - self.details = details - self.resourceType = resourceType - self.title = title - self.executionSummary = executionSummary - self.resourceId = resourceId - self.id = id + self.instanceName = instanceName + self.requestedDateTime = requestedDateTime + self.instanceId = instanceId + self.documentName = documentName + self.documentVersion = documentVersion + self.standardErrorUrl = standardErrorUrl + self.commandId = commandId + self.statusDetails = statusDetails } private enum CodingKeys: String, CodingKey { - case severity = "Severity" + case cloudWatchOutputConfig = "CloudWatchOutputConfig" + case commandPlugins = "CommandPlugins" + case notificationConfig = "NotificationConfig" + case comment = "Comment" + case standardOutputUrl = "StandardOutputUrl" + case serviceRole = "ServiceRole" + case traceOutput = "TraceOutput" case status = "Status" - case complianceType = "ComplianceType" - case details = "Details" - case resourceType = "ResourceType" - case title = "Title" - case executionSummary = "ExecutionSummary" - case resourceId = "ResourceId" - case id = "Id" + case instanceName = "InstanceName" + case requestedDateTime = "RequestedDateTime" + case instanceId = "InstanceId" + case documentName = "DocumentName" + case documentVersion = "DocumentVersion" + case standardErrorUrl = "StandardErrorUrl" + case commandId = "CommandId" + case statusDetails = "StatusDetails" } } - public struct CommandFilter: AWSShape { + public struct GetMaintenanceWindowExecutionTaskInvocationResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "key", required: true, type: .enum), - AWSShapeMember(label: "value", required: true, type: .string) + AWSShapeMember(label: "StartTime", required: false, type: .timestamp), + AWSShapeMember(label: "WindowExecutionId", required: false, type: .string), + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "InvocationId", required: false, type: .string), + AWSShapeMember(label: "TaskType", required: false, type: .enum), + AWSShapeMember(label: "Parameters", required: false, type: .string), + AWSShapeMember(label: "ExecutionId", required: false, type: .string), + AWSShapeMember(label: "EndTime", required: false, type: .timestamp), + AWSShapeMember(label: "WindowTargetId", required: false, type: .string), + AWSShapeMember(label: "TaskExecutionId", required: false, type: .string), + AWSShapeMember(label: "StatusDetails", required: false, type: .string), + AWSShapeMember(label: "OwnerInformation", required: false, type: .string) ] - /// The name of the filter. - public let key: CommandFilterKey - /// The filter value. - public let value: String + /// The time that the task started executing on the target. + public let startTime: TimeStamp? + /// The Maintenance Window execution ID. + public let windowExecutionId: String? + /// The task status for an invocation. + public let status: MaintenanceWindowExecutionStatus? + /// The invocation ID. + public let invocationId: String? + /// Retrieves the task type for a Maintenance Window. Task types include the following: LAMBDA, STEP_FUNCTION, AUTOMATION, RUN_COMMAND. + public let taskType: MaintenanceWindowTaskType? + /// The parameters used at the time that the task executed. + public let parameters: String? + /// The execution ID. + public let executionId: String? + /// The time that the task finished executing on the target. + public let endTime: TimeStamp? + /// The Maintenance Window target ID. + public let windowTargetId: String? + /// The task execution ID. + public let taskExecutionId: String? + /// The details explaining the status. Details are only available for certain status values. + public let statusDetails: String? + /// User-provided value to be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window. + public let ownerInformation: String? - public init(key: CommandFilterKey, value: String) { - self.key = key - self.value = value + public init(startTime: TimeStamp? = nil, windowExecutionId: String? = nil, status: MaintenanceWindowExecutionStatus? = nil, invocationId: String? = nil, taskType: MaintenanceWindowTaskType? = nil, parameters: String? = nil, executionId: String? = nil, endTime: TimeStamp? = nil, windowTargetId: String? = nil, taskExecutionId: String? = nil, statusDetails: String? = nil, ownerInformation: String? = nil) { + self.startTime = startTime + self.windowExecutionId = windowExecutionId + self.status = status + self.invocationId = invocationId + self.taskType = taskType + self.parameters = parameters + self.executionId = executionId + self.endTime = endTime + self.windowTargetId = windowTargetId + self.taskExecutionId = taskExecutionId + self.statusDetails = statusDetails + self.ownerInformation = ownerInformation } private enum CodingKeys: String, CodingKey { - case key = "key" - case value = "value" + case startTime = "StartTime" + case windowExecutionId = "WindowExecutionId" + case status = "Status" + case invocationId = "InvocationId" + case taskType = "TaskType" + case parameters = "Parameters" + case executionId = "ExecutionId" + case endTime = "EndTime" + case windowTargetId = "WindowTargetId" + case taskExecutionId = "TaskExecutionId" + case statusDetails = "StatusDetails" + case ownerInformation = "OwnerInformation" } } - public struct RegisterPatchBaselineForPatchGroupResult: AWSShape { + public struct GetInventorySchemaResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BaselineId", required: false, type: .string), - AWSShapeMember(label: "PatchGroup", required: false, type: .string) + AWSShapeMember(label: "Schemas", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// The ID of the patch baseline the patch group was registered with. - public let baselineId: String? - /// The name of the patch group registered with the patch baseline. - public let patchGroup: String? + /// Inventory schemas returned by the request. + public let schemas: [InventoryItemSchema]? + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? - public init(baselineId: String? = nil, patchGroup: String? = nil) { - self.baselineId = baselineId - self.patchGroup = patchGroup + public init(schemas: [InventoryItemSchema]? = nil, nextToken: String? = nil) { + self.schemas = schemas + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case baselineId = "BaselineId" - case patchGroup = "PatchGroup" + case schemas = "Schemas" + case nextToken = "NextToken" } } - public enum MaintenanceWindowResourceType: String, CustomStringConvertible, Codable { - case instance = "INSTANCE" - public var description: String { return self.rawValue } - } - - public struct CreateDocumentRequest: AWSShape { + public struct DocumentIdentifier: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Content", required: true, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "SchemaVersion", required: false, type: .string), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string), AWSShapeMember(label: "TargetType", required: false, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Owner", required: false, type: .string), AWSShapeMember(label: "DocumentFormat", required: false, type: .enum), + AWSShapeMember(label: "PlatformTypes", required: false, type: .list), AWSShapeMember(label: "DocumentType", required: false, type: .enum) ] - /// A valid JSON or YAML string. - public let content: String - /// 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. + /// The name of the Systems Manager document. + public let name: String? + /// The tags, or metadata, that have been applied to the document. + public let tags: [Tag]? + /// The schema version. + public let schemaVersion: String? + /// The document version. + public let documentVersion: String? + /// 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. public let targetType: String? - /// A name for the Systems Manager document. - public let name: String - /// Specify the document format for the request. The document format can be either JSON or YAML. JSON is the default format. + /// The AWS user account that created the document. + public let owner: String? + /// The document format, either JSON or YAML. public let documentFormat: DocumentFormat? - /// The type of document to create. Valid document types include: Policy, Automation, and Command. + /// The operating system platform. + public let platformTypes: [PlatformType]? + /// The document type. public let documentType: DocumentType? - public init(content: String, targetType: String? = nil, name: String, documentFormat: DocumentFormat? = nil, documentType: DocumentType? = nil) { - self.content = content - self.targetType = targetType + public init(name: String? = nil, tags: [Tag]? = nil, schemaVersion: String? = nil, documentVersion: String? = nil, targetType: String? = nil, owner: String? = nil, documentFormat: DocumentFormat? = nil, platformTypes: [PlatformType]? = nil, documentType: DocumentType? = nil) { self.name = name + self.tags = tags + self.schemaVersion = schemaVersion + self.documentVersion = documentVersion + self.targetType = targetType + self.owner = owner self.documentFormat = documentFormat + self.platformTypes = platformTypes self.documentType = documentType } private enum CodingKeys: String, CodingKey { - case content = "Content" - case targetType = "TargetType" case name = "Name" - case documentFormat = "DocumentFormat" - case documentType = "DocumentType" - } - } - - public struct RegisterDefaultPatchBaselineResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BaselineId", required: false, type: .string) - ] - /// The ID of the default patch baseline. - public let baselineId: String? - - public init(baselineId: String? = nil) { - self.baselineId = baselineId + case tags = "Tags" + case schemaVersion = "SchemaVersion" + case documentVersion = "DocumentVersion" + case targetType = "TargetType" + case owner = "Owner" + case documentFormat = "DocumentFormat" + case platformTypes = "PlatformTypes" + case documentType = "DocumentType" } + } - private enum CodingKeys: String, CodingKey { - case baselineId = "BaselineId" - } + public enum DocumentFilterKey: String, CustomStringConvertible, Codable { + case name = "Name" + case owner = "Owner" + case platformtypes = "PlatformTypes" + case documenttype = "DocumentType" + public var description: String { return self.rawValue } } - public struct ComplianceItemEntry: AWSShape { + public struct ListResourceDataSyncResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Severity", required: true, type: .enum), - AWSShapeMember(label: "Details", required: false, type: .map), - AWSShapeMember(label: "Title", required: false, type: .string), - AWSShapeMember(label: "Status", required: true, type: .enum), - AWSShapeMember(label: "Id", required: false, type: .string) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ResourceDataSyncItems", required: false, type: .list) ] - /// The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified. - public let severity: ComplianceSeverity - /// A "Key": "Value" tag combination for the compliance item. - public let details: [String: String]? - /// The title of the compliance item. For example, if the compliance item is a Windows patch, the title could be the title of the KB article for the patch. Here's an example: Security Update for Active Directory Federation Services. - public let title: String? - /// The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT. - public let status: ComplianceStatus - /// The compliance item ID. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article. - public let id: String? + /// The token for the next set of items to return. Use this token to get the next set of results. + public let nextToken: String? + /// A list of your current Resource Data Sync configurations and their statuses. + public let resourceDataSyncItems: [ResourceDataSyncItem]? - public init(severity: ComplianceSeverity, details: [String: String]? = nil, title: String? = nil, status: ComplianceStatus, id: String? = nil) { - self.severity = severity - self.details = details - self.title = title - self.status = status - self.id = id + public init(nextToken: String? = nil, resourceDataSyncItems: [ResourceDataSyncItem]? = nil) { + self.nextToken = nextToken + self.resourceDataSyncItems = resourceDataSyncItems } private enum CodingKeys: String, CodingKey { - case severity = "Severity" - case details = "Details" - case title = "Title" - case status = "Status" - case id = "Id" + case nextToken = "NextToken" + case resourceDataSyncItems = "ResourceDataSyncItems" } } - public struct SendCommandResult: AWSShape { + public enum PatchOperationType: String, CustomStringConvertible, Codable { + case scan = "Scan" + case install = "Install" + public var description: String { return self.rawValue } + } + + public struct DescribeAutomationStepExecutionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Command", required: false, type: .structure) + AWSShapeMember(label: "ReverseOrder", required: false, type: .boolean), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "AutomationExecutionId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The request as it was received by Systems Manager. Also provides the command ID which can be used future references to this request. - public let command: Command? + /// A boolean that indicates whether to list step executions in reverse order by start time. The default value is false. + public let reverseOrder: Bool? + /// One or more filters to limit the number of step executions returned by the request. + public let filters: [StepExecutionFilter]? + /// The Automation execution ID for which you want step execution descriptions. + public let automationExecutionId: String + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// 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. + public let maxResults: Int32? - public init(command: Command? = nil) { - self.command = command + public init(reverseOrder: Bool? = nil, filters: [StepExecutionFilter]? = nil, automationExecutionId: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.reverseOrder = reverseOrder + self.filters = filters + self.automationExecutionId = automationExecutionId + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case command = "Command" + case reverseOrder = "ReverseOrder" + case filters = "Filters" + case automationExecutionId = "AutomationExecutionId" + case nextToken = "NextToken" + case maxResults = "MaxResults" } } - public struct GetDeployablePatchSnapshotForInstanceRequest: AWSShape { + public struct InstanceInformationStringFilter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SnapshotId", required: true, type: .string), - AWSShapeMember(label: "InstanceId", required: true, type: .string) + AWSShapeMember(label: "Key", required: true, type: .string), + AWSShapeMember(label: "Values", required: true, type: .list) ] - /// The user-defined snapshot ID. - public let snapshotId: String - /// The ID of the instance for which the appropriate patch snapshot should be retrieved. - public let instanceId: String + /// The filter key name to describe your instances. For example: "InstanceIds"|"AgentVersion"|"PingStatus"|"PlatformTypes"|"ActivationIds"|"IamRole"|"ResourceType"|"AssociationStatus"|"Tag Key" + public let key: String + /// The filter values. + public let values: [String] - public init(snapshotId: String, instanceId: String) { - self.snapshotId = snapshotId - self.instanceId = instanceId + public init(key: String, values: [String]) { + self.key = key + self.values = values } private enum CodingKeys: String, CodingKey { - case snapshotId = "SnapshotId" - case instanceId = "InstanceId" + case key = "Key" + case values = "Values" } } - public struct DeregisterTaskFromMaintenanceWindowRequest: AWSShape { + public struct DescribeMaintenanceWindowTargetsResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: true, type: .string), - AWSShapeMember(label: "WindowTaskId", required: true, type: .string) + AWSShapeMember(label: "Targets", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// The ID of the Maintenance Window the task should be removed from. - public let windowId: String - /// The ID of the task to remove from the Maintenance Window. - public let windowTaskId: String + /// Information about the targets in the Maintenance Window. + public let targets: [MaintenanceWindowTarget]? + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? - public init(windowId: String, windowTaskId: String) { - self.windowId = windowId - self.windowTaskId = windowTaskId + public init(targets: [MaintenanceWindowTarget]? = nil, nextToken: String? = nil) { + self.targets = targets + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case windowTaskId = "WindowTaskId" + case targets = "Targets" + case nextToken = "NextToken" } } - public struct GetParametersRequest: AWSShape { + public struct UpdatePatchBaselineRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WithDecryption", required: false, type: .boolean), - AWSShapeMember(label: "Names", required: true, type: .list) + AWSShapeMember(label: "BaselineId", required: true, type: .string), + AWSShapeMember(label: "Replace", required: false, type: .boolean), + AWSShapeMember(label: "ApprovedPatches", required: false, type: .list), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "RejectedPatches", required: false, type: .list), + AWSShapeMember(label: "ApprovedPatchesComplianceLevel", required: false, type: .enum), + AWSShapeMember(label: "ApprovalRules", required: false, type: .structure), + AWSShapeMember(label: "Sources", required: false, type: .list), + AWSShapeMember(label: "ApprovedPatchesEnableNonSecurity", required: false, type: .boolean), + AWSShapeMember(label: "GlobalFilters", required: false, type: .structure), + AWSShapeMember(label: "Description", required: false, type: .string) ] - /// Return decrypted secure string value. Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types. - public let withDecryption: Bool? - /// Names of the parameters for which you want to query information. - public let names: [String] + /// The ID of the patch baseline to update. + public let baselineId: String + /// 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. + public let replace: Bool? + /// 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. + public let approvedPatches: [String]? + /// The name of the patch baseline. + public let name: String? + /// 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. + public let rejectedPatches: [String]? + /// Assigns a new compliance severity level to an existing patch baseline. + public let approvedPatchesComplianceLevel: PatchComplianceLevel? + /// A set of rules used to include patches in the baseline. + public let approvalRules: PatchRuleGroup? + /// Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only. + public let sources: [PatchSource]? + /// 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. + public let approvedPatchesEnableNonSecurity: Bool? + /// A set of global filters used to exclude patches from the baseline. + public let globalFilters: PatchFilterGroup? + /// A description of the patch baseline. + public let description: String? - public init(withDecryption: Bool? = nil, names: [String]) { - self.withDecryption = withDecryption - self.names = names + public init(baselineId: String, replace: Bool? = nil, approvedPatches: [String]? = nil, name: String? = nil, rejectedPatches: [String]? = nil, approvedPatchesComplianceLevel: PatchComplianceLevel? = nil, approvalRules: PatchRuleGroup? = nil, sources: [PatchSource]? = nil, approvedPatchesEnableNonSecurity: Bool? = nil, globalFilters: PatchFilterGroup? = nil, description: String? = nil) { + self.baselineId = baselineId + self.replace = replace + self.approvedPatches = approvedPatches + self.name = name + self.rejectedPatches = rejectedPatches + self.approvedPatchesComplianceLevel = approvedPatchesComplianceLevel + self.approvalRules = approvalRules + self.sources = sources + self.approvedPatchesEnableNonSecurity = approvedPatchesEnableNonSecurity + self.globalFilters = globalFilters + self.description = description } private enum CodingKeys: String, CodingKey { - case withDecryption = "WithDecryption" - case names = "Names" + case baselineId = "BaselineId" + case replace = "Replace" + case approvedPatches = "ApprovedPatches" + case name = "Name" + case rejectedPatches = "RejectedPatches" + case approvedPatchesComplianceLevel = "ApprovedPatchesComplianceLevel" + case approvalRules = "ApprovalRules" + case sources = "Sources" + case approvedPatchesEnableNonSecurity = "ApprovedPatchesEnableNonSecurity" + case globalFilters = "GlobalFilters" + case description = "Description" } } - public struct ListCommandInvocationsResult: AWSShape { + public enum DocumentParameterType: String, CustomStringConvertible, Codable { + case string = "String" + case stringlist = "StringList" + public var description: String { return self.rawValue } + } + + public struct DescribeEffectivePatchesForPatchBaselineRequest: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BaselineId", required: true, type: .string), AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "CommandInvocations", required: false, type: .list) + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// (Optional) The token for the next set of items to return. (You received this token from a previous call.) + /// The ID of the patch baseline to retrieve the effective patches for. + public let baselineId: String + /// The token for the next set of items to return. (You received this token from a previous call.) public let nextToken: String? - /// (Optional) A list of all invocations. - public let commandInvocations: [CommandInvocation]? + /// The maximum number of patches to return (per page). + public let maxResults: Int32? - public init(nextToken: String? = nil, commandInvocations: [CommandInvocation]? = nil) { + public init(baselineId: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.baselineId = baselineId self.nextToken = nextToken - self.commandInvocations = commandInvocations + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { + case baselineId = "BaselineId" case nextToken = "NextToken" - case commandInvocations = "CommandInvocations" + case maxResults = "MaxResults" } } - public struct ListComplianceItemsRequest: AWSShape { + public enum ResourceType: String, CustomStringConvertible, Codable { + case managedinstance = "ManagedInstance" + case document = "Document" + case ec2instance = "EC2Instance" + public var description: String { return self.rawValue } + } + + public struct AssociationStatus: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ResourceIds", required: false, type: .list), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "ResourceTypes", required: false, type: .list), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "Message", required: true, type: .string), + AWSShapeMember(label: "Name", required: true, type: .enum), + AWSShapeMember(label: "Date", required: true, type: .timestamp), + AWSShapeMember(label: "AdditionalInfo", required: false, type: .string) ] - /// The ID for the resources from which to get compliance information. Currently, you can only specify one resource ID. - public let resourceIds: [String]? - /// One or more compliance filters. Use a filter to return a more specific list of results. - public let filters: [ComplianceStringFilter]? - /// A token to start the list. Use this token to get the next set of results. - public let nextToken: String? - /// The type of resource from which to get compliance information. Currently, the only supported resource type is ManagedInstance. - public let resourceTypes: [String]? - /// 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. - public let maxResults: Int32? + /// The reason for the status. + public let message: String + /// The status. + public let name: AssociationStatusName + /// The date when the status changed. + public let date: TimeStamp + /// A user-defined string. + public let additionalInfo: String? - public init(resourceIds: [String]? = nil, filters: [ComplianceStringFilter]? = nil, nextToken: String? = nil, resourceTypes: [String]? = nil, maxResults: Int32? = nil) { - self.resourceIds = resourceIds - self.filters = filters - self.nextToken = nextToken - self.resourceTypes = resourceTypes - self.maxResults = maxResults + public init(message: String, name: AssociationStatusName, date: TimeStamp, additionalInfo: String? = nil) { + self.message = message + self.name = name + self.date = date + self.additionalInfo = additionalInfo } private enum CodingKeys: String, CodingKey { - case resourceIds = "ResourceIds" - case filters = "Filters" - case nextToken = "NextToken" - case resourceTypes = "ResourceTypes" - case maxResults = "MaxResults" + case message = "Message" + case name = "Name" + case date = "Date" + case additionalInfo = "AdditionalInfo" } } - public struct DescribeMaintenanceWindowExecutionsRequest: AWSShape { + public struct DescribeInstancePatchStatesForPatchGroupRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: true, type: .string), AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "PatchGroup", required: true, type: .string), AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The ID of the Maintenance Window whose executions should be retrieved. - public let windowId: String - /// 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. - public let filters: [MaintenanceWindowFilter]? + /// 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") + public let filters: [InstancePatchStateFilter]? + /// The name of the patch group for which the patch state information should be retrieved. + public let patchGroup: String /// The token for the next set of items to return. (You received this token from a previous call.) public let nextToken: String? - /// 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. + /// The maximum number of patches to return (per page). public let maxResults: Int32? - public init(windowId: String, filters: [MaintenanceWindowFilter]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.windowId = windowId + public init(filters: [InstancePatchStateFilter]? = nil, patchGroup: String, nextToken: String? = nil, maxResults: Int32? = nil) { self.filters = filters + self.patchGroup = patchGroup self.nextToken = nextToken self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" case filters = "Filters" + case patchGroup = "PatchGroup" case nextToken = "NextToken" case maxResults = "MaxResults" } } - public struct DeleteParametersResult: AWSShape { + public struct AutomationExecution: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InvalidParameters", required: false, type: .list), - AWSShapeMember(label: "DeletedParameters", required: false, type: .list) + AWSShapeMember(label: "CurrentAction", required: false, type: .string), + AWSShapeMember(label: "AutomationExecutionStatus", required: false, type: .enum), + AWSShapeMember(label: "Targets", required: false, type: .list), + AWSShapeMember(label: "ResolvedTargets", required: false, type: .structure), + AWSShapeMember(label: "CurrentStepName", required: false, type: .string), + AWSShapeMember(label: "Outputs", required: false, type: .map), + AWSShapeMember(label: "ExecutionStartTime", required: false, type: .timestamp), + AWSShapeMember(label: "StepExecutions", required: false, type: .list), + AWSShapeMember(label: "Mode", required: false, type: .enum), + AWSShapeMember(label: "ParentAutomationExecutionId", required: false, type: .string), + AWSShapeMember(label: "ExecutionEndTime", required: false, type: .timestamp), + AWSShapeMember(label: "Target", required: false, type: .string), + AWSShapeMember(label: "MaxErrors", required: false, type: .string), + AWSShapeMember(label: "ExecutedBy", required: false, type: .string), + AWSShapeMember(label: "TargetParameterName", required: false, type: .string), + AWSShapeMember(label: "Parameters", required: false, type: .map), + AWSShapeMember(label: "DocumentName", required: false, type: .string), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string), + AWSShapeMember(label: "MaxConcurrency", required: false, type: .string), + AWSShapeMember(label: "FailureMessage", required: false, type: .string), + AWSShapeMember(label: "AutomationExecutionId", required: false, type: .string), + AWSShapeMember(label: "StepExecutionsTruncated", required: false, type: .boolean) ] - /// The names of parameters that weren't deleted because the parameters are not valid. - public let invalidParameters: [String]? - /// The names of the deleted parameters. - public let deletedParameters: [String]? + /// The action of the currently executing step. + public let currentAction: String? + /// The execution status of the Automation. + public let automationExecutionStatus: AutomationExecutionStatus? + /// The specified targets. + public let targets: [Target]? + /// A list of resolved targets in the rate control execution. + public let resolvedTargets: ResolvedTargets? + /// The name of the currently executing step. + public let currentStepName: String? + /// The list of execution outputs as defined in the automation document. + public let outputs: [String: [String]]? + /// The time the execution started. + public let executionStartTime: TimeStamp? + /// 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. + public let stepExecutions: [StepExecution]? + /// The automation execution mode. + public let mode: ExecutionMode? + /// The AutomationExecutionId of the parent automation. + public let parentAutomationExecutionId: String? + /// The time the execution finished. + public let executionEndTime: TimeStamp? + /// The target of the execution. + public let target: String? + /// The MaxErrors value specified by the user when the execution started. + public let maxErrors: String? + /// The Amazon Resource Name (ARN) of the user who executed the automation. + public let executedBy: String? + /// The parameter name. + public let targetParameterName: String? + /// The key-value map of execution parameters, which were supplied when calling StartAutomationExecution. + public let parameters: [String: [String]]? + /// The name of the Automation document used during the execution. + public let documentName: String? + /// The version of the document to use during execution. + public let documentVersion: String? + /// The MaxConcurrency value specified by the user when the execution started. + public let maxConcurrency: String? + /// A message describing why an execution has failed, if the status is set to Failed. + public let failureMessage: String? + /// The execution ID. + public let automationExecutionId: String? + /// 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. + public let stepExecutionsTruncated: Bool? - public init(invalidParameters: [String]? = nil, deletedParameters: [String]? = nil) { - self.invalidParameters = invalidParameters - self.deletedParameters = deletedParameters + public init(currentAction: String? = nil, automationExecutionStatus: AutomationExecutionStatus? = nil, targets: [Target]? = nil, resolvedTargets: ResolvedTargets? = nil, currentStepName: String? = nil, outputs: [String: [String]]? = nil, executionStartTime: TimeStamp? = nil, stepExecutions: [StepExecution]? = nil, mode: ExecutionMode? = nil, parentAutomationExecutionId: String? = nil, executionEndTime: TimeStamp? = nil, target: String? = nil, maxErrors: String? = nil, executedBy: String? = nil, targetParameterName: String? = nil, parameters: [String: [String]]? = nil, documentName: String? = nil, documentVersion: String? = nil, maxConcurrency: String? = nil, failureMessage: String? = nil, automationExecutionId: String? = nil, stepExecutionsTruncated: Bool? = nil) { + self.currentAction = currentAction + self.automationExecutionStatus = automationExecutionStatus + self.targets = targets + self.resolvedTargets = resolvedTargets + self.currentStepName = currentStepName + self.outputs = outputs + self.executionStartTime = executionStartTime + self.stepExecutions = stepExecutions + self.mode = mode + self.parentAutomationExecutionId = parentAutomationExecutionId + self.executionEndTime = executionEndTime + self.target = target + self.maxErrors = maxErrors + self.executedBy = executedBy + self.targetParameterName = targetParameterName + self.parameters = parameters + self.documentName = documentName + self.documentVersion = documentVersion + self.maxConcurrency = maxConcurrency + self.failureMessage = failureMessage + self.automationExecutionId = automationExecutionId + self.stepExecutionsTruncated = stepExecutionsTruncated } private enum CodingKeys: String, CodingKey { - case invalidParameters = "InvalidParameters" - case deletedParameters = "DeletedParameters" + case currentAction = "CurrentAction" + case automationExecutionStatus = "AutomationExecutionStatus" + case targets = "Targets" + case resolvedTargets = "ResolvedTargets" + case currentStepName = "CurrentStepName" + case outputs = "Outputs" + case executionStartTime = "ExecutionStartTime" + case stepExecutions = "StepExecutions" + case mode = "Mode" + case parentAutomationExecutionId = "ParentAutomationExecutionId" + case executionEndTime = "ExecutionEndTime" + case target = "Target" + case maxErrors = "MaxErrors" + case executedBy = "ExecutedBy" + case targetParameterName = "TargetParameterName" + case parameters = "Parameters" + case documentName = "DocumentName" + case documentVersion = "DocumentVersion" + case maxConcurrency = "MaxConcurrency" + case failureMessage = "FailureMessage" + case automationExecutionId = "AutomationExecutionId" + case stepExecutionsTruncated = "StepExecutionsTruncated" } } - public enum Fault: String, CustomStringConvertible, Codable { - case client = "Client" - case server = "Server" - case unknown = "Unknown" - public var description: String { return self.rawValue } - } - - public struct ListCommandsRequest: AWSShape { + public struct GetParametersByPathResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "CommandId", required: false, type: .string), - AWSShapeMember(label: "InstanceId", required: false, type: .string), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "Parameters", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// (Optional) One or more filters. Use a filter to return a more specific list of results. - public let filters: [CommandFilter]? - /// (Optional) If provided, lists only the specified command. - public let commandId: String? - /// (Optional) Lists commands issued against this instance ID. - public let instanceId: String? - /// (Optional) The token for the next set of items to return. (You received this token from a previous call.) + /// A list of parameters found in the specified hierarchy. + public let parameters: [Parameter]? + /// The token for the next set of items to return. Use this token to get the next set of results. public let nextToken: String? - /// (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. - public let maxResults: Int32? - public init(filters: [CommandFilter]? = nil, commandId: String? = nil, instanceId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.filters = filters - self.commandId = commandId - self.instanceId = instanceId + public init(parameters: [Parameter]? = nil, nextToken: String? = nil) { + self.parameters = parameters self.nextToken = nextToken - self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case filters = "Filters" - case commandId = "CommandId" - case instanceId = "InstanceId" + case parameters = "Parameters" case nextToken = "NextToken" - case maxResults = "MaxResults" } } - public struct ParameterMetadata: AWSShape { + public struct MaintenanceWindowTaskParameterValueExpression: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "KeyId", required: false, type: .string), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "Version", required: false, type: .long), - AWSShapeMember(label: "LastModifiedDate", required: false, type: .timestamp), - AWSShapeMember(label: "AllowedPattern", required: false, type: .string), - AWSShapeMember(label: "Type", required: false, type: .enum), - AWSShapeMember(label: "LastModifiedUser", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "Values", required: false, type: .list) ] - /// The ID of the query key used for this parameter. - public let keyId: String? - /// The parameter name. - public let name: String? - /// The parameter version. - public let version: Int64? - /// Date the parameter was last changed or updated. - public let lastModifiedDate: TimeStamp? - /// A parameter name can include only the following letters and symbols. a-zA-Z0-9_.- - public let allowedPattern: String? - /// The type of parameter. Valid parameter types include the following: String, String list, Secure string. - public let `type`: ParameterType? - /// Amazon Resource Name (ARN) of the AWS user who last changed the parameter. - public let lastModifiedUser: String? - /// Description of the parameter actions. - public let description: String? - - public init(keyId: String? = nil, name: String? = nil, version: Int64? = nil, lastModifiedDate: TimeStamp? = nil, allowedPattern: String? = nil, type: ParameterType? = nil, lastModifiedUser: String? = nil, description: String? = nil) { - self.keyId = keyId - self.name = name - self.version = version - self.lastModifiedDate = lastModifiedDate - self.allowedPattern = allowedPattern - self.`type` = `type` - self.lastModifiedUser = lastModifiedUser - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case keyId = "KeyId" - case name = "Name" - case version = "Version" - case lastModifiedDate = "LastModifiedDate" - case allowedPattern = "AllowedPattern" - case `type` = "Type" - case lastModifiedUser = "LastModifiedUser" - case description = "Description" + /// This field contains an array of 0 or more strings, each 1 to 255 characters in length. + public let values: [String]? + + public init(values: [String]? = nil) { + self.values = values } - } - public enum DescribeActivationsFilterKeys: String, CustomStringConvertible, Codable { - case activationids = "ActivationIds" - case defaultinstancename = "DefaultInstanceName" - case iamrole = "IamRole" - public var description: String { return self.rawValue } + private enum CodingKeys: String, CodingKey { + case values = "Values" + } } - public struct UpdatePatchBaselineResult: AWSShape { + public struct OutputSource: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BaselineId", required: false, type: .string), - AWSShapeMember(label: "ApprovedPatches", required: false, type: .list), - AWSShapeMember(label: "ModifiedDate", required: false, type: .timestamp), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "OperatingSystem", required: false, type: .enum), - AWSShapeMember(label: "RejectedPatches", required: false, type: .list), - AWSShapeMember(label: "ApprovedPatchesComplianceLevel", required: false, type: .enum), - AWSShapeMember(label: "ApprovalRules", required: false, type: .structure), - AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), - AWSShapeMember(label: "GlobalFilters", required: false, type: .structure), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "OutputSourceType", required: false, type: .string), + AWSShapeMember(label: "OutputSourceId", required: false, type: .string) ] - /// The ID of the deleted patch baseline. - public let baselineId: String? - /// A list of explicitly approved patches for the baseline. - public let approvedPatches: [String]? - /// The date when the patch baseline was last modified. - public let modifiedDate: TimeStamp? - /// The name of the patch baseline. - public let name: String? - /// The operating system rule used by the updated patch baseline. - public let operatingSystem: OperatingSystem? - /// A list of explicitly rejected patches for the baseline. - public let rejectedPatches: [String]? - /// The compliance severity level assigned to the patch baseline after the update completed. - public let approvedPatchesComplianceLevel: PatchComplianceLevel? - /// A set of rules used to include patches in the baseline. - public let approvalRules: PatchRuleGroup? - /// The date when the patch baseline was created. - public let createdDate: TimeStamp? - /// A set of global filters used to exclude patches from the baseline. - public let globalFilters: PatchFilterGroup? - /// A description of the Patch Baseline. - public let description: String? + /// The type of source where the association execution details are stored, for example, Amazon S3. + public let outputSourceType: String? + /// The ID of the output source, for example the URL of an Amazon S3 bucket. + public let outputSourceId: String? - public init(baselineId: String? = nil, approvedPatches: [String]? = nil, modifiedDate: TimeStamp? = nil, name: String? = nil, operatingSystem: OperatingSystem? = nil, rejectedPatches: [String]? = nil, approvedPatchesComplianceLevel: PatchComplianceLevel? = nil, approvalRules: PatchRuleGroup? = nil, createdDate: TimeStamp? = nil, globalFilters: PatchFilterGroup? = nil, description: String? = nil) { - self.baselineId = baselineId - self.approvedPatches = approvedPatches - self.modifiedDate = modifiedDate - self.name = name - self.operatingSystem = operatingSystem - self.rejectedPatches = rejectedPatches - self.approvedPatchesComplianceLevel = approvedPatchesComplianceLevel - self.approvalRules = approvalRules - self.createdDate = createdDate - self.globalFilters = globalFilters - self.description = description + public init(outputSourceType: String? = nil, outputSourceId: String? = nil) { + self.outputSourceType = outputSourceType + self.outputSourceId = outputSourceId } private enum CodingKeys: String, CodingKey { - case baselineId = "BaselineId" - case approvedPatches = "ApprovedPatches" - case modifiedDate = "ModifiedDate" - case name = "Name" - case operatingSystem = "OperatingSystem" - case rejectedPatches = "RejectedPatches" - case approvedPatchesComplianceLevel = "ApprovedPatchesComplianceLevel" - case approvalRules = "ApprovalRules" - case createdDate = "CreatedDate" - case globalFilters = "GlobalFilters" - case description = "Description" + case outputSourceType = "OutputSourceType" + case outputSourceId = "OutputSourceId" } } - public struct DescribeInstanceInformationRequest: AWSShape { + public enum ComplianceStatus: String, CustomStringConvertible, Codable { + case compliant = "COMPLIANT" + case nonCompliant = "NON_COMPLIANT" + public var description: String { return self.rawValue } + } + + public enum InventorySchemaDeleteOption: String, CustomStringConvertible, Codable { + case disableschema = "DisableSchema" + case deleteschema = "DeleteSchema" + public var description: String { return self.rawValue } + } + + public struct DescribeAutomationExecutionsResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InstanceInformationFilterList", required: false, type: .list), - AWSShapeMember(label: "Filters", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "AutomationExecutionMetadataList", required: false, type: .list) ] - /// One or more filters. Use a filter to return a more specific list of instances. - public let instanceInformationFilterList: [InstanceInformationFilter]? - /// One or more filters. Use a filter to return a more specific list of instances. - public let filters: [InstanceInformationStringFilter]? - /// The token for the next set of items to return. (You received this token from a previous call.) + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. public let nextToken: String? - /// 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. - public let maxResults: Int32? + /// The list of details about each automation execution which has occurred which matches the filter specification, if any. + public let automationExecutionMetadataList: [AutomationExecutionMetadata]? - public init(instanceInformationFilterList: [InstanceInformationFilter]? = nil, filters: [InstanceInformationStringFilter]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.instanceInformationFilterList = instanceInformationFilterList - self.filters = filters + public init(nextToken: String? = nil, automationExecutionMetadataList: [AutomationExecutionMetadata]? = nil) { self.nextToken = nextToken - self.maxResults = maxResults + self.automationExecutionMetadataList = automationExecutionMetadataList } private enum CodingKeys: String, CodingKey { - case instanceInformationFilterList = "InstanceInformationFilterList" - case filters = "Filters" case nextToken = "NextToken" - case maxResults = "MaxResults" + case automationExecutionMetadataList = "AutomationExecutionMetadataList" } } - public struct DescribeMaintenanceWindowsRequest: AWSShape { + public struct CreateAssociationBatchRequestEntry: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "Parameters", required: false, type: .map), + AWSShapeMember(label: "InstanceId", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string), + AWSShapeMember(label: "Targets", required: false, type: .list), + AWSShapeMember(label: "OutputLocation", required: false, type: .structure), + AWSShapeMember(label: "ScheduleExpression", required: false, type: .string), + AWSShapeMember(label: "AssociationName", required: false, type: .string) ] - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// Optional filters used to narrow down the scope of the returned Maintenance Windows. Supported filter keys are Name and Enabled. - public let filters: [MaintenanceWindowFilter]? - /// 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. - public let maxResults: Int32? + /// A description of the parameters for a document. + public let parameters: [String: [String]]? + /// The ID of the instance. + public let instanceId: String? + /// The name of the configuration document. + public let name: String + /// The document version. + public let documentVersion: String? + /// The instances targeted by the request. + public let targets: [Target]? + /// An Amazon S3 bucket where you want to store the results of this request. + public let outputLocation: InstanceAssociationOutputLocation? + /// A cron expression that specifies a schedule when the association runs. + public let scheduleExpression: String? + /// Specify a descriptive name for the association. + public let associationName: String? - public init(nextToken: String? = nil, filters: [MaintenanceWindowFilter]? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.filters = filters - self.maxResults = maxResults + public init(parameters: [String: [String]]? = nil, instanceId: String? = nil, name: String, documentVersion: String? = nil, targets: [Target]? = nil, outputLocation: InstanceAssociationOutputLocation? = nil, scheduleExpression: String? = nil, associationName: String? = nil) { + self.parameters = parameters + self.instanceId = instanceId + self.name = name + self.documentVersion = documentVersion + self.targets = targets + self.outputLocation = outputLocation + self.scheduleExpression = scheduleExpression + self.associationName = associationName } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case filters = "Filters" - case maxResults = "MaxResults" + case parameters = "Parameters" + case instanceId = "InstanceId" + case name = "Name" + case documentVersion = "DocumentVersion" + case targets = "Targets" + case outputLocation = "OutputLocation" + case scheduleExpression = "ScheduleExpression" + case associationName = "AssociationName" } } - public struct GetInventoryRequest: AWSShape { + public enum NotificationType: String, CustomStringConvertible, Codable { + case command = "Command" + case invocation = "Invocation" + public var description: String { return self.rawValue } + } + + public struct CancelCommandResult: AWSShape { + + } + + public struct AssociationExecutionTargetsFilter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Aggregators", required: false, type: .list), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "ResultAttributes", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "Value", required: true, type: .string), + AWSShapeMember(label: "Key", required: true, type: .enum) ] - /// 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. - public let aggregators: [InventoryAggregator]? - /// One or more filters. Use a filter to return a more specific list of results. - public let filters: [InventoryFilter]? - /// The list of inventory item types to return. - public let resultAttributes: [ResultAttribute]? - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// 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. - public let maxResults: Int32? + /// The value specified for the key. + public let value: String + /// The key value used in the request. + public let key: AssociationExecutionTargetsFilterKey - public init(aggregators: [InventoryAggregator]? = nil, filters: [InventoryFilter]? = nil, resultAttributes: [ResultAttribute]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.aggregators = aggregators - self.filters = filters - self.resultAttributes = resultAttributes - self.nextToken = nextToken - self.maxResults = maxResults + public init(value: String, key: AssociationExecutionTargetsFilterKey) { + self.value = value + self.key = key } private enum CodingKeys: String, CodingKey { - case aggregators = "Aggregators" - case filters = "Filters" - case resultAttributes = "ResultAttributes" - case nextToken = "NextToken" - case maxResults = "MaxResults" + case value = "Value" + case key = "Key" } } - public struct DescribePatchBaselinesResult: AWSShape { + public enum AssociationFilterKey: String, CustomStringConvertible, Codable { + case instanceid = "InstanceId" + case name = "Name" + case associationid = "AssociationId" + case associationstatusname = "AssociationStatusName" + case lastexecutedbefore = "LastExecutedBefore" + case lastexecutedafter = "LastExecutedAfter" + case associationname = "AssociationName" + public var description: String { return self.rawValue } + } + + public struct GetDefaultPatchBaselineRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BaselineIdentities", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) + AWSShapeMember(label: "OperatingSystem", required: false, type: .enum) ] - /// An array of PatchBaselineIdentity elements. - public let baselineIdentities: [PatchBaselineIdentity]? - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? + /// Returns the default patch baseline for the specified operating system. + public let operatingSystem: OperatingSystem? - public init(baselineIdentities: [PatchBaselineIdentity]? = nil, nextToken: String? = nil) { - self.baselineIdentities = baselineIdentities - self.nextToken = nextToken + public init(operatingSystem: OperatingSystem? = nil) { + self.operatingSystem = operatingSystem + } + + private enum CodingKeys: String, CodingKey { + case operatingSystem = "OperatingSystem" + } + } + + public struct ResourceDataSyncS3Destination: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Prefix", required: false, type: .string), + AWSShapeMember(label: "BucketName", required: true, type: .string), + AWSShapeMember(label: "SyncFormat", required: true, type: .enum), + AWSShapeMember(label: "Region", required: true, type: .string), + AWSShapeMember(label: "AWSKMSKeyARN", required: false, type: .string) + ] + /// An Amazon S3 prefix for the bucket. + public let prefix: String? + /// The name of the Amazon S3 bucket where the aggregated data is stored. + public let bucketName: String + /// A supported sync format. The following format is currently supported: JsonSerDe + public let syncFormat: ResourceDataSyncS3Format + /// The AWS Region with the Amazon S3 bucket targeted by the Resource Data Sync. + public let region: String + /// The ARN of an encryption key for a destination in Amazon S3. Must belong to the same region as the destination Amazon S3 bucket. + public let aWSKMSKeyARN: String? + + public init(prefix: String? = nil, bucketName: String, syncFormat: ResourceDataSyncS3Format, region: String, aWSKMSKeyARN: String? = nil) { + self.prefix = prefix + self.bucketName = bucketName + self.syncFormat = syncFormat + self.region = region + self.aWSKMSKeyARN = aWSKMSKeyARN } private enum CodingKeys: String, CodingKey { - case baselineIdentities = "BaselineIdentities" - case nextToken = "NextToken" + case prefix = "Prefix" + case bucketName = "BucketName" + case syncFormat = "SyncFormat" + case region = "Region" + case aWSKMSKeyARN = "AWSKMSKeyARN" } } - public struct InstanceAggregatedAssociationOverview: AWSShape { + public enum MaintenanceWindowTaskType: String, CustomStringConvertible, Codable { + case runCommand = "RUN_COMMAND" + case automation = "AUTOMATION" + case stepFunctions = "STEP_FUNCTIONS" + case lambda = "LAMBDA" + public var description: String { return self.rawValue } + } + + public struct PatchOrchestratorFilter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InstanceAssociationStatusAggregatedCount", required: false, type: .map), - AWSShapeMember(label: "DetailedStatus", required: false, type: .string) + AWSShapeMember(label: "Key", required: false, type: .string), + AWSShapeMember(label: "Values", required: false, type: .list) ] - /// The number of associations for the instance(s). - public let instanceAssociationStatusAggregatedCount: [String: Int32]? - /// Detailed status information about the aggregated associations. - public let detailedStatus: String? + /// The key for the filter. + public let key: String? + /// The value for the filter. + public let values: [String]? - public init(instanceAssociationStatusAggregatedCount: [String: Int32]? = nil, detailedStatus: String? = nil) { - self.instanceAssociationStatusAggregatedCount = instanceAssociationStatusAggregatedCount - self.detailedStatus = detailedStatus + public init(key: String? = nil, values: [String]? = nil) { + self.key = key + self.values = values } private enum CodingKeys: String, CodingKey { - case instanceAssociationStatusAggregatedCount = "InstanceAssociationStatusAggregatedCount" - case detailedStatus = "DetailedStatus" + case key = "Key" + case values = "Values" } } - public struct ListComplianceSummariesRequest: AWSShape { + public enum CommandFilterKey: String, CustomStringConvertible, Codable { + case invokedafter = "InvokedAfter" + case invokedbefore = "InvokedBefore" + case status = "Status" + public var description: String { return self.rawValue } + } + + public enum ResourceDataSyncS3Format: String, CustomStringConvertible, Codable { + case jsonserde = "JsonSerDe" + public var description: String { return self.rawValue } + } + + public struct DescribeAssociationExecutionTargetsResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "AssociationExecutionTargets", required: false, type: .list) ] - /// A token to start the list. Use this token to get the next set of results. + /// The token for the next set of items to return. Use this token to get the next set of results. public let nextToken: String? - /// One or more compliance or inventory filters. Use a filter to return a more specific list of results. - public let filters: [ComplianceStringFilter]? - /// 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. - public let maxResults: Int32? + /// Information about the execution. + public let associationExecutionTargets: [AssociationExecutionTarget]? - public init(nextToken: String? = nil, filters: [ComplianceStringFilter]? = nil, maxResults: Int32? = nil) { + public init(nextToken: String? = nil, associationExecutionTargets: [AssociationExecutionTarget]? = nil) { self.nextToken = nextToken - self.filters = filters - self.maxResults = maxResults + self.associationExecutionTargets = associationExecutionTargets } private enum CodingKeys: String, CodingKey { case nextToken = "NextToken" - case filters = "Filters" - case maxResults = "MaxResults" + case associationExecutionTargets = "AssociationExecutionTargets" } } - public struct GetCommandInvocationResult: AWSShape { + public struct DocumentDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PluginName", required: false, type: .string), - AWSShapeMember(label: "ExecutionElapsedTime", required: false, type: .string), - AWSShapeMember(label: "Comment", required: false, type: .string), - AWSShapeMember(label: "StandardOutputUrl", required: false, type: .string), + AWSShapeMember(label: "Sha1", required: false, type: .string), + AWSShapeMember(label: "Tags", required: false, type: .list), + AWSShapeMember(label: "DefaultVersion", required: false, type: .string), + AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), + AWSShapeMember(label: "DocumentFormat", required: false, type: .enum), + AWSShapeMember(label: "Owner", required: false, type: .string), + AWSShapeMember(label: "DocumentType", required: false, type: .enum), + AWSShapeMember(label: "Description", required: false, type: .string), AWSShapeMember(label: "Status", required: false, type: .enum), - AWSShapeMember(label: "InstanceId", required: false, type: .string), - AWSShapeMember(label: "StandardErrorContent", required: false, type: .string), - AWSShapeMember(label: "DocumentName", required: false, type: .string), - AWSShapeMember(label: "StandardErrorUrl", required: false, type: .string), - AWSShapeMember(label: "ExecutionEndDateTime", required: false, type: .string), - AWSShapeMember(label: "ResponseCode", required: false, type: .integer), - AWSShapeMember(label: "StandardOutputContent", required: false, type: .string), - AWSShapeMember(label: "CommandId", required: false, type: .string), - AWSShapeMember(label: "StatusDetails", required: false, type: .string), - AWSShapeMember(label: "ExecutionStartDateTime", required: false, type: .string) + AWSShapeMember(label: "Parameters", required: false, type: .list), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string), + AWSShapeMember(label: "SchemaVersion", required: false, type: .string), + AWSShapeMember(label: "LatestVersion", required: false, type: .string), + AWSShapeMember(label: "TargetType", required: false, type: .string), + AWSShapeMember(label: "PlatformTypes", required: false, type: .list), + AWSShapeMember(label: "HashType", required: false, type: .enum), + AWSShapeMember(label: "Hash", required: false, type: .string) ] - /// The name of the plugin for which you want detailed results. For example, aws:RunShellScript is a plugin. - public let pluginName: String? - /// Duration since ExecutionStartDateTime. - public let executionElapsedTime: String? - /// The comment text for the command. - public let comment: String? - /// 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. - public let standardOutputUrl: String? - /// The status of the parent command for this invocation. This status can be different than StatusDetails. - public let status: CommandInvocationStatus? - /// 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. - public let instanceId: String? - /// The first 8,000 characters written by the plugin to stderr. If the command has not finished executing, then this string is empty. - public let standardErrorContent: String? - /// The name of the document that was executed. For example, AWS-RunShellScript. - public let documentName: String? - /// The URL for the complete text written by the plugin to stderr. If the command has not finished executing, then this string is empty. - public let standardErrorUrl: String? - /// 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. - public let executionEndDateTime: String? - /// 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. - public let responseCode: Int32? - /// 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. - public let standardOutputContent: String? - /// The parent command ID of the invocation plugin. - public let commandId: String? - /// A detailed status of the command execution for an invocation. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Run Command Status. StatusDetails can be one of the following values: Pending: The command has not been sent to the instance. In Progress: The command has been sent to the instance but has not reached a terminal state. Delayed: The system attempted to send the command to the target, but the target was not available. The instance might not be available because of network issues, the instance was stopped, etc. The system will try to deliver the command again. Success: The command or plugin was executed successfully. This is a terminal state. Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state. Execution Timed Out: The command started to execute on the instance, but the execution was not complete before the timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state. Failed: The command wasn't executed successfully on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state. Canceled: The command was terminated before it was completed. This is a terminal state. Undeliverable: The command can't be delivered to the instance. The instance might not exist or might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state. Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state. - public let statusDetails: String? - /// 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. - public let executionStartDateTime: String? + /// The SHA1 hash of the document, which you can use for verification. + public let sha1: String? + /// The tags, or metadata, that have been applied to the document. + public let tags: [Tag]? + /// The default version. + public let defaultVersion: String? + /// The date when the document was created. + public let createdDate: TimeStamp? + /// The document format, either JSON or YAML. + public let documentFormat: DocumentFormat? + /// The AWS user account that created the document. + public let owner: String? + /// The type of document. + public let documentType: DocumentType? + /// A description of the document. + public let description: String? + /// The status of the Systems Manager document. + public let status: DocumentStatus? + /// A description of the parameters for a document. + public let parameters: [DocumentParameter]? + /// The name of the Systems Manager document. + public let name: String? + /// The document version. + public let documentVersion: String? + /// The schema version. + public let schemaVersion: String? + /// The latest version of the document. + public let latestVersion: String? + /// 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. + public let targetType: String? + /// The list of OS platforms compatible with this Systems Manager document. + public let platformTypes: [PlatformType]? + /// Sha256 or Sha1. Sha1 hashes have been deprecated. + public let hashType: DocumentHashType? + /// The Sha256 or Sha1 hash created by the system when the document was created. Sha1 hashes have been deprecated. + public let hash: String? - public init(pluginName: String? = nil, executionElapsedTime: String? = nil, comment: String? = nil, standardOutputUrl: String? = nil, status: CommandInvocationStatus? = nil, instanceId: String? = nil, standardErrorContent: String? = nil, documentName: String? = nil, standardErrorUrl: String? = nil, executionEndDateTime: String? = nil, responseCode: Int32? = nil, standardOutputContent: String? = nil, commandId: String? = nil, statusDetails: String? = nil, executionStartDateTime: String? = nil) { - self.pluginName = pluginName - self.executionElapsedTime = executionElapsedTime - self.comment = comment - self.standardOutputUrl = standardOutputUrl + public init(sha1: String? = nil, tags: [Tag]? = nil, defaultVersion: String? = nil, createdDate: TimeStamp? = nil, documentFormat: DocumentFormat? = nil, owner: String? = nil, documentType: DocumentType? = nil, description: String? = nil, status: DocumentStatus? = nil, parameters: [DocumentParameter]? = nil, name: String? = nil, documentVersion: String? = nil, schemaVersion: String? = nil, latestVersion: String? = nil, targetType: String? = nil, platformTypes: [PlatformType]? = nil, hashType: DocumentHashType? = nil, hash: String? = nil) { + self.sha1 = sha1 + self.tags = tags + self.defaultVersion = defaultVersion + self.createdDate = createdDate + self.documentFormat = documentFormat + self.owner = owner + self.documentType = documentType + self.description = description self.status = status - self.instanceId = instanceId - self.standardErrorContent = standardErrorContent - self.documentName = documentName - self.standardErrorUrl = standardErrorUrl - self.executionEndDateTime = executionEndDateTime - self.responseCode = responseCode - self.standardOutputContent = standardOutputContent - self.commandId = commandId - self.statusDetails = statusDetails - self.executionStartDateTime = executionStartDateTime - } - - private enum CodingKeys: String, CodingKey { - case pluginName = "PluginName" - case executionElapsedTime = "ExecutionElapsedTime" - case comment = "Comment" - case standardOutputUrl = "StandardOutputUrl" - case status = "Status" - case instanceId = "InstanceId" - case standardErrorContent = "StandardErrorContent" - case documentName = "DocumentName" - case standardErrorUrl = "StandardErrorUrl" - case executionEndDateTime = "ExecutionEndDateTime" - case responseCode = "ResponseCode" - case standardOutputContent = "StandardOutputContent" - case commandId = "CommandId" - case statusDetails = "StatusDetails" - case executionStartDateTime = "ExecutionStartDateTime" - } - } - - public struct InventoryItemSchema: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Version", required: false, type: .string), - AWSShapeMember(label: "Attributes", required: true, type: .list), - AWSShapeMember(label: "DisplayName", required: false, type: .string), - AWSShapeMember(label: "TypeName", required: true, type: .string) - ] - /// The schema version for the inventory item. - public let version: String? - /// The schema attributes for inventory. This contains data type and attribute name. - public let attributes: [InventoryItemAttribute] - /// The alias name of the inventory type. The alias name is used for display purposes. - public let displayName: String? - /// 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. - public let typeName: String - - public init(version: String? = nil, attributes: [InventoryItemAttribute], displayName: String? = nil, typeName: String) { - self.version = version - self.attributes = attributes - self.displayName = displayName - self.typeName = typeName + self.parameters = parameters + self.name = name + self.documentVersion = documentVersion + self.schemaVersion = schemaVersion + self.latestVersion = latestVersion + self.targetType = targetType + self.platformTypes = platformTypes + self.hashType = hashType + self.hash = hash } private enum CodingKeys: String, CodingKey { - case version = "Version" - case attributes = "Attributes" - case displayName = "DisplayName" - case typeName = "TypeName" + case sha1 = "Sha1" + case tags = "Tags" + case defaultVersion = "DefaultVersion" + case createdDate = "CreatedDate" + case documentFormat = "DocumentFormat" + case owner = "Owner" + case documentType = "DocumentType" + case description = "Description" + case status = "Status" + case parameters = "Parameters" + case name = "Name" + case documentVersion = "DocumentVersion" + case schemaVersion = "SchemaVersion" + case latestVersion = "LatestVersion" + case targetType = "TargetType" + case platformTypes = "PlatformTypes" + case hashType = "HashType" + case hash = "Hash" } } - public struct UpdateAssociationResult: AWSShape { + public struct InstanceInformationFilter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AssociationDescription", required: false, type: .structure) + AWSShapeMember(label: "key", required: true, type: .enum), + AWSShapeMember(label: "valueSet", required: true, type: .list) ] - /// The description of the association that was updated. - public let associationDescription: AssociationDescription? + /// The name of the filter. + public let key: InstanceInformationFilterKey + /// The filter values. + public let valueSet: [String] - public init(associationDescription: AssociationDescription? = nil) { - self.associationDescription = associationDescription + public init(key: InstanceInformationFilterKey, valueSet: [String]) { + self.key = key + self.valueSet = valueSet } private enum CodingKeys: String, CodingKey { - case associationDescription = "AssociationDescription" + case key = "key" + case valueSet = "valueSet" } } - public struct UpdateManagedInstanceRoleResult: AWSShape { + public struct SendAutomationSignalResult: AWSShape { } - public struct DescribeInstanceInformationResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "InstanceInformationList", required: false, type: .list) - ] - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? - /// The instance information list. - public let instanceInformationList: [InstanceInformation]? - - public init(nextToken: String? = nil, instanceInformationList: [InstanceInformation]? = nil) { - self.nextToken = nextToken - self.instanceInformationList = instanceInformationList - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case instanceInformationList = "InstanceInformationList" - } + public enum ComplianceQueryOperatorType: String, CustomStringConvertible, Codable { + case equal = "EQUAL" + case notEqual = "NOT_EQUAL" + case beginWith = "BEGIN_WITH" + case lessThan = "LESS_THAN" + case greaterThan = "GREATER_THAN" + public var description: String { return self.rawValue } } - public struct PatchStatus: AWSShape { + public struct InventoryDeletionStatusItem: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ApprovalDate", required: false, type: .timestamp), - AWSShapeMember(label: "DeploymentStatus", required: false, type: .enum), - AWSShapeMember(label: "ComplianceLevel", required: false, type: .enum) + AWSShapeMember(label: "LastStatusUpdateTime", required: false, type: .timestamp), + AWSShapeMember(label: "DeletionSummary", required: false, type: .structure), + AWSShapeMember(label: "LastStatus", required: false, type: .enum), + AWSShapeMember(label: "DeletionId", required: false, type: .string), + AWSShapeMember(label: "LastStatusMessage", required: false, type: .string), + AWSShapeMember(label: "DeletionStartTime", required: false, type: .timestamp), + AWSShapeMember(label: "TypeName", required: false, type: .string) ] - /// The date the patch was approved (or will be approved if the status is PENDING_APPROVAL). - public let approvalDate: TimeStamp? - /// The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED, EXPLICIT_REJECTED). - public let deploymentStatus: PatchDeploymentStatus? - /// The compliance severity level for a patch. - public let complianceLevel: PatchComplianceLevel? + /// The UTC timestamp of when the last status report. + public let lastStatusUpdateTime: TimeStamp? + /// Information about the delete operation. For more information about this summary, see Understanding the Delete Inventory Summary in the AWS Systems Manager User Guide. + public let deletionSummary: InventoryDeletionSummary? + /// The status of the operation. Possible values are InProgress and Complete. + public let lastStatus: InventoryDeletionStatus? + /// The deletion ID returned by the DeleteInventory action. + public let deletionId: String? + /// Information about the status. + public let lastStatusMessage: String? + /// The UTC timestamp when the delete operation started. + public let deletionStartTime: TimeStamp? + /// The name of the inventory data type. + public let typeName: String? - public init(approvalDate: TimeStamp? = nil, deploymentStatus: PatchDeploymentStatus? = nil, complianceLevel: PatchComplianceLevel? = nil) { - self.approvalDate = approvalDate - self.deploymentStatus = deploymentStatus - self.complianceLevel = complianceLevel + public init(lastStatusUpdateTime: TimeStamp? = nil, deletionSummary: InventoryDeletionSummary? = nil, lastStatus: InventoryDeletionStatus? = nil, deletionId: String? = nil, lastStatusMessage: String? = nil, deletionStartTime: TimeStamp? = nil, typeName: String? = nil) { + self.lastStatusUpdateTime = lastStatusUpdateTime + self.deletionSummary = deletionSummary + self.lastStatus = lastStatus + self.deletionId = deletionId + self.lastStatusMessage = lastStatusMessage + self.deletionStartTime = deletionStartTime + self.typeName = typeName } private enum CodingKeys: String, CodingKey { - case approvalDate = "ApprovalDate" - case deploymentStatus = "DeploymentStatus" - case complianceLevel = "ComplianceLevel" + case lastStatusUpdateTime = "LastStatusUpdateTime" + case deletionSummary = "DeletionSummary" + case lastStatus = "LastStatus" + case deletionId = "DeletionId" + case lastStatusMessage = "LastStatusMessage" + case deletionStartTime = "DeletionStartTime" + case typeName = "TypeName" } } - public struct StartAutomationExecutionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MaxErrors", required: false, type: .string), - AWSShapeMember(label: "ClientToken", required: false, type: .string), - AWSShapeMember(label: "Parameters", required: false, type: .map), - AWSShapeMember(label: "TargetParameterName", required: false, type: .string), - AWSShapeMember(label: "DocumentName", required: true, type: .string), - AWSShapeMember(label: "DocumentVersion", required: false, type: .string), - AWSShapeMember(label: "Mode", required: false, type: .enum), - AWSShapeMember(label: "Targets", required: false, type: .list), - AWSShapeMember(label: "MaxConcurrency", required: false, type: .string) - ] - /// 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. - public let maxErrors: String? - /// User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused. - public let clientToken: String? - /// A key-value map of execution parameters, which match the declared parameters in the Automation document. - public let parameters: [String: [String]]? - /// The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify Targets. - public let targetParameterName: String? - /// The name of the Automation document to use for this execution. - public let documentName: String - /// The version of the Automation document to use for this execution. - public let documentVersion: String? - /// The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto. - public let mode: ExecutionMode? - /// A key-value mapping to target resources. Required if you specify TargetParameterName. - public let targets: [Target]? - /// 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. - public let maxConcurrency: String? - - public init(maxErrors: String? = nil, clientToken: String? = nil, parameters: [String: [String]]? = nil, targetParameterName: String? = nil, documentName: String, documentVersion: String? = nil, mode: ExecutionMode? = nil, targets: [Target]? = nil, maxConcurrency: String? = nil) { - self.maxErrors = maxErrors - self.clientToken = clientToken - self.parameters = parameters - self.targetParameterName = targetParameterName - self.documentName = documentName - self.documentVersion = documentVersion - self.mode = mode - self.targets = targets - self.maxConcurrency = maxConcurrency - } + public struct ModifyDocumentPermissionResponse: AWSShape { - private enum CodingKeys: String, CodingKey { - case maxErrors = "MaxErrors" - case clientToken = "ClientToken" - case parameters = "Parameters" - case targetParameterName = "TargetParameterName" - case documentName = "DocumentName" - case documentVersion = "DocumentVersion" - case mode = "Mode" - case targets = "Targets" - case maxConcurrency = "MaxConcurrency" - } } - public struct UpdateDocumentRequest: AWSShape { + public struct DescribeDocumentPermissionRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Content", required: true, type: .string), - AWSShapeMember(label: "TargetType", required: false, type: .string), AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "DocumentFormat", required: false, type: .enum), - AWSShapeMember(label: "DocumentVersion", required: false, type: .string) + AWSShapeMember(label: "PermissionType", required: true, type: .enum) ] - /// The content in a document that you want to update. - public let content: String - /// Specify a new target type for the document. - public let targetType: String? - /// The name of the document that you want to update. + /// The name of the document for which you are the owner. public let name: String - /// Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format. - public let documentFormat: DocumentFormat? - /// The version of the document that you want to update. - public let documentVersion: String? + /// The permission type for the document. The permission type can be Share. + public let permissionType: DocumentPermissionType - public init(content: String, targetType: String? = nil, name: String, documentFormat: DocumentFormat? = nil, documentVersion: String? = nil) { - self.content = content - self.targetType = targetType + public init(name: String, permissionType: DocumentPermissionType) { self.name = name - self.documentFormat = documentFormat - self.documentVersion = documentVersion + self.permissionType = permissionType } private enum CodingKeys: String, CodingKey { - case content = "Content" - case targetType = "TargetType" case name = "Name" - case documentFormat = "DocumentFormat" - case documentVersion = "DocumentVersion" + case permissionType = "PermissionType" } } - public struct GetMaintenanceWindowExecutionResult: AWSShape { + public struct PatchFilterGroup: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "EndTime", required: false, type: .timestamp), - AWSShapeMember(label: "TaskIds", required: false, type: .list), - AWSShapeMember(label: "StartTime", required: false, type: .timestamp), - AWSShapeMember(label: "Status", required: false, type: .enum), - AWSShapeMember(label: "WindowExecutionId", required: false, type: .string), - AWSShapeMember(label: "StatusDetails", required: false, type: .string) + AWSShapeMember(label: "PatchFilters", required: true, type: .list) ] - /// The time the Maintenance Window finished executing. - public let endTime: TimeStamp? - /// The ID of the task executions from the Maintenance Window execution. - public let taskIds: [String]? - /// The time the Maintenance Window started executing. - public let startTime: TimeStamp? - /// The status of the Maintenance Window execution. - public let status: MaintenanceWindowExecutionStatus? - /// The ID of the Maintenance Window execution. - public let windowExecutionId: String? - /// The details explaining the Status. Only available for certain status values. - public let statusDetails: String? + /// The set of patch filters that make up the group. + public let patchFilters: [PatchFilter] - public init(endTime: TimeStamp? = nil, taskIds: [String]? = nil, startTime: TimeStamp? = nil, status: MaintenanceWindowExecutionStatus? = nil, windowExecutionId: String? = nil, statusDetails: String? = nil) { - self.endTime = endTime - self.taskIds = taskIds - self.startTime = startTime - self.status = status - self.windowExecutionId = windowExecutionId - self.statusDetails = statusDetails + public init(patchFilters: [PatchFilter]) { + self.patchFilters = patchFilters } private enum CodingKeys: String, CodingKey { - case endTime = "EndTime" - case taskIds = "TaskIds" - case startTime = "StartTime" - case status = "Status" - case windowExecutionId = "WindowExecutionId" - case statusDetails = "StatusDetails" + case patchFilters = "PatchFilters" } } - public struct DescribePatchGroupStateResult: AWSShape { + public struct ComplianceItem: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InstancesWithMissingPatches", required: false, type: .integer), - AWSShapeMember(label: "Instances", required: false, type: .integer), - AWSShapeMember(label: "InstancesWithNotApplicablePatches", required: false, type: .integer), - AWSShapeMember(label: "InstancesWithInstalledPatches", required: false, type: .integer), - AWSShapeMember(label: "InstancesWithFailedPatches", required: false, type: .integer), - AWSShapeMember(label: "InstancesWithInstalledOtherPatches", required: false, type: .integer) + AWSShapeMember(label: "Severity", required: false, type: .enum), + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "ComplianceType", required: false, type: .string), + AWSShapeMember(label: "Details", required: false, type: .map), + AWSShapeMember(label: "ResourceType", required: false, type: .string), + AWSShapeMember(label: "Title", required: false, type: .string), + AWSShapeMember(label: "ExecutionSummary", required: false, type: .structure), + AWSShapeMember(label: "ResourceId", required: false, type: .string), + AWSShapeMember(label: "Id", required: false, type: .string) ] - /// The number of instances with missing patches from the patch baseline. - public let instancesWithMissingPatches: Int32? - /// The number of instances in the patch group. - public let instances: Int32? - /// The number of instances with patches that aren't applicable. - public let instancesWithNotApplicablePatches: Int32? - /// The number of instances with installed patches. - public let instancesWithInstalledPatches: Int32? - /// The number of instances with patches from the patch baseline that failed to install. - public let instancesWithFailedPatches: Int32? - /// The number of instances with patches installed that aren't defined in the patch baseline. - public let instancesWithInstalledOtherPatches: Int32? - - public init(instancesWithMissingPatches: Int32? = nil, instances: Int32? = nil, instancesWithNotApplicablePatches: Int32? = nil, instancesWithInstalledPatches: Int32? = nil, instancesWithFailedPatches: Int32? = nil, instancesWithInstalledOtherPatches: Int32? = nil) { - self.instancesWithMissingPatches = instancesWithMissingPatches - self.instances = instances - self.instancesWithNotApplicablePatches = instancesWithNotApplicablePatches - self.instancesWithInstalledPatches = instancesWithInstalledPatches - self.instancesWithFailedPatches = instancesWithFailedPatches - self.instancesWithInstalledOtherPatches = instancesWithInstalledOtherPatches + /// The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified. + public let severity: ComplianceSeverity? + /// The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT. + public let status: ComplianceStatus? + /// The compliance type. For example, Association (for a State Manager association), Patch, or Custom:string are all valid compliance types. + public let complianceType: String? + /// A "Key": "Value" tag combination for the compliance item. + public let details: [String: String]? + /// The type of resource. ManagedInstance is currently the only supported resource type. + public let resourceType: String? + /// 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. + public let title: String? + /// A summary for the compliance item. The summary includes an execution ID, the execution type (for example, command), and the execution time. + public let executionSummary: ComplianceExecutionSummary? + /// An ID for the resource. For a managed instance, this is the instance ID. + public let resourceId: String? + /// 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. + public let id: String? + + public init(severity: ComplianceSeverity? = nil, status: ComplianceStatus? = nil, complianceType: String? = nil, details: [String: String]? = nil, resourceType: String? = nil, title: String? = nil, executionSummary: ComplianceExecutionSummary? = nil, resourceId: String? = nil, id: String? = nil) { + self.severity = severity + self.status = status + self.complianceType = complianceType + self.details = details + self.resourceType = resourceType + self.title = title + self.executionSummary = executionSummary + self.resourceId = resourceId + self.id = id } private enum CodingKeys: String, CodingKey { - case instancesWithMissingPatches = "InstancesWithMissingPatches" - case instances = "Instances" - case instancesWithNotApplicablePatches = "InstancesWithNotApplicablePatches" - case instancesWithInstalledPatches = "InstancesWithInstalledPatches" - case instancesWithFailedPatches = "InstancesWithFailedPatches" - case instancesWithInstalledOtherPatches = "InstancesWithInstalledOtherPatches" + case severity = "Severity" + case status = "Status" + case complianceType = "ComplianceType" + case details = "Details" + case resourceType = "ResourceType" + case title = "Title" + case executionSummary = "ExecutionSummary" + case resourceId = "ResourceId" + case id = "Id" } } - public struct MaintenanceWindowIdentity: AWSShape { + public struct CommandFilter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "Cutoff", required: false, type: .integer), - AWSShapeMember(label: "Duration", required: false, type: .integer), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "Enabled", required: false, type: .boolean) + AWSShapeMember(label: "key", required: true, type: .enum), + AWSShapeMember(label: "value", required: true, type: .string) ] - /// The ID of the Maintenance Window. - public let windowId: String? - /// A description of the Maintenance Window. - public let description: String? - /// The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution. - public let cutoff: Int32? - /// The duration of the Maintenance Window in hours. - public let duration: Int32? - /// The name of the Maintenance Window. - public let name: String? - /// Whether the Maintenance Window is enabled. - public let enabled: Bool? + /// The name of the filter. + public let key: CommandFilterKey + /// The filter value. + public let value: String - public init(windowId: String? = nil, description: String? = nil, cutoff: Int32? = nil, duration: Int32? = nil, name: String? = nil, enabled: Bool? = nil) { - self.windowId = windowId - self.description = description - self.cutoff = cutoff - self.duration = duration - self.name = name - self.enabled = enabled + public init(key: CommandFilterKey, value: String) { + self.key = key + self.value = value } private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case description = "Description" - case cutoff = "Cutoff" - case duration = "Duration" - case name = "Name" - case enabled = "Enabled" + case key = "key" + case value = "value" } } - public struct Tag: AWSShape { + public struct RegisterPatchBaselineForPatchGroupResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Value", required: true, type: .string), - AWSShapeMember(label: "Key", required: true, type: .string) + AWSShapeMember(label: "BaselineId", required: false, type: .string), + AWSShapeMember(label: "PatchGroup", required: false, type: .string) ] - /// The value of the tag. - public let value: String - /// The name of the tag. - public let key: String + /// The ID of the patch baseline the patch group was registered with. + public let baselineId: String? + /// The name of the patch group registered with the patch baseline. + public let patchGroup: String? - public init(value: String, key: String) { - self.value = value - self.key = key + public init(baselineId: String? = nil, patchGroup: String? = nil) { + self.baselineId = baselineId + self.patchGroup = patchGroup } private enum CodingKeys: String, CodingKey { - case value = "Value" - case key = "Key" + case baselineId = "BaselineId" + case patchGroup = "PatchGroup" } } - public struct DescribeAssociationRequest: AWSShape { + public struct CreateDocumentRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AssociationVersion", required: false, type: .string), - AWSShapeMember(label: "AssociationId", required: false, type: .string), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "InstanceId", required: false, type: .string) + AWSShapeMember(label: "Content", required: true, type: .string), + AWSShapeMember(label: "TargetType", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "DocumentFormat", required: false, type: .enum), + AWSShapeMember(label: "DocumentType", required: false, type: .enum) ] - /// 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. - public let associationVersion: String? - /// The association ID for which you want information. - public let associationId: String? - /// The name of the Systems Manager document. - public let name: String? - /// The instance ID. - public let instanceId: String? + /// A valid JSON or YAML string. + public let content: String + /// 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. + public let targetType: String? + /// 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 + public let name: String + /// Specify the document format for the request. The document format can be either JSON or YAML. JSON is the default format. + public let documentFormat: DocumentFormat? + /// The type of document to create. Valid document types include: Policy, Automation, and Command. + public let documentType: DocumentType? - public init(associationVersion: String? = nil, associationId: String? = nil, name: String? = nil, instanceId: String? = nil) { - self.associationVersion = associationVersion - self.associationId = associationId + public init(content: String, targetType: String? = nil, name: String, documentFormat: DocumentFormat? = nil, documentType: DocumentType? = nil) { + self.content = content + self.targetType = targetType self.name = name - self.instanceId = instanceId + self.documentFormat = documentFormat + self.documentType = documentType } private enum CodingKeys: String, CodingKey { - case associationVersion = "AssociationVersion" - case associationId = "AssociationId" + case content = "Content" + case targetType = "TargetType" case name = "Name" - case instanceId = "InstanceId" + case documentFormat = "DocumentFormat" + case documentType = "DocumentType" } } - public struct RegisterTaskWithMaintenanceWindowResult: AWSShape { + public struct RegisterDefaultPatchBaselineResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowTaskId", required: false, type: .string) + AWSShapeMember(label: "BaselineId", required: false, type: .string) ] - /// The id of the task in the Maintenance Window. - public let windowTaskId: String? + /// The ID of the default patch baseline. + public let baselineId: String? - public init(windowTaskId: String? = nil) { - self.windowTaskId = windowTaskId + public init(baselineId: String? = nil) { + self.baselineId = baselineId } private enum CodingKeys: String, CodingKey { - case windowTaskId = "WindowTaskId" + case baselineId = "BaselineId" } } - public struct DocumentDefaultVersionDescription: AWSShape { + public struct GetDeployablePatchSnapshotForInstanceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "DefaultVersion", required: false, type: .string) + AWSShapeMember(label: "SnapshotId", required: true, type: .string), + AWSShapeMember(label: "InstanceId", required: true, type: .string) ] - /// The name of the document. - public let name: String? - /// The default version of the document. - public let defaultVersion: String? + /// The user-defined snapshot ID. + public let snapshotId: String + /// The ID of the instance for which the appropriate patch snapshot should be retrieved. + public let instanceId: String - public init(name: String? = nil, defaultVersion: String? = nil) { - self.name = name - self.defaultVersion = defaultVersion + public init(snapshotId: String, instanceId: String) { + self.snapshotId = snapshotId + self.instanceId = instanceId } private enum CodingKeys: String, CodingKey { - case name = "Name" - case defaultVersion = "DefaultVersion" + case snapshotId = "SnapshotId" + case instanceId = "InstanceId" } } - public struct AutomationExecutionFilter: AWSShape { + public struct GetParametersRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Key", required: true, type: .enum), - AWSShapeMember(label: "Values", required: true, type: .list) + AWSShapeMember(label: "WithDecryption", required: false, type: .boolean), + AWSShapeMember(label: "Names", required: true, type: .list) ] - /// One or more keys to limit the results. Valid filter keys include the following: DocumentNamePrefix, ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction, StartTimeBefore, StartTimeAfter. - public let key: AutomationExecutionFilterKey - /// The values used to limit the execution information associated with the filter's key. - public let values: [String] + /// Return decrypted secure string value. Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types. + public let withDecryption: Bool? + /// Names of the parameters for which you want to query information. + public let names: [String] - public init(key: AutomationExecutionFilterKey, values: [String]) { - self.key = key - self.values = values + public init(withDecryption: Bool? = nil, names: [String]) { + self.withDecryption = withDecryption + self.names = names } private enum CodingKeys: String, CodingKey { - case key = "Key" - case values = "Values" + case withDecryption = "WithDecryption" + case names = "Names" } } - public enum InventoryQueryOperatorType: String, CustomStringConvertible, Codable { - case equal = "Equal" - case notequal = "NotEqual" - case beginwith = "BeginWith" - case lessthan = "LessThan" - case greaterthan = "GreaterThan" - public var description: String { return self.rawValue } - } + public struct ListCommandInvocationsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "CommandInvocations", required: false, type: .list) + ] + /// (Optional) The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// (Optional) A list of all invocations. + public let commandInvocations: [CommandInvocation]? - public enum ComplianceSeverity: String, CustomStringConvertible, Codable { - case critical = "CRITICAL" - case high = "HIGH" - case medium = "MEDIUM" - case low = "LOW" - case informational = "INFORMATIONAL" - case unspecified = "UNSPECIFIED" - public var description: String { return self.rawValue } + public init(nextToken: String? = nil, commandInvocations: [CommandInvocation]? = nil) { + self.nextToken = nextToken + self.commandInvocations = commandInvocations + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case commandInvocations = "CommandInvocations" + } } - public struct DeregisterManagedInstanceRequest: AWSShape { + public struct ListCommandsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InstanceId", required: true, type: .string) + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "CommandId", required: false, type: .string), + AWSShapeMember(label: "InstanceId", required: false, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The ID assigned to the managed instance when you registered it using the activation process. - public let instanceId: String + /// (Optional) One or more filters. Use a filter to return a more specific list of results. + public let filters: [CommandFilter]? + /// (Optional) If provided, lists only the specified command. + public let commandId: String? + /// (Optional) Lists commands issued against this instance ID. + public let instanceId: String? + /// (Optional) The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// (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. + public let maxResults: Int32? - public init(instanceId: String) { + public init(filters: [CommandFilter]? = nil, commandId: String? = nil, instanceId: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.filters = filters + self.commandId = commandId self.instanceId = instanceId + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { + case filters = "Filters" + case commandId = "CommandId" case instanceId = "InstanceId" + case nextToken = "NextToken" + case maxResults = "MaxResults" } } - public struct CreateActivationRequest: AWSShape { + public struct ParameterMetadata: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "IamRole", required: true, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "RegistrationLimit", required: false, type: .integer), - AWSShapeMember(label: "DefaultInstanceName", required: false, type: .string), - AWSShapeMember(label: "ExpirationDate", required: false, type: .timestamp) + AWSShapeMember(label: "KeyId", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "Version", required: false, type: .long), + AWSShapeMember(label: "LastModifiedDate", required: false, type: .timestamp), + AWSShapeMember(label: "AllowedPattern", required: false, type: .string), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "LastModifiedUser", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The Amazon Identity and Access Management (IAM) role that you want to assign to the managed instance. - public let iamRole: String - /// A userdefined description of the resource that you want to register with Amazon EC2. + /// The ID of the query key used for this parameter. + public let keyId: String? + /// The parameter name. + public let name: String? + /// The parameter version. + public let version: Int64? + /// Date the parameter was last changed or updated. + public let lastModifiedDate: TimeStamp? + /// A parameter name can include only the following letters and symbols. a-zA-Z0-9_.- + public let allowedPattern: String? + /// The type of parameter. Valid parameter types include the following: String, String list, Secure string. + public let `type`: ParameterType? + /// Amazon Resource Name (ARN) of the AWS user who last changed the parameter. + public let lastModifiedUser: String? + /// Description of the parameter actions. public let description: String? - /// Specify the maximum number of managed instances you want to register. The default value is 1 instance. - public let registrationLimit: Int32? - /// 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. - public let defaultInstanceName: String? - /// The date by which this activation request should expire. The default value is 24 hours. - public let expirationDate: TimeStamp? - public init(iamRole: String, description: String? = nil, registrationLimit: Int32? = nil, defaultInstanceName: String? = nil, expirationDate: TimeStamp? = nil) { - self.iamRole = iamRole + public init(keyId: String? = nil, name: String? = nil, version: Int64? = nil, lastModifiedDate: TimeStamp? = nil, allowedPattern: String? = nil, type: ParameterType? = nil, lastModifiedUser: String? = nil, description: String? = nil) { + self.keyId = keyId + self.name = name + self.version = version + self.lastModifiedDate = lastModifiedDate + self.allowedPattern = allowedPattern + self.`type` = `type` + self.lastModifiedUser = lastModifiedUser self.description = description - self.registrationLimit = registrationLimit - self.defaultInstanceName = defaultInstanceName - self.expirationDate = expirationDate } private enum CodingKeys: String, CodingKey { - case iamRole = "IamRole" + case keyId = "KeyId" + case name = "Name" + case version = "Version" + case lastModifiedDate = "LastModifiedDate" + case allowedPattern = "AllowedPattern" + case `type` = "Type" + case lastModifiedUser = "LastModifiedUser" case description = "Description" - case registrationLimit = "RegistrationLimit" - case defaultInstanceName = "DefaultInstanceName" - case expirationDate = "ExpirationDate" } } - public struct AddTagsToResourceRequest: AWSShape { + public enum DescribeActivationsFilterKeys: String, CustomStringConvertible, Codable { + case activationids = "ActivationIds" + case defaultinstancename = "DefaultInstanceName" + case iamrole = "IamRole" + public var description: String { return self.rawValue } + } + + public struct GetInventoryRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ResourceId", required: true, type: .string), - AWSShapeMember(label: "Tags", required: true, type: .list), - AWSShapeMember(label: "ResourceType", required: true, type: .enum) + AWSShapeMember(label: "Aggregators", required: false, type: .list), + AWSShapeMember(label: "Filters", required: false, type: .list), + AWSShapeMember(label: "ResultAttributes", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) ] - /// The resource ID you want to tag. For the ManagedInstance, MaintenanceWindow, and PatchBaseline values, use the ID of the resource, such as mw-01234361858c9b57b for a Maintenance Window. For the Document and Parameter values, use the name of the resource. - public let resourceId: String - /// 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. - public let tags: [Tag] - /// Specifies the type of resource you are tagging. - public let resourceType: ResourceTypeForTagging + /// 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. + public let aggregators: [InventoryAggregator]? + /// One or more filters. Use a filter to return a more specific list of results. + public let filters: [InventoryFilter]? + /// The list of inventory item types to return. + public let resultAttributes: [ResultAttribute]? + /// The token for the next set of items to return. (You received this token from a previous call.) + public let nextToken: String? + /// 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. + public let maxResults: Int32? - public init(resourceId: String, tags: [Tag], resourceType: ResourceTypeForTagging) { - self.resourceId = resourceId - self.tags = tags - self.resourceType = resourceType + public init(aggregators: [InventoryAggregator]? = nil, filters: [InventoryFilter]? = nil, resultAttributes: [ResultAttribute]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.aggregators = aggregators + self.filters = filters + self.resultAttributes = resultAttributes + self.nextToken = nextToken + self.maxResults = maxResults } private enum CodingKeys: String, CodingKey { - case resourceId = "ResourceId" - case tags = "Tags" - case resourceType = "ResourceType" + case aggregators = "Aggregators" + case filters = "Filters" + case resultAttributes = "ResultAttributes" + case nextToken = "NextToken" + case maxResults = "MaxResults" } } - public struct MaintenanceWindowTask: AWSShape { + public struct DescribePatchBaselinesResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: false, type: .string), - AWSShapeMember(label: "ServiceRoleArn", required: false, type: .string), - AWSShapeMember(label: "Priority", required: false, type: .integer), - AWSShapeMember(label: "Targets", required: false, type: .list), - AWSShapeMember(label: "LoggingInfo", required: false, type: .structure), - AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "MaxErrors", required: false, type: .string), - AWSShapeMember(label: "TaskArn", required: false, type: .string), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "TaskParameters", required: false, type: .map), - AWSShapeMember(label: "WindowTaskId", required: false, type: .string), - AWSShapeMember(label: "MaxConcurrency", required: false, type: .string), - AWSShapeMember(label: "Type", required: false, type: .enum) + AWSShapeMember(label: "BaselineIdentities", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// The Maintenance Window ID where the task is registered. - public let windowId: String? - /// The role that should be assumed when executing the task - public let serviceRoleArn: String? - /// 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. - public let priority: Int32? - /// 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>. - public let targets: [Target]? - /// Information about an Amazon S3 bucket to write task-level logs to. - public let loggingInfo: LoggingInfo? - /// A description of the task. - public let description: String? - /// The maximum number of errors allowed before this task stops being scheduled. - public let maxErrors: String? - /// 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. - public let taskArn: String? - /// The task name. - public let name: String? - /// The parameters that should be passed to the task when it is executed. - public let taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? - /// The task ID. - public let windowTaskId: String? - /// The maximum number of targets this task can be run for in parallel. - public let maxConcurrency: String? - /// The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, LAMBDA, or STEP_FUNCTION. - public let `type`: MaintenanceWindowTaskType? + /// An array of PatchBaselineIdentity elements. + public let baselineIdentities: [PatchBaselineIdentity]? + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? - public init(windowId: String? = nil, serviceRoleArn: String? = nil, priority: Int32? = nil, targets: [Target]? = nil, loggingInfo: LoggingInfo? = nil, description: String? = nil, maxErrors: String? = nil, taskArn: String? = nil, name: String? = nil, taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? = nil, windowTaskId: String? = nil, maxConcurrency: String? = nil, type: MaintenanceWindowTaskType? = nil) { - self.windowId = windowId - self.serviceRoleArn = serviceRoleArn - self.priority = priority - self.targets = targets - self.loggingInfo = loggingInfo - self.description = description - self.maxErrors = maxErrors - self.taskArn = taskArn - self.name = name - self.taskParameters = taskParameters - self.windowTaskId = windowTaskId - self.maxConcurrency = maxConcurrency - self.`type` = `type` + public init(baselineIdentities: [PatchBaselineIdentity]? = nil, nextToken: String? = nil) { + self.baselineIdentities = baselineIdentities + self.nextToken = nextToken } private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case serviceRoleArn = "ServiceRoleArn" - case priority = "Priority" - case targets = "Targets" - case loggingInfo = "LoggingInfo" - case description = "Description" - case maxErrors = "MaxErrors" - case taskArn = "TaskArn" - case name = "Name" - case taskParameters = "TaskParameters" - case windowTaskId = "WindowTaskId" - case maxConcurrency = "MaxConcurrency" - case `type` = "Type" + case baselineIdentities = "BaselineIdentities" + case nextToken = "NextToken" } } - public struct DescribeMaintenanceWindowExecutionTaskInvocationsResult: AWSShape { + public struct InstanceAggregatedAssociationOverview: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowExecutionTaskInvocationIdentities", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) + AWSShapeMember(label: "InstanceAssociationStatusAggregatedCount", required: false, type: .map), + AWSShapeMember(label: "DetailedStatus", required: false, type: .string) ] - /// Information about the task invocation results per invocation. - public let windowExecutionTaskInvocationIdentities: [MaintenanceWindowExecutionTaskInvocationIdentity]? - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? + /// The number of associations for the instance(s). + public let instanceAssociationStatusAggregatedCount: [String: Int32]? + /// Detailed status information about the aggregated associations. + public let detailedStatus: String? - public init(windowExecutionTaskInvocationIdentities: [MaintenanceWindowExecutionTaskInvocationIdentity]? = nil, nextToken: String? = nil) { - self.windowExecutionTaskInvocationIdentities = windowExecutionTaskInvocationIdentities - self.nextToken = nextToken + public init(instanceAssociationStatusAggregatedCount: [String: Int32]? = nil, detailedStatus: String? = nil) { + self.instanceAssociationStatusAggregatedCount = instanceAssociationStatusAggregatedCount + self.detailedStatus = detailedStatus } private enum CodingKeys: String, CodingKey { - case windowExecutionTaskInvocationIdentities = "WindowExecutionTaskInvocationIdentities" - case nextToken = "NextToken" + case instanceAssociationStatusAggregatedCount = "InstanceAssociationStatusAggregatedCount" + case detailedStatus = "DetailedStatus" } } - public struct MaintenanceWindowAutomationParameters: AWSShape { + public struct GetCommandInvocationResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Parameters", required: false, type: .map), - AWSShapeMember(label: "DocumentVersion", required: false, type: .string) + AWSShapeMember(label: "CloudWatchOutputConfig", required: false, type: .structure), + AWSShapeMember(label: "PluginName", required: false, type: .string), + AWSShapeMember(label: "ExecutionElapsedTime", required: false, type: .string), + AWSShapeMember(label: "Comment", required: false, type: .string), + AWSShapeMember(label: "StandardOutputUrl", required: false, type: .string), + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "InstanceId", required: false, type: .string), + AWSShapeMember(label: "StandardErrorContent", required: false, type: .string), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string), + AWSShapeMember(label: "StandardErrorUrl", required: false, type: .string), + AWSShapeMember(label: "DocumentName", required: false, type: .string), + AWSShapeMember(label: "ExecutionEndDateTime", required: false, type: .string), + AWSShapeMember(label: "StandardOutputContent", required: false, type: .string), + AWSShapeMember(label: "CommandId", required: false, type: .string), + AWSShapeMember(label: "ResponseCode", required: false, type: .integer), + AWSShapeMember(label: "StatusDetails", required: false, type: .string), + AWSShapeMember(label: "ExecutionStartDateTime", required: false, type: .string) ] - /// The parameters for the AUTOMATION task. - public let parameters: [String: [String]]? - /// The version of an Automation document to use during task execution. + /// CloudWatch Logs information where Systems Manager sent the command output. + public let cloudWatchOutputConfig: CloudWatchOutputConfig? + /// The name of the plugin for which you want detailed results. For example, aws:RunShellScript is a plugin. + public let pluginName: String? + /// Duration since ExecutionStartDateTime. + public let executionElapsedTime: String? + /// The comment text for the command. + public let comment: String? + /// 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. + public let standardOutputUrl: String? + /// The status of this invocation plugin. This status can be different than StatusDetails. + public let status: CommandInvocationStatus? + /// 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. + public let instanceId: String? + /// The first 8,000 characters written by the plugin to stderr. If the command has not finished executing, then this string is empty. + public let standardErrorContent: String? + /// The SSM document version used in the request. public let documentVersion: String? + /// The URL for the complete text written by the plugin to stderr. If the command has not finished executing, then this string is empty. + public let standardErrorUrl: String? + /// The name of the document that was executed. For example, AWS-RunShellScript. + public let documentName: String? + /// 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. + public let executionEndDateTime: String? + /// 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. + public let standardOutputContent: String? + /// The parent command ID of the invocation plugin. + public let commandId: String? + /// 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. + public let responseCode: Int32? + /// 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. + public let statusDetails: String? + /// 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. + public let executionStartDateTime: String? - public init(parameters: [String: [String]]? = nil, documentVersion: String? = nil) { - self.parameters = parameters + public init(cloudWatchOutputConfig: CloudWatchOutputConfig? = nil, pluginName: String? = nil, executionElapsedTime: String? = nil, comment: String? = nil, standardOutputUrl: String? = nil, status: CommandInvocationStatus? = nil, instanceId: String? = nil, standardErrorContent: String? = nil, documentVersion: String? = nil, standardErrorUrl: String? = nil, documentName: String? = nil, executionEndDateTime: String? = nil, standardOutputContent: String? = nil, commandId: String? = nil, responseCode: Int32? = nil, statusDetails: String? = nil, executionStartDateTime: String? = nil) { + self.cloudWatchOutputConfig = cloudWatchOutputConfig + self.pluginName = pluginName + self.executionElapsedTime = executionElapsedTime + self.comment = comment + self.standardOutputUrl = standardOutputUrl + self.status = status + self.instanceId = instanceId + self.standardErrorContent = standardErrorContent self.documentVersion = documentVersion + self.standardErrorUrl = standardErrorUrl + self.documentName = documentName + self.executionEndDateTime = executionEndDateTime + self.standardOutputContent = standardOutputContent + self.commandId = commandId + self.responseCode = responseCode + self.statusDetails = statusDetails + self.executionStartDateTime = executionStartDateTime } private enum CodingKeys: String, CodingKey { - case parameters = "Parameters" + case cloudWatchOutputConfig = "CloudWatchOutputConfig" + case pluginName = "PluginName" + case executionElapsedTime = "ExecutionElapsedTime" + case comment = "Comment" + case standardOutputUrl = "StandardOutputUrl" + case status = "Status" + case instanceId = "InstanceId" + case standardErrorContent = "StandardErrorContent" case documentVersion = "DocumentVersion" + case standardErrorUrl = "StandardErrorUrl" + case documentName = "DocumentName" + case executionEndDateTime = "ExecutionEndDateTime" + case standardOutputContent = "StandardOutputContent" + case commandId = "CommandId" + case responseCode = "ResponseCode" + case statusDetails = "StatusDetails" + case executionStartDateTime = "ExecutionStartDateTime" } } - public struct DescribeInstancePatchesResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Patches", required: false, type: .list) - ] - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? - /// 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) - public let patches: [PatchComplianceData]? - - public init(nextToken: String? = nil, patches: [PatchComplianceData]? = nil) { - self.nextToken = nextToken - self.patches = patches - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case patches = "Patches" - } - } - - public struct RemoveTagsFromResourceResult: AWSShape { - - } - - public struct PatchGroupPatchBaselineMapping: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "PatchGroup", required: false, type: .string), - AWSShapeMember(label: "BaselineIdentity", required: false, type: .structure) - ] - /// The name of the patch group registered with the patch baseline. - public let patchGroup: String? - /// The patch baseline the patch group is registered with. - public let baselineIdentity: PatchBaselineIdentity? - - public init(patchGroup: String? = nil, baselineIdentity: PatchBaselineIdentity? = nil) { - self.patchGroup = patchGroup - self.baselineIdentity = baselineIdentity - } + public struct UpdateManagedInstanceRoleResult: AWSShape { - private enum CodingKeys: String, CodingKey { - case patchGroup = "PatchGroup" - case baselineIdentity = "BaselineIdentity" - } } - public struct CreatePatchBaselineResult: AWSShape { + public struct PatchStatus: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BaselineId", required: false, type: .string) + AWSShapeMember(label: "ApprovalDate", required: false, type: .timestamp), + AWSShapeMember(label: "DeploymentStatus", required: false, type: .enum), + AWSShapeMember(label: "ComplianceLevel", required: false, type: .enum) ] - /// The ID of the created patch baseline. - public let baselineId: String? + /// The date the patch was approved (or will be approved if the status is PENDING_APPROVAL). + public let approvalDate: TimeStamp? + /// The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED, EXPLICIT_REJECTED). + public let deploymentStatus: PatchDeploymentStatus? + /// The compliance severity level for a patch. + public let complianceLevel: PatchComplianceLevel? - public init(baselineId: String? = nil) { - self.baselineId = baselineId + public init(approvalDate: TimeStamp? = nil, deploymentStatus: PatchDeploymentStatus? = nil, complianceLevel: PatchComplianceLevel? = nil) { + self.approvalDate = approvalDate + self.deploymentStatus = deploymentStatus + self.complianceLevel = complianceLevel } private enum CodingKeys: String, CodingKey { - case baselineId = "BaselineId" + case approvalDate = "ApprovalDate" + case deploymentStatus = "DeploymentStatus" + case complianceLevel = "ComplianceLevel" } } - public struct DeleteMaintenanceWindowRequest: AWSShape { + public struct UpdateDocumentRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: true, type: .string) + AWSShapeMember(label: "Content", required: true, type: .string), + AWSShapeMember(label: "TargetType", required: false, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "DocumentFormat", required: false, type: .enum), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string) ] - /// The ID of the Maintenance Window to delete. - public let windowId: String + /// The content in a document that you want to update. + public let content: String + /// Specify a new target type for the document. + public let targetType: String? + /// The name of the document that you want to update. + public let name: String + /// Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format. + public let documentFormat: DocumentFormat? + /// The version of the document that you want to update. + public let documentVersion: String? - public init(windowId: String) { - self.windowId = windowId + public init(content: String, targetType: String? = nil, name: String, documentFormat: DocumentFormat? = nil, documentVersion: String? = nil) { + self.content = content + self.targetType = targetType + self.name = name + self.documentFormat = documentFormat + self.documentVersion = documentVersion } private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" + case content = "Content" + case targetType = "TargetType" + case name = "Name" + case documentFormat = "DocumentFormat" + case documentVersion = "DocumentVersion" } } - public struct DescribePatchGroupsRequest: AWSShape { + public struct DescribeAssociationExecutionsResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "AssociationExecutions", required: false, type: .list) ] - /// The token for the next set of items to return. (You received this token from a previous call.) + /// The token for the next set of items to return. Use this token to get the next set of results. public let nextToken: String? - /// One or more filters. Use a filter to return a more specific list of results. - public let filters: [PatchOrchestratorFilter]? - /// The maximum number of patch groups to return (per page). - public let maxResults: Int32? + /// A list of the executions for the specified association ID. + public let associationExecutions: [AssociationExecution]? - public init(nextToken: String? = nil, filters: [PatchOrchestratorFilter]? = nil, maxResults: Int32? = nil) { + public init(nextToken: String? = nil, associationExecutions: [AssociationExecution]? = nil) { self.nextToken = nextToken - self.filters = filters - self.maxResults = maxResults + self.associationExecutions = associationExecutions } private enum CodingKeys: String, CodingKey { case nextToken = "NextToken" - case filters = "Filters" - case maxResults = "MaxResults" + case associationExecutions = "AssociationExecutions" } } - public struct MaintenanceWindowRunCommandParameters: AWSShape { + public struct GetMaintenanceWindowExecutionResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ServiceRoleArn", required: false, type: .string), - AWSShapeMember(label: "Parameters", required: false, type: .map), - AWSShapeMember(label: "OutputS3BucketName", required: false, type: .string), - AWSShapeMember(label: "NotificationConfig", required: false, type: .structure), - AWSShapeMember(label: "Comment", required: false, type: .string), - AWSShapeMember(label: "DocumentHash", required: false, type: .string), - AWSShapeMember(label: "OutputS3KeyPrefix", required: false, type: .string), - AWSShapeMember(label: "DocumentHashType", required: false, type: .enum), - AWSShapeMember(label: "TimeoutSeconds", required: false, type: .integer) + AWSShapeMember(label: "EndTime", required: false, type: .timestamp), + AWSShapeMember(label: "TaskIds", required: false, type: .list), + AWSShapeMember(label: "StartTime", required: false, type: .timestamp), + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "WindowExecutionId", required: false, type: .string), + AWSShapeMember(label: "StatusDetails", required: false, type: .string) ] - /// The IAM service role to assume during task execution. - public let serviceRoleArn: String? - /// The parameters for the RUN_COMMAND task execution. - public let parameters: [String: [String]]? - /// The name of the Amazon S3 bucket. - public let outputS3BucketName: String? - /// Configurations for sending notifications about command status changes on a per-instance basis. - public let notificationConfig: NotificationConfig? - /// Information about the command(s) to execute. - public let comment: String? - /// The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes have been deprecated. - public let documentHash: String? - /// The Amazon S3 bucket subfolder. - public let outputS3KeyPrefix: String? - /// SHA-256 or SHA-1. SHA-1 hashes have been deprecated. - public let documentHashType: DocumentHashType? - /// If this time is reached and the command has not already started executing, it doesn not execute. - public let timeoutSeconds: Int32? + /// The time the Maintenance Window finished executing. + public let endTime: TimeStamp? + /// The ID of the task executions from the Maintenance Window execution. + public let taskIds: [String]? + /// The time the Maintenance Window started executing. + public let startTime: TimeStamp? + /// The status of the Maintenance Window execution. + public let status: MaintenanceWindowExecutionStatus? + /// The ID of the Maintenance Window execution. + public let windowExecutionId: String? + /// The details explaining the Status. Only available for certain status values. + public let statusDetails: String? - public init(serviceRoleArn: String? = nil, parameters: [String: [String]]? = nil, outputS3BucketName: String? = nil, notificationConfig: NotificationConfig? = nil, comment: String? = nil, documentHash: String? = nil, outputS3KeyPrefix: String? = nil, documentHashType: DocumentHashType? = nil, timeoutSeconds: Int32? = nil) { - self.serviceRoleArn = serviceRoleArn - self.parameters = parameters - self.outputS3BucketName = outputS3BucketName - self.notificationConfig = notificationConfig - self.comment = comment - self.documentHash = documentHash - self.outputS3KeyPrefix = outputS3KeyPrefix - self.documentHashType = documentHashType - self.timeoutSeconds = timeoutSeconds + public init(endTime: TimeStamp? = nil, taskIds: [String]? = nil, startTime: TimeStamp? = nil, status: MaintenanceWindowExecutionStatus? = nil, windowExecutionId: String? = nil, statusDetails: String? = nil) { + self.endTime = endTime + self.taskIds = taskIds + self.startTime = startTime + self.status = status + self.windowExecutionId = windowExecutionId + self.statusDetails = statusDetails } private enum CodingKeys: String, CodingKey { - case serviceRoleArn = "ServiceRoleArn" - case parameters = "Parameters" - case outputS3BucketName = "OutputS3BucketName" - case notificationConfig = "NotificationConfig" - case comment = "Comment" - case documentHash = "DocumentHash" - case outputS3KeyPrefix = "OutputS3KeyPrefix" - case documentHashType = "DocumentHashType" - case timeoutSeconds = "TimeoutSeconds" + case endTime = "EndTime" + case taskIds = "TaskIds" + case startTime = "StartTime" + case status = "Status" + case windowExecutionId = "WindowExecutionId" + case statusDetails = "StatusDetails" } } - public struct GetPatchBaselineForPatchGroupRequest: AWSShape { + public struct RegisterTaskWithMaintenanceWindowResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OperatingSystem", required: false, type: .enum), - AWSShapeMember(label: "PatchGroup", required: true, type: .string) + AWSShapeMember(label: "WindowTaskId", required: false, type: .string) ] - /// Returns he operating system rule specified for patch groups using the patch baseline. - public let operatingSystem: OperatingSystem? - /// The name of the patch group whose patch baseline should be retrieved. - public let patchGroup: String - - public init(operatingSystem: OperatingSystem? = nil, patchGroup: String) { - self.operatingSystem = operatingSystem - self.patchGroup = patchGroup + /// The id of the task in the Maintenance Window. + public let windowTaskId: String? + + public init(windowTaskId: String? = nil) { + self.windowTaskId = windowTaskId } private enum CodingKeys: String, CodingKey { - case operatingSystem = "OperatingSystem" - case patchGroup = "PatchGroup" + case windowTaskId = "WindowTaskId" } } - public struct ListTagsForResourceRequest: AWSShape { + public struct DescribeAssociationRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ResourceId", required: true, type: .string), - AWSShapeMember(label: "ResourceType", required: true, type: .enum) + AWSShapeMember(label: "AssociationVersion", required: false, type: .string), + AWSShapeMember(label: "AssociationId", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "InstanceId", required: false, type: .string) ] - /// The resource ID for which you want to see a list of tags. - public let resourceId: String - /// Returns a list of tags for a specific resource type. - public let resourceType: ResourceTypeForTagging + /// 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. + public let associationVersion: String? + /// The association ID for which you want information. + public let associationId: String? + /// The name of the Systems Manager document. + public let name: String? + /// The instance ID. + public let instanceId: String? - public init(resourceId: String, resourceType: ResourceTypeForTagging) { - self.resourceId = resourceId - self.resourceType = resourceType + public init(associationVersion: String? = nil, associationId: String? = nil, name: String? = nil, instanceId: String? = nil) { + self.associationVersion = associationVersion + self.associationId = associationId + self.name = name + self.instanceId = instanceId } private enum CodingKeys: String, CodingKey { - case resourceId = "ResourceId" - case resourceType = "ResourceType" + case associationVersion = "AssociationVersion" + case associationId = "AssociationId" + case name = "Name" + case instanceId = "InstanceId" } } - public struct DescribeActivationsFilter: AWSShape { + public struct DocumentDefaultVersionDescription: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "FilterKey", required: false, type: .enum), - AWSShapeMember(label: "FilterValues", required: false, type: .list) + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "DefaultVersion", required: false, type: .string) ] - /// The name of the filter. - public let filterKey: DescribeActivationsFilterKeys? - /// The filter values. - public let filterValues: [String]? + /// The name of the document. + public let name: String? + /// The default version of the document. + public let defaultVersion: String? - public init(filterKey: DescribeActivationsFilterKeys? = nil, filterValues: [String]? = nil) { - self.filterKey = filterKey - self.filterValues = filterValues + public init(name: String? = nil, defaultVersion: String? = nil) { + self.name = name + self.defaultVersion = defaultVersion } private enum CodingKeys: String, CodingKey { - case filterKey = "FilterKey" - case filterValues = "FilterValues" + case name = "Name" + case defaultVersion = "DefaultVersion" } } - public struct CompliantSummary: AWSShape { + public struct CreateActivationRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CompliantCount", required: false, type: .integer), - AWSShapeMember(label: "SeveritySummary", required: false, type: .structure) + AWSShapeMember(label: "IamRole", required: true, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "RegistrationLimit", required: false, type: .integer), + AWSShapeMember(label: "DefaultInstanceName", required: false, type: .string), + AWSShapeMember(label: "ExpirationDate", required: false, type: .timestamp) ] - /// The total number of resources that are compliant. - public let compliantCount: Int32? - /// A summary of the compliance severity by compliance type. - public let severitySummary: SeveritySummary? + /// The Amazon Identity and Access Management (IAM) role that you want to assign to the managed instance. + public let iamRole: String + /// A user-defined description of the resource that you want to register with Amazon EC2. Do not enter personally identifiable information in this field. + public let description: String? + /// Specify the maximum number of managed instances you want to register. The default value is 1 instance. + public let registrationLimit: Int32? + /// 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. + public let defaultInstanceName: String? + /// The date by which this activation request should expire. The default value is 24 hours. + public let expirationDate: TimeStamp? - public init(compliantCount: Int32? = nil, severitySummary: SeveritySummary? = nil) { - self.compliantCount = compliantCount - self.severitySummary = severitySummary + public init(iamRole: String, description: String? = nil, registrationLimit: Int32? = nil, defaultInstanceName: String? = nil, expirationDate: TimeStamp? = nil) { + self.iamRole = iamRole + self.description = description + self.registrationLimit = registrationLimit + self.defaultInstanceName = defaultInstanceName + self.expirationDate = expirationDate } private enum CodingKeys: String, CodingKey { - case compliantCount = "CompliantCount" - case severitySummary = "SeveritySummary" + case iamRole = "IamRole" + case description = "Description" + case registrationLimit = "RegistrationLimit" + case defaultInstanceName = "DefaultInstanceName" + case expirationDate = "ExpirationDate" } } - public struct GetAutomationExecutionRequest: AWSShape { + public struct AddTagsToResourceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AutomationExecutionId", required: true, type: .string) + AWSShapeMember(label: "ResourceId", required: true, type: .string), + AWSShapeMember(label: "Tags", required: true, type: .list), + AWSShapeMember(label: "ResourceType", required: true, type: .enum) ] - /// 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. - public let automationExecutionId: String + /// 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. + public let resourceId: String + /// 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. + public let tags: [Tag] + /// 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. + public let resourceType: ResourceTypeForTagging - public init(automationExecutionId: String) { - self.automationExecutionId = automationExecutionId + public init(resourceId: String, tags: [Tag], resourceType: ResourceTypeForTagging) { + self.resourceId = resourceId + self.tags = tags + self.resourceType = resourceType } private enum CodingKeys: String, CodingKey { - case automationExecutionId = "AutomationExecutionId" + case resourceId = "ResourceId" + case tags = "Tags" + case resourceType = "ResourceType" } } - public struct Parameter: AWSShape { + public struct DescribeInstancePatchesResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Type", required: false, type: .enum), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "Value", required: false, type: .string), - AWSShapeMember(label: "Version", required: false, type: .long) + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Patches", required: false, type: .list) ] - /// The type of parameter. Valid values include the following: String, String list, Secure string. - public let `type`: ParameterType? - /// The name of the parameter. - public let name: String? - /// The parameter value. - public let value: String? - /// The parameter version. - public let version: Int64? + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? + /// 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) + public let patches: [PatchComplianceData]? - public init(type: ParameterType? = nil, name: String? = nil, value: String? = nil, version: Int64? = nil) { - self.`type` = `type` - self.name = name - self.value = value - self.version = version + public init(nextToken: String? = nil, patches: [PatchComplianceData]? = nil) { + self.nextToken = nextToken + self.patches = patches } private enum CodingKeys: String, CodingKey { - case `type` = "Type" - case name = "Name" - case value = "Value" - case version = "Version" + case nextToken = "NextToken" + case patches = "Patches" } } - public struct CreateActivationResult: AWSShape { + public struct PatchGroupPatchBaselineMapping: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ActivationId", required: false, type: .string), - AWSShapeMember(label: "ActivationCode", required: false, type: .string) + AWSShapeMember(label: "PatchGroup", required: false, type: .string), + AWSShapeMember(label: "BaselineIdentity", required: false, type: .structure) ] - /// The ID number generated by the system when it processed the activation. The activation ID functions like a user name. - public let activationId: String? - /// The code the system generates when it processes the activation. The activation code functions like a password to validate the activation ID. - public let activationCode: String? + /// The name of the patch group registered with the patch baseline. + public let patchGroup: String? + /// The patch baseline the patch group is registered with. + public let baselineIdentity: PatchBaselineIdentity? - public init(activationId: String? = nil, activationCode: String? = nil) { - self.activationId = activationId - self.activationCode = activationCode + public init(patchGroup: String? = nil, baselineIdentity: PatchBaselineIdentity? = nil) { + self.patchGroup = patchGroup + self.baselineIdentity = baselineIdentity } private enum CodingKeys: String, CodingKey { - case activationId = "ActivationId" - case activationCode = "ActivationCode" + case patchGroup = "PatchGroup" + case baselineIdentity = "BaselineIdentity" } } - public struct DescribeMaintenanceWindowExecutionTasksResult: AWSShape { + public struct CreatePatchBaselineResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowExecutionTaskIdentities", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) + AWSShapeMember(label: "BaselineId", required: false, type: .string) ] - /// Information about the task executions. - public let windowExecutionTaskIdentities: [MaintenanceWindowExecutionTaskIdentity]? - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? + /// The ID of the created patch baseline. + public let baselineId: String? - public init(windowExecutionTaskIdentities: [MaintenanceWindowExecutionTaskIdentity]? = nil, nextToken: String? = nil) { - self.windowExecutionTaskIdentities = windowExecutionTaskIdentities - self.nextToken = nextToken + public init(baselineId: String? = nil) { + self.baselineId = baselineId } private enum CodingKeys: String, CodingKey { - case windowExecutionTaskIdentities = "WindowExecutionTaskIdentities" - case nextToken = "NextToken" + case baselineId = "BaselineId" } } - public struct DescribeInstanceAssociationsStatusRequest: AWSShape { + public struct DeleteMaintenanceWindowRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "InstanceId", required: true, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + AWSShapeMember(label: "WindowId", required: true, type: .string) ] - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// The instance IDs for which you want association status information. - public let instanceId: String - /// 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. - public let maxResults: Int32? + /// The ID of the Maintenance Window to delete. + public let windowId: String - public init(nextToken: String? = nil, instanceId: String, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.instanceId = instanceId - self.maxResults = maxResults + public init(windowId: String) { + self.windowId = windowId } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case instanceId = "InstanceId" - case maxResults = "MaxResults" + case windowId = "WindowId" } } - public struct ListComplianceSummariesResult: AWSShape { + public struct CompliantSummary: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "ComplianceSummaryItems", required: false, type: .list) + AWSShapeMember(label: "CompliantCount", required: false, type: .integer), + AWSShapeMember(label: "SeveritySummary", required: false, type: .structure) ] - /// The token for the next set of items to return. Use this token to get the next set of results. - public let nextToken: String? - /// 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. - public let complianceSummaryItems: [ComplianceSummaryItem]? + /// The total number of resources that are compliant. + public let compliantCount: Int32? + /// A summary of the compliance severity by compliance type. + public let severitySummary: SeveritySummary? - public init(nextToken: String? = nil, complianceSummaryItems: [ComplianceSummaryItem]? = nil) { - self.nextToken = nextToken - self.complianceSummaryItems = complianceSummaryItems + public init(compliantCount: Int32? = nil, severitySummary: SeveritySummary? = nil) { + self.compliantCount = compliantCount + self.severitySummary = severitySummary } private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case complianceSummaryItems = "ComplianceSummaryItems" + case compliantCount = "CompliantCount" + case severitySummary = "SeveritySummary" } } - public struct PutParameterResult: AWSShape { + public struct CreateActivationResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Version", required: false, type: .long) + AWSShapeMember(label: "ActivationId", required: false, type: .string), + AWSShapeMember(label: "ActivationCode", required: false, type: .string) ] - /// 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. - public let version: Int64? + /// The ID number generated by the system when it processed the activation. The activation ID functions like a user name. + public let activationId: String? + /// The code the system generates when it processes the activation. The activation code functions like a password to validate the activation ID. + public let activationCode: String? - public init(version: Int64? = nil) { - self.version = version + public init(activationId: String? = nil, activationCode: String? = nil) { + self.activationId = activationId + self.activationCode = activationCode } private enum CodingKeys: String, CodingKey { - case version = "Version" + case activationId = "ActivationId" + case activationCode = "ActivationCode" } } - public struct ListInventoryEntriesRequest: AWSShape { + public struct ListComplianceSummariesResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "MaxResults", required: false, type: .integer), - AWSShapeMember(label: "Filters", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "InstanceId", required: true, type: .string), - AWSShapeMember(label: "TypeName", required: true, type: .string) + AWSShapeMember(label: "ComplianceSummaryItems", required: false, type: .list) ] - /// 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. - public let maxResults: Int32? - /// One or more filters. Use a filter to return a more specific list of results. - public let filters: [InventoryFilter]? - /// The token for the next set of items to return. (You received this token from a previous call.) + /// The token for the next set of items to return. Use this token to get the next set of results. public let nextToken: String? - /// The instance ID for which you want inventory information. - public let instanceId: String - /// The type of inventory item for which you want information. - public let typeName: String + /// 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. + public let complianceSummaryItems: [ComplianceSummaryItem]? - public init(maxResults: Int32? = nil, filters: [InventoryFilter]? = nil, nextToken: String? = nil, instanceId: String, typeName: String) { - self.maxResults = maxResults - self.filters = filters + public init(nextToken: String? = nil, complianceSummaryItems: [ComplianceSummaryItem]? = nil) { self.nextToken = nextToken - self.instanceId = instanceId - self.typeName = typeName + self.complianceSummaryItems = complianceSummaryItems } private enum CodingKeys: String, CodingKey { - case maxResults = "MaxResults" - case filters = "Filters" case nextToken = "NextToken" - case instanceId = "InstanceId" - case typeName = "TypeName" + case complianceSummaryItems = "ComplianceSummaryItems" } } @@ -6164,16 +8356,25 @@ extension Ssm { } } - public enum MaintenanceWindowExecutionStatus: String, CustomStringConvertible, Codable { - case pending = "PENDING" - case inProgress = "IN_PROGRESS" - case success = "SUCCESS" - case failed = "FAILED" - case timedOut = "TIMED_OUT" - case cancelling = "CANCELLING" - case cancelled = "CANCELLED" - case skippedOverlapping = "SKIPPED_OVERLAPPING" - public var description: String { return self.rawValue } + public struct ListDocumentVersionsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DocumentVersions", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// The document versions. + public let documentVersions: [DocumentVersionInfo]? + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? + + public init(documentVersions: [DocumentVersionInfo]? = nil, nextToken: String? = nil) { + self.documentVersions = documentVersions + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case documentVersions = "DocumentVersions" + case nextToken = "NextToken" + } } public struct UpdateAssociationRequest: AWSShape { @@ -6229,224 +8430,27 @@ extension Ssm { case outputLocation = "OutputLocation" case scheduleExpression = "ScheduleExpression" case associationName = "AssociationName" - } - } - - public struct GetCommandInvocationRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "CommandId", required: true, type: .string), - AWSShapeMember(label: "PluginName", required: false, type: .string), - AWSShapeMember(label: "InstanceId", required: true, type: .string) - ] - /// (Required) The parent command ID of the invocation plugin. - public let commandId: String - /// (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. - public let pluginName: String? - /// (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. - public let instanceId: String - - public init(commandId: String, pluginName: String? = nil, instanceId: String) { - self.commandId = commandId - self.pluginName = pluginName - self.instanceId = instanceId - } - - private enum CodingKeys: String, CodingKey { - case commandId = "CommandId" - case pluginName = "PluginName" - case instanceId = "InstanceId" - } - } - - public struct DeleteAssociationResult: AWSShape { - - } - - public struct ListResourceDataSyncRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// A token to start the list. Use this token to get the next set of results. - public let nextToken: String? - /// 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. - public let maxResults: Int32? - - public init(nextToken: String? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case maxResults = "MaxResults" - } - } - - public struct ListResourceComplianceSummariesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// A token to start the list. Use this token to get the next set of results. - public let nextToken: String? - /// One or more filters. Use a filter to return a more specific list of results. - public let filters: [ComplianceStringFilter]? - /// 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. - public let maxResults: Int32? - - public init(nextToken: String? = nil, filters: [ComplianceStringFilter]? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.filters = filters - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case filters = "Filters" - case maxResults = "MaxResults" - } - } - - public struct ListDocumentVersionsResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DocumentVersions", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) - ] - /// The document versions. - public let documentVersions: [DocumentVersionInfo]? - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? - - public init(documentVersions: [DocumentVersionInfo]? = nil, nextToken: String? = nil) { - self.documentVersions = documentVersions - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case documentVersions = "DocumentVersions" - case nextToken = "NextToken" - } - } - - public struct CreateAssociationBatchResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Successful", required: false, type: .list), - AWSShapeMember(label: "Failed", required: false, type: .list) - ] - /// Information about the associations that succeeded. - public let successful: [AssociationDescription]? - /// Information about the associations that failed. - public let failed: [FailedCreateAssociation]? - - public init(successful: [AssociationDescription]? = nil, failed: [FailedCreateAssociation]? = nil) { - self.successful = successful - self.failed = failed - } - - private enum CodingKeys: String, CodingKey { - case successful = "Successful" - case failed = "Failed" - } - } - - public struct UpdateDocumentDefaultVersionResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", required: false, type: .structure) - ] - /// The description of a custom document that you want to set as the default version. - public let description: DocumentDefaultVersionDescription? - - public init(description: DocumentDefaultVersionDescription? = nil) { - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case description = "Description" - } - } - - public enum PingStatus: String, CustomStringConvertible, Codable { - case online = "Online" - case connectionlost = "ConnectionLost" - case inactive = "Inactive" - public var description: String { return self.rawValue } - } - - public struct InstancePatchState: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InstalledOtherCount", required: false, type: .integer), - AWSShapeMember(label: "FailedCount", required: false, type: .integer), - AWSShapeMember(label: "OperationEndTime", required: true, type: .timestamp), - AWSShapeMember(label: "PatchGroup", required: true, type: .string), - AWSShapeMember(label: "BaselineId", required: true, type: .string), - AWSShapeMember(label: "MissingCount", required: false, type: .integer), - AWSShapeMember(label: "InstanceId", required: true, type: .string), - AWSShapeMember(label: "Operation", required: true, type: .enum), - AWSShapeMember(label: "NotApplicableCount", required: false, type: .integer), - AWSShapeMember(label: "SnapshotId", required: false, type: .string), - AWSShapeMember(label: "InstalledCount", required: false, type: .integer), - AWSShapeMember(label: "OperationStartTime", required: true, type: .timestamp), - AWSShapeMember(label: "OwnerInformation", required: false, type: .string) - ] - /// The number of patches not specified in the patch baseline that are installed on the instance. - public let installedOtherCount: Int32? - /// The number of patches from the patch baseline that were attempted to be installed during the last patching operation, but failed to install. - public let failedCount: Int32? - /// The time the most recent patching operation completed on the instance. - public let operationEndTime: TimeStamp - /// The name of the patch group the managed instance belongs to. - public let patchGroup: String - /// The ID of the patch baseline used to patch the instance. - public let baselineId: String - /// The number of patches from the patch baseline that are applicable for the instance but aren't currently installed. - public let missingCount: Int32? - /// The ID of the managed instance the high-level patch compliance information was collected for. - public let instanceId: String - /// The type of patching operation that was performed: SCAN (assess patch compliance state) or INSTALL (install missing patches). - public let operation: PatchOperationType - /// The number of patches from the patch baseline that aren't applicable for the instance and hence aren't installed on the instance. - public let notApplicableCount: Int32? - /// The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected. - public let snapshotId: String? - /// The number of patches from the patch baseline that are installed on the instance. - public let installedCount: Int32? - /// The time the most recent patching operation was started on the instance. - public let operationStartTime: TimeStamp - /// Placeholder information, this field will always be empty in the current release of the service. - public let ownerInformation: String? + } + } - public init(installedOtherCount: Int32? = nil, failedCount: Int32? = nil, operationEndTime: TimeStamp, patchGroup: String, baselineId: String, missingCount: Int32? = nil, instanceId: String, operation: PatchOperationType, notApplicableCount: Int32? = nil, snapshotId: String? = nil, installedCount: Int32? = nil, operationStartTime: TimeStamp, ownerInformation: String? = nil) { - self.installedOtherCount = installedOtherCount - self.failedCount = failedCount - self.operationEndTime = operationEndTime - self.patchGroup = patchGroup - self.baselineId = baselineId - self.missingCount = missingCount - self.instanceId = instanceId - self.operation = operation - self.notApplicableCount = notApplicableCount - self.snapshotId = snapshotId - self.installedCount = installedCount - self.operationStartTime = operationStartTime - self.ownerInformation = ownerInformation + public struct CreateAssociationBatchResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Successful", required: false, type: .list), + AWSShapeMember(label: "Failed", required: false, type: .list) + ] + /// Information about the associations that succeeded. + public let successful: [AssociationDescription]? + /// Information about the associations that failed. + public let failed: [FailedCreateAssociation]? + + public init(successful: [AssociationDescription]? = nil, failed: [FailedCreateAssociation]? = nil) { + self.successful = successful + self.failed = failed } private enum CodingKeys: String, CodingKey { - case installedOtherCount = "InstalledOtherCount" - case failedCount = "FailedCount" - case operationEndTime = "OperationEndTime" - case patchGroup = "PatchGroup" - case baselineId = "BaselineId" - case missingCount = "MissingCount" - case instanceId = "InstanceId" - case operation = "Operation" - case notApplicableCount = "NotApplicableCount" - case snapshotId = "SnapshotId" - case installedCount = "InstalledCount" - case operationStartTime = "OperationStartTime" - case ownerInformation = "OwnerInformation" + case successful = "Successful" + case failed = "Failed" } } @@ -6509,12 +8513,6 @@ extension Ssm { public var description: String { return self.rawValue } } - public enum DocumentHashType: String, CustomStringConvertible, Codable { - case sha256 = "Sha256" - case sha1 = "Sha1" - public var description: String { return self.rawValue } - } - public struct MaintenanceWindowExecution: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "EndTime", required: false, type: .timestamp), @@ -6556,23 +8554,12 @@ extension Ssm { } } - public enum ParameterType: String, CustomStringConvertible, Codable { - case string = "String" - case stringlist = "StringList" - case securestring = "SecureString" - public var description: String { return self.rawValue } - } - public enum StopType: String, CustomStringConvertible, Codable { case complete = "Complete" case cancel = "Cancel" public var description: String { return self.rawValue } } - public struct PutInventoryResult: AWSShape { - - } - public struct ListDocumentsResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DocumentIdentifiers", required: false, type: .list), @@ -6594,113 +8581,6 @@ extension Ssm { } } - public struct ListTagsForResourceResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TagList", required: false, type: .list) - ] - /// A list of tags. - public let tagList: [Tag]? - - public init(tagList: [Tag]? = nil) { - self.tagList = tagList - } - - private enum CodingKeys: String, CodingKey { - case tagList = "TagList" - } - } - - public struct StepExecution: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Response", required: false, type: .string), - AWSShapeMember(label: "OnFailure", required: false, type: .string), - AWSShapeMember(label: "Inputs", required: false, type: .map), - AWSShapeMember(label: "ExecutionStartTime", required: false, type: .timestamp), - AWSShapeMember(label: "Outputs", required: false, type: .map), - AWSShapeMember(label: "MaxAttempts", required: false, type: .integer), - AWSShapeMember(label: "ExecutionEndTime", required: false, type: .timestamp), - AWSShapeMember(label: "StepName", required: false, type: .string), - AWSShapeMember(label: "Action", required: false, type: .string), - AWSShapeMember(label: "FailureDetails", required: false, type: .structure), - AWSShapeMember(label: "OverriddenParameters", required: false, type: .map), - AWSShapeMember(label: "ResponseCode", required: false, type: .string), - AWSShapeMember(label: "StepExecutionId", required: false, type: .string), - AWSShapeMember(label: "FailureMessage", required: false, type: .string), - AWSShapeMember(label: "StepStatus", required: false, type: .enum), - AWSShapeMember(label: "TimeoutSeconds", required: false, type: .long) - ] - /// A message associated with the response code for an execution. - public let response: String? - /// The action to take if the step fails. The default value is Abort. - public let onFailure: String? - /// Fully-resolved values passed into the step before execution. - public let inputs: [String: String]? - /// 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. - public let executionStartTime: TimeStamp? - /// Returned values from the execution of the step. - public let outputs: [String: [String]]? - /// The maximum number of tries to run the action of the step. The default value is 1. - public let maxAttempts: Int32? - /// 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. - public let executionEndTime: TimeStamp? - /// The name of this execution step. - public let stepName: String? - /// The action this step performs. The action determines the behavior of the step. - public let action: String? - /// Information about the Automation failure. - public let failureDetails: FailureDetails? - /// A user-specified list of parameters to override when executing a step. - public let overriddenParameters: [String: [String]]? - /// The response code returned by the execution of the step. - public let responseCode: String? - /// The unique ID of a step execution. - public let stepExecutionId: String? - /// If a step failed, this message explains why the execution failed. - public let failureMessage: String? - /// The execution status for this step. Valid values include: Pending, InProgress, Success, Cancelled, Failed, and TimedOut. - public let stepStatus: AutomationExecutionStatus? - /// The timeout seconds of the step. - public let timeoutSeconds: Int64? - - public init(response: String? = nil, onFailure: String? = nil, inputs: [String: String]? = nil, executionStartTime: TimeStamp? = nil, outputs: [String: [String]]? = nil, maxAttempts: Int32? = nil, executionEndTime: TimeStamp? = nil, stepName: String? = nil, action: String? = nil, failureDetails: FailureDetails? = nil, overriddenParameters: [String: [String]]? = nil, responseCode: String? = nil, stepExecutionId: String? = nil, failureMessage: String? = nil, stepStatus: AutomationExecutionStatus? = nil, timeoutSeconds: Int64? = nil) { - self.response = response - self.onFailure = onFailure - self.inputs = inputs - self.executionStartTime = executionStartTime - self.outputs = outputs - self.maxAttempts = maxAttempts - self.executionEndTime = executionEndTime - self.stepName = stepName - self.action = action - self.failureDetails = failureDetails - self.overriddenParameters = overriddenParameters - self.responseCode = responseCode - self.stepExecutionId = stepExecutionId - self.failureMessage = failureMessage - self.stepStatus = stepStatus - self.timeoutSeconds = timeoutSeconds - } - - private enum CodingKeys: String, CodingKey { - case response = "Response" - case onFailure = "OnFailure" - case inputs = "Inputs" - case executionStartTime = "ExecutionStartTime" - case outputs = "Outputs" - case maxAttempts = "MaxAttempts" - case executionEndTime = "ExecutionEndTime" - case stepName = "StepName" - case action = "Action" - case failureDetails = "FailureDetails" - case overriddenParameters = "OverriddenParameters" - case responseCode = "ResponseCode" - case stepExecutionId = "StepExecutionId" - case failureMessage = "FailureMessage" - case stepStatus = "StepStatus" - case timeoutSeconds = "TimeoutSeconds" - } - } - public struct CreateResourceDataSyncRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SyncName", required: true, type: .string), @@ -6748,32 +8628,6 @@ extension Ssm { } } - public struct DescribeAvailablePatchesRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// Filters used to scope down the returned patches. - public let filters: [PatchOrchestratorFilter]? - /// The maximum number of patches to return (per page). - public let maxResults: Int32? - - public init(nextToken: String? = nil, filters: [PatchOrchestratorFilter]? = nil, maxResults: Int32? = nil) { - self.nextToken = nextToken - self.filters = filters - self.maxResults = maxResults - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case filters = "Filters" - case maxResults = "MaxResults" - } - } - public struct GetMaintenanceWindowExecutionTaskResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Priority", required: false, type: .integer), @@ -6806,7 +8660,7 @@ extension Ssm { public let maxErrors: String? /// The status of the task. public let status: MaintenanceWindowExecutionStatus? - /// The parameters passed to the task when it was executed. The map has the following format: Key: string, between 1 and 255 characters Value: an array of strings, each string is between 1 and 255 characters + /// 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 public let taskParameters: [[String: MaintenanceWindowTaskParameterValueExpression]]? /// The time the task execution completed. public let endTime: TimeStamp? @@ -6850,43 +8704,6 @@ extension Ssm { } } - public struct CreateDocumentResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DocumentDescription", required: false, type: .structure) - ] - /// Information about the Systems Manager document. - public let documentDescription: DocumentDescription? - - public init(documentDescription: DocumentDescription? = nil) { - self.documentDescription = documentDescription - } - - private enum CodingKeys: String, CodingKey { - case documentDescription = "DocumentDescription" - } - } - - public struct DescribeMaintenanceWindowExecutionsResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowExecutions", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) - ] - /// Information about the Maintenance Windows execution. - public let windowExecutions: [MaintenanceWindowExecution]? - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? - - public init(windowExecutions: [MaintenanceWindowExecution]? = nil, nextToken: String? = nil) { - self.windowExecutions = windowExecutions - self.nextToken = nextToken - } - - private enum CodingKeys: String, CodingKey { - case windowExecutions = "WindowExecutions" - case nextToken = "NextToken" - } - } - public struct ListCommandInvocationsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Details", required: false, type: .boolean), @@ -6930,72 +8747,82 @@ extension Ssm { public struct GetPatchBaselineResult: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BaselineId", required: false, type: .string), - AWSShapeMember(label: "ApprovedPatches", required: false, type: .list), AWSShapeMember(label: "ModifiedDate", required: false, type: .timestamp), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "OperatingSystem", required: false, type: .enum), AWSShapeMember(label: "RejectedPatches", required: false, type: .list), - AWSShapeMember(label: "ApprovalRules", required: false, type: .structure), AWSShapeMember(label: "ApprovedPatchesComplianceLevel", required: false, type: .enum), - AWSShapeMember(label: "PatchGroups", required: false, type: .list), + AWSShapeMember(label: "Sources", required: false, type: .list), AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), AWSShapeMember(label: "GlobalFilters", required: false, type: .structure), - AWSShapeMember(label: "Description", required: false, type: .string) + AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "BaselineId", required: false, type: .string), + AWSShapeMember(label: "ApprovedPatches", required: false, type: .list), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "OperatingSystem", required: false, type: .enum), + AWSShapeMember(label: "ApprovedPatchesEnableNonSecurity", required: false, type: .boolean), + AWSShapeMember(label: "ApprovalRules", required: false, type: .structure), + AWSShapeMember(label: "PatchGroups", required: false, type: .list) ] + /// The date the patch baseline was last modified. + public let modifiedDate: TimeStamp? + /// A list of explicitly rejected patches for the baseline. + public let rejectedPatches: [String]? + /// Returns the specified compliance severity level for approved patches in the patch baseline. + public let approvedPatchesComplianceLevel: PatchComplianceLevel? + /// Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only. + public let sources: [PatchSource]? + /// The date the patch baseline was created. + public let createdDate: TimeStamp? + /// A set of global filters used to exclude patches from the baseline. + public let globalFilters: PatchFilterGroup? + /// A description of the patch baseline. + public let description: String? /// The ID of the retrieved patch baseline. public let baselineId: String? /// A list of explicitly approved patches for the baseline. public let approvedPatches: [String]? - /// The date the patch baseline was last modified. - public let modifiedDate: TimeStamp? /// The name of the patch baseline. public let name: String? /// Returns the operating system specified for the patch baseline. public let operatingSystem: OperatingSystem? - /// A list of explicitly rejected patches for the baseline. - public let rejectedPatches: [String]? + /// 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. + public let approvedPatchesEnableNonSecurity: Bool? /// A set of rules used to include patches in the baseline. public let approvalRules: PatchRuleGroup? - /// Returns the specified compliance severity level for approved patches in the patch baseline. - public let approvedPatchesComplianceLevel: PatchComplianceLevel? /// Patch groups included in the patch baseline. public let patchGroups: [String]? - /// The date the patch baseline was created. - public let createdDate: TimeStamp? - /// A set of global filters used to exclude patches from the baseline. - public let globalFilters: PatchFilterGroup? - /// A description of the patch baseline. - public let description: String? - public init(baselineId: String? = nil, approvedPatches: [String]? = nil, modifiedDate: TimeStamp? = nil, name: String? = nil, operatingSystem: OperatingSystem? = nil, rejectedPatches: [String]? = nil, approvalRules: PatchRuleGroup? = nil, approvedPatchesComplianceLevel: PatchComplianceLevel? = nil, patchGroups: [String]? = nil, createdDate: TimeStamp? = nil, globalFilters: PatchFilterGroup? = nil, description: String? = nil) { - self.baselineId = baselineId - self.approvedPatches = approvedPatches + public init(modifiedDate: TimeStamp? = nil, rejectedPatches: [String]? = nil, approvedPatchesComplianceLevel: PatchComplianceLevel? = nil, sources: [PatchSource]? = nil, createdDate: TimeStamp? = nil, globalFilters: PatchFilterGroup? = nil, description: String? = nil, baselineId: String? = nil, approvedPatches: [String]? = nil, name: String? = nil, operatingSystem: OperatingSystem? = nil, approvedPatchesEnableNonSecurity: Bool? = nil, approvalRules: PatchRuleGroup? = nil, patchGroups: [String]? = nil) { self.modifiedDate = modifiedDate - self.name = name - self.operatingSystem = operatingSystem self.rejectedPatches = rejectedPatches - self.approvalRules = approvalRules self.approvedPatchesComplianceLevel = approvedPatchesComplianceLevel - self.patchGroups = patchGroups + self.sources = sources self.createdDate = createdDate self.globalFilters = globalFilters self.description = description + self.baselineId = baselineId + self.approvedPatches = approvedPatches + self.name = name + self.operatingSystem = operatingSystem + self.approvedPatchesEnableNonSecurity = approvedPatchesEnableNonSecurity + self.approvalRules = approvalRules + self.patchGroups = patchGroups } private enum CodingKeys: String, CodingKey { - case baselineId = "BaselineId" - case approvedPatches = "ApprovedPatches" case modifiedDate = "ModifiedDate" - case name = "Name" - case operatingSystem = "OperatingSystem" case rejectedPatches = "RejectedPatches" - case approvalRules = "ApprovalRules" case approvedPatchesComplianceLevel = "ApprovedPatchesComplianceLevel" - case patchGroups = "PatchGroups" + case sources = "Sources" case createdDate = "CreatedDate" case globalFilters = "GlobalFilters" case description = "Description" + case baselineId = "BaselineId" + case approvedPatches = "ApprovedPatches" + case name = "Name" + case operatingSystem = "OperatingSystem" + case approvedPatchesEnableNonSecurity = "ApprovedPatchesEnableNonSecurity" + case approvalRules = "ApprovalRules" + case patchGroups = "PatchGroups" } } @@ -7009,95 +8836,29 @@ extension Ssm { public var description: String { return self.rawValue } } - public struct CreateAssociationResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AssociationDescription", required: false, type: .structure) - ] - /// Information about the association. - public let associationDescription: AssociationDescription? - - public init(associationDescription: AssociationDescription? = nil) { - self.associationDescription = associationDescription - } - - private enum CodingKeys: String, CodingKey { - case associationDescription = "AssociationDescription" - } - } - - public struct UpdateMaintenanceWindowTaskResult: AWSShape { + public struct DescribeInventoryDeletionsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: false, type: .string), - AWSShapeMember(label: "TaskInvocationParameters", required: false, type: .structure), - AWSShapeMember(label: "ServiceRoleArn", required: false, type: .string), - AWSShapeMember(label: "Priority", required: false, type: .integer), - AWSShapeMember(label: "Targets", required: false, type: .list), - AWSShapeMember(label: "LoggingInfo", required: false, type: .structure), - AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "MaxErrors", required: false, type: .string), - AWSShapeMember(label: "TaskArn", required: false, type: .string), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "TaskParameters", required: false, type: .map), - AWSShapeMember(label: "WindowTaskId", required: false, type: .string), - AWSShapeMember(label: "MaxConcurrency", required: false, type: .string) + AWSShapeMember(label: "MaxResults", required: false, type: .integer), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "DeletionId", required: false, type: .string) ] - /// The ID of the Maintenance Window that was updated. - public let windowId: String? - /// The updated parameter values. - public let taskInvocationParameters: MaintenanceWindowTaskInvocationParameters? - /// The updated service role ARN value. - public let serviceRoleArn: String? - /// The updated priority value. - public let priority: Int32? - /// The updated target values. - public let targets: [Target]? - /// The updated logging information in Amazon S3. - public let loggingInfo: LoggingInfo? - /// The updated task description. - public let description: String? - /// The updated MaxErrors value. - public let maxErrors: String? - /// The updated task ARN value. - public let taskArn: String? - /// The updated task name. - public let name: String? - /// The updated parameter values. - public let taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? - /// The task ID of the Maintenance Window that was updated. - public let windowTaskId: String? - /// The updated MaxConcurrency value. - public let maxConcurrency: String? + /// 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. + public let maxResults: Int32? + /// A token to start the list. Use this token to get the next set of results. + public let nextToken: String? + /// Specify the delete inventory ID for which you want information. This ID was returned by the DeleteInventory action. + public let deletionId: String? - public init(windowId: String? = nil, taskInvocationParameters: MaintenanceWindowTaskInvocationParameters? = nil, serviceRoleArn: String? = nil, priority: Int32? = nil, targets: [Target]? = nil, loggingInfo: LoggingInfo? = nil, description: String? = nil, maxErrors: String? = nil, taskArn: String? = nil, name: String? = nil, taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? = nil, windowTaskId: String? = nil, maxConcurrency: String? = nil) { - self.windowId = windowId - self.taskInvocationParameters = taskInvocationParameters - self.serviceRoleArn = serviceRoleArn - self.priority = priority - self.targets = targets - self.loggingInfo = loggingInfo - self.description = description - self.maxErrors = maxErrors - self.taskArn = taskArn - self.name = name - self.taskParameters = taskParameters - self.windowTaskId = windowTaskId - self.maxConcurrency = maxConcurrency + public init(maxResults: Int32? = nil, nextToken: String? = nil, deletionId: String? = nil) { + self.maxResults = maxResults + self.nextToken = nextToken + self.deletionId = deletionId } private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case taskInvocationParameters = "TaskInvocationParameters" - case serviceRoleArn = "ServiceRoleArn" - case priority = "Priority" - case targets = "Targets" - case loggingInfo = "LoggingInfo" - case description = "Description" - case maxErrors = "MaxErrors" - case taskArn = "TaskArn" - case name = "Name" - case taskParameters = "TaskParameters" - case windowTaskId = "WindowTaskId" - case maxConcurrency = "MaxConcurrency" + case maxResults = "MaxResults" + case nextToken = "NextToken" + case deletionId = "DeletionId" } } @@ -7143,6 +8904,27 @@ extension Ssm { } } + public struct DescribeAvailablePatchesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Patches", required: false, type: .list) + ] + /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. + public let nextToken: String? + /// An array of patches. Each entry in the array is a patch structure. + public let patches: [Patch]? + + public init(nextToken: String? = nil, patches: [Patch]? = nil) { + self.nextToken = nextToken + self.patches = patches + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case patches = "Patches" + } + } + public struct UpdateMaintenanceWindowRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "WindowId", required: true, type: .string), @@ -7198,139 +8980,40 @@ extension Ssm { case description = "Description" } } - - public struct DescribeAvailablePatchesResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "Patches", required: false, type: .list) - ] - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? - /// An array of patches. Each entry in the array is a patch structure. - public let patches: [Patch]? - - public init(nextToken: String? = nil, patches: [Patch]? = nil) { - self.nextToken = nextToken - self.patches = patches - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case patches = "Patches" - } - } - - public struct InstancePatchStateFilter: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Type", required: true, type: .enum), - AWSShapeMember(label: "Key", required: true, type: .string), - AWSShapeMember(label: "Values", required: true, type: .list) - ] - /// The type of comparison that should be performed for the value: Equal, NotEqual, LessThan or GreaterThan. - public let `type`: InstancePatchStateOperatorType - /// The key for the filter. Supported values are FailedCount, InstalledCount, InstalledOtherCount, MissingCount and NotApplicableCount. - public let key: String - /// The value for the filter, must be an integer greater than or equal to 0. - public let values: [String] - - public init(type: InstancePatchStateOperatorType, key: String, values: [String]) { - self.`type` = `type` - self.key = key - self.values = values - } - - private enum CodingKeys: String, CodingKey { - case `type` = "Type" - case key = "Key" - case values = "Values" - } - } - - public struct GetDocumentResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Content", required: false, type: .string), - AWSShapeMember(label: "DocumentType", required: false, type: .enum), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "DocumentFormat", required: false, type: .enum), - AWSShapeMember(label: "DocumentVersion", required: false, type: .string) - ] - /// The contents of the Systems Manager document. - public let content: String? - /// The document type. - public let documentType: DocumentType? - /// The name of the Systems Manager document. - public let name: String? - /// The document format, either JSON or YAML. - public let documentFormat: DocumentFormat? - /// The document version. - public let documentVersion: String? - - public init(content: String? = nil, documentType: DocumentType? = nil, name: String? = nil, documentFormat: DocumentFormat? = nil, documentVersion: String? = nil) { - self.content = content - self.documentType = documentType - self.name = name - self.documentFormat = documentFormat - self.documentVersion = documentVersion - } - - private enum CodingKeys: String, CodingKey { - case content = "Content" - case documentType = "DocumentType" - case name = "Name" - case documentFormat = "DocumentFormat" - case documentVersion = "DocumentVersion" - } - } - - public struct UpdateManagedInstanceRoleRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "InstanceId", required: true, type: .string), - AWSShapeMember(label: "IamRole", required: true, type: .string) - ] - /// The ID of the managed instance where you want to update the role. - public let instanceId: String - /// The IAM role you want to assign or change. - public let iamRole: String - - public init(instanceId: String, iamRole: String) { - self.instanceId = instanceId - self.iamRole = iamRole - } - - private enum CodingKeys: String, CodingKey { - case instanceId = "InstanceId" - case iamRole = "IamRole" - } - } - - public struct DescribeParametersRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ParameterFilters", required: false, type: .list), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) + + public struct GetDocumentResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Content", required: false, type: .string), + AWSShapeMember(label: "DocumentType", required: false, type: .enum), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "DocumentFormat", required: false, type: .enum), + AWSShapeMember(label: "DocumentVersion", required: false, type: .string) ] - /// Filters to limit the request results. - public let parameterFilters: [ParameterStringFilter]? - /// One or more filters. Use a filter to return a more specific list of results. - public let filters: [ParametersFilter]? - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// 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. - public let maxResults: Int32? + /// The contents of the Systems Manager document. + public let content: String? + /// The document type. + public let documentType: DocumentType? + /// The name of the Systems Manager document. + public let name: String? + /// The document format, either JSON or YAML. + public let documentFormat: DocumentFormat? + /// The document version. + public let documentVersion: String? - public init(parameterFilters: [ParameterStringFilter]? = nil, filters: [ParametersFilter]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.parameterFilters = parameterFilters - self.filters = filters - self.nextToken = nextToken - self.maxResults = maxResults + public init(content: String? = nil, documentType: DocumentType? = nil, name: String? = nil, documentFormat: DocumentFormat? = nil, documentVersion: String? = nil) { + self.content = content + self.documentType = documentType + self.name = name + self.documentFormat = documentFormat + self.documentVersion = documentVersion } private enum CodingKeys: String, CodingKey { - case parameterFilters = "ParameterFilters" - case filters = "Filters" - case nextToken = "NextToken" - case maxResults = "MaxResults" + case content = "Content" + case documentType = "DocumentType" + case name = "Name" + case documentFormat = "DocumentFormat" + case documentVersion = "DocumentVersion" } } @@ -7338,36 +9021,33 @@ extension Ssm { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "PatchFilterGroup", required: true, type: .structure), AWSShapeMember(label: "ComplianceLevel", required: false, type: .enum), + AWSShapeMember(label: "EnableNonSecurity", required: false, type: .boolean), AWSShapeMember(label: "ApproveAfterDays", required: true, type: .integer) ] /// The patch filter group that defines the criteria for the rule. public let patchFilterGroup: PatchFilterGroup /// 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. public let complianceLevel: PatchComplianceLevel? - /// The number of days after the release date of each patch matched by the rule the patch is marked as approved in the patch baseline. + /// 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. + public let enableNonSecurity: Bool? + /// 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. public let approveAfterDays: Int32 - public init(patchFilterGroup: PatchFilterGroup, complianceLevel: PatchComplianceLevel? = nil, approveAfterDays: Int32) { + public init(patchFilterGroup: PatchFilterGroup, complianceLevel: PatchComplianceLevel? = nil, enableNonSecurity: Bool? = nil, approveAfterDays: Int32) { self.patchFilterGroup = patchFilterGroup self.complianceLevel = complianceLevel + self.enableNonSecurity = enableNonSecurity self.approveAfterDays = approveAfterDays } private enum CodingKeys: String, CodingKey { case patchFilterGroup = "PatchFilterGroup" case complianceLevel = "ComplianceLevel" + case enableNonSecurity = "EnableNonSecurity" case approveAfterDays = "ApproveAfterDays" } } - public enum PatchDeploymentStatus: String, CustomStringConvertible, Codable { - case approved = "APPROVED" - case pendingApproval = "PENDING_APPROVAL" - case explicitApproved = "EXPLICIT_APPROVED" - case explicitRejected = "EXPLICIT_REJECTED" - public var description: String { return self.rawValue } - } - public struct GetAutomationExecutionResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AutomationExecution", required: false, type: .structure) @@ -7384,53 +9064,6 @@ extension Ssm { } } - public struct DeregisterPatchBaselineForPatchGroupResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "BaselineId", required: false, type: .string), - AWSShapeMember(label: "PatchGroup", required: false, type: .string) - ] - /// The ID of the patch baseline the patch group was deregistered from. - public let baselineId: String? - /// The name of the patch group deregistered from the patch baseline. - public let patchGroup: String? - - public init(baselineId: String? = nil, patchGroup: String? = nil) { - self.baselineId = baselineId - self.patchGroup = patchGroup - } - - private enum CodingKeys: String, CodingKey { - case baselineId = "BaselineId" - case patchGroup = "PatchGroup" - } - } - - public struct ComplianceExecutionSummary: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ExecutionTime", required: true, type: .timestamp), - AWSShapeMember(label: "ExecutionType", required: false, type: .string), - AWSShapeMember(label: "ExecutionId", required: false, type: .string) - ] - /// The time the execution ran as a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'. - public let executionTime: TimeStamp - /// The type of execution. For example, Command is a valid execution type. - public let executionType: String? - /// 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. - public let executionId: String? - - public init(executionTime: TimeStamp, executionType: String? = nil, executionId: String? = nil) { - self.executionTime = executionTime - self.executionType = executionType - self.executionId = executionId - } - - private enum CodingKeys: String, CodingKey { - case executionTime = "ExecutionTime" - case executionType = "ExecutionType" - case executionId = "ExecutionId" - } - } - public struct DescribeEffectiveInstanceAssociationsResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -7452,93 +9085,6 @@ extension Ssm { } } - public struct UpdateAssociationStatusResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AssociationDescription", required: false, type: .structure) - ] - /// Information about the association. - public let associationDescription: AssociationDescription? - - public init(associationDescription: AssociationDescription? = nil) { - self.associationDescription = associationDescription - } - - private enum CodingKeys: String, CodingKey { - case associationDescription = "AssociationDescription" - } - } - - public struct InstanceAssociationStatusInfo: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Status", required: false, type: .string), - AWSShapeMember(label: "AssociationId", required: false, type: .string), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "InstanceId", required: false, type: .string), - AWSShapeMember(label: "DocumentVersion", required: false, type: .string), - AWSShapeMember(label: "AssociationVersion", required: false, type: .string), - AWSShapeMember(label: "ExecutionDate", required: false, type: .timestamp), - AWSShapeMember(label: "ExecutionSummary", required: false, type: .string), - AWSShapeMember(label: "AssociationName", required: false, type: .string), - AWSShapeMember(label: "DetailedStatus", required: false, type: .string), - AWSShapeMember(label: "OutputUrl", required: false, type: .structure), - AWSShapeMember(label: "ErrorCode", required: false, type: .string) - ] - /// Status information about the instance association. - public let status: String? - /// The association ID. - public let associationId: String? - /// The name of the association. - public let name: String? - /// The instance ID where the association was created. - public let instanceId: String? - /// The association document verions. - public let documentVersion: String? - /// The version of the association applied to the instance. - public let associationVersion: String? - /// The date the instance association executed. - public let executionDate: TimeStamp? - /// Summary information about association execution. - public let executionSummary: String? - /// The name of the association applied to the instance. - public let associationName: String? - /// Detailed status information about the instance association. - public let detailedStatus: String? - /// A URL for an Amazon S3 bucket where you want to store the results of this request. - public let outputUrl: InstanceAssociationOutputUrl? - /// An error code returned by the request to create the association. - public let errorCode: String? - - public init(status: String? = nil, associationId: String? = nil, name: String? = nil, instanceId: String? = nil, documentVersion: String? = nil, associationVersion: String? = nil, executionDate: TimeStamp? = nil, executionSummary: String? = nil, associationName: String? = nil, detailedStatus: String? = nil, outputUrl: InstanceAssociationOutputUrl? = nil, errorCode: String? = nil) { - self.status = status - self.associationId = associationId - self.name = name - self.instanceId = instanceId - self.documentVersion = documentVersion - self.associationVersion = associationVersion - self.executionDate = executionDate - self.executionSummary = executionSummary - self.associationName = associationName - self.detailedStatus = detailedStatus - self.outputUrl = outputUrl - self.errorCode = errorCode - } - - private enum CodingKeys: String, CodingKey { - case status = "Status" - case associationId = "AssociationId" - case name = "Name" - case instanceId = "InstanceId" - case documentVersion = "DocumentVersion" - case associationVersion = "AssociationVersion" - case executionDate = "ExecutionDate" - case executionSummary = "ExecutionSummary" - case associationName = "AssociationName" - case detailedStatus = "DetailedStatus" - case outputUrl = "OutputUrl" - case errorCode = "ErrorCode" - } - } - public struct InstanceAssociationOutputUrl: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "S3OutputUrl", required: false, type: .structure) @@ -7569,109 +9115,21 @@ extension Ssm { private enum CodingKeys: String, CodingKey { case outputUrl = "OutputUrl" } - } - - public struct GetMaintenanceWindowExecutionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowExecutionId", required: true, type: .string) - ] - /// The ID of the Maintenance Window execution that includes the task. - public let windowExecutionId: String - - public init(windowExecutionId: String) { - self.windowExecutionId = windowExecutionId - } - - private enum CodingKeys: String, CodingKey { - case windowExecutionId = "WindowExecutionId" - } - } - - public struct DocumentKeyValuesFilter: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Key", required: false, type: .string), - AWSShapeMember(label: "Values", required: false, type: .list) - ] - /// The name of the filter key. - public let key: String? - /// The value for the filter key. - public let values: [String]? - - public init(key: String? = nil, values: [String]? = nil) { - self.key = key - self.values = values - } - - private enum CodingKeys: String, CodingKey { - case key = "Key" - case values = "Values" - } - } - - public struct PatchFilter: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Key", required: true, type: .enum), - AWSShapeMember(label: "Values", required: true, type: .list) - ] - /// The key for the filter (PRODUCT, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID) - public let key: PatchFilterKey - /// The value for the filter key. - public let values: [String] - - public init(key: PatchFilterKey, values: [String]) { - self.key = key - self.values = values - } - - private enum CodingKeys: String, CodingKey { - case key = "Key" - case values = "Values" - } - } - - public struct MaintenanceWindowTarget: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: false, type: .string), - AWSShapeMember(label: "OwnerInformation", required: false, type: .string), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "ResourceType", required: false, type: .enum), - AWSShapeMember(label: "Targets", required: false, type: .list), - AWSShapeMember(label: "WindowTargetId", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string) + } + + public struct GetMaintenanceWindowExecutionRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WindowExecutionId", required: true, type: .string) ] - /// The Maintenance Window ID where the target is registered. - public let windowId: String? - /// User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window. - public let ownerInformation: String? - /// The target name. - public let name: String? - /// The type of target. - public let resourceType: MaintenanceWindowResourceType? - /// 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>. - public let targets: [Target]? - /// The ID of the target. - public let windowTargetId: String? - /// A description of the target. - public let description: String? + /// The ID of the Maintenance Window execution that includes the task. + public let windowExecutionId: String - public init(windowId: String? = nil, ownerInformation: String? = nil, name: String? = nil, resourceType: MaintenanceWindowResourceType? = nil, targets: [Target]? = nil, windowTargetId: String? = nil, description: String? = nil) { - self.windowId = windowId - self.ownerInformation = ownerInformation - self.name = name - self.resourceType = resourceType - self.targets = targets - self.windowTargetId = windowTargetId - self.description = description + public init(windowExecutionId: String) { + self.windowExecutionId = windowExecutionId } private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case ownerInformation = "OwnerInformation" - case name = "Name" - case resourceType = "ResourceType" - case targets = "Targets" - case windowTargetId = "WindowTargetId" - case description = "Description" + case windowExecutionId = "WindowExecutionId" } } @@ -7696,27 +9154,6 @@ extension Ssm { } } - public struct UpdateDocumentDefaultVersionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "DocumentVersion", required: true, type: .string) - ] - /// The name of a custom document that you want to set as the default version. - public let name: String - /// The version of a custom document that you want to set as the default version. - public let documentVersion: String - - public init(name: String, documentVersion: String) { - self.name = name - self.documentVersion = documentVersion - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - case documentVersion = "DocumentVersion" - } - } - public struct ListAssociationsResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -7738,47 +9175,6 @@ extension Ssm { } } - public struct UpdateMaintenanceWindowTargetResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "WindowId", required: false, type: .string), - AWSShapeMember(label: "Targets", required: false, type: .list), - AWSShapeMember(label: "WindowTargetId", required: false, type: .string), - AWSShapeMember(label: "OwnerInformation", required: false, type: .string), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string) - ] - /// The Maintenance Window ID specified in the update request. - public let windowId: String? - /// The updated targets. - public let targets: [Target]? - /// The target ID specified in the update request. - public let windowTargetId: String? - /// The updated owner. - public let ownerInformation: String? - /// The updated name. - public let name: String? - /// The updated description. - public let description: String? - - public init(windowId: String? = nil, targets: [Target]? = nil, windowTargetId: String? = nil, ownerInformation: String? = nil, name: String? = nil, description: String? = nil) { - self.windowId = windowId - self.targets = targets - self.windowTargetId = windowTargetId - self.ownerInformation = ownerInformation - self.name = name - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case windowId = "WindowId" - case targets = "Targets" - case windowTargetId = "WindowTargetId" - case ownerInformation = "OwnerInformation" - case name = "Name" - case description = "Description" - } - } - public enum ParametersFilterKey: String, CustomStringConvertible, Codable { case name = "Name" case `type` = "Type" @@ -7786,56 +9182,15 @@ extension Ssm { public var description: String { return self.rawValue } } - public struct ResourceDataSyncItem: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SyncName", required: false, type: .string), - AWSShapeMember(label: "LastSyncTime", required: false, type: .timestamp), - AWSShapeMember(label: "LastSuccessfulSyncTime", required: false, type: .timestamp), - AWSShapeMember(label: "SyncCreatedTime", required: false, type: .timestamp), - AWSShapeMember(label: "S3Destination", required: false, type: .structure), - AWSShapeMember(label: "LastStatus", required: false, type: .enum) - ] - /// The name of the Resource Data Sync. - public let syncName: String? - /// The last time the configuration attempted to sync (UTC). - public let lastSyncTime: TimeStamp? - /// The last time the sync operations returned a status of SUCCESSFUL (UTC). - public let lastSuccessfulSyncTime: TimeStamp? - /// The date and time the configuration was created (UTC). - public let syncCreatedTime: TimeStamp? - /// Configuration information for the target Amazon S3 bucket. - public let s3Destination: ResourceDataSyncS3Destination? - /// The status reported by the last sync. - public let lastStatus: LastResourceDataSyncStatus? - - public init(syncName: String? = nil, lastSyncTime: TimeStamp? = nil, lastSuccessfulSyncTime: TimeStamp? = nil, syncCreatedTime: TimeStamp? = nil, s3Destination: ResourceDataSyncS3Destination? = nil, lastStatus: LastResourceDataSyncStatus? = nil) { - self.syncName = syncName - self.lastSyncTime = lastSyncTime - self.lastSuccessfulSyncTime = lastSuccessfulSyncTime - self.syncCreatedTime = syncCreatedTime - self.s3Destination = s3Destination - self.lastStatus = lastStatus - } - - private enum CodingKeys: String, CodingKey { - case syncName = "SyncName" - case lastSyncTime = "LastSyncTime" - case lastSuccessfulSyncTime = "LastSuccessfulSyncTime" - case syncCreatedTime = "SyncCreatedTime" - case s3Destination = "S3Destination" - case lastStatus = "LastStatus" - } - } - public struct RemoveTagsFromResourceRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ResourceId", required: true, type: .string), AWSShapeMember(label: "ResourceType", required: true, type: .enum), AWSShapeMember(label: "TagKeys", required: true, type: .list) ] - /// The resource ID for which you want to remove tags. + /// 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. public let resourceId: String - /// The type of resource of which you want to remove a tag. + /// 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. public let resourceType: ResourceTypeForTagging /// Tag keys that you want to remove from the specified resource. public let tagKeys: [String] @@ -7853,53 +9208,6 @@ extension Ssm { } } - public struct DescribeInstancePatchStatesResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "InstancePatchStates", required: false, type: .list) - ] - /// The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. - public let nextToken: String? - /// The high-level patch state for the requested instances. - public let instancePatchStates: [InstancePatchState]? - - public init(nextToken: String? = nil, instancePatchStates: [InstancePatchState]? = nil) { - self.nextToken = nextToken - self.instancePatchStates = instancePatchStates - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case instancePatchStates = "InstancePatchStates" - } - } - - public struct S3OutputLocation: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OutputS3KeyPrefix", required: false, type: .string), - AWSShapeMember(label: "OutputS3BucketName", required: false, type: .string), - AWSShapeMember(label: "OutputS3Region", required: false, type: .string) - ] - /// The Amazon S3 bucket subfolder. - public let outputS3KeyPrefix: String? - /// The name of the Amazon S3 bucket. - public let outputS3BucketName: String? - /// (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region. - public let outputS3Region: String? - - public init(outputS3KeyPrefix: String? = nil, outputS3BucketName: String? = nil, outputS3Region: String? = nil) { - self.outputS3KeyPrefix = outputS3KeyPrefix - self.outputS3BucketName = outputS3BucketName - self.outputS3Region = outputS3Region - } - - private enum CodingKeys: String, CodingKey { - case outputS3KeyPrefix = "OutputS3KeyPrefix" - case outputS3BucketName = "OutputS3BucketName" - case outputS3Region = "OutputS3Region" - } - } - public struct GetMaintenanceWindowRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "WindowId", required: true, type: .string) @@ -7990,11 +9298,11 @@ extension Ssm { ] /// Retrieve all parameters in a hierarchy with their value decrypted. public let withDecryption: Bool? - /// Filters to limit the request results. + /// Filters to limit the request results. You can't filter using the parameter name. public let parameterFilters: [ParameterStringFilter]? - /// The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the parameter name. A hierarchy can have a maximum of five levels. For example: /Finance/Prod/IAD/WinServ2016/license15 + /// 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 public let path: String - /// Retrieve all parameters within a hierarchy. + /// 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. public let recursive: Bool? /// A token to start the list. Use this token to get the next set of results. public let nextToken: String? @@ -8020,14 +9328,6 @@ extension Ssm { } } - public enum OperatingSystem: String, CustomStringConvertible, Codable { - case windows = "WINDOWS" - case amazonLinux = "AMAZON_LINUX" - case ubuntu = "UBUNTU" - case redhatEnterpriseLinux = "REDHAT_ENTERPRISE_LINUX" - public var description: String { return self.rawValue } - } - public struct PutInventoryRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Items", required: true, type: .list), @@ -8049,43 +9349,6 @@ extension Ssm { } } - public struct DeleteActivationRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ActivationId", required: true, type: .string) - ] - /// The ID of the activation that you want to delete. - public let activationId: String - - public init(activationId: String) { - self.activationId = activationId - } - - private enum CodingKeys: String, CodingKey { - case activationId = "ActivationId" - } - } - - public struct AssociationFilter: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "key", required: true, type: .enum), - AWSShapeMember(label: "value", required: true, type: .string) - ] - /// The name of the filter. - public let key: AssociationFilterKey - /// The filter value. - public let value: String - - public init(key: AssociationFilterKey, value: String) { - self.key = key - self.value = value - } - - private enum CodingKeys: String, CodingKey { - case key = "key" - case value = "value" - } - } - public struct DescribeDocumentPermissionResponse: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AccountIds", required: false, type: .list) @@ -8094,94 +9357,43 @@ extension Ssm { public let accountIds: [String]? public init(accountIds: [String]? = nil) { - self.accountIds = accountIds - } - - private enum CodingKeys: String, CodingKey { - case accountIds = "AccountIds" - } - } - - public struct NotificationConfig: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NotificationArn", required: false, type: .string), - AWSShapeMember(label: "NotificationType", required: false, type: .enum), - AWSShapeMember(label: "NotificationEvents", required: false, type: .list) - ] - /// An Amazon Resource Name (ARN) for a Simple Notification Service (SNS) topic. Run Command pushes notifications about command status changes to this topic. - public let notificationArn: String? - /// 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. - public let notificationType: NotificationType? - /// The different events for which you can receive notifications. These events include the following: All (events), InProgress, Success, TimedOut, Cancelled, Failed. To learn more about these events, see Setting Up Events and Notifications in the AWS Systems Manager User Guide. - public let notificationEvents: [NotificationEvent]? - - public init(notificationArn: String? = nil, notificationType: NotificationType? = nil, notificationEvents: [NotificationEvent]? = nil) { - self.notificationArn = notificationArn - self.notificationType = notificationType - self.notificationEvents = notificationEvents + self.accountIds = accountIds } private enum CodingKeys: String, CodingKey { - case notificationArn = "NotificationArn" - case notificationType = "NotificationType" - case notificationEvents = "NotificationEvents" + case accountIds = "AccountIds" } } - public enum DocumentStatus: String, CustomStringConvertible, Codable { - case creating = "Creating" - case active = "Active" - case updating = "Updating" - case deleting = "Deleting" - public var description: String { return self.rawValue } - } - - public struct PutParameterRequest: AWSShape { + public struct AssociationFilter: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", required: false, type: .string), - AWSShapeMember(label: "KeyId", required: false, type: .string), - AWSShapeMember(label: "Name", required: true, type: .string), - AWSShapeMember(label: "AllowedPattern", required: false, type: .string), - AWSShapeMember(label: "Type", required: true, type: .enum), - AWSShapeMember(label: "Value", required: true, type: .string), - AWSShapeMember(label: "Overwrite", required: false, type: .boolean) + AWSShapeMember(label: "key", required: true, type: .enum), + AWSShapeMember(label: "value", required: true, type: .string) ] - /// Information about the parameter that you want to add to the system. - public let description: String? - /// The KMS Key ID that you want to use to encrypt a parameter when you choose the SecureString data type. If you don't specify a key ID, the system uses the default key associated with your AWS account. - public let keyId: String? - /// 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 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. - public let name: String - /// 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+$ - public let allowedPattern: String? - /// The type of parameter that you want to add to the system. - public let `type`: ParameterType - /// The parameter value that you want to add to the system. + /// The name of the filter. + public let key: AssociationFilterKey + /// The filter value. public let value: String - /// Overwrite an existing parameter. If not specified, will default to "false". - public let overwrite: Bool? - public init(description: String? = nil, keyId: String? = nil, name: String, allowedPattern: String? = nil, type: ParameterType, value: String, overwrite: Bool? = nil) { - self.description = description - self.keyId = keyId - self.name = name - self.allowedPattern = allowedPattern - self.`type` = `type` + public init(key: AssociationFilterKey, value: String) { + self.key = key self.value = value - self.overwrite = overwrite } private enum CodingKeys: String, CodingKey { - case description = "Description" - case keyId = "KeyId" - case name = "Name" - case allowedPattern = "AllowedPattern" - case `type` = "Type" - case value = "Value" - case overwrite = "Overwrite" + case key = "key" + case value = "value" } } + public enum DocumentStatus: String, CustomStringConvertible, Codable { + case creating = "Creating" + case active = "Active" + case updating = "Updating" + case deleting = "Deleting" + public var description: String { return self.rawValue } + } + public struct SeveritySummary: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "MediumCount", required: false, type: .integer), @@ -8223,42 +9435,6 @@ extension Ssm { } } - public struct PatchBaselineIdentity: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DefaultBaseline", required: false, type: .boolean), - AWSShapeMember(label: "OperatingSystem", required: false, type: .enum), - AWSShapeMember(label: "BaselineName", required: false, type: .string), - AWSShapeMember(label: "BaselineDescription", required: false, type: .string), - AWSShapeMember(label: "BaselineId", required: false, type: .string) - ] - /// 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. - public let defaultBaseline: Bool? - /// Defines the operating system the patch baseline applies to. The Default value is WINDOWS. - public let operatingSystem: OperatingSystem? - /// The name of the patch baseline. - public let baselineName: String? - /// The description of the patch baseline. - public let baselineDescription: String? - /// The ID of the patch baseline. - public let baselineId: String? - - public init(defaultBaseline: Bool? = nil, operatingSystem: OperatingSystem? = nil, baselineName: String? = nil, baselineDescription: String? = nil, baselineId: String? = nil) { - self.defaultBaseline = defaultBaseline - self.operatingSystem = operatingSystem - self.baselineName = baselineName - self.baselineDescription = baselineDescription - self.baselineId = baselineId - } - - private enum CodingKeys: String, CodingKey { - case defaultBaseline = "DefaultBaseline" - case operatingSystem = "OperatingSystem" - case baselineName = "BaselineName" - case baselineDescription = "BaselineDescription" - case baselineId = "BaselineId" - } - } - public struct Association: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "LastExecutionDate", required: false, type: .timestamp), @@ -8300,173 +9476,23 @@ extension Ssm { self.name = name self.documentVersion = documentVersion self.targets = targets - self.associationVersion = associationVersion - self.overview = overview - self.scheduleExpression = scheduleExpression - self.associationName = associationName - } - - private enum CodingKeys: String, CodingKey { - case lastExecutionDate = "LastExecutionDate" - case associationId = "AssociationId" - case instanceId = "InstanceId" - case name = "Name" - case documentVersion = "DocumentVersion" - case targets = "Targets" - case associationVersion = "AssociationVersion" - case overview = "Overview" - case scheduleExpression = "ScheduleExpression" - case associationName = "AssociationName" - } - } - - public struct Activation: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "IamRole", required: false, type: .string), - AWSShapeMember(label: "Expired", required: false, type: .boolean), - AWSShapeMember(label: "RegistrationLimit", required: false, type: .integer), - AWSShapeMember(label: "ExpirationDate", required: false, type: .timestamp), - AWSShapeMember(label: "ActivationId", required: false, type: .string), - AWSShapeMember(label: "RegistrationsCount", required: false, type: .integer), - AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), - AWSShapeMember(label: "DefaultInstanceName", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string) - ] - /// The Amazon Identity and Access Management (IAM) role to assign to the managed instance. - public let iamRole: String? - /// Whether or not the activation is expired. - public let expired: Bool? - /// The maximum number of managed instances that can be registered using this activation. - public let registrationLimit: Int32? - /// The date when this activation can no longer be used to register managed instances. - public let expirationDate: TimeStamp? - /// The ID created by Systems Manager when you submitted the activation. - public let activationId: String? - /// The number of managed instances already registered with this activation. - public let registrationsCount: Int32? - /// The date the activation was created. - public let createdDate: TimeStamp? - /// A name for the managed instance when it is created. - public let defaultInstanceName: String? - /// A user defined description of the activation. - public let description: String? - - public init(iamRole: String? = nil, expired: Bool? = nil, registrationLimit: Int32? = nil, expirationDate: TimeStamp? = nil, activationId: String? = nil, registrationsCount: Int32? = nil, createdDate: TimeStamp? = nil, defaultInstanceName: String? = nil, description: String? = nil) { - self.iamRole = iamRole - self.expired = expired - self.registrationLimit = registrationLimit - self.expirationDate = expirationDate - self.activationId = activationId - self.registrationsCount = registrationsCount - self.createdDate = createdDate - self.defaultInstanceName = defaultInstanceName - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case iamRole = "IamRole" - case expired = "Expired" - case registrationLimit = "RegistrationLimit" - case expirationDate = "ExpirationDate" - case activationId = "ActivationId" - case registrationsCount = "RegistrationsCount" - case createdDate = "CreatedDate" - case defaultInstanceName = "DefaultInstanceName" - case description = "Description" - } - } - - public struct SendAutomationSignalRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SignalType", required: true, type: .enum), - AWSShapeMember(label: "AutomationExecutionId", required: true, type: .string), - AWSShapeMember(label: "Payload", required: false, type: .map) - ] - /// The type of signal. Valid signal types include the following: Approve and Reject - public let signalType: SignalType - /// The unique identifier for an existing Automation execution that you want to send the signal to. - public let automationExecutionId: String - /// The data sent with the signal. The data schema depends on the type of signal used in the request. - public let payload: [String: [String]]? - - public init(signalType: SignalType, automationExecutionId: String, payload: [String: [String]]? = nil) { - self.signalType = signalType - self.automationExecutionId = automationExecutionId - self.payload = payload - } - - private enum CodingKeys: String, CodingKey { - case signalType = "SignalType" - case automationExecutionId = "AutomationExecutionId" - case payload = "Payload" - } - } - - public struct StepExecutionFilter: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Key", required: true, type: .enum), - AWSShapeMember(label: "Values", required: true, type: .list) - ] - /// One or more keys to limit the results. Valid filter keys include the following: StepName, Action, StepExecutionId, StepExecutionStatus, StartTimeBefore, StartTimeAfter. - public let key: StepExecutionFilterKey - /// The values of the filter key. - public let values: [String] - - public init(key: StepExecutionFilterKey, values: [String]) { - self.key = key - self.values = values - } - - private enum CodingKeys: String, CodingKey { - case key = "Key" - case values = "Values" - } - } - - public struct StartAutomationExecutionResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "AutomationExecutionId", required: false, type: .string) - ] - /// The unique ID of a newly scheduled automation execution. - public let automationExecutionId: String? - - public init(automationExecutionId: String? = nil) { - self.automationExecutionId = automationExecutionId - } - - private enum CodingKeys: String, CodingKey { - case automationExecutionId = "AutomationExecutionId" - } - } - - public struct ListDocumentsRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DocumentFilterList", required: false, type: .list), - AWSShapeMember(label: "Filters", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "MaxResults", required: false, type: .integer) - ] - /// One or more filters. Use a filter to return a more specific list of results. - public let documentFilterList: [DocumentFilter]? - /// One or more filters. Use a filter to return a more specific list of results. - public let filters: [DocumentKeyValuesFilter]? - /// The token for the next set of items to return. (You received this token from a previous call.) - public let nextToken: String? - /// 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. - public let maxResults: Int32? - - public init(documentFilterList: [DocumentFilter]? = nil, filters: [DocumentKeyValuesFilter]? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { - self.documentFilterList = documentFilterList - self.filters = filters - self.nextToken = nextToken - self.maxResults = maxResults + self.associationVersion = associationVersion + self.overview = overview + self.scheduleExpression = scheduleExpression + self.associationName = associationName } private enum CodingKeys: String, CodingKey { - case documentFilterList = "DocumentFilterList" - case filters = "Filters" - case nextToken = "NextToken" - case maxResults = "MaxResults" + case lastExecutionDate = "LastExecutionDate" + case associationId = "AssociationId" + case instanceId = "InstanceId" + case name = "Name" + case documentVersion = "DocumentVersion" + case targets = "Targets" + case associationVersion = "AssociationVersion" + case overview = "Overview" + case scheduleExpression = "ScheduleExpression" + case associationName = "AssociationName" } } @@ -8511,95 +9537,6 @@ extension Ssm { } } - public struct DeleteAssociationRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "InstanceId", required: false, type: .string), - AWSShapeMember(label: "AssociationId", required: false, type: .string) - ] - /// The name of the Systems Manager document. - public let name: String? - /// The ID of the instance. - public let instanceId: String? - /// The association ID that you want to delete. - public let associationId: String? - - public init(name: String? = nil, instanceId: String? = nil, associationId: String? = nil) { - self.name = name - self.instanceId = instanceId - self.associationId = associationId - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - case instanceId = "InstanceId" - case associationId = "AssociationId" - } - } - - public enum AutomationExecutionFilterKey: String, CustomStringConvertible, Codable { - case documentnameprefix = "DocumentNamePrefix" - case executionstatus = "ExecutionStatus" - case executionid = "ExecutionId" - case parentexecutionid = "ParentExecutionId" - case currentaction = "CurrentAction" - case starttimebefore = "StartTimeBefore" - case starttimeafter = "StartTimeAfter" - public var description: String { return self.rawValue } - } - - public struct EffectivePatch: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Patch", required: false, type: .structure), - AWSShapeMember(label: "PatchStatus", required: false, type: .structure) - ] - /// 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. - public let patch: Patch? - /// 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. - public let patchStatus: PatchStatus? - - public init(patch: Patch? = nil, patchStatus: PatchStatus? = nil) { - self.patch = patch - self.patchStatus = patchStatus - } - - private enum CodingKeys: String, CodingKey { - case patch = "Patch" - case patchStatus = "PatchStatus" - } - } - - public struct DocumentParameter: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Type", required: false, type: .enum), - AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "DefaultValue", required: false, type: .string), - AWSShapeMember(label: "Description", required: false, type: .string) - ] - /// The type of parameter. The type can be either String or StringList. - public let `type`: DocumentParameterType? - /// The name of the parameter. - public let name: String? - /// If specified, the default values for the parameters. Parameters without a default value are required. Parameters with a default value are optional. - public let defaultValue: String? - /// A description of what the parameter does, how to use it, the default value, and whether or not the parameter is optional. - public let description: String? - - public init(type: DocumentParameterType? = nil, name: String? = nil, defaultValue: String? = nil, description: String? = nil) { - self.`type` = `type` - self.name = name - self.defaultValue = defaultValue - self.description = description - } - - private enum CodingKeys: String, CodingKey { - case `type` = "Type" - case name = "Name" - case defaultValue = "DefaultValue" - case description = "Description" - } - } - public struct DeleteParametersRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Names", required: true, type: .list) @@ -8673,7 +9610,7 @@ extension Ssm { public let windowId: String /// 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. public let replace: Bool? - /// The IAM service role ARN to modify. The system assumes this role during task execution. + /// 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. public let serviceRoleArn: String? /// The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty. public let taskInvocationParameters: MaintenanceWindowTaskInvocationParameters? @@ -8681,7 +9618,7 @@ extension Ssm { public let priority: Int32? /// 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. public let targets: [Target]? - /// The new logging location in Amazon S3 to specify. + /// 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. public let loggingInfo: LoggingInfo? /// The new task description to specify. public let description: String? @@ -8691,7 +9628,7 @@ extension Ssm { public let taskArn: String? /// The new task name to specify. public let name: String? - /// The parameters to modify. 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 + /// 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 public let taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? /// The task ID to modify. public let windowTaskId: String @@ -8760,7 +9697,7 @@ extension Ssm { public let priority: Int32? /// The targets where the task should execute. public let targets: [Target]? - /// The location in Amazon S3 where the task results are logged. + /// 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. public let loggingInfo: LoggingInfo? /// The retrieved task description. public let description: String? @@ -8772,7 +9709,7 @@ extension Ssm { public let taskType: MaintenanceWindowTaskType? /// The retrieved task name. public let name: String? - /// The parameters to pass to the task when it executes. + /// 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. public let taskParameters: [String: MaintenanceWindowTaskParameterValueExpression]? /// The retrieved Maintenance Window task ID. public let windowTaskId: String? @@ -8814,37 +9751,6 @@ extension Ssm { } } - public enum NotificationEvent: String, CustomStringConvertible, Codable { - case all = "All" - case inprogress = "InProgress" - case success = "Success" - case timedout = "TimedOut" - case cancelled = "Cancelled" - case failed = "Failed" - public var description: String { return self.rawValue } - } - - public struct StopAutomationExecutionRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Type", required: false, type: .enum), - AWSShapeMember(label: "AutomationExecutionId", required: true, type: .string) - ] - /// The stop request type. Valid types include the following: Cancel and Complete. The default type is Cancel. - public let `type`: StopType? - /// The execution ID of the Automation to stop. - public let automationExecutionId: String - - public init(type: StopType? = nil, automationExecutionId: String) { - self.`type` = `type` - self.automationExecutionId = automationExecutionId - } - - private enum CodingKeys: String, CodingKey { - case `type` = "Type" - case automationExecutionId = "AutomationExecutionId" - } - } - public struct ParameterStringFilter: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Option", required: false, type: .string), @@ -8871,53 +9777,6 @@ extension Ssm { } } - public struct DeleteParameterRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Name", required: true, type: .string) - ] - /// The name of the parameter to delete. - public let name: String - - public init(name: String) { - self.name = name - } - - private enum CodingKeys: String, CodingKey { - case name = "Name" - } - } - - public struct MaintenanceWindowTaskInvocationParameters: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Automation", required: false, type: .structure), - AWSShapeMember(label: "RunCommand", required: false, type: .structure), - AWSShapeMember(label: "Lambda", required: false, type: .structure), - AWSShapeMember(label: "StepFunctions", required: false, type: .structure) - ] - /// The parameters for a AUTOMATION task type. - public let automation: MaintenanceWindowAutomationParameters? - /// The parameters for a RUN_COMMAND task type. - public let runCommand: MaintenanceWindowRunCommandParameters? - /// The parameters for a LAMBDA task type. - public let lambda: MaintenanceWindowLambdaParameters? - /// The parameters for a STEP_FUNCTION task type. - public let stepFunctions: MaintenanceWindowStepFunctionsParameters? - - public init(automation: MaintenanceWindowAutomationParameters? = nil, runCommand: MaintenanceWindowRunCommandParameters? = nil, lambda: MaintenanceWindowLambdaParameters? = nil, stepFunctions: MaintenanceWindowStepFunctionsParameters? = nil) { - self.automation = automation - self.runCommand = runCommand - self.lambda = lambda - self.stepFunctions = stepFunctions - } - - private enum CodingKeys: String, CodingKey { - case automation = "Automation" - case runCommand = "RunCommand" - case lambda = "Lambda" - case stepFunctions = "StepFunctions" - } - } - public struct GetDefaultPatchBaselineResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "OperatingSystem", required: false, type: .enum), @@ -8939,77 +9798,6 @@ extension Ssm { } } - public struct DocumentFilter: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "key", required: true, type: .enum), - AWSShapeMember(label: "value", required: true, type: .string) - ] - /// The name of the filter. - public let key: DocumentFilterKey - /// The value of the filter. - public let value: String - - public init(key: DocumentFilterKey, value: String) { - self.key = key - self.value = value - } - - private enum CodingKeys: String, CodingKey { - case key = "key" - case value = "value" - } - } - - public enum LastResourceDataSyncStatus: String, CustomStringConvertible, Codable { - case successful = "Successful" - case failed = "Failed" - case inprogress = "InProgress" - public var description: String { return self.rawValue } - } - - public struct ListComplianceItemsResult: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NextToken", required: false, type: .string), - AWSShapeMember(label: "ComplianceItems", required: false, type: .list) - ] - /// The token for the next set of items to return. Use this token to get the next set of results. - public let nextToken: String? - /// A list of compliance information for the specified resource ID. - public let complianceItems: [ComplianceItem]? - - public init(nextToken: String? = nil, complianceItems: [ComplianceItem]? = nil) { - self.nextToken = nextToken - self.complianceItems = complianceItems - } - - private enum CodingKeys: String, CodingKey { - case nextToken = "NextToken" - case complianceItems = "ComplianceItems" - } - } - - public struct InstanceAssociationOutputLocation: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "S3Location", required: false, type: .structure) - ] - /// An Amazon S3 bucket where you want to store the results of this request. - public let s3Location: S3OutputLocation? - - public init(s3Location: S3OutputLocation? = nil) { - self.s3Location = s3Location - } - - private enum CodingKeys: String, CodingKey { - case s3Location = "S3Location" - } - } - - public enum InventoryAttributeDataType: String, CustomStringConvertible, Codable { - case string = "string" - case number = "number" - public var description: String { return self.rawValue } - } - public struct RegisterTargetWithMaintenanceWindowResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "WindowTargetId", required: false, type: .string) diff --git a/Sources/AWSSDKSwift/Services/states/States_Shapes.swift b/Sources/AWSSDKSwift/Services/states/States_Shapes.swift index 9a1a8796feb..9b170e72dea 100644 --- a/Sources/AWSSDKSwift/Services/states/States_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/states/States_Shapes.swift @@ -1167,30 +1167,30 @@ extension States { public struct GetExecutionHistoryInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "nextToken", required: false, type: .string), AWSShapeMember(label: "maxResults", required: false, type: .integer), + AWSShapeMember(label: "nextToken", required: false, type: .string), AWSShapeMember(label: "reverseOrder", required: false, type: .boolean), AWSShapeMember(label: "executionArn", required: true, type: .string) ] - /// 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. - public let nextToken: String? /// 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. public let maxResults: Int32? + /// 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. + public let nextToken: String? /// Lists events in descending order of their timeStamp. public let reverseOrder: Bool? /// The Amazon Resource Name (ARN) of the execution. public let executionArn: String - public init(nextToken: String? = nil, maxResults: Int32? = nil, reverseOrder: Bool? = nil, executionArn: String) { - self.nextToken = nextToken + public init(maxResults: Int32? = nil, nextToken: String? = nil, reverseOrder: Bool? = nil, executionArn: String) { self.maxResults = maxResults + self.nextToken = nextToken self.reverseOrder = reverseOrder self.executionArn = executionArn } private enum CodingKeys: String, CodingKey { - case nextToken = "nextToken" case maxResults = "maxResults" + case nextToken = "nextToken" case reverseOrder = "reverseOrder" case executionArn = "executionArn" } diff --git a/Sources/AWSSDKSwift/Services/storagegateway/Storagegateway_API.swift b/Sources/AWSSDKSwift/Services/storagegateway/Storagegateway_API.swift index 56799e4164a..071a7b3f883 100644 --- a/Sources/AWSSDKSwift/Services/storagegateway/Storagegateway_API.swift +++ b/Sources/AWSSDKSwift/Services/storagegateway/Storagegateway_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -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 Required Request Headers: Describes the required headers that you must send with every POST request to AWS Storage Gateway. Signing Requests: AWS Storage Gateway requires that you authenticate every request you send; this topic describes how sign such a request. Error Responses: Provides reference information about AWS Storage Gateway errors. Operations in AWS Storage Gateway: Contains detailed descriptions of all AWS Storage Gateway operations, their request parameters, response elements, possible errors, and examples of requests and responses. AWS Storage Gateway Regions and Endpoints: Provides a list of each region and endpoints available for use with AWS Storage Gateway. 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. +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 Required Request Headers: Describes the required headers that you must send with every POST request to AWS Storage Gateway. Signing Requests: AWS Storage Gateway requires that you authenticate every request you send; this topic describes how sign such a request. Error Responses: Provides reference information about AWS Storage Gateway errors. Operations in AWS Storage Gateway: Contains detailed descriptions of all AWS Storage Gateway operations, their request parameters, response elements, possible errors, and examples of requests and responses. AWS Storage Gateway Regions and Endpoints: Provides a list of each AWS region and endpoints available for use with AWS Storage Gateway. 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. */ public struct Storagegateway { @@ -50,6 +50,11 @@ public struct Storagegateway { return try client.send(operation: "ListTagsForResource", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func createSMBFileShare(_ input: CreateSMBFileShareInput) throws -> CreateSMBFileShareOutput { + return try client.send(operation: "CreateSMBFileShare", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func listGateways(_ input: ListGatewaysInput) throws -> ListGatewaysOutput { return try client.send(operation: "ListGateways", path: "/", httpMethod: "POST", input: input) @@ -65,7 +70,7 @@ public struct Storagegateway { return try client.send(operation: "ListTapes", path: "/", httpMethod: "POST", input: input) } - /// Creates a file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway exposes file shares using a Network File System (NFS) interface. This operation is only supported in the file gateway type. 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. + /// 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. public func createNFSFileShare(_ input: CreateNFSFileShareInput) throws -> CreateNFSFileShareOutput { return try client.send(operation: "CreateNFSFileShare", path: "/", httpMethod: "POST", input: input) } @@ -80,7 +85,7 @@ public struct Storagegateway { return try client.send(operation: "DescribeVTLDevices", path: "/", httpMethod: "POST", input: input) } - /// Updates a 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. + /// 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. public func updateNFSFileShare(_ input: UpdateNFSFileShareInput) throws -> UpdateNFSFileShareOutput { return try client.send(operation: "UpdateNFSFileShare", path: "/", httpMethod: "POST", input: input) } @@ -100,6 +105,11 @@ public struct Storagegateway { return try client.send(operation: "DeleteSnapshotSchedule", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func updateSMBFileShare(_ input: UpdateSMBFileShareInput) throws -> UpdateSMBFileShareOutput { + return try client.send(operation: "UpdateSMBFileShare", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func describeBandwidthRateLimit(_ input: DescribeBandwidthRateLimitInput) throws -> DescribeBandwidthRateLimitOutput { return try client.send(operation: "DescribeBandwidthRateLimit", path: "/", httpMethod: "POST", input: input) @@ -120,6 +130,11 @@ public struct Storagegateway { return try client.send(operation: "StartGateway", path: "/", httpMethod: "POST", input: input) } + /// Gets a description of a Server Message Block (SMB) file share settings from a file gateway. This operation is only supported for file gateways. + public func describeSMBSettings(_ input: DescribeSMBSettingsInput) throws -> DescribeSMBSettingsOutput { + return try client.send(operation: "DescribeSMBSettings", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func updateChapCredentials(_ input: UpdateChapCredentialsInput) throws -> UpdateChapCredentialsOutput { return try client.send(operation: "UpdateChapCredentials", path: "/", httpMethod: "POST", input: input) @@ -130,6 +145,11 @@ public struct Storagegateway { return try client.send(operation: "AddWorkingStorage", path: "/", httpMethod: "POST", input: input) } + /// Adds a file gateway to an Active Directory domain. This operation is only supported for file gateways that support the SMB file protocol. + public func joinDomain(_ input: JoinDomainInput) throws -> JoinDomainOutput { + return try client.send(operation: "JoinDomain", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func describeMaintenanceStartTime(_ input: DescribeMaintenanceStartTimeInput) throws -> DescribeMaintenanceStartTimeOutput { return try client.send(operation: "DescribeMaintenanceStartTime", path: "/", httpMethod: "POST", input: input) @@ -140,7 +160,7 @@ public struct Storagegateway { return try client.send(operation: "ShutdownGateway", path: "/", httpMethod: "POST", input: input) } - /// Deletes a file share from a file gateway. This operation is only supported in the file gateway type. + /// Deletes a file share from a file gateway. This operation is only supported for file gateways. public func deleteFileShare(_ input: DeleteFileShareInput) throws -> DeleteFileShareOutput { return try client.send(operation: "DeleteFileShare", path: "/", httpMethod: "POST", input: input) } @@ -155,7 +175,7 @@ public struct Storagegateway { return try client.send(operation: "SetLocalConsolePassword", path: "/", httpMethod: "POST", input: input) } - /// Resets all cache disks that have encountered a error and makes the disks available for reconfiguration as cache storage. If your cache disk encounters a error, the gateway prevents read and write operations on virtual tapes in the gateway. For example, an error can occur when a disk is corrupted or removed from the gateway. When a cache is reset, the gateway loses its cache storage. At this point you can reconfigure the disks as cache disks. This operation is only supported in the cached volume, tape and file gateway 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. + /// 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. public func resetCache(_ input: ResetCacheInput) throws -> ResetCacheOutput { return try client.send(operation: "ResetCache", path: "/", httpMethod: "POST", input: input) } @@ -165,7 +185,7 @@ public struct Storagegateway { return try client.send(operation: "UpdateSnapshotSchedule", path: "/", httpMethod: "POST", input: input) } - /// Gets a list of the file shares for a specific file gateway, or the list of file shares that belong to the calling user account. This operation is only supported in the file gateway type. + /// 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. public func listFileShares(_ input: ListFileSharesInput) throws -> ListFileSharesOutput { return try client.send(operation: "ListFileShares", path: "/", httpMethod: "POST", input: input) } @@ -175,7 +195,7 @@ public struct Storagegateway { return try client.send(operation: "CancelArchival", path: "/", httpMethod: "POST", input: input) } - /// Activates the gateway you previously deployed on your host. For more information, see Activate the AWS Storage Gateway. In the activation process, you specify information such as the region you want to use for storing snapshots or tapes, the time zone for scheduled snapshots the gateway snapshot schedule window, an activation key, and a name for your gateway. The activation process also associates your gateway with your account; for more information, see UpdateGatewayInformation. You must turn on the gateway VM before you can activate your gateway. + /// 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. public func activateGateway(_ input: ActivateGatewayInput) throws -> ActivateGatewayOutput { return try client.send(operation: "ActivateGateway", path: "/", httpMethod: "POST", input: input) } @@ -280,7 +300,7 @@ public struct Storagegateway { return try client.send(operation: "ListVolumes", path: "/", httpMethod: "POST", input: input) } - /// Sends you notification when all file data written to the NFS file share has 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 sent the notification through event targets such as email, SNS or a Lambda function. text or Lambda functions. This operation is only supported in the file gateway type. + /// 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). public func notifyWhenUploaded(_ input: NotifyWhenUploadedInput) throws -> NotifyWhenUploadedOutput { return try client.send(operation: "NotifyWhenUploaded", path: "/", httpMethod: "POST", input: input) } @@ -290,21 +310,26 @@ public struct Storagegateway { return try client.send(operation: "DescribeTapeArchives", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describeSMBFileShares(_ input: DescribeSMBFileSharesInput) throws -> DescribeSMBFileSharesOutput { + return try client.send(operation: "DescribeSMBFileShares", path: "/", httpMethod: "POST", input: input) + } + /// Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target and initiator pair. public func deleteChapCredentials(_ input: DeleteChapCredentialsInput) throws -> DeleteChapCredentialsOutput { return try client.send(operation: "DeleteChapCredentials", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func deleteGateway(_ input: DeleteGatewayInput) throws -> DeleteGatewayOutput { - return try client.send(operation: "DeleteGateway", path: "/", httpMethod: "POST", input: input) - } - /// 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. public func deleteVolume(_ input: DeleteVolumeInput) throws -> DeleteVolumeOutput { return try client.send(operation: "DeleteVolume", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func deleteGateway(_ input: DeleteGatewayInput) throws -> DeleteGatewayOutput { + return try client.send(operation: "DeleteGateway", path: "/", httpMethod: "POST", input: input) + } + /// Deletes the specified virtual tape from the virtual tape shelf (VTS). This operation is only supported in the tape gateway type. public func deleteTapeArchive(_ input: DeleteTapeArchiveInput) throws -> DeleteTapeArchiveOutput { return try client.send(operation: "DeleteTapeArchive", path: "/", httpMethod: "POST", input: input) @@ -320,7 +345,7 @@ public struct Storagegateway { return try client.send(operation: "DescribeTapeRecoveryPoints", path: "/", httpMethod: "POST", input: input) } - /// Gets a description for one or more file shares from a file gateway. This operation is only supported in the file gateway type. + /// 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. public func describeNFSFileShares(_ input: DescribeNFSFileSharesInput) throws -> DescribeNFSFileSharesOutput { return try client.send(operation: "DescribeNFSFileShares", path: "/", httpMethod: "POST", input: input) } @@ -335,6 +360,11 @@ public struct Storagegateway { return try client.send(operation: "CreateCachediSCSIVolume", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func setSMBGuestPassword(_ input: SetSMBGuestPasswordInput) throws -> SetSMBGuestPasswordOutput { + return try client.send(operation: "SetSMBGuestPassword", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func addTagsToResource(_ input: AddTagsToResourceInput) throws -> AddTagsToResourceOutput { return try client.send(operation: "AddTagsToResource", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/storagegateway/Storagegateway_Shapes.swift b/Sources/AWSSDKSwift/Services/storagegateway/Storagegateway_Shapes.swift index 7b9bf3b503d..e556b784555 100644 --- a/Sources/AWSSDKSwift/Services/storagegateway/Storagegateway_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/storagegateway/Storagegateway_Shapes.swift @@ -51,6 +51,21 @@ extension Storagegateway { } } + public struct SetSMBGuestPasswordOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GatewayARN", required: false, type: .string) + ] + public let gatewayARN: String? + + public init(gatewayARN: String? = nil) { + self.gatewayARN = gatewayARN + } + + private enum CodingKeys: String, CodingKey { + case gatewayARN = "GatewayARN" + } + } + public struct DescribeGatewayInformationInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GatewayARN", required: true, type: .string) @@ -160,27 +175,37 @@ extension Storagegateway { public struct CreateTapeWithBarcodeInput: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "KMSKey", required: false, type: .string), AWSShapeMember(label: "GatewayARN", required: true, type: .string), + AWSShapeMember(label: "TapeBarcode", required: true, type: .string), AWSShapeMember(label: "TapeSizeInBytes", required: true, type: .long), - AWSShapeMember(label: "TapeBarcode", required: true, type: .string) + AWSShapeMember(label: "KMSEncrypted", required: false, type: .boolean) ] + /// 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. + public let kMSKey: String? /// 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. public let gatewayARN: String - /// The size, in bytes, of the virtual tape that you want to create. The size must be aligned by gigabyte (1024*1024*1024 byte). - public let tapeSizeInBytes: Int64 /// The barcode that you want to assign to the tape. Barcodes cannot be reused. This includes barcodes used for tapes that have been deleted. public let tapeBarcode: String + /// The size, in bytes, of the virtual tape that you want to create. The size must be aligned by gigabyte (1024*1024*1024 byte). + public let tapeSizeInBytes: Int64 + /// 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. + public let kMSEncrypted: Bool? - public init(gatewayARN: String, tapeSizeInBytes: Int64, tapeBarcode: String) { + public init(kMSKey: String? = nil, gatewayARN: String, tapeBarcode: String, tapeSizeInBytes: Int64, kMSEncrypted: Bool? = nil) { + self.kMSKey = kMSKey self.gatewayARN = gatewayARN - self.tapeSizeInBytes = tapeSizeInBytes self.tapeBarcode = tapeBarcode + self.tapeSizeInBytes = tapeSizeInBytes + self.kMSEncrypted = kMSEncrypted } private enum CodingKeys: String, CodingKey { + case kMSKey = "KMSKey" case gatewayARN = "GatewayARN" - case tapeSizeInBytes = "TapeSizeInBytes" case tapeBarcode = "TapeBarcode" + case tapeSizeInBytes = "TapeSizeInBytes" + case kMSEncrypted = "KMSEncrypted" } } @@ -469,7 +494,7 @@ extension Storagegateway { ] /// The Amazon Resource Name (ARN) of the virtual tape. public let tapeARN: String? - /// The time when the point-in-time view of the virtual tape was replicated for later recovery. The string format of the tape recovery point time is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format. + /// 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. public let tapeRecoveryPointTime: TimeStamp? public let tapeStatus: String? /// The size, in bytes, of the virtual tapes to recover. @@ -555,6 +580,87 @@ extension Storagegateway { } } + public struct CreateSMBFileShareInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ClientToken", required: true, type: .string), + AWSShapeMember(label: "ValidUserList", required: false, type: .list), + AWSShapeMember(label: "GuessMIMETypeEnabled", required: false, type: .boolean), + AWSShapeMember(label: "LocationARN", required: true, type: .string), + AWSShapeMember(label: "ObjectACL", required: false, type: .enum), + AWSShapeMember(label: "DefaultStorageClass", required: false, type: .string), + AWSShapeMember(label: "GatewayARN", required: true, type: .string), + AWSShapeMember(label: "KMSKey", required: false, type: .string), + AWSShapeMember(label: "Role", required: true, type: .string), + AWSShapeMember(label: "Authentication", required: false, type: .string), + AWSShapeMember(label: "ReadOnly", required: false, type: .boolean), + AWSShapeMember(label: "InvalidUserList", required: false, type: .list), + AWSShapeMember(label: "RequesterPays", required: false, type: .boolean), + AWSShapeMember(label: "KMSEncrypted", required: false, type: .boolean) + ] + /// A unique string value that you supply that is used by file gateway to ensure idempotent file share creation. + public let clientToken: String + /// 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. + public let validUserList: [String]? + /// 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. + public let guessMIMETypeEnabled: Bool? + /// The ARN of the backed storage used for storing file data. + public let locationARN: String + /// 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". + public let objectACL: ObjectACL? + /// 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. + public let defaultStorageClass: String? + /// The Amazon Resource Name (ARN) of the file gateway on which you want to create a file share. + public let gatewayARN: String + /// 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. + public let kMSKey: String? + /// The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage. + public let role: String + /// The authentication method that users use to access the file share. Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory. + public let authentication: String? + /// 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. + public let readOnly: Bool? + /// 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. + public let invalidUserList: [String]? + /// 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. + public let requesterPays: Bool? + /// 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. + public let kMSEncrypted: Bool? + + public init(clientToken: String, validUserList: [String]? = nil, guessMIMETypeEnabled: Bool? = nil, locationARN: String, objectACL: ObjectACL? = nil, defaultStorageClass: String? = nil, gatewayARN: String, kMSKey: String? = nil, role: String, authentication: String? = nil, readOnly: Bool? = nil, invalidUserList: [String]? = nil, requesterPays: Bool? = nil, kMSEncrypted: Bool? = nil) { + self.clientToken = clientToken + self.validUserList = validUserList + self.guessMIMETypeEnabled = guessMIMETypeEnabled + self.locationARN = locationARN + self.objectACL = objectACL + self.defaultStorageClass = defaultStorageClass + self.gatewayARN = gatewayARN + self.kMSKey = kMSKey + self.role = role + self.authentication = authentication + self.readOnly = readOnly + self.invalidUserList = invalidUserList + self.requesterPays = requesterPays + self.kMSEncrypted = kMSEncrypted + } + + private enum CodingKeys: String, CodingKey { + case clientToken = "ClientToken" + case validUserList = "ValidUserList" + case guessMIMETypeEnabled = "GuessMIMETypeEnabled" + case locationARN = "LocationARN" + case objectACL = "ObjectACL" + case defaultStorageClass = "DefaultStorageClass" + case gatewayARN = "GatewayARN" + case kMSKey = "KMSKey" + case role = "Role" + case authentication = "Authentication" + case readOnly = "ReadOnly" + case invalidUserList = "InvalidUserList" + case requesterPays = "RequesterPays" + case kMSEncrypted = "KMSEncrypted" + } + } + public struct ListTapesOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Marker", required: false, type: .string), @@ -734,31 +840,31 @@ extension Storagegateway { public struct DescribeWorkingStorageOutput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "DiskIds", required: false, type: .list), + AWSShapeMember(label: "WorkingStorageAllocatedInBytes", required: false, type: .long), AWSShapeMember(label: "GatewayARN", required: false, type: .string), AWSShapeMember(label: "WorkingStorageUsedInBytes", required: false, type: .long), - AWSShapeMember(label: "WorkingStorageAllocatedInBytes", required: false, type: .long) + AWSShapeMember(label: "DiskIds", required: false, type: .list) ] - /// 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. - public let diskIds: [String]? + /// The total working storage in bytes allocated for the gateway. If no working storage is configured for the gateway, this field returns 0. + public let workingStorageAllocatedInBytes: Int64? public let gatewayARN: String? /// The total working storage in bytes in use by the gateway. If no working storage is configured for the gateway, this field returns 0. public let workingStorageUsedInBytes: Int64? - /// The total working storage in bytes allocated for the gateway. If no working storage is configured for the gateway, this field returns 0. - public let workingStorageAllocatedInBytes: Int64? + /// 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. + public let diskIds: [String]? - public init(diskIds: [String]? = nil, gatewayARN: String? = nil, workingStorageUsedInBytes: Int64? = nil, workingStorageAllocatedInBytes: Int64? = nil) { - self.diskIds = diskIds + public init(workingStorageAllocatedInBytes: Int64? = nil, gatewayARN: String? = nil, workingStorageUsedInBytes: Int64? = nil, diskIds: [String]? = nil) { + self.workingStorageAllocatedInBytes = workingStorageAllocatedInBytes self.gatewayARN = gatewayARN self.workingStorageUsedInBytes = workingStorageUsedInBytes - self.workingStorageAllocatedInBytes = workingStorageAllocatedInBytes + self.diskIds = diskIds } private enum CodingKeys: String, CodingKey { - case diskIds = "DiskIds" + case workingStorageAllocatedInBytes = "WorkingStorageAllocatedInBytes" case gatewayARN = "GatewayARN" case workingStorageUsedInBytes = "WorkingStorageUsedInBytes" - case workingStorageAllocatedInBytes = "WorkingStorageAllocatedInBytes" + case diskIds = "DiskIds" } } @@ -778,6 +884,53 @@ extension Storagegateway { } } + public struct JoinDomainInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GatewayARN", required: true, type: .string), + AWSShapeMember(label: "UserName", required: true, type: .string), + AWSShapeMember(label: "DomainName", required: true, type: .string), + AWSShapeMember(label: "Password", required: true, type: .string) + ] + /// The unique Amazon Resource Name (ARN) of the file gateway you want to add to the Active Directory domain. + public let gatewayARN: String + /// Sets the user name of user who has permission to add the gateway to the Active Directory domain. + public let userName: String + /// The name of the domain that you want the gateway to join. + public let domainName: String + /// Sets the password of the user who has permission to add the gateway to the Active Directory domain. + public let password: String + + public init(gatewayARN: String, userName: String, domainName: String, password: String) { + self.gatewayARN = gatewayARN + self.userName = userName + self.domainName = domainName + self.password = password + } + + private enum CodingKeys: String, CodingKey { + case gatewayARN = "GatewayARN" + case userName = "UserName" + case domainName = "DomainName" + case password = "Password" + } + } + + public struct DescribeSMBFileSharesOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "SMBFileShareInfoList", required: false, type: .list) + ] + /// An array containing a description for each requested file share. + public let sMBFileShareInfoList: [SMBFileShareInfo]? + + public init(sMBFileShareInfoList: [SMBFileShareInfo]? = nil) { + self.sMBFileShareInfoList = sMBFileShareInfoList + } + + private enum CodingKeys: String, CodingKey { + case sMBFileShareInfoList = "SMBFileShareInfoList" + } + } + public struct Disk: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DiskStatus", required: false, type: .string), @@ -856,47 +1009,47 @@ extension Storagegateway { public struct ActivateGatewayInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ActivationKey", required: true, type: .string), + AWSShapeMember(label: "TapeDriveType", required: false, type: .string), AWSShapeMember(label: "GatewayType", required: false, type: .string), AWSShapeMember(label: "MediumChangerType", required: false, type: .string), AWSShapeMember(label: "GatewayTimezone", required: true, type: .string), AWSShapeMember(label: "GatewayRegion", required: true, type: .string), AWSShapeMember(label: "GatewayName", required: true, type: .string), - AWSShapeMember(label: "TapeDriveType", required: false, type: .string) + AWSShapeMember(label: "ActivationKey", required: true, type: .string) ] - /// 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. - public let activationKey: String + /// The value that indicates the type of tape drive to use for tape gateway. This field is optional. Valid Values: "IBM-ULT3580-TD5" + public let tapeDriveType: String? /// 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" public let gatewayType: String? /// 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" public let mediumChangerType: String? /// 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. public let gatewayTimezone: String - /// A value that indicates the region where you want to store your data. The gateway region specified must be the same region as the region in your Host header in the request. For more information about available regions and endpoints for AWS Storage Gateway, see Regions and Endpoints in the Amazon Web Services Glossary. Valid Values: "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ca-central-1", "eu-west-1", "eu-central-1", "eu-west-2", "ap-northeast-1", "ap-northeast-2", "ap-southeast-1", "ap-southeast-2", "ap-south-1", "sa-east-1" + /// 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" public let gatewayRegion: String /// The name you configured for your gateway. public let gatewayName: String - /// The value that indicates the type of tape drive to use for tape gateway. This field is optional. Valid Values: "IBM-ULT3580-TD5" - public let tapeDriveType: String? + /// 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. + public let activationKey: String - public init(activationKey: String, gatewayType: String? = nil, mediumChangerType: String? = nil, gatewayTimezone: String, gatewayRegion: String, gatewayName: String, tapeDriveType: String? = nil) { - self.activationKey = activationKey + public init(tapeDriveType: String? = nil, gatewayType: String? = nil, mediumChangerType: String? = nil, gatewayTimezone: String, gatewayRegion: String, gatewayName: String, activationKey: String) { + self.tapeDriveType = tapeDriveType self.gatewayType = gatewayType self.mediumChangerType = mediumChangerType self.gatewayTimezone = gatewayTimezone self.gatewayRegion = gatewayRegion self.gatewayName = gatewayName - self.tapeDriveType = tapeDriveType + self.activationKey = activationKey } private enum CodingKeys: String, CodingKey { - case activationKey = "ActivationKey" + case tapeDriveType = "TapeDriveType" case gatewayType = "GatewayType" case mediumChangerType = "MediumChangerType" case gatewayTimezone = "GatewayTimezone" case gatewayRegion = "GatewayRegion" case gatewayName = "GatewayName" - case tapeDriveType = "TapeDriveType" + case activationKey = "ActivationKey" } } @@ -907,8 +1060,9 @@ extension Storagegateway { AWSShapeMember(label: "FileShareId", required: false, type: .string), AWSShapeMember(label: "NFSFileShareDefaults", required: false, type: .structure), AWSShapeMember(label: "FileShareARN", required: false, type: .string), - AWSShapeMember(label: "LocationARN", required: false, type: .string), + AWSShapeMember(label: "ObjectACL", required: false, type: .enum), AWSShapeMember(label: "DefaultStorageClass", required: false, type: .string), + AWSShapeMember(label: "LocationARN", required: false, type: .string), AWSShapeMember(label: "FileShareStatus", required: false, type: .string), AWSShapeMember(label: "GatewayARN", required: false, type: .string), AWSShapeMember(label: "KMSKey", required: false, type: .string), @@ -916,35 +1070,41 @@ extension Storagegateway { AWSShapeMember(label: "ReadOnly", required: false, type: .boolean), AWSShapeMember(label: "ClientList", required: false, type: .list), AWSShapeMember(label: "Squash", required: false, type: .string), + AWSShapeMember(label: "RequesterPays", required: false, type: .boolean), AWSShapeMember(label: "KMSEncrypted", required: false, type: .boolean) ] - /// Enables guessing of the MIME type for uploaded objects based on file extensions: "true" to enable MIME type guessing, and otherwise "false". + /// 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. public let guessMIMETypeEnabled: Bool? public let path: String? public let fileShareId: String? public let nFSFileShareDefaults: NFSFileShareDefaults? public let fileShareARN: String? - public let locationARN: String? - /// The default storage class for objects put into an Amazon S3 bucket by file gateway. Possible values are S3_STANDARD or S3_STANDARD_IA. If this field is not populated, the default value S3_STANDARD is used. Optional. + public let objectACL: ObjectACL? + /// 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. public let defaultStorageClass: String? + public let locationARN: String? public let fileShareStatus: String? public let gatewayARN: String? public let kMSKey: String? public let role: String? + /// 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. public let readOnly: Bool? public let clientList: [String]? public let squash: String? - /// True to use Amazon S3 server side encryption with your own KMS key, or false to use a key managed by Amazon S3. Optional. + /// 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. + public let requesterPays: Bool? + /// 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. public let kMSEncrypted: Bool? - public init(guessMIMETypeEnabled: Bool? = nil, path: String? = nil, fileShareId: String? = nil, nFSFileShareDefaults: NFSFileShareDefaults? = nil, fileShareARN: String? = nil, locationARN: String? = nil, defaultStorageClass: String? = nil, fileShareStatus: String? = nil, gatewayARN: String? = nil, kMSKey: String? = nil, role: String? = nil, readOnly: Bool? = nil, clientList: [String]? = nil, squash: String? = nil, kMSEncrypted: Bool? = nil) { + public init(guessMIMETypeEnabled: Bool? = nil, path: String? = nil, fileShareId: String? = nil, nFSFileShareDefaults: NFSFileShareDefaults? = nil, fileShareARN: String? = nil, objectACL: ObjectACL? = nil, defaultStorageClass: String? = nil, locationARN: String? = nil, fileShareStatus: String? = nil, gatewayARN: String? = nil, kMSKey: String? = nil, role: String? = nil, readOnly: Bool? = nil, clientList: [String]? = nil, squash: String? = nil, requesterPays: Bool? = nil, kMSEncrypted: Bool? = nil) { self.guessMIMETypeEnabled = guessMIMETypeEnabled self.path = path self.fileShareId = fileShareId self.nFSFileShareDefaults = nFSFileShareDefaults self.fileShareARN = fileShareARN - self.locationARN = locationARN + self.objectACL = objectACL self.defaultStorageClass = defaultStorageClass + self.locationARN = locationARN self.fileShareStatus = fileShareStatus self.gatewayARN = gatewayARN self.kMSKey = kMSKey @@ -952,6 +1112,7 @@ extension Storagegateway { self.readOnly = readOnly self.clientList = clientList self.squash = squash + self.requesterPays = requesterPays self.kMSEncrypted = kMSEncrypted } @@ -961,8 +1122,9 @@ extension Storagegateway { case fileShareId = "FileShareId" case nFSFileShareDefaults = "NFSFileShareDefaults" case fileShareARN = "FileShareARN" - case locationARN = "LocationARN" + case objectACL = "ObjectACL" case defaultStorageClass = "DefaultStorageClass" + case locationARN = "LocationARN" case fileShareStatus = "FileShareStatus" case gatewayARN = "GatewayARN" case kMSKey = "KMSKey" @@ -970,6 +1132,7 @@ extension Storagegateway { case readOnly = "ReadOnly" case clientList = "ClientList" case squash = "Squash" + case requesterPays = "RequesterPays" case kMSEncrypted = "KMSEncrypted" } } @@ -1074,7 +1237,7 @@ extension Storagegateway { AWSShapeMember(label: "NetworkInterfaceId", required: false, type: .string), AWSShapeMember(label: "NetworkInterfacePort", required: false, type: .integer) ] - /// Specifies the unique Amazon Resource Name(ARN) that encodes the iSCSI qualified name(iqn) of a tape drive or media changer target. + /// Specifies the unique Amazon Resource Name (ARN) that encodes the iSCSI qualified name(iqn) of a tape drive or media changer target. public let targetARN: String? /// Indicates whether mutual CHAP is enabled for the iSCSI target. public let chapEnabled: Bool? @@ -1154,6 +1317,7 @@ extension Storagegateway { AWSShapeMember(label: "CompletionTime", required: false, type: .timestamp), AWSShapeMember(label: "TapeCreatedDate", required: false, type: .timestamp), AWSShapeMember(label: "TapeBarcode", required: false, type: .string), + AWSShapeMember(label: "KMSKey", required: false, type: .string), AWSShapeMember(label: "TapeUsedInBytes", required: false, type: .long), AWSShapeMember(label: "RetrievedTo", required: false, type: .string), AWSShapeMember(label: "TapeStatus", required: false, type: .string), @@ -1161,11 +1325,13 @@ extension Storagegateway { ] /// The Amazon Resource Name (ARN) of an archived virtual tape. public let tapeARN: String? - /// The time that the archiving of the virtual tape was completed. The string format of the completion time is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format. + /// 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. public let completionTime: TimeStamp? + /// The date the virtual tape was created. public let tapeCreatedDate: TimeStamp? /// The barcode that identifies the archived virtual tape. public let tapeBarcode: String? + public let kMSKey: String? /// The size, in bytes, of data stored on the virtual tape. This value is not available for tapes created prior to May 13, 2015. public let tapeUsedInBytes: Int64? /// 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). @@ -1175,11 +1341,12 @@ extension Storagegateway { /// The size, in bytes, of the archived virtual tape. public let tapeSizeInBytes: Int64? - public init(tapeARN: String? = nil, completionTime: TimeStamp? = nil, tapeCreatedDate: TimeStamp? = nil, tapeBarcode: String? = nil, tapeUsedInBytes: Int64? = nil, retrievedTo: String? = nil, tapeStatus: String? = nil, tapeSizeInBytes: Int64? = nil) { + public init(tapeARN: String? = nil, completionTime: TimeStamp? = nil, tapeCreatedDate: TimeStamp? = nil, tapeBarcode: String? = nil, kMSKey: String? = nil, tapeUsedInBytes: Int64? = nil, retrievedTo: String? = nil, tapeStatus: String? = nil, tapeSizeInBytes: Int64? = nil) { self.tapeARN = tapeARN self.completionTime = completionTime self.tapeCreatedDate = tapeCreatedDate self.tapeBarcode = tapeBarcode + self.kMSKey = kMSKey self.tapeUsedInBytes = tapeUsedInBytes self.retrievedTo = retrievedTo self.tapeStatus = tapeStatus @@ -1191,6 +1358,7 @@ extension Storagegateway { case completionTime = "CompletionTime" case tapeCreatedDate = "TapeCreatedDate" case tapeBarcode = "TapeBarcode" + case kMSKey = "KMSKey" case tapeUsedInBytes = "TapeUsedInBytes" case retrievedTo = "RetrievedTo" case tapeStatus = "TapeStatus" @@ -1239,6 +1407,93 @@ extension Storagegateway { } } + public struct SMBFileShareInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ValidUserList", required: false, type: .list), + AWSShapeMember(label: "GuessMIMETypeEnabled", required: false, type: .boolean), + AWSShapeMember(label: "Path", required: false, type: .string), + AWSShapeMember(label: "FileShareId", required: false, type: .string), + AWSShapeMember(label: "FileShareARN", required: false, type: .string), + AWSShapeMember(label: "ObjectACL", required: false, type: .enum), + AWSShapeMember(label: "DefaultStorageClass", required: false, type: .string), + AWSShapeMember(label: "LocationARN", required: false, type: .string), + AWSShapeMember(label: "FileShareStatus", required: false, type: .string), + AWSShapeMember(label: "GatewayARN", required: false, type: .string), + AWSShapeMember(label: "KMSKey", required: false, type: .string), + AWSShapeMember(label: "Role", required: false, type: .string), + AWSShapeMember(label: "Authentication", required: false, type: .string), + AWSShapeMember(label: "ReadOnly", required: false, type: .boolean), + AWSShapeMember(label: "InvalidUserList", required: false, type: .list), + AWSShapeMember(label: "RequesterPays", required: false, type: .boolean), + AWSShapeMember(label: "KMSEncrypted", required: false, type: .boolean) + ] + /// 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. + public let validUserList: [String]? + /// 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. + public let guessMIMETypeEnabled: Bool? + /// The file share path used by the SMB client to identify the mount point. + public let path: String? + public let fileShareId: String? + public let fileShareARN: String? + public let objectACL: ObjectACL? + /// 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. + public let defaultStorageClass: String? + public let locationARN: String? + public let fileShareStatus: String? + public let gatewayARN: String? + public let kMSKey: String? + public let role: String? + public let authentication: String? + /// 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. + public let readOnly: Bool? + /// 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. + public let invalidUserList: [String]? + /// 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. + public let requesterPays: Bool? + /// 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. + public let kMSEncrypted: Bool? + + public init(validUserList: [String]? = nil, guessMIMETypeEnabled: Bool? = nil, path: String? = nil, fileShareId: String? = nil, fileShareARN: String? = nil, objectACL: ObjectACL? = nil, defaultStorageClass: String? = nil, locationARN: String? = nil, fileShareStatus: String? = nil, gatewayARN: String? = nil, kMSKey: String? = nil, role: String? = nil, authentication: String? = nil, readOnly: Bool? = nil, invalidUserList: [String]? = nil, requesterPays: Bool? = nil, kMSEncrypted: Bool? = nil) { + self.validUserList = validUserList + self.guessMIMETypeEnabled = guessMIMETypeEnabled + self.path = path + self.fileShareId = fileShareId + self.fileShareARN = fileShareARN + self.objectACL = objectACL + self.defaultStorageClass = defaultStorageClass + self.locationARN = locationARN + self.fileShareStatus = fileShareStatus + self.gatewayARN = gatewayARN + self.kMSKey = kMSKey + self.role = role + self.authentication = authentication + self.readOnly = readOnly + self.invalidUserList = invalidUserList + self.requesterPays = requesterPays + self.kMSEncrypted = kMSEncrypted + } + + private enum CodingKeys: String, CodingKey { + case validUserList = "ValidUserList" + case guessMIMETypeEnabled = "GuessMIMETypeEnabled" + case path = "Path" + case fileShareId = "FileShareId" + case fileShareARN = "FileShareARN" + case objectACL = "ObjectACL" + case defaultStorageClass = "DefaultStorageClass" + case locationARN = "LocationARN" + case fileShareStatus = "FileShareStatus" + case gatewayARN = "GatewayARN" + case kMSKey = "KMSKey" + case role = "Role" + case authentication = "Authentication" + case readOnly = "ReadOnly" + case invalidUserList = "InvalidUserList" + case requesterPays = "RequesterPays" + case kMSEncrypted = "KMSEncrypted" + } + } + public struct CreateSnapshotOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SnapshotId", required: false, type: .string), @@ -1262,71 +1517,81 @@ extension Storagegateway { public struct CreateNFSFileShareInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "GatewayARN", required: true, type: .string), AWSShapeMember(label: "ClientToken", required: true, type: .string), AWSShapeMember(label: "GuessMIMETypeEnabled", required: false, type: .boolean), + AWSShapeMember(label: "NFSFileShareDefaults", required: false, type: .structure), + AWSShapeMember(label: "ObjectACL", required: false, type: .enum), + AWSShapeMember(label: "DefaultStorageClass", required: false, type: .string), + AWSShapeMember(label: "LocationARN", required: true, type: .string), + AWSShapeMember(label: "GatewayARN", required: true, type: .string), AWSShapeMember(label: "KMSKey", required: false, type: .string), AWSShapeMember(label: "Role", required: true, type: .string), AWSShapeMember(label: "ReadOnly", required: false, type: .boolean), - AWSShapeMember(label: "NFSFileShareDefaults", required: false, type: .structure), AWSShapeMember(label: "ClientList", required: false, type: .list), AWSShapeMember(label: "Squash", required: false, type: .string), - AWSShapeMember(label: "LocationARN", required: true, type: .string), - AWSShapeMember(label: "DefaultStorageClass", required: false, type: .string), + AWSShapeMember(label: "RequesterPays", required: false, type: .boolean), AWSShapeMember(label: "KMSEncrypted", required: false, type: .boolean) ] - /// The Amazon Resource Name (ARN) of the file gateway on which you want to create a file share. - public let gatewayARN: String /// A unique string value that you supply that is used by file gateway to ensure idempotent file share creation. public let clientToken: String - /// Enables guessing of the MIME type for uploaded objects based on file extensions: "true" to enable MIME type guessing, and otherwise "false". + /// 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. public let guessMIMETypeEnabled: Bool? - /// The KMS key used for Amazon S3 server side encryption. This value can only be set when KmsEncrypted is true. Optional. + /// File share default values. Optional. + public let nFSFileShareDefaults: NFSFileShareDefaults? + /// 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". + public let objectACL: ObjectACL? + /// 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. + public let defaultStorageClass: String? + /// The ARN of the backed storage used for storing file data. + public let locationARN: String + /// The Amazon Resource Name (ARN) of the file gateway on which you want to create a file share. + public let gatewayARN: String + /// 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. public let kMSKey: String? /// The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage. public let role: String - /// Sets the write status of a file share: "true" if the write status is read-only, and otherwise "false". + /// 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. public let readOnly: Bool? - /// File share default values. Optional. - public let nFSFileShareDefaults: NFSFileShareDefaults? /// The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks. public let clientList: [String]? - /// 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. + /// 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. public let squash: String? - /// The ARN of the backed storage used for storing file data. - public let locationARN: String - /// The default storage class for objects put into an Amazon S3 bucket by file gateway. Possible values are S3_STANDARD or S3_STANDARD_IA. If this field is not populated, the default value S3_STANDARD is used. Optional. - public let defaultStorageClass: String? + /// 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. + public let requesterPays: Bool? /// 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. public let kMSEncrypted: Bool? - public init(gatewayARN: String, clientToken: String, guessMIMETypeEnabled: Bool? = nil, kMSKey: String? = nil, role: String, readOnly: Bool? = nil, nFSFileShareDefaults: NFSFileShareDefaults? = nil, clientList: [String]? = nil, squash: String? = nil, locationARN: String, defaultStorageClass: String? = nil, kMSEncrypted: Bool? = nil) { - self.gatewayARN = gatewayARN + public init(clientToken: String, guessMIMETypeEnabled: Bool? = nil, nFSFileShareDefaults: NFSFileShareDefaults? = nil, objectACL: ObjectACL? = nil, defaultStorageClass: String? = nil, locationARN: String, gatewayARN: String, kMSKey: String? = nil, role: String, readOnly: Bool? = nil, clientList: [String]? = nil, squash: String? = nil, requesterPays: Bool? = nil, kMSEncrypted: Bool? = nil) { self.clientToken = clientToken self.guessMIMETypeEnabled = guessMIMETypeEnabled + self.nFSFileShareDefaults = nFSFileShareDefaults + self.objectACL = objectACL + self.defaultStorageClass = defaultStorageClass + self.locationARN = locationARN + self.gatewayARN = gatewayARN self.kMSKey = kMSKey self.role = role self.readOnly = readOnly - self.nFSFileShareDefaults = nFSFileShareDefaults self.clientList = clientList self.squash = squash - self.locationARN = locationARN - self.defaultStorageClass = defaultStorageClass + self.requesterPays = requesterPays self.kMSEncrypted = kMSEncrypted } private enum CodingKeys: String, CodingKey { - case gatewayARN = "GatewayARN" case clientToken = "ClientToken" case guessMIMETypeEnabled = "GuessMIMETypeEnabled" + case nFSFileShareDefaults = "NFSFileShareDefaults" + case objectACL = "ObjectACL" + case defaultStorageClass = "DefaultStorageClass" + case locationARN = "LocationARN" + case gatewayARN = "GatewayARN" case kMSKey = "KMSKey" case role = "Role" case readOnly = "ReadOnly" - case nFSFileShareDefaults = "NFSFileShareDefaults" case clientList = "ClientList" case squash = "Squash" - case locationARN = "LocationARN" - case defaultStorageClass = "DefaultStorageClass" + case requesterPays = "RequesterPays" case kMSEncrypted = "KMSEncrypted" } } @@ -1362,7 +1627,9 @@ extension Storagegateway { AWSShapeMember(label: "TargetARN", required: false, type: .string), AWSShapeMember(label: "VolumeARN", required: false, type: .string) ] + /// he Amazon Resource Name (ARN) of the volume target that includes the iSCSI name that initiators can use to connect to the target. public let targetARN: String? + /// The Amazon Resource Name (ARN) of the configured volume. public let volumeARN: String? public init(targetARN: String? = nil, volumeARN: String? = nil) { @@ -1573,60 +1840,86 @@ extension Storagegateway { public struct UpdateNFSFileShareInput: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "DefaultStorageClass", required: false, type: .string), + AWSShapeMember(label: "FileShareARN", required: true, type: .string), AWSShapeMember(label: "GuessMIMETypeEnabled", required: false, type: .boolean), AWSShapeMember(label: "KMSKey", required: false, type: .string), AWSShapeMember(label: "ReadOnly", required: false, type: .boolean), AWSShapeMember(label: "NFSFileShareDefaults", required: false, type: .structure), AWSShapeMember(label: "ClientList", required: false, type: .list), AWSShapeMember(label: "Squash", required: false, type: .string), - AWSShapeMember(label: "FileShareARN", required: true, type: .string), - AWSShapeMember(label: "DefaultStorageClass", required: false, type: .string), + AWSShapeMember(label: "ObjectACL", required: false, type: .enum), + AWSShapeMember(label: "RequesterPays", required: false, type: .boolean), AWSShapeMember(label: "KMSEncrypted", required: false, type: .boolean) ] - /// Enables guessing of the MIME type for uploaded objects based on file extensions: "true" to enable MIME type guessing, and otherwise "false". + /// 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. + public let defaultStorageClass: String? + /// The Amazon Resource Name (ARN) of the file share to be updated. + public let fileShareARN: String + /// 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. public let guessMIMETypeEnabled: Bool? - /// The KMS key used for Amazon S3 server side encryption. This value can only be set when KmsEncrypted is true. Optional. + /// 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. public let kMSKey: String? - /// Sets the write status of a file share: "true" if the write status is read-only, otherwise "false". + /// 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. public let readOnly: Bool? /// The default values for the file share. Optional. public let nFSFileShareDefaults: NFSFileShareDefaults? /// The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks. public let clientList: [String]? - /// 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. + /// 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. public let squash: String? - /// The Amazon Resource Name (ARN) of the file share to be updated. - public let fileShareARN: String - /// The default storage class for objects put into an Amazon S3 bucket by a file gateway. Possible values are S3_STANDARD or S3_STANDARD_IA. If this field is not populated, the default value S3_STANDARD is used. Optional. - public let defaultStorageClass: String? + /// 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". + public let objectACL: ObjectACL? + /// 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. + public let requesterPays: Bool? /// 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. public let kMSEncrypted: Bool? - public init(guessMIMETypeEnabled: Bool? = nil, kMSKey: String? = nil, readOnly: Bool? = nil, nFSFileShareDefaults: NFSFileShareDefaults? = nil, clientList: [String]? = nil, squash: String? = nil, fileShareARN: String, defaultStorageClass: String? = nil, kMSEncrypted: Bool? = nil) { + public init(defaultStorageClass: String? = nil, fileShareARN: String, guessMIMETypeEnabled: Bool? = nil, kMSKey: String? = nil, readOnly: Bool? = nil, nFSFileShareDefaults: NFSFileShareDefaults? = nil, clientList: [String]? = nil, squash: String? = nil, objectACL: ObjectACL? = nil, requesterPays: Bool? = nil, kMSEncrypted: Bool? = nil) { + self.defaultStorageClass = defaultStorageClass + self.fileShareARN = fileShareARN self.guessMIMETypeEnabled = guessMIMETypeEnabled self.kMSKey = kMSKey self.readOnly = readOnly self.nFSFileShareDefaults = nFSFileShareDefaults self.clientList = clientList self.squash = squash - self.fileShareARN = fileShareARN - self.defaultStorageClass = defaultStorageClass + self.objectACL = objectACL + self.requesterPays = requesterPays self.kMSEncrypted = kMSEncrypted } private enum CodingKeys: String, CodingKey { + case defaultStorageClass = "DefaultStorageClass" + case fileShareARN = "FileShareARN" case guessMIMETypeEnabled = "GuessMIMETypeEnabled" case kMSKey = "KMSKey" case readOnly = "ReadOnly" case nFSFileShareDefaults = "NFSFileShareDefaults" case clientList = "ClientList" case squash = "Squash" - case fileShareARN = "FileShareARN" - case defaultStorageClass = "DefaultStorageClass" + case objectACL = "ObjectACL" + case requesterPays = "RequesterPays" case kMSEncrypted = "KMSEncrypted" } } + public struct CreateSMBFileShareOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FileShareARN", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the newly created file share. + public let fileShareARN: String? + + public init(fileShareARN: String? = nil) { + self.fileShareARN = fileShareARN + } + + private enum CodingKeys: String, CodingKey { + case fileShareARN = "FileShareARN" + } + } + public struct ListLocalDisksOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Disks", required: false, type: .list), @@ -1702,6 +1995,31 @@ extension Storagegateway { } } + public struct DescribeSMBSettingsOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GatewayARN", required: false, type: .string), + AWSShapeMember(label: "SMBGuestPasswordSet", required: false, type: .boolean), + AWSShapeMember(label: "DomainName", required: false, type: .string) + ] + public let gatewayARN: String? + /// This value is true if a password for the guest user “smbguest” is set, and otherwise false. + public let sMBGuestPasswordSet: Bool? + /// The name of the domain that the gateway is joined to. + public let domainName: String? + + public init(gatewayARN: String? = nil, sMBGuestPasswordSet: Bool? = nil, domainName: String? = nil) { + self.gatewayARN = gatewayARN + self.sMBGuestPasswordSet = sMBGuestPasswordSet + self.domainName = domainName + } + + private enum CodingKeys: String, CodingKey { + case gatewayARN = "GatewayARN" + case sMBGuestPasswordSet = "SMBGuestPasswordSet" + case domainName = "DomainName" + } + } + public struct UpdateBandwidthRateLimitOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GatewayARN", required: false, type: .string) @@ -1954,7 +2272,7 @@ extension Storagegateway { AWSShapeMember(label: "TapeArchives", required: false, type: .list), AWSShapeMember(label: "Marker", required: false, type: .string) ] - /// 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. + /// 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. public let tapeArchives: [TapeArchive]? /// 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. public let marker: String? @@ -1972,108 +2290,122 @@ extension Storagegateway { public struct StorediSCSIVolume: AWSShape { public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VolumeId", required: false, type: .string), + AWSShapeMember(label: "PreservedExistingData", required: false, type: .boolean), + AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), + AWSShapeMember(label: "VolumeProgress", required: false, type: .double), AWSShapeMember(label: "VolumeDiskId", required: false, type: .string), - AWSShapeMember(label: "VolumeiSCSIAttributes", required: false, type: .structure), AWSShapeMember(label: "VolumeType", required: false, type: .string), AWSShapeMember(label: "VolumeStatus", required: false, type: .string), - AWSShapeMember(label: "VolumeId", required: false, type: .string), AWSShapeMember(label: "VolumeSizeInBytes", required: false, type: .long), AWSShapeMember(label: "VolumeUsedInBytes", required: false, type: .long), - AWSShapeMember(label: "PreservedExistingData", required: false, type: .boolean), + AWSShapeMember(label: "KMSKey", required: false, type: .string), AWSShapeMember(label: "VolumeARN", required: false, type: .string), - AWSShapeMember(label: "CreatedDate", required: false, type: .timestamp), - AWSShapeMember(label: "VolumeProgress", required: false, type: .double), + AWSShapeMember(label: "VolumeiSCSIAttributes", required: false, type: .structure), AWSShapeMember(label: "SourceSnapshotId", required: false, type: .string) ] + /// The unique identifier of the volume, e.g. vol-AE4B946D. + public let volumeId: String? + /// Indicates if when the stored volume was created, existing data on the underlying local disk was preserved. Valid Values: true, false + public let preservedExistingData: Bool? + /// The date the volume was created. Volumes created prior to March 28, 2017 don’t have this time stamp. + public let createdDate: TimeStamp? + /// 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. + public let volumeProgress: Double? /// The ID of the local disk that was specified in the CreateStorediSCSIVolume operation. public let volumeDiskId: String? - /// An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes for one stored volume. - public let volumeiSCSIAttributes: VolumeiSCSIAttributes? /// One of the VolumeType enumeration values describing the type of the volume. public let volumeType: String? /// One of the VolumeStatus values that indicates the state of the storage volume. public let volumeStatus: String? - /// The unique identifier of the volume, e.g. vol-AE4B946D. - public let volumeId: String? /// The size of the volume in bytes. public let volumeSizeInBytes: Int64? /// 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. public let volumeUsedInBytes: Int64? - /// Indicates if when the stored volume was created, existing data on the underlying local disk was preserved. Valid Values: true, false - public let preservedExistingData: Bool? + public let kMSKey: String? /// The Amazon Resource Name (ARN) of the storage volume. public let volumeARN: String? - /// The date the volume was created. Volumes created prior to March 28, 2017 don’t have this time stamp. - public let createdDate: TimeStamp? - /// 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. - public let volumeProgress: Double? + /// An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes for one stored volume. + public let volumeiSCSIAttributes: VolumeiSCSIAttributes? /// 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. public let sourceSnapshotId: String? - public init(volumeDiskId: String? = nil, volumeiSCSIAttributes: VolumeiSCSIAttributes? = nil, volumeType: String? = nil, volumeStatus: String? = nil, volumeId: String? = nil, volumeSizeInBytes: Int64? = nil, volumeUsedInBytes: Int64? = nil, preservedExistingData: Bool? = nil, volumeARN: String? = nil, createdDate: TimeStamp? = nil, volumeProgress: Double? = nil, sourceSnapshotId: String? = nil) { + public init(volumeId: String? = nil, preservedExistingData: Bool? = nil, createdDate: TimeStamp? = nil, volumeProgress: Double? = nil, volumeDiskId: String? = nil, volumeType: String? = nil, volumeStatus: String? = nil, volumeSizeInBytes: Int64? = nil, volumeUsedInBytes: Int64? = nil, kMSKey: String? = nil, volumeARN: String? = nil, volumeiSCSIAttributes: VolumeiSCSIAttributes? = nil, sourceSnapshotId: String? = nil) { + self.volumeId = volumeId + self.preservedExistingData = preservedExistingData + self.createdDate = createdDate + self.volumeProgress = volumeProgress self.volumeDiskId = volumeDiskId - self.volumeiSCSIAttributes = volumeiSCSIAttributes self.volumeType = volumeType self.volumeStatus = volumeStatus - self.volumeId = volumeId self.volumeSizeInBytes = volumeSizeInBytes self.volumeUsedInBytes = volumeUsedInBytes - self.preservedExistingData = preservedExistingData + self.kMSKey = kMSKey self.volumeARN = volumeARN - self.createdDate = createdDate - self.volumeProgress = volumeProgress + self.volumeiSCSIAttributes = volumeiSCSIAttributes self.sourceSnapshotId = sourceSnapshotId } private enum CodingKeys: String, CodingKey { + case volumeId = "VolumeId" + case preservedExistingData = "PreservedExistingData" + case createdDate = "CreatedDate" + case volumeProgress = "VolumeProgress" case volumeDiskId = "VolumeDiskId" - case volumeiSCSIAttributes = "VolumeiSCSIAttributes" case volumeType = "VolumeType" case volumeStatus = "VolumeStatus" - case volumeId = "VolumeId" case volumeSizeInBytes = "VolumeSizeInBytes" case volumeUsedInBytes = "VolumeUsedInBytes" - case preservedExistingData = "PreservedExistingData" + case kMSKey = "KMSKey" case volumeARN = "VolumeARN" - case createdDate = "CreatedDate" - case volumeProgress = "VolumeProgress" + case volumeiSCSIAttributes = "VolumeiSCSIAttributes" case sourceSnapshotId = "SourceSnapshotId" } } public struct CreateTapesInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "NumTapesToCreate", required: true, type: .integer), AWSShapeMember(label: "GatewayARN", required: true, type: .string), AWSShapeMember(label: "ClientToken", required: true, type: .string), + AWSShapeMember(label: "NumTapesToCreate", required: true, type: .integer), + AWSShapeMember(label: "TapeBarcodePrefix", required: true, type: .string), + AWSShapeMember(label: "KMSKey", required: false, type: .string), AWSShapeMember(label: "TapeSizeInBytes", required: true, type: .long), - AWSShapeMember(label: "TapeBarcodePrefix", required: true, type: .string) + AWSShapeMember(label: "KMSEncrypted", required: false, type: .boolean) ] - /// The number of virtual tapes that you want to create. - public let numTapesToCreate: Int32 /// 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. public let gatewayARN: String /// 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. public let clientToken: String - /// The size, in bytes, of the virtual tapes that you want to create. The size must be aligned by gigabyte (1024*1024*1024 byte). - public let tapeSizeInBytes: Int64 + /// The number of virtual tapes that you want to create. + public let numTapesToCreate: Int32 /// 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. public let tapeBarcodePrefix: String + /// 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. + public let kMSKey: String? + /// The size, in bytes, of the virtual tapes that you want to create. The size must be aligned by gigabyte (1024*1024*1024 byte). + public let tapeSizeInBytes: Int64 + /// 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. + public let kMSEncrypted: Bool? - public init(numTapesToCreate: Int32, gatewayARN: String, clientToken: String, tapeSizeInBytes: Int64, tapeBarcodePrefix: String) { - self.numTapesToCreate = numTapesToCreate + public init(gatewayARN: String, clientToken: String, numTapesToCreate: Int32, tapeBarcodePrefix: String, kMSKey: String? = nil, tapeSizeInBytes: Int64, kMSEncrypted: Bool? = nil) { self.gatewayARN = gatewayARN self.clientToken = clientToken - self.tapeSizeInBytes = tapeSizeInBytes + self.numTapesToCreate = numTapesToCreate self.tapeBarcodePrefix = tapeBarcodePrefix + self.kMSKey = kMSKey + self.tapeSizeInBytes = tapeSizeInBytes + self.kMSEncrypted = kMSEncrypted } private enum CodingKeys: String, CodingKey { - case numTapesToCreate = "NumTapesToCreate" case gatewayARN = "GatewayARN" case clientToken = "ClientToken" - case tapeSizeInBytes = "TapeSizeInBytes" + case numTapesToCreate = "NumTapesToCreate" case tapeBarcodePrefix = "TapeBarcodePrefix" + case kMSKey = "KMSKey" + case tapeSizeInBytes = "TapeSizeInBytes" + case kMSEncrypted = "KMSEncrypted" } } @@ -2083,8 +2415,9 @@ extension Storagegateway { AWSShapeMember(label: "VolumeType", required: false, type: .string), AWSShapeMember(label: "VolumeStatus", required: false, type: .string), AWSShapeMember(label: "VolumeId", required: false, type: .string), - AWSShapeMember(label: "VolumeSizeInBytes", required: false, type: .long), + AWSShapeMember(label: "KMSKey", required: false, type: .string), AWSShapeMember(label: "VolumeUsedInBytes", required: false, type: .long), + AWSShapeMember(label: "VolumeSizeInBytes", required: false, type: .long), AWSShapeMember(label: "VolumeARN", required: false, type: .string), AWSShapeMember(label: "VolumeProgress", required: false, type: .double), AWSShapeMember(label: "VolumeiSCSIAttributes", required: false, type: .structure), @@ -2098,10 +2431,11 @@ extension Storagegateway { public let volumeStatus: String? /// The unique identifier of the volume, e.g. vol-AE4B946D. public let volumeId: String? - /// The size, in bytes, of the volume capacity. - public let volumeSizeInBytes: Int64? + public let kMSKey: String? /// 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. public let volumeUsedInBytes: Int64? + /// The size, in bytes, of the volume capacity. + public let volumeSizeInBytes: Int64? /// The Amazon Resource Name (ARN) of the storage volume. public let volumeARN: String? /// 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. @@ -2111,13 +2445,14 @@ extension Storagegateway { /// The date the volume was created. Volumes created prior to March 28, 2017 don’t have this time stamp. public let createdDate: TimeStamp? - public init(sourceSnapshotId: String? = nil, volumeType: String? = nil, volumeStatus: String? = nil, volumeId: String? = nil, volumeSizeInBytes: Int64? = nil, volumeUsedInBytes: Int64? = nil, volumeARN: String? = nil, volumeProgress: Double? = nil, volumeiSCSIAttributes: VolumeiSCSIAttributes? = nil, createdDate: TimeStamp? = nil) { + public init(sourceSnapshotId: String? = nil, volumeType: String? = nil, volumeStatus: String? = nil, volumeId: String? = nil, kMSKey: String? = nil, volumeUsedInBytes: Int64? = nil, volumeSizeInBytes: Int64? = nil, volumeARN: String? = nil, volumeProgress: Double? = nil, volumeiSCSIAttributes: VolumeiSCSIAttributes? = nil, createdDate: TimeStamp? = nil) { self.sourceSnapshotId = sourceSnapshotId self.volumeType = volumeType self.volumeStatus = volumeStatus self.volumeId = volumeId - self.volumeSizeInBytes = volumeSizeInBytes + self.kMSKey = kMSKey self.volumeUsedInBytes = volumeUsedInBytes + self.volumeSizeInBytes = volumeSizeInBytes self.volumeARN = volumeARN self.volumeProgress = volumeProgress self.volumeiSCSIAttributes = volumeiSCSIAttributes @@ -2129,8 +2464,9 @@ extension Storagegateway { case volumeType = "VolumeType" case volumeStatus = "VolumeStatus" case volumeId = "VolumeId" - case volumeSizeInBytes = "VolumeSizeInBytes" + case kMSKey = "KMSKey" case volumeUsedInBytes = "VolumeUsedInBytes" + case volumeSizeInBytes = "VolumeSizeInBytes" case volumeARN = "VolumeARN" case volumeProgress = "VolumeProgress" case volumeiSCSIAttributes = "VolumeiSCSIAttributes" @@ -2208,6 +2544,7 @@ extension Storagegateway { AWSShapeMember(label: "Progress", required: false, type: .double), AWSShapeMember(label: "TapeCreatedDate", required: false, type: .timestamp), AWSShapeMember(label: "TapeBarcode", required: false, type: .string), + AWSShapeMember(label: "KMSKey", required: false, type: .string), AWSShapeMember(label: "TapeUsedInBytes", required: false, type: .long), AWSShapeMember(label: "TapeStatus", required: false, type: .string), AWSShapeMember(label: "TapeSizeInBytes", required: false, type: .long) @@ -2222,6 +2559,7 @@ extension Storagegateway { public let tapeCreatedDate: TimeStamp? /// The barcode that identifies a specific virtual tape. public let tapeBarcode: String? + public let kMSKey: String? /// The size, in bytes, of data stored on the virtual tape. This value is not available for tapes created prior to May 13, 2015. public let tapeUsedInBytes: Int64? /// The current state of the virtual tape. @@ -2229,12 +2567,13 @@ extension Storagegateway { /// The size, in bytes, of the virtual tape capacity. public let tapeSizeInBytes: Int64? - public init(tapeARN: String? = nil, vTLDevice: String? = nil, progress: Double? = nil, tapeCreatedDate: TimeStamp? = nil, tapeBarcode: String? = nil, tapeUsedInBytes: Int64? = nil, tapeStatus: String? = nil, tapeSizeInBytes: Int64? = nil) { + public init(tapeARN: String? = nil, vTLDevice: String? = nil, progress: Double? = nil, tapeCreatedDate: TimeStamp? = nil, tapeBarcode: String? = nil, kMSKey: String? = nil, tapeUsedInBytes: Int64? = nil, tapeStatus: String? = nil, tapeSizeInBytes: Int64? = nil) { self.tapeARN = tapeARN self.vTLDevice = vTLDevice self.progress = progress self.tapeCreatedDate = tapeCreatedDate self.tapeBarcode = tapeBarcode + self.kMSKey = kMSKey self.tapeUsedInBytes = tapeUsedInBytes self.tapeStatus = tapeStatus self.tapeSizeInBytes = tapeSizeInBytes @@ -2246,6 +2585,7 @@ extension Storagegateway { case progress = "Progress" case tapeCreatedDate = "TapeCreatedDate" case tapeBarcode = "TapeBarcode" + case kMSKey = "KMSKey" case tapeUsedInBytes = "TapeUsedInBytes" case tapeStatus = "TapeStatus" case tapeSizeInBytes = "TapeSizeInBytes" @@ -2268,6 +2608,67 @@ extension Storagegateway { } } + public struct UpdateSMBFileShareInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "KMSEncrypted", required: false, type: .boolean), + AWSShapeMember(label: "ValidUserList", required: false, type: .list), + AWSShapeMember(label: "GuessMIMETypeEnabled", required: false, type: .boolean), + AWSShapeMember(label: "KMSKey", required: false, type: .string), + AWSShapeMember(label: "ReadOnly", required: false, type: .boolean), + AWSShapeMember(label: "InvalidUserList", required: false, type: .list), + AWSShapeMember(label: "FileShareARN", required: true, type: .string), + AWSShapeMember(label: "ObjectACL", required: false, type: .enum), + AWSShapeMember(label: "RequesterPays", required: false, type: .boolean), + AWSShapeMember(label: "DefaultStorageClass", required: false, type: .string) + ] + /// 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. + public let kMSEncrypted: Bool? + /// 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. + public let validUserList: [String]? + /// 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. + public let guessMIMETypeEnabled: Bool? + /// 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. + public let kMSKey: String? + /// 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. + public let readOnly: Bool? + /// 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. + public let invalidUserList: [String]? + /// The Amazon Resource Name (ARN) of the SMB file share that you want to update. + public let fileShareARN: String + /// 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". + public let objectACL: ObjectACL? + /// 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. + public let requesterPays: Bool? + /// 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. + public let defaultStorageClass: String? + + public init(kMSEncrypted: Bool? = nil, validUserList: [String]? = nil, guessMIMETypeEnabled: Bool? = nil, kMSKey: String? = nil, readOnly: Bool? = nil, invalidUserList: [String]? = nil, fileShareARN: String, objectACL: ObjectACL? = nil, requesterPays: Bool? = nil, defaultStorageClass: String? = nil) { + self.kMSEncrypted = kMSEncrypted + self.validUserList = validUserList + self.guessMIMETypeEnabled = guessMIMETypeEnabled + self.kMSKey = kMSKey + self.readOnly = readOnly + self.invalidUserList = invalidUserList + self.fileShareARN = fileShareARN + self.objectACL = objectACL + self.requesterPays = requesterPays + self.defaultStorageClass = defaultStorageClass + } + + private enum CodingKeys: String, CodingKey { + case kMSEncrypted = "KMSEncrypted" + case validUserList = "ValidUserList" + case guessMIMETypeEnabled = "GuessMIMETypeEnabled" + case kMSKey = "KMSKey" + case readOnly = "ReadOnly" + case invalidUserList = "InvalidUserList" + case fileShareARN = "FileShareARN" + case objectACL = "ObjectACL" + case requesterPays = "RequesterPays" + case defaultStorageClass = "DefaultStorageClass" + } + } + public struct DescribeStorediSCSIVolumesInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "VolumeARNs", required: true, type: .list) @@ -2361,6 +2762,22 @@ extension Storagegateway { } } + public struct JoinDomainOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GatewayARN", required: false, type: .string) + ] + /// The unique Amazon Resource Name (ARN) of the gateway that joined the domain. + public let gatewayARN: String? + + public init(gatewayARN: String? = nil) { + self.gatewayARN = gatewayARN + } + + private enum CodingKeys: String, CodingKey { + case gatewayARN = "GatewayARN" + } + } + public struct NotifyWhenUploadedInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FileShareARN", required: true, type: .string) @@ -2376,6 +2793,12 @@ extension Storagegateway { } } + public enum FileShareType: String, CustomStringConvertible, Codable { + case nfs = "NFS" + case smb = "SMB" + public var description: String { return self.rawValue } + } + public struct DeleteChapCredentialsInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TargetARN", required: true, type: .string), @@ -2730,18 +3153,21 @@ extension Storagegateway { AWSShapeMember(label: "FileShareId", required: false, type: .string), AWSShapeMember(label: "FileShareStatus", required: false, type: .string), AWSShapeMember(label: "FileShareARN", required: false, type: .string), - AWSShapeMember(label: "GatewayARN", required: false, type: .string) + AWSShapeMember(label: "GatewayARN", required: false, type: .string), + AWSShapeMember(label: "FileShareType", required: false, type: .enum) ] public let fileShareId: String? public let fileShareStatus: String? public let fileShareARN: String? public let gatewayARN: String? + public let fileShareType: FileShareType? - public init(fileShareId: String? = nil, fileShareStatus: String? = nil, fileShareARN: String? = nil, gatewayARN: String? = nil) { + public init(fileShareId: String? = nil, fileShareStatus: String? = nil, fileShareARN: String? = nil, gatewayARN: String? = nil, fileShareType: FileShareType? = nil) { self.fileShareId = fileShareId self.fileShareStatus = fileShareStatus self.fileShareARN = fileShareARN self.gatewayARN = gatewayARN + self.fileShareType = fileShareType } private enum CodingKeys: String, CodingKey { @@ -2749,35 +3175,52 @@ extension Storagegateway { case fileShareStatus = "FileShareStatus" case fileShareARN = "FileShareARN" case gatewayARN = "GatewayARN" + case fileShareType = "FileShareType" + } + } + + public struct DescribeSMBFileSharesInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FileShareARNList", required: true, type: .list) + ] + /// An array containing the Amazon Resource Name (ARN) of each file share to be described. + public let fileShareARNList: [String] + + public init(fileShareARNList: [String]) { + self.fileShareARNList = fileShareARNList + } + + private enum CodingKeys: String, CodingKey { + case fileShareARNList = "FileShareARNList" } } public struct UpdateSnapshotScheduleInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RecurrenceInHours", required: true, type: .integer), AWSShapeMember(label: "StartAt", required: true, type: .integer), + AWSShapeMember(label: "RecurrenceInHours", required: true, type: .integer), AWSShapeMember(label: "VolumeARN", required: true, type: .string), AWSShapeMember(label: "Description", required: false, type: .string) ] - /// Frequency of snapshots. Specify the number of hours between snapshots. - public let recurrenceInHours: Int32 /// 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. public let startAt: Int32 + /// Frequency of snapshots. Specify the number of hours between snapshots. + public let recurrenceInHours: Int32 /// The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes. public let volumeARN: String /// Optional description of the snapshot that overwrites the existing description. public let description: String? - public init(recurrenceInHours: Int32, startAt: Int32, volumeARN: String, description: String? = nil) { - self.recurrenceInHours = recurrenceInHours + public init(startAt: Int32, recurrenceInHours: Int32, volumeARN: String, description: String? = nil) { self.startAt = startAt + self.recurrenceInHours = recurrenceInHours self.volumeARN = volumeARN self.description = description } private enum CodingKeys: String, CodingKey { - case recurrenceInHours = "RecurrenceInHours" case startAt = "StartAt" + case recurrenceInHours = "RecurrenceInHours" case volumeARN = "VolumeARN" case description = "Description" } @@ -2959,6 +3402,22 @@ extension Storagegateway { } } + public struct UpdateSMBFileShareOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "FileShareARN", required: false, type: .string) + ] + /// The Amazon Resource Name (ARN) of the updated SMB file share. + public let fileShareARN: String? + + public init(fileShareARN: String? = nil) { + self.fileShareARN = fileShareARN + } + + private enum CodingKeys: String, CodingKey { + case fileShareARN = "FileShareARN" + } + } + public struct DescribeCacheInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GatewayARN", required: true, type: .string) @@ -3153,41 +3612,51 @@ extension Storagegateway { public struct CreateStorediSCSIVolumeInput: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SnapshotId", required: false, type: .string), AWSShapeMember(label: "GatewayARN", required: true, type: .string), - AWSShapeMember(label: "PreserveExistingData", required: true, type: .boolean), AWSShapeMember(label: "NetworkInterfaceId", required: true, type: .string), + AWSShapeMember(label: "KMSKey", required: false, type: .string), AWSShapeMember(label: "DiskId", required: true, type: .string), - AWSShapeMember(label: "TargetName", required: true, type: .string) + AWSShapeMember(label: "SnapshotId", required: false, type: .string), + AWSShapeMember(label: "PreserveExistingData", required: true, type: .boolean), + AWSShapeMember(label: "TargetName", required: true, type: .string), + AWSShapeMember(label: "KMSEncrypted", required: false, type: .boolean) ] - /// 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. - public let snapshotId: String? public let gatewayARN: String - /// 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 - public let preserveExistingData: Bool /// 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. public let networkInterfaceId: String + /// 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. + public let kMSKey: String? /// The unique identifier for the gateway local disk that is configured as a stored volume. Use ListLocalDisks to list disk IDs for a gateway. public let diskId: String + /// 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. + public let snapshotId: String? + /// 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 + public let preserveExistingData: Bool /// 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. public let targetName: String + /// 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. + public let kMSEncrypted: Bool? - public init(snapshotId: String? = nil, gatewayARN: String, preserveExistingData: Bool, networkInterfaceId: String, diskId: String, targetName: String) { - self.snapshotId = snapshotId + public init(gatewayARN: String, networkInterfaceId: String, kMSKey: String? = nil, diskId: String, snapshotId: String? = nil, preserveExistingData: Bool, targetName: String, kMSEncrypted: Bool? = nil) { self.gatewayARN = gatewayARN - self.preserveExistingData = preserveExistingData self.networkInterfaceId = networkInterfaceId + self.kMSKey = kMSKey self.diskId = diskId + self.snapshotId = snapshotId + self.preserveExistingData = preserveExistingData self.targetName = targetName + self.kMSEncrypted = kMSEncrypted } private enum CodingKeys: String, CodingKey { - case snapshotId = "SnapshotId" case gatewayARN = "GatewayARN" - case preserveExistingData = "PreserveExistingData" case networkInterfaceId = "NetworkInterfaceId" + case kMSKey = "KMSKey" case diskId = "DiskId" + case snapshotId = "SnapshotId" + case preserveExistingData = "PreserveExistingData" case targetName = "TargetName" + case kMSEncrypted = "KMSEncrypted" } } @@ -3243,6 +3712,36 @@ extension Storagegateway { } } + public struct DescribeSMBSettingsInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GatewayARN", required: true, type: .string) + ] + public let gatewayARN: String + + public init(gatewayARN: String) { + self.gatewayARN = gatewayARN + } + + private enum CodingKeys: String, CodingKey { + case gatewayARN = "GatewayARN" + } + } + + public struct AddWorkingStorageOutput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GatewayARN", required: false, type: .string) + ] + public let gatewayARN: String? + + public init(gatewayARN: String? = nil) { + self.gatewayARN = gatewayARN + } + + private enum CodingKeys: String, CodingKey { + case gatewayARN = "GatewayARN" + } + } + public struct VolumeInfo: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "VolumeSizeInBytes", required: false, type: .long), @@ -3282,21 +3781,6 @@ extension Storagegateway { } } - public struct AddWorkingStorageOutput: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "GatewayARN", required: false, type: .string) - ] - public let gatewayARN: String? - - public init(gatewayARN: String? = nil) { - self.gatewayARN = gatewayARN - } - - private enum CodingKeys: String, CodingKey { - case gatewayARN = "GatewayARN" - } - } - public struct CancelRetrievalOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TapeARN", required: false, type: .string) @@ -3313,6 +3797,17 @@ extension Storagegateway { } } + public enum ObjectACL: String, CustomStringConvertible, Codable { + case `private` = "private" + case publicRead = "public-read" + case publicReadWrite = "public-read-write" + case authenticatedRead = "authenticated-read" + case bucketOwnerRead = "bucket-owner-read" + case bucketOwnerFullControl = "bucket-owner-full-control" + case awsExecRead = "aws-exec-read" + public var description: String { return self.rawValue } + } + public struct ListVolumeInitiatorsOutput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Initiators", required: false, type: .list) @@ -3366,26 +3861,39 @@ extension Storagegateway { AWSShapeMember(label: "ClientToken", required: true, type: .string), AWSShapeMember(label: "VolumeSizeInBytes", required: true, type: .long), AWSShapeMember(label: "SnapshotId", required: false, type: .string), + AWSShapeMember(label: "KMSKey", required: false, type: .string), AWSShapeMember(label: "TargetName", required: true, type: .string), - AWSShapeMember(label: "SourceVolumeARN", required: false, type: .string) + AWSShapeMember(label: "SourceVolumeARN", required: false, type: .string), + AWSShapeMember(label: "KMSEncrypted", required: false, type: .boolean) ] public let gatewayARN: String + /// 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. public let networkInterfaceId: String + /// 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. public let clientToken: String + /// The size of the volume in bytes. public let volumeSizeInBytes: Int64 + /// 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. public let snapshotId: String? + /// 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. + public let kMSKey: String? + /// 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. public let targetName: String /// 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. public let sourceVolumeARN: String? + /// 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. + public let kMSEncrypted: Bool? - public init(gatewayARN: String, networkInterfaceId: String, clientToken: String, volumeSizeInBytes: Int64, snapshotId: String? = nil, targetName: String, sourceVolumeARN: String? = nil) { + public init(gatewayARN: String, networkInterfaceId: String, clientToken: String, volumeSizeInBytes: Int64, snapshotId: String? = nil, kMSKey: String? = nil, targetName: String, sourceVolumeARN: String? = nil, kMSEncrypted: Bool? = nil) { self.gatewayARN = gatewayARN self.networkInterfaceId = networkInterfaceId self.clientToken = clientToken self.volumeSizeInBytes = volumeSizeInBytes self.snapshotId = snapshotId + self.kMSKey = kMSKey self.targetName = targetName self.sourceVolumeARN = sourceVolumeARN + self.kMSEncrypted = kMSEncrypted } private enum CodingKeys: String, CodingKey { @@ -3394,8 +3902,10 @@ extension Storagegateway { case clientToken = "ClientToken" case volumeSizeInBytes = "VolumeSizeInBytes" case snapshotId = "SnapshotId" + case kMSKey = "KMSKey" case targetName = "TargetName" case sourceVolumeARN = "SourceVolumeARN" + case kMSEncrypted = "KMSEncrypted" } } @@ -3418,6 +3928,27 @@ extension Storagegateway { } } + public struct SetSMBGuestPasswordInput: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Password", required: true, type: .string), + AWSShapeMember(label: "GatewayARN", required: true, type: .string) + ] + /// The password that you want to set for your SMB Server. + public let password: String + /// The Amazon Resource Name (ARN) of the file gateway the SMB file share is associated with. + public let gatewayARN: String + + public init(password: String, gatewayARN: String) { + self.password = password + self.gatewayARN = gatewayARN + } + + private enum CodingKeys: String, CodingKey { + case password = "Password" + case gatewayARN = "GatewayARN" + } + } + public struct ShutdownGatewayInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GatewayARN", required: true, type: .string) @@ -3453,7 +3984,7 @@ extension Storagegateway { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "GatewayARN", required: false, type: .string) ] - /// The unique Amazon Resource Name of the disabled gateway. + /// The unique Amazon Resource Name (ARN) of the disabled gateway. public let gatewayARN: String? public init(gatewayARN: String? = nil) { diff --git a/Sources/AWSSDKSwift/Services/streams.dynamodb/Streamsdynamodb_Shapes.swift b/Sources/AWSSDKSwift/Services/streams.dynamodb/Streamsdynamodb_Shapes.swift index 90860e64d9f..3efcca3ea36 100644 --- a/Sources/AWSSDKSwift/Services/streams.dynamodb/Streamsdynamodb_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/streams.dynamodb/Streamsdynamodb_Shapes.swift @@ -214,13 +214,6 @@ extension Streamsdynamodb { } } - public enum OperationType: String, CustomStringConvertible, Codable { - case insert = "INSERT" - case modify = "MODIFY" - case remove = "REMOVE" - public var description: String { return self.rawValue } - } - public struct Stream: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StreamArn", required: false, type: .string), @@ -247,6 +240,13 @@ extension Streamsdynamodb { } } + public enum OperationType: String, CustomStringConvertible, Codable { + case insert = "INSERT" + case modify = "MODIFY" + case remove = "REMOVE" + public var description: String { return self.rawValue } + } + public struct GetRecordsInput: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Limit", required: false, type: .integer), @@ -438,8 +438,8 @@ extension Streamsdynamodb { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SequenceNumber", required: false, type: .string), AWSShapeMember(label: "Keys", required: false, type: .map), - AWSShapeMember(label: "NewImage", required: false, type: .map), AWSShapeMember(label: "SizeBytes", required: false, type: .long), + AWSShapeMember(label: "NewImage", required: false, type: .map), AWSShapeMember(label: "StreamViewType", required: false, type: .enum), AWSShapeMember(label: "ApproximateCreationDateTime", required: false, type: .timestamp), AWSShapeMember(label: "OldImage", required: false, type: .map) @@ -448,10 +448,10 @@ extension Streamsdynamodb { public let sequenceNumber: String? /// The primary key attribute(s) for the DynamoDB item that was modified. public let keys: [String: AttributeValue]? - /// The item in the DynamoDB table as it appeared after it was modified. - public let newImage: [String: AttributeValue]? /// The size of the stream record, in bytes. public let sizeBytes: Int64? + /// The item in the DynamoDB table as it appeared after it was modified. + public let newImage: [String: AttributeValue]? /// 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. public let streamViewType: StreamViewType? /// The approximate date and time when the stream record was created, in UNIX epoch time format. @@ -459,11 +459,11 @@ extension Streamsdynamodb { /// The item in the DynamoDB table as it appeared before it was modified. public let oldImage: [String: AttributeValue]? - public init(sequenceNumber: String? = nil, keys: [String: AttributeValue]? = nil, newImage: [String: AttributeValue]? = nil, sizeBytes: Int64? = nil, streamViewType: StreamViewType? = nil, approximateCreationDateTime: TimeStamp? = nil, oldImage: [String: AttributeValue]? = nil) { + public init(sequenceNumber: String? = nil, keys: [String: AttributeValue]? = nil, sizeBytes: Int64? = nil, newImage: [String: AttributeValue]? = nil, streamViewType: StreamViewType? = nil, approximateCreationDateTime: TimeStamp? = nil, oldImage: [String: AttributeValue]? = nil) { self.sequenceNumber = sequenceNumber self.keys = keys - self.newImage = newImage self.sizeBytes = sizeBytes + self.newImage = newImage self.streamViewType = streamViewType self.approximateCreationDateTime = approximateCreationDateTime self.oldImage = oldImage @@ -472,8 +472,8 @@ extension Streamsdynamodb { private enum CodingKeys: String, CodingKey { case sequenceNumber = "SequenceNumber" case keys = "Keys" - case newImage = "NewImage" case sizeBytes = "SizeBytes" + case newImage = "NewImage" case streamViewType = "StreamViewType" case approximateCreationDateTime = "ApproximateCreationDateTime" case oldImage = "OldImage" diff --git a/Sources/AWSSDKSwift/Services/sts/Sts_API.swift b/Sources/AWSSDKSwift/Services/sts/Sts_API.swift index 2e0476744dc..8090c1af4eb 100644 --- a/Sources/AWSSDKSwift/Services/sts/Sts_API.swift +++ b/Sources/AWSSDKSwift/Services/sts/Sts_API.swift @@ -31,7 +31,7 @@ public struct Sts { return try client.send(operation: "GetFederationToken", path: "/", httpMethod: "POST", input: input) } - /// Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider, such as Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider. For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the AWS SDK for iOS and the AWS SDK for Android to uniquely identify a user and supply the user with a consistent identity throughout the lifetime of an application. To learn more about Amazon Cognito, see Amazon Cognito Overview in the AWS SDK for Android Developer Guide guide and Amazon Cognito Overview in the AWS SDK for iOS Developer Guide. Calling AssumeRoleWithWebIdentity does not require the use of AWS security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term AWS credentials in the application, and without deploying server-based proxy services that use long-term AWS credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide. The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS service APIs. The credentials are valid for the duration that you specified when calling AssumeRoleWithWebIdentity, which can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour. The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs. Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide. Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy. Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail logs. The entry includes the Subject of the provided Web Identity Token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification. For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources: Using Web Identity Federation APIs for Mobile Apps and Federation Through a Web-based Identity Provider. Web Identity Federation Playground. This interactive website lets you walk through the process of authenticating via Login with Amazon, Facebook, or Google, getting temporary security credentials, and then using those credentials to make a request to AWS. AWS SDK for iOS and AWS SDK for Android. These toolkits contain sample apps that show how to invoke the identity providers, and then how to use the information from these providers to get and use temporary security credentials. Web Identity Federation with Mobile Applications. This article discusses web identity federation and shows an example of how to use web identity federation to get access to content in Amazon S3. + /// 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: Using Web Identity Federation APIs for Mobile Apps and Federation Through a Web-based Identity Provider. Web Identity Federation Playground. This interactive website lets you walk through the process of authenticating via Login with Amazon, Facebook, or Google, getting temporary security credentials, and then using those credentials to make a request to AWS. AWS SDK for iOS and AWS SDK for Android. These toolkits contain sample apps that show how to invoke the identity providers, and then how to use the information from these providers to get and use temporary security credentials. Web Identity Federation with Mobile Applications. This article discusses web identity federation and shows an example of how to use web identity federation to get access to content in Amazon S3. public func assumeRoleWithWebIdentity(_ input: AssumeRoleWithWebIdentityRequest) throws -> AssumeRoleWithWebIdentityResponse { return try client.send(operation: "AssumeRoleWithWebIdentity", path: "/", httpMethod: "POST", input: input) } @@ -41,12 +41,12 @@ public struct Sts { return try client.send(operation: "GetSessionToken", path: "/", httpMethod: "POST", input: input) } - /// Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide. The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS services. The temporary security credentials are valid for the duration that you specified when calling AssumeRole, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. The duration can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour. The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs. Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by the intersection of both the access policy of the role that is being assumed, and the policy that you pass. This means that both policies must grant the permission for the action to be allowed. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide. Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by AWS. Additionally, you must use AWS Identity and Access Management (IAM) to create a SAML provider entity in your AWS account that represents your identity provider, and create an IAM role that specifies this SAML provider in its trust policy. Calling AssumeRoleWithSAML does not require the use of AWS security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider. Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the Persistent Identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent). For more information, see the following resources: About SAML 2.0-based Federation in the IAM User Guide. Creating SAML Identity Providers in the IAM User Guide. Configuring a Relying Party and Claims in the IAM User Guide. Creating a Role for SAML 2.0 Federation in the IAM User Guide. + /// 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: About SAML 2.0-based Federation in the IAM User Guide. Creating SAML Identity Providers in the IAM User Guide. Configuring a Relying Party and Claims in the IAM User Guide. Creating a Role for SAML 2.0 Federation in the IAM User Guide. public func assumeRoleWithSAML(_ input: AssumeRoleWithSAMLRequest) throws -> AssumeRoleWithSAMLResponse { return try client.send(operation: "AssumeRoleWithSAML", path: "/", httpMethod: "POST", input: input) } - /// Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) that you can use to access AWS resources that you might not normally have access to. Typically, you use AssumeRole for cross-account access or federation. For a comparison of AssumeRole with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide. Important: You cannot call AssumeRole by using AWS root account credentials; access is denied. You must use credentials for an IAM user or an IAM role to call AssumeRole. For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account and then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see IAM Roles (Delegation and Federation) in the IAM User Guide. For federation, you can, for example, grant single sign-on access to the AWS Management Console. If you already have an identity and authentication system in your corporate network, you don't have to recreate user identities in AWS in order to grant those user identities access to AWS. Instead, after a user has been authenticated, you call AssumeRole (and specify the role with the appropriate permissions) to get temporary security credentials for that user. With those temporary security credentials, you construct a sign-in URL that users can use to access the console. For more information, see Common Scenarios for Temporary Credentials in the IAM User Guide. The temporary security credentials are valid for the duration that you specified when calling AssumeRole, which can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour. The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs. Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide. To assume a role, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate access to this account's role. The user who wants to access the role must also have permissions delegated from the role's administrator. If the user is in a different account than the role, then the user's administrator must attach a policy that allows the user to call AssumeRole on the ARN of the role in the other account. If the user is in the same account as the role, then you can either attach a policy to the user (identical to the previous different account user), or you can add the user as a principal directly in the role's trust policy Using MFA with AssumeRole You can optionally include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios in which you want to make sure that the user who is assuming the role has been authenticated using an AWS MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication; if the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example. "Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}} For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide. To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA devices produces. + /// 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. public func assumeRole(_ input: AssumeRoleRequest) throws -> AssumeRoleResponse { return try client.send(operation: "AssumeRole", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/sts/Sts_Shapes.swift b/Sources/AWSSDKSwift/Services/sts/Sts_Shapes.swift index c9c3c1f2dbe..41381f0e636 100644 --- a/Sources/AWSSDKSwift/Services/sts/Sts_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/sts/Sts_Shapes.swift @@ -65,31 +65,31 @@ extension Sts { public struct Credentials: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SessionToken", required: true, type: .string), - AWSShapeMember(label: "AccessKeyId", required: true, type: .string), AWSShapeMember(label: "SecretAccessKey", required: true, type: .string), + AWSShapeMember(label: "AccessKeyId", required: true, type: .string), + AWSShapeMember(label: "SessionToken", required: true, type: .string), AWSShapeMember(label: "Expiration", required: true, type: .timestamp) ] - /// The token that users must pass to the service API to use the temporary credentials. - public let sessionToken: String - /// The access key ID that identifies the temporary security credentials. - public let accessKeyId: String /// The secret access key that can be used to sign requests. public let secretAccessKey: String + /// The access key ID that identifies the temporary security credentials. + public let accessKeyId: String + /// The token that users must pass to the service API to use the temporary credentials. + public let sessionToken: String /// The date on which the current credentials expire. public let expiration: TimeStamp - public init(sessionToken: String, accessKeyId: String, secretAccessKey: String, expiration: TimeStamp) { - self.sessionToken = sessionToken - self.accessKeyId = accessKeyId + public init(secretAccessKey: String, accessKeyId: String, sessionToken: String, expiration: TimeStamp) { self.secretAccessKey = secretAccessKey + self.accessKeyId = accessKeyId + self.sessionToken = sessionToken self.expiration = expiration } private enum CodingKeys: String, CodingKey { - case sessionToken = "SessionToken" - case accessKeyId = "AccessKeyId" case secretAccessKey = "SecretAccessKey" + case accessKeyId = "AccessKeyId" + case sessionToken = "SessionToken" case expiration = "Expiration" } } @@ -172,7 +172,7 @@ extension Sts { ] /// 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. public let providerId: String? - /// The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds. This is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session, separately from the DurationSeconds parameter on this API. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide. + /// 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. public let durationSeconds: Int32? /// The Amazon Resource Name (ARN) of the role that the caller is assuming. public let roleArn: String @@ -253,7 +253,7 @@ extension Sts { ] /// The Amazon Resource Name (ARN) of the SAML provider in IAM that describes the IdP. public let principalArn: String - /// The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds. An expiration can also be specified in the SAML authentication response's SessionNotOnOrAfter value. The actual expiration time is whichever value is shorter. This is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session, separately from the DurationSeconds parameter on this API. For more information, see Enabling SAML 2.0 Federated Users to Access the AWS Management Console in the IAM User Guide. + /// 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. public let durationSeconds: Int32? /// The Amazon Resource Name (ARN) of the role that the caller is assuming. public let roleArn: String @@ -392,7 +392,7 @@ extension Sts { AWSShapeMember(label: "SerialNumber", required: false, type: .string), AWSShapeMember(label: "RoleSessionName", required: true, type: .string) ] - /// The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds. This is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session, separately from the DurationSeconds parameter on this API. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide. + /// 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. public let durationSeconds: Int32? /// 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: =,.@:/- public let externalId: String? diff --git a/Sources/AWSSDKSwift/Services/swf/Swf_API.swift b/Sources/AWSSDKSwift/Services/swf/Swf_API.swift index f54d57ea403..1a91964514c 100644 --- a/Sources/AWSSDKSwift/Services/swf/Swf_API.swift +++ b/Sources/AWSSDKSwift/Services/swf/Swf_API.swift @@ -95,11 +95,6 @@ public struct Swf { return try client.send(operation: "CountClosedWorkflowExecutions", path: "/", httpMethod: "POST", input: input) } - /// 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. - public func describeDomain(_ input: DescribeDomainInput) throws -> DomainDetail { - return try client.send(operation: "DescribeDomain", path: "/", httpMethod: "POST", input: input) - } - /// 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. public func deprecateActivityType(_ input: DeprecateActivityTypeInput) throws { _ = try client.send(operation: "DeprecateActivityType", path: "/", httpMethod: "POST", input: input) @@ -110,6 +105,11 @@ public struct Swf { return try client.send(operation: "ListOpenWorkflowExecutions", path: "/", httpMethod: "POST", input: input) } + /// 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. + public func describeDomain(_ input: DescribeDomainInput) throws -> DomainDetail { + return try client.send(operation: "DescribeDomain", path: "/", httpMethod: "POST", input: input) + } + /// 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. public func terminateWorkflowExecution(_ input: TerminateWorkflowExecutionInput) throws { _ = try client.send(operation: "TerminateWorkflowExecution", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/swf/Swf_Shapes.swift b/Sources/AWSSDKSwift/Services/swf/Swf_Shapes.swift index 5bfc24cc107..5366661b322 100644 --- a/Sources/AWSSDKSwift/Services/swf/Swf_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/swf/Swf_Shapes.swift @@ -1916,32 +1916,32 @@ extension Swf { public struct TimerStartedEventAttributes: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "timerId", required: true, type: .string), + AWSShapeMember(label: "control", required: false, type: .string), AWSShapeMember(label: "decisionTaskCompletedEventId", required: true, type: .long), AWSShapeMember(label: "startToFireTimeout", required: true, type: .string), - AWSShapeMember(label: "control", required: false, type: .string) + AWSShapeMember(label: "timerId", required: true, type: .string) ] - /// The unique ID of the timer that was started. - public let timerId: String + /// Data attached to the event that can be used by the decider in subsequent workflow tasks. + public let control: String? /// 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. public let decisionTaskCompletedEventId: Int64 /// The duration of time after which the timer fires. The duration is specified in seconds, an integer greater than or equal to 0. public let startToFireTimeout: String - /// Data attached to the event that can be used by the decider in subsequent workflow tasks. - public let control: String? + /// The unique ID of the timer that was started. + public let timerId: String - public init(timerId: String, decisionTaskCompletedEventId: Int64, startToFireTimeout: String, control: String? = nil) { - self.timerId = timerId + public init(control: String? = nil, decisionTaskCompletedEventId: Int64, startToFireTimeout: String, timerId: String) { + self.control = control self.decisionTaskCompletedEventId = decisionTaskCompletedEventId self.startToFireTimeout = startToFireTimeout - self.control = control + self.timerId = timerId } private enum CodingKeys: String, CodingKey { - case timerId = "timerId" + case control = "control" case decisionTaskCompletedEventId = "decisionTaskCompletedEventId" case startToFireTimeout = "startToFireTimeout" - case control = "control" + case timerId = "timerId" } } diff --git a/Sources/AWSSDKSwift/Services/transcribe/Transcribe_API.swift b/Sources/AWSSDKSwift/Services/transcribe/Transcribe_API.swift new file mode 100644 index 00000000000..e9716f91f42 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/transcribe/Transcribe_API.swift @@ -0,0 +1,69 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +Operations and objects for transcribing speech to text. +*/ +public struct Transcribe { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + amzTarget: "Transcribe", + service: "transcribe", + serviceProtocol: ServiceProtocol(type: .json, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2017-10-26", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [TranscribeError.self] + ) + } + + /// Lists transcription jobs with the specified status. + public func listTranscriptionJobs(_ input: ListTranscriptionJobsRequest) throws -> ListTranscriptionJobsResponse { + return try client.send(operation: "ListTranscriptionJobs", path: "/", httpMethod: "POST", input: input) + } + + /// Starts an asynchronous job to transcribe speech to text. + public func startTranscriptionJob(_ input: StartTranscriptionJobRequest) throws -> StartTranscriptionJobResponse { + return try client.send(operation: "StartTranscriptionJob", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes a vocabulary from Amazon Transcribe. + public func deleteVocabulary(_ input: DeleteVocabularyRequest) throws { + _ = try client.send(operation: "DeleteVocabulary", path: "/", httpMethod: "POST", input: input) + } + + /// Returns a list of vocabularies that match the specified criteria. If no criteria are specified, returns the entire list of vocabularies. + public func listVocabularies(_ input: ListVocabulariesRequest) throws -> ListVocabulariesResponse { + return try client.send(operation: "ListVocabularies", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func updateVocabulary(_ input: UpdateVocabularyRequest) throws -> UpdateVocabularyResponse { + return try client.send(operation: "UpdateVocabulary", path: "/", httpMethod: "POST", input: input) + } + + /// Creates a new custom vocabulary that you can use to change the way Amazon Transcribe handles transcription of an audio file. + public func createVocabulary(_ input: CreateVocabularyRequest) throws -> CreateVocabularyResponse { + return try client.send(operation: "CreateVocabulary", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func getTranscriptionJob(_ input: GetTranscriptionJobRequest) throws -> GetTranscriptionJobResponse { + return try client.send(operation: "GetTranscriptionJob", path: "/", httpMethod: "POST", input: input) + } + + /// Gets information about a vocabulary. + public func getVocabulary(_ input: GetVocabularyRequest) throws -> GetVocabularyResponse { + return try client.send(operation: "GetVocabulary", path: "/", httpMethod: "POST", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/transcribe/Transcribe_Error.swift b/Sources/AWSSDKSwift/Services/transcribe/Transcribe_Error.swift new file mode 100644 index 00000000000..86116ec94a6 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/transcribe/Transcribe_Error.swift @@ -0,0 +1,35 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Transcribe +public enum TranscribeError: AWSErrorType { + case badRequestException(message: String?) + case limitExceededException(message: String?) + case internalFailureException(message: String?) + case conflictException(message: String?) + case notFoundException(message: String?) +} + +extension TranscribeError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "BadRequestException": + self = .badRequestException(message: message) + case "LimitExceededException": + self = .limitExceededException(message: message) + case "InternalFailureException": + self = .internalFailureException(message: message) + case "ConflictException": + self = .conflictException(message: message) + case "NotFoundException": + self = .notFoundException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/transcribe/Transcribe_Shapes.swift b/Sources/AWSSDKSwift/Services/transcribe/Transcribe_Shapes.swift new file mode 100644 index 00000000000..1dc734a4b4d --- /dev/null +++ b/Sources/AWSSDKSwift/Services/transcribe/Transcribe_Shapes.swift @@ -0,0 +1,648 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Transcribe { + + public struct Transcript: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TranscriptFileUri", required: false, type: .string) + ] + /// 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. + public let transcriptFileUri: String? + + public init(transcriptFileUri: String? = nil) { + self.transcriptFileUri = transcriptFileUri + } + + private enum CodingKeys: String, CodingKey { + case transcriptFileUri = "TranscriptFileUri" + } + } + + public struct GetTranscriptionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TranscriptionJob", required: false, type: .structure) + ] + /// An object that contains the results of the transcription job. + public let transcriptionJob: TranscriptionJob? + + public init(transcriptionJob: TranscriptionJob? = nil) { + self.transcriptionJob = transcriptionJob + } + + private enum CodingKeys: String, CodingKey { + case transcriptionJob = "TranscriptionJob" + } + } + + public struct CreateVocabularyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LanguageCode", required: true, type: .enum), + AWSShapeMember(label: "VocabularyName", required: true, type: .string), + AWSShapeMember(label: "Phrases", required: true, type: .list) + ] + /// The language code of the vocabulary entries. + public let languageCode: LanguageCode + /// The name of the vocabulary. The name must be unique within an AWS account. The name is case-sensitive. + public let vocabularyName: String + /// An array of strings that contains the vocabulary entries. + public let phrases: [String] + + public init(languageCode: LanguageCode, vocabularyName: String, phrases: [String]) { + self.languageCode = languageCode + self.vocabularyName = vocabularyName + self.phrases = phrases + } + + private enum CodingKeys: String, CodingKey { + case languageCode = "LanguageCode" + case vocabularyName = "VocabularyName" + case phrases = "Phrases" + } + } + + public struct UpdateVocabularyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LanguageCode", required: true, type: .enum), + AWSShapeMember(label: "VocabularyName", required: true, type: .string), + AWSShapeMember(label: "Phrases", required: true, type: .list) + ] + /// The language code of the vocabulary entries. + public let languageCode: LanguageCode + /// The name of the vocabulary to update. The name is case-sensitive. + public let vocabularyName: String + /// An array of strings containing the vocabulary entries. + public let phrases: [String] + + public init(languageCode: LanguageCode, vocabularyName: String, phrases: [String]) { + self.languageCode = languageCode + self.vocabularyName = vocabularyName + self.phrases = phrases + } + + private enum CodingKeys: String, CodingKey { + case languageCode = "LanguageCode" + case vocabularyName = "VocabularyName" + case phrases = "Phrases" + } + } + + public struct Settings: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VocabularyName", required: false, type: .string), + AWSShapeMember(label: "MaxSpeakerLabels", required: false, type: .integer), + AWSShapeMember(label: "ShowSpeakerLabels", required: false, type: .boolean), + AWSShapeMember(label: "ChannelIdentification", required: false, type: .boolean) + ] + /// The name of a vocabulary to use when processing the transcription job. + public let vocabularyName: String? + /// 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. + public let maxSpeakerLabels: Int32? + /// 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. + public let showSpeakerLabels: Bool? + /// 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. + public let channelIdentification: Bool? + + public init(vocabularyName: String? = nil, maxSpeakerLabels: Int32? = nil, showSpeakerLabels: Bool? = nil, channelIdentification: Bool? = nil) { + self.vocabularyName = vocabularyName + self.maxSpeakerLabels = maxSpeakerLabels + self.showSpeakerLabels = showSpeakerLabels + self.channelIdentification = channelIdentification + } + + private enum CodingKeys: String, CodingKey { + case vocabularyName = "VocabularyName" + case maxSpeakerLabels = "MaxSpeakerLabels" + case showSpeakerLabels = "ShowSpeakerLabels" + case channelIdentification = "ChannelIdentification" + } + } + + public struct GetVocabularyResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), + AWSShapeMember(label: "VocabularyName", required: false, type: .string), + AWSShapeMember(label: "VocabularyState", required: false, type: .enum), + AWSShapeMember(label: "DownloadUri", required: false, type: .string), + AWSShapeMember(label: "FailureReason", required: false, type: .string), + AWSShapeMember(label: "LanguageCode", required: false, type: .enum) + ] + /// The date and time that the vocabulary was last modified. + public let lastModifiedTime: TimeStamp? + /// The name of the vocabulary to return. + public let vocabularyName: String? + /// The processing state of the vocabulary. + public let vocabularyState: VocabularyState? + /// 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. + public let downloadUri: String? + /// If the VocabularyState field is FAILED, this field contains information about why the job failed. + public let failureReason: String? + /// The language code of the vocabulary entries. + public let languageCode: LanguageCode? + + public init(lastModifiedTime: TimeStamp? = nil, vocabularyName: String? = nil, vocabularyState: VocabularyState? = nil, downloadUri: String? = nil, failureReason: String? = nil, languageCode: LanguageCode? = nil) { + self.lastModifiedTime = lastModifiedTime + self.vocabularyName = vocabularyName + self.vocabularyState = vocabularyState + self.downloadUri = downloadUri + self.failureReason = failureReason + self.languageCode = languageCode + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case vocabularyName = "VocabularyName" + case vocabularyState = "VocabularyState" + case downloadUri = "DownloadUri" + case failureReason = "FailureReason" + case languageCode = "LanguageCode" + } + } + + public struct ListVocabulariesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Vocabularies", required: false, type: .list) + ] + /// The requested vocabulary state. + public let status: TranscriptionJobStatus? + /// 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. + public let nextToken: String? + /// A list of objects that describe the vocabularies that match the search criteria in the request. + public let vocabularies: [VocabularyInfo]? + + public init(status: TranscriptionJobStatus? = nil, nextToken: String? = nil, vocabularies: [VocabularyInfo]? = nil) { + self.status = status + self.nextToken = nextToken + self.vocabularies = vocabularies + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case nextToken = "NextToken" + case vocabularies = "Vocabularies" + } + } + + public struct DeleteVocabularyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VocabularyName", required: true, type: .string) + ] + /// The name of the vocabulary to delete. + public let vocabularyName: String + + public init(vocabularyName: String) { + self.vocabularyName = vocabularyName + } + + private enum CodingKeys: String, CodingKey { + case vocabularyName = "VocabularyName" + } + } + + public struct StartTranscriptionJobResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TranscriptionJob", required: false, type: .structure) + ] + /// An object containing details of the asynchronous transcription job. + public let transcriptionJob: TranscriptionJob? + + public init(transcriptionJob: TranscriptionJob? = nil) { + self.transcriptionJob = transcriptionJob + } + + private enum CodingKeys: String, CodingKey { + case transcriptionJob = "TranscriptionJob" + } + } + + public struct GetTranscriptionJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "TranscriptionJobName", required: true, type: .string) + ] + /// The name of the job. + public let transcriptionJobName: String + + public init(transcriptionJobName: String) { + self.transcriptionJobName = transcriptionJobName + } + + private enum CodingKeys: String, CodingKey { + case transcriptionJobName = "TranscriptionJobName" + } + } + + public struct Media: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "MediaFileUri", required: false, type: .string) + ] + /// 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. + public let mediaFileUri: String? + + public init(mediaFileUri: String? = nil) { + self.mediaFileUri = mediaFileUri + } + + private enum CodingKeys: String, CodingKey { + case mediaFileUri = "MediaFileUri" + } + } + + public enum MediaFormat: String, CustomStringConvertible, Codable { + case mp3 = "mp3" + case mp4 = "mp4" + case wav = "wav" + case flac = "flac" + public var description: String { return self.rawValue } + } + + public struct GetVocabularyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "VocabularyName", required: true, type: .string) + ] + /// The name of the vocabulary to return information about. The name is case-sensitive. + public let vocabularyName: String + + public init(vocabularyName: String) { + self.vocabularyName = vocabularyName + } + + private enum CodingKeys: String, CodingKey { + case vocabularyName = "VocabularyName" + } + } + + public enum LanguageCode: String, CustomStringConvertible, Codable { + case enUs = "en-US" + case esUs = "es-US" + public var description: String { return self.rawValue } + } + + public struct ListTranscriptionJobsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "JobNameContains", required: false, type: .string), + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// When specified, the jobs returned in the list are limited to jobs whose name contains the specified string. + public let jobNameContains: String? + /// When specified, returns only transcription jobs with the specified status. + public let status: TranscriptionJobStatus? + /// If the result of the previous request to ListTranscriptionJobs was truncated, include the NextToken to fetch the next set of jobs. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(jobNameContains: String? = nil, status: TranscriptionJobStatus? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.jobNameContains = jobNameContains + self.status = status + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case jobNameContains = "JobNameContains" + case status = "Status" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct ListTranscriptionJobsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "TranscriptionJobSummaries", required: false, type: .list) + ] + /// The requested status of the jobs returned. + public let status: TranscriptionJobStatus? + /// 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. + public let nextToken: String? + /// A list of objects containing summary information for a transcription job. + public let transcriptionJobSummaries: [TranscriptionJobSummary]? + + public init(status: TranscriptionJobStatus? = nil, nextToken: String? = nil, transcriptionJobSummaries: [TranscriptionJobSummary]? = nil) { + self.status = status + self.nextToken = nextToken + self.transcriptionJobSummaries = transcriptionJobSummaries + } + + private enum CodingKeys: String, CodingKey { + case status = "Status" + case nextToken = "NextToken" + case transcriptionJobSummaries = "TranscriptionJobSummaries" + } + } + + public struct StartTranscriptionJobRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LanguageCode", required: true, type: .enum), + AWSShapeMember(label: "TranscriptionJobName", required: true, type: .string), + AWSShapeMember(label: "OutputBucketName", required: false, type: .string), + AWSShapeMember(label: "MediaSampleRateHertz", required: false, type: .integer), + AWSShapeMember(label: "Settings", required: false, type: .structure), + AWSShapeMember(label: "Media", required: true, type: .structure), + AWSShapeMember(label: "MediaFormat", required: true, type: .enum) + ] + /// The language code for the language used in the input media file. + public let languageCode: LanguageCode + /// 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. + public let transcriptionJobName: String + /// 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. + public let outputBucketName: String? + /// The sample rate, in Hertz, of the audio track in the input media file. + public let mediaSampleRateHertz: Int32? + /// A Settings object that provides optional settings for a transcription job. + public let settings: Settings? + /// An object that describes the input media for a transcription job. + public let media: Media + /// The format of the input media file. + public let mediaFormat: MediaFormat + + public init(languageCode: LanguageCode, transcriptionJobName: String, outputBucketName: String? = nil, mediaSampleRateHertz: Int32? = nil, settings: Settings? = nil, media: Media, mediaFormat: MediaFormat) { + self.languageCode = languageCode + self.transcriptionJobName = transcriptionJobName + self.outputBucketName = outputBucketName + self.mediaSampleRateHertz = mediaSampleRateHertz + self.settings = settings + self.media = media + self.mediaFormat = mediaFormat + } + + private enum CodingKeys: String, CodingKey { + case languageCode = "LanguageCode" + case transcriptionJobName = "TranscriptionJobName" + case outputBucketName = "OutputBucketName" + case mediaSampleRateHertz = "MediaSampleRateHertz" + case settings = "Settings" + case media = "Media" + case mediaFormat = "MediaFormat" + } + } + + public struct TranscriptionJobSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OutputLocationType", required: false, type: .enum), + AWSShapeMember(label: "TranscriptionJobStatus", required: false, type: .enum), + AWSShapeMember(label: "LanguageCode", required: false, type: .enum), + AWSShapeMember(label: "TranscriptionJobName", required: false, type: .string), + AWSShapeMember(label: "CompletionTime", required: false, type: .timestamp), + AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), + AWSShapeMember(label: "FailureReason", required: false, type: .string) + ] + /// 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. + public let outputLocationType: OutputLocationType? + /// The status of the transcription job. When the status is COMPLETED, use the GetTranscriptionJob operation to get the results of the transcription. + public let transcriptionJobStatus: TranscriptionJobStatus? + /// The language code for the input speech. + public let languageCode: LanguageCode? + /// The name of the transcription job. + public let transcriptionJobName: String? + /// A timestamp that shows when the job was completed. + public let completionTime: TimeStamp? + /// A timestamp that shows when the job was created. + public let creationTime: TimeStamp? + /// If the TranscriptionJobStatus field is FAILED, a description of the error. + public let failureReason: String? + + public init(outputLocationType: OutputLocationType? = nil, transcriptionJobStatus: TranscriptionJobStatus? = nil, languageCode: LanguageCode? = nil, transcriptionJobName: String? = nil, completionTime: TimeStamp? = nil, creationTime: TimeStamp? = nil, failureReason: String? = nil) { + self.outputLocationType = outputLocationType + self.transcriptionJobStatus = transcriptionJobStatus + self.languageCode = languageCode + self.transcriptionJobName = transcriptionJobName + self.completionTime = completionTime + self.creationTime = creationTime + self.failureReason = failureReason + } + + private enum CodingKeys: String, CodingKey { + case outputLocationType = "OutputLocationType" + case transcriptionJobStatus = "TranscriptionJobStatus" + case languageCode = "LanguageCode" + case transcriptionJobName = "TranscriptionJobName" + case completionTime = "CompletionTime" + case creationTime = "CreationTime" + case failureReason = "FailureReason" + } + } + + public struct CreateVocabularyResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), + AWSShapeMember(label: "VocabularyName", required: false, type: .string), + AWSShapeMember(label: "VocabularyState", required: false, type: .enum), + AWSShapeMember(label: "FailureReason", required: false, type: .string), + AWSShapeMember(label: "LanguageCode", required: false, type: .enum) + ] + /// The date and time that the vocabulary was created. + public let lastModifiedTime: TimeStamp? + /// The name of the vocabulary. + public let vocabularyName: String? + /// The processing state of the vocabulary. When the VocabularyState field contains READY the vocabulary is ready to be used in a StartTranscriptionJob request. + public let vocabularyState: VocabularyState? + /// If the VocabularyState field is FAILED, this field contains information about why the job failed. + public let failureReason: String? + /// The language code of the vocabulary entries. + public let languageCode: LanguageCode? + + public init(lastModifiedTime: TimeStamp? = nil, vocabularyName: String? = nil, vocabularyState: VocabularyState? = nil, failureReason: String? = nil, languageCode: LanguageCode? = nil) { + self.lastModifiedTime = lastModifiedTime + self.vocabularyName = vocabularyName + self.vocabularyState = vocabularyState + self.failureReason = failureReason + self.languageCode = languageCode + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case vocabularyName = "VocabularyName" + case vocabularyState = "VocabularyState" + case failureReason = "FailureReason" + case languageCode = "LanguageCode" + } + } + + public enum OutputLocationType: String, CustomStringConvertible, Codable { + case customerBucket = "CUSTOMER_BUCKET" + case serviceBucket = "SERVICE_BUCKET" + public var description: String { return self.rawValue } + } + + public enum VocabularyState: String, CustomStringConvertible, Codable { + case pending = "PENDING" + case ready = "READY" + case failed = "FAILED" + public var description: String { return self.rawValue } + } + + public struct UpdateVocabularyResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), + AWSShapeMember(label: "VocabularyName", required: false, type: .string), + AWSShapeMember(label: "VocabularyState", required: false, type: .enum), + AWSShapeMember(label: "LanguageCode", required: false, type: .enum) + ] + /// The date and time that the vocabulary was updated. + public let lastModifiedTime: TimeStamp? + /// The name of the vocabulary that was updated. + public let vocabularyName: String? + /// The processing state of the vocabulary. When the VocabularyState field contains READY the vocabulary is ready to be used in a StartTranscriptionJob request. + public let vocabularyState: VocabularyState? + /// The language code of the vocabulary entries. + public let languageCode: LanguageCode? + + public init(lastModifiedTime: TimeStamp? = nil, vocabularyName: String? = nil, vocabularyState: VocabularyState? = nil, languageCode: LanguageCode? = nil) { + self.lastModifiedTime = lastModifiedTime + self.vocabularyName = vocabularyName + self.vocabularyState = vocabularyState + self.languageCode = languageCode + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case vocabularyName = "VocabularyName" + case vocabularyState = "VocabularyState" + case languageCode = "LanguageCode" + } + } + + public struct TranscriptionJob: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CompletionTime", required: false, type: .timestamp), + AWSShapeMember(label: "TranscriptionJobStatus", required: false, type: .enum), + AWSShapeMember(label: "MediaSampleRateHertz", required: false, type: .integer), + AWSShapeMember(label: "LanguageCode", required: false, type: .enum), + AWSShapeMember(label: "TranscriptionJobName", required: false, type: .string), + AWSShapeMember(label: "CreationTime", required: false, type: .timestamp), + AWSShapeMember(label: "Transcript", required: false, type: .structure), + AWSShapeMember(label: "Settings", required: false, type: .structure), + AWSShapeMember(label: "FailureReason", required: false, type: .string), + AWSShapeMember(label: "Media", required: false, type: .structure), + AWSShapeMember(label: "MediaFormat", required: false, type: .enum) + ] + /// A timestamp that shows when the job was completed. + public let completionTime: TimeStamp? + /// The status of the transcription job. + public let transcriptionJobStatus: TranscriptionJobStatus? + /// The sample rate, in Hertz, of the audio track in the input media file. + public let mediaSampleRateHertz: Int32? + /// The language code for the input speech. + public let languageCode: LanguageCode? + /// The name of the transcription job. + public let transcriptionJobName: String? + /// A timestamp that shows when the job was created. + public let creationTime: TimeStamp? + /// An object that describes the output of the transcription job. + public let transcript: Transcript? + /// 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. + public let settings: Settings? + /// If the TranscriptionJobStatus field is FAILED, this field contains information about why the job failed. + public let failureReason: String? + /// An object that describes the input media for the transcription job. + public let media: Media? + /// The format of the input media file. + public let mediaFormat: MediaFormat? + + public init(completionTime: TimeStamp? = nil, transcriptionJobStatus: TranscriptionJobStatus? = nil, mediaSampleRateHertz: Int32? = nil, languageCode: LanguageCode? = nil, transcriptionJobName: String? = nil, creationTime: TimeStamp? = nil, transcript: Transcript? = nil, settings: Settings? = nil, failureReason: String? = nil, media: Media? = nil, mediaFormat: MediaFormat? = nil) { + self.completionTime = completionTime + self.transcriptionJobStatus = transcriptionJobStatus + self.mediaSampleRateHertz = mediaSampleRateHertz + self.languageCode = languageCode + self.transcriptionJobName = transcriptionJobName + self.creationTime = creationTime + self.transcript = transcript + self.settings = settings + self.failureReason = failureReason + self.media = media + self.mediaFormat = mediaFormat + } + + private enum CodingKeys: String, CodingKey { + case completionTime = "CompletionTime" + case transcriptionJobStatus = "TranscriptionJobStatus" + case mediaSampleRateHertz = "MediaSampleRateHertz" + case languageCode = "LanguageCode" + case transcriptionJobName = "TranscriptionJobName" + case creationTime = "CreationTime" + case transcript = "Transcript" + case settings = "Settings" + case failureReason = "FailureReason" + case media = "Media" + case mediaFormat = "MediaFormat" + } + } + + public struct ListVocabulariesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "StateEquals", required: false, type: .enum), + AWSShapeMember(label: "NameContains", required: false, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// When specified, only returns vocabularies with the VocabularyState field equal to the specified state. + public let stateEquals: VocabularyState? + /// 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. + public let nameContains: String? + /// If the result of the previous request to ListVocabularies was truncated, include the NextToken to fetch the next set of jobs. + public let nextToken: String? + /// 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. + public let maxResults: Int32? + + public init(stateEquals: VocabularyState? = nil, nameContains: String? = nil, nextToken: String? = nil, maxResults: Int32? = nil) { + self.stateEquals = stateEquals + self.nameContains = nameContains + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case stateEquals = "StateEquals" + case nameContains = "NameContains" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public enum TranscriptionJobStatus: String, CustomStringConvertible, Codable { + case inProgress = "IN_PROGRESS" + case failed = "FAILED" + case completed = "COMPLETED" + public var description: String { return self.rawValue } + } + + public struct VocabularyInfo: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "LastModifiedTime", required: false, type: .timestamp), + AWSShapeMember(label: "VocabularyName", required: false, type: .string), + AWSShapeMember(label: "VocabularyState", required: false, type: .enum), + AWSShapeMember(label: "LanguageCode", required: false, type: .enum) + ] + /// The date and time that the vocabulary was last modified. + public let lastModifiedTime: TimeStamp? + /// The name of the vocabulary. + public let vocabularyName: String? + /// The processing state of the vocabulary. If the state is READY you can use the vocabulary in a StartTranscriptionJob request. + public let vocabularyState: VocabularyState? + /// The language code of the vocabulary entries. + public let languageCode: LanguageCode? + + public init(lastModifiedTime: TimeStamp? = nil, vocabularyName: String? = nil, vocabularyState: VocabularyState? = nil, languageCode: LanguageCode? = nil) { + self.lastModifiedTime = lastModifiedTime + self.vocabularyName = vocabularyName + self.vocabularyState = vocabularyState + self.languageCode = languageCode + } + + private enum CodingKeys: String, CodingKey { + case lastModifiedTime = "LastModifiedTime" + case vocabularyName = "VocabularyName" + case vocabularyState = "VocabularyState" + case languageCode = "LanguageCode" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/translate/Translate_API.swift b/Sources/AWSSDKSwift/Services/translate/Translate_API.swift index abedbaed7b3..488b6754a63 100644 --- a/Sources/AWSSDKSwift/Services/translate/Translate_API.swift +++ b/Sources/AWSSDKSwift/Services/translate/Translate_API.swift @@ -25,7 +25,7 @@ public struct Translate { ) } - /// 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) + /// 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. public func translateText(_ input: TranslateTextRequest) throws -> TranslateTextResponse { return try client.send(operation: "TranslateText", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/translate/Translate_Error.swift b/Sources/AWSSDKSwift/Services/translate/Translate_Error.swift index 8cc6da64ebd..68fbae4dc2e 100644 --- a/Sources/AWSSDKSwift/Services/translate/Translate_Error.swift +++ b/Sources/AWSSDKSwift/Services/translate/Translate_Error.swift @@ -8,6 +8,7 @@ public enum TranslateError: AWSErrorType { case textSizeLimitExceededException(message: String?) case tooManyRequestsException(message: String?) case unsupportedLanguagePairException(message: String?) + case detectedLanguageLowConfidenceException(message: String?) case internalServerException(message: String?) case serviceUnavailableException(message: String?) } @@ -27,6 +28,8 @@ extension TranslateError { self = .tooManyRequestsException(message: message) case "UnsupportedLanguagePairException": self = .unsupportedLanguagePairException(message: message) + case "DetectedLanguageLowConfidenceException": + self = .detectedLanguageLowConfidenceException(message: message) case "InternalServerException": self = .internalServerException(message: message) case "ServiceUnavailableException": diff --git a/Sources/AWSSDKSwift/Services/translate/Translate_Shapes.swift b/Sources/AWSSDKSwift/Services/translate/Translate_Shapes.swift index e26aa131122..58bbe37d105 100644 --- a/Sources/AWSSDKSwift/Services/translate/Translate_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/translate/Translate_Shapes.swift @@ -11,7 +11,7 @@ extension Translate { AWSShapeMember(label: "Text", required: true, type: .string), AWSShapeMember(label: "TargetLanguageCode", required: true, type: .string) ] - /// One of the supported language codes for the source text. If the TargetLanguageCode is not "en", the SourceLanguageCode must be "en". + /// 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. public let sourceLanguageCode: String /// The text to translate. public let text: String diff --git a/Sources/AWSSDKSwift/Services/waf-regional/WafRegional_API.swift b/Sources/AWSSDKSwift/Services/waf-regional/WafRegional_API.swift index f171dcfc9bc..40caa2a625e 100644 --- a/Sources/AWSSDKSwift/Services/waf-regional/WafRegional_API.swift +++ b/Sources/AWSSDKSwift/Services/waf-regional/WafRegional_API.swift @@ -130,6 +130,11 @@ public struct WafRegional { return try client.send(operation: "AssociateWebACL", path: "/", httpMethod: "POST", input: input) } + /// Permanently deletes an IAM policy from the specified RuleGroup. The user making the request must be the owner of the RuleGroup. + public func deletePermissionPolicy(_ input: DeletePermissionPolicyRequest) throws -> DeletePermissionPolicyResponse { + return try client.send(operation: "DeletePermissionPolicy", path: "/", httpMethod: "POST", input: input) + } + /// Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values: Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate object, you delete the existing object and add a new one. The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the User-Agent header. Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192 bytes of your request to AWS WAF. A ComparisonOperator used for evaluating the selected part of the request against the specified Size, such as equals, greater than, less than, and so on. The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation. For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests. To create and configure a SizeConstraintSet, perform the following steps: Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request. 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. public func updateSizeConstraintSet(_ input: UpdateSizeConstraintSetRequest) throws -> UpdateSizeConstraintSetResponse { return try client.send(operation: "UpdateSizeConstraintSet", path: "/", httpMethod: "POST", input: input) @@ -170,6 +175,11 @@ public struct WafRegional { return try client.send(operation: "GetXssMatchSet", path: "/", httpMethod: "POST", input: input) } + /// Returns the IAM policy attached to the RuleGroup. + public func getPermissionPolicy(_ input: GetPermissionPolicyRequest) throws -> GetPermissionPolicyResponse { + return try client.send(operation: "GetPermissionPolicy", path: "/", httpMethod: "POST", input: input) + } + /// Returns the WebACL that is specified by WebACLId. public func getWebACL(_ input: GetWebACLRequest) throws -> GetWebACLResponse { return try client.send(operation: "GetWebACL", path: "/", httpMethod: "POST", input: input) @@ -365,6 +375,11 @@ public struct WafRegional { return try client.send(operation: "ListGeoMatchSets", path: "/", httpMethod: "POST", input: input) } + /// 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 and waf-regional:UpdateWebACL. 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. + public func putPermissionPolicy(_ input: PutPermissionPolicyRequest) throws -> PutPermissionPolicyResponse { + return try client.send(operation: "PutPermissionPolicy", path: "/", httpMethod: "POST", input: input) + } + /// 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: Update the SqlInjectionMatchSet to remove filters, if any. For more information, see UpdateSqlInjectionMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSqlInjectionMatchSet request. Submit a DeleteSqlInjectionMatchSet request. public func deleteSqlInjectionMatchSet(_ input: DeleteSqlInjectionMatchSetRequest) throws -> DeleteSqlInjectionMatchSetResponse { return try client.send(operation: "DeleteSqlInjectionMatchSet", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/waf-regional/WafRegional_Error.swift b/Sources/AWSSDKSwift/Services/waf-regional/WafRegional_Error.swift index 7b435f0948b..bf08551b206 100644 --- a/Sources/AWSSDKSwift/Services/waf-regional/WafRegional_Error.swift +++ b/Sources/AWSSDKSwift/Services/waf-regional/WafRegional_Error.swift @@ -18,6 +18,7 @@ public enum WafRegionalError: AWSErrorType { case wAFSubscriptionNotFoundException(message: String?) case wAFUnavailableEntityException(message: String?) case wAFInvalidRegexPatternException(message: String?) + case wAFInvalidPermissionPolicyException(message: String?) } extension WafRegionalError { @@ -55,6 +56,8 @@ extension WafRegionalError { self = .wAFUnavailableEntityException(message: message) case "WAFInvalidRegexPatternException": self = .wAFInvalidRegexPatternException(message: message) + case "WAFInvalidPermissionPolicyException": + self = .wAFInvalidPermissionPolicyException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/waf-regional/WafRegional_Shapes.swift b/Sources/AWSSDKSwift/Services/waf-regional/WafRegional_Shapes.swift index a9d4543c5e0..9b37ba39155 100644 --- a/Sources/AWSSDKSwift/Services/waf-regional/WafRegional_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/waf-regional/WafRegional_Shapes.swift @@ -151,11 +151,11 @@ extension WafRegional { ] /// 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. public let priority: Int32 - /// 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. The OverrideAction data type within ActivatedRule is used only when submitting an UpdateRuleGroup request. ActivatedRule|OverrideAction is not applicable and therefore not available for UpdateWebACL. + /// 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. public let overrideAction: WafOverrideAction? /// 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. public let `type`: WafRuleType? - /// 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. The Action data type within ActivatedRule is used only when submitting an UpdateWebACL request. ActivatedRule|Action is not applicable and therefore not available for UpdateRuleGroup. + /// 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. public let action: WafAction? /// 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. public let ruleId: String @@ -935,6 +935,27 @@ extension WafRegional { } } + public struct PutPermissionPolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Policy", required: true, type: .string), + AWSShapeMember(label: "ResourceArn", required: true, type: .string) + ] + /// The policy to attach to the specified RuleGroup. + public let policy: String + /// The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy. + public let resourceArn: String + + public init(policy: String, resourceArn: String) { + self.policy = policy + self.resourceArn = resourceArn + } + + private enum CodingKeys: String, CodingKey { + case policy = "Policy" + case resourceArn = "ResourceArn" + } + } + public struct UpdateRuleGroupRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ChangeToken", required: true, type: .string), @@ -943,7 +964,7 @@ extension WafRegional { ] /// The value returned by the most recent call to GetChangeToken. public let changeToken: String - /// 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. The Action data type within ActivatedRule is used only when submitting an UpdateWebACL request. ActivatedRule|Action is not applicable and therefore not available for UpdateRuleGroup. + /// 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. public let updates: [RuleGroupUpdate] /// The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups. public let ruleGroupId: String @@ -1230,22 +1251,6 @@ extension WafRegional { public var description: String { return self.rawValue } } - public struct ListResourcesForWebACLResponse: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ResourceArns", required: false, type: .list) - ] - /// 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. - public let resourceArns: [String]? - - public init(resourceArns: [String]? = nil) { - self.resourceArns = resourceArns - } - - private enum CodingKeys: String, CodingKey { - case resourceArns = "ResourceArns" - } - } - public struct XssMatchSetSummary: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "XssMatchSetId", required: true, type: .string), @@ -1267,6 +1272,22 @@ extension WafRegional { } } + public struct ListResourcesForWebACLResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceArns", required: false, type: .list) + ] + /// 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. + public let resourceArns: [String]? + + public init(resourceArns: [String]? = nil) { + self.resourceArns = resourceArns + } + + private enum CodingKeys: String, CodingKey { + case resourceArns = "ResourceArns" + } + } + public struct DeleteRegexMatchSetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ChangeToken", required: true, type: .string), @@ -1451,6 +1472,10 @@ extension WafRegional { } } + public struct PutPermissionPolicyResponse: AWSShape { + + } + public struct CreateXssMatchSetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ChangeToken", required: true, type: .string), @@ -1826,6 +1851,22 @@ extension WafRegional { } } + public struct DeletePermissionPolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceArn", required: true, type: .string) + ] + /// 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. + public let resourceArn: String + + public init(resourceArn: String) { + self.resourceArn = resourceArn + } + + private enum CodingKeys: String, CodingKey { + case resourceArn = "ResourceArn" + } + } + public struct IPSetSummary: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "IPSetId", required: true, type: .string), @@ -2480,6 +2521,22 @@ extension WafRegional { } } + public struct GetPermissionPolicyResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Policy", required: false, type: .string) + ] + /// The IAM policy attached to the specified RuleGroup. + public let policy: String? + + public init(policy: String? = nil) { + self.policy = policy + } + + private enum CodingKeys: String, CodingKey { + case policy = "Policy" + } + } + public struct WebACLUpdate: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Action", required: true, type: .enum), @@ -2962,6 +3019,22 @@ extension WafRegional { } } + public struct GetPermissionPolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceArn", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) of the RuleGroup for which you want to get the policy. + public let resourceArn: String + + public init(resourceArn: String) { + self.resourceArn = resourceArn + } + + private enum CodingKeys: String, CodingKey { + case resourceArn = "ResourceArn" + } + } + public enum IPSetDescriptorType: String, CustomStringConvertible, Codable { case ipv4 = "IPV4" case ipv6 = "IPV6" @@ -3288,24 +3361,24 @@ extension WafRegional { } } - public struct DeleteSqlInjectionMatchSetRequest: AWSShape { + public struct CreateWebACLResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ChangeToken", required: true, type: .string), - AWSShapeMember(label: "SqlInjectionMatchSetId", required: true, type: .string) + AWSShapeMember(label: "ChangeToken", required: false, type: .string), + AWSShapeMember(label: "WebACL", required: false, type: .structure) ] - /// The value returned by the most recent call to GetChangeToken. - public let changeToken: String - /// The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. - public let sqlInjectionMatchSetId: String + /// 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. + public let changeToken: String? + /// The WebACL returned in the CreateWebACL response. + public let webACL: WebACL? - public init(changeToken: String, sqlInjectionMatchSetId: String) { + public init(changeToken: String? = nil, webACL: WebACL? = nil) { self.changeToken = changeToken - self.sqlInjectionMatchSetId = sqlInjectionMatchSetId + self.webACL = webACL } private enum CodingKeys: String, CodingKey { case changeToken = "ChangeToken" - case sqlInjectionMatchSetId = "SqlInjectionMatchSetId" + case webACL = "WebACL" } } @@ -3330,54 +3403,54 @@ extension WafRegional { } } - public struct CreateWebACLResponse: AWSShape { + public struct DeleteSqlInjectionMatchSetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ChangeToken", required: false, type: .string), - AWSShapeMember(label: "WebACL", required: false, type: .structure) + AWSShapeMember(label: "ChangeToken", required: true, type: .string), + AWSShapeMember(label: "SqlInjectionMatchSetId", required: true, type: .string) ] - /// 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. - public let changeToken: String? - /// The WebACL returned in the CreateWebACL response. - public let webACL: WebACL? + /// The value returned by the most recent call to GetChangeToken. + public let changeToken: String + /// The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. + public let sqlInjectionMatchSetId: String - public init(changeToken: String? = nil, webACL: WebACL? = nil) { + public init(changeToken: String, sqlInjectionMatchSetId: String) { self.changeToken = changeToken - self.webACL = webACL + self.sqlInjectionMatchSetId = sqlInjectionMatchSetId } private enum CodingKeys: String, CodingKey { case changeToken = "ChangeToken" - case webACL = "WebACL" + case sqlInjectionMatchSetId = "SqlInjectionMatchSetId" } } public struct ByteMatchTuple: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FieldToMatch", required: true, type: .structure), - AWSShapeMember(label: "TargetString", required: true, type: .blob), AWSShapeMember(label: "TextTransformation", required: true, type: .enum), + AWSShapeMember(label: "TargetString", required: true, type: .blob), AWSShapeMember(label: "PositionalConstraint", required: true, type: .enum) ] /// 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. public let fieldToMatch: FieldToMatch - /// The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes. Valid values depend on the values that you specified for FieldToMatch: HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header. METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT. QUERY_STRING: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character. URI: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, /images/daily-ad.jpg. BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet. If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive. If you're using the AWS WAF API Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes. For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64 encoding and include the resulting value, QmFkQm90, in the value of TargetString. If you're using the AWS CLI or one of the AWS SDKs The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value. - public let targetString: Data /// Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on TargetString before inspecting a request for a match. CMD_LINE When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: Delete the following characters: \ " ' ^ Delete spaces before the following characters: / ( Replace the following characters with a space: , ; Replace multiple spaces with one space Convert uppercase letters (A-Z) to lowercase (a-z) COMPRESS_WHITE_SPACE Use this option to replace the following characters with a space character (decimal 32): \f, formfeed, decimal 12 \t, tab, decimal 9 \n, newline, decimal 10 \r, carriage return, decimal 13 \v, vertical tab, decimal 11 non-breaking space, decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. HTML_ENTITY_DECODE Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations: Replaces (ampersand)quot; with " Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 Replaces (ampersand)lt; with a "less than" symbol Replaces (ampersand)gt; with > Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters LOWERCASE Use this option to convert uppercase letters (A-Z) to lowercase (a-z). URL_DECODE Use this option to decode a URL-encoded value. NONE Specify NONE if you don't want to perform any text transformations. public let textTransformation: TextTransformation + /// The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes. Valid values depend on the values that you specified for FieldToMatch: HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header. METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT. QUERY_STRING: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character. URI: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, /images/daily-ad.jpg. BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet. If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive. If you're using the AWS WAF API Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes. For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64 encoding and include the resulting value, QmFkQm90, in the value of TargetString. If you're using the AWS CLI or one of the AWS SDKs The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value. + public let targetString: Data /// 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. public let positionalConstraint: PositionalConstraint - public init(fieldToMatch: FieldToMatch, targetString: Data, textTransformation: TextTransformation, positionalConstraint: PositionalConstraint) { + public init(fieldToMatch: FieldToMatch, textTransformation: TextTransformation, targetString: Data, positionalConstraint: PositionalConstraint) { self.fieldToMatch = fieldToMatch - self.targetString = targetString self.textTransformation = textTransformation + self.targetString = targetString self.positionalConstraint = positionalConstraint } private enum CodingKeys: String, CodingKey { case fieldToMatch = "FieldToMatch" - case targetString = "TargetString" case textTransformation = "TextTransformation" + case targetString = "TargetString" case positionalConstraint = "PositionalConstraint" } } @@ -3703,6 +3776,10 @@ extension WafRegional { } } + public struct DeletePermissionPolicyResponse: AWSShape { + + } + public struct SampledHTTPRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RuleWithinRuleGroup", required: false, type: .string), @@ -3889,7 +3966,7 @@ extension WafRegional { ] /// 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. public let defaultAction: WafAction? - /// 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, Priority, RuleId, and Type. The OverrideAction data type within ActivatedRule is used only when submitting an UpdateRuleGroup request. ActivatedRule|OverrideAction is not applicable and therefore not available for UpdateWebACL. WafAction: Contains Type + /// 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 public let updates: [WebACLUpdate]? /// The value returned by the most recent call to GetChangeToken. public let changeToken: String diff --git a/Sources/AWSSDKSwift/Services/waf/Waf_API.swift b/Sources/AWSSDKSwift/Services/waf/Waf_API.swift index 6f62a4c5012..289bce46f4c 100644 --- a/Sources/AWSSDKSwift/Services/waf/Waf_API.swift +++ b/Sources/AWSSDKSwift/Services/waf/Waf_API.swift @@ -127,6 +127,11 @@ public struct Waf { return try client.send(operation: "ListSqlInjectionMatchSets", path: "/", httpMethod: "POST", input: input) } + /// Permanently deletes an IAM policy from the specified RuleGroup. The user making the request must be the owner of the RuleGroup. + public func deletePermissionPolicy(_ input: DeletePermissionPolicyRequest) throws -> DeletePermissionPolicyResponse { + return try client.send(operation: "DeletePermissionPolicy", path: "/", httpMethod: "POST", input: input) + } + /// Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values: Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate object, you delete the existing object and add a new one. The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the User-Agent header. Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192 bytes of your request to AWS WAF. A ComparisonOperator used for evaluating the selected part of the request against the specified Size, such as equals, greater than, less than, and so on. The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation. For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests. To create and configure a SizeConstraintSet, perform the following steps: Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request. 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. public func updateSizeConstraintSet(_ input: UpdateSizeConstraintSetRequest) throws -> UpdateSizeConstraintSetResponse { return try client.send(operation: "UpdateSizeConstraintSet", path: "/", httpMethod: "POST", input: input) @@ -157,6 +162,11 @@ public struct Waf { return try client.send(operation: "GetXssMatchSet", path: "/", httpMethod: "POST", input: input) } + /// Returns the IAM policy attached to the RuleGroup. + public func getPermissionPolicy(_ input: GetPermissionPolicyRequest) throws -> GetPermissionPolicyResponse { + return try client.send(operation: "GetPermissionPolicy", path: "/", httpMethod: "POST", input: input) + } + /// Returns the WebACL that is specified by WebACLId. public func getWebACL(_ input: GetWebACLRequest) throws -> GetWebACLResponse { return try client.send(operation: "GetWebACL", path: "/", httpMethod: "POST", input: input) @@ -347,6 +357,11 @@ public struct Waf { return try client.send(operation: "ListGeoMatchSets", path: "/", httpMethod: "POST", input: input) } + /// 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 and waf-regional:UpdateWebACL. 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. + public func putPermissionPolicy(_ input: PutPermissionPolicyRequest) throws -> PutPermissionPolicyResponse { + return try client.send(operation: "PutPermissionPolicy", path: "/", httpMethod: "POST", input: input) + } + /// 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: Update the SqlInjectionMatchSet to remove filters, if any. For more information, see UpdateSqlInjectionMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSqlInjectionMatchSet request. Submit a DeleteSqlInjectionMatchSet request. public func deleteSqlInjectionMatchSet(_ input: DeleteSqlInjectionMatchSetRequest) throws -> DeleteSqlInjectionMatchSetResponse { return try client.send(operation: "DeleteSqlInjectionMatchSet", path: "/", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/waf/Waf_Error.swift b/Sources/AWSSDKSwift/Services/waf/Waf_Error.swift index 0c82dcc0110..ff36376d564 100644 --- a/Sources/AWSSDKSwift/Services/waf/Waf_Error.swift +++ b/Sources/AWSSDKSwift/Services/waf/Waf_Error.swift @@ -17,6 +17,7 @@ public enum WafError: AWSErrorType { case wAFDisallowedNameException(message: String?) case wAFSubscriptionNotFoundException(message: String?) case wAFInvalidRegexPatternException(message: String?) + case wAFInvalidPermissionPolicyException(message: String?) } extension WafError { @@ -52,6 +53,8 @@ extension WafError { self = .wAFSubscriptionNotFoundException(message: message) case "WAFInvalidRegexPatternException": self = .wAFInvalidRegexPatternException(message: message) + case "WAFInvalidPermissionPolicyException": + self = .wAFInvalidPermissionPolicyException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/waf/Waf_Shapes.swift b/Sources/AWSSDKSwift/Services/waf/Waf_Shapes.swift index 3cfcd07b2ac..3bb4d83ab52 100644 --- a/Sources/AWSSDKSwift/Services/waf/Waf_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/waf/Waf_Shapes.swift @@ -151,11 +151,11 @@ extension Waf { ] /// 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. public let priority: Int32 - /// 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. The OverrideAction data type within ActivatedRule is used only when submitting an UpdateRuleGroup request. ActivatedRule|OverrideAction is not applicable and therefore not available for UpdateWebACL. + /// 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. public let overrideAction: WafOverrideAction? /// 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. public let `type`: WafRuleType? - /// 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. The Action data type within ActivatedRule is used only when submitting an UpdateWebACL request. ActivatedRule|Action is not applicable and therefore not available for UpdateRuleGroup. + /// 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. public let action: WafAction? /// 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. public let ruleId: String @@ -919,6 +919,27 @@ extension Waf { } } + public struct PutPermissionPolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Policy", required: true, type: .string), + AWSShapeMember(label: "ResourceArn", required: true, type: .string) + ] + /// The policy to attach to the specified RuleGroup. + public let policy: String + /// The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy. + public let resourceArn: String + + public init(policy: String, resourceArn: String) { + self.policy = policy + self.resourceArn = resourceArn + } + + private enum CodingKeys: String, CodingKey { + case policy = "Policy" + case resourceArn = "ResourceArn" + } + } + public struct UpdateRuleGroupRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ChangeToken", required: true, type: .string), @@ -927,7 +948,7 @@ extension Waf { ] /// The value returned by the most recent call to GetChangeToken. public let changeToken: String - /// 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. The Action data type within ActivatedRule is used only when submitting an UpdateWebACL request. ActivatedRule|Action is not applicable and therefore not available for UpdateRuleGroup. + /// 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. public let updates: [RuleGroupUpdate] /// The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups. public let ruleGroupId: String @@ -1214,27 +1235,6 @@ extension Waf { public var description: String { return self.rawValue } } - public struct DeleteRegexMatchSetRequest: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ChangeToken", required: true, type: .string), - AWSShapeMember(label: "RegexMatchSetId", required: true, type: .string) - ] - /// The value returned by the most recent call to GetChangeToken. - public let changeToken: String - /// The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets. - public let regexMatchSetId: String - - public init(changeToken: String, regexMatchSetId: String) { - self.changeToken = changeToken - self.regexMatchSetId = regexMatchSetId - } - - private enum CodingKeys: String, CodingKey { - case changeToken = "ChangeToken" - case regexMatchSetId = "RegexMatchSetId" - } - } - public struct XssMatchSetSummary: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "XssMatchSetId", required: true, type: .string), @@ -1256,6 +1256,27 @@ extension Waf { } } + public struct DeleteRegexMatchSetRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ChangeToken", required: true, type: .string), + AWSShapeMember(label: "RegexMatchSetId", required: true, type: .string) + ] + /// The value returned by the most recent call to GetChangeToken. + public let changeToken: String + /// The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets. + public let regexMatchSetId: String + + public init(changeToken: String, regexMatchSetId: String) { + self.changeToken = changeToken + self.regexMatchSetId = regexMatchSetId + } + + private enum CodingKeys: String, CodingKey { + case changeToken = "ChangeToken" + case regexMatchSetId = "RegexMatchSetId" + } + } + public struct SizeConstraintSetUpdate: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SizeConstraint", required: true, type: .structure), @@ -1398,6 +1419,10 @@ extension Waf { } } + public struct PutPermissionPolicyResponse: AWSShape { + + } + public struct CreateXssMatchSetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ChangeToken", required: true, type: .string), @@ -1773,6 +1798,22 @@ extension Waf { } } + public struct DeletePermissionPolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceArn", required: true, type: .string) + ] + /// 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. + public let resourceArn: String + + public init(resourceArn: String) { + self.resourceArn = resourceArn + } + + private enum CodingKeys: String, CodingKey { + case resourceArn = "ResourceArn" + } + } + public struct IPSetSummary: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "IPSetId", required: true, type: .string), @@ -2411,6 +2452,22 @@ extension Waf { } } + public struct GetPermissionPolicyResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Policy", required: false, type: .string) + ] + /// The IAM policy attached to the specified RuleGroup. + public let policy: String? + + public init(policy: String? = nil) { + self.policy = policy + } + + private enum CodingKeys: String, CodingKey { + case policy = "Policy" + } + } + public struct WebACLUpdate: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Action", required: true, type: .enum), @@ -2873,6 +2930,22 @@ extension Waf { } } + public struct GetPermissionPolicyRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceArn", required: true, type: .string) + ] + /// The Amazon Resource Name (ARN) of the RuleGroup for which you want to get the policy. + public let resourceArn: String + + public init(resourceArn: String) { + self.resourceArn = resourceArn + } + + private enum CodingKeys: String, CodingKey { + case resourceArn = "ResourceArn" + } + } + public enum IPSetDescriptorType: String, CustomStringConvertible, Codable { case ipv4 = "IPV4" case ipv6 = "IPV6" @@ -3199,24 +3272,24 @@ extension Waf { } } - public struct DeleteSqlInjectionMatchSetRequest: AWSShape { + public struct CreateWebACLResponse: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ChangeToken", required: true, type: .string), - AWSShapeMember(label: "SqlInjectionMatchSetId", required: true, type: .string) + AWSShapeMember(label: "ChangeToken", required: false, type: .string), + AWSShapeMember(label: "WebACL", required: false, type: .structure) ] - /// The value returned by the most recent call to GetChangeToken. - public let changeToken: String - /// The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. - public let sqlInjectionMatchSetId: String + /// 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. + public let changeToken: String? + /// The WebACL returned in the CreateWebACL response. + public let webACL: WebACL? - public init(changeToken: String, sqlInjectionMatchSetId: String) { + public init(changeToken: String? = nil, webACL: WebACL? = nil) { self.changeToken = changeToken - self.sqlInjectionMatchSetId = sqlInjectionMatchSetId + self.webACL = webACL } private enum CodingKeys: String, CodingKey { case changeToken = "ChangeToken" - case sqlInjectionMatchSetId = "SqlInjectionMatchSetId" + case webACL = "WebACL" } } @@ -3241,54 +3314,54 @@ extension Waf { } } - public struct CreateWebACLResponse: AWSShape { + public struct DeleteSqlInjectionMatchSetRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ChangeToken", required: false, type: .string), - AWSShapeMember(label: "WebACL", required: false, type: .structure) + AWSShapeMember(label: "ChangeToken", required: true, type: .string), + AWSShapeMember(label: "SqlInjectionMatchSetId", required: true, type: .string) ] - /// 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. - public let changeToken: String? - /// The WebACL returned in the CreateWebACL response. - public let webACL: WebACL? + /// The value returned by the most recent call to GetChangeToken. + public let changeToken: String + /// The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. + public let sqlInjectionMatchSetId: String - public init(changeToken: String? = nil, webACL: WebACL? = nil) { + public init(changeToken: String, sqlInjectionMatchSetId: String) { self.changeToken = changeToken - self.webACL = webACL + self.sqlInjectionMatchSetId = sqlInjectionMatchSetId } private enum CodingKeys: String, CodingKey { case changeToken = "ChangeToken" - case webACL = "WebACL" + case sqlInjectionMatchSetId = "SqlInjectionMatchSetId" } } public struct ByteMatchTuple: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FieldToMatch", required: true, type: .structure), - AWSShapeMember(label: "TargetString", required: true, type: .blob), AWSShapeMember(label: "TextTransformation", required: true, type: .enum), + AWSShapeMember(label: "TargetString", required: true, type: .blob), AWSShapeMember(label: "PositionalConstraint", required: true, type: .enum) ] /// 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. public let fieldToMatch: FieldToMatch - /// The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes. Valid values depend on the values that you specified for FieldToMatch: HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header. METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT. QUERY_STRING: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character. URI: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, /images/daily-ad.jpg. BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet. If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive. If you're using the AWS WAF API Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes. For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64 encoding and include the resulting value, QmFkQm90, in the value of TargetString. If you're using the AWS CLI or one of the AWS SDKs The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value. - public let targetString: Data /// Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on TargetString before inspecting a request for a match. CMD_LINE When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: Delete the following characters: \ " ' ^ Delete spaces before the following characters: / ( Replace the following characters with a space: , ; Replace multiple spaces with one space Convert uppercase letters (A-Z) to lowercase (a-z) COMPRESS_WHITE_SPACE Use this option to replace the following characters with a space character (decimal 32): \f, formfeed, decimal 12 \t, tab, decimal 9 \n, newline, decimal 10 \r, carriage return, decimal 13 \v, vertical tab, decimal 11 non-breaking space, decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. HTML_ENTITY_DECODE Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations: Replaces (ampersand)quot; with " Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 Replaces (ampersand)lt; with a "less than" symbol Replaces (ampersand)gt; with > Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters LOWERCASE Use this option to convert uppercase letters (A-Z) to lowercase (a-z). URL_DECODE Use this option to decode a URL-encoded value. NONE Specify NONE if you don't want to perform any text transformations. public let textTransformation: TextTransformation + /// The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes. Valid values depend on the values that you specified for FieldToMatch: HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header. METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT. QUERY_STRING: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character. URI: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, /images/daily-ad.jpg. BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet. If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive. If you're using the AWS WAF API Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes. For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64 encoding and include the resulting value, QmFkQm90, in the value of TargetString. If you're using the AWS CLI or one of the AWS SDKs The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value. + public let targetString: Data /// 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. public let positionalConstraint: PositionalConstraint - public init(fieldToMatch: FieldToMatch, targetString: Data, textTransformation: TextTransformation, positionalConstraint: PositionalConstraint) { + public init(fieldToMatch: FieldToMatch, textTransformation: TextTransformation, targetString: Data, positionalConstraint: PositionalConstraint) { self.fieldToMatch = fieldToMatch - self.targetString = targetString self.textTransformation = textTransformation + self.targetString = targetString self.positionalConstraint = positionalConstraint } private enum CodingKeys: String, CodingKey { case fieldToMatch = "FieldToMatch" - case targetString = "TargetString" case textTransformation = "TextTransformation" + case targetString = "TargetString" case positionalConstraint = "PositionalConstraint" } } @@ -3594,6 +3667,10 @@ extension Waf { } } + public struct DeletePermissionPolicyResponse: AWSShape { + + } + public struct SampledHTTPRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RuleWithinRuleGroup", required: false, type: .string), @@ -3780,7 +3857,7 @@ extension Waf { ] /// 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. public let defaultAction: WafAction? - /// 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, Priority, RuleId, and Type. The OverrideAction data type within ActivatedRule is used only when submitting an UpdateRuleGroup request. ActivatedRule|OverrideAction is not applicable and therefore not available for UpdateWebACL. WafAction: Contains Type + /// 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 public let updates: [WebACLUpdate]? /// The value returned by the most recent call to GetChangeToken. public let changeToken: String diff --git a/Sources/AWSSDKSwift/Services/workdocs/Workdocs_Shapes.swift b/Sources/AWSSDKSwift/Services/workdocs/Workdocs_Shapes.swift index b1694d99d03..ac9e52d3d30 100644 --- a/Sources/AWSSDKSwift/Services/workdocs/Workdocs_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/workdocs/Workdocs_Shapes.swift @@ -187,8 +187,8 @@ extension Workdocs { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "AuthenticationToken", location: .header(locationName: "Authentication"), required: false, type: .string), AWSShapeMember(label: "ParentId", required: false, type: .string), - AWSShapeMember(label: "ThreadId", required: false, type: .string), AWSShapeMember(label: "Text", required: true, type: .string), + AWSShapeMember(label: "ThreadId", required: false, type: .string), AWSShapeMember(label: "VersionId", location: .uri(locationName: "VersionId"), required: true, type: .string), AWSShapeMember(label: "DocumentId", location: .uri(locationName: "DocumentId"), required: true, type: .string), AWSShapeMember(label: "Visibility", required: false, type: .enum), @@ -198,10 +198,10 @@ extension Workdocs { public let authenticationToken: String? /// The ID of the parent comment. public let parentId: String? - /// The ID of the root comment in the thread. - public let threadId: String? /// The text of the comment. public let text: String + /// The ID of the root comment in the thread. + public let threadId: String? /// The ID of the document version. public let versionId: String /// The ID of the document. @@ -211,11 +211,11 @@ extension Workdocs { /// Set this parameter to TRUE to send an email out to the document collaborators after the comment is created. public let notifyCollaborators: Bool? - public init(authenticationToken: String? = nil, parentId: String? = nil, threadId: String? = nil, text: String, versionId: String, documentId: String, visibility: CommentVisibilityType? = nil, notifyCollaborators: Bool? = nil) { + public init(authenticationToken: String? = nil, parentId: String? = nil, text: String, threadId: String? = nil, versionId: String, documentId: String, visibility: CommentVisibilityType? = nil, notifyCollaborators: Bool? = nil) { self.authenticationToken = authenticationToken self.parentId = parentId - self.threadId = threadId self.text = text + self.threadId = threadId self.versionId = versionId self.documentId = documentId self.visibility = visibility @@ -225,8 +225,8 @@ extension Workdocs { private enum CodingKeys: String, CodingKey { case authenticationToken = "Authentication" case parentId = "ParentId" - case threadId = "ThreadId" case text = "Text" + case threadId = "ThreadId" case versionId = "VersionId" case documentId = "DocumentId" case visibility = "Visibility" @@ -810,17 +810,17 @@ extension Workdocs { public struct InitiateDocumentVersionUploadRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Id", required: false, type: .string), + AWSShapeMember(label: "DocumentSizeInBytes", required: false, type: .long), AWSShapeMember(label: "ContentModifiedTimestamp", required: false, type: .timestamp), AWSShapeMember(label: "AuthenticationToken", location: .header(locationName: "Authentication"), required: false, type: .string), AWSShapeMember(label: "Name", required: false, type: .string), AWSShapeMember(label: "ContentType", required: false, type: .string), AWSShapeMember(label: "ParentFolderId", required: true, type: .string), AWSShapeMember(label: "ContentCreatedTimestamp", required: false, type: .timestamp), - AWSShapeMember(label: "DocumentSizeInBytes", required: false, type: .long) + AWSShapeMember(label: "Id", required: false, type: .string) ] - /// The ID of the document. - public let id: String? + /// The size of the document, in bytes. + public let documentSizeInBytes: Int64? /// The timestamp when the content of the document was modified. public let contentModifiedTimestamp: TimeStamp? /// Amazon WorkDocs authentication token. Do not set this field when using administrative API actions, as in accessing the API using AWS credentials. @@ -833,29 +833,29 @@ extension Workdocs { public let parentFolderId: String /// The timestamp when the content of the document was originally created. public let contentCreatedTimestamp: TimeStamp? - /// The size of the document, in bytes. - public let documentSizeInBytes: Int64? + /// The ID of the document. + public let id: String? - public init(id: String? = nil, contentModifiedTimestamp: TimeStamp? = nil, authenticationToken: String? = nil, name: String? = nil, contentType: String? = nil, parentFolderId: String, contentCreatedTimestamp: TimeStamp? = nil, documentSizeInBytes: Int64? = nil) { - self.id = id + public init(documentSizeInBytes: Int64? = nil, contentModifiedTimestamp: TimeStamp? = nil, authenticationToken: String? = nil, name: String? = nil, contentType: String? = nil, parentFolderId: String, contentCreatedTimestamp: TimeStamp? = nil, id: String? = nil) { + self.documentSizeInBytes = documentSizeInBytes self.contentModifiedTimestamp = contentModifiedTimestamp self.authenticationToken = authenticationToken self.name = name self.contentType = contentType self.parentFolderId = parentFolderId self.contentCreatedTimestamp = contentCreatedTimestamp - self.documentSizeInBytes = documentSizeInBytes + self.id = id } private enum CodingKeys: String, CodingKey { - case id = "Id" + case documentSizeInBytes = "DocumentSizeInBytes" case contentModifiedTimestamp = "ContentModifiedTimestamp" case authenticationToken = "Authentication" case name = "Name" case contentType = "ContentType" case parentFolderId = "ParentFolderId" case contentCreatedTimestamp = "ContentCreatedTimestamp" - case documentSizeInBytes = "DocumentSizeInBytes" + case id = "Id" } } @@ -1016,17 +1016,17 @@ extension Workdocs { public struct Activity: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "OriginalParent", required: false, type: .structure), + AWSShapeMember(label: "Participants", required: false, type: .structure), AWSShapeMember(label: "CommentMetadata", required: false, type: .structure), AWSShapeMember(label: "ResourceMetadata", required: false, type: .structure), AWSShapeMember(label: "Initiator", required: false, type: .structure), AWSShapeMember(label: "TimeStamp", required: false, type: .timestamp), - AWSShapeMember(label: "Participants", required: false, type: .structure), AWSShapeMember(label: "OrganizationId", required: false, type: .string), - AWSShapeMember(label: "Type", required: false, type: .enum) + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "OriginalParent", required: false, type: .structure) ] - /// The original parent of the resource. This is an optional field and is filled for move activities. - public let originalParent: ResourceMetadata? + /// 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. + public let participants: Participants? /// Metadata of the commenting activity. This is an optional field and is filled for commenting activities. public let commentMetadata: CommentMetadata? /// The metadata of the resource involved in the user action. @@ -1035,33 +1035,33 @@ extension Workdocs { public let initiator: UserMetadata? /// The timestamp when the action was performed. public let timeStamp: TimeStamp? - /// 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. - public let participants: Participants? /// The ID of the organization. public let organizationId: String? /// The activity type. public let `type`: ActivityType? + /// The original parent of the resource. This is an optional field and is filled for move activities. + public let originalParent: ResourceMetadata? - public init(originalParent: ResourceMetadata? = nil, commentMetadata: CommentMetadata? = nil, resourceMetadata: ResourceMetadata? = nil, initiator: UserMetadata? = nil, timeStamp: TimeStamp? = nil, participants: Participants? = nil, organizationId: String? = nil, type: ActivityType? = nil) { - self.originalParent = originalParent + public init(participants: Participants? = nil, commentMetadata: CommentMetadata? = nil, resourceMetadata: ResourceMetadata? = nil, initiator: UserMetadata? = nil, timeStamp: TimeStamp? = nil, organizationId: String? = nil, type: ActivityType? = nil, originalParent: ResourceMetadata? = nil) { + self.participants = participants self.commentMetadata = commentMetadata self.resourceMetadata = resourceMetadata self.initiator = initiator self.timeStamp = timeStamp - self.participants = participants self.organizationId = organizationId self.`type` = `type` + self.originalParent = originalParent } private enum CodingKeys: String, CodingKey { - case originalParent = "OriginalParent" + case participants = "Participants" case commentMetadata = "CommentMetadata" case resourceMetadata = "ResourceMetadata" case initiator = "Initiator" case timeStamp = "TimeStamp" - case participants = "Participants" case organizationId = "OrganizationId" case `type` = "Type" + case originalParent = "OriginalParent" } } diff --git a/Sources/AWSSDKSwift/Services/workmail/Workmail_API.swift b/Sources/AWSSDKSwift/Services/workmail/Workmail_API.swift new file mode 100644 index 00000000000..3c8818cb22e --- /dev/null +++ b/Sources/AWSSDKSwift/Services/workmail/Workmail_API.swift @@ -0,0 +1,184 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +/** +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. +*/ +public struct Workmail { + + let client: AWSClient + + public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil) { + self.client = AWSClient( + accessKeyId: accessKeyId, + secretAccessKey: secretAccessKey, + region: region, + amzTarget: "WorkMailService", + service: "workmail", + serviceProtocol: ServiceProtocol(type: .json, version: ServiceProtocol.Version(major: 1, minor: 1)), + apiVersion: "2017-10-01", + endpoint: endpoint, + middlewares: [], + possibleErrorTypes: [WorkmailError.self] + ) + } + + /// Lists the delegates associated with a resource. Users and groups can be resource delegates and answer requests on behalf of the resource. + public func listResourceDelegates(_ input: ListResourceDelegatesRequest) throws -> ListResourceDelegatesResponse { + return try client.send(operation: "ListResourceDelegates", path: "/", httpMethod: "POST", input: input) + } + + /// Returns the data available for the group. + public func describeGroup(_ input: DescribeGroupRequest) throws -> DescribeGroupResponse { + return try client.send(operation: "DescribeGroup", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func registerToWorkMail(_ input: RegisterToWorkMailRequest) throws -> RegisterToWorkMailResponse { + return try client.send(operation: "RegisterToWorkMail", path: "/", httpMethod: "POST", input: input) + } + + /// Returns summaries of the customer's non-deleted organizations. + public func listOrganizations(_ input: ListOrganizationsRequest) throws -> ListOrganizationsResponse { + return try client.send(operation: "ListOrganizations", path: "/", httpMethod: "POST", input: input) + } + + /// Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation. + public func createUser(_ input: CreateUserRequest) throws -> CreateUserResponse { + return try client.send(operation: "CreateUser", path: "/", httpMethod: "POST", input: input) + } + + /// Adds a member to the group's set. + public func associateMemberToGroup(_ input: AssociateMemberToGroupRequest) throws -> AssociateMemberToGroupResponse { + return try client.send(operation: "AssociateMemberToGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Remove the alias from a set of aliases for a given user. + public func deleteAlias(_ input: DeleteAliasRequest) throws -> DeleteAliasResponse { + return try client.send(operation: "DeleteAlias", path: "/", httpMethod: "POST", input: input) + } + + /// Lists the mailbox permissions associated with a mailbox. + public func listMailboxPermissions(_ input: ListMailboxPermissionsRequest) throws -> ListMailboxPermissionsResponse { + return try client.send(operation: "ListMailboxPermissions", path: "/", httpMethod: "POST", input: input) + } + + /// Creates a new Amazon WorkMail resource. The available types are equipment and room. + public func createResource(_ input: CreateResourceRequest) throws -> CreateResourceResponse { + return try client.send(operation: "CreateResource", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func updatePrimaryEmailAddress(_ input: UpdatePrimaryEmailAddressRequest) throws -> UpdatePrimaryEmailAddressResponse { + return try client.send(operation: "UpdatePrimaryEmailAddress", path: "/", httpMethod: "POST", input: input) + } + + /// Removes a member from a group. + public func disassociateMemberFromGroup(_ input: DisassociateMemberFromGroupRequest) throws -> DisassociateMemberFromGroupResponse { + return try client.send(operation: "DisassociateMemberFromGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes a group from Amazon WorkMail. + public func deleteGroup(_ input: DeleteGroupRequest) throws -> DeleteGroupResponse { + return try client.send(operation: "DeleteGroup", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func updateResource(_ input: UpdateResourceRequest) throws -> UpdateResourceResponse { + return try client.send(operation: "UpdateResource", path: "/", httpMethod: "POST", input: input) + } + + /// Returns summaries of the organization's users. + public func listUsers(_ input: ListUsersRequest) throws -> ListUsersResponse { + return try client.send(operation: "ListUsers", path: "/", httpMethod: "POST", input: input) + } + + /// Provides information regarding the user. + public func describeUser(_ input: DescribeUserRequest) throws -> DescribeUserResponse { + return try client.send(operation: "DescribeUser", path: "/", httpMethod: "POST", input: input) + } + + /// Returns the data available for the resource. + public func describeResource(_ input: DescribeResourceRequest) throws -> DescribeResourceResponse { + return try client.send(operation: "DescribeResource", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func deregisterFromWorkMail(_ input: DeregisterFromWorkMailRequest) throws -> DeregisterFromWorkMailResponse { + return try client.send(operation: "DeregisterFromWorkMail", path: "/", httpMethod: "POST", input: input) + } + + /// Allows the administrator to reset the password for a user. + public func resetPassword(_ input: ResetPasswordRequest) throws -> ResetPasswordResponse { + return try client.send(operation: "ResetPassword", path: "/", httpMethod: "POST", input: input) + } + + /// Sets permissions for a user or group. This replaces any pre-existing permissions set for the entity. + public func putMailboxPermissions(_ input: PutMailboxPermissionsRequest) throws -> PutMailboxPermissionsResponse { + return try client.send(operation: "PutMailboxPermissions", path: "/", httpMethod: "POST", input: input) + } + + /// Returns an overview of the members of a group. + public func listGroupMembers(_ input: ListGroupMembersRequest) throws -> ListGroupMembersResponse { + return try client.send(operation: "ListGroupMembers", path: "/", httpMethod: "POST", input: input) + } + + /// Removes a member from the resource's set of delegates. + public func disassociateDelegateFromResource(_ input: DisassociateDelegateFromResourceRequest) throws -> DisassociateDelegateFromResourceResponse { + return try client.send(operation: "DisassociateDelegateFromResource", path: "/", httpMethod: "POST", input: input) + } + + /// Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation. + public func createGroup(_ input: CreateGroupRequest) throws -> CreateGroupResponse { + return try client.send(operation: "CreateGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Adds an alias to the set of a given member of Amazon WorkMail. + public func createAlias(_ input: CreateAliasRequest) throws -> CreateAliasResponse { + return try client.send(operation: "CreateAlias", path: "/", httpMethod: "POST", input: input) + } + + /// Provides more information regarding a given organization based on its identifier. + public func describeOrganization(_ input: DescribeOrganizationRequest) throws -> DescribeOrganizationResponse { + return try client.send(operation: "DescribeOrganization", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes the specified resource. + public func deleteResource(_ input: DeleteResourceRequest) throws -> DeleteResourceResponse { + return try client.send(operation: "DeleteResource", path: "/", httpMethod: "POST", input: input) + } + + /// Creates a paginated call to list the aliases associated with a given entity. + public func listAliases(_ input: ListAliasesRequest) throws -> ListAliasesResponse { + return try client.send(operation: "ListAliases", path: "/", httpMethod: "POST", input: input) + } + + /// Returns summaries of the organization's resources. + public func listResources(_ input: ListResourcesRequest) throws -> ListResourcesResponse { + return try client.send(operation: "ListResources", path: "/", httpMethod: "POST", input: input) + } + + /// Adds a member to the resource's set of delegates. + public func associateDelegateToResource(_ input: AssociateDelegateToResourceRequest) throws -> AssociateDelegateToResourceResponse { + return try client.send(operation: "AssociateDelegateToResource", path: "/", httpMethod: "POST", input: input) + } + + /// Returns summaries of the organization's groups. + public func listGroups(_ input: ListGroupsRequest) throws -> ListGroupsResponse { + return try client.send(operation: "ListGroups", path: "/", httpMethod: "POST", input: input) + } + + /// Deletes permissions granted to a user or group. + public func deleteMailboxPermissions(_ input: DeleteMailboxPermissionsRequest) throws -> DeleteMailboxPermissionsResponse { + return try client.send(operation: "DeleteMailboxPermissions", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func deleteUser(_ input: DeleteUserRequest) throws -> DeleteUserResponse { + return try client.send(operation: "DeleteUser", path: "/", httpMethod: "POST", input: input) + } + + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/workmail/Workmail_Error.swift b/Sources/AWSSDKSwift/Services/workmail/Workmail_Error.swift new file mode 100644 index 00000000000..fba02da22d9 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/workmail/Workmail_Error.swift @@ -0,0 +1,68 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import AWSSDKSwiftCore + +/// Error enum for Workmail +public enum WorkmailError: AWSErrorType { + case entityNotFoundException(message: String?) + case entityStateException(message: String?) + case invalidParameterException(message: String?) + case organizationNotFoundException(message: String?) + case organizationStateException(message: String?) + case directoryServiceAuthenticationFailedException(message: String?) + case directoryUnavailableException(message: String?) + case emailAddressInUseException(message: String?) + case entityAlreadyRegisteredException(message: String?) + case mailDomainNotFoundException(message: String?) + case mailDomainStateException(message: String?) + case invalidPasswordException(message: String?) + case nameAvailabilityException(message: String?) + case reservedNameException(message: String?) + case unsupportedOperationException(message: String?) + case invalidConfigurationException(message: String?) +} + +extension WorkmailError { + public init?(errorCode: String, message: String?){ + var errorCode = errorCode + if let index = errorCode.index(of: "#") { + errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) + } + switch errorCode { + case "EntityNotFoundException": + self = .entityNotFoundException(message: message) + case "EntityStateException": + self = .entityStateException(message: message) + case "InvalidParameterException": + self = .invalidParameterException(message: message) + case "OrganizationNotFoundException": + self = .organizationNotFoundException(message: message) + case "OrganizationStateException": + self = .organizationStateException(message: message) + case "DirectoryServiceAuthenticationFailedException": + self = .directoryServiceAuthenticationFailedException(message: message) + case "DirectoryUnavailableException": + self = .directoryUnavailableException(message: message) + case "EmailAddressInUseException": + self = .emailAddressInUseException(message: message) + case "EntityAlreadyRegisteredException": + self = .entityAlreadyRegisteredException(message: message) + case "MailDomainNotFoundException": + self = .mailDomainNotFoundException(message: message) + case "MailDomainStateException": + self = .mailDomainStateException(message: message) + case "InvalidPasswordException": + self = .invalidPasswordException(message: message) + case "NameAvailabilityException": + self = .nameAvailabilityException(message: message) + case "ReservedNameException": + self = .reservedNameException(message: message) + case "UnsupportedOperationException": + self = .unsupportedOperationException(message: message) + case "InvalidConfigurationException": + self = .invalidConfigurationException(message: message) + default: + return nil + } + } +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/workmail/Workmail_Shapes.swift b/Sources/AWSSDKSwift/Services/workmail/Workmail_Shapes.swift new file mode 100644 index 00000000000..2b6164121b6 --- /dev/null +++ b/Sources/AWSSDKSwift/Services/workmail/Workmail_Shapes.swift @@ -0,0 +1,1584 @@ +// THIS FILE IS AUTOMATICALLY GENERATED by https://github.com/noppoMan/aws-sdk-swift/blob/master/Sources/CodeGenerator/main.swift. DO NOT EDIT. + +import Foundation +import AWSSDKSwiftCore + +extension Workmail { + + public struct AssociateDelegateToResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "ResourceId", required: true, type: .string), + AWSShapeMember(label: "EntityId", required: true, type: .string) + ] + /// The organization under which the resource exists. + public let organizationId: String + /// The resource for which members are associated. + public let resourceId: String + /// The member (user or group) to associate to the resource. + public let entityId: String + + public init(organizationId: String, resourceId: String, entityId: String) { + self.organizationId = organizationId + self.resourceId = resourceId + self.entityId = entityId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case resourceId = "ResourceId" + case entityId = "EntityId" + } + } + + public struct DescribeOrganizationRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string) + ] + /// The identifier for the organization to be described. + public let organizationId: String + + public init(organizationId: String) { + self.organizationId = organizationId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + } + } + + public struct DescribeGroupResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EnabledDate", required: false, type: .timestamp), + AWSShapeMember(label: "Email", required: false, type: .string), + AWSShapeMember(label: "DisabledDate", required: false, type: .timestamp), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "GroupId", required: false, type: .string), + AWSShapeMember(label: "State", required: false, type: .enum) + ] + /// The date and time when a user was registered to Amazon WorkMail, in UNIX epoch time format. + public let enabledDate: TimeStamp? + /// The email of the described group. + public let email: String? + /// The date and time when a user was deregistered from Amazon WorkMail, in UNIX epoch time format. + public let disabledDate: TimeStamp? + /// The name of the described group. + public let name: String? + /// The identifier of the described group. + public let groupId: String? + /// The state of the user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to Amazon WorkMail). + public let state: EntityState? + + public init(enabledDate: TimeStamp? = nil, email: String? = nil, disabledDate: TimeStamp? = nil, name: String? = nil, groupId: String? = nil, state: EntityState? = nil) { + self.enabledDate = enabledDate + self.email = email + self.disabledDate = disabledDate + self.name = name + self.groupId = groupId + self.state = state + } + + private enum CodingKeys: String, CodingKey { + case enabledDate = "EnabledDate" + case email = "Email" + case disabledDate = "DisabledDate" + case name = "Name" + case groupId = "GroupId" + case state = "State" + } + } + + public struct DeleteGroupResponse: AWSShape { + + } + + public struct AssociateMemberToGroupResponse: AWSShape { + + } + + public struct ListGroupMembersRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "GroupId", required: true, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The identifier for the organization under which the group exists. + public let organizationId: String + /// The token to use to retrieve the next page of results. The first call does not contain any tokens. + public let nextToken: String? + /// The identifier for the group to which the members are associated. + public let groupId: String + /// The maximum number of results to return in a single call. + public let maxResults: Int32? + + public init(organizationId: String, nextToken: String? = nil, groupId: String, maxResults: Int32? = nil) { + self.organizationId = organizationId + self.nextToken = nextToken + self.groupId = groupId + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case nextToken = "NextToken" + case groupId = "GroupId" + case maxResults = "MaxResults" + } + } + + public struct ListUsersResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Users", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// The overview of users for an organization. + public let users: [User]? + /// The token to use to retrieve the next page of results. This value is `null` when there are no more results to return. + public let nextToken: String? + + public init(users: [User]? = nil, nextToken: String? = nil) { + self.users = users + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case users = "Users" + case nextToken = "NextToken" + } + } + + public struct DescribeResourceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Email", required: false, type: .string), + AWSShapeMember(label: "DisabledDate", required: false, type: .timestamp), + AWSShapeMember(label: "State", required: false, type: .enum), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "EnabledDate", required: false, type: .timestamp), + AWSShapeMember(label: "BookingOptions", required: false, type: .structure), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "ResourceId", required: false, type: .string) + ] + /// The email of the described resource. + public let email: String? + /// The date and time when a resource was registered from Amazon WorkMail, in UNIX epoch time format. + public let disabledDate: TimeStamp? + /// The state of the resource: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to Amazon WorkMail). + public let state: EntityState? + /// The name of the described resource. + public let name: String? + /// The date and time when a resource was registered to Amazon WorkMail, in UNIX epoch time format. + public let enabledDate: TimeStamp? + /// The booking options for the described resource. + public let bookingOptions: BookingOptions? + /// The type of the described resource. + public let `type`: ResourceType? + /// The identifier of the described resource. + public let resourceId: String? + + public init(email: String? = nil, disabledDate: TimeStamp? = nil, state: EntityState? = nil, name: String? = nil, enabledDate: TimeStamp? = nil, bookingOptions: BookingOptions? = nil, type: ResourceType? = nil, resourceId: String? = nil) { + self.email = email + self.disabledDate = disabledDate + self.state = state + self.name = name + self.enabledDate = enabledDate + self.bookingOptions = bookingOptions + self.`type` = `type` + self.resourceId = resourceId + } + + private enum CodingKeys: String, CodingKey { + case email = "Email" + case disabledDate = "DisabledDate" + case state = "State" + case name = "Name" + case enabledDate = "EnabledDate" + case bookingOptions = "BookingOptions" + case `type` = "Type" + case resourceId = "ResourceId" + } + } + + public struct ListOrganizationsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The token to use to retrieve the next page of results. The first call does not contain any tokens. + public let nextToken: String? + /// The maximum number of results to return in a single call. + public let maxResults: Int32? + + public init(nextToken: String? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct DeleteMailboxPermissionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "GranteeId", required: true, type: .string), + AWSShapeMember(label: "EntityId", required: true, type: .string) + ] + /// The identifier of the organization under which the entity (user or group) exists. + public let organizationId: String + /// The identifier of the entity (user or group) for which to delete granted permissions. + public let granteeId: String + /// The identifier of the entity (user or group) for which to delete mailbox permissions. + public let entityId: String + + public init(organizationId: String, granteeId: String, entityId: String) { + self.organizationId = organizationId + self.granteeId = granteeId + self.entityId = entityId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case granteeId = "GranteeId" + case entityId = "EntityId" + } + } + + public struct PutMailboxPermissionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "GranteeId", required: true, type: .string), + AWSShapeMember(label: "EntityId", required: true, type: .string), + AWSShapeMember(label: "PermissionValues", required: true, type: .list) + ] + /// The identifier of the organization under which the entity (user or group) exists. + public let organizationId: String + /// The identifier of the entity (user or group) to which to grant the permissions. + public let granteeId: String + /// The identifier of the entity (user or group) for which to update mailbox permissions. + public let entityId: String + /// 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. + public let permissionValues: [PermissionType] + + public init(organizationId: String, granteeId: String, entityId: String, permissionValues: [PermissionType]) { + self.organizationId = organizationId + self.granteeId = granteeId + self.entityId = entityId + self.permissionValues = permissionValues + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case granteeId = "GranteeId" + case entityId = "EntityId" + case permissionValues = "PermissionValues" + } + } + + public struct CreateResourceResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ResourceId", required: false, type: .string) + ] + /// The identifier of the created resource. + public let resourceId: String? + + public init(resourceId: String? = nil) { + self.resourceId = resourceId + } + + private enum CodingKeys: String, CodingKey { + case resourceId = "ResourceId" + } + } + + public struct UpdateResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "BookingOptions", required: false, type: .structure), + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "ResourceId", required: true, type: .string) + ] + /// The resource's booking options to be updated. + public let bookingOptions: BookingOptions? + /// The identifier associated with the organization for which the resource is updated. + public let organizationId: String + /// The name of the resource to be updated. + public let name: String? + /// The identifier of the resource to be updated. + public let resourceId: String + + public init(bookingOptions: BookingOptions? = nil, organizationId: String, name: String? = nil, resourceId: String) { + self.bookingOptions = bookingOptions + self.organizationId = organizationId + self.name = name + self.resourceId = resourceId + } + + private enum CodingKeys: String, CodingKey { + case bookingOptions = "BookingOptions" + case organizationId = "OrganizationId" + case name = "Name" + case resourceId = "ResourceId" + } + } + + public struct ListAliasesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Aliases", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// The entity's paginated aliases. + public let aliases: [String]? + /// The token to use to retrieve the next page of results. The value is "null" when there are no more results to return. + public let nextToken: String? + + public init(aliases: [String]? = nil, nextToken: String? = nil) { + self.aliases = aliases + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case aliases = "Aliases" + case nextToken = "NextToken" + } + } + + public struct RegisterToWorkMailResponse: AWSShape { + + } + + public struct CreateResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "Type", required: true, type: .enum) + ] + /// The identifier associated with the organization for which the resource is created. + public let organizationId: String + /// The name of the created resource. + public let name: String + /// The type of the created resource. + public let `type`: ResourceType + + public init(organizationId: String, name: String, type: ResourceType) { + self.organizationId = organizationId + self.name = name + self.`type` = `type` + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case name = "Name" + case `type` = "Type" + } + } + + public enum UserRole: String, CustomStringConvertible, Codable { + case user = "USER" + case resource = "RESOURCE" + case systemUser = "SYSTEM_USER" + public var description: String { return self.rawValue } + } + + public struct ListResourcesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Resources", required: false, type: .list) + ] + /// 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. + public let nextToken: String? + /// One page of the organization's resource representation. + public let resources: [Resource]? + + public init(nextToken: String? = nil, resources: [Resource]? = nil) { + self.nextToken = nextToken + self.resources = resources + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case resources = "Resources" + } + } + + public enum ResourceType: String, CustomStringConvertible, Codable { + case room = "ROOM" + case equipment = "EQUIPMENT" + public var description: String { return self.rawValue } + } + + public struct ListGroupsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Groups", required: false, type: .list) + ] + /// The token to use to retrieve the next page of results. The value is "null" when there are no more results to return. + public let nextToken: String? + /// The overview of groups for an organization. + public let groups: [Group]? + + public init(nextToken: String? = nil, groups: [Group]? = nil) { + self.nextToken = nextToken + self.groups = groups + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case groups = "Groups" + } + } + + public struct CreateAliasRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "EntityId", required: true, type: .string), + AWSShapeMember(label: "Alias", required: true, type: .string) + ] + /// The organization under which the member exists. + public let organizationId: String + /// The alias is added to this Amazon WorkMail entity. + public let entityId: String + /// The alias to add to the user. + public let alias: String + + public init(organizationId: String, entityId: String, alias: String) { + self.organizationId = organizationId + self.entityId = entityId + self.alias = alias + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case entityId = "EntityId" + case alias = "Alias" + } + } + + public struct ListResourceDelegatesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "ResourceId", required: true, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The identifier for the organization that contains the resource for which delegates are listed. + public let organizationId: String + /// The token used to paginate through the delegates associated with a resource. + public let nextToken: String? + /// The identifier for the resource whose delegates are listed. + public let resourceId: String + /// The number of maximum results in a page. + public let maxResults: Int32? + + public init(organizationId: String, nextToken: String? = nil, resourceId: String, maxResults: Int32? = nil) { + self.organizationId = organizationId + self.nextToken = nextToken + self.resourceId = resourceId + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case nextToken = "NextToken" + case resourceId = "ResourceId" + case maxResults = "MaxResults" + } + } + + public struct CreateUserRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Password", required: true, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string), + AWSShapeMember(label: "DisplayName", required: true, type: .string), + AWSShapeMember(label: "OrganizationId", required: true, type: .string) + ] + /// The password for the user to be created. + public let password: String + /// The name for the user to be created. + public let name: String + /// The display name for the user to be created. + public let displayName: String + /// The identifier of the organization for which the user is created. + public let organizationId: String + + public init(password: String, name: String, displayName: String, organizationId: String) { + self.password = password + self.name = name + self.displayName = displayName + self.organizationId = organizationId + } + + private enum CodingKeys: String, CodingKey { + case password = "Password" + case name = "Name" + case displayName = "DisplayName" + case organizationId = "OrganizationId" + } + } + + public struct ListGroupsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The identifier for the organization under which the groups exist. + public let organizationId: String + /// The token to use to retrieve the next page of results. The first call does not contain any tokens. + public let nextToken: String? + /// The maximum number of results to return in a single call. + public let maxResults: Int32? + + public init(organizationId: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.organizationId = organizationId + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct DeregisterFromWorkMailResponse: AWSShape { + + } + + public struct Resource: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Email", required: false, type: .string), + AWSShapeMember(label: "DisabledDate", required: false, type: .timestamp), + AWSShapeMember(label: "State", required: false, type: .enum), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "EnabledDate", required: false, type: .timestamp), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// The email of the resource. + public let email: String? + /// The date indicating when the resource was disabled from Amazon WorkMail use. + public let disabledDate: TimeStamp? + /// The state of the resource, which can be ENABLED, DISABLED, or DELETED. + public let state: EntityState? + /// The name of the resource. + public let name: String? + /// The date indicating when the resource was enabled for Amazon WorkMail use. + public let enabledDate: TimeStamp? + /// The type of the resource: equipment or room. + public let `type`: ResourceType? + /// The identifier of the resource. + public let id: String? + + public init(email: String? = nil, disabledDate: TimeStamp? = nil, state: EntityState? = nil, name: String? = nil, enabledDate: TimeStamp? = nil, type: ResourceType? = nil, id: String? = nil) { + self.email = email + self.disabledDate = disabledDate + self.state = state + self.name = name + self.enabledDate = enabledDate + self.`type` = `type` + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case email = "Email" + case disabledDate = "DisabledDate" + case state = "State" + case name = "Name" + case enabledDate = "EnabledDate" + case `type` = "Type" + case id = "Id" + } + } + + public struct DeleteAliasResponse: AWSShape { + + } + + public struct AssociateMemberToGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "GroupId", required: true, type: .string), + AWSShapeMember(label: "MemberId", required: true, type: .string) + ] + /// The organization under which the group exists. + public let organizationId: String + /// The group for which the member is associated. + public let groupId: String + /// The member to associate to the group. + public let memberId: String + + public init(organizationId: String, groupId: String, memberId: String) { + self.organizationId = organizationId + self.groupId = groupId + self.memberId = memberId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case groupId = "GroupId" + case memberId = "MemberId" + } + } + + public struct BookingOptions: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "AutoAcceptRequests", required: false, type: .boolean), + AWSShapeMember(label: "AutoDeclineConflictingRequests", required: false, type: .boolean), + AWSShapeMember(label: "AutoDeclineRecurringRequests", required: false, type: .boolean) + ] + /// The resource's ability to automatically reply to requests. If disabled, delegates must be associated to the resource. + public let autoAcceptRequests: Bool? + /// The resource's ability to automatically decline any conflicting requests. + public let autoDeclineConflictingRequests: Bool? + /// The resource's ability to automatically decline any recurring requests. + public let autoDeclineRecurringRequests: Bool? + + public init(autoAcceptRequests: Bool? = nil, autoDeclineConflictingRequests: Bool? = nil, autoDeclineRecurringRequests: Bool? = nil) { + self.autoAcceptRequests = autoAcceptRequests + self.autoDeclineConflictingRequests = autoDeclineConflictingRequests + self.autoDeclineRecurringRequests = autoDeclineRecurringRequests + } + + private enum CodingKeys: String, CodingKey { + case autoAcceptRequests = "AutoAcceptRequests" + case autoDeclineConflictingRequests = "AutoDeclineConflictingRequests" + case autoDeclineRecurringRequests = "AutoDeclineRecurringRequests" + } + } + + public struct DeleteUserRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "UserId", required: true, type: .string) + ] + /// The organization that contains the user. + public let organizationId: String + /// The identifier of the user to be deleted. + public let userId: String + + public init(organizationId: String, userId: String) { + self.organizationId = organizationId + self.userId = userId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case userId = "UserId" + } + } + + public struct ListResourcesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The identifier for the organization under which the resources exist. + public let organizationId: String + /// The token to use to retrieve the next page of results. The first call does not contain any tokens. + public let nextToken: String? + /// The maximum number of results to return in a single call. + public let maxResults: Int32? + + public init(organizationId: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.organizationId = organizationId + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public struct DescribeGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "GroupId", required: true, type: .string) + ] + /// The identifier for the organization under which the group exists. + public let organizationId: String + /// The identifier for the group to be described. + public let groupId: String + + public init(organizationId: String, groupId: String) { + self.organizationId = organizationId + self.groupId = groupId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case groupId = "GroupId" + } + } + + public struct Delegate: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", required: true, type: .enum), + AWSShapeMember(label: "Id", required: true, type: .string) + ] + /// The type of the delegate: user or group. + public let `type`: MemberType + /// The identifier for the user or group is associated as the resource's delegate. + public let id: String + + public init(type: MemberType, id: String) { + self.`type` = `type` + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + case id = "Id" + } + } + + public struct CreateGroupResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GroupId", required: false, type: .string) + ] + /// The ID of the group. + public let groupId: String? + + public init(groupId: String? = nil) { + self.groupId = groupId + } + + private enum CodingKeys: String, CodingKey { + case groupId = "GroupId" + } + } + + public struct ListResourceDelegatesResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "Delegates", required: false, type: .list) + ] + /// 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. + public let nextToken: String? + /// One page of the resource's delegates. + public let delegates: [Delegate]? + + public init(nextToken: String? = nil, delegates: [Delegate]? = nil) { + self.nextToken = nextToken + self.delegates = delegates + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case delegates = "Delegates" + } + } + + public struct Group: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EnabledDate", required: false, type: .timestamp), + AWSShapeMember(label: "Email", required: false, type: .string), + AWSShapeMember(label: "DisabledDate", required: false, type: .timestamp), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "State", required: false, type: .enum), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// The date indicating when the group was enabled for Amazon WorkMail use. + public let enabledDate: TimeStamp? + /// The email of the group. + public let email: String? + /// The date indicating when the group was disabled from Amazon WorkMail use. + public let disabledDate: TimeStamp? + /// The name of the group. + public let name: String? + /// The state of the group, which can be ENABLED, DISABLED, or DELETED. + public let state: EntityState? + /// The identifier of the group. + public let id: String? + + public init(enabledDate: TimeStamp? = nil, email: String? = nil, disabledDate: TimeStamp? = nil, name: String? = nil, state: EntityState? = nil, id: String? = nil) { + self.enabledDate = enabledDate + self.email = email + self.disabledDate = disabledDate + self.name = name + self.state = state + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case enabledDate = "EnabledDate" + case email = "Email" + case disabledDate = "DisabledDate" + case name = "Name" + case state = "State" + case id = "Id" + } + } + + public struct Member: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EnabledDate", required: false, type: .timestamp), + AWSShapeMember(label: "DisabledDate", required: false, type: .timestamp), + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "State", required: false, type: .enum), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// The date indicating when the member was enabled for Amazon WorkMail use. + public let enabledDate: TimeStamp? + /// The date indicating when the member was disabled from Amazon WorkMail use. + public let disabledDate: TimeStamp? + /// A member can be a user or group. + public let `type`: MemberType? + /// The name of the member. + public let name: String? + /// The state of the member, which can be ENABLED, DISABLED, or DELETED. + public let state: EntityState? + /// The identifier of the member. + public let id: String? + + public init(enabledDate: TimeStamp? = nil, disabledDate: TimeStamp? = nil, type: MemberType? = nil, name: String? = nil, state: EntityState? = nil, id: String? = nil) { + self.enabledDate = enabledDate + self.disabledDate = disabledDate + self.`type` = `type` + self.name = name + self.state = state + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case enabledDate = "EnabledDate" + case disabledDate = "DisabledDate" + case `type` = "Type" + case name = "Name" + case state = "State" + case id = "Id" + } + } + + public struct AssociateDelegateToResourceResponse: AWSShape { + + } + + public enum PermissionType: String, CustomStringConvertible, Codable { + case fullAccess = "FULL_ACCESS" + case sendAs = "SEND_AS" + case sendOnBehalf = "SEND_ON_BEHALF" + public var description: String { return self.rawValue } + } + + public struct UpdatePrimaryEmailAddressRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "Email", required: true, type: .string), + AWSShapeMember(label: "EntityId", required: true, type: .string) + ] + /// The organization that contains the entity to update. + public let organizationId: String + /// The value of the email to be updated as primary. + public let email: String + /// The entity to update (user, group, or resource). + public let entityId: String + + public init(organizationId: String, email: String, entityId: String) { + self.organizationId = organizationId + self.email = email + self.entityId = entityId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case email = "Email" + case entityId = "EntityId" + } + } + + public struct DeregisterFromWorkMailRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "EntityId", required: true, type: .string) + ] + /// The identifier for the organization under which the Amazon WorkMail entity exists. + public let organizationId: String + /// The identifier for the entity to be updated. + public let entityId: String + + public init(organizationId: String, entityId: String) { + self.organizationId = organizationId + self.entityId = entityId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case entityId = "EntityId" + } + } + + public struct OrganizationSummary: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: false, type: .string), + AWSShapeMember(label: "State", required: false, type: .string), + AWSShapeMember(label: "Alias", required: false, type: .string), + AWSShapeMember(label: "ErrorMessage", required: false, type: .string) + ] + /// The identifier associated with the organization. + public let organizationId: String? + /// The state associated with the organization. + public let state: String? + /// The alias associated with the organization. + public let alias: String? + /// 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. + public let errorMessage: String? + + public init(organizationId: String? = nil, state: String? = nil, alias: String? = nil, errorMessage: String? = nil) { + self.organizationId = organizationId + self.state = state + self.alias = alias + self.errorMessage = errorMessage + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case state = "State" + case alias = "Alias" + case errorMessage = "ErrorMessage" + } + } + + public struct DisassociateDelegateFromResourceResponse: AWSShape { + + } + + public struct UpdatePrimaryEmailAddressResponse: AWSShape { + + } + + public struct DeleteUserResponse: AWSShape { + + } + + public struct UpdateResourceResponse: AWSShape { + + } + + public struct DeleteResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "ResourceId", required: true, type: .string) + ] + /// The identifier associated with the organization for which the resource is deleted. + public let organizationId: String + /// The identifier of the resource to be deleted. + public let resourceId: String + + public init(organizationId: String, resourceId: String) { + self.organizationId = organizationId + self.resourceId = resourceId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case resourceId = "ResourceId" + } + } + + public struct DisassociateDelegateFromResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "ResourceId", required: true, type: .string), + AWSShapeMember(label: "EntityId", required: true, type: .string) + ] + /// The identifier for the organization under which the resource exists. + public let organizationId: String + /// The identifier of the resource from which delegates' set members are removed. + public let resourceId: String + /// The identifier for the member (user, group) to be removed from the resource's delegates. + public let entityId: String + + public init(organizationId: String, resourceId: String, entityId: String) { + self.organizationId = organizationId + self.resourceId = resourceId + self.entityId = entityId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case resourceId = "ResourceId" + case entityId = "EntityId" + } + } + + public struct RegisterToWorkMailRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "Email", required: true, type: .string), + AWSShapeMember(label: "EntityId", required: true, type: .string) + ] + /// The identifier for the organization under which the Amazon WorkMail entity exists. + public let organizationId: String + /// The email for the entity to be updated. + public let email: String + /// The identifier for the entity to be updated. + public let entityId: String + + public init(organizationId: String, email: String, entityId: String) { + self.organizationId = organizationId + self.email = email + self.entityId = entityId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case email = "Email" + case entityId = "EntityId" + } + } + + public struct DeleteMailboxPermissionsResponse: AWSShape { + + } + + public struct DeleteAliasRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "EntityId", required: true, type: .string), + AWSShapeMember(label: "Alias", required: true, type: .string) + ] + /// The identifier for the organization under which the user exists. + public let organizationId: String + /// The identifier for the Amazon WorkMail entity to have the aliases removed. + public let entityId: String + /// 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). + public let alias: String + + public init(organizationId: String, entityId: String, alias: String) { + self.organizationId = organizationId + self.entityId = entityId + self.alias = alias + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case entityId = "EntityId" + case alias = "Alias" + } + } + + public struct ResetPasswordRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "Password", required: true, type: .string), + AWSShapeMember(label: "UserId", required: true, type: .string) + ] + /// The identifier of the organization that contains the user for which the password is reset. + public let organizationId: String + /// The new password for the user. + public let password: String + /// The identifier of the user for whom the password is reset. + public let userId: String + + public init(organizationId: String, password: String, userId: String) { + self.organizationId = organizationId + self.password = password + self.userId = userId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case password = "Password" + case userId = "UserId" + } + } + + public struct DeleteResourceResponse: AWSShape { + + } + + public struct CreateUserResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserId", required: false, type: .string) + ] + /// The information regarding the newly created user. + public let userId: String? + + public init(userId: String? = nil) { + self.userId = userId + } + + private enum CodingKeys: String, CodingKey { + case userId = "UserId" + } + } + + public struct ListAliasesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "EntityId", required: true, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The identifier for the organization under which the entity exists. + public let organizationId: String + /// The token to use to retrieve the next page of results. The first call does not contain any tokens. + public let nextToken: String? + /// The identifier for the entity for which to list the aliases. + public let entityId: String + /// The maximum number of results to return in a single call. + public let maxResults: Int32? + + public init(organizationId: String, nextToken: String? = nil, entityId: String, maxResults: Int32? = nil) { + self.organizationId = organizationId + self.nextToken = nextToken + self.entityId = entityId + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case nextToken = "NextToken" + case entityId = "EntityId" + case maxResults = "MaxResults" + } + } + + public struct User: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Email", required: false, type: .string), + AWSShapeMember(label: "UserRole", required: false, type: .enum), + AWSShapeMember(label: "DisabledDate", required: false, type: .timestamp), + AWSShapeMember(label: "State", required: false, type: .enum), + AWSShapeMember(label: "DisplayName", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "EnabledDate", required: false, type: .timestamp), + AWSShapeMember(label: "Id", required: false, type: .string) + ] + /// The email of the user. + public let email: String? + /// The role of the user. + public let userRole: UserRole? + /// The date indicating when the user was disabled from Amazon WorkMail use. + public let disabledDate: TimeStamp? + /// The state of the user, which can be ENABLED, DISABLED, or DELETED. + public let state: EntityState? + /// The display name of the user. + public let displayName: String? + /// The name of the user. + public let name: String? + /// The date indicating when the user was enabled for Amazon WorkMail use. + public let enabledDate: TimeStamp? + /// The identifier of the user. + public let id: String? + + public init(email: String? = nil, userRole: UserRole? = nil, disabledDate: TimeStamp? = nil, state: EntityState? = nil, displayName: String? = nil, name: String? = nil, enabledDate: TimeStamp? = nil, id: String? = nil) { + self.email = email + self.userRole = userRole + self.disabledDate = disabledDate + self.state = state + self.displayName = displayName + self.name = name + self.enabledDate = enabledDate + self.id = id + } + + private enum CodingKeys: String, CodingKey { + case email = "Email" + case userRole = "UserRole" + case disabledDate = "DisabledDate" + case state = "State" + case displayName = "DisplayName" + case name = "Name" + case enabledDate = "EnabledDate" + case id = "Id" + } + } + + public struct ListMailboxPermissionsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "EntityId", required: true, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The identifier of the organization under which the entity (user or group) exists. + public let organizationId: String + /// The token to use to retrieve the next page of results. The first call does not contain any tokens. + public let nextToken: String? + /// The identifier of the entity (user or group) for which to list mailbox permissions. + public let entityId: String + /// The maximum number of results to return in a single call. + public let maxResults: Int32? + + public init(organizationId: String, nextToken: String? = nil, entityId: String, maxResults: Int32? = nil) { + self.organizationId = organizationId + self.nextToken = nextToken + self.entityId = entityId + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case nextToken = "NextToken" + case entityId = "EntityId" + case maxResults = "MaxResults" + } + } + + public enum EntityState: String, CustomStringConvertible, Codable { + case enabled = "ENABLED" + case disabled = "DISABLED" + case deleted = "DELETED" + public var description: String { return self.rawValue } + } + + public struct ListUsersRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The identifier for the organization under which the users exist. + public let organizationId: String + /// TBD + public let nextToken: String? + /// The maximum number of results to return in a single call. + public let maxResults: Int32? + + public init(organizationId: String, nextToken: String? = nil, maxResults: Int32? = nil) { + self.organizationId = organizationId + self.nextToken = nextToken + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case nextToken = "NextToken" + case maxResults = "MaxResults" + } + } + + public enum MemberType: String, CustomStringConvertible, Codable { + case group = "GROUP" + case user = "USER" + public var description: String { return self.rawValue } + } + + public struct CreateAliasResponse: AWSShape { + + } + + public struct CreateGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "Name", required: true, type: .string) + ] + /// The organization under which the group is to be created. + public let organizationId: String + /// The name of the group. + public let name: String + + public init(organizationId: String, name: String) { + self.organizationId = organizationId + self.name = name + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case name = "Name" + } + } + + public struct DescribeUserResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Email", required: false, type: .string), + AWSShapeMember(label: "UserId", required: false, type: .string), + AWSShapeMember(label: "DisabledDate", required: false, type: .timestamp), + AWSShapeMember(label: "UserRole", required: false, type: .enum), + AWSShapeMember(label: "State", required: false, type: .enum), + AWSShapeMember(label: "DisplayName", required: false, type: .string), + AWSShapeMember(label: "Name", required: false, type: .string), + AWSShapeMember(label: "EnabledDate", required: false, type: .timestamp) + ] + /// The email of the user. + public let email: String? + /// The identifier for the described user. + public let userId: String? + /// The date and time at which the user was disabled for Amazon WorkMail usage, in UNIX epoch time format. + public let disabledDate: TimeStamp? + /// 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. + public let userRole: UserRole? + /// The state of a user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to Amazon WorkMail). + public let state: EntityState? + /// The display name of the user. + public let displayName: String? + /// The name for the user. + public let name: String? + /// The date and time at which the user was enabled for Amazon WorkMail usage, in UNIX epoch time format. + public let enabledDate: TimeStamp? + + public init(email: String? = nil, userId: String? = nil, disabledDate: TimeStamp? = nil, userRole: UserRole? = nil, state: EntityState? = nil, displayName: String? = nil, name: String? = nil, enabledDate: TimeStamp? = nil) { + self.email = email + self.userId = userId + self.disabledDate = disabledDate + self.userRole = userRole + self.state = state + self.displayName = displayName + self.name = name + self.enabledDate = enabledDate + } + + private enum CodingKeys: String, CodingKey { + case email = "Email" + case userId = "UserId" + case disabledDate = "DisabledDate" + case userRole = "UserRole" + case state = "State" + case displayName = "DisplayName" + case name = "Name" + case enabledDate = "EnabledDate" + } + } + + public struct ListOrganizationsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "OrganizationSummaries", required: false, type: .list) + ] + /// The token to use to retrieve the next page of results. The value is "null" when there are no more results to return. + public let nextToken: String? + /// The overview of owned organizations presented as a list of organization summaries. + public let organizationSummaries: [OrganizationSummary]? + + public init(nextToken: String? = nil, organizationSummaries: [OrganizationSummary]? = nil) { + self.nextToken = nextToken + self.organizationSummaries = organizationSummaries + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case organizationSummaries = "OrganizationSummaries" + } + } + + public struct ResetPasswordResponse: AWSShape { + + } + + public struct DescribeResourceRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "ResourceId", required: true, type: .string) + ] + /// The identifier associated with the organization for which the resource is described. + public let organizationId: String + /// The identifier of the resource to be described. + public let resourceId: String + + public init(organizationId: String, resourceId: String) { + self.organizationId = organizationId + self.resourceId = resourceId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case resourceId = "ResourceId" + } + } + + public struct DisassociateMemberFromGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "GroupId", required: true, type: .string), + AWSShapeMember(label: "MemberId", required: true, type: .string) + ] + /// The identifier for the organization under which the group exists. + public let organizationId: String + /// The identifier for the group from which members are removed. + public let groupId: String + /// The identifier for the member to be removed to the group. + public let memberId: String + + public init(organizationId: String, groupId: String, memberId: String) { + self.organizationId = organizationId + self.groupId = groupId + self.memberId = memberId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case groupId = "GroupId" + case memberId = "MemberId" + } + } + + public struct DescribeUserRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "UserId", required: true, type: .string) + ] + /// The identifier for the organization under which the user exists. + public let organizationId: String + /// The identifier for the user to be described. + public let userId: String + + public init(organizationId: String, userId: String) { + self.organizationId = organizationId + self.userId = userId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case userId = "UserId" + } + } + + public struct PutMailboxPermissionsResponse: AWSShape { + + } + + public struct ListGroupMembersResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Members", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// The members associated to the group. + public let members: [Member]? + /// The token to use to retrieve the next page of results. The first call does not contain any tokens. + public let nextToken: String? + + public init(members: [Member]? = nil, nextToken: String? = nil) { + self.members = members + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case members = "Members" + case nextToken = "NextToken" + } + } + + public struct Permission: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GranteeId", required: true, type: .string), + AWSShapeMember(label: "PermissionValues", required: true, type: .list), + AWSShapeMember(label: "GranteeType", required: true, type: .enum) + ] + /// The identifier of the entity (user or group) to which the permissions are granted. + public let granteeId: String + /// 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. + public let permissionValues: [PermissionType] + /// The type of entity (user, group) of the entity referred to in GranteeId. + public let granteeType: MemberType + + public init(granteeId: String, permissionValues: [PermissionType], granteeType: MemberType) { + self.granteeId = granteeId + self.permissionValues = permissionValues + self.granteeType = granteeType + } + + private enum CodingKeys: String, CodingKey { + case granteeId = "GranteeId" + case permissionValues = "PermissionValues" + case granteeType = "GranteeType" + } + } + + public struct DisassociateMemberFromGroupResponse: AWSShape { + + } + + public struct DescribeOrganizationResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "CompletedDate", required: false, type: .timestamp), + AWSShapeMember(label: "DefaultMailDomain", required: false, type: .string), + AWSShapeMember(label: "State", required: false, type: .string), + AWSShapeMember(label: "Alias", required: false, type: .string), + AWSShapeMember(label: "DirectoryId", required: false, type: .string), + AWSShapeMember(label: "OrganizationId", required: false, type: .string), + AWSShapeMember(label: "ErrorMessage", required: false, type: .string), + AWSShapeMember(label: "DirectoryType", required: false, type: .string) + ] + /// The date at which the organization became usable in the Amazon WorkMail context, in UNIX epoch time format. + public let completedDate: TimeStamp? + /// The default mail domain associated with the organization. + public let defaultMailDomain: String? + /// The state of an organization. + public let state: String? + /// The alias for an organization. + public let alias: String? + /// The identifier for the directory associated with an Amazon WorkMail organization. + public let directoryId: String? + /// The identifier of an organization. + public let organizationId: String? + /// The (optional) error message indicating if unexpected behavior was encountered with regards to the organization. + public let errorMessage: String? + /// The type of directory associated with the Amazon WorkMail organization. + public let directoryType: String? + + public init(completedDate: TimeStamp? = nil, defaultMailDomain: String? = nil, state: String? = nil, alias: String? = nil, directoryId: String? = nil, organizationId: String? = nil, errorMessage: String? = nil, directoryType: String? = nil) { + self.completedDate = completedDate + self.defaultMailDomain = defaultMailDomain + self.state = state + self.alias = alias + self.directoryId = directoryId + self.organizationId = organizationId + self.errorMessage = errorMessage + self.directoryType = directoryType + } + + private enum CodingKeys: String, CodingKey { + case completedDate = "CompletedDate" + case defaultMailDomain = "DefaultMailDomain" + case state = "State" + case alias = "Alias" + case directoryId = "DirectoryId" + case organizationId = "OrganizationId" + case errorMessage = "ErrorMessage" + case directoryType = "DirectoryType" + } + } + + public struct DeleteGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "OrganizationId", required: true, type: .string), + AWSShapeMember(label: "GroupId", required: true, type: .string) + ] + /// The organization that contains the group. + public let organizationId: String + /// The identifier of the group to be deleted. + public let groupId: String + + public init(organizationId: String, groupId: String) { + self.organizationId = organizationId + self.groupId = groupId + } + + private enum CodingKeys: String, CodingKey { + case organizationId = "OrganizationId" + case groupId = "GroupId" + } + } + + public struct ListMailboxPermissionsResponse: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Permissions", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// One page of the entity's mailbox permissions. + public let permissions: [Permission]? + /// The token to use to retrieve the next page of results. The value is "null" when there are no more results to return. + public let nextToken: String? + + public init(permissions: [Permission]? = nil, nextToken: String? = nil) { + self.permissions = permissions + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case permissions = "Permissions" + case nextToken = "NextToken" + } + } + +} \ No newline at end of file diff --git a/Sources/AWSSDKSwift/Services/workspaces/Workspaces_API.swift b/Sources/AWSSDKSwift/Services/workspaces/Workspaces_API.swift index aa37c7299f0..094a0402694 100644 --- a/Sources/AWSSDKSwift/Services/workspaces/Workspaces_API.swift +++ b/Sources/AWSSDKSwift/Services/workspaces/Workspaces_API.swift @@ -4,7 +4,7 @@ import Foundation import AWSSDKSwiftCore /** -Amazon WorkSpaces Service This reference provides detailed information about the Amazon WorkSpaces operations. +Amazon WorkSpaces Service Amazon WorkSpaces enables you to provision virtual, cloud-based Microsoft Windows desktops for your users. */ public struct Workspaces { @@ -25,72 +25,117 @@ public struct Workspaces { ) } - /// Stops the specified WorkSpaces. The WorkSpaces must have a running mode of AutoStop and a state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR. + /// 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. public func stopWorkspaces(_ input: StopWorkspacesRequest) throws -> StopWorkspacesResult { return try client.send(operation: "StopWorkspaces", path: "/", httpMethod: "POST", input: input) } - /// Creates tags for a WorkSpace. + /// Describes one or more of your IP access control groups. + public func describeIpGroups(_ input: DescribeIpGroupsRequest) throws -> DescribeIpGroupsResult { + return try client.send(operation: "DescribeIpGroups", path: "/", httpMethod: "POST", input: input) + } + + /// Creates the specified tags for the specified WorkSpace. public func createTags(_ input: CreateTagsRequest) throws -> CreateTagsResult { return try client.send(operation: "CreateTags", path: "/", httpMethod: "POST", input: input) } - /// Modifies the WorkSpace properties, including the running mode and AutoStop time. - public func modifyWorkspaceProperties(_ input: ModifyWorkspacePropertiesRequest) throws -> ModifyWorkspacePropertiesResult { - return try client.send(operation: "ModifyWorkspaceProperties", path: "/", httpMethod: "POST", input: input) + /// Deletes the specified IP access control group. You cannot delete an IP access control group that is associated with a directory. + public func deleteIpGroup(_ input: DeleteIpGroupRequest) throws -> DeleteIpGroupResult { + return try client.send(operation: "DeleteIpGroup", path: "/", httpMethod: "POST", input: input) } - /// Starts the specified WorkSpaces. The WorkSpaces must have a running mode of AutoStop and a state of STOPPED. - public func startWorkspaces(_ input: StartWorkspacesRequest) throws -> StartWorkspacesResult { - return try client.send(operation: "StartWorkspaces", path: "/", httpMethod: "POST", input: input) + /// Creates one or more WorkSpaces. This operation is asynchronous and returns before the WorkSpaces are created. + public func createWorkspaces(_ input: CreateWorkspacesRequest) throws -> CreateWorkspacesResult { + return try client.send(operation: "CreateWorkspaces", path: "/", httpMethod: "POST", input: input) } - /// Obtains information about the WorkSpace bundles that are available to your account in the specified region. You can filter the results with either the BundleIds parameter, or the Owner parameter, but not both. This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the NextToken response member contains a token that you pass in the next call to this operation to retrieve the next set of items. + /// Modifies the specified WorkSpace properties. + public func modifyWorkspaceProperties(_ input: ModifyWorkspacePropertiesRequest) throws -> ModifyWorkspacePropertiesResult { + return try client.send(operation: "ModifyWorkspaceProperties", path: "/", httpMethod: "POST", input: input) + } + + /// Describes the available WorkSpace bundles. You can filter the results using either bundle ID or owner, but not both. public func describeWorkspaceBundles(_ input: DescribeWorkspaceBundlesRequest) throws -> DescribeWorkspaceBundlesResult { return try client.send(operation: "DescribeWorkspaceBundles", path: "/", httpMethod: "POST", input: input) } - /// Rebuilds the specified WorkSpaces. Rebuilding a WorkSpace is a potentially destructive action that can result in the loss of data. Rebuilding a WorkSpace causes the following to occur: The system is restored to the image of the bundle that the WorkSpace is created from. Any applications that have been installed, or system settings that have been made since the WorkSpace was created will be lost. The data drive (D drive) is re-created from the last automatic snapshot taken of the data drive. The current contents of the data drive are overwritten. Automatic snapshots of the data drive are taken every 12 hours, so the snapshot can be as much as 12 hours old. To be able to rebuild a WorkSpace, the WorkSpace must have a State of AVAILABLE or ERROR. This operation is asynchronous and returns before the WorkSpaces have been completely rebuilt. - public func rebuildWorkspaces(_ input: RebuildWorkspacesRequest) throws -> RebuildWorkspacesResult { - return try client.send(operation: "RebuildWorkspaces", path: "/", httpMethod: "POST", input: input) + /// 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. + public func rebootWorkspaces(_ input: RebootWorkspacesRequest) throws -> RebootWorkspacesResult { + return try client.send(operation: "RebootWorkspaces", path: "/", httpMethod: "POST", input: input) } - /// Describes the connection status of a specified WorkSpace. + /// 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. + public func describeWorkspaces(_ input: DescribeWorkspacesRequest) throws -> DescribeWorkspacesResult { + return try client.send(operation: "DescribeWorkspaces", path: "/", httpMethod: "POST", input: input) + } + + /// Describes the connection status of the specified WorkSpaces. public func describeWorkspacesConnectionStatus(_ input: DescribeWorkspacesConnectionStatusRequest) throws -> DescribeWorkspacesConnectionStatusResult { return try client.send(operation: "DescribeWorkspacesConnectionStatus", path: "/", httpMethod: "POST", input: input) } - /// Obtains information about the specified WorkSpaces. Only one of the filter parameters, such as BundleId, DirectoryId, or WorkspaceIds, can be specified at a time. This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the NextToken response member contains a token that you pass in the next call to this operation to retrieve the next set of items. - public func describeWorkspaces(_ input: DescribeWorkspacesRequest) throws -> DescribeWorkspacesResult { - return try client.send(operation: "DescribeWorkspaces", path: "/", httpMethod: "POST", input: input) + /// Starts the specified WorkSpaces. You cannot start a WorkSpace unless it has a running mode of AutoStop and a state of STOPPED. + public func startWorkspaces(_ input: StartWorkspacesRequest) throws -> StartWorkspacesResult { + return try client.send(operation: "StartWorkspaces", path: "/", httpMethod: "POST", input: input) } - /// Creates one or more WorkSpaces. This operation is asynchronous and returns before the WorkSpaces are created. - public func createWorkspaces(_ input: CreateWorkspacesRequest) throws -> CreateWorkspacesResult { - return try client.send(operation: "CreateWorkspaces", path: "/", httpMethod: "POST", input: input) + /// 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. + public func rebuildWorkspaces(_ input: RebuildWorkspacesRequest) throws -> RebuildWorkspacesResult { + return try client.send(operation: "RebuildWorkspaces", path: "/", httpMethod: "POST", input: input) + } + + /// Removes one or more rules from the specified IP access control group. + public func revokeIpRules(_ input: RevokeIpRulesRequest) throws -> RevokeIpRulesResult { + return try client.send(operation: "RevokeIpRules", path: "/", httpMethod: "POST", input: input) + } + + /// Disassociates the specified IP access control group from the specified directory. + public func disassociateIpGroups(_ input: DisassociateIpGroupsRequest) throws -> DisassociateIpGroupsResult { + return try client.send(operation: "DisassociateIpGroups", path: "/", httpMethod: "POST", input: input) } - /// Describes tags for a WorkSpace. + /// Replaces the current rules of the specified IP access control group with the specified rules. + public func updateRulesOfIpGroup(_ input: UpdateRulesOfIpGroupRequest) throws -> UpdateRulesOfIpGroupResult { + return try client.send(operation: "UpdateRulesOfIpGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Associates the specified IP access control group with the specified directory. + public func associateIpGroups(_ input: AssociateIpGroupsRequest) throws -> AssociateIpGroupsResult { + return try client.send(operation: "AssociateIpGroups", path: "/", httpMethod: "POST", input: input) + } + + /// 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. + public func createIpGroup(_ input: CreateIpGroupRequest) throws -> CreateIpGroupResult { + return try client.send(operation: "CreateIpGroup", path: "/", httpMethod: "POST", input: input) + } + + /// Describes the specified tags for the specified WorkSpace. public func describeTags(_ input: DescribeTagsRequest) throws -> DescribeTagsResult { return try client.send(operation: "DescribeTags", path: "/", httpMethod: "POST", input: input) } - /// Reboots the specified WorkSpaces. To be able to reboot a WorkSpace, the WorkSpace must have a State of AVAILABLE, IMPAIRED, or INOPERABLE. This operation is asynchronous and returns before the WorkSpaces have rebooted. - public func rebootWorkspaces(_ input: RebootWorkspacesRequest) throws -> RebootWorkspacesResult { - return try client.send(operation: "RebootWorkspaces", path: "/", httpMethod: "POST", input: input) + /// 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. + public func modifyWorkspaceState(_ input: ModifyWorkspaceStateRequest) throws -> ModifyWorkspaceStateResult { + return try client.send(operation: "ModifyWorkspaceState", path: "/", httpMethod: "POST", input: input) } - /// Deletes tags from a WorkSpace. + /// Deletes the specified tags from the specified WorkSpace. public func deleteTags(_ input: DeleteTagsRequest) throws -> DeleteTagsResult { return try client.send(operation: "DeleteTags", path: "/", httpMethod: "POST", input: input) } - /// Retrieves information about the AWS Directory Service directories in the region that are registered with Amazon WorkSpaces and are available to your account. This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the NextToken response member contains a token that you pass in the next call to this operation to retrieve the next set of items. + /// 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. + public func authorizeIpRules(_ input: AuthorizeIpRulesRequest) throws -> AuthorizeIpRulesResult { + return try client.send(operation: "AuthorizeIpRules", path: "/", httpMethod: "POST", input: input) + } + + /// Describes the available AWS Directory Service directories that are registered with Amazon WorkSpaces. public func describeWorkspaceDirectories(_ input: DescribeWorkspaceDirectoriesRequest) throws -> DescribeWorkspaceDirectoriesResult { return try client.send(operation: "DescribeWorkspaceDirectories", path: "/", httpMethod: "POST", input: input) } - /// Terminates the specified WorkSpaces. Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is not maintained and will be destroyed. If you need to archive any user data, contact Amazon Web Services before terminating the WorkSpace. You can terminate a WorkSpace that is in any state except SUSPENDED. This operation is asynchronous and returns before the WorkSpaces have been completely terminated. + /// 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. public func terminateWorkspaces(_ input: TerminateWorkspacesRequest) throws -> TerminateWorkspacesResult { return try client.send(operation: "TerminateWorkspaces", path: "/", httpMethod: "POST", input: input) } diff --git a/Sources/AWSSDKSwift/Services/workspaces/Workspaces_Error.swift b/Sources/AWSSDKSwift/Services/workspaces/Workspaces_Error.swift index b612de6573a..7d4db8423bb 100644 --- a/Sources/AWSSDKSwift/Services/workspaces/Workspaces_Error.swift +++ b/Sources/AWSSDKSwift/Services/workspaces/Workspaces_Error.swift @@ -4,14 +4,18 @@ import AWSSDKSwiftCore /// Error enum for Workspaces public enum WorkspacesError: AWSErrorType { - case resourceNotFoundException(message: String?) case invalidParameterValuesException(message: String?) + case accessDeniedException(message: String?) + case resourceNotFoundException(message: String?) case resourceLimitExceededException(message: String?) + case resourceAssociatedException(message: String?) case invalidResourceStateException(message: String?) case operationInProgressException(message: String?) case unsupportedWorkspaceConfigurationException(message: String?) - case accessDeniedException(message: String?) case resourceUnavailableException(message: String?) + case operationNotSupportedException(message: String?) + case resourceAlreadyExistsException(message: String?) + case resourceCreationFailedException(message: String?) } extension WorkspacesError { @@ -21,22 +25,30 @@ extension WorkspacesError { errorCode = String(errorCode[errorCode.index(index, offsetBy: 1)...]) } switch errorCode { - case "ResourceNotFoundException": - self = .resourceNotFoundException(message: message) case "InvalidParameterValuesException": self = .invalidParameterValuesException(message: message) + case "AccessDeniedException": + self = .accessDeniedException(message: message) + case "ResourceNotFoundException": + self = .resourceNotFoundException(message: message) case "ResourceLimitExceededException": self = .resourceLimitExceededException(message: message) + case "ResourceAssociatedException": + self = .resourceAssociatedException(message: message) case "InvalidResourceStateException": self = .invalidResourceStateException(message: message) case "OperationInProgressException": self = .operationInProgressException(message: message) case "UnsupportedWorkspaceConfigurationException": self = .unsupportedWorkspaceConfigurationException(message: message) - case "AccessDeniedException": - self = .accessDeniedException(message: message) case "ResourceUnavailableException": self = .resourceUnavailableException(message: message) + case "OperationNotSupportedException": + self = .operationNotSupportedException(message: message) + case "ResourceAlreadyExistsException": + self = .resourceAlreadyExistsException(message: message) + case "ResourceCreationFailedException": + self = .resourceCreationFailedException(message: message) default: return nil } diff --git a/Sources/AWSSDKSwift/Services/workspaces/Workspaces_Shapes.swift b/Sources/AWSSDKSwift/Services/workspaces/Workspaces_Shapes.swift index 79079d573d9..6d976d9faca 100644 --- a/Sources/AWSSDKSwift/Services/workspaces/Workspaces_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/workspaces/Workspaces_Shapes.swift @@ -10,9 +10,9 @@ extension Workspaces { AWSShapeMember(label: "ResourceId", required: true, type: .string), AWSShapeMember(label: "Tags", required: true, type: .list) ] - /// The resource ID of the request. + /// The ID of the WorkSpace. To find this ID, use DescribeWorkspaces. public let resourceId: String - /// The tags of the request. + /// The tags. Each WorkSpace can have a maximum of 50 tags. public let tags: [Tag] public init(resourceId: String, tags: [Tag]) { @@ -26,11 +26,15 @@ extension Workspaces { } } + public struct DisassociateIpGroupsResult: AWSShape { + + } + public struct TerminateWorkspacesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TerminateWorkspaceRequests", required: true, type: .list) ] - /// An array of structures that specify the WorkSpaces to terminate. + /// The WorkSpaces to terminate. You can specify up to 25 WorkSpaces. public let terminateWorkspaceRequests: [TerminateRequest] public init(terminateWorkspaceRequests: [TerminateRequest]) { @@ -46,6 +50,8 @@ extension Workspaces { case value = "VALUE" case standard = "STANDARD" case performance = "PERFORMANCE" + case power = "POWER" + case graphics = "GRAPHICS" public var description: String { return self.rawValue } } @@ -57,7 +63,7 @@ extension Workspaces { ] /// The textual error message. public let errorMessage: String? - /// A FailedCreateWorkspaceRequest$WorkspaceRequest object that contains the information about the WorkSpace that could not be created. + /// Information about the WorkSpace. public let workspaceRequest: WorkspaceRequest? /// The error code. public let errorCode: String? @@ -81,11 +87,11 @@ extension Workspaces { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "BundleIds", required: false, type: .list) ] - /// The owner of the bundles to retrieve. This parameter cannot be combined with any other filter parameter. This contains one of the following values: null- Retrieves the bundles that belong to the account making the call. AMAZON- Retrieves the bundles that are provided by AWS. + /// 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. public let owner: String? - /// The NextToken value from a previous call to this operation. Pass null if this is the first call. + /// The token for the next set of results. (You received this token from a previous call.) public let nextToken: String? - /// An array of strings that contains the identifiers of the bundles to retrieve. This parameter cannot be combined with any other filter parameter. + /// The IDs of the bundles. This parameter cannot be combined with any other filter. public let bundleIds: [String]? public init(owner: String? = nil, nextToken: String? = nil, bundleIds: [String]? = nil) { @@ -101,11 +107,27 @@ extension Workspaces { } } + public struct CreateIpGroupResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GroupId", required: false, type: .string) + ] + /// The ID of the group. + public let groupId: String? + + public init(groupId: String? = nil) { + self.groupId = groupId + } + + private enum CodingKeys: String, CodingKey { + case groupId = "GroupId" + } + } + public struct UserStorage: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Capacity", required: false, type: .string) ] - /// The amount of user storage for the bundle. + /// The size of the user storage. public let capacity: String? public init(capacity: String? = nil) { @@ -119,42 +141,68 @@ extension Workspaces { public struct WorkspaceBundle: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Description", required: false, type: .string), + AWSShapeMember(label: "RootStorage", required: false, type: .structure), AWSShapeMember(label: "ComputeType", required: false, type: .structure), - AWSShapeMember(label: "UserStorage", required: false, type: .structure), - AWSShapeMember(label: "Owner", required: false, type: .string), AWSShapeMember(label: "Name", required: false, type: .string), - AWSShapeMember(label: "BundleId", required: false, type: .string) + AWSShapeMember(label: "Owner", required: false, type: .string), + AWSShapeMember(label: "UserStorage", required: false, type: .structure), + AWSShapeMember(label: "BundleId", required: false, type: .string), + AWSShapeMember(label: "Description", required: false, type: .string) ] - /// The bundle description. - public let description: String? - /// A ComputeType object that specifies the compute type for the bundle. + /// The size of the root volume. + public let rootStorage: RootStorage? + /// The compute type. For more information, see Amazon WorkSpaces Bundles. public let computeType: ComputeType? - /// A UserStorage object that specifies the amount of user storage that the bundle contains. - public let userStorage: UserStorage? - /// The owner of the bundle. This contains the owner's account identifier, or AMAZON if the bundle is provided by AWS. - public let owner: String? /// The name of the bundle. public let name: String? + /// The owner of the bundle. This is the account identifier of the owner, or AMAZON if the bundle is provided by AWS. + public let owner: String? + /// The size of the user storage. + public let userStorage: UserStorage? /// The bundle identifier. public let bundleId: String? + /// A description. + public let description: String? - public init(description: String? = nil, computeType: ComputeType? = nil, userStorage: UserStorage? = nil, owner: String? = nil, name: String? = nil, bundleId: String? = nil) { - self.description = description + public init(rootStorage: RootStorage? = nil, computeType: ComputeType? = nil, name: String? = nil, owner: String? = nil, userStorage: UserStorage? = nil, bundleId: String? = nil, description: String? = nil) { + self.rootStorage = rootStorage self.computeType = computeType - self.userStorage = userStorage - self.owner = owner self.name = name + self.owner = owner + self.userStorage = userStorage self.bundleId = bundleId + self.description = description } private enum CodingKeys: String, CodingKey { - case description = "Description" + case rootStorage = "RootStorage" case computeType = "ComputeType" - case userStorage = "UserStorage" - case owner = "Owner" case name = "Name" + case owner = "Owner" + case userStorage = "UserStorage" case bundleId = "BundleId" + case description = "Description" + } + } + + public struct RevokeIpRulesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserRules", required: true, type: .list), + AWSShapeMember(label: "GroupId", required: true, type: .string) + ] + /// The rules to remove from the group. + public let userRules: [String] + /// The ID of the group. + public let groupId: String + + public init(userRules: [String], groupId: String) { + self.userRules = userRules + self.groupId = groupId + } + + private enum CodingKeys: String, CodingKey { + case userRules = "UserRules" + case groupId = "GroupId" } } @@ -162,7 +210,7 @@ extension Workspaces { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FailedRequests", required: false, type: .list) ] - /// An array of structures representing any WorkSpaces that could not be rebooted. + /// Information about the WorkSpaces that could not be rebooted. public let failedRequests: [FailedWorkspaceChangeRequest]? public init(failedRequests: [FailedWorkspaceChangeRequest]? = nil) { @@ -178,7 +226,7 @@ extension Workspaces { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ResourceId", required: true, type: .string) ] - /// The resource ID of the request. + /// The ID of the WorkSpace. To find this ID, use DescribeWorkspaces. public let resourceId: String public init(resourceId: String) { @@ -195,9 +243,9 @@ extension Workspaces { AWSShapeMember(label: "FailedRequests", required: false, type: .list), AWSShapeMember(label: "PendingRequests", required: false, type: .list) ] - /// An array of structures that represent the WorkSpaces that could not be created. + /// Information about the WorkSpaces that could not be created. public let failedRequests: [FailedCreateWorkspaceRequest]? - /// An array of structures that represent the WorkSpaces that were created. Because this operation is asynchronous, the identifier in WorkspaceId is not immediately available. If you immediately call DescribeWorkspaces with this identifier, no information will be returned. + /// 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. public let pendingRequests: [Workspace]? public init(failedRequests: [FailedCreateWorkspaceRequest]? = nil, pendingRequests: [Workspace]? = nil) { @@ -211,6 +259,27 @@ extension Workspaces { } } + public struct DescribeIpGroupsResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Result", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// Information about the IP access control groups. + public let result: [WorkspacesIpGroup]? + /// 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. + public let nextToken: String? + + public init(result: [WorkspacesIpGroup]? = nil, nextToken: String? = nil) { + self.result = result + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case result = "Result" + case nextToken = "NextToken" + } + } + public struct CreateTagsResult: AWSShape { } @@ -219,7 +288,7 @@ extension Workspaces { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RebootWorkspaceRequests", required: true, type: .list) ] - /// An array of structures that specify the WorkSpaces to reboot. + /// The WorkSpaces to reboot. You can specify up to 25 WorkSpaces. public let rebootWorkspaceRequests: [RebootRequest] public init(rebootWorkspaceRequests: [RebootRequest]) { @@ -261,9 +330,9 @@ extension Workspaces { AWSShapeMember(label: "WorkspacesConnectionStatus", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// The connection status of the WorkSpace. + /// Information about the connection status of the WorkSpace. public let workspacesConnectionStatus: [WorkspaceConnectionStatus]? - /// The next token of the result. + /// The token to use to retrieve the next set of results, or null if there are no more results available. public let nextToken: String? public init(workspacesConnectionStatus: [WorkspaceConnectionStatus]? = nil, nextToken: String? = nil) { @@ -296,7 +365,7 @@ extension Workspaces { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StartWorkspaceRequests", required: true, type: .list) ] - /// The requests. + /// The WorkSpaces to start. You can specify up to 25 WorkSpaces. public let startWorkspaceRequests: [StartRequest] public init(startWorkspaceRequests: [StartRequest]) { @@ -317,9 +386,11 @@ extension Workspaces { case starting = "STARTING" case rebuilding = "REBUILDING" case maintenance = "MAINTENANCE" + case adminMaintenance = "ADMIN_MAINTENANCE" case terminating = "TERMINATING" case terminated = "TERMINATED" case suspended = "SUSPENDED" + case updating = "UPDATING" case stopping = "STOPPING" case stopped = "STOPPED" case error = "ERROR" @@ -330,7 +401,7 @@ extension Workspaces { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Name", required: false, type: .enum) ] - /// The name of the compute type for the bundle. + /// The compute type. public let name: Compute? public init(name: Compute? = nil) { @@ -342,6 +413,33 @@ extension Workspaces { } } + public struct UpdateRulesOfIpGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserRules", required: true, type: .list), + AWSShapeMember(label: "GroupId", required: true, type: .string) + ] + /// One or more rules. + public let userRules: [IpRuleItem] + /// The ID of the group. + public let groupId: String + + public init(userRules: [IpRuleItem], groupId: String) { + self.userRules = userRules + self.groupId = groupId + } + + private enum CodingKeys: String, CodingKey { + case userRules = "UserRules" + case groupId = "GroupId" + } + } + + public enum TargetWorkspaceState: String, CustomStringConvertible, Codable { + case available = "AVAILABLE" + case adminMaintenance = "ADMIN_MAINTENANCE" + public var description: String { return self.rawValue } + } + public struct FailedWorkspaceChangeRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ErrorMessage", required: false, type: .string), @@ -368,6 +466,37 @@ extension Workspaces { } } + public struct WorkspacesIpGroup: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "groupId", required: false, type: .string), + AWSShapeMember(label: "userRules", required: false, type: .list), + AWSShapeMember(label: "groupName", required: false, type: .string), + AWSShapeMember(label: "groupDesc", required: false, type: .string) + ] + /// The ID of the group. + public let groupId: String? + /// The rules. + public let userRules: [IpRuleItem]? + /// The name of the group. + public let groupName: String? + /// The description of the group. + public let groupDesc: String? + + public init(groupId: String? = nil, userRules: [IpRuleItem]? = nil, groupName: String? = nil, groupDesc: String? = nil) { + self.groupId = groupId + self.userRules = userRules + self.groupName = groupName + self.groupDesc = groupDesc + } + + private enum CodingKeys: String, CodingKey { + case groupId = "groupId" + case userRules = "userRules" + case groupName = "groupName" + case groupDesc = "groupDesc" + } + } + public struct StopRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "WorkspaceId", required: false, type: .string) @@ -400,6 +529,47 @@ extension Workspaces { } } + public struct DeleteIpGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GroupId", required: true, type: .string) + ] + /// The ID of the IP access control group. + public let groupId: String + + public init(groupId: String) { + self.groupId = groupId + } + + private enum CodingKeys: String, CodingKey { + case groupId = "GroupId" + } + } + + public struct RevokeIpRulesResult: AWSShape { + + } + + public struct AuthorizeIpRulesRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserRules", required: true, type: .list), + AWSShapeMember(label: "GroupId", required: true, type: .string) + ] + /// The rules to add to the group. + public let userRules: [IpRuleItem] + /// The ID of the group. + public let groupId: String + + public init(userRules: [IpRuleItem], groupId: String) { + self.userRules = userRules + self.groupId = groupId + } + + private enum CodingKeys: String, CodingKey { + case userRules = "UserRules" + case groupId = "GroupId" + } + } + public struct DefaultWorkspaceCreationProperties: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DefaultOu", required: false, type: .string), @@ -408,15 +578,15 @@ extension Workspaces { AWSShapeMember(label: "UserEnabledAsLocalAdministrator", required: false, type: .boolean), AWSShapeMember(label: "EnableWorkDocs", required: false, type: .boolean) ] - /// The organizational unit (OU) in the directory that the WorkSpace machine accounts are placed in. + /// The organizational unit (OU) in the directory for the WorkSpace machine accounts. public let defaultOu: String? - /// The identifier of any custom security groups that are applied to the WorkSpaces when they are created. + /// The identifier of any security groups to apply to WorkSpaces when they are created. public let customSecurityGroupId: String? - /// A public IP address will be attached to all WorkSpaces that are created or rebuilt. + /// The public IP address to attach to all WorkSpaces that are created or rebuilt. public let enableInternetAccess: Bool? - /// The WorkSpace user is an administrator on the WorkSpace. + /// Indicates whether the WorkSpace user is an administrator on the WorkSpace. public let userEnabledAsLocalAdministrator: Bool? - /// Specifies if the directory is enabled for Amazon WorkDocs. + /// Indicates whether the directory is enabled for Amazon WorkDocs. public let enableWorkDocs: Bool? public init(defaultOu: String? = nil, customSecurityGroupId: String? = nil, enableInternetAccess: Bool? = nil, userEnabledAsLocalAdministrator: Bool? = nil, enableWorkDocs: Bool? = nil) { @@ -440,7 +610,7 @@ extension Workspaces { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "StopWorkspaceRequests", required: true, type: .list) ] - /// The requests. + /// The WorkSpaces to stop. You can specify up to 25 WorkSpaces. public let stopWorkspaceRequests: [StopRequest] public init(stopWorkspaceRequests: [StopRequest]) { @@ -452,6 +622,12 @@ extension Workspaces { } } + public enum ModificationStateEnum: String, CustomStringConvertible, Codable { + case updateInitiated = "UPDATE_INITIATED" + case updateInProgress = "UPDATE_IN_PROGRESS" + public var description: String { return self.rawValue } + } + public struct DescribeWorkspacesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "DirectoryId", required: false, type: .string), @@ -461,17 +637,17 @@ extension Workspaces { AWSShapeMember(label: "WorkspaceIds", required: false, type: .list), AWSShapeMember(label: "BundleId", required: false, type: .string) ] - /// Specifies the directory identifier to which to limit the WorkSpaces. Optionally, you can specify a specific directory user with the UserName parameter. This parameter cannot be combined with any other filter parameter. + /// 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. public let directoryId: String? - /// Used with the DirectoryId parameter to specify the directory user for whom to obtain the WorkSpace. + /// The name of the directory user. You must specify this parameter with DirectoryId. public let userName: String? /// The maximum number of items to return. public let limit: Int32? - /// The NextToken value from a previous call to this operation. Pass null if this is the first call. + /// The token for the next set of results. (You received this token from a previous call.) public let nextToken: String? - /// An array of strings that contain the identifiers of the WorkSpaces for which to retrieve information. This parameter cannot be combined with any other filter parameter. Because the CreateWorkspaces operation is asynchronous, the identifier it returns is not immediately available. If you immediately call DescribeWorkspaces with this identifier, no information is returned. + /// 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. public let workspaceIds: [String]? - /// The identifier of a bundle to obtain the WorkSpaces for. All WorkSpaces that are created from this bundle will be retrieved. This parameter cannot be combined with any other filter parameter. + /// The ID of the bundle. All WorkSpaces that are created from this bundle are retrieved. This parameter cannot be combined with any other filter. public let bundleId: String? public init(directoryId: String? = nil, userName: String? = nil, limit: Int32? = nil, nextToken: String? = nil, workspaceIds: [String]? = nil, bundleId: String? = nil) { @@ -497,7 +673,7 @@ extension Workspaces { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FailedRequests", required: false, type: .list) ] - /// An array of structures representing any WorkSpaces that could not be rebuilt. + /// Information about the WorkSpace if it could not be rebuilt. public let failedRequests: [FailedWorkspaceChangeRequest]? public init(failedRequests: [FailedWorkspaceChangeRequest]? = nil) { @@ -513,7 +689,7 @@ extension Workspaces { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "WorkspaceId", required: true, type: .string) ] - /// The identifier of the WorkSpace to reboot. + /// The ID of the WorkSpace. public let workspaceId: String public init(workspaceId: String) { @@ -530,9 +706,9 @@ extension Workspaces { AWSShapeMember(label: "WorkspaceIds", required: false, type: .list), AWSShapeMember(label: "NextToken", required: false, type: .string) ] - /// An array of strings that contain the identifiers of the WorkSpaces. + /// The identifiers of the WorkSpaces. You can specify up to 25 WorkSpaces. public let workspaceIds: [String]? - /// The next token of the request. + /// The token for the next set of results. (You received this token from a previous call.) public let nextToken: String? public init(workspaceIds: [String]? = nil, nextToken: String? = nil) { @@ -555,7 +731,7 @@ extension Workspaces { ] /// The ID of the WorkSpace. public let workspaceId: String? - /// The connection state of the WorkSpace. Returns UNKOWN if the WorkSpace is in a Stopped state. + /// The connection state of the WorkSpace. The connection state is unknown if the WorkSpace is stopped. public let connectionState: ConnectionState? /// The timestamp of the last known user connection. public let lastKnownUserConnectionTimestamp: TimeStamp? @@ -577,11 +753,37 @@ extension Workspaces { } } + public struct DescribeIpGroupsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "NextToken", required: false, type: .string), + AWSShapeMember(label: "GroupIds", required: false, type: .list), + AWSShapeMember(label: "MaxResults", required: false, type: .integer) + ] + /// The token for the next set of results. (You received this token from a previous call.) + public let nextToken: String? + /// The IDs of one or more IP access control groups. + public let groupIds: [String]? + /// The maximum number of items to return. + public let maxResults: Int32? + + public init(nextToken: String? = nil, groupIds: [String]? = nil, maxResults: Int32? = nil) { + self.nextToken = nextToken + self.groupIds = groupIds + self.maxResults = maxResults + } + + private enum CodingKeys: String, CodingKey { + case nextToken = "NextToken" + case groupIds = "GroupIds" + case maxResults = "MaxResults" + } + } + public struct DescribeTagsResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TagList", required: false, type: .list) ] - /// The list of tags. + /// The tags. public let tagList: [Tag]? public init(tagList: [Tag]? = nil) { @@ -600,14 +802,30 @@ extension Workspaces { public var description: String { return self.rawValue } } + public struct RootStorage: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Capacity", required: false, type: .string) + ] + /// The size of the root volume. + public let capacity: String? + + public init(capacity: String? = nil) { + self.capacity = capacity + } + + private enum CodingKeys: String, CodingKey { + case capacity = "Capacity" + } + } + public struct DescribeWorkspacesResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "Workspaces", required: false, type: .list) ] - /// If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to this operation to retrieve the next set of items. This token is valid for one day and must be used within that time frame. + /// 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. public let nextToken: String? - /// An array of structures that contain the information about the WorkSpaces. Because the CreateWorkspaces operation is asynchronous, some of this information may be incomplete for a newly-created WorkSpace. + /// Information about the WorkSpaces. Because CreateWorkspaces is an asynchronous operation, some of the returned information could be incomplete. public let workspaces: [Workspace]? public init(nextToken: String? = nil, workspaces: [Workspace]? = nil) { @@ -621,25 +839,8 @@ extension Workspaces { } } - public struct WorkspaceProperties: AWSShape { - public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "RunningMode", required: false, type: .enum), - AWSShapeMember(label: "RunningModeAutoStopTimeoutInMinutes", required: false, type: .integer) - ] - /// The running mode of the WorkSpace. AlwaysOn WorkSpaces are billed monthly. AutoStop WorkSpaces are billed by the hour and stopped when no longer being used in order to save on costs. - public let runningMode: RunningMode? - /// The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60 minute intervals. - public let runningModeAutoStopTimeoutInMinutes: Int32? + public struct DeleteIpGroupResult: AWSShape { - public init(runningMode: RunningMode? = nil, runningModeAutoStopTimeoutInMinutes: Int32? = nil) { - self.runningMode = runningMode - self.runningModeAutoStopTimeoutInMinutes = runningModeAutoStopTimeoutInMinutes - } - - private enum CodingKeys: String, CodingKey { - case runningMode = "RunningMode" - case runningModeAutoStopTimeoutInMinutes = "RunningModeAutoStopTimeoutInMinutes" - } } public struct ModifyWorkspacePropertiesRequest: AWSShape { @@ -649,7 +850,7 @@ extension Workspaces { ] /// The ID of the WorkSpace. public let workspaceId: String - /// The WorkSpace properties of the request. + /// The properties of the WorkSpace. public let workspaceProperties: WorkspaceProperties public init(workspaceId: String, workspaceProperties: WorkspaceProperties) { @@ -668,9 +869,9 @@ extension Workspaces { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "Bundles", required: false, type: .list) ] - /// If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to this operation to retrieve the next set of items. This token is valid for one day and must be used within that time frame. + /// 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. public let nextToken: String? - /// An array of structures that contain information about the bundles. + /// Information about the bundles. public let bundles: [WorkspaceBundle]? public init(nextToken: String? = nil, bundles: [WorkspaceBundle]? = nil) { @@ -684,14 +885,50 @@ extension Workspaces { } } + public struct WorkspaceProperties: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserVolumeSizeGib", required: false, type: .integer), + AWSShapeMember(label: "RunningMode", required: false, type: .enum), + AWSShapeMember(label: "RunningModeAutoStopTimeoutInMinutes", required: false, type: .integer), + AWSShapeMember(label: "RootVolumeSizeGib", required: false, type: .integer), + AWSShapeMember(label: "ComputeTypeName", required: false, type: .enum) + ] + /// The size of the user storage. + public let userVolumeSizeGib: Int32? + /// The running mode. For more information, see Manage the WorkSpace Running Mode. + public let runningMode: RunningMode? + /// The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60 minute intervals. + public let runningModeAutoStopTimeoutInMinutes: Int32? + /// The size of the root volume. + public let rootVolumeSizeGib: Int32? + /// The compute type. For more information, see Amazon WorkSpaces Bundles. + public let computeTypeName: Compute? + + public init(userVolumeSizeGib: Int32? = nil, runningMode: RunningMode? = nil, runningModeAutoStopTimeoutInMinutes: Int32? = nil, rootVolumeSizeGib: Int32? = nil, computeTypeName: Compute? = nil) { + self.userVolumeSizeGib = userVolumeSizeGib + self.runningMode = runningMode + self.runningModeAutoStopTimeoutInMinutes = runningModeAutoStopTimeoutInMinutes + self.rootVolumeSizeGib = rootVolumeSizeGib + self.computeTypeName = computeTypeName + } + + private enum CodingKeys: String, CodingKey { + case userVolumeSizeGib = "UserVolumeSizeGib" + case runningMode = "RunningMode" + case runningModeAutoStopTimeoutInMinutes = "RunningModeAutoStopTimeoutInMinutes" + case rootVolumeSizeGib = "RootVolumeSizeGib" + case computeTypeName = "ComputeTypeName" + } + } + public struct DeleteTagsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ResourceId", required: true, type: .string), AWSShapeMember(label: "TagKeys", required: true, type: .list) ] - /// The resource ID of the request. + /// The ID of the WorkSpace. To find this ID, use DescribeWorkspaces. public let resourceId: String - /// The tag keys of the request. + /// The tag keys. public let tagKeys: [String] public init(resourceId: String, tagKeys: [String]) { @@ -705,6 +942,78 @@ extension Workspaces { } } + public struct ModifyWorkspaceStateRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "WorkspaceId", required: true, type: .string), + AWSShapeMember(label: "WorkspaceState", required: true, type: .enum) + ] + /// The ID of the WorkSpace. + public let workspaceId: String + /// The WorkSpace state. + public let workspaceState: TargetWorkspaceState + + public init(workspaceId: String, workspaceState: TargetWorkspaceState) { + self.workspaceId = workspaceId + self.workspaceState = workspaceState + } + + private enum CodingKeys: String, CodingKey { + case workspaceId = "WorkspaceId" + case workspaceState = "WorkspaceState" + } + } + + public struct ModificationState: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Resource", required: false, type: .enum), + AWSShapeMember(label: "State", required: false, type: .enum) + ] + /// The resource. + public let resource: ModificationResourceEnum? + /// The modification state. + public let state: ModificationStateEnum? + + public init(resource: ModificationResourceEnum? = nil, state: ModificationStateEnum? = nil) { + self.resource = resource + self.state = state + } + + private enum CodingKeys: String, CodingKey { + case resource = "Resource" + case state = "State" + } + } + + public struct ModifyWorkspaceStateResult: AWSShape { + + } + + public struct CreateIpGroupRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "UserRules", required: false, type: .list), + AWSShapeMember(label: "GroupDesc", required: false, type: .string), + AWSShapeMember(label: "GroupName", required: true, type: .string) + ] + /// The rules to add to the group. + public let userRules: [IpRuleItem]? + /// The description of the group. + public let groupDesc: String? + /// The name of the group. + public let groupName: String + + public init(userRules: [IpRuleItem]? = nil, groupDesc: String? = nil, groupName: String) { + self.userRules = userRules + self.groupDesc = groupDesc + self.groupName = groupName + } + + private enum CodingKeys: String, CodingKey { + case userRules = "UserRules" + case groupDesc = "GroupDesc" + case groupName = "GroupName" + } + } + public struct Workspace: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "SubnetId", required: false, type: .string), @@ -714,6 +1023,7 @@ extension Workspaces { AWSShapeMember(label: "DirectoryId", required: false, type: .string), AWSShapeMember(label: "WorkspaceProperties", required: false, type: .structure), AWSShapeMember(label: "ComputerName", required: false, type: .string), + AWSShapeMember(label: "ModificationStates", required: false, type: .list), AWSShapeMember(label: "ErrorMessage", required: false, type: .string), AWSShapeMember(label: "ErrorCode", required: false, type: .string), AWSShapeMember(label: "BundleId", required: false, type: .string), @@ -722,26 +1032,29 @@ extension Workspaces { AWSShapeMember(label: "VolumeEncryptionKey", required: false, type: .string), AWSShapeMember(label: "IpAddress", required: false, type: .string) ] - /// The identifier of the subnet that the WorkSpace is in. + /// The identifier of the subnet for the WorkSpace. public let subnetId: String? - /// The user that the WorkSpace is assigned to. + /// The user for the WorkSpace. public let userName: String? /// The operational state of the WorkSpace. public let state: WorkspaceState? - /// Specifies whether the data stored on the root volume, or C: drive, is encrypted. + /// Indicates whether the data stored on the root volume is encrypted. public let rootVolumeEncryptionEnabled: Bool? - /// The identifier of the AWS Directory Service directory that the WorkSpace belongs to. + /// The identifier of the AWS Directory Service directory for the WorkSpace. public let directoryId: String? + /// The properties of the WorkSpace. public let workspaceProperties: WorkspaceProperties? - /// The name of the WorkSpace as seen by the operating system. + /// The name of the WorkSpace, as seen by the operating system. public let computerName: String? - /// If the WorkSpace could not be created, this contains a textual error message that describes the failure. + /// The modification states of the WorkSpace. + public let modificationStates: [ModificationState]? + /// If the WorkSpace could not be created, contains a textual error message that describes the failure. public let errorMessage: String? - /// If the WorkSpace could not be created, this contains the error code. + /// If the WorkSpace could not be created, contains the error code. public let errorCode: String? - /// The identifier of the bundle that the WorkSpace was created from. + /// The identifier of the bundle used to create the WorkSpace. public let bundleId: String? - /// Specifies whether the data stored on the user volume, or D: drive, is encrypted. + /// Indicates whether the data stored on the user volume is encrypted. public let userVolumeEncryptionEnabled: Bool? /// The identifier of the WorkSpace. public let workspaceId: String? @@ -750,7 +1063,7 @@ extension Workspaces { /// The IP address of the WorkSpace. public let ipAddress: String? - public init(subnetId: String? = nil, userName: String? = nil, state: WorkspaceState? = nil, rootVolumeEncryptionEnabled: Bool? = nil, directoryId: String? = nil, workspaceProperties: WorkspaceProperties? = nil, computerName: String? = nil, errorMessage: String? = nil, errorCode: String? = nil, bundleId: String? = nil, userVolumeEncryptionEnabled: Bool? = nil, workspaceId: String? = nil, volumeEncryptionKey: String? = nil, ipAddress: String? = nil) { + public init(subnetId: String? = nil, userName: String? = nil, state: WorkspaceState? = nil, rootVolumeEncryptionEnabled: Bool? = nil, directoryId: String? = nil, workspaceProperties: WorkspaceProperties? = nil, computerName: String? = nil, modificationStates: [ModificationState]? = nil, errorMessage: String? = nil, errorCode: String? = nil, bundleId: String? = nil, userVolumeEncryptionEnabled: Bool? = nil, workspaceId: String? = nil, volumeEncryptionKey: String? = nil, ipAddress: String? = nil) { self.subnetId = subnetId self.userName = userName self.state = state @@ -758,6 +1071,7 @@ extension Workspaces { self.directoryId = directoryId self.workspaceProperties = workspaceProperties self.computerName = computerName + self.modificationStates = modificationStates self.errorMessage = errorMessage self.errorCode = errorCode self.bundleId = bundleId @@ -775,6 +1089,7 @@ extension Workspaces { case directoryId = "DirectoryId" case workspaceProperties = "WorkspaceProperties" case computerName = "ComputerName" + case modificationStates = "ModificationStates" case errorMessage = "ErrorMessage" case errorCode = "ErrorCode" case bundleId = "BundleId" @@ -785,11 +1100,32 @@ extension Workspaces { } } + public struct DescribeWorkspaceDirectoriesResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Directories", required: false, type: .list), + AWSShapeMember(label: "NextToken", required: false, type: .string) + ] + /// Information about the directories. + public let directories: [WorkspaceDirectory]? + /// 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. + public let nextToken: String? + + public init(directories: [WorkspaceDirectory]? = nil, nextToken: String? = nil) { + self.directories = directories + self.nextToken = nextToken + } + + private enum CodingKeys: String, CodingKey { + case directories = "Directories" + case nextToken = "NextToken" + } + } + public struct RebuildWorkspacesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "RebuildWorkspaceRequests", required: true, type: .list) ] - /// An array of structures that specify the WorkSpaces to rebuild. + /// The WorkSpace to rebuild. You can specify a single WorkSpace. public let rebuildWorkspaceRequests: [RebuildRequest] public init(rebuildWorkspaceRequests: [RebuildRequest]) { @@ -801,24 +1137,24 @@ extension Workspaces { } } - public struct DescribeWorkspaceDirectoriesResult: AWSShape { + public struct DisassociateIpGroupsRequest: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "Directories", required: false, type: .list), - AWSShapeMember(label: "NextToken", required: false, type: .string) + AWSShapeMember(label: "GroupIds", required: true, type: .list), + AWSShapeMember(label: "DirectoryId", required: true, type: .string) ] - /// An array of structures that contain information about the directories. - public let directories: [WorkspaceDirectory]? - /// If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to this operation to retrieve the next set of items. This token is valid for one day and must be used within that time frame. - public let nextToken: String? + /// The IDs of one or more IP access control groups. + public let groupIds: [String] + /// The ID of the directory. + public let directoryId: String - public init(directories: [WorkspaceDirectory]? = nil, nextToken: String? = nil) { - self.directories = directories - self.nextToken = nextToken + public init(groupIds: [String], directoryId: String) { + self.groupIds = groupIds + self.directoryId = directoryId } private enum CodingKeys: String, CodingKey { - case directories = "Directories" - case nextToken = "NextToken" + case groupIds = "GroupIds" + case directoryId = "DirectoryId" } } @@ -826,7 +1162,7 @@ extension Workspaces { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FailedRequests", required: false, type: .list) ] - /// An array of structures representing any WorkSpaces that could not be terminated. + /// Information about the WorkSpaces that could not be terminated. public let failedRequests: [FailedWorkspaceChangeRequest]? public init(failedRequests: [FailedWorkspaceChangeRequest]? = nil) { @@ -842,7 +1178,7 @@ extension Workspaces { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FailedRequests", required: false, type: .list) ] - /// The failed requests. + /// Information about the WorkSpaces that could not be stopped. public let failedRequests: [FailedWorkspaceChangeRequest]? public init(failedRequests: [FailedWorkspaceChangeRequest]? = nil) { @@ -864,7 +1200,7 @@ extension Workspaces { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "WorkspaceId", required: true, type: .string) ] - /// The identifier of the WorkSpace to rebuild. + /// The ID of the WorkSpace. public let workspaceId: String public init(workspaceId: String) { @@ -876,11 +1212,39 @@ extension Workspaces { } } + public enum ModificationResourceEnum: String, CustomStringConvertible, Codable { + case rootVolume = "ROOT_VOLUME" + case userVolume = "USER_VOLUME" + case computeType = "COMPUTE_TYPE" + public var description: String { return self.rawValue } + } + + public struct IpRuleItem: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "ipRule", required: false, type: .string), + AWSShapeMember(label: "ruleDesc", required: false, type: .string) + ] + /// The IP address range, in CIDR notation. + public let ipRule: String? + /// The description. + public let ruleDesc: String? + + public init(ipRule: String? = nil, ruleDesc: String? = nil) { + self.ipRule = ipRule + self.ruleDesc = ruleDesc + } + + private enum CodingKeys: String, CodingKey { + case ipRule = "ipRule" + case ruleDesc = "ruleDesc" + } + } + public struct CreateWorkspacesRequest: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Workspaces", required: true, type: .list) ] - /// An array of structures that specify the WorkSpaces to create. + /// The WorkSpaces to create. You can specify up to 25 WorkSpaces. public let workspaces: [WorkspaceRequest] public init(workspaces: [WorkspaceRequest]) { @@ -892,74 +1256,108 @@ extension Workspaces { } } + public struct AssociateIpGroupsRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "GroupIds", required: true, type: .list), + AWSShapeMember(label: "DirectoryId", required: true, type: .string) + ] + /// The IDs of one or more IP access control groups. + public let groupIds: [String] + /// The ID of the directory. + public let directoryId: String + + public init(groupIds: [String], directoryId: String) { + self.groupIds = groupIds + self.directoryId = directoryId + } + + private enum CodingKeys: String, CodingKey { + case groupIds = "GroupIds" + case directoryId = "DirectoryId" + } + } + + public struct AuthorizeIpRulesResult: AWSShape { + + } + + public struct AssociateIpGroupsResult: AWSShape { + + } + public struct WorkspaceDirectory: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "SubnetIds", required: false, type: .list), AWSShapeMember(label: "WorkspaceCreationProperties", required: false, type: .structure), - AWSShapeMember(label: "DnsIpAddresses", required: false, type: .list), - AWSShapeMember(label: "RegistrationCode", required: false, type: .string), AWSShapeMember(label: "State", required: false, type: .enum), AWSShapeMember(label: "CustomerUserName", required: false, type: .string), - AWSShapeMember(label: "Alias", required: false, type: .string), AWSShapeMember(label: "DirectoryId", required: false, type: .string), AWSShapeMember(label: "WorkspaceSecurityGroupId", required: false, type: .string), - AWSShapeMember(label: "DirectoryType", required: false, type: .enum), + AWSShapeMember(label: "DirectoryName", required: false, type: .string), + AWSShapeMember(label: "SubnetIds", required: false, type: .list), + AWSShapeMember(label: "DnsIpAddresses", required: false, type: .list), + AWSShapeMember(label: "RegistrationCode", required: false, type: .string), + AWSShapeMember(label: "Alias", required: false, type: .string), AWSShapeMember(label: "IamRoleId", required: false, type: .string), - AWSShapeMember(label: "DirectoryName", required: false, type: .string) + AWSShapeMember(label: "DirectoryType", required: false, type: .enum), + AWSShapeMember(label: "ipGroupIds", required: false, type: .list) ] - /// An array of strings that contains the identifiers of the subnets used with the directory. - public let subnetIds: [String]? - /// A structure that specifies the default creation properties for all WorkSpaces in the directory. + /// The default creation properties for all WorkSpaces in the directory. public let workspaceCreationProperties: DefaultWorkspaceCreationProperties? - /// An array of strings that contains the IP addresses of the DNS servers for the directory. - public let dnsIpAddresses: [String]? - /// The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory. - public let registrationCode: String? /// The state of the directory's registration with Amazon WorkSpaces public let state: WorkspaceDirectoryState? /// The user name for the service account. public let customerUserName: String? - /// The directory alias. - public let alias: String? /// The directory identifier. public let directoryId: String? /// The identifier of the security group that is assigned to new WorkSpaces. public let workspaceSecurityGroupId: String? - /// The directory type. - public let directoryType: WorkspaceDirectoryType? - /// 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. - public let iamRoleId: String? /// The name of the directory. public let directoryName: String? + /// The identifiers of the subnets used with the directory. + public let subnetIds: [String]? + /// The IP addresses of the DNS servers for the directory. + public let dnsIpAddresses: [String]? + /// The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory. + public let registrationCode: String? + /// The directory alias. + public let alias: String? + /// 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. + public let iamRoleId: String? + /// The directory type. + public let directoryType: WorkspaceDirectoryType? + /// The identifiers of the IP access control groups associated with the directory. + public let ipGroupIds: [String]? - public init(subnetIds: [String]? = nil, workspaceCreationProperties: DefaultWorkspaceCreationProperties? = nil, dnsIpAddresses: [String]? = nil, registrationCode: String? = nil, state: WorkspaceDirectoryState? = nil, customerUserName: String? = nil, alias: String? = nil, directoryId: String? = nil, workspaceSecurityGroupId: String? = nil, directoryType: WorkspaceDirectoryType? = nil, iamRoleId: String? = nil, directoryName: String? = nil) { - self.subnetIds = subnetIds + public init(workspaceCreationProperties: DefaultWorkspaceCreationProperties? = nil, state: WorkspaceDirectoryState? = nil, customerUserName: String? = nil, directoryId: String? = nil, workspaceSecurityGroupId: String? = nil, directoryName: String? = nil, subnetIds: [String]? = nil, dnsIpAddresses: [String]? = nil, registrationCode: String? = nil, alias: String? = nil, iamRoleId: String? = nil, directoryType: WorkspaceDirectoryType? = nil, ipGroupIds: [String]? = nil) { self.workspaceCreationProperties = workspaceCreationProperties - self.dnsIpAddresses = dnsIpAddresses - self.registrationCode = registrationCode self.state = state self.customerUserName = customerUserName - self.alias = alias self.directoryId = directoryId self.workspaceSecurityGroupId = workspaceSecurityGroupId - self.directoryType = directoryType - self.iamRoleId = iamRoleId self.directoryName = directoryName + self.subnetIds = subnetIds + self.dnsIpAddresses = dnsIpAddresses + self.registrationCode = registrationCode + self.alias = alias + self.iamRoleId = iamRoleId + self.directoryType = directoryType + self.ipGroupIds = ipGroupIds } private enum CodingKeys: String, CodingKey { - case subnetIds = "SubnetIds" case workspaceCreationProperties = "WorkspaceCreationProperties" - case dnsIpAddresses = "DnsIpAddresses" - case registrationCode = "RegistrationCode" case state = "State" case customerUserName = "CustomerUserName" - case alias = "Alias" case directoryId = "DirectoryId" case workspaceSecurityGroupId = "WorkspaceSecurityGroupId" - case directoryType = "DirectoryType" - case iamRoleId = "IamRoleId" case directoryName = "DirectoryName" + case subnetIds = "SubnetIds" + case dnsIpAddresses = "DnsIpAddresses" + case registrationCode = "RegistrationCode" + case alias = "Alias" + case iamRoleId = "IamRoleId" + case directoryType = "DirectoryType" + case ipGroupIds = "ipGroupIds" } } @@ -968,35 +1366,36 @@ extension Workspaces { AWSShapeMember(label: "UserName", required: true, type: .string), AWSShapeMember(label: "VolumeEncryptionKey", required: false, type: .string), AWSShapeMember(label: "Tags", required: false, type: .list), - AWSShapeMember(label: "WorkspaceProperties", required: false, type: .structure), - AWSShapeMember(label: "DirectoryId", required: true, type: .string), AWSShapeMember(label: "RootVolumeEncryptionEnabled", required: false, type: .boolean), + AWSShapeMember(label: "DirectoryId", required: true, type: .string), + AWSShapeMember(label: "WorkspaceProperties", required: false, type: .structure), AWSShapeMember(label: "UserVolumeEncryptionEnabled", required: false, type: .boolean), AWSShapeMember(label: "BundleId", required: true, type: .string) ] - /// The username that the WorkSpace is assigned to. This username must exist in the AWS Directory Service directory specified by the DirectoryId member. + /// The username of the user for the WorkSpace. This username must exist in the AWS Directory Service directory for the WorkSpace. public let userName: String /// The KMS key used to encrypt data stored on your WorkSpace. public let volumeEncryptionKey: String? - /// The tags of the WorkSpace request. + /// The tags for the WorkSpace. public let tags: [Tag]? - public let workspaceProperties: WorkspaceProperties? - /// The identifier of the AWS Directory Service directory to create the WorkSpace in. You can use the DescribeWorkspaceDirectories operation to obtain a list of the directories that are available. - public let directoryId: String - /// Specifies whether the data stored on the root volume, or C: drive, is encrypted. + /// Indicates whether the data stored on the root volume is encrypted. public let rootVolumeEncryptionEnabled: Bool? - /// Specifies whether the data stored on the user volume, or D: drive, is encrypted. + /// The identifier of the AWS Directory Service directory for the WorkSpace. You can use DescribeWorkspaceDirectories to list the available directories. + public let directoryId: String + /// The WorkSpace properties. + public let workspaceProperties: WorkspaceProperties? + /// Indicates whether the data stored on the user volume is encrypted. public let userVolumeEncryptionEnabled: Bool? - /// The identifier of the bundle to create the WorkSpace from. You can use the DescribeWorkspaceBundles operation to obtain a list of the bundles that are available. + /// The identifier of the bundle for the WorkSpace. You can use DescribeWorkspaceBundles to list the available bundles. public let bundleId: String - public init(userName: String, volumeEncryptionKey: String? = nil, tags: [Tag]? = nil, workspaceProperties: WorkspaceProperties? = nil, directoryId: String, rootVolumeEncryptionEnabled: Bool? = nil, userVolumeEncryptionEnabled: Bool? = nil, bundleId: String) { + public init(userName: String, volumeEncryptionKey: String? = nil, tags: [Tag]? = nil, rootVolumeEncryptionEnabled: Bool? = nil, directoryId: String, workspaceProperties: WorkspaceProperties? = nil, userVolumeEncryptionEnabled: Bool? = nil, bundleId: String) { self.userName = userName self.volumeEncryptionKey = volumeEncryptionKey self.tags = tags - self.workspaceProperties = workspaceProperties - self.directoryId = directoryId self.rootVolumeEncryptionEnabled = rootVolumeEncryptionEnabled + self.directoryId = directoryId + self.workspaceProperties = workspaceProperties self.userVolumeEncryptionEnabled = userVolumeEncryptionEnabled self.bundleId = bundleId } @@ -1005,19 +1404,23 @@ extension Workspaces { case userName = "UserName" case volumeEncryptionKey = "VolumeEncryptionKey" case tags = "Tags" - case workspaceProperties = "WorkspaceProperties" - case directoryId = "DirectoryId" case rootVolumeEncryptionEnabled = "RootVolumeEncryptionEnabled" + case directoryId = "DirectoryId" + case workspaceProperties = "WorkspaceProperties" case userVolumeEncryptionEnabled = "UserVolumeEncryptionEnabled" case bundleId = "BundleId" } } + public struct UpdateRulesOfIpGroupResult: AWSShape { + + } + public struct StartWorkspacesResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "FailedRequests", required: false, type: .list) ] - /// The failed requests. + /// Information about the WorkSpaces that could not be started. public let failedRequests: [FailedWorkspaceChangeRequest]? public init(failedRequests: [FailedWorkspaceChangeRequest]? = nil) { @@ -1038,9 +1441,9 @@ extension Workspaces { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "DirectoryIds", required: false, type: .list) ] - /// The NextToken value from a previous call to this operation. Pass null if this is the first call. + /// The token for the next set of results. (You received this token from a previous call.) public let nextToken: String? - /// An array of strings that contains the directory identifiers to retrieve information for. If this member is null, all directories are retrieved. + /// The identifiers of the directories. If the value is null, all directories are retrieved. public let directoryIds: [String]? public init(nextToken: String? = nil, directoryIds: [String]? = nil) { @@ -1058,7 +1461,7 @@ extension Workspaces { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "WorkspaceId", required: true, type: .string) ] - /// The identifier of the WorkSpace to terminate. + /// The ID of the WorkSpace. public let workspaceId: String public init(workspaceId: String) { diff --git a/Sources/AWSSDKSwift/Services/xray/Xray_API.swift b/Sources/AWSSDKSwift/Services/xray/Xray_API.swift index e833da50e87..599961ee287 100644 --- a/Sources/AWSSDKSwift/Services/xray/Xray_API.swift +++ b/Sources/AWSSDKSwift/Services/xray/Xray_API.swift @@ -29,14 +29,19 @@ public struct Xray { return try client.send(operation: "BatchGetTraces", path: "/Traces", httpMethod: "POST", input: input) } + /// Updates the encryption configuration for X-Ray data. + public func putEncryptionConfig(_ input: PutEncryptionConfigRequest) throws -> PutEncryptionConfigResult { + return try client.send(operation: "PutEncryptionConfig", path: "/PutEncryptionConfig", httpMethod: "POST", input: input) + } + /// Retrieves a service graph for one or more specific trace IDs. public func getTraceGraph(_ input: GetTraceGraphRequest) throws -> GetTraceGraphResult { return try client.send(operation: "GetTraceGraph", path: "/TraceGraph", httpMethod: "POST", input: input) } - /// 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. - public func putTraceSegments(_ input: PutTraceSegmentsRequest) throws -> PutTraceSegmentsResult { - return try client.send(operation: "PutTraceSegments", path: "/TraceSegments", httpMethod: "POST", input: input) + /// Retrieves the current encryption configuration for X-Ray data. + public func getEncryptionConfig(_ input: GetEncryptionConfigRequest) throws -> GetEncryptionConfigResult { + return try client.send(operation: "GetEncryptionConfig", path: "/EncryptionConfig", httpMethod: "POST", input: input) } /// 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. @@ -49,6 +54,11 @@ public struct Xray { return try client.send(operation: "PutTelemetryRecords", path: "/TelemetryRecords", httpMethod: "POST", input: input) } + /// 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. + public func putTraceSegments(_ input: PutTraceSegmentsRequest) throws -> PutTraceSegmentsResult { + return try client.send(operation: "PutTraceSegments", path: "/TraceSegments", httpMethod: "POST", input: input) + } + /// 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. public func getTraceSummaries(_ input: GetTraceSummariesRequest) throws -> GetTraceSummariesResult { return try client.send(operation: "GetTraceSummaries", path: "/TraceSummaries", httpMethod: "POST", input: input) diff --git a/Sources/AWSSDKSwift/Services/xray/Xray_Shapes.swift b/Sources/AWSSDKSwift/Services/xray/Xray_Shapes.swift index e7bc2702136..e2c854e3152 100644 --- a/Sources/AWSSDKSwift/Services/xray/Xray_Shapes.swift +++ b/Sources/AWSSDKSwift/Services/xray/Xray_Shapes.swift @@ -5,6 +5,22 @@ import AWSSDKSwiftCore extension Xray { + public struct PutEncryptionConfigResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EncryptionConfig", required: false, type: .structure) + ] + /// The new encryption configuration. + public let encryptionConfig: EncryptionConfig? + + public init(encryptionConfig: EncryptionConfig? = nil) { + self.encryptionConfig = encryptionConfig + } + + private enum CodingKeys: String, CodingKey { + case encryptionConfig = "EncryptionConfig" + } + } + public struct BatchGetTracesResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "NextToken", required: false, type: .string), @@ -67,12 +83,18 @@ extension Xray { } } + public enum EncryptionType: String, CustomStringConvertible, Codable { + case none = "NONE" + case kms = "KMS" + public var description: String { return self.rawValue } + } + public struct Segment: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Document", required: false, type: .string), AWSShapeMember(label: "Id", required: false, type: .string) ] - /// The segment document + /// The segment document. public let document: String? /// The segment's ID. public let id: String? @@ -114,6 +136,12 @@ extension Xray { } } + public enum EncryptionStatus: String, CustomStringConvertible, Codable { + case updating = "UPDATING" + case active = "ACTIVE" + public var description: String { return self.rawValue } + } + public struct ValueWithServiceIds: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ServiceIds", required: false, type: .list), @@ -135,6 +163,32 @@ extension Xray { } } + public struct EncryptionConfig: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", required: false, type: .enum), + AWSShapeMember(label: "Status", required: false, type: .enum), + AWSShapeMember(label: "KeyId", required: false, type: .string) + ] + /// The type of encryption. Set to KMS for encryption with CMKs. Set to NONE for default encryption. + public let `type`: EncryptionType? + /// The encryption status. After modifying encryption configuration with PutEncryptionConfig, the status can be UPDATING for up to one hour before X-Ray starts encrypting data with the new key. + public let status: EncryptionStatus? + /// The ID of the customer master key (CMK) used for encryption, if applicable. + public let keyId: String? + + public init(type: EncryptionType? = nil, status: EncryptionStatus? = nil, keyId: String? = nil) { + self.`type` = `type` + self.status = status + self.keyId = keyId + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + case status = "Status" + case keyId = "KeyId" + } + } + public struct HistogramEntry: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "Value", required: false, type: .double), @@ -189,7 +243,7 @@ extension Xray { AWSShapeMember(label: "NextToken", required: false, type: .string), AWSShapeMember(label: "ApproximateTime", required: false, type: .timestamp) ] - /// The number of traces that were processed to get this set of summaries. + /// The total number of traces processed, including traces that did not match the specified filter expression. public let tracesProcessedCount: Int64? /// Trace IDs and metadata for traces that were found in the specified time frame. public let traceSummaries: [TraceSummary]? @@ -280,6 +334,22 @@ extension Xray { } } + public struct GetEncryptionConfigResult: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "EncryptionConfig", required: false, type: .structure) + ] + /// The encryption configuration document. + public let encryptionConfig: EncryptionConfig? + + public init(encryptionConfig: EncryptionConfig? = nil) { + self.encryptionConfig = encryptionConfig + } + + private enum CodingKeys: String, CodingKey { + case encryptionConfig = "EncryptionConfig" + } + } + public struct ErrorStatistics: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "TotalCount", required: false, type: .long), @@ -306,6 +376,27 @@ extension Xray { } } + public struct PutEncryptionConfigRequest: AWSShape { + public static var _members: [AWSShapeMember] = [ + AWSShapeMember(label: "Type", required: true, type: .enum), + AWSShapeMember(label: "KeyId", required: false, type: .string) + ] + /// The type of encryption. Set to KMS to use your own key for encryption. Set to NONE for default encryption. + public let `type`: EncryptionType + /// 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. + public let keyId: String? + + public init(type: EncryptionType, keyId: String? = nil) { + self.`type` = `type` + self.keyId = keyId + } + + private enum CodingKeys: String, CodingKey { + case `type` = "Type" + case keyId = "KeyId" + } + } + public struct PutTraceSegmentsResult: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "UnprocessedTraceSegments", required: false, type: .list) @@ -379,24 +470,39 @@ extension Xray { } } - public struct TraceUser: AWSShape { + public struct ServiceStatistics: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "ServiceIds", required: false, type: .list), - AWSShapeMember(label: "UserName", required: false, type: .string) + AWSShapeMember(label: "TotalResponseTime", required: false, type: .double), + AWSShapeMember(label: "FaultStatistics", required: false, type: .structure), + AWSShapeMember(label: "OkCount", required: false, type: .long), + AWSShapeMember(label: "ErrorStatistics", required: false, type: .structure), + AWSShapeMember(label: "TotalCount", required: false, type: .long) ] - /// Services that the user's request hit. - public let serviceIds: [ServiceId]? - /// The user's name. - public let userName: String? + /// The aggregate response time of completed requests. + public let totalResponseTime: Double? + /// Information about requests that failed with a 5xx Server Error status code. + public let faultStatistics: FaultStatistics? + /// The number of requests that completed with a 2xx Success status code. + public let okCount: Int64? + /// Information about requests that failed with a 4xx Client Error status code. + public let errorStatistics: ErrorStatistics? + /// The total number of completed requests. + public let totalCount: Int64? - public init(serviceIds: [ServiceId]? = nil, userName: String? = nil) { - self.serviceIds = serviceIds - self.userName = userName + public init(totalResponseTime: Double? = nil, faultStatistics: FaultStatistics? = nil, okCount: Int64? = nil, errorStatistics: ErrorStatistics? = nil, totalCount: Int64? = nil) { + self.totalResponseTime = totalResponseTime + self.faultStatistics = faultStatistics + self.okCount = okCount + self.errorStatistics = errorStatistics + self.totalCount = totalCount } private enum CodingKeys: String, CodingKey { - case serviceIds = "ServiceIds" - case userName = "UserName" + case totalResponseTime = "TotalResponseTime" + case faultStatistics = "FaultStatistics" + case okCount = "OkCount" + case errorStatistics = "ErrorStatistics" + case totalCount = "TotalCount" } } @@ -457,39 +563,24 @@ extension Xray { } } - public struct ServiceStatistics: AWSShape { + public struct TraceUser: AWSShape { public static var _members: [AWSShapeMember] = [ - AWSShapeMember(label: "TotalResponseTime", required: false, type: .double), - AWSShapeMember(label: "FaultStatistics", required: false, type: .structure), - AWSShapeMember(label: "OkCount", required: false, type: .long), - AWSShapeMember(label: "ErrorStatistics", required: false, type: .structure), - AWSShapeMember(label: "TotalCount", required: false, type: .long) + AWSShapeMember(label: "ServiceIds", required: false, type: .list), + AWSShapeMember(label: "UserName", required: false, type: .string) ] - /// The aggregate response time of completed requests. - public let totalResponseTime: Double? - /// Information about requests that failed with a 5xx Server Error status code. - public let faultStatistics: FaultStatistics? - /// The number of requests that completed with a 2xx Success status code. - public let okCount: Int64? - /// Information about requests that failed with a 4xx Client Error status code. - public let errorStatistics: ErrorStatistics? - /// The total number of completed requests. - public let totalCount: Int64? + /// Services that the user's request hit. + public let serviceIds: [ServiceId]? + /// The user's name. + public let userName: String? - public init(totalResponseTime: Double? = nil, faultStatistics: FaultStatistics? = nil, okCount: Int64? = nil, errorStatistics: ErrorStatistics? = nil, totalCount: Int64? = nil) { - self.totalResponseTime = totalResponseTime - self.faultStatistics = faultStatistics - self.okCount = okCount - self.errorStatistics = errorStatistics - self.totalCount = totalCount + public init(serviceIds: [ServiceId]? = nil, userName: String? = nil) { + self.serviceIds = serviceIds + self.userName = userName } private enum CodingKeys: String, CodingKey { - case totalResponseTime = "TotalResponseTime" - case faultStatistics = "FaultStatistics" - case okCount = "OkCount" - case errorStatistics = "ErrorStatistics" - case totalCount = "TotalCount" + case serviceIds = "ServiceIds" + case userName = "UserName" } } @@ -747,6 +838,10 @@ extension Xray { } } + public struct GetEncryptionConfigRequest: AWSShape { + + } + public struct BackendConnectionErrors: AWSShape { public static var _members: [AWSShapeMember] = [ AWSShapeMember(label: "ConnectionRefusedCount", required: false, type: .integer), diff --git a/Sources/CodeGenerator/AWSService.swift b/Sources/CodeGenerator/AWSService.swift index 5209804911d..3313ad56e4e 100644 --- a/Sources/CodeGenerator/AWSService.swift +++ b/Sources/CodeGenerator/AWSService.swift @@ -10,6 +10,10 @@ import Foundation import SwiftyJSON import AWSSDKSwiftCore +enum AWSServiceError: Error { + case eventStreamingCodeGenerationsAreUnsupported +} + struct AWSService { let apiJSON: JSON let docJSON: JSON @@ -88,6 +92,10 @@ struct AWSService { return .unhandledType } + if let isEventstream = json["eventstream"].bool, isEventstream { + throw AWSServiceError.eventStreamingCodeGenerationsAreUnsupported + } + let type: ShapeType switch json["type"].stringValue { case "string": @@ -226,8 +234,16 @@ struct AWSService { private func parseShapes() throws -> [Shape] { var shapes = [Shape]() for (key, json) in apiJSON["shapes"].dictionaryValue { - let shape = try Shape(name: key, type: shapeType(from: json)) - shapes.append(shape) + do { + let shape = try Shape(name: key, type: shapeType(from: json)) + shapes.append(shape) + } catch AWSServiceError.eventStreamingCodeGenerationsAreUnsupported { + // Skip to generate code. + // Becase eventstream is outside the scope of existing code generation rules. + // It should be implemented manually. + } catch { + throw error + } } return shapes } diff --git a/models/apis/AWSMigrationHub/2017-05-31/api-2.json b/models/apis/AWSMigrationHub/2017-05-31/api-2.json index d545cff2a32..4c1d52efc85 100644 --- a/models/apis/AWSMigrationHub/2017-05-31/api-2.json +++ b/models/apis/AWSMigrationHub/2017-05-31/api-2.json @@ -774,8 +774,7 @@ "VM_NAME", "VM_PATH", "BIOS_ID", - "MOTHERBOARD_SERIAL_NUMBER", - "LABEL" + "MOTHERBOARD_SERIAL_NUMBER" ] }, "ResourceAttributeValue":{ diff --git a/models/apis/AWSMigrationHub/2017-05-31/docs-2.json b/models/apis/AWSMigrationHub/2017-05-31/docs-2.json index 674c7721cb1..5cb5869d564 100644 --- a/models/apis/AWSMigrationHub/2017-05-31/docs-2.json +++ b/models/apis/AWSMigrationHub/2017-05-31/docs-2.json @@ -1,11 +1,11 @@ { "version": "2.0", - "service": "

", + "service": "

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.

", "operations": { "AssociateCreatedArtifact": "

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:

", "AssociateDiscoveredResource": "

Associates a discovered resource ID from Application Discovery Service (ADS) with a migration task.

", "CreateProgressUpdateStream": "

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

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:

", + "DeleteProgressUpdateStream": "

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:

", "DescribeApplicationState": "

Gets the migration status of an application.

", "DescribeMigrationTask": "

Retrieves a list of all attributes associated with a specific migration task.

", "DisassociateCreatedArtifact": "

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:

", @@ -17,11 +17,11 @@ "ListProgressUpdateStreams": "

Lists progress update streams associated with the user account making this call.

", "NotifyApplicationState": "

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

Notifies Migration Hub of the current status, progress, or other detail regarding a migration task. This API has the following traits:

", - "PutResourceAttributes": "

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.

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

" + "PutResourceAttributes": "

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.

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": { - "base": "

Exception raised when the account making the call is not whitelisted or there are other authentication errors.

", + "base": "

You do not have sufficient access to perform this action.

", "refs": { } }, @@ -351,7 +351,7 @@ } }, "PolicyErrorException": { - "base": "

Exception raised when there are problems accessing ADS (Application Discovery Service); most likely due to a misconfigured policy or the ADSCaller role is missing or not configured correctly.

", + "base": "

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.

", "refs": { } }, @@ -405,7 +405,7 @@ } }, "ResourceAttribute": { - "base": "

Attribute associated with a resource.

", + "base": "

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}$

", "refs": { "LatestResourceAttributeList$member": null, "ResourceAttributeList$member": null @@ -414,7 +414,7 @@ "ResourceAttributeList": { "base": null, "refs": { - "PutResourceAttributesRequest$ResourceAttributeList": "

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.

" + "PutResourceAttributesRequest$ResourceAttributeList": "

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.

" } }, "ResourceAttributeType": { @@ -441,7 +441,7 @@ } }, "ServiceUnavailableException": { - "base": "

Exception raised when the service encounters throttled communication with upstream dependencies or is overloaded with requests.

", + "base": "

Exception raised when there is an internal, configuration, or dependency error encountered.

", "refs": { } }, diff --git a/models/apis/Cloud9/2017-09-23/docs-2.json b/models/apis/Cloud9/2017-09-23/docs-2.json index 427e730a4ba..a8f8895975b 100644 --- a/models/apis/Cloud9/2017-09-23/docs-2.json +++ b/models/apis/Cloud9/2017-09-23/docs-2.json @@ -1,10 +1,10 @@ { "version": "2.0", - "service": "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.

In the background, these tools are available through development environments running on Amazon Elastic Compute Cloud (Amazon EC2) instances (known as Amazon EC2 environments), your own servers (known as SSH environments), or a combination. This enables you to create and switch between multiple environments, with each environment set up for a specific development project.

For more information about AWS Cloud9, see the AWS Cloud9 User Guide.

AWS Cloud9 supports these operations:

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

", "operations": { - "CreateEnvironmentEC2": "

Creates an AWS Cloud9 development environment, launches an Amazon Elastic Compute Cloud (Amazon EC2) instance, and then hosts the environment on the instance.

", + "CreateEnvironmentEC2": "

Creates an AWS Cloud9 development environment, launches an Amazon Elastic Compute Cloud (Amazon EC2) instance, and then connects from the instance to the environment.

", "CreateEnvironmentMembership": "

Adds an environment member to an AWS Cloud9 development environment.

", - "DeleteEnvironment": "

Deletes an AWS Cloud9 development environment. If the environment is hosted on an Amazon Elastic Compute Cloud (Amazon EC2) instance, also terminates the instance.

", + "DeleteEnvironment": "

Deletes an AWS Cloud9 development environment. If an Amazon EC2 instance is connected to the environment, also terminates the instance.

", "DeleteEnvironmentMembership": "

Deletes an environment member from an AWS Cloud9 development environment.

", "DescribeEnvironmentMemberships": "

Gets information about environment members for an AWS Cloud9 development environment.

", "DescribeEnvironmentStatus": "

Gets status information for an AWS Cloud9 development environment.

", @@ -28,7 +28,7 @@ "BoundedEnvironmentIdList": { "base": null, "refs": { - "DescribeEnvironmentsRequest$environmentIds": "

The IDs of invidividual environments to get information about.

" + "DescribeEnvironmentsRequest$environmentIds": "

The IDs of individual environments to get information about.

" } }, "ClientRequestToken": { @@ -174,7 +174,7 @@ "refs": { "CreateEnvironmentEC2Request$name": "

The name of the environment to create.

This name is visible to other AWS IAM users in the same AWS account.

", "Environment$name": "

The name of the environment.

", - "UpdateEnvironmentRequest$name": "

Any replacement name for the environment.

" + "UpdateEnvironmentRequest$name": "

A replacement name for the environment.

" } }, "EnvironmentStatus": { @@ -186,7 +186,7 @@ "EnvironmentType": { "base": null, "refs": { - "Environment$type": "

The type of environment. Valid values include the following:

" + "Environment$type": "

The type of environment. Valid values include the following:

" } }, "ForbiddenException": { @@ -197,7 +197,7 @@ "InstanceType": { "base": null, "refs": { - "CreateEnvironmentEC2Request$instanceType": "

The type of instance to host the environment on (for example, t2.micro).

" + "CreateEnvironmentEC2Request$instanceType": "

The type of instance to connect to the environment (for example, t2.micro).

" } }, "InternalServerErrorException": { diff --git a/models/apis/Cloud9/2017-09-23/examples-1.json b/models/apis/Cloud9/2017-09-23/examples-1.json index 0ea7e3b0bbe..0074f498f22 100644 --- a/models/apis/Cloud9/2017-09-23/examples-1.json +++ b/models/apis/Cloud9/2017-09-23/examples-1.json @@ -1,5 +1,308 @@ { "version": "1.0", "examples": { + "CreateEnvironmentEC2": [ + { + "input": { + "name": "my-demo-environment", + "automaticStopTimeMinutes": 60, + "description": "This is my demonstration environment.", + "instanceType": "t2.micro", + "ownerArn": "arn:aws:iam::123456789012:user/MyDemoUser", + "subnetId": "subnet-1fab8aEX" + }, + "output": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "createenvironmentec2-1516821730547", + "title": "CreateEnvironmentEC2" + } + ], + "CreateEnvironmentMembership": [ + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": "read-write", + "userArn": "arn:aws:iam::123456789012:user/AnotherDemoUser" + }, + "output": { + "membership": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": "read-write", + "userArn": "arn:aws:iam::123456789012:user/AnotherDemoUser", + "userId": "AIDAJ3BA6O2FMJWCWXHEX" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "createenvironmentmembership-1516822583452", + "title": "CreateEnvironmentMembership" + } + ], + "DeleteEnvironment": [ + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "deleteenvironment-1516822903149", + "title": "DeleteEnvironment" + } + ], + "DeleteEnvironmentMembership": [ + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "userArn": "arn:aws:iam::123456789012:user/AnotherDemoUser" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "deleteenvironmentmembership-1516822975655", + "title": "DeleteEnvironmentMembership" + } + ], + "DescribeEnvironmentMemberships": [ + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX" + }, + "output": { + "memberships": [ + { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": "read-write", + "userArn": "arn:aws:iam::123456789012:user/AnotherDemoUser", + "userId": "AIDAJ3BA6O2FMJWCWXHEX" + }, + { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": "owner", + "userArn": "arn:aws:iam::123456789012:user/MyDemoUser", + "userId": "AIDAJNUEDQAQWFELJDLEX" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gets information about all of the environment members for the specified AWS Cloud9 development environment.", + "id": "describeenvironmentmemberships1-1516823070453", + "title": "DescribeEnvironmentMemberships1" + }, + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": [ + "owner" + ] + }, + "output": { + "memberships": [ + { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": "owner", + "userArn": "arn:aws:iam::123456789012:user/MyDemoUser", + "userId": "AIDAJNUEDQAQWFELJDLEX" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gets information about the owner of the specified AWS Cloud9 development environment.", + "id": "describeenvironmentmemberships2-1516823191355", + "title": "DescribeEnvironmentMemberships2" + }, + { + "input": { + "userArn": "arn:aws:iam::123456789012:user/MyDemoUser" + }, + "output": { + "memberships": [ + { + "environmentId": "10a75714bd494714929e7f5ec4125aEX", + "lastAccess": "2018-01-19T11:06:13Z", + "permissions": "owner", + "userArn": "arn:aws:iam::123456789012:user/MyDemoUser", + "userId": "AIDAJNUEDQAQWFELJDLEX" + }, + { + "environmentId": "12bfc3cd537f41cb9776f8af5525c9EX", + "lastAccess": "2018-01-19T11:39:19Z", + "permissions": "owner", + "userArn": "arn:aws:iam::123456789012:user/MyDemoUser", + "userId": "AIDAJNUEDQAQWFELJDLEX" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gets AWS Cloud9 development environment membership information for the specified user.", + "id": "describeenvironmentmemberships3-1516823268793", + "title": "DescribeEnvironmentMemberships3" + } + ], + "DescribeEnvironmentStatus": [ + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX" + }, + "output": { + "message": "Environment is ready to use", + "status": "ready" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "describeenvironmentstatus-1516823462133", + "title": "DescribeEnvironmentStatus" + } + ], + "DescribeEnvironments": [ + { + "input": { + "environmentIds": [ + "8d9967e2f0624182b74e7690ad69ebEX", + "349c86d4579e4e7298d500ff57a6b2EX" + ] + }, + "output": { + "environments": [ + { + "name": "my-demo-environment", + "type": "ec2", + "arn": "arn:aws:cloud9:us-east-2:123456789012:environment:8d9967e2f0624182b74e7690ad69ebEX", + "description": "This is my demonstration environment.", + "id": "8d9967e2f0624182b74e7690ad69ebEX", + "ownerArn": "arn:aws:iam::123456789012:user/MyDemoUser" + }, + { + "name": "another-demo-environment", + "type": "ssh", + "arn": "arn:aws:cloud9:us-east-2:123456789012:environment:349c86d4579e4e7298d500ff57a6b2EX", + "id": "349c86d4579e4e7298d500ff57a6b2EX", + "ownerArn": "arn:aws:sts::123456789012:assumed-role/AnotherDemoUser/AnotherDemoUser" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "describeenvironments-1516823568291", + "title": "DescribeEnvironments" + } + ], + "ListEnvironments": [ + { + "input": { + }, + "output": { + "environmentIds": [ + "349c86d4579e4e7298d500ff57a6b2EX", + "45a3da47af0840f2b0c0824f5ee232EX" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "listenvironments-1516823687205", + "title": "ListEnvironments" + } + ], + "UpdateEnvironment": [ + { + "input": { + "name": "my-changed-demo-environment", + "description": "This is my changed demonstration environment.", + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "updateenvironment-1516823781910", + "title": "UpdateEnvironment" + } + ], + "UpdateEnvironmentMembership": [ + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": "read-only", + "userArn": "arn:aws:iam::123456789012:user/AnotherDemoUser" + }, + "output": { + "membership": { + "environmentId": "8d9967e2f0624182b74e7690ad69eb31", + "permissions": "read-only", + "userArn": "arn:aws:iam::123456789012:user/AnotherDemoUser", + "userId": "AIDAJ3BA6O2FMJWCWXHEX" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "updateenvironmentmembership-1516823876645", + "title": "UpdateEnvironmentMembership" + } + ] } } diff --git a/models/apis/GuardDuty/2017-11-28/api-2.json b/models/apis/GuardDuty/2017-11-28/api-2.json index 4f7c53de8aa..83a49ab8426 100644 --- a/models/apis/GuardDuty/2017-11-28/api-2.json +++ b/models/apis/GuardDuty/2017-11-28/api-2.json @@ -68,6 +68,25 @@ "shape" : "InternalServerErrorException" } ] }, + "CreateFilter" : { + "name" : "CreateFilter", + "http" : { + "method" : "POST", + "requestUri" : "/detector/{detectorId}/filter", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateFilterRequest" + }, + "output" : { + "shape" : "CreateFilterResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + } ] + }, "CreateIPSet" : { "name" : "CreateIPSet", "http" : { @@ -182,6 +201,25 @@ "shape" : "InternalServerErrorException" } ] }, + "DeleteFilter" : { + "name" : "DeleteFilter", + "http" : { + "method" : "DELETE", + "requestUri" : "/detector/{detectorId}/filter/{filterName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteFilterRequest" + }, + "output" : { + "shape" : "DeleteFilterResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + } ] + }, "DeleteIPSet" : { "name" : "DeleteIPSet", "http" : { @@ -315,6 +353,25 @@ "shape" : "InternalServerErrorException" } ] }, + "GetFilter" : { + "name" : "GetFilter", + "http" : { + "method" : "GET", + "requestUri" : "/detector/{detectorId}/filter/{filterName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetFilterRequest" + }, + "output" : { + "shape" : "GetFilterResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + } ] + }, "GetFindings" : { "name" : "GetFindings", "http" : { @@ -486,6 +543,25 @@ "shape" : "InternalServerErrorException" } ] }, + "ListFilters" : { + "name" : "ListFilters", + "http" : { + "method" : "GET", + "requestUri" : "/detector/{detectorId}/filter", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListFiltersRequest" + }, + "output" : { + "shape" : "ListFiltersResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + } ] + }, "ListFindings" : { "name" : "ListFindings", "http" : { @@ -657,6 +733,25 @@ "shape" : "InternalServerErrorException" } ] }, + "UpdateFilter" : { + "name" : "UpdateFilter", + "http" : { + "method" : "POST", + "requestUri" : "/detector/{detectorId}/filter/{filterName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateFilterRequest" + }, + "output" : { + "shape" : "UpdateFilterResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + } ] + }, "UpdateFindingsFeedback" : { "name" : "UpdateFindingsFeedback", "http" : { @@ -739,6 +834,27 @@ "type" : "structure", "members" : { } }, + "AccessKeyDetails" : { + "type" : "structure", + "members" : { + "AccessKeyId" : { + "shape" : "__string", + "locationName" : "accessKeyId" + }, + "PrincipalId" : { + "shape" : "__string", + "locationName" : "principalId" + }, + "UserName" : { + "shape" : "__string", + "locationName" : "userName" + }, + "UserType" : { + "shape" : "__string", + "locationName" : "userType" + } + } + }, "AccountDetail" : { "type" : "structure", "members" : { @@ -750,7 +866,8 @@ "shape" : "Email", "locationName" : "email" } - } + }, + "required" : [ "Email", "AccountId" ] }, "AccountDetails" : { "type" : "list", @@ -785,6 +902,10 @@ "NetworkConnectionAction" : { "shape" : "NetworkConnectionAction", "locationName" : "networkConnectionAction" + }, + "PortProbeAction" : { + "shape" : "PortProbeAction", + "locationName" : "portProbeAction" } } }, @@ -927,6 +1048,51 @@ } } }, + "CreateFilterRequest" : { + "type" : "structure", + "members" : { + "Action" : { + "shape" : "FilterAction", + "locationName" : "action" + }, + "ClientToken" : { + "shape" : "__stringMin0Max64", + "locationName" : "clientToken", + "idempotencyToken" : true + }, + "Description" : { + "shape" : "FilterDescription", + "locationName" : "description" + }, + "DetectorId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "detectorId" + }, + "FindingCriteria" : { + "shape" : "FindingCriteria", + "locationName" : "findingCriteria" + }, + "Name" : { + "shape" : "FilterName", + "locationName" : "name" + }, + "Rank" : { + "shape" : "FilterRank", + "locationName" : "rank" + } + }, + "required" : [ "DetectorId" ] + }, + "CreateFilterResponse" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "FilterName", + "locationName" : "name" + } + } + }, "CreateIPSetRequest" : { "type" : "structure", "members" : { @@ -1078,6 +1244,26 @@ "type" : "structure", "members" : { } }, + "DeleteFilterRequest" : { + "type" : "structure", + "members" : { + "DetectorId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "detectorId" + }, + "FilterName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "filterName" + } + }, + "required" : [ "DetectorId", "FilterName" ] + }, + "DeleteFilterResponse" : { + "type" : "structure", + "members" : { } + }, "DeleteIPSetRequest" : { "type" : "structure", "members" : { @@ -1257,6 +1443,25 @@ "type" : "string", "enum" : [ "USEFUL", "NOT_USEFUL" ] }, + "FilterAction" : { + "type" : "string", + "enum" : [ "NOOP", "ARCHIVE" ] + }, + "FilterDescription" : { + "type" : "string" + }, + "FilterName" : { + "type" : "string" + }, + "FilterNames" : { + "type" : "list", + "member" : { + "shape" : "FilterName" + } + }, + "FilterRank" : { + "type" : "integer" + }, "Finding" : { "type" : "structure", "members" : { @@ -1320,13 +1525,14 @@ "shape" : "UpdatedAt", "locationName" : "updatedAt" } - } + }, + "required" : [ "AccountId", "SchemaVersion", "CreatedAt", "Resource", "Severity", "UpdatedAt", "Type", "Region", "Id", "Arn" ] }, "FindingCriteria" : { "type" : "structure", "members" : { "Criterion" : { - "shape" : "MapOfCondition", + "shape" : "__mapOfCondition", "locationName" : "criterion" } } @@ -1354,7 +1560,7 @@ "type" : "structure", "members" : { "CountBySeverity" : { - "shape" : "MapOfCountBySeverityFindingStatistic", + "shape" : "__mapOfCountBySeverityFindingStatistic", "locationName" : "countBySeverity" } } @@ -1419,6 +1625,47 @@ } } }, + "GetFilterRequest" : { + "type" : "structure", + "members" : { + "DetectorId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "detectorId" + }, + "FilterName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "filterName" + } + }, + "required" : [ "DetectorId", "FilterName" ] + }, + "GetFilterResponse" : { + "type" : "structure", + "members" : { + "Action" : { + "shape" : "FilterAction", + "locationName" : "action" + }, + "Description" : { + "shape" : "FilterDescription", + "locationName" : "description" + }, + "FindingCriteria" : { + "shape" : "FindingCriteria", + "locationName" : "findingCriteria" + }, + "Name" : { + "shape" : "FilterName", + "locationName" : "name" + }, + "Rank" : { + "shape" : "FilterRank", + "locationName" : "rank" + } + } + }, "GetFindingsRequest" : { "type" : "structure", "members" : { @@ -1634,6 +1881,10 @@ "shape" : "IamInstanceProfile", "locationName" : "iamInstanceProfile" }, + "ImageDescription" : { + "shape" : "__string", + "locationName" : "imageDescription" + }, "ImageId" : { "shape" : "__string", "locationName" : "imageId" @@ -1731,6 +1982,10 @@ "location" : "uri", "locationName" : "detectorId" }, + "DisableEmailNotification" : { + "shape" : "__boolean", + "locationName" : "disableEmailNotification" + }, "Message" : { "shape" : "Message", "locationName" : "message" @@ -1804,6 +2059,40 @@ } } }, + "ListFiltersRequest" : { + "type" : "structure", + "members" : { + "DetectorId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "detectorId" + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken" + } + }, + "required" : [ "DetectorId" ] + }, + "ListFiltersResponse" : { + "type" : "structure", + "members" : { + "FilterNames" : { + "shape" : "FilterNames", + "locationName" : "filterNames" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken" + } + } + }, "ListFindingsRequest" : { "type" : "structure", "members" : { @@ -1995,24 +2284,6 @@ "Location" : { "type" : "string" }, - "MapOfCondition" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "Condition" - } - }, - "MapOfCountBySeverityFindingStatistic" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "CountBySeverityFindingStatistic" - } - }, "Master" : { "type" : "structure", "members" : { @@ -2073,7 +2344,8 @@ "shape" : "UpdatedAt", "locationName" : "updatedAt" } - } + }, + "required" : [ "Email", "AccountId", "MasterId", "UpdatedAt", "RelationshipStatus" ] }, "Members" : { "type" : "list", @@ -2129,6 +2401,10 @@ "shape" : "Ipv6Addresses", "locationName" : "ipv6Addresses" }, + "NetworkInterfaceId" : { + "shape" : "NetworkInterfaceId", + "locationName" : "networkInterfaceId" + }, "PrivateDnsName" : { "shape" : "PrivateDnsName", "locationName" : "privateDnsName" @@ -2163,6 +2439,9 @@ } } }, + "NetworkInterfaceId" : { + "type" : "string" + }, "NetworkInterfaces" : { "type" : "list", "member" : { @@ -2197,6 +2476,32 @@ } } }, + "PortProbeAction" : { + "type" : "structure", + "members" : { + "Blocked" : { + "shape" : "__boolean", + "locationName" : "blocked" + }, + "PortProbeDetails" : { + "shape" : "__listOfPortProbeDetail", + "locationName" : "portProbeDetails" + } + } + }, + "PortProbeDetail" : { + "type" : "structure", + "members" : { + "LocalPortDetails" : { + "shape" : "LocalPortDetails", + "locationName" : "localPortDetails" + }, + "RemoteIpDetails" : { + "shape" : "RemoteIpDetails", + "locationName" : "remoteIpDetails" + } + } + }, "PrivateDnsName" : { "type" : "string" }, @@ -2282,6 +2587,10 @@ "Resource" : { "type" : "structure", "members" : { + "AccessKeyDetails" : { + "shape" : "AccessKeyDetails", + "locationName" : "accessKeyDetails" + }, "InstanceDetails" : { "shape" : "InstanceDetails", "locationName" : "instanceDetails" @@ -2482,7 +2791,8 @@ "shape" : "__string", "locationName" : "result" } - } + }, + "required" : [ "AccountId", "Result" ] }, "UnprocessedAccounts" : { "type" : "list", @@ -2509,6 +2819,47 @@ "type" : "structure", "members" : { } }, + "UpdateFilterRequest" : { + "type" : "structure", + "members" : { + "Action" : { + "shape" : "FilterAction", + "locationName" : "action" + }, + "Description" : { + "shape" : "FilterDescription", + "locationName" : "description" + }, + "DetectorId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "detectorId" + }, + "FilterName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "filterName" + }, + "FindingCriteria" : { + "shape" : "FindingCriteria", + "locationName" : "findingCriteria" + }, + "Rank" : { + "shape" : "FilterRank", + "locationName" : "rank" + } + }, + "required" : [ "DetectorId", "FilterName" ] + }, + "UpdateFilterResponse" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "FilterName", + "locationName" : "name" + } + } + }, "UpdateFindingsFeedbackRequest" : { "type" : "structure", "members" : { @@ -2612,11 +2963,43 @@ "__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" } } -} +} \ No newline at end of file diff --git a/models/apis/GuardDuty/2017-11-28/docs-2.json b/models/apis/GuardDuty/2017-11-28/docs-2.json index d74714e0245..7e979e35ffc 100644 --- a/models/apis/GuardDuty/2017-11-28/docs-2.json +++ b/models/apis/GuardDuty/2017-11-28/docs-2.json @@ -5,12 +5,14 @@ "AcceptInvitation" : "Accepts the invitation to be monitored by a master GuardDuty account.", "ArchiveFindings" : "Archives Amazon GuardDuty findings specified by the list of finding IDs.", "CreateDetector" : "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" : "Creates a filter using the specified finding criteria.", "CreateIPSet" : "Creates a new IPSet - a list of trusted IP addresses that have been whitelisted for secure communication with AWS infrastructure and applications.", "CreateMembers" : "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" : "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" : "Create a new ThreatIntelSet. ThreatIntelSets consist of known malicious IP addresses. GuardDuty generates findings based on ThreatIntelSets.", "DeclineInvitations" : "Declines invitations sent to the current member account by AWS account specified by their account IDs.", "DeleteDetector" : "Deletes a Amazon GuardDuty detector specified by the detector ID.", + "DeleteFilter" : "Deletes the filter specified by the filter name.", "DeleteIPSet" : "Deletes the IPSet specified by the IPSet ID.", "DeleteInvitations" : "Deletes invitations sent to the current member account by AWS accounts specified by their account IDs.", "DeleteMembers" : "Deletes GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs.", @@ -18,6 +20,7 @@ "DisassociateFromMasterAccount" : "Disassociates the current GuardDuty member account from its master account.", "DisassociateMembers" : "Disassociates GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs.", "GetDetector" : "Retrieves an Amazon GuardDuty detector specified by the detectorId.", + "GetFilter" : "Returns the details of the filter specified by the filter name.", "GetFindings" : "Describes Amazon GuardDuty findings specified by finding IDs.", "GetFindingsStatistics" : "Lists Amazon GuardDuty findings' statistics for the specified detector ID.", "GetIPSet" : "Retrieves the IPSet specified by the IPSet ID.", @@ -27,15 +30,17 @@ "GetThreatIntelSet" : "Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.", "InviteMembers" : "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" : "Lists detectorIds of all the existing Amazon GuardDuty detector resources.", + "ListFilters" : "Returns a paginated list of the current filters.", "ListFindings" : "Lists Amazon GuardDuty findings for the specified detector ID.", "ListIPSets" : "Lists the IPSets of the GuardDuty service specified by the detector ID.", "ListInvitations" : "Lists all GuardDuty membership invitations that were sent to the current AWS account.", "ListMembers" : "Lists details about all member accounts for the current GuardDuty master account.", "ListThreatIntelSets" : "Lists the ThreatIntelSets of the GuardDuty service specified by the detector ID.", "StartMonitoringMembers" : "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" : "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.", + "StopMonitoringMembers" : "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" : "Unarchives Amazon GuardDuty findings specified by the list of finding IDs.", "UpdateDetector" : "Updates an Amazon GuardDuty detector specified by the detectorId.", + "UpdateFilter" : "Updates the filter specified by the filter name.", "UpdateFindingsFeedback" : "Marks specified Amazon GuardDuty findings as useful or not useful.", "UpdateIPSet" : "Updates the IPSet specified by the IPSet ID.", "UpdateThreatIntelSet" : "Updates the ThreatIntelSet specified by ThreatIntelSet ID." @@ -45,6 +50,12 @@ "base" : "AcceptInvitation request body.", "refs" : { } }, + "AccessKeyDetails" : { + "base" : "The IAM access key details (IAM user information) of a user that engaged in the activity that prompted GuardDuty to generate a finding.", + "refs" : { + "Resource$AccessKeyDetails" : null + } + }, "AccountDetail" : { "base" : "An object containing the member's accountId and email address.", "refs" : { @@ -121,13 +132,13 @@ "Condition" : { "base" : "Finding attribute (for example, accountId) for which conditions and values must be specified when querying findings.", "refs" : { - "MapOfCondition$member" : null + "__mapOfCondition$member" : null } }, "CountBySeverityFindingStatistic" : { "base" : "The count of findings for the given severity.", "refs" : { - "MapOfCountBySeverityFindingStatistic$member" : null + "__mapOfCountBySeverityFindingStatistic$member" : null } }, "Country" : { @@ -144,6 +155,14 @@ "base" : "CreateDetector response object.", "refs" : { } }, + "CreateFilterRequest" : { + "base" : "CreateFilter request object.", + "refs" : { } + }, + "CreateFilterResponse" : { + "base" : "CreateFilter response object.", + "refs" : { } + }, "CreateIPSetRequest" : { "base" : "Create IP Set Request", "refs" : { } @@ -280,6 +299,46 @@ "UpdateFindingsFeedbackRequest$Feedback" : "Valid values: USEFUL | NOT_USEFUL" } }, + "FilterAction" : { + "base" : "The action associated with a filter.", + "refs" : { + "CreateFilterRequest$Action" : "Specifies the action that is to be applied to the findings that match the filter.", + "GetFilterResponse$Action" : "Specifies the action that is to be applied to the findings that match the filter.", + "UpdateFilterRequest$Action" : "Specifies the action that is to be applied to the findings that match the filter." + } + }, + "FilterDescription" : { + "base" : "The filter description", + "refs" : { + "CreateFilterRequest$Description" : "The description of the filter.", + "GetFilterResponse$Description" : "The description of the filter.", + "UpdateFilterRequest$Description" : "The description of the filter." + } + }, + "FilterName" : { + "base" : "The unique identifier for a filter", + "refs" : { + "CreateFilterRequest$Name" : "The name of the filter.", + "CreateFilterResponse$Name" : "The name of the successfully created filter.", + "FilterNames$member" : null, + "GetFilterResponse$Name" : "The name of the filter.", + "UpdateFilterResponse$Name" : "The name of the filter." + } + }, + "FilterNames" : { + "base" : "A list of filter names", + "refs" : { + "ListFiltersResponse$FilterNames" : null + } + }, + "FilterRank" : { + "base" : "Relative position of filter among list of exisiting filters.", + "refs" : { + "CreateFilterRequest$Rank" : "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.", + "GetFilterResponse$Rank" : "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.", + "UpdateFilterRequest$Rank" : "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." + } + }, "Finding" : { "base" : "Representation of a abnormal or suspicious activity.", "refs" : { @@ -289,8 +348,11 @@ "FindingCriteria" : { "base" : "Represents the criteria used for querying findings.", "refs" : { + "CreateFilterRequest$FindingCriteria" : "Represents the criteria to be used in the filter for querying findings.", + "GetFilterResponse$FindingCriteria" : "Represents the criteria to be used in the filter for querying findings.", "GetFindingsStatisticsRequest$FindingCriteria" : "Represents the criteria used for querying findings.", - "ListFindingsRequest$FindingCriteria" : "Represents the criteria used for querying findings." + "ListFindingsRequest$FindingCriteria" : "Represents the criteria used for querying findings.", + "UpdateFilterRequest$FindingCriteria" : "Represents the criteria to be used in the filter for querying findings." } }, "FindingId" : { @@ -355,6 +417,10 @@ "base" : "GetDetector response object.", "refs" : { } }, + "GetFilterResponse" : { + "base" : "GetFilter response object.", + "refs" : { } + }, "GetFindingsRequest" : { "base" : "Get Findings Request", "refs" : { } @@ -489,6 +555,10 @@ "base" : "ListDetectors response object.", "refs" : { } }, + "ListFiltersResponse" : { + "base" : "ListFilters response object.", + "refs" : { } + }, "ListFindingsRequest" : { "base" : "List Findings Request", "refs" : { } @@ -516,7 +586,8 @@ "LocalPortDetails" : { "base" : "Local port information of the connection.", "refs" : { - "NetworkConnectionAction$LocalPortDetails" : "Local port information of the connection." + "NetworkConnectionAction$LocalPortDetails" : "Local port information of the connection.", + "PortProbeDetail$LocalPortDetails" : "Local port information of the connection." } }, "Location" : { @@ -530,18 +601,6 @@ "UpdateThreatIntelSetRequest$Location" : "The updated URI of the file that contains the ThreateIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)" } }, - "MapOfCondition" : { - "base" : null, - "refs" : { - "FindingCriteria$Criterion" : "Represents a map of finding properties that match specified conditions and values when querying findings." - } - }, - "MapOfCountBySeverityFindingStatistic" : { - "base" : null, - "refs" : { - "FindingStatistics$CountBySeverity" : "Represents a map of severity to count statistic for a set of findings" - } - }, "Master" : { "base" : "Contains details about the master account.", "refs" : { @@ -575,9 +634,9 @@ } }, "Message" : { - "base" : "The invitation message that you want to send to the accounts that you're inviting to GuardDuty as members.", + "base" : "The invitation message that you want to send to the accounts that you’re inviting to GuardDuty as members.", "refs" : { - "InviteMembersRequest$Message" : "The invitation message that you want to send to the accounts that you're inviting to GuardDuty as members." + "InviteMembersRequest$Message" : "The invitation message that you want to send to the accounts that you’re inviting to GuardDuty as members." } }, "Name" : { @@ -609,6 +668,12 @@ "NetworkInterfaces$member" : null } }, + "NetworkInterfaceId" : { + "base" : "The ID of the network interface.", + "refs" : { + "NetworkInterface$NetworkInterfaceId" : "The ID of the network interface" + } + }, "NetworkInterfaces" : { "base" : "The network interface information of the EC2 instance.", "refs" : { @@ -619,6 +684,7 @@ "base" : "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.", "refs" : { "ListDetectorsResponse$NextToken" : null, + "ListFiltersResponse$NextToken" : null, "ListFindingsRequest$NextToken" : "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.", "ListFindingsResponse$NextToken" : null, "ListIPSetsResponse$NextToken" : null, @@ -639,6 +705,18 @@ "RemoteIpDetails$Organization" : "ISP Organization information of the remote IP address." } }, + "PortProbeAction" : { + "base" : "Information about the PORT_PROBE action described in this finding.", + "refs" : { + "Action$PortProbeAction" : "Information about the PORT_PROBE action described in this finding." + } + }, + "PortProbeDetail" : { + "base" : "Details about the port probe finding.", + "refs" : { + "__listOfPortProbeDetail$member" : null + } + }, "PrivateDnsName" : { "base" : "Private DNS name of the EC2 instance.", "refs" : { @@ -681,7 +759,8 @@ "base" : "Remote IP information of the connection.", "refs" : { "AwsApiCallAction$RemoteIpDetails" : "Remote IP information of the connection.", - "NetworkConnectionAction$RemoteIpDetails" : "Remote IP information of the connection." + "NetworkConnectionAction$RemoteIpDetails" : "Remote IP information of the connection.", + "PortProbeDetail$RemoteIpDetails" : "Remote IP information of the connection." } }, "RemotePortDetails" : { @@ -809,6 +888,14 @@ "base" : "Update Detector Request", "refs" : { } }, + "UpdateFilterRequest" : { + "base" : "UpdateFilter request object.", + "refs" : { } + }, + "UpdateFilterResponse" : { + "base" : "UpdateFilter response object.", + "refs" : { } + }, "UpdateFindingsFeedbackRequest" : { "base" : "Update findings feedback body", "refs" : { } @@ -832,7 +919,9 @@ "__boolean" : { "base" : null, "refs" : { + "InviteMembersRequest$DisableEmailNotification" : "A boolean value that specifies whether you want to disable email notification to the accounts that you’re inviting to GuardDuty as members.", "NetworkConnectionAction$Blocked" : "Network connection blocked information.", + "PortProbeAction$Blocked" : "Port probe blocked information.", "Service$Archived" : "Indicates whether this finding is archived." } }, @@ -858,9 +947,31 @@ "Service$Count" : "Total count of the occurrences of this finding type." } }, + "__listOfPortProbeDetail" : { + "base" : null, + "refs" : { + "PortProbeAction$PortProbeDetails" : "A list of port probe details objects." + } + }, + "__mapOfCondition" : { + "base" : null, + "refs" : { + "FindingCriteria$Criterion" : "Represents a map of finding properties that match specified conditions and values when querying findings." + } + }, + "__mapOfCountBySeverityFindingStatistic" : { + "base" : null, + "refs" : { + "FindingStatistics$CountBySeverity" : "Represents a map of severity to count statistic for a set of findings" + } + }, "__string" : { "base" : null, "refs" : { + "AccessKeyDetails$AccessKeyId" : "Access key ID of the user.", + "AccessKeyDetails$PrincipalId" : "The principal ID of the user.", + "AccessKeyDetails$UserName" : "The name of the user.", + "AccessKeyDetails$UserType" : "The type of the user.", "AccountIds$member" : null, "Action$ActionType" : "GuardDuty Finding activity type.", "AwsApiCallAction$Api" : "AWS API name.", @@ -884,6 +995,7 @@ "IamInstanceProfile$Arn" : "AWS EC2 instance profile ARN.", "IamInstanceProfile$Id" : "AWS EC2 instance profile ID.", "InstanceDetails$AvailabilityZone" : "The availability zone of the EC2 instance.", + "InstanceDetails$ImageDescription" : "The image description of the EC2 instance.", "InstanceDetails$ImageId" : "The image ID of the EC2 instance.", "InstanceDetails$InstanceId" : "The ID of the EC2 instance.", "InstanceDetails$InstanceState" : "The state of the EC2 instance.", @@ -925,6 +1037,12 @@ "UnprocessedAccount$AccountId" : "AWS Account ID.", "UnprocessedAccount$Result" : "A reason why the account hasn't been processed." } + }, + "__stringMin0Max64" : { + "base" : null, + "refs" : { + "CreateFilterRequest$ClientToken" : "The idempotency token for the create request." + } } } -} +} \ No newline at end of file diff --git a/models/apis/GuardDuty/2017-11-28/paginators-1.json b/models/apis/GuardDuty/2017-11-28/paginators-1.json index 93dc789795a..92a10d3340b 100644 --- a/models/apis/GuardDuty/2017-11-28/paginators-1.json +++ b/models/apis/GuardDuty/2017-11-28/paginators-1.json @@ -35,6 +35,12 @@ "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/models/apis/SageMaker/2017-07-24/api-2.json b/models/apis/SageMaker/2017-07-24/api-2.json index 0fb8c715590..dce8aa4ac48 100644 --- a/models/apis/SageMaker/2017-07-24/api-2.json +++ b/models/apis/SageMaker/2017-07-24/api-2.json @@ -7,6 +7,7 @@ "protocol":"json", "serviceAbbreviation":"SageMaker", "serviceFullName":"Amazon SageMaker Service", + "serviceId":"SageMaker", "signatureVersion":"v4", "signingName":"sagemaker", "targetPrefix":"SageMaker", @@ -46,6 +47,19 @@ {"shape":"ResourceLimitExceeded"} ] }, + "CreateHyperParameterTuningJob":{ + "name":"CreateHyperParameterTuningJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateHyperParameterTuningJobRequest"}, + "output":{"shape":"CreateHyperParameterTuningJobResponse"}, + "errors":[ + {"shape":"ResourceInUse"}, + {"shape":"ResourceLimitExceeded"} + ] + }, "CreateModel":{ "name":"CreateModel", "http":{ @@ -70,6 +84,18 @@ {"shape":"ResourceLimitExceeded"} ] }, + "CreateNotebookInstanceLifecycleConfig":{ + "name":"CreateNotebookInstanceLifecycleConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNotebookInstanceLifecycleConfigInput"}, + "output":{"shape":"CreateNotebookInstanceLifecycleConfigOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ] + }, "CreatePresignedNotebookInstanceUrl":{ "name":"CreatePresignedNotebookInstanceUrl", "http":{ @@ -92,6 +118,19 @@ {"shape":"ResourceLimitExceeded"} ] }, + "CreateTransformJob":{ + "name":"CreateTransformJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTransformJobRequest"}, + "output":{"shape":"CreateTransformJobResponse"}, + "errors":[ + {"shape":"ResourceInUse"}, + {"shape":"ResourceLimitExceeded"} + ] + }, "DeleteEndpoint":{ "name":"DeleteEndpoint", "http":{ @@ -124,6 +163,14 @@ }, "input":{"shape":"DeleteNotebookInstanceInput"} }, + "DeleteNotebookInstanceLifecycleConfig":{ + "name":"DeleteNotebookInstanceLifecycleConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNotebookInstanceLifecycleConfigInput"} + }, "DeleteTags":{ "name":"DeleteTags", "http":{ @@ -151,6 +198,18 @@ "input":{"shape":"DescribeEndpointConfigInput"}, "output":{"shape":"DescribeEndpointConfigOutput"} }, + "DescribeHyperParameterTuningJob":{ + "name":"DescribeHyperParameterTuningJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeHyperParameterTuningJobRequest"}, + "output":{"shape":"DescribeHyperParameterTuningJobResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ] + }, "DescribeModel":{ "name":"DescribeModel", "http":{ @@ -169,6 +228,15 @@ "input":{"shape":"DescribeNotebookInstanceInput"}, "output":{"shape":"DescribeNotebookInstanceOutput"} }, + "DescribeNotebookInstanceLifecycleConfig":{ + "name":"DescribeNotebookInstanceLifecycleConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeNotebookInstanceLifecycleConfigInput"}, + "output":{"shape":"DescribeNotebookInstanceLifecycleConfigOutput"} + }, "DescribeTrainingJob":{ "name":"DescribeTrainingJob", "http":{ @@ -181,6 +249,18 @@ {"shape":"ResourceNotFound"} ] }, + "DescribeTransformJob":{ + "name":"DescribeTransformJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTransformJobRequest"}, + "output":{"shape":"DescribeTransformJobResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ] + }, "ListEndpointConfigs":{ "name":"ListEndpointConfigs", "http":{ @@ -199,6 +279,15 @@ "input":{"shape":"ListEndpointsInput"}, "output":{"shape":"ListEndpointsOutput"} }, + "ListHyperParameterTuningJobs":{ + "name":"ListHyperParameterTuningJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListHyperParameterTuningJobsRequest"}, + "output":{"shape":"ListHyperParameterTuningJobsResponse"} + }, "ListModels":{ "name":"ListModels", "http":{ @@ -208,6 +297,15 @@ "input":{"shape":"ListModelsInput"}, "output":{"shape":"ListModelsOutput"} }, + "ListNotebookInstanceLifecycleConfigs":{ + "name":"ListNotebookInstanceLifecycleConfigs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListNotebookInstanceLifecycleConfigsInput"}, + "output":{"shape":"ListNotebookInstanceLifecycleConfigsOutput"} + }, "ListNotebookInstances":{ "name":"ListNotebookInstances", "http":{ @@ -235,6 +333,27 @@ "input":{"shape":"ListTrainingJobsRequest"}, "output":{"shape":"ListTrainingJobsResponse"} }, + "ListTrainingJobsForHyperParameterTuningJob":{ + "name":"ListTrainingJobsForHyperParameterTuningJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTrainingJobsForHyperParameterTuningJobRequest"}, + "output":{"shape":"ListTrainingJobsForHyperParameterTuningJobResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ] + }, + "ListTransformJobs":{ + "name":"ListTransformJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTransformJobsRequest"}, + "output":{"shape":"ListTransformJobsResponse"} + }, "StartNotebookInstance":{ "name":"StartNotebookInstance", "http":{ @@ -246,6 +365,17 @@ {"shape":"ResourceLimitExceeded"} ] }, + "StopHyperParameterTuningJob":{ + "name":"StopHyperParameterTuningJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopHyperParameterTuningJobRequest"}, + "errors":[ + {"shape":"ResourceNotFound"} + ] + }, "StopNotebookInstance":{ "name":"StopNotebookInstance", "http":{ @@ -265,6 +395,17 @@ {"shape":"ResourceNotFound"} ] }, + "StopTransformJob":{ + "name":"StopTransformJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopTransformJobRequest"}, + "errors":[ + {"shape":"ResourceNotFound"} + ] + }, "UpdateEndpoint":{ "name":"UpdateEndpoint", "http":{ @@ -300,9 +441,25 @@ "errors":[ {"shape":"ResourceLimitExceeded"} ] + }, + "UpdateNotebookInstanceLifecycleConfig":{ + "name":"UpdateNotebookInstanceLifecycleConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateNotebookInstanceLifecycleConfigInput"}, + "output":{"shape":"UpdateNotebookInstanceLifecycleConfigOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ] } }, "shapes":{ + "Accept":{ + "type":"string", + "max":256 + }, "AddTagsInput":{ "type":"structure", "required":[ @@ -335,6 +492,37 @@ "TrainingInputMode":{"shape":"TrainingInputMode"} } }, + "AssemblyType":{ + "type":"string", + "enum":[ + "None", + "Line" + ] + }, + "BatchStrategy":{ + "type":"string", + "enum":[ + "MultiRecord", + "SingleRecord" + ] + }, + "CategoricalParameterRange":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{"shape":"ParameterKey"}, + "Values":{"shape":"ParameterValues"} + } + }, + "CategoricalParameterRanges":{ + "type":"list", + "member":{"shape":"CategoricalParameterRange"}, + "max":20, + "min":0 + }, "Channel":{ "type":"structure", "required":[ @@ -372,11 +560,6 @@ "Environment":{"shape":"EnvironmentMap"} } }, - "ContainerDefinitionList":{ - "type":"list", - "member":{"shape":"ContainerDefinition"}, - "max":5 - }, "ContainerHostname":{ "type":"string", "max":63, @@ -386,6 +569,25 @@ "type":"string", "max":256 }, + "ContinuousParameterRange":{ + "type":"structure", + "required":[ + "Name", + "MinValue", + "MaxValue" + ], + "members":{ + "Name":{"shape":"ParameterKey"}, + "MinValue":{"shape":"ParameterValue"}, + "MaxValue":{"shape":"ParameterValue"} + } + }, + "ContinuousParameterRanges":{ + "type":"list", + "member":{"shape":"ContinuousParameterRange"}, + "max":20, + "min":0 + }, "CreateEndpointConfigInput":{ "type":"structure", "required":[ @@ -395,7 +597,8 @@ "members":{ "EndpointConfigName":{"shape":"EndpointConfigName"}, "ProductionVariants":{"shape":"ProductionVariantList"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "KmsKeyId":{"shape":"KmsKeyId"} } }, "CreateEndpointConfigOutput":{ @@ -424,18 +627,40 @@ "EndpointArn":{"shape":"EndpointArn"} } }, + "CreateHyperParameterTuningJobRequest":{ + "type":"structure", + "required":[ + "HyperParameterTuningJobName", + "HyperParameterTuningJobConfig", + "TrainingJobDefinition" + ], + "members":{ + "HyperParameterTuningJobName":{"shape":"HyperParameterTuningJobName"}, + "HyperParameterTuningJobConfig":{"shape":"HyperParameterTuningJobConfig"}, + "TrainingJobDefinition":{"shape":"HyperParameterTrainingJobDefinition"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateHyperParameterTuningJobResponse":{ + "type":"structure", + "required":["HyperParameterTuningJobArn"], + "members":{ + "HyperParameterTuningJobArn":{"shape":"HyperParameterTuningJobArn"} + } + }, "CreateModelInput":{ "type":"structure", "required":[ "ModelName", - "PrimaryContainer" + "PrimaryContainer", + "ExecutionRoleArn" ], "members":{ "ModelName":{"shape":"ModelName"}, "PrimaryContainer":{"shape":"ContainerDefinition"}, - "SupplementalContainers":{"shape":"ContainerDefinitionList"}, "ExecutionRoleArn":{"shape":"RoleArn"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "VpcConfig":{"shape":"VpcConfig"} } }, "CreateModelOutput":{ @@ -459,7 +684,24 @@ "SecurityGroupIds":{"shape":"SecurityGroupIds"}, "RoleArn":{"shape":"RoleArn"}, "KmsKeyId":{"shape":"KmsKeyId"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "LifecycleConfigName":{"shape":"NotebookInstanceLifecycleConfigName"}, + "DirectInternetAccess":{"shape":"DirectInternetAccess"} + } + }, + "CreateNotebookInstanceLifecycleConfigInput":{ + "type":"structure", + "required":["NotebookInstanceLifecycleConfigName"], + "members":{ + "NotebookInstanceLifecycleConfigName":{"shape":"NotebookInstanceLifecycleConfigName"}, + "OnCreate":{"shape":"NotebookInstanceLifecycleConfigList"}, + "OnStart":{"shape":"NotebookInstanceLifecycleConfigList"} + } + }, + "CreateNotebookInstanceLifecycleConfigOutput":{ + "type":"structure", + "members":{ + "NotebookInstanceLifecycleConfigArn":{"shape":"NotebookInstanceLifecycleConfigArn"} } }, "CreateNotebookInstanceOutput":{ @@ -501,6 +743,7 @@ "InputDataConfig":{"shape":"InputDataConfig"}, "OutputDataConfig":{"shape":"OutputDataConfig"}, "ResourceConfig":{"shape":"ResourceConfig"}, + "VpcConfig":{"shape":"VpcConfig"}, "StoppingCondition":{"shape":"StoppingCondition"}, "Tags":{"shape":"TagList"} } @@ -512,6 +755,35 @@ "TrainingJobArn":{"shape":"TrainingJobArn"} } }, + "CreateTransformJobRequest":{ + "type":"structure", + "required":[ + "TransformJobName", + "ModelName", + "TransformInput", + "TransformOutput", + "TransformResources" + ], + "members":{ + "TransformJobName":{"shape":"TransformJobName"}, + "ModelName":{"shape":"ModelName"}, + "MaxConcurrentTransforms":{"shape":"MaxConcurrentTransforms"}, + "MaxPayloadInMB":{"shape":"MaxPayloadInMB"}, + "BatchStrategy":{"shape":"BatchStrategy"}, + "Environment":{"shape":"TransformEnvironmentMap"}, + "TransformInput":{"shape":"TransformInput"}, + "TransformOutput":{"shape":"TransformOutput"}, + "TransformResources":{"shape":"TransformResources"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateTransformJobResponse":{ + "type":"structure", + "required":["TransformJobArn"], + "members":{ + "TransformJobArn":{"shape":"TransformJobArn"} + } + }, "CreationTime":{"type":"timestamp"}, "DataSource":{ "type":"structure", @@ -548,6 +820,13 @@ "NotebookInstanceName":{"shape":"NotebookInstanceName"} } }, + "DeleteNotebookInstanceLifecycleConfigInput":{ + "type":"structure", + "required":["NotebookInstanceLifecycleConfigName"], + "members":{ + "NotebookInstanceLifecycleConfigName":{"shape":"NotebookInstanceLifecycleConfigName"} + } + }, "DeleteTagsInput":{ "type":"structure", "required":[ @@ -564,6 +843,18 @@ "members":{ } }, + "DeployedImage":{ + "type":"structure", + "members":{ + "SpecifiedImage":{"shape":"Image"}, + "ResolvedImage":{"shape":"Image"}, + "ResolutionTime":{"shape":"Timestamp"} + } + }, + "DeployedImages":{ + "type":"list", + "member":{"shape":"DeployedImage"} + }, "DescribeEndpointConfigInput":{ "type":"structure", "required":["EndpointConfigName"], @@ -583,6 +874,7 @@ "EndpointConfigName":{"shape":"EndpointConfigName"}, "EndpointConfigArn":{"shape":"EndpointConfigArn"}, "ProductionVariants":{"shape":"ProductionVariantList"}, + "KmsKeyId":{"shape":"KmsKeyId"}, "CreationTime":{"shape":"Timestamp"} } }, @@ -614,6 +906,40 @@ "LastModifiedTime":{"shape":"Timestamp"} } }, + "DescribeHyperParameterTuningJobRequest":{ + "type":"structure", + "required":["HyperParameterTuningJobName"], + "members":{ + "HyperParameterTuningJobName":{"shape":"HyperParameterTuningJobName"} + } + }, + "DescribeHyperParameterTuningJobResponse":{ + "type":"structure", + "required":[ + "HyperParameterTuningJobName", + "HyperParameterTuningJobArn", + "HyperParameterTuningJobConfig", + "TrainingJobDefinition", + "HyperParameterTuningJobStatus", + "CreationTime", + "TrainingJobStatusCounters", + "ObjectiveStatusCounters" + ], + "members":{ + "HyperParameterTuningJobName":{"shape":"HyperParameterTuningJobName"}, + "HyperParameterTuningJobArn":{"shape":"HyperParameterTuningJobArn"}, + "HyperParameterTuningJobConfig":{"shape":"HyperParameterTuningJobConfig"}, + "TrainingJobDefinition":{"shape":"HyperParameterTrainingJobDefinition"}, + "HyperParameterTuningJobStatus":{"shape":"HyperParameterTuningJobStatus"}, + "CreationTime":{"shape":"Timestamp"}, + "HyperParameterTuningEndTime":{"shape":"Timestamp"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "TrainingJobStatusCounters":{"shape":"TrainingJobStatusCounters"}, + "ObjectiveStatusCounters":{"shape":"ObjectiveStatusCounters"}, + "BestTrainingJob":{"shape":"HyperParameterTrainingJobSummary"}, + "FailureReason":{"shape":"FailureReason"} + } + }, "DescribeModelInput":{ "type":"structure", "required":["ModelName"], @@ -626,7 +952,6 @@ "required":[ "ModelName", "PrimaryContainer", - "SupplementalContainers", "ExecutionRoleArn", "CreationTime", "ModelArn" @@ -634,8 +959,8 @@ "members":{ "ModelName":{"shape":"ModelName"}, "PrimaryContainer":{"shape":"ContainerDefinition"}, - "SupplementalContainers":{"shape":"ContainerDefinitionList"}, "ExecutionRoleArn":{"shape":"RoleArn"}, + "VpcConfig":{"shape":"VpcConfig"}, "CreationTime":{"shape":"Timestamp"}, "ModelArn":{"shape":"ModelArn"} } @@ -647,6 +972,24 @@ "NotebookInstanceName":{"shape":"NotebookInstanceName"} } }, + "DescribeNotebookInstanceLifecycleConfigInput":{ + "type":"structure", + "required":["NotebookInstanceLifecycleConfigName"], + "members":{ + "NotebookInstanceLifecycleConfigName":{"shape":"NotebookInstanceLifecycleConfigName"} + } + }, + "DescribeNotebookInstanceLifecycleConfigOutput":{ + "type":"structure", + "members":{ + "NotebookInstanceLifecycleConfigArn":{"shape":"NotebookInstanceLifecycleConfigArn"}, + "NotebookInstanceLifecycleConfigName":{"shape":"NotebookInstanceLifecycleConfigName"}, + "OnCreate":{"shape":"NotebookInstanceLifecycleConfigList"}, + "OnStart":{"shape":"NotebookInstanceLifecycleConfigList"}, + "LastModifiedTime":{"shape":"LastModifiedTime"}, + "CreationTime":{"shape":"CreationTime"} + } + }, "DescribeNotebookInstanceOutput":{ "type":"structure", "members":{ @@ -662,7 +1005,9 @@ "KmsKeyId":{"shape":"KmsKeyId"}, "NetworkInterfaceId":{"shape":"NetworkInterfaceId"}, "LastModifiedTime":{"shape":"LastModifiedTime"}, - "CreationTime":{"shape":"CreationTime"} + "CreationTime":{"shape":"CreationTime"}, + "NotebookInstanceLifecycleConfigName":{"shape":"NotebookInstanceLifecycleConfigName"}, + "DirectInternetAccess":{"shape":"DirectInternetAccess"} } }, "DescribeTrainingJobRequest":{ @@ -689,6 +1034,7 @@ "members":{ "TrainingJobName":{"shape":"TrainingJobName"}, "TrainingJobArn":{"shape":"TrainingJobArn"}, + "TuningJobArn":{"shape":"HyperParameterTuningJobArn"}, "ModelArtifacts":{"shape":"ModelArtifacts"}, "TrainingJobStatus":{"shape":"TrainingJobStatus"}, "SecondaryStatus":{"shape":"SecondaryStatus"}, @@ -699,11 +1045,49 @@ "InputDataConfig":{"shape":"InputDataConfig"}, "OutputDataConfig":{"shape":"OutputDataConfig"}, "ResourceConfig":{"shape":"ResourceConfig"}, + "VpcConfig":{"shape":"VpcConfig"}, "StoppingCondition":{"shape":"StoppingCondition"}, "CreationTime":{"shape":"Timestamp"}, "TrainingStartTime":{"shape":"Timestamp"}, "TrainingEndTime":{"shape":"Timestamp"}, - "LastModifiedTime":{"shape":"Timestamp"} + "LastModifiedTime":{"shape":"Timestamp"}, + "SecondaryStatusTransitions":{"shape":"SecondaryStatusTransitions"} + } + }, + "DescribeTransformJobRequest":{ + "type":"structure", + "required":["TransformJobName"], + "members":{ + "TransformJobName":{"shape":"TransformJobName"} + } + }, + "DescribeTransformJobResponse":{ + "type":"structure", + "required":[ + "TransformJobName", + "TransformJobArn", + "TransformJobStatus", + "ModelName", + "TransformInput", + "TransformResources", + "CreationTime" + ], + "members":{ + "TransformJobName":{"shape":"TransformJobName"}, + "TransformJobArn":{"shape":"TransformJobArn"}, + "TransformJobStatus":{"shape":"TransformJobStatus"}, + "FailureReason":{"shape":"FailureReason"}, + "ModelName":{"shape":"ModelName"}, + "MaxConcurrentTransforms":{"shape":"MaxConcurrentTransforms"}, + "MaxPayloadInMB":{"shape":"MaxPayloadInMB"}, + "BatchStrategy":{"shape":"BatchStrategy"}, + "Environment":{"shape":"TransformEnvironmentMap"}, + "TransformInput":{"shape":"TransformInput"}, + "TransformOutput":{"shape":"TransformOutput"}, + "TransformResources":{"shape":"TransformResources"}, + "CreationTime":{"shape":"Timestamp"}, + "TransformStartTime":{"shape":"Timestamp"}, + "TransformEndTime":{"shape":"Timestamp"} } }, "DesiredWeightAndCapacity":{ @@ -720,6 +1104,13 @@ "member":{"shape":"DesiredWeightAndCapacity"}, "min":1 }, + "DirectInternetAccess":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, "EndpointArn":{ "type":"string", "max":2048, @@ -832,20 +1223,185 @@ "type":"string", "max":1024 }, - "HyperParameters":{ - "type":"map", - "key":{"shape":"ParameterKey"}, - "value":{"shape":"ParameterValue"}, - "max":100, - "min":0 + "FinalHyperParameterTuningJobObjectiveMetric":{ + "type":"structure", + "required":[ + "MetricName", + "Value" + ], + "members":{ + "Type":{"shape":"HyperParameterTuningJobObjectiveType"}, + "MetricName":{"shape":"MetricName"}, + "Value":{"shape":"MetricValue"} + } }, - "Image":{ - "type":"string", - "max":255, - "pattern":"[\\S]+" + "HyperParameterAlgorithmSpecification":{ + "type":"structure", + "required":[ + "TrainingImage", + "TrainingInputMode" + ], + "members":{ + "TrainingImage":{"shape":"AlgorithmImage"}, + "TrainingInputMode":{"shape":"TrainingInputMode"}, + "MetricDefinitions":{"shape":"MetricDefinitionList"} + } }, - "InputDataConfig":{ - "type":"list", + "HyperParameterTrainingJobDefinition":{ + "type":"structure", + "required":[ + "AlgorithmSpecification", + "RoleArn", + "InputDataConfig", + "OutputDataConfig", + "ResourceConfig", + "StoppingCondition" + ], + "members":{ + "StaticHyperParameters":{"shape":"HyperParameters"}, + "AlgorithmSpecification":{"shape":"HyperParameterAlgorithmSpecification"}, + "RoleArn":{"shape":"RoleArn"}, + "InputDataConfig":{"shape":"InputDataConfig"}, + "VpcConfig":{"shape":"VpcConfig"}, + "OutputDataConfig":{"shape":"OutputDataConfig"}, + "ResourceConfig":{"shape":"ResourceConfig"}, + "StoppingCondition":{"shape":"StoppingCondition"} + } + }, + "HyperParameterTrainingJobSummaries":{ + "type":"list", + "member":{"shape":"HyperParameterTrainingJobSummary"} + }, + "HyperParameterTrainingJobSummary":{ + "type":"structure", + "required":[ + "TrainingJobName", + "TrainingJobArn", + "CreationTime", + "TrainingJobStatus", + "TunedHyperParameters" + ], + "members":{ + "TrainingJobName":{"shape":"TrainingJobName"}, + "TrainingJobArn":{"shape":"TrainingJobArn"}, + "CreationTime":{"shape":"Timestamp"}, + "TrainingStartTime":{"shape":"Timestamp"}, + "TrainingEndTime":{"shape":"Timestamp"}, + "TrainingJobStatus":{"shape":"TrainingJobStatus"}, + "TunedHyperParameters":{"shape":"HyperParameters"}, + "FailureReason":{"shape":"FailureReason"}, + "FinalHyperParameterTuningJobObjectiveMetric":{"shape":"FinalHyperParameterTuningJobObjectiveMetric"}, + "ObjectiveStatus":{"shape":"ObjectiveStatus"} + } + }, + "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"}, + "HyperParameterTuningJobObjective":{"shape":"HyperParameterTuningJobObjective"}, + "ResourceLimits":{"shape":"ResourceLimits"}, + "ParameterRanges":{"shape":"ParameterRanges"} + } + }, + "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"}, + "MetricName":{"shape":"MetricName"} + } + }, + "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", + "enum":["Bayesian"] + }, + "HyperParameterTuningJobSummaries":{ + "type":"list", + "member":{"shape":"HyperParameterTuningJobSummary"} + }, + "HyperParameterTuningJobSummary":{ + "type":"structure", + "required":[ + "HyperParameterTuningJobName", + "HyperParameterTuningJobArn", + "HyperParameterTuningJobStatus", + "Strategy", + "CreationTime", + "TrainingJobStatusCounters", + "ObjectiveStatusCounters" + ], + "members":{ + "HyperParameterTuningJobName":{"shape":"HyperParameterTuningJobName"}, + "HyperParameterTuningJobArn":{"shape":"HyperParameterTuningJobArn"}, + "HyperParameterTuningJobStatus":{"shape":"HyperParameterTuningJobStatus"}, + "Strategy":{"shape":"HyperParameterTuningJobStrategyType"}, + "CreationTime":{"shape":"Timestamp"}, + "HyperParameterTuningEndTime":{"shape":"Timestamp"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "TrainingJobStatusCounters":{"shape":"TrainingJobStatusCounters"}, + "ObjectiveStatusCounters":{"shape":"ObjectiveStatusCounters"}, + "ResourceLimits":{"shape":"ResourceLimits"} + } + }, + "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 @@ -854,10 +1410,41 @@ "type":"string", "enum":[ "ml.t2.medium", + "ml.t2.large", + "ml.t2.xlarge", + "ml.t2.2xlarge", "ml.m4.xlarge", - "ml.p2.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"}, + "MinValue":{"shape":"ParameterValue"}, + "MaxValue":{"shape":"ParameterValue"} + } + }, + "IntegerParameterRanges":{ + "type":"list", + "member":{"shape":"IntegerParameterRange"}, + "max":20, + "min":0 + }, "KmsKeyId":{ "type":"string", "max":2048 @@ -906,6 +1493,32 @@ "NextToken":{"shape":"PaginationToken"} } }, + "ListHyperParameterTuningJobsRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + }, + "SortBy":{"shape":"HyperParameterTuningJobSortByOptions"}, + "SortOrder":{"shape":"SortOrder"}, + "NameContains":{"shape":"NameContains"}, + "CreationTimeAfter":{"shape":"Timestamp"}, + "CreationTimeBefore":{"shape":"Timestamp"}, + "LastModifiedTimeAfter":{"shape":"Timestamp"}, + "LastModifiedTimeBefore":{"shape":"Timestamp"}, + "StatusEquals":{"shape":"HyperParameterTuningJobStatus"} + } + }, + "ListHyperParameterTuningJobsResponse":{ + "type":"structure", + "required":["HyperParameterTuningJobSummaries"], + "members":{ + "HyperParameterTuningJobSummaries":{"shape":"HyperParameterTuningJobSummaries"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListModelsInput":{ "type":"structure", "members":{ @@ -926,6 +1539,27 @@ "NextToken":{"shape":"PaginationToken"} } }, + "ListNotebookInstanceLifecycleConfigsInput":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"}, + "SortBy":{"shape":"NotebookInstanceLifecycleConfigSortKey"}, + "SortOrder":{"shape":"NotebookInstanceLifecycleConfigSortOrder"}, + "NameContains":{"shape":"NotebookInstanceLifecycleConfigNameContains"}, + "CreationTimeBefore":{"shape":"CreationTime"}, + "CreationTimeAfter":{"shape":"CreationTime"}, + "LastModifiedTimeBefore":{"shape":"LastModifiedTime"}, + "LastModifiedTimeAfter":{"shape":"LastModifiedTime"} + } + }, + "ListNotebookInstanceLifecycleConfigsOutput":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "NotebookInstanceLifecycleConfigs":{"shape":"NotebookInstanceLifecycleConfigSummaryList"} + } + }, "ListNotebookInstancesInput":{ "type":"structure", "members":{ @@ -938,7 +1572,8 @@ "CreationTimeAfter":{"shape":"CreationTime"}, "LastModifiedTimeBefore":{"shape":"LastModifiedTime"}, "LastModifiedTimeAfter":{"shape":"LastModifiedTime"}, - "StatusEquals":{"shape":"NotebookInstanceStatus"} + "StatusEquals":{"shape":"NotebookInstanceStatus"}, + "NotebookInstanceLifecycleConfigNameContains":{"shape":"NotebookInstanceLifecycleConfigName"} } }, "ListNotebookInstancesOutput":{ @@ -968,6 +1603,26 @@ "NextToken":{"shape":"NextToken"} } }, + "ListTrainingJobsForHyperParameterTuningJobRequest":{ + "type":"structure", + "required":["HyperParameterTuningJobName"], + "members":{ + "HyperParameterTuningJobName":{"shape":"HyperParameterTuningJobName"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"}, + "StatusEquals":{"shape":"TrainingJobStatus"}, + "SortBy":{"shape":"TrainingJobSortByOptions"}, + "SortOrder":{"shape":"SortOrder"} + } + }, + "ListTrainingJobsForHyperParameterTuningJobResponse":{ + "type":"structure", + "required":["TrainingJobSummaries"], + "members":{ + "TrainingJobSummaries":{"shape":"HyperParameterTrainingJobSummaries"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListTrainingJobsRequest":{ "type":"structure", "members":{ @@ -994,6 +1649,48 @@ "NextToken":{"shape":"NextToken"} } }, + "ListTransformJobsRequest":{ + "type":"structure", + "members":{ + "CreationTimeAfter":{"shape":"Timestamp"}, + "CreationTimeBefore":{"shape":"Timestamp"}, + "LastModifiedTimeAfter":{"shape":"Timestamp"}, + "LastModifiedTimeBefore":{"shape":"Timestamp"}, + "NameContains":{"shape":"NameContains"}, + "StatusEquals":{"shape":"TransformJobStatus"}, + "SortBy":{"shape":"SortBy"}, + "SortOrder":{"shape":"SortOrder"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + } + } + }, + "ListTransformJobsResponse":{ + "type":"structure", + "required":["TransformJobSummaries"], + "members":{ + "TransformJobSummaries":{"shape":"TransformJobSummaries"}, + "NextToken":{"shape":"NextToken"} + } + }, + "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, @@ -1003,6 +1700,34 @@ "type":"integer", "min":1 }, + "MetricDefinition":{ + "type":"structure", + "required":[ + "Name", + "Regex" + ], + "members":{ + "Name":{"shape":"MetricName"}, + "Regex":{"shape":"MetricRegex"} + } + }, + "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, @@ -1062,6 +1787,67 @@ "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"}, + "NotebookInstanceLifecycleConfigArn":{"shape":"NotebookInstanceLifecycleConfigArn"}, + "CreationTime":{"shape":"CreationTime"}, + "LastModifiedTime":{"shape":"LastModifiedTime"} + } + }, + "NotebookInstanceLifecycleConfigSummaryList":{ + "type":"list", + "member":{"shape":"NotebookInstanceLifecycleConfigSummary"} + }, + "NotebookInstanceLifecycleHook":{ + "type":"structure", + "members":{ + "Content":{"shape":"NotebookInstanceLifecycleConfigContent"} + } + }, "NotebookInstanceName":{ "type":"string", "max":63, @@ -1094,7 +1880,8 @@ "Stopping", "Stopped", "Failed", - "Deleting" + "Deleting", + "Updating" ] }, "NotebookInstanceSummary":{ @@ -1110,7 +1897,8 @@ "Url":{"shape":"NotebookInstanceUrl"}, "InstanceType":{"shape":"InstanceType"}, "CreationTime":{"shape":"CreationTime"}, - "LastModifiedTime":{"shape":"LastModifiedTime"} + "LastModifiedTime":{"shape":"LastModifiedTime"}, + "NotebookInstanceLifecycleConfigName":{"shape":"NotebookInstanceLifecycleConfigName"} } }, "NotebookInstanceSummaryList":{ @@ -1118,6 +1906,26 @@ "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"}, + "Pending":{"shape":"ObjectiveStatusCounter"}, + "Failed":{"shape":"ObjectiveStatusCounter"} + } + }, "OrderKey":{ "type":"string", "enum":[ @@ -1141,10 +1949,24 @@ "type":"string", "max":256 }, + "ParameterRanges":{ + "type":"structure", + "members":{ + "IntegerParameterRanges":{"shape":"IntegerParameterRanges"}, + "ContinuousParameterRanges":{"shape":"ContinuousParameterRanges"}, + "CategoricalParameterRanges":{"shape":"CategoricalParameterRanges"} + } + }, "ParameterValue":{ "type":"string", "max":256 }, + "ParameterValues":{ + "type":"list", + "member":{"shape":"ParameterValue"}, + "max":20, + "min":1 + }, "ProductionVariant":{ "type":"structure", "required":[ @@ -1164,16 +1986,38 @@ "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.c4.xlarge", - "ml.c5.2xlarge", - "ml.c5.9xlarge", - "ml.c5.xlarge", - "ml.m4.xlarge", "ml.p2.xlarge", + "ml.p2.8xlarge", + "ml.p2.16xlarge", "ml.p3.2xlarge", - "ml.t2.medium" + "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":{ @@ -1186,6 +2030,7 @@ "required":["VariantName"], "members":{ "VariantName":{"shape":"VariantName"}, + "DeployedImages":{"shape":"DeployedImages"}, "CurrentWeight":{"shape":"VariantWeight"}, "DesiredWeight":{"shape":"VariantWeight"}, "CurrentInstanceCount":{"shape":"TaskCount"}, @@ -1218,7 +2063,8 @@ "members":{ "InstanceType":{"shape":"TrainingInstanceType"}, "InstanceCount":{"shape":"TrainingInstanceCount"}, - "VolumeSizeInGB":{"shape":"VolumeSizeInGB"} + "VolumeSizeInGB":{"shape":"VolumeSizeInGB"}, + "VolumeKmsKeyId":{"shape":"KmsKeyId"} } }, "ResourceInUse":{ @@ -1235,6 +2081,17 @@ }, "exception":true }, + "ResourceLimits":{ + "type":"structure", + "required":[ + "MaxNumberOfTrainingJobs", + "MaxParallelTrainingJobs" + ], + "members":{ + "MaxNumberOfTrainingJobs":{"shape":"MaxNumberOfTrainingJobs"}, + "MaxParallelTrainingJobs":{"shape":"MaxParallelTrainingJobs"} + } + }, "ResourceNotFound":{ "type":"structure", "members":{ @@ -1283,7 +2140,10 @@ "type":"string", "enum":[ "Starting", + "LaunchingMLInstances", + "PreparingTrainingStack", "Downloading", + "DownloadingTrainingImage", "Training", "Uploading", "Stopping", @@ -1293,6 +2153,23 @@ "Failed" ] }, + "SecondaryStatusTransition":{ + "type":"structure", + "required":[ + "Status", + "StartTime" + ], + "members":{ + "Status":{"shape":"SecondaryStatus"}, + "StartTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "StatusMessage":{"shape":"StatusMessage"} + } + }, + "SecondaryStatusTransitions":{ + "type":"list", + "member":{"shape":"SecondaryStatusTransition"} + }, "SecurityGroupId":{ "type":"string", "max":32 @@ -1322,6 +2199,14 @@ "Descending" ] }, + "SplitType":{ + "type":"string", + "enum":[ + "None", + "Line", + "RecordIO" + ] + }, "StartNotebookInstanceInput":{ "type":"structure", "required":["NotebookInstanceName"], @@ -1329,6 +2214,14 @@ "NotebookInstanceName":{"shape":"NotebookInstanceName"} } }, + "StatusMessage":{"type":"string"}, + "StopHyperParameterTuningJobRequest":{ + "type":"structure", + "required":["HyperParameterTuningJobName"], + "members":{ + "HyperParameterTuningJobName":{"shape":"HyperParameterTuningJobName"} + } + }, "StopNotebookInstanceInput":{ "type":"structure", "required":["NotebookInstanceName"], @@ -1343,6 +2236,13 @@ "TrainingJobName":{"shape":"TrainingJobName"} } }, + "StopTransformJobRequest":{ + "type":"structure", + "required":["TransformJobName"], + "members":{ + "TransformJobName":{"shape":"TransformJobName"} + } + }, "StoppingCondition":{ "type":"structure", "members":{ @@ -1353,6 +2253,12 @@ "type":"string", "max":32 }, + "Subnets":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":16, + "min":1 + }, "Tag":{ "type":"structure", "required":[ @@ -1408,10 +2314,19 @@ "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", @@ -1429,7 +2344,7 @@ "TrainingJobArn":{ "type":"string", "max":256, - "pattern":"arn:aws:sagemaker:[\\p{Alnum}\\-]*:[0-9]{12}:training-job/.*" + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:training-job/.*" }, "TrainingJobName":{ "type":"string", @@ -1437,6 +2352,15 @@ "min":1, "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" }, + "TrainingJobSortByOptions":{ + "type":"string", + "enum":[ + "Name", + "CreationTime", + "Status", + "FinalObjectiveMetricValue" + ] + }, "TrainingJobStatus":{ "type":"string", "enum":[ @@ -1447,6 +2371,20 @@ "Stopped" ] }, + "TrainingJobStatusCounter":{ + "type":"integer", + "min":0 + }, + "TrainingJobStatusCounters":{ + "type":"structure", + "members":{ + "Completed":{"shape":"TrainingJobStatusCounter"}, + "InProgress":{"shape":"TrainingJobStatusCounter"}, + "RetryableError":{"shape":"TrainingJobStatusCounter"}, + "NonRetryableError":{"shape":"TrainingJobStatusCounter"}, + "Stopped":{"shape":"TrainingJobStatusCounter"} + } + }, "TrainingJobSummaries":{ "type":"list", "member":{"shape":"TrainingJobSummary"} @@ -1468,6 +2406,148 @@ "TrainingJobStatus":{"shape":"TrainingJobStatus"} } }, + "TransformDataSource":{ + "type":"structure", + "required":["S3DataSource"], + "members":{ + "S3DataSource":{"shape":"TransformS3DataSource"} + } + }, + "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"}, + "ContentType":{"shape":"ContentType"}, + "CompressionType":{"shape":"CompressionType"}, + "SplitType":{"shape":"SplitType"} + } + }, + "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"}, + "TransformJobArn":{"shape":"TransformJobArn"}, + "CreationTime":{"shape":"Timestamp"}, + "TransformEndTime":{"shape":"Timestamp"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "TransformJobStatus":{"shape":"TransformJobStatus"}, + "FailureReason":{"shape":"FailureReason"} + } + }, + "TransformOutput":{ + "type":"structure", + "required":["S3OutputPath"], + "members":{ + "S3OutputPath":{"shape":"S3Uri"}, + "Accept":{"shape":"Accept"}, + "AssembleWith":{"shape":"AssemblyType"}, + "KmsKeyId":{"shape":"KmsKeyId"} + } + }, + "TransformResources":{ + "type":"structure", + "required":[ + "InstanceType", + "InstanceCount" + ], + "members":{ + "InstanceType":{"shape":"TransformInstanceType"}, + "InstanceCount":{"shape":"TransformInstanceCount"} + } + }, + "TransformS3DataSource":{ + "type":"structure", + "required":[ + "S3DataType", + "S3Uri" + ], + "members":{ + "S3DataType":{"shape":"S3DataType"}, + "S3Uri":{"shape":"S3Uri"} + } + }, "UpdateEndpointInput":{ "type":"structure", "required":[ @@ -1513,6 +2593,20 @@ "RoleArn":{"shape":"RoleArn"} } }, + "UpdateNotebookInstanceLifecycleConfigInput":{ + "type":"structure", + "required":["NotebookInstanceLifecycleConfigName"], + "members":{ + "NotebookInstanceLifecycleConfigName":{"shape":"NotebookInstanceLifecycleConfigName"}, + "OnCreate":{"shape":"NotebookInstanceLifecycleConfigList"}, + "OnStart":{"shape":"NotebookInstanceLifecycleConfigList"} + } + }, + "UpdateNotebookInstanceLifecycleConfigOutput":{ + "type":"structure", + "members":{ + } + }, "UpdateNotebookInstanceOutput":{ "type":"structure", "members":{ @@ -1535,6 +2629,23 @@ "VolumeSizeInGB":{ "type":"integer", "min":1 + }, + "VpcConfig":{ + "type":"structure", + "required":[ + "SecurityGroupIds", + "Subnets" + ], + "members":{ + "SecurityGroupIds":{"shape":"VpcSecurityGroupIds"}, + "Subnets":{"shape":"Subnets"} + } + }, + "VpcSecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5, + "min":1 } } } diff --git a/models/apis/SageMaker/2017-07-24/docs-2.json b/models/apis/SageMaker/2017-07-24/docs-2.json index 739ea29c922..59c529ede44 100644 --- a/models/apis/SageMaker/2017-07-24/docs-2.json +++ b/models/apis/SageMaker/2017-07-24/docs-2.json @@ -3,36 +3,56 @@ "service": "Definition of the public APIs exposed by SageMaker", "operations": { "AddTags": "

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

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.

", - "CreateEndpointConfig": "

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.

", - "CreateModel": "

Creates a model in Amazon SageMaker. In the request, you name the model and describe one or more containers. For each 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 into production.

Use this API to create a model only if you want to use Amazon SageMaker hosting services. 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.

In the CreateModel request, you must define at least one container with the PrimaryContainer parameter. You can optionally specify additional containers with the SupplementalContainers 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. 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": "

Creates an Amazon SageMaker notebook instance. A notebook instance is an ML compute instance running on a Jupyter notebook.

In a CreateNotebookInstance request, you 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 an 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, 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.

", - "CreatePresignedNotebookInstanceUrl": "

Returns a URL that you can use to connect to the Juypter 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.

", - "CreateTrainingJob": "

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:

For more information about Amazon SageMaker, see How It Works.

", - "DeleteEndpoint": "

Deletes an endpoint. Amazon SageMaker frees up all of the resources that were deployed when the endpoint was created.

", - "DeleteEndpointConfig": "

Deletes an endpoint configuration. The DeleteEndpoingConfig API deletes only the specified configuration. It does not delete endpoints created using the configuration.

", + "CreateEndpoint": "

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

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

Starts a hyperparameter tuning job.

", + "CreateModel": "

Creates a model in Amazon SageMaker. In the request, you name the model and describe one or more containers. For each 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 into production.

Use this API to create a model only if you want to use Amazon SageMaker hosting services. 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.

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

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

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

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.

", + "CreateTrainingJob": "

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:

For more information about Amazon SageMaker, see How It Works.

", + "CreateTransformJob": "

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:

For more information about how batch transformation works Amazon SageMaker, see How It Works.

", + "DeleteEndpoint": "

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

Deletes an endpoint configuration. The DeleteEndpointConfig API deletes only the specified configuration. It does not delete endpoints created using the configuration.

", "DeleteModel": "

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

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

Deletes a notebook instance lifecycle configuration.

", "DeleteTags": "

Deletes the specified tags from an Amazon SageMaker resource.

To list a resource's tags, use the ListTags API.

", "DescribeEndpoint": "

Returns the description of an endpoint.

", "DescribeEndpointConfig": "

Returns the description of an endpoint configuration created using the CreateEndpointConfig API.

", + "DescribeHyperParameterTuningJob": "

Gets a description of a hyperparameter tuning job.

", "DescribeModel": "

Describes a model that you created using the CreateModel API.

", "DescribeNotebookInstance": "

Returns information about a notebook instance.

", + "DescribeNotebookInstanceLifecycleConfig": "

Returns a description of a notebook instance lifecycle configuration.

For information about notebook instance lifestyle configurations, see notebook-lifecycle-config.

", "DescribeTrainingJob": "

Returns information about a training job.

", + "DescribeTransformJob": "

Returns information about a transform job.

", "ListEndpointConfigs": "

Lists endpoint configurations.

", "ListEndpoints": "

Lists endpoints.

", + "ListHyperParameterTuningJobs": "

Gets a list of HyperParameterTuningJobSummary objects that describe the hyperparameter tuning jobs launched in your account.

", "ListModels": "

Lists models created with the CreateModel API.

", + "ListNotebookInstanceLifecycleConfigs": "

Lists notebook instance lifestyle configurations created with the CreateNotebookInstanceLifecycleConfig API.

", "ListNotebookInstances": "

Returns a list of the Amazon SageMaker notebook instances in the requester's account in an AWS Region.

", "ListTags": "

Returns the tags for the specified Amazon SageMaker resource.

", "ListTrainingJobs": "

Lists training jobs.

", - "StartNotebookInstance": "

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 (is this same as \"Running\" in the console?) before you can connect to your Jupyter notebook.

", + "ListTrainingJobsForHyperParameterTuningJob": "

Gets a list of TrainingJobSummary objects that describe the training jobs that a hyperparameter tuning job launched.

", + "ListTransformJobs": "

Lists transform jobs.

", + "StartNotebookInstance": "

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

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

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

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.

", - "UpdateEndpoint": "

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.

", - "UpdateEndpointWeightsAndCapacities": "

Updates variant weight, capacity, or both of one or more variants associated with an endpoint. This operation updates weight, capacity, or both for the previously provisioned 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": "

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.

" + "StopTransformJob": "

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

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

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

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

Updates a notebook instance lifecycle configuration created with the CreateNotebookInstanceLifecycleConfig API.

" }, "shapes": { + "Accept": { + "base": null, + "refs": { + "TransformOutput$Accept": "

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.

" + } + }, "AddTagsInput": { "base": null, "refs": { @@ -46,16 +66,42 @@ "AlgorithmImage": { "base": null, "refs": { - "AlgorithmSpecification$TrainingImage": "

The registry path of the Docker image that contains the training algorithm. For information about using your own algorithms, see Docker Registry Paths for Algorithms Provided by Amazon SageMaker .

" + "AlgorithmSpecification$TrainingImage": "

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.

", + "HyperParameterAlgorithmSpecification$TrainingImage": "

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.

" } }, "AlgorithmSpecification": { - "base": "

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 Bring Your Own Algorithms .

", + "base": "

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.

", "refs": { - "CreateTrainingJobRequest$AlgorithmSpecification": "

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 Bring Your Own Algorithms .

", + "CreateTrainingJobRequest$AlgorithmSpecification": "

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.

", "DescribeTrainingJobResponse$AlgorithmSpecification": "

Information about the algorithm used for training, and algorithm metadata.

" } }, + "AssemblyType": { + "base": null, + "refs": { + "TransformOutput$AssembleWith": "

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.

" + } + }, + "BatchStrategy": { + "base": null, + "refs": { + "CreateTransformJobRequest$BatchStrategy": "

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.

", + "DescribeTransformJobResponse$BatchStrategy": "

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.

" + } + }, + "CategoricalParameterRange": { + "base": "

A list of categorical hyperparameters to tune.

", + "refs": { + "CategoricalParameterRanges$member": null + } + }, + "CategoricalParameterRanges": { + "base": null, + "refs": { + "ParameterRanges$CategoricalParameterRanges": "

The array of CategoricalParameterRange objects that specify ranges of categorical hyperparameters that a hyperparameter tuning job searches.

" + } + }, "Channel": { "base": "

A channel is a named input source that training algorithms can consume.

", "refs": { @@ -71,34 +117,40 @@ "CompressionType": { "base": null, "refs": { - "Channel$CompressionType": "

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.

" + "Channel$CompressionType": "

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.

", + "TransformInput$CompressionType": "

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.

" } }, "ContainerDefinition": { "base": "

Describes the container, as part of model definition.

", "refs": { - "ContainerDefinitionList$member": null, "CreateModelInput$PrimaryContainer": "

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 into production.

", "DescribeModelOutput$PrimaryContainer": "

The location of the primary inference code, associated artifacts, and custom environment map that the inference code uses when it is deployed in production.

" } }, - "ContainerDefinitionList": { + "ContainerHostname": { "base": null, "refs": { - "CreateModelInput$SupplementalContainers": "

The additional optional containers to deploy.

", - "DescribeModelOutput$SupplementalContainers": "

The description of additional optional containers that you defined when creating the model.

" + "ContainerDefinition$ContainerHostname": "

The DNS host name for the container after Amazon SageMaker deploys it.

" } }, - "ContainerHostname": { + "ContentType": { "base": null, "refs": { - "ContainerDefinition$ContainerHostname": "

The DNS host name for the container after Amazon SageMaker deploys it.

" + "Channel$ContentType": "

The MIME type of the data.

", + "TransformInput$ContentType": "

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.

" } }, - "ContentType": { + "ContinuousParameterRange": { + "base": "

A list of continuous hyperparameters to tune.

", + "refs": { + "ContinuousParameterRanges$member": null + } + }, + "ContinuousParameterRanges": { "base": null, "refs": { - "Channel$ContentType": "

The MIME type of the data.

" + "ParameterRanges$ContinuousParameterRanges": "

The array of ContinuousParameterRange objects that specify ranges of continuous hyperparameters that a hyperparameter tuning job searches.

" } }, "CreateEndpointConfigInput": { @@ -121,6 +173,16 @@ "refs": { } }, + "CreateHyperParameterTuningJobRequest": { + "base": null, + "refs": { + } + }, + "CreateHyperParameterTuningJobResponse": { + "base": null, + "refs": { + } + }, "CreateModelInput": { "base": null, "refs": { @@ -136,6 +198,16 @@ "refs": { } }, + "CreateNotebookInstanceLifecycleConfigInput": { + "base": null, + "refs": { + } + }, + "CreateNotebookInstanceLifecycleConfigOutput": { + "base": null, + "refs": { + } + }, "CreateNotebookInstanceOutput": { "base": null, "refs": { @@ -161,12 +233,26 @@ "refs": { } }, + "CreateTransformJobRequest": { + "base": null, + "refs": { + } + }, + "CreateTransformJobResponse": { + "base": null, + "refs": { + } + }, "CreationTime": { "base": null, "refs": { + "DescribeNotebookInstanceLifecycleConfigOutput$CreationTime": "

A timestamp that tells when the lifecycle configuration was created.

", "DescribeNotebookInstanceOutput$CreationTime": "

A timestamp. Use this parameter to return the time when the notebook instance was created

", + "ListNotebookInstanceLifecycleConfigsInput$CreationTimeBefore": "

A filter that returns only lifecycle configurations that were created before the specified time (timestamp).

", + "ListNotebookInstanceLifecycleConfigsInput$CreationTimeAfter": "

A filter that returns only lifecycle configurations that were created after the specified time (timestamp).

", "ListNotebookInstancesInput$CreationTimeBefore": "

A filter that returns only notebook instances that were created before the specified time (timestamp).

", "ListNotebookInstancesInput$CreationTimeAfter": "

A filter that returns only notebook instances that were created after the specified time (timestamp).

", + "NotebookInstanceLifecycleConfigSummary$CreationTime": "

A timestamp that tells when the lifecycle configuration was created.

", "NotebookInstanceSummary$CreationTime": "

A timestamp that shows when the notebook instance was created.

" } }, @@ -196,6 +282,11 @@ "refs": { } }, + "DeleteNotebookInstanceLifecycleConfigInput": { + "base": null, + "refs": { + } + }, "DeleteTagsInput": { "base": null, "refs": { @@ -206,6 +297,18 @@ "refs": { } }, + "DeployedImage": { + "base": "

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.

", + "refs": { + "DeployedImages$member": null + } + }, + "DeployedImages": { + "base": null, + "refs": { + "ProductionVariantSummary$DeployedImages": "

An array of DeployedImage objects that specify the Amazon EC2 Container Registry paths of the inference images deployed on instances of this ProductionVariant.

" + } + }, "DescribeEndpointConfigInput": { "base": null, "refs": { @@ -226,6 +329,16 @@ "refs": { } }, + "DescribeHyperParameterTuningJobRequest": { + "base": null, + "refs": { + } + }, + "DescribeHyperParameterTuningJobResponse": { + "base": null, + "refs": { + } + }, "DescribeModelInput": { "base": null, "refs": { @@ -241,6 +354,16 @@ "refs": { } }, + "DescribeNotebookInstanceLifecycleConfigInput": { + "base": null, + "refs": { + } + }, + "DescribeNotebookInstanceLifecycleConfigOutput": { + "base": null, + "refs": { + } + }, "DescribeNotebookInstanceOutput": { "base": null, "refs": { @@ -256,6 +379,16 @@ "refs": { } }, + "DescribeTransformJobRequest": { + "base": null, + "refs": { + } + }, + "DescribeTransformJobResponse": { + "base": null, + "refs": { + } + }, "DesiredWeightAndCapacity": { "base": "

Specifies weight and capacity values for a production variant.

", "refs": { @@ -268,6 +401,13 @@ "UpdateEndpointWeightsAndCapacitiesInput$DesiredWeightsAndCapacities": "

An object that provides new capacity and weight values for a variant.

" } }, + "DirectInternetAccess": { + "base": null, + "refs": { + "CreateNotebookInstanceInput$DirectInternetAccess": "

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.

", + "DescribeNotebookInstanceOutput$DirectInternetAccess": "

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.

" + } + }, "EndpointArn": { "base": null, "refs": { @@ -389,31 +529,145 @@ "base": null, "refs": { "DescribeEndpointOutput$FailureReason": "

If the status of the endpoint is Failed, the reason why it failed.

", - "DescribeNotebookInstanceOutput$FailureReason": "

If staus is failed, the reason it failed.

", + "DescribeHyperParameterTuningJobResponse$FailureReason": "

If the tuning job failed, the reason it failed.

", + "DescribeNotebookInstanceOutput$FailureReason": "

If status is failed, the reason it failed.

", "DescribeTrainingJobResponse$FailureReason": "

If the training job failed, the reason it failed.

", + "DescribeTransformJobResponse$FailureReason": "

If the transform job failed, the reason that it failed.

", + "HyperParameterTrainingJobSummary$FailureReason": "

The reason that the training job failed.

", "ResourceInUse$Message": null, "ResourceLimitExceeded$Message": null, - "ResourceNotFound$Message": null + "ResourceNotFound$Message": null, + "TransformJobSummary$FailureReason": "

If the transform job failed, the reason it failed.

" + } + }, + "FinalHyperParameterTuningJobObjectiveMetric": { + "base": "

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.

", + "refs": { + "HyperParameterTrainingJobSummary$FinalHyperParameterTuningJobObjectiveMetric": "

The FinalHyperParameterTuningJobObjectiveMetric object that specifies the value of the objective metric of the tuning job that launched this training job.

" + } + }, + "HyperParameterAlgorithmSpecification": { + "base": "

Specifies which training algorithm to use for training jobs that a hyperparameter tuning job launches and the metrics to monitor.

", + "refs": { + "HyperParameterTrainingJobDefinition$AlgorithmSpecification": "

The HyperParameterAlgorithmSpecification object that specifies the algorithm to use for the training jobs that the tuning job launches.

" + } + }, + "HyperParameterTrainingJobDefinition": { + "base": "

Defines the training jobs launched by a hyperparameter tuning job.

", + "refs": { + "CreateHyperParameterTuningJobRequest$TrainingJobDefinition": "

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.

", + "DescribeHyperParameterTuningJobResponse$TrainingJobDefinition": "

The HyperParameterTrainingJobDefinition object that specifies the definition of the training jobs that this tuning job launches.

" + } + }, + "HyperParameterTrainingJobSummaries": { + "base": null, + "refs": { + "ListTrainingJobsForHyperParameterTuningJobResponse$TrainingJobSummaries": "

A list of TrainingJobSummary objects that describe the training jobs that the ListTrainingJobsForHyperParameterTuningJob request returned.

" + } + }, + "HyperParameterTrainingJobSummary": { + "base": "

Specifies summary information about a training job.

", + "refs": { + "DescribeHyperParameterTuningJobResponse$BestTrainingJob": "

A TrainingJobSummary object that describes the training job that completed with the best current HyperParameterTuningJobObjective.

", + "HyperParameterTrainingJobSummaries$member": null + } + }, + "HyperParameterTuningJobArn": { + "base": null, + "refs": { + "CreateHyperParameterTuningJobResponse$HyperParameterTuningJobArn": "

The Amazon Resource Name (ARN) of the tuning job.

", + "DescribeHyperParameterTuningJobResponse$HyperParameterTuningJobArn": "

The Amazon Resource Name (ARN) of the tuning job.

", + "DescribeTrainingJobResponse$TuningJobArn": "

The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the training job was launched by a hyperparameter tuning job.

", + "HyperParameterTuningJobSummary$HyperParameterTuningJobArn": "

The Amazon Resource Name (ARN) of the tuning job.

" + } + }, + "HyperParameterTuningJobConfig": { + "base": "

Configures a hyperparameter tuning job.

", + "refs": { + "CreateHyperParameterTuningJobRequest$HyperParameterTuningJobConfig": "

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.

", + "DescribeHyperParameterTuningJobResponse$HyperParameterTuningJobConfig": "

The HyperParameterTuningJobConfig object that specifies the configuration of the tuning job.

" + } + }, + "HyperParameterTuningJobName": { + "base": null, + "refs": { + "CreateHyperParameterTuningJobRequest$HyperParameterTuningJobName": "

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.

", + "DescribeHyperParameterTuningJobRequest$HyperParameterTuningJobName": "

The name of the tuning job to describe.

", + "DescribeHyperParameterTuningJobResponse$HyperParameterTuningJobName": "

The name of the tuning job.

", + "HyperParameterTuningJobSummary$HyperParameterTuningJobName": "

The name of the tuning job.

", + "ListTrainingJobsForHyperParameterTuningJobRequest$HyperParameterTuningJobName": "

The name of the tuning job whose training jobs you want to list.

", + "StopHyperParameterTuningJobRequest$HyperParameterTuningJobName": "

The name of the tuning job to stop.

" + } + }, + "HyperParameterTuningJobObjective": { + "base": "

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.

", + "refs": { + "HyperParameterTuningJobConfig$HyperParameterTuningJobObjective": "

The HyperParameterTuningJobObjective object that specifies the objective metric for this tuning job.

" + } + }, + "HyperParameterTuningJobObjectiveType": { + "base": null, + "refs": { + "FinalHyperParameterTuningJobObjectiveMetric$Type": "

Whether to minimize or maximize the objective metric. Valid values are Minimize and Maximize.

", + "HyperParameterTuningJobObjective$Type": "

Whether to minimize or maximize the objective metric.

" + } + }, + "HyperParameterTuningJobSortByOptions": { + "base": null, + "refs": { + "ListHyperParameterTuningJobsRequest$SortBy": "

The field to sort results by. The default is Name.

" + } + }, + "HyperParameterTuningJobStatus": { + "base": null, + "refs": { + "DescribeHyperParameterTuningJobResponse$HyperParameterTuningJobStatus": "

The status of the tuning job: InProgress, Completed, Failed, Stopping, or Stopped.

", + "HyperParameterTuningJobSummary$HyperParameterTuningJobStatus": "

The status of the tuning job.

", + "ListHyperParameterTuningJobsRequest$StatusEquals": "

A filter that returns only tuning jobs with the specified status.

" + } + }, + "HyperParameterTuningJobStrategyType": { + "base": "

The strategy hyperparameter tuning uses to find the best combination of hyperparameters for your model. Currently, the only supported value is Bayesian.

", + "refs": { + "HyperParameterTuningJobConfig$Strategy": "

Specifies the search strategy for hyperparameters. Currently, the only valid value is Bayesian.

", + "HyperParameterTuningJobSummary$Strategy": "

Specifies the search strategy hyperparameter tuning uses to choose which hyperparameters to use for each iteration. Currently, the only valid value is Bayesian.

" + } + }, + "HyperParameterTuningJobSummaries": { + "base": null, + "refs": { + "ListHyperParameterTuningJobsResponse$HyperParameterTuningJobSummaries": "

A list of HyperParameterTuningJobSummary objects that describe the tuning jobs that the ListHyperParameterTuningJobs request returned.

" + } + }, + "HyperParameterTuningJobSummary": { + "base": "

Provides summary information about a hyperparameter tuning job.

", + "refs": { + "HyperParameterTuningJobSummaries$member": null } }, "HyperParameters": { "base": null, "refs": { - "CreateTrainingJobRequest$HyperParameters": "

Algorithm-specific parameters. You set hyperparameters before you start the learning process. Hyperparameters influence the quality of the model. 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.

", - "DescribeTrainingJobResponse$HyperParameters": "

Algorithm-specific parameters.

" + "CreateTrainingJobRequest$HyperParameters": "

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.

", + "DescribeTrainingJobResponse$HyperParameters": "

Algorithm-specific parameters.

", + "HyperParameterTrainingJobDefinition$StaticHyperParameters": "

Specifies the values of hyperparameters that do not change for the tuning job.

", + "HyperParameterTrainingJobSummary$TunedHyperParameters": "

A list of the hyperparameters for which you specified ranges to search.

" } }, "Image": { "base": null, "refs": { - "ContainerDefinition$Image": "

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. For more information, see Using Your Own Algorithms with Amazon SageMaker

" + "ContainerDefinition$Image": "

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

", + "DeployedImage$SpecifiedImage": "

The image path you specified when you created the model.

", + "DeployedImage$ResolvedImage": "

The specific digest path of the image hosted in this ProductionVariant.

" } }, "InputDataConfig": { "base": null, "refs": { "CreateTrainingJobRequest$InputDataConfig": "

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.

", - "DescribeTrainingJobResponse$InputDataConfig": "

An array of Channel objects that describes each data input channel.

" + "DescribeTrainingJobResponse$InputDataConfig": "

An array of Channel objects that describes each data input channel.

", + "HyperParameterTrainingJobDefinition$InputDataConfig": "

An array of Channel objects that specify the input for the training jobs that the tuning job launches.

" } }, "InstanceType": { @@ -425,20 +679,40 @@ "UpdateNotebookInstanceInput$InstanceType": "

The Amazon ML compute instance type.

" } }, + "IntegerParameterRange": { + "base": "

For a hyperparameter of the integer type, specifies the range that a hyperparameter tuning job searches.

", + "refs": { + "IntegerParameterRanges$member": null + } + }, + "IntegerParameterRanges": { + "base": null, + "refs": { + "ParameterRanges$IntegerParameterRanges": "

The array of IntegerParameterRange objects that specify ranges of integer hyperparameters that a hyperparameter tuning job searches.

" + } + }, "KmsKeyId": { "base": null, "refs": { + "CreateEndpointConfigInput$KmsKeyId": "

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.

", "CreateNotebookInstanceInput$KmsKeyId": "

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.

", + "DescribeEndpointConfigOutput$KmsKeyId": "

AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage volume attached to the instance.

", "DescribeNotebookInstanceOutput$KmsKeyId": "

AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage volume attached to the instance.

", - "OutputDataConfig$KmsKeyId": "

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 the configuration of the output S3 bucket requires server-side encryption for objects, and you don't provide the KMS key ID, Amazon SageMaker uses the default service key. 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.

" + "OutputDataConfig$KmsKeyId": "

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.

", + "ResourceConfig$VolumeKmsKeyId": "

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.

", + "TransformOutput$KmsKeyId": "

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.

" } }, "LastModifiedTime": { "base": null, "refs": { + "DescribeNotebookInstanceLifecycleConfigOutput$LastModifiedTime": "

A timestamp that tells when the lifecycle configuration was last modified.

", "DescribeNotebookInstanceOutput$LastModifiedTime": "

A timestamp. Use this parameter to retrieve the time when the notebook instance was last modified.

", + "ListNotebookInstanceLifecycleConfigsInput$LastModifiedTimeBefore": "

A filter that returns only lifecycle configurations that were modified before the specified time (timestamp).

", + "ListNotebookInstanceLifecycleConfigsInput$LastModifiedTimeAfter": "

A filter that returns only lifecycle configurations that were modified after the specified time (timestamp).

", "ListNotebookInstancesInput$LastModifiedTimeBefore": "

A filter that returns only notebook instances that were modified before the specified time (timestamp).

", "ListNotebookInstancesInput$LastModifiedTimeAfter": "

A filter that returns only notebook instances that were modified after the specified time (timestamp).

", + "NotebookInstanceLifecycleConfigSummary$LastModifiedTime": "

A timestamp that tells when the lifecycle configuration was last modified.

", "NotebookInstanceSummary$LastModifiedTime": "

A timestamp that shows when the notebook instance was last modified.

" } }, @@ -462,6 +736,16 @@ "refs": { } }, + "ListHyperParameterTuningJobsRequest": { + "base": null, + "refs": { + } + }, + "ListHyperParameterTuningJobsResponse": { + "base": null, + "refs": { + } + }, "ListModelsInput": { "base": null, "refs": { @@ -472,6 +756,16 @@ "refs": { } }, + "ListNotebookInstanceLifecycleConfigsInput": { + "base": null, + "refs": { + } + }, + "ListNotebookInstanceLifecycleConfigsOutput": { + "base": null, + "refs": { + } + }, "ListNotebookInstancesInput": { "base": null, "refs": { @@ -498,6 +792,16 @@ "refs": { } }, + "ListTrainingJobsForHyperParameterTuningJobRequest": { + "base": null, + "refs": { + } + }, + "ListTrainingJobsForHyperParameterTuningJobResponse": { + "base": null, + "refs": { + } + }, "ListTrainingJobsRequest": { "base": null, "refs": { @@ -508,14 +812,54 @@ "refs": { } }, + "ListTransformJobsRequest": { + "base": null, + "refs": { + } + }, + "ListTransformJobsResponse": { + "base": null, + "refs": { + } + }, + "MaxConcurrentTransforms": { + "base": null, + "refs": { + "CreateTransformJobRequest$MaxConcurrentTransforms": "

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.

", + "DescribeTransformJobResponse$MaxConcurrentTransforms": "

The maximum number of parallel requests on each instance node that can be launched in a transform job. The default value is 1.

" + } + }, + "MaxNumberOfTrainingJobs": { + "base": null, + "refs": { + "ResourceLimits$MaxNumberOfTrainingJobs": "

The maximum number of training jobs that a hyperparameter tuning job can launch.

" + } + }, + "MaxParallelTrainingJobs": { + "base": null, + "refs": { + "ResourceLimits$MaxParallelTrainingJobs": "

The maximum number of concurrent training jobs that a hyperparameter tuning job can launch.

" + } + }, + "MaxPayloadInMB": { + "base": null, + "refs": { + "CreateTransformJobRequest$MaxPayloadInMB": "

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.

", + "DescribeTransformJobResponse$MaxPayloadInMB": "

The maximum payload size , in MB used in the transform job.

" + } + }, "MaxResults": { "base": null, "refs": { "ListEndpointConfigsInput$MaxResults": "

The maximum number of training jobs to return in the response.

", "ListEndpointsInput$MaxResults": "

The maximum number of endpoints to return in the response.

", + "ListHyperParameterTuningJobsRequest$MaxResults": "

The maximum number of tuning jobs to return. The default value is 10.

", "ListModelsInput$MaxResults": "

The maximum number of models to return in the response.

", + "ListNotebookInstanceLifecycleConfigsInput$MaxResults": "

The maximum number of lifecycle configurations to return in the response.

", "ListNotebookInstancesInput$MaxResults": "

The maximum number of notebook instances to return.

", - "ListTrainingJobsRequest$MaxResults": "

The maximum number of training jobs to return in the response.

" + "ListTrainingJobsForHyperParameterTuningJobRequest$MaxResults": "

The maximum number of training jobs to return. The default value is 10.

", + "ListTrainingJobsRequest$MaxResults": "

The maximum number of training jobs to return in the response.

", + "ListTransformJobsRequest$MaxResults": "

The maximum number of transform jobs to return in the response. The default value is 10.

" } }, "MaxRuntimeInSeconds": { @@ -524,6 +868,38 @@ "StoppingCondition$MaxRuntimeInSeconds": "

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.

" } }, + "MetricDefinition": { + "base": "

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.

", + "refs": { + "MetricDefinitionList$member": null + } + }, + "MetricDefinitionList": { + "base": null, + "refs": { + "HyperParameterAlgorithmSpecification$MetricDefinitions": "

An array of MetricDefinition objects that specify the metrics that the algorithm emits.

" + } + }, + "MetricName": { + "base": null, + "refs": { + "FinalHyperParameterTuningJobObjectiveMetric$MetricName": "

The name of the objective metric.

", + "HyperParameterTuningJobObjective$MetricName": "

The name of the metric to use for the objective metric.

", + "MetricDefinition$Name": "

The name of the metric.

" + } + }, + "MetricRegex": { + "base": null, + "refs": { + "MetricDefinition$Regex": "

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.

" + } + }, + "MetricValue": { + "base": null, + "refs": { + "FinalHyperParameterTuningJobObjectiveMetric$Value": "

The value of the objective metric.

" + } + }, "ModelArn": { "base": null, "refs": { @@ -542,9 +918,11 @@ "base": null, "refs": { "CreateModelInput$ModelName": "

The name of the new model.

", + "CreateTransformJobRequest$ModelName": "

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.

", "DeleteModelInput$ModelName": "

The name of the model to delete.

", "DescribeModelInput$ModelName": "

The name of the model.

", "DescribeModelOutput$ModelName": "

Name of the Amazon SageMaker model.

", + "DescribeTransformJobResponse$ModelName": "

The name of the model used in the transform job.

", "ModelSummary$ModelName": "

The name of the model that you want a summary for.

", "ProductionVariant$ModelName": "

The name of the model that you want to host. This is the name that you specified when creating the model.

" } @@ -576,7 +954,9 @@ "NameContains": { "base": null, "refs": { - "ListTrainingJobsRequest$NameContains": "

A string in the training job name. This filter returns only models whose name contains the specified string.

" + "ListHyperParameterTuningJobsRequest$NameContains": "

A string in the tuning job name. This filter returns only tuning jobs whose name contains the specified string.

", + "ListTrainingJobsRequest$NameContains": "

A string in the training job name. This filter returns only training jobs whose name contains the specified string.

", + "ListTransformJobsRequest$NameContains": "

A string in the transform job name. This filter returns only transform jobs whose name contains the specified string.

" } }, "NetworkInterfaceId": { @@ -588,12 +968,20 @@ "NextToken": { "base": null, "refs": { + "ListHyperParameterTuningJobsRequest$NextToken": "

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.

", + "ListHyperParameterTuningJobsResponse$NextToken": "

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.

", + "ListNotebookInstanceLifecycleConfigsInput$NextToken": "

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.

", + "ListNotebookInstanceLifecycleConfigsOutput$NextToken": "

If the response is truncated, Amazon SageMaker returns this token. To get the next set of lifecycle configurations, use it in the next request.

", "ListNotebookInstancesInput$NextToken": "

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.

", "ListNotebookInstancesOutput$NextToken": "

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.

", "ListTagsInput$NextToken": "

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.

", "ListTagsOutput$NextToken": "

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$NextToken": "

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.

", + "ListTrainingJobsForHyperParameterTuningJobResponse$NextToken": "

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$NextToken": "

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.

", - "ListTrainingJobsResponse$NextToken": "

If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of training jobs, use it in the subsequent request.

" + "ListTrainingJobsResponse$NextToken": "

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$NextToken": "

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.

", + "ListTransformJobsResponse$NextToken": "

If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of transform jobs, use it in the next request.

" } }, "NotebookInstanceArn": { @@ -604,6 +992,82 @@ "NotebookInstanceSummary$NotebookInstanceArn": "

The Amazon Resource Name (ARN) of the notebook instance.

" } }, + "NotebookInstanceLifecycleConfigArn": { + "base": null, + "refs": { + "CreateNotebookInstanceLifecycleConfigOutput$NotebookInstanceLifecycleConfigArn": "

The Amazon Resource Name (ARN) of the lifecycle configuration.

", + "DescribeNotebookInstanceLifecycleConfigOutput$NotebookInstanceLifecycleConfigArn": "

The Amazon Resource Name (ARN) of the lifecycle configuration.

", + "NotebookInstanceLifecycleConfigSummary$NotebookInstanceLifecycleConfigArn": "

The Amazon Resource Name (ARN) of the lifecycle configuration.

" + } + }, + "NotebookInstanceLifecycleConfigContent": { + "base": null, + "refs": { + "NotebookInstanceLifecycleHook$Content": "

A base64-encoded string that contains a shell script for a notebook instance lifecycle configuration.

" + } + }, + "NotebookInstanceLifecycleConfigList": { + "base": null, + "refs": { + "CreateNotebookInstanceLifecycleConfigInput$OnCreate": "

A shell script that runs only once, when you create a notebook instance.

", + "CreateNotebookInstanceLifecycleConfigInput$OnStart": "

A shell script that runs every time you start a notebook instance, including when you create the notebook instance.

", + "DescribeNotebookInstanceLifecycleConfigOutput$OnCreate": "

The shell script that runs only once, when you create a notebook instance.

", + "DescribeNotebookInstanceLifecycleConfigOutput$OnStart": "

The shell script that runs every time you start a notebook instance, including when you create the notebook instance.

", + "UpdateNotebookInstanceLifecycleConfigInput$OnCreate": "

The shell script that runs only once, when you create a notebook instance

", + "UpdateNotebookInstanceLifecycleConfigInput$OnStart": "

The shell script that runs every time you start a notebook instance, including when you create the notebook instance.

" + } + }, + "NotebookInstanceLifecycleConfigName": { + "base": null, + "refs": { + "CreateNotebookInstanceInput$LifecycleConfigName": "

The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see notebook-lifecycle-config.

", + "CreateNotebookInstanceLifecycleConfigInput$NotebookInstanceLifecycleConfigName": "

The name of the lifecycle configuration.

", + "DeleteNotebookInstanceLifecycleConfigInput$NotebookInstanceLifecycleConfigName": "

The name of the lifecycle configuration to delete.

", + "DescribeNotebookInstanceLifecycleConfigInput$NotebookInstanceLifecycleConfigName": "

The name of the lifecycle configuration to describe.

", + "DescribeNotebookInstanceLifecycleConfigOutput$NotebookInstanceLifecycleConfigName": "

The name of the lifecycle configuration.

", + "DescribeNotebookInstanceOutput$NotebookInstanceLifecycleConfigName": "

Returns the name of a notebook instance lifecycle configuration.

For information about notebook instance lifestyle configurations, see notebook-lifecycle-config.

", + "ListNotebookInstancesInput$NotebookInstanceLifecycleConfigNameContains": "

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.

", + "NotebookInstanceLifecycleConfigSummary$NotebookInstanceLifecycleConfigName": "

The name of the lifecycle configuration.

", + "NotebookInstanceSummary$NotebookInstanceLifecycleConfigName": "

The name of a notebook instance lifecycle configuration associated with this notebook instance.

For information about notebook instance lifestyle configurations, see notebook-lifecycle-config.

", + "UpdateNotebookInstanceLifecycleConfigInput$NotebookInstanceLifecycleConfigName": "

The name of the lifecycle configuration.

" + } + }, + "NotebookInstanceLifecycleConfigNameContains": { + "base": null, + "refs": { + "ListNotebookInstanceLifecycleConfigsInput$NameContains": "

A string in the lifecycle configuration name. This filter returns only lifecycle configurations whose name contains the specified string.

" + } + }, + "NotebookInstanceLifecycleConfigSortKey": { + "base": null, + "refs": { + "ListNotebookInstanceLifecycleConfigsInput$SortBy": "

Sorts the list of results. The default is CreationTime.

" + } + }, + "NotebookInstanceLifecycleConfigSortOrder": { + "base": null, + "refs": { + "ListNotebookInstanceLifecycleConfigsInput$SortOrder": "

The sort order for results.

" + } + }, + "NotebookInstanceLifecycleConfigSummary": { + "base": "

Provides a summary of a notebook instance lifecycle configuration.

", + "refs": { + "NotebookInstanceLifecycleConfigSummaryList$member": null + } + }, + "NotebookInstanceLifecycleConfigSummaryList": { + "base": null, + "refs": { + "ListNotebookInstanceLifecycleConfigsOutput$NotebookInstanceLifecycleConfigs": "

An array of NotebookInstanceLifecycleConfiguration objects, each listing a lifecycle configuration.

" + } + }, + "NotebookInstanceLifecycleHook": { + "base": "

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.

", + "refs": { + "NotebookInstanceLifecycleConfigList$member": null + } + }, "NotebookInstanceName": { "base": null, "refs": { @@ -621,7 +1085,7 @@ "NotebookInstanceNameContains": { "base": null, "refs": { - "ListNotebookInstancesInput$NameContains": "

A string in the notebook instances' name. This filter returns only notebook instances whose name contains the specified string.

" + "ListNotebookInstancesInput$NameContains": "

A string in the notebook instances' name. This filter returns only notebook instances whose name contains the specified string.

" } }, "NotebookInstanceSortKey": { @@ -664,6 +1128,27 @@ "NotebookInstanceSummary$Url": "

The URL that you use to connect to the Jupyter instance running in your notebook instance.

" } }, + "ObjectiveStatus": { + "base": null, + "refs": { + "HyperParameterTrainingJobSummary$ObjectiveStatus": "

The status of the objective metric for the training job:

" + } + }, + "ObjectiveStatusCounter": { + "base": null, + "refs": { + "ObjectiveStatusCounters$Succeeded": "

The number of training jobs whose final objective metric was evaluated by the hyperparameter tuning job and used in the hyperparameter tuning process.

", + "ObjectiveStatusCounters$Pending": "

The number of training jobs that are in progress and pending evaluation of their final objective metric.

", + "ObjectiveStatusCounters$Failed": "

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.

" + } + }, + "ObjectiveStatusCounters": { + "base": "

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.

", + "refs": { + "DescribeHyperParameterTuningJobResponse$ObjectiveStatusCounters": "

The ObjectiveStatusCounters object that specifies the number of training jobs, categorized by the status of their final objective metric, that this tuning job launched.

", + "HyperParameterTuningJobSummary$ObjectiveStatusCounters": "

The ObjectiveStatusCounters object that specifies the numbers of training jobs, categorized by objective metric status, that this tuning job launched.

" + } + }, "OrderKey": { "base": null, "refs": { @@ -676,7 +1161,8 @@ "base": "

Provides information about how to store model training results (model artifacts).

", "refs": { "CreateTrainingJobRequest$OutputDataConfig": "

Specifies the path to the S3 bucket where you want to store model artifacts. Amazon SageMaker creates subfolders for the artifacts.

", - "DescribeTrainingJobResponse$OutputDataConfig": "

The S3 path where model artifacts that you configured when creating the job are stored. Amazon SageMaker creates subfolders for model artifacts.

" + "DescribeTrainingJobResponse$OutputDataConfig": "

The S3 path where model artifacts that you configured when creating the job are stored. Amazon SageMaker creates subfolders for model artifacts.

", + "HyperParameterTrainingJobDefinition$OutputDataConfig": "

Specifies the path to the Amazon S3 bucket where you store model artifacts from the training jobs that the tuning job launches.

" } }, "PaginationToken": { @@ -693,13 +1179,33 @@ "ParameterKey": { "base": null, "refs": { - "HyperParameters$key": null + "CategoricalParameterRange$Name": "

The name of the categorical hyperparameter to tune.

", + "ContinuousParameterRange$Name": "

The name of the continuous hyperparameter to tune.

", + "HyperParameters$key": null, + "IntegerParameterRange$Name": "

The name of the hyperparameter to search.

" + } + }, + "ParameterRanges": { + "base": "

Specifies ranges of integer, continuous, and categorical hyperparameters that a hyperparameter tuning job searches.

", + "refs": { + "HyperParameterTuningJobConfig$ParameterRanges": "

The ParameterRanges object that specifies the ranges of hyperparameters that this tuning job searches.

" } }, "ParameterValue": { "base": null, "refs": { - "HyperParameters$value": null + "ContinuousParameterRange$MinValue": "

The minimum value for the hyperparameter. The tuning job uses floating-point values between this value and MaxValuefor tuning.

", + "ContinuousParameterRange$MaxValue": "

The maximum value for the hyperparameter. The tuning job uses floating-point values between MinValue value and this value for tuning.

", + "HyperParameters$value": null, + "IntegerParameterRange$MinValue": "

The minimum value of the hyperparameter to search.

", + "IntegerParameterRange$MaxValue": "

The maximum value of the hyperparameter to search.

", + "ParameterValues$member": null + } + }, + "ParameterValues": { + "base": null, + "refs": { + "CategoricalParameterRange$Values": "

A list of the categories for the hyperparameter.

" } }, "ProductionVariant": { @@ -722,7 +1228,7 @@ } }, "ProductionVariantSummary": { - "base": "

Describes weight and capacities for a production variant associated with an endpoint. If you sent a request to the UpdateWeightAndCapacities API and the endpoint status is Updating, you get different desired and current values.

", + "base": "

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.

", "refs": { "ProductionVariantSummaryList$member": null } @@ -730,19 +1236,19 @@ "ProductionVariantSummaryList": { "base": null, "refs": { - "DescribeEndpointOutput$ProductionVariants": "

An array of ProductionVariant objects, one for each model hosted behind this endpoint.

" + "DescribeEndpointOutput$ProductionVariants": "

An array of ProductionVariantSummary objects, one for each model hosted behind this endpoint.

" } }, "RecordWrapper": { "base": null, "refs": { - "Channel$RecordWrapperType": "

Specify RecordIO as the value when input data is in raw format but the training algorithm requires the RecordIO format, in which caseAmazon 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.

" + "Channel$RecordWrapperType": "

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.

" } }, "ResourceArn": { "base": null, "refs": { - "AddTagsInput$ResourceArn": "

The Amazon Resource Name (ARN) of the resource that you want to tag.

", + "AddTagsInput$ResourceArn": "

The Amazon Resource Name (ARN) of the resource that you want to tag.

", "DeleteTagsInput$ResourceArn": "

The Amazon Resource Name (ARN) of the resource whose tags you want to delete.

", "ListTagsInput$ResourceArn": "

The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve.

" } @@ -751,7 +1257,8 @@ "base": "

Describes the resources, including ML compute instances and ML storage volumes, to use for model training.

", "refs": { "CreateTrainingJobRequest$ResourceConfig": "

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.

", - "DescribeTrainingJobResponse$ResourceConfig": "

Resources, including ML compute instances and ML storage volumes, that are configured for model training.

" + "DescribeTrainingJobResponse$ResourceConfig": "

Resources, including ML compute instances and ML storage volumes, that are configured for model training.

", + "HyperParameterTrainingJobDefinition$ResourceConfig": "

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.

" } }, "ResourceInUse": { @@ -764,6 +1271,13 @@ "refs": { } }, + "ResourceLimits": { + "base": "

Specifies the maximum number of training jobs and parallel training jobs that a hyperparameter tuning job can launch.

", + "refs": { + "HyperParameterTuningJobConfig$ResourceLimits": "

The ResourceLimits object that specifies the maximum number of training jobs and parallel training jobs for this tuning job.

", + "HyperParameterTuningJobSummary$ResourceLimits": "

The ResourceLimits object that specifies the maximum number of training jobs and parallel training jobs allowed for this tuning job.

" + } + }, "ResourceNotFound": { "base": "

Resource being access is not found.

", "refs": { @@ -772,13 +1286,14 @@ "RoleArn": { "base": null, "refs": { - "CreateModelInput$ExecutionRoleArn": "

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. Deploying on ML compute instances is part of model hosting. For more information, see Amazon SageMaker Roles.

", - "CreateNotebookInstanceInput$RoleArn": "

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.

", - "CreateTrainingJobRequest$RoleArn": "

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.

", + "CreateModelInput$ExecutionRoleArn": "

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

", + "CreateNotebookInstanceInput$RoleArn": "

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.

", + "CreateTrainingJobRequest$RoleArn": "

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.

", "DescribeModelOutput$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of the IAM role that you specified for the model.

", "DescribeNotebookInstanceOutput$RoleArn": "

Amazon Resource Name (ARN) of the IAM role associated with the instance.

", "DescribeTrainingJobResponse$RoleArn": "

The AWS Identity and Access Management (IAM) role configured for the training job.

", - "UpdateNotebookInstanceInput$RoleArn": "

Amazon Resource Name (ARN) of the IAM role to associate with the instance.

" + "HyperParameterTrainingJobDefinition$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role associated with the training jobs that the tuning job launches.

", + "UpdateNotebookInstanceInput$RoleArn": "

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.

" } }, "S3DataDistribution": { @@ -796,7 +1311,8 @@ "S3DataType": { "base": null, "refs": { - "S3DataSource$S3DataType": "

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.

" + "S3DataSource$S3DataType": "

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.

", + "TransformS3DataSource$S3DataType": "

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": { @@ -804,19 +1320,35 @@ "refs": { "ModelArtifacts$S3ModelArtifacts": "

The path of the S3 object that contains the model artifacts. For example, s3://bucket-name/keynameprefix/model.tar.gz.

", "OutputDataConfig$S3OutputPath": "

Identifies the S3 path where you want Amazon SageMaker to store the model artifacts. For example, s3://bucket-name/key-name-prefix.

", - "S3DataSource$S3Uri": "

Depending on the value specified for the S3DataType, identifies either a key name prefix or a manifest. For example:

" + "S3DataSource$S3Uri": "

Depending on the value specified for the S3DataType, identifies either a key name prefix or a manifest. For example:

", + "TransformOutput$S3OutputPath": "

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

", + "TransformS3DataSource$S3Uri": "

Depending on the value specified for the S3DataType, identifies either a key name prefix or a manifest. For example:

" } }, "SecondaryStatus": { "base": null, "refs": { - "DescribeTrainingJobResponse$SecondaryStatus": "

Provides granular information about the system state. For more information, see TrainingJobStatus.

" + "DescribeTrainingJobResponse$SecondaryStatus": "

Provides granular information about the system state. For more information, see TrainingJobStatus.

The valid values for SecondaryStatus are subject to change. They primarily provide information on the progress of the training job.

", + "SecondaryStatusTransition$Status": "

Provides granular information about the system state. For more information, see SecondaryStatus under the DescribeTrainingJob response elements.

" + } + }, + "SecondaryStatusTransition": { + "base": "

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.

", + "refs": { + "SecondaryStatusTransitions$member": null + } + }, + "SecondaryStatusTransitions": { + "base": null, + "refs": { + "DescribeTrainingJobResponse$SecondaryStatusTransitions": "

To give an overview of the training job lifecycle, SecondaryStatusTransitions is a log of time-ordered secondary statuses that a training job has transitioned.

" } }, "SecurityGroupId": { "base": null, "refs": { - "SecurityGroupIds$member": null + "SecurityGroupIds$member": null, + "VpcSecurityGroupIds$member": null } }, "SecurityGroupIds": { @@ -835,13 +1367,23 @@ "SortBy": { "base": null, "refs": { - "ListTrainingJobsRequest$SortBy": "

The field to sort results by. The default is CreationTime.

" + "ListTrainingJobsRequest$SortBy": "

The field to sort results by. The default is CreationTime.

", + "ListTransformJobsRequest$SortBy": "

The field to sort results by. The default is CreationTime.

" } }, "SortOrder": { "base": null, "refs": { - "ListTrainingJobsRequest$SortOrder": "

The sort order for results. The default is Ascending.

" + "ListHyperParameterTuningJobsRequest$SortOrder": "

The sort order for results. The default is Ascending.

", + "ListTrainingJobsForHyperParameterTuningJobRequest$SortOrder": "

The sort order for results. The default is Ascending.

", + "ListTrainingJobsRequest$SortOrder": "

The sort order for results. The default is Ascending.

", + "ListTransformJobsRequest$SortOrder": "

The sort order for results. The default is Descending.

" + } + }, + "SplitType": { + "base": null, + "refs": { + "TransformInput$SplitType": "

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.

" } }, "StartNotebookInstanceInput": { @@ -849,6 +1391,17 @@ "refs": { } }, + "StatusMessage": { + "base": null, + "refs": { + "SecondaryStatusTransition$StatusMessage": "

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\".

" + } + }, + "StopHyperParameterTuningJobRequest": { + "base": null, + "refs": { + } + }, "StopNotebookInstanceInput": { "base": null, "refs": { @@ -859,18 +1412,31 @@ "refs": { } }, + "StopTransformJobRequest": { + "base": null, + "refs": { + } + }, "StoppingCondition": { "base": "

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

", "refs": { "CreateTrainingJobRequest$StoppingCondition": "

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.

", - "DescribeTrainingJobResponse$StoppingCondition": "

The condition under which to stop the training job.

" + "DescribeTrainingJobResponse$StoppingCondition": "

The condition under which to stop the training job.

", + "HyperParameterTrainingJobDefinition$StoppingCondition": "

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.

" } }, "SubnetId": { "base": null, "refs": { "CreateNotebookInstanceInput$SubnetId": "

The ID of the subnet in a VPC to which you would like to have a connectivity from your ML compute instance.

", - "DescribeNotebookInstanceOutput$SubnetId": "

The ID of the VPC subnet.

" + "DescribeNotebookInstanceOutput$SubnetId": "

The ID of the VPC subnet.

", + "Subnets$member": null + } + }, + "Subnets": { + "base": null, + "refs": { + "VpcConfig$Subnets": "

The ID of the subnets in the VPC to which you want to connect your training job or model.

" } }, "Tag": { @@ -899,9 +1465,11 @@ "AddTagsOutput$Tags": "

A list of tags associated with the Amazon SageMaker resource.

", "CreateEndpointConfigInput$Tags": "

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

", "CreateEndpointInput$Tags": "

An array of key-value pairs. For more information, see Using Cost Allocation Tagsin the AWS Billing and Cost Management User Guide.

", + "CreateHyperParameterTuningJobRequest$Tags": "

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.

", "CreateModelInput$Tags": "

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

", "CreateNotebookInstanceInput$Tags": "

A list of tags to associate with the notebook instance. You can add tags later by using the CreateTags API.

", "CreateTrainingJobRequest$Tags": "

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

", + "CreateTransformJobRequest$Tags": "

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.

", "ListTagsOutput$Tags": "

An array of Tag objects, each with a tag key and a value.

" } }, @@ -917,45 +1485,72 @@ "DesiredWeightAndCapacity$DesiredInstanceCount": "

The variant's capacity.

", "ProductionVariant$InitialInstanceCount": "

Number of instances to launch initially.

", "ProductionVariantSummary$CurrentInstanceCount": "

The number of instances associated with the variant.

", - "ProductionVariantSummary$DesiredInstanceCount": "

The number of instances requested in the UpdateWeightAndCapacities request.

" + "ProductionVariantSummary$DesiredInstanceCount": "

The number of instances requested in the UpdateEndpointWeightsAndCapacities request.

" } }, "Timestamp": { "base": null, "refs": { + "DeployedImage$ResolutionTime": "

The date and time when the image path for the model resolved to the ResolvedImage

", "DescribeEndpointConfigOutput$CreationTime": "

A timestamp that shows when the endpoint configuration was created.

", "DescribeEndpointOutput$CreationTime": "

A timestamp that shows when the endpoint was created.

", "DescribeEndpointOutput$LastModifiedTime": "

A timestamp that shows when the endpoint was last modified.

", + "DescribeHyperParameterTuningJobResponse$CreationTime": "

The date and time that the tuning job started.

", + "DescribeHyperParameterTuningJobResponse$HyperParameterTuningEndTime": "

The date and time that the tuning job ended.

", + "DescribeHyperParameterTuningJobResponse$LastModifiedTime": "

The date and time that the status of the tuning job was modified.

", "DescribeModelOutput$CreationTime": "

A timestamp that shows when the model was created.

", "DescribeTrainingJobResponse$CreationTime": "

A timestamp that indicates when the training job was created.

", - "DescribeTrainingJobResponse$TrainingStartTime": "

A timestamp that indicates when training started.

", - "DescribeTrainingJobResponse$TrainingEndTime": "

A timestamp that indicates when model training ended.

", + "DescribeTrainingJobResponse$TrainingStartTime": "

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.

", + "DescribeTrainingJobResponse$TrainingEndTime": "

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.

", "DescribeTrainingJobResponse$LastModifiedTime": "

A timestamp that indicates when the status of the training job was last modified.

", + "DescribeTransformJobResponse$CreationTime": "

A timestamp that shows when the transform Job was created.

", + "DescribeTransformJobResponse$TransformStartTime": "

Indicates when the transform job starts on ML instances. You are billed for the time interval between this time and the value of TransformEndTime.

", + "DescribeTransformJobResponse$TransformEndTime": "

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.

", "EndpointConfigSummary$CreationTime": "

A timestamp that shows when the endpoint configuration was created.

", "EndpointSummary$CreationTime": "

A timestamp that shows when the endpoint was created.

", "EndpointSummary$LastModifiedTime": "

A timestamp that shows when the endpoint was last modified.

", + "HyperParameterTrainingJobSummary$CreationTime": "

The date and time that the training job was created.

", + "HyperParameterTrainingJobSummary$TrainingStartTime": "

The date and time that the training job started.

", + "HyperParameterTrainingJobSummary$TrainingEndTime": "

The date and time that the training job ended.

", + "HyperParameterTuningJobSummary$CreationTime": "

The date and time that the tuning job was created.

", + "HyperParameterTuningJobSummary$HyperParameterTuningEndTime": "

The date and time that the tuning job ended.

", + "HyperParameterTuningJobSummary$LastModifiedTime": "

The date and time that the tuning job was modified.

", "ListEndpointConfigsInput$CreationTimeBefore": "

A filter that returns only endpoint configurations created before the specified time (timestamp).

", "ListEndpointConfigsInput$CreationTimeAfter": "

A filter that returns only endpoint configurations created after the specified time (timestamp).

", "ListEndpointsInput$CreationTimeBefore": "

A filter that returns only endpoints that were created before the specified time (timestamp).

", "ListEndpointsInput$CreationTimeAfter": "

A filter that returns only endpoints that were created after the specified time (timestamp).

", "ListEndpointsInput$LastModifiedTimeBefore": "

A filter that returns only endpoints that were modified before the specified timestamp.

", "ListEndpointsInput$LastModifiedTimeAfter": "

A filter that returns only endpoints that were modified after the specified timestamp.

", + "ListHyperParameterTuningJobsRequest$CreationTimeAfter": "

A filter that returns only tuning jobs that were created after the specified time.

", + "ListHyperParameterTuningJobsRequest$CreationTimeBefore": "

A filter that returns only tuning jobs that were created before the specified time.

", + "ListHyperParameterTuningJobsRequest$LastModifiedTimeAfter": "

A filter that returns only tuning jobs that were modified after the specified time.

", + "ListHyperParameterTuningJobsRequest$LastModifiedTimeBefore": "

A filter that returns only tuning jobs that were modified before the specified time.

", "ListModelsInput$CreationTimeBefore": "

A filter that returns only models created before the specified time (timestamp).

", "ListModelsInput$CreationTimeAfter": "

A filter that returns only models created after the specified time (timestamp).

", - "ListTrainingJobsRequest$CreationTimeAfter": "

A filter that only training jobs created after the specified time (timestamp).

", + "ListTrainingJobsRequest$CreationTimeAfter": "

A filter that returns only training jobs created after the specified time (timestamp).

", "ListTrainingJobsRequest$CreationTimeBefore": "

A filter that returns only training jobs created before the specified time (timestamp).

", "ListTrainingJobsRequest$LastModifiedTimeAfter": "

A filter that returns only training jobs modified after the specified time (timestamp).

", "ListTrainingJobsRequest$LastModifiedTimeBefore": "

A filter that returns only training jobs modified before the specified time (timestamp).

", + "ListTransformJobsRequest$CreationTimeAfter": "

A filter that returns only transform jobs created after the specified time.

", + "ListTransformJobsRequest$CreationTimeBefore": "

A filter that returns only transform jobs created before the specified time.

", + "ListTransformJobsRequest$LastModifiedTimeAfter": "

A filter that returns only transform jobs modified after the specified time.

", + "ListTransformJobsRequest$LastModifiedTimeBefore": "

A filter that returns only transform jobs modified before the specified time.

", "ModelSummary$CreationTime": "

A timestamp that indicates when the model was created.

", + "SecondaryStatusTransition$StartTime": "

A timestamp that shows when the training job has entered this secondary status.

", + "SecondaryStatusTransition$EndTime": "

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.

", "TrainingJobSummary$CreationTime": "

A timestamp that shows when the training job was created.

", "TrainingJobSummary$TrainingEndTime": "

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

", - "TrainingJobSummary$LastModifiedTime": "

Timestamp when the training job was last modified.

" + "TrainingJobSummary$LastModifiedTime": "

Timestamp when the training job was last modified.

", + "TransformJobSummary$CreationTime": "

A timestamp that shows when the transform Job was created.

", + "TransformJobSummary$TransformEndTime": "

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.

", + "TransformJobSummary$LastModifiedTime": "

Indicates when the transform job was last modified.

" } }, "TrainingInputMode": { "base": null, "refs": { - "AlgorithmSpecification$TrainingInputMode": "

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

" + "AlgorithmSpecification$TrainingInputMode": "

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.

", + "HyperParameterAlgorithmSpecification$TrainingInputMode": "

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.

" } }, "TrainingInstanceCount": { @@ -975,27 +1570,54 @@ "refs": { "CreateTrainingJobResponse$TrainingJobArn": "

The Amazon Resource Name (ARN) of the training job.

", "DescribeTrainingJobResponse$TrainingJobArn": "

The Amazon Resource Name (ARN) of the training job.

", + "HyperParameterTrainingJobSummary$TrainingJobArn": "

The Amazon Resource Name (ARN) of the training job.

", "TrainingJobSummary$TrainingJobArn": "

The Amazon Resource Name (ARN) of the training job.

" } }, "TrainingJobName": { "base": null, "refs": { - "CreateTrainingJobRequest$TrainingJobName": "

The name of the training job. The name must be unique within an AWS Region in an AWS account. It appears in the Amazon SageMaker console.

", + "CreateTrainingJobRequest$TrainingJobName": "

The name of the training job. The name must be unique within an AWS Region in an AWS account.

", "DescribeTrainingJobRequest$TrainingJobName": "

The name of the training job.

", "DescribeTrainingJobResponse$TrainingJobName": "

Name of the model training job.

", + "HyperParameterTrainingJobSummary$TrainingJobName": "

The name of the training job.

", "StopTrainingJobRequest$TrainingJobName": "

The name of the training job to stop.

", "TrainingJobSummary$TrainingJobName": "

The name of the training job that you want a summary for.

" } }, + "TrainingJobSortByOptions": { + "base": null, + "refs": { + "ListTrainingJobsForHyperParameterTuningJobRequest$SortBy": "

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.

" + } + }, "TrainingJobStatus": { "base": null, "refs": { "DescribeTrainingJobResponse$TrainingJobStatus": "

The status of the training job.

For the InProgress status, Amazon SageMaker can return these secondary statuses:

For the Stopped training status, Amazon SageMaker can return these secondary statuses:

", + "HyperParameterTrainingJobSummary$TrainingJobStatus": "

The status of the training job.

", + "ListTrainingJobsForHyperParameterTuningJobRequest$StatusEquals": "

A filter that returns only training jobs with the specified status.

", "ListTrainingJobsRequest$StatusEquals": "

A filter that retrieves only training jobs with a specific status.

", "TrainingJobSummary$TrainingJobStatus": "

The status of the training job.

" } }, + "TrainingJobStatusCounter": { + "base": null, + "refs": { + "TrainingJobStatusCounters$Completed": "

The number of completed training jobs launched by a hyperparameter tuning job.

", + "TrainingJobStatusCounters$InProgress": "

The number of in-progress training jobs launched by a hyperparameter tuning job.

", + "TrainingJobStatusCounters$RetryableError": "

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.

", + "TrainingJobStatusCounters$NonRetryableError": "

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.

", + "TrainingJobStatusCounters$Stopped": "

The number of training jobs launched by a hyperparameter tuning job that were manually stopped.

" + } + }, + "TrainingJobStatusCounters": { + "base": "

The numbers of training jobs launched by a hyperparameter tuning job, categorized by status.

", + "refs": { + "DescribeHyperParameterTuningJobResponse$TrainingJobStatusCounters": "

The TrainingJobStatusCounters object that specifies the number of training jobs, categorized by status, that this tuning job launched.

", + "HyperParameterTuningJobSummary$TrainingJobStatusCounters": "

The TrainingJobStatusCounters object that specifies the numbers of training jobs, categorized by status, that this tuning job launched.

" + } + }, "TrainingJobSummaries": { "base": null, "refs": { @@ -1008,6 +1630,108 @@ "TrainingJobSummaries$member": null } }, + "TransformDataSource": { + "base": "

Describes the location of the channel data.

", + "refs": { + "TransformInput$DataSource": "

Describes the location of the channel data, meaning the S3 location of the input data that the model can consume.

" + } + }, + "TransformEnvironmentKey": { + "base": null, + "refs": { + "TransformEnvironmentMap$key": null + } + }, + "TransformEnvironmentMap": { + "base": null, + "refs": { + "CreateTransformJobRequest$Environment": "

The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.

", + "DescribeTransformJobResponse$Environment": "

" + } + }, + "TransformEnvironmentValue": { + "base": null, + "refs": { + "TransformEnvironmentMap$value": null + } + }, + "TransformInput": { + "base": "

Describes the input source of a transform job and the way the transform job consumes it.

", + "refs": { + "CreateTransformJobRequest$TransformInput": "

Describes the input source and the way the transform job consumes it.

", + "DescribeTransformJobResponse$TransformInput": "

Describes the dataset to be transformed and the Amazon S3 location where it is stored.

" + } + }, + "TransformInstanceCount": { + "base": null, + "refs": { + "TransformResources$InstanceCount": "

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.

" + } + }, + "TransformInstanceType": { + "base": null, + "refs": { + "TransformResources$InstanceType": "

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.

" + } + }, + "TransformJobArn": { + "base": null, + "refs": { + "CreateTransformJobResponse$TransformJobArn": "

The Amazon Resource Name (ARN) of the transform job.

", + "DescribeTransformJobResponse$TransformJobArn": "

The Amazon Resource Name (ARN) of the transform job.

", + "TransformJobSummary$TransformJobArn": "

The Amazon Resource Name (ARN) of the transform job.

" + } + }, + "TransformJobName": { + "base": null, + "refs": { + "CreateTransformJobRequest$TransformJobName": "

The name of the transform job. The name must be unique within an AWS Region in an AWS account.

", + "DescribeTransformJobRequest$TransformJobName": "

The name of the transform job that you want to view details of.

", + "DescribeTransformJobResponse$TransformJobName": "

The name of the transform job.

", + "StopTransformJobRequest$TransformJobName": "

The name of the transform job to stop.

", + "TransformJobSummary$TransformJobName": "

The name of the transform job.

" + } + }, + "TransformJobStatus": { + "base": null, + "refs": { + "DescribeTransformJobResponse$TransformJobStatus": "

The status of the transform job. If the transform job failed, the reason is returned in the FailureReason field.

", + "ListTransformJobsRequest$StatusEquals": "

A filter that retrieves only transform jobs with a specific status.

", + "TransformJobSummary$TransformJobStatus": "

The status of the transform job.

" + } + }, + "TransformJobSummaries": { + "base": null, + "refs": { + "ListTransformJobsResponse$TransformJobSummaries": "

An array of TransformJobSummary objects.

" + } + }, + "TransformJobSummary": { + "base": "

Provides a summary information for a transform job. Multiple TransformJobSummary objects are returned as a list after calling ListTransformJobs.

", + "refs": { + "TransformJobSummaries$member": null + } + }, + "TransformOutput": { + "base": "

Describes the results of a transform job output.

", + "refs": { + "CreateTransformJobRequest$TransformOutput": "

Describes the results of the transform job.

", + "DescribeTransformJobResponse$TransformOutput": "

Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.

" + } + }, + "TransformResources": { + "base": "

Describes the resources, including ML instance types and ML instance count, to use for transform job.

", + "refs": { + "CreateTransformJobRequest$TransformResources": "

Describes the resources, including ML instance types and ML instance count, to use for the transform job.

", + "DescribeTransformJobResponse$TransformResources": "

Describes the resources, including ML instance types and ML instance count, to use for the transform job.

" + } + }, + "TransformS3DataSource": { + "base": "

Describes the S3 data source.

", + "refs": { + "TransformDataSource$S3DataSource": "

The S3 location of the data source that is associated with a channel.

" + } + }, "UpdateEndpointInput": { "base": null, "refs": { @@ -1033,6 +1757,16 @@ "refs": { } }, + "UpdateNotebookInstanceLifecycleConfigInput": { + "base": null, + "refs": { + } + }, + "UpdateNotebookInstanceLifecycleConfigOutput": { + "base": null, + "refs": { + } + }, "UpdateNotebookInstanceOutput": { "base": null, "refs": { @@ -1041,7 +1775,7 @@ "Url": { "base": null, "refs": { - "ContainerDefinition$ModelDataUrl": "

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

" + "ContainerDefinition$ModelDataUrl": "

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.

" } }, "VariantName": { @@ -1058,7 +1792,7 @@ "DesiredWeightAndCapacity$DesiredWeight": "

The variant's weight.

", "ProductionVariant$InitialVariantWeight": "

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.

", "ProductionVariantSummary$CurrentWeight": "

The weight associated with the variant.

", - "ProductionVariantSummary$DesiredWeight": "

The requested weight, as specified in the UpdateWeightAndCapacities request.

" + "ProductionVariantSummary$DesiredWeight": "

The requested weight, as specified in the UpdateEndpointWeightsAndCapacities request.

" } }, "VolumeSizeInGB": { @@ -1066,6 +1800,22 @@ "refs": { "ResourceConfig$VolumeSizeInGB": "

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.

" } + }, + "VpcConfig": { + "base": "

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.

", + "refs": { + "CreateModelInput$VpcConfig": "

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. For more information, see host-vpc.

", + "CreateTrainingJobRequest$VpcConfig": "

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

", + "DescribeModelOutput$VpcConfig": "

A VpcConfig object that specifies the VPC that this model has access to. For more information, see host-vpc

", + "DescribeTrainingJobResponse$VpcConfig": "

A VpcConfig object that specifies the VPC that this training job has access to. For more information, see train-vpc.

", + "HyperParameterTrainingJobDefinition$VpcConfig": "

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.

" + } + }, + "VpcSecurityGroupIds": { + "base": null, + "refs": { + "VpcConfig$SecurityGroupIds": "

The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.

" + } } } } diff --git a/models/apis/SageMaker/2017-07-24/paginators-1.json b/models/apis/SageMaker/2017-07-24/paginators-1.json index e18e6b303bc..875e29a21bd 100644 --- a/models/apis/SageMaker/2017-07-24/paginators-1.json +++ b/models/apis/SageMaker/2017-07-24/paginators-1.json @@ -10,11 +10,21 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "ListHyperParameterTuningJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListModels": { "input_token": "NextToken", "output_token": "NextToken", "limit_key": "MaxResults" }, + "ListNotebookInstanceLifecycleConfigs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListNotebookInstances": { "input_token": "NextToken", "output_token": "NextToken", @@ -29,6 +39,16 @@ "input_token": "NextToken", "output_token": "NextToken", "limit_key": "MaxResults" + }, + "ListTrainingJobsForHyperParameterTuningJob": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListTransformJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" } } } diff --git a/models/apis/SageMaker/2017-07-24/waiters-2.json b/models/apis/SageMaker/2017-07-24/waiters-2.json index 2b74581357f..0fbb61eb330 100644 --- a/models/apis/SageMaker/2017-07-24/waiters-2.json +++ b/models/apis/SageMaker/2017-07-24/waiters-2.json @@ -1,5 +1,133 @@ { "version": 2, - "waiters": {} + "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/models/apis/acm-pca/2017-08-22/api-2.json b/models/apis/acm-pca/2017-08-22/api-2.json new file mode 100644 index 00000000000..d1b89f1d962 --- /dev/null +++ b/models/apis/acm-pca/2017-08-22/api-2.json @@ -0,0 +1,938 @@ +{ + "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"} + ], + "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"} + ], + "idempotent":true + }, + "DeleteCertificateAuthority":{ + "name":"DeleteCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCertificateAuthorityRequest"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"} + ] + }, + "DescribeCertificateAuthority":{ + "name":"DescribeCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCertificateAuthorityRequest"}, + "output":{"shape":"DescribeCertificateAuthorityResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"} + ] + }, + "DescribeCertificateAuthorityAuditReport":{ + "name":"DescribeCertificateAuthorityAuditReport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCertificateAuthorityAuditReportRequest"}, + "output":{"shape":"DescribeCertificateAuthorityAuditReportResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidArgsException"} + ] + }, + "GetCertificate":{ + "name":"GetCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCertificateRequest"}, + "output":{"shape":"GetCertificateResponse"}, + "errors":[ + {"shape":"RequestInProgressException"}, + {"shape":"RequestFailedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"} + ] + }, + "GetCertificateAuthorityCertificate":{ + "name":"GetCertificateAuthorityCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCertificateAuthorityCertificateRequest"}, + "output":{"shape":"GetCertificateAuthorityCertificateResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidArnException"} + ] + }, + "GetCertificateAuthorityCsr":{ + "name":"GetCertificateAuthorityCsr", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCertificateAuthorityCsrRequest"}, + "output":{"shape":"GetCertificateAuthorityCsrResponse"}, + "errors":[ + {"shape":"RequestInProgressException"}, + {"shape":"RequestFailedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"} + ] + }, + "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"} + ] + }, + "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"} + ], + "idempotent":true + }, + "ListCertificateAuthorities":{ + "name":"ListCertificateAuthorities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCertificateAuthoritiesRequest"}, + "output":{"shape":"ListCertificateAuthoritiesResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ] + }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsRequest"}, + "output":{"shape":"ListTagsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"} + ] + }, + "RestoreCertificateAuthority":{ + "name":"RestoreCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreCertificateAuthorityRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidArnException"} + ] + }, + "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"} + ] + }, + "TagCertificateAuthority":{ + "name":"TagCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagCertificateAuthorityRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidTagException"}, + {"shape":"TooManyTagsException"} + ] + }, + "UntagCertificateAuthority":{ + "name":"UntagCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagCertificateAuthorityRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidTagException"} + ] + }, + "UpdateCertificateAuthority":{ + "name":"UpdateCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCertificateAuthorityRequest"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgsException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidPolicyException"} + ] + } + }, + "shapes":{ + "ASN1Subject":{ + "type":"structure", + "members":{ + "Country":{"shape":"CountryCodeString"}, + "Organization":{"shape":"String64"}, + "OrganizationalUnit":{"shape":"String64"}, + "DistinguishedNameQualifier":{"shape":"DistinguishedNameQualifierString"}, + "State":{"shape":"String128"}, + "CommonName":{"shape":"String64"}, + "SerialNumber":{"shape":"String64"}, + "Locality":{"shape":"String128"}, + "Title":{"shape":"String64"}, + "Surname":{"shape":"String40"}, + "GivenName":{"shape":"String16"}, + "Initials":{"shape":"String5"}, + "Pseudonym":{"shape":"String128"}, + "GenerationQualifier":{"shape":"String3"} + } + }, + "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"}, + "CreatedAt":{"shape":"TStamp"}, + "LastStateChangeAt":{"shape":"TStamp"}, + "Type":{"shape":"CertificateAuthorityType"}, + "Serial":{"shape":"String"}, + "Status":{"shape":"CertificateAuthorityStatus"}, + "NotBefore":{"shape":"TStamp"}, + "NotAfter":{"shape":"TStamp"}, + "FailureReason":{"shape":"FailureReason"}, + "CertificateAuthorityConfiguration":{"shape":"CertificateAuthorityConfiguration"}, + "RevocationConfiguration":{"shape":"RevocationConfiguration"}, + "RestorableUntil":{"shape":"TStamp"} + } + }, + "CertificateAuthorityConfiguration":{ + "type":"structure", + "required":[ + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "members":{ + "KeyAlgorithm":{"shape":"KeyAlgorithm"}, + "SigningAlgorithm":{"shape":"SigningAlgorithm"}, + "Subject":{"shape":"ASN1Subject"} + } + }, + "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"} + }, + "exception":true + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "CountryCodeString":{ + "type":"string", + "pattern":"[A-Za-z]{2}" + }, + "CreateCertificateAuthorityAuditReportRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "S3BucketName", + "AuditReportResponseFormat" + ], + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"}, + "S3BucketName":{"shape":"String"}, + "AuditReportResponseFormat":{"shape":"AuditReportResponseFormat"} + } + }, + "CreateCertificateAuthorityAuditReportResponse":{ + "type":"structure", + "members":{ + "AuditReportId":{"shape":"AuditReportId"}, + "S3Key":{"shape":"String"} + } + }, + "CreateCertificateAuthorityRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityConfiguration", + "CertificateAuthorityType" + ], + "members":{ + "CertificateAuthorityConfiguration":{"shape":"CertificateAuthorityConfiguration"}, + "RevocationConfiguration":{"shape":"RevocationConfiguration"}, + "CertificateAuthorityType":{"shape":"CertificateAuthorityType"}, + "IdempotencyToken":{"shape":"IdempotencyToken"} + } + }, + "CreateCertificateAuthorityResponse":{ + "type":"structure", + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"} + } + }, + "CrlConfiguration":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Enabled":{ + "shape":"Boolean", + "box":true + }, + "ExpirationInDays":{ + "shape":"Integer1To5000", + "box":true + }, + "CustomCname":{"shape":"String253"}, + "S3BucketName":{"shape":"String3To255"} + } + }, + "CsrBlob":{ + "type":"blob", + "max":32768, + "min":1 + }, + "CsrBody":{"type":"string"}, + "DeleteCertificateAuthorityRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"}, + "PermanentDeletionTimeInDays":{"shape":"PermanentDeletionTimeInDays"} + } + }, + "DescribeCertificateAuthorityAuditReportRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "AuditReportId" + ], + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"}, + "AuditReportId":{"shape":"AuditReportId"} + } + }, + "DescribeCertificateAuthorityAuditReportResponse":{ + "type":"structure", + "members":{ + "AuditReportStatus":{"shape":"AuditReportStatus"}, + "S3BucketName":{"shape":"String"}, + "S3Key":{"shape":"String"}, + "CreatedAt":{"shape":"TStamp"} + } + }, + "DescribeCertificateAuthorityRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"} + } + }, + "DescribeCertificateAuthorityResponse":{ + "type":"structure", + "members":{ + "CertificateAuthority":{"shape":"CertificateAuthority"} + } + }, + "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"} + } + }, + "GetCertificateAuthorityCertificateResponse":{ + "type":"structure", + "members":{ + "Certificate":{"shape":"CertificateBody"}, + "CertificateChain":{"shape":"CertificateChain"} + } + }, + "GetCertificateAuthorityCsrRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"} + } + }, + "GetCertificateAuthorityCsrResponse":{ + "type":"structure", + "members":{ + "Csr":{"shape":"CsrBody"} + } + }, + "GetCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "CertificateArn" + ], + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"}, + "CertificateArn":{"shape":"Arn"} + } + }, + "GetCertificateResponse":{ + "type":"structure", + "members":{ + "Certificate":{"shape":"CertificateBody"}, + "CertificateChain":{"shape":"CertificateChain"} + } + }, + "IdempotencyToken":{ + "type":"string", + "max":36, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]*" + }, + "ImportCertificateAuthorityCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "Certificate", + "CertificateChain" + ], + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"}, + "Certificate":{"shape":"CertificateBodyBlob"}, + "CertificateChain":{"shape":"CertificateChainBlob"} + } + }, + "Integer1To5000":{ + "type":"integer", + "max":5000, + "min":1 + }, + "InvalidArgsException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "InvalidArnException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "InvalidPolicyException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "InvalidStateException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "InvalidTagException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "IssueCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "Csr", + "SigningAlgorithm", + "Validity" + ], + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"}, + "Csr":{"shape":"CsrBlob"}, + "SigningAlgorithm":{"shape":"SigningAlgorithm"}, + "Validity":{"shape":"Validity"}, + "IdempotencyToken":{"shape":"IdempotencyToken"} + } + }, + "IssueCertificateResponse":{ + "type":"structure", + "members":{ + "CertificateArn":{"shape":"Arn"} + } + }, + "KeyAlgorithm":{ + "type":"string", + "enum":[ + "RSA_2048", + "RSA_4096", + "EC_prime256v1", + "EC_secp384r1" + ] + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "ListCertificateAuthoritiesRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListCertificateAuthoritiesResponse":{ + "type":"structure", + "members":{ + "CertificateAuthorities":{"shape":"CertificateAuthorities"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListTagsRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListTagsResponse":{ + "type":"structure", + "members":{ + "Tags":{"shape":"TagList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "MalformedCSRException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "MalformedCertificateException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "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"} + }, + "exception":true + }, + "RequestFailedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "RequestInProgressException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "RestoreCertificateAuthorityRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"} + } + }, + "RevocationConfiguration":{ + "type":"structure", + "members":{ + "CrlConfiguration":{"shape":"CrlConfiguration"} + } + }, + "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"}, + "CertificateSerial":{"shape":"String128"}, + "RevocationReason":{"shape":"RevocationReason"} + } + }, + "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"}, + "Value":{"shape":"TagValue"} + } + }, + "TagCertificateAuthorityRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "Tags" + ], + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"}, + "Tags":{"shape":"TagList"} + } + }, + "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"} + }, + "exception":true + }, + "UntagCertificateAuthorityRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "Tags" + ], + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"}, + "Tags":{"shape":"TagList"} + } + }, + "UpdateCertificateAuthorityRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{"shape":"Arn"}, + "RevocationConfiguration":{"shape":"RevocationConfiguration"}, + "Status":{"shape":"CertificateAuthorityStatus"} + } + }, + "Validity":{ + "type":"structure", + "required":[ + "Value", + "Type" + ], + "members":{ + "Value":{ + "shape":"PositiveLong", + "box":true + }, + "Type":{"shape":"ValidityPeriodType"} + } + }, + "ValidityPeriodType":{ + "type":"string", + "enum":[ + "END_DATE", + "ABSOLUTE", + "DAYS", + "MONTHS", + "YEARS" + ] + } + } +} diff --git a/models/apis/acm-pca/2017-08-22/docs-2.json b/models/apis/acm-pca/2017-08-22/docs-2.json new file mode 100644 index 00000000000..ed583646001 --- /dev/null +++ b/models/apis/acm-pca/2017-08-22/docs-2.json @@ -0,0 +1,589 @@ +{ + "version":"2.0", + "service":"

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.

", + "operations":{ + "CreateCertificateAuthority":"

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.

", + "CreateCertificateAuthorityAuditReport":"

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.

", + "DeleteCertificateAuthority":"

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

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:

", + "DescribeCertificateAuthorityAuditReport":"

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

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

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

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

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

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.

", + "ListCertificateAuthorities":"

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

", + "ListTags":"

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

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

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

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

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

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

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.

", + "refs":{ + "CertificateAuthorityConfiguration$Subject":"

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

" + } + }, + "Arn":{ + "base":null, + "refs":{ + "CertificateAuthority$Arn":"

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

", + "CreateCertificateAuthorityAuditReportRequest$CertificateAuthorityArn":"

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 .

", + "CreateCertificateAuthorityResponse$CertificateAuthorityArn":"

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 .

", + "DeleteCertificateAuthorityRequest$CertificateAuthorityArn":"

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 .

", + "DescribeCertificateAuthorityAuditReportRequest$CertificateAuthorityArn":"

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 .

", + "DescribeCertificateAuthorityRequest$CertificateAuthorityArn":"

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 .

", + "GetCertificateAuthorityCertificateRequest$CertificateAuthorityArn":"

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 .

", + "GetCertificateAuthorityCsrRequest$CertificateAuthorityArn":"

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

", + "GetCertificateRequest$CertificateAuthorityArn":"

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 .

", + "GetCertificateRequest$CertificateArn":"

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

", + "ImportCertificateAuthorityCertificateRequest$CertificateAuthorityArn":"

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

", + "IssueCertificateRequest$CertificateAuthorityArn":"

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

", + "IssueCertificateResponse$CertificateArn":"

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

", + "ListTagsRequest$CertificateAuthorityArn":"

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

", + "RestoreCertificateAuthorityRequest$CertificateAuthorityArn":"

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

", + "RevokeCertificateRequest$CertificateAuthorityArn":"

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

", + "TagCertificateAuthorityRequest$CertificateAuthorityArn":"

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

", + "UntagCertificateAuthorityRequest$CertificateAuthorityArn":"

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

", + "UpdateCertificateAuthorityRequest$CertificateAuthorityArn":"

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

" + } + }, + "AuditReportId":{ + "base":null, + "refs":{ + "CreateCertificateAuthorityAuditReportResponse$AuditReportId":"

An alphanumeric string that contains a report identifier.

", + "DescribeCertificateAuthorityAuditReportRequest$AuditReportId":"

The report ID returned by calling the CreateCertificateAuthorityAuditReport operation.

" + } + }, + "AuditReportResponseFormat":{ + "base":null, + "refs":{ + "CreateCertificateAuthorityAuditReportRequest$AuditReportResponseFormat":"

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

" + } + }, + "AuditReportStatus":{ + "base":null, + "refs":{ + "DescribeCertificateAuthorityAuditReportResponse$AuditReportStatus":"

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

" + } + }, + "Boolean":{ + "base":null, + "refs":{ + "CrlConfiguration$Enabled":"

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.

" + } + }, + "CertificateAuthorities":{ + "base":null, + "refs":{ + "ListCertificateAuthoritiesResponse$CertificateAuthorities":"

Summary information about each certificate authority you have created.

" + } + }, + "CertificateAuthority":{ + "base":"

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

", + "refs":{ + "CertificateAuthorities$member":null, + "DescribeCertificateAuthorityResponse$CertificateAuthority":"

A CertificateAuthority structure that contains information about your private CA.

" + } + }, + "CertificateAuthorityConfiguration":{ + "base":"

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.

", + "refs":{ + "CertificateAuthority$CertificateAuthorityConfiguration":"

Your private CA configuration.

", + "CreateCertificateAuthorityRequest$CertificateAuthorityConfiguration":"

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

" + } + }, + "CertificateAuthorityStatus":{ + "base":null, + "refs":{ + "CertificateAuthority$Status":"

Status of your private CA.

", + "UpdateCertificateAuthorityRequest$Status":"

Status of your private CA.

" + } + }, + "CertificateAuthorityType":{ + "base":null, + "refs":{ + "CertificateAuthority$Type":"

Type of your private CA.

", + "CreateCertificateAuthorityRequest$CertificateAuthorityType":"

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

" + } + }, + "CertificateBody":{ + "base":null, + "refs":{ + "GetCertificateAuthorityCertificateResponse$Certificate":"

Base64-encoded certificate authority (CA) certificate.

", + "GetCertificateResponse$Certificate":"

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

" + } + }, + "CertificateBodyBlob":{ + "base":null, + "refs":{ + "ImportCertificateAuthorityCertificateRequest$Certificate":"

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

" + } + }, + "CertificateChain":{ + "base":null, + "refs":{ + "GetCertificateAuthorityCertificateResponse$CertificateChain":"

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.

", + "GetCertificateResponse$CertificateChain":"

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.

" + } + }, + "CertificateChainBlob":{ + "base":null, + "refs":{ + "ImportCertificateAuthorityCertificateRequest$CertificateChain":"

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.

" + } + }, + "CertificateMismatchException":{ + "base":"

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

", + "refs":{ + } + }, + "ConcurrentModificationException":{ + "base":"

A previous update to your private CA is still ongoing.

", + "refs":{ + } + }, + "CountryCodeString":{ + "base":null, + "refs":{ + "ASN1Subject$Country":"

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

" + } + }, + "CreateCertificateAuthorityAuditReportRequest":{ + "base":null, + "refs":{ + } + }, + "CreateCertificateAuthorityAuditReportResponse":{ + "base":null, + "refs":{ + } + }, + "CreateCertificateAuthorityRequest":{ + "base":null, + "refs":{ + } + }, + "CreateCertificateAuthorityResponse":{ + "base":null, + "refs":{ + } + }, + "CrlConfiguration":{ + "base":"

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:

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

", + "refs":{ + "RevocationConfiguration$CrlConfiguration":"

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

" + } + }, + "CsrBlob":{ + "base":null, + "refs":{ + "IssueCertificateRequest$Csr":"

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

" + } + }, + "CsrBody":{ + "base":null, + "refs":{ + "GetCertificateAuthorityCsrResponse$Csr":"

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

" + } + }, + "DeleteCertificateAuthorityRequest":{ + "base":null, + "refs":{ + } + }, + "DescribeCertificateAuthorityAuditReportRequest":{ + "base":null, + "refs":{ + } + }, + "DescribeCertificateAuthorityAuditReportResponse":{ + "base":null, + "refs":{ + } + }, + "DescribeCertificateAuthorityRequest":{ + "base":null, + "refs":{ + } + }, + "DescribeCertificateAuthorityResponse":{ + "base":null, + "refs":{ + } + }, + "DistinguishedNameQualifierString":{ + "base":null, + "refs":{ + "ASN1Subject$DistinguishedNameQualifier":"

Disambiguating information for the certificate subject.

" + } + }, + "FailureReason":{ + "base":null, + "refs":{ + "CertificateAuthority$FailureReason":"

Reason the request to create your private CA failed.

" + } + }, + "GetCertificateAuthorityCertificateRequest":{ + "base":null, + "refs":{ + } + }, + "GetCertificateAuthorityCertificateResponse":{ + "base":null, + "refs":{ + } + }, + "GetCertificateAuthorityCsrRequest":{ + "base":null, + "refs":{ + } + }, + "GetCertificateAuthorityCsrResponse":{ + "base":null, + "refs":{ + } + }, + "GetCertificateRequest":{ + "base":null, + "refs":{ + } + }, + "GetCertificateResponse":{ + "base":null, + "refs":{ + } + }, + "IdempotencyToken":{ + "base":null, + "refs":{ + "CreateCertificateAuthorityRequest$IdempotencyToken":"

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.

", + "IssueCertificateRequest$IdempotencyToken":"

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.

" + } + }, + "ImportCertificateAuthorityCertificateRequest":{ + "base":null, + "refs":{ + } + }, + "Integer1To5000":{ + "base":null, + "refs":{ + "CrlConfiguration$ExpirationInDays":"

Number of days until a certificate expires.

" + } + }, + "InvalidArgsException":{ + "base":"

One or more of the specified arguments was not valid.

", + "refs":{ + } + }, + "InvalidArnException":{ + "base":"

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

", + "refs":{ + } + }, + "InvalidNextTokenException":{ + "base":"

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

", + "refs":{ + } + }, + "InvalidPolicyException":{ + "base":"

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.

", + "refs":{ + } + }, + "InvalidStateException":{ + "base":"

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

", + "refs":{ + } + }, + "InvalidTagException":{ + "base":"

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

", + "refs":{ + } + }, + "IssueCertificateRequest":{ + "base":null, + "refs":{ + } + }, + "IssueCertificateResponse":{ + "base":null, + "refs":{ + } + }, + "KeyAlgorithm":{ + "base":null, + "refs":{ + "CertificateAuthorityConfiguration$KeyAlgorithm":"

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

" + } + }, + "LimitExceededException":{ + "base":"

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

", + "refs":{ + } + }, + "ListCertificateAuthoritiesRequest":{ + "base":null, + "refs":{ + } + }, + "ListCertificateAuthoritiesResponse":{ + "base":null, + "refs":{ + } + }, + "ListTagsRequest":{ + "base":null, + "refs":{ + } + }, + "ListTagsResponse":{ + "base":null, + "refs":{ + } + }, + "MalformedCSRException":{ + "base":"

The certificate signing request is invalid.

", + "refs":{ + } + }, + "MalformedCertificateException":{ + "base":"

One or more fields in the certificate are invalid.

", + "refs":{ + } + }, + "MaxResults":{ + "base":null, + "refs":{ + "ListCertificateAuthoritiesRequest$MaxResults":"

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.

", + "ListTagsRequest$MaxResults":"

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.

" + } + }, + "NextToken":{ + "base":null, + "refs":{ + "ListCertificateAuthoritiesRequest$NextToken":"

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.

", + "ListCertificateAuthoritiesResponse$NextToken":"

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

", + "ListTagsRequest$NextToken":"

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.

", + "ListTagsResponse$NextToken":"

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

" + } + }, + "PermanentDeletionTimeInDays":{ + "base":null, + "refs":{ + "DeleteCertificateAuthorityRequest$PermanentDeletionTimeInDays":"

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.

" + } + }, + "PositiveLong":{ + "base":null, + "refs":{ + "Validity$Value":"

Time period.

" + } + }, + "RequestAlreadyProcessedException":{ + "base":"

Your request has already been completed.

", + "refs":{ + } + }, + "RequestFailedException":{ + "base":"

The request has failed for an unspecified reason.

", + "refs":{ + } + }, + "RequestInProgressException":{ + "base":"

Your request is already in progress.

", + "refs":{ + } + }, + "ResourceNotFoundException":{ + "base":"

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

", + "refs":{ + } + }, + "RestoreCertificateAuthorityRequest":{ + "base":null, + "refs":{ + } + }, + "RevocationConfiguration":{ + "base":"

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.

", + "refs":{ + "CertificateAuthority$RevocationConfiguration":"

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

", + "CreateCertificateAuthorityRequest$RevocationConfiguration":"

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.

", + "UpdateCertificateAuthorityRequest$RevocationConfiguration":"

Revocation information for your private CA.

" + } + }, + "RevocationReason":{ + "base":null, + "refs":{ + "RevokeCertificateRequest$RevocationReason":"

Specifies why you revoked the certificate.

" + } + }, + "RevokeCertificateRequest":{ + "base":null, + "refs":{ + } + }, + "SigningAlgorithm":{ + "base":null, + "refs":{ + "CertificateAuthorityConfiguration$SigningAlgorithm":"

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

", + "IssueCertificateRequest$SigningAlgorithm":"

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

" + } + }, + "String":{ + "base":null, + "refs":{ + "CertificateAuthority$Serial":"

Serial number of your private CA.

", + "CertificateMismatchException$message":null, + "ConcurrentModificationException$message":null, + "CreateCertificateAuthorityAuditReportRequest$S3BucketName":"

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

", + "CreateCertificateAuthorityAuditReportResponse$S3Key":"

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

", + "DescribeCertificateAuthorityAuditReportResponse$S3BucketName":"

Name of the S3 bucket that contains the report.

", + "DescribeCertificateAuthorityAuditReportResponse$S3Key":"

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

", + "InvalidArgsException$message":null, + "InvalidArnException$message":null, + "InvalidNextTokenException$message":null, + "InvalidPolicyException$message":null, + "InvalidStateException$message":null, + "InvalidTagException$message":null, + "LimitExceededException$message":null, + "MalformedCSRException$message":null, + "MalformedCertificateException$message":null, + "RequestAlreadyProcessedException$message":null, + "RequestFailedException$message":null, + "RequestInProgressException$message":null, + "ResourceNotFoundException$message":null, + "TooManyTagsException$message":null + } + }, + "String128":{ + "base":null, + "refs":{ + "ASN1Subject$State":"

State in which the subject of the certificate is located.

", + "ASN1Subject$Locality":"

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

", + "ASN1Subject$Pseudonym":"

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.

", + "RevokeCertificateRequest$CertificateSerial":"

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.

" + } + }, + "String16":{ + "base":null, + "refs":{ + "ASN1Subject$GivenName":"

First name.

" + } + }, + "String253":{ + "base":null, + "refs":{ + "CrlConfiguration$CustomCname":"

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.

" + } + }, + "String3":{ + "base":null, + "refs":{ + "ASN1Subject$GenerationQualifier":"

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

" + } + }, + "String3To255":{ + "base":null, + "refs":{ + "CrlConfiguration$S3BucketName":"

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.

" + } + }, + "String40":{ + "base":null, + "refs":{ + "ASN1Subject$Surname":"

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.

" + } + }, + "String5":{ + "base":null, + "refs":{ + "ASN1Subject$Initials":"

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.

" + } + }, + "String64":{ + "base":null, + "refs":{ + "ASN1Subject$Organization":"

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

", + "ASN1Subject$OrganizationalUnit":"

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

", + "ASN1Subject$CommonName":"

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

", + "ASN1Subject$SerialNumber":"

The certificate serial number.

", + "ASN1Subject$Title":"

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

" + } + }, + "TStamp":{ + "base":null, + "refs":{ + "CertificateAuthority$CreatedAt":"

Date and time at which your private CA was created.

", + "CertificateAuthority$LastStateChangeAt":"

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

", + "CertificateAuthority$NotBefore":"

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

", + "CertificateAuthority$NotAfter":"

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

", + "CertificateAuthority$RestorableUntil":"

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

", + "DescribeCertificateAuthorityAuditReportResponse$CreatedAt":"

The date and time at which the report was created.

" + } + }, + "Tag":{ + "base":"

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.

", + "refs":{ + "TagList$member":null + } + }, + "TagCertificateAuthorityRequest":{ + "base":null, + "refs":{ + } + }, + "TagKey":{ + "base":null, + "refs":{ + "Tag$Key":"

Key (name) of the tag.

" + } + }, + "TagList":{ + "base":null, + "refs":{ + "ListTagsResponse$Tags":"

The tags associated with your private CA.

", + "TagCertificateAuthorityRequest$Tags":"

List of tags to be associated with the CA.

", + "UntagCertificateAuthorityRequest$Tags":"

List of tags to be removed from the CA.

" + } + }, + "TagValue":{ + "base":null, + "refs":{ + "Tag$Value":"

Value of the tag.

" + } + }, + "TooManyTagsException":{ + "base":"

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

", + "refs":{ + } + }, + "UntagCertificateAuthorityRequest":{ + "base":null, + "refs":{ + } + }, + "UpdateCertificateAuthorityRequest":{ + "base":null, + "refs":{ + } + }, + "Validity":{ + "base":"

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.

", + "refs":{ + "IssueCertificateRequest$Validity":"

The type of the validity period.

" + } + }, + "ValidityPeriodType":{ + "base":null, + "refs":{ + "Validity$Type":"

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

" + } + } + } +} diff --git a/models/apis/events/2014-02-03/examples-1.json b/models/apis/acm-pca/2017-08-22/examples-1.json similarity index 100% rename from models/apis/events/2014-02-03/examples-1.json rename to models/apis/acm-pca/2017-08-22/examples-1.json diff --git a/models/apis/acm-pca/2017-08-22/paginators-1.json b/models/apis/acm-pca/2017-08-22/paginators-1.json new file mode 100644 index 00000000000..f85268a0446 --- /dev/null +++ b/models/apis/acm-pca/2017-08-22/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination":{ + } +} diff --git a/models/apis/acm/2015-12-08/api-2.json b/models/apis/acm/2015-12-08/api-2.json index 87055431b54..1943ccbe6aa 100644 --- a/models/apis/acm/2015-12-08/api-2.json +++ b/models/apis/acm/2015-12-08/api-2.json @@ -7,6 +7,7 @@ "protocol":"json", "serviceAbbreviation":"ACM", "serviceFullName":"AWS Certificate Manager", + "serviceId":"ACM", "signatureVersion":"v4", "targetPrefix":"CertificateManager", "uid":"acm-2015-12-08" @@ -52,6 +53,20 @@ {"shape":"InvalidArnException"} ] }, + "ExportCertificate":{ + "name":"ExportCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExportCertificateRequest"}, + "output":{"shape":"ExportCertificateResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"RequestInProgressException"}, + {"shape":"InvalidArnException"} + ] + }, "GetCertificate":{ "name":"GetCertificate", "http":{ @@ -124,7 +139,8 @@ "output":{"shape":"RequestCertificateResponse"}, "errors":[ {"shape":"LimitExceededException"}, - {"shape":"InvalidDomainValidationOptionsException"} + {"shape":"InvalidDomainValidationOptionsException"}, + {"shape":"InvalidArnException"} ] }, "ResendValidationEmail":{ @@ -140,6 +156,20 @@ {"shape":"InvalidArnException"}, {"shape":"InvalidDomainValidationOptionsException"} ] + }, + "UpdateCertificateOptions":{ + "name":"UpdateCertificateOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCertificateOptionsRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidArnException"} + ] } }, "shapes":{ @@ -207,7 +237,16 @@ "Type":{"shape":"CertificateType"}, "RenewalSummary":{"shape":"RenewalSummary"}, "KeyUsages":{"shape":"KeyUsageList"}, - "ExtendedKeyUsages":{"shape":"ExtendedKeyUsageList"} + "ExtendedKeyUsages":{"shape":"ExtendedKeyUsageList"}, + "CertificateAuthorityArn":{"shape":"Arn"}, + "RenewalEligibility":{"shape":"RenewalEligibility"}, + "Options":{"shape":"CertificateOptions"} + } + }, + "CertificateOptions":{ + "type":"structure", + "members":{ + "CertificateTransparencyLoggingPreference":{"shape":"CertificateTransparencyLoggingPreference"} } }, "CertificateStatus":{ @@ -237,11 +276,19 @@ "type":"list", "member":{"shape":"CertificateSummary"} }, + "CertificateTransparencyLoggingPreference":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "CertificateType":{ "type":"string", "enum":[ "IMPORTED", - "AMAZON_ISSUED" + "AMAZON_ISSUED", + "PRIVATE" ] }, "DeleteCertificateRequest":{ @@ -319,6 +366,25 @@ "max":100, "min":1 }, + "ExportCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateArn", + "Passphrase" + ], + "members":{ + "CertificateArn":{"shape":"Arn"}, + "Passphrase":{"shape":"PassphraseBlob"} + } + }, + "ExportCertificateResponse":{ + "type":"structure", + "members":{ + "Certificate":{"shape":"CertificateBody"}, + "CertificateChain":{"shape":"CertificateChain"}, + "PrivateKey":{"shape":"PrivateKey"} + } + }, "ExtendedKeyUsage":{ "type":"structure", "members":{ @@ -359,6 +425,12 @@ "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" ] }, @@ -533,6 +605,19 @@ "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, @@ -554,6 +639,13 @@ "Tags":{"shape":"TagList"} } }, + "RenewalEligibility":{ + "type":"string", + "enum":[ + "ELIGIBLE", + "INELIGIBLE" + ] + }, "RenewalStatus":{ "type":"string", "enum":[ @@ -582,7 +674,9 @@ "ValidationMethod":{"shape":"ValidationMethod"}, "SubjectAlternativeNames":{"shape":"DomainList"}, "IdempotencyToken":{"shape":"IdempotencyToken"}, - "DomainValidationOptions":{"shape":"DomainValidationOptionList"} + "DomainValidationOptions":{"shape":"DomainValidationOptionList"}, + "Options":{"shape":"CertificateOptions"}, + "CertificateAuthorityArn":{"shape":"Arn"} } }, "RequestCertificateResponse":{ @@ -688,6 +782,17 @@ }, "exception":true }, + "UpdateCertificateOptionsRequest":{ + "type":"structure", + "required":[ + "CertificateArn", + "Options" + ], + "members":{ + "CertificateArn":{"shape":"Arn"}, + "Options":{"shape":"CertificateOptions"} + } + }, "ValidationEmailList":{ "type":"list", "member":{"shape":"String"} diff --git a/models/apis/acm/2015-12-08/docs-2.json b/models/apis/acm/2015-12-08/docs-2.json index c87f62db07a..1d6bd61cbc2 100644 --- a/models/apis/acm/2015-12-08/docs-2.json +++ b/models/apis/acm/2015-12-08/docs-2.json @@ -2,16 +2,18 @@ "version": "2.0", "service": "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 .

", "operations": { - "AddTagsToCertificate": "

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

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

Returns detailed metadata about the specified ACM Certificate.

", - "GetCertificate": "

Retrieves a certificate specified by an ARN and its certificate chain . The chain is an ordered list of certificates that contains the end entity ertificate, 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": "

Imports a certificate into AWS Certificate Manager (ACM) to use with services that are integrated with ACM. For more information, see Integrated Services.

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

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

In general, you can import almost any valid certificate. However, services integrated with ACM allow only certificate types they support to be associated with their resources. The following guidelines are also important:

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

", + "AddTagsToCertificate": "

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

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

Returns detailed metadata about the specified ACM certificate.

", + "ExportCertificate": "

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

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

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:

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

", "ListCertificates": "

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

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

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

Requests an ACM Certificate for use with other AWS services. To request an ACM Certificate, you must specify the fully qualified domain name (FQDN) for your site in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter if users can reach your site by using other names.

For each domain name you specify, email is sent to the domain owner to request approval to issue the certificate. Email is sent to three registered contact addresses in the WHOIS database and to five common system administration addresses formed from the DomainName you enter or the optional ValidationDomain parameter. For more information, see Validate Domain Ownership.

After receiving approval from the domain owner, the ACM Certificate is issued. For more information, see the AWS Certificate Manager User Guide.

", - "ResendValidationEmail": "

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.

" + "ListTagsForCertificate": "

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

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

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

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

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": { @@ -22,24 +24,29 @@ "Arn": { "base": null, "refs": { - "AddTagsToCertificateRequest$CertificateArn": "

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.

", + "AddTagsToCertificateRequest$CertificateArn": "

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.

", "CertificateDetail$CertificateArn": "

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.

", + "CertificateDetail$CertificateAuthorityArn": "

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

", "CertificateSummary$CertificateArn": "

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.

", - "DeleteCertificateRequest$CertificateArn": "

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$CertificateArn": "

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.

", + "DeleteCertificateRequest$CertificateArn": "

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$CertificateArn": "

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.

", + "ExportCertificateRequest$CertificateArn": "

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

", "GetCertificateRequest$CertificateArn": "

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.

", "ImportCertificateRequest$CertificateArn": "

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

", "ImportCertificateResponse$CertificateArn": "

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

", - "ListTagsForCertificateRequest$CertificateArn": "

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.

", + "ListTagsForCertificateRequest$CertificateArn": "

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.

", "RemoveTagsFromCertificateRequest$CertificateArn": "

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.

", + "RequestCertificateRequest$CertificateAuthorityArn": "

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$CertificateArn": "

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

", - "ResendValidationEmailRequest$CertificateArn": "

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

" + "ResendValidationEmailRequest$CertificateArn": "

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

", + "UpdateCertificateOptionsRequest$CertificateArn": "

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

" } }, "CertificateBody": { "base": null, "refs": { - "GetCertificateResponse$Certificate": "

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

" + "ExportCertificateResponse$Certificate": "

The base64 PEM-encoded certificate.

", + "GetCertificateResponse$Certificate": "

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

" } }, "CertificateBodyBlob": { @@ -51,6 +58,7 @@ "CertificateChain": { "base": null, "refs": { + "ExportCertificateResponse$CertificateChain": "

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

", "GetCertificateResponse$CertificateChain": "

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

" } }, @@ -66,6 +74,14 @@ "DescribeCertificateResponse$Certificate": "

Metadata about an ACM certificate.

" } }, + "CertificateOptions": { + "base": "

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.

", + "refs": { + "CertificateDetail$Options": "

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.

", + "RequestCertificateRequest$Options": "

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.

", + "UpdateCertificateOptionsRequest$Options": "

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.

" + } + }, "CertificateStatus": { "base": null, "refs": { @@ -88,7 +104,13 @@ "CertificateSummaryList": { "base": null, "refs": { - "ListCertificatesResponse$CertificateSummaryList": "

A list of ACM Certificates.

" + "ListCertificatesResponse$CertificateSummaryList": "

A list of ACM certificates.

" + } + }, + "CertificateTransparencyLoggingPreference": { + "base": null, + "refs": { + "CertificateOptions$CertificateTransparencyLoggingPreference": "

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

" } }, "CertificateType": { @@ -116,7 +138,7 @@ "base": null, "refs": { "CertificateDetail$SubjectAlternativeNames": "

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.

", - "RequestCertificateRequest$SubjectAlternativeNames": "

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:

" + "RequestCertificateRequest$SubjectAlternativeNames": "

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:

" } }, "DomainNameString": { @@ -129,7 +151,7 @@ "DomainValidation$ValidationDomain": "

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

", "DomainValidationOption$DomainName": "

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

", "DomainValidationOption$ValidationDomain": "

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:

", - "RequestCertificateRequest$DomainName": "

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

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

", + "RequestCertificateRequest$DomainName": "

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.

", "ResendValidationEmailRequest$Domain": "

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

", "ResendValidationEmailRequest$ValidationDomain": "

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:

" } @@ -162,7 +184,17 @@ "DomainValidationOptionList": { "base": null, "refs": { - "RequestCertificateRequest$DomainValidationOptions": "

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

" + "RequestCertificateRequest$DomainValidationOptions": "

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

" + } + }, + "ExportCertificateRequest": { + "base": null, + "refs": { + } + }, + "ExportCertificateResponse": { + "base": null, + "refs": { } }, "ExtendedKeyUsage": { @@ -199,7 +231,7 @@ "Filters": { "base": "

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

", "refs": { - "ListCertificatesRequest$Includes": "

Filter the certificate list by one or more of the following values. For more information, see the Filters structure.

" + "ListCertificatesRequest$Includes": "

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

" } }, "GetCertificateRequest": { @@ -245,7 +277,7 @@ } }, "InvalidStateException": { - "base": "

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

", + "base": "

Processing has reached an invalid state.

", "refs": { } }, @@ -293,7 +325,7 @@ } }, "LimitExceededException": { - "base": "

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

", + "base": "

An ACM limit has been exceeded.

", "refs": { } }, @@ -330,6 +362,18 @@ "ListCertificatesResponse$NextToken": "

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

" } }, + "PassphraseBlob": { + "base": null, + "refs": { + "ExportCertificateRequest$Passphrase": "

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

" + } + }, + "PrivateKey": { + "base": null, + "refs": { + "ExportCertificateResponse$PrivateKey": "

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

" + } + }, "PrivateKeyBlob": { "base": null, "refs": { @@ -347,6 +391,12 @@ "refs": { } }, + "RenewalEligibility": { + "base": null, + "refs": { + "CertificateDetail$RenewalEligibility": "

Specifies whether the certificate is eligible for renewal.

" + } + }, "RenewalStatus": { "base": null, "refs": { @@ -385,7 +435,7 @@ } }, "ResourceNotFoundException": { - "base": "

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

", + "base": "

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

", "refs": { } }, @@ -466,6 +516,11 @@ "refs": { } }, + "UpdateCertificateOptionsRequest": { + "base": null, + "refs": { + } + }, "ValidationEmailList": { "base": null, "refs": { @@ -476,7 +531,7 @@ "base": null, "refs": { "DomainValidation$ValidationMethod": "

Specifies the domain validation method.

", - "RequestCertificateRequest$ValidationMethod": "

The method you want to use to validate your domain.

" + "RequestCertificateRequest$ValidationMethod": "

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.

" } } } diff --git a/models/apis/acm/2015-12-08/smoke.json b/models/apis/acm/2015-12-08/smoke.json new file mode 100644 index 00000000000..12c425a62a1 --- /dev/null +++ b/models/apis/acm/2015-12-08/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListCertificates", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "GetCertificate", + "input": { + "CertificateArn": "arn:aws:acm:region:123456789012:certificate\/12345678-1234-1234-1234-123456789012" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/acm/2015-12-08/waiters-2.json b/models/apis/acm/2015-12-08/waiters-2.json new file mode 100644 index 00000000000..1fba453d0c1 --- /dev/null +++ b/models/apis/acm/2015-12-08/waiters-2.json @@ -0,0 +1,35 @@ +{ + "version": 2, + "waiters": { + "CertificateValidated": { + "delay": 60, + "maxAttempts": 40, + "operation": "DescribeCertificate", + "acceptors": [ + { + "matcher": "pathAll", + "expected": "SUCCESS", + "argument": "Certificate.DomainValidationOptions[].ValidationStatus", + "state": "success" + }, + { + "matcher": "pathAny", + "expected": "PENDING_VALIDATION", + "argument": "Certificate.DomainValidationOptions[].ValidationStatus", + "state": "retry" + }, + { + "matcher": "path", + "expected": "FAILED", + "argument": "Certificate.Status", + "state": "failure" + }, + { + "matcher": "error", + "expected": "ResourceNotFoundException", + "state": "failure" + } + ] + } + } +} diff --git a/models/apis/alexaforbusiness/2017-11-09/api-2.json b/models/apis/alexaforbusiness/2017-11-09/api-2.json index 5bb830a5517..803a01a2144 100644 --- a/models/apis/alexaforbusiness/2017-11-09/api-2.json +++ b/models/apis/alexaforbusiness/2017-11-09/api-2.json @@ -6,11 +6,24 @@ "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"} + ] + }, "AssociateDeviceWithRoom":{ "name":"AssociateDeviceWithRoom", "http":{ @@ -20,7 +33,8 @@ "input":{"shape":"AssociateDeviceWithRoomRequest"}, "output":{"shape":"AssociateDeviceWithRoomResponse"}, "errors":[ - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"DeviceNotRegisteredException"} ] }, "AssociateSkillGroupWithRoom":{ @@ -32,6 +46,32 @@ "input":{"shape":"AssociateSkillGroupWithRoomRequest"}, "output":{"shape":"AssociateSkillGroupWithRoomResponse"} }, + "CreateAddressBook":{ + "name":"CreateAddressBook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAddressBookRequest"}, + "output":{"shape":"CreateAddressBookResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"} + ] + }, + "CreateContact":{ + "name":"CreateContact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateContactRequest"}, + "output":{"shape":"CreateContactResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"} + ] + }, "CreateProfile":{ "name":"CreateProfile", "http":{ @@ -84,6 +124,30 @@ {"shape":"LimitExceededException"} ] }, + "DeleteAddressBook":{ + "name":"DeleteAddressBook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAddressBookRequest"}, + "output":{"shape":"DeleteAddressBookResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ] + }, + "DeleteContact":{ + "name":"DeleteContact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteContactRequest"}, + "output":{"shape":"DeleteContactResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ] + }, "DeleteProfile":{ "name":"DeleteProfile", "http":{ @@ -141,6 +205,15 @@ {"shape":"NotFoundException"} ] }, + "DisassociateContactFromAddressBook":{ + "name":"DisassociateContactFromAddressBook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateContactFromAddressBookRequest"}, + "output":{"shape":"DisassociateContactFromAddressBookResponse"} + }, "DisassociateDeviceFromRoom":{ "name":"DisassociateDeviceFromRoom", "http":{ @@ -148,7 +221,10 @@ "requestUri":"/" }, "input":{"shape":"DisassociateDeviceFromRoomRequest"}, - "output":{"shape":"DisassociateDeviceFromRoomResponse"} + "output":{"shape":"DisassociateDeviceFromRoomResponse"}, + "errors":[ + {"shape":"DeviceNotRegisteredException"} + ] }, "DisassociateSkillGroupFromRoom":{ "name":"DisassociateSkillGroupFromRoom", @@ -159,6 +235,30 @@ "input":{"shape":"DisassociateSkillGroupFromRoomRequest"}, "output":{"shape":"DisassociateSkillGroupFromRoomResponse"} }, + "GetAddressBook":{ + "name":"GetAddressBook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAddressBookRequest"}, + "output":{"shape":"GetAddressBookResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ] + }, + "GetContact":{ + "name":"GetContact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetContactRequest"}, + "output":{"shape":"GetContactResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ] + }, "GetDevice":{ "name":"GetDevice", "http":{ @@ -219,6 +319,18 @@ {"shape":"NotFoundException"} ] }, + "ListDeviceEvents":{ + "name":"ListDeviceEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDeviceEventsRequest"}, + "output":{"shape":"ListDeviceEventsResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ] + }, "ListSkills":{ "name":"ListSkills", "http":{ @@ -273,6 +385,24 @@ {"shape":"NotFoundException"} ] }, + "SearchAddressBooks":{ + "name":"SearchAddressBooks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchAddressBooksRequest"}, + "output":{"shape":"SearchAddressBooksResponse"} + }, + "SearchContacts":{ + "name":"SearchContacts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchContactsRequest"}, + "output":{"shape":"SearchContactsResponse"} + }, "SearchDevices":{ "name":"SearchDevices", "http":{ @@ -338,7 +468,10 @@ "requestUri":"/" }, "input":{"shape":"StartDeviceSyncRequest"}, - "output":{"shape":"StartDeviceSyncResponse"} + "output":{"shape":"StartDeviceSyncResponse"}, + "errors":[ + {"shape":"DeviceNotRegisteredException"} + ] }, "TagResource":{ "name":"TagResource", @@ -364,6 +497,31 @@ {"shape":"NotFoundException"} ] }, + "UpdateAddressBook":{ + "name":"UpdateAddressBook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAddressBookRequest"}, + "output":{"shape":"UpdateAddressBookResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"NameInUseException"} + ] + }, + "UpdateContact":{ + "name":"UpdateContact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateContactRequest"}, + "output":{"shape":"UpdateContactResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ] + }, "UpdateDevice":{ "name":"UpdateDevice", "http":{ @@ -373,7 +531,8 @@ "input":{"shape":"UpdateDeviceRequest"}, "output":{"shape":"UpdateDeviceResponse"}, "errors":[ - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"DeviceNotRegisteredException"} ] }, "UpdateProfile":{ @@ -422,6 +581,38 @@ "max":500, "min":1 }, + "AddressBook":{ + "type":"structure", + "members":{ + "AddressBookArn":{"shape":"Arn"}, + "Name":{"shape":"AddressBookName"}, + "Description":{"shape":"AddressBookDescription"} + } + }, + "AddressBookData":{ + "type":"structure", + "members":{ + "AddressBookArn":{"shape":"Arn"}, + "Name":{"shape":"AddressBookName"}, + "Description":{"shape":"AddressBookDescription"} + } + }, + "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":{ @@ -433,6 +624,22 @@ "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"}, + "AddressBookArn":{"shape":"Arn"} + } + }, + "AssociateContactWithAddressBookResponse":{ + "type":"structure", + "members":{ + } + }, "AssociateDeviceWithRoomRequest":{ "type":"structure", "members":{ @@ -464,6 +671,84 @@ "min":10, "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*" }, + "ConnectionStatus":{ + "type":"string", + "enum":[ + "ONLINE", + "OFFLINE" + ] + }, + "Contact":{ + "type":"structure", + "members":{ + "ContactArn":{"shape":"Arn"}, + "DisplayName":{"shape":"ContactName"}, + "FirstName":{"shape":"ContactName"}, + "LastName":{"shape":"ContactName"}, + "PhoneNumber":{"shape":"E164PhoneNumber"} + } + }, + "ContactData":{ + "type":"structure", + "members":{ + "ContactArn":{"shape":"Arn"}, + "DisplayName":{"shape":"ContactName"}, + "FirstName":{"shape":"ContactName"}, + "LastName":{"shape":"ContactName"}, + "PhoneNumber":{"shape":"E164PhoneNumber"} + } + }, + "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"}, + "Description":{"shape":"AddressBookDescription"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateAddressBookResponse":{ + "type":"structure", + "members":{ + "AddressBookArn":{"shape":"Arn"} + } + }, + "CreateContactRequest":{ + "type":"structure", + "required":[ + "FirstName", + "PhoneNumber" + ], + "members":{ + "DisplayName":{"shape":"ContactName"}, + "FirstName":{"shape":"ContactName"}, + "LastName":{"shape":"ContactName"}, + "PhoneNumber":{"shape":"E164PhoneNumber"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateContactResponse":{ + "type":"structure", + "members":{ + "ContactArn":{"shape":"Arn"} + } + }, "CreateProfileRequest":{ "type":"structure", "required":[ @@ -556,6 +841,30 @@ "UserArn":{"shape":"Arn"} } }, + "DeleteAddressBookRequest":{ + "type":"structure", + "required":["AddressBookArn"], + "members":{ + "AddressBookArn":{"shape":"Arn"} + } + }, + "DeleteAddressBookResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteContactRequest":{ + "type":"structure", + "required":["ContactArn"], + "members":{ + "ContactArn":{"shape":"Arn"} + } + }, + "DeleteContactResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteProfileRequest":{ "type":"structure", "members":{ @@ -629,7 +938,8 @@ "SoftwareVersion":{"shape":"SoftwareVersion"}, "MacAddress":{"shape":"MacAddress"}, "RoomArn":{"shape":"Arn"}, - "DeviceStatus":{"shape":"DeviceStatus"} + "DeviceStatus":{"shape":"DeviceStatus"}, + "DeviceStatusInfo":{"shape":"DeviceStatusInfo"} } }, "DeviceData":{ @@ -643,19 +953,47 @@ "MacAddress":{"shape":"MacAddress"}, "DeviceStatus":{"shape":"DeviceStatus"}, "RoomArn":{"shape":"Arn"}, - "RoomName":{"shape":"RoomName"} + "RoomName":{"shape":"RoomName"}, + "DeviceStatusInfo":{"shape":"DeviceStatusInfo"} } }, "DeviceDataList":{ "type":"list", "member":{"shape":"DeviceData"} }, + "DeviceEvent":{ + "type":"structure", + "members":{ + "Type":{"shape":"DeviceEventType"}, + "Value":{"shape":"DeviceEventValue"}, + "Timestamp":{"shape":"Timestamp"} + } + }, + "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"} + }, + "exception":true + }, "DeviceSerialNumber":{ "type":"string", "pattern":"[a-zA-Z0-9]{1,200}" @@ -665,13 +1003,54 @@ "enum":[ "READY", "PENDING", - "WAS_OFFLINE" + "WAS_OFFLINE", + "DEREGISTERED" ] }, + "DeviceStatusDetail":{ + "type":"structure", + "members":{ + "Code":{"shape":"DeviceStatusDetailCode"} + } + }, + "DeviceStatusDetailCode":{ + "type":"string", + "enum":[ + "DEVICE_SOFTWARE_UPDATE_NEEDED", + "DEVICE_WAS_OFFLINE" + ] + }, + "DeviceStatusDetails":{ + "type":"list", + "member":{"shape":"DeviceStatusDetail"} + }, + "DeviceStatusInfo":{ + "type":"structure", + "members":{ + "DeviceStatusDetails":{"shape":"DeviceStatusDetails"}, + "ConnectionStatus":{"shape":"ConnectionStatus"} + } + }, "DeviceType":{ "type":"string", "pattern":"[a-zA-Z0-9]{1,200}" }, + "DisassociateContactFromAddressBookRequest":{ + "type":"structure", + "required":[ + "ContactArn", + "AddressBookArn" + ], + "members":{ + "ContactArn":{"shape":"Arn"}, + "AddressBookArn":{"shape":"Arn"} + } + }, + "DisassociateContactFromAddressBookResponse":{ + "type":"structure", + "members":{ + } + }, "DisassociateDeviceFromRoomRequest":{ "type":"structure", "members":{ @@ -702,6 +1081,10 @@ "IMPERIAL" ] }, + "E164PhoneNumber":{ + "type":"string", + "pattern":"^\\+\\d{8,}$" + }, "Email":{ "type":"string", "max":128, @@ -719,6 +1102,7 @@ "INITIALIZED", "PENDING", "REGISTERED", + "DISASSOCIATING", "DEREGISTERING" ] }, @@ -769,6 +1153,32 @@ "member":{"shape":"FilterValue"}, "max":5 }, + "GetAddressBookRequest":{ + "type":"structure", + "required":["AddressBookArn"], + "members":{ + "AddressBookArn":{"shape":"Arn"} + } + }, + "GetAddressBookResponse":{ + "type":"structure", + "members":{ + "AddressBook":{"shape":"AddressBook"} + } + }, + "GetContactRequest":{ + "type":"structure", + "required":["ContactArn"], + "members":{ + "ContactArn":{"shape":"Arn"} + } + }, + "GetContactResponse":{ + "type":"structure", + "members":{ + "Contact":{"shape":"Contact"} + } + }, "GetDeviceRequest":{ "type":"structure", "members":{ @@ -849,6 +1259,23 @@ }, "exception":true }, + "ListDeviceEventsRequest":{ + "type":"structure", + "required":["DeviceArn"], + "members":{ + "DeviceArn":{"shape":"Arn"}, + "EventType":{"shape":"DeviceEventType"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListDeviceEventsResponse":{ + "type":"structure", + "members":{ + "DeviceEvents":{"shape":"DeviceEventList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListSkillsRequest":{ "type":"structure", "members":{ @@ -1066,6 +1493,40 @@ "type":"list", "member":{"shape":"RoomSkillParameter"} }, + "SearchAddressBooksRequest":{ + "type":"structure", + "members":{ + "Filters":{"shape":"FilterList"}, + "SortCriteria":{"shape":"SortList"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "SearchAddressBooksResponse":{ + "type":"structure", + "members":{ + "AddressBooks":{"shape":"AddressBookDataList"}, + "NextToken":{"shape":"NextToken"}, + "TotalCount":{"shape":"TotalCount"} + } + }, + "SearchContactsRequest":{ + "type":"structure", + "members":{ + "Filters":{"shape":"FilterList"}, + "SortCriteria":{"shape":"SortList"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "SearchContactsResponse":{ + "type":"structure", + "members":{ + "Contacts":{"shape":"ContactDataList"}, + "NextToken":{"shape":"NextToken"}, + "TotalCount":{"shape":"TotalCount"} + } + }, "SearchDevicesRequest":{ "type":"structure", "members":{ @@ -1314,6 +1775,7 @@ "CELSIUS" ] }, + "Timestamp":{"type":"timestamp"}, "Timezone":{ "type":"string", "max":100, @@ -1336,6 +1798,36 @@ "members":{ } }, + "UpdateAddressBookRequest":{ + "type":"structure", + "required":["AddressBookArn"], + "members":{ + "AddressBookArn":{"shape":"Arn"}, + "Name":{"shape":"AddressBookName"}, + "Description":{"shape":"AddressBookDescription"} + } + }, + "UpdateAddressBookResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateContactRequest":{ + "type":"structure", + "required":["ContactArn"], + "members":{ + "ContactArn":{"shape":"Arn"}, + "DisplayName":{"shape":"ContactName"}, + "FirstName":{"shape":"ContactName"}, + "LastName":{"shape":"ContactName"}, + "PhoneNumber":{"shape":"E164PhoneNumber"} + } + }, + "UpdateContactResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateDeviceRequest":{ "type":"structure", "members":{ diff --git a/models/apis/alexaforbusiness/2017-11-09/docs-2.json b/models/apis/alexaforbusiness/2017-11-09/docs-2.json index 2d2cfefa342..cc5b75feee5 100644 --- a/models/apis/alexaforbusiness/2017-11-09/docs-2.json +++ b/models/apis/alexaforbusiness/2017-11-09/docs-2.json @@ -1,39 +1,52 @@ { "version": "2.0", - "service": "

Alexa for Business makes it easy for you to use Alexa in your organization. Alexa for Business gives you the tools you need to manage Alexa devices, enroll your users, and assign skills, at scale. You can build your own context-aware voice skills using the Alexa Skills Kit, and the Alexa for Business APIs, and you can make these available as private skills for your organization. Alexa for Business also makes it easy to voice-enable your products and services, providing context-aware voice experiences for your customers.

", + "service": "

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.

", "operations": { - "AssociateDeviceWithRoom": "

Associates a device to 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 a manual sync is required.

", - "AssociateSkillGroupWithRoom": "

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

", + "AssociateContactWithAddressBook": "

Associates a contact with a given address book.

", + "AssociateDeviceWithRoom": "

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

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

", + "CreateAddressBook": "

Creates an address book with the specified details.

", + "CreateContact": "

Creates a contact with the specified details.

", "CreateProfile": "

Creates a new room profile with the specified details.

", "CreateRoom": "

Creates a room with the specified details.

", "CreateSkillGroup": "

Creates a skill group with a specified name and description.

", "CreateUser": "

Creates a user.

", + "DeleteAddressBook": "

Deletes an address book by the address book ARN.

", + "DeleteContact": "

Deletes a contact by the contact ARN.

", "DeleteProfile": "

Deletes a room profile by the profile ARN.

", "DeleteRoom": "

Deletes a room by the room ARN.

", "DeleteRoomSkillParameter": "

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

", "DeleteSkillGroup": "

Deletes a skill group by skill group ARN.

", "DeleteUser": "

Deletes a specified user by user ARN and enrollment ARN.

", + "DisassociateContactFromAddressBook": "

Disassociates a contact from a given address book.

", "DisassociateDeviceFromRoom": "

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

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

", + "GetAddressBook": "

Gets address the book details by the address book ARN.

", + "GetContact": "

Gets the contact details by the contact ARN.

", "GetDevice": "

Gets the details of a device by device ARN.

", "GetProfile": "

Gets the details of a room profile by profile ARN.

", "GetRoom": "

Gets room details by room ARN.

", "GetRoomSkillParameter": "

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

", "GetSkillGroup": "

Gets skill group details by skill group ARN.

", + "ListDeviceEvents": "

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

", "ListSkills": "

Lists all enabled skills in a specific skill group.

", - "ListTags": "

Lists all tags for a specific resource.

", + "ListTags": "

Lists all tags for the specified resource.

", "PutRoomSkillParameter": "

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

", "ResolveRoom": "

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

", "RevokeInvitation": "

Revokes an invitation and invalidates the enrollment URL.

", + "SearchAddressBooks": "

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

", + "SearchContacts": "

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

", "SearchDevices": "

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

", "SearchProfiles": "

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

", "SearchRooms": "

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

", "SearchSkillGroups": "

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

", "SearchUsers": "

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

", "SendInvitation": "

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

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

", + "StartDeviceSync": "

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

", "TagResource": "

Adds metadata tags to a specified resource.

", "UntagResource": "

Removes metadata tags from a specified resource.

", + "UpdateAddressBook": "

Updates address book details by the address book ARN.

", + "UpdateContact": "

Updates the contact details by the contact ARN.

", "UpdateDevice": "

Updates the device name by device ARN.

", "UpdateProfile": "

Updates an existing room profile by room profile ARN.

", "UpdateRoom": "

Updates room details by room ARN.

", @@ -49,6 +62,42 @@ "UpdateProfileRequest$Address": "

The updated address for the room profile.

" } }, + "AddressBook": { + "base": "

An address book with attributes.

", + "refs": { + "GetAddressBookResponse$AddressBook": "

The details of the requested address book.

" + } + }, + "AddressBookData": { + "base": "

Information related to an address book.

", + "refs": { + "AddressBookDataList$member": null + } + }, + "AddressBookDataList": { + "base": null, + "refs": { + "SearchAddressBooksResponse$AddressBooks": "

The address books that meet the specified set of filter criteria, in sort order.

" + } + }, + "AddressBookDescription": { + "base": null, + "refs": { + "AddressBook$Description": "

The description of the address book.

", + "AddressBookData$Description": "

The description of the address book.

", + "CreateAddressBookRequest$Description": "

The description of the address book.

", + "UpdateAddressBookRequest$Description": "

The updated description of the room.

" + } + }, + "AddressBookName": { + "base": null, + "refs": { + "AddressBook$Name": "

The name of the address book.

", + "AddressBookData$Name": "

The name of the address book.

", + "CreateAddressBookRequest$Name": "

The name of the address book.

", + "UpdateAddressBookRequest$Name": "

The updated name of the room.

" + } + }, "AlreadyExistsException": { "base": "

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

", "refs": { @@ -57,15 +106,25 @@ "Arn": { "base": null, "refs": { + "AddressBook$AddressBookArn": "

The ARN of the address book.

", + "AddressBookData$AddressBookArn": "

The ARN of the address book.

", + "AssociateContactWithAddressBookRequest$ContactArn": "

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

", + "AssociateContactWithAddressBookRequest$AddressBookArn": "

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

", "AssociateDeviceWithRoomRequest$DeviceArn": "

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

", "AssociateDeviceWithRoomRequest$RoomArn": "

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

", "AssociateSkillGroupWithRoomRequest$SkillGroupArn": "

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

", "AssociateSkillGroupWithRoomRequest$RoomArn": "

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

", + "Contact$ContactArn": "

The ARN of the contact.

", + "ContactData$ContactArn": "

The ARN of the contact.

", + "CreateAddressBookResponse$AddressBookArn": "

The ARN of the newly created address book.

", + "CreateContactResponse$ContactArn": "

The ARN of the newly created address book.

", "CreateProfileResponse$ProfileArn": "

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

", "CreateRoomRequest$ProfileArn": "

The profile ARN for the room.

", "CreateRoomResponse$RoomArn": "

The ARN of the newly created room in the response.

", "CreateSkillGroupResponse$SkillGroupArn": "

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

", "CreateUserResponse$UserArn": "

The ARN of the newly created user in the response.

", + "DeleteAddressBookRequest$AddressBookArn": "

The ARN of the address book to delete.

", + "DeleteContactRequest$ContactArn": "

The ARN of the contact to delete.

", "DeleteProfileRequest$ProfileArn": "

The ARN of the room profile to delete. Required.

", "DeleteRoomRequest$RoomArn": "

The ARN of the room to delete. Required.

", "DeleteRoomSkillParameterRequest$RoomArn": "

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

", @@ -75,16 +134,21 @@ "Device$RoomArn": "

The room ARN of a device.

", "DeviceData$DeviceArn": "

The ARN of a device.

", "DeviceData$RoomArn": "

The room ARN associated with a device.

", + "DisassociateContactFromAddressBookRequest$ContactArn": "

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

", + "DisassociateContactFromAddressBookRequest$AddressBookArn": "

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

", "DisassociateDeviceFromRoomRequest$DeviceArn": "

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

", "DisassociateSkillGroupFromRoomRequest$SkillGroupArn": "

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

", "DisassociateSkillGroupFromRoomRequest$RoomArn": "

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

", + "GetAddressBookRequest$AddressBookArn": "

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

", + "GetContactRequest$ContactArn": "

The ARN of the contact for which to request details.

", "GetDeviceRequest$DeviceArn": "

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

", "GetProfileRequest$ProfileArn": "

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

", "GetRoomRequest$RoomArn": "

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

", "GetRoomSkillParameterRequest$RoomArn": "

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

", "GetSkillGroupRequest$SkillGroupArn": "

The ARN of the skill group for which to get details. Required.

", + "ListDeviceEventsRequest$DeviceArn": "

The ARN of a device.

", "ListSkillsRequest$SkillGroupArn": "

The ARN of the skill group for which to list enabled skills. Required.

", - "ListTagsRequest$Arn": "

The ARN of the specific resource for which to list tags. Required.

", + "ListTagsRequest$Arn": "

The ARN of the specified resource for which to list tags.

", "Profile$ProfileArn": "

The ARN of a room profile.

", "ProfileData$ProfileArn": "

The ARN of a room profile.

", "PutRoomSkillParameterRequest$RoomArn": "

The ARN of the room associated with the room skill parameter. Required.

", @@ -101,6 +165,8 @@ "StartDeviceSyncRequest$DeviceArn": "

The ARN of the device to sync. Required.

", "TagResourceRequest$Arn": "

The ARN of the resource to which to add metadata tags. Required.

", "UntagResourceRequest$Arn": "

The ARN of the resource from which to remove metadata tags. Required.

", + "UpdateAddressBookRequest$AddressBookArn": "

The ARN of the room to update.

", + "UpdateContactRequest$ContactArn": "

The ARN of the contact to update.

", "UpdateDeviceRequest$DeviceArn": "

The ARN of the device to update. Required.

", "UpdateProfileRequest$ProfileArn": "

The ARN of the room profile to update. Required.

", "UpdateRoomRequest$RoomArn": "

The ARN of the room to update.

", @@ -109,6 +175,16 @@ "UserData$UserArn": "

The ARN of a user.

" } }, + "AssociateContactWithAddressBookRequest": { + "base": null, + "refs": { + } + }, + "AssociateContactWithAddressBookResponse": { + "base": null, + "refs": { + } + }, "AssociateDeviceWithRoomRequest": { "base": null, "refs": { @@ -143,6 +219,8 @@ "ClientRequestToken": { "base": "User specified token that is used to support idempotency during Create Resource", "refs": { + "CreateAddressBookRequest$ClientRequestToken": "

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

", + "CreateContactRequest$ClientRequestToken": "

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

", "CreateProfileRequest$ClientRequestToken": "

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

", "CreateRoomRequest$ClientRequestToken": "

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

", "CreateSkillGroupRequest$ClientRequestToken": "

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

", @@ -150,6 +228,67 @@ "ResourceInUseException$ClientRequestToken": null } }, + "ConnectionStatus": { + "base": null, + "refs": { + "DeviceStatusInfo$ConnectionStatus": "

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

" + } + }, + "Contact": { + "base": "

A contact with attributes.

", + "refs": { + "GetContactResponse$Contact": "

The details of the requested contact.

" + } + }, + "ContactData": { + "base": "

Information related to a contact.

", + "refs": { + "ContactDataList$member": null + } + }, + "ContactDataList": { + "base": null, + "refs": { + "SearchContactsResponse$Contacts": "

The contacts that meet the specified set of filter criteria, in sort order.

" + } + }, + "ContactName": { + "base": null, + "refs": { + "Contact$DisplayName": "

The name of the contact to display on the console.

", + "Contact$FirstName": "

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

", + "Contact$LastName": "

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

", + "ContactData$DisplayName": "

The name of the contact to display on the console.

", + "ContactData$FirstName": "

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

", + "ContactData$LastName": "

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

", + "CreateContactRequest$DisplayName": "

The name of the contact to display on the console.

", + "CreateContactRequest$FirstName": "

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

", + "CreateContactRequest$LastName": "

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

", + "UpdateContactRequest$DisplayName": "

The updated display name of the contact.

", + "UpdateContactRequest$FirstName": "

The updated first name of the contact.

", + "UpdateContactRequest$LastName": "

The updated last name of the contact.

" + } + }, + "CreateAddressBookRequest": { + "base": null, + "refs": { + } + }, + "CreateAddressBookResponse": { + "base": null, + "refs": { + } + }, + "CreateContactRequest": { + "base": null, + "refs": { + } + }, + "CreateContactResponse": { + "base": null, + "refs": { + } + }, "CreateProfileRequest": { "base": null, "refs": { @@ -190,6 +329,26 @@ "refs": { } }, + "DeleteAddressBookRequest": { + "base": null, + "refs": { + } + }, + "DeleteAddressBookResponse": { + "base": null, + "refs": { + } + }, + "DeleteContactRequest": { + "base": null, + "refs": { + } + }, + "DeleteContactResponse": { + "base": null, + "refs": { + } + }, "DeleteProfileRequest": { "base": null, "refs": { @@ -258,6 +417,31 @@ "SearchDevicesResponse$Devices": "

The devices that meet the specified set of filter criteria, in sort order.

" } }, + "DeviceEvent": { + "base": "

The list of device events.

", + "refs": { + "DeviceEventList$member": null + } + }, + "DeviceEventList": { + "base": null, + "refs": { + "ListDeviceEventsResponse$DeviceEvents": "

The device events requested for the device ARN.

" + } + }, + "DeviceEventType": { + "base": null, + "refs": { + "DeviceEvent$Type": "

The type of device event.

", + "ListDeviceEventsRequest$EventType": "

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.

" + } + }, + "DeviceEventValue": { + "base": null, + "refs": { + "DeviceEvent$Value": "

The value of the event.

" + } + }, "DeviceName": { "base": null, "refs": { @@ -266,6 +450,11 @@ "UpdateDeviceRequest$DeviceName": "

The updated device name. Required.

" } }, + "DeviceNotRegisteredException": { + "base": "

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

", + "refs": { + } + }, "DeviceSerialNumber": { "base": null, "refs": { @@ -276,10 +465,35 @@ "DeviceStatus": { "base": null, "refs": { - "Device$DeviceStatus": "

The status of a device.

", + "Device$DeviceStatus": "

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

", "DeviceData$DeviceStatus": "

The status of a device.

" } }, + "DeviceStatusDetail": { + "base": "

Details of a device’s status.

", + "refs": { + "DeviceStatusDetails$member": null + } + }, + "DeviceStatusDetailCode": { + "base": null, + "refs": { + "DeviceStatusDetail$Code": "

The device status detail code.

" + } + }, + "DeviceStatusDetails": { + "base": null, + "refs": { + "DeviceStatusInfo$DeviceStatusDetails": "

One or more device status detail descriptions.

" + } + }, + "DeviceStatusInfo": { + "base": "

Detailed information about a device's status.

", + "refs": { + "Device$DeviceStatusInfo": "

Detailed information about a device's status.

", + "DeviceData$DeviceStatusInfo": "

Detailed information about a device's status.

" + } + }, "DeviceType": { "base": null, "refs": { @@ -287,6 +501,16 @@ "DeviceData$DeviceType": "

The type of a device.

" } }, + "DisassociateContactFromAddressBookRequest": { + "base": null, + "refs": { + } + }, + "DisassociateContactFromAddressBookResponse": { + "base": null, + "refs": { + } + }, "DisassociateDeviceFromRoomRequest": { "base": null, "refs": { @@ -316,6 +540,15 @@ "UpdateProfileRequest$DistanceUnit": "

The updated distance unit for the room profile.

" } }, + "E164PhoneNumber": { + "base": null, + "refs": { + "Contact$PhoneNumber": "

The phone number of the contact.

", + "ContactData$PhoneNumber": "

The phone number of the contact.

", + "CreateContactRequest$PhoneNumber": "

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

", + "UpdateContactRequest$PhoneNumber": "

The updated phone number of the contact.

" + } + }, "Email": { "base": null, "refs": { @@ -341,6 +574,7 @@ "base": null, "refs": { "AlreadyExistsException$Message": null, + "DeviceNotRegisteredException$Message": null, "InvalidUserStatusException$Message": null, "LimitExceededException$Message": null, "NameInUseException$Message": null, @@ -375,7 +609,9 @@ "FilterList": { "base": null, "refs": { - "SearchDevicesRequest$Filters": "

The filters to use to list a specified set of devices. Supported filter keys are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber, and UnassociatedOnly.

", + "SearchAddressBooksRequest$Filters": "

The filters to use to list a specified set of address books. The supported filter key is AddressBookName.

", + "SearchContactsRequest$Filters": "

The filters to use to list a specified set of address books. The supported filter keys are DisplayName, FirstName, LastName, and AddressBookArns.

", + "SearchDevicesRequest$Filters": "

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

", "SearchProfilesRequest$Filters": "

The filters to use to list a specified set of room profiles. Supported filter keys are ProfileName and Address. Required.

", "SearchRoomsRequest$Filters": "

The filters to use to list a specified set of rooms. The supported filter keys are RoomName and ProfileName.

", "SearchSkillGroupsRequest$Filters": "

The filters to use to list a specified set of skill groups. The supported filter key is SkillGroupName.

", @@ -394,6 +630,26 @@ "Filter$Values": "

The values of a filter.

" } }, + "GetAddressBookRequest": { + "base": null, + "refs": { + } + }, + "GetAddressBookResponse": { + "base": null, + "refs": { + } + }, + "GetContactRequest": { + "base": null, + "refs": { + } + }, + "GetContactResponse": { + "base": null, + "refs": { + } + }, "GetDeviceRequest": { "base": null, "refs": { @@ -454,6 +710,16 @@ "refs": { } }, + "ListDeviceEventsRequest": { + "base": null, + "refs": { + } + }, + "ListDeviceEventsResponse": { + "base": null, + "refs": { + } + }, "ListSkillsRequest": { "base": null, "refs": { @@ -484,7 +750,10 @@ "MaxResults": { "base": null, "refs": { + "ListDeviceEventsRequest$MaxResults": "

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.

", "ListTagsRequest$MaxResults": "

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.

", + "SearchAddressBooksRequest$MaxResults": "

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.

", + "SearchContactsRequest$MaxResults": "

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.

", "SearchDevicesRequest$MaxResults": "

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.

", "SearchProfilesRequest$MaxResults": "

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.

", "SearchRoomsRequest$MaxResults": "

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.

", @@ -508,10 +777,16 @@ "NextToken": { "base": null, "refs": { + "ListDeviceEventsRequest$NextToken": "

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.

", + "ListDeviceEventsResponse$NextToken": "

The token returned to indicate that there is more data available.

", "ListSkillsRequest$NextToken": "

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.

", "ListSkillsResponse$NextToken": "

The token returned to indicate that there is more data available.

", "ListTagsRequest$NextToken": "

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.

", "ListTagsResponse$NextToken": "

The token returned to indicate that there is more data available.

", + "SearchAddressBooksRequest$NextToken": "

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.

", + "SearchAddressBooksResponse$NextToken": "

The token returned to indicate that there is more data available.

", + "SearchContactsRequest$NextToken": "

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.

", + "SearchContactsResponse$NextToken": "

The token returned to indicate that there is more data available.

", "SearchDevicesRequest$NextToken": "

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.

", "SearchDevicesResponse$NextToken": "

The token returned to indicate that there is more data available.

", "SearchProfilesRequest$NextToken": "

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.

", @@ -667,6 +942,26 @@ "ResolveRoomResponse$RoomSkillParameters": "

Response to get the room profile request. Required.

" } }, + "SearchAddressBooksRequest": { + "base": null, + "refs": { + } + }, + "SearchAddressBooksResponse": { + "base": null, + "refs": { + } + }, + "SearchContactsRequest": { + "base": null, + "refs": { + } + }, + "SearchContactsResponse": { + "base": null, + "refs": { + } + }, "SearchDevicesRequest": { "base": null, "refs": { @@ -819,7 +1114,9 @@ "SortList": { "base": null, "refs": { - "SearchDevicesRequest$SortCriteria": "

The sort order to use in listing the specified set of devices. Supported sort keys are DeviceName, DeviceStatus, RoomName, DeviceType, and DeviceSerialNumber.

", + "SearchAddressBooksRequest$SortCriteria": "

The sort order to use in listing the specified set of address books. The supported sort key is AddressBookName.

", + "SearchContactsRequest$SortCriteria": "

The sort order to use in listing the specified set of contacts. The supported sort keys are DisplayName, FirstName, and LastName.

", + "SearchDevicesRequest$SortCriteria": "

The sort order to use in listing the specified set of devices. Supported sort keys are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber, and ConnectionStatus.

", "SearchProfilesRequest$SortCriteria": "

The sort order to use in listing the specified set of room profiles. Supported sort keys are ProfileName and Address.

", "SearchRoomsRequest$SortCriteria": "

The sort order to use in listing the specified set of rooms. The supported sort keys are RoomName and ProfileName.

", "SearchSkillGroupsRequest$SortCriteria": "

The sort order to use in listing the specified set of skill groups. The supported sort key is SkillGroupName.

", @@ -866,7 +1163,7 @@ "refs": { "CreateRoomRequest$Tags": "

The tags for the room.

", "CreateUserRequest$Tags": "

The tags for the user.

", - "ListTagsResponse$Tags": "

The list of tags requested for the specific resource.

", + "ListTagsResponse$Tags": "

The tags requested for the specified resource.

", "TagResourceRequest$Tags": "

The tags to be added to the specified resource. Do not provide system tags. Required.

" } }, @@ -895,6 +1192,12 @@ "UpdateProfileRequest$TemperatureUnit": "

The updated temperature unit for the room profile.

" } }, + "Timestamp": { + "base": null, + "refs": { + "DeviceEvent$Timestamp": "

The time (in epoch) when the event occurred.

" + } + }, "Timezone": { "base": null, "refs": { @@ -907,6 +1210,8 @@ "TotalCount": { "base": null, "refs": { + "SearchAddressBooksResponse$TotalCount": "

The total number of address books returned.

", + "SearchContactsResponse$TotalCount": "

The total number of contacts returned.

", "SearchDevicesResponse$TotalCount": "

The total number of devices returned.

", "SearchProfilesResponse$TotalCount": "

The total number of room profiles returned.

", "SearchRoomsResponse$TotalCount": "

The total number of rooms returned.

", @@ -924,6 +1229,26 @@ "refs": { } }, + "UpdateAddressBookRequest": { + "base": null, + "refs": { + } + }, + "UpdateAddressBookResponse": { + "base": null, + "refs": { + } + }, + "UpdateContactRequest": { + "base": null, + "refs": { + } + }, + "UpdateContactResponse": { + "base": null, + "refs": { + } + }, "UpdateDeviceRequest": { "base": null, "refs": { diff --git a/models/apis/alexaforbusiness/2017-11-09/paginators-1.json b/models/apis/alexaforbusiness/2017-11-09/paginators-1.json index 235854ec535..55d376b431d 100644 --- a/models/apis/alexaforbusiness/2017-11-09/paginators-1.json +++ b/models/apis/alexaforbusiness/2017-11-09/paginators-1.json @@ -1,5 +1,10 @@ { "pagination": { + "ListDeviceEvents": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListSkills": { "input_token": "NextToken", "output_token": "NextToken", @@ -10,6 +15,16 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "SearchAddressBooks": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "SearchContacts": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "SearchDevices": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/apigateway/2015-07-09/api-2.json b/models/apis/apigateway/2015-07-09/api-2.json index 26d2972b9d5..8614abe1ac3 100644 --- a/models/apis/apigateway/2015-07-09/api-2.json +++ b/models/apis/apigateway/2015-07-09/api-2.json @@ -1187,6 +1187,22 @@ {"shape":"TooManyRequestsException"} ] }, + "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"} + ] + }, "GetUsage":{ "name":"GetUsage", "http":{ @@ -1448,6 +1464,23 @@ {"shape":"ConflictException"} ] }, + "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"} + ] + }, "TestInvokeAuthorizer":{ "name":"TestInvokeAuthorizer", "http":{ @@ -1478,6 +1511,22 @@ {"shape":"TooManyRequestsException"} ] }, + "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"} + ] + }, "UpdateAccount":{ "name":"UpdateAccount", "http":{ @@ -1866,6 +1915,13 @@ "warnings":{"shape":"ListOfString"} } }, + "ApiKeySourceType":{ + "type":"string", + "enum":[ + "HEADER", + "AUTHORIZER" + ] + }, "ApiKeys":{ "type":"structure", "members":{ @@ -1885,7 +1941,8 @@ "type":"structure", "members":{ "apiId":{"shape":"String"}, - "stage":{"shape":"String"} + "stage":{"shape":"String"}, + "throttle":{"shape":"MapOfApiStageThrottleSettings"} } }, "Authorizer":{ @@ -2206,7 +2263,10 @@ "version":{"shape":"String"}, "cloneFrom":{"shape":"String"}, "binaryMediaTypes":{"shape":"ListOfString"}, - "endpointConfiguration":{"shape":"EndpointConfiguration"} + "minimumCompressionSize":{"shape":"NullableInteger"}, + "apiKeySource":{"shape":"ApiKeySourceType"}, + "endpointConfiguration":{"shape":"EndpointConfiguration"}, + "policy":{"shape":"String"} } }, "CreateStageRequest":{ @@ -2229,7 +2289,8 @@ "cacheClusterSize":{"shape":"CacheClusterSize"}, "variables":{"shape":"MapOfStringToString"}, "documentationVersion":{"shape":"String"}, - "canarySettings":{"shape":"CanarySettings"} + "canarySettings":{"shape":"CanarySettings"}, + "tags":{"shape":"MapOfStringToString"} } }, "CreateUsagePlanKeyRequest":{ @@ -2798,7 +2859,8 @@ "type":"string", "enum":[ "REGIONAL", - "EDGE" + "EDGE", + "PRIVATE" ] }, "ExportResponse":{ @@ -3691,6 +3753,27 @@ } } }, + "GetTagsRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "location":"uri", + "locationName":"resource_arn" + }, + "position":{ + "shape":"String", + "location":"querystring", + "locationName":"position" + }, + "limit":{ + "shape":"NullableInteger", + "location":"querystring", + "locationName":"limit" + } + } + }, "GetUsagePlanKeyRequest":{ "type":"structure", "required":[ @@ -4066,6 +4149,11 @@ ] }, "Long":{"type":"long"}, + "MapOfApiStageThrottleSettings":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"ThrottleSettings"} + }, "MapOfHeaderValues":{ "type":"map", "key":{"shape":"String"}, @@ -4128,7 +4216,8 @@ "requestParameters":{"shape":"MapOfStringToBoolean"}, "requestModels":{"shape":"MapOfStringToString"}, "methodResponses":{"shape":"MapOfMethodResponse"}, - "methodIntegration":{"shape":"Integration"} + "methodIntegration":{"shape":"Integration"}, + "authorizationScopes":{"shape":"ListOfString"} } }, "MethodResponse":{ @@ -4346,7 +4435,8 @@ "operationName":{"shape":"String"}, "requestParameters":{"shape":"MapOfStringToBoolean"}, "requestModels":{"shape":"MapOfStringToString"}, - "requestValidatorId":{"shape":"String"} + "requestValidatorId":{"shape":"String"}, + "authorizationScopes":{"shape":"ListOfString"} } }, "PutMethodResponseRequest":{ @@ -4484,7 +4574,10 @@ "version":{"shape":"String"}, "warnings":{"shape":"ListOfString"}, "binaryMediaTypes":{"shape":"ListOfString"}, - "endpointConfiguration":{"shape":"EndpointConfiguration"} + "minimumCompressionSize":{"shape":"NullableInteger"}, + "apiKeySource":{"shape":"ApiKeySourceType"}, + "endpointConfiguration":{"shape":"EndpointConfiguration"}, + "policy":{"shape":"String"} } }, "RestApis":{ @@ -4572,6 +4665,7 @@ "documentationVersion":{"shape":"String"}, "accessLogSettings":{"shape":"AccessLogSettings"}, "canarySettings":{"shape":"CanarySettings"}, + "tags":{"shape":"MapOfStringToString"}, "createdDate":{"shape":"Timestamp"}, "lastUpdatedDate":{"shape":"Timestamp"} } @@ -4594,6 +4688,27 @@ "pattern":"[1-5]\\d\\d" }, "String":{"type":"string"}, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "location":"uri", + "locationName":"resource_arn" + }, + "tags":{"shape":"MapOfStringToString"} + } + }, + "Tags":{ + "type":"structure", + "members":{ + "tags":{"shape":"MapOfStringToString"} + } + }, "Template":{ "type":"structure", "members":{ @@ -4713,6 +4828,25 @@ "error":{"httpStatusCode":401}, "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "location":"uri", + "locationName":"resource_arn" + }, + "tagKeys":{ + "shape":"ListOfString", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, "UpdateAccountRequest":{ "type":"structure", "members":{ diff --git a/models/apis/apigateway/2015-07-09/docs-2.json b/models/apis/apigateway/2015-07-09/docs-2.json index c537915b738..9d73e984091 100644 --- a/models/apis/apigateway/2015-07-09/docs-2.json +++ b/models/apis/apigateway/2015-07-09/docs-2.json @@ -79,6 +79,7 @@ "GetSdkTypes": null, "GetStage": "

Gets information about a Stage resource.

", "GetStages": "

Gets information about one or more Stage resources.

", + "GetTags": "

Gets the Tags collection for a given resource.

", "GetUsage": "

Gets the usage data of a usage plan in a specified time interval.

", "GetUsagePlan": "

Gets a usage plan of a given plan identifier.

", "GetUsagePlanKey": "

Gets a usage plan key of a given key identifier.

", @@ -95,8 +96,10 @@ "PutMethod": "

Add a method to an existing Resource resource.

", "PutMethodResponse": "

Adds a MethodResponse to an existing Method resource.

", "PutRestApi": "

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

Adds or updates a tag on a given resource.

", "TestInvokeAuthorizer": "

Simulate the execution of an Authorizer in your RestApi with headers, parameters, and an incoming request body.

Enable custom authorizers
", "TestInvokeMethod": "

Simulate the execution of a Method in your RestApi with headers, parameters, and an incoming request body.

", + "UntagResource": "

Removes a tag from a given resource.

", "UpdateAccount": "

Changes information about the current Account resource.

", "UpdateApiKey": "

Changes information about an ApiKey resource.

", "UpdateAuthorizer": "

Updates an existing Authorizer resource.

AWS CLI
", @@ -143,6 +146,13 @@ "refs": { } }, + "ApiKeySourceType": { + "base": null, + "refs": { + "CreateRestApiRequest$apiKeySource": "

The source of the API key for metering requests according to a usage plan. Valid values are:

", + "RestApi$apiKeySource": "

The source of the API key for metering requests according to a usage plan. Valid values are:

" + } + }, "ApiKeys": { "base": "

Represents a collection of API keys as represented by an ApiKeys resource.

Use API Keys
", "refs": { @@ -167,9 +177,9 @@ } }, "AuthorizerType": { - "base": "

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

", + "base": "

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.

", "refs": { - "Authorizer$type": "

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

", + "Authorizer$type": "

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.

", "CreateAuthorizerRequest$type": "

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

" } }, @@ -200,8 +210,8 @@ "ExportResponse$body": "

The binary blob response to GetExport, which contains the export.

", "ImportApiKeysRequest$body": "

The payload of the POST request to import API keys. For the payload format, see API Key File Format.

", "ImportDocumentationPartsRequest$body": "

[Required] Raw byte array representing the to-be-imported documentation parts. To import from a Swagger file, this is a JSON object.

", - "ImportRestApiRequest$body": "

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.

", - "PutRestApiRequest$body": "

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.

", + "ImportRestApiRequest$body": "

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

", + "PutRestApiRequest$body": "

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

", "SdkResponse$body": "

The binary blob response to GetSdk, which contains the generated SDK.

" } }, @@ -275,8 +285,8 @@ "ConnectionType": { "base": null, "refs": { - "Integration$connectionType": "

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 an network load balancer in a VPC. The default value is INTERNET.

", - "PutIntegrationRequest$connectionType": "

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 an network load balancer in a VPC. The default value is INTERNET.

" + "Integration$connectionType": "

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.

", + "PutIntegrationRequest$connectionType": "

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.

" } }, "ContentHandlingStrategy": { @@ -512,7 +522,7 @@ "DocumentationPartType": { "base": null, "refs": { - "DocumentationPartLocation$type": "

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

", + "DocumentationPartLocation$type": "

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

", "GetDocumentationPartsRequest$type": "

The type of API entities of the to-be-retrieved documentation parts.

" } }, @@ -562,7 +572,7 @@ } }, "EndpointType": { - "base": "

The endpoint type. The valid value is EDGE for edge-optimized API setup, most suitable for mobile applications, REGIONAL for regional API endpoint setup, most suitable for calling from AWS Region

", + "base": "

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.

", "refs": { "ListOfEndpointType$member": null } @@ -583,7 +593,7 @@ } }, "GatewayResponse": { - "base": "

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_AUTHNETICATION_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\" }

Customize Gateway Responses
", + "base": "

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\" }

Customize Gateway Responses
", "refs": { "ListOfGatewayResponse$member": null } @@ -591,11 +601,11 @@ "GatewayResponseType": { "base": null, "refs": { - "DeleteGatewayResponseRequest$responseType": "

The response type of the associated GatewayResponse. Valid values are

", - "GatewayResponse$responseType": "

The response type of the associated GatewayResponse. Valid values are

", - "GetGatewayResponseRequest$responseType": "

The response type of the associated GatewayResponse. Valid values are

", - "PutGatewayResponseRequest$responseType": "

The response type of the associated GatewayResponse. Valid values are

", - "UpdateGatewayResponseRequest$responseType": "

The response type of the associated GatewayResponse. Valid values are

" + "DeleteGatewayResponseRequest$responseType": "

[Required]

The response type of the associated GatewayResponse. Valid values are

", + "GatewayResponse$responseType": "

The response type of the associated GatewayResponse. Valid values are

", + "GetGatewayResponseRequest$responseType": "

[Required]

The response type of the associated GatewayResponse. Valid values are

", + "PutGatewayResponseRequest$responseType": "

[Required]

The response type of the associated GatewayResponse. Valid values are

", + "UpdateGatewayResponseRequest$responseType": "

[Required]

The response type of the associated GatewayResponse. Valid values are

" } }, "GatewayResponses": { @@ -798,6 +808,11 @@ "refs": { } }, + "GetTagsRequest": { + "base": "

Gets the Tags collection for a given resource.

", + "refs": { + } + }, "GetUsagePlanKeyRequest": { "base": "

The GET request to get a usage plan key of a given key identifier.

", "refs": { @@ -877,7 +892,7 @@ "base": "

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.

", "refs": { "Integration$type": "

Specifies an API method integration type. The valid value is one of the following:

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.

", - "PutIntegrationRequest$type": "

Specifies a put integration input's type.

" + "PutIntegrationRequest$type": "

[Required] Specifies a put integration input's type.

" } }, "LimitExceededException": { @@ -950,7 +965,7 @@ "ListOfEndpointType": { "base": null, "refs": { - "EndpointConfiguration$types": "

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.

" + "EndpointConfiguration$types": "

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.

" } }, "ListOfGatewayResponse": { @@ -1057,9 +1072,12 @@ "GetResourcesRequest$embed": "

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.

", "Integration$cacheKeyParameters": "

Specifies the integration's cache key parameters.

", "MapOfStringToList$value": null, + "Method$authorizationScopes": "

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.

", "PutIntegrationRequest$cacheKeyParameters": "

Specifies a put integration input's cache key parameters.

", + "PutMethodRequest$authorizationScopes": "

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.

", "RestApi$warnings": "

The warning messages reported when failonwarnings is turned on during API import.

", "RestApi$binaryMediaTypes": "

The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.

", + "UntagResourceRequest$tagKeys": "

[Required] The Tag keys to delete.

", "VpcLink$targetArns": "

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.

" } }, @@ -1101,6 +1119,12 @@ "TestInvokeMethodResponse$latency": "

The execution latency of the test invoke request.

" } }, + "MapOfApiStageThrottleSettings": { + "base": null, + "refs": { + "ApiStage$throttle": "

Map containing method level throttling information for API stage in a usage plan.

" + } + }, "MapOfHeaderValues": { "base": null, "refs": { @@ -1166,12 +1190,13 @@ "CanarySettings$stageVariableOverrides": "

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.

", "CreateDeploymentRequest$variables": "

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-._~:/?#&=,]+.

", "CreateStageRequest$variables": "

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-._~:/?#&=,]+.

", + "CreateStageRequest$tags": "

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.

", "DeploymentCanarySettings$stageVariableOverrides": "

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.

", "GatewayResponse$responseParameters": "

Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

", "GatewayResponse$responseTemplates": "

Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

", - "GetExportRequest$parameters": "

A key-value map of query string parameters that specify properties of the export, depending on the requested exportType. For exportType swagger, any combination of the following parameters are supported: integrations will export the API with x-amazon-apigateway-integration extensions. authorizers will export the API with x-amazon-apigateway-authorizer extensions. postman will export the API with Postman extensions, allowing for import to the Postman tool

", + "GetExportRequest$parameters": "

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

", "GetSdkRequest$parameters": "

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.

", - "ImportRestApiRequest$parameters": "

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 orendpointConfigurationTypes=REGIONAL. 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
", + "ImportRestApiRequest$parameters": "

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'
", "Integration$requestParameters": "

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.

", "Integration$requestTemplates": "

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.

", "IntegrationResponse$responseParameters": "

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.

", @@ -1186,8 +1211,11 @@ "PutIntegrationResponseRequest$responseTemplates": "

Specifies a put integration response's templates.

", "PutMethodRequest$requestModels": "

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.

", "PutMethodResponseRequest$responseModels": "

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.

", - "PutRestApiRequest$parameters": "

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.

", + "PutRestApiRequest$parameters": "

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

", "Stage$variables": "

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-._~:/?#&=,]+.

", + "Stage$tags": "

The collection of tags. Each tag element is associated with a given resource.

", + "TagResourceRequest$tags": "

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

", + "Tags$tags": "

The collection of tags. Each tag element is associated with a given resource.

", "TestInvokeAuthorizerRequest$stageVariables": "

A key-value map of stage variables to simulate an invocation on a deployed Stage.

", "TestInvokeAuthorizerRequest$additionalContext": "

[Optional] A key-value map of additional context variables.

", "TestInvokeAuthorizerResponse$claims": "

The open identity claims, with any supported custom attributes, returned from the Cognito Your User Pool configured for the API.

", @@ -1249,25 +1277,28 @@ "refs": { "Authorizer$authorizerResultTtlInSeconds": "

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.

", "CreateAuthorizerRequest$authorizerResultTtlInSeconds": "

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.

", - "GetApiKeysRequest$limit": "

The maximum number of returned results per page.

", - "GetAuthorizersRequest$limit": "

The maximum number of returned results per page.

", - "GetBasePathMappingsRequest$limit": "

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

", - "GetClientCertificatesRequest$limit": "

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

", - "GetDeploymentsRequest$limit": "

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

", - "GetDocumentationPartsRequest$limit": "

The maximum number of returned results per page.

", - "GetDocumentationVersionsRequest$limit": "

The maximum number of returned results per page.

", - "GetDomainNamesRequest$limit": "

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

", - "GetGatewayResponsesRequest$limit": "

The maximum number of returned results per page. The GatewayResponses collection does not support pagination and the limit does not apply here.

", - "GetModelsRequest$limit": "

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

", - "GetRequestValidatorsRequest$limit": "

The maximum number of returned results per page.

", - "GetResourcesRequest$limit": "

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

", - "GetRestApisRequest$limit": "

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

", - "GetSdkTypesRequest$limit": "

The maximum number of returned results per page.

", - "GetUsagePlanKeysRequest$limit": "

The maximum number of returned results per page.

", - "GetUsagePlansRequest$limit": "

The maximum number of returned results per page.

", - "GetUsageRequest$limit": "

The maximum number of returned results per page.

", - "GetVpcLinksRequest$limit": "

The maximum number of returned results per page.

", - "PutIntegrationRequest$timeoutInMillis": "

Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

" + "CreateRestApiRequest$minimumCompressionSize": "

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.

", + "GetApiKeysRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetAuthorizersRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetBasePathMappingsRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetClientCertificatesRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetDeploymentsRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetDocumentationPartsRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetDocumentationVersionsRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetDomainNamesRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetGatewayResponsesRequest$limit": "

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.

", + "GetModelsRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetRequestValidatorsRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetResourcesRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetRestApisRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetSdkTypesRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetTagsRequest$limit": "

(Not currently supported) The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetUsagePlanKeysRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetUsagePlansRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetUsageRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "GetVpcLinksRequest$limit": "

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", + "PutIntegrationRequest$timeoutInMillis": "

Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

", + "RestApi$minimumCompressionSize": "

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.

" } }, "Op": { @@ -1424,18 +1455,18 @@ "StatusCode": { "base": "

The status code.

", "refs": { - "DeleteIntegrationResponseRequest$statusCode": "

Specifies a delete integration response request's status code.

", - "DeleteMethodResponseRequest$statusCode": "

The status code identifier for the MethodResponse resource.

", + "DeleteIntegrationResponseRequest$statusCode": "

[Required] Specifies a delete integration response request's status code.

", + "DeleteMethodResponseRequest$statusCode": "

[Required] The status code identifier for the MethodResponse resource.

", "GatewayResponse$statusCode": "

The HTTP status code for this GatewayResponse.

", - "GetIntegrationResponseRequest$statusCode": "

Specifies a get integration response request's status code.

", - "GetMethodResponseRequest$statusCode": "

The status code for the MethodResponse resource.

", + "GetIntegrationResponseRequest$statusCode": "

[Required] Specifies a get integration response request's status code.

", + "GetMethodResponseRequest$statusCode": "

[Required] The status code for the MethodResponse resource.

", "IntegrationResponse$statusCode": "

Specifies the status code that is used to map the integration response to an existing MethodResponse.

", "MethodResponse$statusCode": "

The method response's status code.

", "PutGatewayResponseRequest$statusCode": "The HTTP status code of the GatewayResponse.", - "PutIntegrationResponseRequest$statusCode": "

Specifies the status code that is used to map the integration response to an existing MethodResponse.

", - "PutMethodResponseRequest$statusCode": "

The method response's status code.

", - "UpdateIntegrationResponseRequest$statusCode": "

Specifies an update integration response request's status code.

", - "UpdateMethodResponseRequest$statusCode": "

The status code for the MethodResponse resource.

" + "PutIntegrationResponseRequest$statusCode": "

[Required] Specifies the status code that is used to map the integration response to an existing MethodResponse.

", + "PutMethodResponseRequest$statusCode": "

[Required] The method response's status code.

", + "UpdateIntegrationResponseRequest$statusCode": "

[Required] Specifies an update integration response request's status code.

", + "UpdateMethodResponseRequest$statusCode": "

[Required] The status code for the MethodResponse resource.

" } }, "String": { @@ -1458,8 +1489,8 @@ "Authorizer$authType": "

Optional customer-defined field, used in Swagger imports and exports without functional impact.

", "Authorizer$authorizerUri": "

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.

", "Authorizer$authorizerCredentials": "

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.

", - "Authorizer$identitySource": "

The identity source for which authorization is requested.

", - "Authorizer$identityValidationExpression": "

A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. API Gateway will match the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function 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.

", + "Authorizer$identitySource": "

The identity source for which authorization is requested.

", + "Authorizer$identityValidationExpression": "

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.

", "Authorizers$position": null, "BadRequestException$message": null, "BasePathMapping$basePath": "

The base path name that callers of the API must provide as part of the URL after the domain name.

", @@ -1476,18 +1507,18 @@ "CreateApiKeyRequest$description": "

The description of the ApiKey.

", "CreateApiKeyRequest$value": "

Specifies a value of the API key.

", "CreateApiKeyRequest$customerId": "

An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.

", - "CreateAuthorizerRequest$restApiId": "

The string identifier of the associated RestApi.

", + "CreateAuthorizerRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "CreateAuthorizerRequest$name": "

[Required] The name of the authorizer.

", "CreateAuthorizerRequest$authType": "

Optional customer-defined field, used in Swagger imports and exports without functional impact.

", "CreateAuthorizerRequest$authorizerUri": "

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.

", "CreateAuthorizerRequest$authorizerCredentials": "

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.

", - "CreateAuthorizerRequest$identitySource": "

The identity source for which authorization is requested.

", - "CreateAuthorizerRequest$identityValidationExpression": "

A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. API Gateway will match the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function 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.

", - "CreateBasePathMappingRequest$domainName": "

The domain name of the BasePathMapping resource to create.

", + "CreateAuthorizerRequest$identitySource": "

The identity source for which authorization is requested.

", + "CreateAuthorizerRequest$identityValidationExpression": "

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.

", + "CreateBasePathMappingRequest$domainName": "

[Required] The domain name of the BasePathMapping resource to create.

", "CreateBasePathMappingRequest$basePath": "

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.

", - "CreateBasePathMappingRequest$restApiId": "

The string identifier of the associated RestApi.

", + "CreateBasePathMappingRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "CreateBasePathMappingRequest$stage": "

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.

", - "CreateDeploymentRequest$restApiId": "

The string identifier of the associated RestApi.

", + "CreateDeploymentRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "CreateDeploymentRequest$stageName": "

The name of the Stage resource for the Deployment resource to create.

", "CreateDeploymentRequest$stageDescription": "

The description of the Stage resource for the Deployment resource to create.

", "CreateDeploymentRequest$description": "

The description for the Deployment resource to create.

", @@ -1497,7 +1528,7 @@ "CreateDocumentationVersionRequest$documentationVersion": "

[Required] The version identifier of the new snapshot.

", "CreateDocumentationVersionRequest$stageName": "

The stage name to be associated with the new documentation snapshot.

", "CreateDocumentationVersionRequest$description": "

A description about the new documentation snapshot.

", - "CreateDomainNameRequest$domainName": "

(Required) The name of the DomainName resource.

", + "CreateDomainNameRequest$domainName": "

[Required] The name of the DomainName resource.

", "CreateDomainNameRequest$certificateName": "

The user-friendly name of the certificate that will be used by edge-optimized endpoint for this domain name.

", "CreateDomainNameRequest$certificateBody": "

[Deprecated] The body of the server certificate that will be used by edge-optimized endpoint for this domain name provided by your certificate authority.

", "CreateDomainNameRequest$certificatePrivateKey": "

[Deprecated] Your edge-optimized endpoint's domain name certificate's private key.

", @@ -1505,70 +1536,71 @@ "CreateDomainNameRequest$certificateArn": "

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.

", "CreateDomainNameRequest$regionalCertificateName": "

The user-friendly name of the certificate that will be used by regional endpoint for this domain name.

", "CreateDomainNameRequest$regionalCertificateArn": "

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.

", - "CreateModelRequest$restApiId": "

The RestApi identifier under which the Model will be created.

", - "CreateModelRequest$name": "

The name of the model. Must be alphanumeric.

", + "CreateModelRequest$restApiId": "

[Required] The RestApi identifier under which the Model will be created.

", + "CreateModelRequest$name": "

[Required] The name of the model. Must be alphanumeric.

", "CreateModelRequest$description": "

The description of the model.

", - "CreateModelRequest$schema": "

The schema for the model. For application/json models, this should be JSON-schema draft v4 model.

", - "CreateModelRequest$contentType": "

The content-type for the model.

", - "CreateRequestValidatorRequest$restApiId": "

The string identifier of the associated RestApi.

", + "CreateModelRequest$schema": "

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

", + "CreateModelRequest$contentType": "

[Required] The content-type for the model.

", + "CreateRequestValidatorRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "CreateRequestValidatorRequest$name": "

The name of the to-be-created RequestValidator.

", - "CreateResourceRequest$restApiId": "

The string identifier of the associated RestApi.

", - "CreateResourceRequest$parentId": "

The parent resource's identifier.

", + "CreateResourceRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "CreateResourceRequest$parentId": "

[Required] The parent resource's identifier.

", "CreateResourceRequest$pathPart": "

The last path segment for this resource.

", - "CreateRestApiRequest$name": "

The name of the RestApi.

", + "CreateRestApiRequest$name": "

[Required] The name of the RestApi.

", "CreateRestApiRequest$description": "

The description of the RestApi.

", "CreateRestApiRequest$version": "

A version identifier for the API.

", "CreateRestApiRequest$cloneFrom": "

The ID of the RestApi that you want to clone from.

", - "CreateStageRequest$restApiId": "

The string identifier of the associated RestApi.

", + "CreateRestApiRequest$policy": "A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration.", + "CreateStageRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "CreateStageRequest$stageName": "

[Required] The name for the Stage resource.

", "CreateStageRequest$deploymentId": "

[Required] The identifier of the Deployment resource for the Stage resource.

", "CreateStageRequest$description": "

The description of the Stage resource.

", "CreateStageRequest$documentationVersion": "

The version of the associated API documentation.

", - "CreateUsagePlanKeyRequest$usagePlanId": "

The Id of the UsagePlan resource representing the usage plan containing the to-be-created UsagePlanKey resource representing a plan customer.

", - "CreateUsagePlanKeyRequest$keyId": "

The identifier of a UsagePlanKey resource for a plan customer.

", - "CreateUsagePlanKeyRequest$keyType": "

The type of a UsagePlanKey resource for a plan customer.

", - "CreateUsagePlanRequest$name": "

The name of the usage plan.

", + "CreateUsagePlanKeyRequest$usagePlanId": "

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-created UsagePlanKey resource representing a plan customer.

", + "CreateUsagePlanKeyRequest$keyId": "

[Required] The identifier of a UsagePlanKey resource for a plan customer.

", + "CreateUsagePlanKeyRequest$keyType": "

[Required] The type of a UsagePlanKey resource for a plan customer.

", + "CreateUsagePlanRequest$name": "

[Required] The name of the usage plan.

", "CreateUsagePlanRequest$description": "

The description of the usage plan.

", "CreateVpcLinkRequest$name": "

[Required] The name used to label and identify the VPC link.

", "CreateVpcLinkRequest$description": "

The description of the VPC link.

", - "DeleteApiKeyRequest$apiKey": "

The identifier of the ApiKey resource to be deleted.

", - "DeleteAuthorizerRequest$restApiId": "

The string identifier of the associated RestApi.

", - "DeleteAuthorizerRequest$authorizerId": "

The identifier of the Authorizer resource.

", - "DeleteBasePathMappingRequest$domainName": "

The domain name of the BasePathMapping resource to delete.

", - "DeleteBasePathMappingRequest$basePath": "

The base path name of the BasePathMapping resource to delete.

", - "DeleteClientCertificateRequest$clientCertificateId": "

The identifier of the ClientCertificate resource to be deleted.

", - "DeleteDeploymentRequest$restApiId": "

The string identifier of the associated RestApi.

", - "DeleteDeploymentRequest$deploymentId": "

The identifier of the Deployment resource to delete.

", + "DeleteApiKeyRequest$apiKey": "

[Required] The identifier of the ApiKey resource to be deleted.

", + "DeleteAuthorizerRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "DeleteAuthorizerRequest$authorizerId": "

[Required] The identifier of the Authorizer resource.

", + "DeleteBasePathMappingRequest$domainName": "

[Required] The domain name of the BasePathMapping resource to delete.

", + "DeleteBasePathMappingRequest$basePath": "

[Required] The base path name of the BasePathMapping resource to delete.

", + "DeleteClientCertificateRequest$clientCertificateId": "

[Required] The identifier of the ClientCertificate resource to be deleted.

", + "DeleteDeploymentRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "DeleteDeploymentRequest$deploymentId": "

[Required] The identifier of the Deployment resource to delete.

", "DeleteDocumentationPartRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "DeleteDocumentationPartRequest$documentationPartId": "

[Required] The identifier of the to-be-deleted documentation part.

", "DeleteDocumentationVersionRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "DeleteDocumentationVersionRequest$documentationVersion": "

[Required] The version identifier of a to-be-deleted documentation snapshot.

", - "DeleteDomainNameRequest$domainName": "

The name of the DomainName resource to be deleted.

", - "DeleteGatewayResponseRequest$restApiId": "

The string identifier of the associated RestApi.

", - "DeleteIntegrationRequest$restApiId": "

The string identifier of the associated RestApi.

", - "DeleteIntegrationRequest$resourceId": "

Specifies a delete integration request's resource identifier.

", - "DeleteIntegrationRequest$httpMethod": "

Specifies a delete integration request's HTTP method.

", - "DeleteIntegrationResponseRequest$restApiId": "

The string identifier of the associated RestApi.

", - "DeleteIntegrationResponseRequest$resourceId": "

Specifies a delete integration response request's resource identifier.

", - "DeleteIntegrationResponseRequest$httpMethod": "

Specifies a delete integration response request's HTTP method.

", - "DeleteMethodRequest$restApiId": "

The string identifier of the associated RestApi.

", - "DeleteMethodRequest$resourceId": "

The Resource identifier for the Method resource.

", - "DeleteMethodRequest$httpMethod": "

The HTTP verb of the Method resource.

", - "DeleteMethodResponseRequest$restApiId": "

The string identifier of the associated RestApi.

", - "DeleteMethodResponseRequest$resourceId": "

The Resource identifier for the MethodResponse resource.

", - "DeleteMethodResponseRequest$httpMethod": "

The HTTP verb of the Method resource.

", - "DeleteModelRequest$restApiId": "

The string identifier of the associated RestApi.

", - "DeleteModelRequest$modelName": "

The name of the model to delete.

", - "DeleteRequestValidatorRequest$restApiId": "

The string identifier of the associated RestApi.

", + "DeleteDomainNameRequest$domainName": "

[Required] The name of the DomainName resource to be deleted.

", + "DeleteGatewayResponseRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "DeleteIntegrationRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "DeleteIntegrationRequest$resourceId": "

[Required] Specifies a delete integration request's resource identifier.

", + "DeleteIntegrationRequest$httpMethod": "

[Required] Specifies a delete integration request's HTTP method.

", + "DeleteIntegrationResponseRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "DeleteIntegrationResponseRequest$resourceId": "

[Required] Specifies a delete integration response request's resource identifier.

", + "DeleteIntegrationResponseRequest$httpMethod": "

[Required] Specifies a delete integration response request's HTTP method.

", + "DeleteMethodRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "DeleteMethodRequest$resourceId": "

[Required] The Resource identifier for the Method resource.

", + "DeleteMethodRequest$httpMethod": "

[Required] The HTTP verb of the Method resource.

", + "DeleteMethodResponseRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "DeleteMethodResponseRequest$resourceId": "

[Required] The Resource identifier for the MethodResponse resource.

", + "DeleteMethodResponseRequest$httpMethod": "

[Required] The HTTP verb of the Method resource.

", + "DeleteModelRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "DeleteModelRequest$modelName": "

[Required] The name of the model to delete.

", + "DeleteRequestValidatorRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "DeleteRequestValidatorRequest$requestValidatorId": "

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

", - "DeleteResourceRequest$restApiId": "

The string identifier of the associated RestApi.

", - "DeleteResourceRequest$resourceId": "

The identifier of the Resource resource.

", - "DeleteRestApiRequest$restApiId": "

The string identifier of the associated RestApi.

", - "DeleteStageRequest$restApiId": "

The string identifier of the associated RestApi.

", - "DeleteStageRequest$stageName": "

The name of the Stage resource to delete.

", - "DeleteUsagePlanKeyRequest$usagePlanId": "

The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer.

", - "DeleteUsagePlanKeyRequest$keyId": "

The Id of the UsagePlanKey resource to be deleted.

", - "DeleteUsagePlanRequest$usagePlanId": "

The Id of the to-be-deleted usage plan.

", + "DeleteResourceRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "DeleteResourceRequest$resourceId": "

[Required] The identifier of the Resource resource.

", + "DeleteRestApiRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "DeleteStageRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "DeleteStageRequest$stageName": "

[Required] The name of the Stage resource to delete.

", + "DeleteUsagePlanKeyRequest$usagePlanId": "

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer.

", + "DeleteUsagePlanKeyRequest$keyId": "

[Required] The Id of the UsagePlanKey resource to be deleted.

", + "DeleteUsagePlanRequest$usagePlanId": "

[Required] The Id of the to-be-deleted usage plan.

", "DeleteVpcLinkRequest$vpcLinkId": "

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

", "Deployment$id": "

The identifier for the deployment resource.

", "Deployment$description": "

The description for the deployment resource.

", @@ -1582,7 +1614,7 @@ "DocumentationVersion$version": "

The version identifier of the API documentation snapshot.

", "DocumentationVersion$description": "

The description of the API documentation snapshot.

", "DocumentationVersions$position": null, - "DomainName$domainName": "

The name of the DomainName resource.

", + "DomainName$domainName": "

The custom domain name as an API host name, for example, my-api.example.com.

", "DomainName$certificateName": "

The name of the certificate that will be used by edge-optimized endpoint for this domain name.

", "DomainName$certificateArn": "

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.

", "DomainName$regionalDomainName": "

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.

", @@ -1596,27 +1628,27 @@ "ExportResponse$contentDisposition": "

The content-disposition header value in the HTTP response.

", "FlushStageAuthorizersCacheRequest$restApiId": "

The string identifier of the associated RestApi.

", "FlushStageAuthorizersCacheRequest$stageName": "

The name of the stage to flush.

", - "FlushStageCacheRequest$restApiId": "

The string identifier of the associated RestApi.

", - "FlushStageCacheRequest$stageName": "

The name of the stage to flush its cache.

", + "FlushStageCacheRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "FlushStageCacheRequest$stageName": "

[Required] The name of the stage to flush its cache.

", "GatewayResponses$position": null, "GenerateClientCertificateRequest$description": "

The description of the ClientCertificate.

", - "GetApiKeyRequest$apiKey": "

The identifier of the ApiKey resource.

", + "GetApiKeyRequest$apiKey": "

[Required] The identifier of the ApiKey resource.

", "GetApiKeysRequest$position": "

The current pagination position in the paged result set.

", "GetApiKeysRequest$nameQuery": "

The name of queried API keys.

", "GetApiKeysRequest$customerId": "

The identifier of a customer in AWS Marketplace or an external system, such as a developer portal.

", - "GetAuthorizerRequest$restApiId": "

The string identifier of the associated RestApi.

", - "GetAuthorizerRequest$authorizerId": "

The identifier of the Authorizer resource.

", - "GetAuthorizersRequest$restApiId": "

The string identifier of the associated RestApi.

", + "GetAuthorizerRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "GetAuthorizerRequest$authorizerId": "

[Required] The identifier of the Authorizer resource.

", + "GetAuthorizersRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "GetAuthorizersRequest$position": "

The current pagination position in the paged result set.

", - "GetBasePathMappingRequest$domainName": "

The domain name of the BasePathMapping resource to be described.

", - "GetBasePathMappingRequest$basePath": "

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.

", - "GetBasePathMappingsRequest$domainName": "

The domain name of a BasePathMapping resource.

", + "GetBasePathMappingRequest$domainName": "

[Required] The domain name of the BasePathMapping resource to be described.

", + "GetBasePathMappingRequest$basePath": "

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

", + "GetBasePathMappingsRequest$domainName": "

[Required] The domain name of a BasePathMapping resource.

", "GetBasePathMappingsRequest$position": "

The current pagination position in the paged result set.

", - "GetClientCertificateRequest$clientCertificateId": "

The identifier of the ClientCertificate resource to be described.

", + "GetClientCertificateRequest$clientCertificateId": "

[Required] The identifier of the ClientCertificate resource to be described.

", "GetClientCertificatesRequest$position": "

The current pagination position in the paged result set.

", - "GetDeploymentRequest$restApiId": "

The string identifier of the associated RestApi.

", - "GetDeploymentRequest$deploymentId": "

The identifier of the Deployment resource to get information about.

", - "GetDeploymentsRequest$restApiId": "

The string identifier of the associated RestApi.

", + "GetDeploymentRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "GetDeploymentRequest$deploymentId": "

[Required] The identifier of the Deployment resource to get information about.

", + "GetDeploymentsRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "GetDeploymentsRequest$position": "

The current pagination position in the paged result set.

", "GetDocumentationPartRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "GetDocumentationPartRequest$documentationPartId": "

[Required] The string identifier of the associated RestApi.

", @@ -1628,64 +1660,66 @@ "GetDocumentationVersionRequest$documentationVersion": "

[Required] The version identifier of the to-be-retrieved documentation snapshot.

", "GetDocumentationVersionsRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "GetDocumentationVersionsRequest$position": "

The current pagination position in the paged result set.

", - "GetDomainNameRequest$domainName": "

The name of the DomainName resource.

", + "GetDomainNameRequest$domainName": "

[Required] The name of the DomainName resource.

", "GetDomainNamesRequest$position": "

The current pagination position in the paged result set.

", - "GetExportRequest$restApiId": "

The string identifier of the associated RestApi.

", - "GetExportRequest$stageName": "

The name of the Stage that will be exported.

", - "GetExportRequest$exportType": "

The type of export. Currently only 'swagger' is supported.

", + "GetExportRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "GetExportRequest$stageName": "

[Required] The name of the Stage that will be exported.

", + "GetExportRequest$exportType": "

[Required] The type of export. Currently only 'swagger' is supported.

", "GetExportRequest$accepts": "

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.

", - "GetGatewayResponseRequest$restApiId": "

The string identifier of the associated RestApi.

", - "GetGatewayResponsesRequest$restApiId": "

The string identifier of the associated RestApi.

", + "GetGatewayResponseRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "GetGatewayResponsesRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "GetGatewayResponsesRequest$position": "

The current pagination position in the paged result set. The GatewayResponse collection does not support pagination and the position does not apply here.

", - "GetIntegrationRequest$restApiId": "

The string identifier of the associated RestApi.

", - "GetIntegrationRequest$resourceId": "

Specifies a get integration request's resource identifier

", - "GetIntegrationRequest$httpMethod": "

Specifies a get integration request's HTTP method.

", - "GetIntegrationResponseRequest$restApiId": "

The string identifier of the associated RestApi.

", - "GetIntegrationResponseRequest$resourceId": "

Specifies a get integration response request's resource identifier.

", - "GetIntegrationResponseRequest$httpMethod": "

Specifies a get integration response request's HTTP method.

", - "GetMethodRequest$restApiId": "

The string identifier of the associated RestApi.

", - "GetMethodRequest$resourceId": "

The Resource identifier for the Method resource.

", - "GetMethodRequest$httpMethod": "

Specifies the method request's HTTP method type.

", - "GetMethodResponseRequest$restApiId": "

The string identifier of the associated RestApi.

", - "GetMethodResponseRequest$resourceId": "

The Resource identifier for the MethodResponse resource.

", - "GetMethodResponseRequest$httpMethod": "

The HTTP verb of the Method resource.

", - "GetModelRequest$restApiId": "

The RestApi identifier under which the Model exists.

", - "GetModelRequest$modelName": "

The name of the model as an identifier.

", - "GetModelTemplateRequest$restApiId": "

The string identifier of the associated RestApi.

", - "GetModelTemplateRequest$modelName": "

The name of the model for which to generate a template.

", - "GetModelsRequest$restApiId": "

The string identifier of the associated RestApi.

", + "GetIntegrationRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "GetIntegrationRequest$resourceId": "

[Required] Specifies a get integration request's resource identifier

", + "GetIntegrationRequest$httpMethod": "

[Required] Specifies a get integration request's HTTP method.

", + "GetIntegrationResponseRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "GetIntegrationResponseRequest$resourceId": "

[Required] Specifies a get integration response request's resource identifier.

", + "GetIntegrationResponseRequest$httpMethod": "

[Required] Specifies a get integration response request's HTTP method.

", + "GetMethodRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "GetMethodRequest$resourceId": "

[Required] The Resource identifier for the Method resource.

", + "GetMethodRequest$httpMethod": "

[Required] Specifies the method request's HTTP method type.

", + "GetMethodResponseRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "GetMethodResponseRequest$resourceId": "

[Required] The Resource identifier for the MethodResponse resource.

", + "GetMethodResponseRequest$httpMethod": "

[Required] The HTTP verb of the Method resource.

", + "GetModelRequest$restApiId": "

[Required] The RestApi identifier under which the Model exists.

", + "GetModelRequest$modelName": "

[Required] The name of the model as an identifier.

", + "GetModelTemplateRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "GetModelTemplateRequest$modelName": "

[Required] The name of the model for which to generate a template.

", + "GetModelsRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "GetModelsRequest$position": "

The current pagination position in the paged result set.

", - "GetRequestValidatorRequest$restApiId": "

The string identifier of the associated RestApi.

", + "GetRequestValidatorRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "GetRequestValidatorRequest$requestValidatorId": "

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

", - "GetRequestValidatorsRequest$restApiId": "

The string identifier of the associated RestApi.

", + "GetRequestValidatorsRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "GetRequestValidatorsRequest$position": "

The current pagination position in the paged result set.

", - "GetResourceRequest$restApiId": "

The string identifier of the associated RestApi.

", - "GetResourceRequest$resourceId": "

The identifier for the Resource resource.

", - "GetResourcesRequest$restApiId": "

The string identifier of the associated RestApi.

", + "GetResourceRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "GetResourceRequest$resourceId": "

[Required] The identifier for the Resource resource.

", + "GetResourcesRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "GetResourcesRequest$position": "

The current pagination position in the paged result set.

", - "GetRestApiRequest$restApiId": "

The identifier of the RestApi resource.

", + "GetRestApiRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "GetRestApisRequest$position": "

The current pagination position in the paged result set.

", - "GetSdkRequest$restApiId": "

The string identifier of the associated RestApi.

", - "GetSdkRequest$stageName": "

The name of the Stage that the SDK will use.

", - "GetSdkRequest$sdkType": "

The language for the generated SDK. Currently java, javascript, android, objectivec (for iOS), swift (for iOS), and ruby are supported.

", - "GetSdkTypeRequest$id": "

The identifier of the queried SdkType instance.

", + "GetSdkRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "GetSdkRequest$stageName": "

[Required] The name of the Stage that the SDK will use.

", + "GetSdkRequest$sdkType": "

[Required] The language for the generated SDK. Currently java, javascript, android, objectivec (for iOS), swift (for iOS), and ruby are supported.

", + "GetSdkTypeRequest$id": "

[Required] The identifier of the queried SdkType instance.

", "GetSdkTypesRequest$position": "

The current pagination position in the paged result set.

", - "GetStageRequest$restApiId": "

The string identifier of the associated RestApi.

", - "GetStageRequest$stageName": "

The name of the Stage resource to get information about.

", - "GetStagesRequest$restApiId": "

The string identifier of the associated RestApi.

", + "GetStageRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "GetStageRequest$stageName": "

[Required] The name of the Stage resource to get information about.

", + "GetStagesRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "GetStagesRequest$deploymentId": "

The stages' deployment identifiers.

", - "GetUsagePlanKeyRequest$usagePlanId": "

The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

", - "GetUsagePlanKeyRequest$keyId": "

The key Id of the to-be-retrieved UsagePlanKey resource representing a plan customer.

", - "GetUsagePlanKeysRequest$usagePlanId": "

The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

", + "GetTagsRequest$resourceArn": "

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

", + "GetTagsRequest$position": "

(Not currently supported) The current pagination position in the paged result set.

", + "GetUsagePlanKeyRequest$usagePlanId": "

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

", + "GetUsagePlanKeyRequest$keyId": "

[Required] The key Id of the to-be-retrieved UsagePlanKey resource representing a plan customer.

", + "GetUsagePlanKeysRequest$usagePlanId": "

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

", "GetUsagePlanKeysRequest$position": "

The current pagination position in the paged result set.

", "GetUsagePlanKeysRequest$nameQuery": "

A query parameter specifying the name of the to-be-returned usage plan keys.

", - "GetUsagePlanRequest$usagePlanId": "

The identifier of the UsagePlan resource to be retrieved.

", + "GetUsagePlanRequest$usagePlanId": "

[Required] The identifier of the UsagePlan resource to be retrieved.

", "GetUsagePlansRequest$position": "

The current pagination position in the paged result set.

", "GetUsagePlansRequest$keyId": "

The identifier of the API key associated with the usage plans.

", - "GetUsageRequest$usagePlanId": "

The Id of the usage plan associated with the usage data.

", + "GetUsageRequest$usagePlanId": "

[Required] The Id of the usage plan associated with the usage data.

", "GetUsageRequest$keyId": "

The Id of the API key associated with the resultant usage data.

", - "GetUsageRequest$startDate": "

The starting date (e.g., 2016-01-01) of the usage data.

", - "GetUsageRequest$endDate": "

The ending date (e.g., 2016-12-31) of the usage data.

", + "GetUsageRequest$startDate": "

[Required] The starting date (e.g., 2016-01-01) of the usage data.

", + "GetUsageRequest$endDate": "

[Required] The ending date (e.g., 2016-12-31) of the usage data.

", "GetUsageRequest$position": "

The current pagination position in the paged result set.

", "GetVpcLinkRequest$vpcLinkId": "

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

", "GetVpcLinksRequest$position": "

The current pagination position in the paged result set.

", @@ -1700,6 +1734,7 @@ "LimitExceededException$retryAfterSeconds": null, "LimitExceededException$message": null, "ListOfString$member": null, + "MapOfApiStageThrottleSettings$key": null, "MapOfHeaderValues$key": null, "MapOfHeaderValues$value": null, "MapOfIntegrationResponse$key": null, @@ -1722,7 +1757,7 @@ "Model$id": "

The identifier for the model resource.

", "Model$name": "

The name of the model. Must be an alphanumeric string.

", "Model$description": "

The description of the model.

", - "Model$schema": "

The schema for the model. For application/json models, this should be JSON-schema draft v4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.

", + "Model$schema": "

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.

", "Model$contentType": "

The content-type for the model.

", "Models$position": null, "NotFoundException$message": null, @@ -1730,31 +1765,31 @@ "PatchOperation$value": "

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.

", "PatchOperation$from": "

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\".

", "PathToMapOfMethodSnapshot$key": null, - "PutGatewayResponseRequest$restApiId": "

The string identifier of the associated RestApi.

", - "PutIntegrationRequest$restApiId": "

The string identifier of the associated RestApi.

", - "PutIntegrationRequest$resourceId": "

Specifies a put integration request's resource ID.

", - "PutIntegrationRequest$httpMethod": "

Specifies a put integration request's HTTP method.

", + "PutGatewayResponseRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "PutIntegrationRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "PutIntegrationRequest$resourceId": "

[Required] Specifies a put integration request's resource ID.

", + "PutIntegrationRequest$httpMethod": "

[Required] Specifies a put integration request's HTTP method.

", "PutIntegrationRequest$integrationHttpMethod": "

Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is required.

", "PutIntegrationRequest$uri": "

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

", "PutIntegrationRequest$connectionId": "

The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.

", "PutIntegrationRequest$credentials": "

Specifies whether credentials are required for a put integration.

", "PutIntegrationRequest$passthroughBehavior": "

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.

", "PutIntegrationRequest$cacheNamespace": "

Specifies a put integration input's cache namespace.

", - "PutIntegrationResponseRequest$restApiId": "

The string identifier of the associated RestApi.

", - "PutIntegrationResponseRequest$resourceId": "

Specifies a put integration response request's resource identifier.

", - "PutIntegrationResponseRequest$httpMethod": "

Specifies a put integration response request's HTTP method.

", + "PutIntegrationResponseRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "PutIntegrationResponseRequest$resourceId": "

[Required] Specifies a put integration response request's resource identifier.

", + "PutIntegrationResponseRequest$httpMethod": "

[Required] Specifies a put integration response request's HTTP method.

", "PutIntegrationResponseRequest$selectionPattern": "

Specifies the selection pattern of a put integration response.

", - "PutMethodRequest$restApiId": "

The string identifier of the associated RestApi.

", - "PutMethodRequest$resourceId": "

The Resource identifier for the new Method resource.

", - "PutMethodRequest$httpMethod": "

Specifies the method request's HTTP method type.

", - "PutMethodRequest$authorizationType": "

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.

", - "PutMethodRequest$authorizerId": "

Specifies the identifier of an Authorizer to use on this Method, if the type is CUSTOM.

", + "PutMethodRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "PutMethodRequest$resourceId": "

[Required] The Resource identifier for the new Method resource.

", + "PutMethodRequest$httpMethod": "

[Required] Specifies the method request's HTTP method type.

", + "PutMethodRequest$authorizationType": "

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

", + "PutMethodRequest$authorizerId": "

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.

", "PutMethodRequest$operationName": "

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.

", "PutMethodRequest$requestValidatorId": "

The identifier of a RequestValidator for validating the method request.

", - "PutMethodResponseRequest$restApiId": "

The string identifier of the associated RestApi.

", - "PutMethodResponseRequest$resourceId": "

The Resource identifier for the Method resource.

", - "PutMethodResponseRequest$httpMethod": "

The HTTP verb of the Method resource.

", - "PutRestApiRequest$restApiId": "

The string identifier of the associated RestApi.

", + "PutMethodResponseRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "PutMethodResponseRequest$resourceId": "

[Required] The Resource identifier for the Method resource.

", + "PutMethodResponseRequest$httpMethod": "

[Required] The HTTP verb of the Method resource.

", + "PutRestApiRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "RequestValidator$id": "

The identifier of this RequestValidator.

", "RequestValidator$name": "

The name of this RequestValidator

", "RequestValidators$position": null, @@ -1767,6 +1802,7 @@ "RestApi$name": "

The API's name.

", "RestApi$description": "

The API's description.

", "RestApi$version": "

A version identifier for the API.

", + "RestApi$policy": "A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration.", "RestApis$position": null, "SdkConfigurationProperty$name": "

The name of a an SdkType configuration property.

", "SdkConfigurationProperty$friendlyName": "

The user-friendly name of an SdkType configuration property.

", @@ -1787,17 +1823,18 @@ "Stage$documentationVersion": "

The version of the associated API documentation.

", "StageKey$restApiId": "

The string identifier of the associated RestApi.

", "StageKey$stageName": "

The stage name associated with the stage key.

", + "TagResourceRequest$resourceArn": "

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

", "Template$value": "

The Apache Velocity Template Language (VTL) template content used for the template resource.

", - "TestInvokeAuthorizerRequest$restApiId": "

The string identifier of the associated RestApi.

", - "TestInvokeAuthorizerRequest$authorizerId": "

Specifies a test invoke authorizer request's Authorizer ID.

", + "TestInvokeAuthorizerRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "TestInvokeAuthorizerRequest$authorizerId": "

[Required] Specifies a test invoke authorizer request's Authorizer ID.

", "TestInvokeAuthorizerRequest$pathWithQueryString": "

[Optional] The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.

", "TestInvokeAuthorizerRequest$body": "

[Optional] The simulated request body of an incoming invocation request.

", "TestInvokeAuthorizerResponse$log": "

The API Gateway execution log for the test authorizer request.

", "TestInvokeAuthorizerResponse$principalId": "

The principal identity returned by the Authorizer

", "TestInvokeAuthorizerResponse$policy": "

The JSON policy document returned by the Authorizer

", - "TestInvokeMethodRequest$restApiId": "

The string identifier of the associated RestApi.

", - "TestInvokeMethodRequest$resourceId": "

Specifies a test invoke method request's resource ID.

", - "TestInvokeMethodRequest$httpMethod": "

Specifies a test invoke method request's HTTP method.

", + "TestInvokeMethodRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "TestInvokeMethodRequest$resourceId": "

[Required] Specifies a test invoke method request's resource ID.

", + "TestInvokeMethodRequest$httpMethod": "

[Required] Specifies a test invoke method request's HTTP method.

", "TestInvokeMethodRequest$pathWithQueryString": "

The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.

", "TestInvokeMethodRequest$body": "

The simulated request body of an incoming invocation request.

", "TestInvokeMethodRequest$clientCertificateId": "

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.

", @@ -1806,44 +1843,45 @@ "TooManyRequestsException$retryAfterSeconds": null, "TooManyRequestsException$message": null, "UnauthorizedException$message": null, - "UpdateApiKeyRequest$apiKey": "

The identifier of the ApiKey resource to be updated.

", - "UpdateAuthorizerRequest$restApiId": "

The string identifier of the associated RestApi.

", - "UpdateAuthorizerRequest$authorizerId": "

The identifier of the Authorizer resource.

", - "UpdateBasePathMappingRequest$domainName": "

The domain name of the BasePathMapping resource to change.

", - "UpdateBasePathMappingRequest$basePath": "

The base path of the BasePathMapping resource to change.

", - "UpdateClientCertificateRequest$clientCertificateId": "

The identifier of the ClientCertificate resource to be updated.

", - "UpdateDeploymentRequest$restApiId": "

The string identifier of the associated RestApi.

", + "UntagResourceRequest$resourceArn": "

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

", + "UpdateApiKeyRequest$apiKey": "

[Required] The identifier of the ApiKey resource to be updated.

", + "UpdateAuthorizerRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "UpdateAuthorizerRequest$authorizerId": "

[Required] The identifier of the Authorizer resource.

", + "UpdateBasePathMappingRequest$domainName": "

[Required] The domain name of the BasePathMapping resource to change.

", + "UpdateBasePathMappingRequest$basePath": "

[Required] The base path of the BasePathMapping resource to change.

", + "UpdateClientCertificateRequest$clientCertificateId": "

[Required] The identifier of the ClientCertificate resource to be updated.

", + "UpdateDeploymentRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "UpdateDeploymentRequest$deploymentId": "

The replacement identifier for the Deployment resource to change information about.

", "UpdateDocumentationPartRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "UpdateDocumentationPartRequest$documentationPartId": "

[Required] The identifier of the to-be-updated documentation part.

", "UpdateDocumentationVersionRequest$restApiId": "

[Required] The string identifier of the associated RestApi..

", "UpdateDocumentationVersionRequest$documentationVersion": "

[Required] The version identifier of the to-be-updated documentation version.

", - "UpdateDomainNameRequest$domainName": "

The name of the DomainName resource to be changed.

", - "UpdateGatewayResponseRequest$restApiId": "

The string identifier of the associated RestApi.

", - "UpdateIntegrationRequest$restApiId": "

The string identifier of the associated RestApi.

", - "UpdateIntegrationRequest$resourceId": "

Represents an update integration request's resource identifier.

", - "UpdateIntegrationRequest$httpMethod": "

Represents an update integration request's HTTP method.

", - "UpdateIntegrationResponseRequest$restApiId": "

The string identifier of the associated RestApi.

", - "UpdateIntegrationResponseRequest$resourceId": "

Specifies an update integration response request's resource identifier.

", - "UpdateIntegrationResponseRequest$httpMethod": "

Specifies an update integration response request's HTTP method.

", - "UpdateMethodRequest$restApiId": "

The string identifier of the associated RestApi.

", - "UpdateMethodRequest$resourceId": "

The Resource identifier for the Method resource.

", - "UpdateMethodRequest$httpMethod": "

The HTTP verb of the Method resource.

", - "UpdateMethodResponseRequest$restApiId": "

The string identifier of the associated RestApi.

", - "UpdateMethodResponseRequest$resourceId": "

The Resource identifier for the MethodResponse resource.

", - "UpdateMethodResponseRequest$httpMethod": "

The HTTP verb of the Method resource.

", - "UpdateModelRequest$restApiId": "

The string identifier of the associated RestApi.

", - "UpdateModelRequest$modelName": "

The name of the model to update.

", - "UpdateRequestValidatorRequest$restApiId": "

The string identifier of the associated RestApi.

", + "UpdateDomainNameRequest$domainName": "

[Required] The name of the DomainName resource to be changed.

", + "UpdateGatewayResponseRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "UpdateIntegrationRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "UpdateIntegrationRequest$resourceId": "

[Required] Represents an update integration request's resource identifier.

", + "UpdateIntegrationRequest$httpMethod": "

[Required] Represents an update integration request's HTTP method.

", + "UpdateIntegrationResponseRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "UpdateIntegrationResponseRequest$resourceId": "

[Required] Specifies an update integration response request's resource identifier.

", + "UpdateIntegrationResponseRequest$httpMethod": "

[Required] Specifies an update integration response request's HTTP method.

", + "UpdateMethodRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "UpdateMethodRequest$resourceId": "

[Required] The Resource identifier for the Method resource.

", + "UpdateMethodRequest$httpMethod": "

[Required] The HTTP verb of the Method resource.

", + "UpdateMethodResponseRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "UpdateMethodResponseRequest$resourceId": "

[Required] The Resource identifier for the MethodResponse resource.

", + "UpdateMethodResponseRequest$httpMethod": "

[Required] The HTTP verb of the Method resource.

", + "UpdateModelRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "UpdateModelRequest$modelName": "

[Required] The name of the model to update.

", + "UpdateRequestValidatorRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", "UpdateRequestValidatorRequest$requestValidatorId": "

[Required] The identifier of RequestValidator to be updated.

", - "UpdateResourceRequest$restApiId": "

The string identifier of the associated RestApi.

", - "UpdateResourceRequest$resourceId": "

The identifier of the Resource resource.

", - "UpdateRestApiRequest$restApiId": "

The string identifier of the associated RestApi.

", - "UpdateStageRequest$restApiId": "

The string identifier of the associated RestApi.

", - "UpdateStageRequest$stageName": "

The name of the Stage resource to change information about.

", - "UpdateUsagePlanRequest$usagePlanId": "

The Id of the to-be-updated usage plan.

", - "UpdateUsageRequest$usagePlanId": "

The Id of the usage plan associated with the usage data.

", - "UpdateUsageRequest$keyId": "

The identifier of the API key associated with the usage plan in which a temporary extension is granted to the remaining quota.

", + "UpdateResourceRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "UpdateResourceRequest$resourceId": "

[Required] The identifier of the Resource resource.

", + "UpdateRestApiRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "UpdateStageRequest$restApiId": "

[Required] The string identifier of the associated RestApi.

", + "UpdateStageRequest$stageName": "

[Required] The name of the Stage resource to change information about.

", + "UpdateUsagePlanRequest$usagePlanId": "

[Required] The Id of the to-be-updated usage plan.

", + "UpdateUsageRequest$usagePlanId": "

[Required] The Id of the usage plan associated with the usage data.

", + "UpdateUsageRequest$keyId": "

[Required] The identifier of the API key associated with the usage plan in which a temporary extension is granted to the remaining quota.

", "UpdateVpcLinkRequest$vpcLinkId": "

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

", "Usage$usagePlanId": "

The plan Id associated with this usage data.

", "Usage$startDate": "

The starting date of the usage data.

", @@ -1866,6 +1904,16 @@ "VpcLinks$position": null } }, + "TagResourceRequest": { + "base": "

Adds or updates a tag on a given resource.

", + "refs": { + } + }, + "Tags": { + "base": "

The collection of tags. Each tag element is associated with a given resource.

", + "refs": { + } + }, "Template": { "base": "

Represents a mapping template used to transform a payload.

Mapping Templates
", "refs": { @@ -1896,6 +1944,7 @@ "refs": { "Account$throttleSettings": "

Specifies the API request limits configured for the current Account.

", "CreateUsagePlanRequest$throttle": "

The throttling limits of the usage plan.

", + "MapOfApiStageThrottleSettings$value": null, "UsagePlan$throttle": "

The request throttle limits of a usage plan.

" } }, @@ -1930,6 +1979,11 @@ "refs": { } }, + "UntagResourceRequest": { + "base": "

Removes a tag from a given resource.

", + "refs": { + } + }, "UpdateAccountRequest": { "base": "

Requests API Gateway to change information about the current Account resource.

", "refs": { @@ -2068,7 +2122,7 @@ } }, "VpcLink": { - "base": "

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

", + "base": "

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.

", "refs": { "ListOfVpcLink$member": null } diff --git a/models/apis/application-autoscaling/2016-02-06/api-2.json b/models/apis/application-autoscaling/2016-02-06/api-2.json index 809f725151d..06ec5e92407 100644 --- a/models/apis/application-autoscaling/2016-02-06/api-2.json +++ b/models/apis/application-autoscaling/2016-02-06/api-2.json @@ -425,7 +425,10 @@ "RDSReaderAverageDatabaseConnections", "EC2SpotFleetRequestAverageCPUUtilization", "EC2SpotFleetRequestAverageNetworkIn", - "EC2SpotFleetRequestAverageNetworkOut" + "EC2SpotFleetRequestAverageNetworkOut", + "SageMakerVariantInvocationsPerInstance", + "ECSServiceAverageCPUUtilization", + "ECSServiceAverageMemoryUtilization" ] }, "MetricUnit":{"type":"string"}, @@ -559,7 +562,9 @@ "dynamodb:table:WriteCapacityUnits", "dynamodb:index:ReadCapacityUnits", "dynamodb:index:WriteCapacityUnits", - "rds:cluster:ReadReplicaCount" + "rds:cluster:ReadReplicaCount", + "sagemaker:variant:DesiredInstanceCount", + "custom-resource:ResourceType:Property" ] }, "ScalableTarget":{ @@ -705,7 +710,9 @@ "ec2", "appstream", "dynamodb", - "rds" + "rds", + "sagemaker", + "custom-resource" ] }, "StepAdjustment":{ diff --git a/models/apis/application-autoscaling/2016-02-06/docs-2.json b/models/apis/application-autoscaling/2016-02-06/docs-2.json index d87ca3a88f4..6f35d8a61c6 100644 --- a/models/apis/application-autoscaling/2016-02-06/docs-2.json +++ b/models/apis/application-autoscaling/2016-02-06/docs-2.json @@ -1,17 +1,17 @@ { "version": "2.0", - "service": "

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

Application Auto Scaling can scale the following AWS resources:

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

", + "service": "

With Application Auto Scaling, you can configure automatic scaling for your scalable resources. You can use Application Auto Scaling to accomplish the following tasks:

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.

", "operations": { "DeleteScalingPolicy": "

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

Deletes the specified Application Auto Scaling scheduled action.

", "DeregisterScalableTarget": "

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

Provides descriptive 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.

", + "DescribeScalableTargets": "

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

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

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

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

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

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

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

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

", - "PutScheduledAction": "

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 without first registering a 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": "

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 your 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 are no longer using a scalable target, you can deregister it using DeregisterScalableTarget.

" + "PutScalingPolicy": "

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

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

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": { @@ -49,7 +49,7 @@ "CustomizedMetricSpecification": { "base": "

Configures a customized metric for a target tracking policy.

", "refs": { - "TargetTrackingScalingPolicyConfiguration$CustomizedMetricSpecification": "

Reserved for future use.

" + "TargetTrackingScalingPolicyConfiguration$CustomizedMetricSpecification": "

A customized metric.

" } }, "DeleteScalingPolicyRequest": { @@ -141,7 +141,7 @@ } }, "FailedResourceAccessException": { - "base": "

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

", + "base": "

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.

", "refs": { } }, @@ -156,16 +156,16 @@ } }, "LimitExceededException": { - "base": "

Your account exceeded a limit. This exception is thrown when a per-account resource limit is exceeded. For more information, see Application Auto Scaling Limits.

", + "base": "

A per-account resource limit is exceeded. For more information, see Application Auto Scaling Limits.

", "refs": { } }, "MaxResults": { "base": null, "refs": { - "DescribeScalableTargetsRequest$MaxResults": "

The maximum number of scalable target 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.

", - "DescribeScalingActivitiesRequest$MaxResults": "

The maximum number of scalable target 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.

", - "DescribeScalingPoliciesRequest$MaxResults": "

The maximum number of scalable target 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.

", + "DescribeScalableTargetsRequest$MaxResults": "

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.

", + "DescribeScalingActivitiesRequest$MaxResults": "

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.

", + "DescribeScalingPoliciesRequest$MaxResults": "

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.

", "DescribeScheduledActionsRequest$MaxResults": "

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.

" } }, @@ -228,7 +228,7 @@ "MetricType": { "base": null, "refs": { - "PredefinedMetricSpecification$PredefinedMetricType": "

The metric type. The ALBRequestCountPerTarget metric type applies only to Spot fleet requests.

" + "PredefinedMetricSpecification$PredefinedMetricType": "

The metric type. The ALBRequestCountPerTarget metric type applies only to Spot fleet requests and ECS services.

" } }, "MetricUnit": { @@ -244,7 +244,7 @@ } }, "ObjectNotFoundException": { - "base": "

The specified object could not be found. For any Put or Register API operation, which depends on the existence of a scalable target, this exception is thrown if the scalable target with the specified service namespace, resource ID, and scalable dimension does not exist. For any Delete or Deregister API operation, this exception is thrown if the resource that is to be deleted or deregistered cannot be found.

", + "base": "

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.

", "refs": { } }, @@ -258,7 +258,7 @@ "PolicyType": { "base": null, "refs": { - "PutScalingPolicyRequest$PolicyType": "

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

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

", + "PutScalingPolicyRequest$PolicyType": "

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.

", "ScalingPolicy$PolicyType": "

The scaling policy type.

" } }, @@ -301,8 +301,8 @@ "ResourceCapacity": { "base": null, "refs": { - "RegisterScalableTargetRequest$MinCapacity": "

The minimum value to scale to in response to a scale in event. This parameter is required if you are registering a scalable target and optional if you are updating one.

", - "RegisterScalableTargetRequest$MaxCapacity": "

The maximum value to scale to in response to a scale out event. This parameter is required if you are registering a scalable target and optional if you are updating one.

", + "RegisterScalableTargetRequest$MinCapacity": "

The minimum value to scale to in response to a scale in event. This parameter is required if you are registering a scalable target.

", + "RegisterScalableTargetRequest$MaxCapacity": "

The maximum value to scale to in response to a scale out event. This parameter is required if you are registering a scalable target.

", "ScalableTarget$MinCapacity": "

The minimum value to scale to in response to a scale in event.

", "ScalableTarget$MaxCapacity": "

The maximum value to scale to in response to a scale out event.

", "ScalableTargetAction$MinCapacity": "

The minimum capacity.

", @@ -321,34 +321,34 @@ "base": null, "refs": { "DeleteScalingPolicyRequest$PolicyName": "

The name of the scaling policy.

", - "DeleteScalingPolicyRequest$ResourceId": "

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

", + "DeleteScalingPolicyRequest$ResourceId": "

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

", "DeleteScheduledActionRequest$ScheduledActionName": "

The name of the scheduled action.

", - "DeleteScheduledActionRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", - "DeregisterScalableTargetRequest$ResourceId": "

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

", - "DescribeScalingActivitiesRequest$ResourceId": "

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.

", - "DescribeScalingPoliciesRequest$ResourceId": "

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.

", - "DescribeScheduledActionsRequest$ResourceId": "

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.

", - "PutScalingPolicyRequest$ResourceId": "

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

", + "DeleteScheduledActionRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", + "DeregisterScalableTargetRequest$ResourceId": "

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

", + "DescribeScalingActivitiesRequest$ResourceId": "

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.

", + "DescribeScalingPoliciesRequest$ResourceId": "

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.

", + "DescribeScheduledActionsRequest$ResourceId": "

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.

", + "PutScalingPolicyRequest$ResourceId": "

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

", "PutScalingPolicyResponse$PolicyARN": "

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

", - "PutScheduledActionRequest$Schedule": "

The schedule for this action. The following formats are supported:

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.

", - "PutScheduledActionRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", - "RegisterScalableTargetRequest$ResourceId": "

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

", - "RegisterScalableTargetRequest$RoleARN": "

The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.

With Amazon RDS resources, permissions are granted using a service-linked role. 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 when you register a scalable target and optional when you update one.

", + "PutScheduledActionRequest$Schedule": "

The schedule for this action. The following formats are supported:

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.

", + "PutScheduledActionRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", + "RegisterScalableTargetRequest$ResourceId": "

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

", + "RegisterScalableTargetRequest$RoleARN": "

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.

", "ResourceIdsMaxLen1600$member": null, - "ScalableTarget$ResourceId": "

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

", + "ScalableTarget$ResourceId": "

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

", "ScalableTarget$RoleARN": "

The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.

", - "ScalingActivity$ResourceId": "

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

", + "ScalingActivity$ResourceId": "

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

", "ScalingPolicy$PolicyARN": "

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

", - "ScalingPolicy$ResourceId": "

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

", + "ScalingPolicy$ResourceId": "

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

", "ScheduledAction$ScheduledActionARN": "

The Amazon Resource Name (ARN) of the scheduled action.

", - "ScheduledAction$Schedule": "

The schedule for this action. The following formats are supported:

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.

", - "ScheduledAction$ResourceId": "

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

" + "ScheduledAction$Schedule": "

The schedule for this action. The following formats are supported:

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.

", + "ScheduledAction$ResourceId": "

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

" } }, "ResourceIdsMaxLen1600": { "base": null, "refs": { - "DescribeScalableTargetsRequest$ResourceIds": "

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.

", + "DescribeScalableTargetsRequest$ResourceIds": "

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.

", "DescribeScalingPoliciesRequest$PolicyNames": "

The names of the scaling policies to describe.

", "DescribeScheduledActionsRequest$ScheduledActionNames": "

The names of the scheduled actions to describe.

" } @@ -356,26 +356,26 @@ "ResourceLabel": { "base": null, "refs": { - "PredefinedMetricSpecification$ResourceLabel": "

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.

The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, where:

" + "PredefinedMetricSpecification$ResourceLabel": "

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:

" } }, "ScalableDimension": { "base": null, "refs": { - "DeleteScalingPolicyRequest$ScalableDimension": "

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

", - "DeleteScheduledActionRequest$ScalableDimension": "

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

", - "DeregisterScalableTargetRequest$ScalableDimension": "

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

", - "DescribeScalableTargetsRequest$ScalableDimension": "

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.

", - "DescribeScalingActivitiesRequest$ScalableDimension": "

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.

", - "DescribeScalingPoliciesRequest$ScalableDimension": "

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.

", - "DescribeScheduledActionsRequest$ScalableDimension": "

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.

", - "PutScalingPolicyRequest$ScalableDimension": "

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

", - "PutScheduledActionRequest$ScalableDimension": "

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

", - "RegisterScalableTargetRequest$ScalableDimension": "

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

", - "ScalableTarget$ScalableDimension": "

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

", - "ScalingActivity$ScalableDimension": "

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

", - "ScalingPolicy$ScalableDimension": "

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

", - "ScheduledAction$ScalableDimension": "

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

" + "DeleteScalingPolicyRequest$ScalableDimension": "

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

", + "DeleteScheduledActionRequest$ScalableDimension": "

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

", + "DeregisterScalableTargetRequest$ScalableDimension": "

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

", + "DescribeScalableTargetsRequest$ScalableDimension": "

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.

", + "DescribeScalingActivitiesRequest$ScalableDimension": "

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.

", + "DescribeScalingPoliciesRequest$ScalableDimension": "

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.

", + "DescribeScheduledActionsRequest$ScalableDimension": "

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.

", + "PutScalingPolicyRequest$ScalableDimension": "

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

", + "PutScheduledActionRequest$ScalableDimension": "

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.

", + "RegisterScalableTargetRequest$ScalableDimension": "

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

", + "ScalableTarget$ScalableDimension": "

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

", + "ScalingActivity$ScalableDimension": "

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

", + "ScalingPolicy$ScalableDimension": "

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

", + "ScheduledAction$ScalableDimension": "

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

" } }, "ScalableTarget": { @@ -394,7 +394,7 @@ "ScalableTargets": { "base": null, "refs": { - "DescribeScalableTargetsResponse$ScalableTargets": "

The list of scalable targets that matches the request parameters.

" + "DescribeScalableTargetsResponse$ScalableTargets": "

The scalable targets that match the request parameters.

" } }, "ScalingActivities": { @@ -455,20 +455,20 @@ "ServiceNamespace": { "base": null, "refs": { - "DeleteScalingPolicyRequest$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

", - "DeleteScheduledActionRequest$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

", - "DeregisterScalableTargetRequest$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

", - "DescribeScalableTargetsRequest$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

", - "DescribeScalingActivitiesRequest$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

", - "DescribeScalingPoliciesRequest$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

", - "DescribeScheduledActionsRequest$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

", - "PutScalingPolicyRequest$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

", - "PutScheduledActionRequest$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

", - "RegisterScalableTargetRequest$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

", - "ScalableTarget$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

", - "ScalingActivity$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

", - "ScalingPolicy$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

", - "ScheduledAction$ServiceNamespace": "

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "DeleteScalingPolicyRequest$ServiceNamespace": "

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.

", + "DeleteScheduledActionRequest$ServiceNamespace": "

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.

", + "DeregisterScalableTargetRequest$ServiceNamespace": "

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.

", + "DescribeScalableTargetsRequest$ServiceNamespace": "

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.

", + "DescribeScalingActivitiesRequest$ServiceNamespace": "

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.

", + "DescribeScalingPoliciesRequest$ServiceNamespace": "

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.

", + "DescribeScheduledActionsRequest$ServiceNamespace": "

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.

", + "PutScalingPolicyRequest$ServiceNamespace": "

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.

", + "PutScheduledActionRequest$ServiceNamespace": "

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.

", + "RegisterScalableTargetRequest$ServiceNamespace": "

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.

", + "ScalableTarget$ServiceNamespace": "

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.

", + "ScalingActivity$ServiceNamespace": "

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.

", + "ScalingPolicy$ServiceNamespace": "

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.

", + "ScheduledAction$ServiceNamespace": "

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.

" } }, "StepAdjustment": { @@ -493,7 +493,7 @@ "TargetTrackingScalingPolicyConfiguration": { "base": "

Represents a target tracking scaling policy configuration.

", "refs": { - "PutScalingPolicyRequest$TargetTrackingScalingPolicyConfiguration": "

A target tracking policy.

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

", + "PutScalingPolicyRequest$TargetTrackingScalingPolicyConfiguration": "

A target tracking policy.

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

", "ScalingPolicy$TargetTrackingScalingPolicyConfiguration": "

A target tracking policy.

" } }, diff --git a/models/apis/application-autoscaling/2016-02-06/smoke.json b/models/apis/application-autoscaling/2016-02-06/smoke.json new file mode 100644 index 00000000000..2d1265602c2 --- /dev/null +++ b/models/apis/application-autoscaling/2016-02-06/smoke.json @@ -0,0 +1,13 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeScalableTargets", + "input": { + "ServiceNamespace": "ec2" + }, + "errorExpectedFromService": false + } + ] +} \ No newline at end of file diff --git a/models/apis/appstream/2016-12-01/api-2.json b/models/apis/appstream/2016-12-01/api-2.json index 73f184d097e..fb556caf0c1 100644 --- a/models/apis/appstream/2016-12-01/api-2.json +++ b/models/apis/appstream/2016-12-01/api-2.json @@ -6,6 +6,7 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon AppStream", + "serviceId":"AppStream", "signatureVersion":"v4", "signingName":"appstream", "targetPrefix":"PhotonAdminProxyService", @@ -22,12 +23,30 @@ "output":{"shape":"AssociateFleetResult"}, "errors":[ {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ConcurrentModificationException"}, {"shape":"IncompatibleImageException"}, {"shape":"OperationNotPermittedException"} ] }, + "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"} + ] + }, "CreateDirectoryConfig":{ "name":"CreateDirectoryConfig", "http":{ @@ -38,7 +57,8 @@ "output":{"shape":"CreateDirectoryConfigResult"}, "errors":[ {"shape":"ResourceAlreadyExistsException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"} ] }, "CreateFleet":{ @@ -54,10 +74,12 @@ {"shape":"ResourceNotAvailableException"}, {"shape":"ResourceNotFoundException"}, {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, {"shape":"InvalidRoleException"}, {"shape":"ConcurrentModificationException"}, {"shape":"InvalidParameterCombinationException"}, - {"shape":"IncompatibleImageException"} + {"shape":"IncompatibleImageException"}, + {"shape":"OperationNotPermittedException"} ] }, "CreateImageBuilder":{ @@ -70,13 +92,15 @@ "output":{"shape":"CreateImageBuilderResult"}, "errors":[ {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, {"shape":"ResourceAlreadyExistsException"}, {"shape":"ResourceNotAvailableException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidRoleException"}, {"shape":"ConcurrentModificationException"}, {"shape":"InvalidParameterCombinationException"}, - {"shape":"IncompatibleImageException"} + {"shape":"IncompatibleImageException"}, + {"shape":"OperationNotPermittedException"} ] }, "CreateImageBuilderStreamingURL":{ @@ -102,6 +126,7 @@ "output":{"shape":"CreateStackResult"}, "errors":[ {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, {"shape":"ResourceAlreadyExistsException"}, {"shape":"ConcurrentModificationException"}, {"shape":"InvalidRoleException"}, @@ -180,6 +205,19 @@ {"shape":"ConcurrentModificationException"} ] }, + "DeleteImagePermissions":{ + "name":"DeleteImagePermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteImagePermissionsRequest"}, + "output":{"shape":"DeleteImagePermissionsResult"}, + "errors":[ + {"shape":"ResourceNotAvailableException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "DeleteStack":{ "name":"DeleteStack", "http":{ @@ -230,6 +268,18 @@ {"shape":"ResourceNotFoundException"} ] }, + "DescribeImagePermissions":{ + "name":"DescribeImagePermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImagePermissionsRequest"}, + "output":{"shape":"DescribeImagePermissionsResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ] + }, "DescribeImages":{ "name":"DescribeImages", "http":{ @@ -239,6 +289,7 @@ "input":{"shape":"DescribeImagesRequest"}, "output":{"shape":"DescribeImagesResult"}, "errors":[ + {"shape":"InvalidParameterCombinationException"}, {"shape":"ResourceNotFoundException"} ] }, @@ -307,6 +358,18 @@ "input":{"shape":"ListAssociatedStacksRequest"}, "output":{"shape":"ListAssociatedStacksResult"} }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ] + }, "StartFleet":{ "name":"StartFleet", "http":{ @@ -319,6 +382,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"OperationNotPermittedException"}, {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, {"shape":"ConcurrentModificationException"} ] }, @@ -333,7 +397,9 @@ "errors":[ {"shape":"ResourceNotAvailableException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"IncompatibleImageException"} ] }, "StopFleet":{ @@ -363,6 +429,32 @@ {"shape":"ConcurrentModificationException"} ] }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ] + }, "UpdateDirectoryConfig":{ "name":"UpdateDirectoryConfig", "http":{ @@ -388,6 +480,7 @@ "errors":[ {"shape":"ResourceInUseException"}, {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, {"shape":"InvalidRoleException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ResourceNotAvailableException"}, @@ -397,6 +490,20 @@ {"shape":"OperationNotPermittedException"} ] }, + "UpdateImagePermissions":{ + "name":"UpdateImagePermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateImagePermissionsRequest"}, + "output":{"shape":"UpdateImagePermissionsResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceNotAvailableException"}, + {"shape":"LimitExceededException"} + ] + }, "UpdateStack":{ "name":"UpdateStack", "http":{ @@ -411,7 +518,9 @@ {"shape":"InvalidRoleException"}, {"shape":"InvalidParameterCombinationException"}, {"shape":"LimitExceededException"}, - {"shape":"IncompatibleImageException"} + {"shape":"InvalidAccountStatusException"}, + {"shape":"IncompatibleImageException"}, + {"shape":"OperationNotPermittedException"} ] } }, @@ -427,6 +536,16 @@ "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":{ @@ -443,10 +562,19 @@ "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":[ @@ -471,6 +599,16 @@ "USERPOOL" ] }, + "AwsAccountId":{ + "type":"string", + "pattern":"^\\d+$" + }, + "AwsAccountIdList":{ + "type":"list", + "member":{"shape":"AwsAccountId"}, + "max":5, + "min":1 + }, "Boolean":{"type":"boolean"}, "BooleanObject":{"type":"boolean"}, "ComputeCapacity":{ @@ -497,6 +635,26 @@ }, "exception":true }, + "CopyImageRequest":{ + "type":"structure", + "required":[ + "SourceImageName", + "DestinationImageName", + "DestinationRegion" + ], + "members":{ + "SourceImageName":{"shape":"Name"}, + "DestinationImageName":{"shape":"Name"}, + "DestinationRegion":{"shape":"RegionName"}, + "DestinationImageDescription":{"shape":"Description"} + } + }, + "CopyImageResponse":{ + "type":"structure", + "members":{ + "DestinationImageName":{"shape":"Name"} + } + }, "CreateDirectoryConfigRequest":{ "type":"structure", "required":[ @@ -520,13 +678,13 @@ "type":"structure", "required":[ "Name", - "ImageName", "InstanceType", "ComputeCapacity" ], "members":{ "Name":{"shape":"Name"}, "ImageName":{"shape":"String"}, + "ImageArn":{"shape":"Arn"}, "InstanceType":{"shape":"String"}, "FleetType":{"shape":"FleetType"}, "ComputeCapacity":{"shape":"ComputeCapacity"}, @@ -549,18 +707,19 @@ "type":"structure", "required":[ "Name", - "ImageName", "InstanceType" ], "members":{ "Name":{"shape":"Name"}, "ImageName":{"shape":"String"}, + "ImageArn":{"shape":"Arn"}, "InstanceType":{"shape":"String"}, "Description":{"shape":"Description"}, "DisplayName":{"shape":"DisplayName"}, "VpcConfig":{"shape":"VpcConfig"}, "EnableDefaultInternetAccess":{"shape":"BooleanObject"}, - "DomainJoinInfo":{"shape":"DomainJoinInfo"} + "DomainJoinInfo":{"shape":"DomainJoinInfo"}, + "AppstreamAgentVersion":{"shape":"AppstreamAgentVersion"} } }, "CreateImageBuilderResult":{ @@ -588,10 +747,13 @@ "type":"structure", "required":["Name"], "members":{ - "Name":{"shape":"String"}, + "Name":{"shape":"Name"}, "Description":{"shape":"Description"}, "DisplayName":{"shape":"DisplayName"}, - "StorageConnectors":{"shape":"StorageConnectorList"} + "StorageConnectors":{"shape":"StorageConnectorList"}, + "RedirectURL":{"shape":"RedirectURL"}, + "FeedbackURL":{"shape":"FeedbackURL"}, + "UserSettings":{"shape":"UserSettingList"} } }, "CreateStackResult":{ @@ -660,6 +822,22 @@ "ImageBuilder":{"shape":"ImageBuilder"} } }, + "DeleteImagePermissionsRequest":{ + "type":"structure", + "required":[ + "Name", + "SharedAccountId" + ], + "members":{ + "Name":{"shape":"Name"}, + "SharedAccountId":{"shape":"AwsAccountId"} + } + }, + "DeleteImagePermissionsResult":{ + "type":"structure", + "members":{ + } + }, "DeleteImageRequest":{ "type":"structure", "required":["Name"], @@ -729,16 +907,45 @@ "NextToken":{"shape":"String"} } }, + "DescribeImagePermissionsRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"Name"}, + "MaxResults":{"shape":"MaxResults"}, + "SharedAwsAccountIds":{"shape":"AwsAccountIdList"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeImagePermissionsResult":{ + "type":"structure", + "members":{ + "Name":{"shape":"Name"}, + "SharedImagePermissionsList":{"shape":"SharedImagePermissionsList"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeImagesMaxResults":{ + "type":"integer", + "box":true, + "max":25, + "min":0 + }, "DescribeImagesRequest":{ "type":"structure", "members":{ - "Names":{"shape":"StringList"} + "Names":{"shape":"StringList"}, + "Arns":{"shape":"ArnList"}, + "Type":{"shape":"VisibilityType"}, + "NextToken":{"shape":"String"}, + "MaxResults":{"shape":"DescribeImagesMaxResults"} } }, "DescribeImagesResult":{ "type":"structure", "members":{ - "Images":{"shape":"ImageList"} + "Images":{"shape":"ImageList"}, + "NextToken":{"shape":"String"} } }, "DescribeSessionsRequest":{ @@ -820,6 +1027,10 @@ "type":"string", "max":100 }, + "Domain":{ + "type":"string", + "max":64 + }, "DomainJoinInfo":{ "type":"structure", "members":{ @@ -827,6 +1038,11 @@ "OrganizationalUnitDistinguishedName":{"shape":"OrganizationalUnitDistinguishedName"} } }, + "DomainList":{ + "type":"list", + "member":{"shape":"Domain"}, + "max":10 + }, "ErrorMessage":{"type":"string"}, "ExpireSessionRequest":{ "type":"structure", @@ -840,12 +1056,15 @@ "members":{ } }, + "FeedbackURL":{ + "type":"string", + "max":1000 + }, "Fleet":{ "type":"structure", "required":[ "Arn", "Name", - "ImageName", "InstanceType", "ComputeCapacityStatus", "State" @@ -856,6 +1075,7 @@ "DisplayName":{"shape":"String"}, "Description":{"shape":"String"}, "ImageName":{"shape":"String"}, + "ImageArn":{"shape":"Arn"}, "InstanceType":{"shape":"String"}, "FleetType":{"shape":"FleetType"}, "ComputeCapacityStatus":{"shape":"ComputeCapacityStatus"}, @@ -959,7 +1179,9 @@ "StateChangeReason":{"shape":"ImageStateChangeReason"}, "Applications":{"shape":"Applications"}, "CreatedTime":{"shape":"Timestamp"}, - "PublicBaseImageReleasedDate":{"shape":"Timestamp"} + "PublicBaseImageReleasedDate":{"shape":"Timestamp"}, + "AppstreamAgentVersion":{"shape":"AppstreamAgentVersion"}, + "ImagePermissions":{"shape":"ImagePermissions"} } }, "ImageBuilder":{ @@ -979,7 +1201,8 @@ "CreatedTime":{"shape":"Timestamp"}, "EnableDefaultInternetAccess":{"shape":"BooleanObject"}, "DomainJoinInfo":{"shape":"DomainJoinInfo"}, - "ImageBuilderErrors":{"shape":"ResourceErrors"} + "ImageBuilderErrors":{"shape":"ResourceErrors"}, + "AppstreamAgentVersion":{"shape":"AppstreamAgentVersion"} } }, "ImageBuilderList":{ @@ -990,6 +1213,7 @@ "type":"string", "enum":[ "PENDING", + "UPDATING_AGENT", "RUNNING", "STOPPING", "STOPPED", @@ -1017,12 +1241,20 @@ "type":"list", "member":{"shape":"Image"} }, + "ImagePermissions":{ + "type":"structure", + "members":{ + "allowFleet":{"shape":"BooleanObject"}, + "allowImageBuilder":{"shape":"BooleanObject"} + } + }, "ImageState":{ "type":"string", "enum":[ "PENDING", "AVAILABLE", "FAILED", + "COPYING", "DELETING" ] }, @@ -1037,7 +1269,8 @@ "type":"string", "enum":[ "INTERNAL_ERROR", - "IMAGE_BUILDER_NOT_AVAILABLE" + "IMAGE_BUILDER_NOT_AVAILABLE", + "IMAGE_COPY_FAILURE" ] }, "IncompatibleImageException":{ @@ -1048,6 +1281,13 @@ "exception":true }, "Integer":{"type":"integer"}, + "InvalidAccountStatusException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "InvalidParameterCombinationException":{ "type":"structure", "members":{ @@ -1099,7 +1339,26 @@ "NextToken":{"shape":"String"} } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"Arn"} + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{"shape":"Tags"} + } + }, "Long":{"type":"long"}, + "MaxResults":{ + "type":"integer", + "box":true, + "max":500, + "min":0 + }, "Metadata":{ "type":"map", "key":{"shape":"String"}, @@ -1109,6 +1368,13 @@ "type":"string", "pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$" }, + "NetworkAccessConfiguration":{ + "type":"structure", + "members":{ + "EniPrivateIpAddress":{"shape":"String"}, + "EniId":{"shape":"String"} + } + }, "OperationNotPermittedException":{ "type":"structure", "members":{ @@ -1124,10 +1390,26 @@ "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":{ @@ -1203,7 +1485,8 @@ "StackName":{"shape":"String"}, "FleetName":{"shape":"String"}, "State":{"shape":"SessionState"}, - "AuthenticationType":{"shape":"AuthenticationType"} + "AuthenticationType":{"shape":"AuthenticationType"}, + "NetworkAccessConfiguration":{"shape":"NetworkAccessConfiguration"} } }, "SessionList":{ @@ -1218,6 +1501,21 @@ "EXPIRED" ] }, + "SharedImagePermissions":{ + "type":"structure", + "required":[ + "sharedAccountId", + "imagePermissions" + ], + "members":{ + "sharedAccountId":{"shape":"AwsAccountId"}, + "imagePermissions":{"shape":"ImagePermissions"} + } + }, + "SharedImagePermissionsList":{ + "type":"list", + "member":{"shape":"SharedImagePermissions"} + }, "Stack":{ "type":"structure", "required":["Name"], @@ -1228,9 +1526,29 @@ "DisplayName":{"shape":"String"}, "CreatedTime":{"shape":"Timestamp"}, "StorageConnectors":{"shape":"StorageConnectorList"}, - "StackErrors":{"shape":"StackErrors"} + "RedirectURL":{"shape":"RedirectURL"}, + "FeedbackURL":{"shape":"FeedbackURL"}, + "StackErrors":{"shape":"StackErrors"}, + "UserSettings":{"shape":"UserSettingList"} } }, + "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":{ @@ -1269,7 +1587,8 @@ "type":"structure", "required":["Name"], "members":{ - "Name":{"shape":"String"} + "Name":{"shape":"String"}, + "AppstreamAgentVersion":{"shape":"AppstreamAgentVersion"} } }, "StartImageBuilderResult":{ @@ -1308,7 +1627,8 @@ "required":["ConnectorType"], "members":{ "ConnectorType":{"shape":"StorageConnectorType"}, - "ResourceIdentifier":{"shape":"ResourceIdentifier"} + "ResourceIdentifier":{"shape":"ResourceIdentifier"}, + "Domains":{"shape":"DomainList"} } }, "StorageConnectorList":{ @@ -1317,7 +1637,11 @@ }, "StorageConnectorType":{ "type":"string", - "enum":["HOMEFOLDERS"] + "enum":[ + "HOMEFOLDERS", + "GOOGLE_DRIVE", + "ONE_DRIVE" + ] }, "StreamingUrlUserId":{ "type":"string", @@ -1337,7 +1661,64 @@ "type":"list", "member":{"shape":"String"} }, + "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"}, + "Tags":{"shape":"Tags"} + } + }, + "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"}, + "TagKeys":{"shape":"TagKeyList"} + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateDirectoryConfigRequest":{ "type":"structure", "required":["DirectoryName"], @@ -1355,9 +1736,9 @@ }, "UpdateFleetRequest":{ "type":"structure", - "required":["Name"], "members":{ "ImageName":{"shape":"String"}, + "ImageArn":{"shape":"Arn"}, "Name":{"shape":"String"}, "InstanceType":{"shape":"String"}, "ComputeCapacity":{"shape":"ComputeCapacity"}, @@ -1381,6 +1762,24 @@ "Fleet":{"shape":"Fleet"} } }, + "UpdateImagePermissionsRequest":{ + "type":"structure", + "required":[ + "Name", + "SharedAccountId", + "ImagePermissions" + ], + "members":{ + "Name":{"shape":"Name"}, + "SharedAccountId":{"shape":"AwsAccountId"}, + "ImagePermissions":{"shape":"ImagePermissions"} + } + }, + "UpdateImagePermissionsResult":{ + "type":"structure", + "members":{ + } + }, "UpdateStackRequest":{ "type":"structure", "required":["Name"], @@ -1389,7 +1788,14 @@ "Description":{"shape":"Description"}, "Name":{"shape":"String"}, "StorageConnectors":{"shape":"StorageConnectorList"}, - "DeleteStorageConnectors":{"shape":"Boolean"} + "DeleteStorageConnectors":{ + "shape":"Boolean", + "deprecated":true + }, + "RedirectURL":{"shape":"RedirectURL"}, + "FeedbackURL":{"shape":"FeedbackURL"}, + "AttributesToDelete":{"shape":"StackAttributes"}, + "UserSettings":{"shape":"UserSettingList"} } }, "UpdateStackResult":{ @@ -1403,11 +1809,28 @@ "max":32, "min":2 }, + "UserSetting":{ + "type":"structure", + "required":[ + "Action", + "Permission" + ], + "members":{ + "Action":{"shape":"Action"}, + "Permission":{"shape":"Permission"} + } + }, + "UserSettingList":{ + "type":"list", + "member":{"shape":"UserSetting"}, + "min":1 + }, "VisibilityType":{ "type":"string", "enum":[ "PUBLIC", - "PRIVATE" + "PRIVATE", + "SHARED" ] }, "VpcConfig":{ diff --git a/models/apis/appstream/2016-12-01/docs-2.json b/models/apis/appstream/2016-12-01/docs-2.json index f4111a8d487..22b25f07a15 100644 --- a/models/apis/appstream/2016-12-01/docs-2.json +++ b/models/apis/appstream/2016-12-01/docs-2.json @@ -3,34 +3,41 @@ "service": "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.

", "operations": { "AssociateFleet": "

Associates the specified fleet with the specified stack.

", - "CreateDirectoryConfig": "

Creates a directory configuration.

", - "CreateFleet": "

Creates a fleet.

", - "CreateImageBuilder": null, - "CreateImageBuilderStreamingURL": null, - "CreateStack": "

Creates a stack.

", - "CreateStreamingURL": "

Creates a URL to start a streaming session for the specified user.

By default, the URL is valid only for one minute from the time that it is generated.

", - "DeleteDirectoryConfig": "

Deletes the specified directory configuration.

", + "CopyImage": "

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

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

Creates a fleet. A fleet consists of streaming instances that run a specified image.

", + "CreateImageBuilder": "

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

Creates a URL to start an image builder streaming session.

", + "CreateStack": "

Creates a stack to start streaming applications to users. A stack consists of an associated fleet, user access policies, and storage configurations.

", + "CreateStreamingURL": "

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

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

Deletes the specified fleet.

", - "DeleteImage": null, - "DeleteImageBuilder": null, - "DeleteStack": "

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

", - "DescribeDirectoryConfigs": "

Describes the specified directory configurations.

", - "DescribeFleets": "

Describes the specified fleets or all fleets in the account.

", - "DescribeImageBuilders": null, - "DescribeImages": "

Describes the specified images or all images in the account.

", - "DescribeSessions": "

Describes the streaming sessions for the specified stack and fleet. If a user ID is provided, only the streaming sessions for only that user are returned. If an authentication type is not provided, the default is to authenticate users using a streaming URL.

", - "DescribeStacks": "

Describes the specified stacks or all stacks in the account.

", + "DeleteImage": "

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

Deletes the specified image builder and releases the capacity.

", + "DeleteImagePermissions": "

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

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

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

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

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

Retrieves a list that describes the permissions for a private image that you own.

", + "DescribeImages": "

Retrieves a list that describes one or more specified images, if the image names are provided. Otherwise, all images in the account are described.

", + "DescribeSessions": "

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

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

Disassociates the specified fleet from the specified stack.

", - "ExpireSession": "

Stops the specified streaming session.

", - "ListAssociatedFleets": "

Lists the fleets associated with the specified stack.

", - "ListAssociatedStacks": "

Lists the stacks associated with the specified fleet.

", + "ExpireSession": "

Immediately stops the specified streaming session.

", + "ListAssociatedFleets": "

Retrieves the name of the fleet that is associated with the specified stack.

", + "ListAssociatedStacks": "

Retrieves the name of the stack with which the specified fleet is associated.

", + "ListTagsForResource": "

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

Starts the specified fleet.

", - "StartImageBuilder": null, + "StartImageBuilder": "

Starts the specified image builder.

", "StopFleet": "

Stops the specified fleet.

", - "StopImageBuilder": null, - "UpdateDirectoryConfig": "

Updates the specified directory configuration.

", + "StopImageBuilder": "

Stops the specified image builder.

", + "TagResource": "

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

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

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

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.

", - "UpdateStack": "

Updates the specified stack.

" + "UpdateImagePermissions": "

Adds or updates permissions for the specified private image.

", + "UpdateStack": "

Updates the specified fields for the specified stack.

" }, "shapes": { "AccountName": { @@ -45,6 +52,12 @@ "ServiceAccountCredentials$AccountPassword": "

The password for the account.

" } }, + "Action": { + "base": null, + "refs": { + "UserSetting$Action": "

The action that is enabled or disabled.

" + } + }, "Application": { "base": "

Describes an application in the application catalog.

", "refs": { @@ -57,15 +70,38 @@ "Image$Applications": "

The applications associated with the image.

" } }, + "AppstreamAgentVersion": { + "base": null, + "refs": { + "CreateImageBuilderRequest$AppstreamAgentVersion": "

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

", + "Image$AppstreamAgentVersion": "

The version of the AppStream 2.0 agent to use for instances that are launched from this image.

", + "ImageBuilder$AppstreamAgentVersion": "

The version of the AppStream 2.0 agent that is currently being used by this image builder.

", + "StartImageBuilderRequest$AppstreamAgentVersion": "

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

" + } + }, "Arn": { "base": null, "refs": { + "ArnList$member": null, + "CreateFleetRequest$ImageArn": "

The ARN of the public, private, or shared image to use.

", + "CreateImageBuilderRequest$ImageArn": "

The ARN of the public, private, or shared image to use.

", "Fleet$Arn": "

The ARN for the fleet.

", + "Fleet$ImageArn": "

The ARN for the public, private, or shared image.

", "Image$Arn": "

The ARN of the image.

", "Image$BaseImageArn": "

The ARN of the image from which this image was created.

", - "ImageBuilder$Arn": null, - "ImageBuilder$ImageArn": null, - "Stack$Arn": "

The ARN of the stack.

" + "ImageBuilder$Arn": "

The ARN for the image builder.

", + "ImageBuilder$ImageArn": "

The ARN of the image from which this builder was created.

", + "ListTagsForResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource.

", + "Stack$Arn": "

The ARN of the stack.

", + "TagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource.

", + "UntagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource.

", + "UpdateFleetRequest$ImageArn": "

The ARN of the public, private, or shared image to use.

" + } + }, + "ArnList": { + "base": null, + "refs": { + "DescribeImagesRequest$Arns": "

The ARNs of the public, private, and shared images to describe.

" } }, "AssociateFleetRequest": { @@ -85,6 +121,21 @@ "Session$AuthenticationType": "

The authentication method. The user is authenticated using a streaming URL (API) or SAML federation (SAML).

" } }, + "AwsAccountId": { + "base": null, + "refs": { + "AwsAccountIdList$member": null, + "DeleteImagePermissionsRequest$SharedAccountId": "

The 12-digit ID of the AWS account for which to delete image permissions.

", + "SharedImagePermissions$sharedAccountId": "

The 12-digit ID of the AWS account with which the image is shared.

", + "UpdateImagePermissionsRequest$SharedAccountId": "

The 12-digit ID of the AWS account for which you want add or update image permissions.

" + } + }, + "AwsAccountIdList": { + "base": null, + "refs": { + "DescribeImagePermissionsRequest$SharedAwsAccountIds": "

The 12-digit ID of one or more AWS accounts with which the image is shared.

" + } + }, "Boolean": { "base": null, "refs": { @@ -98,9 +149,11 @@ "base": null, "refs": { "CreateFleetRequest$EnableDefaultInternetAccess": "

Enables or disables default internet access for the fleet.

", - "CreateImageBuilderRequest$EnableDefaultInternetAccess": null, + "CreateImageBuilderRequest$EnableDefaultInternetAccess": "

Enables or disables default internet access for the image builder.

", "Fleet$EnableDefaultInternetAccess": "

Indicates whether default internet access is enabled for the fleet.

", - "ImageBuilder$EnableDefaultInternetAccess": null, + "ImageBuilder$EnableDefaultInternetAccess": "

Enables or disables default internet access for the image builder.

", + "ImagePermissions$allowFleet": "

Indicates whether the image can be used for a fleet.

", + "ImagePermissions$allowImageBuilder": "

Indicates whether the image can be used for an image builder.

", "UpdateFleetRequest$EnableDefaultInternetAccess": "

Enables or disables default internet access for the fleet.

" } }, @@ -122,6 +175,16 @@ "refs": { } }, + "CopyImageRequest": { + "base": null, + "refs": { + } + }, + "CopyImageResponse": { + "base": null, + "refs": { + } + }, "CreateDirectoryConfigRequest": { "base": null, "refs": { @@ -212,6 +275,16 @@ "refs": { } }, + "DeleteImagePermissionsRequest": { + "base": null, + "refs": { + } + }, + "DeleteImagePermissionsResult": { + "base": null, + "refs": { + } + }, "DeleteImageRequest": { "base": null, "refs": { @@ -262,6 +335,22 @@ "refs": { } }, + "DescribeImagePermissionsRequest": { + "base": null, + "refs": { + } + }, + "DescribeImagePermissionsResult": { + "base": null, + "refs": { + } + }, + "DescribeImagesMaxResults": { + "base": null, + "refs": { + "DescribeImagesRequest$MaxResults": "

The maximum size of each page of results.

" + } + }, "DescribeImagesRequest": { "base": null, "refs": { @@ -295,11 +384,12 @@ "Description": { "base": null, "refs": { - "CreateFleetRequest$Description": "

The description displayed to end users.

", - "CreateImageBuilderRequest$Description": null, - "CreateStackRequest$Description": "

The description displayed to end users.

", - "UpdateFleetRequest$Description": "

The description displayed to end users.

", - "UpdateStackRequest$Description": "

The description displayed to end users.

" + "CopyImageRequest$DestinationImageDescription": "

The description that the image will have when it is copied to the destination.

", + "CreateFleetRequest$Description": "

The description for display.

", + "CreateImageBuilderRequest$Description": "

The description for display.

", + "CreateStackRequest$Description": "

The description for display.

", + "UpdateFleetRequest$Description": "

The description for display.

", + "UpdateStackRequest$Description": "

The description for display.

" } }, "DirectoryConfig": { @@ -307,13 +397,13 @@ "refs": { "CreateDirectoryConfigResult$DirectoryConfig": "

Information about the directory configuration.

", "DirectoryConfigList$member": null, - "UpdateDirectoryConfigResult$DirectoryConfig": "

Information about the directory configuration.

" + "UpdateDirectoryConfigResult$DirectoryConfig": "

Information about the Directory Config object.

" } }, "DirectoryConfigList": { "base": null, "refs": { - "DescribeDirectoryConfigsResult$DirectoryConfigs": "

Information about the directory configurations.

" + "DescribeDirectoryConfigsResult$DirectoryConfigs": "

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.

" } }, "DirectoryName": { @@ -324,7 +414,7 @@ "DirectoryConfig$DirectoryName": "

The fully qualified name of the directory (for example, corp.example.com).

", "DirectoryNameList$member": null, "DomainJoinInfo$DirectoryName": "

The fully qualified name of the directory (for example, corp.example.com).

", - "UpdateDirectoryConfigRequest$DirectoryName": "

The name of the directory configuration.

" + "UpdateDirectoryConfigRequest$DirectoryName": "

The name of the Directory Config object.

" } }, "DirectoryNameList": { @@ -346,21 +436,33 @@ "DisplayName": { "base": null, "refs": { - "CreateFleetRequest$DisplayName": "

The fleet name displayed to end users.

", - "CreateImageBuilderRequest$DisplayName": null, - "CreateStackRequest$DisplayName": "

The stack name displayed to end users.

", - "UpdateFleetRequest$DisplayName": "

The fleet name displayed to end users.

", - "UpdateStackRequest$DisplayName": "

The stack name displayed to end users.

" + "CreateFleetRequest$DisplayName": "

The fleet name for display.

", + "CreateImageBuilderRequest$DisplayName": "

The image builder name for display.

", + "CreateStackRequest$DisplayName": "

The stack name for display.

", + "UpdateFleetRequest$DisplayName": "

The fleet name for display.

", + "UpdateStackRequest$DisplayName": "

The stack name for display.

" + } + }, + "Domain": { + "base": "GSuite domain for GDrive integration.", + "refs": { + "DomainList$member": null } }, "DomainJoinInfo": { - "base": "

Contains the information needed for streaming instances to join a domain.

", + "base": "

Contains the information needed to join a Microsoft Active Directory domain.

", + "refs": { + "CreateFleetRequest$DomainJoinInfo": "

The information needed to join a Microsoft Active Directory domain.

", + "CreateImageBuilderRequest$DomainJoinInfo": "

The information needed to join a Microsoft Active Directory domain.

", + "Fleet$DomainJoinInfo": "

The information needed to join a Microsoft Active Directory domain.

", + "ImageBuilder$DomainJoinInfo": "

The information needed to join a Microsoft Active Directory domain.

", + "UpdateFleetRequest$DomainJoinInfo": "

The information needed to join a Microsoft Active Directory domain.

" + } + }, + "DomainList": { + "base": null, "refs": { - "CreateFleetRequest$DomainJoinInfo": "

The information needed for streaming instances to join a domain.

", - "CreateImageBuilderRequest$DomainJoinInfo": null, - "Fleet$DomainJoinInfo": "

The information needed for streaming instances to join a domain.

", - "ImageBuilder$DomainJoinInfo": null, - "UpdateFleetRequest$DomainJoinInfo": "

The information needed for streaming instances to join a domain.

" + "StorageConnector$Domains": "

The names of the domains for the G Suite account.

" } }, "ErrorMessage": { @@ -368,6 +470,7 @@ "refs": { "ConcurrentModificationException$Message": null, "IncompatibleImageException$Message": null, + "InvalidAccountStatusException$Message": null, "InvalidParameterCombinationException$Message": null, "InvalidRoleException$Message": null, "LimitExceededException$Message": null, @@ -388,6 +491,14 @@ "refs": { } }, + "FeedbackURL": { + "base": null, + "refs": { + "CreateStackRequest$FeedbackURL": "

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.

", + "Stack$FeedbackURL": "

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.

", + "UpdateStackRequest$FeedbackURL": "

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.

" + } + }, "Fleet": { "base": "

Contains the parameters for a fleet.

", "refs": { @@ -418,7 +529,7 @@ "base": null, "refs": { "FleetError$ErrorCode": "

The error code.

", - "ResourceError$ErrorCode": null + "ResourceError$ErrorCode": "

The error code.

" } }, "FleetErrors": { @@ -442,49 +553,49 @@ "FleetType": { "base": null, "refs": { - "CreateFleetRequest$FleetType": null, - "Fleet$FleetType": null + "CreateFleetRequest$FleetType": "

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.

", + "Fleet$FleetType": "

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.

" } }, "Image": { "base": "

Describes an image.

", "refs": { - "DeleteImageResult$Image": null, + "DeleteImageResult$Image": "

Information about the image.

", "ImageList$member": null } }, "ImageBuilder": { - "base": null, + "base": "

Describes a streaming instance used for editing an image. New images are created from a snapshot through an image builder.

", "refs": { - "CreateImageBuilderResult$ImageBuilder": null, - "DeleteImageBuilderResult$ImageBuilder": null, + "CreateImageBuilderResult$ImageBuilder": "

Information about the image builder.

", + "DeleteImageBuilderResult$ImageBuilder": "

Information about the image builder.

", "ImageBuilderList$member": null, - "StartImageBuilderResult$ImageBuilder": null, - "StopImageBuilderResult$ImageBuilder": null + "StartImageBuilderResult$ImageBuilder": "

Information about the image builder.

", + "StopImageBuilderResult$ImageBuilder": "

Information about the image builder.

" } }, "ImageBuilderList": { "base": null, "refs": { - "DescribeImageBuildersResult$ImageBuilders": null + "DescribeImageBuildersResult$ImageBuilders": "

Information about the image builders.

" } }, "ImageBuilderState": { "base": null, "refs": { - "ImageBuilder$State": null + "ImageBuilder$State": "

The state of the image builder.

" } }, "ImageBuilderStateChangeReason": { - "base": null, + "base": "

Describes the reason why the last image builder state change occurred.

", "refs": { - "ImageBuilder$StateChangeReason": null + "ImageBuilder$StateChangeReason": "

The reason why the last state change occurred.

" } }, "ImageBuilderStateChangeReasonCode": { "base": null, "refs": { - "ImageBuilderStateChangeReason$Code": null + "ImageBuilderStateChangeReason$Code": "

The state change reason code.

" } }, "ImageList": { @@ -493,6 +604,14 @@ "DescribeImagesResult$Images": "

Information about the images.

" } }, + "ImagePermissions": { + "base": "

Describes the permissions for an image.

", + "refs": { + "Image$ImagePermissions": "

The permissions to provide to the destination AWS account for the specified image.

", + "SharedImagePermissions$imagePermissions": "

Describes the permissions for a shared image.

", + "UpdateImagePermissionsRequest$ImagePermissions": "

The permissions for the image.

" + } + }, "ImageState": { "base": null, "refs": { @@ -500,7 +619,7 @@ } }, "ImageStateChangeReason": { - "base": "

Describes the reason why the last state change occurred.

", + "base": "

Describes the reason why the last image state change occurred.

", "refs": { "Image$StateChangeReason": "

The reason why the last state change occurred.

" } @@ -527,7 +646,7 @@ "CreateFleetRequest$MaxUserDurationInSeconds": "

The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.

", "CreateFleetRequest$DisconnectTimeoutInSeconds": "

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.

", "DescribeDirectoryConfigsRequest$MaxResults": "

The maximum size of each page of results.

", - "DescribeImageBuildersRequest$MaxResults": null, + "DescribeImageBuildersRequest$MaxResults": "

The maximum size of each page of results.

", "DescribeSessionsRequest$Limit": "

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

", "Fleet$MaxUserDurationInSeconds": "

The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.

", "Fleet$DisconnectTimeoutInSeconds": "

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.

", @@ -535,6 +654,11 @@ "UpdateFleetRequest$DisconnectTimeoutInSeconds": "

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.

" } }, + "InvalidAccountStatusException": { + "base": "

The resource cannot be created because your AWS account is suspended. For assistance, contact AWS Support.

", + "refs": { + } + }, "InvalidParameterCombinationException": { "base": "

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

", "refs": { @@ -570,11 +694,27 @@ "refs": { } }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, "Long": { "base": null, "refs": { - "CreateImageBuilderStreamingURLRequest$Validity": null, - "CreateStreamingURLRequest$Validity": "

The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds.

" + "CreateImageBuilderStreamingURLRequest$Validity": "

The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 3600 seconds.

", + "CreateStreamingURLRequest$Validity": "

The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 60 seconds.

" + } + }, + "MaxResults": { + "base": null, + "refs": { + "DescribeImagePermissionsRequest$MaxResults": "

The maximum size of each results page.

" } }, "Metadata": { @@ -586,10 +726,24 @@ "Name": { "base": null, "refs": { + "CopyImageRequest$SourceImageName": "

The name of the image to copy.

", + "CopyImageRequest$DestinationImageName": "

The name that the image will have when it is copied to the destination.

", + "CopyImageResponse$DestinationImageName": "

The name of the destination image.

", "CreateFleetRequest$Name": "

A unique name for the fleet.

", - "CreateImageBuilderRequest$Name": null, - "DeleteImageBuilderRequest$Name": null, - "DeleteImageRequest$Name": null + "CreateImageBuilderRequest$Name": "

A unique name for the image builder.

", + "CreateStackRequest$Name": "

The name of the stack.

", + "DeleteImageBuilderRequest$Name": "

The name of the image builder.

", + "DeleteImagePermissionsRequest$Name": "

The name of the private image.

", + "DeleteImageRequest$Name": "

The name of the image.

", + "DescribeImagePermissionsRequest$Name": "

The name of the private image for which to describe permissions. The image must be one that you own.

", + "DescribeImagePermissionsResult$Name": "

The name of the private image.

", + "UpdateImagePermissionsRequest$Name": "

The name of the private image.

" + } + }, + "NetworkAccessConfiguration": { + "base": "

The network details of the fleet instance for the streaming session.

", + "refs": { + "Session$NetworkAccessConfiguration": "

The network details for the streaming session.

" } }, "OperationNotPermittedException": { @@ -612,11 +766,31 @@ "UpdateDirectoryConfigRequest$OrganizationalUnitDistinguishedNames": "

The distinguished names of the organizational units for computer accounts.

" } }, + "Permission": { + "base": null, + "refs": { + "UserSetting$Permission": "

Indicates whether the action is enabled or disabled.

" + } + }, "PlatformType": { "base": null, "refs": { "Image$Platform": "

The operating system platform of the image.

", - "ImageBuilder$Platform": null + "ImageBuilder$Platform": "

The operating system platform of the image builder.

" + } + }, + "RedirectURL": { + "base": null, + "refs": { + "CreateStackRequest$RedirectURL": "

The URL that users are redirected to after their streaming session ends.

", + "Stack$RedirectURL": "

The URL that users are redirected to after their streaming session ends.

", + "UpdateStackRequest$RedirectURL": "

The URL that users are redirected to after their streaming session ends.

" + } + }, + "RegionName": { + "base": null, + "refs": { + "CopyImageRequest$DestinationRegion": "

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.

" } }, "ResourceAlreadyExistsException": { @@ -625,7 +799,7 @@ } }, "ResourceError": { - "base": null, + "base": "

Describes a resource error.

", "refs": { "ResourceErrors$member": null } @@ -633,7 +807,7 @@ "ResourceErrors": { "base": null, "refs": { - "ImageBuilder$ImageBuilderErrors": null + "ImageBuilder$ImageBuilderErrors": "

The image builder errors.

" } }, "ResourceIdentifier": { @@ -689,6 +863,18 @@ "Session$State": "

The current state of the streaming session.

" } }, + "SharedImagePermissions": { + "base": "

Describes the permissions that are available to the specified AWS account for a shared image.

", + "refs": { + "SharedImagePermissionsList$member": null + } + }, + "SharedImagePermissionsList": { + "base": null, + "refs": { + "DescribeImagePermissionsResult$SharedImagePermissionsList": "

The permissions for a private image that you own.

" + } + }, "Stack": { "base": "

Describes a stack.

", "refs": { @@ -697,6 +883,18 @@ "UpdateStackResult$Stack": "

Information about the stack.

" } }, + "StackAttribute": { + "base": null, + "refs": { + "StackAttributes$member": null + } + }, + "StackAttributes": { + "base": null, + "refs": { + "UpdateStackRequest$AttributesToDelete": "

The stack attributes to delete.

" + } + }, "StackError": { "base": "

Describes a stack error.

", "refs": { @@ -762,7 +960,7 @@ } }, "StorageConnector": { - "base": "

Describes a storage connector.

", + "base": "

Describes a connector to enable persistent storage for users.

", "refs": { "StorageConnectorList$member": null } @@ -791,23 +989,22 @@ "base": null, "refs": { "Application$Name": "

The name of the application.

", - "Application$DisplayName": "

The application name displayed to end users.

", + "Application$DisplayName": "

The application name for display.

", "Application$IconURL": "

The URL for the application icon. This URL might be time-limited.

", "Application$LaunchPath": "

The path to the application executable in the instance.

", "Application$LaunchParameters": "

The arguments that are passed to the application at launch.

", - "AssociateFleetRequest$FleetName": "

The name of the fleet.

", + "AssociateFleetRequest$FleetName": "

The name of the fleet.

", "AssociateFleetRequest$StackName": "

The name of the stack.

", - "CreateFleetRequest$ImageName": "

The name of the image used by the fleet.

", + "CreateFleetRequest$ImageName": "

The name of the image used to create the fleet.

", "CreateFleetRequest$InstanceType": "

The instance type to use when launching fleet instances. The following instance types are available:

", - "CreateImageBuilderRequest$ImageName": null, - "CreateImageBuilderRequest$InstanceType": null, - "CreateImageBuilderStreamingURLRequest$Name": null, - "CreateImageBuilderStreamingURLResult$StreamingURL": null, - "CreateStackRequest$Name": "

The name of the stack.

", + "CreateImageBuilderRequest$ImageName": "

The name of the image used to create the builder.

", + "CreateImageBuilderRequest$InstanceType": "

The instance type to use when launching the image builder.

", + "CreateImageBuilderStreamingURLRequest$Name": "

The name of the image builder.

", + "CreateImageBuilderStreamingURLResult$StreamingURL": "

The URL to start the AppStream 2.0 streaming session.

", "CreateStreamingURLRequest$StackName": "

The name of the stack.

", "CreateStreamingURLRequest$FleetName": "

The name of the fleet.

", - "CreateStreamingURLRequest$ApplicationId": "

The ID of the application that must be launched after the session starts.

", - "CreateStreamingURLRequest$SessionContext": "

The session context of the streaming URL.

", + "CreateStreamingURLRequest$ApplicationId": "

The name of the application to launch after the session starts. This is the name that you specified as Name in the Image Assistant.

", + "CreateStreamingURLRequest$SessionContext": "

The session context. For more information, see Session Context in the Amazon AppStream 2.0 Developer Guide.

", "CreateStreamingURLResult$StreamingURL": "

The URL to start the AppStream 2.0 streaming session.

", "DeleteFleetRequest$Name": "

The name of the fleet.

", "DeleteStackRequest$Name": "

The name of the stack.

", @@ -815,10 +1012,14 @@ "DescribeDirectoryConfigsResult$NextToken": "

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$NextToken": "

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$NextToken": "

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$NextToken": null, - "DescribeImageBuildersResult$NextToken": null, - "DescribeSessionsRequest$StackName": "

The name of the stack.

", - "DescribeSessionsRequest$FleetName": "

The name of the fleet.

", + "DescribeImageBuildersRequest$NextToken": "

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$NextToken": "

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$NextToken": "

The pagination token to use to retrieve the next page of results. If this value is empty, only the first page is retrieved.

", + "DescribeImagePermissionsResult$NextToken": "

The pagination token to use to retrieve the next page of results. If this value is empty, only the first page is retrieved.

", + "DescribeImagesRequest$NextToken": "

The pagination token to use to retrieve the next page of results. If this value is empty, only the first page is retrieved.

", + "DescribeImagesResult$NextToken": "

The pagination token to use to retrieve the next page of results. If there are no more pages, this value is null.

", + "DescribeSessionsRequest$StackName": "

The name of the stack. This value is case-sensitive.

", + "DescribeSessionsRequest$FleetName": "

The name of the fleet. This value is case-sensitive.

", "DescribeSessionsRequest$NextToken": "

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.

", "DescribeSessionsResult$NextToken": "

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$NextToken": "

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.

", @@ -827,19 +1028,19 @@ "DisassociateFleetRequest$StackName": "

The name of the stack.

", "ExpireSessionRequest$SessionId": "

The ID of the streaming session.

", "Fleet$Name": "

The name of the fleet.

", - "Fleet$DisplayName": "

The fleet name displayed to end users.

", - "Fleet$Description": "

The description displayed to end users.

", - "Fleet$ImageName": "

The image used by the fleet.

", + "Fleet$DisplayName": "

The fleet name for display.

", + "Fleet$Description": "

The description for display.

", + "Fleet$ImageName": "

The name of the image used to create the fleet.

", "Fleet$InstanceType": "

The instance type to use when launching fleet instances.

", "FleetError$ErrorMessage": "

The error message.

", "Image$Name": "

The name of the image.

", - "Image$DisplayName": "

The image name displayed to end users.

", - "Image$Description": "

The description displayed to end users.

", - "ImageBuilder$Name": null, - "ImageBuilder$Description": null, - "ImageBuilder$DisplayName": null, - "ImageBuilder$InstanceType": null, - "ImageBuilderStateChangeReason$Message": null, + "Image$DisplayName": "

The image name for display.

", + "Image$Description": "

The description for display.

", + "ImageBuilder$Name": "

The name of the image builder.

", + "ImageBuilder$Description": "

The description for display.

", + "ImageBuilder$DisplayName": "

The image builder name for display.

", + "ImageBuilder$InstanceType": "

The instance type for the image builder.

", + "ImageBuilderStateChangeReason$Message": "

The state change reason message.

", "ImageStateChangeReason$Message": "

The state change reason message.

", "ListAssociatedFleetsRequest$StackName": "

The name of the stack.

", "ListAssociatedFleetsRequest$NextToken": "

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.

", @@ -849,22 +1050,24 @@ "ListAssociatedStacksResult$NextToken": "

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.

", "Metadata$key": null, "Metadata$value": null, - "ResourceError$ErrorMessage": null, + "NetworkAccessConfiguration$EniPrivateIpAddress": "

The private IP address of the elastic network interface that is attached to instances in your VPC.

", + "NetworkAccessConfiguration$EniId": "

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.

", + "ResourceError$ErrorMessage": "

The error message.

", "SecurityGroupIdList$member": null, "Session$Id": "

The ID of the streaming session.

", "Session$StackName": "

The name of the stack for the streaming session.

", "Session$FleetName": "

The name of the fleet for the streaming session.

", "Stack$Name": "

The name of the stack.

", - "Stack$Description": "

The description displayed to end users.

", - "Stack$DisplayName": "

The stack name displayed to end users.

", + "Stack$Description": "

The description for display.

", + "Stack$DisplayName": "

The stack name for display.

", "StackError$ErrorMessage": "

The error message.

", "StartFleetRequest$Name": "

The name of the fleet.

", - "StartImageBuilderRequest$Name": null, + "StartImageBuilderRequest$Name": "

The name of the image builder.

", "StopFleetRequest$Name": "

The name of the fleet.

", - "StopImageBuilderRequest$Name": null, + "StopImageBuilderRequest$Name": "

The name of the image builder.

", "StringList$member": null, "SubnetIdList$member": null, - "UpdateFleetRequest$ImageName": "

The name of the image used by the fleet.

", + "UpdateFleetRequest$ImageName": "

The name of the image used to create the fleet.

", "UpdateFleetRequest$Name": "

A unique name for the fleet.

", "UpdateFleetRequest$InstanceType": "

The instance type to use when launching fleet instances. The following instance types are available:

", "UpdateStackRequest$Name": "

The name of the stack.

" @@ -874,11 +1077,11 @@ "base": null, "refs": { "DescribeFleetsRequest$Names": "

The names of the fleets to describe.

", - "DescribeImageBuildersRequest$Names": null, + "DescribeImageBuildersRequest$Names": "

The names of the image builders to describe.

", "DescribeImagesRequest$Names": "

The names of the images to describe.

", "DescribeStacksRequest$Names": "

The names of the stacks to describe.

", - "ListAssociatedFleetsResult$Names": "

The names of the fleets.

", - "ListAssociatedStacksResult$Names": "

The names of the stacks.

" + "ListAssociatedFleetsResult$Names": "

The name of the fleet.

", + "ListAssociatedStacksResult$Names": "

The name of the stack.

" } }, "SubnetIdList": { @@ -887,20 +1090,66 @@ "VpcConfig$SubnetIds": "

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

" } }, + "TagKey": { + "base": null, + "refs": { + "TagKeyList$member": null, + "Tags$key": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$TagKeys": "

The tag keys for the tags to disassociate.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tags$value": null + } + }, + "Tags": { + "base": null, + "refs": { + "ListTagsForResourceResponse$Tags": "

The information about the tags.

", + "TagResourceRequest$Tags": "

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.

" + } + }, "Timestamp": { "base": null, "refs": { - "CreateImageBuilderStreamingURLResult$Expires": null, + "CreateImageBuilderStreamingURLResult$Expires": "

The elapsed time, in seconds after the Unix epoch, when this URL expires.

", "CreateStreamingURLResult$Expires": "

The elapsed time, in seconds after the Unix epoch, when this URL expires.

", "DirectoryConfig$CreatedTime": "

The time the directory configuration was created.

", "Fleet$CreatedTime": "

The time the fleet was created.

", "Image$CreatedTime": "

The time the image was created.

", "Image$PublicBaseImageReleasedDate": "

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.

", - "ImageBuilder$CreatedTime": null, - "ResourceError$ErrorTimestamp": null, + "ImageBuilder$CreatedTime": "

The time stamp when the image builder was created.

", + "ResourceError$ErrorTimestamp": "

The time the error occurred.

", "Stack$CreatedTime": "

The time the stack was created.

" } }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, "UpdateDirectoryConfigRequest": { "base": null, "refs": { @@ -921,6 +1170,16 @@ "refs": { } }, + "UpdateImagePermissionsRequest": { + "base": null, + "refs": { + } + }, + "UpdateImagePermissionsResult": { + "base": null, + "refs": { + } + }, "UpdateStackRequest": { "base": null, "refs": { @@ -938,9 +1197,24 @@ "Session$UserId": "

The identifier of the user for whom the session was created.

" } }, + "UserSetting": { + "base": "

Describes an action and whether the action is enabled or disabled for users during their streaming sessions.

", + "refs": { + "UserSettingList$member": null + } + }, + "UserSettingList": { + "base": null, + "refs": { + "CreateStackRequest$UserSettings": "

The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

", + "Stack$UserSettings": "

The actions that are enabled or disabled for users during their streaming sessions. By default these actions are enabled.

", + "UpdateStackRequest$UserSettings": "

The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

" + } + }, "VisibilityType": { "base": null, "refs": { + "DescribeImagesRequest$Type": "

The type of image (public, private, or shared) to describe.

", "Image$Visibility": "

Indicates whether the image is public or private.

" } }, @@ -948,9 +1222,9 @@ "base": "

Describes VPC configuration information.

", "refs": { "CreateFleetRequest$VpcConfig": "

The VPC configuration for the fleet.

", - "CreateImageBuilderRequest$VpcConfig": null, + "CreateImageBuilderRequest$VpcConfig": "

The VPC configuration for the image builder. You can specify only one subnet.

", "Fleet$VpcConfig": "

The VPC configuration for the fleet.

", - "ImageBuilder$VpcConfig": null, + "ImageBuilder$VpcConfig": "

The VPC configuration of the image builder.

", "UpdateFleetRequest$VpcConfig": "

The VPC configuration for the fleet.

" } } diff --git a/models/apis/appstream/2016-12-01/paginators-1.json b/models/apis/appstream/2016-12-01/paginators-1.json index 5677bd8e4a2..b39f18a8078 100644 --- a/models/apis/appstream/2016-12-01/paginators-1.json +++ b/models/apis/appstream/2016-12-01/paginators-1.json @@ -1,4 +1,14 @@ { "pagination": { + "DescribeImagePermissions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "DescribeImages": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } } } diff --git a/models/apis/appstream/2016-12-01/smoke.json b/models/apis/appstream/2016-12-01/smoke.json new file mode 100644 index 00000000000..49dca4295b2 --- /dev/null +++ b/models/apis/appstream/2016-12-01/smoke.json @@ -0,0 +1,11 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeStacks", + "input": {}, + "errorExpectedFromService": false + } + ] +} diff --git a/models/apis/appsync/2017-07-25/api-2.json b/models/apis/appsync/2017-07-25/api-2.json index c8879e72bd5..e833b57016d 100644 --- a/models/apis/appsync/2017-07-25/api-2.json +++ b/models/apis/appsync/2017-07-25/api-2.json @@ -27,7 +27,8 @@ {"shape":"UnauthorizedException"}, {"shape":"LimitExceededException"}, {"shape":"InternalFailureException"}, - {"shape":"ApiKeyLimitExceededException"} + {"shape":"ApiKeyLimitExceededException"}, + {"shape":"ApiKeyValidityOutOfBoundsException"} ] }, "CreateDataSource":{ @@ -60,7 +61,6 @@ {"shape":"ConcurrentModificationException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"}, - {"shape":"LimitExceededException"}, {"shape":"ApiLimitExceededException"} ] }, @@ -355,6 +355,23 @@ {"shape":"InternalFailureException"} ] }, + "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"} + ] + }, "UpdateDataSource":{ "name":"UpdateDataSource", "http":{ @@ -436,6 +453,14 @@ "error":{"httpStatusCode":400}, "exception":true }, + "ApiKeyValidityOutOfBoundsException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "ApiKeys":{ "type":"list", "member":{"shape":"ApiKey"} @@ -453,7 +478,8 @@ "enum":[ "API_KEY", "AWS_IAM", - "AMAZON_COGNITO_USER_POOLS" + "AMAZON_COGNITO_USER_POOLS", + "OPENID_CONNECT" ] }, "BadRequestException":{ @@ -483,7 +509,8 @@ "location":"uri", "locationName":"apiId" }, - "description":{"shape":"String"} + "description":{"shape":"String"}, + "expires":{"shape":"Long"} } }, "CreateApiKeyResponse":{ @@ -511,7 +538,8 @@ "serviceRoleArn":{"shape":"String"}, "dynamodbConfig":{"shape":"DynamodbDataSourceConfig"}, "lambdaConfig":{"shape":"LambdaDataSourceConfig"}, - "elasticsearchConfig":{"shape":"ElasticsearchDataSourceConfig"} + "elasticsearchConfig":{"shape":"ElasticsearchDataSourceConfig"}, + "httpConfig":{"shape":"HttpDataSourceConfig"} } }, "CreateDataSourceResponse":{ @@ -527,9 +555,11 @@ "authenticationType" ], "members":{ - "name":{"shape":"ResourceName"}, + "name":{"shape":"String"}, + "logConfig":{"shape":"LogConfig"}, "authenticationType":{"shape":"AuthenticationType"}, - "userPoolConfig":{"shape":"UserPoolConfig"} + "userPoolConfig":{"shape":"UserPoolConfig"}, + "openIDConnectConfig":{"shape":"OpenIDConnectConfig"} } }, "CreateGraphqlApiResponse":{ @@ -603,7 +633,8 @@ "serviceRoleArn":{"shape":"String"}, "dynamodbConfig":{"shape":"DynamodbDataSourceConfig"}, "lambdaConfig":{"shape":"LambdaDataSourceConfig"}, - "elasticsearchConfig":{"shape":"ElasticsearchDataSourceConfig"} + "elasticsearchConfig":{"shape":"ElasticsearchDataSourceConfig"}, + "httpConfig":{"shape":"HttpDataSourceConfig"} } }, "DataSourceType":{ @@ -611,7 +642,9 @@ "enum":[ "AWS_LAMBDA", "AMAZON_DYNAMODB", - "AMAZON_ELASTICSEARCH" + "AMAZON_ELASTICSEARCH", + "NONE", + "HTTP" ] }, "DataSources":{ @@ -767,6 +800,14 @@ } }, "ErrorMessage":{"type":"string"}, + "FieldLogLevel":{ + "type":"string", + "enum":[ + "NONE", + "ERROR", + "ALL" + ] + }, "GetDataSourceRequest":{ "type":"structure", "required":[ @@ -929,7 +970,9 @@ "name":{"shape":"ResourceName"}, "apiId":{"shape":"String"}, "authenticationType":{"shape":"AuthenticationType"}, + "logConfig":{"shape":"LogConfig"}, "userPoolConfig":{"shape":"UserPoolConfig"}, + "openIDConnectConfig":{"shape":"OpenIDConnectConfig"}, "arn":{"shape":"String"}, "uris":{"shape":"MapOfStringToString"} } @@ -938,6 +981,12 @@ "type":"list", "member":{"shape":"GraphqlApi"} }, + "HttpDataSourceConfig":{ + "type":"structure", + "members":{ + "endpoint":{"shape":"String"} + } + }, "InternalFailureException":{ "type":"structure", "members":{ @@ -1112,6 +1161,17 @@ "nextToken":{"shape":"PaginationToken"} } }, + "LogConfig":{ + "type":"structure", + "required":[ + "fieldLogLevel", + "cloudWatchLogsRoleArn" + ], + "members":{ + "fieldLogLevel":{"shape":"FieldLogLevel"}, + "cloudWatchLogsRoleArn":{"shape":"String"} + } + }, "Long":{"type":"long"}, "MapOfStringToString":{ "type":"map", @@ -1121,7 +1181,7 @@ "MappingTemplate":{ "type":"string", "max":65536, - "min":0 + "min":1 }, "MaxResults":{ "type":"integer", @@ -1136,6 +1196,16 @@ "error":{"httpStatusCode":404}, "exception":true }, + "OpenIDConnectConfig":{ + "type":"structure", + "required":["issuer"], + "members":{ + "issuer":{"shape":"String"}, + "clientId":{"shape":"String"}, + "iatTTL":{"shape":"Long"}, + "authTTL":{"shape":"Long"} + } + }, "OutputType":{ "type":"string", "enum":[ @@ -1225,6 +1295,33 @@ "error":{"httpStatusCode":401}, "exception":true }, + "UpdateApiKeyRequest":{ + "type":"structure", + "required":[ + "apiId", + "id" + ], + "members":{ + "apiId":{ + "shape":"String", + "location":"uri", + "locationName":"apiId" + }, + "id":{ + "shape":"String", + "location":"uri", + "locationName":"id" + }, + "description":{"shape":"String"}, + "expires":{"shape":"Long"} + } + }, + "UpdateApiKeyResponse":{ + "type":"structure", + "members":{ + "apiKey":{"shape":"ApiKey"} + } + }, "UpdateDataSourceRequest":{ "type":"structure", "required":[ @@ -1248,7 +1345,8 @@ "serviceRoleArn":{"shape":"String"}, "dynamodbConfig":{"shape":"DynamodbDataSourceConfig"}, "lambdaConfig":{"shape":"LambdaDataSourceConfig"}, - "elasticsearchConfig":{"shape":"ElasticsearchDataSourceConfig"} + "elasticsearchConfig":{"shape":"ElasticsearchDataSourceConfig"}, + "httpConfig":{"shape":"HttpDataSourceConfig"} } }, "UpdateDataSourceResponse":{ @@ -1269,9 +1367,11 @@ "location":"uri", "locationName":"apiId" }, - "name":{"shape":"ResourceName"}, + "name":{"shape":"String"}, + "logConfig":{"shape":"LogConfig"}, "authenticationType":{"shape":"AuthenticationType"}, - "userPoolConfig":{"shape":"UserPoolConfig"} + "userPoolConfig":{"shape":"UserPoolConfig"}, + "openIDConnectConfig":{"shape":"OpenIDConnectConfig"} } }, "UpdateGraphqlApiResponse":{ diff --git a/models/apis/appsync/2017-07-25/docs-2.json b/models/apis/appsync/2017-07-25/docs-2.json index b6908856fe5..6a97fd7f2c5 100644 --- a/models/apis/appsync/2017-07-25/docs-2.json +++ b/models/apis/appsync/2017-07-25/docs-2.json @@ -18,12 +18,13 @@ "GetResolver": "

Retrieves a Resolver object.

", "GetSchemaCreationStatus": "

Retrieves the current status of a schema creation operation.

", "GetType": "

Retrieves a Type object.

", - "ListApiKeys": "

Lists the API keys for a given API.

", + "ListApiKeys": "

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

Lists the data sources for a given API.

", "ListGraphqlApis": "

Lists your GraphQL APIs.

", "ListResolvers": "

Lists the resolvers for a given API and type.

", "ListTypes": "

Lists the types for a given API.

", "StartSchemaCreation": "

Adds a new schema to your GraphQL API.

This operation is asynchronous. Use to determine when it has completed.

", + "UpdateApiKey": "

Updates an API key.

", "UpdateDataSource": "

Updates a DataSource object.

", "UpdateGraphqlApi": "

Updates a GraphqlApi object.

", "UpdateResolver": "

Updates a Resolver object.

", @@ -31,10 +32,11 @@ }, "shapes": { "ApiKey": { - "base": "

Describes an API key.

", + "base": "

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.

da2: This version was introduced in February 2018 when AppSync added support to extend key expiration.

", "refs": { "ApiKeys$member": null, - "CreateApiKeyResponse$apiKey": "

The API key.

" + "CreateApiKeyResponse$apiKey": "

The API key.

", + "UpdateApiKeyResponse$apiKey": "

The API key.

" } }, "ApiKeyLimitExceededException": { @@ -42,6 +44,11 @@ "refs": { } }, + "ApiKeyValidityOutOfBoundsException": { + "base": "

The API key expiration must be set to a value between 1 and 365 days from creation (for CreateApiKey) or from update (for UpdateApiKey).

", + "refs": { + } + }, "ApiKeys": { "base": null, "refs": { @@ -147,7 +154,7 @@ "base": null, "refs": { "CreateDataSourceRequest$type": "

The type of the DataSource.

", - "DataSource$type": "

The type of the data source.

", + "DataSource$type": "

The type of the data source.

", "UpdateDataSourceRequest$type": "

The new data source type.

" } }, @@ -237,6 +244,12 @@ "GraphQLSchemaException$message": null } }, + "FieldLogLevel": { + "base": null, + "refs": { + "LogConfig$fieldLogLevel": "

The field logging level. Values can be NONE, ERROR, ALL.

" + } + }, "GetDataSourceRequest": { "base": null, "refs": { @@ -308,7 +321,7 @@ "CreateGraphqlApiResponse$graphqlApi": "

The GraphqlApi.

", "GetGraphqlApiResponse$graphqlApi": "

The GraphqlApi object.

", "GraphqlApis$member": null, - "UpdateGraphqlApiResponse$graphqlApi": "

The udpated GraphqlApi object.

" + "UpdateGraphqlApiResponse$graphqlApi": "

The updated GraphqlApi object.

" } }, "GraphqlApis": { @@ -317,6 +330,14 @@ "ListGraphqlApisResponse$graphqlApis": "

The GraphqlApi objects.

" } }, + "HttpDataSourceConfig": { + "base": "

Describes a Http data source configuration.

", + "refs": { + "CreateDataSourceRequest$httpConfig": "

Http endpoint settings.

", + "DataSource$httpConfig": "

Http endpoint settings.

", + "UpdateDataSourceRequest$httpConfig": "

The new http endpoint configuration

" + } + }, "InternalFailureException": { "base": "

An internal AWS AppSync error occurred. Try your request again.

", "refs": { @@ -385,10 +406,22 @@ "refs": { } }, + "LogConfig": { + "base": "

The CloudWatch Logs configuration.

", + "refs": { + "CreateGraphqlApiRequest$logConfig": "

The Amazon CloudWatch logs configuration.

", + "GraphqlApi$logConfig": "

The Amazon CloudWatch Logs configuration.

", + "UpdateGraphqlApiRequest$logConfig": "

The Amazon CloudWatch logs configuration for the GraphqlApi object.

" + } + }, "Long": { "base": null, "refs": { - "ApiKey$expires": "

The time when the API key expires.

" + "ApiKey$expires": "

The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour.

", + "CreateApiKeyRequest$expires": "

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 .

", + "OpenIDConnectConfig$iatTTL": "

The number of milliseconds a token is valid after being issued to a user.

", + "OpenIDConnectConfig$authTTL": "

The number of milliseconds a token is valid after being authenticated.

", + "UpdateApiKeyRequest$expires": "

The time from update time after which the API key expires. The date is represented as seconds since the epoch. For more information, see .

" } }, "MapOfStringToString": { @@ -400,7 +433,7 @@ "MappingTemplate": { "base": null, "refs": { - "CreateResolverRequest$requestMappingTemplate": "

The mapping template to be used for requests.

A resolver use 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).

", + "CreateResolverRequest$requestMappingTemplate": "

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

", "CreateResolverRequest$responseMappingTemplate": "

The mapping template to be used for responses from the data source.

", "Resolver$requestMappingTemplate": "

The request mapping template.

", "Resolver$responseMappingTemplate": "

The response mapping template.

", @@ -423,6 +456,14 @@ "refs": { } }, + "OpenIDConnectConfig": { + "base": "

Describes an Open Id Connect configuration.

", + "refs": { + "CreateGraphqlApiRequest$openIDConnectConfig": "

The Open Id Connect configuration configuration.

", + "GraphqlApi$openIDConnectConfig": "

The Open Id Connect configuration.

", + "UpdateGraphqlApiRequest$openIDConnectConfig": "

The Open Id Connect configuration configuration for the GraphqlApi object.

" + } + }, "OutputType": { "base": null, "refs": { @@ -463,7 +504,6 @@ "base": null, "refs": { "CreateDataSourceRequest$name": "

A user-supplied name for the DataSource.

", - "CreateGraphqlApiRequest$name": "

A user-supplied name for the GraphqlApi.

", "CreateResolverRequest$typeName": "

The name of the Type.

", "CreateResolverRequest$fieldName": "

The name of the field to attach the resolver to.

", "CreateResolverRequest$dataSourceName": "

The name of the data source for which the resolver is being created.

", @@ -482,7 +522,6 @@ "Resolver$dataSourceName": "

The resolver data source name.

", "Type$name": "

The type name.

", "UpdateDataSourceRequest$name": "

The new name for the data source.

", - "UpdateGraphqlApiRequest$name": "

The new name for the GraphqlApi object.

", "UpdateResolverRequest$typeName": "

The new type name.

", "UpdateResolverRequest$fieldName": "

The new field name.

", "UpdateResolverRequest$dataSourceName": "

The new data source name.

", @@ -512,12 +551,14 @@ "ApiKey$id": "

The API key ID.

", "ApiKey$description": "

A description of the purpose of the API key.

", "ApiKeyLimitExceededException$message": null, + "ApiKeyValidityOutOfBoundsException$message": null, "ApiLimitExceededException$message": null, "CreateApiKeyRequest$apiId": "

The ID for your GraphQL API.

", "CreateApiKeyRequest$description": "

A description of the purpose of the API key.

", "CreateDataSourceRequest$apiId": "

The API ID for the GraphQL API for the DataSource.

", "CreateDataSourceRequest$description": "

A description of the DataSource.

", "CreateDataSourceRequest$serviceRoleArn": "

The IAM service role ARN for the data source. The system assumes this role when accessing the data source.

", + "CreateGraphqlApiRequest$name": "

A user-supplied name for the GraphqlApi.

", "CreateResolverRequest$apiId": "

The ID for the GraphQL API for which the resolver is being created.

", "CreateTypeRequest$apiId": "

The API ID.

", "CreateTypeRequest$definition": "

The type definition, in GraphQL Schema Definition Language (SDL) format.

For more information, see the GraphQL SDL documentation.

", @@ -543,6 +584,7 @@ "GetTypeRequest$apiId": "

The API ID.

", "GraphqlApi$apiId": "

The API ID.

", "GraphqlApi$arn": "

The ARN.

", + "HttpDataSourceConfig$endpoint": "

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.

", "InternalFailureException$message": null, "LambdaDataSourceConfig$lambdaFunctionArn": "

The ARN for the Lambda function.

", "LimitExceededException$message": null, @@ -551,19 +593,26 @@ "ListResolversRequest$apiId": "

The API ID.

", "ListResolversRequest$typeName": "

The type name.

", "ListTypesRequest$apiId": "

The API ID.

", + "LogConfig$cloudWatchLogsRoleArn": "

The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in your account.

", "MapOfStringToString$key": null, "MapOfStringToString$value": null, "NotFoundException$message": null, + "OpenIDConnectConfig$issuer": "

The issuer for the open id connect configuration. The issuer returned by discovery MUST exactly match the value of iss in the ID Token.

", + "OpenIDConnectConfig$clientId": "

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

", "Resolver$resolverArn": "

The resolver ARN.

", "StartSchemaCreationRequest$apiId": "

The API ID.

", "Type$description": "

The type description.

", "Type$arn": "

The type ARN.

", "Type$definition": "

The type definition.

", "UnauthorizedException$message": null, + "UpdateApiKeyRequest$apiId": "

The ID for the GraphQL API

", + "UpdateApiKeyRequest$id": "

The API key ID.

", + "UpdateApiKeyRequest$description": "

A description of the purpose of the API key.

", "UpdateDataSourceRequest$apiId": "

The API ID.

", "UpdateDataSourceRequest$description": "

The new description for the data source.

", "UpdateDataSourceRequest$serviceRoleArn": "

The new service role ARN for the data source.

", "UpdateGraphqlApiRequest$apiId": "

The API ID.

", + "UpdateGraphqlApiRequest$name": "

The new name for the GraphqlApi object.

", "UpdateResolverRequest$apiId": "

The API ID.

", "UpdateTypeRequest$apiId": "

The API ID.

", "UpdateTypeRequest$definition": "

The new definition.

", @@ -602,6 +651,16 @@ "refs": { } }, + "UpdateApiKeyRequest": { + "base": null, + "refs": { + } + }, + "UpdateApiKeyResponse": { + "base": null, + "refs": { + } + }, "UpdateDataSourceRequest": { "base": null, "refs": { diff --git a/models/apis/autoscaling-plans/2018-01-06/api-2.json b/models/apis/autoscaling-plans/2018-01-06/api-2.json new file mode 100644 index 00000000000..547973dd387 --- /dev/null +++ b/models/apis/autoscaling-plans/2018-01-06/api-2.json @@ -0,0 +1,529 @@ +{ + "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"} + ] + }, + "DeleteScalingPlan":{ + "name":"DeleteScalingPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteScalingPlanRequest"}, + "output":{"shape":"DeleteScalingPlanResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ObjectNotFoundException"}, + {"shape":"ConcurrentUpdateException"}, + {"shape":"InternalServiceException"} + ] + }, + "DescribeScalingPlanResources":{ + "name":"DescribeScalingPlanResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeScalingPlanResourcesRequest"}, + "output":{"shape":"DescribeScalingPlanResourcesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ConcurrentUpdateException"}, + {"shape":"InternalServiceException"} + ] + }, + "DescribeScalingPlans":{ + "name":"DescribeScalingPlans", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeScalingPlansRequest"}, + "output":{"shape":"DescribeScalingPlansResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ConcurrentUpdateException"}, + {"shape":"InternalServiceException"} + ] + }, + "UpdateScalingPlan":{ + "name":"UpdateScalingPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateScalingPlanRequest"}, + "output":{"shape":"UpdateScalingPlanResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConcurrentUpdateException"}, + {"shape":"InternalServiceException"}, + {"shape":"ObjectNotFoundException"} + ] + } + }, + "shapes":{ + "ApplicationSource":{ + "type":"structure", + "members":{ + "CloudFormationStackARN":{"shape":"XmlString"}, + "TagFilters":{"shape":"TagFilters"} + } + }, + "ApplicationSources":{ + "type":"list", + "member":{"shape":"ApplicationSource"} + }, + "ConcurrentUpdateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "Cooldown":{"type":"integer"}, + "CreateScalingPlanRequest":{ + "type":"structure", + "required":[ + "ScalingPlanName", + "ApplicationSource", + "ScalingInstructions" + ], + "members":{ + "ScalingPlanName":{"shape":"ScalingPlanName"}, + "ApplicationSource":{"shape":"ApplicationSource"}, + "ScalingInstructions":{"shape":"ScalingInstructions"} + } + }, + "CreateScalingPlanResponse":{ + "type":"structure", + "required":["ScalingPlanVersion"], + "members":{ + "ScalingPlanVersion":{"shape":"ScalingPlanVersion"} + } + }, + "CustomizedScalingMetricSpecification":{ + "type":"structure", + "required":[ + "MetricName", + "Namespace", + "Statistic" + ], + "members":{ + "MetricName":{"shape":"MetricName"}, + "Namespace":{"shape":"MetricNamespace"}, + "Dimensions":{"shape":"MetricDimensions"}, + "Statistic":{"shape":"MetricStatistic"}, + "Unit":{"shape":"MetricUnit"} + } + }, + "DeleteScalingPlanRequest":{ + "type":"structure", + "required":[ + "ScalingPlanName", + "ScalingPlanVersion" + ], + "members":{ + "ScalingPlanName":{"shape":"ScalingPlanName"}, + "ScalingPlanVersion":{"shape":"ScalingPlanVersion"} + } + }, + "DeleteScalingPlanResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeScalingPlanResourcesRequest":{ + "type":"structure", + "required":[ + "ScalingPlanName", + "ScalingPlanVersion" + ], + "members":{ + "ScalingPlanName":{"shape":"ScalingPlanName"}, + "ScalingPlanVersion":{"shape":"ScalingPlanVersion"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeScalingPlanResourcesResponse":{ + "type":"structure", + "members":{ + "ScalingPlanResources":{"shape":"ScalingPlanResources"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeScalingPlansRequest":{ + "type":"structure", + "members":{ + "ScalingPlanNames":{"shape":"ScalingPlanNames"}, + "ScalingPlanVersion":{"shape":"ScalingPlanVersion"}, + "ApplicationSources":{"shape":"ApplicationSources"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeScalingPlansResponse":{ + "type":"structure", + "members":{ + "ScalingPlans":{"shape":"ScalingPlans"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DisableScaleIn":{"type":"boolean"}, + "ErrorMessage":{"type":"string"}, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "MaxResults":{"type":"integer"}, + "MetricDimension":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{"shape":"MetricDimensionName"}, + "Value":{"shape":"MetricDimensionValue"} + } + }, + "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"} + }, + "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"}, + "ResourceLabel":{"shape":"ResourceLabel"} + } + }, + "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"}, + "ResourceId":{"shape":"ResourceIdMaxLen1600"}, + "ScalableDimension":{"shape":"ScalableDimension"}, + "MinCapacity":{"shape":"ResourceCapacity"}, + "MaxCapacity":{"shape":"ResourceCapacity"}, + "TargetTrackingConfigurations":{"shape":"TargetTrackingConfigurations"} + } + }, + "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"}, + "ScalingPlanVersion":{"shape":"ScalingPlanVersion"}, + "ApplicationSource":{"shape":"ApplicationSource"}, + "ScalingInstructions":{"shape":"ScalingInstructions"}, + "StatusCode":{"shape":"ScalingPlanStatusCode"}, + "StatusMessage":{"shape":"XmlString"}, + "StatusStartTime":{"shape":"TimestampType"}, + "CreationTime":{"shape":"TimestampType"} + } + }, + "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"}, + "ScalingPlanVersion":{"shape":"ScalingPlanVersion"}, + "ServiceNamespace":{"shape":"ServiceNamespace"}, + "ResourceId":{"shape":"ResourceIdMaxLen1600"}, + "ScalableDimension":{"shape":"ScalableDimension"}, + "ScalingPolicies":{"shape":"ScalingPolicies"}, + "ScalingStatusCode":{"shape":"ScalingStatusCode"}, + "ScalingStatusMessage":{"shape":"XmlString"} + } + }, + "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"}, + "PolicyType":{"shape":"PolicyType"}, + "TargetTrackingConfiguration":{"shape":"TargetTrackingConfiguration"} + } + }, + "ScalingStatusCode":{ + "type":"string", + "enum":[ + "Inactive", + "PartiallyActive", + "Active" + ] + }, + "ServiceNamespace":{ + "type":"string", + "enum":[ + "autoscaling", + "ecs", + "ec2", + "rds", + "dynamodb" + ] + }, + "TagFilter":{ + "type":"structure", + "members":{ + "Key":{"shape":"XmlStringMaxLen128"}, + "Values":{"shape":"TagValues"} + } + }, + "TagFilters":{ + "type":"list", + "member":{"shape":"TagFilter"} + }, + "TagValues":{ + "type":"list", + "member":{"shape":"XmlStringMaxLen256"} + }, + "TargetTrackingConfiguration":{ + "type":"structure", + "required":["TargetValue"], + "members":{ + "PredefinedScalingMetricSpecification":{"shape":"PredefinedScalingMetricSpecification"}, + "CustomizedScalingMetricSpecification":{"shape":"CustomizedScalingMetricSpecification"}, + "TargetValue":{"shape":"MetricScale"}, + "DisableScaleIn":{"shape":"DisableScaleIn"}, + "ScaleOutCooldown":{"shape":"Cooldown"}, + "ScaleInCooldown":{"shape":"Cooldown"}, + "EstimatedInstanceWarmup":{"shape":"Cooldown"} + } + }, + "TargetTrackingConfigurations":{ + "type":"list", + "member":{"shape":"TargetTrackingConfiguration"} + }, + "TimestampType":{"type":"timestamp"}, + "UpdateScalingPlanRequest":{ + "type":"structure", + "required":[ + "ScalingPlanName", + "ScalingPlanVersion" + ], + "members":{ + "ApplicationSource":{"shape":"ApplicationSource"}, + "ScalingPlanName":{"shape":"ScalingPlanName"}, + "ScalingInstructions":{"shape":"ScalingInstructions"}, + "ScalingPlanVersion":{"shape":"ScalingPlanVersion"} + } + }, + "UpdateScalingPlanResponse":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "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]*" + } + } +} diff --git a/models/apis/autoscaling-plans/2018-01-06/docs-2.json b/models/apis/autoscaling-plans/2018-01-06/docs-2.json new file mode 100644 index 00000000000..06b99ca0a60 --- /dev/null +++ b/models/apis/autoscaling-plans/2018-01-06/docs-2.json @@ -0,0 +1,417 @@ +{ + "version": "2.0", + "service": "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.

", + "operations": { + "CreateScalingPlan": "

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

Deletes the specified scaling plan.

", + "DescribeScalingPlanResources": "

Describes the scalable resources in the specified scaling plan.

", + "DescribeScalingPlans": "

Describes the specified scaling plans or all of your scaling plans.

", + "UpdateScalingPlan": "

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

Represents an application source.

", + "refs": { + "ApplicationSources$member": null, + "CreateScalingPlanRequest$ApplicationSource": "

A CloudFormation stack or set of tags. You can create one scaling plan per application source.

", + "ScalingPlan$ApplicationSource": "

The application source.

", + "UpdateScalingPlanRequest$ApplicationSource": "

A CloudFormation stack or set of tags.

" + } + }, + "ApplicationSources": { + "base": null, + "refs": { + "DescribeScalingPlansRequest$ApplicationSources": "

The sources for the applications (up to 10). If you specify scaling plan names, you cannot specify application sources.

" + } + }, + "ConcurrentUpdateException": { + "base": "

Concurrent updates caused an exception, for example, if you request an update to a scaling plan that already has a pending update.

", + "refs": { + } + }, + "Cooldown": { + "base": null, + "refs": { + "TargetTrackingConfiguration$ScaleOutCooldown": "

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.

", + "TargetTrackingConfiguration$ScaleInCooldown": "

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.

", + "TargetTrackingConfiguration$EstimatedInstanceWarmup": "

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.

" + } + }, + "CreateScalingPlanRequest": { + "base": null, + "refs": { + } + }, + "CreateScalingPlanResponse": { + "base": null, + "refs": { + } + }, + "CustomizedScalingMetricSpecification": { + "base": "

Represents a customized metric for a target tracking policy.

", + "refs": { + "TargetTrackingConfiguration$CustomizedScalingMetricSpecification": "

A customized metric.

" + } + }, + "DeleteScalingPlanRequest": { + "base": null, + "refs": { + } + }, + "DeleteScalingPlanResponse": { + "base": null, + "refs": { + } + }, + "DescribeScalingPlanResourcesRequest": { + "base": null, + "refs": { + } + }, + "DescribeScalingPlanResourcesResponse": { + "base": null, + "refs": { + } + }, + "DescribeScalingPlansRequest": { + "base": null, + "refs": { + } + }, + "DescribeScalingPlansResponse": { + "base": null, + "refs": { + } + }, + "DisableScaleIn": { + "base": null, + "refs": { + "TargetTrackingConfiguration$DisableScaleIn": "

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.

" + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "ConcurrentUpdateException$Message": null, + "InternalServiceException$Message": null, + "InvalidNextTokenException$Message": null, + "LimitExceededException$Message": null, + "ObjectNotFoundException$Message": null, + "ValidationException$Message": null + } + }, + "InternalServiceException": { + "base": "

The service encountered an internal error.

", + "refs": { + } + }, + "InvalidNextTokenException": { + "base": "

The token provided is not valid.

", + "refs": { + } + }, + "LimitExceededException": { + "base": "

Your account exceeded a limit. This exception is thrown when a per-account resource limit is exceeded.

", + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "DescribeScalingPlanResourcesRequest$MaxResults": "

The maximum number of scalable resources to return. This value can be between 1 and 50. The default value is 50.

", + "DescribeScalingPlansRequest$MaxResults": "

The maximum number of scalable resources to return. This value can be between 1 and 50. The default value is 50.

" + } + }, + "MetricDimension": { + "base": "

Represents a dimension for a customized metric.

", + "refs": { + "MetricDimensions$member": null + } + }, + "MetricDimensionName": { + "base": null, + "refs": { + "MetricDimension$Name": "

The name of the dimension.

" + } + }, + "MetricDimensionValue": { + "base": null, + "refs": { + "MetricDimension$Value": "

The value of the dimension.

" + } + }, + "MetricDimensions": { + "base": null, + "refs": { + "CustomizedScalingMetricSpecification$Dimensions": "

The dimensions of the metric.

" + } + }, + "MetricName": { + "base": null, + "refs": { + "CustomizedScalingMetricSpecification$MetricName": "

The name of the metric.

" + } + }, + "MetricNamespace": { + "base": null, + "refs": { + "CustomizedScalingMetricSpecification$Namespace": "

The namespace of the metric.

" + } + }, + "MetricScale": { + "base": null, + "refs": { + "TargetTrackingConfiguration$TargetValue": "

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

" + } + }, + "MetricStatistic": { + "base": null, + "refs": { + "CustomizedScalingMetricSpecification$Statistic": "

The statistic of the metric.

" + } + }, + "MetricUnit": { + "base": null, + "refs": { + "CustomizedScalingMetricSpecification$Unit": "

The unit of the metric.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "DescribeScalingPlanResourcesRequest$NextToken": "

The token for the next set of results.

", + "DescribeScalingPlanResourcesResponse$NextToken": "

The token required to get the next set of results. This value is null if there are no more results to return.

", + "DescribeScalingPlansRequest$NextToken": "

The token for the next set of results.

", + "DescribeScalingPlansResponse$NextToken": "

The token required to get the next set of results. This value is null if there are no more results to return.

" + } + }, + "ObjectNotFoundException": { + "base": "

The specified object could not be found.

", + "refs": { + } + }, + "PolicyName": { + "base": null, + "refs": { + "ScalingPolicy$PolicyName": "

The name of the scaling policy.

" + } + }, + "PolicyType": { + "base": null, + "refs": { + "ScalingPolicy$PolicyType": "

The type of scaling policy.

" + } + }, + "PredefinedScalingMetricSpecification": { + "base": "

Represents a predefined metric for a target tracking policy.

", + "refs": { + "TargetTrackingConfiguration$PredefinedScalingMetricSpecification": "

A predefined metric.

" + } + }, + "ResourceCapacity": { + "base": null, + "refs": { + "ScalingInstruction$MinCapacity": "

The minimum value to scale to in response to a scale in event.

", + "ScalingInstruction$MaxCapacity": "

The maximum value to scale to in response to a scale out event.

" + } + }, + "ResourceIdMaxLen1600": { + "base": null, + "refs": { + "ScalingInstruction$ResourceId": "

The ID of the resource. This string consists of the resource type and unique identifier.

", + "ScalingPlanResource$ResourceId": "

The ID of the resource. This string consists of the resource type and unique identifier.

" + } + }, + "ResourceLabel": { + "base": null, + "refs": { + "PredefinedScalingMetricSpecification$ResourceLabel": "

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:

" + } + }, + "ScalableDimension": { + "base": null, + "refs": { + "ScalingInstruction$ScalableDimension": "

The scalable dimension associated with the resource.

", + "ScalingPlanResource$ScalableDimension": "

The scalable dimension for the resource.

" + } + }, + "ScalingInstruction": { + "base": "

Specifies the scaling configuration for a scalable resource.

", + "refs": { + "ScalingInstructions$member": null + } + }, + "ScalingInstructions": { + "base": null, + "refs": { + "CreateScalingPlanRequest$ScalingInstructions": "

The scaling instructions.

", + "ScalingPlan$ScalingInstructions": "

The scaling instructions.

", + "UpdateScalingPlanRequest$ScalingInstructions": "

The scaling instructions.

" + } + }, + "ScalingMetricType": { + "base": null, + "refs": { + "PredefinedScalingMetricSpecification$PredefinedScalingMetricType": "

The metric type. The ALBRequestCountPerTarget metric type applies only to Auto Scaling groups, Sport Fleet requests, and ECS services.

" + } + }, + "ScalingPlan": { + "base": "

Represents a scaling plan.

", + "refs": { + "ScalingPlans$member": null + } + }, + "ScalingPlanName": { + "base": null, + "refs": { + "CreateScalingPlanRequest$ScalingPlanName": "

The name of the scaling plan. Names cannot contain vertical bars, colons, or forward slashes.

", + "DeleteScalingPlanRequest$ScalingPlanName": "

The name of the scaling plan.

", + "DescribeScalingPlanResourcesRequest$ScalingPlanName": "

The name of the scaling plan.

", + "ScalingPlan$ScalingPlanName": "

The name of the scaling plan.

", + "ScalingPlanNames$member": null, + "ScalingPlanResource$ScalingPlanName": "

The name of the scaling plan.

", + "UpdateScalingPlanRequest$ScalingPlanName": "

The name of the scaling plan.

" + } + }, + "ScalingPlanNames": { + "base": null, + "refs": { + "DescribeScalingPlansRequest$ScalingPlanNames": "

The names of the scaling plans (up to 10). If you specify application sources, you cannot specify scaling plan names.

" + } + }, + "ScalingPlanResource": { + "base": "

Represents a scalable resource.

", + "refs": { + "ScalingPlanResources$member": null + } + }, + "ScalingPlanResources": { + "base": null, + "refs": { + "DescribeScalingPlanResourcesResponse$ScalingPlanResources": "

Information about the scalable resources.

" + } + }, + "ScalingPlanStatusCode": { + "base": null, + "refs": { + "ScalingPlan$StatusCode": "

The status of the scaling plan.

" + } + }, + "ScalingPlanVersion": { + "base": null, + "refs": { + "CreateScalingPlanResponse$ScalingPlanVersion": "

The version of the scaling plan. This value is always 1.

", + "DeleteScalingPlanRequest$ScalingPlanVersion": "

The version of the scaling plan.

", + "DescribeScalingPlanResourcesRequest$ScalingPlanVersion": "

The version of the scaling plan.

", + "DescribeScalingPlansRequest$ScalingPlanVersion": "

The version of the scaling plan. If you specify a scaling plan version, you must also specify a scaling plan name.

", + "ScalingPlan$ScalingPlanVersion": "

The version of the scaling plan.

", + "ScalingPlanResource$ScalingPlanVersion": "

The version of the scaling plan.

", + "UpdateScalingPlanRequest$ScalingPlanVersion": "

The version number.

" + } + }, + "ScalingPlans": { + "base": null, + "refs": { + "DescribeScalingPlansResponse$ScalingPlans": "

Information about the scaling plans.

" + } + }, + "ScalingPolicies": { + "base": null, + "refs": { + "ScalingPlanResource$ScalingPolicies": "

The scaling policies.

" + } + }, + "ScalingPolicy": { + "base": "

Represents a scaling policy.

", + "refs": { + "ScalingPolicies$member": null + } + }, + "ScalingStatusCode": { + "base": null, + "refs": { + "ScalingPlanResource$ScalingStatusCode": "

The scaling status of the resource.

" + } + }, + "ServiceNamespace": { + "base": null, + "refs": { + "ScalingInstruction$ServiceNamespace": "

The namespace of the AWS service.

", + "ScalingPlanResource$ServiceNamespace": "

The namespace of the AWS service.

" + } + }, + "TagFilter": { + "base": "

Represents a tag.

", + "refs": { + "TagFilters$member": null + } + }, + "TagFilters": { + "base": null, + "refs": { + "ApplicationSource$TagFilters": "

A set of tags (up to 50).

" + } + }, + "TagValues": { + "base": null, + "refs": { + "TagFilter$Values": "

The tag values (0 to 20).

" + } + }, + "TargetTrackingConfiguration": { + "base": "

Represents a target tracking scaling policy.

", + "refs": { + "ScalingPolicy$TargetTrackingConfiguration": "

The target tracking scaling policy.

", + "TargetTrackingConfigurations$member": null + } + }, + "TargetTrackingConfigurations": { + "base": null, + "refs": { + "ScalingInstruction$TargetTrackingConfigurations": "

The target tracking scaling policies (up to 10).

" + } + }, + "TimestampType": { + "base": null, + "refs": { + "ScalingPlan$StatusStartTime": "

The Unix timestamp when the scaling plan entered the current status.

", + "ScalingPlan$CreationTime": "

The Unix timestamp when the scaling plan was created.

" + } + }, + "UpdateScalingPlanRequest": { + "base": null, + "refs": { + } + }, + "UpdateScalingPlanResponse": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

An exception was thrown for a validation issue. Review the parameters provided.

", + "refs": { + } + }, + "XmlString": { + "base": null, + "refs": { + "ApplicationSource$CloudFormationStackARN": "

The Amazon Resource Name (ARN) of a CloudFormation stack.

", + "ScalingPlan$StatusMessage": "

A simple message about the current status of the scaling plan.

", + "ScalingPlanResource$ScalingStatusMessage": "

A simple message about the current scaling status of the resource.

" + } + }, + "XmlStringMaxLen128": { + "base": null, + "refs": { + "TagFilter$Key": "

The tag key.

" + } + }, + "XmlStringMaxLen256": { + "base": null, + "refs": { + "TagValues$member": null + } + } + } +} diff --git a/models/apis/clouddirectory/2016-05-10/examples-1.json b/models/apis/autoscaling-plans/2018-01-06/examples-1.json similarity index 100% rename from models/apis/clouddirectory/2016-05-10/examples-1.json rename to models/apis/autoscaling-plans/2018-01-06/examples-1.json diff --git a/models/apis/rds/2014-09-01/paginators-1.json b/models/apis/autoscaling-plans/2018-01-06/paginators-1.json similarity index 100% rename from models/apis/rds/2014-09-01/paginators-1.json rename to models/apis/autoscaling-plans/2018-01-06/paginators-1.json diff --git a/models/apis/autoscaling/2011-01-01/api-2.json b/models/apis/autoscaling/2011-01-01/api-2.json index 6dcaa716d34..5b3e0cf4590 100644 --- a/models/apis/autoscaling/2011-01-01/api-2.json +++ b/models/apis/autoscaling/2011-01-01/api-2.json @@ -18,7 +18,8 @@ }, "input":{"shape":"AttachInstancesQuery"}, "errors":[ - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ] }, "AttachLoadBalancerTargetGroups":{ @@ -33,7 +34,8 @@ "resultWrapper":"AttachLoadBalancerTargetGroupsResult" }, "errors":[ - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ] }, "AttachLoadBalancers":{ @@ -48,7 +50,8 @@ "resultWrapper":"AttachLoadBalancersResult" }, "errors":[ - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ] }, "CompleteLifecycleAction":{ @@ -76,7 +79,8 @@ "errors":[ {"shape":"AlreadyExistsFault"}, {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ] }, "CreateLaunchConfiguration":{ @@ -165,7 +169,8 @@ }, "input":{"shape":"DeletePolicyType"}, "errors":[ - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ] }, "DeleteScheduledAction":{ @@ -383,7 +388,8 @@ }, "errors":[ {"shape":"InvalidNextToken"}, - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ] }, "DescribeScalingActivities":{ @@ -596,7 +602,8 @@ "input":{"shape":"PutNotificationConfigurationType"}, "errors":[ {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ] }, "PutScalingPolicy":{ @@ -612,7 +619,8 @@ }, "errors":[ {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ] }, "PutScheduledUpdateGroupAction":{ @@ -731,7 +739,8 @@ "input":{"shape":"UpdateAutoScalingGroupType"}, "errors":[ {"shape":"ScalingActivityInProgressFault"}, - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ] } }, @@ -895,7 +904,8 @@ "Status":{"shape":"XmlStringMaxLen255"}, "Tags":{"shape":"TagDescriptionList"}, "TerminationPolicies":{"shape":"TerminationPolicies"}, - "NewInstancesProtectedFromScaleIn":{"shape":"InstanceProtected"} + "NewInstancesProtectedFromScaleIn":{"shape":"InstanceProtected"}, + "ServiceLinkedRoleARN":{"shape":"ResourceName"} } }, "AutoScalingGroupDesiredCapacity":{"type":"integer"}, @@ -1048,7 +1058,8 @@ "TerminationPolicies":{"shape":"TerminationPolicies"}, "NewInstancesProtectedFromScaleIn":{"shape":"InstanceProtected"}, "LifecycleHookSpecificationList":{"shape":"LifecycleHookSpecifications"}, - "Tags":{"shape":"Tags"} + "Tags":{"shape":"Tags"}, + "ServiceLinkedRoleARN":{"shape":"ResourceName"} } }, "CreateLaunchConfigurationType":{ @@ -2052,6 +2063,18 @@ "type":"list", "member":{"shape":"XmlString"} }, + "ServiceLinkedRoleFailure":{ + "type":"structure", + "members":{ + "message":{"shape":"XmlStringMaxLen255"} + }, + "error":{ + "code":"ServiceLinkedRoleFailure", + "httpStatusCode":500, + "senderFault":true + }, + "exception":true + }, "SetDesiredCapacityType":{ "type":"structure", "required":[ @@ -2220,7 +2243,8 @@ "PlacementGroup":{"shape":"XmlStringMaxLen255"}, "VPCZoneIdentifier":{"shape":"XmlStringMaxLen2047"}, "TerminationPolicies":{"shape":"TerminationPolicies"}, - "NewInstancesProtectedFromScaleIn":{"shape":"InstanceProtected"} + "NewInstancesProtectedFromScaleIn":{"shape":"InstanceProtected"}, + "ServiceLinkedRoleARN":{"shape":"ResourceName"} } }, "Values":{ diff --git a/models/apis/autoscaling/2011-01-01/docs-2.json b/models/apis/autoscaling/2011-01-01/docs-2.json index 4ec186ca94f..3eef3668e48 100644 --- a/models/apis/autoscaling/2011-01-01/docs-2.json +++ b/models/apis/autoscaling/2011-01-01/docs-2.json @@ -1,13 +1,13 @@ { "version": "2.0", - "service": "Auto Scaling

Auto Scaling is designed to automatically launch or terminate EC2 instances based on user-defined policies, schedules, and health checks. Use this service in conjunction with the Amazon CloudWatch and Elastic Load Balancing services.

", + "service": "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.

", "operations": { "AttachInstances": "

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

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

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

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

", "AttachLoadBalancerTargetGroups": "

Attaches one or more target groups to the specified Auto Scaling group.

To describe the target groups for an Auto Scaling group, use DescribeLoadBalancerTargetGroups. To detach the target group from the Auto Scaling group, use DetachLoadBalancerTargetGroups.

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

", "AttachLoadBalancers": "

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

To attach an Application Load Balancer instead, see AttachLoadBalancerTargetGroups.

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

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

", "CompleteLifecycleAction": "

Completes the lifecycle action for the specified token or instance with the specified result.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.

", - "CreateAutoScalingGroup": "

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, which by default is 20 per region, the call fails. For information about viewing and updating this limit, see DescribeAccountLimits.

For more information, see Auto Scaling Groups in the Auto Scaling User Guide.

", - "CreateLaunchConfiguration": "

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, which by default is 100 per region, the call fails. For information about viewing and updating this limit, see DescribeAccountLimits.

For more information, see Launch Configurations in the Auto Scaling User Guide.

", + "CreateAutoScalingGroup": "

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 Auto Scaling User Guide.

For more information, see Auto Scaling Groups in the Auto Scaling User Guide.

", + "CreateLaunchConfiguration": "

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 Auto Scaling User Guide.

For more information, see Launch Configurations in the Auto Scaling User Guide.

", "CreateOrUpdateTags": "

Creates or updates tags for the specified Auto Scaling group.

When you specify a tag with a key that already exists, the operation overwrites the previous tag definition, and you do not get an error message.

For more information, see Tagging Auto Scaling Groups and Instances in the Auto Scaling User Guide.

", "DeleteAutoScalingGroup": "

Deletes the specified Auto Scaling group.

If the group has instances or scaling activities in progress, you must specify the option to force the deletion in order for it to succeed.

If the group has policies, deleting the group deletes the policies, the underlying alarm actions, and any alarm that no longer has an associated action.

To remove instances from the Auto Scaling group before deleting it, call DetachInstances with the list of instances and the option to decrement the desired capacity so that Auto Scaling does not launch replacement instances.

To terminate all instances before deleting the Auto Scaling group, call UpdateAutoScalingGroup and set the minimum size and desired capacity of the Auto Scaling group to zero.

", "DeleteLaunchConfiguration": "

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.

", @@ -16,7 +16,7 @@ "DeletePolicy": "

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

Deletes the specified scheduled action.

", "DeleteTags": "

Deletes the specified tags.

", - "DescribeAccountLimits": "

Describes the current Auto Scaling resource limits for your AWS account.

For information about requesting an increase in these limits, see AWS Service Limits in the Amazon Web Services General Reference.

", + "DescribeAccountLimits": "

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 Auto Scaling User Guide.

", "DescribeAdjustmentTypes": "

Describes the policy adjustment types for use with PutScalingPolicy.

", "DescribeAutoScalingGroups": "

Describes one or more Auto Scaling groups.

", "DescribeAutoScalingInstances": "

Describes one or more Auto Scaling instances.

", @@ -133,7 +133,7 @@ "AssociatePublicIpAddress": { "base": null, "refs": { - "CreateLaunchConfigurationType$AssociatePublicIpAddress": "

Used for groups that launch instances into a virtual private cloud (VPC). Specifies whether to assign a public IP address to each instance. For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling User Guide.

If you specify this parameter, be sure to specify at least one subnet when you create your group.

Default: If the instance is launched into a default subnet, the default is true. If the instance is launched into a nondefault subnet, the default is false. For more information, see Supported Platforms in the Amazon Elastic Compute Cloud User Guide.

", + "CreateLaunchConfigurationType$AssociatePublicIpAddress": "

Used for groups that launch instances into a virtual private cloud (VPC). Specifies whether to assign a public IP address to each instance. For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling User Guide.

If you specify this parameter, be sure to specify at least one subnet when you create your group.

Default: If the instance is launched into a default subnet, the default is 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.

", "LaunchConfiguration$AssociatePublicIpAddress": "

[EC2-VPC] Indicates whether to assign a public IP address to each instance.

" } }, @@ -258,7 +258,7 @@ "BlockDeviceEbsDeleteOnTermination": { "base": null, "refs": { - "Ebs$DeleteOnTermination": "

Indicates whether the volume is deleted on instance termination.

Default: true

" + "Ebs$DeleteOnTermination": "

Indicates whether the volume is deleted on instance termination. The default is true.

" } }, "BlockDeviceEbsEncrypted": { @@ -514,7 +514,7 @@ "DisableScaleIn": { "base": null, "refs": { - "TargetTrackingConfiguration$DisableScaleIn": "

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 instances from the Auto Scaling group. Otherwise, scale in is enabled and the target tracking policy can remove instances from the Auto Scaling group. The default value is false.

" + "TargetTrackingConfiguration$DisableScaleIn": "

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.

" } }, "Ebs": { @@ -622,8 +622,8 @@ "HonorCooldown": { "base": null, "refs": { - "ExecutePolicyType$HonorCooldown": "

If this parameter is true, Auto Scaling waits for the cooldown period to complete before executing the policy. Otherwise, Auto Scaling executes the policy without waiting for the cooldown period to complete.

This parameter is not supported if the policy type is StepScaling.

For more information, see Auto Scaling Cooldowns in the Auto Scaling User Guide.

", - "SetDesiredCapacityType$HonorCooldown": "

By default, SetDesiredCapacity overrides any cooldown period associated with the Auto Scaling group. Specify True to make Auto Scaling to wait for the cool-down period associated with the Auto Scaling group to complete before initiating a scaling activity to set your Auto Scaling group to its new capacity.

" + "ExecutePolicyType$HonorCooldown": "

Indicates whether 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 Auto Scaling Cooldowns in the Auto Scaling User Guide.

", + "SetDesiredCapacityType$HonorCooldown": "

Indicates whether 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, Auto Scaling does not honor the cooldown period during manual scaling activities.

" } }, "Instance": { @@ -635,11 +635,11 @@ "InstanceIds": { "base": null, "refs": { - "AttachInstancesQuery$InstanceIds": "

One or more instance IDs.

", + "AttachInstancesQuery$InstanceIds": "

The IDs of the instances. You can specify up to 20 instances.

", "DescribeAutoScalingInstancesType$InstanceIds": "

The instances to describe; up to 50 instance IDs. If you omit this parameter, all Auto Scaling instances are described. If you specify an ID that does not exist, it is ignored with no error.

", - "DetachInstancesQuery$InstanceIds": "

One or more instance IDs.

", - "EnterStandbyQuery$InstanceIds": "

One or more instances to move into Standby mode. You must specify at least one instance ID.

", - "ExitStandbyQuery$InstanceIds": "

One or more instance IDs. You must specify at least one instance ID.

", + "DetachInstancesQuery$InstanceIds": "

The IDs of the instances. You can specify up to 20 instances.

", + "EnterStandbyQuery$InstanceIds": "

The IDs of the instances. You can specify up to 20 instances.

", + "ExitStandbyQuery$InstanceIds": "

The IDs of the instances. You can specify up to 20 instances.

", "SetInstanceProtectionQuery$InstanceIds": "

One or more instance IDs.

" } }, @@ -717,7 +717,7 @@ "AutoScalingInstanceDetails$LaunchTemplate": "

The launch template for the instance.

", "CreateAutoScalingGroupType$LaunchTemplate": "

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.

", "Instance$LaunchTemplate": "

The launch template for the instance.

", - "UpdateAutoScalingGroupType$LaunchTemplate": "

The launch template to use to specify the updates. You must specify a launch configuration or a launch template.

" + "UpdateAutoScalingGroupType$LaunchTemplate": "

The launch template to use to specify the updates. If you specify a launch template, you can't specify a launch configuration.

" } }, "LifecycleActionResult": { @@ -788,10 +788,10 @@ "LoadBalancerNames": { "base": null, "refs": { - "AttachLoadBalancersType$LoadBalancerNames": "

One or more load balancer names.

", + "AttachLoadBalancersType$LoadBalancerNames": "

The names of the load balancers. You can specify up to 10 load balancers.

", "AutoScalingGroup$LoadBalancerNames": "

One or more load balancers associated with the group.

", "CreateAutoScalingGroupType$LoadBalancerNames": "

One or more Classic Load Balancers. To specify an Application Load Balancer, use TargetGroupARNs instead.

For more information, see Using a Load Balancer With an Auto Scaling Group in the Auto Scaling User Guide.

", - "DetachLoadBalancersType$LoadBalancerNames": "

One or more load balancer names.

" + "DetachLoadBalancersType$LoadBalancerNames": "

The names of the load balancers. You can specify up to 10 load balancers.

" } }, "LoadBalancerState": { @@ -834,12 +834,12 @@ "base": null, "refs": { "AutoScalingGroupNamesType$MaxRecords": "

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

", - "DescribeAutoScalingInstancesType$MaxRecords": "

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

", - "DescribeLoadBalancerTargetGroupsRequest$MaxRecords": "

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

", - "DescribeLoadBalancersRequest$MaxRecords": "

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

", + "DescribeAutoScalingInstancesType$MaxRecords": "

The maximum number of items to return with this call. The default value is 50 and the maximum value is 50.

", + "DescribeLoadBalancerTargetGroupsRequest$MaxRecords": "

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

", + "DescribeLoadBalancersRequest$MaxRecords": "

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

", "DescribeNotificationConfigurationsType$MaxRecords": "

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

", "DescribePoliciesType$MaxRecords": "

The maximum number of items to be returned with each call. The default value is 50 and the maximum value is 100.

", - "DescribeScalingActivitiesType$MaxRecords": "

The maximum number of items to return with this call. The default value is 100.

", + "DescribeScalingActivitiesType$MaxRecords": "

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

", "DescribeScheduledActionsType$MaxRecords": "

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

", "DescribeTagsType$MaxRecords": "

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

", "LaunchConfigurationNamesType$MaxRecords": "

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" @@ -1128,9 +1128,11 @@ "AttachLoadBalancerTargetGroupsType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "AttachLoadBalancersType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "AutoScalingGroup$AutoScalingGroupARN": "

The Amazon Resource Name (ARN) of the Auto Scaling group.

", + "AutoScalingGroup$ServiceLinkedRoleARN": "

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf.

", "AutoScalingGroupNames$member": null, "CompleteLifecycleActionType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "CreateAutoScalingGroupType$LaunchConfigurationName": "

The name of the launch configuration. You must specify one of the following: a launch configuration, a launch template, or an EC2 instance.

", + "CreateAutoScalingGroupType$ServiceLinkedRoleARN": "

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, Auto Scaling uses a service-linked role named AWSServiceRoleForAutoScaling, which it creates if it does not exist.

", "DeleteAutoScalingGroupType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "DeleteLifecycleHookType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "DeleteNotificationConfigurationType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", @@ -1179,7 +1181,8 @@ "SetDesiredCapacityType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "SetInstanceProtectionQuery$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "UpdateAutoScalingGroupType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", - "UpdateAutoScalingGroupType$LaunchConfigurationName": "

The name of the launch configuration. You must specify either a launch configuration or a launch template.

" + "UpdateAutoScalingGroupType$LaunchConfigurationName": "

The name of the launch configuration. If you specify a launch configuration, you can't specify a launch template.

", + "UpdateAutoScalingGroupType$ServiceLinkedRoleARN": "

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf.

" } }, "ScalingActivityInProgressFault": { @@ -1240,6 +1243,11 @@ "LaunchConfiguration$SecurityGroups": "

The security groups to associate with the instances.

" } }, + "ServiceLinkedRoleFailure": { + "base": "

The service-linked role is not yet ready for use.

", + "refs": { + } + }, "SetDesiredCapacityType": { "base": null, "refs": { @@ -1263,9 +1271,9 @@ "ShouldDecrementDesiredCapacity": { "base": null, "refs": { - "DetachInstancesQuery$ShouldDecrementDesiredCapacity": "

If True, the Auto Scaling group decrements the desired capacity value by the number of instances detached.

", - "EnterStandbyQuery$ShouldDecrementDesiredCapacity": "

Specifies whether the instances moved to Standby mode count as part of the Auto Scaling group's desired capacity. If set, the desired capacity for the Auto Scaling group decrements by the number of instances moved to Standby mode.

", - "TerminateInstanceInAutoScalingGroupType$ShouldDecrementDesiredCapacity": "

If true, terminating the instance also decrements the size of the Auto Scaling group.

" + "DetachInstancesQuery$ShouldDecrementDesiredCapacity": "

Indicates whether the Auto Scaling group decrements the desired capacity value by the number of instances detached.

", + "EnterStandbyQuery$ShouldDecrementDesiredCapacity": "

Indicates whether to decrement the desired capacity of the Auto Scaling group by the number of instances moved to Standby mode.

", + "TerminateInstanceInAutoScalingGroupType$ShouldDecrementDesiredCapacity": "

Indicates whether terminating the instance also decrements the size of the Auto Scaling group.

" } }, "ShouldRespectGracePeriod": { @@ -1355,10 +1363,10 @@ "TargetGroupARNs": { "base": null, "refs": { - "AttachLoadBalancerTargetGroupsType$TargetGroupARNs": "

The Amazon Resource Names (ARN) of the target groups.

", + "AttachLoadBalancerTargetGroupsType$TargetGroupARNs": "

The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups.

", "AutoScalingGroup$TargetGroupARNs": "

The Amazon Resource Names (ARN) of the target groups for your load balancer.

", "CreateAutoScalingGroupType$TargetGroupARNs": "

The Amazon Resource Names (ARN) of the target groups.

", - "DetachLoadBalancerTargetGroupsType$TargetGroupARNs": "

The Amazon Resource Names (ARN) of the target groups.

" + "DetachLoadBalancerTargetGroupsType$TargetGroupARNs": "

The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups.

" } }, "TargetTrackingConfiguration": { @@ -1530,7 +1538,7 @@ "LaunchConfiguration$KernelId": "

The ID of the kernel associated with the AMI.

", "LaunchConfiguration$RamdiskId": "

The ID of the RAM disk associated with the AMI.

", "LaunchTemplateSpecification$LaunchTemplateId": "

The ID of the launch template. You must specify either a template ID or a template name.

", - "LaunchTemplateSpecification$Version": "

The version number. By default, the default version of the launch template is used.

", + "LaunchTemplateSpecification$Version": "

The version number, $Latest, or $Default. If the value is $Latest, Auto Scaling selects the latest version of the launch template when launching instances. If the value is $Default, Auto Scaling selects the default version of the launch template when launching instances. The default value is $Default.

", "LimitExceededFault$message": "

", "LoadBalancerNames$member": null, "LoadBalancerState$LoadBalancerName": "

The name of the load balancer.

", @@ -1555,6 +1563,7 @@ "ScheduledUpdateGroupAction$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "ScheduledUpdateGroupAction$ScheduledActionName": "

The name of the scheduled action.

", "ScheduledUpdateGroupAction$Recurrence": "

The recurring schedule for the action.

", + "ServiceLinkedRoleFailure$message": null, "SuspendedProcess$ProcessName": "

The name of the suspended process.

", "SuspendedProcess$SuspensionReason": "

The reason that the process was suspended.

", "UpdateAutoScalingGroupType$PlacementGroup": "

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.

" diff --git a/models/apis/batch/2016-08-10/api-2.json b/models/apis/batch/2016-08-10/api-2.json index 0cee2f88e6b..4770ebb53b1 100644 --- a/models/apis/batch/2016-08-10/api-2.json +++ b/models/apis/batch/2016-08-10/api-2.json @@ -7,6 +7,7 @@ "protocol":"rest-json", "serviceAbbreviation":"AWS Batch", "serviceFullName":"AWS Batch", + "serviceId":"Batch", "signatureVersion":"v4", "uid":"batch-2016-08-10" }, @@ -655,7 +656,8 @@ "type":{"shape":"String"}, "parameters":{"shape":"ParametersMap"}, "retryStrategy":{"shape":"RetryStrategy"}, - "containerProperties":{"shape":"ContainerProperties"} + "containerProperties":{"shape":"ContainerProperties"}, + "timeout":{"shape":"JobTimeout"} } }, "JobDefinitionList":{ @@ -702,7 +704,8 @@ "jobDefinition":{"shape":"String"}, "parameters":{"shape":"ParametersMap"}, "container":{"shape":"ContainerDetail"}, - "arrayProperties":{"shape":"ArrayPropertiesDetail"} + "arrayProperties":{"shape":"ArrayPropertiesDetail"}, + "timeout":{"shape":"JobTimeout"} } }, "JobDetailList":{ @@ -766,6 +769,12 @@ "type":"list", "member":{"shape":"JobSummary"} }, + "JobTimeout":{ + "type":"structure", + "members":{ + "attemptDurationSeconds":{"shape":"Integer"} + } + }, "KeyValuePair":{ "type":"structure", "members":{ @@ -820,7 +829,8 @@ "type":{"shape":"JobDefinitionType"}, "parameters":{"shape":"ParametersMap"}, "containerProperties":{"shape":"ContainerProperties"}, - "retryStrategy":{"shape":"RetryStrategy"} + "retryStrategy":{"shape":"RetryStrategy"}, + "timeout":{"shape":"JobTimeout"} } }, "RegisterJobDefinitionResponse":{ @@ -871,7 +881,8 @@ "jobDefinition":{"shape":"String"}, "parameters":{"shape":"ParametersMap"}, "containerOverrides":{"shape":"ContainerOverrides"}, - "retryStrategy":{"shape":"RetryStrategy"} + "retryStrategy":{"shape":"RetryStrategy"}, + "timeout":{"shape":"JobTimeout"} } }, "SubmitJobResponse":{ diff --git a/models/apis/batch/2016-08-10/docs-2.json b/models/apis/batch/2016-08-10/docs-2.json index 8ccb639d572..73a2047e9ea 100644 --- a/models/apis/batch/2016-08-10/docs-2.json +++ b/models/apis/batch/2016-08-10/docs-2.json @@ -312,7 +312,7 @@ "ContainerOverrides$vcpus": "

The number of vCPUs to reserve for the container. This value overrides the value set in the job definition.

", "ContainerOverrides$memory": "

The number of MiB of memory reserved for the job. This value overrides the value set in the job definition.

", "ContainerProperties$vcpus": "

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.

", - "ContainerProperties$memory": "

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.

", + "ContainerProperties$memory": "

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.

", "ContainerSummary$exitCode": "

The exit code to return upon completion.

", "CreateJobQueueRequest$priority": "

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.

", "DescribeComputeEnvironmentsRequest$maxResults": "

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.

", @@ -320,6 +320,7 @@ "DescribeJobQueuesRequest$maxResults": "

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.

", "JobDefinition$revision": "

The revision of the job definition.

", "JobQueueDetail$priority": "

The priority of the job queue.

", + "JobTimeout$attemptDurationSeconds": "

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.

", "ListJobsRequest$maxResults": "

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.

", "RegisterJobDefinitionResponse$revision": "

The revision of the job definition.

", "RetryStrategy$attempts": "

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.

", @@ -417,6 +418,15 @@ "ListJobsResponse$jobSummaryList": "

A list of job summaries that match the request.

" } }, + "JobTimeout": { + "base": "

An object representing a job timeout configuration.

", + "refs": { + "JobDefinition$timeout": "

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.

", + "JobDetail$timeout": "

The timeout configuration for the job.

", + "RegisterJobDefinitionRequest$timeout": "

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.

", + "SubmitJobRequest$timeout": "

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.

" + } + }, "KeyValuePair": { "base": "

A key-value pair object.

", "refs": { @@ -436,11 +446,11 @@ "Long": { "base": null, "refs": { - "AttemptDetail$startedAt": "

The Unix time stamp for when the attempt was started (when the attempt transitioned from the STARTING state to the RUNNING state).

", - "AttemptDetail$stoppedAt": "

The Unix time stamp for when the attempt was stopped (when the attempt transitioned from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

", - "JobDetail$createdAt": "

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.

", - "JobDetail$startedAt": "

The Unix time stamp for when the job was started (when the job transitioned from the STARTING state to the RUNNING state).

", - "JobDetail$stoppedAt": "

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

", + "AttemptDetail$startedAt": "

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

", + "AttemptDetail$stoppedAt": "

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

", + "JobDetail$createdAt": "

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.

", + "JobDetail$startedAt": "

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

", + "JobDetail$stoppedAt": "

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

", "JobSummary$createdAt": "

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.

", "JobSummary$startedAt": "

The Unix time stamp for when the job was started (when the job transitioned from the STARTING state to the RUNNING state).

", "JobSummary$stoppedAt": "

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

" @@ -483,7 +493,7 @@ "refs": { "JobDefinition$retryStrategy": "

The retry strategy to use for failed jobs that are submitted with this job definition.

", "JobDetail$retryStrategy": "

The retry strategy to use for this job if an attempt fails.

", - "RegisterJobDefinitionRequest$retryStrategy": "

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.

", + "RegisterJobDefinitionRequest$retryStrategy": "

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.

", "SubmitJobRequest$retryStrategy": "

The retry strategy to use for failed jobs from this SubmitJob operation. When a retry strategy is specified here, it overrides the retry strategy defined in the job definition.

" } }, diff --git a/models/apis/batch/2016-08-10/smoke.json b/models/apis/batch/2016-08-10/smoke.json new file mode 100644 index 00000000000..124e17e638d --- /dev/null +++ b/models/apis/batch/2016-08-10/smoke.json @@ -0,0 +1,11 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeComputeEnvironments", + "input": {}, + "errorExpectedFromService": false + } + ] +} diff --git a/models/apis/budgets/2016-10-20/api-2.json b/models/apis/budgets/2016-10-20/api-2.json index 12a939c115f..f696b1b98e0 100755 --- a/models/apis/budgets/2016-10-20/api-2.json +++ b/models/apis/budgets/2016-10-20/api-2.json @@ -7,6 +7,7 @@ "protocol":"json", "serviceAbbreviation":"AWSBudgets", "serviceFullName":"AWS Budgets", + "serviceId":"Budgets", "signatureVersion":"v4", "targetPrefix":"AWSBudgetServiceGateway", "uid":"budgets-2016-10-20" @@ -218,10 +219,7 @@ "type":"structure", "required":[ "BudgetName", - "BudgetLimit", - "CostTypes", "TimeUnit", - "TimePeriod", "BudgetType" ], "members":{ @@ -245,7 +243,8 @@ "enum":[ "USAGE", "COST", - "RI_UTILIZATION" + "RI_UTILIZATION", + "RI_COVERAGE" ] }, "Budgets":{ @@ -275,15 +274,18 @@ }, "CostTypes":{ "type":"structure", - "required":[ - "IncludeTax", - "IncludeSubscription", - "UseBlended" - ], "members":{ - "IncludeTax":{"shape":"GenericBoolean"}, - "IncludeSubscription":{"shape":"GenericBoolean"}, - "UseBlended":{"shape":"GenericBoolean"} + "IncludeTax":{"shape":"NullableBoolean"}, + "IncludeSubscription":{"shape":"NullableBoolean"}, + "UseBlended":{"shape":"NullableBoolean"}, + "IncludeRefund":{"shape":"NullableBoolean"}, + "IncludeCredit":{"shape":"NullableBoolean"}, + "IncludeUpfront":{"shape":"NullableBoolean"}, + "IncludeRecurring":{"shape":"NullableBoolean"}, + "IncludeOtherSubscription":{"shape":"NullableBoolean"}, + "IncludeSupport":{"shape":"NullableBoolean"}, + "IncludeDiscount":{"shape":"NullableBoolean"}, + "UseAmortized":{"shape":"NullableBoolean"} } }, "CreateBudgetRequest":{ @@ -497,7 +499,6 @@ }, "exception":true }, - "GenericBoolean":{"type":"boolean"}, "GenericString":{"type":"string"}, "GenericTimestamp":{"type":"timestamp"}, "InternalErrorException":{ @@ -580,9 +581,13 @@ "type":"list", "member":{"shape":"Notification"} }, + "NullableBoolean":{ + "type":"boolean", + "box":true + }, "NumericValue":{ "type":"string", - "pattern":"[0-9]*(\\.)?[0-9]+" + "pattern":"([0-9]*\\.)?[0-9]+" }, "Spend":{ "type":"structure", @@ -603,9 +608,13 @@ ], "members":{ "SubscriptionType":{"shape":"SubscriptionType"}, - "Address":{"shape":"GenericString"} + "Address":{"shape":"SubscriberAddress"} } }, + "SubscriberAddress":{ + "type":"string", + "min":1 + }, "Subscribers":{ "type":"list", "member":{"shape":"Subscriber"}, @@ -628,10 +637,6 @@ }, "TimePeriod":{ "type":"structure", - "required":[ - "Start", - "End" - ], "members":{ "Start":{"shape":"GenericTimestamp"}, "End":{"shape":"GenericTimestamp"} diff --git a/models/apis/budgets/2016-10-20/docs-2.json b/models/apis/budgets/2016-10-20/docs-2.json index 04955ae2983..4cc44f9f69f 100755 --- a/models/apis/budgets/2016-10-20/docs-2.json +++ b/models/apis/budgets/2016-10-20/docs-2.json @@ -1,203 +1,203 @@ { "version": "2.0", - "service": "All public APIs for AWS Budgets", + "service": "

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:

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:

For information about costs associated with the AWS Budgets API, see AWS Cost Management Pricing.

", "operations": { - "CreateBudget": "Create a new budget", - "CreateNotification": "Create a new Notification with subscribers for a budget", - "CreateSubscriber": "Create a new Subscriber for a notification", - "DeleteBudget": "Delete a budget and related notifications", - "DeleteNotification": "Delete a notification and related subscribers", - "DeleteSubscriber": "Delete a Subscriber for a notification", - "DescribeBudget": "Get a single budget", - "DescribeBudgets": "Get all budgets for an account", - "DescribeNotificationsForBudget": "Get notifications of a budget", - "DescribeSubscribersForNotification": "Get subscribers of a notification", - "UpdateBudget": "Update the information of a budget already created", - "UpdateNotification": "Update the information about a notification already created", - "UpdateSubscriber": "Update a subscriber" + "CreateBudget": "

Creates a budget and, if included, notifications and subscribers.

", + "CreateNotification": "

Creates a notification. You must create the budget before you create the associated notification.

", + "CreateSubscriber": "

Creates a subscriber. You must create the associated budget and notification before you create the subscriber.

", + "DeleteBudget": "

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

Deletes a notification.

Deleting a notification also deletes the subscribers associated with the notification.

", + "DeleteSubscriber": "

Deletes a subscriber.

Deleting the last subscriber to a notification also deletes the notification.

", + "DescribeBudget": "

Describes a budget.

", + "DescribeBudgets": "

Lists the budgets associated with an account.

", + "DescribeNotificationsForBudget": "

Lists the notifications associated with a budget.

", + "DescribeSubscribersForNotification": "

Lists the subscribers associated with a notification.

", + "UpdateBudget": "

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

Updates a notification.

", + "UpdateSubscriber": "

Updates a subscriber.

" }, "shapes": { "AccountId": { - "base": "Account Id of the customer. It should be a 12 digit number.", - "refs": { - "CreateBudgetRequest$AccountId": null, - "CreateNotificationRequest$AccountId": null, - "CreateSubscriberRequest$AccountId": null, - "DeleteBudgetRequest$AccountId": null, - "DeleteNotificationRequest$AccountId": null, - "DeleteSubscriberRequest$AccountId": null, - "DescribeBudgetRequest$AccountId": null, - "DescribeBudgetsRequest$AccountId": null, - "DescribeNotificationsForBudgetRequest$AccountId": null, - "DescribeSubscribersForNotificationRequest$AccountId": null, - "UpdateBudgetRequest$AccountId": null, - "UpdateNotificationRequest$AccountId": null, - "UpdateSubscriberRequest$AccountId": null + "base": "

The account ID of the customer. It should be a 12 digit number.

", + "refs": { + "CreateBudgetRequest$AccountId": "

The accountId that is associated with the budget.

", + "CreateNotificationRequest$AccountId": "

The accountId that is associated with the budget that you want to create a notification for.

", + "CreateSubscriberRequest$AccountId": "

The accountId associated with the budget that you want to create a subscriber for.

", + "DeleteBudgetRequest$AccountId": "

The accountId that is associated with the budget that you want to delete.

", + "DeleteNotificationRequest$AccountId": "

The accountId that is associated with the budget whose notification you want to delete.

", + "DeleteSubscriberRequest$AccountId": "

The accountId that is associated with the budget whose subscriber you want to delete.

", + "DescribeBudgetRequest$AccountId": "

The accountId that is associated with the budget that you want a description of.

", + "DescribeBudgetsRequest$AccountId": "

The accountId that is associated with the budgets that you want descriptions of.

", + "DescribeNotificationsForBudgetRequest$AccountId": "

The accountId that is associated with the budget whose notifications you want descriptions of.

", + "DescribeSubscribersForNotificationRequest$AccountId": "

The accountId that is associated with the budget whose subscribers you want descriptions of.

", + "UpdateBudgetRequest$AccountId": "

The accountId that is associated with the budget that you want to update.

", + "UpdateNotificationRequest$AccountId": "

The accountId that is associated with the budget whose notification you want to update.

", + "UpdateSubscriberRequest$AccountId": "

The accountId that is associated with the budget whose subscriber you want to update.

" } }, "Budget": { - "base": "AWS Budget model", + "base": "

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

", "refs": { "Budgets$member": null, - "CreateBudgetRequest$Budget": null, - "DescribeBudgetResponse$Budget": null, - "UpdateBudgetRequest$NewBudget": null + "CreateBudgetRequest$Budget": "

The budget object that you want to create.

", + "DescribeBudgetResponse$Budget": "

The description of the budget.

", + "UpdateBudgetRequest$NewBudget": "

The budget that you want to update your budget to.

" } }, "BudgetName": { - "base": "A string represents the budget name. No \":\" and \"\\\" character is allowed.", + "base": "

A string represents the budget name. No \":\" and \"\\\" character is allowed.

", "refs": { - "Budget$BudgetName": null, - "CreateNotificationRequest$BudgetName": null, - "CreateSubscriberRequest$BudgetName": null, - "DeleteBudgetRequest$BudgetName": null, - "DeleteNotificationRequest$BudgetName": null, - "DeleteSubscriberRequest$BudgetName": null, - "DescribeBudgetRequest$BudgetName": null, - "DescribeNotificationsForBudgetRequest$BudgetName": null, - "DescribeSubscribersForNotificationRequest$BudgetName": null, - "UpdateNotificationRequest$BudgetName": null, - "UpdateSubscriberRequest$BudgetName": null + "Budget$BudgetName": "

The name of a budget. Unique within accounts. : and \\ characters are not allowed in the BudgetName.

", + "CreateNotificationRequest$BudgetName": "

The name of the budget that you want AWS to notified you about. Budget names must be unique within an account.

", + "CreateSubscriberRequest$BudgetName": "

The name of the budget that you want to subscribe to. Budget names must be unique within an account.

", + "DeleteBudgetRequest$BudgetName": "

The name of the budget that you want to delete.

", + "DeleteNotificationRequest$BudgetName": "

The name of the budget whose notification you want to delete.

", + "DeleteSubscriberRequest$BudgetName": "

The name of the budget whose subscriber you want to delete.

", + "DescribeBudgetRequest$BudgetName": "

The name of the budget that you want a description of.

", + "DescribeNotificationsForBudgetRequest$BudgetName": "

The name of the budget whose notifications you want descriptions of.

", + "DescribeSubscribersForNotificationRequest$BudgetName": "

The name of the budget whose subscribers you want descriptions of.

", + "UpdateNotificationRequest$BudgetName": "

The name of the budget whose notification you want to update.

", + "UpdateSubscriberRequest$BudgetName": "

The name of the budget whose subscriber you want to update.

" } }, "BudgetType": { - "base": "The type of a budget. It should be COST, USAGE, or RI_UTILIZATION.", + "base": "

The type of a budget. It should be COST, USAGE, or RI_UTILIZATION.

", "refs": { - "Budget$BudgetType": null + "Budget$BudgetType": "

Whether this budget tracks monetary costs, usage, or RI utilization.

" } }, "Budgets": { - "base": "A list of budgets", + "base": "

A list of budgets

", "refs": { - "DescribeBudgetsResponse$Budgets": null + "DescribeBudgetsResponse$Budgets": "

A list of budgets.

" } }, "CalculatedSpend": { - "base": "A structure that holds the actual and forecasted spend for a budget.", + "base": "

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.

", "refs": { - "Budget$CalculatedSpend": null + "Budget$CalculatedSpend": "

The actual and forecasted cost or usage being tracked by a budget.

" } }, "ComparisonOperator": { - "base": "The comparison operator of a notification. Currently we support less than, equal to and greater than.", + "base": "

The comparison operator of a notification. Currently we support less than, equal to and greater than.

", "refs": { - "Notification$ComparisonOperator": null + "Notification$ComparisonOperator": "

The comparison used for this notification.

" } }, "CostFilters": { - "base": "A map that represents the cost filters applied to the budget.", + "base": "

A map that represents the cost filters applied to the budget.

", "refs": { - "Budget$CostFilters": null + "Budget$CostFilters": "

The cost filters applied to a budget, such as service or region.

" } }, "CostTypes": { - "base": "This includes the options for getting the cost of a budget.", + "base": "

The types of cost included in a budget, such as tax and subscriptions.

", "refs": { - "Budget$CostTypes": null + "Budget$CostTypes": "

The types of costs included in this budget.

" } }, "CreateBudgetRequest": { - "base": "Request of CreateBudget", + "base": "

Request of CreateBudget

", "refs": { } }, "CreateBudgetResponse": { - "base": "Response of CreateBudget", + "base": "

Response of CreateBudget

", "refs": { } }, "CreateNotificationRequest": { - "base": "Request of CreateNotification", + "base": "

Request of CreateNotification

", "refs": { } }, "CreateNotificationResponse": { - "base": "Response of CreateNotification", + "base": "

Response of CreateNotification

", "refs": { } }, "CreateSubscriberRequest": { - "base": "Request of CreateSubscriber", + "base": "

Request of CreateSubscriber

", "refs": { } }, "CreateSubscriberResponse": { - "base": "Response of CreateSubscriber", + "base": "

Response of CreateSubscriber

", "refs": { } }, "CreationLimitExceededException": { - "base": "The exception is thrown when customer tries to create a record (e.g. budget), but the number this record already exceeds the limitation.", + "base": "

You've exceeded the notification or subscriber limit.

", "refs": { } }, "DeleteBudgetRequest": { - "base": "Request of DeleteBudget", + "base": "

Request of DeleteBudget

", "refs": { } }, "DeleteBudgetResponse": { - "base": "Response of DeleteBudget", + "base": "

Response of DeleteBudget

", "refs": { } }, "DeleteNotificationRequest": { - "base": "Request of DeleteNotification", + "base": "

Request of DeleteNotification

", "refs": { } }, "DeleteNotificationResponse": { - "base": "Response of DeleteNotification", + "base": "

Response of DeleteNotification

", "refs": { } }, "DeleteSubscriberRequest": { - "base": "Request of DeleteSubscriber", + "base": "

Request of DeleteSubscriber

", "refs": { } }, "DeleteSubscriberResponse": { - "base": "Response of DeleteSubscriber", + "base": "

Response of DeleteSubscriber

", "refs": { } }, "DescribeBudgetRequest": { - "base": "Request of DescribeBudget", + "base": "

Request of DescribeBudget

", "refs": { } }, "DescribeBudgetResponse": { - "base": "Response of DescribeBudget", + "base": "

Response of DescribeBudget

", "refs": { } }, "DescribeBudgetsRequest": { - "base": "Request of DescribeBudgets", + "base": "

Request of DescribeBudgets

", "refs": { } }, "DescribeBudgetsResponse": { - "base": "Response of DescribeBudgets", + "base": "

Response of DescribeBudgets

", "refs": { } }, "DescribeNotificationsForBudgetRequest": { - "base": "Request of DescribeNotificationsForBudget", + "base": "

Request of DescribeNotificationsForBudget

", "refs": { } }, "DescribeNotificationsForBudgetResponse": { - "base": "Response of GetNotificationsForBudget", + "base": "

Response of GetNotificationsForBudget

", "refs": { } }, "DescribeSubscribersForNotificationRequest": { - "base": "Request of DescribeSubscribersForNotification", + "base": "

Request of DescribeSubscribersForNotification

", "refs": { } }, "DescribeSubscribersForNotificationResponse": { - "base": "Response of DescribeSubscribersForNotification", + "base": "

Response of DescribeSubscribersForNotification

", "refs": { } }, @@ -208,211 +208,224 @@ } }, "DuplicateRecordException": { - "base": "The exception is thrown when customer tries to create a record (e.g. budget) that already exists.", + "base": "

The budget name already exists. Budget names must be unique within an account.

", "refs": { } }, "ExpiredNextTokenException": { - "base": "This exception is thrown if the paging token is expired - past its TTL", + "base": "

The pagination token expired.

", "refs": { } }, - "GenericBoolean": { - "base": "A generic boolean value.", - "refs": { - "CostTypes$IncludeTax": null, - "CostTypes$IncludeSubscription": null, - "CostTypes$UseBlended": null - } - }, "GenericString": { - "base": "A generic String.", + "base": "

A generic String.

", "refs": { "CostFilters$key": null, - "DescribeBudgetsRequest$NextToken": null, - "DescribeBudgetsResponse$NextToken": null, - "DescribeNotificationsForBudgetRequest$NextToken": null, - "DescribeNotificationsForBudgetResponse$NextToken": null, - "DescribeSubscribersForNotificationRequest$NextToken": null, - "DescribeSubscribersForNotificationResponse$NextToken": null, - "DimensionValues$member": null, - "Subscriber$Address": null + "DescribeBudgetsRequest$NextToken": "

The pagination token that indicates the next set of results to retrieve.

", + "DescribeBudgetsResponse$NextToken": "

The pagination token that indicates the next set of results that you can retrieve.

", + "DescribeNotificationsForBudgetRequest$NextToken": "

The pagination token that indicates the next set of results to retrieve.

", + "DescribeNotificationsForBudgetResponse$NextToken": "

The pagination token that indicates the next set of results that you can retrieve.

", + "DescribeSubscribersForNotificationRequest$NextToken": "

The pagination token that indicates the next set of results to retrieve.

", + "DescribeSubscribersForNotificationResponse$NextToken": "

The pagination token that indicates the next set of results that you can retrieve.

", + "DimensionValues$member": null } }, "GenericTimestamp": { - "base": "A generic timestamp. In Java it is transformed to a Date object.", + "base": "

A generic timestamp. In Java it is transformed to a Date object.

", "refs": { - "TimePeriod$Start": null, - "TimePeriod$End": null + "TimePeriod$Start": "

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.

", + "TimePeriod$End": "

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.

" } }, "InternalErrorException": { - "base": "This exception is thrown on an unknown internal failure.", + "base": "

An error on the server occurred during the processing of your request. Try again later.

", "refs": { } }, "InvalidNextTokenException": { - "base": "This exception is thrown if paging token signature didn't match the token, or the paging token isn't for this request", + "base": "

The pagination token is invalid.

", "refs": { } }, "InvalidParameterException": { - "base": "This exception is thrown if any request is given an invalid parameter. E.g., if a required Date field is null.", + "base": "

An error on the client occurred. Typically, the cause is an invalid input value.

", "refs": { } }, "MaxResults": { - "base": "An integer to represent how many entries a paginated response contains. Maximum is set to 100.", + "base": "

An integer to represent how many entries a paginated response contains. Maximum is set to 100.

", "refs": { - "DescribeBudgetsRequest$MaxResults": null, - "DescribeNotificationsForBudgetRequest$MaxResults": null, - "DescribeSubscribersForNotificationRequest$MaxResults": null + "DescribeBudgetsRequest$MaxResults": "

Optional integer. Specifies the maximum number of results to return in response.

", + "DescribeNotificationsForBudgetRequest$MaxResults": "

Optional integer. Specifies the maximum number of results to return in response.

", + "DescribeSubscribersForNotificationRequest$MaxResults": "

Optional integer. Specifies the maximum number of results to return in response.

" } }, "NotFoundException": { - "base": "This exception is thrown if a requested entity is not found. E.g., if a budget id doesn't exist for an account ID.", + "base": "

We can’t locate the resource that you specified.

", "refs": { } }, "Notification": { - "base": "Notification model. Each budget may contain multiple notifications with different settings.", - "refs": { - "CreateNotificationRequest$Notification": null, - "CreateSubscriberRequest$Notification": null, - "DeleteNotificationRequest$Notification": null, - "DeleteSubscriberRequest$Notification": null, - "DescribeSubscribersForNotificationRequest$Notification": null, - "NotificationWithSubscribers$Notification": null, + "base": "

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:

", + "refs": { + "CreateNotificationRequest$Notification": "

The notification that you want to create.

", + "CreateSubscriberRequest$Notification": "

The notification that you want to create a subscriber for.

", + "DeleteNotificationRequest$Notification": "

The notification that you want to delete.

", + "DeleteSubscriberRequest$Notification": "

The notification whose subscriber you want to delete.

", + "DescribeSubscribersForNotificationRequest$Notification": "

The notification whose subscribers you want to list.

", + "NotificationWithSubscribers$Notification": "

The notification associated with a budget.

", "Notifications$member": null, - "UpdateNotificationRequest$OldNotification": null, - "UpdateNotificationRequest$NewNotification": null, - "UpdateSubscriberRequest$Notification": null + "UpdateNotificationRequest$OldNotification": "

The previous notification associated with a budget.

", + "UpdateNotificationRequest$NewNotification": "

The updated notification to be associated with a budget.

", + "UpdateSubscriberRequest$Notification": "

The notification whose subscriber you want to update.

" } }, "NotificationThreshold": { - "base": "The threshold of a notification. It should be a number between 0 and 1,000,000,000.", + "base": "

The threshold of a notification. It should be a number between 0 and 1,000,000,000.

", "refs": { - "Notification$Threshold": null + "Notification$Threshold": "

The threshold associated with a notification. Thresholds are always a percentage.

" } }, "NotificationType": { - "base": "The type of a notification. It should be ACTUAL or FORECASTED.", + "base": "

The type of a notification. It should be ACTUAL or FORECASTED.

", "refs": { - "Notification$NotificationType": null + "Notification$NotificationType": "

Whether the notification is for how much you have spent (ACTUAL) or for how much you are forecasted to spend (FORECASTED).

" } }, "NotificationWithSubscribers": { - "base": "A structure to relate notification and a list of subscribers who belong to the notification.", + "base": "

A notification with subscribers. A notification can have one SNS subscriber and up to ten email subscribers, for a total of 11 subscribers.

", "refs": { "NotificationWithSubscribersList$member": null } }, "NotificationWithSubscribersList": { - "base": "A list of Notifications, each with a list of subscribers.", + "base": "

A list of Notifications, each with a list of subscribers.

", "refs": { - "CreateBudgetRequest$NotificationsWithSubscribers": null + "CreateBudgetRequest$NotificationsWithSubscribers": "

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.

" } }, "Notifications": { - "base": "A list of notifications.", + "base": "

A list of notifications.

", + "refs": { + "DescribeNotificationsForBudgetResponse$Notifications": "

A list of notifications associated with a budget.

" + } + }, + "NullableBoolean": { + "base": null, "refs": { - "DescribeNotificationsForBudgetResponse$Notifications": null + "CostTypes$IncludeTax": "

Specifies whether a budget includes taxes.

The default value is true.

", + "CostTypes$IncludeSubscription": "

Specifies whether a budget includes subscriptions.

The default value is true.

", + "CostTypes$UseBlended": "

Specifies whether a budget uses blended rate.

The default value is false.

", + "CostTypes$IncludeRefund": "

Specifies whether a budget includes refunds.

The default value is true.

", + "CostTypes$IncludeCredit": "

Specifies whether a budget includes credits.

The default value is true.

", + "CostTypes$IncludeUpfront": "

Specifies whether a budget includes upfront RI costs.

The default value is true.

", + "CostTypes$IncludeRecurring": "

Specifies whether a budget includes recurring fees such as monthly RI fees.

The default value is true.

", + "CostTypes$IncludeOtherSubscription": "

Specifies whether a budget includes non-RI subscription costs.

The default value is true.

", + "CostTypes$IncludeSupport": "

Specifies whether a budget includes support subscription fees.

The default value is true.

", + "CostTypes$IncludeDiscount": "

Specifies whether a budget includes discounts.

The default value is true.

", + "CostTypes$UseAmortized": "

Specifies whether a budget uses the amortized rate.

The default value is false.

" } }, "NumericValue": { - "base": "A string to represent NumericValue.", + "base": "

A string to represent NumericValue.

", "refs": { - "Spend$Amount": null + "Spend$Amount": "

The cost or usage amount associated with a budget forecast, actual spend, or budget threshold.

" } }, "Spend": { - "base": "A structure that represents either a cost spend or usage spend. Contains an amount and a unit.", + "base": "

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:

", "refs": { - "Budget$BudgetLimit": null, - "CalculatedSpend$ActualSpend": null, - "CalculatedSpend$ForecastedSpend": null + "Budget$BudgetLimit": "

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.

", + "CalculatedSpend$ActualSpend": "

The amount of cost, usage, or RI units that you have used.

", + "CalculatedSpend$ForecastedSpend": "

The amount of cost, usage, or RI units that you are forecasted to use.

" } }, "Subscriber": { - "base": "Subscriber model. Each notification may contain multiple subscribers with different addresses.", + "base": "

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:

", "refs": { - "CreateSubscriberRequest$Subscriber": null, - "DeleteSubscriberRequest$Subscriber": null, + "CreateSubscriberRequest$Subscriber": "

The subscriber that you want to associate with a budget notification.

", + "DeleteSubscriberRequest$Subscriber": "

The subscriber that you want to delete.

", "Subscribers$member": null, - "UpdateSubscriberRequest$OldSubscriber": null, - "UpdateSubscriberRequest$NewSubscriber": null + "UpdateSubscriberRequest$OldSubscriber": "

The previous subscriber associated with a budget notification.

", + "UpdateSubscriberRequest$NewSubscriber": "

The updated subscriber associated with a budget notification.

" + } + }, + "SubscriberAddress": { + "base": "

String containing email or sns topic for the subscriber address.

", + "refs": { + "Subscriber$Address": "

The address that AWS sends budget notifications to, either an SNS topic or an email.

" } }, "Subscribers": { - "base": "A list of subscribers.", + "base": "

A list of subscribers.

", "refs": { - "CreateNotificationRequest$Subscribers": null, - "DescribeSubscribersForNotificationResponse$Subscribers": null, - "NotificationWithSubscribers$Subscribers": null + "CreateNotificationRequest$Subscribers": "

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.

", + "DescribeSubscribersForNotificationResponse$Subscribers": "

A list of subscribers associated with a notification.

", + "NotificationWithSubscribers$Subscribers": "

A list of subscribers who are subscribed to this notification.

" } }, "SubscriptionType": { - "base": "The subscription type of the subscriber. It can be SMS or EMAIL.", + "base": "

The subscription type of the subscriber. It can be SMS or EMAIL.

", "refs": { - "Subscriber$SubscriptionType": null + "Subscriber$SubscriptionType": "

The type of notification that AWS sends to a subscriber.

" } }, "ThresholdType": { - "base": "The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.", + "base": "

The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.

", "refs": { - "Notification$ThresholdType": null + "Notification$ThresholdType": "

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.

" } }, "TimePeriod": { - "base": "A time period indicating the start date and end date of a budget.", + "base": "

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.

", "refs": { - "Budget$TimePeriod": null + "Budget$TimePeriod": "

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.

" } }, "TimeUnit": { - "base": "The time unit of the budget. e.g. MONTHLY, QUARTERLY, etc.", + "base": "

The time unit of the budget. e.g. MONTHLY, QUARTERLY, etc.

", "refs": { - "Budget$TimeUnit": null + "Budget$TimeUnit": "

The length of time until a budget resets the actual and forecasted spend.

" } }, "UnitValue": { - "base": "A string to represent budget spend unit. It should be not null and not empty.", + "base": "

A string to represent budget spend unit. It should be not null and not empty.

", "refs": { - "Spend$Unit": null + "Spend$Unit": "

The unit of measurement used for the budget forecast, actual spend, or budget threshold, such as dollars or GB.

" } }, "UpdateBudgetRequest": { - "base": "Request of UpdateBudget", + "base": "

Request of UpdateBudget

", "refs": { } }, "UpdateBudgetResponse": { - "base": "Response of UpdateBudget", + "base": "

Response of UpdateBudget

", "refs": { } }, "UpdateNotificationRequest": { - "base": "Request of UpdateNotification", + "base": "

Request of UpdateNotification

", "refs": { } }, "UpdateNotificationResponse": { - "base": "Response of UpdateNotification", + "base": "

Response of UpdateNotification

", "refs": { } }, "UpdateSubscriberRequest": { - "base": "Request of UpdateSubscriber", + "base": "

Request of UpdateSubscriber

", "refs": { } }, "UpdateSubscriberResponse": { - "base": "Response of UpdateSubscriber", + "base": "

Response of UpdateSubscriber

", "refs": { } }, "errorMessage": { - "base": "The error message the exception carries.", + "base": "

The error message the exception carries.

", "refs": { "CreationLimitExceededException$Message": null, "DuplicateRecordException$Message": null, diff --git a/models/apis/ce/2017-10-25/api-2.json b/models/apis/ce/2017-10-25/api-2.json index de6b4c5a476..a8758f81db3 100644 --- a/models/apis/ce/2017-10-25/api-2.json +++ b/models/apis/ce/2017-10-25/api-2.json @@ -23,7 +23,11 @@ "input":{"shape":"GetCostAndUsageRequest"}, "output":{"shape":"GetCostAndUsageResponse"}, "errors":[ - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"BillExpirationException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"RequestChangedException"} ] }, "GetDimensionValues":{ @@ -35,7 +39,39 @@ "input":{"shape":"GetDimensionValuesRequest"}, "output":{"shape":"GetDimensionValuesResponse"}, "errors":[ - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"BillExpirationException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"RequestChangedException"} + ] + }, + "GetReservationCoverage":{ + "name":"GetReservationCoverage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetReservationCoverageRequest"}, + "output":{"shape":"GetReservationCoverageResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"} + ] + }, + "GetReservationPurchaseRecommendation":{ + "name":"GetReservationPurchaseRecommendation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetReservationPurchaseRecommendationRequest"}, + "output":{"shape":"GetReservationPurchaseRecommendationResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"} ] }, "GetReservationUtilization":{ @@ -47,7 +83,9 @@ "input":{"shape":"GetReservationUtilizationRequest"}, "output":{"shape":"GetReservationUtilizationResponse"}, "errors":[ - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"} ] }, "GetTags":{ @@ -59,11 +97,24 @@ "input":{"shape":"GetTagsRequest"}, "output":{"shape":"GetTagsResponse"}, "errors":[ - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"BillExpirationException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"RequestChangedException"} ] } }, "shapes":{ + "AccountScope":{ + "type":"string", + "enum":[ + "PAYER", + "LINKED" + ] + }, + "AmortizedRecurringFee":{"type":"string"}, + "AmortizedUpfrontFee":{"type":"string"}, "AttributeType":{"type":"string"}, "AttributeValue":{"type":"string"}, "Attributes":{ @@ -71,6 +122,13 @@ "key":{"shape":"AttributeType"}, "value":{"shape":"AttributeValue"} }, + "BillExpirationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "Context":{ "type":"string", "enum":[ @@ -78,6 +136,41 @@ "RESERVATIONS" ] }, + "Coverage":{ + "type":"structure", + "members":{ + "CoverageHours":{"shape":"CoverageHours"} + } + }, + "CoverageByTime":{ + "type":"structure", + "members":{ + "TimePeriod":{"shape":"DateInterval"}, + "Groups":{"shape":"ReservationCoverageGroups"}, + "Total":{"shape":"Coverage"} + } + }, + "CoverageHours":{ + "type":"structure", + "members":{ + "OnDemandHours":{"shape":"OnDemandHours"}, + "ReservedHours":{"shape":"ReservedHours"}, + "TotalRunningHours":{"shape":"TotalRunningHours"}, + "CoverageHoursPercentage":{"shape":"CoverageHoursPercentage"} + } + }, + "CoverageHoursPercentage":{"type":"string"}, + "CoveragesByTime":{ + "type":"list", + "member":{"shape":"CoverageByTime"} + }, + "DataUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "DateInterval":{ "type":"structure", "required":[ @@ -106,7 +199,12 @@ "TENANCY", "SCOPE", "PLATFORM", - "SUBSCRIPTION_ID" + "SUBSCRIPTION_ID", + "LEGAL_ENTITY_NAME", + "DEPLOYMENT_OPTION", + "DATABASE_ENGINE", + "CACHE_ENGINE", + "INSTANCE_TYPE_FAMILY" ] }, "DimensionValues":{ @@ -127,6 +225,46 @@ "type":"list", "member":{"shape":"DimensionValuesWithAttributes"} }, + "EC2InstanceDetails":{ + "type":"structure", + "members":{ + "Family":{"shape":"GenericString"}, + "InstanceType":{"shape":"GenericString"}, + "Region":{"shape":"GenericString"}, + "AvailabilityZone":{"shape":"GenericString"}, + "Platform":{"shape":"GenericString"}, + "Tenancy":{"shape":"GenericString"}, + "CurrentGeneration":{"shape":"GenericBoolean"}, + "SizeFlexEligible":{"shape":"GenericBoolean"} + } + }, + "EC2Specification":{ + "type":"structure", + "members":{ + "OfferingClass":{"shape":"OfferingClass"} + } + }, + "ESInstanceDetails":{ + "type":"structure", + "members":{ + "InstanceClass":{"shape":"GenericString"}, + "InstanceSize":{"shape":"GenericString"}, + "Region":{"shape":"GenericString"}, + "CurrentGeneration":{"shape":"GenericBoolean"}, + "SizeFlexEligible":{"shape":"GenericBoolean"} + } + }, + "ElastiCacheInstanceDetails":{ + "type":"structure", + "members":{ + "Family":{"shape":"GenericString"}, + "NodeType":{"shape":"GenericString"}, + "Region":{"shape":"GenericString"}, + "ProductDescription":{"shape":"GenericString"}, + "CurrentGeneration":{"shape":"GenericBoolean"}, + "SizeFlexEligible":{"shape":"GenericBoolean"} + } + }, "Entity":{"type":"string"}, "ErrorMessage":{"type":"string"}, "Estimated":{"type":"boolean"}, @@ -144,6 +282,8 @@ "type":"list", "member":{"shape":"Expression"} }, + "GenericBoolean":{"type":"boolean"}, + "GenericString":{"type":"string"}, "GetCostAndUsageRequest":{ "type":"structure", "members":{ @@ -191,6 +331,49 @@ "NextPageToken":{"shape":"NextPageToken"} } }, + "GetReservationCoverageRequest":{ + "type":"structure", + "required":["TimePeriod"], + "members":{ + "TimePeriod":{"shape":"DateInterval"}, + "GroupBy":{"shape":"GroupDefinitions"}, + "Granularity":{"shape":"Granularity"}, + "Filter":{"shape":"Expression"}, + "NextPageToken":{"shape":"NextPageToken"} + } + }, + "GetReservationCoverageResponse":{ + "type":"structure", + "required":["CoveragesByTime"], + "members":{ + "CoveragesByTime":{"shape":"CoveragesByTime"}, + "Total":{"shape":"Coverage"}, + "NextPageToken":{"shape":"NextPageToken"} + } + }, + "GetReservationPurchaseRecommendationRequest":{ + "type":"structure", + "required":["Service"], + "members":{ + "AccountId":{"shape":"GenericString"}, + "Service":{"shape":"GenericString"}, + "AccountScope":{"shape":"AccountScope"}, + "LookbackPeriodInDays":{"shape":"LookbackPeriodInDays"}, + "TermInYears":{"shape":"TermInYears"}, + "PaymentOption":{"shape":"PaymentOption"}, + "ServiceSpecification":{"shape":"ServiceSpecification"}, + "PageSize":{"shape":"NonNegativeInteger"}, + "NextPageToken":{"shape":"NextPageToken"} + } + }, + "GetReservationPurchaseRecommendationResponse":{ + "type":"structure", + "members":{ + "Metadata":{"shape":"ReservationPurchaseRecommendationMetadata"}, + "Recommendations":{"shape":"ReservationPurchaseRecommendations"}, + "NextPageToken":{"shape":"NextPageToken"} + } + }, "GetReservationUtilizationRequest":{ "type":"structure", "required":["TimePeriod"], @@ -272,6 +455,23 @@ "type":"list", "member":{"shape":"Group"} }, + "InstanceDetails":{ + "type":"structure", + "members":{ + "EC2InstanceDetails":{"shape":"EC2InstanceDetails"}, + "RDSInstanceDetails":{"shape":"RDSInstanceDetails"}, + "RedshiftInstanceDetails":{"shape":"RedshiftInstanceDetails"}, + "ElastiCacheInstanceDetails":{"shape":"ElastiCacheInstanceDetails"}, + "ESInstanceDetails":{"shape":"ESInstanceDetails"} + } + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "Key":{"type":"string"}, "Keys":{ "type":"list", @@ -284,6 +484,14 @@ }, "exception":true }, + "LookbackPeriodInDays":{ + "type":"string", + "enum":[ + "SEVEN_DAYS", + "THIRTY_DAYS", + "SIXTY_DAYS" + ] + }, "MetricAmount":{"type":"string"}, "MetricName":{"type":"string"}, "MetricNames":{ @@ -303,20 +511,151 @@ "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"}, + "InstanceType":{"shape":"GenericString"}, + "Region":{"shape":"GenericString"}, + "DatabaseEngine":{"shape":"GenericString"}, + "DatabaseEdition":{"shape":"GenericString"}, + "DeploymentOption":{"shape":"GenericString"}, + "LicenseModel":{"shape":"GenericString"}, + "CurrentGeneration":{"shape":"GenericBoolean"}, + "SizeFlexEligible":{"shape":"GenericBoolean"} + } + }, + "RedshiftInstanceDetails":{ + "type":"structure", + "members":{ + "Family":{"shape":"GenericString"}, + "NodeType":{"shape":"GenericString"}, + "Region":{"shape":"GenericString"}, + "CurrentGeneration":{"shape":"GenericBoolean"}, + "SizeFlexEligible":{"shape":"GenericBoolean"} + } + }, + "RequestChangedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "ReservationAggregates":{ "type":"structure", "members":{ "UtilizationPercentage":{"shape":"UtilizationPercentage"}, "PurchasedHours":{"shape":"PurchasedHours"}, "TotalActualHours":{"shape":"TotalActualHours"}, - "UnusedHours":{"shape":"UnusedHours"} + "UnusedHours":{"shape":"UnusedHours"}, + "OnDemandCostOfRIHoursUsed":{"shape":"OnDemandCostOfRIHoursUsed"}, + "NetRISavings":{"shape":"NetRISavings"}, + "TotalPotentialRISavings":{"shape":"TotalPotentialRISavings"}, + "AmortizedUpfrontFee":{"shape":"AmortizedUpfrontFee"}, + "AmortizedRecurringFee":{"shape":"AmortizedRecurringFee"}, + "TotalAmortizedFee":{"shape":"TotalAmortizedFee"} + } + }, + "ReservationCoverageGroup":{ + "type":"structure", + "members":{ + "Attributes":{"shape":"Attributes"}, + "Coverage":{"shape":"Coverage"} } }, + "ReservationCoverageGroups":{ + "type":"list", + "member":{"shape":"ReservationCoverageGroup"} + }, "ReservationGroupKey":{"type":"string"}, "ReservationGroupValue":{"type":"string"}, + "ReservationPurchaseRecommendation":{ + "type":"structure", + "members":{ + "AccountScope":{"shape":"AccountScope"}, + "LookbackPeriodInDays":{"shape":"LookbackPeriodInDays"}, + "TermInYears":{"shape":"TermInYears"}, + "PaymentOption":{"shape":"PaymentOption"}, + "ServiceSpecification":{"shape":"ServiceSpecification"}, + "RecommendationDetails":{"shape":"ReservationPurchaseRecommendationDetails"}, + "RecommendationSummary":{"shape":"ReservationPurchaseRecommendationSummary"} + } + }, + "ReservationPurchaseRecommendationDetail":{ + "type":"structure", + "members":{ + "InstanceDetails":{"shape":"InstanceDetails"}, + "RecommendedNumberOfInstancesToPurchase":{"shape":"GenericString"}, + "RecommendedNormalizedUnitsToPurchase":{"shape":"GenericString"}, + "MinimumNumberOfInstancesUsedPerHour":{"shape":"GenericString"}, + "MinimumNormalizedUnitsUsedPerHour":{"shape":"GenericString"}, + "MaximumNumberOfInstancesUsedPerHour":{"shape":"GenericString"}, + "MaximumNormalizedUnitsUsedPerHour":{"shape":"GenericString"}, + "AverageNumberOfInstancesUsedPerHour":{"shape":"GenericString"}, + "AverageNormalizedUnitsUsedPerHour":{"shape":"GenericString"}, + "AverageUtilization":{"shape":"GenericString"}, + "EstimatedBreakEvenInMonths":{"shape":"GenericString"}, + "CurrencyCode":{"shape":"GenericString"}, + "EstimatedMonthlySavingsAmount":{"shape":"GenericString"}, + "EstimatedMonthlySavingsPercentage":{"shape":"GenericString"}, + "EstimatedMonthlyOnDemandCost":{"shape":"GenericString"}, + "EstimatedReservationCostForLookbackPeriod":{"shape":"GenericString"}, + "UpfrontCost":{"shape":"GenericString"}, + "RecurringStandardMonthlyCost":{"shape":"GenericString"} + } + }, + "ReservationPurchaseRecommendationDetails":{ + "type":"list", + "member":{"shape":"ReservationPurchaseRecommendationDetail"} + }, + "ReservationPurchaseRecommendationMetadata":{ + "type":"structure", + "members":{ + "RecommendationId":{"shape":"GenericString"}, + "GenerationTimestamp":{"shape":"GenericString"} + } + }, + "ReservationPurchaseRecommendationSummary":{ + "type":"structure", + "members":{ + "TotalEstimatedMonthlySavingsAmount":{"shape":"GenericString"}, + "TotalEstimatedMonthlySavingsPercentage":{"shape":"GenericString"}, + "CurrencyCode":{"shape":"GenericString"} + } + }, + "ReservationPurchaseRecommendations":{ + "type":"list", + "member":{"shape":"ReservationPurchaseRecommendation"} + }, "ReservationUtilizationGroup":{ "type":"structure", "members":{ @@ -330,6 +669,7 @@ "type":"list", "member":{"shape":"ReservationUtilizationGroup"} }, + "ReservedHours":{"type":"string"}, "ResultByTime":{ "type":"structure", "members":{ @@ -344,6 +684,12 @@ "member":{"shape":"ResultByTime"} }, "SearchString":{"type":"string"}, + "ServiceSpecification":{ + "type":"structure", + "members":{ + "EC2Specification":{"shape":"EC2Specification"} + } + }, "TagKey":{"type":"string"}, "TagList":{ "type":"list", @@ -356,7 +702,17 @@ "Values":{"shape":"Values"} } }, + "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", diff --git a/models/apis/ce/2017-10-25/docs-2.json b/models/apis/ce/2017-10-25/docs-2.json index e556405d126..7d66ebd0735 100644 --- a/models/apis/ce/2017-10-25/docs-2.json +++ b/models/apis/ce/2017-10-25/docs-2.json @@ -1,13 +1,34 @@ { "version": "2.0", - "service": "

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 DynamoDB database tables in your production environment.

Service Endpoint

The Cost Explorer API provides the following endpoint:

", + "service": "

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:

For information about costs associated with the Cost Explorer API, see AWS Cost Management Pricing.

", "operations": { - "GetCostAndUsage": "

Retrieve 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 AWS Service or AvailabilityZone, in a specific time range. See the GetDimensionValues action for a complete list of the valid dimensions. Master accounts in an organization have access to all member accounts.

", - "GetDimensionValues": "

You can use GetDimensionValues to retrieve all available filter values for a specific filter over a period of time. You can search the dimension values for an arbitrary string.

", - "GetReservationUtilization": "

You can retrieve the Reservation utilization for your account. Master accounts in an organization have access to their associated 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": "

You can query for available tag keys and tag values for a specified period. You can search the tag values for an arbitrary string.

" + "GetCostAndUsage": "

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

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

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:

To determine valid values for a dimension, use the GetDimensionValues operation.

", + "GetReservationPurchaseRecommendation": "

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

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

Queries for available tag keys and tag values for a specified period. You can search the tag values for an arbitrary string.

" }, "shapes": { + "AccountScope": { + "base": null, + "refs": { + "GetReservationPurchaseRecommendationRequest$AccountScope": "

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.

", + "ReservationPurchaseRecommendation$AccountScope": "

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.

" + } + }, + "AmortizedRecurringFee": { + "base": null, + "refs": { + "ReservationAggregates$AmortizedRecurringFee": "

The monthly cost of your RI, amortized over the RI period.

" + } + }, + "AmortizedUpfrontFee": { + "base": null, + "refs": { + "ReservationAggregates$AmortizedUpfrontFee": "

The upfront cost of your RI, amortized over the RI period.

" + } + }, "AttributeType": { "base": null, "refs": { @@ -24,21 +45,66 @@ "base": null, "refs": { "DimensionValuesWithAttributes$Attributes": "

The attribute that applies to a specific Dimension.

", + "ReservationCoverageGroup$Attributes": "

The attributes for this group of reservations.

", "ReservationUtilizationGroup$Attributes": "

The attributes for this group of RIs.

" } }, + "BillExpirationException": { + "base": "

The requested report expired. Update the date interval and try again.

", + "refs": { + } + }, "Context": { "base": null, "refs": { - "GetDimensionValuesRequest$Context": "

The context for the call to GetDimensionValues. This can be RESERVED_INSTANCE or COST_AND_USAGE. The default value is COST_AND_USAGE. If the context is set to RESERVED_INSTANCE, the resulting dimension values can be used in the GetReservationUtilization action. 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 CostAndUsage, you can use the following dimensions for searching:

If you set the context to ReservedInstance, you can use the following dimensions for searching:

" + "GetDimensionValuesRequest$Context": "

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:

If you set the context to RESERVATIONS, you can use the following dimensions for searching:

" + } + }, + "Coverage": { + "base": "

The amount of instance usage that a reservation covered.

", + "refs": { + "CoverageByTime$Total": "

The total reservation coverage, in hours.

", + "GetReservationCoverageResponse$Total": "

The total amount of instance usage that is covered by a reservation.

", + "ReservationCoverageGroup$Coverage": "

How much instance usage this group of reservations covered.

" + } + }, + "CoverageByTime": { + "base": "

Reservation coverage for a specified period, in hours.

", + "refs": { + "CoveragesByTime$member": null + } + }, + "CoverageHours": { + "base": "

How long a running instance either used a reservation or was On-Demand.

", + "refs": { + "Coverage$CoverageHours": "

The amount of instance usage that a reservation covered, in hours.

" + } + }, + "CoverageHoursPercentage": { + "base": null, + "refs": { + "CoverageHours$CoverageHoursPercentage": "

The percentage of instance hours that are covered by a reservation.

" + } + }, + "CoveragesByTime": { + "base": null, + "refs": { + "GetReservationCoverageResponse$CoveragesByTime": "

The amount of time that your reservations covered.

" + } + }, + "DataUnavailableException": { + "base": "

The requested data is unavailable.

", + "refs": { } }, "DateInterval": { "base": "

The time period that you want the usage and costs for.

", "refs": { + "CoverageByTime$TimePeriod": "

The period over which this coverage was used.

", "GetCostAndUsageRequest$TimePeriod": "

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.

", "GetDimensionValuesRequest$TimePeriod": "

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.

", - "GetReservationUtilizationRequest$TimePeriod": "

Sets the start and end dates for retrieving reserve 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.

", + "GetReservationCoverageRequest$TimePeriod": "

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.

", + "GetReservationUtilizationRequest$TimePeriod": "

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.

", "GetTagsRequest$TimePeriod": "

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.

", "ResultByTime$TimePeriod": "

The time period covered by a result.

", "UtilizationByTime$TimePeriod": "

The period of time over which this utilization was used.

" @@ -48,7 +114,7 @@ "base": null, "refs": { "DimensionValues$Key": "

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.

", - "GetDimensionValuesRequest$Dimension": "

The name of the dimension. Different Dimensionsare available for different Contexts. For more information, see Context.

" + "GetDimensionValuesRequest$Dimension": "

The name of the dimension. Each Dimension is available for different a Context. For more information, see Context.

" } }, "DimensionValues": { @@ -66,7 +132,31 @@ "DimensionValuesWithAttributesList": { "base": null, "refs": { - "GetDimensionValuesResponse$DimensionValues": "

The filters that you used to filter your request. Some dimensions are available only for a specific context:

If you set the context to CostAndUsage, you can use the following dimensions for searching:

If you set the context to ReservedInstance, you can use the following dimensions for searching:

" + "GetDimensionValuesResponse$DimensionValues": "

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:

If you set the context to RESERVATIONS, you can use the following dimensions for searching:

" + } + }, + "EC2InstanceDetails": { + "base": "

Details about the EC2 instances that AWS recommends that you purchase.

", + "refs": { + "InstanceDetails$EC2InstanceDetails": "

The EC2 instances that AWS recommends that you purchase.

" + } + }, + "EC2Specification": { + "base": "

The EC2 hardware specifications that you want AWS to provide recommendations for.

", + "refs": { + "ServiceSpecification$EC2Specification": "

The EC2 hardware specifications that you want AWS to provide recommendations for.

" + } + }, + "ESInstanceDetails": { + "base": "

Details about the ES instances that AWS recommends that you purchase.

", + "refs": { + "InstanceDetails$ESInstanceDetails": "

The Amazon ES instances that AWS recommends that you purchase.

" + } + }, + "ElastiCacheInstanceDetails": { + "base": "

Details about the ElastiCache instances that AWS recommends that you purchase.

", + "refs": { + "InstanceDetails$ElastiCacheInstanceDetails": "

The ElastiCache instances that AWS recommends that you purchase.

" } }, "Entity": { @@ -78,31 +168,103 @@ "ErrorMessage": { "base": null, "refs": { - "LimitExceededException$Message": null + "BillExpirationException$Message": null, + "DataUnavailableException$Message": null, + "InvalidNextTokenException$Message": null, + "LimitExceededException$Message": null, + "RequestChangedException$Message": null } }, "Estimated": { "base": null, "refs": { - "ResultByTime$Estimated": "

Whether or not this result is estimated.

" + "ResultByTime$Estimated": "

Whether this result is estimated.

" } }, "Expression": { - "base": "

Use Expression to filter by cost or by usage. There are two patterns:

", + "base": "

Use Expression to filter by cost or by usage. There are two patterns:

", "refs": { - "Expression$Not": "

Return results that don't match Dimension.

", + "Expression$Not": "

Return results that don't match a Dimension object.

", "Expressions$member": null, - "GetCostAndUsageRequest$Filter": "

Filters AWS costs by different dimensions. For example, you can specify Service and Linked Account and get the costs 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 the Expression object or More Examples.

", - "GetReservationUtilizationRequest$Filter": "

Filters utilization data by using different dimensions. 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.

" + "GetCostAndUsageRequest$Filter": "

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.

", + "GetReservationCoverageRequest$Filter": "

Filters utilization data by dimensions. You can filter by the following dimensions:

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.

", + "GetReservationUtilizationRequest$Filter": "

Filters utilization data by dimensions. You can filter by the following dimensions:

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.

" } }, "Expressions": { "base": null, "refs": { - "Expression$Or": "

Return results that match either Dimension.

", + "Expression$Or": "

Return results that match either Dimension object.

", "Expression$And": "

Return results that match both Dimension objects.

" } }, + "GenericBoolean": { + "base": null, + "refs": { + "EC2InstanceDetails$CurrentGeneration": "

Whether the recommendation is for a current generation instance.

", + "EC2InstanceDetails$SizeFlexEligible": "

Whether the recommended reservation is size flexible.

", + "ESInstanceDetails$CurrentGeneration": "

Whether the recommendation is for a current generation instance.

", + "ESInstanceDetails$SizeFlexEligible": "

Whether the recommended reservation is size flexible.

", + "ElastiCacheInstanceDetails$CurrentGeneration": "

Whether the recommendation is for a current generation instance.

", + "ElastiCacheInstanceDetails$SizeFlexEligible": "

Whether the recommended reservation is size flexible.

", + "RDSInstanceDetails$CurrentGeneration": "

Whether the recommendation is for a current generation instance.

", + "RDSInstanceDetails$SizeFlexEligible": "

Whether the recommended reservation is size flexible.

", + "RedshiftInstanceDetails$CurrentGeneration": "

Whether the recommendation is for a current generation instance.

", + "RedshiftInstanceDetails$SizeFlexEligible": "

Whether the recommended reservation is size flexible.

" + } + }, + "GenericString": { + "base": null, + "refs": { + "EC2InstanceDetails$Family": "

The instance family of the recommended reservation.

", + "EC2InstanceDetails$InstanceType": "

The type of instance that AWS recommends.

", + "EC2InstanceDetails$Region": "

The AWS Region of the recommended reservation.

", + "EC2InstanceDetails$AvailabilityZone": "

The Availability Zone of the recommended reservation.

", + "EC2InstanceDetails$Platform": "

The platform of the recommended reservation. The platform is the specific combination of operating system, license model, and software on an instance.

", + "EC2InstanceDetails$Tenancy": "

Whether the recommended reservation is dedicated or shared.

", + "ESInstanceDetails$InstanceClass": "

The class of instance that AWS recommends.

", + "ESInstanceDetails$InstanceSize": "

The size of instance that AWS recommends.

", + "ESInstanceDetails$Region": "

The AWS Region of the recommended reservation.

", + "ElastiCacheInstanceDetails$Family": "

The instance family of the recommended reservation.

", + "ElastiCacheInstanceDetails$NodeType": "

The type of node that AWS recommends.

", + "ElastiCacheInstanceDetails$Region": "

The AWS Region of the recommended reservation.

", + "ElastiCacheInstanceDetails$ProductDescription": "

The description of the recommended reservation.

", + "GetReservationPurchaseRecommendationRequest$AccountId": "

The account ID that is associated with the recommendation.

", + "GetReservationPurchaseRecommendationRequest$Service": "

The specific service that you want recommendations for.

", + "RDSInstanceDetails$Family": "

The instance family of the recommended reservation.

", + "RDSInstanceDetails$InstanceType": "

The type of instance that AWS recommends.

", + "RDSInstanceDetails$Region": "

The AWS Region of the recommended reservation.

", + "RDSInstanceDetails$DatabaseEngine": "

The database engine that the recommended reservation supports.

", + "RDSInstanceDetails$DatabaseEdition": "

The database edition that the recommended reservation supports.

", + "RDSInstanceDetails$DeploymentOption": "

Whether the recommendation is for a reservation in a single Availability Zone or a reservation with a backup in a second Availability Zone.

", + "RDSInstanceDetails$LicenseModel": "

The license model that the recommended reservation supports.

", + "RedshiftInstanceDetails$Family": "

The instance family of the recommended reservation.

", + "RedshiftInstanceDetails$NodeType": "

The type of node that AWS recommends.

", + "RedshiftInstanceDetails$Region": "

The AWS Region of the recommended reservation.

", + "ReservationPurchaseRecommendationDetail$RecommendedNumberOfInstancesToPurchase": "

The number of instances that AWS recommends that you purchase.

", + "ReservationPurchaseRecommendationDetail$RecommendedNormalizedUnitsToPurchase": "

The number of normalized units that AWS recommends that you purchase.

", + "ReservationPurchaseRecommendationDetail$MinimumNumberOfInstancesUsedPerHour": "

The minimum number of instances that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

", + "ReservationPurchaseRecommendationDetail$MinimumNormalizedUnitsUsedPerHour": "

The minimum number of hours that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

", + "ReservationPurchaseRecommendationDetail$MaximumNumberOfInstancesUsedPerHour": "

The maximum number of instances that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

", + "ReservationPurchaseRecommendationDetail$MaximumNormalizedUnitsUsedPerHour": "

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.

", + "ReservationPurchaseRecommendationDetail$AverageNumberOfInstancesUsedPerHour": "

The average number of instances that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

", + "ReservationPurchaseRecommendationDetail$AverageNormalizedUnitsUsedPerHour": "

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.

", + "ReservationPurchaseRecommendationDetail$AverageUtilization": "

The average utilization of your instances. AWS uses this to calculate your recommended reservation purchases.

", + "ReservationPurchaseRecommendationDetail$EstimatedBreakEvenInMonths": "

How long AWS estimates that it takes for this instance to start saving you money, in months.

", + "ReservationPurchaseRecommendationDetail$CurrencyCode": "

The currency code that AWS used to calculate the costs for this instance.

", + "ReservationPurchaseRecommendationDetail$EstimatedMonthlySavingsAmount": "

How much AWS estimates that this specific recommendation could save you in a month.

", + "ReservationPurchaseRecommendationDetail$EstimatedMonthlySavingsPercentage": "

How much AWS estimates that this specific recommendation could save you in a month, as a percentage of your overall costs.

", + "ReservationPurchaseRecommendationDetail$EstimatedMonthlyOnDemandCost": "

How much AWS estimates that you spend on On-Demand Instances in a month.

", + "ReservationPurchaseRecommendationDetail$EstimatedReservationCostForLookbackPeriod": "

How much AWS estimates that you would have spent for all usage during the specified historical period if you had had a reservation.

", + "ReservationPurchaseRecommendationDetail$UpfrontCost": "

How much purchasing this instance costs you upfront.

", + "ReservationPurchaseRecommendationDetail$RecurringStandardMonthlyCost": "

How much purchasing this instance costs you on a monthly basis.

", + "ReservationPurchaseRecommendationMetadata$RecommendationId": "

The ID for this specific recommendation.

", + "ReservationPurchaseRecommendationMetadata$GenerationTimestamp": "

The time stamp for when AWS made this recommendation.

", + "ReservationPurchaseRecommendationSummary$TotalEstimatedMonthlySavingsAmount": "

The total amount that AWS estimates that this recommendation could save you in a month.

", + "ReservationPurchaseRecommendationSummary$TotalEstimatedMonthlySavingsPercentage": "

The total amount that AWS estimates that this recommendation could save you in a month, as a percentage of your costs.

", + "ReservationPurchaseRecommendationSummary$CurrencyCode": "

The currency code used for this recommendation.

" + } + }, "GetCostAndUsageRequest": { "base": null, "refs": { @@ -123,6 +285,26 @@ "refs": { } }, + "GetReservationCoverageRequest": { + "base": "

You can use the following request parameters to query for how much of your instance usage is covered by a reservation.

", + "refs": { + } + }, + "GetReservationCoverageResponse": { + "base": null, + "refs": { + } + }, + "GetReservationPurchaseRecommendationRequest": { + "base": null, + "refs": { + } + }, + "GetReservationPurchaseRecommendationResponse": { + "base": null, + "refs": { + } + }, "GetReservationUtilizationRequest": { "base": null, "refs": { @@ -146,8 +328,9 @@ "Granularity": { "base": null, "refs": { - "GetCostAndUsageRequest$Granularity": "

Sets the AWS cost granularity to MONTHLY or DAILY.

", - "GetReservationUtilizationRequest$Granularity": "

Sets the AWS cost granularity to MONTHLY or DAILY. If both GroupBy and granularity are not set, GetReservationUtilization defaults to DAILY. If GroupBy is set, Granularity can't be set, and the response object doesn't include MONTHLY or DAILY granularity.

" + "GetCostAndUsageRequest$Granularity": "

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.

", + "GetReservationCoverageRequest$Granularity": "

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.

", + "GetReservationUtilizationRequest$Granularity": "

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.

" } }, "Group": { @@ -177,9 +360,10 @@ "GroupDefinitions": { "base": null, "refs": { - "GetCostAndUsageRequest$GroupBy": "

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, LINKED_ACCCOUNT, OPERATION, PURCHASE_TYPE, SERVICE, USAGE_TYPE, TAGS, and PLATFORM.

", - "GetCostAndUsageResponse$GroupDefinitions": "

The groups specified by the the Filter or GroupBy parameters in the request.

", - "GetReservationUtilizationRequest$GroupBy": "

Groups only by SubscriptionId. Metadata is included.

" + "GetCostAndUsageRequest$GroupBy": "

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.

", + "GetCostAndUsageResponse$GroupDefinitions": "

The groups that are specified by the Filter or GroupBy parameters in the request.

", + "GetReservationCoverageRequest$GroupBy": "

You can group the data by the following attributes:

", + "GetReservationUtilizationRequest$GroupBy": "

Groups only by SUBSCRIPTION_ID. Metadata is included.

" } }, "Groups": { @@ -188,6 +372,17 @@ "ResultByTime$Groups": "

The groups that are included in this time period.

" } }, + "InstanceDetails": { + "base": "

Details about the instances that AWS recommends that you purchase.

", + "refs": { + "ReservationPurchaseRecommendationDetail$InstanceDetails": "

Details about the instances that AWS recommends that you purchase.

" + } + }, + "InvalidNextTokenException": { + "base": "

The pagination token is invalid. Try again without a pagination token.

", + "refs": { + } + }, "Key": { "base": null, "refs": { @@ -197,7 +392,7 @@ "Keys": { "base": null, "refs": { - "Group$Keys": "

The keys included in this group.

" + "Group$Keys": "

The keys that are included in this group.

" } }, "LimitExceededException": { @@ -205,6 +400,13 @@ "refs": { } }, + "LookbackPeriodInDays": { + "base": null, + "refs": { + "GetReservationPurchaseRecommendationRequest$LookbackPeriodInDays": "

The number of previous days that you want AWS to consider when it calculates your recommendations.

", + "ReservationPurchaseRecommendation$LookbackPeriodInDays": "

How many days of previous usage that AWS considers when making this recommendation.

" + } + }, "MetricAmount": { "base": null, "refs": { @@ -221,7 +423,7 @@ "MetricNames": { "base": null, "refs": { - "GetCostAndUsageRequest$Metrics": "

Which metrics are returned in the query. For more information about blended and unblended rates, see https://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/.

Valid values are 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.

" + "GetCostAndUsageRequest$Metrics": "

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.

" } }, "MetricUnit": { @@ -239,10 +441,16 @@ "Metrics": { "base": null, "refs": { - "Group$Metrics": "

The metrics included in this group.

", + "Group$Metrics": "

The metrics that are included in this group.

", "ResultByTime$Total": "

The total amount of cost or usage accrued during the time period.

" } }, + "NetRISavings": { + "base": null, + "refs": { + "ReservationAggregates$NetRISavings": "

How much you saved due to purchasing and utilizing RIs. AWS calculates this by subtracting TotalAmortizedFee from OnDemandCostOfRIHoursUsed.

" + } + }, "NextPageToken": { "base": null, "refs": { @@ -250,12 +458,40 @@ "GetCostAndUsageResponse$NextPageToken": "

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.

", "GetDimensionValuesRequest$NextPageToken": "

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$NextPageToken": "

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$NextPageToken": "

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.

", + "GetReservationCoverageResponse$NextPageToken": "

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$NextPageToken": "

The pagination token that indicates the next set of results that you want to retrieve.

", + "GetReservationPurchaseRecommendationResponse$NextPageToken": "

The pagination token for the next set of retrievable results.

", "GetReservationUtilizationRequest$NextPageToken": "

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$NextPageToken": "

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$NextPageToken": "

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$NextPageToken": "

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.

" } }, + "NonNegativeInteger": { + "base": null, + "refs": { + "GetReservationPurchaseRecommendationRequest$PageSize": "

The number of recommendations that you want returned in a single response object.

" + } + }, + "OfferingClass": { + "base": null, + "refs": { + "EC2Specification$OfferingClass": "

Whether you want a recommendation for standard or convertible reservations.

" + } + }, + "OnDemandCostOfRIHoursUsed": { + "base": null, + "refs": { + "ReservationAggregates$OnDemandCostOfRIHoursUsed": "

How much your RIs would cost if charged On-Demand rates.

" + } + }, + "OnDemandHours": { + "base": null, + "refs": { + "CoverageHours$OnDemandHours": "

The number of instance running hours that are covered by On-Demand Instances.

" + } + }, "PageSize": { "base": null, "refs": { @@ -265,20 +501,56 @@ "GetTagsResponse$TotalSize": "

The total number of query results.

" } }, + "PaymentOption": { + "base": null, + "refs": { + "GetReservationPurchaseRecommendationRequest$PaymentOption": "

The reservation purchase option that you want recommendations for.

", + "ReservationPurchaseRecommendation$PaymentOption": "

The payment option for the reservation. For example, AllUpfront or NoUpfront.

" + } + }, "PurchasedHours": { "base": null, "refs": { - "ReservationAggregates$PurchasedHours": "

How many RI hours you purchased.

" + "ReservationAggregates$PurchasedHours": "

How many RI hours that you purchased.

" + } + }, + "RDSInstanceDetails": { + "base": "

Details about the RDS instances that AWS recommends that you purchase.

", + "refs": { + "InstanceDetails$RDSInstanceDetails": "

The RDS instances that AWS recommends that you purchase.

" + } + }, + "RedshiftInstanceDetails": { + "base": "

Details about the Amazon Redshift instances that AWS recommends that you purchase.

", + "refs": { + "InstanceDetails$RedshiftInstanceDetails": "

The Amazon Redshift instances that AWS recommends that you purchase.

" + } + }, + "RequestChangedException": { + "base": "

Your request parameters changed between pages. Try again with the old parameters or without a pagination token.

", + "refs": { } }, "ReservationAggregates": { - "base": "

The aggregated numbers for your RI usage.

", + "base": "

The aggregated numbers for your Reserved Instance (RI) usage.

", "refs": { "GetReservationUtilizationResponse$Total": "

The total amount of time that you utilized your RIs.

", "ReservationUtilizationGroup$Utilization": "

How much you used this group of RIs.

", "UtilizationByTime$Total": "

The total number of RI hours that were used.

" } }, + "ReservationCoverageGroup": { + "base": "

A group of reservations that share a set of attributes.

", + "refs": { + "ReservationCoverageGroups$member": null + } + }, + "ReservationCoverageGroups": { + "base": null, + "refs": { + "CoverageByTime$Groups": "

The groups of instances that are covered by a reservation.

" + } + }, "ReservationGroupKey": { "base": null, "refs": { @@ -291,8 +563,44 @@ "ReservationUtilizationGroup$Value": "

The value of a specific RI attribute.

" } }, + "ReservationPurchaseRecommendation": { + "base": "

A specific reservation that AWS recommends for purchase.

", + "refs": { + "ReservationPurchaseRecommendations$member": null + } + }, + "ReservationPurchaseRecommendationDetail": { + "base": "

Details about your recommended reservation purchase.

", + "refs": { + "ReservationPurchaseRecommendationDetails$member": null + } + }, + "ReservationPurchaseRecommendationDetails": { + "base": null, + "refs": { + "ReservationPurchaseRecommendation$RecommendationDetails": "

Details about the recommended purchases.

" + } + }, + "ReservationPurchaseRecommendationMetadata": { + "base": "

Information about this specific recommendation, such as the time stamp for when AWS made a specific recommendation.

", + "refs": { + "GetReservationPurchaseRecommendationResponse$Metadata": "

Information about this specific recommendation call, such as the time stamp for when Cost Explorer generated this recommendation.

" + } + }, + "ReservationPurchaseRecommendationSummary": { + "base": "

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.

", + "refs": { + "ReservationPurchaseRecommendation$RecommendationSummary": "

A summary about the recommended purchase.

" + } + }, + "ReservationPurchaseRecommendations": { + "base": null, + "refs": { + "GetReservationPurchaseRecommendationResponse$Recommendations": "

Recommendations for reservations to purchase.

" + } + }, "ReservationUtilizationGroup": { - "base": "

A group of RIs that share a set of attributes.

", + "base": "

A group of Reserved Instances (RIs) that share a set of attributes.

", "refs": { "ReservationUtilizationGroups$member": null } @@ -303,6 +611,12 @@ "UtilizationByTime$Groups": "

The groups that are included in this utilization result.

" } }, + "ReservedHours": { + "base": null, + "refs": { + "CoverageHours$ReservedHours": "

The number of instance running hours that are covered by reservations.

" + } + }, "ResultByTime": { "base": "

The result that is associated with a time period.

", "refs": { @@ -312,7 +626,7 @@ "ResultsByTime": { "base": null, "refs": { - "GetCostAndUsageResponse$ResultsByTime": "

The time period covered by the results in the response.

" + "GetCostAndUsageResponse$ResultsByTime": "

The time period that is covered by the results in the response.

" } }, "SearchString": { @@ -322,6 +636,13 @@ "GetTagsRequest$SearchString": "

The value that you want to search for.

" } }, + "ServiceSpecification": { + "base": "

Hardware specifications for the service that you want recommendations for.

", + "refs": { + "GetReservationPurchaseRecommendationRequest$ServiceSpecification": "

The hardware specifications for the service instances that you want recommendations for, such as standard or convertible EC2 instances.

", + "ReservationPurchaseRecommendation$ServiceSpecification": "

Hardware specifications for the service that you want recommendations for.

" + } + }, "TagKey": { "base": null, "refs": { @@ -341,12 +662,37 @@ "Expression$Tags": "

The specific Tag to use for Expression.

" } }, + "TermInYears": { + "base": null, + "refs": { + "GetReservationPurchaseRecommendationRequest$TermInYears": "

The reservation term that you want recommendations for.

", + "ReservationPurchaseRecommendation$TermInYears": "

The term of the reservation that you want recommendations for, in years.

" + } + }, "TotalActualHours": { "base": null, "refs": { "ReservationAggregates$TotalActualHours": "

The total number of RI hours that you used.

" } }, + "TotalAmortizedFee": { + "base": null, + "refs": { + "ReservationAggregates$TotalAmortizedFee": "

The total cost of your RI, amortized over the RI period.

" + } + }, + "TotalPotentialRISavings": { + "base": null, + "refs": { + "ReservationAggregates$TotalPotentialRISavings": "

How much you could save if you use your entire reservation.

" + } + }, + "TotalRunningHours": { + "base": null, + "refs": { + "CoverageHours$TotalRunningHours": "

The total instance usage, in hours.

" + } + }, "UnusedHours": { "base": null, "refs": { @@ -388,8 +734,8 @@ "YearMonthDay": { "base": null, "refs": { - "DateInterval$Start": "

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, then the cost and usage data is retrieved starting at 2017-01-01 up to the end date.

", - "DateInterval$End": "

The end of the time period that you want the usage and costs for. The end date is exclusive. For example, if the end is 2017-05-01, then the cost and usage data is retrieved from the start date but not including 2017-05-01.

" + "DateInterval$Start": "

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.

", + "DateInterval$End": "

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.

" } } } diff --git a/models/apis/clouddirectory/2016-05-10/api-2.json b/models/apis/clouddirectory/2017-01-11/api-2.json similarity index 90% rename from models/apis/clouddirectory/2016-05-10/api-2.json rename to models/apis/clouddirectory/2017-01-11/api-2.json index dc21b1bb42a..dea3930f38f 100644 --- a/models/apis/clouddirectory/2016-05-10/api-2.json +++ b/models/apis/clouddirectory/2017-01-11/api-2.json @@ -1,13 +1,13 @@ { "version":"2.0", "metadata":{ - "apiVersion":"2016-05-10", + "apiVersion":"2017-01-11", "endpointPrefix":"clouddirectory", "protocol":"rest-json", "serviceFullName":"Amazon CloudDirectory", "signatureVersion":"v4", "signingName":"clouddirectory", - "uid":"clouddirectory-2016-05-10" + "uid":"clouddirectory-2017-01-11" }, "operations":{ "AddFacetToObject":{ @@ -47,6 +47,7 @@ {"shape":"ValidationException"}, {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, + {"shape":"SchemaAlreadyExistsException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidAttachmentException"} ] @@ -92,7 +93,6 @@ {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidArnException"}, {"shape":"ResourceNotFoundException"}, {"shape":"NotPolicyException"} ] @@ -114,6 +114,7 @@ {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, {"shape":"DirectoryNotEnabledException"}, + {"shape":"InvalidAttachmentException"}, {"shape":"ResourceNotFoundException"}, {"shape":"LinkNameAlreadyInUseException"}, {"shape":"IndexedAttributeMissingException"}, @@ -199,7 +200,6 @@ {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, {"shape":"DirectoryAlreadyExistsException"}, - {"shape":"InvalidArnException"}, {"shape":"ResourceNotFoundException"} ] }, @@ -265,7 +265,6 @@ {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidArnException"}, {"shape":"ResourceNotFoundException"}, {"shape":"FacetValidationException"}, {"shape":"LinkNameAlreadyInUseException"}, @@ -456,7 +455,8 @@ {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"NotNodeException"} ] }, "DetachPolicy":{ @@ -476,7 +476,6 @@ {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidArnException"}, {"shape":"ResourceNotFoundException"}, {"shape":"NotPolicyException"} ] @@ -541,6 +540,25 @@ {"shape":"InvalidArnException"} ] }, + "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"} + ] + }, "GetDirectory":{ "name":"GetDirectory", "http":{ @@ -579,6 +597,48 @@ {"shape":"FacetNotFoundException"} ] }, + "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"} + ] + }, + "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"} + ] + }, "GetObjectInformation":{ "name":"GetObjectInformation", "http":{ @@ -795,14 +855,34 @@ {"shape":"InternalServiceException"}, {"shape":"InvalidArnException"}, {"shape":"RetryableConflictException"}, + {"shape":"FacetValidationException"}, {"shape":"ValidationException"}, {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, {"shape":"DirectoryNotEnabledException"}, + {"shape":"InvalidNextTokenException"}, {"shape":"ResourceNotFoundException"}, {"shape":"NotIndexException"} ] }, + "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"} + ] + }, "ListObjectAttributes":{ "name":"ListObjectAttributes", "http":{ @@ -820,7 +900,6 @@ {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidArnException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidNextTokenException"}, {"shape":"FacetValidationException"} @@ -843,7 +922,6 @@ {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidArnException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidNextTokenException"}, {"shape":"NotNodeException"} @@ -887,7 +965,6 @@ {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidArnException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidNextTokenException"}, {"shape":"CannotListParentOfRootException"} @@ -953,7 +1030,6 @@ {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidArnException"}, {"shape":"InvalidNextTokenException"}, {"shape":"ResourceNotFoundException"}, {"shape":"NotPolicyException"} @@ -1057,7 +1133,6 @@ {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidArnException"}, {"shape":"InvalidNextTokenException"}, {"shape":"ResourceNotFoundException"} ] @@ -1180,11 +1255,33 @@ {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, {"shape":"InvalidFacetUpdateException"}, + {"shape":"FacetValidationException"}, {"shape":"ResourceNotFoundException"}, {"shape":"FacetNotFoundException"}, {"shape":"InvalidRuleException"} ] }, + "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"} + ] + }, "UpdateObjectAttributes":{ "name":"UpdateObjectAttributes", "http":{ @@ -1203,6 +1300,7 @@ {"shape":"AccessDeniedException"}, {"shape":"DirectoryNotEnabledException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"LinkNameAlreadyInUseException"}, {"shape":"FacetValidationException"} ] }, @@ -1247,6 +1345,48 @@ {"shape":"FacetNotFoundException"}, {"shape":"InvalidRuleException"} ] + }, + "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"} + ] + }, + "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"} + ] } }, "shapes":{ @@ -1336,6 +1476,7 @@ "AttachPolicyRequest":{ "type":"structure", "required":[ + "DirectoryArn", "PolicyReference", "ObjectReference" ], @@ -1576,10 +1717,7 @@ "type":"structure", "required":[ "SchemaFacet", - "ObjectAttributeList", - "ParentReference", - "LinkName", - "BatchReferenceName" + "ObjectAttributeList" ], "members":{ "SchemaFacet":{"shape":"SchemaFacetList"}, @@ -1628,8 +1766,7 @@ "type":"structure", "required":[ "ParentReference", - "LinkName", - "BatchReferenceName" + "LinkName" ], "members":{ "ParentReference":{"shape":"ObjectReference"}, @@ -1671,6 +1808,42 @@ "members":{ } }, + "BatchGetLinkAttributes":{ + "type":"structure", + "required":[ + "TypedLinkSpecifier", + "AttributeNames" + ], + "members":{ + "TypedLinkSpecifier":{"shape":"TypedLinkSpecifier"}, + "AttributeNames":{"shape":"AttributeNameList"} + } + }, + "BatchGetLinkAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{"shape":"AttributeKeyAndValueList"} + } + }, + "BatchGetObjectAttributes":{ + "type":"structure", + "required":[ + "ObjectReference", + "SchemaFacet", + "AttributeNames" + ], + "members":{ + "ObjectReference":{"shape":"ObjectReference"}, + "SchemaFacet":{"shape":"SchemaFacet"}, + "AttributeNames":{"shape":"AttributeNameList"} + } + }, + "BatchGetObjectAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{"shape":"AttributeKeyAndValueList"} + } + }, "BatchGetObjectInformation":{ "type":"structure", "required":["ObjectReference"], @@ -1885,12 +2058,14 @@ "ListAttachedIndices":{"shape":"BatchListAttachedIndices"}, "ListObjectParentPaths":{"shape":"BatchListObjectParentPaths"}, "GetObjectInformation":{"shape":"BatchGetObjectInformation"}, + "GetObjectAttributes":{"shape":"BatchGetObjectAttributes"}, "ListObjectPolicies":{"shape":"BatchListObjectPolicies"}, "ListPolicyAttachments":{"shape":"BatchListPolicyAttachments"}, "LookupPolicy":{"shape":"BatchLookupPolicy"}, "ListIndex":{"shape":"BatchListIndex"}, "ListOutgoingTypedLinks":{"shape":"BatchListOutgoingTypedLinks"}, - "ListIncomingTypedLinks":{"shape":"BatchListIncomingTypedLinks"} + "ListIncomingTypedLinks":{"shape":"BatchListIncomingTypedLinks"}, + "GetLinkAttributes":{"shape":"BatchGetLinkAttributes"} } }, "BatchReadOperationList":{ @@ -1940,6 +2115,7 @@ "ListObjectAttributes":{"shape":"BatchListObjectAttributesResponse"}, "ListObjectChildren":{"shape":"BatchListObjectChildrenResponse"}, "GetObjectInformation":{"shape":"BatchGetObjectInformationResponse"}, + "GetObjectAttributes":{"shape":"BatchGetObjectAttributesResponse"}, "ListAttachedIndices":{"shape":"BatchListAttachedIndicesResponse"}, "ListObjectParentPaths":{"shape":"BatchListObjectParentPathsResponse"}, "ListObjectPolicies":{"shape":"BatchListObjectPoliciesResponse"}, @@ -1947,7 +2123,8 @@ "LookupPolicy":{"shape":"BatchLookupPolicyResponse"}, "ListIndex":{"shape":"BatchListIndexResponse"}, "ListOutgoingTypedLinks":{"shape":"BatchListOutgoingTypedLinksResponse"}, - "ListIncomingTypedLinks":{"shape":"BatchListIncomingTypedLinksResponse"} + "ListIncomingTypedLinks":{"shape":"BatchListIncomingTypedLinksResponse"}, + "GetLinkAttributes":{"shape":"BatchGetLinkAttributesResponse"} } }, "BatchReferenceName":{"type":"string"}, @@ -1967,6 +2144,22 @@ "members":{ } }, + "BatchUpdateLinkAttributes":{ + "type":"structure", + "required":[ + "TypedLinkSpecifier", + "AttributeUpdates" + ], + "members":{ + "TypedLinkSpecifier":{"shape":"TypedLinkSpecifier"}, + "AttributeUpdates":{"shape":"LinkAttributeUpdateList"} + } + }, + "BatchUpdateLinkAttributesResponse":{ + "type":"structure", + "members":{ + } + }, "BatchUpdateObjectAttributes":{ "type":"structure", "required":[ @@ -2007,6 +2200,7 @@ "AccessDeniedException", "InvalidAttachmentException", "NotIndexException", + "NotNodeException", "IndexedAttributeMissingException", "ObjectAlreadyDetachedException", "NotPolicyException", @@ -2031,7 +2225,8 @@ "AttachToIndex":{"shape":"BatchAttachToIndex"}, "DetachFromIndex":{"shape":"BatchDetachFromIndex"}, "AttachTypedLink":{"shape":"BatchAttachTypedLink"}, - "DetachTypedLink":{"shape":"BatchDetachTypedLink"} + "DetachTypedLink":{"shape":"BatchDetachTypedLink"}, + "UpdateLinkAttributes":{"shape":"BatchUpdateLinkAttributes"} } }, "BatchWriteOperationList":{ @@ -2054,7 +2249,8 @@ "AttachToIndex":{"shape":"BatchAttachToIndexResponse"}, "DetachFromIndex":{"shape":"BatchDetachFromIndexResponse"}, "AttachTypedLink":{"shape":"BatchAttachTypedLinkResponse"}, - "DetachTypedLink":{"shape":"BatchDetachTypedLinkResponse"} + "DetachTypedLink":{"shape":"BatchDetachTypedLinkResponse"}, + "UpdateLinkAttributes":{"shape":"BatchUpdateLinkAttributesResponse"} } }, "BatchWriteOperationResponseList":{ @@ -2134,8 +2330,7 @@ "type":"structure", "required":[ "SchemaArn", - "Name", - "ObjectType" + "Name" ], "members":{ "SchemaArn":{ @@ -2145,7 +2340,8 @@ }, "Name":{"shape":"FacetName"}, "Attributes":{"shape":"FacetAttributeList"}, - "ObjectType":{"shape":"ObjectType"} + "ObjectType":{"shape":"ObjectType"}, + "FacetStyle":{"shape":"FacetStyle"} } }, "CreateFacetResponse":{ @@ -2516,7 +2712,8 @@ "type":"structure", "members":{ "Name":{"shape":"FacetName"}, - "ObjectType":{"shape":"ObjectType"} + "ObjectType":{"shape":"ObjectType"}, + "FacetStyle":{"shape":"FacetStyle"} } }, "FacetAlreadyExistsException":{ @@ -2569,7 +2766,8 @@ "BINARY", "BOOLEAN", "NUMBER", - "DATETIME" + "DATETIME", + "VARIANT" ] }, "FacetAttributeUpdate":{ @@ -2609,6 +2807,13 @@ "error":{"httpStatusCode":400}, "exception":true }, + "FacetStyle":{ + "type":"string", + "enum":[ + "STATIC", + "DYNAMIC" + ] + }, "FacetValidationException":{ "type":"structure", "members":{ @@ -2617,6 +2822,19 @@ "error":{"httpStatusCode":400}, "exception":true }, + "GetAppliedSchemaVersionRequest":{ + "type":"structure", + "required":["SchemaArn"], + "members":{ + "SchemaArn":{"shape":"Arn"} + } + }, + "GetAppliedSchemaVersionResponse":{ + "type":"structure", + "members":{ + "AppliedSchemaArn":{"shape":"Arn"} + } + }, "GetDirectoryRequest":{ "type":"structure", "required":["DirectoryArn"], @@ -2656,6 +2874,60 @@ "Facet":{"shape":"Facet"} } }, + "GetLinkAttributesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "TypedLinkSpecifier", + "AttributeNames" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "TypedLinkSpecifier":{"shape":"TypedLinkSpecifier"}, + "AttributeNames":{"shape":"AttributeNameList"}, + "ConsistencyLevel":{"shape":"ConsistencyLevel"} + } + }, + "GetLinkAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{"shape":"AttributeKeyAndValueList"} + } + }, + "GetObjectAttributesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference", + "SchemaFacet", + "AttributeNames" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{"shape":"ObjectReference"}, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "location":"header", + "locationName":"x-amz-consistency-level" + }, + "SchemaFacet":{"shape":"SchemaFacet"}, + "AttributeNames":{"shape":"AttributeNameList"} + } + }, + "GetObjectAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{"shape":"AttributeKeyAndValueList"} + } + }, "GetObjectInformationRequest":{ "type":"structure", "required":[ @@ -2722,6 +2994,14 @@ "IdentityAttributeOrder":{"shape":"AttributeNameList"} } }, + "IncompatibleSchemaException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "IndexAttachment":{ "type":"structure", "members":{ @@ -2813,6 +3093,24 @@ "error":{"httpStatusCode":400}, "exception":true }, + "LinkAttributeAction":{ + "type":"structure", + "members":{ + "AttributeActionType":{"shape":"UpdateActionType"}, + "AttributeUpdateValue":{"shape":"TypedAttributeValue"} + } + }, + "LinkAttributeUpdate":{ + "type":"structure", + "members":{ + "AttributeKey":{"shape":"AttributeKey"}, + "AttributeAction":{"shape":"LinkAttributeAction"} + } + }, + "LinkAttributeUpdateList":{ + "type":"list", + "member":{"shape":"LinkAttributeUpdate"} + }, "LinkName":{ "type":"string", "max":64, @@ -2837,6 +3135,7 @@ "required":["DirectoryArn"], "members":{ "DirectoryArn":{"shape":"Arn"}, + "SchemaArn":{"shape":"Arn"}, "NextToken":{"shape":"NextToken"}, "MaxResults":{"shape":"NumberResults"} } @@ -3008,6 +3307,21 @@ "NextToken":{"shape":"NextToken"} } }, + "ListManagedSchemaArnsRequest":{ + "type":"structure", + "members":{ + "SchemaArn":{"shape":"Arn"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"NumberResults"} + } + }, + "ListManagedSchemaArnsResponse":{ + "type":"structure", + "members":{ + "SchemaArns":{"shape":"Arns"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListObjectAttributesRequest":{ "type":"structure", "required":[ @@ -3208,6 +3522,7 @@ "ListPublishedSchemaArnsRequest":{ "type":"structure", "members":{ + "SchemaArn":{"shape":"Arn"}, "NextToken":{"shape":"NextToken"}, "MaxResults":{"shape":"NumberResults"} } @@ -3452,6 +3767,7 @@ "locationName":"x-amz-data-partition" }, "Version":{"shape":"Version"}, + "MinorVersion":{"shape":"Version"}, "Name":{"shape":"SchemaName"} } }, @@ -3826,6 +4142,28 @@ "members":{ } }, + "UpdateLinkAttributesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "TypedLinkSpecifier", + "AttributeUpdates" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "TypedLinkSpecifier":{"shape":"TypedLinkSpecifier"}, + "AttributeUpdates":{"shape":"LinkAttributeUpdateList"} + } + }, + "UpdateLinkAttributesResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateObjectAttributesRequest":{ "type":"structure", "required":[ @@ -3894,6 +4232,45 @@ "members":{ } }, + "UpgradeAppliedSchemaRequest":{ + "type":"structure", + "required":[ + "PublishedSchemaArn", + "DirectoryArn" + ], + "members":{ + "PublishedSchemaArn":{"shape":"Arn"}, + "DirectoryArn":{"shape":"Arn"}, + "DryRun":{"shape":"Bool"} + } + }, + "UpgradeAppliedSchemaResponse":{ + "type":"structure", + "members":{ + "UpgradedSchemaArn":{"shape":"Arn"}, + "DirectoryArn":{"shape":"Arn"} + } + }, + "UpgradePublishedSchemaRequest":{ + "type":"structure", + "required":[ + "DevelopmentSchemaArn", + "PublishedSchemaArn", + "MinorVersion" + ], + "members":{ + "DevelopmentSchemaArn":{"shape":"Arn"}, + "PublishedSchemaArn":{"shape":"Arn"}, + "MinorVersion":{"shape":"Version"}, + "DryRun":{"shape":"Bool"} + } + }, + "UpgradePublishedSchemaResponse":{ + "type":"structure", + "members":{ + "UpgradedSchemaArn":{"shape":"Arn"} + } + }, "ValidationException":{ "type":"structure", "members":{ diff --git a/models/apis/clouddirectory/2016-05-10/docs-2.json b/models/apis/clouddirectory/2017-01-11/docs-2.json similarity index 87% rename from models/apis/clouddirectory/2016-05-10/docs-2.json rename to models/apis/clouddirectory/2017-01-11/docs-2.json index c5e70f45813..3c60778f77d 100644 --- a/models/apis/clouddirectory/2016-05-10/docs-2.json +++ b/models/apis/clouddirectory/2017-01-11/docs-2.json @@ -2,14 +2,14 @@ "version": "2.0", "service": "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.

", "operations": { - "AddFacetToObject": "

Adds a new Facet to an object.

", - "ApplySchema": "

Copies the input published schema into the Directory with the same name and version as that of the published schema .

", + "AddFacetToObject": "

Adds a new Facet to an object. An object can have more than one facet applied on it.

", + "ApplySchema": "

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

Attaches an existing object to another object. An object can be accessed in two ways:

  1. Using the path

  2. Using ObjectIdentifier

", "AttachPolicy": "

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

", "AttachToIndex": "

Attaches the specified object to the specified index.

", "AttachTypedLink": "

Attaches a typed link to a specified source and target object. For more information, see Typed link.

", "BatchRead": "

Performs all the read operations in a batch.

", - "BatchWrite": "

Performs all the write operations in a batch. Either all the operations succeed or none. Batch writes supports only object-related operations.

", + "BatchWrite": "

Performs all the write operations in a batch. Either all the operations succeed or none.

", "CreateDirectory": "

Creates a Directory by copying the published schema into the directory. A directory cannot be created without a schema.

", "CreateFacet": "

Creates a new Facet in a schema. Facet creation is allowed only in development or applied schemas.

", "CreateIndex": "

Creates an index object. See Indexing for more information.

", @@ -27,19 +27,23 @@ "DetachTypedLink": "

Detaches a typed link from a specified source and target object. For more information, see Typed link.

", "DisableDirectory": "

Disables the specified directory. Disabled directories cannot be read or written to. Only enabled directories can be disabled. Disabled directories may be reenabled.

", "EnableDirectory": "

Enables the specified directory. Only disabled directories can be enabled. Once enabled, the directory can then be read and written to.

", + "GetAppliedSchemaVersion": "

Returns current applied schema version ARN, including the minor version in use.

", "GetDirectory": "

Retrieves metadata about a directory.

", "GetFacet": "

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

Retrieves attributes that are associated with a typed link.

", + "GetObjectAttributes": "

Retrieves attributes within a facet that are associated with an object.

", "GetObjectInformation": "

Retrieves metadata about an object.

", "GetSchemaAsJson": "

Retrieves a JSON representation of the schema. See JSON Schema Format for more information.

", "GetTypedLinkFacetInformation": "

Returns the identity attribute order for a specific TypedLinkFacet. For more information, see Typed link.

", - "ListAppliedSchemaArns": "

Lists schemas applied to a directory.

", - "ListAttachedIndices": "

Lists indices attached to an object.

", + "ListAppliedSchemaArns": "

Lists schema major versions applied to a directory. If SchemaArn is provided, lists the minor version.

", + "ListAttachedIndices": "

Lists indices attached to the specified object.

", "ListDevelopmentSchemaArns": "

Retrieves each Amazon Resource Name (ARN) of schemas in the development state.

", "ListDirectories": "

Lists directories created within an account.

", "ListFacetAttributes": "

Retrieves attributes attached to the facet.

", "ListFacetNames": "

Retrieves the names of facets that exist in a schema.

", "ListIncomingTypedLinks": "

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

Lists objects attached to the specified index.

", + "ListManagedSchemaArns": "

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

Lists all attributes that are associated with an object.

", "ListObjectChildren": "

Returns a paginated list of child objects that are associated with a given object.

", "ListObjectParentPaths": "

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.

", @@ -47,20 +51,23 @@ "ListObjectPolicies": "

Returns policies attached to an object in pagination fashion.

", "ListOutgoingTypedLinks": "

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

Returns all of the ObjectIdentifiers to which a given policy is attached.

", - "ListPublishedSchemaArns": "

Retrieves each published schema Amazon Resource Name (ARN).

", + "ListPublishedSchemaArns": "

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

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

Returns a paginated list of all attribute definitions for a particular TypedLinkFacet. For more information, see Typed link.

", "ListTypedLinkFacetNames": "

Returns a paginated list of TypedLink facet names for a particular schema. For more information, see Typed link.

", "LookupPolicy": "

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

Publishes a development schema with a version. If description and attributes are specified, PublishSchema overrides the development schema description and attributes. If not, the development schema description and attributes are used.

", + "PublishSchema": "

Publishes a development schema with a major version and a recommended minor version.

", "PutSchemaFromJson": "

Allows a schema to be updated using JSON upload. Only available for development schemas. See JSON Schema Format for more information.

", "RemoveFacetFromObject": "

Removes the specified facet from the specified object.

", "TagResource": "

An API operation for adding tags to a resource.

", "UntagResource": "

An API operation for removing tags from a resource.

", "UpdateFacet": "

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

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

Updates a given object's attributes.

", "UpdateSchema": "

Updates the schema name with a new name. Only development schema names can be updated.

", - "UpdateTypedLinkFacet": "

Updates a TypedLinkFacet. For more information, see Typed link.

" + "UpdateTypedLinkFacet": "

Updates a TypedLinkFacet. For more information, see Typed link.

", + "UpgradeAppliedSchema": "

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

Upgrades a published schema under a new minor version revision using the current contents of DevelopmentSchemaArn.

" }, "shapes": { "AccessDeniedException": { @@ -126,16 +133,22 @@ "DisableDirectoryResponse$DirectoryArn": "

The ARN of the directory that has been disabled.

", "EnableDirectoryRequest$DirectoryArn": "

The ARN of the directory to enable.

", "EnableDirectoryResponse$DirectoryArn": "

The ARN of the enabled directory.

", + "GetAppliedSchemaVersionRequest$SchemaArn": "

The ARN of the applied schema.

", + "GetAppliedSchemaVersionResponse$AppliedSchemaArn": "

Current applied schema ARN, including the minor version in use if one was provided.

", "GetFacetRequest$SchemaArn": "

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", + "GetLinkAttributesRequest$DirectoryArn": "

The Amazon Resource Name (ARN) that is associated with the Directory where the typed link resides. For more information, see arns or Typed link.

", + "GetObjectAttributesRequest$DirectoryArn": "

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides.

", "GetObjectInformationRequest$DirectoryArn": "

The ARN of the directory being retrieved.

", "GetSchemaAsJsonRequest$SchemaArn": "

The ARN of the schema to retrieve.

", "GetTypedLinkFacetInformationRequest$SchemaArn": "

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", "ListAppliedSchemaArnsRequest$DirectoryArn": "

The ARN of the directory you are listing.

", + "ListAppliedSchemaArnsRequest$SchemaArn": "

The response for ListAppliedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

", "ListAttachedIndicesRequest$DirectoryArn": "

The ARN of the directory.

", "ListFacetAttributesRequest$SchemaArn": "

The ARN of the schema where the facet resides.

", "ListFacetNamesRequest$SchemaArn": "

The Amazon Resource Name (ARN) to retrieve facet names from.

", "ListIncomingTypedLinksRequest$DirectoryArn": "

The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

", "ListIndexRequest$DirectoryArn": "

The ARN of the directory that the index exists in.

", + "ListManagedSchemaArnsRequest$SchemaArn": "

The response for ListManagedSchemaArns. When this parameter is used, all minor version ARNs for a major version are listed.

", "ListObjectAttributesRequest$DirectoryArn": "

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", "ListObjectChildrenRequest$DirectoryArn": "

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", "ListObjectParentPathsRequest$DirectoryArn": "

The ARN of the directory to which the parent path applies.

", @@ -143,6 +156,7 @@ "ListObjectPoliciesRequest$DirectoryArn": "

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", "ListOutgoingTypedLinksRequest$DirectoryArn": "

The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

", "ListPolicyAttachmentsRequest$DirectoryArn": "

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", + "ListPublishedSchemaArnsRequest$SchemaArn": "

The response for ListPublishedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

", "ListTagsForResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

", "ListTypedLinkFacetAttributesRequest$SchemaArn": "

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", "ListTypedLinkFacetNamesRequest$SchemaArn": "

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", @@ -152,15 +166,23 @@ "PutSchemaFromJsonRequest$SchemaArn": "

The ARN of the schema to update.

", "PutSchemaFromJsonResponse$Arn": "

The ARN of the schema to update.

", "RemoveFacetFromObjectRequest$DirectoryArn": "

The ARN of the directory in which the object resides.

", - "SchemaFacet$SchemaArn": "

The ARN of the schema that contains the facet.

", + "SchemaFacet$SchemaArn": "

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.

", "TagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

", "TypedLinkSchemaAndFacetName$SchemaArn": "

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", "UntagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

", "UpdateFacetRequest$SchemaArn": "

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", + "UpdateLinkAttributesRequest$DirectoryArn": "

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.

", "UpdateObjectAttributesRequest$DirectoryArn": "

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", "UpdateSchemaRequest$SchemaArn": "

The Amazon Resource Name (ARN) of the development schema. For more information, see arns.

", "UpdateSchemaResponse$SchemaArn": "

The ARN that is associated with the updated schema. For more information, see arns.

", - "UpdateTypedLinkFacetRequest$SchemaArn": "

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

" + "UpdateTypedLinkFacetRequest$SchemaArn": "

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "UpgradeAppliedSchemaRequest$PublishedSchemaArn": "

The revision of the published schema to upgrade the directory to.

", + "UpgradeAppliedSchemaRequest$DirectoryArn": "

The ARN for the directory to which the upgraded schema will be applied.

", + "UpgradeAppliedSchemaResponse$UpgradedSchemaArn": "

The ARN of the upgraded schema that is returned as part of the response.

", + "UpgradeAppliedSchemaResponse$DirectoryArn": "

The ARN of the directory that is returned as part of the response.

", + "UpgradePublishedSchemaRequest$DevelopmentSchemaArn": "

The ARN of the development schema with the changes used for the upgrade.

", + "UpgradePublishedSchemaRequest$PublishedSchemaArn": "

The ARN of the published schema to be upgraded.

", + "UpgradePublishedSchemaResponse$UpgradedSchemaArn": "

The ARN of the upgraded schema that is returned as part of the response.

" } }, "Arns": { @@ -168,6 +190,7 @@ "refs": { "ListAppliedSchemaArnsResponse$SchemaArns": "

The ARNs of schemas that are applied to the directory.

", "ListDevelopmentSchemaArnsResponse$SchemaArns": "

The ARNs of retrieved development schemas.

", + "ListManagedSchemaArnsResponse$SchemaArns": "

The ARNs for all AWS managed schemas.

", "ListPublishedSchemaArnsResponse$SchemaArns": "

The ARNs of published schemas.

" } }, @@ -216,6 +239,7 @@ "refs": { "AttributeKeyAndValue$Key": "

The key of the attribute.

", "AttributeKeyList$member": null, + "LinkAttributeUpdate$AttributeKey": "

The key of the attribute being updated.

", "ObjectAttributeRange$AttributeKey": "

The key of the attribute that the attribute range covers.

", "ObjectAttributeUpdate$ObjectAttributeKey": "

The key of the attribute being updated.

" } @@ -232,8 +256,12 @@ "AddFacetToObjectRequest$ObjectAttributeList": "

Attributes on the facet that you are adding to the object.

", "BatchAddFacetToObject$ObjectAttributeList": "

The attributes to set on the object.

", "BatchCreateObject$ObjectAttributeList": "

An attribute map, which contains an attribute ARN as the key and attribute value as the map value.

", + "BatchGetLinkAttributesResponse$Attributes": "

The attributes that are associated with the typed link.

", + "BatchGetObjectAttributesResponse$Attributes": "

The attribute values that are associated with an object.

", "BatchListObjectAttributesResponse$Attributes": "

The attributes map that is associated with the object. AttributeArn is the key; attribute value is the value.

", "CreateObjectRequest$ObjectAttributeList": "

The attribute map whose attribute ARN contains the key and attribute value as the map value.

", + "GetLinkAttributesResponse$Attributes": "

The attributes that are associated with the typed link.

", + "GetObjectAttributesResponse$Attributes": "

The attributes that are associated with the object.

", "IndexAttachment$IndexedAttributes": "

The indexed attribute values.

", "ListObjectAttributesResponse$Attributes": "

Attributes map that is associated with the object. AttributeArn is the key, and attribute value is the value.

" } @@ -274,6 +302,10 @@ "AttributeNameList": { "base": null, "refs": { + "BatchGetLinkAttributes$AttributeNames": "

A list of attribute names whose values will be retrieved.

", + "BatchGetObjectAttributes$AttributeNames": "

List of attribute names whose values will be retrieved.

", + "GetLinkAttributesRequest$AttributeNames": "

A list of attribute names whose values will be retrieved.

", + "GetObjectAttributesRequest$AttributeNames": "

List of attribute names whose values will be retrieved.

", "GetTypedLinkFacetInformationResponse$IdentityAttributeOrder": "

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.

", "TypedLinkFacet$IdentityAttributeOrder": "

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.

", "UpdateTypedLinkFacetRequest$IdentityAttributeOrder": "

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.

" @@ -400,7 +432,7 @@ } }, "BatchDetachPolicy": { - "base": "

Detaches the specified policy from the specified directory inside a BatchRead operation. For more information, see DetachPolicy and BatchReadRequest$Operations.

", + "base": "

Detaches the specified policy from the specified directory inside a BatchWrite operation. For more information, see DetachPolicy and BatchWriteRequest$Operations.

", "refs": { "BatchWriteOperation$DetachPolicy": "

Detaches a policy from a Directory.

" } @@ -423,6 +455,30 @@ "BatchWriteOperationResponse$DetachTypedLink": "

Detaches a typed link from a specified source and target object. For more information, see Typed link.

" } }, + "BatchGetLinkAttributes": { + "base": "

Retrieves attributes that are associated with a typed link inside a BatchRead operation. For more information, see GetLinkAttributes and BatchReadRequest$Operations.

", + "refs": { + "BatchReadOperation$GetLinkAttributes": "

Retrieves attributes that are associated with a typed link.

" + } + }, + "BatchGetLinkAttributesResponse": { + "base": "

Represents the output of a GetLinkAttributes response operation.

", + "refs": { + "BatchReadSuccessfulResponse$GetLinkAttributes": "

The list of attributes to retrieve from the typed link.

" + } + }, + "BatchGetObjectAttributes": { + "base": "

Retrieves attributes within a facet that are associated with an object inside an BatchRead operation. For more information, see GetObjectAttributes and BatchReadRequest$Operations.

", + "refs": { + "BatchReadOperation$GetObjectAttributes": "

Retrieves attributes within a facet that are associated with an object.

" + } + }, + "BatchGetObjectAttributesResponse": { + "base": "

Represents the output of a GetObjectAttributes response operation.

", + "refs": { + "BatchReadSuccessfulResponse$GetObjectAttributes": "

Retrieves attributes within a facet that are associated with an object.

" + } + }, "BatchGetObjectInformation": { "base": "

Retrieves metadata about an object inside a BatchRead operation. For more information, see GetObjectInformation and BatchReadRequest$Operations.

", "refs": { @@ -633,6 +689,18 @@ "BatchWriteOperationResponse$RemoveFacetFromObject": "

The result of a batch remove facet from object operation.

" } }, + "BatchUpdateLinkAttributes": { + "base": "

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.

", + "refs": { + "BatchWriteOperation$UpdateLinkAttributes": "

Updates a given object's attributes.

" + } + }, + "BatchUpdateLinkAttributesResponse": { + "base": "

Represents the output of a UpdateLinkAttributes response operation.

", + "refs": { + "BatchWriteOperationResponse$UpdateLinkAttributes": "

Represents the output of a BatchWrite response operation.

" + } + }, "BatchUpdateObjectAttributes": { "base": "

Represents the output of a BatchUpdate operation.

", "refs": { @@ -702,7 +770,9 @@ "BatchCreateIndex$IsUnique": "

Indicates whether the attribute that is being indexed has unique values or not.

", "CreateIndexRequest$IsUnique": "

Indicates whether the attribute that is being indexed has unique values or not.

", "FacetAttributeDefinition$IsImmutable": "

Whether the attribute is mutable or not.

", - "TypedLinkAttributeDefinition$IsImmutable": "

Whether the attribute is mutable or not.

" + "TypedLinkAttributeDefinition$IsImmutable": "

Whether the attribute is mutable or not.

", + "UpgradeAppliedSchemaRequest$DryRun": "

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.

", + "UpgradePublishedSchemaRequest$DryRun": "

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.

" } }, "BooleanAttributeValue": { @@ -720,6 +790,8 @@ "base": null, "refs": { "BatchReadRequest$ConsistencyLevel": "

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.

", + "GetLinkAttributesRequest$ConsistencyLevel": "

The consistency level at which to retrieve the attributes on a typed link.

", + "GetObjectAttributesRequest$ConsistencyLevel": "

The consistency level at which to retrieve the attributes on an object.

", "GetObjectInformationRequest$ConsistencyLevel": "

The consistency level at which to retrieve the object information.

", "ListAttachedIndicesRequest$ConsistencyLevel": "

The consistency level to use for this operation.

", "ListIncomingTypedLinksRequest$ConsistencyLevel": "

The consistency level to execute the request at.

", @@ -934,7 +1006,7 @@ } }, "DirectoryNotEnabledException": { - "base": "

An operation can only operate on a directory that is not enabled.

", + "base": "

Operations are only permitted on enabled directories.

", "refs": { } }, @@ -980,6 +1052,7 @@ "FacetInUseException$Message": null, "FacetNotFoundException$Message": null, "FacetValidationException$Message": null, + "IncompatibleSchemaException$Message": null, "IndexedAttributeMissingException$Message": null, "InternalServiceException$Message": null, "InvalidArnException$Message": null, @@ -1006,7 +1079,7 @@ } }, "Facet": { - "base": "

A structure that contains Name, ARN, Attributes, Rules, and ObjectTypes.

", + "base": "

A structure that contains Name, ARN, Attributes, Rules, and ObjectTypes. See Facets for more information.

", "refs": { "GetFacetResponse$Facet": "

The Facet structure that is associated with the facet.

" } @@ -1092,11 +1165,28 @@ "refs": { } }, + "FacetStyle": { + "base": null, + "refs": { + "CreateFacetRequest$FacetStyle": "

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.

", + "Facet$FacetStyle": "

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.

" + } + }, "FacetValidationException": { "base": "

The Facet that you provided was not well formed or could not be validated with the schema.

", "refs": { } }, + "GetAppliedSchemaVersionRequest": { + "base": null, + "refs": { + } + }, + "GetAppliedSchemaVersionResponse": { + "base": null, + "refs": { + } + }, "GetDirectoryRequest": { "base": null, "refs": { @@ -1117,6 +1207,26 @@ "refs": { } }, + "GetLinkAttributesRequest": { + "base": null, + "refs": { + } + }, + "GetLinkAttributesResponse": { + "base": null, + "refs": { + } + }, + "GetObjectAttributesRequest": { + "base": null, + "refs": { + } + }, + "GetObjectAttributesResponse": { + "base": null, + "refs": { + } + }, "GetObjectInformationRequest": { "base": null, "refs": { @@ -1147,6 +1257,11 @@ "refs": { } }, + "IncompatibleSchemaException": { + "base": "

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.

", + "refs": { + } + }, "IndexAttachment": { "base": "

Represents an index and an attached object.

", "refs": { @@ -1212,6 +1327,25 @@ "refs": { } }, + "LinkAttributeAction": { + "base": "

The action to take on a typed link attribute value. Updates are only supported for attributes which don’t contribute to link identity.

", + "refs": { + "LinkAttributeUpdate$AttributeAction": "

The action to perform as part of the attribute update.

" + } + }, + "LinkAttributeUpdate": { + "base": "

Structure that contains attribute update information.

", + "refs": { + "LinkAttributeUpdateList$member": null + } + }, + "LinkAttributeUpdateList": { + "base": null, + "refs": { + "BatchUpdateLinkAttributes$AttributeUpdates": "

The attributes update structure.

", + "UpdateLinkAttributesRequest$AttributeUpdates": "

The attributes update structure.

" + } + }, "LinkName": { "base": null, "refs": { @@ -1319,6 +1453,16 @@ "refs": { } }, + "ListManagedSchemaArnsRequest": { + "base": null, + "refs": { + } + }, + "ListManagedSchemaArnsResponse": { + "base": null, + "refs": { + } + }, "ListObjectAttributesRequest": { "base": null, "refs": { @@ -1478,6 +1622,8 @@ "ListIncomingTypedLinksResponse$NextToken": "

The pagination token.

", "ListIndexRequest$NextToken": "

The pagination token.

", "ListIndexResponse$NextToken": "

The pagination token.

", + "ListManagedSchemaArnsRequest$NextToken": "

The pagination token.

", + "ListManagedSchemaArnsResponse$NextToken": "

The pagination token.

", "ListObjectAttributesRequest$NextToken": "

The pagination token.

", "ListObjectAttributesResponse$NextToken": "

The pagination token.

", "ListObjectChildrenRequest$NextToken": "

The pagination token.

", @@ -1545,7 +1691,8 @@ "ListFacetAttributesRequest$MaxResults": "

The maximum number of results to retrieve.

", "ListFacetNamesRequest$MaxResults": "

The maximum number of results to retrieve.

", "ListIncomingTypedLinksRequest$MaxResults": "

The maximum number of results to retrieve.

", - "ListIndexRequest$MaxResults": "

The maximum number of results to retrieve from the index.

", + "ListIndexRequest$MaxResults": "

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.

", + "ListManagedSchemaArnsRequest$MaxResults": "

The maximum number of results to retrieve.

", "ListObjectAttributesRequest$MaxResults": "

The maximum number of items to be retrieved in a single call. This is an approximate number.

", "ListObjectChildrenRequest$MaxResults": "

The maximum number of items to be retrieved in a single call. This is an approximate number.

", "ListObjectParentPathsRequest$MaxResults": "

The maximum number of items to be retrieved in a single call. This is an approximate number.

", @@ -1615,7 +1762,7 @@ "DetachFromIndexResponse$DetachedObjectIdentifier": "

The ObjectIdentifier of the object that was detached from the index.

", "DetachObjectResponse$DetachedObjectIdentifier": "

The ObjectIdentifier that was detached from the object.

", "GetObjectInformationResponse$ObjectIdentifier": "

The ObjectIdentifier of the specified object.

", - "IndexAttachment$ObjectIdentifier": "

The ObjectIdentifier of the object attached to the index.

", + "IndexAttachment$ObjectIdentifier": "

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.

", "LinkNameToObjectIdentifierMap$value": null, "ObjectIdentifierList$member": null, "ObjectIdentifierToLinkNameMap$key": null, @@ -1674,6 +1821,7 @@ "BatchDetachObject$ParentReference": "

Parent reference from which the object with the specified link name is detached.

", "BatchDetachPolicy$PolicyReference": "

Reference that identifies the policy object.

", "BatchDetachPolicy$ObjectReference": "

Reference that identifies the object whose policy object will be detached.

", + "BatchGetObjectAttributes$ObjectReference": "

Reference that identifies the object whose attributes will be retrieved.

", "BatchGetObjectInformation$ObjectReference": "

A reference to the object.

", "BatchListAttachedIndices$TargetReference": "

A reference to the object that has indices attached.

", "BatchListIncomingTypedLinks$ObjectReference": "

The reference that identifies the object whose attributes will be listed.

", @@ -1695,6 +1843,7 @@ "DetachObjectRequest$ParentReference": "

The parent reference from which the object with the specified link name is detached.

", "DetachPolicyRequest$PolicyReference": "

Reference that identifies the policy object.

", "DetachPolicyRequest$ObjectReference": "

Reference that identifies the object whose policy object will be detached.

", + "GetObjectAttributesRequest$ObjectReference": "

Reference that identifies the object whose attributes will be retrieved.

", "GetObjectInformationRequest$ObjectReference": "

A reference to the object.

", "ListAttachedIndicesRequest$TargetReference": "

A reference to the object that has indices attached.

", "ListIncomingTypedLinksRequest$ObjectReference": "

Reference that identifies the object whose attributes will be listed.

", @@ -1882,12 +2031,14 @@ "SchemaFacet": { "base": "

A facet.

", "refs": { - "AddFacetToObjectRequest$SchemaFacet": "

Identifiers for the facet that you are adding to the object.

", + "AddFacetToObjectRequest$SchemaFacet": "

Identifiers for the facet that you are adding to the object. See SchemaFacet for details.

", "BatchAddFacetToObject$SchemaFacet": "

Represents the facet being added to the object.

", + "BatchGetObjectAttributes$SchemaFacet": "

Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.

", "BatchListObjectAttributes$FacetFilter": "

Used to filter the list of object attributes that are associated with a certain facet.

", "BatchRemoveFacetFromObject$SchemaFacet": "

The facet to remove from the object.

", + "GetObjectAttributesRequest$SchemaFacet": "

Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.

", "ListObjectAttributesRequest$FacetFilter": "

Used to filter the list of object attributes that are associated with a certain facet.

", - "RemoveFacetFromObjectRequest$SchemaFacet": "

The facet to remove.

", + "RemoveFacetFromObjectRequest$SchemaFacet": "

The facet to remove. See SchemaFacet for details.

", "SchemaFacetList$member": null } }, @@ -1896,8 +2047,8 @@ "refs": { "BatchCreateObject$SchemaFacet": "

A list of FacetArns that will be associated with the object. For more information, see arns.

", "BatchGetObjectInformationResponse$SchemaFacets": "

The facets attached to the specified object.

", - "CreateObjectRequest$SchemaFacets": "

A list of schema facets to be associated with the object that contains SchemaArn and facet name. For more information, see arns.

", - "GetObjectInformationResponse$SchemaFacets": "

The facets attached to the specified object.

" + "CreateObjectRequest$SchemaFacets": "

A list of schema facets to be associated with the object. Do not provide minor version components. See SchemaFacet for details.

", + "GetObjectInformationResponse$SchemaFacets": "

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.

" } }, "SchemaJsonDocument": { @@ -1987,6 +2138,7 @@ "AttributeKeyAndValue$Value": "

The value of the attribute.

", "AttributeNameAndValue$Value": "

The value for the typed link.

", "FacetAttributeDefinition$DefaultValue": "

The default value of the attribute (if configured).

", + "LinkAttributeAction$AttributeUpdateValue": "

The value that you want to update to.

", "ObjectAttributeAction$ObjectAttributeUpdateValue": "

The value that you want to update to.

", "TypedAttributeValueRange$StartValue": "

The value to start the range at.

", "TypedAttributeValueRange$EndValue": "

The attribute value to terminate the range at.

", @@ -1994,7 +2146,7 @@ } }, "TypedAttributeValueRange": { - "base": "

A range of attribute values.

", + "base": "

A range of attribute values. For more information, see Range Filters.

", "refs": { "ObjectAttributeRange$Range": "

The range of attribute values being selected.

", "TypedLinkAttributeRange$Range": "

The range of attribute values that are being selected.

" @@ -2083,8 +2235,12 @@ "AttachTypedLinkResponse$TypedLinkSpecifier": "

Returns a typed link specifier as output.

", "BatchAttachTypedLinkResponse$TypedLinkSpecifier": "

Returns a typed link specifier as output.

", "BatchDetachTypedLink$TypedLinkSpecifier": "

Used to accept a typed link specifier as input.

", + "BatchGetLinkAttributes$TypedLinkSpecifier": "

Allows a typed link specifier to be accepted as input.

", + "BatchUpdateLinkAttributes$TypedLinkSpecifier": "

Allows a typed link specifier to be accepted as input.

", "DetachTypedLinkRequest$TypedLinkSpecifier": "

Used to accept a typed link specifier as input.

", - "TypedLinkSpecifierList$member": null + "GetLinkAttributesRequest$TypedLinkSpecifier": "

Allows a typed link specifier to be accepted as input.

", + "TypedLinkSpecifierList$member": null, + "UpdateLinkAttributesRequest$TypedLinkSpecifier": "

Allows a typed link specifier to be accepted as input.

" } }, "TypedLinkSpecifierList": { @@ -2115,6 +2271,7 @@ "base": null, "refs": { "FacetAttributeUpdate$Action": "

The action to perform when updating the attribute.

", + "LinkAttributeAction$AttributeActionType": "

A type that can be either UPDATE_OR_CREATE or DELETE.

", "ObjectAttributeAction$ObjectAttributeActionType": "

A type that can be either Update or Delete.

", "TypedLinkFacetAttributeUpdate$Action": "

The action to perform when updating the attribute.

" } @@ -2129,6 +2286,16 @@ "refs": { } }, + "UpdateLinkAttributesRequest": { + "base": null, + "refs": { + } + }, + "UpdateLinkAttributesResponse": { + "base": null, + "refs": { + } + }, "UpdateObjectAttributesRequest": { "base": null, "refs": { @@ -2159,6 +2326,26 @@ "refs": { } }, + "UpgradeAppliedSchemaRequest": { + "base": null, + "refs": { + } + }, + "UpgradeAppliedSchemaResponse": { + "base": null, + "refs": { + } + }, + "UpgradePublishedSchemaRequest": { + "base": null, + "refs": { + } + }, + "UpgradePublishedSchemaResponse": { + "base": null, + "refs": { + } + }, "ValidationException": { "base": "

Indicates that your request is malformed in some manner. See the exception message.

", "refs": { @@ -2167,7 +2354,9 @@ "Version": { "base": null, "refs": { - "PublishSchemaRequest$Version": "

The version under which the schema will be published.

" + "PublishSchemaRequest$Version": "

The major version under which the schema will be published. Schemas have both a major and minor version associated with them.

", + "PublishSchemaRequest$MinorVersion": "

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.

", + "UpgradePublishedSchemaRequest$MinorVersion": "

Identifies the minor version of the published schema that will be created. This parameter is NOT optional.

" } } } diff --git a/models/apis/cloudfront/2015-09-17/examples-1.json b/models/apis/clouddirectory/2017-01-11/examples-1.json similarity index 100% rename from models/apis/cloudfront/2015-09-17/examples-1.json rename to models/apis/clouddirectory/2017-01-11/examples-1.json diff --git a/models/apis/clouddirectory/2016-05-10/paginators-1.json b/models/apis/clouddirectory/2017-01-11/paginators-1.json similarity index 94% rename from models/apis/clouddirectory/2016-05-10/paginators-1.json rename to models/apis/clouddirectory/2017-01-11/paginators-1.json index d4164db110a..2f01e0bf650 100644 --- a/models/apis/clouddirectory/2016-05-10/paginators-1.json +++ b/models/apis/clouddirectory/2017-01-11/paginators-1.json @@ -35,6 +35,11 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "ListManagedSchemaArns": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListObjectAttributes": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/cloudformation/2010-05-15/api-2.json b/models/apis/cloudformation/2010-05-15/api-2.json index b3e7d8ee059..b4e7efef5be 100644 --- a/models/apis/cloudformation/2010-05-15/api-2.json +++ b/models/apis/cloudformation/2010-05-15/api-2.json @@ -567,7 +567,8 @@ {"shape":"OperationInProgressException"}, {"shape":"OperationIdAlreadyExistsException"}, {"shape":"StaleRequestException"}, - {"shape":"InvalidOperationException"} + {"shape":"InvalidOperationException"}, + {"shape":"StackInstanceNotFoundException"} ] }, "UpdateTerminationProtection":{ @@ -888,6 +889,8 @@ "Parameters":{"shape":"Parameters"}, "Capabilities":{"shape":"Capabilities"}, "Tags":{"shape":"Tags"}, + "AdministrationRoleARN":{"shape":"RoleARN"}, + "ExecutionRoleName":{"shape":"ExecutionRoleName"}, "ClientRequestToken":{ "shape":"ClientRequestToken", "idempotencyToken":true @@ -1168,6 +1171,12 @@ "members":{ } }, + "ExecutionRoleName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z_0-9+=,.@-]+" + }, "ExecutionStatus":{ "type":"string", "enum":[ @@ -1963,9 +1972,13 @@ "TemplateBody":{"shape":"TemplateBody"}, "Parameters":{"shape":"Parameters"}, "Capabilities":{"shape":"Capabilities"}, - "Tags":{"shape":"Tags"} + "Tags":{"shape":"Tags"}, + "StackSetARN":{"shape":"StackSetARN"}, + "AdministrationRoleARN":{"shape":"RoleARN"}, + "ExecutionRoleName":{"shape":"ExecutionRoleName"} } }, + "StackSetARN":{"type":"string"}, "StackSetId":{"type":"string"}, "StackSetName":{"type":"string"}, "StackSetNameOrId":{ @@ -2003,6 +2016,8 @@ "Status":{"shape":"StackSetOperationStatus"}, "OperationPreferences":{"shape":"StackSetOperationPreferences"}, "RetainStacks":{"shape":"RetainStacksNullable"}, + "AdministrationRoleARN":{"shape":"RoleARN"}, + "ExecutionRoleName":{"shape":"ExecutionRoleName"}, "CreationTimestamp":{"shape":"Timestamp"}, "EndTimestamp":{"shape":"Timestamp"} } @@ -2287,7 +2302,7 @@ "Regions" ], "members":{ - "StackSetName":{"shape":"StackSetName"}, + "StackSetName":{"shape":"StackSetNameOrId"}, "Accounts":{"shape":"AccountList"}, "Regions":{"shape":"RegionList"}, "ParameterOverrides":{"shape":"Parameters"}, @@ -2323,10 +2338,14 @@ "Capabilities":{"shape":"Capabilities"}, "Tags":{"shape":"Tags"}, "OperationPreferences":{"shape":"StackSetOperationPreferences"}, + "AdministrationRoleARN":{"shape":"RoleARN"}, + "ExecutionRoleName":{"shape":"ExecutionRoleName"}, "OperationId":{ "shape":"ClientRequestToken", "idempotencyToken":true - } + }, + "Accounts":{"shape":"AccountList"}, + "Regions":{"shape":"RegionList"} } }, "UpdateStackSetOutput":{ diff --git a/models/apis/cloudformation/2010-05-15/docs-2.json b/models/apis/cloudformation/2010-05-15/docs-2.json index 11e042815cb..276dcdb1a80 100644 --- a/models/apis/cloudformation/2010-05-15/docs-2.json +++ b/models/apis/cloudformation/2010-05-15/docs-2.json @@ -40,7 +40,7 @@ "StopStackSetOperation": "

Stops an in-progress operation on a stack set and its associated stack instances.

", "UpdateStack": "

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

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

Updates the stack set and all associated stack instances.

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.

", + "UpdateStackSet": "

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

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

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.

" }, @@ -91,7 +91,8 @@ "refs": { "CreateStackInstancesInput$Accounts": "

The names of one or more AWS accounts that you want to create stack instances in the specified region(s) for.

", "DeleteStackInstancesInput$Accounts": "

The names of the AWS accounts that you want to delete stack instances for.

", - "UpdateStackInstancesInput$Accounts": "

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.

" + "UpdateStackInstancesInput$Accounts": "

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.

", + "UpdateStackSetInput$Accounts": "

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.

" } }, "AllowedValue": { @@ -114,7 +115,7 @@ "Arn": { "base": null, "refs": { - "RollbackTrigger$Arn": "

The Amazon Resource Name (ARN) of the rollback trigger.

" + "RollbackTrigger$Arn": "

The Amazon Resource Name (ARN) of the rollback trigger.

If a specified trigger is missing, the entire stack operation fails and is rolled back.

" } }, "CancelUpdateStackInput": { @@ -544,6 +545,15 @@ "refs": { } }, + "ExecutionRoleName": { + "base": null, + "refs": { + "CreateStackSetInput$ExecutionRoleName": "

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.

", + "StackSet$ExecutionRoleName": "

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.

", + "StackSetOperation$ExecutionRoleName": "

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.

", + "UpdateStackSetInput$ExecutionRoleName": "

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.

" + } + }, "ExecutionStatus": { "base": null, "refs": { @@ -799,7 +809,7 @@ "MonitoringTimeInMinutes": { "base": null, "refs": { - "RollbackConfiguration$MonitoringTimeInMinutes": "

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. If any of the alarms goes to ALERT state during the stack operation or this monitoring period, CloudFormation rolls back the entire stack operation. Then, for update operations, if the monitoring period expires without any alarms going to ALERT state CloudFormation proceeds to dispose of old resources as usual.

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

" + "RollbackConfiguration$MonitoringTimeInMinutes": "

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.

" } }, "NameAlreadyExistsException": { @@ -1012,7 +1022,8 @@ "CreateStackInstancesInput$Regions": "

The names of one or more regions where you want to create stack instances using the specified AWS account(s).

", "DeleteStackInstancesInput$Regions": "

The regions where you want to delete stack set instances.

", "StackSetOperationPreferences$RegionOrder": "

The order of the regions in where you want to perform the stack operation.

", - "UpdateStackInstancesInput$Regions": "

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.

" + "UpdateStackInstancesInput$Regions": "

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.

", + "UpdateStackSetInput$Regions": "

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.

" } }, "Replacement": { @@ -1150,13 +1161,17 @@ "ContinueUpdateRollbackInput$RoleARN": "

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.

", "CreateChangeSetInput$RoleARN": "

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.

", "CreateStackInput$RoleARN": "

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.

", + "CreateStackSetInput$AdministrationRoleARN": "

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.

", "DeleteStackInput$RoleARN": "

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.

", "Stack$RoleARN": "

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.

", - "UpdateStackInput$RoleARN": "

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.

" + "StackSet$AdministrationRoleARN": "

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.

", + "StackSetOperation$AdministrationRoleARN": "

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.

", + "UpdateStackInput$RoleARN": "

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.

", + "UpdateStackSetInput$AdministrationRoleARN": "

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.

" } }, "RollbackConfiguration": { - "base": "

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 each rollback trigger you create, you specify the Cloudwatch alarm that CloudFormation should monitor. CloudFormation monitors the specified alarms during the stack create or update operation, and for the specified amount of time after all resources have been deployed. If any of the alarms goes to ALERT state during the stack operation or the monitoring period, CloudFormation rolls back the entire stack operation. If the monitoring period expires without any alarms going to ALERT state, CloudFormation proceeds to dispose of old resources as usual.

By default, CloudFormation only rolls back stack operations if an alarm goes to ALERT state, not INSUFFICIENT_DATA state. To have CloudFormation roll back the stack operation if an alarm goes to INSUFFICIENT_DATA state as well, edit the CloudWatch alarm to treat missing data as breaching. For more information, see Configuring How CloudWatch Alarms Treats Missing Data.

AWS CloudFormation does not monitor rollback triggers when it rolls back a stack during an update operation.

", + "base": "

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.

", "refs": { "CreateChangeSetInput$RollbackConfiguration": "

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

", "CreateStackInput$RollbackConfiguration": "

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

", @@ -1166,7 +1181,7 @@ } }, "RollbackTrigger": { - "base": "

A rollback trigger AWS CloudFormation monitors during creation and updating of stacks. If any of the alarms you specify goes to ALERT state during the stack operation or within the specified monitoring period afterwards, CloudFormation rolls back the entire stack operation.

", + "base": "

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.

", "refs": { "RollbackTriggers$member": null } @@ -1174,7 +1189,7 @@ "RollbackTriggers": { "base": null, "refs": { - "RollbackConfiguration$RollbackTriggers": "

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:

If a specified Cloudwatch alarm is missing, the entire stack operation fails and is rolled back.

" + "RollbackConfiguration$RollbackTriggers": "

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:

If a specified trigger is missing, the entire stack operation fails and is rolled back.

" } }, "Scope": { @@ -1368,6 +1383,12 @@ "DescribeStackSetOutput$StackSet": "

The specified stack set.

" } }, + "StackSetARN": { + "base": null, + "refs": { + "StackSet$StackSetARN": "

The Amazon Resource Number (ARN) of the stack set.

" + } + }, "StackSetId": { "base": null, "refs": { @@ -1395,14 +1416,14 @@ "StackSet$StackSetName": "

The name that's associated with the stack set.

", "StackSetSummary$StackSetName": "

The name of the stack set.

", "StopStackSetOperationInput$StackSetName": "

The name or unique ID of the stack set that you want to stop the operation for.

", - "UpdateStackInstancesInput$StackSetName": "

The name or unique ID of the stack set associated with the stack instances.

", "UpdateStackSetInput$StackSetName": "

The name or unique ID of the stack set that you want to update.

" } }, "StackSetNameOrId": { "base": null, "refs": { - "GetTemplateSummaryInput$StackSetName": "

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.

" + "GetTemplateSummaryInput$StackSetName": "

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.

", + "UpdateStackInstancesInput$StackSetName": "

The name or unique ID of the stack set associated with the stack instances.

" } }, "StackSetNotEmptyException": { diff --git a/models/apis/cloudfront/2015-04-17/api-2.json b/models/apis/cloudfront/2015-04-17/api-2.json deleted file mode 100644 index 421d0d98bfd..00000000000 --- a/models/apis/cloudfront/2015-04-17/api-2.json +++ /dev/null @@ -1,2651 +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"}, - "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - { - "shape":"CloudFrontOriginAccessIdentityAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCloudFrontOriginAccessIdentities", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "CreateDistribution":{ - "name":"CreateDistribution2015_04_17", - "http":{ - "method":"POST", - "requestUri":"/2015-04-17/distribution", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionRequest"}, - "output":{"shape":"CreateDistributionResult"}, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"DistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidMinimumProtocolVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyDistributions", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidLocationCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidGeoRestrictionParameter", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidProtocolSettings", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidTTLOrder", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2015_04_17", - "http":{ - "method":"POST", - "requestUri":"/2015-04-17/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{"shape":"CreateInvalidationRequest"}, - "output":{"shape":"CreateInvalidationResult"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"BatchTooLarge", - "error":{"httpStatusCode":413}, - "exception":true - }, - { - "shape":"TooManyInvalidationsInProgress", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2015_04_17", - "http":{ - "method":"POST", - "requestUri":"/2015-04-17/streaming-distribution", - "responseCode":201 - }, - "input":{"shape":"CreateStreamingDistributionRequest"}, - "output":{"shape":"CreateStreamingDistributionResult"}, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"StreamingDistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyStreamingDistributions", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2015_04_17", - "http":{ - "method":"DELETE", - "requestUri":"/2015-04-17/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true - }, - { - "shape":"CloudFrontOriginAccessIdentityInUse", - "error":{"httpStatusCode":409}, - "exception":true - } - ] - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2015_04_17", - "http":{ - "method":"DELETE", - "requestUri":"/2015-04-17/distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteDistributionRequest"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"DistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true - } - ] - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2015_04_17", - "http":{ - "method":"DELETE", - "requestUri":"/2015-04-17/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteStreamingDistributionRequest"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"StreamingDistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true - } - ] - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/origin-access-identity/cloudfront/{Id}" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "GetDistribution":{ - "name":"GetDistribution2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/distribution/{Id}" - }, - "input":{"shape":"GetDistributionRequest"}, - "output":{"shape":"GetDistributionResult"}, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/distribution/{Id}/config" - }, - "input":{"shape":"GetDistributionConfigRequest"}, - "output":{"shape":"GetDistributionConfigResult"}, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "GetInvalidation":{ - "name":"GetInvalidation2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{"shape":"GetInvalidationRequest"}, - "output":{"shape":"GetInvalidationResult"}, - "errors":[ - { - "shape":"NoSuchInvalidation", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/streaming-distribution/{Id}" - }, - "input":{"shape":"GetStreamingDistributionRequest"}, - "output":{"shape":"GetStreamingDistributionResult"}, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/streaming-distribution/{Id}/config" - }, - "input":{"shape":"GetStreamingDistributionConfigRequest"}, - "output":{"shape":"GetStreamingDistributionConfigResult"}, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/origin-access-identity/cloudfront" - }, - "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, - "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "ListDistributions":{ - "name":"ListDistributions2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "ListInvalidations":{ - "name":"ListInvalidations2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/distribution/{DistributionId}/invalidation" - }, - "input":{"shape":"ListInvalidationsRequest"}, - "output":{"shape":"ListInvalidationsResult"}, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2015_04_17", - "http":{ - "method":"PUT", - "requestUri":"/2015-04-17/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2015_04_17", - "http":{ - "method":"PUT", - "requestUri":"/2015-04-17/distribution/{Id}/config" - }, - "input":{"shape":"UpdateDistributionRequest"}, - "output":{"shape":"UpdateDistributionResult"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidMinimumProtocolVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidLocationCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidGeoRestrictionParameter", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidTTLOrder", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2015_04_17", - "http":{ - "method":"PUT", - "requestUri":"/2015-04-17/streaming-distribution/{Id}/config" - }, - "input":{"shape":"UpdateStreamingDistributionRequest"}, - "output":{"shape":"UpdateStreamingDistributionResult"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"SignerList"} - } - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AliasList"} - } - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"}, - "CachedMethods":{"shape":"CachedMethods"} - } - }, - "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"}, - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"} - } - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CacheBehaviorList"} - } - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"} - } - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"} - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CloudFrontOriginAccessIdentitySummaryList"} - } - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"CookieNameList"} - } - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{"shape":"ItemSelection"}, - "WhitelistedNames":{"shape":"CookieNames"} - } - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"DistributionConfig" - } - }, - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"InvalidationBatch" - } - }, - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"StreamingDistributionConfig" - } - }, - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"integer"}, - "ResponsePagePath":{"shape":"string"}, - "ResponseCode":{"shape":"string"}, - "ErrorCachingMinTTL":{"shape":"long"} - } - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CustomErrorResponseList"} - } - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{"shape":"integer"}, - "HTTPSPort":{"shape":"integer"}, - "OriginProtocolPolicy":{"shape":"OriginProtocolPolicy"} - } - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"} - } - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "required":["Id"] - }, - "DeleteDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "required":["Id"] - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "required":["Id"] - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "InProgressInvalidationBatches":{"shape":"integer"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "DistributionConfig":{"shape":"DistributionConfig"} - } - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "DefaultRootObject":{"shape":"string"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"LoggingConfig"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"} - } - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"DistributionSummaryList"} - } - }, - "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"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"} - } - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{"shape":"boolean"}, - "Cookies":{"shape":"CookiePreference"}, - "Headers":{"shape":"Headers"} - } - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{"shape":"GeoRestrictionType"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"LocationList"} - } - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - }, - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - }, - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - }, - "required":["Id"] - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - }, - "required":["Id"] - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - }, - "required":["Id"] - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - }, - "required":["Id"] - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"HeaderList"} - } - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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 - }, - "Invalidation":{ - "type":"structure", - "required":[ - "Id", - "Status", - "CreateTime", - "InvalidationBatch" - ], - "members":{ - "Id":{"shape":"string"}, - "Status":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "InvalidationBatch":{"shape":"InvalidationBatch"} - } - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{"shape":"Paths"}, - "CallerReference":{"shape":"string"} - } - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"InvalidationSummaryList"} - } - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "Status":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"KeyPairIdList"} - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{"shape":"CloudFrontOriginAccessIdentityList"} - }, - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{"shape":"InvalidationList"} - }, - "payload":"InvalidationList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{"shape":"StreamingDistributionList"} - }, - "payload":"StreamingDistributionList" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "IncludeCookies":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "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 - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{"shape":"string"}, - "DomainName":{"shape":"string"}, - "OriginPath":{"shape":"string"}, - "S3OriginConfig":{"shape":"S3OriginConfig"}, - "CustomOriginConfig":{"shape":"CustomOriginConfig"} - } - }, - "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"}, - "Items":{"shape":"OriginList"} - } - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"PathList"} - } - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "Restrictions":{ - "type":"structure", - "required":["GeoRestriction"], - "members":{ - "GeoRestriction":{"shape":"GeoRestriction"} - } - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{"shape":"string"}, - "OriginAccessIdentity":{"shape":"string"} - } - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{"shape":"string"} - } - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{"shape":"string"}, - "KeyPairIds":{"shape":"KeyPairIds"} - } - }, - "SignerList":{ - "type":"list", - "member":{ - "shape":"Signer", - "locationName":"Signer" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"} - } - }, - "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"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"StreamingLoggingConfig"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"StreamingDistributionSummaryList"} - } - }, - "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"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AwsAccountNumberList"} - } - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"DistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"StreamingDistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "IAMCertificateId":{"shape":"string"}, - "CloudFrontDefaultCertificate":{"shape":"boolean"}, - "SSLSupportMethod":{"shape":"SSLSupportMethod"}, - "MinimumProtocolVersion":{"shape":"MinimumProtocolVersion"} - } - }, - "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/models/apis/cloudfront/2015-04-17/docs-2.json b/models/apis/cloudfront/2015-04-17/docs-2.json deleted file mode 100644 index bd2eb39f1b9..00000000000 --- a/models/apis/cloudfront/2015-04-17/docs-2.json +++ /dev/null @@ -1,1141 +0,0 @@ -{ - "version": "2.0", - "operations": { - "CreateCloudFrontOriginAccessIdentity": "Create a new origin access identity.", - "CreateDistribution": "Create a new distribution.", - "CreateInvalidation": "Create a new invalidation.", - "CreateStreamingDistribution": "Create a new streaming distribution.", - "DeleteCloudFrontOriginAccessIdentity": "Delete an origin access identity.", - "DeleteDistribution": "Delete a distribution.", - "DeleteStreamingDistribution": "Delete a streaming distribution.", - "GetCloudFrontOriginAccessIdentity": "Get the information about an origin access identity.", - "GetCloudFrontOriginAccessIdentityConfig": "Get the configuration information about an origin access identity.", - "GetDistribution": "Get the information about a distribution.", - "GetDistributionConfig": "Get the configuration information about a distribution.", - "GetInvalidation": "Get the information about an invalidation.", - "GetStreamingDistribution": "Get the information about a streaming distribution.", - "GetStreamingDistributionConfig": "Get the configuration information about a streaming distribution.", - "ListCloudFrontOriginAccessIdentities": "List origin access identities.", - "ListDistributions": "List distributions.", - "ListInvalidations": "List invalidation batches.", - "ListStreamingDistributions": "List streaming distributions.", - "UpdateCloudFrontOriginAccessIdentity": "Update an origin access identity.", - "UpdateDistribution": "Update a distribution.", - "UpdateStreamingDistribution": "Update a streaming distribution." - }, - "service": null, - "shapes": { - "AccessDenied": { - "base": "Access denied.", - "refs": { - } - }, - "ActiveTrustedSigners": { - "base": "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.", - "refs": { - "Distribution$ActiveTrustedSigners": "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.", - "StreamingDistribution$ActiveTrustedSigners": "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." - } - }, - "AliasList": { - "base": null, - "refs": { - "Aliases$Items": "Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "Aliases": { - "base": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "refs": { - "DistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "DistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "StreamingDistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.", - "StreamingDistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution." - } - }, - "AllowedMethods": { - "base": "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.", - "refs": { - "CacheBehavior$AllowedMethods": null, - "DefaultCacheBehavior$AllowedMethods": null - } - }, - "AwsAccountNumberList": { - "base": null, - "refs": { - "TrustedSigners$Items": "Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "BatchTooLarge": { - "base": null, - "refs": { - } - }, - "CNAMEAlreadyExists": { - "base": null, - "refs": { - } - }, - "CacheBehavior": { - "base": "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.", - "refs": { - "CacheBehaviorList$member": null - } - }, - "CacheBehaviorList": { - "base": null, - "refs": { - "CacheBehaviors$Items": "Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CacheBehaviors": { - "base": "A complex type that contains zero or more CacheBehavior elements.", - "refs": { - "DistributionConfig$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements.", - "DistributionSummary$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements." - } - }, - "CachedMethods": { - "base": "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.", - "refs": { - "AllowedMethods$CachedMethods": null - } - }, - "CloudFrontOriginAccessIdentity": { - "base": "CloudFront origin access identity.", - "refs": { - "CreateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "GetCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "UpdateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information." - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists": { - "base": "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.", - "refs": { - } - }, - "CloudFrontOriginAccessIdentityConfig": { - "base": "Origin access identity configuration.", - "refs": { - "CloudFrontOriginAccessIdentity$CloudFrontOriginAccessIdentityConfig": "The current configuration information for the identity.", - "CreateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "GetCloudFrontOriginAccessIdentityConfigResult$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "UpdateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The identity's configuration information." - } - }, - "CloudFrontOriginAccessIdentityInUse": { - "base": null, - "refs": { - } - }, - "CloudFrontOriginAccessIdentityList": { - "base": "The CloudFrontOriginAccessIdentityList type.", - "refs": { - "ListCloudFrontOriginAccessIdentitiesResult$CloudFrontOriginAccessIdentityList": "The CloudFrontOriginAccessIdentityList type." - } - }, - "CloudFrontOriginAccessIdentitySummary": { - "base": "Summary of the information about a CloudFront origin access identity.", - "refs": { - "CloudFrontOriginAccessIdentitySummaryList$member": null - } - }, - "CloudFrontOriginAccessIdentitySummaryList": { - "base": null, - "refs": { - "CloudFrontOriginAccessIdentityList$Items": "A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account." - } - }, - "CookieNameList": { - "base": null, - "refs": { - "CookieNames$Items": "Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "CookieNames": { - "base": "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.", - "refs": { - "CookiePreference$WhitelistedNames": "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": { - "base": "A complex type that specifies the cookie preferences associated with this cache behavior.", - "refs": { - "ForwardedValues$Cookies": "A complex type that specifies how CloudFront handles cookies." - } - }, - "CreateCloudFrontOriginAccessIdentityRequest": { - "base": "The request to create a new origin access identity.", - "refs": { - } - }, - "CreateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateDistributionRequest": { - "base": "The request to create a new distribution.", - "refs": { - } - }, - "CreateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateInvalidationRequest": { - "base": "The request to create an invalidation.", - "refs": { - } - }, - "CreateInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateStreamingDistributionRequest": { - "base": "The request to create a new streaming distribution.", - "refs": { - } - }, - "CreateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CustomErrorResponse": { - "base": "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.", - "refs": { - "CustomErrorResponseList$member": null - } - }, - "CustomErrorResponseList": { - "base": null, - "refs": { - "CustomErrorResponses$Items": "Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CustomErrorResponses": { - "base": "A complex type that contains zero or more CustomErrorResponse elements.", - "refs": { - "DistributionConfig$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponse elements.", - "DistributionSummary$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponses elements." - } - }, - "CustomOriginConfig": { - "base": "A customer origin.", - "refs": { - "Origin$CustomOriginConfig": "A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead." - } - }, - "DefaultCacheBehavior": { - "base": "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.", - "refs": { - "DistributionConfig$DefaultCacheBehavior": "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.", - "DistributionSummary$DefaultCacheBehavior": "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": { - "base": "The request to delete a origin access identity.", - "refs": { - } - }, - "DeleteDistributionRequest": { - "base": "The request to delete a distribution.", - "refs": { - } - }, - "DeleteStreamingDistributionRequest": { - "base": "The request to delete a streaming distribution.", - "refs": { - } - }, - "Distribution": { - "base": "A distribution.", - "refs": { - "CreateDistributionResult$Distribution": "The distribution's information.", - "GetDistributionResult$Distribution": "The distribution's information.", - "UpdateDistributionResult$Distribution": "The distribution's information." - } - }, - "DistributionAlreadyExists": { - "base": "The caller reference you attempted to create the distribution with is associated with another distribution.", - "refs": { - } - }, - "DistributionConfig": { - "base": "A distribution Configuration.", - "refs": { - "CreateDistributionRequest$DistributionConfig": "The distribution's configuration information.", - "Distribution$DistributionConfig": "The current configuration information for the distribution.", - "GetDistributionConfigResult$DistributionConfig": "The distribution's configuration information.", - "UpdateDistributionRequest$DistributionConfig": "The distribution's configuration information." - } - }, - "DistributionList": { - "base": "A distribution list.", - "refs": { - "ListDistributionsResult$DistributionList": "The DistributionList type." - } - }, - "DistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "DistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront distribution.", - "refs": { - "DistributionSummaryList$member": null - } - }, - "DistributionSummaryList": { - "base": null, - "refs": { - "DistributionList$Items": "A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "ForwardedValues": { - "base": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "refs": { - "CacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "DefaultCacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers." - } - }, - "GeoRestriction": { - "base": "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.", - "refs": { - "Restrictions$GeoRestriction": null - } - }, - "GeoRestrictionType": { - "base": null, - "refs": { - "GeoRestriction$RestrictionType": "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." - } - }, - "GetCloudFrontOriginAccessIdentityConfigRequest": { - "base": "The request to get an origin access identity's configuration.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityRequest": { - "base": "The request to get an origin access identity's information.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionConfigRequest": { - "base": "The request to get a distribution configuration.", - "refs": { - } - }, - "GetDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionRequest": { - "base": "The request to get a distribution's information.", - "refs": { - } - }, - "GetDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetInvalidationRequest": { - "base": "The request to get an invalidation's information.", - "refs": { - } - }, - "GetInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionConfigRequest": { - "base": "To request to get a streaming distribution configuration.", - "refs": { - } - }, - "GetStreamingDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionRequest": { - "base": "The request to get a streaming distribution's information.", - "refs": { - } - }, - "GetStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "HeaderList": { - "base": null, - "refs": { - "Headers$Items": "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." - } - }, - "Headers": { - "base": "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.", - "refs": { - "ForwardedValues$Headers": "A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "IllegalUpdate": { - "base": "Origin and CallerReference cannot be updated.", - "refs": { - } - }, - "InconsistentQuantities": { - "base": "The value of Quantity and the size of Items do not match.", - "refs": { - } - }, - "InvalidArgument": { - "base": "The argument is invalid.", - "refs": { - } - }, - "InvalidDefaultRootObject": { - "base": "The default root object file name is too big or contains an invalid character.", - "refs": { - } - }, - "InvalidErrorCode": { - "base": null, - "refs": { - } - }, - "InvalidForwardCookies": { - "base": "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.", - "refs": { - } - }, - "InvalidGeoRestrictionParameter": { - "base": null, - "refs": { - } - }, - "InvalidHeadersForS3Origin": { - "base": null, - "refs": { - } - }, - "InvalidIfMatchVersion": { - "base": "The If-Match version is missing or not valid for the distribution.", - "refs": { - } - }, - "InvalidLocationCode": { - "base": null, - "refs": { - } - }, - "InvalidMinimumProtocolVersion": { - "base": null, - "refs": { - } - }, - "InvalidOrigin": { - "base": "The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "refs": { - } - }, - "InvalidOriginAccessIdentity": { - "base": "The origin access identity is not valid or doesn't exist.", - "refs": { - } - }, - "InvalidProtocolSettings": { - "base": "You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "refs": { - } - }, - "InvalidRelativePath": { - "base": "The relative path is too big, is not URL-encoded, or does not begin with a slash (/).", - "refs": { - } - }, - "InvalidRequiredProtocol": { - "base": "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.", - "refs": { - } - }, - "InvalidResponseCode": { - "base": null, - "refs": { - } - }, - "InvalidTTLOrder": { - "base": null, - "refs": { - } - }, - "InvalidViewerCertificate": { - "base": null, - "refs": { - } - }, - "Invalidation": { - "base": "An invalidation.", - "refs": { - "CreateInvalidationResult$Invalidation": "The invalidation's information.", - "GetInvalidationResult$Invalidation": "The invalidation's information." - } - }, - "InvalidationBatch": { - "base": "An invalidation batch.", - "refs": { - "CreateInvalidationRequest$InvalidationBatch": "The batch information for the invalidation.", - "Invalidation$InvalidationBatch": "The current invalidation information for the batch request." - } - }, - "InvalidationList": { - "base": "An invalidation list.", - "refs": { - "ListInvalidationsResult$InvalidationList": "Information about invalidation batches." - } - }, - "InvalidationSummary": { - "base": "Summary of an invalidation request.", - "refs": { - "InvalidationSummaryList$member": null - } - }, - "InvalidationSummaryList": { - "base": null, - "refs": { - "InvalidationList$Items": "A complex type that contains one InvalidationSummary element for each invalidation batch that was created by the current AWS account." - } - }, - "ItemSelection": { - "base": null, - "refs": { - "CookiePreference$Forward": "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." - } - }, - "KeyPairIdList": { - "base": null, - "refs": { - "KeyPairIds$Items": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "KeyPairIds": { - "base": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.", - "refs": { - "Signer$KeyPairIds": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest": { - "base": "The request to list origin access identities.", - "refs": { - } - }, - "ListCloudFrontOriginAccessIdentitiesResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListDistributionsRequest": { - "base": "The request to list your distributions.", - "refs": { - } - }, - "ListDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListInvalidationsRequest": { - "base": "The request to list invalidations.", - "refs": { - } - }, - "ListInvalidationsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListStreamingDistributionsRequest": { - "base": "The request to list your streaming distributions.", - "refs": { - } - }, - "ListStreamingDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "LocationList": { - "base": null, - "refs": { - "GeoRestriction$Items": "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." - } - }, - "LoggingConfig": { - "base": "A complex type that controls whether access logs are written for the distribution.", - "refs": { - "DistributionConfig$Logging": "A complex type that controls whether access logs are written for the distribution." - } - }, - "Method": { - "base": null, - "refs": { - "MethodsList$member": null - } - }, - "MethodsList": { - "base": null, - "refs": { - "AllowedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.", - "CachedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to cache responses to." - } - }, - "MinimumProtocolVersion": { - "base": null, - "refs": { - "ViewerCertificate$MinimumProtocolVersion": "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." - } - }, - "MissingBody": { - "base": "This operation requires a body. Ensure that the body is present and the Content-Type header is set.", - "refs": { - } - }, - "NoSuchCloudFrontOriginAccessIdentity": { - "base": "The specified origin access identity does not exist.", - "refs": { - } - }, - "NoSuchDistribution": { - "base": "The specified distribution does not exist.", - "refs": { - } - }, - "NoSuchInvalidation": { - "base": "The specified invalidation does not exist.", - "refs": { - } - }, - "NoSuchOrigin": { - "base": "No origin exists with the specified Origin Id.", - "refs": { - } - }, - "NoSuchStreamingDistribution": { - "base": "The specified streaming distribution does not exist.", - "refs": { - } - }, - "Origin": { - "base": "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.", - "refs": { - "OriginList$member": null - } - }, - "OriginList": { - "base": null, - "refs": { - "Origins$Items": "A complex type that contains origins for this distribution." - } - }, - "OriginProtocolPolicy": { - "base": null, - "refs": { - "CustomOriginConfig$OriginProtocolPolicy": "The origin protocol policy to apply to your origin." - } - }, - "Origins": { - "base": "A complex type that contains information about origins for this distribution.", - "refs": { - "DistributionConfig$Origins": "A complex type that contains information about origins for this distribution.", - "DistributionSummary$Origins": "A complex type that contains information about origins for this distribution." - } - }, - "PathList": { - "base": null, - "refs": { - "Paths$Items": "A complex type that contains a list of the objects that you want to invalidate." - } - }, - "Paths": { - "base": "A complex type that contains information about the objects that you want to invalidate.", - "refs": { - "InvalidationBatch$Paths": "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." - } - }, - "PreconditionFailed": { - "base": "The precondition given in one or more of the request-header fields evaluated to false.", - "refs": { - } - }, - "PriceClass": { - "base": null, - "refs": { - "DistributionConfig$PriceClass": "A complex type that contains information about price class for this distribution.", - "DistributionSummary$PriceClass": null, - "StreamingDistributionConfig$PriceClass": "A complex type that contains information about price class for this streaming distribution.", - "StreamingDistributionSummary$PriceClass": null - } - }, - "Restrictions": { - "base": "A complex type that identifies ways in which you want to restrict distribution of your content.", - "refs": { - "DistributionConfig$Restrictions": null, - "DistributionSummary$Restrictions": null - } - }, - "S3Origin": { - "base": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "refs": { - "StreamingDistributionConfig$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "StreamingDistributionSummary$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution." - } - }, - "S3OriginConfig": { - "base": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.", - "refs": { - "Origin$S3OriginConfig": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead." - } - }, - "SSLSupportMethod": { - "base": null, - "refs": { - "ViewerCertificate$SSLSupportMethod": "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." - } - }, - "Signer": { - "base": "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.", - "refs": { - "SignerList$member": null - } - }, - "SignerList": { - "base": null, - "refs": { - "ActiveTrustedSigners$Items": "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." - } - }, - "StreamingDistribution": { - "base": "A streaming distribution.", - "refs": { - "CreateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "GetStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "UpdateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information." - } - }, - "StreamingDistributionAlreadyExists": { - "base": null, - "refs": { - } - }, - "StreamingDistributionConfig": { - "base": "The configuration for the streaming distribution.", - "refs": { - "CreateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "GetStreamingDistributionConfigResult$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "StreamingDistribution$StreamingDistributionConfig": "The current configuration information for the streaming distribution.", - "UpdateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information." - } - }, - "StreamingDistributionList": { - "base": "A streaming distribution list.", - "refs": { - "ListStreamingDistributionsResult$StreamingDistributionList": "The StreamingDistributionList type." - } - }, - "StreamingDistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "StreamingDistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront streaming distribution.", - "refs": { - "StreamingDistributionSummaryList$member": null - } - }, - "StreamingDistributionSummaryList": { - "base": null, - "refs": { - "StreamingDistributionList$Items": "A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "StreamingLoggingConfig": { - "base": "A complex type that controls whether access logs are written for this streaming distribution.", - "refs": { - "StreamingDistributionConfig$Logging": "A complex type that controls whether access logs are written for the streaming distribution." - } - }, - "TooManyCacheBehaviors": { - "base": "You cannot create anymore cache behaviors for the distribution.", - "refs": { - } - }, - "TooManyCertificates": { - "base": "You cannot create anymore custom ssl certificates.", - "refs": { - } - }, - "TooManyCloudFrontOriginAccessIdentities": { - "base": "Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "refs": { - } - }, - "TooManyCookieNamesInWhiteList": { - "base": "Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "refs": { - } - }, - "TooManyDistributionCNAMEs": { - "base": "Your request contains more CNAMEs than are allowed per distribution.", - "refs": { - } - }, - "TooManyDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of distributions allowed.", - "refs": { - } - }, - "TooManyHeadersInForwardedValues": { - "base": null, - "refs": { - } - }, - "TooManyInvalidationsInProgress": { - "base": "You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "refs": { - } - }, - "TooManyOrigins": { - "base": "You cannot create anymore origins for the distribution.", - "refs": { - } - }, - "TooManyStreamingDistributionCNAMEs": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of streaming distributions allowed.", - "refs": { - } - }, - "TooManyTrustedSigners": { - "base": "Your request contains more trusted signers than are allowed per distribution.", - "refs": { - } - }, - "TrustedSignerDoesNotExist": { - "base": "One or more of your trusted signers do not exist.", - "refs": { - } - }, - "TrustedSigners": { - "base": "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.", - "refs": { - "CacheBehavior$TrustedSigners": "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.", - "DefaultCacheBehavior$TrustedSigners": "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.", - "StreamingDistributionConfig$TrustedSigners": "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.", - "StreamingDistributionSummary$TrustedSigners": "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": { - "base": "The request to update an origin access identity.", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateDistributionRequest": { - "base": "The request to update a distribution.", - "refs": { - } - }, - "UpdateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateStreamingDistributionRequest": { - "base": "The request to update a streaming distribution.", - "refs": { - } - }, - "UpdateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ViewerCertificate": { - "base": "A complex type that contains information about viewer certificates for this distribution.", - "refs": { - "DistributionConfig$ViewerCertificate": null, - "DistributionSummary$ViewerCertificate": null - } - }, - "ViewerProtocolPolicy": { - "base": null, - "refs": { - "CacheBehavior$ViewerProtocolPolicy": "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.", - "DefaultCacheBehavior$ViewerProtocolPolicy": "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." - } - }, - "boolean": { - "base": null, - "refs": { - "ActiveTrustedSigners$Enabled": "Each active trusted signer.", - "CacheBehavior$SmoothStreaming": "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.", - "CloudFrontOriginAccessIdentityList$IsTruncated": "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.", - "DefaultCacheBehavior$SmoothStreaming": "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.", - "DistributionConfig$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "DistributionList$IsTruncated": "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.", - "DistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "ForwardedValues$QueryString": "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.", - "InvalidationList$IsTruncated": "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.", - "LoggingConfig$Enabled": "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.", - "LoggingConfig$IncludeCookies": "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.", - "StreamingDistributionConfig$Enabled": "Whether the streaming distribution is enabled to accept end user requests for content.", - "StreamingDistributionList$IsTruncated": "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.", - "StreamingDistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "StreamingLoggingConfig$Enabled": "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.", - "TrustedSigners$Enabled": "Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.", - "ViewerCertificate$CloudFrontDefaultCertificate": "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." - } - }, - "integer": { - "base": null, - "refs": { - "ActiveTrustedSigners$Quantity": "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.", - "Aliases$Quantity": "The number of CNAMEs, if any, for this distribution.", - "AllowedMethods$Quantity": "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).", - "CacheBehaviors$Quantity": "The number of cache behaviors for this distribution.", - "CachedMethods$Quantity": "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).", - "CloudFrontOriginAccessIdentityList$MaxItems": "The value you provided for the MaxItems request parameter.", - "CloudFrontOriginAccessIdentityList$Quantity": "The number of CloudFront origin access identities that were created by the current AWS account.", - "CookieNames$Quantity": "The number of whitelisted cookies for this cache behavior.", - "CustomErrorResponse$ErrorCode": "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.", - "CustomErrorResponses$Quantity": "The number of custom error responses for this distribution.", - "CustomOriginConfig$HTTPPort": "The HTTP port the custom origin listens on.", - "CustomOriginConfig$HTTPSPort": "The HTTPS port the custom origin listens on.", - "Distribution$InProgressInvalidationBatches": "The number of invalidation batches currently in progress.", - "DistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "DistributionList$Quantity": "The number of distributions that were created by the current AWS account.", - "GeoRestriction$Quantity": "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.", - "Headers$Quantity": "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.", - "InvalidationList$MaxItems": "The value you provided for the MaxItems request parameter.", - "InvalidationList$Quantity": "The number of invalidation batches that were created by the current AWS account.", - "KeyPairIds$Quantity": "The number of active CloudFront key pairs for AwsAccountNumber.", - "Origins$Quantity": "The number of origins for this distribution.", - "Paths$Quantity": "The number of objects that you want to invalidate.", - "StreamingDistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "StreamingDistributionList$Quantity": "The number of streaming distributions that were created by the current AWS account.", - "TrustedSigners$Quantity": "The number of trusted signers for this cache behavior." - } - }, - "long": { - "base": null, - "refs": { - "CacheBehavior$MinTTL": "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).", - "CacheBehavior$DefaultTTL": "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).", - "CacheBehavior$MaxTTL": "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).", - "CustomErrorResponse$ErrorCachingMinTTL": "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.", - "DefaultCacheBehavior$MinTTL": "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).", - "DefaultCacheBehavior$DefaultTTL": "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).", - "DefaultCacheBehavior$MaxTTL": "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)." - } - }, - "string": { - "base": null, - "refs": { - "AccessDenied$Message": null, - "AliasList$member": null, - "AwsAccountNumberList$member": null, - "BatchTooLarge$Message": null, - "CNAMEAlreadyExists$Message": null, - "CacheBehavior$PathPattern": "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.", - "CacheBehavior$TargetOriginId": "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.", - "CloudFrontOriginAccessIdentity$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, - "CloudFrontOriginAccessIdentityConfig$CallerReference": "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.", - "CloudFrontOriginAccessIdentityConfig$Comment": "Any comments you want to include about the origin access identity.", - "CloudFrontOriginAccessIdentityInUse$Message": null, - "CloudFrontOriginAccessIdentityList$Marker": "The value you provided for the Marker request parameter.", - "CloudFrontOriginAccessIdentityList$NextMarker": "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.", - "CloudFrontOriginAccessIdentitySummary$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentitySummary$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentitySummary$Comment": "The comment for this origin access identity, as originally specified when created.", - "CookieNameList$member": null, - "CreateCloudFrontOriginAccessIdentityResult$Location": "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.", - "CreateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity created.", - "CreateDistributionResult$Location": "The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "CreateDistributionResult$ETag": "The current version of the distribution created.", - "CreateInvalidationRequest$DistributionId": "The distribution's id.", - "CreateInvalidationResult$Location": "The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.", - "CreateStreamingDistributionResult$Location": "The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "CreateStreamingDistributionResult$ETag": "The current version of the streaming distribution created.", - "CustomErrorResponse$ResponsePagePath": "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.", - "CustomErrorResponse$ResponseCode": "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.", - "DefaultCacheBehavior$TargetOriginId": "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.", - "DeleteCloudFrontOriginAccessIdentityRequest$Id": "The origin access identity's id.", - "DeleteCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.", - "DeleteDistributionRequest$Id": "The distribution id.", - "DeleteDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "DeleteStreamingDistributionRequest$Id": "The distribution id.", - "DeleteStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.", - "Distribution$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "Distribution$Status": "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.", - "Distribution$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionAlreadyExists$Message": null, - "DistributionConfig$CallerReference": "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.", - "DistributionConfig$DefaultRootObject": "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.", - "DistributionConfig$Comment": "Any comments you want to include about the distribution.", - "DistributionList$Marker": "The value you provided for the Marker request parameter.", - "DistributionList$NextMarker": "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.", - "DistributionNotDisabled$Message": null, - "DistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "DistributionSummary$Status": "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.", - "DistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "GetCloudFrontOriginAccessIdentityConfigRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.", - "GetDistributionConfigRequest$Id": "The distribution's id.", - "GetDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetDistributionRequest$Id": "The distribution's id.", - "GetDistributionResult$ETag": "The current version of the distribution's information. For example: E2QWRUHAPOMQZL.", - "GetInvalidationRequest$DistributionId": "The distribution's id.", - "GetInvalidationRequest$Id": "The invalidation's id.", - "GetStreamingDistributionConfigRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetStreamingDistributionRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionResult$ETag": "The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.", - "HeaderList$member": null, - "IllegalUpdate$Message": null, - "InconsistentQuantities$Message": null, - "InvalidArgument$Message": null, - "InvalidDefaultRootObject$Message": null, - "InvalidErrorCode$Message": null, - "InvalidForwardCookies$Message": null, - "InvalidGeoRestrictionParameter$Message": null, - "InvalidHeadersForS3Origin$Message": null, - "InvalidIfMatchVersion$Message": null, - "InvalidLocationCode$Message": null, - "InvalidMinimumProtocolVersion$Message": null, - "InvalidOrigin$Message": null, - "InvalidOriginAccessIdentity$Message": null, - "InvalidProtocolSettings$Message": null, - "InvalidRelativePath$Message": null, - "InvalidRequiredProtocol$Message": null, - "InvalidResponseCode$Message": null, - "InvalidTTLOrder$Message": null, - "InvalidViewerCertificate$Message": null, - "Invalidation$Id": "The identifier for the invalidation request. For example: IDFDVBD632BHDS5.", - "Invalidation$Status": "The status of the invalidation request. When the invalidation batch is finished, the status is Completed.", - "InvalidationBatch$CallerReference": "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.", - "InvalidationList$Marker": "The value you provided for the Marker request parameter.", - "InvalidationList$NextMarker": "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.", - "InvalidationSummary$Id": "The unique ID for an invalidation request.", - "InvalidationSummary$Status": "The status of an invalidation request.", - "KeyPairIdList$member": null, - "ListCloudFrontOriginAccessIdentitiesRequest$Marker": "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).", - "ListCloudFrontOriginAccessIdentitiesRequest$MaxItems": "The maximum number of origin access identities you want in the response body.", - "ListDistributionsRequest$Marker": "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).", - "ListDistributionsRequest$MaxItems": "The maximum number of distributions you want in the response body.", - "ListInvalidationsRequest$DistributionId": "The distribution's id.", - "ListInvalidationsRequest$Marker": "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.", - "ListInvalidationsRequest$MaxItems": "The maximum number of invalidation batches you want in the response body.", - "ListStreamingDistributionsRequest$Marker": "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).", - "ListStreamingDistributionsRequest$MaxItems": "The maximum number of streaming distributions you want in the response body.", - "LocationList$member": null, - "LoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "LoggingConfig$Prefix": "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.", - "MissingBody$Message": null, - "NoSuchCloudFrontOriginAccessIdentity$Message": null, - "NoSuchDistribution$Message": null, - "NoSuchInvalidation$Message": null, - "NoSuchOrigin$Message": null, - "NoSuchStreamingDistribution$Message": null, - "Origin$Id": "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.", - "Origin$DomainName": "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.", - "Origin$OriginPath": "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.", - "PathList$member": null, - "PreconditionFailed$Message": null, - "S3Origin$DomainName": "The DNS name of the S3 origin.", - "S3Origin$OriginAccessIdentity": "Your S3 origin's origin access identity.", - "S3OriginConfig$OriginAccessIdentity": "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.", - "Signer$AwsAccountNumber": "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.", - "StreamingDistribution$Id": "The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.", - "StreamingDistribution$Status": "The current status of the streaming distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistribution$DomainName": "The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.", - "StreamingDistributionAlreadyExists$Message": null, - "StreamingDistributionConfig$CallerReference": "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.", - "StreamingDistributionConfig$Comment": "Any comments you want to include about the streaming distribution.", - "StreamingDistributionList$Marker": "The value you provided for the Marker request parameter.", - "StreamingDistributionList$NextMarker": "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.", - "StreamingDistributionNotDisabled$Message": null, - "StreamingDistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "StreamingDistributionSummary$Status": "Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "StreamingDistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "StreamingLoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "StreamingLoggingConfig$Prefix": "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.", - "TooManyCacheBehaviors$Message": null, - "TooManyCertificates$Message": null, - "TooManyCloudFrontOriginAccessIdentities$Message": null, - "TooManyCookieNamesInWhiteList$Message": null, - "TooManyDistributionCNAMEs$Message": null, - "TooManyDistributions$Message": null, - "TooManyHeadersInForwardedValues$Message": null, - "TooManyInvalidationsInProgress$Message": null, - "TooManyOrigins$Message": null, - "TooManyStreamingDistributionCNAMEs$Message": null, - "TooManyStreamingDistributions$Message": null, - "TooManyTrustedSigners$Message": null, - "TrustedSignerDoesNotExist$Message": null, - "UpdateCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "UpdateCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionRequest$Id": "The distribution's id.", - "UpdateDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionRequest$Id": "The streaming distribution's id.", - "UpdateStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "ViewerCertificate$IAMCertificateId": "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." - } - }, - "timestamp": { - "base": null, - "refs": { - "Distribution$LastModifiedTime": "The date and time the distribution was last modified.", - "DistributionSummary$LastModifiedTime": "The date and time the distribution was last modified.", - "Invalidation$CreateTime": "The date and time the invalidation request was first made.", - "InvalidationSummary$CreateTime": null, - "StreamingDistribution$LastModifiedTime": "The date and time the distribution was last modified.", - "StreamingDistributionSummary$LastModifiedTime": "The date and time the distribution was last modified." - } - } - } -} diff --git a/models/apis/cloudfront/2015-04-17/paginators-1.json b/models/apis/cloudfront/2015-04-17/paginators-1.json deleted file mode 100644 index 51fbb907fa3..00000000000 --- a/models/apis/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/models/apis/cloudfront/2015-07-27/api-2.json b/models/apis/cloudfront/2015-07-27/api-2.json deleted file mode 100644 index 5da9d56e97c..00000000000 --- a/models/apis/cloudfront/2015-07-27/api-2.json +++ /dev/null @@ -1,2721 +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"}, - "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - { - "shape":"CloudFrontOriginAccessIdentityAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCloudFrontOriginAccessIdentities", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "CreateDistribution":{ - "name":"CreateDistribution2015_07_27", - "http":{ - "method":"POST", - "requestUri":"/2015-07-27/distribution", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionRequest"}, - "output":{"shape":"CreateDistributionResult"}, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"DistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidMinimumProtocolVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyDistributions", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidLocationCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidGeoRestrictionParameter", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidProtocolSettings", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidTTLOrder", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidWebACLId", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2015_07_27", - "http":{ - "method":"POST", - "requestUri":"/2015-07-27/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{"shape":"CreateInvalidationRequest"}, - "output":{"shape":"CreateInvalidationResult"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"BatchTooLarge", - "error":{"httpStatusCode":413}, - "exception":true - }, - { - "shape":"TooManyInvalidationsInProgress", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2015_07_27", - "http":{ - "method":"POST", - "requestUri":"/2015-07-27/streaming-distribution", - "responseCode":201 - }, - "input":{"shape":"CreateStreamingDistributionRequest"}, - "output":{"shape":"CreateStreamingDistributionResult"}, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"StreamingDistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyStreamingDistributions", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2015_07_27", - "http":{ - "method":"DELETE", - "requestUri":"/2015-07-27/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true - }, - { - "shape":"CloudFrontOriginAccessIdentityInUse", - "error":{"httpStatusCode":409}, - "exception":true - } - ] - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2015_07_27", - "http":{ - "method":"DELETE", - "requestUri":"/2015-07-27/distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteDistributionRequest"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"DistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true - } - ] - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2015_07_27", - "http":{ - "method":"DELETE", - "requestUri":"/2015-07-27/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteStreamingDistributionRequest"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"StreamingDistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true - } - ] - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/origin-access-identity/cloudfront/{Id}" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "GetDistribution":{ - "name":"GetDistribution2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/distribution/{Id}" - }, - "input":{"shape":"GetDistributionRequest"}, - "output":{"shape":"GetDistributionResult"}, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/distribution/{Id}/config" - }, - "input":{"shape":"GetDistributionConfigRequest"}, - "output":{"shape":"GetDistributionConfigResult"}, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "GetInvalidation":{ - "name":"GetInvalidation2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{"shape":"GetInvalidationRequest"}, - "output":{"shape":"GetInvalidationResult"}, - "errors":[ - { - "shape":"NoSuchInvalidation", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/streaming-distribution/{Id}" - }, - "input":{"shape":"GetStreamingDistributionRequest"}, - "output":{"shape":"GetStreamingDistributionResult"}, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/streaming-distribution/{Id}/config" - }, - "input":{"shape":"GetStreamingDistributionConfigRequest"}, - "output":{"shape":"GetStreamingDistributionConfigResult"}, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/origin-access-identity/cloudfront" - }, - "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, - "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "ListDistributions":{ - "name":"ListDistributions2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/distributionsByWebACLId/{WebACLId}" - }, - "input":{"shape":"ListDistributionsByWebACLIdRequest"}, - "output":{"shape":"ListDistributionsByWebACLIdResult"}, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidWebACLId", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "ListInvalidations":{ - "name":"ListInvalidations2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/distribution/{DistributionId}/invalidation" - }, - "input":{"shape":"ListInvalidationsRequest"}, - "output":{"shape":"ListInvalidationsResult"}, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - } - ] - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2015_07_27", - "http":{ - "method":"PUT", - "requestUri":"/2015-07-27/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2015_07_27", - "http":{ - "method":"PUT", - "requestUri":"/2015-07-27/distribution/{Id}/config" - }, - "input":{"shape":"UpdateDistributionRequest"}, - "output":{"shape":"UpdateDistributionResult"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidMinimumProtocolVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "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 - } - ] - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2015_07_27", - "http":{ - "method":"PUT", - "requestUri":"/2015-07-27/streaming-distribution/{Id}/config" - }, - "input":{"shape":"UpdateStreamingDistributionRequest"}, - "output":{"shape":"UpdateStreamingDistributionResult"}, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"SignerList"} - } - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AliasList"} - } - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"}, - "CachedMethods":{"shape":"CachedMethods"} - } - }, - "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"}, - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"} - } - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CacheBehaviorList"} - } - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"} - } - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"} - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CloudFrontOriginAccessIdentitySummaryList"} - } - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"CookieNameList"} - } - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{"shape":"ItemSelection"}, - "WhitelistedNames":{"shape":"CookieNames"} - } - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"DistributionConfig" - } - }, - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"InvalidationBatch" - } - }, - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"StreamingDistributionConfig" - } - }, - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"integer"}, - "ResponsePagePath":{"shape":"string"}, - "ResponseCode":{"shape":"string"}, - "ErrorCachingMinTTL":{"shape":"long"} - } - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CustomErrorResponseList"} - } - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{"shape":"integer"}, - "HTTPSPort":{"shape":"integer"}, - "OriginProtocolPolicy":{"shape":"OriginProtocolPolicy"} - } - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"} - } - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "required":["Id"] - }, - "DeleteDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "required":["Id"] - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "required":["Id"] - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "InProgressInvalidationBatches":{"shape":"integer"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "DistributionConfig":{"shape":"DistributionConfig"} - } - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "DefaultRootObject":{"shape":"string"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"LoggingConfig"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"} - } - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"DistributionSummaryList"} - } - }, - "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"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"} - } - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{"shape":"boolean"}, - "Cookies":{"shape":"CookiePreference"}, - "Headers":{"shape":"Headers"} - } - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{"shape":"GeoRestrictionType"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"LocationList"} - } - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - }, - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - }, - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - }, - "required":["Id"] - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - }, - "required":["Id"] - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - }, - "required":["Id"] - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - }, - "required":["Id"] - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"HeaderList"} - } - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"}, - "Status":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "InvalidationBatch":{"shape":"InvalidationBatch"} - } - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{"shape":"Paths"}, - "CallerReference":{"shape":"string"} - } - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"InvalidationSummaryList"} - } - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "Status":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"KeyPairIdList"} - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{"shape":"CloudFrontOriginAccessIdentityList"} - }, - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "location":"uri", - "locationName":"WebACLId" - } - } - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{"shape":"InvalidationList"} - }, - "payload":"InvalidationList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{"shape":"StreamingDistributionList"} - }, - "payload":"StreamingDistributionList" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "IncludeCookies":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "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 - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{"shape":"string"}, - "DomainName":{"shape":"string"}, - "OriginPath":{"shape":"string"}, - "S3OriginConfig":{"shape":"S3OriginConfig"}, - "CustomOriginConfig":{"shape":"CustomOriginConfig"} - } - }, - "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"}, - "Items":{"shape":"OriginList"} - } - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"PathList"} - } - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "Restrictions":{ - "type":"structure", - "required":["GeoRestriction"], - "members":{ - "GeoRestriction":{"shape":"GeoRestriction"} - } - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{"shape":"string"}, - "OriginAccessIdentity":{"shape":"string"} - } - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{"shape":"string"} - } - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{"shape":"string"}, - "KeyPairIds":{"shape":"KeyPairIds"} - } - }, - "SignerList":{ - "type":"list", - "member":{ - "shape":"Signer", - "locationName":"Signer" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"} - } - }, - "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"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"StreamingLoggingConfig"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"StreamingDistributionSummaryList"} - } - }, - "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"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AwsAccountNumberList"} - } - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"DistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"StreamingDistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "IAMCertificateId":{"shape":"string"}, - "CloudFrontDefaultCertificate":{"shape":"boolean"}, - "SSLSupportMethod":{"shape":"SSLSupportMethod"}, - "MinimumProtocolVersion":{"shape":"MinimumProtocolVersion"} - } - }, - "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/models/apis/cloudfront/2015-07-27/docs-2.json b/models/apis/cloudfront/2015-07-27/docs-2.json deleted file mode 100644 index 07747194c64..00000000000 --- a/models/apis/cloudfront/2015-07-27/docs-2.json +++ /dev/null @@ -1,1164 +0,0 @@ -{ - "version": "2.0", - "operations": { - "CreateCloudFrontOriginAccessIdentity": "Create a new origin access identity.", - "CreateDistribution": "Create a new distribution.", - "CreateInvalidation": "Create a new invalidation.", - "CreateStreamingDistribution": "Create a new streaming distribution.", - "DeleteCloudFrontOriginAccessIdentity": "Delete an origin access identity.", - "DeleteDistribution": "Delete a distribution.", - "DeleteStreamingDistribution": "Delete a streaming distribution.", - "GetCloudFrontOriginAccessIdentity": "Get the information about an origin access identity.", - "GetCloudFrontOriginAccessIdentityConfig": "Get the configuration information about an origin access identity.", - "GetDistribution": "Get the information about a distribution.", - "GetDistributionConfig": "Get the configuration information about a distribution.", - "GetInvalidation": "Get the information about an invalidation.", - "GetStreamingDistribution": "Get the information about a streaming distribution.", - "GetStreamingDistributionConfig": "Get the configuration information about a streaming distribution.", - "ListCloudFrontOriginAccessIdentities": "List origin access identities.", - "ListDistributions": "List distributions.", - "ListDistributionsByWebACLId": "List the distributions that are associated with a specified AWS WAF web ACL.", - "ListInvalidations": "List invalidation batches.", - "ListStreamingDistributions": "List streaming distributions.", - "UpdateCloudFrontOriginAccessIdentity": "Update an origin access identity.", - "UpdateDistribution": "Update a distribution.", - "UpdateStreamingDistribution": "Update a streaming distribution." - }, - "service": null, - "shapes": { - "AccessDenied": { - "base": "Access denied.", - "refs": { - } - }, - "ActiveTrustedSigners": { - "base": "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.", - "refs": { - "Distribution$ActiveTrustedSigners": "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.", - "StreamingDistribution$ActiveTrustedSigners": "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." - } - }, - "AliasList": { - "base": null, - "refs": { - "Aliases$Items": "Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "Aliases": { - "base": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "refs": { - "DistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "DistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "StreamingDistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.", - "StreamingDistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution." - } - }, - "AllowedMethods": { - "base": "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.", - "refs": { - "CacheBehavior$AllowedMethods": null, - "DefaultCacheBehavior$AllowedMethods": null - } - }, - "AwsAccountNumberList": { - "base": null, - "refs": { - "TrustedSigners$Items": "Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "BatchTooLarge": { - "base": null, - "refs": { - } - }, - "CNAMEAlreadyExists": { - "base": null, - "refs": { - } - }, - "CacheBehavior": { - "base": "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.", - "refs": { - "CacheBehaviorList$member": null - } - }, - "CacheBehaviorList": { - "base": null, - "refs": { - "CacheBehaviors$Items": "Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CacheBehaviors": { - "base": "A complex type that contains zero or more CacheBehavior elements.", - "refs": { - "DistributionConfig$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements.", - "DistributionSummary$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements." - } - }, - "CachedMethods": { - "base": "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.", - "refs": { - "AllowedMethods$CachedMethods": null - } - }, - "CloudFrontOriginAccessIdentity": { - "base": "CloudFront origin access identity.", - "refs": { - "CreateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "GetCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "UpdateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information." - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists": { - "base": "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.", - "refs": { - } - }, - "CloudFrontOriginAccessIdentityConfig": { - "base": "Origin access identity configuration.", - "refs": { - "CloudFrontOriginAccessIdentity$CloudFrontOriginAccessIdentityConfig": "The current configuration information for the identity.", - "CreateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "GetCloudFrontOriginAccessIdentityConfigResult$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "UpdateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The identity's configuration information." - } - }, - "CloudFrontOriginAccessIdentityInUse": { - "base": null, - "refs": { - } - }, - "CloudFrontOriginAccessIdentityList": { - "base": "The CloudFrontOriginAccessIdentityList type.", - "refs": { - "ListCloudFrontOriginAccessIdentitiesResult$CloudFrontOriginAccessIdentityList": "The CloudFrontOriginAccessIdentityList type." - } - }, - "CloudFrontOriginAccessIdentitySummary": { - "base": "Summary of the information about a CloudFront origin access identity.", - "refs": { - "CloudFrontOriginAccessIdentitySummaryList$member": null - } - }, - "CloudFrontOriginAccessIdentitySummaryList": { - "base": null, - "refs": { - "CloudFrontOriginAccessIdentityList$Items": "A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account." - } - }, - "CookieNameList": { - "base": null, - "refs": { - "CookieNames$Items": "Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "CookieNames": { - "base": "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.", - "refs": { - "CookiePreference$WhitelistedNames": "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": { - "base": "A complex type that specifies the cookie preferences associated with this cache behavior.", - "refs": { - "ForwardedValues$Cookies": "A complex type that specifies how CloudFront handles cookies." - } - }, - "CreateCloudFrontOriginAccessIdentityRequest": { - "base": "The request to create a new origin access identity.", - "refs": { - } - }, - "CreateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateDistributionRequest": { - "base": "The request to create a new distribution.", - "refs": { - } - }, - "CreateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateInvalidationRequest": { - "base": "The request to create an invalidation.", - "refs": { - } - }, - "CreateInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateStreamingDistributionRequest": { - "base": "The request to create a new streaming distribution.", - "refs": { - } - }, - "CreateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CustomErrorResponse": { - "base": "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.", - "refs": { - "CustomErrorResponseList$member": null - } - }, - "CustomErrorResponseList": { - "base": null, - "refs": { - "CustomErrorResponses$Items": "Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CustomErrorResponses": { - "base": "A complex type that contains zero or more CustomErrorResponse elements.", - "refs": { - "DistributionConfig$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponse elements.", - "DistributionSummary$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponses elements." - } - }, - "CustomOriginConfig": { - "base": "A customer origin.", - "refs": { - "Origin$CustomOriginConfig": "A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead." - } - }, - "DefaultCacheBehavior": { - "base": "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.", - "refs": { - "DistributionConfig$DefaultCacheBehavior": "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.", - "DistributionSummary$DefaultCacheBehavior": "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": { - "base": "The request to delete a origin access identity.", - "refs": { - } - }, - "DeleteDistributionRequest": { - "base": "The request to delete a distribution.", - "refs": { - } - }, - "DeleteStreamingDistributionRequest": { - "base": "The request to delete a streaming distribution.", - "refs": { - } - }, - "Distribution": { - "base": "A distribution.", - "refs": { - "CreateDistributionResult$Distribution": "The distribution's information.", - "GetDistributionResult$Distribution": "The distribution's information.", - "UpdateDistributionResult$Distribution": "The distribution's information." - } - }, - "DistributionAlreadyExists": { - "base": "The caller reference you attempted to create the distribution with is associated with another distribution.", - "refs": { - } - }, - "DistributionConfig": { - "base": "A distribution Configuration.", - "refs": { - "CreateDistributionRequest$DistributionConfig": "The distribution's configuration information.", - "Distribution$DistributionConfig": "The current configuration information for the distribution.", - "GetDistributionConfigResult$DistributionConfig": "The distribution's configuration information.", - "UpdateDistributionRequest$DistributionConfig": "The distribution's configuration information." - } - }, - "DistributionList": { - "base": "A distribution list.", - "refs": { - "ListDistributionsByWebACLIdResult$DistributionList": "The DistributionList type.", - "ListDistributionsResult$DistributionList": "The DistributionList type." - } - }, - "DistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "DistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront distribution.", - "refs": { - "DistributionSummaryList$member": null - } - }, - "DistributionSummaryList": { - "base": null, - "refs": { - "DistributionList$Items": "A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "ForwardedValues": { - "base": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "refs": { - "CacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "DefaultCacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers." - } - }, - "GeoRestriction": { - "base": "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.", - "refs": { - "Restrictions$GeoRestriction": null - } - }, - "GeoRestrictionType": { - "base": null, - "refs": { - "GeoRestriction$RestrictionType": "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." - } - }, - "GetCloudFrontOriginAccessIdentityConfigRequest": { - "base": "The request to get an origin access identity's configuration.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityRequest": { - "base": "The request to get an origin access identity's information.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionConfigRequest": { - "base": "The request to get a distribution configuration.", - "refs": { - } - }, - "GetDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionRequest": { - "base": "The request to get a distribution's information.", - "refs": { - } - }, - "GetDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetInvalidationRequest": { - "base": "The request to get an invalidation's information.", - "refs": { - } - }, - "GetInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionConfigRequest": { - "base": "To request to get a streaming distribution configuration.", - "refs": { - } - }, - "GetStreamingDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionRequest": { - "base": "The request to get a streaming distribution's information.", - "refs": { - } - }, - "GetStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "HeaderList": { - "base": null, - "refs": { - "Headers$Items": "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." - } - }, - "Headers": { - "base": "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.", - "refs": { - "ForwardedValues$Headers": "A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "IllegalUpdate": { - "base": "Origin and CallerReference cannot be updated.", - "refs": { - } - }, - "InconsistentQuantities": { - "base": "The value of Quantity and the size of Items do not match.", - "refs": { - } - }, - "InvalidArgument": { - "base": "The argument is invalid.", - "refs": { - } - }, - "InvalidDefaultRootObject": { - "base": "The default root object file name is too big or contains an invalid character.", - "refs": { - } - }, - "InvalidErrorCode": { - "base": null, - "refs": { - } - }, - "InvalidForwardCookies": { - "base": "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.", - "refs": { - } - }, - "InvalidGeoRestrictionParameter": { - "base": null, - "refs": { - } - }, - "InvalidHeadersForS3Origin": { - "base": null, - "refs": { - } - }, - "InvalidIfMatchVersion": { - "base": "The If-Match version is missing or not valid for the distribution.", - "refs": { - } - }, - "InvalidLocationCode": { - "base": null, - "refs": { - } - }, - "InvalidMinimumProtocolVersion": { - "base": null, - "refs": { - } - }, - "InvalidOrigin": { - "base": "The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "refs": { - } - }, - "InvalidOriginAccessIdentity": { - "base": "The origin access identity is not valid or doesn't exist.", - "refs": { - } - }, - "InvalidProtocolSettings": { - "base": "You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "refs": { - } - }, - "InvalidRelativePath": { - "base": "The relative path is too big, is not URL-encoded, or does not begin with a slash (/).", - "refs": { - } - }, - "InvalidRequiredProtocol": { - "base": "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.", - "refs": { - } - }, - "InvalidResponseCode": { - "base": null, - "refs": { - } - }, - "InvalidTTLOrder": { - "base": null, - "refs": { - } - }, - "InvalidViewerCertificate": { - "base": null, - "refs": { - } - }, - "InvalidWebACLId": { - "base": null, - "refs": { - } - }, - "Invalidation": { - "base": "An invalidation.", - "refs": { - "CreateInvalidationResult$Invalidation": "The invalidation's information.", - "GetInvalidationResult$Invalidation": "The invalidation's information." - } - }, - "InvalidationBatch": { - "base": "An invalidation batch.", - "refs": { - "CreateInvalidationRequest$InvalidationBatch": "The batch information for the invalidation.", - "Invalidation$InvalidationBatch": "The current invalidation information for the batch request." - } - }, - "InvalidationList": { - "base": "An invalidation list.", - "refs": { - "ListInvalidationsResult$InvalidationList": "Information about invalidation batches." - } - }, - "InvalidationSummary": { - "base": "Summary of an invalidation request.", - "refs": { - "InvalidationSummaryList$member": null - } - }, - "InvalidationSummaryList": { - "base": null, - "refs": { - "InvalidationList$Items": "A complex type that contains one InvalidationSummary element for each invalidation batch that was created by the current AWS account." - } - }, - "ItemSelection": { - "base": null, - "refs": { - "CookiePreference$Forward": "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." - } - }, - "KeyPairIdList": { - "base": null, - "refs": { - "KeyPairIds$Items": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "KeyPairIds": { - "base": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.", - "refs": { - "Signer$KeyPairIds": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest": { - "base": "The request to list origin access identities.", - "refs": { - } - }, - "ListCloudFrontOriginAccessIdentitiesResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListDistributionsByWebACLIdRequest": { - "base": "The request to list distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsByWebACLIdResult": { - "base": "The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsRequest": { - "base": "The request to list your distributions.", - "refs": { - } - }, - "ListDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListInvalidationsRequest": { - "base": "The request to list invalidations.", - "refs": { - } - }, - "ListInvalidationsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListStreamingDistributionsRequest": { - "base": "The request to list your streaming distributions.", - "refs": { - } - }, - "ListStreamingDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "LocationList": { - "base": null, - "refs": { - "GeoRestriction$Items": "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." - } - }, - "LoggingConfig": { - "base": "A complex type that controls whether access logs are written for the distribution.", - "refs": { - "DistributionConfig$Logging": "A complex type that controls whether access logs are written for the distribution." - } - }, - "Method": { - "base": null, - "refs": { - "MethodsList$member": null - } - }, - "MethodsList": { - "base": null, - "refs": { - "AllowedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.", - "CachedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to cache responses to." - } - }, - "MinimumProtocolVersion": { - "base": null, - "refs": { - "ViewerCertificate$MinimumProtocolVersion": "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." - } - }, - "MissingBody": { - "base": "This operation requires a body. Ensure that the body is present and the Content-Type header is set.", - "refs": { - } - }, - "NoSuchCloudFrontOriginAccessIdentity": { - "base": "The specified origin access identity does not exist.", - "refs": { - } - }, - "NoSuchDistribution": { - "base": "The specified distribution does not exist.", - "refs": { - } - }, - "NoSuchInvalidation": { - "base": "The specified invalidation does not exist.", - "refs": { - } - }, - "NoSuchOrigin": { - "base": "No origin exists with the specified Origin Id.", - "refs": { - } - }, - "NoSuchStreamingDistribution": { - "base": "The specified streaming distribution does not exist.", - "refs": { - } - }, - "Origin": { - "base": "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.", - "refs": { - "OriginList$member": null - } - }, - "OriginList": { - "base": null, - "refs": { - "Origins$Items": "A complex type that contains origins for this distribution." - } - }, - "OriginProtocolPolicy": { - "base": null, - "refs": { - "CustomOriginConfig$OriginProtocolPolicy": "The origin protocol policy to apply to your origin." - } - }, - "Origins": { - "base": "A complex type that contains information about origins for this distribution.", - "refs": { - "DistributionConfig$Origins": "A complex type that contains information about origins for this distribution.", - "DistributionSummary$Origins": "A complex type that contains information about origins for this distribution." - } - }, - "PathList": { - "base": null, - "refs": { - "Paths$Items": "A complex type that contains a list of the objects that you want to invalidate." - } - }, - "Paths": { - "base": "A complex type that contains information about the objects that you want to invalidate.", - "refs": { - "InvalidationBatch$Paths": "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." - } - }, - "PreconditionFailed": { - "base": "The precondition given in one or more of the request-header fields evaluated to false.", - "refs": { - } - }, - "PriceClass": { - "base": null, - "refs": { - "DistributionConfig$PriceClass": "A complex type that contains information about price class for this distribution.", - "DistributionSummary$PriceClass": null, - "StreamingDistributionConfig$PriceClass": "A complex type that contains information about price class for this streaming distribution.", - "StreamingDistributionSummary$PriceClass": null - } - }, - "Restrictions": { - "base": "A complex type that identifies ways in which you want to restrict distribution of your content.", - "refs": { - "DistributionConfig$Restrictions": null, - "DistributionSummary$Restrictions": null - } - }, - "S3Origin": { - "base": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "refs": { - "StreamingDistributionConfig$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "StreamingDistributionSummary$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution." - } - }, - "S3OriginConfig": { - "base": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.", - "refs": { - "Origin$S3OriginConfig": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead." - } - }, - "SSLSupportMethod": { - "base": null, - "refs": { - "ViewerCertificate$SSLSupportMethod": "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." - } - }, - "Signer": { - "base": "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.", - "refs": { - "SignerList$member": null - } - }, - "SignerList": { - "base": null, - "refs": { - "ActiveTrustedSigners$Items": "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." - } - }, - "StreamingDistribution": { - "base": "A streaming distribution.", - "refs": { - "CreateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "GetStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "UpdateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information." - } - }, - "StreamingDistributionAlreadyExists": { - "base": null, - "refs": { - } - }, - "StreamingDistributionConfig": { - "base": "The configuration for the streaming distribution.", - "refs": { - "CreateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "GetStreamingDistributionConfigResult$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "StreamingDistribution$StreamingDistributionConfig": "The current configuration information for the streaming distribution.", - "UpdateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information." - } - }, - "StreamingDistributionList": { - "base": "A streaming distribution list.", - "refs": { - "ListStreamingDistributionsResult$StreamingDistributionList": "The StreamingDistributionList type." - } - }, - "StreamingDistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "StreamingDistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront streaming distribution.", - "refs": { - "StreamingDistributionSummaryList$member": null - } - }, - "StreamingDistributionSummaryList": { - "base": null, - "refs": { - "StreamingDistributionList$Items": "A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "StreamingLoggingConfig": { - "base": "A complex type that controls whether access logs are written for this streaming distribution.", - "refs": { - "StreamingDistributionConfig$Logging": "A complex type that controls whether access logs are written for the streaming distribution." - } - }, - "TooManyCacheBehaviors": { - "base": "You cannot create anymore cache behaviors for the distribution.", - "refs": { - } - }, - "TooManyCertificates": { - "base": "You cannot create anymore custom ssl certificates.", - "refs": { - } - }, - "TooManyCloudFrontOriginAccessIdentities": { - "base": "Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "refs": { - } - }, - "TooManyCookieNamesInWhiteList": { - "base": "Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "refs": { - } - }, - "TooManyDistributionCNAMEs": { - "base": "Your request contains more CNAMEs than are allowed per distribution.", - "refs": { - } - }, - "TooManyDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of distributions allowed.", - "refs": { - } - }, - "TooManyHeadersInForwardedValues": { - "base": null, - "refs": { - } - }, - "TooManyInvalidationsInProgress": { - "base": "You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "refs": { - } - }, - "TooManyOrigins": { - "base": "You cannot create anymore origins for the distribution.", - "refs": { - } - }, - "TooManyStreamingDistributionCNAMEs": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of streaming distributions allowed.", - "refs": { - } - }, - "TooManyTrustedSigners": { - "base": "Your request contains more trusted signers than are allowed per distribution.", - "refs": { - } - }, - "TrustedSignerDoesNotExist": { - "base": "One or more of your trusted signers do not exist.", - "refs": { - } - }, - "TrustedSigners": { - "base": "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.", - "refs": { - "CacheBehavior$TrustedSigners": "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.", - "DefaultCacheBehavior$TrustedSigners": "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.", - "StreamingDistributionConfig$TrustedSigners": "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.", - "StreamingDistributionSummary$TrustedSigners": "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": { - "base": "The request to update an origin access identity.", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateDistributionRequest": { - "base": "The request to update a distribution.", - "refs": { - } - }, - "UpdateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateStreamingDistributionRequest": { - "base": "The request to update a streaming distribution.", - "refs": { - } - }, - "UpdateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ViewerCertificate": { - "base": "A complex type that contains information about viewer certificates for this distribution.", - "refs": { - "DistributionConfig$ViewerCertificate": null, - "DistributionSummary$ViewerCertificate": null - } - }, - "ViewerProtocolPolicy": { - "base": null, - "refs": { - "CacheBehavior$ViewerProtocolPolicy": "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.", - "DefaultCacheBehavior$ViewerProtocolPolicy": "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." - } - }, - "boolean": { - "base": null, - "refs": { - "ActiveTrustedSigners$Enabled": "Each active trusted signer.", - "CacheBehavior$SmoothStreaming": "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.", - "CloudFrontOriginAccessIdentityList$IsTruncated": "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.", - "DefaultCacheBehavior$SmoothStreaming": "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.", - "DistributionConfig$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "DistributionList$IsTruncated": "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.", - "DistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "ForwardedValues$QueryString": "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.", - "InvalidationList$IsTruncated": "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.", - "LoggingConfig$Enabled": "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.", - "LoggingConfig$IncludeCookies": "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.", - "StreamingDistributionConfig$Enabled": "Whether the streaming distribution is enabled to accept end user requests for content.", - "StreamingDistributionList$IsTruncated": "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.", - "StreamingDistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "StreamingLoggingConfig$Enabled": "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.", - "TrustedSigners$Enabled": "Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.", - "ViewerCertificate$CloudFrontDefaultCertificate": "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." - } - }, - "integer": { - "base": null, - "refs": { - "ActiveTrustedSigners$Quantity": "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.", - "Aliases$Quantity": "The number of CNAMEs, if any, for this distribution.", - "AllowedMethods$Quantity": "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).", - "CacheBehaviors$Quantity": "The number of cache behaviors for this distribution.", - "CachedMethods$Quantity": "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).", - "CloudFrontOriginAccessIdentityList$MaxItems": "The value you provided for the MaxItems request parameter.", - "CloudFrontOriginAccessIdentityList$Quantity": "The number of CloudFront origin access identities that were created by the current AWS account.", - "CookieNames$Quantity": "The number of whitelisted cookies for this cache behavior.", - "CustomErrorResponse$ErrorCode": "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.", - "CustomErrorResponses$Quantity": "The number of custom error responses for this distribution.", - "CustomOriginConfig$HTTPPort": "The HTTP port the custom origin listens on.", - "CustomOriginConfig$HTTPSPort": "The HTTPS port the custom origin listens on.", - "Distribution$InProgressInvalidationBatches": "The number of invalidation batches currently in progress.", - "DistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "DistributionList$Quantity": "The number of distributions that were created by the current AWS account.", - "GeoRestriction$Quantity": "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.", - "Headers$Quantity": "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.", - "InvalidationList$MaxItems": "The value you provided for the MaxItems request parameter.", - "InvalidationList$Quantity": "The number of invalidation batches that were created by the current AWS account.", - "KeyPairIds$Quantity": "The number of active CloudFront key pairs for AwsAccountNumber.", - "Origins$Quantity": "The number of origins for this distribution.", - "Paths$Quantity": "The number of objects that you want to invalidate.", - "StreamingDistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "StreamingDistributionList$Quantity": "The number of streaming distributions that were created by the current AWS account.", - "TrustedSigners$Quantity": "The number of trusted signers for this cache behavior." - } - }, - "long": { - "base": null, - "refs": { - "CacheBehavior$MinTTL": "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).", - "CacheBehavior$DefaultTTL": "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).", - "CacheBehavior$MaxTTL": "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).", - "CustomErrorResponse$ErrorCachingMinTTL": "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.", - "DefaultCacheBehavior$MinTTL": "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).", - "DefaultCacheBehavior$DefaultTTL": "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).", - "DefaultCacheBehavior$MaxTTL": "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)." - } - }, - "string": { - "base": null, - "refs": { - "AccessDenied$Message": null, - "AliasList$member": null, - "AwsAccountNumberList$member": null, - "BatchTooLarge$Message": null, - "CNAMEAlreadyExists$Message": null, - "CacheBehavior$PathPattern": "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.", - "CacheBehavior$TargetOriginId": "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.", - "CloudFrontOriginAccessIdentity$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, - "CloudFrontOriginAccessIdentityConfig$CallerReference": "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.", - "CloudFrontOriginAccessIdentityConfig$Comment": "Any comments you want to include about the origin access identity.", - "CloudFrontOriginAccessIdentityInUse$Message": null, - "CloudFrontOriginAccessIdentityList$Marker": "The value you provided for the Marker request parameter.", - "CloudFrontOriginAccessIdentityList$NextMarker": "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.", - "CloudFrontOriginAccessIdentitySummary$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentitySummary$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentitySummary$Comment": "The comment for this origin access identity, as originally specified when created.", - "CookieNameList$member": null, - "CreateCloudFrontOriginAccessIdentityResult$Location": "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.", - "CreateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity created.", - "CreateDistributionResult$Location": "The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "CreateDistributionResult$ETag": "The current version of the distribution created.", - "CreateInvalidationRequest$DistributionId": "The distribution's id.", - "CreateInvalidationResult$Location": "The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.", - "CreateStreamingDistributionResult$Location": "The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "CreateStreamingDistributionResult$ETag": "The current version of the streaming distribution created.", - "CustomErrorResponse$ResponsePagePath": "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.", - "CustomErrorResponse$ResponseCode": "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.", - "DefaultCacheBehavior$TargetOriginId": "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.", - "DeleteCloudFrontOriginAccessIdentityRequest$Id": "The origin access identity's id.", - "DeleteCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.", - "DeleteDistributionRequest$Id": "The distribution id.", - "DeleteDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "DeleteStreamingDistributionRequest$Id": "The distribution id.", - "DeleteStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.", - "Distribution$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "Distribution$Status": "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.", - "Distribution$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionAlreadyExists$Message": null, - "DistributionConfig$CallerReference": "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.", - "DistributionConfig$DefaultRootObject": "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.", - "DistributionConfig$Comment": "Any comments you want to include about the distribution.", - "DistributionConfig$WebACLId": "(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.", - "DistributionList$Marker": "The value you provided for the Marker request parameter.", - "DistributionList$NextMarker": "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.", - "DistributionNotDisabled$Message": null, - "DistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "DistributionSummary$Status": "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.", - "DistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "DistributionSummary$WebACLId": "The Web ACL Id (if any) associated with the distribution.", - "GetCloudFrontOriginAccessIdentityConfigRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.", - "GetDistributionConfigRequest$Id": "The distribution's id.", - "GetDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetDistributionRequest$Id": "The distribution's id.", - "GetDistributionResult$ETag": "The current version of the distribution's information. For example: E2QWRUHAPOMQZL.", - "GetInvalidationRequest$DistributionId": "The distribution's id.", - "GetInvalidationRequest$Id": "The invalidation's id.", - "GetStreamingDistributionConfigRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetStreamingDistributionRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionResult$ETag": "The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.", - "HeaderList$member": null, - "IllegalUpdate$Message": null, - "InconsistentQuantities$Message": null, - "InvalidArgument$Message": null, - "InvalidDefaultRootObject$Message": null, - "InvalidErrorCode$Message": null, - "InvalidForwardCookies$Message": null, - "InvalidGeoRestrictionParameter$Message": null, - "InvalidHeadersForS3Origin$Message": null, - "InvalidIfMatchVersion$Message": null, - "InvalidLocationCode$Message": null, - "InvalidMinimumProtocolVersion$Message": null, - "InvalidOrigin$Message": null, - "InvalidOriginAccessIdentity$Message": null, - "InvalidProtocolSettings$Message": null, - "InvalidRelativePath$Message": null, - "InvalidRequiredProtocol$Message": null, - "InvalidResponseCode$Message": null, - "InvalidTTLOrder$Message": null, - "InvalidViewerCertificate$Message": null, - "InvalidWebACLId$Message": null, - "Invalidation$Id": "The identifier for the invalidation request. For example: IDFDVBD632BHDS5.", - "Invalidation$Status": "The status of the invalidation request. When the invalidation batch is finished, the status is Completed.", - "InvalidationBatch$CallerReference": "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.", - "InvalidationList$Marker": "The value you provided for the Marker request parameter.", - "InvalidationList$NextMarker": "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.", - "InvalidationSummary$Id": "The unique ID for an invalidation request.", - "InvalidationSummary$Status": "The status of an invalidation request.", - "KeyPairIdList$member": null, - "ListCloudFrontOriginAccessIdentitiesRequest$Marker": "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).", - "ListCloudFrontOriginAccessIdentitiesRequest$MaxItems": "The maximum number of origin access identities you want in the response body.", - "ListDistributionsByWebACLIdRequest$Marker": "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.)", - "ListDistributionsByWebACLIdRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListDistributionsByWebACLIdRequest$WebACLId": "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.", - "ListDistributionsRequest$Marker": "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.)", - "ListDistributionsRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListInvalidationsRequest$DistributionId": "The distribution's id.", - "ListInvalidationsRequest$Marker": "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.", - "ListInvalidationsRequest$MaxItems": "The maximum number of invalidation batches you want in the response body.", - "ListStreamingDistributionsRequest$Marker": "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).", - "ListStreamingDistributionsRequest$MaxItems": "The maximum number of streaming distributions you want in the response body.", - "LocationList$member": null, - "LoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "LoggingConfig$Prefix": "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.", - "MissingBody$Message": null, - "NoSuchCloudFrontOriginAccessIdentity$Message": null, - "NoSuchDistribution$Message": null, - "NoSuchInvalidation$Message": null, - "NoSuchOrigin$Message": null, - "NoSuchStreamingDistribution$Message": null, - "Origin$Id": "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.", - "Origin$DomainName": "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.", - "Origin$OriginPath": "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.", - "PathList$member": null, - "PreconditionFailed$Message": null, - "S3Origin$DomainName": "The DNS name of the S3 origin.", - "S3Origin$OriginAccessIdentity": "Your S3 origin's origin access identity.", - "S3OriginConfig$OriginAccessIdentity": "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.", - "Signer$AwsAccountNumber": "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.", - "StreamingDistribution$Id": "The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.", - "StreamingDistribution$Status": "The current status of the streaming distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistribution$DomainName": "The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.", - "StreamingDistributionAlreadyExists$Message": null, - "StreamingDistributionConfig$CallerReference": "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.", - "StreamingDistributionConfig$Comment": "Any comments you want to include about the streaming distribution.", - "StreamingDistributionList$Marker": "The value you provided for the Marker request parameter.", - "StreamingDistributionList$NextMarker": "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.", - "StreamingDistributionNotDisabled$Message": null, - "StreamingDistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "StreamingDistributionSummary$Status": "Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "StreamingDistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "StreamingLoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "StreamingLoggingConfig$Prefix": "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.", - "TooManyCacheBehaviors$Message": null, - "TooManyCertificates$Message": null, - "TooManyCloudFrontOriginAccessIdentities$Message": null, - "TooManyCookieNamesInWhiteList$Message": null, - "TooManyDistributionCNAMEs$Message": null, - "TooManyDistributions$Message": null, - "TooManyHeadersInForwardedValues$Message": null, - "TooManyInvalidationsInProgress$Message": null, - "TooManyOrigins$Message": null, - "TooManyStreamingDistributionCNAMEs$Message": null, - "TooManyStreamingDistributions$Message": null, - "TooManyTrustedSigners$Message": null, - "TrustedSignerDoesNotExist$Message": null, - "UpdateCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "UpdateCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionRequest$Id": "The distribution's id.", - "UpdateDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionRequest$Id": "The streaming distribution's id.", - "UpdateStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "ViewerCertificate$IAMCertificateId": "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." - } - }, - "timestamp": { - "base": null, - "refs": { - "Distribution$LastModifiedTime": "The date and time the distribution was last modified.", - "DistributionSummary$LastModifiedTime": "The date and time the distribution was last modified.", - "Invalidation$CreateTime": "The date and time the invalidation request was first made.", - "InvalidationSummary$CreateTime": null, - "StreamingDistribution$LastModifiedTime": "The date and time the distribution was last modified.", - "StreamingDistributionSummary$LastModifiedTime": "The date and time the distribution was last modified." - } - } - } -} diff --git a/models/apis/cloudfront/2015-07-27/paginators-1.json b/models/apis/cloudfront/2015-07-27/paginators-1.json deleted file mode 100644 index 51fbb907fa3..00000000000 --- a/models/apis/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/models/apis/cloudfront/2015-07-27/waiters-2.json b/models/apis/cloudfront/2015-07-27/waiters-2.json deleted file mode 100644 index f6d3ba7bc05..00000000000 --- a/models/apis/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": "Status" - } - ] - }, - "InvalidationCompleted": { - "delay": 20, - "operation": "GetInvalidation", - "maxAttempts": 30, - "description": "Wait until an invalidation has completed.", - "acceptors": [ - { - "expected": "Completed", - "matcher": "path", - "state": "success", - "argument": "Status" - } - ] - }, - "StreamingDistributionDeployed": { - "delay": 60, - "operation": "GetStreamingDistribution", - "maxAttempts": 25, - "description": "Wait until a streaming distribution is deployed.", - "acceptors": [ - { - "expected": "Deployed", - "matcher": "path", - "state": "success", - "argument": "Status" - } - ] - } - } -} diff --git a/models/apis/cloudfront/2015-09-17/api-2.json b/models/apis/cloudfront/2015-09-17/api-2.json deleted file mode 100644 index 374b7e5e9cb..00000000000 --- a/models/apis/cloudfront/2015-09-17/api-2.json +++ /dev/null @@ -1,2150 +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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListDistributions":{ - "name":"ListDistributions2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"SignerList"} - } - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AliasList"} - } - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"}, - "CachedMethods":{"shape":"CachedMethods"} - } - }, - "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"}, - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CacheBehaviorList"} - } - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"} - } - }, - "CertificateSource":{ - "type":"string", - "enum":[ - "cloudfront", - "iam" - ] - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"} - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CloudFrontOriginAccessIdentitySummaryList"} - } - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"CookieNameList"} - } - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{"shape":"ItemSelection"}, - "WhitelistedNames":{"shape":"CookieNames"} - } - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-09-17/"} - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-09-17/"} - } - }, - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-09-17/"} - } - }, - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-09-17/"} - } - }, - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"integer"}, - "ResponsePagePath":{"shape":"string"}, - "ResponseCode":{"shape":"string"}, - "ErrorCachingMinTTL":{"shape":"long"} - } - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CustomErrorResponseList"} - } - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{"shape":"integer"}, - "HTTPSPort":{"shape":"integer"}, - "OriginProtocolPolicy":{"shape":"OriginProtocolPolicy"} - } - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "InProgressInvalidationBatches":{"shape":"integer"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "DistributionConfig":{"shape":"DistributionConfig"} - } - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "DefaultRootObject":{"shape":"string"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"LoggingConfig"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"} - } - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"DistributionSummaryList"} - } - }, - "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"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"} - } - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{"shape":"boolean"}, - "Cookies":{"shape":"CookiePreference"}, - "Headers":{"shape":"Headers"} - } - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{"shape":"GeoRestrictionType"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"LocationList"} - } - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"HeaderList"} - } - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"}, - "Status":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "InvalidationBatch":{"shape":"InvalidationBatch"} - } - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{"shape":"Paths"}, - "CallerReference":{"shape":"string"} - } - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"InvalidationSummaryList"} - } - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "Status":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"KeyPairIdList"} - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{"shape":"CloudFrontOriginAccessIdentityList"} - }, - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "location":"uri", - "locationName":"WebACLId" - } - } - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{"shape":"InvalidationList"} - }, - "payload":"InvalidationList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{"shape":"StreamingDistributionList"} - }, - "payload":"StreamingDistributionList" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "IncludeCookies":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "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 - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{"shape":"string"}, - "DomainName":{"shape":"string"}, - "OriginPath":{"shape":"string"}, - "S3OriginConfig":{"shape":"S3OriginConfig"}, - "CustomOriginConfig":{"shape":"CustomOriginConfig"} - } - }, - "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"}, - "Items":{"shape":"OriginList"} - } - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"PathList"} - } - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "Restrictions":{ - "type":"structure", - "required":["GeoRestriction"], - "members":{ - "GeoRestriction":{"shape":"GeoRestriction"} - } - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{"shape":"string"}, - "OriginAccessIdentity":{"shape":"string"} - } - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{"shape":"string"} - } - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{"shape":"string"}, - "KeyPairIds":{"shape":"KeyPairIds"} - } - }, - "SignerList":{ - "type":"list", - "member":{ - "shape":"Signer", - "locationName":"Signer" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"} - } - }, - "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"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"StreamingLoggingConfig"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"StreamingDistributionSummaryList"} - } - }, - "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"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AwsAccountNumberList"} - } - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-09-17/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-09-17/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-09-17/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "Certificate":{"shape":"string"}, - "CertificateSource":{"shape":"CertificateSource"}, - "SSLSupportMethod":{"shape":"SSLSupportMethod"}, - "MinimumProtocolVersion":{"shape":"MinimumProtocolVersion"}, - "IAMCertificateId":{ - "shape":"string", - "deprecated":true - }, - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "deprecated":true - } - } - }, - "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/models/apis/cloudfront/2015-09-17/docs-2.json b/models/apis/cloudfront/2015-09-17/docs-2.json deleted file mode 100644 index 3e23d960f06..00000000000 --- a/models/apis/cloudfront/2015-09-17/docs-2.json +++ /dev/null @@ -1,1173 +0,0 @@ -{ - "version": "2.0", - "service": null, - "operations": { - "CreateCloudFrontOriginAccessIdentity": "Create a new origin access identity.", - "CreateDistribution": "Create a new distribution.", - "CreateInvalidation": "Create a new invalidation.", - "CreateStreamingDistribution": "Create a new streaming distribution.", - "DeleteCloudFrontOriginAccessIdentity": "Delete an origin access identity.", - "DeleteDistribution": "Delete a distribution.", - "DeleteStreamingDistribution": "Delete a streaming distribution.", - "GetCloudFrontOriginAccessIdentity": "Get the information about an origin access identity.", - "GetCloudFrontOriginAccessIdentityConfig": "Get the configuration information about an origin access identity.", - "GetDistribution": "Get the information about a distribution.", - "GetDistributionConfig": "Get the configuration information about a distribution.", - "GetInvalidation": "Get the information about an invalidation.", - "GetStreamingDistribution": "Get the information about a streaming distribution.", - "GetStreamingDistributionConfig": "Get the configuration information about a streaming distribution.", - "ListCloudFrontOriginAccessIdentities": "List origin access identities.", - "ListDistributions": "List distributions.", - "ListDistributionsByWebACLId": "List the distributions that are associated with a specified AWS WAF web ACL.", - "ListInvalidations": "List invalidation batches.", - "ListStreamingDistributions": "List streaming distributions.", - "UpdateCloudFrontOriginAccessIdentity": "Update an origin access identity.", - "UpdateDistribution": "Update a distribution.", - "UpdateStreamingDistribution": "Update a streaming distribution." - }, - "shapes": { - "AccessDenied": { - "base": "Access denied.", - "refs": { - } - }, - "ActiveTrustedSigners": { - "base": "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.", - "refs": { - "Distribution$ActiveTrustedSigners": "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.", - "StreamingDistribution$ActiveTrustedSigners": "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." - } - }, - "AliasList": { - "base": null, - "refs": { - "Aliases$Items": "Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "Aliases": { - "base": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "refs": { - "DistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "DistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "StreamingDistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.", - "StreamingDistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution." - } - }, - "AllowedMethods": { - "base": "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.", - "refs": { - "CacheBehavior$AllowedMethods": null, - "DefaultCacheBehavior$AllowedMethods": null - } - }, - "AwsAccountNumberList": { - "base": null, - "refs": { - "TrustedSigners$Items": "Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "BatchTooLarge": { - "base": null, - "refs": { - } - }, - "CNAMEAlreadyExists": { - "base": null, - "refs": { - } - }, - "CacheBehavior": { - "base": "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.", - "refs": { - "CacheBehaviorList$member": null - } - }, - "CacheBehaviorList": { - "base": null, - "refs": { - "CacheBehaviors$Items": "Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CacheBehaviors": { - "base": "A complex type that contains zero or more CacheBehavior elements.", - "refs": { - "DistributionConfig$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements.", - "DistributionSummary$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements." - } - }, - "CachedMethods": { - "base": "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.", - "refs": { - "AllowedMethods$CachedMethods": null - } - }, - "CertificateSource": { - "base": null, - "refs": { - "ViewerCertificate$CertificateSource": "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." - } - }, - "CloudFrontOriginAccessIdentity": { - "base": "CloudFront origin access identity.", - "refs": { - "CreateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "GetCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "UpdateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information." - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists": { - "base": "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.", - "refs": { - } - }, - "CloudFrontOriginAccessIdentityConfig": { - "base": "Origin access identity configuration.", - "refs": { - "CloudFrontOriginAccessIdentity$CloudFrontOriginAccessIdentityConfig": "The current configuration information for the identity.", - "CreateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "GetCloudFrontOriginAccessIdentityConfigResult$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "UpdateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The identity's configuration information." - } - }, - "CloudFrontOriginAccessIdentityInUse": { - "base": null, - "refs": { - } - }, - "CloudFrontOriginAccessIdentityList": { - "base": "The CloudFrontOriginAccessIdentityList type.", - "refs": { - "ListCloudFrontOriginAccessIdentitiesResult$CloudFrontOriginAccessIdentityList": "The CloudFrontOriginAccessIdentityList type." - } - }, - "CloudFrontOriginAccessIdentitySummary": { - "base": "Summary of the information about a CloudFront origin access identity.", - "refs": { - "CloudFrontOriginAccessIdentitySummaryList$member": null - } - }, - "CloudFrontOriginAccessIdentitySummaryList": { - "base": null, - "refs": { - "CloudFrontOriginAccessIdentityList$Items": "A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account." - } - }, - "CookieNameList": { - "base": null, - "refs": { - "CookieNames$Items": "Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "CookieNames": { - "base": "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.", - "refs": { - "CookiePreference$WhitelistedNames": "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": { - "base": "A complex type that specifies the cookie preferences associated with this cache behavior.", - "refs": { - "ForwardedValues$Cookies": "A complex type that specifies how CloudFront handles cookies." - } - }, - "CreateCloudFrontOriginAccessIdentityRequest": { - "base": "The request to create a new origin access identity.", - "refs": { - } - }, - "CreateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateDistributionRequest": { - "base": "The request to create a new distribution.", - "refs": { - } - }, - "CreateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateInvalidationRequest": { - "base": "The request to create an invalidation.", - "refs": { - } - }, - "CreateInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateStreamingDistributionRequest": { - "base": "The request to create a new streaming distribution.", - "refs": { - } - }, - "CreateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CustomErrorResponse": { - "base": "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.", - "refs": { - "CustomErrorResponseList$member": null - } - }, - "CustomErrorResponseList": { - "base": null, - "refs": { - "CustomErrorResponses$Items": "Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CustomErrorResponses": { - "base": "A complex type that contains zero or more CustomErrorResponse elements.", - "refs": { - "DistributionConfig$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponse elements.", - "DistributionSummary$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponses elements." - } - }, - "CustomOriginConfig": { - "base": "A customer origin.", - "refs": { - "Origin$CustomOriginConfig": "A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead." - } - }, - "DefaultCacheBehavior": { - "base": "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.", - "refs": { - "DistributionConfig$DefaultCacheBehavior": "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.", - "DistributionSummary$DefaultCacheBehavior": "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": { - "base": "The request to delete a origin access identity.", - "refs": { - } - }, - "DeleteDistributionRequest": { - "base": "The request to delete a distribution.", - "refs": { - } - }, - "DeleteStreamingDistributionRequest": { - "base": "The request to delete a streaming distribution.", - "refs": { - } - }, - "Distribution": { - "base": "A distribution.", - "refs": { - "CreateDistributionResult$Distribution": "The distribution's information.", - "GetDistributionResult$Distribution": "The distribution's information.", - "UpdateDistributionResult$Distribution": "The distribution's information." - } - }, - "DistributionAlreadyExists": { - "base": "The caller reference you attempted to create the distribution with is associated with another distribution.", - "refs": { - } - }, - "DistributionConfig": { - "base": "A distribution Configuration.", - "refs": { - "CreateDistributionRequest$DistributionConfig": "The distribution's configuration information.", - "Distribution$DistributionConfig": "The current configuration information for the distribution.", - "GetDistributionConfigResult$DistributionConfig": "The distribution's configuration information.", - "UpdateDistributionRequest$DistributionConfig": "The distribution's configuration information." - } - }, - "DistributionList": { - "base": "A distribution list.", - "refs": { - "ListDistributionsByWebACLIdResult$DistributionList": "The DistributionList type.", - "ListDistributionsResult$DistributionList": "The DistributionList type." - } - }, - "DistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "DistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront distribution.", - "refs": { - "DistributionSummaryList$member": null - } - }, - "DistributionSummaryList": { - "base": null, - "refs": { - "DistributionList$Items": "A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "ForwardedValues": { - "base": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "refs": { - "CacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "DefaultCacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers." - } - }, - "GeoRestriction": { - "base": "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.", - "refs": { - "Restrictions$GeoRestriction": null - } - }, - "GeoRestrictionType": { - "base": null, - "refs": { - "GeoRestriction$RestrictionType": "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." - } - }, - "GetCloudFrontOriginAccessIdentityConfigRequest": { - "base": "The request to get an origin access identity's configuration.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityRequest": { - "base": "The request to get an origin access identity's information.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionConfigRequest": { - "base": "The request to get a distribution configuration.", - "refs": { - } - }, - "GetDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionRequest": { - "base": "The request to get a distribution's information.", - "refs": { - } - }, - "GetDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetInvalidationRequest": { - "base": "The request to get an invalidation's information.", - "refs": { - } - }, - "GetInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionConfigRequest": { - "base": "To request to get a streaming distribution configuration.", - "refs": { - } - }, - "GetStreamingDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionRequest": { - "base": "The request to get a streaming distribution's information.", - "refs": { - } - }, - "GetStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "HeaderList": { - "base": null, - "refs": { - "Headers$Items": "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." - } - }, - "Headers": { - "base": "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.", - "refs": { - "ForwardedValues$Headers": "A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "IllegalUpdate": { - "base": "Origin and CallerReference cannot be updated.", - "refs": { - } - }, - "InconsistentQuantities": { - "base": "The value of Quantity and the size of Items do not match.", - "refs": { - } - }, - "InvalidArgument": { - "base": "The argument is invalid.", - "refs": { - } - }, - "InvalidDefaultRootObject": { - "base": "The default root object file name is too big or contains an invalid character.", - "refs": { - } - }, - "InvalidErrorCode": { - "base": null, - "refs": { - } - }, - "InvalidForwardCookies": { - "base": "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.", - "refs": { - } - }, - "InvalidGeoRestrictionParameter": { - "base": null, - "refs": { - } - }, - "InvalidHeadersForS3Origin": { - "base": null, - "refs": { - } - }, - "InvalidIfMatchVersion": { - "base": "The If-Match version is missing or not valid for the distribution.", - "refs": { - } - }, - "InvalidLocationCode": { - "base": null, - "refs": { - } - }, - "InvalidMinimumProtocolVersion": { - "base": null, - "refs": { - } - }, - "InvalidOrigin": { - "base": "The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "refs": { - } - }, - "InvalidOriginAccessIdentity": { - "base": "The origin access identity is not valid or doesn't exist.", - "refs": { - } - }, - "InvalidProtocolSettings": { - "base": "You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "refs": { - } - }, - "InvalidRelativePath": { - "base": "The relative path is too big, is not URL-encoded, or does not begin with a slash (/).", - "refs": { - } - }, - "InvalidRequiredProtocol": { - "base": "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.", - "refs": { - } - }, - "InvalidResponseCode": { - "base": null, - "refs": { - } - }, - "InvalidTTLOrder": { - "base": null, - "refs": { - } - }, - "InvalidViewerCertificate": { - "base": null, - "refs": { - } - }, - "InvalidWebACLId": { - "base": null, - "refs": { - } - }, - "Invalidation": { - "base": "An invalidation.", - "refs": { - "CreateInvalidationResult$Invalidation": "The invalidation's information.", - "GetInvalidationResult$Invalidation": "The invalidation's information." - } - }, - "InvalidationBatch": { - "base": "An invalidation batch.", - "refs": { - "CreateInvalidationRequest$InvalidationBatch": "The batch information for the invalidation.", - "Invalidation$InvalidationBatch": "The current invalidation information for the batch request." - } - }, - "InvalidationList": { - "base": "An invalidation list.", - "refs": { - "ListInvalidationsResult$InvalidationList": "Information about invalidation batches." - } - }, - "InvalidationSummary": { - "base": "Summary of an invalidation request.", - "refs": { - "InvalidationSummaryList$member": null - } - }, - "InvalidationSummaryList": { - "base": null, - "refs": { - "InvalidationList$Items": "A complex type that contains one InvalidationSummary element for each invalidation batch that was created by the current AWS account." - } - }, - "ItemSelection": { - "base": null, - "refs": { - "CookiePreference$Forward": "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." - } - }, - "KeyPairIdList": { - "base": null, - "refs": { - "KeyPairIds$Items": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "KeyPairIds": { - "base": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.", - "refs": { - "Signer$KeyPairIds": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest": { - "base": "The request to list origin access identities.", - "refs": { - } - }, - "ListCloudFrontOriginAccessIdentitiesResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListDistributionsByWebACLIdRequest": { - "base": "The request to list distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsByWebACLIdResult": { - "base": "The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsRequest": { - "base": "The request to list your distributions.", - "refs": { - } - }, - "ListDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListInvalidationsRequest": { - "base": "The request to list invalidations.", - "refs": { - } - }, - "ListInvalidationsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListStreamingDistributionsRequest": { - "base": "The request to list your streaming distributions.", - "refs": { - } - }, - "ListStreamingDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "LocationList": { - "base": null, - "refs": { - "GeoRestriction$Items": "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." - } - }, - "LoggingConfig": { - "base": "A complex type that controls whether access logs are written for the distribution.", - "refs": { - "DistributionConfig$Logging": "A complex type that controls whether access logs are written for the distribution." - } - }, - "Method": { - "base": null, - "refs": { - "MethodsList$member": null - } - }, - "MethodsList": { - "base": null, - "refs": { - "AllowedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.", - "CachedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to cache responses to." - } - }, - "MinimumProtocolVersion": { - "base": null, - "refs": { - "ViewerCertificate$MinimumProtocolVersion": "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." - } - }, - "MissingBody": { - "base": "This operation requires a body. Ensure that the body is present and the Content-Type header is set.", - "refs": { - } - }, - "NoSuchCloudFrontOriginAccessIdentity": { - "base": "The specified origin access identity does not exist.", - "refs": { - } - }, - "NoSuchDistribution": { - "base": "The specified distribution does not exist.", - "refs": { - } - }, - "NoSuchInvalidation": { - "base": "The specified invalidation does not exist.", - "refs": { - } - }, - "NoSuchOrigin": { - "base": "No origin exists with the specified Origin Id.", - "refs": { - } - }, - "NoSuchStreamingDistribution": { - "base": "The specified streaming distribution does not exist.", - "refs": { - } - }, - "Origin": { - "base": "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.", - "refs": { - "OriginList$member": null - } - }, - "OriginList": { - "base": null, - "refs": { - "Origins$Items": "A complex type that contains origins for this distribution." - } - }, - "OriginProtocolPolicy": { - "base": null, - "refs": { - "CustomOriginConfig$OriginProtocolPolicy": "The origin protocol policy to apply to your origin." - } - }, - "Origins": { - "base": "A complex type that contains information about origins for this distribution.", - "refs": { - "DistributionConfig$Origins": "A complex type that contains information about origins for this distribution.", - "DistributionSummary$Origins": "A complex type that contains information about origins for this distribution." - } - }, - "PathList": { - "base": null, - "refs": { - "Paths$Items": "A complex type that contains a list of the objects that you want to invalidate." - } - }, - "Paths": { - "base": "A complex type that contains information about the objects that you want to invalidate.", - "refs": { - "InvalidationBatch$Paths": "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." - } - }, - "PreconditionFailed": { - "base": "The precondition given in one or more of the request-header fields evaluated to false.", - "refs": { - } - }, - "PriceClass": { - "base": null, - "refs": { - "DistributionConfig$PriceClass": "A complex type that contains information about price class for this distribution.", - "DistributionSummary$PriceClass": null, - "StreamingDistributionConfig$PriceClass": "A complex type that contains information about price class for this streaming distribution.", - "StreamingDistributionSummary$PriceClass": null - } - }, - "Restrictions": { - "base": "A complex type that identifies ways in which you want to restrict distribution of your content.", - "refs": { - "DistributionConfig$Restrictions": null, - "DistributionSummary$Restrictions": null - } - }, - "S3Origin": { - "base": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "refs": { - "StreamingDistributionConfig$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "StreamingDistributionSummary$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution." - } - }, - "S3OriginConfig": { - "base": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.", - "refs": { - "Origin$S3OriginConfig": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead." - } - }, - "SSLSupportMethod": { - "base": null, - "refs": { - "ViewerCertificate$SSLSupportMethod": "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." - } - }, - "Signer": { - "base": "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.", - "refs": { - "SignerList$member": null - } - }, - "SignerList": { - "base": null, - "refs": { - "ActiveTrustedSigners$Items": "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." - } - }, - "StreamingDistribution": { - "base": "A streaming distribution.", - "refs": { - "CreateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "GetStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "UpdateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information." - } - }, - "StreamingDistributionAlreadyExists": { - "base": null, - "refs": { - } - }, - "StreamingDistributionConfig": { - "base": "The configuration for the streaming distribution.", - "refs": { - "CreateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "GetStreamingDistributionConfigResult$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "StreamingDistribution$StreamingDistributionConfig": "The current configuration information for the streaming distribution.", - "UpdateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information." - } - }, - "StreamingDistributionList": { - "base": "A streaming distribution list.", - "refs": { - "ListStreamingDistributionsResult$StreamingDistributionList": "The StreamingDistributionList type." - } - }, - "StreamingDistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "StreamingDistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront streaming distribution.", - "refs": { - "StreamingDistributionSummaryList$member": null - } - }, - "StreamingDistributionSummaryList": { - "base": null, - "refs": { - "StreamingDistributionList$Items": "A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "StreamingLoggingConfig": { - "base": "A complex type that controls whether access logs are written for this streaming distribution.", - "refs": { - "StreamingDistributionConfig$Logging": "A complex type that controls whether access logs are written for the streaming distribution." - } - }, - "TooManyCacheBehaviors": { - "base": "You cannot create anymore cache behaviors for the distribution.", - "refs": { - } - }, - "TooManyCertificates": { - "base": "You cannot create anymore custom ssl certificates.", - "refs": { - } - }, - "TooManyCloudFrontOriginAccessIdentities": { - "base": "Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "refs": { - } - }, - "TooManyCookieNamesInWhiteList": { - "base": "Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "refs": { - } - }, - "TooManyDistributionCNAMEs": { - "base": "Your request contains more CNAMEs than are allowed per distribution.", - "refs": { - } - }, - "TooManyDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of distributions allowed.", - "refs": { - } - }, - "TooManyHeadersInForwardedValues": { - "base": null, - "refs": { - } - }, - "TooManyInvalidationsInProgress": { - "base": "You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "refs": { - } - }, - "TooManyOrigins": { - "base": "You cannot create anymore origins for the distribution.", - "refs": { - } - }, - "TooManyStreamingDistributionCNAMEs": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of streaming distributions allowed.", - "refs": { - } - }, - "TooManyTrustedSigners": { - "base": "Your request contains more trusted signers than are allowed per distribution.", - "refs": { - } - }, - "TrustedSignerDoesNotExist": { - "base": "One or more of your trusted signers do not exist.", - "refs": { - } - }, - "TrustedSigners": { - "base": "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.", - "refs": { - "CacheBehavior$TrustedSigners": "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.", - "DefaultCacheBehavior$TrustedSigners": "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.", - "StreamingDistributionConfig$TrustedSigners": "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.", - "StreamingDistributionSummary$TrustedSigners": "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": { - "base": "The request to update an origin access identity.", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateDistributionRequest": { - "base": "The request to update a distribution.", - "refs": { - } - }, - "UpdateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateStreamingDistributionRequest": { - "base": "The request to update a streaming distribution.", - "refs": { - } - }, - "UpdateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ViewerCertificate": { - "base": "A complex type that contains information about viewer certificates for this distribution.", - "refs": { - "DistributionConfig$ViewerCertificate": null, - "DistributionSummary$ViewerCertificate": null - } - }, - "ViewerProtocolPolicy": { - "base": null, - "refs": { - "CacheBehavior$ViewerProtocolPolicy": "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.", - "DefaultCacheBehavior$ViewerProtocolPolicy": "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." - } - }, - "boolean": { - "base": null, - "refs": { - "ActiveTrustedSigners$Enabled": "Each active trusted signer.", - "CacheBehavior$SmoothStreaming": "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.", - "CacheBehavior$Compress": "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.", - "CloudFrontOriginAccessIdentityList$IsTruncated": "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.", - "DefaultCacheBehavior$SmoothStreaming": "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.", - "DefaultCacheBehavior$Compress": "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.", - "DistributionConfig$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "DistributionList$IsTruncated": "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.", - "DistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "ForwardedValues$QueryString": "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.", - "InvalidationList$IsTruncated": "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.", - "LoggingConfig$Enabled": "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.", - "LoggingConfig$IncludeCookies": "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.", - "StreamingDistributionConfig$Enabled": "Whether the streaming distribution is enabled to accept end user requests for content.", - "StreamingDistributionList$IsTruncated": "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.", - "StreamingDistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "StreamingLoggingConfig$Enabled": "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.", - "TrustedSigners$Enabled": "Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.", - "ViewerCertificate$CloudFrontDefaultCertificate": "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." - } - }, - "integer": { - "base": null, - "refs": { - "ActiveTrustedSigners$Quantity": "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.", - "Aliases$Quantity": "The number of CNAMEs, if any, for this distribution.", - "AllowedMethods$Quantity": "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).", - "CacheBehaviors$Quantity": "The number of cache behaviors for this distribution.", - "CachedMethods$Quantity": "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).", - "CloudFrontOriginAccessIdentityList$MaxItems": "The value you provided for the MaxItems request parameter.", - "CloudFrontOriginAccessIdentityList$Quantity": "The number of CloudFront origin access identities that were created by the current AWS account.", - "CookieNames$Quantity": "The number of whitelisted cookies for this cache behavior.", - "CustomErrorResponse$ErrorCode": "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.", - "CustomErrorResponses$Quantity": "The number of custom error responses for this distribution.", - "CustomOriginConfig$HTTPPort": "The HTTP port the custom origin listens on.", - "CustomOriginConfig$HTTPSPort": "The HTTPS port the custom origin listens on.", - "Distribution$InProgressInvalidationBatches": "The number of invalidation batches currently in progress.", - "DistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "DistributionList$Quantity": "The number of distributions that were created by the current AWS account.", - "GeoRestriction$Quantity": "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.", - "Headers$Quantity": "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.", - "InvalidationList$MaxItems": "The value you provided for the MaxItems request parameter.", - "InvalidationList$Quantity": "The number of invalidation batches that were created by the current AWS account.", - "KeyPairIds$Quantity": "The number of active CloudFront key pairs for AwsAccountNumber.", - "Origins$Quantity": "The number of origins for this distribution.", - "Paths$Quantity": "The number of objects that you want to invalidate.", - "StreamingDistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "StreamingDistributionList$Quantity": "The number of streaming distributions that were created by the current AWS account.", - "TrustedSigners$Quantity": "The number of trusted signers for this cache behavior." - } - }, - "long": { - "base": null, - "refs": { - "CacheBehavior$MinTTL": "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).", - "CacheBehavior$DefaultTTL": "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).", - "CacheBehavior$MaxTTL": "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).", - "CustomErrorResponse$ErrorCachingMinTTL": "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.", - "DefaultCacheBehavior$MinTTL": "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).", - "DefaultCacheBehavior$DefaultTTL": "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).", - "DefaultCacheBehavior$MaxTTL": "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)." - } - }, - "string": { - "base": null, - "refs": { - "AccessDenied$Message": null, - "AliasList$member": null, - "AwsAccountNumberList$member": null, - "BatchTooLarge$Message": null, - "CNAMEAlreadyExists$Message": null, - "CacheBehavior$PathPattern": "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.", - "CacheBehavior$TargetOriginId": "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.", - "CloudFrontOriginAccessIdentity$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, - "CloudFrontOriginAccessIdentityConfig$CallerReference": "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.", - "CloudFrontOriginAccessIdentityConfig$Comment": "Any comments you want to include about the origin access identity.", - "CloudFrontOriginAccessIdentityInUse$Message": null, - "CloudFrontOriginAccessIdentityList$Marker": "The value you provided for the Marker request parameter.", - "CloudFrontOriginAccessIdentityList$NextMarker": "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.", - "CloudFrontOriginAccessIdentitySummary$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentitySummary$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentitySummary$Comment": "The comment for this origin access identity, as originally specified when created.", - "CookieNameList$member": null, - "CreateCloudFrontOriginAccessIdentityResult$Location": "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.", - "CreateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity created.", - "CreateDistributionResult$Location": "The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "CreateDistributionResult$ETag": "The current version of the distribution created.", - "CreateInvalidationRequest$DistributionId": "The distribution's id.", - "CreateInvalidationResult$Location": "The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.", - "CreateStreamingDistributionResult$Location": "The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "CreateStreamingDistributionResult$ETag": "The current version of the streaming distribution created.", - "CustomErrorResponse$ResponsePagePath": "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.", - "CustomErrorResponse$ResponseCode": "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.", - "DefaultCacheBehavior$TargetOriginId": "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.", - "DeleteCloudFrontOriginAccessIdentityRequest$Id": "The origin access identity's id.", - "DeleteCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.", - "DeleteDistributionRequest$Id": "The distribution id.", - "DeleteDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "DeleteStreamingDistributionRequest$Id": "The distribution id.", - "DeleteStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.", - "Distribution$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "Distribution$Status": "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.", - "Distribution$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionAlreadyExists$Message": null, - "DistributionConfig$CallerReference": "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.", - "DistributionConfig$DefaultRootObject": "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.", - "DistributionConfig$Comment": "Any comments you want to include about the distribution.", - "DistributionConfig$WebACLId": "(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.", - "DistributionList$Marker": "The value you provided for the Marker request parameter.", - "DistributionList$NextMarker": "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.", - "DistributionNotDisabled$Message": null, - "DistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "DistributionSummary$Status": "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.", - "DistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "DistributionSummary$WebACLId": "The Web ACL Id (if any) associated with the distribution.", - "GetCloudFrontOriginAccessIdentityConfigRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.", - "GetDistributionConfigRequest$Id": "The distribution's id.", - "GetDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetDistributionRequest$Id": "The distribution's id.", - "GetDistributionResult$ETag": "The current version of the distribution's information. For example: E2QWRUHAPOMQZL.", - "GetInvalidationRequest$DistributionId": "The distribution's id.", - "GetInvalidationRequest$Id": "The invalidation's id.", - "GetStreamingDistributionConfigRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetStreamingDistributionRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionResult$ETag": "The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.", - "HeaderList$member": null, - "IllegalUpdate$Message": null, - "InconsistentQuantities$Message": null, - "InvalidArgument$Message": null, - "InvalidDefaultRootObject$Message": null, - "InvalidErrorCode$Message": null, - "InvalidForwardCookies$Message": null, - "InvalidGeoRestrictionParameter$Message": null, - "InvalidHeadersForS3Origin$Message": null, - "InvalidIfMatchVersion$Message": null, - "InvalidLocationCode$Message": null, - "InvalidMinimumProtocolVersion$Message": null, - "InvalidOrigin$Message": null, - "InvalidOriginAccessIdentity$Message": null, - "InvalidProtocolSettings$Message": null, - "InvalidRelativePath$Message": null, - "InvalidRequiredProtocol$Message": null, - "InvalidResponseCode$Message": null, - "InvalidTTLOrder$Message": null, - "InvalidViewerCertificate$Message": null, - "InvalidWebACLId$Message": null, - "Invalidation$Id": "The identifier for the invalidation request. For example: IDFDVBD632BHDS5.", - "Invalidation$Status": "The status of the invalidation request. When the invalidation batch is finished, the status is Completed.", - "InvalidationBatch$CallerReference": "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.", - "InvalidationList$Marker": "The value you provided for the Marker request parameter.", - "InvalidationList$NextMarker": "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.", - "InvalidationSummary$Id": "The unique ID for an invalidation request.", - "InvalidationSummary$Status": "The status of an invalidation request.", - "KeyPairIdList$member": null, - "ListCloudFrontOriginAccessIdentitiesRequest$Marker": "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).", - "ListCloudFrontOriginAccessIdentitiesRequest$MaxItems": "The maximum number of origin access identities you want in the response body.", - "ListDistributionsByWebACLIdRequest$Marker": "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.)", - "ListDistributionsByWebACLIdRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListDistributionsByWebACLIdRequest$WebACLId": "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.", - "ListDistributionsRequest$Marker": "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.)", - "ListDistributionsRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListInvalidationsRequest$DistributionId": "The distribution's id.", - "ListInvalidationsRequest$Marker": "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.", - "ListInvalidationsRequest$MaxItems": "The maximum number of invalidation batches you want in the response body.", - "ListStreamingDistributionsRequest$Marker": "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).", - "ListStreamingDistributionsRequest$MaxItems": "The maximum number of streaming distributions you want in the response body.", - "LocationList$member": null, - "LoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "LoggingConfig$Prefix": "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.", - "MissingBody$Message": null, - "NoSuchCloudFrontOriginAccessIdentity$Message": null, - "NoSuchDistribution$Message": null, - "NoSuchInvalidation$Message": null, - "NoSuchOrigin$Message": null, - "NoSuchStreamingDistribution$Message": null, - "Origin$Id": "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.", - "Origin$DomainName": "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.", - "Origin$OriginPath": "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.", - "PathList$member": null, - "PreconditionFailed$Message": null, - "S3Origin$DomainName": "The DNS name of the S3 origin.", - "S3Origin$OriginAccessIdentity": "Your S3 origin's origin access identity.", - "S3OriginConfig$OriginAccessIdentity": "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.", - "Signer$AwsAccountNumber": "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.", - "StreamingDistribution$Id": "The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.", - "StreamingDistribution$Status": "The current status of the streaming distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistribution$DomainName": "The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.", - "StreamingDistributionAlreadyExists$Message": null, - "StreamingDistributionConfig$CallerReference": "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.", - "StreamingDistributionConfig$Comment": "Any comments you want to include about the streaming distribution.", - "StreamingDistributionList$Marker": "The value you provided for the Marker request parameter.", - "StreamingDistributionList$NextMarker": "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.", - "StreamingDistributionNotDisabled$Message": null, - "StreamingDistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "StreamingDistributionSummary$Status": "Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "StreamingDistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "StreamingLoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "StreamingLoggingConfig$Prefix": "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.", - "TooManyCacheBehaviors$Message": null, - "TooManyCertificates$Message": null, - "TooManyCloudFrontOriginAccessIdentities$Message": null, - "TooManyCookieNamesInWhiteList$Message": null, - "TooManyDistributionCNAMEs$Message": null, - "TooManyDistributions$Message": null, - "TooManyHeadersInForwardedValues$Message": null, - "TooManyInvalidationsInProgress$Message": null, - "TooManyOrigins$Message": null, - "TooManyStreamingDistributionCNAMEs$Message": null, - "TooManyStreamingDistributions$Message": null, - "TooManyTrustedSigners$Message": null, - "TrustedSignerDoesNotExist$Message": null, - "UpdateCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "UpdateCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionRequest$Id": "The distribution's id.", - "UpdateDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionRequest$Id": "The streaming distribution's id.", - "UpdateStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "ViewerCertificate$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), set to the IAM certificate identifier of the custom viewer certificate for this distribution.", - "ViewerCertificate$IAMCertificateId": "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." - } - }, - "timestamp": { - "base": null, - "refs": { - "Distribution$LastModifiedTime": "The date and time the distribution was last modified.", - "DistributionSummary$LastModifiedTime": "The date and time the distribution was last modified.", - "Invalidation$CreateTime": "The date and time the invalidation request was first made.", - "InvalidationSummary$CreateTime": null, - "StreamingDistribution$LastModifiedTime": "The date and time the distribution was last modified.", - "StreamingDistributionSummary$LastModifiedTime": "The date and time the distribution was last modified." - } - } - } -} diff --git a/models/apis/cloudfront/2015-09-17/paginators-1.json b/models/apis/cloudfront/2015-09-17/paginators-1.json deleted file mode 100644 index 51fbb907fa3..00000000000 --- a/models/apis/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/models/apis/cloudfront/2015-09-17/waiters-2.json b/models/apis/cloudfront/2015-09-17/waiters-2.json deleted file mode 100644 index f6d3ba7bc05..00000000000 --- a/models/apis/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": "Status" - } - ] - }, - "InvalidationCompleted": { - "delay": 20, - "operation": "GetInvalidation", - "maxAttempts": 30, - "description": "Wait until an invalidation has completed.", - "acceptors": [ - { - "expected": "Completed", - "matcher": "path", - "state": "success", - "argument": "Status" - } - ] - }, - "StreamingDistributionDeployed": { - "delay": 60, - "operation": "GetStreamingDistribution", - "maxAttempts": 25, - "description": "Wait until a streaming distribution is deployed.", - "acceptors": [ - { - "expected": "Deployed", - "matcher": "path", - "state": "success", - "argument": "Status" - } - ] - } - } -} diff --git a/models/apis/cloudfront/2016-01-13/api-2.json b/models/apis/cloudfront/2016-01-13/api-2.json deleted file mode 100644 index 8fbe7298bd8..00000000000 --- a/models/apis/cloudfront/2016-01-13/api-2.json +++ /dev/null @@ -1,2216 +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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListDistributions":{ - "name":"ListDistributions2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"SignerList"} - } - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AliasList"} - } - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"}, - "CachedMethods":{"shape":"CachedMethods"} - } - }, - "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"}, - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CacheBehaviorList"} - } - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"} - } - }, - "CertificateSource":{ - "type":"string", - "enum":[ - "cloudfront", - "iam" - ] - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"} - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CloudFrontOriginAccessIdentitySummaryList"} - } - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"CookieNameList"} - } - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{"shape":"ItemSelection"}, - "WhitelistedNames":{"shape":"CookieNames"} - } - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - } - }, - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - } - }, - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - } - }, - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"integer"}, - "ResponsePagePath":{"shape":"string"}, - "ResponseCode":{"shape":"string"}, - "ErrorCachingMinTTL":{"shape":"long"} - } - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CustomErrorResponseList"} - } - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginCustomHeadersList"} - } - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{"shape":"integer"}, - "HTTPSPort":{"shape":"integer"}, - "OriginProtocolPolicy":{"shape":"OriginProtocolPolicy"}, - "OriginSslProtocols":{"shape":"OriginSslProtocols"} - } - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "InProgressInvalidationBatches":{"shape":"integer"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "DistributionConfig":{"shape":"DistributionConfig"} - } - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "DefaultRootObject":{"shape":"string"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"LoggingConfig"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"} - } - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"DistributionSummaryList"} - } - }, - "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"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"} - } - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{"shape":"boolean"}, - "Cookies":{"shape":"CookiePreference"}, - "Headers":{"shape":"Headers"} - } - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{"shape":"GeoRestrictionType"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"LocationList"} - } - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"HeaderList"} - } - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"}, - "Status":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "InvalidationBatch":{"shape":"InvalidationBatch"} - } - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{"shape":"Paths"}, - "CallerReference":{"shape":"string"} - } - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"InvalidationSummaryList"} - } - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "Status":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"KeyPairIdList"} - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{"shape":"CloudFrontOriginAccessIdentityList"} - }, - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "location":"uri", - "locationName":"WebACLId" - } - } - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{"shape":"InvalidationList"} - }, - "payload":"InvalidationList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{"shape":"StreamingDistributionList"} - }, - "payload":"StreamingDistributionList" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "IncludeCookies":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "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 - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{"shape":"string"}, - "DomainName":{"shape":"string"}, - "OriginPath":{"shape":"string"}, - "CustomHeaders":{"shape":"CustomHeaders"}, - "S3OriginConfig":{"shape":"S3OriginConfig"}, - "CustomOriginConfig":{"shape":"CustomOriginConfig"} - } - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{"shape":"string"}, - "HeaderValue":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"SslProtocolsList"} - } - }, - "Origins":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginList"} - } - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"PathList"} - } - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "Restrictions":{ - "type":"structure", - "required":["GeoRestriction"], - "members":{ - "GeoRestriction":{"shape":"GeoRestriction"} - } - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{"shape":"string"}, - "OriginAccessIdentity":{"shape":"string"} - } - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{"shape":"string"} - } - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{"shape":"string"}, - "KeyPairIds":{"shape":"KeyPairIds"} - } - }, - "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"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"} - } - }, - "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"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"StreamingLoggingConfig"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"StreamingDistributionSummaryList"} - } - }, - "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"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AwsAccountNumberList"} - } - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "Certificate":{"shape":"string"}, - "CertificateSource":{"shape":"CertificateSource"}, - "SSLSupportMethod":{"shape":"SSLSupportMethod"}, - "MinimumProtocolVersion":{"shape":"MinimumProtocolVersion"}, - "IAMCertificateId":{ - "shape":"string", - "deprecated":true - }, - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "deprecated":true - } - } - }, - "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/models/apis/cloudfront/2016-01-13/docs-2.json b/models/apis/cloudfront/2016-01-13/docs-2.json deleted file mode 100644 index a9e293427b9..00000000000 --- a/models/apis/cloudfront/2016-01-13/docs-2.json +++ /dev/null @@ -1,1219 +0,0 @@ -{ - "version": "2.0", - "service": null, - "operations": { - "CreateCloudFrontOriginAccessIdentity": "Create a new origin access identity.", - "CreateDistribution": "Create a new distribution.", - "CreateInvalidation": "Create a new invalidation.", - "CreateStreamingDistribution": "Create a new streaming distribution.", - "DeleteCloudFrontOriginAccessIdentity": "Delete an origin access identity.", - "DeleteDistribution": "Delete a distribution.", - "DeleteStreamingDistribution": "Delete a streaming distribution.", - "GetCloudFrontOriginAccessIdentity": "Get the information about an origin access identity.", - "GetCloudFrontOriginAccessIdentityConfig": "Get the configuration information about an origin access identity.", - "GetDistribution": "Get the information about a distribution.", - "GetDistributionConfig": "Get the configuration information about a distribution.", - "GetInvalidation": "Get the information about an invalidation.", - "GetStreamingDistribution": "Get the information about a streaming distribution.", - "GetStreamingDistributionConfig": "Get the configuration information about a streaming distribution.", - "ListCloudFrontOriginAccessIdentities": "List origin access identities.", - "ListDistributions": "List distributions.", - "ListDistributionsByWebACLId": "List the distributions that are associated with a specified AWS WAF web ACL.", - "ListInvalidations": "List invalidation batches.", - "ListStreamingDistributions": "List streaming distributions.", - "UpdateCloudFrontOriginAccessIdentity": "Update an origin access identity.", - "UpdateDistribution": "Update a distribution.", - "UpdateStreamingDistribution": "Update a streaming distribution." - }, - "shapes": { - "AccessDenied": { - "base": "Access denied.", - "refs": { - } - }, - "ActiveTrustedSigners": { - "base": "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.", - "refs": { - "Distribution$ActiveTrustedSigners": "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.", - "StreamingDistribution$ActiveTrustedSigners": "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." - } - }, - "AliasList": { - "base": null, - "refs": { - "Aliases$Items": "Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "Aliases": { - "base": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "refs": { - "DistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "DistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "StreamingDistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.", - "StreamingDistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution." - } - }, - "AllowedMethods": { - "base": "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.", - "refs": { - "CacheBehavior$AllowedMethods": null, - "DefaultCacheBehavior$AllowedMethods": null - } - }, - "AwsAccountNumberList": { - "base": null, - "refs": { - "TrustedSigners$Items": "Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "BatchTooLarge": { - "base": null, - "refs": { - } - }, - "CNAMEAlreadyExists": { - "base": null, - "refs": { - } - }, - "CacheBehavior": { - "base": "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.", - "refs": { - "CacheBehaviorList$member": null - } - }, - "CacheBehaviorList": { - "base": null, - "refs": { - "CacheBehaviors$Items": "Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CacheBehaviors": { - "base": "A complex type that contains zero or more CacheBehavior elements.", - "refs": { - "DistributionConfig$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements.", - "DistributionSummary$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements." - } - }, - "CachedMethods": { - "base": "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.", - "refs": { - "AllowedMethods$CachedMethods": null - } - }, - "CertificateSource": { - "base": null, - "refs": { - "ViewerCertificate$CertificateSource": "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." - } - }, - "CloudFrontOriginAccessIdentity": { - "base": "CloudFront origin access identity.", - "refs": { - "CreateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "GetCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "UpdateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information." - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists": { - "base": "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.", - "refs": { - } - }, - "CloudFrontOriginAccessIdentityConfig": { - "base": "Origin access identity configuration.", - "refs": { - "CloudFrontOriginAccessIdentity$CloudFrontOriginAccessIdentityConfig": "The current configuration information for the identity.", - "CreateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "GetCloudFrontOriginAccessIdentityConfigResult$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "UpdateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The identity's configuration information." - } - }, - "CloudFrontOriginAccessIdentityInUse": { - "base": null, - "refs": { - } - }, - "CloudFrontOriginAccessIdentityList": { - "base": "The CloudFrontOriginAccessIdentityList type.", - "refs": { - "ListCloudFrontOriginAccessIdentitiesResult$CloudFrontOriginAccessIdentityList": "The CloudFrontOriginAccessIdentityList type." - } - }, - "CloudFrontOriginAccessIdentitySummary": { - "base": "Summary of the information about a CloudFront origin access identity.", - "refs": { - "CloudFrontOriginAccessIdentitySummaryList$member": null - } - }, - "CloudFrontOriginAccessIdentitySummaryList": { - "base": null, - "refs": { - "CloudFrontOriginAccessIdentityList$Items": "A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account." - } - }, - "CookieNameList": { - "base": null, - "refs": { - "CookieNames$Items": "Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "CookieNames": { - "base": "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.", - "refs": { - "CookiePreference$WhitelistedNames": "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": { - "base": "A complex type that specifies the cookie preferences associated with this cache behavior.", - "refs": { - "ForwardedValues$Cookies": "A complex type that specifies how CloudFront handles cookies." - } - }, - "CreateCloudFrontOriginAccessIdentityRequest": { - "base": "The request to create a new origin access identity.", - "refs": { - } - }, - "CreateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateDistributionRequest": { - "base": "The request to create a new distribution.", - "refs": { - } - }, - "CreateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateInvalidationRequest": { - "base": "The request to create an invalidation.", - "refs": { - } - }, - "CreateInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateStreamingDistributionRequest": { - "base": "The request to create a new streaming distribution.", - "refs": { - } - }, - "CreateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CustomErrorResponse": { - "base": "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.", - "refs": { - "CustomErrorResponseList$member": null - } - }, - "CustomErrorResponseList": { - "base": null, - "refs": { - "CustomErrorResponses$Items": "Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CustomErrorResponses": { - "base": "A complex type that contains zero or more CustomErrorResponse elements.", - "refs": { - "DistributionConfig$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponse elements.", - "DistributionSummary$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponses elements." - } - }, - "CustomHeaders": { - "base": "A complex type that contains the list of Custom Headers for each origin.", - "refs": { - "Origin$CustomHeaders": "A complex type that contains information about the custom headers associated with this Origin." - } - }, - "CustomOriginConfig": { - "base": "A customer origin.", - "refs": { - "Origin$CustomOriginConfig": "A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead." - } - }, - "DefaultCacheBehavior": { - "base": "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.", - "refs": { - "DistributionConfig$DefaultCacheBehavior": "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.", - "DistributionSummary$DefaultCacheBehavior": "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": { - "base": "The request to delete a origin access identity.", - "refs": { - } - }, - "DeleteDistributionRequest": { - "base": "The request to delete a distribution.", - "refs": { - } - }, - "DeleteStreamingDistributionRequest": { - "base": "The request to delete a streaming distribution.", - "refs": { - } - }, - "Distribution": { - "base": "A distribution.", - "refs": { - "CreateDistributionResult$Distribution": "The distribution's information.", - "GetDistributionResult$Distribution": "The distribution's information.", - "UpdateDistributionResult$Distribution": "The distribution's information." - } - }, - "DistributionAlreadyExists": { - "base": "The caller reference you attempted to create the distribution with is associated with another distribution.", - "refs": { - } - }, - "DistributionConfig": { - "base": "A distribution Configuration.", - "refs": { - "CreateDistributionRequest$DistributionConfig": "The distribution's configuration information.", - "Distribution$DistributionConfig": "The current configuration information for the distribution.", - "GetDistributionConfigResult$DistributionConfig": "The distribution's configuration information.", - "UpdateDistributionRequest$DistributionConfig": "The distribution's configuration information." - } - }, - "DistributionList": { - "base": "A distribution list.", - "refs": { - "ListDistributionsByWebACLIdResult$DistributionList": "The DistributionList type.", - "ListDistributionsResult$DistributionList": "The DistributionList type." - } - }, - "DistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "DistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront distribution.", - "refs": { - "DistributionSummaryList$member": null - } - }, - "DistributionSummaryList": { - "base": null, - "refs": { - "DistributionList$Items": "A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "ForwardedValues": { - "base": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "refs": { - "CacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "DefaultCacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers." - } - }, - "GeoRestriction": { - "base": "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.", - "refs": { - "Restrictions$GeoRestriction": null - } - }, - "GeoRestrictionType": { - "base": null, - "refs": { - "GeoRestriction$RestrictionType": "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." - } - }, - "GetCloudFrontOriginAccessIdentityConfigRequest": { - "base": "The request to get an origin access identity's configuration.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityRequest": { - "base": "The request to get an origin access identity's information.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionConfigRequest": { - "base": "The request to get a distribution configuration.", - "refs": { - } - }, - "GetDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionRequest": { - "base": "The request to get a distribution's information.", - "refs": { - } - }, - "GetDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetInvalidationRequest": { - "base": "The request to get an invalidation's information.", - "refs": { - } - }, - "GetInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionConfigRequest": { - "base": "To request to get a streaming distribution configuration.", - "refs": { - } - }, - "GetStreamingDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionRequest": { - "base": "The request to get a streaming distribution's information.", - "refs": { - } - }, - "GetStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "HeaderList": { - "base": null, - "refs": { - "Headers$Items": "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." - } - }, - "Headers": { - "base": "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.", - "refs": { - "ForwardedValues$Headers": "A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "IllegalUpdate": { - "base": "Origin and CallerReference cannot be updated.", - "refs": { - } - }, - "InconsistentQuantities": { - "base": "The value of Quantity and the size of Items do not match.", - "refs": { - } - }, - "InvalidArgument": { - "base": "The argument is invalid.", - "refs": { - } - }, - "InvalidDefaultRootObject": { - "base": "The default root object file name is too big or contains an invalid character.", - "refs": { - } - }, - "InvalidErrorCode": { - "base": null, - "refs": { - } - }, - "InvalidForwardCookies": { - "base": "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.", - "refs": { - } - }, - "InvalidGeoRestrictionParameter": { - "base": null, - "refs": { - } - }, - "InvalidHeadersForS3Origin": { - "base": null, - "refs": { - } - }, - "InvalidIfMatchVersion": { - "base": "The If-Match version is missing or not valid for the distribution.", - "refs": { - } - }, - "InvalidLocationCode": { - "base": null, - "refs": { - } - }, - "InvalidMinimumProtocolVersion": { - "base": null, - "refs": { - } - }, - "InvalidOrigin": { - "base": "The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "refs": { - } - }, - "InvalidOriginAccessIdentity": { - "base": "The origin access identity is not valid or doesn't exist.", - "refs": { - } - }, - "InvalidProtocolSettings": { - "base": "You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "refs": { - } - }, - "InvalidRelativePath": { - "base": "The relative path is too big, is not URL-encoded, or does not begin with a slash (/).", - "refs": { - } - }, - "InvalidRequiredProtocol": { - "base": "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.", - "refs": { - } - }, - "InvalidResponseCode": { - "base": null, - "refs": { - } - }, - "InvalidTTLOrder": { - "base": null, - "refs": { - } - }, - "InvalidViewerCertificate": { - "base": null, - "refs": { - } - }, - "InvalidWebACLId": { - "base": null, - "refs": { - } - }, - "Invalidation": { - "base": "An invalidation.", - "refs": { - "CreateInvalidationResult$Invalidation": "The invalidation's information.", - "GetInvalidationResult$Invalidation": "The invalidation's information." - } - }, - "InvalidationBatch": { - "base": "An invalidation batch.", - "refs": { - "CreateInvalidationRequest$InvalidationBatch": "The batch information for the invalidation.", - "Invalidation$InvalidationBatch": "The current invalidation information for the batch request." - } - }, - "InvalidationList": { - "base": "An invalidation list.", - "refs": { - "ListInvalidationsResult$InvalidationList": "Information about invalidation batches." - } - }, - "InvalidationSummary": { - "base": "Summary of an invalidation request.", - "refs": { - "InvalidationSummaryList$member": null - } - }, - "InvalidationSummaryList": { - "base": null, - "refs": { - "InvalidationList$Items": "A complex type that contains one InvalidationSummary element for each invalidation batch that was created by the current AWS account." - } - }, - "ItemSelection": { - "base": null, - "refs": { - "CookiePreference$Forward": "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." - } - }, - "KeyPairIdList": { - "base": null, - "refs": { - "KeyPairIds$Items": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "KeyPairIds": { - "base": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.", - "refs": { - "Signer$KeyPairIds": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest": { - "base": "The request to list origin access identities.", - "refs": { - } - }, - "ListCloudFrontOriginAccessIdentitiesResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListDistributionsByWebACLIdRequest": { - "base": "The request to list distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsByWebACLIdResult": { - "base": "The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsRequest": { - "base": "The request to list your distributions.", - "refs": { - } - }, - "ListDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListInvalidationsRequest": { - "base": "The request to list invalidations.", - "refs": { - } - }, - "ListInvalidationsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListStreamingDistributionsRequest": { - "base": "The request to list your streaming distributions.", - "refs": { - } - }, - "ListStreamingDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "LocationList": { - "base": null, - "refs": { - "GeoRestriction$Items": "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." - } - }, - "LoggingConfig": { - "base": "A complex type that controls whether access logs are written for the distribution.", - "refs": { - "DistributionConfig$Logging": "A complex type that controls whether access logs are written for the distribution." - } - }, - "Method": { - "base": null, - "refs": { - "MethodsList$member": null - } - }, - "MethodsList": { - "base": null, - "refs": { - "AllowedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.", - "CachedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to cache responses to." - } - }, - "MinimumProtocolVersion": { - "base": null, - "refs": { - "ViewerCertificate$MinimumProtocolVersion": "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." - } - }, - "MissingBody": { - "base": "This operation requires a body. Ensure that the body is present and the Content-Type header is set.", - "refs": { - } - }, - "NoSuchCloudFrontOriginAccessIdentity": { - "base": "The specified origin access identity does not exist.", - "refs": { - } - }, - "NoSuchDistribution": { - "base": "The specified distribution does not exist.", - "refs": { - } - }, - "NoSuchInvalidation": { - "base": "The specified invalidation does not exist.", - "refs": { - } - }, - "NoSuchOrigin": { - "base": "No origin exists with the specified Origin Id.", - "refs": { - } - }, - "NoSuchStreamingDistribution": { - "base": "The specified streaming distribution does not exist.", - "refs": { - } - }, - "Origin": { - "base": "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.", - "refs": { - "OriginList$member": null - } - }, - "OriginCustomHeader": { - "base": "A complex type that contains information related to a Header", - "refs": { - "OriginCustomHeadersList$member": null - } - }, - "OriginCustomHeadersList": { - "base": null, - "refs": { - "CustomHeaders$Items": "A complex type that contains the custom headers for this Origin." - } - }, - "OriginList": { - "base": null, - "refs": { - "Origins$Items": "A complex type that contains origins for this distribution." - } - }, - "OriginProtocolPolicy": { - "base": null, - "refs": { - "CustomOriginConfig$OriginProtocolPolicy": "The origin protocol policy to apply to your origin." - } - }, - "OriginSslProtocols": { - "base": "A complex type that contains the list of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.", - "refs": { - "CustomOriginConfig$OriginSslProtocols": "The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - } - }, - "Origins": { - "base": "A complex type that contains information about origins for this distribution.", - "refs": { - "DistributionConfig$Origins": "A complex type that contains information about origins for this distribution.", - "DistributionSummary$Origins": "A complex type that contains information about origins for this distribution." - } - }, - "PathList": { - "base": null, - "refs": { - "Paths$Items": "A complex type that contains a list of the objects that you want to invalidate." - } - }, - "Paths": { - "base": "A complex type that contains information about the objects that you want to invalidate.", - "refs": { - "InvalidationBatch$Paths": "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." - } - }, - "PreconditionFailed": { - "base": "The precondition given in one or more of the request-header fields evaluated to false.", - "refs": { - } - }, - "PriceClass": { - "base": null, - "refs": { - "DistributionConfig$PriceClass": "A complex type that contains information about price class for this distribution.", - "DistributionSummary$PriceClass": null, - "StreamingDistributionConfig$PriceClass": "A complex type that contains information about price class for this streaming distribution.", - "StreamingDistributionSummary$PriceClass": null - } - }, - "Restrictions": { - "base": "A complex type that identifies ways in which you want to restrict distribution of your content.", - "refs": { - "DistributionConfig$Restrictions": null, - "DistributionSummary$Restrictions": null - } - }, - "S3Origin": { - "base": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "refs": { - "StreamingDistributionConfig$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "StreamingDistributionSummary$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution." - } - }, - "S3OriginConfig": { - "base": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.", - "refs": { - "Origin$S3OriginConfig": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead." - } - }, - "SSLSupportMethod": { - "base": null, - "refs": { - "ViewerCertificate$SSLSupportMethod": "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." - } - }, - "Signer": { - "base": "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.", - "refs": { - "SignerList$member": null - } - }, - "SignerList": { - "base": null, - "refs": { - "ActiveTrustedSigners$Items": "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." - } - }, - "SslProtocol": { - "base": null, - "refs": { - "SslProtocolsList$member": null - } - }, - "SslProtocolsList": { - "base": null, - "refs": { - "OriginSslProtocols$Items": "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." - } - }, - "StreamingDistribution": { - "base": "A streaming distribution.", - "refs": { - "CreateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "GetStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "UpdateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information." - } - }, - "StreamingDistributionAlreadyExists": { - "base": null, - "refs": { - } - }, - "StreamingDistributionConfig": { - "base": "The configuration for the streaming distribution.", - "refs": { - "CreateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "GetStreamingDistributionConfigResult$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "StreamingDistribution$StreamingDistributionConfig": "The current configuration information for the streaming distribution.", - "UpdateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information." - } - }, - "StreamingDistributionList": { - "base": "A streaming distribution list.", - "refs": { - "ListStreamingDistributionsResult$StreamingDistributionList": "The StreamingDistributionList type." - } - }, - "StreamingDistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "StreamingDistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront streaming distribution.", - "refs": { - "StreamingDistributionSummaryList$member": null - } - }, - "StreamingDistributionSummaryList": { - "base": null, - "refs": { - "StreamingDistributionList$Items": "A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "StreamingLoggingConfig": { - "base": "A complex type that controls whether access logs are written for this streaming distribution.", - "refs": { - "StreamingDistributionConfig$Logging": "A complex type that controls whether access logs are written for the streaming distribution." - } - }, - "TooManyCacheBehaviors": { - "base": "You cannot create anymore cache behaviors for the distribution.", - "refs": { - } - }, - "TooManyCertificates": { - "base": "You cannot create anymore custom ssl certificates.", - "refs": { - } - }, - "TooManyCloudFrontOriginAccessIdentities": { - "base": "Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "refs": { - } - }, - "TooManyCookieNamesInWhiteList": { - "base": "Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "refs": { - } - }, - "TooManyDistributionCNAMEs": { - "base": "Your request contains more CNAMEs than are allowed per distribution.", - "refs": { - } - }, - "TooManyDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of distributions allowed.", - "refs": { - } - }, - "TooManyHeadersInForwardedValues": { - "base": null, - "refs": { - } - }, - "TooManyInvalidationsInProgress": { - "base": "You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "refs": { - } - }, - "TooManyOriginCustomHeaders": { - "base": null, - "refs": { - } - }, - "TooManyOrigins": { - "base": "You cannot create anymore origins for the distribution.", - "refs": { - } - }, - "TooManyStreamingDistributionCNAMEs": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of streaming distributions allowed.", - "refs": { - } - }, - "TooManyTrustedSigners": { - "base": "Your request contains more trusted signers than are allowed per distribution.", - "refs": { - } - }, - "TrustedSignerDoesNotExist": { - "base": "One or more of your trusted signers do not exist.", - "refs": { - } - }, - "TrustedSigners": { - "base": "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.", - "refs": { - "CacheBehavior$TrustedSigners": "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.", - "DefaultCacheBehavior$TrustedSigners": "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.", - "StreamingDistributionConfig$TrustedSigners": "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.", - "StreamingDistributionSummary$TrustedSigners": "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": { - "base": "The request to update an origin access identity.", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateDistributionRequest": { - "base": "The request to update a distribution.", - "refs": { - } - }, - "UpdateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateStreamingDistributionRequest": { - "base": "The request to update a streaming distribution.", - "refs": { - } - }, - "UpdateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ViewerCertificate": { - "base": "A complex type that contains information about viewer certificates for this distribution.", - "refs": { - "DistributionConfig$ViewerCertificate": null, - "DistributionSummary$ViewerCertificate": null - } - }, - "ViewerProtocolPolicy": { - "base": null, - "refs": { - "CacheBehavior$ViewerProtocolPolicy": "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.", - "DefaultCacheBehavior$ViewerProtocolPolicy": "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." - } - }, - "boolean": { - "base": null, - "refs": { - "ActiveTrustedSigners$Enabled": "Each active trusted signer.", - "CacheBehavior$SmoothStreaming": "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.", - "CacheBehavior$Compress": "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.", - "CloudFrontOriginAccessIdentityList$IsTruncated": "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.", - "DefaultCacheBehavior$SmoothStreaming": "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.", - "DefaultCacheBehavior$Compress": "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.", - "DistributionConfig$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "DistributionList$IsTruncated": "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.", - "DistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "ForwardedValues$QueryString": "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.", - "InvalidationList$IsTruncated": "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.", - "LoggingConfig$Enabled": "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.", - "LoggingConfig$IncludeCookies": "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.", - "StreamingDistributionConfig$Enabled": "Whether the streaming distribution is enabled to accept end user requests for content.", - "StreamingDistributionList$IsTruncated": "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.", - "StreamingDistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "StreamingLoggingConfig$Enabled": "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.", - "TrustedSigners$Enabled": "Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.", - "ViewerCertificate$CloudFrontDefaultCertificate": "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." - } - }, - "integer": { - "base": null, - "refs": { - "ActiveTrustedSigners$Quantity": "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.", - "Aliases$Quantity": "The number of CNAMEs, if any, for this distribution.", - "AllowedMethods$Quantity": "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).", - "CacheBehaviors$Quantity": "The number of cache behaviors for this distribution.", - "CachedMethods$Quantity": "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).", - "CloudFrontOriginAccessIdentityList$MaxItems": "The value you provided for the MaxItems request parameter.", - "CloudFrontOriginAccessIdentityList$Quantity": "The number of CloudFront origin access identities that were created by the current AWS account.", - "CookieNames$Quantity": "The number of whitelisted cookies for this cache behavior.", - "CustomErrorResponse$ErrorCode": "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.", - "CustomErrorResponses$Quantity": "The number of custom error responses for this distribution.", - "CustomHeaders$Quantity": "The number of custom headers for this origin.", - "CustomOriginConfig$HTTPPort": "The HTTP port the custom origin listens on.", - "CustomOriginConfig$HTTPSPort": "The HTTPS port the custom origin listens on.", - "Distribution$InProgressInvalidationBatches": "The number of invalidation batches currently in progress.", - "DistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "DistributionList$Quantity": "The number of distributions that were created by the current AWS account.", - "GeoRestriction$Quantity": "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.", - "Headers$Quantity": "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.", - "InvalidationList$MaxItems": "The value you provided for the MaxItems request parameter.", - "InvalidationList$Quantity": "The number of invalidation batches that were created by the current AWS account.", - "KeyPairIds$Quantity": "The number of active CloudFront key pairs for AwsAccountNumber.", - "OriginSslProtocols$Quantity": "The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS connection with this origin.", - "Origins$Quantity": "The number of origins for this distribution.", - "Paths$Quantity": "The number of objects that you want to invalidate.", - "StreamingDistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "StreamingDistributionList$Quantity": "The number of streaming distributions that were created by the current AWS account.", - "TrustedSigners$Quantity": "The number of trusted signers for this cache behavior." - } - }, - "long": { - "base": null, - "refs": { - "CacheBehavior$MinTTL": "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).", - "CacheBehavior$DefaultTTL": "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).", - "CacheBehavior$MaxTTL": "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).", - "CustomErrorResponse$ErrorCachingMinTTL": "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.", - "DefaultCacheBehavior$MinTTL": "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).", - "DefaultCacheBehavior$DefaultTTL": "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).", - "DefaultCacheBehavior$MaxTTL": "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)." - } - }, - "string": { - "base": null, - "refs": { - "AccessDenied$Message": null, - "AliasList$member": null, - "AwsAccountNumberList$member": null, - "BatchTooLarge$Message": null, - "CNAMEAlreadyExists$Message": null, - "CacheBehavior$PathPattern": "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.", - "CacheBehavior$TargetOriginId": "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.", - "CloudFrontOriginAccessIdentity$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, - "CloudFrontOriginAccessIdentityConfig$CallerReference": "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.", - "CloudFrontOriginAccessIdentityConfig$Comment": "Any comments you want to include about the origin access identity.", - "CloudFrontOriginAccessIdentityInUse$Message": null, - "CloudFrontOriginAccessIdentityList$Marker": "The value you provided for the Marker request parameter.", - "CloudFrontOriginAccessIdentityList$NextMarker": "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.", - "CloudFrontOriginAccessIdentitySummary$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentitySummary$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentitySummary$Comment": "The comment for this origin access identity, as originally specified when created.", - "CookieNameList$member": null, - "CreateCloudFrontOriginAccessIdentityResult$Location": "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.", - "CreateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity created.", - "CreateDistributionResult$Location": "The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "CreateDistributionResult$ETag": "The current version of the distribution created.", - "CreateInvalidationRequest$DistributionId": "The distribution's id.", - "CreateInvalidationResult$Location": "The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.", - "CreateStreamingDistributionResult$Location": "The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "CreateStreamingDistributionResult$ETag": "The current version of the streaming distribution created.", - "CustomErrorResponse$ResponsePagePath": "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.", - "CustomErrorResponse$ResponseCode": "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.", - "DefaultCacheBehavior$TargetOriginId": "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.", - "DeleteCloudFrontOriginAccessIdentityRequest$Id": "The origin access identity's id.", - "DeleteCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.", - "DeleteDistributionRequest$Id": "The distribution id.", - "DeleteDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "DeleteStreamingDistributionRequest$Id": "The distribution id.", - "DeleteStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.", - "Distribution$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "Distribution$Status": "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.", - "Distribution$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionAlreadyExists$Message": null, - "DistributionConfig$CallerReference": "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.", - "DistributionConfig$DefaultRootObject": "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.", - "DistributionConfig$Comment": "Any comments you want to include about the distribution.", - "DistributionConfig$WebACLId": "(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.", - "DistributionList$Marker": "The value you provided for the Marker request parameter.", - "DistributionList$NextMarker": "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.", - "DistributionNotDisabled$Message": null, - "DistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "DistributionSummary$Status": "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.", - "DistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "DistributionSummary$WebACLId": "The Web ACL Id (if any) associated with the distribution.", - "GetCloudFrontOriginAccessIdentityConfigRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.", - "GetDistributionConfigRequest$Id": "The distribution's id.", - "GetDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetDistributionRequest$Id": "The distribution's id.", - "GetDistributionResult$ETag": "The current version of the distribution's information. For example: E2QWRUHAPOMQZL.", - "GetInvalidationRequest$DistributionId": "The distribution's id.", - "GetInvalidationRequest$Id": "The invalidation's id.", - "GetStreamingDistributionConfigRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetStreamingDistributionRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionResult$ETag": "The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.", - "HeaderList$member": null, - "IllegalUpdate$Message": null, - "InconsistentQuantities$Message": null, - "InvalidArgument$Message": null, - "InvalidDefaultRootObject$Message": null, - "InvalidErrorCode$Message": null, - "InvalidForwardCookies$Message": null, - "InvalidGeoRestrictionParameter$Message": null, - "InvalidHeadersForS3Origin$Message": null, - "InvalidIfMatchVersion$Message": null, - "InvalidLocationCode$Message": null, - "InvalidMinimumProtocolVersion$Message": null, - "InvalidOrigin$Message": null, - "InvalidOriginAccessIdentity$Message": null, - "InvalidProtocolSettings$Message": null, - "InvalidRelativePath$Message": null, - "InvalidRequiredProtocol$Message": null, - "InvalidResponseCode$Message": null, - "InvalidTTLOrder$Message": null, - "InvalidViewerCertificate$Message": null, - "InvalidWebACLId$Message": null, - "Invalidation$Id": "The identifier for the invalidation request. For example: IDFDVBD632BHDS5.", - "Invalidation$Status": "The status of the invalidation request. When the invalidation batch is finished, the status is Completed.", - "InvalidationBatch$CallerReference": "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.", - "InvalidationList$Marker": "The value you provided for the Marker request parameter.", - "InvalidationList$NextMarker": "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.", - "InvalidationSummary$Id": "The unique ID for an invalidation request.", - "InvalidationSummary$Status": "The status of an invalidation request.", - "KeyPairIdList$member": null, - "ListCloudFrontOriginAccessIdentitiesRequest$Marker": "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).", - "ListCloudFrontOriginAccessIdentitiesRequest$MaxItems": "The maximum number of origin access identities you want in the response body.", - "ListDistributionsByWebACLIdRequest$Marker": "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.)", - "ListDistributionsByWebACLIdRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListDistributionsByWebACLIdRequest$WebACLId": "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.", - "ListDistributionsRequest$Marker": "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.)", - "ListDistributionsRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListInvalidationsRequest$DistributionId": "The distribution's id.", - "ListInvalidationsRequest$Marker": "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.", - "ListInvalidationsRequest$MaxItems": "The maximum number of invalidation batches you want in the response body.", - "ListStreamingDistributionsRequest$Marker": "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).", - "ListStreamingDistributionsRequest$MaxItems": "The maximum number of streaming distributions you want in the response body.", - "LocationList$member": null, - "LoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "LoggingConfig$Prefix": "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.", - "MissingBody$Message": null, - "NoSuchCloudFrontOriginAccessIdentity$Message": null, - "NoSuchDistribution$Message": null, - "NoSuchInvalidation$Message": null, - "NoSuchOrigin$Message": null, - "NoSuchStreamingDistribution$Message": null, - "Origin$Id": "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.", - "Origin$DomainName": "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.", - "Origin$OriginPath": "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.", - "OriginCustomHeader$HeaderName": "The header's name.", - "OriginCustomHeader$HeaderValue": "The header's value.", - "PathList$member": null, - "PreconditionFailed$Message": null, - "S3Origin$DomainName": "The DNS name of the S3 origin.", - "S3Origin$OriginAccessIdentity": "Your S3 origin's origin access identity.", - "S3OriginConfig$OriginAccessIdentity": "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.", - "Signer$AwsAccountNumber": "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.", - "StreamingDistribution$Id": "The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.", - "StreamingDistribution$Status": "The current status of the streaming distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistribution$DomainName": "The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.", - "StreamingDistributionAlreadyExists$Message": null, - "StreamingDistributionConfig$CallerReference": "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.", - "StreamingDistributionConfig$Comment": "Any comments you want to include about the streaming distribution.", - "StreamingDistributionList$Marker": "The value you provided for the Marker request parameter.", - "StreamingDistributionList$NextMarker": "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.", - "StreamingDistributionNotDisabled$Message": null, - "StreamingDistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "StreamingDistributionSummary$Status": "Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "StreamingDistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "StreamingLoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "StreamingLoggingConfig$Prefix": "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.", - "TooManyCacheBehaviors$Message": null, - "TooManyCertificates$Message": null, - "TooManyCloudFrontOriginAccessIdentities$Message": null, - "TooManyCookieNamesInWhiteList$Message": null, - "TooManyDistributionCNAMEs$Message": null, - "TooManyDistributions$Message": null, - "TooManyHeadersInForwardedValues$Message": null, - "TooManyInvalidationsInProgress$Message": null, - "TooManyOriginCustomHeaders$Message": null, - "TooManyOrigins$Message": null, - "TooManyStreamingDistributionCNAMEs$Message": null, - "TooManyStreamingDistributions$Message": null, - "TooManyTrustedSigners$Message": null, - "TrustedSignerDoesNotExist$Message": null, - "UpdateCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "UpdateCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionRequest$Id": "The distribution's id.", - "UpdateDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionRequest$Id": "The streaming distribution's id.", - "UpdateStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "ViewerCertificate$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), 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.", - "ViewerCertificate$IAMCertificateId": "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." - } - }, - "timestamp": { - "base": null, - "refs": { - "Distribution$LastModifiedTime": "The date and time the distribution was last modified.", - "DistributionSummary$LastModifiedTime": "The date and time the distribution was last modified.", - "Invalidation$CreateTime": "The date and time the invalidation request was first made.", - "InvalidationSummary$CreateTime": null, - "StreamingDistribution$LastModifiedTime": "The date and time the distribution was last modified.", - "StreamingDistributionSummary$LastModifiedTime": "The date and time the distribution was last modified." - } - } - } -} diff --git a/models/apis/cloudfront/2016-01-13/paginators-1.json b/models/apis/cloudfront/2016-01-13/paginators-1.json deleted file mode 100644 index 51fbb907fa3..00000000000 --- a/models/apis/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/models/apis/cloudfront/2016-01-13/waiters-2.json b/models/apis/cloudfront/2016-01-13/waiters-2.json deleted file mode 100644 index f6d3ba7bc05..00000000000 --- a/models/apis/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": "Status" - } - ] - }, - "InvalidationCompleted": { - "delay": 20, - "operation": "GetInvalidation", - "maxAttempts": 30, - "description": "Wait until an invalidation has completed.", - "acceptors": [ - { - "expected": "Completed", - "matcher": "path", - "state": "success", - "argument": "Status" - } - ] - }, - "StreamingDistributionDeployed": { - "delay": 60, - "operation": "GetStreamingDistribution", - "maxAttempts": 25, - "description": "Wait until a streaming distribution is deployed.", - "acceptors": [ - { - "expected": "Deployed", - "matcher": "path", - "state": "success", - "argument": "Status" - } - ] - } - } -} diff --git a/models/apis/cloudfront/2016-01-28/api-2.json b/models/apis/cloudfront/2016-01-28/api-2.json deleted file mode 100644 index 549e4efd8ff..00000000000 --- a/models/apis/cloudfront/2016-01-28/api-2.json +++ /dev/null @@ -1,2219 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"cloudfront-2016-01-28", - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListDistributions":{ - "name":"ListDistributions2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"SignerList"} - } - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AliasList"} - } - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"}, - "CachedMethods":{"shape":"CachedMethods"} - } - }, - "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"}, - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CacheBehaviorList"} - } - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"} - } - }, - "CertificateSource":{ - "type":"string", - "enum":[ - "cloudfront", - "iam", - "acm" - ] - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"} - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CloudFrontOriginAccessIdentitySummaryList"} - } - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"CookieNameList"} - } - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{"shape":"ItemSelection"}, - "WhitelistedNames":{"shape":"CookieNames"} - } - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - } - }, - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - } - }, - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - } - }, - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"integer"}, - "ResponsePagePath":{"shape":"string"}, - "ResponseCode":{"shape":"string"}, - "ErrorCachingMinTTL":{"shape":"long"} - } - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CustomErrorResponseList"} - } - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginCustomHeadersList"} - } - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{"shape":"integer"}, - "HTTPSPort":{"shape":"integer"}, - "OriginProtocolPolicy":{"shape":"OriginProtocolPolicy"}, - "OriginSslProtocols":{"shape":"OriginSslProtocols"} - } - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "InProgressInvalidationBatches":{"shape":"integer"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "DistributionConfig":{"shape":"DistributionConfig"} - } - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "DefaultRootObject":{"shape":"string"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"LoggingConfig"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"} - } - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"DistributionSummaryList"} - } - }, - "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"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"} - } - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{"shape":"boolean"}, - "Cookies":{"shape":"CookiePreference"}, - "Headers":{"shape":"Headers"} - } - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{"shape":"GeoRestrictionType"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"LocationList"} - } - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"HeaderList"} - } - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"}, - "Status":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "InvalidationBatch":{"shape":"InvalidationBatch"} - } - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{"shape":"Paths"}, - "CallerReference":{"shape":"string"} - } - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"InvalidationSummaryList"} - } - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "Status":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"KeyPairIdList"} - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{"shape":"CloudFrontOriginAccessIdentityList"} - }, - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "location":"uri", - "locationName":"WebACLId" - } - } - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{"shape":"InvalidationList"} - }, - "payload":"InvalidationList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{"shape":"StreamingDistributionList"} - }, - "payload":"StreamingDistributionList" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "IncludeCookies":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "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 - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{"shape":"string"}, - "DomainName":{"shape":"string"}, - "OriginPath":{"shape":"string"}, - "CustomHeaders":{"shape":"CustomHeaders"}, - "S3OriginConfig":{"shape":"S3OriginConfig"}, - "CustomOriginConfig":{"shape":"CustomOriginConfig"} - } - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{"shape":"string"}, - "HeaderValue":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"SslProtocolsList"} - } - }, - "Origins":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginList"} - } - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"PathList"} - } - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "Restrictions":{ - "type":"structure", - "required":["GeoRestriction"], - "members":{ - "GeoRestriction":{"shape":"GeoRestriction"} - } - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{"shape":"string"}, - "OriginAccessIdentity":{"shape":"string"} - } - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{"shape":"string"} - } - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{"shape":"string"}, - "KeyPairIds":{"shape":"KeyPairIds"} - } - }, - "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"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"} - } - }, - "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"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"StreamingLoggingConfig"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"StreamingDistributionSummaryList"} - } - }, - "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"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AwsAccountNumberList"} - } - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{"shape":"boolean"}, - "IAMCertificateId":{"shape":"string"}, - "ACMCertificateArn":{"shape":"string"}, - "SSLSupportMethod":{"shape":"SSLSupportMethod"}, - "MinimumProtocolVersion":{"shape":"MinimumProtocolVersion"}, - "Certificate":{ - "shape":"string", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "deprecated":true - } - } - }, - "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/models/apis/cloudfront/2016-01-28/docs-2.json b/models/apis/cloudfront/2016-01-28/docs-2.json deleted file mode 100644 index 8174625b44e..00000000000 --- a/models/apis/cloudfront/2016-01-28/docs-2.json +++ /dev/null @@ -1,1220 +0,0 @@ -{ - "version": "2.0", - "service": null, - "operations": { - "CreateCloudFrontOriginAccessIdentity": "Create a new origin access identity.", - "CreateDistribution": "Create a new distribution.", - "CreateInvalidation": "Create a new invalidation.", - "CreateStreamingDistribution": "Create a new streaming distribution.", - "DeleteCloudFrontOriginAccessIdentity": "Delete an origin access identity.", - "DeleteDistribution": "Delete a distribution.", - "DeleteStreamingDistribution": "Delete a streaming distribution.", - "GetCloudFrontOriginAccessIdentity": "Get the information about an origin access identity.", - "GetCloudFrontOriginAccessIdentityConfig": "Get the configuration information about an origin access identity.", - "GetDistribution": "Get the information about a distribution.", - "GetDistributionConfig": "Get the configuration information about a distribution.", - "GetInvalidation": "Get the information about an invalidation.", - "GetStreamingDistribution": "Get the information about a streaming distribution.", - "GetStreamingDistributionConfig": "Get the configuration information about a streaming distribution.", - "ListCloudFrontOriginAccessIdentities": "List origin access identities.", - "ListDistributions": "List distributions.", - "ListDistributionsByWebACLId": "List the distributions that are associated with a specified AWS WAF web ACL.", - "ListInvalidations": "List invalidation batches.", - "ListStreamingDistributions": "List streaming distributions.", - "UpdateCloudFrontOriginAccessIdentity": "Update an origin access identity.", - "UpdateDistribution": "Update a distribution.", - "UpdateStreamingDistribution": "Update a streaming distribution." - }, - "shapes": { - "AccessDenied": { - "base": "Access denied.", - "refs": { - } - }, - "ActiveTrustedSigners": { - "base": "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.", - "refs": { - "Distribution$ActiveTrustedSigners": "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.", - "StreamingDistribution$ActiveTrustedSigners": "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." - } - }, - "AliasList": { - "base": null, - "refs": { - "Aliases$Items": "Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "Aliases": { - "base": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "refs": { - "DistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "DistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "StreamingDistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.", - "StreamingDistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution." - } - }, - "AllowedMethods": { - "base": "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.", - "refs": { - "CacheBehavior$AllowedMethods": null, - "DefaultCacheBehavior$AllowedMethods": null - } - }, - "AwsAccountNumberList": { - "base": null, - "refs": { - "TrustedSigners$Items": "Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "BatchTooLarge": { - "base": null, - "refs": { - } - }, - "CNAMEAlreadyExists": { - "base": null, - "refs": { - } - }, - "CacheBehavior": { - "base": "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.", - "refs": { - "CacheBehaviorList$member": null - } - }, - "CacheBehaviorList": { - "base": null, - "refs": { - "CacheBehaviors$Items": "Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CacheBehaviors": { - "base": "A complex type that contains zero or more CacheBehavior elements.", - "refs": { - "DistributionConfig$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements.", - "DistributionSummary$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements." - } - }, - "CachedMethods": { - "base": "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.", - "refs": { - "AllowedMethods$CachedMethods": null - } - }, - "CertificateSource": { - "base": null, - "refs": { - "ViewerCertificate$CertificateSource": "Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate]." - } - }, - "CloudFrontOriginAccessIdentity": { - "base": "CloudFront origin access identity.", - "refs": { - "CreateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "GetCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "UpdateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information." - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists": { - "base": "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.", - "refs": { - } - }, - "CloudFrontOriginAccessIdentityConfig": { - "base": "Origin access identity configuration.", - "refs": { - "CloudFrontOriginAccessIdentity$CloudFrontOriginAccessIdentityConfig": "The current configuration information for the identity.", - "CreateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "GetCloudFrontOriginAccessIdentityConfigResult$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "UpdateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The identity's configuration information." - } - }, - "CloudFrontOriginAccessIdentityInUse": { - "base": null, - "refs": { - } - }, - "CloudFrontOriginAccessIdentityList": { - "base": "The CloudFrontOriginAccessIdentityList type.", - "refs": { - "ListCloudFrontOriginAccessIdentitiesResult$CloudFrontOriginAccessIdentityList": "The CloudFrontOriginAccessIdentityList type." - } - }, - "CloudFrontOriginAccessIdentitySummary": { - "base": "Summary of the information about a CloudFront origin access identity.", - "refs": { - "CloudFrontOriginAccessIdentitySummaryList$member": null - } - }, - "CloudFrontOriginAccessIdentitySummaryList": { - "base": null, - "refs": { - "CloudFrontOriginAccessIdentityList$Items": "A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account." - } - }, - "CookieNameList": { - "base": null, - "refs": { - "CookieNames$Items": "Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "CookieNames": { - "base": "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.", - "refs": { - "CookiePreference$WhitelistedNames": "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": { - "base": "A complex type that specifies the cookie preferences associated with this cache behavior.", - "refs": { - "ForwardedValues$Cookies": "A complex type that specifies how CloudFront handles cookies." - } - }, - "CreateCloudFrontOriginAccessIdentityRequest": { - "base": "The request to create a new origin access identity.", - "refs": { - } - }, - "CreateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateDistributionRequest": { - "base": "The request to create a new distribution.", - "refs": { - } - }, - "CreateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateInvalidationRequest": { - "base": "The request to create an invalidation.", - "refs": { - } - }, - "CreateInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateStreamingDistributionRequest": { - "base": "The request to create a new streaming distribution.", - "refs": { - } - }, - "CreateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CustomErrorResponse": { - "base": "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.", - "refs": { - "CustomErrorResponseList$member": null - } - }, - "CustomErrorResponseList": { - "base": null, - "refs": { - "CustomErrorResponses$Items": "Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CustomErrorResponses": { - "base": "A complex type that contains zero or more CustomErrorResponse elements.", - "refs": { - "DistributionConfig$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponse elements.", - "DistributionSummary$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponses elements." - } - }, - "CustomHeaders": { - "base": "A complex type that contains the list of Custom Headers for each origin.", - "refs": { - "Origin$CustomHeaders": "A complex type that contains information about the custom headers associated with this Origin." - } - }, - "CustomOriginConfig": { - "base": "A customer origin.", - "refs": { - "Origin$CustomOriginConfig": "A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead." - } - }, - "DefaultCacheBehavior": { - "base": "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.", - "refs": { - "DistributionConfig$DefaultCacheBehavior": "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.", - "DistributionSummary$DefaultCacheBehavior": "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": { - "base": "The request to delete a origin access identity.", - "refs": { - } - }, - "DeleteDistributionRequest": { - "base": "The request to delete a distribution.", - "refs": { - } - }, - "DeleteStreamingDistributionRequest": { - "base": "The request to delete a streaming distribution.", - "refs": { - } - }, - "Distribution": { - "base": "A distribution.", - "refs": { - "CreateDistributionResult$Distribution": "The distribution's information.", - "GetDistributionResult$Distribution": "The distribution's information.", - "UpdateDistributionResult$Distribution": "The distribution's information." - } - }, - "DistributionAlreadyExists": { - "base": "The caller reference you attempted to create the distribution with is associated with another distribution.", - "refs": { - } - }, - "DistributionConfig": { - "base": "A distribution Configuration.", - "refs": { - "CreateDistributionRequest$DistributionConfig": "The distribution's configuration information.", - "Distribution$DistributionConfig": "The current configuration information for the distribution.", - "GetDistributionConfigResult$DistributionConfig": "The distribution's configuration information.", - "UpdateDistributionRequest$DistributionConfig": "The distribution's configuration information." - } - }, - "DistributionList": { - "base": "A distribution list.", - "refs": { - "ListDistributionsByWebACLIdResult$DistributionList": "The DistributionList type.", - "ListDistributionsResult$DistributionList": "The DistributionList type." - } - }, - "DistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "DistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront distribution.", - "refs": { - "DistributionSummaryList$member": null - } - }, - "DistributionSummaryList": { - "base": null, - "refs": { - "DistributionList$Items": "A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "ForwardedValues": { - "base": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "refs": { - "CacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "DefaultCacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers." - } - }, - "GeoRestriction": { - "base": "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.", - "refs": { - "Restrictions$GeoRestriction": null - } - }, - "GeoRestrictionType": { - "base": null, - "refs": { - "GeoRestriction$RestrictionType": "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." - } - }, - "GetCloudFrontOriginAccessIdentityConfigRequest": { - "base": "The request to get an origin access identity's configuration.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityRequest": { - "base": "The request to get an origin access identity's information.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionConfigRequest": { - "base": "The request to get a distribution configuration.", - "refs": { - } - }, - "GetDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionRequest": { - "base": "The request to get a distribution's information.", - "refs": { - } - }, - "GetDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetInvalidationRequest": { - "base": "The request to get an invalidation's information.", - "refs": { - } - }, - "GetInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionConfigRequest": { - "base": "To request to get a streaming distribution configuration.", - "refs": { - } - }, - "GetStreamingDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionRequest": { - "base": "The request to get a streaming distribution's information.", - "refs": { - } - }, - "GetStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "HeaderList": { - "base": null, - "refs": { - "Headers$Items": "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." - } - }, - "Headers": { - "base": "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.", - "refs": { - "ForwardedValues$Headers": "A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "IllegalUpdate": { - "base": "Origin and CallerReference cannot be updated.", - "refs": { - } - }, - "InconsistentQuantities": { - "base": "The value of Quantity and the size of Items do not match.", - "refs": { - } - }, - "InvalidArgument": { - "base": "The argument is invalid.", - "refs": { - } - }, - "InvalidDefaultRootObject": { - "base": "The default root object file name is too big or contains an invalid character.", - "refs": { - } - }, - "InvalidErrorCode": { - "base": null, - "refs": { - } - }, - "InvalidForwardCookies": { - "base": "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.", - "refs": { - } - }, - "InvalidGeoRestrictionParameter": { - "base": null, - "refs": { - } - }, - "InvalidHeadersForS3Origin": { - "base": null, - "refs": { - } - }, - "InvalidIfMatchVersion": { - "base": "The If-Match version is missing or not valid for the distribution.", - "refs": { - } - }, - "InvalidLocationCode": { - "base": null, - "refs": { - } - }, - "InvalidMinimumProtocolVersion": { - "base": null, - "refs": { - } - }, - "InvalidOrigin": { - "base": "The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "refs": { - } - }, - "InvalidOriginAccessIdentity": { - "base": "The origin access identity is not valid or doesn't exist.", - "refs": { - } - }, - "InvalidProtocolSettings": { - "base": "You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "refs": { - } - }, - "InvalidRelativePath": { - "base": "The relative path is too big, is not URL-encoded, or does not begin with a slash (/).", - "refs": { - } - }, - "InvalidRequiredProtocol": { - "base": "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.", - "refs": { - } - }, - "InvalidResponseCode": { - "base": null, - "refs": { - } - }, - "InvalidTTLOrder": { - "base": null, - "refs": { - } - }, - "InvalidViewerCertificate": { - "base": null, - "refs": { - } - }, - "InvalidWebACLId": { - "base": null, - "refs": { - } - }, - "Invalidation": { - "base": "An invalidation.", - "refs": { - "CreateInvalidationResult$Invalidation": "The invalidation's information.", - "GetInvalidationResult$Invalidation": "The invalidation's information." - } - }, - "InvalidationBatch": { - "base": "An invalidation batch.", - "refs": { - "CreateInvalidationRequest$InvalidationBatch": "The batch information for the invalidation.", - "Invalidation$InvalidationBatch": "The current invalidation information for the batch request." - } - }, - "InvalidationList": { - "base": "An invalidation list.", - "refs": { - "ListInvalidationsResult$InvalidationList": "Information about invalidation batches." - } - }, - "InvalidationSummary": { - "base": "Summary of an invalidation request.", - "refs": { - "InvalidationSummaryList$member": null - } - }, - "InvalidationSummaryList": { - "base": null, - "refs": { - "InvalidationList$Items": "A complex type that contains one InvalidationSummary element for each invalidation batch that was created by the current AWS account." - } - }, - "ItemSelection": { - "base": null, - "refs": { - "CookiePreference$Forward": "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." - } - }, - "KeyPairIdList": { - "base": null, - "refs": { - "KeyPairIds$Items": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "KeyPairIds": { - "base": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.", - "refs": { - "Signer$KeyPairIds": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest": { - "base": "The request to list origin access identities.", - "refs": { - } - }, - "ListCloudFrontOriginAccessIdentitiesResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListDistributionsByWebACLIdRequest": { - "base": "The request to list distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsByWebACLIdResult": { - "base": "The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsRequest": { - "base": "The request to list your distributions.", - "refs": { - } - }, - "ListDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListInvalidationsRequest": { - "base": "The request to list invalidations.", - "refs": { - } - }, - "ListInvalidationsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListStreamingDistributionsRequest": { - "base": "The request to list your streaming distributions.", - "refs": { - } - }, - "ListStreamingDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "LocationList": { - "base": null, - "refs": { - "GeoRestriction$Items": "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." - } - }, - "LoggingConfig": { - "base": "A complex type that controls whether access logs are written for the distribution.", - "refs": { - "DistributionConfig$Logging": "A complex type that controls whether access logs are written for the distribution." - } - }, - "Method": { - "base": null, - "refs": { - "MethodsList$member": null - } - }, - "MethodsList": { - "base": null, - "refs": { - "AllowedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.", - "CachedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to cache responses to." - } - }, - "MinimumProtocolVersion": { - "base": null, - "refs": { - "ViewerCertificate$MinimumProtocolVersion": "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." - } - }, - "MissingBody": { - "base": "This operation requires a body. Ensure that the body is present and the Content-Type header is set.", - "refs": { - } - }, - "NoSuchCloudFrontOriginAccessIdentity": { - "base": "The specified origin access identity does not exist.", - "refs": { - } - }, - "NoSuchDistribution": { - "base": "The specified distribution does not exist.", - "refs": { - } - }, - "NoSuchInvalidation": { - "base": "The specified invalidation does not exist.", - "refs": { - } - }, - "NoSuchOrigin": { - "base": "No origin exists with the specified Origin Id.", - "refs": { - } - }, - "NoSuchStreamingDistribution": { - "base": "The specified streaming distribution does not exist.", - "refs": { - } - }, - "Origin": { - "base": "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.", - "refs": { - "OriginList$member": null - } - }, - "OriginCustomHeader": { - "base": "A complex type that contains information related to a Header", - "refs": { - "OriginCustomHeadersList$member": null - } - }, - "OriginCustomHeadersList": { - "base": null, - "refs": { - "CustomHeaders$Items": "A complex type that contains the custom headers for this Origin." - } - }, - "OriginList": { - "base": null, - "refs": { - "Origins$Items": "A complex type that contains origins for this distribution." - } - }, - "OriginProtocolPolicy": { - "base": null, - "refs": { - "CustomOriginConfig$OriginProtocolPolicy": "The origin protocol policy to apply to your origin." - } - }, - "OriginSslProtocols": { - "base": "A complex type that contains the list of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.", - "refs": { - "CustomOriginConfig$OriginSslProtocols": "The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - } - }, - "Origins": { - "base": "A complex type that contains information about origins for this distribution.", - "refs": { - "DistributionConfig$Origins": "A complex type that contains information about origins for this distribution.", - "DistributionSummary$Origins": "A complex type that contains information about origins for this distribution." - } - }, - "PathList": { - "base": null, - "refs": { - "Paths$Items": "A complex type that contains a list of the objects that you want to invalidate." - } - }, - "Paths": { - "base": "A complex type that contains information about the objects that you want to invalidate.", - "refs": { - "InvalidationBatch$Paths": "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." - } - }, - "PreconditionFailed": { - "base": "The precondition given in one or more of the request-header fields evaluated to false.", - "refs": { - } - }, - "PriceClass": { - "base": null, - "refs": { - "DistributionConfig$PriceClass": "A complex type that contains information about price class for this distribution.", - "DistributionSummary$PriceClass": null, - "StreamingDistributionConfig$PriceClass": "A complex type that contains information about price class for this streaming distribution.", - "StreamingDistributionSummary$PriceClass": null - } - }, - "Restrictions": { - "base": "A complex type that identifies ways in which you want to restrict distribution of your content.", - "refs": { - "DistributionConfig$Restrictions": null, - "DistributionSummary$Restrictions": null - } - }, - "S3Origin": { - "base": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "refs": { - "StreamingDistributionConfig$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "StreamingDistributionSummary$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution." - } - }, - "S3OriginConfig": { - "base": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.", - "refs": { - "Origin$S3OriginConfig": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead." - } - }, - "SSLSupportMethod": { - "base": null, - "refs": { - "ViewerCertificate$SSLSupportMethod": "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." - } - }, - "Signer": { - "base": "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.", - "refs": { - "SignerList$member": null - } - }, - "SignerList": { - "base": null, - "refs": { - "ActiveTrustedSigners$Items": "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." - } - }, - "SslProtocol": { - "base": null, - "refs": { - "SslProtocolsList$member": null - } - }, - "SslProtocolsList": { - "base": null, - "refs": { - "OriginSslProtocols$Items": "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." - } - }, - "StreamingDistribution": { - "base": "A streaming distribution.", - "refs": { - "CreateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "GetStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "UpdateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information." - } - }, - "StreamingDistributionAlreadyExists": { - "base": null, - "refs": { - } - }, - "StreamingDistributionConfig": { - "base": "The configuration for the streaming distribution.", - "refs": { - "CreateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "GetStreamingDistributionConfigResult$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "StreamingDistribution$StreamingDistributionConfig": "The current configuration information for the streaming distribution.", - "UpdateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information." - } - }, - "StreamingDistributionList": { - "base": "A streaming distribution list.", - "refs": { - "ListStreamingDistributionsResult$StreamingDistributionList": "The StreamingDistributionList type." - } - }, - "StreamingDistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "StreamingDistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront streaming distribution.", - "refs": { - "StreamingDistributionSummaryList$member": null - } - }, - "StreamingDistributionSummaryList": { - "base": null, - "refs": { - "StreamingDistributionList$Items": "A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "StreamingLoggingConfig": { - "base": "A complex type that controls whether access logs are written for this streaming distribution.", - "refs": { - "StreamingDistributionConfig$Logging": "A complex type that controls whether access logs are written for the streaming distribution." - } - }, - "TooManyCacheBehaviors": { - "base": "You cannot create anymore cache behaviors for the distribution.", - "refs": { - } - }, - "TooManyCertificates": { - "base": "You cannot create anymore custom ssl certificates.", - "refs": { - } - }, - "TooManyCloudFrontOriginAccessIdentities": { - "base": "Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "refs": { - } - }, - "TooManyCookieNamesInWhiteList": { - "base": "Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "refs": { - } - }, - "TooManyDistributionCNAMEs": { - "base": "Your request contains more CNAMEs than are allowed per distribution.", - "refs": { - } - }, - "TooManyDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of distributions allowed.", - "refs": { - } - }, - "TooManyHeadersInForwardedValues": { - "base": null, - "refs": { - } - }, - "TooManyInvalidationsInProgress": { - "base": "You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "refs": { - } - }, - "TooManyOriginCustomHeaders": { - "base": null, - "refs": { - } - }, - "TooManyOrigins": { - "base": "You cannot create anymore origins for the distribution.", - "refs": { - } - }, - "TooManyStreamingDistributionCNAMEs": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of streaming distributions allowed.", - "refs": { - } - }, - "TooManyTrustedSigners": { - "base": "Your request contains more trusted signers than are allowed per distribution.", - "refs": { - } - }, - "TrustedSignerDoesNotExist": { - "base": "One or more of your trusted signers do not exist.", - "refs": { - } - }, - "TrustedSigners": { - "base": "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.", - "refs": { - "CacheBehavior$TrustedSigners": "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.", - "DefaultCacheBehavior$TrustedSigners": "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.", - "StreamingDistributionConfig$TrustedSigners": "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.", - "StreamingDistributionSummary$TrustedSigners": "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": { - "base": "The request to update an origin access identity.", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateDistributionRequest": { - "base": "The request to update a distribution.", - "refs": { - } - }, - "UpdateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateStreamingDistributionRequest": { - "base": "The request to update a streaming distribution.", - "refs": { - } - }, - "UpdateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ViewerCertificate": { - "base": "A complex type that contains information about viewer certificates for this distribution.", - "refs": { - "DistributionConfig$ViewerCertificate": null, - "DistributionSummary$ViewerCertificate": null - } - }, - "ViewerProtocolPolicy": { - "base": null, - "refs": { - "CacheBehavior$ViewerProtocolPolicy": "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.", - "DefaultCacheBehavior$ViewerProtocolPolicy": "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." - } - }, - "boolean": { - "base": null, - "refs": { - "ActiveTrustedSigners$Enabled": "Each active trusted signer.", - "CacheBehavior$SmoothStreaming": "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.", - "CacheBehavior$Compress": "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.", - "CloudFrontOriginAccessIdentityList$IsTruncated": "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.", - "DefaultCacheBehavior$SmoothStreaming": "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.", - "DefaultCacheBehavior$Compress": "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.", - "DistributionConfig$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "DistributionList$IsTruncated": "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.", - "DistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "ForwardedValues$QueryString": "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.", - "InvalidationList$IsTruncated": "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.", - "LoggingConfig$Enabled": "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.", - "LoggingConfig$IncludeCookies": "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.", - "StreamingDistributionConfig$Enabled": "Whether the streaming distribution is enabled to accept end user requests for content.", - "StreamingDistributionList$IsTruncated": "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.", - "StreamingDistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "StreamingLoggingConfig$Enabled": "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.", - "TrustedSigners$Enabled": "Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.", - "ViewerCertificate$CloudFrontDefaultCertificate": "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." - } - }, - "integer": { - "base": null, - "refs": { - "ActiveTrustedSigners$Quantity": "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.", - "Aliases$Quantity": "The number of CNAMEs, if any, for this distribution.", - "AllowedMethods$Quantity": "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).", - "CacheBehaviors$Quantity": "The number of cache behaviors for this distribution.", - "CachedMethods$Quantity": "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).", - "CloudFrontOriginAccessIdentityList$MaxItems": "The value you provided for the MaxItems request parameter.", - "CloudFrontOriginAccessIdentityList$Quantity": "The number of CloudFront origin access identities that were created by the current AWS account.", - "CookieNames$Quantity": "The number of whitelisted cookies for this cache behavior.", - "CustomErrorResponse$ErrorCode": "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.", - "CustomErrorResponses$Quantity": "The number of custom error responses for this distribution.", - "CustomHeaders$Quantity": "The number of custom headers for this origin.", - "CustomOriginConfig$HTTPPort": "The HTTP port the custom origin listens on.", - "CustomOriginConfig$HTTPSPort": "The HTTPS port the custom origin listens on.", - "Distribution$InProgressInvalidationBatches": "The number of invalidation batches currently in progress.", - "DistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "DistributionList$Quantity": "The number of distributions that were created by the current AWS account.", - "GeoRestriction$Quantity": "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.", - "Headers$Quantity": "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.", - "InvalidationList$MaxItems": "The value you provided for the MaxItems request parameter.", - "InvalidationList$Quantity": "The number of invalidation batches that were created by the current AWS account.", - "KeyPairIds$Quantity": "The number of active CloudFront key pairs for AwsAccountNumber.", - "OriginSslProtocols$Quantity": "The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS connection with this origin.", - "Origins$Quantity": "The number of origins for this distribution.", - "Paths$Quantity": "The number of objects that you want to invalidate.", - "StreamingDistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "StreamingDistributionList$Quantity": "The number of streaming distributions that were created by the current AWS account.", - "TrustedSigners$Quantity": "The number of trusted signers for this cache behavior." - } - }, - "long": { - "base": null, - "refs": { - "CacheBehavior$MinTTL": "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).", - "CacheBehavior$DefaultTTL": "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).", - "CacheBehavior$MaxTTL": "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).", - "CustomErrorResponse$ErrorCachingMinTTL": "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.", - "DefaultCacheBehavior$MinTTL": "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).", - "DefaultCacheBehavior$DefaultTTL": "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).", - "DefaultCacheBehavior$MaxTTL": "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)." - } - }, - "string": { - "base": null, - "refs": { - "AccessDenied$Message": null, - "AliasList$member": null, - "AwsAccountNumberList$member": null, - "BatchTooLarge$Message": null, - "CNAMEAlreadyExists$Message": null, - "CacheBehavior$PathPattern": "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.", - "CacheBehavior$TargetOriginId": "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.", - "CloudFrontOriginAccessIdentity$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, - "CloudFrontOriginAccessIdentityConfig$CallerReference": "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.", - "CloudFrontOriginAccessIdentityConfig$Comment": "Any comments you want to include about the origin access identity.", - "CloudFrontOriginAccessIdentityInUse$Message": null, - "CloudFrontOriginAccessIdentityList$Marker": "The value you provided for the Marker request parameter.", - "CloudFrontOriginAccessIdentityList$NextMarker": "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.", - "CloudFrontOriginAccessIdentitySummary$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentitySummary$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentitySummary$Comment": "The comment for this origin access identity, as originally specified when created.", - "CookieNameList$member": null, - "CreateCloudFrontOriginAccessIdentityResult$Location": "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.", - "CreateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity created.", - "CreateDistributionResult$Location": "The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "CreateDistributionResult$ETag": "The current version of the distribution created.", - "CreateInvalidationRequest$DistributionId": "The distribution's id.", - "CreateInvalidationResult$Location": "The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.", - "CreateStreamingDistributionResult$Location": "The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "CreateStreamingDistributionResult$ETag": "The current version of the streaming distribution created.", - "CustomErrorResponse$ResponsePagePath": "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.", - "CustomErrorResponse$ResponseCode": "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.", - "DefaultCacheBehavior$TargetOriginId": "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.", - "DeleteCloudFrontOriginAccessIdentityRequest$Id": "The origin access identity's id.", - "DeleteCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.", - "DeleteDistributionRequest$Id": "The distribution id.", - "DeleteDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "DeleteStreamingDistributionRequest$Id": "The distribution id.", - "DeleteStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.", - "Distribution$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "Distribution$Status": "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.", - "Distribution$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionAlreadyExists$Message": null, - "DistributionConfig$CallerReference": "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.", - "DistributionConfig$DefaultRootObject": "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.", - "DistributionConfig$Comment": "Any comments you want to include about the distribution.", - "DistributionConfig$WebACLId": "(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.", - "DistributionList$Marker": "The value you provided for the Marker request parameter.", - "DistributionList$NextMarker": "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.", - "DistributionNotDisabled$Message": null, - "DistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "DistributionSummary$Status": "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.", - "DistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "DistributionSummary$WebACLId": "The Web ACL Id (if any) associated with the distribution.", - "GetCloudFrontOriginAccessIdentityConfigRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.", - "GetDistributionConfigRequest$Id": "The distribution's id.", - "GetDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetDistributionRequest$Id": "The distribution's id.", - "GetDistributionResult$ETag": "The current version of the distribution's information. For example: E2QWRUHAPOMQZL.", - "GetInvalidationRequest$DistributionId": "The distribution's id.", - "GetInvalidationRequest$Id": "The invalidation's id.", - "GetStreamingDistributionConfigRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetStreamingDistributionRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionResult$ETag": "The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.", - "HeaderList$member": null, - "IllegalUpdate$Message": null, - "InconsistentQuantities$Message": null, - "InvalidArgument$Message": null, - "InvalidDefaultRootObject$Message": null, - "InvalidErrorCode$Message": null, - "InvalidForwardCookies$Message": null, - "InvalidGeoRestrictionParameter$Message": null, - "InvalidHeadersForS3Origin$Message": null, - "InvalidIfMatchVersion$Message": null, - "InvalidLocationCode$Message": null, - "InvalidMinimumProtocolVersion$Message": null, - "InvalidOrigin$Message": null, - "InvalidOriginAccessIdentity$Message": null, - "InvalidProtocolSettings$Message": null, - "InvalidRelativePath$Message": null, - "InvalidRequiredProtocol$Message": null, - "InvalidResponseCode$Message": null, - "InvalidTTLOrder$Message": null, - "InvalidViewerCertificate$Message": null, - "InvalidWebACLId$Message": null, - "Invalidation$Id": "The identifier for the invalidation request. For example: IDFDVBD632BHDS5.", - "Invalidation$Status": "The status of the invalidation request. When the invalidation batch is finished, the status is Completed.", - "InvalidationBatch$CallerReference": "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.", - "InvalidationList$Marker": "The value you provided for the Marker request parameter.", - "InvalidationList$NextMarker": "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.", - "InvalidationSummary$Id": "The unique ID for an invalidation request.", - "InvalidationSummary$Status": "The status of an invalidation request.", - "KeyPairIdList$member": null, - "ListCloudFrontOriginAccessIdentitiesRequest$Marker": "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).", - "ListCloudFrontOriginAccessIdentitiesRequest$MaxItems": "The maximum number of origin access identities you want in the response body.", - "ListDistributionsByWebACLIdRequest$Marker": "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.)", - "ListDistributionsByWebACLIdRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListDistributionsByWebACLIdRequest$WebACLId": "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.", - "ListDistributionsRequest$Marker": "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.)", - "ListDistributionsRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListInvalidationsRequest$DistributionId": "The distribution's id.", - "ListInvalidationsRequest$Marker": "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.", - "ListInvalidationsRequest$MaxItems": "The maximum number of invalidation batches you want in the response body.", - "ListStreamingDistributionsRequest$Marker": "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).", - "ListStreamingDistributionsRequest$MaxItems": "The maximum number of streaming distributions you want in the response body.", - "LocationList$member": null, - "LoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "LoggingConfig$Prefix": "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.", - "MissingBody$Message": null, - "NoSuchCloudFrontOriginAccessIdentity$Message": null, - "NoSuchDistribution$Message": null, - "NoSuchInvalidation$Message": null, - "NoSuchOrigin$Message": null, - "NoSuchStreamingDistribution$Message": null, - "Origin$Id": "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.", - "Origin$DomainName": "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.", - "Origin$OriginPath": "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.", - "OriginCustomHeader$HeaderName": "The header's name.", - "OriginCustomHeader$HeaderValue": "The header's value.", - "PathList$member": null, - "PreconditionFailed$Message": null, - "S3Origin$DomainName": "The DNS name of the S3 origin.", - "S3Origin$OriginAccessIdentity": "Your S3 origin's origin access identity.", - "S3OriginConfig$OriginAccessIdentity": "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.", - "Signer$AwsAccountNumber": "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.", - "StreamingDistribution$Id": "The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.", - "StreamingDistribution$Status": "The current status of the streaming distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistribution$DomainName": "The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.", - "StreamingDistributionAlreadyExists$Message": null, - "StreamingDistributionConfig$CallerReference": "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.", - "StreamingDistributionConfig$Comment": "Any comments you want to include about the streaming distribution.", - "StreamingDistributionList$Marker": "The value you provided for the Marker request parameter.", - "StreamingDistributionList$NextMarker": "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.", - "StreamingDistributionNotDisabled$Message": null, - "StreamingDistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "StreamingDistributionSummary$Status": "Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "StreamingDistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "StreamingLoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "StreamingLoggingConfig$Prefix": "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.", - "TooManyCacheBehaviors$Message": null, - "TooManyCertificates$Message": null, - "TooManyCloudFrontOriginAccessIdentities$Message": null, - "TooManyCookieNamesInWhiteList$Message": null, - "TooManyDistributionCNAMEs$Message": null, - "TooManyDistributions$Message": null, - "TooManyHeadersInForwardedValues$Message": null, - "TooManyInvalidationsInProgress$Message": null, - "TooManyOriginCustomHeaders$Message": null, - "TooManyOrigins$Message": null, - "TooManyStreamingDistributionCNAMEs$Message": null, - "TooManyStreamingDistributions$Message": null, - "TooManyTrustedSigners$Message": null, - "TrustedSignerDoesNotExist$Message": null, - "UpdateCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "UpdateCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionRequest$Id": "The distribution's id.", - "UpdateDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionRequest$Id": "The streaming distribution's id.", - "UpdateStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "ViewerCertificate$IAMCertificateId": "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.", - "ViewerCertificate$ACMCertificateArn": "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.", - "ViewerCertificate$Certificate": "Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate]." - } - }, - "timestamp": { - "base": null, - "refs": { - "Distribution$LastModifiedTime": "The date and time the distribution was last modified.", - "DistributionSummary$LastModifiedTime": "The date and time the distribution was last modified.", - "Invalidation$CreateTime": "The date and time the invalidation request was first made.", - "InvalidationSummary$CreateTime": null, - "StreamingDistribution$LastModifiedTime": "The date and time the distribution was last modified.", - "StreamingDistributionSummary$LastModifiedTime": "The date and time the distribution was last modified." - } - } - } -} diff --git a/models/apis/cloudfront/2016-01-28/paginators-1.json b/models/apis/cloudfront/2016-01-28/paginators-1.json deleted file mode 100644 index 51fbb907fa3..00000000000 --- a/models/apis/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/models/apis/cloudfront/2016-01-28/waiters-2.json b/models/apis/cloudfront/2016-01-28/waiters-2.json deleted file mode 100644 index edd74b2a3b4..00000000000 --- a/models/apis/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": 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/models/apis/cloudfront/2016-08-01/api-2.json b/models/apis/cloudfront/2016-08-01/api-2.json deleted file mode 100644 index d9d838f5504..00000000000 --- a/models/apis/cloudfront/2016-08-01/api-2.json +++ /dev/null @@ -1,2548 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"cloudfront-2016-08-01", - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListDistributions":{ - "name":"ListDistributions2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"SignerList"} - } - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AliasList"} - } - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"}, - "CachedMethods":{"shape":"CachedMethods"} - } - }, - "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"}, - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CacheBehaviorList"} - } - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"} - } - }, - "CertificateSource":{ - "type":"string", - "enum":[ - "cloudfront", - "iam", - "acm" - ] - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"} - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CloudFrontOriginAccessIdentitySummaryList"} - } - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"CookieNameList"} - } - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{"shape":"ItemSelection"}, - "WhitelistedNames":{"shape":"CookieNames"} - } - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateDistributionWithTagsRequest":{ - "type":"structure", - "required":["DistributionConfigWithTags"], - "members":{ - "DistributionConfigWithTags":{ - "shape":"DistributionConfigWithTags", - "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "payload":"DistributionConfigWithTags" - }, - "CreateDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CreateStreamingDistributionWithTagsRequest":{ - "type":"structure", - "required":["StreamingDistributionConfigWithTags"], - "members":{ - "StreamingDistributionConfigWithTags":{ - "shape":"StreamingDistributionConfigWithTags", - "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "payload":"StreamingDistributionConfigWithTags" - }, - "CreateStreamingDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"integer"}, - "ResponsePagePath":{"shape":"string"}, - "ResponseCode":{"shape":"string"}, - "ErrorCachingMinTTL":{"shape":"long"} - } - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CustomErrorResponseList"} - } - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginCustomHeadersList"} - } - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{"shape":"integer"}, - "HTTPSPort":{"shape":"integer"}, - "OriginProtocolPolicy":{"shape":"OriginProtocolPolicy"}, - "OriginSslProtocols":{"shape":"OriginSslProtocols"} - } - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{"shape":"string"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "InProgressInvalidationBatches":{"shape":"integer"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "DistributionConfig":{"shape":"DistributionConfig"} - } - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "DefaultRootObject":{"shape":"string"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"LoggingConfig"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"} - } - }, - "DistributionConfigWithTags":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Tags" - ], - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "Tags":{"shape":"Tags"} - } - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"DistributionSummaryList"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"} - } - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{"shape":"boolean"}, - "Cookies":{"shape":"CookiePreference"}, - "Headers":{"shape":"Headers"} - } - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{"shape":"GeoRestrictionType"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"LocationList"} - } - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"HeaderList"} - } - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"}, - "Status":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "InvalidationBatch":{"shape":"InvalidationBatch"} - } - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{"shape":"Paths"}, - "CallerReference":{"shape":"string"} - } - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"InvalidationSummaryList"} - } - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "Status":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"KeyPairIdList"} - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{"shape":"CloudFrontOriginAccessIdentityList"} - }, - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "location":"uri", - "locationName":"WebACLId" - } - } - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{"shape":"InvalidationList"} - }, - "payload":"InvalidationList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{"shape":"StreamingDistributionList"} - }, - "payload":"StreamingDistributionList" - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["Resource"], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - } - } - }, - "ListTagsForResourceResult":{ - "type":"structure", - "required":["Tags"], - "members":{ - "Tags":{"shape":"Tags"} - }, - "payload":"Tags" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "IncludeCookies":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "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 - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchResource":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{"shape":"string"}, - "DomainName":{"shape":"string"}, - "OriginPath":{"shape":"string"}, - "CustomHeaders":{"shape":"CustomHeaders"}, - "S3OriginConfig":{"shape":"S3OriginConfig"}, - "CustomOriginConfig":{"shape":"CustomOriginConfig"} - } - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{"shape":"string"}, - "HeaderValue":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"SslProtocolsList"} - } - }, - "Origins":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginList"} - } - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"PathList"} - } - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - } - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{"shape":"string"}, - "OriginAccessIdentity":{"shape":"string"} - } - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{"shape":"string"} - } - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{"shape":"string"}, - "KeyPairIds":{"shape":"KeyPairIds"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"} - } - }, - "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"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"StreamingLoggingConfig"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionConfigWithTags":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Tags" - ], - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "Tags":{"shape":"Tags"} - } - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"StreamingDistributionSummaryList"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{"shape":"TagKey"}, - "Value":{"shape":"TagValue"} - } - }, - "TagKey":{ - "type":"string", - "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"} - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "Tags" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - }, - "Tags":{ - "shape":"Tags", - "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "payload":"Tags" - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"structure", - "members":{ - "Items":{"shape":"TagList"} - } - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AwsAccountNumberList"} - } - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - }, - "TagKeys":{ - "shape":"TagKeys", - "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "payload":"TagKeys" - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{"shape":"boolean"}, - "IAMCertificateId":{"shape":"string"}, - "ACMCertificateArn":{"shape":"string"}, - "SSLSupportMethod":{"shape":"SSLSupportMethod"}, - "MinimumProtocolVersion":{"shape":"MinimumProtocolVersion"}, - "Certificate":{ - "shape":"string", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "deprecated":true - } - } - }, - "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/models/apis/cloudfront/2016-08-01/docs-2.json b/models/apis/cloudfront/2016-08-01/docs-2.json deleted file mode 100644 index 68fcff76abd..00000000000 --- a/models/apis/cloudfront/2016-08-01/docs-2.json +++ /dev/null @@ -1,1355 +0,0 @@ -{ - "version": "2.0", - "service": "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.

", - "operations": { - "CreateCloudFrontOriginAccessIdentity": "Create a new origin access identity.", - "CreateDistribution": "Create a new distribution.", - "CreateDistributionWithTags": "Create a new distribution with tags.", - "CreateInvalidation": "Create a new invalidation.", - "CreateStreamingDistribution": "Create a new streaming distribution.", - "CreateStreamingDistributionWithTags": "Create a new streaming distribution with tags.", - "DeleteCloudFrontOriginAccessIdentity": "Delete an origin access identity.", - "DeleteDistribution": "Delete a distribution.", - "DeleteStreamingDistribution": "Delete a streaming distribution.", - "GetCloudFrontOriginAccessIdentity": "Get the information about an origin access identity.", - "GetCloudFrontOriginAccessIdentityConfig": "Get the configuration information about an origin access identity.", - "GetDistribution": "Get the information about a distribution.", - "GetDistributionConfig": "Get the configuration information about a distribution.", - "GetInvalidation": "Get the information about an invalidation.", - "GetStreamingDistribution": "Get the information about a streaming distribution.", - "GetStreamingDistributionConfig": "Get the configuration information about a streaming distribution.", - "ListCloudFrontOriginAccessIdentities": "List origin access identities.", - "ListDistributions": "List distributions.", - "ListDistributionsByWebACLId": "List the distributions that are associated with a specified AWS WAF web ACL.", - "ListInvalidations": "List invalidation batches.", - "ListStreamingDistributions": "List streaming distributions.", - "ListTagsForResource": "List tags for a CloudFront resource.", - "TagResource": "Add tags to a CloudFront resource.", - "UntagResource": "Remove tags from a CloudFront resource.", - "UpdateCloudFrontOriginAccessIdentity": "Update an origin access identity.", - "UpdateDistribution": "Update a distribution.", - "UpdateStreamingDistribution": "Update a streaming distribution." - }, - "shapes": { - "AccessDenied": { - "base": "Access denied.", - "refs": { - } - }, - "ActiveTrustedSigners": { - "base": "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.", - "refs": { - "Distribution$ActiveTrustedSigners": "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.", - "StreamingDistribution$ActiveTrustedSigners": "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." - } - }, - "AliasList": { - "base": null, - "refs": { - "Aliases$Items": "Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "Aliases": { - "base": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "refs": { - "DistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "DistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "StreamingDistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.", - "StreamingDistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution." - } - }, - "AllowedMethods": { - "base": "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.", - "refs": { - "CacheBehavior$AllowedMethods": null, - "DefaultCacheBehavior$AllowedMethods": null - } - }, - "AwsAccountNumberList": { - "base": null, - "refs": { - "TrustedSigners$Items": "Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "BatchTooLarge": { - "base": null, - "refs": { - } - }, - "CNAMEAlreadyExists": { - "base": null, - "refs": { - } - }, - "CacheBehavior": { - "base": "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.", - "refs": { - "CacheBehaviorList$member": null - } - }, - "CacheBehaviorList": { - "base": null, - "refs": { - "CacheBehaviors$Items": "Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CacheBehaviors": { - "base": "A complex type that contains zero or more CacheBehavior elements.", - "refs": { - "DistributionConfig$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements.", - "DistributionSummary$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements." - } - }, - "CachedMethods": { - "base": "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.", - "refs": { - "AllowedMethods$CachedMethods": null - } - }, - "CertificateSource": { - "base": null, - "refs": { - "ViewerCertificate$CertificateSource": "Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate]." - } - }, - "CloudFrontOriginAccessIdentity": { - "base": "CloudFront origin access identity.", - "refs": { - "CreateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "GetCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "UpdateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information." - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists": { - "base": "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.", - "refs": { - } - }, - "CloudFrontOriginAccessIdentityConfig": { - "base": "Origin access identity configuration.", - "refs": { - "CloudFrontOriginAccessIdentity$CloudFrontOriginAccessIdentityConfig": "The current configuration information for the identity.", - "CreateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "GetCloudFrontOriginAccessIdentityConfigResult$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "UpdateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The identity's configuration information." - } - }, - "CloudFrontOriginAccessIdentityInUse": { - "base": null, - "refs": { - } - }, - "CloudFrontOriginAccessIdentityList": { - "base": "The CloudFrontOriginAccessIdentityList type.", - "refs": { - "ListCloudFrontOriginAccessIdentitiesResult$CloudFrontOriginAccessIdentityList": "The CloudFrontOriginAccessIdentityList type." - } - }, - "CloudFrontOriginAccessIdentitySummary": { - "base": "Summary of the information about a CloudFront origin access identity.", - "refs": { - "CloudFrontOriginAccessIdentitySummaryList$member": null - } - }, - "CloudFrontOriginAccessIdentitySummaryList": { - "base": null, - "refs": { - "CloudFrontOriginAccessIdentityList$Items": "A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account." - } - }, - "CookieNameList": { - "base": null, - "refs": { - "CookieNames$Items": "Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "CookieNames": { - "base": "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.", - "refs": { - "CookiePreference$WhitelistedNames": "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": { - "base": "A complex type that specifies the cookie preferences associated with this cache behavior.", - "refs": { - "ForwardedValues$Cookies": "A complex type that specifies how CloudFront handles cookies." - } - }, - "CreateCloudFrontOriginAccessIdentityRequest": { - "base": "The request to create a new origin access identity.", - "refs": { - } - }, - "CreateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateDistributionRequest": { - "base": "The request to create a new distribution.", - "refs": { - } - }, - "CreateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateDistributionWithTagsRequest": { - "base": "The request to create a new distribution with tags", - "refs": { - } - }, - "CreateDistributionWithTagsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateInvalidationRequest": { - "base": "The request to create an invalidation.", - "refs": { - } - }, - "CreateInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateStreamingDistributionRequest": { - "base": "The request to create a new streaming distribution.", - "refs": { - } - }, - "CreateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateStreamingDistributionWithTagsRequest": { - "base": "The request to create a new streaming distribution with tags.", - "refs": { - } - }, - "CreateStreamingDistributionWithTagsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CustomErrorResponse": { - "base": "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.", - "refs": { - "CustomErrorResponseList$member": null - } - }, - "CustomErrorResponseList": { - "base": null, - "refs": { - "CustomErrorResponses$Items": "Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CustomErrorResponses": { - "base": "A complex type that contains zero or more CustomErrorResponse elements.", - "refs": { - "DistributionConfig$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponse elements.", - "DistributionSummary$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponses elements." - } - }, - "CustomHeaders": { - "base": "A complex type that contains the list of Custom Headers for each origin.", - "refs": { - "Origin$CustomHeaders": "A complex type that contains information about the custom headers associated with this Origin." - } - }, - "CustomOriginConfig": { - "base": "A customer origin.", - "refs": { - "Origin$CustomOriginConfig": "A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead." - } - }, - "DefaultCacheBehavior": { - "base": "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.", - "refs": { - "DistributionConfig$DefaultCacheBehavior": "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.", - "DistributionSummary$DefaultCacheBehavior": "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": { - "base": "The request to delete a origin access identity.", - "refs": { - } - }, - "DeleteDistributionRequest": { - "base": "The request to delete a distribution.", - "refs": { - } - }, - "DeleteStreamingDistributionRequest": { - "base": "The request to delete a streaming distribution.", - "refs": { - } - }, - "Distribution": { - "base": "A distribution.", - "refs": { - "CreateDistributionResult$Distribution": "The distribution's information.", - "CreateDistributionWithTagsResult$Distribution": "The distribution's information.", - "GetDistributionResult$Distribution": "The distribution's information.", - "UpdateDistributionResult$Distribution": "The distribution's information." - } - }, - "DistributionAlreadyExists": { - "base": "The caller reference you attempted to create the distribution with is associated with another distribution.", - "refs": { - } - }, - "DistributionConfig": { - "base": "A distribution Configuration.", - "refs": { - "CreateDistributionRequest$DistributionConfig": "The distribution's configuration information.", - "Distribution$DistributionConfig": "The current configuration information for the distribution.", - "DistributionConfigWithTags$DistributionConfig": "A distribution Configuration.", - "GetDistributionConfigResult$DistributionConfig": "The distribution's configuration information.", - "UpdateDistributionRequest$DistributionConfig": "The distribution's configuration information." - } - }, - "DistributionConfigWithTags": { - "base": "A distribution Configuration and a list of tags to be associated with the distribution.", - "refs": { - "CreateDistributionWithTagsRequest$DistributionConfigWithTags": "The distribution's configuration information." - } - }, - "DistributionList": { - "base": "A distribution list.", - "refs": { - "ListDistributionsByWebACLIdResult$DistributionList": "The DistributionList type.", - "ListDistributionsResult$DistributionList": "The DistributionList type." - } - }, - "DistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "DistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront distribution.", - "refs": { - "DistributionSummaryList$member": null - } - }, - "DistributionSummaryList": { - "base": null, - "refs": { - "DistributionList$Items": "A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "ForwardedValues": { - "base": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "refs": { - "CacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "DefaultCacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers." - } - }, - "GeoRestriction": { - "base": "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.", - "refs": { - "Restrictions$GeoRestriction": null - } - }, - "GeoRestrictionType": { - "base": null, - "refs": { - "GeoRestriction$RestrictionType": "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." - } - }, - "GetCloudFrontOriginAccessIdentityConfigRequest": { - "base": "The request to get an origin access identity's configuration.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityRequest": { - "base": "The request to get an origin access identity's information.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionConfigRequest": { - "base": "The request to get a distribution configuration.", - "refs": { - } - }, - "GetDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionRequest": { - "base": "The request to get a distribution's information.", - "refs": { - } - }, - "GetDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetInvalidationRequest": { - "base": "The request to get an invalidation's information.", - "refs": { - } - }, - "GetInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionConfigRequest": { - "base": "To request to get a streaming distribution configuration.", - "refs": { - } - }, - "GetStreamingDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionRequest": { - "base": "The request to get a streaming distribution's information.", - "refs": { - } - }, - "GetStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "HeaderList": { - "base": null, - "refs": { - "Headers$Items": "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." - } - }, - "Headers": { - "base": "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.", - "refs": { - "ForwardedValues$Headers": "A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "IllegalUpdate": { - "base": "Origin and CallerReference cannot be updated.", - "refs": { - } - }, - "InconsistentQuantities": { - "base": "The value of Quantity and the size of Items do not match.", - "refs": { - } - }, - "InvalidArgument": { - "base": "The argument is invalid.", - "refs": { - } - }, - "InvalidDefaultRootObject": { - "base": "The default root object file name is too big or contains an invalid character.", - "refs": { - } - }, - "InvalidErrorCode": { - "base": null, - "refs": { - } - }, - "InvalidForwardCookies": { - "base": "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.", - "refs": { - } - }, - "InvalidGeoRestrictionParameter": { - "base": null, - "refs": { - } - }, - "InvalidHeadersForS3Origin": { - "base": null, - "refs": { - } - }, - "InvalidIfMatchVersion": { - "base": "The If-Match version is missing or not valid for the distribution.", - "refs": { - } - }, - "InvalidLocationCode": { - "base": null, - "refs": { - } - }, - "InvalidMinimumProtocolVersion": { - "base": null, - "refs": { - } - }, - "InvalidOrigin": { - "base": "The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "refs": { - } - }, - "InvalidOriginAccessIdentity": { - "base": "The origin access identity is not valid or doesn't exist.", - "refs": { - } - }, - "InvalidProtocolSettings": { - "base": "You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "refs": { - } - }, - "InvalidRelativePath": { - "base": "The relative path is too big, is not URL-encoded, or does not begin with a slash (/).", - "refs": { - } - }, - "InvalidRequiredProtocol": { - "base": "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.", - "refs": { - } - }, - "InvalidResponseCode": { - "base": null, - "refs": { - } - }, - "InvalidTTLOrder": { - "base": null, - "refs": { - } - }, - "InvalidTagging": { - "base": "The specified tagging for a CloudFront resource is invalid. For more information, see the error text.", - "refs": { - } - }, - "InvalidViewerCertificate": { - "base": null, - "refs": { - } - }, - "InvalidWebACLId": { - "base": null, - "refs": { - } - }, - "Invalidation": { - "base": "An invalidation.", - "refs": { - "CreateInvalidationResult$Invalidation": "The invalidation's information.", - "GetInvalidationResult$Invalidation": "The invalidation's information." - } - }, - "InvalidationBatch": { - "base": "An invalidation batch.", - "refs": { - "CreateInvalidationRequest$InvalidationBatch": "The batch information for the invalidation.", - "Invalidation$InvalidationBatch": "The current invalidation information for the batch request." - } - }, - "InvalidationList": { - "base": "An invalidation list.", - "refs": { - "ListInvalidationsResult$InvalidationList": "Information about invalidation batches." - } - }, - "InvalidationSummary": { - "base": "Summary of an invalidation request.", - "refs": { - "InvalidationSummaryList$member": null - } - }, - "InvalidationSummaryList": { - "base": null, - "refs": { - "InvalidationList$Items": "A complex type that contains one InvalidationSummary element for each invalidation batch that was created by the current AWS account." - } - }, - "ItemSelection": { - "base": null, - "refs": { - "CookiePreference$Forward": "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." - } - }, - "KeyPairIdList": { - "base": null, - "refs": { - "KeyPairIds$Items": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "KeyPairIds": { - "base": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.", - "refs": { - "Signer$KeyPairIds": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest": { - "base": "The request to list origin access identities.", - "refs": { - } - }, - "ListCloudFrontOriginAccessIdentitiesResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListDistributionsByWebACLIdRequest": { - "base": "The request to list distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsByWebACLIdResult": { - "base": "The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsRequest": { - "base": "The request to list your distributions.", - "refs": { - } - }, - "ListDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListInvalidationsRequest": { - "base": "The request to list invalidations.", - "refs": { - } - }, - "ListInvalidationsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListStreamingDistributionsRequest": { - "base": "The request to list your streaming distributions.", - "refs": { - } - }, - "ListStreamingDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListTagsForResourceRequest": { - "base": "The request to list tags for a CloudFront resource.", - "refs": { - } - }, - "ListTagsForResourceResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "LocationList": { - "base": null, - "refs": { - "GeoRestriction$Items": "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." - } - }, - "LoggingConfig": { - "base": "A complex type that controls whether access logs are written for the distribution.", - "refs": { - "DistributionConfig$Logging": "A complex type that controls whether access logs are written for the distribution." - } - }, - "Method": { - "base": null, - "refs": { - "MethodsList$member": null - } - }, - "MethodsList": { - "base": null, - "refs": { - "AllowedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.", - "CachedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to cache responses to." - } - }, - "MinimumProtocolVersion": { - "base": null, - "refs": { - "ViewerCertificate$MinimumProtocolVersion": "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." - } - }, - "MissingBody": { - "base": "This operation requires a body. Ensure that the body is present and the Content-Type header is set.", - "refs": { - } - }, - "NoSuchCloudFrontOriginAccessIdentity": { - "base": "The specified origin access identity does not exist.", - "refs": { - } - }, - "NoSuchDistribution": { - "base": "The specified distribution does not exist.", - "refs": { - } - }, - "NoSuchInvalidation": { - "base": "The specified invalidation does not exist.", - "refs": { - } - }, - "NoSuchOrigin": { - "base": "No origin exists with the specified Origin Id.", - "refs": { - } - }, - "NoSuchResource": { - "base": "The specified CloudFront resource does not exist.", - "refs": { - } - }, - "NoSuchStreamingDistribution": { - "base": "The specified streaming distribution does not exist.", - "refs": { - } - }, - "Origin": { - "base": "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.", - "refs": { - "OriginList$member": null - } - }, - "OriginCustomHeader": { - "base": "A complex type that contains information related to a Header", - "refs": { - "OriginCustomHeadersList$member": null - } - }, - "OriginCustomHeadersList": { - "base": null, - "refs": { - "CustomHeaders$Items": "A complex type that contains the custom headers for this Origin." - } - }, - "OriginList": { - "base": null, - "refs": { - "Origins$Items": "A complex type that contains origins for this distribution." - } - }, - "OriginProtocolPolicy": { - "base": null, - "refs": { - "CustomOriginConfig$OriginProtocolPolicy": "The origin protocol policy to apply to your origin." - } - }, - "OriginSslProtocols": { - "base": "A complex type that contains the list of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.", - "refs": { - "CustomOriginConfig$OriginSslProtocols": "The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - } - }, - "Origins": { - "base": "A complex type that contains information about origins for this distribution.", - "refs": { - "DistributionConfig$Origins": "A complex type that contains information about origins for this distribution.", - "DistributionSummary$Origins": "A complex type that contains information about origins for this distribution." - } - }, - "PathList": { - "base": null, - "refs": { - "Paths$Items": "A complex type that contains a list of the objects that you want to invalidate." - } - }, - "Paths": { - "base": "A complex type that contains information about the objects that you want to invalidate.", - "refs": { - "InvalidationBatch$Paths": "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." - } - }, - "PreconditionFailed": { - "base": "The precondition given in one or more of the request-header fields evaluated to false.", - "refs": { - } - }, - "PriceClass": { - "base": null, - "refs": { - "DistributionConfig$PriceClass": "A complex type that contains information about price class for this distribution.", - "DistributionSummary$PriceClass": null, - "StreamingDistributionConfig$PriceClass": "A complex type that contains information about price class for this streaming distribution.", - "StreamingDistributionSummary$PriceClass": null - } - }, - "ResourceARN": { - "base": null, - "refs": { - "ListTagsForResourceRequest$Resource": "An ARN of a CloudFront resource.", - "TagResourceRequest$Resource": "An ARN of a CloudFront resource.", - "UntagResourceRequest$Resource": "An ARN of a CloudFront resource." - } - }, - "Restrictions": { - "base": "A complex type that identifies ways in which you want to restrict distribution of your content.", - "refs": { - "DistributionConfig$Restrictions": null, - "DistributionSummary$Restrictions": null - } - }, - "S3Origin": { - "base": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "refs": { - "StreamingDistributionConfig$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "StreamingDistributionSummary$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution." - } - }, - "S3OriginConfig": { - "base": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.", - "refs": { - "Origin$S3OriginConfig": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead." - } - }, - "SSLSupportMethod": { - "base": null, - "refs": { - "ViewerCertificate$SSLSupportMethod": "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." - } - }, - "Signer": { - "base": "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.", - "refs": { - "SignerList$member": null - } - }, - "SignerList": { - "base": null, - "refs": { - "ActiveTrustedSigners$Items": "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." - } - }, - "SslProtocol": { - "base": null, - "refs": { - "SslProtocolsList$member": null - } - }, - "SslProtocolsList": { - "base": null, - "refs": { - "OriginSslProtocols$Items": "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." - } - }, - "StreamingDistribution": { - "base": "A streaming distribution.", - "refs": { - "CreateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "CreateStreamingDistributionWithTagsResult$StreamingDistribution": "The streaming distribution's information.", - "GetStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "UpdateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information." - } - }, - "StreamingDistributionAlreadyExists": { - "base": null, - "refs": { - } - }, - "StreamingDistributionConfig": { - "base": "The configuration for the streaming distribution.", - "refs": { - "CreateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "GetStreamingDistributionConfigResult$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "StreamingDistribution$StreamingDistributionConfig": "The current configuration information for the streaming distribution.", - "StreamingDistributionConfigWithTags$StreamingDistributionConfig": "A streaming distribution Configuration.", - "UpdateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information." - } - }, - "StreamingDistributionConfigWithTags": { - "base": "A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.", - "refs": { - "CreateStreamingDistributionWithTagsRequest$StreamingDistributionConfigWithTags": "The streaming distribution's configuration information." - } - }, - "StreamingDistributionList": { - "base": "A streaming distribution list.", - "refs": { - "ListStreamingDistributionsResult$StreamingDistributionList": "The StreamingDistributionList type." - } - }, - "StreamingDistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "StreamingDistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront streaming distribution.", - "refs": { - "StreamingDistributionSummaryList$member": null - } - }, - "StreamingDistributionSummaryList": { - "base": null, - "refs": { - "StreamingDistributionList$Items": "A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "StreamingLoggingConfig": { - "base": "A complex type that controls whether access logs are written for this streaming distribution.", - "refs": { - "StreamingDistributionConfig$Logging": "A complex type that controls whether access logs are written for the streaming distribution." - } - }, - "Tag": { - "base": "A complex type that contains Tag key and Tag value.", - "refs": { - "TagList$member": null - } - }, - "TagKey": { - "base": "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 _ - . : / = + @.", - "refs": { - "Tag$Key": "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 _ - . : / = + @.", - "TagKeyList$member": null - } - }, - "TagKeyList": { - "base": null, - "refs": { - "TagKeys$Items": "A complex type that contains Tag key elements" - } - }, - "TagKeys": { - "base": "A complex type that contains zero or more Tag elements.", - "refs": { - "UntagResourceRequest$TagKeys": "A complex type that contains zero or more Tag key elements." - } - }, - "TagList": { - "base": null, - "refs": { - "Tags$Items": "A complex type that contains Tag elements" - } - }, - "TagResourceRequest": { - "base": "The request to add tags to a CloudFront resource.", - "refs": { - } - }, - "TagValue": { - "base": null, - "refs": { - "Tag$Value": "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 _ - . : / = + @." - } - }, - "Tags": { - "base": "A complex type that contains zero or more Tag elements.", - "refs": { - "DistributionConfigWithTags$Tags": "A complex type that contains zero or more Tag elements.", - "ListTagsForResourceResult$Tags": "A complex type that contains zero or more Tag elements.", - "StreamingDistributionConfigWithTags$Tags": "A complex type that contains zero or more Tag elements.", - "TagResourceRequest$Tags": "A complex type that contains zero or more Tag elements." - } - }, - "TooManyCacheBehaviors": { - "base": "You cannot create anymore cache behaviors for the distribution.", - "refs": { - } - }, - "TooManyCertificates": { - "base": "You cannot create anymore custom ssl certificates.", - "refs": { - } - }, - "TooManyCloudFrontOriginAccessIdentities": { - "base": "Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "refs": { - } - }, - "TooManyCookieNamesInWhiteList": { - "base": "Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "refs": { - } - }, - "TooManyDistributionCNAMEs": { - "base": "Your request contains more CNAMEs than are allowed per distribution.", - "refs": { - } - }, - "TooManyDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of distributions allowed.", - "refs": { - } - }, - "TooManyHeadersInForwardedValues": { - "base": null, - "refs": { - } - }, - "TooManyInvalidationsInProgress": { - "base": "You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "refs": { - } - }, - "TooManyOriginCustomHeaders": { - "base": null, - "refs": { - } - }, - "TooManyOrigins": { - "base": "You cannot create anymore origins for the distribution.", - "refs": { - } - }, - "TooManyStreamingDistributionCNAMEs": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of streaming distributions allowed.", - "refs": { - } - }, - "TooManyTrustedSigners": { - "base": "Your request contains more trusted signers than are allowed per distribution.", - "refs": { - } - }, - "TrustedSignerDoesNotExist": { - "base": "One or more of your trusted signers do not exist.", - "refs": { - } - }, - "TrustedSigners": { - "base": "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.", - "refs": { - "CacheBehavior$TrustedSigners": "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.", - "DefaultCacheBehavior$TrustedSigners": "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.", - "StreamingDistributionConfig$TrustedSigners": "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.", - "StreamingDistributionSummary$TrustedSigners": "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": { - "base": "The request to remove tags from a CloudFront resource.", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityRequest": { - "base": "The request to update an origin access identity.", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateDistributionRequest": { - "base": "The request to update a distribution.", - "refs": { - } - }, - "UpdateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateStreamingDistributionRequest": { - "base": "The request to update a streaming distribution.", - "refs": { - } - }, - "UpdateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ViewerCertificate": { - "base": "A complex type that contains information about viewer certificates for this distribution.", - "refs": { - "DistributionConfig$ViewerCertificate": null, - "DistributionSummary$ViewerCertificate": null - } - }, - "ViewerProtocolPolicy": { - "base": null, - "refs": { - "CacheBehavior$ViewerProtocolPolicy": "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.", - "DefaultCacheBehavior$ViewerProtocolPolicy": "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." - } - }, - "boolean": { - "base": null, - "refs": { - "ActiveTrustedSigners$Enabled": "Each active trusted signer.", - "CacheBehavior$SmoothStreaming": "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.", - "CacheBehavior$Compress": "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.", - "CloudFrontOriginAccessIdentityList$IsTruncated": "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.", - "DefaultCacheBehavior$SmoothStreaming": "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.", - "DefaultCacheBehavior$Compress": "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.", - "DistributionConfig$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "DistributionList$IsTruncated": "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.", - "DistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "ForwardedValues$QueryString": "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.", - "InvalidationList$IsTruncated": "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.", - "LoggingConfig$Enabled": "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.", - "LoggingConfig$IncludeCookies": "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.", - "StreamingDistributionConfig$Enabled": "Whether the streaming distribution is enabled to accept end user requests for content.", - "StreamingDistributionList$IsTruncated": "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.", - "StreamingDistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "StreamingLoggingConfig$Enabled": "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.", - "TrustedSigners$Enabled": "Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.", - "ViewerCertificate$CloudFrontDefaultCertificate": "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." - } - }, - "integer": { - "base": null, - "refs": { - "ActiveTrustedSigners$Quantity": "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.", - "Aliases$Quantity": "The number of CNAMEs, if any, for this distribution.", - "AllowedMethods$Quantity": "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).", - "CacheBehaviors$Quantity": "The number of cache behaviors for this distribution.", - "CachedMethods$Quantity": "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).", - "CloudFrontOriginAccessIdentityList$MaxItems": "The value you provided for the MaxItems request parameter.", - "CloudFrontOriginAccessIdentityList$Quantity": "The number of CloudFront origin access identities that were created by the current AWS account.", - "CookieNames$Quantity": "The number of whitelisted cookies for this cache behavior.", - "CustomErrorResponse$ErrorCode": "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.", - "CustomErrorResponses$Quantity": "The number of custom error responses for this distribution.", - "CustomHeaders$Quantity": "The number of custom headers for this origin.", - "CustomOriginConfig$HTTPPort": "The HTTP port the custom origin listens on.", - "CustomOriginConfig$HTTPSPort": "The HTTPS port the custom origin listens on.", - "Distribution$InProgressInvalidationBatches": "The number of invalidation batches currently in progress.", - "DistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "DistributionList$Quantity": "The number of distributions that were created by the current AWS account.", - "GeoRestriction$Quantity": "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.", - "Headers$Quantity": "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.", - "InvalidationList$MaxItems": "The value you provided for the MaxItems request parameter.", - "InvalidationList$Quantity": "The number of invalidation batches that were created by the current AWS account.", - "KeyPairIds$Quantity": "The number of active CloudFront key pairs for AwsAccountNumber.", - "OriginSslProtocols$Quantity": "The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS connection with this origin.", - "Origins$Quantity": "The number of origins for this distribution.", - "Paths$Quantity": "The number of objects that you want to invalidate.", - "StreamingDistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "StreamingDistributionList$Quantity": "The number of streaming distributions that were created by the current AWS account.", - "TrustedSigners$Quantity": "The number of trusted signers for this cache behavior." - } - }, - "long": { - "base": null, - "refs": { - "CacheBehavior$MinTTL": "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).", - "CacheBehavior$DefaultTTL": "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).", - "CacheBehavior$MaxTTL": "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).", - "CustomErrorResponse$ErrorCachingMinTTL": "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.", - "DefaultCacheBehavior$MinTTL": "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).", - "DefaultCacheBehavior$DefaultTTL": "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).", - "DefaultCacheBehavior$MaxTTL": "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)." - } - }, - "string": { - "base": null, - "refs": { - "AccessDenied$Message": null, - "AliasList$member": null, - "AwsAccountNumberList$member": null, - "BatchTooLarge$Message": null, - "CNAMEAlreadyExists$Message": null, - "CacheBehavior$PathPattern": "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.", - "CacheBehavior$TargetOriginId": "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.", - "CloudFrontOriginAccessIdentity$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, - "CloudFrontOriginAccessIdentityConfig$CallerReference": "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.", - "CloudFrontOriginAccessIdentityConfig$Comment": "Any comments you want to include about the origin access identity.", - "CloudFrontOriginAccessIdentityInUse$Message": null, - "CloudFrontOriginAccessIdentityList$Marker": "The value you provided for the Marker request parameter.", - "CloudFrontOriginAccessIdentityList$NextMarker": "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.", - "CloudFrontOriginAccessIdentitySummary$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentitySummary$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentitySummary$Comment": "The comment for this origin access identity, as originally specified when created.", - "CookieNameList$member": null, - "CreateCloudFrontOriginAccessIdentityResult$Location": "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.", - "CreateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity created.", - "CreateDistributionResult$Location": "The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "CreateDistributionResult$ETag": "The current version of the distribution created.", - "CreateDistributionWithTagsResult$Location": "The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "CreateDistributionWithTagsResult$ETag": "The current version of the distribution created.", - "CreateInvalidationRequest$DistributionId": "The distribution's id.", - "CreateInvalidationResult$Location": "The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.", - "CreateStreamingDistributionResult$Location": "The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "CreateStreamingDistributionResult$ETag": "The current version of the streaming distribution created.", - "CreateStreamingDistributionWithTagsResult$Location": "The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "CreateStreamingDistributionWithTagsResult$ETag": "The current version of the streaming distribution created.", - "CustomErrorResponse$ResponsePagePath": "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.", - "CustomErrorResponse$ResponseCode": "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.", - "DefaultCacheBehavior$TargetOriginId": "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.", - "DeleteCloudFrontOriginAccessIdentityRequest$Id": "The origin access identity's id.", - "DeleteCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.", - "DeleteDistributionRequest$Id": "The distribution id.", - "DeleteDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "DeleteStreamingDistributionRequest$Id": "The distribution id.", - "DeleteStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.", - "Distribution$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "Distribution$ARN": "The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account Id.", - "Distribution$Status": "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.", - "Distribution$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionAlreadyExists$Message": null, - "DistributionConfig$CallerReference": "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.", - "DistributionConfig$DefaultRootObject": "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.", - "DistributionConfig$Comment": "Any comments you want to include about the distribution.", - "DistributionConfig$WebACLId": "(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.", - "DistributionList$Marker": "The value you provided for the Marker request parameter.", - "DistributionList$NextMarker": "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.", - "DistributionNotDisabled$Message": null, - "DistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "DistributionSummary$ARN": "The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account Id.", - "DistributionSummary$Status": "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.", - "DistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "DistributionSummary$WebACLId": "The Web ACL Id (if any) associated with the distribution.", - "GetCloudFrontOriginAccessIdentityConfigRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.", - "GetDistributionConfigRequest$Id": "The distribution's id.", - "GetDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetDistributionRequest$Id": "The distribution's id.", - "GetDistributionResult$ETag": "The current version of the distribution's information. For example: E2QWRUHAPOMQZL.", - "GetInvalidationRequest$DistributionId": "The distribution's id.", - "GetInvalidationRequest$Id": "The invalidation's id.", - "GetStreamingDistributionConfigRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetStreamingDistributionRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionResult$ETag": "The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.", - "HeaderList$member": null, - "IllegalUpdate$Message": null, - "InconsistentQuantities$Message": null, - "InvalidArgument$Message": null, - "InvalidDefaultRootObject$Message": null, - "InvalidErrorCode$Message": null, - "InvalidForwardCookies$Message": null, - "InvalidGeoRestrictionParameter$Message": null, - "InvalidHeadersForS3Origin$Message": null, - "InvalidIfMatchVersion$Message": null, - "InvalidLocationCode$Message": null, - "InvalidMinimumProtocolVersion$Message": null, - "InvalidOrigin$Message": null, - "InvalidOriginAccessIdentity$Message": null, - "InvalidProtocolSettings$Message": null, - "InvalidRelativePath$Message": null, - "InvalidRequiredProtocol$Message": null, - "InvalidResponseCode$Message": null, - "InvalidTTLOrder$Message": null, - "InvalidTagging$Message": null, - "InvalidViewerCertificate$Message": null, - "InvalidWebACLId$Message": null, - "Invalidation$Id": "The identifier for the invalidation request. For example: IDFDVBD632BHDS5.", - "Invalidation$Status": "The status of the invalidation request. When the invalidation batch is finished, the status is Completed.", - "InvalidationBatch$CallerReference": "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.", - "InvalidationList$Marker": "The value you provided for the Marker request parameter.", - "InvalidationList$NextMarker": "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.", - "InvalidationSummary$Id": "The unique ID for an invalidation request.", - "InvalidationSummary$Status": "The status of an invalidation request.", - "KeyPairIdList$member": null, - "ListCloudFrontOriginAccessIdentitiesRequest$Marker": "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).", - "ListCloudFrontOriginAccessIdentitiesRequest$MaxItems": "The maximum number of origin access identities you want in the response body.", - "ListDistributionsByWebACLIdRequest$Marker": "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.)", - "ListDistributionsByWebACLIdRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListDistributionsByWebACLIdRequest$WebACLId": "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.", - "ListDistributionsRequest$Marker": "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.)", - "ListDistributionsRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListInvalidationsRequest$DistributionId": "The distribution's id.", - "ListInvalidationsRequest$Marker": "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.", - "ListInvalidationsRequest$MaxItems": "The maximum number of invalidation batches you want in the response body.", - "ListStreamingDistributionsRequest$Marker": "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).", - "ListStreamingDistributionsRequest$MaxItems": "The maximum number of streaming distributions you want in the response body.", - "LocationList$member": null, - "LoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "LoggingConfig$Prefix": "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.", - "MissingBody$Message": null, - "NoSuchCloudFrontOriginAccessIdentity$Message": null, - "NoSuchDistribution$Message": null, - "NoSuchInvalidation$Message": null, - "NoSuchOrigin$Message": null, - "NoSuchResource$Message": null, - "NoSuchStreamingDistribution$Message": null, - "Origin$Id": "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.", - "Origin$DomainName": "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.", - "Origin$OriginPath": "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.", - "OriginCustomHeader$HeaderName": "The header's name.", - "OriginCustomHeader$HeaderValue": "The header's value.", - "PathList$member": null, - "PreconditionFailed$Message": null, - "S3Origin$DomainName": "The DNS name of the S3 origin.", - "S3Origin$OriginAccessIdentity": "Your S3 origin's origin access identity.", - "S3OriginConfig$OriginAccessIdentity": "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.", - "Signer$AwsAccountNumber": "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.", - "StreamingDistribution$Id": "The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.", - "StreamingDistribution$ARN": "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.", - "StreamingDistribution$Status": "The current status of the streaming distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistribution$DomainName": "The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.", - "StreamingDistributionAlreadyExists$Message": null, - "StreamingDistributionConfig$CallerReference": "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.", - "StreamingDistributionConfig$Comment": "Any comments you want to include about the streaming distribution.", - "StreamingDistributionList$Marker": "The value you provided for the Marker request parameter.", - "StreamingDistributionList$NextMarker": "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.", - "StreamingDistributionNotDisabled$Message": null, - "StreamingDistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "StreamingDistributionSummary$ARN": "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.", - "StreamingDistributionSummary$Status": "Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "StreamingDistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "StreamingLoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "StreamingLoggingConfig$Prefix": "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.", - "TooManyCacheBehaviors$Message": null, - "TooManyCertificates$Message": null, - "TooManyCloudFrontOriginAccessIdentities$Message": null, - "TooManyCookieNamesInWhiteList$Message": null, - "TooManyDistributionCNAMEs$Message": null, - "TooManyDistributions$Message": null, - "TooManyHeadersInForwardedValues$Message": null, - "TooManyInvalidationsInProgress$Message": null, - "TooManyOriginCustomHeaders$Message": null, - "TooManyOrigins$Message": null, - "TooManyStreamingDistributionCNAMEs$Message": null, - "TooManyStreamingDistributions$Message": null, - "TooManyTrustedSigners$Message": null, - "TrustedSignerDoesNotExist$Message": null, - "UpdateCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "UpdateCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionRequest$Id": "The distribution's id.", - "UpdateDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionRequest$Id": "The streaming distribution's id.", - "UpdateStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "ViewerCertificate$IAMCertificateId": "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.", - "ViewerCertificate$ACMCertificateArn": "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.", - "ViewerCertificate$Certificate": "Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate]." - } - }, - "timestamp": { - "base": null, - "refs": { - "Distribution$LastModifiedTime": "The date and time the distribution was last modified.", - "DistributionSummary$LastModifiedTime": "The date and time the distribution was last modified.", - "Invalidation$CreateTime": "The date and time the invalidation request was first made.", - "InvalidationSummary$CreateTime": null, - "StreamingDistribution$LastModifiedTime": "The date and time the distribution was last modified.", - "StreamingDistributionSummary$LastModifiedTime": "The date and time the distribution was last modified." - } - } - } -} diff --git a/models/apis/cloudfront/2016-08-01/paginators-1.json b/models/apis/cloudfront/2016-08-01/paginators-1.json deleted file mode 100644 index 51fbb907fa3..00000000000 --- a/models/apis/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/models/apis/cloudfront/2016-08-01/waiters-2.json b/models/apis/cloudfront/2016-08-01/waiters-2.json deleted file mode 100644 index edd74b2a3b4..00000000000 --- a/models/apis/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": 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/models/apis/cloudfront/2016-08-20/api-2.json b/models/apis/cloudfront/2016-08-20/api-2.json deleted file mode 100755 index a8f3caf4cc3..00000000000 --- a/models/apis/cloudfront/2016-08-20/api-2.json +++ /dev/null @@ -1,2586 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"cloudfront-2016-08-20", - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListDistributions":{ - "name":"ListDistributions2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"SignerList"} - } - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AliasList"} - } - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"}, - "CachedMethods":{"shape":"CachedMethods"} - } - }, - "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"}, - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CacheBehaviorList"} - } - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"} - } - }, - "CertificateSource":{ - "type":"string", - "enum":[ - "cloudfront", - "iam", - "acm" - ] - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"} - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CloudFrontOriginAccessIdentitySummaryList"} - } - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"CookieNameList"} - } - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{"shape":"ItemSelection"}, - "WhitelistedNames":{"shape":"CookieNames"} - } - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateDistributionWithTagsRequest":{ - "type":"structure", - "required":["DistributionConfigWithTags"], - "members":{ - "DistributionConfigWithTags":{ - "shape":"DistributionConfigWithTags", - "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "payload":"DistributionConfigWithTags" - }, - "CreateDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CreateStreamingDistributionWithTagsRequest":{ - "type":"structure", - "required":["StreamingDistributionConfigWithTags"], - "members":{ - "StreamingDistributionConfigWithTags":{ - "shape":"StreamingDistributionConfigWithTags", - "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "payload":"StreamingDistributionConfigWithTags" - }, - "CreateStreamingDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"integer"}, - "ResponsePagePath":{"shape":"string"}, - "ResponseCode":{"shape":"string"}, - "ErrorCachingMinTTL":{"shape":"long"} - } - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CustomErrorResponseList"} - } - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginCustomHeadersList"} - } - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{"shape":"integer"}, - "HTTPSPort":{"shape":"integer"}, - "OriginProtocolPolicy":{"shape":"OriginProtocolPolicy"}, - "OriginSslProtocols":{"shape":"OriginSslProtocols"} - } - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{"shape":"string"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "InProgressInvalidationBatches":{"shape":"integer"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "DistributionConfig":{"shape":"DistributionConfig"} - } - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "DefaultRootObject":{"shape":"string"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"LoggingConfig"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"} - } - }, - "DistributionConfigWithTags":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Tags" - ], - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "Tags":{"shape":"Tags"} - } - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"DistributionSummaryList"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"} - } - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{"shape":"boolean"}, - "Cookies":{"shape":"CookiePreference"}, - "Headers":{"shape":"Headers"}, - "QueryStringCacheKeys":{"shape":"QueryStringCacheKeys"} - } - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{"shape":"GeoRestrictionType"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"LocationList"} - } - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"HeaderList"} - } - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"}, - "Status":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "InvalidationBatch":{"shape":"InvalidationBatch"} - } - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{"shape":"Paths"}, - "CallerReference":{"shape":"string"} - } - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"InvalidationSummaryList"} - } - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "Status":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"KeyPairIdList"} - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{"shape":"CloudFrontOriginAccessIdentityList"} - }, - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "location":"uri", - "locationName":"WebACLId" - } - } - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{"shape":"InvalidationList"} - }, - "payload":"InvalidationList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{"shape":"StreamingDistributionList"} - }, - "payload":"StreamingDistributionList" - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["Resource"], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - } - } - }, - "ListTagsForResourceResult":{ - "type":"structure", - "required":["Tags"], - "members":{ - "Tags":{"shape":"Tags"} - }, - "payload":"Tags" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "IncludeCookies":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "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 - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchResource":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{"shape":"string"}, - "DomainName":{"shape":"string"}, - "OriginPath":{"shape":"string"}, - "CustomHeaders":{"shape":"CustomHeaders"}, - "S3OriginConfig":{"shape":"S3OriginConfig"}, - "CustomOriginConfig":{"shape":"CustomOriginConfig"} - } - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{"shape":"string"}, - "HeaderValue":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"SslProtocolsList"} - } - }, - "Origins":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginList"} - } - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"PathList"} - } - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "QueryStringCacheKeys":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"QueryStringCacheKeysList"} - } - }, - "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"} - } - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{"shape":"string"}, - "OriginAccessIdentity":{"shape":"string"} - } - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{"shape":"string"} - } - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{"shape":"string"}, - "KeyPairIds":{"shape":"KeyPairIds"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"} - } - }, - "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"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"StreamingLoggingConfig"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionConfigWithTags":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Tags" - ], - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "Tags":{"shape":"Tags"} - } - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"StreamingDistributionSummaryList"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{"shape":"TagKey"}, - "Value":{"shape":"TagValue"} - } - }, - "TagKey":{ - "type":"string", - "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"} - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "Tags" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - }, - "Tags":{ - "shape":"Tags", - "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "payload":"Tags" - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"structure", - "members":{ - "Items":{"shape":"TagList"} - } - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AwsAccountNumberList"} - } - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - }, - "TagKeys":{ - "shape":"TagKeys", - "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "payload":"TagKeys" - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{"shape":"boolean"}, - "IAMCertificateId":{"shape":"string"}, - "ACMCertificateArn":{"shape":"string"}, - "SSLSupportMethod":{"shape":"SSLSupportMethod"}, - "MinimumProtocolVersion":{"shape":"MinimumProtocolVersion"}, - "Certificate":{ - "shape":"string", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "deprecated":true - } - } - }, - "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/models/apis/cloudfront/2016-08-20/docs-2.json b/models/apis/cloudfront/2016-08-20/docs-2.json deleted file mode 100755 index 0497df08484..00000000000 --- a/models/apis/cloudfront/2016-08-20/docs-2.json +++ /dev/null @@ -1,1381 +0,0 @@ -{ - "version": "2.0", - "service": "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.

", - "operations": { - "CreateCloudFrontOriginAccessIdentity": "Create a new origin access identity.", - "CreateDistribution": "Create a new distribution.", - "CreateDistributionWithTags": "Create a new distribution with tags.", - "CreateInvalidation": "Create a new invalidation.", - "CreateStreamingDistribution": "Create a new streaming distribution.", - "CreateStreamingDistributionWithTags": "Create a new streaming distribution with tags.", - "DeleteCloudFrontOriginAccessIdentity": "Delete an origin access identity.", - "DeleteDistribution": "Delete a distribution.", - "DeleteStreamingDistribution": "Delete a streaming distribution.", - "GetCloudFrontOriginAccessIdentity": "Get the information about an origin access identity.", - "GetCloudFrontOriginAccessIdentityConfig": "Get the configuration information about an origin access identity.", - "GetDistribution": "Get the information about a distribution.", - "GetDistributionConfig": "Get the configuration information about a distribution.", - "GetInvalidation": "Get the information about an invalidation.", - "GetStreamingDistribution": "Get the information about a streaming distribution.", - "GetStreamingDistributionConfig": "Get the configuration information about a streaming distribution.", - "ListCloudFrontOriginAccessIdentities": "List origin access identities.", - "ListDistributions": "List distributions.", - "ListDistributionsByWebACLId": "List the distributions that are associated with a specified AWS WAF web ACL.", - "ListInvalidations": "List invalidation batches.", - "ListStreamingDistributions": "List streaming distributions.", - "ListTagsForResource": "List tags for a CloudFront resource.", - "TagResource": "Add tags to a CloudFront resource.", - "UntagResource": "Remove tags from a CloudFront resource.", - "UpdateCloudFrontOriginAccessIdentity": "Update an origin access identity.", - "UpdateDistribution": "Update a distribution.", - "UpdateStreamingDistribution": "Update a streaming distribution." - }, - "shapes": { - "AccessDenied": { - "base": "Access denied.", - "refs": { - } - }, - "ActiveTrustedSigners": { - "base": "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.", - "refs": { - "Distribution$ActiveTrustedSigners": "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.", - "StreamingDistribution$ActiveTrustedSigners": "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." - } - }, - "AliasList": { - "base": null, - "refs": { - "Aliases$Items": "Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "Aliases": { - "base": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "refs": { - "DistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "DistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "StreamingDistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.", - "StreamingDistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution." - } - }, - "AllowedMethods": { - "base": "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.", - "refs": { - "CacheBehavior$AllowedMethods": null, - "DefaultCacheBehavior$AllowedMethods": null - } - }, - "AwsAccountNumberList": { - "base": null, - "refs": { - "TrustedSigners$Items": "Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "BatchTooLarge": { - "base": null, - "refs": { - } - }, - "CNAMEAlreadyExists": { - "base": null, - "refs": { - } - }, - "CacheBehavior": { - "base": "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.", - "refs": { - "CacheBehaviorList$member": null - } - }, - "CacheBehaviorList": { - "base": null, - "refs": { - "CacheBehaviors$Items": "Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CacheBehaviors": { - "base": "A complex type that contains zero or more CacheBehavior elements.", - "refs": { - "DistributionConfig$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements.", - "DistributionSummary$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements." - } - }, - "CachedMethods": { - "base": "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.", - "refs": { - "AllowedMethods$CachedMethods": null - } - }, - "CertificateSource": { - "base": null, - "refs": { - "ViewerCertificate$CertificateSource": "Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate]." - } - }, - "CloudFrontOriginAccessIdentity": { - "base": "CloudFront origin access identity.", - "refs": { - "CreateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "GetCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "UpdateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information." - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists": { - "base": "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.", - "refs": { - } - }, - "CloudFrontOriginAccessIdentityConfig": { - "base": "Origin access identity configuration.", - "refs": { - "CloudFrontOriginAccessIdentity$CloudFrontOriginAccessIdentityConfig": "The current configuration information for the identity.", - "CreateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "GetCloudFrontOriginAccessIdentityConfigResult$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "UpdateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The identity's configuration information." - } - }, - "CloudFrontOriginAccessIdentityInUse": { - "base": null, - "refs": { - } - }, - "CloudFrontOriginAccessIdentityList": { - "base": "The CloudFrontOriginAccessIdentityList type.", - "refs": { - "ListCloudFrontOriginAccessIdentitiesResult$CloudFrontOriginAccessIdentityList": "The CloudFrontOriginAccessIdentityList type." - } - }, - "CloudFrontOriginAccessIdentitySummary": { - "base": "Summary of the information about a CloudFront origin access identity.", - "refs": { - "CloudFrontOriginAccessIdentitySummaryList$member": null - } - }, - "CloudFrontOriginAccessIdentitySummaryList": { - "base": null, - "refs": { - "CloudFrontOriginAccessIdentityList$Items": "A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account." - } - }, - "CookieNameList": { - "base": null, - "refs": { - "CookieNames$Items": "Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "CookieNames": { - "base": "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.", - "refs": { - "CookiePreference$WhitelistedNames": "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": { - "base": "A complex type that specifies the cookie preferences associated with this cache behavior.", - "refs": { - "ForwardedValues$Cookies": "A complex type that specifies how CloudFront handles cookies." - } - }, - "CreateCloudFrontOriginAccessIdentityRequest": { - "base": "The request to create a new origin access identity.", - "refs": { - } - }, - "CreateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateDistributionRequest": { - "base": "The request to create a new distribution.", - "refs": { - } - }, - "CreateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateDistributionWithTagsRequest": { - "base": "The request to create a new distribution with tags", - "refs": { - } - }, - "CreateDistributionWithTagsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateInvalidationRequest": { - "base": "The request to create an invalidation.", - "refs": { - } - }, - "CreateInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateStreamingDistributionRequest": { - "base": "The request to create a new streaming distribution.", - "refs": { - } - }, - "CreateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateStreamingDistributionWithTagsRequest": { - "base": "The request to create a new streaming distribution with tags.", - "refs": { - } - }, - "CreateStreamingDistributionWithTagsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CustomErrorResponse": { - "base": "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.", - "refs": { - "CustomErrorResponseList$member": null - } - }, - "CustomErrorResponseList": { - "base": null, - "refs": { - "CustomErrorResponses$Items": "Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CustomErrorResponses": { - "base": "A complex type that contains zero or more CustomErrorResponse elements.", - "refs": { - "DistributionConfig$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponse elements.", - "DistributionSummary$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponses elements." - } - }, - "CustomHeaders": { - "base": "A complex type that contains the list of Custom Headers for each origin.", - "refs": { - "Origin$CustomHeaders": "A complex type that contains information about the custom headers associated with this Origin." - } - }, - "CustomOriginConfig": { - "base": "A customer origin.", - "refs": { - "Origin$CustomOriginConfig": "A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead." - } - }, - "DefaultCacheBehavior": { - "base": "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.", - "refs": { - "DistributionConfig$DefaultCacheBehavior": "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.", - "DistributionSummary$DefaultCacheBehavior": "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": { - "base": "The request to delete a origin access identity.", - "refs": { - } - }, - "DeleteDistributionRequest": { - "base": "The request to delete a distribution.", - "refs": { - } - }, - "DeleteStreamingDistributionRequest": { - "base": "The request to delete a streaming distribution.", - "refs": { - } - }, - "Distribution": { - "base": "A distribution.", - "refs": { - "CreateDistributionResult$Distribution": "The distribution's information.", - "CreateDistributionWithTagsResult$Distribution": "The distribution's information.", - "GetDistributionResult$Distribution": "The distribution's information.", - "UpdateDistributionResult$Distribution": "The distribution's information." - } - }, - "DistributionAlreadyExists": { - "base": "The caller reference you attempted to create the distribution with is associated with another distribution.", - "refs": { - } - }, - "DistributionConfig": { - "base": "A distribution Configuration.", - "refs": { - "CreateDistributionRequest$DistributionConfig": "The distribution's configuration information.", - "Distribution$DistributionConfig": "The current configuration information for the distribution.", - "DistributionConfigWithTags$DistributionConfig": "A distribution Configuration.", - "GetDistributionConfigResult$DistributionConfig": "The distribution's configuration information.", - "UpdateDistributionRequest$DistributionConfig": "The distribution's configuration information." - } - }, - "DistributionConfigWithTags": { - "base": "A distribution Configuration and a list of tags to be associated with the distribution.", - "refs": { - "CreateDistributionWithTagsRequest$DistributionConfigWithTags": "The distribution's configuration information." - } - }, - "DistributionList": { - "base": "A distribution list.", - "refs": { - "ListDistributionsByWebACLIdResult$DistributionList": "The DistributionList type.", - "ListDistributionsResult$DistributionList": "The DistributionList type." - } - }, - "DistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "DistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront distribution.", - "refs": { - "DistributionSummaryList$member": null - } - }, - "DistributionSummaryList": { - "base": null, - "refs": { - "DistributionList$Items": "A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "ForwardedValues": { - "base": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "refs": { - "CacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "DefaultCacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers." - } - }, - "GeoRestriction": { - "base": "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.", - "refs": { - "Restrictions$GeoRestriction": null - } - }, - "GeoRestrictionType": { - "base": null, - "refs": { - "GeoRestriction$RestrictionType": "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." - } - }, - "GetCloudFrontOriginAccessIdentityConfigRequest": { - "base": "The request to get an origin access identity's configuration.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityRequest": { - "base": "The request to get an origin access identity's information.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionConfigRequest": { - "base": "The request to get a distribution configuration.", - "refs": { - } - }, - "GetDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionRequest": { - "base": "The request to get a distribution's information.", - "refs": { - } - }, - "GetDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetInvalidationRequest": { - "base": "The request to get an invalidation's information.", - "refs": { - } - }, - "GetInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionConfigRequest": { - "base": "To request to get a streaming distribution configuration.", - "refs": { - } - }, - "GetStreamingDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionRequest": { - "base": "The request to get a streaming distribution's information.", - "refs": { - } - }, - "GetStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "HeaderList": { - "base": null, - "refs": { - "Headers$Items": "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." - } - }, - "Headers": { - "base": "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.", - "refs": { - "ForwardedValues$Headers": "A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "IllegalUpdate": { - "base": "Origin and CallerReference cannot be updated.", - "refs": { - } - }, - "InconsistentQuantities": { - "base": "The value of Quantity and the size of Items do not match.", - "refs": { - } - }, - "InvalidArgument": { - "base": "The argument is invalid.", - "refs": { - } - }, - "InvalidDefaultRootObject": { - "base": "The default root object file name is too big or contains an invalid character.", - "refs": { - } - }, - "InvalidErrorCode": { - "base": null, - "refs": { - } - }, - "InvalidForwardCookies": { - "base": "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.", - "refs": { - } - }, - "InvalidGeoRestrictionParameter": { - "base": null, - "refs": { - } - }, - "InvalidHeadersForS3Origin": { - "base": null, - "refs": { - } - }, - "InvalidIfMatchVersion": { - "base": "The If-Match version is missing or not valid for the distribution.", - "refs": { - } - }, - "InvalidLocationCode": { - "base": null, - "refs": { - } - }, - "InvalidMinimumProtocolVersion": { - "base": null, - "refs": { - } - }, - "InvalidOrigin": { - "base": "The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "refs": { - } - }, - "InvalidOriginAccessIdentity": { - "base": "The origin access identity is not valid or doesn't exist.", - "refs": { - } - }, - "InvalidProtocolSettings": { - "base": "You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "refs": { - } - }, - "InvalidQueryStringParameters": { - "base": null, - "refs": { - } - }, - "InvalidRelativePath": { - "base": "The relative path is too big, is not URL-encoded, or does not begin with a slash (/).", - "refs": { - } - }, - "InvalidRequiredProtocol": { - "base": "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.", - "refs": { - } - }, - "InvalidResponseCode": { - "base": null, - "refs": { - } - }, - "InvalidTTLOrder": { - "base": null, - "refs": { - } - }, - "InvalidTagging": { - "base": "The specified tagging for a CloudFront resource is invalid. For more information, see the error text.", - "refs": { - } - }, - "InvalidViewerCertificate": { - "base": null, - "refs": { - } - }, - "InvalidWebACLId": { - "base": null, - "refs": { - } - }, - "Invalidation": { - "base": "An invalidation.", - "refs": { - "CreateInvalidationResult$Invalidation": "The invalidation's information.", - "GetInvalidationResult$Invalidation": "The invalidation's information." - } - }, - "InvalidationBatch": { - "base": "An invalidation batch.", - "refs": { - "CreateInvalidationRequest$InvalidationBatch": "The batch information for the invalidation.", - "Invalidation$InvalidationBatch": "The current invalidation information for the batch request." - } - }, - "InvalidationList": { - "base": "An invalidation list.", - "refs": { - "ListInvalidationsResult$InvalidationList": "Information about invalidation batches." - } - }, - "InvalidationSummary": { - "base": "Summary of an invalidation request.", - "refs": { - "InvalidationSummaryList$member": null - } - }, - "InvalidationSummaryList": { - "base": null, - "refs": { - "InvalidationList$Items": "A complex type that contains one InvalidationSummary element for each invalidation batch that was created by the current AWS account." - } - }, - "ItemSelection": { - "base": null, - "refs": { - "CookiePreference$Forward": "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." - } - }, - "KeyPairIdList": { - "base": null, - "refs": { - "KeyPairIds$Items": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "KeyPairIds": { - "base": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.", - "refs": { - "Signer$KeyPairIds": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest": { - "base": "The request to list origin access identities.", - "refs": { - } - }, - "ListCloudFrontOriginAccessIdentitiesResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListDistributionsByWebACLIdRequest": { - "base": "The request to list distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsByWebACLIdResult": { - "base": "The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsRequest": { - "base": "The request to list your distributions.", - "refs": { - } - }, - "ListDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListInvalidationsRequest": { - "base": "The request to list invalidations.", - "refs": { - } - }, - "ListInvalidationsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListStreamingDistributionsRequest": { - "base": "The request to list your streaming distributions.", - "refs": { - } - }, - "ListStreamingDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListTagsForResourceRequest": { - "base": "The request to list tags for a CloudFront resource.", - "refs": { - } - }, - "ListTagsForResourceResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "LocationList": { - "base": null, - "refs": { - "GeoRestriction$Items": "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." - } - }, - "LoggingConfig": { - "base": "A complex type that controls whether access logs are written for the distribution.", - "refs": { - "DistributionConfig$Logging": "A complex type that controls whether access logs are written for the distribution." - } - }, - "Method": { - "base": null, - "refs": { - "MethodsList$member": null - } - }, - "MethodsList": { - "base": null, - "refs": { - "AllowedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.", - "CachedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to cache responses to." - } - }, - "MinimumProtocolVersion": { - "base": null, - "refs": { - "ViewerCertificate$MinimumProtocolVersion": "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." - } - }, - "MissingBody": { - "base": "This operation requires a body. Ensure that the body is present and the Content-Type header is set.", - "refs": { - } - }, - "NoSuchCloudFrontOriginAccessIdentity": { - "base": "The specified origin access identity does not exist.", - "refs": { - } - }, - "NoSuchDistribution": { - "base": "The specified distribution does not exist.", - "refs": { - } - }, - "NoSuchInvalidation": { - "base": "The specified invalidation does not exist.", - "refs": { - } - }, - "NoSuchOrigin": { - "base": "No origin exists with the specified Origin Id.", - "refs": { - } - }, - "NoSuchResource": { - "base": "The specified CloudFront resource does not exist.", - "refs": { - } - }, - "NoSuchStreamingDistribution": { - "base": "The specified streaming distribution does not exist.", - "refs": { - } - }, - "Origin": { - "base": "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.", - "refs": { - "OriginList$member": null - } - }, - "OriginCustomHeader": { - "base": "A complex type that contains information related to a Header", - "refs": { - "OriginCustomHeadersList$member": null - } - }, - "OriginCustomHeadersList": { - "base": null, - "refs": { - "CustomHeaders$Items": "A complex type that contains the custom headers for this Origin." - } - }, - "OriginList": { - "base": null, - "refs": { - "Origins$Items": "A complex type that contains origins for this distribution." - } - }, - "OriginProtocolPolicy": { - "base": null, - "refs": { - "CustomOriginConfig$OriginProtocolPolicy": "The origin protocol policy to apply to your origin." - } - }, - "OriginSslProtocols": { - "base": "A complex type that contains the list of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.", - "refs": { - "CustomOriginConfig$OriginSslProtocols": "The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - } - }, - "Origins": { - "base": "A complex type that contains information about origins for this distribution.", - "refs": { - "DistributionConfig$Origins": "A complex type that contains information about origins for this distribution.", - "DistributionSummary$Origins": "A complex type that contains information about origins for this distribution." - } - }, - "PathList": { - "base": null, - "refs": { - "Paths$Items": "A complex type that contains a list of the objects that you want to invalidate." - } - }, - "Paths": { - "base": "A complex type that contains information about the objects that you want to invalidate.", - "refs": { - "InvalidationBatch$Paths": "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." - } - }, - "PreconditionFailed": { - "base": "The precondition given in one or more of the request-header fields evaluated to false.", - "refs": { - } - }, - "PriceClass": { - "base": null, - "refs": { - "DistributionConfig$PriceClass": "A complex type that contains information about price class for this distribution.", - "DistributionSummary$PriceClass": null, - "StreamingDistributionConfig$PriceClass": "A complex type that contains information about price class for this streaming distribution.", - "StreamingDistributionSummary$PriceClass": null - } - }, - "QueryStringCacheKeys": { - "base": null, - "refs": { - "ForwardedValues$QueryStringCacheKeys": "

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

" - } - }, - "QueryStringCacheKeysList": { - "base": null, - "refs": { - "QueryStringCacheKeys$Items": "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." - } - }, - "ResourceARN": { - "base": null, - "refs": { - "ListTagsForResourceRequest$Resource": "An ARN of a CloudFront resource.", - "TagResourceRequest$Resource": "An ARN of a CloudFront resource.", - "UntagResourceRequest$Resource": "An ARN of a CloudFront resource." - } - }, - "Restrictions": { - "base": "A complex type that identifies ways in which you want to restrict distribution of your content.", - "refs": { - "DistributionConfig$Restrictions": null, - "DistributionSummary$Restrictions": null - } - }, - "S3Origin": { - "base": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "refs": { - "StreamingDistributionConfig$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "StreamingDistributionSummary$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution." - } - }, - "S3OriginConfig": { - "base": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.", - "refs": { - "Origin$S3OriginConfig": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead." - } - }, - "SSLSupportMethod": { - "base": null, - "refs": { - "ViewerCertificate$SSLSupportMethod": "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." - } - }, - "Signer": { - "base": "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.", - "refs": { - "SignerList$member": null - } - }, - "SignerList": { - "base": null, - "refs": { - "ActiveTrustedSigners$Items": "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." - } - }, - "SslProtocol": { - "base": null, - "refs": { - "SslProtocolsList$member": null - } - }, - "SslProtocolsList": { - "base": null, - "refs": { - "OriginSslProtocols$Items": "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." - } - }, - "StreamingDistribution": { - "base": "A streaming distribution.", - "refs": { - "CreateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "CreateStreamingDistributionWithTagsResult$StreamingDistribution": "The streaming distribution's information.", - "GetStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "UpdateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information." - } - }, - "StreamingDistributionAlreadyExists": { - "base": null, - "refs": { - } - }, - "StreamingDistributionConfig": { - "base": "The configuration for the streaming distribution.", - "refs": { - "CreateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "GetStreamingDistributionConfigResult$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "StreamingDistribution$StreamingDistributionConfig": "The current configuration information for the streaming distribution.", - "StreamingDistributionConfigWithTags$StreamingDistributionConfig": "A streaming distribution Configuration.", - "UpdateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information." - } - }, - "StreamingDistributionConfigWithTags": { - "base": "A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.", - "refs": { - "CreateStreamingDistributionWithTagsRequest$StreamingDistributionConfigWithTags": "The streaming distribution's configuration information." - } - }, - "StreamingDistributionList": { - "base": "A streaming distribution list.", - "refs": { - "ListStreamingDistributionsResult$StreamingDistributionList": "The StreamingDistributionList type." - } - }, - "StreamingDistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "StreamingDistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront streaming distribution.", - "refs": { - "StreamingDistributionSummaryList$member": null - } - }, - "StreamingDistributionSummaryList": { - "base": null, - "refs": { - "StreamingDistributionList$Items": "A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "StreamingLoggingConfig": { - "base": "A complex type that controls whether access logs are written for this streaming distribution.", - "refs": { - "StreamingDistributionConfig$Logging": "A complex type that controls whether access logs are written for the streaming distribution." - } - }, - "Tag": { - "base": "A complex type that contains Tag key and Tag value.", - "refs": { - "TagList$member": null - } - }, - "TagKey": { - "base": "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 _ - . : / = + @.", - "refs": { - "Tag$Key": "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 _ - . : / = + @.", - "TagKeyList$member": null - } - }, - "TagKeyList": { - "base": null, - "refs": { - "TagKeys$Items": "A complex type that contains Tag key elements" - } - }, - "TagKeys": { - "base": "A complex type that contains zero or more Tag elements.", - "refs": { - "UntagResourceRequest$TagKeys": "A complex type that contains zero or more Tag key elements." - } - }, - "TagList": { - "base": null, - "refs": { - "Tags$Items": "A complex type that contains Tag elements" - } - }, - "TagResourceRequest": { - "base": "The request to add tags to a CloudFront resource.", - "refs": { - } - }, - "TagValue": { - "base": null, - "refs": { - "Tag$Value": "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 _ - . : / = + @." - } - }, - "Tags": { - "base": "A complex type that contains zero or more Tag elements.", - "refs": { - "DistributionConfigWithTags$Tags": "A complex type that contains zero or more Tag elements.", - "ListTagsForResourceResult$Tags": "A complex type that contains zero or more Tag elements.", - "StreamingDistributionConfigWithTags$Tags": "A complex type that contains zero or more Tag elements.", - "TagResourceRequest$Tags": "A complex type that contains zero or more Tag elements." - } - }, - "TooManyCacheBehaviors": { - "base": "You cannot create anymore cache behaviors for the distribution.", - "refs": { - } - }, - "TooManyCertificates": { - "base": "You cannot create anymore custom ssl certificates.", - "refs": { - } - }, - "TooManyCloudFrontOriginAccessIdentities": { - "base": "Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "refs": { - } - }, - "TooManyCookieNamesInWhiteList": { - "base": "Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "refs": { - } - }, - "TooManyDistributionCNAMEs": { - "base": "Your request contains more CNAMEs than are allowed per distribution.", - "refs": { - } - }, - "TooManyDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of distributions allowed.", - "refs": { - } - }, - "TooManyHeadersInForwardedValues": { - "base": null, - "refs": { - } - }, - "TooManyInvalidationsInProgress": { - "base": "You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "refs": { - } - }, - "TooManyOriginCustomHeaders": { - "base": null, - "refs": { - } - }, - "TooManyOrigins": { - "base": "You cannot create anymore origins for the distribution.", - "refs": { - } - }, - "TooManyQueryStringParameters": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributionCNAMEs": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of streaming distributions allowed.", - "refs": { - } - }, - "TooManyTrustedSigners": { - "base": "Your request contains more trusted signers than are allowed per distribution.", - "refs": { - } - }, - "TrustedSignerDoesNotExist": { - "base": "One or more of your trusted signers do not exist.", - "refs": { - } - }, - "TrustedSigners": { - "base": "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.", - "refs": { - "CacheBehavior$TrustedSigners": "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.", - "DefaultCacheBehavior$TrustedSigners": "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.", - "StreamingDistributionConfig$TrustedSigners": "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.", - "StreamingDistributionSummary$TrustedSigners": "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": { - "base": "The request to remove tags from a CloudFront resource.", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityRequest": { - "base": "The request to update an origin access identity.", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateDistributionRequest": { - "base": "The request to update a distribution.", - "refs": { - } - }, - "UpdateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateStreamingDistributionRequest": { - "base": "The request to update a streaming distribution.", - "refs": { - } - }, - "UpdateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ViewerCertificate": { - "base": "A complex type that contains information about viewer certificates for this distribution.", - "refs": { - "DistributionConfig$ViewerCertificate": null, - "DistributionSummary$ViewerCertificate": null - } - }, - "ViewerProtocolPolicy": { - "base": null, - "refs": { - "CacheBehavior$ViewerProtocolPolicy": "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.", - "DefaultCacheBehavior$ViewerProtocolPolicy": "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." - } - }, - "boolean": { - "base": null, - "refs": { - "ActiveTrustedSigners$Enabled": "Each active trusted signer.", - "CacheBehavior$SmoothStreaming": "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.", - "CacheBehavior$Compress": "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.", - "CloudFrontOriginAccessIdentityList$IsTruncated": "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.", - "DefaultCacheBehavior$SmoothStreaming": "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.", - "DefaultCacheBehavior$Compress": "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.", - "DistributionConfig$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "DistributionList$IsTruncated": "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.", - "DistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "ForwardedValues$QueryString": "

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:

", - "InvalidationList$IsTruncated": "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.", - "LoggingConfig$Enabled": "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.", - "LoggingConfig$IncludeCookies": "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.", - "StreamingDistributionConfig$Enabled": "Whether the streaming distribution is enabled to accept end user requests for content.", - "StreamingDistributionList$IsTruncated": "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.", - "StreamingDistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "StreamingLoggingConfig$Enabled": "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.", - "TrustedSigners$Enabled": "Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.", - "ViewerCertificate$CloudFrontDefaultCertificate": "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." - } - }, - "integer": { - "base": null, - "refs": { - "ActiveTrustedSigners$Quantity": "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.", - "Aliases$Quantity": "The number of CNAMEs, if any, for this distribution.", - "AllowedMethods$Quantity": "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).", - "CacheBehaviors$Quantity": "The number of cache behaviors for this distribution.", - "CachedMethods$Quantity": "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).", - "CloudFrontOriginAccessIdentityList$MaxItems": "The value you provided for the MaxItems request parameter.", - "CloudFrontOriginAccessIdentityList$Quantity": "The number of CloudFront origin access identities that were created by the current AWS account.", - "CookieNames$Quantity": "The number of whitelisted cookies for this cache behavior.", - "CustomErrorResponse$ErrorCode": "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.", - "CustomErrorResponses$Quantity": "The number of custom error responses for this distribution.", - "CustomHeaders$Quantity": "The number of custom headers for this origin.", - "CustomOriginConfig$HTTPPort": "The HTTP port the custom origin listens on.", - "CustomOriginConfig$HTTPSPort": "The HTTPS port the custom origin listens on.", - "Distribution$InProgressInvalidationBatches": "The number of invalidation batches currently in progress.", - "DistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "DistributionList$Quantity": "The number of distributions that were created by the current AWS account.", - "GeoRestriction$Quantity": "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.", - "Headers$Quantity": "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.", - "InvalidationList$MaxItems": "The value you provided for the MaxItems request parameter.", - "InvalidationList$Quantity": "The number of invalidation batches that were created by the current AWS account.", - "KeyPairIds$Quantity": "The number of active CloudFront key pairs for AwsAccountNumber.", - "OriginSslProtocols$Quantity": "The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS connection with this origin.", - "Origins$Quantity": "The number of origins for this distribution.", - "Paths$Quantity": "The number of objects that you want to invalidate.", - "QueryStringCacheKeys$Quantity": "The number of whitelisted query string parameters for this cache behavior.", - "StreamingDistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "StreamingDistributionList$Quantity": "The number of streaming distributions that were created by the current AWS account.", - "TrustedSigners$Quantity": "The number of trusted signers for this cache behavior." - } - }, - "long": { - "base": null, - "refs": { - "CacheBehavior$MinTTL": "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).", - "CacheBehavior$DefaultTTL": "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).", - "CacheBehavior$MaxTTL": "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).", - "CustomErrorResponse$ErrorCachingMinTTL": "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.", - "DefaultCacheBehavior$MinTTL": "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).", - "DefaultCacheBehavior$DefaultTTL": "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).", - "DefaultCacheBehavior$MaxTTL": "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)." - } - }, - "string": { - "base": null, - "refs": { - "AccessDenied$Message": null, - "AliasList$member": null, - "AwsAccountNumberList$member": null, - "BatchTooLarge$Message": null, - "CNAMEAlreadyExists$Message": null, - "CacheBehavior$PathPattern": "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.", - "CacheBehavior$TargetOriginId": "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.", - "CloudFrontOriginAccessIdentity$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, - "CloudFrontOriginAccessIdentityConfig$CallerReference": "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.", - "CloudFrontOriginAccessIdentityConfig$Comment": "Any comments you want to include about the origin access identity.", - "CloudFrontOriginAccessIdentityInUse$Message": null, - "CloudFrontOriginAccessIdentityList$Marker": "The value you provided for the Marker request parameter.", - "CloudFrontOriginAccessIdentityList$NextMarker": "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.", - "CloudFrontOriginAccessIdentitySummary$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentitySummary$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentitySummary$Comment": "The comment for this origin access identity, as originally specified when created.", - "CookieNameList$member": null, - "CreateCloudFrontOriginAccessIdentityResult$Location": "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.", - "CreateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity created.", - "CreateDistributionResult$Location": "The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "CreateDistributionResult$ETag": "The current version of the distribution created.", - "CreateDistributionWithTagsResult$Location": "The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "CreateDistributionWithTagsResult$ETag": "The current version of the distribution created.", - "CreateInvalidationRequest$DistributionId": "The distribution's id.", - "CreateInvalidationResult$Location": "The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.", - "CreateStreamingDistributionResult$Location": "The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "CreateStreamingDistributionResult$ETag": "The current version of the streaming distribution created.", - "CreateStreamingDistributionWithTagsResult$Location": "The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "CreateStreamingDistributionWithTagsResult$ETag": "The current version of the streaming distribution created.", - "CustomErrorResponse$ResponsePagePath": "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.", - "CustomErrorResponse$ResponseCode": "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.", - "DefaultCacheBehavior$TargetOriginId": "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.", - "DeleteCloudFrontOriginAccessIdentityRequest$Id": "The origin access identity's id.", - "DeleteCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.", - "DeleteDistributionRequest$Id": "The distribution id.", - "DeleteDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "DeleteStreamingDistributionRequest$Id": "The distribution id.", - "DeleteStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.", - "Distribution$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "Distribution$ARN": "The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account Id.", - "Distribution$Status": "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.", - "Distribution$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionAlreadyExists$Message": null, - "DistributionConfig$CallerReference": "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.", - "DistributionConfig$DefaultRootObject": "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.", - "DistributionConfig$Comment": "Any comments you want to include about the distribution.", - "DistributionConfig$WebACLId": "(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.", - "DistributionList$Marker": "The value you provided for the Marker request parameter.", - "DistributionList$NextMarker": "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.", - "DistributionNotDisabled$Message": null, - "DistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "DistributionSummary$ARN": "The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account Id.", - "DistributionSummary$Status": "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.", - "DistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "DistributionSummary$WebACLId": "The Web ACL Id (if any) associated with the distribution.", - "GetCloudFrontOriginAccessIdentityConfigRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.", - "GetDistributionConfigRequest$Id": "The distribution's id.", - "GetDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetDistributionRequest$Id": "The distribution's id.", - "GetDistributionResult$ETag": "The current version of the distribution's information. For example: E2QWRUHAPOMQZL.", - "GetInvalidationRequest$DistributionId": "The distribution's id.", - "GetInvalidationRequest$Id": "The invalidation's id.", - "GetStreamingDistributionConfigRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetStreamingDistributionRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionResult$ETag": "The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.", - "HeaderList$member": null, - "IllegalUpdate$Message": null, - "InconsistentQuantities$Message": null, - "InvalidArgument$Message": null, - "InvalidDefaultRootObject$Message": null, - "InvalidErrorCode$Message": null, - "InvalidForwardCookies$Message": null, - "InvalidGeoRestrictionParameter$Message": null, - "InvalidHeadersForS3Origin$Message": null, - "InvalidIfMatchVersion$Message": null, - "InvalidLocationCode$Message": null, - "InvalidMinimumProtocolVersion$Message": null, - "InvalidOrigin$Message": null, - "InvalidOriginAccessIdentity$Message": null, - "InvalidProtocolSettings$Message": null, - "InvalidQueryStringParameters$Message": null, - "InvalidRelativePath$Message": null, - "InvalidRequiredProtocol$Message": null, - "InvalidResponseCode$Message": null, - "InvalidTTLOrder$Message": null, - "InvalidTagging$Message": null, - "InvalidViewerCertificate$Message": null, - "InvalidWebACLId$Message": null, - "Invalidation$Id": "The identifier for the invalidation request. For example: IDFDVBD632BHDS5.", - "Invalidation$Status": "The status of the invalidation request. When the invalidation batch is finished, the status is Completed.", - "InvalidationBatch$CallerReference": "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.", - "InvalidationList$Marker": "The value you provided for the Marker request parameter.", - "InvalidationList$NextMarker": "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.", - "InvalidationSummary$Id": "The unique ID for an invalidation request.", - "InvalidationSummary$Status": "The status of an invalidation request.", - "KeyPairIdList$member": null, - "ListCloudFrontOriginAccessIdentitiesRequest$Marker": "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).", - "ListCloudFrontOriginAccessIdentitiesRequest$MaxItems": "The maximum number of origin access identities you want in the response body.", - "ListDistributionsByWebACLIdRequest$Marker": "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.)", - "ListDistributionsByWebACLIdRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListDistributionsByWebACLIdRequest$WebACLId": "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.", - "ListDistributionsRequest$Marker": "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.)", - "ListDistributionsRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListInvalidationsRequest$DistributionId": "The distribution's id.", - "ListInvalidationsRequest$Marker": "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.", - "ListInvalidationsRequest$MaxItems": "The maximum number of invalidation batches you want in the response body.", - "ListStreamingDistributionsRequest$Marker": "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).", - "ListStreamingDistributionsRequest$MaxItems": "The maximum number of streaming distributions you want in the response body.", - "LocationList$member": null, - "LoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "LoggingConfig$Prefix": "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.", - "MissingBody$Message": null, - "NoSuchCloudFrontOriginAccessIdentity$Message": null, - "NoSuchDistribution$Message": null, - "NoSuchInvalidation$Message": null, - "NoSuchOrigin$Message": null, - "NoSuchResource$Message": null, - "NoSuchStreamingDistribution$Message": null, - "Origin$Id": "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.", - "Origin$DomainName": "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.", - "Origin$OriginPath": "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.", - "OriginCustomHeader$HeaderName": "The header's name.", - "OriginCustomHeader$HeaderValue": "The header's value.", - "PathList$member": null, - "PreconditionFailed$Message": null, - "QueryStringCacheKeysList$member": null, - "S3Origin$DomainName": "The DNS name of the S3 origin.", - "S3Origin$OriginAccessIdentity": "Your S3 origin's origin access identity.", - "S3OriginConfig$OriginAccessIdentity": "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.", - "Signer$AwsAccountNumber": "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.", - "StreamingDistribution$Id": "The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.", - "StreamingDistribution$ARN": "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.", - "StreamingDistribution$Status": "The current status of the streaming distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistribution$DomainName": "The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.", - "StreamingDistributionAlreadyExists$Message": null, - "StreamingDistributionConfig$CallerReference": "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.", - "StreamingDistributionConfig$Comment": "Any comments you want to include about the streaming distribution.", - "StreamingDistributionList$Marker": "The value you provided for the Marker request parameter.", - "StreamingDistributionList$NextMarker": "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.", - "StreamingDistributionNotDisabled$Message": null, - "StreamingDistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "StreamingDistributionSummary$ARN": "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.", - "StreamingDistributionSummary$Status": "Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "StreamingDistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "StreamingLoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "StreamingLoggingConfig$Prefix": "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.", - "TooManyCacheBehaviors$Message": null, - "TooManyCertificates$Message": null, - "TooManyCloudFrontOriginAccessIdentities$Message": null, - "TooManyCookieNamesInWhiteList$Message": null, - "TooManyDistributionCNAMEs$Message": null, - "TooManyDistributions$Message": null, - "TooManyHeadersInForwardedValues$Message": null, - "TooManyInvalidationsInProgress$Message": null, - "TooManyOriginCustomHeaders$Message": null, - "TooManyOrigins$Message": null, - "TooManyQueryStringParameters$Message": null, - "TooManyStreamingDistributionCNAMEs$Message": null, - "TooManyStreamingDistributions$Message": null, - "TooManyTrustedSigners$Message": null, - "TrustedSignerDoesNotExist$Message": null, - "UpdateCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "UpdateCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionRequest$Id": "The distribution's id.", - "UpdateDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionRequest$Id": "The streaming distribution's id.", - "UpdateStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "ViewerCertificate$IAMCertificateId": "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.", - "ViewerCertificate$ACMCertificateArn": "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.", - "ViewerCertificate$Certificate": "Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate]." - } - }, - "timestamp": { - "base": null, - "refs": { - "Distribution$LastModifiedTime": "The date and time the distribution was last modified.", - "DistributionSummary$LastModifiedTime": "The date and time the distribution was last modified.", - "Invalidation$CreateTime": "The date and time the invalidation request was first made.", - "InvalidationSummary$CreateTime": null, - "StreamingDistribution$LastModifiedTime": "The date and time the distribution was last modified.", - "StreamingDistributionSummary$LastModifiedTime": "The date and time the distribution was last modified." - } - } - } -} diff --git a/models/apis/cloudfront/2016-08-20/paginators-1.json b/models/apis/cloudfront/2016-08-20/paginators-1.json deleted file mode 100755 index 51fbb907fa3..00000000000 --- a/models/apis/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/models/apis/cloudfront/2016-08-20/waiters-2.json b/models/apis/cloudfront/2016-08-20/waiters-2.json deleted file mode 100755 index edd74b2a3b4..00000000000 --- a/models/apis/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": 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/models/apis/cloudfront/2016-09-07/api-2.json b/models/apis/cloudfront/2016-09-07/api-2.json deleted file mode 100755 index ec9b60af43f..00000000000 --- a/models/apis/cloudfront/2016-09-07/api-2.json +++ /dev/null @@ -1,2596 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"cloudfront-2016-09-07", - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListDistributions":{ - "name":"ListDistributions2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"SignerList"} - } - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AliasList"} - } - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"}, - "CachedMethods":{"shape":"CachedMethods"} - } - }, - "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"}, - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CacheBehaviorList"} - } - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"} - } - }, - "CertificateSource":{ - "type":"string", - "enum":[ - "cloudfront", - "iam", - "acm" - ] - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"} - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CloudFrontOriginAccessIdentitySummaryList"} - } - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"CookieNameList"} - } - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{"shape":"ItemSelection"}, - "WhitelistedNames":{"shape":"CookieNames"} - } - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateDistributionWithTagsRequest":{ - "type":"structure", - "required":["DistributionConfigWithTags"], - "members":{ - "DistributionConfigWithTags":{ - "shape":"DistributionConfigWithTags", - "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "payload":"DistributionConfigWithTags" - }, - "CreateDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CreateStreamingDistributionWithTagsRequest":{ - "type":"structure", - "required":["StreamingDistributionConfigWithTags"], - "members":{ - "StreamingDistributionConfigWithTags":{ - "shape":"StreamingDistributionConfigWithTags", - "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "payload":"StreamingDistributionConfigWithTags" - }, - "CreateStreamingDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"integer"}, - "ResponsePagePath":{"shape":"string"}, - "ResponseCode":{"shape":"string"}, - "ErrorCachingMinTTL":{"shape":"long"} - } - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CustomErrorResponseList"} - } - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginCustomHeadersList"} - } - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{"shape":"integer"}, - "HTTPSPort":{"shape":"integer"}, - "OriginProtocolPolicy":{"shape":"OriginProtocolPolicy"}, - "OriginSslProtocols":{"shape":"OriginSslProtocols"} - } - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{"shape":"string"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "InProgressInvalidationBatches":{"shape":"integer"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "DistributionConfig":{"shape":"DistributionConfig"} - } - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "DefaultRootObject":{"shape":"string"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"LoggingConfig"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"}, - "HttpVersion":{"shape":"HttpVersion"} - } - }, - "DistributionConfigWithTags":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Tags" - ], - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "Tags":{"shape":"Tags"} - } - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"DistributionSummaryList"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"}, - "HttpVersion":{"shape":"HttpVersion"} - } - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{"shape":"boolean"}, - "Cookies":{"shape":"CookiePreference"}, - "Headers":{"shape":"Headers"}, - "QueryStringCacheKeys":{"shape":"QueryStringCacheKeys"} - } - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{"shape":"GeoRestrictionType"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"LocationList"} - } - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"HeaderList"} - } - }, - "HttpVersion":{ - "type":"string", - "enum":[ - "http1.1", - "http2" - ] - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"}, - "Status":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "InvalidationBatch":{"shape":"InvalidationBatch"} - } - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{"shape":"Paths"}, - "CallerReference":{"shape":"string"} - } - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"InvalidationSummaryList"} - } - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "Status":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"KeyPairIdList"} - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{"shape":"CloudFrontOriginAccessIdentityList"} - }, - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "location":"uri", - "locationName":"WebACLId" - } - } - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{"shape":"InvalidationList"} - }, - "payload":"InvalidationList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{"shape":"StreamingDistributionList"} - }, - "payload":"StreamingDistributionList" - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["Resource"], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - } - } - }, - "ListTagsForResourceResult":{ - "type":"structure", - "required":["Tags"], - "members":{ - "Tags":{"shape":"Tags"} - }, - "payload":"Tags" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "IncludeCookies":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "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 - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchResource":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{"shape":"string"}, - "DomainName":{"shape":"string"}, - "OriginPath":{"shape":"string"}, - "CustomHeaders":{"shape":"CustomHeaders"}, - "S3OriginConfig":{"shape":"S3OriginConfig"}, - "CustomOriginConfig":{"shape":"CustomOriginConfig"} - } - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{"shape":"string"}, - "HeaderValue":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"SslProtocolsList"} - } - }, - "Origins":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginList"} - } - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"PathList"} - } - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "QueryStringCacheKeys":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"QueryStringCacheKeysList"} - } - }, - "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"} - } - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{"shape":"string"}, - "OriginAccessIdentity":{"shape":"string"} - } - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{"shape":"string"} - } - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{"shape":"string"}, - "KeyPairIds":{"shape":"KeyPairIds"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"} - } - }, - "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"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"StreamingLoggingConfig"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionConfigWithTags":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Tags" - ], - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "Tags":{"shape":"Tags"} - } - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"StreamingDistributionSummaryList"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{"shape":"TagKey"}, - "Value":{"shape":"TagValue"} - } - }, - "TagKey":{ - "type":"string", - "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"} - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "Tags" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - }, - "Tags":{ - "shape":"Tags", - "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "payload":"Tags" - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"structure", - "members":{ - "Items":{"shape":"TagList"} - } - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AwsAccountNumberList"} - } - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - }, - "TagKeys":{ - "shape":"TagKeys", - "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "payload":"TagKeys" - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{"shape":"boolean"}, - "IAMCertificateId":{"shape":"string"}, - "ACMCertificateArn":{"shape":"string"}, - "SSLSupportMethod":{"shape":"SSLSupportMethod"}, - "MinimumProtocolVersion":{"shape":"MinimumProtocolVersion"}, - "Certificate":{ - "shape":"string", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "deprecated":true - } - } - }, - "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/models/apis/cloudfront/2016-09-07/docs-2.json b/models/apis/cloudfront/2016-09-07/docs-2.json deleted file mode 100755 index 45b1c473d9d..00000000000 --- a/models/apis/cloudfront/2016-09-07/docs-2.json +++ /dev/null @@ -1,1388 +0,0 @@ -{ - "version": "2.0", - "service": "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.

", - "operations": { - "CreateCloudFrontOriginAccessIdentity": "Create a new origin access identity.", - "CreateDistribution": "Create a new distribution.", - "CreateDistributionWithTags": "Create a new distribution with tags.", - "CreateInvalidation": "Create a new invalidation.", - "CreateStreamingDistribution": "Create a new streaming distribution.", - "CreateStreamingDistributionWithTags": "Create a new streaming distribution with tags.", - "DeleteCloudFrontOriginAccessIdentity": "Delete an origin access identity.", - "DeleteDistribution": "Delete a distribution.", - "DeleteStreamingDistribution": "Delete a streaming distribution.", - "GetCloudFrontOriginAccessIdentity": "Get the information about an origin access identity.", - "GetCloudFrontOriginAccessIdentityConfig": "Get the configuration information about an origin access identity.", - "GetDistribution": "Get the information about a distribution.", - "GetDistributionConfig": "Get the configuration information about a distribution.", - "GetInvalidation": "Get the information about an invalidation.", - "GetStreamingDistribution": "Get the information about a streaming distribution.", - "GetStreamingDistributionConfig": "Get the configuration information about a streaming distribution.", - "ListCloudFrontOriginAccessIdentities": "List origin access identities.", - "ListDistributions": "List distributions.", - "ListDistributionsByWebACLId": "List the distributions that are associated with a specified AWS WAF web ACL.", - "ListInvalidations": "List invalidation batches.", - "ListStreamingDistributions": "List streaming distributions.", - "ListTagsForResource": "List tags for a CloudFront resource.", - "TagResource": "Add tags to a CloudFront resource.", - "UntagResource": "Remove tags from a CloudFront resource.", - "UpdateCloudFrontOriginAccessIdentity": "Update an origin access identity.", - "UpdateDistribution": "Update a distribution.", - "UpdateStreamingDistribution": "Update a streaming distribution." - }, - "shapes": { - "AccessDenied": { - "base": "Access denied.", - "refs": { - } - }, - "ActiveTrustedSigners": { - "base": "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.", - "refs": { - "Distribution$ActiveTrustedSigners": "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.", - "StreamingDistribution$ActiveTrustedSigners": "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." - } - }, - "AliasList": { - "base": null, - "refs": { - "Aliases$Items": "Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "Aliases": { - "base": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "refs": { - "DistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "DistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "StreamingDistributionConfig$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.", - "StreamingDistributionSummary$Aliases": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution." - } - }, - "AllowedMethods": { - "base": "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.", - "refs": { - "CacheBehavior$AllowedMethods": null, - "DefaultCacheBehavior$AllowedMethods": null - } - }, - "AwsAccountNumberList": { - "base": null, - "refs": { - "TrustedSigners$Items": "Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "BatchTooLarge": { - "base": null, - "refs": { - } - }, - "CNAMEAlreadyExists": { - "base": null, - "refs": { - } - }, - "CacheBehavior": { - "base": "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.", - "refs": { - "CacheBehaviorList$member": null - } - }, - "CacheBehaviorList": { - "base": null, - "refs": { - "CacheBehaviors$Items": "Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CacheBehaviors": { - "base": "A complex type that contains zero or more CacheBehavior elements.", - "refs": { - "DistributionConfig$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements.", - "DistributionSummary$CacheBehaviors": "A complex type that contains zero or more CacheBehavior elements." - } - }, - "CachedMethods": { - "base": "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.", - "refs": { - "AllowedMethods$CachedMethods": null - } - }, - "CertificateSource": { - "base": null, - "refs": { - "ViewerCertificate$CertificateSource": "Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate]." - } - }, - "CloudFrontOriginAccessIdentity": { - "base": "CloudFront origin access identity.", - "refs": { - "CreateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "GetCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information.", - "UpdateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "The origin access identity's information." - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists": { - "base": "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.", - "refs": { - } - }, - "CloudFrontOriginAccessIdentityConfig": { - "base": "Origin access identity configuration.", - "refs": { - "CloudFrontOriginAccessIdentity$CloudFrontOriginAccessIdentityConfig": "The current configuration information for the identity.", - "CreateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "GetCloudFrontOriginAccessIdentityConfigResult$CloudFrontOriginAccessIdentityConfig": "The origin access identity's configuration information.", - "UpdateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "The identity's configuration information." - } - }, - "CloudFrontOriginAccessIdentityInUse": { - "base": null, - "refs": { - } - }, - "CloudFrontOriginAccessIdentityList": { - "base": "The CloudFrontOriginAccessIdentityList type.", - "refs": { - "ListCloudFrontOriginAccessIdentitiesResult$CloudFrontOriginAccessIdentityList": "The CloudFrontOriginAccessIdentityList type." - } - }, - "CloudFrontOriginAccessIdentitySummary": { - "base": "Summary of the information about a CloudFront origin access identity.", - "refs": { - "CloudFrontOriginAccessIdentitySummaryList$member": null - } - }, - "CloudFrontOriginAccessIdentitySummaryList": { - "base": null, - "refs": { - "CloudFrontOriginAccessIdentityList$Items": "A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account." - } - }, - "CookieNameList": { - "base": null, - "refs": { - "CookieNames$Items": "Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "CookieNames": { - "base": "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.", - "refs": { - "CookiePreference$WhitelistedNames": "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": { - "base": "A complex type that specifies the cookie preferences associated with this cache behavior.", - "refs": { - "ForwardedValues$Cookies": "A complex type that specifies how CloudFront handles cookies." - } - }, - "CreateCloudFrontOriginAccessIdentityRequest": { - "base": "The request to create a new origin access identity.", - "refs": { - } - }, - "CreateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateDistributionRequest": { - "base": "The request to create a new distribution.", - "refs": { - } - }, - "CreateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateDistributionWithTagsRequest": { - "base": "The request to create a new distribution with tags", - "refs": { - } - }, - "CreateDistributionWithTagsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateInvalidationRequest": { - "base": "The request to create an invalidation.", - "refs": { - } - }, - "CreateInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateStreamingDistributionRequest": { - "base": "The request to create a new streaming distribution.", - "refs": { - } - }, - "CreateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CreateStreamingDistributionWithTagsRequest": { - "base": "The request to create a new streaming distribution with tags.", - "refs": { - } - }, - "CreateStreamingDistributionWithTagsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "CustomErrorResponse": { - "base": "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.", - "refs": { - "CustomErrorResponseList$member": null - } - }, - "CustomErrorResponseList": { - "base": null, - "refs": { - "CustomErrorResponses$Items": "Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "CustomErrorResponses": { - "base": "A complex type that contains zero or more CustomErrorResponse elements.", - "refs": { - "DistributionConfig$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponse elements.", - "DistributionSummary$CustomErrorResponses": "A complex type that contains zero or more CustomErrorResponses elements." - } - }, - "CustomHeaders": { - "base": "A complex type that contains the list of Custom Headers for each origin.", - "refs": { - "Origin$CustomHeaders": "A complex type that contains information about the custom headers associated with this Origin." - } - }, - "CustomOriginConfig": { - "base": "A customer origin.", - "refs": { - "Origin$CustomOriginConfig": "A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead." - } - }, - "DefaultCacheBehavior": { - "base": "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.", - "refs": { - "DistributionConfig$DefaultCacheBehavior": "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.", - "DistributionSummary$DefaultCacheBehavior": "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": { - "base": "The request to delete a origin access identity.", - "refs": { - } - }, - "DeleteDistributionRequest": { - "base": "The request to delete a distribution.", - "refs": { - } - }, - "DeleteStreamingDistributionRequest": { - "base": "The request to delete a streaming distribution.", - "refs": { - } - }, - "Distribution": { - "base": "A distribution.", - "refs": { - "CreateDistributionResult$Distribution": "The distribution's information.", - "CreateDistributionWithTagsResult$Distribution": "The distribution's information.", - "GetDistributionResult$Distribution": "The distribution's information.", - "UpdateDistributionResult$Distribution": "The distribution's information." - } - }, - "DistributionAlreadyExists": { - "base": "The caller reference you attempted to create the distribution with is associated with another distribution.", - "refs": { - } - }, - "DistributionConfig": { - "base": "A distribution Configuration.", - "refs": { - "CreateDistributionRequest$DistributionConfig": "The distribution's configuration information.", - "Distribution$DistributionConfig": "The current configuration information for the distribution.", - "DistributionConfigWithTags$DistributionConfig": "A distribution Configuration.", - "GetDistributionConfigResult$DistributionConfig": "The distribution's configuration information.", - "UpdateDistributionRequest$DistributionConfig": "The distribution's configuration information." - } - }, - "DistributionConfigWithTags": { - "base": "A distribution Configuration and a list of tags to be associated with the distribution.", - "refs": { - "CreateDistributionWithTagsRequest$DistributionConfigWithTags": "The distribution's configuration information." - } - }, - "DistributionList": { - "base": "A distribution list.", - "refs": { - "ListDistributionsByWebACLIdResult$DistributionList": "The DistributionList type.", - "ListDistributionsResult$DistributionList": "The DistributionList type." - } - }, - "DistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "DistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront distribution.", - "refs": { - "DistributionSummaryList$member": null - } - }, - "DistributionSummaryList": { - "base": null, - "refs": { - "DistributionList$Items": "A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "ForwardedValues": { - "base": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "refs": { - "CacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers.", - "DefaultCacheBehavior$ForwardedValues": "A complex type that specifies how CloudFront handles query strings, cookies and headers." - } - }, - "GeoRestriction": { - "base": "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.", - "refs": { - "Restrictions$GeoRestriction": null - } - }, - "GeoRestrictionType": { - "base": null, - "refs": { - "GeoRestriction$RestrictionType": "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." - } - }, - "GetCloudFrontOriginAccessIdentityConfigRequest": { - "base": "The request to get an origin access identity's configuration.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityRequest": { - "base": "The request to get an origin access identity's information.", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionConfigRequest": { - "base": "The request to get a distribution configuration.", - "refs": { - } - }, - "GetDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetDistributionRequest": { - "base": "The request to get a distribution's information.", - "refs": { - } - }, - "GetDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetInvalidationRequest": { - "base": "The request to get an invalidation's information.", - "refs": { - } - }, - "GetInvalidationResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionConfigRequest": { - "base": "To request to get a streaming distribution configuration.", - "refs": { - } - }, - "GetStreamingDistributionConfigResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "GetStreamingDistributionRequest": { - "base": "The request to get a streaming distribution's information.", - "refs": { - } - }, - "GetStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "HeaderList": { - "base": null, - "refs": { - "Headers$Items": "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." - } - }, - "Headers": { - "base": "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.", - "refs": { - "ForwardedValues$Headers": "A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "HttpVersion": { - "base": null, - "refs": { - "DistributionConfig$HttpVersion": "(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.", - "DistributionSummary$HttpVersion": "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." - } - }, - "IllegalUpdate": { - "base": "Origin and CallerReference cannot be updated.", - "refs": { - } - }, - "InconsistentQuantities": { - "base": "The value of Quantity and the size of Items do not match.", - "refs": { - } - }, - "InvalidArgument": { - "base": "The argument is invalid.", - "refs": { - } - }, - "InvalidDefaultRootObject": { - "base": "The default root object file name is too big or contains an invalid character.", - "refs": { - } - }, - "InvalidErrorCode": { - "base": null, - "refs": { - } - }, - "InvalidForwardCookies": { - "base": "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.", - "refs": { - } - }, - "InvalidGeoRestrictionParameter": { - "base": null, - "refs": { - } - }, - "InvalidHeadersForS3Origin": { - "base": null, - "refs": { - } - }, - "InvalidIfMatchVersion": { - "base": "The If-Match version is missing or not valid for the distribution.", - "refs": { - } - }, - "InvalidLocationCode": { - "base": null, - "refs": { - } - }, - "InvalidMinimumProtocolVersion": { - "base": null, - "refs": { - } - }, - "InvalidOrigin": { - "base": "The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "refs": { - } - }, - "InvalidOriginAccessIdentity": { - "base": "The origin access identity is not valid or doesn't exist.", - "refs": { - } - }, - "InvalidProtocolSettings": { - "base": "You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "refs": { - } - }, - "InvalidQueryStringParameters": { - "base": null, - "refs": { - } - }, - "InvalidRelativePath": { - "base": "The relative path is too big, is not URL-encoded, or does not begin with a slash (/).", - "refs": { - } - }, - "InvalidRequiredProtocol": { - "base": "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.", - "refs": { - } - }, - "InvalidResponseCode": { - "base": null, - "refs": { - } - }, - "InvalidTTLOrder": { - "base": null, - "refs": { - } - }, - "InvalidTagging": { - "base": "The specified tagging for a CloudFront resource is invalid. For more information, see the error text.", - "refs": { - } - }, - "InvalidViewerCertificate": { - "base": null, - "refs": { - } - }, - "InvalidWebACLId": { - "base": null, - "refs": { - } - }, - "Invalidation": { - "base": "An invalidation.", - "refs": { - "CreateInvalidationResult$Invalidation": "The invalidation's information.", - "GetInvalidationResult$Invalidation": "The invalidation's information." - } - }, - "InvalidationBatch": { - "base": "An invalidation batch.", - "refs": { - "CreateInvalidationRequest$InvalidationBatch": "The batch information for the invalidation.", - "Invalidation$InvalidationBatch": "The current invalidation information for the batch request." - } - }, - "InvalidationList": { - "base": "An invalidation list.", - "refs": { - "ListInvalidationsResult$InvalidationList": "Information about invalidation batches." - } - }, - "InvalidationSummary": { - "base": "Summary of an invalidation request.", - "refs": { - "InvalidationSummaryList$member": null - } - }, - "InvalidationSummaryList": { - "base": null, - "refs": { - "InvalidationList$Items": "A complex type that contains one InvalidationSummary element for each invalidation batch that was created by the current AWS account." - } - }, - "ItemSelection": { - "base": null, - "refs": { - "CookiePreference$Forward": "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." - } - }, - "KeyPairIdList": { - "base": null, - "refs": { - "KeyPairIds$Items": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "KeyPairIds": { - "base": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.", - "refs": { - "Signer$KeyPairIds": "A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest": { - "base": "The request to list origin access identities.", - "refs": { - } - }, - "ListCloudFrontOriginAccessIdentitiesResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListDistributionsByWebACLIdRequest": { - "base": "The request to list distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsByWebACLIdResult": { - "base": "The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.", - "refs": { - } - }, - "ListDistributionsRequest": { - "base": "The request to list your distributions.", - "refs": { - } - }, - "ListDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListInvalidationsRequest": { - "base": "The request to list invalidations.", - "refs": { - } - }, - "ListInvalidationsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListStreamingDistributionsRequest": { - "base": "The request to list your streaming distributions.", - "refs": { - } - }, - "ListStreamingDistributionsResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ListTagsForResourceRequest": { - "base": "The request to list tags for a CloudFront resource.", - "refs": { - } - }, - "ListTagsForResourceResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "LocationList": { - "base": null, - "refs": { - "GeoRestriction$Items": "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." - } - }, - "LoggingConfig": { - "base": "A complex type that controls whether access logs are written for the distribution.", - "refs": { - "DistributionConfig$Logging": "A complex type that controls whether access logs are written for the distribution." - } - }, - "Method": { - "base": null, - "refs": { - "MethodsList$member": null - } - }, - "MethodsList": { - "base": null, - "refs": { - "AllowedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.", - "CachedMethods$Items": "A complex type that contains the HTTP methods that you want CloudFront to cache responses to." - } - }, - "MinimumProtocolVersion": { - "base": null, - "refs": { - "ViewerCertificate$MinimumProtocolVersion": "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." - } - }, - "MissingBody": { - "base": "This operation requires a body. Ensure that the body is present and the Content-Type header is set.", - "refs": { - } - }, - "NoSuchCloudFrontOriginAccessIdentity": { - "base": "The specified origin access identity does not exist.", - "refs": { - } - }, - "NoSuchDistribution": { - "base": "The specified distribution does not exist.", - "refs": { - } - }, - "NoSuchInvalidation": { - "base": "The specified invalidation does not exist.", - "refs": { - } - }, - "NoSuchOrigin": { - "base": "No origin exists with the specified Origin Id.", - "refs": { - } - }, - "NoSuchResource": { - "base": "The specified CloudFront resource does not exist.", - "refs": { - } - }, - "NoSuchStreamingDistribution": { - "base": "The specified streaming distribution does not exist.", - "refs": { - } - }, - "Origin": { - "base": "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.", - "refs": { - "OriginList$member": null - } - }, - "OriginCustomHeader": { - "base": "A complex type that contains information related to a Header", - "refs": { - "OriginCustomHeadersList$member": null - } - }, - "OriginCustomHeadersList": { - "base": null, - "refs": { - "CustomHeaders$Items": "A complex type that contains the custom headers for this Origin." - } - }, - "OriginList": { - "base": null, - "refs": { - "Origins$Items": "A complex type that contains origins for this distribution." - } - }, - "OriginProtocolPolicy": { - "base": null, - "refs": { - "CustomOriginConfig$OriginProtocolPolicy": "The origin protocol policy to apply to your origin." - } - }, - "OriginSslProtocols": { - "base": "A complex type that contains the list of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.", - "refs": { - "CustomOriginConfig$OriginSslProtocols": "The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - } - }, - "Origins": { - "base": "A complex type that contains information about origins for this distribution.", - "refs": { - "DistributionConfig$Origins": "A complex type that contains information about origins for this distribution.", - "DistributionSummary$Origins": "A complex type that contains information about origins for this distribution." - } - }, - "PathList": { - "base": null, - "refs": { - "Paths$Items": "A complex type that contains a list of the objects that you want to invalidate." - } - }, - "Paths": { - "base": "A complex type that contains information about the objects that you want to invalidate.", - "refs": { - "InvalidationBatch$Paths": "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." - } - }, - "PreconditionFailed": { - "base": "The precondition given in one or more of the request-header fields evaluated to false.", - "refs": { - } - }, - "PriceClass": { - "base": null, - "refs": { - "DistributionConfig$PriceClass": "A complex type that contains information about price class for this distribution.", - "DistributionSummary$PriceClass": null, - "StreamingDistributionConfig$PriceClass": "A complex type that contains information about price class for this streaming distribution.", - "StreamingDistributionSummary$PriceClass": null - } - }, - "QueryStringCacheKeys": { - "base": null, - "refs": { - "ForwardedValues$QueryStringCacheKeys": "

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

" - } - }, - "QueryStringCacheKeysList": { - "base": null, - "refs": { - "QueryStringCacheKeys$Items": "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." - } - }, - "ResourceARN": { - "base": null, - "refs": { - "ListTagsForResourceRequest$Resource": "An ARN of a CloudFront resource.", - "TagResourceRequest$Resource": "An ARN of a CloudFront resource.", - "UntagResourceRequest$Resource": "An ARN of a CloudFront resource." - } - }, - "Restrictions": { - "base": "A complex type that identifies ways in which you want to restrict distribution of your content.", - "refs": { - "DistributionConfig$Restrictions": null, - "DistributionSummary$Restrictions": null - } - }, - "S3Origin": { - "base": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "refs": { - "StreamingDistributionConfig$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "StreamingDistributionSummary$S3Origin": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution." - } - }, - "S3OriginConfig": { - "base": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.", - "refs": { - "Origin$S3OriginConfig": "A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead." - } - }, - "SSLSupportMethod": { - "base": null, - "refs": { - "ViewerCertificate$SSLSupportMethod": "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." - } - }, - "Signer": { - "base": "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.", - "refs": { - "SignerList$member": null - } - }, - "SignerList": { - "base": null, - "refs": { - "ActiveTrustedSigners$Items": "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." - } - }, - "SslProtocol": { - "base": null, - "refs": { - "SslProtocolsList$member": null - } - }, - "SslProtocolsList": { - "base": null, - "refs": { - "OriginSslProtocols$Items": "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." - } - }, - "StreamingDistribution": { - "base": "A streaming distribution.", - "refs": { - "CreateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "CreateStreamingDistributionWithTagsResult$StreamingDistribution": "The streaming distribution's information.", - "GetStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information.", - "UpdateStreamingDistributionResult$StreamingDistribution": "The streaming distribution's information." - } - }, - "StreamingDistributionAlreadyExists": { - "base": null, - "refs": { - } - }, - "StreamingDistributionConfig": { - "base": "The configuration for the streaming distribution.", - "refs": { - "CreateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "GetStreamingDistributionConfigResult$StreamingDistributionConfig": "The streaming distribution's configuration information.", - "StreamingDistribution$StreamingDistributionConfig": "The current configuration information for the streaming distribution.", - "StreamingDistributionConfigWithTags$StreamingDistributionConfig": "A streaming distribution Configuration.", - "UpdateStreamingDistributionRequest$StreamingDistributionConfig": "The streaming distribution's configuration information." - } - }, - "StreamingDistributionConfigWithTags": { - "base": "A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.", - "refs": { - "CreateStreamingDistributionWithTagsRequest$StreamingDistributionConfigWithTags": "The streaming distribution's configuration information." - } - }, - "StreamingDistributionList": { - "base": "A streaming distribution list.", - "refs": { - "ListStreamingDistributionsResult$StreamingDistributionList": "The StreamingDistributionList type." - } - }, - "StreamingDistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "StreamingDistributionSummary": { - "base": "A summary of the information for an Amazon CloudFront streaming distribution.", - "refs": { - "StreamingDistributionSummaryList$member": null - } - }, - "StreamingDistributionSummaryList": { - "base": null, - "refs": { - "StreamingDistributionList$Items": "A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account." - } - }, - "StreamingLoggingConfig": { - "base": "A complex type that controls whether access logs are written for this streaming distribution.", - "refs": { - "StreamingDistributionConfig$Logging": "A complex type that controls whether access logs are written for the streaming distribution." - } - }, - "Tag": { - "base": "A complex type that contains Tag key and Tag value.", - "refs": { - "TagList$member": null - } - }, - "TagKey": { - "base": "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 _ - . : / = + @.", - "refs": { - "Tag$Key": "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 _ - . : / = + @.", - "TagKeyList$member": null - } - }, - "TagKeyList": { - "base": null, - "refs": { - "TagKeys$Items": "A complex type that contains Tag key elements" - } - }, - "TagKeys": { - "base": "A complex type that contains zero or more Tag elements.", - "refs": { - "UntagResourceRequest$TagKeys": "A complex type that contains zero or more Tag key elements." - } - }, - "TagList": { - "base": null, - "refs": { - "Tags$Items": "A complex type that contains Tag elements" - } - }, - "TagResourceRequest": { - "base": "The request to add tags to a CloudFront resource.", - "refs": { - } - }, - "TagValue": { - "base": null, - "refs": { - "Tag$Value": "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 _ - . : / = + @." - } - }, - "Tags": { - "base": "A complex type that contains zero or more Tag elements.", - "refs": { - "DistributionConfigWithTags$Tags": "A complex type that contains zero or more Tag elements.", - "ListTagsForResourceResult$Tags": "A complex type that contains zero or more Tag elements.", - "StreamingDistributionConfigWithTags$Tags": "A complex type that contains zero or more Tag elements.", - "TagResourceRequest$Tags": "A complex type that contains zero or more Tag elements." - } - }, - "TooManyCacheBehaviors": { - "base": "You cannot create anymore cache behaviors for the distribution.", - "refs": { - } - }, - "TooManyCertificates": { - "base": "You cannot create anymore custom ssl certificates.", - "refs": { - } - }, - "TooManyCloudFrontOriginAccessIdentities": { - "base": "Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "refs": { - } - }, - "TooManyCookieNamesInWhiteList": { - "base": "Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "refs": { - } - }, - "TooManyDistributionCNAMEs": { - "base": "Your request contains more CNAMEs than are allowed per distribution.", - "refs": { - } - }, - "TooManyDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of distributions allowed.", - "refs": { - } - }, - "TooManyHeadersInForwardedValues": { - "base": null, - "refs": { - } - }, - "TooManyInvalidationsInProgress": { - "base": "You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "refs": { - } - }, - "TooManyOriginCustomHeaders": { - "base": null, - "refs": { - } - }, - "TooManyOrigins": { - "base": "You cannot create anymore origins for the distribution.", - "refs": { - } - }, - "TooManyQueryStringParameters": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributionCNAMEs": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributions": { - "base": "Processing your request would cause you to exceed the maximum number of streaming distributions allowed.", - "refs": { - } - }, - "TooManyTrustedSigners": { - "base": "Your request contains more trusted signers than are allowed per distribution.", - "refs": { - } - }, - "TrustedSignerDoesNotExist": { - "base": "One or more of your trusted signers do not exist.", - "refs": { - } - }, - "TrustedSigners": { - "base": "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.", - "refs": { - "CacheBehavior$TrustedSigners": "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.", - "DefaultCacheBehavior$TrustedSigners": "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.", - "StreamingDistributionConfig$TrustedSigners": "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.", - "StreamingDistributionSummary$TrustedSigners": "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": { - "base": "The request to remove tags from a CloudFront resource.", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityRequest": { - "base": "The request to update an origin access identity.", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateDistributionRequest": { - "base": "The request to update a distribution.", - "refs": { - } - }, - "UpdateDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "UpdateStreamingDistributionRequest": { - "base": "The request to update a streaming distribution.", - "refs": { - } - }, - "UpdateStreamingDistributionResult": { - "base": "The returned result of the corresponding request.", - "refs": { - } - }, - "ViewerCertificate": { - "base": "A complex type that contains information about viewer certificates for this distribution.", - "refs": { - "DistributionConfig$ViewerCertificate": null, - "DistributionSummary$ViewerCertificate": null - } - }, - "ViewerProtocolPolicy": { - "base": null, - "refs": { - "CacheBehavior$ViewerProtocolPolicy": "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.", - "DefaultCacheBehavior$ViewerProtocolPolicy": "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." - } - }, - "boolean": { - "base": null, - "refs": { - "ActiveTrustedSigners$Enabled": "Each active trusted signer.", - "CacheBehavior$SmoothStreaming": "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.", - "CacheBehavior$Compress": "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.", - "CloudFrontOriginAccessIdentityList$IsTruncated": "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.", - "DefaultCacheBehavior$SmoothStreaming": "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.", - "DefaultCacheBehavior$Compress": "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.", - "DistributionConfig$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "DistributionList$IsTruncated": "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.", - "DistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "ForwardedValues$QueryString": "

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:

", - "InvalidationList$IsTruncated": "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.", - "LoggingConfig$Enabled": "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.", - "LoggingConfig$IncludeCookies": "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.", - "StreamingDistributionConfig$Enabled": "Whether the streaming distribution is enabled to accept end user requests for content.", - "StreamingDistributionList$IsTruncated": "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.", - "StreamingDistributionSummary$Enabled": "Whether the distribution is enabled to accept end user requests for content.", - "StreamingLoggingConfig$Enabled": "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.", - "TrustedSigners$Enabled": "Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.", - "ViewerCertificate$CloudFrontDefaultCertificate": "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." - } - }, - "integer": { - "base": null, - "refs": { - "ActiveTrustedSigners$Quantity": "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.", - "Aliases$Quantity": "The number of CNAMEs, if any, for this distribution.", - "AllowedMethods$Quantity": "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).", - "CacheBehaviors$Quantity": "The number of cache behaviors for this distribution.", - "CachedMethods$Quantity": "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).", - "CloudFrontOriginAccessIdentityList$MaxItems": "The value you provided for the MaxItems request parameter.", - "CloudFrontOriginAccessIdentityList$Quantity": "The number of CloudFront origin access identities that were created by the current AWS account.", - "CookieNames$Quantity": "The number of whitelisted cookies for this cache behavior.", - "CustomErrorResponse$ErrorCode": "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.", - "CustomErrorResponses$Quantity": "The number of custom error responses for this distribution.", - "CustomHeaders$Quantity": "The number of custom headers for this origin.", - "CustomOriginConfig$HTTPPort": "The HTTP port the custom origin listens on.", - "CustomOriginConfig$HTTPSPort": "The HTTPS port the custom origin listens on.", - "Distribution$InProgressInvalidationBatches": "The number of invalidation batches currently in progress.", - "DistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "DistributionList$Quantity": "The number of distributions that were created by the current AWS account.", - "GeoRestriction$Quantity": "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.", - "Headers$Quantity": "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.", - "InvalidationList$MaxItems": "The value you provided for the MaxItems request parameter.", - "InvalidationList$Quantity": "The number of invalidation batches that were created by the current AWS account.", - "KeyPairIds$Quantity": "The number of active CloudFront key pairs for AwsAccountNumber.", - "OriginSslProtocols$Quantity": "The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS connection with this origin.", - "Origins$Quantity": "The number of origins for this distribution.", - "Paths$Quantity": "The number of objects that you want to invalidate.", - "QueryStringCacheKeys$Quantity": "The number of whitelisted query string parameters for this cache behavior.", - "StreamingDistributionList$MaxItems": "The value you provided for the MaxItems request parameter.", - "StreamingDistributionList$Quantity": "The number of streaming distributions that were created by the current AWS account.", - "TrustedSigners$Quantity": "The number of trusted signers for this cache behavior." - } - }, - "long": { - "base": null, - "refs": { - "CacheBehavior$MinTTL": "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).", - "CacheBehavior$DefaultTTL": "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).", - "CacheBehavior$MaxTTL": "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).", - "CustomErrorResponse$ErrorCachingMinTTL": "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.", - "DefaultCacheBehavior$MinTTL": "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).", - "DefaultCacheBehavior$DefaultTTL": "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).", - "DefaultCacheBehavior$MaxTTL": "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)." - } - }, - "string": { - "base": null, - "refs": { - "AccessDenied$Message": null, - "AliasList$member": null, - "AwsAccountNumberList$member": null, - "BatchTooLarge$Message": null, - "CNAMEAlreadyExists$Message": null, - "CacheBehavior$PathPattern": "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.", - "CacheBehavior$TargetOriginId": "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.", - "CloudFrontOriginAccessIdentity$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, - "CloudFrontOriginAccessIdentityConfig$CallerReference": "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.", - "CloudFrontOriginAccessIdentityConfig$Comment": "Any comments you want to include about the origin access identity.", - "CloudFrontOriginAccessIdentityInUse$Message": null, - "CloudFrontOriginAccessIdentityList$Marker": "The value you provided for the Marker request parameter.", - "CloudFrontOriginAccessIdentityList$NextMarker": "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.", - "CloudFrontOriginAccessIdentitySummary$Id": "The ID for the origin access identity. For example: E74FTE3AJFJ256A.", - "CloudFrontOriginAccessIdentitySummary$S3CanonicalUserId": "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.", - "CloudFrontOriginAccessIdentitySummary$Comment": "The comment for this origin access identity, as originally specified when created.", - "CookieNameList$member": null, - "CreateCloudFrontOriginAccessIdentityResult$Location": "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.", - "CreateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity created.", - "CreateDistributionResult$Location": "The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "CreateDistributionResult$ETag": "The current version of the distribution created.", - "CreateDistributionWithTagsResult$Location": "The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "CreateDistributionWithTagsResult$ETag": "The current version of the distribution created.", - "CreateInvalidationRequest$DistributionId": "The distribution's id.", - "CreateInvalidationResult$Location": "The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.", - "CreateStreamingDistributionResult$Location": "The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "CreateStreamingDistributionResult$ETag": "The current version of the streaming distribution created.", - "CreateStreamingDistributionWithTagsResult$Location": "The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "CreateStreamingDistributionWithTagsResult$ETag": "The current version of the streaming distribution created.", - "CustomErrorResponse$ResponsePagePath": "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.", - "CustomErrorResponse$ResponseCode": "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.", - "DefaultCacheBehavior$TargetOriginId": "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.", - "DeleteCloudFrontOriginAccessIdentityRequest$Id": "The origin access identity's id.", - "DeleteCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.", - "DeleteDistributionRequest$Id": "The distribution id.", - "DeleteDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "DeleteStreamingDistributionRequest$Id": "The distribution id.", - "DeleteStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.", - "Distribution$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "Distribution$ARN": "The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account Id.", - "Distribution$Status": "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.", - "Distribution$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionAlreadyExists$Message": null, - "DistributionConfig$CallerReference": "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.", - "DistributionConfig$DefaultRootObject": "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.", - "DistributionConfig$Comment": "Any comments you want to include about the distribution.", - "DistributionConfig$WebACLId": "(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.", - "DistributionList$Marker": "The value you provided for the Marker request parameter.", - "DistributionList$NextMarker": "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.", - "DistributionNotDisabled$Message": null, - "DistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "DistributionSummary$ARN": "The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account Id.", - "DistributionSummary$Status": "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.", - "DistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "DistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "DistributionSummary$WebACLId": "The Web ACL Id (if any) associated with the distribution.", - "GetCloudFrontOriginAccessIdentityConfigRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "GetCloudFrontOriginAccessIdentityResult$ETag": "The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.", - "GetDistributionConfigRequest$Id": "The distribution's id.", - "GetDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetDistributionRequest$Id": "The distribution's id.", - "GetDistributionResult$ETag": "The current version of the distribution's information. For example: E2QWRUHAPOMQZL.", - "GetInvalidationRequest$DistributionId": "The distribution's id.", - "GetInvalidationRequest$Id": "The invalidation's id.", - "GetStreamingDistributionConfigRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionConfigResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "GetStreamingDistributionRequest$Id": "The streaming distribution's id.", - "GetStreamingDistributionResult$ETag": "The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.", - "HeaderList$member": null, - "IllegalUpdate$Message": null, - "InconsistentQuantities$Message": null, - "InvalidArgument$Message": null, - "InvalidDefaultRootObject$Message": null, - "InvalidErrorCode$Message": null, - "InvalidForwardCookies$Message": null, - "InvalidGeoRestrictionParameter$Message": null, - "InvalidHeadersForS3Origin$Message": null, - "InvalidIfMatchVersion$Message": null, - "InvalidLocationCode$Message": null, - "InvalidMinimumProtocolVersion$Message": null, - "InvalidOrigin$Message": null, - "InvalidOriginAccessIdentity$Message": null, - "InvalidProtocolSettings$Message": null, - "InvalidQueryStringParameters$Message": null, - "InvalidRelativePath$Message": null, - "InvalidRequiredProtocol$Message": null, - "InvalidResponseCode$Message": null, - "InvalidTTLOrder$Message": null, - "InvalidTagging$Message": null, - "InvalidViewerCertificate$Message": null, - "InvalidWebACLId$Message": null, - "Invalidation$Id": "The identifier for the invalidation request. For example: IDFDVBD632BHDS5.", - "Invalidation$Status": "The status of the invalidation request. When the invalidation batch is finished, the status is Completed.", - "InvalidationBatch$CallerReference": "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.", - "InvalidationList$Marker": "The value you provided for the Marker request parameter.", - "InvalidationList$NextMarker": "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.", - "InvalidationSummary$Id": "The unique ID for an invalidation request.", - "InvalidationSummary$Status": "The status of an invalidation request.", - "KeyPairIdList$member": null, - "ListCloudFrontOriginAccessIdentitiesRequest$Marker": "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).", - "ListCloudFrontOriginAccessIdentitiesRequest$MaxItems": "The maximum number of origin access identities you want in the response body.", - "ListDistributionsByWebACLIdRequest$Marker": "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.)", - "ListDistributionsByWebACLIdRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListDistributionsByWebACLIdRequest$WebACLId": "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.", - "ListDistributionsRequest$Marker": "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.)", - "ListDistributionsRequest$MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.", - "ListInvalidationsRequest$DistributionId": "The distribution's id.", - "ListInvalidationsRequest$Marker": "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.", - "ListInvalidationsRequest$MaxItems": "The maximum number of invalidation batches you want in the response body.", - "ListStreamingDistributionsRequest$Marker": "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).", - "ListStreamingDistributionsRequest$MaxItems": "The maximum number of streaming distributions you want in the response body.", - "LocationList$member": null, - "LoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "LoggingConfig$Prefix": "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.", - "MissingBody$Message": null, - "NoSuchCloudFrontOriginAccessIdentity$Message": null, - "NoSuchDistribution$Message": null, - "NoSuchInvalidation$Message": null, - "NoSuchOrigin$Message": null, - "NoSuchResource$Message": null, - "NoSuchStreamingDistribution$Message": null, - "Origin$Id": "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.", - "Origin$DomainName": "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.", - "Origin$OriginPath": "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.", - "OriginCustomHeader$HeaderName": "The header's name.", - "OriginCustomHeader$HeaderValue": "The header's value.", - "PathList$member": null, - "PreconditionFailed$Message": null, - "QueryStringCacheKeysList$member": null, - "S3Origin$DomainName": "The DNS name of the S3 origin.", - "S3Origin$OriginAccessIdentity": "Your S3 origin's origin access identity.", - "S3OriginConfig$OriginAccessIdentity": "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.", - "Signer$AwsAccountNumber": "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.", - "StreamingDistribution$Id": "The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.", - "StreamingDistribution$ARN": "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.", - "StreamingDistribution$Status": "The current status of the streaming distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistribution$DomainName": "The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.", - "StreamingDistributionAlreadyExists$Message": null, - "StreamingDistributionConfig$CallerReference": "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.", - "StreamingDistributionConfig$Comment": "Any comments you want to include about the streaming distribution.", - "StreamingDistributionList$Marker": "The value you provided for the Marker request parameter.", - "StreamingDistributionList$NextMarker": "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.", - "StreamingDistributionNotDisabled$Message": null, - "StreamingDistributionSummary$Id": "The identifier for the distribution. For example: EDFDVBD632BHDS5.", - "StreamingDistributionSummary$ARN": "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.", - "StreamingDistributionSummary$Status": "Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.", - "StreamingDistributionSummary$DomainName": "The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.", - "StreamingDistributionSummary$Comment": "The comment originally specified when this distribution was created.", - "StreamingLoggingConfig$Bucket": "The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.", - "StreamingLoggingConfig$Prefix": "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.", - "TooManyCacheBehaviors$Message": null, - "TooManyCertificates$Message": null, - "TooManyCloudFrontOriginAccessIdentities$Message": null, - "TooManyCookieNamesInWhiteList$Message": null, - "TooManyDistributionCNAMEs$Message": null, - "TooManyDistributions$Message": null, - "TooManyHeadersInForwardedValues$Message": null, - "TooManyInvalidationsInProgress$Message": null, - "TooManyOriginCustomHeaders$Message": null, - "TooManyOrigins$Message": null, - "TooManyQueryStringParameters$Message": null, - "TooManyStreamingDistributionCNAMEs$Message": null, - "TooManyStreamingDistributions$Message": null, - "TooManyTrustedSigners$Message": null, - "TrustedSignerDoesNotExist$Message": null, - "UpdateCloudFrontOriginAccessIdentityRequest$Id": "The identity's id.", - "UpdateCloudFrontOriginAccessIdentityRequest$IfMatch": "The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateCloudFrontOriginAccessIdentityResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionRequest$Id": "The distribution's id.", - "UpdateDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionRequest$Id": "The streaming distribution's id.", - "UpdateStreamingDistributionRequest$IfMatch": "The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.", - "UpdateStreamingDistributionResult$ETag": "The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "ViewerCertificate$IAMCertificateId": "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.", - "ViewerCertificate$ACMCertificateArn": "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.", - "ViewerCertificate$Certificate": "Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate]." - } - }, - "timestamp": { - "base": null, - "refs": { - "Distribution$LastModifiedTime": "The date and time the distribution was last modified.", - "DistributionSummary$LastModifiedTime": "The date and time the distribution was last modified.", - "Invalidation$CreateTime": "The date and time the invalidation request was first made.", - "InvalidationSummary$CreateTime": null, - "StreamingDistribution$LastModifiedTime": "The date and time the distribution was last modified.", - "StreamingDistributionSummary$LastModifiedTime": "The date and time the distribution was last modified." - } - } - } -} diff --git a/models/apis/cloudfront/2016-09-07/paginators-1.json b/models/apis/cloudfront/2016-09-07/paginators-1.json deleted file mode 100755 index 51fbb907fa3..00000000000 --- a/models/apis/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/models/apis/cloudfront/2016-09-07/waiters-2.json b/models/apis/cloudfront/2016-09-07/waiters-2.json deleted file mode 100755 index edd74b2a3b4..00000000000 --- a/models/apis/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": 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/models/apis/cloudfront/2016-09-29/api-2.json b/models/apis/cloudfront/2016-09-29/api-2.json deleted file mode 100644 index b905c836fc0..00000000000 --- a/models/apis/cloudfront/2016-09-29/api-2.json +++ /dev/null @@ -1,2599 +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", - "uid":"cloudfront-2016-09-07" - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListDistributions":{ - "name":"ListDistributions2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"SignerList"} - } - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AliasList"} - } - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"}, - "CachedMethods":{"shape":"CachedMethods"} - } - }, - "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"}, - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CacheBehaviorList"} - } - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"} - } - }, - "CertificateSource":{ - "type":"string", - "enum":[ - "cloudfront", - "iam", - "acm" - ] - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"} - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CloudFrontOriginAccessIdentitySummaryList"} - } - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"CookieNameList"} - } - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{"shape":"ItemSelection"}, - "WhitelistedNames":{"shape":"CookieNames"} - } - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateDistributionWithTagsRequest":{ - "type":"structure", - "required":["DistributionConfigWithTags"], - "members":{ - "DistributionConfigWithTags":{ - "shape":"DistributionConfigWithTags", - "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "payload":"DistributionConfigWithTags" - }, - "CreateDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CreateStreamingDistributionWithTagsRequest":{ - "type":"structure", - "required":["StreamingDistributionConfigWithTags"], - "members":{ - "StreamingDistributionConfigWithTags":{ - "shape":"StreamingDistributionConfigWithTags", - "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "payload":"StreamingDistributionConfigWithTags" - }, - "CreateStreamingDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"integer"}, - "ResponsePagePath":{"shape":"string"}, - "ResponseCode":{"shape":"string"}, - "ErrorCachingMinTTL":{"shape":"long"} - } - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CustomErrorResponseList"} - } - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginCustomHeadersList"} - } - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{"shape":"integer"}, - "HTTPSPort":{"shape":"integer"}, - "OriginProtocolPolicy":{"shape":"OriginProtocolPolicy"}, - "OriginSslProtocols":{"shape":"OriginSslProtocols"} - } - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"} - } - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{"shape":"string"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "InProgressInvalidationBatches":{"shape":"integer"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "DistributionConfig":{"shape":"DistributionConfig"} - } - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "DefaultRootObject":{"shape":"string"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"LoggingConfig"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"}, - "HttpVersion":{"shape":"HttpVersion"}, - "IsIPV6Enabled":{"shape":"boolean"} - } - }, - "DistributionConfigWithTags":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Tags" - ], - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "Tags":{"shape":"Tags"} - } - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"DistributionSummaryList"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"}, - "HttpVersion":{"shape":"HttpVersion"}, - "IsIPV6Enabled":{"shape":"boolean"} - } - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{"shape":"boolean"}, - "Cookies":{"shape":"CookiePreference"}, - "Headers":{"shape":"Headers"}, - "QueryStringCacheKeys":{"shape":"QueryStringCacheKeys"} - } - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{"shape":"GeoRestrictionType"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"LocationList"} - } - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"HeaderList"} - } - }, - "HttpVersion":{ - "type":"string", - "enum":[ - "http1.1", - "http2" - ] - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"}, - "Status":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "InvalidationBatch":{"shape":"InvalidationBatch"} - } - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{"shape":"Paths"}, - "CallerReference":{"shape":"string"} - } - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"InvalidationSummaryList"} - } - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "Status":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"KeyPairIdList"} - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{"shape":"CloudFrontOriginAccessIdentityList"} - }, - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "location":"uri", - "locationName":"WebACLId" - } - } - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{"shape":"InvalidationList"} - }, - "payload":"InvalidationList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{"shape":"StreamingDistributionList"} - }, - "payload":"StreamingDistributionList" - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["Resource"], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - } - } - }, - "ListTagsForResourceResult":{ - "type":"structure", - "required":["Tags"], - "members":{ - "Tags":{"shape":"Tags"} - }, - "payload":"Tags" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "IncludeCookies":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "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 - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchResource":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{"shape":"string"}, - "DomainName":{"shape":"string"}, - "OriginPath":{"shape":"string"}, - "CustomHeaders":{"shape":"CustomHeaders"}, - "S3OriginConfig":{"shape":"S3OriginConfig"}, - "CustomOriginConfig":{"shape":"CustomOriginConfig"} - } - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{"shape":"string"}, - "HeaderValue":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"SslProtocolsList"} - } - }, - "Origins":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginList"} - } - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"PathList"} - } - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "QueryStringCacheKeys":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"QueryStringCacheKeysList"} - } - }, - "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"} - } - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{"shape":"string"}, - "OriginAccessIdentity":{"shape":"string"} - } - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{"shape":"string"} - } - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{"shape":"string"}, - "KeyPairIds":{"shape":"KeyPairIds"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"} - } - }, - "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"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"StreamingLoggingConfig"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionConfigWithTags":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Tags" - ], - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "Tags":{"shape":"Tags"} - } - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"StreamingDistributionSummaryList"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{"shape":"TagKey"}, - "Value":{"shape":"TagValue"} - } - }, - "TagKey":{ - "type":"string", - "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"} - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "Tags" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - }, - "Tags":{ - "shape":"Tags", - "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "payload":"Tags" - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"structure", - "members":{ - "Items":{"shape":"TagList"} - } - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AwsAccountNumberList"} - } - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - }, - "TagKeys":{ - "shape":"TagKeys", - "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "payload":"TagKeys" - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{"shape":"boolean"}, - "IAMCertificateId":{"shape":"string"}, - "ACMCertificateArn":{"shape":"string"}, - "SSLSupportMethod":{"shape":"SSLSupportMethod"}, - "MinimumProtocolVersion":{"shape":"MinimumProtocolVersion"}, - "Certificate":{ - "shape":"string", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "deprecated":true - } - } - }, - "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/models/apis/cloudfront/2016-09-29/docs-2.json b/models/apis/cloudfront/2016-09-29/docs-2.json deleted file mode 100644 index 78e85b1a6dc..00000000000 --- a/models/apis/cloudfront/2016-09-29/docs-2.json +++ /dev/null @@ -1,1390 +0,0 @@ -{ - "version": "2.0", - "service": "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.

", - "operations": { - "CreateCloudFrontOriginAccessIdentity": "

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

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

", - "CreateDistributionWithTags": "

Create a new distribution with tags.

", - "CreateInvalidation": "

Create a new invalidation.

", - "CreateStreamingDistribution": "

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

Create a new streaming distribution with tags.

", - "DeleteCloudFrontOriginAccessIdentity": "

Delete an origin access identity.

", - "DeleteDistribution": "

Delete a distribution.

", - "DeleteStreamingDistribution": "

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

Get the information about an origin access identity.

", - "GetCloudFrontOriginAccessIdentityConfig": "

Get the configuration information about an origin access identity.

", - "GetDistribution": "

Get the information about a distribution.

", - "GetDistributionConfig": "

Get the configuration information about a distribution.

", - "GetInvalidation": "

Get the information about an invalidation.

", - "GetStreamingDistribution": "

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

", - "GetStreamingDistributionConfig": "

Get the configuration information about a streaming distribution.

", - "ListCloudFrontOriginAccessIdentities": "

Lists origin access identities.

", - "ListDistributions": "

List distributions.

", - "ListDistributionsByWebACLId": "

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

", - "ListInvalidations": "

Lists invalidation batches.

", - "ListStreamingDistributions": "

List streaming distributions.

", - "ListTagsForResource": "

List tags for a CloudFront resource.

", - "TagResource": "

Add tags to a CloudFront resource.

", - "UntagResource": "

Remove tags from a CloudFront resource.

", - "UpdateCloudFrontOriginAccessIdentity": "

Update an origin access identity.

", - "UpdateDistribution": "

Update a distribution.

", - "UpdateStreamingDistribution": "

Update a streaming distribution.

" - }, - "shapes": { - "AccessDenied": { - "base": "

Access denied.

", - "refs": { - } - }, - "ActiveTrustedSigners": { - "base": "

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.

", - "refs": { - "Distribution$ActiveTrustedSigners": "

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.

", - "StreamingDistribution$ActiveTrustedSigners": "

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": { - "base": null, - "refs": { - "Aliases$Items": "

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

" - } - }, - "Aliases": { - "base": "

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

", - "refs": { - "DistributionConfig$Aliases": "

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

", - "DistributionSummary$Aliases": "

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

", - "StreamingDistributionConfig$Aliases": "

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

", - "StreamingDistributionSummary$Aliases": "

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

" - } - }, - "AllowedMethods": { - "base": "

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

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

", - "refs": { - "CacheBehavior$AllowedMethods": null, - "DefaultCacheBehavior$AllowedMethods": null - } - }, - "AwsAccountNumberList": { - "base": null, - "refs": { - "TrustedSigners$Items": "

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

" - } - }, - "BatchTooLarge": { - "base": null, - "refs": { - } - }, - "CNAMEAlreadyExists": { - "base": null, - "refs": { - } - }, - "CacheBehavior": { - "base": "

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.

", - "refs": { - "CacheBehaviorList$member": null - } - }, - "CacheBehaviorList": { - "base": null, - "refs": { - "CacheBehaviors$Items": "

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

" - } - }, - "CacheBehaviors": { - "base": "

A complex type that contains zero or more CacheBehavior elements.

", - "refs": { - "DistributionConfig$CacheBehaviors": "

A complex type that contains zero or more CacheBehavior elements.

", - "DistributionSummary$CacheBehaviors": "

A complex type that contains zero or more CacheBehavior elements.

" - } - }, - "CachedMethods": { - "base": "

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

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

", - "refs": { - "AllowedMethods$CachedMethods": null - } - }, - "CertificateSource": { - "base": null, - "refs": { - "ViewerCertificate$CertificateSource": "

This field is deprecated. You can use one of the following: [ACMCertificateArn, IAMCertificateId, or CloudFrontDefaultCertificate].

" - } - }, - "CloudFrontOriginAccessIdentity": { - "base": "

CloudFront origin access identity.

", - "refs": { - "CreateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "

The origin access identity's information.

", - "GetCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "

The origin access identity's information.

", - "UpdateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "

The origin access identity's information.

" - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists": { - "base": "

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.

", - "refs": { - } - }, - "CloudFrontOriginAccessIdentityConfig": { - "base": "

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

", - "refs": { - "CloudFrontOriginAccessIdentity$CloudFrontOriginAccessIdentityConfig": "

The current configuration information for the identity.

", - "CreateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "

The current configuration information for the identity.

", - "GetCloudFrontOriginAccessIdentityConfigResult$CloudFrontOriginAccessIdentityConfig": "

The origin access identity's configuration information.

", - "UpdateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "

The identity's configuration information.

" - } - }, - "CloudFrontOriginAccessIdentityInUse": { - "base": null, - "refs": { - } - }, - "CloudFrontOriginAccessIdentityList": { - "base": "

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.

", - "refs": { - "ListCloudFrontOriginAccessIdentitiesResult$CloudFrontOriginAccessIdentityList": "

The CloudFrontOriginAccessIdentityList type.

" - } - }, - "CloudFrontOriginAccessIdentitySummary": { - "base": "

Summary of the information about a CloudFront origin access identity.

", - "refs": { - "CloudFrontOriginAccessIdentitySummaryList$member": null - } - }, - "CloudFrontOriginAccessIdentitySummaryList": { - "base": null, - "refs": { - "CloudFrontOriginAccessIdentityList$Items": "

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

" - } - }, - "CookieNameList": { - "base": null, - "refs": { - "CookieNames$Items": "

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

" - } - }, - "CookieNames": { - "base": "

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.

", - "refs": { - "CookiePreference$WhitelistedNames": "

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.

" - } - }, - "CookiePreference": { - "base": "

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.

", - "refs": { - "ForwardedValues$Cookies": "

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": { - "base": "

The request to create a new origin access identity.

", - "refs": { - } - }, - "CreateCloudFrontOriginAccessIdentityResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "CreateDistributionRequest": { - "base": "

The request to create a new distribution.

", - "refs": { - } - }, - "CreateDistributionResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "CreateDistributionWithTagsRequest": { - "base": "

The request to create a new distribution with tags.

", - "refs": { - } - }, - "CreateDistributionWithTagsResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "CreateInvalidationRequest": { - "base": "

The request to create an invalidation.

", - "refs": { - } - }, - "CreateInvalidationResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "CreateStreamingDistributionRequest": { - "base": "

The request to create a new streaming distribution.

", - "refs": { - } - }, - "CreateStreamingDistributionResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "CreateStreamingDistributionWithTagsRequest": { - "base": "

The request to create a new streaming distribution with tags.

", - "refs": { - } - }, - "CreateStreamingDistributionWithTagsResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "CustomErrorResponse": { - "base": "

A complex type that controls:

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

", - "refs": { - "CustomErrorResponseList$member": null - } - }, - "CustomErrorResponseList": { - "base": null, - "refs": { - "CustomErrorResponses$Items": "

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.

" - } - }, - "CustomErrorResponses": { - "base": "

A complex type that controls:

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

", - "refs": { - "DistributionConfig$CustomErrorResponses": "

A complex type that controls the following:

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

", - "DistributionSummary$CustomErrorResponses": "

A complex type that contains zero or more CustomErrorResponses elements.

" - } - }, - "CustomHeaders": { - "base": "

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

", - "refs": { - "Origin$CustomHeaders": "

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

" - } - }, - "CustomOriginConfig": { - "base": "

A customer origin.

", - "refs": { - "Origin$CustomOriginConfig": "

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

" - } - }, - "DefaultCacheBehavior": { - "base": "

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.

", - "refs": { - "DistributionConfig$DefaultCacheBehavior": "

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.

", - "DistributionSummary$DefaultCacheBehavior": "

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": { - "base": "

Deletes a origin access identity.

", - "refs": { - } - }, - "DeleteDistributionRequest": { - "base": "

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.

", - "refs": { - } - }, - "DeleteStreamingDistributionRequest": { - "base": "

The request to delete a streaming distribution.

", - "refs": { - } - }, - "Distribution": { - "base": "

The distribution's information.

", - "refs": { - "CreateDistributionResult$Distribution": "

The distribution's information.

", - "CreateDistributionWithTagsResult$Distribution": "

The distribution's information.

", - "GetDistributionResult$Distribution": "

The distribution's information.

", - "UpdateDistributionResult$Distribution": "

The distribution's information.

" - } - }, - "DistributionAlreadyExists": { - "base": "

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

", - "refs": { - } - }, - "DistributionConfig": { - "base": "

A distribution configuration.

", - "refs": { - "CreateDistributionRequest$DistributionConfig": "

The distribution's configuration information.

", - "Distribution$DistributionConfig": "

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

", - "DistributionConfigWithTags$DistributionConfig": "

A distribution configuration.

", - "GetDistributionConfigResult$DistributionConfig": "

The distribution's configuration information.

", - "UpdateDistributionRequest$DistributionConfig": "

The distribution's configuration information.

" - } - }, - "DistributionConfigWithTags": { - "base": "

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

", - "refs": { - "CreateDistributionWithTagsRequest$DistributionConfigWithTags": "

The distribution's configuration information.

" - } - }, - "DistributionList": { - "base": "

A distribution list.

", - "refs": { - "ListDistributionsByWebACLIdResult$DistributionList": "

The DistributionList type.

", - "ListDistributionsResult$DistributionList": "

The DistributionList type.

" - } - }, - "DistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "DistributionSummary": { - "base": "

A summary of the information about a CloudFront distribution.

", - "refs": { - "DistributionSummaryList$member": null - } - }, - "DistributionSummaryList": { - "base": null, - "refs": { - "DistributionList$Items": "

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

" - } - }, - "ForwardedValues": { - "base": "

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

", - "refs": { - "CacheBehavior$ForwardedValues": "

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

", - "DefaultCacheBehavior$ForwardedValues": "

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

" - } - }, - "GeoRestriction": { - "base": "

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

", - "refs": { - "Restrictions$GeoRestriction": null - } - }, - "GeoRestrictionType": { - "base": null, - "refs": { - "GeoRestriction$RestrictionType": "

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

" - } - }, - "GetCloudFrontOriginAccessIdentityConfigRequest": { - "base": "

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

", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityRequest": { - "base": "

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

", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "GetDistributionConfigRequest": { - "base": "

The request to get a distribution configuration.

", - "refs": { - } - }, - "GetDistributionConfigResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "GetDistributionRequest": { - "base": "

The request to get a distribution's information.

", - "refs": { - } - }, - "GetDistributionResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "GetInvalidationRequest": { - "base": "

The request to get an invalidation's information.

", - "refs": { - } - }, - "GetInvalidationResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "GetStreamingDistributionConfigRequest": { - "base": "

To request to get a streaming distribution configuration.

", - "refs": { - } - }, - "GetStreamingDistributionConfigResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "GetStreamingDistributionRequest": { - "base": "

The request to get a streaming distribution's information.

", - "refs": { - } - }, - "GetStreamingDistributionResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "HeaderList": { - "base": null, - "refs": { - "Headers$Items": "

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.

" - } - }, - "Headers": { - "base": "

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.

", - "refs": { - "ForwardedValues$Headers": "

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

" - } - }, - "HttpVersion": { - "base": null, - "refs": { - "DistributionConfig$HttpVersion": "

(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.\"

", - "DistributionSummary$HttpVersion": "

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.

" - } - }, - "IllegalUpdate": { - "base": "

Origin and CallerReference cannot be updated.

", - "refs": { - } - }, - "InconsistentQuantities": { - "base": "

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

", - "refs": { - } - }, - "InvalidArgument": { - "base": "

The argument is invalid.

", - "refs": { - } - }, - "InvalidDefaultRootObject": { - "base": "

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

", - "refs": { - } - }, - "InvalidErrorCode": { - "base": null, - "refs": { - } - }, - "InvalidForwardCookies": { - "base": "

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.

", - "refs": { - } - }, - "InvalidGeoRestrictionParameter": { - "base": null, - "refs": { - } - }, - "InvalidHeadersForS3Origin": { - "base": null, - "refs": { - } - }, - "InvalidIfMatchVersion": { - "base": "

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

", - "refs": { - } - }, - "InvalidLocationCode": { - "base": null, - "refs": { - } - }, - "InvalidMinimumProtocolVersion": { - "base": null, - "refs": { - } - }, - "InvalidOrigin": { - "base": "

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

", - "refs": { - } - }, - "InvalidOriginAccessIdentity": { - "base": "

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

", - "refs": { - } - }, - "InvalidProtocolSettings": { - "base": "

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

", - "refs": { - } - }, - "InvalidQueryStringParameters": { - "base": null, - "refs": { - } - }, - "InvalidRelativePath": { - "base": "

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

", - "refs": { - } - }, - "InvalidRequiredProtocol": { - "base": "

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.

", - "refs": { - } - }, - "InvalidResponseCode": { - "base": null, - "refs": { - } - }, - "InvalidTTLOrder": { - "base": null, - "refs": { - } - }, - "InvalidTagging": { - "base": null, - "refs": { - } - }, - "InvalidViewerCertificate": { - "base": null, - "refs": { - } - }, - "InvalidWebACLId": { - "base": null, - "refs": { - } - }, - "Invalidation": { - "base": "

An invalidation.

", - "refs": { - "CreateInvalidationResult$Invalidation": "

The invalidation's information.

", - "GetInvalidationResult$Invalidation": "

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

" - } - }, - "InvalidationBatch": { - "base": "

An invalidation batch.

", - "refs": { - "CreateInvalidationRequest$InvalidationBatch": "

The batch information for the invalidation.

", - "Invalidation$InvalidationBatch": "

The current invalidation information for the batch request.

" - } - }, - "InvalidationList": { - "base": "

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.

", - "refs": { - "ListInvalidationsResult$InvalidationList": "

Information about invalidation batches.

" - } - }, - "InvalidationSummary": { - "base": "

A summary of an invalidation request.

", - "refs": { - "InvalidationSummaryList$member": null - } - }, - "InvalidationSummaryList": { - "base": null, - "refs": { - "InvalidationList$Items": "

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

" - } - }, - "ItemSelection": { - "base": null, - "refs": { - "CookiePreference$Forward": "

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.

" - } - }, - "KeyPairIdList": { - "base": null, - "refs": { - "KeyPairIds$Items": "

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

For more information, see ActiveTrustedSigners.

" - } - }, - "KeyPairIds": { - "base": "

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

For more information, see ActiveTrustedSigners.

", - "refs": { - "Signer$KeyPairIds": "

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

" - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest": { - "base": "

The request to list origin access identities.

", - "refs": { - } - }, - "ListCloudFrontOriginAccessIdentitiesResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "ListDistributionsByWebACLIdRequest": { - "base": "

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

", - "refs": { - } - }, - "ListDistributionsByWebACLIdResult": { - "base": "

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

", - "refs": { - } - }, - "ListDistributionsRequest": { - "base": "

The request to list your distributions.

", - "refs": { - } - }, - "ListDistributionsResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "ListInvalidationsRequest": { - "base": "

The request to list invalidations.

", - "refs": { - } - }, - "ListInvalidationsResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "ListStreamingDistributionsRequest": { - "base": "

The request to list your streaming distributions.

", - "refs": { - } - }, - "ListStreamingDistributionsResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "ListTagsForResourceRequest": { - "base": "

The request to list tags for a CloudFront resource.

", - "refs": { - } - }, - "ListTagsForResourceResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "LocationList": { - "base": null, - "refs": { - "GeoRestriction$Items": "

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.

" - } - }, - "LoggingConfig": { - "base": "

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

", - "refs": { - "DistributionConfig$Logging": "

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.

" - } - }, - "Method": { - "base": null, - "refs": { - "MethodsList$member": null - } - }, - "MethodsList": { - "base": null, - "refs": { - "AllowedMethods$Items": "

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

", - "CachedMethods$Items": "

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

" - } - }, - "MinimumProtocolVersion": { - "base": null, - "refs": { - "ViewerCertificate$MinimumProtocolVersion": "

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:

" - } - }, - "MissingBody": { - "base": "

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

", - "refs": { - } - }, - "NoSuchCloudFrontOriginAccessIdentity": { - "base": "

The specified origin access identity does not exist.

", - "refs": { - } - }, - "NoSuchDistribution": { - "base": "

The specified distribution does not exist.

", - "refs": { - } - }, - "NoSuchInvalidation": { - "base": "

The specified invalidation does not exist.

", - "refs": { - } - }, - "NoSuchOrigin": { - "base": "

No origin exists with the specified Origin Id.

", - "refs": { - } - }, - "NoSuchResource": { - "base": null, - "refs": { - } - }, - "NoSuchStreamingDistribution": { - "base": "

The specified streaming distribution does not exist.

", - "refs": { - } - }, - "Origin": { - "base": "

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.

", - "refs": { - "OriginList$member": null - } - }, - "OriginCustomHeader": { - "base": "

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

", - "refs": { - "OriginCustomHeadersList$member": null - } - }, - "OriginCustomHeadersList": { - "base": null, - "refs": { - "CustomHeaders$Items": "

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.

" - } - }, - "OriginList": { - "base": null, - "refs": { - "Origins$Items": "

A complex type that contains origins for this distribution.

" - } - }, - "OriginProtocolPolicy": { - "base": null, - "refs": { - "CustomOriginConfig$OriginProtocolPolicy": "

The origin protocol policy to apply to your origin.

" - } - }, - "OriginSslProtocols": { - "base": "

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

", - "refs": { - "CustomOriginConfig$OriginSslProtocols": "

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

" - } - }, - "Origins": { - "base": "

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

", - "refs": { - "DistributionConfig$Origins": "

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

", - "DistributionSummary$Origins": "

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

" - } - }, - "PathList": { - "base": null, - "refs": { - "Paths$Items": "

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

" - } - }, - "Paths": { - "base": "

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.

", - "refs": { - "InvalidationBatch$Paths": "

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": { - "base": "

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

", - "refs": { - } - }, - "PriceClass": { - "base": null, - "refs": { - "DistributionConfig$PriceClass": "

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.

", - "DistributionSummary$PriceClass": null, - "StreamingDistributionConfig$PriceClass": "

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

", - "StreamingDistributionSummary$PriceClass": null - } - }, - "QueryStringCacheKeys": { - "base": null, - "refs": { - "ForwardedValues$QueryStringCacheKeys": "

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

" - } - }, - "QueryStringCacheKeysList": { - "base": null, - "refs": { - "QueryStringCacheKeys$Items": "

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

" - } - }, - "ResourceARN": { - "base": null, - "refs": { - "ListTagsForResourceRequest$Resource": "

An ARN of a CloudFront resource.

", - "TagResourceRequest$Resource": "

An ARN of a CloudFront resource.

", - "UntagResourceRequest$Resource": "

An ARN of a CloudFront resource.

" - } - }, - "Restrictions": { - "base": "

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

", - "refs": { - "DistributionConfig$Restrictions": null, - "DistributionSummary$Restrictions": null - } - }, - "S3Origin": { - "base": "

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

", - "refs": { - "StreamingDistributionConfig$S3Origin": "

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

", - "StreamingDistributionSummary$S3Origin": "

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

" - } - }, - "S3OriginConfig": { - "base": "

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

", - "refs": { - "Origin$S3OriginConfig": "

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

" - } - }, - "SSLSupportMethod": { - "base": null, - "refs": { - "ViewerCertificate$SSLSupportMethod": "

If you specify a value for ACMCertificateArn or for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests: using a method that works for all clients or one that works for most clients:

Do not specify a value for SSLSupportMethod if you specified <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>.

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

" - } - }, - "Signer": { - "base": "

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.

", - "refs": { - "SignerList$member": null - } - }, - "SignerList": { - "base": null, - "refs": { - "ActiveTrustedSigners$Items": "

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.

" - } - }, - "SslProtocol": { - "base": null, - "refs": { - "SslProtocolsList$member": null - } - }, - "SslProtocolsList": { - "base": null, - "refs": { - "OriginSslProtocols$Items": "

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

" - } - }, - "StreamingDistribution": { - "base": "

A streaming distribution.

", - "refs": { - "CreateStreamingDistributionResult$StreamingDistribution": "

The streaming distribution's information.

", - "CreateStreamingDistributionWithTagsResult$StreamingDistribution": "

The streaming distribution's information.

", - "GetStreamingDistributionResult$StreamingDistribution": "

The streaming distribution's information.

", - "UpdateStreamingDistributionResult$StreamingDistribution": "

The streaming distribution's information.

" - } - }, - "StreamingDistributionAlreadyExists": { - "base": null, - "refs": { - } - }, - "StreamingDistributionConfig": { - "base": "

The RTMP distribution's configuration information.

", - "refs": { - "CreateStreamingDistributionRequest$StreamingDistributionConfig": "

The streaming distribution's configuration information.

", - "GetStreamingDistributionConfigResult$StreamingDistributionConfig": "

The streaming distribution's configuration information.

", - "StreamingDistribution$StreamingDistributionConfig": "

The current configuration information for the RTMP distribution.

", - "StreamingDistributionConfigWithTags$StreamingDistributionConfig": "

A streaming distribution Configuration.

", - "UpdateStreamingDistributionRequest$StreamingDistributionConfig": "

The streaming distribution's configuration information.

" - } - }, - "StreamingDistributionConfigWithTags": { - "base": "

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

", - "refs": { - "CreateStreamingDistributionWithTagsRequest$StreamingDistributionConfigWithTags": "

The streaming distribution's configuration information.

" - } - }, - "StreamingDistributionList": { - "base": "

A streaming distribution list.

", - "refs": { - "ListStreamingDistributionsResult$StreamingDistributionList": "

The StreamingDistributionList type.

" - } - }, - "StreamingDistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "StreamingDistributionSummary": { - "base": "

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

", - "refs": { - "StreamingDistributionSummaryList$member": null - } - }, - "StreamingDistributionSummaryList": { - "base": null, - "refs": { - "StreamingDistributionList$Items": "

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

" - } - }, - "StreamingLoggingConfig": { - "base": "

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

", - "refs": { - "StreamingDistributionConfig$Logging": "

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

" - } - }, - "Tag": { - "base": "

A complex type that contains Tag key and Tag value.

", - "refs": { - "TagList$member": null - } - }, - "TagKey": { - "base": "

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 _ - . : / = + @.

", - "refs": { - "Tag$Key": "

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 _ - . : / = + @.

", - "TagKeyList$member": null - } - }, - "TagKeyList": { - "base": null, - "refs": { - "TagKeys$Items": "

A complex type that contains Tag key elements.

" - } - }, - "TagKeys": { - "base": "

A complex type that contains zero or more Tag elements.

", - "refs": { - "UntagResourceRequest$TagKeys": "

A complex type that contains zero or more Tag key elements.

" - } - }, - "TagList": { - "base": null, - "refs": { - "Tags$Items": "

A complex type that contains Tag elements.

" - } - }, - "TagResourceRequest": { - "base": "

The request to add tags to a CloudFront resource.

", - "refs": { - } - }, - "TagValue": { - "base": null, - "refs": { - "Tag$Value": "

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 _ - . : / = + @.

" - } - }, - "Tags": { - "base": "

A complex type that contains zero or more Tag elements.

", - "refs": { - "DistributionConfigWithTags$Tags": "

A complex type that contains zero or more Tag elements.

", - "ListTagsForResourceResult$Tags": "

A complex type that contains zero or more Tag elements.

", - "StreamingDistributionConfigWithTags$Tags": "

A complex type that contains zero or more Tag elements.

", - "TagResourceRequest$Tags": "

A complex type that contains zero or more Tag elements.

" - } - }, - "TooManyCacheBehaviors": { - "base": "

You cannot create more cache behaviors for the distribution.

", - "refs": { - } - }, - "TooManyCertificates": { - "base": "

You cannot create anymore custom SSL/TLS certificates.

", - "refs": { - } - }, - "TooManyCloudFrontOriginAccessIdentities": { - "base": "

Processing your request would cause you to exceed the maximum number of origin access identities allowed.

", - "refs": { - } - }, - "TooManyCookieNamesInWhiteList": { - "base": "

Your request contains more cookie names in the whitelist than are allowed per cache behavior.

", - "refs": { - } - }, - "TooManyDistributionCNAMEs": { - "base": "

Your request contains more CNAMEs than are allowed per distribution.

", - "refs": { - } - }, - "TooManyDistributions": { - "base": "

Processing your request would cause you to exceed the maximum number of distributions allowed.

", - "refs": { - } - }, - "TooManyHeadersInForwardedValues": { - "base": null, - "refs": { - } - }, - "TooManyInvalidationsInProgress": { - "base": "

You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.

", - "refs": { - } - }, - "TooManyOriginCustomHeaders": { - "base": null, - "refs": { - } - }, - "TooManyOrigins": { - "base": "

You cannot create more origins for the distribution.

", - "refs": { - } - }, - "TooManyQueryStringParameters": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributionCNAMEs": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributions": { - "base": "

Processing your request would cause you to exceed the maximum number of streaming distributions allowed.

", - "refs": { - } - }, - "TooManyTrustedSigners": { - "base": "

Your request contains more trusted signers than are allowed per distribution.

", - "refs": { - } - }, - "TrustedSignerDoesNotExist": { - "base": "

One or more of your trusted signers do not exist.

", - "refs": { - } - }, - "TrustedSigners": { - "base": "

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 .

", - "refs": { - "CacheBehavior$TrustedSigners": "

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.

", - "DefaultCacheBehavior$TrustedSigners": "

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.

", - "StreamingDistributionConfig$TrustedSigners": "

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.

", - "StreamingDistributionSummary$TrustedSigners": "

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.

" - } - }, - "UntagResourceRequest": { - "base": "

The request to remove tags from a CloudFront resource.

", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityRequest": { - "base": "

The request to update an origin access identity.

", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "UpdateDistributionRequest": { - "base": "

The request to update a distribution.

", - "refs": { - } - }, - "UpdateDistributionResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "UpdateStreamingDistributionRequest": { - "base": "

The request to update a streaming distribution.

", - "refs": { - } - }, - "UpdateStreamingDistributionResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "ViewerCertificate": { - "base": "

A complex type that specifies the following:

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

", - "refs": { - "DistributionConfig$ViewerCertificate": null, - "DistributionSummary$ViewerCertificate": null - } - }, - "ViewerProtocolPolicy": { - "base": null, - "refs": { - "CacheBehavior$ViewerProtocolPolicy": "

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

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

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

", - "DefaultCacheBehavior$ViewerProtocolPolicy": "

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

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

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

" - } - }, - "boolean": { - "base": null, - "refs": { - "ActiveTrustedSigners$Enabled": "

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.

", - "CacheBehavior$SmoothStreaming": "

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.

", - "CacheBehavior$Compress": "

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.

", - "CloudFrontOriginAccessIdentityList$IsTruncated": "

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.

", - "DefaultCacheBehavior$SmoothStreaming": "

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.

", - "DefaultCacheBehavior$Compress": "

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.

", - "DistributionConfig$Enabled": "

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.

", - "DistributionConfig$IsIPV6Enabled": "

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

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

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

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

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

", - "DistributionList$IsTruncated": "

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.

", - "DistributionSummary$Enabled": "

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

", - "DistributionSummary$IsIPV6Enabled": "

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

", - "ForwardedValues$QueryString": "

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.

", - "InvalidationList$IsTruncated": "

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.

", - "LoggingConfig$Enabled": "

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.

", - "LoggingConfig$IncludeCookies": "

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.

", - "StreamingDistributionConfig$Enabled": "

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

", - "StreamingDistributionList$IsTruncated": "

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.

", - "StreamingDistributionSummary$Enabled": "

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

", - "StreamingLoggingConfig$Enabled": "

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.

", - "TrustedSigners$Enabled": "

Specifies whether you want to require viewers to use signed URLs to access the files specified by PathPattern and TargetOriginId.

", - "ViewerCertificate$CloudFrontDefaultCertificate": "

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.

" - } - }, - "integer": { - "base": null, - "refs": { - "ActiveTrustedSigners$Quantity": "

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

For more information, see ActiveTrustedSigners.

", - "Aliases$Quantity": "

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

", - "AllowedMethods$Quantity": "

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

", - "CacheBehaviors$Quantity": "

The number of cache behaviors for this distribution.

", - "CachedMethods$Quantity": "

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

", - "CloudFrontOriginAccessIdentityList$MaxItems": "

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

", - "CloudFrontOriginAccessIdentityList$Quantity": "

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

", - "CookieNames$Quantity": "

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

", - "CustomErrorResponse$ErrorCode": "

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

", - "CustomErrorResponses$Quantity": "

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.

", - "CustomHeaders$Quantity": "

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

", - "CustomOriginConfig$HTTPPort": "

The HTTP port the custom origin listens on.

", - "CustomOriginConfig$HTTPSPort": "

The HTTPS port the custom origin listens on.

", - "Distribution$InProgressInvalidationBatches": "

The number of invalidation batches currently in progress.

", - "DistributionList$MaxItems": "

The value you provided for the MaxItems request parameter.

", - "DistributionList$Quantity": "

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

", - "GeoRestriction$Quantity": "

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.

", - "Headers$Quantity": "

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:

", - "InvalidationList$MaxItems": "

The value that you provided for the MaxItems request parameter.

", - "InvalidationList$Quantity": "

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

", - "KeyPairIds$Quantity": "

The number of active CloudFront key pairs for AwsAccountNumber.

For more information, see ActiveTrustedSigners.

", - "OriginSslProtocols$Quantity": "

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

", - "Origins$Quantity": "

The number of origins for this distribution.

", - "Paths$Quantity": "

The number of objects that you want to invalidate.

", - "QueryStringCacheKeys$Quantity": "

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

", - "StreamingDistributionList$MaxItems": "

The value you provided for the MaxItems request parameter.

", - "StreamingDistributionList$Quantity": "

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

", - "TrustedSigners$Quantity": "

The number of trusted signers for this cache behavior.

" - } - }, - "long": { - "base": null, - "refs": { - "CacheBehavior$MinTTL": "

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

", - "CacheBehavior$DefaultTTL": "

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.

", - "CacheBehavior$MaxTTL": "

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.

", - "CustomErrorResponse$ErrorCachingMinTTL": "

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.

", - "DefaultCacheBehavior$MinTTL": "

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

", - "DefaultCacheBehavior$DefaultTTL": "

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.

", - "DefaultCacheBehavior$MaxTTL": null - } - }, - "string": { - "base": null, - "refs": { - "AccessDenied$Message": null, - "AliasList$member": null, - "AwsAccountNumberList$member": null, - "BatchTooLarge$Message": null, - "CNAMEAlreadyExists$Message": null, - "CacheBehavior$PathPattern": "

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.

", - "CacheBehavior$TargetOriginId": "

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.

", - "CloudFrontOriginAccessIdentity$Id": "

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

", - "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "

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.

", - "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, - "CloudFrontOriginAccessIdentityConfig$CallerReference": "

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.

", - "CloudFrontOriginAccessIdentityConfig$Comment": "

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

", - "CloudFrontOriginAccessIdentityInUse$Message": null, - "CloudFrontOriginAccessIdentityList$Marker": "

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

", - "CloudFrontOriginAccessIdentityList$NextMarker": "

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.

", - "CloudFrontOriginAccessIdentitySummary$Id": "

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

", - "CloudFrontOriginAccessIdentitySummary$S3CanonicalUserId": "

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.

", - "CloudFrontOriginAccessIdentitySummary$Comment": "

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

", - "CookieNameList$member": null, - "CreateCloudFrontOriginAccessIdentityResult$Location": "

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.

", - "CreateCloudFrontOriginAccessIdentityResult$ETag": "

The current version of the origin access identity created.

", - "CreateDistributionResult$Location": "

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

", - "CreateDistributionResult$ETag": "

The current version of the distribution created.

", - "CreateDistributionWithTagsResult$Location": "

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

", - "CreateDistributionWithTagsResult$ETag": "

The current version of the distribution created.

", - "CreateInvalidationRequest$DistributionId": "

The distribution's id.

", - "CreateInvalidationResult$Location": "

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

", - "CreateStreamingDistributionResult$Location": "

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

", - "CreateStreamingDistributionResult$ETag": "

The current version of the streaming distribution created.

", - "CreateStreamingDistributionWithTagsResult$Location": "

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

", - "CreateStreamingDistributionWithTagsResult$ETag": null, - "CustomErrorResponse$ResponsePagePath": "

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

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

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

", - "CustomErrorResponse$ResponseCode": "

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

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

", - "DefaultCacheBehavior$TargetOriginId": "

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.

", - "DeleteCloudFrontOriginAccessIdentityRequest$Id": "

The origin access identity's ID.

", - "DeleteCloudFrontOriginAccessIdentityRequest$IfMatch": "

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

", - "DeleteDistributionRequest$Id": "

The distribution ID.

", - "DeleteDistributionRequest$IfMatch": "

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

", - "DeleteStreamingDistributionRequest$Id": "

The distribution ID.

", - "DeleteStreamingDistributionRequest$IfMatch": "

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

", - "Distribution$Id": "

The identifier for the distribution. For example: EDFDVBD632BHDS5.

", - "Distribution$ARN": "

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

", - "Distribution$Status": "

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.

", - "Distribution$DomainName": "

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

", - "DistributionAlreadyExists$Message": null, - "DistributionConfig$CallerReference": "

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.

", - "DistributionConfig$DefaultRootObject": "

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.

", - "DistributionConfig$Comment": "

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.

", - "DistributionConfig$WebACLId": "

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.

", - "DistributionList$Marker": "

The value you provided for the Marker request parameter.

", - "DistributionList$NextMarker": "

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.

", - "DistributionNotDisabled$Message": null, - "DistributionSummary$Id": "

The identifier for the distribution. For example: EDFDVBD632BHDS5.

", - "DistributionSummary$ARN": "

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

", - "DistributionSummary$Status": "

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

", - "DistributionSummary$DomainName": "

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

", - "DistributionSummary$Comment": "

The comment originally specified when this distribution was created.

", - "DistributionSummary$WebACLId": "

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

", - "GetCloudFrontOriginAccessIdentityConfigRequest$Id": "

The identity's ID.

", - "GetCloudFrontOriginAccessIdentityConfigResult$ETag": "

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

", - "GetCloudFrontOriginAccessIdentityRequest$Id": "

The identity's ID.

", - "GetCloudFrontOriginAccessIdentityResult$ETag": "

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

", - "GetDistributionConfigRequest$Id": "

The distribution's ID.

", - "GetDistributionConfigResult$ETag": "

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

", - "GetDistributionRequest$Id": "

The distribution's ID.

", - "GetDistributionResult$ETag": "

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

", - "GetInvalidationRequest$DistributionId": "

The distribution's ID.

", - "GetInvalidationRequest$Id": "

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

", - "GetStreamingDistributionConfigRequest$Id": "

The streaming distribution's ID.

", - "GetStreamingDistributionConfigResult$ETag": "

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

", - "GetStreamingDistributionRequest$Id": "

The streaming distribution's ID.

", - "GetStreamingDistributionResult$ETag": "

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

", - "HeaderList$member": null, - "IllegalUpdate$Message": null, - "InconsistentQuantities$Message": null, - "InvalidArgument$Message": null, - "InvalidDefaultRootObject$Message": null, - "InvalidErrorCode$Message": null, - "InvalidForwardCookies$Message": null, - "InvalidGeoRestrictionParameter$Message": null, - "InvalidHeadersForS3Origin$Message": null, - "InvalidIfMatchVersion$Message": null, - "InvalidLocationCode$Message": null, - "InvalidMinimumProtocolVersion$Message": null, - "InvalidOrigin$Message": null, - "InvalidOriginAccessIdentity$Message": null, - "InvalidProtocolSettings$Message": null, - "InvalidQueryStringParameters$Message": null, - "InvalidRelativePath$Message": null, - "InvalidRequiredProtocol$Message": null, - "InvalidResponseCode$Message": null, - "InvalidTTLOrder$Message": null, - "InvalidTagging$Message": null, - "InvalidViewerCertificate$Message": null, - "InvalidWebACLId$Message": null, - "Invalidation$Id": "

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

", - "Invalidation$Status": "

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

", - "InvalidationBatch$CallerReference": "

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.

", - "InvalidationList$Marker": "

The value that you provided for the Marker request parameter.

", - "InvalidationList$NextMarker": "

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.

", - "InvalidationSummary$Id": "

The unique ID for an invalidation request.

", - "InvalidationSummary$Status": "

The status of an invalidation request.

", - "KeyPairIdList$member": null, - "ListCloudFrontOriginAccessIdentitiesRequest$Marker": "

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

", - "ListCloudFrontOriginAccessIdentitiesRequest$MaxItems": "

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

", - "ListDistributionsByWebACLIdRequest$Marker": "

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

", - "ListDistributionsByWebACLIdRequest$MaxItems": "

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

", - "ListDistributionsByWebACLIdRequest$WebACLId": "

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.

", - "ListDistributionsRequest$Marker": "

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

", - "ListDistributionsRequest$MaxItems": "

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

", - "ListInvalidationsRequest$DistributionId": "

The distribution's ID.

", - "ListInvalidationsRequest$Marker": "

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.

", - "ListInvalidationsRequest$MaxItems": "

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

", - "ListStreamingDistributionsRequest$Marker": "

The value that you provided for the Marker request parameter.

", - "ListStreamingDistributionsRequest$MaxItems": "

The value that you provided for the MaxItems request parameter.

", - "LocationList$member": null, - "LoggingConfig$Bucket": "

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

", - "LoggingConfig$Prefix": "

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.

", - "MissingBody$Message": null, - "NoSuchCloudFrontOriginAccessIdentity$Message": null, - "NoSuchDistribution$Message": null, - "NoSuchInvalidation$Message": null, - "NoSuchOrigin$Message": null, - "NoSuchResource$Message": null, - "NoSuchStreamingDistribution$Message": null, - "Origin$Id": "

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.

", - "Origin$DomainName": "

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

Constraints for Amazon S3 origins:

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

Constraints for custom origins:

", - "Origin$OriginPath": "

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

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

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

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

", - "OriginCustomHeader$HeaderName": "

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.

", - "OriginCustomHeader$HeaderValue": "

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

", - "PathList$member": null, - "PreconditionFailed$Message": null, - "QueryStringCacheKeysList$member": null, - "S3Origin$DomainName": "

The DNS name of the Amazon S3 origin.

", - "S3Origin$OriginAccessIdentity": "

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.

", - "S3OriginConfig$OriginAccessIdentity": "

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.

", - "Signer$AwsAccountNumber": "

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

", - "StreamingDistribution$Id": "

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

", - "StreamingDistribution$ARN": null, - "StreamingDistribution$Status": "

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

", - "StreamingDistribution$DomainName": "

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

", - "StreamingDistributionAlreadyExists$Message": null, - "StreamingDistributionConfig$CallerReference": "

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.

", - "StreamingDistributionConfig$Comment": "

Any comments you want to include about the streaming distribution.

", - "StreamingDistributionList$Marker": "

The value you provided for the Marker request parameter.

", - "StreamingDistributionList$NextMarker": "

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.

", - "StreamingDistributionNotDisabled$Message": null, - "StreamingDistributionSummary$Id": "

The identifier for the distribution. For example: EDFDVBD632BHDS5.

", - "StreamingDistributionSummary$ARN": "

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.

", - "StreamingDistributionSummary$Status": "

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

", - "StreamingDistributionSummary$DomainName": "

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

", - "StreamingDistributionSummary$Comment": "

The comment originally specified when this distribution was created.

", - "StreamingLoggingConfig$Bucket": "

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

", - "StreamingLoggingConfig$Prefix": "

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.

", - "TooManyCacheBehaviors$Message": null, - "TooManyCertificates$Message": null, - "TooManyCloudFrontOriginAccessIdentities$Message": null, - "TooManyCookieNamesInWhiteList$Message": null, - "TooManyDistributionCNAMEs$Message": null, - "TooManyDistributions$Message": null, - "TooManyHeadersInForwardedValues$Message": null, - "TooManyInvalidationsInProgress$Message": null, - "TooManyOriginCustomHeaders$Message": null, - "TooManyOrigins$Message": null, - "TooManyQueryStringParameters$Message": null, - "TooManyStreamingDistributionCNAMEs$Message": null, - "TooManyStreamingDistributions$Message": null, - "TooManyTrustedSigners$Message": null, - "TrustedSignerDoesNotExist$Message": null, - "UpdateCloudFrontOriginAccessIdentityRequest$Id": "

The identity's id.

", - "UpdateCloudFrontOriginAccessIdentityRequest$IfMatch": "

The value of the ETag header that you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.

", - "UpdateCloudFrontOriginAccessIdentityResult$ETag": "

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

", - "UpdateDistributionRequest$Id": "

The distribution's id.

", - "UpdateDistributionRequest$IfMatch": "

The value of the ETag header that you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "UpdateDistributionResult$ETag": "

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

", - "UpdateStreamingDistributionRequest$Id": "

The streaming distribution's id.

", - "UpdateStreamingDistributionRequest$IfMatch": "

The value of the ETag header that you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "UpdateStreamingDistributionResult$ETag": "

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

", - "ViewerCertificate$IAMCertificateId": "

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.

", - "ViewerCertificate$ACMCertificateArn": "

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.

", - "ViewerCertificate$Certificate": "

Include one of these values to specify the following:

You must specify one (and only one) of the three values. Do not specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP to request your objects: Specify the following value:

<CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

In addition, specify allow-all for ViewerProtocolPolicy for all of your cache behaviors.

If you want viewers to use HTTPS to request your objects: Choose the type of certificate that you want to use based on whether you're using an alternate domain name for your objects or the CloudFront domain name:

" - } - }, - "timestamp": { - "base": null, - "refs": { - "Distribution$LastModifiedTime": "

The date and time the distribution was last modified.

", - "DistributionSummary$LastModifiedTime": "

The date and time the distribution was last modified.

", - "Invalidation$CreateTime": "

The date and time the invalidation request was first made.

", - "InvalidationSummary$CreateTime": null, - "StreamingDistribution$LastModifiedTime": "

The date and time that the distribution was last modified.

", - "StreamingDistributionSummary$LastModifiedTime": "

The date and time the distribution was last modified.

" - } - } - } -} diff --git a/models/apis/cloudfront/2016-09-29/paginators-1.json b/models/apis/cloudfront/2016-09-29/paginators-1.json deleted file mode 100644 index 51fbb907fa3..00000000000 --- a/models/apis/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/models/apis/cloudfront/2016-09-29/waiters-2.json b/models/apis/cloudfront/2016-09-29/waiters-2.json deleted file mode 100644 index edd74b2a3b4..00000000000 --- a/models/apis/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": 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/models/apis/cloudfront/2016-11-25/api-2.json b/models/apis/cloudfront/2016-11-25/api-2.json deleted file mode 100644 index 3c644ead11f..00000000000 --- a/models/apis/cloudfront/2016-11-25/api-2.json +++ /dev/null @@ -1,2665 +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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListDistributions":{ - "name":"ListDistributions2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "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"} - ] - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"SignerList"} - } - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AliasList"} - } - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"}, - "CachedMethods":{"shape":"CachedMethods"} - } - }, - "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"}, - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"}, - "LambdaFunctionAssociations":{"shape":"LambdaFunctionAssociations"} - } - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CacheBehaviorList"} - } - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"MethodsList"} - } - }, - "CertificateSource":{ - "type":"string", - "enum":[ - "cloudfront", - "iam", - "acm" - ] - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"} - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CloudFrontOriginAccessIdentitySummaryList"} - } - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{"shape":"string"}, - "S3CanonicalUserId":{"shape":"string"}, - "Comment":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"CookieNameList"} - } - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{"shape":"ItemSelection"}, - "WhitelistedNames":{"shape":"CookieNames"} - } - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateDistributionWithTagsRequest":{ - "type":"structure", - "required":["DistributionConfigWithTags"], - "members":{ - "DistributionConfigWithTags":{ - "shape":"DistributionConfigWithTags", - "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "payload":"DistributionConfigWithTags" - }, - "CreateDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CreateStreamingDistributionWithTagsRequest":{ - "type":"structure", - "required":["StreamingDistributionConfigWithTags"], - "members":{ - "StreamingDistributionConfigWithTags":{ - "shape":"StreamingDistributionConfigWithTags", - "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "payload":"StreamingDistributionConfigWithTags" - }, - "CreateStreamingDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"integer"}, - "ResponsePagePath":{"shape":"string"}, - "ResponseCode":{"shape":"string"}, - "ErrorCachingMinTTL":{"shape":"long"} - } - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"CustomErrorResponseList"} - } - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginCustomHeadersList"} - } - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{"shape":"integer"}, - "HTTPSPort":{"shape":"integer"}, - "OriginProtocolPolicy":{"shape":"OriginProtocolPolicy"}, - "OriginSslProtocols":{"shape":"OriginSslProtocols"} - } - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{"shape":"string"}, - "ForwardedValues":{"shape":"ForwardedValues"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "ViewerProtocolPolicy":{"shape":"ViewerProtocolPolicy"}, - "MinTTL":{"shape":"long"}, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{"shape":"boolean"}, - "DefaultTTL":{"shape":"long"}, - "MaxTTL":{"shape":"long"}, - "Compress":{"shape":"boolean"}, - "LambdaFunctionAssociations":{"shape":"LambdaFunctionAssociations"} - } - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - } - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{"shape":"string"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "InProgressInvalidationBatches":{"shape":"integer"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "DistributionConfig":{"shape":"DistributionConfig"} - } - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "DefaultRootObject":{"shape":"string"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"LoggingConfig"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"}, - "HttpVersion":{"shape":"HttpVersion"}, - "IsIPV6Enabled":{"shape":"boolean"} - } - }, - "DistributionConfigWithTags":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Tags" - ], - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "Tags":{"shape":"Tags"} - } - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"DistributionSummaryList"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "Aliases":{"shape":"Aliases"}, - "Origins":{"shape":"Origins"}, - "DefaultCacheBehavior":{"shape":"DefaultCacheBehavior"}, - "CacheBehaviors":{"shape":"CacheBehaviors"}, - "CustomErrorResponses":{"shape":"CustomErrorResponses"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"}, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{"shape":"string"}, - "HttpVersion":{"shape":"HttpVersion"}, - "IsIPV6Enabled":{"shape":"boolean"} - } - }, - "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"}, - "Cookies":{"shape":"CookiePreference"}, - "Headers":{"shape":"Headers"}, - "QueryStringCacheKeys":{"shape":"QueryStringCacheKeys"} - } - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{"shape":"GeoRestrictionType"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"LocationList"} - } - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{"shape":"CloudFrontOriginAccessIdentityConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{"shape":"DistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{"shape":"Invalidation"} - }, - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"HeaderList"} - } - }, - "HttpVersion":{ - "type":"string", - "enum":[ - "http1.1", - "http2" - ] - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLambdaFunctionAssociation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"}, - "Status":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "InvalidationBatch":{"shape":"InvalidationBatch"} - } - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{"shape":"Paths"}, - "CallerReference":{"shape":"string"} - } - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"InvalidationSummaryList"} - } - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{"shape":"string"}, - "CreateTime":{"shape":"timestamp"}, - "Status":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"KeyPairIdList"} - } - }, - "LambdaFunctionAssociation":{ - "type":"structure", - "members":{ - "LambdaFunctionARN":{"shape":"string"}, - "EventType":{"shape":"EventType"} - } - }, - "LambdaFunctionAssociationList":{ - "type":"list", - "member":{ - "shape":"LambdaFunctionAssociation", - "locationName":"LambdaFunctionAssociation" - } - }, - "LambdaFunctionAssociations":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"LambdaFunctionAssociationList"} - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{"shape":"CloudFrontOriginAccessIdentityList"} - }, - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "location":"uri", - "locationName":"WebACLId" - } - } - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{"shape":"DistributionList"} - }, - "payload":"DistributionList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{"shape":"InvalidationList"} - }, - "payload":"InvalidationList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{"shape":"StreamingDistributionList"} - }, - "payload":"StreamingDistributionList" - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["Resource"], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - } - } - }, - "ListTagsForResourceResult":{ - "type":"structure", - "required":["Tags"], - "members":{ - "Tags":{"shape":"Tags"} - }, - "payload":"Tags" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "IncludeCookies":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "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 - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchResource":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{"shape":"string"}, - "DomainName":{"shape":"string"}, - "OriginPath":{"shape":"string"}, - "CustomHeaders":{"shape":"CustomHeaders"}, - "S3OriginConfig":{"shape":"S3OriginConfig"}, - "CustomOriginConfig":{"shape":"CustomOriginConfig"} - } - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{"shape":"string"}, - "HeaderValue":{"shape":"string"} - } - }, - "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"}, - "Items":{"shape":"SslProtocolsList"} - } - }, - "Origins":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"OriginList"} - } - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"PathList"} - } - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "QueryStringCacheKeys":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{"shape":"integer"}, - "Items":{"shape":"QueryStringCacheKeysList"} - } - }, - "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"} - } - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{"shape":"string"}, - "OriginAccessIdentity":{"shape":"string"} - } - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{"shape":"string"} - } - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{"shape":"string"}, - "KeyPairIds":{"shape":"KeyPairIds"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "ActiveTrustedSigners":{"shape":"ActiveTrustedSigners"}, - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"} - } - }, - "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"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "Comment":{"shape":"string"}, - "Logging":{"shape":"StreamingLoggingConfig"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionConfigWithTags":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Tags" - ], - "members":{ - "StreamingDistributionConfig":{"shape":"StreamingDistributionConfig"}, - "Tags":{"shape":"Tags"} - } - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{"shape":"string"}, - "NextMarker":{"shape":"string"}, - "MaxItems":{"shape":"integer"}, - "IsTruncated":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"StreamingDistributionSummaryList"} - } - }, - "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"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, - "LastModifiedTime":{"shape":"timestamp"}, - "DomainName":{"shape":"string"}, - "S3Origin":{"shape":"S3Origin"}, - "Aliases":{"shape":"Aliases"}, - "TrustedSigners":{"shape":"TrustedSigners"}, - "Comment":{"shape":"string"}, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{"shape":"boolean"} - } - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Bucket":{"shape":"string"}, - "Prefix":{"shape":"string"} - } - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{"shape":"TagKey"}, - "Value":{"shape":"TagValue"} - } - }, - "TagKey":{ - "type":"string", - "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"} - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "Tags" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - }, - "Tags":{ - "shape":"Tags", - "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "payload":"Tags" - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"structure", - "members":{ - "Items":{"shape":"TagList"} - } - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionsWithLambdaAssociations":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyLambdaFunctionAssociations":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{"shape":"boolean"}, - "Quantity":{"shape":"integer"}, - "Items":{"shape":"AwsAccountNumberList"} - } - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "location":"querystring", - "locationName":"Resource" - }, - "TagKeys":{ - "shape":"TagKeys", - "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "payload":"TagKeys" - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{"shape":"CloudFrontOriginAccessIdentity"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{"shape":"Distribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{"shape":"StreamingDistribution"}, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{"shape":"boolean"}, - "IAMCertificateId":{"shape":"string"}, - "ACMCertificateArn":{"shape":"string"}, - "SSLSupportMethod":{"shape":"SSLSupportMethod"}, - "MinimumProtocolVersion":{"shape":"MinimumProtocolVersion"}, - "Certificate":{ - "shape":"string", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "deprecated":true - } - } - }, - "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/models/apis/cloudfront/2016-11-25/docs-2.json b/models/apis/cloudfront/2016-11-25/docs-2.json deleted file mode 100644 index de255b72777..00000000000 --- a/models/apis/cloudfront/2016-11-25/docs-2.json +++ /dev/null @@ -1,1435 +0,0 @@ -{ - "version": "2.0", - "service": "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.

", - "operations": { - "CreateCloudFrontOriginAccessIdentity": "

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

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

", - "CreateDistributionWithTags": "

Create a new distribution with tags.

", - "CreateInvalidation": "

Create a new invalidation.

", - "CreateStreamingDistribution": "

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

Create a new streaming distribution with tags.

", - "DeleteCloudFrontOriginAccessIdentity": "

Delete an origin access identity.

", - "DeleteDistribution": "

Delete a distribution.

", - "DeleteStreamingDistribution": "

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

Get the information about an origin access identity.

", - "GetCloudFrontOriginAccessIdentityConfig": "

Get the configuration information about an origin access identity.

", - "GetDistribution": "

Get the information about a distribution.

", - "GetDistributionConfig": "

Get the configuration information about a distribution.

", - "GetInvalidation": "

Get the information about an invalidation.

", - "GetStreamingDistribution": "

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

", - "GetStreamingDistributionConfig": "

Get the configuration information about a streaming distribution.

", - "ListCloudFrontOriginAccessIdentities": "

Lists origin access identities.

", - "ListDistributions": "

List distributions.

", - "ListDistributionsByWebACLId": "

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

", - "ListInvalidations": "

Lists invalidation batches.

", - "ListStreamingDistributions": "

List streaming distributions.

", - "ListTagsForResource": "

List tags for a CloudFront resource.

", - "TagResource": "

Add tags to a CloudFront resource.

", - "UntagResource": "

Remove tags from a CloudFront resource.

", - "UpdateCloudFrontOriginAccessIdentity": "

Update an origin access identity.

", - "UpdateDistribution": "

Update a distribution.

", - "UpdateStreamingDistribution": "

Update a streaming distribution.

" - }, - "shapes": { - "AccessDenied": { - "base": "

Access denied.

", - "refs": { - } - }, - "ActiveTrustedSigners": { - "base": "

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.

", - "refs": { - "Distribution$ActiveTrustedSigners": "

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.

", - "StreamingDistribution$ActiveTrustedSigners": "

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": { - "base": null, - "refs": { - "Aliases$Items": "

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

" - } - }, - "Aliases": { - "base": "

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

", - "refs": { - "DistributionConfig$Aliases": "

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

", - "DistributionSummary$Aliases": "

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

", - "StreamingDistributionConfig$Aliases": "

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

", - "StreamingDistributionSummary$Aliases": "

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

" - } - }, - "AllowedMethods": { - "base": "

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

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

", - "refs": { - "CacheBehavior$AllowedMethods": null, - "DefaultCacheBehavior$AllowedMethods": null - } - }, - "AwsAccountNumberList": { - "base": null, - "refs": { - "TrustedSigners$Items": "

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

" - } - }, - "BatchTooLarge": { - "base": null, - "refs": { - } - }, - "CNAMEAlreadyExists": { - "base": null, - "refs": { - } - }, - "CacheBehavior": { - "base": "

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.

", - "refs": { - "CacheBehaviorList$member": null - } - }, - "CacheBehaviorList": { - "base": null, - "refs": { - "CacheBehaviors$Items": "

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

" - } - }, - "CacheBehaviors": { - "base": "

A complex type that contains zero or more CacheBehavior elements.

", - "refs": { - "DistributionConfig$CacheBehaviors": "

A complex type that contains zero or more CacheBehavior elements.

", - "DistributionSummary$CacheBehaviors": "

A complex type that contains zero or more CacheBehavior elements.

" - } - }, - "CachedMethods": { - "base": "

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

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

", - "refs": { - "AllowedMethods$CachedMethods": null - } - }, - "CertificateSource": { - "base": null, - "refs": { - "ViewerCertificate$CertificateSource": "

This field is deprecated. You can use one of the following: [ACMCertificateArn, IAMCertificateId, or CloudFrontDefaultCertificate].

" - } - }, - "CloudFrontOriginAccessIdentity": { - "base": "

CloudFront origin access identity.

", - "refs": { - "CreateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "

The origin access identity's information.

", - "GetCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "

The origin access identity's information.

", - "UpdateCloudFrontOriginAccessIdentityResult$CloudFrontOriginAccessIdentity": "

The origin access identity's information.

" - } - }, - "CloudFrontOriginAccessIdentityAlreadyExists": { - "base": "

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.

", - "refs": { - } - }, - "CloudFrontOriginAccessIdentityConfig": { - "base": "

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

", - "refs": { - "CloudFrontOriginAccessIdentity$CloudFrontOriginAccessIdentityConfig": "

The current configuration information for the identity.

", - "CreateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "

The current configuration information for the identity.

", - "GetCloudFrontOriginAccessIdentityConfigResult$CloudFrontOriginAccessIdentityConfig": "

The origin access identity's configuration information.

", - "UpdateCloudFrontOriginAccessIdentityRequest$CloudFrontOriginAccessIdentityConfig": "

The identity's configuration information.

" - } - }, - "CloudFrontOriginAccessIdentityInUse": { - "base": null, - "refs": { - } - }, - "CloudFrontOriginAccessIdentityList": { - "base": "

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.

", - "refs": { - "ListCloudFrontOriginAccessIdentitiesResult$CloudFrontOriginAccessIdentityList": "

The CloudFrontOriginAccessIdentityList type.

" - } - }, - "CloudFrontOriginAccessIdentitySummary": { - "base": "

Summary of the information about a CloudFront origin access identity.

", - "refs": { - "CloudFrontOriginAccessIdentitySummaryList$member": null - } - }, - "CloudFrontOriginAccessIdentitySummaryList": { - "base": null, - "refs": { - "CloudFrontOriginAccessIdentityList$Items": "

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

" - } - }, - "CookieNameList": { - "base": null, - "refs": { - "CookieNames$Items": "

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

" - } - }, - "CookieNames": { - "base": "

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.

", - "refs": { - "CookiePreference$WhitelistedNames": "

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.

" - } - }, - "CookiePreference": { - "base": "

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.

", - "refs": { - "ForwardedValues$Cookies": "

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": { - "base": "

The request to create a new origin access identity.

", - "refs": { - } - }, - "CreateCloudFrontOriginAccessIdentityResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "CreateDistributionRequest": { - "base": "

The request to create a new distribution.

", - "refs": { - } - }, - "CreateDistributionResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "CreateDistributionWithTagsRequest": { - "base": "

The request to create a new distribution with tags.

", - "refs": { - } - }, - "CreateDistributionWithTagsResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "CreateInvalidationRequest": { - "base": "

The request to create an invalidation.

", - "refs": { - } - }, - "CreateInvalidationResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "CreateStreamingDistributionRequest": { - "base": "

The request to create a new streaming distribution.

", - "refs": { - } - }, - "CreateStreamingDistributionResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "CreateStreamingDistributionWithTagsRequest": { - "base": "

The request to create a new streaming distribution with tags.

", - "refs": { - } - }, - "CreateStreamingDistributionWithTagsResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "CustomErrorResponse": { - "base": "

A complex type that controls:

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

", - "refs": { - "CustomErrorResponseList$member": null - } - }, - "CustomErrorResponseList": { - "base": null, - "refs": { - "CustomErrorResponses$Items": "

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.

" - } - }, - "CustomErrorResponses": { - "base": "

A complex type that controls:

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

", - "refs": { - "DistributionConfig$CustomErrorResponses": "

A complex type that controls the following:

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

", - "DistributionSummary$CustomErrorResponses": "

A complex type that contains zero or more CustomErrorResponses elements.

" - } - }, - "CustomHeaders": { - "base": "

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

", - "refs": { - "Origin$CustomHeaders": "

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

" - } - }, - "CustomOriginConfig": { - "base": "

A customer origin.

", - "refs": { - "Origin$CustomOriginConfig": "

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

" - } - }, - "DefaultCacheBehavior": { - "base": "

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.

", - "refs": { - "DistributionConfig$DefaultCacheBehavior": "

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.

", - "DistributionSummary$DefaultCacheBehavior": "

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": { - "base": "

Deletes a origin access identity.

", - "refs": { - } - }, - "DeleteDistributionRequest": { - "base": "

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.

", - "refs": { - } - }, - "DeleteStreamingDistributionRequest": { - "base": "

The request to delete a streaming distribution.

", - "refs": { - } - }, - "Distribution": { - "base": "

The distribution's information.

", - "refs": { - "CreateDistributionResult$Distribution": "

The distribution's information.

", - "CreateDistributionWithTagsResult$Distribution": "

The distribution's information.

", - "GetDistributionResult$Distribution": "

The distribution's information.

", - "UpdateDistributionResult$Distribution": "

The distribution's information.

" - } - }, - "DistributionAlreadyExists": { - "base": "

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

", - "refs": { - } - }, - "DistributionConfig": { - "base": "

A distribution configuration.

", - "refs": { - "CreateDistributionRequest$DistributionConfig": "

The distribution's configuration information.

", - "Distribution$DistributionConfig": "

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

", - "DistributionConfigWithTags$DistributionConfig": "

A distribution configuration.

", - "GetDistributionConfigResult$DistributionConfig": "

The distribution's configuration information.

", - "UpdateDistributionRequest$DistributionConfig": "

The distribution's configuration information.

" - } - }, - "DistributionConfigWithTags": { - "base": "

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

", - "refs": { - "CreateDistributionWithTagsRequest$DistributionConfigWithTags": "

The distribution's configuration information.

" - } - }, - "DistributionList": { - "base": "

A distribution list.

", - "refs": { - "ListDistributionsByWebACLIdResult$DistributionList": "

The DistributionList type.

", - "ListDistributionsResult$DistributionList": "

The DistributionList type.

" - } - }, - "DistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "DistributionSummary": { - "base": "

A summary of the information about a CloudFront distribution.

", - "refs": { - "DistributionSummaryList$member": null - } - }, - "DistributionSummaryList": { - "base": null, - "refs": { - "DistributionList$Items": "

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

" - } - }, - "EventType": { - "base": null, - "refs": { - "LambdaFunctionAssociation$EventType": "

Specifies the event type that triggers a Lambda function invocation. Valid values are:

" - } - }, - "ForwardedValues": { - "base": "

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

", - "refs": { - "CacheBehavior$ForwardedValues": "

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

", - "DefaultCacheBehavior$ForwardedValues": "

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

" - } - }, - "GeoRestriction": { - "base": "

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

", - "refs": { - "Restrictions$GeoRestriction": null - } - }, - "GeoRestrictionType": { - "base": null, - "refs": { - "GeoRestriction$RestrictionType": "

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

" - } - }, - "GetCloudFrontOriginAccessIdentityConfigRequest": { - "base": "

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

", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityConfigResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityRequest": { - "base": "

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

", - "refs": { - } - }, - "GetCloudFrontOriginAccessIdentityResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "GetDistributionConfigRequest": { - "base": "

The request to get a distribution configuration.

", - "refs": { - } - }, - "GetDistributionConfigResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "GetDistributionRequest": { - "base": "

The request to get a distribution's information.

", - "refs": { - } - }, - "GetDistributionResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "GetInvalidationRequest": { - "base": "

The request to get an invalidation's information.

", - "refs": { - } - }, - "GetInvalidationResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "GetStreamingDistributionConfigRequest": { - "base": "

To request to get a streaming distribution configuration.

", - "refs": { - } - }, - "GetStreamingDistributionConfigResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "GetStreamingDistributionRequest": { - "base": "

The request to get a streaming distribution's information.

", - "refs": { - } - }, - "GetStreamingDistributionResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "HeaderList": { - "base": null, - "refs": { - "Headers$Items": "

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.

" - } - }, - "Headers": { - "base": "

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.

", - "refs": { - "ForwardedValues$Headers": "

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

" - } - }, - "HttpVersion": { - "base": null, - "refs": { - "DistributionConfig$HttpVersion": "

(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.\"

", - "DistributionSummary$HttpVersion": "

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.

" - } - }, - "IllegalUpdate": { - "base": "

Origin and CallerReference cannot be updated.

", - "refs": { - } - }, - "InconsistentQuantities": { - "base": "

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

", - "refs": { - } - }, - "InvalidArgument": { - "base": "

The argument is invalid.

", - "refs": { - } - }, - "InvalidDefaultRootObject": { - "base": "

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

", - "refs": { - } - }, - "InvalidErrorCode": { - "base": null, - "refs": { - } - }, - "InvalidForwardCookies": { - "base": "

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.

", - "refs": { - } - }, - "InvalidGeoRestrictionParameter": { - "base": null, - "refs": { - } - }, - "InvalidHeadersForS3Origin": { - "base": null, - "refs": { - } - }, - "InvalidIfMatchVersion": { - "base": "

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

", - "refs": { - } - }, - "InvalidLambdaFunctionAssociation": { - "base": "

The specified Lambda function association is invalid.

", - "refs": { - } - }, - "InvalidLocationCode": { - "base": null, - "refs": { - } - }, - "InvalidMinimumProtocolVersion": { - "base": null, - "refs": { - } - }, - "InvalidOrigin": { - "base": "

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

", - "refs": { - } - }, - "InvalidOriginAccessIdentity": { - "base": "

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

", - "refs": { - } - }, - "InvalidProtocolSettings": { - "base": "

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

", - "refs": { - } - }, - "InvalidQueryStringParameters": { - "base": null, - "refs": { - } - }, - "InvalidRelativePath": { - "base": "

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

", - "refs": { - } - }, - "InvalidRequiredProtocol": { - "base": "

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.

", - "refs": { - } - }, - "InvalidResponseCode": { - "base": null, - "refs": { - } - }, - "InvalidTTLOrder": { - "base": null, - "refs": { - } - }, - "InvalidTagging": { - "base": null, - "refs": { - } - }, - "InvalidViewerCertificate": { - "base": null, - "refs": { - } - }, - "InvalidWebACLId": { - "base": null, - "refs": { - } - }, - "Invalidation": { - "base": "

An invalidation.

", - "refs": { - "CreateInvalidationResult$Invalidation": "

The invalidation's information.

", - "GetInvalidationResult$Invalidation": "

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

" - } - }, - "InvalidationBatch": { - "base": "

An invalidation batch.

", - "refs": { - "CreateInvalidationRequest$InvalidationBatch": "

The batch information for the invalidation.

", - "Invalidation$InvalidationBatch": "

The current invalidation information for the batch request.

" - } - }, - "InvalidationList": { - "base": "

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.

", - "refs": { - "ListInvalidationsResult$InvalidationList": "

Information about invalidation batches.

" - } - }, - "InvalidationSummary": { - "base": "

A summary of an invalidation request.

", - "refs": { - "InvalidationSummaryList$member": null - } - }, - "InvalidationSummaryList": { - "base": null, - "refs": { - "InvalidationList$Items": "

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

" - } - }, - "ItemSelection": { - "base": null, - "refs": { - "CookiePreference$Forward": "

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.

" - } - }, - "KeyPairIdList": { - "base": null, - "refs": { - "KeyPairIds$Items": "

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

For more information, see ActiveTrustedSigners.

" - } - }, - "KeyPairIds": { - "base": "

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

For more information, see ActiveTrustedSigners.

", - "refs": { - "Signer$KeyPairIds": "

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

" - } - }, - "LambdaFunctionAssociation": { - "base": "

A complex type that contains a Lambda function association.

", - "refs": { - "LambdaFunctionAssociationList$member": null - } - }, - "LambdaFunctionAssociationList": { - "base": null, - "refs": { - "LambdaFunctionAssociations$Items": "

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

" - } - }, - "LambdaFunctionAssociations": { - "base": "

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.

", - "refs": { - "CacheBehavior$LambdaFunctionAssociations": "

A complex type that contains zero or more Lambda function associations for a cache behavior.

", - "DefaultCacheBehavior$LambdaFunctionAssociations": "

A complex type that contains zero or more Lambda function associations for a cache behavior.

" - } - }, - "ListCloudFrontOriginAccessIdentitiesRequest": { - "base": "

The request to list origin access identities.

", - "refs": { - } - }, - "ListCloudFrontOriginAccessIdentitiesResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "ListDistributionsByWebACLIdRequest": { - "base": "

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

", - "refs": { - } - }, - "ListDistributionsByWebACLIdResult": { - "base": "

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

", - "refs": { - } - }, - "ListDistributionsRequest": { - "base": "

The request to list your distributions.

", - "refs": { - } - }, - "ListDistributionsResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "ListInvalidationsRequest": { - "base": "

The request to list invalidations.

", - "refs": { - } - }, - "ListInvalidationsResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "ListStreamingDistributionsRequest": { - "base": "

The request to list your streaming distributions.

", - "refs": { - } - }, - "ListStreamingDistributionsResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "ListTagsForResourceRequest": { - "base": "

The request to list tags for a CloudFront resource.

", - "refs": { - } - }, - "ListTagsForResourceResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "LocationList": { - "base": null, - "refs": { - "GeoRestriction$Items": "

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.

" - } - }, - "LoggingConfig": { - "base": "

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

", - "refs": { - "DistributionConfig$Logging": "

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.

" - } - }, - "Method": { - "base": null, - "refs": { - "MethodsList$member": null - } - }, - "MethodsList": { - "base": null, - "refs": { - "AllowedMethods$Items": "

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

", - "CachedMethods$Items": "

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

" - } - }, - "MinimumProtocolVersion": { - "base": null, - "refs": { - "ViewerCertificate$MinimumProtocolVersion": "

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:

" - } - }, - "MissingBody": { - "base": "

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

", - "refs": { - } - }, - "NoSuchCloudFrontOriginAccessIdentity": { - "base": "

The specified origin access identity does not exist.

", - "refs": { - } - }, - "NoSuchDistribution": { - "base": "

The specified distribution does not exist.

", - "refs": { - } - }, - "NoSuchInvalidation": { - "base": "

The specified invalidation does not exist.

", - "refs": { - } - }, - "NoSuchOrigin": { - "base": "

No origin exists with the specified Origin Id.

", - "refs": { - } - }, - "NoSuchResource": { - "base": null, - "refs": { - } - }, - "NoSuchStreamingDistribution": { - "base": "

The specified streaming distribution does not exist.

", - "refs": { - } - }, - "Origin": { - "base": "

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.

", - "refs": { - "OriginList$member": null - } - }, - "OriginCustomHeader": { - "base": "

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

", - "refs": { - "OriginCustomHeadersList$member": null - } - }, - "OriginCustomHeadersList": { - "base": null, - "refs": { - "CustomHeaders$Items": "

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.

" - } - }, - "OriginList": { - "base": null, - "refs": { - "Origins$Items": "

A complex type that contains origins for this distribution.

" - } - }, - "OriginProtocolPolicy": { - "base": null, - "refs": { - "CustomOriginConfig$OriginProtocolPolicy": "

The origin protocol policy to apply to your origin.

" - } - }, - "OriginSslProtocols": { - "base": "

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

", - "refs": { - "CustomOriginConfig$OriginSslProtocols": "

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

" - } - }, - "Origins": { - "base": "

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

", - "refs": { - "DistributionConfig$Origins": "

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

", - "DistributionSummary$Origins": "

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

" - } - }, - "PathList": { - "base": null, - "refs": { - "Paths$Items": "

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

" - } - }, - "Paths": { - "base": "

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.

", - "refs": { - "InvalidationBatch$Paths": "

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": { - "base": "

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

", - "refs": { - } - }, - "PriceClass": { - "base": null, - "refs": { - "DistributionConfig$PriceClass": "

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.

", - "DistributionSummary$PriceClass": null, - "StreamingDistributionConfig$PriceClass": "

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

", - "StreamingDistributionSummary$PriceClass": null - } - }, - "QueryStringCacheKeys": { - "base": null, - "refs": { - "ForwardedValues$QueryStringCacheKeys": "

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

" - } - }, - "QueryStringCacheKeysList": { - "base": null, - "refs": { - "QueryStringCacheKeys$Items": "

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

" - } - }, - "ResourceARN": { - "base": null, - "refs": { - "ListTagsForResourceRequest$Resource": "

An ARN of a CloudFront resource.

", - "TagResourceRequest$Resource": "

An ARN of a CloudFront resource.

", - "UntagResourceRequest$Resource": "

An ARN of a CloudFront resource.

" - } - }, - "Restrictions": { - "base": "

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

", - "refs": { - "DistributionConfig$Restrictions": null, - "DistributionSummary$Restrictions": null - } - }, - "S3Origin": { - "base": "

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

", - "refs": { - "StreamingDistributionConfig$S3Origin": "

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

", - "StreamingDistributionSummary$S3Origin": "

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

" - } - }, - "S3OriginConfig": { - "base": "

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

", - "refs": { - "Origin$S3OriginConfig": "

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

" - } - }, - "SSLSupportMethod": { - "base": null, - "refs": { - "ViewerCertificate$SSLSupportMethod": "

If you specify a value for ACMCertificateArn or for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests: using a method that works for all clients or one that works for most clients:

Do not specify a value for SSLSupportMethod if you specified <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>.

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

" - } - }, - "Signer": { - "base": "

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.

", - "refs": { - "SignerList$member": null - } - }, - "SignerList": { - "base": null, - "refs": { - "ActiveTrustedSigners$Items": "

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.

" - } - }, - "SslProtocol": { - "base": null, - "refs": { - "SslProtocolsList$member": null - } - }, - "SslProtocolsList": { - "base": null, - "refs": { - "OriginSslProtocols$Items": "

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

" - } - }, - "StreamingDistribution": { - "base": "

A streaming distribution.

", - "refs": { - "CreateStreamingDistributionResult$StreamingDistribution": "

The streaming distribution's information.

", - "CreateStreamingDistributionWithTagsResult$StreamingDistribution": "

The streaming distribution's information.

", - "GetStreamingDistributionResult$StreamingDistribution": "

The streaming distribution's information.

", - "UpdateStreamingDistributionResult$StreamingDistribution": "

The streaming distribution's information.

" - } - }, - "StreamingDistributionAlreadyExists": { - "base": null, - "refs": { - } - }, - "StreamingDistributionConfig": { - "base": "

The RTMP distribution's configuration information.

", - "refs": { - "CreateStreamingDistributionRequest$StreamingDistributionConfig": "

The streaming distribution's configuration information.

", - "GetStreamingDistributionConfigResult$StreamingDistributionConfig": "

The streaming distribution's configuration information.

", - "StreamingDistribution$StreamingDistributionConfig": "

The current configuration information for the RTMP distribution.

", - "StreamingDistributionConfigWithTags$StreamingDistributionConfig": "

A streaming distribution Configuration.

", - "UpdateStreamingDistributionRequest$StreamingDistributionConfig": "

The streaming distribution's configuration information.

" - } - }, - "StreamingDistributionConfigWithTags": { - "base": "

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

", - "refs": { - "CreateStreamingDistributionWithTagsRequest$StreamingDistributionConfigWithTags": "

The streaming distribution's configuration information.

" - } - }, - "StreamingDistributionList": { - "base": "

A streaming distribution list.

", - "refs": { - "ListStreamingDistributionsResult$StreamingDistributionList": "

The StreamingDistributionList type.

" - } - }, - "StreamingDistributionNotDisabled": { - "base": null, - "refs": { - } - }, - "StreamingDistributionSummary": { - "base": "

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

", - "refs": { - "StreamingDistributionSummaryList$member": null - } - }, - "StreamingDistributionSummaryList": { - "base": null, - "refs": { - "StreamingDistributionList$Items": "

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

" - } - }, - "StreamingLoggingConfig": { - "base": "

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

", - "refs": { - "StreamingDistributionConfig$Logging": "

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

" - } - }, - "Tag": { - "base": "

A complex type that contains Tag key and Tag value.

", - "refs": { - "TagList$member": null - } - }, - "TagKey": { - "base": "

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 _ - . : / = + @.

", - "refs": { - "Tag$Key": "

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 _ - . : / = + @.

", - "TagKeyList$member": null - } - }, - "TagKeyList": { - "base": null, - "refs": { - "TagKeys$Items": "

A complex type that contains Tag key elements.

" - } - }, - "TagKeys": { - "base": "

A complex type that contains zero or more Tag elements.

", - "refs": { - "UntagResourceRequest$TagKeys": "

A complex type that contains zero or more Tag key elements.

" - } - }, - "TagList": { - "base": null, - "refs": { - "Tags$Items": "

A complex type that contains Tag elements.

" - } - }, - "TagResourceRequest": { - "base": "

The request to add tags to a CloudFront resource.

", - "refs": { - } - }, - "TagValue": { - "base": null, - "refs": { - "Tag$Value": "

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 _ - . : / = + @.

" - } - }, - "Tags": { - "base": "

A complex type that contains zero or more Tag elements.

", - "refs": { - "DistributionConfigWithTags$Tags": "

A complex type that contains zero or more Tag elements.

", - "ListTagsForResourceResult$Tags": "

A complex type that contains zero or more Tag elements.

", - "StreamingDistributionConfigWithTags$Tags": "

A complex type that contains zero or more Tag elements.

", - "TagResourceRequest$Tags": "

A complex type that contains zero or more Tag elements.

" - } - }, - "TooManyCacheBehaviors": { - "base": "

You cannot create more cache behaviors for the distribution.

", - "refs": { - } - }, - "TooManyCertificates": { - "base": "

You cannot create anymore custom SSL/TLS certificates.

", - "refs": { - } - }, - "TooManyCloudFrontOriginAccessIdentities": { - "base": "

Processing your request would cause you to exceed the maximum number of origin access identities allowed.

", - "refs": { - } - }, - "TooManyCookieNamesInWhiteList": { - "base": "

Your request contains more cookie names in the whitelist than are allowed per cache behavior.

", - "refs": { - } - }, - "TooManyDistributionCNAMEs": { - "base": "

Your request contains more CNAMEs than are allowed per distribution.

", - "refs": { - } - }, - "TooManyDistributions": { - "base": "

Processing your request would cause you to exceed the maximum number of distributions allowed.

", - "refs": { - } - }, - "TooManyDistributionsWithLambdaAssociations": { - "base": "

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", - "refs": { - } - }, - "TooManyHeadersInForwardedValues": { - "base": null, - "refs": { - } - }, - "TooManyInvalidationsInProgress": { - "base": "

You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.

", - "refs": { - } - }, - "TooManyLambdaFunctionAssociations": { - "base": "

Your request contains more Lambda function associations than are allowed per distribution.

", - "refs": { - } - }, - "TooManyOriginCustomHeaders": { - "base": null, - "refs": { - } - }, - "TooManyOrigins": { - "base": "

You cannot create more origins for the distribution.

", - "refs": { - } - }, - "TooManyQueryStringParameters": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributionCNAMEs": { - "base": null, - "refs": { - } - }, - "TooManyStreamingDistributions": { - "base": "

Processing your request would cause you to exceed the maximum number of streaming distributions allowed.

", - "refs": { - } - }, - "TooManyTrustedSigners": { - "base": "

Your request contains more trusted signers than are allowed per distribution.

", - "refs": { - } - }, - "TrustedSignerDoesNotExist": { - "base": "

One or more of your trusted signers do not exist.

", - "refs": { - } - }, - "TrustedSigners": { - "base": "

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 .

", - "refs": { - "CacheBehavior$TrustedSigners": "

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.

", - "DefaultCacheBehavior$TrustedSigners": "

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.

", - "StreamingDistributionConfig$TrustedSigners": "

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.

", - "StreamingDistributionSummary$TrustedSigners": "

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.

" - } - }, - "UntagResourceRequest": { - "base": "

The request to remove tags from a CloudFront resource.

", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityRequest": { - "base": "

The request to update an origin access identity.

", - "refs": { - } - }, - "UpdateCloudFrontOriginAccessIdentityResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "UpdateDistributionRequest": { - "base": "

The request to update a distribution.

", - "refs": { - } - }, - "UpdateDistributionResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "UpdateStreamingDistributionRequest": { - "base": "

The request to update a streaming distribution.

", - "refs": { - } - }, - "UpdateStreamingDistributionResult": { - "base": "

The returned result of the corresponding request.

", - "refs": { - } - }, - "ViewerCertificate": { - "base": "

A complex type that specifies the following:

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

", - "refs": { - "DistributionConfig$ViewerCertificate": null, - "DistributionSummary$ViewerCertificate": null - } - }, - "ViewerProtocolPolicy": { - "base": null, - "refs": { - "CacheBehavior$ViewerProtocolPolicy": "

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

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

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

", - "DefaultCacheBehavior$ViewerProtocolPolicy": "

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

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

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

" - } - }, - "boolean": { - "base": null, - "refs": { - "ActiveTrustedSigners$Enabled": "

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.

", - "CacheBehavior$SmoothStreaming": "

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.

", - "CacheBehavior$Compress": "

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.

", - "CloudFrontOriginAccessIdentityList$IsTruncated": "

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.

", - "DefaultCacheBehavior$SmoothStreaming": "

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.

", - "DefaultCacheBehavior$Compress": "

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.

", - "DistributionConfig$Enabled": "

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.

", - "DistributionConfig$IsIPV6Enabled": "

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

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

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

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

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

", - "DistributionList$IsTruncated": "

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.

", - "DistributionSummary$Enabled": "

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

", - "DistributionSummary$IsIPV6Enabled": "

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

", - "ForwardedValues$QueryString": "

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.

", - "InvalidationList$IsTruncated": "

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.

", - "LoggingConfig$Enabled": "

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.

", - "LoggingConfig$IncludeCookies": "

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.

", - "StreamingDistributionConfig$Enabled": "

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

", - "StreamingDistributionList$IsTruncated": "

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.

", - "StreamingDistributionSummary$Enabled": "

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

", - "StreamingLoggingConfig$Enabled": "

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.

", - "TrustedSigners$Enabled": "

Specifies whether you want to require viewers to use signed URLs to access the files specified by PathPattern and TargetOriginId.

", - "ViewerCertificate$CloudFrontDefaultCertificate": null - } - }, - "integer": { - "base": null, - "refs": { - "ActiveTrustedSigners$Quantity": "

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

For more information, see ActiveTrustedSigners.

", - "Aliases$Quantity": "

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

", - "AllowedMethods$Quantity": "

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

", - "CacheBehaviors$Quantity": "

The number of cache behaviors for this distribution.

", - "CachedMethods$Quantity": "

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

", - "CloudFrontOriginAccessIdentityList$MaxItems": "

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

", - "CloudFrontOriginAccessIdentityList$Quantity": "

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

", - "CookieNames$Quantity": "

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

", - "CustomErrorResponse$ErrorCode": "

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

", - "CustomErrorResponses$Quantity": "

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.

", - "CustomHeaders$Quantity": "

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

", - "CustomOriginConfig$HTTPPort": "

The HTTP port the custom origin listens on.

", - "CustomOriginConfig$HTTPSPort": "

The HTTPS port the custom origin listens on.

", - "Distribution$InProgressInvalidationBatches": "

The number of invalidation batches currently in progress.

", - "DistributionList$MaxItems": "

The value you provided for the MaxItems request parameter.

", - "DistributionList$Quantity": "

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

", - "GeoRestriction$Quantity": "

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.

", - "Headers$Quantity": "

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:

", - "InvalidationList$MaxItems": "

The value that you provided for the MaxItems request parameter.

", - "InvalidationList$Quantity": "

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

", - "KeyPairIds$Quantity": "

The number of active CloudFront key pairs for AwsAccountNumber.

For more information, see ActiveTrustedSigners.

", - "LambdaFunctionAssociations$Quantity": "

The number of Lambda function associations for this cache behavior.

", - "OriginSslProtocols$Quantity": "

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

", - "Origins$Quantity": "

The number of origins for this distribution.

", - "Paths$Quantity": "

The number of objects that you want to invalidate.

", - "QueryStringCacheKeys$Quantity": "

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

", - "StreamingDistributionList$MaxItems": "

The value you provided for the MaxItems request parameter.

", - "StreamingDistributionList$Quantity": "

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

", - "TrustedSigners$Quantity": "

The number of trusted signers for this cache behavior.

" - } - }, - "long": { - "base": null, - "refs": { - "CacheBehavior$MinTTL": "

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

", - "CacheBehavior$DefaultTTL": "

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.

", - "CacheBehavior$MaxTTL": "

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.

", - "CustomErrorResponse$ErrorCachingMinTTL": "

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.

", - "DefaultCacheBehavior$MinTTL": "

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

", - "DefaultCacheBehavior$DefaultTTL": "

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.

", - "DefaultCacheBehavior$MaxTTL": null - } - }, - "string": { - "base": null, - "refs": { - "AccessDenied$Message": null, - "AliasList$member": null, - "AwsAccountNumberList$member": null, - "BatchTooLarge$Message": null, - "CNAMEAlreadyExists$Message": null, - "CacheBehavior$PathPattern": "

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.

", - "CacheBehavior$TargetOriginId": "

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.

", - "CloudFrontOriginAccessIdentity$Id": "

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

", - "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "

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.

", - "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, - "CloudFrontOriginAccessIdentityConfig$CallerReference": "

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.

", - "CloudFrontOriginAccessIdentityConfig$Comment": "

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

", - "CloudFrontOriginAccessIdentityInUse$Message": null, - "CloudFrontOriginAccessIdentityList$Marker": "

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

", - "CloudFrontOriginAccessIdentityList$NextMarker": "

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.

", - "CloudFrontOriginAccessIdentitySummary$Id": "

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

", - "CloudFrontOriginAccessIdentitySummary$S3CanonicalUserId": "

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.

", - "CloudFrontOriginAccessIdentitySummary$Comment": "

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

", - "CookieNameList$member": null, - "CreateCloudFrontOriginAccessIdentityResult$Location": "

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.

", - "CreateCloudFrontOriginAccessIdentityResult$ETag": "

The current version of the origin access identity created.

", - "CreateDistributionResult$Location": "

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

", - "CreateDistributionResult$ETag": "

The current version of the distribution created.

", - "CreateDistributionWithTagsResult$Location": "

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

", - "CreateDistributionWithTagsResult$ETag": "

The current version of the distribution created.

", - "CreateInvalidationRequest$DistributionId": "

The distribution's id.

", - "CreateInvalidationResult$Location": "

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

", - "CreateStreamingDistributionResult$Location": "

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

", - "CreateStreamingDistributionResult$ETag": "

The current version of the streaming distribution created.

", - "CreateStreamingDistributionWithTagsResult$Location": "

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

", - "CreateStreamingDistributionWithTagsResult$ETag": null, - "CustomErrorResponse$ResponsePagePath": "

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

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

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

", - "CustomErrorResponse$ResponseCode": "

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

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

", - "DefaultCacheBehavior$TargetOriginId": "

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.

", - "DeleteCloudFrontOriginAccessIdentityRequest$Id": "

The origin access identity's ID.

", - "DeleteCloudFrontOriginAccessIdentityRequest$IfMatch": "

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

", - "DeleteDistributionRequest$Id": "

The distribution ID.

", - "DeleteDistributionRequest$IfMatch": "

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

", - "DeleteStreamingDistributionRequest$Id": "

The distribution ID.

", - "DeleteStreamingDistributionRequest$IfMatch": "

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

", - "Distribution$Id": "

The identifier for the distribution. For example: EDFDVBD632BHDS5.

", - "Distribution$ARN": "

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

", - "Distribution$Status": "

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.

", - "Distribution$DomainName": "

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

", - "DistributionAlreadyExists$Message": null, - "DistributionConfig$CallerReference": "

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.

", - "DistributionConfig$DefaultRootObject": "

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.

", - "DistributionConfig$Comment": "

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.

", - "DistributionConfig$WebACLId": "

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.

", - "DistributionList$Marker": "

The value you provided for the Marker request parameter.

", - "DistributionList$NextMarker": "

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.

", - "DistributionNotDisabled$Message": null, - "DistributionSummary$Id": "

The identifier for the distribution. For example: EDFDVBD632BHDS5.

", - "DistributionSummary$ARN": "

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

", - "DistributionSummary$Status": "

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

", - "DistributionSummary$DomainName": "

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

", - "DistributionSummary$Comment": "

The comment originally specified when this distribution was created.

", - "DistributionSummary$WebACLId": "

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

", - "GetCloudFrontOriginAccessIdentityConfigRequest$Id": "

The identity's ID.

", - "GetCloudFrontOriginAccessIdentityConfigResult$ETag": "

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

", - "GetCloudFrontOriginAccessIdentityRequest$Id": "

The identity's ID.

", - "GetCloudFrontOriginAccessIdentityResult$ETag": "

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

", - "GetDistributionConfigRequest$Id": "

The distribution's ID.

", - "GetDistributionConfigResult$ETag": "

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

", - "GetDistributionRequest$Id": "

The distribution's ID.

", - "GetDistributionResult$ETag": "

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

", - "GetInvalidationRequest$DistributionId": "

The distribution's ID.

", - "GetInvalidationRequest$Id": "

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

", - "GetStreamingDistributionConfigRequest$Id": "

The streaming distribution's ID.

", - "GetStreamingDistributionConfigResult$ETag": "

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

", - "GetStreamingDistributionRequest$Id": "

The streaming distribution's ID.

", - "GetStreamingDistributionResult$ETag": "

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

", - "HeaderList$member": null, - "IllegalUpdate$Message": null, - "InconsistentQuantities$Message": null, - "InvalidArgument$Message": null, - "InvalidDefaultRootObject$Message": null, - "InvalidErrorCode$Message": null, - "InvalidForwardCookies$Message": null, - "InvalidGeoRestrictionParameter$Message": null, - "InvalidHeadersForS3Origin$Message": null, - "InvalidIfMatchVersion$Message": null, - "InvalidLambdaFunctionAssociation$Message": null, - "InvalidLocationCode$Message": null, - "InvalidMinimumProtocolVersion$Message": null, - "InvalidOrigin$Message": null, - "InvalidOriginAccessIdentity$Message": null, - "InvalidProtocolSettings$Message": null, - "InvalidQueryStringParameters$Message": null, - "InvalidRelativePath$Message": null, - "InvalidRequiredProtocol$Message": null, - "InvalidResponseCode$Message": null, - "InvalidTTLOrder$Message": null, - "InvalidTagging$Message": null, - "InvalidViewerCertificate$Message": null, - "InvalidWebACLId$Message": null, - "Invalidation$Id": "

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

", - "Invalidation$Status": "

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

", - "InvalidationBatch$CallerReference": "

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.

", - "InvalidationList$Marker": "

The value that you provided for the Marker request parameter.

", - "InvalidationList$NextMarker": "

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.

", - "InvalidationSummary$Id": "

The unique ID for an invalidation request.

", - "InvalidationSummary$Status": "

The status of an invalidation request.

", - "KeyPairIdList$member": null, - "LambdaFunctionAssociation$LambdaFunctionARN": "

The ARN of the Lambda function.

", - "ListCloudFrontOriginAccessIdentitiesRequest$Marker": "

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

", - "ListCloudFrontOriginAccessIdentitiesRequest$MaxItems": "

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

", - "ListDistributionsByWebACLIdRequest$Marker": "

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

", - "ListDistributionsByWebACLIdRequest$MaxItems": "

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

", - "ListDistributionsByWebACLIdRequest$WebACLId": "

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.

", - "ListDistributionsRequest$Marker": "

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

", - "ListDistributionsRequest$MaxItems": "

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

", - "ListInvalidationsRequest$DistributionId": "

The distribution's ID.

", - "ListInvalidationsRequest$Marker": "

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.

", - "ListInvalidationsRequest$MaxItems": "

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

", - "ListStreamingDistributionsRequest$Marker": "

The value that you provided for the Marker request parameter.

", - "ListStreamingDistributionsRequest$MaxItems": "

The value that you provided for the MaxItems request parameter.

", - "LocationList$member": null, - "LoggingConfig$Bucket": "

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

", - "LoggingConfig$Prefix": "

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.

", - "MissingBody$Message": null, - "NoSuchCloudFrontOriginAccessIdentity$Message": null, - "NoSuchDistribution$Message": null, - "NoSuchInvalidation$Message": null, - "NoSuchOrigin$Message": null, - "NoSuchResource$Message": null, - "NoSuchStreamingDistribution$Message": null, - "Origin$Id": "

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.

", - "Origin$DomainName": "

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

Constraints for Amazon S3 origins:

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

Constraints for custom origins:

", - "Origin$OriginPath": "

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

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

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

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

", - "OriginCustomHeader$HeaderName": "

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.

", - "OriginCustomHeader$HeaderValue": "

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

", - "PathList$member": null, - "PreconditionFailed$Message": null, - "QueryStringCacheKeysList$member": null, - "S3Origin$DomainName": "

The DNS name of the Amazon S3 origin.

", - "S3Origin$OriginAccessIdentity": "

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.

", - "S3OriginConfig$OriginAccessIdentity": "

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.

", - "Signer$AwsAccountNumber": "

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

", - "StreamingDistribution$Id": "

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

", - "StreamingDistribution$ARN": null, - "StreamingDistribution$Status": "

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

", - "StreamingDistribution$DomainName": "

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

", - "StreamingDistributionAlreadyExists$Message": null, - "StreamingDistributionConfig$CallerReference": "

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.

", - "StreamingDistributionConfig$Comment": "

Any comments you want to include about the streaming distribution.

", - "StreamingDistributionList$Marker": "

The value you provided for the Marker request parameter.

", - "StreamingDistributionList$NextMarker": "

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.

", - "StreamingDistributionNotDisabled$Message": null, - "StreamingDistributionSummary$Id": "

The identifier for the distribution. For example: EDFDVBD632BHDS5.

", - "StreamingDistributionSummary$ARN": "

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.

", - "StreamingDistributionSummary$Status": "

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

", - "StreamingDistributionSummary$DomainName": "

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

", - "StreamingDistributionSummary$Comment": "

The comment originally specified when this distribution was created.

", - "StreamingLoggingConfig$Bucket": "

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

", - "StreamingLoggingConfig$Prefix": "

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.

", - "TooManyCacheBehaviors$Message": null, - "TooManyCertificates$Message": null, - "TooManyCloudFrontOriginAccessIdentities$Message": null, - "TooManyCookieNamesInWhiteList$Message": null, - "TooManyDistributionCNAMEs$Message": null, - "TooManyDistributions$Message": null, - "TooManyDistributionsWithLambdaAssociations$Message": null, - "TooManyHeadersInForwardedValues$Message": null, - "TooManyInvalidationsInProgress$Message": null, - "TooManyLambdaFunctionAssociations$Message": null, - "TooManyOriginCustomHeaders$Message": null, - "TooManyOrigins$Message": null, - "TooManyQueryStringParameters$Message": null, - "TooManyStreamingDistributionCNAMEs$Message": null, - "TooManyStreamingDistributions$Message": null, - "TooManyTrustedSigners$Message": null, - "TrustedSignerDoesNotExist$Message": null, - "UpdateCloudFrontOriginAccessIdentityRequest$Id": "

The identity's id.

", - "UpdateCloudFrontOriginAccessIdentityRequest$IfMatch": "

The value of the ETag header that you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.

", - "UpdateCloudFrontOriginAccessIdentityResult$ETag": "

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

", - "UpdateDistributionRequest$Id": "

The distribution's id.

", - "UpdateDistributionRequest$IfMatch": "

The value of the ETag header that you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "UpdateDistributionResult$ETag": "

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

", - "UpdateStreamingDistributionRequest$Id": "

The streaming distribution's id.

", - "UpdateStreamingDistributionRequest$IfMatch": "

The value of the ETag header that you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "UpdateStreamingDistributionResult$ETag": "

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

", - "ViewerCertificate$IAMCertificateId": null, - "ViewerCertificate$ACMCertificateArn": null, - "ViewerCertificate$Certificate": "

Include one of these values to specify the following:

You must specify one (and only one) of the three values. Do not specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP to request your objects: Specify the following value:

<CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

In addition, specify allow-all for ViewerProtocolPolicy for all of your cache behaviors.

If you want viewers to use HTTPS to request your objects: Choose the type of certificate that you want to use based on whether you're using an alternate domain name for your objects or the CloudFront domain name:

" - } - }, - "timestamp": { - "base": null, - "refs": { - "Distribution$LastModifiedTime": "

The date and time the distribution was last modified.

", - "DistributionSummary$LastModifiedTime": "

The date and time the distribution was last modified.

", - "Invalidation$CreateTime": "

The date and time the invalidation request was first made.

", - "InvalidationSummary$CreateTime": null, - "StreamingDistribution$LastModifiedTime": "

The date and time that the distribution was last modified.

", - "StreamingDistributionSummary$LastModifiedTime": "

The date and time the distribution was last modified.

" - } - } - } -} diff --git a/models/apis/cloudfront/2016-11-25/paginators-1.json b/models/apis/cloudfront/2016-11-25/paginators-1.json deleted file mode 100644 index 51fbb907fa3..00000000000 --- a/models/apis/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/models/apis/cloudfront/2016-11-25/waiters-2.json b/models/apis/cloudfront/2016-11-25/waiters-2.json deleted file mode 100644 index edd74b2a3b4..00000000000 --- a/models/apis/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": 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/models/apis/cloudfront/2017-03-25/examples-1.json b/models/apis/cloudfront/2017-03-25/examples-1.json deleted file mode 100644 index 69a60c20d22..00000000000 --- a/models/apis/cloudfront/2017-03-25/examples-1.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "version": "1.0", - "examples": { - "CreateCloudFrontOriginAccessIdentity": [ - null - ], - "CreateDistribution": [ - null - ], - "CreateDistributionWithTags": [ - null - ], - "CreateInvalidation": [ - null - ], - "CreateStreamingDistribution": [ - null - ], - "DeleteCloudFrontOriginAccessIdentity": [ - null - ], - "DeleteDistribution": [ - null - ], - "DeleteStreamingDistribution": [ - null - ], - "GetCloudFrontOriginAccessIdentity": [ - null - ], - "GetCloudFrontOriginAccessIdentityConfig": [ - null - ], - "GetDistribution": [ - null - ], - "GetDistributionConfig": [ - null - ], - "GetInvalidation": [ - null - ], - "GetStreamingDistribution": [ - null - ], - "GetStreamingDistributionConfig": [ - null - ], - "ListCloudFrontOriginAccessIdentities": [ - null - ], - "ListDistributions": [ - null - ], - "ListDistributionsByWebACLId": [ - null - ], - "ListInvalidations": [ - null - ], - "ListStreamingDistributions": [ - null - ], - "ListTagsForResource": [ - null - ], - "TagResource": [ - null - ], - "UntagResource": [ - null - ], - "UpdateCloudFrontOriginAccessIdentity": [ - null - ], - "UpdateDistribution": [ - null - ], - "UpdateStreamingDistribution": [ - null - ] - } -} diff --git a/models/apis/cloudfront/2017-03-25/waiters-2.json b/models/apis/cloudfront/2017-03-25/waiters-2.json deleted file mode 100644 index edd74b2a3b4..00000000000 --- a/models/apis/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/models/apis/cloudfront/2017-03-25/api-2.json b/models/apis/cloudfront/2017-10-30/api-2.json similarity index 65% rename from models/apis/cloudfront/2017-03-25/api-2.json rename to models/apis/cloudfront/2017-10-30/api-2.json index 3ff77f4f867..24626f98bf7 100644 --- a/models/apis/cloudfront/2017-03-25/api-2.json +++ b/models/apis/cloudfront/2017-10-30/api-2.json @@ -1,21 +1,22 @@ { "version":"2.0", "metadata":{ - "apiVersion":"2017-03-25", + "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-03-25" + "uid":"cloudfront-2017-10-30" }, "operations":{ "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2017_03_25", + "name":"CreateCloudFrontOriginAccessIdentity2017_10_30", "http":{ "method":"POST", - "requestUri":"/2017-03-25/origin-access-identity/cloudfront", + "requestUri":"/2017-10-30/origin-access-identity/cloudfront", "responseCode":201 }, "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, @@ -29,10 +30,10 @@ ] }, "CreateDistribution":{ - "name":"CreateDistribution2017_03_25", + "name":"CreateDistribution2017_10_30", "http":{ "method":"POST", - "requestUri":"/2017-03-25/distribution", + "requestUri":"/2017-10-30/distribution", "responseCode":201 }, "input":{"shape":"CreateDistributionRequest"}, @@ -77,14 +78,17 @@ {"shape":"TooManyLambdaFunctionAssociations"}, {"shape":"InvalidLambdaFunctionAssociation"}, {"shape":"InvalidOriginReadTimeout"}, - {"shape":"InvalidOriginKeepaliveTimeout"} + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} ] }, "CreateDistributionWithTags":{ - "name":"CreateDistributionWithTags2017_03_25", + "name":"CreateDistributionWithTags2017_10_30", "http":{ "method":"POST", - "requestUri":"/2017-03-25/distribution?WithTags", + "requestUri":"/2017-10-30/distribution?WithTags", "responseCode":201 }, "input":{"shape":"CreateDistributionWithTagsRequest"}, @@ -130,14 +134,57 @@ {"shape":"TooManyLambdaFunctionAssociations"}, {"shape":"InvalidLambdaFunctionAssociation"}, {"shape":"InvalidOriginReadTimeout"}, - {"shape":"InvalidOriginKeepaliveTimeout"} + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ] + }, + "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"} + ] + }, + "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"} ] }, "CreateInvalidation":{ - "name":"CreateInvalidation2017_03_25", + "name":"CreateInvalidation2017_10_30", "http":{ "method":"POST", - "requestUri":"/2017-03-25/distribution/{DistributionId}/invalidation", + "requestUri":"/2017-10-30/distribution/{DistributionId}/invalidation", "responseCode":201 }, "input":{"shape":"CreateInvalidationRequest"}, @@ -152,11 +199,26 @@ {"shape":"InconsistentQuantities"} ] }, + "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"} + ] + }, "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2017_03_25", + "name":"CreateStreamingDistribution2017_10_30", "http":{ "method":"POST", - "requestUri":"/2017-03-25/streaming-distribution", + "requestUri":"/2017-10-30/streaming-distribution", "responseCode":201 }, "input":{"shape":"CreateStreamingDistributionRequest"}, @@ -177,10 +239,10 @@ ] }, "CreateStreamingDistributionWithTags":{ - "name":"CreateStreamingDistributionWithTags2017_03_25", + "name":"CreateStreamingDistributionWithTags2017_10_30", "http":{ "method":"POST", - "requestUri":"/2017-03-25/streaming-distribution?WithTags", + "requestUri":"/2017-10-30/streaming-distribution?WithTags", "responseCode":201 }, "input":{"shape":"CreateStreamingDistributionWithTagsRequest"}, @@ -202,10 +264,10 @@ ] }, "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2017_03_25", + "name":"DeleteCloudFrontOriginAccessIdentity2017_10_30", "http":{ "method":"DELETE", - "requestUri":"/2017-03-25/origin-access-identity/cloudfront/{Id}", + "requestUri":"/2017-10-30/origin-access-identity/cloudfront/{Id}", "responseCode":204 }, "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, @@ -218,10 +280,10 @@ ] }, "DeleteDistribution":{ - "name":"DeleteDistribution2017_03_25", + "name":"DeleteDistribution2017_10_30", "http":{ "method":"DELETE", - "requestUri":"/2017-03-25/distribution/{Id}", + "requestUri":"/2017-10-30/distribution/{Id}", "responseCode":204 }, "input":{"shape":"DeleteDistributionRequest"}, @@ -233,26 +295,59 @@ {"shape":"PreconditionFailed"} ] }, - "DeleteServiceLinkedRole":{ - "name":"DeleteServiceLinkedRole2017_03_25", + "DeleteFieldLevelEncryptionConfig":{ + "name":"DeleteFieldLevelEncryptionConfig2017_10_30", "http":{ "method":"DELETE", - "requestUri":"/2017-03-25/service-linked-role/{RoleName}", + "requestUri":"/2017-10-30/field-level-encryption/{Id}", "responseCode":204 }, - "input":{"shape":"DeleteServiceLinkedRoleRequest"}, + "input":{"shape":"DeleteFieldLevelEncryptionConfigRequest"}, "errors":[ - {"shape":"InvalidArgument"}, {"shape":"AccessDenied"}, - {"shape":"ResourceInUse"}, - {"shape":"NoSuchResource"} + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionConfigInUse"} + ] + }, + "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"} + ] + }, + "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"} ] }, "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2017_03_25", + "name":"DeleteStreamingDistribution2017_10_30", "http":{ "method":"DELETE", - "requestUri":"/2017-03-25/streaming-distribution/{Id}", + "requestUri":"/2017-10-30/streaming-distribution/{Id}", "responseCode":204 }, "input":{"shape":"DeleteStreamingDistributionRequest"}, @@ -265,10 +360,10 @@ ] }, "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2017_03_25", + "name":"GetCloudFrontOriginAccessIdentity2017_10_30", "http":{ "method":"GET", - "requestUri":"/2017-03-25/origin-access-identity/cloudfront/{Id}" + "requestUri":"/2017-10-30/origin-access-identity/cloudfront/{Id}" }, "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, @@ -278,10 +373,10 @@ ] }, "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2017_03_25", + "name":"GetCloudFrontOriginAccessIdentityConfig2017_10_30", "http":{ "method":"GET", - "requestUri":"/2017-03-25/origin-access-identity/cloudfront/{Id}/config" + "requestUri":"/2017-10-30/origin-access-identity/cloudfront/{Id}/config" }, "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, @@ -291,10 +386,10 @@ ] }, "GetDistribution":{ - "name":"GetDistribution2017_03_25", + "name":"GetDistribution2017_10_30", "http":{ "method":"GET", - "requestUri":"/2017-03-25/distribution/{Id}" + "requestUri":"/2017-10-30/distribution/{Id}" }, "input":{"shape":"GetDistributionRequest"}, "output":{"shape":"GetDistributionResult"}, @@ -304,10 +399,10 @@ ] }, "GetDistributionConfig":{ - "name":"GetDistributionConfig2017_03_25", + "name":"GetDistributionConfig2017_10_30", "http":{ "method":"GET", - "requestUri":"/2017-03-25/distribution/{Id}/config" + "requestUri":"/2017-10-30/distribution/{Id}/config" }, "input":{"shape":"GetDistributionConfigRequest"}, "output":{"shape":"GetDistributionConfigResult"}, @@ -316,11 +411,63 @@ {"shape":"AccessDenied"} ] }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, "GetInvalidation":{ - "name":"GetInvalidation2017_03_25", + "name":"GetInvalidation2017_10_30", "http":{ "method":"GET", - "requestUri":"/2017-03-25/distribution/{DistributionId}/invalidation/{Id}" + "requestUri":"/2017-10-30/distribution/{DistributionId}/invalidation/{Id}" }, "input":{"shape":"GetInvalidationRequest"}, "output":{"shape":"GetInvalidationResult"}, @@ -330,11 +477,37 @@ {"shape":"AccessDenied"} ] }, + "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"} + ] + }, + "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"} + ] + }, "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2017_03_25", + "name":"GetStreamingDistribution2017_10_30", "http":{ "method":"GET", - "requestUri":"/2017-03-25/streaming-distribution/{Id}" + "requestUri":"/2017-10-30/streaming-distribution/{Id}" }, "input":{"shape":"GetStreamingDistributionRequest"}, "output":{"shape":"GetStreamingDistributionResult"}, @@ -344,10 +517,10 @@ ] }, "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2017_03_25", + "name":"GetStreamingDistributionConfig2017_10_30", "http":{ "method":"GET", - "requestUri":"/2017-03-25/streaming-distribution/{Id}/config" + "requestUri":"/2017-10-30/streaming-distribution/{Id}/config" }, "input":{"shape":"GetStreamingDistributionConfigRequest"}, "output":{"shape":"GetStreamingDistributionConfigResult"}, @@ -357,10 +530,10 @@ ] }, "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2017_03_25", + "name":"ListCloudFrontOriginAccessIdentities2017_10_30", "http":{ "method":"GET", - "requestUri":"/2017-03-25/origin-access-identity/cloudfront" + "requestUri":"/2017-10-30/origin-access-identity/cloudfront" }, "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, @@ -369,10 +542,10 @@ ] }, "ListDistributions":{ - "name":"ListDistributions2017_03_25", + "name":"ListDistributions2017_10_30", "http":{ "method":"GET", - "requestUri":"/2017-03-25/distribution" + "requestUri":"/2017-10-30/distribution" }, "input":{"shape":"ListDistributionsRequest"}, "output":{"shape":"ListDistributionsResult"}, @@ -381,10 +554,10 @@ ] }, "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2017_03_25", + "name":"ListDistributionsByWebACLId2017_10_30", "http":{ "method":"GET", - "requestUri":"/2017-03-25/distributionsByWebACLId/{WebACLId}" + "requestUri":"/2017-10-30/distributionsByWebACLId/{WebACLId}" }, "input":{"shape":"ListDistributionsByWebACLIdRequest"}, "output":{"shape":"ListDistributionsByWebACLIdResult"}, @@ -393,11 +566,35 @@ {"shape":"InvalidWebACLId"} ] }, + "ListFieldLevelEncryptionConfigs":{ + "name":"ListFieldLevelEncryptionConfigs2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/field-level-encryption" + }, + "input":{"shape":"ListFieldLevelEncryptionConfigsRequest"}, + "output":{"shape":"ListFieldLevelEncryptionConfigsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ] + }, + "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"} + ] + }, "ListInvalidations":{ - "name":"ListInvalidations2017_03_25", + "name":"ListInvalidations2017_10_30", "http":{ "method":"GET", - "requestUri":"/2017-03-25/distribution/{DistributionId}/invalidation" + "requestUri":"/2017-10-30/distribution/{DistributionId}/invalidation" }, "input":{"shape":"ListInvalidationsRequest"}, "output":{"shape":"ListInvalidationsResult"}, @@ -407,11 +604,23 @@ {"shape":"AccessDenied"} ] }, + "ListPublicKeys":{ + "name":"ListPublicKeys2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/public-key" + }, + "input":{"shape":"ListPublicKeysRequest"}, + "output":{"shape":"ListPublicKeysResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ] + }, "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2017_03_25", + "name":"ListStreamingDistributions2017_10_30", "http":{ "method":"GET", - "requestUri":"/2017-03-25/streaming-distribution" + "requestUri":"/2017-10-30/streaming-distribution" }, "input":{"shape":"ListStreamingDistributionsRequest"}, "output":{"shape":"ListStreamingDistributionsResult"}, @@ -420,10 +629,10 @@ ] }, "ListTagsForResource":{ - "name":"ListTagsForResource2017_03_25", + "name":"ListTagsForResource2017_10_30", "http":{ "method":"GET", - "requestUri":"/2017-03-25/tagging" + "requestUri":"/2017-10-30/tagging" }, "input":{"shape":"ListTagsForResourceRequest"}, "output":{"shape":"ListTagsForResourceResult"}, @@ -435,10 +644,10 @@ ] }, "TagResource":{ - "name":"TagResource2017_03_25", + "name":"TagResource2017_10_30", "http":{ "method":"POST", - "requestUri":"/2017-03-25/tagging?Operation=Tag", + "requestUri":"/2017-10-30/tagging?Operation=Tag", "responseCode":204 }, "input":{"shape":"TagResourceRequest"}, @@ -450,10 +659,10 @@ ] }, "UntagResource":{ - "name":"UntagResource2017_03_25", + "name":"UntagResource2017_10_30", "http":{ "method":"POST", - "requestUri":"/2017-03-25/tagging?Operation=Untag", + "requestUri":"/2017-10-30/tagging?Operation=Untag", "responseCode":204 }, "input":{"shape":"UntagResourceRequest"}, @@ -465,10 +674,10 @@ ] }, "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2017_03_25", + "name":"UpdateCloudFrontOriginAccessIdentity2017_10_30", "http":{ "method":"PUT", - "requestUri":"/2017-03-25/origin-access-identity/cloudfront/{Id}/config" + "requestUri":"/2017-10-30/origin-access-identity/cloudfront/{Id}/config" }, "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, @@ -484,10 +693,10 @@ ] }, "UpdateDistribution":{ - "name":"UpdateDistribution2017_03_25", + "name":"UpdateDistribution2017_10_30", "http":{ "method":"PUT", - "requestUri":"/2017-03-25/distribution/{Id}/config" + "requestUri":"/2017-10-30/distribution/{Id}/config" }, "input":{"shape":"UpdateDistributionRequest"}, "output":{"shape":"UpdateDistributionResult"}, @@ -531,14 +740,80 @@ {"shape":"TooManyLambdaFunctionAssociations"}, {"shape":"InvalidLambdaFunctionAssociation"}, {"shape":"InvalidOriginReadTimeout"}, - {"shape":"InvalidOriginKeepaliveTimeout"} + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} ] }, "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2017_03_25", + "name":"UpdateStreamingDistribution2017_10_30", "http":{ "method":"PUT", - "requestUri":"/2017-03-25/streaming-distribution/{Id}/config" + "requestUri":"/2017-10-30/streaming-distribution/{Id}/config" }, "input":{"shape":"UpdateStreamingDistributionRequest"}, "output":{"shape":"UpdateStreamingDistributionResult"}, @@ -652,7 +927,8 @@ "DefaultTTL":{"shape":"long"}, "MaxTTL":{"shape":"long"}, "Compress":{"shape":"boolean"}, - "LambdaFunctionAssociations":{"shape":"LambdaFunctionAssociations"} + "LambdaFunctionAssociations":{"shape":"LambdaFunctionAssociations"}, + "FieldLevelEncryptionId":{"shape":"string"} } }, "CacheBehaviorList":{ @@ -681,6 +957,14 @@ "Items":{"shape":"MethodsList"} } }, + "CannotChangeImmutablePublicKeyFields":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "CertificateSource":{ "type":"string", "enum":[ @@ -765,6 +1049,41 @@ "locationName":"CloudFrontOriginAccessIdentitySummary" } }, + "ContentTypeProfile":{ + "type":"structure", + "required":[ + "Format", + "ContentType" + ], + "members":{ + "Format":{"shape":"Format"}, + "ProfileId":{"shape":"string"}, + "ContentType":{"shape":"string"} + } + }, + "ContentTypeProfileConfig":{ + "type":"structure", + "required":["ForwardWhenContentTypeIsUnknown"], + "members":{ + "ForwardWhenContentTypeIsUnknown":{"shape":"boolean"}, + "ContentTypeProfiles":{"shape":"ContentTypeProfiles"} + } + }, + "ContentTypeProfileList":{ + "type":"list", + "member":{ + "shape":"ContentTypeProfile", + "locationName":"ContentTypeProfile" + } + }, + "ContentTypeProfiles":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{"shape":"integer"}, + "Items":{"shape":"ContentTypeProfileList"} + } + }, "CookieNameList":{ "type":"list", "member":{ @@ -795,7 +1114,7 @@ "CloudFrontOriginAccessIdentityConfig":{ "shape":"CloudFrontOriginAccessIdentityConfig", "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} } }, "payload":"CloudFrontOriginAccessIdentityConfig" @@ -824,7 +1143,7 @@ "DistributionConfig":{ "shape":"DistributionConfig", "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} } }, "payload":"DistributionConfig" @@ -853,7 +1172,7 @@ "DistributionConfigWithTags":{ "shape":"DistributionConfigWithTags", "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} } }, "payload":"DistributionConfigWithTags" @@ -875,6 +1194,64 @@ }, "payload":"Distribution" }, + "CreateFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["FieldLevelEncryptionConfig"], + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "locationName":"FieldLevelEncryptionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "CreateFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{"shape":"FieldLevelEncryption"}, + "Location":{ + "shape":"string", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "CreateFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["FieldLevelEncryptionProfileConfig"], + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "locationName":"FieldLevelEncryptionProfileConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "CreateFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{"shape":"FieldLevelEncryptionProfile"}, + "Location":{ + "shape":"string", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, "CreateInvalidationRequest":{ "type":"structure", "required":[ @@ -890,7 +1267,7 @@ "InvalidationBatch":{ "shape":"InvalidationBatch", "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} } }, "payload":"InvalidationBatch" @@ -907,6 +1284,35 @@ }, "payload":"Invalidation" }, + "CreatePublicKeyRequest":{ + "type":"structure", + "required":["PublicKeyConfig"], + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "locationName":"PublicKeyConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} + } + }, + "payload":"PublicKeyConfig" + }, + "CreatePublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{"shape":"PublicKey"}, + "Location":{ + "shape":"string", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, "CreateStreamingDistributionRequest":{ "type":"structure", "required":["StreamingDistributionConfig"], @@ -914,7 +1320,7 @@ "StreamingDistributionConfig":{ "shape":"StreamingDistributionConfig", "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} } }, "payload":"StreamingDistributionConfig" @@ -943,7 +1349,7 @@ "StreamingDistributionConfigWithTags":{ "shape":"StreamingDistributionConfigWithTags", "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} } }, "payload":"StreamingDistributionConfigWithTags" @@ -1034,7 +1440,8 @@ "DefaultTTL":{"shape":"long"}, "MaxTTL":{"shape":"long"}, "Compress":{"shape":"boolean"}, - "LambdaFunctionAssociations":{"shape":"LambdaFunctionAssociations"} + "LambdaFunctionAssociations":{"shape":"LambdaFunctionAssociations"}, + "FieldLevelEncryptionId":{"shape":"string"} } }, "DeleteCloudFrontOriginAccessIdentityRequest":{ @@ -1069,18 +1476,23 @@ } } }, - "DeleteServiceLinkedRoleRequest":{ + "DeleteFieldLevelEncryptionConfigRequest":{ "type":"structure", - "required":["RoleName"], + "required":["Id"], "members":{ - "RoleName":{ + "Id":{ "shape":"string", "location":"uri", - "locationName":"RoleName" + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "location":"header", + "locationName":"If-Match" } } }, - "DeleteStreamingDistributionRequest":{ + "DeleteFieldLevelEncryptionProfileRequest":{ "type":"structure", "required":["Id"], "members":{ @@ -1096,22 +1508,54 @@ } } }, - "Distribution":{ + "DeletePublicKeyRequest":{ "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], + "required":["Id"], "members":{ - "Id":{"shape":"string"}, - "ARN":{"shape":"string"}, - "Status":{"shape":"string"}, + "Id":{ + "shape":"string", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "location":"header", + "locationName":"If-Match" + } + } + }, + "DeleteStreamingDistributionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "location":"header", + "locationName":"If-Match" + } + } + }, + "Distribution":{ + "type":"structure", + "required":[ + "Id", + "ARN", + "Status", + "LastModifiedTime", + "InProgressInvalidationBatches", + "DomainName", + "ActiveTrustedSigners", + "DistributionConfig" + ], + "members":{ + "Id":{"shape":"string"}, + "ARN":{"shape":"string"}, + "Status":{"shape":"string"}, "LastModifiedTime":{"shape":"timestamp"}, "InProgressInvalidationBatches":{"shape":"integer"}, "DomainName":{"shape":"string"}, @@ -1241,6 +1685,34 @@ "locationName":"DistributionSummary" } }, + "EncryptionEntities":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{"shape":"integer"}, + "Items":{"shape":"EncryptionEntityList"} + } + }, + "EncryptionEntity":{ + "type":"structure", + "required":[ + "PublicKeyId", + "ProviderId", + "FieldPatterns" + ], + "members":{ + "PublicKeyId":{"shape":"string"}, + "ProviderId":{"shape":"string"}, + "FieldPatterns":{"shape":"FieldPatterns"} + } + }, + "EncryptionEntityList":{ + "type":"list", + "member":{ + "shape":"EncryptionEntity", + "locationName":"EncryptionEntity" + } + }, "EventType":{ "type":"string", "enum":[ @@ -1250,6 +1722,185 @@ "origin-response" ] }, + "FieldLevelEncryption":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "FieldLevelEncryptionConfig" + ], + "members":{ + "Id":{"shape":"string"}, + "LastModifiedTime":{"shape":"timestamp"}, + "FieldLevelEncryptionConfig":{"shape":"FieldLevelEncryptionConfig"} + } + }, + "FieldLevelEncryptionConfig":{ + "type":"structure", + "required":["CallerReference"], + "members":{ + "CallerReference":{"shape":"string"}, + "Comment":{"shape":"string"}, + "QueryArgProfileConfig":{"shape":"QueryArgProfileConfig"}, + "ContentTypeProfileConfig":{"shape":"ContentTypeProfileConfig"} + } + }, + "FieldLevelEncryptionConfigAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionConfigInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{"shape":"string"}, + "MaxItems":{"shape":"integer"}, + "Quantity":{"shape":"integer"}, + "Items":{"shape":"FieldLevelEncryptionSummaryList"} + } + }, + "FieldLevelEncryptionProfile":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "FieldLevelEncryptionProfileConfig" + ], + "members":{ + "Id":{"shape":"string"}, + "LastModifiedTime":{"shape":"timestamp"}, + "FieldLevelEncryptionProfileConfig":{"shape":"FieldLevelEncryptionProfileConfig"} + } + }, + "FieldLevelEncryptionProfileAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionProfileConfig":{ + "type":"structure", + "required":[ + "Name", + "CallerReference", + "EncryptionEntities" + ], + "members":{ + "Name":{"shape":"string"}, + "CallerReference":{"shape":"string"}, + "Comment":{"shape":"string"}, + "EncryptionEntities":{"shape":"EncryptionEntities"} + } + }, + "FieldLevelEncryptionProfileInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionProfileList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{"shape":"string"}, + "MaxItems":{"shape":"integer"}, + "Quantity":{"shape":"integer"}, + "Items":{"shape":"FieldLevelEncryptionProfileSummaryList"} + } + }, + "FieldLevelEncryptionProfileSizeExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "FieldLevelEncryptionProfileSummary":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "Name", + "EncryptionEntities" + ], + "members":{ + "Id":{"shape":"string"}, + "LastModifiedTime":{"shape":"timestamp"}, + "Name":{"shape":"string"}, + "EncryptionEntities":{"shape":"EncryptionEntities"}, + "Comment":{"shape":"string"} + } + }, + "FieldLevelEncryptionProfileSummaryList":{ + "type":"list", + "member":{ + "shape":"FieldLevelEncryptionProfileSummary", + "locationName":"FieldLevelEncryptionProfileSummary" + } + }, + "FieldLevelEncryptionSummary":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime" + ], + "members":{ + "Id":{"shape":"string"}, + "LastModifiedTime":{"shape":"timestamp"}, + "Comment":{"shape":"string"}, + "QueryArgProfileConfig":{"shape":"QueryArgProfileConfig"}, + "ContentTypeProfileConfig":{"shape":"ContentTypeProfileConfig"} + } + }, + "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"}, + "Items":{"shape":"FieldPatternList"} + } + }, + "Format":{ + "type":"string", + "enum":["URLEncoded"] + }, "ForwardedValues":{ "type":"structure", "required":[ @@ -1375,6 +2026,98 @@ }, "payload":"Distribution" }, + "GetFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionConfig":{"shape":"FieldLevelEncryptionConfig"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "GetFieldLevelEncryptionProfileConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionProfileConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfileConfig":{"shape":"FieldLevelEncryptionProfileConfig"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "GetFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{"shape":"FieldLevelEncryptionProfile"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "GetFieldLevelEncryptionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{"shape":"FieldLevelEncryption"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, "GetInvalidationRequest":{ "type":"structure", "required":[ @@ -1401,6 +2144,52 @@ }, "payload":"Invalidation" }, + "GetPublicKeyConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetPublicKeyConfigResult":{ + "type":"structure", + "members":{ + "PublicKeyConfig":{"shape":"PublicKeyConfig"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKeyConfig" + }, + "GetPublicKeyRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetPublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{"shape":"PublicKey"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, "GetStreamingDistributionConfigRequest":{ "type":"structure", "required":["Id"], @@ -1469,6 +2258,14 @@ "http2" ] }, + "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "IllegalUpdate":{ "type":"structure", "members":{ @@ -1755,10 +2552,15 @@ "Items":{"shape":"KeyPairIdList"} } }, + "LambdaFunctionARN":{"type":"string"}, "LambdaFunctionAssociation":{ "type":"structure", + "required":[ + "LambdaFunctionARN", + "EventType" + ], "members":{ - "LambdaFunctionARN":{"shape":"string"}, + "LambdaFunctionARN":{"shape":"LambdaFunctionARN"}, "EventType":{"shape":"EventType"} } }, @@ -1849,15 +2651,81 @@ }, "payload":"DistributionList" }, + "ListFieldLevelEncryptionConfigsRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFieldLevelEncryptionConfigsResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionList":{"shape":"FieldLevelEncryptionList"} + }, + "payload":"FieldLevelEncryptionList" + }, + "ListFieldLevelEncryptionProfilesRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFieldLevelEncryptionProfilesResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfileList":{"shape":"FieldLevelEncryptionProfileList"} + }, + "payload":"FieldLevelEncryptionProfileList" + }, "ListInvalidationsRequest":{ "type":"structure", - "required":["DistributionId"], + "required":["DistributionId"], + "members":{ + "DistributionId":{ + "shape":"string", + "location":"uri", + "locationName":"DistributionId" + }, + "Marker":{ + "shape":"string", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListInvalidationsResult":{ + "type":"structure", + "members":{ + "InvalidationList":{"shape":"InvalidationList"} + }, + "payload":"InvalidationList" + }, + "ListPublicKeysRequest":{ + "type":"structure", "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId" - }, "Marker":{ "shape":"string", "location":"querystring", @@ -1870,12 +2738,12 @@ } } }, - "ListInvalidationsResult":{ + "ListPublicKeysResult":{ "type":"structure", "members":{ - "InvalidationList":{"shape":"InvalidationList"} + "PublicKeyList":{"shape":"PublicKeyList"} }, - "payload":"InvalidationList" + "payload":"PublicKeyList" }, "ListStreamingDistributionsRequest":{ "type":"structure", @@ -1993,6 +2861,22 @@ "error":{"httpStatusCode":404}, "exception":true }, + "NoSuchFieldLevelEncryptionConfig":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchFieldLevelEncryptionProfile":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, "NoSuchInvalidation":{ "type":"structure", "members":{ @@ -2009,6 +2893,14 @@ "error":{"httpStatusCode":404}, "exception":true }, + "NoSuchPublicKey":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, "NoSuchResource":{ "type":"structure", "members":{ @@ -2124,6 +3016,127 @@ "PriceClass_All" ] }, + "PublicKey":{ + "type":"structure", + "required":[ + "Id", + "CreatedTime", + "PublicKeyConfig" + ], + "members":{ + "Id":{"shape":"string"}, + "CreatedTime":{"shape":"timestamp"}, + "PublicKeyConfig":{"shape":"PublicKeyConfig"} + } + }, + "PublicKeyAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "PublicKeyConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "Name", + "EncodedKey" + ], + "members":{ + "CallerReference":{"shape":"string"}, + "Name":{"shape":"string"}, + "EncodedKey":{"shape":"string"}, + "Comment":{"shape":"string"} + } + }, + "PublicKeyInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "PublicKeyList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{"shape":"string"}, + "MaxItems":{"shape":"integer"}, + "Quantity":{"shape":"integer"}, + "Items":{"shape":"PublicKeySummaryList"} + } + }, + "PublicKeySummary":{ + "type":"structure", + "required":[ + "Id", + "Name", + "CreatedTime", + "EncodedKey" + ], + "members":{ + "Id":{"shape":"string"}, + "Name":{"shape":"string"}, + "CreatedTime":{"shape":"timestamp"}, + "EncodedKey":{"shape":"string"}, + "Comment":{"shape":"string"} + } + }, + "PublicKeySummaryList":{ + "type":"list", + "member":{ + "shape":"PublicKeySummary", + "locationName":"PublicKeySummary" + } + }, + "QueryArgProfile":{ + "type":"structure", + "required":[ + "QueryArg", + "ProfileId" + ], + "members":{ + "QueryArg":{"shape":"string"}, + "ProfileId":{"shape":"string"} + } + }, + "QueryArgProfileConfig":{ + "type":"structure", + "required":["ForwardWhenQueryArgProfileIsUnknown"], + "members":{ + "ForwardWhenQueryArgProfileIsUnknown":{"shape":"boolean"}, + "QueryArgProfiles":{"shape":"QueryArgProfiles"} + } + }, + "QueryArgProfileEmpty":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "QueryArgProfileList":{ + "type":"list", + "member":{ + "shape":"QueryArgProfile", + "locationName":"QueryArgProfile" + } + }, + "QueryArgProfiles":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{"shape":"integer"}, + "Items":{"shape":"QueryArgProfileList"} + } + }, "QueryStringCacheKeys":{ "type":"structure", "required":["Quantity"], @@ -2143,14 +3156,6 @@ "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"], @@ -2395,7 +3400,7 @@ "Tags":{ "shape":"Tags", "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} } }, "payload":"Tags" @@ -2460,6 +3465,14 @@ "error":{"httpStatusCode":400}, "exception":true }, + "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "TooManyDistributionsWithLambdaAssociations":{ "type":"structure", "members":{ @@ -2468,6 +3481,54 @@ "error":{"httpStatusCode":400}, "exception":true }, + "TooManyFieldLevelEncryptionConfigs":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionContentTypeProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionEncryptionEntities":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionFieldPatterns":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionQueryArgProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "TooManyHeadersInForwardedValues":{ "type":"structure", "members":{ @@ -2508,6 +3569,14 @@ "error":{"httpStatusCode":400}, "exception":true }, + "TooManyPublicKeys":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "TooManyQueryStringParameters":{ "type":"structure", "members":{ @@ -2575,7 +3644,7 @@ "TagKeys":{ "shape":"TagKeys", "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} } }, "payload":"TagKeys" @@ -2590,7 +3659,7 @@ "CloudFrontOriginAccessIdentityConfig":{ "shape":"CloudFrontOriginAccessIdentityConfig", "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} }, "Id":{ "shape":"string", @@ -2627,7 +3696,7 @@ "DistributionConfig":{ "shape":"DistributionConfig", "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} }, "Id":{ "shape":"string", @@ -2654,6 +3723,117 @@ }, "payload":"Distribution" }, + "UpdateFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":[ + "FieldLevelEncryptionConfig", + "Id" + ], + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "locationName":"FieldLevelEncryptionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} + }, + "Id":{ + "shape":"string", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "UpdateFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{"shape":"FieldLevelEncryption"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "UpdateFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":[ + "FieldLevelEncryptionProfileConfig", + "Id" + ], + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "locationName":"FieldLevelEncryptionProfileConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} + }, + "Id":{ + "shape":"string", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "UpdateFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{"shape":"FieldLevelEncryptionProfile"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "UpdatePublicKeyRequest":{ + "type":"structure", + "required":[ + "PublicKeyConfig", + "Id" + ], + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "locationName":"PublicKeyConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} + }, + "Id":{ + "shape":"string", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"PublicKeyConfig" + }, + "UpdatePublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{"shape":"PublicKey"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, "UpdateStreamingDistributionRequest":{ "type":"structure", "required":[ @@ -2664,7 +3844,7 @@ "StreamingDistributionConfig":{ "shape":"StreamingDistributionConfig", "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} }, "Id":{ "shape":"string", diff --git a/models/apis/cloudfront/2017-03-25/docs-2.json b/models/apis/cloudfront/2017-10-30/docs-2.json similarity index 81% rename from models/apis/cloudfront/2017-03-25/docs-2.json rename to models/apis/cloudfront/2017-10-30/docs-2.json index c0e86083c01..a294a991ac6 100644 --- a/models/apis/cloudfront/2017-03-25/docs-2.json +++ b/models/apis/cloudfront/2017-10-30/docs-2.json @@ -5,30 +5,47 @@ "CreateCloudFrontOriginAccessIdentity": "

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

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

", "CreateDistributionWithTags": "

Create a new distribution with tags.

", + "CreateFieldLevelEncryptionConfig": "

Create a new field-level encryption configuration.

", + "CreateFieldLevelEncryptionProfile": "

Create a field-level encryption profile.

", "CreateInvalidation": "

Create a new invalidation.

", + "CreatePublicKey": "

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

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

Create a new streaming distribution with tags.

", "DeleteCloudFrontOriginAccessIdentity": "

Delete an origin access identity.

", "DeleteDistribution": "

Delete a distribution.

", - "DeleteServiceLinkedRole": null, + "DeleteFieldLevelEncryptionConfig": "

Remove a field-level encryption configuration.

", + "DeleteFieldLevelEncryptionProfile": "

Remove a field-level encryption profile.

", + "DeletePublicKey": "

Remove a public key you previously added to CloudFront.

", "DeleteStreamingDistribution": "

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

Get the information about an origin access identity.

", "GetCloudFrontOriginAccessIdentityConfig": "

Get the configuration information about an origin access identity.

", "GetDistribution": "

Get the information about a distribution.

", "GetDistributionConfig": "

Get the configuration information about a distribution.

", + "GetFieldLevelEncryption": "

Get the field-level encryption configuration information.

", + "GetFieldLevelEncryptionConfig": "

Get the field-level encryption configuration information.

", + "GetFieldLevelEncryptionProfile": "

Get the field-level encryption profile information.

", + "GetFieldLevelEncryptionProfileConfig": "

Get the field-level encryption profile configuration information.

", "GetInvalidation": "

Get the information about an invalidation.

", + "GetPublicKey": "

Get the public key information.

", + "GetPublicKeyConfig": "

Return public key configuration informaation

", "GetStreamingDistribution": "

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

", "GetStreamingDistributionConfig": "

Get the configuration information about a streaming distribution.

", "ListCloudFrontOriginAccessIdentities": "

Lists origin access identities.

", "ListDistributions": "

List distributions.

", "ListDistributionsByWebACLId": "

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

", + "ListFieldLevelEncryptionConfigs": "

List all field-level encryption configurations that have been created in CloudFront for this account.

", + "ListFieldLevelEncryptionProfiles": "

Request a list of field-level encryption profiles that have been created in CloudFront for this account.

", "ListInvalidations": "

Lists invalidation batches.

", + "ListPublicKeys": "

List all public keys that have been added to CloudFront for this account.

", "ListStreamingDistributions": "

List streaming distributions.

", "ListTagsForResource": "

List tags for a CloudFront resource.

", "TagResource": "

Add tags to a CloudFront resource.

", "UntagResource": "

Remove tags from a CloudFront resource.

", "UpdateCloudFrontOriginAccessIdentity": "

Update an origin access identity.

", "UpdateDistribution": "

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

Update a field-level encryption configuration.

", + "UpdateFieldLevelEncryptionProfile": "

Update a field-level encryption profile.

", + "UpdatePublicKey": "

Update public key information. Note that the only value you can change is the comment.

", "UpdateStreamingDistribution": "

Update a streaming distribution.

" }, "shapes": { @@ -107,6 +124,11 @@ "AllowedMethods$CachedMethods": null } }, + "CannotChangeImmutablePublicKeyFields": { + "base": "

You can't change the value of a public key.

", + "refs": { + } + }, "CertificateSource": { "base": null, "refs": { @@ -158,6 +180,31 @@ "CloudFrontOriginAccessIdentityList$Items": "

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

" } }, + "ContentTypeProfile": { + "base": "

A field-level encryption content type profile.

", + "refs": { + "ContentTypeProfileList$member": null + } + }, + "ContentTypeProfileConfig": { + "base": "

The configuration for a field-level encryption content type-profile mapping.

", + "refs": { + "FieldLevelEncryptionConfig$ContentTypeProfileConfig": "

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.

", + "FieldLevelEncryptionSummary$ContentTypeProfileConfig": "

A summary of a content type-profile mapping.

" + } + }, + "ContentTypeProfileList": { + "base": null, + "refs": { + "ContentTypeProfiles$Items": "

Items in a field-level encryption content type-profile mapping.

" + } + }, + "ContentTypeProfiles": { + "base": "

Field-level encryption content type-profile.

", + "refs": { + "ContentTypeProfileConfig$ContentTypeProfiles": "

The configuration for a field-level encryption content type-profile.

" + } + }, "CookieNameList": { "base": null, "refs": { @@ -206,6 +253,26 @@ "refs": { } }, + "CreateFieldLevelEncryptionConfigRequest": { + "base": null, + "refs": { + } + }, + "CreateFieldLevelEncryptionConfigResult": { + "base": null, + "refs": { + } + }, + "CreateFieldLevelEncryptionProfileRequest": { + "base": null, + "refs": { + } + }, + "CreateFieldLevelEncryptionProfileResult": { + "base": null, + "refs": { + } + }, "CreateInvalidationRequest": { "base": "

The request to create an invalidation.

", "refs": { @@ -216,6 +283,16 @@ "refs": { } }, + "CreatePublicKeyRequest": { + "base": null, + "refs": { + } + }, + "CreatePublicKeyResult": { + "base": null, + "refs": { + } + }, "CreateStreamingDistributionRequest": { "base": "

The request to create a new streaming distribution.

", "refs": { @@ -284,7 +361,17 @@ "refs": { } }, - "DeleteServiceLinkedRoleRequest": { + "DeleteFieldLevelEncryptionConfigRequest": { + "base": null, + "refs": { + } + }, + "DeleteFieldLevelEncryptionProfileRequest": { + "base": null, + "refs": { + } + }, + "DeletePublicKeyRequest": { "base": null, "refs": { } @@ -348,12 +435,144 @@ "DistributionList$Items": "

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

" } }, + "EncryptionEntities": { + "base": "

Complex data type for field-level encryption profiles that includes all of the encryption entities.

", + "refs": { + "FieldLevelEncryptionProfileConfig$EncryptionEntities": "

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.

", + "FieldLevelEncryptionProfileSummary$EncryptionEntities": "

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.

" + } + }, + "EncryptionEntity": { + "base": "

Complex data type for field-level encryption profiles that includes the encryption key and field pattern specifications.

", + "refs": { + "EncryptionEntityList$member": null + } + }, + "EncryptionEntityList": { + "base": null, + "refs": { + "EncryptionEntities$Items": "

An array of field patterns in a field-level encryption content type-profile mapping.

" + } + }, "EventType": { "base": null, "refs": { "LambdaFunctionAssociation$EventType": "

Specifies the event type that triggers a Lambda function invocation. You can specify the following values:

" } }, + "FieldLevelEncryption": { + "base": "

A complex data type that includes the profile configurations and other options specified for field-level encryption.

", + "refs": { + "CreateFieldLevelEncryptionConfigResult$FieldLevelEncryption": "

Returned when you create a new field-level encryption configuration.

", + "GetFieldLevelEncryptionResult$FieldLevelEncryption": "

Return the field-level encryption configuration information.

", + "UpdateFieldLevelEncryptionConfigResult$FieldLevelEncryption": "

Return the results of updating the configuration.

" + } + }, + "FieldLevelEncryptionConfig": { + "base": "

A complex data type that includes the profile configurations specified for field-level encryption.

", + "refs": { + "CreateFieldLevelEncryptionConfigRequest$FieldLevelEncryptionConfig": "

The request to create a new field-level encryption configuration.

", + "FieldLevelEncryption$FieldLevelEncryptionConfig": "

A complex data type that includes the profile configurations specified for field-level encryption.

", + "GetFieldLevelEncryptionConfigResult$FieldLevelEncryptionConfig": "

Return the field-level encryption configuration information.

", + "UpdateFieldLevelEncryptionConfigRequest$FieldLevelEncryptionConfig": "

Request to update a field-level encryption configuration.

" + } + }, + "FieldLevelEncryptionConfigAlreadyExists": { + "base": "

The specified configuration for field-level encryption already exists.

", + "refs": { + } + }, + "FieldLevelEncryptionConfigInUse": { + "base": "

The specified configuration for field-level encryption is in use.

", + "refs": { + } + }, + "FieldLevelEncryptionList": { + "base": "

List of field-level encrpytion configurations.

", + "refs": { + "ListFieldLevelEncryptionConfigsResult$FieldLevelEncryptionList": "

Returns a list of all field-level encryption configurations that have been created in CloudFront for this account.

" + } + }, + "FieldLevelEncryptionProfile": { + "base": "

A complex data type for field-level encryption profiles.

", + "refs": { + "CreateFieldLevelEncryptionProfileResult$FieldLevelEncryptionProfile": "

Returned when you create a new field-level encryption profile.

", + "GetFieldLevelEncryptionProfileResult$FieldLevelEncryptionProfile": "

Return the field-level encryption profile information.

", + "UpdateFieldLevelEncryptionProfileResult$FieldLevelEncryptionProfile": "

Return the results of updating the profile.

" + } + }, + "FieldLevelEncryptionProfileAlreadyExists": { + "base": "

The specified profile for field-level encryption already exists.

", + "refs": { + } + }, + "FieldLevelEncryptionProfileConfig": { + "base": "

A complex data type of profiles for the field-level encryption.

", + "refs": { + "CreateFieldLevelEncryptionProfileRequest$FieldLevelEncryptionProfileConfig": "

The request to create a field-level encryption profile.

", + "FieldLevelEncryptionProfile$FieldLevelEncryptionProfileConfig": "

A complex data type that includes the profile name and the encryption entities for the field-level encryption profile.

", + "GetFieldLevelEncryptionProfileConfigResult$FieldLevelEncryptionProfileConfig": "

Return the field-level encryption profile configuration information.

", + "UpdateFieldLevelEncryptionProfileRequest$FieldLevelEncryptionProfileConfig": "

Request to update a field-level encryption profile.

" + } + }, + "FieldLevelEncryptionProfileInUse": { + "base": "

The specified profile for field-level encryption is in use.

", + "refs": { + } + }, + "FieldLevelEncryptionProfileList": { + "base": "

List of field-level encryption profiles.

", + "refs": { + "ListFieldLevelEncryptionProfilesResult$FieldLevelEncryptionProfileList": "

Returns a list of the field-level encryption profiles that have been created in CloudFront for this account.

" + } + }, + "FieldLevelEncryptionProfileSizeExceeded": { + "base": "

The maximum size of a profile for field-level encryption was exceeded.

", + "refs": { + } + }, + "FieldLevelEncryptionProfileSummary": { + "base": "

The field-level encryption profile summary.

", + "refs": { + "FieldLevelEncryptionProfileSummaryList$member": null + } + }, + "FieldLevelEncryptionProfileSummaryList": { + "base": null, + "refs": { + "FieldLevelEncryptionProfileList$Items": "

The field-level encryption profile items.

" + } + }, + "FieldLevelEncryptionSummary": { + "base": "

A summary of a field-level encryption item.

", + "refs": { + "FieldLevelEncryptionSummaryList$member": null + } + }, + "FieldLevelEncryptionSummaryList": { + "base": null, + "refs": { + "FieldLevelEncryptionList$Items": "

An array of field-level encryption items.

" + } + }, + "FieldPatternList": { + "base": null, + "refs": { + "FieldPatterns$Items": "

An array of the field-level encryption field patterns.

" + } + }, + "FieldPatterns": { + "base": "

A complex data type that includes the field patterns to match for field-level encryption.

", + "refs": { + "EncryptionEntity$FieldPatterns": "

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.

" + } + }, + "Format": { + "base": null, + "refs": { + "ContentTypeProfile$Format": "

The format for a field-level encryption content type-profile mapping.

" + } + }, "ForwardedValues": { "base": "

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

", "refs": { @@ -413,6 +632,46 @@ "refs": { } }, + "GetFieldLevelEncryptionConfigRequest": { + "base": null, + "refs": { + } + }, + "GetFieldLevelEncryptionConfigResult": { + "base": null, + "refs": { + } + }, + "GetFieldLevelEncryptionProfileConfigRequest": { + "base": null, + "refs": { + } + }, + "GetFieldLevelEncryptionProfileConfigResult": { + "base": null, + "refs": { + } + }, + "GetFieldLevelEncryptionProfileRequest": { + "base": null, + "refs": { + } + }, + "GetFieldLevelEncryptionProfileResult": { + "base": null, + "refs": { + } + }, + "GetFieldLevelEncryptionRequest": { + "base": null, + "refs": { + } + }, + "GetFieldLevelEncryptionResult": { + "base": null, + "refs": { + } + }, "GetInvalidationRequest": { "base": "

The request to get an invalidation's information.

", "refs": { @@ -423,6 +682,26 @@ "refs": { } }, + "GetPublicKeyConfigRequest": { + "base": null, + "refs": { + } + }, + "GetPublicKeyConfigResult": { + "base": null, + "refs": { + } + }, + "GetPublicKeyRequest": { + "base": null, + "refs": { + } + }, + "GetPublicKeyResult": { + "base": null, + "refs": { + } + }, "GetStreamingDistributionConfigRequest": { "base": "

To request to get a streaming distribution configuration.

", "refs": { @@ -462,6 +741,11 @@ "DistributionSummary$HttpVersion": "

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.

" } }, + "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior": { + "base": "

The specified configuration for field-level encryption can't be associated with the specified cache behavior.

", + "refs": { + } + }, "IllegalUpdate": { "base": "

Origin and CallerReference cannot be updated.

", "refs": { @@ -637,6 +921,12 @@ "Signer$KeyPairIds": "

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

" } }, + "LambdaFunctionARN": { + "base": null, + "refs": { + "LambdaFunctionAssociation$LambdaFunctionARN": "

The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias or $LATEST.

" + } + }, "LambdaFunctionAssociation": { "base": "

A complex type that contains a Lambda function association.

", "refs": { @@ -686,6 +976,26 @@ "refs": { } }, + "ListFieldLevelEncryptionConfigsRequest": { + "base": null, + "refs": { + } + }, + "ListFieldLevelEncryptionConfigsResult": { + "base": null, + "refs": { + } + }, + "ListFieldLevelEncryptionProfilesRequest": { + "base": null, + "refs": { + } + }, + "ListFieldLevelEncryptionProfilesResult": { + "base": null, + "refs": { + } + }, "ListInvalidationsRequest": { "base": "

The request to list invalidations.

", "refs": { @@ -696,6 +1006,16 @@ "refs": { } }, + "ListPublicKeysRequest": { + "base": null, + "refs": { + } + }, + "ListPublicKeysResult": { + "base": null, + "refs": { + } + }, "ListStreamingDistributionsRequest": { "base": "

The request to list your streaming distributions.

", "refs": { @@ -762,6 +1082,16 @@ "refs": { } }, + "NoSuchFieldLevelEncryptionConfig": { + "base": "

The specified configuration for field-level encryption doesn't exist.

", + "refs": { + } + }, + "NoSuchFieldLevelEncryptionProfile": { + "base": "

The specified profile for field-level encryption doesn't exist.

", + "refs": { + } + }, "NoSuchInvalidation": { "base": "

The specified invalidation does not exist.

", "refs": { @@ -772,6 +1102,11 @@ "refs": { } }, + "NoSuchPublicKey": { + "base": "

The specified public key doesn't exist.

", + "refs": { + } + }, "NoSuchResource": { "base": null, "refs": { @@ -851,6 +1186,81 @@ "StreamingDistributionSummary$PriceClass": null } }, + "PublicKey": { + "base": "

A complex data type of public keys you add to CloudFront to use with features like field-level encryption.

", + "refs": { + "CreatePublicKeyResult$PublicKey": "

Returned when you add a public key.

", + "GetPublicKeyResult$PublicKey": "

Return the public key.

", + "UpdatePublicKeyResult$PublicKey": "

Return the results of updating the public key.

" + } + }, + "PublicKeyAlreadyExists": { + "base": "

The specified public key already exists.

", + "refs": { + } + }, + "PublicKeyConfig": { + "base": "

Information about a public key you add to CloudFront to use with features like field-level encryption.

", + "refs": { + "CreatePublicKeyRequest$PublicKeyConfig": "

The request to add a public key to CloudFront.

", + "GetPublicKeyConfigResult$PublicKeyConfig": "

Return the result for the public key configuration.

", + "PublicKey$PublicKeyConfig": "

A complex data type for a public key you add to CloudFront to use with features like field-level encryption.

", + "UpdatePublicKeyRequest$PublicKeyConfig": "

Request to update public key information.

" + } + }, + "PublicKeyInUse": { + "base": "

The specified public key is in use.

", + "refs": { + } + }, + "PublicKeyList": { + "base": "

A list of public keys you've added to CloudFront to use with features like field-level encryption.

", + "refs": { + "ListPublicKeysResult$PublicKeyList": "

Returns a list of all public keys that have been added to CloudFront for this account.

" + } + }, + "PublicKeySummary": { + "base": "

Public key information summary.

", + "refs": { + "PublicKeySummaryList$member": null + } + }, + "PublicKeySummaryList": { + "base": null, + "refs": { + "PublicKeyList$Items": "

An array of information about a public key you add to CloudFront to use with features like field-level encryption.

" + } + }, + "QueryArgProfile": { + "base": "

Query argument-profile mapping for field-level encryption.

", + "refs": { + "QueryArgProfileList$member": null + } + }, + "QueryArgProfileConfig": { + "base": "

Configuration for query argument-profile mapping for field-level encryption.

", + "refs": { + "FieldLevelEncryptionConfig$QueryArgProfileConfig": "

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.

", + "FieldLevelEncryptionSummary$QueryArgProfileConfig": "

A summary of a query argument-profile mapping.

" + } + }, + "QueryArgProfileEmpty": { + "base": "

No profile specified for the field-level encryption query argument.

", + "refs": { + } + }, + "QueryArgProfileList": { + "base": null, + "refs": { + "QueryArgProfiles$Items": "

Number of items for query argument-profile mapping for field-level encryption.

" + } + }, + "QueryArgProfiles": { + "base": "

Query argument-profile mapping for field-level encryption.

", + "refs": { + "QueryArgProfileConfig$QueryArgProfiles": "

Profiles specified for query argument-profile mapping for field-level encryption.

" + } + }, "QueryStringCacheKeys": { "base": null, "refs": { @@ -871,11 +1281,6 @@ "UntagResourceRequest$Resource": "

An ARN of a CloudFront resource.

" } }, - "ResourceInUse": { - "base": null, - "refs": { - } - }, "Restrictions": { "base": "

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

", "refs": { @@ -1066,11 +1471,46 @@ "refs": { } }, + "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig": { + "base": "

The maximum number of distributions have been associated with the specified configuration for field-level encryption.

", + "refs": { + } + }, "TooManyDistributionsWithLambdaAssociations": { "base": "

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", "refs": { } }, + "TooManyFieldLevelEncryptionConfigs": { + "base": "

The maximum number of configurations for field-level encryption have been created.

", + "refs": { + } + }, + "TooManyFieldLevelEncryptionContentTypeProfiles": { + "base": "

The maximum number of content type profiles for field-level encryption have been created.

", + "refs": { + } + }, + "TooManyFieldLevelEncryptionEncryptionEntities": { + "base": "

The maximum number of encryption entities for field-level encryption have been created.

", + "refs": { + } + }, + "TooManyFieldLevelEncryptionFieldPatterns": { + "base": "

The maximum number of field patterns for field-level encryption have been created.

", + "refs": { + } + }, + "TooManyFieldLevelEncryptionProfiles": { + "base": "

The maximum number of profiles for field-level encryption have been created.

", + "refs": { + } + }, + "TooManyFieldLevelEncryptionQueryArgProfiles": { + "base": "

The maximum number of query arg profiles for field-level encryption have been created.

", + "refs": { + } + }, "TooManyHeadersInForwardedValues": { "base": null, "refs": { @@ -1096,6 +1536,11 @@ "refs": { } }, + "TooManyPublicKeys": { + "base": "

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.

", + "refs": { + } + }, "TooManyQueryStringParameters": { "base": null, "refs": { @@ -1155,6 +1600,36 @@ "refs": { } }, + "UpdateFieldLevelEncryptionConfigRequest": { + "base": null, + "refs": { + } + }, + "UpdateFieldLevelEncryptionConfigResult": { + "base": null, + "refs": { + } + }, + "UpdateFieldLevelEncryptionProfileRequest": { + "base": null, + "refs": { + } + }, + "UpdateFieldLevelEncryptionProfileResult": { + "base": null, + "refs": { + } + }, + "UpdatePublicKeyRequest": { + "base": null, + "refs": { + } + }, + "UpdatePublicKeyResult": { + "base": null, + "refs": { + } + }, "UpdateStreamingDistributionRequest": { "base": "

The request to update a streaming distribution.

", "refs": { @@ -1186,6 +1661,7 @@ "CacheBehavior$SmoothStreaming": "

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.

", "CacheBehavior$Compress": "

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.

", "CloudFrontOriginAccessIdentityList$IsTruncated": "

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.

", + "ContentTypeProfileConfig$ForwardWhenContentTypeIsUnknown": "

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.

", "DefaultCacheBehavior$SmoothStreaming": "

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.

", "DefaultCacheBehavior$Compress": "

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.

", "DistributionConfig$Enabled": "

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.

", @@ -1197,6 +1673,7 @@ "InvalidationList$IsTruncated": "

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.

", "LoggingConfig$Enabled": "

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.

", "LoggingConfig$IncludeCookies": "

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.

", + "QueryArgProfileConfig$ForwardWhenQueryArgProfileIsUnknown": "

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.

", "StreamingDistributionConfig$Enabled": "

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

", "StreamingDistributionList$IsTruncated": "

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.

", "StreamingDistributionSummary$Enabled": "

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

", @@ -1215,6 +1692,7 @@ "CachedMethods$Quantity": "

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

", "CloudFrontOriginAccessIdentityList$MaxItems": "

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

", "CloudFrontOriginAccessIdentityList$Quantity": "

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

", + "ContentTypeProfiles$Quantity": "

The number of field-level encryption content type-profile mappings.

", "CookieNames$Quantity": "

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

", "CustomErrorResponse$ErrorCode": "

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

", "CustomErrorResponses$Quantity": "

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.

", @@ -1226,6 +1704,12 @@ "Distribution$InProgressInvalidationBatches": "

The number of invalidation batches currently in progress.

", "DistributionList$MaxItems": "

The value you provided for the MaxItems request parameter.

", "DistributionList$Quantity": "

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

", + "EncryptionEntities$Quantity": "

Number of field pattern items in a field-level encryption content type-profile mapping.

", + "FieldLevelEncryptionList$MaxItems": "

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

", + "FieldLevelEncryptionList$Quantity": "

The number of field-level encryption items.

", + "FieldLevelEncryptionProfileList$MaxItems": "

The maximum number of field-level encryption profiles you want in the response body.

", + "FieldLevelEncryptionProfileList$Quantity": "

The number of field-level encryption profiles.

", + "FieldPatterns$Quantity": "

The number of field-level encryption field patterns.

", "GeoRestriction$Quantity": "

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.

", "Headers$Quantity": "

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:

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:

", "InvalidationList$MaxItems": "

The value that you provided for the MaxItems request parameter.

", @@ -1235,6 +1719,9 @@ "OriginSslProtocols$Quantity": "

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

", "Origins$Quantity": "

The number of origins for this distribution.

", "Paths$Quantity": "

The number of objects that you want to invalidate.

", + "PublicKeyList$MaxItems": "

The maximum number of public keys you want in the response body.

", + "PublicKeyList$Quantity": "

The number of public keys you added to CloudFront to use with features like field-level encryption.

", + "QueryArgProfiles$Quantity": "

Number of profiles for query argument-profile mapping for field-level encryption.

", "QueryStringCacheKeys$Quantity": "

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

", "StreamingDistributionList$MaxItems": "

The value you provided for the MaxItems request parameter.

", "StreamingDistributionList$Quantity": "

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

", @@ -1263,6 +1750,8 @@ "CNAMEAlreadyExists$Message": null, "CacheBehavior$PathPattern": "

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.

", "CacheBehavior$TargetOriginId": "

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.

", + "CacheBehavior$FieldLevelEncryptionId": null, + "CannotChangeImmutablePublicKeyFields$Message": null, "CloudFrontOriginAccessIdentity$Id": "

The ID for the origin access identity, for example, E74FTE3AJFJ256A.

", "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "

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.

", "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, @@ -1274,6 +1763,8 @@ "CloudFrontOriginAccessIdentitySummary$Id": "

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

", "CloudFrontOriginAccessIdentitySummary$S3CanonicalUserId": "

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.

", "CloudFrontOriginAccessIdentitySummary$Comment": "

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

", + "ContentTypeProfile$ProfileId": "

The profile ID for a field-level encryption content type-profile mapping.

", + "ContentTypeProfile$ContentType": "

The content type for a field-level encryption content type-profile mapping.

", "CookieNameList$member": null, "CreateCloudFrontOriginAccessIdentityResult$Location": "

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.

", "CreateCloudFrontOriginAccessIdentityResult$ETag": "

The current version of the origin access identity created.

", @@ -1281,8 +1772,14 @@ "CreateDistributionResult$ETag": "

The current version of the distribution created.

", "CreateDistributionWithTagsResult$Location": "

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

", "CreateDistributionWithTagsResult$ETag": "

The current version of the distribution created.

", + "CreateFieldLevelEncryptionConfigResult$Location": "

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.

", + "CreateFieldLevelEncryptionConfigResult$ETag": "

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "CreateFieldLevelEncryptionProfileResult$Location": "

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.

", + "CreateFieldLevelEncryptionProfileResult$ETag": "

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", "CreateInvalidationRequest$DistributionId": "

The distribution's id.

", "CreateInvalidationResult$Location": "

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

", + "CreatePublicKeyResult$Location": "

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.

", + "CreatePublicKeyResult$ETag": "

The current version of the public key. For example: E2QWRUHAPOMQZL.

", "CreateStreamingDistributionResult$Location": "

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

", "CreateStreamingDistributionResult$ETag": "

The current version of the streaming distribution created.

", "CreateStreamingDistributionWithTagsResult$Location": "

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

", @@ -1290,11 +1787,17 @@ "CustomErrorResponse$ResponsePagePath": "

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

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

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

", "CustomErrorResponse$ResponseCode": "

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

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

", "DefaultCacheBehavior$TargetOriginId": "

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.

", + "DefaultCacheBehavior$FieldLevelEncryptionId": null, "DeleteCloudFrontOriginAccessIdentityRequest$Id": "

The origin access identity's ID.

", "DeleteCloudFrontOriginAccessIdentityRequest$IfMatch": "

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

", "DeleteDistributionRequest$Id": "

The distribution ID.

", "DeleteDistributionRequest$IfMatch": "

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

", - "DeleteServiceLinkedRoleRequest$RoleName": null, + "DeleteFieldLevelEncryptionConfigRequest$Id": "

The ID of the configuration you want to delete from CloudFront.

", + "DeleteFieldLevelEncryptionConfigRequest$IfMatch": "

The value of the ETag header that you received when retrieving the configuration identity to delete. For example: E2QWRUHAPOMQZL.

", + "DeleteFieldLevelEncryptionProfileRequest$Id": "

Request the ID of the profile you want to delete from CloudFront.

", + "DeleteFieldLevelEncryptionProfileRequest$IfMatch": "

The value of the ETag header that you received when retrieving the profile to delete. For example: E2QWRUHAPOMQZL.

", + "DeletePublicKeyRequest$Id": "

The ID of the public key you want to remove from CloudFront.

", + "DeletePublicKeyRequest$IfMatch": "

The value of the ETag header that you received when retrieving the public key identity to delete. For example: E2QWRUHAPOMQZL.

", "DeleteStreamingDistributionRequest$Id": "

The distribution ID.

", "DeleteStreamingDistributionRequest$IfMatch": "

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

", "Distribution$Id": "

The identifier for the distribution. For example: EDFDVBD632BHDS5.

", @@ -1315,6 +1818,28 @@ "DistributionSummary$DomainName": "

The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net.

", "DistributionSummary$Comment": "

The comment originally specified when this distribution was created.

", "DistributionSummary$WebACLId": "

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

", + "EncryptionEntity$PublicKeyId": "

The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.

", + "EncryptionEntity$ProviderId": "

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.

", + "FieldLevelEncryption$Id": "

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.

", + "FieldLevelEncryptionConfig$CallerReference": "

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

", + "FieldLevelEncryptionConfig$Comment": "

An optional comment about the configuration.

", + "FieldLevelEncryptionConfigAlreadyExists$Message": null, + "FieldLevelEncryptionConfigInUse$Message": null, + "FieldLevelEncryptionList$NextMarker": "

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.

", + "FieldLevelEncryptionProfile$Id": "

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.

", + "FieldLevelEncryptionProfileAlreadyExists$Message": null, + "FieldLevelEncryptionProfileConfig$Name": "

Profile name for the field-level encryption profile.

", + "FieldLevelEncryptionProfileConfig$CallerReference": "

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

", + "FieldLevelEncryptionProfileConfig$Comment": "

An optional comment for the field-level encryption profile.

", + "FieldLevelEncryptionProfileInUse$Message": null, + "FieldLevelEncryptionProfileList$NextMarker": "

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.

", + "FieldLevelEncryptionProfileSizeExceeded$Message": null, + "FieldLevelEncryptionProfileSummary$Id": "

ID for the field-level encryption profile summary.

", + "FieldLevelEncryptionProfileSummary$Name": "

Name for the field-level encryption profile summary.

", + "FieldLevelEncryptionProfileSummary$Comment": "

An optional comment for the field-level encryption profile summary.

", + "FieldLevelEncryptionSummary$Id": "

The unique ID of a field-level encryption item.

", + "FieldLevelEncryptionSummary$Comment": "

An optional comment about the field-level encryption item.

", + "FieldPatternList$member": null, "GetCloudFrontOriginAccessIdentityConfigRequest$Id": "

The identity's ID.

", "GetCloudFrontOriginAccessIdentityConfigResult$ETag": "

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

", "GetCloudFrontOriginAccessIdentityRequest$Id": "

The identity's ID.

", @@ -1323,13 +1848,26 @@ "GetDistributionConfigResult$ETag": "

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

", "GetDistributionRequest$Id": "

The distribution's ID.

", "GetDistributionResult$ETag": "

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

", + "GetFieldLevelEncryptionConfigRequest$Id": "

Request the ID for the field-level encryption configuration information.

", + "GetFieldLevelEncryptionConfigResult$ETag": "

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "GetFieldLevelEncryptionProfileConfigRequest$Id": "

Get the ID for the field-level encryption profile configuration information.

", + "GetFieldLevelEncryptionProfileConfigResult$ETag": "

The current version of the field-level encryption profile configuration result. For example: E2QWRUHAPOMQZL.

", + "GetFieldLevelEncryptionProfileRequest$Id": "

Get the ID for the field-level encryption profile information.

", + "GetFieldLevelEncryptionProfileResult$ETag": "

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", + "GetFieldLevelEncryptionRequest$Id": "

Request the ID for the field-level encryption configuration information.

", + "GetFieldLevelEncryptionResult$ETag": "

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", "GetInvalidationRequest$DistributionId": "

The distribution's ID.

", "GetInvalidationRequest$Id": "

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

", + "GetPublicKeyConfigRequest$Id": "

Request the ID for the public key configuration.

", + "GetPublicKeyConfigResult$ETag": "

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

", + "GetPublicKeyRequest$Id": "

Request the ID for the public key.

", + "GetPublicKeyResult$ETag": "

The current version of the public key. For example: E2QWRUHAPOMQZL.

", "GetStreamingDistributionConfigRequest$Id": "

The streaming distribution's ID.

", "GetStreamingDistributionConfigResult$ETag": "

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

", "GetStreamingDistributionRequest$Id": "

The streaming distribution's ID.

", "GetStreamingDistributionResult$ETag": "

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

", "HeaderList$member": null, + "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior$Message": null, "IllegalUpdate$Message": null, "InconsistentQuantities$Message": null, "InvalidArgument$Message": null, @@ -1363,7 +1901,6 @@ "InvalidationSummary$Id": "

The unique ID for an invalidation request.

", "InvalidationSummary$Status": "

The status of an invalidation request.

", "KeyPairIdList$member": null, - "LambdaFunctionAssociation$LambdaFunctionARN": "

The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias or $LATEST.

", "ListCloudFrontOriginAccessIdentitiesRequest$Marker": "

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

", "ListCloudFrontOriginAccessIdentitiesRequest$MaxItems": "

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

", "ListDistributionsByWebACLIdRequest$Marker": "

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

", @@ -1371,9 +1908,15 @@ "ListDistributionsByWebACLIdRequest$WebACLId": "

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.

", "ListDistributionsRequest$Marker": "

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

", "ListDistributionsRequest$MaxItems": "

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

", + "ListFieldLevelEncryptionConfigsRequest$Marker": "

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

", + "ListFieldLevelEncryptionConfigsRequest$MaxItems": "

The maximum number of field-level encryption configurations you want in the response body.

", + "ListFieldLevelEncryptionProfilesRequest$Marker": "

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

", + "ListFieldLevelEncryptionProfilesRequest$MaxItems": "

The maximum number of field-level encryption profiles you want in the response body.

", "ListInvalidationsRequest$DistributionId": "

The distribution's ID.

", "ListInvalidationsRequest$Marker": "

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.

", "ListInvalidationsRequest$MaxItems": "

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

", + "ListPublicKeysRequest$Marker": "

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

", + "ListPublicKeysRequest$MaxItems": "

The maximum number of public keys you want in the response body.

", "ListStreamingDistributionsRequest$Marker": "

The value that you provided for the Marker request parameter.

", "ListStreamingDistributionsRequest$MaxItems": "

The value that you provided for the MaxItems request parameter.

", "LocationList$member": null, @@ -1382,8 +1925,11 @@ "MissingBody$Message": null, "NoSuchCloudFrontOriginAccessIdentity$Message": null, "NoSuchDistribution$Message": null, + "NoSuchFieldLevelEncryptionConfig$Message": null, + "NoSuchFieldLevelEncryptionProfile$Message": null, "NoSuchInvalidation$Message": null, "NoSuchOrigin$Message": null, + "NoSuchPublicKey$Message": null, "NoSuchResource$Message": null, "NoSuchStreamingDistribution$Message": null, "Origin$Id": "

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.

", @@ -1393,8 +1939,22 @@ "OriginCustomHeader$HeaderValue": "

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

", "PathList$member": null, "PreconditionFailed$Message": null, + "PublicKey$Id": "

A unique ID assigned to a public key you've added to CloudFront.

", + "PublicKeyAlreadyExists$Message": null, + "PublicKeyConfig$CallerReference": "

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

", + "PublicKeyConfig$Name": "

The name for a public key you add to CloudFront to use with features like field-level encryption.

", + "PublicKeyConfig$EncodedKey": "

The encoded public key that you want to add to CloudFront to use with features like field-level encryption.

", + "PublicKeyConfig$Comment": "

An optional comment about a public key.

", + "PublicKeyInUse$Message": null, + "PublicKeyList$NextMarker": "

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.

", + "PublicKeySummary$Id": "

ID for public key information summary.

", + "PublicKeySummary$Name": "

Name for public key information summary.

", + "PublicKeySummary$EncodedKey": "

Encoded key for public key information summary.

", + "PublicKeySummary$Comment": "

Comment for public key information summary.

", + "QueryArgProfile$QueryArg": "

Query argument for field-level encryption query argument-profile mapping.

", + "QueryArgProfile$ProfileId": "

ID of profile to use for field-level encryption query argument-profile mapping

", + "QueryArgProfileEmpty$Message": null, "QueryStringCacheKeysList$member": null, - "ResourceInUse$Message": null, "S3Origin$DomainName": "

The DNS name of the Amazon S3 origin.

", "S3Origin$OriginAccessIdentity": "

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.

", "S3OriginConfig$OriginAccessIdentity": "

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.

", @@ -1422,12 +1982,20 @@ "TooManyCookieNamesInWhiteList$Message": null, "TooManyDistributionCNAMEs$Message": null, "TooManyDistributions$Message": null, + "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig$Message": null, "TooManyDistributionsWithLambdaAssociations$Message": null, + "TooManyFieldLevelEncryptionConfigs$Message": null, + "TooManyFieldLevelEncryptionContentTypeProfiles$Message": null, + "TooManyFieldLevelEncryptionEncryptionEntities$Message": null, + "TooManyFieldLevelEncryptionFieldPatterns$Message": null, + "TooManyFieldLevelEncryptionProfiles$Message": null, + "TooManyFieldLevelEncryptionQueryArgProfiles$Message": null, "TooManyHeadersInForwardedValues$Message": null, "TooManyInvalidationsInProgress$Message": null, "TooManyLambdaFunctionAssociations$Message": null, "TooManyOriginCustomHeaders$Message": null, "TooManyOrigins$Message": null, + "TooManyPublicKeys$Message": null, "TooManyQueryStringParameters$Message": null, "TooManyStreamingDistributionCNAMEs$Message": null, "TooManyStreamingDistributions$Message": null, @@ -1439,6 +2007,15 @@ "UpdateDistributionRequest$Id": "

The distribution's id.

", "UpdateDistributionRequest$IfMatch": "

The value of the ETag header that you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.

", "UpdateDistributionResult$ETag": "

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

", + "UpdateFieldLevelEncryptionConfigRequest$Id": "

The ID of the configuration you want to update.

", + "UpdateFieldLevelEncryptionConfigRequest$IfMatch": "

The value of the ETag header that you received when retrieving the configuration identity to update. For example: E2QWRUHAPOMQZL.

", + "UpdateFieldLevelEncryptionConfigResult$ETag": "

The value of the ETag header that you received when updating the configuration. For example: E2QWRUHAPOMQZL.

", + "UpdateFieldLevelEncryptionProfileRequest$Id": "

The ID of the field-level encryption profile request.

", + "UpdateFieldLevelEncryptionProfileRequest$IfMatch": "

The value of the ETag header that you received when retrieving the profile identity to update. For example: E2QWRUHAPOMQZL.

", + "UpdateFieldLevelEncryptionProfileResult$ETag": "

The result of the field-level encryption profile request.

", + "UpdatePublicKeyRequest$Id": "

ID of the public key to be updated.

", + "UpdatePublicKeyRequest$IfMatch": "

The value of the ETag header that you received when retrieving the public key to update. For example: E2QWRUHAPOMQZL.

", + "UpdatePublicKeyResult$ETag": "

The current version of the update public key result. For example: E2QWRUHAPOMQZL.

", "UpdateStreamingDistributionRequest$Id": "

The streaming distribution's id.

", "UpdateStreamingDistributionRequest$IfMatch": "

The value of the ETag header that you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

", "UpdateStreamingDistributionResult$ETag": "

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

", @@ -1452,8 +2029,14 @@ "refs": { "Distribution$LastModifiedTime": "

The date and time the distribution was last modified.

", "DistributionSummary$LastModifiedTime": "

The date and time the distribution was last modified.

", + "FieldLevelEncryption$LastModifiedTime": "

The last time the field-level encryption configuration was changed.

", + "FieldLevelEncryptionProfile$LastModifiedTime": "

The last time the field-level encryption profile was updated.

", + "FieldLevelEncryptionProfileSummary$LastModifiedTime": "

The time when the the field-level encryption profile summary was last updated.

", + "FieldLevelEncryptionSummary$LastModifiedTime": "

The last time that the summary of field-level encryption items was modified.

", "Invalidation$CreateTime": "

The date and time the invalidation request was first made.

", "InvalidationSummary$CreateTime": null, + "PublicKey$CreatedTime": "

A time you added a public key to CloudFront.

", + "PublicKeySummary$CreatedTime": "

Creation time for public key information summary.

", "StreamingDistribution$LastModifiedTime": "

The date and time that the distribution was last modified.

", "StreamingDistributionSummary$LastModifiedTime": "

The date and time the distribution was last modified.

" } diff --git a/models/apis/cloudfront/2016-01-13/examples-1.json b/models/apis/cloudfront/2017-10-30/examples-1.json similarity index 100% rename from models/apis/cloudfront/2016-01-13/examples-1.json rename to models/apis/cloudfront/2017-10-30/examples-1.json diff --git a/models/apis/cloudfront/2017-03-25/paginators-1.json b/models/apis/cloudfront/2017-10-30/paginators-1.json similarity index 100% rename from models/apis/cloudfront/2017-03-25/paginators-1.json rename to models/apis/cloudfront/2017-10-30/paginators-1.json diff --git a/models/apis/cloudfront/2017-10-30/smoke.json b/models/apis/cloudfront/2017-10-30/smoke.json new file mode 100644 index 00000000000..f11e6972b27 --- /dev/null +++ b/models/apis/cloudfront/2017-10-30/smoke.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "defaultRegion": "us-east-1", + "testCases": [ + { + "operationName": "ListCloudFrontOriginAccessIdentities", + "input": { + "MaxItems": "1" + }, + "errorExpectedFromService": false + }, + { + "operationName": "GetDistribution", + "input": { + "Id": "fake-id" + }, + "errorExpectedFromService": true + } + ] +} \ No newline at end of file diff --git a/models/apis/cloudfront/2015-04-17/waiters-2.json b/models/apis/cloudfront/2017-10-30/waiters-2.json similarity index 100% rename from models/apis/cloudfront/2015-04-17/waiters-2.json rename to models/apis/cloudfront/2017-10-30/waiters-2.json diff --git a/models/apis/cloudhsmv2/2017-04-28/api-2.json b/models/apis/cloudhsmv2/2017-04-28/api-2.json index 2ad3d434c4e..c8dbcaae07f 100644 --- a/models/apis/cloudhsmv2/2017-04-28/api-2.json +++ b/models/apis/cloudhsmv2/2017-04-28/api-2.json @@ -7,12 +7,29 @@ "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":{ @@ -181,7 +198,11 @@ "BackupId":{"shape":"BackupId"}, "BackupState":{"shape":"BackupState"}, "ClusterId":{"shape":"ClusterId"}, - "CreateTimestamp":{"shape":"Timestamp"} + "CreateTimestamp":{"shape":"Timestamp"}, + "CopyTimestamp":{"shape":"Timestamp"}, + "SourceRegion":{"shape":"Region"}, + "SourceBackup":{"shape":"BackupId"}, + "SourceCluster":{"shape":"ClusterId"} } }, "BackupId":{ @@ -204,6 +225,7 @@ "type":"list", "member":{"shape":"Backup"} }, + "Boolean":{"type":"boolean"}, "Cert":{ "type":"string", "max":5000, @@ -295,6 +317,23 @@ "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":[ @@ -365,7 +404,8 @@ "members":{ "NextToken":{"shape":"NextToken"}, "MaxResults":{"shape":"MaxSize"}, - "Filters":{"shape":"Filters"} + "Filters":{"shape":"Filters"}, + "SortAscending":{"shape":"Boolean"} } }, "DescribeBackupsResponse":{ @@ -390,13 +430,22 @@ "NextToken":{"shape":"NextToken"} } }, + "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}" + "pattern":"eni-[0-9a-fA-F]{8,17}" }, "ExternalAz":{ "type":"string", - "pattern":"[a-z]{2}(-(gov|isob|iso))?-(east|west|north|south|central){1,2}-\\d[a-z]" + "pattern":"[a-z]{2}(-(gov))?-(east|west|north|south|central){1,2}-\\d[a-z]" }, "ExternalSubnetMapping":{ "type":"map", @@ -504,6 +553,10 @@ "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]" @@ -520,7 +573,7 @@ }, "SubnetId":{ "type":"string", - "pattern":"subnet-[0-9a-fA-F]{8}" + "pattern":"subnet-[0-9a-fA-F]{8,17}" }, "SubnetIds":{ "type":"list", @@ -576,7 +629,8 @@ "TagValue":{ "type":"string", "max":256, - "min":0 + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "Timestamp":{"type":"timestamp"}, "UntagResourceRequest":{ diff --git a/models/apis/cloudhsmv2/2017-04-28/docs-2.json b/models/apis/cloudhsmv2/2017-04-28/docs-2.json index 4eb35830851..1782c577850 100644 --- a/models/apis/cloudhsmv2/2017-04-28/docs-2.json +++ b/models/apis/cloudhsmv2/2017-04-28/docs-2.json @@ -2,6 +2,7 @@ "version": "2.0", "service": "

For more information about AWS CloudHSM, see AWS CloudHSM and the AWS CloudHSM User Guide.

", "operations": { + "CopyBackupToRegion": null, "CreateCluster": "

Creates a new AWS CloudHSM cluster.

", "CreateHsm": "

Creates a new hardware security module (HSM) in the specified AWS CloudHSM cluster.

", "DeleteCluster": "

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.

", @@ -24,8 +25,11 @@ "base": null, "refs": { "Backup$BackupId": "

The identifier (ID) of the backup.

", + "Backup$SourceBackup": null, "Cluster$SourceBackupId": "

The identifier (ID) of the backup used to create the cluster. This value exists only when the cluster was created from a backup.

", - "CreateClusterRequest$SourceBackupId": "

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.

" + "CopyBackupToRegionRequest$BackupId": null, + "CreateClusterRequest$SourceBackupId": "

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.

", + "DestinationBackup$SourceBackup": null } }, "BackupPolicy": { @@ -46,6 +50,12 @@ "DescribeBackupsResponse$Backups": "

A list of backups.

" } }, + "Boolean": { + "base": null, + "refs": { + "DescribeBackupsRequest$SortAscending": null + } + }, "Cert": { "base": null, "refs": { @@ -101,10 +111,12 @@ "base": null, "refs": { "Backup$ClusterId": "

The identifier (ID) of the cluster that was backed up.

", + "Backup$SourceCluster": null, "Cluster$ClusterId": "

The cluster's identifier (ID).

", "CreateHsmRequest$ClusterId": "

The identifier (ID) of the HSM's cluster. To find the cluster ID, use DescribeClusters.

", "DeleteClusterRequest$ClusterId": "

The identifier (ID) of the cluster that you are deleting. To find the cluster ID, use DescribeClusters.

", "DeleteHsmRequest$ClusterId": "

The identifier (ID) of the cluster that contains the HSM that you are deleting.

", + "DestinationBackup$SourceCluster": null, "Hsm$ClusterId": "

The identifier (ID) of the cluster that contains the HSM.

", "InitializeClusterRequest$ClusterId": "

The identifier (ID) of the cluster that you are claiming. To find the cluster ID, use DescribeClusters.

", "ListTagsRequest$ResourceId": "

The cluster identifier (ID) for the cluster whose tags you are getting. To find the cluster ID, use DescribeClusters.

", @@ -125,6 +137,16 @@ "DescribeClustersResponse$Clusters": "

A list of clusters.

" } }, + "CopyBackupToRegionRequest": { + "base": null, + "refs": { + } + }, + "CopyBackupToRegionResponse": { + "base": null, + "refs": { + } + }, "CreateClusterRequest": { "base": null, "refs": { @@ -185,6 +207,12 @@ "refs": { } }, + "DestinationBackup": { + "base": null, + "refs": { + "CopyBackupToRegionResponse$DestinationBackup": null + } + }, "EniId": { "base": null, "refs": { @@ -306,6 +334,14 @@ "Cluster$PreCoPassword": "

The default password for the cluster's Pre-Crypto Officer (PRECO) user.

" } }, + "Region": { + "base": null, + "refs": { + "Backup$SourceRegion": null, + "CopyBackupToRegionRequest$DestinationRegion": null, + "DestinationBackup$SourceRegion": null + } + }, "SecurityGroup": { "base": null, "refs": { @@ -392,7 +428,9 @@ "base": null, "refs": { "Backup$CreateTimestamp": "

The date and time when the backup was created.

", - "Cluster$CreateTimestamp": "

The date and time when the cluster was created.

" + "Backup$CopyTimestamp": null, + "Cluster$CreateTimestamp": "

The date and time when the cluster was created.

", + "DestinationBackup$CreateTimestamp": null } }, "UntagResourceRequest": { diff --git a/models/apis/cloudhsmv2/2017-04-28/smoke.json b/models/apis/cloudhsmv2/2017-04-28/smoke.json new file mode 100644 index 00000000000..9f6241770b8 --- /dev/null +++ b/models/apis/cloudhsmv2/2017-04-28/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeClusters", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "ListTags", + "input": { + "ResourceId": "bogus-arn" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/codebuild/2016-10-06/api-2.json b/models/apis/codebuild/2016-10-06/api-2.json index c13cb71d3ca..98166bfd051 100644 --- a/models/apis/codebuild/2016-10-06/api-2.json +++ b/models/apis/codebuild/2016-10-06/api-2.json @@ -6,6 +6,7 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS CodeBuild", + "serviceId":"CodeBuild", "signatureVersion":"v4", "targetPrefix":"CodeBuild_20161006", "uid":"codebuild-2016-10-06" @@ -200,6 +201,20 @@ {"shape":"InvalidInputException"}, {"shape":"ResourceNotFoundException"} ] + }, + "UpdateWebhook":{ + "name":"UpdateWebhook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateWebhookInput"}, + "output":{"shape":"UpdateWebhookOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"OAuthProviderException"} + ] } }, "shapes":{ @@ -290,12 +305,14 @@ "artifacts":{"shape":"BuildArtifacts"}, "cache":{"shape":"ProjectCache"}, "environment":{"shape":"ProjectEnvironment"}, + "serviceRole":{"shape":"NonEmptyString"}, "logs":{"shape":"LogsLocation"}, "timeoutInMinutes":{"shape":"WrapperInt"}, "buildComplete":{"shape":"Boolean"}, "initiator":{"shape":"String"}, "vpcConfig":{"shape":"VpcConfig"}, - "networkInterface":{"shape":"NetworkInterface"} + "networkInterface":{"shape":"NetworkInterface"}, + "encryptionKey":{"shape":"NonEmptyString"} } }, "BuildArtifacts":{ @@ -303,7 +320,8 @@ "members":{ "location":{"shape":"String"}, "sha256sum":{"shape":"String"}, - "md5sum":{"shape":"String"} + "md5sum":{"shape":"String"}, + "encryptionDisabled":{"shape":"WrapperBoolean"} } }, "BuildIds":{ @@ -378,7 +396,8 @@ "name", "source", "artifacts", - "environment" + "environment", + "serviceRole" ], "members":{ "name":{"shape":"ProjectName"}, @@ -405,7 +424,8 @@ "type":"structure", "required":["projectName"], "members":{ - "projectName":{"shape":"ProjectName"} + "projectName":{"shape":"ProjectName"}, + "branchFilter":{"shape":"String"} } }, "CreateWebhookOutput":{ @@ -442,7 +462,8 @@ "type":"structure", "members":{ "name":{"shape":"String"}, - "description":{"shape":"String"} + "description":{"shape":"String"}, + "versions":{"shape":"ImageVersions"} } }, "EnvironmentImages":{ @@ -473,7 +494,10 @@ }, "EnvironmentType":{ "type":"string", - "enum":["LINUX_CONTAINER"] + "enum":[ + "WINDOWS_CONTAINER", + "LINUX_CONTAINER" + ] }, "EnvironmentVariable":{ "type":"structure", @@ -498,6 +522,14 @@ "type":"list", "member":{"shape":"EnvironmentVariable"} }, + "GitCloneDepth":{ + "type":"integer", + "min":0 + }, + "ImageVersions":{ + "type":"list", + "member":{"shape":"String"} + }, "InvalidInputException":{ "type":"structure", "members":{ @@ -633,7 +665,8 @@ "enum":[ "DEBIAN", "AMAZON_LINUX", - "UBUNTU" + "UBUNTU", + "WINDOWS_SERVER" ] }, "Project":{ @@ -666,7 +699,8 @@ "path":{"shape":"String"}, "namespaceType":{"shape":"ArtifactNamespace"}, "name":{"shape":"String"}, - "packaging":{"shape":"ArtifactPackaging"} + "packaging":{"shape":"ArtifactPackaging"}, + "encryptionDisabled":{"shape":"WrapperBoolean"} } }, "ProjectBadge":{ @@ -701,7 +735,8 @@ "image":{"shape":"NonEmptyString"}, "computeType":{"shape":"ComputeType"}, "environmentVariables":{"shape":"EnvironmentVariables"}, - "privilegedMode":{"shape":"WrapperBoolean"} + "privilegedMode":{"shape":"WrapperBoolean"}, + "certificate":{"shape":"String"} } }, "ProjectName":{ @@ -730,8 +765,11 @@ "members":{ "type":{"shape":"SourceType"}, "location":{"shape":"String"}, + "gitCloneDepth":{"shape":"GitCloneDepth"}, "buildspec":{"shape":"String"}, - "auth":{"shape":"SourceAuth"} + "auth":{"shape":"SourceAuth"}, + "reportBuildStatus":{"shape":"WrapperBoolean"}, + "insecureSsl":{"shape":"WrapperBoolean"} } }, "Projects":{ @@ -781,7 +819,8 @@ "CODEPIPELINE", "GITHUB", "S3", - "BITBUCKET" + "BITBUCKET", + "GITHUB_ENTERPRISE" ] }, "StartBuildInput":{ @@ -792,8 +831,22 @@ "sourceVersion":{"shape":"String"}, "artifactsOverride":{"shape":"ProjectArtifacts"}, "environmentVariablesOverride":{"shape":"EnvironmentVariables"}, + "sourceTypeOverride":{"shape":"SourceType"}, + "sourceLocationOverride":{"shape":"String"}, + "sourceAuthOverride":{"shape":"SourceAuth"}, + "gitCloneDepthOverride":{"shape":"GitCloneDepth"}, "buildspecOverride":{"shape":"String"}, - "timeoutInMinutesOverride":{"shape":"TimeOut"} + "insecureSslOverride":{"shape":"WrapperBoolean"}, + "reportBuildStatusOverride":{"shape":"WrapperBoolean"}, + "environmentTypeOverride":{"shape":"EnvironmentType"}, + "imageOverride":{"shape":"NonEmptyString"}, + "computeTypeOverride":{"shape":"ComputeType"}, + "certificateOverride":{"shape":"String"}, + "cacheOverride":{"shape":"ProjectCache"}, + "serviceRoleOverride":{"shape":"NonEmptyString"}, + "privilegedModeOverride":{"shape":"WrapperBoolean"}, + "timeoutInMinutesOverride":{"shape":"TimeOut"}, + "idempotencyToken":{"shape":"String"} } }, "StartBuildOutput":{ @@ -875,6 +928,21 @@ "project":{"shape":"Project"} } }, + "UpdateWebhookInput":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{"shape":"ProjectName"}, + "branchFilter":{"shape":"String"}, + "rotateSecret":{"shape":"Boolean"} + } + }, + "UpdateWebhookOutput":{ + "type":"structure", + "members":{ + "webhook":{"shape":"Webhook"} + } + }, "ValueInput":{ "type":"string", "max":255, @@ -892,7 +960,11 @@ "Webhook":{ "type":"structure", "members":{ - "url":{"shape":"NonEmptyString"} + "url":{"shape":"NonEmptyString"}, + "payloadUrl":{"shape":"NonEmptyString"}, + "secret":{"shape":"NonEmptyString"}, + "branchFilter":{"shape":"String"}, + "lastModifiedSecret":{"shape":"Timestamp"} } }, "WrapperBoolean":{"type":"boolean"}, diff --git a/models/apis/codebuild/2016-10-06/docs-2.json b/models/apis/codebuild/2016-10-06/docs-2.json index 5b9890105f8..a2ce3792f66 100644 --- a/models/apis/codebuild/2016-10-06/docs-2.json +++ b/models/apis/codebuild/2016-10-06/docs-2.json @@ -1,12 +1,12 @@ { "version": "2.0", - "service": "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:

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

", "operations": { "BatchDeleteBuilds": "

Deletes one or more builds.

", "BatchGetBuilds": "

Gets information about builds.

", "BatchGetProjects": "

Gets information about build projects.

", "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.

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 9 in Change a Build Project’s Settings.

", + "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.

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

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.

", "InvalidateProjectCache": "

Resets the cache for a project.

", @@ -16,7 +16,8 @@ "ListProjects": "

Gets a list of build project names, with each build project name representing a single build project.

", "StartBuild": "

Starts running a build.

", "StopBuild": "

Attempts to stop running a build.

", - "UpdateProject": "

Changes the settings of a build project.

" + "UpdateProject": "

Changes the settings of a build project.

", + "UpdateWebhook": "

Updates the webhook associated with an AWS CodeBuild build project.

" }, "shapes": { "AccountLimitExceededException": { @@ -76,7 +77,8 @@ "base": null, "refs": { "Build$buildComplete": "

Whether the build has finished. True if completed; otherwise, false.

", - "ProjectBadge$badgeEnabled": "

Set this to true to generate a publicly-accessible URL for your project's build badge.

" + "ProjectBadge$badgeEnabled": "

Set this to true to generate a publicly-accessible URL for your project's build badge.

", + "UpdateWebhookInput$rotateSecret": "

A boolean value that specifies whether the associated repository's secret token should be updated.

" } }, "Build": { @@ -149,7 +151,8 @@ "ComputeType": { "base": null, "refs": { - "ProjectEnvironment$computeType": "

Information about the compute resources the build project will use. Available values include:

" + "ProjectEnvironment$computeType": "

Information about the compute resources the build project will use. Available values include:

", + "StartBuildInput$computeTypeOverride": "

The name of a compute type for this build that overrides the one specified in the build project.

" } }, "CreateProjectInput": { @@ -231,7 +234,8 @@ "EnvironmentType": { "base": null, "refs": { - "ProjectEnvironment$type": "

The type of build environment to use for related builds.

" + "ProjectEnvironment$type": "

The type of build environment to use for related builds.

", + "StartBuildInput$environmentTypeOverride": "

A container type for this build that overrides the one specified in the build project.

" } }, "EnvironmentVariable": { @@ -253,6 +257,19 @@ "StartBuildInput$environmentVariablesOverride": "

A set of environment variables that overrides, for this build only, the latest ones already defined in the build project.

" } }, + "GitCloneDepth": { + "base": null, + "refs": { + "ProjectSource$gitCloneDepth": "

Information about the git clone depth for the build project.

", + "StartBuildInput$gitCloneDepthOverride": "

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.

" + } + }, + "ImageVersions": { + "base": null, + "refs": { + "EnvironmentImage$versions": "

A list of environment image versions.

" + } + }, "InvalidInputException": { "base": "

The input value that was provided is not valid.

", "refs": { @@ -338,15 +355,17 @@ "Build$id": "

The unique ID for the build.

", "Build$arn": "

The Amazon Resource Name (ARN) of the build.

", "Build$sourceVersion": "

Any version identifier for the version of the source code to be built.

", - "Build$projectName": "

The name of the build project.

", + "Build$projectName": "

The name of the AWS CodeBuild project.

", + "Build$serviceRole": "

The name of a service role used for this build.

", + "Build$encryptionKey": "

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

", "BuildIds$member": null, "BuildNotDeleted$id": "

The ID of the build that could not be successfully deleted.

", "CreateProjectInput$serviceRole": "

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.

", "CreateProjectInput$encryptionKey": "

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

", "DeleteProjectInput$name": "

The name of the build project.

", "EnvironmentVariable$name": "

The name or key of the environment variable.

", - "InvalidateProjectCacheInput$projectName": "

The name of the build project that the cache will be reset for.

", - "ListBuildsForProjectInput$projectName": "

The name of the build project.

", + "InvalidateProjectCacheInput$projectName": "

The name of the AWS CodeBuild build project that the cache will be reset for.

", + "ListBuildsForProjectInput$projectName": "

The name of the AWS CodeBuild project.

", "ListProjectsInput$nextToken": "

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.

", "NetworkInterface$subnetId": "

The ID of the subnet.

", "NetworkInterface$networkInterfaceId": "

The ID of the network interface.

", @@ -355,14 +374,18 @@ "ProjectEnvironment$image": "

The ID of the Docker image to use for this build project.

", "ProjectNames$member": null, "SecurityGroupIds$member": null, - "StartBuildInput$projectName": "

The name of the build project to start running a build.

", + "StartBuildInput$projectName": "

The name of the AWS CodeBuild build project to start running a build.

", + "StartBuildInput$imageOverride": "

The name of an image for this build that overrides the one specified in the build project.

", + "StartBuildInput$serviceRoleOverride": "

The name of a service role for this build that overrides the one specified in the build project.

", "StopBuildInput$id": "

The ID of the build.

", "Subnets$member": null, "UpdateProjectInput$name": "

The name of the build project.

You cannot change a build project's name.

", "UpdateProjectInput$serviceRole": "

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.

", "UpdateProjectInput$encryptionKey": "

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

", "VpcConfig$vpcId": "

The ID of the Amazon VPC.

", - "Webhook$url": "

The URL to the webhook.

" + "Webhook$url": "

The URL to the webhook.

", + "Webhook$payloadUrl": "

The CodeBuild endpoint where webhook events are sent.

", + "Webhook$secret": "

The secret token of the associated repository.

" } }, "OAuthProviderException": { @@ -417,6 +440,7 @@ "Build$cache": "

Information about the cache for the build.

", "CreateProjectInput$cache": "

Stores recently used information so that it can be quickly accessed at a later time.

", "Project$cache": "

Information about the cache for the build project.

", + "StartBuildInput$cacheOverride": "

A ProjectCache object specified for this build that overrides the one defined in the build project.

", "UpdateProjectInput$cache": "

Stores recently used information so that it can be quickly accessed at a later time.

" } }, @@ -441,9 +465,10 @@ "base": null, "refs": { "CreateProjectInput$name": "

The name of the build project.

", - "CreateWebhookInput$projectName": "

The name of the build project.

", - "DeleteWebhookInput$projectName": "

The name of the build project.

", - "Project$name": "

The name of the build project.

" + "CreateWebhookInput$projectName": "

The name of the AWS CodeBuild project.

", + "DeleteWebhookInput$projectName": "

The name of the AWS CodeBuild project.

", + "Project$name": "

The name of the build project.

", + "UpdateWebhookInput$projectName": "

The name of the AWS CodeBuild project.

" } }, "ProjectNames": { @@ -502,7 +527,8 @@ "SourceAuth": { "base": "

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

", "refs": { - "ProjectSource$auth": "

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

" + "ProjectSource$auth": "

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

", + "StartBuildInput$sourceAuthOverride": "

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.

" } }, "SourceAuthType": { @@ -514,7 +540,8 @@ "SourceType": { "base": null, "refs": { - "ProjectSource$type": "

The type of repository that contains the source code to be built. Valid values include:

" + "ProjectSource$type": "

The type of repository that contains the source code to be built. Valid values include:

", + "StartBuildInput$sourceTypeOverride": "

A source input type for this build that overrides the source input defined in the build project

" } }, "StartBuildInput": { @@ -553,9 +580,11 @@ "BuildArtifacts$sha256sum": "

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.

", "BuildArtifacts$md5sum": "

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.

", "BuildNotDeleted$statusCode": "

Additional information about the build that could not be successfully deleted.

", + "CreateWebhookInput$branchFilter": "

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.

", "EnvironmentImage$name": "

The name of the Docker image.

", "EnvironmentImage$description": "

The description of the Docker image.

", "EnvironmentVariable$value": "

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

", + "ImageVersions$member": null, "ListBuildsForProjectInput$nextToken": "

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$nextToken": "

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$nextToken": "

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.

", @@ -569,14 +598,20 @@ "Project$arn": "

The Amazon Resource Name (ARN) of the build project.

", "ProjectArtifacts$location": "

Information about the build output artifact location, as follows:

", "ProjectArtifacts$path": "

Along with namespaceType and name, the pattern that AWS CodeBuild will use to name and store the output artifact, as follows:

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.

", - "ProjectArtifacts$name": "

Along with path and namespaceType, the pattern that AWS CodeBuild will use to name and store the output artifact, as follows:

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.

", + "ProjectArtifacts$name": "

Along with path and namespaceType, the pattern that AWS CodeBuild will use to name and store the output artifact, as follows:

For example:

", "ProjectBadge$badgeRequestUrl": "

The publicly-accessible URL through which you can access the build badge for your project.

", "ProjectCache$location": "

Information about the cache location, as follows:

", + "ProjectEnvironment$certificate": "

The certificate to use with this build project.

", "ProjectSource$location": "

Information about the location of the source code to be built. Valid values include:

", "ProjectSource$buildspec": "

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.

", "SourceAuth$resource": "

The resource value that applies to the specified authorization type.

", "StartBuildInput$sourceVersion": "

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:

", - "StartBuildInput$buildspecOverride": "

A build spec declaration that overrides, for this build only, the latest one already defined in the build project.

" + "StartBuildInput$sourceLocationOverride": "

A location that overrides for this build the source location for the one defined in the build project.

", + "StartBuildInput$buildspecOverride": "

A build spec declaration that overrides, for this build only, the latest one already defined in the build project.

", + "StartBuildInput$certificateOverride": "

The name of a certificate for this build that overrides the one specified in the build project.

", + "StartBuildInput$idempotencyToken": "

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.

", + "UpdateWebhookInput$branchFilter": "

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.

", + "Webhook$branchFilter": "

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.

" } }, "Subnets": { @@ -616,7 +651,8 @@ "BuildPhase$startTime": "

When the build phase started, expressed in Unix time format.

", "BuildPhase$endTime": "

When the build phase ended, expressed in Unix time format.

", "Project$created": "

When the build project was created, expressed in Unix time format.

", - "Project$lastModified": "

When the build project's settings were last modified, expressed in Unix time format.

" + "Project$lastModified": "

When the build project's settings were last modified, expressed in Unix time format.

", + "Webhook$lastModifiedSecret": "

A timestamp indicating the last time a repository's secret token was modified.

" } }, "UpdateProjectInput": { @@ -629,6 +665,16 @@ "refs": { } }, + "UpdateWebhookInput": { + "base": null, + "refs": { + } + }, + "UpdateWebhookOutput": { + "base": null, + "refs": { + } + }, "ValueInput": { "base": null, "refs": { @@ -636,11 +682,11 @@ } }, "VpcConfig": { - "base": "

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.

", + "base": "

Information about the VPC configuration that AWS CodeBuild will access.

", "refs": { "Build$vpcConfig": "

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.

", "CreateProjectInput$vpcConfig": "

VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

", - "Project$vpcConfig": "

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.

", + "Project$vpcConfig": "

Information about the VPC configuration that AWS CodeBuild will access.

", "UpdateProjectInput$vpcConfig": "

VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

" } }, @@ -648,14 +694,22 @@ "base": "

Information about a webhook in GitHub that connects repository events to a build project in AWS CodeBuild.

", "refs": { "CreateWebhookOutput$webhook": "

Information about a webhook in GitHub that connects repository events to a build project in AWS CodeBuild.

", - "Project$webhook": "

Information about a webhook in GitHub that connects repository events to a build project in AWS CodeBuild.

" + "Project$webhook": "

Information about a webhook in GitHub that connects repository events to a build project in AWS CodeBuild.

", + "UpdateWebhookOutput$webhook": "

Information about a repository's webhook that is associated with a project in AWS CodeBuild.

" } }, "WrapperBoolean": { "base": null, "refs": { + "BuildArtifacts$encryptionDisabled": "

Information that tells you if encryption for build artifacts is disabled.

", "CreateProjectInput$badgeEnabled": "

Set this to true to generate a publicly-accessible URL for your project's build badge.

", - "ProjectEnvironment$privilegedMode": "

If set to true, enables running the Docker daemon inside a Docker container; otherwise, false or not specified (the default). This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Note that you must also start the Docker daemon so that your builds can interact with it as needed. One way to do this is to initialize the Docker daemon in the install phase of your build spec by running the following build commands. (Do not run the following build commands if the specified build environment image is provided by AWS CodeBuild with Docker support.)

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay& - timeout -t 15 sh -c \"until docker info; do echo .; sleep 1; done\"

", + "ProjectArtifacts$encryptionDisabled": "

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.

", + "ProjectEnvironment$privilegedMode": "

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\"

", + "ProjectSource$reportBuildStatus": "

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.

", + "ProjectSource$insecureSsl": "

Enable this flag to ignore SSL warnings while connecting to the project source code.

", + "StartBuildInput$insecureSslOverride": "

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.

", + "StartBuildInput$reportBuildStatusOverride": "

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.

", + "StartBuildInput$privilegedModeOverride": "

Enable this flag to override privileged mode in the build project.

", "UpdateProjectInput$badgeEnabled": "

Set this to true to generate a publicly-accessible URL for your project's build badge.

" } }, diff --git a/models/apis/codebuild/2016-10-06/smoke.json b/models/apis/codebuild/2016-10-06/smoke.json new file mode 100644 index 00000000000..82c1af7a7ed --- /dev/null +++ b/models/apis/codebuild/2016-10-06/smoke.json @@ -0,0 +1,11 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListBuilds", + "input": {}, + "errorExpectedFromService": false + } + ] +} diff --git a/models/apis/codecommit/2015-04-13/api-2.json b/models/apis/codecommit/2015-04-13/api-2.json index 81f8127365a..5b99051319b 100644 --- a/models/apis/codecommit/2015-04-13/api-2.json +++ b/models/apis/codecommit/2015-04-13/api-2.json @@ -7,6 +7,7 @@ "protocol":"json", "serviceAbbreviation":"CodeCommit", "serviceFullName":"AWS CodeCommit", + "serviceId":"CodeCommit", "signatureVersion":"v4", "targetPrefix":"CodeCommit_20150413", "uid":"codecommit-2015-04-13" @@ -616,6 +617,44 @@ ], "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"} + ] + }, "PutRepositoryTriggers":{ "name":"PutRepositoryTriggers", "http":{ @@ -888,6 +927,12 @@ }, "exception":true }, + "BranchNameIsTagNameException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "BranchNameList":{ "type":"list", "member":{"shape":"BranchName"} @@ -1033,6 +1078,12 @@ }, "exception":true }, + "CommitMessageLengthExceededException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "CommitName":{"type":"string"}, "CommitRequiredException":{ "type":"structure", @@ -1177,6 +1228,12 @@ "type":"list", "member":{"shape":"Difference"} }, + "DirectoryNameConflictsWithFileNameException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "Email":{"type":"string"}, "EncryptionIntegrityChecksFailedException":{ "type":"structure", @@ -1210,6 +1267,36 @@ "exception":true }, "EventDate":{"type":"timestamp"}, + "FileContent":{ + "type":"blob", + "max":6291456 + }, + "FileContentRequiredException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "FileContentSizeLimitExceededException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "FileModeTypeEnum":{ + "type":"string", + "enum":[ + "EXECUTABLE", + "NORMAL", + "SYMLINK" + ] + }, + "FileNameConflictsWithDirectoryNameException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "FileTooLargeException":{ "type":"structure", "members":{ @@ -1482,12 +1569,24 @@ }, "exception":true }, + "InvalidEmailException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "InvalidFileLocationException":{ "type":"structure", "members":{ }, "exception":true }, + "InvalidFileModeException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "InvalidFilePositionException":{ "type":"structure", "members":{ @@ -1512,6 +1611,12 @@ }, "exception":true }, + "InvalidParentCommitIdException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "InvalidPathException":{ "type":"structure", "members":{ @@ -1772,6 +1877,12 @@ "exception":true }, "Name":{"type":"string"}, + "NameLengthExceededException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "NextToken":{"type":"string"}, "ObjectId":{"type":"string"}, "OrderEnum":{ @@ -1781,6 +1892,24 @@ "descending" ] }, + "ParentCommitDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "ParentCommitIdOutdatedException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "ParentCommitIdRequiredException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "ParentList":{ "type":"list", "member":{"shape":"ObjectId"} @@ -1998,6 +2127,39 @@ "type":"list", "member":{"shape":"PullRequestTarget"} }, + "PutFileInput":{ + "type":"structure", + "required":[ + "repositoryName", + "branchName", + "fileContent", + "filePath" + ], + "members":{ + "repositoryName":{"shape":"RepositoryName"}, + "branchName":{"shape":"BranchName"}, + "fileContent":{"shape":"FileContent"}, + "filePath":{"shape":"Path"}, + "fileMode":{"shape":"FileModeTypeEnum"}, + "parentCommitId":{"shape":"CommitId"}, + "commitMessage":{"shape":"Message"}, + "name":{"shape":"Name"}, + "email":{"shape":"Email"} + } + }, + "PutFileOutput":{ + "type":"structure", + "required":[ + "commitId", + "blobId", + "treeId" + ], + "members":{ + "commitId":{"shape":"ObjectId"}, + "blobId":{"shape":"ObjectId"}, + "treeId":{"shape":"ObjectId"} + } + }, "PutRepositoryTriggersInput":{ "type":"structure", "required":[ @@ -2207,6 +2369,12 @@ }, "exception":true }, + "SameFileContentException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "SortByEnum":{ "type":"string", "enum":[ diff --git a/models/apis/codecommit/2015-04-13/docs-2.json b/models/apis/codecommit/2015-04-13/docs-2.json index 9fd962b0c7b..2a0a17f69d5 100644 --- a/models/apis/codecommit/2015-04-13/docs-2.json +++ b/models/apis/codecommit/2015-04-13/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "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:

Branches, by calling the following:

Information about committed code in a repository, by calling the following:

Pull requests, by calling the following:

Information about comments in a repository, by calling the following:

Triggers, by calling the following:

For information about how to use AWS CodeCommit, see the AWS CodeCommit User Guide.

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

Branches, by calling the following:

Files, by calling the following:

Information about committed code in a repository, by calling the following:

Pull requests, by calling the following:

Information about comments in a repository, by calling the following:

Triggers, by calling the following:

For information about how to use AWS CodeCommit, see the AWS CodeCommit User Guide.

", "operations": { "BatchGetRepositories": "

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

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.

", @@ -28,6 +28,7 @@ "PostCommentForComparedCommit": "

Posts a comment on the comparison between two commits.

", "PostCommentForPullRequest": "

Posts a comment on a pull request.

", "PostCommentReply": "

Posts a comment in reply to an existing comment on a comparison between commits or a pull request.

", + "PutFile": "

Adds or updates a file in an AWS CodeCommit repository.

", "PutRepositoryTriggers": "

Replaces all triggers for a repository. This can be used to create or delete triggers.

", "TestRepositoryTriggers": "

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

Replaces the contents of a comment.

", @@ -126,6 +127,7 @@ "CreateBranchInput$branchName": "

The name of the new branch to create.

", "DeleteBranchInput$branchName": "

The name of the branch to delete.

", "GetBranchInput$branchName": "

The name of the branch for which you want to retrieve information.

", + "PutFileInput$branchName": "

The name of the branch where you want to add or update the file.

", "RepositoryMetadata$defaultBranch": "

The repository's default branch name.

", "UpdateDefaultBranchInput$defaultBranchName": "

The name of the branch to set as the default.

" } @@ -135,6 +137,11 @@ "refs": { } }, + "BranchNameIsTagNameException": { + "base": "

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.

", + "refs": { + } + }, "BranchNameList": { "base": null, "refs": { @@ -303,7 +310,8 @@ "PullRequestSourceReferenceUpdatedEventMetadata$beforeCommitId": "

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.

", "PullRequestSourceReferenceUpdatedEventMetadata$afterCommitId": "

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.

", "PullRequestTarget$destinationCommit": "

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.

", - "PullRequestTarget$sourceCommit": "

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.

" + "PullRequestTarget$sourceCommit": "

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.

", + "PutFileInput$parentCommitId": "

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.

" } }, "CommitIdDoesNotExistException": { @@ -316,6 +324,11 @@ "refs": { } }, + "CommitMessageLengthExceededException": { + "base": "

The commit message is too long. Provide a shorter string.

", + "refs": { + } + }, "CommitName": { "base": null, "refs": { @@ -376,7 +389,7 @@ "Date": { "base": null, "refs": { - "UserInfo$date": "

The date when the specified commit was pushed to the repository.

" + "UserInfo$date": "

The date when the specified commit was commited, in timestamp format with GMT offset.

" } }, "DefaultBranchCannotBeDeletedException": { @@ -444,9 +457,15 @@ "GetDifferencesOutput$differences": "

A differences data type object that contains information about the differences, including whether the difference is added, modified, or deleted (A, D, M).

" } }, + "DirectoryNameConflictsWithFileNameException": { + "base": "

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.

", + "refs": { + } + }, "Email": { "base": null, "refs": { + "PutFileInput$email": "

An email address for the person adding or updating the file.

", "UserInfo$email": "

The email address associated with the user who made the commit, if any.

" } }, @@ -481,6 +500,33 @@ "PullRequestEvent$eventDate": "

The day and time of the pull request event, in timestamp format.

" } }, + "FileContent": { + "base": null, + "refs": { + "PutFileInput$fileContent": "

The content of the file, in binary object format.

" + } + }, + "FileContentRequiredException": { + "base": "

The file cannot be added because it is empty. Empty files cannot be added to the repository with this API.

", + "refs": { + } + }, + "FileContentSizeLimitExceededException": { + "base": "

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.

", + "refs": { + } + }, + "FileModeTypeEnum": { + "base": null, + "refs": { + "PutFileInput$fileMode": "

The file mode permissions of the blob. Valid file mode permissions are listed below.

" + } + }, + "FileNameConflictsWithDirectoryNameException": { + "base": "

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.

", + "refs": { + } + }, "FileTooLargeException": { "base": "

The specified file exceeds the file size limit for AWS CodeCommit. For more information about limits in AWS CodeCommit, see AWS CodeCommit User Guide.

", "refs": { @@ -656,11 +702,21 @@ "refs": { } }, + "InvalidEmailException": { + "base": "

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.

", + "refs": { + } + }, "InvalidFileLocationException": { "base": "

The location of the file is not valid. Make sure that you include the extension of the file as well as the file name.

", "refs": { } }, + "InvalidFileModeException": { + "base": "

The specified file mode permission is not valid. For a list of valid file mode permissions, see PutFile.

", + "refs": { + } + }, "InvalidFilePositionException": { "base": "

The position is not valid. Make sure that the line number exists in the version of the file you want to comment on.

", "refs": { @@ -681,6 +737,11 @@ "refs": { } }, + "InvalidParentCommitIdException": { + "base": "

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.

", + "refs": { + } + }, "InvalidPathException": { "base": "

The specified path is not valid.

", "refs": { @@ -919,7 +980,8 @@ "Message": { "base": null, "refs": { - "Commit$message": "

The commit message associated with the specified commit.

" + "Commit$message": "

The commit message associated with the specified commit.

", + "PutFileInput$commitMessage": "

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.

" } }, "Mode": { @@ -936,9 +998,15 @@ "Name": { "base": null, "refs": { + "PutFileInput$name": "

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.

", "UserInfo$name": "

The name of the user who made the specified commit.

" } }, + "NameLengthExceededException": { + "base": "

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.

", + "refs": { + } + }, "NextToken": { "base": null, "refs": { @@ -974,7 +1042,10 @@ "PostCommentForComparedCommitOutput$beforeBlobId": "

In the directionality you established, the blob ID of the 'before' blob.

", "PostCommentForComparedCommitOutput$afterBlobId": "

In the directionality you established, the blob ID of the 'after' blob.

", "PostCommentForPullRequestOutput$beforeBlobId": "

In the directionality of the pull request, the blob ID of the 'before' blob.

", - "PostCommentForPullRequestOutput$afterBlobId": "

In the directionality of the pull request, the blob ID of the 'after' blob.

" + "PostCommentForPullRequestOutput$afterBlobId": "

In the directionality of the pull request, the blob ID of the 'after' blob.

", + "PutFileOutput$commitId": "

The full SHA of the commit that contains this file change.

", + "PutFileOutput$blobId": "

The ID of the blob, which is its SHA-1 pointer.

", + "PutFileOutput$treeId": "

Tree information for the commit that contains this file change.

" } }, "OrderEnum": { @@ -983,10 +1054,25 @@ "ListRepositoriesInput$order": "

The order in which to sort the results of a list repositories operation.

" } }, + "ParentCommitDoesNotExistException": { + "base": "

The parent commit ID is not valid. The specified parent commit ID does not exist in the specified branch of the repository.

", + "refs": { + } + }, + "ParentCommitIdOutdatedException": { + "base": "

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.

", + "refs": { + } + }, + "ParentCommitIdRequiredException": { + "base": "

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

", + "refs": { + } + }, "ParentList": { "base": null, "refs": { - "Commit$parents": "

The parent list for the specified commit.

" + "Commit$parents": "

A list of parent commits for the specified commit. Each parent commit ID is the full commit ID.

" } }, "Path": { @@ -995,7 +1081,8 @@ "BlobMetadata$path": "

The path to the blob and any associated file name, if any.

", "GetDifferencesInput$beforePath": "

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.

", "GetDifferencesInput$afterPath": "

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.

", - "Location$filePath": "

The name of the file being compared, including its extension and subdirectory, if any.

" + "Location$filePath": "

The name of the file being compared, including its extension and subdirectory, if any.

", + "PutFileInput$filePath": "

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.

" } }, "PathDoesNotExistException": { @@ -1157,6 +1244,16 @@ "PullRequest$pullRequestTargets": "

The targets of the pull request, including the source branch and destination branch for the pull request.

" } }, + "PutFileInput": { + "base": null, + "refs": { + } + }, + "PutFileOutput": { + "base": null, + "refs": { + } + }, "PutRepositoryTriggersInput": { "base": "

Represents the input ofa put repository triggers operation.

", "refs": { @@ -1266,6 +1363,7 @@ "PullRequestMergedStateChangedEventMetadata$repositoryName": "

The name of the repository where the pull request was created.

", "PullRequestSourceReferenceUpdatedEventMetadata$repositoryName": "

The name of the repository where the pull request was updated.

", "PullRequestTarget$repositoryName": "

The name of the repository that contains the pull request source and destination branches.

", + "PutFileInput$repositoryName": "

The name of the repository where you want to add or update the file.

", "PutRepositoryTriggersInput$repositoryName": "

The name of the repository where you want to create or update the trigger.

", "RepositoryMetadata$repositoryName": "

The repository's name.

", "RepositoryNameIdPair$repositoryName": "

The name associated with the repository.

", @@ -1419,6 +1517,11 @@ "refs": { } }, + "SameFileContentException": { + "base": "

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.

", + "refs": { + } + }, "SortByEnum": { "base": null, "refs": { diff --git a/models/apis/codecommit/2015-04-13/smoke.json b/models/apis/codecommit/2015-04-13/smoke.json new file mode 100644 index 00000000000..479bdf8408b --- /dev/null +++ b/models/apis/codecommit/2015-04-13/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListRepositories", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "ListBranches", + "input": { + "repositoryName": "fake-repo" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/codedeploy/2014-10-06/api-2.json b/models/apis/codedeploy/2014-10-06/api-2.json index 35b14d6b959..81c020f927d 100644 --- a/models/apis/codedeploy/2014-10-06/api-2.json +++ b/models/apis/codedeploy/2014-10-06/api-2.json @@ -7,6 +7,7 @@ "protocol":"json", "serviceAbbreviation":"CodeDeploy", "serviceFullName":"AWS CodeDeploy", + "serviceId":"CodeDeploy", "signatureVersion":"v4", "targetPrefix":"CodeDeploy_20141006", "timestampFormat":"unixTimestamp", @@ -22,6 +23,7 @@ "input":{"shape":"AddTagsToOnPremisesInstancesInput"}, "errors":[ {"shape":"InstanceNameRequiredException"}, + {"shape":"InvalidInstanceNameException"}, {"shape":"TagRequiredException"}, {"shape":"InvalidTagException"}, {"shape":"TagLimitExceededException"}, @@ -151,7 +153,8 @@ {"shape":"ApplicationNameRequiredException"}, {"shape":"InvalidApplicationNameException"}, {"shape":"ApplicationAlreadyExistsException"}, - {"shape":"ApplicationLimitExceededException"} + {"shape":"ApplicationLimitExceededException"}, + {"shape":"InvalidComputePlatformException"} ] }, "CreateDeployment":{ @@ -179,7 +182,13 @@ {"shape":"InvalidTargetInstancesException"}, {"shape":"InvalidAutoRollbackConfigException"}, {"shape":"InvalidLoadBalancerInfoException"}, - {"shape":"InvalidFileExistsBehaviorException"} + {"shape":"InvalidFileExistsBehaviorException"}, + {"shape":"InvalidRoleException"}, + {"shape":"InvalidAutoScalingGroupException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidUpdateOutdatedInstancesOnlyValueException"}, + {"shape":"InvalidIgnoreApplicationStopFailuresValueException"}, + {"shape":"InvalidGitHubAccountTokenException"} ] }, "CreateDeploymentConfig":{ @@ -195,7 +204,9 @@ {"shape":"DeploymentConfigNameRequiredException"}, {"shape":"DeploymentConfigAlreadyExistsException"}, {"shape":"InvalidMinimumHealthyHostValueException"}, - {"shape":"DeploymentConfigLimitExceededException"} + {"shape":"DeploymentConfigLimitExceededException"}, + {"shape":"InvalidComputePlatformException"}, + {"shape":"InvalidTrafficRoutingConfigurationException"} ] }, "CreateDeploymentGroup":{ @@ -232,7 +243,8 @@ {"shape":"InvalidBlueGreenDeploymentConfigurationException"}, {"shape":"InvalidEC2TagCombinationException"}, {"shape":"InvalidOnPremisesTagCombinationException"}, - {"shape":"TagSetListLimitExceededException"} + {"shape":"TagSetListLimitExceededException"}, + {"shape":"InvalidInputException"} ] }, "DeleteApplication":{ @@ -277,6 +289,22 @@ {"shape":"InvalidRoleException"} ] }, + "DeleteGitHubAccountToken":{ + "name":"DeleteGitHubAccountToken", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGitHubAccountTokenInput"}, + "output":{"shape":"DeleteGitHubAccountTokenOutput"}, + "errors":[ + {"shape":"GitHubAccountTokenNameRequiredException"}, + {"shape":"GitHubAccountTokenDoesNotExistException"}, + {"shape":"InvalidGitHubAccountTokenNameException"}, + {"shape":"ResourceValidationException"}, + {"shape":"OperationNotSupportedException"} + ] + }, "DeregisterOnPremisesInstance":{ "name":"DeregisterOnPremisesInstance", "http":{ @@ -505,7 +533,8 @@ "output":{"shape":"ListGitHubAccountTokenNamesOutput"}, "errors":[ {"shape":"InvalidNextTokenException"}, - {"shape":"ResourceValidationException"} + {"shape":"ResourceValidationException"}, + {"shape":"OperationNotSupportedException"} ] }, "ListOnPremisesInstances":{ @@ -522,6 +551,24 @@ {"shape":"InvalidNextTokenException"} ] }, + "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"} + ] + }, "RegisterApplicationRevision":{ "name":"RegisterApplicationRevision", "http":{ @@ -567,6 +614,7 @@ "input":{"shape":"RemoveTagsFromOnPremisesInstancesInput"}, "errors":[ {"shape":"InstanceNameRequiredException"}, + {"shape":"InvalidInstanceNameException"}, {"shape":"TagRequiredException"}, {"shape":"InvalidTagException"}, {"shape":"TagLimitExceededException"}, @@ -652,7 +700,8 @@ {"shape":"InvalidBlueGreenDeploymentConfigurationException"}, {"shape":"InvalidEC2TagCombinationException"}, {"shape":"InvalidOnPremisesTagCombinationException"}, - {"shape":"TagSetListLimitExceededException"} + {"shape":"TagSetListLimitExceededException"}, + {"shape":"InvalidInputException"} ] } }, @@ -668,7 +717,10 @@ "instanceNames":{"shape":"InstanceNameList"} } }, - "AdditionalDeploymentStatusInfo":{"type":"string"}, + "AdditionalDeploymentStatusInfo":{ + "type":"string", + "deprecated":true + }, "Alarm":{ "type":"structure", "members":{ @@ -714,7 +766,8 @@ "applicationName":{"shape":"ApplicationName"}, "createTime":{"shape":"Timestamp"}, "linkedToGitHub":{"shape":"Boolean"}, - "gitHubAccountName":{"shape":"GitHubAccountTokenName"} + "gitHubAccountName":{"shape":"GitHubAccountTokenName"}, + "computePlatform":{"shape":"ComputePlatform"} } }, "ApplicationLimitExceededException":{ @@ -807,6 +860,7 @@ }, "BatchGetApplicationsInput":{ "type":"structure", + "required":["applicationNames"], "members":{ "applicationNames":{"shape":"ApplicationsList"} } @@ -855,6 +909,7 @@ }, "BatchGetDeploymentsInput":{ "type":"structure", + "required":["deploymentIds"], "members":{ "deploymentIds":{"shape":"DeploymentsList"} } @@ -867,6 +922,7 @@ }, "BatchGetOnPremisesInstancesInput":{ "type":"structure", + "required":["instanceNames"], "members":{ "instanceNames":{"shape":"InstanceNameList"} } @@ -910,10 +966,19 @@ "enum":[ "tar", "tgz", - "zip" + "zip", + "YAML", + "JSON" ] }, "CommitId":{"type":"string"}, + "ComputePlatform":{ + "type":"string", + "enum":[ + "Server", + "Lambda" + ] + }, "ContinueDeploymentInput":{ "type":"structure", "members":{ @@ -924,7 +989,8 @@ "type":"structure", "required":["applicationName"], "members":{ - "applicationName":{"shape":"ApplicationName"} + "applicationName":{"shape":"ApplicationName"}, + "computePlatform":{"shape":"ComputePlatform"} } }, "CreateApplicationOutput":{ @@ -935,13 +1001,12 @@ }, "CreateDeploymentConfigInput":{ "type":"structure", - "required":[ - "deploymentConfigName", - "minimumHealthyHosts" - ], + "required":["deploymentConfigName"], "members":{ "deploymentConfigName":{"shape":"DeploymentConfigName"}, - "minimumHealthyHosts":{"shape":"MinimumHealthyHosts"} + "minimumHealthyHosts":{"shape":"MinimumHealthyHosts"}, + "trafficRoutingConfig":{"shape":"TrafficRoutingConfig"}, + "computePlatform":{"shape":"ComputePlatform"} } }, "CreateDeploymentConfigOutput":{ @@ -1034,6 +1099,18 @@ "hooksNotCleanedUp":{"shape":"AutoScalingGroupList"} } }, + "DeleteGitHubAccountTokenInput":{ + "type":"structure", + "members":{ + "tokenName":{"shape":"GitHubAccountTokenName"} + } + }, + "DeleteGitHubAccountTokenOutput":{ + "type":"structure", + "members":{ + "tokenName":{"shape":"GitHubAccountTokenName"} + } + }, "DeploymentAlreadyCompletedException":{ "type":"structure", "members":{ @@ -1065,7 +1142,9 @@ "deploymentConfigId":{"shape":"DeploymentConfigId"}, "deploymentConfigName":{"shape":"DeploymentConfigName"}, "minimumHealthyHosts":{"shape":"MinimumHealthyHosts"}, - "createTime":{"shape":"Timestamp"} + "createTime":{"shape":"Timestamp"}, + "computePlatform":{"shape":"ComputePlatform"}, + "trafficRoutingConfig":{"shape":"TrafficRoutingConfig"} } }, "DeploymentConfigLimitExceededException":{ @@ -1137,7 +1216,8 @@ "lastSuccessfulDeployment":{"shape":"LastDeploymentInfo"}, "lastAttemptedDeployment":{"shape":"LastDeploymentInfo"}, "ec2TagSet":{"shape":"EC2TagSet"}, - "onPremisesTagSet":{"shape":"OnPremisesTagSet"} + "onPremisesTagSet":{"shape":"OnPremisesTagSet"}, + "computePlatform":{"shape":"ComputePlatform"} } }, "DeploymentGroupInfoList":{ @@ -1199,7 +1279,9 @@ "blueGreenDeploymentConfiguration":{"shape":"BlueGreenDeploymentConfiguration"}, "loadBalancerInfo":{"shape":"LoadBalancerInfo"}, "additionalDeploymentStatusInfo":{"shape":"AdditionalDeploymentStatusInfo"}, - "fileExistsBehavior":{"shape":"FileExistsBehavior"} + "fileExistsBehavior":{"shape":"FileExistsBehavior"}, + "deploymentStatusMessages":{"shape":"DeploymentStatusMessageList"}, + "computePlatform":{"shape":"ComputePlatform"} } }, "DeploymentIsNotInReadyStateException":{ @@ -1268,6 +1350,10 @@ "type":"list", "member":{"shape":"DeploymentStatus"} }, + "DeploymentStatusMessageList":{ + "type":"list", + "member":{"shape":"ErrorMessage"} + }, "DeploymentStyle":{ "type":"structure", "members":{ @@ -1376,7 +1462,15 @@ "AGENT_ISSUE", "AUTO_SCALING_IAM_ROLE_PERMISSIONS", "AUTO_SCALING_CONFIGURATION", - "MANUAL_STOP" + "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":{ @@ -1521,6 +1615,12 @@ "type":"list", "member":{"shape":"GitHubAccountTokenName"} }, + "GitHubAccountTokenNameRequiredException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "GitHubLocation":{ "type":"structure", "members":{ @@ -1716,6 +1816,12 @@ }, "exception":true }, + "InvalidComputePlatformException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "InvalidDeployedStateFilterException":{ "type":"structure", "members":{ @@ -1776,6 +1882,18 @@ }, "exception":true }, + "InvalidGitHubAccountTokenException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidGitHubAccountTokenNameException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "InvalidIamSessionArnException":{ "type":"structure", "members":{ @@ -1788,6 +1906,24 @@ }, "exception":true }, + "InvalidIgnoreApplicationStopFailuresValueException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidInstanceIdException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "InvalidInstanceNameException":{ "type":"structure", "members":{ @@ -1812,6 +1948,18 @@ }, "exception":true }, + "InvalidLifecycleEventHookExecutionIdException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidLifecycleEventHookExecutionStatusException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "InvalidLoadBalancerInfoException":{ "type":"structure", "members":{ @@ -1896,12 +2044,24 @@ }, "exception":true }, + "InvalidTrafficRoutingConfigurationException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "InvalidTriggerConfigException":{ "type":"structure", "members":{ }, "exception":true }, + "InvalidUpdateOutdatedInstancesOnlyValueException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "Key":{"type":"string"}, "LastDeploymentInfo":{ "type":"structure", @@ -1933,6 +2093,13 @@ "status":{"shape":"LifecycleEventStatus"} } }, + "LifecycleEventAlreadyCompletedException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "LifecycleEventHookExecutionId":{"type":"string"}, "LifecycleEventList":{ "type":"list", "member":{"shape":"LifecycleEvent"} @@ -2130,6 +2297,36 @@ "type":"list", "member":{"shape":"TagFilterList"} }, + "OperationNotSupportedException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "Percentage":{"type":"integer"}, + "PutLifecycleEventHookExecutionStatusInput":{ + "type":"structure", + "members":{ + "deploymentId":{"shape":"DeploymentId"}, + "lifecycleEventHookExecutionId":{"shape":"LifecycleEventHookExecutionId"}, + "status":{"shape":"LifecycleEventStatus"} + } + }, + "PutLifecycleEventHookExecutionStatusOutput":{ + "type":"structure", + "members":{ + "lifecycleEventHookExecutionId":{"shape":"LifecycleEventHookExecutionId"} + } + }, + "RawString":{ + "type":"structure", + "members":{ + "content":{"shape":"RawStringContent"}, + "sha256":{"shape":"RawStringSha256"} + } + }, + "RawStringContent":{"type":"string"}, + "RawStringSha256":{"type":"string"}, "RegisterApplicationRevisionInput":{ "type":"structure", "required":[ @@ -2198,7 +2395,8 @@ "members":{ "revisionType":{"shape":"RevisionLocationType"}, "s3Location":{"shape":"S3Location"}, - "gitHubLocation":{"shape":"GitHubLocation"} + "gitHubLocation":{"shape":"GitHubLocation"}, + "string":{"shape":"RawString"} } }, "RevisionLocationList":{ @@ -2209,7 +2407,8 @@ "type":"string", "enum":[ "S3", - "GitHub" + "GitHub", + "String" ] }, "RevisionRequiredException":{ @@ -2349,6 +2548,26 @@ "ec2TagSet":{"shape":"EC2TagSet"} } }, + "ThrottlingException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "TimeBasedCanary":{ + "type":"structure", + "members":{ + "canaryPercentage":{"shape":"Percentage"}, + "canaryInterval":{"shape":"WaitTimeInMins"} + } + }, + "TimeBasedLinear":{ + "type":"structure", + "members":{ + "linearPercentage":{"shape":"Percentage"}, + "linearInterval":{"shape":"WaitTimeInMins"} + } + }, "TimeRange":{ "type":"structure", "members":{ @@ -2357,6 +2576,22 @@ } }, "Timestamp":{"type":"timestamp"}, + "TrafficRoutingConfig":{ + "type":"structure", + "members":{ + "type":{"shape":"TrafficRoutingType"}, + "timeBasedCanary":{"shape":"TimeBasedCanary"}, + "timeBasedLinear":{"shape":"TimeBasedLinear"} + } + }, + "TrafficRoutingType":{ + "type":"string", + "enum":[ + "TimeBasedCanary", + "TimeBasedLinear", + "AllAtOnce" + ] + }, "TriggerConfig":{ "type":"structure", "members":{ @@ -2441,6 +2676,7 @@ } }, "Value":{"type":"string"}, - "VersionId":{"type":"string"} + "VersionId":{"type":"string"}, + "WaitTimeInMins":{"type":"integer"} } } diff --git a/models/apis/codedeploy/2014-10-06/docs-2.json b/models/apis/codedeploy/2014-10-06/docs-2.json index 21caee74721..66de1a2746d 100644 --- a/models/apis/codedeploy/2014-10-06/docs-2.json +++ b/models/apis/codedeploy/2014-10-06/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "AWS CodeDeploy

AWS CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances or on-premises instances running in your own facility.

You can deploy a nearly unlimited variety of application content, such as code, web and configuration files, executables, packages, scripts, multimedia files, and so on. AWS CodeDeploy can deploy application content stored in Amazon S3 buckets, GitHub repositories, or Bitbucket repositories. You do not need to make changes to your existing code before you can use AWS CodeDeploy.

AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications, without many of the risks associated with error-prone manual deployments.

AWS CodeDeploy Components

Use the information in this guide to help you work with the following AWS CodeDeploy components:

This guide also contains information to help you get details about the instances in your deployments and to make on-premises instances available for AWS CodeDeploy deployments.

AWS CodeDeploy Information Resources

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

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

", "operations": { "AddTagsToOnPremisesInstances": "

Adds tags to on-premises instances.

", "BatchGetApplicationRevisions": "

Gets information about one or more application revisions.

", @@ -17,6 +17,7 @@ "DeleteApplication": "

Deletes an application.

", "DeleteDeploymentConfig": "

Deletes a deployment configuration.

A deployment configuration cannot be deleted if it is currently in use. Predefined configurations cannot be deleted.

", "DeleteDeploymentGroup": "

Deletes a deployment group.

", + "DeleteGitHubAccountToken": "

Deletes a GitHub account connection.

", "DeregisterOnPremisesInstance": "

Deregisters an on-premises instance.

", "GetApplication": "

Gets information about an application.

", "GetApplicationRevision": "

Gets information about an application revision.

", @@ -33,6 +34,7 @@ "ListDeployments": "

Lists the deployments in a deployment group for an application registered with the applicable IAM user or AWS account.

", "ListGitHubAccountTokenNames": "

Lists the names of stored connections to GitHub accounts.

", "ListOnPremisesInstances": "

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

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

Registers with AWS CodeDeploy a revision for the specified application.

", "RegisterOnPremisesInstance": "

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

Removes one or more tags from one or more on-premises instances.

", @@ -334,6 +336,17 @@ "GitHubLocation$commitId": "

The SHA1 commit ID of the GitHub commit that represents the bundled artifacts for the application revision.

" } }, + "ComputePlatform": { + "base": null, + "refs": { + "ApplicationInfo$computePlatform": "

The destination platform type for deployment of the application (Lambda or Server).

", + "CreateApplicationInput$computePlatform": "

The destination platform type for the deployment (Lambda or Server).

", + "CreateDeploymentConfigInput$computePlatform": "

The destination platform type for the deployment (Lambda or Server>).

", + "DeploymentConfigInfo$computePlatform": "

The destination platform type for the deployment (Lambda or Server).

", + "DeploymentGroupInfo$computePlatform": "

The destination platform type for the deployment group (Lambda or Server).

", + "DeploymentInfo$computePlatform": "

The destination platform type for the deployment (Lambda or Server).

" + } + }, "ContinueDeploymentInput": { "base": null, "refs": { @@ -399,6 +412,16 @@ "refs": { } }, + "DeleteGitHubAccountTokenInput": { + "base": "

Represents the input of a DeleteGitHubAccount operation.

", + "refs": { + } + }, + "DeleteGitHubAccountTokenOutput": { + "base": "

Represents the output of a DeleteGitHubAccountToken operation.

", + "refs": { + } + }, "DeploymentAlreadyCompletedException": { "base": "

The deployment is already complete.

", "refs": { @@ -550,6 +573,7 @@ "InstanceSummary$deploymentId": "

The deployment ID.

", "LastDeploymentInfo$deploymentId": "

The deployment ID.

", "ListDeploymentInstancesInput$deploymentId": "

The unique ID of a deployment.

", + "PutLifecycleEventHookExecutionStatusInput$deploymentId": "

The ID of the deployment. Pass this ID to a Lambda function that validates a deployment lifecycle event.

", "RollbackInfo$rollbackDeploymentId": "

The ID of the deployment rollback.

", "RollbackInfo$rollbackTriggeringDeploymentId": "

The deployment ID of the deployment that was underway and triggered a rollback deployment because it failed or was stopped.

", "SkipWaitTimeForInstanceTerminationInput$deploymentId": "

The ID of the blue/green deployment for which you want to skip the instance termination wait time.

", @@ -598,7 +622,7 @@ "DeploymentReadyAction": { "base": null, "refs": { - "DeploymentReadyOption$actionOnTimeout": "

Information about when to reroute traffic from an original environment to a replacement environment in a blue/green deployment.

" + "DeploymentReadyOption$actionOnTimeout": "

Information about when to reroute traffic from an original environment to a replacement environment in a blue/green deployment.

" } }, "DeploymentReadyOption": { @@ -621,6 +645,12 @@ "ListDeploymentsInput$includeOnlyStatuses": "

A subset of deployments to list by status:

" } }, + "DeploymentStatusMessageList": { + "base": null, + "refs": { + "DeploymentInfo$deploymentStatusMessages": "

Messages that contain information about the status of a deployment.

" + } + }, "DeploymentStyle": { "base": "

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.

", "refs": { @@ -678,7 +708,7 @@ "Duration": { "base": null, "refs": { - "BlueInstanceTerminationOption$terminationWaitTimeInMinutes": "

The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.

", + "BlueInstanceTerminationOption$terminationWaitTimeInMinutes": "

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

", "DeploymentReadyOption$waitTimeInMinutes": "

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

" } }, @@ -728,13 +758,13 @@ "ELBInfoList": { "base": null, "refs": { - "LoadBalancerInfo$elbInfoList": "

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.

" + "LoadBalancerInfo$elbInfoList": "

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.

" } }, "ELBName": { "base": null, "refs": { - "ELBInfo$name": "

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.

" + "ELBInfo$name": "

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.

" } }, "ETag": { @@ -761,6 +791,7 @@ "BatchGetApplicationRevisionsOutput$errorMessage": "

Information about errors that may have occurred during the API call.

", "BatchGetDeploymentGroupsOutput$errorMessage": "

Information about errors that may have occurred during the API call.

", "BatchGetDeploymentInstancesOutput$errorMessage": "

Information about errors that may have occurred during the API call.

", + "DeploymentStatusMessageList$member": null, "ErrorInformation$message": "

An accompanying error message.

" } }, @@ -857,6 +888,8 @@ "base": null, "refs": { "ApplicationInfo$gitHubAccountName": "

The name for a connection to a GitHub account.

", + "DeleteGitHubAccountTokenInput$tokenName": "

The name of the GitHub account connection to delete.

", + "DeleteGitHubAccountTokenOutput$tokenName": "

The name of the GitHub account connection that was deleted.

", "GitHubAccountTokenNameList$member": null } }, @@ -866,6 +899,11 @@ "ListGitHubAccountTokenNamesOutput$tokenNameList": "

A list of names of connections to GitHub accounts.

" } }, + "GitHubAccountTokenNameRequiredException": { + "base": "

The call is missing a required GitHub account connection name.

", + "refs": { + } + }, "GitHubLocation": { "base": "

Information about the location of application artifacts stored in GitHub.

", "refs": { @@ -1087,6 +1125,11 @@ "refs": { } }, + "InvalidComputePlatformException": { + "base": "

The computePlatform is invalid. The computePlatform should be Lambda or Server.

", + "refs": { + } + }, "InvalidDeployedStateFilterException": { "base": "

The deployed state filter was specified in an invalid format.

", "refs": { @@ -1137,6 +1180,16 @@ "refs": { } }, + "InvalidGitHubAccountTokenException": { + "base": "

The GitHub token is not valid.

", + "refs": { + } + }, + "InvalidGitHubAccountTokenNameException": { + "base": "

The format of the specified GitHub account connection name is invalid.

", + "refs": { + } + }, "InvalidIamSessionArnException": { "base": "

The IAM session ARN was specified in an invalid format.

", "refs": { @@ -1147,6 +1200,21 @@ "refs": { } }, + "InvalidIgnoreApplicationStopFailuresValueException": { + "base": "

The IgnoreApplicationStopFailures value is invalid. For AWS Lambda deployments, false is expected. For EC2/On-premises deployments, true or false is expected.

", + "refs": { + } + }, + "InvalidInputException": { + "base": "

The specified input was specified in an invalid format.

", + "refs": { + } + }, + "InvalidInstanceIdException": { + "base": "

", + "refs": { + } + }, "InvalidInstanceNameException": { "base": "

The specified on-premises instance name was specified in an invalid format.

", "refs": { @@ -1167,6 +1235,16 @@ "refs": { } }, + "InvalidLifecycleEventHookExecutionIdException": { + "base": "

A lifecycle event hook is invalid. Review the hooks section in your AppSpec file to ensure the lifecycle events and hooks functions are valid.

", + "refs": { + } + }, + "InvalidLifecycleEventHookExecutionStatusException": { + "base": "

The result of a Lambda validation function that verifies a lifecycle event is invalid. It should return Succeeded or Failed.

", + "refs": { + } + }, "InvalidLoadBalancerInfoException": { "base": "

An invalid load balancer name, or no load balancer name, was specified.

", "refs": { @@ -1237,11 +1315,21 @@ "refs": { } }, + "InvalidTrafficRoutingConfigurationException": { + "base": "

The configuration that specifies how traffic is routed during a deployment is invalid.

", + "refs": { + } + }, "InvalidTriggerConfigException": { "base": "

The trigger was specified in an invalid format.

", "refs": { } }, + "InvalidUpdateOutdatedInstancesOnlyValueException": { + "base": "

The UpdateOutdatedInstancesOnly value is invalid. For AWS Lambda deployments, false is expected. For EC2/On-premises deployments, true or false is expected.

", + "refs": { + } + }, "Key": { "base": null, "refs": { @@ -1269,6 +1357,18 @@ "LifecycleEventList$member": null } }, + "LifecycleEventAlreadyCompletedException": { + "base": "

An attempt to return the status of an already completed lifecycle event occurred.

", + "refs": { + } + }, + "LifecycleEventHookExecutionId": { + "base": null, + "refs": { + "PutLifecycleEventHookExecutionStatusInput$lifecycleEventHookExecutionId": "

The execution ID of a deployment's lifecycle hook. A deployment lifecycle hook is specified in the hooks section of the AppSpec file.

", + "PutLifecycleEventHookExecutionStatusOutput$lifecycleEventHookExecutionId": "

The execution ID of the lifecycle event hook. A hook is specified in the hooks section of the deployment's AppSpec file.

" + } + }, "LifecycleEventList": { "base": null, "refs": { @@ -1284,7 +1384,8 @@ "LifecycleEventStatus": { "base": null, "refs": { - "LifecycleEvent$status": "

The deployment lifecycle event status:

" + "LifecycleEvent$status": "

The deployment lifecycle event status:

", + "PutLifecycleEventHookExecutionStatusInput$status": "

The result of a Lambda function that validates a deployment lifecycle event (Succeeded or Failed).

" } }, "LifecycleHookLimitExceededException": { @@ -1470,6 +1571,46 @@ "OnPremisesTagSet$onPremisesTagSetList": "

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.

" } }, + "OperationNotSupportedException": { + "base": "

The API used does not support the deployment.

", + "refs": { + } + }, + "Percentage": { + "base": null, + "refs": { + "TimeBasedCanary$canaryPercentage": "

The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment.

", + "TimeBasedLinear$linearPercentage": "

The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment.

" + } + }, + "PutLifecycleEventHookExecutionStatusInput": { + "base": null, + "refs": { + } + }, + "PutLifecycleEventHookExecutionStatusOutput": { + "base": null, + "refs": { + } + }, + "RawString": { + "base": "

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.

", + "refs": { + "RevisionLocation$string": "

Information about the location of an AWS Lambda deployment revision stored as a RawString.

" + } + }, + "RawStringContent": { + "base": null, + "refs": { + "RawString$content": "

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.

" + } + }, + "RawStringSha256": { + "base": null, + "refs": { + "RawString$sha256": "

The SHA256 hash value of the revision that is specified as a RawString.

" + } + }, "RegisterApplicationRevisionInput": { "base": "

Represents the input of a RegisterApplicationRevision operation.

", "refs": { @@ -1543,7 +1684,7 @@ "RevisionLocationType": { "base": null, "refs": { - "RevisionLocation$revisionType": "

The type of application revision:

" + "RevisionLocation$revisionType": "

The type of application revision:

" } }, "RevisionRequiredException": { @@ -1587,7 +1728,7 @@ "S3Location": { "base": "

Information about the location of application artifacts stored in Amazon S3.

", "refs": { - "RevisionLocation$s3Location": "

Information about the location of application artifacts stored in Amazon S3.

" + "RevisionLocation$s3Location": "

Information about the location of a revision stored in Amazon S3.

" } }, "ScriptName": { @@ -1683,7 +1824,7 @@ "TargetGroupInfoList": { "base": null, "refs": { - "LoadBalancerInfo$targetGroupInfoList": "

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.

" + "LoadBalancerInfo$targetGroupInfoList": "

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.

" } }, "TargetGroupName": { @@ -1699,6 +1840,23 @@ "DeploymentInfo$targetInstances": "

Information about the instances that belong to the replacement environment in a blue/green deployment.

" } }, + "ThrottlingException": { + "base": "

An API function was called too frequently.

", + "refs": { + } + }, + "TimeBasedCanary": { + "base": "

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.

", + "refs": { + "TrafficRoutingConfig$timeBasedCanary": "

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

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.

", + "refs": { + "TrafficRoutingConfig$timeBasedLinear": "

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": { "base": "

Information about a time range.

", "refs": { @@ -1727,6 +1885,19 @@ "TimeRange$end": "

The end time of the time range.

Specify null to leave the end time open-ended.

" } }, + "TrafficRoutingConfig": { + "base": "

The configuration that specifies how traffic is shifted from one version of a Lambda function to another version during an AWS Lambda deployment.

", + "refs": { + "CreateDeploymentConfigInput$trafficRoutingConfig": "

The configuration that specifies how the deployment traffic will be routed.

", + "DeploymentConfigInfo$trafficRoutingConfig": "

The configuration specifying how the deployment traffic will be routed. Only deployments with a Lambda compute platform can specify this.

" + } + }, + "TrafficRoutingType": { + "base": null, + "refs": { + "TrafficRoutingConfig$type": "

The type of traffic shifting (TimeBasedCanary or TimeBasedLinear) used by a deployment configuration .

" + } + }, "TriggerConfig": { "base": "

Information about notification triggers for the deployment group.

", "refs": { @@ -1803,6 +1974,13 @@ "refs": { "S3Location$version": "

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.

" } + }, + "WaitTimeInMins": { + "base": null, + "refs": { + "TimeBasedCanary$canaryInterval": "

The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.

", + "TimeBasedLinear$linearInterval": "

The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.

" + } } } } diff --git a/models/apis/codedeploy/2014-10-06/smoke.json b/models/apis/codedeploy/2014-10-06/smoke.json new file mode 100644 index 00000000000..c149dda6b6f --- /dev/null +++ b/models/apis/codedeploy/2014-10-06/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListApplications", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "GetDeployment", + "input": { + "deploymentId": "d-USUAELQEX" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/codepipeline/2015-07-09/api-2.json b/models/apis/codepipeline/2015-07-09/api-2.json index 6d93f1ccf82..8586604abb5 100644 --- a/models/apis/codepipeline/2015-07-09/api-2.json +++ b/models/apis/codepipeline/2015-07-09/api-2.json @@ -94,6 +94,31 @@ {"shape":"ValidationException"} ] }, + "DeleteWebhook":{ + "name":"DeleteWebhook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWebhookInput"}, + "output":{"shape":"DeleteWebhookOutput"}, + "errors":[ + {"shape":"ValidationException"} + ] + }, + "DeregisterWebhookWithThirdParty":{ + "name":"DeregisterWebhookWithThirdParty", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterWebhookWithThirdPartyInput"}, + "output":{"shape":"DeregisterWebhookWithThirdPartyOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"WebhookNotFoundException"} + ] + }, "DisableStageTransition":{ "name":"DisableStageTransition", "http":{ @@ -225,6 +250,20 @@ "input":{"shape":"ListPipelinesInput"}, "output":{"shape":"ListPipelinesOutput"}, "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidNextTokenException"} + ] + }, + "ListWebhooks":{ + "name":"ListWebhooks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWebhooksInput"}, + "output":{"shape":"ListWebhooksOutput"}, + "errors":[ + {"shape":"ValidationException"}, {"shape":"InvalidNextTokenException"} ] }, @@ -340,6 +379,35 @@ {"shape":"InvalidClientTokenException"} ] }, + "PutWebhook":{ + "name":"PutWebhook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutWebhookInput"}, + "output":{"shape":"PutWebhookOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidWebhookFilterPatternException"}, + {"shape":"InvalidWebhookAuthenticationParametersException"}, + {"shape":"PipelineNotFoundException"} + ] + }, + "RegisterWebhookWithThirdParty":{ + "name":"RegisterWebhookWithThirdParty", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterWebhookWithThirdPartyInput"}, + "output":{"shape":"RegisterWebhookWithThirdPartyOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"WebhookNotFoundException"} + ] + }, "RetryStageExecution":{ "name":"RetryStageExecution", "http":{ @@ -382,7 +450,8 @@ {"shape":"InvalidStageDeclarationException"}, {"shape":"InvalidActionDeclarationException"}, {"shape":"InvalidBlockerDeclarationException"}, - {"shape":"InvalidStructureException"} + {"shape":"InvalidStructureException"}, + {"shape":"LimitExceededException"} ] } }, @@ -804,7 +873,11 @@ "min":1 }, "Code":{"type":"string"}, - "ContinuationToken":{"type":"string"}, + "ContinuationToken":{ + "type":"string", + "max":2048, + "min":1 + }, "CreateCustomActionTypeInput":{ "type":"structure", "required":[ @@ -877,9 +950,32 @@ "name":{"shape":"PipelineName"} } }, + "DeleteWebhookInput":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{"shape":"WebhookName"} + } + }, + "DeleteWebhookOutput":{ + "type":"structure", + "members":{ + } + }, + "DeregisterWebhookWithThirdPartyInput":{ + "type":"structure", + "members":{ + "webhookName":{"shape":"WebhookName"} + } + }, + "DeregisterWebhookWithThirdPartyOutput":{ + "type":"structure", + "members":{ + } + }, "Description":{ "type":"string", - "max":2048, + "max":160, "min":1 }, "DisableStageTransitionInput":{ @@ -957,7 +1053,11 @@ "max":1500, "min":1 }, - "ExecutionSummary":{"type":"string"}, + "ExecutionSummary":{ + "type":"string", + "max":2048, + "min":1 + }, "FailureDetails":{ "type":"structure", "required":[ @@ -1131,6 +1231,18 @@ }, "exception":true }, + "InvalidWebhookAuthenticationParametersException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidWebhookFilterPatternException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "Job":{ "type":"structure", "members":{ @@ -1187,6 +1299,11 @@ "Failed" ] }, + "JsonPath":{ + "type":"string", + "max":150, + "min":1 + }, "LastChangedAt":{"type":"timestamp"}, "LastChangedBy":{"type":"string"}, "LastUpdatedBy":{"type":"string"}, @@ -1240,6 +1357,40 @@ "nextToken":{"shape":"NextToken"} } }, + "ListWebhookItem":{ + "type":"structure", + "required":[ + "definition", + "url" + ], + "members":{ + "definition":{"shape":"WebhookDefinition"}, + "url":{"shape":"WebhookUrl"}, + "errorMessage":{"shape":"WebhookErrorMessage"}, + "errorCode":{"shape":"WebhookErrorCode"}, + "lastTriggered":{"shape":"WebhookLastTriggered"}, + "arn":{"shape":"WebhookArn"} + } + }, + "ListWebhooksInput":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListWebhooksOutput":{ + "type":"structure", + "members":{ + "webhooks":{"shape":"WebhookList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "MatchEquals":{ + "type":"string", + "max":150, + "min":1 + }, "MaxBatchSize":{ "type":"integer", "min":1 @@ -1254,7 +1405,11 @@ "max":5, "min":0 }, - "Message":{"type":"string"}, + "Message":{ + "type":"string", + "max":5000, + "min":1 + }, "MinimumArtifactCount":{ "type":"integer", "max":5, @@ -1265,7 +1420,11 @@ "max":2048, "min":1 }, - "Nonce":{"type":"string"}, + "Nonce":{ + "type":"string", + "max":50, + "min":1 + }, "NotLatestPipelineExecutionException":{ "type":"structure", "members":{ @@ -1351,7 +1510,8 @@ "pipelineExecutionId":{"shape":"PipelineExecutionId"}, "status":{"shape":"PipelineExecutionStatus"}, "startTime":{"shape":"Timestamp"}, - "lastUpdateTime":{"shape":"Timestamp"} + "lastUpdateTime":{"shape":"Timestamp"}, + "sourceRevisions":{"shape":"SourceRevisionList"} } }, "PipelineExecutionSummaryList":{ @@ -1533,6 +1693,19 @@ "executionDetails":{"shape":"ExecutionDetails"} } }, + "PutWebhookInput":{ + "type":"structure", + "required":["webhook"], + "members":{ + "webhook":{"shape":"WebhookDefinition"} + } + }, + "PutWebhookOutput":{ + "type":"structure", + "members":{ + "webhook":{"shape":"ListWebhookItem"} + } + }, "QueryParamMap":{ "type":"map", "key":{"shape":"ActionConfigurationKey"}, @@ -1540,6 +1713,17 @@ "max":1, "min":0 }, + "RegisterWebhookWithThirdPartyInput":{ + "type":"structure", + "members":{ + "webhookName":{"shape":"WebhookName"} + } + }, + "RegisterWebhookWithThirdPartyOutput":{ + "type":"structure", + "members":{ + } + }, "RetryStageExecutionInput":{ "type":"structure", "required":[ @@ -1596,6 +1780,20 @@ "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"} @@ -1778,6 +1976,88 @@ "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"}, + "targetPipeline":{"shape":"PipelineName"}, + "targetAction":{"shape":"ActionName"}, + "filters":{"shape":"WebhookFilters"}, + "authentication":{"shape":"WebhookAuthenticationType"}, + "authenticationConfiguration":{"shape":"WebhookAuthConfiguration"} + } + }, + "WebhookErrorCode":{"type":"string"}, + "WebhookErrorMessage":{"type":"string"}, + "WebhookFilterRule":{ + "type":"structure", + "required":["jsonPath"], + "members":{ + "jsonPath":{"shape":"JsonPath"}, + "matchEquals":{"shape":"MatchEquals"} + } + }, + "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":{ + }, + "exception":true + }, + "WebhookUrl":{ + "type":"string", + "max":1000, + "min":1 } } } diff --git a/models/apis/codepipeline/2015-07-09/docs-2.json b/models/apis/codepipeline/2015-07-09/docs-2.json index e3d1233202f..87c9051c459 100644 --- a/models/apis/codepipeline/2015-07-09/docs-2.json +++ b/models/apis/codepipeline/2015-07-09/docs-2.json @@ -1,13 +1,15 @@ { "version": "2.0", - "service": "AWS CodePipeline

Overview

This is the AWS CodePipeline API Reference. This guide provides descriptions of the actions and data types for AWS CodePipeline. Some functionality for your pipeline is only configurable through the API. For additional information, see the AWS CodePipeline User Guide.

You can use the AWS CodePipeline API to work with pipelines, stages, actions, gates, and transitions, as described below.

Pipelines are models of automated release processes. Each pipeline is uniquely named, and consists of actions, gates, and stages.

You can work with pipelines by calling:

Pipelines include stages, which are logical groupings of gates and actions. Each stage contains one or more actions that must complete before the next stage begins. A stage will result in success or failure. If a stage fails, then the pipeline stops at that stage and will remain stopped until either a new version of an artifact appears in the source location, or a user takes action to re-run the most recent artifact through the pipeline. You can call GetPipelineState, which displays the status of a pipeline, including the status of stages in the pipeline, or GetPipeline, which returns the entire structure of the pipeline, including the stages of that pipeline. For more information about the structure of stages and actions, also refer to the AWS CodePipeline Pipeline Structure Reference.

Pipeline stages include actions, which are categorized into categories such as source or build actions performed within a stage of a pipeline. For example, you can use a source action to import artifacts into a pipeline from a source such as Amazon S3. Like stages, you do not work with actions directly in most cases, but you do define and interact with actions when working with pipeline operations such as CreatePipeline and GetPipelineState.

Pipelines also include transitions, which allow the transition of artifacts from one stage to the next in a pipeline after the actions in one stage complete.

You can work with transitions by calling:

Using the API to integrate with AWS CodePipeline

For third-party integrators or developers who want to create their own integrations with AWS CodePipeline, the expected sequence varies from the standard API user. In order to integrate with AWS CodePipeline, developers will need to work with the following items:

Jobs, which are instances of an action. For example, a job for a source action might import a revision of an artifact from a source.

You can work with jobs by calling:

Third party jobs, which are instances of an action created by a partner action and integrated into AWS CodePipeline. Partner actions are created by members of the AWS Partner Network.

You can work with third party jobs by calling:

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

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:

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:

", "operations": { "AcknowledgeJob": "

Returns information about a specified job and whether that job has been received by the job worker. Only used for custom actions.

", "AcknowledgeThirdPartyJob": "

Confirms a job worker has received the specified job. Only used for partner actions.

", "CreateCustomActionType": "

Creates a new custom action that can be used in all pipelines associated with the AWS account. Only used for custom actions.

", "CreatePipeline": "

Creates a pipeline.

", - "DeleteCustomActionType": "

Marks a custom action as deleted. PollForJobs for the custom action will fail after the action is marked for deletion. Only used for custom actions.

You cannot recreate a custom action after it has been deleted unless you increase the version number of the action.

", + "DeleteCustomActionType": "

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

Deletes the specified pipeline.

", + "DeleteWebhook": "

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

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

Prevents artifacts in a pipeline from transitioning to the next stage in the pipeline.

", "EnableStageTransition": "

Enables artifacts in a pipeline to transition to a stage in a pipeline.

", "GetJobDetails": "

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.

", @@ -18,7 +20,8 @@ "ListActionTypes": "

Gets a summary of all AWS CodePipeline action types associated with your account.

", "ListPipelineExecutions": "

Gets a summary of the most recent executions for a pipeline.

", "ListPipelines": "

Gets a summary of all of the pipelines associated with your account.

", - "PollForJobs": "

Returns information about any jobs for AWS CodePipeline to act upon.

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.

", + "ListWebhooks": "

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

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

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

Provides information to AWS CodePipeline about new revisions to a source.

", "PutApprovalResult": "

Provides the response to a manual approval request to AWS CodePipeline. Valid responses include Approved and Rejected.

", @@ -26,6 +29,8 @@ "PutJobSuccessResult": "

Represents the success of a job as returned to the pipeline by a job worker. Only used for custom actions.

", "PutThirdPartyJobFailureResult": "

Represents the failure of a third party job as returned to the pipeline by a job worker. Only used for partner actions.

", "PutThirdPartyJobSuccessResult": "

Represents the success of a third party job as returned to the pipeline by a job worker. Only used for partner actions.

", + "PutWebhook": "

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

Configures a connection between the webhook that was created and the external tool with events to be detected.

", "RetryStageExecution": "

Resumes the pipeline execution by retrying the last failed actions in a stage.

", "StartPipelineExecution": "

Starts the specified pipeline. Specifically, it begins processing the latest commit to the source location specified as part of the pipeline.

", "UpdatePipeline": "

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.

" @@ -169,7 +174,9 @@ "ActionDeclaration$name": "

The action declaration's name.

", "ActionState$actionName": "

The name of the action.

", "PutActionRevisionInput$actionName": "

The name of the action that will process the revision.

", - "PutApprovalResultInput$actionName": "

The name of the action for which approval is requested.

" + "PutApprovalResultInput$actionName": "

The name of the action for which approval is requested.

", + "SourceRevision$actionName": null, + "WebhookDefinition$targetAction": "

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.

" } }, "ActionNotFoundException": { @@ -452,6 +459,26 @@ "refs": { } }, + "DeleteWebhookInput": { + "base": null, + "refs": { + } + }, + "DeleteWebhookOutput": { + "base": null, + "refs": { + } + }, + "DeregisterWebhookWithThirdPartyInput": { + "base": null, + "refs": { + } + }, + "DeregisterWebhookWithThirdPartyOutput": { + "base": null, + "refs": { + } + }, "Description": { "base": null, "refs": { @@ -654,6 +681,16 @@ "refs": { } }, + "InvalidWebhookAuthenticationParametersException": { + "base": "

The specified authentication type is in an invalid format.

", + "refs": { + } + }, + "InvalidWebhookFilterPatternException": { + "base": "

The specified event filter rule is in an invalid format.

", + "refs": { + } + }, "Job": { "base": "

Represents information about a job.

", "refs": { @@ -703,6 +740,12 @@ "AcknowledgeThirdPartyJobOutput$status": "

The status information for the third party job, if any.

" } }, + "JsonPath": { + "base": null, + "refs": { + "WebhookFilterRule$jsonPath": "

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.

" + } + }, "LastChangedAt": { "base": null, "refs": { @@ -756,6 +799,29 @@ "refs": { } }, + "ListWebhookItem": { + "base": "

The detail returned for each webhook after listing webhooks, such as the webhook URL, the webhook name, and the webhook ARN.

", + "refs": { + "PutWebhookOutput$webhook": "

The detail returned from creating the webhook, such as the webhook name, webhook URL, and webhook ARN.

", + "WebhookList$member": null + } + }, + "ListWebhooksInput": { + "base": null, + "refs": { + } + }, + "ListWebhooksOutput": { + "base": null, + "refs": { + } + }, + "MatchEquals": { + "base": null, + "refs": { + "WebhookFilterRule$matchEquals": "

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.

" + } + }, "MaxBatchSize": { "base": null, "refs": { @@ -766,7 +832,8 @@ "MaxResults": { "base": null, "refs": { - "ListPipelineExecutionsInput$maxResults": "

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.

" + "ListPipelineExecutionsInput$maxResults": "

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.

", + "ListWebhooksInput$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" } }, "MaximumArtifactCount": { @@ -796,7 +863,9 @@ "ListPipelineExecutionsInput$nextToken": "

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.

", "ListPipelineExecutionsOutput$nextToken": "

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.

", "ListPipelinesInput$nextToken": "

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.

", - "ListPipelinesOutput$nextToken": "

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.

" + "ListPipelinesOutput$nextToken": "

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.

", + "ListWebhooksInput$NextToken": "

The token that was returned from the previous ListWebhooks call, which can be used to return the next set of webhooks in the list.

", + "ListWebhooksOutput$NextToken": "

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.

" } }, "Nonce": { @@ -928,7 +997,8 @@ "PutActionRevisionInput$pipelineName": "

The name of the pipeline that will start processing the revision to the source.

", "PutApprovalResultInput$pipelineName": "

The name of the pipeline that contains the action.

", "RetryStageExecutionInput$pipelineName": "

The name of the pipeline that contains the failed stage.

", - "StartPipelineExecutionInput$name": "

The name of the pipeline to start.

" + "StartPipelineExecutionInput$name": "

The name of the pipeline to start.

", + "WebhookDefinition$targetPipeline": "

The name of the pipeline you want to connect to the webhook.

" } }, "PipelineNameInUseException": { @@ -1028,12 +1098,32 @@ "refs": { } }, + "PutWebhookInput": { + "base": null, + "refs": { + } + }, + "PutWebhookOutput": { + "base": null, + "refs": { + } + }, "QueryParamMap": { "base": null, "refs": { "PollForJobsInput$queryParam": "

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.

" } }, + "RegisterWebhookWithThirdPartyInput": { + "base": null, + "refs": { + } + }, + "RegisterWebhookWithThirdPartyOutput": { + "base": null, + "refs": { + } + }, "RetryStageExecutionInput": { "base": "

Represents the input of a RetryStageExecution action.

", "refs": { @@ -1050,7 +1140,8 @@ "ActionRevision$revisionId": "

The system-generated unique ID that identifies the revision number of the action.

", "Artifact$revision": "

The artifact's revision ID. Depending on the type of object, this could be a commit ID (GitHub) or a revision ID (Amazon S3).

", "ArtifactRevision$revisionId": "

The revision ID of the artifact.

", - "CurrentRevision$revision": "

The revision ID of the current version of an artifact.

" + "CurrentRevision$revision": "

The revision ID of the current version of an artifact.

", + "SourceRevision$revisionId": null } }, "RevisionChangeIdentifier": { @@ -1065,7 +1156,8 @@ "base": null, "refs": { "ArtifactRevision$revisionSummary": "

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.

", - "CurrentRevision$revisionSummary": "

The summary of the most recent revision of the artifact.

" + "CurrentRevision$revisionSummary": "

The summary of the most recent revision of the artifact.

", + "SourceRevision$revisionSummary": null } }, "RoleArn": { @@ -1105,6 +1197,18 @@ "AWSSessionCredentials$sessionToken": "

The token for the session.

" } }, + "SourceRevision": { + "base": null, + "refs": { + "SourceRevisionList$member": null + } + }, + "SourceRevisionList": { + "base": null, + "refs": { + "PipelineExecutionSummary$sourceRevisions": null + } + }, "StageActionDeclarationList": { "base": null, "refs": { @@ -1279,7 +1383,8 @@ "ActionState$entityUrl": "

A URL link for more information about the state of the action, such as a deployment group details page.

", "ActionState$revisionUrl": "

A URL link for more information about the revision, such as a commit details page.

", "ActionTypeSettings$thirdPartyConfigurationUrl": "

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.

", - "ArtifactRevision$revisionUrl": "

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.

" + "ArtifactRevision$revisionUrl": "

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.

", + "SourceRevision$revisionUrl": null } }, "UrlTemplate": { @@ -1298,10 +1403,103 @@ "Version": { "base": null, "refs": { - "ActionTypeId$version": "

A string that identifies the action type.

", + "ActionTypeId$version": "

A string that describes the action version.

", "CreateCustomActionTypeInput$version": "

The version identifier of the custom action.

", "DeleteCustomActionTypeInput$version": "

The version of the custom action to delete.

" } + }, + "WebhookArn": { + "base": null, + "refs": { + "ListWebhookItem$arn": "

The Amazon Resource Name (ARN) of the webhook.

" + } + }, + "WebhookAuthConfiguration": { + "base": null, + "refs": { + "WebhookDefinition$authenticationConfiguration": "

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.

" + } + }, + "WebhookAuthConfigurationAllowedIPRange": { + "base": null, + "refs": { + "WebhookAuthConfiguration$AllowedIPRange": null + } + }, + "WebhookAuthConfigurationSecretToken": { + "base": null, + "refs": { + "WebhookAuthConfiguration$SecretToken": null + } + }, + "WebhookAuthenticationType": { + "base": null, + "refs": { + "WebhookDefinition$authentication": "

Supported options are GITHUB_HMAC, IP and UNAUTHENTICATED.

" + } + }, + "WebhookDefinition": { + "base": "

Represents information about a webhook and its definition.

", + "refs": { + "ListWebhookItem$definition": "

The detail returned for each webhook, such as the webhook authentication type and filter rules.

", + "PutWebhookInput$webhook": "

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.

" + } + }, + "WebhookErrorCode": { + "base": null, + "refs": { + "ListWebhookItem$errorCode": "

The number code of the error.

" + } + }, + "WebhookErrorMessage": { + "base": null, + "refs": { + "ListWebhookItem$errorMessage": "

The text of the error message about the webhook.

" + } + }, + "WebhookFilterRule": { + "base": "

The event criteria that specify when a webhook notification is sent to your URL.

", + "refs": { + "WebhookFilters$member": null + } + }, + "WebhookFilters": { + "base": null, + "refs": { + "WebhookDefinition$filters": "

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.

" + } + }, + "WebhookLastTriggered": { + "base": null, + "refs": { + "ListWebhookItem$lastTriggered": "

The date and time a webhook was last successfully triggered, in timestamp format.

" + } + }, + "WebhookList": { + "base": null, + "refs": { + "ListWebhooksOutput$webhooks": "

The JSON detail returned for each webhook in the list output for the ListWebhooks call.

" + } + }, + "WebhookName": { + "base": null, + "refs": { + "DeleteWebhookInput$name": "

The name of the webhook you want to delete.

", + "DeregisterWebhookWithThirdPartyInput$webhookName": "

The name of the webhook you want to deregister.

", + "RegisterWebhookWithThirdPartyInput$webhookName": "

The name of an existing webhook created with PutWebhook to register with a supported third party.

", + "WebhookDefinition$name": "

The name of the webhook.

" + } + }, + "WebhookNotFoundException": { + "base": "

The specified webhook was entered in an invalid format or cannot be found.

", + "refs": { + } + }, + "WebhookUrl": { + "base": null, + "refs": { + "ListWebhookItem$url": "

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.

" + } } } } diff --git a/models/apis/cognito-idp/2016-04-18/api-2.json b/models/apis/cognito-idp/2016-04-18/api-2.json index fa28b78593e..99fd11b9fb8 100644 --- a/models/apis/cognito-idp/2016-04-18/api-2.json +++ b/models/apis/cognito-idp/2016-04-18/api-2.json @@ -1101,6 +1101,19 @@ {"shape":"InternalErrorException"} ] }, + "GetSigningCertificate":{ + "name":"GetSigningCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSigningCertificateRequest"}, + "output":{"shape":"GetSigningCertificateResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "GetUICustomization":{ "name":"GetUICustomization", "http":{ @@ -2443,7 +2456,8 @@ "REFRESH_TOKEN_AUTH", "REFRESH_TOKEN", "CUSTOM_AUTH", - "ADMIN_NO_SRP_AUTH" + "ADMIN_NO_SRP_AUTH", + "USER_PASSWORD_AUTH" ] }, "AuthParametersType":{ @@ -3339,7 +3353,8 @@ "type":"string", "enum":[ "ADMIN_NO_SRP_AUTH", - "CUSTOM_AUTH_FLOW_ONLY" + "CUSTOM_AUTH_FLOW_ONLY", + "USER_PASSWORD_AUTH" ] }, "FeedbackValueType":{ @@ -3443,6 +3458,19 @@ "IdentityProvider":{"shape":"IdentityProviderType"} } }, + "GetSigningCertificateRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{"shape":"UserPoolIdType"} + } + }, + "GetSigningCertificateResponse":{ + "type":"structure", + "members":{ + "Certificate":{"shape":"StringType"} + } + }, "GetUICustomizationRequest":{ "type":"structure", "required":["UserPoolId"], @@ -3586,7 +3614,8 @@ "SAML", "Facebook", "Google", - "LoginWithAmazon" + "LoginWithAmazon", + "OIDC" ] }, "IdpIdentifierType":{ @@ -3703,7 +3732,8 @@ "DefineAuthChallenge":{"shape":"ArnType"}, "CreateAuthChallenge":{"shape":"ArnType"}, "VerifyAuthChallengeResponse":{"shape":"ArnType"}, - "PreTokenGeneration":{"shape":"ArnType"} + "PreTokenGeneration":{"shape":"ArnType"}, + "UserMigration":{"shape":"ArnType"} } }, "LimitExceededException":{ @@ -4989,8 +5019,10 @@ "UserPoolTags":{"shape":"UserPoolTagsType"}, "SmsConfigurationFailure":{"shape":"StringType"}, "EmailConfigurationFailure":{"shape":"StringType"}, + "Domain":{"shape":"DomainType"}, "AdminCreateUserConfig":{"shape":"AdminCreateUserConfigType"}, - "UserPoolAddOns":{"shape":"UserPoolAddOnsType"} + "UserPoolAddOns":{"shape":"UserPoolAddOnsType"}, + "Arn":{"shape":"ArnType"} } }, "UserStatusType":{ diff --git a/models/apis/cognito-idp/2016-04-18/docs-2.json b/models/apis/cognito-idp/2016-04-18/docs-2.json index 4c3e03f5fd5..63d8d4f9d19 100644 --- a/models/apis/cognito-idp/2016-04-18/docs-2.json +++ b/models/apis/cognito-idp/2016-04-18/docs-2.json @@ -61,6 +61,7 @@ "GetDevice": "

Gets the device.

", "GetGroup": "

Gets a group.

Requires developer credentials.

", "GetIdentityProviderByIdentifier": "

Gets the specified identity provider.

", + "GetSigningCertificate": "

This method takes a user pool ID, and returns the signing certificate.

", "GetUICustomization": "

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

Gets the user attributes and metadata for a user.

", "GetUserAttributeVerificationCode": "

Gets the user attribute verification code for the specified attribute name.

", @@ -94,7 +95,7 @@ "UpdateUserAttributes": "

Allows a user to update a specific attribute (one at a time).

", "UpdateUserPool": "

Updates the specified user pool with the specified attributes.

", "UpdateUserPoolClient": "

Allows the developer to update the specified user pool client and password policy.

", - "VerifySoftwareToken": "

Use this API to register a user's entered TOTP code and mark the user's software token MFA status as \"verified\" if successful,

", + "VerifySoftwareToken": "

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

Verifies the specified user attributes in the user pool.

" }, "shapes": { @@ -455,10 +456,12 @@ "LambdaConfigType$CreateAuthChallenge": "

Creates an authentication challenge.

", "LambdaConfigType$VerifyAuthChallengeResponse": "

Verifies the authentication challenge response.

", "LambdaConfigType$PreTokenGeneration": "

A Lambda trigger that is invoked before token generation.

", + "LambdaConfigType$UserMigration": "

The user migration Lambda config type.

", "NotifyConfigurationType$SourceArn": "

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.

", "SmsConfigurationType$SnsCallerArn": "

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller.

", "UpdateGroupRequest$RoleArn": "

The new role ARN for the group. This is used for setting the cognito:roles and cognito:preferred_role claims in the token.

", - "UserImportJobType$CloudWatchLogsRoleArn": "

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.

" + "UserImportJobType$CloudWatchLogsRoleArn": "

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.

", + "UserPoolType$Arn": "

The Amazon Resource Name (ARN) for the user pool.

" } }, "AssociateSoftwareTokenRequest": { @@ -552,15 +555,15 @@ "AuthFlowType": { "base": null, "refs": { - "AdminInitiateAuthRequest$AuthFlow": "

The authentication flow for this call to execute. The API action will depend on this value. For example:

Valid values include:

", - "InitiateAuthRequest$AuthFlow": "

The authentication flow for this call to execute. The API action will depend on this value. For example:

Valid values include:

ADMIN_NO_SRP_AUTH is not a valid value.

" + "AdminInitiateAuthRequest$AuthFlow": "

The authentication flow for this call to execute. The API action will depend on this value. For example:

Valid values include:

", + "InitiateAuthRequest$AuthFlow": "

The authentication flow for this call to execute. The API action will depend on this value. For example:

Valid values include:

ADMIN_NO_SRP_AUTH is not a valid value.

" } }, "AuthParametersType": { "base": null, "refs": { - "AdminInitiateAuthRequest$AuthParameters": "

The authentication parameters. These are inputs corresponding to the AuthFlow that you are invoking. The required values depend on the value of AuthFlow:

", - "InitiateAuthRequest$AuthParameters": "

The authentication parameters. These are inputs corresponding to the AuthFlow that you are invoking. The required values depend on the value of AuthFlow:

" + "AdminInitiateAuthRequest$AuthParameters": "

The authentication parameters. These are inputs corresponding to the AuthFlow that you are invoking. The required values depend on the value of AuthFlow:

", + "InitiateAuthRequest$AuthParameters": "

The authentication parameters. These are inputs corresponding to the AuthFlow that you are invoking. The required values depend on the value of AuthFlow:

" } }, "AuthenticationResultType": { @@ -595,7 +598,7 @@ "SMSMfaSettingsType$Enabled": "

Specifies whether SMS text message MFA is enabled.

", "SMSMfaSettingsType$PreferredMfa": "

The preferred MFA method.

", "SchemaAttributeType$DeveloperOnlyAttribute": "

Specifies whether the attribute type is developer only.

", - "SchemaAttributeType$Mutable": "

Specifies whether the attribute can be changed once it has been created.

", + "SchemaAttributeType$Mutable": "

Specifies whether the value of the attribute can be changed.

", "SchemaAttributeType$Required": "

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.

", "SignUpResponse$UserConfirmed": "

A response from the server indicating that a user registration has been confirmed.

", "SoftwareTokenMfaConfigType$Enabled": "

Specifies whether software token MFA is enabled.

", @@ -622,9 +625,9 @@ "CallbackURLsListType": { "base": null, "refs": { - "CreateUserPoolClientRequest$CallbackURLs": "

A list of allowed callback URLs for the identity providers.

", - "UpdateUserPoolClientRequest$CallbackURLs": "

A list of allowed callback URLs for the identity providers.

", - "UserPoolClientType$CallbackURLs": "

A list of allowed callback URLs for the identity providers.

" + "CreateUserPoolClientRequest$CallbackURLs": "

A list of allowed redirect (callback) URLs for the identity providers.

A redirect URI must:

See OAuth 2.0 - Redirection Endpoint.

", + "UpdateUserPoolClientRequest$CallbackURLs": "

A list of allowed redirect (callback) URLs for the identity providers.

A redirect URI must:

See OAuth 2.0 - Redirection Endpoint.

", + "UserPoolClientType$CallbackURLs": "

A list of allowed redirect (callback) URLs for the identity providers.

A redirect URI must:

See OAuth 2.0 - Redirection Endpoint.

" } }, "ChallengeName": { @@ -636,7 +639,7 @@ "ChallengeNameType": { "base": null, "refs": { - "AdminInitiateAuthResponse$ChallengeName": "

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.

", + "AdminInitiateAuthResponse$ChallengeName": "

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.

", "AdminRespondToAuthChallengeRequest$ChallengeName": "

The challenge name. For more information, see .

", "AdminRespondToAuthChallengeResponse$ChallengeName": "

The name of the challenge. For more information, see .

", "InitiateAuthResponse$ChallengeName": "

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.

", @@ -647,7 +650,7 @@ "ChallengeParametersType": { "base": null, "refs": { - "AdminInitiateAuthResponse$ChallengeParameters": "

The challenge parameters. These are returned to you in the AdminInitiateAuth response if you need to pass another challenge. The responses in this parameter should be used to compute inputs to the next call (AdminRespondToAuthChallenge).

All challenges require USERNAME and SECRET_HASH (if applicable).

The value of the USER_IF_FOR_SRP attribute will be the user's actual username, not an alias (such as email address or phone number), even if you specified an alias in your call to AdminInitiateAuth. This is because, in the AdminRespondToAuthChallenge API ChallengeResponses, the USERNAME attribute cannot be an alias.

", + "AdminInitiateAuthResponse$ChallengeParameters": "

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.

", "AdminRespondToAuthChallengeResponse$ChallengeParameters": "

The challenge parameters. For more information, see .

", "InitiateAuthResponse$ChallengeParameters": "

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

", "RespondToAuthChallengeResponse$ChallengeParameters": "

The challenge parameters. For more information, see .

" @@ -1189,7 +1192,8 @@ "CreateUserPoolDomainRequest$Domain": "

The domain string.

", "DeleteUserPoolDomainRequest$Domain": "

The domain string.

", "DescribeUserPoolDomainRequest$Domain": "

The domain string.

", - "DomainDescriptionType$Domain": "

The domain string.

" + "DomainDescriptionType$Domain": "

The domain string.

", + "UserPoolType$Domain": "

Holds the domain prefix if the user pool has a domain associated with it.

" } }, "DomainVersionType": { @@ -1411,6 +1415,16 @@ "refs": { } }, + "GetSigningCertificateRequest": { + "base": "

Request to get a signing certificate from Cognito.

", + "refs": { + } + }, + "GetSigningCertificateResponse": { + "base": "

Response from Cognito for a signing certificate request.

", + "refs": { + } + }, "GetUICustomizationRequest": { "base": null, "refs": { @@ -1570,7 +1584,7 @@ "IntegerType": { "base": null, "refs": { - "AuthenticationResultType$ExpiresIn": "

The expiration period of the authentication result.

", + "AuthenticationResultType$ExpiresIn": "

The expiration period of the authentication result in seconds.

", "UserPoolType$EstimatedNumberOfUsers": "

A number estimating the size of the user pool.

" } }, @@ -1622,10 +1636,10 @@ "LambdaConfigType": { "base": "

Specifies the configuration for AWS Lambda triggers.

", "refs": { - "CreateUserPoolRequest$LambdaConfig": "

The Lambda trigger configuration information for the new user pool.

", + "CreateUserPoolRequest$LambdaConfig": "

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 .

", "UpdateUserPoolRequest$LambdaConfig": "

The AWS Lambda configuration information from the request to update the user pool.

", "UserPoolDescriptionType$LambdaConfig": "

The AWS Lambda configuration information in a user pool description.

", - "UserPoolType$LambdaConfig": "

The AWS Lambda triggers associated with tue user pool.

" + "UserPoolType$LambdaConfig": "

The AWS Lambda triggers associated with the user pool.

" } }, "LimitExceededException": { @@ -2026,10 +2040,10 @@ "base": null, "refs": { "CallbackURLsListType$member": null, - "CreateUserPoolClientRequest$DefaultRedirectURI": "

The default redirect URI. Must be in the CallbackURLs list.

", + "CreateUserPoolClientRequest$DefaultRedirectURI": "

The default redirect URI. Must be in the CallbackURLs list.

A redirect URI must:

See OAuth 2.0 - Redirection Endpoint.

", "LogoutURLsListType$member": null, - "UpdateUserPoolClientRequest$DefaultRedirectURI": "

The default redirect URI. Must be in the CallbackURLs list.

", - "UserPoolClientType$DefaultRedirectURI": "

The default redirect URI. Must be in the CallbackURLs list.

" + "UpdateUserPoolClientRequest$DefaultRedirectURI": "

The default redirect URI. Must be in the CallbackURLs list.

A redirect URI must:

See OAuth 2.0 - Redirection Endpoint.

", + "UserPoolClientType$DefaultRedirectURI": "

The default redirect URI. Must be in the CallbackURLs list.

A redirect URI must:

See OAuth 2.0 - Redirection Endpoint.

" } }, "RefreshTokenValidityType": { @@ -2404,7 +2418,7 @@ "base": null, "refs": { "AdminDisableProviderForUserRequest$UserPoolId": "

The user pool ID for the user pool.

", - "AdminGetUserResponse$PreferredMfaSetting": null, + "AdminGetUserResponse$PreferredMfaSetting": "

The user's preferred MFA setting.

", "AdminLinkProviderForUserRequest$UserPoolId": "

The user pool ID for the user pool.

", "AnalyticsConfigurationType$ExternalId": "

The external ID.

", "AnalyticsMetadataType$AnalyticsEndpointId": "

The endpoint ID.

", @@ -2433,7 +2447,8 @@ "EventContextDataType$City": "

The user's city.

", "EventContextDataType$Country": "

The user's country.

", "EventFeedbackType$Provider": "

The provider.

", - "GetUserResponse$PreferredMfaSetting": null, + "GetSigningCertificateResponse$Certificate": "

The signing certificate.

", + "GetUserResponse$PreferredMfaSetting": "

The user's preferred MFA setting.

", "HttpHeader$headerName": "

The header name

", "HttpHeader$headerValue": "

The header value.

", "ListOfStringTypes$member": null, @@ -2675,8 +2690,8 @@ "UserMFASettingListType": { "base": null, "refs": { - "AdminGetUserResponse$UserMFASettingList": null, - "GetUserResponse$UserMFASettingList": null + "AdminGetUserResponse$UserMFASettingList": "

The list of the user's MFA settings.

", + "GetUserResponse$UserMFASettingList": "

The list of the user's MFA settings.

" } }, "UserNotConfirmedException": { @@ -2778,6 +2793,7 @@ "GetCSVHeaderResponse$UserPoolId": "

The user pool ID for the user pool that the users are to be imported into.

", "GetGroupRequest$UserPoolId": "

The user pool ID for the user pool.

", "GetIdentityProviderByIdentifierRequest$UserPoolId": "

The user pool ID.

", + "GetSigningCertificateRequest$UserPoolId": "

The user pool ID.

", "GetUICustomizationRequest$UserPoolId": "

The user pool ID for the user pool.

", "GetUserPoolMfaConfigRequest$UserPoolId": "

The user pool ID.

", "GroupType$UserPoolId": "

The user pool ID for the user pool.

", @@ -2911,10 +2927,10 @@ "AdminGetUserResponse$Username": "

The user name of the user about whom you are receiving information.

", "AdminListDevicesRequest$Username": "

The user name.

", "AdminListGroupsForUserRequest$Username": "

The username for the user.

", - "AdminListUserAuthEventsRequest$Username": "

The user pool username.

", + "AdminListUserAuthEventsRequest$Username": "

The user pool username or an alias.

", "AdminRemoveUserFromGroupRequest$Username": "

The username for the user.

", "AdminResetUserPasswordRequest$Username": "

The user name of the user whose password you wish to reset.

", - "AdminSetUserMFAPreferenceRequest$Username": "

The user pool username.

", + "AdminSetUserMFAPreferenceRequest$Username": "

The user pool username or alias.

", "AdminSetUserSettingsRequest$Username": "

The user name of the user for whom you wish to set user settings.

", "AdminUpdateAuthEventFeedbackRequest$Username": "

The user pool username.

", "AdminUpdateDeviceStatusRequest$Username": "

The user name.

", diff --git a/models/apis/comprehend/2017-11-27/api-2.json b/models/apis/comprehend/2017-11-27/api-2.json index 2d06ef2c723..e7923878af3 100644 --- a/models/apis/comprehend/2017-11-27/api-2.json +++ b/models/apis/comprehend/2017-11-27/api-2.json @@ -76,6 +76,82 @@ {"shape":"InternalServerException"} ] }, + "BatchDetectSyntax":{ + "name":"BatchDetectSyntax", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDetectSyntaxRequest"}, + "output":{"shape":"BatchDetectSyntaxResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"UnsupportedLanguageException"}, + {"shape":"BatchSizeLimitExceededException"}, + {"shape":"InternalServerException"} + ] + }, + "DescribeDominantLanguageDetectionJob":{ + "name":"DescribeDominantLanguageDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDominantLanguageDetectionJobRequest"}, + "output":{"shape":"DescribeDominantLanguageDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, + "DescribeEntitiesDetectionJob":{ + "name":"DescribeEntitiesDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEntitiesDetectionJobRequest"}, + "output":{"shape":"DescribeEntitiesDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, + "DescribeKeyPhrasesDetectionJob":{ + "name":"DescribeKeyPhrasesDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeKeyPhrasesDetectionJobRequest"}, + "output":{"shape":"DescribeKeyPhrasesDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, + "DescribeSentimentDetectionJob":{ + "name":"DescribeSentimentDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSentimentDetectionJobRequest"}, + "output":{"shape":"DescribeSentimentDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, "DescribeTopicsDetectionJob":{ "name":"DescribeTopicsDetectionJob", "http":{ @@ -150,6 +226,81 @@ {"shape":"InternalServerException"} ] }, + "DetectSyntax":{ + "name":"DetectSyntax", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectSyntaxRequest"}, + "output":{"shape":"DetectSyntaxResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"UnsupportedLanguageException"}, + {"shape":"InternalServerException"} + ] + }, + "ListDominantLanguageDetectionJobs":{ + "name":"ListDominantLanguageDetectionJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDominantLanguageDetectionJobsRequest"}, + "output":{"shape":"ListDominantLanguageDetectionJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidFilterException"}, + {"shape":"InternalServerException"} + ] + }, + "ListEntitiesDetectionJobs":{ + "name":"ListEntitiesDetectionJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEntitiesDetectionJobsRequest"}, + "output":{"shape":"ListEntitiesDetectionJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidFilterException"}, + {"shape":"InternalServerException"} + ] + }, + "ListKeyPhrasesDetectionJobs":{ + "name":"ListKeyPhrasesDetectionJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListKeyPhrasesDetectionJobsRequest"}, + "output":{"shape":"ListKeyPhrasesDetectionJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidFilterException"}, + {"shape":"InternalServerException"} + ] + }, + "ListSentimentDetectionJobs":{ + "name":"ListSentimentDetectionJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSentimentDetectionJobsRequest"}, + "output":{"shape":"ListSentimentDetectionJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidFilterException"}, + {"shape":"InternalServerException"} + ] + }, "ListTopicsDetectionJobs":{ "name":"ListTopicsDetectionJobs", "http":{ @@ -165,6 +316,62 @@ {"shape":"InternalServerException"} ] }, + "StartDominantLanguageDetectionJob":{ + "name":"StartDominantLanguageDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDominantLanguageDetectionJobRequest"}, + "output":{"shape":"StartDominantLanguageDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, + "StartEntitiesDetectionJob":{ + "name":"StartEntitiesDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartEntitiesDetectionJobRequest"}, + "output":{"shape":"StartEntitiesDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, + "StartKeyPhrasesDetectionJob":{ + "name":"StartKeyPhrasesDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartKeyPhrasesDetectionJobRequest"}, + "output":{"shape":"StartKeyPhrasesDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, + "StartSentimentDetectionJob":{ + "name":"StartSentimentDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartSentimentDetectionJobRequest"}, + "output":{"shape":"StartSentimentDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, "StartTopicsDetectionJob":{ "name":"StartTopicsDetectionJob", "http":{ @@ -178,6 +385,62 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalServerException"} ] + }, + "StopDominantLanguageDetectionJob":{ + "name":"StopDominantLanguageDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopDominantLanguageDetectionJobRequest"}, + "output":{"shape":"StopDominantLanguageDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "StopEntitiesDetectionJob":{ + "name":"StopEntitiesDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopEntitiesDetectionJobRequest"}, + "output":{"shape":"StopEntitiesDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "StopKeyPhrasesDetectionJob":{ + "name":"StopKeyPhrasesDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopKeyPhrasesDetectionJobRequest"}, + "output":{"shape":"StopKeyPhrasesDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "StopSentimentDetectionJob":{ + "name":"StopSentimentDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopSentimentDetectionJobRequest"}, + "output":{"shape":"StopSentimentDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"InternalServerException"} + ] } }, "shapes":{ @@ -222,7 +485,7 @@ ], "members":{ "TextList":{"shape":"StringList"}, - "LanguageCode":{"shape":"String"} + "LanguageCode":{"shape":"LanguageCode"} } }, "BatchDetectEntitiesResponse":{ @@ -251,7 +514,7 @@ ], "members":{ "TextList":{"shape":"StringList"}, - "LanguageCode":{"shape":"String"} + "LanguageCode":{"shape":"LanguageCode"} } }, "BatchDetectKeyPhrasesResponse":{ @@ -281,7 +544,7 @@ ], "members":{ "TextList":{"shape":"StringList"}, - "LanguageCode":{"shape":"String"} + "LanguageCode":{"shape":"LanguageCode"} } }, "BatchDetectSentimentResponse":{ @@ -295,6 +558,35 @@ "ErrorList":{"shape":"BatchItemErrorList"} } }, + "BatchDetectSyntaxItemResult":{ + "type":"structure", + "members":{ + "Index":{"shape":"Integer"}, + "SyntaxTokens":{"shape":"ListOfSyntaxTokens"} + } + }, + "BatchDetectSyntaxRequest":{ + "type":"structure", + "required":[ + "TextList", + "LanguageCode" + ], + "members":{ + "TextList":{"shape":"StringList"}, + "LanguageCode":{"shape":"SyntaxLanguageCode"} + } + }, + "BatchDetectSyntaxResponse":{ + "type":"structure", + "required":[ + "ResultList", + "ErrorList" + ], + "members":{ + "ResultList":{"shape":"ListOfDetectSyntaxResult"}, + "ErrorList":{"shape":"BatchItemErrorList"} + } + }, "BatchItemError":{ "type":"structure", "members":{ @@ -320,72 +612,124 @@ "min":1, "pattern":"^[a-zA-Z0-9-]+$" }, - "DescribeTopicsDetectionJobRequest":{ + "DescribeDominantLanguageDetectionJobRequest":{ "type":"structure", "required":["JobId"], "members":{ "JobId":{"shape":"JobId"} } }, - "DescribeTopicsDetectionJobResponse":{ + "DescribeDominantLanguageDetectionJobResponse":{ "type":"structure", "members":{ - "TopicsDetectionJobProperties":{"shape":"TopicsDetectionJobProperties"} + "DominantLanguageDetectionJobProperties":{"shape":"DominantLanguageDetectionJobProperties"} } }, - "DetectDominantLanguageRequest":{ + "DescribeEntitiesDetectionJobRequest":{ "type":"structure", - "required":["Text"], + "required":["JobId"], "members":{ - "Text":{"shape":"String"} + "JobId":{"shape":"JobId"} } }, - "DetectDominantLanguageResponse":{ + "DescribeEntitiesDetectionJobResponse":{ "type":"structure", "members":{ - "Languages":{"shape":"ListOfDominantLanguages"} + "EntitiesDetectionJobProperties":{"shape":"EntitiesDetectionJobProperties"} } }, - "DetectEntitiesRequest":{ + "DescribeKeyPhrasesDetectionJobRequest":{ "type":"structure", - "required":[ - "Text", - "LanguageCode" - ], + "required":["JobId"], "members":{ - "Text":{"shape":"String"}, - "LanguageCode":{"shape":"LanguageCode"} + "JobId":{"shape":"JobId"} } }, - "DetectEntitiesResponse":{ + "DescribeKeyPhrasesDetectionJobResponse":{ "type":"structure", "members":{ - "Entities":{"shape":"ListOfEntities"} + "KeyPhrasesDetectionJobProperties":{"shape":"KeyPhrasesDetectionJobProperties"} } }, - "DetectKeyPhrasesRequest":{ + "DescribeSentimentDetectionJobRequest":{ "type":"structure", - "required":[ - "Text", - "LanguageCode" - ], + "required":["JobId"], "members":{ - "Text":{"shape":"String"}, - "LanguageCode":{"shape":"LanguageCode"} + "JobId":{"shape":"JobId"} } }, - "DetectKeyPhrasesResponse":{ + "DescribeSentimentDetectionJobResponse":{ "type":"structure", "members":{ - "KeyPhrases":{"shape":"ListOfKeyPhrases"} + "SentimentDetectionJobProperties":{"shape":"SentimentDetectionJobProperties"} } }, - "DetectSentimentRequest":{ + "DescribeTopicsDetectionJobRequest":{ "type":"structure", - "required":[ - "Text", - "LanguageCode" - ], + "required":["JobId"], + "members":{ + "JobId":{"shape":"JobId"} + } + }, + "DescribeTopicsDetectionJobResponse":{ + "type":"structure", + "members":{ + "TopicsDetectionJobProperties":{"shape":"TopicsDetectionJobProperties"} + } + }, + "DetectDominantLanguageRequest":{ + "type":"structure", + "required":["Text"], + "members":{ + "Text":{"shape":"String"} + } + }, + "DetectDominantLanguageResponse":{ + "type":"structure", + "members":{ + "Languages":{"shape":"ListOfDominantLanguages"} + } + }, + "DetectEntitiesRequest":{ + "type":"structure", + "required":[ + "Text", + "LanguageCode" + ], + "members":{ + "Text":{"shape":"String"}, + "LanguageCode":{"shape":"LanguageCode"} + } + }, + "DetectEntitiesResponse":{ + "type":"structure", + "members":{ + "Entities":{"shape":"ListOfEntities"} + } + }, + "DetectKeyPhrasesRequest":{ + "type":"structure", + "required":[ + "Text", + "LanguageCode" + ], + "members":{ + "Text":{"shape":"String"}, + "LanguageCode":{"shape":"LanguageCode"} + } + }, + "DetectKeyPhrasesResponse":{ + "type":"structure", + "members":{ + "KeyPhrases":{"shape":"ListOfKeyPhrases"} + } + }, + "DetectSentimentRequest":{ + "type":"structure", + "required":[ + "Text", + "LanguageCode" + ], "members":{ "Text":{"shape":"String"}, "LanguageCode":{"shape":"LanguageCode"} @@ -398,6 +742,23 @@ "SentimentScore":{"shape":"SentimentScore"} } }, + "DetectSyntaxRequest":{ + "type":"structure", + "required":[ + "Text", + "LanguageCode" + ], + "members":{ + "Text":{"shape":"String"}, + "LanguageCode":{"shape":"SyntaxLanguageCode"} + } + }, + "DetectSyntaxResponse":{ + "type":"structure", + "members":{ + "SyntaxTokens":{"shape":"ListOfSyntaxTokens"} + } + }, "DominantLanguage":{ "type":"structure", "members":{ @@ -405,6 +766,61 @@ "Score":{"shape":"Float"} } }, + "DominantLanguageDetectionJobFilter":{ + "type":"structure", + "members":{ + "JobName":{"shape":"JobName"}, + "JobStatus":{"shape":"JobStatus"}, + "SubmitTimeBefore":{"shape":"Timestamp"}, + "SubmitTimeAfter":{"shape":"Timestamp"} + } + }, + "DominantLanguageDetectionJobProperties":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "JobName":{"shape":"JobName"}, + "JobStatus":{"shape":"JobStatus"}, + "Message":{"shape":"AnyLengthString"}, + "SubmitTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "InputDataConfig":{"shape":"InputDataConfig"}, + "OutputDataConfig":{"shape":"OutputDataConfig"}, + "DataAccessRoleArn":{"shape":"IamRoleArn"} + } + }, + "DominantLanguageDetectionJobPropertiesList":{ + "type":"list", + "member":{"shape":"DominantLanguageDetectionJobProperties"} + }, + "EntitiesDetectionJobFilter":{ + "type":"structure", + "members":{ + "JobName":{"shape":"JobName"}, + "JobStatus":{"shape":"JobStatus"}, + "SubmitTimeBefore":{"shape":"Timestamp"}, + "SubmitTimeAfter":{"shape":"Timestamp"} + } + }, + "EntitiesDetectionJobProperties":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "JobName":{"shape":"JobName"}, + "JobStatus":{"shape":"JobStatus"}, + "Message":{"shape":"AnyLengthString"}, + "SubmitTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "InputDataConfig":{"shape":"InputDataConfig"}, + "OutputDataConfig":{"shape":"OutputDataConfig"}, + "LanguageCode":{"shape":"LanguageCode"}, + "DataAccessRoleArn":{"shape":"IamRoleArn"} + } + }, + "EntitiesDetectionJobPropertiesList":{ + "type":"list", + "member":{"shape":"EntitiesDetectionJobProperties"} + }, "Entity":{ "type":"structure", "members":{ @@ -496,7 +912,9 @@ "SUBMITTED", "IN_PROGRESS", "COMPLETED", - "FAILED" + "FAILED", + "STOP_REQUESTED", + "STOPPED" ] }, "KeyPhrase":{ @@ -508,6 +926,34 @@ "EndOffset":{"shape":"Integer"} } }, + "KeyPhrasesDetectionJobFilter":{ + "type":"structure", + "members":{ + "JobName":{"shape":"JobName"}, + "JobStatus":{"shape":"JobStatus"}, + "SubmitTimeBefore":{"shape":"Timestamp"}, + "SubmitTimeAfter":{"shape":"Timestamp"} + } + }, + "KeyPhrasesDetectionJobProperties":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "JobName":{"shape":"JobName"}, + "JobStatus":{"shape":"JobStatus"}, + "Message":{"shape":"AnyLengthString"}, + "SubmitTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "InputDataConfig":{"shape":"InputDataConfig"}, + "OutputDataConfig":{"shape":"OutputDataConfig"}, + "LanguageCode":{"shape":"LanguageCode"}, + "DataAccessRoleArn":{"shape":"IamRoleArn"} + } + }, + "KeyPhrasesDetectionJobPropertiesList":{ + "type":"list", + "member":{"shape":"KeyPhrasesDetectionJobProperties"} + }, "LanguageCode":{ "type":"string", "enum":[ @@ -515,6 +961,51 @@ "es" ] }, + "ListDominantLanguageDetectionJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{"shape":"DominantLanguageDetectionJobFilter"}, + "NextToken":{"shape":"String"}, + "MaxResults":{"shape":"MaxResultsInteger"} + } + }, + "ListDominantLanguageDetectionJobsResponse":{ + "type":"structure", + "members":{ + "DominantLanguageDetectionJobPropertiesList":{"shape":"DominantLanguageDetectionJobPropertiesList"}, + "NextToken":{"shape":"String"} + } + }, + "ListEntitiesDetectionJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{"shape":"EntitiesDetectionJobFilter"}, + "NextToken":{"shape":"String"}, + "MaxResults":{"shape":"MaxResultsInteger"} + } + }, + "ListEntitiesDetectionJobsResponse":{ + "type":"structure", + "members":{ + "EntitiesDetectionJobPropertiesList":{"shape":"EntitiesDetectionJobPropertiesList"}, + "NextToken":{"shape":"String"} + } + }, + "ListKeyPhrasesDetectionJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{"shape":"KeyPhrasesDetectionJobFilter"}, + "NextToken":{"shape":"String"}, + "MaxResults":{"shape":"MaxResultsInteger"} + } + }, + "ListKeyPhrasesDetectionJobsResponse":{ + "type":"structure", + "members":{ + "KeyPhrasesDetectionJobPropertiesList":{"shape":"KeyPhrasesDetectionJobPropertiesList"}, + "NextToken":{"shape":"String"} + } + }, "ListOfDetectDominantLanguageResult":{ "type":"list", "member":{"shape":"BatchDetectDominantLanguageItemResult"} @@ -531,6 +1022,10 @@ "type":"list", "member":{"shape":"BatchDetectSentimentItemResult"} }, + "ListOfDetectSyntaxResult":{ + "type":"list", + "member":{"shape":"BatchDetectSyntaxItemResult"} + }, "ListOfDominantLanguages":{ "type":"list", "member":{"shape":"DominantLanguage"} @@ -543,6 +1038,25 @@ "type":"list", "member":{"shape":"KeyPhrase"} }, + "ListOfSyntaxTokens":{ + "type":"list", + "member":{"shape":"SyntaxToken"} + }, + "ListSentimentDetectionJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{"shape":"SentimentDetectionJobFilter"}, + "NextToken":{"shape":"String"}, + "MaxResults":{"shape":"MaxResultsInteger"} + } + }, + "ListSentimentDetectionJobsResponse":{ + "type":"structure", + "members":{ + "SentimentDetectionJobPropertiesList":{"shape":"SentimentDetectionJobPropertiesList"}, + "NextToken":{"shape":"String"} + } + }, "ListTopicsDetectionJobsRequest":{ "type":"structure", "members":{ @@ -575,10 +1089,67 @@ "S3Uri":{"shape":"S3Uri"} } }, + "PartOfSpeechTag":{ + "type":"structure", + "members":{ + "Tag":{"shape":"PartOfSpeechTagType"}, + "Score":{"shape":"Float"} + } + }, + "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://([^/]+)(/.*)?" + "pattern":"s3://[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9](/.*)?" + }, + "SentimentDetectionJobFilter":{ + "type":"structure", + "members":{ + "JobName":{"shape":"JobName"}, + "JobStatus":{"shape":"JobStatus"}, + "SubmitTimeBefore":{"shape":"Timestamp"}, + "SubmitTimeAfter":{"shape":"Timestamp"} + } + }, + "SentimentDetectionJobProperties":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "JobName":{"shape":"JobName"}, + "JobStatus":{"shape":"JobStatus"}, + "Message":{"shape":"AnyLengthString"}, + "SubmitTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "InputDataConfig":{"shape":"InputDataConfig"}, + "OutputDataConfig":{"shape":"OutputDataConfig"}, + "LanguageCode":{"shape":"LanguageCode"}, + "DataAccessRoleArn":{"shape":"IamRoleArn"} + } + }, + "SentimentDetectionJobPropertiesList":{ + "type":"list", + "member":{"shape":"SentimentDetectionJobProperties"} }, "SentimentScore":{ "type":"structure", @@ -598,6 +1169,112 @@ "MIXED" ] }, + "StartDominantLanguageDetectionJobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn" + ], + "members":{ + "InputDataConfig":{"shape":"InputDataConfig"}, + "OutputDataConfig":{"shape":"OutputDataConfig"}, + "DataAccessRoleArn":{"shape":"IamRoleArn"}, + "JobName":{"shape":"JobName"}, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "idempotencyToken":true + } + } + }, + "StartDominantLanguageDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "JobStatus":{"shape":"JobStatus"} + } + }, + "StartEntitiesDetectionJobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn", + "LanguageCode" + ], + "members":{ + "InputDataConfig":{"shape":"InputDataConfig"}, + "OutputDataConfig":{"shape":"OutputDataConfig"}, + "DataAccessRoleArn":{"shape":"IamRoleArn"}, + "JobName":{"shape":"JobName"}, + "LanguageCode":{"shape":"LanguageCode"}, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "idempotencyToken":true + } + } + }, + "StartEntitiesDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "JobStatus":{"shape":"JobStatus"} + } + }, + "StartKeyPhrasesDetectionJobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn", + "LanguageCode" + ], + "members":{ + "InputDataConfig":{"shape":"InputDataConfig"}, + "OutputDataConfig":{"shape":"OutputDataConfig"}, + "DataAccessRoleArn":{"shape":"IamRoleArn"}, + "JobName":{"shape":"JobName"}, + "LanguageCode":{"shape":"LanguageCode"}, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "idempotencyToken":true + } + } + }, + "StartKeyPhrasesDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "JobStatus":{"shape":"JobStatus"} + } + }, + "StartSentimentDetectionJobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn", + "LanguageCode" + ], + "members":{ + "InputDataConfig":{"shape":"InputDataConfig"}, + "OutputDataConfig":{"shape":"OutputDataConfig"}, + "DataAccessRoleArn":{"shape":"IamRoleArn"}, + "JobName":{"shape":"JobName"}, + "LanguageCode":{"shape":"LanguageCode"}, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "idempotencyToken":true + } + } + }, + "StartSentimentDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "JobStatus":{"shape":"JobStatus"} + } + }, "StartTopicsDetectionJobRequest":{ "type":"structure", "required":[ @@ -624,6 +1301,62 @@ "JobStatus":{"shape":"JobStatus"} } }, + "StopDominantLanguageDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{"shape":"JobId"} + } + }, + "StopDominantLanguageDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "JobStatus":{"shape":"JobStatus"} + } + }, + "StopEntitiesDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{"shape":"JobId"} + } + }, + "StopEntitiesDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "JobStatus":{"shape":"JobStatus"} + } + }, + "StopKeyPhrasesDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{"shape":"JobId"} + } + }, + "StopKeyPhrasesDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "JobStatus":{"shape":"JobStatus"} + } + }, + "StopSentimentDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{"shape":"JobId"} + } + }, + "StopSentimentDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "JobStatus":{"shape":"JobStatus"} + } + }, "String":{ "type":"string", "min":1 @@ -632,6 +1365,20 @@ "type":"list", "member":{"shape":"String"} }, + "SyntaxLanguageCode":{ + "type":"string", + "enum":["en"] + }, + "SyntaxToken":{ + "type":"structure", + "members":{ + "TokenId":{"shape":"Integer"}, + "Text":{"shape":"String"}, + "BeginOffset":{"shape":"Integer"}, + "EndOffset":{"shape":"Integer"}, + "PartOfSpeech":{"shape":"PartOfSpeechTag"} + } + }, "TextSizeLimitExceededException":{ "type":"structure", "members":{ diff --git a/models/apis/comprehend/2017-11-27/docs-2.json b/models/apis/comprehend/2017-11-27/docs-2.json index 429c6eebd5a..21ee211baac 100644 --- a/models/apis/comprehend/2017-11-27/docs-2.json +++ b/models/apis/comprehend/2017-11-27/docs-2.json @@ -3,21 +3,43 @@ "service": "

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.

", "operations": { "BatchDetectDominantLanguage": "

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

Inspects the text of a batch of documents and returns information about them. For more information about entities, see how-entities

", + "BatchDetectEntities": "

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

Detects the key noun phrases found in a batch of documents.

", "BatchDetectSentiment": "

Inspects a batch of documents and returns an inference of the prevailing sentiment, POSITIVE, NEUTRAL, MIXED, or NEGATIVE, in each one.

", + "BatchDetectSyntax": "

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

Gets the properties associated with a dominant language detection job. Use this operation to get the status of a detection job.

", + "DescribeEntitiesDetectionJob": "

Gets the properties associated with an entities detection job. Use this operation to get the status of a detection job.

", + "DescribeKeyPhrasesDetectionJob": "

Gets the properties associated with a key phrases detection job. Use this operation to get the status of a detection job.

", + "DescribeSentimentDetectionJob": "

Gets the properties associated with a sentiment detection job. Use this operation to get the status of a detection job.

", "DescribeTopicsDetectionJob": "

Gets the properties associated with a topic detection job. Use this operation to get the status of a detection job.

", "DetectDominantLanguage": "

Determines the dominant language of the input text. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages.

", - "DetectEntities": "

Inspects text for entities, and returns information about them. For more information, about entities, see how-entities.

", + "DetectEntities": "

Inspects text for named entities, and returns information about them. For more information, about named entities, see how-entities.

", "DetectKeyPhrases": "

Detects the key noun phrases found in the text.

", "DetectSentiment": "

Inspects text and returns an inference of the prevailing sentiment (POSITIVE, NEUTRAL, MIXED, or NEGATIVE).

", + "DetectSyntax": "

Inspects text for syntax and the part of speech of words in the document. For more information, how-syntax.

", + "ListDominantLanguageDetectionJobs": "

Gets a list of the dominant language detection jobs that you have submitted.

", + "ListEntitiesDetectionJobs": "

Gets a list of the entity detection jobs that you have submitted.

", + "ListKeyPhrasesDetectionJobs": "

Get a list of key phrase detection jobs that you have submitted.

", + "ListSentimentDetectionJobs": "

Gets a list of sentiment detection jobs that you have submitted.

", "ListTopicsDetectionJobs": "

Gets a list of the topic detection jobs that you have submitted.

", - "StartTopicsDetectionJob": "

Starts an asynchronous topic detection job. Use the DescribeTopicDetectionJob operation to track the status of a job.

" + "StartDominantLanguageDetectionJob": "

Starts an asynchronous dominant language detection job for a collection of documents. Use the operation to track the status of a job.

", + "StartEntitiesDetectionJob": "

Starts an asynchronous entity detection job for a collection of documents. Use the operation to track the status of a job.

", + "StartKeyPhrasesDetectionJob": "

Starts an asynchronous key phrase detection job for a collection of documents. Use the operation to track the status of a job.

", + "StartSentimentDetectionJob": "

Starts an asynchronous sentiment detection job for a collection of documents. use the operation to track the status of a job.

", + "StartTopicsDetectionJob": "

Starts an asynchronous topic detection job. Use the DescribeTopicDetectionJob operation to track the status of a job.

", + "StopDominantLanguageDetectionJob": "

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

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

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

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": { "base": null, "refs": { + "DominantLanguageDetectionJobProperties$Message": "

A description for the status of a job.

", + "EntitiesDetectionJobProperties$Message": "

A description of the status of a job.

", + "KeyPhrasesDetectionJobProperties$Message": "

A description of the status of a job.

", + "SentimentDetectionJobProperties$Message": "

A description of the status of a job.

", "TopicsDetectionJobProperties$Message": "

A description for the status of a job.

" } }, @@ -85,6 +107,22 @@ "refs": { } }, + "BatchDetectSyntaxItemResult": { + "base": "

The result of calling the operation. The operation returns one object that is successfully processed by the operation.

", + "refs": { + "ListOfDetectSyntaxResult$member": null + } + }, + "BatchDetectSyntaxRequest": { + "base": null, + "refs": { + } + }, + "BatchDetectSyntaxResponse": { + "base": null, + "refs": { + } + }, "BatchItemError": { "base": "

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.

", "refs": { @@ -97,7 +135,8 @@ "BatchDetectDominantLanguageResponse$ErrorList": "

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.

", "BatchDetectEntitiesResponse$ErrorList": "

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.

", "BatchDetectKeyPhrasesResponse$ErrorList": "

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.

", - "BatchDetectSentimentResponse$ErrorList": "

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.

" + "BatchDetectSentimentResponse$ErrorList": "

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.

", + "BatchDetectSyntaxResponse$ErrorList": "

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.

" } }, "BatchSizeLimitExceededException": { @@ -108,9 +147,53 @@ "ClientRequestTokenString": { "base": null, "refs": { + "StartDominantLanguageDetectionJobRequest$ClientRequestToken": "

A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

", + "StartEntitiesDetectionJobRequest$ClientRequestToken": "

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", + "StartKeyPhrasesDetectionJobRequest$ClientRequestToken": "

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", + "StartSentimentDetectionJobRequest$ClientRequestToken": "

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", "StartTopicsDetectionJobRequest$ClientRequestToken": "

A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

" } }, + "DescribeDominantLanguageDetectionJobRequest": { + "base": null, + "refs": { + } + }, + "DescribeDominantLanguageDetectionJobResponse": { + "base": null, + "refs": { + } + }, + "DescribeEntitiesDetectionJobRequest": { + "base": null, + "refs": { + } + }, + "DescribeEntitiesDetectionJobResponse": { + "base": null, + "refs": { + } + }, + "DescribeKeyPhrasesDetectionJobRequest": { + "base": null, + "refs": { + } + }, + "DescribeKeyPhrasesDetectionJobResponse": { + "base": null, + "refs": { + } + }, + "DescribeSentimentDetectionJobRequest": { + "base": null, + "refs": { + } + }, + "DescribeSentimentDetectionJobResponse": { + "base": null, + "refs": { + } + }, "DescribeTopicsDetectionJobRequest": { "base": null, "refs": { @@ -161,12 +244,60 @@ "refs": { } }, + "DetectSyntaxRequest": { + "base": null, + "refs": { + } + }, + "DetectSyntaxResponse": { + "base": null, + "refs": { + } + }, "DominantLanguage": { "base": "

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.

", "refs": { "ListOfDominantLanguages$member": null } }, + "DominantLanguageDetectionJobFilter": { + "base": "

Provides information for filtering a list of dominant language detection jobs. For more information, see the operation.

", + "refs": { + "ListDominantLanguageDetectionJobsRequest$Filter": "

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.

" + } + }, + "DominantLanguageDetectionJobProperties": { + "base": "

Provides information about a dominant language detection job.

", + "refs": { + "DescribeDominantLanguageDetectionJobResponse$DominantLanguageDetectionJobProperties": "

An object that contains the properties associated with a dominant language detection job.

", + "DominantLanguageDetectionJobPropertiesList$member": null + } + }, + "DominantLanguageDetectionJobPropertiesList": { + "base": null, + "refs": { + "ListDominantLanguageDetectionJobsResponse$DominantLanguageDetectionJobPropertiesList": "

A list containing the properties of each job that is returned.

" + } + }, + "EntitiesDetectionJobFilter": { + "base": "

Provides information for filtering a list of dominant language detection jobs. For more information, see the operation.

", + "refs": { + "ListEntitiesDetectionJobsRequest$Filter": "

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.

" + } + }, + "EntitiesDetectionJobProperties": { + "base": "

Provides information about an entities detection job.

", + "refs": { + "DescribeEntitiesDetectionJobResponse$EntitiesDetectionJobProperties": "

An object that contains the properties associated with an entities detection job.

", + "EntitiesDetectionJobPropertiesList$member": null + } + }, + "EntitiesDetectionJobPropertiesList": { + "base": null, + "refs": { + "ListEntitiesDetectionJobsResponse$EntitiesDetectionJobPropertiesList": "

A list containing the properties of each job that is returned.

" + } + }, "Entity": { "base": "

Provides information about an entity.

", "refs": { @@ -185,6 +316,7 @@ "DominantLanguage$Score": "

The level of confidence that Amazon Comprehend has in the accuracy of the detection.

", "Entity$Score": "

The level of confidence that Amazon Comprehend has in the accuracy of the detection.

", "KeyPhrase$Score": "

The level of confidence that Amazon Comprehend has in the accuracy of the detection.

", + "PartOfSpeechTag$Score": "

The confidence that Amazon Comprehend has that the part of speech was correctly identified.

", "SentimentScore$Positive": "

The level of confidence that Amazon Comprehend has in the accuracy of its detection of the POSITIVE sentiment.

", "SentimentScore$Negative": "

The level of confidence that Amazon Comprehend has in the accuracy of its detection of the NEGATIVE sentiment.

", "SentimentScore$Neutral": "

The level of confidence that Amazon Comprehend has in the accuracy of its detection of the NEUTRAL sentiment.

", @@ -194,12 +326,28 @@ "IamRoleArn": { "base": null, "refs": { - "StartTopicsDetectionJobRequest$DataAccessRoleArn": "

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data.

" + "DominantLanguageDetectionJobProperties$DataAccessRoleArn": "

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

", + "EntitiesDetectionJobProperties$DataAccessRoleArn": "

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

", + "KeyPhrasesDetectionJobProperties$DataAccessRoleArn": "

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

", + "SentimentDetectionJobProperties$DataAccessRoleArn": "

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

", + "StartDominantLanguageDetectionJobRequest$DataAccessRoleArn": "

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.

", + "StartEntitiesDetectionJobRequest$DataAccessRoleArn": "

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.

", + "StartKeyPhrasesDetectionJobRequest$DataAccessRoleArn": "

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.

", + "StartSentimentDetectionJobRequest$DataAccessRoleArn": "

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.

", + "StartTopicsDetectionJobRequest$DataAccessRoleArn": "

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.

" } }, "InputDataConfig": { "base": "

The input properties for a topic detection job.

", "refs": { + "DominantLanguageDetectionJobProperties$InputDataConfig": "

The input data configuration that you supplied when you created the dominant language detection job.

", + "EntitiesDetectionJobProperties$InputDataConfig": "

The input data configuration that you supplied when you created the entities detection job.

", + "KeyPhrasesDetectionJobProperties$InputDataConfig": "

The input data configuration that you supplied when you created the key phrases detection job.

", + "SentimentDetectionJobProperties$InputDataConfig": "

The input data configuration that you supplied when you created the sentiment detection job.

", + "StartDominantLanguageDetectionJobRequest$InputDataConfig": "

Specifies the format and location of the input data for the job.

", + "StartEntitiesDetectionJobRequest$InputDataConfig": "

Specifies the format and location of the input data for the job.

", + "StartKeyPhrasesDetectionJobRequest$InputDataConfig": "

Specifies the format and location of the input data for the job.

", + "StartSentimentDetectionJobRequest$InputDataConfig": "

Specifies the format and location of the input data for the job.

", "StartTopicsDetectionJobRequest$InputDataConfig": "

Specifies the format and location of the input data for the job.

", "TopicsDetectionJobProperties$InputDataConfig": "

The input data configuration supplied when you created the topic detection job.

" } @@ -217,11 +365,15 @@ "BatchDetectEntitiesItemResult$Index": "

The zero-based index of the document in the input list.

", "BatchDetectKeyPhrasesItemResult$Index": "

The zero-based index of the document in the input list.

", "BatchDetectSentimentItemResult$Index": "

The zero-based index of the document in the input list.

", + "BatchDetectSyntaxItemResult$Index": "

The zero-based index of the document in the input list.

", "BatchItemError$Index": "

The zero-based index of the document in the input list.

", "Entity$BeginOffset": "

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.

", "Entity$EndOffset": "

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.

", "KeyPhrase$BeginOffset": "

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.

", "KeyPhrase$EndOffset": "

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.

", + "SyntaxToken$TokenId": "

A unique identifier for a token.

", + "SyntaxToken$BeginOffset": "

The zero-based offset from the beginning of the source text to the first character in the word.

", + "SyntaxToken$EndOffset": "

The zero-based offset from the beginning of the source text to the last character in the word.

", "TopicsDetectionJobProperties$NumberOfTopics": "

The number of topics to detect supplied when you created the topic detection job. The default is 10.

" } }, @@ -243,14 +395,46 @@ "JobId": { "base": null, "refs": { + "DescribeDominantLanguageDetectionJobRequest$JobId": "

The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

", + "DescribeEntitiesDetectionJobRequest$JobId": "

The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

", + "DescribeKeyPhrasesDetectionJobRequest$JobId": "

The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

", + "DescribeSentimentDetectionJobRequest$JobId": "

The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

", "DescribeTopicsDetectionJobRequest$JobId": "

The identifier assigned by the user to the detection job.

", + "DominantLanguageDetectionJobProperties$JobId": "

The identifier assigned to the dominant language detection job.

", + "EntitiesDetectionJobProperties$JobId": "

The identifier assigned to the entities detection job.

", + "KeyPhrasesDetectionJobProperties$JobId": "

The identifier assigned to the key phrases detection job.

", + "SentimentDetectionJobProperties$JobId": "

The identifier assigned to the sentiment detection job.

", + "StartDominantLanguageDetectionJobResponse$JobId": "

The identifier generated for the job. To get the status of a job, use this identifier with the operation.

", + "StartEntitiesDetectionJobResponse$JobId": "

The identifier generated for the job. To get the status of job, use this identifier with the operation.

", + "StartKeyPhrasesDetectionJobResponse$JobId": "

The identifier generated for the job. To get the status of a job, use this identifier with the operation.

", + "StartSentimentDetectionJobResponse$JobId": "

The identifier generated for the job. To get the status of a job, use this identifier with the operation.

", "StartTopicsDetectionJobResponse$JobId": "

The identifier generated for the job. To get the status of the job, use this identifier with the DescribeTopicDetectionJob operation.

", + "StopDominantLanguageDetectionJobRequest$JobId": "

The identifier of the dominant language detection job to stop.

", + "StopDominantLanguageDetectionJobResponse$JobId": "

The identifier of the dominant language detection job to stop.

", + "StopEntitiesDetectionJobRequest$JobId": "

The identifier of the entities detection job to stop.

", + "StopEntitiesDetectionJobResponse$JobId": "

The identifier of the entities detection job to stop.

", + "StopKeyPhrasesDetectionJobRequest$JobId": "

The identifier of the key phrases detection job to stop.

", + "StopKeyPhrasesDetectionJobResponse$JobId": "

The identifier of the key phrases detection job to stop.

", + "StopSentimentDetectionJobRequest$JobId": "

The identifier of the sentiment detection job to stop.

", + "StopSentimentDetectionJobResponse$JobId": "

The identifier of the sentiment detection job to stop.

", "TopicsDetectionJobProperties$JobId": "

The identifier assigned to the topic detection job.

" } }, "JobName": { "base": null, "refs": { + "DominantLanguageDetectionJobFilter$JobName": "

Filters on the name of the job.

", + "DominantLanguageDetectionJobProperties$JobName": "

The name that you assigned to the dominant language detection job.

", + "EntitiesDetectionJobFilter$JobName": "

Filters on the name of the job.

", + "EntitiesDetectionJobProperties$JobName": "

The name that you assigned the entities detection job.

", + "KeyPhrasesDetectionJobFilter$JobName": "

Filters on the name of the job.

", + "KeyPhrasesDetectionJobProperties$JobName": "

The name that you assigned the key phrases detection job.

", + "SentimentDetectionJobFilter$JobName": "

Filters on the name of the job.

", + "SentimentDetectionJobProperties$JobName": "

The name that you assigned to the sentiment detection job

", + "StartDominantLanguageDetectionJobRequest$JobName": "

An identifier for the job.

", + "StartEntitiesDetectionJobRequest$JobName": "

The identifier of the job.

", + "StartKeyPhrasesDetectionJobRequest$JobName": "

The identifier of the job.

", + "StartSentimentDetectionJobRequest$JobName": "

The identifier of the job.

", "StartTopicsDetectionJobRequest$JobName": "

The identifier of the job.

", "TopicsDetectionJobFilter$JobName": "

", "TopicsDetectionJobProperties$JobName": "

The name of the topic detection job.

" @@ -264,7 +448,23 @@ "JobStatus": { "base": null, "refs": { + "DominantLanguageDetectionJobFilter$JobStatus": "

Filters the list of jobs based on job status. Returns only jobs with the specified status.

", + "DominantLanguageDetectionJobProperties$JobStatus": "

The current status of the dominant language detection job. If the status is FAILED, the Message field shows the reason for the failure.

", + "EntitiesDetectionJobFilter$JobStatus": "

Filters the list of jobs based on job status. Returns only jobs with the specified status.

", + "EntitiesDetectionJobProperties$JobStatus": "

The current status of the entities detection job. If the status is FAILED, the Message field shows the reason for the failure.

", + "KeyPhrasesDetectionJobFilter$JobStatus": "

Filters the list of jobs based on job status. Returns only jobs with the specified status.

", + "KeyPhrasesDetectionJobProperties$JobStatus": "

The current status of the key phrases detection job. If the status is FAILED, the Message field shows the reason for the failure.

", + "SentimentDetectionJobFilter$JobStatus": "

Filters the list of jobs based on job status. Returns only jobs with the specified status.

", + "SentimentDetectionJobProperties$JobStatus": "

The current status of the sentiment detection job. If the status is FAILED, the Messages field shows the reason for the failure.

", + "StartDominantLanguageDetectionJobResponse$JobStatus": "

The status of the job.

", + "StartEntitiesDetectionJobResponse$JobStatus": "

The status of the job.

", + "StartKeyPhrasesDetectionJobResponse$JobStatus": "

The status of the job.

", + "StartSentimentDetectionJobResponse$JobStatus": "

The status of the job.

", "StartTopicsDetectionJobResponse$JobStatus": "

The status of the job:

", + "StopDominantLanguageDetectionJobResponse$JobStatus": "

Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopDominantLanguageDetectionJob operation.

", + "StopEntitiesDetectionJobResponse$JobStatus": "

Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopEntitiesDetectionJob operation.

", + "StopKeyPhrasesDetectionJobResponse$JobStatus": "

Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopKeyPhrasesDetectionJob operation.

", + "StopSentimentDetectionJobResponse$JobStatus": "

Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopSentimentDetectionJob operation.

", "TopicsDetectionJobFilter$JobStatus": "

Filters the list of topic detection jobs based on job status. Returns only jobs with the specified status.

", "TopicsDetectionJobProperties$JobStatus": "

The current status of the topic detection job. If the status is Failed, the reason for the failure is shown in the Message field.

" } @@ -275,12 +475,70 @@ "ListOfKeyPhrases$member": null } }, + "KeyPhrasesDetectionJobFilter": { + "base": "

Provides information for filtering a list of dominant language detection jobs. For more information, see the operation.

", + "refs": { + "ListKeyPhrasesDetectionJobsRequest$Filter": "

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.

" + } + }, + "KeyPhrasesDetectionJobProperties": { + "base": "

Provides information about a key phrases detection job.

", + "refs": { + "DescribeKeyPhrasesDetectionJobResponse$KeyPhrasesDetectionJobProperties": "

An object that contains the properties associated with a key phrases detection job.

", + "KeyPhrasesDetectionJobPropertiesList$member": null + } + }, + "KeyPhrasesDetectionJobPropertiesList": { + "base": null, + "refs": { + "ListKeyPhrasesDetectionJobsResponse$KeyPhrasesDetectionJobPropertiesList": "

A list containing the properties of each job that is returned.

" + } + }, "LanguageCode": { "base": null, "refs": { - "DetectEntitiesRequest$LanguageCode": "

The RFC 5646 language code of the input text. If the request does not specify the language code, the service detects the dominant language. If you specify a language code that the service does not support, it returns UnsupportedLanguageException exception. For more information about RFC 5646, see Tags for Identifying Languages on the IETF Tools web site.

", - "DetectKeyPhrasesRequest$LanguageCode": "

The RFC 5646 language code for the input text. If you don't specify a language code, Amazon Comprehend detects the dominant language. If you specify the code for a language that Amazon Comprehend does not support, it returns and UnsupportedLanguageException. For more information about RFC 5646, see Tags for Identifying Languages on the IETF Tools web site.

", - "DetectSentimentRequest$LanguageCode": "

The RFC 5646 language code for the input text. If you don't specify a language code, Amazon Comprehend detects the dominant language. If you specify the code for a language that Amazon Comprehend does not support, it returns and UnsupportedLanguageException. For more information about RFC 5646, see Tags for Identifying Languages on the IETF Tools web site.

" + "BatchDetectEntitiesRequest$LanguageCode": "

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

", + "BatchDetectKeyPhrasesRequest$LanguageCode": "

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

", + "BatchDetectSentimentRequest$LanguageCode": "

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

", + "DetectEntitiesRequest$LanguageCode": "

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

", + "DetectKeyPhrasesRequest$LanguageCode": "

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

", + "DetectSentimentRequest$LanguageCode": "

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

", + "EntitiesDetectionJobProperties$LanguageCode": "

The language code of the input documents.

", + "KeyPhrasesDetectionJobProperties$LanguageCode": "

The language code of the input documents.

", + "SentimentDetectionJobProperties$LanguageCode": "

The language code of the input documents.

", + "StartEntitiesDetectionJobRequest$LanguageCode": "

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

", + "StartKeyPhrasesDetectionJobRequest$LanguageCode": "

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

", + "StartSentimentDetectionJobRequest$LanguageCode": "

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

" + } + }, + "ListDominantLanguageDetectionJobsRequest": { + "base": null, + "refs": { + } + }, + "ListDominantLanguageDetectionJobsResponse": { + "base": null, + "refs": { + } + }, + "ListEntitiesDetectionJobsRequest": { + "base": null, + "refs": { + } + }, + "ListEntitiesDetectionJobsResponse": { + "base": null, + "refs": { + } + }, + "ListKeyPhrasesDetectionJobsRequest": { + "base": null, + "refs": { + } + }, + "ListKeyPhrasesDetectionJobsResponse": { + "base": null, + "refs": { } }, "ListOfDetectDominantLanguageResult": { @@ -307,6 +565,12 @@ "BatchDetectSentimentResponse$ResultList": "

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.

" } }, + "ListOfDetectSyntaxResult": { + "base": null, + "refs": { + "BatchDetectSyntaxResponse$ResultList": "

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.

" + } + }, "ListOfDominantLanguages": { "base": null, "refs": { @@ -328,6 +592,23 @@ "DetectKeyPhrasesResponse$KeyPhrases": "

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.

" } }, + "ListOfSyntaxTokens": { + "base": null, + "refs": { + "BatchDetectSyntaxItemResult$SyntaxTokens": "

The syntax tokens for the words in the document, one token for each word.

", + "DetectSyntaxResponse$SyntaxTokens": "

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.

" + } + }, + "ListSentimentDetectionJobsRequest": { + "base": null, + "refs": { + } + }, + "ListSentimentDetectionJobsResponse": { + "base": null, + "refs": { + } + }, "ListTopicsDetectionJobsRequest": { "base": null, "refs": { @@ -341,7 +622,11 @@ "MaxResultsInteger": { "base": null, "refs": { - "ListTopicsDetectionJobsRequest$MaxResults": "

The maximum number of results to return in each page.

" + "ListDominantLanguageDetectionJobsRequest$MaxResults": "

The maximum number of results to return in each page. The default is 100.

", + "ListEntitiesDetectionJobsRequest$MaxResults": "

The maximum number of results to return in each page. The default is 100.

", + "ListKeyPhrasesDetectionJobsRequest$MaxResults": "

The maximum number of results to return in each page. The default is 100.

", + "ListSentimentDetectionJobsRequest$MaxResults": "

The maximum number of results to return in each page. The default is 100.

", + "ListTopicsDetectionJobsRequest$MaxResults": "

The maximum number of results to return in each page. The default is 100.

" } }, "NumberOfTopicsInteger": { @@ -353,15 +638,54 @@ "OutputDataConfig": { "base": "

Provides configuration parameters for the output of topic detection jobs.

", "refs": { - "StartTopicsDetectionJobRequest$OutputDataConfig": "

Specifies where to send the output files.

", + "DominantLanguageDetectionJobProperties$OutputDataConfig": "

The output data configuration that you supplied when you created the dominant language detection job.

", + "EntitiesDetectionJobProperties$OutputDataConfig": "

The output data configuration that you supplied when you created the entities detection job.

", + "KeyPhrasesDetectionJobProperties$OutputDataConfig": "

The output data configuration that you supplied when you created the key phrases detection job.

", + "SentimentDetectionJobProperties$OutputDataConfig": "

The output data configuration that you supplied when you created the sentiment detection job.

", + "StartDominantLanguageDetectionJobRequest$OutputDataConfig": "

Specifies where to send the output files.

", + "StartEntitiesDetectionJobRequest$OutputDataConfig": "

Specifies where to send the output files.

", + "StartKeyPhrasesDetectionJobRequest$OutputDataConfig": "

Specifies where to send the output files.

", + "StartSentimentDetectionJobRequest$OutputDataConfig": "

Specifies where to send the output files.

", + "StartTopicsDetectionJobRequest$OutputDataConfig": "

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

", "TopicsDetectionJobProperties$OutputDataConfig": "

The output data configuration supplied when you created the topic detection job.

" } }, + "PartOfSpeechTag": { + "base": "

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.

", + "refs": { + "SyntaxToken$PartOfSpeech": "

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.

" + } + }, + "PartOfSpeechTagType": { + "base": null, + "refs": { + "PartOfSpeechTag$Tag": "

Identifies the part of speech that the token represents.

" + } + }, "S3Uri": { "base": null, "refs": { "InputDataConfig$S3Uri": "

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.

", - "OutputDataConfig$S3Uri": "

The Amazon S3 URI 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 service creates an output file called output.tar.gz. It is a compressed archive that contains 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. For more information, see topic-modeling.

" + "OutputDataConfig$S3Uri": "

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.

" + } + }, + "SentimentDetectionJobFilter": { + "base": "

Provides information for filtering a list of dominant language detection jobs. For more information, see the operation.

", + "refs": { + "ListSentimentDetectionJobsRequest$Filter": "

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.

" + } + }, + "SentimentDetectionJobProperties": { + "base": "

Provides information about a sentiment detection job.

", + "refs": { + "DescribeSentimentDetectionJobResponse$SentimentDetectionJobProperties": "

An object that contains the properties associated with a sentiment detection job.

", + "SentimentDetectionJobPropertiesList$member": null + } + }, + "SentimentDetectionJobPropertiesList": { + "base": null, + "refs": { + "ListSentimentDetectionJobsResponse$SentimentDetectionJobPropertiesList": "

A list containing the properties of each job that is returned.

" } }, "SentimentScore": { @@ -378,6 +702,46 @@ "DetectSentimentResponse$Sentiment": "

The inferred sentiment that Amazon Comprehend has the highest level of confidence in.

" } }, + "StartDominantLanguageDetectionJobRequest": { + "base": null, + "refs": { + } + }, + "StartDominantLanguageDetectionJobResponse": { + "base": null, + "refs": { + } + }, + "StartEntitiesDetectionJobRequest": { + "base": null, + "refs": { + } + }, + "StartEntitiesDetectionJobResponse": { + "base": null, + "refs": { + } + }, + "StartKeyPhrasesDetectionJobRequest": { + "base": null, + "refs": { + } + }, + "StartKeyPhrasesDetectionJobResponse": { + "base": null, + "refs": { + } + }, + "StartSentimentDetectionJobRequest": { + "base": null, + "refs": { + } + }, + "StartSentimentDetectionJobResponse": { + "base": null, + "refs": { + } + }, "StartTopicsDetectionJobRequest": { "base": null, "refs": { @@ -388,12 +752,49 @@ "refs": { } }, + "StopDominantLanguageDetectionJobRequest": { + "base": null, + "refs": { + } + }, + "StopDominantLanguageDetectionJobResponse": { + "base": null, + "refs": { + } + }, + "StopEntitiesDetectionJobRequest": { + "base": null, + "refs": { + } + }, + "StopEntitiesDetectionJobResponse": { + "base": null, + "refs": { + } + }, + "StopKeyPhrasesDetectionJobRequest": { + "base": null, + "refs": { + } + }, + "StopKeyPhrasesDetectionJobResponse": { + "base": null, + "refs": { + } + }, + "StopSentimentDetectionJobRequest": { + "base": null, + "refs": { + } + }, + "StopSentimentDetectionJobResponse": { + "base": null, + "refs": { + } + }, "String": { "base": null, "refs": { - "BatchDetectEntitiesRequest$LanguageCode": "

The language of the input documents. All documents must be in the same language.

", - "BatchDetectKeyPhrasesRequest$LanguageCode": "

The language of the input documents. All documents must be in the same language.

", - "BatchDetectSentimentRequest$LanguageCode": "

The language of the input documents. All documents must be in the same language.

", "BatchItemError$ErrorCode": "

The numeric error code of the error.

", "BatchItemError$ErrorMessage": "

A text description of the error.

", "BatchSizeLimitExceededException$Message": null, @@ -401,16 +802,26 @@ "DetectEntitiesRequest$Text": "

A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.

", "DetectKeyPhrasesRequest$Text": "

A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.

", "DetectSentimentRequest$Text": "

A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.

", - "DominantLanguage$LanguageCode": "

The RFC 5646 language code for the dominant language.

", + "DetectSyntaxRequest$Text": "

A UTF-8 string. Each string must contain fewer that 5,000 bytes of UTF encoded characters.

", + "DominantLanguage$LanguageCode": "

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.

", "Entity$Text": "

The text of the entity.

", "InternalServerException$Message": null, "InvalidFilterException$Message": null, "InvalidRequestException$Message": null, "JobNotFoundException$Message": null, "KeyPhrase$Text": "

The text of a key noun phrase.

", + "ListDominantLanguageDetectionJobsRequest$NextToken": "

Identifies the next page of results to return.

", + "ListDominantLanguageDetectionJobsResponse$NextToken": "

Identifies the next page of results to return.

", + "ListEntitiesDetectionJobsRequest$NextToken": "

Identifies the next page of results to return.

", + "ListEntitiesDetectionJobsResponse$NextToken": "

Identifies the next page of results to return.

", + "ListKeyPhrasesDetectionJobsRequest$NextToken": "

Identifies the next page of results to return.

", + "ListKeyPhrasesDetectionJobsResponse$NextToken": "

Identifies the next page of results to return.

", + "ListSentimentDetectionJobsRequest$NextToken": "

Identifies the next page of results to return.

", + "ListSentimentDetectionJobsResponse$NextToken": "

Identifies the next page of results to return.

", "ListTopicsDetectionJobsRequest$NextToken": "

Identifies the next page of results to return.

", "ListTopicsDetectionJobsResponse$NextToken": "

Identifies the next page of results to return.

", "StringList$member": null, + "SyntaxToken$Text": "

The word that was recognized in the source text.

", "TextSizeLimitExceededException$Message": null, "TooManyRequestsException$Message": null, "UnsupportedLanguageException$Message": null @@ -422,7 +833,21 @@ "BatchDetectDominantLanguageRequest$TextList": "

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.

", "BatchDetectEntitiesRequest$TextList": "

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.

", "BatchDetectKeyPhrasesRequest$TextList": "

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.

", - "BatchDetectSentimentRequest$TextList": "

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.

" + "BatchDetectSentimentRequest$TextList": "

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.

", + "BatchDetectSyntaxRequest$TextList": "

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.

" + } + }, + "SyntaxLanguageCode": { + "base": null, + "refs": { + "BatchDetectSyntaxRequest$LanguageCode": "

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

", + "DetectSyntaxRequest$LanguageCode": "

The language code of the input documents. You can specify English (\"en\") or Spanish (\"es\").

" + } + }, + "SyntaxToken": { + "base": "

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.

", + "refs": { + "ListOfSyntaxTokens$member": null } }, "TextSizeLimitExceededException": { @@ -433,6 +858,22 @@ "Timestamp": { "base": null, "refs": { + "DominantLanguageDetectionJobFilter$SubmitTimeBefore": "

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.

", + "DominantLanguageDetectionJobFilter$SubmitTimeAfter": "

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.

", + "DominantLanguageDetectionJobProperties$SubmitTime": "

The time that the dominant language detection job was submitted for processing.

", + "DominantLanguageDetectionJobProperties$EndTime": "

The time that the dominant language detection job completed.

", + "EntitiesDetectionJobFilter$SubmitTimeBefore": "

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.

", + "EntitiesDetectionJobFilter$SubmitTimeAfter": "

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.

", + "EntitiesDetectionJobProperties$SubmitTime": "

The time that the entities detection job was submitted for processing.

", + "EntitiesDetectionJobProperties$EndTime": "

The time that the entities detection job completed

", + "KeyPhrasesDetectionJobFilter$SubmitTimeBefore": "

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.

", + "KeyPhrasesDetectionJobFilter$SubmitTimeAfter": "

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.

", + "KeyPhrasesDetectionJobProperties$SubmitTime": "

The time that the key phrases detection job was submitted for processing.

", + "KeyPhrasesDetectionJobProperties$EndTime": "

The time that the key phrases detection job completed.

", + "SentimentDetectionJobFilter$SubmitTimeBefore": "

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.

", + "SentimentDetectionJobFilter$SubmitTimeAfter": "

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.

", + "SentimentDetectionJobProperties$SubmitTime": "

The time that the sentiment detection job was submitted for processing.

", + "SentimentDetectionJobProperties$EndTime": "

The time that the sentiment detection job ended.

", "TopicsDetectionJobFilter$SubmitTimeBefore": "

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.

", "TopicsDetectionJobFilter$SubmitTimeAfter": "

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.

", "TopicsDetectionJobProperties$SubmitTime": "

The time that the topic detection job was submitted for processing.

", diff --git a/models/apis/comprehend/2017-11-27/paginators-1.json b/models/apis/comprehend/2017-11-27/paginators-1.json index a117c0e2423..04005c5e5da 100644 --- a/models/apis/comprehend/2017-11-27/paginators-1.json +++ b/models/apis/comprehend/2017-11-27/paginators-1.json @@ -1,5 +1,25 @@ { "pagination": { + "ListDominantLanguageDetectionJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListEntitiesDetectionJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListKeyPhrasesDetectionJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListSentimentDetectionJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListTopicsDetectionJobs": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/config/2014-11-12/api-2.json b/models/apis/config/2014-11-12/api-2.json index 89cf064e77b..75b2e4079ca 100644 --- a/models/apis/config/2014-11-12/api-2.json +++ b/models/apis/config/2014-11-12/api-2.json @@ -7,11 +7,36 @@ "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"} + ] + }, + "DeleteAggregationAuthorization":{ + "name":"DeleteAggregationAuthorization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAggregationAuthorizationRequest"}, + "errors":[ + {"shape":"InvalidParameterValueException"} + ] + }, "DeleteConfigRule":{ "name":"DeleteConfigRule", "http":{ @@ -24,6 +49,17 @@ {"shape":"ResourceInUseException"} ] }, + "DeleteConfigurationAggregator":{ + "name":"DeleteConfigurationAggregator", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteConfigurationAggregatorRequest"}, + "errors":[ + {"shape":"NoSuchConfigurationAggregatorException"} + ] + }, "DeleteConfigurationRecorder":{ "name":"DeleteConfigurationRecorder", "http":{ @@ -60,6 +96,29 @@ {"shape":"ResourceInUseException"} ] }, + "DeletePendingAggregationRequest":{ + "name":"DeletePendingAggregationRequest", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePendingAggregationRequestRequest"}, + "errors":[ + {"shape":"InvalidParameterValueException"} + ] + }, + "DeleteRetentionConfiguration":{ + "name":"DeleteRetentionConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRetentionConfigurationRequest"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"NoSuchRetentionConfigurationException"} + ] + }, "DeliverConfigSnapshot":{ "name":"DeliverConfigSnapshot", "http":{ @@ -74,6 +133,35 @@ {"shape":"NoRunningConfigurationRecorderException"} ] }, + "DescribeAggregateComplianceByConfigRules":{ + "name":"DescribeAggregateComplianceByConfigRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAggregateComplianceByConfigRulesRequest"}, + "output":{"shape":"DescribeAggregateComplianceByConfigRulesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"NoSuchConfigurationAggregatorException"} + ] + }, + "DescribeAggregationAuthorizations":{ + "name":"DescribeAggregationAuthorizations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAggregationAuthorizationsRequest"}, + "output":{"shape":"DescribeAggregationAuthorizationsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidLimitException"} + ] + }, "DescribeComplianceByConfigRule":{ "name":"DescribeComplianceByConfigRule", "http":{ @@ -128,6 +216,36 @@ {"shape":"InvalidNextTokenException"} ] }, + "DescribeConfigurationAggregatorSourcesStatus":{ + "name":"DescribeConfigurationAggregatorSourcesStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeConfigurationAggregatorSourcesStatusRequest"}, + "output":{"shape":"DescribeConfigurationAggregatorSourcesStatusResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"NoSuchConfigurationAggregatorException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidLimitException"} + ] + }, + "DescribeConfigurationAggregators":{ + "name":"DescribeConfigurationAggregators", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeConfigurationAggregatorsRequest"}, + "output":{"shape":"DescribeConfigurationAggregatorsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"NoSuchConfigurationAggregatorException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidLimitException"} + ] + }, "DescribeConfigurationRecorderStatus":{ "name":"DescribeConfigurationRecorderStatus", "http":{ @@ -176,6 +294,64 @@ {"shape":"NoSuchDeliveryChannelException"} ] }, + "DescribePendingAggregationRequests":{ + "name":"DescribePendingAggregationRequests", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePendingAggregationRequestsRequest"}, + "output":{"shape":"DescribePendingAggregationRequestsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidLimitException"} + ] + }, + "DescribeRetentionConfigurations":{ + "name":"DescribeRetentionConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRetentionConfigurationsRequest"}, + "output":{"shape":"DescribeRetentionConfigurationsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"NoSuchRetentionConfigurationException"}, + {"shape":"InvalidNextTokenException"} + ] + }, + "GetAggregateComplianceDetailsByConfigRule":{ + "name":"GetAggregateComplianceDetailsByConfigRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAggregateComplianceDetailsByConfigRuleRequest"}, + "output":{"shape":"GetAggregateComplianceDetailsByConfigRuleResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"NoSuchConfigurationAggregatorException"} + ] + }, + "GetAggregateConfigRuleComplianceSummary":{ + "name":"GetAggregateConfigRuleComplianceSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAggregateConfigRuleComplianceSummaryRequest"}, + "output":{"shape":"GetAggregateConfigRuleComplianceSummaryResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"NoSuchConfigurationAggregatorException"} + ] + }, "GetComplianceDetailsByConfigRule":{ "name":"GetComplianceDetailsByConfigRule", "http":{ @@ -268,6 +444,18 @@ {"shape":"NoAvailableConfigurationRecorderException"} ] }, + "PutAggregationAuthorization":{ + "name":"PutAggregationAuthorization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutAggregationAuthorizationRequest"}, + "output":{"shape":"PutAggregationAuthorizationResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"} + ] + }, "PutConfigRule":{ "name":"PutConfigRule", "http":{ @@ -283,6 +471,23 @@ {"shape":"NoAvailableConfigurationRecorderException"} ] }, + "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"} + ] + }, "PutConfigurationRecorder":{ "name":"PutConfigurationRecorder", "http":{ @@ -328,6 +533,19 @@ {"shape":"NoSuchConfigRuleException"} ] }, + "PutRetentionConfiguration":{ + "name":"PutRetentionConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutRetentionConfigurationRequest"}, + "output":{"shape":"PutRetentionConfigurationResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MaxNumberOfRetentionConfigurationsExceededException"} + ] + }, "StartConfigRulesEvaluation":{ "name":"StartConfigRulesEvaluation", "http":{ @@ -369,15 +587,173 @@ }, "shapes":{ "ARN":{"type":"string"}, - "AccountId":{"type":"string"}, + "AccountAggregationSource":{ + "type":"structure", + "required":["AccountIds"], + "members":{ + "AccountIds":{"shape":"AccountAggregationSourceAccountList"}, + "AllAwsRegions":{"shape":"Boolean"}, + "AwsRegions":{"shape":"AggregatorRegionList"} + } + }, + "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"}, + "Compliance":{"shape":"Compliance"}, + "AccountId":{"shape":"AccountId"}, + "AwsRegion":{"shape":"AwsRegion"} + } + }, + "AggregateComplianceByConfigRuleList":{ + "type":"list", + "member":{"shape":"AggregateComplianceByConfigRule"} + }, + "AggregateComplianceCount":{ + "type":"structure", + "members":{ + "GroupName":{"shape":"StringWithCharLimit256"}, + "ComplianceSummary":{"shape":"ComplianceSummary"} + } + }, + "AggregateComplianceCountList":{ + "type":"list", + "member":{"shape":"AggregateComplianceCount"} + }, + "AggregateEvaluationResult":{ + "type":"structure", + "members":{ + "EvaluationResultIdentifier":{"shape":"EvaluationResultIdentifier"}, + "ComplianceType":{"shape":"ComplianceType"}, + "ResultRecordedTime":{"shape":"Date"}, + "ConfigRuleInvokedTime":{"shape":"Date"}, + "Annotation":{"shape":"StringWithCharLimit256"}, + "AccountId":{"shape":"AccountId"}, + "AwsRegion":{"shape":"AwsRegion"} + } + }, + "AggregateEvaluationResultList":{ + "type":"list", + "member":{"shape":"AggregateEvaluationResult"} + }, + "AggregatedSourceStatus":{ + "type":"structure", + "members":{ + "SourceId":{"shape":"String"}, + "SourceType":{"shape":"AggregatedSourceType"}, + "AwsRegion":{"shape":"AwsRegion"}, + "LastUpdateStatus":{"shape":"AggregatedSourceStatusType"}, + "LastUpdateTime":{"shape":"Date"}, + "LastErrorCode":{"shape":"String"}, + "LastErrorMessage":{"shape":"String"} + } + }, + "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"}, + "AuthorizedAccountId":{"shape":"AccountId"}, + "AuthorizedAwsRegion":{"shape":"AwsRegion"}, + "CreationTime":{"shape":"Date"} + } + }, + "AggregationAuthorizationList":{ + "type":"list", + "member":{"shape":"AggregationAuthorization"} + }, + "AggregatorRegionList":{ + "type":"list", + "member":{"shape":"String"}, + "min":1 + }, "AllSupported":{"type":"boolean"}, "AvailabilityZone":{"type":"string"}, - "AwsRegion":{"type":"string"}, + "AwsRegion":{ + "type":"string", + "max":64, + "min":1 + }, + "BaseConfigurationItem":{ + "type":"structure", + "members":{ + "version":{"shape":"Version"}, + "accountId":{"shape":"AccountId"}, + "configurationItemCaptureTime":{"shape":"ConfigurationItemCaptureTime"}, + "configurationItemStatus":{"shape":"ConfigurationItemStatus"}, + "configurationStateId":{"shape":"ConfigurationStateId"}, + "arn":{"shape":"ARN"}, + "resourceType":{"shape":"ResourceType"}, + "resourceId":{"shape":"ResourceId"}, + "resourceName":{"shape":"ResourceName"}, + "awsRegion":{"shape":"AwsRegion"}, + "availabilityZone":{"shape":"AvailabilityZone"}, + "resourceCreationTime":{"shape":"ResourceCreationTime"}, + "configuration":{"shape":"Configuration"}, + "supplementaryConfiguration":{"shape":"SupplementaryConfiguration"} + } + }, + "BaseConfigurationItems":{ + "type":"list", + "member":{"shape":"BaseConfigurationItem"} + }, "BaseResourceId":{ "type":"string", "max":768, "min":1 }, + "BatchGetResourceConfigRequest":{ + "type":"structure", + "required":["resourceKeys"], + "members":{ + "resourceKeys":{"shape":"ResourceKeys"} + } + }, + "BatchGetResourceConfigResponse":{ + "type":"structure", + "members":{ + "baseConfigurationItems":{"shape":"BaseConfigurationItems"}, + "unprocessedResourceKeys":{"shape":"ResourceKeys"} + } + }, "Boolean":{"type":"boolean"}, "ChannelName":{ "type":"string", @@ -494,6 +870,29 @@ "ConfigRuleState":{"shape":"ConfigRuleState"} } }, + "ConfigRuleComplianceFilters":{ + "type":"structure", + "members":{ + "ConfigRuleName":{"shape":"ConfigRuleName"}, + "ComplianceType":{"shape":"ComplianceType"}, + "AccountId":{"shape":"AccountId"}, + "AwsRegion":{"shape":"AwsRegion"} + } + }, + "ConfigRuleComplianceSummaryFilters":{ + "type":"structure", + "members":{ + "AccountId":{"shape":"AccountId"}, + "AwsRegion":{"shape":"AwsRegion"} + } + }, + "ConfigRuleComplianceSummaryGroupKey":{ + "type":"string", + "enum":[ + "ACCOUNT_ID", + "AWS_REGION" + ] + }, "ConfigRuleEvaluationStatus":{ "type":"structure", "members":{ @@ -514,6 +913,11 @@ "type":"list", "member":{"shape":"ConfigRuleEvaluationStatus"} }, + "ConfigRuleName":{ + "type":"string", + "max":64, + "min":1 + }, "ConfigRuleNames":{ "type":"list", "member":{"shape":"StringWithCharLimit64"}, @@ -549,6 +953,37 @@ } }, "Configuration":{"type":"string"}, + "ConfigurationAggregator":{ + "type":"structure", + "members":{ + "ConfigurationAggregatorName":{"shape":"ConfigurationAggregatorName"}, + "ConfigurationAggregatorArn":{"shape":"ConfigurationAggregatorArn"}, + "AccountAggregationSources":{"shape":"AccountAggregationSourceList"}, + "OrganizationAggregationSource":{"shape":"OrganizationAggregationSource"}, + "CreationTime":{"shape":"Date"}, + "LastUpdatedTime":{"shape":"Date"} + } + }, + "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":{ @@ -581,10 +1016,11 @@ "ConfigurationItemStatus":{ "type":"string", "enum":[ - "Ok", - "Failed", - "Discovered", - "Deleted" + "OK", + "ResourceDiscovered", + "ResourceNotRecorded", + "ResourceDeleted", + "ResourceDeletedNotRecorded" ] }, "ConfigurationRecorder":{ @@ -622,6 +1058,17 @@ }, "ConfigurationStateId":{"type":"string"}, "Date":{"type":"timestamp"}, + "DeleteAggregationAuthorizationRequest":{ + "type":"structure", + "required":[ + "AuthorizedAccountId", + "AuthorizedAwsRegion" + ], + "members":{ + "AuthorizedAccountId":{"shape":"AccountId"}, + "AuthorizedAwsRegion":{"shape":"AwsRegion"} + } + }, "DeleteConfigRuleRequest":{ "type":"structure", "required":["ConfigRuleName"], @@ -629,6 +1076,13 @@ "ConfigRuleName":{"shape":"StringWithCharLimit64"} } }, + "DeleteConfigurationAggregatorRequest":{ + "type":"structure", + "required":["ConfigurationAggregatorName"], + "members":{ + "ConfigurationAggregatorName":{"shape":"ConfigurationAggregatorName"} + } + }, "DeleteConfigurationRecorderRequest":{ "type":"structure", "required":["ConfigurationRecorderName"], @@ -655,6 +1109,24 @@ "members":{ } }, + "DeletePendingAggregationRequestRequest":{ + "type":"structure", + "required":[ + "RequesterAccountId", + "RequesterAwsRegion" + ], + "members":{ + "RequesterAccountId":{"shape":"AccountId"}, + "RequesterAwsRegion":{"shape":"AwsRegion"} + } + }, + "DeleteRetentionConfigurationRequest":{ + "type":"structure", + "required":["RetentionConfigurationName"], + "members":{ + "RetentionConfigurationName":{"shape":"RetentionConfigurationName"} + } + }, "DeliverConfigSnapshotRequest":{ "type":"structure", "required":["deliveryChannelName"], @@ -707,6 +1179,37 @@ "Not_Applicable" ] }, + "DescribeAggregateComplianceByConfigRulesRequest":{ + "type":"structure", + "required":["ConfigurationAggregatorName"], + "members":{ + "ConfigurationAggregatorName":{"shape":"ConfigurationAggregatorName"}, + "Filters":{"shape":"ConfigRuleComplianceFilters"}, + "Limit":{"shape":"GroupByAPILimit"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeAggregateComplianceByConfigRulesResponse":{ + "type":"structure", + "members":{ + "AggregateComplianceByConfigRules":{"shape":"AggregateComplianceByConfigRuleList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeAggregationAuthorizationsRequest":{ + "type":"structure", + "members":{ + "Limit":{"shape":"Limit"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeAggregationAuthorizationsResponse":{ + "type":"structure", + "members":{ + "AggregationAuthorizations":{"shape":"AggregationAuthorizationList"}, + "NextToken":{"shape":"String"} + } + }, "DescribeComplianceByConfigRuleRequest":{ "type":"structure", "members":{ @@ -768,6 +1271,38 @@ "NextToken":{"shape":"String"} } }, + "DescribeConfigurationAggregatorSourcesStatusRequest":{ + "type":"structure", + "required":["ConfigurationAggregatorName"], + "members":{ + "ConfigurationAggregatorName":{"shape":"ConfigurationAggregatorName"}, + "UpdateStatus":{"shape":"AggregatedSourceStatusTypeList"}, + "NextToken":{"shape":"String"}, + "Limit":{"shape":"Limit"} + } + }, + "DescribeConfigurationAggregatorSourcesStatusResponse":{ + "type":"structure", + "members":{ + "AggregatedSourceStatusList":{"shape":"AggregatedSourceStatusList"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeConfigurationAggregatorsRequest":{ + "type":"structure", + "members":{ + "ConfigurationAggregatorNames":{"shape":"ConfigurationAggregatorNameList"}, + "NextToken":{"shape":"String"}, + "Limit":{"shape":"Limit"} + } + }, + "DescribeConfigurationAggregatorsResponse":{ + "type":"structure", + "members":{ + "ConfigurationAggregators":{"shape":"ConfigurationAggregatorList"}, + "NextToken":{"shape":"String"} + } + }, "DescribeConfigurationRecorderStatusRequest":{ "type":"structure", "members":{ @@ -816,6 +1351,39 @@ "DeliveryChannels":{"shape":"DeliveryChannelList"} } }, + "DescribePendingAggregationRequestsLimit":{ + "type":"integer", + "max":20, + "min":0 + }, + "DescribePendingAggregationRequestsRequest":{ + "type":"structure", + "members":{ + "Limit":{"shape":"DescribePendingAggregationRequestsLimit"}, + "NextToken":{"shape":"String"} + } + }, + "DescribePendingAggregationRequestsResponse":{ + "type":"structure", + "members":{ + "PendingAggregationRequests":{"shape":"PendingAggregationRequestList"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeRetentionConfigurationsRequest":{ + "type":"structure", + "members":{ + "RetentionConfigurationNames":{"shape":"RetentionConfigurationNameList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeRetentionConfigurationsResponse":{ + "type":"structure", + "members":{ + "RetentionConfigurations":{"shape":"RetentionConfigurationList"}, + "NextToken":{"shape":"NextToken"} + } + }, "EarlierTime":{"type":"timestamp"}, "EmptiableStringWithCharLimit256":{ "type":"string", @@ -878,6 +1446,50 @@ "type":"string", "enum":["aws.config"] }, + "GetAggregateComplianceDetailsByConfigRuleRequest":{ + "type":"structure", + "required":[ + "ConfigurationAggregatorName", + "ConfigRuleName", + "AccountId", + "AwsRegion" + ], + "members":{ + "ConfigurationAggregatorName":{"shape":"ConfigurationAggregatorName"}, + "ConfigRuleName":{"shape":"ConfigRuleName"}, + "AccountId":{"shape":"AccountId"}, + "AwsRegion":{"shape":"AwsRegion"}, + "ComplianceType":{"shape":"ComplianceType"}, + "Limit":{"shape":"Limit"}, + "NextToken":{"shape":"NextToken"} + } + }, + "GetAggregateComplianceDetailsByConfigRuleResponse":{ + "type":"structure", + "members":{ + "AggregateEvaluationResults":{"shape":"AggregateEvaluationResultList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "GetAggregateConfigRuleComplianceSummaryRequest":{ + "type":"structure", + "required":["ConfigurationAggregatorName"], + "members":{ + "ConfigurationAggregatorName":{"shape":"ConfigurationAggregatorName"}, + "Filters":{"shape":"ConfigRuleComplianceSummaryFilters"}, + "GroupByKey":{"shape":"ConfigRuleComplianceSummaryGroupKey"}, + "Limit":{"shape":"GroupByAPILimit"}, + "NextToken":{"shape":"NextToken"} + } + }, + "GetAggregateConfigRuleComplianceSummaryResponse":{ + "type":"structure", + "members":{ + "GroupByKey":{"shape":"StringWithCharLimit256"}, + "AggregateComplianceCounts":{"shape":"AggregateComplianceCountList"}, + "NextToken":{"shape":"NextToken"} + } + }, "GetComplianceDetailsByConfigRuleRequest":{ "type":"structure", "required":["ConfigRuleName"], @@ -972,6 +1584,11 @@ "nextToken":{"shape":"NextToken"} } }, + "GroupByAPILimit":{ + "type":"integer", + "max":1000, + "min":0 + }, "IncludeGlobalResourceTypes":{"type":"boolean"}, "InsufficientDeliveryPolicyException":{ "type":"structure", @@ -1108,6 +1725,12 @@ }, "exception":true }, + "MaxNumberOfRetentionConfigurationsExceededException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "MaximumExecutionFrequency":{ "type":"string", "enum":[ @@ -1141,6 +1764,12 @@ }, "exception":true }, + "NoAvailableOrganizationException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "NoRunningConfigurationRecorderException":{ "type":"structure", "members":{ @@ -1159,6 +1788,12 @@ }, "exception":true }, + "NoSuchConfigurationAggregatorException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "NoSuchConfigurationRecorderException":{ "type":"structure", "members":{ @@ -1171,7 +1806,34 @@ }, "exception":true }, + "NoSuchRetentionConfigurationException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "OrderingTimestamp":{"type":"timestamp"}, + "OrganizationAccessDeniedException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "OrganizationAggregationSource":{ + "type":"structure", + "required":["RoleArn"], + "members":{ + "RoleArn":{"shape":"String"}, + "AwsRegions":{"shape":"AggregatorRegionList"}, + "AllAwsRegions":{"shape":"Boolean"} + } + }, + "OrganizationAllFeaturesNotEnabledException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "Owner":{ "type":"string", "enum":[ @@ -1179,6 +1841,34 @@ "AWS" ] }, + "PendingAggregationRequest":{ + "type":"structure", + "members":{ + "RequesterAccountId":{"shape":"AccountId"}, + "RequesterAwsRegion":{"shape":"AwsRegion"} + } + }, + "PendingAggregationRequestList":{ + "type":"list", + "member":{"shape":"PendingAggregationRequest"} + }, + "PutAggregationAuthorizationRequest":{ + "type":"structure", + "required":[ + "AuthorizedAccountId", + "AuthorizedAwsRegion" + ], + "members":{ + "AuthorizedAccountId":{"shape":"AccountId"}, + "AuthorizedAwsRegion":{"shape":"AwsRegion"} + } + }, + "PutAggregationAuthorizationResponse":{ + "type":"structure", + "members":{ + "AggregationAuthorization":{"shape":"AggregationAuthorization"} + } + }, "PutConfigRuleRequest":{ "type":"structure", "required":["ConfigRule"], @@ -1186,6 +1876,21 @@ "ConfigRule":{"shape":"ConfigRule"} } }, + "PutConfigurationAggregatorRequest":{ + "type":"structure", + "required":["ConfigurationAggregatorName"], + "members":{ + "ConfigurationAggregatorName":{"shape":"ConfigurationAggregatorName"}, + "AccountAggregationSources":{"shape":"AccountAggregationSourceList"}, + "OrganizationAggregationSource":{"shape":"OrganizationAggregationSource"} + } + }, + "PutConfigurationAggregatorResponse":{ + "type":"structure", + "members":{ + "ConfigurationAggregator":{"shape":"ConfigurationAggregator"} + } + }, "PutConfigurationRecorderRequest":{ "type":"structure", "required":["ConfigurationRecorder"], @@ -1215,6 +1920,19 @@ "FailedEvaluations":{"shape":"Evaluations"} } }, + "PutRetentionConfigurationRequest":{ + "type":"structure", + "required":["RetentionPeriodInDays"], + "members":{ + "RetentionPeriodInDays":{"shape":"RetentionPeriodInDays"} + } + }, + "PutRetentionConfigurationResponse":{ + "type":"structure", + "members":{ + "RetentionConfiguration":{"shape":"RetentionConfiguration"} + } + }, "RecorderName":{ "type":"string", "max":256, @@ -1274,7 +1992,11 @@ }, "ResourceCreationTime":{"type":"timestamp"}, "ResourceDeletionTime":{"type":"timestamp"}, - "ResourceId":{"type":"string"}, + "ResourceId":{ + "type":"string", + "max":768, + "min":1 + }, "ResourceIdList":{ "type":"list", "member":{"shape":"ResourceId"} @@ -1298,6 +2020,23 @@ }, "exception":true }, + "ResourceKey":{ + "type":"structure", + "required":[ + "resourceType", + "resourceId" + ], + "members":{ + "resourceType":{"shape":"ResourceType"}, + "resourceId":{"shape":"ResourceId"} + } + }, + "ResourceKeys":{ + "type":"list", + "member":{"shape":"ResourceKey"}, + "max":100, + "min":1 + }, "ResourceName":{"type":"string"}, "ResourceNotDiscoveredException":{ "type":"structure", @@ -1349,7 +2088,23 @@ "AWS::AutoScaling::LaunchConfiguration", "AWS::AutoScaling::ScalingPolicy", "AWS::AutoScaling::ScheduledAction", - "AWS::CodeBuild::Project" + "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":{ @@ -1362,6 +2117,38 @@ "max":20, "min":0 }, + "RetentionConfiguration":{ + "type":"structure", + "required":[ + "Name", + "RetentionPeriodInDays" + ], + "members":{ + "Name":{"shape":"RetentionConfigurationName"}, + "RetentionPeriodInDays":{"shape":"RetentionPeriodInDays"} + } + }, + "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, diff --git a/models/apis/config/2014-11-12/docs-2.json b/models/apis/config/2014-11-12/docs-2.json index 9df01a32f66..265a307dc51 100644 --- a/models/apis/config/2014-11-12/docs-2.json +++ b/models/apis/config/2014-11-12/docs-2.json @@ -1,32 +1,48 @@ { "version": "2.0", - "service": "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.

", + "service": "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.

", "operations": { + "BatchGetResourceConfig": "

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.

", + "DeleteAggregationAuthorization": "

Deletes the authorization granted to the specified configuration aggregator account in a specified region.

", "DeleteConfigRule": "

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

Deletes the specified configuration aggregator and the aggregated data associated with the aggregator.

", "DeleteConfigurationRecorder": "

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

Deletes the delivery channel.

Before you can delete the delivery channel, you must stop the configuration recorder by using the StopConfigurationRecorder action.

", - "DeleteEvaluationResults": "

Deletes the evaluation results for the specified Config rule. You can specify one Config rule per request. After you delete the evaluation results, you can call the StartConfigRulesEvaluation API to start evaluating your AWS resources against the rule.

", - "DeliverConfigSnapshot": "

Schedules delivery of a configuration snapshot to the Amazon S3 bucket in the specified delivery channel. After the delivery has started, AWS Config sends following notifications using an Amazon SNS topic that you have specified.

", - "DescribeComplianceByConfigRule": "

Indicates whether the specified AWS Config rules are compliant. If a rule is noncompliant, this action returns the number of AWS resources that do not comply with the rule.

A rule is compliant if all of the evaluated resources comply with it, and it is noncompliant if any of these resources do not comply.

If AWS Config has no current evaluation results for the rule, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions:

", + "DeleteEvaluationResults": "

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

Deletes pending authorization requests for a specified aggregator account in a specified region.

", + "DeleteRetentionConfiguration": "

Deletes the retention configuration.

", + "DeliverConfigSnapshot": "

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.

", + "DescribeAggregateComplianceByConfigRules": "

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

Returns a list of authorizations granted to various aggregator accounts and regions.

", + "DescribeComplianceByConfigRule": "

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:

", "DescribeComplianceByResource": "

Indicates whether the specified AWS resources are compliant. If a resource is noncompliant, this action returns the number of AWS Config rules that the resource does not comply with.

A resource is compliant if it complies with all the AWS Config rules that evaluate it. It is noncompliant if it does not comply with one or more of these rules.

If AWS Config has no current evaluation results for the resource, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions about the rules that evaluate the resource:

", "DescribeConfigRuleEvaluationStatus": "

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

Returns details about your AWS Config rules.

", - "DescribeConfigurationRecorderStatus": "

Returns the current status of the specified configuration recorder. If a configuration recorder is not specified, this action returns the status of all configuration recorder associated with the account.

Currently, you can specify only one configuration recorder per region in your account.

", + "DescribeConfigurationAggregatorSourcesStatus": "

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

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

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

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

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

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

Returns a list of all pending aggregation requests.

", + "DescribeRetentionConfigurations": "

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

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

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

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

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

Returns the number of AWS Config rules that are compliant and noncompliant, up to a maximum of 25 for each.

", "GetComplianceSummaryByResourceType": "

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

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 may not immediately receive resource counts in the following situations:

It may take a few minutes for AWS Config to record and count your resources. Wait a few minutes and then retry the GetDiscoveredResourceCounts action.

", - "GetResourceConfigHistory": "

Returns a list of configuration items for the specified resource. The list contains details about each state of the resource during the specified time interval.

The response is paginated. 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": "

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.

", - "PutConfigRule": "

Adds or updates an AWS Config rule for evaluating whether your AWS resources comply with your desired configurations.

You can use this action for custom Config rules and AWS managed Config rules. A custom Config rule is a rule that you develop and maintain. An AWS managed Config rule is a customizable, predefined rule that AWS Config provides.

If you are adding a new custom Config rule, you must first create the AWS Lambda function that the rule invokes to evaluate your resources. When you use the PutConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify the ARN for the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object.

If you are adding an AWS managed Config rule, specify the rule's identifier for the SourceIdentifier key. To reference AWS managed Config rule identifiers, see About AWS Managed Config Rules.

For any new rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by AWS Config for new rules.

If you are updating a rule that you added previously, you can specify the rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request.

The maximum number of rules that AWS Config supports is 50.

For more information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

", - "PutConfigurationRecorder": "

Creates a new configuration recorder to record the selected resource configurations.

You can use this action to change the role roleARN and/or the recordingGroup of an existing recorder. To change the role, call the action on the existing configuration recorder and specify a role.

Currently, you can specify only one configuration recorder per region in your account.

If ConfigurationRecorder does not have the recordingGroup parameter specified, the default is to record all supported resource types.

", + "GetDiscoveredResourceCounts": "

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:

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

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

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

Authorizes the aggregator account and region to collect data from the source account and region.

", + "PutConfigRule": "

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

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

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

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

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.

", - "StartConfigRulesEvaluation": "

Runs an on-demand evaluation for the specified Config rules against the last known configuration state of the resources. Use StartConfigRulesEvaluation when you want to test a rule that 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 Config rules per request.

An existing StartConfigRulesEvaluation call must complete for the specified rules before you can call the API again. If you chose to have AWS Config stream to an Amazon SNS topic, you will receive a ConfigRuleEvaluationStarted notification when the evaluation starts.

You don't need to call the StartConfigRulesEvaluation API to run an evaluation for a new rule. When you create a new rule, AWS Config automatically evaluates your resources against the rule.

The StartConfigRulesEvaluation API is useful if you want to run on-demand evaluations, such as the following example:

  1. You have a custom rule that evaluates your IAM resources every 24 hours.

  2. You update your Lambda function to add additional conditions to your rule.

  3. Instead of waiting for the next periodic evaluation, you call the StartConfigRulesEvaluation API.

  4. AWS Config invokes your Lambda function and evaluates your IAM resources.

  5. Your custom rule will still run periodic evaluations every 24 hours.

", + "PutRetentionConfiguration": "

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

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

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

Stops recording configurations of the AWS resources you have selected to record in your AWS account.

" }, @@ -34,31 +50,175 @@ "ARN": { "base": null, "refs": { + "BaseConfigurationItem$arn": "

The Amazon Resource Name (ARN) of the resource.

", "ConfigurationItem$arn": "

The Amazon Resource Name (ARN) of the resource.

" } }, + "AccountAggregationSource": { + "base": "

A collection of accounts and regions.

", + "refs": { + "AccountAggregationSourceList$member": null + } + }, + "AccountAggregationSourceAccountList": { + "base": null, + "refs": { + "AccountAggregationSource$AccountIds": "

The 12-digit account ID of the account being aggregated.

" + } + }, + "AccountAggregationSourceList": { + "base": null, + "refs": { + "ConfigurationAggregator$AccountAggregationSources": "

Provides a list of source accounts and regions to be aggregated.

", + "PutConfigurationAggregatorRequest$AccountAggregationSources": "

A list of AccountAggregationSource object.

" + } + }, "AccountId": { "base": null, "refs": { - "ConfigurationItem$accountId": "

The 12 digit AWS account ID associated with the resource.

" + "AccountAggregationSourceAccountList$member": null, + "AggregateComplianceByConfigRule$AccountId": "

The 12-digit account ID of the source account.

", + "AggregateEvaluationResult$AccountId": "

The 12-digit account ID of the source account.

", + "AggregationAuthorization$AuthorizedAccountId": "

The 12-digit account ID of the account authorized to aggregate data.

", + "BaseConfigurationItem$accountId": "

The 12 digit AWS account ID associated with the resource.

", + "ConfigRuleComplianceFilters$AccountId": "

The 12-digit account ID of the source account.

", + "ConfigRuleComplianceSummaryFilters$AccountId": "

The 12-digit account ID of the source account.

", + "ConfigurationItem$accountId": "

The 12-digit AWS account ID associated with the resource.

", + "DeleteAggregationAuthorizationRequest$AuthorizedAccountId": "

The 12-digit account ID of the account authorized to aggregate data.

", + "DeletePendingAggregationRequestRequest$RequesterAccountId": "

The 12-digit account ID of the account requesting to aggregate data.

", + "GetAggregateComplianceDetailsByConfigRuleRequest$AccountId": "

The 12-digit account ID of the source account.

", + "PendingAggregationRequest$RequesterAccountId": "

The 12-digit account ID of the account requesting to aggregate data.

", + "PutAggregationAuthorizationRequest$AuthorizedAccountId": "

The 12-digit account ID of the account authorized to aggregate data.

" + } + }, + "AggregateComplianceByConfigRule": { + "base": "

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.

", + "refs": { + "AggregateComplianceByConfigRuleList$member": null + } + }, + "AggregateComplianceByConfigRuleList": { + "base": null, + "refs": { + "DescribeAggregateComplianceByConfigRulesResponse$AggregateComplianceByConfigRules": "

Returns a list of AggregateComplianceByConfigRule object.

" + } + }, + "AggregateComplianceCount": { + "base": "

Returns the number of compliant and noncompliant rules for one or more accounts and regions in an aggregator.

", + "refs": { + "AggregateComplianceCountList$member": null + } + }, + "AggregateComplianceCountList": { + "base": null, + "refs": { + "GetAggregateConfigRuleComplianceSummaryResponse$AggregateComplianceCounts": "

Returns a list of AggregateComplianceCounts object.

" + } + }, + "AggregateEvaluationResult": { + "base": "

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.

", + "refs": { + "AggregateEvaluationResultList$member": null + } + }, + "AggregateEvaluationResultList": { + "base": null, + "refs": { + "GetAggregateComplianceDetailsByConfigRuleResponse$AggregateEvaluationResults": "

Returns an AggregateEvaluationResults object.

" + } + }, + "AggregatedSourceStatus": { + "base": "

The current sync status between the source and the aggregator account.

", + "refs": { + "AggregatedSourceStatusList$member": null + } + }, + "AggregatedSourceStatusList": { + "base": null, + "refs": { + "DescribeConfigurationAggregatorSourcesStatusResponse$AggregatedSourceStatusList": "

Returns an AggregatedSourceStatus object.

" + } + }, + "AggregatedSourceStatusType": { + "base": null, + "refs": { + "AggregatedSourceStatus$LastUpdateStatus": "

Filters the last updated status type.

", + "AggregatedSourceStatusTypeList$member": null + } + }, + "AggregatedSourceStatusTypeList": { + "base": null, + "refs": { + "DescribeConfigurationAggregatorSourcesStatusRequest$UpdateStatus": "

Filters the status type.

" + } + }, + "AggregatedSourceType": { + "base": null, + "refs": { + "AggregatedSourceStatus$SourceType": "

The source account or an organization.

" + } + }, + "AggregationAuthorization": { + "base": "

An object that represents the authorizations granted to aggregator accounts and regions.

", + "refs": { + "AggregationAuthorizationList$member": null, + "PutAggregationAuthorizationResponse$AggregationAuthorization": "

Returns an AggregationAuthorization object.

" + } + }, + "AggregationAuthorizationList": { + "base": null, + "refs": { + "DescribeAggregationAuthorizationsResponse$AggregationAuthorizations": "

Returns a list of authorizations granted to various aggregator accounts and regions.

" + } + }, + "AggregatorRegionList": { + "base": null, + "refs": { + "AccountAggregationSource$AwsRegions": "

The source regions being aggregated.

", + "OrganizationAggregationSource$AwsRegions": "

The source regions being aggregated.

" } }, "AllSupported": { "base": null, "refs": { - "RecordingGroup$allSupported": "

Specifies whether AWS Config records configuration changes for every supported type of regional resource.

If you set this option to true, when AWS Config adds support for a new type of regional resource, it automatically starts recording resources of that type.

If you set this option to true, you cannot enumerate a list of resourceTypes.

" + "RecordingGroup$allSupported": "

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.

" } }, "AvailabilityZone": { "base": null, "refs": { + "BaseConfigurationItem$availabilityZone": "

The Availability Zone associated with the resource.

", "ConfigurationItem$availabilityZone": "

The Availability Zone associated with the resource.

" } }, "AwsRegion": { "base": null, "refs": { - "ConfigurationItem$awsRegion": "

The region where the resource resides.

" + "AggregateComplianceByConfigRule$AwsRegion": "

The source region from where the data is aggregated.

", + "AggregateEvaluationResult$AwsRegion": "

The source region from where the data is aggregated.

", + "AggregatedSourceStatus$AwsRegion": "

The region authorized to collect aggregated data.

", + "AggregationAuthorization$AuthorizedAwsRegion": "

The region authorized to collect aggregated data.

", + "BaseConfigurationItem$awsRegion": "

The region where the resource resides.

", + "ConfigRuleComplianceFilters$AwsRegion": "

The source region where the data is aggregated.

", + "ConfigRuleComplianceSummaryFilters$AwsRegion": "

The source region where the data is aggregated.

", + "ConfigurationItem$awsRegion": "

The region where the resource resides.

", + "DeleteAggregationAuthorizationRequest$AuthorizedAwsRegion": "

The region authorized to collect aggregated data.

", + "DeletePendingAggregationRequestRequest$RequesterAwsRegion": "

The region requesting to aggregate data.

", + "GetAggregateComplianceDetailsByConfigRuleRequest$AwsRegion": "

The source region from where the data is aggregated.

", + "PendingAggregationRequest$RequesterAwsRegion": "

The region requesting to aggregate data.

", + "PutAggregationAuthorizationRequest$AuthorizedAwsRegion": "

The region authorized to collect aggregated data.

" + } + }, + "BaseConfigurationItem": { + "base": "

The detailed configuration of a specified resource.

", + "refs": { + "BaseConfigurationItems$member": null + } + }, + "BaseConfigurationItems": { + "base": null, + "refs": { + "BatchGetResourceConfigResponse$baseConfigurationItems": "

A list that contains the current configuration of one or more resources.

" } }, "BaseResourceId": { @@ -69,16 +229,28 @@ "Evaluation$ComplianceResourceId": "

The ID of the AWS resource that was evaluated.

", "EvaluationResultQualifier$ResourceId": "

The ID of the evaluated AWS resource.

", "GetComplianceDetailsByResourceRequest$ResourceId": "

The ID of the AWS resource for which you want compliance information.

", - "Scope$ComplianceResourceId": "

The IDs of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for ComplianceResourceTypes.

" + "Scope$ComplianceResourceId": "

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.

" + } + }, + "BatchGetResourceConfigRequest": { + "base": null, + "refs": { + } + }, + "BatchGetResourceConfigResponse": { + "base": null, + "refs": { } }, "Boolean": { "base": null, "refs": { + "AccountAggregationSource$AllAwsRegions": "

If true, aggregate existing AWS Config regions and future regions.

", "ComplianceContributorCount$CapExceeded": "

Indicates whether the maximum count is reached.

", "ConfigRuleEvaluationStatus$FirstEvaluationStarted": "

Indicates whether AWS Config has evaluated your resources against the rule at least once.

", - "ConfigurationRecorderStatus$recording": "

Specifies whether the recorder is currently recording or not.

", + "ConfigurationRecorderStatus$recording": "

Specifies whether or not the recorder is currently recording.

", "ListDiscoveredResourcesRequest$includeDeletedResources": "

Specifies whether AWS Config includes deleted resources in the results. By default, deleted resources are not included.

", + "OrganizationAggregationSource$AllAwsRegions": "

If true, aggregate existing AWS Config regions and future regions.

", "PutEvaluationsRequest$TestMode": "

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.

" } }, @@ -94,18 +266,19 @@ "ChronologicalOrder": { "base": null, "refs": { - "GetResourceConfigHistoryRequest$chronologicalOrder": "

The chronological order for configuration items listed. By default the results are listed in reverse chronological order.

" + "GetResourceConfigHistoryRequest$chronologicalOrder": "

The chronological order for configuration items listed. By default, the results are listed in reverse chronological order.

" } }, "Compliance": { "base": "

Indicates whether an AWS resource or AWS Config rule is compliant and provides the number of contributors that affect the compliance.

", "refs": { + "AggregateComplianceByConfigRule$Compliance": "

Indicates whether an AWS resource or AWS Config rule is compliant and provides the number of contributors that affect the compliance.

", "ComplianceByConfigRule$Compliance": "

Indicates whether the AWS Config rule is compliant.

", "ComplianceByResource$Compliance": "

Indicates whether the AWS resource complies with all of the AWS Config rules that evaluated it.

" } }, "ComplianceByConfigRule": { - "base": "

Indicates whether an AWS Config rule is compliant. A rule is compliant if all of the resources that the rule evaluated comply with it, and it is noncompliant if any of these resources do not comply.

", + "base": "

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.

", "refs": { "ComplianceByConfigRules$member": null } @@ -117,7 +290,7 @@ } }, "ComplianceByResource": { - "base": "

Indicates whether an AWS resource that is evaluated according to one or more AWS Config rules is compliant. A resource is compliant if it complies with all of the rules that evaluate it, and it is noncompliant if it does not comply with one or more of these rules.

", + "base": "

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.

", "refs": { "ComplianceByResources$member": null } @@ -151,12 +324,13 @@ "ComplianceSummary": { "base": "

The number of AWS Config rules or AWS resources that are compliant and noncompliant.

", "refs": { - "ComplianceSummaryByResourceType$ComplianceSummary": "

The number of AWS resources that are compliant or noncompliant, up to a maximum of 100 for each compliance.

", + "AggregateComplianceCount$ComplianceSummary": "

The number of compliant and noncompliant AWS Config rules.

", + "ComplianceSummaryByResourceType$ComplianceSummary": "

The number of AWS resources that are compliant or noncompliant, up to a maximum of 100 for each.

", "GetComplianceSummaryByConfigRuleResponse$ComplianceSummary": "

The number of AWS Config rules that are compliant and the number that are noncompliant, up to a maximum of 25 for each.

" } }, "ComplianceSummaryByResourceType": { - "base": "

The number of AWS resources of a specific type that are compliant or noncompliant, up to a maximum of 100 for each compliance.

", + "base": "

The number of AWS resources of a specific type that are compliant or noncompliant, up to a maximum of 100 for each.

", "refs": { "ComplianceSummariesByResourceType$member": null } @@ -164,17 +338,20 @@ "ComplianceType": { "base": null, "refs": { - "Compliance$ComplianceType": "

Indicates whether an AWS resource or AWS Config rule is compliant.

A resource is compliant if it complies with all of the AWS Config rules that evaluate it, and it is noncompliant if it does not comply with one or more of these rules.

A rule is compliant if all of the resources that the rule evaluates comply with it, and it is noncompliant if any of these resources do not comply.

AWS Config returns the INSUFFICIENT_DATA value when no evaluation results are available for the AWS resource or Config rule.

For the Compliance data type, AWS Config supports only COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA values. AWS Config does not support the NOT_APPLICABLE value for the Compliance data type.

", + "AggregateEvaluationResult$ComplianceType": "

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.

", + "Compliance$ComplianceType": "

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.

", "ComplianceTypes$member": null, - "Evaluation$ComplianceType": "

Indicates whether the AWS resource complies with the AWS Config rule that it was evaluated against.

For the Evaluation data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA value for this data type.

Similarly, AWS Config does not accept INSUFFICIENT_DATA as the value for ComplianceType from a PutEvaluations request. For example, an AWS Lambda function for a custom Config rule cannot pass an INSUFFICIENT_DATA value to AWS Config.

", - "EvaluationResult$ComplianceType": "

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.

" + "ConfigRuleComplianceFilters$ComplianceType": "

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.

", + "Evaluation$ComplianceType": "

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.

", + "EvaluationResult$ComplianceType": "

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.

", + "GetAggregateComplianceDetailsByConfigRuleRequest$ComplianceType": "

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.

" } }, "ComplianceTypes": { "base": null, "refs": { "DescribeComplianceByConfigRuleRequest$ComplianceTypes": "

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.

", - "DescribeComplianceByResourceRequest$ComplianceTypes": "

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.

", + "DescribeComplianceByResourceRequest$ComplianceTypes": "

Filters the results by compliance.

The allowed values are COMPLIANT and NON_COMPLIANT.

", "GetComplianceDetailsByConfigRuleRequest$ComplianceTypes": "

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

", "GetComplianceDetailsByResourceRequest$ComplianceTypes": "

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

" } @@ -193,8 +370,26 @@ "PutConfigRuleRequest$ConfigRule": "

The rule that you want to add to your account.

" } }, + "ConfigRuleComplianceFilters": { + "base": "

Filters the compliance results based on account ID, region, compliance type, and rule name.

", + "refs": { + "DescribeAggregateComplianceByConfigRulesRequest$Filters": "

Filters the results by ConfigRuleComplianceFilters object.

" + } + }, + "ConfigRuleComplianceSummaryFilters": { + "base": "

Filters the results based on the account IDs and regions.

", + "refs": { + "GetAggregateConfigRuleComplianceSummaryRequest$Filters": "

Filters the results based on the ConfigRuleComplianceSummaryFilters object.

" + } + }, + "ConfigRuleComplianceSummaryGroupKey": { + "base": null, + "refs": { + "GetAggregateConfigRuleComplianceSummaryRequest$GroupByKey": "

Groups the result based on ACCOUNT_ID or AWS_REGION.

" + } + }, "ConfigRuleEvaluationStatus": { - "base": "

Status information for your AWS managed Config rules. The status includes information such as the last time the rule ran, the last time it failed, and the related error for the last failure.

This action does not return status information about custom Config rules.

", + "base": "

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.

", "refs": { "ConfigRuleEvaluationStatusList$member": null } @@ -205,6 +400,14 @@ "DescribeConfigRuleEvaluationStatusResponse$ConfigRulesEvaluationStatus": "

Status information about your AWS managed Config rules.

" } }, + "ConfigRuleName": { + "base": null, + "refs": { + "AggregateComplianceByConfigRule$ConfigRuleName": "

The name of the AWS Config rule.

", + "ConfigRuleComplianceFilters$ConfigRuleName": "

The name of the AWS Config rule.

", + "GetAggregateComplianceDetailsByConfigRuleRequest$ConfigRuleName": "

The name of the AWS Config rule for which you want compliance information.

" + } + }, "ConfigRuleNames": { "base": null, "refs": { @@ -216,7 +419,7 @@ "ConfigRuleState": { "base": null, "refs": { - "ConfigRule$ConfigRuleState": "

Indicates whether the AWS Config rule is active or is currently being deleted by AWS Config. It can also indicate the evaluation status for the Config rule.

AWS Config sets the state of the rule to EVALUATING temporarily after you use the StartConfigRulesEvaluation request to evaluate your resources against the Config rule.

AWS Config sets the state of the rule to DELETING_RESULTS temporarily after you use the DeleteEvaluationResults request to delete the current evaluation results for the Config rule.

AWS Config sets the state of a rule to DELETING temporarily after you use the DeleteConfigRule request to delete the rule. After AWS Config deletes the rule, the rule and all of its evaluations are erased and are no longer available.

" + "ConfigRule$ConfigRuleState": "

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.

" } }, "ConfigRules": { @@ -226,7 +429,7 @@ } }, "ConfigSnapshotDeliveryProperties": { - "base": "

Provides options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket in your delivery channel.

If you want to create a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot, see the following:

The frequency for a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot is set by one of two values, depending on which is less frequent:

If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency value.

  1. For example, you want your rule to run evaluations when AWS Config delivers the configuration snapshot.

  2. You specify the MaximumExecutionFrequency value for Six_Hours.

  3. You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.

  4. Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency, AWS Config invokes evaluations for the rule every 24 hours.

You should set the MaximumExecutionFrequency value to be at least as frequent as the deliveryFrequency value. You can view the deliveryFrequency value by using the DescribeDeliveryChannnels action.

To update the deliveryFrequency with which AWS Config delivers your configuration snapshots, use the PutDeliveryChannel action.

", + "base": "

Provides options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket in your delivery channel.

If you want to create a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot, see the following:

The frequency for a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot is set by one of two values, depending on which is less frequent:

If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency value.

  1. For example, you want your rule to run evaluations when AWS Config delivers the configuration snapshot.

  2. You specify the MaximumExecutionFrequency value for Six_Hours.

  3. You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.

  4. Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency, AWS Config invokes evaluations for the rule every 24 hours.

You should set the MaximumExecutionFrequency value to be at least as frequent as the deliveryFrequency value. You can view the deliveryFrequency value by using the DescribeDeliveryChannnels action.

To update the deliveryFrequency with which AWS Config delivers your configuration snapshots, use the PutDeliveryChannel action.

", "refs": { "DeliveryChannel$configSnapshotDeliveryProperties": "

The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket.

" } @@ -240,9 +443,48 @@ "Configuration": { "base": null, "refs": { + "BaseConfigurationItem$configuration": "

The description of the resource configuration.

", "ConfigurationItem$configuration": "

The description of the resource configuration.

" } }, + "ConfigurationAggregator": { + "base": "

The details about the configuration aggregator, including information about source accounts, regions, and metadata of the aggregator.

", + "refs": { + "ConfigurationAggregatorList$member": null, + "PutConfigurationAggregatorResponse$ConfigurationAggregator": "

Returns a ConfigurationAggregator object.

" + } + }, + "ConfigurationAggregatorArn": { + "base": null, + "refs": { + "ConfigurationAggregator$ConfigurationAggregatorArn": "

The Amazon Resource Name (ARN) of the aggregator.

" + } + }, + "ConfigurationAggregatorList": { + "base": null, + "refs": { + "DescribeConfigurationAggregatorsResponse$ConfigurationAggregators": "

Returns a ConfigurationAggregators object.

" + } + }, + "ConfigurationAggregatorName": { + "base": null, + "refs": { + "ConfigurationAggregator$ConfigurationAggregatorName": "

The name of the aggregator.

", + "ConfigurationAggregatorNameList$member": null, + "DeleteConfigurationAggregatorRequest$ConfigurationAggregatorName": "

The name of the configuration aggregator.

", + "DescribeAggregateComplianceByConfigRulesRequest$ConfigurationAggregatorName": "

The name of the configuration aggregator.

", + "DescribeConfigurationAggregatorSourcesStatusRequest$ConfigurationAggregatorName": "

The name of the configuration aggregator.

", + "GetAggregateComplianceDetailsByConfigRuleRequest$ConfigurationAggregatorName": "

The name of the configuration aggregator.

", + "GetAggregateConfigRuleComplianceSummaryRequest$ConfigurationAggregatorName": "

The name of the configuration aggregator.

", + "PutConfigurationAggregatorRequest$ConfigurationAggregatorName": "

The name of the configuration aggregator.

" + } + }, + "ConfigurationAggregatorNameList": { + "base": null, + "refs": { + "DescribeConfigurationAggregatorsRequest$ConfigurationAggregatorNames": "

The name of the configuration aggregators.

" + } + }, "ConfigurationItem": { "base": "

A list that contains detailed configurations of a specified resource.

", "refs": { @@ -252,6 +494,7 @@ "ConfigurationItemCaptureTime": { "base": null, "refs": { + "BaseConfigurationItem$configurationItemCaptureTime": "

The time when the configuration recording was initiated.

", "ConfigurationItem$configurationItemCaptureTime": "

The time when the configuration recording was initiated.

" } }, @@ -270,6 +513,7 @@ "ConfigurationItemStatus": { "base": null, "refs": { + "BaseConfigurationItem$configurationItemStatus": "

The configuration item status.

", "ConfigurationItem$configurationItemStatus": "

The configuration item status.

" } }, @@ -308,12 +552,17 @@ "ConfigurationStateId": { "base": null, "refs": { + "BaseConfigurationItem$configurationStateId": "

An identifier that indicates the ordering of the configuration items of a resource.

", "ConfigurationItem$configurationStateId": "

An identifier that indicates the ordering of the configuration items of a resource.

" } }, "Date": { "base": null, "refs": { + "AggregateEvaluationResult$ResultRecordedTime": "

The time when AWS Config recorded the aggregate evaluation result.

", + "AggregateEvaluationResult$ConfigRuleInvokedTime": "

The time when the AWS Config rule evaluated the AWS resource.

", + "AggregatedSourceStatus$LastUpdateTime": "

The time of the last update.

", + "AggregationAuthorization$CreationTime": "

The time stamp when the aggregation authorization was created.

", "ComplianceSummary$ComplianceSummaryTimestamp": "

The time that AWS Config created the compliance summary.

", "ConfigExportDeliveryInfo$lastAttemptTime": "

The time of the last attempted delivery.

", "ConfigExportDeliveryInfo$lastSuccessfulTime": "

The time of the last successful delivery.

", @@ -324,6 +573,8 @@ "ConfigRuleEvaluationStatus$LastFailedEvaluationTime": "

The time that AWS Config last failed to evaluate your AWS resources against the rule.

", "ConfigRuleEvaluationStatus$FirstActivatedTime": "

The time that you first activated the AWS Config rule.

", "ConfigStreamDeliveryInfo$lastStatusChangeTime": "

The time from the last status change.

", + "ConfigurationAggregator$CreationTime": "

The time stamp when the configuration aggregator was created.

", + "ConfigurationAggregator$LastUpdatedTime": "

The time of the last update.

", "ConfigurationRecorderStatus$lastStartTime": "

The time the recorder was last started.

", "ConfigurationRecorderStatus$lastStopTime": "

The time the recorder was last stopped.

", "ConfigurationRecorderStatus$lastStatusChangeTime": "

The time when the status was last changed.

", @@ -332,18 +583,28 @@ "EvaluationResultIdentifier$OrderingTimestamp": "

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.

" } }, + "DeleteAggregationAuthorizationRequest": { + "base": null, + "refs": { + } + }, "DeleteConfigRuleRequest": { "base": "

", "refs": { } }, + "DeleteConfigurationAggregatorRequest": { + "base": null, + "refs": { + } + }, "DeleteConfigurationRecorderRequest": { "base": "

The request object for the DeleteConfigurationRecorder action.

", "refs": { } }, "DeleteDeliveryChannelRequest": { - "base": "

The input for the DeleteDeliveryChannel action. The action accepts the following data in JSON format.

", + "base": "

The input for the DeleteDeliveryChannel action. The action accepts the following data, in JSON format.

", "refs": { } }, @@ -353,7 +614,17 @@ } }, "DeleteEvaluationResultsResponse": { - "base": "

The output when you delete the evaluation results for the specified Config rule.

", + "base": "

The output when you delete the evaluation results for the specified AWS Config rule.

", + "refs": { + } + }, + "DeletePendingAggregationRequestRequest": { + "base": null, + "refs": { + } + }, + "DeleteRetentionConfigurationRequest": { + "base": null, "refs": { } }, @@ -363,7 +634,7 @@ } }, "DeliverConfigSnapshotResponse": { - "base": "

The output for the DeliverConfigSnapshot action in JSON format.

", + "base": "

The output for the DeliverConfigSnapshot action, in JSON format.

", "refs": { } }, @@ -371,7 +642,7 @@ "base": "

The channel through which AWS Config delivers notifications and updated configuration states.

", "refs": { "DeliveryChannelList$member": null, - "PutDeliveryChannelRequest$DeliveryChannel": "

The configuration delivery channel object that delivers the configuration information to an Amazon S3 bucket, and to an Amazon SNS topic.

" + "PutDeliveryChannelRequest$DeliveryChannel": "

The configuration delivery channel object that delivers the configuration information to an Amazon S3 bucket and to an Amazon SNS topic.

" } }, "DeliveryChannelList": { @@ -406,6 +677,26 @@ "ConfigStreamDeliveryInfo$lastStatus": "

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.

" } }, + "DescribeAggregateComplianceByConfigRulesRequest": { + "base": null, + "refs": { + } + }, + "DescribeAggregateComplianceByConfigRulesResponse": { + "base": null, + "refs": { + } + }, + "DescribeAggregationAuthorizationsRequest": { + "base": null, + "refs": { + } + }, + "DescribeAggregationAuthorizationsResponse": { + "base": null, + "refs": { + } + }, "DescribeComplianceByConfigRuleRequest": { "base": "

", "refs": { @@ -446,13 +737,33 @@ "refs": { } }, + "DescribeConfigurationAggregatorSourcesStatusRequest": { + "base": null, + "refs": { + } + }, + "DescribeConfigurationAggregatorSourcesStatusResponse": { + "base": null, + "refs": { + } + }, + "DescribeConfigurationAggregatorsRequest": { + "base": null, + "refs": { + } + }, + "DescribeConfigurationAggregatorsResponse": { + "base": null, + "refs": { + } + }, "DescribeConfigurationRecorderStatusRequest": { "base": "

The input for the DescribeConfigurationRecorderStatus action.

", "refs": { } }, "DescribeConfigurationRecorderStatusResponse": { - "base": "

The output for the DescribeConfigurationRecorderStatus action in JSON format.

", + "base": "

The output for the DescribeConfigurationRecorderStatus action, in JSON format.

", "refs": { } }, @@ -486,10 +797,36 @@ "refs": { } }, + "DescribePendingAggregationRequestsLimit": { + "base": null, + "refs": { + "DescribePendingAggregationRequestsRequest$Limit": "

The maximum number of evaluation results returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

" + } + }, + "DescribePendingAggregationRequestsRequest": { + "base": null, + "refs": { + } + }, + "DescribePendingAggregationRequestsResponse": { + "base": null, + "refs": { + } + }, + "DescribeRetentionConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "DescribeRetentionConfigurationsResponse": { + "base": null, + "refs": { + } + }, "EarlierTime": { "base": null, "refs": { - "GetResourceConfigHistoryRequest$earlierTime": "

The time stamp that indicates an earlier time. If not specified, the action returns paginated results that contain configuration items that start from when the first configuration item was recorded.

" + "GetResourceConfigHistoryRequest$earlierTime": "

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.

" } }, "EmptiableStringWithCharLimit256": { @@ -505,7 +842,7 @@ } }, "EvaluationResult": { - "base": "

The details of an AWS Config evaluation. Provides the AWS resource that was evaluated, the compliance of the resource, related timestamps, and supplementary information.

", + "base": "

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.

", "refs": { "EvaluationResults$member": null } @@ -513,6 +850,7 @@ "EvaluationResultIdentifier": { "base": "

Uniquely identifies an evaluation result.

", "refs": { + "AggregateEvaluationResult$EvaluationResultIdentifier": "

Uniquely identifies the evaluation result.

", "EvaluationResult$EvaluationResultIdentifier": "

Uniquely identifies the evaluation result.

" } }, @@ -542,6 +880,26 @@ "SourceDetail$EventSource": "

The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources.

" } }, + "GetAggregateComplianceDetailsByConfigRuleRequest": { + "base": null, + "refs": { + } + }, + "GetAggregateComplianceDetailsByConfigRuleResponse": { + "base": null, + "refs": { + } + }, + "GetAggregateConfigRuleComplianceSummaryRequest": { + "base": null, + "refs": { + } + }, + "GetAggregateConfigRuleComplianceSummaryResponse": { + "base": null, + "refs": { + } + }, "GetComplianceDetailsByConfigRuleRequest": { "base": "

", "refs": { @@ -597,10 +955,17 @@ "refs": { } }, + "GroupByAPILimit": { + "base": null, + "refs": { + "DescribeAggregateComplianceByConfigRulesRequest$Limit": "

The maximum number of evaluation results returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

", + "GetAggregateConfigRuleComplianceSummaryRequest$Limit": "

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.

" + } + }, "IncludeGlobalResourceTypes": { "base": null, "refs": { - "RecordingGroup$includeGlobalResourceTypes": "

Specifies whether AWS Config includes all supported types of global resources (for example, IAM resources) with the resources that it records.

Before you can set this option to true, you must set the allSupported option to true.

If you set this option to true, when AWS Config adds support for a new type of global resource, it automatically starts recording resources of that type.

The configuration details for any global resource are the same in all regions. To prevent duplicate configuration items, you should consider customizing AWS Config in only one region to record global resources.

" + "RecordingGroup$includeGlobalResourceTypes": "

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.

" } }, "InsufficientDeliveryPolicyException": { @@ -635,7 +1000,7 @@ } }, "InvalidNextTokenException": { - "base": "

The specified next token is invalid. Specify the NextToken string that was returned in the previous response to get the next page of results.

", + "base": "

The specified next token is invalid. Specify the nextToken string that was returned in the previous response to get the next page of results.

", "refs": { } }, @@ -645,7 +1010,7 @@ } }, "InvalidRecordingGroupException": { - "base": "

AWS Config throws an exception if the recording group does not contain a valid list of resource types. Invalid values could also be incorrectly formatted.

", + "base": "

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.

", "refs": { } }, @@ -688,11 +1053,15 @@ "Limit": { "base": null, "refs": { - "DescribeComplianceByResourceRequest$Limit": "

The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

", - "GetComplianceDetailsByConfigRuleRequest$Limit": "

The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

", - "GetDiscoveredResourceCountsRequest$limit": "

The maximum number of ResourceCount objects returned on each page. The default is 100. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

", - "GetResourceConfigHistoryRequest$limit": "

The maximum number of configuration items returned on each page. The default is 10. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

", - "ListDiscoveredResourcesRequest$limit": "

The maximum number of resource identifiers returned on each page. The default is 100. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

" + "DescribeAggregationAuthorizationsRequest$Limit": "

The maximum number of AggregationAuthorizations returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

", + "DescribeComplianceByResourceRequest$Limit": "

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.

", + "DescribeConfigurationAggregatorSourcesStatusRequest$Limit": "

The maximum number of AggregatorSourceStatus returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

", + "DescribeConfigurationAggregatorsRequest$Limit": "

The maximum number of configuration aggregators returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

", + "GetAggregateComplianceDetailsByConfigRuleRequest$Limit": "

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.

", + "GetComplianceDetailsByConfigRuleRequest$Limit": "

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.

", + "GetDiscoveredResourceCountsRequest$limit": "

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.

", + "GetResourceConfigHistoryRequest$limit": "

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.

", + "ListDiscoveredResourcesRequest$limit": "

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.

" } }, "LimitExceededException": { @@ -713,22 +1082,27 @@ "Long": { "base": null, "refs": { - "GetDiscoveredResourceCountsResponse$totalDiscoveredResources": "

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.

", + "GetDiscoveredResourceCountsResponse$totalDiscoveredResources": "

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.

", "ResourceCount$count": "

The number of resources.

" } }, "MaxNumberOfConfigRulesExceededException": { - "base": "

Failed to add the AWS Config rule because the account already contains the maximum number of 50 rules. Consider deleting any deactivated rules before adding new rules.

", + "base": "

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.

", "refs": { } }, "MaxNumberOfConfigurationRecordersExceededException": { - "base": "

You have reached the limit on the number of recorders you can create.

", + "base": "

You have reached the limit of the number of recorders you can create.

", "refs": { } }, "MaxNumberOfDeliveryChannelsExceededException": { - "base": "

You have reached the limit on the number of delivery channels you can create.

", + "base": "

You have reached the limit of the number of delivery channels you can create.

", + "refs": { + } + }, + "MaxNumberOfRetentionConfigurationsExceededException": { + "base": "

Failed to add the retention configuration because a retention configuration with that name already exists.

", "refs": { } }, @@ -737,13 +1111,13 @@ "refs": { "ConfigRule$MaximumExecutionFrequency": "

The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for MaximumExecutionFrequency when:

By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

", "ConfigSnapshotDeliveryProperties$deliveryFrequency": "

The frequency with which AWS Config delivers configuration snapshots.

", - "SourceDetail$MaximumExecutionFrequency": "

The frequency that you want AWS Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for MaximumExecutionFrequency, then MessageType must use the ScheduledNotification value.

By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

" + "SourceDetail$MaximumExecutionFrequency": "

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.

" } }, "MessageType": { "base": null, "refs": { - "SourceDetail$MessageType": "

The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:

If you want your custom rule to be triggered by configuration changes, specify both ConfigurationItemChangeNotification and OversizedConfigurationItemChangeNotification.

" + "SourceDetail$MessageType": "

The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:

If you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for ConfigurationItemChangeNotification and one for OversizedConfigurationItemChangeNotification.

" } }, "Name": { @@ -755,9 +1129,17 @@ "NextToken": { "base": null, "refs": { - "DescribeComplianceByResourceRequest$NextToken": "

The NextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribeAggregateComplianceByConfigRulesRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribeAggregateComplianceByConfigRulesResponse$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribeComplianceByResourceRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", "DescribeComplianceByResourceResponse$NextToken": "

The string that you use in a subsequent request to get the next page of results in a paginated response.

", - "GetComplianceDetailsByConfigRuleRequest$NextToken": "

The NextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribeRetentionConfigurationsRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribeRetentionConfigurationsResponse$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "GetAggregateComplianceDetailsByConfigRuleRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "GetAggregateComplianceDetailsByConfigRuleResponse$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "GetAggregateConfigRuleComplianceSummaryRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "GetAggregateConfigRuleComplianceSummaryResponse$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "GetComplianceDetailsByConfigRuleRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", "GetComplianceDetailsByConfigRuleResponse$NextToken": "

The string that you use in a subsequent request to get the next page of results in a paginated response.

", "GetDiscoveredResourceCountsRequest$nextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", "GetDiscoveredResourceCountsResponse$nextToken": "

The string that you use in a subsequent request to get the next page of results in a paginated response.

", @@ -777,6 +1159,11 @@ "refs": { } }, + "NoAvailableOrganizationException": { + "base": "

Organization does is no longer available.

", + "refs": { + } + }, "NoRunningConfigurationRecorderException": { "base": "

There is no configuration recorder running.

", "refs": { @@ -792,6 +1179,11 @@ "refs": { } }, + "NoSuchConfigurationAggregatorException": { + "base": "

You have specified a configuration aggregator that does not exist.

", + "refs": { + } + }, "NoSuchConfigurationRecorderException": { "base": "

You have specified a configuration recorder that does not exist.

", "refs": { @@ -802,23 +1194,77 @@ "refs": { } }, + "NoSuchRetentionConfigurationException": { + "base": "

You have specified a retention configuration that does not exist.

", + "refs": { + } + }, "OrderingTimestamp": { "base": null, "refs": { "Evaluation$OrderingTimestamp": "

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

" } }, + "OrganizationAccessDeniedException": { + "base": "

No permission to call the EnableAWSServiceAccess API.

", + "refs": { + } + }, + "OrganizationAggregationSource": { + "base": "

This object contains regions to setup the aggregator and an IAM role to retrieve organization details.

", + "refs": { + "ConfigurationAggregator$OrganizationAggregationSource": "

Provides an organization and list of regions to be aggregated.

", + "PutConfigurationAggregatorRequest$OrganizationAggregationSource": "

An OrganizationAggregationSource object.

" + } + }, + "OrganizationAllFeaturesNotEnabledException": { + "base": "

The configuration aggregator cannot be created because organization does not have all features enabled.

", + "refs": { + } + }, "Owner": { "base": null, "refs": { "Source$Owner": "

Indicates whether AWS or the customer owns and manages the AWS Config rule.

" } }, + "PendingAggregationRequest": { + "base": "

An object that represents the account ID and region of an aggregator account that is requesting authorization but is not yet authorized.

", + "refs": { + "PendingAggregationRequestList$member": null + } + }, + "PendingAggregationRequestList": { + "base": null, + "refs": { + "DescribePendingAggregationRequestsResponse$PendingAggregationRequests": "

Returns a PendingAggregationRequests object.

" + } + }, + "PutAggregationAuthorizationRequest": { + "base": null, + "refs": { + } + }, + "PutAggregationAuthorizationResponse": { + "base": null, + "refs": { + } + }, "PutConfigRuleRequest": { "base": null, "refs": { } }, + "PutConfigurationAggregatorRequest": { + "base": null, + "refs": { + } + }, + "PutConfigurationAggregatorResponse": { + "base": null, + "refs": { + } + }, "PutConfigurationRecorderRequest": { "base": "

The input for the PutConfigurationRecorder action.

", "refs": { @@ -839,6 +1285,16 @@ "refs": { } }, + "PutRetentionConfigurationRequest": { + "base": null, + "refs": { + } + }, + "PutRetentionConfigurationResponse": { + "base": null, + "refs": { + } + }, "RecorderName": { "base": null, "refs": { @@ -856,15 +1312,15 @@ } }, "RecordingGroup": { - "base": "

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.

", + "base": "

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.

", "refs": { - "ConfigurationRecorder$recordingGroup": "

Specifies the types of AWS resource for which AWS Config records configuration changes.

" + "ConfigurationRecorder$recordingGroup": "

Specifies the types of AWS resources for which AWS Config records configuration changes.

" } }, "ReevaluateConfigRuleNames": { "base": null, "refs": { - "StartConfigRulesEvaluationRequest$ConfigRuleNames": "

The list of names of Config rules that you want to run evaluations for.

" + "StartConfigRulesEvaluationRequest$ConfigRuleNames": "

The list of names of AWS Config rules that you want to run evaluations for.

" } }, "RelatedEvent": { @@ -876,7 +1332,7 @@ "RelatedEventList": { "base": null, "refs": { - "ConfigurationItem$relatedEvents": "

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.

" + "ConfigurationItem$relatedEvents": "

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.

" } }, "Relationship": { @@ -912,6 +1368,7 @@ "ResourceCreationTime": { "base": null, "refs": { + "BaseConfigurationItem$resourceCreationTime": "

The time stamp when the resource was created.

", "ConfigurationItem$resourceCreationTime": "

The time stamp when the resource was created.

" } }, @@ -924,11 +1381,13 @@ "ResourceId": { "base": null, "refs": { - "ConfigurationItem$resourceId": "

The ID of the resource (for example., sg-xxxxxx).

", + "BaseConfigurationItem$resourceId": "

The ID of the resource (for example., sg-xxxxxx).

", + "ConfigurationItem$resourceId": "

The ID of the resource (for example, sg-xxxxxx).

", "GetResourceConfigHistoryRequest$resourceId": "

The ID of the resource (for example., sg-xxxxxx).

", "Relationship$resourceId": "

The ID of the related resource (for example, sg-xxxxxx).

", "ResourceIdList$member": null, - "ResourceIdentifier$resourceId": "

The ID of the resource (for example., sg-xxxxxx).

" + "ResourceIdentifier$resourceId": "

The ID of the resource (for example, sg-xxxxxx).

", + "ResourceKey$resourceId": "

The ID of the resource (for example., sg-xxxxxx).

" } }, "ResourceIdList": { @@ -954,9 +1413,23 @@ "refs": { } }, + "ResourceKey": { + "base": "

The details that identify a resource within AWS Config, including the resource type and resource ID.

", + "refs": { + "ResourceKeys$member": null + } + }, + "ResourceKeys": { + "base": null, + "refs": { + "BatchGetResourceConfigRequest$resourceKeys": "

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$unprocessedResourceKeys": "

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.

" + } + }, "ResourceName": { "base": null, "refs": { + "BaseConfigurationItem$resourceName": "

The custom name of the resource, if available.

", "ConfigurationItem$resourceName": "

The custom name of the resource, if available.

", "ListDiscoveredResourcesRequest$resourceName": "

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.

", "Relationship$resourceName": "

The custom name of the related resource, if available.

", @@ -971,12 +1444,14 @@ "ResourceType": { "base": null, "refs": { + "BaseConfigurationItem$resourceType": "

The type of AWS resource.

", "ConfigurationItem$resourceType": "

The type of AWS resource.

", "GetResourceConfigHistoryRequest$resourceType": "

The resource type.

", "ListDiscoveredResourcesRequest$resourceType": "

The type of resources that you want AWS Config to list in the response.

", "Relationship$resourceType": "

The resource type of the related resource.

", - "ResourceCount$resourceType": "

The resource type, for example \"AWS::EC2::Instance\".

", + "ResourceCount$resourceType": "

The resource type (for example, \"AWS::EC2::Instance\").

", "ResourceIdentifier$resourceType": "

The type of resource.

", + "ResourceKey$resourceType": "

The resource type.

", "ResourceTypeList$member": null } }, @@ -989,14 +1464,48 @@ "ResourceTypes": { "base": null, "refs": { - "GetComplianceSummaryByResourceTypeRequest$ResourceTypes": "

Specify one or more resource types to get the number of resources that are compliant and the number that are noncompliant for each resource type.

For this request, you can specify an AWS resource type such as AWS::EC2::Instance, and you can specify that the resource type is an AWS account by specifying AWS::::Account.

", - "GetDiscoveredResourceCountsRequest$resourceTypes": "

The comma-separated list that specifies the resource types that you want the 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.

" + "GetComplianceSummaryByResourceTypeRequest$ResourceTypes": "

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.

", + "GetDiscoveredResourceCountsRequest$resourceTypes": "

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.

" + } + }, + "RetentionConfiguration": { + "base": "

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.

", + "refs": { + "PutRetentionConfigurationResponse$RetentionConfiguration": "

Returns a retention configuration object.

", + "RetentionConfigurationList$member": null + } + }, + "RetentionConfigurationList": { + "base": null, + "refs": { + "DescribeRetentionConfigurationsResponse$RetentionConfigurations": "

Returns a retention configuration object.

" + } + }, + "RetentionConfigurationName": { + "base": null, + "refs": { + "DeleteRetentionConfigurationRequest$RetentionConfigurationName": "

The name of the retention configuration to delete.

", + "RetentionConfiguration$Name": "

The name of the retention configuration object.

", + "RetentionConfigurationNameList$member": null + } + }, + "RetentionConfigurationNameList": { + "base": null, + "refs": { + "DescribeRetentionConfigurationsRequest$RetentionConfigurationNames": "

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.

" + } + }, + "RetentionPeriodInDays": { + "base": null, + "refs": { + "PutRetentionConfigurationRequest$RetentionPeriodInDays": "

Number of days AWS Config stores your historical information.

Currently, only applicable to the configuration item history.

", + "RetentionConfiguration$RetentionPeriodInDays": "

Number of days AWS Config stores your historical information.

Currently, only applicable to the configuration item history.

" } }, "RuleLimit": { "base": null, "refs": { - "DescribeConfigRuleEvaluationStatusRequest$Limit": "

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 more information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

" + "DescribeConfigRuleEvaluationStatusRequest$Limit": "

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.

" } }, "Scope": { @@ -1029,7 +1538,7 @@ } }, "StartConfigRulesEvaluationResponse": { - "base": "

The output when you start the evaluation for the specified Config rule.

", + "base": "

The output when you start the evaluation for the specified AWS Config rule.

", "refs": { } }, @@ -1046,6 +1555,11 @@ "String": { "base": null, "refs": { + "AggregatedSourceStatus$SourceId": "

The source account ID or an organization.

", + "AggregatedSourceStatus$LastErrorCode": "

The error code that AWS Config returned when the source account aggregation last failed.

", + "AggregatedSourceStatus$LastErrorMessage": "

The message indicating that the source account aggregation failed due to an error.

", + "AggregationAuthorization$AggregationAuthorizationArn": "

The Amazon Resource Name (ARN) of the aggregation object.

", + "AggregatorRegionList$member": null, "ConfigExportDeliveryInfo$lastErrorCode": "

The error code from the last attempted delivery.

", "ConfigExportDeliveryInfo$lastErrorMessage": "

The error message from the last attempted delivery.

", "ConfigRule$ConfigRuleArn": "

The Amazon Resource Name (ARN) of the AWS Config rule.

", @@ -1065,22 +1579,31 @@ "DeliveryChannel$s3KeyPrefix": "

The prefix for the specified Amazon S3 bucket.

", "DeliveryChannel$snsTopicARN": "

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.

", "DeliveryChannelStatus$name": "

The name of the delivery channel.

", - "DescribeComplianceByConfigRuleRequest$NextToken": "

The NextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribeAggregationAuthorizationsRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribeAggregationAuthorizationsResponse$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribeComplianceByConfigRuleRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", "DescribeComplianceByConfigRuleResponse$NextToken": "

The string that you use in a subsequent request to get the next page of results in a paginated response.

", - "DescribeConfigRuleEvaluationStatusRequest$NextToken": "

The NextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribeConfigRuleEvaluationStatusRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", "DescribeConfigRuleEvaluationStatusResponse$NextToken": "

The string that you use in a subsequent request to get the next page of results in a paginated response.

", - "DescribeConfigRulesRequest$NextToken": "

The NextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribeConfigRulesRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", "DescribeConfigRulesResponse$NextToken": "

The string that you use in a subsequent request to get the next page of results in a paginated response.

", + "DescribeConfigurationAggregatorSourcesStatusRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribeConfigurationAggregatorSourcesStatusResponse$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribeConfigurationAggregatorsRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribeConfigurationAggregatorsResponse$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribePendingAggregationRequestsRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "DescribePendingAggregationRequestsResponse$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", "EvaluationResult$ResultToken": "

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.

", - "GetComplianceDetailsByResourceRequest$NextToken": "

The NextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "GetComplianceDetailsByResourceRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", "GetComplianceDetailsByResourceResponse$NextToken": "

The string that you use in a subsequent request to get the next page of results in a paginated response.

", - "PutEvaluationsRequest$ResultToken": "

An encrypted token that associates an evaluation with an AWS Config rule. Identifies the rule and the event that triggered the evaluation

" + "OrganizationAggregationSource$RoleArn": "

ARN of the IAM role used to retreive AWS Organization details associated with the aggregator account.

", + "PutEvaluationsRequest$ResultToken": "

An encrypted token that associates an evaluation with an AWS Config rule. Identifies the rule and the event that triggered the evaluation.

" } }, "StringWithCharLimit1024": { "base": null, "refs": { - "ConfigRule$InputParameters": "

A string in JSON format that is passed to the AWS Config rule Lambda function.

" + "ConfigRule$InputParameters": "

A string, in JSON format, that is passed to the AWS Config rule Lambda function.

" } }, "StringWithCharLimit128": { @@ -1092,14 +1615,17 @@ "StringWithCharLimit256": { "base": null, "refs": { + "AggregateComplianceCount$GroupName": "

The 12-digit account ID or region based on the GroupByKey value.

", + "AggregateEvaluationResult$Annotation": "

Supplementary information about how the agrregate evaluation determined the compliance.

", "ComplianceByResource$ResourceType": "

The type of the AWS resource that was evaluated.

", "ComplianceResourceTypes$member": null, "ComplianceSummaryByResourceType$ResourceType": "

The type of AWS resource.

", - "DescribeComplianceByResourceRequest$ResourceType": "

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.

", + "DescribeComplianceByResourceRequest$ResourceType": "

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.

", "Evaluation$ComplianceResourceType": "

The type of AWS resource that was evaluated.

", "Evaluation$Annotation": "

Supplementary information about how the evaluation determined the compliance.

", "EvaluationResult$Annotation": "

Supplementary information about how the evaluation determined the compliance.

", "EvaluationResultQualifier$ResourceType": "

The type of AWS resource that was evaluated.

", + "GetAggregateConfigRuleComplianceSummaryResponse$GroupByKey": "

Groups the result based on ACCOUNT_ID or AWS_REGION.

", "GetComplianceDetailsByResourceRequest$ResourceType": "

The type of the AWS resource for which you want compliance information.

", "ResourceTypes$member": null, "Scope$TagValue": "

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.

", @@ -1114,7 +1640,7 @@ "ConfigRuleEvaluationStatus$ConfigRuleName": "

The name of the AWS Config rule.

", "ConfigRuleNames$member": null, "DeleteConfigRuleRequest$ConfigRuleName": "

The name of the AWS Config rule that you want to delete.

", - "DeleteEvaluationResultsRequest$ConfigRuleName": "

The name of the Config rule for which you want to delete the evaluation results.

", + "DeleteEvaluationResultsRequest$ConfigRuleName": "

The name of the AWS Config rule for which you want to delete the evaluation results.

", "EvaluationResultQualifier$ConfigRuleName": "

The name of the AWS Config rule that was used in the evaluation.

", "GetComplianceDetailsByConfigRuleRequest$ConfigRuleName": "

The name of the AWS Config rule for which you want compliance information.

", "ReevaluateConfigRuleNames$member": null @@ -1123,6 +1649,7 @@ "SupplementaryConfiguration": { "base": null, "refs": { + "BaseConfigurationItem$supplementaryConfiguration": "

Configuration attributes that AWS Config returns for certain resource types to supplement the information returned for the configuration parameter.

", "ConfigurationItem$supplementaryConfiguration": "

Configuration attributes that AWS Config returns for certain resource types to supplement the information returned for the configuration parameter.

" } }, @@ -1158,6 +1685,7 @@ "Version": { "base": null, "refs": { + "BaseConfigurationItem$version": "

The version number of the resource configuration.

", "ConfigurationItem$version": "

The version number of the resource configuration.

" } } diff --git a/models/apis/config/2014-11-12/smoke.json b/models/apis/config/2014-11-12/smoke.json new file mode 100644 index 00000000000..a2794a9033f --- /dev/null +++ b/models/apis/config/2014-11-12/smoke.json @@ -0,0 +1,19 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeConfigurationRecorders", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "GetResourceConfigHistory", + "input": { + "resourceType": "fake-type", + "resourceId": "fake-id" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/connect/2017-08-08/api-2.json b/models/apis/connect/2017-08-08/api-2.json new file mode 100644 index 00000000000..f37eafa5900 --- /dev/null +++ b/models/apis/connect/2017-08-08/api-2.json @@ -0,0 +1,1003 @@ +{ + "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"} + ] + }, + "DeleteUser":{ + "name":"DeleteUser", + "http":{ + "method":"DELETE", + "requestUri":"/users/{InstanceId}/{UserId}" + }, + "input":{"shape":"DeleteUserRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + } + }, + "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", + "max":32767, + "min":1 + }, + "AttributeValue":{ + "type":"string", + "max":32767, + "min":0 + }, + "Attributes":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"} + }, + "AutoAccept":{"type":"boolean"}, + "ClientToken":{ + "type":"string", + "max":500 + }, + "ContactFlowId":{ + "type":"string", + "max":500 + }, + "ContactId":{ + "type":"string", + "max":256, + "min":1 + }, + "ContactNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":410}, + "exception":true + }, + "CreateUserRequest":{ + "type":"structure", + "required":[ + "Username", + "PhoneConfig", + "SecurityProfileIds", + "RoutingProfileId", + "InstanceId" + ], + "members":{ + "Username":{"shape":"AgentUsername"}, + "Password":{"shape":"Password"}, + "IdentityInfo":{"shape":"UserIdentityInfo"}, + "PhoneConfig":{"shape":"UserPhoneConfig"}, + "DirectoryUserId":{"shape":"DirectoryUserId"}, + "SecurityProfileIds":{"shape":"SecurityProfileIds"}, + "RoutingProfileId":{"shape":"RoutingProfileId"}, + "HierarchyGroupId":{"shape":"HierarchyGroupId"}, + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "CreateUserResponse":{ + "type":"structure", + "members":{ + "UserId":{"shape":"UserId"}, + "UserArn":{"shape":"ARN"} + } + }, + "Credentials":{ + "type":"structure", + "members":{ + "AccessToken":{"shape":"SecurityToken"}, + "AccessTokenExpiration":{"shape":"timestamp"}, + "RefreshToken":{"shape":"SecurityToken"}, + "RefreshTokenExpiration":{"shape":"timestamp"} + } + }, + "DeleteUserRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "UserId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "UserId":{ + "shape":"UserId", + "location":"uri", + "locationName":"UserId" + } + } + }, + "DescribeUserHierarchyGroupRequest":{ + "type":"structure", + "required":[ + "HierarchyGroupId", + "InstanceId" + ], + "members":{ + "HierarchyGroupId":{ + "shape":"HierarchyGroupId", + "location":"uri", + "locationName":"HierarchyGroupId" + }, + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "DescribeUserHierarchyGroupResponse":{ + "type":"structure", + "members":{ + "HierarchyGroup":{"shape":"HierarchyGroup"} + } + }, + "DescribeUserHierarchyStructureRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "DescribeUserHierarchyStructureResponse":{ + "type":"structure", + "members":{ + "HierarchyStructure":{"shape":"HierarchyStructure"} + } + }, + "DescribeUserRequest":{ + "type":"structure", + "required":[ + "UserId", + "InstanceId" + ], + "members":{ + "UserId":{ + "shape":"UserId", + "location":"uri", + "locationName":"UserId" + }, + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "DescribeUserResponse":{ + "type":"structure", + "members":{ + "User":{"shape":"User"} + } + }, + "DestinationNotAllowedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":403}, + "exception":true + }, + "DirectoryUserId":{"type":"string"}, + "DuplicateResourceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "Email":{"type":"string"}, + "GetFederationTokenRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "GetFederationTokenResponse":{ + "type":"structure", + "members":{ + "Credentials":{"shape":"Credentials"} + } + }, + "HierarchyGroup":{ + "type":"structure", + "members":{ + "Id":{"shape":"HierarchyGroupId"}, + "Arn":{"shape":"ARN"}, + "Name":{"shape":"HierarchyGroupName"}, + "LevelId":{"shape":"HierarchyLevelId"}, + "HierarchyPath":{"shape":"HierarchyPath"} + } + }, + "HierarchyGroupId":{"type":"string"}, + "HierarchyGroupName":{"type":"string"}, + "HierarchyGroupSummary":{ + "type":"structure", + "members":{ + "Id":{"shape":"HierarchyGroupId"}, + "Arn":{"shape":"ARN"}, + "Name":{"shape":"HierarchyGroupName"} + } + }, + "HierarchyGroupSummaryList":{ + "type":"list", + "member":{"shape":"HierarchyGroupSummary"} + }, + "HierarchyLevel":{ + "type":"structure", + "members":{ + "Id":{"shape":"HierarchyLevelId"}, + "Arn":{"shape":"ARN"}, + "Name":{"shape":"HierarchyLevelName"} + } + }, + "HierarchyLevelId":{"type":"string"}, + "HierarchyLevelName":{"type":"string"}, + "HierarchyPath":{ + "type":"structure", + "members":{ + "LevelOne":{"shape":"HierarchyGroupSummary"}, + "LevelTwo":{"shape":"HierarchyGroupSummary"}, + "LevelThree":{"shape":"HierarchyGroupSummary"}, + "LevelFour":{"shape":"HierarchyGroupSummary"}, + "LevelFive":{"shape":"HierarchyGroupSummary"} + } + }, + "HierarchyStructure":{ + "type":"structure", + "members":{ + "LevelOne":{"shape":"HierarchyLevel"}, + "LevelTwo":{"shape":"HierarchyLevel"}, + "LevelThree":{"shape":"HierarchyLevel"}, + "LevelFour":{"shape":"HierarchyLevel"}, + "LevelFive":{"shape":"HierarchyLevel"} + } + }, + "InstanceId":{ + "type":"string", + "max":100, + "min":1 + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":500}, + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":429}, + "exception":true + }, + "ListRoutingProfilesRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult1000", + "box":true, + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListRoutingProfilesResponse":{ + "type":"structure", + "members":{ + "RoutingProfileSummaryList":{"shape":"RoutingProfileSummaryList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListSecurityProfilesRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult1000", + "box":true, + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListSecurityProfilesResponse":{ + "type":"structure", + "members":{ + "SecurityProfileSummaryList":{"shape":"SecurityProfileSummaryList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListUserHierarchyGroupsRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult1000", + "box":true, + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListUserHierarchyGroupsResponse":{ + "type":"structure", + "members":{ + "UserHierarchyGroupSummaryList":{"shape":"HierarchyGroupSummaryList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListUsersRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult1000", + "box":true, + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListUsersResponse":{ + "type":"structure", + "members":{ + "UserSummaryList":{"shape":"UserSummaryList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "MaxResult1000":{ + "type":"integer", + "max":1000, + "min":1 + }, + "Message":{"type":"string"}, + "NextToken":{"type":"string"}, + "OutboundContactNotPermittedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":403}, + "exception":true + }, + "Password":{ + "type":"string", + "pattern":"/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d\\S]{8,}$/" + }, + "PhoneNumber":{"type":"string"}, + "PhoneType":{ + "type":"string", + "enum":[ + "SOFT_PHONE", + "DESK_PHONE" + ] + }, + "QueueId":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "RoutingProfileId":{"type":"string"}, + "RoutingProfileName":{ + "type":"string", + "max":100, + "min":1 + }, + "RoutingProfileSummary":{ + "type":"structure", + "members":{ + "Id":{"shape":"RoutingProfileId"}, + "Arn":{"shape":"ARN"}, + "Name":{"shape":"RoutingProfileName"} + } + }, + "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"}, + "Arn":{"shape":"ARN"}, + "Name":{"shape":"SecurityProfileName"} + } + }, + "SecurityProfileSummaryList":{ + "type":"list", + "member":{"shape":"SecurityProfileSummary"} + }, + "SecurityToken":{ + "type":"string", + "sensitive":true + }, + "StartOutboundVoiceContactRequest":{ + "type":"structure", + "required":[ + "DestinationPhoneNumber", + "ContactFlowId", + "InstanceId" + ], + "members":{ + "DestinationPhoneNumber":{"shape":"PhoneNumber"}, + "ContactFlowId":{"shape":"ContactFlowId"}, + "InstanceId":{"shape":"InstanceId"}, + "ClientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "SourcePhoneNumber":{"shape":"PhoneNumber"}, + "QueueId":{"shape":"QueueId"}, + "Attributes":{"shape":"Attributes"} + } + }, + "StartOutboundVoiceContactResponse":{ + "type":"structure", + "members":{ + "ContactId":{"shape":"ContactId"} + } + }, + "StopContactRequest":{ + "type":"structure", + "required":[ + "ContactId", + "InstanceId" + ], + "members":{ + "ContactId":{"shape":"ContactId"}, + "InstanceId":{"shape":"InstanceId"} + } + }, + "StopContactResponse":{ + "type":"structure", + "members":{ + } + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":429}, + "exception":true + }, + "UpdateUserHierarchyRequest":{ + "type":"structure", + "required":[ + "UserId", + "InstanceId" + ], + "members":{ + "HierarchyGroupId":{"shape":"HierarchyGroupId"}, + "UserId":{ + "shape":"UserId", + "location":"uri", + "locationName":"UserId" + }, + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "UpdateUserIdentityInfoRequest":{ + "type":"structure", + "required":[ + "IdentityInfo", + "UserId", + "InstanceId" + ], + "members":{ + "IdentityInfo":{"shape":"UserIdentityInfo"}, + "UserId":{ + "shape":"UserId", + "location":"uri", + "locationName":"UserId" + }, + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "UpdateUserPhoneConfigRequest":{ + "type":"structure", + "required":[ + "PhoneConfig", + "UserId", + "InstanceId" + ], + "members":{ + "PhoneConfig":{"shape":"UserPhoneConfig"}, + "UserId":{ + "shape":"UserId", + "location":"uri", + "locationName":"UserId" + }, + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "UpdateUserRoutingProfileRequest":{ + "type":"structure", + "required":[ + "RoutingProfileId", + "UserId", + "InstanceId" + ], + "members":{ + "RoutingProfileId":{"shape":"RoutingProfileId"}, + "UserId":{ + "shape":"UserId", + "location":"uri", + "locationName":"UserId" + }, + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "UpdateUserSecurityProfilesRequest":{ + "type":"structure", + "required":[ + "SecurityProfileIds", + "UserId", + "InstanceId" + ], + "members":{ + "SecurityProfileIds":{"shape":"SecurityProfileIds"}, + "UserId":{ + "shape":"UserId", + "location":"uri", + "locationName":"UserId" + }, + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "User":{ + "type":"structure", + "members":{ + "Id":{"shape":"UserId"}, + "Arn":{"shape":"ARN"}, + "Username":{"shape":"AgentUsername"}, + "IdentityInfo":{"shape":"UserIdentityInfo"}, + "PhoneConfig":{"shape":"UserPhoneConfig"}, + "DirectoryUserId":{"shape":"DirectoryUserId"}, + "SecurityProfileIds":{"shape":"SecurityProfileIds"}, + "RoutingProfileId":{"shape":"RoutingProfileId"}, + "HierarchyGroupId":{"shape":"HierarchyGroupId"} + } + }, + "UserId":{"type":"string"}, + "UserIdentityInfo":{ + "type":"structure", + "members":{ + "FirstName":{"shape":"AgentFirstName"}, + "LastName":{"shape":"AgentLastName"}, + "Email":{"shape":"Email"} + } + }, + "UserNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "UserPhoneConfig":{ + "type":"structure", + "required":["PhoneType"], + "members":{ + "PhoneType":{"shape":"PhoneType"}, + "AutoAccept":{"shape":"AutoAccept"}, + "AfterContactWorkTimeLimit":{"shape":"AfterContactWorkTimeLimit"}, + "DeskPhoneNumber":{"shape":"PhoneNumber"} + } + }, + "UserSummary":{ + "type":"structure", + "members":{ + "Id":{"shape":"UserId"}, + "Arn":{"shape":"ARN"}, + "Username":{"shape":"AgentUsername"} + } + }, + "UserSummaryList":{ + "type":"list", + "member":{"shape":"UserSummary"} + }, + "timestamp":{"type":"timestamp"} + } +} diff --git a/models/apis/connect/2017-08-08/docs-2.json b/models/apis/connect/2017-08-08/docs-2.json new file mode 100644 index 00000000000..35f5e412284 --- /dev/null +++ b/models/apis/connect/2017-08-08/docs-2.json @@ -0,0 +1,606 @@ +{ + "version": "2.0", + "service": "

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.

", + "operations": { + "CreateUser": "

Creates a new user account in your Amazon Connect instance.

", + "DeleteUser": "

Deletes a user account from Amazon Connect.

", + "DescribeUser": "

Returns a User object that contains information about the user account specified by the UserId.

", + "DescribeUserHierarchyGroup": "

Returns a HierarchyGroup object that includes information about a hierarchy group in your instance.

", + "DescribeUserHierarchyStructure": "

Returns a HiearchyGroupStructure object, which contains data about the levels in the agent hierarchy.

", + "GetFederationToken": "

Retrieves a token for federation.

", + "ListRoutingProfiles": "

Returns an array of RoutingProfileSummary objects that includes information about the routing profiles in your instance.

", + "ListSecurityProfiles": "

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

Returns a UserHierarchyGroupSummaryList, which is an array of HierarchyGroupSummary objects that contain information about the hierarchy groups in your instance.

", + "ListUsers": "

Returns a UserSummaryList, which is an array of UserSummary objects.

", + "StartOutboundVoiceContact": "

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

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

Assigns the specified hierarchy group to the user.

", + "UpdateUserIdentityInfo": "

Updates the identity information for the specified user in a UserIdentityInfo object, including email, first name, and last name.

", + "UpdateUserPhoneConfig": "

Updates the phone configuration settings in the UserPhoneConfig object for the specified user.

", + "UpdateUserRoutingProfile": "

Assigns the specified routing profile to a user.

", + "UpdateUserSecurityProfiles": "

Update the security profiles assigned to the user.

" + }, + "shapes": { + "ARN": { + "base": null, + "refs": { + "CreateUserResponse$UserArn": "

The Amazon Resource Name (ARN) of the user account created.

", + "HierarchyGroup$Arn": "

The Amazon Resource Name (ARN) for the hierarchy group.

", + "HierarchyGroupSummary$Arn": "

The ARN for the hierarchy group.

", + "HierarchyLevel$Arn": "

The ARN for the hierarchy group level.

", + "RoutingProfileSummary$Arn": "

The ARN of the routing profile.

", + "SecurityProfileSummary$Arn": "

The ARN of the security profile.

", + "User$Arn": "

The ARN of the user account.

", + "UserSummary$Arn": "

The ARN for the user account.

" + } + }, + "AfterContactWorkTimeLimit": { + "base": null, + "refs": { + "UserPhoneConfig$AfterContactWorkTimeLimit": "

The After Call Work (ACW) timeout setting, in seconds, for the user.

" + } + }, + "AgentFirstName": { + "base": null, + "refs": { + "UserIdentityInfo$FirstName": "

The first name used in the user account. This is required if you are using Amazon Connect or SAML for identity management.

" + } + }, + "AgentLastName": { + "base": null, + "refs": { + "UserIdentityInfo$LastName": "

The last name used in the user account. This is required if you are using Amazon Connect or SAML for identity management.

" + } + }, + "AgentUsername": { + "base": null, + "refs": { + "CreateUserRequest$Username": "

The user name in Amazon Connect for the user to create.

", + "User$Username": "

The user name assigned to the user account.

", + "UserSummary$Username": "

The Amazon Connect user name for the user account.

" + } + }, + "AttributeName": { + "base": "Key for the key value pair to be used for additional attributes.", + "refs": { + "Attributes$key": null + } + }, + "AttributeValue": { + "base": "Value for the key value pair to be used for additional attributes.", + "refs": { + "Attributes$value": null + } + }, + "Attributes": { + "base": "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.", + "refs": { + "StartOutboundVoiceContactRequest$Attributes": "

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:

" + } + }, + "AutoAccept": { + "base": null, + "refs": { + "UserPhoneConfig$AutoAccept": "

The Auto accept setting for the user, Yes or No.

" + } + }, + "ClientToken": { + "base": "Dedupe token to be provided by the client. This token is used to avoid duplicate calls to the customer.", + "refs": { + "StartOutboundVoiceContactRequest$ClientToken": "

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.

" + } + }, + "ContactFlowId": { + "base": "Amazon resource name for the contact flow to be executed to handle the current call.", + "refs": { + "StartOutboundVoiceContactRequest$ContactFlowId": "

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.

" + } + }, + "ContactId": { + "base": "Amazon Connect contact identifier. An unique ContactId will be generated for each contact request.", + "refs": { + "StartOutboundVoiceContactResponse$ContactId": "

The unique identifier of this contact within your Amazon Connect instance.

", + "StopContactRequest$ContactId": "

The unique identifier of the contact to end.

" + } + }, + "ContactNotFoundException": { + "base": "

The contact with the specified ID is not active or does not exist.

", + "refs": { + } + }, + "CreateUserRequest": { + "base": null, + "refs": { + } + }, + "CreateUserResponse": { + "base": null, + "refs": { + } + }, + "Credentials": { + "base": "

The credentials to use for federation.

", + "refs": { + "GetFederationTokenResponse$Credentials": "

The credentials to use for federation.

" + } + }, + "DeleteUserRequest": { + "base": null, + "refs": { + } + }, + "DescribeUserHierarchyGroupRequest": { + "base": null, + "refs": { + } + }, + "DescribeUserHierarchyGroupResponse": { + "base": null, + "refs": { + } + }, + "DescribeUserHierarchyStructureRequest": { + "base": null, + "refs": { + } + }, + "DescribeUserHierarchyStructureResponse": { + "base": null, + "refs": { + } + }, + "DescribeUserRequest": { + "base": null, + "refs": { + } + }, + "DescribeUserResponse": { + "base": null, + "refs": { + } + }, + "DestinationNotAllowedException": { + "base": "

Outbound calls to the destination number are not allowed.

", + "refs": { + } + }, + "DirectoryUserId": { + "base": null, + "refs": { + "CreateUserRequest$DirectoryUserId": "

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.

", + "User$DirectoryUserId": "

The directory Id for the user account in the existing directory used for identity management.

" + } + }, + "DuplicateResourceException": { + "base": "

A resource with that name already exisits.

", + "refs": { + } + }, + "Email": { + "base": null, + "refs": { + "UserIdentityInfo$Email": "

The email address added to the user account. If you are using SAML for identity management and include this parameter, an InvalidRequestException is returned.

" + } + }, + "GetFederationTokenRequest": { + "base": null, + "refs": { + } + }, + "GetFederationTokenResponse": { + "base": null, + "refs": { + } + }, + "HierarchyGroup": { + "base": "

A HierarchyGroup object that contains information about a hierarchy group in your Amazon Connect instance.

", + "refs": { + "DescribeUserHierarchyGroupResponse$HierarchyGroup": "

Returns a HierarchyGroup object.

" + } + }, + "HierarchyGroupId": { + "base": null, + "refs": { + "CreateUserRequest$HierarchyGroupId": "

The unique identifier for the hierarchy group to assign to the user created.

", + "DescribeUserHierarchyGroupRequest$HierarchyGroupId": "

The identifier for the hierarchy group to return.

", + "HierarchyGroup$Id": "

The identifier for the hierarchy group.

", + "HierarchyGroupSummary$Id": "

The identifier of the hierarchy group.

", + "UpdateUserHierarchyRequest$HierarchyGroupId": "

The identifier for the hierarchy group to assign to the user.

", + "User$HierarchyGroupId": "

The identifier for the hierarchy group assigned to the user.

" + } + }, + "HierarchyGroupName": { + "base": null, + "refs": { + "HierarchyGroup$Name": "

The name of the hierarchy group in your instance.

", + "HierarchyGroupSummary$Name": "

The name of the hierarchy group.

" + } + }, + "HierarchyGroupSummary": { + "base": "

A HierarchyGroupSummary object that contains information about the hierarchy group, including ARN, Id, and Name.

", + "refs": { + "HierarchyGroupSummaryList$member": null, + "HierarchyPath$LevelOne": "

A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name.

", + "HierarchyPath$LevelTwo": "

A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name.

", + "HierarchyPath$LevelThree": "

A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name.

", + "HierarchyPath$LevelFour": "

A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name.

", + "HierarchyPath$LevelFive": "

A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name.

" + } + }, + "HierarchyGroupSummaryList": { + "base": null, + "refs": { + "ListUserHierarchyGroupsResponse$UserHierarchyGroupSummaryList": "

An array of HierarchyGroupSummary objects.

" + } + }, + "HierarchyLevel": { + "base": "

A HierarchyLevel object that contains information about the levels in a hierarchy group, including ARN, Id, and Name.

", + "refs": { + "HierarchyStructure$LevelOne": "

A HierarchyLevel object that contains information about the hierarchy group level.

", + "HierarchyStructure$LevelTwo": "

A HierarchyLevel object that contains information about the hierarchy group level.

", + "HierarchyStructure$LevelThree": "

A HierarchyLevel object that contains information about the hierarchy group level.

", + "HierarchyStructure$LevelFour": "

A HierarchyLevel object that contains information about the hierarchy group level.

", + "HierarchyStructure$LevelFive": "

A HierarchyLevel object that contains information about the hierarchy group level.

" + } + }, + "HierarchyLevelId": { + "base": null, + "refs": { + "HierarchyGroup$LevelId": "

The identifier for the level in the hierarchy group.

", + "HierarchyLevel$Id": "

The identifier for the hierarchy group level.

" + } + }, + "HierarchyLevelName": { + "base": null, + "refs": { + "HierarchyLevel$Name": "

The name of the hierarchy group level.

" + } + }, + "HierarchyPath": { + "base": "

A HierarchyPath object that contains information about the levels of the hierarchy group.

", + "refs": { + "HierarchyGroup$HierarchyPath": "

A HierarchyPath object that contains information about the levels in the hierarchy group.

" + } + }, + "HierarchyStructure": { + "base": "

A HierarchyStructure object that contains information about the hierarchy group structure.

", + "refs": { + "DescribeUserHierarchyStructureResponse$HierarchyStructure": "

A HierarchyStructure object.

" + } + }, + "InstanceId": { + "base": "Amazon Connect Organization ARN. A client must provide its organization ARN in order to place a call. This defines the call from organization.", + "refs": { + "CreateUserRequest$InstanceId": "

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.

", + "DeleteUserRequest$InstanceId": "

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.

", + "DescribeUserHierarchyGroupRequest$InstanceId": "

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.

", + "DescribeUserHierarchyStructureRequest$InstanceId": "

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.

", + "DescribeUserRequest$InstanceId": "

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.

", + "GetFederationTokenRequest$InstanceId": "

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.

", + "ListRoutingProfilesRequest$InstanceId": "

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.

", + "ListSecurityProfilesRequest$InstanceId": "

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.

", + "ListUserHierarchyGroupsRequest$InstanceId": "

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.

", + "ListUsersRequest$InstanceId": "

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.

", + "StartOutboundVoiceContactRequest$InstanceId": "

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.

", + "StopContactRequest$InstanceId": "

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.

", + "UpdateUserHierarchyRequest$InstanceId": "

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.

", + "UpdateUserIdentityInfoRequest$InstanceId": "

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.

", + "UpdateUserPhoneConfigRequest$InstanceId": "

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.

", + "UpdateUserRoutingProfileRequest$InstanceId": "

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.

", + "UpdateUserSecurityProfilesRequest$InstanceId": "

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.

" + } + }, + "InternalServiceException": { + "base": "

Request processing failed due to an error or failure with the service.

", + "refs": { + } + }, + "InvalidParameterException": { + "base": "

One or more of the parameters provided to the operation are not valid.

", + "refs": { + } + }, + "InvalidRequestException": { + "base": "

The request is not valid.

", + "refs": { + } + }, + "LimitExceededException": { + "base": "

The limit exceeded the maximum allowed active calls in a queue.

", + "refs": { + } + }, + "ListRoutingProfilesRequest": { + "base": null, + "refs": { + } + }, + "ListRoutingProfilesResponse": { + "base": null, + "refs": { + } + }, + "ListSecurityProfilesRequest": { + "base": null, + "refs": { + } + }, + "ListSecurityProfilesResponse": { + "base": null, + "refs": { + } + }, + "ListUserHierarchyGroupsRequest": { + "base": null, + "refs": { + } + }, + "ListUserHierarchyGroupsResponse": { + "base": null, + "refs": { + } + }, + "ListUsersRequest": { + "base": null, + "refs": { + } + }, + "ListUsersResponse": { + "base": null, + "refs": { + } + }, + "MaxResult1000": { + "base": null, + "refs": { + "ListRoutingProfilesRequest$MaxResults": "

The maximum number of routing profiles to return in the response.

", + "ListSecurityProfilesRequest$MaxResults": "

The maximum number of security profiles to return.

", + "ListUserHierarchyGroupsRequest$MaxResults": "

The maximum number of hierarchy groups to return.

", + "ListUsersRequest$MaxResults": "

The maximum number of results to return in the response.

" + } + }, + "Message": { + "base": null, + "refs": { + "ContactNotFoundException$Message": "

The message.

", + "DestinationNotAllowedException$Message": "

The message.

", + "DuplicateResourceException$Message": null, + "InternalServiceException$Message": "

The message.

", + "InvalidParameterException$Message": "

The message.

", + "InvalidRequestException$Message": "

The message.

", + "LimitExceededException$Message": "

The message.

", + "OutboundContactNotPermittedException$Message": "

The message.

", + "ResourceNotFoundException$Message": "

The message.

", + "ThrottlingException$Message": null, + "UserNotFoundException$Message": null + } + }, + "NextToken": { + "base": null, + "refs": { + "ListRoutingProfilesRequest$NextToken": "

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.

", + "ListRoutingProfilesResponse$NextToken": "

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$NextToken": "

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.

", + "ListSecurityProfilesResponse$NextToken": "

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$NextToken": "

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.

", + "ListUserHierarchyGroupsResponse$NextToken": "

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$NextToken": "

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.

", + "ListUsersResponse$NextToken": "

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.

" + } + }, + "OutboundContactNotPermittedException": { + "base": "

The contact is not permitted.

", + "refs": { + } + }, + "Password": { + "base": null, + "refs": { + "CreateUserRequest$Password": "

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.

" + } + }, + "PhoneNumber": { + "base": "End customer's phone number to call.", + "refs": { + "StartOutboundVoiceContactRequest$DestinationPhoneNumber": "

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

", + "StartOutboundVoiceContactRequest$SourcePhoneNumber": "

The phone number, in E.164 format, associated with your Amazon Connect instance to use for the outbound call.

", + "UserPhoneConfig$DeskPhoneNumber": "

The phone number for the user's desk phone.

" + } + }, + "PhoneType": { + "base": null, + "refs": { + "UserPhoneConfig$PhoneType": "

The phone type selected for the user, either Soft phone or Desk phone.

" + } + }, + "QueueId": { + "base": "Identifier of the queue to be used for the contact routing.", + "refs": { + "StartOutboundVoiceContactRequest$QueueId": "

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.

" + } + }, + "ResourceNotFoundException": { + "base": "

The specified resource was not found.

", + "refs": { + } + }, + "RoutingProfileId": { + "base": null, + "refs": { + "CreateUserRequest$RoutingProfileId": "

The unique identifier for the routing profile to assign to the user created.

", + "RoutingProfileSummary$Id": "

The identifier of the routing profile.

", + "UpdateUserRoutingProfileRequest$RoutingProfileId": "

The identifier of the routing profile to assign to the user.

", + "User$RoutingProfileId": "

The identifier of the routing profile assigned to the user.

" + } + }, + "RoutingProfileName": { + "base": null, + "refs": { + "RoutingProfileSummary$Name": "

The name of the routing profile.

" + } + }, + "RoutingProfileSummary": { + "base": "

A RoutingProfileSummary object that contains information about a routing profile, including ARN, Id, and Name.

", + "refs": { + "RoutingProfileSummaryList$member": null + } + }, + "RoutingProfileSummaryList": { + "base": null, + "refs": { + "ListRoutingProfilesResponse$RoutingProfileSummaryList": "

An array of RoutingProfileSummary objects that include the ARN, Id, and Name of the routing profile.

" + } + }, + "SecurityProfileId": { + "base": null, + "refs": { + "SecurityProfileIds$member": null, + "SecurityProfileSummary$Id": "

The identifier of the security profile.

" + } + }, + "SecurityProfileIds": { + "base": null, + "refs": { + "CreateUserRequest$SecurityProfileIds": "

The unique identifier of the security profile to assign to the user created.

", + "UpdateUserSecurityProfilesRequest$SecurityProfileIds": "

The identifiers for the security profiles to assign to the user.

", + "User$SecurityProfileIds": "

The identifier(s) for the security profile assigned to the user.

" + } + }, + "SecurityProfileName": { + "base": null, + "refs": { + "SecurityProfileSummary$Name": "

The name of the security profile.

" + } + }, + "SecurityProfileSummary": { + "base": "

A SecurityProfileSummary object that contains information about a security profile, including ARN, Id, Name.

", + "refs": { + "SecurityProfileSummaryList$member": null + } + }, + "SecurityProfileSummaryList": { + "base": null, + "refs": { + "ListSecurityProfilesResponse$SecurityProfileSummaryList": "

An array of SecurityProfileSummary objects.

" + } + }, + "SecurityToken": { + "base": null, + "refs": { + "Credentials$AccessToken": "

An access token generated for a federated user to access Amazon Connect

", + "Credentials$RefreshToken": "

Renews a token generated for a user to access the Amazon Connect instance.

" + } + }, + "StartOutboundVoiceContactRequest": { + "base": null, + "refs": { + } + }, + "StartOutboundVoiceContactResponse": { + "base": null, + "refs": { + } + }, + "StopContactRequest": { + "base": null, + "refs": { + } + }, + "StopContactResponse": { + "base": null, + "refs": { + } + }, + "ThrottlingException": { + "base": "

The throttling limit has been exceeded.

", + "refs": { + } + }, + "UpdateUserHierarchyRequest": { + "base": null, + "refs": { + } + }, + "UpdateUserIdentityInfoRequest": { + "base": null, + "refs": { + } + }, + "UpdateUserPhoneConfigRequest": { + "base": null, + "refs": { + } + }, + "UpdateUserRoutingProfileRequest": { + "base": null, + "refs": { + } + }, + "UpdateUserSecurityProfilesRequest": { + "base": null, + "refs": { + } + }, + "User": { + "base": "

A User object that contains information about a user account in your Amazon Connect instance, including configuration settings.

", + "refs": { + "DescribeUserResponse$User": "

A User object that contains information about the user account and configuration settings.

" + } + }, + "UserId": { + "base": null, + "refs": { + "CreateUserResponse$UserId": "

The unique identifier for the user account in Amazon Connect

", + "DeleteUserRequest$UserId": "

The unique identifier of the user to delete.

", + "DescribeUserRequest$UserId": "

Unique identifier for the user account to return.

", + "UpdateUserHierarchyRequest$UserId": "

The identifier of the user account to assign the hierarchy group to.

", + "UpdateUserIdentityInfoRequest$UserId": "

The identifier for the user account to update identity information for.

", + "UpdateUserPhoneConfigRequest$UserId": "

The identifier for the user account to change phone settings for.

", + "UpdateUserRoutingProfileRequest$UserId": "

The identifier for the user account to assign the routing profile to.

", + "UpdateUserSecurityProfilesRequest$UserId": "

The identifier of the user account to assign the security profiles.

", + "User$Id": "

The identifier of the user account.

", + "UserSummary$Id": "

The identifier for the user account.

" + } + }, + "UserIdentityInfo": { + "base": "

A UserIdentityInfo object that contains information about the user's identity, including email address, first name, and last name.

", + "refs": { + "CreateUserRequest$IdentityInfo": "

Information about the user, including email address, first name, and last name.

", + "UpdateUserIdentityInfoRequest$IdentityInfo": "

A UserIdentityInfo object.

", + "User$IdentityInfo": "

A UserIdentityInfo object.

" + } + }, + "UserNotFoundException": { + "base": "

No user with the specified credentials was found in the Amazon Connect instance.

", + "refs": { + } + }, + "UserPhoneConfig": { + "base": "

A UserPhoneConfig object that contains information about the user phone configuration settings.

", + "refs": { + "CreateUserRequest$PhoneConfig": "

Specifies the phone settings for the user, including AfterContactWorkTimeLimit, AutoAccept, DeskPhoneNumber, and PhoneType.

", + "UpdateUserPhoneConfigRequest$PhoneConfig": "

A UserPhoneConfig object that contains settings for AfterContactWorkTimeLimit, AutoAccept, DeskPhoneNumber, and PhoneType to assign to the user.

", + "User$PhoneConfig": "

A UserPhoneConfig object.

" + } + }, + "UserSummary": { + "base": "

A UserSummary object that contains Information about a user, including ARN, Id, and user name.

", + "refs": { + "UserSummaryList$member": null + } + }, + "UserSummaryList": { + "base": null, + "refs": { + "ListUsersResponse$UserSummaryList": "

An array of UserSummary objects that contain information about the users in your instance.

" + } + }, + "timestamp": { + "base": null, + "refs": { + "Credentials$AccessTokenExpiration": "

A token generated with an expiration time for the session a user is logged in to Amazon Connect

", + "Credentials$RefreshTokenExpiration": "

Renews the expiration timer for a generated token.

" + } + } + } +} diff --git a/models/apis/cloudfront/2016-01-28/examples-1.json b/models/apis/connect/2017-08-08/examples-1.json similarity index 100% rename from models/apis/cloudfront/2016-01-28/examples-1.json rename to models/apis/connect/2017-08-08/examples-1.json diff --git a/models/apis/connect/2017-08-08/paginators-1.json b/models/apis/connect/2017-08-08/paginators-1.json new file mode 100644 index 00000000000..5677bd8e4a2 --- /dev/null +++ b/models/apis/connect/2017-08-08/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/models/apis/devicefarm/2015-06-23/api-2.json b/models/apis/devicefarm/2015-06-23/api-2.json index 749342afee6..b2d750aee46 100644 --- a/models/apis/devicefarm/2015-06-23/api-2.json +++ b/models/apis/devicefarm/2015-06-23/api-2.json @@ -6,6 +6,7 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS Device Farm", + "serviceId":"Device Farm", "signatureVersion":"v4", "targetPrefix":"DeviceFarm_20150623", "uid":"devicefarm-2015-06-23" @@ -26,6 +27,21 @@ {"shape":"ServiceAccountException"} ] }, + "CreateInstanceProfile":{ + "name":"CreateInstanceProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateInstanceProfileRequest"}, + "output":{"shape":"CreateInstanceProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ] + }, "CreateNetworkProfile":{ "name":"CreateNetworkProfile", "http":{ @@ -86,6 +102,20 @@ {"shape":"ServiceAccountException"} ] }, + "CreateVPCEConfiguration":{ + "name":"CreateVPCEConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVPCEConfigurationRequest"}, + "output":{"shape":"CreateVPCEConfigurationResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ] + }, "DeleteDevicePool":{ "name":"DeleteDevicePool", "http":{ @@ -101,6 +131,21 @@ {"shape":"ServiceAccountException"} ] }, + "DeleteInstanceProfile":{ + "name":"DeleteInstanceProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteInstanceProfileRequest"}, + "output":{"shape":"DeleteInstanceProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ] + }, "DeleteNetworkProfile":{ "name":"DeleteNetworkProfile", "http":{ @@ -176,6 +221,21 @@ {"shape":"ServiceAccountException"} ] }, + "DeleteVPCEConfiguration":{ + "name":"DeleteVPCEConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVPCEConfigurationRequest"}, + "output":{"shape":"DeleteVPCEConfigurationResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"ServiceAccountException"}, + {"shape":"InvalidOperationException"} + ] + }, "GetAccountSettings":{ "name":"GetAccountSettings", "http":{ @@ -206,6 +266,21 @@ {"shape":"ServiceAccountException"} ] }, + "GetDeviceInstance":{ + "name":"GetDeviceInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDeviceInstanceRequest"}, + "output":{"shape":"GetDeviceInstanceResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ] + }, "GetDevicePool":{ "name":"GetDevicePool", "http":{ @@ -236,6 +311,21 @@ {"shape":"ServiceAccountException"} ] }, + "GetInstanceProfile":{ + "name":"GetInstanceProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstanceProfileRequest"}, + "output":{"shape":"GetInstanceProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ] + }, "GetJob":{ "name":"GetJob", "http":{ @@ -372,6 +462,20 @@ {"shape":"ServiceAccountException"} ] }, + "GetVPCEConfiguration":{ + "name":"GetVPCEConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetVPCEConfigurationRequest"}, + "output":{"shape":"GetVPCEConfigurationResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"ServiceAccountException"} + ] + }, "InstallToRemoteAccessSession":{ "name":"InstallToRemoteAccessSession", "http":{ @@ -402,6 +506,21 @@ {"shape":"ServiceAccountException"} ] }, + "ListDeviceInstances":{ + "name":"ListDeviceInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDeviceInstancesRequest"}, + "output":{"shape":"ListDeviceInstancesResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ] + }, "ListDevicePools":{ "name":"ListDevicePools", "http":{ @@ -432,6 +551,21 @@ {"shape":"ServiceAccountException"} ] }, + "ListInstanceProfiles":{ + "name":"ListInstanceProfiles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListInstanceProfilesRequest"}, + "output":{"shape":"ListInstanceProfilesResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ] + }, "ListJobs":{ "name":"ListJobs", "http":{ @@ -630,6 +764,19 @@ {"shape":"ServiceAccountException"} ] }, + "ListVPCEConfigurations":{ + "name":"ListVPCEConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListVPCEConfigurationsRequest"}, + "output":{"shape":"ListVPCEConfigurationsResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"ServiceAccountException"} + ] + }, "PurchaseOffering":{ "name":"PurchaseOffering", "http":{ @@ -708,6 +855,21 @@ {"shape":"ServiceAccountException"} ] }, + "UpdateDeviceInstance":{ + "name":"UpdateDeviceInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDeviceInstanceRequest"}, + "output":{"shape":"UpdateDeviceInstanceResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ] + }, "UpdateDevicePool":{ "name":"UpdateDevicePool", "http":{ @@ -723,6 +885,21 @@ {"shape":"ServiceAccountException"} ] }, + "UpdateInstanceProfile":{ + "name":"UpdateInstanceProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateInstanceProfileRequest"}, + "output":{"shape":"UpdateInstanceProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ] + }, "UpdateNetworkProfile":{ "name":"UpdateNetworkProfile", "http":{ @@ -752,6 +929,21 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ] + }, + "UpdateVPCEConfiguration":{ + "name":"UpdateVPCEConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateVPCEConfigurationRequest"}, + "output":{"shape":"UpdateVPCEConfigurationResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"ServiceAccountException"}, + {"shape":"InvalidOperationException"} + ] } }, "shapes":{ @@ -769,7 +961,8 @@ "maxJobTimeoutMinutes":{"shape":"JobTimeoutMinutes"}, "trialMinutes":{"shape":"TrialMinutes"}, "maxSlots":{"shape":"MaxSlotMap"}, - "defaultJobTimeoutMinutes":{"shape":"JobTimeoutMinutes"} + "defaultJobTimeoutMinutes":{"shape":"JobTimeoutMinutes"}, + "skipAppResign":{"shape":"SkipAppResign"} } }, "AccountsCleanup":{"type":"boolean"}, @@ -905,6 +1098,23 @@ "devicePool":{"shape":"DevicePool"} } }, + "CreateInstanceProfileRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{"shape":"Name"}, + "description":{"shape":"Message"}, + "packageCleanup":{"shape":"Boolean"}, + "excludeAppPackagesFromCleanup":{"shape":"PackageIds"}, + "rebootAfterUse":{"shape":"Boolean"} + } + }, + "CreateInstanceProfileResult":{ + "type":"structure", + "members":{ + "instanceProfile":{"shape":"InstanceProfile"} + } + }, "CreateNetworkProfileRequest":{ "type":"structure", "required":[ @@ -949,7 +1159,8 @@ "CreateRemoteAccessSessionConfiguration":{ "type":"structure", "members":{ - "billingMethod":{"shape":"BillingMethod"} + "billingMethod":{"shape":"BillingMethod"}, + "vpceConfigurationArns":{"shape":"AmazonResourceNames"} } }, "CreateRemoteAccessSessionRequest":{ @@ -961,11 +1172,16 @@ "members":{ "projectArn":{"shape":"AmazonResourceName"}, "deviceArn":{"shape":"AmazonResourceName"}, + "instanceArn":{"shape":"AmazonResourceName"}, "sshPublicKey":{"shape":"SshPublicKey"}, "remoteDebugEnabled":{"shape":"Boolean"}, + "remoteRecordEnabled":{"shape":"Boolean"}, + "remoteRecordAppArn":{"shape":"AmazonResourceName"}, "name":{"shape":"Name"}, "clientId":{"shape":"ClientId"}, - "configuration":{"shape":"CreateRemoteAccessSessionConfiguration"} + "configuration":{"shape":"CreateRemoteAccessSessionConfiguration"}, + "interactionMode":{"shape":"InteractionMode"}, + "skipAppResign":{"shape":"Boolean"} } }, "CreateRemoteAccessSessionResult":{ @@ -994,6 +1210,26 @@ "upload":{"shape":"Upload"} } }, + "CreateVPCEConfigurationRequest":{ + "type":"structure", + "required":[ + "vpceConfigurationName", + "vpceServiceName", + "serviceDnsName" + ], + "members":{ + "vpceConfigurationName":{"shape":"VPCEConfigurationName"}, + "vpceServiceName":{"shape":"VPCEServiceName"}, + "serviceDnsName":{"shape":"ServiceDnsName"}, + "vpceConfigurationDescription":{"shape":"VPCEConfigurationDescription"} + } + }, + "CreateVPCEConfigurationResult":{ + "type":"structure", + "members":{ + "vpceConfiguration":{"shape":"VPCEConfiguration"} + } + }, "CurrencyCode":{ "type":"string", "enum":["USD"] @@ -1019,6 +1255,18 @@ "members":{ } }, + "DeleteInstanceProfileRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"AmazonResourceName"} + } + }, + "DeleteInstanceProfileResult":{ + "type":"structure", + "members":{ + } + }, "DeleteNetworkProfileRequest":{ "type":"structure", "required":["arn"], @@ -1079,6 +1327,18 @@ "members":{ } }, + "DeleteVPCEConfigurationRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"AmazonResourceName"} + } + }, + "DeleteVPCEConfigurationResult":{ + "type":"structure", + "members":{ + } + }, "Device":{ "type":"structure", "members":{ @@ -1086,6 +1346,7 @@ "name":{"shape":"Name"}, "manufacturer":{"shape":"String"}, "model":{"shape":"String"}, + "modelId":{"shape":"String"}, "formFactor":{"shape":"DeviceFormFactor"}, "platform":{"shape":"DevicePlatform"}, "os":{"shape":"String"}, @@ -1099,7 +1360,8 @@ "remoteAccessEnabled":{"shape":"Boolean"}, "remoteDebugEnabled":{"shape":"Boolean"}, "fleetType":{"shape":"String"}, - "fleetName":{"shape":"String"} + "fleetName":{"shape":"String"}, + "instances":{"shape":"DeviceInstances"} } }, "DeviceAttribute":{ @@ -1111,7 +1373,10 @@ "MANUFACTURER", "REMOTE_ACCESS_ENABLED", "REMOTE_DEBUG_ENABLED", - "APPIUM_VERSION" + "APPIUM_VERSION", + "INSTANCE_ARN", + "INSTANCE_LABELS", + "FLEET_TYPE" ] }, "DeviceFormFactor":{ @@ -1125,6 +1390,21 @@ "type":"list", "member":{"shape":"String"} }, + "DeviceInstance":{ + "type":"structure", + "members":{ + "arn":{"shape":"AmazonResourceName"}, + "deviceArn":{"shape":"AmazonResourceName"}, + "labels":{"shape":"InstanceLabels"}, + "status":{"shape":"InstanceStatus"}, + "udid":{"shape":"String"}, + "instanceProfile":{"shape":"InstanceProfile"} + } + }, + "DeviceInstances":{ + "type":"list", + "member":{"shape":"DeviceInstance"} + }, "DeviceMinutes":{ "type":"structure", "members":{ @@ -1183,7 +1463,8 @@ "members":{ "jobTimeoutMinutes":{"shape":"JobTimeoutMinutes"}, "accountsCleanup":{"shape":"AccountsCleanup"}, - "appPackagesCleanup":{"shape":"AppPackagesCleanup"} + "appPackagesCleanup":{"shape":"AppPackagesCleanup"}, + "skipAppResign":{"shape":"SkipAppResign"} } }, "ExecutionResult":{ @@ -1200,7 +1481,10 @@ }, "ExecutionResultCode":{ "type":"string", - "enum":["PARSING_FAILED"] + "enum":[ + "PARSING_FAILED", + "VPC_ENDPOINT_SETUP_FAILED" + ] }, "ExecutionStatus":{ "type":"string", @@ -1232,6 +1516,19 @@ "accountSettings":{"shape":"AccountSettings"} } }, + "GetDeviceInstanceRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"AmazonResourceName"} + } + }, + "GetDeviceInstanceResult":{ + "type":"structure", + "members":{ + "deviceInstance":{"shape":"DeviceInstance"} + } + }, "GetDevicePoolCompatibilityRequest":{ "type":"structure", "required":["devicePoolArn"], @@ -1239,7 +1536,8 @@ "devicePoolArn":{"shape":"AmazonResourceName"}, "appArn":{"shape":"AmazonResourceName"}, "testType":{"shape":"TestType"}, - "test":{"shape":"ScheduleRunTest"} + "test":{"shape":"ScheduleRunTest"}, + "configuration":{"shape":"ScheduleRunConfiguration"} } }, "GetDevicePoolCompatibilityResult":{ @@ -1275,6 +1573,19 @@ "device":{"shape":"Device"} } }, + "GetInstanceProfileRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"AmazonResourceName"} + } + }, + "GetInstanceProfileResult":{ + "type":"structure", + "members":{ + "instanceProfile":{"shape":"InstanceProfile"} + } + }, "GetJobRequest":{ "type":"structure", "required":["arn"], @@ -1393,6 +1704,19 @@ "upload":{"shape":"Upload"} } }, + "GetVPCEConfigurationRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"AmazonResourceName"} + } + }, + "GetVPCEConfigurationResult":{ + "type":"structure", + "members":{ + "vpceConfiguration":{"shape":"VPCEConfiguration"} + } + }, "HostAddress":{ "type":"string", "max":1024 @@ -1432,7 +1756,52 @@ "appUpload":{"shape":"Upload"} } }, + "InstanceLabels":{ + "type":"list", + "member":{"shape":"String"} + }, + "InstanceProfile":{ + "type":"structure", + "members":{ + "arn":{"shape":"AmazonResourceName"}, + "packageCleanup":{"shape":"Boolean"}, + "excludeAppPackagesFromCleanup":{"shape":"PackageIds"}, + "rebootAfterUse":{"shape":"Boolean"}, + "name":{"shape":"Name"}, + "description":{"shape":"Message"} + } + }, + "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"} + }, + "exception":true + }, "IosPaths":{ "type":"list", "member":{"shape":"String"} @@ -1451,6 +1820,7 @@ "counters":{"shape":"Counters"}, "message":{"shape":"Message"}, "device":{"shape":"Device"}, + "instanceArn":{"shape":"AmazonResourceName"}, "deviceMinutes":{"shape":"DeviceMinutes"} } }, @@ -1485,6 +1855,20 @@ "nextToken":{"shape":"PaginationToken"} } }, + "ListDeviceInstancesRequest":{ + "type":"structure", + "members":{ + "maxResults":{"shape":"Integer"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListDeviceInstancesResult":{ + "type":"structure", + "members":{ + "deviceInstances":{"shape":"DeviceInstances"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListDevicePoolsRequest":{ "type":"structure", "required":["arn"], @@ -1515,6 +1899,20 @@ "nextToken":{"shape":"PaginationToken"} } }, + "ListInstanceProfilesRequest":{ + "type":"structure", + "members":{ + "maxResults":{"shape":"Integer"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListInstanceProfilesResult":{ + "type":"structure", + "members":{ + "instanceProfiles":{"shape":"InstanceProfiles"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListJobsRequest":{ "type":"structure", "required":["arn"], @@ -1704,6 +2102,20 @@ "nextToken":{"shape":"PaginationToken"} } }, + "ListVPCEConfigurationsRequest":{ + "type":"structure", + "members":{ + "maxResults":{"shape":"Integer"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListVPCEConfigurationsResult":{ + "type":"structure", + "members":{ + "vpceConfigurations":{"shape":"VPCEConfigurations"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "Location":{ "type":"structure", "required":[ @@ -1858,6 +2270,10 @@ "type":"list", "member":{"shape":"Offering"} }, + "PackageIds":{ + "type":"list", + "member":{"shape":"String"} + }, "PaginationToken":{ "type":"string", "max":1024, @@ -1959,13 +2375,18 @@ "started":{"shape":"DateTime"}, "stopped":{"shape":"DateTime"}, "device":{"shape":"Device"}, + "instanceArn":{"shape":"AmazonResourceName"}, "remoteDebugEnabled":{"shape":"Boolean"}, + "remoteRecordEnabled":{"shape":"Boolean"}, + "remoteRecordAppArn":{"shape":"AmazonResourceName"}, "hostAddress":{"shape":"HostAddress"}, "clientId":{"shape":"ClientId"}, "billingMethod":{"shape":"BillingMethod"}, "deviceMinutes":{"shape":"DeviceMinutes"}, "endpoint":{"shape":"String"}, - "deviceUdid":{"shape":"String"} + "deviceUdid":{"shape":"String"}, + "interactionMode":{"shape":"InteractionMode"}, + "skipAppResign":{"shape":"SkipAppResign"} } }, "RemoteAccessSessions":{ @@ -2036,7 +2457,17 @@ "networkProfile":{"shape":"NetworkProfile"}, "parsingResultUrl":{"shape":"String"}, "resultCode":{"shape":"ExecutionResultCode"}, - "customerArtifactPaths":{"shape":"CustomerArtifactPaths"} + "seed":{"shape":"Integer"}, + "appUpload":{"shape":"AmazonResourceName"}, + "eventCount":{"shape":"Integer"}, + "jobTimeoutMinutes":{"shape":"JobTimeoutMinutes"}, + "devicePoolArn":{"shape":"AmazonResourceName"}, + "locale":{"shape":"String"}, + "radios":{"shape":"Radios"}, + "location":{"shape":"Location"}, + "customerArtifactPaths":{"shape":"CustomerArtifactPaths"}, + "webUrl":{"shape":"String"}, + "skipAppResign":{"shape":"SkipAppResign"} } }, "Runs":{ @@ -2084,6 +2515,7 @@ "networkProfileArn":{"shape":"AmazonResourceName"}, "locale":{"shape":"String"}, "location":{"shape":"Location"}, + "vpceConfigurationArns":{"shape":"AmazonResourceNames"}, "customerArtifactPaths":{"shape":"CustomerArtifactPaths"}, "radios":{"shape":"Radios"}, "auxiliaryApps":{"shape":"AmazonResourceNames"}, @@ -2130,6 +2562,12 @@ }, "exception":true }, + "ServiceDnsName":{ + "type":"string", + "max":2048, + "min":0 + }, + "SkipAppResign":{"type":"boolean"}, "SshPublicKey":{ "type":"string", "max":8192, @@ -2208,6 +2646,7 @@ "enum":[ "BUILTIN_FUZZ", "BUILTIN_EXPLORER", + "WEB_PERFORMANCE_PROFILE", "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", @@ -2219,7 +2658,9 @@ "UIAUTOMATION", "UIAUTOMATOR", "XCTEST", - "XCTEST_UI" + "XCTEST_UI", + "REMOTE_ACCESS_RECORD", + "REMOTE_ACCESS_REPLAY" ] }, "Tests":{ @@ -2258,6 +2699,21 @@ "key":{"shape":"ExecutionResult"}, "value":{"shape":"UniqueProblems"} }, + "UpdateDeviceInstanceRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"AmazonResourceName"}, + "profileArn":{"shape":"AmazonResourceName"}, + "labels":{"shape":"InstanceLabels"} + } + }, + "UpdateDeviceInstanceResult":{ + "type":"structure", + "members":{ + "deviceInstance":{"shape":"DeviceInstance"} + } + }, "UpdateDevicePoolRequest":{ "type":"structure", "required":["arn"], @@ -2274,6 +2730,24 @@ "devicePool":{"shape":"DevicePool"} } }, + "UpdateInstanceProfileRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"AmazonResourceName"}, + "name":{"shape":"Name"}, + "description":{"shape":"Message"}, + "packageCleanup":{"shape":"Boolean"}, + "excludeAppPackagesFromCleanup":{"shape":"PackageIds"}, + "rebootAfterUse":{"shape":"Boolean"} + } + }, + "UpdateInstanceProfileResult":{ + "type":"structure", + "members":{ + "instanceProfile":{"shape":"InstanceProfile"} + } + }, "UpdateNetworkProfileRequest":{ "type":"structure", "required":["arn"], @@ -2313,6 +2787,23 @@ "project":{"shape":"Project"} } }, + "UpdateVPCEConfigurationRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"AmazonResourceName"}, + "vpceConfigurationName":{"shape":"VPCEConfigurationName"}, + "vpceServiceName":{"shape":"VPCEServiceName"}, + "serviceDnsName":{"shape":"ServiceDnsName"}, + "vpceConfigurationDescription":{"shape":"VPCEConfigurationDescription"} + } + }, + "UpdateVPCEConfigurationResult":{ + "type":"structure", + "members":{ + "vpceConfiguration":{"shape":"VPCEConfiguration"} + } + }, "Upload":{ "type":"structure", "members":{ @@ -2360,6 +2851,35 @@ "Uploads":{ "type":"list", "member":{"shape":"Upload"} + }, + "VPCEConfiguration":{ + "type":"structure", + "members":{ + "arn":{"shape":"AmazonResourceName"}, + "vpceConfigurationName":{"shape":"VPCEConfigurationName"}, + "vpceServiceName":{"shape":"VPCEServiceName"}, + "serviceDnsName":{"shape":"ServiceDnsName"}, + "vpceConfigurationDescription":{"shape":"VPCEConfigurationDescription"} + } + }, + "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 } } } diff --git a/models/apis/devicefarm/2015-06-23/docs-2.json b/models/apis/devicefarm/2015-06-23/docs-2.json index a8188e597bc..4447dba47f9 100644 --- a/models/apis/devicefarm/2015-06-23/docs-2.json +++ b/models/apis/devicefarm/2015-06-23/docs-2.json @@ -3,20 +3,26 @@ "service": "

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.

", "operations": { "CreateDevicePool": "

Creates a device pool.

", + "CreateInstanceProfile": "

Creates a profile that can be applied to one or more private fleet device instances.

", "CreateNetworkProfile": "

Creates a network profile.

", "CreateProject": "

Creates a new project.

", "CreateRemoteAccessSession": "

Specifies and starts a remote access session.

", "CreateUpload": "

Uploads an app or test scripts.

", + "CreateVPCEConfiguration": "

Creates a configuration record in Device Farm for your Amazon Virtual Private Cloud (VPC) endpoint.

", "DeleteDevicePool": "

Deletes a device pool given the pool ARN. Does not allow deletion of curated pools owned by the system.

", + "DeleteInstanceProfile": "

Deletes a profile that can be applied to one or more private device instances.

", "DeleteNetworkProfile": "

Deletes a network profile.

", "DeleteProject": "

Deletes an AWS Device Farm project, given the project ARN.

Note Deleting this resource does not stop an in-progress run.

", "DeleteRemoteAccessSession": "

Deletes a completed remote access session and its results.

", "DeleteRun": "

Deletes the run, given the run ARN.

Note Deleting this resource does not stop an in-progress run.

", "DeleteUpload": "

Deletes an upload given the upload ARN.

", + "DeleteVPCEConfiguration": "

Deletes a configuration for your Amazon Virtual Private Cloud (VPC) endpoint.

", "GetAccountSettings": "

Returns the number of unmetered iOS and/or unmetered Android devices that have been purchased by the account.

", "GetDevice": "

Gets information about a unique device type.

", + "GetDeviceInstance": "

Returns information about a device instance belonging to a private device fleet.

", "GetDevicePool": "

Gets information about a device pool.

", "GetDevicePoolCompatibility": "

Gets information about compatibility with a device pool.

", + "GetInstanceProfile": "

Returns information about the specified instance profile.

", "GetJob": "

Gets information about a job.

", "GetNetworkProfile": "

Returns information about a network profile.

", "GetOfferingStatus": "

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.

", @@ -26,11 +32,14 @@ "GetSuite": "

Gets information about a suite.

", "GetTest": "

Gets information about a test.

", "GetUpload": "

Gets information about an upload.

", + "GetVPCEConfiguration": "

Returns information about the configuration settings for your Amazon Virtual Private Cloud (VPC) endpoint.

", "InstallToRemoteAccessSession": "

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

Gets information about artifacts.

", + "ListDeviceInstances": "

Returns information about the private device instances associated with one or more AWS accounts.

", "ListDevicePools": "

Gets information about device pools.

", "ListDevices": "

Gets information about unique device types.

", - "ListJobs": "

Gets information about jobs.

", + "ListInstanceProfiles": "

Returns information about all the instance profiles in an AWS account.

", + "ListJobs": "

Gets information about jobs for a given test run.

", "ListNetworkProfiles": "

Returns the list of available network profiles.

", "ListOfferingPromotions": "

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

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.

", @@ -39,18 +48,22 @@ "ListRemoteAccessSessions": "

Returns a list of all currently running remote access sessions.

", "ListRuns": "

Gets information about runs, given an AWS Device Farm project ARN.

", "ListSamples": "

Gets information about samples, given an AWS Device Farm project ARN

", - "ListSuites": "

Gets information about suites.

", - "ListTests": "

Gets information about tests.

", + "ListSuites": "

Gets information about test suites for a given job.

", + "ListTests": "

Gets information about tests in a given test suite.

", "ListUniqueProblems": "

Gets information about unique problems.

", "ListUploads": "

Gets information about uploads, given an AWS Device Farm project ARN.

", + "ListVPCEConfigurations": "

Returns information about all Amazon Virtual Private Cloud (VPC) endpoint configurations in the AWS account.

", "PurchaseOffering": "

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

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

Schedules a run.

", "StopRemoteAccessSession": "

Ends a specified remote access session.

", "StopRun": "

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

Updates information about an existing private device instance.

", "UpdateDevicePool": "

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

Updates information about an existing private device instance profile.

", "UpdateNetworkProfile": "

Updates the network profile with specific settings.

", - "UpdateProject": "

Modifies the specified project name, given the project ARN and a new name.

" + "UpdateProject": "

Modifies the specified project name, given the project ARN and a new name.

", + "UpdateVPCEConfiguration": "

Updates information about an existing Amazon Virtual Private Cloud (VPC) endpoint configuration.

" }, "shapes": { "AWSAccountNumber": { @@ -80,19 +93,27 @@ "CreateNetworkProfileRequest$projectArn": "

The Amazon Resource Name (ARN) of the project for which you want to create a network profile.

", "CreateRemoteAccessSessionRequest$projectArn": "

The Amazon Resource Name (ARN) of the project for which you want to create a remote access session.

", "CreateRemoteAccessSessionRequest$deviceArn": "

The Amazon Resource Name (ARN) of the device for which you want to create a remote access session.

", + "CreateRemoteAccessSessionRequest$instanceArn": "

The Amazon Resource Name (ARN) of the device instance for which you want to create a remote access session.

", + "CreateRemoteAccessSessionRequest$remoteRecordAppArn": "

The Amazon Resource Name (ARN) for the app to be recorded in the remote access session.

", "CreateUploadRequest$projectArn": "

The ARN of the project for the upload.

", "DeleteDevicePoolRequest$arn": "

Represents the Amazon Resource Name (ARN) of the Device Farm device pool you wish to delete.

", + "DeleteInstanceProfileRequest$arn": "

The Amazon Resource Name (ARN) of the instance profile you are requesting to delete.

", "DeleteNetworkProfileRequest$arn": "

The Amazon Resource Name (ARN) of the network profile you want to delete.

", "DeleteProjectRequest$arn": "

Represents the Amazon Resource Name (ARN) of the Device Farm project you wish to delete.

", "DeleteRemoteAccessSessionRequest$arn": "

The Amazon Resource Name (ARN) of the sesssion for which you want to delete remote access.

", "DeleteRunRequest$arn": "

The Amazon Resource Name (ARN) for the run you wish to delete.

", "DeleteUploadRequest$arn": "

Represents the Amazon Resource Name (ARN) of the Device Farm upload you wish to delete.

", + "DeleteVPCEConfigurationRequest$arn": "

The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to delete.

", "Device$arn": "

The device's ARN.

", + "DeviceInstance$arn": "

The Amazon Resource Name (ARN) of the device instance.

", + "DeviceInstance$deviceArn": "

The Amazon Resource Name (ARN) of the device.

", "DevicePool$arn": "

The device pool's ARN.

", + "GetDeviceInstanceRequest$arn": "

The Amazon Resource Name (ARN) of the instance you're requesting information about.

", "GetDevicePoolCompatibilityRequest$devicePoolArn": "

The device pool's ARN.

", "GetDevicePoolCompatibilityRequest$appArn": "

The ARN of the app that is associated with the specified device pool.

", "GetDevicePoolRequest$arn": "

The device pool's ARN.

", "GetDeviceRequest$arn": "

The device type's ARN.

", + "GetInstanceProfileRequest$arn": "

The Amazon Resource Name (ARN) of your instance profile.

", "GetJobRequest$arn": "

The job's ARN.

", "GetNetworkProfileRequest$arn": "

The Amazon Resource Name (ARN) of the network profile you want to return information about.

", "GetProjectRequest$arn": "

The project's ARN.

", @@ -101,27 +122,34 @@ "GetSuiteRequest$arn": "

The suite's ARN.

", "GetTestRequest$arn": "

The test's ARN.

", "GetUploadRequest$arn": "

The upload's ARN.

", + "GetVPCEConfigurationRequest$arn": "

The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to describe.

", "InstallToRemoteAccessSessionRequest$remoteAccessSessionArn": "

The Amazon Resource Name (ARN) of the remote access session about which you are requesting information.

", "InstallToRemoteAccessSessionRequest$appArn": "

The Amazon Resource Name (ARN) of the app about which you are requesting information.

", + "InstanceProfile$arn": "

The Amazon Resource Name (ARN) of the instance profile.

", "Job$arn": "

The job's ARN.

", + "Job$instanceArn": "

The Amazon Resource Name (ARN) of the instance.

", "ListArtifactsRequest$arn": "

The Run, Job, Suite, or Test ARN.

", "ListDevicePoolsRequest$arn": "

The project ARN.

", "ListDevicesRequest$arn": "

The Amazon Resource Name (ARN) of the project.

", - "ListJobsRequest$arn": "

The jobs' ARNs.

", + "ListJobsRequest$arn": "

The run's Amazon Resource Name (ARN).

", "ListNetworkProfilesRequest$arn": "

The Amazon Resource Name (ARN) of the project for which you want to list network profiles.

", "ListProjectsRequest$arn": "

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.

", "ListRemoteAccessSessionsRequest$arn": "

The Amazon Resource Name (ARN) of the remote access session about which you are requesting information.

", "ListRunsRequest$arn": "

The Amazon Resource Name (ARN) of the project for which you want to list runs.

", "ListSamplesRequest$arn": "

The Amazon Resource Name (ARN) of the project for which you want to list samples.

", - "ListSuitesRequest$arn": "

The suites' ARNs.

", - "ListTestsRequest$arn": "

The tests' ARNs.

", + "ListSuitesRequest$arn": "

The job's Amazon Resource Name (ARN).

", + "ListTestsRequest$arn": "

The test suite's Amazon Resource Name (ARN).

", "ListUniqueProblemsRequest$arn": "

The unique problems' ARNs.

", "ListUploadsRequest$arn": "

The Amazon Resource Name (ARN) of the project for which you want to list uploads.

", "NetworkProfile$arn": "

The Amazon Resource Name (ARN) of the network profile.

", "ProblemDetail$arn": "

The problem detail's ARN.

", "Project$arn": "

The project's ARN.

", "RemoteAccessSession$arn": "

The Amazon Resource Name (ARN) of the remote access session.

", + "RemoteAccessSession$instanceArn": "

The Amazon Resource Name (ARN) of the instance.

", + "RemoteAccessSession$remoteRecordAppArn": "

The Amazon Resource Name (ARN) for the app to be recorded in the remote access session.

", "Run$arn": "

The run's ARN.

", + "Run$appUpload": "

An app to upload or that has been uploaded.

", + "Run$devicePoolArn": "

The ARN of the device pool for the run.

", "Sample$arn": "

The sample's ARN.

", "ScheduleRunConfiguration$extraDataPackageArn": "

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.

", "ScheduleRunConfiguration$networkProfileArn": "

Reserved for internal use.

", @@ -133,15 +161,22 @@ "StopRunRequest$arn": "

Represents the Amazon Resource Name (ARN) of the Device Farm run you wish to stop.

", "Suite$arn": "

The suite's ARN.

", "Test$arn": "

The test's ARN.

", + "UpdateDeviceInstanceRequest$arn": "

The Amazon Resource Name (ARN) of the device instance.

", + "UpdateDeviceInstanceRequest$profileArn": "

The Amazon Resource Name (ARN) of the profile that you want to associate with the device instance.

", "UpdateDevicePoolRequest$arn": "

The Amazon Resourc Name (ARN) of the Device Farm device pool you wish to update.

", - "UpdateNetworkProfileRequest$arn": "

The Amazon Resource Name (ARN) of the project that you wish to update network profile settings.

", + "UpdateInstanceProfileRequest$arn": "

The Amazon Resource Name (ARN) of the instance profile.

", + "UpdateNetworkProfileRequest$arn": "

The Amazon Resource Name (ARN) of the project for which you want to update network profile settings.

", "UpdateProjectRequest$arn": "

The Amazon Resource Name (ARN) of the project whose name you wish to update.

", - "Upload$arn": "

The upload's ARN.

" + "UpdateVPCEConfigurationRequest$arn": "

The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to update.

", + "Upload$arn": "

The upload's ARN.

", + "VPCEConfiguration$arn": "

The Amazon Resource Name (ARN) of the VPC endpoint configuration.

" } }, "AmazonResourceNames": { "base": null, "refs": { + "CreateRemoteAccessSessionConfiguration$vpceConfigurationArns": "

An array of Amazon Resource Names (ARNs) included in the VPC endpoint configuration.

", + "ScheduleRunConfiguration$vpceConfigurationArns": "

An array of Amazon Resource Names (ARNs) for your VPC endpoint configurations.

", "ScheduleRunConfiguration$auxiliaryApps": "

A list of auxiliary apps for the run.

" } }, @@ -189,7 +224,7 @@ "BillingMethod": { "base": null, "refs": { - "CreateRemoteAccessSessionConfiguration$billingMethod": "

Returns the billing method for purposes of configuring a remote access session.

", + "CreateRemoteAccessSessionConfiguration$billingMethod": "

The billing method for the remote access session.

", "RemoteAccessSession$billingMethod": "

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.\"

", "Run$billingMethod": "

Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered.

", "ScheduleRunConfiguration$billingMethod": "

Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered.

" @@ -198,15 +233,24 @@ "Boolean": { "base": null, "refs": { + "CreateInstanceProfileRequest$packageCleanup": "

When set to true, Device Farm will remove app packages after a test run. The default value is false for private devices.

", + "CreateInstanceProfileRequest$rebootAfterUse": "

When set to true, Device Farm will reboot the instance after a test run. The default value is true.

", "CreateRemoteAccessSessionRequest$remoteDebugEnabled": "

Set to true if you want to access devices remotely for debugging in your remote access session.

", + "CreateRemoteAccessSessionRequest$remoteRecordEnabled": "

Set to true to enable remote recording for the remote access session.

", + "CreateRemoteAccessSessionRequest$skipAppResign": "

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.

", "Device$remoteAccessEnabled": "

Specifies whether remote access has been enabled for the specified device.

", "Device$remoteDebugEnabled": "

This flag is set to true if remote debugging is enabled for the device.

", "DevicePoolCompatibilityResult$compatible": "

Whether the result was compatible with the device pool.

", + "InstanceProfile$packageCleanup": "

When set to true, Device Farm will remove app packages after a test run. The default value is false for private devices.

", + "InstanceProfile$rebootAfterUse": "

When set to true, Device Farm will reboot the instance after a test run. The default value is true.

", "Radios$wifi": "

True if Wi-Fi is enabled at the beginning of the test; otherwise, false.

", "Radios$bluetooth": "

True if Bluetooth is enabled at the beginning of the test; otherwise, false.

", "Radios$nfc": "

True if NFC is enabled at the beginning of the test; otherwise, false.

", "Radios$gps": "

True if GPS is enabled at the beginning of the test; otherwise, false.

", - "RemoteAccessSession$remoteDebugEnabled": "

This flag is set to true if remote debugging is enabled for the remote access session.

" + "RemoteAccessSession$remoteDebugEnabled": "

This flag is set to true if remote debugging is enabled for the remote access session.

", + "RemoteAccessSession$remoteRecordEnabled": "

This flag is set to true if remote recording is enabled for the remote access session.

", + "UpdateInstanceProfileRequest$packageCleanup": "

The updated choice for whether you want to specify package cleanup. The default value is false for private devices.

", + "UpdateInstanceProfileRequest$rebootAfterUse": "

The updated choice for whether you want to reboot the device after use. The default value is true.

" } }, "CPU": { @@ -218,7 +262,7 @@ "ClientId": { "base": null, "refs": { - "CreateRemoteAccessSessionRequest$clientId": "

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

", + "CreateRemoteAccessSessionRequest$clientId": "

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.

", "RemoteAccessSession$clientId": "

Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for the remote access session.

" } }, @@ -248,6 +292,16 @@ "refs": { } }, + "CreateInstanceProfileRequest": { + "base": null, + "refs": { + } + }, + "CreateInstanceProfileResult": { + "base": null, + "refs": { + } + }, "CreateNetworkProfileRequest": { "base": null, "refs": { @@ -269,7 +323,7 @@ } }, "CreateRemoteAccessSessionConfiguration": { - "base": "

Creates the configuration settings for a remote access session, including the device model and type.

", + "base": "

Configuration settings for a remote access session, including billing method.

", "refs": { "CreateRemoteAccessSessionRequest$configuration": "

The configuration information for the remote access session request.

" } @@ -294,6 +348,16 @@ "refs": { } }, + "CreateVPCEConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateVPCEConfigurationResult": { + "base": null, + "refs": { + } + }, "CurrencyCode": { "base": null, "refs": { @@ -341,6 +405,16 @@ "refs": { } }, + "DeleteInstanceProfileRequest": { + "base": null, + "refs": { + } + }, + "DeleteInstanceProfileResult": { + "base": null, + "refs": { + } + }, "DeleteNetworkProfileRequest": { "base": null, "refs": { @@ -391,6 +465,16 @@ "refs": { } }, + "DeleteVPCEConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteVPCEConfigurationResult": { + "base": null, + "refs": { + } + }, "Device": { "base": "

Represents a device type that an app is tested against.

", "refs": { @@ -406,7 +490,7 @@ "base": null, "refs": { "IncompatibilityMessage$type": "

The type of incompatibility.

Allowed values include:

", - "Rule$attribute": "

The rule's stringified attribute. For example, specify the value as \"\\\"abc\\\"\".

Allowed values include:

" + "Rule$attribute": "

The rule's stringified attribute. For example, specify the value as \"\\\"abc\\\"\".

Allowed values include:

" } }, "DeviceFormFactor": { @@ -421,6 +505,21 @@ "CustomerArtifactPaths$deviceHostPaths": "

Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests will be pulled from.

" } }, + "DeviceInstance": { + "base": "

Represents the device instance.

", + "refs": { + "DeviceInstances$member": null, + "GetDeviceInstanceResult$deviceInstance": "

An object containing information about your device instance.

", + "UpdateDeviceInstanceResult$deviceInstance": "

An object containing information about your device instance.

" + } + }, + "DeviceInstances": { + "base": null, + "refs": { + "Device$instances": "

The instances belonging to this device.

", + "ListDeviceInstancesResult$deviceInstances": "

An object containing information about your device instances.

" + } + }, "DeviceMinutes": { "base": "

Represents the total (metered or unmetered) minutes used by the resource to run tests. Contains the sum of minutes consumed by all children.

", "refs": { @@ -545,6 +644,16 @@ "refs": { } }, + "GetDeviceInstanceRequest": { + "base": null, + "refs": { + } + }, + "GetDeviceInstanceResult": { + "base": null, + "refs": { + } + }, "GetDevicePoolCompatibilityRequest": { "base": "

Represents a request to the get device pool compatibility operation.

", "refs": { @@ -575,6 +684,16 @@ "refs": { } }, + "GetInstanceProfileRequest": { + "base": null, + "refs": { + } + }, + "GetInstanceProfileResult": { + "base": null, + "refs": { + } + }, "GetJobRequest": { "base": "

Represents a request to the get job operation.

", "refs": { @@ -665,6 +784,16 @@ "refs": { } }, + "GetVPCEConfigurationRequest": { + "base": null, + "refs": { + } + }, + "GetVPCEConfigurationResult": { + "base": null, + "refs": { + } + }, "HostAddress": { "base": null, "refs": { @@ -698,6 +827,35 @@ "refs": { } }, + "InstanceLabels": { + "base": null, + "refs": { + "DeviceInstance$labels": "

An array of strings describing the device instance.

", + "UpdateDeviceInstanceRequest$labels": "

An array of strings that you want to associate with the device instance.

" + } + }, + "InstanceProfile": { + "base": "

Represents the instance profile.

", + "refs": { + "CreateInstanceProfileResult$instanceProfile": "

An object containing information about your instance profile.

", + "DeviceInstance$instanceProfile": "

A object containing information about the instance profile.

", + "GetInstanceProfileResult$instanceProfile": "

An object containing information about your instance profile.

", + "InstanceProfiles$member": null, + "UpdateInstanceProfileResult$instanceProfile": "

An object containing information about your instance profile.

" + } + }, + "InstanceProfiles": { + "base": null, + "refs": { + "ListInstanceProfilesResult$instanceProfiles": "

An object containing information about your instance profiles.

" + } + }, + "InstanceStatus": { + "base": null, + "refs": { + "DeviceInstance$status": "

The status of the device instance. Valid values are listed below.

" + } + }, "Integer": { "base": null, "refs": { @@ -708,6 +866,9 @@ "Counters$errored": "

The number of errored entities.

", "Counters$stopped": "

The number of stopped entities.

", "Counters$skipped": "

The number of skipped entities.

", + "ListDeviceInstancesRequest$maxResults": "

An integer specifying the maximum number of items you want to return in the API response.

", + "ListInstanceProfilesRequest$maxResults": "

An integer specifying the maximum number of items you want to return in the API response.

", + "ListVPCEConfigurationsRequest$maxResults": "

An integer specifying the maximum number of items you want to return in the API response.

", "MaxSlotMap$value": null, "OfferingStatus$quantity": "

The number of available devices in the offering.

", "PurchaseOfferingRequest$quantity": "

The number of device slots you wish to purchase in an offering request.

", @@ -716,7 +877,21 @@ "Resolution$width": "

The screen resolution's width, expressed in pixels.

", "Resolution$height": "

The screen resolution's height, expressed in pixels.

", "Run$totalJobs": "

The total number of jobs for the run.

", - "Run$completedJobs": "

The total number of completed jobs.

" + "Run$completedJobs": "

The total number of completed jobs.

", + "Run$seed": "

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.

", + "Run$eventCount": "

For fuzz tests, this is the number of events, between 1 and 10000, that the UI fuzz test should perform.

" + } + }, + "InteractionMode": { + "base": null, + "refs": { + "CreateRemoteAccessSessionRequest$interactionMode": "

The interaction mode of the remote access session. Valid values are:

", + "RemoteAccessSession$interactionMode": "

The interaction mode of the remote access session. Valid values are:

" + } + }, + "InvalidOperationException": { + "base": "

There was an error with the update request, or you do not have sufficient permissions to update this VPC endpoint configuration.

", + "refs": { } }, "IosPaths": { @@ -740,6 +915,7 @@ "CreateProjectRequest$defaultJobTimeoutMinutes": "

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.

", "ExecutionConfiguration$jobTimeoutMinutes": "

The number of minutes a test run will execute before it times out.

", "Project$defaultJobTimeoutMinutes": "

The default number of minutes (at the project level) a test run will execute before it times out. Default value is 60 minutes.

", + "Run$jobTimeoutMinutes": "

The number of minutes the job will execute before it times out.

", "UpdateProjectRequest$defaultJobTimeoutMinutes": "

The number of minutes a test run in the project will execute before it times out.

" } }, @@ -764,6 +940,16 @@ "refs": { } }, + "ListDeviceInstancesRequest": { + "base": null, + "refs": { + } + }, + "ListDeviceInstancesResult": { + "base": null, + "refs": { + } + }, "ListDevicePoolsRequest": { "base": "

Represents the result of a list device pools request.

", "refs": { @@ -784,6 +970,16 @@ "refs": { } }, + "ListInstanceProfilesRequest": { + "base": null, + "refs": { + } + }, + "ListInstanceProfilesResult": { + "base": null, + "refs": { + } + }, "ListJobsRequest": { "base": "

Represents a request to the list jobs operation.

", "refs": { @@ -914,9 +1110,20 @@ "refs": { } }, + "ListVPCEConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "ListVPCEConfigurationsResult": { + "base": null, + "refs": { + } + }, "Location": { "base": "

Represents a latitude and longitude pair, expressed in geographic coordinate system degrees (for example 47.6204, -122.3491).

Elevation is currently not supported.

", "refs": { + "Run$location": "

Information about the location that is used for the run.

", "ScheduleRunConfiguration$location": "

Information about the location that is used for the run.

" } }, @@ -956,10 +1163,13 @@ "refs": { "ArgumentException$message": "

Any additional information about the exception.

", "CreateDevicePoolRequest$description": "

The device pool's description.

", + "CreateInstanceProfileRequest$description": "

The description of your instance profile.

", "CreateNetworkProfileRequest$description": "

The description of the network profile.

", "DevicePool$description": "

The device pool's description.

", "IdempotencyException$message": "

Any additional information about the exception.

", "IncompatibilityMessage$message": "

A message about the incompatibility.

", + "InstanceProfile$description": "

The description of the instance profile.

", + "InvalidOperationException$message": null, "Job$message": "

A message about the job's result.

", "LimitExceededException$message": "

Any additional information about the exception.

", "NetworkProfile$description": "

The description of the network profile.

", @@ -975,6 +1185,7 @@ "Test$message": "

A message about the test's result.

", "UniqueProblem$message": "

A message about the unique problems' result.

", "UpdateDevicePoolRequest$description": "

A description of the device pool you wish to update.

", + "UpdateInstanceProfileRequest$description": "

The updated description for your instance profile.

", "UpdateNetworkProfileRequest$description": "

The descriptoin of the network profile about which you are returning information.

", "Upload$message": "

A message about the upload's result.

" } @@ -997,12 +1208,14 @@ "refs": { "Artifact$name": "

The artifact's name.

", "CreateDevicePoolRequest$name": "

The device pool's name.

", + "CreateInstanceProfileRequest$name": "

The name of your instance profile.

", "CreateNetworkProfileRequest$name": "

The name you wish to specify for the new network profile.

", "CreateProjectRequest$name": "

The project's name.

", "CreateRemoteAccessSessionRequest$name": "

The name of the remote access session that you wish to create.

", "CreateUploadRequest$name": "

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.

", "Device$name": "

The device's display name.

", "DevicePool$name": "

The device pool's name.

", + "InstanceProfile$name": "

The name of the instance profile.

", "Job$name": "

The job's name.

", "NetworkProfile$name": "

The name of the network profile.

", "ProblemDetail$name": "

The problem detail's name.

", @@ -1013,6 +1226,7 @@ "Suite$name": "

The suite's name.

", "Test$name": "

The test's name.

", "UpdateDevicePoolRequest$name": "

A string representing the name of the device pool you wish to update.

", + "UpdateInstanceProfileRequest$name": "

The updated name for your instance profile.

", "UpdateNetworkProfileRequest$name": "

The name of the network profile about which you are returning information.

", "UpdateProjectRequest$name": "

A string representing the new name of the project that you are updating.

", "Upload$name": "

The upload's file name.

" @@ -1135,6 +1349,14 @@ "ListOfferingsResult$offerings": "

A value representing the list offering results.

" } }, + "PackageIds": { + "base": null, + "refs": { + "CreateInstanceProfileRequest$excludeAppPackagesFromCleanup": "

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.

", + "InstanceProfile$excludeAppPackagesFromCleanup": "

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.

", + "UpdateInstanceProfileRequest$excludeAppPackagesFromCleanup": "

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.

" + } + }, "PaginationToken": { "base": null, "refs": { @@ -1142,10 +1364,14 @@ "GetOfferingStatusResult$nextToken": "

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.

", "ListArtifactsRequest$nextToken": "

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.

", "ListArtifactsResult$nextToken": "

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.

", + "ListDeviceInstancesRequest$nextToken": "

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$nextToken": "

An identifier that can be used in the next call to this operation to return the next set of items in the list.

", "ListDevicePoolsRequest$nextToken": "

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.

", "ListDevicePoolsResult$nextToken": "

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.

", "ListDevicesRequest$nextToken": "

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.

", "ListDevicesResult$nextToken": "

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.

", + "ListInstanceProfilesRequest$nextToken": "

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$nextToken": "

An identifier that can be used in the next call to this operation to return the next set of items in the list.

", "ListJobsRequest$nextToken": "

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.

", "ListJobsResult$nextToken": "

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.

", "ListNetworkProfilesRequest$nextToken": "

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.

", @@ -1171,7 +1397,9 @@ "ListUniqueProblemsRequest$nextToken": "

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.

", "ListUniqueProblemsResult$nextToken": "

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.

", "ListUploadsRequest$nextToken": "

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.

", - "ListUploadsResult$nextToken": "

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.

" + "ListUploadsResult$nextToken": "

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.

", + "ListVPCEConfigurationsRequest$nextToken": "

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$nextToken": "

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.

" } }, "PercentInteger": { @@ -1241,6 +1469,7 @@ "Radios": { "base": "

Represents the set of radios and their states on a device. Examples of radios include Wi-Fi, GPS, Bluetooth, and NFC.

", "refs": { + "Run$radios": "

Information about the radio states for the run.

", "ScheduleRunConfiguration$radios": "

Information about the radio states for the run.

" } }, @@ -1349,6 +1578,7 @@ "ScheduleRunConfiguration": { "base": "

Represents the settings for a run. Includes things like location, radio states, auxiliary apps, and network profiles.

", "refs": { + "GetDevicePoolCompatibilityRequest$configuration": "

An object containing information about the settings for a run.

", "ScheduleRunRequest$configuration": "

Information about the settings for the run to be scheduled.

" } }, @@ -1374,6 +1604,23 @@ "refs": { } }, + "ServiceDnsName": { + "base": null, + "refs": { + "CreateVPCEConfigurationRequest$serviceDnsName": "

The DNS name of the service running in your VPC that you want Device Farm to test.

", + "UpdateVPCEConfigurationRequest$serviceDnsName": "

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.

", + "VPCEConfiguration$serviceDnsName": "

The DNS name that maps to the private IP address of the service you want to access.

" + } + }, + "SkipAppResign": { + "base": null, + "refs": { + "AccountSettings$skipAppResign": "

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.

", + "ExecutionConfiguration$skipAppResign": "

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.

", + "RemoteAccessSession$skipAppResign": "

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.

", + "Run$skipAppResign": "

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.

" + } + }, "SshPublicKey": { "base": null, "refs": { @@ -1409,6 +1656,7 @@ "CPU$architecture": "

The CPU's architecture, for example x86 or ARM.

", "Device$manufacturer": "

The device's manufacturer name.

", "Device$model": "

The device's model name.

", + "Device$modelId": "

The device's model ID.

", "Device$os": "

The device's operating system type.

", "Device$image": "

The device's image name.

", "Device$carrier": "

The device's carrier.

", @@ -1416,12 +1664,17 @@ "Device$fleetType": "

The type of fleet to which this device belongs. Possible values for fleet type are PRIVATE and PUBLIC.

", "Device$fleetName": "

The name of the fleet to which this device belongs.

", "DeviceHostPaths$member": null, + "DeviceInstance$udid": "

Unique device identifier for the device instance.

", + "InstanceLabels$member": null, "IosPaths$member": null, "MaxSlotMap$key": null, + "PackageIds$member": null, "RemoteAccessSession$endpoint": "

The endpoint for the remote access sesssion.

", "RemoteAccessSession$deviceUdid": "

Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote access session.

", "Rule$value": "

The rule's value.

", "Run$parsingResultUrl": "

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.

", + "Run$locale": "

Information about the locale that is used for the run.

", + "Run$webUrl": "

The Device Farm console URL for the recording of the run.

", "ScheduleRunConfiguration$locale": "

Information about the locale that is used for the run.

", "TestParameters$key": null, "TestParameters$value": null @@ -1508,6 +1761,16 @@ "ListUniqueProblemsResult$uniqueProblems": "

Information about the unique problems.

Allowed values include:

" } }, + "UpdateDeviceInstanceRequest": { + "base": null, + "refs": { + } + }, + "UpdateDeviceInstanceResult": { + "base": null, + "refs": { + } + }, "UpdateDevicePoolRequest": { "base": "

Represents a request to the update device pool operation.

", "refs": { @@ -1518,6 +1781,16 @@ "refs": { } }, + "UpdateInstanceProfileRequest": { + "base": null, + "refs": { + } + }, + "UpdateInstanceProfileResult": { + "base": null, + "refs": { + } + }, "UpdateNetworkProfileRequest": { "base": null, "refs": { @@ -1538,6 +1811,16 @@ "refs": { } }, + "UpdateVPCEConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateVPCEConfigurationResult": { + "base": null, + "refs": { + } + }, "Upload": { "base": "

An app or a set of one or more tests to upload or that have been uploaded.

", "refs": { @@ -1565,6 +1848,45 @@ "refs": { "ListUploadsResult$uploads": "

Information about the uploads.

" } + }, + "VPCEConfiguration": { + "base": "

Represents an Amazon Virtual Private Cloud (VPC) endpoint configuration.

", + "refs": { + "CreateVPCEConfigurationResult$vpceConfiguration": "

An object containing information about your VPC endpoint configuration.

", + "GetVPCEConfigurationResult$vpceConfiguration": "

An object containing information about your VPC endpoint configuration.

", + "UpdateVPCEConfigurationResult$vpceConfiguration": "

An object containing information about your VPC endpoint configuration.

", + "VPCEConfigurations$member": null + } + }, + "VPCEConfigurationDescription": { + "base": null, + "refs": { + "CreateVPCEConfigurationRequest$vpceConfigurationDescription": "

An optional description, providing more details about your VPC endpoint configuration.

", + "UpdateVPCEConfigurationRequest$vpceConfigurationDescription": "

An optional description, providing more details about your VPC endpoint configuration.

", + "VPCEConfiguration$vpceConfigurationDescription": "

An optional description, providing more details about your VPC endpoint configuration.

" + } + }, + "VPCEConfigurationName": { + "base": null, + "refs": { + "CreateVPCEConfigurationRequest$vpceConfigurationName": "

The friendly name you give to your VPC endpoint configuration, to manage your configurations more easily.

", + "UpdateVPCEConfigurationRequest$vpceConfigurationName": "

The friendly name you give to your VPC endpoint configuration, to manage your configurations more easily.

", + "VPCEConfiguration$vpceConfigurationName": "

The friendly name you give to your VPC endpoint configuration, to manage your configurations more easily.

" + } + }, + "VPCEConfigurations": { + "base": null, + "refs": { + "ListVPCEConfigurationsResult$vpceConfigurations": "

An array of VPCEConfiguration objects containing information about your VPC endpoint configuration.

" + } + }, + "VPCEServiceName": { + "base": null, + "refs": { + "CreateVPCEConfigurationRequest$vpceServiceName": "

The name of the VPC endpoint service running inside your AWS account that you want Device Farm to test.

", + "UpdateVPCEConfigurationRequest$vpceServiceName": "

The name of the VPC endpoint service running inside your AWS account that you want Device Farm to test.

", + "VPCEConfiguration$vpceServiceName": "

The name of the VPC endpoint service running inside your AWS account that you want Device Farm to test.

" + } } } } diff --git a/models/apis/devicefarm/2015-06-23/smoke.json b/models/apis/devicefarm/2015-06-23/smoke.json new file mode 100644 index 00000000000..82996cfbef1 --- /dev/null +++ b/models/apis/devicefarm/2015-06-23/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListDevices", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "GetDevice", + "input": { + "arn": "arn:aws:devicefarm:us-west-2::device:000000000000000000000000fake-arn" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/directconnect/2012-10-25/api-2.json b/models/apis/directconnect/2012-10-25/api-2.json index 400e4946552..133d770d847 100644 --- a/models/apis/directconnect/2012-10-25/api-2.json +++ b/models/apis/directconnect/2012-10-25/api-2.json @@ -691,7 +691,11 @@ "connectionId":{"shape":"ConnectionId"} } }, - "AwsDevice":{"type":"string"}, + "AwsDevice":{ + "type":"string", + "deprecated":true + }, + "AwsDeviceV2":{"type":"string"}, "BGPAuthKey":{"type":"string"}, "BGPPeer":{ "type":"structure", @@ -702,7 +706,8 @@ "amazonAddress":{"shape":"AmazonAddress"}, "customerAddress":{"shape":"CustomerAddress"}, "bgpPeerState":{"shape":"BGPPeerState"}, - "bgpStatus":{"shape":"BGPStatus"} + "bgpStatus":{"shape":"BGPStatus"}, + "awsDeviceV2":{"shape":"AwsDeviceV2"} } }, "BGPPeerList":{ @@ -784,7 +789,8 @@ "partnerName":{"shape":"PartnerName"}, "loaIssueTime":{"shape":"LoaIssueTime"}, "lagId":{"shape":"LagId"}, - "awsDevice":{"shape":"AwsDevice"} + "awsDevice":{"shape":"AwsDevice"}, + "awsDeviceV2":{"shape":"AwsDeviceV2"} } }, "ConnectionId":{"type":"string"}, @@ -1263,7 +1269,8 @@ "bandwidth":{"shape":"Bandwidth"}, "loaIssueTime":{"shape":"LoaIssueTime"}, "lagId":{"shape":"LagId"}, - "awsDevice":{"shape":"AwsDevice"} + "awsDevice":{"shape":"AwsDevice"}, + "awsDeviceV2":{"shape":"AwsDeviceV2"} } }, "InterconnectId":{"type":"string"}, @@ -1302,6 +1309,7 @@ "region":{"shape":"Region"}, "minimumLinks":{"shape":"Count"}, "awsDevice":{"shape":"AwsDevice"}, + "awsDeviceV2":{"shape":"AwsDeviceV2"}, "connections":{"shape":"ConnectionList"}, "allowsHostedConnections":{"shape":"BooleanFlag"} } @@ -1346,7 +1354,8 @@ "type":"structure", "members":{ "locationCode":{"shape":"LocationCode"}, - "locationName":{"shape":"LocationName"} + "locationName":{"shape":"LocationName"}, + "region":{"shape":"Region"} } }, "LocationCode":{"type":"string"}, @@ -1599,7 +1608,9 @@ "virtualGatewayId":{"shape":"VirtualGatewayId"}, "directConnectGatewayId":{"shape":"DirectConnectGatewayId"}, "routeFilterPrefixes":{"shape":"RouteFilterPrefixList"}, - "bgpPeers":{"shape":"BGPPeerList"} + "bgpPeers":{"shape":"BGPPeerList"}, + "region":{"shape":"Region"}, + "awsDeviceV2":{"shape":"AwsDeviceV2"} } }, "VirtualInterfaceId":{"type":"string"}, diff --git a/models/apis/directconnect/2012-10-25/docs-2.json b/models/apis/directconnect/2012-10-25/docs-2.json index b177128855a..4c909fdbaf2 100644 --- a/models/apis/directconnect/2012-10-25/docs-2.json +++ b/models/apis/directconnect/2012-10-25/docs-2.json @@ -123,9 +123,19 @@ "AwsDevice": { "base": "

An abstract ID for the physical Direct Connect endpoint.

Example: EQC50-abcdef123456

", "refs": { - "Connection$awsDevice": "

The Direct Connection endpoint which the physical connection terminates on.

", - "Interconnect$awsDevice": "

The Direct Connection endpoint which the physical connection terminates on.

", - "Lag$awsDevice": "

The AWS Direct Connection endpoint that hosts the LAG.

" + "Connection$awsDevice": "

Deprecated in favor of awsDeviceV2.

The Direct Connection endpoint which the physical connection terminates on.

", + "Interconnect$awsDevice": "

Deprecated in favor of awsDeviceV2.

The Direct Connection endpoint which the physical connection terminates on.

", + "Lag$awsDevice": "

Deprecated in favor of awsDeviceV2.

The AWS Direct Connection endpoint that hosts the LAG.

" + } + }, + "AwsDeviceV2": { + "base": null, + "refs": { + "BGPPeer$awsDeviceV2": "

The Direct Connection endpoint which the BGP peer terminates on.

", + "Connection$awsDeviceV2": "

The Direct Connection endpoint which the physical connection terminates on.

", + "Interconnect$awsDeviceV2": "

The Direct Connection endpoint which the physical connection terminates on.

", + "Lag$awsDeviceV2": "

The AWS Direct Connection endpoint that hosts the LAG.

", + "VirtualInterface$awsDeviceV2": "

The Direct Connection endpoint which the virtual interface terminates on.

" } }, "BGPAuthKey": { @@ -159,7 +169,7 @@ } }, "BGPStatus": { - "base": "

The Up/Down state of the BGP peer.

", + "base": "

The Up/Down state of the BGP peer.

", "refs": { "BGPPeer$bgpStatus": null } @@ -863,7 +873,9 @@ "refs": { "Connection$region": null, "Interconnect$region": null, - "Lag$region": null + "Lag$region": null, + "Location$region": "

The AWS region where the AWS Direct connect location is located.

Example: us-east-1

Default: None

", + "VirtualInterface$region": "

The AWS region where the virtual interface is located.

Example: us-east-1

Default: None

" } }, "ResourceArn": { diff --git a/models/apis/discovery/2015-11-01/api-2.json b/models/apis/discovery/2015-11-01/api-2.json index a06dfc6893b..b2ab48dc5ee 100644 --- a/models/apis/discovery/2015-11-01/api-2.json +++ b/models/apis/discovery/2015-11-01/api-2.json @@ -6,6 +6,7 @@ "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" @@ -429,10 +430,7 @@ }, "ConfigurationTagSet":{ "type":"list", - "member":{ - "shape":"ConfigurationTag", - "locationName":"item" - } + "member":{"shape":"ConfigurationTag"} }, "Configurations":{ "type":"list", @@ -725,10 +723,7 @@ "FilterValue":{"type":"string"}, "FilterValues":{ "type":"list", - "member":{ - "shape":"FilterValue", - "locationName":"item" - } + "member":{"shape":"FilterValue"} }, "Filters":{ "type":"list", @@ -930,10 +925,7 @@ "TagKey":{"type":"string"}, "TagSet":{ "type":"list", - "member":{ - "shape":"Tag", - "locationName":"item" - } + "member":{"shape":"Tag"} }, "TagValue":{"type":"string"}, "TimeStamp":{"type":"timestamp"}, diff --git a/models/apis/discovery/2015-11-01/docs-2.json b/models/apis/discovery/2015-11-01/docs-2.json index 469abd04d06..11d7d702c90 100644 --- a/models/apis/discovery/2015-11-01/docs-2.json +++ b/models/apis/discovery/2015-11-01/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "AWS Application Discovery Service

AWS Application Discovery Service helps you plan application migration projects by automatically identifying servers, virtual machines (VMs), software, and software dependencies running in your on-premises data centers. Application Discovery Service also collects application performance data, which can help you assess the outcome of your migration. The data collected by Application Discovery Service is securely retained in an Amazon-hosted and managed database in the cloud. You can export the data as a CSV or XML file into your preferred visualization tool or cloud-migration solution to plan your migration. For more information, see the Application Discovery Service FAQ.

Application Discovery Service offers two modes of operation.

Application Discovery Service integrates with application discovery solutions from AWS Partner Network (APN) partners. Third-party application discovery tools can query Application Discovery Service and write to the Application Discovery Service database using a public API. You can then import the data into either a visualization tool or cloud-migration solution.

Application Discovery Service doesn't gather sensitive information. All data is handled according to the AWS Privacy Policy. You can operate Application Discovery Service using offline mode to inspect collected data before it is shared with the service.

Your AWS account must be granted access to Application Discovery Service, a process called whitelisting. This is true for AWS partners and customers alike. To request access, sign up for AWS Application Discovery Service here. We send you information about how to get started.

This API reference provides descriptions, syntax, and usage examples for each of the actions and data types for Application Discovery Service. The topic for each action shows the API request parameters and the response. Alternatively, you can use one of the AWS SDKs to access an API that is tailored to the programming language or platform that you're using. For more information, see AWS SDKs.

This guide is intended for use with the AWS Application Discovery Service User Guide .

", + "service": "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:

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 .

", "operations": { "AssociateConfigurationItemsToApplication": "

Associates one or more configuration items with an application.

", "CreateApplication": "

Creates an application with the given name and description.

", @@ -18,7 +18,7 @@ "ListConfigurations": "

Retrieves a list of configuration items according to criteria that you specify in a filter. The filter criteria identifies the relationship requirements.

", "ListServerNeighbors": "

Retrieves a list of servers that are one network hop away from a specified server.

", "StartDataCollectionByAgentIds": "

Instructs the specified agents or connectors to start collecting data.

", - "StartExportTask": "

Begins the export of discovered data to an S3 bucket.

If you specify agentId 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 agentId 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.

", + "StartExportTask": "

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.

", "StopDataCollectionByAgentIds": "

Instructs the specified agents or connectors to stop collecting data.

", "UpdateApplication": "

Updates metadata about an application.

" }, @@ -337,7 +337,7 @@ "ExportDataFormats": { "base": null, "refs": { - "StartExportTaskRequest$exportDataFormat": "

The file format for the returned export data. Default value is CSV.

" + "StartExportTaskRequest$exportDataFormat": "

The file format for the returned export data. Default value is CSV. Note: The GRAPHML option has been deprecated.

" } }, "ExportFilter": { diff --git a/models/apis/dlm/2018-01-12/api-2.json b/models/apis/dlm/2018-01-12/api-2.json new file mode 100644 index 00000000000..01ea098ea7f --- /dev/null +++ b/models/apis/dlm/2018-01-12/api-2.json @@ -0,0 +1,416 @@ +{ + "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"} + ] + }, + "DeleteLifecyclePolicy":{ + "name":"DeleteLifecyclePolicy", + "http":{ + "method":"DELETE", + "requestUri":"/policies/{policyId}/" + }, + "input":{"shape":"DeleteLifecyclePolicyRequest"}, + "output":{"shape":"DeleteLifecyclePolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"LimitExceededException"} + ] + }, + "GetLifecyclePolicies":{ + "name":"GetLifecyclePolicies", + "http":{ + "method":"GET", + "requestUri":"/policies" + }, + "input":{"shape":"GetLifecyclePoliciesRequest"}, + "output":{"shape":"GetLifecyclePoliciesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServerException"}, + {"shape":"LimitExceededException"} + ] + }, + "GetLifecyclePolicy":{ + "name":"GetLifecyclePolicy", + "http":{ + "method":"GET", + "requestUri":"/policies/{policyId}/" + }, + "input":{"shape":"GetLifecyclePolicyRequest"}, + "output":{"shape":"GetLifecyclePolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"LimitExceededException"} + ] + }, + "UpdateLifecyclePolicy":{ + "name":"UpdateLifecyclePolicy", + "http":{ + "method":"PATCH", + "requestUri":"/policies/{policyId}" + }, + "input":{"shape":"UpdateLifecyclePolicyRequest"}, + "output":{"shape":"UpdateLifecyclePolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServerException"}, + {"shape":"LimitExceededException"} + ] + } + }, + "shapes":{ + "Count":{ + "type":"integer", + "max":1000, + "min":1 + }, + "CreateLifecyclePolicyRequest":{ + "type":"structure", + "required":[ + "ExecutionRoleArn", + "Description", + "State", + "PolicyDetails" + ], + "members":{ + "ExecutionRoleArn":{"shape":"ExecutionRoleArn"}, + "Description":{"shape":"PolicyDescription"}, + "State":{"shape":"SettablePolicyStateValues"}, + "PolicyDetails":{"shape":"PolicyDetails"} + } + }, + "CreateLifecyclePolicyResponse":{ + "type":"structure", + "members":{ + "PolicyId":{"shape":"PolicyId"} + } + }, + "CreateRule":{ + "type":"structure", + "required":[ + "Interval", + "IntervalUnit" + ], + "members":{ + "Interval":{"shape":"Interval"}, + "IntervalUnit":{"shape":"IntervalUnitValues"}, + "Times":{"shape":"TimesList"} + } + }, + "DeleteLifecyclePolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "location":"uri", + "locationName":"policyId" + } + } + }, + "DeleteLifecyclePolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "ErrorCode":{"type":"string"}, + "ErrorMessage":{"type":"string"}, + "ExecutionRoleArn":{"type":"string"}, + "GetLifecyclePoliciesRequest":{ + "type":"structure", + "members":{ + "PolicyIds":{ + "shape":"PolicyIdList", + "location":"querystring", + "locationName":"policyIds" + }, + "State":{ + "shape":"GettablePolicyStateValues", + "location":"querystring", + "locationName":"state" + }, + "ResourceTypes":{ + "shape":"ResourceTypeValuesList", + "location":"querystring", + "locationName":"resourceTypes" + }, + "TargetTags":{ + "shape":"TargetTagsFilterList", + "location":"querystring", + "locationName":"targetTags" + }, + "TagsToAdd":{ + "shape":"TagsToAddFilterList", + "location":"querystring", + "locationName":"tagsToAdd" + } + } + }, + "GetLifecyclePoliciesResponse":{ + "type":"structure", + "members":{ + "Policies":{"shape":"LifecyclePolicySummaryList"} + } + }, + "GetLifecyclePolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "location":"uri", + "locationName":"policyId" + } + } + }, + "GetLifecyclePolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{"shape":"LifecyclePolicy"} + } + }, + "GettablePolicyStateValues":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED", + "ERROR" + ] + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "Code":{"shape":"ErrorCode"} + }, + "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"}, + "MutuallyExclusiveParameters":{"shape":"ParameterList"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "LifecyclePolicy":{ + "type":"structure", + "members":{ + "PolicyId":{"shape":"PolicyId"}, + "Description":{"shape":"PolicyDescription"}, + "State":{"shape":"GettablePolicyStateValues"}, + "ExecutionRoleArn":{"shape":"ExecutionRoleArn"}, + "DateCreated":{"shape":"Timestamp"}, + "DateModified":{"shape":"Timestamp"}, + "PolicyDetails":{"shape":"PolicyDetails"} + } + }, + "LifecyclePolicySummary":{ + "type":"structure", + "members":{ + "PolicyId":{"shape":"PolicyId"}, + "Description":{"shape":"PolicyDescription"}, + "State":{"shape":"GettablePolicyStateValues"} + } + }, + "LifecyclePolicySummaryList":{ + "type":"list", + "member":{"shape":"LifecyclePolicySummary"} + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "Code":{"shape":"ErrorCode"}, + "ResourceType":{"shape":"String"} + }, + "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"}, + "TargetTags":{"shape":"TargetTagList"}, + "Schedules":{"shape":"ScheduleList"} + } + }, + "PolicyId":{"type":"string"}, + "PolicyIdList":{ + "type":"list", + "member":{"shape":"PolicyId"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "Code":{"shape":"ErrorCode"}, + "ResourceType":{"shape":"String"}, + "ResourceIds":{"shape":"PolicyIdList"} + }, + "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"} + } + }, + "Schedule":{ + "type":"structure", + "members":{ + "Name":{"shape":"ScheduleName"}, + "TagsToAdd":{"shape":"TagsToAddList"}, + "CreateRule":{"shape":"CreateRule"}, + "RetainRule":{"shape":"RetainRule"} + } + }, + "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"}, + "Value":{"shape":"String"} + } + }, + "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", + "location":"uri", + "locationName":"policyId" + }, + "ExecutionRoleArn":{"shape":"ExecutionRoleArn"}, + "State":{"shape":"SettablePolicyStateValues"}, + "Description":{"shape":"PolicyDescription"}, + "PolicyDetails":{"shape":"PolicyDetails"} + } + }, + "UpdateLifecyclePolicyResponse":{ + "type":"structure", + "members":{ + } + } + } +} diff --git a/models/apis/dlm/2018-01-12/docs-2.json b/models/apis/dlm/2018-01-12/docs-2.json new file mode 100644 index 00000000000..5417e5886eb --- /dev/null +++ b/models/apis/dlm/2018-01-12/docs-2.json @@ -0,0 +1,318 @@ +{ + "version": "2.0", + "service": "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.

", + "operations": { + "CreateLifecyclePolicy": "

Creates a policy to manage the lifecycle of the specified AWS resources. You can create up to 100 lifecycle policies.

", + "DeleteLifecyclePolicy": "

Deletes the specified lifecycle policy and halts the automated operations that the policy specified.

", + "GetLifecyclePolicies": "

Gets summary information about all or the specified data lifecycle policies.

To get complete information about a policy, use GetLifecyclePolicy.

", + "GetLifecyclePolicy": "

Gets detailed information about the specified lifecycle policy.

", + "UpdateLifecyclePolicy": "

Updates the specified lifecycle policy.

" + }, + "shapes": { + "Count": { + "base": null, + "refs": { + "RetainRule$Count": "

The number of snapshots to keep for each volume, up to a maximum of 1000.

" + } + }, + "CreateLifecyclePolicyRequest": { + "base": null, + "refs": { + } + }, + "CreateLifecyclePolicyResponse": { + "base": null, + "refs": { + } + }, + "CreateRule": { + "base": "

Specifies when to create snapshots of EBS volumes.

", + "refs": { + "Schedule$CreateRule": "

The create rule.

" + } + }, + "DeleteLifecyclePolicyRequest": { + "base": null, + "refs": { + } + }, + "DeleteLifecyclePolicyResponse": { + "base": null, + "refs": { + } + }, + "ErrorCode": { + "base": null, + "refs": { + "InternalServerException$Code": null, + "InvalidRequestException$Code": null, + "LimitExceededException$Code": null, + "ResourceNotFoundException$Code": null + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "InternalServerException$Message": null, + "InvalidRequestException$Message": null, + "LimitExceededException$Message": null, + "ResourceNotFoundException$Message": null + } + }, + "ExecutionRoleArn": { + "base": null, + "refs": { + "CreateLifecyclePolicyRequest$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

", + "LifecyclePolicy$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

", + "UpdateLifecyclePolicyRequest$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

" + } + }, + "GetLifecyclePoliciesRequest": { + "base": null, + "refs": { + } + }, + "GetLifecyclePoliciesResponse": { + "base": null, + "refs": { + } + }, + "GetLifecyclePolicyRequest": { + "base": null, + "refs": { + } + }, + "GetLifecyclePolicyResponse": { + "base": null, + "refs": { + } + }, + "GettablePolicyStateValues": { + "base": null, + "refs": { + "GetLifecyclePoliciesRequest$State": "

The activation state.

", + "LifecyclePolicy$State": "

The activation state of the lifecycle policy.

", + "LifecyclePolicySummary$State": "

The activation state of the lifecycle policy.

" + } + }, + "InternalServerException": { + "base": "

The service failed in an unexpected way.

", + "refs": { + } + }, + "Interval": { + "base": null, + "refs": { + "CreateRule$Interval": "

The interval. The supported values are 12 and 24.

" + } + }, + "IntervalUnitValues": { + "base": null, + "refs": { + "CreateRule$IntervalUnit": "

The interval unit.

" + } + }, + "InvalidRequestException": { + "base": "

Bad request. The request is missing required parameters or has invalid parameters.

", + "refs": { + } + }, + "LifecyclePolicy": { + "base": "

Detailed information about a lifecycle policy.

", + "refs": { + "GetLifecyclePolicyResponse$Policy": "

Detailed information about the lifecycle policy.

" + } + }, + "LifecyclePolicySummary": { + "base": "

Summary information about a lifecycle policy.

", + "refs": { + "LifecyclePolicySummaryList$member": null + } + }, + "LifecyclePolicySummaryList": { + "base": null, + "refs": { + "GetLifecyclePoliciesResponse$Policies": "

Summary information about the lifecycle policies.

" + } + }, + "LimitExceededException": { + "base": "

The request failed because a limit was exceeded.

", + "refs": { + } + }, + "Parameter": { + "base": null, + "refs": { + "ParameterList$member": null + } + }, + "ParameterList": { + "base": null, + "refs": { + "InvalidRequestException$RequiredParameters": "

The request omitted one or more required parameters.

", + "InvalidRequestException$MutuallyExclusiveParameters": "

The request included parameters that cannot be provided together.

" + } + }, + "PolicyDescription": { + "base": null, + "refs": { + "CreateLifecyclePolicyRequest$Description": "

A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.

", + "LifecyclePolicy$Description": "

The description of the lifecycle policy.

", + "LifecyclePolicySummary$Description": "

The description of the lifecycle policy.

", + "UpdateLifecyclePolicyRequest$Description": "

A description of the lifecycle policy.

" + } + }, + "PolicyDetails": { + "base": "

Specifies the configuration of a lifecycle policy.

", + "refs": { + "CreateLifecyclePolicyRequest$PolicyDetails": "

The configuration of the lifecycle policy.

Target tags cannot be re-used across lifecycle policies.

", + "LifecyclePolicy$PolicyDetails": "

The configuration of the lifecycle policy

", + "UpdateLifecyclePolicyRequest$PolicyDetails": "

The configuration of the lifecycle policy.

Target tags cannot be re-used across policies.

" + } + }, + "PolicyId": { + "base": null, + "refs": { + "CreateLifecyclePolicyResponse$PolicyId": "

The identifier of the lifecycle policy.

", + "DeleteLifecyclePolicyRequest$PolicyId": "

The identifier of the lifecycle policy.

", + "GetLifecyclePolicyRequest$PolicyId": "

The identifier of the lifecycle policy.

", + "LifecyclePolicy$PolicyId": "

The identifier of the lifecycle policy.

", + "LifecyclePolicySummary$PolicyId": "

The identifier of the lifecycle policy.

", + "PolicyIdList$member": null, + "UpdateLifecyclePolicyRequest$PolicyId": "

The identifier of the lifecycle policy.

" + } + }, + "PolicyIdList": { + "base": null, + "refs": { + "GetLifecyclePoliciesRequest$PolicyIds": "

The identifiers of the data lifecycle policies.

", + "ResourceNotFoundException$ResourceIds": "

Value is a list of resource IDs that were not found.

" + } + }, + "ResourceNotFoundException": { + "base": "

A requested resource was not found.

", + "refs": { + } + }, + "ResourceTypeValues": { + "base": null, + "refs": { + "ResourceTypeValuesList$member": null + } + }, + "ResourceTypeValuesList": { + "base": null, + "refs": { + "GetLifecyclePoliciesRequest$ResourceTypes": "

The resource type.

", + "PolicyDetails$ResourceTypes": "

The resource type.

" + } + }, + "RetainRule": { + "base": "

Specifies the number of snapshots to keep for each EBS volume.

", + "refs": { + "Schedule$RetainRule": "

The retain rule.

" + } + }, + "Schedule": { + "base": "

Specifies a schedule.

", + "refs": { + "ScheduleList$member": null + } + }, + "ScheduleList": { + "base": null, + "refs": { + "PolicyDetails$Schedules": "

The schedule.

" + } + }, + "ScheduleName": { + "base": null, + "refs": { + "Schedule$Name": "

The name of the schedule.

" + } + }, + "SettablePolicyStateValues": { + "base": null, + "refs": { + "CreateLifecyclePolicyRequest$State": "

The desired activation state of the lifecycle policy after creation.

", + "UpdateLifecyclePolicyRequest$State": "

The desired activation state of the lifecycle policy after creation.

" + } + }, + "String": { + "base": null, + "refs": { + "LimitExceededException$ResourceType": "

Value is the type of resource for which a limit was exceeded.

", + "ResourceNotFoundException$ResourceType": "

Value is the type of resource that was not found.

", + "Tag$Key": "

The tag key.

", + "Tag$Value": "

The tag value.

" + } + }, + "Tag": { + "base": "

Specifies a tag for a resource.

", + "refs": { + "TagsToAddList$member": null, + "TargetTagList$member": null + } + }, + "TagFilter": { + "base": null, + "refs": { + "TagsToAddFilterList$member": null, + "TargetTagsFilterList$member": null + } + }, + "TagsToAddFilterList": { + "base": null, + "refs": { + "GetLifecyclePoliciesRequest$TagsToAdd": "

The tags to add to the resources.

Tags are strings in the format key:value.

These tags are added in addition to the AWS-added lifecycle tags.

" + } + }, + "TagsToAddList": { + "base": null, + "refs": { + "Schedule$TagsToAdd": "

The tags to add to policy-created resources. These tags are added in addition to the default lifecycle tags.

" + } + }, + "TargetTagList": { + "base": null, + "refs": { + "PolicyDetails$TargetTags": "

The target tags.

" + } + }, + "TargetTagsFilterList": { + "base": null, + "refs": { + "GetLifecyclePoliciesRequest$TargetTags": "

The target tags.

Tags are strings in the format key:value.

" + } + }, + "Time": { + "base": null, + "refs": { + "TimesList$member": null + } + }, + "TimesList": { + "base": null, + "refs": { + "CreateRule$Times": "

The time, in UTC, to start the operation.

The operation occurs within a one-hour window following the specified time.

" + } + }, + "Timestamp": { + "base": null, + "refs": { + "LifecyclePolicy$DateCreated": "

The local date and time when the lifecycle policy was created.

", + "LifecyclePolicy$DateModified": "

The local date and time when the lifecycle policy was last modified.

" + } + }, + "UpdateLifecyclePolicyRequest": { + "base": null, + "refs": { + } + }, + "UpdateLifecyclePolicyResponse": { + "base": null, + "refs": { + } + } + } +} diff --git a/models/apis/cloudfront/2016-08-01/examples-1.json b/models/apis/dlm/2018-01-12/examples-1.json similarity index 100% rename from models/apis/cloudfront/2016-08-01/examples-1.json rename to models/apis/dlm/2018-01-12/examples-1.json diff --git a/models/apis/dlm/2018-01-12/paginators-1.json b/models/apis/dlm/2018-01-12/paginators-1.json new file mode 100644 index 00000000000..5677bd8e4a2 --- /dev/null +++ b/models/apis/dlm/2018-01-12/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/models/apis/dms/2016-01-01/api-2.json b/models/apis/dms/2016-01-01/api-2.json index 85d4af7420e..b29f716bb72 100644 --- a/models/apis/dms/2016-01-01/api-2.json +++ b/models/apis/dms/2016-01-01/api-2.json @@ -296,6 +296,19 @@ {"shape":"ResourceNotFoundFault"} ] }, + "DescribeReplicationInstanceTaskLogs":{ + "name":"DescribeReplicationInstanceTaskLogs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeReplicationInstanceTaskLogsMessage"}, + "output":{"shape":"DescribeReplicationInstanceTaskLogsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} + ] + }, "DescribeReplicationInstances":{ "name":"DescribeReplicationInstances", "http":{ @@ -380,7 +393,8 @@ "output":{"shape":"ImportCertificateResponse"}, "errors":[ {"shape":"ResourceAlreadyExistsFault"}, - {"shape":"InvalidCertificateFault"} + {"shape":"InvalidCertificateFault"}, + {"shape":"ResourceQuotaExceededFault"} ] }, "ListTagsForResource":{ @@ -475,6 +489,19 @@ {"shape":"KMSKeyNotAccessibleFault"} ] }, + "RebootReplicationInstance":{ + "name":"RebootReplicationInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RebootReplicationInstanceMessage"}, + "output":{"shape":"RebootReplicationInstanceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} + ] + }, "RefreshSchemas":{ "name":"RefreshSchemas", "http":{ @@ -525,7 +552,8 @@ "output":{"shape":"StartReplicationTaskResponse"}, "errors":[ {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"} + {"shape":"InvalidResourceStateFault"}, + {"shape":"AccessDeniedFault"} ] }, "StartReplicationTaskAssessment":{ @@ -692,8 +720,11 @@ "Tags":{"shape":"TagList"}, "CertificateArn":{"shape":"String"}, "SslMode":{"shape":"DmsSslModeValue"}, + "ServiceAccessRoleArn":{"shape":"String"}, + "ExternalTableDefinition":{"shape":"String"}, "DynamoDbSettings":{"shape":"DynamoDbSettings"}, "S3Settings":{"shape":"S3Settings"}, + "DmsTransferSettings":{"shape":"DmsTransferSettings"}, "MongoDbSettings":{"shape":"MongoDbSettings"} } }, @@ -792,6 +823,8 @@ "TableMappings":{"shape":"String"}, "ReplicationTaskSettings":{"shape":"String"}, "CdcStartTime":{"shape":"TStamp"}, + "CdcStartPosition":{"shape":"String"}, + "CdcStopPosition":{"shape":"String"}, "Tags":{"shape":"TagList"} } }, @@ -1026,6 +1059,23 @@ "RefreshSchemasStatus":{"shape":"RefreshSchemasStatus"} } }, + "DescribeReplicationInstanceTaskLogsMessage":{ + "type":"structure", + "required":["ReplicationInstanceArn"], + "members":{ + "ReplicationInstanceArn":{"shape":"String"}, + "MaxRecords":{"shape":"IntegerOptional"}, + "Marker":{"shape":"String"} + } + }, + "DescribeReplicationInstanceTaskLogsResponse":{ + "type":"structure", + "members":{ + "ReplicationInstanceArn":{"shape":"String"}, + "ReplicationInstanceTaskLogs":{"shape":"ReplicationInstanceTaskLogsList"}, + "Marker":{"shape":"String"} + } + }, "DescribeReplicationInstancesMessage":{ "type":"structure", "members":{ @@ -1130,6 +1180,13 @@ "verify-full" ] }, + "DmsTransferSettings":{ + "type":"structure", + "members":{ + "ServiceAccessRoleArn":{"shape":"String"}, + "BucketName":{"shape":"String"} + } + }, "DynamoDbSettings":{ "type":"structure", "required":["ServiceAccessRoleArn"], @@ -1143,6 +1200,7 @@ "EndpointIdentifier":{"shape":"String"}, "EndpointType":{"shape":"ReplicationEndpointTypeValue"}, "EngineName":{"shape":"String"}, + "EngineDisplayName":{"shape":"String"}, "Username":{"shape":"String"}, "ServerName":{"shape":"String"}, "Port":{"shape":"IntegerOptional"}, @@ -1153,9 +1211,12 @@ "EndpointArn":{"shape":"String"}, "CertificateArn":{"shape":"String"}, "SslMode":{"shape":"DmsSslModeValue"}, + "ServiceAccessRoleArn":{"shape":"String"}, + "ExternalTableDefinition":{"shape":"String"}, "ExternalId":{"shape":"String"}, "DynamoDbSettings":{"shape":"DynamoDbSettings"}, "S3Settings":{"shape":"S3Settings"}, + "DmsTransferSettings":{"shape":"DmsTransferSettings"}, "MongoDbSettings":{"shape":"MongoDbSettings"} } }, @@ -1325,8 +1386,11 @@ "ExtraConnectionAttributes":{"shape":"String"}, "CertificateArn":{"shape":"String"}, "SslMode":{"shape":"DmsSslModeValue"}, + "ServiceAccessRoleArn":{"shape":"String"}, + "ExternalTableDefinition":{"shape":"String"}, "DynamoDbSettings":{"shape":"DynamoDbSettings"}, "S3Settings":{"shape":"S3Settings"}, + "DmsTransferSettings":{"shape":"DmsTransferSettings"}, "MongoDbSettings":{"shape":"MongoDbSettings"} } }, @@ -1403,7 +1467,9 @@ "MigrationType":{"shape":"MigrationTypeValue"}, "TableMappings":{"shape":"String"}, "ReplicationTaskSettings":{"shape":"String"}, - "CdcStartTime":{"shape":"TStamp"} + "CdcStartTime":{"shape":"TStamp"}, + "CdcStartPosition":{"shape":"String"}, + "CdcStopPosition":{"shape":"String"} } }, "ModifyReplicationTaskResponse":{ @@ -1425,7 +1491,8 @@ "NestingLevel":{"shape":"NestingLevelValue"}, "ExtractDocId":{"shape":"String"}, "DocsToInvestigate":{"shape":"String"}, - "AuthSource":{"shape":"String"} + "AuthSource":{"shape":"String"}, + "KmsKeyId":{"shape":"String"} } }, "NestingLevelValue":{ @@ -1451,6 +1518,20 @@ "type":"list", "member":{"shape":"OrderableReplicationInstance"} }, + "RebootReplicationInstanceMessage":{ + "type":"structure", + "required":["ReplicationInstanceArn"], + "members":{ + "ReplicationInstanceArn":{"shape":"String"}, + "ForceFailover":{"shape":"BooleanOptional"} + } + }, + "RebootReplicationInstanceResponse":{ + "type":"structure", + "members":{ + "ReplicationInstance":{"shape":"ReplicationInstance"} + } + }, "RefreshSchemasMessage":{ "type":"structure", "required":[ @@ -1486,6 +1567,13 @@ "refreshing" ] }, + "ReloadOptionValue":{ + "type":"string", + "enum":[ + "data-reload", + "validate-only" + ] + }, "ReloadTablesMessage":{ "type":"structure", "required":[ @@ -1494,7 +1582,8 @@ ], "members":{ "ReplicationTaskArn":{"shape":"String"}, - "TablesToReload":{"shape":"TableListToReload"} + "TablesToReload":{"shape":"TableListToReload"}, + "ReloadOption":{"shape":"ReloadOptionValue"} } }, "ReloadTablesResponse":{ @@ -1555,7 +1644,8 @@ "ReplicationInstancePublicIpAddresses":{"shape":"ReplicationInstancePublicIpAddressList"}, "ReplicationInstancePrivateIpAddresses":{"shape":"ReplicationInstancePrivateIpAddressList"}, "PubliclyAccessible":{"shape":"Boolean"}, - "SecondaryAvailabilityZone":{"shape":"String"} + "SecondaryAvailabilityZone":{"shape":"String"}, + "FreeUntil":{"shape":"TStamp"} } }, "ReplicationInstanceList":{ @@ -1570,6 +1660,18 @@ "type":"list", "member":{"shape":"String"} }, + "ReplicationInstanceTaskLog":{ + "type":"structure", + "members":{ + "ReplicationTaskName":{"shape":"String"}, + "ReplicationTaskArn":{"shape":"String"}, + "ReplicationInstanceTaskLogSize":{"shape":"Long"} + } + }, + "ReplicationInstanceTaskLogsList":{ + "type":"list", + "member":{"shape":"ReplicationInstanceTaskLog"} + }, "ReplicationPendingModifiedValues":{ "type":"structure", "members":{ @@ -1615,6 +1717,9 @@ "StopReason":{"shape":"String"}, "ReplicationTaskCreationDate":{"shape":"TStamp"}, "ReplicationTaskStartDate":{"shape":"TStamp"}, + "CdcStartPosition":{"shape":"String"}, + "CdcStopPosition":{"shape":"String"}, + "RecoveryCheckpoint":{"shape":"String"}, "ReplicationTaskArn":{"shape":"String"}, "ReplicationTaskStats":{"shape":"ReplicationTaskStats"} } @@ -1735,7 +1840,9 @@ "members":{ "ReplicationTaskArn":{"shape":"String"}, "StartReplicationTaskType":{"shape":"StartReplicationTaskTypeValue"}, - "CdcStartTime":{"shape":"TStamp"} + "CdcStartTime":{"shape":"TStamp"}, + "CdcStartPosition":{"shape":"String"}, + "CdcStopPosition":{"shape":"String"} } }, "StartReplicationTaskResponse":{ @@ -1801,7 +1908,8 @@ "members":{ "EngineName":{"shape":"String"}, "SupportsCDC":{"shape":"Boolean"}, - "EndpointType":{"shape":"ReplicationEndpointTypeValue"} + "EndpointType":{"shape":"ReplicationEndpointTypeValue"}, + "EngineDisplayName":{"shape":"String"} } }, "SupportedEndpointTypeList":{ @@ -1830,7 +1938,8 @@ "ValidationPendingRecords":{"shape":"Long"}, "ValidationFailedRecords":{"shape":"Long"}, "ValidationSuspendedRecords":{"shape":"Long"}, - "ValidationState":{"shape":"String"} + "ValidationState":{"shape":"String"}, + "ValidationStateDetails":{"shape":"String"} } }, "TableStatisticsList":{ diff --git a/models/apis/dms/2016-01-01/docs-2.json b/models/apis/dms/2016-01-01/docs-2.json index baeffa87dbe..bf29002ad02 100644 --- a/models/apis/dms/2016-01-01/docs-2.json +++ b/models/apis/dms/2016-01-01/docs-2.json @@ -2,7 +2,7 @@ "version": "2.0", "service": "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?

", "operations": { - "AddTagsToResource": "

Adds metadata tags to a DMS resource, including replication instance, endpoint, security group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with DMS resources, or used in a Condition statement in an IAM policy for DMS.

", + "AddTagsToResource": "

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": "

Creates an endpoint using the provided settings.

", "CreateEventSubscription": "

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": "

Creates the replication instance using the specified parameters.

", @@ -24,6 +24,7 @@ "DescribeEvents": "

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": "

Returns information about the replication instance types that can be created in the specified region.

", "DescribeRefreshSchemasStatus": "

Returns the status of the RefreshSchemas operation.

", + "DescribeReplicationInstanceTaskLogs": "

Returns information about the task logs for the specified task.

", "DescribeReplicationInstances": "

Returns information about replication instances for your account in the current region.

", "DescribeReplicationSubnetGroups": "

Returns information about the replication subnet groups.

", "DescribeReplicationTaskAssessmentResults": "

Returns the task assessment results from Amazon S3. This action always returns the latest results.

", @@ -37,6 +38,7 @@ "ModifyReplicationInstance": "

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": "

Modifies the settings for the specified replication subnet group.

", "ModifyReplicationTask": "

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": "

Reboots a replication instance. Rebooting results in a momentary outage, until the replication instance becomes available again.

", "RefreshSchemas": "

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": "

Reloads the target database table with the source data.

", "RemoveTagsFromResource": "

Removes metadata tags from a DMS resource.

", @@ -113,6 +115,7 @@ "ModifyEventSubscriptionMessage$Enabled": "

A Boolean value; set to true to activate the subscription.

", "ModifyReplicationInstanceMessage$MultiAZ": "

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.

", "ModifyReplicationInstanceMessage$AutoMinorVersionUpgrade": "

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.

", + "RebootReplicationInstanceMessage$ForceFailover": "

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.)

", "ReplicationPendingModifiedValues$MultiAZ": "

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.

" } }, @@ -366,6 +369,16 @@ "refs": { } }, + "DescribeReplicationInstanceTaskLogsMessage": { + "base": null, + "refs": { + } + }, + "DescribeReplicationInstanceTaskLogsResponse": { + "base": null, + "refs": { + } + }, "DescribeReplicationInstancesMessage": { "base": "

", "refs": { @@ -434,6 +447,14 @@ "ModifyEndpointMessage$SslMode": "

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.

" } }, + "DmsTransferSettings": { + "base": "

The settings in JSON format for the DMS Transfer type source endpoint.

", + "refs": { + "CreateEndpointMessage$DmsTransferSettings": "

The settings in JSON format for the DMS Transfer type source endpoint.

Attributes include:

Shorthand syntax: ServiceAccessRoleArn=string ,BucketName=string,CompressionType=string

JSON syntax:

{ \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }

", + "Endpoint$DmsTransferSettings": "

The settings in JSON format for the DMS Transfer type source endpoint.

Attributes include:

Shorthand syntax: ServiceAccessRoleArn=string ,BucketName=string,CompressionType=string

JSON syntax:

{ \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }

", + "ModifyEndpointMessage$DmsTransferSettings": "

The settings in JSON format for the DMS Transfer type source endpoint.

Attributes include:

Shorthand syntax: ServiceAccessRoleArn=string ,BucketName=string,CompressionType=string

JSON syntax:

{ \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }

" + } + }, "DynamoDbSettings": { "base": "

", "refs": { @@ -599,6 +620,7 @@ "DescribeEventsMessage$Duration": "

The duration of the events to be listed.

", "DescribeEventsMessage$MaxRecords": "

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.

", "DescribeOrderableReplicationInstancesMessage$MaxRecords": "

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.

", + "DescribeReplicationInstanceTaskLogsMessage$MaxRecords": "

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.

", "DescribeReplicationInstancesMessage$MaxRecords": "

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.

", "DescribeReplicationSubnetGroupsMessage$MaxRecords": "

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.

", "DescribeReplicationTaskAssessmentResultsMessage$MaxRecords": "

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.

", @@ -653,6 +675,7 @@ "refs": { "AccountQuota$Used": "

The amount currently used toward the quota maximum.

", "AccountQuota$Max": "

The maximum allowed value for the quota.

", + "ReplicationInstanceTaskLog$ReplicationInstanceTaskLogSize": "

The size, in bytes, of the replication task log.

", "ReplicationTaskStats$ElapsedTimeMillis": "

The elapsed time of the task, in milliseconds.

", "TableStatistics$Inserts": "

The number of insert actions performed on a table.

", "TableStatistics$Deletes": "

The number of delete actions performed on a table.

", @@ -727,7 +750,7 @@ "MongoDbSettings": { "base": "

", "refs": { - "CreateEndpointMessage$MongoDbSettings": "

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.

", + "CreateEndpointMessage$MongoDbSettings": "

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.

", "Endpoint$MongoDbSettings": "

The settings for the MongoDB source endpoint. For more information, see the MongoDbSettings structure.

", "ModifyEndpointMessage$MongoDbSettings": "

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.

" } @@ -750,6 +773,16 @@ "DescribeOrderableReplicationInstancesResponse$OrderableReplicationInstances": "

The order-able replication instances available.

" } }, + "RebootReplicationInstanceMessage": { + "base": null, + "refs": { + } + }, + "RebootReplicationInstanceResponse": { + "base": null, + "refs": { + } + }, "RefreshSchemasMessage": { "base": "

", "refs": { @@ -773,6 +806,12 @@ "RefreshSchemasStatus$Status": "

The status of the schema.

" } }, + "ReloadOptionValue": { + "base": null, + "refs": { + "ReloadTablesMessage$ReloadOption": "

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.

" + } + }, "ReloadTablesMessage": { "base": null, "refs": { @@ -808,6 +847,7 @@ "CreateReplicationInstanceResponse$ReplicationInstance": "

The replication instance that was created.

", "DeleteReplicationInstanceResponse$ReplicationInstance": "

The replication instance that was deleted.

", "ModifyReplicationInstanceResponse$ReplicationInstance": "

The modified replication instance.

", + "RebootReplicationInstanceResponse$ReplicationInstance": "

The replication instance that is being rebooted.

", "ReplicationInstanceList$member": null } }, @@ -829,6 +869,18 @@ "ReplicationInstance$ReplicationInstancePublicIpAddresses": "

The public IP address of the replication instance.

" } }, + "ReplicationInstanceTaskLog": { + "base": "

Contains metadata for a replication instance task log.

", + "refs": { + "ReplicationInstanceTaskLogsList$member": null + } + }, + "ReplicationInstanceTaskLogsList": { + "base": null, + "refs": { + "DescribeReplicationInstanceTaskLogsResponse$ReplicationInstanceTaskLogs": "

An array of replication task log metadata. Each member of the array contains the replication task name, ARN, and task log size (in bytes).

" + } + }, "ReplicationPendingModifiedValues": { "base": "

", "refs": { @@ -909,7 +961,7 @@ "S3Settings": { "base": "

", "refs": { - "CreateEndpointMessage$S3Settings": "

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.

", + "CreateEndpointMessage$S3Settings": "

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.

", "Endpoint$S3Settings": "

The settings for the S3 target endpoint. For more information, see the S3Settings structure.

", "ModifyEndpointMessage$S3Settings": "

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.

" } @@ -1011,14 +1063,16 @@ "Connection$EndpointIdentifier": "

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.

", "Connection$ReplicationInstanceIdentifier": "

The replication instance identifier. This parameter is stored as a lowercase string.

", "CreateEndpointMessage$EndpointIdentifier": "

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.

", - "CreateEndpointMessage$EngineName": "

The type of engine for the endpoint. Valid values, depending on the EndPointType, include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER.

", + "CreateEndpointMessage$EngineName": "

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.

", "CreateEndpointMessage$Username": "

The user name to be used to login to the endpoint database.

", "CreateEndpointMessage$ServerName": "

The name of the server where the endpoint database resides.

", "CreateEndpointMessage$DatabaseName": "

The name of the endpoint database.

", "CreateEndpointMessage$ExtraConnectionAttributes": "

Additional attributes associated with the connection.

", "CreateEndpointMessage$KmsKeyId": "

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.

", "CreateEndpointMessage$CertificateArn": "

The Amazon Resource Name (ARN) for the certificate.

", - "CreateEventSubscriptionMessage$SubscriptionName": "

The name of the DMS event notification subscription.

Constraints: The name must be less than 255 characters.

", + "CreateEndpointMessage$ServiceAccessRoleArn": "

The Amazon Resource Name (ARN) for the service access role you want to use to create the endpoint.

", + "CreateEndpointMessage$ExternalTableDefinition": "

The external table definition.

", + "CreateEventSubscriptionMessage$SubscriptionName": "

The name of the AWS DMS event notification subscription.

Constraints: The name must be less than 255 characters.

", "CreateEventSubscriptionMessage$SnsTopicArn": "

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.

", "CreateEventSubscriptionMessage$SourceType": "

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

", "CreateReplicationInstanceMessage$ReplicationInstanceIdentifier": "

The replication instance identifier. This parameter is stored as a lowercase string.

Constraints:

Example: myrepinstance

", @@ -1036,6 +1090,8 @@ "CreateReplicationTaskMessage$ReplicationInstanceArn": "

The Amazon Resource Name (ARN) of the replication instance.

", "CreateReplicationTaskMessage$TableMappings": "

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

", "CreateReplicationTaskMessage$ReplicationTaskSettings": "

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.

", + "CreateReplicationTaskMessage$CdcStartPosition": "

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”

", + "CreateReplicationTaskMessage$CdcStopPosition": "

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 “

", "DeleteCertificateMessage$CertificateArn": "

The Amazon Resource Name (ARN) of the deleted certificate.

", "DeleteEndpointMessage$EndpointArn": "

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

", "DeleteEventSubscriptionMessage$SubscriptionName": "

The name of the DMS event notification subscription to be deleted.

", @@ -1060,6 +1116,10 @@ "DescribeOrderableReplicationInstancesMessage$Marker": "

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.

", "DescribeOrderableReplicationInstancesResponse$Marker": "

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.

", "DescribeRefreshSchemasStatusMessage$EndpointArn": "

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

", + "DescribeReplicationInstanceTaskLogsMessage$ReplicationInstanceArn": "

The Amazon Resource Name (ARN) of the replication instance.

", + "DescribeReplicationInstanceTaskLogsMessage$Marker": "

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$ReplicationInstanceArn": "

The Amazon Resource Name (ARN) of the replication instance.

", + "DescribeReplicationInstanceTaskLogsResponse$Marker": "

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$Marker": "

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.

", "DescribeReplicationInstancesResponse$Marker": "

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.

", "DescribeReplicationSubnetGroupsMessage$Marker": "

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.

", @@ -1077,9 +1137,12 @@ "DescribeTableStatisticsMessage$Marker": "

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.

", "DescribeTableStatisticsResponse$ReplicationTaskArn": "

The Amazon Resource Name (ARN) of the replication task.

", "DescribeTableStatisticsResponse$Marker": "

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.

", + "DmsTransferSettings$ServiceAccessRoleArn": "

The IAM role that has permission to access the Amazon S3 bucket.

", + "DmsTransferSettings$BucketName": "

The name of the S3 bucket to use.

", "DynamoDbSettings$ServiceAccessRoleArn": "

The Amazon Resource Name (ARN) used by the service access IAM role.

", "Endpoint$EndpointIdentifier": "

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.

", - "Endpoint$EngineName": "

The database engine name. Valid values, depending on the EndPointType, include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER.

", + "Endpoint$EngineName": "

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.

", + "Endpoint$EngineDisplayName": "

The expanded name for the engine name. For example, if the EngineName parameter is \"aurora,\" this value would be \"Amazon Aurora MySQL.\"

", "Endpoint$Username": "

The user name used to connect to the endpoint.

", "Endpoint$ServerName": "

The name of the server at the endpoint.

", "Endpoint$DatabaseName": "

The name of the database at the endpoint.

", @@ -1088,6 +1151,8 @@ "Endpoint$KmsKeyId": "

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.

", "Endpoint$EndpointArn": "

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

", "Endpoint$CertificateArn": "

The Amazon Resource Name (ARN) used for SSL connection to the endpoint.

", + "Endpoint$ServiceAccessRoleArn": "

The Amazon Resource Name (ARN) used by the service access IAM role.

", + "Endpoint$ExternalTableDefinition": "

The external table definition.

", "Endpoint$ExternalId": "

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.

", "Event$SourceIdentifier": "

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

", "Event$Message": "

The event message.

", @@ -1107,12 +1172,14 @@ "ListTagsForResourceMessage$ResourceArn": "

The Amazon Resource Name (ARN) string that uniquely identifies the AWS DMS resource.

", "ModifyEndpointMessage$EndpointArn": "

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

", "ModifyEndpointMessage$EndpointIdentifier": "

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.

", - "ModifyEndpointMessage$EngineName": "

The type of engine for the endpoint. Valid values, depending on the EndPointType, include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, DYNAMODB, MONGODB, SYBASE, and SQLSERVER.

", + "ModifyEndpointMessage$EngineName": "

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.

", "ModifyEndpointMessage$Username": "

The user name to be used to login to the endpoint database.

", "ModifyEndpointMessage$ServerName": "

The name of the server where the endpoint database resides.

", "ModifyEndpointMessage$DatabaseName": "

The name of the endpoint database.

", "ModifyEndpointMessage$ExtraConnectionAttributes": "

Additional attributes associated with the connection. To reset this parameter, pass the empty string (\"\") as an argument.

", "ModifyEndpointMessage$CertificateArn": "

The Amazon Resource Name (ARN) of the certificate used for SSL connection.

", + "ModifyEndpointMessage$ServiceAccessRoleArn": "

The Amazon Resource Name (ARN) for the service access role you want to use to modify the endpoint.

", + "ModifyEndpointMessage$ExternalTableDefinition": "

The external table definition.

", "ModifyEventSubscriptionMessage$SubscriptionName": "

The name of the AWS DMS event notification subscription to be modified.

", "ModifyEventSubscriptionMessage$SnsTopicArn": "

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.

", "ModifyEventSubscriptionMessage$SourceType": "

The type of AWS DMS resource that generates the events you want to subscribe to.

Valid values: replication-instance | migration-task

", @@ -1127,21 +1194,25 @@ "ModifyReplicationTaskMessage$ReplicationTaskIdentifier": "

The replication task identifier.

Constraints:

", "ModifyReplicationTaskMessage$TableMappings": "

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

", "ModifyReplicationTaskMessage$ReplicationTaskSettings": "

JSON file that contains settings for the task, such as target metadata settings.

", + "ModifyReplicationTaskMessage$CdcStartPosition": "

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”

", + "ModifyReplicationTaskMessage$CdcStopPosition": "

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 “

", "MongoDbSettings$Username": "

The user name you use to access the MongoDB source endpoint.

", "MongoDbSettings$ServerName": "

The name of the server on the MongoDB source endpoint.

", "MongoDbSettings$DatabaseName": "

The database name on the MongoDB source endpoint.

", "MongoDbSettings$ExtractDocId": "

Specifies the document ID. Use this attribute when NestingLevel is set to NONE.

Default value is false.

", "MongoDbSettings$DocsToInvestigate": "

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.

", "MongoDbSettings$AuthSource": "

The MongoDB database name. This attribute is not used when authType=NO.

The default is admin.

", + "MongoDbSettings$KmsKeyId": "

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.

", "OrderableReplicationInstance$EngineVersion": "

The version of the replication engine.

", "OrderableReplicationInstance$ReplicationInstanceClass": "

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

", "OrderableReplicationInstance$StorageType": "

The type of storage used by the replication instance.

", + "RebootReplicationInstanceMessage$ReplicationInstanceArn": "

The Amazon Resource Name (ARN) of the replication instance.

", "RefreshSchemasMessage$EndpointArn": "

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

", "RefreshSchemasMessage$ReplicationInstanceArn": "

The Amazon Resource Name (ARN) of the replication instance.

", "RefreshSchemasStatus$EndpointArn": "

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

", "RefreshSchemasStatus$ReplicationInstanceArn": "

The Amazon Resource Name (ARN) of the replication instance.

", "RefreshSchemasStatus$LastFailureMessage": "

The last failure message for the schema.

", - "ReloadTablesMessage$ReplicationTaskArn": "

The Amazon Resource Name (ARN) of the replication instance.

", + "ReloadTablesMessage$ReplicationTaskArn": "

The Amazon Resource Name (ARN) of the replication task.

", "ReloadTablesResponse$ReplicationTaskArn": "

The Amazon Resource Name (ARN) of the replication task.

", "RemoveTagsFromResourceMessage$ResourceArn": "

>The Amazon Resource Name (ARN) of the AWS DMS resource the tag is to be removed from.

", "ReplicationInstance$ReplicationInstanceIdentifier": "

The replication instance identifier. This parameter is stored as a lowercase string.

Constraints:

Example: myrepinstance

", @@ -1157,13 +1228,15 @@ "ReplicationInstance$SecondaryAvailabilityZone": "

The availability zone of the standby replication instance in a Multi-AZ deployment.

", "ReplicationInstancePrivateIpAddressList$member": null, "ReplicationInstancePublicIpAddressList$member": null, + "ReplicationInstanceTaskLog$ReplicationTaskName": "

The name of the replication task.

", + "ReplicationInstanceTaskLog$ReplicationTaskArn": "

The Amazon Resource Name (ARN) of the replication task.

", "ReplicationPendingModifiedValues$ReplicationInstanceClass": "

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

", "ReplicationPendingModifiedValues$EngineVersion": "

The engine version number of the replication instance.

", "ReplicationSubnetGroup$ReplicationSubnetGroupIdentifier": "

The identifier of the replication instance subnet group.

", "ReplicationSubnetGroup$ReplicationSubnetGroupDescription": "

The description of the replication subnet group.

", "ReplicationSubnetGroup$VpcId": "

The ID of the VPC.

", "ReplicationSubnetGroup$SubnetGroupStatus": "

The status of the subnet group.

", - "ReplicationTask$ReplicationTaskIdentifier": "

The replication task identifier.

Constraints:

", + "ReplicationTask$ReplicationTaskIdentifier": "

The user-assigned replication task identifier or name.

Constraints:

", "ReplicationTask$SourceEndpointArn": "

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

", "ReplicationTask$TargetEndpointArn": "

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

", "ReplicationTask$ReplicationInstanceArn": "

The Amazon Resource Name (ARN) of the replication instance.

", @@ -1172,6 +1245,9 @@ "ReplicationTask$Status": "

The status of the replication task.

", "ReplicationTask$LastFailureMessage": "

The last error (failure) message generated for the replication instance.

", "ReplicationTask$StopReason": "

The reason the replication task was stopped.

", + "ReplicationTask$CdcStartPosition": "

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”

", + "ReplicationTask$CdcStopPosition": "

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 “

", + "ReplicationTask$RecoveryCheckpoint": "

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.

", "ReplicationTask$ReplicationTaskArn": "

The Amazon Resource Name (ARN) of the replication task.

", "ReplicationTaskAssessmentResult$ReplicationTaskIdentifier": "

The replication task identifier of the task on which the task assessment was run.

", "ReplicationTaskAssessmentResult$ReplicationTaskArn": "

The Amazon Resource Name (ARN) of the replication task.

", @@ -1180,7 +1256,7 @@ "ReplicationTaskAssessmentResult$AssessmentResults": "

The task assessment results in JSON format.

", "ReplicationTaskAssessmentResult$S3ObjectUrl": "

The URL of the S3 object containing the task assessment results.

", "S3Settings$ServiceAccessRoleArn": "

The Amazon Resource Name (ARN) used by the service access IAM role.

", - "S3Settings$ExternalTableDefinition": "

", + "S3Settings$ExternalTableDefinition": "

The external table definition.

", "S3Settings$CsvRowDelimiter": "

The delimiter used to separate rows in the source files. The default is a carriage return (\\n).

", "S3Settings$CsvDelimiter": "

The delimiter used to separate columns in the source files. The default is a comma.

", "S3Settings$BucketFolder": "

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>/.

", @@ -1189,15 +1265,19 @@ "SourceIdsList$member": null, "StartReplicationTaskAssessmentMessage$ReplicationTaskArn": "

The Amazon Resource Name (ARN) of the replication task.

", "StartReplicationTaskMessage$ReplicationTaskArn": "

The Amazon Resource Name (ARN) of the replication task to be started.

", + "StartReplicationTaskMessage$CdcStartPosition": "

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”

", + "StartReplicationTaskMessage$CdcStopPosition": "

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 “

", "StopReplicationTaskMessage$ReplicationTaskArn": "

The Amazon Resource Name(ARN) of the replication task to be stopped.

", "Subnet$SubnetIdentifier": "

The subnet identifier.

", "Subnet$SubnetStatus": "

The status of the subnet.

", "SubnetIdentifierList$member": null, - "SupportedEndpointType$EngineName": "

The database engine name. Valid values, depending on the EndPointType, include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER.

", + "SupportedEndpointType$EngineName": "

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.

", + "SupportedEndpointType$EngineDisplayName": "

The expanded name for the engine name. For example, if the EngineName parameter is \"aurora,\" this value would be \"Amazon Aurora MySQL.\"

", "TableStatistics$SchemaName": "

The schema name.

", "TableStatistics$TableName": "

The name of the table.

", "TableStatistics$TableState": "

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

", "TableStatistics$ValidationState": "

The validation state of the table.

The parameter can have the following values

", + "TableStatistics$ValidationStateDetails": "

Additional details about the state of validation.

", "TableToReload$SchemaName": "

The schema name of the table to be reloaded.

", "TableToReload$TableName": "

The table name of the table to be reloaded.

", "Tag$Key": "

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}_.:/=+\\\\-]*)$\").

", @@ -1251,17 +1331,18 @@ "Certificate$CertificateCreationDate": "

The date that the certificate was created.

", "Certificate$ValidFromDate": "

The beginning date that the certificate is valid.

", "Certificate$ValidToDate": "

The final date that the certificate is valid.

", - "CreateReplicationTaskMessage$CdcStartTime": "

The start time for the Change Data Capture (CDC) operation.

", + "CreateReplicationTaskMessage$CdcStartTime": "

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”

", "DescribeEventsMessage$StartTime": "

The start time for the events to be listed.

", "DescribeEventsMessage$EndTime": "

The end time for the events to be listed.

", "Event$Date": "

The date of the event.

", - "ModifyReplicationTaskMessage$CdcStartTime": "

The start time for the Change Data Capture (CDC) operation.

", + "ModifyReplicationTaskMessage$CdcStartTime": "

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”

", "RefreshSchemasStatus$LastRefreshDate": "

The date the schema was last refreshed.

", "ReplicationInstance$InstanceCreateTime": "

The time the replication instance was created.

", + "ReplicationInstance$FreeUntil": "

The expiration date of the free replication instance that is part of the Free DMS program.

", "ReplicationTask$ReplicationTaskCreationDate": "

The date the replication task was created.

", "ReplicationTask$ReplicationTaskStartDate": "

The date the replication task is scheduled to start.

", "ReplicationTaskAssessmentResult$ReplicationTaskLastAssessmentDate": "

The date the task assessment was completed.

", - "StartReplicationTaskMessage$CdcStartTime": "

The start time for the Change Data Capture (CDC) operation.

", + "StartReplicationTaskMessage$CdcStartTime": "

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”

", "TableStatistics$LastUpdateTime": "

The last time the table was updated.

" } }, diff --git a/models/apis/dms/2016-01-01/paginators-1.json b/models/apis/dms/2016-01-01/paginators-1.json index e6ef7945d8c..7dd8ddd6f20 100644 --- a/models/apis/dms/2016-01-01/paginators-1.json +++ b/models/apis/dms/2016-01-01/paginators-1.json @@ -35,6 +35,11 @@ "output_token": "Marker", "limit_key": "MaxRecords" }, + "DescribeReplicationInstanceTaskLogs": { + "input_token": "Marker", + "output_token": "Marker", + "limit_key": "MaxRecords" + }, "DescribeReplicationInstances": { "input_token": "Marker", "output_token": "Marker", diff --git a/models/apis/dms/2016-01-01/smoke.json b/models/apis/dms/2016-01-01/smoke.json new file mode 100644 index 00000000000..16179e444bb --- /dev/null +++ b/models/apis/dms/2016-01-01/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeEndpoints", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeTableStatistics", + "input": { + "ReplicationTaskArn": "arn:aws:acm:region:123456789012" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/ds/2015-04-16/api-2.json b/models/apis/ds/2015-04-16/api-2.json index 2bde9f4b063..7d1f06b33ea 100644 --- a/models/apis/ds/2015-04-16/api-2.json +++ b/models/apis/ds/2015-04-16/api-2.json @@ -7,6 +7,7 @@ "protocol":"json", "serviceAbbreviation":"Directory Service", "serviceFullName":"AWS Directory Service", + "serviceId":"Directory Service", "signatureVersion":"v4", "targetPrefix":"DirectoryService_20150416", "uid":"ds-2015-04-16" @@ -550,6 +551,24 @@ {"shape":"ServiceException"} ] }, + "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"} + ] + }, "RestoreFromSnapshot":{ "name":"RestoreFromSnapshot", "http":{ @@ -910,7 +929,8 @@ "ShortName":{"shape":"DirectoryShortName"}, "Password":{"shape":"Password"}, "Description":{"shape":"Description"}, - "VpcSettings":{"shape":"DirectoryVpcSettings"} + "VpcSettings":{"shape":"DirectoryVpcSettings"}, + "Edition":{"shape":"DirectoryEdition"} } }, "CreateMicrosoftADResult":{ @@ -958,6 +978,12 @@ } }, "CreatedDateTime":{"type":"timestamp"}, + "CustomerUserName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^(?!.*\\\\|.*\"|.*\\/|.*\\[|.*\\]|.*:|.*;|.*\\||.*=|.*,|.*\\+|.*\\*|.*\\?|.*<|.*>|.*@).*$" + }, "DeleteAssociatedConditionalForwarder":{"type":"boolean"}, "DeleteConditionalForwarderRequest":{ "type":"structure", @@ -1165,6 +1191,7 @@ "Name":{"shape":"DirectoryName"}, "ShortName":{"shape":"DirectoryShortName"}, "Size":{"shape":"DirectorySize"}, + "Edition":{"shape":"DirectoryEdition"}, "Alias":{"shape":"AliasName"}, "AccessUrl":{"shape":"AccessUrl"}, "Description":{"shape":"Description"}, @@ -1186,6 +1213,13 @@ "type":"list", "member":{"shape":"DirectoryDescription"} }, + "DirectoryEdition":{ + "type":"string", + "enum":[ + "Enterprise", + "Standard" + ] + }, "DirectoryId":{ "type":"string", "pattern":"^d-[0-9a-f]{10}$" @@ -1471,6 +1505,14 @@ }, "exception":true }, + "InvalidPasswordException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "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]?)$" @@ -1716,6 +1758,24 @@ "type":"string", "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"}, + "UserName":{"shape":"CustomerUserName"}, + "NewPassword":{"shape":"UserPassword"} + } + }, + "ResetUserPasswordResult":{ + "type":"structure", + "members":{ + } + }, "ResourceId":{ "type":"string", "pattern":"^[d]-[0-9a-f]{10}$" @@ -1775,7 +1835,7 @@ }, "SecurityGroupId":{ "type":"string", - "pattern":"^(sg-[0-9a-f]{8})$" + "pattern":"^(sg-[0-9a-f]{8}|sg-[0-9a-f]{17})$" }, "Server":{ "type":"string", @@ -1883,7 +1943,7 @@ "StateLastUpdatedDateTime":{"type":"timestamp"}, "SubnetId":{ "type":"string", - "pattern":"^(subnet-[0-9a-f]{8})$" + "pattern":"^(subnet-[0-9a-f]{8}|subnet-[0-9a-f]{17})$" }, "SubnetIds":{ "type":"list", @@ -2067,11 +2127,25 @@ }, "UpdateSecurityGroupForDirectoryControllers":{"type":"boolean"}, "UseSameUsername":{"type":"boolean"}, + "UserDoesNotExistException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "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"], @@ -2087,7 +2161,7 @@ }, "VpcId":{ "type":"string", - "pattern":"^(vpc-[0-9a-f]{8})$" + "pattern":"^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$" } } } diff --git a/models/apis/ds/2015-04-16/docs-2.json b/models/apis/ds/2015-04-16/docs-2.json index 81e33240dcc..1c0a5c38668 100644 --- a/models/apis/ds/2015-04-16/docs-2.json +++ b/models/apis/ds/2015-04-16/docs-2.json @@ -36,6 +36,7 @@ "RegisterEventTopic": "

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": "

Removes IP address blocks from a directory.

", "RemoveTagsFromResource": "

Removes tags from a directory.

", + "ResetUserPassword": "

Resets the password for any user in your AWS Managed Microsoft AD or Simple AD directory.

", "RestoreFromSnapshot": "

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": "

Applies a schema extension to a Microsoft AD directory.

", "UpdateConditionalForwarder": "

Updates a conditional forwarder that has been set up for your AWS directory.

", @@ -302,6 +303,12 @@ "Trust$CreatedDateTime": "

The date and time that the trust relationship was created.

" } }, + "CustomerUserName": { + "base": null, + "refs": { + "ResetUserPasswordRequest$UserName": "

The username of the user whose password will be reset.

" + } + }, "DeleteAssociatedConditionalForwarder": { "base": null, "refs": { @@ -462,6 +469,13 @@ "DescribeDirectoriesResult$DirectoryDescriptions": "

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.

" } }, + "DirectoryEdition": { + "base": null, + "refs": { + "CreateMicrosoftADRequest$Edition": "

AWS Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

", + "DirectoryDescription$Edition": "

The edition associated with this directory.

" + } + }, "DirectoryId": { "base": null, "refs": { @@ -499,6 +513,7 @@ "ListSchemaExtensionsRequest$DirectoryId": "

The identifier of the directory from which to retrieve the schema extension information.

", "RegisterEventTopicRequest$DirectoryId": "

The Directory ID that will publish status messages to the SNS topic.

", "RemoveIpRoutesRequest$DirectoryId": "

Identifier (ID) of the directory from which you want to remove the IP addresses.

", + "ResetUserPasswordRequest$DirectoryId": "

Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user resides.

", "SchemaExtensionInfo$DirectoryId": "

The identifier of the directory to which the schema extension is applied.

", "Snapshot$DirectoryId": "

The directory identifier.

", "StartSchemaExtensionRequest$DirectoryId": "

The identifier of the directory for which the schema extension will be applied to.

", @@ -715,11 +730,13 @@ "InsufficientPermissionsException$Message": null, "InvalidNextTokenException$Message": null, "InvalidParameterException$Message": null, + "InvalidPasswordException$Message": null, "IpRouteLimitExceededException$Message": null, "ServiceException$Message": null, "SnapshotLimitExceededException$Message": null, "TagLimitExceededException$Message": null, - "UnsupportedOperationException$Message": null + "UnsupportedOperationException$Message": null, + "UserDoesNotExistException$Message": null } }, "GetDirectoryLimitsRequest": { @@ -757,6 +774,11 @@ "refs": { } }, + "InvalidPasswordException": { + "base": "

The new password provided by the user does not meet the password complexity requirements defined in your directory.

", + "refs": { + } + }, "IpAddr": { "base": null, "refs": { @@ -1038,11 +1060,23 @@ "InsufficientPermissionsException$RequestId": null, "InvalidNextTokenException$RequestId": null, "InvalidParameterException$RequestId": null, + "InvalidPasswordException$RequestId": null, "IpRouteLimitExceededException$RequestId": null, "ServiceException$RequestId": null, "SnapshotLimitExceededException$RequestId": null, "TagLimitExceededException$RequestId": null, - "UnsupportedOperationException$RequestId": null + "UnsupportedOperationException$RequestId": null, + "UserDoesNotExistException$RequestId": null + } + }, + "ResetUserPasswordRequest": { + "base": null, + "refs": { + } + }, + "ResetUserPasswordResult": { + "base": null, + "refs": { } }, "ResourceId": { @@ -1105,7 +1139,7 @@ "base": null, "refs": { "DirectoryConnectSettingsDescription$SecurityGroupId": "

The security group identifier for the AD Connector directory.

", - "DirectoryVpcSettingsDescription$SecurityGroupId": "

The security group identifier for the directory. If the directory was created before 8/1/2014, this is the identifier of the directory members security group that was created when the directory was created. If the directory was created after this date, this value is null.

" + "DirectoryVpcSettingsDescription$SecurityGroupId": "

The domain controller security group identifier for the directory.

" } }, "Server": { @@ -1413,6 +1447,11 @@ "RadiusSettings$UseSameUsername": "

Not currently used.

" } }, + "UserDoesNotExistException": { + "base": "

The user provided a username that does not exist in your directory.

", + "refs": { + } + }, "UserName": { "base": null, "refs": { @@ -1422,6 +1461,12 @@ "EnableSsoRequest$UserName": "

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.

" } }, + "UserPassword": { + "base": null, + "refs": { + "ResetUserPasswordRequest$NewPassword": "

The new password that will be reset.

" + } + }, "VerifyTrustRequest": { "base": "

Initiates the verification of an existing trust relationship between a Microsoft AD in the AWS cloud and an external domain.

", "refs": { diff --git a/models/apis/ds/2015-04-16/smoke.json b/models/apis/ds/2015-04-16/smoke.json new file mode 100644 index 00000000000..510d7077a78 --- /dev/null +++ b/models/apis/ds/2015-04-16/smoke.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeDirectories", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "CreateDirectory", + "input": { + "Name": "", + "Password": "", + "Size": "" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/dynamodb/2011-12-05/api-2.json b/models/apis/dynamodb/2011-12-05/api-2.json deleted file mode 100644 index e2f86cf4bb3..00000000000 --- a/models/apis/dynamodb/2011-12-05/api-2.json +++ /dev/null @@ -1,803 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2011-12-05", - "endpointPrefix":"dynamodb", - "jsonVersion":"1.0", - "protocol":"json", - "serviceAbbreviation":"DynamoDB", - "serviceFullName":"Amazon DynamoDB", - "serviceId":"DynamoDB", - "signatureVersion":"v4", - "targetPrefix":"DynamoDB_20111205", - "uid":"dynamodb-2011-12-05" - }, - "operations":{ - "BatchGetItem":{ - "name":"BatchGetItem", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetItemInput"}, - "output":{"shape":"BatchGetItemOutput"}, - "errors":[ - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"} - ] - }, - "BatchWriteItem":{ - "name":"BatchWriteItem", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchWriteItemInput"}, - "output":{"shape":"BatchWriteItemOutput"}, - "errors":[ - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ] - }, - "CreateTable":{ - "name":"CreateTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTableInput"}, - "output":{"shape":"CreateTableOutput"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ] - }, - "DeleteItem":{ - "name":"DeleteItem", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteItemInput"}, - "output":{"shape":"DeleteItemOutput"}, - "errors":[ - {"shape":"ConditionalCheckFailedException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ] - }, - "DeleteTable":{ - "name":"DeleteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTableInput"}, - "output":{"shape":"DeleteTableOutput"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ] - }, - "DescribeTable":{ - "name":"DescribeTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTableInput"}, - "output":{"shape":"DescribeTableOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"} - ] - }, - "GetItem":{ - "name":"GetItem", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetItemInput"}, - "output":{"shape":"GetItemOutput"}, - "errors":[ - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"} - ] - }, - "ListTables":{ - "name":"ListTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTablesInput"}, - "output":{"shape":"ListTablesOutput"}, - "errors":[ - {"shape":"InternalServerError"} - ] - }, - "PutItem":{ - "name":"PutItem", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutItemInput"}, - "output":{"shape":"PutItemOutput"}, - "errors":[ - {"shape":"ConditionalCheckFailedException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ] - }, - "Query":{ - "name":"Query", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"QueryInput"}, - "output":{"shape":"QueryOutput"}, - "errors":[ - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"} - ] - }, - "Scan":{ - "name":"Scan", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ScanInput"}, - "output":{"shape":"ScanOutput"}, - "errors":[ - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"} - ] - }, - "UpdateItem":{ - "name":"UpdateItem", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateItemInput"}, - "output":{"shape":"UpdateItemOutput"}, - "errors":[ - {"shape":"ConditionalCheckFailedException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ] - }, - "UpdateTable":{ - "name":"UpdateTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateTableInput"}, - "output":{"shape":"UpdateTableOutput"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ] - } - }, - "shapes":{ - "AttributeAction":{ - "type":"string", - "enum":[ - "ADD", - "PUT", - "DELETE" - ] - }, - "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"}, - "N":{"shape":"NumberAttributeValue"}, - "B":{"shape":"BinaryAttributeValue"}, - "SS":{"shape":"StringSetAttributeValue"}, - "NS":{"shape":"NumberSetAttributeValue"}, - "BS":{"shape":"BinarySetAttributeValue"} - } - }, - "AttributeValueList":{ - "type":"list", - "member":{"shape":"AttributeValue"} - }, - "AttributeValueUpdate":{ - "type":"structure", - "members":{ - "Value":{"shape":"AttributeValue"}, - "Action":{"shape":"AttributeAction"} - } - }, - "BatchGetItemInput":{ - "type":"structure", - "required":["RequestItems"], - "members":{ - "RequestItems":{"shape":"BatchGetRequestMap"} - } - }, - "BatchGetItemOutput":{ - "type":"structure", - "members":{ - "Responses":{"shape":"BatchGetResponseMap"}, - "UnprocessedKeys":{"shape":"BatchGetRequestMap"} - } - }, - "BatchGetRequestMap":{ - "type":"map", - "key":{"shape":"TableName"}, - "value":{"shape":"KeysAndAttributes"}, - "max":100, - "min":1 - }, - "BatchGetResponseMap":{ - "type":"map", - "key":{"shape":"TableName"}, - "value":{"shape":"BatchResponse"} - }, - "BatchResponse":{ - "type":"structure", - "members":{ - "Items":{"shape":"ItemList"}, - "ConsumedCapacityUnits":{"shape":"ConsumedCapacityUnits"} - } - }, - "BatchWriteItemInput":{ - "type":"structure", - "required":["RequestItems"], - "members":{ - "RequestItems":{"shape":"BatchWriteItemRequestMap"} - } - }, - "BatchWriteItemOutput":{ - "type":"structure", - "members":{ - "Responses":{"shape":"BatchWriteResponseMap"}, - "UnprocessedItems":{"shape":"BatchWriteItemRequestMap"} - } - }, - "BatchWriteItemRequestMap":{ - "type":"map", - "key":{"shape":"TableName"}, - "value":{"shape":"WriteRequests"}, - "max":25, - "min":1 - }, - "BatchWriteResponse":{ - "type":"structure", - "members":{ - "ConsumedCapacityUnits":{"shape":"ConsumedCapacityUnits"} - } - }, - "BatchWriteResponseMap":{ - "type":"map", - "key":{"shape":"TableName"}, - "value":{"shape":"BatchWriteResponse"} - }, - "BinaryAttributeValue":{"type":"blob"}, - "BinarySetAttributeValue":{ - "type":"list", - "member":{"shape":"BinaryAttributeValue"} - }, - "BooleanObject":{"type":"boolean"}, - "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"}, - "ComparisonOperator":{"shape":"ComparisonOperator"} - } - }, - "ConditionalCheckFailedException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true - }, - "ConsistentRead":{"type":"boolean"}, - "ConsumedCapacityUnits":{"type":"double"}, - "CreateTableInput":{ - "type":"structure", - "required":[ - "TableName", - "KeySchema", - "ProvisionedThroughput" - ], - "members":{ - "TableName":{"shape":"TableName"}, - "KeySchema":{"shape":"KeySchema"}, - "ProvisionedThroughput":{"shape":"ProvisionedThroughput"} - } - }, - "CreateTableOutput":{ - "type":"structure", - "members":{ - "TableDescription":{"shape":"TableDescription"} - } - }, - "Date":{"type":"timestamp"}, - "DeleteItemInput":{ - "type":"structure", - "required":[ - "TableName", - "Key" - ], - "members":{ - "TableName":{"shape":"TableName"}, - "Key":{"shape":"Key"}, - "Expected":{"shape":"ExpectedAttributeMap"}, - "ReturnValues":{"shape":"ReturnValue"} - } - }, - "DeleteItemOutput":{ - "type":"structure", - "members":{ - "Attributes":{"shape":"AttributeMap"}, - "ConsumedCapacityUnits":{"shape":"ConsumedCapacityUnits"} - } - }, - "DeleteRequest":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{"shape":"Key"} - } - }, - "DeleteTableInput":{ - "type":"structure", - "required":["TableName"], - "members":{ - "TableName":{"shape":"TableName"} - } - }, - "DeleteTableOutput":{ - "type":"structure", - "members":{ - "TableDescription":{"shape":"TableDescription"} - } - }, - "DescribeTableInput":{ - "type":"structure", - "required":["TableName"], - "members":{ - "TableName":{"shape":"TableName"} - } - }, - "DescribeTableOutput":{ - "type":"structure", - "members":{ - "Table":{"shape":"TableDescription"} - } - }, - "ErrorMessage":{"type":"string"}, - "ExpectedAttributeMap":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"ExpectedAttributeValue"} - }, - "ExpectedAttributeValue":{ - "type":"structure", - "members":{ - "Value":{"shape":"AttributeValue"}, - "Exists":{"shape":"BooleanObject"} - } - }, - "FilterConditionMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"Condition"} - }, - "GetItemInput":{ - "type":"structure", - "required":[ - "TableName", - "Key" - ], - "members":{ - "TableName":{"shape":"TableName"}, - "Key":{"shape":"Key"}, - "AttributesToGet":{"shape":"AttributeNameList"}, - "ConsistentRead":{"shape":"ConsistentRead"} - } - }, - "GetItemOutput":{ - "type":"structure", - "members":{ - "Item":{"shape":"AttributeMap"}, - "ConsumedCapacityUnits":{"shape":"ConsumedCapacityUnits"} - } - }, - "Integer":{"type":"integer"}, - "InternalServerError":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "fault":true - }, - "ItemList":{ - "type":"list", - "member":{"shape":"AttributeMap"} - }, - "Key":{ - "type":"structure", - "required":["HashKeyElement"], - "members":{ - "HashKeyElement":{"shape":"AttributeValue"}, - "RangeKeyElement":{"shape":"AttributeValue"} - } - }, - "KeyList":{ - "type":"list", - "member":{"shape":"Key"}, - "max":100, - "min":1 - }, - "KeySchema":{ - "type":"structure", - "required":["HashKeyElement"], - "members":{ - "HashKeyElement":{"shape":"KeySchemaElement"}, - "RangeKeyElement":{"shape":"KeySchemaElement"} - } - }, - "KeySchemaAttributeName":{ - "type":"string", - "max":255, - "min":1 - }, - "KeySchemaElement":{ - "type":"structure", - "required":[ - "AttributeName", - "AttributeType" - ], - "members":{ - "AttributeName":{"shape":"KeySchemaAttributeName"}, - "AttributeType":{"shape":"ScalarAttributeType"} - } - }, - "KeysAndAttributes":{ - "type":"structure", - "required":["Keys"], - "members":{ - "Keys":{"shape":"KeyList"}, - "AttributesToGet":{"shape":"AttributeNameList"}, - "ConsistentRead":{"shape":"ConsistentRead"} - } - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true - }, - "ListTablesInput":{ - "type":"structure", - "members":{ - "ExclusiveStartTableName":{"shape":"TableName"}, - "Limit":{"shape":"ListTablesInputLimit"} - } - }, - "ListTablesInputLimit":{ - "type":"integer", - "max":100, - "min":1 - }, - "ListTablesOutput":{ - "type":"structure", - "members":{ - "TableNames":{"shape":"TableNameList"}, - "LastEvaluatedTableName":{"shape":"TableName"} - } - }, - "Long":{"type":"long"}, - "NumberAttributeValue":{"type":"string"}, - "NumberSetAttributeValue":{ - "type":"list", - "member":{"shape":"NumberAttributeValue"} - }, - "PositiveIntegerObject":{ - "type":"integer", - "min":1 - }, - "PositiveLongObject":{ - "type":"long", - "min":1 - }, - "ProvisionedThroughput":{ - "type":"structure", - "required":[ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "members":{ - "ReadCapacityUnits":{"shape":"PositiveLongObject"}, - "WriteCapacityUnits":{"shape":"PositiveLongObject"} - } - }, - "ProvisionedThroughputDescription":{ - "type":"structure", - "members":{ - "LastIncreaseDateTime":{"shape":"Date"}, - "LastDecreaseDateTime":{"shape":"Date"}, - "NumberOfDecreasesToday":{"shape":"PositiveLongObject"}, - "ReadCapacityUnits":{"shape":"PositiveLongObject"}, - "WriteCapacityUnits":{"shape":"PositiveLongObject"} - } - }, - "ProvisionedThroughputExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true - }, - "PutItemInput":{ - "type":"structure", - "required":[ - "TableName", - "Item" - ], - "members":{ - "TableName":{"shape":"TableName"}, - "Item":{"shape":"PutItemInputAttributeMap"}, - "Expected":{"shape":"ExpectedAttributeMap"}, - "ReturnValues":{"shape":"ReturnValue"} - } - }, - "PutItemInputAttributeMap":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"} - }, - "PutItemOutput":{ - "type":"structure", - "members":{ - "Attributes":{"shape":"AttributeMap"}, - "ConsumedCapacityUnits":{"shape":"ConsumedCapacityUnits"} - } - }, - "PutRequest":{ - "type":"structure", - "required":["Item"], - "members":{ - "Item":{"shape":"PutItemInputAttributeMap"} - } - }, - "QueryInput":{ - "type":"structure", - "required":[ - "TableName", - "HashKeyValue" - ], - "members":{ - "TableName":{"shape":"TableName"}, - "AttributesToGet":{"shape":"AttributeNameList"}, - "Limit":{"shape":"PositiveIntegerObject"}, - "ConsistentRead":{"shape":"ConsistentRead"}, - "Count":{"shape":"BooleanObject"}, - "HashKeyValue":{"shape":"AttributeValue"}, - "RangeKeyCondition":{"shape":"Condition"}, - "ScanIndexForward":{"shape":"BooleanObject"}, - "ExclusiveStartKey":{"shape":"Key"} - } - }, - "QueryOutput":{ - "type":"structure", - "members":{ - "Items":{"shape":"ItemList"}, - "Count":{"shape":"Integer"}, - "LastEvaluatedKey":{"shape":"Key"}, - "ConsumedCapacityUnits":{"shape":"ConsumedCapacityUnits"} - } - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true - }, - "ReturnValue":{ - "type":"string", - "enum":[ - "NONE", - "ALL_OLD", - "UPDATED_OLD", - "ALL_NEW", - "UPDATED_NEW" - ] - }, - "ScalarAttributeType":{ - "type":"string", - "enum":[ - "S", - "N", - "B" - ] - }, - "ScanInput":{ - "type":"structure", - "required":["TableName"], - "members":{ - "TableName":{"shape":"TableName"}, - "AttributesToGet":{"shape":"AttributeNameList"}, - "Limit":{"shape":"PositiveIntegerObject"}, - "Count":{"shape":"BooleanObject"}, - "ScanFilter":{"shape":"FilterConditionMap"}, - "ExclusiveStartKey":{"shape":"Key"} - } - }, - "ScanOutput":{ - "type":"structure", - "members":{ - "Items":{"shape":"ItemList"}, - "Count":{"shape":"Integer"}, - "ScannedCount":{"shape":"Integer"}, - "LastEvaluatedKey":{"shape":"Key"}, - "ConsumedCapacityUnits":{"shape":"ConsumedCapacityUnits"} - } - }, - "String":{"type":"string"}, - "StringAttributeValue":{"type":"string"}, - "StringSetAttributeValue":{ - "type":"list", - "member":{"shape":"StringAttributeValue"} - }, - "TableDescription":{ - "type":"structure", - "members":{ - "TableName":{"shape":"TableName"}, - "KeySchema":{"shape":"KeySchema"}, - "TableStatus":{"shape":"TableStatus"}, - "CreationDateTime":{"shape":"Date"}, - "ProvisionedThroughput":{"shape":"ProvisionedThroughputDescription"}, - "TableSizeBytes":{"shape":"Long"}, - "ItemCount":{"shape":"Long"} - } - }, - "TableName":{ - "type":"string", - "max":255, - "min":3, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "TableNameList":{ - "type":"list", - "member":{"shape":"TableName"} - }, - "TableStatus":{ - "type":"string", - "enum":[ - "CREATING", - "UPDATING", - "DELETING", - "ACTIVE" - ] - }, - "UpdateItemInput":{ - "type":"structure", - "required":[ - "TableName", - "Key", - "AttributeUpdates" - ], - "members":{ - "TableName":{"shape":"TableName"}, - "Key":{"shape":"Key"}, - "AttributeUpdates":{"shape":"AttributeUpdates"}, - "Expected":{"shape":"ExpectedAttributeMap"}, - "ReturnValues":{"shape":"ReturnValue"} - } - }, - "UpdateItemOutput":{ - "type":"structure", - "members":{ - "Attributes":{"shape":"AttributeMap"}, - "ConsumedCapacityUnits":{"shape":"ConsumedCapacityUnits"} - } - }, - "UpdateTableInput":{ - "type":"structure", - "required":[ - "TableName", - "ProvisionedThroughput" - ], - "members":{ - "TableName":{"shape":"TableName"}, - "ProvisionedThroughput":{"shape":"ProvisionedThroughput"} - } - }, - "UpdateTableOutput":{ - "type":"structure", - "members":{ - "TableDescription":{"shape":"TableDescription"} - } - }, - "WriteRequest":{ - "type":"structure", - "members":{ - "PutRequest":{"shape":"PutRequest"}, - "DeleteRequest":{"shape":"DeleteRequest"} - } - }, - "WriteRequests":{ - "type":"list", - "member":{"shape":"WriteRequest"}, - "max":25, - "min":1 - } - } -} diff --git a/models/apis/dynamodb/2011-12-05/docs-2.json b/models/apis/dynamodb/2011-12-05/docs-2.json deleted file mode 100644 index 80242d9ee57..00000000000 --- a/models/apis/dynamodb/2011-12-05/docs-2.json +++ /dev/null @@ -1,606 +0,0 @@ -{ - "version": "2.0", - "service": "

Amazon DynamoDB is a fast, highly scalable, highly available, cost-effective non-relational database service.

Amazon DynamoDB removes traditional scalability limitations on data storage while maintaining low latency and predictable performance.

", - "operations": { - "BatchGetItem": "

Retrieves the attributes for multiple items from multiple tables using their primary keys.

The maximum number of item attributes that can be retrieved for a single operation is 100. Also, the number of items retrieved is constrained by a 1 MB the size limit. If the response size limit is exceeded or a partial result is returned due to an internal processing failure, Amazon DynamoDB returns an UnprocessedKeys value so you can retry the operation starting with the next item to get.

Amazon DynamoDB automatically adjusts the number of items returned per page to enforce this limit. For example, even if you ask to retrieve 100 items, but each individual item is 50k in size, the system returns 20 items and an appropriate UnprocessedKeys value so you can get the next page of results. If necessary, your application needs its own logic to assemble the pages of results into one set.

", - "BatchWriteItem": "

Allows to execute a batch of Put and/or Delete Requests for many tables in a single call. A total of 25 requests are allowed.

There are no transaction guarantees provided by this API. It does not allow conditional puts nor does it support return values.

", - "CreateTable": "

Adds a new table to your account.

The table name must be unique among those associated with the AWS Account issuing the request, and the AWS Region that receives the request (e.g. us-east-1).

The CreateTable operation triggers an asynchronous workflow to begin creating the table. Amazon DynamoDB immediately returns the state of the table (CREATING) until the table is in the ACTIVE state. Once the table is in the ACTIVE state, you can perform data plane operations.

", - "DeleteItem": "

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.

", - "DeleteTable": "

Deletes a table and all of its items.

If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states then Amazon DynamoDB returns a ResourceInUseException. If the specified table does not exist, Amazon DynamoDB returns a ResourceNotFoundException.

", - "DescribeTable": "

Retrieves information about the table, including the current status of the table, the primary key schema and when the table was created.

If the table does not exist, Amazon DynamoDB returns a ResourceNotFoundException.

", - "GetItem": "

Retrieves a set of Attributes for an item that matches the primary key.

The GetItem operation provides an eventually-consistent read by default. If eventually-consistent reads are not acceptable for your application, use ConsistentRead. Although this operation might take longer than a standard read, it always returns the last updated value.

", - "ListTables": "

Retrieves a paginated list of table names created by the AWS Account of the caller in the AWS Region (e.g. us-east-1).

", - "PutItem": "

Creates a new item, or replaces an old item with a new item (including all the attributes).

If an item already exists in the specified table with the same primary key, the new item completely replaces the existing item. You can perform a conditional put (insert a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values.

", - "Query": "

Gets the values of one or more items and its attributes by primary key (composite primary key, only).

Narrow the scope of the query using comparison operators on the RangeKeyValue of the composite key. Use the ScanIndexForward parameter to get results in forward or reverse order by range key.

", - "Scan": "

Retrieves one or more items and its attributes by performing a full scan of a table.

Provide a ScanFilter to get more specific results.

", - "UpdateItem": "

Edits an existing item's attributes.

You can perform a conditional update (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).

", - "UpdateTable": "

Updates the provisioned throughput for the given table.

Setting the throughput for a table helps you manage performance and is part of the Provisioned Throughput feature of Amazon DynamoDB.

" - }, - "shapes": { - "AttributeAction": { - "base": "

The type of action for an item update operation. Only use the add action for numbers or sets; the specified value is added to the existing value. If a set of values is specified, the values are added to the existing set. Adds the specified attribute. If the attribute exists, it is replaced by the new value. If no value is specified, this removes the attribute and its value. If a set of values is specified, then the values in the specified set are removed from the old set.

", - "refs": { - "AttributeValueUpdate$Action": null - } - }, - "AttributeMap": { - "base": null, - "refs": { - "DeleteItemOutput$Attributes": "

If the ReturnValues parameter is provided as ALL_OLD in the request, Amazon DynamoDB returns an array of attribute name-value pairs (essentially, the deleted item). Otherwise, the response contains an empty set.

", - "GetItemOutput$Item": "

Contains the requested attributes.

", - "ItemList$member": null, - "PutItemOutput$Attributes": "

Attribute values before the put operation, but only if the ReturnValues parameter is specified as ALL_OLD in the request.

", - "UpdateItemOutput$Attributes": "

A map of attribute name-value pairs, but only if the ReturnValues parameter is specified as something other than NONE in the request.

" - } - }, - "AttributeName": { - "base": null, - "refs": { - "AttributeMap$key": null, - "AttributeNameList$member": null, - "AttributeUpdates$key": null, - "ExpectedAttributeMap$key": null, - "PutItemInputAttributeMap$key": null - } - }, - "AttributeNameList": { - "base": "

List of Attribute names. If attribute names are not specified then all attributes will be returned. If some attributes are not found, they will not appear in the result.

", - "refs": { - "GetItemInput$AttributesToGet": null, - "KeysAndAttributes$AttributesToGet": null, - "QueryInput$AttributesToGet": null, - "ScanInput$AttributesToGet": null - } - }, - "AttributeUpdates": { - "base": "

Map of attribute name to the new value and action for the update. The attribute names specify the attributes to modify, and cannot contain any primary key attributes.

", - "refs": { - "UpdateItemInput$AttributeUpdates": null - } - }, - "AttributeValue": { - "base": "

AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.

", - "refs": { - "AttributeMap$value": null, - "AttributeValueList$member": null, - "AttributeValueUpdate$Value": null, - "ExpectedAttributeValue$Value": "

Specify whether or not a value already exists and has a specific content for the attribute name-value pair.

", - "Key$HashKeyElement": "

A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.

", - "Key$RangeKeyElement": "

A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.

", - "PutItemInputAttributeMap$value": null, - "QueryInput$HashKeyValue": "

Attribute value of the hash component of the composite primary key.

" - } - }, - "AttributeValueList": { - "base": "

A list of attribute values to be used with a comparison operator for a scan or query operation. For comparisons that require more than one value, such as a BETWEEN comparison, the AttributeValueList contains two attribute values and the comparison operator.

", - "refs": { - "Condition$AttributeValueList": null - } - }, - "AttributeValueUpdate": { - "base": "

Specifies the attribute to update and how to perform the update. Possible values: PUT (default), ADD or DELETE.

", - "refs": { - "AttributeUpdates$value": null - } - }, - "BatchGetItemInput": { - "base": null, - "refs": { - } - }, - "BatchGetItemOutput": { - "base": null, - "refs": { - } - }, - "BatchGetRequestMap": { - "base": "

A map of the table name and corresponding items to get by primary key. While requesting items, each table name can be invoked only once per operation.

", - "refs": { - "BatchGetItemInput$RequestItems": null, - "BatchGetItemOutput$UnprocessedKeys": "

Contains a map of tables and their respective keys that were not processed with the current response, possibly due to reaching a limit on the response size. The UnprocessedKeys value is in the same form as a RequestItems parameter (so the value can be provided directly to a subsequent BatchGetItem operation). For more information, see the above RequestItems parameter.

" - } - }, - "BatchGetResponseMap": { - "base": "

Table names and the respective item attributes from the tables.

", - "refs": { - "BatchGetItemOutput$Responses": null - } - }, - "BatchResponse": { - "base": "

The item attributes from a response in a specific table, along with the read resources consumed on the table during the request.

", - "refs": { - "BatchGetResponseMap$value": null - } - }, - "BatchWriteItemInput": { - "base": null, - "refs": { - } - }, - "BatchWriteItemOutput": { - "base": "

A container for BatchWriteItem response

", - "refs": { - } - }, - "BatchWriteItemRequestMap": { - "base": "

A map of table name to list-of-write-requests.

Key: The table name corresponding to the list of requests

Value: Essentially a list of request items. Each request item could contain either a PutRequest or DeleteRequest. Never both.

", - "refs": { - "BatchWriteItemInput$RequestItems": "

A map of table name to list-of-write-requests. Used as input to the BatchWriteItem API call

", - "BatchWriteItemOutput$UnprocessedItems": "

The Items which we could not successfully process in a BatchWriteItem call is returned as UnprocessedItems

" - } - }, - "BatchWriteResponse": { - "base": null, - "refs": { - "BatchWriteResponseMap$value": null - } - }, - "BatchWriteResponseMap": { - "base": null, - "refs": { - "BatchWriteItemOutput$Responses": "

The response object as a result of BatchWriteItem call. This is essentially a map of table name to ConsumedCapacityUnits.

" - } - }, - "BinaryAttributeValue": { - "base": null, - "refs": { - "AttributeValue$B": "

Binary attributes are sequences of unsigned bytes.

", - "BinarySetAttributeValue$member": null - } - }, - "BinarySetAttributeValue": { - "base": null, - "refs": { - "AttributeValue$BS": "

A set of binary attributes.

" - } - }, - "BooleanObject": { - "base": null, - "refs": { - "ExpectedAttributeValue$Exists": "

Specify whether or not a value already exists for the attribute name-value pair.

", - "QueryInput$Count": "

If set to true, Amazon DynamoDB returns a total number of items that match the query parameters, instead of a list of the matching items and their attributes. Do not set Count to true while providing a list of AttributesToGet, otherwise Amazon DynamoDB returns a validation error.

", - "QueryInput$ScanIndexForward": "

Specifies forward or backward traversal of the index. Amazon DynamoDB returns results reflecting the requested order, determined by the range key. The default value is true (forward).

", - "ScanInput$Count": "

If set to true, Amazon DynamoDB returns a total number of items for the Scan operation, even if the operation has no matching items for the assigned filter. Do not set Count to true while providing a list of AttributesToGet, otherwise Amazon DynamoDB returns a validation error.

" - } - }, - "ComparisonOperator": { - "base": "

A comparison operator is an enumeration of several operations:

Scan operations support all available comparison operators.

Query operations support a subset of the available comparison operators: EQ, LE, LT, GE, GT, BETWEEN, and BEGINS_WITH.

", - "refs": { - "Condition$ComparisonOperator": null - } - }, - "Condition": { - "base": null, - "refs": { - "FilterConditionMap$value": null, - "QueryInput$RangeKeyCondition": "

A container for the attribute values and comparison operators to use for the query.

" - } - }, - "ConditionalCheckFailedException": { - "base": "

This exception is thrown when an expected value does not match what was found in the system.

", - "refs": { - } - }, - "ConsistentRead": { - "base": "

If set to true, then a consistent read is issued. Otherwise eventually-consistent is used.

", - "refs": { - "GetItemInput$ConsistentRead": null, - "KeysAndAttributes$ConsistentRead": null, - "QueryInput$ConsistentRead": null - } - }, - "ConsumedCapacityUnits": { - "base": "

The number of Capacity Units of the provisioned throughput of the table consumed during the operation. GetItem, BatchGetItem, BatchWriteItem, Query, and Scan operations consume ReadCapacityUnits, while PutItem, UpdateItem, and DeleteItem operations consume WriteCapacityUnits.

", - "refs": { - "BatchResponse$ConsumedCapacityUnits": null, - "BatchWriteResponse$ConsumedCapacityUnits": null, - "DeleteItemOutput$ConsumedCapacityUnits": null, - "GetItemOutput$ConsumedCapacityUnits": null, - "PutItemOutput$ConsumedCapacityUnits": null, - "QueryOutput$ConsumedCapacityUnits": null, - "ScanOutput$ConsumedCapacityUnits": null, - "UpdateItemOutput$ConsumedCapacityUnits": null - } - }, - "CreateTableInput": { - "base": null, - "refs": { - } - }, - "CreateTableOutput": { - "base": null, - "refs": { - } - }, - "Date": { - "base": null, - "refs": { - "ProvisionedThroughputDescription$LastIncreaseDateTime": null, - "ProvisionedThroughputDescription$LastDecreaseDateTime": null, - "TableDescription$CreationDateTime": null - } - }, - "DeleteItemInput": { - "base": null, - "refs": { - } - }, - "DeleteItemOutput": { - "base": null, - "refs": { - } - }, - "DeleteRequest": { - "base": "

A container for a Delete BatchWrite request

", - "refs": { - "WriteRequest$DeleteRequest": null - } - }, - "DeleteTableInput": { - "base": null, - "refs": { - } - }, - "DeleteTableOutput": { - "base": null, - "refs": { - } - }, - "DescribeTableInput": { - "base": null, - "refs": { - } - }, - "DescribeTableOutput": { - "base": null, - "refs": { - } - }, - "ErrorMessage": { - "base": null, - "refs": { - "ConditionalCheckFailedException$message": null, - "InternalServerError$message": null, - "LimitExceededException$message": null, - "ProvisionedThroughputExceededException$message": null, - "ResourceInUseException$message": null, - "ResourceNotFoundException$message": null - } - }, - "ExpectedAttributeMap": { - "base": "

Designates an attribute for a conditional modification. The Expected parameter allows you to provide an attribute name, and whether or not Amazon DynamoDB should check to see if the attribute has a particular value before modifying it.

", - "refs": { - "DeleteItemInput$Expected": null, - "PutItemInput$Expected": null, - "UpdateItemInput$Expected": null - } - }, - "ExpectedAttributeValue": { - "base": "

Allows you to provide an attribute name, and whether or not Amazon DynamoDB should check to see if the attribute value already exists; or if the attribute value exists and has a particular value before changing it.

", - "refs": { - "ExpectedAttributeMap$value": null - } - }, - "FilterConditionMap": { - "base": null, - "refs": { - "ScanInput$ScanFilter": "

Evaluates the scan results and returns only the desired values.

" - } - }, - "GetItemInput": { - "base": null, - "refs": { - } - }, - "GetItemOutput": { - "base": null, - "refs": { - } - }, - "Integer": { - "base": null, - "refs": { - "QueryOutput$Count": "

Number of items in the response.

", - "ScanOutput$Count": "

Number of items in the response.

", - "ScanOutput$ScannedCount": "

Number of items in the complete scan before any filters are applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Scan operation.

" - } - }, - "InternalServerError": { - "base": "

This exception is thrown when the service has a problem when trying to process the request.

", - "refs": { - } - }, - "ItemList": { - "base": null, - "refs": { - "BatchResponse$Items": null, - "QueryOutput$Items": null, - "ScanOutput$Items": null - } - }, - "Key": { - "base": "

The primary key that uniquely identifies each item in a table. A primary key can be a one attribute (hash) primary key or a two attribute (hash-and-range) primary key.

", - "refs": { - "DeleteItemInput$Key": null, - "DeleteRequest$Key": "

The item's key to be delete

", - "GetItemInput$Key": null, - "KeyList$member": null, - "QueryInput$ExclusiveStartKey": "

Primary key of the item from which to continue an earlier query. An earlier query might provide this value as the LastEvaluatedKey if that query operation was interrupted before completing the query; either because of the result set size or the Limit parameter. The LastEvaluatedKey can be passed back in a new query request to continue the operation from that point.

", - "QueryOutput$LastEvaluatedKey": "

Primary key of the item where the query operation stopped, inclusive of the previous result set. Use this value to start a new operation excluding this value in the new request. The LastEvaluatedKey is null when the entire query result set is complete (i.e. the operation processed the \"last page\").

", - "ScanInput$ExclusiveStartKey": "

Primary key of the item from which to continue an earlier scan. An earlier scan might provide this value if that scan operation was interrupted before scanning the entire table; either because of the result set size or the Limit parameter. The LastEvaluatedKey can be passed back in a new scan request to continue the operation from that point.

", - "ScanOutput$LastEvaluatedKey": "

Primary key of the item where the scan operation stopped. Provide this value in a subsequent scan operation to continue the operation from that point. The LastEvaluatedKey is null when the entire scan result set is complete (i.e. the operation processed the \"last page\").

", - "UpdateItemInput$Key": null - } - }, - "KeyList": { - "base": null, - "refs": { - "KeysAndAttributes$Keys": null - } - }, - "KeySchema": { - "base": "

The KeySchema identifies the primary key as a one attribute primary key (hash) or a composite two attribute (hash-and-range) primary key. Single attribute primary keys have one index value: a HashKeyElement. A composite hash-and-range primary key contains two attribute values: a HashKeyElement and a RangeKeyElement.

", - "refs": { - "CreateTableInput$KeySchema": null, - "TableDescription$KeySchema": null - } - }, - "KeySchemaAttributeName": { - "base": null, - "refs": { - "KeySchemaElement$AttributeName": "

The AttributeName of the KeySchemaElement.

" - } - }, - "KeySchemaElement": { - "base": "

KeySchemaElement is the primary key (hash or hash-and-range) structure for the table.

", - "refs": { - "KeySchema$HashKeyElement": "

A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.

", - "KeySchema$RangeKeyElement": "

A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.

" - } - }, - "KeysAndAttributes": { - "base": null, - "refs": { - "BatchGetRequestMap$value": null - } - }, - "LimitExceededException": { - "base": "

This exception is thrown when the subscriber exceeded the limits on the number of objects or operations.

", - "refs": { - } - }, - "ListTablesInput": { - "base": null, - "refs": { - } - }, - "ListTablesInputLimit": { - "base": "

A number of maximum table names to return.

", - "refs": { - "ListTablesInput$Limit": null - } - }, - "ListTablesOutput": { - "base": null, - "refs": { - } - }, - "Long": { - "base": null, - "refs": { - "TableDescription$TableSizeBytes": null, - "TableDescription$ItemCount": null - } - }, - "NumberAttributeValue": { - "base": null, - "refs": { - "AttributeValue$N": "

Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.

", - "NumberSetAttributeValue$member": null - } - }, - "NumberSetAttributeValue": { - "base": null, - "refs": { - "AttributeValue$NS": "

A set of numbers.

" - } - }, - "PositiveIntegerObject": { - "base": null, - "refs": { - "QueryInput$Limit": "

The maximum number of items to return. If Amazon DynamoDB hits this limit while querying the table, it stops the query and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the query. Also, if the result set size exceeds 1MB before Amazon DynamoDB hits this limit, it stops the query and returns the matching values, and a LastEvaluatedKey to apply in a subsequent operation to continue the query.

", - "ScanInput$Limit": "

The maximum number of items to return. If Amazon DynamoDB hits this limit while scanning the table, it stops the scan and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the scan. Also, if the scanned data set size exceeds 1 MB before Amazon DynamoDB hits this limit, it stops the scan and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the scan.

" - } - }, - "PositiveLongObject": { - "base": null, - "refs": { - "ProvisionedThroughput$ReadCapacityUnits": "

ReadCapacityUnits are in terms of strictly consistent reads, assuming items of 1k. 2k items require twice the ReadCapacityUnits. Eventually-consistent reads only require half the ReadCapacityUnits of stirctly consistent reads.

", - "ProvisionedThroughput$WriteCapacityUnits": "

WriteCapacityUnits are in terms of strictly consistent reads, assuming items of 1k. 2k items require twice the WriteCapacityUnits.

", - "ProvisionedThroughputDescription$NumberOfDecreasesToday": null, - "ProvisionedThroughputDescription$ReadCapacityUnits": null, - "ProvisionedThroughputDescription$WriteCapacityUnits": null - } - }, - "ProvisionedThroughput": { - "base": "

Provisioned throughput reserves the required read and write resources for your table in terms of ReadCapacityUnits and WriteCapacityUnits. Values for provisioned throughput depend upon your expected read/write rates, item size, and consistency. Provide the expected number of read and write operations, assuming an item size of 1k and strictly consistent reads. For 2k item size, double the value. For 3k, triple the value, etc. Eventually-consistent reads consume half the resources of strictly consistent reads.

", - "refs": { - "CreateTableInput$ProvisionedThroughput": null, - "UpdateTableInput$ProvisionedThroughput": null - } - }, - "ProvisionedThroughputDescription": { - "base": null, - "refs": { - "TableDescription$ProvisionedThroughput": null - } - }, - "ProvisionedThroughputExceededException": { - "base": "

This exception is thrown when the level of provisioned throughput defined for the table is exceeded.

", - "refs": { - } - }, - "PutItemInput": { - "base": null, - "refs": { - } - }, - "PutItemInputAttributeMap": { - "base": "

A map of the attributes for the item, and must include the primary key values that define the item. Other attribute name-value pairs can be provided for the item.

", - "refs": { - "PutItemInput$Item": null, - "PutRequest$Item": "

The item to put

" - } - }, - "PutItemOutput": { - "base": null, - "refs": { - } - }, - "PutRequest": { - "base": "

A container for a Put BatchWrite request

", - "refs": { - "WriteRequest$PutRequest": null - } - }, - "QueryInput": { - "base": null, - "refs": { - } - }, - "QueryOutput": { - "base": null, - "refs": { - } - }, - "ResourceInUseException": { - "base": "

This exception is thrown when the resource which is being attempted to be changed is in use.

", - "refs": { - } - }, - "ResourceNotFoundException": { - "base": "

This exception is thrown when the resource which is being attempted to be changed is in use.

", - "refs": { - } - }, - "ReturnValue": { - "base": "

Use this parameter if you want to get the attribute name-value pairs before or after they are modified. For PUT operations, the possible parameter values are NONE (default) or ALL_OLD. For update operations, the possible parameter values are NONE (default) or ALL_OLD, UPDATED_OLD, ALL_NEW or UPDATED_NEW.

", - "refs": { - "DeleteItemInput$ReturnValues": null, - "PutItemInput$ReturnValues": null, - "UpdateItemInput$ReturnValues": null - } - }, - "ScalarAttributeType": { - "base": null, - "refs": { - "KeySchemaElement$AttributeType": "

The AttributeType of the KeySchemaElement which can be a String or a Number.

" - } - }, - "ScanInput": { - "base": null, - "refs": { - } - }, - "ScanOutput": { - "base": null, - "refs": { - } - }, - "String": { - "base": null, - "refs": { - "FilterConditionMap$key": null - } - }, - "StringAttributeValue": { - "base": null, - "refs": { - "AttributeValue$S": "

Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).

", - "StringSetAttributeValue$member": null - } - }, - "StringSetAttributeValue": { - "base": null, - "refs": { - "AttributeValue$SS": "

A set of strings.

" - } - }, - "TableDescription": { - "base": null, - "refs": { - "CreateTableOutput$TableDescription": null, - "DeleteTableOutput$TableDescription": null, - "DescribeTableOutput$Table": null, - "UpdateTableOutput$TableDescription": null - } - }, - "TableName": { - "base": null, - "refs": { - "BatchGetRequestMap$key": null, - "BatchGetResponseMap$key": null, - "BatchWriteItemRequestMap$key": null, - "BatchWriteResponseMap$key": null, - "CreateTableInput$TableName": "

The name of the table you want to create. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).

", - "DeleteItemInput$TableName": "

The name of the table in which you want to delete an item. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).

", - "DeleteTableInput$TableName": "

The name of the table you want to delete. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).

", - "DescribeTableInput$TableName": "

The name of the table you want to describe. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).

", - "GetItemInput$TableName": "

The name of the table in which you want to get an item. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).

", - "ListTablesInput$ExclusiveStartTableName": "

The name of the table that starts the list. If you already ran a ListTables operation and received a LastEvaluatedTableName value in the response, use that value here to continue the list.

", - "ListTablesOutput$LastEvaluatedTableName": "

The name of the last table in the current list. Use this value as the ExclusiveStartTableName in a new request to continue the list until all the table names are returned. If this value is null, all table names have been returned.

", - "PutItemInput$TableName": "

The name of the table in which you want to put an item. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).

", - "QueryInput$TableName": "

The name of the table in which you want to query. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).

", - "ScanInput$TableName": "

The name of the table in which you want to scan. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).

", - "TableDescription$TableName": "

The name of the table being described.

", - "TableNameList$member": null, - "UpdateItemInput$TableName": "

The name of the table in which you want to update an item. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).

", - "UpdateTableInput$TableName": "

The name of the table you want to update. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).

" - } - }, - "TableNameList": { - "base": null, - "refs": { - "ListTablesOutput$TableNames": null - } - }, - "TableStatus": { - "base": null, - "refs": { - "TableDescription$TableStatus": null - } - }, - "UpdateItemInput": { - "base": null, - "refs": { - } - }, - "UpdateItemOutput": { - "base": null, - "refs": { - } - }, - "UpdateTableInput": { - "base": null, - "refs": { - } - }, - "UpdateTableOutput": { - "base": null, - "refs": { - } - }, - "WriteRequest": { - "base": "

This structure is a Union of PutRequest and DeleteRequest. It can contain exactly one of PutRequest or DeleteRequest. Never Both. This is enforced in the code.

", - "refs": { - "WriteRequests$member": null - } - }, - "WriteRequests": { - "base": null, - "refs": { - "BatchWriteItemRequestMap$value": null - } - } - } -} diff --git a/models/apis/dynamodb/2011-12-05/paginators-1.json b/models/apis/dynamodb/2011-12-05/paginators-1.json deleted file mode 100644 index 3037d662ada..00000000000 --- a/models/apis/dynamodb/2011-12-05/paginators-1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "pagination": { - "BatchGetItem": { - "input_token": "RequestItems", - "output_token": "UnprocessedKeys" - }, - "ListTables": { - "input_token": "ExclusiveStartTableName", - "limit_key": "Limit", - "output_token": "LastEvaluatedTableName", - "result_key": "TableNames" - }, - "Query": { - "input_token": "ExclusiveStartKey", - "limit_key": "Limit", - "output_token": "LastEvaluatedKey", - "result_key": "Items" - }, - "Scan": { - "input_token": "ExclusiveStartKey", - "limit_key": "Limit", - "output_token": "LastEvaluatedKey", - "result_key": "Items" - } - } -} \ No newline at end of file diff --git a/models/apis/dynamodb/2011-12-05/waiters-2.json b/models/apis/dynamodb/2011-12-05/waiters-2.json deleted file mode 100644 index 43a55ca7bd9..00000000000 --- a/models/apis/dynamodb/2011-12-05/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/models/apis/dynamodb/2012-08-10/api-2.json b/models/apis/dynamodb/2012-08-10/api-2.json index 9694584045e..cf9dc43b7b7 100644 --- a/models/apis/dynamodb/2012-08-10/api-2.json +++ b/models/apis/dynamodb/2012-08-10/api-2.json @@ -173,6 +173,19 @@ {"shape":"GlobalTableNotFoundException"} ] }, + "DescribeGlobalTableSettings":{ + "name":"DescribeGlobalTableSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGlobalTableSettingsInput"}, + "output":{"shape":"DescribeGlobalTableSettingsOutput"}, + "errors":[ + {"shape":"GlobalTableNotFoundException"}, + {"shape":"InternalServerError"} + ] + }, "DescribeLimits":{ "name":"DescribeLimits", "http":{ @@ -321,6 +334,24 @@ {"shape":"InternalServerError"} ] }, + "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"} + ] + }, "Scan":{ "name":"Scan", "http":{ @@ -363,6 +394,20 @@ {"shape":"ResourceInUseException"} ] }, + "UpdateContinuousBackups":{ + "name":"UpdateContinuousBackups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateContinuousBackupsInput"}, + "output":{"shape":"UpdateContinuousBackupsOutput"}, + "errors":[ + {"shape":"TableNotFoundException"}, + {"shape":"ContinuousBackupsUnavailableException"}, + {"shape":"InternalServerError"} + ] + }, "UpdateGlobalTable":{ "name":"UpdateGlobalTable", "http":{ @@ -379,6 +424,23 @@ {"shape":"TableNotFoundException"} ] }, + "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"} + ] + }, "UpdateItem":{ "name":"UpdateItem", "http":{ @@ -495,6 +557,77 @@ "Action":{"shape":"AttributeAction"} } }, + "AutoScalingPolicyDescription":{ + "type":"structure", + "members":{ + "PolicyName":{"shape":"AutoScalingPolicyName"}, + "TargetTrackingScalingPolicyConfiguration":{"shape":"AutoScalingTargetTrackingScalingPolicyConfigurationDescription"} + } + }, + "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"}, + "TargetTrackingScalingPolicyConfiguration":{"shape":"AutoScalingTargetTrackingScalingPolicyConfigurationUpdate"} + } + }, + "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"}, + "MaximumUnits":{"shape":"PositiveLongObject"}, + "AutoScalingDisabled":{"shape":"BooleanObject"}, + "AutoScalingRoleArn":{"shape":"String"}, + "ScalingPolicies":{"shape":"AutoScalingPolicyDescriptionList"} + } + }, + "AutoScalingSettingsUpdate":{ + "type":"structure", + "members":{ + "MinimumUnits":{"shape":"PositiveLongObject"}, + "MaximumUnits":{"shape":"PositiveLongObject"}, + "AutoScalingDisabled":{"shape":"BooleanObject"}, + "AutoScalingRoleArn":{"shape":"AutoScalingRoleArn"}, + "ScalingPolicyUpdate":{"shape":"AutoScalingPolicyUpdate"} + } + }, + "AutoScalingTargetTrackingScalingPolicyConfigurationDescription":{ + "type":"structure", + "required":["TargetValue"], + "members":{ + "DisableScaleIn":{"shape":"BooleanObject"}, + "ScaleInCooldown":{"shape":"IntegerObject"}, + "ScaleOutCooldown":{"shape":"IntegerObject"}, + "TargetValue":{"shape":"Double"} + } + }, + "AutoScalingTargetTrackingScalingPolicyConfigurationUpdate":{ + "type":"structure", + "required":["TargetValue"], + "members":{ + "DisableScaleIn":{"shape":"BooleanObject"}, + "ScaleInCooldown":{"shape":"IntegerObject"}, + "ScaleOutCooldown":{"shape":"IntegerObject"}, + "TargetValue":{"shape":"Double"} + } + }, "Backfilling":{"type":"boolean"}, "BackupArn":{ "type":"string", @@ -536,7 +669,8 @@ "BackupName":{ "type":"string", "max":255, - "min":3 + "min":3, + "pattern":"[a-zA-Z0-9_.-]+" }, "BackupNotFoundException":{ "type":"structure", @@ -705,7 +839,8 @@ "type":"structure", "required":["ContinuousBackupsStatus"], "members":{ - "ContinuousBackupsStatus":{"shape":"ContinuousBackupsStatus"} + "ContinuousBackupsStatus":{"shape":"ContinuousBackupsStatus"}, + "PointInTimeRecoveryDescription":{"shape":"PointInTimeRecoveryDescription"} } }, "ContinuousBackupsStatus":{ @@ -793,7 +928,8 @@ "LocalSecondaryIndexes":{"shape":"LocalSecondaryIndexList"}, "GlobalSecondaryIndexes":{"shape":"GlobalSecondaryIndexList"}, "ProvisionedThroughput":{"shape":"ProvisionedThroughput"}, - "StreamSpecification":{"shape":"StreamSpecification"} + "StreamSpecification":{"shape":"StreamSpecification"}, + "SSESpecification":{"shape":"SSESpecification"} } }, "CreateTableOutput":{ @@ -916,6 +1052,20 @@ "GlobalTableDescription":{"shape":"GlobalTableDescription"} } }, + "DescribeGlobalTableSettingsInput":{ + "type":"structure", + "required":["GlobalTableName"], + "members":{ + "GlobalTableName":{"shape":"TableName"} + } + }, + "DescribeGlobalTableSettingsOutput":{ + "type":"structure", + "members":{ + "GlobalTableName":{"shape":"TableName"}, + "ReplicaSettings":{"shape":"ReplicaSettingsDescriptionList"} + } + }, "DescribeLimitsInput":{ "type":"structure", "members":{ @@ -956,6 +1106,7 @@ "TimeToLiveDescription":{"shape":"TimeToLiveDescription"} } }, + "Double":{"type":"double"}, "ErrorMessage":{"type":"string"}, "ExpectedAttributeMap":{ "type":"map", @@ -1098,6 +1249,21 @@ "GlobalTableName":{"shape":"TableName"} } }, + "GlobalTableGlobalSecondaryIndexSettingsUpdate":{ + "type":"structure", + "required":["IndexName"], + "members":{ + "IndexName":{"shape":"IndexName"}, + "ProvisionedWriteCapacityUnits":{"shape":"PositiveLongObject"}, + "ProvisionedWriteCapacityAutoScalingSettingsUpdate":{"shape":"AutoScalingSettingsUpdate"} + } + }, + "GlobalTableGlobalSecondaryIndexSettingsUpdateList":{ + "type":"list", + "member":{"shape":"GlobalTableGlobalSecondaryIndexSettingsUpdate"}, + "max":20, + "min":1 + }, "GlobalTableList":{ "type":"list", "member":{"shape":"GlobalTable"} @@ -1124,6 +1290,13 @@ "min":3, "pattern":"[a-zA-Z0-9_.-]+" }, + "IndexNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "IndexStatus":{ "type":"string", "enum":[ @@ -1134,6 +1307,7 @@ ] }, "Integer":{"type":"integer"}, + "IntegerObject":{"type":"integer"}, "InternalServerError":{ "type":"structure", "members":{ @@ -1142,6 +1316,13 @@ "exception":true, "fault":true }, + "InvalidRestoreTimeException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "ItemCollectionKeyAttributeMap":{ "type":"map", "key":{"shape":"AttributeName"}, @@ -1183,6 +1364,7 @@ "type":"list", "member":{"shape":"AttributeMap"} }, + "KMSMasterKeyArn":{"type":"string"}, "Key":{ "type":"map", "key":{"shape":"AttributeName"}, @@ -1385,6 +1567,35 @@ "type":"list", "member":{"shape":"NumberAttributeValue"} }, + "PointInTimeRecoveryDescription":{ + "type":"structure", + "members":{ + "PointInTimeRecoveryStatus":{"shape":"PointInTimeRecoveryStatus"}, + "EarliestRestorableDateTime":{"shape":"Date"}, + "LatestRestorableDateTime":{"shape":"Date"} + } + }, + "PointInTimeRecoverySpecification":{ + "type":"structure", + "required":["PointInTimeRecoveryEnabled"], + "members":{ + "PointInTimeRecoveryEnabled":{"shape":"BooleanObject"} + } + }, + "PointInTimeRecoveryStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "PointInTimeRecoveryUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "PositiveIntegerObject":{ "type":"integer", "min":1 @@ -1533,6 +1744,37 @@ "type":"list", "member":{"shape":"ReplicaDescription"} }, + "ReplicaGlobalSecondaryIndexSettingsDescription":{ + "type":"structure", + "required":["IndexName"], + "members":{ + "IndexName":{"shape":"IndexName"}, + "IndexStatus":{"shape":"IndexStatus"}, + "ProvisionedReadCapacityUnits":{"shape":"PositiveLongObject"}, + "ProvisionedReadCapacityAutoScalingSettings":{"shape":"AutoScalingSettingsDescription"}, + "ProvisionedWriteCapacityUnits":{"shape":"PositiveLongObject"}, + "ProvisionedWriteCapacityAutoScalingSettings":{"shape":"AutoScalingSettingsDescription"} + } + }, + "ReplicaGlobalSecondaryIndexSettingsDescriptionList":{ + "type":"list", + "member":{"shape":"ReplicaGlobalSecondaryIndexSettingsDescription"} + }, + "ReplicaGlobalSecondaryIndexSettingsUpdate":{ + "type":"structure", + "required":["IndexName"], + "members":{ + "IndexName":{"shape":"IndexName"}, + "ProvisionedReadCapacityUnits":{"shape":"PositiveLongObject"}, + "ProvisionedReadCapacityAutoScalingSettingsUpdate":{"shape":"AutoScalingSettingsUpdate"} + } + }, + "ReplicaGlobalSecondaryIndexSettingsUpdateList":{ + "type":"list", + "member":{"shape":"ReplicaGlobalSecondaryIndexSettingsUpdate"}, + "max":20, + "min":1 + }, "ReplicaList":{ "type":"list", "member":{"shape":"Replica"} @@ -1544,6 +1786,48 @@ }, "exception":true }, + "ReplicaSettingsDescription":{ + "type":"structure", + "required":["RegionName"], + "members":{ + "RegionName":{"shape":"RegionName"}, + "ReplicaStatus":{"shape":"ReplicaStatus"}, + "ReplicaProvisionedReadCapacityUnits":{"shape":"PositiveLongObject"}, + "ReplicaProvisionedReadCapacityAutoScalingSettings":{"shape":"AutoScalingSettingsDescription"}, + "ReplicaProvisionedWriteCapacityUnits":{"shape":"PositiveLongObject"}, + "ReplicaProvisionedWriteCapacityAutoScalingSettings":{"shape":"AutoScalingSettingsDescription"}, + "ReplicaGlobalSecondaryIndexSettings":{"shape":"ReplicaGlobalSecondaryIndexSettingsDescriptionList"} + } + }, + "ReplicaSettingsDescriptionList":{ + "type":"list", + "member":{"shape":"ReplicaSettingsDescription"} + }, + "ReplicaSettingsUpdate":{ + "type":"structure", + "required":["RegionName"], + "members":{ + "RegionName":{"shape":"RegionName"}, + "ReplicaProvisionedReadCapacityUnits":{"shape":"PositiveLongObject"}, + "ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate":{"shape":"AutoScalingSettingsUpdate"}, + "ReplicaGlobalSecondaryIndexSettingsUpdate":{"shape":"ReplicaGlobalSecondaryIndexSettingsUpdateList"} + } + }, + "ReplicaSettingsUpdateList":{ + "type":"list", + "member":{"shape":"ReplicaSettingsUpdate"}, + "max":50, + "min":1 + }, + "ReplicaStatus":{ + "type":"string", + "enum":[ + "CREATING", + "UPDATING", + "DELETING", + "ACTIVE" + ] + }, "ReplicaUpdate":{ "type":"structure", "members":{ @@ -1574,7 +1858,6 @@ }, "exception":true }, - "RestoreDateTime":{"type":"timestamp"}, "RestoreInProgress":{"type":"boolean"}, "RestoreSummary":{ "type":"structure", @@ -1585,7 +1868,7 @@ "members":{ "SourceBackupArn":{"shape":"BackupArn"}, "SourceTableArn":{"shape":"TableArn"}, - "RestoreDateTime":{"shape":"RestoreDateTime"}, + "RestoreDateTime":{"shape":"Date"}, "RestoreInProgress":{"shape":"RestoreInProgress"} } }, @@ -1606,6 +1889,25 @@ "TableDescription":{"shape":"TableDescription"} } }, + "RestoreTableToPointInTimeInput":{ + "type":"structure", + "required":[ + "SourceTableName", + "TargetTableName" + ], + "members":{ + "SourceTableName":{"shape":"TableName"}, + "TargetTableName":{"shape":"TableName"}, + "UseLatestRestorableTime":{"shape":"BooleanObject"}, + "RestoreDateTime":{"shape":"Date"} + } + }, + "RestoreTableToPointInTimeOutput":{ + "type":"structure", + "members":{ + "TableDescription":{"shape":"TableDescription"} + } + }, "ReturnConsumedCapacity":{ "type":"string", "enum":[ @@ -1631,6 +1933,38 @@ "UPDATED_NEW" ] }, + "SSEDescription":{ + "type":"structure", + "members":{ + "Status":{"shape":"SSEStatus"}, + "SSEType":{"shape":"SSEType"}, + "KMSMasterKeyArn":{"shape":"KMSMasterKeyArn"} + } + }, + "SSEEnabled":{"type":"boolean"}, + "SSESpecification":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Enabled":{"shape":"SSEEnabled"} + } + }, + "SSEStatus":{ + "type":"string", + "enum":[ + "ENABLING", + "ENABLED", + "DISABLING", + "DISABLED" + ] + }, + "SSEType":{ + "type":"string", + "enum":[ + "AES256", + "KMS" + ] + }, "ScalarAttributeType":{ "type":"string", "enum":[ @@ -1721,7 +2055,8 @@ "LocalSecondaryIndexes":{"shape":"LocalSecondaryIndexes"}, "GlobalSecondaryIndexes":{"shape":"GlobalSecondaryIndexes"}, "StreamDescription":{"shape":"StreamSpecification"}, - "TimeToLiveDescription":{"shape":"TimeToLiveDescription"} + "TimeToLiveDescription":{"shape":"TimeToLiveDescription"}, + "SSEDescription":{"shape":"SSEDescription"} } }, "StreamArn":{ @@ -1779,7 +2114,8 @@ "StreamSpecification":{"shape":"StreamSpecification"}, "LatestStreamLabel":{"shape":"String"}, "LatestStreamArn":{"shape":"StreamArn"}, - "RestoreSummary":{"shape":"RestoreSummary"} + "RestoreSummary":{"shape":"RestoreSummary"}, + "SSEDescription":{"shape":"SSEDescription"} } }, "TableId":{ @@ -1905,6 +2241,23 @@ "TagKeys":{"shape":"TagKeyList"} } }, + "UpdateContinuousBackupsInput":{ + "type":"structure", + "required":[ + "TableName", + "PointInTimeRecoverySpecification" + ], + "members":{ + "TableName":{"shape":"TableName"}, + "PointInTimeRecoverySpecification":{"shape":"PointInTimeRecoverySpecification"} + } + }, + "UpdateContinuousBackupsOutput":{ + "type":"structure", + "members":{ + "ContinuousBackupsDescription":{"shape":"ContinuousBackupsDescription"} + } + }, "UpdateExpression":{"type":"string"}, "UpdateGlobalSecondaryIndexAction":{ "type":"structure", @@ -1934,6 +2287,24 @@ "GlobalTableDescription":{"shape":"GlobalTableDescription"} } }, + "UpdateGlobalTableSettingsInput":{ + "type":"structure", + "required":["GlobalTableName"], + "members":{ + "GlobalTableName":{"shape":"TableName"}, + "GlobalTableProvisionedWriteCapacityUnits":{"shape":"PositiveLongObject"}, + "GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate":{"shape":"AutoScalingSettingsUpdate"}, + "GlobalTableGlobalSecondaryIndexSettingsUpdate":{"shape":"GlobalTableGlobalSecondaryIndexSettingsUpdateList"}, + "ReplicaSettingsUpdate":{"shape":"ReplicaSettingsUpdateList"} + } + }, + "UpdateGlobalTableSettingsOutput":{ + "type":"structure", + "members":{ + "GlobalTableName":{"shape":"TableName"}, + "ReplicaSettings":{"shape":"ReplicaSettingsDescriptionList"} + } + }, "UpdateItemInput":{ "type":"structure", "required":[ diff --git a/models/apis/dynamodb/2012-08-10/docs-2.json b/models/apis/dynamodb/2012-08-10/docs-2.json index 757f2535bef..5953f1e99ed 100644 --- a/models/apis/dynamodb/2012-08-10/docs-2.json +++ b/models/apis/dynamodb/2012-08-10/docs-2.json @@ -3,31 +3,35 @@ "service": "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.

", "operations": { "BatchGetItem": "

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.

", - "BatchWriteItem": "

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:

", - "CreateBackup": "

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.

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. This results in a fast, low-cost, and scalable backup process. In general, the larger the table, the more time it takes to back up. The backup is stored in an S3 data store that is maintained and managed by DynamoDB.

Backups incorporate all writes (delete, put, update) that were completed within the last minute before the backup request was initiated. Backups might include some writes (delete, put, update) that were completed before the backup request was finished.

For example, if you submit the 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:

", - "CreateGlobalTable": "

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.

Tables can only be added as the replicas of a global table group under the following conditions:

", + "BatchWriteItem": "

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:

", + "CreateBackup": "

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:

", + "CreateGlobalTable": "

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:

If global secondary indexes are specified, then the following conditions must also be met:

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.

", "CreateTable": "

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.

", "DeleteBackup": "

Deletes an existing backup of a table.

You can call DeleteBackup at a maximum rate of 10 times per second.

", "DeleteItem": "

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.

", "DeleteTable": "

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.

", "DescribeBackup": "

Describes an existing backup of a table.

You can call DescribeBackup at a maximum rate of 10 times per second.

", - "DescribeContinuousBackups": "

Checks the status of the backup restore settings on the specified table. If backups are enabled, ContinuousBackupsStatus will bet set to ENABLED.

You can call DescribeContinuousBackups at a maximum rate of 10 times per second.

", - "DescribeGlobalTable": "

Returns information about the global table.

", + "DescribeContinuousBackups": "

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.

", + "DescribeGlobalTable": "

Returns information about the specified global table.

", + "DescribeGlobalTableSettings": "

Describes region specific settings for a global table.

", "DescribeLimits": "

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.

", "DescribeTable": "

Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.

If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again.

", "DescribeTimeToLive": "

Gives a description of the Time to Live (TTL) status on the specified table.

", "GetItem": "

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.

", "ListBackups": "

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.

", - "ListGlobalTables": "

Lists all the global tables. Only those global tables that have replicas in the region specified as input are returned.

", + "ListGlobalTables": "

Lists all global tables that have a replica in the specified region.

", "ListTables": "

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.

", "ListTagsOfResource": "

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.

", "PutItem": "

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.

", "Query": "

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.

", - "RestoreTableFromBackup": "

Creates a new table from an existing backup. Any number of users can execute up to 10 concurrent restores 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:

", + "RestoreTableFromBackup": "

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:

", + "RestoreTableToPointInTime": "

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:

You must manually set up the following on the restored table:

", "Scan": "

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.

", "TagResource": "

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.

", "UntagResource": "

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.

", - "UpdateGlobalTable": "

Adds or removes replicas to the specified global table. The global table should already exist to be able to use this operation. Currently, the replica to be added should be empty.

", + "UpdateContinuousBackups": "

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..

", + "UpdateGlobalTable": "

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:

", + "UpdateGlobalTableSettings": "

Updates settings for a global table.

", "UpdateItem": "

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.

", "UpdateTable": "

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:

UpdateTable is an asynchronous operation; while it is executing, the table status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

", "UpdateTimeToLive": "

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.

" @@ -99,7 +103,7 @@ "refs": { "AttributeMap$value": null, "AttributeValueList$member": null, - "AttributeValueUpdate$Value": "

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.

", + "AttributeValueUpdate$Value": "

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.

", "ExpectedAttributeValue$Value": "

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.

", "ExpressionAttributeValueMap$value": null, "ItemCollectionKeyAttributeMap$value": null, @@ -122,6 +126,67 @@ "AttributeUpdates$value": null } }, + "AutoScalingPolicyDescription": { + "base": "

Represents the properties of the scaling policy.

", + "refs": { + "AutoScalingPolicyDescriptionList$member": null + } + }, + "AutoScalingPolicyDescriptionList": { + "base": null, + "refs": { + "AutoScalingSettingsDescription$ScalingPolicies": "

Information about the scaling policies.

" + } + }, + "AutoScalingPolicyName": { + "base": null, + "refs": { + "AutoScalingPolicyDescription$PolicyName": "

The name of the scaling policy.

", + "AutoScalingPolicyUpdate$PolicyName": "

The name of the scaling policy.

" + } + }, + "AutoScalingPolicyUpdate": { + "base": "

Represents the autoscaling policy to be modified.

", + "refs": { + "AutoScalingSettingsUpdate$ScalingPolicyUpdate": "

The scaling policy to apply for scaling target global table or global secondary index capacity units.

" + } + }, + "AutoScalingRoleArn": { + "base": null, + "refs": { + "AutoScalingSettingsUpdate$AutoScalingRoleArn": "

Role ARN used for configuring autoscaling policy.

" + } + }, + "AutoScalingSettingsDescription": { + "base": "

Represents the autoscaling settings for a global table or global secondary index.

", + "refs": { + "ReplicaGlobalSecondaryIndexSettingsDescription$ProvisionedReadCapacityAutoScalingSettings": "

Autoscaling settings for a global secondary index replica's read capacity units.

", + "ReplicaGlobalSecondaryIndexSettingsDescription$ProvisionedWriteCapacityAutoScalingSettings": "

AutoScaling settings for a global secondary index replica's write capacity units.

", + "ReplicaSettingsDescription$ReplicaProvisionedReadCapacityAutoScalingSettings": "

Autoscaling settings for a global table replica's read capacity units.

", + "ReplicaSettingsDescription$ReplicaProvisionedWriteCapacityAutoScalingSettings": "

AutoScaling settings for a global table replica's write capacity units.

" + } + }, + "AutoScalingSettingsUpdate": { + "base": "

Represents the autoscaling settings to be modified for a global table or global secondary index.

", + "refs": { + "GlobalTableGlobalSecondaryIndexSettingsUpdate$ProvisionedWriteCapacityAutoScalingSettingsUpdate": "

AutoScaling settings for managing a global secondary index's write capacity units.

", + "ReplicaGlobalSecondaryIndexSettingsUpdate$ProvisionedReadCapacityAutoScalingSettingsUpdate": "

Autoscaling settings for managing a global secondary index replica's read capacity units.

", + "ReplicaSettingsUpdate$ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate": "

Autoscaling settings for managing a global table replica's read capacity units.

", + "UpdateGlobalTableSettingsInput$GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate": "

AutoScaling settings for managing provisioned write capacity for the global table.

" + } + }, + "AutoScalingTargetTrackingScalingPolicyConfigurationDescription": { + "base": "

Represents the properties of a target tracking scaling policy.

", + "refs": { + "AutoScalingPolicyDescription$TargetTrackingScalingPolicyConfiguration": "

Represents a target tracking scaling policy configuration.

" + } + }, + "AutoScalingTargetTrackingScalingPolicyConfigurationUpdate": { + "base": "

Represents the settings of a target tracking scaling policy that will be modified.

", + "refs": { + "AutoScalingPolicyUpdate$TargetTrackingScalingPolicyConfiguration": "

Represents a target tracking scaling policy configuration.

" + } + }, "Backfilling": { "base": null, "refs": { @@ -135,8 +200,8 @@ "BackupSummary$BackupArn": "

ARN associated with the backup.

", "DeleteBackupInput$BackupArn": "

The ARN associated with the backup.

", "DescribeBackupInput$BackupArn": "

The ARN associated with the backup.

", - "ListBackupsInput$ExclusiveStartBackupArn": "

LastEvaluatedBackupARN returned by the previous ListBackups call.

", - "ListBackupsOutput$LastEvaluatedBackupArn": "

Last evaluated BackupARN.

", + "ListBackupsInput$ExclusiveStartBackupArn": "

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.

", + "ListBackupsOutput$LastEvaluatedBackupArn": "

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.

", "RestoreSummary$SourceBackupArn": "

ARN of the backup from which the table was restored.

", "RestoreTableFromBackupInput$BackupArn": "

The ARN associated with the backup.

" } @@ -274,8 +339,14 @@ "BooleanObject": { "base": null, "refs": { + "AutoScalingSettingsDescription$AutoScalingDisabled": "

Disabled autoscaling for this global table or global secondary index.

", + "AutoScalingSettingsUpdate$AutoScalingDisabled": "

Disabled autoscaling for this global table or global secondary index.

", + "AutoScalingTargetTrackingScalingPolicyConfigurationDescription$DisableScaleIn": "

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.

", + "AutoScalingTargetTrackingScalingPolicyConfigurationUpdate$DisableScaleIn": "

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.

", "ExpectedAttributeValue$Exists": "

Causes DynamoDB to evaluate the value before attempting a conditional operation:

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:

", - "QueryInput$ScanIndexForward": "

Specifies the order for index traversal: If true (default), the traversal is performed in ascending order; if false, the traversal is performed in descending order.

Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of ASCII character code values. For type Binary, DynamoDB treats each byte of the binary data as unsigned.

If ScanIndexForward is true, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If ScanIndexForward is false, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.

" + "PointInTimeRecoverySpecification$PointInTimeRecoveryEnabled": "

Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.

", + "QueryInput$ScanIndexForward": "

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.

", + "RestoreTableToPointInTimeInput$UseLatestRestorableTime": "

Restore the table to the latest possible time. LatestRestorableDateTime is typically 5 minutes before the current time.

" } }, "Capacity": { @@ -360,15 +431,16 @@ } }, "ContinuousBackupsDescription": { - "base": "

Represents the backup and restore settings on the table when the backup was created.

", + "base": "

Represents the continuous backups and point in time recovery settings on the table.

", "refs": { - "DescribeContinuousBackupsOutput$ContinuousBackupsDescription": "

ContinuousBackupsDescription can be one of the following : ENABLED, DISABLED.

" + "DescribeContinuousBackupsOutput$ContinuousBackupsDescription": "

Represents the continuous backups and point in time recovery settings on the table.

", + "UpdateContinuousBackupsOutput$ContinuousBackupsDescription": "

Represents the continuous backups and point in time recovery settings on the table.

" } }, "ContinuousBackupsStatus": { "base": null, "refs": { - "ContinuousBackupsDescription$ContinuousBackupsStatus": "

ContinuousBackupsStatus can be one of the following states : ENABLED, DISABLED

" + "ContinuousBackupsDescription$ContinuousBackupsStatus": "

ContinuousBackupsStatus can be one of the following states : ENABLED, DISABLED

" } }, "ContinuousBackupsUnavailableException": { @@ -422,8 +494,12 @@ "base": null, "refs": { "GlobalTableDescription$CreationDateTime": "

The creation time of the global table.

", + "PointInTimeRecoveryDescription$EarliestRestorableDateTime": "

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.

", + "PointInTimeRecoveryDescription$LatestRestorableDateTime": "

LatestRestorableDateTime is typically 5 minutes before the current time.

", "ProvisionedThroughputDescription$LastIncreaseDateTime": "

The date and time of the last provisioned throughput increase for this table.

", "ProvisionedThroughputDescription$LastDecreaseDateTime": "

The date and time of the last provisioned throughput decrease for this table.

", + "RestoreSummary$RestoreDateTime": "

Point in time or source backup time.

", + "RestoreTableToPointInTimeInput$RestoreDateTime": "

Time in the past to restore the table to.

", "TableDescription$CreationDateTime": "

The date and time when the table was created, in UNIX epoch time format.

" } }, @@ -505,6 +581,16 @@ "refs": { } }, + "DescribeGlobalTableSettingsInput": { + "base": null, + "refs": { + } + }, + "DescribeGlobalTableSettingsOutput": { + "base": null, + "refs": { + } + }, "DescribeLimitsInput": { "base": "

Represents the input of a DescribeLimits operation. Has no content.

", "refs": { @@ -535,6 +621,13 @@ "refs": { } }, + "Double": { + "base": null, + "refs": { + "AutoScalingTargetTrackingScalingPolicyConfigurationDescription$TargetValue": "

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).

", + "AutoScalingTargetTrackingScalingPolicyConfigurationUpdate$TargetValue": "

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).

" + } + }, "ErrorMessage": { "base": null, "refs": { @@ -544,9 +637,12 @@ "ContinuousBackupsUnavailableException$message": null, "GlobalTableAlreadyExistsException$message": null, "GlobalTableNotFoundException$message": null, + "IndexNotFoundException$message": null, "InternalServerError$message": "

The server encountered an internal error trying to fulfill the request.

", + "InvalidRestoreTimeException$message": null, "ItemCollectionSizeLimitExceededException$message": "

The total size of an item collection has exceeded the maximum limit of 10 gigabytes.

", "LimitExceededException$message": "

Too many operations for a given subscriber.

", + "PointInTimeRecoveryUnavailableException$message": null, "ProvisionedThroughputExceededException$message": "

You exceeded your maximum allowed provisioned throughput.

", "ReplicaAlreadyExistsException$message": null, "ReplicaNotFoundException$message": null, @@ -695,6 +791,18 @@ "UpdateGlobalTableOutput$GlobalTableDescription": "

Contains the details of the global table.

" } }, + "GlobalTableGlobalSecondaryIndexSettingsUpdate": { + "base": "

Represents the settings of a global secondary index for a global table that will be modified.

", + "refs": { + "GlobalTableGlobalSecondaryIndexSettingsUpdateList$member": null + } + }, + "GlobalTableGlobalSecondaryIndexSettingsUpdateList": { + "base": null, + "refs": { + "UpdateGlobalTableSettingsInput$GlobalTableGlobalSecondaryIndexSettingsUpdate": "

Represents the settings of a global secondary index for a global table that will be modified.

" + } + }, "GlobalTableList": { "base": null, "refs": { @@ -720,19 +828,28 @@ "GlobalSecondaryIndex$IndexName": "

The name of the global secondary index. The name must be unique among all other indexes on this table.

", "GlobalSecondaryIndexDescription$IndexName": "

The name of the global secondary index.

", "GlobalSecondaryIndexInfo$IndexName": "

The name of the global secondary index.

", + "GlobalTableGlobalSecondaryIndexSettingsUpdate$IndexName": "

The name of the global secondary index. The name must be unique among all other indexes on this table.

", "LocalSecondaryIndex$IndexName": "

The name of the local secondary index. The name must be unique among all other indexes on this table.

", "LocalSecondaryIndexDescription$IndexName": "

Represents the name of the local secondary index.

", "LocalSecondaryIndexInfo$IndexName": "

Represents the name of the local secondary index.

", "QueryInput$IndexName": "

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.

", + "ReplicaGlobalSecondaryIndexSettingsDescription$IndexName": "

The name of the global secondary index. The name must be unique among all other indexes on this table.

", + "ReplicaGlobalSecondaryIndexSettingsUpdate$IndexName": "

The name of the global secondary index. The name must be unique among all other indexes on this table.

", "ScanInput$IndexName": "

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.

", "SecondaryIndexesCapacityMap$key": null, "UpdateGlobalSecondaryIndexAction$IndexName": "

The name of the global secondary index to be updated.

" } }, + "IndexNotFoundException": { + "base": "

The operation tried to access a nonexistent index.

", + "refs": { + } + }, "IndexStatus": { "base": null, "refs": { - "GlobalSecondaryIndexDescription$IndexStatus": "

The current state of the global secondary index:

" + "GlobalSecondaryIndexDescription$IndexStatus": "

The current state of the global secondary index:

", + "ReplicaGlobalSecondaryIndexSettingsDescription$IndexStatus": "

The current status of the global secondary index:

" } }, "Integer": { @@ -744,11 +861,25 @@ "ScanOutput$ScannedCount": "

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.

" } }, + "IntegerObject": { + "base": null, + "refs": { + "AutoScalingTargetTrackingScalingPolicyConfigurationDescription$ScaleInCooldown": "

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.

", + "AutoScalingTargetTrackingScalingPolicyConfigurationDescription$ScaleOutCooldown": "

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.

", + "AutoScalingTargetTrackingScalingPolicyConfigurationUpdate$ScaleInCooldown": "

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.

", + "AutoScalingTargetTrackingScalingPolicyConfigurationUpdate$ScaleOutCooldown": "

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.

" + } + }, "InternalServerError": { "base": "

An error occurred on the server side.

", "refs": { } }, + "InvalidRestoreTimeException": { + "base": "

An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime and LatestRestorableDateTime.

", + "refs": { + } + }, "ItemCollectionKeyAttributeMap": { "base": null, "refs": { @@ -807,6 +938,12 @@ "ScanOutput$Items": "

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.

" } }, + "KMSMasterKeyArn": { + "base": null, + "refs": { + "SSEDescription$KMSMasterKeyArn": "

The KMS master key ARN used for the KMS encryption.

" + } + }, "Key": { "base": null, "refs": { @@ -830,7 +967,7 @@ "KeyExpression": { "base": null, "refs": { - "QueryInput$KeyConditionExpression": "

The condition that specifies the key value(s) for items to be retrieved by the Query action.

The condition must perform an equality test on a single partition key value. The condition can also perform one of several comparison tests on a single sort key value. Query can use KeyConditionExpression to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values.

The partition key equality test is required, and must be specified in the following format:

partitionKeyName = :partitionkeyval

If you also want to provide a condition for the sort key, it must be combined using AND with the condition for the sort key. Following is an example, using the = comparison operator for the sort key:

partitionKeyName = :partitionkeyval AND sortKeyName = :sortkeyval

Valid comparisons for the sort key condition are as follows:

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:

To work around this, define a placeholder (such a #S) to represent the attribute name Size. KeyConditionExpression then is as follows:

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.

" + "QueryInput$KeyConditionExpression": "

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:

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:

To work around this, define a placeholder (such a #S) to represent the attribute name Size. KeyConditionExpression then is as follows:

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.

" } }, "KeyList": { @@ -880,7 +1017,7 @@ } }, "LimitExceededException": { - "base": "

The number of concurrent table requests (cumulative number of tables in the CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10.

Also, for tables with secondary indexes, only one of those tables can be in the CREATING state at any point in time. Do not attempt to create more than one such table simultaneously.

The total limit of tables in the ACTIVE state is 250.

", + "base": "

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.

", "refs": { } }, @@ -1028,6 +1165,29 @@ "AttributeValue$NS": "

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.

" } }, + "PointInTimeRecoveryDescription": { + "base": "

The description of the point in time settings applied to the table.

", + "refs": { + "ContinuousBackupsDescription$PointInTimeRecoveryDescription": "

The description of the point in time recovery settings applied to the table.

" + } + }, + "PointInTimeRecoverySpecification": { + "base": "

Represents the settings used to enable point in time recovery.

", + "refs": { + "UpdateContinuousBackupsInput$PointInTimeRecoverySpecification": "

Represents the settings used to enable point in time recovery.

" + } + }, + "PointInTimeRecoveryStatus": { + "base": null, + "refs": { + "PointInTimeRecoveryDescription$PointInTimeRecoveryStatus": "

The current state of point in time recovery:

" + } + }, + "PointInTimeRecoveryUnavailableException": { + "base": "

Point in time recovery has not yet been enabled for this source table.

", + "refs": { + } + }, "PositiveIntegerObject": { "base": null, "refs": { @@ -1039,15 +1199,27 @@ "PositiveLongObject": { "base": null, "refs": { + "AutoScalingSettingsDescription$MinimumUnits": "

The minimum capacity units that a global table or global secondary index should be scaled down to.

", + "AutoScalingSettingsDescription$MaximumUnits": "

The maximum capacity units that a global table or global secondary index should be scaled up to.

", + "AutoScalingSettingsUpdate$MinimumUnits": "

The minimum capacity units that a global table or global secondary index should be scaled down to.

", + "AutoScalingSettingsUpdate$MaximumUnits": "

The maximum capacity units that a global table or global secondary index should be scaled up to.

", "DescribeLimitsOutput$AccountMaxReadCapacityUnits": "

The maximum total read capacity units that your account allows you to provision across all of your tables in this region.

", "DescribeLimitsOutput$AccountMaxWriteCapacityUnits": "

The maximum total write capacity units that your account allows you to provision across all of your tables in this region.

", "DescribeLimitsOutput$TableMaxReadCapacityUnits": "

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).

", "DescribeLimitsOutput$TableMaxWriteCapacityUnits": "

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).

", + "GlobalTableGlobalSecondaryIndexSettingsUpdate$ProvisionedWriteCapacityUnits": "

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

", "ProvisionedThroughput$ReadCapacityUnits": "

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.

", "ProvisionedThroughput$WriteCapacityUnits": "

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.

", "ProvisionedThroughputDescription$NumberOfDecreasesToday": "

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.

", "ProvisionedThroughputDescription$ReadCapacityUnits": "

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.

", - "ProvisionedThroughputDescription$WriteCapacityUnits": "

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

" + "ProvisionedThroughputDescription$WriteCapacityUnits": "

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

", + "ReplicaGlobalSecondaryIndexSettingsDescription$ProvisionedReadCapacityUnits": "

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException.

", + "ReplicaGlobalSecondaryIndexSettingsDescription$ProvisionedWriteCapacityUnits": "

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

", + "ReplicaGlobalSecondaryIndexSettingsUpdate$ProvisionedReadCapacityUnits": "

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException.

", + "ReplicaSettingsDescription$ReplicaProvisionedReadCapacityUnits": "

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.

", + "ReplicaSettingsDescription$ReplicaProvisionedWriteCapacityUnits": "

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.

", + "ReplicaSettingsUpdate$ReplicaProvisionedReadCapacityUnits": "

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.

", + "UpdateGlobalTableSettingsInput$GlobalTableProvisionedWriteCapacityUnits": "

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

" } }, "Projection": { @@ -1141,7 +1313,9 @@ "DeleteReplicaAction$RegionName": "

The region of the replica to be removed.

", "ListGlobalTablesInput$RegionName": "

Lists the global tables in a specific region.

", "Replica$RegionName": "

The region where the replica needs to be created.

", - "ReplicaDescription$RegionName": "

The name of the region.

" + "ReplicaDescription$RegionName": "

The name of the region.

", + "ReplicaSettingsDescription$RegionName": "

The region name of the replica.

", + "ReplicaSettingsUpdate$RegionName": "

The region of the replica to be added.

" } }, "Replica": { @@ -1167,6 +1341,30 @@ "GlobalTableDescription$ReplicationGroup": "

The regions where the global table has replicas.

" } }, + "ReplicaGlobalSecondaryIndexSettingsDescription": { + "base": "

Represents the properties of a global secondary index.

", + "refs": { + "ReplicaGlobalSecondaryIndexSettingsDescriptionList$member": null + } + }, + "ReplicaGlobalSecondaryIndexSettingsDescriptionList": { + "base": null, + "refs": { + "ReplicaSettingsDescription$ReplicaGlobalSecondaryIndexSettings": "

Replica global secondary index settings for the global table.

" + } + }, + "ReplicaGlobalSecondaryIndexSettingsUpdate": { + "base": "

Represents the settings of a global secondary index for a global table that will be modified.

", + "refs": { + "ReplicaGlobalSecondaryIndexSettingsUpdateList$member": null + } + }, + "ReplicaGlobalSecondaryIndexSettingsUpdateList": { + "base": null, + "refs": { + "ReplicaSettingsUpdate$ReplicaGlobalSecondaryIndexSettingsUpdate": "

Represents the settings of a global secondary index for a global table that will be modified.

" + } + }, "ReplicaList": { "base": null, "refs": { @@ -1179,6 +1377,37 @@ "refs": { } }, + "ReplicaSettingsDescription": { + "base": "

Represents the properties of a replica.

", + "refs": { + "ReplicaSettingsDescriptionList$member": null + } + }, + "ReplicaSettingsDescriptionList": { + "base": null, + "refs": { + "DescribeGlobalTableSettingsOutput$ReplicaSettings": "

The region specific settings for the global table.

", + "UpdateGlobalTableSettingsOutput$ReplicaSettings": "

The region specific settings for the global table.

" + } + }, + "ReplicaSettingsUpdate": { + "base": "

Represents the settings for a global table in a region that will be modified.

", + "refs": { + "ReplicaSettingsUpdateList$member": null + } + }, + "ReplicaSettingsUpdateList": { + "base": null, + "refs": { + "UpdateGlobalTableSettingsInput$ReplicaSettingsUpdate": "

Represents the settings for a global table in a region that will be modified.

" + } + }, + "ReplicaStatus": { + "base": null, + "refs": { + "ReplicaSettingsDescription$ReplicaStatus": "

The current state of the region:

" + } + }, "ReplicaUpdate": { "base": "

Represents one of the following:

", "refs": { @@ -1209,12 +1438,6 @@ "refs": { } }, - "RestoreDateTime": { - "base": null, - "refs": { - "RestoreSummary$RestoreDateTime": "

Point in time or source backup time.

" - } - }, "RestoreInProgress": { "base": null, "refs": { @@ -1237,6 +1460,16 @@ "refs": { } }, + "RestoreTableToPointInTimeInput": { + "base": null, + "refs": { + } + }, + "RestoreTableToPointInTimeOutput": { + "base": null, + "refs": { + } + }, "ReturnConsumedCapacity": { "base": "

Determines the level of detail about provisioned throughput consumption that is returned in the response:

", "refs": { @@ -1267,6 +1500,37 @@ "UpdateItemInput$ReturnValues": "

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:

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.

" } }, + "SSEDescription": { + "base": "

The description of the server-side encryption status on the specified table.

", + "refs": { + "SourceTableFeatureDetails$SSEDescription": "

The description of the server-side encryption status on the table when the backup was created.

", + "TableDescription$SSEDescription": "

The description of the server-side encryption status on the specified table.

" + } + }, + "SSEEnabled": { + "base": null, + "refs": { + "SSESpecification$Enabled": "

Indicates whether server-side encryption is enabled (true) or disabled (false) on the table.

" + } + }, + "SSESpecification": { + "base": "

Represents the settings used to enable server-side encryption.

", + "refs": { + "CreateTableInput$SSESpecification": "

Represents the settings used to enable server-side encryption.

" + } + }, + "SSEStatus": { + "base": null, + "refs": { + "SSEDescription$Status": "

The current state of server-side encryption:

" + } + }, + "SSEType": { + "base": null, + "refs": { + "SSEDescription$SSEType": "

Server-side encryption type:

" + } + }, "ScalarAttributeType": { "base": null, "refs": { @@ -1351,6 +1615,7 @@ "String": { "base": null, "refs": { + "AutoScalingSettingsDescription$AutoScalingRoleArn": "

Role ARN used for configuring autoScaling policy.

", "GlobalSecondaryIndexDescription$IndexArn": "

The Amazon Resource Name (ARN) that uniquely identifies the index.

", "LocalSecondaryIndexDescription$IndexArn": "

The Amazon Resource Name (ARN) that uniquely identifies the index.

", "TableDescription$TableArn": "

The Amazon Resource Name (ARN) that uniquely identifies the table.

", @@ -1371,7 +1636,7 @@ } }, "TableAlreadyExistsException": { - "base": "

A table with the name already exists.

", + "base": "

A target table with the specified name already exists.

", "refs": { } }, @@ -1396,6 +1661,7 @@ "DeleteTableOutput$TableDescription": "

Represents the properties of a table.

", "DescribeTableOutput$Table": "

The properties of the table.

", "RestoreTableFromBackupOutput$TableDescription": "

The description of the table created from an existing backup.

", + "RestoreTableToPointInTimeOutput$TableDescription": "

Represents the properties of a table.

", "UpdateTableOutput$TableDescription": "

Represents the properties of the table.

" } }, @@ -1408,7 +1674,7 @@ } }, "TableInUseException": { - "base": "

A table by that name is either being created or deleted.

", + "base": "

A target table with the specified name is either being created or deleted.

", "refs": { } }, @@ -1425,8 +1691,10 @@ "CreateTableInput$TableName": "

The name of the table to create.

", "DeleteItemInput$TableName": "

The name of the table from which to delete the item.

", "DeleteTableInput$TableName": "

The name of the table to delete.

", - "DescribeContinuousBackupsInput$TableName": "

Name of the table for which the customer wants to check the backup and restore settings.

", + "DescribeContinuousBackupsInput$TableName": "

Name of the table for which the customer wants to check the continuous backups and point in time recovery settings.

", "DescribeGlobalTableInput$GlobalTableName": "

The name of the global table.

", + "DescribeGlobalTableSettingsInput$GlobalTableName": "

The name of the global table to describe.

", + "DescribeGlobalTableSettingsOutput$GlobalTableName": "

The name of the global table.

", "DescribeTableInput$TableName": "

The name of the table to describe.

", "DescribeTimeToLiveInput$TableName": "

The name of the table to be described.

", "GetItemInput$TableName": "

The name of the table containing the requested item.

", @@ -1441,11 +1709,16 @@ "PutItemInput$TableName": "

The name of the table to contain the item.

", "QueryInput$TableName": "

The name of the table containing the requested items.

", "RestoreTableFromBackupInput$TargetTableName": "

The name of the new table to which the backup must be restored.

", + "RestoreTableToPointInTimeInput$SourceTableName": "

Name of the source table that is being restored.

", + "RestoreTableToPointInTimeInput$TargetTableName": "

The name of the new table to which it must be restored to.

", "ScanInput$TableName": "

The name of the table containing the requested items; or, if you provide IndexName, the name of the table to which that index belongs.

", "SourceTableDetails$TableName": "

The name of the table for which the backup was created.

", "TableDescription$TableName": "

The name of the table.

", "TableNameList$member": null, + "UpdateContinuousBackupsInput$TableName": "

The name of the table.

", "UpdateGlobalTableInput$GlobalTableName": "

The global table name.

", + "UpdateGlobalTableSettingsInput$GlobalTableName": "

The name of the global table

", + "UpdateGlobalTableSettingsOutput$GlobalTableName": "

The name of the global table.

", "UpdateItemInput$TableName": "

The name of the table containing the item to update.

", "UpdateTableInput$TableName": "

The name of the table to be updated.

", "UpdateTimeToLiveInput$TableName": "

The name of the table to be configured.

" @@ -1458,7 +1731,7 @@ } }, "TableNotFoundException": { - "base": "

A table with the name TableName does not currently exist within the subscriber's account.

", + "base": "

A source table with the name TableName does not currently exist within the subscriber's account.

", "refs": { } }, @@ -1555,6 +1828,16 @@ "refs": { } }, + "UpdateContinuousBackupsInput": { + "base": null, + "refs": { + } + }, + "UpdateContinuousBackupsOutput": { + "base": null, + "refs": { + } + }, "UpdateExpression": { "base": null, "refs": { @@ -1577,6 +1860,16 @@ "refs": { } }, + "UpdateGlobalTableSettingsInput": { + "base": null, + "refs": { + } + }, + "UpdateGlobalTableSettingsOutput": { + "base": null, + "refs": { + } + }, "UpdateItemInput": { "base": "

Represents the input of an UpdateItem operation.

", "refs": { diff --git a/models/apis/dynamodb/2012-08-10/smoke.json b/models/apis/dynamodb/2012-08-10/smoke.json new file mode 100644 index 00000000000..3540d8ef946 --- /dev/null +++ b/models/apis/dynamodb/2012-08-10/smoke.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListTables", + "input": { + "Limit": 1 + }, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeTable", + "input": { + "TableName": "fake-table" + }, + "errorExpectedFromService": true + } + ] +} \ No newline at end of file diff --git a/models/apis/ec2/2015-04-15/api-2.json b/models/apis/ec2/2015-04-15/api-2.json deleted file mode 100644 index 3281d2ea06c..00000000000 --- a/models/apis/ec2/2015-04-15/api-2.json +++ /dev/null @@ -1,12049 +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" - }, - "operations":{ - "AcceptVpcPeeringConnection":{ - "name":"AcceptVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptVpcPeeringConnectionRequest"}, - "output":{"shape":"AcceptVpcPeeringConnectionResult"} - }, - "AllocateAddress":{ - "name":"AllocateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateAddressRequest"}, - "output":{"shape":"AllocateAddressResult"} - }, - "AssignPrivateIpAddresses":{ - "name":"AssignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignPrivateIpAddressesRequest"} - }, - "AssociateAddress":{ - "name":"AssociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateAddressRequest"}, - "output":{"shape":"AssociateAddressResult"} - }, - "AssociateDhcpOptions":{ - "name":"AssociateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDhcpOptionsRequest"} - }, - "AssociateRouteTable":{ - "name":"AssociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateRouteTableRequest"}, - "output":{"shape":"AssociateRouteTableResult"} - }, - "AttachClassicLinkVpc":{ - "name":"AttachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachClassicLinkVpcRequest"}, - "output":{"shape":"AttachClassicLinkVpcResult"} - }, - "AttachInternetGateway":{ - "name":"AttachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInternetGatewayRequest"} - }, - "AttachNetworkInterface":{ - "name":"AttachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachNetworkInterfaceRequest"}, - "output":{"shape":"AttachNetworkInterfaceResult"} - }, - "AttachVolume":{ - "name":"AttachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVolumeRequest"}, - "output":{ - "shape":"VolumeAttachment", - "locationName":"attachment" - } - }, - "AttachVpnGateway":{ - "name":"AttachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVpnGatewayRequest"}, - "output":{"shape":"AttachVpnGatewayResult"} - }, - "AuthorizeSecurityGroupEgress":{ - "name":"AuthorizeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupEgressRequest"} - }, - "AuthorizeSecurityGroupIngress":{ - "name":"AuthorizeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupIngressRequest"} - }, - "BundleInstance":{ - "name":"BundleInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BundleInstanceRequest"}, - "output":{"shape":"BundleInstanceResult"} - }, - "CancelBundleTask":{ - "name":"CancelBundleTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelBundleTaskRequest"}, - "output":{"shape":"CancelBundleTaskResult"} - }, - "CancelConversionTask":{ - "name":"CancelConversionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelConversionRequest"} - }, - "CancelExportTask":{ - "name":"CancelExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelExportTaskRequest"} - }, - "CancelImportTask":{ - "name":"CancelImportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelImportTaskRequest"}, - "output":{"shape":"CancelImportTaskResult"} - }, - "CancelReservedInstancesListing":{ - "name":"CancelReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelReservedInstancesListingRequest"}, - "output":{"shape":"CancelReservedInstancesListingResult"} - }, - "CancelSpotFleetRequests":{ - "name":"CancelSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotFleetRequestsRequest"}, - "output":{"shape":"CancelSpotFleetRequestsResponse"} - }, - "CancelSpotInstanceRequests":{ - "name":"CancelSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotInstanceRequestsRequest"}, - "output":{"shape":"CancelSpotInstanceRequestsResult"} - }, - "ConfirmProductInstance":{ - "name":"ConfirmProductInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmProductInstanceRequest"}, - "output":{"shape":"ConfirmProductInstanceResult"} - }, - "CopyImage":{ - "name":"CopyImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyImageRequest"}, - "output":{"shape":"CopyImageResult"} - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopySnapshotRequest"}, - "output":{"shape":"CopySnapshotResult"} - }, - "CreateCustomerGateway":{ - "name":"CreateCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomerGatewayRequest"}, - "output":{"shape":"CreateCustomerGatewayResult"} - }, - "CreateDhcpOptions":{ - "name":"CreateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDhcpOptionsRequest"}, - "output":{"shape":"CreateDhcpOptionsResult"} - }, - "CreateFlowLogs":{ - "name":"CreateFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFlowLogsRequest"}, - "output":{"shape":"CreateFlowLogsResult"} - }, - "CreateImage":{ - "name":"CreateImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageRequest"}, - "output":{"shape":"CreateImageResult"} - }, - "CreateInstanceExportTask":{ - "name":"CreateInstanceExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceExportTaskRequest"}, - "output":{"shape":"CreateInstanceExportTaskResult"} - }, - "CreateInternetGateway":{ - "name":"CreateInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInternetGatewayRequest"}, - "output":{"shape":"CreateInternetGatewayResult"} - }, - "CreateKeyPair":{ - "name":"CreateKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyPairRequest"}, - "output":{ - "shape":"KeyPair", - "locationName":"keyPair" - } - }, - "CreateNetworkAcl":{ - "name":"CreateNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclRequest"}, - "output":{"shape":"CreateNetworkAclResult"} - }, - "CreateNetworkAclEntry":{ - "name":"CreateNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclEntryRequest"} - }, - "CreateNetworkInterface":{ - "name":"CreateNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkInterfaceRequest"}, - "output":{"shape":"CreateNetworkInterfaceResult"} - }, - "CreatePlacementGroup":{ - "name":"CreatePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlacementGroupRequest"} - }, - "CreateReservedInstancesListing":{ - "name":"CreateReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReservedInstancesListingRequest"}, - "output":{"shape":"CreateReservedInstancesListingResult"} - }, - "CreateRoute":{ - "name":"CreateRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteRequest"}, - "output":{"shape":"CreateRouteResult"} - }, - "CreateRouteTable":{ - "name":"CreateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteTableRequest"}, - "output":{"shape":"CreateRouteTableResult"} - }, - "CreateSecurityGroup":{ - "name":"CreateSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityGroupRequest"}, - "output":{"shape":"CreateSecurityGroupResult"} - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotRequest"}, - "output":{ - "shape":"Snapshot", - "locationName":"snapshot" - } - }, - "CreateSpotDatafeedSubscription":{ - "name":"CreateSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"CreateSpotDatafeedSubscriptionResult"} - }, - "CreateSubnet":{ - "name":"CreateSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubnetRequest"}, - "output":{"shape":"CreateSubnetResult"} - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"} - }, - "CreateVolume":{ - "name":"CreateVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVolumeRequest"}, - "output":{ - "shape":"Volume", - "locationName":"volume" - } - }, - "CreateVpc":{ - "name":"CreateVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcRequest"}, - "output":{"shape":"CreateVpcResult"} - }, - "CreateVpcEndpoint":{ - "name":"CreateVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcEndpointRequest"}, - "output":{"shape":"CreateVpcEndpointResult"} - }, - "CreateVpcPeeringConnection":{ - "name":"CreateVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringConnectionRequest"}, - "output":{"shape":"CreateVpcPeeringConnectionResult"} - }, - "CreateVpnConnection":{ - "name":"CreateVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRequest"}, - "output":{"shape":"CreateVpnConnectionResult"} - }, - "CreateVpnConnectionRoute":{ - "name":"CreateVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRouteRequest"} - }, - "CreateVpnGateway":{ - "name":"CreateVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnGatewayRequest"}, - "output":{"shape":"CreateVpnGatewayResult"} - }, - "DeleteCustomerGateway":{ - "name":"DeleteCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomerGatewayRequest"} - }, - "DeleteDhcpOptions":{ - "name":"DeleteDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDhcpOptionsRequest"} - }, - "DeleteFlowLogs":{ - "name":"DeleteFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFlowLogsRequest"}, - "output":{"shape":"DeleteFlowLogsResult"} - }, - "DeleteInternetGateway":{ - "name":"DeleteInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInternetGatewayRequest"} - }, - "DeleteKeyPair":{ - "name":"DeleteKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteKeyPairRequest"} - }, - "DeleteNetworkAcl":{ - "name":"DeleteNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclRequest"} - }, - "DeleteNetworkAclEntry":{ - "name":"DeleteNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclEntryRequest"} - }, - "DeleteNetworkInterface":{ - "name":"DeleteNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkInterfaceRequest"} - }, - "DeletePlacementGroup":{ - "name":"DeletePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlacementGroupRequest"} - }, - "DeleteRoute":{ - "name":"DeleteRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteRequest"} - }, - "DeleteRouteTable":{ - "name":"DeleteRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteTableRequest"} - }, - "DeleteSecurityGroup":{ - "name":"DeleteSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityGroupRequest"} - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotRequest"} - }, - "DeleteSpotDatafeedSubscription":{ - "name":"DeleteSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSpotDatafeedSubscriptionRequest"} - }, - "DeleteSubnet":{ - "name":"DeleteSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubnetRequest"} - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"} - }, - "DeleteVolume":{ - "name":"DeleteVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVolumeRequest"} - }, - "DeleteVpc":{ - "name":"DeleteVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcRequest"} - }, - "DeleteVpcEndpoints":{ - "name":"DeleteVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcEndpointsRequest"}, - "output":{"shape":"DeleteVpcEndpointsResult"} - }, - "DeleteVpcPeeringConnection":{ - "name":"DeleteVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, - "output":{"shape":"DeleteVpcPeeringConnectionResult"} - }, - "DeleteVpnConnection":{ - "name":"DeleteVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRequest"} - }, - "DeleteVpnConnectionRoute":{ - "name":"DeleteVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRouteRequest"} - }, - "DeleteVpnGateway":{ - "name":"DeleteVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnGatewayRequest"} - }, - "DeregisterImage":{ - "name":"DeregisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterImageRequest"} - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesRequest"}, - "output":{"shape":"DescribeAccountAttributesResult"} - }, - "DescribeAddresses":{ - "name":"DescribeAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressesRequest"}, - "output":{"shape":"DescribeAddressesResult"} - }, - "DescribeAvailabilityZones":{ - "name":"DescribeAvailabilityZones", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAvailabilityZonesRequest"}, - "output":{"shape":"DescribeAvailabilityZonesResult"} - }, - "DescribeBundleTasks":{ - "name":"DescribeBundleTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBundleTasksRequest"}, - "output":{"shape":"DescribeBundleTasksResult"} - }, - "DescribeClassicLinkInstances":{ - "name":"DescribeClassicLinkInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClassicLinkInstancesRequest"}, - "output":{"shape":"DescribeClassicLinkInstancesResult"} - }, - "DescribeConversionTasks":{ - "name":"DescribeConversionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConversionTasksRequest"}, - "output":{"shape":"DescribeConversionTasksResult"} - }, - "DescribeCustomerGateways":{ - "name":"DescribeCustomerGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCustomerGatewaysRequest"}, - "output":{"shape":"DescribeCustomerGatewaysResult"} - }, - "DescribeDhcpOptions":{ - "name":"DescribeDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDhcpOptionsRequest"}, - "output":{"shape":"DescribeDhcpOptionsResult"} - }, - "DescribeExportTasks":{ - "name":"DescribeExportTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportTasksRequest"}, - "output":{"shape":"DescribeExportTasksResult"} - }, - "DescribeFlowLogs":{ - "name":"DescribeFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFlowLogsRequest"}, - "output":{"shape":"DescribeFlowLogsResult"} - }, - "DescribeImageAttribute":{ - "name":"DescribeImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImageAttributeRequest"}, - "output":{ - "shape":"ImageAttribute", - "locationName":"imageAttribute" - } - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResult"} - }, - "DescribeImportImageTasks":{ - "name":"DescribeImportImageTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportImageTasksRequest"}, - "output":{"shape":"DescribeImportImageTasksResult"} - }, - "DescribeImportSnapshotTasks":{ - "name":"DescribeImportSnapshotTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportSnapshotTasksRequest"}, - "output":{"shape":"DescribeImportSnapshotTasksResult"} - }, - "DescribeInstanceAttribute":{ - "name":"DescribeInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceAttributeRequest"}, - "output":{"shape":"InstanceAttribute"} - }, - "DescribeInstanceStatus":{ - "name":"DescribeInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceStatusRequest"}, - "output":{"shape":"DescribeInstanceStatusResult"} - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesRequest"}, - "output":{"shape":"DescribeInstancesResult"} - }, - "DescribeInternetGateways":{ - "name":"DescribeInternetGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInternetGatewaysRequest"}, - "output":{"shape":"DescribeInternetGatewaysResult"} - }, - "DescribeKeyPairs":{ - "name":"DescribeKeyPairs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyPairsRequest"}, - "output":{"shape":"DescribeKeyPairsResult"} - }, - "DescribeMovingAddresses":{ - "name":"DescribeMovingAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMovingAddressesRequest"}, - "output":{"shape":"DescribeMovingAddressesResult"} - }, - "DescribeNetworkAcls":{ - "name":"DescribeNetworkAcls", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkAclsRequest"}, - "output":{"shape":"DescribeNetworkAclsResult"} - }, - "DescribeNetworkInterfaceAttribute":{ - "name":"DescribeNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfaceAttributeRequest"}, - "output":{"shape":"DescribeNetworkInterfaceAttributeResult"} - }, - "DescribeNetworkInterfaces":{ - "name":"DescribeNetworkInterfaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfacesRequest"}, - "output":{"shape":"DescribeNetworkInterfacesResult"} - }, - "DescribePlacementGroups":{ - "name":"DescribePlacementGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlacementGroupsRequest"}, - "output":{"shape":"DescribePlacementGroupsResult"} - }, - "DescribePrefixLists":{ - "name":"DescribePrefixLists", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePrefixListsRequest"}, - "output":{"shape":"DescribePrefixListsResult"} - }, - "DescribeRegions":{ - "name":"DescribeRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRegionsRequest"}, - "output":{"shape":"DescribeRegionsResult"} - }, - "DescribeReservedInstances":{ - "name":"DescribeReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesRequest"}, - "output":{"shape":"DescribeReservedInstancesResult"} - }, - "DescribeReservedInstancesListings":{ - "name":"DescribeReservedInstancesListings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesListingsRequest"}, - "output":{"shape":"DescribeReservedInstancesListingsResult"} - }, - "DescribeReservedInstancesModifications":{ - "name":"DescribeReservedInstancesModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, - "output":{"shape":"DescribeReservedInstancesModificationsResult"} - }, - "DescribeReservedInstancesOfferings":{ - "name":"DescribeReservedInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, - "output":{"shape":"DescribeReservedInstancesOfferingsResult"} - }, - "DescribeRouteTables":{ - "name":"DescribeRouteTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRouteTablesRequest"}, - "output":{"shape":"DescribeRouteTablesResult"} - }, - "DescribeSecurityGroups":{ - "name":"DescribeSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupsRequest"}, - "output":{"shape":"DescribeSecurityGroupsResult"} - }, - "DescribeSnapshotAttribute":{ - "name":"DescribeSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotAttributeRequest"}, - "output":{"shape":"DescribeSnapshotAttributeResult"} - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsRequest"}, - "output":{"shape":"DescribeSnapshotsResult"} - }, - "DescribeSpotDatafeedSubscription":{ - "name":"DescribeSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"DescribeSpotDatafeedSubscriptionResult"} - }, - "DescribeSpotFleetInstances":{ - "name":"DescribeSpotFleetInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetInstancesRequest"}, - "output":{"shape":"DescribeSpotFleetInstancesResponse"} - }, - "DescribeSpotFleetRequestHistory":{ - "name":"DescribeSpotFleetRequestHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestHistoryRequest"}, - "output":{"shape":"DescribeSpotFleetRequestHistoryResponse"} - }, - "DescribeSpotFleetRequests":{ - "name":"DescribeSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestsRequest"}, - "output":{"shape":"DescribeSpotFleetRequestsResponse"} - }, - "DescribeSpotInstanceRequests":{ - "name":"DescribeSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotInstanceRequestsRequest"}, - "output":{"shape":"DescribeSpotInstanceRequestsResult"} - }, - "DescribeSpotPriceHistory":{ - "name":"DescribeSpotPriceHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotPriceHistoryRequest"}, - "output":{"shape":"DescribeSpotPriceHistoryResult"} - }, - "DescribeSubnets":{ - "name":"DescribeSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubnetsRequest"}, - "output":{"shape":"DescribeSubnetsResult"} - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResult"} - }, - "DescribeVolumeAttribute":{ - "name":"DescribeVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeAttributeRequest"}, - "output":{"shape":"DescribeVolumeAttributeResult"} - }, - "DescribeVolumeStatus":{ - "name":"DescribeVolumeStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeStatusRequest"}, - "output":{"shape":"DescribeVolumeStatusResult"} - }, - "DescribeVolumes":{ - "name":"DescribeVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesRequest"}, - "output":{"shape":"DescribeVolumesResult"} - }, - "DescribeVpcAttribute":{ - "name":"DescribeVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcAttributeRequest"}, - "output":{"shape":"DescribeVpcAttributeResult"} - }, - "DescribeVpcClassicLink":{ - "name":"DescribeVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkRequest"}, - "output":{"shape":"DescribeVpcClassicLinkResult"} - }, - "DescribeVpcEndpointServices":{ - "name":"DescribeVpcEndpointServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointServicesRequest"}, - "output":{"shape":"DescribeVpcEndpointServicesResult"} - }, - "DescribeVpcEndpoints":{ - "name":"DescribeVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointsRequest"}, - "output":{"shape":"DescribeVpcEndpointsResult"} - }, - "DescribeVpcPeeringConnections":{ - "name":"DescribeVpcPeeringConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringConnectionsRequest"}, - "output":{"shape":"DescribeVpcPeeringConnectionsResult"} - }, - "DescribeVpcs":{ - "name":"DescribeVpcs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcsRequest"}, - "output":{"shape":"DescribeVpcsResult"} - }, - "DescribeVpnConnections":{ - "name":"DescribeVpnConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnConnectionsRequest"}, - "output":{"shape":"DescribeVpnConnectionsResult"} - }, - "DescribeVpnGateways":{ - "name":"DescribeVpnGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnGatewaysRequest"}, - "output":{"shape":"DescribeVpnGatewaysResult"} - }, - "DetachClassicLinkVpc":{ - "name":"DetachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachClassicLinkVpcRequest"}, - "output":{"shape":"DetachClassicLinkVpcResult"} - }, - "DetachInternetGateway":{ - "name":"DetachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInternetGatewayRequest"} - }, - "DetachNetworkInterface":{ - "name":"DetachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachNetworkInterfaceRequest"} - }, - "DetachVolume":{ - "name":"DetachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVolumeRequest"}, - "output":{ - "shape":"VolumeAttachment", - "locationName":"attachment" - } - }, - "DetachVpnGateway":{ - "name":"DetachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVpnGatewayRequest"} - }, - "DisableVgwRoutePropagation":{ - "name":"DisableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVgwRoutePropagationRequest"} - }, - "DisableVpcClassicLink":{ - "name":"DisableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkRequest"}, - "output":{"shape":"DisableVpcClassicLinkResult"} - }, - "DisassociateAddress":{ - "name":"DisassociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateAddressRequest"} - }, - "DisassociateRouteTable":{ - "name":"DisassociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateRouteTableRequest"} - }, - "EnableVgwRoutePropagation":{ - "name":"EnableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVgwRoutePropagationRequest"} - }, - "EnableVolumeIO":{ - "name":"EnableVolumeIO", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVolumeIORequest"} - }, - "EnableVpcClassicLink":{ - "name":"EnableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkRequest"}, - "output":{"shape":"EnableVpcClassicLinkResult"} - }, - "GetConsoleOutput":{ - "name":"GetConsoleOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleOutputRequest"}, - "output":{"shape":"GetConsoleOutputResult"} - }, - "GetPasswordData":{ - "name":"GetPasswordData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPasswordDataRequest"}, - "output":{"shape":"GetPasswordDataResult"} - }, - "ImportImage":{ - "name":"ImportImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportImageRequest"}, - "output":{"shape":"ImportImageResult"} - }, - "ImportInstance":{ - "name":"ImportInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportInstanceRequest"}, - "output":{"shape":"ImportInstanceResult"} - }, - "ImportKeyPair":{ - "name":"ImportKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyPairRequest"}, - "output":{"shape":"ImportKeyPairResult"} - }, - "ImportSnapshot":{ - "name":"ImportSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportSnapshotRequest"}, - "output":{"shape":"ImportSnapshotResult"} - }, - "ImportVolume":{ - "name":"ImportVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportVolumeRequest"}, - "output":{"shape":"ImportVolumeResult"} - }, - "ModifyImageAttribute":{ - "name":"ModifyImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyImageAttributeRequest"} - }, - "ModifyInstanceAttribute":{ - "name":"ModifyInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceAttributeRequest"} - }, - "ModifyNetworkInterfaceAttribute":{ - "name":"ModifyNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"} - }, - "ModifyReservedInstances":{ - "name":"ModifyReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReservedInstancesRequest"}, - "output":{"shape":"ModifyReservedInstancesResult"} - }, - "ModifySnapshotAttribute":{ - "name":"ModifySnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySnapshotAttributeRequest"} - }, - "ModifySubnetAttribute":{ - "name":"ModifySubnetAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySubnetAttributeRequest"} - }, - "ModifyVolumeAttribute":{ - "name":"ModifyVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVolumeAttributeRequest"} - }, - "ModifyVpcAttribute":{ - "name":"ModifyVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcAttributeRequest"} - }, - "ModifyVpcEndpoint":{ - "name":"ModifyVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcEndpointRequest"}, - "output":{"shape":"ModifyVpcEndpointResult"} - }, - "MonitorInstances":{ - "name":"MonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MonitorInstancesRequest"}, - "output":{"shape":"MonitorInstancesResult"} - }, - "MoveAddressToVpc":{ - "name":"MoveAddressToVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MoveAddressToVpcRequest"}, - "output":{"shape":"MoveAddressToVpcResult"} - }, - "PurchaseReservedInstancesOffering":{ - "name":"PurchaseReservedInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, - "output":{"shape":"PurchaseReservedInstancesOfferingResult"} - }, - "RebootInstances":{ - "name":"RebootInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstancesRequest"} - }, - "RegisterImage":{ - "name":"RegisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterImageRequest"}, - "output":{"shape":"RegisterImageResult"} - }, - "RejectVpcPeeringConnection":{ - "name":"RejectVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectVpcPeeringConnectionRequest"}, - "output":{"shape":"RejectVpcPeeringConnectionResult"} - }, - "ReleaseAddress":{ - "name":"ReleaseAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseAddressRequest"} - }, - "ReplaceNetworkAclAssociation":{ - "name":"ReplaceNetworkAclAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, - "output":{"shape":"ReplaceNetworkAclAssociationResult"} - }, - "ReplaceNetworkAclEntry":{ - "name":"ReplaceNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclEntryRequest"} - }, - "ReplaceRoute":{ - "name":"ReplaceRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteRequest"} - }, - "ReplaceRouteTableAssociation":{ - "name":"ReplaceRouteTableAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteTableAssociationRequest"}, - "output":{"shape":"ReplaceRouteTableAssociationResult"} - }, - "ReportInstanceStatus":{ - "name":"ReportInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReportInstanceStatusRequest"} - }, - "RequestSpotFleet":{ - "name":"RequestSpotFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotFleetRequest"}, - "output":{"shape":"RequestSpotFleetResponse"} - }, - "RequestSpotInstances":{ - "name":"RequestSpotInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotInstancesRequest"}, - "output":{"shape":"RequestSpotInstancesResult"} - }, - "ResetImageAttribute":{ - "name":"ResetImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetImageAttributeRequest"} - }, - "ResetInstanceAttribute":{ - "name":"ResetInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetInstanceAttributeRequest"} - }, - "ResetNetworkInterfaceAttribute":{ - "name":"ResetNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetNetworkInterfaceAttributeRequest"} - }, - "ResetSnapshotAttribute":{ - "name":"ResetSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetSnapshotAttributeRequest"} - }, - "RestoreAddressToClassic":{ - "name":"RestoreAddressToClassic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreAddressToClassicRequest"}, - "output":{"shape":"RestoreAddressToClassicResult"} - }, - "RevokeSecurityGroupEgress":{ - "name":"RevokeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupEgressRequest"} - }, - "RevokeSecurityGroupIngress":{ - "name":"RevokeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupIngressRequest"} - }, - "RunInstances":{ - "name":"RunInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunInstancesRequest"}, - "output":{ - "shape":"Reservation", - "locationName":"reservation" - } - }, - "StartInstances":{ - "name":"StartInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstancesRequest"}, - "output":{"shape":"StartInstancesResult"} - }, - "StopInstances":{ - "name":"StopInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstancesRequest"}, - "output":{"shape":"StopInstancesResult"} - }, - "TerminateInstances":{ - "name":"TerminateInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateInstancesRequest"}, - "output":{"shape":"TerminateInstancesResult"} - }, - "UnassignPrivateIpAddresses":{ - "name":"UnassignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignPrivateIpAddressesRequest"} - }, - "UnmonitorInstances":{ - "name":"UnmonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnmonitorInstancesRequest"}, - "output":{"shape":"UnmonitorInstancesResult"} - } - }, - "shapes":{ - "AcceptVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "AcceptVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "locationName":"vpcPeeringConnection" - } - } - }, - "AccountAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "locationName":"attributeName" - }, - "AttributeValues":{ - "shape":"AccountAttributeValueList", - "locationName":"attributeValueSet" - } - } - }, - "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", - "locationName":"attributeValue" - } - } - }, - "AccountAttributeValueList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeValue", - "locationName":"item" - } - }, - "ActiveInstance":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - } - } - }, - "ActiveInstanceSet":{ - "type":"list", - "member":{ - "shape":"ActiveInstance", - "locationName":"item" - } - }, - "Address":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - }, - "Domain":{ - "shape":"DomainType", - "locationName":"domain" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "NetworkInterfaceOwnerId":{ - "shape":"String", - "locationName":"networkInterfaceOwnerId" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - } - } - }, - "AddressList":{ - "type":"list", - "member":{ - "shape":"Address", - "locationName":"item" - } - }, - "AllocateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Domain":{"shape":"DomainType"} - } - }, - "AllocateAddressResult":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "Domain":{ - "shape":"DomainType", - "locationName":"domain" - }, - "AllocationId":{ - "shape":"String", - "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", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "locationName":"privateIpAddress" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AllowReassignment":{ - "shape":"Boolean", - "locationName":"allowReassignment" - } - } - }, - "AssociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{"shape":"String"}, - "PublicIp":{"shape":"String"}, - "AllocationId":{"shape":"String"}, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "AllowReassociation":{ - "shape":"Boolean", - "locationName":"allowReassociation" - } - } - }, - "AssociateAddressResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "AssociateDhcpOptionsRequest":{ - "type":"structure", - "required":[ - "DhcpOptionsId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{"shape":"String"}, - "VpcId":{"shape":"String"} - } - }, - "AssociateRouteTableRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - } - } - }, - "AssociateRouteTableResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "AttachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId", - "Groups" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Groups":{ - "shape":"GroupIdStringList", - "locationName":"SecurityGroupId" - } - } - }, - "AttachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "AttachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "AttachNetworkInterfaceRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "InstanceId", - "DeviceIndex" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - } - } - }, - "AttachNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - } - } - }, - "AttachVolumeRequest":{ - "type":"structure", - "required":[ - "VolumeId", - "InstanceId", - "Device" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "InstanceId":{"shape":"String"}, - "Device":{"shape":"String"} - } - }, - "AttachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{"shape":"String"}, - "VpcId":{"shape":"String"} - } - }, - "AttachVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpcAttachment":{ - "shape":"VpcAttachment", - "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", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "locationName":"cidrIp" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "locationName":"ipPermissions" - } - } - }, - "AuthorizeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "GroupId":{"shape":"String"}, - "SourceSecurityGroupName":{"shape":"String"}, - "SourceSecurityGroupOwnerId":{"shape":"String"}, - "IpProtocol":{"shape":"String"}, - "FromPort":{"shape":"Integer"}, - "ToPort":{"shape":"Integer"}, - "CidrIp":{"shape":"String"}, - "IpPermissions":{"shape":"IpPermissionList"} - } - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "ZoneName":{ - "shape":"String", - "locationName":"zoneName" - }, - "State":{ - "shape":"AvailabilityZoneState", - "locationName":"zoneState" - }, - "RegionName":{ - "shape":"String", - "locationName":"regionName" - }, - "Messages":{ - "shape":"AvailabilityZoneMessageList", - "locationName":"messageSet" - } - } - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"item" - } - }, - "AvailabilityZoneMessage":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "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", - "locationName":"virtualName" - }, - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsBlockDevice", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "locationName":"noDevice" - } - } - }, - "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"}, - "Storage":{"shape":"Storage"} - } - }, - "BundleInstanceResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "locationName":"bundleInstanceTask" - } - } - }, - "BundleTask":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "BundleId":{ - "shape":"String", - "locationName":"bundleId" - }, - "State":{ - "shape":"BundleTaskState", - "locationName":"state" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "UpdateTime":{ - "shape":"DateTime", - "locationName":"updateTime" - }, - "Storage":{ - "shape":"Storage", - "locationName":"storage" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "BundleTaskError":{ - "shape":"BundleTaskError", - "locationName":"error" - } - } - }, - "BundleTaskError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "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", - "locationName":"dryRun" - }, - "BundleId":{"shape":"String"} - } - }, - "CancelBundleTaskResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "locationName":"bundleInstanceTask" - } - } - }, - "CancelConversionRequest":{ - "type":"structure", - "required":["ConversionTaskId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ConversionTaskId":{ - "shape":"String", - "locationName":"conversionTaskId" - }, - "ReasonMessage":{ - "shape":"String", - "locationName":"reasonMessage" - } - } - }, - "CancelExportTaskRequest":{ - "type":"structure", - "required":["ExportTaskId"], - "members":{ - "ExportTaskId":{ - "shape":"String", - "locationName":"exportTaskId" - } - } - }, - "CancelImportTaskRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskId":{"shape":"String"}, - "CancelReason":{"shape":"String"} - } - }, - "CancelImportTaskResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "State":{ - "shape":"String", - "locationName":"state" - }, - "PreviousState":{ - "shape":"String", - "locationName":"previousState" - } - } - }, - "CancelReservedInstancesListingRequest":{ - "type":"structure", - "required":["ReservedInstancesListingId"], - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "locationName":"reservedInstancesListingId" - } - } - }, - "CancelReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CancelSpotFleetRequestsError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"CancelBatchErrorCode", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "CancelSpotFleetRequestsErrorItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "Error" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "Error":{ - "shape":"CancelSpotFleetRequestsError", - "locationName":"error" - } - } - }, - "CancelSpotFleetRequestsErrorSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsErrorItem", - "locationName":"item" - } - }, - "CancelSpotFleetRequestsRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestIds", - "TerminateInstances" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "locationName":"spotFleetRequestId" - }, - "TerminateInstances":{ - "shape":"Boolean", - "locationName":"terminateInstances" - } - } - }, - "CancelSpotFleetRequestsResponse":{ - "type":"structure", - "members":{ - "UnsuccessfulFleetRequests":{ - "shape":"CancelSpotFleetRequestsErrorSet", - "locationName":"unsuccessfulFleetRequestSet" - }, - "SuccessfulFleetRequests":{ - "shape":"CancelSpotFleetRequestsSuccessSet", - "locationName":"successfulFleetRequestSet" - } - } - }, - "CancelSpotFleetRequestsSuccessItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "CurrentSpotFleetRequestState", - "PreviousSpotFleetRequestState" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "CurrentSpotFleetRequestState":{ - "shape":"BatchState", - "locationName":"currentSpotFleetRequestState" - }, - "PreviousSpotFleetRequestState":{ - "shape":"BatchState", - "locationName":"previousSpotFleetRequestState" - } - } - }, - "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", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "locationName":"SpotInstanceRequestId" - } - } - }, - "CancelSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "CancelledSpotInstanceRequests":{ - "shape":"CancelledSpotInstanceRequestList", - "locationName":"spotInstanceRequestSet" - } - } - }, - "CancelledSpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - }, - "State":{ - "shape":"CancelSpotInstanceRequestState", - "locationName":"state" - } - } - }, - "CancelledSpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"CancelledSpotInstanceRequest", - "locationName":"item" - } - }, - "ClassicLinkInstance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "ClassicLinkInstanceList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkInstance", - "locationName":"item" - } - }, - "ClientData":{ - "type":"structure", - "members":{ - "UploadStart":{"shape":"DateTime"}, - "UploadEnd":{"shape":"DateTime"}, - "UploadSize":{"shape":"Double"}, - "Comment":{"shape":"String"} - } - }, - "ConfirmProductInstanceRequest":{ - "type":"structure", - "required":[ - "ProductCode", - "InstanceId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ProductCode":{"shape":"String"}, - "InstanceId":{"shape":"String"} - } - }, - "ConfirmProductInstanceResult":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Return":{ - "shape":"Boolean", - "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", - "locationName":"conversionTaskId" - }, - "ExpirationTime":{ - "shape":"String", - "locationName":"expirationTime" - }, - "ImportInstance":{ - "shape":"ImportInstanceTaskDetails", - "locationName":"importInstance" - }, - "ImportVolume":{ - "shape":"ImportVolumeTaskDetails", - "locationName":"importVolume" - }, - "State":{ - "shape":"ConversionTaskState", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "ConversionTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "CopyImageRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceImageId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SourceRegion":{"shape":"String"}, - "SourceImageId":{"shape":"String"}, - "Name":{"shape":"String"}, - "Description":{"shape":"String"}, - "ClientToken":{"shape":"String"} - } - }, - "CopyImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - } - } - }, - "CopySnapshotRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceSnapshotId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SourceRegion":{"shape":"String"}, - "SourceSnapshotId":{"shape":"String"}, - "Description":{"shape":"String"}, - "DestinationRegion":{ - "shape":"String", - "locationName":"destinationRegion" - }, - "PresignedUrl":{ - "shape":"String", - "locationName":"presignedUrl" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - } - } - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - } - } - }, - "CreateCustomerGatewayRequest":{ - "type":"structure", - "required":[ - "Type", - "PublicIp", - "BgpAsn" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{"shape":"GatewayType"}, - "PublicIp":{ - "shape":"String", - "locationName":"IpAddress" - }, - "BgpAsn":{"shape":"Integer"} - } - }, - "CreateCustomerGatewayResult":{ - "type":"structure", - "members":{ - "CustomerGateway":{ - "shape":"CustomerGateway", - "locationName":"customerGateway" - } - } - }, - "CreateDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpConfigurations"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpConfigurations":{ - "shape":"NewDhcpConfigurationList", - "locationName":"dhcpConfiguration" - } - } - }, - "CreateDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptions", - "locationName":"dhcpOptions" - } - } - }, - "CreateFlowLogsRequest":{ - "type":"structure", - "required":[ - "ResourceIds", - "ResourceType", - "TrafficType", - "LogGroupName", - "DeliverLogsPermissionArn" - ], - "members":{ - "ResourceIds":{ - "shape":"ValueStringList", - "locationName":"ResourceId" - }, - "ResourceType":{"shape":"FlowLogsResourceType"}, - "TrafficType":{"shape":"TrafficType"}, - "LogGroupName":{"shape":"String"}, - "DeliverLogsPermissionArn":{"shape":"String"}, - "ClientToken":{"shape":"String"} - } - }, - "CreateFlowLogsResult":{ - "type":"structure", - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "locationName":"flowLogIdSet" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "locationName":"unsuccessful" - } - } - }, - "CreateImageRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Name":{ - "shape":"String", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "NoReboot":{ - "shape":"Boolean", - "locationName":"noReboot" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "locationName":"blockDeviceMapping" - } - } - }, - "CreateImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - } - } - }, - "CreateInstanceExportTaskRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "Description":{ - "shape":"String", - "locationName":"description" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "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", - "locationName":"internetGateway" - } - } - }, - "CreateKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{"shape":"String"} - } - }, - "CreateNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "locationName":"ruleAction" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "locationName":"portRange" - } - } - }, - "CreateNetworkAclRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "CreateNetworkAclResult":{ - "type":"structure", - "members":{ - "NetworkAcl":{ - "shape":"NetworkAcl", - "locationName":"networkAcl" - } - } - }, - "CreateNetworkInterfaceRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "locationName":"privateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "locationName":"secondaryPrivateIpAddressCount" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "CreateNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "NetworkInterface":{ - "shape":"NetworkInterface", - "locationName":"networkInterface" - } - } - }, - "CreatePlacementGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Strategy" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "locationName":"strategy" - } - } - }, - "CreateReservedInstancesListingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesId", - "InstanceCount", - "PriceSchedules", - "ClientToken" - ], - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "PriceSchedules":{ - "shape":"PriceScheduleSpecificationList", - "locationName":"priceSchedules" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "CreateReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CreateRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - }, - "GatewayId":{ - "shape":"String", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "CreateRouteResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "CreateRouteTableRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "CreateRouteTableResult":{ - "type":"structure", - "members":{ - "RouteTable":{ - "shape":"RouteTable", - "locationName":"routeTable" - } - } - }, - "CreateSecurityGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Description" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "Description":{ - "shape":"String", - "locationName":"GroupDescription" - }, - "VpcId":{"shape":"String"} - } - }, - "CreateSecurityGroupResult":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"String", - "locationName":"groupId" - } - } - }, - "CreateSnapshotRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "Description":{"shape":"String"} - } - }, - "CreateSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Bucket":{ - "shape":"String", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "locationName":"prefix" - } - } - }, - "CreateSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "locationName":"spotDatafeedSubscription" - } - } - }, - "CreateSubnetRequest":{ - "type":"structure", - "required":[ - "VpcId", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{"shape":"String"}, - "CidrBlock":{"shape":"String"}, - "AvailabilityZone":{"shape":"String"} - } - }, - "CreateSubnetResult":{ - "type":"structure", - "members":{ - "Subnet":{ - "shape":"Subnet", - "locationName":"subnet" - } - } - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "Resources", - "Tags" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "locationName":"ResourceId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"Tag" - } - } - }, - "CreateVolumePermission":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "locationName":"userId" - }, - "Group":{ - "shape":"PermissionGroup", - "locationName":"group" - } - } - }, - "CreateVolumePermissionList":{ - "type":"list", - "member":{ - "shape":"CreateVolumePermission", - "locationName":"item" - } - }, - "CreateVolumePermissionModifications":{ - "type":"structure", - "members":{ - "Add":{"shape":"CreateVolumePermissionList"}, - "Remove":{"shape":"CreateVolumePermissionList"} - } - }, - "CreateVolumeRequest":{ - "type":"structure", - "required":["AvailabilityZone"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Size":{"shape":"Integer"}, - "SnapshotId":{"shape":"String"}, - "AvailabilityZone":{"shape":"String"}, - "VolumeType":{"shape":"VolumeType"}, - "Iops":{"shape":"Integer"}, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{"shape":"String"} - } - }, - "CreateVpcEndpointRequest":{ - "type":"structure", - "required":[ - "VpcId", - "ServiceName" - ], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcId":{"shape":"String"}, - "ServiceName":{"shape":"String"}, - "PolicyDocument":{"shape":"String"}, - "RouteTableIds":{ - "shape":"ValueStringList", - "locationName":"RouteTableId" - }, - "ClientToken":{"shape":"String"} - } - }, - "CreateVpcEndpointResult":{ - "type":"structure", - "members":{ - "VpcEndpoint":{ - "shape":"VpcEndpoint", - "locationName":"vpcEndpoint" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "CreateVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "PeerVpcId":{ - "shape":"String", - "locationName":"peerVpcId" - }, - "PeerOwnerId":{ - "shape":"String", - "locationName":"peerOwnerId" - } - } - }, - "CreateVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "locationName":"vpcPeeringConnection" - } - } - }, - "CreateVpcRequest":{ - "type":"structure", - "required":["CidrBlock"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CidrBlock":{"shape":"String"}, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - } - } - }, - "CreateVpcResult":{ - "type":"structure", - "members":{ - "Vpc":{ - "shape":"Vpc", - "locationName":"vpc" - } - } - }, - "CreateVpnConnectionRequest":{ - "type":"structure", - "required":[ - "Type", - "CustomerGatewayId", - "VpnGatewayId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{"shape":"String"}, - "CustomerGatewayId":{"shape":"String"}, - "VpnGatewayId":{"shape":"String"}, - "Options":{ - "shape":"VpnConnectionOptionsSpecification", - "locationName":"options" - } - } - }, - "CreateVpnConnectionResult":{ - "type":"structure", - "members":{ - "VpnConnection":{ - "shape":"VpnConnection", - "locationName":"vpnConnection" - } - } - }, - "CreateVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "members":{ - "VpnConnectionId":{"shape":"String"}, - "DestinationCidrBlock":{"shape":"String"} - } - }, - "CreateVpnGatewayRequest":{ - "type":"structure", - "required":["Type"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{"shape":"GatewayType"}, - "AvailabilityZone":{"shape":"String"} - } - }, - "CreateVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpnGateway":{ - "shape":"VpnGateway", - "locationName":"vpnGateway" - } - } - }, - "CurrencyCodeValues":{ - "type":"string", - "enum":["USD"] - }, - "CustomerGateway":{ - "type":"structure", - "members":{ - "CustomerGatewayId":{ - "shape":"String", - "locationName":"customerGatewayId" - }, - "State":{ - "shape":"String", - "locationName":"state" - }, - "Type":{ - "shape":"String", - "locationName":"type" - }, - "IpAddress":{ - "shape":"String", - "locationName":"ipAddress" - }, - "BgpAsn":{ - "shape":"String", - "locationName":"bgpAsn" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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"} - } - }, - "DeleteDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpOptionsId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{"shape":"String"} - } - }, - "DeleteFlowLogsRequest":{ - "type":"structure", - "required":["FlowLogIds"], - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "locationName":"FlowLogId" - } - } - }, - "DeleteFlowLogsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "locationName":"unsuccessful" - } - } - }, - "DeleteInternetGatewayRequest":{ - "type":"structure", - "required":["InternetGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "locationName":"internetGatewayId" - } - } - }, - "DeleteKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{"shape":"String"} - } - }, - "DeleteNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Egress" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - } - } - }, - "DeleteNetworkAclRequest":{ - "type":"structure", - "required":["NetworkAclId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - } - } - }, - "DeleteNetworkInterfaceRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - } - } - }, - "DeletePlacementGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - } - } - }, - "DeleteRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - } - } - }, - "DeleteRouteTableRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - } - } - }, - "DeleteSecurityGroupRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "GroupId":{"shape":"String"} - } - }, - "DeleteSnapshotRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"} - } - }, - "DeleteSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DeleteSubnetRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetId":{"shape":"String"} - } - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":["Resources"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "locationName":"resourceId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tag" - } - } - }, - "DeleteVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"} - } - }, - "DeleteVpcEndpointsRequest":{ - "type":"structure", - "required":["VpcEndpointIds"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "locationName":"VpcEndpointId" - } - } - }, - "DeleteVpcEndpointsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "locationName":"unsuccessful" - } - } - }, - "DeleteVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "DeleteVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DeleteVpcRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{"shape":"String"} - } - }, - "DeleteVpnConnectionRequest":{ - "type":"structure", - "required":["VpnConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnConnectionId":{"shape":"String"} - } - }, - "DeleteVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "members":{ - "VpnConnectionId":{"shape":"String"}, - "DestinationCidrBlock":{"shape":"String"} - } - }, - "DeleteVpnGatewayRequest":{ - "type":"structure", - "required":["VpnGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{"shape":"String"} - } - }, - "DeregisterImageRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"} - } - }, - "DescribeAccountAttributesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttributeNames":{ - "shape":"AccountAttributeNameStringList", - "locationName":"attributeName" - } - } - }, - "DescribeAccountAttributesResult":{ - "type":"structure", - "members":{ - "AccountAttributes":{ - "shape":"AccountAttributeList", - "locationName":"accountAttributeSet" - } - } - }, - "DescribeAddressesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIps":{ - "shape":"PublicIpStringList", - "locationName":"PublicIp" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "AllocationIds":{ - "shape":"AllocationIdList", - "locationName":"AllocationId" - } - } - }, - "DescribeAddressesResult":{ - "type":"structure", - "members":{ - "Addresses":{ - "shape":"AddressList", - "locationName":"addressesSet" - } - } - }, - "DescribeAvailabilityZonesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ZoneNames":{ - "shape":"ZoneNameStringList", - "locationName":"ZoneName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeAvailabilityZonesResult":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "locationName":"availabilityZoneInfo" - } - } - }, - "DescribeBundleTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "BundleIds":{ - "shape":"BundleIdStringList", - "locationName":"BundleId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeBundleTasksResult":{ - "type":"structure", - "members":{ - "BundleTasks":{ - "shape":"BundleTaskList", - "locationName":"bundleInstanceTasksSet" - } - } - }, - "DescribeClassicLinkInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeClassicLinkInstancesResult":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"ClassicLinkInstanceList", - "locationName":"instancesSet" - }, - "NextToken":{ - "shape":"String", - "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", - "locationName":"conversionTaskId" - } - } - }, - "DescribeConversionTasksResult":{ - "type":"structure", - "members":{ - "ConversionTasks":{ - "shape":"DescribeConversionTaskList", - "locationName":"conversionTasks" - } - } - }, - "DescribeCustomerGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CustomerGatewayIds":{ - "shape":"CustomerGatewayIdStringList", - "locationName":"CustomerGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeCustomerGatewaysResult":{ - "type":"structure", - "members":{ - "CustomerGateways":{ - "shape":"CustomerGatewayList", - "locationName":"customerGatewaySet" - } - } - }, - "DescribeDhcpOptionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsIds":{ - "shape":"DhcpOptionsIdStringList", - "locationName":"DhcpOptionsId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptionsList", - "locationName":"dhcpOptionsSet" - } - } - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "ExportTaskIds":{ - "shape":"ExportTaskIdStringList", - "locationName":"exportTaskId" - } - } - }, - "DescribeExportTasksResult":{ - "type":"structure", - "members":{ - "ExportTasks":{ - "shape":"ExportTaskList", - "locationName":"exportTaskSet" - } - } - }, - "DescribeFlowLogsRequest":{ - "type":"structure", - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "locationName":"FlowLogId" - }, - "Filter":{"shape":"FilterList"}, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"} - } - }, - "DescribeFlowLogsResult":{ - "type":"structure", - "members":{ - "FlowLogs":{ - "shape":"FlowLogSet", - "locationName":"flowLogSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"}, - "Attribute":{"shape":"ImageAttributeName"} - } - }, - "DescribeImagesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageIds":{ - "shape":"ImageIdStringList", - "locationName":"ImageId" - }, - "Owners":{ - "shape":"OwnerStringList", - "locationName":"Owner" - }, - "ExecutableUsers":{ - "shape":"ExecutableByStringList", - "locationName":"ExecutableBy" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeImagesResult":{ - "type":"structure", - "members":{ - "Images":{ - "shape":"ImageList", - "locationName":"imagesSet" - } - } - }, - "DescribeImportImageTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskIds":{ - "shape":"ImportTaskIdList", - "locationName":"ImportTaskId" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{"shape":"FilterList"} - } - }, - "DescribeImportImageTasksResult":{ - "type":"structure", - "members":{ - "ImportImageTasks":{ - "shape":"ImportImageTaskList", - "locationName":"importImageTaskSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeImportSnapshotTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskIds":{ - "shape":"ImportTaskIdList", - "locationName":"ImportTaskId" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{"shape":"FilterList"} - } - }, - "DescribeImportSnapshotTasksResult":{ - "type":"structure", - "members":{ - "ImportSnapshotTasks":{ - "shape":"ImportSnapshotTaskList", - "locationName":"importSnapshotTaskSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "locationName":"attribute" - } - } - }, - "DescribeInstanceStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "IncludeAllInstances":{ - "shape":"Boolean", - "locationName":"includeAllInstances" - } - } - }, - "DescribeInstanceStatusResult":{ - "type":"structure", - "members":{ - "InstanceStatuses":{ - "shape":"InstanceStatusList", - "locationName":"instanceStatusSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeInstancesResult":{ - "type":"structure", - "members":{ - "Reservations":{ - "shape":"ReservationList", - "locationName":"reservationSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeInternetGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayIds":{ - "shape":"ValueStringList", - "locationName":"internetGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeInternetGatewaysResult":{ - "type":"structure", - "members":{ - "InternetGateways":{ - "shape":"InternetGatewayList", - "locationName":"internetGatewaySet" - } - } - }, - "DescribeKeyPairsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyNames":{ - "shape":"KeyNameStringList", - "locationName":"KeyName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeKeyPairsResult":{ - "type":"structure", - "members":{ - "KeyPairs":{ - "shape":"KeyPairList", - "locationName":"keySet" - } - } - }, - "DescribeMovingAddressesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIps":{ - "shape":"ValueStringList", - "locationName":"publicIp" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filter" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeMovingAddressesResult":{ - "type":"structure", - "members":{ - "MovingAddressStatuses":{ - "shape":"MovingAddressStatusSet", - "locationName":"movingAddressStatusSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeNetworkAclsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclIds":{ - "shape":"ValueStringList", - "locationName":"NetworkAclId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeNetworkAclsResult":{ - "type":"structure", - "members":{ - "NetworkAcls":{ - "shape":"NetworkAclList", - "locationName":"networkAclSet" - } - } - }, - "DescribeNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "Attribute":{ - "shape":"NetworkInterfaceAttribute", - "locationName":"attribute" - } - } - }, - "DescribeNetworkInterfaceAttributeResult":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "Description":{ - "shape":"AttributeValue", - "locationName":"description" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "locationName":"attachment" - } - } - }, - "DescribeNetworkInterfacesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceIds":{ - "shape":"NetworkInterfaceIdList", - "locationName":"NetworkInterfaceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filter" - } - } - }, - "DescribeNetworkInterfacesResult":{ - "type":"structure", - "members":{ - "NetworkInterfaces":{ - "shape":"NetworkInterfaceList", - "locationName":"networkInterfaceSet" - } - } - }, - "DescribePlacementGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupNames":{ - "shape":"PlacementGroupStringList", - "locationName":"groupName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribePlacementGroupsResult":{ - "type":"structure", - "members":{ - "PlacementGroups":{ - "shape":"PlacementGroupList", - "locationName":"placementGroupSet" - } - } - }, - "DescribePrefixListsRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "PrefixListIds":{ - "shape":"ValueStringList", - "locationName":"PrefixListId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribePrefixListsResult":{ - "type":"structure", - "members":{ - "PrefixLists":{ - "shape":"PrefixListSet", - "locationName":"prefixListSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeRegionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RegionNames":{ - "shape":"RegionNameStringList", - "locationName":"RegionName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeRegionsResult":{ - "type":"structure", - "members":{ - "Regions":{ - "shape":"RegionList", - "locationName":"regionInfo" - } - } - }, - "DescribeReservedInstancesListingsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "ReservedInstancesListingId":{ - "shape":"String", - "locationName":"reservedInstancesListingId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filters" - } - } - }, - "DescribeReservedInstancesListingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "DescribeReservedInstancesModificationsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationIds":{ - "shape":"ReservedInstancesModificationIdStringList", - "locationName":"ReservedInstancesModificationId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeReservedInstancesModificationsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModifications":{ - "shape":"ReservedInstancesModificationList", - "locationName":"reservedInstancesModificationsSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeReservedInstancesOfferingsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingIds":{ - "shape":"ReservedInstancesOfferingIdStringList", - "locationName":"ReservedInstancesOfferingId" - }, - "InstanceType":{"shape":"InstanceType"}, - "AvailabilityZone":{"shape":"String"}, - "ProductDescription":{"shape":"RIProductDescription"}, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "IncludeMarketplace":{"shape":"Boolean"}, - "MinDuration":{"shape":"Long"}, - "MaxDuration":{"shape":"Long"}, - "MaxInstanceCount":{"shape":"Integer"} - } - }, - "DescribeReservedInstancesOfferingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferings":{ - "shape":"ReservedInstancesOfferingList", - "locationName":"reservedInstancesOfferingsSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeReservedInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesIds":{ - "shape":"ReservedInstancesIdStringList", - "locationName":"ReservedInstancesId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - } - } - }, - "DescribeReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstances":{ - "shape":"ReservedInstancesList", - "locationName":"reservedInstancesSet" - } - } - }, - "DescribeRouteTablesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "locationName":"RouteTableId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeRouteTablesResult":{ - "type":"structure", - "members":{ - "RouteTables":{ - "shape":"RouteTableList", - "locationName":"routeTableSet" - } - } - }, - "DescribeSecurityGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupNames":{ - "shape":"GroupNameStringList", - "locationName":"GroupName" - }, - "GroupIds":{ - "shape":"GroupIdStringList", - "locationName":"GroupId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeSecurityGroupsResult":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroupList", - "locationName":"securityGroupInfo" - } - } - }, - "DescribeSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"}, - "Attribute":{"shape":"SnapshotAttributeName"} - } - }, - "DescribeSnapshotAttributeResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "CreateVolumePermissions":{ - "shape":"CreateVolumePermissionList", - "locationName":"createVolumePermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - } - } - }, - "DescribeSnapshotsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotIds":{ - "shape":"SnapshotIdStringList", - "locationName":"SnapshotId" - }, - "OwnerIds":{ - "shape":"OwnerStringList", - "locationName":"Owner" - }, - "RestorableByUserIds":{ - "shape":"RestorableByStringList", - "locationName":"RestorableBy" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"} - } - }, - "DescribeSnapshotsResult":{ - "type":"structure", - "members":{ - "Snapshots":{ - "shape":"SnapshotList", - "locationName":"snapshotSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DescribeSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "locationName":"spotDatafeedSubscription" - } - } - }, - "DescribeSpotFleetInstancesRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeSpotFleetInstancesResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "ActiveInstances" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "ActiveInstances":{ - "shape":"ActiveInstanceSet", - "locationName":"activeInstanceSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotFleetRequestHistoryRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "EventType":{ - "shape":"EventType", - "locationName":"eventType" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeSpotFleetRequestHistoryResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime", - "LastEvaluatedTime", - "HistoryRecords" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "LastEvaluatedTime":{ - "shape":"DateTime", - "locationName":"lastEvaluatedTime" - }, - "HistoryRecords":{ - "shape":"HistoryRecords", - "locationName":"historyRecordSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotFleetRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "locationName":"spotFleetRequestId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeSpotFleetRequestsResponse":{ - "type":"structure", - "required":["SpotFleetRequestConfigs"], - "members":{ - "SpotFleetRequestConfigs":{ - "shape":"SpotFleetRequestConfigSet", - "locationName":"spotFleetRequestConfigSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotInstanceRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "locationName":"SpotInstanceRequestId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "locationName":"spotInstanceRequestSet" - } - } - }, - "DescribeSpotPriceHistoryRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "EndTime":{ - "shape":"DateTime", - "locationName":"endTime" - }, - "InstanceTypes":{ - "shape":"InstanceTypeList", - "locationName":"InstanceType" - }, - "ProductDescriptions":{ - "shape":"ProductDescriptionList", - "locationName":"ProductDescription" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotPriceHistoryResult":{ - "type":"structure", - "members":{ - "SpotPriceHistory":{ - "shape":"SpotPriceHistoryList", - "locationName":"spotPriceHistorySet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSubnetsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetIds":{ - "shape":"SubnetIdStringList", - "locationName":"SubnetId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeSubnetsResult":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"SubnetList", - "locationName":"subnetSet" - } - } - }, - "DescribeTagsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeTagsResult":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagDescriptionList", - "locationName":"tagSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "Attribute":{"shape":"VolumeAttributeName"} - } - }, - "DescribeVolumeAttributeResult":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "locationName":"autoEnableIO" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - } - } - }, - "DescribeVolumeStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeIds":{ - "shape":"VolumeIdStringList", - "locationName":"VolumeId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"} - } - }, - "DescribeVolumeStatusResult":{ - "type":"structure", - "members":{ - "VolumeStatuses":{ - "shape":"VolumeStatusList", - "locationName":"volumeStatusSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVolumesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeIds":{ - "shape":"VolumeIdStringList", - "locationName":"VolumeId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeVolumesResult":{ - "type":"structure", - "members":{ - "Volumes":{ - "shape":"VolumeList", - "locationName":"volumeSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{"shape":"String"}, - "Attribute":{"shape":"VpcAttributeName"} - } - }, - "DescribeVpcAttributeResult":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "EnableDnsSupport":{ - "shape":"AttributeBooleanValue", - "locationName":"enableDnsSupport" - }, - "EnableDnsHostnames":{ - "shape":"AttributeBooleanValue", - "locationName":"enableDnsHostnames" - } - } - }, - "DescribeVpcClassicLinkRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcIds":{ - "shape":"VpcClassicLinkIdList", - "locationName":"VpcId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcClassicLinkList", - "locationName":"vpcSet" - } - } - }, - "DescribeVpcEndpointServicesRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeVpcEndpointServicesResult":{ - "type":"structure", - "members":{ - "ServiceNames":{ - "shape":"ValueStringList", - "locationName":"serviceNameSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVpcEndpointsRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "locationName":"VpcEndpointId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeVpcEndpointsResult":{ - "type":"structure", - "members":{ - "VpcEndpoints":{ - "shape":"VpcEndpointSet", - "locationName":"vpcEndpointSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVpcPeeringConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionIds":{ - "shape":"ValueStringList", - "locationName":"VpcPeeringConnectionId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpcPeeringConnectionsResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnections":{ - "shape":"VpcPeeringConnectionList", - "locationName":"vpcPeeringConnectionSet" - } - } - }, - "DescribeVpcsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcIds":{ - "shape":"VpcIdStringList", - "locationName":"VpcId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpcsResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcList", - "locationName":"vpcSet" - } - } - }, - "DescribeVpnConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnConnectionIds":{ - "shape":"VpnConnectionIdStringList", - "locationName":"VpnConnectionId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpnConnectionsResult":{ - "type":"structure", - "members":{ - "VpnConnections":{ - "shape":"VpnConnectionList", - "locationName":"vpnConnectionSet" - } - } - }, - "DescribeVpnGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayIds":{ - "shape":"VpnGatewayIdStringList", - "locationName":"VpnGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpnGatewaysResult":{ - "type":"structure", - "members":{ - "VpnGateways":{ - "shape":"VpnGatewayList", - "locationName":"vpnGatewaySet" - } - } - }, - "DetachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "DetachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DetachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "DetachNetworkInterfaceRequest":{ - "type":"structure", - "required":["AttachmentId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "Force":{ - "shape":"Boolean", - "locationName":"force" - } - } - }, - "DetachVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "InstanceId":{"shape":"String"}, - "Device":{"shape":"String"}, - "Force":{"shape":"Boolean"} - } - }, - "DetachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{"shape":"String"}, - "VpcId":{"shape":"String"} - } - }, - "DeviceType":{ - "type":"string", - "enum":[ - "ebs", - "instance-store" - ] - }, - "DhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Values":{ - "shape":"DhcpConfigurationValueList", - "locationName":"valueSet" - } - } - }, - "DhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"DhcpConfiguration", - "locationName":"item" - } - }, - "DhcpOptions":{ - "type":"structure", - "members":{ - "DhcpOptionsId":{ - "shape":"String", - "locationName":"dhcpOptionsId" - }, - "DhcpConfigurations":{ - "shape":"DhcpConfigurationList", - "locationName":"dhcpConfigurationSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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"}, - "GatewayId":{"shape":"String"} - } - }, - "DisableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "DisableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DisassociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIp":{"shape":"String"}, - "AssociationId":{"shape":"String"} - } - }, - "DisassociateRouteTableRequest":{ - "type":"structure", - "required":["AssociationId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "DiskImage":{ - "type":"structure", - "members":{ - "Image":{"shape":"DiskImageDetail"}, - "Description":{"shape":"String"}, - "Volume":{"shape":"VolumeDetail"} - } - }, - "DiskImageDescription":{ - "type":"structure", - "required":[ - "Format", - "Size", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "locationName":"format" - }, - "Size":{ - "shape":"Long", - "locationName":"size" - }, - "ImportManifestUrl":{ - "shape":"String", - "locationName":"importManifestUrl" - }, - "Checksum":{ - "shape":"String", - "locationName":"checksum" - } - } - }, - "DiskImageDetail":{ - "type":"structure", - "required":[ - "Format", - "Bytes", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "locationName":"format" - }, - "Bytes":{ - "shape":"Long", - "locationName":"bytes" - }, - "ImportManifestUrl":{ - "shape":"String", - "locationName":"importManifestUrl" - } - } - }, - "DiskImageFormat":{ - "type":"string", - "enum":[ - "VMDK", - "RAW", - "VHD" - ] - }, - "DiskImageList":{ - "type":"list", - "member":{"shape":"DiskImage"} - }, - "DiskImageVolumeDescription":{ - "type":"structure", - "required":["Id"], - "members":{ - "Size":{ - "shape":"Long", - "locationName":"size" - }, - "Id":{ - "shape":"String", - "locationName":"id" - } - } - }, - "DomainType":{ - "type":"string", - "enum":[ - "vpc", - "standard" - ] - }, - "Double":{"type":"double"}, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "VolumeSize":{ - "shape":"Integer", - "locationName":"volumeSize" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - }, - "VolumeType":{ - "shape":"VolumeType", - "locationName":"volumeType" - }, - "Iops":{ - "shape":"Integer", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - } - } - }, - "EbsInstanceBlockDevice":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "Status":{ - "shape":"AttachmentStatus", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "EbsInstanceBlockDeviceSpecification":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "EnableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{"shape":"String"}, - "GatewayId":{"shape":"String"} - } - }, - "EnableVolumeIORequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - } - } - }, - "EnableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "EnableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "EventCode":{ - "type":"string", - "enum":[ - "instance-reboot", - "system-reboot", - "system-maintenance", - "instance-retirement", - "instance-stop" - ] - }, - "EventInformation":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "EventSubType":{ - "shape":"String", - "locationName":"eventSubType" - }, - "EventDescription":{ - "shape":"String", - "locationName":"eventDescription" - } - } - }, - "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", - "locationName":"exportTaskId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "State":{ - "shape":"ExportTaskState", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "InstanceExportDetails":{ - "shape":"InstanceExportDetails", - "locationName":"instanceExport" - }, - "ExportToS3Task":{ - "shape":"ExportToS3Task", - "locationName":"exportToS3" - } - } - }, - "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", - "locationName":"diskImageFormat" - }, - "ContainerFormat":{ - "shape":"ContainerFormat", - "locationName":"containerFormat" - }, - "S3Bucket":{ - "shape":"String", - "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", - "locationName":"s3Prefix" - } - } - }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "Values":{ - "shape":"ValueStringList", - "locationName":"Value" - } - } - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "Float":{"type":"float"}, - "FlowLog":{ - "type":"structure", - "members":{ - "CreationTime":{ - "shape":"DateTime", - "locationName":"creationTime" - }, - "FlowLogId":{ - "shape":"String", - "locationName":"flowLogId" - }, - "FlowLogStatus":{ - "shape":"String", - "locationName":"flowLogStatus" - }, - "ResourceId":{ - "shape":"String", - "locationName":"resourceId" - }, - "TrafficType":{ - "shape":"TrafficType", - "locationName":"trafficType" - }, - "LogGroupName":{ - "shape":"String", - "locationName":"logGroupName" - }, - "DeliverLogsStatus":{ - "shape":"String", - "locationName":"deliverLogsStatus" - }, - "DeliverLogsErrorMessage":{ - "shape":"String", - "locationName":"deliverLogsErrorMessage" - }, - "DeliverLogsPermissionArn":{ - "shape":"String", - "locationName":"deliverLogsPermissionArn" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceId":{"shape":"String"} - } - }, - "GetConsoleOutputResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Timestamp":{ - "shape":"DateTime", - "locationName":"timestamp" - }, - "Output":{ - "shape":"String", - "locationName":"output" - } - } - }, - "GetPasswordDataRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{"shape":"String"} - } - }, - "GetPasswordDataResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Timestamp":{ - "shape":"DateTime", - "locationName":"timestamp" - }, - "PasswordData":{ - "shape":"String", - "locationName":"passwordData" - } - } - }, - "GroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"groupId" - } - }, - "GroupIdentifier":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - } - } - }, - "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", - "locationName":"timestamp" - }, - "EventType":{ - "shape":"EventType", - "locationName":"eventType" - }, - "EventInformation":{ - "shape":"EventInformation", - "locationName":"eventInformation" - } - } - }, - "HistoryRecords":{ - "type":"list", - "member":{ - "shape":"HistoryRecord", - "locationName":"item" - } - }, - "HypervisorType":{ - "type":"string", - "enum":[ - "ovm", - "xen" - ] - }, - "IamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "locationName":"arn" - }, - "Id":{ - "shape":"String", - "locationName":"id" - } - } - }, - "IamInstanceProfileSpecification":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "locationName":"arn" - }, - "Name":{ - "shape":"String", - "locationName":"name" - } - } - }, - "IcmpTypeCode":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"Integer", - "locationName":"type" - }, - "Code":{ - "shape":"Integer", - "locationName":"code" - } - } - }, - "Image":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "ImageLocation":{ - "shape":"String", - "locationName":"imageLocation" - }, - "State":{ - "shape":"ImageState", - "locationName":"imageState" - }, - "OwnerId":{ - "shape":"String", - "locationName":"imageOwnerId" - }, - "CreationDate":{ - "shape":"String", - "locationName":"creationDate" - }, - "Public":{ - "shape":"Boolean", - "locationName":"isPublic" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "ImageType":{ - "shape":"ImageTypeValues", - "locationName":"imageType" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "locationName":"platform" - }, - "SriovNetSupport":{ - "shape":"String", - "locationName":"sriovNetSupport" - }, - "StateReason":{ - "shape":"StateReason", - "locationName":"stateReason" - }, - "ImageOwnerAlias":{ - "shape":"String", - "locationName":"imageOwnerAlias" - }, - "Name":{ - "shape":"String", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "RootDeviceType":{ - "shape":"DeviceType", - "locationName":"rootDeviceType" - }, - "RootDeviceName":{ - "shape":"String", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "locationName":"virtualizationType" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "locationName":"hypervisor" - } - } - }, - "ImageAttribute":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "LaunchPermissions":{ - "shape":"LaunchPermissionList", - "locationName":"launchPermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "KernelId":{ - "shape":"AttributeValue", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "locationName":"ramdisk" - }, - "Description":{ - "shape":"AttributeValue", - "locationName":"description" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - } - } - }, - "ImageAttributeName":{ - "type":"string", - "enum":[ - "description", - "kernel", - "ramdisk", - "launchPermission", - "productCodes", - "blockDeviceMapping", - "sriovNetSupport" - ] - }, - "ImageDiskContainer":{ - "type":"structure", - "members":{ - "Description":{"shape":"String"}, - "Format":{"shape":"String"}, - "Url":{"shape":"String"}, - "UserBucket":{"shape":"UserBucket"}, - "DeviceName":{"shape":"String"}, - "SnapshotId":{"shape":"String"} - } - }, - "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"}, - "DiskContainers":{ - "shape":"ImageDiskContainerList", - "locationName":"DiskContainer" - }, - "LicenseType":{"shape":"String"}, - "Hypervisor":{"shape":"String"}, - "Architecture":{"shape":"String"}, - "Platform":{"shape":"String"}, - "ClientData":{"shape":"ClientData"}, - "ClientToken":{"shape":"String"}, - "RoleName":{"shape":"String"} - } - }, - "ImportImageResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "Architecture":{ - "shape":"String", - "locationName":"architecture" - }, - "LicenseType":{ - "shape":"String", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "ImportImageTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "Architecture":{ - "shape":"String", - "locationName":"architecture" - }, - "LicenseType":{ - "shape":"String", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "ImportImageTaskList":{ - "type":"list", - "member":{ - "shape":"ImportImageTask", - "locationName":"item" - } - }, - "ImportInstanceLaunchSpecification":{ - "type":"structure", - "members":{ - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "GroupNames":{ - "shape":"SecurityGroupStringList", - "locationName":"GroupName" - }, - "GroupIds":{ - "shape":"SecurityGroupIdStringList", - "locationName":"GroupId" - }, - "AdditionalInfo":{ - "shape":"String", - "locationName":"additionalInfo" - }, - "UserData":{ - "shape":"UserData", - "locationName":"userData" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"Placement", - "locationName":"placement" - }, - "Monitoring":{ - "shape":"Boolean", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"ShutdownBehavior", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - } - } - }, - "ImportInstanceRequest":{ - "type":"structure", - "required":["Platform"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "LaunchSpecification":{ - "shape":"ImportInstanceLaunchSpecification", - "locationName":"launchSpecification" - }, - "DiskImages":{ - "shape":"DiskImageList", - "locationName":"diskImage" - }, - "Platform":{ - "shape":"PlatformValues", - "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", - "locationName":"platform" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportInstanceVolumeDetailItem":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "Image", - "Volume", - "Status" - ], - "members":{ - "BytesConverted":{ - "shape":"Long", - "locationName":"bytesConverted" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Image":{ - "shape":"DiskImageDescription", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "locationName":"volume" - }, - "Status":{ - "shape":"String", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportInstanceVolumeDetailSet":{ - "type":"list", - "member":{ - "shape":"ImportInstanceVolumeDetailItem", - "locationName":"item" - } - }, - "ImportKeyPairRequest":{ - "type":"structure", - "required":[ - "KeyName", - "PublicKeyMaterial" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "PublicKeyMaterial":{ - "shape":"Blob", - "locationName":"publicKeyMaterial" - } - } - }, - "ImportKeyPairResult":{ - "type":"structure", - "members":{ - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "KeyFingerprint":{ - "shape":"String", - "locationName":"keyFingerprint" - } - } - }, - "ImportSnapshotRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "Description":{"shape":"String"}, - "DiskContainer":{"shape":"SnapshotDiskContainer"}, - "ClientData":{"shape":"ClientData"}, - "ClientToken":{"shape":"String"}, - "RoleName":{"shape":"String"} - } - }, - "ImportSnapshotResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportSnapshotTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "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", - "locationName":"availabilityZone" - }, - "Image":{ - "shape":"DiskImageDetail", - "locationName":"image" - }, - "Description":{ - "shape":"String", - "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", - "locationName":"bytesConverted" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Image":{ - "shape":"DiskImageDescription", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "locationName":"volume" - } - } - }, - "Instance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "State":{ - "shape":"InstanceState", - "locationName":"instanceState" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "PublicDnsName":{ - "shape":"String", - "locationName":"dnsName" - }, - "StateTransitionReason":{ - "shape":"String", - "locationName":"reason" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "AmiLaunchIndex":{ - "shape":"Integer", - "locationName":"amiLaunchIndex" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "LaunchTime":{ - "shape":"DateTime", - "locationName":"launchTime" - }, - "Placement":{ - "shape":"Placement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "locationName":"platform" - }, - "Monitoring":{ - "shape":"Monitoring", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PublicIpAddress":{ - "shape":"String", - "locationName":"ipAddress" - }, - "StateReason":{ - "shape":"StateReason", - "locationName":"stateReason" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "RootDeviceType":{ - "shape":"DeviceType", - "locationName":"rootDeviceType" - }, - "RootDeviceName":{ - "shape":"String", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "locationName":"virtualizationType" - }, - "InstanceLifecycle":{ - "shape":"InstanceLifecycleType", - "locationName":"instanceLifecycle" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "locationName":"sourceDestCheck" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "locationName":"hypervisor" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceList", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfile", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"String", - "locationName":"sriovNetSupport" - } - } - }, - "InstanceAttribute":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"AttributeValue", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"AttributeValue", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"AttributeValue", - "locationName":"userData" - }, - "DisableApiTermination":{ - "shape":"AttributeBooleanValue", - "locationName":"disableApiTermination" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"AttributeValue", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "RootDeviceName":{ - "shape":"AttributeValue", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "EbsOptimized":{ - "shape":"AttributeBooleanValue", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - } - } - }, - "InstanceAttributeName":{ - "type":"string", - "enum":[ - "instanceType", - "kernel", - "ramdisk", - "userData", - "disableApiTermination", - "instanceInitiatedShutdownBehavior", - "rootDeviceName", - "blockDeviceMapping", - "productCodes", - "sourceDestCheck", - "groupSet", - "ebsOptimized", - "sriovNetSupport" - ] - }, - "InstanceBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDevice", - "locationName":"ebs" - } - } - }, - "InstanceBlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMapping", - "locationName":"item" - } - }, - "InstanceBlockDeviceMappingSpecification":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDeviceSpecification", - "locationName":"ebs" - }, - "VirtualName":{ - "shape":"String", - "locationName":"virtualName" - }, - "NoDevice":{ - "shape":"String", - "locationName":"noDevice" - } - } - }, - "InstanceBlockDeviceMappingSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMappingSpecification", - "locationName":"item" - } - }, - "InstanceCount":{ - "type":"structure", - "members":{ - "State":{ - "shape":"ListingState", - "locationName":"state" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - } - } - }, - "InstanceCountList":{ - "type":"list", - "member":{ - "shape":"InstanceCount", - "locationName":"item" - } - }, - "InstanceExportDetails":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "locationName":"targetEnvironment" - } - } - }, - "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", - "locationName":"instanceId" - }, - "Monitoring":{ - "shape":"Monitoring", - "locationName":"monitoring" - } - } - }, - "InstanceMonitoringList":{ - "type":"list", - "member":{ - "shape":"InstanceMonitoring", - "locationName":"item" - } - }, - "InstanceNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Status":{ - "shape":"NetworkInterfaceStatus", - "locationName":"status" - }, - "MacAddress":{ - "shape":"String", - "locationName":"macAddress" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Attachment":{ - "shape":"InstanceNetworkInterfaceAttachment", - "locationName":"attachment" - }, - "Association":{ - "shape":"InstanceNetworkInterfaceAssociation", - "locationName":"association" - }, - "PrivateIpAddresses":{ - "shape":"InstancePrivateIpAddressList", - "locationName":"privateIpAddressesSet" - } - } - }, - "InstanceNetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "PublicDnsName":{ - "shape":"String", - "locationName":"publicDnsName" - }, - "IpOwnerId":{ - "shape":"String", - "locationName":"ipOwnerId" - } - } - }, - "InstanceNetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "InstanceNetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterface", - "locationName":"item" - } - }, - "InstanceNetworkInterfaceSpecification":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "locationName":"privateIpAddressesSet", - "queryName":"PrivateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "locationName":"associatePublicIpAddress" - } - } - }, - "InstanceNetworkInterfaceSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterfaceSpecification", - "locationName":"item" - } - }, - "InstancePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "locationName":"primary" - }, - "Association":{ - "shape":"InstanceNetworkInterfaceAssociation", - "locationName":"association" - } - } - }, - "InstancePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"InstancePrivateIpAddress", - "locationName":"item" - } - }, - "InstanceState":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"Integer", - "locationName":"code" - }, - "Name":{ - "shape":"InstanceStateName", - "locationName":"name" - } - } - }, - "InstanceStateChange":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "CurrentState":{ - "shape":"InstanceState", - "locationName":"currentState" - }, - "PreviousState":{ - "shape":"InstanceState", - "locationName":"previousState" - } - } - }, - "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", - "locationName":"instanceId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Events":{ - "shape":"InstanceStatusEventList", - "locationName":"eventsSet" - }, - "InstanceState":{ - "shape":"InstanceState", - "locationName":"instanceState" - }, - "SystemStatus":{ - "shape":"InstanceStatusSummary", - "locationName":"systemStatus" - }, - "InstanceStatus":{ - "shape":"InstanceStatusSummary", - "locationName":"instanceStatus" - } - } - }, - "InstanceStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"StatusName", - "locationName":"name" - }, - "Status":{ - "shape":"StatusType", - "locationName":"status" - }, - "ImpairedSince":{ - "shape":"DateTime", - "locationName":"impairedSince" - } - } - }, - "InstanceStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusDetails", - "locationName":"item" - } - }, - "InstanceStatusEvent":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"EventCode", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "NotBefore":{ - "shape":"DateTime", - "locationName":"notBefore" - }, - "NotAfter":{ - "shape":"DateTime", - "locationName":"notAfter" - } - } - }, - "InstanceStatusEventList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusEvent", - "locationName":"item" - } - }, - "InstanceStatusList":{ - "type":"list", - "member":{ - "shape":"InstanceStatus", - "locationName":"item" - } - }, - "InstanceStatusSummary":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"SummaryStatus", - "locationName":"status" - }, - "Details":{ - "shape":"InstanceStatusDetailsList", - "locationName":"details" - } - } - }, - "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", - "locationName":"internetGatewayId" - }, - "Attachments":{ - "shape":"InternetGatewayAttachmentList", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "InternetGatewayAttachment":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "State":{ - "shape":"AttachmentStatus", - "locationName":"state" - } - } - }, - "InternetGatewayAttachmentList":{ - "type":"list", - "member":{ - "shape":"InternetGatewayAttachment", - "locationName":"item" - } - }, - "InternetGatewayList":{ - "type":"list", - "member":{ - "shape":"InternetGateway", - "locationName":"item" - } - }, - "IpPermission":{ - "type":"structure", - "members":{ - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairList", - "locationName":"groups" - }, - "IpRanges":{ - "shape":"IpRangeList", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "shape":"PrefixListIdList", - "locationName":"prefixListIds" - } - } - }, - "IpPermissionList":{ - "type":"list", - "member":{ - "shape":"IpPermission", - "locationName":"item" - } - }, - "IpRange":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"String", - "locationName":"cidrIp" - } - } - }, - "IpRangeList":{ - "type":"list", - "member":{ - "shape":"IpRange", - "locationName":"item" - } - }, - "KeyNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"KeyName" - } - }, - "KeyPair":{ - "type":"structure", - "members":{ - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "KeyFingerprint":{ - "shape":"String", - "locationName":"keyFingerprint" - }, - "KeyMaterial":{ - "shape":"String", - "locationName":"keyMaterial" - } - } - }, - "KeyPairInfo":{ - "type":"structure", - "members":{ - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "KeyFingerprint":{ - "shape":"String", - "locationName":"keyFingerprint" - } - } - }, - "KeyPairList":{ - "type":"list", - "member":{ - "shape":"KeyPairInfo", - "locationName":"item" - } - }, - "LaunchPermission":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "locationName":"userId" - }, - "Group":{ - "shape":"PermissionGroup", - "locationName":"group" - } - } - }, - "LaunchPermissionList":{ - "type":"list", - "member":{ - "shape":"LaunchPermission", - "locationName":"item" - } - }, - "LaunchPermissionModifications":{ - "type":"structure", - "members":{ - "Add":{"shape":"LaunchPermissionList"}, - "Remove":{"shape":"LaunchPermissionList"} - } - }, - "LaunchSpecification":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "UserData":{ - "shape":"String", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - } - } - }, - "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", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"}, - "Attribute":{"shape":"String"}, - "OperationType":{"shape":"OperationType"}, - "UserIds":{ - "shape":"UserIdStringList", - "locationName":"UserId" - }, - "UserGroups":{ - "shape":"UserGroupStringList", - "locationName":"UserGroup" - }, - "ProductCodes":{ - "shape":"ProductCodeStringList", - "locationName":"ProductCode" - }, - "Value":{"shape":"String"}, - "LaunchPermission":{"shape":"LaunchPermissionModifications"}, - "Description":{"shape":"AttributeValue"} - } - }, - "ModifyInstanceAttributeRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "locationName":"attribute" - }, - "Value":{ - "shape":"String", - "locationName":"value" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingSpecificationList", - "locationName":"blockDeviceMapping" - }, - "SourceDestCheck":{"shape":"AttributeBooleanValue"}, - "DisableApiTermination":{ - "shape":"AttributeBooleanValue", - "locationName":"disableApiTermination" - }, - "InstanceType":{ - "shape":"AttributeValue", - "locationName":"instanceType" - }, - "Kernel":{ - "shape":"AttributeValue", - "locationName":"kernel" - }, - "Ramdisk":{ - "shape":"AttributeValue", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"BlobAttributeValue", - "locationName":"userData" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"AttributeValue", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "Groups":{ - "shape":"GroupIdStringList", - "locationName":"GroupId" - }, - "EbsOptimized":{ - "shape":"AttributeBooleanValue", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - } - } - }, - "ModifyNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "Description":{ - "shape":"AttributeValue", - "locationName":"description" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachmentChanges", - "locationName":"attachment" - } - } - }, - "ModifyReservedInstancesRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesIds", - "TargetConfigurations" - ], - "members":{ - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "ReservedInstancesIds":{ - "shape":"ReservedInstancesIdStringList", - "locationName":"ReservedInstancesId" - }, - "TargetConfigurations":{ - "shape":"ReservedInstancesConfigurationList", - "locationName":"ReservedInstancesConfigurationSetItemType" - } - } - }, - "ModifyReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "locationName":"reservedInstancesModificationId" - } - } - }, - "ModifySnapshotAttributeRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"}, - "Attribute":{"shape":"SnapshotAttributeName"}, - "OperationType":{"shape":"OperationType"}, - "UserIds":{ - "shape":"UserIdStringList", - "locationName":"UserId" - }, - "GroupNames":{ - "shape":"GroupNameStringList", - "locationName":"UserGroup" - }, - "CreateVolumePermission":{"shape":"CreateVolumePermissionModifications"} - } - }, - "ModifySubnetAttributeRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "MapPublicIpOnLaunch":{"shape":"AttributeBooleanValue"} - } - }, - "ModifyVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "AutoEnableIO":{"shape":"AttributeBooleanValue"} - } - }, - "ModifyVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "EnableDnsSupport":{"shape":"AttributeBooleanValue"}, - "EnableDnsHostnames":{"shape":"AttributeBooleanValue"} - } - }, - "ModifyVpcEndpointRequest":{ - "type":"structure", - "required":["VpcEndpointId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcEndpointId":{"shape":"String"}, - "ResetPolicy":{"shape":"Boolean"}, - "PolicyDocument":{"shape":"String"}, - "AddRouteTableIds":{ - "shape":"ValueStringList", - "locationName":"AddRouteTableId" - }, - "RemoveRouteTableIds":{ - "shape":"ValueStringList", - "locationName":"RemoveRouteTableId" - } - } - }, - "ModifyVpcEndpointResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "MonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "MonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "locationName":"instancesSet" - } - } - }, - "Monitoring":{ - "type":"structure", - "members":{ - "State":{ - "shape":"MonitoringState", - "locationName":"state" - } - } - }, - "MonitoringState":{ - "type":"string", - "enum":[ - "disabled", - "disabling", - "enabled", - "pending" - ] - }, - "MoveAddressToVpcRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - } - } - }, - "MoveAddressToVpcResult":{ - "type":"structure", - "members":{ - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "Status":{ - "shape":"Status", - "locationName":"status" - } - } - }, - "MoveStatus":{ - "type":"string", - "enum":[ - "movingToVpc", - "restoringToClassic" - ] - }, - "MovingAddressStatus":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "MoveStatus":{ - "shape":"MoveStatus", - "locationName":"moveStatus" - } - } - }, - "MovingAddressStatusSet":{ - "type":"list", - "member":{ - "shape":"MovingAddressStatus", - "locationName":"item" - } - }, - "NetworkAcl":{ - "type":"structure", - "members":{ - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "IsDefault":{ - "shape":"Boolean", - "locationName":"default" - }, - "Entries":{ - "shape":"NetworkAclEntryList", - "locationName":"entrySet" - }, - "Associations":{ - "shape":"NetworkAclAssociationList", - "locationName":"associationSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "NetworkAclAssociation":{ - "type":"structure", - "members":{ - "NetworkAclAssociationId":{ - "shape":"String", - "locationName":"networkAclAssociationId" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - } - } - }, - "NetworkAclAssociationList":{ - "type":"list", - "member":{ - "shape":"NetworkAclAssociation", - "locationName":"item" - } - }, - "NetworkAclEntry":{ - "type":"structure", - "members":{ - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "locationName":"ruleAction" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "locationName":"icmpTypeCode" - }, - "PortRange":{ - "shape":"PortRange", - "locationName":"portRange" - } - } - }, - "NetworkAclEntryList":{ - "type":"list", - "member":{ - "shape":"NetworkAclEntry", - "locationName":"item" - } - }, - "NetworkAclList":{ - "type":"list", - "member":{ - "shape":"NetworkAcl", - "locationName":"item" - } - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "locationName":"requesterId" - }, - "RequesterManaged":{ - "shape":"Boolean", - "locationName":"requesterManaged" - }, - "Status":{ - "shape":"NetworkInterfaceStatus", - "locationName":"status" - }, - "MacAddress":{ - "shape":"String", - "locationName":"macAddress" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "locationName":"attachment" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "locationName":"association" - }, - "TagSet":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "PrivateIpAddresses":{ - "shape":"NetworkInterfacePrivateIpAddressList", - "locationName":"privateIpAddressesSet" - } - } - }, - "NetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "PublicDnsName":{ - "shape":"String", - "locationName":"publicDnsName" - }, - "IpOwnerId":{ - "shape":"String", - "locationName":"ipOwnerId" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "NetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "locationName":"instanceOwnerId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "NetworkInterfaceAttachmentChanges":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "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", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "locationName":"primary" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "locationName":"association" - } - } - }, - "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", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Tenancy":{ - "shape":"Tenancy", - "locationName":"tenancy" - } - } - }, - "PlacementGroup":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "locationName":"strategy" - }, - "State":{ - "shape":"PlacementGroupState", - "locationName":"state" - } - } - }, - "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", - "locationName":"from" - }, - "To":{ - "shape":"Integer", - "locationName":"to" - } - } - }, - "PrefixList":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "locationName":"prefixListId" - }, - "PrefixListName":{ - "shape":"String", - "locationName":"prefixListName" - }, - "Cidrs":{ - "shape":"ValueStringList", - "locationName":"cidrSet" - } - } - }, - "PrefixListId":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "locationName":"prefixListId" - } - } - }, - "PrefixListIdList":{ - "type":"list", - "member":{ - "shape":"PrefixListId", - "locationName":"item" - } - }, - "PrefixListSet":{ - "type":"list", - "member":{ - "shape":"PrefixList", - "locationName":"item" - } - }, - "PriceSchedule":{ - "type":"structure", - "members":{ - "Term":{ - "shape":"Long", - "locationName":"term" - }, - "Price":{ - "shape":"Double", - "locationName":"price" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "Active":{ - "shape":"Boolean", - "locationName":"active" - } - } - }, - "PriceScheduleList":{ - "type":"list", - "member":{ - "shape":"PriceSchedule", - "locationName":"item" - } - }, - "PriceScheduleSpecification":{ - "type":"structure", - "members":{ - "Term":{ - "shape":"Long", - "locationName":"term" - }, - "Price":{ - "shape":"Double", - "locationName":"price" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - } - } - }, - "PriceScheduleSpecificationList":{ - "type":"list", - "member":{ - "shape":"PriceScheduleSpecification", - "locationName":"item" - } - }, - "PricingDetail":{ - "type":"structure", - "members":{ - "Price":{ - "shape":"Double", - "locationName":"price" - }, - "Count":{ - "shape":"Integer", - "locationName":"count" - } - } - }, - "PricingDetailsList":{ - "type":"list", - "member":{ - "shape":"PricingDetail", - "locationName":"item" - } - }, - "PrivateIpAddressSpecification":{ - "type":"structure", - "required":["PrivateIpAddress"], - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "Primary":{ - "shape":"Boolean", - "locationName":"primary" - } - } - }, - "PrivateIpAddressSpecificationList":{ - "type":"list", - "member":{ - "shape":"PrivateIpAddressSpecification", - "locationName":"item" - } - }, - "PrivateIpAddressStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PrivateIpAddress" - } - }, - "ProductCode":{ - "type":"structure", - "members":{ - "ProductCodeId":{ - "shape":"String", - "locationName":"productCode" - }, - "ProductCodeType":{ - "shape":"ProductCodeValues", - "locationName":"type" - } - } - }, - "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", - "locationName":"gatewayId" - } - } - }, - "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"}, - "InstanceCount":{"shape":"Integer"}, - "LimitPrice":{ - "shape":"ReservedInstanceLimitPrice", - "locationName":"limitPrice" - } - } - }, - "PurchaseReservedInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "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", - "locationName":"InstanceId" - } - } - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"RecurringChargeFrequency", - "locationName":"frequency" - }, - "Amount":{ - "shape":"Double", - "locationName":"amount" - } - } - }, - "RecurringChargeFrequency":{ - "type":"string", - "enum":["Hourly"] - }, - "RecurringChargesList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"item" - } - }, - "Region":{ - "type":"structure", - "members":{ - "RegionName":{ - "shape":"String", - "locationName":"regionName" - }, - "Endpoint":{ - "shape":"String", - "locationName":"regionEndpoint" - } - } - }, - "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"}, - "Name":{ - "shape":"String", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "RootDeviceName":{ - "shape":"String", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "locationName":"BlockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"String", - "locationName":"virtualizationType" - }, - "SriovNetSupport":{ - "shape":"String", - "locationName":"sriovNetSupport" - } - } - }, - "RegisterImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - } - } - }, - "RejectVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "RejectVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "ReleaseAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIp":{"shape":"String"}, - "AllocationId":{"shape":"String"} - } - }, - "ReplaceNetworkAclAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "NetworkAclId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - } - } - }, - "ReplaceNetworkAclAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "locationName":"newAssociationId" - } - } - }, - "ReplaceNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "locationName":"ruleAction" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "locationName":"portRange" - } - } - }, - "ReplaceRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - }, - "GatewayId":{ - "shape":"String", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "ReplaceRouteTableAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - } - } - }, - "ReplaceRouteTableAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "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", - "locationName":"instanceId" - }, - "Status":{ - "shape":"ReportStatusType", - "locationName":"status" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "EndTime":{ - "shape":"DateTime", - "locationName":"endTime" - }, - "ReasonCodes":{ - "shape":"ReasonCodesList", - "locationName":"reasonCode" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ReportStatusType":{ - "type":"string", - "enum":[ - "ok", - "impaired" - ] - }, - "RequestSpotFleetRequest":{ - "type":"structure", - "required":["SpotFleetRequestConfig"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "locationName":"spotFleetRequestConfig" - } - } - }, - "RequestSpotFleetResponse":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - } - } - }, - "RequestSpotInstancesRequest":{ - "type":"structure", - "required":["SpotPrice"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "Type":{ - "shape":"SpotInstanceType", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "locationName":"validUntil" - }, - "LaunchGroup":{ - "shape":"String", - "locationName":"launchGroup" - }, - "AvailabilityZoneGroup":{ - "shape":"String", - "locationName":"availabilityZoneGroup" - }, - "LaunchSpecification":{"shape":"RequestSpotLaunchSpecification"} - } - }, - "RequestSpotInstancesResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "locationName":"spotInstanceRequestSet" - } - } - }, - "Reservation":{ - "type":"structure", - "members":{ - "ReservationId":{ - "shape":"String", - "locationName":"reservationId" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "locationName":"requesterId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Instances":{ - "shape":"InstanceList", - "locationName":"instancesSet" - } - } - }, - "ReservationList":{ - "type":"list", - "member":{ - "shape":"Reservation", - "locationName":"item" - } - }, - "ReservedInstanceLimitPrice":{ - "type":"structure", - "members":{ - "Amount":{ - "shape":"Double", - "locationName":"amount" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - } - } - }, - "ReservedInstanceState":{ - "type":"string", - "enum":[ - "payment-pending", - "active", - "payment-failed", - "retired" - ] - }, - "ReservedInstances":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Start":{ - "shape":"DateTime", - "locationName":"start" - }, - "End":{ - "shape":"DateTime", - "locationName":"end" - }, - "Duration":{ - "shape":"Long", - "locationName":"duration" - }, - "UsagePrice":{ - "shape":"Float", - "locationName":"usagePrice" - }, - "FixedPrice":{ - "shape":"Float", - "locationName":"fixedPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "State":{ - "shape":"ReservedInstanceState", - "locationName":"state" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - }, - "RecurringCharges":{ - "shape":"RecurringChargesList", - "locationName":"recurringCharges" - } - } - }, - "ReservedInstancesConfiguration":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - } - } - }, - "ReservedInstancesConfigurationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"item" - } - }, - "ReservedInstancesId":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - } - } - }, - "ReservedInstancesIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesId" - } - }, - "ReservedInstancesList":{ - "type":"list", - "member":{ - "shape":"ReservedInstances", - "locationName":"item" - } - }, - "ReservedInstancesListing":{ - "type":"structure", - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "locationName":"reservedInstancesListingId" - }, - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "CreateDate":{ - "shape":"DateTime", - "locationName":"createDate" - }, - "UpdateDate":{ - "shape":"DateTime", - "locationName":"updateDate" - }, - "Status":{ - "shape":"ListingStatus", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "InstanceCounts":{ - "shape":"InstanceCountList", - "locationName":"instanceCounts" - }, - "PriceSchedules":{ - "shape":"PriceScheduleList", - "locationName":"priceSchedules" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "ReservedInstancesListingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesListing", - "locationName":"item" - } - }, - "ReservedInstancesModification":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "locationName":"reservedInstancesModificationId" - }, - "ReservedInstancesIds":{ - "shape":"ReservedIntancesIds", - "locationName":"reservedInstancesSet" - }, - "ModificationResults":{ - "shape":"ReservedInstancesModificationResultList", - "locationName":"modificationResultSet" - }, - "CreateDate":{ - "shape":"DateTime", - "locationName":"createDate" - }, - "UpdateDate":{ - "shape":"DateTime", - "locationName":"updateDate" - }, - "EffectiveDate":{ - "shape":"DateTime", - "locationName":"effectiveDate" - }, - "Status":{ - "shape":"String", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "ReservedInstancesModificationIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesModificationId" - } - }, - "ReservedInstancesModificationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModification", - "locationName":"item" - } - }, - "ReservedInstancesModificationResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "TargetConfiguration":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"targetConfiguration" - } - } - }, - "ReservedInstancesModificationResultList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModificationResult", - "locationName":"item" - } - }, - "ReservedInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferingId":{ - "shape":"String", - "locationName":"reservedInstancesOfferingId" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Duration":{ - "shape":"Long", - "locationName":"duration" - }, - "UsagePrice":{ - "shape":"Float", - "locationName":"usagePrice" - }, - "FixedPrice":{ - "shape":"Float", - "locationName":"fixedPrice" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - }, - "RecurringCharges":{ - "shape":"RecurringChargesList", - "locationName":"recurringCharges" - }, - "Marketplace":{ - "shape":"Boolean", - "locationName":"marketplace" - }, - "PricingDetails":{ - "shape":"PricingDetailsList", - "locationName":"pricingDetailsSet" - } - } - }, - "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"}, - "Attribute":{"shape":"ResetImageAttributeName"} - } - }, - "ResetInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "locationName":"attribute" - } - } - }, - "ResetNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "SourceDestCheck":{ - "shape":"String", - "locationName":"sourceDestCheck" - } - } - }, - "ResetSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"}, - "Attribute":{"shape":"SnapshotAttributeName"} - } - }, - "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", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - } - } - }, - "RestoreAddressToClassicResult":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"Status", - "locationName":"status" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - } - } - }, - "RevokeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "locationName":"cidrIp" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "locationName":"ipPermissions" - } - } - }, - "RevokeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "GroupId":{"shape":"String"}, - "SourceSecurityGroupName":{"shape":"String"}, - "SourceSecurityGroupOwnerId":{"shape":"String"}, - "IpProtocol":{"shape":"String"}, - "FromPort":{"shape":"Integer"}, - "ToPort":{"shape":"Integer"}, - "CidrIp":{"shape":"String"}, - "IpPermissions":{"shape":"IpPermissionList"} - } - }, - "Route":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - }, - "DestinationPrefixListId":{ - "shape":"String", - "locationName":"destinationPrefixListId" - }, - "GatewayId":{ - "shape":"String", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "locationName":"instanceOwnerId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - }, - "State":{ - "shape":"RouteState", - "locationName":"state" - }, - "Origin":{ - "shape":"RouteOrigin", - "locationName":"origin" - } - } - }, - "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", - "locationName":"routeTableId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Routes":{ - "shape":"RouteList", - "locationName":"routeSet" - }, - "Associations":{ - "shape":"RouteTableAssociationList", - "locationName":"associationSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "PropagatingVgws":{ - "shape":"PropagatingVgwList", - "locationName":"propagatingVgwSet" - } - } - }, - "RouteTableAssociation":{ - "type":"structure", - "members":{ - "RouteTableAssociationId":{ - "shape":"String", - "locationName":"routeTableAssociationId" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "Main":{ - "shape":"Boolean", - "locationName":"main" - } - } - }, - "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", - "locationName":"enabled" - } - } - }, - "RunInstancesRequest":{ - "type":"structure", - "required":[ - "ImageId", - "MinCount", - "MaxCount" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"}, - "MinCount":{"shape":"Integer"}, - "MaxCount":{"shape":"Integer"}, - "KeyName":{"shape":"String"}, - "SecurityGroups":{ - "shape":"SecurityGroupStringList", - "locationName":"SecurityGroup" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "UserData":{"shape":"String"}, - "InstanceType":{"shape":"InstanceType"}, - "Placement":{"shape":"Placement"}, - "KernelId":{"shape":"String"}, - "RamdiskId":{"shape":"String"}, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "locationName":"BlockDeviceMapping" - }, - "Monitoring":{"shape":"RunInstancesMonitoringEnabled"}, - "SubnetId":{"shape":"String"}, - "DisableApiTermination":{ - "shape":"Boolean", - "locationName":"disableApiTermination" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"ShutdownBehavior", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "AdditionalInfo":{ - "shape":"String", - "locationName":"additionalInfo" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"networkInterface" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - } - } - }, - "S3Storage":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"String", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "locationName":"prefix" - }, - "AWSAccessKeyId":{"shape":"String"}, - "UploadPolicy":{ - "shape":"Blob", - "locationName":"uploadPolicy" - }, - "UploadPolicySignature":{ - "shape":"String", - "locationName":"uploadPolicySignature" - } - } - }, - "SecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "Description":{ - "shape":"String", - "locationName":"groupDescription" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "locationName":"ipPermissions" - }, - "IpPermissionsEgress":{ - "shape":"IpPermissionList", - "locationName":"ipPermissionsEgress" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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", - "locationName":"snapshotId" - }, - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "State":{ - "shape":"SnapshotState", - "locationName":"status" - }, - "StateMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "VolumeSize":{ - "shape":"Integer", - "locationName":"volumeSize" - }, - "OwnerAlias":{ - "shape":"String", - "locationName":"ownerAlias" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - }, - "DataEncryptionKeyId":{ - "shape":"String", - "locationName":"dataEncryptionKeyId" - } - } - }, - "SnapshotAttributeName":{ - "type":"string", - "enum":[ - "productCodes", - "createVolumePermission" - ] - }, - "SnapshotDetail":{ - "type":"structure", - "members":{ - "DiskImageSize":{ - "shape":"Double", - "locationName":"diskImageSize" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Format":{ - "shape":"String", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "locationName":"userBucket" - }, - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "SnapshotDetailList":{ - "type":"list", - "member":{ - "shape":"SnapshotDetail", - "locationName":"item" - } - }, - "SnapshotDiskContainer":{ - "type":"structure", - "members":{ - "Description":{"shape":"String"}, - "Format":{"shape":"String"}, - "Url":{"shape":"String"}, - "UserBucket":{"shape":"UserBucket"} - } - }, - "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", - "locationName":"diskImageSize" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Format":{ - "shape":"String", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "locationName":"userBucket" - }, - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "SpotDatafeedSubscription":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Bucket":{ - "shape":"String", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "locationName":"prefix" - }, - "State":{ - "shape":"DatafeedSubscriptionState", - "locationName":"state" - }, - "Fault":{ - "shape":"SpotInstanceStateFault", - "locationName":"fault" - } - } - }, - "SpotFleetLaunchSpecification":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "UserData":{ - "shape":"String", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "Monitoring":{ - "shape":"SpotFleetMonitoring", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "WeightedCapacity":{ - "shape":"Double", - "locationName":"weightedCapacity" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - } - } - }, - "SpotFleetMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "locationName":"enabled" - } - } - }, - "SpotFleetRequestConfig":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "SpotFleetRequestState", - "SpotFleetRequestConfig" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "SpotFleetRequestState":{ - "shape":"BatchState", - "locationName":"spotFleetRequestState" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "locationName":"spotFleetRequestConfig" - } - } - }, - "SpotFleetRequestConfigData":{ - "type":"structure", - "required":[ - "SpotPrice", - "TargetCapacity", - "IamFleetRole", - "LaunchSpecifications" - ], - "members":{ - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "TargetCapacity":{ - "shape":"Integer", - "locationName":"targetCapacity" - }, - "ValidFrom":{ - "shape":"DateTime", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "locationName":"validUntil" - }, - "TerminateInstancesWithExpiration":{ - "shape":"Boolean", - "locationName":"terminateInstancesWithExpiration" - }, - "IamFleetRole":{ - "shape":"String", - "locationName":"iamFleetRole" - }, - "LaunchSpecifications":{ - "shape":"LaunchSpecsList", - "locationName":"launchSpecifications" - }, - "AllocationStrategy":{ - "shape":"AllocationStrategy", - "locationName":"allocationStrategy" - } - } - }, - "SpotFleetRequestConfigSet":{ - "type":"list", - "member":{ - "shape":"SpotFleetRequestConfig", - "locationName":"item" - } - }, - "SpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "Type":{ - "shape":"SpotInstanceType", - "locationName":"type" - }, - "State":{ - "shape":"SpotInstanceState", - "locationName":"state" - }, - "Fault":{ - "shape":"SpotInstanceStateFault", - "locationName":"fault" - }, - "Status":{ - "shape":"SpotInstanceStatus", - "locationName":"status" - }, - "ValidFrom":{ - "shape":"DateTime", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "locationName":"validUntil" - }, - "LaunchGroup":{ - "shape":"String", - "locationName":"launchGroup" - }, - "AvailabilityZoneGroup":{ - "shape":"String", - "locationName":"availabilityZoneGroup" - }, - "LaunchSpecification":{ - "shape":"LaunchSpecification", - "locationName":"launchSpecification" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "LaunchedAvailabilityZone":{ - "shape":"String", - "locationName":"launchedAvailabilityZone" - } - } - }, - "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", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "SpotInstanceStatus":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "UpdateTime":{ - "shape":"DateTime", - "locationName":"updateTime" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "SpotInstanceType":{ - "type":"string", - "enum":[ - "one-time", - "persistent" - ] - }, - "SpotPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - } - } - }, - "SpotPrice":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "Timestamp":{ - "shape":"DateTime", - "locationName":"timestamp" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - } - } - }, - "SpotPriceHistoryList":{ - "type":"list", - "member":{ - "shape":"SpotPrice", - "locationName":"item" - } - }, - "StartInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "AdditionalInfo":{ - "shape":"String", - "locationName":"additionalInfo" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "StartInstancesResult":{ - "type":"structure", - "members":{ - "StartingInstances":{ - "shape":"InstanceStateChangeList", - "locationName":"instancesSet" - } - } - }, - "State":{ - "type":"string", - "enum":[ - "Pending", - "Available", - "Deleting", - "Deleted" - ] - }, - "StateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Force":{ - "shape":"Boolean", - "locationName":"force" - } - } - }, - "StopInstancesResult":{ - "type":"structure", - "members":{ - "StoppingInstances":{ - "shape":"InstanceStateChangeList", - "locationName":"instancesSet" - } - } - }, - "Storage":{ - "type":"structure", - "members":{ - "S3":{"shape":"S3Storage"} - } - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "State":{ - "shape":"SubnetState", - "locationName":"state" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "AvailableIpAddressCount":{ - "shape":"Integer", - "locationName":"availableIpAddressCount" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "DefaultForAz":{ - "shape":"Boolean", - "locationName":"defaultForAz" - }, - "MapPublicIpOnLaunch":{ - "shape":"Boolean", - "locationName":"mapPublicIpOnLaunch" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "locationName":"value" - } - } - }, - "TagDescription":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"String", - "locationName":"resourceId" - }, - "ResourceType":{ - "shape":"ResourceType", - "locationName":"resourceType" - }, - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "locationName":"value" - } - } - }, - "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", - "locationName":"InstanceId" - } - } - }, - "TerminateInstancesResult":{ - "type":"structure", - "members":{ - "TerminatingInstances":{ - "shape":"InstanceStateChangeList", - "locationName":"instancesSet" - } - } - }, - "TrafficType":{ - "type":"string", - "enum":[ - "ACCEPT", - "REJECT", - "ALL" - ] - }, - "UnassignPrivateIpAddressesRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "PrivateIpAddresses" - ], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "locationName":"privateIpAddress" - } - } - }, - "UnmonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "UnmonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "locationName":"instancesSet" - } - } - }, - "UnsuccessfulItem":{ - "type":"structure", - "required":["Error"], - "members":{ - "ResourceId":{ - "shape":"String", - "locationName":"resourceId" - }, - "Error":{ - "shape":"UnsuccessfulItemError", - "locationName":"error" - } - } - }, - "UnsuccessfulItemError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "UnsuccessfulItemSet":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UserBucket":{ - "type":"structure", - "members":{ - "S3Bucket":{"shape":"String"}, - "S3Key":{"shape":"String"} - } - }, - "UserBucketDetails":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "locationName":"s3Key" - } - } - }, - "UserData":{ - "type":"structure", - "members":{ - "Data":{ - "shape":"String", - "locationName":"data" - } - } - }, - "UserGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserGroup" - } - }, - "UserIdGroupPair":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "locationName":"userId" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - } - } - }, - "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", - "locationName":"outsideIpAddress" - }, - "Status":{ - "shape":"TelemetryStatus", - "locationName":"status" - }, - "LastStatusChange":{ - "shape":"DateTime", - "locationName":"lastStatusChange" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "AcceptedRouteCount":{ - "shape":"Integer", - "locationName":"acceptedRouteCount" - } - } - }, - "VgwTelemetryList":{ - "type":"list", - "member":{ - "shape":"VgwTelemetry", - "locationName":"item" - } - }, - "VirtualizationType":{ - "type":"string", - "enum":[ - "hvm", - "paravirtual" - ] - }, - "Volume":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "Size":{ - "shape":"Integer", - "locationName":"size" - }, - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "State":{ - "shape":"VolumeState", - "locationName":"status" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - }, - "Attachments":{ - "shape":"VolumeAttachmentList", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "VolumeType":{ - "shape":"VolumeType", - "locationName":"volumeType" - }, - "Iops":{ - "shape":"Integer", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - } - } - }, - "VolumeAttachment":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Device":{ - "shape":"String", - "locationName":"device" - }, - "State":{ - "shape":"VolumeAttachmentState", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "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", - "locationName":"size" - } - } - }, - "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", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "EventType":{ - "shape":"String", - "locationName":"eventType" - }, - "EventId":{ - "shape":"String", - "locationName":"eventId" - } - } - }, - "VolumeStatusActionsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusAction", - "locationName":"item" - } - }, - "VolumeStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"VolumeStatusName", - "locationName":"name" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "VolumeStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusDetails", - "locationName":"item" - } - }, - "VolumeStatusEvent":{ - "type":"structure", - "members":{ - "EventType":{ - "shape":"String", - "locationName":"eventType" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "NotBefore":{ - "shape":"DateTime", - "locationName":"notBefore" - }, - "NotAfter":{ - "shape":"DateTime", - "locationName":"notAfter" - }, - "EventId":{ - "shape":"String", - "locationName":"eventId" - } - } - }, - "VolumeStatusEventsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusEvent", - "locationName":"item" - } - }, - "VolumeStatusInfo":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"VolumeStatusInfoStatus", - "locationName":"status" - }, - "Details":{ - "shape":"VolumeStatusDetailsList", - "locationName":"details" - } - } - }, - "VolumeStatusInfoStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data" - ] - }, - "VolumeStatusItem":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "VolumeStatus":{ - "shape":"VolumeStatusInfo", - "locationName":"volumeStatus" - }, - "Events":{ - "shape":"VolumeStatusEventsList", - "locationName":"eventsSet" - }, - "Actions":{ - "shape":"VolumeStatusActionsList", - "locationName":"actionsSet" - } - } - }, - "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", - "locationName":"vpcId" - }, - "State":{ - "shape":"VpcState", - "locationName":"state" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "DhcpOptionsId":{ - "shape":"String", - "locationName":"dhcpOptionsId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "IsDefault":{ - "shape":"Boolean", - "locationName":"isDefault" - } - } - }, - "VpcAttachment":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "State":{ - "shape":"AttachmentStatus", - "locationName":"state" - } - } - }, - "VpcAttachmentList":{ - "type":"list", - "member":{ - "shape":"VpcAttachment", - "locationName":"item" - } - }, - "VpcAttributeName":{ - "type":"string", - "enum":[ - "enableDnsSupport", - "enableDnsHostnames" - ] - }, - "VpcClassicLink":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "ClassicLinkEnabled":{ - "shape":"Boolean", - "locationName":"classicLinkEnabled" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "VpcClassicLinkIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcClassicLinkList":{ - "type":"list", - "member":{ - "shape":"VpcClassicLink", - "locationName":"item" - } - }, - "VpcEndpoint":{ - "type":"structure", - "members":{ - "VpcEndpointId":{ - "shape":"String", - "locationName":"vpcEndpointId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "ServiceName":{ - "shape":"String", - "locationName":"serviceName" - }, - "State":{ - "shape":"State", - "locationName":"state" - }, - "PolicyDocument":{ - "shape":"String", - "locationName":"policyDocument" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "locationName":"routeTableIdSet" - }, - "CreationTimestamp":{ - "shape":"DateTime", - "locationName":"creationTimestamp" - } - } - }, - "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", - "locationName":"accepterVpcInfo" - }, - "ExpirationTime":{ - "shape":"DateTime", - "locationName":"expirationTime" - }, - "RequesterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "locationName":"requesterVpcInfo" - }, - "Status":{ - "shape":"VpcPeeringConnectionStateReason", - "locationName":"status" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "VpcPeeringConnectionList":{ - "type":"list", - "member":{ - "shape":"VpcPeeringConnection", - "locationName":"item" - } - }, - "VpcPeeringConnectionStateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"VpcPeeringConnectionStateReasonCode", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "VpcPeeringConnectionStateReasonCode":{ - "type":"string", - "enum":[ - "initiating-request", - "pending-acceptance", - "active", - "deleted", - "rejected", - "failed", - "expired", - "provisioning", - "deleting" - ] - }, - "VpcPeeringConnectionVpcInfo":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "VpcState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "VpnConnection":{ - "type":"structure", - "members":{ - "VpnConnectionId":{ - "shape":"String", - "locationName":"vpnConnectionId" - }, - "State":{ - "shape":"VpnState", - "locationName":"state" - }, - "CustomerGatewayConfiguration":{ - "shape":"String", - "locationName":"customerGatewayConfiguration" - }, - "Type":{ - "shape":"GatewayType", - "locationName":"type" - }, - "CustomerGatewayId":{ - "shape":"String", - "locationName":"customerGatewayId" - }, - "VpnGatewayId":{ - "shape":"String", - "locationName":"vpnGatewayId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "VgwTelemetry":{ - "shape":"VgwTelemetryList", - "locationName":"vgwTelemetry" - }, - "Options":{ - "shape":"VpnConnectionOptions", - "locationName":"options" - }, - "Routes":{ - "shape":"VpnStaticRouteList", - "locationName":"routes" - } - } - }, - "VpnConnectionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnConnectionId" - } - }, - "VpnConnectionList":{ - "type":"list", - "member":{ - "shape":"VpnConnection", - "locationName":"item" - } - }, - "VpnConnectionOptions":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "locationName":"staticRoutesOnly" - } - } - }, - "VpnConnectionOptionsSpecification":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "locationName":"staticRoutesOnly" - } - } - }, - "VpnGateway":{ - "type":"structure", - "members":{ - "VpnGatewayId":{ - "shape":"String", - "locationName":"vpnGatewayId" - }, - "State":{ - "shape":"VpnState", - "locationName":"state" - }, - "Type":{ - "shape":"GatewayType", - "locationName":"type" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "VpcAttachments":{ - "shape":"VpcAttachmentList", - "locationName":"attachments" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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", - "locationName":"destinationCidrBlock" - }, - "Source":{ - "shape":"VpnStaticRouteSource", - "locationName":"source" - }, - "State":{ - "shape":"VpnState", - "locationName":"state" - } - } - }, - "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", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "SecurityGroups":{ - "shape":"ValueStringList", - "locationName":"SecurityGroup" - }, - "UserData":{ - "shape":"String", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"NetworkInterface" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "locationName":"SecurityGroupId" - } - } - } - } -} diff --git a/models/apis/ec2/2015-04-15/docs-2.json b/models/apis/ec2/2015-04-15/docs-2.json deleted file mode 100644 index a970264b7f2..00000000000 --- a/models/apis/ec2/2015-04-15/docs-2.json +++ /dev/null @@ -1,5495 +0,0 @@ -{ - "version": "2.0", - "operations": { - "AcceptVpcPeeringConnection": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Attaches a network interface to an instance.

", - "AttachVolume": "

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:

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": "

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": "

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": "

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": "

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": "

Cancels a bundling operation for an instance store-backed Windows instance.

", - "CancelConversionTask": "

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": "

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": "

Cancels an in-process import virtual machine or import snapshot task.

", - "CancelReservedInstancesListing": "

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": "

Cancels the specified Spot fleet requests.

", - "CancelSpotInstanceRequests": "

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": "

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": "

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": "

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": "

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": "

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.

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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:

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

", - "DeleteDhcpOptions": "

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": "

Deletes one or more flow logs.

", - "DeleteInternetGateway": "

Deletes the specified Internet gateway. You must detach the Internet gateway from the VPC before you can delete it.

", - "DeleteKeyPair": "

Deletes the specified key pair, by removing the public key from Amazon EC2.

", - "DeleteNetworkAcl": "

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": "

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

", - "DeleteNetworkInterface": "

Deletes the specified network interface. You must detach the network interface before you can delete it.

", - "DeletePlacementGroup": "

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": "

Deletes the specified route from the specified route table.

", - "DeleteRouteTable": "

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": "

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": "

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": "

Deletes the data feed for Spot instances.

", - "DeleteSubnet": "

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

", - "DeleteTags": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Describes attributes of your AWS account. The following are the supported account attributes:

", - "DescribeAddresses": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Describes one or more of your export tasks.

", - "DescribeFlowLogs": "

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": "

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

", - "DescribeImages": "

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": "

Displays details about an import virtual machine or import snapshot tasks that are already created.

", - "DescribeImportSnapshotTasks": "

Describes your import snapshot tasks.

", - "DescribeInstanceAttribute": "

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": "

Describes the status of one or more instances.

Instance status includes the following components:

", - "DescribeInstances": "

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": "

Describes one or more of your Internet gateways.

", - "DescribeKeyPairs": "

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": "

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": "

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": "

Describes a network interface attribute. You can specify only one attribute at a time.

", - "DescribeNetworkInterfaces": "

Describes one or more of your network interfaces.

", - "DescribePlacementGroups": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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:

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": "

Describes the data feed for Spot instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

", - "DescribeSpotFleetInstances": "

Describes the running instances for the specified Spot fleet.

", - "DescribeSpotFleetRequestHistory": "

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": "

Describes your Spot fleet requests.

", - "DescribeSpotInstanceRequests": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

", - "DescribeVpcClassicLink": "

Describes the ClassicLink status of one or more VPCs.

", - "DescribeVpcEndpointServices": "

Describes all supported AWS services that can be specified when creating a VPC endpoint.

", - "DescribeVpcEndpoints": "

Describes one or more of your VPC endpoints.

", - "DescribeVpcPeeringConnections": "

Describes one or more of your VPC peering connections.

", - "DescribeVpcs": "

Describes one or more of your VPCs.

", - "DescribeVpnConnections": "

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": "

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": "

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": "

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": "

Detaches a network interface from an instance.

", - "DetachVolume": "

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": "

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": "

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

", - "DisableVpcClassicLink": "

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

", - "DisassociateAddress": "

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": "

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": "

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

", - "EnableVolumeIO": "

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

", - "EnableVpcClassicLink": "

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": "

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": "

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": "

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI).

", - "ImportInstance": "

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": "

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": "

Imports a disk into an EBS snapshot.

", - "ImportVolume": "

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": "

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": "

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": "

Modifies the specified network interface attribute. You can specify only one attribute at a time.

", - "ModifyReservedInstances": "

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": "

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": "

Modifies a subnet attribute.

", - "ModifyVolumeAttribute": "

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": "

Modifies the specified attribute of the specified VPC.

", - "ModifyVpcEndpoint": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

", - "ResetInstanceAttribute": "

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": "

Resets a network interface attribute. You can specify only one attribute at a time.

", - "ResetSnapshotAttribute": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Unassigns one or more secondary private IP addresses from a network interface.

", - "UnmonitorInstances": "

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.

" - }, - "service": "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.

", - "shapes": { - "AcceptVpcPeeringConnectionRequest": { - "base": null, - "refs": { - } - }, - "AcceptVpcPeeringConnectionResult": { - "base": null, - "refs": { - } - }, - "AccountAttribute": { - "base": "

Describes an account attribute.

", - "refs": { - "AccountAttributeList$member": null - } - }, - "AccountAttributeList": { - "base": null, - "refs": { - "DescribeAccountAttributesResult$AccountAttributes": "

Information about one or more account attributes.

" - } - }, - "AccountAttributeName": { - "base": null, - "refs": { - "AccountAttributeNameStringList$member": null - } - }, - "AccountAttributeNameStringList": { - "base": null, - "refs": { - "DescribeAccountAttributesRequest$AttributeNames": "

One or more account attribute names.

" - } - }, - "AccountAttributeValue": { - "base": "

Describes a value of an account attribute.

", - "refs": { - "AccountAttributeValueList$member": null - } - }, - "AccountAttributeValueList": { - "base": null, - "refs": { - "AccountAttribute$AttributeValues": "

One or more values for the account attribute.

" - } - }, - "ActiveInstance": { - "base": "

Describes a running instance in a Spot fleet.

", - "refs": { - "ActiveInstanceSet$member": null - } - }, - "ActiveInstanceSet": { - "base": null, - "refs": { - "DescribeSpotFleetInstancesResponse$ActiveInstances": "

The running instances. Note that this list is refreshed periodically and might be out of date.

" - } - }, - "Address": { - "base": "

Describes an Elastic IP address.

", - "refs": { - "AddressList$member": null - } - }, - "AddressList": { - "base": null, - "refs": { - "DescribeAddressesResult$Addresses": "

Information about one or more Elastic IP addresses.

" - } - }, - "AllocateAddressRequest": { - "base": null, - "refs": { - } - }, - "AllocateAddressResult": { - "base": null, - "refs": { - } - }, - "AllocationIdList": { - "base": null, - "refs": { - "DescribeAddressesRequest$AllocationIds": "

[EC2-VPC] One or more allocation IDs.

Default: Describes all your Elastic IP addresses.

" - } - }, - "AllocationStrategy": { - "base": null, - "refs": { - "SpotFleetRequestConfigData$AllocationStrategy": "

Determines how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The default is lowestPrice.

" - } - }, - "ArchitectureValues": { - "base": null, - "refs": { - "Image$Architecture": "

The architecture of the image.

", - "ImportInstanceLaunchSpecification$Architecture": "

The architecture of the instance.

", - "Instance$Architecture": "

The architecture of the image.

", - "RegisterImageRequest$Architecture": "

The architecture of the AMI.

Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture specified in the manifest file.

" - } - }, - "AssignPrivateIpAddressesRequest": { - "base": null, - "refs": { - } - }, - "AssociateAddressRequest": { - "base": null, - "refs": { - } - }, - "AssociateAddressResult": { - "base": null, - "refs": { - } - }, - "AssociateDhcpOptionsRequest": { - "base": null, - "refs": { - } - }, - "AssociateRouteTableRequest": { - "base": null, - "refs": { - } - }, - "AssociateRouteTableResult": { - "base": null, - "refs": { - } - }, - "AttachClassicLinkVpcRequest": { - "base": null, - "refs": { - } - }, - "AttachClassicLinkVpcResult": { - "base": null, - "refs": { - } - }, - "AttachInternetGatewayRequest": { - "base": null, - "refs": { - } - }, - "AttachNetworkInterfaceRequest": { - "base": null, - "refs": { - } - }, - "AttachNetworkInterfaceResult": { - "base": null, - "refs": { - } - }, - "AttachVolumeRequest": { - "base": null, - "refs": { - } - }, - "AttachVpnGatewayRequest": { - "base": null, - "refs": { - } - }, - "AttachVpnGatewayResult": { - "base": null, - "refs": { - } - }, - "AttachmentStatus": { - "base": null, - "refs": { - "EbsInstanceBlockDevice$Status": "

The attachment state.

", - "InstanceNetworkInterfaceAttachment$Status": "

The attachment state.

", - "InternetGatewayAttachment$State": "

The current state of the attachment.

", - "NetworkInterfaceAttachment$Status": "

The attachment state.

", - "VpcAttachment$State": "

The current state of the attachment.

" - } - }, - "AttributeBooleanValue": { - "base": "

The value to use when a resource attribute accepts a Boolean value.

", - "refs": { - "DescribeNetworkInterfaceAttributeResult$SourceDestCheck": "

Indicates whether source/destination checking is enabled.

", - "DescribeVolumeAttributeResult$AutoEnableIO": "

The state of autoEnableIO attribute.

", - "DescribeVpcAttributeResult$EnableDnsSupport": "

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.

", - "DescribeVpcAttributeResult$EnableDnsHostnames": "

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.

", - "InstanceAttribute$DisableApiTermination": "

If the value is true, you can't terminate the instance through the Amazon EC2 console, CLI, or API; otherwise, you can.

", - "InstanceAttribute$EbsOptimized": "

Indicates whether the instance is optimized for EBS I/O.

", - "InstanceAttribute$SourceDestCheck": "

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.

", - "ModifyInstanceAttributeRequest$SourceDestCheck": "

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.

", - "ModifyInstanceAttributeRequest$DisableApiTermination": "

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.

", - "ModifyInstanceAttributeRequest$EbsOptimized": "

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.

", - "ModifyNetworkInterfaceAttributeRequest$SourceDestCheck": "

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.

", - "ModifySubnetAttributeRequest$MapPublicIpOnLaunch": "

Specify true to indicate that instances launched into the specified subnet should be assigned public IP address.

", - "ModifyVolumeAttributeRequest$AutoEnableIO": "

Indicates whether the volume should be auto-enabled for I/O operations.

", - "ModifyVpcAttributeRequest$EnableDnsSupport": "

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.

", - "ModifyVpcAttributeRequest$EnableDnsHostnames": "

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.

" - } - }, - "AttributeValue": { - "base": "

The value to use for a resource attribute.

", - "refs": { - "DescribeNetworkInterfaceAttributeResult$Description": "

The description of the network interface.

", - "ImageAttribute$KernelId": "

The kernel ID.

", - "ImageAttribute$RamdiskId": "

The RAM disk ID.

", - "ImageAttribute$Description": "

A description for the AMI.

", - "ImageAttribute$SriovNetSupport": null, - "InstanceAttribute$InstanceType": "

The instance type.

", - "InstanceAttribute$KernelId": "

The kernel ID.

", - "InstanceAttribute$RamdiskId": "

The RAM disk ID.

", - "InstanceAttribute$UserData": "

The Base64-encoded MIME user data.

", - "InstanceAttribute$InstanceInitiatedShutdownBehavior": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "InstanceAttribute$RootDeviceName": "

The name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "InstanceAttribute$SriovNetSupport": null, - "ModifyImageAttributeRequest$Description": "

A description for the AMI.

", - "ModifyInstanceAttributeRequest$InstanceType": "

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.

", - "ModifyInstanceAttributeRequest$Kernel": "

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.

", - "ModifyInstanceAttributeRequest$Ramdisk": "

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.

", - "ModifyInstanceAttributeRequest$InstanceInitiatedShutdownBehavior": "

Specifies whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "ModifyInstanceAttributeRequest$SriovNetSupport": "

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.

", - "ModifyNetworkInterfaceAttributeRequest$Description": "

A description for the network interface.

", - "DhcpConfigurationValueList$member": null - } - }, - "AuthorizeSecurityGroupEgressRequest": { - "base": null, - "refs": { - } - }, - "AuthorizeSecurityGroupIngressRequest": { - "base": null, - "refs": { - } - }, - "AvailabilityZone": { - "base": "

Describes an Availability Zone.

", - "refs": { - "AvailabilityZoneList$member": null - } - }, - "AvailabilityZoneList": { - "base": null, - "refs": { - "DescribeAvailabilityZonesResult$AvailabilityZones": "

Information about one or more Availability Zones.

" - } - }, - "AvailabilityZoneMessage": { - "base": "

Describes a message about an Availability Zone.

", - "refs": { - "AvailabilityZoneMessageList$member": null - } - }, - "AvailabilityZoneMessageList": { - "base": null, - "refs": { - "AvailabilityZone$Messages": "

Any messages about the Availability Zone.

" - } - }, - "AvailabilityZoneState": { - "base": null, - "refs": { - "AvailabilityZone$State": "

The state of the Availability Zone (available | impaired | unavailable).

" - } - }, - "BatchState": { - "base": null, - "refs": { - "CancelSpotFleetRequestsSuccessItem$CurrentSpotFleetRequestState": "

The current state of the Spot fleet request.

", - "CancelSpotFleetRequestsSuccessItem$PreviousSpotFleetRequestState": "

The previous state of the Spot fleet request.

", - "SpotFleetRequestConfig$SpotFleetRequestState": "

The state of the Spot fleet request.

" - } - }, - "BlockDeviceMapping": { - "base": "

Describes a block device mapping.

", - "refs": { - "BlockDeviceMappingList$member": null, - "BlockDeviceMappingRequestList$member": null - } - }, - "BlockDeviceMappingList": { - "base": null, - "refs": { - "Image$BlockDeviceMappings": "

Any block device mapping entries.

", - "ImageAttribute$BlockDeviceMappings": "

One or more block device mapping entries.

", - "LaunchSpecification$BlockDeviceMappings": "

One or more block device mapping entries.

", - "SpotFleetLaunchSpecification$BlockDeviceMappings": "

One or more block device mapping entries.

", - "RequestSpotLaunchSpecification$BlockDeviceMappings": "

One or more block device mapping entries.

" - } - }, - "BlockDeviceMappingRequestList": { - "base": null, - "refs": { - "CreateImageRequest$BlockDeviceMappings": "

Information about one or more block device mappings.

", - "RegisterImageRequest$BlockDeviceMappings": "

One or more block device mapping entries.

", - "RunInstancesRequest$BlockDeviceMappings": "

The block device mapping.

" - } - }, - "Boolean": { - "base": null, - "refs": { - "AcceptVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AllocateAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AssignPrivateIpAddressesRequest$AllowReassignment": "

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.

", - "AssociateAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AssociateAddressRequest$AllowReassociation": "

[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

", - "AssociateDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AssociateRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachClassicLinkVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachClassicLinkVpcResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "AttachInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachVpnGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttributeBooleanValue$Value": "

Valid values are true or false.

", - "AuthorizeSecurityGroupEgressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AuthorizeSecurityGroupIngressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "BundleInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelBundleTaskRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelConversionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelImportTaskRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelSpotFleetRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelSpotFleetRequestsRequest$TerminateInstances": "

Indicates whether to terminate instances for a Spot fleet request if it is canceled successfully.

", - "CancelSpotInstanceRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ConfirmProductInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ConfirmProductInstanceResult$Return": "

The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance.

", - "CopyImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CopySnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CopySnapshotRequest$Encrypted": "

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.

", - "CreateCustomerGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateImageRequest$NoReboot": "

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.

", - "CreateInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateNetworkAclEntryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateNetworkAclEntryRequest$Egress": "

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

", - "CreateNetworkAclRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreatePlacementGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateRouteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateRouteResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "CreateRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSecurityGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSpotDatafeedSubscriptionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSubnetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateTagsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVolumeRequest$Encrypted": "

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.

", - "CreateVpcEndpointRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpnConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpnGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteCustomerGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteNetworkAclEntryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteNetworkAclEntryRequest$Egress": "

Indicates whether the rule is an egress rule.

", - "DeleteNetworkAclRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeletePlacementGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteRouteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSecurityGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSpotDatafeedSubscriptionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSubnetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteTagsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpcEndpointsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpcPeeringConnectionResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DeleteVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpnConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpnGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeregisterImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeAccountAttributesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeAddressesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeAvailabilityZonesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeBundleTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeClassicLinkInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeConversionTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeCustomerGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImagesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImportImageTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImportSnapshotTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInstanceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInstanceStatusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInstanceStatusRequest$IncludeAllInstances": "

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

", - "DescribeInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInternetGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeKeyPairsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeMovingAddressesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeNetworkAclsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeNetworkInterfacesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribePlacementGroupsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribePrefixListsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeRegionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeReservedInstancesOfferingsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeReservedInstancesOfferingsRequest$IncludeMarketplace": "

Include Marketplace offerings in the response.

", - "DescribeReservedInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeRouteTablesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSecurityGroupsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSnapshotAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSnapshotsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotDatafeedSubscriptionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotFleetInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotFleetRequestHistoryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotFleetRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotInstanceRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotPriceHistoryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSubnetsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeTagsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVolumeAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVolumeStatusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVolumesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcEndpointServicesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcEndpointsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcPeeringConnectionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpnConnectionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpnGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachClassicLinkVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachClassicLinkVpcResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DetachInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachNetworkInterfaceRequest$Force": "

Specifies whether to force a detachment.

", - "DetachVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachVolumeRequest$Force": "

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$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DisableVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DisableVpcClassicLinkResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DisassociateAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DisassociateRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "EbsBlockDevice$DeleteOnTermination": "

Indicates whether the EBS volume is deleted on instance termination.

", - "EbsBlockDevice$Encrypted": "

Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption.

", - "EbsInstanceBlockDevice$DeleteOnTermination": "

Indicates whether the volume is deleted on instance termination.

", - "EbsInstanceBlockDeviceSpecification$DeleteOnTermination": "

Indicates whether the volume is deleted on instance termination.

", - "EnableVolumeIORequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "EnableVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "EnableVpcClassicLinkResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "GetConsoleOutputRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "GetPasswordDataRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "Image$Public": "

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.

", - "ImportImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportInstanceLaunchSpecification$Monitoring": "

Indicates whether monitoring is enabled.

", - "ImportInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportSnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "Instance$SourceDestCheck": "

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.

", - "Instance$EbsOptimized": "

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.

", - "InstanceNetworkInterface$SourceDestCheck": "

Indicates whether to validate network traffic to or from this network interface.

", - "InstanceNetworkInterfaceAttachment$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "InstanceNetworkInterfaceSpecification$DeleteOnTermination": "

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.

", - "InstanceNetworkInterfaceSpecification$AssociatePublicIpAddress": "

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.

", - "InstancePrivateIpAddress$Primary": "

Indicates whether this IP address is the primary private IP address of the network interface.

", - "LaunchSpecification$EbsOptimized": "

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

", - "ModifyImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyInstanceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifySnapshotAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyVolumeAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyVpcEndpointRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyVpcEndpointRequest$ResetPolicy": "

Specify true to reset the policy document to the default policy. The default policy allows access to the service.

", - "ModifyVpcEndpointResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "MonitorInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "MoveAddressToVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "NetworkAcl$IsDefault": "

Indicates whether this is the default network ACL for the VPC.

", - "NetworkAclEntry$Egress": "

Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

", - "NetworkInterface$RequesterManaged": "

Indicates whether the network interface is being managed by AWS.

", - "NetworkInterface$SourceDestCheck": "

Indicates whether traffic to or from the instance is validated.

", - "NetworkInterfaceAttachment$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "NetworkInterfaceAttachmentChanges$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "NetworkInterfacePrivateIpAddress$Primary": "

Indicates whether this IP address is the primary private IP address of the network interface.

", - "PriceSchedule$Active": "

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.

", - "PrivateIpAddressSpecification$Primary": "

Indicates whether the private IP address is the primary private IP address. Only one IP address can be designated as primary.

", - "PurchaseReservedInstancesOfferingRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RebootInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RegisterImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RejectVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RejectVpcPeeringConnectionResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "ReleaseAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceNetworkAclAssociationRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceNetworkAclEntryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceNetworkAclEntryRequest$Egress": "

Indicates whether to replace the egress rule.

Default: If no value is specified, we replace the ingress rule.

", - "ReplaceRouteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceRouteTableAssociationRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReportInstanceStatusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RequestSpotFleetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RequestSpotInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReservedInstancesOffering$Marketplace": "

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.

", - "ResetImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ResetInstanceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ResetNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ResetSnapshotAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RestoreAddressToClassicRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RevokeSecurityGroupEgressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RevokeSecurityGroupIngressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RouteTableAssociation$Main": "

Indicates whether this is the main route table.

", - "RunInstancesMonitoringEnabled$Enabled": "

Indicates whether monitoring is enabled for the instance.

", - "RunInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RunInstancesRequest$DisableApiTermination": "

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

", - "RunInstancesRequest$EbsOptimized": "

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

", - "Snapshot$Encrypted": "

Indicates whether the snapshot is encrypted.

", - "SpotFleetLaunchSpecification$EbsOptimized": "

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

", - "SpotFleetMonitoring$Enabled": "

Enables monitoring for the instance.

Default: false

", - "SpotFleetRequestConfigData$TerminateInstancesWithExpiration": "

Indicates whether running Spot instances should be terminated when the Spot fleet request expires.

", - "StartInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "StopInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "StopInstancesRequest$Force": "

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

", - "Subnet$DefaultForAz": "

Indicates whether this is the default subnet for the Availability Zone.

", - "Subnet$MapPublicIpOnLaunch": "

Indicates whether instances launched in this subnet receive a public IP address.

", - "TerminateInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "UnmonitorInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "Volume$Encrypted": "

Indicates whether the volume will be encrypted.

", - "VolumeAttachment$DeleteOnTermination": "

Indicates whether the EBS volume is deleted on instance termination.

", - "Vpc$IsDefault": "

Indicates whether the VPC is the default VPC.

", - "VpcClassicLink$ClassicLinkEnabled": "

Indicates whether the VPC is enabled for ClassicLink.

", - "VpnConnectionOptions$StaticRoutesOnly": "

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "VpnConnectionOptionsSpecification$StaticRoutesOnly": "

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "RequestSpotLaunchSpecification$EbsOptimized": "

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

" - } - }, - "BundleIdStringList": { - "base": null, - "refs": { - "DescribeBundleTasksRequest$BundleIds": "

One or more bundle task IDs.

Default: Describes all your bundle tasks.

" - } - }, - "BundleInstanceRequest": { - "base": null, - "refs": { - } - }, - "BundleInstanceResult": { - "base": null, - "refs": { - } - }, - "BundleTask": { - "base": "

Describes a bundle task.

", - "refs": { - "BundleInstanceResult$BundleTask": "

Information about the bundle task.

", - "BundleTaskList$member": null, - "CancelBundleTaskResult$BundleTask": "

Information about the bundle task.

" - } - }, - "BundleTaskError": { - "base": "

Describes an error for BundleInstance.

", - "refs": { - "BundleTask$BundleTaskError": "

If the task fails, a description of the error.

" - } - }, - "BundleTaskList": { - "base": null, - "refs": { - "DescribeBundleTasksResult$BundleTasks": "

Information about one or more bundle tasks.

" - } - }, - "BundleTaskState": { - "base": null, - "refs": { - "BundleTask$State": "

The state of the task.

" - } - }, - "CancelBatchErrorCode": { - "base": null, - "refs": { - "CancelSpotFleetRequestsError$Code": "

The error code.

" - } - }, - "CancelBundleTaskRequest": { - "base": null, - "refs": { - } - }, - "CancelBundleTaskResult": { - "base": null, - "refs": { - } - }, - "CancelConversionRequest": { - "base": null, - "refs": { - } - }, - "CancelExportTaskRequest": { - "base": null, - "refs": { - } - }, - "CancelImportTaskRequest": { - "base": null, - "refs": { - } - }, - "CancelImportTaskResult": { - "base": null, - "refs": { - } - }, - "CancelReservedInstancesListingRequest": { - "base": null, - "refs": { - } - }, - "CancelReservedInstancesListingResult": { - "base": null, - "refs": { - } - }, - "CancelSpotFleetRequestsError": { - "base": "

Describes a Spot fleet error.

", - "refs": { - "CancelSpotFleetRequestsErrorItem$Error": "

The error.

" - } - }, - "CancelSpotFleetRequestsErrorItem": { - "base": "

Describes a Spot fleet request that was not successfully canceled.

", - "refs": { - "CancelSpotFleetRequestsErrorSet$member": null - } - }, - "CancelSpotFleetRequestsErrorSet": { - "base": null, - "refs": { - "CancelSpotFleetRequestsResponse$UnsuccessfulFleetRequests": "

Information about the Spot fleet requests that are not successfully canceled.

" - } - }, - "CancelSpotFleetRequestsRequest": { - "base": "

Contains the parameters for CancelSpotFleetRequests.

", - "refs": { - } - }, - "CancelSpotFleetRequestsResponse": { - "base": "

Contains the output of CancelSpotFleetRequests.

", - "refs": { - } - }, - "CancelSpotFleetRequestsSuccessItem": { - "base": "

Describes a Spot fleet request that was successfully canceled.

", - "refs": { - "CancelSpotFleetRequestsSuccessSet$member": null - } - }, - "CancelSpotFleetRequestsSuccessSet": { - "base": null, - "refs": { - "CancelSpotFleetRequestsResponse$SuccessfulFleetRequests": "

Information about the Spot fleet requests that are successfully canceled.

" - } - }, - "CancelSpotInstanceRequestState": { - "base": null, - "refs": { - "CancelledSpotInstanceRequest$State": "

The state of the Spot instance request.

" - } - }, - "CancelSpotInstanceRequestsRequest": { - "base": "

Contains the parameters for CancelSpotInstanceRequests.

", - "refs": { - } - }, - "CancelSpotInstanceRequestsResult": { - "base": "

Contains the output of CancelSpotInstanceRequests.

", - "refs": { - } - }, - "CancelledSpotInstanceRequest": { - "base": "

Describes a request to cancel a Spot instance.

", - "refs": { - "CancelledSpotInstanceRequestList$member": null - } - }, - "CancelledSpotInstanceRequestList": { - "base": null, - "refs": { - "CancelSpotInstanceRequestsResult$CancelledSpotInstanceRequests": "

One or more Spot instance requests.

" - } - }, - "ClassicLinkInstance": { - "base": "

Describes a linked EC2-Classic instance.

", - "refs": { - "ClassicLinkInstanceList$member": null - } - }, - "ClassicLinkInstanceList": { - "base": null, - "refs": { - "DescribeClassicLinkInstancesResult$Instances": "

Information about one or more linked EC2-Classic instances.

" - } - }, - "ClientData": { - "base": "

Describes the client-specific data.

", - "refs": { - "ImportImageRequest$ClientData": "

The client-specific data.

", - "ImportSnapshotRequest$ClientData": "

The client-specific data.

" - } - }, - "ConfirmProductInstanceRequest": { - "base": null, - "refs": { - } - }, - "ConfirmProductInstanceResult": { - "base": null, - "refs": { - } - }, - "ContainerFormat": { - "base": null, - "refs": { - "ExportToS3Task$ContainerFormat": "

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

", - "ExportToS3TaskSpecification$ContainerFormat": "

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

" - } - }, - "ConversionIdStringList": { - "base": null, - "refs": { - "DescribeConversionTasksRequest$ConversionTaskIds": "

One or more conversion task IDs.

" - } - }, - "ConversionTask": { - "base": "

Describes a conversion task.

", - "refs": { - "DescribeConversionTaskList$member": null, - "ImportInstanceResult$ConversionTask": "

Information about the conversion task.

", - "ImportVolumeResult$ConversionTask": "

Information about the conversion task.

" - } - }, - "ConversionTaskState": { - "base": null, - "refs": { - "ConversionTask$State": "

The state of the conversion task.

" - } - }, - "CopyImageRequest": { - "base": null, - "refs": { - } - }, - "CopyImageResult": { - "base": null, - "refs": { - } - }, - "CopySnapshotRequest": { - "base": null, - "refs": { - } - }, - "CopySnapshotResult": { - "base": null, - "refs": { - } - }, - "CreateCustomerGatewayRequest": { - "base": null, - "refs": { - } - }, - "CreateCustomerGatewayResult": { - "base": null, - "refs": { - } - }, - "CreateDhcpOptionsRequest": { - "base": null, - "refs": { - } - }, - "CreateDhcpOptionsResult": { - "base": null, - "refs": { - } - }, - "CreateFlowLogsRequest": { - "base": null, - "refs": { - } - }, - "CreateFlowLogsResult": { - "base": null, - "refs": { - } - }, - "CreateImageRequest": { - "base": null, - "refs": { - } - }, - "CreateImageResult": { - "base": null, - "refs": { - } - }, - "CreateInstanceExportTaskRequest": { - "base": null, - "refs": { - } - }, - "CreateInstanceExportTaskResult": { - "base": null, - "refs": { - } - }, - "CreateInternetGatewayRequest": { - "base": null, - "refs": { - } - }, - "CreateInternetGatewayResult": { - "base": null, - "refs": { - } - }, - "CreateKeyPairRequest": { - "base": null, - "refs": { - } - }, - "CreateNetworkAclEntryRequest": { - "base": null, - "refs": { - } - }, - "CreateNetworkAclRequest": { - "base": null, - "refs": { - } - }, - "CreateNetworkAclResult": { - "base": null, - "refs": { - } - }, - "CreateNetworkInterfaceRequest": { - "base": null, - "refs": { - } - }, - "CreateNetworkInterfaceResult": { - "base": null, - "refs": { - } - }, - "CreatePlacementGroupRequest": { - "base": null, - "refs": { - } - }, - "CreateReservedInstancesListingRequest": { - "base": null, - "refs": { - } - }, - "CreateReservedInstancesListingResult": { - "base": null, - "refs": { - } - }, - "CreateRouteRequest": { - "base": null, - "refs": { - } - }, - "CreateRouteResult": { - "base": null, - "refs": { - } - }, - "CreateRouteTableRequest": { - "base": null, - "refs": { - } - }, - "CreateRouteTableResult": { - "base": null, - "refs": { - } - }, - "CreateSecurityGroupRequest": { - "base": null, - "refs": { - } - }, - "CreateSecurityGroupResult": { - "base": null, - "refs": { - } - }, - "CreateSnapshotRequest": { - "base": null, - "refs": { - } - }, - "CreateSpotDatafeedSubscriptionRequest": { - "base": "

Contains the parameters for CreateSpotDatafeedSubscription.

", - "refs": { - } - }, - "CreateSpotDatafeedSubscriptionResult": { - "base": "

Contains the output of CreateSpotDatafeedSubscription.

", - "refs": { - } - }, - "CreateSubnetRequest": { - "base": null, - "refs": { - } - }, - "CreateSubnetResult": { - "base": null, - "refs": { - } - }, - "CreateTagsRequest": { - "base": null, - "refs": { - } - }, - "CreateVolumePermission": { - "base": "

Describes the user or group to be added or removed from the permissions for a volume.

", - "refs": { - "CreateVolumePermissionList$member": null - } - }, - "CreateVolumePermissionList": { - "base": null, - "refs": { - "CreateVolumePermissionModifications$Add": "

Adds a specific AWS account ID or group to a volume's list of create volume permissions.

", - "CreateVolumePermissionModifications$Remove": "

Removes a specific AWS account ID or group from a volume's list of create volume permissions.

", - "DescribeSnapshotAttributeResult$CreateVolumePermissions": "

A list of permissions for creating volumes from the snapshot.

" - } - }, - "CreateVolumePermissionModifications": { - "base": "

Describes modifications to the permissions for a volume.

", - "refs": { - "ModifySnapshotAttributeRequest$CreateVolumePermission": "

A JSON representation of the snapshot attribute modification.

" - } - }, - "CreateVolumeRequest": { - "base": null, - "refs": { - } - }, - "CreateVpcEndpointRequest": { - "base": null, - "refs": { - } - }, - "CreateVpcEndpointResult": { - "base": null, - "refs": { - } - }, - "CreateVpcPeeringConnectionRequest": { - "base": null, - "refs": { - } - }, - "CreateVpcPeeringConnectionResult": { - "base": null, - "refs": { - } - }, - "CreateVpcRequest": { - "base": null, - "refs": { - } - }, - "CreateVpcResult": { - "base": null, - "refs": { - } - }, - "CreateVpnConnectionRequest": { - "base": null, - "refs": { - } - }, - "CreateVpnConnectionResult": { - "base": null, - "refs": { - } - }, - "CreateVpnConnectionRouteRequest": { - "base": null, - "refs": { - } - }, - "CreateVpnGatewayRequest": { - "base": null, - "refs": { - } - }, - "CreateVpnGatewayResult": { - "base": null, - "refs": { - } - }, - "CurrencyCodeValues": { - "base": null, - "refs": { - "PriceSchedule$CurrencyCode": "

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", - "PriceScheduleSpecification$CurrencyCode": "

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", - "ReservedInstanceLimitPrice$CurrencyCode": "

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

", - "ReservedInstances$CurrencyCode": "

The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. At this time, the only supported currency is USD.

", - "ReservedInstancesOffering$CurrencyCode": "

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.

" - } - }, - "CustomerGateway": { - "base": "

Describes a customer gateway.

", - "refs": { - "CreateCustomerGatewayResult$CustomerGateway": "

Information about the customer gateway.

", - "CustomerGatewayList$member": null - } - }, - "CustomerGatewayIdStringList": { - "base": null, - "refs": { - "DescribeCustomerGatewaysRequest$CustomerGatewayIds": "

One or more customer gateway IDs.

Default: Describes all your customer gateways.

" - } - }, - "CustomerGatewayList": { - "base": null, - "refs": { - "DescribeCustomerGatewaysResult$CustomerGateways": "

Information about one or more customer gateways.

" - } - }, - "DatafeedSubscriptionState": { - "base": null, - "refs": { - "SpotDatafeedSubscription$State": "

The state of the Spot instance data feed subscription.

" - } - }, - "DateTime": { - "base": null, - "refs": { - "BundleTask$StartTime": "

The time this task started.

", - "BundleTask$UpdateTime": "

The time of the most recent update for the task.

", - "ClientData$UploadStart": "

The time that the disk upload starts.

", - "ClientData$UploadEnd": "

The time that the disk upload ends.

", - "DescribeSpotFleetRequestHistoryRequest$StartTime": "

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "DescribeSpotFleetRequestHistoryResponse$StartTime": "

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "DescribeSpotFleetRequestHistoryResponse$LastEvaluatedTime": "

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.

", - "DescribeSpotPriceHistoryRequest$StartTime": "

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).

", - "DescribeSpotPriceHistoryRequest$EndTime": "

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).

", - "EbsInstanceBlockDevice$AttachTime": "

The time stamp when the attachment initiated.

", - "FlowLog$CreationTime": "

The date and time the flow log was created.

", - "GetConsoleOutputResult$Timestamp": "

The time the output was last updated.

", - "GetPasswordDataResult$Timestamp": "

The time the data was last updated.

", - "HistoryRecord$Timestamp": "

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "Instance$LaunchTime": "

The time the instance was launched.

", - "InstanceNetworkInterfaceAttachment$AttachTime": "

The time stamp when the attachment initiated.

", - "InstanceStatusDetails$ImpairedSince": "

The time when a status check failed. For an instance that was launched and impaired, this is the time when the instance was launched.

", - "InstanceStatusEvent$NotBefore": "

The earliest scheduled start time for the event.

", - "InstanceStatusEvent$NotAfter": "

The latest scheduled end time for the event.

", - "NetworkInterfaceAttachment$AttachTime": "

The timestamp indicating when the attachment initiated.

", - "ReportInstanceStatusRequest$StartTime": "

The time at which the reported instance health state began.

", - "ReportInstanceStatusRequest$EndTime": "

The time at which the reported instance health state ended.

", - "RequestSpotInstancesRequest$ValidFrom": "

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.

", - "RequestSpotInstancesRequest$ValidUntil": "

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.

", - "ReservedInstances$Start": "

The date and time the Reserved Instance started.

", - "ReservedInstances$End": "

The time when the Reserved Instance expires.

", - "ReservedInstancesListing$CreateDate": "

The time the listing was created.

", - "ReservedInstancesListing$UpdateDate": "

The last modified timestamp of the listing.

", - "ReservedInstancesModification$CreateDate": "

The time when the modification request was created.

", - "ReservedInstancesModification$UpdateDate": "

The time when the modification request was last updated.

", - "ReservedInstancesModification$EffectiveDate": "

The time for the modification to become effective.

", - "Snapshot$StartTime": "

The time stamp when the snapshot was initiated.

", - "SpotFleetRequestConfigData$ValidFrom": "

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.

", - "SpotFleetRequestConfigData$ValidUntil": "

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.

", - "SpotInstanceRequest$ValidFrom": "

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.

", - "SpotInstanceRequest$ValidUntil": "

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.

", - "SpotInstanceRequest$CreateTime": "

The date and time when the Spot instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "SpotInstanceStatus$UpdateTime": "

The date and time of the most recent status update, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "SpotPrice$Timestamp": "

The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "VgwTelemetry$LastStatusChange": "

The date and time of the last change in status.

", - "Volume$CreateTime": "

The time stamp when volume creation was initiated.

", - "VolumeAttachment$AttachTime": "

The time stamp when the attachment initiated.

", - "VolumeStatusEvent$NotBefore": "

The earliest start time of the event.

", - "VolumeStatusEvent$NotAfter": "

The latest end time of the event.

", - "VpcEndpoint$CreationTimestamp": "

The date and time the VPC endpoint was created.

", - "VpcPeeringConnection$ExpirationTime": "

The time that an unaccepted VPC peering connection will expire.

" - } - }, - "DeleteCustomerGatewayRequest": { - "base": null, - "refs": { - } - }, - "DeleteDhcpOptionsRequest": { - "base": null, - "refs": { - } - }, - "DeleteFlowLogsRequest": { - "base": null, - "refs": { - } - }, - "DeleteFlowLogsResult": { - "base": null, - "refs": { - } - }, - "DeleteInternetGatewayRequest": { - "base": null, - "refs": { - } - }, - "DeleteKeyPairRequest": { - "base": null, - "refs": { - } - }, - "DeleteNetworkAclEntryRequest": { - "base": null, - "refs": { - } - }, - "DeleteNetworkAclRequest": { - "base": null, - "refs": { - } - }, - "DeleteNetworkInterfaceRequest": { - "base": null, - "refs": { - } - }, - "DeletePlacementGroupRequest": { - "base": null, - "refs": { - } - }, - "DeleteRouteRequest": { - "base": null, - "refs": { - } - }, - "DeleteRouteTableRequest": { - "base": null, - "refs": { - } - }, - "DeleteSecurityGroupRequest": { - "base": null, - "refs": { - } - }, - "DeleteSnapshotRequest": { - "base": null, - "refs": { - } - }, - "DeleteSpotDatafeedSubscriptionRequest": { - "base": "

Contains the parameters for DeleteSpotDatafeedSubscription.

", - "refs": { - } - }, - "DeleteSubnetRequest": { - "base": null, - "refs": { - } - }, - "DeleteTagsRequest": { - "base": null, - "refs": { - } - }, - "DeleteVolumeRequest": { - "base": null, - "refs": { - } - }, - "DeleteVpcEndpointsRequest": { - "base": null, - "refs": { - } - }, - "DeleteVpcEndpointsResult": { - "base": null, - "refs": { - } - }, - "DeleteVpcPeeringConnectionRequest": { - "base": null, - "refs": { - } - }, - "DeleteVpcPeeringConnectionResult": { - "base": null, - "refs": { - } - }, - "DeleteVpcRequest": { - "base": null, - "refs": { - } - }, - "DeleteVpnConnectionRequest": { - "base": null, - "refs": { - } - }, - "DeleteVpnConnectionRouteRequest": { - "base": null, - "refs": { - } - }, - "DeleteVpnGatewayRequest": { - "base": null, - "refs": { - } - }, - "DeregisterImageRequest": { - "base": null, - "refs": { - } - }, - "DescribeAccountAttributesRequest": { - "base": null, - "refs": { - } - }, - "DescribeAccountAttributesResult": { - "base": null, - "refs": { - } - }, - "DescribeAddressesRequest": { - "base": null, - "refs": { - } - }, - "DescribeAddressesResult": { - "base": null, - "refs": { - } - }, - "DescribeAvailabilityZonesRequest": { - "base": null, - "refs": { - } - }, - "DescribeAvailabilityZonesResult": { - "base": null, - "refs": { - } - }, - "DescribeBundleTasksRequest": { - "base": null, - "refs": { - } - }, - "DescribeBundleTasksResult": { - "base": null, - "refs": { - } - }, - "DescribeClassicLinkInstancesRequest": { - "base": null, - "refs": { - } - }, - "DescribeClassicLinkInstancesResult": { - "base": null, - "refs": { - } - }, - "DescribeConversionTaskList": { - "base": null, - "refs": { - "DescribeConversionTasksResult$ConversionTasks": "

Information about the conversion tasks.

" - } - }, - "DescribeConversionTasksRequest": { - "base": null, - "refs": { - } - }, - "DescribeConversionTasksResult": { - "base": null, - "refs": { - } - }, - "DescribeCustomerGatewaysRequest": { - "base": null, - "refs": { - } - }, - "DescribeCustomerGatewaysResult": { - "base": null, - "refs": { - } - }, - "DescribeDhcpOptionsRequest": { - "base": null, - "refs": { - } - }, - "DescribeDhcpOptionsResult": { - "base": null, - "refs": { - } - }, - "DescribeExportTasksRequest": { - "base": null, - "refs": { - } - }, - "DescribeExportTasksResult": { - "base": null, - "refs": { - } - }, - "DescribeFlowLogsRequest": { - "base": null, - "refs": { - } - }, - "DescribeFlowLogsResult": { - "base": null, - "refs": { - } - }, - "DescribeImageAttributeRequest": { - "base": null, - "refs": { - } - }, - "DescribeImagesRequest": { - "base": null, - "refs": { - } - }, - "DescribeImagesResult": { - "base": null, - "refs": { - } - }, - "DescribeImportImageTasksRequest": { - "base": null, - "refs": { - } - }, - "DescribeImportImageTasksResult": { - "base": null, - "refs": { - } - }, - "DescribeImportSnapshotTasksRequest": { - "base": null, - "refs": { - } - }, - "DescribeImportSnapshotTasksResult": { - "base": null, - "refs": { - } - }, - "DescribeInstanceAttributeRequest": { - "base": null, - "refs": { - } - }, - "DescribeInstanceStatusRequest": { - "base": null, - "refs": { - } - }, - "DescribeInstanceStatusResult": { - "base": null, - "refs": { - } - }, - "DescribeInstancesRequest": { - "base": null, - "refs": { - } - }, - "DescribeInstancesResult": { - "base": null, - "refs": { - } - }, - "DescribeInternetGatewaysRequest": { - "base": null, - "refs": { - } - }, - "DescribeInternetGatewaysResult": { - "base": null, - "refs": { - } - }, - "DescribeKeyPairsRequest": { - "base": null, - "refs": { - } - }, - "DescribeKeyPairsResult": { - "base": null, - "refs": { - } - }, - "DescribeMovingAddressesRequest": { - "base": null, - "refs": { - } - }, - "DescribeMovingAddressesResult": { - "base": null, - "refs": { - } - }, - "DescribeNetworkAclsRequest": { - "base": null, - "refs": { - } - }, - "DescribeNetworkAclsResult": { - "base": null, - "refs": { - } - }, - "DescribeNetworkInterfaceAttributeRequest": { - "base": null, - "refs": { - } - }, - "DescribeNetworkInterfaceAttributeResult": { - "base": null, - "refs": { - } - }, - "DescribeNetworkInterfacesRequest": { - "base": null, - "refs": { - } - }, - "DescribeNetworkInterfacesResult": { - "base": null, - "refs": { - } - }, - "DescribePlacementGroupsRequest": { - "base": null, - "refs": { - } - }, - "DescribePlacementGroupsResult": { - "base": null, - "refs": { - } - }, - "DescribePrefixListsRequest": { - "base": null, - "refs": { - } - }, - "DescribePrefixListsResult": { - "base": null, - "refs": { - } - }, - "DescribeRegionsRequest": { - "base": null, - "refs": { - } - }, - "DescribeRegionsResult": { - "base": null, - "refs": { - } - }, - "DescribeReservedInstancesListingsRequest": { - "base": null, - "refs": { - } - }, - "DescribeReservedInstancesListingsResult": { - "base": null, - "refs": { - } - }, - "DescribeReservedInstancesModificationsRequest": { - "base": null, - "refs": { - } - }, - "DescribeReservedInstancesModificationsResult": { - "base": null, - "refs": { - } - }, - "DescribeReservedInstancesOfferingsRequest": { - "base": null, - "refs": { - } - }, - "DescribeReservedInstancesOfferingsResult": { - "base": null, - "refs": { - } - }, - "DescribeReservedInstancesRequest": { - "base": null, - "refs": { - } - }, - "DescribeReservedInstancesResult": { - "base": null, - "refs": { - } - }, - "DescribeRouteTablesRequest": { - "base": null, - "refs": { - } - }, - "DescribeRouteTablesResult": { - "base": null, - "refs": { - } - }, - "DescribeSecurityGroupsRequest": { - "base": null, - "refs": { - } - }, - "DescribeSecurityGroupsResult": { - "base": null, - "refs": { - } - }, - "DescribeSnapshotAttributeRequest": { - "base": null, - "refs": { - } - }, - "DescribeSnapshotAttributeResult": { - "base": null, - "refs": { - } - }, - "DescribeSnapshotsRequest": { - "base": null, - "refs": { - } - }, - "DescribeSnapshotsResult": { - "base": null, - "refs": { - } - }, - "DescribeSpotDatafeedSubscriptionRequest": { - "base": "

Contains the parameters for DescribeSpotDatafeedSubscription.

", - "refs": { - } - }, - "DescribeSpotDatafeedSubscriptionResult": { - "base": "

Contains the output of DescribeSpotDatafeedSubscription.

", - "refs": { - } - }, - "DescribeSpotFleetInstancesRequest": { - "base": "

Contains the parameters for DescribeSpotFleetInstances.

", - "refs": { - } - }, - "DescribeSpotFleetInstancesResponse": { - "base": "

Contains the output of DescribeSpotFleetInstances.

", - "refs": { - } - }, - "DescribeSpotFleetRequestHistoryRequest": { - "base": "

Contains the parameters for DescribeSpotFleetRequestHistory.

", - "refs": { - } - }, - "DescribeSpotFleetRequestHistoryResponse": { - "base": "

Contains the output of DescribeSpotFleetRequestHistory.

", - "refs": { - } - }, - "DescribeSpotFleetRequestsRequest": { - "base": "

Contains the parameters for DescribeSpotFleetRequests.

", - "refs": { - } - }, - "DescribeSpotFleetRequestsResponse": { - "base": "

Contains the output of DescribeSpotFleetRequests.

", - "refs": { - } - }, - "DescribeSpotInstanceRequestsRequest": { - "base": "

Contains the parameters for DescribeSpotInstanceRequests.

", - "refs": { - } - }, - "DescribeSpotInstanceRequestsResult": { - "base": "

Contains the output of DescribeSpotInstanceRequests.

", - "refs": { - } - }, - "DescribeSpotPriceHistoryRequest": { - "base": "

Contains the parameters for DescribeSpotPriceHistory.

", - "refs": { - } - }, - "DescribeSpotPriceHistoryResult": { - "base": "

Contains the output of DescribeSpotPriceHistory.

", - "refs": { - } - }, - "DescribeSubnetsRequest": { - "base": null, - "refs": { - } - }, - "DescribeSubnetsResult": { - "base": null, - "refs": { - } - }, - "DescribeTagsRequest": { - "base": null, - "refs": { - } - }, - "DescribeTagsResult": { - "base": null, - "refs": { - } - }, - "DescribeVolumeAttributeRequest": { - "base": null, - "refs": { - } - }, - "DescribeVolumeAttributeResult": { - "base": null, - "refs": { - } - }, - "DescribeVolumeStatusRequest": { - "base": null, - "refs": { - } - }, - "DescribeVolumeStatusResult": { - "base": null, - "refs": { - } - }, - "DescribeVolumesRequest": { - "base": null, - "refs": { - } - }, - "DescribeVolumesResult": { - "base": null, - "refs": { - } - }, - "DescribeVpcAttributeRequest": { - "base": null, - "refs": { - } - }, - "DescribeVpcAttributeResult": { - "base": null, - "refs": { - } - }, - "DescribeVpcClassicLinkRequest": { - "base": null, - "refs": { - } - }, - "DescribeVpcClassicLinkResult": { - "base": null, - "refs": { - } - }, - "DescribeVpcEndpointServicesRequest": { - "base": null, - "refs": { - } - }, - "DescribeVpcEndpointServicesResult": { - "base": null, - "refs": { - } - }, - "DescribeVpcEndpointsRequest": { - "base": null, - "refs": { - } - }, - "DescribeVpcEndpointsResult": { - "base": null, - "refs": { - } - }, - "DescribeVpcPeeringConnectionsRequest": { - "base": null, - "refs": { - } - }, - "DescribeVpcPeeringConnectionsResult": { - "base": null, - "refs": { - } - }, - "DescribeVpcsRequest": { - "base": null, - "refs": { - } - }, - "DescribeVpcsResult": { - "base": null, - "refs": { - } - }, - "DescribeVpnConnectionsRequest": { - "base": null, - "refs": { - } - }, - "DescribeVpnConnectionsResult": { - "base": null, - "refs": { - } - }, - "DescribeVpnGatewaysRequest": { - "base": null, - "refs": { - } - }, - "DescribeVpnGatewaysResult": { - "base": null, - "refs": { - } - }, - "DetachClassicLinkVpcRequest": { - "base": null, - "refs": { - } - }, - "DetachClassicLinkVpcResult": { - "base": null, - "refs": { - } - }, - "DetachInternetGatewayRequest": { - "base": null, - "refs": { - } - }, - "DetachNetworkInterfaceRequest": { - "base": null, - "refs": { - } - }, - "DetachVolumeRequest": { - "base": null, - "refs": { - } - }, - "DetachVpnGatewayRequest": { - "base": null, - "refs": { - } - }, - "DeviceType": { - "base": null, - "refs": { - "Image$RootDeviceType": "

The type of root device used by the AMI. The AMI can use an EBS volume or an instance store volume.

", - "Instance$RootDeviceType": "

The root device type used by the AMI. The AMI can use an EBS volume or an instance store volume.

" - } - }, - "DhcpConfiguration": { - "base": "

Describes a DHCP configuration option.

", - "refs": { - "DhcpConfigurationList$member": null - } - }, - "DhcpConfigurationList": { - "base": null, - "refs": { - "DhcpOptions$DhcpConfigurations": "

One or more DHCP options in the set.

" - } - }, - "DhcpOptions": { - "base": "

Describes a set of DHCP options.

", - "refs": { - "CreateDhcpOptionsResult$DhcpOptions": "

A set of DHCP options.

", - "DhcpOptionsList$member": null - } - }, - "DhcpOptionsIdStringList": { - "base": null, - "refs": { - "DescribeDhcpOptionsRequest$DhcpOptionsIds": "

The IDs of one or more DHCP options sets.

Default: Describes all your DHCP options sets.

" - } - }, - "DhcpOptionsList": { - "base": null, - "refs": { - "DescribeDhcpOptionsResult$DhcpOptions": "

Information about one or more DHCP options sets.

" - } - }, - "DisableVgwRoutePropagationRequest": { - "base": null, - "refs": { - } - }, - "DisableVpcClassicLinkRequest": { - "base": null, - "refs": { - } - }, - "DisableVpcClassicLinkResult": { - "base": null, - "refs": { - } - }, - "DisassociateAddressRequest": { - "base": null, - "refs": { - } - }, - "DisassociateRouteTableRequest": { - "base": null, - "refs": { - } - }, - "DiskImage": { - "base": "

Describes a disk image.

", - "refs": { - "DiskImageList$member": null - } - }, - "DiskImageDescription": { - "base": "

Describes a disk image.

", - "refs": { - "ImportInstanceVolumeDetailItem$Image": "

The image.

", - "ImportVolumeTaskDetails$Image": "

The image.

" - } - }, - "DiskImageDetail": { - "base": "

Describes a disk image.

", - "refs": { - "DiskImage$Image": "

Information about the disk image.

", - "ImportVolumeRequest$Image": "

The disk image.

" - } - }, - "DiskImageFormat": { - "base": null, - "refs": { - "DiskImageDescription$Format": "

The disk image format.

", - "DiskImageDetail$Format": "

The disk image format.

", - "ExportToS3Task$DiskImageFormat": "

The format for the exported image.

", - "ExportToS3TaskSpecification$DiskImageFormat": "

The format for the exported image.

" - } - }, - "DiskImageList": { - "base": null, - "refs": { - "ImportInstanceRequest$DiskImages": "

The disk image.

" - } - }, - "DiskImageVolumeDescription": { - "base": "

Describes a disk image volume.

", - "refs": { - "ImportInstanceVolumeDetailItem$Volume": "

The volume.

", - "ImportVolumeTaskDetails$Volume": "

The volume.

" - } - }, - "DomainType": { - "base": null, - "refs": { - "Address$Domain": "

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", - "AllocateAddressRequest$Domain": "

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$Domain": "

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

" - } - }, - "Double": { - "base": null, - "refs": { - "ClientData$UploadSize": "

The size of the uploaded disk image, in GiB.

", - "PriceSchedule$Price": "

The fixed price for the term.

", - "PriceScheduleSpecification$Price": "

The fixed price for the term.

", - "PricingDetail$Price": "

The price per instance.

", - "RecurringCharge$Amount": "

The amount of the recurring charge.

", - "ReservedInstanceLimitPrice$Amount": "

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", - "SnapshotDetail$DiskImageSize": "

The size of the disk in the snapshot, in GiB.

", - "SnapshotTaskDetail$DiskImageSize": "

The size of the disk in the snapshot, in GiB.

", - "SpotFleetLaunchSpecification$WeightedCapacity": "

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.

" - } - }, - "EbsBlockDevice": { - "base": "

Describes a block device for an EBS volume.

", - "refs": { - "BlockDeviceMapping$Ebs": "

Parameters used to automatically set up EBS volumes when the instance is launched.

" - } - }, - "EbsInstanceBlockDevice": { - "base": "

Describes a parameter used to set up an EBS volume in a block device mapping.

", - "refs": { - "InstanceBlockDeviceMapping$Ebs": "

Parameters used to automatically set up EBS volumes when the instance is launched.

" - } - }, - "EbsInstanceBlockDeviceSpecification": { - "base": null, - "refs": { - "InstanceBlockDeviceMappingSpecification$Ebs": "

Parameters used to automatically set up EBS volumes when the instance is launched.

" - } - }, - "EnableVgwRoutePropagationRequest": { - "base": null, - "refs": { - } - }, - "EnableVolumeIORequest": { - "base": null, - "refs": { - } - }, - "EnableVpcClassicLinkRequest": { - "base": null, - "refs": { - } - }, - "EnableVpcClassicLinkResult": { - "base": null, - "refs": { - } - }, - "EventCode": { - "base": null, - "refs": { - "InstanceStatusEvent$Code": "

The event code.

" - } - }, - "EventInformation": { - "base": "

Describes a Spot fleet event.

", - "refs": { - "HistoryRecord$EventInformation": "

Information about the event.

" - } - }, - "EventType": { - "base": null, - "refs": { - "DescribeSpotFleetRequestHistoryRequest$EventType": "

The type of events to describe. By default, all events are described.

", - "HistoryRecord$EventType": "

The event type.

" - } - }, - "ExecutableByStringList": { - "base": null, - "refs": { - "DescribeImagesRequest$ExecutableUsers": "

Scopes the images by users with explicit launch permissions. Specify an AWS account ID, self (the sender of the request), or all (public AMIs).

" - } - }, - "ExportEnvironment": { - "base": null, - "refs": { - "CreateInstanceExportTaskRequest$TargetEnvironment": "

The target virtualization environment.

", - "InstanceExportDetails$TargetEnvironment": "

The target virtualization environment.

" - } - }, - "ExportTask": { - "base": "

Describes an instance export task.

", - "refs": { - "CreateInstanceExportTaskResult$ExportTask": "

Information about the instance export task.

", - "ExportTaskList$member": null - } - }, - "ExportTaskIdStringList": { - "base": null, - "refs": { - "DescribeExportTasksRequest$ExportTaskIds": "

One or more export task IDs.

" - } - }, - "ExportTaskList": { - "base": null, - "refs": { - "DescribeExportTasksResult$ExportTasks": "

Information about the export tasks.

" - } - }, - "ExportTaskState": { - "base": null, - "refs": { - "ExportTask$State": "

The state of the export task.

" - } - }, - "ExportToS3Task": { - "base": "

Describes the format and location for an instance export task.

", - "refs": { - "ExportTask$ExportToS3Task": "

Information about the export task.

" - } - }, - "ExportToS3TaskSpecification": { - "base": "

Describes an instance export task.

", - "refs": { - "CreateInstanceExportTaskRequest$ExportToS3Task": "

The format and location for an instance export task.

" - } - }, - "Filter": { - "base": "

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.

", - "refs": { - "FilterList$member": null - } - }, - "FilterList": { - "base": null, - "refs": { - "DescribeAddressesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", - "DescribeAvailabilityZonesRequest$Filters": "

One or more filters.

", - "DescribeBundleTasksRequest$Filters": "

One or more filters.

", - "DescribeClassicLinkInstancesRequest$Filters": "

One or more filters.

", - "DescribeConversionTasksRequest$Filters": "

One or more filters.

", - "DescribeCustomerGatewaysRequest$Filters": "

One or more filters.

", - "DescribeDhcpOptionsRequest$Filters": "

One or more filters.

", - "DescribeFlowLogsRequest$Filter": "

One or more filters.

", - "DescribeImagesRequest$Filters": "

One or more filters.

", - "DescribeImportImageTasksRequest$Filters": "

One or more filters.

", - "DescribeImportSnapshotTasksRequest$Filters": "

One or more filters.

", - "DescribeInstanceStatusRequest$Filters": "

One or more filters.

", - "DescribeInstancesRequest$Filters": "

One or more filters.

", - "DescribeInternetGatewaysRequest$Filters": "

One or more filters.

", - "DescribeKeyPairsRequest$Filters": "

One or more filters.

", - "DescribeMovingAddressesRequest$Filters": "

One or more filters.

", - "DescribeNetworkAclsRequest$Filters": "

One or more filters.

", - "DescribeNetworkInterfacesRequest$Filters": "

One or more filters.

", - "DescribePlacementGroupsRequest$Filters": "

One or more filters.

", - "DescribePrefixListsRequest$Filters": "

One or more filters.

", - "DescribeRegionsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesListingsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesModificationsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesOfferingsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesRequest$Filters": "

One or more filters.

", - "DescribeRouteTablesRequest$Filters": "

One or more filters.

", - "DescribeSecurityGroupsRequest$Filters": "

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.

", - "DescribeSnapshotsRequest$Filters": "

One or more filters.

", - "DescribeSpotInstanceRequestsRequest$Filters": "

One or more filters.

", - "DescribeSpotPriceHistoryRequest$Filters": "

One or more filters.

", - "DescribeSubnetsRequest$Filters": "

One or more filters.

", - "DescribeTagsRequest$Filters": "

One or more filters.

", - "DescribeVolumeStatusRequest$Filters": "

One or more filters.

", - "DescribeVolumesRequest$Filters": "

One or more filters.

", - "DescribeVpcClassicLinkRequest$Filters": "

One or more filters.

", - "DescribeVpcEndpointsRequest$Filters": "

One or more filters.

", - "DescribeVpcPeeringConnectionsRequest$Filters": "

One or more filters.

", - "DescribeVpcsRequest$Filters": "

One or more filters.

", - "DescribeVpnConnectionsRequest$Filters": "

One or more filters.

", - "DescribeVpnGatewaysRequest$Filters": "

One or more filters.

" - } - }, - "Float": { - "base": null, - "refs": { - "ReservedInstances$UsagePrice": "

The usage price of the Reserved Instance, per hour.

", - "ReservedInstances$FixedPrice": "

The purchase price of the Reserved Instance.

", - "ReservedInstancesOffering$UsagePrice": "

The usage price of the Reserved Instance, per hour.

", - "ReservedInstancesOffering$FixedPrice": "

The purchase price of the Reserved Instance.

" - } - }, - "FlowLog": { - "base": "

Describes a flow log.

", - "refs": { - "FlowLogSet$member": null - } - }, - "FlowLogSet": { - "base": null, - "refs": { - "DescribeFlowLogsResult$FlowLogs": "

Information about the flow logs.

" - } - }, - "FlowLogsResourceType": { - "base": null, - "refs": { - "CreateFlowLogsRequest$ResourceType": "

The type of resource on which to create the flow log.

" - } - }, - "GatewayType": { - "base": null, - "refs": { - "CreateCustomerGatewayRequest$Type": "

The type of VPN connection that this customer gateway supports (ipsec.1).

", - "CreateVpnGatewayRequest$Type": "

The type of VPN connection this virtual private gateway supports.

", - "VpnConnection$Type": "

The type of VPN connection.

", - "VpnGateway$Type": "

The type of VPN connection the virtual private gateway supports.

" - } - }, - "GetConsoleOutputRequest": { - "base": null, - "refs": { - } - }, - "GetConsoleOutputResult": { - "base": null, - "refs": { - } - }, - "GetPasswordDataRequest": { - "base": null, - "refs": { - } - }, - "GetPasswordDataResult": { - "base": null, - "refs": { - } - }, - "GroupIdStringList": { - "base": null, - "refs": { - "AttachClassicLinkVpcRequest$Groups": "

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

", - "DescribeSecurityGroupsRequest$GroupIds": "

One or more security group IDs. Required for security groups in a nondefault VPC.

Default: Describes all your security groups.

", - "ModifyInstanceAttributeRequest$Groups": "

[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.

" - } - }, - "GroupIdentifier": { - "base": "

Describes a security group.

", - "refs": { - "GroupIdentifierList$member": null - } - }, - "GroupIdentifierList": { - "base": null, - "refs": { - "ClassicLinkInstance$Groups": "

A list of security groups.

", - "DescribeNetworkInterfaceAttributeResult$Groups": "

The security groups associated with the network interface.

", - "Instance$SecurityGroups": "

One or more security groups for the instance.

", - "InstanceAttribute$Groups": "

The security groups associated with the instance.

", - "InstanceNetworkInterface$Groups": "

One or more security groups.

", - "LaunchSpecification$SecurityGroups": "

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.

", - "NetworkInterface$Groups": "

Any security groups for the network interface.

", - "Reservation$Groups": "

One or more security groups.

", - "SpotFleetLaunchSpecification$SecurityGroups": "

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.

" - } - }, - "GroupNameStringList": { - "base": null, - "refs": { - "DescribeSecurityGroupsRequest$GroupNames": "

[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.

", - "ModifySnapshotAttributeRequest$GroupNames": "

The group to modify for the snapshot.

" - } - }, - "HistoryRecord": { - "base": "

Describes an event in the history of the Spot fleet request.

", - "refs": { - "HistoryRecords$member": null - } - }, - "HistoryRecords": { - "base": null, - "refs": { - "DescribeSpotFleetRequestHistoryResponse$HistoryRecords": "

Information about the events in the history of the Spot fleet request.

" - } - }, - "HypervisorType": { - "base": null, - "refs": { - "Image$Hypervisor": "

The hypervisor type of the image.

", - "Instance$Hypervisor": "

The hypervisor type of the instance.

" - } - }, - "IamInstanceProfile": { - "base": "

Describes an IAM instance profile.

", - "refs": { - "Instance$IamInstanceProfile": "

The IAM instance profile associated with the instance.

" - } - }, - "IamInstanceProfileSpecification": { - "base": "

Describes an IAM instance profile.

", - "refs": { - "LaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

", - "RunInstancesRequest$IamInstanceProfile": "

The IAM instance profile.

", - "SpotFleetLaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

", - "RequestSpotLaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

" - } - }, - "IcmpTypeCode": { - "base": "

Describes the ICMP type and code.

", - "refs": { - "CreateNetworkAclEntryRequest$IcmpTypeCode": "

ICMP protocol: The ICMP type and code. Required if specifying ICMP for the protocol.

", - "NetworkAclEntry$IcmpTypeCode": "

ICMP protocol: The ICMP type and code.

", - "ReplaceNetworkAclEntryRequest$IcmpTypeCode": "

ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for the protocol.

" - } - }, - "Image": { - "base": "

Describes an image.

", - "refs": { - "ImageList$member": null - } - }, - "ImageAttribute": { - "base": "

Describes an image attribute.

", - "refs": { - } - }, - "ImageAttributeName": { - "base": null, - "refs": { - "DescribeImageAttributeRequest$Attribute": "

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.

" - } - }, - "ImageDiskContainer": { - "base": "

Describes the disk container object for an import image task.

", - "refs": { - "ImageDiskContainerList$member": null - } - }, - "ImageDiskContainerList": { - "base": null, - "refs": { - "ImportImageRequest$DiskContainers": "

Information about the disk containers.

" - } - }, - "ImageIdStringList": { - "base": null, - "refs": { - "DescribeImagesRequest$ImageIds": "

One or more image IDs.

Default: Describes all images available to you.

" - } - }, - "ImageList": { - "base": null, - "refs": { - "DescribeImagesResult$Images": "

Information about one or more images.

" - } - }, - "ImageState": { - "base": null, - "refs": { - "Image$State": "

The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

" - } - }, - "ImageTypeValues": { - "base": null, - "refs": { - "Image$ImageType": "

The type of image.

" - } - }, - "ImportImageRequest": { - "base": null, - "refs": { - } - }, - "ImportImageResult": { - "base": null, - "refs": { - } - }, - "ImportImageTask": { - "base": "

Describes an import image task.

", - "refs": { - "ImportImageTaskList$member": null - } - }, - "ImportImageTaskList": { - "base": null, - "refs": { - "DescribeImportImageTasksResult$ImportImageTasks": "

A list of zero or more import image tasks that are currently active or were completed or canceled in the previous 7 days.

" - } - }, - "ImportInstanceLaunchSpecification": { - "base": "

Describes the launch specification for VM import.

", - "refs": { - "ImportInstanceRequest$LaunchSpecification": "

The launch specification.

" - } - }, - "ImportInstanceRequest": { - "base": null, - "refs": { - } - }, - "ImportInstanceResult": { - "base": null, - "refs": { - } - }, - "ImportInstanceTaskDetails": { - "base": "

Describes an import instance task.

", - "refs": { - "ConversionTask$ImportInstance": "

If the task is for importing an instance, this contains information about the import instance task.

" - } - }, - "ImportInstanceVolumeDetailItem": { - "base": "

Describes an import volume task.

", - "refs": { - "ImportInstanceVolumeDetailSet$member": null - } - }, - "ImportInstanceVolumeDetailSet": { - "base": null, - "refs": { - "ImportInstanceTaskDetails$Volumes": "

One or more volumes.

" - } - }, - "ImportKeyPairRequest": { - "base": null, - "refs": { - } - }, - "ImportKeyPairResult": { - "base": null, - "refs": { - } - }, - "ImportSnapshotRequest": { - "base": null, - "refs": { - } - }, - "ImportSnapshotResult": { - "base": null, - "refs": { - } - }, - "ImportSnapshotTask": { - "base": "

Describes an import snapshot task.

", - "refs": { - "ImportSnapshotTaskList$member": null - } - }, - "ImportSnapshotTaskList": { - "base": null, - "refs": { - "DescribeImportSnapshotTasksResult$ImportSnapshotTasks": "

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the previous 7 days.

" - } - }, - "ImportTaskIdList": { - "base": null, - "refs": { - "DescribeImportImageTasksRequest$ImportTaskIds": "

A list of import image task IDs.

", - "DescribeImportSnapshotTasksRequest$ImportTaskIds": "

A list of import snapshot task IDs.

" - } - }, - "ImportVolumeRequest": { - "base": null, - "refs": { - } - }, - "ImportVolumeResult": { - "base": null, - "refs": { - } - }, - "ImportVolumeTaskDetails": { - "base": "

Describes an import volume task.

", - "refs": { - "ConversionTask$ImportVolume": "

If the task is for importing a volume, this contains information about the import volume task.

" - } - }, - "Instance": { - "base": "

Describes an instance.

", - "refs": { - "InstanceList$member": null - } - }, - "InstanceAttribute": { - "base": "

Describes an instance attribute.

", - "refs": { - } - }, - "InstanceAttributeName": { - "base": null, - "refs": { - "DescribeInstanceAttributeRequest$Attribute": "

The instance attribute.

", - "ModifyInstanceAttributeRequest$Attribute": "

The name of the attribute.

", - "ResetInstanceAttributeRequest$Attribute": "

The attribute to reset.

" - } - }, - "InstanceBlockDeviceMapping": { - "base": "

Describes a block device mapping.

", - "refs": { - "InstanceBlockDeviceMappingList$member": null - } - }, - "InstanceBlockDeviceMappingList": { - "base": null, - "refs": { - "Instance$BlockDeviceMappings": "

Any block device mapping entries for the instance.

", - "InstanceAttribute$BlockDeviceMappings": "

The block device mapping of the instance.

" - } - }, - "InstanceBlockDeviceMappingSpecification": { - "base": "

Describes a block device mapping entry.

", - "refs": { - "InstanceBlockDeviceMappingSpecificationList$member": null - } - }, - "InstanceBlockDeviceMappingSpecificationList": { - "base": null, - "refs": { - "ModifyInstanceAttributeRequest$BlockDeviceMappings": "

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.

" - } - }, - "InstanceCount": { - "base": "

Describes a Reserved Instance listing state.

", - "refs": { - "InstanceCountList$member": null - } - }, - "InstanceCountList": { - "base": null, - "refs": { - "ReservedInstancesListing$InstanceCounts": "

The number of instances in this state.

" - } - }, - "InstanceExportDetails": { - "base": "

Describes an instance to export.

", - "refs": { - "ExportTask$InstanceExportDetails": "

Information about the instance to export.

" - } - }, - "InstanceIdStringList": { - "base": null, - "refs": { - "DescribeClassicLinkInstancesRequest$InstanceIds": "

One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

", - "DescribeInstanceStatusRequest$InstanceIds": "

One or more instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

", - "DescribeInstancesRequest$InstanceIds": "

One or more instance IDs.

Default: Describes all your instances.

", - "MonitorInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "RebootInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "ReportInstanceStatusRequest$Instances": "

One or more instances.

", - "StartInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "StopInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "TerminateInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "UnmonitorInstancesRequest$InstanceIds": "

One or more instance IDs.

" - } - }, - "InstanceLifecycleType": { - "base": null, - "refs": { - "Instance$InstanceLifecycle": "

Indicates whether this is a Spot Instance.

" - } - }, - "InstanceList": { - "base": null, - "refs": { - "Reservation$Instances": "

One or more instances.

" - } - }, - "InstanceMonitoring": { - "base": "

Describes the monitoring information of the instance.

", - "refs": { - "InstanceMonitoringList$member": null - } - }, - "InstanceMonitoringList": { - "base": null, - "refs": { - "MonitorInstancesResult$InstanceMonitorings": "

Monitoring information for one or more instances.

", - "UnmonitorInstancesResult$InstanceMonitorings": "

Monitoring information for one or more instances.

" - } - }, - "InstanceNetworkInterface": { - "base": "

Describes a network interface.

", - "refs": { - "InstanceNetworkInterfaceList$member": null - } - }, - "InstanceNetworkInterfaceAssociation": { - "base": "

Describes association information for an Elastic IP address.

", - "refs": { - "InstanceNetworkInterface$Association": "

The association information for an Elastic IP associated with the network interface.

", - "InstancePrivateIpAddress$Association": "

The association information for an Elastic IP address for the network interface.

" - } - }, - "InstanceNetworkInterfaceAttachment": { - "base": "

Describes a network interface attachment.

", - "refs": { - "InstanceNetworkInterface$Attachment": "

The network interface attachment.

" - } - }, - "InstanceNetworkInterfaceList": { - "base": null, - "refs": { - "Instance$NetworkInterfaces": "

[EC2-VPC] One or more network interfaces for the instance.

" - } - }, - "InstanceNetworkInterfaceSpecification": { - "base": "

Describes a network interface.

", - "refs": { - "InstanceNetworkInterfaceSpecificationList$member": null - } - }, - "InstanceNetworkInterfaceSpecificationList": { - "base": null, - "refs": { - "LaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

", - "RunInstancesRequest$NetworkInterfaces": "

One or more network interfaces.

", - "SpotFleetLaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

", - "RequestSpotLaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

" - } - }, - "InstancePrivateIpAddress": { - "base": "

Describes a private IP address.

", - "refs": { - "InstancePrivateIpAddressList$member": null - } - }, - "InstancePrivateIpAddressList": { - "base": null, - "refs": { - "InstanceNetworkInterface$PrivateIpAddresses": "

The private IP addresses associated with the network interface.

" - } - }, - "InstanceState": { - "base": "

Describes the current state of the instance.

", - "refs": { - "Instance$State": "

The current state of the instance.

", - "InstanceStateChange$CurrentState": "

The current state of the instance.

", - "InstanceStateChange$PreviousState": "

The previous state of the instance.

", - "InstanceStatus$InstanceState": "

The intended state of the instance. DescribeInstanceStatus requires that an instance be in the running state.

" - } - }, - "InstanceStateChange": { - "base": "

Describes an instance state change.

", - "refs": { - "InstanceStateChangeList$member": null - } - }, - "InstanceStateChangeList": { - "base": null, - "refs": { - "StartInstancesResult$StartingInstances": "

Information about one or more started instances.

", - "StopInstancesResult$StoppingInstances": "

Information about one or more stopped instances.

", - "TerminateInstancesResult$TerminatingInstances": "

Information about one or more terminated instances.

" - } - }, - "InstanceStateName": { - "base": null, - "refs": { - "InstanceState$Name": "

The current state of the instance.

" - } - }, - "InstanceStatus": { - "base": "

Describes the status of an instance.

", - "refs": { - "InstanceStatusList$member": null - } - }, - "InstanceStatusDetails": { - "base": "

Describes the instance status.

", - "refs": { - "InstanceStatusDetailsList$member": null - } - }, - "InstanceStatusDetailsList": { - "base": null, - "refs": { - "InstanceStatusSummary$Details": "

The system instance health or application instance health.

" - } - }, - "InstanceStatusEvent": { - "base": "

Describes a scheduled event for an instance.

", - "refs": { - "InstanceStatusEventList$member": null - } - }, - "InstanceStatusEventList": { - "base": null, - "refs": { - "InstanceStatus$Events": "

Any scheduled events associated with the instance.

" - } - }, - "InstanceStatusList": { - "base": null, - "refs": { - "DescribeInstanceStatusResult$InstanceStatuses": "

One or more instance status descriptions.

" - } - }, - "InstanceStatusSummary": { - "base": "

Describes the status of an instance.

", - "refs": { - "InstanceStatus$SystemStatus": "

Reports impaired functionality that stems from issues related to the systems that support an instance, such as hardware failures and network connectivity problems.

", - "InstanceStatus$InstanceStatus": "

Reports impaired functionality that stems from issues internal to the instance, such as impaired reachability.

" - } - }, - "InstanceType": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$InstanceType": "

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.

", - "ImportInstanceLaunchSpecification$InstanceType": "

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.

", - "Instance$InstanceType": "

The instance type.

", - "InstanceTypeList$member": null, - "LaunchSpecification$InstanceType": "

The instance type.

", - "ReservedInstances$InstanceType": "

The instance type on which the Reserved Instance can be used.

", - "ReservedInstancesConfiguration$InstanceType": "

The instance type for the modified Reserved Instances.

", - "ReservedInstancesOffering$InstanceType": "

The instance type on which the Reserved Instance can be used.

", - "RunInstancesRequest$InstanceType": "

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

Default: m1.small

", - "SpotFleetLaunchSpecification$InstanceType": "

The instance type.

", - "SpotPrice$InstanceType": "

The instance type.

", - "RequestSpotLaunchSpecification$InstanceType": "

The instance type.

" - } - }, - "InstanceTypeList": { - "base": null, - "refs": { - "DescribeSpotPriceHistoryRequest$InstanceTypes": "

Filters the results by the specified instance types.

" - } - }, - "Integer": { - "base": null, - "refs": { - "AssignPrivateIpAddressesRequest$SecondaryPrivateIpAddressCount": "

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", - "AttachNetworkInterfaceRequest$DeviceIndex": "

The index of the device for the network interface attachment.

", - "AuthorizeSecurityGroupEgressRequest$FromPort": "

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.

", - "AuthorizeSecurityGroupEgressRequest$ToPort": "

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.

", - "AuthorizeSecurityGroupIngressRequest$FromPort": "

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.

", - "AuthorizeSecurityGroupIngressRequest$ToPort": "

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.

", - "CreateCustomerGatewayRequest$BgpAsn": "

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

", - "CreateNetworkAclEntryRequest$RuleNumber": "

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

", - "CreateNetworkInterfaceRequest$SecondaryPrivateIpAddressCount": "

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.

", - "CreateReservedInstancesListingRequest$InstanceCount": "

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.

", - "CreateVolumeRequest$Size": "

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.

", - "CreateVolumeRequest$Iops": "

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

", - "DeleteNetworkAclEntryRequest$RuleNumber": "

The rule number of the entry to delete.

", - "DescribeClassicLinkInstancesRequest$MaxResults": "

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.

", - "DescribeFlowLogsRequest$MaxResults": "

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.

", - "DescribeImportImageTasksRequest$MaxResults": "

The maximum number of results to return in a single request.

", - "DescribeImportSnapshotTasksRequest$MaxResults": "

The maximum number of results to return in a single request.

", - "DescribeInstanceStatusRequest$MaxResults": "

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.

", - "DescribeInstancesRequest$MaxResults": "

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.

", - "DescribeMovingAddressesRequest$MaxResults": "

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.

", - "DescribePrefixListsRequest$MaxResults": "

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.

", - "DescribeReservedInstancesOfferingsRequest$MaxResults": "

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

", - "DescribeReservedInstancesOfferingsRequest$MaxInstanceCount": "

The maximum number of instances to filter when searching for offerings.

Default: 20

", - "DescribeSnapshotsRequest$MaxResults": "

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.

", - "DescribeSpotFleetInstancesRequest$MaxResults": "

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.

", - "DescribeSpotFleetRequestHistoryRequest$MaxResults": "

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.

", - "DescribeSpotFleetRequestsRequest$MaxResults": "

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.

", - "DescribeSpotPriceHistoryRequest$MaxResults": "

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.

", - "DescribeTagsRequest$MaxResults": "

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.

", - "DescribeVolumeStatusRequest$MaxResults": "

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.

", - "DescribeVolumesRequest$MaxResults": "

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.

", - "DescribeVpcEndpointServicesRequest$MaxResults": "

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.

", - "DescribeVpcEndpointsRequest$MaxResults": "

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.

", - "EbsBlockDevice$VolumeSize": "

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.

", - "EbsBlockDevice$Iops": "

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.

", - "IcmpTypeCode$Type": "

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", - "IcmpTypeCode$Code": "

The ICMP type. A value of -1 means all types.

", - "Instance$AmiLaunchIndex": "

The AMI launch index, which can be used to find this instance in the launch group.

", - "InstanceCount$InstanceCount": "

The number of listed Reserved Instances in the state specified by the state.

", - "InstanceNetworkInterfaceAttachment$DeviceIndex": "

The index of the device on the instance for the network interface attachment.

", - "InstanceNetworkInterfaceSpecification$DeviceIndex": "

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.

", - "InstanceNetworkInterfaceSpecification$SecondaryPrivateIpAddressCount": "

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.

", - "InstanceState$Code": "

The low byte represents the state. The high byte is an opaque internal value and should be ignored.

", - "IpPermission$FromPort": "

The start of port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "IpPermission$ToPort": "

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.

", - "NetworkAclEntry$RuleNumber": "

The rule number for the entry. ACL entries are processed in ascending order by rule number.

", - "NetworkInterfaceAttachment$DeviceIndex": "

The device index of the network interface attachment on the instance.

", - "PortRange$From": "

The first port in the range.

", - "PortRange$To": "

The last port in the range.

", - "PricingDetail$Count": "

The number of instances available for the price.

", - "PurchaseReservedInstancesOfferingRequest$InstanceCount": "

The number of Reserved Instances to purchase.

", - "ReplaceNetworkAclEntryRequest$RuleNumber": "

The rule number of the entry to replace.

", - "RequestSpotInstancesRequest$InstanceCount": "

The maximum number of Spot instances to launch.

Default: 1

", - "ReservedInstances$InstanceCount": "

The number of Reserved Instances purchased.

", - "ReservedInstancesConfiguration$InstanceCount": "

The number of modified Reserved Instances.

", - "RevokeSecurityGroupEgressRequest$FromPort": "

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.

", - "RevokeSecurityGroupEgressRequest$ToPort": "

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.

", - "RevokeSecurityGroupIngressRequest$FromPort": "

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.

", - "RevokeSecurityGroupIngressRequest$ToPort": "

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.

", - "RunInstancesRequest$MinCount": "

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.

", - "RunInstancesRequest$MaxCount": "

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.

", - "Snapshot$VolumeSize": "

The size of the volume, in GiB.

", - "SpotFleetRequestConfigData$TargetCapacity": "

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.

", - "Subnet$AvailableIpAddressCount": "

The number of unused IP addresses in the subnet. Note that the IP addresses for any stopped instances are considered unavailable.

", - "VgwTelemetry$AcceptedRouteCount": "

The number of accepted routes.

", - "Volume$Size": "

The size of the volume, in GiBs.

", - "Volume$Iops": "

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.

" - } - }, - "InternetGateway": { - "base": "

Describes an Internet gateway.

", - "refs": { - "CreateInternetGatewayResult$InternetGateway": "

Information about the Internet gateway.

", - "InternetGatewayList$member": null - } - }, - "InternetGatewayAttachment": { - "base": "

Describes the attachment of a VPC to an Internet gateway.

", - "refs": { - "InternetGatewayAttachmentList$member": null - } - }, - "InternetGatewayAttachmentList": { - "base": null, - "refs": { - "InternetGateway$Attachments": "

Any VPCs attached to the Internet gateway.

" - } - }, - "InternetGatewayList": { - "base": null, - "refs": { - "DescribeInternetGatewaysResult$InternetGateways": "

Information about one or more Internet gateways.

" - } - }, - "IpPermission": { - "base": "

Describes a security group rule.

", - "refs": { - "IpPermissionList$member": null - } - }, - "IpPermissionList": { - "base": null, - "refs": { - "AuthorizeSecurityGroupEgressRequest$IpPermissions": "

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

", - "AuthorizeSecurityGroupIngressRequest$IpPermissions": "

A set of IP permissions. Can be used to specify multiple rules in a single command.

", - "RevokeSecurityGroupEgressRequest$IpPermissions": "

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

", - "RevokeSecurityGroupIngressRequest$IpPermissions": "

A set of IP permissions. You can't specify a source security group and a CIDR IP address range.

", - "SecurityGroup$IpPermissions": "

One or more inbound rules associated with the security group.

", - "SecurityGroup$IpPermissionsEgress": "

[EC2-VPC] One or more outbound rules associated with the security group.

" - } - }, - "IpRange": { - "base": "

Describes an IP range.

", - "refs": { - "IpRangeList$member": null - } - }, - "IpRangeList": { - "base": null, - "refs": { - "IpPermission$IpRanges": "

One or more IP ranges.

" - } - }, - "KeyNameStringList": { - "base": null, - "refs": { - "DescribeKeyPairsRequest$KeyNames": "

One or more key pair names.

Default: Describes all your key pairs.

" - } - }, - "KeyPair": { - "base": "

Describes a key pair.

", - "refs": { - } - }, - "KeyPairInfo": { - "base": "

Describes a key pair.

", - "refs": { - "KeyPairList$member": null - } - }, - "KeyPairList": { - "base": null, - "refs": { - "DescribeKeyPairsResult$KeyPairs": "

Information about one or more key pairs.

" - } - }, - "LaunchPermission": { - "base": "

Describes a launch permission.

", - "refs": { - "LaunchPermissionList$member": null - } - }, - "LaunchPermissionList": { - "base": null, - "refs": { - "ImageAttribute$LaunchPermissions": "

One or more launch permissions.

", - "LaunchPermissionModifications$Add": "

The AWS account ID to add to the list of launch permissions for the AMI.

", - "LaunchPermissionModifications$Remove": "

The AWS account ID to remove from the list of launch permissions for the AMI.

" - } - }, - "LaunchPermissionModifications": { - "base": "

Describes a launch permission modification.

", - "refs": { - "ModifyImageAttributeRequest$LaunchPermission": "

A launch permission modification.

" - } - }, - "LaunchSpecification": { - "base": "

Describes the launch specification for an instance.

", - "refs": { - "SpotInstanceRequest$LaunchSpecification": "

Additional information for launching instances.

" - } - }, - "LaunchSpecsList": { - "base": null, - "refs": { - "SpotFleetRequestConfigData$LaunchSpecifications": "

Information about the launch specifications for the Spot fleet request.

" - } - }, - "ListingState": { - "base": null, - "refs": { - "InstanceCount$State": "

The states of the listed Reserved Instances.

" - } - }, - "ListingStatus": { - "base": null, - "refs": { - "ReservedInstancesListing$Status": "

The status of the Reserved Instance listing.

" - } - }, - "Long": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$MinDuration": "

The minimum duration (in seconds) to filter when searching for offerings.

Default: 2592000 (1 month)

", - "DescribeReservedInstancesOfferingsRequest$MaxDuration": "

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

", - "DiskImageDescription$Size": "

The size of the disk image, in GiB.

", - "DiskImageDetail$Bytes": "

The size of the disk image, in GiB.

", - "DiskImageVolumeDescription$Size": "

The size of the volume, in GiB.

", - "ImportInstanceVolumeDetailItem$BytesConverted": "

The number of bytes converted so far.

", - "ImportVolumeTaskDetails$BytesConverted": "

The number of bytes converted so far.

", - "PriceSchedule$Term": "

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "PriceScheduleSpecification$Term": "

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "ReservedInstances$Duration": "

The duration of the Reserved Instance, in seconds.

", - "ReservedInstancesOffering$Duration": "

The duration of the Reserved Instance, in seconds.

", - "VolumeDetail$Size": "

The size of the volume, in GiB.

" - } - }, - "ModifyImageAttributeRequest": { - "base": null, - "refs": { - } - }, - "ModifyInstanceAttributeRequest": { - "base": null, - "refs": { - } - }, - "ModifyNetworkInterfaceAttributeRequest": { - "base": null, - "refs": { - } - }, - "ModifyReservedInstancesRequest": { - "base": null, - "refs": { - } - }, - "ModifyReservedInstancesResult": { - "base": null, - "refs": { - } - }, - "ModifySnapshotAttributeRequest": { - "base": null, - "refs": { - } - }, - "ModifySubnetAttributeRequest": { - "base": null, - "refs": { - } - }, - "ModifyVolumeAttributeRequest": { - "base": null, - "refs": { - } - }, - "ModifyVpcAttributeRequest": { - "base": null, - "refs": { - } - }, - "ModifyVpcEndpointRequest": { - "base": null, - "refs": { - } - }, - "ModifyVpcEndpointResult": { - "base": null, - "refs": { - } - }, - "MonitorInstancesRequest": { - "base": null, - "refs": { - } - }, - "MonitorInstancesResult": { - "base": null, - "refs": { - } - }, - "Monitoring": { - "base": "

Describes the monitoring for the instance.

", - "refs": { - "Instance$Monitoring": "

The monitoring information for the instance.

", - "InstanceMonitoring$Monitoring": "

The monitoring information.

" - } - }, - "MonitoringState": { - "base": null, - "refs": { - "Monitoring$State": "

Indicates whether monitoring is enabled for the instance.

" - } - }, - "MoveAddressToVpcRequest": { - "base": null, - "refs": { - } - }, - "MoveAddressToVpcResult": { - "base": null, - "refs": { - } - }, - "MoveStatus": { - "base": null, - "refs": { - "MovingAddressStatus$MoveStatus": "

The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

" - } - }, - "MovingAddressStatus": { - "base": "

Describes the status of a moving Elastic IP address.

", - "refs": { - "MovingAddressStatusSet$member": null - } - }, - "MovingAddressStatusSet": { - "base": null, - "refs": { - "DescribeMovingAddressesResult$MovingAddressStatuses": "

The status for each Elastic IP address.

" - } - }, - "NetworkAcl": { - "base": "

Describes a network ACL.

", - "refs": { - "CreateNetworkAclResult$NetworkAcl": "

Information about the network ACL.

", - "NetworkAclList$member": null - } - }, - "NetworkAclAssociation": { - "base": "

Describes an association between a network ACL and a subnet.

", - "refs": { - "NetworkAclAssociationList$member": null - } - }, - "NetworkAclAssociationList": { - "base": null, - "refs": { - "NetworkAcl$Associations": "

Any associations between the network ACL and one or more subnets

" - } - }, - "NetworkAclEntry": { - "base": "

Describes an entry in a network ACL.

", - "refs": { - "NetworkAclEntryList$member": null - } - }, - "NetworkAclEntryList": { - "base": null, - "refs": { - "NetworkAcl$Entries": "

One or more entries (rules) in the network ACL.

" - } - }, - "NetworkAclList": { - "base": null, - "refs": { - "DescribeNetworkAclsResult$NetworkAcls": "

Information about one or more network ACLs.

" - } - }, - "NetworkInterface": { - "base": "

Describes a network interface.

", - "refs": { - "CreateNetworkInterfaceResult$NetworkInterface": "

Information about the network interface.

", - "NetworkInterfaceList$member": null - } - }, - "NetworkInterfaceAssociation": { - "base": "

Describes association information for an Elastic IP address.

", - "refs": { - "NetworkInterface$Association": "

The association information for an Elastic IP associated with the network interface.

", - "NetworkInterfacePrivateIpAddress$Association": "

The association information for an Elastic IP address associated with the network interface.

" - } - }, - "NetworkInterfaceAttachment": { - "base": "

Describes a network interface attachment.

", - "refs": { - "DescribeNetworkInterfaceAttributeResult$Attachment": "

The attachment (if any) of the network interface.

", - "NetworkInterface$Attachment": "

The network interface attachment.

" - } - }, - "NetworkInterfaceAttachmentChanges": { - "base": "

Describes an attachment change.

", - "refs": { - "ModifyNetworkInterfaceAttributeRequest$Attachment": "

Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

" - } - }, - "NetworkInterfaceAttribute": { - "base": null, - "refs": { - "DescribeNetworkInterfaceAttributeRequest$Attribute": "

The attribute of the network interface.

" - } - }, - "NetworkInterfaceIdList": { - "base": null, - "refs": { - "DescribeNetworkInterfacesRequest$NetworkInterfaceIds": "

One or more network interface IDs.

Default: Describes all your network interfaces.

" - } - }, - "NetworkInterfaceList": { - "base": null, - "refs": { - "DescribeNetworkInterfacesResult$NetworkInterfaces": "

Information about one or more network interfaces.

" - } - }, - "NetworkInterfacePrivateIpAddress": { - "base": "

Describes the private IP address of a network interface.

", - "refs": { - "NetworkInterfacePrivateIpAddressList$member": null - } - }, - "NetworkInterfacePrivateIpAddressList": { - "base": null, - "refs": { - "NetworkInterface$PrivateIpAddresses": "

The private IP addresses associated with the network interface.

" - } - }, - "NetworkInterfaceStatus": { - "base": null, - "refs": { - "InstanceNetworkInterface$Status": "

The status of the network interface.

", - "NetworkInterface$Status": "

The status of the network interface.

" - } - }, - "OfferingTypeValues": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$OfferingType": "

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.

", - "DescribeReservedInstancesRequest$OfferingType": "

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.

", - "ReservedInstances$OfferingType": "

The Reserved Instance offering type.

", - "ReservedInstancesOffering$OfferingType": "

The Reserved Instance offering type.

" - } - }, - "OperationType": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$OperationType": "

The operation type.

", - "ModifySnapshotAttributeRequest$OperationType": "

The type of operation to perform to the attribute.

" - } - }, - "OwnerStringList": { - "base": null, - "refs": { - "DescribeImagesRequest$Owners": "

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.

", - "DescribeSnapshotsRequest$OwnerIds": "

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

" - } - }, - "PermissionGroup": { - "base": null, - "refs": { - "CreateVolumePermission$Group": "

The specific group that is to be added or removed from a volume's list of create volume permissions.

", - "LaunchPermission$Group": "

The name of the group.

" - } - }, - "Placement": { - "base": "

Describes the placement for the instance.

", - "refs": { - "ImportInstanceLaunchSpecification$Placement": "

The placement information for the instance.

", - "Instance$Placement": "

The location where the instance launched.

", - "RunInstancesRequest$Placement": "

The placement for the instance.

" - } - }, - "PlacementGroup": { - "base": "

Describes a placement group.

", - "refs": { - "PlacementGroupList$member": null - } - }, - "PlacementGroupList": { - "base": null, - "refs": { - "DescribePlacementGroupsResult$PlacementGroups": "

One or more placement groups.

" - } - }, - "PlacementGroupState": { - "base": null, - "refs": { - "PlacementGroup$State": "

The state of the placement group.

" - } - }, - "PlacementGroupStringList": { - "base": null, - "refs": { - "DescribePlacementGroupsRequest$GroupNames": "

One or more placement group names.

Default: Describes all your placement groups, or only those otherwise specified.

" - } - }, - "PlacementStrategy": { - "base": null, - "refs": { - "CreatePlacementGroupRequest$Strategy": "

The placement strategy.

", - "PlacementGroup$Strategy": "

The placement strategy.

" - } - }, - "PlatformValues": { - "base": null, - "refs": { - "Image$Platform": "

The value is Windows for Windows AMIs; otherwise blank.

", - "ImportInstanceRequest$Platform": "

The instance operating system.

", - "ImportInstanceTaskDetails$Platform": "

The instance operating system.

", - "Instance$Platform": "

The value is Windows for Windows instances; otherwise blank.

" - } - }, - "PortRange": { - "base": "

Describes a range of ports.

", - "refs": { - "CreateNetworkAclEntryRequest$PortRange": "

TCP or UDP protocols: The range of ports the rule applies to.

", - "NetworkAclEntry$PortRange": "

TCP or UDP protocols: The range of ports the rule applies to.

", - "ReplaceNetworkAclEntryRequest$PortRange": "

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying 6 (TCP) or 17 (UDP) for the protocol.

" - } - }, - "PrefixList": { - "base": "

Describes prefixes for AWS services.

", - "refs": { - "PrefixListSet$member": null - } - }, - "PrefixListId": { - "base": "

The ID of the prefix.

", - "refs": { - "PrefixListIdList$member": null - } - }, - "PrefixListIdList": { - "base": null, - "refs": { - "IpPermission$PrefixListIds": "

(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.

" - } - }, - "PrefixListSet": { - "base": null, - "refs": { - "DescribePrefixListsResult$PrefixLists": "

All available prefix lists.

" - } - }, - "PriceSchedule": { - "base": "

Describes the price for a Reserved Instance.

", - "refs": { - "PriceScheduleList$member": null - } - }, - "PriceScheduleList": { - "base": null, - "refs": { - "ReservedInstancesListing$PriceSchedules": "

The price of the Reserved Instance listing.

" - } - }, - "PriceScheduleSpecification": { - "base": "

Describes the price for a Reserved Instance.

", - "refs": { - "PriceScheduleSpecificationList$member": null - } - }, - "PriceScheduleSpecificationList": { - "base": null, - "refs": { - "CreateReservedInstancesListingRequest$PriceSchedules": "

A list specifying the price of the Reserved Instance for each month remaining in the Reserved Instance term.

" - } - }, - "PricingDetail": { - "base": "

Describes a Reserved Instance offering.

", - "refs": { - "PricingDetailsList$member": null - } - }, - "PricingDetailsList": { - "base": null, - "refs": { - "ReservedInstancesOffering$PricingDetails": "

The pricing details of the Reserved Instance offering.

" - } - }, - "PrivateIpAddressSpecification": { - "base": "

Describes a secondary private IP address for a network interface.

", - "refs": { - "PrivateIpAddressSpecificationList$member": null - } - }, - "PrivateIpAddressSpecificationList": { - "base": null, - "refs": { - "CreateNetworkInterfaceRequest$PrivateIpAddresses": "

One or more private IP addresses.

", - "InstanceNetworkInterfaceSpecification$PrivateIpAddresses": "

One or more private IP addresses to assign to the network interface. Only one private IP address can be designated as primary.

" - } - }, - "PrivateIpAddressStringList": { - "base": null, - "refs": { - "AssignPrivateIpAddressesRequest$PrivateIpAddresses": "

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.

", - "UnassignPrivateIpAddressesRequest$PrivateIpAddresses": "

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.

" - } - }, - "ProductCode": { - "base": "

Describes a product code.

", - "refs": { - "ProductCodeList$member": null - } - }, - "ProductCodeList": { - "base": null, - "refs": { - "DescribeSnapshotAttributeResult$ProductCodes": "

A list of product codes.

", - "DescribeVolumeAttributeResult$ProductCodes": "

A list of product codes.

", - "Image$ProductCodes": "

Any product codes associated with the AMI.

", - "ImageAttribute$ProductCodes": "

One or more product codes.

", - "Instance$ProductCodes": "

The product codes attached to this instance.

", - "InstanceAttribute$ProductCodes": "

A list of product codes.

" - } - }, - "ProductCodeStringList": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$ProductCodes": "

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.

" - } - }, - "ProductCodeValues": { - "base": null, - "refs": { - "ProductCode$ProductCodeType": "

The type of product code.

" - } - }, - "ProductDescriptionList": { - "base": null, - "refs": { - "DescribeSpotPriceHistoryRequest$ProductDescriptions": "

Filters the results by the specified basic product descriptions.

" - } - }, - "PropagatingVgw": { - "base": "

Describes a virtual private gateway propagating route.

", - "refs": { - "PropagatingVgwList$member": null - } - }, - "PropagatingVgwList": { - "base": null, - "refs": { - "RouteTable$PropagatingVgws": "

Any virtual private gateway (VGW) propagating routes.

" - } - }, - "PublicIpStringList": { - "base": null, - "refs": { - "DescribeAddressesRequest$PublicIps": "

[EC2-Classic] One or more Elastic IP addresses.

Default: Describes all your Elastic IP addresses.

" - } - }, - "PurchaseReservedInstancesOfferingRequest": { - "base": null, - "refs": { - } - }, - "PurchaseReservedInstancesOfferingResult": { - "base": null, - "refs": { - } - }, - "RIProductDescription": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$ProductDescription": "

The Reserved Instance product platform description. Instances that include (Amazon VPC) in the description are for use with Amazon VPC.

", - "ReservedInstances$ProductDescription": "

The Reserved Instance product platform description.

", - "ReservedInstancesOffering$ProductDescription": "

The Reserved Instance product platform description.

", - "SpotInstanceRequest$ProductDescription": "

The product description associated with the Spot instance.

", - "SpotPrice$ProductDescription": "

A general description of the AMI.

" - } - }, - "ReasonCodesList": { - "base": null, - "refs": { - "ReportInstanceStatusRequest$ReasonCodes": "

One or more reason codes that describes the health state of your instance.

" - } - }, - "RebootInstancesRequest": { - "base": null, - "refs": { - } - }, - "RecurringCharge": { - "base": "

Describes a recurring charge.

", - "refs": { - "RecurringChargesList$member": null - } - }, - "RecurringChargeFrequency": { - "base": null, - "refs": { - "RecurringCharge$Frequency": "

The frequency of the recurring charge.

" - } - }, - "RecurringChargesList": { - "base": null, - "refs": { - "ReservedInstances$RecurringCharges": "

The recurring charge tag assigned to the resource.

", - "ReservedInstancesOffering$RecurringCharges": "

The recurring charge tag assigned to the resource.

" - } - }, - "Region": { - "base": "

Describes a region.

", - "refs": { - "RegionList$member": null - } - }, - "RegionList": { - "base": null, - "refs": { - "DescribeRegionsResult$Regions": "

Information about one or more regions.

" - } - }, - "RegionNameStringList": { - "base": null, - "refs": { - "DescribeRegionsRequest$RegionNames": "

The names of one or more regions.

" - } - }, - "RegisterImageRequest": { - "base": null, - "refs": { - } - }, - "RegisterImageResult": { - "base": null, - "refs": { - } - }, - "RejectVpcPeeringConnectionRequest": { - "base": null, - "refs": { - } - }, - "RejectVpcPeeringConnectionResult": { - "base": null, - "refs": { - } - }, - "ReleaseAddressRequest": { - "base": null, - "refs": { - } - }, - "ReplaceNetworkAclAssociationRequest": { - "base": null, - "refs": { - } - }, - "ReplaceNetworkAclAssociationResult": { - "base": null, - "refs": { - } - }, - "ReplaceNetworkAclEntryRequest": { - "base": null, - "refs": { - } - }, - "ReplaceRouteRequest": { - "base": null, - "refs": { - } - }, - "ReplaceRouteTableAssociationRequest": { - "base": null, - "refs": { - } - }, - "ReplaceRouteTableAssociationResult": { - "base": null, - "refs": { - } - }, - "ReportInstanceReasonCodes": { - "base": null, - "refs": { - "ReasonCodesList$member": null - } - }, - "ReportInstanceStatusRequest": { - "base": null, - "refs": { - } - }, - "ReportStatusType": { - "base": null, - "refs": { - "ReportInstanceStatusRequest$Status": "

The status of all instances listed.

" - } - }, - "RequestSpotFleetRequest": { - "base": "

Contains the parameters for RequestSpotFleet.

", - "refs": { - } - }, - "RequestSpotFleetResponse": { - "base": "

Contains the output of RequestSpotFleet.

", - "refs": { - } - }, - "RequestSpotInstancesRequest": { - "base": "

Contains the parameters for RequestSpotInstances.

", - "refs": { - } - }, - "RequestSpotInstancesResult": { - "base": "

Contains the output of RequestSpotInstances.

", - "refs": { - } - }, - "Reservation": { - "base": "

Describes a reservation.

", - "refs": { - "ReservationList$member": null - } - }, - "ReservationList": { - "base": null, - "refs": { - "DescribeInstancesResult$Reservations": "

One or more reservations.

" - } - }, - "ReservedInstanceLimitPrice": { - "base": "

Describes the limit price of a Reserved Instance offering.

", - "refs": { - "PurchaseReservedInstancesOfferingRequest$LimitPrice": "

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

" - } - }, - "ReservedInstanceState": { - "base": null, - "refs": { - "ReservedInstances$State": "

The state of the Reserved Instance purchase.

" - } - }, - "ReservedInstances": { - "base": "

Describes a Reserved Instance.

", - "refs": { - "ReservedInstancesList$member": null - } - }, - "ReservedInstancesConfiguration": { - "base": "

Describes the configuration settings for the modified Reserved Instances.

", - "refs": { - "ReservedInstancesConfigurationList$member": null, - "ReservedInstancesModificationResult$TargetConfiguration": "

The target Reserved Instances configurations supplied as part of the modification request.

" - } - }, - "ReservedInstancesConfigurationList": { - "base": null, - "refs": { - "ModifyReservedInstancesRequest$TargetConfigurations": "

The configuration settings for the Reserved Instances to modify.

" - } - }, - "ReservedInstancesId": { - "base": "

Describes the ID of a Reserved Instance.

", - "refs": { - "ReservedIntancesIds$member": null - } - }, - "ReservedInstancesIdStringList": { - "base": null, - "refs": { - "DescribeReservedInstancesRequest$ReservedInstancesIds": "

One or more Reserved Instance IDs.

Default: Describes all your Reserved Instances, or only those otherwise specified.

", - "ModifyReservedInstancesRequest$ReservedInstancesIds": "

The IDs of the Reserved Instances to modify.

" - } - }, - "ReservedInstancesList": { - "base": null, - "refs": { - "DescribeReservedInstancesResult$ReservedInstances": "

A list of Reserved Instances.

" - } - }, - "ReservedInstancesListing": { - "base": "

Describes a Reserved Instance listing.

", - "refs": { - "ReservedInstancesListingList$member": null - } - }, - "ReservedInstancesListingList": { - "base": null, - "refs": { - "CancelReservedInstancesListingResult$ReservedInstancesListings": "

The Reserved Instance listing.

", - "CreateReservedInstancesListingResult$ReservedInstancesListings": "

Information about the Reserved Instances listing.

", - "DescribeReservedInstancesListingsResult$ReservedInstancesListings": "

Information about the Reserved Instance listing.

" - } - }, - "ReservedInstancesModification": { - "base": "

Describes a Reserved Instance modification.

", - "refs": { - "ReservedInstancesModificationList$member": null - } - }, - "ReservedInstancesModificationIdStringList": { - "base": null, - "refs": { - "DescribeReservedInstancesModificationsRequest$ReservedInstancesModificationIds": "

IDs for the submitted modification request.

" - } - }, - "ReservedInstancesModificationList": { - "base": null, - "refs": { - "DescribeReservedInstancesModificationsResult$ReservedInstancesModifications": "

The Reserved Instance modification information.

" - } - }, - "ReservedInstancesModificationResult": { - "base": null, - "refs": { - "ReservedInstancesModificationResultList$member": null - } - }, - "ReservedInstancesModificationResultList": { - "base": null, - "refs": { - "ReservedInstancesModification$ModificationResults": "

Contains target configurations along with their corresponding new Reserved Instance IDs.

" - } - }, - "ReservedInstancesOffering": { - "base": "

Describes a Reserved Instance offering.

", - "refs": { - "ReservedInstancesOfferingList$member": null - } - }, - "ReservedInstancesOfferingIdStringList": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$ReservedInstancesOfferingIds": "

One or more Reserved Instances offering IDs.

" - } - }, - "ReservedInstancesOfferingList": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsResult$ReservedInstancesOfferings": "

A list of Reserved Instances offerings.

" - } - }, - "ReservedIntancesIds": { - "base": null, - "refs": { - "ReservedInstancesModification$ReservedInstancesIds": "

The IDs of one or more Reserved Instances.

" - } - }, - "ResetImageAttributeName": { - "base": null, - "refs": { - "ResetImageAttributeRequest$Attribute": "

The attribute to reset (currently you can only reset the launch permission attribute).

" - } - }, - "ResetImageAttributeRequest": { - "base": null, - "refs": { - } - }, - "ResetInstanceAttributeRequest": { - "base": null, - "refs": { - } - }, - "ResetNetworkInterfaceAttributeRequest": { - "base": null, - "refs": { - } - }, - "ResetSnapshotAttributeRequest": { - "base": null, - "refs": { - } - }, - "ResourceIdList": { - "base": null, - "refs": { - "CreateTagsRequest$Resources": "

The IDs of one or more resources to tag. For example, ami-1a2b3c4d.

", - "DeleteTagsRequest$Resources": "

The ID of the resource. For example, ami-1a2b3c4d. You can specify more than one resource ID.

" - } - }, - "ResourceType": { - "base": null, - "refs": { - "TagDescription$ResourceType": "

The resource type.

" - } - }, - "RestorableByStringList": { - "base": null, - "refs": { - "DescribeSnapshotsRequest$RestorableByUserIds": "

One or more AWS accounts IDs that can create volumes from the snapshot.

" - } - }, - "RestoreAddressToClassicRequest": { - "base": null, - "refs": { - } - }, - "RestoreAddressToClassicResult": { - "base": null, - "refs": { - } - }, - "RevokeSecurityGroupEgressRequest": { - "base": null, - "refs": { - } - }, - "RevokeSecurityGroupIngressRequest": { - "base": null, - "refs": { - } - }, - "Route": { - "base": "

Describes a route in a route table.

", - "refs": { - "RouteList$member": null - } - }, - "RouteList": { - "base": null, - "refs": { - "RouteTable$Routes": "

The routes in the route table.

" - } - }, - "RouteOrigin": { - "base": null, - "refs": { - "Route$Origin": "

Describes how the route was created.

" - } - }, - "RouteState": { - "base": null, - "refs": { - "Route$State": "

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).

" - } - }, - "RouteTable": { - "base": "

Describes a route table.

", - "refs": { - "CreateRouteTableResult$RouteTable": "

Information about the route table.

", - "RouteTableList$member": null - } - }, - "RouteTableAssociation": { - "base": "

Describes an association between a route table and a subnet.

", - "refs": { - "RouteTableAssociationList$member": null - } - }, - "RouteTableAssociationList": { - "base": null, - "refs": { - "RouteTable$Associations": "

The associations between the route table and one or more subnets.

" - } - }, - "RouteTableList": { - "base": null, - "refs": { - "DescribeRouteTablesResult$RouteTables": "

Information about one or more route tables.

" - } - }, - "RuleAction": { - "base": null, - "refs": { - "CreateNetworkAclEntryRequest$RuleAction": "

Indicates whether to allow or deny the traffic that matches the rule.

", - "NetworkAclEntry$RuleAction": "

Indicates whether to allow or deny the traffic that matches the rule.

", - "ReplaceNetworkAclEntryRequest$RuleAction": "

Indicates whether to allow or deny the traffic that matches the rule.

" - } - }, - "RunInstancesMonitoringEnabled": { - "base": "

Describes the monitoring for the instance.

", - "refs": { - "LaunchSpecification$Monitoring": null, - "RunInstancesRequest$Monitoring": "

The monitoring for the instance.

", - "RequestSpotLaunchSpecification$Monitoring": null - } - }, - "RunInstancesRequest": { - "base": null, - "refs": { - } - }, - "S3Storage": { - "base": "

Describes the storage parameters for S3 and S3 buckets for an instance store-backed AMI.

", - "refs": { - "Storage$S3": "

An Amazon S3 storage location.

" - } - }, - "SecurityGroup": { - "base": "

Describes a security group

", - "refs": { - "SecurityGroupList$member": null - } - }, - "SecurityGroupIdStringList": { - "base": null, - "refs": { - "CreateNetworkInterfaceRequest$Groups": "

The IDs of one or more security groups.

", - "ImportInstanceLaunchSpecification$GroupIds": "

One or more security group IDs.

", - "InstanceNetworkInterfaceSpecification$Groups": "

The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

", - "ModifyNetworkInterfaceAttributeRequest$Groups": "

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.

", - "RunInstancesRequest$SecurityGroupIds": "

One or more security group IDs. You can create a security group using CreateSecurityGroup.

Default: Amazon EC2 uses the default security group.

" - } - }, - "SecurityGroupList": { - "base": null, - "refs": { - "DescribeSecurityGroupsResult$SecurityGroups": "

Information about one or more security groups.

" - } - }, - "SecurityGroupStringList": { - "base": null, - "refs": { - "ImportInstanceLaunchSpecification$GroupNames": "

One or more security group names.

", - "RunInstancesRequest$SecurityGroups": "

[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.

" - } - }, - "ShutdownBehavior": { - "base": null, - "refs": { - "ImportInstanceLaunchSpecification$InstanceInitiatedShutdownBehavior": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "RunInstancesRequest$InstanceInitiatedShutdownBehavior": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

" - } - }, - "Snapshot": { - "base": "

Describes a snapshot.

", - "refs": { - "SnapshotList$member": null - } - }, - "SnapshotAttributeName": { - "base": null, - "refs": { - "DescribeSnapshotAttributeRequest$Attribute": "

The snapshot attribute you would like to view.

", - "ModifySnapshotAttributeRequest$Attribute": "

The snapshot attribute to modify.

Only volume creation permissions may be modified at the customer level.

", - "ResetSnapshotAttributeRequest$Attribute": "

The attribute to reset. Currently, only the attribute for permission to create volumes can be reset.

" - } - }, - "SnapshotDetail": { - "base": "

Describes the snapshot created from the imported disk.

", - "refs": { - "SnapshotDetailList$member": null - } - }, - "SnapshotDetailList": { - "base": null, - "refs": { - "ImportImageResult$SnapshotDetails": "

Information about the snapshots.

", - "ImportImageTask$SnapshotDetails": "

Information about the snapshots.

" - } - }, - "SnapshotDiskContainer": { - "base": "

The disk container object for the import snapshot request.

", - "refs": { - "ImportSnapshotRequest$DiskContainer": "

Information about the disk container.

" - } - }, - "SnapshotIdStringList": { - "base": null, - "refs": { - "DescribeSnapshotsRequest$SnapshotIds": "

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

" - } - }, - "SnapshotList": { - "base": null, - "refs": { - "DescribeSnapshotsResult$Snapshots": "

Information about the snapshots.

" - } - }, - "SnapshotState": { - "base": null, - "refs": { - "Snapshot$State": "

The snapshot state.

" - } - }, - "SnapshotTaskDetail": { - "base": "

Details about the import snapshot task.

", - "refs": { - "ImportSnapshotResult$SnapshotTaskDetail": "

Information about the import snapshot task.

", - "ImportSnapshotTask$SnapshotTaskDetail": "

Describes an import snapshot task.

" - } - }, - "SpotDatafeedSubscription": { - "base": "

Describes the data feed for a Spot instance.

", - "refs": { - "CreateSpotDatafeedSubscriptionResult$SpotDatafeedSubscription": "

The Spot instance data feed subscription.

", - "DescribeSpotDatafeedSubscriptionResult$SpotDatafeedSubscription": "

The Spot instance data feed subscription.

" - } - }, - "SpotFleetLaunchSpecification": { - "base": "

Describes the launch specification for one or more Spot instances.

", - "refs": { - "LaunchSpecsList$member": null - } - }, - "SpotFleetMonitoring": { - "base": "

Describes whether monitoring is enabled.

", - "refs": { - "SpotFleetLaunchSpecification$Monitoring": "

Enable or disable monitoring for the instances.

" - } - }, - "SpotFleetRequestConfig": { - "base": "

Describes a Spot fleet request.

", - "refs": { - "SpotFleetRequestConfigSet$member": null - } - }, - "SpotFleetRequestConfigData": { - "base": "

Describes the configuration of a Spot fleet request.

", - "refs": { - "RequestSpotFleetRequest$SpotFleetRequestConfig": "

The configuration for the Spot fleet request.

", - "SpotFleetRequestConfig$SpotFleetRequestConfig": "

Information about the configuration of the Spot fleet request.

" - } - }, - "SpotFleetRequestConfigSet": { - "base": null, - "refs": { - "DescribeSpotFleetRequestsResponse$SpotFleetRequestConfigs": "

Information about the configuration of your Spot fleet.

" - } - }, - "SpotInstanceRequest": { - "base": "

Describe a Spot instance request.

", - "refs": { - "SpotInstanceRequestList$member": null - } - }, - "SpotInstanceRequestIdList": { - "base": null, - "refs": { - "CancelSpotInstanceRequestsRequest$SpotInstanceRequestIds": "

One or more Spot instance request IDs.

", - "DescribeSpotInstanceRequestsRequest$SpotInstanceRequestIds": "

One or more Spot instance request IDs.

" - } - }, - "SpotInstanceRequestList": { - "base": null, - "refs": { - "DescribeSpotInstanceRequestsResult$SpotInstanceRequests": "

One or more Spot instance requests.

", - "RequestSpotInstancesResult$SpotInstanceRequests": "

One or more Spot instance requests.

" - } - }, - "SpotInstanceState": { - "base": null, - "refs": { - "SpotInstanceRequest$State": "

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.

" - } - }, - "SpotInstanceStateFault": { - "base": "

Describes a Spot instance state change.

", - "refs": { - "SpotDatafeedSubscription$Fault": "

The fault codes for the Spot instance request, if any.

", - "SpotInstanceRequest$Fault": "

The fault codes for the Spot instance request, if any.

" - } - }, - "SpotInstanceStatus": { - "base": "

Describes the status of a Spot instance request.

", - "refs": { - "SpotInstanceRequest$Status": "

The status code and status message describing the Spot instance request.

" - } - }, - "SpotInstanceType": { - "base": null, - "refs": { - "RequestSpotInstancesRequest$Type": "

The Spot instance request type.

Default: one-time

", - "SpotInstanceRequest$Type": "

The Spot instance request type.

" - } - }, - "SpotPlacement": { - "base": "

Describes Spot instance placement.

", - "refs": { - "LaunchSpecification$Placement": "

The placement information for the instance.

", - "SpotFleetLaunchSpecification$Placement": "

The placement information.

", - "RequestSpotLaunchSpecification$Placement": "

The placement information for the instance.

" - } - }, - "SpotPrice": { - "base": "

Describes the maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "refs": { - "SpotPriceHistoryList$member": null - } - }, - "SpotPriceHistoryList": { - "base": null, - "refs": { - "DescribeSpotPriceHistoryResult$SpotPriceHistory": "

The historical Spot prices.

" - } - }, - "StartInstancesRequest": { - "base": null, - "refs": { - } - }, - "StartInstancesResult": { - "base": null, - "refs": { - } - }, - "State": { - "base": null, - "refs": { - "VpcEndpoint$State": "

The state of the VPC endpoint.

" - } - }, - "StateReason": { - "base": "

Describes a state change.

", - "refs": { - "Image$StateReason": "

The reason for the state change.

", - "Instance$StateReason": "

The reason for the most recent state transition.

" - } - }, - "Status": { - "base": null, - "refs": { - "MoveAddressToVpcResult$Status": "

The status of the move of the IP address.

", - "RestoreAddressToClassicResult$Status": "

The move status for the IP address.

" - } - }, - "StatusName": { - "base": null, - "refs": { - "InstanceStatusDetails$Name": "

The type of instance status.

" - } - }, - "StatusType": { - "base": null, - "refs": { - "InstanceStatusDetails$Status": "

The status.

" - } - }, - "StopInstancesRequest": { - "base": null, - "refs": { - } - }, - "StopInstancesResult": { - "base": null, - "refs": { - } - }, - "Storage": { - "base": "

Describes the storage location for an instance store-backed AMI.

", - "refs": { - "BundleInstanceRequest$Storage": "

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.

", - "BundleTask$Storage": "

The Amazon S3 storage locations.

" - } - }, - "String": { - "base": null, - "refs": { - "AcceptVpcPeeringConnectionRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "AccountAttribute$AttributeName": "

The name of the account attribute.

", - "AccountAttributeValue$AttributeValue": "

The value of the attribute.

", - "ActiveInstance$InstanceType": "

The instance type.

", - "ActiveInstance$InstanceId": "

The ID of the instance.

", - "ActiveInstance$SpotInstanceRequestId": "

The ID of the Spot instance request.

", - "Address$InstanceId": "

The ID of the instance that the address is associated with (if any).

", - "Address$PublicIp": "

The Elastic IP address.

", - "Address$AllocationId": "

The ID representing the allocation of the address for use with EC2-VPC.

", - "Address$AssociationId": "

The ID representing the association of the address with an instance in a VPC.

", - "Address$NetworkInterfaceId": "

The ID of the network interface.

", - "Address$NetworkInterfaceOwnerId": "

The ID of the AWS account that owns the network interface.

", - "Address$PrivateIpAddress": "

The private IP address associated with the Elastic IP address.

", - "AllocateAddressResult$PublicIp": "

The Elastic IP address.

", - "AllocateAddressResult$AllocationId": "

[EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

", - "AllocationIdList$member": null, - "AssignPrivateIpAddressesRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "AssociateAddressRequest$InstanceId": "

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.

", - "AssociateAddressRequest$PublicIp": "

The Elastic IP address. This is required for EC2-Classic.

", - "AssociateAddressRequest$AllocationId": "

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

", - "AssociateAddressRequest$NetworkInterfaceId": "

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

", - "AssociateAddressRequest$PrivateIpAddress": "

[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.

", - "AssociateAddressResult$AssociationId": "

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", - "AssociateDhcpOptionsRequest$DhcpOptionsId": "

The ID of the DHCP options set, or default to associate no DHCP options with the VPC.

", - "AssociateDhcpOptionsRequest$VpcId": "

The ID of the VPC.

", - "AssociateRouteTableRequest$SubnetId": "

The ID of the subnet.

", - "AssociateRouteTableRequest$RouteTableId": "

The ID of the route table.

", - "AssociateRouteTableResult$AssociationId": "

The route table association ID (needed to disassociate the route table).

", - "AttachClassicLinkVpcRequest$InstanceId": "

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", - "AttachClassicLinkVpcRequest$VpcId": "

The ID of a ClassicLink-enabled VPC.

", - "AttachInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", - "AttachInternetGatewayRequest$VpcId": "

The ID of the VPC.

", - "AttachNetworkInterfaceRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "AttachNetworkInterfaceRequest$InstanceId": "

The ID of the instance.

", - "AttachNetworkInterfaceResult$AttachmentId": "

The ID of the network interface attachment.

", - "AttachVolumeRequest$VolumeId": "

The ID of the EBS volume. The volume and instance must be within the same Availability Zone.

", - "AttachVolumeRequest$InstanceId": "

The ID of the instance.

", - "AttachVolumeRequest$Device": "

The device name to expose to the instance (for example, /dev/sdh or xvdh).

", - "AttachVpnGatewayRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "AttachVpnGatewayRequest$VpcId": "

The ID of the VPC.

", - "AttributeValue$Value": "

Valid values are case-sensitive and vary by action.

", - "AuthorizeSecurityGroupEgressRequest$GroupId": "

The ID of the security group.

", - "AuthorizeSecurityGroupEgressRequest$SourceSecurityGroupName": "

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.

", - "AuthorizeSecurityGroupEgressRequest$SourceSecurityGroupOwnerId": "

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.

", - "AuthorizeSecurityGroupEgressRequest$IpProtocol": "

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "AuthorizeSecurityGroupEgressRequest$CidrIp": "

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "AuthorizeSecurityGroupIngressRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group.

", - "AuthorizeSecurityGroupIngressRequest$GroupId": "

The ID of the security group. Required for a nondefault VPC.

", - "AuthorizeSecurityGroupIngressRequest$SourceSecurityGroupName": "

[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.

", - "AuthorizeSecurityGroupIngressRequest$SourceSecurityGroupOwnerId": "

[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.

", - "AuthorizeSecurityGroupIngressRequest$IpProtocol": "

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). (VPC only) Use -1 to specify all.

", - "AuthorizeSecurityGroupIngressRequest$CidrIp": "

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "AvailabilityZone$ZoneName": "

The name of the Availability Zone.

", - "AvailabilityZone$RegionName": "

The name of the region.

", - "AvailabilityZoneMessage$Message": "

The message about the Availability Zone.

", - "BlockDeviceMapping$VirtualName": "

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.

", - "BlockDeviceMapping$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "BlockDeviceMapping$NoDevice": "

Suppresses the specified device included in the block device mapping of the AMI.

", - "BundleIdStringList$member": null, - "BundleInstanceRequest$InstanceId": "

The ID of the instance to bundle.

Type: String

Default: None

Required: Yes

", - "BundleTask$InstanceId": "

The ID of the instance associated with this bundle task.

", - "BundleTask$BundleId": "

The ID of the bundle task.

", - "BundleTask$Progress": "

The level of task completion, as a percent (for example, 20%).

", - "BundleTaskError$Code": "

The error code.

", - "BundleTaskError$Message": "

The error message.

", - "CancelBundleTaskRequest$BundleId": "

The ID of the bundle task.

", - "CancelConversionRequest$ConversionTaskId": "

The ID of the conversion task.

", - "CancelConversionRequest$ReasonMessage": "

The reason for canceling the conversion task.

", - "CancelExportTaskRequest$ExportTaskId": "

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", - "CancelImportTaskRequest$ImportTaskId": "

The ID of the import image or import snapshot task to be canceled.

", - "CancelImportTaskRequest$CancelReason": "

The reason for canceling the task.

", - "CancelImportTaskResult$ImportTaskId": "

The ID of the task being canceled.

", - "CancelImportTaskResult$State": "

The current state of the task being canceled.

", - "CancelImportTaskResult$PreviousState": "

The current state of the task being canceled.

", - "CancelReservedInstancesListingRequest$ReservedInstancesListingId": "

The ID of the Reserved Instance listing.

", - "CancelSpotFleetRequestsError$Message": "

The description for the error code.

", - "CancelSpotFleetRequestsErrorItem$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "CancelSpotFleetRequestsSuccessItem$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "CancelledSpotInstanceRequest$SpotInstanceRequestId": "

The ID of the Spot instance request.

", - "ClassicLinkInstance$InstanceId": "

The ID of the instance.

", - "ClassicLinkInstance$VpcId": "

The ID of the VPC.

", - "ClientData$Comment": "

A user-defined comment about the disk upload.

", - "ConfirmProductInstanceRequest$ProductCode": "

The product code. This must be a product code that you own.

", - "ConfirmProductInstanceRequest$InstanceId": "

The ID of the instance.

", - "ConfirmProductInstanceResult$OwnerId": "

The AWS account ID of the instance owner. This is only present if the product code is attached to the instance.

", - "ConversionIdStringList$member": null, - "ConversionTask$ConversionTaskId": "

The ID of the conversion task.

", - "ConversionTask$ExpirationTime": "

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", - "ConversionTask$StatusMessage": "

The status message related to the conversion task.

", - "CopyImageRequest$SourceRegion": "

The name of the region that contains the AMI to copy.

", - "CopyImageRequest$SourceImageId": "

The ID of the AMI to copy.

", - "CopyImageRequest$Name": "

The name of the new AMI in the destination region.

", - "CopyImageRequest$Description": "

A description for the new AMI in the destination region.

", - "CopyImageRequest$ClientToken": "

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$ImageId": "

The ID of the new AMI.

", - "CopySnapshotRequest$SourceRegion": "

The ID of the region that contains the snapshot to be copied.

", - "CopySnapshotRequest$SourceSnapshotId": "

The ID of the EBS snapshot to copy.

", - "CopySnapshotRequest$Description": "

A description for the EBS snapshot.

", - "CopySnapshotRequest$DestinationRegion": "

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).

", - "CopySnapshotRequest$PresignedUrl": "

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.

", - "CopySnapshotRequest$KmsKeyId": "

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.

", - "CopySnapshotResult$SnapshotId": "

The ID of the new snapshot.

", - "CreateCustomerGatewayRequest$PublicIp": "

The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

", - "CreateFlowLogsRequest$LogGroupName": "

The name of the CloudWatch log group.

", - "CreateFlowLogsRequest$DeliverLogsPermissionArn": "

The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group.

", - "CreateFlowLogsRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", - "CreateFlowLogsResult$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", - "CreateImageRequest$InstanceId": "

The ID of the instance.

", - "CreateImageRequest$Name": "

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "CreateImageRequest$Description": "

A description for the new image.

", - "CreateImageResult$ImageId": "

The ID of the new AMI.

", - "CreateInstanceExportTaskRequest$Description": "

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", - "CreateInstanceExportTaskRequest$InstanceId": "

The ID of the instance.

", - "CreateKeyPairRequest$KeyName": "

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

", - "CreateNetworkAclEntryRequest$NetworkAclId": "

The ID of the network ACL.

", - "CreateNetworkAclEntryRequest$Protocol": "

The protocol. A value of -1 means all protocols.

", - "CreateNetworkAclEntryRequest$CidrBlock": "

The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "CreateNetworkAclRequest$VpcId": "

The ID of the VPC.

", - "CreateNetworkInterfaceRequest$SubnetId": "

The ID of the subnet to associate with the network interface.

", - "CreateNetworkInterfaceRequest$Description": "

A description for the network interface.

", - "CreateNetworkInterfaceRequest$PrivateIpAddress": "

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).

", - "CreatePlacementGroupRequest$GroupName": "

A name for the placement group.

Constraints: Up to 255 ASCII characters

", - "CreateReservedInstancesListingRequest$ReservedInstancesId": "

The ID of the active Reserved Instance.

", - "CreateReservedInstancesListingRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "CreateRouteRequest$RouteTableId": "

The ID of the route table for the route.

", - "CreateRouteRequest$DestinationCidrBlock": "

The CIDR address block used for the destination match. Routing decisions are based on the most specific match.

", - "CreateRouteRequest$GatewayId": "

The ID of an Internet gateway or virtual private gateway attached to your VPC.

", - "CreateRouteRequest$InstanceId": "

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.

", - "CreateRouteRequest$NetworkInterfaceId": "

The ID of a network interface.

", - "CreateRouteRequest$VpcPeeringConnectionId": "

The ID of a VPC peering connection.

", - "CreateRouteTableRequest$VpcId": "

The ID of the VPC.

", - "CreateSecurityGroupRequest$GroupName": "

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 ._-:/()#,@[]+=&;{}!$*

", - "CreateSecurityGroupRequest$Description": "

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 ._-:/()#,@[]+=&;{}!$*

", - "CreateSecurityGroupRequest$VpcId": "

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

", - "CreateSecurityGroupResult$GroupId": "

The ID of the security group.

", - "CreateSnapshotRequest$VolumeId": "

The ID of the EBS volume.

", - "CreateSnapshotRequest$Description": "

A description for the snapshot.

", - "CreateSpotDatafeedSubscriptionRequest$Bucket": "

The Amazon S3 bucket in which to store the Spot instance data feed.

", - "CreateSpotDatafeedSubscriptionRequest$Prefix": "

A prefix for the data feed file names.

", - "CreateSubnetRequest$VpcId": "

The ID of the VPC.

", - "CreateSubnetRequest$CidrBlock": "

The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.

", - "CreateSubnetRequest$AvailabilityZone": "

The Availability Zone for the subnet.

Default: Amazon EC2 selects one for you (recommended).

", - "CreateVolumePermission$UserId": "

The specific AWS account ID that is to be added or removed from a volume's list of create volume permissions.

", - "CreateVolumeRequest$SnapshotId": "

The snapshot from which to create the volume.

", - "CreateVolumeRequest$AvailabilityZone": "

The Availability Zone in which to create the volume. Use DescribeAvailabilityZones to list the Availability Zones that are currently available to you.

", - "CreateVolumeRequest$KmsKeyId": "

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$VpcId": "

The ID of the VPC in which the endpoint will be used.

", - "CreateVpcEndpointRequest$ServiceName": "

The AWS service name, in the form com.amazonaws.region.service. To get a list of available services, use the DescribeVpcEndpointServices request.

", - "CreateVpcEndpointRequest$PolicyDocument": "

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.

", - "CreateVpcEndpointRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", - "CreateVpcEndpointResult$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", - "CreateVpcPeeringConnectionRequest$VpcId": "

The ID of the requester VPC.

", - "CreateVpcPeeringConnectionRequest$PeerVpcId": "

The ID of the VPC with which you are creating the VPC peering connection.

", - "CreateVpcPeeringConnectionRequest$PeerOwnerId": "

The AWS account ID of the owner of the peer VPC.

Default: Your AWS account ID

", - "CreateVpcRequest$CidrBlock": "

The network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.

", - "CreateVpnConnectionRequest$Type": "

The type of VPN connection (ipsec.1).

", - "CreateVpnConnectionRequest$CustomerGatewayId": "

The ID of the customer gateway.

", - "CreateVpnConnectionRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "CreateVpnConnectionRouteRequest$VpnConnectionId": "

The ID of the VPN connection.

", - "CreateVpnConnectionRouteRequest$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer network.

", - "CreateVpnGatewayRequest$AvailabilityZone": "

The Availability Zone for the virtual private gateway.

", - "CustomerGateway$CustomerGatewayId": "

The ID of the customer gateway.

", - "CustomerGateway$State": "

The current state of the customer gateway (pending | available | deleting | deleted).

", - "CustomerGateway$Type": "

The type of VPN connection the customer gateway supports (ipsec.1).

", - "CustomerGateway$IpAddress": "

The Internet-routable IP address of the customer gateway's outside interface.

", - "CustomerGateway$BgpAsn": "

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

", - "CustomerGatewayIdStringList$member": null, - "DeleteCustomerGatewayRequest$CustomerGatewayId": "

The ID of the customer gateway.

", - "DeleteDhcpOptionsRequest$DhcpOptionsId": "

The ID of the DHCP options set.

", - "DeleteInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", - "DeleteKeyPairRequest$KeyName": "

The name of the key pair.

", - "DeleteNetworkAclEntryRequest$NetworkAclId": "

The ID of the network ACL.

", - "DeleteNetworkAclRequest$NetworkAclId": "

The ID of the network ACL.

", - "DeleteNetworkInterfaceRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "DeletePlacementGroupRequest$GroupName": "

The name of the placement group.

", - "DeleteRouteRequest$RouteTableId": "

The ID of the route table.

", - "DeleteRouteRequest$DestinationCidrBlock": "

The CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "DeleteRouteTableRequest$RouteTableId": "

The ID of the route table.

", - "DeleteSecurityGroupRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group. You can specify either the security group name or the security group ID.

", - "DeleteSecurityGroupRequest$GroupId": "

The ID of the security group. Required for a nondefault VPC.

", - "DeleteSnapshotRequest$SnapshotId": "

The ID of the EBS snapshot.

", - "DeleteSubnetRequest$SubnetId": "

The ID of the subnet.

", - "DeleteVolumeRequest$VolumeId": "

The ID of the volume.

", - "DeleteVpcPeeringConnectionRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "DeleteVpcRequest$VpcId": "

The ID of the VPC.

", - "DeleteVpnConnectionRequest$VpnConnectionId": "

The ID of the VPN connection.

", - "DeleteVpnConnectionRouteRequest$VpnConnectionId": "

The ID of the VPN connection.

", - "DeleteVpnConnectionRouteRequest$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer network.

", - "DeleteVpnGatewayRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "DeregisterImageRequest$ImageId": "

The ID of the AMI.

", - "DescribeClassicLinkInstancesRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeClassicLinkInstancesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeFlowLogsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeFlowLogsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeImageAttributeRequest$ImageId": "

The ID of the AMI.

", - "DescribeImportImageTasksRequest$NextToken": "

A token that indicates the next page of results.

", - "DescribeImportImageTasksResult$NextToken": "

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "DescribeImportSnapshotTasksRequest$NextToken": "

A token that indicates the next page of results.

", - "DescribeImportSnapshotTasksResult$NextToken": "

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "DescribeInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", - "DescribeInstanceStatusRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeInstanceStatusResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeInstancesRequest$NextToken": "

The token to request the next page of results.

", - "DescribeInstancesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeMovingAddressesRequest$NextToken": "

The token to use to retrieve the next page of results.

", - "DescribeMovingAddressesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeNetworkInterfaceAttributeRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "DescribeNetworkInterfaceAttributeResult$NetworkInterfaceId": "

The ID of the network interface.

", - "DescribePrefixListsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribePrefixListsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DescribeReservedInstancesListingsRequest$ReservedInstancesId": "

One or more Reserved Instance IDs.

", - "DescribeReservedInstancesListingsRequest$ReservedInstancesListingId": "

One or more Reserved Instance Listing IDs.

", - "DescribeReservedInstancesModificationsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeReservedInstancesModificationsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeReservedInstancesOfferingsRequest$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", - "DescribeReservedInstancesOfferingsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeReservedInstancesOfferingsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeSnapshotAttributeRequest$SnapshotId": "

The ID of the EBS snapshot.

", - "DescribeSnapshotAttributeResult$SnapshotId": "

The ID of the EBS snapshot.

", - "DescribeSnapshotsRequest$NextToken": "

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.

", - "DescribeSnapshotsResult$NextToken": "

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.

", - "DescribeSpotFleetInstancesRequest$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetInstancesRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotFleetInstancesResponse$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetInstancesResponse$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSpotFleetRequestHistoryRequest$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetRequestHistoryRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotFleetRequestHistoryResponse$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetRequestHistoryResponse$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSpotFleetRequestsRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotFleetRequestsResponse$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSpotPriceHistoryRequest$AvailabilityZone": "

Filters the results by the specified Availability Zone.

", - "DescribeSpotPriceHistoryRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotPriceHistoryResult$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeTagsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeTagsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return..

", - "DescribeVolumeAttributeRequest$VolumeId": "

The ID of the volume.

", - "DescribeVolumeAttributeResult$VolumeId": "

The ID of the volume.

", - "DescribeVolumeStatusRequest$NextToken": "

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.

", - "DescribeVolumeStatusResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeVolumesRequest$NextToken": "

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.

", - "DescribeVolumesResult$NextToken": "

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.

", - "DescribeVpcAttributeRequest$VpcId": "

The ID of the VPC.

", - "DescribeVpcAttributeResult$VpcId": "

The ID of the VPC.

", - "DescribeVpcEndpointServicesRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcEndpointServicesResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DescribeVpcEndpointsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcEndpointsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DetachClassicLinkVpcRequest$InstanceId": "

The ID of the instance to unlink from the VPC.

", - "DetachClassicLinkVpcRequest$VpcId": "

The ID of the VPC to which the instance is linked.

", - "DetachInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", - "DetachInternetGatewayRequest$VpcId": "

The ID of the VPC.

", - "DetachNetworkInterfaceRequest$AttachmentId": "

The ID of the attachment.

", - "DetachVolumeRequest$VolumeId": "

The ID of the volume.

", - "DetachVolumeRequest$InstanceId": "

The ID of the instance.

", - "DetachVolumeRequest$Device": "

The device name.

", - "DetachVpnGatewayRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "DetachVpnGatewayRequest$VpcId": "

The ID of the VPC.

", - "DhcpConfiguration$Key": "

The name of a DHCP option.

", - "DhcpOptions$DhcpOptionsId": "

The ID of the set of DHCP options.

", - "DhcpOptionsIdStringList$member": null, - "DisableVgwRoutePropagationRequest$RouteTableId": "

The ID of the route table.

", - "DisableVgwRoutePropagationRequest$GatewayId": "

The ID of the virtual private gateway.

", - "DisableVpcClassicLinkRequest$VpcId": "

The ID of the VPC.

", - "DisassociateAddressRequest$PublicIp": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

", - "DisassociateAddressRequest$AssociationId": "

[EC2-VPC] The association ID. Required for EC2-VPC.

", - "DisassociateRouteTableRequest$AssociationId": "

The association ID representing the current association between the route table and subnet.

", - "DiskImage$Description": "

A description of the disk image.

", - "DiskImageDescription$ImportManifestUrl": "

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.

", - "DiskImageDescription$Checksum": "

The checksum computed for the disk image.

", - "DiskImageDetail$ImportManifestUrl": "

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.

", - "DiskImageVolumeDescription$Id": "

The volume identifier.

", - "EbsBlockDevice$SnapshotId": "

The ID of the snapshot.

", - "EbsInstanceBlockDevice$VolumeId": "

The ID of the EBS volume.

", - "EbsInstanceBlockDeviceSpecification$VolumeId": "

The ID of the EBS volume.

", - "EnableVgwRoutePropagationRequest$RouteTableId": "

The ID of the route table.

", - "EnableVgwRoutePropagationRequest$GatewayId": "

The ID of the virtual private gateway.

", - "EnableVolumeIORequest$VolumeId": "

The ID of the volume.

", - "EnableVpcClassicLinkRequest$VpcId": "

The ID of the VPC.

", - "EventInformation$InstanceId": "

The ID of the instance. This information is available only for instanceChange events.

", - "EventInformation$EventSubType": "

The event.

The following are the error events.

The following are the fleetRequestChange events.

The following are the instanceChange events.

", - "EventInformation$EventDescription": "

The description of the event.

", - "ExecutableByStringList$member": null, - "ExportTask$ExportTaskId": "

The ID of the export task.

", - "ExportTask$Description": "

A description of the resource being exported.

", - "ExportTask$StatusMessage": "

The status message related to the export task.

", - "ExportTaskIdStringList$member": null, - "ExportToS3Task$S3Bucket": "

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.

", - "ExportToS3Task$S3Key": "

The encryption key for your S3 bucket.

", - "ExportToS3TaskSpecification$S3Bucket": "

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.

", - "ExportToS3TaskSpecification$S3Prefix": "

The image is written to a single object in the S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", - "Filter$Name": "

The name of the filter. Filter names are case-sensitive.

", - "FlowLog$FlowLogId": "

The flow log ID.

", - "FlowLog$FlowLogStatus": "

The status of the flow log (ACTIVE).

", - "FlowLog$ResourceId": "

The ID of the resource on which the flow log was created.

", - "FlowLog$LogGroupName": "

The name of the flow log group.

", - "FlowLog$DeliverLogsStatus": "

The status of the logs delivery (SUCCESS | FAILED).

", - "FlowLog$DeliverLogsErrorMessage": "

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.

", - "FlowLog$DeliverLogsPermissionArn": "

The ARN of the IAM role that posts logs to CloudWatch Logs.

", - "GetConsoleOutputRequest$InstanceId": "

The ID of the instance.

", - "GetConsoleOutputResult$InstanceId": "

The ID of the instance.

", - "GetConsoleOutputResult$Output": "

The console output, Base64 encoded.

", - "GetPasswordDataRequest$InstanceId": "

The ID of the Windows instance.

", - "GetPasswordDataResult$InstanceId": "

The ID of the Windows instance.

", - "GetPasswordDataResult$PasswordData": "

The password of the instance.

", - "GroupIdStringList$member": null, - "GroupIdentifier$GroupName": "

The name of the security group.

", - "GroupIdentifier$GroupId": "

The ID of the security group.

", - "GroupNameStringList$member": null, - "IamInstanceProfile$Arn": "

The Amazon Resource Name (ARN) of the instance profile.

", - "IamInstanceProfile$Id": "

The ID of the instance profile.

", - "IamInstanceProfileSpecification$Arn": "

The Amazon Resource Name (ARN) of the instance profile.

", - "IamInstanceProfileSpecification$Name": "

The name of the instance profile.

", - "Image$ImageId": "

The ID of the AMI.

", - "Image$ImageLocation": "

The location of the AMI.

", - "Image$OwnerId": "

The AWS account ID of the image owner.

", - "Image$CreationDate": "

The date and time the image was created.

", - "Image$KernelId": "

The kernel associated with the image, if any. Only applicable for machine images.

", - "Image$RamdiskId": "

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "Image$SriovNetSupport": "

Specifies whether enhanced networking is enabled.

", - "Image$ImageOwnerAlias": "

The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.

", - "Image$Name": "

The name of the AMI that was provided during image creation.

", - "Image$Description": "

The description of the AMI that was provided during image creation.

", - "Image$RootDeviceName": "

The device name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "ImageAttribute$ImageId": "

The ID of the AMI.

", - "ImageDiskContainer$Description": "

The description of the disk image.

", - "ImageDiskContainer$Format": "

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

", - "ImageDiskContainer$Url": "

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://..)

", - "ImageDiskContainer$DeviceName": "

The block device mapping for the disk.

", - "ImageDiskContainer$SnapshotId": "

The ID of the EBS snapshot to be used for importing the snapshot.

", - "ImageIdStringList$member": null, - "ImportImageRequest$Description": "

A description string for the import image task.

", - "ImportImageRequest$LicenseType": "

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

", - "ImportImageRequest$Hypervisor": "

The target hypervisor platform.

Valid values: xen

", - "ImportImageRequest$Architecture": "

The architecture of the virtual machine.

Valid values: i386 | x86_64

", - "ImportImageRequest$Platform": "

The operating system of the virtual machine.

Valid values: Windows | Linux

", - "ImportImageRequest$ClientToken": "

The token to enable idempotency for VM import requests.

", - "ImportImageRequest$RoleName": "

The name of the role to use when not using the default role, 'vmimport'.

", - "ImportImageResult$ImportTaskId": "

The task ID of the import image task.

", - "ImportImageResult$Architecture": "

The architecture of the virtual machine.

", - "ImportImageResult$LicenseType": "

The license type of the virtual machine.

", - "ImportImageResult$Platform": "

The operating system of the virtual machine.

", - "ImportImageResult$Hypervisor": "

The target hypervisor of the import task.

", - "ImportImageResult$Description": "

A description of the import task.

", - "ImportImageResult$ImageId": "

The ID of the Amazon Machine Image (AMI) created by the import task.

", - "ImportImageResult$Progress": "

The progress of the task.

", - "ImportImageResult$StatusMessage": "

A detailed status message of the import task.

", - "ImportImageResult$Status": "

A brief status of the task.

", - "ImportImageTask$ImportTaskId": "

The ID of the import image task.

", - "ImportImageTask$Architecture": "

The architecture of the virtual machine.

Valid values: i386 | x86_64

", - "ImportImageTask$LicenseType": "

The license type of the virtual machine.

", - "ImportImageTask$Platform": "

The description string for the import image task.

", - "ImportImageTask$Hypervisor": "

The target hypervisor for the import task.

Valid values: xen

", - "ImportImageTask$Description": "

A description of the import task.

", - "ImportImageTask$ImageId": "

The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

", - "ImportImageTask$Progress": "

The percentage of progress of the import image task.

", - "ImportImageTask$StatusMessage": "

A descriptive status message for the import image task.

", - "ImportImageTask$Status": "

A brief status for the import image task.

", - "ImportInstanceLaunchSpecification$AdditionalInfo": "

Reserved.

", - "ImportInstanceLaunchSpecification$SubnetId": "

[EC2-VPC] The ID of the subnet in which to launch the instance.

", - "ImportInstanceLaunchSpecification$PrivateIpAddress": "

[EC2-VPC] An available IP address from the IP address range of the subnet.

", - "ImportInstanceRequest$Description": "

A description for the instance being imported.

", - "ImportInstanceTaskDetails$InstanceId": "

The ID of the instance.

", - "ImportInstanceTaskDetails$Description": "

A description of the task.

", - "ImportInstanceVolumeDetailItem$AvailabilityZone": "

The Availability Zone where the resulting instance will reside.

", - "ImportInstanceVolumeDetailItem$Status": "

The status of the import of this particular disk image.

", - "ImportInstanceVolumeDetailItem$StatusMessage": "

The status information or errors related to the disk image.

", - "ImportInstanceVolumeDetailItem$Description": "

A description of the task.

", - "ImportKeyPairRequest$KeyName": "

A unique name for the key pair.

", - "ImportKeyPairResult$KeyName": "

The key pair name you provided.

", - "ImportKeyPairResult$KeyFingerprint": "

The MD5 public key fingerprint as specified in section 4 of RFC 4716.

", - "ImportSnapshotRequest$Description": "

The description string for the import snapshot task.

", - "ImportSnapshotRequest$ClientToken": "

Token to enable idempotency for VM import requests.

", - "ImportSnapshotRequest$RoleName": "

The name of the role to use when not using the default role, 'vmimport'.

", - "ImportSnapshotResult$ImportTaskId": "

The ID of the import snapshot task.

", - "ImportSnapshotResult$Description": "

A description of the import snapshot task.

", - "ImportSnapshotTask$ImportTaskId": "

The ID of the import snapshot task.

", - "ImportSnapshotTask$Description": "

A description of the import snapshot task.

", - "ImportTaskIdList$member": null, - "ImportVolumeRequest$AvailabilityZone": "

The Availability Zone for the resulting EBS volume.

", - "ImportVolumeRequest$Description": "

A description of the volume.

", - "ImportVolumeTaskDetails$AvailabilityZone": "

The Availability Zone where the resulting volume will reside.

", - "ImportVolumeTaskDetails$Description": "

The description you provided when starting the import volume task.

", - "Instance$InstanceId": "

The ID of the instance.

", - "Instance$ImageId": "

The ID of the AMI used to launch the instance.

", - "Instance$PrivateDnsName": "

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.

", - "Instance$PublicDnsName": "

The public DNS name assigned to the instance. This name is not available until the instance enters the running state.

", - "Instance$StateTransitionReason": "

The reason for the most recent state transition. This might be an empty string.

", - "Instance$KeyName": "

The name of the key pair, if this instance was launched with an associated key pair.

", - "Instance$KernelId": "

The kernel associated with this instance.

", - "Instance$RamdiskId": "

The RAM disk associated with this instance.

", - "Instance$SubnetId": "

The ID of the subnet in which the instance is running.

", - "Instance$VpcId": "

The ID of the VPC in which the instance is running.

", - "Instance$PrivateIpAddress": "

The private IP address assigned to the instance.

", - "Instance$PublicIpAddress": "

The public IP address assigned to the instance.

", - "Instance$RootDeviceName": "

The root device name (for example, /dev/sda1 or /dev/xvda).

", - "Instance$SpotInstanceRequestId": "

The ID of the Spot Instance request.

", - "Instance$ClientToken": "

The idempotency token you provided when you launched the instance.

", - "Instance$SriovNetSupport": "

Specifies whether enhanced networking is enabled.

", - "InstanceAttribute$InstanceId": "

The ID of the instance.

", - "InstanceBlockDeviceMapping$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "InstanceBlockDeviceMappingSpecification$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "InstanceBlockDeviceMappingSpecification$VirtualName": "

The virtual device name.

", - "InstanceBlockDeviceMappingSpecification$NoDevice": "

suppress the specified device included in the block device mapping.

", - "InstanceExportDetails$InstanceId": "

The ID of the resource being exported.

", - "InstanceIdStringList$member": null, - "InstanceMonitoring$InstanceId": "

The ID of the instance.

", - "InstanceNetworkInterface$NetworkInterfaceId": "

The ID of the network interface.

", - "InstanceNetworkInterface$SubnetId": "

The ID of the subnet.

", - "InstanceNetworkInterface$VpcId": "

The ID of the VPC.

", - "InstanceNetworkInterface$Description": "

The description.

", - "InstanceNetworkInterface$OwnerId": "

The ID of the AWS account that created the network interface.

", - "InstanceNetworkInterface$MacAddress": "

The MAC address.

", - "InstanceNetworkInterface$PrivateIpAddress": "

The IP address of the network interface within the subnet.

", - "InstanceNetworkInterface$PrivateDnsName": "

The private DNS name.

", - "InstanceNetworkInterfaceAssociation$PublicIp": "

The public IP address or Elastic IP address bound to the network interface.

", - "InstanceNetworkInterfaceAssociation$PublicDnsName": "

The public DNS name.

", - "InstanceNetworkInterfaceAssociation$IpOwnerId": "

The ID of the owner of the Elastic IP address.

", - "InstanceNetworkInterfaceAttachment$AttachmentId": "

The ID of the network interface attachment.

", - "InstanceNetworkInterfaceSpecification$NetworkInterfaceId": "

The ID of the network interface.

", - "InstanceNetworkInterfaceSpecification$SubnetId": "

The ID of the subnet associated with the network string. Applies only if creating a network interface when launching an instance.

", - "InstanceNetworkInterfaceSpecification$Description": "

The description of the network interface. Applies only if creating a network interface when launching an instance.

", - "InstanceNetworkInterfaceSpecification$PrivateIpAddress": "

The private IP address of the network interface. Applies only if creating a network interface when launching an instance.

", - "InstancePrivateIpAddress$PrivateIpAddress": "

The private IP address of the network interface.

", - "InstancePrivateIpAddress$PrivateDnsName": "

The private DNS name.

", - "InstanceStateChange$InstanceId": "

The ID of the instance.

", - "InstanceStatus$InstanceId": "

The ID of the instance.

", - "InstanceStatus$AvailabilityZone": "

The Availability Zone of the instance.

", - "InstanceStatusEvent$Description": "

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].

", - "InternetGateway$InternetGatewayId": "

The ID of the Internet gateway.

", - "InternetGatewayAttachment$VpcId": "

The ID of the VPC.

", - "IpPermission$IpProtocol": "

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.

", - "IpRange$CidrIp": "

The CIDR range. You can either specify a CIDR range or a source security group, not both.

", - "KeyNameStringList$member": null, - "KeyPair$KeyName": "

The name of the key pair.

", - "KeyPair$KeyFingerprint": "

The SHA-1 digest of the DER encoded private key.

", - "KeyPair$KeyMaterial": "

An unencrypted PEM encoded RSA private key.

", - "KeyPairInfo$KeyName": "

The name of the key pair.

", - "KeyPairInfo$KeyFingerprint": "

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.

", - "LaunchPermission$UserId": "

The AWS account ID.

", - "LaunchSpecification$ImageId": "

The ID of the AMI.

", - "LaunchSpecification$KeyName": "

The name of the key pair.

", - "LaunchSpecification$UserData": "

The Base64-encoded MIME user data to make available to the instances.

", - "LaunchSpecification$AddressingType": "

Deprecated.

", - "LaunchSpecification$KernelId": "

The ID of the kernel.

", - "LaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "LaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instance.

", - "ModifyImageAttributeRequest$ImageId": "

The ID of the AMI.

", - "ModifyImageAttributeRequest$Attribute": "

The name of the attribute to modify.

", - "ModifyImageAttributeRequest$Value": "

The value of the attribute being modified. This is only valid when modifying the description attribute.

", - "ModifyInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", - "ModifyInstanceAttributeRequest$Value": "

A new value for the attribute. Use only with the kernel, ramdisk, userData, disableApiTermination, or instanceInitiatedShutdownBehavior attribute.

", - "ModifyNetworkInterfaceAttributeRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "ModifyReservedInstancesRequest$ClientToken": "

A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

", - "ModifyReservedInstancesResult$ReservedInstancesModificationId": "

The ID for the modification.

", - "ModifySnapshotAttributeRequest$SnapshotId": "

The ID of the snapshot.

", - "ModifySubnetAttributeRequest$SubnetId": "

The ID of the subnet.

", - "ModifyVolumeAttributeRequest$VolumeId": "

The ID of the volume.

", - "ModifyVpcAttributeRequest$VpcId": "

The ID of the VPC.

", - "ModifyVpcEndpointRequest$VpcEndpointId": "

The ID of the endpoint.

", - "ModifyVpcEndpointRequest$PolicyDocument": "

A policy document to attach to the endpoint. The policy must be in valid JSON format.

", - "MoveAddressToVpcRequest$PublicIp": "

The Elastic IP address.

", - "MoveAddressToVpcResult$AllocationId": "

The allocation ID for the Elastic IP address.

", - "MovingAddressStatus$PublicIp": "

The Elastic IP address.

", - "NetworkAcl$NetworkAclId": "

The ID of the network ACL.

", - "NetworkAcl$VpcId": "

The ID of the VPC for the network ACL.

", - "NetworkAclAssociation$NetworkAclAssociationId": "

The ID of the association between a network ACL and a subnet.

", - "NetworkAclAssociation$NetworkAclId": "

The ID of the network ACL.

", - "NetworkAclAssociation$SubnetId": "

The ID of the subnet.

", - "NetworkAclEntry$Protocol": "

The protocol. A value of -1 means all protocols.

", - "NetworkAclEntry$CidrBlock": "

The network range to allow or deny, in CIDR notation.

", - "NetworkInterface$NetworkInterfaceId": "

The ID of the network interface.

", - "NetworkInterface$SubnetId": "

The ID of the subnet.

", - "NetworkInterface$VpcId": "

The ID of the VPC.

", - "NetworkInterface$AvailabilityZone": "

The Availability Zone.

", - "NetworkInterface$Description": "

A description.

", - "NetworkInterface$OwnerId": "

The AWS account ID of the owner of the network interface.

", - "NetworkInterface$RequesterId": "

The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

", - "NetworkInterface$MacAddress": "

The MAC address.

", - "NetworkInterface$PrivateIpAddress": "

The IP address of the network interface within the subnet.

", - "NetworkInterface$PrivateDnsName": "

The private DNS name.

", - "NetworkInterfaceAssociation$PublicIp": "

The address of the Elastic IP address bound to the network interface.

", - "NetworkInterfaceAssociation$PublicDnsName": "

The public DNS name.

", - "NetworkInterfaceAssociation$IpOwnerId": "

The ID of the Elastic IP address owner.

", - "NetworkInterfaceAssociation$AllocationId": "

The allocation ID.

", - "NetworkInterfaceAssociation$AssociationId": "

The association ID.

", - "NetworkInterfaceAttachment$AttachmentId": "

The ID of the network interface attachment.

", - "NetworkInterfaceAttachment$InstanceId": "

The ID of the instance.

", - "NetworkInterfaceAttachment$InstanceOwnerId": "

The AWS account ID of the owner of the instance.

", - "NetworkInterfaceAttachmentChanges$AttachmentId": "

The ID of the network interface attachment.

", - "NetworkInterfaceIdList$member": null, - "NetworkInterfacePrivateIpAddress$PrivateIpAddress": "

The private IP address.

", - "NetworkInterfacePrivateIpAddress$PrivateDnsName": "

The private DNS name.

", - "OwnerStringList$member": null, - "Placement$AvailabilityZone": "

The Availability Zone of the instance.

", - "Placement$GroupName": "

The name of the placement group the instance is in (for cluster compute instances).

", - "PlacementGroup$GroupName": "

The name of the placement group.

", - "PlacementGroupStringList$member": null, - "PrefixList$PrefixListId": "

The ID of the prefix.

", - "PrefixList$PrefixListName": "

The name of the prefix.

", - "PrefixListId$PrefixListId": "

The ID of the prefix.

", - "PrivateIpAddressSpecification$PrivateIpAddress": "

The private IP addresses.

", - "PrivateIpAddressStringList$member": null, - "ProductCode$ProductCodeId": "

The product code.

", - "ProductCodeStringList$member": null, - "ProductDescriptionList$member": null, - "PropagatingVgw$GatewayId": "

The ID of the virtual private gateway (VGW).

", - "PublicIpStringList$member": null, - "PurchaseReservedInstancesOfferingRequest$ReservedInstancesOfferingId": "

The ID of the Reserved Instance offering to purchase.

", - "PurchaseReservedInstancesOfferingResult$ReservedInstancesId": "

The IDs of the purchased Reserved Instances.

", - "Region$RegionName": "

The name of the region.

", - "Region$Endpoint": "

The region service endpoint.

", - "RegionNameStringList$member": null, - "RegisterImageRequest$ImageLocation": "

The full path to your AMI manifest in Amazon S3 storage.

", - "RegisterImageRequest$Name": "

A name for your AMI.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "RegisterImageRequest$Description": "

A description for your AMI.

", - "RegisterImageRequest$KernelId": "

The ID of the kernel.

", - "RegisterImageRequest$RamdiskId": "

The ID of the RAM disk.

", - "RegisterImageRequest$RootDeviceName": "

The name of the root device (for example, /dev/sda1, or /dev/xvda).

", - "RegisterImageRequest$VirtualizationType": "

The type of virtualization.

Default: paravirtual

", - "RegisterImageRequest$SriovNetSupport": "

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.

", - "RegisterImageResult$ImageId": "

The ID of the newly registered AMI.

", - "RejectVpcPeeringConnectionRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "ReleaseAddressRequest$PublicIp": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

", - "ReleaseAddressRequest$AllocationId": "

[EC2-VPC] The allocation ID. Required for EC2-VPC.

", - "ReplaceNetworkAclAssociationRequest$AssociationId": "

The ID of the current association between the original network ACL and the subnet.

", - "ReplaceNetworkAclAssociationRequest$NetworkAclId": "

The ID of the new network ACL to associate with the subnet.

", - "ReplaceNetworkAclAssociationResult$NewAssociationId": "

The ID of the new association.

", - "ReplaceNetworkAclEntryRequest$NetworkAclId": "

The ID of the ACL.

", - "ReplaceNetworkAclEntryRequest$Protocol": "

The IP protocol. You can specify all or -1 to mean all protocols.

", - "ReplaceNetworkAclEntryRequest$CidrBlock": "

The network range to allow or deny, in CIDR notation.

", - "ReplaceRouteRequest$RouteTableId": "

The ID of the route table.

", - "ReplaceRouteRequest$DestinationCidrBlock": "

The CIDR address block used for the destination match. The value you provide must match the CIDR of an existing route in the table.

", - "ReplaceRouteRequest$GatewayId": "

The ID of an Internet gateway or virtual private gateway.

", - "ReplaceRouteRequest$InstanceId": "

The ID of a NAT instance in your VPC.

", - "ReplaceRouteRequest$NetworkInterfaceId": "

The ID of a network interface.

", - "ReplaceRouteRequest$VpcPeeringConnectionId": "

The ID of a VPC peering connection.

", - "ReplaceRouteTableAssociationRequest$AssociationId": "

The association ID.

", - "ReplaceRouteTableAssociationRequest$RouteTableId": "

The ID of the new route table to associate with the subnet.

", - "ReplaceRouteTableAssociationResult$NewAssociationId": "

The ID of the new association.

", - "ReportInstanceStatusRequest$Description": "

Descriptive text about the health state of your instance.

", - "RequestSpotFleetResponse$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "RequestSpotInstancesRequest$SpotPrice": "

The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "RequestSpotInstancesRequest$ClientToken": "

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.

", - "RequestSpotInstancesRequest$LaunchGroup": "

The instance launch group. Launch groups are Spot instances that launch together and terminate together.

Default: Instances are launched and terminated individually

", - "RequestSpotInstancesRequest$AvailabilityZoneGroup": "

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.

", - "Reservation$ReservationId": "

The ID of the reservation.

", - "Reservation$OwnerId": "

The ID of the AWS account that owns the reservation.

", - "Reservation$RequesterId": "

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", - "ReservedInstances$ReservedInstancesId": "

The ID of the Reserved Instance.

", - "ReservedInstances$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", - "ReservedInstancesConfiguration$AvailabilityZone": "

The Availability Zone for the modified Reserved Instances.

", - "ReservedInstancesConfiguration$Platform": "

The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

", - "ReservedInstancesId$ReservedInstancesId": "

The ID of the Reserved Instance.

", - "ReservedInstancesIdStringList$member": null, - "ReservedInstancesListing$ReservedInstancesListingId": "

The ID of the Reserved Instance listing.

", - "ReservedInstancesListing$ReservedInstancesId": "

The ID of the Reserved Instance.

", - "ReservedInstancesListing$StatusMessage": "

The reason for the current status of the Reserved Instance listing. The response can be blank.

", - "ReservedInstancesListing$ClientToken": "

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", - "ReservedInstancesModification$ReservedInstancesModificationId": "

A unique ID for the Reserved Instance modification.

", - "ReservedInstancesModification$Status": "

The status of the Reserved Instances modification request.

", - "ReservedInstancesModification$StatusMessage": "

The reason for the status.

", - "ReservedInstancesModification$ClientToken": "

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", - "ReservedInstancesModificationIdStringList$member": null, - "ReservedInstancesModificationResult$ReservedInstancesId": "

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.

", - "ReservedInstancesOffering$ReservedInstancesOfferingId": "

The ID of the Reserved Instance offering.

", - "ReservedInstancesOffering$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", - "ReservedInstancesOfferingIdStringList$member": null, - "ResetImageAttributeRequest$ImageId": "

The ID of the AMI.

", - "ResetInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", - "ResetNetworkInterfaceAttributeRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "ResetNetworkInterfaceAttributeRequest$SourceDestCheck": "

The source/destination checking attribute. Resets the value to true.

", - "ResetSnapshotAttributeRequest$SnapshotId": "

The ID of the snapshot.

", - "ResourceIdList$member": null, - "RestorableByStringList$member": null, - "RestoreAddressToClassicRequest$PublicIp": "

The Elastic IP address.

", - "RestoreAddressToClassicResult$PublicIp": "

The Elastic IP address.

", - "RevokeSecurityGroupEgressRequest$GroupId": "

The ID of the security group.

", - "RevokeSecurityGroupEgressRequest$SourceSecurityGroupName": "

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.

", - "RevokeSecurityGroupEgressRequest$SourceSecurityGroupOwnerId": "

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.

", - "RevokeSecurityGroupEgressRequest$IpProtocol": "

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "RevokeSecurityGroupEgressRequest$CidrIp": "

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "RevokeSecurityGroupIngressRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group.

", - "RevokeSecurityGroupIngressRequest$GroupId": "

The ID of the security group. Required for a security group in a nondefault VPC.

", - "RevokeSecurityGroupIngressRequest$SourceSecurityGroupName": "

[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.

", - "RevokeSecurityGroupIngressRequest$SourceSecurityGroupOwnerId": "

[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.

", - "RevokeSecurityGroupIngressRequest$IpProtocol": "

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "RevokeSecurityGroupIngressRequest$CidrIp": "

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "Route$DestinationCidrBlock": "

The CIDR block used for the destination match.

", - "Route$DestinationPrefixListId": "

The prefix of the AWS service.

", - "Route$GatewayId": "

The ID of a gateway attached to your VPC.

", - "Route$InstanceId": "

The ID of a NAT instance in your VPC.

", - "Route$InstanceOwnerId": "

The AWS account ID of the owner of the instance.

", - "Route$NetworkInterfaceId": "

The ID of the network interface.

", - "Route$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "RouteTable$RouteTableId": "

The ID of the route table.

", - "RouteTable$VpcId": "

The ID of the VPC.

", - "RouteTableAssociation$RouteTableAssociationId": "

The ID of the association between a route table and a subnet.

", - "RouteTableAssociation$RouteTableId": "

The ID of the route table.

", - "RouteTableAssociation$SubnetId": "

The ID of the subnet. A subnet ID is not returned for an implicit association.

", - "RunInstancesRequest$ImageId": "

The ID of the AMI, which you can get by calling DescribeImages.

", - "RunInstancesRequest$KeyName": "

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.

", - "RunInstancesRequest$UserData": "

The Base64-encoded MIME user data for the instances.

", - "RunInstancesRequest$KernelId": "

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.

", - "RunInstancesRequest$RamdiskId": "

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.

", - "RunInstancesRequest$SubnetId": "

[EC2-VPC] The ID of the subnet to launch the instance into.

", - "RunInstancesRequest$PrivateIpAddress": "

[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.

", - "RunInstancesRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraints: Maximum 64 ASCII characters

", - "RunInstancesRequest$AdditionalInfo": "

Reserved.

", - "S3Storage$Bucket": "

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.

", - "S3Storage$Prefix": "

The beginning of the file name of the AMI.

", - "S3Storage$AWSAccessKeyId": "

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.

", - "S3Storage$UploadPolicySignature": "

The signature of the Base64 encoded JSON document.

", - "SecurityGroup$OwnerId": "

The AWS account ID of the owner of the security group.

", - "SecurityGroup$GroupName": "

The name of the security group.

", - "SecurityGroup$GroupId": "

The ID of the security group.

", - "SecurityGroup$Description": "

A description of the security group.

", - "SecurityGroup$VpcId": "

[EC2-VPC] The ID of the VPC for the security group.

", - "SecurityGroupIdStringList$member": null, - "SecurityGroupStringList$member": null, - "Snapshot$SnapshotId": "

The ID of the snapshot. Each snapshot receives a unique identifier when it is created.

", - "Snapshot$VolumeId": "

The ID of the volume that was used to create the snapshot.

", - "Snapshot$StateMessage": "

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.

", - "Snapshot$Progress": "

The progress of the snapshot, as a percentage.

", - "Snapshot$OwnerId": "

The AWS account ID of the EBS snapshot owner.

", - "Snapshot$Description": "

The description for the snapshot.

", - "Snapshot$OwnerAlias": "

The AWS account alias (for example, amazon, self) or AWS account ID that owns the snapshot.

", - "Snapshot$KmsKeyId": "

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.

", - "Snapshot$DataEncryptionKeyId": "

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.

", - "SnapshotDetail$Description": "

A description for the snapshot.

", - "SnapshotDetail$Format": "

The format of the disk image from which the snapshot is created.

", - "SnapshotDetail$Url": "

The URL used to access the disk image.

", - "SnapshotDetail$DeviceName": "

The block device mapping for the snapshot.

", - "SnapshotDetail$SnapshotId": "

The snapshot ID of the disk being imported.

", - "SnapshotDetail$Progress": "

The percentage of progress for the task.

", - "SnapshotDetail$StatusMessage": "

A detailed status message for the snapshot creation.

", - "SnapshotDetail$Status": "

A brief status of the snapshot creation.

", - "SnapshotDiskContainer$Description": "

The description of the disk image being imported.

", - "SnapshotDiskContainer$Format": "

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

", - "SnapshotDiskContainer$Url": "

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://..).

", - "SnapshotIdStringList$member": null, - "SnapshotTaskDetail$Description": "

The description of the snapshot.

", - "SnapshotTaskDetail$Format": "

The format of the disk image from which the snapshot is created.

", - "SnapshotTaskDetail$Url": "

The URL of the disk image from which the snapshot is created.

", - "SnapshotTaskDetail$SnapshotId": "

The snapshot ID of the disk being imported.

", - "SnapshotTaskDetail$Progress": "

The percentage of completion for the import snapshot task.

", - "SnapshotTaskDetail$StatusMessage": "

A detailed status message for the import snapshot task.

", - "SnapshotTaskDetail$Status": "

A brief status for the import snapshot task.

", - "SpotDatafeedSubscription$OwnerId": "

The AWS account ID of the account.

", - "SpotDatafeedSubscription$Bucket": "

The Amazon S3 bucket where the Spot instance data feed is located.

", - "SpotDatafeedSubscription$Prefix": "

The prefix that is prepended to data feed files.

", - "SpotFleetLaunchSpecification$ImageId": "

The ID of the AMI.

", - "SpotFleetLaunchSpecification$KeyName": "

The name of the key pair.

", - "SpotFleetLaunchSpecification$UserData": "

The Base64-encoded MIME user data to make available to the instances.

", - "SpotFleetLaunchSpecification$AddressingType": "

Deprecated.

", - "SpotFleetLaunchSpecification$KernelId": "

The ID of the kernel.

", - "SpotFleetLaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "SpotFleetLaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instances.

", - "SpotFleetLaunchSpecification$SpotPrice": "

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.

", - "SpotFleetRequestConfig$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "SpotFleetRequestConfigData$ClientToken": "

A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "SpotFleetRequestConfigData$SpotPrice": "

The bid price per unit hour.

", - "SpotFleetRequestConfigData$IamFleetRole": "

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.

", - "SpotInstanceRequest$SpotInstanceRequestId": "

The ID of the Spot instance request.

", - "SpotInstanceRequest$SpotPrice": "

The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "SpotInstanceRequest$LaunchGroup": "

The instance launch group. Launch groups are Spot instances that launch together and terminate together.

", - "SpotInstanceRequest$AvailabilityZoneGroup": "

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.

", - "SpotInstanceRequest$InstanceId": "

The instance ID, if an instance has been launched to fulfill the Spot instance request.

", - "SpotInstanceRequest$LaunchedAvailabilityZone": "

The Availability Zone in which the bid is launched.

", - "SpotInstanceRequestIdList$member": null, - "SpotInstanceStateFault$Code": "

The reason code for the Spot instance state change.

", - "SpotInstanceStateFault$Message": "

The message for the Spot instance state change.

", - "SpotInstanceStatus$Code": "

The status code.

", - "SpotInstanceStatus$Message": "

The description for the status code.

", - "SpotPlacement$AvailabilityZone": "

The Availability Zone.

", - "SpotPlacement$GroupName": "

The name of the placement group (for cluster instances).

", - "SpotPrice$SpotPrice": "

The maximum price (bid) that you are willing to pay for a Spot instance.

", - "SpotPrice$AvailabilityZone": "

The Availability Zone.

", - "StartInstancesRequest$AdditionalInfo": "

Reserved.

", - "StateReason$Code": "

The reason code for the state change.

", - "StateReason$Message": "

The message for the state change.

", - "Subnet$SubnetId": "

The ID of the subnet.

", - "Subnet$VpcId": "

The ID of the VPC the subnet is in.

", - "Subnet$CidrBlock": "

The CIDR block assigned to the subnet.

", - "Subnet$AvailabilityZone": "

The Availability Zone of the subnet.

", - "SubnetIdStringList$member": null, - "Tag$Key": "

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:

", - "Tag$Value": "

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

", - "TagDescription$ResourceId": "

The ID of the resource. For example, ami-1a2b3c4d.

", - "TagDescription$Key": "

The tag key.

", - "TagDescription$Value": "

The tag value.

", - "UnassignPrivateIpAddressesRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "UnsuccessfulItem$ResourceId": "

The ID of the resource.

", - "UnsuccessfulItemError$Code": "

The error code.

", - "UnsuccessfulItemError$Message": "

The error message accompanying the error code.

", - "UserBucket$S3Bucket": "

The name of the S3 bucket where the disk image is located.

", - "UserBucket$S3Key": "

The key for the disk image.

", - "UserBucketDetails$S3Bucket": "

The S3 bucket from which the disk image was created.

", - "UserBucketDetails$S3Key": "

The key from which the disk image was created.

", - "UserData$Data": "

The Base64-encoded MIME user data for the instance.

", - "UserGroupStringList$member": null, - "UserIdGroupPair$UserId": "

The ID of an AWS account. EC2-Classic only.

", - "UserIdGroupPair$GroupName": "

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.

", - "UserIdGroupPair$GroupId": "

The ID of the security group.

", - "UserIdStringList$member": null, - "ValueStringList$member": null, - "VgwTelemetry$OutsideIpAddress": "

The Internet-routable IP address of the virtual private gateway's outside interface.

", - "VgwTelemetry$StatusMessage": "

If an error occurs, a description of the error.

", - "Volume$VolumeId": "

The ID of the volume.

", - "Volume$SnapshotId": "

The snapshot from which the volume was created, if applicable.

", - "Volume$AvailabilityZone": "

The Availability Zone for the volume.

", - "Volume$KmsKeyId": "

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.

", - "VolumeAttachment$VolumeId": "

The ID of the volume.

", - "VolumeAttachment$InstanceId": "

The ID of the instance.

", - "VolumeAttachment$Device": "

The device name.

", - "VolumeIdStringList$member": null, - "VolumeStatusAction$Code": "

The code identifying the operation, for example, enable-volume-io.

", - "VolumeStatusAction$Description": "

A description of the operation.

", - "VolumeStatusAction$EventType": "

The event type associated with this operation.

", - "VolumeStatusAction$EventId": "

The ID of the event associated with this operation.

", - "VolumeStatusDetails$Status": "

The intended status of the volume status.

", - "VolumeStatusEvent$EventType": "

The type of this event.

", - "VolumeStatusEvent$Description": "

A description of the event.

", - "VolumeStatusEvent$EventId": "

The ID of this event.

", - "VolumeStatusItem$VolumeId": "

The volume ID.

", - "VolumeStatusItem$AvailabilityZone": "

The Availability Zone of the volume.

", - "Vpc$VpcId": "

The ID of the VPC.

", - "Vpc$CidrBlock": "

The CIDR block for the VPC.

", - "Vpc$DhcpOptionsId": "

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).

", - "VpcAttachment$VpcId": "

The ID of the VPC.

", - "VpcClassicLink$VpcId": "

The ID of the VPC.

", - "VpcClassicLinkIdList$member": null, - "VpcEndpoint$VpcEndpointId": "

The ID of the VPC endpoint.

", - "VpcEndpoint$VpcId": "

The ID of the VPC to which the endpoint is associated.

", - "VpcEndpoint$ServiceName": "

The name of the AWS service to which the endpoint is associated.

", - "VpcEndpoint$PolicyDocument": "

The policy document associated with the endpoint.

", - "VpcIdStringList$member": null, - "VpcPeeringConnection$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "VpcPeeringConnectionStateReason$Message": "

A message that provides more information about the status, if applicable.

", - "VpcPeeringConnectionVpcInfo$CidrBlock": "

The CIDR block for the VPC.

", - "VpcPeeringConnectionVpcInfo$OwnerId": "

The AWS account ID of the VPC owner.

", - "VpcPeeringConnectionVpcInfo$VpcId": "

The ID of the VPC.

", - "VpnConnection$VpnConnectionId": "

The ID of the VPN connection.

", - "VpnConnection$CustomerGatewayConfiguration": "

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.

", - "VpnConnection$CustomerGatewayId": "

The ID of the customer gateway at your end of the VPN connection.

", - "VpnConnection$VpnGatewayId": "

The ID of the virtual private gateway at the AWS side of the VPN connection.

", - "VpnConnectionIdStringList$member": null, - "VpnGateway$VpnGatewayId": "

The ID of the virtual private gateway.

", - "VpnGateway$AvailabilityZone": "

The Availability Zone where the virtual private gateway was created.

", - "VpnGatewayIdStringList$member": null, - "VpnStaticRoute$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer data center.

", - "ZoneNameStringList$member": null, - "NewDhcpConfiguration$Key": null, - "RequestSpotLaunchSpecification$ImageId": "

The ID of the AMI.

", - "RequestSpotLaunchSpecification$KeyName": "

The name of the key pair.

", - "RequestSpotLaunchSpecification$UserData": "

The Base64-encoded MIME user data to make available to the instances.

", - "RequestSpotLaunchSpecification$AddressingType": "

Deprecated.

", - "RequestSpotLaunchSpecification$KernelId": "

The ID of the kernel.

", - "RequestSpotLaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "RequestSpotLaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instance.

" - } - }, - "Subnet": { - "base": "

Describes a subnet.

", - "refs": { - "CreateSubnetResult$Subnet": "

Information about the subnet.

", - "SubnetList$member": null - } - }, - "SubnetIdStringList": { - "base": null, - "refs": { - "DescribeSubnetsRequest$SubnetIds": "

One or more subnet IDs.

Default: Describes all your subnets.

" - } - }, - "SubnetList": { - "base": null, - "refs": { - "DescribeSubnetsResult$Subnets": "

Information about one or more subnets.

" - } - }, - "SubnetState": { - "base": null, - "refs": { - "Subnet$State": "

The current state of the subnet.

" - } - }, - "SummaryStatus": { - "base": null, - "refs": { - "InstanceStatusSummary$Status": "

The status.

" - } - }, - "Tag": { - "base": "

Describes a tag.

", - "refs": { - "TagList$member": null - } - }, - "TagDescription": { - "base": "

Describes a tag.

", - "refs": { - "TagDescriptionList$member": null - } - }, - "TagDescriptionList": { - "base": null, - "refs": { - "DescribeTagsResult$Tags": "

A list of tags.

" - } - }, - "TagList": { - "base": null, - "refs": { - "ClassicLinkInstance$Tags": "

Any tags assigned to the instance.

", - "ConversionTask$Tags": "

Any tags assigned to the task.

", - "CreateTagsRequest$Tags": "

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.

", - "CustomerGateway$Tags": "

Any tags assigned to the customer gateway.

", - "DeleteTagsRequest$Tags": "

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.

", - "DhcpOptions$Tags": "

Any tags assigned to the DHCP options set.

", - "Image$Tags": "

Any tags assigned to the image.

", - "Instance$Tags": "

Any tags assigned to the instance.

", - "InternetGateway$Tags": "

Any tags assigned to the Internet gateway.

", - "NetworkAcl$Tags": "

Any tags assigned to the network ACL.

", - "NetworkInterface$TagSet": "

Any tags assigned to the network interface.

", - "ReservedInstances$Tags": "

Any tags assigned to the resource.

", - "ReservedInstancesListing$Tags": "

Any tags assigned to the resource.

", - "RouteTable$Tags": "

Any tags assigned to the route table.

", - "SecurityGroup$Tags": "

Any tags assigned to the security group.

", - "Snapshot$Tags": "

Any tags assigned to the snapshot.

", - "SpotInstanceRequest$Tags": "

Any tags assigned to the resource.

", - "Subnet$Tags": "

Any tags assigned to the subnet.

", - "Volume$Tags": "

Any tags assigned to the volume.

", - "Vpc$Tags": "

Any tags assigned to the VPC.

", - "VpcClassicLink$Tags": "

Any tags assigned to the VPC.

", - "VpcPeeringConnection$Tags": "

Any tags assigned to the resource.

", - "VpnConnection$Tags": "

Any tags assigned to the VPN connection.

", - "VpnGateway$Tags": "

Any tags assigned to the virtual private gateway.

" - } - }, - "TelemetryStatus": { - "base": null, - "refs": { - "VgwTelemetry$Status": "

The status of the VPN tunnel.

" - } - }, - "Tenancy": { - "base": null, - "refs": { - "CreateVpcRequest$InstanceTenancy": "

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

", - "DescribeReservedInstancesOfferingsRequest$InstanceTenancy": "

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

", - "Placement$Tenancy": "

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.

", - "ReservedInstances$InstanceTenancy": "

The tenancy of the reserved instance.

", - "ReservedInstancesOffering$InstanceTenancy": "

The tenancy of the reserved instance.

", - "Vpc$InstanceTenancy": "

The allowed tenancy of instances launched into the VPC.

" - } - }, - "TerminateInstancesRequest": { - "base": null, - "refs": { - } - }, - "TerminateInstancesResult": { - "base": null, - "refs": { - } - }, - "TrafficType": { - "base": null, - "refs": { - "CreateFlowLogsRequest$TrafficType": "

The type of traffic to log.

", - "FlowLog$TrafficType": "

The type of traffic captured for the flow log.

" - } - }, - "UnassignPrivateIpAddressesRequest": { - "base": null, - "refs": { - } - }, - "UnmonitorInstancesRequest": { - "base": null, - "refs": { - } - }, - "UnmonitorInstancesResult": { - "base": null, - "refs": { - } - }, - "UnsuccessfulItem": { - "base": "

Information about items that were not successfully processed in a batch call.

", - "refs": { - "UnsuccessfulItemSet$member": null - } - }, - "UnsuccessfulItemError": { - "base": "

Information about the error that occurred. For more information about errors, see Error Codes.

", - "refs": { - "UnsuccessfulItem$Error": "

Information about the error.

" - } - }, - "UnsuccessfulItemSet": { - "base": null, - "refs": { - "CreateFlowLogsResult$Unsuccessful": "

Information about the flow logs that could not be created successfully.

", - "DeleteFlowLogsResult$Unsuccessful": "

Information about the flow logs that could not be deleted successfully.

", - "DeleteVpcEndpointsResult$Unsuccessful": "

Information about the endpoints that were not successfully deleted.

" - } - }, - "UserBucket": { - "base": "

Describes the S3 bucket for the disk image.

", - "refs": { - "ImageDiskContainer$UserBucket": "

The S3 bucket for the disk image.

", - "SnapshotDiskContainer$UserBucket": null - } - }, - "UserBucketDetails": { - "base": "

Describes the S3 bucket for the disk image.

", - "refs": { - "SnapshotDetail$UserBucket": null, - "SnapshotTaskDetail$UserBucket": "

The S3 bucket for the disk image.

" - } - }, - "UserData": { - "base": "

Describes the user data to be made available to an instance.

", - "refs": { - "ImportInstanceLaunchSpecification$UserData": "

The Base64-encoded MIME user data to be made available to the instance.

" - } - }, - "UserGroupStringList": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$UserGroups": "

One or more user groups. This is only valid when modifying the launchPermission attribute.

" - } - }, - "UserIdGroupPair": { - "base": "

Describes a security group and AWS account ID pair.

", - "refs": { - "UserIdGroupPairList$member": null - } - }, - "UserIdGroupPairList": { - "base": null, - "refs": { - "IpPermission$UserIdGroupPairs": "

One or more security group and AWS account ID pairs.

" - } - }, - "UserIdStringList": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$UserIds": "

One or more AWS account IDs. This is only valid when modifying the launchPermission attribute.

", - "ModifySnapshotAttributeRequest$UserIds": "

The account ID to modify for the snapshot.

" - } - }, - "ValueStringList": { - "base": null, - "refs": { - "CancelSpotFleetRequestsRequest$SpotFleetRequestIds": "

The IDs of the Spot fleet requests.

", - "CreateFlowLogsRequest$ResourceIds": "

One or more subnet, network interface, or VPC IDs.

", - "CreateFlowLogsResult$FlowLogIds": "

The IDs of the flow logs.

", - "CreateVpcEndpointRequest$RouteTableIds": "

One or more route table IDs.

", - "DeleteFlowLogsRequest$FlowLogIds": "

One or more flow log IDs.

", - "DeleteVpcEndpointsRequest$VpcEndpointIds": "

One or more endpoint IDs.

", - "DescribeFlowLogsRequest$FlowLogIds": "

One or more flow log IDs.

", - "DescribeInternetGatewaysRequest$InternetGatewayIds": "

One or more Internet gateway IDs.

Default: Describes all your Internet gateways.

", - "DescribeMovingAddressesRequest$PublicIps": "

One or more Elastic IP addresses.

", - "DescribeNetworkAclsRequest$NetworkAclIds": "

One or more network ACL IDs.

Default: Describes all your network ACLs.

", - "DescribePrefixListsRequest$PrefixListIds": "

One or more prefix list IDs.

", - "DescribeRouteTablesRequest$RouteTableIds": "

One or more route table IDs.

Default: Describes all your route tables.

", - "DescribeSpotFleetRequestsRequest$SpotFleetRequestIds": "

The IDs of the Spot fleet requests.

", - "DescribeVpcEndpointServicesResult$ServiceNames": "

A list of supported AWS services.

", - "DescribeVpcEndpointsRequest$VpcEndpointIds": "

One or more endpoint IDs.

", - "DescribeVpcPeeringConnectionsRequest$VpcPeeringConnectionIds": "

One or more VPC peering connection IDs.

Default: Describes all your VPC peering connections.

", - "Filter$Values": "

One or more filter values. Filter values are case-sensitive.

", - "ModifyVpcEndpointRequest$AddRouteTableIds": "

One or more route tables IDs to associate with the endpoint.

", - "ModifyVpcEndpointRequest$RemoveRouteTableIds": "

One or more route table IDs to disassociate from the endpoint.

", - "PrefixList$Cidrs": "

The IP address range of the AWS service.

", - "VpcEndpoint$RouteTableIds": "

One or more route tables associated with the endpoint.

", - "NewDhcpConfiguration$Values": null, - "RequestSpotLaunchSpecification$SecurityGroups": null, - "RequestSpotLaunchSpecification$SecurityGroupIds": null - } - }, - "VgwTelemetry": { - "base": "

Describes telemetry for a VPN tunnel.

", - "refs": { - "VgwTelemetryList$member": null - } - }, - "VgwTelemetryList": { - "base": null, - "refs": { - "VpnConnection$VgwTelemetry": "

Information about the VPN tunnel.

" - } - }, - "VirtualizationType": { - "base": null, - "refs": { - "Image$VirtualizationType": "

The type of virtualization of the AMI.

", - "Instance$VirtualizationType": "

The virtualization type of the instance.

" - } - }, - "Volume": { - "base": "

Describes a volume.

", - "refs": { - "VolumeList$member": null - } - }, - "VolumeAttachment": { - "base": "

Describes volume attachment details.

", - "refs": { - "VolumeAttachmentList$member": null - } - }, - "VolumeAttachmentList": { - "base": null, - "refs": { - "Volume$Attachments": "

Information about the volume attachments.

" - } - }, - "VolumeAttachmentState": { - "base": null, - "refs": { - "VolumeAttachment$State": "

The attachment state of the volume.

" - } - }, - "VolumeAttributeName": { - "base": null, - "refs": { - "DescribeVolumeAttributeRequest$Attribute": "

The instance attribute.

" - } - }, - "VolumeDetail": { - "base": "

Describes an EBS volume.

", - "refs": { - "DiskImage$Volume": "

Information about the volume.

", - "ImportVolumeRequest$Volume": "

The volume size.

" - } - }, - "VolumeIdStringList": { - "base": null, - "refs": { - "DescribeVolumeStatusRequest$VolumeIds": "

One or more volume IDs.

Default: Describes all your volumes.

", - "DescribeVolumesRequest$VolumeIds": "

One or more volume IDs.

" - } - }, - "VolumeList": { - "base": null, - "refs": { - "DescribeVolumesResult$Volumes": "

Information about the volumes.

" - } - }, - "VolumeState": { - "base": null, - "refs": { - "Volume$State": "

The volume state.

" - } - }, - "VolumeStatusAction": { - "base": "

Describes a volume status operation code.

", - "refs": { - "VolumeStatusActionsList$member": null - } - }, - "VolumeStatusActionsList": { - "base": null, - "refs": { - "VolumeStatusItem$Actions": "

The details of the operation.

" - } - }, - "VolumeStatusDetails": { - "base": "

Describes a volume status.

", - "refs": { - "VolumeStatusDetailsList$member": null - } - }, - "VolumeStatusDetailsList": { - "base": null, - "refs": { - "VolumeStatusInfo$Details": "

The details of the volume status.

" - } - }, - "VolumeStatusEvent": { - "base": "

Describes a volume status event.

", - "refs": { - "VolumeStatusEventsList$member": null - } - }, - "VolumeStatusEventsList": { - "base": null, - "refs": { - "VolumeStatusItem$Events": "

A list of events associated with the volume.

" - } - }, - "VolumeStatusInfo": { - "base": "

Describes the status of a volume.

", - "refs": { - "VolumeStatusItem$VolumeStatus": "

The volume status.

" - } - }, - "VolumeStatusInfoStatus": { - "base": null, - "refs": { - "VolumeStatusInfo$Status": "

The status of the volume.

" - } - }, - "VolumeStatusItem": { - "base": "

Describes the volume status.

", - "refs": { - "VolumeStatusList$member": null - } - }, - "VolumeStatusList": { - "base": null, - "refs": { - "DescribeVolumeStatusResult$VolumeStatuses": "

A list of volumes.

" - } - }, - "VolumeStatusName": { - "base": null, - "refs": { - "VolumeStatusDetails$Name": "

The name of the volume status.

" - } - }, - "VolumeType": { - "base": null, - "refs": { - "CreateVolumeRequest$VolumeType": "

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

", - "EbsBlockDevice$VolumeType": "

The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, and standard for Magnetic volumes.

Default: standard

", - "Volume$VolumeType": "

The volume type. This can be gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, or standard for Magnetic volumes.

" - } - }, - "Vpc": { - "base": "

Describes a VPC.

", - "refs": { - "CreateVpcResult$Vpc": "

Information about the VPC.

", - "VpcList$member": null - } - }, - "VpcAttachment": { - "base": "

Describes an attachment between a virtual private gateway and a VPC.

", - "refs": { - "AttachVpnGatewayResult$VpcAttachment": "

Information about the attachment.

", - "VpcAttachmentList$member": null - } - }, - "VpcAttachmentList": { - "base": null, - "refs": { - "VpnGateway$VpcAttachments": "

Any VPCs attached to the virtual private gateway.

" - } - }, - "VpcAttributeName": { - "base": null, - "refs": { - "DescribeVpcAttributeRequest$Attribute": "

The VPC attribute.

" - } - }, - "VpcClassicLink": { - "base": "

Describes whether a VPC is enabled for ClassicLink.

", - "refs": { - "VpcClassicLinkList$member": null - } - }, - "VpcClassicLinkIdList": { - "base": null, - "refs": { - "DescribeVpcClassicLinkRequest$VpcIds": "

One or more VPCs for which you want to describe the ClassicLink status.

" - } - }, - "VpcClassicLinkList": { - "base": null, - "refs": { - "DescribeVpcClassicLinkResult$Vpcs": "

The ClassicLink status of one or more VPCs.

" - } - }, - "VpcEndpoint": { - "base": "

Describes a VPC endpoint.

", - "refs": { - "CreateVpcEndpointResult$VpcEndpoint": "

Information about the endpoint.

", - "VpcEndpointSet$member": null - } - }, - "VpcEndpointSet": { - "base": null, - "refs": { - "DescribeVpcEndpointsResult$VpcEndpoints": "

Information about the endpoints.

" - } - }, - "VpcIdStringList": { - "base": null, - "refs": { - "DescribeVpcsRequest$VpcIds": "

One or more VPC IDs.

Default: Describes all your VPCs.

" - } - }, - "VpcList": { - "base": null, - "refs": { - "DescribeVpcsResult$Vpcs": "

Information about one or more VPCs.

" - } - }, - "VpcPeeringConnection": { - "base": "

Describes a VPC peering connection.

", - "refs": { - "AcceptVpcPeeringConnectionResult$VpcPeeringConnection": "

Information about the VPC peering connection.

", - "CreateVpcPeeringConnectionResult$VpcPeeringConnection": "

Information about the VPC peering connection.

", - "VpcPeeringConnectionList$member": null - } - }, - "VpcPeeringConnectionList": { - "base": null, - "refs": { - "DescribeVpcPeeringConnectionsResult$VpcPeeringConnections": "

Information about the VPC peering connections.

" - } - }, - "VpcPeeringConnectionStateReason": { - "base": "

Describes the status of a VPC peering connection.

", - "refs": { - "VpcPeeringConnection$Status": "

The status of the VPC peering connection.

" - } - }, - "VpcPeeringConnectionStateReasonCode": { - "base": null, - "refs": { - "VpcPeeringConnectionStateReason$Code": "

The status of the VPC peering connection.

" - } - }, - "VpcPeeringConnectionVpcInfo": { - "base": "

Describes a VPC in a VPC peering connection.

", - "refs": { - "VpcPeeringConnection$AccepterVpcInfo": "

The information of the peer VPC.

", - "VpcPeeringConnection$RequesterVpcInfo": "

The information of the requester VPC.

" - } - }, - "VpcState": { - "base": null, - "refs": { - "Vpc$State": "

The current state of the VPC.

" - } - }, - "VpnConnection": { - "base": "

Describes a VPN connection.

", - "refs": { - "CreateVpnConnectionResult$VpnConnection": "

Information about the VPN connection.

", - "VpnConnectionList$member": null - } - }, - "VpnConnectionIdStringList": { - "base": null, - "refs": { - "DescribeVpnConnectionsRequest$VpnConnectionIds": "

One or more VPN connection IDs.

Default: Describes your VPN connections.

" - } - }, - "VpnConnectionList": { - "base": null, - "refs": { - "DescribeVpnConnectionsResult$VpnConnections": "

Information about one or more VPN connections.

" - } - }, - "VpnConnectionOptions": { - "base": "

Describes VPN connection options.

", - "refs": { - "VpnConnection$Options": "

The VPN connection options.

" - } - }, - "VpnConnectionOptionsSpecification": { - "base": "

Describes VPN connection options.

", - "refs": { - "CreateVpnConnectionRequest$Options": "

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

" - } - }, - "VpnGateway": { - "base": "

Describes a virtual private gateway.

", - "refs": { - "CreateVpnGatewayResult$VpnGateway": "

Information about the virtual private gateway.

", - "VpnGatewayList$member": null - } - }, - "VpnGatewayIdStringList": { - "base": null, - "refs": { - "DescribeVpnGatewaysRequest$VpnGatewayIds": "

One or more virtual private gateway IDs.

Default: Describes all your virtual private gateways.

" - } - }, - "VpnGatewayList": { - "base": null, - "refs": { - "DescribeVpnGatewaysResult$VpnGateways": "

Information about one or more virtual private gateways.

" - } - }, - "VpnState": { - "base": null, - "refs": { - "VpnConnection$State": "

The current state of the VPN connection.

", - "VpnGateway$State": "

The current state of the virtual private gateway.

", - "VpnStaticRoute$State": "

The current state of the static route.

" - } - }, - "VpnStaticRoute": { - "base": "

Describes a static route for a VPN connection.

", - "refs": { - "VpnStaticRouteList$member": null - } - }, - "VpnStaticRouteList": { - "base": null, - "refs": { - "VpnConnection$Routes": "

The static routes associated with the VPN connection.

" - } - }, - "VpnStaticRouteSource": { - "base": null, - "refs": { - "VpnStaticRoute$Source": "

Indicates how the routes were provided.

" - } - }, - "ZoneNameStringList": { - "base": null, - "refs": { - "DescribeAvailabilityZonesRequest$ZoneNames": "

The names of one or more Availability Zones.

" - } - }, - "NewDhcpConfigurationList": { - "base": null, - "refs": { - "CreateDhcpOptionsRequest$DhcpConfigurations": "

A DHCP configuration option.

" - } - }, - "NewDhcpConfiguration": { - "base": null, - "refs": { - "NewDhcpConfigurationList$member": null - } - }, - "DhcpConfigurationValueList": { - "base": null, - "refs": { - "DhcpConfiguration$Values": "

One or more values for the DHCP option.

" - } - }, - "Blob": { - "base": null, - "refs": { - "ImportKeyPairRequest$PublicKeyMaterial": "

The public key. You must base64 encode the public key material before sending it to AWS.

", - "S3Storage$UploadPolicy": "

A Base64-encoded Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

", - "BlobAttributeValue$Value": null - } - }, - "BlobAttributeValue": { - "base": null, - "refs": { - "ModifyInstanceAttributeRequest$UserData": "

Changes the instance's user data to the specified value.

" - } - }, - "RequestSpotLaunchSpecification": { - "base": "

Describes the launch specification for an instance.

", - "refs": { - "RequestSpotInstancesRequest$LaunchSpecification": null - } - } - } -} diff --git a/models/apis/ec2/2015-04-15/paginators-1.json b/models/apis/ec2/2015-04-15/paginators-1.json deleted file mode 100644 index 740f2e36abb..00000000000 --- a/models/apis/ec2/2015-04-15/paginators-1.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "pagination": { - "DescribeAccountAttributes": { - "result_key": "AccountAttributes" - }, - "DescribeAddresses": { - "result_key": "Addresses" - }, - "DescribeAvailabilityZones": { - "result_key": "AvailabilityZones" - }, - "DescribeBundleTasks": { - "result_key": "BundleTasks" - }, - "DescribeConversionTasks": { - "result_key": "ConversionTasks" - }, - "DescribeCustomerGateways": { - "result_key": "CustomerGateways" - }, - "DescribeDhcpOptions": { - "result_key": "DhcpOptions" - }, - "DescribeExportTasks": { - "result_key": "ExportTasks" - }, - "DescribeImages": { - "result_key": "Images" - }, - "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" - }, - "DescribeInternetGateways": { - "result_key": "InternetGateways" - }, - "DescribeKeyPairs": { - "result_key": "KeyPairs" - }, - "DescribeNetworkAcls": { - "result_key": "NetworkAcls" - }, - "DescribeNetworkInterfaces": { - "result_key": "NetworkInterfaces" - }, - "DescribePlacementGroups": { - "result_key": "PlacementGroups" - }, - "DescribeRegions": { - "result_key": "Regions" - }, - "DescribeReservedInstances": { - "result_key": "ReservedInstances" - }, - "DescribeReservedInstancesListings": { - "result_key": "ReservedInstancesListings" - }, - "DescribeReservedInstancesOfferings": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ReservedInstancesOfferings" - }, - "DescribeReservedInstancesModifications": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ReservedInstancesModifications" - }, - "DescribeRouteTables": { - "result_key": "RouteTables" - }, - "DescribeSecurityGroups": { - "result_key": "SecurityGroups" - }, - "DescribeSnapshots": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "Snapshots" - }, - "DescribeSpotInstanceRequests": { - "result_key": "SpotInstanceRequests" - }, - "DescribeSpotPriceHistory": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SpotPriceHistory" - }, - "DescribeSubnets": { - "result_key": "Subnets" - }, - "DescribeTags": { - "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" - }, - "DescribeVpcs": { - "result_key": "Vpcs" - }, - "DescribeVpnConnections": { - "result_key": "VpnConnections" - }, - "DescribeVpnGateways": { - "result_key": "VpnGateways" - } - } -} diff --git a/models/apis/ec2/2015-04-15/waiters-2.json b/models/apis/ec2/2015-04-15/waiters-2.json deleted file mode 100644 index 0599f2422b5..00000000000 --- a/models/apis/ec2/2015-04-15/waiters-2.json +++ /dev/null @@ -1,494 +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" - } - ] - }, - "KeyPairExists": { - "operation": "DescribeKeyPairs", - "delay": 5, - "maxAttempts": 6, - "acceptors": [ - { - "expected": true, - "matcher": "pathAll", - "state": "success", - "argument": "length(KeyPairs[].KeyName) > `0`" - }, - { - "expected": "InvalidKeyPairNotFound", - "matcher": "error", - "state": "retry" - } - ] - }, - "NetworkInterfaceAvailable": { - "operation": "DescribeNetworkInterfaces", - "delay": 20, - "maxAttempts": 10, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "NetworkInterfaces[].Status" - }, - { - "expected": "InvalidNetworkInterfaceIDNotFound", - "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": "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/models/apis/ec2/2015-10-01/api-2.json b/models/apis/ec2/2015-10-01/api-2.json deleted file mode 100644 index c5bb5d9bd72..00000000000 --- a/models/apis/ec2/2015-10-01/api-2.json +++ /dev/null @@ -1,13760 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"ec2-2015-10-01", - "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"} - }, - "AllocateAddress":{ - "name":"AllocateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateAddressRequest"}, - "output":{"shape":"AllocateAddressResult"} - }, - "AllocateHosts":{ - "name":"AllocateHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateHostsRequest"}, - "output":{"shape":"AllocateHostsResult"} - }, - "AssignPrivateIpAddresses":{ - "name":"AssignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignPrivateIpAddressesRequest"} - }, - "AssociateAddress":{ - "name":"AssociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateAddressRequest"}, - "output":{"shape":"AssociateAddressResult"} - }, - "AssociateDhcpOptions":{ - "name":"AssociateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDhcpOptionsRequest"} - }, - "AssociateRouteTable":{ - "name":"AssociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateRouteTableRequest"}, - "output":{"shape":"AssociateRouteTableResult"} - }, - "AttachClassicLinkVpc":{ - "name":"AttachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachClassicLinkVpcRequest"}, - "output":{"shape":"AttachClassicLinkVpcResult"} - }, - "AttachInternetGateway":{ - "name":"AttachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInternetGatewayRequest"} - }, - "AttachNetworkInterface":{ - "name":"AttachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachNetworkInterfaceRequest"}, - "output":{"shape":"AttachNetworkInterfaceResult"} - }, - "AttachVolume":{ - "name":"AttachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"} - }, - "AttachVpnGateway":{ - "name":"AttachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVpnGatewayRequest"}, - "output":{"shape":"AttachVpnGatewayResult"} - }, - "AuthorizeSecurityGroupEgress":{ - "name":"AuthorizeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupEgressRequest"} - }, - "AuthorizeSecurityGroupIngress":{ - "name":"AuthorizeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupIngressRequest"} - }, - "BundleInstance":{ - "name":"BundleInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BundleInstanceRequest"}, - "output":{"shape":"BundleInstanceResult"} - }, - "CancelBundleTask":{ - "name":"CancelBundleTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelBundleTaskRequest"}, - "output":{"shape":"CancelBundleTaskResult"} - }, - "CancelConversionTask":{ - "name":"CancelConversionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelConversionRequest"} - }, - "CancelExportTask":{ - "name":"CancelExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelExportTaskRequest"} - }, - "CancelImportTask":{ - "name":"CancelImportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelImportTaskRequest"}, - "output":{"shape":"CancelImportTaskResult"} - }, - "CancelReservedInstancesListing":{ - "name":"CancelReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelReservedInstancesListingRequest"}, - "output":{"shape":"CancelReservedInstancesListingResult"} - }, - "CancelSpotFleetRequests":{ - "name":"CancelSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotFleetRequestsRequest"}, - "output":{"shape":"CancelSpotFleetRequestsResponse"} - }, - "CancelSpotInstanceRequests":{ - "name":"CancelSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotInstanceRequestsRequest"}, - "output":{"shape":"CancelSpotInstanceRequestsResult"} - }, - "ConfirmProductInstance":{ - "name":"ConfirmProductInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmProductInstanceRequest"}, - "output":{"shape":"ConfirmProductInstanceResult"} - }, - "CopyImage":{ - "name":"CopyImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyImageRequest"}, - "output":{"shape":"CopyImageResult"} - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopySnapshotRequest"}, - "output":{"shape":"CopySnapshotResult"} - }, - "CreateCustomerGateway":{ - "name":"CreateCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomerGatewayRequest"}, - "output":{"shape":"CreateCustomerGatewayResult"} - }, - "CreateDhcpOptions":{ - "name":"CreateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDhcpOptionsRequest"}, - "output":{"shape":"CreateDhcpOptionsResult"} - }, - "CreateFlowLogs":{ - "name":"CreateFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFlowLogsRequest"}, - "output":{"shape":"CreateFlowLogsResult"} - }, - "CreateImage":{ - "name":"CreateImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageRequest"}, - "output":{"shape":"CreateImageResult"} - }, - "CreateInstanceExportTask":{ - "name":"CreateInstanceExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceExportTaskRequest"}, - "output":{"shape":"CreateInstanceExportTaskResult"} - }, - "CreateInternetGateway":{ - "name":"CreateInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInternetGatewayRequest"}, - "output":{"shape":"CreateInternetGatewayResult"} - }, - "CreateKeyPair":{ - "name":"CreateKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyPairRequest"}, - "output":{"shape":"KeyPair"} - }, - "CreateNatGateway":{ - "name":"CreateNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNatGatewayRequest"}, - "output":{"shape":"CreateNatGatewayResult"} - }, - "CreateNetworkAcl":{ - "name":"CreateNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclRequest"}, - "output":{"shape":"CreateNetworkAclResult"} - }, - "CreateNetworkAclEntry":{ - "name":"CreateNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclEntryRequest"} - }, - "CreateNetworkInterface":{ - "name":"CreateNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkInterfaceRequest"}, - "output":{"shape":"CreateNetworkInterfaceResult"} - }, - "CreatePlacementGroup":{ - "name":"CreatePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlacementGroupRequest"} - }, - "CreateReservedInstancesListing":{ - "name":"CreateReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReservedInstancesListingRequest"}, - "output":{"shape":"CreateReservedInstancesListingResult"} - }, - "CreateRoute":{ - "name":"CreateRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteRequest"}, - "output":{"shape":"CreateRouteResult"} - }, - "CreateRouteTable":{ - "name":"CreateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteTableRequest"}, - "output":{"shape":"CreateRouteTableResult"} - }, - "CreateSecurityGroup":{ - "name":"CreateSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityGroupRequest"}, - "output":{"shape":"CreateSecurityGroupResult"} - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotRequest"}, - "output":{"shape":"Snapshot"} - }, - "CreateSpotDatafeedSubscription":{ - "name":"CreateSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"CreateSpotDatafeedSubscriptionResult"} - }, - "CreateSubnet":{ - "name":"CreateSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubnetRequest"}, - "output":{"shape":"CreateSubnetResult"} - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"} - }, - "CreateVolume":{ - "name":"CreateVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVolumeRequest"}, - "output":{"shape":"Volume"} - }, - "CreateVpc":{ - "name":"CreateVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcRequest"}, - "output":{"shape":"CreateVpcResult"} - }, - "CreateVpcEndpoint":{ - "name":"CreateVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcEndpointRequest"}, - "output":{"shape":"CreateVpcEndpointResult"} - }, - "CreateVpcPeeringConnection":{ - "name":"CreateVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringConnectionRequest"}, - "output":{"shape":"CreateVpcPeeringConnectionResult"} - }, - "CreateVpnConnection":{ - "name":"CreateVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRequest"}, - "output":{"shape":"CreateVpnConnectionResult"} - }, - "CreateVpnConnectionRoute":{ - "name":"CreateVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRouteRequest"} - }, - "CreateVpnGateway":{ - "name":"CreateVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnGatewayRequest"}, - "output":{"shape":"CreateVpnGatewayResult"} - }, - "DeleteCustomerGateway":{ - "name":"DeleteCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomerGatewayRequest"} - }, - "DeleteDhcpOptions":{ - "name":"DeleteDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDhcpOptionsRequest"} - }, - "DeleteFlowLogs":{ - "name":"DeleteFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFlowLogsRequest"}, - "output":{"shape":"DeleteFlowLogsResult"} - }, - "DeleteInternetGateway":{ - "name":"DeleteInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInternetGatewayRequest"} - }, - "DeleteKeyPair":{ - "name":"DeleteKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteKeyPairRequest"} - }, - "DeleteNatGateway":{ - "name":"DeleteNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNatGatewayRequest"}, - "output":{"shape":"DeleteNatGatewayResult"} - }, - "DeleteNetworkAcl":{ - "name":"DeleteNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclRequest"} - }, - "DeleteNetworkAclEntry":{ - "name":"DeleteNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclEntryRequest"} - }, - "DeleteNetworkInterface":{ - "name":"DeleteNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkInterfaceRequest"} - }, - "DeletePlacementGroup":{ - "name":"DeletePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlacementGroupRequest"} - }, - "DeleteRoute":{ - "name":"DeleteRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteRequest"} - }, - "DeleteRouteTable":{ - "name":"DeleteRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteTableRequest"} - }, - "DeleteSecurityGroup":{ - "name":"DeleteSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityGroupRequest"} - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotRequest"} - }, - "DeleteSpotDatafeedSubscription":{ - "name":"DeleteSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSpotDatafeedSubscriptionRequest"} - }, - "DeleteSubnet":{ - "name":"DeleteSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubnetRequest"} - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"} - }, - "DeleteVolume":{ - "name":"DeleteVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVolumeRequest"} - }, - "DeleteVpc":{ - "name":"DeleteVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcRequest"} - }, - "DeleteVpcEndpoints":{ - "name":"DeleteVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcEndpointsRequest"}, - "output":{"shape":"DeleteVpcEndpointsResult"} - }, - "DeleteVpcPeeringConnection":{ - "name":"DeleteVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, - "output":{"shape":"DeleteVpcPeeringConnectionResult"} - }, - "DeleteVpnConnection":{ - "name":"DeleteVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRequest"} - }, - "DeleteVpnConnectionRoute":{ - "name":"DeleteVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRouteRequest"} - }, - "DeleteVpnGateway":{ - "name":"DeleteVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnGatewayRequest"} - }, - "DeregisterImage":{ - "name":"DeregisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterImageRequest"} - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesRequest"}, - "output":{"shape":"DescribeAccountAttributesResult"} - }, - "DescribeAddresses":{ - "name":"DescribeAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressesRequest"}, - "output":{"shape":"DescribeAddressesResult"} - }, - "DescribeAvailabilityZones":{ - "name":"DescribeAvailabilityZones", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAvailabilityZonesRequest"}, - "output":{"shape":"DescribeAvailabilityZonesResult"} - }, - "DescribeBundleTasks":{ - "name":"DescribeBundleTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBundleTasksRequest"}, - "output":{"shape":"DescribeBundleTasksResult"} - }, - "DescribeClassicLinkInstances":{ - "name":"DescribeClassicLinkInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClassicLinkInstancesRequest"}, - "output":{"shape":"DescribeClassicLinkInstancesResult"} - }, - "DescribeConversionTasks":{ - "name":"DescribeConversionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConversionTasksRequest"}, - "output":{"shape":"DescribeConversionTasksResult"} - }, - "DescribeCustomerGateways":{ - "name":"DescribeCustomerGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCustomerGatewaysRequest"}, - "output":{"shape":"DescribeCustomerGatewaysResult"} - }, - "DescribeDhcpOptions":{ - "name":"DescribeDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDhcpOptionsRequest"}, - "output":{"shape":"DescribeDhcpOptionsResult"} - }, - "DescribeExportTasks":{ - "name":"DescribeExportTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportTasksRequest"}, - "output":{"shape":"DescribeExportTasksResult"} - }, - "DescribeFlowLogs":{ - "name":"DescribeFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFlowLogsRequest"}, - "output":{"shape":"DescribeFlowLogsResult"} - }, - "DescribeHosts":{ - "name":"DescribeHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostsRequest"}, - "output":{"shape":"DescribeHostsResult"} - }, - "DescribeIdFormat":{ - "name":"DescribeIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdFormatRequest"}, - "output":{"shape":"DescribeIdFormatResult"} - }, - "DescribeImageAttribute":{ - "name":"DescribeImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImageAttributeRequest"}, - "output":{"shape":"ImageAttribute"} - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResult"} - }, - "DescribeImportImageTasks":{ - "name":"DescribeImportImageTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportImageTasksRequest"}, - "output":{"shape":"DescribeImportImageTasksResult"} - }, - "DescribeImportSnapshotTasks":{ - "name":"DescribeImportSnapshotTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportSnapshotTasksRequest"}, - "output":{"shape":"DescribeImportSnapshotTasksResult"} - }, - "DescribeInstanceAttribute":{ - "name":"DescribeInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceAttributeRequest"}, - "output":{"shape":"InstanceAttribute"} - }, - "DescribeInstanceStatus":{ - "name":"DescribeInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceStatusRequest"}, - "output":{"shape":"DescribeInstanceStatusResult"} - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesRequest"}, - "output":{"shape":"DescribeInstancesResult"} - }, - "DescribeInternetGateways":{ - "name":"DescribeInternetGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInternetGatewaysRequest"}, - "output":{"shape":"DescribeInternetGatewaysResult"} - }, - "DescribeKeyPairs":{ - "name":"DescribeKeyPairs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyPairsRequest"}, - "output":{"shape":"DescribeKeyPairsResult"} - }, - "DescribeMovingAddresses":{ - "name":"DescribeMovingAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMovingAddressesRequest"}, - "output":{"shape":"DescribeMovingAddressesResult"} - }, - "DescribeNatGateways":{ - "name":"DescribeNatGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNatGatewaysRequest"}, - "output":{"shape":"DescribeNatGatewaysResult"} - }, - "DescribeNetworkAcls":{ - "name":"DescribeNetworkAcls", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkAclsRequest"}, - "output":{"shape":"DescribeNetworkAclsResult"} - }, - "DescribeNetworkInterfaceAttribute":{ - "name":"DescribeNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfaceAttributeRequest"}, - "output":{"shape":"DescribeNetworkInterfaceAttributeResult"} - }, - "DescribeNetworkInterfaces":{ - "name":"DescribeNetworkInterfaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfacesRequest"}, - "output":{"shape":"DescribeNetworkInterfacesResult"} - }, - "DescribePlacementGroups":{ - "name":"DescribePlacementGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlacementGroupsRequest"}, - "output":{"shape":"DescribePlacementGroupsResult"} - }, - "DescribePrefixLists":{ - "name":"DescribePrefixLists", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePrefixListsRequest"}, - "output":{"shape":"DescribePrefixListsResult"} - }, - "DescribeRegions":{ - "name":"DescribeRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRegionsRequest"}, - "output":{"shape":"DescribeRegionsResult"} - }, - "DescribeReservedInstances":{ - "name":"DescribeReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesRequest"}, - "output":{"shape":"DescribeReservedInstancesResult"} - }, - "DescribeReservedInstancesListings":{ - "name":"DescribeReservedInstancesListings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesListingsRequest"}, - "output":{"shape":"DescribeReservedInstancesListingsResult"} - }, - "DescribeReservedInstancesModifications":{ - "name":"DescribeReservedInstancesModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, - "output":{"shape":"DescribeReservedInstancesModificationsResult"} - }, - "DescribeReservedInstancesOfferings":{ - "name":"DescribeReservedInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, - "output":{"shape":"DescribeReservedInstancesOfferingsResult"} - }, - "DescribeRouteTables":{ - "name":"DescribeRouteTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRouteTablesRequest"}, - "output":{"shape":"DescribeRouteTablesResult"} - }, - "DescribeScheduledInstanceAvailability":{ - "name":"DescribeScheduledInstanceAvailability", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstanceAvailabilityRequest"}, - "output":{"shape":"DescribeScheduledInstanceAvailabilityResult"} - }, - "DescribeScheduledInstances":{ - "name":"DescribeScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstancesRequest"}, - "output":{"shape":"DescribeScheduledInstancesResult"} - }, - "DescribeSecurityGroupReferences":{ - "name":"DescribeSecurityGroupReferences", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupReferencesRequest"}, - "output":{"shape":"DescribeSecurityGroupReferencesResult"} - }, - "DescribeSecurityGroups":{ - "name":"DescribeSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupsRequest"}, - "output":{"shape":"DescribeSecurityGroupsResult"} - }, - "DescribeSnapshotAttribute":{ - "name":"DescribeSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotAttributeRequest"}, - "output":{"shape":"DescribeSnapshotAttributeResult"} - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsRequest"}, - "output":{"shape":"DescribeSnapshotsResult"} - }, - "DescribeSpotDatafeedSubscription":{ - "name":"DescribeSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"DescribeSpotDatafeedSubscriptionResult"} - }, - "DescribeSpotFleetInstances":{ - "name":"DescribeSpotFleetInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetInstancesRequest"}, - "output":{"shape":"DescribeSpotFleetInstancesResponse"} - }, - "DescribeSpotFleetRequestHistory":{ - "name":"DescribeSpotFleetRequestHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestHistoryRequest"}, - "output":{"shape":"DescribeSpotFleetRequestHistoryResponse"} - }, - "DescribeSpotFleetRequests":{ - "name":"DescribeSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestsRequest"}, - "output":{"shape":"DescribeSpotFleetRequestsResponse"} - }, - "DescribeSpotInstanceRequests":{ - "name":"DescribeSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotInstanceRequestsRequest"}, - "output":{"shape":"DescribeSpotInstanceRequestsResult"} - }, - "DescribeSpotPriceHistory":{ - "name":"DescribeSpotPriceHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotPriceHistoryRequest"}, - "output":{"shape":"DescribeSpotPriceHistoryResult"} - }, - "DescribeStaleSecurityGroups":{ - "name":"DescribeStaleSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStaleSecurityGroupsRequest"}, - "output":{"shape":"DescribeStaleSecurityGroupsResult"} - }, - "DescribeSubnets":{ - "name":"DescribeSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubnetsRequest"}, - "output":{"shape":"DescribeSubnetsResult"} - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResult"} - }, - "DescribeVolumeAttribute":{ - "name":"DescribeVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeAttributeRequest"}, - "output":{"shape":"DescribeVolumeAttributeResult"} - }, - "DescribeVolumeStatus":{ - "name":"DescribeVolumeStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeStatusRequest"}, - "output":{"shape":"DescribeVolumeStatusResult"} - }, - "DescribeVolumes":{ - "name":"DescribeVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesRequest"}, - "output":{"shape":"DescribeVolumesResult"} - }, - "DescribeVpcAttribute":{ - "name":"DescribeVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcAttributeRequest"}, - "output":{"shape":"DescribeVpcAttributeResult"} - }, - "DescribeVpcClassicLink":{ - "name":"DescribeVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkRequest"}, - "output":{"shape":"DescribeVpcClassicLinkResult"} - }, - "DescribeVpcClassicLinkDnsSupport":{ - "name":"DescribeVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DescribeVpcClassicLinkDnsSupportResult"} - }, - "DescribeVpcEndpointServices":{ - "name":"DescribeVpcEndpointServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointServicesRequest"}, - "output":{"shape":"DescribeVpcEndpointServicesResult"} - }, - "DescribeVpcEndpoints":{ - "name":"DescribeVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointsRequest"}, - "output":{"shape":"DescribeVpcEndpointsResult"} - }, - "DescribeVpcPeeringConnections":{ - "name":"DescribeVpcPeeringConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringConnectionsRequest"}, - "output":{"shape":"DescribeVpcPeeringConnectionsResult"} - }, - "DescribeVpcs":{ - "name":"DescribeVpcs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcsRequest"}, - "output":{"shape":"DescribeVpcsResult"} - }, - "DescribeVpnConnections":{ - "name":"DescribeVpnConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnConnectionsRequest"}, - "output":{"shape":"DescribeVpnConnectionsResult"} - }, - "DescribeVpnGateways":{ - "name":"DescribeVpnGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnGatewaysRequest"}, - "output":{"shape":"DescribeVpnGatewaysResult"} - }, - "DetachClassicLinkVpc":{ - "name":"DetachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachClassicLinkVpcRequest"}, - "output":{"shape":"DetachClassicLinkVpcResult"} - }, - "DetachInternetGateway":{ - "name":"DetachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInternetGatewayRequest"} - }, - "DetachNetworkInterface":{ - "name":"DetachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachNetworkInterfaceRequest"} - }, - "DetachVolume":{ - "name":"DetachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"} - }, - "DetachVpnGateway":{ - "name":"DetachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVpnGatewayRequest"} - }, - "DisableVgwRoutePropagation":{ - "name":"DisableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVgwRoutePropagationRequest"} - }, - "DisableVpcClassicLink":{ - "name":"DisableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkRequest"}, - "output":{"shape":"DisableVpcClassicLinkResult"} - }, - "DisableVpcClassicLinkDnsSupport":{ - "name":"DisableVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DisableVpcClassicLinkDnsSupportResult"} - }, - "DisassociateAddress":{ - "name":"DisassociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateAddressRequest"} - }, - "DisassociateRouteTable":{ - "name":"DisassociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateRouteTableRequest"} - }, - "EnableVgwRoutePropagation":{ - "name":"EnableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVgwRoutePropagationRequest"} - }, - "EnableVolumeIO":{ - "name":"EnableVolumeIO", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVolumeIORequest"} - }, - "EnableVpcClassicLink":{ - "name":"EnableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkRequest"}, - "output":{"shape":"EnableVpcClassicLinkResult"} - }, - "EnableVpcClassicLinkDnsSupport":{ - "name":"EnableVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"EnableVpcClassicLinkDnsSupportResult"} - }, - "GetConsoleOutput":{ - "name":"GetConsoleOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleOutputRequest"}, - "output":{"shape":"GetConsoleOutputResult"} - }, - "GetConsoleScreenshot":{ - "name":"GetConsoleScreenshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleScreenshotRequest"}, - "output":{"shape":"GetConsoleScreenshotResult"} - }, - "GetPasswordData":{ - "name":"GetPasswordData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPasswordDataRequest"}, - "output":{"shape":"GetPasswordDataResult"} - }, - "ImportImage":{ - "name":"ImportImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportImageRequest"}, - "output":{"shape":"ImportImageResult"} - }, - "ImportInstance":{ - "name":"ImportInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportInstanceRequest"}, - "output":{"shape":"ImportInstanceResult"} - }, - "ImportKeyPair":{ - "name":"ImportKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyPairRequest"}, - "output":{"shape":"ImportKeyPairResult"} - }, - "ImportSnapshot":{ - "name":"ImportSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportSnapshotRequest"}, - "output":{"shape":"ImportSnapshotResult"} - }, - "ImportVolume":{ - "name":"ImportVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportVolumeRequest"}, - "output":{"shape":"ImportVolumeResult"} - }, - "ModifyHosts":{ - "name":"ModifyHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyHostsRequest"}, - "output":{"shape":"ModifyHostsResult"} - }, - "ModifyIdFormat":{ - "name":"ModifyIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyIdFormatRequest"} - }, - "ModifyImageAttribute":{ - "name":"ModifyImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyImageAttributeRequest"} - }, - "ModifyInstanceAttribute":{ - "name":"ModifyInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceAttributeRequest"} - }, - "ModifyInstancePlacement":{ - "name":"ModifyInstancePlacement", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstancePlacementRequest"}, - "output":{"shape":"ModifyInstancePlacementResult"} - }, - "ModifyNetworkInterfaceAttribute":{ - "name":"ModifyNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"} - }, - "ModifyReservedInstances":{ - "name":"ModifyReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReservedInstancesRequest"}, - "output":{"shape":"ModifyReservedInstancesResult"} - }, - "ModifySnapshotAttribute":{ - "name":"ModifySnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySnapshotAttributeRequest"} - }, - "ModifySpotFleetRequest":{ - "name":"ModifySpotFleetRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySpotFleetRequestRequest"}, - "output":{"shape":"ModifySpotFleetRequestResponse"} - }, - "ModifySubnetAttribute":{ - "name":"ModifySubnetAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySubnetAttributeRequest"} - }, - "ModifyVolumeAttribute":{ - "name":"ModifyVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVolumeAttributeRequest"} - }, - "ModifyVpcAttribute":{ - "name":"ModifyVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcAttributeRequest"} - }, - "ModifyVpcEndpoint":{ - "name":"ModifyVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcEndpointRequest"}, - "output":{"shape":"ModifyVpcEndpointResult"} - }, - "ModifyVpcPeeringConnectionOptions":{ - "name":"ModifyVpcPeeringConnectionOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcPeeringConnectionOptionsRequest"}, - "output":{"shape":"ModifyVpcPeeringConnectionOptionsResult"} - }, - "MonitorInstances":{ - "name":"MonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MonitorInstancesRequest"}, - "output":{"shape":"MonitorInstancesResult"} - }, - "MoveAddressToVpc":{ - "name":"MoveAddressToVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MoveAddressToVpcRequest"}, - "output":{"shape":"MoveAddressToVpcResult"} - }, - "PurchaseReservedInstancesOffering":{ - "name":"PurchaseReservedInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, - "output":{"shape":"PurchaseReservedInstancesOfferingResult"} - }, - "PurchaseScheduledInstances":{ - "name":"PurchaseScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseScheduledInstancesRequest"}, - "output":{"shape":"PurchaseScheduledInstancesResult"} - }, - "RebootInstances":{ - "name":"RebootInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstancesRequest"} - }, - "RegisterImage":{ - "name":"RegisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterImageRequest"}, - "output":{"shape":"RegisterImageResult"} - }, - "RejectVpcPeeringConnection":{ - "name":"RejectVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectVpcPeeringConnectionRequest"}, - "output":{"shape":"RejectVpcPeeringConnectionResult"} - }, - "ReleaseAddress":{ - "name":"ReleaseAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseAddressRequest"} - }, - "ReleaseHosts":{ - "name":"ReleaseHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseHostsRequest"}, - "output":{"shape":"ReleaseHostsResult"} - }, - "ReplaceNetworkAclAssociation":{ - "name":"ReplaceNetworkAclAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, - "output":{"shape":"ReplaceNetworkAclAssociationResult"} - }, - "ReplaceNetworkAclEntry":{ - "name":"ReplaceNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclEntryRequest"} - }, - "ReplaceRoute":{ - "name":"ReplaceRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteRequest"} - }, - "ReplaceRouteTableAssociation":{ - "name":"ReplaceRouteTableAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteTableAssociationRequest"}, - "output":{"shape":"ReplaceRouteTableAssociationResult"} - }, - "ReportInstanceStatus":{ - "name":"ReportInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReportInstanceStatusRequest"} - }, - "RequestSpotFleet":{ - "name":"RequestSpotFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotFleetRequest"}, - "output":{"shape":"RequestSpotFleetResponse"} - }, - "RequestSpotInstances":{ - "name":"RequestSpotInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotInstancesRequest"}, - "output":{"shape":"RequestSpotInstancesResult"} - }, - "ResetImageAttribute":{ - "name":"ResetImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetImageAttributeRequest"} - }, - "ResetInstanceAttribute":{ - "name":"ResetInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetInstanceAttributeRequest"} - }, - "ResetNetworkInterfaceAttribute":{ - "name":"ResetNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetNetworkInterfaceAttributeRequest"} - }, - "ResetSnapshotAttribute":{ - "name":"ResetSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetSnapshotAttributeRequest"} - }, - "RestoreAddressToClassic":{ - "name":"RestoreAddressToClassic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreAddressToClassicRequest"}, - "output":{"shape":"RestoreAddressToClassicResult"} - }, - "RevokeSecurityGroupEgress":{ - "name":"RevokeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupEgressRequest"} - }, - "RevokeSecurityGroupIngress":{ - "name":"RevokeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupIngressRequest"} - }, - "RunInstances":{ - "name":"RunInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunInstancesRequest"}, - "output":{"shape":"Reservation"} - }, - "RunScheduledInstances":{ - "name":"RunScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunScheduledInstancesRequest"}, - "output":{"shape":"RunScheduledInstancesResult"} - }, - "StartInstances":{ - "name":"StartInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstancesRequest"}, - "output":{"shape":"StartInstancesResult"} - }, - "StopInstances":{ - "name":"StopInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstancesRequest"}, - "output":{"shape":"StopInstancesResult"} - }, - "TerminateInstances":{ - "name":"TerminateInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateInstancesRequest"}, - "output":{"shape":"TerminateInstancesResult"} - }, - "UnassignPrivateIpAddresses":{ - "name":"UnassignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignPrivateIpAddressesRequest"} - }, - "UnmonitorInstances":{ - "name":"UnmonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnmonitorInstancesRequest"}, - "output":{"shape":"UnmonitorInstancesResult"} - } - }, - "shapes":{ - "AcceptVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "AcceptVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "locationName":"vpcPeeringConnection" - } - } - }, - "AccountAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "locationName":"attributeName" - }, - "AttributeValues":{ - "shape":"AccountAttributeValueList", - "locationName":"attributeValueSet" - } - } - }, - "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", - "locationName":"attributeValue" - } - } - }, - "AccountAttributeValueList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeValue", - "locationName":"item" - } - }, - "ActiveInstance":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - } - } - }, - "ActiveInstanceSet":{ - "type":"list", - "member":{ - "shape":"ActiveInstance", - "locationName":"item" - } - }, - "Address":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - }, - "Domain":{ - "shape":"DomainType", - "locationName":"domain" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "NetworkInterfaceOwnerId":{ - "shape":"String", - "locationName":"networkInterfaceOwnerId" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - } - } - }, - "AddressList":{ - "type":"list", - "member":{ - "shape":"Address", - "locationName":"item" - } - }, - "Affinity":{ - "type":"string", - "enum":[ - "default", - "host" - ] - }, - "AllocateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Domain":{"shape":"DomainType"} - } - }, - "AllocateAddressResult":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "Domain":{ - "shape":"DomainType", - "locationName":"domain" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - } - } - }, - "AllocateHostsRequest":{ - "type":"structure", - "required":[ - "InstanceType", - "Quantity", - "AvailabilityZone" - ], - "members":{ - "AutoPlacement":{ - "shape":"AutoPlacement", - "locationName":"autoPlacement" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "Quantity":{ - "shape":"Integer", - "locationName":"quantity" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - } - } - }, - "AllocateHostsResult":{ - "type":"structure", - "members":{ - "HostIds":{ - "shape":"ResponseHostIdList", - "locationName":"hostIdSet" - } - } - }, - "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", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "locationName":"privateIpAddress" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AllowReassignment":{ - "shape":"Boolean", - "locationName":"allowReassignment" - } - } - }, - "AssociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{"shape":"String"}, - "PublicIp":{"shape":"String"}, - "AllocationId":{"shape":"String"}, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "AllowReassociation":{ - "shape":"Boolean", - "locationName":"allowReassociation" - } - } - }, - "AssociateAddressResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "AssociateDhcpOptionsRequest":{ - "type":"structure", - "required":[ - "DhcpOptionsId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{"shape":"String"}, - "VpcId":{"shape":"String"} - } - }, - "AssociateRouteTableRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - } - } - }, - "AssociateRouteTableResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "AttachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId", - "Groups" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Groups":{ - "shape":"GroupIdStringList", - "locationName":"SecurityGroupId" - } - } - }, - "AttachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "AttachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "AttachNetworkInterfaceRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "InstanceId", - "DeviceIndex" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - } - } - }, - "AttachNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - } - } - }, - "AttachVolumeRequest":{ - "type":"structure", - "required":[ - "VolumeId", - "InstanceId", - "Device" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "InstanceId":{"shape":"String"}, - "Device":{"shape":"String"} - } - }, - "AttachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{"shape":"String"}, - "VpcId":{"shape":"String"} - } - }, - "AttachVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpcAttachment":{ - "shape":"VpcAttachment", - "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", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "locationName":"cidrIp" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "locationName":"ipPermissions" - } - } - }, - "AuthorizeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "GroupId":{"shape":"String"}, - "SourceSecurityGroupName":{"shape":"String"}, - "SourceSecurityGroupOwnerId":{"shape":"String"}, - "IpProtocol":{"shape":"String"}, - "FromPort":{"shape":"Integer"}, - "ToPort":{"shape":"Integer"}, - "CidrIp":{"shape":"String"}, - "IpPermissions":{"shape":"IpPermissionList"} - } - }, - "AutoPlacement":{ - "type":"string", - "enum":[ - "on", - "off" - ] - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "ZoneName":{ - "shape":"String", - "locationName":"zoneName" - }, - "State":{ - "shape":"AvailabilityZoneState", - "locationName":"zoneState" - }, - "RegionName":{ - "shape":"String", - "locationName":"regionName" - }, - "Messages":{ - "shape":"AvailabilityZoneMessageList", - "locationName":"messageSet" - } - } - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"item" - } - }, - "AvailabilityZoneMessage":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "AvailabilityZoneMessageList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZoneMessage", - "locationName":"item" - } - }, - "AvailabilityZoneState":{ - "type":"string", - "enum":[ - "available", - "information", - "impaired", - "unavailable" - ] - }, - "AvailableCapacity":{ - "type":"structure", - "members":{ - "AvailableInstanceCapacity":{ - "shape":"AvailableInstanceCapacityList", - "locationName":"availableInstanceCapacity" - }, - "AvailableVCpus":{ - "shape":"Integer", - "locationName":"availableVCpus" - } - } - }, - "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", - "locationName":"virtualName" - }, - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsBlockDevice", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "locationName":"noDevice" - } - } - }, - "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"}, - "Storage":{"shape":"Storage"} - } - }, - "BundleInstanceResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "locationName":"bundleInstanceTask" - } - } - }, - "BundleTask":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "BundleId":{ - "shape":"String", - "locationName":"bundleId" - }, - "State":{ - "shape":"BundleTaskState", - "locationName":"state" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "UpdateTime":{ - "shape":"DateTime", - "locationName":"updateTime" - }, - "Storage":{ - "shape":"Storage", - "locationName":"storage" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "BundleTaskError":{ - "shape":"BundleTaskError", - "locationName":"error" - } - } - }, - "BundleTaskError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "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", - "locationName":"dryRun" - }, - "BundleId":{"shape":"String"} - } - }, - "CancelBundleTaskResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "locationName":"bundleInstanceTask" - } - } - }, - "CancelConversionRequest":{ - "type":"structure", - "required":["ConversionTaskId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ConversionTaskId":{ - "shape":"String", - "locationName":"conversionTaskId" - }, - "ReasonMessage":{ - "shape":"String", - "locationName":"reasonMessage" - } - } - }, - "CancelExportTaskRequest":{ - "type":"structure", - "required":["ExportTaskId"], - "members":{ - "ExportTaskId":{ - "shape":"String", - "locationName":"exportTaskId" - } - } - }, - "CancelImportTaskRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskId":{"shape":"String"}, - "CancelReason":{"shape":"String"} - } - }, - "CancelImportTaskResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "State":{ - "shape":"String", - "locationName":"state" - }, - "PreviousState":{ - "shape":"String", - "locationName":"previousState" - } - } - }, - "CancelReservedInstancesListingRequest":{ - "type":"structure", - "required":["ReservedInstancesListingId"], - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "locationName":"reservedInstancesListingId" - } - } - }, - "CancelReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CancelSpotFleetRequestsError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"CancelBatchErrorCode", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "CancelSpotFleetRequestsErrorItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "Error" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "Error":{ - "shape":"CancelSpotFleetRequestsError", - "locationName":"error" - } - } - }, - "CancelSpotFleetRequestsErrorSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsErrorItem", - "locationName":"item" - } - }, - "CancelSpotFleetRequestsRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestIds", - "TerminateInstances" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "locationName":"spotFleetRequestId" - }, - "TerminateInstances":{ - "shape":"Boolean", - "locationName":"terminateInstances" - } - } - }, - "CancelSpotFleetRequestsResponse":{ - "type":"structure", - "members":{ - "UnsuccessfulFleetRequests":{ - "shape":"CancelSpotFleetRequestsErrorSet", - "locationName":"unsuccessfulFleetRequestSet" - }, - "SuccessfulFleetRequests":{ - "shape":"CancelSpotFleetRequestsSuccessSet", - "locationName":"successfulFleetRequestSet" - } - } - }, - "CancelSpotFleetRequestsSuccessItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "CurrentSpotFleetRequestState", - "PreviousSpotFleetRequestState" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "CurrentSpotFleetRequestState":{ - "shape":"BatchState", - "locationName":"currentSpotFleetRequestState" - }, - "PreviousSpotFleetRequestState":{ - "shape":"BatchState", - "locationName":"previousSpotFleetRequestState" - } - } - }, - "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", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "locationName":"SpotInstanceRequestId" - } - } - }, - "CancelSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "CancelledSpotInstanceRequests":{ - "shape":"CancelledSpotInstanceRequestList", - "locationName":"spotInstanceRequestSet" - } - } - }, - "CancelledSpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - }, - "State":{ - "shape":"CancelSpotInstanceRequestState", - "locationName":"state" - } - } - }, - "CancelledSpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"CancelledSpotInstanceRequest", - "locationName":"item" - } - }, - "ClassicLinkDnsSupport":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "ClassicLinkDnsSupported":{ - "shape":"Boolean", - "locationName":"classicLinkDnsSupported" - } - } - }, - "ClassicLinkDnsSupportList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkDnsSupport", - "locationName":"item" - } - }, - "ClassicLinkInstance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "ClassicLinkInstanceList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkInstance", - "locationName":"item" - } - }, - "ClientData":{ - "type":"structure", - "members":{ - "UploadStart":{"shape":"DateTime"}, - "UploadEnd":{"shape":"DateTime"}, - "UploadSize":{"shape":"Double"}, - "Comment":{"shape":"String"} - } - }, - "ConfirmProductInstanceRequest":{ - "type":"structure", - "required":[ - "ProductCode", - "InstanceId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ProductCode":{"shape":"String"}, - "InstanceId":{"shape":"String"} - } - }, - "ConfirmProductInstanceResult":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Return":{ - "shape":"Boolean", - "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", - "locationName":"conversionTaskId" - }, - "ExpirationTime":{ - "shape":"String", - "locationName":"expirationTime" - }, - "ImportInstance":{ - "shape":"ImportInstanceTaskDetails", - "locationName":"importInstance" - }, - "ImportVolume":{ - "shape":"ImportVolumeTaskDetails", - "locationName":"importVolume" - }, - "State":{ - "shape":"ConversionTaskState", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "ConversionTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "CopyImageRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceImageId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SourceRegion":{"shape":"String"}, - "SourceImageId":{"shape":"String"}, - "Name":{"shape":"String"}, - "Description":{"shape":"String"}, - "ClientToken":{"shape":"String"}, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - } - } - }, - "CopyImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - } - } - }, - "CopySnapshotRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceSnapshotId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SourceRegion":{"shape":"String"}, - "SourceSnapshotId":{"shape":"String"}, - "Description":{"shape":"String"}, - "DestinationRegion":{ - "shape":"String", - "locationName":"destinationRegion" - }, - "PresignedUrl":{ - "shape":"String", - "locationName":"presignedUrl" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - } - } - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - } - } - }, - "CreateCustomerGatewayRequest":{ - "type":"structure", - "required":[ - "Type", - "PublicIp", - "BgpAsn" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{"shape":"GatewayType"}, - "PublicIp":{ - "shape":"String", - "locationName":"IpAddress" - }, - "BgpAsn":{"shape":"Integer"} - } - }, - "CreateCustomerGatewayResult":{ - "type":"structure", - "members":{ - "CustomerGateway":{ - "shape":"CustomerGateway", - "locationName":"customerGateway" - } - } - }, - "CreateDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpConfigurations"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpConfigurations":{ - "shape":"NewDhcpConfigurationList", - "locationName":"dhcpConfiguration" - } - } - }, - "CreateDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptions", - "locationName":"dhcpOptions" - } - } - }, - "CreateFlowLogsRequest":{ - "type":"structure", - "required":[ - "ResourceIds", - "ResourceType", - "TrafficType", - "LogGroupName", - "DeliverLogsPermissionArn" - ], - "members":{ - "ResourceIds":{ - "shape":"ValueStringList", - "locationName":"ResourceId" - }, - "ResourceType":{"shape":"FlowLogsResourceType"}, - "TrafficType":{"shape":"TrafficType"}, - "LogGroupName":{"shape":"String"}, - "DeliverLogsPermissionArn":{"shape":"String"}, - "ClientToken":{"shape":"String"} - } - }, - "CreateFlowLogsResult":{ - "type":"structure", - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "locationName":"flowLogIdSet" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "locationName":"unsuccessful" - } - } - }, - "CreateImageRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Name":{ - "shape":"String", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "NoReboot":{ - "shape":"Boolean", - "locationName":"noReboot" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "locationName":"blockDeviceMapping" - } - } - }, - "CreateImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - } - } - }, - "CreateInstanceExportTaskRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "Description":{ - "shape":"String", - "locationName":"description" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "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", - "locationName":"internetGateway" - } - } - }, - "CreateKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{"shape":"String"} - } - }, - "CreateNatGatewayRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "AllocationId" - ], - "members":{ - "SubnetId":{"shape":"String"}, - "AllocationId":{"shape":"String"}, - "ClientToken":{"shape":"String"} - } - }, - "CreateNatGatewayResult":{ - "type":"structure", - "members":{ - "NatGateway":{ - "shape":"NatGateway", - "locationName":"natGateway" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "CreateNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "locationName":"ruleAction" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "locationName":"portRange" - } - } - }, - "CreateNetworkAclRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "CreateNetworkAclResult":{ - "type":"structure", - "members":{ - "NetworkAcl":{ - "shape":"NetworkAcl", - "locationName":"networkAcl" - } - } - }, - "CreateNetworkInterfaceRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "locationName":"privateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "locationName":"secondaryPrivateIpAddressCount" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "CreateNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "NetworkInterface":{ - "shape":"NetworkInterface", - "locationName":"networkInterface" - } - } - }, - "CreatePlacementGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Strategy" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "locationName":"strategy" - } - } - }, - "CreateReservedInstancesListingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesId", - "InstanceCount", - "PriceSchedules", - "ClientToken" - ], - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "PriceSchedules":{ - "shape":"PriceScheduleSpecificationList", - "locationName":"priceSchedules" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "CreateReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CreateRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - }, - "GatewayId":{ - "shape":"String", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - } - } - }, - "CreateRouteResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "CreateRouteTableRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "CreateRouteTableResult":{ - "type":"structure", - "members":{ - "RouteTable":{ - "shape":"RouteTable", - "locationName":"routeTable" - } - } - }, - "CreateSecurityGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Description" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "Description":{ - "shape":"String", - "locationName":"GroupDescription" - }, - "VpcId":{"shape":"String"} - } - }, - "CreateSecurityGroupResult":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"String", - "locationName":"groupId" - } - } - }, - "CreateSnapshotRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "Description":{"shape":"String"} - } - }, - "CreateSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Bucket":{ - "shape":"String", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "locationName":"prefix" - } - } - }, - "CreateSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "locationName":"spotDatafeedSubscription" - } - } - }, - "CreateSubnetRequest":{ - "type":"structure", - "required":[ - "VpcId", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{"shape":"String"}, - "CidrBlock":{"shape":"String"}, - "AvailabilityZone":{"shape":"String"} - } - }, - "CreateSubnetResult":{ - "type":"structure", - "members":{ - "Subnet":{ - "shape":"Subnet", - "locationName":"subnet" - } - } - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "Resources", - "Tags" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "locationName":"ResourceId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"Tag" - } - } - }, - "CreateVolumePermission":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "locationName":"userId" - }, - "Group":{ - "shape":"PermissionGroup", - "locationName":"group" - } - } - }, - "CreateVolumePermissionList":{ - "type":"list", - "member":{ - "shape":"CreateVolumePermission", - "locationName":"item" - } - }, - "CreateVolumePermissionModifications":{ - "type":"structure", - "members":{ - "Add":{"shape":"CreateVolumePermissionList"}, - "Remove":{"shape":"CreateVolumePermissionList"} - } - }, - "CreateVolumeRequest":{ - "type":"structure", - "required":["AvailabilityZone"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Size":{"shape":"Integer"}, - "SnapshotId":{"shape":"String"}, - "AvailabilityZone":{"shape":"String"}, - "VolumeType":{"shape":"VolumeType"}, - "Iops":{"shape":"Integer"}, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{"shape":"String"} - } - }, - "CreateVpcEndpointRequest":{ - "type":"structure", - "required":[ - "VpcId", - "ServiceName" - ], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcId":{"shape":"String"}, - "ServiceName":{"shape":"String"}, - "PolicyDocument":{"shape":"String"}, - "RouteTableIds":{ - "shape":"ValueStringList", - "locationName":"RouteTableId" - }, - "ClientToken":{"shape":"String"} - } - }, - "CreateVpcEndpointResult":{ - "type":"structure", - "members":{ - "VpcEndpoint":{ - "shape":"VpcEndpoint", - "locationName":"vpcEndpoint" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "CreateVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "PeerVpcId":{ - "shape":"String", - "locationName":"peerVpcId" - }, - "PeerOwnerId":{ - "shape":"String", - "locationName":"peerOwnerId" - } - } - }, - "CreateVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "locationName":"vpcPeeringConnection" - } - } - }, - "CreateVpcRequest":{ - "type":"structure", - "required":["CidrBlock"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CidrBlock":{"shape":"String"}, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - } - } - }, - "CreateVpcResult":{ - "type":"structure", - "members":{ - "Vpc":{ - "shape":"Vpc", - "locationName":"vpc" - } - } - }, - "CreateVpnConnectionRequest":{ - "type":"structure", - "required":[ - "Type", - "CustomerGatewayId", - "VpnGatewayId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{"shape":"String"}, - "CustomerGatewayId":{"shape":"String"}, - "VpnGatewayId":{"shape":"String"}, - "Options":{ - "shape":"VpnConnectionOptionsSpecification", - "locationName":"options" - } - } - }, - "CreateVpnConnectionResult":{ - "type":"structure", - "members":{ - "VpnConnection":{ - "shape":"VpnConnection", - "locationName":"vpnConnection" - } - } - }, - "CreateVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "members":{ - "VpnConnectionId":{"shape":"String"}, - "DestinationCidrBlock":{"shape":"String"} - } - }, - "CreateVpnGatewayRequest":{ - "type":"structure", - "required":["Type"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{"shape":"GatewayType"}, - "AvailabilityZone":{"shape":"String"} - } - }, - "CreateVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpnGateway":{ - "shape":"VpnGateway", - "locationName":"vpnGateway" - } - } - }, - "CurrencyCodeValues":{ - "type":"string", - "enum":["USD"] - }, - "CustomerGateway":{ - "type":"structure", - "members":{ - "CustomerGatewayId":{ - "shape":"String", - "locationName":"customerGatewayId" - }, - "State":{ - "shape":"String", - "locationName":"state" - }, - "Type":{ - "shape":"String", - "locationName":"type" - }, - "IpAddress":{ - "shape":"String", - "locationName":"ipAddress" - }, - "BgpAsn":{ - "shape":"String", - "locationName":"bgpAsn" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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"} - } - }, - "DeleteDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpOptionsId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{"shape":"String"} - } - }, - "DeleteFlowLogsRequest":{ - "type":"structure", - "required":["FlowLogIds"], - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "locationName":"FlowLogId" - } - } - }, - "DeleteFlowLogsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "locationName":"unsuccessful" - } - } - }, - "DeleteInternetGatewayRequest":{ - "type":"structure", - "required":["InternetGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "locationName":"internetGatewayId" - } - } - }, - "DeleteKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{"shape":"String"} - } - }, - "DeleteNatGatewayRequest":{ - "type":"structure", - "required":["NatGatewayId"], - "members":{ - "NatGatewayId":{"shape":"String"} - } - }, - "DeleteNatGatewayResult":{ - "type":"structure", - "members":{ - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - } - } - }, - "DeleteNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Egress" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - } - } - }, - "DeleteNetworkAclRequest":{ - "type":"structure", - "required":["NetworkAclId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - } - } - }, - "DeleteNetworkInterfaceRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - } - } - }, - "DeletePlacementGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - } - } - }, - "DeleteRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - } - } - }, - "DeleteRouteTableRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - } - } - }, - "DeleteSecurityGroupRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "GroupId":{"shape":"String"} - } - }, - "DeleteSnapshotRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"} - } - }, - "DeleteSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DeleteSubnetRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetId":{"shape":"String"} - } - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":["Resources"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "locationName":"resourceId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tag" - } - } - }, - "DeleteVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"} - } - }, - "DeleteVpcEndpointsRequest":{ - "type":"structure", - "required":["VpcEndpointIds"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "locationName":"VpcEndpointId" - } - } - }, - "DeleteVpcEndpointsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "locationName":"unsuccessful" - } - } - }, - "DeleteVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "DeleteVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DeleteVpcRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{"shape":"String"} - } - }, - "DeleteVpnConnectionRequest":{ - "type":"structure", - "required":["VpnConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnConnectionId":{"shape":"String"} - } - }, - "DeleteVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "members":{ - "VpnConnectionId":{"shape":"String"}, - "DestinationCidrBlock":{"shape":"String"} - } - }, - "DeleteVpnGatewayRequest":{ - "type":"structure", - "required":["VpnGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{"shape":"String"} - } - }, - "DeregisterImageRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"} - } - }, - "DescribeAccountAttributesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttributeNames":{ - "shape":"AccountAttributeNameStringList", - "locationName":"attributeName" - } - } - }, - "DescribeAccountAttributesResult":{ - "type":"structure", - "members":{ - "AccountAttributes":{ - "shape":"AccountAttributeList", - "locationName":"accountAttributeSet" - } - } - }, - "DescribeAddressesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIps":{ - "shape":"PublicIpStringList", - "locationName":"PublicIp" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "AllocationIds":{ - "shape":"AllocationIdList", - "locationName":"AllocationId" - } - } - }, - "DescribeAddressesResult":{ - "type":"structure", - "members":{ - "Addresses":{ - "shape":"AddressList", - "locationName":"addressesSet" - } - } - }, - "DescribeAvailabilityZonesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ZoneNames":{ - "shape":"ZoneNameStringList", - "locationName":"ZoneName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeAvailabilityZonesResult":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "locationName":"availabilityZoneInfo" - } - } - }, - "DescribeBundleTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "BundleIds":{ - "shape":"BundleIdStringList", - "locationName":"BundleId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeBundleTasksResult":{ - "type":"structure", - "members":{ - "BundleTasks":{ - "shape":"BundleTaskList", - "locationName":"bundleInstanceTasksSet" - } - } - }, - "DescribeClassicLinkInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeClassicLinkInstancesResult":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"ClassicLinkInstanceList", - "locationName":"instancesSet" - }, - "NextToken":{ - "shape":"String", - "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", - "locationName":"conversionTaskId" - } - } - }, - "DescribeConversionTasksResult":{ - "type":"structure", - "members":{ - "ConversionTasks":{ - "shape":"DescribeConversionTaskList", - "locationName":"conversionTasks" - } - } - }, - "DescribeCustomerGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CustomerGatewayIds":{ - "shape":"CustomerGatewayIdStringList", - "locationName":"CustomerGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeCustomerGatewaysResult":{ - "type":"structure", - "members":{ - "CustomerGateways":{ - "shape":"CustomerGatewayList", - "locationName":"customerGatewaySet" - } - } - }, - "DescribeDhcpOptionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsIds":{ - "shape":"DhcpOptionsIdStringList", - "locationName":"DhcpOptionsId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptionsList", - "locationName":"dhcpOptionsSet" - } - } - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "ExportTaskIds":{ - "shape":"ExportTaskIdStringList", - "locationName":"exportTaskId" - } - } - }, - "DescribeExportTasksResult":{ - "type":"structure", - "members":{ - "ExportTasks":{ - "shape":"ExportTaskList", - "locationName":"exportTaskSet" - } - } - }, - "DescribeFlowLogsRequest":{ - "type":"structure", - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "locationName":"FlowLogId" - }, - "Filter":{"shape":"FilterList"}, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"} - } - }, - "DescribeFlowLogsResult":{ - "type":"structure", - "members":{ - "FlowLogs":{ - "shape":"FlowLogSet", - "locationName":"flowLogSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeHostsRequest":{ - "type":"structure", - "members":{ - "HostIds":{ - "shape":"RequestHostIdList", - "locationName":"hostId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "Filter":{ - "shape":"FilterList", - "locationName":"filter" - } - } - }, - "DescribeHostsResult":{ - "type":"structure", - "members":{ - "Hosts":{ - "shape":"HostList", - "locationName":"hostSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeIdFormatRequest":{ - "type":"structure", - "members":{ - "Resource":{"shape":"String"} - } - }, - "DescribeIdFormatResult":{ - "type":"structure", - "members":{ - "Statuses":{ - "shape":"IdFormatList", - "locationName":"statusSet" - } - } - }, - "DescribeImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"}, - "Attribute":{"shape":"ImageAttributeName"} - } - }, - "DescribeImagesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageIds":{ - "shape":"ImageIdStringList", - "locationName":"ImageId" - }, - "Owners":{ - "shape":"OwnerStringList", - "locationName":"Owner" - }, - "ExecutableUsers":{ - "shape":"ExecutableByStringList", - "locationName":"ExecutableBy" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeImagesResult":{ - "type":"structure", - "members":{ - "Images":{ - "shape":"ImageList", - "locationName":"imagesSet" - } - } - }, - "DescribeImportImageTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskIds":{ - "shape":"ImportTaskIdList", - "locationName":"ImportTaskId" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{"shape":"FilterList"} - } - }, - "DescribeImportImageTasksResult":{ - "type":"structure", - "members":{ - "ImportImageTasks":{ - "shape":"ImportImageTaskList", - "locationName":"importImageTaskSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeImportSnapshotTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskIds":{ - "shape":"ImportTaskIdList", - "locationName":"ImportTaskId" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{"shape":"FilterList"} - } - }, - "DescribeImportSnapshotTasksResult":{ - "type":"structure", - "members":{ - "ImportSnapshotTasks":{ - "shape":"ImportSnapshotTaskList", - "locationName":"importSnapshotTaskSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "locationName":"attribute" - } - } - }, - "DescribeInstanceStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "IncludeAllInstances":{ - "shape":"Boolean", - "locationName":"includeAllInstances" - } - } - }, - "DescribeInstanceStatusResult":{ - "type":"structure", - "members":{ - "InstanceStatuses":{ - "shape":"InstanceStatusList", - "locationName":"instanceStatusSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeInstancesResult":{ - "type":"structure", - "members":{ - "Reservations":{ - "shape":"ReservationList", - "locationName":"reservationSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeInternetGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayIds":{ - "shape":"ValueStringList", - "locationName":"internetGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeInternetGatewaysResult":{ - "type":"structure", - "members":{ - "InternetGateways":{ - "shape":"InternetGatewayList", - "locationName":"internetGatewaySet" - } - } - }, - "DescribeKeyPairsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyNames":{ - "shape":"KeyNameStringList", - "locationName":"KeyName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeKeyPairsResult":{ - "type":"structure", - "members":{ - "KeyPairs":{ - "shape":"KeyPairList", - "locationName":"keySet" - } - } - }, - "DescribeMovingAddressesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIps":{ - "shape":"ValueStringList", - "locationName":"publicIp" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filter" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeMovingAddressesResult":{ - "type":"structure", - "members":{ - "MovingAddressStatuses":{ - "shape":"MovingAddressStatusSet", - "locationName":"movingAddressStatusSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeNatGatewaysRequest":{ - "type":"structure", - "members":{ - "NatGatewayIds":{ - "shape":"ValueStringList", - "locationName":"NatGatewayId" - }, - "Filter":{"shape":"FilterList"}, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeNatGatewaysResult":{ - "type":"structure", - "members":{ - "NatGateways":{ - "shape":"NatGatewayList", - "locationName":"natGatewaySet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeNetworkAclsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclIds":{ - "shape":"ValueStringList", - "locationName":"NetworkAclId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeNetworkAclsResult":{ - "type":"structure", - "members":{ - "NetworkAcls":{ - "shape":"NetworkAclList", - "locationName":"networkAclSet" - } - } - }, - "DescribeNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "Attribute":{ - "shape":"NetworkInterfaceAttribute", - "locationName":"attribute" - } - } - }, - "DescribeNetworkInterfaceAttributeResult":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "Description":{ - "shape":"AttributeValue", - "locationName":"description" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "locationName":"attachment" - } - } - }, - "DescribeNetworkInterfacesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceIds":{ - "shape":"NetworkInterfaceIdList", - "locationName":"NetworkInterfaceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filter" - } - } - }, - "DescribeNetworkInterfacesResult":{ - "type":"structure", - "members":{ - "NetworkInterfaces":{ - "shape":"NetworkInterfaceList", - "locationName":"networkInterfaceSet" - } - } - }, - "DescribePlacementGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupNames":{ - "shape":"PlacementGroupStringList", - "locationName":"groupName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribePlacementGroupsResult":{ - "type":"structure", - "members":{ - "PlacementGroups":{ - "shape":"PlacementGroupList", - "locationName":"placementGroupSet" - } - } - }, - "DescribePrefixListsRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "PrefixListIds":{ - "shape":"ValueStringList", - "locationName":"PrefixListId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribePrefixListsResult":{ - "type":"structure", - "members":{ - "PrefixLists":{ - "shape":"PrefixListSet", - "locationName":"prefixListSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeRegionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RegionNames":{ - "shape":"RegionNameStringList", - "locationName":"RegionName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeRegionsResult":{ - "type":"structure", - "members":{ - "Regions":{ - "shape":"RegionList", - "locationName":"regionInfo" - } - } - }, - "DescribeReservedInstancesListingsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "ReservedInstancesListingId":{ - "shape":"String", - "locationName":"reservedInstancesListingId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filters" - } - } - }, - "DescribeReservedInstancesListingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "DescribeReservedInstancesModificationsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationIds":{ - "shape":"ReservedInstancesModificationIdStringList", - "locationName":"ReservedInstancesModificationId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeReservedInstancesModificationsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModifications":{ - "shape":"ReservedInstancesModificationList", - "locationName":"reservedInstancesModificationsSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeReservedInstancesOfferingsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingIds":{ - "shape":"ReservedInstancesOfferingIdStringList", - "locationName":"ReservedInstancesOfferingId" - }, - "InstanceType":{"shape":"InstanceType"}, - "AvailabilityZone":{"shape":"String"}, - "ProductDescription":{"shape":"RIProductDescription"}, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "IncludeMarketplace":{"shape":"Boolean"}, - "MinDuration":{"shape":"Long"}, - "MaxDuration":{"shape":"Long"}, - "MaxInstanceCount":{"shape":"Integer"} - } - }, - "DescribeReservedInstancesOfferingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferings":{ - "shape":"ReservedInstancesOfferingList", - "locationName":"reservedInstancesOfferingsSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeReservedInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesIds":{ - "shape":"ReservedInstancesIdStringList", - "locationName":"ReservedInstancesId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - } - } - }, - "DescribeReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstances":{ - "shape":"ReservedInstancesList", - "locationName":"reservedInstancesSet" - } - } - }, - "DescribeRouteTablesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "locationName":"RouteTableId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeRouteTablesResult":{ - "type":"structure", - "members":{ - "RouteTables":{ - "shape":"RouteTableList", - "locationName":"routeTableSet" - } - } - }, - "DescribeScheduledInstanceAvailabilityRequest":{ - "type":"structure", - "required":[ - "Recurrence", - "FirstSlotStartTimeRange" - ], - "members":{ - "DryRun":{"shape":"Boolean"}, - "Recurrence":{"shape":"ScheduledInstanceRecurrenceRequest"}, - "FirstSlotStartTimeRange":{"shape":"SlotDateTimeRangeRequest"}, - "MinSlotDurationInHours":{"shape":"Integer"}, - "MaxSlotDurationInHours":{"shape":"Integer"}, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeScheduledInstanceAvailabilityResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "ScheduledInstanceAvailabilitySet":{ - "shape":"ScheduledInstanceAvailabilitySet", - "locationName":"scheduledInstanceAvailabilitySet" - } - } - }, - "DescribeScheduledInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ScheduledInstanceIds":{ - "shape":"ScheduledInstanceIdRequestSet", - "locationName":"ScheduledInstanceId" - }, - "SlotStartTimeRange":{"shape":"SlotStartTimeRangeRequest"}, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeScheduledInstancesResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "ScheduledInstanceSet":{ - "shape":"ScheduledInstanceSet", - "locationName":"scheduledInstanceSet" - } - } - }, - "DescribeSecurityGroupReferencesRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "GroupId":{"shape":"GroupIds"} - } - }, - "DescribeSecurityGroupReferencesResult":{ - "type":"structure", - "members":{ - "SecurityGroupReferenceSet":{ - "shape":"SecurityGroupReferences", - "locationName":"securityGroupReferenceSet" - } - } - }, - "DescribeSecurityGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupNames":{ - "shape":"GroupNameStringList", - "locationName":"GroupName" - }, - "GroupIds":{ - "shape":"GroupIdStringList", - "locationName":"GroupId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeSecurityGroupsResult":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroupList", - "locationName":"securityGroupInfo" - } - } - }, - "DescribeSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"}, - "Attribute":{"shape":"SnapshotAttributeName"} - } - }, - "DescribeSnapshotAttributeResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "CreateVolumePermissions":{ - "shape":"CreateVolumePermissionList", - "locationName":"createVolumePermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - } - } - }, - "DescribeSnapshotsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotIds":{ - "shape":"SnapshotIdStringList", - "locationName":"SnapshotId" - }, - "OwnerIds":{ - "shape":"OwnerStringList", - "locationName":"Owner" - }, - "RestorableByUserIds":{ - "shape":"RestorableByStringList", - "locationName":"RestorableBy" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"} - } - }, - "DescribeSnapshotsResult":{ - "type":"structure", - "members":{ - "Snapshots":{ - "shape":"SnapshotList", - "locationName":"snapshotSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DescribeSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "locationName":"spotDatafeedSubscription" - } - } - }, - "DescribeSpotFleetInstancesRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeSpotFleetInstancesResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "ActiveInstances" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "ActiveInstances":{ - "shape":"ActiveInstanceSet", - "locationName":"activeInstanceSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotFleetRequestHistoryRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "EventType":{ - "shape":"EventType", - "locationName":"eventType" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeSpotFleetRequestHistoryResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime", - "LastEvaluatedTime", - "HistoryRecords" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "LastEvaluatedTime":{ - "shape":"DateTime", - "locationName":"lastEvaluatedTime" - }, - "HistoryRecords":{ - "shape":"HistoryRecords", - "locationName":"historyRecordSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotFleetRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "locationName":"spotFleetRequestId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeSpotFleetRequestsResponse":{ - "type":"structure", - "required":["SpotFleetRequestConfigs"], - "members":{ - "SpotFleetRequestConfigs":{ - "shape":"SpotFleetRequestConfigSet", - "locationName":"spotFleetRequestConfigSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotInstanceRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "locationName":"SpotInstanceRequestId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "locationName":"spotInstanceRequestSet" - } - } - }, - "DescribeSpotPriceHistoryRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "EndTime":{ - "shape":"DateTime", - "locationName":"endTime" - }, - "InstanceTypes":{ - "shape":"InstanceTypeList", - "locationName":"InstanceType" - }, - "ProductDescriptions":{ - "shape":"ProductDescriptionList", - "locationName":"ProductDescription" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotPriceHistoryResult":{ - "type":"structure", - "members":{ - "SpotPriceHistory":{ - "shape":"SpotPriceHistoryList", - "locationName":"spotPriceHistorySet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeStaleSecurityGroupsRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcId":{"shape":"String"}, - "MaxResults":{"shape":"MaxResults"}, - "NextToken":{"shape":"NextToken"} - } - }, - "DescribeStaleSecurityGroupsResult":{ - "type":"structure", - "members":{ - "StaleSecurityGroupSet":{ - "shape":"StaleSecurityGroupSet", - "locationName":"staleSecurityGroupSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSubnetsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetIds":{ - "shape":"SubnetIdStringList", - "locationName":"SubnetId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeSubnetsResult":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"SubnetList", - "locationName":"subnetSet" - } - } - }, - "DescribeTagsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeTagsResult":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagDescriptionList", - "locationName":"tagSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "Attribute":{"shape":"VolumeAttributeName"} - } - }, - "DescribeVolumeAttributeResult":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "locationName":"autoEnableIO" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - } - } - }, - "DescribeVolumeStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeIds":{ - "shape":"VolumeIdStringList", - "locationName":"VolumeId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"} - } - }, - "DescribeVolumeStatusResult":{ - "type":"structure", - "members":{ - "VolumeStatuses":{ - "shape":"VolumeStatusList", - "locationName":"volumeStatusSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVolumesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeIds":{ - "shape":"VolumeIdStringList", - "locationName":"VolumeId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeVolumesResult":{ - "type":"structure", - "members":{ - "Volumes":{ - "shape":"VolumeList", - "locationName":"volumeSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVpcAttributeRequest":{ - "type":"structure", - "required":[ - "VpcId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{"shape":"String"}, - "Attribute":{"shape":"VpcAttributeName"} - } - }, - "DescribeVpcAttributeResult":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "EnableDnsSupport":{ - "shape":"AttributeBooleanValue", - "locationName":"enableDnsSupport" - }, - "EnableDnsHostnames":{ - "shape":"AttributeBooleanValue", - "locationName":"enableDnsHostnames" - } - } - }, - "DescribeVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcIds":{"shape":"VpcClassicLinkIdList"}, - "MaxResults":{ - "shape":"MaxResults", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"NextToken", - "locationName":"nextToken" - } - } - }, - "DescribeVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"ClassicLinkDnsSupportList", - "locationName":"vpcs" - }, - "NextToken":{ - "shape":"NextToken", - "locationName":"nextToken" - } - } - }, - "DescribeVpcClassicLinkRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcIds":{ - "shape":"VpcClassicLinkIdList", - "locationName":"VpcId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcClassicLinkList", - "locationName":"vpcSet" - } - } - }, - "DescribeVpcEndpointServicesRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeVpcEndpointServicesResult":{ - "type":"structure", - "members":{ - "ServiceNames":{ - "shape":"ValueStringList", - "locationName":"serviceNameSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVpcEndpointsRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "locationName":"VpcEndpointId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeVpcEndpointsResult":{ - "type":"structure", - "members":{ - "VpcEndpoints":{ - "shape":"VpcEndpointSet", - "locationName":"vpcEndpointSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVpcPeeringConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionIds":{ - "shape":"ValueStringList", - "locationName":"VpcPeeringConnectionId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpcPeeringConnectionsResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnections":{ - "shape":"VpcPeeringConnectionList", - "locationName":"vpcPeeringConnectionSet" - } - } - }, - "DescribeVpcsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcIds":{ - "shape":"VpcIdStringList", - "locationName":"VpcId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpcsResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcList", - "locationName":"vpcSet" - } - } - }, - "DescribeVpnConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnConnectionIds":{ - "shape":"VpnConnectionIdStringList", - "locationName":"VpnConnectionId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpnConnectionsResult":{ - "type":"structure", - "members":{ - "VpnConnections":{ - "shape":"VpnConnectionList", - "locationName":"vpnConnectionSet" - } - } - }, - "DescribeVpnGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayIds":{ - "shape":"VpnGatewayIdStringList", - "locationName":"VpnGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpnGatewaysResult":{ - "type":"structure", - "members":{ - "VpnGateways":{ - "shape":"VpnGatewayList", - "locationName":"vpnGatewaySet" - } - } - }, - "DetachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "DetachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DetachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "DetachNetworkInterfaceRequest":{ - "type":"structure", - "required":["AttachmentId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "Force":{ - "shape":"Boolean", - "locationName":"force" - } - } - }, - "DetachVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "InstanceId":{"shape":"String"}, - "Device":{"shape":"String"}, - "Force":{"shape":"Boolean"} - } - }, - "DetachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{"shape":"String"}, - "VpcId":{"shape":"String"} - } - }, - "DeviceType":{ - "type":"string", - "enum":[ - "ebs", - "instance-store" - ] - }, - "DhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Values":{ - "shape":"DhcpConfigurationValueList", - "locationName":"valueSet" - } - } - }, - "DhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"DhcpConfiguration", - "locationName":"item" - } - }, - "DhcpConfigurationValueList":{ - "type":"list", - "member":{ - "shape":"AttributeValue", - "locationName":"item" - } - }, - "DhcpOptions":{ - "type":"structure", - "members":{ - "DhcpOptionsId":{ - "shape":"String", - "locationName":"dhcpOptionsId" - }, - "DhcpConfigurations":{ - "shape":"DhcpConfigurationList", - "locationName":"dhcpConfigurationSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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"}, - "GatewayId":{"shape":"String"} - } - }, - "DisableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{"shape":"String"} - } - }, - "DisableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DisableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "DisableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DisassociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIp":{"shape":"String"}, - "AssociationId":{"shape":"String"} - } - }, - "DisassociateRouteTableRequest":{ - "type":"structure", - "required":["AssociationId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "DiskImage":{ - "type":"structure", - "members":{ - "Image":{"shape":"DiskImageDetail"}, - "Description":{"shape":"String"}, - "Volume":{"shape":"VolumeDetail"} - } - }, - "DiskImageDescription":{ - "type":"structure", - "required":[ - "Format", - "Size", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "locationName":"format" - }, - "Size":{ - "shape":"Long", - "locationName":"size" - }, - "ImportManifestUrl":{ - "shape":"String", - "locationName":"importManifestUrl" - }, - "Checksum":{ - "shape":"String", - "locationName":"checksum" - } - } - }, - "DiskImageDetail":{ - "type":"structure", - "required":[ - "Format", - "Bytes", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "locationName":"format" - }, - "Bytes":{ - "shape":"Long", - "locationName":"bytes" - }, - "ImportManifestUrl":{ - "shape":"String", - "locationName":"importManifestUrl" - } - } - }, - "DiskImageFormat":{ - "type":"string", - "enum":[ - "VMDK", - "RAW", - "VHD" - ] - }, - "DiskImageList":{ - "type":"list", - "member":{"shape":"DiskImage"} - }, - "DiskImageVolumeDescription":{ - "type":"structure", - "required":["Id"], - "members":{ - "Size":{ - "shape":"Long", - "locationName":"size" - }, - "Id":{ - "shape":"String", - "locationName":"id" - } - } - }, - "DomainType":{ - "type":"string", - "enum":[ - "vpc", - "standard" - ] - }, - "Double":{"type":"double"}, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "VolumeSize":{ - "shape":"Integer", - "locationName":"volumeSize" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - }, - "VolumeType":{ - "shape":"VolumeType", - "locationName":"volumeType" - }, - "Iops":{ - "shape":"Integer", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - } - } - }, - "EbsInstanceBlockDevice":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "Status":{ - "shape":"AttachmentStatus", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "EbsInstanceBlockDeviceSpecification":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "EnableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{"shape":"String"}, - "GatewayId":{"shape":"String"} - } - }, - "EnableVolumeIORequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - } - } - }, - "EnableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{"shape":"String"} - } - }, - "EnableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "EnableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "EnableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "EventCode":{ - "type":"string", - "enum":[ - "instance-reboot", - "system-reboot", - "system-maintenance", - "instance-retirement", - "instance-stop" - ] - }, - "EventInformation":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "EventSubType":{ - "shape":"String", - "locationName":"eventSubType" - }, - "EventDescription":{ - "shape":"String", - "locationName":"eventDescription" - } - } - }, - "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", - "locationName":"exportTaskId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "State":{ - "shape":"ExportTaskState", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "InstanceExportDetails":{ - "shape":"InstanceExportDetails", - "locationName":"instanceExport" - }, - "ExportToS3Task":{ - "shape":"ExportToS3Task", - "locationName":"exportToS3" - } - } - }, - "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", - "locationName":"diskImageFormat" - }, - "ContainerFormat":{ - "shape":"ContainerFormat", - "locationName":"containerFormat" - }, - "S3Bucket":{ - "shape":"String", - "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", - "locationName":"s3Prefix" - } - } - }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "Values":{ - "shape":"ValueStringList", - "locationName":"Value" - } - } - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "FleetType":{ - "type":"string", - "enum":[ - "request", - "maintain" - ] - }, - "Float":{"type":"float"}, - "FlowLog":{ - "type":"structure", - "members":{ - "CreationTime":{ - "shape":"DateTime", - "locationName":"creationTime" - }, - "FlowLogId":{ - "shape":"String", - "locationName":"flowLogId" - }, - "FlowLogStatus":{ - "shape":"String", - "locationName":"flowLogStatus" - }, - "ResourceId":{ - "shape":"String", - "locationName":"resourceId" - }, - "TrafficType":{ - "shape":"TrafficType", - "locationName":"trafficType" - }, - "LogGroupName":{ - "shape":"String", - "locationName":"logGroupName" - }, - "DeliverLogsStatus":{ - "shape":"String", - "locationName":"deliverLogsStatus" - }, - "DeliverLogsErrorMessage":{ - "shape":"String", - "locationName":"deliverLogsErrorMessage" - }, - "DeliverLogsPermissionArn":{ - "shape":"String", - "locationName":"deliverLogsPermissionArn" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceId":{"shape":"String"} - } - }, - "GetConsoleOutputResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Timestamp":{ - "shape":"DateTime", - "locationName":"timestamp" - }, - "Output":{ - "shape":"String", - "locationName":"output" - } - } - }, - "GetConsoleScreenshotRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "InstanceId":{"shape":"String"}, - "WakeUp":{"shape":"Boolean"} - } - }, - "GetConsoleScreenshotResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "ImageData":{ - "shape":"String", - "locationName":"imageData" - } - } - }, - "GetPasswordDataRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{"shape":"String"} - } - }, - "GetPasswordDataResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Timestamp":{ - "shape":"DateTime", - "locationName":"timestamp" - }, - "PasswordData":{ - "shape":"String", - "locationName":"passwordData" - } - } - }, - "GroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"groupId" - } - }, - "GroupIdentifier":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - } - } - }, - "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", - "locationName":"timestamp" - }, - "EventType":{ - "shape":"EventType", - "locationName":"eventType" - }, - "EventInformation":{ - "shape":"EventInformation", - "locationName":"eventInformation" - } - } - }, - "HistoryRecords":{ - "type":"list", - "member":{ - "shape":"HistoryRecord", - "locationName":"item" - } - }, - "Host":{ - "type":"structure", - "members":{ - "HostId":{ - "shape":"String", - "locationName":"hostId" - }, - "AutoPlacement":{ - "shape":"AutoPlacement", - "locationName":"autoPlacement" - }, - "HostReservationId":{ - "shape":"String", - "locationName":"hostReservationId" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "HostProperties":{ - "shape":"HostProperties", - "locationName":"hostProperties" - }, - "State":{ - "shape":"AllocationState", - "locationName":"state" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Instances":{ - "shape":"HostInstanceList", - "locationName":"instances" - }, - "AvailableCapacity":{ - "shape":"AvailableCapacity", - "locationName":"availableCapacity" - } - } - }, - "HostInstance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - } - } - }, - "HostInstanceList":{ - "type":"list", - "member":{ - "shape":"HostInstance", - "locationName":"item" - } - }, - "HostList":{ - "type":"list", - "member":{ - "shape":"Host", - "locationName":"item" - } - }, - "HostProperties":{ - "type":"structure", - "members":{ - "Sockets":{ - "shape":"Integer", - "locationName":"sockets" - }, - "Cores":{ - "shape":"Integer", - "locationName":"cores" - }, - "TotalVCpus":{ - "shape":"Integer", - "locationName":"totalVCpus" - }, - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - } - } - }, - "HostTenancy":{ - "type":"string", - "enum":[ - "dedicated", - "host" - ] - }, - "HypervisorType":{ - "type":"string", - "enum":[ - "ovm", - "xen" - ] - }, - "IamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "locationName":"arn" - }, - "Id":{ - "shape":"String", - "locationName":"id" - } - } - }, - "IamInstanceProfileSpecification":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "locationName":"arn" - }, - "Name":{ - "shape":"String", - "locationName":"name" - } - } - }, - "IcmpTypeCode":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"Integer", - "locationName":"type" - }, - "Code":{ - "shape":"Integer", - "locationName":"code" - } - } - }, - "IdFormat":{ - "type":"structure", - "members":{ - "Resource":{ - "shape":"String", - "locationName":"resource" - }, - "UseLongIds":{ - "shape":"Boolean", - "locationName":"useLongIds" - }, - "Deadline":{ - "shape":"DateTime", - "locationName":"deadline" - } - } - }, - "IdFormatList":{ - "type":"list", - "member":{ - "shape":"IdFormat", - "locationName":"item" - } - }, - "Image":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "ImageLocation":{ - "shape":"String", - "locationName":"imageLocation" - }, - "State":{ - "shape":"ImageState", - "locationName":"imageState" - }, - "OwnerId":{ - "shape":"String", - "locationName":"imageOwnerId" - }, - "CreationDate":{ - "shape":"String", - "locationName":"creationDate" - }, - "Public":{ - "shape":"Boolean", - "locationName":"isPublic" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "ImageType":{ - "shape":"ImageTypeValues", - "locationName":"imageType" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "locationName":"platform" - }, - "SriovNetSupport":{ - "shape":"String", - "locationName":"sriovNetSupport" - }, - "StateReason":{ - "shape":"StateReason", - "locationName":"stateReason" - }, - "ImageOwnerAlias":{ - "shape":"String", - "locationName":"imageOwnerAlias" - }, - "Name":{ - "shape":"String", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "RootDeviceType":{ - "shape":"DeviceType", - "locationName":"rootDeviceType" - }, - "RootDeviceName":{ - "shape":"String", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "locationName":"virtualizationType" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "locationName":"hypervisor" - } - } - }, - "ImageAttribute":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "LaunchPermissions":{ - "shape":"LaunchPermissionList", - "locationName":"launchPermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "KernelId":{ - "shape":"AttributeValue", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "locationName":"ramdisk" - }, - "Description":{ - "shape":"AttributeValue", - "locationName":"description" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - } - } - }, - "ImageAttributeName":{ - "type":"string", - "enum":[ - "description", - "kernel", - "ramdisk", - "launchPermission", - "productCodes", - "blockDeviceMapping", - "sriovNetSupport" - ] - }, - "ImageDiskContainer":{ - "type":"structure", - "members":{ - "Description":{"shape":"String"}, - "Format":{"shape":"String"}, - "Url":{"shape":"String"}, - "UserBucket":{"shape":"UserBucket"}, - "DeviceName":{"shape":"String"}, - "SnapshotId":{"shape":"String"} - } - }, - "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"}, - "DiskContainers":{ - "shape":"ImageDiskContainerList", - "locationName":"DiskContainer" - }, - "LicenseType":{"shape":"String"}, - "Hypervisor":{"shape":"String"}, - "Architecture":{"shape":"String"}, - "Platform":{"shape":"String"}, - "ClientData":{"shape":"ClientData"}, - "ClientToken":{"shape":"String"}, - "RoleName":{"shape":"String"} - } - }, - "ImportImageResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "Architecture":{ - "shape":"String", - "locationName":"architecture" - }, - "LicenseType":{ - "shape":"String", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "ImportImageTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "Architecture":{ - "shape":"String", - "locationName":"architecture" - }, - "LicenseType":{ - "shape":"String", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "ImportImageTaskList":{ - "type":"list", - "member":{ - "shape":"ImportImageTask", - "locationName":"item" - } - }, - "ImportInstanceLaunchSpecification":{ - "type":"structure", - "members":{ - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "GroupNames":{ - "shape":"SecurityGroupStringList", - "locationName":"GroupName" - }, - "GroupIds":{ - "shape":"SecurityGroupIdStringList", - "locationName":"GroupId" - }, - "AdditionalInfo":{ - "shape":"String", - "locationName":"additionalInfo" - }, - "UserData":{ - "shape":"UserData", - "locationName":"userData" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"Placement", - "locationName":"placement" - }, - "Monitoring":{ - "shape":"Boolean", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"ShutdownBehavior", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - } - } - }, - "ImportInstanceRequest":{ - "type":"structure", - "required":["Platform"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "LaunchSpecification":{ - "shape":"ImportInstanceLaunchSpecification", - "locationName":"launchSpecification" - }, - "DiskImages":{ - "shape":"DiskImageList", - "locationName":"diskImage" - }, - "Platform":{ - "shape":"PlatformValues", - "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", - "locationName":"platform" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportInstanceVolumeDetailItem":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "Image", - "Volume", - "Status" - ], - "members":{ - "BytesConverted":{ - "shape":"Long", - "locationName":"bytesConverted" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Image":{ - "shape":"DiskImageDescription", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "locationName":"volume" - }, - "Status":{ - "shape":"String", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportInstanceVolumeDetailSet":{ - "type":"list", - "member":{ - "shape":"ImportInstanceVolumeDetailItem", - "locationName":"item" - } - }, - "ImportKeyPairRequest":{ - "type":"structure", - "required":[ - "KeyName", - "PublicKeyMaterial" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "PublicKeyMaterial":{ - "shape":"Blob", - "locationName":"publicKeyMaterial" - } - } - }, - "ImportKeyPairResult":{ - "type":"structure", - "members":{ - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "KeyFingerprint":{ - "shape":"String", - "locationName":"keyFingerprint" - } - } - }, - "ImportSnapshotRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "Description":{"shape":"String"}, - "DiskContainer":{"shape":"SnapshotDiskContainer"}, - "ClientData":{"shape":"ClientData"}, - "ClientToken":{"shape":"String"}, - "RoleName":{"shape":"String"} - } - }, - "ImportSnapshotResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportSnapshotTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "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", - "locationName":"availabilityZone" - }, - "Image":{ - "shape":"DiskImageDetail", - "locationName":"image" - }, - "Description":{ - "shape":"String", - "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", - "locationName":"bytesConverted" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Image":{ - "shape":"DiskImageDescription", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "locationName":"volume" - } - } - }, - "Instance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "State":{ - "shape":"InstanceState", - "locationName":"instanceState" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "PublicDnsName":{ - "shape":"String", - "locationName":"dnsName" - }, - "StateTransitionReason":{ - "shape":"String", - "locationName":"reason" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "AmiLaunchIndex":{ - "shape":"Integer", - "locationName":"amiLaunchIndex" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "LaunchTime":{ - "shape":"DateTime", - "locationName":"launchTime" - }, - "Placement":{ - "shape":"Placement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "locationName":"platform" - }, - "Monitoring":{ - "shape":"Monitoring", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PublicIpAddress":{ - "shape":"String", - "locationName":"ipAddress" - }, - "StateReason":{ - "shape":"StateReason", - "locationName":"stateReason" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "RootDeviceType":{ - "shape":"DeviceType", - "locationName":"rootDeviceType" - }, - "RootDeviceName":{ - "shape":"String", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "locationName":"virtualizationType" - }, - "InstanceLifecycle":{ - "shape":"InstanceLifecycleType", - "locationName":"instanceLifecycle" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "locationName":"sourceDestCheck" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "locationName":"hypervisor" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceList", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfile", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"String", - "locationName":"sriovNetSupport" - } - } - }, - "InstanceAttribute":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"AttributeValue", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"AttributeValue", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"AttributeValue", - "locationName":"userData" - }, - "DisableApiTermination":{ - "shape":"AttributeBooleanValue", - "locationName":"disableApiTermination" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"AttributeValue", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "RootDeviceName":{ - "shape":"AttributeValue", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "EbsOptimized":{ - "shape":"AttributeBooleanValue", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - } - } - }, - "InstanceAttributeName":{ - "type":"string", - "enum":[ - "instanceType", - "kernel", - "ramdisk", - "userData", - "disableApiTermination", - "instanceInitiatedShutdownBehavior", - "rootDeviceName", - "blockDeviceMapping", - "productCodes", - "sourceDestCheck", - "groupSet", - "ebsOptimized", - "sriovNetSupport" - ] - }, - "InstanceBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDevice", - "locationName":"ebs" - } - } - }, - "InstanceBlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMapping", - "locationName":"item" - } - }, - "InstanceBlockDeviceMappingSpecification":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDeviceSpecification", - "locationName":"ebs" - }, - "VirtualName":{ - "shape":"String", - "locationName":"virtualName" - }, - "NoDevice":{ - "shape":"String", - "locationName":"noDevice" - } - } - }, - "InstanceBlockDeviceMappingSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMappingSpecification", - "locationName":"item" - } - }, - "InstanceCapacity":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "AvailableCapacity":{ - "shape":"Integer", - "locationName":"availableCapacity" - }, - "TotalCapacity":{ - "shape":"Integer", - "locationName":"totalCapacity" - } - } - }, - "InstanceCount":{ - "type":"structure", - "members":{ - "State":{ - "shape":"ListingState", - "locationName":"state" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - } - } - }, - "InstanceCountList":{ - "type":"list", - "member":{ - "shape":"InstanceCount", - "locationName":"item" - } - }, - "InstanceExportDetails":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "locationName":"targetEnvironment" - } - } - }, - "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", - "locationName":"instanceId" - }, - "Monitoring":{ - "shape":"Monitoring", - "locationName":"monitoring" - } - } - }, - "InstanceMonitoringList":{ - "type":"list", - "member":{ - "shape":"InstanceMonitoring", - "locationName":"item" - } - }, - "InstanceNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Status":{ - "shape":"NetworkInterfaceStatus", - "locationName":"status" - }, - "MacAddress":{ - "shape":"String", - "locationName":"macAddress" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Attachment":{ - "shape":"InstanceNetworkInterfaceAttachment", - "locationName":"attachment" - }, - "Association":{ - "shape":"InstanceNetworkInterfaceAssociation", - "locationName":"association" - }, - "PrivateIpAddresses":{ - "shape":"InstancePrivateIpAddressList", - "locationName":"privateIpAddressesSet" - } - } - }, - "InstanceNetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "PublicDnsName":{ - "shape":"String", - "locationName":"publicDnsName" - }, - "IpOwnerId":{ - "shape":"String", - "locationName":"ipOwnerId" - } - } - }, - "InstanceNetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "InstanceNetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterface", - "locationName":"item" - } - }, - "InstanceNetworkInterfaceSpecification":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "locationName":"privateIpAddressesSet", - "queryName":"PrivateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "locationName":"associatePublicIpAddress" - } - } - }, - "InstanceNetworkInterfaceSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterfaceSpecification", - "locationName":"item" - } - }, - "InstancePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "locationName":"primary" - }, - "Association":{ - "shape":"InstanceNetworkInterfaceAssociation", - "locationName":"association" - } - } - }, - "InstancePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"InstancePrivateIpAddress", - "locationName":"item" - } - }, - "InstanceState":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"Integer", - "locationName":"code" - }, - "Name":{ - "shape":"InstanceStateName", - "locationName":"name" - } - } - }, - "InstanceStateChange":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "CurrentState":{ - "shape":"InstanceState", - "locationName":"currentState" - }, - "PreviousState":{ - "shape":"InstanceState", - "locationName":"previousState" - } - } - }, - "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", - "locationName":"instanceId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Events":{ - "shape":"InstanceStatusEventList", - "locationName":"eventsSet" - }, - "InstanceState":{ - "shape":"InstanceState", - "locationName":"instanceState" - }, - "SystemStatus":{ - "shape":"InstanceStatusSummary", - "locationName":"systemStatus" - }, - "InstanceStatus":{ - "shape":"InstanceStatusSummary", - "locationName":"instanceStatus" - } - } - }, - "InstanceStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"StatusName", - "locationName":"name" - }, - "Status":{ - "shape":"StatusType", - "locationName":"status" - }, - "ImpairedSince":{ - "shape":"DateTime", - "locationName":"impairedSince" - } - } - }, - "InstanceStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusDetails", - "locationName":"item" - } - }, - "InstanceStatusEvent":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"EventCode", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "NotBefore":{ - "shape":"DateTime", - "locationName":"notBefore" - }, - "NotAfter":{ - "shape":"DateTime", - "locationName":"notAfter" - } - } - }, - "InstanceStatusEventList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusEvent", - "locationName":"item" - } - }, - "InstanceStatusList":{ - "type":"list", - "member":{ - "shape":"InstanceStatus", - "locationName":"item" - } - }, - "InstanceStatusSummary":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"SummaryStatus", - "locationName":"status" - }, - "Details":{ - "shape":"InstanceStatusDetailsList", - "locationName":"details" - } - } - }, - "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", - "locationName":"internetGatewayId" - }, - "Attachments":{ - "shape":"InternetGatewayAttachmentList", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "InternetGatewayAttachment":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "State":{ - "shape":"AttachmentStatus", - "locationName":"state" - } - } - }, - "InternetGatewayAttachmentList":{ - "type":"list", - "member":{ - "shape":"InternetGatewayAttachment", - "locationName":"item" - } - }, - "InternetGatewayList":{ - "type":"list", - "member":{ - "shape":"InternetGateway", - "locationName":"item" - } - }, - "IpPermission":{ - "type":"structure", - "members":{ - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairList", - "locationName":"groups" - }, - "IpRanges":{ - "shape":"IpRangeList", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "shape":"PrefixListIdList", - "locationName":"prefixListIds" - } - } - }, - "IpPermissionList":{ - "type":"list", - "member":{ - "shape":"IpPermission", - "locationName":"item" - } - }, - "IpRange":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"String", - "locationName":"cidrIp" - } - } - }, - "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", - "locationName":"keyName" - }, - "KeyFingerprint":{ - "shape":"String", - "locationName":"keyFingerprint" - }, - "KeyMaterial":{ - "shape":"String", - "locationName":"keyMaterial" - } - } - }, - "KeyPairInfo":{ - "type":"structure", - "members":{ - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "KeyFingerprint":{ - "shape":"String", - "locationName":"keyFingerprint" - } - } - }, - "KeyPairList":{ - "type":"list", - "member":{ - "shape":"KeyPairInfo", - "locationName":"item" - } - }, - "LaunchPermission":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "locationName":"userId" - }, - "Group":{ - "shape":"PermissionGroup", - "locationName":"group" - } - } - }, - "LaunchPermissionList":{ - "type":"list", - "member":{ - "shape":"LaunchPermission", - "locationName":"item" - } - }, - "LaunchPermissionModifications":{ - "type":"structure", - "members":{ - "Add":{"shape":"LaunchPermissionList"}, - "Remove":{"shape":"LaunchPermissionList"} - } - }, - "LaunchSpecification":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "UserData":{ - "shape":"String", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - } - } - }, - "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", - "locationName":"hostId" - }, - "AutoPlacement":{ - "shape":"AutoPlacement", - "locationName":"autoPlacement" - } - } - }, - "ModifyHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "locationName":"unsuccessful" - } - } - }, - "ModifyIdFormatRequest":{ - "type":"structure", - "required":[ - "Resource", - "UseLongIds" - ], - "members":{ - "Resource":{"shape":"String"}, - "UseLongIds":{"shape":"Boolean"} - } - }, - "ModifyImageAttributeRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"}, - "Attribute":{"shape":"String"}, - "OperationType":{"shape":"OperationType"}, - "UserIds":{ - "shape":"UserIdStringList", - "locationName":"UserId" - }, - "UserGroups":{ - "shape":"UserGroupStringList", - "locationName":"UserGroup" - }, - "ProductCodes":{ - "shape":"ProductCodeStringList", - "locationName":"ProductCode" - }, - "Value":{"shape":"String"}, - "LaunchPermission":{"shape":"LaunchPermissionModifications"}, - "Description":{"shape":"AttributeValue"} - } - }, - "ModifyInstanceAttributeRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "locationName":"attribute" - }, - "Value":{ - "shape":"String", - "locationName":"value" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingSpecificationList", - "locationName":"blockDeviceMapping" - }, - "SourceDestCheck":{"shape":"AttributeBooleanValue"}, - "DisableApiTermination":{ - "shape":"AttributeBooleanValue", - "locationName":"disableApiTermination" - }, - "InstanceType":{ - "shape":"AttributeValue", - "locationName":"instanceType" - }, - "Kernel":{ - "shape":"AttributeValue", - "locationName":"kernel" - }, - "Ramdisk":{ - "shape":"AttributeValue", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"BlobAttributeValue", - "locationName":"userData" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"AttributeValue", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "Groups":{ - "shape":"GroupIdStringList", - "locationName":"GroupId" - }, - "EbsOptimized":{ - "shape":"AttributeBooleanValue", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - } - } - }, - "ModifyInstancePlacementRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Tenancy":{ - "shape":"HostTenancy", - "locationName":"tenancy" - }, - "Affinity":{ - "shape":"Affinity", - "locationName":"affinity" - }, - "HostId":{ - "shape":"String", - "locationName":"hostId" - } - } - }, - "ModifyInstancePlacementResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "ModifyNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "Description":{ - "shape":"AttributeValue", - "locationName":"description" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachmentChanges", - "locationName":"attachment" - } - } - }, - "ModifyReservedInstancesRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesIds", - "TargetConfigurations" - ], - "members":{ - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "ReservedInstancesIds":{ - "shape":"ReservedInstancesIdStringList", - "locationName":"ReservedInstancesId" - }, - "TargetConfigurations":{ - "shape":"ReservedInstancesConfigurationList", - "locationName":"ReservedInstancesConfigurationSetItemType" - } - } - }, - "ModifyReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "locationName":"reservedInstancesModificationId" - } - } - }, - "ModifySnapshotAttributeRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"}, - "Attribute":{"shape":"SnapshotAttributeName"}, - "OperationType":{"shape":"OperationType"}, - "UserIds":{ - "shape":"UserIdStringList", - "locationName":"UserId" - }, - "GroupNames":{ - "shape":"GroupNameStringList", - "locationName":"UserGroup" - }, - "CreateVolumePermission":{"shape":"CreateVolumePermissionModifications"} - } - }, - "ModifySpotFleetRequestRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "TargetCapacity":{ - "shape":"Integer", - "locationName":"targetCapacity" - }, - "ExcessCapacityTerminationPolicy":{ - "shape":"ExcessCapacityTerminationPolicy", - "locationName":"excessCapacityTerminationPolicy" - } - } - }, - "ModifySpotFleetRequestResponse":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "ModifySubnetAttributeRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "MapPublicIpOnLaunch":{"shape":"AttributeBooleanValue"} - } - }, - "ModifyVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "AutoEnableIO":{"shape":"AttributeBooleanValue"} - } - }, - "ModifyVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "EnableDnsSupport":{"shape":"AttributeBooleanValue"}, - "EnableDnsHostnames":{"shape":"AttributeBooleanValue"} - } - }, - "ModifyVpcEndpointRequest":{ - "type":"structure", - "required":["VpcEndpointId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcEndpointId":{"shape":"String"}, - "ResetPolicy":{"shape":"Boolean"}, - "PolicyDocument":{"shape":"String"}, - "AddRouteTableIds":{ - "shape":"ValueStringList", - "locationName":"AddRouteTableId" - }, - "RemoveRouteTableIds":{ - "shape":"ValueStringList", - "locationName":"RemoveRouteTableId" - } - } - }, - "ModifyVpcEndpointResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "ModifyVpcPeeringConnectionOptionsRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcPeeringConnectionId":{"shape":"String"}, - "RequesterPeeringConnectionOptions":{"shape":"PeeringConnectionOptionsRequest"}, - "AccepterPeeringConnectionOptions":{"shape":"PeeringConnectionOptionsRequest"} - } - }, - "ModifyVpcPeeringConnectionOptionsResult":{ - "type":"structure", - "members":{ - "RequesterPeeringConnectionOptions":{ - "shape":"PeeringConnectionOptions", - "locationName":"requesterPeeringConnectionOptions" - }, - "AccepterPeeringConnectionOptions":{ - "shape":"PeeringConnectionOptions", - "locationName":"accepterPeeringConnectionOptions" - } - } - }, - "MonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "MonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "locationName":"instancesSet" - } - } - }, - "Monitoring":{ - "type":"structure", - "members":{ - "State":{ - "shape":"MonitoringState", - "locationName":"state" - } - } - }, - "MonitoringState":{ - "type":"string", - "enum":[ - "disabled", - "disabling", - "enabled", - "pending" - ] - }, - "MoveAddressToVpcRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - } - } - }, - "MoveAddressToVpcResult":{ - "type":"structure", - "members":{ - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "Status":{ - "shape":"Status", - "locationName":"status" - } - } - }, - "MoveStatus":{ - "type":"string", - "enum":[ - "movingToVpc", - "restoringToClassic" - ] - }, - "MovingAddressStatus":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "MoveStatus":{ - "shape":"MoveStatus", - "locationName":"moveStatus" - } - } - }, - "MovingAddressStatusSet":{ - "type":"list", - "member":{ - "shape":"MovingAddressStatus", - "locationName":"item" - } - }, - "NatGateway":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - }, - "DeleteTime":{ - "shape":"DateTime", - "locationName":"deleteTime" - }, - "NatGatewayAddresses":{ - "shape":"NatGatewayAddressList", - "locationName":"natGatewayAddressSet" - }, - "State":{ - "shape":"NatGatewayState", - "locationName":"state" - }, - "FailureCode":{ - "shape":"String", - "locationName":"failureCode" - }, - "FailureMessage":{ - "shape":"String", - "locationName":"failureMessage" - }, - "ProvisionedBandwidth":{ - "shape":"ProvisionedBandwidth", - "locationName":"provisionedBandwidth" - } - } - }, - "NatGatewayAddress":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "PrivateIp":{ - "shape":"String", - "locationName":"privateIp" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - } - } - }, - "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", - "locationName":"networkAclId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "IsDefault":{ - "shape":"Boolean", - "locationName":"default" - }, - "Entries":{ - "shape":"NetworkAclEntryList", - "locationName":"entrySet" - }, - "Associations":{ - "shape":"NetworkAclAssociationList", - "locationName":"associationSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "NetworkAclAssociation":{ - "type":"structure", - "members":{ - "NetworkAclAssociationId":{ - "shape":"String", - "locationName":"networkAclAssociationId" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - } - } - }, - "NetworkAclAssociationList":{ - "type":"list", - "member":{ - "shape":"NetworkAclAssociation", - "locationName":"item" - } - }, - "NetworkAclEntry":{ - "type":"structure", - "members":{ - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "locationName":"ruleAction" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "locationName":"icmpTypeCode" - }, - "PortRange":{ - "shape":"PortRange", - "locationName":"portRange" - } - } - }, - "NetworkAclEntryList":{ - "type":"list", - "member":{ - "shape":"NetworkAclEntry", - "locationName":"item" - } - }, - "NetworkAclList":{ - "type":"list", - "member":{ - "shape":"NetworkAcl", - "locationName":"item" - } - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "locationName":"requesterId" - }, - "RequesterManaged":{ - "shape":"Boolean", - "locationName":"requesterManaged" - }, - "Status":{ - "shape":"NetworkInterfaceStatus", - "locationName":"status" - }, - "MacAddress":{ - "shape":"String", - "locationName":"macAddress" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "locationName":"attachment" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "locationName":"association" - }, - "TagSet":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "PrivateIpAddresses":{ - "shape":"NetworkInterfacePrivateIpAddressList", - "locationName":"privateIpAddressesSet" - }, - "InterfaceType":{ - "shape":"NetworkInterfaceType", - "locationName":"interfaceType" - } - } - }, - "NetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "PublicDnsName":{ - "shape":"String", - "locationName":"publicDnsName" - }, - "IpOwnerId":{ - "shape":"String", - "locationName":"ipOwnerId" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "NetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "locationName":"instanceOwnerId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "NetworkInterfaceAttachmentChanges":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "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", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "locationName":"primary" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "locationName":"association" - } - } - }, - "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", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - } - } - }, - "PeeringConnectionOptionsRequest":{ - "type":"structure", - "required":[ - "AllowEgressFromLocalClassicLinkToRemoteVpc", - "AllowEgressFromLocalVpcToRemoteClassicLink" - ], - "members":{ - "AllowEgressFromLocalClassicLinkToRemoteVpc":{"shape":"Boolean"}, - "AllowEgressFromLocalVpcToRemoteClassicLink":{"shape":"Boolean"} - } - }, - "PermissionGroup":{ - "type":"string", - "enum":["all"] - }, - "Placement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Tenancy":{ - "shape":"Tenancy", - "locationName":"tenancy" - }, - "HostId":{ - "shape":"String", - "locationName":"hostId" - }, - "Affinity":{ - "shape":"String", - "locationName":"affinity" - } - } - }, - "PlacementGroup":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "locationName":"strategy" - }, - "State":{ - "shape":"PlacementGroupState", - "locationName":"state" - } - } - }, - "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", - "locationName":"from" - }, - "To":{ - "shape":"Integer", - "locationName":"to" - } - } - }, - "PrefixList":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "locationName":"prefixListId" - }, - "PrefixListName":{ - "shape":"String", - "locationName":"prefixListName" - }, - "Cidrs":{ - "shape":"ValueStringList", - "locationName":"cidrSet" - } - } - }, - "PrefixListId":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "locationName":"prefixListId" - } - } - }, - "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", - "locationName":"term" - }, - "Price":{ - "shape":"Double", - "locationName":"price" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "Active":{ - "shape":"Boolean", - "locationName":"active" - } - } - }, - "PriceScheduleList":{ - "type":"list", - "member":{ - "shape":"PriceSchedule", - "locationName":"item" - } - }, - "PriceScheduleSpecification":{ - "type":"structure", - "members":{ - "Term":{ - "shape":"Long", - "locationName":"term" - }, - "Price":{ - "shape":"Double", - "locationName":"price" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - } - } - }, - "PriceScheduleSpecificationList":{ - "type":"list", - "member":{ - "shape":"PriceScheduleSpecification", - "locationName":"item" - } - }, - "PricingDetail":{ - "type":"structure", - "members":{ - "Price":{ - "shape":"Double", - "locationName":"price" - }, - "Count":{ - "shape":"Integer", - "locationName":"count" - } - } - }, - "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", - "locationName":"privateIpAddress" - }, - "Primary":{ - "shape":"Boolean", - "locationName":"primary" - } - } - }, - "PrivateIpAddressSpecificationList":{ - "type":"list", - "member":{ - "shape":"PrivateIpAddressSpecification", - "locationName":"item" - } - }, - "PrivateIpAddressStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PrivateIpAddress" - } - }, - "ProductCode":{ - "type":"structure", - "members":{ - "ProductCodeId":{ - "shape":"String", - "locationName":"productCode" - }, - "ProductCodeType":{ - "shape":"ProductCodeValues", - "locationName":"type" - } - } - }, - "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", - "locationName":"gatewayId" - } - } - }, - "PropagatingVgwList":{ - "type":"list", - "member":{ - "shape":"PropagatingVgw", - "locationName":"item" - } - }, - "ProvisionedBandwidth":{ - "type":"structure", - "members":{ - "Provisioned":{ - "shape":"String", - "locationName":"provisioned" - }, - "Requested":{ - "shape":"String", - "locationName":"requested" - }, - "RequestTime":{ - "shape":"DateTime", - "locationName":"requestTime" - }, - "ProvisionTime":{ - "shape":"DateTime", - "locationName":"provisionTime" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "PublicIpStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PublicIp" - } - }, - "PurchaseRequest":{ - "type":"structure", - "required":[ - "PurchaseToken", - "InstanceCount" - ], - "members":{ - "PurchaseToken":{"shape":"String"}, - "InstanceCount":{"shape":"Integer"} - } - }, - "PurchaseRequestSet":{ - "type":"list", - "member":{ - "shape":"PurchaseRequest", - "locationName":"PurchaseRequest" - }, - "min":1 - }, - "PurchaseReservedInstancesOfferingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesOfferingId", - "InstanceCount" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingId":{"shape":"String"}, - "InstanceCount":{"shape":"Integer"}, - "LimitPrice":{ - "shape":"ReservedInstanceLimitPrice", - "locationName":"limitPrice" - } - } - }, - "PurchaseReservedInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - } - } - }, - "PurchaseScheduledInstancesRequest":{ - "type":"structure", - "required":["PurchaseRequests"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "ClientToken":{ - "shape":"String", - "idempotencyToken":true - }, - "PurchaseRequests":{ - "shape":"PurchaseRequestSet", - "locationName":"PurchaseRequest" - } - } - }, - "PurchaseScheduledInstancesResult":{ - "type":"structure", - "members":{ - "ScheduledInstanceSet":{ - "shape":"PurchasedScheduledInstanceSet", - "locationName":"scheduledInstanceSet" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"RecurringChargeFrequency", - "locationName":"frequency" - }, - "Amount":{ - "shape":"Double", - "locationName":"amount" - } - } - }, - "RecurringChargeFrequency":{ - "type":"string", - "enum":["Hourly"] - }, - "RecurringChargesList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"item" - } - }, - "Region":{ - "type":"structure", - "members":{ - "RegionName":{ - "shape":"String", - "locationName":"regionName" - }, - "Endpoint":{ - "shape":"String", - "locationName":"regionEndpoint" - } - } - }, - "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"}, - "Name":{ - "shape":"String", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "RootDeviceName":{ - "shape":"String", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "locationName":"BlockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"String", - "locationName":"virtualizationType" - }, - "SriovNetSupport":{ - "shape":"String", - "locationName":"sriovNetSupport" - } - } - }, - "RegisterImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - } - } - }, - "RejectVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "RejectVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "ReleaseAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIp":{"shape":"String"}, - "AllocationId":{"shape":"String"} - } - }, - "ReleaseHostsRequest":{ - "type":"structure", - "required":["HostIds"], - "members":{ - "HostIds":{ - "shape":"RequestHostIdList", - "locationName":"hostId" - } - } - }, - "ReleaseHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "locationName":"unsuccessful" - } - } - }, - "ReplaceNetworkAclAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "NetworkAclId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - } - } - }, - "ReplaceNetworkAclAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "locationName":"newAssociationId" - } - } - }, - "ReplaceNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "locationName":"ruleAction" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "locationName":"portRange" - } - } - }, - "ReplaceRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - }, - "GatewayId":{ - "shape":"String", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - } - } - }, - "ReplaceRouteTableAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - } - } - }, - "ReplaceRouteTableAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "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", - "locationName":"instanceId" - }, - "Status":{ - "shape":"ReportStatusType", - "locationName":"status" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "EndTime":{ - "shape":"DateTime", - "locationName":"endTime" - }, - "ReasonCodes":{ - "shape":"ReasonCodesList", - "locationName":"reasonCode" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ReportStatusType":{ - "type":"string", - "enum":[ - "ok", - "impaired" - ] - }, - "RequestHostIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "RequestSpotFleetRequest":{ - "type":"structure", - "required":["SpotFleetRequestConfig"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "locationName":"spotFleetRequestConfig" - } - } - }, - "RequestSpotFleetResponse":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - } - } - }, - "RequestSpotInstancesRequest":{ - "type":"structure", - "required":["SpotPrice"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "Type":{ - "shape":"SpotInstanceType", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "locationName":"validUntil" - }, - "LaunchGroup":{ - "shape":"String", - "locationName":"launchGroup" - }, - "AvailabilityZoneGroup":{ - "shape":"String", - "locationName":"availabilityZoneGroup" - }, - "BlockDurationMinutes":{ - "shape":"Integer", - "locationName":"blockDurationMinutes" - }, - "LaunchSpecification":{"shape":"RequestSpotLaunchSpecification"} - } - }, - "RequestSpotInstancesResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "locationName":"spotInstanceRequestSet" - } - } - }, - "RequestSpotLaunchSpecification":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "SecurityGroups":{ - "shape":"ValueStringList", - "locationName":"SecurityGroup" - }, - "UserData":{ - "shape":"String", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"NetworkInterface" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "locationName":"SecurityGroupId" - } - } - }, - "Reservation":{ - "type":"structure", - "members":{ - "ReservationId":{ - "shape":"String", - "locationName":"reservationId" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "locationName":"requesterId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Instances":{ - "shape":"InstanceList", - "locationName":"instancesSet" - } - } - }, - "ReservationList":{ - "type":"list", - "member":{ - "shape":"Reservation", - "locationName":"item" - } - }, - "ReservedInstanceLimitPrice":{ - "type":"structure", - "members":{ - "Amount":{ - "shape":"Double", - "locationName":"amount" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - } - } - }, - "ReservedInstanceState":{ - "type":"string", - "enum":[ - "payment-pending", - "active", - "payment-failed", - "retired" - ] - }, - "ReservedInstances":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Start":{ - "shape":"DateTime", - "locationName":"start" - }, - "End":{ - "shape":"DateTime", - "locationName":"end" - }, - "Duration":{ - "shape":"Long", - "locationName":"duration" - }, - "UsagePrice":{ - "shape":"Float", - "locationName":"usagePrice" - }, - "FixedPrice":{ - "shape":"Float", - "locationName":"fixedPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "State":{ - "shape":"ReservedInstanceState", - "locationName":"state" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - }, - "RecurringCharges":{ - "shape":"RecurringChargesList", - "locationName":"recurringCharges" - } - } - }, - "ReservedInstancesConfiguration":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - } - } - }, - "ReservedInstancesConfigurationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"item" - } - }, - "ReservedInstancesId":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - } - } - }, - "ReservedInstancesIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesId" - } - }, - "ReservedInstancesList":{ - "type":"list", - "member":{ - "shape":"ReservedInstances", - "locationName":"item" - } - }, - "ReservedInstancesListing":{ - "type":"structure", - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "locationName":"reservedInstancesListingId" - }, - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "CreateDate":{ - "shape":"DateTime", - "locationName":"createDate" - }, - "UpdateDate":{ - "shape":"DateTime", - "locationName":"updateDate" - }, - "Status":{ - "shape":"ListingStatus", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "InstanceCounts":{ - "shape":"InstanceCountList", - "locationName":"instanceCounts" - }, - "PriceSchedules":{ - "shape":"PriceScheduleList", - "locationName":"priceSchedules" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "ReservedInstancesListingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesListing", - "locationName":"item" - } - }, - "ReservedInstancesModification":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "locationName":"reservedInstancesModificationId" - }, - "ReservedInstancesIds":{ - "shape":"ReservedIntancesIds", - "locationName":"reservedInstancesSet" - }, - "ModificationResults":{ - "shape":"ReservedInstancesModificationResultList", - "locationName":"modificationResultSet" - }, - "CreateDate":{ - "shape":"DateTime", - "locationName":"createDate" - }, - "UpdateDate":{ - "shape":"DateTime", - "locationName":"updateDate" - }, - "EffectiveDate":{ - "shape":"DateTime", - "locationName":"effectiveDate" - }, - "Status":{ - "shape":"String", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "ReservedInstancesModificationIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesModificationId" - } - }, - "ReservedInstancesModificationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModification", - "locationName":"item" - } - }, - "ReservedInstancesModificationResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "TargetConfiguration":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"targetConfiguration" - } - } - }, - "ReservedInstancesModificationResultList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModificationResult", - "locationName":"item" - } - }, - "ReservedInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferingId":{ - "shape":"String", - "locationName":"reservedInstancesOfferingId" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Duration":{ - "shape":"Long", - "locationName":"duration" - }, - "UsagePrice":{ - "shape":"Float", - "locationName":"usagePrice" - }, - "FixedPrice":{ - "shape":"Float", - "locationName":"fixedPrice" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - }, - "RecurringCharges":{ - "shape":"RecurringChargesList", - "locationName":"recurringCharges" - }, - "Marketplace":{ - "shape":"Boolean", - "locationName":"marketplace" - }, - "PricingDetails":{ - "shape":"PricingDetailsList", - "locationName":"pricingDetailsSet" - } - } - }, - "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"}, - "Attribute":{"shape":"ResetImageAttributeName"} - } - }, - "ResetInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "locationName":"attribute" - } - } - }, - "ResetNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "SourceDestCheck":{ - "shape":"String", - "locationName":"sourceDestCheck" - } - } - }, - "ResetSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"}, - "Attribute":{"shape":"SnapshotAttributeName"} - } - }, - "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", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - } - } - }, - "RestoreAddressToClassicResult":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"Status", - "locationName":"status" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - } - } - }, - "RevokeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "locationName":"cidrIp" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "locationName":"ipPermissions" - } - } - }, - "RevokeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "GroupId":{"shape":"String"}, - "SourceSecurityGroupName":{"shape":"String"}, - "SourceSecurityGroupOwnerId":{"shape":"String"}, - "IpProtocol":{"shape":"String"}, - "FromPort":{"shape":"Integer"}, - "ToPort":{"shape":"Integer"}, - "CidrIp":{"shape":"String"}, - "IpPermissions":{"shape":"IpPermissionList"} - } - }, - "Route":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - }, - "DestinationPrefixListId":{ - "shape":"String", - "locationName":"destinationPrefixListId" - }, - "GatewayId":{ - "shape":"String", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "locationName":"instanceOwnerId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - }, - "State":{ - "shape":"RouteState", - "locationName":"state" - }, - "Origin":{ - "shape":"RouteOrigin", - "locationName":"origin" - } - } - }, - "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", - "locationName":"routeTableId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Routes":{ - "shape":"RouteList", - "locationName":"routeSet" - }, - "Associations":{ - "shape":"RouteTableAssociationList", - "locationName":"associationSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "PropagatingVgws":{ - "shape":"PropagatingVgwList", - "locationName":"propagatingVgwSet" - } - } - }, - "RouteTableAssociation":{ - "type":"structure", - "members":{ - "RouteTableAssociationId":{ - "shape":"String", - "locationName":"routeTableAssociationId" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "Main":{ - "shape":"Boolean", - "locationName":"main" - } - } - }, - "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", - "locationName":"enabled" - } - } - }, - "RunInstancesRequest":{ - "type":"structure", - "required":[ - "ImageId", - "MinCount", - "MaxCount" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"}, - "MinCount":{"shape":"Integer"}, - "MaxCount":{"shape":"Integer"}, - "KeyName":{"shape":"String"}, - "SecurityGroups":{ - "shape":"SecurityGroupStringList", - "locationName":"SecurityGroup" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "UserData":{"shape":"String"}, - "InstanceType":{"shape":"InstanceType"}, - "Placement":{"shape":"Placement"}, - "KernelId":{"shape":"String"}, - "RamdiskId":{"shape":"String"}, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "locationName":"BlockDeviceMapping" - }, - "Monitoring":{"shape":"RunInstancesMonitoringEnabled"}, - "SubnetId":{"shape":"String"}, - "DisableApiTermination":{ - "shape":"Boolean", - "locationName":"disableApiTermination" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"ShutdownBehavior", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "AdditionalInfo":{ - "shape":"String", - "locationName":"additionalInfo" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"networkInterface" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - } - } - }, - "RunScheduledInstancesRequest":{ - "type":"structure", - "required":[ - "ScheduledInstanceId", - "LaunchSpecification" - ], - "members":{ - "DryRun":{"shape":"Boolean"}, - "ClientToken":{ - "shape":"String", - "idempotencyToken":true - }, - "InstanceCount":{"shape":"Integer"}, - "ScheduledInstanceId":{"shape":"String"}, - "LaunchSpecification":{"shape":"ScheduledInstancesLaunchSpecification"} - } - }, - "RunScheduledInstancesResult":{ - "type":"structure", - "members":{ - "InstanceIdSet":{ - "shape":"InstanceIdSet", - "locationName":"instanceIdSet" - } - } - }, - "S3Storage":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"String", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "locationName":"prefix" - }, - "AWSAccessKeyId":{"shape":"String"}, - "UploadPolicy":{ - "shape":"Blob", - "locationName":"uploadPolicy" - }, - "UploadPolicySignature":{ - "shape":"String", - "locationName":"uploadPolicySignature" - } - } - }, - "ScheduledInstance":{ - "type":"structure", - "members":{ - "ScheduledInstanceId":{ - "shape":"String", - "locationName":"scheduledInstanceId" - }, - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "NetworkPlatform":{ - "shape":"String", - "locationName":"networkPlatform" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "SlotDurationInHours":{ - "shape":"Integer", - "locationName":"slotDurationInHours" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrence", - "locationName":"recurrence" - }, - "PreviousSlotEndTime":{ - "shape":"DateTime", - "locationName":"previousSlotEndTime" - }, - "NextSlotStartTime":{ - "shape":"DateTime", - "locationName":"nextSlotStartTime" - }, - "HourlyPrice":{ - "shape":"String", - "locationName":"hourlyPrice" - }, - "TotalScheduledInstanceHours":{ - "shape":"Integer", - "locationName":"totalScheduledInstanceHours" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "TermStartDate":{ - "shape":"DateTime", - "locationName":"termStartDate" - }, - "TermEndDate":{ - "shape":"DateTime", - "locationName":"termEndDate" - }, - "CreateDate":{ - "shape":"DateTime", - "locationName":"createDate" - } - } - }, - "ScheduledInstanceAvailability":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "NetworkPlatform":{ - "shape":"String", - "locationName":"networkPlatform" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "PurchaseToken":{ - "shape":"String", - "locationName":"purchaseToken" - }, - "SlotDurationInHours":{ - "shape":"Integer", - "locationName":"slotDurationInHours" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrence", - "locationName":"recurrence" - }, - "FirstSlotStartTime":{ - "shape":"DateTime", - "locationName":"firstSlotStartTime" - }, - "HourlyPrice":{ - "shape":"String", - "locationName":"hourlyPrice" - }, - "TotalScheduledInstanceHours":{ - "shape":"Integer", - "locationName":"totalScheduledInstanceHours" - }, - "AvailableInstanceCount":{ - "shape":"Integer", - "locationName":"availableInstanceCount" - }, - "MinTermDurationInDays":{ - "shape":"Integer", - "locationName":"minTermDurationInDays" - }, - "MaxTermDurationInDays":{ - "shape":"Integer", - "locationName":"maxTermDurationInDays" - } - } - }, - "ScheduledInstanceAvailabilitySet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstanceAvailability", - "locationName":"item" - } - }, - "ScheduledInstanceIdRequestSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ScheduledInstanceId" - } - }, - "ScheduledInstanceRecurrence":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"String", - "locationName":"frequency" - }, - "Interval":{ - "shape":"Integer", - "locationName":"interval" - }, - "OccurrenceDaySet":{ - "shape":"OccurrenceDaySet", - "locationName":"occurrenceDaySet" - }, - "OccurrenceRelativeToEnd":{ - "shape":"Boolean", - "locationName":"occurrenceRelativeToEnd" - }, - "OccurrenceUnit":{ - "shape":"String", - "locationName":"occurrenceUnit" - } - } - }, - "ScheduledInstanceRecurrenceRequest":{ - "type":"structure", - "members":{ - "Frequency":{"shape":"String"}, - "Interval":{"shape":"Integer"}, - "OccurrenceDays":{ - "shape":"OccurrenceDayRequestSet", - "locationName":"OccurrenceDay" - }, - "OccurrenceRelativeToEnd":{"shape":"Boolean"}, - "OccurrenceUnit":{"shape":"String"} - } - }, - "ScheduledInstanceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstance", - "locationName":"item" - } - }, - "ScheduledInstancesBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{"shape":"String"}, - "NoDevice":{"shape":"String"}, - "VirtualName":{"shape":"String"}, - "Ebs":{"shape":"ScheduledInstancesEbs"} - } - }, - "ScheduledInstancesBlockDeviceMappingSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesBlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "ScheduledInstancesEbs":{ - "type":"structure", - "members":{ - "SnapshotId":{"shape":"String"}, - "VolumeSize":{"shape":"Integer"}, - "DeleteOnTermination":{"shape":"Boolean"}, - "VolumeType":{"shape":"String"}, - "Iops":{"shape":"Integer"}, - "Encrypted":{"shape":"Boolean"} - } - }, - "ScheduledInstancesIamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{"shape":"String"}, - "Name":{"shape":"String"} - } - }, - "ScheduledInstancesLaunchSpecification":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "ImageId":{"shape":"String"}, - "KeyName":{"shape":"String"}, - "SecurityGroupIds":{ - "shape":"ScheduledInstancesSecurityGroupIdSet", - "locationName":"SecurityGroupId" - }, - "UserData":{"shape":"String"}, - "Placement":{"shape":"ScheduledInstancesPlacement"}, - "KernelId":{"shape":"String"}, - "InstanceType":{"shape":"String"}, - "RamdiskId":{"shape":"String"}, - "BlockDeviceMappings":{ - "shape":"ScheduledInstancesBlockDeviceMappingSet", - "locationName":"BlockDeviceMapping" - }, - "Monitoring":{"shape":"ScheduledInstancesMonitoring"}, - "SubnetId":{"shape":"String"}, - "NetworkInterfaces":{ - "shape":"ScheduledInstancesNetworkInterfaceSet", - "locationName":"NetworkInterface" - }, - "IamInstanceProfile":{"shape":"ScheduledInstancesIamInstanceProfile"}, - "EbsOptimized":{"shape":"Boolean"} - } - }, - "ScheduledInstancesMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{"shape":"Boolean"} - } - }, - "ScheduledInstancesNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{"shape":"String"}, - "DeviceIndex":{"shape":"Integer"}, - "SubnetId":{"shape":"String"}, - "Description":{"shape":"String"}, - "PrivateIpAddress":{"shape":"String"}, - "PrivateIpAddressConfigs":{ - "shape":"PrivateIpAddressConfigSet", - "locationName":"PrivateIpAddressConfig" - }, - "SecondaryPrivateIpAddressCount":{"shape":"Integer"}, - "AssociatePublicIpAddress":{"shape":"Boolean"}, - "Groups":{ - "shape":"ScheduledInstancesSecurityGroupIdSet", - "locationName":"Group" - }, - "DeleteOnTermination":{"shape":"Boolean"} - } - }, - "ScheduledInstancesNetworkInterfaceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesNetworkInterface", - "locationName":"NetworkInterface" - } - }, - "ScheduledInstancesPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{"shape":"String"}, - "GroupName":{"shape":"String"} - } - }, - "ScheduledInstancesPrivateIpAddressConfig":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{"shape":"String"}, - "Primary":{"shape":"Boolean"} - } - }, - "ScheduledInstancesSecurityGroupIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "Description":{ - "shape":"String", - "locationName":"groupDescription" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "locationName":"ipPermissions" - }, - "IpPermissionsEgress":{ - "shape":"IpPermissionList", - "locationName":"ipPermissionsEgress" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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", - "locationName":"groupId" - }, - "ReferencingVpcId":{ - "shape":"String", - "locationName":"referencingVpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "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"}, - "LatestTime":{"shape":"DateTime"} - } - }, - "SlotStartTimeRangeRequest":{ - "type":"structure", - "members":{ - "EarliestTime":{"shape":"DateTime"}, - "LatestTime":{"shape":"DateTime"} - } - }, - "Snapshot":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "State":{ - "shape":"SnapshotState", - "locationName":"status" - }, - "StateMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "VolumeSize":{ - "shape":"Integer", - "locationName":"volumeSize" - }, - "OwnerAlias":{ - "shape":"String", - "locationName":"ownerAlias" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - }, - "DataEncryptionKeyId":{ - "shape":"String", - "locationName":"dataEncryptionKeyId" - } - } - }, - "SnapshotAttributeName":{ - "type":"string", - "enum":[ - "productCodes", - "createVolumePermission" - ] - }, - "SnapshotDetail":{ - "type":"structure", - "members":{ - "DiskImageSize":{ - "shape":"Double", - "locationName":"diskImageSize" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Format":{ - "shape":"String", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "locationName":"userBucket" - }, - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "SnapshotDetailList":{ - "type":"list", - "member":{ - "shape":"SnapshotDetail", - "locationName":"item" - } - }, - "SnapshotDiskContainer":{ - "type":"structure", - "members":{ - "Description":{"shape":"String"}, - "Format":{"shape":"String"}, - "Url":{"shape":"String"}, - "UserBucket":{"shape":"UserBucket"} - } - }, - "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", - "locationName":"diskImageSize" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Format":{ - "shape":"String", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "locationName":"userBucket" - }, - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "SpotDatafeedSubscription":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Bucket":{ - "shape":"String", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "locationName":"prefix" - }, - "State":{ - "shape":"DatafeedSubscriptionState", - "locationName":"state" - }, - "Fault":{ - "shape":"SpotInstanceStateFault", - "locationName":"fault" - } - } - }, - "SpotFleetLaunchSpecification":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "UserData":{ - "shape":"String", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "Monitoring":{ - "shape":"SpotFleetMonitoring", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "WeightedCapacity":{ - "shape":"Double", - "locationName":"weightedCapacity" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - } - } - }, - "SpotFleetMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "locationName":"enabled" - } - } - }, - "SpotFleetRequestConfig":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "SpotFleetRequestState", - "SpotFleetRequestConfig", - "CreateTime" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "SpotFleetRequestState":{ - "shape":"BatchState", - "locationName":"spotFleetRequestState" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "locationName":"spotFleetRequestConfig" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - } - } - }, - "SpotFleetRequestConfigData":{ - "type":"structure", - "required":[ - "SpotPrice", - "TargetCapacity", - "IamFleetRole", - "LaunchSpecifications" - ], - "members":{ - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "TargetCapacity":{ - "shape":"Integer", - "locationName":"targetCapacity" - }, - "ValidFrom":{ - "shape":"DateTime", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "locationName":"validUntil" - }, - "TerminateInstancesWithExpiration":{ - "shape":"Boolean", - "locationName":"terminateInstancesWithExpiration" - }, - "IamFleetRole":{ - "shape":"String", - "locationName":"iamFleetRole" - }, - "LaunchSpecifications":{ - "shape":"LaunchSpecsList", - "locationName":"launchSpecifications" - }, - "ExcessCapacityTerminationPolicy":{ - "shape":"ExcessCapacityTerminationPolicy", - "locationName":"excessCapacityTerminationPolicy" - }, - "AllocationStrategy":{ - "shape":"AllocationStrategy", - "locationName":"allocationStrategy" - }, - "FulfilledCapacity":{ - "shape":"Double", - "locationName":"fulfilledCapacity" - }, - "Type":{ - "shape":"FleetType", - "locationName":"type" - } - } - }, - "SpotFleetRequestConfigSet":{ - "type":"list", - "member":{ - "shape":"SpotFleetRequestConfig", - "locationName":"item" - } - }, - "SpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "Type":{ - "shape":"SpotInstanceType", - "locationName":"type" - }, - "State":{ - "shape":"SpotInstanceState", - "locationName":"state" - }, - "Fault":{ - "shape":"SpotInstanceStateFault", - "locationName":"fault" - }, - "Status":{ - "shape":"SpotInstanceStatus", - "locationName":"status" - }, - "ValidFrom":{ - "shape":"DateTime", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "locationName":"validUntil" - }, - "LaunchGroup":{ - "shape":"String", - "locationName":"launchGroup" - }, - "AvailabilityZoneGroup":{ - "shape":"String", - "locationName":"availabilityZoneGroup" - }, - "LaunchSpecification":{ - "shape":"LaunchSpecification", - "locationName":"launchSpecification" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "BlockDurationMinutes":{ - "shape":"Integer", - "locationName":"blockDurationMinutes" - }, - "ActualBlockHourlyPrice":{ - "shape":"String", - "locationName":"actualBlockHourlyPrice" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "LaunchedAvailabilityZone":{ - "shape":"String", - "locationName":"launchedAvailabilityZone" - } - } - }, - "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", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "SpotInstanceStatus":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "UpdateTime":{ - "shape":"DateTime", - "locationName":"updateTime" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "SpotInstanceType":{ - "type":"string", - "enum":[ - "one-time", - "persistent" - ] - }, - "SpotPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - } - } - }, - "SpotPrice":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "Timestamp":{ - "shape":"DateTime", - "locationName":"timestamp" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - } - } - }, - "SpotPriceHistoryList":{ - "type":"list", - "member":{ - "shape":"SpotPrice", - "locationName":"item" - } - }, - "StaleIpPermission":{ - "type":"structure", - "members":{ - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "IpRanges":{ - "shape":"IpRanges", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "shape":"PrefixListIdSet", - "locationName":"prefixListIds" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairSet", - "locationName":"groups" - } - } - }, - "StaleIpPermissionSet":{ - "type":"list", - "member":{ - "shape":"StaleIpPermission", - "locationName":"item" - } - }, - "StaleSecurityGroup":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "StaleIpPermissions":{ - "shape":"StaleIpPermissionSet", - "locationName":"staleIpPermissions" - }, - "StaleIpPermissionsEgress":{ - "shape":"StaleIpPermissionSet", - "locationName":"staleIpPermissionsEgress" - } - } - }, - "StaleSecurityGroupSet":{ - "type":"list", - "member":{ - "shape":"StaleSecurityGroup", - "locationName":"item" - } - }, - "StartInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "AdditionalInfo":{ - "shape":"String", - "locationName":"additionalInfo" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "StartInstancesResult":{ - "type":"structure", - "members":{ - "StartingInstances":{ - "shape":"InstanceStateChangeList", - "locationName":"instancesSet" - } - } - }, - "State":{ - "type":"string", - "enum":[ - "Pending", - "Available", - "Deleting", - "Deleted" - ] - }, - "StateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Force":{ - "shape":"Boolean", - "locationName":"force" - } - } - }, - "StopInstancesResult":{ - "type":"structure", - "members":{ - "StoppingInstances":{ - "shape":"InstanceStateChangeList", - "locationName":"instancesSet" - } - } - }, - "Storage":{ - "type":"structure", - "members":{ - "S3":{"shape":"S3Storage"} - } - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "State":{ - "shape":"SubnetState", - "locationName":"state" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "AvailableIpAddressCount":{ - "shape":"Integer", - "locationName":"availableIpAddressCount" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "DefaultForAz":{ - "shape":"Boolean", - "locationName":"defaultForAz" - }, - "MapPublicIpOnLaunch":{ - "shape":"Boolean", - "locationName":"mapPublicIpOnLaunch" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "locationName":"value" - } - } - }, - "TagDescription":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"String", - "locationName":"resourceId" - }, - "ResourceType":{ - "shape":"ResourceType", - "locationName":"resourceType" - }, - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "locationName":"value" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "TerminateInstancesResult":{ - "type":"structure", - "members":{ - "TerminatingInstances":{ - "shape":"InstanceStateChangeList", - "locationName":"instancesSet" - } - } - }, - "TrafficType":{ - "type":"string", - "enum":[ - "ACCEPT", - "REJECT", - "ALL" - ] - }, - "UnassignPrivateIpAddressesRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "PrivateIpAddresses" - ], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "locationName":"privateIpAddress" - } - } - }, - "UnmonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "UnmonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "locationName":"instancesSet" - } - } - }, - "UnsuccessfulItem":{ - "type":"structure", - "required":["Error"], - "members":{ - "Error":{ - "shape":"UnsuccessfulItemError", - "locationName":"error" - }, - "ResourceId":{ - "shape":"String", - "locationName":"resourceId" - } - } - }, - "UnsuccessfulItemError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "UnsuccessfulItemList":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UnsuccessfulItemSet":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UserBucket":{ - "type":"structure", - "members":{ - "S3Bucket":{"shape":"String"}, - "S3Key":{"shape":"String"} - } - }, - "UserBucketDetails":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "locationName":"s3Key" - } - } - }, - "UserData":{ - "type":"structure", - "members":{ - "Data":{ - "shape":"String", - "locationName":"data" - } - } - }, - "UserGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserGroup" - } - }, - "UserIdGroupPair":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "locationName":"userId" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - }, - "PeeringStatus":{ - "shape":"String", - "locationName":"peeringStatus" - } - } - }, - "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", - "locationName":"outsideIpAddress" - }, - "Status":{ - "shape":"TelemetryStatus", - "locationName":"status" - }, - "LastStatusChange":{ - "shape":"DateTime", - "locationName":"lastStatusChange" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "AcceptedRouteCount":{ - "shape":"Integer", - "locationName":"acceptedRouteCount" - } - } - }, - "VgwTelemetryList":{ - "type":"list", - "member":{ - "shape":"VgwTelemetry", - "locationName":"item" - } - }, - "VirtualizationType":{ - "type":"string", - "enum":[ - "hvm", - "paravirtual" - ] - }, - "Volume":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "Size":{ - "shape":"Integer", - "locationName":"size" - }, - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "State":{ - "shape":"VolumeState", - "locationName":"status" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - }, - "Attachments":{ - "shape":"VolumeAttachmentList", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "VolumeType":{ - "shape":"VolumeType", - "locationName":"volumeType" - }, - "Iops":{ - "shape":"Integer", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - } - } - }, - "VolumeAttachment":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Device":{ - "shape":"String", - "locationName":"device" - }, - "State":{ - "shape":"VolumeAttachmentState", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "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", - "locationName":"size" - } - } - }, - "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", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "EventType":{ - "shape":"String", - "locationName":"eventType" - }, - "EventId":{ - "shape":"String", - "locationName":"eventId" - } - } - }, - "VolumeStatusActionsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusAction", - "locationName":"item" - } - }, - "VolumeStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"VolumeStatusName", - "locationName":"name" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "VolumeStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusDetails", - "locationName":"item" - } - }, - "VolumeStatusEvent":{ - "type":"structure", - "members":{ - "EventType":{ - "shape":"String", - "locationName":"eventType" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "NotBefore":{ - "shape":"DateTime", - "locationName":"notBefore" - }, - "NotAfter":{ - "shape":"DateTime", - "locationName":"notAfter" - }, - "EventId":{ - "shape":"String", - "locationName":"eventId" - } - } - }, - "VolumeStatusEventsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusEvent", - "locationName":"item" - } - }, - "VolumeStatusInfo":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"VolumeStatusInfoStatus", - "locationName":"status" - }, - "Details":{ - "shape":"VolumeStatusDetailsList", - "locationName":"details" - } - } - }, - "VolumeStatusInfoStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data" - ] - }, - "VolumeStatusItem":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "VolumeStatus":{ - "shape":"VolumeStatusInfo", - "locationName":"volumeStatus" - }, - "Events":{ - "shape":"VolumeStatusEventsList", - "locationName":"eventsSet" - }, - "Actions":{ - "shape":"VolumeStatusActionsList", - "locationName":"actionsSet" - } - } - }, - "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", - "locationName":"vpcId" - }, - "State":{ - "shape":"VpcState", - "locationName":"state" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "DhcpOptionsId":{ - "shape":"String", - "locationName":"dhcpOptionsId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "IsDefault":{ - "shape":"Boolean", - "locationName":"isDefault" - } - } - }, - "VpcAttachment":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "State":{ - "shape":"AttachmentStatus", - "locationName":"state" - } - } - }, - "VpcAttachmentList":{ - "type":"list", - "member":{ - "shape":"VpcAttachment", - "locationName":"item" - } - }, - "VpcAttributeName":{ - "type":"string", - "enum":[ - "enableDnsSupport", - "enableDnsHostnames" - ] - }, - "VpcClassicLink":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "ClassicLinkEnabled":{ - "shape":"Boolean", - "locationName":"classicLinkEnabled" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "VpcClassicLinkIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcClassicLinkList":{ - "type":"list", - "member":{ - "shape":"VpcClassicLink", - "locationName":"item" - } - }, - "VpcEndpoint":{ - "type":"structure", - "members":{ - "VpcEndpointId":{ - "shape":"String", - "locationName":"vpcEndpointId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "ServiceName":{ - "shape":"String", - "locationName":"serviceName" - }, - "State":{ - "shape":"State", - "locationName":"state" - }, - "PolicyDocument":{ - "shape":"String", - "locationName":"policyDocument" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "locationName":"routeTableIdSet" - }, - "CreationTimestamp":{ - "shape":"DateTime", - "locationName":"creationTimestamp" - } - } - }, - "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", - "locationName":"accepterVpcInfo" - }, - "ExpirationTime":{ - "shape":"DateTime", - "locationName":"expirationTime" - }, - "RequesterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "locationName":"requesterVpcInfo" - }, - "Status":{ - "shape":"VpcPeeringConnectionStateReason", - "locationName":"status" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "VpcPeeringConnectionList":{ - "type":"list", - "member":{ - "shape":"VpcPeeringConnection", - "locationName":"item" - } - }, - "VpcPeeringConnectionOptionsDescription":{ - "type":"structure", - "members":{ - "AllowEgressFromLocalClassicLinkToRemoteVpc":{ - "shape":"Boolean", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - } - } - }, - "VpcPeeringConnectionStateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"VpcPeeringConnectionStateReasonCode", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "VpcPeeringConnectionStateReasonCode":{ - "type":"string", - "enum":[ - "initiating-request", - "pending-acceptance", - "active", - "deleted", - "rejected", - "failed", - "expired", - "provisioning", - "deleting" - ] - }, - "VpcPeeringConnectionVpcInfo":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "PeeringOptions":{ - "shape":"VpcPeeringConnectionOptionsDescription", - "locationName":"peeringOptions" - } - } - }, - "VpcState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "VpnConnection":{ - "type":"structure", - "members":{ - "VpnConnectionId":{ - "shape":"String", - "locationName":"vpnConnectionId" - }, - "State":{ - "shape":"VpnState", - "locationName":"state" - }, - "CustomerGatewayConfiguration":{ - "shape":"String", - "locationName":"customerGatewayConfiguration" - }, - "Type":{ - "shape":"GatewayType", - "locationName":"type" - }, - "CustomerGatewayId":{ - "shape":"String", - "locationName":"customerGatewayId" - }, - "VpnGatewayId":{ - "shape":"String", - "locationName":"vpnGatewayId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "VgwTelemetry":{ - "shape":"VgwTelemetryList", - "locationName":"vgwTelemetry" - }, - "Options":{ - "shape":"VpnConnectionOptions", - "locationName":"options" - }, - "Routes":{ - "shape":"VpnStaticRouteList", - "locationName":"routes" - } - } - }, - "VpnConnectionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnConnectionId" - } - }, - "VpnConnectionList":{ - "type":"list", - "member":{ - "shape":"VpnConnection", - "locationName":"item" - } - }, - "VpnConnectionOptions":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "locationName":"staticRoutesOnly" - } - } - }, - "VpnConnectionOptionsSpecification":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "locationName":"staticRoutesOnly" - } - } - }, - "VpnGateway":{ - "type":"structure", - "members":{ - "VpnGatewayId":{ - "shape":"String", - "locationName":"vpnGatewayId" - }, - "State":{ - "shape":"VpnState", - "locationName":"state" - }, - "Type":{ - "shape":"GatewayType", - "locationName":"type" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "VpcAttachments":{ - "shape":"VpcAttachmentList", - "locationName":"attachments" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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", - "locationName":"destinationCidrBlock" - }, - "Source":{ - "shape":"VpnStaticRouteSource", - "locationName":"source" - }, - "State":{ - "shape":"VpnState", - "locationName":"state" - } - } - }, - "VpnStaticRouteList":{ - "type":"list", - "member":{ - "shape":"VpnStaticRoute", - "locationName":"item" - } - }, - "VpnStaticRouteSource":{ - "type":"string", - "enum":["Static"] - }, - "ZoneNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ZoneName" - } - } - } -} diff --git a/models/apis/ec2/2015-10-01/docs-2.json b/models/apis/ec2/2015-10-01/docs-2.json deleted file mode 100644 index 8d9b760b92c..00000000000 --- a/models/apis/ec2/2015-10-01/docs-2.json +++ /dev/null @@ -1,6382 +0,0 @@ -{ - "version": "2.0", - "service": "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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Attaches a network interface to an instance.

", - "AttachVolume": "

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:

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": "

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": "

[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": "

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": "

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": "

Cancels a bundling operation for an instance store-backed Windows instance.

", - "CancelConversionTask": "

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": "

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": "

Cancels an in-process import virtual machine or import snapshot task.

", - "CancelReservedInstancesListing": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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.

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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:

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

", - "DeleteDhcpOptions": "

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": "

Deletes one or more flow logs.

", - "DeleteInternetGateway": "

Deletes the specified Internet gateway. You must detach the Internet gateway from the VPC before you can delete it.

", - "DeleteKeyPair": "

Deletes the specified key pair, by removing the public key from Amazon EC2.

", - "DeleteNatGateway": "

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": "

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": "

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

", - "DeleteNetworkInterface": "

Deletes the specified network interface. You must detach the network interface before you can delete it.

", - "DeletePlacementGroup": "

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": "

Deletes the specified route from the specified route table.

", - "DeleteRouteTable": "

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": "

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": "

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": "

Deletes the data feed for Spot instances.

", - "DeleteSubnet": "

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

", - "DeleteTags": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Describes attributes of your AWS account. The following are the supported account attributes:

", - "DescribeAddresses": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Describes one or more of your export tasks.

", - "DescribeFlowLogs": "

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": "

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": "

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": "

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

", - "DescribeImages": "

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": "

Displays details about an import virtual machine or import snapshot tasks that are already created.

", - "DescribeImportSnapshotTasks": "

Describes your import snapshot tasks.

", - "DescribeInstanceAttribute": "

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": "

Describes the status of one or more instances. By default, only running instances are described, unless specified otherwise.

Instance status includes the following components:

", - "DescribeInstances": "

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": "

Describes one or more of your Internet gateways.

", - "DescribeKeyPairs": "

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": "

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": "

Describes one or more of the your NAT gateways.

", - "DescribeNetworkAcls": "

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": "

Describes a network interface attribute. You can specify only one attribute at a time.

", - "DescribeNetworkInterfaces": "

Describes one or more of your network interfaces.

", - "DescribePlacementGroups": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Describes one or more of your Scheduled Instances.

", - "DescribeSecurityGroupReferences": "

[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": "

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": "

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": "

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:

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": "

Describes the data feed for Spot instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

", - "DescribeSpotFleetInstances": "

Describes the running instances for the specified Spot fleet.

", - "DescribeSpotFleetRequestHistory": "

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": "

Describes your Spot fleet requests.

", - "DescribeSpotInstanceRequests": "

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": "

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": "

[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": "

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": "

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": "

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": "

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": "

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": "

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

", - "DescribeVpcClassicLink": "

Describes the ClassicLink status of one or more VPCs.

", - "DescribeVpcClassicLinkDnsSupport": "

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": "

Describes all supported AWS services that can be specified when creating a VPC endpoint.

", - "DescribeVpcEndpoints": "

Describes one or more of your VPC endpoints.

", - "DescribeVpcPeeringConnections": "

Describes one or more of your VPC peering connections.

", - "DescribeVpcs": "

Describes one or more of your VPCs.

", - "DescribeVpnConnections": "

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": "

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": "

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": "

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": "

Detaches a network interface from an instance.

", - "DetachVolume": "

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": "

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": "

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

", - "DisableVpcClassicLink": "

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

", - "DisableVpcClassicLinkDnsSupport": "

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": "

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": "

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": "

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

", - "EnableVolumeIO": "

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

", - "EnableVpcClassicLink": "

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": "

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": "

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": "

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is base64-encoded.

", - "GetPasswordData": "

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": "

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI).

", - "ImportInstance": "

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": "

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": "

Imports a disk into an EBS snapshot.

", - "ImportVolume": "

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": "

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": "

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": "

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": "

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": "

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": "

Modifies the specified network interface attribute. You can specify only one attribute at a time.

", - "ModifyReservedInstances": "

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": "

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": "

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": "

Modifies a subnet attribute.

", - "ModifyVolumeAttribute": "

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": "

Modifies the specified attribute of the specified VPC.

", - "ModifyVpcEndpoint": "

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": "

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

", - "ResetInstanceAttribute": "

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": "

Resets a network interface attribute. You can specify only one attribute at a time.

", - "ResetSnapshotAttribute": "

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": "

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": "

[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": "

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": "

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": "

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": "

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": "

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": "

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": "

Unassigns one or more secondary private IP addresses from a network interface.

", - "UnmonitorInstances": "

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": { - "base": "

Contains the parameters for AcceptVpcPeeringConnection.

", - "refs": { - } - }, - "AcceptVpcPeeringConnectionResult": { - "base": "

Contains the output of AcceptVpcPeeringConnection.

", - "refs": { - } - }, - "AccountAttribute": { - "base": "

Describes an account attribute.

", - "refs": { - "AccountAttributeList$member": null - } - }, - "AccountAttributeList": { - "base": null, - "refs": { - "DescribeAccountAttributesResult$AccountAttributes": "

Information about one or more account attributes.

" - } - }, - "AccountAttributeName": { - "base": null, - "refs": { - "AccountAttributeNameStringList$member": null - } - }, - "AccountAttributeNameStringList": { - "base": null, - "refs": { - "DescribeAccountAttributesRequest$AttributeNames": "

One or more account attribute names.

" - } - }, - "AccountAttributeValue": { - "base": "

Describes a value of an account attribute.

", - "refs": { - "AccountAttributeValueList$member": null - } - }, - "AccountAttributeValueList": { - "base": null, - "refs": { - "AccountAttribute$AttributeValues": "

One or more values for the account attribute.

" - } - }, - "ActiveInstance": { - "base": "

Describes a running instance in a Spot fleet.

", - "refs": { - "ActiveInstanceSet$member": null - } - }, - "ActiveInstanceSet": { - "base": null, - "refs": { - "DescribeSpotFleetInstancesResponse$ActiveInstances": "

The running instances. Note that this list is refreshed periodically and might be out of date.

" - } - }, - "Address": { - "base": "

Describes an Elastic IP address.

", - "refs": { - "AddressList$member": null - } - }, - "AddressList": { - "base": null, - "refs": { - "DescribeAddressesResult$Addresses": "

Information about one or more Elastic IP addresses.

" - } - }, - "Affinity": { - "base": null, - "refs": { - "ModifyInstancePlacementRequest$Affinity": "

The new affinity setting for the instance.

" - } - }, - "AllocateAddressRequest": { - "base": "

Contains the parameters for AllocateAddress.

", - "refs": { - } - }, - "AllocateAddressResult": { - "base": "

Contains the output of AllocateAddress.

", - "refs": { - } - }, - "AllocateHostsRequest": { - "base": "

Contains the parameters for AllocateHosts.

", - "refs": { - } - }, - "AllocateHostsResult": { - "base": "

Contains the output of AllocateHosts.

", - "refs": { - } - }, - "AllocationIdList": { - "base": null, - "refs": { - "DescribeAddressesRequest$AllocationIds": "

[EC2-VPC] One or more allocation IDs.

Default: Describes all your Elastic IP addresses.

" - } - }, - "AllocationState": { - "base": null, - "refs": { - "Host$State": "

The Dedicated host's state.

" - } - }, - "AllocationStrategy": { - "base": null, - "refs": { - "SpotFleetRequestConfigData$AllocationStrategy": "

Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The default is lowestPrice.

" - } - }, - "ArchitectureValues": { - "base": null, - "refs": { - "Image$Architecture": "

The architecture of the image.

", - "ImportInstanceLaunchSpecification$Architecture": "

The architecture of the instance.

", - "Instance$Architecture": "

The architecture of the image.

", - "RegisterImageRequest$Architecture": "

The architecture of the AMI.

Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture specified in the manifest file.

" - } - }, - "AssignPrivateIpAddressesRequest": { - "base": "

Contains the parameters for AssignPrivateIpAddresses.

", - "refs": { - } - }, - "AssociateAddressRequest": { - "base": "

Contains the parameters for AssociateAddress.

", - "refs": { - } - }, - "AssociateAddressResult": { - "base": "

Contains the output of AssociateAddress.

", - "refs": { - } - }, - "AssociateDhcpOptionsRequest": { - "base": "

Contains the parameters for AssociateDhcpOptions.

", - "refs": { - } - }, - "AssociateRouteTableRequest": { - "base": "

Contains the parameters for AssociateRouteTable.

", - "refs": { - } - }, - "AssociateRouteTableResult": { - "base": "

Contains the output of AssociateRouteTable.

", - "refs": { - } - }, - "AttachClassicLinkVpcRequest": { - "base": "

Contains the parameters for AttachClassicLinkVpc.

", - "refs": { - } - }, - "AttachClassicLinkVpcResult": { - "base": "

Contains the output of AttachClassicLinkVpc.

", - "refs": { - } - }, - "AttachInternetGatewayRequest": { - "base": "

Contains the parameters for AttachInternetGateway.

", - "refs": { - } - }, - "AttachNetworkInterfaceRequest": { - "base": "

Contains the parameters for AttachNetworkInterface.

", - "refs": { - } - }, - "AttachNetworkInterfaceResult": { - "base": "

Contains the output of AttachNetworkInterface.

", - "refs": { - } - }, - "AttachVolumeRequest": { - "base": "

Contains the parameters for AttachVolume.

", - "refs": { - } - }, - "AttachVpnGatewayRequest": { - "base": "

Contains the parameters for AttachVpnGateway.

", - "refs": { - } - }, - "AttachVpnGatewayResult": { - "base": "

Contains the output of AttachVpnGateway.

", - "refs": { - } - }, - "AttachmentStatus": { - "base": null, - "refs": { - "EbsInstanceBlockDevice$Status": "

The attachment state.

", - "InstanceNetworkInterfaceAttachment$Status": "

The attachment state.

", - "InternetGatewayAttachment$State": "

The current state of the attachment.

", - "NetworkInterfaceAttachment$Status": "

The attachment state.

", - "VpcAttachment$State": "

The current state of the attachment.

" - } - }, - "AttributeBooleanValue": { - "base": "

The value to use when a resource attribute accepts a Boolean value.

", - "refs": { - "DescribeNetworkInterfaceAttributeResult$SourceDestCheck": "

Indicates whether source/destination checking is enabled.

", - "DescribeVolumeAttributeResult$AutoEnableIO": "

The state of autoEnableIO attribute.

", - "DescribeVpcAttributeResult$EnableDnsSupport": "

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.

", - "DescribeVpcAttributeResult$EnableDnsHostnames": "

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.

", - "InstanceAttribute$DisableApiTermination": "

If the value is true, you can't terminate the instance through the Amazon EC2 console, CLI, or API; otherwise, you can.

", - "InstanceAttribute$EbsOptimized": "

Indicates whether the instance is optimized for EBS I/O.

", - "InstanceAttribute$SourceDestCheck": "

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.

", - "ModifyInstanceAttributeRequest$SourceDestCheck": "

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.

", - "ModifyInstanceAttributeRequest$DisableApiTermination": "

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.

", - "ModifyInstanceAttributeRequest$EbsOptimized": "

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.

", - "ModifyNetworkInterfaceAttributeRequest$SourceDestCheck": "

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.

", - "ModifySubnetAttributeRequest$MapPublicIpOnLaunch": "

Specify true to indicate that instances launched into the specified subnet should be assigned public IP address.

", - "ModifyVolumeAttributeRequest$AutoEnableIO": "

Indicates whether the volume should be auto-enabled for I/O operations.

", - "ModifyVpcAttributeRequest$EnableDnsSupport": "

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.

", - "ModifyVpcAttributeRequest$EnableDnsHostnames": "

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.

" - } - }, - "AttributeValue": { - "base": "

The value to use for a resource attribute.

", - "refs": { - "DescribeNetworkInterfaceAttributeResult$Description": "

The description of the network interface.

", - "DhcpConfigurationValueList$member": null, - "ImageAttribute$KernelId": "

The kernel ID.

", - "ImageAttribute$RamdiskId": "

The RAM disk ID.

", - "ImageAttribute$Description": "

A description for the AMI.

", - "ImageAttribute$SriovNetSupport": null, - "InstanceAttribute$InstanceType": "

The instance type.

", - "InstanceAttribute$KernelId": "

The kernel ID.

", - "InstanceAttribute$RamdiskId": "

The RAM disk ID.

", - "InstanceAttribute$UserData": "

The Base64-encoded MIME user data.

", - "InstanceAttribute$InstanceInitiatedShutdownBehavior": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "InstanceAttribute$RootDeviceName": "

The name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "InstanceAttribute$SriovNetSupport": null, - "ModifyImageAttributeRequest$Description": "

A description for the AMI.

", - "ModifyInstanceAttributeRequest$InstanceType": "

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.

", - "ModifyInstanceAttributeRequest$Kernel": "

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.

", - "ModifyInstanceAttributeRequest$Ramdisk": "

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.

", - "ModifyInstanceAttributeRequest$InstanceInitiatedShutdownBehavior": "

Specifies whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "ModifyInstanceAttributeRequest$SriovNetSupport": "

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.

", - "ModifyNetworkInterfaceAttributeRequest$Description": "

A description for the network interface.

" - } - }, - "AuthorizeSecurityGroupEgressRequest": { - "base": "

Contains the parameters for AuthorizeSecurityGroupEgress.

", - "refs": { - } - }, - "AuthorizeSecurityGroupIngressRequest": { - "base": "

Contains the parameters for AuthorizeSecurityGroupIngress.

", - "refs": { - } - }, - "AutoPlacement": { - "base": null, - "refs": { - "AllocateHostsRequest$AutoPlacement": "

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

", - "Host$AutoPlacement": "

Whether auto-placement is on or off.

", - "ModifyHostsRequest$AutoPlacement": "

Specify whether to enable or disable auto-placement.

" - } - }, - "AvailabilityZone": { - "base": "

Describes an Availability Zone.

", - "refs": { - "AvailabilityZoneList$member": null - } - }, - "AvailabilityZoneList": { - "base": null, - "refs": { - "DescribeAvailabilityZonesResult$AvailabilityZones": "

Information about one or more Availability Zones.

" - } - }, - "AvailabilityZoneMessage": { - "base": "

Describes a message about an Availability Zone.

", - "refs": { - "AvailabilityZoneMessageList$member": null - } - }, - "AvailabilityZoneMessageList": { - "base": null, - "refs": { - "AvailabilityZone$Messages": "

Any messages about the Availability Zone.

" - } - }, - "AvailabilityZoneState": { - "base": null, - "refs": { - "AvailabilityZone$State": "

The state of the Availability Zone.

" - } - }, - "AvailableCapacity": { - "base": "

The capacity information for instances launched onto the Dedicated host.

", - "refs": { - "Host$AvailableCapacity": "

The number of new instances that can be launched onto the Dedicated host.

" - } - }, - "AvailableInstanceCapacityList": { - "base": null, - "refs": { - "AvailableCapacity$AvailableInstanceCapacity": "

The total number of instances that the Dedicated host supports.

" - } - }, - "BatchState": { - "base": null, - "refs": { - "CancelSpotFleetRequestsSuccessItem$CurrentSpotFleetRequestState": "

The current state of the Spot fleet request.

", - "CancelSpotFleetRequestsSuccessItem$PreviousSpotFleetRequestState": "

The previous state of the Spot fleet request.

", - "SpotFleetRequestConfig$SpotFleetRequestState": "

The state of the Spot fleet request.

" - } - }, - "Blob": { - "base": null, - "refs": { - "BlobAttributeValue$Value": null, - "ImportKeyPairRequest$PublicKeyMaterial": "

The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

", - "S3Storage$UploadPolicy": "

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.

" - } - }, - "BlobAttributeValue": { - "base": null, - "refs": { - "ModifyInstanceAttributeRequest$UserData": "

Changes the instance's user data to the specified base64-encoded value. For command line tools, base64 encoding is performed for you.

" - } - }, - "BlockDeviceMapping": { - "base": "

Describes a block device mapping.

", - "refs": { - "BlockDeviceMappingList$member": null, - "BlockDeviceMappingRequestList$member": null - } - }, - "BlockDeviceMappingList": { - "base": null, - "refs": { - "Image$BlockDeviceMappings": "

Any block device mapping entries.

", - "ImageAttribute$BlockDeviceMappings": "

One or more block device mapping entries.

", - "LaunchSpecification$BlockDeviceMappings": "

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.

", - "RequestSpotLaunchSpecification$BlockDeviceMappings": "

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.

", - "SpotFleetLaunchSpecification$BlockDeviceMappings": "

One or more block device mapping entries.

" - } - }, - "BlockDeviceMappingRequestList": { - "base": null, - "refs": { - "CreateImageRequest$BlockDeviceMappings": "

Information about one or more block device mappings.

", - "RegisterImageRequest$BlockDeviceMappings": "

One or more block device mapping entries.

", - "RunInstancesRequest$BlockDeviceMappings": "

The block device mapping.

" - } - }, - "Boolean": { - "base": null, - "refs": { - "AcceptVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AllocateAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AssignPrivateIpAddressesRequest$AllowReassignment": "

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.

", - "AssociateAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AssociateAddressRequest$AllowReassociation": "

[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.

", - "AssociateDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AssociateRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachClassicLinkVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachClassicLinkVpcResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "AttachInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachVpnGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttributeBooleanValue$Value": "

Valid values are true or false.

", - "AuthorizeSecurityGroupEgressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AuthorizeSecurityGroupIngressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "BundleInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelBundleTaskRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelConversionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelImportTaskRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelSpotFleetRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelSpotFleetRequestsRequest$TerminateInstances": "

Indicates whether to terminate instances for a Spot fleet request if it is canceled successfully.

", - "CancelSpotInstanceRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ClassicLinkDnsSupport$ClassicLinkDnsSupported": "

Indicates whether ClassicLink DNS support is enabled for the VPC.

", - "ConfirmProductInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ConfirmProductInstanceResult$Return": "

The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance.

", - "CopyImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CopyImageRequest$Encrypted": "

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.

", - "CopySnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CopySnapshotRequest$Encrypted": "

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.

", - "CreateCustomerGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateImageRequest$NoReboot": "

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.

", - "CreateInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateNetworkAclEntryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateNetworkAclEntryRequest$Egress": "

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

", - "CreateNetworkAclRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreatePlacementGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateRouteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateRouteResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "CreateRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSecurityGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSpotDatafeedSubscriptionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSubnetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateTagsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVolumeRequest$Encrypted": "

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.

", - "CreateVpcEndpointRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpnConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpnGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteCustomerGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteNetworkAclEntryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteNetworkAclEntryRequest$Egress": "

Indicates whether the rule is an egress rule.

", - "DeleteNetworkAclRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeletePlacementGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteRouteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSecurityGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSpotDatafeedSubscriptionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSubnetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteTagsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpcEndpointsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpcPeeringConnectionResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DeleteVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpnConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpnGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeregisterImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeAccountAttributesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeAddressesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeAvailabilityZonesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeBundleTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeClassicLinkInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeConversionTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeCustomerGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImagesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImportImageTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImportSnapshotTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInstanceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInstanceStatusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInstanceStatusRequest$IncludeAllInstances": "

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

", - "DescribeInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInternetGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeKeyPairsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeMovingAddressesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeNetworkAclsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeNetworkInterfacesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribePlacementGroupsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribePrefixListsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeRegionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeReservedInstancesOfferingsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeReservedInstancesOfferingsRequest$IncludeMarketplace": "

Include Reserved Instance Marketplace offerings in the response.

", - "DescribeReservedInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeRouteTablesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeScheduledInstanceAvailabilityRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeScheduledInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSecurityGroupReferencesRequest$DryRun": "

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.

", - "DescribeSecurityGroupsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSnapshotAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSnapshotsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotDatafeedSubscriptionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotFleetInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotFleetRequestHistoryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotFleetRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotInstanceRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotPriceHistoryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeStaleSecurityGroupsRequest$DryRun": "

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.

", - "DescribeSubnetsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeTagsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVolumeAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVolumeStatusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVolumesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcEndpointServicesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcEndpointsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcPeeringConnectionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpnConnectionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpnGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachClassicLinkVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachClassicLinkVpcResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DetachInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachNetworkInterfaceRequest$Force": "

Specifies whether to force a detachment.

", - "DetachVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachVolumeRequest$Force": "

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$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DisableVpcClassicLinkDnsSupportResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DisableVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DisableVpcClassicLinkResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DisassociateAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DisassociateRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "EbsBlockDevice$DeleteOnTermination": "

Indicates whether the EBS volume is deleted on instance termination.

", - "EbsBlockDevice$Encrypted": "

Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption.

", - "EbsInstanceBlockDevice$DeleteOnTermination": "

Indicates whether the volume is deleted on instance termination.

", - "EbsInstanceBlockDeviceSpecification$DeleteOnTermination": "

Indicates whether the volume is deleted on instance termination.

", - "EnableVolumeIORequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "EnableVpcClassicLinkDnsSupportResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "EnableVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "EnableVpcClassicLinkResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "GetConsoleOutputRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "GetConsoleScreenshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "GetConsoleScreenshotRequest$WakeUp": "

When set to true, acts as keystroke input and wakes up an instance that's in standby or \"sleep\" mode.

", - "GetPasswordDataRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "IdFormat$UseLongIds": "

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

", - "Image$Public": "

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.

", - "ImportImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportInstanceLaunchSpecification$Monitoring": "

Indicates whether monitoring is enabled.

", - "ImportInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportSnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "Instance$SourceDestCheck": "

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.

", - "Instance$EbsOptimized": "

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.

", - "InstanceNetworkInterface$SourceDestCheck": "

Indicates whether to validate network traffic to or from this network interface.

", - "InstanceNetworkInterfaceAttachment$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "InstanceNetworkInterfaceSpecification$DeleteOnTermination": "

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.

", - "InstanceNetworkInterfaceSpecification$AssociatePublicIpAddress": "

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.

", - "InstancePrivateIpAddress$Primary": "

Indicates whether this IP address is the primary private IP address of the network interface.

", - "LaunchSpecification$EbsOptimized": "

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

", - "ModifyIdFormatRequest$UseLongIds": "

Indicate whether the resource should use longer IDs (17-character IDs).

", - "ModifyImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyInstanceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyInstancePlacementResult$Return": "

Is true if the request succeeds, and an error otherwise.

", - "ModifyNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifySnapshotAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifySpotFleetRequestResponse$Return": "

Is true if the request succeeds, and an error otherwise.

", - "ModifyVolumeAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyVpcEndpointRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyVpcEndpointRequest$ResetPolicy": "

Specify true to reset the policy document to the default policy. The default policy allows access to the service.

", - "ModifyVpcEndpointResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "ModifyVpcPeeringConnectionOptionsRequest$DryRun": "

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.

", - "MonitorInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "MoveAddressToVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "NetworkAcl$IsDefault": "

Indicates whether this is the default network ACL for the VPC.

", - "NetworkAclEntry$Egress": "

Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

", - "NetworkInterface$RequesterManaged": "

Indicates whether the network interface is being managed by AWS.

", - "NetworkInterface$SourceDestCheck": "

Indicates whether traffic to or from the instance is validated.

", - "NetworkInterfaceAttachment$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "NetworkInterfaceAttachmentChanges$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "NetworkInterfacePrivateIpAddress$Primary": "

Indicates whether this IP address is the primary private IP address of the network interface.

", - "PeeringConnectionOptions$AllowEgressFromLocalClassicLinkToRemoteVpc": "

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.

", - "PeeringConnectionOptions$AllowEgressFromLocalVpcToRemoteClassicLink": "

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.

", - "PeeringConnectionOptionsRequest$AllowEgressFromLocalClassicLinkToRemoteVpc": "

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.

", - "PeeringConnectionOptionsRequest$AllowEgressFromLocalVpcToRemoteClassicLink": "

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.

", - "PriceSchedule$Active": "

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.

", - "PrivateIpAddressSpecification$Primary": "

Indicates whether the private IP address is the primary private IP address. Only one IP address can be designated as primary.

", - "PurchaseReservedInstancesOfferingRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "PurchaseScheduledInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RebootInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RegisterImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RejectVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RejectVpcPeeringConnectionResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "ReleaseAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceNetworkAclAssociationRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceNetworkAclEntryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceNetworkAclEntryRequest$Egress": "

Indicates whether to replace the egress rule.

Default: If no value is specified, we replace the ingress rule.

", - "ReplaceRouteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceRouteTableAssociationRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReportInstanceStatusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RequestSpotFleetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RequestSpotInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RequestSpotLaunchSpecification$EbsOptimized": "

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

", - "ReservedInstancesOffering$Marketplace": "

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.

", - "ResetImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ResetInstanceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ResetNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ResetSnapshotAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RestoreAddressToClassicRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RevokeSecurityGroupEgressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RevokeSecurityGroupIngressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RouteTableAssociation$Main": "

Indicates whether this is the main route table.

", - "RunInstancesMonitoringEnabled$Enabled": "

Indicates whether monitoring is enabled for the instance.

", - "RunInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RunInstancesRequest$DisableApiTermination": "

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

", - "RunInstancesRequest$EbsOptimized": "

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

", - "RunScheduledInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ScheduledInstanceRecurrence$OccurrenceRelativeToEnd": "

Indicates whether the occurrence is relative to the end of the specified week or month.

", - "ScheduledInstanceRecurrenceRequest$OccurrenceRelativeToEnd": "

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.

", - "ScheduledInstancesEbs$DeleteOnTermination": "

Indicates whether the volume is deleted on instance termination.

", - "ScheduledInstancesEbs$Encrypted": "

Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

", - "ScheduledInstancesLaunchSpecification$EbsOptimized": "

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

", - "ScheduledInstancesMonitoring$Enabled": "

Indicates whether monitoring is enabled.

", - "ScheduledInstancesNetworkInterface$AssociatePublicIpAddress": "

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.

", - "ScheduledInstancesNetworkInterface$DeleteOnTermination": "

Indicates whether to delete the interface when the instance is terminated.

", - "ScheduledInstancesPrivateIpAddressConfig$Primary": "

Indicates whether this is a primary IP address. Otherwise, this is a secondary IP address.

", - "Snapshot$Encrypted": "

Indicates whether the snapshot is encrypted.

", - "SpotFleetLaunchSpecification$EbsOptimized": "

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

", - "SpotFleetMonitoring$Enabled": "

Enables monitoring for the instance.

Default: false

", - "SpotFleetRequestConfigData$TerminateInstancesWithExpiration": "

Indicates whether running Spot instances should be terminated when the Spot fleet request expires.

", - "StartInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "StopInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "StopInstancesRequest$Force": "

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

", - "Subnet$DefaultForAz": "

Indicates whether this is the default subnet for the Availability Zone.

", - "Subnet$MapPublicIpOnLaunch": "

Indicates whether instances launched in this subnet receive a public IP address.

", - "TerminateInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "UnmonitorInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "Volume$Encrypted": "

Indicates whether the volume will be encrypted.

", - "VolumeAttachment$DeleteOnTermination": "

Indicates whether the EBS volume is deleted on instance termination.

", - "Vpc$IsDefault": "

Indicates whether the VPC is the default VPC.

", - "VpcClassicLink$ClassicLinkEnabled": "

Indicates whether the VPC is enabled for ClassicLink.

", - "VpcPeeringConnectionOptionsDescription$AllowEgressFromLocalClassicLinkToRemoteVpc": "

Indicates whether a local ClassicLink connection can communicate with the peer VPC over the VPC peering connection.

", - "VpcPeeringConnectionOptionsDescription$AllowEgressFromLocalVpcToRemoteClassicLink": "

Indicates whether a local VPC can communicate with a ClassicLink connection in the peer VPC over the VPC peering connection.

", - "VpnConnectionOptions$StaticRoutesOnly": "

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "VpnConnectionOptionsSpecification$StaticRoutesOnly": "

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

" - } - }, - "BundleIdStringList": { - "base": null, - "refs": { - "DescribeBundleTasksRequest$BundleIds": "

One or more bundle task IDs.

Default: Describes all your bundle tasks.

" - } - }, - "BundleInstanceRequest": { - "base": "

Contains the parameters for BundleInstance.

", - "refs": { - } - }, - "BundleInstanceResult": { - "base": "

Contains the output of BundleInstance.

", - "refs": { - } - }, - "BundleTask": { - "base": "

Describes a bundle task.

", - "refs": { - "BundleInstanceResult$BundleTask": "

Information about the bundle task.

", - "BundleTaskList$member": null, - "CancelBundleTaskResult$BundleTask": "

Information about the bundle task.

" - } - }, - "BundleTaskError": { - "base": "

Describes an error for BundleInstance.

", - "refs": { - "BundleTask$BundleTaskError": "

If the task fails, a description of the error.

" - } - }, - "BundleTaskList": { - "base": null, - "refs": { - "DescribeBundleTasksResult$BundleTasks": "

Information about one or more bundle tasks.

" - } - }, - "BundleTaskState": { - "base": null, - "refs": { - "BundleTask$State": "

The state of the task.

" - } - }, - "CancelBatchErrorCode": { - "base": null, - "refs": { - "CancelSpotFleetRequestsError$Code": "

The error code.

" - } - }, - "CancelBundleTaskRequest": { - "base": "

Contains the parameters for CancelBundleTask.

", - "refs": { - } - }, - "CancelBundleTaskResult": { - "base": "

Contains the output of CancelBundleTask.

", - "refs": { - } - }, - "CancelConversionRequest": { - "base": "

Contains the parameters for CancelConversionTask.

", - "refs": { - } - }, - "CancelExportTaskRequest": { - "base": "

Contains the parameters for CancelExportTask.

", - "refs": { - } - }, - "CancelImportTaskRequest": { - "base": "

Contains the parameters for CancelImportTask.

", - "refs": { - } - }, - "CancelImportTaskResult": { - "base": "

Contains the output for CancelImportTask.

", - "refs": { - } - }, - "CancelReservedInstancesListingRequest": { - "base": "

Contains the parameters for CancelReservedInstancesListing.

", - "refs": { - } - }, - "CancelReservedInstancesListingResult": { - "base": "

Contains the output of CancelReservedInstancesListing.

", - "refs": { - } - }, - "CancelSpotFleetRequestsError": { - "base": "

Describes a Spot fleet error.

", - "refs": { - "CancelSpotFleetRequestsErrorItem$Error": "

The error.

" - } - }, - "CancelSpotFleetRequestsErrorItem": { - "base": "

Describes a Spot fleet request that was not successfully canceled.

", - "refs": { - "CancelSpotFleetRequestsErrorSet$member": null - } - }, - "CancelSpotFleetRequestsErrorSet": { - "base": null, - "refs": { - "CancelSpotFleetRequestsResponse$UnsuccessfulFleetRequests": "

Information about the Spot fleet requests that are not successfully canceled.

" - } - }, - "CancelSpotFleetRequestsRequest": { - "base": "

Contains the parameters for CancelSpotFleetRequests.

", - "refs": { - } - }, - "CancelSpotFleetRequestsResponse": { - "base": "

Contains the output of CancelSpotFleetRequests.

", - "refs": { - } - }, - "CancelSpotFleetRequestsSuccessItem": { - "base": "

Describes a Spot fleet request that was successfully canceled.

", - "refs": { - "CancelSpotFleetRequestsSuccessSet$member": null - } - }, - "CancelSpotFleetRequestsSuccessSet": { - "base": null, - "refs": { - "CancelSpotFleetRequestsResponse$SuccessfulFleetRequests": "

Information about the Spot fleet requests that are successfully canceled.

" - } - }, - "CancelSpotInstanceRequestState": { - "base": null, - "refs": { - "CancelledSpotInstanceRequest$State": "

The state of the Spot instance request.

" - } - }, - "CancelSpotInstanceRequestsRequest": { - "base": "

Contains the parameters for CancelSpotInstanceRequests.

", - "refs": { - } - }, - "CancelSpotInstanceRequestsResult": { - "base": "

Contains the output of CancelSpotInstanceRequests.

", - "refs": { - } - }, - "CancelledSpotInstanceRequest": { - "base": "

Describes a request to cancel a Spot instance.

", - "refs": { - "CancelledSpotInstanceRequestList$member": null - } - }, - "CancelledSpotInstanceRequestList": { - "base": null, - "refs": { - "CancelSpotInstanceRequestsResult$CancelledSpotInstanceRequests": "

One or more Spot instance requests.

" - } - }, - "ClassicLinkDnsSupport": { - "base": "

Describes the ClassicLink DNS support status of a VPC.

", - "refs": { - "ClassicLinkDnsSupportList$member": null - } - }, - "ClassicLinkDnsSupportList": { - "base": null, - "refs": { - "DescribeVpcClassicLinkDnsSupportResult$Vpcs": "

Information about the ClassicLink DNS support status of the VPCs.

" - } - }, - "ClassicLinkInstance": { - "base": "

Describes a linked EC2-Classic instance.

", - "refs": { - "ClassicLinkInstanceList$member": null - } - }, - "ClassicLinkInstanceList": { - "base": null, - "refs": { - "DescribeClassicLinkInstancesResult$Instances": "

Information about one or more linked EC2-Classic instances.

" - } - }, - "ClientData": { - "base": "

Describes the client-specific data.

", - "refs": { - "ImportImageRequest$ClientData": "

The client-specific data.

", - "ImportSnapshotRequest$ClientData": "

The client-specific data.

" - } - }, - "ConfirmProductInstanceRequest": { - "base": "

Contains the parameters for ConfirmProductInstance.

", - "refs": { - } - }, - "ConfirmProductInstanceResult": { - "base": "

Contains the output of ConfirmProductInstance.

", - "refs": { - } - }, - "ContainerFormat": { - "base": null, - "refs": { - "ExportToS3Task$ContainerFormat": "

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

", - "ExportToS3TaskSpecification$ContainerFormat": "

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

" - } - }, - "ConversionIdStringList": { - "base": null, - "refs": { - "DescribeConversionTasksRequest$ConversionTaskIds": "

One or more conversion task IDs.

" - } - }, - "ConversionTask": { - "base": "

Describes a conversion task.

", - "refs": { - "DescribeConversionTaskList$member": null, - "ImportInstanceResult$ConversionTask": "

Information about the conversion task.

", - "ImportVolumeResult$ConversionTask": "

Information about the conversion task.

" - } - }, - "ConversionTaskState": { - "base": null, - "refs": { - "ConversionTask$State": "

The state of the conversion task.

" - } - }, - "CopyImageRequest": { - "base": "

Contains the parameters for CopyImage.

", - "refs": { - } - }, - "CopyImageResult": { - "base": "

Contains the output of CopyImage.

", - "refs": { - } - }, - "CopySnapshotRequest": { - "base": "

Contains the parameters for CopySnapshot.

", - "refs": { - } - }, - "CopySnapshotResult": { - "base": "

Contains the output of CopySnapshot.

", - "refs": { - } - }, - "CreateCustomerGatewayRequest": { - "base": "

Contains the parameters for CreateCustomerGateway.

", - "refs": { - } - }, - "CreateCustomerGatewayResult": { - "base": "

Contains the output of CreateCustomerGateway.

", - "refs": { - } - }, - "CreateDhcpOptionsRequest": { - "base": "

Contains the parameters for CreateDhcpOptions.

", - "refs": { - } - }, - "CreateDhcpOptionsResult": { - "base": "

Contains the output of CreateDhcpOptions.

", - "refs": { - } - }, - "CreateFlowLogsRequest": { - "base": "

Contains the parameters for CreateFlowLogs.

", - "refs": { - } - }, - "CreateFlowLogsResult": { - "base": "

Contains the output of CreateFlowLogs.

", - "refs": { - } - }, - "CreateImageRequest": { - "base": "

Contains the parameters for CreateImage.

", - "refs": { - } - }, - "CreateImageResult": { - "base": "

Contains the output of CreateImage.

", - "refs": { - } - }, - "CreateInstanceExportTaskRequest": { - "base": "

Contains the parameters for CreateInstanceExportTask.

", - "refs": { - } - }, - "CreateInstanceExportTaskResult": { - "base": "

Contains the output for CreateInstanceExportTask.

", - "refs": { - } - }, - "CreateInternetGatewayRequest": { - "base": "

Contains the parameters for CreateInternetGateway.

", - "refs": { - } - }, - "CreateInternetGatewayResult": { - "base": "

Contains the output of CreateInternetGateway.

", - "refs": { - } - }, - "CreateKeyPairRequest": { - "base": "

Contains the parameters for CreateKeyPair.

", - "refs": { - } - }, - "CreateNatGatewayRequest": { - "base": "

Contains the parameters for CreateNatGateway.

", - "refs": { - } - }, - "CreateNatGatewayResult": { - "base": "

Contains the output of CreateNatGateway.

", - "refs": { - } - }, - "CreateNetworkAclEntryRequest": { - "base": "

Contains the parameters for CreateNetworkAclEntry.

", - "refs": { - } - }, - "CreateNetworkAclRequest": { - "base": "

Contains the parameters for CreateNetworkAcl.

", - "refs": { - } - }, - "CreateNetworkAclResult": { - "base": "

Contains the output of CreateNetworkAcl.

", - "refs": { - } - }, - "CreateNetworkInterfaceRequest": { - "base": "

Contains the parameters for CreateNetworkInterface.

", - "refs": { - } - }, - "CreateNetworkInterfaceResult": { - "base": "

Contains the output of CreateNetworkInterface.

", - "refs": { - } - }, - "CreatePlacementGroupRequest": { - "base": "

Contains the parameters for CreatePlacementGroup.

", - "refs": { - } - }, - "CreateReservedInstancesListingRequest": { - "base": "

Contains the parameters for CreateReservedInstancesListing.

", - "refs": { - } - }, - "CreateReservedInstancesListingResult": { - "base": "

Contains the output of CreateReservedInstancesListing.

", - "refs": { - } - }, - "CreateRouteRequest": { - "base": "

Contains the parameters for CreateRoute.

", - "refs": { - } - }, - "CreateRouteResult": { - "base": "

Contains the output of CreateRoute.

", - "refs": { - } - }, - "CreateRouteTableRequest": { - "base": "

Contains the parameters for CreateRouteTable.

", - "refs": { - } - }, - "CreateRouteTableResult": { - "base": "

Contains the output of CreateRouteTable.

", - "refs": { - } - }, - "CreateSecurityGroupRequest": { - "base": "

Contains the parameters for CreateSecurityGroup.

", - "refs": { - } - }, - "CreateSecurityGroupResult": { - "base": "

Contains the output of CreateSecurityGroup.

", - "refs": { - } - }, - "CreateSnapshotRequest": { - "base": "

Contains the parameters for CreateSnapshot.

", - "refs": { - } - }, - "CreateSpotDatafeedSubscriptionRequest": { - "base": "

Contains the parameters for CreateSpotDatafeedSubscription.

", - "refs": { - } - }, - "CreateSpotDatafeedSubscriptionResult": { - "base": "

Contains the output of CreateSpotDatafeedSubscription.

", - "refs": { - } - }, - "CreateSubnetRequest": { - "base": "

Contains the parameters for CreateSubnet.

", - "refs": { - } - }, - "CreateSubnetResult": { - "base": "

Contains the output of CreateSubnet.

", - "refs": { - } - }, - "CreateTagsRequest": { - "base": "

Contains the parameters for CreateTags.

", - "refs": { - } - }, - "CreateVolumePermission": { - "base": "

Describes the user or group to be added or removed from the permissions for a volume.

", - "refs": { - "CreateVolumePermissionList$member": null - } - }, - "CreateVolumePermissionList": { - "base": null, - "refs": { - "CreateVolumePermissionModifications$Add": "

Adds a specific AWS account ID or group to a volume's list of create volume permissions.

", - "CreateVolumePermissionModifications$Remove": "

Removes a specific AWS account ID or group from a volume's list of create volume permissions.

", - "DescribeSnapshotAttributeResult$CreateVolumePermissions": "

A list of permissions for creating volumes from the snapshot.

" - } - }, - "CreateVolumePermissionModifications": { - "base": "

Describes modifications to the permissions for a volume.

", - "refs": { - "ModifySnapshotAttributeRequest$CreateVolumePermission": "

A JSON representation of the snapshot attribute modification.

" - } - }, - "CreateVolumeRequest": { - "base": "

Contains the parameters for CreateVolume.

", - "refs": { - } - }, - "CreateVpcEndpointRequest": { - "base": "

Contains the parameters for CreateVpcEndpoint.

", - "refs": { - } - }, - "CreateVpcEndpointResult": { - "base": "

Contains the output of CreateVpcEndpoint.

", - "refs": { - } - }, - "CreateVpcPeeringConnectionRequest": { - "base": "

Contains the parameters for CreateVpcPeeringConnection.

", - "refs": { - } - }, - "CreateVpcPeeringConnectionResult": { - "base": "

Contains the output of CreateVpcPeeringConnection.

", - "refs": { - } - }, - "CreateVpcRequest": { - "base": "

Contains the parameters for CreateVpc.

", - "refs": { - } - }, - "CreateVpcResult": { - "base": "

Contains the output of CreateVpc.

", - "refs": { - } - }, - "CreateVpnConnectionRequest": { - "base": "

Contains the parameters for CreateVpnConnection.

", - "refs": { - } - }, - "CreateVpnConnectionResult": { - "base": "

Contains the output of CreateVpnConnection.

", - "refs": { - } - }, - "CreateVpnConnectionRouteRequest": { - "base": "

Contains the parameters for CreateVpnConnectionRoute.

", - "refs": { - } - }, - "CreateVpnGatewayRequest": { - "base": "

Contains the parameters for CreateVpnGateway.

", - "refs": { - } - }, - "CreateVpnGatewayResult": { - "base": "

Contains the output of CreateVpnGateway.

", - "refs": { - } - }, - "CurrencyCodeValues": { - "base": null, - "refs": { - "PriceSchedule$CurrencyCode": "

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", - "PriceScheduleSpecification$CurrencyCode": "

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", - "ReservedInstanceLimitPrice$CurrencyCode": "

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

", - "ReservedInstances$CurrencyCode": "

The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. At this time, the only supported currency is USD.

", - "ReservedInstancesOffering$CurrencyCode": "

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.

" - } - }, - "CustomerGateway": { - "base": "

Describes a customer gateway.

", - "refs": { - "CreateCustomerGatewayResult$CustomerGateway": "

Information about the customer gateway.

", - "CustomerGatewayList$member": null - } - }, - "CustomerGatewayIdStringList": { - "base": null, - "refs": { - "DescribeCustomerGatewaysRequest$CustomerGatewayIds": "

One or more customer gateway IDs.

Default: Describes all your customer gateways.

" - } - }, - "CustomerGatewayList": { - "base": null, - "refs": { - "DescribeCustomerGatewaysResult$CustomerGateways": "

Information about one or more customer gateways.

" - } - }, - "DatafeedSubscriptionState": { - "base": null, - "refs": { - "SpotDatafeedSubscription$State": "

The state of the Spot instance data feed subscription.

" - } - }, - "DateTime": { - "base": null, - "refs": { - "BundleTask$StartTime": "

The time this task started.

", - "BundleTask$UpdateTime": "

The time of the most recent update for the task.

", - "ClientData$UploadStart": "

The time that the disk upload starts.

", - "ClientData$UploadEnd": "

The time that the disk upload ends.

", - "DescribeSpotFleetRequestHistoryRequest$StartTime": "

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "DescribeSpotFleetRequestHistoryResponse$StartTime": "

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "DescribeSpotFleetRequestHistoryResponse$LastEvaluatedTime": "

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.

", - "DescribeSpotPriceHistoryRequest$StartTime": "

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).

", - "DescribeSpotPriceHistoryRequest$EndTime": "

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).

", - "EbsInstanceBlockDevice$AttachTime": "

The time stamp when the attachment initiated.

", - "FlowLog$CreationTime": "

The date and time the flow log was created.

", - "GetConsoleOutputResult$Timestamp": "

The time the output was last updated.

", - "GetPasswordDataResult$Timestamp": "

The time the data was last updated.

", - "HistoryRecord$Timestamp": "

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "IdFormat$Deadline": "

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.

", - "Instance$LaunchTime": "

The time the instance was launched.

", - "InstanceNetworkInterfaceAttachment$AttachTime": "

The time stamp when the attachment initiated.

", - "InstanceStatusDetails$ImpairedSince": "

The time when a status check failed. For an instance that was launched and impaired, this is the time when the instance was launched.

", - "InstanceStatusEvent$NotBefore": "

The earliest scheduled start time for the event.

", - "InstanceStatusEvent$NotAfter": "

The latest scheduled end time for the event.

", - "NatGateway$CreateTime": "

The date and time the NAT gateway was created.

", - "NatGateway$DeleteTime": "

The date and time the NAT gateway was deleted, if applicable.

", - "NetworkInterfaceAttachment$AttachTime": "

The timestamp indicating when the attachment initiated.

", - "ProvisionedBandwidth$RequestTime": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "ProvisionedBandwidth$ProvisionTime": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "ReportInstanceStatusRequest$StartTime": "

The time at which the reported instance health state began.

", - "ReportInstanceStatusRequest$EndTime": "

The time at which the reported instance health state ended.

", - "RequestSpotInstancesRequest$ValidFrom": "

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.

", - "RequestSpotInstancesRequest$ValidUntil": "

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.

", - "ReservedInstances$Start": "

The date and time the Reserved Instance started.

", - "ReservedInstances$End": "

The time when the Reserved Instance expires.

", - "ReservedInstancesListing$CreateDate": "

The time the listing was created.

", - "ReservedInstancesListing$UpdateDate": "

The last modified timestamp of the listing.

", - "ReservedInstancesModification$CreateDate": "

The time when the modification request was created.

", - "ReservedInstancesModification$UpdateDate": "

The time when the modification request was last updated.

", - "ReservedInstancesModification$EffectiveDate": "

The time for the modification to become effective.

", - "ScheduledInstance$PreviousSlotEndTime": "

The time that the previous schedule ended or will end.

", - "ScheduledInstance$NextSlotStartTime": "

The time for the next schedule to start.

", - "ScheduledInstance$TermStartDate": "

The start date for the Scheduled Instance.

", - "ScheduledInstance$TermEndDate": "

The end date for the Scheduled Instance.

", - "ScheduledInstance$CreateDate": "

The date when the Scheduled Instance was purchased.

", - "ScheduledInstanceAvailability$FirstSlotStartTime": "

The time period for the first schedule to start.

", - "SlotDateTimeRangeRequest$EarliestTime": "

The earliest date and time, in UTC, for the Scheduled Instance to start.

", - "SlotDateTimeRangeRequest$LatestTime": "

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.

", - "SlotStartTimeRangeRequest$EarliestTime": "

The earliest date and time, in UTC, for the Scheduled Instance to start.

", - "SlotStartTimeRangeRequest$LatestTime": "

The latest date and time, in UTC, for the Scheduled Instance to start.

", - "Snapshot$StartTime": "

The time stamp when the snapshot was initiated.

", - "SpotFleetRequestConfig$CreateTime": "

The creation date and time of the request.

", - "SpotFleetRequestConfigData$ValidFrom": "

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.

", - "SpotFleetRequestConfigData$ValidUntil": "

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.

", - "SpotInstanceRequest$ValidFrom": "

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.

", - "SpotInstanceRequest$ValidUntil": "

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.

", - "SpotInstanceRequest$CreateTime": "

The date and time when the Spot instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "SpotInstanceStatus$UpdateTime": "

The date and time of the most recent status update, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "SpotPrice$Timestamp": "

The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "VgwTelemetry$LastStatusChange": "

The date and time of the last change in status.

", - "Volume$CreateTime": "

The time stamp when volume creation was initiated.

", - "VolumeAttachment$AttachTime": "

The time stamp when the attachment initiated.

", - "VolumeStatusEvent$NotBefore": "

The earliest start time of the event.

", - "VolumeStatusEvent$NotAfter": "

The latest end time of the event.

", - "VpcEndpoint$CreationTimestamp": "

The date and time the VPC endpoint was created.

", - "VpcPeeringConnection$ExpirationTime": "

The time that an unaccepted VPC peering connection will expire.

" - } - }, - "DeleteCustomerGatewayRequest": { - "base": "

Contains the parameters for DeleteCustomerGateway.

", - "refs": { - } - }, - "DeleteDhcpOptionsRequest": { - "base": "

Contains the parameters for DeleteDhcpOptions.

", - "refs": { - } - }, - "DeleteFlowLogsRequest": { - "base": "

Contains the parameters for DeleteFlowLogs.

", - "refs": { - } - }, - "DeleteFlowLogsResult": { - "base": "

Contains the output of DeleteFlowLogs.

", - "refs": { - } - }, - "DeleteInternetGatewayRequest": { - "base": "

Contains the parameters for DeleteInternetGateway.

", - "refs": { - } - }, - "DeleteKeyPairRequest": { - "base": "

Contains the parameters for DeleteKeyPair.

", - "refs": { - } - }, - "DeleteNatGatewayRequest": { - "base": "

Contains the parameters for DeleteNatGateway.

", - "refs": { - } - }, - "DeleteNatGatewayResult": { - "base": "

Contains the output of DeleteNatGateway.

", - "refs": { - } - }, - "DeleteNetworkAclEntryRequest": { - "base": "

Contains the parameters for DeleteNetworkAclEntry.

", - "refs": { - } - }, - "DeleteNetworkAclRequest": { - "base": "

Contains the parameters for DeleteNetworkAcl.

", - "refs": { - } - }, - "DeleteNetworkInterfaceRequest": { - "base": "

Contains the parameters for DeleteNetworkInterface.

", - "refs": { - } - }, - "DeletePlacementGroupRequest": { - "base": "

Contains the parameters for DeletePlacementGroup.

", - "refs": { - } - }, - "DeleteRouteRequest": { - "base": "

Contains the parameters for DeleteRoute.

", - "refs": { - } - }, - "DeleteRouteTableRequest": { - "base": "

Contains the parameters for DeleteRouteTable.

", - "refs": { - } - }, - "DeleteSecurityGroupRequest": { - "base": "

Contains the parameters for DeleteSecurityGroup.

", - "refs": { - } - }, - "DeleteSnapshotRequest": { - "base": "

Contains the parameters for DeleteSnapshot.

", - "refs": { - } - }, - "DeleteSpotDatafeedSubscriptionRequest": { - "base": "

Contains the parameters for DeleteSpotDatafeedSubscription.

", - "refs": { - } - }, - "DeleteSubnetRequest": { - "base": "

Contains the parameters for DeleteSubnet.

", - "refs": { - } - }, - "DeleteTagsRequest": { - "base": "

Contains the parameters for DeleteTags.

", - "refs": { - } - }, - "DeleteVolumeRequest": { - "base": "

Contains the parameters for DeleteVolume.

", - "refs": { - } - }, - "DeleteVpcEndpointsRequest": { - "base": "

Contains the parameters for DeleteVpcEndpoints.

", - "refs": { - } - }, - "DeleteVpcEndpointsResult": { - "base": "

Contains the output of DeleteVpcEndpoints.

", - "refs": { - } - }, - "DeleteVpcPeeringConnectionRequest": { - "base": "

Contains the parameters for DeleteVpcPeeringConnection.

", - "refs": { - } - }, - "DeleteVpcPeeringConnectionResult": { - "base": "

Contains the output of DeleteVpcPeeringConnection.

", - "refs": { - } - }, - "DeleteVpcRequest": { - "base": "

Contains the parameters for DeleteVpc.

", - "refs": { - } - }, - "DeleteVpnConnectionRequest": { - "base": "

Contains the parameters for DeleteVpnConnection.

", - "refs": { - } - }, - "DeleteVpnConnectionRouteRequest": { - "base": "

Contains the parameters for DeleteVpnConnectionRoute.

", - "refs": { - } - }, - "DeleteVpnGatewayRequest": { - "base": "

Contains the parameters for DeleteVpnGateway.

", - "refs": { - } - }, - "DeregisterImageRequest": { - "base": "

Contains the parameters for DeregisterImage.

", - "refs": { - } - }, - "DescribeAccountAttributesRequest": { - "base": "

Contains the parameters for DescribeAccountAttributes.

", - "refs": { - } - }, - "DescribeAccountAttributesResult": { - "base": "

Contains the output of DescribeAccountAttributes.

", - "refs": { - } - }, - "DescribeAddressesRequest": { - "base": "

Contains the parameters for DescribeAddresses.

", - "refs": { - } - }, - "DescribeAddressesResult": { - "base": "

Contains the output of DescribeAddresses.

", - "refs": { - } - }, - "DescribeAvailabilityZonesRequest": { - "base": "

Contains the parameters for DescribeAvailabilityZones.

", - "refs": { - } - }, - "DescribeAvailabilityZonesResult": { - "base": "

Contains the output of DescribeAvailabiltyZones.

", - "refs": { - } - }, - "DescribeBundleTasksRequest": { - "base": "

Contains the parameters for DescribeBundleTasks.

", - "refs": { - } - }, - "DescribeBundleTasksResult": { - "base": "

Contains the output of DescribeBundleTasks.

", - "refs": { - } - }, - "DescribeClassicLinkInstancesRequest": { - "base": "

Contains the parameters for DescribeClassicLinkInstances.

", - "refs": { - } - }, - "DescribeClassicLinkInstancesResult": { - "base": "

Contains the output of DescribeClassicLinkInstances.

", - "refs": { - } - }, - "DescribeConversionTaskList": { - "base": null, - "refs": { - "DescribeConversionTasksResult$ConversionTasks": "

Information about the conversion tasks.

" - } - }, - "DescribeConversionTasksRequest": { - "base": "

Contains the parameters for DescribeConversionTasks.

", - "refs": { - } - }, - "DescribeConversionTasksResult": { - "base": "

Contains the output for DescribeConversionTasks.

", - "refs": { - } - }, - "DescribeCustomerGatewaysRequest": { - "base": "

Contains the parameters for DescribeCustomerGateways.

", - "refs": { - } - }, - "DescribeCustomerGatewaysResult": { - "base": "

Contains the output of DescribeCustomerGateways.

", - "refs": { - } - }, - "DescribeDhcpOptionsRequest": { - "base": "

Contains the parameters for DescribeDhcpOptions.

", - "refs": { - } - }, - "DescribeDhcpOptionsResult": { - "base": "

Contains the output of DescribeDhcpOptions.

", - "refs": { - } - }, - "DescribeExportTasksRequest": { - "base": "

Contains the parameters for DescribeExportTasks.

", - "refs": { - } - }, - "DescribeExportTasksResult": { - "base": "

Contains the output for DescribeExportTasks.

", - "refs": { - } - }, - "DescribeFlowLogsRequest": { - "base": "

Contains the parameters for DescribeFlowLogs.

", - "refs": { - } - }, - "DescribeFlowLogsResult": { - "base": "

Contains the output of DescribeFlowLogs.

", - "refs": { - } - }, - "DescribeHostsRequest": { - "base": "

Contains the parameters for DescribeHosts.

", - "refs": { - } - }, - "DescribeHostsResult": { - "base": "

Contains the output of DescribeHosts.

", - "refs": { - } - }, - "DescribeIdFormatRequest": { - "base": "

Contains the parameters for DescribeIdFormat.

", - "refs": { - } - }, - "DescribeIdFormatResult": { - "base": "

Contains the output of DescribeIdFormat.

", - "refs": { - } - }, - "DescribeImageAttributeRequest": { - "base": "

Contains the parameters for DescribeImageAttribute.

", - "refs": { - } - }, - "DescribeImagesRequest": { - "base": "

Contains the parameters for DescribeImages.

", - "refs": { - } - }, - "DescribeImagesResult": { - "base": "

Contains the output of DescribeImages.

", - "refs": { - } - }, - "DescribeImportImageTasksRequest": { - "base": "

Contains the parameters for DescribeImportImageTasks.

", - "refs": { - } - }, - "DescribeImportImageTasksResult": { - "base": "

Contains the output for DescribeImportImageTasks.

", - "refs": { - } - }, - "DescribeImportSnapshotTasksRequest": { - "base": "

Contains the parameters for DescribeImportSnapshotTasks.

", - "refs": { - } - }, - "DescribeImportSnapshotTasksResult": { - "base": "

Contains the output for DescribeImportSnapshotTasks.

", - "refs": { - } - }, - "DescribeInstanceAttributeRequest": { - "base": "

Contains the parameters for DescribeInstanceAttribute.

", - "refs": { - } - }, - "DescribeInstanceStatusRequest": { - "base": "

Contains the parameters for DescribeInstanceStatus.

", - "refs": { - } - }, - "DescribeInstanceStatusResult": { - "base": "

Contains the output of DescribeInstanceStatus.

", - "refs": { - } - }, - "DescribeInstancesRequest": { - "base": "

Contains the parameters for DescribeInstances.

", - "refs": { - } - }, - "DescribeInstancesResult": { - "base": "

Contains the output of DescribeInstances.

", - "refs": { - } - }, - "DescribeInternetGatewaysRequest": { - "base": "

Contains the parameters for DescribeInternetGateways.

", - "refs": { - } - }, - "DescribeInternetGatewaysResult": { - "base": "

Contains the output of DescribeInternetGateways.

", - "refs": { - } - }, - "DescribeKeyPairsRequest": { - "base": "

Contains the parameters for DescribeKeyPairs.

", - "refs": { - } - }, - "DescribeKeyPairsResult": { - "base": "

Contains the output of DescribeKeyPairs.

", - "refs": { - } - }, - "DescribeMovingAddressesRequest": { - "base": "

Contains the parameters for DescribeMovingAddresses.

", - "refs": { - } - }, - "DescribeMovingAddressesResult": { - "base": "

Contains the output of DescribeMovingAddresses.

", - "refs": { - } - }, - "DescribeNatGatewaysRequest": { - "base": "

Contains the parameters for DescribeNatGateways.

", - "refs": { - } - }, - "DescribeNatGatewaysResult": { - "base": "

Contains the output of DescribeNatGateways.

", - "refs": { - } - }, - "DescribeNetworkAclsRequest": { - "base": "

Contains the parameters for DescribeNetworkAcls.

", - "refs": { - } - }, - "DescribeNetworkAclsResult": { - "base": "

Contains the output of DescribeNetworkAcls.

", - "refs": { - } - }, - "DescribeNetworkInterfaceAttributeRequest": { - "base": "

Contains the parameters for DescribeNetworkInterfaceAttribute.

", - "refs": { - } - }, - "DescribeNetworkInterfaceAttributeResult": { - "base": "

Contains the output of DescribeNetworkInterfaceAttribute.

", - "refs": { - } - }, - "DescribeNetworkInterfacesRequest": { - "base": "

Contains the parameters for DescribeNetworkInterfaces.

", - "refs": { - } - }, - "DescribeNetworkInterfacesResult": { - "base": "

Contains the output of DescribeNetworkInterfaces.

", - "refs": { - } - }, - "DescribePlacementGroupsRequest": { - "base": "

Contains the parameters for DescribePlacementGroups.

", - "refs": { - } - }, - "DescribePlacementGroupsResult": { - "base": "

Contains the output of DescribePlacementGroups.

", - "refs": { - } - }, - "DescribePrefixListsRequest": { - "base": "

Contains the parameters for DescribePrefixLists.

", - "refs": { - } - }, - "DescribePrefixListsResult": { - "base": "

Contains the output of DescribePrefixLists.

", - "refs": { - } - }, - "DescribeRegionsRequest": { - "base": "

Contains the parameters for DescribeRegions.

", - "refs": { - } - }, - "DescribeRegionsResult": { - "base": "

Contains the output of DescribeRegions.

", - "refs": { - } - }, - "DescribeReservedInstancesListingsRequest": { - "base": "

Contains the parameters for DescribeReservedInstancesListings.

", - "refs": { - } - }, - "DescribeReservedInstancesListingsResult": { - "base": "

Contains the output of DescribeReservedInstancesListings.

", - "refs": { - } - }, - "DescribeReservedInstancesModificationsRequest": { - "base": "

Contains the parameters for DescribeReservedInstancesModifications.

", - "refs": { - } - }, - "DescribeReservedInstancesModificationsResult": { - "base": "

Contains the output of DescribeReservedInstancesModifications.

", - "refs": { - } - }, - "DescribeReservedInstancesOfferingsRequest": { - "base": "

Contains the parameters for DescribeReservedInstancesOfferings.

", - "refs": { - } - }, - "DescribeReservedInstancesOfferingsResult": { - "base": "

Contains the output of DescribeReservedInstancesOfferings.

", - "refs": { - } - }, - "DescribeReservedInstancesRequest": { - "base": "

Contains the parameters for DescribeReservedInstances.

", - "refs": { - } - }, - "DescribeReservedInstancesResult": { - "base": "

Contains the output for DescribeReservedInstances.

", - "refs": { - } - }, - "DescribeRouteTablesRequest": { - "base": "

Contains the parameters for DescribeRouteTables.

", - "refs": { - } - }, - "DescribeRouteTablesResult": { - "base": "

Contains the output of DescribeRouteTables.

", - "refs": { - } - }, - "DescribeScheduledInstanceAvailabilityRequest": { - "base": "

Contains the parameters for DescribeScheduledInstanceAvailability.

", - "refs": { - } - }, - "DescribeScheduledInstanceAvailabilityResult": { - "base": "

Contains the output of DescribeScheduledInstanceAvailability.

", - "refs": { - } - }, - "DescribeScheduledInstancesRequest": { - "base": "

Contains the parameters for DescribeScheduledInstances.

", - "refs": { - } - }, - "DescribeScheduledInstancesResult": { - "base": "

Contains the output of DescribeScheduledInstances.

", - "refs": { - } - }, - "DescribeSecurityGroupReferencesRequest": { - "base": null, - "refs": { - } - }, - "DescribeSecurityGroupReferencesResult": { - "base": null, - "refs": { - } - }, - "DescribeSecurityGroupsRequest": { - "base": "

Contains the parameters for DescribeSecurityGroups.

", - "refs": { - } - }, - "DescribeSecurityGroupsResult": { - "base": "

Contains the output of DescribeSecurityGroups.

", - "refs": { - } - }, - "DescribeSnapshotAttributeRequest": { - "base": "

Contains the parameters for DescribeSnapshotAttribute.

", - "refs": { - } - }, - "DescribeSnapshotAttributeResult": { - "base": "

Contains the output of DescribeSnapshotAttribute.

", - "refs": { - } - }, - "DescribeSnapshotsRequest": { - "base": "

Contains the parameters for DescribeSnapshots.

", - "refs": { - } - }, - "DescribeSnapshotsResult": { - "base": "

Contains the output of DescribeSnapshots.

", - "refs": { - } - }, - "DescribeSpotDatafeedSubscriptionRequest": { - "base": "

Contains the parameters for DescribeSpotDatafeedSubscription.

", - "refs": { - } - }, - "DescribeSpotDatafeedSubscriptionResult": { - "base": "

Contains the output of DescribeSpotDatafeedSubscription.

", - "refs": { - } - }, - "DescribeSpotFleetInstancesRequest": { - "base": "

Contains the parameters for DescribeSpotFleetInstances.

", - "refs": { - } - }, - "DescribeSpotFleetInstancesResponse": { - "base": "

Contains the output of DescribeSpotFleetInstances.

", - "refs": { - } - }, - "DescribeSpotFleetRequestHistoryRequest": { - "base": "

Contains the parameters for DescribeSpotFleetRequestHistory.

", - "refs": { - } - }, - "DescribeSpotFleetRequestHistoryResponse": { - "base": "

Contains the output of DescribeSpotFleetRequestHistory.

", - "refs": { - } - }, - "DescribeSpotFleetRequestsRequest": { - "base": "

Contains the parameters for DescribeSpotFleetRequests.

", - "refs": { - } - }, - "DescribeSpotFleetRequestsResponse": { - "base": "

Contains the output of DescribeSpotFleetRequests.

", - "refs": { - } - }, - "DescribeSpotInstanceRequestsRequest": { - "base": "

Contains the parameters for DescribeSpotInstanceRequests.

", - "refs": { - } - }, - "DescribeSpotInstanceRequestsResult": { - "base": "

Contains the output of DescribeSpotInstanceRequests.

", - "refs": { - } - }, - "DescribeSpotPriceHistoryRequest": { - "base": "

Contains the parameters for DescribeSpotPriceHistory.

", - "refs": { - } - }, - "DescribeSpotPriceHistoryResult": { - "base": "

Contains the output of DescribeSpotPriceHistory.

", - "refs": { - } - }, - "DescribeStaleSecurityGroupsRequest": { - "base": null, - "refs": { - } - }, - "DescribeStaleSecurityGroupsResult": { - "base": null, - "refs": { - } - }, - "DescribeSubnetsRequest": { - "base": "

Contains the parameters for DescribeSubnets.

", - "refs": { - } - }, - "DescribeSubnetsResult": { - "base": "

Contains the output of DescribeSubnets.

", - "refs": { - } - }, - "DescribeTagsRequest": { - "base": "

Contains the parameters for DescribeTags.

", - "refs": { - } - }, - "DescribeTagsResult": { - "base": "

Contains the output of DescribeTags.

", - "refs": { - } - }, - "DescribeVolumeAttributeRequest": { - "base": "

Contains the parameters for DescribeVolumeAttribute.

", - "refs": { - } - }, - "DescribeVolumeAttributeResult": { - "base": "

Contains the output of DescribeVolumeAttribute.

", - "refs": { - } - }, - "DescribeVolumeStatusRequest": { - "base": "

Contains the parameters for DescribeVolumeStatus.

", - "refs": { - } - }, - "DescribeVolumeStatusResult": { - "base": "

Contains the output of DescribeVolumeStatus.

", - "refs": { - } - }, - "DescribeVolumesRequest": { - "base": "

Contains the parameters for DescribeVolumes.

", - "refs": { - } - }, - "DescribeVolumesResult": { - "base": "

Contains the output of DescribeVolumes.

", - "refs": { - } - }, - "DescribeVpcAttributeRequest": { - "base": "

Contains the parameters for DescribeVpcAttribute.

", - "refs": { - } - }, - "DescribeVpcAttributeResult": { - "base": "

Contains the output of DescribeVpcAttribute.

", - "refs": { - } - }, - "DescribeVpcClassicLinkDnsSupportRequest": { - "base": "

Contains the parameters for DescribeVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "DescribeVpcClassicLinkDnsSupportResult": { - "base": "

Contains the output of DescribeVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "DescribeVpcClassicLinkRequest": { - "base": "

Contains the parameters for DescribeVpcClassicLink.

", - "refs": { - } - }, - "DescribeVpcClassicLinkResult": { - "base": "

Contains the output of DescribeVpcClassicLink.

", - "refs": { - } - }, - "DescribeVpcEndpointServicesRequest": { - "base": "

Contains the parameters for DescribeVpcEndpointServices.

", - "refs": { - } - }, - "DescribeVpcEndpointServicesResult": { - "base": "

Contains the output of DescribeVpcEndpointServices.

", - "refs": { - } - }, - "DescribeVpcEndpointsRequest": { - "base": "

Contains the parameters for DescribeVpcEndpoints.

", - "refs": { - } - }, - "DescribeVpcEndpointsResult": { - "base": "

Contains the output of DescribeVpcEndpoints.

", - "refs": { - } - }, - "DescribeVpcPeeringConnectionsRequest": { - "base": "

Contains the parameters for DescribeVpcPeeringConnections.

", - "refs": { - } - }, - "DescribeVpcPeeringConnectionsResult": { - "base": "

Contains the output of DescribeVpcPeeringConnections.

", - "refs": { - } - }, - "DescribeVpcsRequest": { - "base": "

Contains the parameters for DescribeVpcs.

", - "refs": { - } - }, - "DescribeVpcsResult": { - "base": "

Contains the output of DescribeVpcs.

", - "refs": { - } - }, - "DescribeVpnConnectionsRequest": { - "base": "

Contains the parameters for DescribeVpnConnections.

", - "refs": { - } - }, - "DescribeVpnConnectionsResult": { - "base": "

Contains the output of DescribeVpnConnections.

", - "refs": { - } - }, - "DescribeVpnGatewaysRequest": { - "base": "

Contains the parameters for DescribeVpnGateways.

", - "refs": { - } - }, - "DescribeVpnGatewaysResult": { - "base": "

Contains the output of DescribeVpnGateways.

", - "refs": { - } - }, - "DetachClassicLinkVpcRequest": { - "base": "

Contains the parameters for DetachClassicLinkVpc.

", - "refs": { - } - }, - "DetachClassicLinkVpcResult": { - "base": "

Contains the output of DetachClassicLinkVpc.

", - "refs": { - } - }, - "DetachInternetGatewayRequest": { - "base": "

Contains the parameters for DetachInternetGateway.

", - "refs": { - } - }, - "DetachNetworkInterfaceRequest": { - "base": "

Contains the parameters for DetachNetworkInterface.

", - "refs": { - } - }, - "DetachVolumeRequest": { - "base": "

Contains the parameters for DetachVolume.

", - "refs": { - } - }, - "DetachVpnGatewayRequest": { - "base": "

Contains the parameters for DetachVpnGateway.

", - "refs": { - } - }, - "DeviceType": { - "base": null, - "refs": { - "Image$RootDeviceType": "

The type of root device used by the AMI. The AMI can use an EBS volume or an instance store volume.

", - "Instance$RootDeviceType": "

The root device type used by the AMI. The AMI can use an EBS volume or an instance store volume.

" - } - }, - "DhcpConfiguration": { - "base": "

Describes a DHCP configuration option.

", - "refs": { - "DhcpConfigurationList$member": null - } - }, - "DhcpConfigurationList": { - "base": null, - "refs": { - "DhcpOptions$DhcpConfigurations": "

One or more DHCP options in the set.

" - } - }, - "DhcpConfigurationValueList": { - "base": null, - "refs": { - "DhcpConfiguration$Values": "

One or more values for the DHCP option.

" - } - }, - "DhcpOptions": { - "base": "

Describes a set of DHCP options.

", - "refs": { - "CreateDhcpOptionsResult$DhcpOptions": "

A set of DHCP options.

", - "DhcpOptionsList$member": null - } - }, - "DhcpOptionsIdStringList": { - "base": null, - "refs": { - "DescribeDhcpOptionsRequest$DhcpOptionsIds": "

The IDs of one or more DHCP options sets.

Default: Describes all your DHCP options sets.

" - } - }, - "DhcpOptionsList": { - "base": null, - "refs": { - "DescribeDhcpOptionsResult$DhcpOptions": "

Information about one or more DHCP options sets.

" - } - }, - "DisableVgwRoutePropagationRequest": { - "base": "

Contains the parameters for DisableVgwRoutePropagation.

", - "refs": { - } - }, - "DisableVpcClassicLinkDnsSupportRequest": { - "base": "

Contains the parameters for DisableVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "DisableVpcClassicLinkDnsSupportResult": { - "base": "

Contains the output of DisableVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "DisableVpcClassicLinkRequest": { - "base": "

Contains the parameters for DisableVpcClassicLink.

", - "refs": { - } - }, - "DisableVpcClassicLinkResult": { - "base": "

Contains the output of DisableVpcClassicLink.

", - "refs": { - } - }, - "DisassociateAddressRequest": { - "base": "

Contains the parameters for DisassociateAddress.

", - "refs": { - } - }, - "DisassociateRouteTableRequest": { - "base": "

Contains the parameters for DisassociateRouteTable.

", - "refs": { - } - }, - "DiskImage": { - "base": "

Describes a disk image.

", - "refs": { - "DiskImageList$member": null - } - }, - "DiskImageDescription": { - "base": "

Describes a disk image.

", - "refs": { - "ImportInstanceVolumeDetailItem$Image": "

The image.

", - "ImportVolumeTaskDetails$Image": "

The image.

" - } - }, - "DiskImageDetail": { - "base": "

Describes a disk image.

", - "refs": { - "DiskImage$Image": "

Information about the disk image.

", - "ImportVolumeRequest$Image": "

The disk image.

" - } - }, - "DiskImageFormat": { - "base": null, - "refs": { - "DiskImageDescription$Format": "

The disk image format.

", - "DiskImageDetail$Format": "

The disk image format.

", - "ExportToS3Task$DiskImageFormat": "

The format for the exported image.

", - "ExportToS3TaskSpecification$DiskImageFormat": "

The format for the exported image.

" - } - }, - "DiskImageList": { - "base": null, - "refs": { - "ImportInstanceRequest$DiskImages": "

The disk image.

" - } - }, - "DiskImageVolumeDescription": { - "base": "

Describes a disk image volume.

", - "refs": { - "ImportInstanceVolumeDetailItem$Volume": "

The volume.

", - "ImportVolumeTaskDetails$Volume": "

The volume.

" - } - }, - "DomainType": { - "base": null, - "refs": { - "Address$Domain": "

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", - "AllocateAddressRequest$Domain": "

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$Domain": "

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

" - } - }, - "Double": { - "base": null, - "refs": { - "ClientData$UploadSize": "

The size of the uploaded disk image, in GiB.

", - "PriceSchedule$Price": "

The fixed price for the term.

", - "PriceScheduleSpecification$Price": "

The fixed price for the term.

", - "PricingDetail$Price": "

The price per instance.

", - "RecurringCharge$Amount": "

The amount of the recurring charge.

", - "ReservedInstanceLimitPrice$Amount": "

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", - "SnapshotDetail$DiskImageSize": "

The size of the disk in the snapshot, in GiB.

", - "SnapshotTaskDetail$DiskImageSize": "

The size of the disk in the snapshot, in GiB.

", - "SpotFleetLaunchSpecification$WeightedCapacity": "

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.

", - "SpotFleetRequestConfigData$FulfilledCapacity": "

The number of units fulfilled by this request compared to the set target capacity.

" - } - }, - "EbsBlockDevice": { - "base": "

Describes a block device for an EBS volume.

", - "refs": { - "BlockDeviceMapping$Ebs": "

Parameters used to automatically set up EBS volumes when the instance is launched.

" - } - }, - "EbsInstanceBlockDevice": { - "base": "

Describes a parameter used to set up an EBS volume in a block device mapping.

", - "refs": { - "InstanceBlockDeviceMapping$Ebs": "

Parameters used to automatically set up EBS volumes when the instance is launched.

" - } - }, - "EbsInstanceBlockDeviceSpecification": { - "base": "

Describes information used to set up an EBS volume specified in a block device mapping.

", - "refs": { - "InstanceBlockDeviceMappingSpecification$Ebs": "

Parameters used to automatically set up EBS volumes when the instance is launched.

" - } - }, - "EnableVgwRoutePropagationRequest": { - "base": "

Contains the parameters for EnableVgwRoutePropagation.

", - "refs": { - } - }, - "EnableVolumeIORequest": { - "base": "

Contains the parameters for EnableVolumeIO.

", - "refs": { - } - }, - "EnableVpcClassicLinkDnsSupportRequest": { - "base": "

Contains the parameters for EnableVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "EnableVpcClassicLinkDnsSupportResult": { - "base": "

Contains the output of EnableVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "EnableVpcClassicLinkRequest": { - "base": "

Contains the parameters for EnableVpcClassicLink.

", - "refs": { - } - }, - "EnableVpcClassicLinkResult": { - "base": "

Contains the output of EnableVpcClassicLink.

", - "refs": { - } - }, - "EventCode": { - "base": null, - "refs": { - "InstanceStatusEvent$Code": "

The event code.

" - } - }, - "EventInformation": { - "base": "

Describes a Spot fleet event.

", - "refs": { - "HistoryRecord$EventInformation": "

Information about the event.

" - } - }, - "EventType": { - "base": null, - "refs": { - "DescribeSpotFleetRequestHistoryRequest$EventType": "

The type of events to describe. By default, all events are described.

", - "HistoryRecord$EventType": "

The event type.

" - } - }, - "ExcessCapacityTerminationPolicy": { - "base": null, - "refs": { - "ModifySpotFleetRequestRequest$ExcessCapacityTerminationPolicy": "

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.

", - "SpotFleetRequestConfigData$ExcessCapacityTerminationPolicy": "

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.

" - } - }, - "ExecutableByStringList": { - "base": null, - "refs": { - "DescribeImagesRequest$ExecutableUsers": "

Scopes the images by users with explicit launch permissions. Specify an AWS account ID, self (the sender of the request), or all (public AMIs).

" - } - }, - "ExportEnvironment": { - "base": null, - "refs": { - "CreateInstanceExportTaskRequest$TargetEnvironment": "

The target virtualization environment.

", - "InstanceExportDetails$TargetEnvironment": "

The target virtualization environment.

" - } - }, - "ExportTask": { - "base": "

Describes an instance export task.

", - "refs": { - "CreateInstanceExportTaskResult$ExportTask": "

Information about the instance export task.

", - "ExportTaskList$member": null - } - }, - "ExportTaskIdStringList": { - "base": null, - "refs": { - "DescribeExportTasksRequest$ExportTaskIds": "

One or more export task IDs.

" - } - }, - "ExportTaskList": { - "base": null, - "refs": { - "DescribeExportTasksResult$ExportTasks": "

Information about the export tasks.

" - } - }, - "ExportTaskState": { - "base": null, - "refs": { - "ExportTask$State": "

The state of the export task.

" - } - }, - "ExportToS3Task": { - "base": "

Describes the format and location for an instance export task.

", - "refs": { - "ExportTask$ExportToS3Task": "

Information about the export task.

" - } - }, - "ExportToS3TaskSpecification": { - "base": "

Describes an instance export task.

", - "refs": { - "CreateInstanceExportTaskRequest$ExportToS3Task": "

The format and location for an instance export task.

" - } - }, - "Filter": { - "base": "

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.

", - "refs": { - "FilterList$member": null - } - }, - "FilterList": { - "base": null, - "refs": { - "DescribeAddressesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", - "DescribeAvailabilityZonesRequest$Filters": "

One or more filters.

", - "DescribeBundleTasksRequest$Filters": "

One or more filters.

", - "DescribeClassicLinkInstancesRequest$Filters": "

One or more filters.

", - "DescribeConversionTasksRequest$Filters": "

One or more filters.

", - "DescribeCustomerGatewaysRequest$Filters": "

One or more filters.

", - "DescribeDhcpOptionsRequest$Filters": "

One or more filters.

", - "DescribeFlowLogsRequest$Filter": "

One or more filters.

", - "DescribeHostsRequest$Filter": "

One or more filters.

", - "DescribeImagesRequest$Filters": "

One or more filters.

", - "DescribeImportImageTasksRequest$Filters": "

Filter tasks using the task-state filter and one of the following values: active, completed, deleting, deleted.

", - "DescribeImportSnapshotTasksRequest$Filters": "

One or more filters.

", - "DescribeInstanceStatusRequest$Filters": "

One or more filters.

", - "DescribeInstancesRequest$Filters": "

One or more filters.

", - "DescribeInternetGatewaysRequest$Filters": "

One or more filters.

", - "DescribeKeyPairsRequest$Filters": "

One or more filters.

", - "DescribeMovingAddressesRequest$Filters": "

One or more filters.

", - "DescribeNatGatewaysRequest$Filter": "

One or more filters.

", - "DescribeNetworkAclsRequest$Filters": "

One or more filters.

", - "DescribeNetworkInterfacesRequest$Filters": "

One or more filters.

", - "DescribePlacementGroupsRequest$Filters": "

One or more filters.

", - "DescribePrefixListsRequest$Filters": "

One or more filters.

", - "DescribeRegionsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesListingsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesModificationsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesOfferingsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesRequest$Filters": "

One or more filters.

", - "DescribeRouteTablesRequest$Filters": "

One or more filters.

", - "DescribeScheduledInstanceAvailabilityRequest$Filters": "

One or more filters.

", - "DescribeScheduledInstancesRequest$Filters": "

One or more filters.

", - "DescribeSecurityGroupsRequest$Filters": "

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.

", - "DescribeSnapshotsRequest$Filters": "

One or more filters.

", - "DescribeSpotInstanceRequestsRequest$Filters": "

One or more filters.

", - "DescribeSpotPriceHistoryRequest$Filters": "

One or more filters.

", - "DescribeSubnetsRequest$Filters": "

One or more filters.

", - "DescribeTagsRequest$Filters": "

One or more filters.

", - "DescribeVolumeStatusRequest$Filters": "

One or more filters.

", - "DescribeVolumesRequest$Filters": "

One or more filters.

", - "DescribeVpcClassicLinkRequest$Filters": "

One or more filters.

", - "DescribeVpcEndpointsRequest$Filters": "

One or more filters.

", - "DescribeVpcPeeringConnectionsRequest$Filters": "

One or more filters.

", - "DescribeVpcsRequest$Filters": "

One or more filters.

", - "DescribeVpnConnectionsRequest$Filters": "

One or more filters.

", - "DescribeVpnGatewaysRequest$Filters": "

One or more filters.

" - } - }, - "FleetType": { - "base": null, - "refs": { - "SpotFleetRequestConfigData$Type": "

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.

" - } - }, - "Float": { - "base": null, - "refs": { - "ReservedInstances$UsagePrice": "

The usage price of the Reserved Instance, per hour.

", - "ReservedInstances$FixedPrice": "

The purchase price of the Reserved Instance.

", - "ReservedInstancesOffering$UsagePrice": "

The usage price of the Reserved Instance, per hour.

", - "ReservedInstancesOffering$FixedPrice": "

The purchase price of the Reserved Instance.

" - } - }, - "FlowLog": { - "base": "

Describes a flow log.

", - "refs": { - "FlowLogSet$member": null - } - }, - "FlowLogSet": { - "base": null, - "refs": { - "DescribeFlowLogsResult$FlowLogs": "

Information about the flow logs.

" - } - }, - "FlowLogsResourceType": { - "base": null, - "refs": { - "CreateFlowLogsRequest$ResourceType": "

The type of resource on which to create the flow log.

" - } - }, - "GatewayType": { - "base": null, - "refs": { - "CreateCustomerGatewayRequest$Type": "

The type of VPN connection that this customer gateway supports (ipsec.1).

", - "CreateVpnGatewayRequest$Type": "

The type of VPN connection this virtual private gateway supports.

", - "VpnConnection$Type": "

The type of VPN connection.

", - "VpnGateway$Type": "

The type of VPN connection the virtual private gateway supports.

" - } - }, - "GetConsoleOutputRequest": { - "base": "

Contains the parameters for GetConsoleOutput.

", - "refs": { - } - }, - "GetConsoleOutputResult": { - "base": "

Contains the output of GetConsoleOutput.

", - "refs": { - } - }, - "GetConsoleScreenshotRequest": { - "base": "

Contains the parameters for the request.

", - "refs": { - } - }, - "GetConsoleScreenshotResult": { - "base": "

Contains the output of the request.

", - "refs": { - } - }, - "GetPasswordDataRequest": { - "base": "

Contains the parameters for GetPasswordData.

", - "refs": { - } - }, - "GetPasswordDataResult": { - "base": "

Contains the output of GetPasswordData.

", - "refs": { - } - }, - "GroupIdStringList": { - "base": null, - "refs": { - "AttachClassicLinkVpcRequest$Groups": "

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

", - "DescribeSecurityGroupsRequest$GroupIds": "

One or more security group IDs. Required for security groups in a nondefault VPC.

Default: Describes all your security groups.

", - "ModifyInstanceAttributeRequest$Groups": "

[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.

" - } - }, - "GroupIdentifier": { - "base": "

Describes a security group.

", - "refs": { - "GroupIdentifierList$member": null - } - }, - "GroupIdentifierList": { - "base": null, - "refs": { - "ClassicLinkInstance$Groups": "

A list of security groups.

", - "DescribeNetworkInterfaceAttributeResult$Groups": "

The security groups associated with the network interface.

", - "Instance$SecurityGroups": "

One or more security groups for the instance.

", - "InstanceAttribute$Groups": "

The security groups associated with the instance.

", - "InstanceNetworkInterface$Groups": "

One or more security groups.

", - "LaunchSpecification$SecurityGroups": "

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.

", - "NetworkInterface$Groups": "

Any security groups for the network interface.

", - "Reservation$Groups": "

[EC2-Classic only] One or more security groups.

", - "SpotFleetLaunchSpecification$SecurityGroups": "

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.

" - } - }, - "GroupIds": { - "base": null, - "refs": { - "DescribeSecurityGroupReferencesRequest$GroupId": "

One or more security group IDs in your account.

" - } - }, - "GroupNameStringList": { - "base": null, - "refs": { - "DescribeSecurityGroupsRequest$GroupNames": "

[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.

", - "ModifySnapshotAttributeRequest$GroupNames": "

The group to modify for the snapshot.

" - } - }, - "HistoryRecord": { - "base": "

Describes an event in the history of the Spot fleet request.

", - "refs": { - "HistoryRecords$member": null - } - }, - "HistoryRecords": { - "base": null, - "refs": { - "DescribeSpotFleetRequestHistoryResponse$HistoryRecords": "

Information about the events in the history of the Spot fleet request.

" - } - }, - "Host": { - "base": "

Describes the properties of the Dedicated host.

", - "refs": { - "HostList$member": null - } - }, - "HostInstance": { - "base": "

Describes an instance running on a Dedicated host.

", - "refs": { - "HostInstanceList$member": null - } - }, - "HostInstanceList": { - "base": null, - "refs": { - "Host$Instances": "

The IDs and instance type that are currently running on the Dedicated host.

" - } - }, - "HostList": { - "base": null, - "refs": { - "DescribeHostsResult$Hosts": "

Information about the Dedicated hosts.

" - } - }, - "HostProperties": { - "base": "

Describes properties of a Dedicated host.

", - "refs": { - "Host$HostProperties": "

The hardware specifications of the Dedicated host.

" - } - }, - "HostTenancy": { - "base": null, - "refs": { - "ModifyInstancePlacementRequest$Tenancy": "

The tenancy of the instance that you are modifying.

" - } - }, - "HypervisorType": { - "base": null, - "refs": { - "Image$Hypervisor": "

The hypervisor type of the image.

", - "Instance$Hypervisor": "

The hypervisor type of the instance.

" - } - }, - "IamInstanceProfile": { - "base": "

Describes an IAM instance profile.

", - "refs": { - "Instance$IamInstanceProfile": "

The IAM instance profile associated with the instance, if applicable.

" - } - }, - "IamInstanceProfileSpecification": { - "base": "

Describes an IAM instance profile.

", - "refs": { - "LaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

", - "RequestSpotLaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

", - "RunInstancesRequest$IamInstanceProfile": "

The IAM instance profile.

", - "SpotFleetLaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

" - } - }, - "IcmpTypeCode": { - "base": "

Describes the ICMP type and code.

", - "refs": { - "CreateNetworkAclEntryRequest$IcmpTypeCode": "

ICMP protocol: The ICMP type and code. Required if specifying ICMP for the protocol.

", - "NetworkAclEntry$IcmpTypeCode": "

ICMP protocol: The ICMP type and code.

", - "ReplaceNetworkAclEntryRequest$IcmpTypeCode": "

ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for the protocol.

" - } - }, - "IdFormat": { - "base": "

Describes the ID format for a resource.

", - "refs": { - "IdFormatList$member": null - } - }, - "IdFormatList": { - "base": null, - "refs": { - "DescribeIdFormatResult$Statuses": "

Information about the ID format for the resource.

" - } - }, - "Image": { - "base": "

Describes an image.

", - "refs": { - "ImageList$member": null - } - }, - "ImageAttribute": { - "base": "

Describes an image attribute.

", - "refs": { - } - }, - "ImageAttributeName": { - "base": null, - "refs": { - "DescribeImageAttributeRequest$Attribute": "

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.

" - } - }, - "ImageDiskContainer": { - "base": "

Describes the disk container object for an import image task.

", - "refs": { - "ImageDiskContainerList$member": null - } - }, - "ImageDiskContainerList": { - "base": null, - "refs": { - "ImportImageRequest$DiskContainers": "

Information about the disk containers.

" - } - }, - "ImageIdStringList": { - "base": null, - "refs": { - "DescribeImagesRequest$ImageIds": "

One or more image IDs.

Default: Describes all images available to you.

" - } - }, - "ImageList": { - "base": null, - "refs": { - "DescribeImagesResult$Images": "

Information about one or more images.

" - } - }, - "ImageState": { - "base": null, - "refs": { - "Image$State": "

The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

" - } - }, - "ImageTypeValues": { - "base": null, - "refs": { - "Image$ImageType": "

The type of image.

" - } - }, - "ImportImageRequest": { - "base": "

Contains the parameters for ImportImage.

", - "refs": { - } - }, - "ImportImageResult": { - "base": "

Contains the output for ImportImage.

", - "refs": { - } - }, - "ImportImageTask": { - "base": "

Describes an import image task.

", - "refs": { - "ImportImageTaskList$member": null - } - }, - "ImportImageTaskList": { - "base": null, - "refs": { - "DescribeImportImageTasksResult$ImportImageTasks": "

A list of zero or more import image tasks that are currently active or were completed or canceled in the previous 7 days.

" - } - }, - "ImportInstanceLaunchSpecification": { - "base": "

Describes the launch specification for VM import.

", - "refs": { - "ImportInstanceRequest$LaunchSpecification": "

The launch specification.

" - } - }, - "ImportInstanceRequest": { - "base": "

Contains the parameters for ImportInstance.

", - "refs": { - } - }, - "ImportInstanceResult": { - "base": "

Contains the output for ImportInstance.

", - "refs": { - } - }, - "ImportInstanceTaskDetails": { - "base": "

Describes an import instance task.

", - "refs": { - "ConversionTask$ImportInstance": "

If the task is for importing an instance, this contains information about the import instance task.

" - } - }, - "ImportInstanceVolumeDetailItem": { - "base": "

Describes an import volume task.

", - "refs": { - "ImportInstanceVolumeDetailSet$member": null - } - }, - "ImportInstanceVolumeDetailSet": { - "base": null, - "refs": { - "ImportInstanceTaskDetails$Volumes": "

One or more volumes.

" - } - }, - "ImportKeyPairRequest": { - "base": "

Contains the parameters for ImportKeyPair.

", - "refs": { - } - }, - "ImportKeyPairResult": { - "base": "

Contains the output of ImportKeyPair.

", - "refs": { - } - }, - "ImportSnapshotRequest": { - "base": "

Contains the parameters for ImportSnapshot.

", - "refs": { - } - }, - "ImportSnapshotResult": { - "base": "

Contains the output for ImportSnapshot.

", - "refs": { - } - }, - "ImportSnapshotTask": { - "base": "

Describes an import snapshot task.

", - "refs": { - "ImportSnapshotTaskList$member": null - } - }, - "ImportSnapshotTaskList": { - "base": null, - "refs": { - "DescribeImportSnapshotTasksResult$ImportSnapshotTasks": "

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the previous 7 days.

" - } - }, - "ImportTaskIdList": { - "base": null, - "refs": { - "DescribeImportImageTasksRequest$ImportTaskIds": "

A list of import image task IDs.

", - "DescribeImportSnapshotTasksRequest$ImportTaskIds": "

A list of import snapshot task IDs.

" - } - }, - "ImportVolumeRequest": { - "base": "

Contains the parameters for ImportVolume.

", - "refs": { - } - }, - "ImportVolumeResult": { - "base": "

Contains the output for ImportVolume.

", - "refs": { - } - }, - "ImportVolumeTaskDetails": { - "base": "

Describes an import volume task.

", - "refs": { - "ConversionTask$ImportVolume": "

If the task is for importing a volume, this contains information about the import volume task.

" - } - }, - "Instance": { - "base": "

Describes an instance.

", - "refs": { - "InstanceList$member": null - } - }, - "InstanceAttribute": { - "base": "

Describes an instance attribute.

", - "refs": { - } - }, - "InstanceAttributeName": { - "base": null, - "refs": { - "DescribeInstanceAttributeRequest$Attribute": "

The instance attribute.

", - "ModifyInstanceAttributeRequest$Attribute": "

The name of the attribute.

", - "ResetInstanceAttributeRequest$Attribute": "

The attribute to reset.

You can only reset the following attributes: kernel | ramdisk | sourceDestCheck. To change an instance attribute, use ModifyInstanceAttribute.

" - } - }, - "InstanceBlockDeviceMapping": { - "base": "

Describes a block device mapping.

", - "refs": { - "InstanceBlockDeviceMappingList$member": null - } - }, - "InstanceBlockDeviceMappingList": { - "base": null, - "refs": { - "Instance$BlockDeviceMappings": "

Any block device mapping entries for the instance.

", - "InstanceAttribute$BlockDeviceMappings": "

The block device mapping of the instance.

" - } - }, - "InstanceBlockDeviceMappingSpecification": { - "base": "

Describes a block device mapping entry.

", - "refs": { - "InstanceBlockDeviceMappingSpecificationList$member": null - } - }, - "InstanceBlockDeviceMappingSpecificationList": { - "base": null, - "refs": { - "ModifyInstanceAttributeRequest$BlockDeviceMappings": "

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.

" - } - }, - "InstanceCapacity": { - "base": "

Information about the instance type that the Dedicated host supports.

", - "refs": { - "AvailableInstanceCapacityList$member": null - } - }, - "InstanceCount": { - "base": "

Describes a Reserved Instance listing state.

", - "refs": { - "InstanceCountList$member": null - } - }, - "InstanceCountList": { - "base": null, - "refs": { - "ReservedInstancesListing$InstanceCounts": "

The number of instances in this state.

" - } - }, - "InstanceExportDetails": { - "base": "

Describes an instance to export.

", - "refs": { - "ExportTask$InstanceExportDetails": "

Information about the instance to export.

" - } - }, - "InstanceIdSet": { - "base": null, - "refs": { - "RunScheduledInstancesResult$InstanceIdSet": "

The IDs of the newly launched instances.

" - } - }, - "InstanceIdStringList": { - "base": null, - "refs": { - "DescribeClassicLinkInstancesRequest$InstanceIds": "

One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

", - "DescribeInstanceStatusRequest$InstanceIds": "

One or more instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

", - "DescribeInstancesRequest$InstanceIds": "

One or more instance IDs.

Default: Describes all your instances.

", - "MonitorInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "RebootInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "ReportInstanceStatusRequest$Instances": "

One or more instances.

", - "StartInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "StopInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "TerminateInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "UnmonitorInstancesRequest$InstanceIds": "

One or more instance IDs.

" - } - }, - "InstanceLifecycleType": { - "base": null, - "refs": { - "Instance$InstanceLifecycle": "

Indicates whether this is a Spot instance or a Scheduled Instance.

" - } - }, - "InstanceList": { - "base": null, - "refs": { - "Reservation$Instances": "

One or more instances.

" - } - }, - "InstanceMonitoring": { - "base": "

Describes the monitoring information of the instance.

", - "refs": { - "InstanceMonitoringList$member": null - } - }, - "InstanceMonitoringList": { - "base": null, - "refs": { - "MonitorInstancesResult$InstanceMonitorings": "

Monitoring information for one or more instances.

", - "UnmonitorInstancesResult$InstanceMonitorings": "

Monitoring information for one or more instances.

" - } - }, - "InstanceNetworkInterface": { - "base": "

Describes a network interface.

", - "refs": { - "InstanceNetworkInterfaceList$member": null - } - }, - "InstanceNetworkInterfaceAssociation": { - "base": "

Describes association information for an Elastic IP address.

", - "refs": { - "InstanceNetworkInterface$Association": "

The association information for an Elastic IP associated with the network interface.

", - "InstancePrivateIpAddress$Association": "

The association information for an Elastic IP address for the network interface.

" - } - }, - "InstanceNetworkInterfaceAttachment": { - "base": "

Describes a network interface attachment.

", - "refs": { - "InstanceNetworkInterface$Attachment": "

The network interface attachment.

" - } - }, - "InstanceNetworkInterfaceList": { - "base": null, - "refs": { - "Instance$NetworkInterfaces": "

[EC2-VPC] One or more network interfaces for the instance.

" - } - }, - "InstanceNetworkInterfaceSpecification": { - "base": "

Describes a network interface.

", - "refs": { - "InstanceNetworkInterfaceSpecificationList$member": null - } - }, - "InstanceNetworkInterfaceSpecificationList": { - "base": null, - "refs": { - "LaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

", - "RequestSpotLaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

", - "RunInstancesRequest$NetworkInterfaces": "

One or more network interfaces.

", - "SpotFleetLaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

" - } - }, - "InstancePrivateIpAddress": { - "base": "

Describes a private IP address.

", - "refs": { - "InstancePrivateIpAddressList$member": null - } - }, - "InstancePrivateIpAddressList": { - "base": null, - "refs": { - "InstanceNetworkInterface$PrivateIpAddresses": "

The private IP addresses associated with the network interface.

" - } - }, - "InstanceState": { - "base": "

Describes the current state of the instance.

", - "refs": { - "Instance$State": "

The current state of the instance.

", - "InstanceStateChange$CurrentState": "

The current state of the instance.

", - "InstanceStateChange$PreviousState": "

The previous state of the instance.

", - "InstanceStatus$InstanceState": "

The intended state of the instance. DescribeInstanceStatus requires that an instance be in the running state.

" - } - }, - "InstanceStateChange": { - "base": "

Describes an instance state change.

", - "refs": { - "InstanceStateChangeList$member": null - } - }, - "InstanceStateChangeList": { - "base": null, - "refs": { - "StartInstancesResult$StartingInstances": "

Information about one or more started instances.

", - "StopInstancesResult$StoppingInstances": "

Information about one or more stopped instances.

", - "TerminateInstancesResult$TerminatingInstances": "

Information about one or more terminated instances.

" - } - }, - "InstanceStateName": { - "base": null, - "refs": { - "InstanceState$Name": "

The current state of the instance.

" - } - }, - "InstanceStatus": { - "base": "

Describes the status of an instance.

", - "refs": { - "InstanceStatusList$member": null - } - }, - "InstanceStatusDetails": { - "base": "

Describes the instance status.

", - "refs": { - "InstanceStatusDetailsList$member": null - } - }, - "InstanceStatusDetailsList": { - "base": null, - "refs": { - "InstanceStatusSummary$Details": "

The system instance health or application instance health.

" - } - }, - "InstanceStatusEvent": { - "base": "

Describes a scheduled event for an instance.

", - "refs": { - "InstanceStatusEventList$member": null - } - }, - "InstanceStatusEventList": { - "base": null, - "refs": { - "InstanceStatus$Events": "

Any scheduled events associated with the instance.

" - } - }, - "InstanceStatusList": { - "base": null, - "refs": { - "DescribeInstanceStatusResult$InstanceStatuses": "

One or more instance status descriptions.

" - } - }, - "InstanceStatusSummary": { - "base": "

Describes the status of an instance.

", - "refs": { - "InstanceStatus$SystemStatus": "

Reports impaired functionality that stems from issues related to the systems that support an instance, such as hardware failures and network connectivity problems.

", - "InstanceStatus$InstanceStatus": "

Reports impaired functionality that stems from issues internal to the instance, such as impaired reachability.

" - } - }, - "InstanceType": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$InstanceType": "

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.

", - "ImportInstanceLaunchSpecification$InstanceType": "

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.

", - "Instance$InstanceType": "

The instance type.

", - "InstanceTypeList$member": null, - "LaunchSpecification$InstanceType": "

The instance type.

", - "RequestSpotLaunchSpecification$InstanceType": "

The instance type.

", - "ReservedInstances$InstanceType": "

The instance type on which the Reserved Instance can be used.

", - "ReservedInstancesConfiguration$InstanceType": "

The instance type for the modified Reserved Instances.

", - "ReservedInstancesOffering$InstanceType": "

The instance type on which the Reserved Instance can be used.

", - "RunInstancesRequest$InstanceType": "

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

Default: m1.small

", - "SpotFleetLaunchSpecification$InstanceType": "

The instance type.

", - "SpotPrice$InstanceType": "

The instance type.

" - } - }, - "InstanceTypeList": { - "base": null, - "refs": { - "DescribeSpotPriceHistoryRequest$InstanceTypes": "

Filters the results by the specified instance types.

" - } - }, - "Integer": { - "base": null, - "refs": { - "AllocateHostsRequest$Quantity": "

The number of Dedicated hosts you want to allocate to your account with these parameters.

", - "AssignPrivateIpAddressesRequest$SecondaryPrivateIpAddressCount": "

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", - "AttachNetworkInterfaceRequest$DeviceIndex": "

The index of the device for the network interface attachment.

", - "AuthorizeSecurityGroupEgressRequest$FromPort": "

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.

", - "AuthorizeSecurityGroupEgressRequest$ToPort": "

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.

", - "AuthorizeSecurityGroupIngressRequest$FromPort": "

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.

", - "AuthorizeSecurityGroupIngressRequest$ToPort": "

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.

", - "AvailableCapacity$AvailableVCpus": "

The number of vCPUs available on the Dedicated host.

", - "CreateCustomerGatewayRequest$BgpAsn": "

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

", - "CreateNetworkAclEntryRequest$RuleNumber": "

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.

", - "CreateNetworkInterfaceRequest$SecondaryPrivateIpAddressCount": "

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.

", - "CreateReservedInstancesListingRequest$InstanceCount": "

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.

", - "CreateVolumeRequest$Size": "

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.

", - "CreateVolumeRequest$Iops": "

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

", - "DeleteNetworkAclEntryRequest$RuleNumber": "

The rule number of the entry to delete.

", - "DescribeClassicLinkInstancesRequest$MaxResults": "

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.

", - "DescribeFlowLogsRequest$MaxResults": "

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.

", - "DescribeHostsRequest$MaxResults": "

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.

", - "DescribeImportImageTasksRequest$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

", - "DescribeImportSnapshotTasksRequest$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

", - "DescribeInstanceStatusRequest$MaxResults": "

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.

", - "DescribeInstancesRequest$MaxResults": "

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.

", - "DescribeMovingAddressesRequest$MaxResults": "

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.

", - "DescribeNatGatewaysRequest$MaxResults": "

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.

", - "DescribePrefixListsRequest$MaxResults": "

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.

", - "DescribeReservedInstancesOfferingsRequest$MaxResults": "

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

", - "DescribeReservedInstancesOfferingsRequest$MaxInstanceCount": "

The maximum number of instances to filter when searching for offerings.

Default: 20

", - "DescribeScheduledInstanceAvailabilityRequest$MinSlotDurationInHours": "

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.

", - "DescribeScheduledInstanceAvailabilityRequest$MaxSlotDurationInHours": "

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours and less than 1,720.

", - "DescribeScheduledInstanceAvailabilityRequest$MaxResults": "

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.

", - "DescribeScheduledInstancesRequest$MaxResults": "

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.

", - "DescribeSnapshotsRequest$MaxResults": "

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.

", - "DescribeSpotFleetInstancesRequest$MaxResults": "

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.

", - "DescribeSpotFleetRequestHistoryRequest$MaxResults": "

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.

", - "DescribeSpotFleetRequestsRequest$MaxResults": "

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.

", - "DescribeSpotPriceHistoryRequest$MaxResults": "

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.

", - "DescribeTagsRequest$MaxResults": "

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.

", - "DescribeVolumeStatusRequest$MaxResults": "

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.

", - "DescribeVolumesRequest$MaxResults": "

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.

", - "DescribeVpcEndpointServicesRequest$MaxResults": "

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.

", - "DescribeVpcEndpointsRequest$MaxResults": "

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.

", - "EbsBlockDevice$VolumeSize": "

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.

", - "EbsBlockDevice$Iops": "

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.

", - "HostProperties$Sockets": "

The number of sockets on the Dedicated host.

", - "HostProperties$Cores": "

The number of cores on the Dedicated host.

", - "HostProperties$TotalVCpus": "

The number of vCPUs on the Dedicated host.

", - "IcmpTypeCode$Type": "

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", - "IcmpTypeCode$Code": "

The ICMP type. A value of -1 means all types.

", - "Instance$AmiLaunchIndex": "

The AMI launch index, which can be used to find this instance in the launch group.

", - "InstanceCapacity$AvailableCapacity": "

The number of instances that can still be launched onto the Dedicated host.

", - "InstanceCapacity$TotalCapacity": "

The total number of instances that can be launched onto the Dedicated host.

", - "InstanceCount$InstanceCount": "

The number of listed Reserved Instances in the state specified by the state.

", - "InstanceNetworkInterfaceAttachment$DeviceIndex": "

The index of the device on the instance for the network interface attachment.

", - "InstanceNetworkInterfaceSpecification$DeviceIndex": "

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.

", - "InstanceNetworkInterfaceSpecification$SecondaryPrivateIpAddressCount": "

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.

", - "InstanceState$Code": "

The low byte represents the state. The high byte is an opaque internal value and should be ignored.

", - "IpPermission$FromPort": "

The start of port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "IpPermission$ToPort": "

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.

", - "ModifySpotFleetRequestRequest$TargetCapacity": "

The size of the fleet.

", - "NetworkAclEntry$RuleNumber": "

The rule number for the entry. ACL entries are processed in ascending order by rule number.

", - "NetworkInterfaceAttachment$DeviceIndex": "

The device index of the network interface attachment on the instance.

", - "OccurrenceDayRequestSet$member": null, - "OccurrenceDaySet$member": null, - "PortRange$From": "

The first port in the range.

", - "PortRange$To": "

The last port in the range.

", - "PricingDetail$Count": "

The number of reservations available for the price.

", - "PurchaseRequest$InstanceCount": "

The number of instances.

", - "PurchaseReservedInstancesOfferingRequest$InstanceCount": "

The number of Reserved Instances to purchase.

", - "ReplaceNetworkAclEntryRequest$RuleNumber": "

The rule number of the entry to replace.

", - "RequestSpotInstancesRequest$InstanceCount": "

The maximum number of Spot instances to launch.

Default: 1

", - "RequestSpotInstancesRequest$BlockDurationMinutes": "

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.

", - "ReservedInstances$InstanceCount": "

The number of reservations purchased.

", - "ReservedInstancesConfiguration$InstanceCount": "

The number of modified Reserved Instances.

", - "RevokeSecurityGroupEgressRequest$FromPort": "

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.

", - "RevokeSecurityGroupEgressRequest$ToPort": "

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.

", - "RevokeSecurityGroupIngressRequest$FromPort": "

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.

", - "RevokeSecurityGroupIngressRequest$ToPort": "

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.

", - "RunInstancesRequest$MinCount": "

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.

", - "RunInstancesRequest$MaxCount": "

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.

", - "RunScheduledInstancesRequest$InstanceCount": "

The number of instances.

Default: 1

", - "ScheduledInstance$SlotDurationInHours": "

The number of hours in the schedule.

", - "ScheduledInstance$TotalScheduledInstanceHours": "

The total number of hours for a single instance for the entire term.

", - "ScheduledInstance$InstanceCount": "

The number of instances.

", - "ScheduledInstanceAvailability$SlotDurationInHours": "

The number of hours in the schedule.

", - "ScheduledInstanceAvailability$TotalScheduledInstanceHours": "

The total number of hours for a single instance for the entire term.

", - "ScheduledInstanceAvailability$AvailableInstanceCount": "

The number of available instances.

", - "ScheduledInstanceAvailability$MinTermDurationInDays": "

The minimum term. The only possible value is 365 days.

", - "ScheduledInstanceAvailability$MaxTermDurationInDays": "

The maximum term. The only possible value is 365 days.

", - "ScheduledInstanceRecurrence$Interval": "

The interval quantity. The interval unit depends on the value of frequency. For example, every 2 weeks or every 2 months.

", - "ScheduledInstanceRecurrenceRequest$Interval": "

The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 weeks or every 2 months.

", - "ScheduledInstancesEbs$VolumeSize": "

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.

", - "ScheduledInstancesEbs$Iops": "

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.

", - "ScheduledInstancesNetworkInterface$DeviceIndex": "

The index of the device for the network interface attachment.

", - "ScheduledInstancesNetworkInterface$SecondaryPrivateIpAddressCount": "

The number of secondary private IP addresses.

", - "Snapshot$VolumeSize": "

The size of the volume, in GiB.

", - "SpotFleetRequestConfigData$TargetCapacity": "

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.

", - "SpotInstanceRequest$BlockDurationMinutes": "

The duration for the Spot instance, in minutes.

", - "StaleIpPermission$FromPort": "

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.

", - "StaleIpPermission$ToPort": "

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.

", - "Subnet$AvailableIpAddressCount": "

The number of unused IP addresses in the subnet. Note that the IP addresses for any stopped instances are considered unavailable.

", - "VgwTelemetry$AcceptedRouteCount": "

The number of accepted routes.

", - "Volume$Size": "

The size of the volume, in GiBs.

", - "Volume$Iops": "

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.

" - } - }, - "InternetGateway": { - "base": "

Describes an Internet gateway.

", - "refs": { - "CreateInternetGatewayResult$InternetGateway": "

Information about the Internet gateway.

", - "InternetGatewayList$member": null - } - }, - "InternetGatewayAttachment": { - "base": "

Describes the attachment of a VPC to an Internet gateway.

", - "refs": { - "InternetGatewayAttachmentList$member": null - } - }, - "InternetGatewayAttachmentList": { - "base": null, - "refs": { - "InternetGateway$Attachments": "

Any VPCs attached to the Internet gateway.

" - } - }, - "InternetGatewayList": { - "base": null, - "refs": { - "DescribeInternetGatewaysResult$InternetGateways": "

Information about one or more Internet gateways.

" - } - }, - "IpPermission": { - "base": "

Describes a security group rule.

", - "refs": { - "IpPermissionList$member": null - } - }, - "IpPermissionList": { - "base": null, - "refs": { - "AuthorizeSecurityGroupEgressRequest$IpPermissions": "

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

", - "AuthorizeSecurityGroupIngressRequest$IpPermissions": "

A set of IP permissions. Can be used to specify multiple rules in a single command.

", - "RevokeSecurityGroupEgressRequest$IpPermissions": "

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

", - "RevokeSecurityGroupIngressRequest$IpPermissions": "

A set of IP permissions. You can't specify a source security group and a CIDR IP address range.

", - "SecurityGroup$IpPermissions": "

One or more inbound rules associated with the security group.

", - "SecurityGroup$IpPermissionsEgress": "

[EC2-VPC] One or more outbound rules associated with the security group.

" - } - }, - "IpRange": { - "base": "

Describes an IP range.

", - "refs": { - "IpRangeList$member": null - } - }, - "IpRangeList": { - "base": null, - "refs": { - "IpPermission$IpRanges": "

One or more IP ranges.

" - } - }, - "IpRanges": { - "base": null, - "refs": { - "StaleIpPermission$IpRanges": "

One or more IP ranges. Not applicable for stale security group rules.

" - } - }, - "KeyNameStringList": { - "base": null, - "refs": { - "DescribeKeyPairsRequest$KeyNames": "

One or more key pair names.

Default: Describes all your key pairs.

" - } - }, - "KeyPair": { - "base": "

Describes a key pair.

", - "refs": { - } - }, - "KeyPairInfo": { - "base": "

Describes a key pair.

", - "refs": { - "KeyPairList$member": null - } - }, - "KeyPairList": { - "base": null, - "refs": { - "DescribeKeyPairsResult$KeyPairs": "

Information about one or more key pairs.

" - } - }, - "LaunchPermission": { - "base": "

Describes a launch permission.

", - "refs": { - "LaunchPermissionList$member": null - } - }, - "LaunchPermissionList": { - "base": null, - "refs": { - "ImageAttribute$LaunchPermissions": "

One or more launch permissions.

", - "LaunchPermissionModifications$Add": "

The AWS account ID to add to the list of launch permissions for the AMI.

", - "LaunchPermissionModifications$Remove": "

The AWS account ID to remove from the list of launch permissions for the AMI.

" - } - }, - "LaunchPermissionModifications": { - "base": "

Describes a launch permission modification.

", - "refs": { - "ModifyImageAttributeRequest$LaunchPermission": "

A launch permission modification.

" - } - }, - "LaunchSpecification": { - "base": "

Describes the launch specification for an instance.

", - "refs": { - "SpotInstanceRequest$LaunchSpecification": "

Additional information for launching instances.

" - } - }, - "LaunchSpecsList": { - "base": null, - "refs": { - "SpotFleetRequestConfigData$LaunchSpecifications": "

Information about the launch specifications for the Spot fleet request.

" - } - }, - "ListingState": { - "base": null, - "refs": { - "InstanceCount$State": "

The states of the listed Reserved Instances.

" - } - }, - "ListingStatus": { - "base": null, - "refs": { - "ReservedInstancesListing$Status": "

The status of the Reserved Instance listing.

" - } - }, - "Long": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$MinDuration": "

The minimum duration (in seconds) to filter when searching for offerings.

Default: 2592000 (1 month)

", - "DescribeReservedInstancesOfferingsRequest$MaxDuration": "

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

", - "DiskImageDescription$Size": "

The size of the disk image, in GiB.

", - "DiskImageDetail$Bytes": "

The size of the disk image, in GiB.

", - "DiskImageVolumeDescription$Size": "

The size of the volume, in GiB.

", - "ImportInstanceVolumeDetailItem$BytesConverted": "

The number of bytes converted so far.

", - "ImportVolumeTaskDetails$BytesConverted": "

The number of bytes converted so far.

", - "PriceSchedule$Term": "

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "PriceScheduleSpecification$Term": "

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "ReservedInstances$Duration": "

The duration of the Reserved Instance, in seconds.

", - "ReservedInstancesOffering$Duration": "

The duration of the Reserved Instance, in seconds.

", - "VolumeDetail$Size": "

The size of the volume, in GiB.

" - } - }, - "MaxResults": { - "base": null, - "refs": { - "DescribeStaleSecurityGroupsRequest$MaxResults": "

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.

", - "DescribeVpcClassicLinkDnsSupportRequest$MaxResults": "

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.

" - } - }, - "ModifyHostsRequest": { - "base": "

Contains the parameters for ModifyHosts.

", - "refs": { - } - }, - "ModifyHostsResult": { - "base": "

Contains the output of ModifyHosts.

", - "refs": { - } - }, - "ModifyIdFormatRequest": { - "base": "

Contains the parameters of ModifyIdFormat.

", - "refs": { - } - }, - "ModifyImageAttributeRequest": { - "base": "

Contains the parameters for ModifyImageAttribute.

", - "refs": { - } - }, - "ModifyInstanceAttributeRequest": { - "base": "

Contains the parameters for ModifyInstanceAttribute.

", - "refs": { - } - }, - "ModifyInstancePlacementRequest": { - "base": "

Contains the parameters for ModifyInstancePlacement.

", - "refs": { - } - }, - "ModifyInstancePlacementResult": { - "base": "

Contains the output of ModifyInstancePlacement.

", - "refs": { - } - }, - "ModifyNetworkInterfaceAttributeRequest": { - "base": "

Contains the parameters for ModifyNetworkInterfaceAttribute.

", - "refs": { - } - }, - "ModifyReservedInstancesRequest": { - "base": "

Contains the parameters for ModifyReservedInstances.

", - "refs": { - } - }, - "ModifyReservedInstancesResult": { - "base": "

Contains the output of ModifyReservedInstances.

", - "refs": { - } - }, - "ModifySnapshotAttributeRequest": { - "base": "

Contains the parameters for ModifySnapshotAttribute.

", - "refs": { - } - }, - "ModifySpotFleetRequestRequest": { - "base": "

Contains the parameters for ModifySpotFleetRequest.

", - "refs": { - } - }, - "ModifySpotFleetRequestResponse": { - "base": "

Contains the output of ModifySpotFleetRequest.

", - "refs": { - } - }, - "ModifySubnetAttributeRequest": { - "base": "

Contains the parameters for ModifySubnetAttribute.

", - "refs": { - } - }, - "ModifyVolumeAttributeRequest": { - "base": "

Contains the parameters for ModifyVolumeAttribute.

", - "refs": { - } - }, - "ModifyVpcAttributeRequest": { - "base": "

Contains the parameters for ModifyVpcAttribute.

", - "refs": { - } - }, - "ModifyVpcEndpointRequest": { - "base": "

Contains the parameters for ModifyVpcEndpoint.

", - "refs": { - } - }, - "ModifyVpcEndpointResult": { - "base": "

Contains the output of ModifyVpcEndpoint.

", - "refs": { - } - }, - "ModifyVpcPeeringConnectionOptionsRequest": { - "base": null, - "refs": { - } - }, - "ModifyVpcPeeringConnectionOptionsResult": { - "base": null, - "refs": { - } - }, - "MonitorInstancesRequest": { - "base": "

Contains the parameters for MonitorInstances.

", - "refs": { - } - }, - "MonitorInstancesResult": { - "base": "

Contains the output of MonitorInstances.

", - "refs": { - } - }, - "Monitoring": { - "base": "

Describes the monitoring for the instance.

", - "refs": { - "Instance$Monitoring": "

The monitoring information for the instance.

", - "InstanceMonitoring$Monitoring": "

The monitoring information.

" - } - }, - "MonitoringState": { - "base": null, - "refs": { - "Monitoring$State": "

Indicates whether monitoring is enabled for the instance.

" - } - }, - "MoveAddressToVpcRequest": { - "base": "

Contains the parameters for MoveAddressToVpc.

", - "refs": { - } - }, - "MoveAddressToVpcResult": { - "base": "

Contains the output of MoveAddressToVpc.

", - "refs": { - } - }, - "MoveStatus": { - "base": null, - "refs": { - "MovingAddressStatus$MoveStatus": "

The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

" - } - }, - "MovingAddressStatus": { - "base": "

Describes the status of a moving Elastic IP address.

", - "refs": { - "MovingAddressStatusSet$member": null - } - }, - "MovingAddressStatusSet": { - "base": null, - "refs": { - "DescribeMovingAddressesResult$MovingAddressStatuses": "

The status for each Elastic IP address.

" - } - }, - "NatGateway": { - "base": "

Describes a NAT gateway.

", - "refs": { - "CreateNatGatewayResult$NatGateway": "

Information about the NAT gateway.

", - "NatGatewayList$member": null - } - }, - "NatGatewayAddress": { - "base": "

Describes the IP addresses and network interface associated with a NAT gateway.

", - "refs": { - "NatGatewayAddressList$member": null - } - }, - "NatGatewayAddressList": { - "base": null, - "refs": { - "NatGateway$NatGatewayAddresses": "

Information about the IP addresses and network interface associated with the NAT gateway.

" - } - }, - "NatGatewayList": { - "base": null, - "refs": { - "DescribeNatGatewaysResult$NatGateways": "

Information about the NAT gateways.

" - } - }, - "NatGatewayState": { - "base": null, - "refs": { - "NatGateway$State": "

The state of the NAT gateway.

" - } - }, - "NetworkAcl": { - "base": "

Describes a network ACL.

", - "refs": { - "CreateNetworkAclResult$NetworkAcl": "

Information about the network ACL.

", - "NetworkAclList$member": null - } - }, - "NetworkAclAssociation": { - "base": "

Describes an association between a network ACL and a subnet.

", - "refs": { - "NetworkAclAssociationList$member": null - } - }, - "NetworkAclAssociationList": { - "base": null, - "refs": { - "NetworkAcl$Associations": "

Any associations between the network ACL and one or more subnets

" - } - }, - "NetworkAclEntry": { - "base": "

Describes an entry in a network ACL.

", - "refs": { - "NetworkAclEntryList$member": null - } - }, - "NetworkAclEntryList": { - "base": null, - "refs": { - "NetworkAcl$Entries": "

One or more entries (rules) in the network ACL.

" - } - }, - "NetworkAclList": { - "base": null, - "refs": { - "DescribeNetworkAclsResult$NetworkAcls": "

Information about one or more network ACLs.

" - } - }, - "NetworkInterface": { - "base": "

Describes a network interface.

", - "refs": { - "CreateNetworkInterfaceResult$NetworkInterface": "

Information about the network interface.

", - "NetworkInterfaceList$member": null - } - }, - "NetworkInterfaceAssociation": { - "base": "

Describes association information for an Elastic IP address.

", - "refs": { - "NetworkInterface$Association": "

The association information for an Elastic IP associated with the network interface.

", - "NetworkInterfacePrivateIpAddress$Association": "

The association information for an Elastic IP address associated with the network interface.

" - } - }, - "NetworkInterfaceAttachment": { - "base": "

Describes a network interface attachment.

", - "refs": { - "DescribeNetworkInterfaceAttributeResult$Attachment": "

The attachment (if any) of the network interface.

", - "NetworkInterface$Attachment": "

The network interface attachment.

" - } - }, - "NetworkInterfaceAttachmentChanges": { - "base": "

Describes an attachment change.

", - "refs": { - "ModifyNetworkInterfaceAttributeRequest$Attachment": "

Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

" - } - }, - "NetworkInterfaceAttribute": { - "base": null, - "refs": { - "DescribeNetworkInterfaceAttributeRequest$Attribute": "

The attribute of the network interface.

" - } - }, - "NetworkInterfaceIdList": { - "base": null, - "refs": { - "DescribeNetworkInterfacesRequest$NetworkInterfaceIds": "

One or more network interface IDs.

Default: Describes all your network interfaces.

" - } - }, - "NetworkInterfaceList": { - "base": null, - "refs": { - "DescribeNetworkInterfacesResult$NetworkInterfaces": "

Information about one or more network interfaces.

" - } - }, - "NetworkInterfacePrivateIpAddress": { - "base": "

Describes the private IP address of a network interface.

", - "refs": { - "NetworkInterfacePrivateIpAddressList$member": null - } - }, - "NetworkInterfacePrivateIpAddressList": { - "base": null, - "refs": { - "NetworkInterface$PrivateIpAddresses": "

The private IP addresses associated with the network interface.

" - } - }, - "NetworkInterfaceStatus": { - "base": null, - "refs": { - "InstanceNetworkInterface$Status": "

The status of the network interface.

", - "NetworkInterface$Status": "

The status of the network interface.

" - } - }, - "NetworkInterfaceType": { - "base": null, - "refs": { - "NetworkInterface$InterfaceType": "

The type of interface.

" - } - }, - "NewDhcpConfiguration": { - "base": null, - "refs": { - "NewDhcpConfigurationList$member": null - } - }, - "NewDhcpConfigurationList": { - "base": null, - "refs": { - "CreateDhcpOptionsRequest$DhcpConfigurations": "

A DHCP configuration option.

" - } - }, - "NextToken": { - "base": null, - "refs": { - "DescribeStaleSecurityGroupsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcClassicLinkDnsSupportRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcClassicLinkDnsSupportResult$NextToken": "

The token to use when requesting the next set of items.

" - } - }, - "OccurrenceDayRequestSet": { - "base": null, - "refs": { - "ScheduledInstanceRecurrenceRequest$OccurrenceDays": "

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.

" - } - }, - "OccurrenceDaySet": { - "base": null, - "refs": { - "ScheduledInstanceRecurrence$OccurrenceDaySet": "

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).

" - } - }, - "OfferingTypeValues": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$OfferingType": "

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.

", - "DescribeReservedInstancesRequest$OfferingType": "

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.

", - "ReservedInstances$OfferingType": "

The Reserved Instance offering type.

", - "ReservedInstancesOffering$OfferingType": "

The Reserved Instance offering type.

" - } - }, - "OperationType": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$OperationType": "

The operation type.

", - "ModifySnapshotAttributeRequest$OperationType": "

The type of operation to perform to the attribute.

" - } - }, - "OwnerStringList": { - "base": null, - "refs": { - "DescribeImagesRequest$Owners": "

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.

", - "DescribeSnapshotsRequest$OwnerIds": "

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

" - } - }, - "PeeringConnectionOptions": { - "base": "

Describes the VPC peering connection options.

", - "refs": { - "ModifyVpcPeeringConnectionOptionsResult$RequesterPeeringConnectionOptions": "

Information about the VPC peering connection options for the requester VPC.

", - "ModifyVpcPeeringConnectionOptionsResult$AccepterPeeringConnectionOptions": "

Information about the VPC peering connection options for the accepter VPC.

" - } - }, - "PeeringConnectionOptionsRequest": { - "base": "

The VPC peering connection options.

", - "refs": { - "ModifyVpcPeeringConnectionOptionsRequest$RequesterPeeringConnectionOptions": "

The VPC peering connection options for the requester VPC.

", - "ModifyVpcPeeringConnectionOptionsRequest$AccepterPeeringConnectionOptions": "

The VPC peering connection options for the accepter VPC.

" - } - }, - "PermissionGroup": { - "base": null, - "refs": { - "CreateVolumePermission$Group": "

The specific group that is to be added or removed from a volume's list of create volume permissions.

", - "LaunchPermission$Group": "

The name of the group.

" - } - }, - "Placement": { - "base": "

Describes the placement for the instance.

", - "refs": { - "ImportInstanceLaunchSpecification$Placement": "

The placement information for the instance.

", - "Instance$Placement": "

The location where the instance launched, if applicable.

", - "RunInstancesRequest$Placement": "

The placement for the instance.

" - } - }, - "PlacementGroup": { - "base": "

Describes a placement group.

", - "refs": { - "PlacementGroupList$member": null - } - }, - "PlacementGroupList": { - "base": null, - "refs": { - "DescribePlacementGroupsResult$PlacementGroups": "

One or more placement groups.

" - } - }, - "PlacementGroupState": { - "base": null, - "refs": { - "PlacementGroup$State": "

The state of the placement group.

" - } - }, - "PlacementGroupStringList": { - "base": null, - "refs": { - "DescribePlacementGroupsRequest$GroupNames": "

One or more placement group names.

Default: Describes all your placement groups, or only those otherwise specified.

" - } - }, - "PlacementStrategy": { - "base": null, - "refs": { - "CreatePlacementGroupRequest$Strategy": "

The placement strategy.

", - "PlacementGroup$Strategy": "

The placement strategy.

" - } - }, - "PlatformValues": { - "base": null, - "refs": { - "Image$Platform": "

The value is Windows for Windows AMIs; otherwise blank.

", - "ImportInstanceRequest$Platform": "

The instance operating system.

", - "ImportInstanceTaskDetails$Platform": "

The instance operating system.

", - "Instance$Platform": "

The value is Windows for Windows instances; otherwise blank.

" - } - }, - "PortRange": { - "base": "

Describes a range of ports.

", - "refs": { - "CreateNetworkAclEntryRequest$PortRange": "

TCP or UDP protocols: The range of ports the rule applies to.

", - "NetworkAclEntry$PortRange": "

TCP or UDP protocols: The range of ports the rule applies to.

", - "ReplaceNetworkAclEntryRequest$PortRange": "

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying 6 (TCP) or 17 (UDP) for the protocol.

" - } - }, - "PrefixList": { - "base": "

Describes prefixes for AWS services.

", - "refs": { - "PrefixListSet$member": null - } - }, - "PrefixListId": { - "base": "

The ID of the prefix.

", - "refs": { - "PrefixListIdList$member": null - } - }, - "PrefixListIdList": { - "base": null, - "refs": { - "IpPermission$PrefixListIds": "

(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.

" - } - }, - "PrefixListIdSet": { - "base": null, - "refs": { - "StaleIpPermission$PrefixListIds": "

One or more prefix list IDs for an AWS service. Not applicable for stale security group rules.

" - } - }, - "PrefixListSet": { - "base": null, - "refs": { - "DescribePrefixListsResult$PrefixLists": "

All available prefix lists.

" - } - }, - "PriceSchedule": { - "base": "

Describes the price for a Reserved Instance.

", - "refs": { - "PriceScheduleList$member": null - } - }, - "PriceScheduleList": { - "base": null, - "refs": { - "ReservedInstancesListing$PriceSchedules": "

The price of the Reserved Instance listing.

" - } - }, - "PriceScheduleSpecification": { - "base": "

Describes the price for a Reserved Instance.

", - "refs": { - "PriceScheduleSpecificationList$member": null - } - }, - "PriceScheduleSpecificationList": { - "base": null, - "refs": { - "CreateReservedInstancesListingRequest$PriceSchedules": "

A list specifying the price of the Reserved Instance for each month remaining in the Reserved Instance term.

" - } - }, - "PricingDetail": { - "base": "

Describes a Reserved Instance offering.

", - "refs": { - "PricingDetailsList$member": null - } - }, - "PricingDetailsList": { - "base": null, - "refs": { - "ReservedInstancesOffering$PricingDetails": "

The pricing details of the Reserved Instance offering.

" - } - }, - "PrivateIpAddressConfigSet": { - "base": null, - "refs": { - "ScheduledInstancesNetworkInterface$PrivateIpAddressConfigs": "

The private IP addresses.

" - } - }, - "PrivateIpAddressSpecification": { - "base": "

Describes a secondary private IP address for a network interface.

", - "refs": { - "PrivateIpAddressSpecificationList$member": null - } - }, - "PrivateIpAddressSpecificationList": { - "base": null, - "refs": { - "CreateNetworkInterfaceRequest$PrivateIpAddresses": "

One or more private IP addresses.

", - "InstanceNetworkInterfaceSpecification$PrivateIpAddresses": "

One or more private IP addresses to assign to the network interface. Only one private IP address can be designated as primary.

" - } - }, - "PrivateIpAddressStringList": { - "base": null, - "refs": { - "AssignPrivateIpAddressesRequest$PrivateIpAddresses": "

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.

", - "UnassignPrivateIpAddressesRequest$PrivateIpAddresses": "

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.

" - } - }, - "ProductCode": { - "base": "

Describes a product code.

", - "refs": { - "ProductCodeList$member": null - } - }, - "ProductCodeList": { - "base": null, - "refs": { - "DescribeSnapshotAttributeResult$ProductCodes": "

A list of product codes.

", - "DescribeVolumeAttributeResult$ProductCodes": "

A list of product codes.

", - "Image$ProductCodes": "

Any product codes associated with the AMI.

", - "ImageAttribute$ProductCodes": "

One or more product codes.

", - "Instance$ProductCodes": "

The product codes attached to this instance, if applicable.

", - "InstanceAttribute$ProductCodes": "

A list of product codes.

" - } - }, - "ProductCodeStringList": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$ProductCodes": "

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.

" - } - }, - "ProductCodeValues": { - "base": null, - "refs": { - "ProductCode$ProductCodeType": "

The type of product code.

" - } - }, - "ProductDescriptionList": { - "base": null, - "refs": { - "DescribeSpotPriceHistoryRequest$ProductDescriptions": "

Filters the results by the specified basic product descriptions.

" - } - }, - "PropagatingVgw": { - "base": "

Describes a virtual private gateway propagating route.

", - "refs": { - "PropagatingVgwList$member": null - } - }, - "PropagatingVgwList": { - "base": null, - "refs": { - "RouteTable$PropagatingVgws": "

Any virtual private gateway (VGW) propagating routes.

" - } - }, - "ProvisionedBandwidth": { - "base": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "refs": { - "NatGateway$ProvisionedBandwidth": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

" - } - }, - "PublicIpStringList": { - "base": null, - "refs": { - "DescribeAddressesRequest$PublicIps": "

[EC2-Classic] One or more Elastic IP addresses.

Default: Describes all your Elastic IP addresses.

" - } - }, - "PurchaseRequest": { - "base": "

Describes a request to purchase Scheduled Instances.

", - "refs": { - "PurchaseRequestSet$member": null - } - }, - "PurchaseRequestSet": { - "base": null, - "refs": { - "PurchaseScheduledInstancesRequest$PurchaseRequests": "

One or more purchase requests.

" - } - }, - "PurchaseReservedInstancesOfferingRequest": { - "base": "

Contains the parameters for PurchaseReservedInstancesOffering.

", - "refs": { - } - }, - "PurchaseReservedInstancesOfferingResult": { - "base": "

Contains the output of PurchaseReservedInstancesOffering.

", - "refs": { - } - }, - "PurchaseScheduledInstancesRequest": { - "base": "

Contains the parameters for PurchaseScheduledInstances.

", - "refs": { - } - }, - "PurchaseScheduledInstancesResult": { - "base": "

Contains the output of PurchaseScheduledInstances.

", - "refs": { - } - }, - "PurchasedScheduledInstanceSet": { - "base": null, - "refs": { - "PurchaseScheduledInstancesResult$ScheduledInstanceSet": "

Information about the Scheduled Instances.

" - } - }, - "RIProductDescription": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$ProductDescription": "

The Reserved Instance product platform description. Instances that include (Amazon VPC) in the description are for use with Amazon VPC.

", - "ReservedInstances$ProductDescription": "

The Reserved Instance product platform description.

", - "ReservedInstancesOffering$ProductDescription": "

The Reserved Instance product platform description.

", - "SpotInstanceRequest$ProductDescription": "

The product description associated with the Spot instance.

", - "SpotPrice$ProductDescription": "

A general description of the AMI.

" - } - }, - "ReasonCodesList": { - "base": null, - "refs": { - "ReportInstanceStatusRequest$ReasonCodes": "

One or more reason codes that describes the health state of your instance.

" - } - }, - "RebootInstancesRequest": { - "base": "

Contains the parameters for RebootInstances.

", - "refs": { - } - }, - "RecurringCharge": { - "base": "

Describes a recurring charge.

", - "refs": { - "RecurringChargesList$member": null - } - }, - "RecurringChargeFrequency": { - "base": null, - "refs": { - "RecurringCharge$Frequency": "

The frequency of the recurring charge.

" - } - }, - "RecurringChargesList": { - "base": null, - "refs": { - "ReservedInstances$RecurringCharges": "

The recurring charge tag assigned to the resource.

", - "ReservedInstancesOffering$RecurringCharges": "

The recurring charge tag assigned to the resource.

" - } - }, - "Region": { - "base": "

Describes a region.

", - "refs": { - "RegionList$member": null - } - }, - "RegionList": { - "base": null, - "refs": { - "DescribeRegionsResult$Regions": "

Information about one or more regions.

" - } - }, - "RegionNameStringList": { - "base": null, - "refs": { - "DescribeRegionsRequest$RegionNames": "

The names of one or more regions.

" - } - }, - "RegisterImageRequest": { - "base": "

Contains the parameters for RegisterImage.

", - "refs": { - } - }, - "RegisterImageResult": { - "base": "

Contains the output of RegisterImage.

", - "refs": { - } - }, - "RejectVpcPeeringConnectionRequest": { - "base": "

Contains the parameters for RejectVpcPeeringConnection.

", - "refs": { - } - }, - "RejectVpcPeeringConnectionResult": { - "base": "

Contains the output of RejectVpcPeeringConnection.

", - "refs": { - } - }, - "ReleaseAddressRequest": { - "base": "

Contains the parameters for ReleaseAddress.

", - "refs": { - } - }, - "ReleaseHostsRequest": { - "base": "

Contains the parameters for ReleaseHosts.

", - "refs": { - } - }, - "ReleaseHostsResult": { - "base": "

Contains the output of ReleaseHosts.

", - "refs": { - } - }, - "ReplaceNetworkAclAssociationRequest": { - "base": "

Contains the parameters for ReplaceNetworkAclAssociation.

", - "refs": { - } - }, - "ReplaceNetworkAclAssociationResult": { - "base": "

Contains the output of ReplaceNetworkAclAssociation.

", - "refs": { - } - }, - "ReplaceNetworkAclEntryRequest": { - "base": "

Contains the parameters for ReplaceNetworkAclEntry.

", - "refs": { - } - }, - "ReplaceRouteRequest": { - "base": "

Contains the parameters for ReplaceRoute.

", - "refs": { - } - }, - "ReplaceRouteTableAssociationRequest": { - "base": "

Contains the parameters for ReplaceRouteTableAssociation.

", - "refs": { - } - }, - "ReplaceRouteTableAssociationResult": { - "base": "

Contains the output of ReplaceRouteTableAssociation.

", - "refs": { - } - }, - "ReportInstanceReasonCodes": { - "base": null, - "refs": { - "ReasonCodesList$member": null - } - }, - "ReportInstanceStatusRequest": { - "base": "

Contains the parameters for ReportInstanceStatus.

", - "refs": { - } - }, - "ReportStatusType": { - "base": null, - "refs": { - "ReportInstanceStatusRequest$Status": "

The status of all instances listed.

" - } - }, - "RequestHostIdList": { - "base": null, - "refs": { - "DescribeHostsRequest$HostIds": "

The IDs of the Dedicated hosts. The IDs are used for targeted instance launches.

", - "ModifyHostsRequest$HostIds": "

The host IDs of the Dedicated hosts you want to modify.

", - "ReleaseHostsRequest$HostIds": "

The IDs of the Dedicated hosts you want to release.

" - } - }, - "RequestSpotFleetRequest": { - "base": "

Contains the parameters for RequestSpotFleet.

", - "refs": { - } - }, - "RequestSpotFleetResponse": { - "base": "

Contains the output of RequestSpotFleet.

", - "refs": { - } - }, - "RequestSpotInstancesRequest": { - "base": "

Contains the parameters for RequestSpotInstances.

", - "refs": { - } - }, - "RequestSpotInstancesResult": { - "base": "

Contains the output of RequestSpotInstances.

", - "refs": { - } - }, - "RequestSpotLaunchSpecification": { - "base": "

Describes the launch specification for an instance.

", - "refs": { - "RequestSpotInstancesRequest$LaunchSpecification": null - } - }, - "Reservation": { - "base": "

Describes a reservation.

", - "refs": { - "ReservationList$member": null - } - }, - "ReservationList": { - "base": null, - "refs": { - "DescribeInstancesResult$Reservations": "

Zero or more reservations.

" - } - }, - "ReservedInstanceLimitPrice": { - "base": "

Describes the limit price of a Reserved Instance offering.

", - "refs": { - "PurchaseReservedInstancesOfferingRequest$LimitPrice": "

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

" - } - }, - "ReservedInstanceState": { - "base": null, - "refs": { - "ReservedInstances$State": "

The state of the Reserved Instance purchase.

" - } - }, - "ReservedInstances": { - "base": "

Describes a Reserved Instance.

", - "refs": { - "ReservedInstancesList$member": null - } - }, - "ReservedInstancesConfiguration": { - "base": "

Describes the configuration settings for the modified Reserved Instances.

", - "refs": { - "ReservedInstancesConfigurationList$member": null, - "ReservedInstancesModificationResult$TargetConfiguration": "

The target Reserved Instances configurations supplied as part of the modification request.

" - } - }, - "ReservedInstancesConfigurationList": { - "base": null, - "refs": { - "ModifyReservedInstancesRequest$TargetConfigurations": "

The configuration settings for the Reserved Instances to modify.

" - } - }, - "ReservedInstancesId": { - "base": "

Describes the ID of a Reserved Instance.

", - "refs": { - "ReservedIntancesIds$member": null - } - }, - "ReservedInstancesIdStringList": { - "base": null, - "refs": { - "DescribeReservedInstancesRequest$ReservedInstancesIds": "

One or more Reserved Instance IDs.

Default: Describes all your Reserved Instances, or only those otherwise specified.

", - "ModifyReservedInstancesRequest$ReservedInstancesIds": "

The IDs of the Reserved Instances to modify.

" - } - }, - "ReservedInstancesList": { - "base": null, - "refs": { - "DescribeReservedInstancesResult$ReservedInstances": "

A list of Reserved Instances.

" - } - }, - "ReservedInstancesListing": { - "base": "

Describes a Reserved Instance listing.

", - "refs": { - "ReservedInstancesListingList$member": null - } - }, - "ReservedInstancesListingList": { - "base": null, - "refs": { - "CancelReservedInstancesListingResult$ReservedInstancesListings": "

The Reserved Instance listing.

", - "CreateReservedInstancesListingResult$ReservedInstancesListings": "

Information about the Reserved Instance listing.

", - "DescribeReservedInstancesListingsResult$ReservedInstancesListings": "

Information about the Reserved Instance listing.

" - } - }, - "ReservedInstancesModification": { - "base": "

Describes a Reserved Instance modification.

", - "refs": { - "ReservedInstancesModificationList$member": null - } - }, - "ReservedInstancesModificationIdStringList": { - "base": null, - "refs": { - "DescribeReservedInstancesModificationsRequest$ReservedInstancesModificationIds": "

IDs for the submitted modification request.

" - } - }, - "ReservedInstancesModificationList": { - "base": null, - "refs": { - "DescribeReservedInstancesModificationsResult$ReservedInstancesModifications": "

The Reserved Instance modification information.

" - } - }, - "ReservedInstancesModificationResult": { - "base": "

Describes the modification request/s.

", - "refs": { - "ReservedInstancesModificationResultList$member": null - } - }, - "ReservedInstancesModificationResultList": { - "base": null, - "refs": { - "ReservedInstancesModification$ModificationResults": "

Contains target configurations along with their corresponding new Reserved Instance IDs.

" - } - }, - "ReservedInstancesOffering": { - "base": "

Describes a Reserved Instance offering.

", - "refs": { - "ReservedInstancesOfferingList$member": null - } - }, - "ReservedInstancesOfferingIdStringList": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$ReservedInstancesOfferingIds": "

One or more Reserved Instances offering IDs.

" - } - }, - "ReservedInstancesOfferingList": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsResult$ReservedInstancesOfferings": "

A list of Reserved Instances offerings.

" - } - }, - "ReservedIntancesIds": { - "base": null, - "refs": { - "ReservedInstancesModification$ReservedInstancesIds": "

The IDs of one or more Reserved Instances.

" - } - }, - "ResetImageAttributeName": { - "base": null, - "refs": { - "ResetImageAttributeRequest$Attribute": "

The attribute to reset (currently you can only reset the launch permission attribute).

" - } - }, - "ResetImageAttributeRequest": { - "base": "

Contains the parameters for ResetImageAttribute.

", - "refs": { - } - }, - "ResetInstanceAttributeRequest": { - "base": "

Contains the parameters for ResetInstanceAttribute.

", - "refs": { - } - }, - "ResetNetworkInterfaceAttributeRequest": { - "base": "

Contains the parameters for ResetNetworkInterfaceAttribute.

", - "refs": { - } - }, - "ResetSnapshotAttributeRequest": { - "base": "

Contains the parameters for ResetSnapshotAttribute.

", - "refs": { - } - }, - "ResourceIdList": { - "base": null, - "refs": { - "CreateTagsRequest$Resources": "

The IDs of one or more resources to tag. For example, ami-1a2b3c4d.

", - "DeleteTagsRequest$Resources": "

The ID of the resource. For example, ami-1a2b3c4d. You can specify more than one resource ID.

" - } - }, - "ResourceType": { - "base": null, - "refs": { - "TagDescription$ResourceType": "

The resource type.

" - } - }, - "ResponseHostIdList": { - "base": null, - "refs": { - "AllocateHostsResult$HostIds": "

The ID of the allocated Dedicated host. This is used when you want to launch an instance onto a specific host.

", - "ModifyHostsResult$Successful": "

The IDs of the Dedicated hosts that were successfully modified.

", - "ReleaseHostsResult$Successful": "

The IDs of the Dedicated hosts that were successfully released.

" - } - }, - "RestorableByStringList": { - "base": null, - "refs": { - "DescribeSnapshotsRequest$RestorableByUserIds": "

One or more AWS accounts IDs that can create volumes from the snapshot.

" - } - }, - "RestoreAddressToClassicRequest": { - "base": "

Contains the parameters for RestoreAddressToClassic.

", - "refs": { - } - }, - "RestoreAddressToClassicResult": { - "base": "

Contains the output of RestoreAddressToClassic.

", - "refs": { - } - }, - "RevokeSecurityGroupEgressRequest": { - "base": "

Contains the parameters for RevokeSecurityGroupEgress.

", - "refs": { - } - }, - "RevokeSecurityGroupIngressRequest": { - "base": "

Contains the parameters for RevokeSecurityGroupIngress.

", - "refs": { - } - }, - "Route": { - "base": "

Describes a route in a route table.

", - "refs": { - "RouteList$member": null - } - }, - "RouteList": { - "base": null, - "refs": { - "RouteTable$Routes": "

The routes in the route table.

" - } - }, - "RouteOrigin": { - "base": null, - "refs": { - "Route$Origin": "

Describes how the route was created.

" - } - }, - "RouteState": { - "base": null, - "refs": { - "Route$State": "

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).

" - } - }, - "RouteTable": { - "base": "

Describes a route table.

", - "refs": { - "CreateRouteTableResult$RouteTable": "

Information about the route table.

", - "RouteTableList$member": null - } - }, - "RouteTableAssociation": { - "base": "

Describes an association between a route table and a subnet.

", - "refs": { - "RouteTableAssociationList$member": null - } - }, - "RouteTableAssociationList": { - "base": null, - "refs": { - "RouteTable$Associations": "

The associations between the route table and one or more subnets.

" - } - }, - "RouteTableList": { - "base": null, - "refs": { - "DescribeRouteTablesResult$RouteTables": "

Information about one or more route tables.

" - } - }, - "RuleAction": { - "base": null, - "refs": { - "CreateNetworkAclEntryRequest$RuleAction": "

Indicates whether to allow or deny the traffic that matches the rule.

", - "NetworkAclEntry$RuleAction": "

Indicates whether to allow or deny the traffic that matches the rule.

", - "ReplaceNetworkAclEntryRequest$RuleAction": "

Indicates whether to allow or deny the traffic that matches the rule.

" - } - }, - "RunInstancesMonitoringEnabled": { - "base": "

Describes the monitoring for the instance.

", - "refs": { - "LaunchSpecification$Monitoring": null, - "RequestSpotLaunchSpecification$Monitoring": null, - "RunInstancesRequest$Monitoring": "

The monitoring for the instance.

" - } - }, - "RunInstancesRequest": { - "base": "

Contains the parameters for RunInstances.

", - "refs": { - } - }, - "RunScheduledInstancesRequest": { - "base": "

Contains the parameters for RunScheduledInstances.

", - "refs": { - } - }, - "RunScheduledInstancesResult": { - "base": "

Contains the output of RunScheduledInstances.

", - "refs": { - } - }, - "S3Storage": { - "base": "

Describes the storage parameters for S3 and S3 buckets for an instance store-backed AMI.

", - "refs": { - "Storage$S3": "

An Amazon S3 storage location.

" - } - }, - "ScheduledInstance": { - "base": "

Describes a Scheduled Instance.

", - "refs": { - "PurchasedScheduledInstanceSet$member": null, - "ScheduledInstanceSet$member": null - } - }, - "ScheduledInstanceAvailability": { - "base": "

Describes a schedule that is available for your Scheduled Instances.

", - "refs": { - "ScheduledInstanceAvailabilitySet$member": null - } - }, - "ScheduledInstanceAvailabilitySet": { - "base": null, - "refs": { - "DescribeScheduledInstanceAvailabilityResult$ScheduledInstanceAvailabilitySet": "

Information about the available Scheduled Instances.

" - } - }, - "ScheduledInstanceIdRequestSet": { - "base": null, - "refs": { - "DescribeScheduledInstancesRequest$ScheduledInstanceIds": "

One or more Scheduled Instance IDs.

" - } - }, - "ScheduledInstanceRecurrence": { - "base": "

Describes the recurring schedule for a Scheduled Instance.

", - "refs": { - "ScheduledInstance$Recurrence": "

The schedule recurrence.

", - "ScheduledInstanceAvailability$Recurrence": "

The schedule recurrence.

" - } - }, - "ScheduledInstanceRecurrenceRequest": { - "base": "

Describes the recurring schedule for a Scheduled Instance.

", - "refs": { - "DescribeScheduledInstanceAvailabilityRequest$Recurrence": "

The schedule recurrence.

" - } - }, - "ScheduledInstanceSet": { - "base": null, - "refs": { - "DescribeScheduledInstancesResult$ScheduledInstanceSet": "

Information about the Scheduled Instances.

" - } - }, - "ScheduledInstancesBlockDeviceMapping": { - "base": "

Describes a block device mapping for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesBlockDeviceMappingSet$member": null - } - }, - "ScheduledInstancesBlockDeviceMappingSet": { - "base": null, - "refs": { - "ScheduledInstancesLaunchSpecification$BlockDeviceMappings": "

One or more block device mapping entries.

" - } - }, - "ScheduledInstancesEbs": { - "base": "

Describes an EBS volume for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesBlockDeviceMapping$Ebs": "

Parameters used to set up EBS volumes automatically when the instance is launched.

" - } - }, - "ScheduledInstancesIamInstanceProfile": { - "base": "

Describes an IAM instance profile for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesLaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

" - } - }, - "ScheduledInstancesLaunchSpecification": { - "base": "

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.

", - "refs": { - "RunScheduledInstancesRequest$LaunchSpecification": "

The launch specification.

" - } - }, - "ScheduledInstancesMonitoring": { - "base": "

Describes whether monitoring is enabled for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesLaunchSpecification$Monitoring": "

Enable or disable monitoring for the instances.

" - } - }, - "ScheduledInstancesNetworkInterface": { - "base": "

Describes a network interface for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesNetworkInterfaceSet$member": null - } - }, - "ScheduledInstancesNetworkInterfaceSet": { - "base": null, - "refs": { - "ScheduledInstancesLaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

" - } - }, - "ScheduledInstancesPlacement": { - "base": "

Describes the placement for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesLaunchSpecification$Placement": "

The placement information.

" - } - }, - "ScheduledInstancesPrivateIpAddressConfig": { - "base": "

Describes a private IP address for a Scheduled Instance.

", - "refs": { - "PrivateIpAddressConfigSet$member": null - } - }, - "ScheduledInstancesSecurityGroupIdSet": { - "base": null, - "refs": { - "ScheduledInstancesLaunchSpecification$SecurityGroupIds": "

The IDs of one or more security groups.

", - "ScheduledInstancesNetworkInterface$Groups": "

The IDs of one or more security groups.

" - } - }, - "SecurityGroup": { - "base": "

Describes a security group

", - "refs": { - "SecurityGroupList$member": null - } - }, - "SecurityGroupIdStringList": { - "base": null, - "refs": { - "CreateNetworkInterfaceRequest$Groups": "

The IDs of one or more security groups.

", - "ImportInstanceLaunchSpecification$GroupIds": "

One or more security group IDs.

", - "InstanceNetworkInterfaceSpecification$Groups": "

The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

", - "ModifyNetworkInterfaceAttributeRequest$Groups": "

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.

", - "RunInstancesRequest$SecurityGroupIds": "

One or more security group IDs. You can create a security group using CreateSecurityGroup.

Default: Amazon EC2 uses the default security group.

" - } - }, - "SecurityGroupList": { - "base": null, - "refs": { - "DescribeSecurityGroupsResult$SecurityGroups": "

Information about one or more security groups.

" - } - }, - "SecurityGroupReference": { - "base": "

Describes a VPC with a security group that references your security group.

", - "refs": { - "SecurityGroupReferences$member": null - } - }, - "SecurityGroupReferences": { - "base": null, - "refs": { - "DescribeSecurityGroupReferencesResult$SecurityGroupReferenceSet": "

Information about the VPCs with the referencing security groups.

" - } - }, - "SecurityGroupStringList": { - "base": null, - "refs": { - "ImportInstanceLaunchSpecification$GroupNames": "

One or more security group names.

", - "RunInstancesRequest$SecurityGroups": "

[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.

" - } - }, - "ShutdownBehavior": { - "base": null, - "refs": { - "ImportInstanceLaunchSpecification$InstanceInitiatedShutdownBehavior": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "RunInstancesRequest$InstanceInitiatedShutdownBehavior": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

" - } - }, - "SlotDateTimeRangeRequest": { - "base": "

Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

", - "refs": { - "DescribeScheduledInstanceAvailabilityRequest$FirstSlotStartTimeRange": "

The time period for the first schedule to start.

" - } - }, - "SlotStartTimeRangeRequest": { - "base": "

Describes the time period for a Scheduled Instance to start its first schedule.

", - "refs": { - "DescribeScheduledInstancesRequest$SlotStartTimeRange": "

The time period for the first schedule to start.

" - } - }, - "Snapshot": { - "base": "

Describes a snapshot.

", - "refs": { - "SnapshotList$member": null - } - }, - "SnapshotAttributeName": { - "base": null, - "refs": { - "DescribeSnapshotAttributeRequest$Attribute": "

The snapshot attribute you would like to view.

", - "ModifySnapshotAttributeRequest$Attribute": "

The snapshot attribute to modify.

Only volume creation permissions may be modified at the customer level.

", - "ResetSnapshotAttributeRequest$Attribute": "

The attribute to reset. Currently, only the attribute for permission to create volumes can be reset.

" - } - }, - "SnapshotDetail": { - "base": "

Describes the snapshot created from the imported disk.

", - "refs": { - "SnapshotDetailList$member": null - } - }, - "SnapshotDetailList": { - "base": null, - "refs": { - "ImportImageResult$SnapshotDetails": "

Information about the snapshots.

", - "ImportImageTask$SnapshotDetails": "

Information about the snapshots.

" - } - }, - "SnapshotDiskContainer": { - "base": "

The disk container object for the import snapshot request.

", - "refs": { - "ImportSnapshotRequest$DiskContainer": "

Information about the disk container.

" - } - }, - "SnapshotIdStringList": { - "base": null, - "refs": { - "DescribeSnapshotsRequest$SnapshotIds": "

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

" - } - }, - "SnapshotList": { - "base": null, - "refs": { - "DescribeSnapshotsResult$Snapshots": "

Information about the snapshots.

" - } - }, - "SnapshotState": { - "base": null, - "refs": { - "Snapshot$State": "

The snapshot state.

" - } - }, - "SnapshotTaskDetail": { - "base": "

Details about the import snapshot task.

", - "refs": { - "ImportSnapshotResult$SnapshotTaskDetail": "

Information about the import snapshot task.

", - "ImportSnapshotTask$SnapshotTaskDetail": "

Describes an import snapshot task.

" - } - }, - "SpotDatafeedSubscription": { - "base": "

Describes the data feed for a Spot instance.

", - "refs": { - "CreateSpotDatafeedSubscriptionResult$SpotDatafeedSubscription": "

The Spot instance data feed subscription.

", - "DescribeSpotDatafeedSubscriptionResult$SpotDatafeedSubscription": "

The Spot instance data feed subscription.

" - } - }, - "SpotFleetLaunchSpecification": { - "base": "

Describes the launch specification for one or more Spot instances.

", - "refs": { - "LaunchSpecsList$member": null - } - }, - "SpotFleetMonitoring": { - "base": "

Describes whether monitoring is enabled.

", - "refs": { - "SpotFleetLaunchSpecification$Monitoring": "

Enable or disable monitoring for the instances.

" - } - }, - "SpotFleetRequestConfig": { - "base": "

Describes a Spot fleet request.

", - "refs": { - "SpotFleetRequestConfigSet$member": null - } - }, - "SpotFleetRequestConfigData": { - "base": "

Describes the configuration of a Spot fleet request.

", - "refs": { - "RequestSpotFleetRequest$SpotFleetRequestConfig": "

The configuration for the Spot fleet request.

", - "SpotFleetRequestConfig$SpotFleetRequestConfig": "

Information about the configuration of the Spot fleet request.

" - } - }, - "SpotFleetRequestConfigSet": { - "base": null, - "refs": { - "DescribeSpotFleetRequestsResponse$SpotFleetRequestConfigs": "

Information about the configuration of your Spot fleet.

" - } - }, - "SpotInstanceRequest": { - "base": "

Describes a Spot instance request.

", - "refs": { - "SpotInstanceRequestList$member": null - } - }, - "SpotInstanceRequestIdList": { - "base": null, - "refs": { - "CancelSpotInstanceRequestsRequest$SpotInstanceRequestIds": "

One or more Spot instance request IDs.

", - "DescribeSpotInstanceRequestsRequest$SpotInstanceRequestIds": "

One or more Spot instance request IDs.

" - } - }, - "SpotInstanceRequestList": { - "base": null, - "refs": { - "DescribeSpotInstanceRequestsResult$SpotInstanceRequests": "

One or more Spot instance requests.

", - "RequestSpotInstancesResult$SpotInstanceRequests": "

One or more Spot instance requests.

" - } - }, - "SpotInstanceState": { - "base": null, - "refs": { - "SpotInstanceRequest$State": "

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.

" - } - }, - "SpotInstanceStateFault": { - "base": "

Describes a Spot instance state change.

", - "refs": { - "SpotDatafeedSubscription$Fault": "

The fault codes for the Spot instance request, if any.

", - "SpotInstanceRequest$Fault": "

The fault codes for the Spot instance request, if any.

" - } - }, - "SpotInstanceStatus": { - "base": "

Describes the status of a Spot instance request.

", - "refs": { - "SpotInstanceRequest$Status": "

The status code and status message describing the Spot instance request.

" - } - }, - "SpotInstanceType": { - "base": null, - "refs": { - "RequestSpotInstancesRequest$Type": "

The Spot instance request type.

Default: one-time

", - "SpotInstanceRequest$Type": "

The Spot instance request type.

" - } - }, - "SpotPlacement": { - "base": "

Describes Spot instance placement.

", - "refs": { - "LaunchSpecification$Placement": "

The placement information for the instance.

", - "RequestSpotLaunchSpecification$Placement": "

The placement information for the instance.

", - "SpotFleetLaunchSpecification$Placement": "

The placement information.

" - } - }, - "SpotPrice": { - "base": "

Describes the maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "refs": { - "SpotPriceHistoryList$member": null - } - }, - "SpotPriceHistoryList": { - "base": null, - "refs": { - "DescribeSpotPriceHistoryResult$SpotPriceHistory": "

The historical Spot prices.

" - } - }, - "StaleIpPermission": { - "base": "

Describes a stale rule in a security group.

", - "refs": { - "StaleIpPermissionSet$member": null - } - }, - "StaleIpPermissionSet": { - "base": null, - "refs": { - "StaleSecurityGroup$StaleIpPermissions": "

Information about the stale inbound rules in the security group.

", - "StaleSecurityGroup$StaleIpPermissionsEgress": "

Information about the stale outbound rules in the security group.

" - } - }, - "StaleSecurityGroup": { - "base": "

Describes a stale security group (a security group that contains stale rules).

", - "refs": { - "StaleSecurityGroupSet$member": null - } - }, - "StaleSecurityGroupSet": { - "base": null, - "refs": { - "DescribeStaleSecurityGroupsResult$StaleSecurityGroupSet": "

Information about the stale security groups.

" - } - }, - "StartInstancesRequest": { - "base": "

Contains the parameters for StartInstances.

", - "refs": { - } - }, - "StartInstancesResult": { - "base": "

Contains the output of StartInstances.

", - "refs": { - } - }, - "State": { - "base": null, - "refs": { - "VpcEndpoint$State": "

The state of the VPC endpoint.

" - } - }, - "StateReason": { - "base": "

Describes a state change.

", - "refs": { - "Image$StateReason": "

The reason for the state change.

", - "Instance$StateReason": "

The reason for the most recent state transition.

" - } - }, - "Status": { - "base": null, - "refs": { - "MoveAddressToVpcResult$Status": "

The status of the move of the IP address.

", - "RestoreAddressToClassicResult$Status": "

The move status for the IP address.

" - } - }, - "StatusName": { - "base": null, - "refs": { - "InstanceStatusDetails$Name": "

The type of instance status.

" - } - }, - "StatusType": { - "base": null, - "refs": { - "InstanceStatusDetails$Status": "

The status.

" - } - }, - "StopInstancesRequest": { - "base": "

Contains the parameters for StopInstances.

", - "refs": { - } - }, - "StopInstancesResult": { - "base": "

Contains the output of StopInstances.

", - "refs": { - } - }, - "Storage": { - "base": "

Describes the storage location for an instance store-backed AMI.

", - "refs": { - "BundleInstanceRequest$Storage": "

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.

", - "BundleTask$Storage": "

The Amazon S3 storage locations.

" - } - }, - "String": { - "base": null, - "refs": { - "AcceptVpcPeeringConnectionRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "AccountAttribute$AttributeName": "

The name of the account attribute.

", - "AccountAttributeValue$AttributeValue": "

The value of the attribute.

", - "ActiveInstance$InstanceType": "

The instance type.

", - "ActiveInstance$InstanceId": "

The ID of the instance.

", - "ActiveInstance$SpotInstanceRequestId": "

The ID of the Spot instance request.

", - "Address$InstanceId": "

The ID of the instance that the address is associated with (if any).

", - "Address$PublicIp": "

The Elastic IP address.

", - "Address$AllocationId": "

The ID representing the allocation of the address for use with EC2-VPC.

", - "Address$AssociationId": "

The ID representing the association of the address with an instance in a VPC.

", - "Address$NetworkInterfaceId": "

The ID of the network interface.

", - "Address$NetworkInterfaceOwnerId": "

The ID of the AWS account that owns the network interface.

", - "Address$PrivateIpAddress": "

The private IP address associated with the Elastic IP address.

", - "AllocateAddressResult$PublicIp": "

The Elastic IP address.

", - "AllocateAddressResult$AllocationId": "

[EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

", - "AllocateHostsRequest$ClientToken": "

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.

", - "AllocateHostsRequest$InstanceType": "

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.

", - "AllocateHostsRequest$AvailabilityZone": "

The Availability Zone for the Dedicated hosts.

", - "AllocationIdList$member": null, - "AssignPrivateIpAddressesRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "AssociateAddressRequest$InstanceId": "

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.

", - "AssociateAddressRequest$PublicIp": "

The Elastic IP address. This is required for EC2-Classic.

", - "AssociateAddressRequest$AllocationId": "

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

", - "AssociateAddressRequest$NetworkInterfaceId": "

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

", - "AssociateAddressRequest$PrivateIpAddress": "

[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.

", - "AssociateAddressResult$AssociationId": "

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", - "AssociateDhcpOptionsRequest$DhcpOptionsId": "

The ID of the DHCP options set, or default to associate no DHCP options with the VPC.

", - "AssociateDhcpOptionsRequest$VpcId": "

The ID of the VPC.

", - "AssociateRouteTableRequest$SubnetId": "

The ID of the subnet.

", - "AssociateRouteTableRequest$RouteTableId": "

The ID of the route table.

", - "AssociateRouteTableResult$AssociationId": "

The route table association ID (needed to disassociate the route table).

", - "AttachClassicLinkVpcRequest$InstanceId": "

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", - "AttachClassicLinkVpcRequest$VpcId": "

The ID of a ClassicLink-enabled VPC.

", - "AttachInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", - "AttachInternetGatewayRequest$VpcId": "

The ID of the VPC.

", - "AttachNetworkInterfaceRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "AttachNetworkInterfaceRequest$InstanceId": "

The ID of the instance.

", - "AttachNetworkInterfaceResult$AttachmentId": "

The ID of the network interface attachment.

", - "AttachVolumeRequest$VolumeId": "

The ID of the EBS volume. The volume and instance must be within the same Availability Zone.

", - "AttachVolumeRequest$InstanceId": "

The ID of the instance.

", - "AttachVolumeRequest$Device": "

The device name to expose to the instance (for example, /dev/sdh or xvdh).

", - "AttachVpnGatewayRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "AttachVpnGatewayRequest$VpcId": "

The ID of the VPC.

", - "AttributeValue$Value": "

Valid values are case-sensitive and vary by action.

", - "AuthorizeSecurityGroupEgressRequest$GroupId": "

The ID of the security group.

", - "AuthorizeSecurityGroupEgressRequest$SourceSecurityGroupName": "

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.

", - "AuthorizeSecurityGroupEgressRequest$SourceSecurityGroupOwnerId": "

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.

", - "AuthorizeSecurityGroupEgressRequest$IpProtocol": "

The IP protocol name or number. We recommend that you specify the protocol in a set of IP permissions instead.

", - "AuthorizeSecurityGroupEgressRequest$CidrIp": "

The CIDR IP address range. We recommend that you specify the CIDR range in a set of IP permissions instead.

", - "AuthorizeSecurityGroupIngressRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group.

", - "AuthorizeSecurityGroupIngressRequest$GroupId": "

The ID of the security group. Required for a nondefault VPC.

", - "AuthorizeSecurityGroupIngressRequest$SourceSecurityGroupName": "

[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.

", - "AuthorizeSecurityGroupIngressRequest$SourceSecurityGroupOwnerId": "

[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.

", - "AuthorizeSecurityGroupIngressRequest$IpProtocol": "

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). (VPC only) Use -1 to specify all.

", - "AuthorizeSecurityGroupIngressRequest$CidrIp": "

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "AvailabilityZone$ZoneName": "

The name of the Availability Zone.

", - "AvailabilityZone$RegionName": "

The name of the region.

", - "AvailabilityZoneMessage$Message": "

The message about the Availability Zone.

", - "BlockDeviceMapping$VirtualName": "

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.

", - "BlockDeviceMapping$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "BlockDeviceMapping$NoDevice": "

Suppresses the specified device included in the block device mapping of the AMI.

", - "BundleIdStringList$member": null, - "BundleInstanceRequest$InstanceId": "

The ID of the instance to bundle.

Type: String

Default: None

Required: Yes

", - "BundleTask$InstanceId": "

The ID of the instance associated with this bundle task.

", - "BundleTask$BundleId": "

The ID of the bundle task.

", - "BundleTask$Progress": "

The level of task completion, as a percent (for example, 20%).

", - "BundleTaskError$Code": "

The error code.

", - "BundleTaskError$Message": "

The error message.

", - "CancelBundleTaskRequest$BundleId": "

The ID of the bundle task.

", - "CancelConversionRequest$ConversionTaskId": "

The ID of the conversion task.

", - "CancelConversionRequest$ReasonMessage": "

The reason for canceling the conversion task.

", - "CancelExportTaskRequest$ExportTaskId": "

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", - "CancelImportTaskRequest$ImportTaskId": "

The ID of the import image or import snapshot task to be canceled.

", - "CancelImportTaskRequest$CancelReason": "

The reason for canceling the task.

", - "CancelImportTaskResult$ImportTaskId": "

The ID of the task being canceled.

", - "CancelImportTaskResult$State": "

The current state of the task being canceled.

", - "CancelImportTaskResult$PreviousState": "

The current state of the task being canceled.

", - "CancelReservedInstancesListingRequest$ReservedInstancesListingId": "

The ID of the Reserved Instance listing.

", - "CancelSpotFleetRequestsError$Message": "

The description for the error code.

", - "CancelSpotFleetRequestsErrorItem$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "CancelSpotFleetRequestsSuccessItem$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "CancelledSpotInstanceRequest$SpotInstanceRequestId": "

The ID of the Spot instance request.

", - "ClassicLinkDnsSupport$VpcId": "

The ID of the VPC.

", - "ClassicLinkInstance$InstanceId": "

The ID of the instance.

", - "ClassicLinkInstance$VpcId": "

The ID of the VPC.

", - "ClientData$Comment": "

A user-defined comment about the disk upload.

", - "ConfirmProductInstanceRequest$ProductCode": "

The product code. This must be a product code that you own.

", - "ConfirmProductInstanceRequest$InstanceId": "

The ID of the instance.

", - "ConfirmProductInstanceResult$OwnerId": "

The AWS account ID of the instance owner. This is only present if the product code is attached to the instance.

", - "ConversionIdStringList$member": null, - "ConversionTask$ConversionTaskId": "

The ID of the conversion task.

", - "ConversionTask$ExpirationTime": "

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", - "ConversionTask$StatusMessage": "

The status message related to the conversion task.

", - "CopyImageRequest$SourceRegion": "

The name of the region that contains the AMI to copy.

", - "CopyImageRequest$SourceImageId": "

The ID of the AMI to copy.

", - "CopyImageRequest$Name": "

The name of the new AMI in the destination region.

", - "CopyImageRequest$Description": "

A description for the new AMI in the destination region.

", - "CopyImageRequest$ClientToken": "

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.

", - "CopyImageRequest$KmsKeyId": "

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.

", - "CopyImageResult$ImageId": "

The ID of the new AMI.

", - "CopySnapshotRequest$SourceRegion": "

The ID of the region that contains the snapshot to be copied.

", - "CopySnapshotRequest$SourceSnapshotId": "

The ID of the EBS snapshot to copy.

", - "CopySnapshotRequest$Description": "

A description for the EBS snapshot.

", - "CopySnapshotRequest$DestinationRegion": "

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).

", - "CopySnapshotRequest$PresignedUrl": "

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.

", - "CopySnapshotRequest$KmsKeyId": "

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.

", - "CopySnapshotResult$SnapshotId": "

The ID of the new snapshot.

", - "CreateCustomerGatewayRequest$PublicIp": "

The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

", - "CreateFlowLogsRequest$LogGroupName": "

The name of the CloudWatch log group.

", - "CreateFlowLogsRequest$DeliverLogsPermissionArn": "

The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group.

", - "CreateFlowLogsRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", - "CreateFlowLogsResult$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", - "CreateImageRequest$InstanceId": "

The ID of the instance.

", - "CreateImageRequest$Name": "

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "CreateImageRequest$Description": "

A description for the new image.

", - "CreateImageResult$ImageId": "

The ID of the new AMI.

", - "CreateInstanceExportTaskRequest$Description": "

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", - "CreateInstanceExportTaskRequest$InstanceId": "

The ID of the instance.

", - "CreateKeyPairRequest$KeyName": "

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

", - "CreateNatGatewayRequest$SubnetId": "

The subnet in which to create the NAT gateway.

", - "CreateNatGatewayRequest$AllocationId": "

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.

", - "CreateNatGatewayRequest$ClientToken": "

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.

", - "CreateNatGatewayResult$ClientToken": "

Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

", - "CreateNetworkAclEntryRequest$NetworkAclId": "

The ID of the network ACL.

", - "CreateNetworkAclEntryRequest$Protocol": "

The protocol. A value of -1 means all protocols.

", - "CreateNetworkAclEntryRequest$CidrBlock": "

The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "CreateNetworkAclRequest$VpcId": "

The ID of the VPC.

", - "CreateNetworkInterfaceRequest$SubnetId": "

The ID of the subnet to associate with the network interface.

", - "CreateNetworkInterfaceRequest$Description": "

A description for the network interface.

", - "CreateNetworkInterfaceRequest$PrivateIpAddress": "

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).

", - "CreatePlacementGroupRequest$GroupName": "

A name for the placement group.

Constraints: Up to 255 ASCII characters

", - "CreateReservedInstancesListingRequest$ReservedInstancesId": "

The ID of the active Reserved Instance.

", - "CreateReservedInstancesListingRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "CreateRouteRequest$RouteTableId": "

The ID of the route table for the route.

", - "CreateRouteRequest$DestinationCidrBlock": "

The CIDR address block used for the destination match. Routing decisions are based on the most specific match.

", - "CreateRouteRequest$GatewayId": "

The ID of an Internet gateway or virtual private gateway attached to your VPC.

", - "CreateRouteRequest$InstanceId": "

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.

", - "CreateRouteRequest$NetworkInterfaceId": "

The ID of a network interface.

", - "CreateRouteRequest$VpcPeeringConnectionId": "

The ID of a VPC peering connection.

", - "CreateRouteRequest$NatGatewayId": "

The ID of a NAT gateway.

", - "CreateRouteTableRequest$VpcId": "

The ID of the VPC.

", - "CreateSecurityGroupRequest$GroupName": "

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 ._-:/()#,@[]+=;{}!$*

", - "CreateSecurityGroupRequest$Description": "

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 ._-:/()#,@[]+=;{}!$*

", - "CreateSecurityGroupRequest$VpcId": "

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

", - "CreateSecurityGroupResult$GroupId": "

The ID of the security group.

", - "CreateSnapshotRequest$VolumeId": "

The ID of the EBS volume.

", - "CreateSnapshotRequest$Description": "

A description for the snapshot.

", - "CreateSpotDatafeedSubscriptionRequest$Bucket": "

The Amazon S3 bucket in which to store the Spot instance data feed.

", - "CreateSpotDatafeedSubscriptionRequest$Prefix": "

A prefix for the data feed file names.

", - "CreateSubnetRequest$VpcId": "

The ID of the VPC.

", - "CreateSubnetRequest$CidrBlock": "

The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.

", - "CreateSubnetRequest$AvailabilityZone": "

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.

", - "CreateVolumePermission$UserId": "

The specific AWS account ID that is to be added or removed from a volume's list of create volume permissions.

", - "CreateVolumeRequest$SnapshotId": "

The snapshot from which to create the volume.

", - "CreateVolumeRequest$AvailabilityZone": "

The Availability Zone in which to create the volume. Use DescribeAvailabilityZones to list the Availability Zones that are currently available to you.

", - "CreateVolumeRequest$KmsKeyId": "

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$VpcId": "

The ID of the VPC in which the endpoint will be used.

", - "CreateVpcEndpointRequest$ServiceName": "

The AWS service name, in the form com.amazonaws.region.service. To get a list of available services, use the DescribeVpcEndpointServices request.

", - "CreateVpcEndpointRequest$PolicyDocument": "

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.

", - "CreateVpcEndpointRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", - "CreateVpcEndpointResult$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", - "CreateVpcPeeringConnectionRequest$VpcId": "

The ID of the requester VPC.

", - "CreateVpcPeeringConnectionRequest$PeerVpcId": "

The ID of the VPC with which you are creating the VPC peering connection.

", - "CreateVpcPeeringConnectionRequest$PeerOwnerId": "

The AWS account ID of the owner of the peer VPC.

Default: Your AWS account ID

", - "CreateVpcRequest$CidrBlock": "

The network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.

", - "CreateVpnConnectionRequest$Type": "

The type of VPN connection (ipsec.1).

", - "CreateVpnConnectionRequest$CustomerGatewayId": "

The ID of the customer gateway.

", - "CreateVpnConnectionRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "CreateVpnConnectionRouteRequest$VpnConnectionId": "

The ID of the VPN connection.

", - "CreateVpnConnectionRouteRequest$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer network.

", - "CreateVpnGatewayRequest$AvailabilityZone": "

The Availability Zone for the virtual private gateway.

", - "CustomerGateway$CustomerGatewayId": "

The ID of the customer gateway.

", - "CustomerGateway$State": "

The current state of the customer gateway (pending | available | deleting | deleted).

", - "CustomerGateway$Type": "

The type of VPN connection the customer gateway supports (ipsec.1).

", - "CustomerGateway$IpAddress": "

The Internet-routable IP address of the customer gateway's outside interface.

", - "CustomerGateway$BgpAsn": "

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

", - "CustomerGatewayIdStringList$member": null, - "DeleteCustomerGatewayRequest$CustomerGatewayId": "

The ID of the customer gateway.

", - "DeleteDhcpOptionsRequest$DhcpOptionsId": "

The ID of the DHCP options set.

", - "DeleteInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", - "DeleteKeyPairRequest$KeyName": "

The name of the key pair.

", - "DeleteNatGatewayRequest$NatGatewayId": "

The ID of the NAT gateway.

", - "DeleteNatGatewayResult$NatGatewayId": "

The ID of the NAT gateway.

", - "DeleteNetworkAclEntryRequest$NetworkAclId": "

The ID of the network ACL.

", - "DeleteNetworkAclRequest$NetworkAclId": "

The ID of the network ACL.

", - "DeleteNetworkInterfaceRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "DeletePlacementGroupRequest$GroupName": "

The name of the placement group.

", - "DeleteRouteRequest$RouteTableId": "

The ID of the route table.

", - "DeleteRouteRequest$DestinationCidrBlock": "

The CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "DeleteRouteTableRequest$RouteTableId": "

The ID of the route table.

", - "DeleteSecurityGroupRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group. You can specify either the security group name or the security group ID.

", - "DeleteSecurityGroupRequest$GroupId": "

The ID of the security group. Required for a nondefault VPC.

", - "DeleteSnapshotRequest$SnapshotId": "

The ID of the EBS snapshot.

", - "DeleteSubnetRequest$SubnetId": "

The ID of the subnet.

", - "DeleteVolumeRequest$VolumeId": "

The ID of the volume.

", - "DeleteVpcPeeringConnectionRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "DeleteVpcRequest$VpcId": "

The ID of the VPC.

", - "DeleteVpnConnectionRequest$VpnConnectionId": "

The ID of the VPN connection.

", - "DeleteVpnConnectionRouteRequest$VpnConnectionId": "

The ID of the VPN connection.

", - "DeleteVpnConnectionRouteRequest$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer network.

", - "DeleteVpnGatewayRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "DeregisterImageRequest$ImageId": "

The ID of the AMI.

", - "DescribeClassicLinkInstancesRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeClassicLinkInstancesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeFlowLogsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeFlowLogsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeHostsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeHostsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeIdFormatRequest$Resource": "

The type of resource.

", - "DescribeImageAttributeRequest$ImageId": "

The ID of the AMI.

", - "DescribeImportImageTasksRequest$NextToken": "

A token that indicates the next page of results.

", - "DescribeImportImageTasksResult$NextToken": "

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "DescribeImportSnapshotTasksRequest$NextToken": "

A token that indicates the next page of results.

", - "DescribeImportSnapshotTasksResult$NextToken": "

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "DescribeInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", - "DescribeInstanceStatusRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeInstanceStatusResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeInstancesRequest$NextToken": "

The token to request the next page of results.

", - "DescribeInstancesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeMovingAddressesRequest$NextToken": "

The token to use to retrieve the next page of results.

", - "DescribeMovingAddressesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeNatGatewaysRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeNatGatewaysResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeNetworkInterfaceAttributeRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "DescribeNetworkInterfaceAttributeResult$NetworkInterfaceId": "

The ID of the network interface.

", - "DescribePrefixListsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribePrefixListsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DescribeReservedInstancesListingsRequest$ReservedInstancesId": "

One or more Reserved Instance IDs.

", - "DescribeReservedInstancesListingsRequest$ReservedInstancesListingId": "

One or more Reserved Instance listing IDs.

", - "DescribeReservedInstancesModificationsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeReservedInstancesModificationsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeReservedInstancesOfferingsRequest$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", - "DescribeReservedInstancesOfferingsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeReservedInstancesOfferingsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeScheduledInstanceAvailabilityRequest$NextToken": "

The token for the next set of results.

", - "DescribeScheduledInstanceAvailabilityResult$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeScheduledInstancesRequest$NextToken": "

The token for the next set of results.

", - "DescribeScheduledInstancesResult$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSnapshotAttributeRequest$SnapshotId": "

The ID of the EBS snapshot.

", - "DescribeSnapshotAttributeResult$SnapshotId": "

The ID of the EBS snapshot.

", - "DescribeSnapshotsRequest$NextToken": "

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.

", - "DescribeSnapshotsResult$NextToken": "

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.

", - "DescribeSpotFleetInstancesRequest$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetInstancesRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotFleetInstancesResponse$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetInstancesResponse$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSpotFleetRequestHistoryRequest$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetRequestHistoryRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotFleetRequestHistoryResponse$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetRequestHistoryResponse$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSpotFleetRequestsRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotFleetRequestsResponse$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSpotPriceHistoryRequest$AvailabilityZone": "

Filters the results by the specified Availability Zone.

", - "DescribeSpotPriceHistoryRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotPriceHistoryResult$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeStaleSecurityGroupsRequest$VpcId": "

The ID of the VPC.

", - "DescribeStaleSecurityGroupsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DescribeTagsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeTagsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return..

", - "DescribeVolumeAttributeRequest$VolumeId": "

The ID of the volume.

", - "DescribeVolumeAttributeResult$VolumeId": "

The ID of the volume.

", - "DescribeVolumeStatusRequest$NextToken": "

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.

", - "DescribeVolumeStatusResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeVolumesRequest$NextToken": "

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.

", - "DescribeVolumesResult$NextToken": "

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.

", - "DescribeVpcAttributeRequest$VpcId": "

The ID of the VPC.

", - "DescribeVpcAttributeResult$VpcId": "

The ID of the VPC.

", - "DescribeVpcEndpointServicesRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcEndpointServicesResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DescribeVpcEndpointsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcEndpointsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DetachClassicLinkVpcRequest$InstanceId": "

The ID of the instance to unlink from the VPC.

", - "DetachClassicLinkVpcRequest$VpcId": "

The ID of the VPC to which the instance is linked.

", - "DetachInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", - "DetachInternetGatewayRequest$VpcId": "

The ID of the VPC.

", - "DetachNetworkInterfaceRequest$AttachmentId": "

The ID of the attachment.

", - "DetachVolumeRequest$VolumeId": "

The ID of the volume.

", - "DetachVolumeRequest$InstanceId": "

The ID of the instance.

", - "DetachVolumeRequest$Device": "

The device name.

", - "DetachVpnGatewayRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "DetachVpnGatewayRequest$VpcId": "

The ID of the VPC.

", - "DhcpConfiguration$Key": "

The name of a DHCP option.

", - "DhcpOptions$DhcpOptionsId": "

The ID of the set of DHCP options.

", - "DhcpOptionsIdStringList$member": null, - "DisableVgwRoutePropagationRequest$RouteTableId": "

The ID of the route table.

", - "DisableVgwRoutePropagationRequest$GatewayId": "

The ID of the virtual private gateway.

", - "DisableVpcClassicLinkDnsSupportRequest$VpcId": "

The ID of the VPC.

", - "DisableVpcClassicLinkRequest$VpcId": "

The ID of the VPC.

", - "DisassociateAddressRequest$PublicIp": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

", - "DisassociateAddressRequest$AssociationId": "

[EC2-VPC] The association ID. Required for EC2-VPC.

", - "DisassociateRouteTableRequest$AssociationId": "

The association ID representing the current association between the route table and subnet.

", - "DiskImage$Description": "

A description of the disk image.

", - "DiskImageDescription$ImportManifestUrl": "

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.

", - "DiskImageDescription$Checksum": "

The checksum computed for the disk image.

", - "DiskImageDetail$ImportManifestUrl": "

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.

", - "DiskImageVolumeDescription$Id": "

The volume identifier.

", - "EbsBlockDevice$SnapshotId": "

The ID of the snapshot.

", - "EbsInstanceBlockDevice$VolumeId": "

The ID of the EBS volume.

", - "EbsInstanceBlockDeviceSpecification$VolumeId": "

The ID of the EBS volume.

", - "EnableVgwRoutePropagationRequest$RouteTableId": "

The ID of the route table.

", - "EnableVgwRoutePropagationRequest$GatewayId": "

The ID of the virtual private gateway.

", - "EnableVolumeIORequest$VolumeId": "

The ID of the volume.

", - "EnableVpcClassicLinkDnsSupportRequest$VpcId": "

The ID of the VPC.

", - "EnableVpcClassicLinkRequest$VpcId": "

The ID of the VPC.

", - "EventInformation$InstanceId": "

The ID of the instance. This information is available only for instanceChange events.

", - "EventInformation$EventSubType": "

The event.

The following are the error events.

The following are the fleetRequestChange events.

The following are the instanceChange events.

", - "EventInformation$EventDescription": "

The description of the event.

", - "ExecutableByStringList$member": null, - "ExportTask$ExportTaskId": "

The ID of the export task.

", - "ExportTask$Description": "

A description of the resource being exported.

", - "ExportTask$StatusMessage": "

The status message related to the export task.

", - "ExportTaskIdStringList$member": null, - "ExportToS3Task$S3Bucket": "

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.

", - "ExportToS3Task$S3Key": "

The encryption key for your S3 bucket.

", - "ExportToS3TaskSpecification$S3Bucket": "

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.

", - "ExportToS3TaskSpecification$S3Prefix": "

The image is written to a single object in the S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", - "Filter$Name": "

The name of the filter. Filter names are case-sensitive.

", - "FlowLog$FlowLogId": "

The flow log ID.

", - "FlowLog$FlowLogStatus": "

The status of the flow log (ACTIVE).

", - "FlowLog$ResourceId": "

The ID of the resource on which the flow log was created.

", - "FlowLog$LogGroupName": "

The name of the flow log group.

", - "FlowLog$DeliverLogsStatus": "

The status of the logs delivery (SUCCESS | FAILED).

", - "FlowLog$DeliverLogsErrorMessage": "

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.

", - "FlowLog$DeliverLogsPermissionArn": "

The ARN of the IAM role that posts logs to CloudWatch Logs.

", - "GetConsoleOutputRequest$InstanceId": "

The ID of the instance.

", - "GetConsoleOutputResult$InstanceId": "

The ID of the instance.

", - "GetConsoleOutputResult$Output": "

The console output, base64-encoded. If using a command line tool, the tools decode the output for you.

", - "GetConsoleScreenshotRequest$InstanceId": "

The ID of the instance.

", - "GetConsoleScreenshotResult$InstanceId": "

The ID of the instance.

", - "GetConsoleScreenshotResult$ImageData": "

The data that comprises the image.

", - "GetPasswordDataRequest$InstanceId": "

The ID of the Windows instance.

", - "GetPasswordDataResult$InstanceId": "

The ID of the Windows instance.

", - "GetPasswordDataResult$PasswordData": "

The password of the instance.

", - "GroupIdStringList$member": null, - "GroupIdentifier$GroupName": "

The name of the security group.

", - "GroupIdentifier$GroupId": "

The ID of the security group.

", - "GroupIds$member": null, - "GroupNameStringList$member": null, - "Host$HostId": "

The ID of the Dedicated host.

", - "Host$HostReservationId": "

The reservation ID of the Dedicated host. This returns a null response if the Dedicated host doesn't have an associated reservation.

", - "Host$ClientToken": "

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.

", - "Host$AvailabilityZone": "

The Availability Zone of the Dedicated host.

", - "HostInstance$InstanceId": "

the IDs of instances that are running on the Dedicated host.

", - "HostInstance$InstanceType": "

The instance type size (for example, m3.medium) of the running instance.

", - "HostProperties$InstanceType": "

The instance type size that the Dedicated host supports (for example, m3.medium).

", - "IamInstanceProfile$Arn": "

The Amazon Resource Name (ARN) of the instance profile.

", - "IamInstanceProfile$Id": "

The ID of the instance profile.

", - "IamInstanceProfileSpecification$Arn": "

The Amazon Resource Name (ARN) of the instance profile.

", - "IamInstanceProfileSpecification$Name": "

The name of the instance profile.

", - "IdFormat$Resource": "

The type of resource.

", - "Image$ImageId": "

The ID of the AMI.

", - "Image$ImageLocation": "

The location of the AMI.

", - "Image$OwnerId": "

The AWS account ID of the image owner.

", - "Image$CreationDate": "

The date and time the image was created.

", - "Image$KernelId": "

The kernel associated with the image, if any. Only applicable for machine images.

", - "Image$RamdiskId": "

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "Image$SriovNetSupport": "

Specifies whether enhanced networking is enabled.

", - "Image$ImageOwnerAlias": "

The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.

", - "Image$Name": "

The name of the AMI that was provided during image creation.

", - "Image$Description": "

The description of the AMI that was provided during image creation.

", - "Image$RootDeviceName": "

The device name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "ImageAttribute$ImageId": "

The ID of the AMI.

", - "ImageDiskContainer$Description": "

The description of the disk image.

", - "ImageDiskContainer$Format": "

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

", - "ImageDiskContainer$Url": "

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://..)

", - "ImageDiskContainer$DeviceName": "

The block device mapping for the disk.

", - "ImageDiskContainer$SnapshotId": "

The ID of the EBS snapshot to be used for importing the snapshot.

", - "ImageIdStringList$member": null, - "ImportImageRequest$Description": "

A description string for the import image task.

", - "ImportImageRequest$LicenseType": "

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

", - "ImportImageRequest$Hypervisor": "

The target hypervisor platform.

Valid values: xen

", - "ImportImageRequest$Architecture": "

The architecture of the virtual machine.

Valid values: i386 | x86_64

", - "ImportImageRequest$Platform": "

The operating system of the virtual machine.

Valid values: Windows | Linux

", - "ImportImageRequest$ClientToken": "

The token to enable idempotency for VM import requests.

", - "ImportImageRequest$RoleName": "

The name of the role to use when not using the default role, 'vmimport'.

", - "ImportImageResult$ImportTaskId": "

The task ID of the import image task.

", - "ImportImageResult$Architecture": "

The architecture of the virtual machine.

", - "ImportImageResult$LicenseType": "

The license type of the virtual machine.

", - "ImportImageResult$Platform": "

The operating system of the virtual machine.

", - "ImportImageResult$Hypervisor": "

The target hypervisor of the import task.

", - "ImportImageResult$Description": "

A description of the import task.

", - "ImportImageResult$ImageId": "

The ID of the Amazon Machine Image (AMI) created by the import task.

", - "ImportImageResult$Progress": "

The progress of the task.

", - "ImportImageResult$StatusMessage": "

A detailed status message of the import task.

", - "ImportImageResult$Status": "

A brief status of the task.

", - "ImportImageTask$ImportTaskId": "

The ID of the import image task.

", - "ImportImageTask$Architecture": "

The architecture of the virtual machine.

Valid values: i386 | x86_64

", - "ImportImageTask$LicenseType": "

The license type of the virtual machine.

", - "ImportImageTask$Platform": "

The description string for the import image task.

", - "ImportImageTask$Hypervisor": "

The target hypervisor for the import task.

Valid values: xen

", - "ImportImageTask$Description": "

A description of the import task.

", - "ImportImageTask$ImageId": "

The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

", - "ImportImageTask$Progress": "

The percentage of progress of the import image task.

", - "ImportImageTask$StatusMessage": "

A descriptive status message for the import image task.

", - "ImportImageTask$Status": "

A brief status for the import image task.

", - "ImportInstanceLaunchSpecification$AdditionalInfo": "

Reserved.

", - "ImportInstanceLaunchSpecification$SubnetId": "

[EC2-VPC] The ID of the subnet in which to launch the instance.

", - "ImportInstanceLaunchSpecification$PrivateIpAddress": "

[EC2-VPC] An available IP address from the IP address range of the subnet.

", - "ImportInstanceRequest$Description": "

A description for the instance being imported.

", - "ImportInstanceTaskDetails$InstanceId": "

The ID of the instance.

", - "ImportInstanceTaskDetails$Description": "

A description of the task.

", - "ImportInstanceVolumeDetailItem$AvailabilityZone": "

The Availability Zone where the resulting instance will reside.

", - "ImportInstanceVolumeDetailItem$Status": "

The status of the import of this particular disk image.

", - "ImportInstanceVolumeDetailItem$StatusMessage": "

The status information or errors related to the disk image.

", - "ImportInstanceVolumeDetailItem$Description": "

A description of the task.

", - "ImportKeyPairRequest$KeyName": "

A unique name for the key pair.

", - "ImportKeyPairResult$KeyName": "

The key pair name you provided.

", - "ImportKeyPairResult$KeyFingerprint": "

The MD5 public key fingerprint as specified in section 4 of RFC 4716.

", - "ImportSnapshotRequest$Description": "

The description string for the import snapshot task.

", - "ImportSnapshotRequest$ClientToken": "

Token to enable idempotency for VM import requests.

", - "ImportSnapshotRequest$RoleName": "

The name of the role to use when not using the default role, 'vmimport'.

", - "ImportSnapshotResult$ImportTaskId": "

The ID of the import snapshot task.

", - "ImportSnapshotResult$Description": "

A description of the import snapshot task.

", - "ImportSnapshotTask$ImportTaskId": "

The ID of the import snapshot task.

", - "ImportSnapshotTask$Description": "

A description of the import snapshot task.

", - "ImportTaskIdList$member": null, - "ImportVolumeRequest$AvailabilityZone": "

The Availability Zone for the resulting EBS volume.

", - "ImportVolumeRequest$Description": "

A description of the volume.

", - "ImportVolumeTaskDetails$AvailabilityZone": "

The Availability Zone where the resulting volume will reside.

", - "ImportVolumeTaskDetails$Description": "

The description you provided when starting the import volume task.

", - "Instance$InstanceId": "

The ID of the instance.

", - "Instance$ImageId": "

The ID of the AMI used to launch the instance.

", - "Instance$PrivateDnsName": "

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.

", - "Instance$PublicDnsName": "

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.

", - "Instance$StateTransitionReason": "

The reason for the most recent state transition. This might be an empty string.

", - "Instance$KeyName": "

The name of the key pair, if this instance was launched with an associated key pair.

", - "Instance$KernelId": "

The kernel associated with this instance, if applicable.

", - "Instance$RamdiskId": "

The RAM disk associated with this instance, if applicable.

", - "Instance$SubnetId": "

[EC2-VPC] The ID of the subnet in which the instance is running.

", - "Instance$VpcId": "

[EC2-VPC] The ID of the VPC in which the instance is running.

", - "Instance$PrivateIpAddress": "

The private IP address assigned to the instance.

", - "Instance$PublicIpAddress": "

The public IP address assigned to the instance, if applicable.

", - "Instance$RootDeviceName": "

The root device name (for example, /dev/sda1 or /dev/xvda).

", - "Instance$SpotInstanceRequestId": "

If the request is a Spot instance request, the ID of the request.

", - "Instance$ClientToken": "

The idempotency token you provided when you launched the instance, if applicable.

", - "Instance$SriovNetSupport": "

Specifies whether enhanced networking is enabled.

", - "InstanceAttribute$InstanceId": "

The ID of the instance.

", - "InstanceBlockDeviceMapping$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "InstanceBlockDeviceMappingSpecification$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "InstanceBlockDeviceMappingSpecification$VirtualName": "

The virtual device name.

", - "InstanceBlockDeviceMappingSpecification$NoDevice": "

suppress the specified device included in the block device mapping.

", - "InstanceCapacity$InstanceType": "

The instance type size supported by the Dedicated host.

", - "InstanceExportDetails$InstanceId": "

The ID of the resource being exported.

", - "InstanceIdSet$member": null, - "InstanceIdStringList$member": null, - "InstanceMonitoring$InstanceId": "

The ID of the instance.

", - "InstanceNetworkInterface$NetworkInterfaceId": "

The ID of the network interface.

", - "InstanceNetworkInterface$SubnetId": "

The ID of the subnet.

", - "InstanceNetworkInterface$VpcId": "

The ID of the VPC.

", - "InstanceNetworkInterface$Description": "

The description.

", - "InstanceNetworkInterface$OwnerId": "

The ID of the AWS account that created the network interface.

", - "InstanceNetworkInterface$MacAddress": "

The MAC address.

", - "InstanceNetworkInterface$PrivateIpAddress": "

The IP address of the network interface within the subnet.

", - "InstanceNetworkInterface$PrivateDnsName": "

The private DNS name.

", - "InstanceNetworkInterfaceAssociation$PublicIp": "

The public IP address or Elastic IP address bound to the network interface.

", - "InstanceNetworkInterfaceAssociation$PublicDnsName": "

The public DNS name.

", - "InstanceNetworkInterfaceAssociation$IpOwnerId": "

The ID of the owner of the Elastic IP address.

", - "InstanceNetworkInterfaceAttachment$AttachmentId": "

The ID of the network interface attachment.

", - "InstanceNetworkInterfaceSpecification$NetworkInterfaceId": "

The ID of the network interface.

", - "InstanceNetworkInterfaceSpecification$SubnetId": "

The ID of the subnet associated with the network string. Applies only if creating a network interface when launching an instance.

", - "InstanceNetworkInterfaceSpecification$Description": "

The description of the network interface. Applies only if creating a network interface when launching an instance.

", - "InstanceNetworkInterfaceSpecification$PrivateIpAddress": "

The private IP address of the network interface. Applies only if creating a network interface when launching an instance.

", - "InstancePrivateIpAddress$PrivateIpAddress": "

The private IP address of the network interface.

", - "InstancePrivateIpAddress$PrivateDnsName": "

The private DNS name.

", - "InstanceStateChange$InstanceId": "

The ID of the instance.

", - "InstanceStatus$InstanceId": "

The ID of the instance.

", - "InstanceStatus$AvailabilityZone": "

The Availability Zone of the instance.

", - "InstanceStatusEvent$Description": "

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].

", - "InternetGateway$InternetGatewayId": "

The ID of the Internet gateway.

", - "InternetGatewayAttachment$VpcId": "

The ID of the VPC.

", - "IpPermission$IpProtocol": "

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.

", - "IpRange$CidrIp": "

The CIDR range. You can either specify a CIDR range or a source security group, not both.

", - "IpRanges$member": null, - "KeyNameStringList$member": null, - "KeyPair$KeyName": "

The name of the key pair.

", - "KeyPair$KeyFingerprint": "

The SHA-1 digest of the DER encoded private key.

", - "KeyPair$KeyMaterial": "

An unencrypted PEM encoded RSA private key.

", - "KeyPairInfo$KeyName": "

The name of the key pair.

", - "KeyPairInfo$KeyFingerprint": "

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.

", - "LaunchPermission$UserId": "

The AWS account ID.

", - "LaunchSpecification$ImageId": "

The ID of the AMI.

", - "LaunchSpecification$KeyName": "

The name of the key pair.

", - "LaunchSpecification$UserData": "

The Base64-encoded MIME user data to make available to the instances.

", - "LaunchSpecification$AddressingType": "

Deprecated.

", - "LaunchSpecification$KernelId": "

The ID of the kernel.

", - "LaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "LaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instance.

", - "ModifyIdFormatRequest$Resource": "

The type of resource.

", - "ModifyImageAttributeRequest$ImageId": "

The ID of the AMI.

", - "ModifyImageAttributeRequest$Attribute": "

The name of the attribute to modify.

", - "ModifyImageAttributeRequest$Value": "

The value of the attribute being modified. This is only valid when modifying the description attribute.

", - "ModifyInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", - "ModifyInstanceAttributeRequest$Value": "

A new value for the attribute. Use only with the kernel, ramdisk, userData, disableApiTermination, or instanceInitiatedShutdownBehavior attribute.

", - "ModifyInstancePlacementRequest$InstanceId": "

The ID of the instance that you are modifying.

", - "ModifyInstancePlacementRequest$HostId": "

The ID of the Dedicated host that the instance will have affinity with.

", - "ModifyNetworkInterfaceAttributeRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "ModifyReservedInstancesRequest$ClientToken": "

A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

", - "ModifyReservedInstancesResult$ReservedInstancesModificationId": "

The ID for the modification.

", - "ModifySnapshotAttributeRequest$SnapshotId": "

The ID of the snapshot.

", - "ModifySpotFleetRequestRequest$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "ModifySubnetAttributeRequest$SubnetId": "

The ID of the subnet.

", - "ModifyVolumeAttributeRequest$VolumeId": "

The ID of the volume.

", - "ModifyVpcAttributeRequest$VpcId": "

The ID of the VPC.

", - "ModifyVpcEndpointRequest$VpcEndpointId": "

The ID of the endpoint.

", - "ModifyVpcEndpointRequest$PolicyDocument": "

A policy document to attach to the endpoint. The policy must be in valid JSON format.

", - "ModifyVpcPeeringConnectionOptionsRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "MoveAddressToVpcRequest$PublicIp": "

The Elastic IP address.

", - "MoveAddressToVpcResult$AllocationId": "

The allocation ID for the Elastic IP address.

", - "MovingAddressStatus$PublicIp": "

The Elastic IP address.

", - "NatGateway$VpcId": "

The ID of the VPC in which the NAT gateway is located.

", - "NatGateway$SubnetId": "

The ID of the subnet in which the NAT gateway is located.

", - "NatGateway$NatGatewayId": "

The ID of the NAT gateway.

", - "NatGateway$FailureCode": "

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)

", - "NatGateway$FailureMessage": "

If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

", - "NatGatewayAddress$PublicIp": "

The Elastic IP address associated with the NAT gateway.

", - "NatGatewayAddress$AllocationId": "

The allocation ID of the Elastic IP address that's associated with the NAT gateway.

", - "NatGatewayAddress$PrivateIp": "

The private IP address associated with the Elastic IP address.

", - "NatGatewayAddress$NetworkInterfaceId": "

The ID of the network interface associated with the NAT gateway.

", - "NetworkAcl$NetworkAclId": "

The ID of the network ACL.

", - "NetworkAcl$VpcId": "

The ID of the VPC for the network ACL.

", - "NetworkAclAssociation$NetworkAclAssociationId": "

The ID of the association between a network ACL and a subnet.

", - "NetworkAclAssociation$NetworkAclId": "

The ID of the network ACL.

", - "NetworkAclAssociation$SubnetId": "

The ID of the subnet.

", - "NetworkAclEntry$Protocol": "

The protocol. A value of -1 means all protocols.

", - "NetworkAclEntry$CidrBlock": "

The network range to allow or deny, in CIDR notation.

", - "NetworkInterface$NetworkInterfaceId": "

The ID of the network interface.

", - "NetworkInterface$SubnetId": "

The ID of the subnet.

", - "NetworkInterface$VpcId": "

The ID of the VPC.

", - "NetworkInterface$AvailabilityZone": "

The Availability Zone.

", - "NetworkInterface$Description": "

A description.

", - "NetworkInterface$OwnerId": "

The AWS account ID of the owner of the network interface.

", - "NetworkInterface$RequesterId": "

The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

", - "NetworkInterface$MacAddress": "

The MAC address.

", - "NetworkInterface$PrivateIpAddress": "

The IP address of the network interface within the subnet.

", - "NetworkInterface$PrivateDnsName": "

The private DNS name.

", - "NetworkInterfaceAssociation$PublicIp": "

The address of the Elastic IP address bound to the network interface.

", - "NetworkInterfaceAssociation$PublicDnsName": "

The public DNS name.

", - "NetworkInterfaceAssociation$IpOwnerId": "

The ID of the Elastic IP address owner.

", - "NetworkInterfaceAssociation$AllocationId": "

The allocation ID.

", - "NetworkInterfaceAssociation$AssociationId": "

The association ID.

", - "NetworkInterfaceAttachment$AttachmentId": "

The ID of the network interface attachment.

", - "NetworkInterfaceAttachment$InstanceId": "

The ID of the instance.

", - "NetworkInterfaceAttachment$InstanceOwnerId": "

The AWS account ID of the owner of the instance.

", - "NetworkInterfaceAttachmentChanges$AttachmentId": "

The ID of the network interface attachment.

", - "NetworkInterfaceIdList$member": null, - "NetworkInterfacePrivateIpAddress$PrivateIpAddress": "

The private IP address.

", - "NetworkInterfacePrivateIpAddress$PrivateDnsName": "

The private DNS name.

", - "NewDhcpConfiguration$Key": null, - "OwnerStringList$member": null, - "Placement$AvailabilityZone": "

The Availability Zone of the instance.

", - "Placement$GroupName": "

The name of the placement group the instance is in (for cluster compute instances).

", - "Placement$HostId": "

The ID of the Dedicted host on which the instance resides. This parameter is not support for the ImportInstance command.

", - "Placement$Affinity": "

The affinity setting for the instance on the Dedicated host. This parameter is not supported for the ImportInstance command.

", - "PlacementGroup$GroupName": "

The name of the placement group.

", - "PlacementGroupStringList$member": null, - "PrefixList$PrefixListId": "

The ID of the prefix.

", - "PrefixList$PrefixListName": "

The name of the prefix.

", - "PrefixListId$PrefixListId": "

The ID of the prefix.

", - "PrefixListIdSet$member": null, - "PrivateIpAddressSpecification$PrivateIpAddress": "

The private IP addresses.

", - "PrivateIpAddressStringList$member": null, - "ProductCode$ProductCodeId": "

The product code.

", - "ProductCodeStringList$member": null, - "ProductDescriptionList$member": null, - "PropagatingVgw$GatewayId": "

The ID of the virtual private gateway (VGW).

", - "ProvisionedBandwidth$Provisioned": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "ProvisionedBandwidth$Requested": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "ProvisionedBandwidth$Status": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "PublicIpStringList$member": null, - "PurchaseRequest$PurchaseToken": "

The purchase token.

", - "PurchaseReservedInstancesOfferingRequest$ReservedInstancesOfferingId": "

The ID of the Reserved Instance offering to purchase.

", - "PurchaseReservedInstancesOfferingResult$ReservedInstancesId": "

The IDs of the purchased Reserved Instances.

", - "PurchaseScheduledInstancesRequest$ClientToken": "

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", - "Region$RegionName": "

The name of the region.

", - "Region$Endpoint": "

The region service endpoint.

", - "RegionNameStringList$member": null, - "RegisterImageRequest$ImageLocation": "

The full path to your AMI manifest in Amazon S3 storage.

", - "RegisterImageRequest$Name": "

A name for your AMI.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "RegisterImageRequest$Description": "

A description for your AMI.

", - "RegisterImageRequest$KernelId": "

The ID of the kernel.

", - "RegisterImageRequest$RamdiskId": "

The ID of the RAM disk.

", - "RegisterImageRequest$RootDeviceName": "

The name of the root device (for example, /dev/sda1, or /dev/xvda).

", - "RegisterImageRequest$VirtualizationType": "

The type of virtualization.

Default: paravirtual

", - "RegisterImageRequest$SriovNetSupport": "

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.

", - "RegisterImageResult$ImageId": "

The ID of the newly registered AMI.

", - "RejectVpcPeeringConnectionRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "ReleaseAddressRequest$PublicIp": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

", - "ReleaseAddressRequest$AllocationId": "

[EC2-VPC] The allocation ID. Required for EC2-VPC.

", - "ReplaceNetworkAclAssociationRequest$AssociationId": "

The ID of the current association between the original network ACL and the subnet.

", - "ReplaceNetworkAclAssociationRequest$NetworkAclId": "

The ID of the new network ACL to associate with the subnet.

", - "ReplaceNetworkAclAssociationResult$NewAssociationId": "

The ID of the new association.

", - "ReplaceNetworkAclEntryRequest$NetworkAclId": "

The ID of the ACL.

", - "ReplaceNetworkAclEntryRequest$Protocol": "

The IP protocol. You can specify all or -1 to mean all protocols.

", - "ReplaceNetworkAclEntryRequest$CidrBlock": "

The network range to allow or deny, in CIDR notation.

", - "ReplaceRouteRequest$RouteTableId": "

The ID of the route table.

", - "ReplaceRouteRequest$DestinationCidrBlock": "

The CIDR address block used for the destination match. The value you provide must match the CIDR of an existing route in the table.

", - "ReplaceRouteRequest$GatewayId": "

The ID of an Internet gateway or virtual private gateway.

", - "ReplaceRouteRequest$InstanceId": "

The ID of a NAT instance in your VPC.

", - "ReplaceRouteRequest$NetworkInterfaceId": "

The ID of a network interface.

", - "ReplaceRouteRequest$VpcPeeringConnectionId": "

The ID of a VPC peering connection.

", - "ReplaceRouteRequest$NatGatewayId": "

The ID of a NAT gateway.

", - "ReplaceRouteTableAssociationRequest$AssociationId": "

The association ID.

", - "ReplaceRouteTableAssociationRequest$RouteTableId": "

The ID of the new route table to associate with the subnet.

", - "ReplaceRouteTableAssociationResult$NewAssociationId": "

The ID of the new association.

", - "ReportInstanceStatusRequest$Description": "

Descriptive text about the health state of your instance.

", - "RequestHostIdList$member": null, - "RequestSpotFleetResponse$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "RequestSpotInstancesRequest$SpotPrice": "

The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "RequestSpotInstancesRequest$ClientToken": "

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.

", - "RequestSpotInstancesRequest$LaunchGroup": "

The instance launch group. Launch groups are Spot instances that launch together and terminate together.

Default: Instances are launched and terminated individually

", - "RequestSpotInstancesRequest$AvailabilityZoneGroup": "

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.

", - "RequestSpotLaunchSpecification$ImageId": "

The ID of the AMI.

", - "RequestSpotLaunchSpecification$KeyName": "

The name of the key pair.

", - "RequestSpotLaunchSpecification$UserData": "

The Base64-encoded MIME user data to make available to the instances.

", - "RequestSpotLaunchSpecification$AddressingType": "

Deprecated.

", - "RequestSpotLaunchSpecification$KernelId": "

The ID of the kernel.

", - "RequestSpotLaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "RequestSpotLaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instance.

", - "Reservation$ReservationId": "

The ID of the reservation.

", - "Reservation$OwnerId": "

The ID of the AWS account that owns the reservation.

", - "Reservation$RequesterId": "

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", - "ReservedInstances$ReservedInstancesId": "

The ID of the Reserved Instance.

", - "ReservedInstances$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", - "ReservedInstancesConfiguration$AvailabilityZone": "

The Availability Zone for the modified Reserved Instances.

", - "ReservedInstancesConfiguration$Platform": "

The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

", - "ReservedInstancesId$ReservedInstancesId": "

The ID of the Reserved Instance.

", - "ReservedInstancesIdStringList$member": null, - "ReservedInstancesListing$ReservedInstancesListingId": "

The ID of the Reserved Instance listing.

", - "ReservedInstancesListing$ReservedInstancesId": "

The ID of the Reserved Instance.

", - "ReservedInstancesListing$StatusMessage": "

The reason for the current status of the Reserved Instance listing. The response can be blank.

", - "ReservedInstancesListing$ClientToken": "

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", - "ReservedInstancesModification$ReservedInstancesModificationId": "

A unique ID for the Reserved Instance modification.

", - "ReservedInstancesModification$Status": "

The status of the Reserved Instances modification request.

", - "ReservedInstancesModification$StatusMessage": "

The reason for the status.

", - "ReservedInstancesModification$ClientToken": "

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", - "ReservedInstancesModificationIdStringList$member": null, - "ReservedInstancesModificationResult$ReservedInstancesId": "

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.

", - "ReservedInstancesOffering$ReservedInstancesOfferingId": "

The ID of the Reserved Instance offering.

", - "ReservedInstancesOffering$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", - "ReservedInstancesOfferingIdStringList$member": null, - "ResetImageAttributeRequest$ImageId": "

The ID of the AMI.

", - "ResetInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", - "ResetNetworkInterfaceAttributeRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "ResetNetworkInterfaceAttributeRequest$SourceDestCheck": "

The source/destination checking attribute. Resets the value to true.

", - "ResetSnapshotAttributeRequest$SnapshotId": "

The ID of the snapshot.

", - "ResourceIdList$member": null, - "ResponseHostIdList$member": null, - "RestorableByStringList$member": null, - "RestoreAddressToClassicRequest$PublicIp": "

The Elastic IP address.

", - "RestoreAddressToClassicResult$PublicIp": "

The Elastic IP address.

", - "RevokeSecurityGroupEgressRequest$GroupId": "

The ID of the security group.

", - "RevokeSecurityGroupEgressRequest$SourceSecurityGroupName": "

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.

", - "RevokeSecurityGroupEgressRequest$SourceSecurityGroupOwnerId": "

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.

", - "RevokeSecurityGroupEgressRequest$IpProtocol": "

The IP protocol name or number. We recommend that you specify the protocol in a set of IP permissions instead.

", - "RevokeSecurityGroupEgressRequest$CidrIp": "

The CIDR IP address range. We recommend that you specify the CIDR range in a set of IP permissions instead.

", - "RevokeSecurityGroupIngressRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group.

", - "RevokeSecurityGroupIngressRequest$GroupId": "

The ID of the security group. Required for a security group in a nondefault VPC.

", - "RevokeSecurityGroupIngressRequest$SourceSecurityGroupName": "

[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.

", - "RevokeSecurityGroupIngressRequest$SourceSecurityGroupOwnerId": "

[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.

", - "RevokeSecurityGroupIngressRequest$IpProtocol": "

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "RevokeSecurityGroupIngressRequest$CidrIp": "

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "Route$DestinationCidrBlock": "

The CIDR block used for the destination match.

", - "Route$DestinationPrefixListId": "

The prefix of the AWS service.

", - "Route$GatewayId": "

The ID of a gateway attached to your VPC.

", - "Route$InstanceId": "

The ID of a NAT instance in your VPC.

", - "Route$InstanceOwnerId": "

The AWS account ID of the owner of the instance.

", - "Route$NetworkInterfaceId": "

The ID of the network interface.

", - "Route$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "Route$NatGatewayId": "

The ID of a NAT gateway.

", - "RouteTable$RouteTableId": "

The ID of the route table.

", - "RouteTable$VpcId": "

The ID of the VPC.

", - "RouteTableAssociation$RouteTableAssociationId": "

The ID of the association between a route table and a subnet.

", - "RouteTableAssociation$RouteTableId": "

The ID of the route table.

", - "RouteTableAssociation$SubnetId": "

The ID of the subnet. A subnet ID is not returned for an implicit association.

", - "RunInstancesRequest$ImageId": "

The ID of the AMI, which you can get by calling DescribeImages.

", - "RunInstancesRequest$KeyName": "

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.

", - "RunInstancesRequest$UserData": "

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.

", - "RunInstancesRequest$KernelId": "

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.

", - "RunInstancesRequest$RamdiskId": "

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.

", - "RunInstancesRequest$SubnetId": "

[EC2-VPC] The ID of the subnet to launch the instance into.

", - "RunInstancesRequest$PrivateIpAddress": "

[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.

", - "RunInstancesRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraints: Maximum 64 ASCII characters

", - "RunInstancesRequest$AdditionalInfo": "

Reserved.

", - "RunScheduledInstancesRequest$ClientToken": "

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", - "RunScheduledInstancesRequest$ScheduledInstanceId": "

The Scheduled Instance ID.

", - "S3Storage$Bucket": "

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.

", - "S3Storage$Prefix": "

The beginning of the file name of the AMI.

", - "S3Storage$AWSAccessKeyId": "

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.

", - "S3Storage$UploadPolicySignature": "

The signature of the Base64 encoded JSON document.

", - "ScheduledInstance$ScheduledInstanceId": "

The Scheduled Instance ID.

", - "ScheduledInstance$InstanceType": "

The instance type.

", - "ScheduledInstance$Platform": "

The platform (Linux/UNIX or Windows).

", - "ScheduledInstance$NetworkPlatform": "

The network platform (EC2-Classic or EC2-VPC).

", - "ScheduledInstance$AvailabilityZone": "

The Availability Zone.

", - "ScheduledInstance$HourlyPrice": "

The hourly price for a single instance.

", - "ScheduledInstanceAvailability$InstanceType": "

The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

", - "ScheduledInstanceAvailability$Platform": "

The platform (Linux/UNIX or Windows).

", - "ScheduledInstanceAvailability$NetworkPlatform": "

The network platform (EC2-Classic or EC2-VPC).

", - "ScheduledInstanceAvailability$AvailabilityZone": "

The Availability Zone.

", - "ScheduledInstanceAvailability$PurchaseToken": "

The purchase token. This token expires in two hours.

", - "ScheduledInstanceAvailability$HourlyPrice": "

The hourly price for a single instance.

", - "ScheduledInstanceIdRequestSet$member": null, - "ScheduledInstanceRecurrence$Frequency": "

The frequency (Daily, Weekly, or Monthly).

", - "ScheduledInstanceRecurrence$OccurrenceUnit": "

The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

", - "ScheduledInstanceRecurrenceRequest$Frequency": "

The frequency (Daily, Weekly, or Monthly).

", - "ScheduledInstanceRecurrenceRequest$OccurrenceUnit": "

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.

", - "ScheduledInstancesBlockDeviceMapping$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "ScheduledInstancesBlockDeviceMapping$NoDevice": "

Suppresses the specified device included in the block device mapping of the AMI.

", - "ScheduledInstancesBlockDeviceMapping$VirtualName": "

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.

", - "ScheduledInstancesEbs$SnapshotId": "

The ID of the snapshot.

", - "ScheduledInstancesEbs$VolumeType": "

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

", - "ScheduledInstancesIamInstanceProfile$Arn": "

The Amazon Resource Name (ARN).

", - "ScheduledInstancesIamInstanceProfile$Name": "

The name.

", - "ScheduledInstancesLaunchSpecification$ImageId": "

The ID of the Amazon Machine Image (AMI).

", - "ScheduledInstancesLaunchSpecification$KeyName": "

The name of the key pair.

", - "ScheduledInstancesLaunchSpecification$UserData": "

The base64-encoded MIME user data.

", - "ScheduledInstancesLaunchSpecification$KernelId": "

The ID of the kernel.

", - "ScheduledInstancesLaunchSpecification$InstanceType": "

The instance type.

", - "ScheduledInstancesLaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "ScheduledInstancesLaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instances.

", - "ScheduledInstancesNetworkInterface$NetworkInterfaceId": "

The ID of the network interface.

", - "ScheduledInstancesNetworkInterface$SubnetId": "

The ID of the subnet.

", - "ScheduledInstancesNetworkInterface$Description": "

The description.

", - "ScheduledInstancesNetworkInterface$PrivateIpAddress": "

The IP address of the network interface within the subnet.

", - "ScheduledInstancesPlacement$AvailabilityZone": "

The Availability Zone.

", - "ScheduledInstancesPlacement$GroupName": "

The name of the placement group.

", - "ScheduledInstancesPrivateIpAddressConfig$PrivateIpAddress": "

The IP address.

", - "ScheduledInstancesSecurityGroupIdSet$member": null, - "SecurityGroup$OwnerId": "

The AWS account ID of the owner of the security group.

", - "SecurityGroup$GroupName": "

The name of the security group.

", - "SecurityGroup$GroupId": "

The ID of the security group.

", - "SecurityGroup$Description": "

A description of the security group.

", - "SecurityGroup$VpcId": "

[EC2-VPC] The ID of the VPC for the security group.

", - "SecurityGroupIdStringList$member": null, - "SecurityGroupReference$GroupId": "

The ID of your security group.

", - "SecurityGroupReference$ReferencingVpcId": "

The ID of the VPC with the referencing security group.

", - "SecurityGroupReference$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "SecurityGroupStringList$member": null, - "Snapshot$SnapshotId": "

The ID of the snapshot. Each snapshot receives a unique identifier when it is created.

", - "Snapshot$VolumeId": "

The ID of the volume that was used to create the snapshot.

", - "Snapshot$StateMessage": "

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.

", - "Snapshot$Progress": "

The progress of the snapshot, as a percentage.

", - "Snapshot$OwnerId": "

The AWS account ID of the EBS snapshot owner.

", - "Snapshot$Description": "

The description for the snapshot.

", - "Snapshot$OwnerAlias": "

The AWS account alias (for example, amazon, self) or AWS account ID that owns the snapshot.

", - "Snapshot$KmsKeyId": "

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.

", - "Snapshot$DataEncryptionKeyId": "

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.

", - "SnapshotDetail$Description": "

A description for the snapshot.

", - "SnapshotDetail$Format": "

The format of the disk image from which the snapshot is created.

", - "SnapshotDetail$Url": "

The URL used to access the disk image.

", - "SnapshotDetail$DeviceName": "

The block device mapping for the snapshot.

", - "SnapshotDetail$SnapshotId": "

The snapshot ID of the disk being imported.

", - "SnapshotDetail$Progress": "

The percentage of progress for the task.

", - "SnapshotDetail$StatusMessage": "

A detailed status message for the snapshot creation.

", - "SnapshotDetail$Status": "

A brief status of the snapshot creation.

", - "SnapshotDiskContainer$Description": "

The description of the disk image being imported.

", - "SnapshotDiskContainer$Format": "

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

", - "SnapshotDiskContainer$Url": "

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://..).

", - "SnapshotIdStringList$member": null, - "SnapshotTaskDetail$Description": "

The description of the snapshot.

", - "SnapshotTaskDetail$Format": "

The format of the disk image from which the snapshot is created.

", - "SnapshotTaskDetail$Url": "

The URL of the disk image from which the snapshot is created.

", - "SnapshotTaskDetail$SnapshotId": "

The snapshot ID of the disk being imported.

", - "SnapshotTaskDetail$Progress": "

The percentage of completion for the import snapshot task.

", - "SnapshotTaskDetail$StatusMessage": "

A detailed status message for the import snapshot task.

", - "SnapshotTaskDetail$Status": "

A brief status for the import snapshot task.

", - "SpotDatafeedSubscription$OwnerId": "

The AWS account ID of the account.

", - "SpotDatafeedSubscription$Bucket": "

The Amazon S3 bucket where the Spot instance data feed is located.

", - "SpotDatafeedSubscription$Prefix": "

The prefix that is prepended to data feed files.

", - "SpotFleetLaunchSpecification$ImageId": "

The ID of the AMI.

", - "SpotFleetLaunchSpecification$KeyName": "

The name of the key pair.

", - "SpotFleetLaunchSpecification$UserData": "

The Base64-encoded MIME user data to make available to the instances.

", - "SpotFleetLaunchSpecification$AddressingType": "

Deprecated.

", - "SpotFleetLaunchSpecification$KernelId": "

The ID of the kernel.

", - "SpotFleetLaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "SpotFleetLaunchSpecification$SubnetId": "

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\".

", - "SpotFleetLaunchSpecification$SpotPrice": "

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.

", - "SpotFleetRequestConfig$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "SpotFleetRequestConfigData$ClientToken": "

A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "SpotFleetRequestConfigData$SpotPrice": "

The bid price per unit hour.

", - "SpotFleetRequestConfigData$IamFleetRole": "

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.

", - "SpotInstanceRequest$SpotInstanceRequestId": "

The ID of the Spot instance request.

", - "SpotInstanceRequest$SpotPrice": "

The maximum hourly price (bid) for the Spot instance launched to fulfill the request.

", - "SpotInstanceRequest$LaunchGroup": "

The instance launch group. Launch groups are Spot instances that launch together and terminate together.

", - "SpotInstanceRequest$AvailabilityZoneGroup": "

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.

", - "SpotInstanceRequest$InstanceId": "

The instance ID, if an instance has been launched to fulfill the Spot instance request.

", - "SpotInstanceRequest$ActualBlockHourlyPrice": "

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.

", - "SpotInstanceRequest$LaunchedAvailabilityZone": "

The Availability Zone in which the bid is launched.

", - "SpotInstanceRequestIdList$member": null, - "SpotInstanceStateFault$Code": "

The reason code for the Spot instance state change.

", - "SpotInstanceStateFault$Message": "

The message for the Spot instance state change.

", - "SpotInstanceStatus$Code": "

The status code. For a list of status codes, see Spot Bid Status Codes in the Amazon Elastic Compute Cloud User Guide.

", - "SpotInstanceStatus$Message": "

The description for the status code.

", - "SpotPlacement$AvailabilityZone": "

The Availability Zone.

[Spot fleet only] To specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".

", - "SpotPlacement$GroupName": "

The name of the placement group (for cluster instances).

", - "SpotPrice$SpotPrice": "

The maximum price (bid) that you are willing to pay for a Spot instance.

", - "SpotPrice$AvailabilityZone": "

The Availability Zone.

", - "StaleIpPermission$IpProtocol": "

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

", - "StaleSecurityGroup$GroupId": "

The ID of the security group.

", - "StaleSecurityGroup$GroupName": "

The name of the security group.

", - "StaleSecurityGroup$Description": "

The description of the security group.

", - "StaleSecurityGroup$VpcId": "

The ID of the VPC for the security group.

", - "StartInstancesRequest$AdditionalInfo": "

Reserved.

", - "StateReason$Code": "

The reason code for the state change.

", - "StateReason$Message": "

The message for the state change.

", - "Subnet$SubnetId": "

The ID of the subnet.

", - "Subnet$VpcId": "

The ID of the VPC the subnet is in.

", - "Subnet$CidrBlock": "

The CIDR block assigned to the subnet.

", - "Subnet$AvailabilityZone": "

The Availability Zone of the subnet.

", - "SubnetIdStringList$member": null, - "Tag$Key": "

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:

", - "Tag$Value": "

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

", - "TagDescription$ResourceId": "

The ID of the resource. For example, ami-1a2b3c4d.

", - "TagDescription$Key": "

The tag key.

", - "TagDescription$Value": "

The tag value.

", - "UnassignPrivateIpAddressesRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "UnsuccessfulItem$ResourceId": "

The ID of the resource.

", - "UnsuccessfulItemError$Code": "

The error code.

", - "UnsuccessfulItemError$Message": "

The error message accompanying the error code.

", - "UserBucket$S3Bucket": "

The name of the S3 bucket where the disk image is located.

", - "UserBucket$S3Key": "

The file name of the disk image.

", - "UserBucketDetails$S3Bucket": "

The S3 bucket from which the disk image was created.

", - "UserBucketDetails$S3Key": "

The file name of the disk image.

", - "UserData$Data": "

The Base64-encoded MIME user data for the instance.

", - "UserGroupStringList$member": null, - "UserIdGroupPair$UserId": "

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.

", - "UserIdGroupPair$GroupName": "

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.

", - "UserIdGroupPair$GroupId": "

The ID of the security group.

", - "UserIdGroupPair$VpcId": "

The ID of the VPC for the referenced security group, if applicable.

", - "UserIdGroupPair$VpcPeeringConnectionId": "

The ID of the VPC peering connection, if applicable.

", - "UserIdGroupPair$PeeringStatus": "

The status of a VPC peering connection, if applicable.

", - "UserIdStringList$member": null, - "ValueStringList$member": null, - "VgwTelemetry$OutsideIpAddress": "

The Internet-routable IP address of the virtual private gateway's outside interface.

", - "VgwTelemetry$StatusMessage": "

If an error occurs, a description of the error.

", - "Volume$VolumeId": "

The ID of the volume.

", - "Volume$SnapshotId": "

The snapshot from which the volume was created, if applicable.

", - "Volume$AvailabilityZone": "

The Availability Zone for the volume.

", - "Volume$KmsKeyId": "

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.

", - "VolumeAttachment$VolumeId": "

The ID of the volume.

", - "VolumeAttachment$InstanceId": "

The ID of the instance.

", - "VolumeAttachment$Device": "

The device name.

", - "VolumeIdStringList$member": null, - "VolumeStatusAction$Code": "

The code identifying the operation, for example, enable-volume-io.

", - "VolumeStatusAction$Description": "

A description of the operation.

", - "VolumeStatusAction$EventType": "

The event type associated with this operation.

", - "VolumeStatusAction$EventId": "

The ID of the event associated with this operation.

", - "VolumeStatusDetails$Status": "

The intended status of the volume status.

", - "VolumeStatusEvent$EventType": "

The type of this event.

", - "VolumeStatusEvent$Description": "

A description of the event.

", - "VolumeStatusEvent$EventId": "

The ID of this event.

", - "VolumeStatusItem$VolumeId": "

The volume ID.

", - "VolumeStatusItem$AvailabilityZone": "

The Availability Zone of the volume.

", - "Vpc$VpcId": "

The ID of the VPC.

", - "Vpc$CidrBlock": "

The CIDR block for the VPC.

", - "Vpc$DhcpOptionsId": "

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).

", - "VpcAttachment$VpcId": "

The ID of the VPC.

", - "VpcClassicLink$VpcId": "

The ID of the VPC.

", - "VpcClassicLinkIdList$member": null, - "VpcEndpoint$VpcEndpointId": "

The ID of the VPC endpoint.

", - "VpcEndpoint$VpcId": "

The ID of the VPC to which the endpoint is associated.

", - "VpcEndpoint$ServiceName": "

The name of the AWS service to which the endpoint is associated.

", - "VpcEndpoint$PolicyDocument": "

The policy document associated with the endpoint.

", - "VpcIdStringList$member": null, - "VpcPeeringConnection$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "VpcPeeringConnectionStateReason$Message": "

A message that provides more information about the status, if applicable.

", - "VpcPeeringConnectionVpcInfo$CidrBlock": "

The CIDR block for the VPC.

", - "VpcPeeringConnectionVpcInfo$OwnerId": "

The AWS account ID of the VPC owner.

", - "VpcPeeringConnectionVpcInfo$VpcId": "

The ID of the VPC.

", - "VpnConnection$VpnConnectionId": "

The ID of the VPN connection.

", - "VpnConnection$CustomerGatewayConfiguration": "

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.

", - "VpnConnection$CustomerGatewayId": "

The ID of the customer gateway at your end of the VPN connection.

", - "VpnConnection$VpnGatewayId": "

The ID of the virtual private gateway at the AWS side of the VPN connection.

", - "VpnConnectionIdStringList$member": null, - "VpnGateway$VpnGatewayId": "

The ID of the virtual private gateway.

", - "VpnGateway$AvailabilityZone": "

The Availability Zone where the virtual private gateway was created, if applicable. This field may be empty or not returned.

", - "VpnGatewayIdStringList$member": null, - "VpnStaticRoute$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer data center.

", - "ZoneNameStringList$member": null - } - }, - "Subnet": { - "base": "

Describes a subnet.

", - "refs": { - "CreateSubnetResult$Subnet": "

Information about the subnet.

", - "SubnetList$member": null - } - }, - "SubnetIdStringList": { - "base": null, - "refs": { - "DescribeSubnetsRequest$SubnetIds": "

One or more subnet IDs.

Default: Describes all your subnets.

" - } - }, - "SubnetList": { - "base": null, - "refs": { - "DescribeSubnetsResult$Subnets": "

Information about one or more subnets.

" - } - }, - "SubnetState": { - "base": null, - "refs": { - "Subnet$State": "

The current state of the subnet.

" - } - }, - "SummaryStatus": { - "base": null, - "refs": { - "InstanceStatusSummary$Status": "

The status.

" - } - }, - "Tag": { - "base": "

Describes a tag.

", - "refs": { - "TagList$member": null - } - }, - "TagDescription": { - "base": "

Describes a tag.

", - "refs": { - "TagDescriptionList$member": null - } - }, - "TagDescriptionList": { - "base": null, - "refs": { - "DescribeTagsResult$Tags": "

A list of tags.

" - } - }, - "TagList": { - "base": null, - "refs": { - "ClassicLinkInstance$Tags": "

Any tags assigned to the instance.

", - "ConversionTask$Tags": "

Any tags assigned to the task.

", - "CreateTagsRequest$Tags": "

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.

", - "CustomerGateway$Tags": "

Any tags assigned to the customer gateway.

", - "DeleteTagsRequest$Tags": "

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.

", - "DhcpOptions$Tags": "

Any tags assigned to the DHCP options set.

", - "Image$Tags": "

Any tags assigned to the image.

", - "Instance$Tags": "

Any tags assigned to the instance.

", - "InternetGateway$Tags": "

Any tags assigned to the Internet gateway.

", - "NetworkAcl$Tags": "

Any tags assigned to the network ACL.

", - "NetworkInterface$TagSet": "

Any tags assigned to the network interface.

", - "ReservedInstances$Tags": "

Any tags assigned to the resource.

", - "ReservedInstancesListing$Tags": "

Any tags assigned to the resource.

", - "RouteTable$Tags": "

Any tags assigned to the route table.

", - "SecurityGroup$Tags": "

Any tags assigned to the security group.

", - "Snapshot$Tags": "

Any tags assigned to the snapshot.

", - "SpotInstanceRequest$Tags": "

Any tags assigned to the resource.

", - "Subnet$Tags": "

Any tags assigned to the subnet.

", - "Volume$Tags": "

Any tags assigned to the volume.

", - "Vpc$Tags": "

Any tags assigned to the VPC.

", - "VpcClassicLink$Tags": "

Any tags assigned to the VPC.

", - "VpcPeeringConnection$Tags": "

Any tags assigned to the resource.

", - "VpnConnection$Tags": "

Any tags assigned to the VPN connection.

", - "VpnGateway$Tags": "

Any tags assigned to the virtual private gateway.

" - } - }, - "TelemetryStatus": { - "base": null, - "refs": { - "VgwTelemetry$Status": "

The status of the VPN tunnel.

" - } - }, - "Tenancy": { - "base": null, - "refs": { - "CreateVpcRequest$InstanceTenancy": "

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

", - "DescribeReservedInstancesOfferingsRequest$InstanceTenancy": "

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

", - "Placement$Tenancy": "

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.

", - "ReservedInstances$InstanceTenancy": "

The tenancy of the instance.

", - "ReservedInstancesOffering$InstanceTenancy": "

The tenancy of the instance.

", - "Vpc$InstanceTenancy": "

The allowed tenancy of instances launched into the VPC.

" - } - }, - "TerminateInstancesRequest": { - "base": "

Contains the parameters for TerminateInstances.

", - "refs": { - } - }, - "TerminateInstancesResult": { - "base": "

Contains the output of TerminateInstances.

", - "refs": { - } - }, - "TrafficType": { - "base": null, - "refs": { - "CreateFlowLogsRequest$TrafficType": "

The type of traffic to log.

", - "FlowLog$TrafficType": "

The type of traffic captured for the flow log.

" - } - }, - "UnassignPrivateIpAddressesRequest": { - "base": "

Contains the parameters for UnassignPrivateIpAddresses.

", - "refs": { - } - }, - "UnmonitorInstancesRequest": { - "base": "

Contains the parameters for UnmonitorInstances.

", - "refs": { - } - }, - "UnmonitorInstancesResult": { - "base": "

Contains the output of UnmonitorInstances.

", - "refs": { - } - }, - "UnsuccessfulItem": { - "base": "

Information about items that were not successfully processed in a batch call.

", - "refs": { - "UnsuccessfulItemList$member": null, - "UnsuccessfulItemSet$member": null - } - }, - "UnsuccessfulItemError": { - "base": "

Information about the error that occurred. For more information about errors, see Error Codes.

", - "refs": { - "UnsuccessfulItem$Error": "

Information about the error.

" - } - }, - "UnsuccessfulItemList": { - "base": null, - "refs": { - "ModifyHostsResult$Unsuccessful": "

The IDs of the Dedicated hosts that could not be modified. Check whether the setting you requested can be used.

", - "ReleaseHostsResult$Unsuccessful": "

The IDs of the Dedicated hosts that could not be released, including an error message.

" - } - }, - "UnsuccessfulItemSet": { - "base": null, - "refs": { - "CreateFlowLogsResult$Unsuccessful": "

Information about the flow logs that could not be created successfully.

", - "DeleteFlowLogsResult$Unsuccessful": "

Information about the flow logs that could not be deleted successfully.

", - "DeleteVpcEndpointsResult$Unsuccessful": "

Information about the endpoints that were not successfully deleted.

" - } - }, - "UserBucket": { - "base": "

Describes the S3 bucket for the disk image.

", - "refs": { - "ImageDiskContainer$UserBucket": "

The S3 bucket for the disk image.

", - "SnapshotDiskContainer$UserBucket": "

The S3 bucket for the disk image.

" - } - }, - "UserBucketDetails": { - "base": "

Describes the S3 bucket for the disk image.

", - "refs": { - "SnapshotDetail$UserBucket": "

The S3 bucket for the disk image.

", - "SnapshotTaskDetail$UserBucket": "

The S3 bucket for the disk image.

" - } - }, - "UserData": { - "base": "

Describes the user data to be made available to an instance.

", - "refs": { - "ImportInstanceLaunchSpecification$UserData": "

The Base64-encoded MIME user data to be made available to the instance.

" - } - }, - "UserGroupStringList": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$UserGroups": "

One or more user groups. This is only valid when modifying the launchPermission attribute.

" - } - }, - "UserIdGroupPair": { - "base": "

Describes a security group and AWS account ID pair.

", - "refs": { - "UserIdGroupPairList$member": null, - "UserIdGroupPairSet$member": null - } - }, - "UserIdGroupPairList": { - "base": null, - "refs": { - "IpPermission$UserIdGroupPairs": "

One or more security group and AWS account ID pairs.

" - } - }, - "UserIdGroupPairSet": { - "base": null, - "refs": { - "StaleIpPermission$UserIdGroupPairs": "

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.

" - } - }, - "UserIdStringList": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$UserIds": "

One or more AWS account IDs. This is only valid when modifying the launchPermission attribute.

", - "ModifySnapshotAttributeRequest$UserIds": "

The account ID to modify for the snapshot.

" - } - }, - "ValueStringList": { - "base": null, - "refs": { - "CancelSpotFleetRequestsRequest$SpotFleetRequestIds": "

The IDs of the Spot fleet requests.

", - "CreateFlowLogsRequest$ResourceIds": "

One or more subnet, network interface, or VPC IDs.

Constraints: Maximum of 1000 resources

", - "CreateFlowLogsResult$FlowLogIds": "

The IDs of the flow logs.

", - "CreateVpcEndpointRequest$RouteTableIds": "

One or more route table IDs.

", - "DeleteFlowLogsRequest$FlowLogIds": "

One or more flow log IDs.

", - "DeleteVpcEndpointsRequest$VpcEndpointIds": "

One or more endpoint IDs.

", - "DescribeFlowLogsRequest$FlowLogIds": "

One or more flow log IDs.

", - "DescribeInternetGatewaysRequest$InternetGatewayIds": "

One or more Internet gateway IDs.

Default: Describes all your Internet gateways.

", - "DescribeMovingAddressesRequest$PublicIps": "

One or more Elastic IP addresses.

", - "DescribeNatGatewaysRequest$NatGatewayIds": "

One or more NAT gateway IDs.

", - "DescribeNetworkAclsRequest$NetworkAclIds": "

One or more network ACL IDs.

Default: Describes all your network ACLs.

", - "DescribePrefixListsRequest$PrefixListIds": "

One or more prefix list IDs.

", - "DescribeRouteTablesRequest$RouteTableIds": "

One or more route table IDs.

Default: Describes all your route tables.

", - "DescribeSpotFleetRequestsRequest$SpotFleetRequestIds": "

The IDs of the Spot fleet requests.

", - "DescribeVpcEndpointServicesResult$ServiceNames": "

A list of supported AWS services.

", - "DescribeVpcEndpointsRequest$VpcEndpointIds": "

One or more endpoint IDs.

", - "DescribeVpcPeeringConnectionsRequest$VpcPeeringConnectionIds": "

One or more VPC peering connection IDs.

Default: Describes all your VPC peering connections.

", - "Filter$Values": "

One or more filter values. Filter values are case-sensitive.

", - "ModifyVpcEndpointRequest$AddRouteTableIds": "

One or more route tables IDs to associate with the endpoint.

", - "ModifyVpcEndpointRequest$RemoveRouteTableIds": "

One or more route table IDs to disassociate from the endpoint.

", - "NewDhcpConfiguration$Values": null, - "PrefixList$Cidrs": "

The IP address range of the AWS service.

", - "RequestSpotLaunchSpecification$SecurityGroups": null, - "RequestSpotLaunchSpecification$SecurityGroupIds": null, - "VpcEndpoint$RouteTableIds": "

One or more route tables associated with the endpoint.

" - } - }, - "VgwTelemetry": { - "base": "

Describes telemetry for a VPN tunnel.

", - "refs": { - "VgwTelemetryList$member": null - } - }, - "VgwTelemetryList": { - "base": null, - "refs": { - "VpnConnection$VgwTelemetry": "

Information about the VPN tunnel.

" - } - }, - "VirtualizationType": { - "base": null, - "refs": { - "Image$VirtualizationType": "

The type of virtualization of the AMI.

", - "Instance$VirtualizationType": "

The virtualization type of the instance.

" - } - }, - "Volume": { - "base": "

Describes a volume.

", - "refs": { - "VolumeList$member": null - } - }, - "VolumeAttachment": { - "base": "

Describes volume attachment details.

", - "refs": { - "VolumeAttachmentList$member": null - } - }, - "VolumeAttachmentList": { - "base": null, - "refs": { - "Volume$Attachments": "

Information about the volume attachments.

" - } - }, - "VolumeAttachmentState": { - "base": null, - "refs": { - "VolumeAttachment$State": "

The attachment state of the volume.

" - } - }, - "VolumeAttributeName": { - "base": null, - "refs": { - "DescribeVolumeAttributeRequest$Attribute": "

The instance attribute.

" - } - }, - "VolumeDetail": { - "base": "

Describes an EBS volume.

", - "refs": { - "DiskImage$Volume": "

Information about the volume.

", - "ImportVolumeRequest$Volume": "

The volume size.

" - } - }, - "VolumeIdStringList": { - "base": null, - "refs": { - "DescribeVolumeStatusRequest$VolumeIds": "

One or more volume IDs.

Default: Describes all your volumes.

", - "DescribeVolumesRequest$VolumeIds": "

One or more volume IDs.

" - } - }, - "VolumeList": { - "base": null, - "refs": { - "DescribeVolumesResult$Volumes": "

Information about the volumes.

" - } - }, - "VolumeState": { - "base": null, - "refs": { - "Volume$State": "

The volume state.

" - } - }, - "VolumeStatusAction": { - "base": "

Describes a volume status operation code.

", - "refs": { - "VolumeStatusActionsList$member": null - } - }, - "VolumeStatusActionsList": { - "base": null, - "refs": { - "VolumeStatusItem$Actions": "

The details of the operation.

" - } - }, - "VolumeStatusDetails": { - "base": "

Describes a volume status.

", - "refs": { - "VolumeStatusDetailsList$member": null - } - }, - "VolumeStatusDetailsList": { - "base": null, - "refs": { - "VolumeStatusInfo$Details": "

The details of the volume status.

" - } - }, - "VolumeStatusEvent": { - "base": "

Describes a volume status event.

", - "refs": { - "VolumeStatusEventsList$member": null - } - }, - "VolumeStatusEventsList": { - "base": null, - "refs": { - "VolumeStatusItem$Events": "

A list of events associated with the volume.

" - } - }, - "VolumeStatusInfo": { - "base": "

Describes the status of a volume.

", - "refs": { - "VolumeStatusItem$VolumeStatus": "

The volume status.

" - } - }, - "VolumeStatusInfoStatus": { - "base": null, - "refs": { - "VolumeStatusInfo$Status": "

The status of the volume.

" - } - }, - "VolumeStatusItem": { - "base": "

Describes the volume status.

", - "refs": { - "VolumeStatusList$member": null - } - }, - "VolumeStatusList": { - "base": null, - "refs": { - "DescribeVolumeStatusResult$VolumeStatuses": "

A list of volumes.

" - } - }, - "VolumeStatusName": { - "base": null, - "refs": { - "VolumeStatusDetails$Name": "

The name of the volume status.

" - } - }, - "VolumeType": { - "base": null, - "refs": { - "CreateVolumeRequest$VolumeType": "

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

", - "EbsBlockDevice$VolumeType": "

The volume type: gp2, io1, st1, sc1, or standard.

Default: standard

", - "Volume$VolumeType": "

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.

" - } - }, - "Vpc": { - "base": "

Describes a VPC.

", - "refs": { - "CreateVpcResult$Vpc": "

Information about the VPC.

", - "VpcList$member": null - } - }, - "VpcAttachment": { - "base": "

Describes an attachment between a virtual private gateway and a VPC.

", - "refs": { - "AttachVpnGatewayResult$VpcAttachment": "

Information about the attachment.

", - "VpcAttachmentList$member": null - } - }, - "VpcAttachmentList": { - "base": null, - "refs": { - "VpnGateway$VpcAttachments": "

Any VPCs attached to the virtual private gateway.

" - } - }, - "VpcAttributeName": { - "base": null, - "refs": { - "DescribeVpcAttributeRequest$Attribute": "

The VPC attribute.

" - } - }, - "VpcClassicLink": { - "base": "

Describes whether a VPC is enabled for ClassicLink.

", - "refs": { - "VpcClassicLinkList$member": null - } - }, - "VpcClassicLinkIdList": { - "base": null, - "refs": { - "DescribeVpcClassicLinkDnsSupportRequest$VpcIds": "

One or more VPC IDs.

", - "DescribeVpcClassicLinkRequest$VpcIds": "

One or more VPCs for which you want to describe the ClassicLink status.

" - } - }, - "VpcClassicLinkList": { - "base": null, - "refs": { - "DescribeVpcClassicLinkResult$Vpcs": "

The ClassicLink status of one or more VPCs.

" - } - }, - "VpcEndpoint": { - "base": "

Describes a VPC endpoint.

", - "refs": { - "CreateVpcEndpointResult$VpcEndpoint": "

Information about the endpoint.

", - "VpcEndpointSet$member": null - } - }, - "VpcEndpointSet": { - "base": null, - "refs": { - "DescribeVpcEndpointsResult$VpcEndpoints": "

Information about the endpoints.

" - } - }, - "VpcIdStringList": { - "base": null, - "refs": { - "DescribeVpcsRequest$VpcIds": "

One or more VPC IDs.

Default: Describes all your VPCs.

" - } - }, - "VpcList": { - "base": null, - "refs": { - "DescribeVpcsResult$Vpcs": "

Information about one or more VPCs.

" - } - }, - "VpcPeeringConnection": { - "base": "

Describes a VPC peering connection.

", - "refs": { - "AcceptVpcPeeringConnectionResult$VpcPeeringConnection": "

Information about the VPC peering connection.

", - "CreateVpcPeeringConnectionResult$VpcPeeringConnection": "

Information about the VPC peering connection.

", - "VpcPeeringConnectionList$member": null - } - }, - "VpcPeeringConnectionList": { - "base": null, - "refs": { - "DescribeVpcPeeringConnectionsResult$VpcPeeringConnections": "

Information about the VPC peering connections.

" - } - }, - "VpcPeeringConnectionOptionsDescription": { - "base": "

Describes the VPC peering connection options.

", - "refs": { - "VpcPeeringConnectionVpcInfo$PeeringOptions": "

Information about the VPC peering connection options for the accepter or requester VPC.

" - } - }, - "VpcPeeringConnectionStateReason": { - "base": "

Describes the status of a VPC peering connection.

", - "refs": { - "VpcPeeringConnection$Status": "

The status of the VPC peering connection.

" - } - }, - "VpcPeeringConnectionStateReasonCode": { - "base": null, - "refs": { - "VpcPeeringConnectionStateReason$Code": "

The status of the VPC peering connection.

" - } - }, - "VpcPeeringConnectionVpcInfo": { - "base": "

Describes a VPC in a VPC peering connection.

", - "refs": { - "VpcPeeringConnection$AccepterVpcInfo": "

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.

", - "VpcPeeringConnection$RequesterVpcInfo": "

Information about the requester VPC.

" - } - }, - "VpcState": { - "base": null, - "refs": { - "Vpc$State": "

The current state of the VPC.

" - } - }, - "VpnConnection": { - "base": "

Describes a VPN connection.

", - "refs": { - "CreateVpnConnectionResult$VpnConnection": "

Information about the VPN connection.

", - "VpnConnectionList$member": null - } - }, - "VpnConnectionIdStringList": { - "base": null, - "refs": { - "DescribeVpnConnectionsRequest$VpnConnectionIds": "

One or more VPN connection IDs.

Default: Describes your VPN connections.

" - } - }, - "VpnConnectionList": { - "base": null, - "refs": { - "DescribeVpnConnectionsResult$VpnConnections": "

Information about one or more VPN connections.

" - } - }, - "VpnConnectionOptions": { - "base": "

Describes VPN connection options.

", - "refs": { - "VpnConnection$Options": "

The VPN connection options.

" - } - }, - "VpnConnectionOptionsSpecification": { - "base": "

Describes VPN connection options.

", - "refs": { - "CreateVpnConnectionRequest$Options": "

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

" - } - }, - "VpnGateway": { - "base": "

Describes a virtual private gateway.

", - "refs": { - "CreateVpnGatewayResult$VpnGateway": "

Information about the virtual private gateway.

", - "VpnGatewayList$member": null - } - }, - "VpnGatewayIdStringList": { - "base": null, - "refs": { - "DescribeVpnGatewaysRequest$VpnGatewayIds": "

One or more virtual private gateway IDs.

Default: Describes all your virtual private gateways.

" - } - }, - "VpnGatewayList": { - "base": null, - "refs": { - "DescribeVpnGatewaysResult$VpnGateways": "

Information about one or more virtual private gateways.

" - } - }, - "VpnState": { - "base": null, - "refs": { - "VpnConnection$State": "

The current state of the VPN connection.

", - "VpnGateway$State": "

The current state of the virtual private gateway.

", - "VpnStaticRoute$State": "

The current state of the static route.

" - } - }, - "VpnStaticRoute": { - "base": "

Describes a static route for a VPN connection.

", - "refs": { - "VpnStaticRouteList$member": null - } - }, - "VpnStaticRouteList": { - "base": null, - "refs": { - "VpnConnection$Routes": "

The static routes associated with the VPN connection.

" - } - }, - "VpnStaticRouteSource": { - "base": null, - "refs": { - "VpnStaticRoute$Source": "

Indicates how the routes were provided.

" - } - }, - "ZoneNameStringList": { - "base": null, - "refs": { - "DescribeAvailabilityZonesRequest$ZoneNames": "

The names of one or more Availability Zones.

" - } - } - } -} diff --git a/models/apis/ec2/2015-10-01/paginators-1.json b/models/apis/ec2/2015-10-01/paginators-1.json deleted file mode 100644 index 9d04d89ab55..00000000000 --- a/models/apis/ec2/2015-10-01/paginators-1.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "pagination": { - "DescribeAccountAttributes": { - "result_key": "AccountAttributes" - }, - "DescribeAddresses": { - "result_key": "Addresses" - }, - "DescribeAvailabilityZones": { - "result_key": "AvailabilityZones" - }, - "DescribeBundleTasks": { - "result_key": "BundleTasks" - }, - "DescribeConversionTasks": { - "result_key": "ConversionTasks" - }, - "DescribeCustomerGateways": { - "result_key": "CustomerGateways" - }, - "DescribeDhcpOptions": { - "result_key": "DhcpOptions" - }, - "DescribeExportTasks": { - "result_key": "ExportTasks" - }, - "DescribeImages": { - "result_key": "Images" - }, - "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" - }, - "DescribeInternetGateways": { - "result_key": "InternetGateways" - }, - "DescribeKeyPairs": { - "result_key": "KeyPairs" - }, - "DescribeNetworkAcls": { - "result_key": "NetworkAcls" - }, - "DescribeNetworkInterfaces": { - "result_key": "NetworkInterfaces" - }, - "DescribePlacementGroups": { - "result_key": "PlacementGroups" - }, - "DescribeRegions": { - "result_key": "Regions" - }, - "DescribeReservedInstances": { - "result_key": "ReservedInstances" - }, - "DescribeReservedInstancesListings": { - "result_key": "ReservedInstancesListings" - }, - "DescribeReservedInstancesOfferings": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ReservedInstancesOfferings" - }, - "DescribeReservedInstancesModifications": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ReservedInstancesModifications" - }, - "DescribeRouteTables": { - "result_key": "RouteTables" - }, - "DescribeSecurityGroups": { - "result_key": "SecurityGroups" - }, - "DescribeSnapshots": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Snapshots" - }, - "DescribeSpotInstanceRequests": { - "result_key": "SpotInstanceRequests" - }, - "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" - }, - "DescribeSubnets": { - "result_key": "Subnets" - }, - "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" - }, - "DescribeVpcs": { - "result_key": "Vpcs" - }, - "DescribeVpcPeeringConnections": { - "result_key": "VpcPeeringConnections" - }, - "DescribeVpnConnections": { - "result_key": "VpnConnections" - }, - "DescribeVpnGateways": { - "result_key": "VpnGateways" - } - } -} diff --git a/models/apis/ec2/2015-10-01/waiters-2.json b/models/apis/ec2/2015-10-01/waiters-2.json deleted file mode 100644 index ecc9f1b6f5d..00000000000 --- a/models/apis/ec2/2015-10-01/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": "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" - } - ] - }, - "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/models/apis/ec2/2016-04-01/api-2.json b/models/apis/ec2/2016-04-01/api-2.json deleted file mode 100644 index ef0bb74d3ea..00000000000 --- a/models/apis/ec2/2016-04-01/api-2.json +++ /dev/null @@ -1,14191 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"ec2-2016-04-01", - "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"} - }, - "AllocateAddress":{ - "name":"AllocateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateAddressRequest"}, - "output":{"shape":"AllocateAddressResult"} - }, - "AllocateHosts":{ - "name":"AllocateHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateHostsRequest"}, - "output":{"shape":"AllocateHostsResult"} - }, - "AssignPrivateIpAddresses":{ - "name":"AssignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignPrivateIpAddressesRequest"} - }, - "AssociateAddress":{ - "name":"AssociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateAddressRequest"}, - "output":{"shape":"AssociateAddressResult"} - }, - "AssociateDhcpOptions":{ - "name":"AssociateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDhcpOptionsRequest"} - }, - "AssociateRouteTable":{ - "name":"AssociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateRouteTableRequest"}, - "output":{"shape":"AssociateRouteTableResult"} - }, - "AttachClassicLinkVpc":{ - "name":"AttachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachClassicLinkVpcRequest"}, - "output":{"shape":"AttachClassicLinkVpcResult"} - }, - "AttachInternetGateway":{ - "name":"AttachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInternetGatewayRequest"} - }, - "AttachNetworkInterface":{ - "name":"AttachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachNetworkInterfaceRequest"}, - "output":{"shape":"AttachNetworkInterfaceResult"} - }, - "AttachVolume":{ - "name":"AttachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"} - }, - "AttachVpnGateway":{ - "name":"AttachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVpnGatewayRequest"}, - "output":{"shape":"AttachVpnGatewayResult"} - }, - "AuthorizeSecurityGroupEgress":{ - "name":"AuthorizeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupEgressRequest"} - }, - "AuthorizeSecurityGroupIngress":{ - "name":"AuthorizeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupIngressRequest"} - }, - "BundleInstance":{ - "name":"BundleInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BundleInstanceRequest"}, - "output":{"shape":"BundleInstanceResult"} - }, - "CancelBundleTask":{ - "name":"CancelBundleTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelBundleTaskRequest"}, - "output":{"shape":"CancelBundleTaskResult"} - }, - "CancelConversionTask":{ - "name":"CancelConversionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelConversionRequest"} - }, - "CancelExportTask":{ - "name":"CancelExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelExportTaskRequest"} - }, - "CancelImportTask":{ - "name":"CancelImportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelImportTaskRequest"}, - "output":{"shape":"CancelImportTaskResult"} - }, - "CancelReservedInstancesListing":{ - "name":"CancelReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelReservedInstancesListingRequest"}, - "output":{"shape":"CancelReservedInstancesListingResult"} - }, - "CancelSpotFleetRequests":{ - "name":"CancelSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotFleetRequestsRequest"}, - "output":{"shape":"CancelSpotFleetRequestsResponse"} - }, - "CancelSpotInstanceRequests":{ - "name":"CancelSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotInstanceRequestsRequest"}, - "output":{"shape":"CancelSpotInstanceRequestsResult"} - }, - "ConfirmProductInstance":{ - "name":"ConfirmProductInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmProductInstanceRequest"}, - "output":{"shape":"ConfirmProductInstanceResult"} - }, - "CopyImage":{ - "name":"CopyImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyImageRequest"}, - "output":{"shape":"CopyImageResult"} - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopySnapshotRequest"}, - "output":{"shape":"CopySnapshotResult"} - }, - "CreateCustomerGateway":{ - "name":"CreateCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomerGatewayRequest"}, - "output":{"shape":"CreateCustomerGatewayResult"} - }, - "CreateDhcpOptions":{ - "name":"CreateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDhcpOptionsRequest"}, - "output":{"shape":"CreateDhcpOptionsResult"} - }, - "CreateFlowLogs":{ - "name":"CreateFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFlowLogsRequest"}, - "output":{"shape":"CreateFlowLogsResult"} - }, - "CreateImage":{ - "name":"CreateImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageRequest"}, - "output":{"shape":"CreateImageResult"} - }, - "CreateInstanceExportTask":{ - "name":"CreateInstanceExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceExportTaskRequest"}, - "output":{"shape":"CreateInstanceExportTaskResult"} - }, - "CreateInternetGateway":{ - "name":"CreateInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInternetGatewayRequest"}, - "output":{"shape":"CreateInternetGatewayResult"} - }, - "CreateKeyPair":{ - "name":"CreateKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyPairRequest"}, - "output":{"shape":"KeyPair"} - }, - "CreateNatGateway":{ - "name":"CreateNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNatGatewayRequest"}, - "output":{"shape":"CreateNatGatewayResult"} - }, - "CreateNetworkAcl":{ - "name":"CreateNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclRequest"}, - "output":{"shape":"CreateNetworkAclResult"} - }, - "CreateNetworkAclEntry":{ - "name":"CreateNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclEntryRequest"} - }, - "CreateNetworkInterface":{ - "name":"CreateNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkInterfaceRequest"}, - "output":{"shape":"CreateNetworkInterfaceResult"} - }, - "CreatePlacementGroup":{ - "name":"CreatePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlacementGroupRequest"} - }, - "CreateReservedInstancesListing":{ - "name":"CreateReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReservedInstancesListingRequest"}, - "output":{"shape":"CreateReservedInstancesListingResult"} - }, - "CreateRoute":{ - "name":"CreateRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteRequest"}, - "output":{"shape":"CreateRouteResult"} - }, - "CreateRouteTable":{ - "name":"CreateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteTableRequest"}, - "output":{"shape":"CreateRouteTableResult"} - }, - "CreateSecurityGroup":{ - "name":"CreateSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityGroupRequest"}, - "output":{"shape":"CreateSecurityGroupResult"} - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotRequest"}, - "output":{"shape":"Snapshot"} - }, - "CreateSpotDatafeedSubscription":{ - "name":"CreateSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"CreateSpotDatafeedSubscriptionResult"} - }, - "CreateSubnet":{ - "name":"CreateSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubnetRequest"}, - "output":{"shape":"CreateSubnetResult"} - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"} - }, - "CreateVolume":{ - "name":"CreateVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVolumeRequest"}, - "output":{"shape":"Volume"} - }, - "CreateVpc":{ - "name":"CreateVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcRequest"}, - "output":{"shape":"CreateVpcResult"} - }, - "CreateVpcEndpoint":{ - "name":"CreateVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcEndpointRequest"}, - "output":{"shape":"CreateVpcEndpointResult"} - }, - "CreateVpcPeeringConnection":{ - "name":"CreateVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringConnectionRequest"}, - "output":{"shape":"CreateVpcPeeringConnectionResult"} - }, - "CreateVpnConnection":{ - "name":"CreateVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRequest"}, - "output":{"shape":"CreateVpnConnectionResult"} - }, - "CreateVpnConnectionRoute":{ - "name":"CreateVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRouteRequest"} - }, - "CreateVpnGateway":{ - "name":"CreateVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnGatewayRequest"}, - "output":{"shape":"CreateVpnGatewayResult"} - }, - "DeleteCustomerGateway":{ - "name":"DeleteCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomerGatewayRequest"} - }, - "DeleteDhcpOptions":{ - "name":"DeleteDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDhcpOptionsRequest"} - }, - "DeleteFlowLogs":{ - "name":"DeleteFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFlowLogsRequest"}, - "output":{"shape":"DeleteFlowLogsResult"} - }, - "DeleteInternetGateway":{ - "name":"DeleteInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInternetGatewayRequest"} - }, - "DeleteKeyPair":{ - "name":"DeleteKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteKeyPairRequest"} - }, - "DeleteNatGateway":{ - "name":"DeleteNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNatGatewayRequest"}, - "output":{"shape":"DeleteNatGatewayResult"} - }, - "DeleteNetworkAcl":{ - "name":"DeleteNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclRequest"} - }, - "DeleteNetworkAclEntry":{ - "name":"DeleteNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclEntryRequest"} - }, - "DeleteNetworkInterface":{ - "name":"DeleteNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkInterfaceRequest"} - }, - "DeletePlacementGroup":{ - "name":"DeletePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlacementGroupRequest"} - }, - "DeleteRoute":{ - "name":"DeleteRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteRequest"} - }, - "DeleteRouteTable":{ - "name":"DeleteRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteTableRequest"} - }, - "DeleteSecurityGroup":{ - "name":"DeleteSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityGroupRequest"} - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotRequest"} - }, - "DeleteSpotDatafeedSubscription":{ - "name":"DeleteSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSpotDatafeedSubscriptionRequest"} - }, - "DeleteSubnet":{ - "name":"DeleteSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubnetRequest"} - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"} - }, - "DeleteVolume":{ - "name":"DeleteVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVolumeRequest"} - }, - "DeleteVpc":{ - "name":"DeleteVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcRequest"} - }, - "DeleteVpcEndpoints":{ - "name":"DeleteVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcEndpointsRequest"}, - "output":{"shape":"DeleteVpcEndpointsResult"} - }, - "DeleteVpcPeeringConnection":{ - "name":"DeleteVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, - "output":{"shape":"DeleteVpcPeeringConnectionResult"} - }, - "DeleteVpnConnection":{ - "name":"DeleteVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRequest"} - }, - "DeleteVpnConnectionRoute":{ - "name":"DeleteVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRouteRequest"} - }, - "DeleteVpnGateway":{ - "name":"DeleteVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnGatewayRequest"} - }, - "DeregisterImage":{ - "name":"DeregisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterImageRequest"} - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesRequest"}, - "output":{"shape":"DescribeAccountAttributesResult"} - }, - "DescribeAddresses":{ - "name":"DescribeAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressesRequest"}, - "output":{"shape":"DescribeAddressesResult"} - }, - "DescribeAvailabilityZones":{ - "name":"DescribeAvailabilityZones", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAvailabilityZonesRequest"}, - "output":{"shape":"DescribeAvailabilityZonesResult"} - }, - "DescribeBundleTasks":{ - "name":"DescribeBundleTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBundleTasksRequest"}, - "output":{"shape":"DescribeBundleTasksResult"} - }, - "DescribeClassicLinkInstances":{ - "name":"DescribeClassicLinkInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClassicLinkInstancesRequest"}, - "output":{"shape":"DescribeClassicLinkInstancesResult"} - }, - "DescribeConversionTasks":{ - "name":"DescribeConversionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConversionTasksRequest"}, - "output":{"shape":"DescribeConversionTasksResult"} - }, - "DescribeCustomerGateways":{ - "name":"DescribeCustomerGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCustomerGatewaysRequest"}, - "output":{"shape":"DescribeCustomerGatewaysResult"} - }, - "DescribeDhcpOptions":{ - "name":"DescribeDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDhcpOptionsRequest"}, - "output":{"shape":"DescribeDhcpOptionsResult"} - }, - "DescribeExportTasks":{ - "name":"DescribeExportTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportTasksRequest"}, - "output":{"shape":"DescribeExportTasksResult"} - }, - "DescribeFlowLogs":{ - "name":"DescribeFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFlowLogsRequest"}, - "output":{"shape":"DescribeFlowLogsResult"} - }, - "DescribeHostReservationOfferings":{ - "name":"DescribeHostReservationOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostReservationOfferingsRequest"}, - "output":{"shape":"DescribeHostReservationOfferingsResult"} - }, - "DescribeHostReservations":{ - "name":"DescribeHostReservations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostReservationsRequest"}, - "output":{"shape":"DescribeHostReservationsResult"} - }, - "DescribeHosts":{ - "name":"DescribeHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostsRequest"}, - "output":{"shape":"DescribeHostsResult"} - }, - "DescribeIdFormat":{ - "name":"DescribeIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdFormatRequest"}, - "output":{"shape":"DescribeIdFormatResult"} - }, - "DescribeIdentityIdFormat":{ - "name":"DescribeIdentityIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdentityIdFormatRequest"}, - "output":{"shape":"DescribeIdentityIdFormatResult"} - }, - "DescribeImageAttribute":{ - "name":"DescribeImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImageAttributeRequest"}, - "output":{"shape":"ImageAttribute"} - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResult"} - }, - "DescribeImportImageTasks":{ - "name":"DescribeImportImageTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportImageTasksRequest"}, - "output":{"shape":"DescribeImportImageTasksResult"} - }, - "DescribeImportSnapshotTasks":{ - "name":"DescribeImportSnapshotTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportSnapshotTasksRequest"}, - "output":{"shape":"DescribeImportSnapshotTasksResult"} - }, - "DescribeInstanceAttribute":{ - "name":"DescribeInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceAttributeRequest"}, - "output":{"shape":"InstanceAttribute"} - }, - "DescribeInstanceStatus":{ - "name":"DescribeInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceStatusRequest"}, - "output":{"shape":"DescribeInstanceStatusResult"} - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesRequest"}, - "output":{"shape":"DescribeInstancesResult"} - }, - "DescribeInternetGateways":{ - "name":"DescribeInternetGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInternetGatewaysRequest"}, - "output":{"shape":"DescribeInternetGatewaysResult"} - }, - "DescribeKeyPairs":{ - "name":"DescribeKeyPairs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyPairsRequest"}, - "output":{"shape":"DescribeKeyPairsResult"} - }, - "DescribeMovingAddresses":{ - "name":"DescribeMovingAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMovingAddressesRequest"}, - "output":{"shape":"DescribeMovingAddressesResult"} - }, - "DescribeNatGateways":{ - "name":"DescribeNatGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNatGatewaysRequest"}, - "output":{"shape":"DescribeNatGatewaysResult"} - }, - "DescribeNetworkAcls":{ - "name":"DescribeNetworkAcls", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkAclsRequest"}, - "output":{"shape":"DescribeNetworkAclsResult"} - }, - "DescribeNetworkInterfaceAttribute":{ - "name":"DescribeNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfaceAttributeRequest"}, - "output":{"shape":"DescribeNetworkInterfaceAttributeResult"} - }, - "DescribeNetworkInterfaces":{ - "name":"DescribeNetworkInterfaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfacesRequest"}, - "output":{"shape":"DescribeNetworkInterfacesResult"} - }, - "DescribePlacementGroups":{ - "name":"DescribePlacementGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlacementGroupsRequest"}, - "output":{"shape":"DescribePlacementGroupsResult"} - }, - "DescribePrefixLists":{ - "name":"DescribePrefixLists", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePrefixListsRequest"}, - "output":{"shape":"DescribePrefixListsResult"} - }, - "DescribeRegions":{ - "name":"DescribeRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRegionsRequest"}, - "output":{"shape":"DescribeRegionsResult"} - }, - "DescribeReservedInstances":{ - "name":"DescribeReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesRequest"}, - "output":{"shape":"DescribeReservedInstancesResult"} - }, - "DescribeReservedInstancesListings":{ - "name":"DescribeReservedInstancesListings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesListingsRequest"}, - "output":{"shape":"DescribeReservedInstancesListingsResult"} - }, - "DescribeReservedInstancesModifications":{ - "name":"DescribeReservedInstancesModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, - "output":{"shape":"DescribeReservedInstancesModificationsResult"} - }, - "DescribeReservedInstancesOfferings":{ - "name":"DescribeReservedInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, - "output":{"shape":"DescribeReservedInstancesOfferingsResult"} - }, - "DescribeRouteTables":{ - "name":"DescribeRouteTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRouteTablesRequest"}, - "output":{"shape":"DescribeRouteTablesResult"} - }, - "DescribeScheduledInstanceAvailability":{ - "name":"DescribeScheduledInstanceAvailability", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstanceAvailabilityRequest"}, - "output":{"shape":"DescribeScheduledInstanceAvailabilityResult"} - }, - "DescribeScheduledInstances":{ - "name":"DescribeScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstancesRequest"}, - "output":{"shape":"DescribeScheduledInstancesResult"} - }, - "DescribeSecurityGroupReferences":{ - "name":"DescribeSecurityGroupReferences", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupReferencesRequest"}, - "output":{"shape":"DescribeSecurityGroupReferencesResult"} - }, - "DescribeSecurityGroups":{ - "name":"DescribeSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupsRequest"}, - "output":{"shape":"DescribeSecurityGroupsResult"} - }, - "DescribeSnapshotAttribute":{ - "name":"DescribeSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotAttributeRequest"}, - "output":{"shape":"DescribeSnapshotAttributeResult"} - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsRequest"}, - "output":{"shape":"DescribeSnapshotsResult"} - }, - "DescribeSpotDatafeedSubscription":{ - "name":"DescribeSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"DescribeSpotDatafeedSubscriptionResult"} - }, - "DescribeSpotFleetInstances":{ - "name":"DescribeSpotFleetInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetInstancesRequest"}, - "output":{"shape":"DescribeSpotFleetInstancesResponse"} - }, - "DescribeSpotFleetRequestHistory":{ - "name":"DescribeSpotFleetRequestHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestHistoryRequest"}, - "output":{"shape":"DescribeSpotFleetRequestHistoryResponse"} - }, - "DescribeSpotFleetRequests":{ - "name":"DescribeSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestsRequest"}, - "output":{"shape":"DescribeSpotFleetRequestsResponse"} - }, - "DescribeSpotInstanceRequests":{ - "name":"DescribeSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotInstanceRequestsRequest"}, - "output":{"shape":"DescribeSpotInstanceRequestsResult"} - }, - "DescribeSpotPriceHistory":{ - "name":"DescribeSpotPriceHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotPriceHistoryRequest"}, - "output":{"shape":"DescribeSpotPriceHistoryResult"} - }, - "DescribeStaleSecurityGroups":{ - "name":"DescribeStaleSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStaleSecurityGroupsRequest"}, - "output":{"shape":"DescribeStaleSecurityGroupsResult"} - }, - "DescribeSubnets":{ - "name":"DescribeSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubnetsRequest"}, - "output":{"shape":"DescribeSubnetsResult"} - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResult"} - }, - "DescribeVolumeAttribute":{ - "name":"DescribeVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeAttributeRequest"}, - "output":{"shape":"DescribeVolumeAttributeResult"} - }, - "DescribeVolumeStatus":{ - "name":"DescribeVolumeStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeStatusRequest"}, - "output":{"shape":"DescribeVolumeStatusResult"} - }, - "DescribeVolumes":{ - "name":"DescribeVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesRequest"}, - "output":{"shape":"DescribeVolumesResult"} - }, - "DescribeVpcAttribute":{ - "name":"DescribeVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcAttributeRequest"}, - "output":{"shape":"DescribeVpcAttributeResult"} - }, - "DescribeVpcClassicLink":{ - "name":"DescribeVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkRequest"}, - "output":{"shape":"DescribeVpcClassicLinkResult"} - }, - "DescribeVpcClassicLinkDnsSupport":{ - "name":"DescribeVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DescribeVpcClassicLinkDnsSupportResult"} - }, - "DescribeVpcEndpointServices":{ - "name":"DescribeVpcEndpointServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointServicesRequest"}, - "output":{"shape":"DescribeVpcEndpointServicesResult"} - }, - "DescribeVpcEndpoints":{ - "name":"DescribeVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointsRequest"}, - "output":{"shape":"DescribeVpcEndpointsResult"} - }, - "DescribeVpcPeeringConnections":{ - "name":"DescribeVpcPeeringConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringConnectionsRequest"}, - "output":{"shape":"DescribeVpcPeeringConnectionsResult"} - }, - "DescribeVpcs":{ - "name":"DescribeVpcs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcsRequest"}, - "output":{"shape":"DescribeVpcsResult"} - }, - "DescribeVpnConnections":{ - "name":"DescribeVpnConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnConnectionsRequest"}, - "output":{"shape":"DescribeVpnConnectionsResult"} - }, - "DescribeVpnGateways":{ - "name":"DescribeVpnGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnGatewaysRequest"}, - "output":{"shape":"DescribeVpnGatewaysResult"} - }, - "DetachClassicLinkVpc":{ - "name":"DetachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachClassicLinkVpcRequest"}, - "output":{"shape":"DetachClassicLinkVpcResult"} - }, - "DetachInternetGateway":{ - "name":"DetachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInternetGatewayRequest"} - }, - "DetachNetworkInterface":{ - "name":"DetachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachNetworkInterfaceRequest"} - }, - "DetachVolume":{ - "name":"DetachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"} - }, - "DetachVpnGateway":{ - "name":"DetachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVpnGatewayRequest"} - }, - "DisableVgwRoutePropagation":{ - "name":"DisableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVgwRoutePropagationRequest"} - }, - "DisableVpcClassicLink":{ - "name":"DisableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkRequest"}, - "output":{"shape":"DisableVpcClassicLinkResult"} - }, - "DisableVpcClassicLinkDnsSupport":{ - "name":"DisableVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DisableVpcClassicLinkDnsSupportResult"} - }, - "DisassociateAddress":{ - "name":"DisassociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateAddressRequest"} - }, - "DisassociateRouteTable":{ - "name":"DisassociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateRouteTableRequest"} - }, - "EnableVgwRoutePropagation":{ - "name":"EnableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVgwRoutePropagationRequest"} - }, - "EnableVolumeIO":{ - "name":"EnableVolumeIO", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVolumeIORequest"} - }, - "EnableVpcClassicLink":{ - "name":"EnableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkRequest"}, - "output":{"shape":"EnableVpcClassicLinkResult"} - }, - "EnableVpcClassicLinkDnsSupport":{ - "name":"EnableVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"EnableVpcClassicLinkDnsSupportResult"} - }, - "GetConsoleOutput":{ - "name":"GetConsoleOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleOutputRequest"}, - "output":{"shape":"GetConsoleOutputResult"} - }, - "GetConsoleScreenshot":{ - "name":"GetConsoleScreenshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleScreenshotRequest"}, - "output":{"shape":"GetConsoleScreenshotResult"} - }, - "GetHostReservationPurchasePreview":{ - "name":"GetHostReservationPurchasePreview", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetHostReservationPurchasePreviewRequest"}, - "output":{"shape":"GetHostReservationPurchasePreviewResult"} - }, - "GetPasswordData":{ - "name":"GetPasswordData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPasswordDataRequest"}, - "output":{"shape":"GetPasswordDataResult"} - }, - "ImportImage":{ - "name":"ImportImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportImageRequest"}, - "output":{"shape":"ImportImageResult"} - }, - "ImportInstance":{ - "name":"ImportInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportInstanceRequest"}, - "output":{"shape":"ImportInstanceResult"} - }, - "ImportKeyPair":{ - "name":"ImportKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyPairRequest"}, - "output":{"shape":"ImportKeyPairResult"} - }, - "ImportSnapshot":{ - "name":"ImportSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportSnapshotRequest"}, - "output":{"shape":"ImportSnapshotResult"} - }, - "ImportVolume":{ - "name":"ImportVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportVolumeRequest"}, - "output":{"shape":"ImportVolumeResult"} - }, - "ModifyHosts":{ - "name":"ModifyHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyHostsRequest"}, - "output":{"shape":"ModifyHostsResult"} - }, - "ModifyIdFormat":{ - "name":"ModifyIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyIdFormatRequest"} - }, - "ModifyIdentityIdFormat":{ - "name":"ModifyIdentityIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyIdentityIdFormatRequest"} - }, - "ModifyImageAttribute":{ - "name":"ModifyImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyImageAttributeRequest"} - }, - "ModifyInstanceAttribute":{ - "name":"ModifyInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceAttributeRequest"} - }, - "ModifyInstancePlacement":{ - "name":"ModifyInstancePlacement", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstancePlacementRequest"}, - "output":{"shape":"ModifyInstancePlacementResult"} - }, - "ModifyNetworkInterfaceAttribute":{ - "name":"ModifyNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"} - }, - "ModifyReservedInstances":{ - "name":"ModifyReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReservedInstancesRequest"}, - "output":{"shape":"ModifyReservedInstancesResult"} - }, - "ModifySnapshotAttribute":{ - "name":"ModifySnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySnapshotAttributeRequest"} - }, - "ModifySpotFleetRequest":{ - "name":"ModifySpotFleetRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySpotFleetRequestRequest"}, - "output":{"shape":"ModifySpotFleetRequestResponse"} - }, - "ModifySubnetAttribute":{ - "name":"ModifySubnetAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySubnetAttributeRequest"} - }, - "ModifyVolumeAttribute":{ - "name":"ModifyVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVolumeAttributeRequest"} - }, - "ModifyVpcAttribute":{ - "name":"ModifyVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcAttributeRequest"} - }, - "ModifyVpcEndpoint":{ - "name":"ModifyVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcEndpointRequest"}, - "output":{"shape":"ModifyVpcEndpointResult"} - }, - "ModifyVpcPeeringConnectionOptions":{ - "name":"ModifyVpcPeeringConnectionOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcPeeringConnectionOptionsRequest"}, - "output":{"shape":"ModifyVpcPeeringConnectionOptionsResult"} - }, - "MonitorInstances":{ - "name":"MonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MonitorInstancesRequest"}, - "output":{"shape":"MonitorInstancesResult"} - }, - "MoveAddressToVpc":{ - "name":"MoveAddressToVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MoveAddressToVpcRequest"}, - "output":{"shape":"MoveAddressToVpcResult"} - }, - "PurchaseHostReservation":{ - "name":"PurchaseHostReservation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseHostReservationRequest"}, - "output":{"shape":"PurchaseHostReservationResult"} - }, - "PurchaseReservedInstancesOffering":{ - "name":"PurchaseReservedInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, - "output":{"shape":"PurchaseReservedInstancesOfferingResult"} - }, - "PurchaseScheduledInstances":{ - "name":"PurchaseScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseScheduledInstancesRequest"}, - "output":{"shape":"PurchaseScheduledInstancesResult"} - }, - "RebootInstances":{ - "name":"RebootInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstancesRequest"} - }, - "RegisterImage":{ - "name":"RegisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterImageRequest"}, - "output":{"shape":"RegisterImageResult"} - }, - "RejectVpcPeeringConnection":{ - "name":"RejectVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectVpcPeeringConnectionRequest"}, - "output":{"shape":"RejectVpcPeeringConnectionResult"} - }, - "ReleaseAddress":{ - "name":"ReleaseAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseAddressRequest"} - }, - "ReleaseHosts":{ - "name":"ReleaseHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseHostsRequest"}, - "output":{"shape":"ReleaseHostsResult"} - }, - "ReplaceNetworkAclAssociation":{ - "name":"ReplaceNetworkAclAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, - "output":{"shape":"ReplaceNetworkAclAssociationResult"} - }, - "ReplaceNetworkAclEntry":{ - "name":"ReplaceNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclEntryRequest"} - }, - "ReplaceRoute":{ - "name":"ReplaceRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteRequest"} - }, - "ReplaceRouteTableAssociation":{ - "name":"ReplaceRouteTableAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteTableAssociationRequest"}, - "output":{"shape":"ReplaceRouteTableAssociationResult"} - }, - "ReportInstanceStatus":{ - "name":"ReportInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReportInstanceStatusRequest"} - }, - "RequestSpotFleet":{ - "name":"RequestSpotFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotFleetRequest"}, - "output":{"shape":"RequestSpotFleetResponse"} - }, - "RequestSpotInstances":{ - "name":"RequestSpotInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotInstancesRequest"}, - "output":{"shape":"RequestSpotInstancesResult"} - }, - "ResetImageAttribute":{ - "name":"ResetImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetImageAttributeRequest"} - }, - "ResetInstanceAttribute":{ - "name":"ResetInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetInstanceAttributeRequest"} - }, - "ResetNetworkInterfaceAttribute":{ - "name":"ResetNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetNetworkInterfaceAttributeRequest"} - }, - "ResetSnapshotAttribute":{ - "name":"ResetSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetSnapshotAttributeRequest"} - }, - "RestoreAddressToClassic":{ - "name":"RestoreAddressToClassic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreAddressToClassicRequest"}, - "output":{"shape":"RestoreAddressToClassicResult"} - }, - "RevokeSecurityGroupEgress":{ - "name":"RevokeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupEgressRequest"} - }, - "RevokeSecurityGroupIngress":{ - "name":"RevokeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupIngressRequest"} - }, - "RunInstances":{ - "name":"RunInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunInstancesRequest"}, - "output":{"shape":"Reservation"} - }, - "RunScheduledInstances":{ - "name":"RunScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunScheduledInstancesRequest"}, - "output":{"shape":"RunScheduledInstancesResult"} - }, - "StartInstances":{ - "name":"StartInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstancesRequest"}, - "output":{"shape":"StartInstancesResult"} - }, - "StopInstances":{ - "name":"StopInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstancesRequest"}, - "output":{"shape":"StopInstancesResult"} - }, - "TerminateInstances":{ - "name":"TerminateInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateInstancesRequest"}, - "output":{"shape":"TerminateInstancesResult"} - }, - "UnassignPrivateIpAddresses":{ - "name":"UnassignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignPrivateIpAddressesRequest"} - }, - "UnmonitorInstances":{ - "name":"UnmonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnmonitorInstancesRequest"}, - "output":{"shape":"UnmonitorInstancesResult"} - } - }, - "shapes":{ - "AcceptVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "AcceptVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "locationName":"vpcPeeringConnection" - } - } - }, - "AccountAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "locationName":"attributeName" - }, - "AttributeValues":{ - "shape":"AccountAttributeValueList", - "locationName":"attributeValueSet" - } - } - }, - "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", - "locationName":"attributeValue" - } - } - }, - "AccountAttributeValueList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeValue", - "locationName":"item" - } - }, - "ActiveInstance":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - } - } - }, - "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", - "locationName":"instanceId" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - }, - "Domain":{ - "shape":"DomainType", - "locationName":"domain" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "NetworkInterfaceOwnerId":{ - "shape":"String", - "locationName":"networkInterfaceOwnerId" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - } - } - }, - "AddressList":{ - "type":"list", - "member":{ - "shape":"Address", - "locationName":"item" - } - }, - "Affinity":{ - "type":"string", - "enum":[ - "default", - "host" - ] - }, - "AllocateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Domain":{"shape":"DomainType"} - } - }, - "AllocateAddressResult":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "Domain":{ - "shape":"DomainType", - "locationName":"domain" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - } - } - }, - "AllocateHostsRequest":{ - "type":"structure", - "required":[ - "InstanceType", - "Quantity", - "AvailabilityZone" - ], - "members":{ - "AutoPlacement":{ - "shape":"AutoPlacement", - "locationName":"autoPlacement" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "Quantity":{ - "shape":"Integer", - "locationName":"quantity" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - } - } - }, - "AllocateHostsResult":{ - "type":"structure", - "members":{ - "HostIds":{ - "shape":"ResponseHostIdList", - "locationName":"hostIdSet" - } - } - }, - "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", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "locationName":"privateIpAddress" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AllowReassignment":{ - "shape":"Boolean", - "locationName":"allowReassignment" - } - } - }, - "AssociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{"shape":"String"}, - "PublicIp":{"shape":"String"}, - "AllocationId":{"shape":"String"}, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "AllowReassociation":{ - "shape":"Boolean", - "locationName":"allowReassociation" - } - } - }, - "AssociateAddressResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "AssociateDhcpOptionsRequest":{ - "type":"structure", - "required":[ - "DhcpOptionsId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{"shape":"String"}, - "VpcId":{"shape":"String"} - } - }, - "AssociateRouteTableRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - } - } - }, - "AssociateRouteTableResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "AttachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId", - "Groups" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Groups":{ - "shape":"GroupIdStringList", - "locationName":"SecurityGroupId" - } - } - }, - "AttachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "AttachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "AttachNetworkInterfaceRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "InstanceId", - "DeviceIndex" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - } - } - }, - "AttachNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - } - } - }, - "AttachVolumeRequest":{ - "type":"structure", - "required":[ - "VolumeId", - "InstanceId", - "Device" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "InstanceId":{"shape":"String"}, - "Device":{"shape":"String"} - } - }, - "AttachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{"shape":"String"}, - "VpcId":{"shape":"String"} - } - }, - "AttachVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpcAttachment":{ - "shape":"VpcAttachment", - "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", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "locationName":"cidrIp" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "locationName":"ipPermissions" - } - } - }, - "AuthorizeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "GroupId":{"shape":"String"}, - "SourceSecurityGroupName":{"shape":"String"}, - "SourceSecurityGroupOwnerId":{"shape":"String"}, - "IpProtocol":{"shape":"String"}, - "FromPort":{"shape":"Integer"}, - "ToPort":{"shape":"Integer"}, - "CidrIp":{"shape":"String"}, - "IpPermissions":{"shape":"IpPermissionList"} - } - }, - "AutoPlacement":{ - "type":"string", - "enum":[ - "on", - "off" - ] - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "ZoneName":{ - "shape":"String", - "locationName":"zoneName" - }, - "State":{ - "shape":"AvailabilityZoneState", - "locationName":"zoneState" - }, - "RegionName":{ - "shape":"String", - "locationName":"regionName" - }, - "Messages":{ - "shape":"AvailabilityZoneMessageList", - "locationName":"messageSet" - } - } - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"item" - } - }, - "AvailabilityZoneMessage":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "AvailabilityZoneMessageList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZoneMessage", - "locationName":"item" - } - }, - "AvailabilityZoneState":{ - "type":"string", - "enum":[ - "available", - "information", - "impaired", - "unavailable" - ] - }, - "AvailableCapacity":{ - "type":"structure", - "members":{ - "AvailableInstanceCapacity":{ - "shape":"AvailableInstanceCapacityList", - "locationName":"availableInstanceCapacity" - }, - "AvailableVCpus":{ - "shape":"Integer", - "locationName":"availableVCpus" - } - } - }, - "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", - "locationName":"virtualName" - }, - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsBlockDevice", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "locationName":"noDevice" - } - } - }, - "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"}, - "Storage":{"shape":"Storage"} - } - }, - "BundleInstanceResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "locationName":"bundleInstanceTask" - } - } - }, - "BundleTask":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "BundleId":{ - "shape":"String", - "locationName":"bundleId" - }, - "State":{ - "shape":"BundleTaskState", - "locationName":"state" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "UpdateTime":{ - "shape":"DateTime", - "locationName":"updateTime" - }, - "Storage":{ - "shape":"Storage", - "locationName":"storage" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "BundleTaskError":{ - "shape":"BundleTaskError", - "locationName":"error" - } - } - }, - "BundleTaskError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "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", - "locationName":"dryRun" - }, - "BundleId":{"shape":"String"} - } - }, - "CancelBundleTaskResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "locationName":"bundleInstanceTask" - } - } - }, - "CancelConversionRequest":{ - "type":"structure", - "required":["ConversionTaskId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ConversionTaskId":{ - "shape":"String", - "locationName":"conversionTaskId" - }, - "ReasonMessage":{ - "shape":"String", - "locationName":"reasonMessage" - } - } - }, - "CancelExportTaskRequest":{ - "type":"structure", - "required":["ExportTaskId"], - "members":{ - "ExportTaskId":{ - "shape":"String", - "locationName":"exportTaskId" - } - } - }, - "CancelImportTaskRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskId":{"shape":"String"}, - "CancelReason":{"shape":"String"} - } - }, - "CancelImportTaskResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "State":{ - "shape":"String", - "locationName":"state" - }, - "PreviousState":{ - "shape":"String", - "locationName":"previousState" - } - } - }, - "CancelReservedInstancesListingRequest":{ - "type":"structure", - "required":["ReservedInstancesListingId"], - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "locationName":"reservedInstancesListingId" - } - } - }, - "CancelReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CancelSpotFleetRequestsError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"CancelBatchErrorCode", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "CancelSpotFleetRequestsErrorItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "Error" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "Error":{ - "shape":"CancelSpotFleetRequestsError", - "locationName":"error" - } - } - }, - "CancelSpotFleetRequestsErrorSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsErrorItem", - "locationName":"item" - } - }, - "CancelSpotFleetRequestsRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestIds", - "TerminateInstances" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "locationName":"spotFleetRequestId" - }, - "TerminateInstances":{ - "shape":"Boolean", - "locationName":"terminateInstances" - } - } - }, - "CancelSpotFleetRequestsResponse":{ - "type":"structure", - "members":{ - "UnsuccessfulFleetRequests":{ - "shape":"CancelSpotFleetRequestsErrorSet", - "locationName":"unsuccessfulFleetRequestSet" - }, - "SuccessfulFleetRequests":{ - "shape":"CancelSpotFleetRequestsSuccessSet", - "locationName":"successfulFleetRequestSet" - } - } - }, - "CancelSpotFleetRequestsSuccessItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "CurrentSpotFleetRequestState", - "PreviousSpotFleetRequestState" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "CurrentSpotFleetRequestState":{ - "shape":"BatchState", - "locationName":"currentSpotFleetRequestState" - }, - "PreviousSpotFleetRequestState":{ - "shape":"BatchState", - "locationName":"previousSpotFleetRequestState" - } - } - }, - "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", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "locationName":"SpotInstanceRequestId" - } - } - }, - "CancelSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "CancelledSpotInstanceRequests":{ - "shape":"CancelledSpotInstanceRequestList", - "locationName":"spotInstanceRequestSet" - } - } - }, - "CancelledSpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - }, - "State":{ - "shape":"CancelSpotInstanceRequestState", - "locationName":"state" - } - } - }, - "CancelledSpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"CancelledSpotInstanceRequest", - "locationName":"item" - } - }, - "ClassicLinkDnsSupport":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "ClassicLinkDnsSupported":{ - "shape":"Boolean", - "locationName":"classicLinkDnsSupported" - } - } - }, - "ClassicLinkDnsSupportList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkDnsSupport", - "locationName":"item" - } - }, - "ClassicLinkInstance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "ClassicLinkInstanceList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkInstance", - "locationName":"item" - } - }, - "ClientData":{ - "type":"structure", - "members":{ - "UploadStart":{"shape":"DateTime"}, - "UploadEnd":{"shape":"DateTime"}, - "UploadSize":{"shape":"Double"}, - "Comment":{"shape":"String"} - } - }, - "ConfirmProductInstanceRequest":{ - "type":"structure", - "required":[ - "ProductCode", - "InstanceId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ProductCode":{"shape":"String"}, - "InstanceId":{"shape":"String"} - } - }, - "ConfirmProductInstanceResult":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Return":{ - "shape":"Boolean", - "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", - "locationName":"conversionTaskId" - }, - "ExpirationTime":{ - "shape":"String", - "locationName":"expirationTime" - }, - "ImportInstance":{ - "shape":"ImportInstanceTaskDetails", - "locationName":"importInstance" - }, - "ImportVolume":{ - "shape":"ImportVolumeTaskDetails", - "locationName":"importVolume" - }, - "State":{ - "shape":"ConversionTaskState", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "ConversionTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "CopyImageRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceImageId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SourceRegion":{"shape":"String"}, - "SourceImageId":{"shape":"String"}, - "Name":{"shape":"String"}, - "Description":{"shape":"String"}, - "ClientToken":{"shape":"String"}, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - } - } - }, - "CopyImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - } - } - }, - "CopySnapshotRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceSnapshotId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SourceRegion":{"shape":"String"}, - "SourceSnapshotId":{"shape":"String"}, - "Description":{"shape":"String"}, - "DestinationRegion":{ - "shape":"String", - "locationName":"destinationRegion" - }, - "PresignedUrl":{ - "shape":"String", - "locationName":"presignedUrl" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - } - } - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - } - } - }, - "CreateCustomerGatewayRequest":{ - "type":"structure", - "required":[ - "Type", - "PublicIp", - "BgpAsn" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{"shape":"GatewayType"}, - "PublicIp":{ - "shape":"String", - "locationName":"IpAddress" - }, - "BgpAsn":{"shape":"Integer"} - } - }, - "CreateCustomerGatewayResult":{ - "type":"structure", - "members":{ - "CustomerGateway":{ - "shape":"CustomerGateway", - "locationName":"customerGateway" - } - } - }, - "CreateDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpConfigurations"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpConfigurations":{ - "shape":"NewDhcpConfigurationList", - "locationName":"dhcpConfiguration" - } - } - }, - "CreateDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptions", - "locationName":"dhcpOptions" - } - } - }, - "CreateFlowLogsRequest":{ - "type":"structure", - "required":[ - "ResourceIds", - "ResourceType", - "TrafficType", - "LogGroupName", - "DeliverLogsPermissionArn" - ], - "members":{ - "ResourceIds":{ - "shape":"ValueStringList", - "locationName":"ResourceId" - }, - "ResourceType":{"shape":"FlowLogsResourceType"}, - "TrafficType":{"shape":"TrafficType"}, - "LogGroupName":{"shape":"String"}, - "DeliverLogsPermissionArn":{"shape":"String"}, - "ClientToken":{"shape":"String"} - } - }, - "CreateFlowLogsResult":{ - "type":"structure", - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "locationName":"flowLogIdSet" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "locationName":"unsuccessful" - } - } - }, - "CreateImageRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Name":{ - "shape":"String", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "NoReboot":{ - "shape":"Boolean", - "locationName":"noReboot" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "locationName":"blockDeviceMapping" - } - } - }, - "CreateImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - } - } - }, - "CreateInstanceExportTaskRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "Description":{ - "shape":"String", - "locationName":"description" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "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", - "locationName":"internetGateway" - } - } - }, - "CreateKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{"shape":"String"} - } - }, - "CreateNatGatewayRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "AllocationId" - ], - "members":{ - "SubnetId":{"shape":"String"}, - "AllocationId":{"shape":"String"}, - "ClientToken":{"shape":"String"} - } - }, - "CreateNatGatewayResult":{ - "type":"structure", - "members":{ - "NatGateway":{ - "shape":"NatGateway", - "locationName":"natGateway" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "CreateNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "locationName":"ruleAction" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "locationName":"portRange" - } - } - }, - "CreateNetworkAclRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "CreateNetworkAclResult":{ - "type":"structure", - "members":{ - "NetworkAcl":{ - "shape":"NetworkAcl", - "locationName":"networkAcl" - } - } - }, - "CreateNetworkInterfaceRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "locationName":"privateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "locationName":"secondaryPrivateIpAddressCount" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "CreateNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "NetworkInterface":{ - "shape":"NetworkInterface", - "locationName":"networkInterface" - } - } - }, - "CreatePlacementGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Strategy" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "locationName":"strategy" - } - } - }, - "CreateReservedInstancesListingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesId", - "InstanceCount", - "PriceSchedules", - "ClientToken" - ], - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "PriceSchedules":{ - "shape":"PriceScheduleSpecificationList", - "locationName":"priceSchedules" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "CreateReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CreateRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - }, - "GatewayId":{ - "shape":"String", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - } - } - }, - "CreateRouteResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "CreateRouteTableRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "CreateRouteTableResult":{ - "type":"structure", - "members":{ - "RouteTable":{ - "shape":"RouteTable", - "locationName":"routeTable" - } - } - }, - "CreateSecurityGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Description" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "Description":{ - "shape":"String", - "locationName":"GroupDescription" - }, - "VpcId":{"shape":"String"} - } - }, - "CreateSecurityGroupResult":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"String", - "locationName":"groupId" - } - } - }, - "CreateSnapshotRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "Description":{"shape":"String"} - } - }, - "CreateSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Bucket":{ - "shape":"String", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "locationName":"prefix" - } - } - }, - "CreateSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "locationName":"spotDatafeedSubscription" - } - } - }, - "CreateSubnetRequest":{ - "type":"structure", - "required":[ - "VpcId", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{"shape":"String"}, - "CidrBlock":{"shape":"String"}, - "AvailabilityZone":{"shape":"String"} - } - }, - "CreateSubnetResult":{ - "type":"structure", - "members":{ - "Subnet":{ - "shape":"Subnet", - "locationName":"subnet" - } - } - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "Resources", - "Tags" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "locationName":"ResourceId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"Tag" - } - } - }, - "CreateVolumePermission":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "locationName":"userId" - }, - "Group":{ - "shape":"PermissionGroup", - "locationName":"group" - } - } - }, - "CreateVolumePermissionList":{ - "type":"list", - "member":{ - "shape":"CreateVolumePermission", - "locationName":"item" - } - }, - "CreateVolumePermissionModifications":{ - "type":"structure", - "members":{ - "Add":{"shape":"CreateVolumePermissionList"}, - "Remove":{"shape":"CreateVolumePermissionList"} - } - }, - "CreateVolumeRequest":{ - "type":"structure", - "required":["AvailabilityZone"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Size":{"shape":"Integer"}, - "SnapshotId":{"shape":"String"}, - "AvailabilityZone":{"shape":"String"}, - "VolumeType":{"shape":"VolumeType"}, - "Iops":{"shape":"Integer"}, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{"shape":"String"} - } - }, - "CreateVpcEndpointRequest":{ - "type":"structure", - "required":[ - "VpcId", - "ServiceName" - ], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcId":{"shape":"String"}, - "ServiceName":{"shape":"String"}, - "PolicyDocument":{"shape":"String"}, - "RouteTableIds":{ - "shape":"ValueStringList", - "locationName":"RouteTableId" - }, - "ClientToken":{"shape":"String"} - } - }, - "CreateVpcEndpointResult":{ - "type":"structure", - "members":{ - "VpcEndpoint":{ - "shape":"VpcEndpoint", - "locationName":"vpcEndpoint" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "CreateVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "PeerVpcId":{ - "shape":"String", - "locationName":"peerVpcId" - }, - "PeerOwnerId":{ - "shape":"String", - "locationName":"peerOwnerId" - } - } - }, - "CreateVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "locationName":"vpcPeeringConnection" - } - } - }, - "CreateVpcRequest":{ - "type":"structure", - "required":["CidrBlock"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CidrBlock":{"shape":"String"}, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - } - } - }, - "CreateVpcResult":{ - "type":"structure", - "members":{ - "Vpc":{ - "shape":"Vpc", - "locationName":"vpc" - } - } - }, - "CreateVpnConnectionRequest":{ - "type":"structure", - "required":[ - "Type", - "CustomerGatewayId", - "VpnGatewayId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{"shape":"String"}, - "CustomerGatewayId":{"shape":"String"}, - "VpnGatewayId":{"shape":"String"}, - "Options":{ - "shape":"VpnConnectionOptionsSpecification", - "locationName":"options" - } - } - }, - "CreateVpnConnectionResult":{ - "type":"structure", - "members":{ - "VpnConnection":{ - "shape":"VpnConnection", - "locationName":"vpnConnection" - } - } - }, - "CreateVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "members":{ - "VpnConnectionId":{"shape":"String"}, - "DestinationCidrBlock":{"shape":"String"} - } - }, - "CreateVpnGatewayRequest":{ - "type":"structure", - "required":["Type"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{"shape":"GatewayType"}, - "AvailabilityZone":{"shape":"String"} - } - }, - "CreateVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpnGateway":{ - "shape":"VpnGateway", - "locationName":"vpnGateway" - } - } - }, - "CurrencyCodeValues":{ - "type":"string", - "enum":["USD"] - }, - "CustomerGateway":{ - "type":"structure", - "members":{ - "CustomerGatewayId":{ - "shape":"String", - "locationName":"customerGatewayId" - }, - "State":{ - "shape":"String", - "locationName":"state" - }, - "Type":{ - "shape":"String", - "locationName":"type" - }, - "IpAddress":{ - "shape":"String", - "locationName":"ipAddress" - }, - "BgpAsn":{ - "shape":"String", - "locationName":"bgpAsn" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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"} - } - }, - "DeleteDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpOptionsId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{"shape":"String"} - } - }, - "DeleteFlowLogsRequest":{ - "type":"structure", - "required":["FlowLogIds"], - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "locationName":"FlowLogId" - } - } - }, - "DeleteFlowLogsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "locationName":"unsuccessful" - } - } - }, - "DeleteInternetGatewayRequest":{ - "type":"structure", - "required":["InternetGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "locationName":"internetGatewayId" - } - } - }, - "DeleteKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{"shape":"String"} - } - }, - "DeleteNatGatewayRequest":{ - "type":"structure", - "required":["NatGatewayId"], - "members":{ - "NatGatewayId":{"shape":"String"} - } - }, - "DeleteNatGatewayResult":{ - "type":"structure", - "members":{ - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - } - } - }, - "DeleteNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Egress" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - } - } - }, - "DeleteNetworkAclRequest":{ - "type":"structure", - "required":["NetworkAclId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - } - } - }, - "DeleteNetworkInterfaceRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - } - } - }, - "DeletePlacementGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - } - } - }, - "DeleteRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - } - } - }, - "DeleteRouteTableRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - } - } - }, - "DeleteSecurityGroupRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "GroupId":{"shape":"String"} - } - }, - "DeleteSnapshotRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"} - } - }, - "DeleteSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DeleteSubnetRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetId":{"shape":"String"} - } - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":["Resources"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "locationName":"resourceId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tag" - } - } - }, - "DeleteVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"} - } - }, - "DeleteVpcEndpointsRequest":{ - "type":"structure", - "required":["VpcEndpointIds"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "locationName":"VpcEndpointId" - } - } - }, - "DeleteVpcEndpointsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "locationName":"unsuccessful" - } - } - }, - "DeleteVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "DeleteVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DeleteVpcRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{"shape":"String"} - } - }, - "DeleteVpnConnectionRequest":{ - "type":"structure", - "required":["VpnConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnConnectionId":{"shape":"String"} - } - }, - "DeleteVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "members":{ - "VpnConnectionId":{"shape":"String"}, - "DestinationCidrBlock":{"shape":"String"} - } - }, - "DeleteVpnGatewayRequest":{ - "type":"structure", - "required":["VpnGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{"shape":"String"} - } - }, - "DeregisterImageRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"} - } - }, - "DescribeAccountAttributesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttributeNames":{ - "shape":"AccountAttributeNameStringList", - "locationName":"attributeName" - } - } - }, - "DescribeAccountAttributesResult":{ - "type":"structure", - "members":{ - "AccountAttributes":{ - "shape":"AccountAttributeList", - "locationName":"accountAttributeSet" - } - } - }, - "DescribeAddressesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIps":{ - "shape":"PublicIpStringList", - "locationName":"PublicIp" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "AllocationIds":{ - "shape":"AllocationIdList", - "locationName":"AllocationId" - } - } - }, - "DescribeAddressesResult":{ - "type":"structure", - "members":{ - "Addresses":{ - "shape":"AddressList", - "locationName":"addressesSet" - } - } - }, - "DescribeAvailabilityZonesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ZoneNames":{ - "shape":"ZoneNameStringList", - "locationName":"ZoneName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeAvailabilityZonesResult":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "locationName":"availabilityZoneInfo" - } - } - }, - "DescribeBundleTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "BundleIds":{ - "shape":"BundleIdStringList", - "locationName":"BundleId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeBundleTasksResult":{ - "type":"structure", - "members":{ - "BundleTasks":{ - "shape":"BundleTaskList", - "locationName":"bundleInstanceTasksSet" - } - } - }, - "DescribeClassicLinkInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeClassicLinkInstancesResult":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"ClassicLinkInstanceList", - "locationName":"instancesSet" - }, - "NextToken":{ - "shape":"String", - "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", - "locationName":"conversionTaskId" - } - } - }, - "DescribeConversionTasksResult":{ - "type":"structure", - "members":{ - "ConversionTasks":{ - "shape":"DescribeConversionTaskList", - "locationName":"conversionTasks" - } - } - }, - "DescribeCustomerGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CustomerGatewayIds":{ - "shape":"CustomerGatewayIdStringList", - "locationName":"CustomerGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeCustomerGatewaysResult":{ - "type":"structure", - "members":{ - "CustomerGateways":{ - "shape":"CustomerGatewayList", - "locationName":"customerGatewaySet" - } - } - }, - "DescribeDhcpOptionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsIds":{ - "shape":"DhcpOptionsIdStringList", - "locationName":"DhcpOptionsId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptionsList", - "locationName":"dhcpOptionsSet" - } - } - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "ExportTaskIds":{ - "shape":"ExportTaskIdStringList", - "locationName":"exportTaskId" - } - } - }, - "DescribeExportTasksResult":{ - "type":"structure", - "members":{ - "ExportTasks":{ - "shape":"ExportTaskList", - "locationName":"exportTaskSet" - } - } - }, - "DescribeFlowLogsRequest":{ - "type":"structure", - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "locationName":"FlowLogId" - }, - "Filter":{"shape":"FilterList"}, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"} - } - }, - "DescribeFlowLogsResult":{ - "type":"structure", - "members":{ - "FlowLogs":{ - "shape":"FlowLogSet", - "locationName":"flowLogSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeHostReservationOfferingsRequest":{ - "type":"structure", - "members":{ - "OfferingId":{"shape":"String"}, - "MinDuration":{"shape":"Integer"}, - "MaxDuration":{"shape":"Integer"}, - "Filter":{"shape":"FilterList"}, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeHostReservationOfferingsResult":{ - "type":"structure", - "members":{ - "OfferingSet":{ - "shape":"HostOfferingSet", - "locationName":"offeringSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeHostReservationsRequest":{ - "type":"structure", - "members":{ - "HostReservationIdSet":{"shape":"HostReservationIdSet"}, - "Filter":{"shape":"FilterList"}, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeHostReservationsResult":{ - "type":"structure", - "members":{ - "HostReservationSet":{ - "shape":"HostReservationSet", - "locationName":"hostReservationSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeHostsRequest":{ - "type":"structure", - "members":{ - "HostIds":{ - "shape":"RequestHostIdList", - "locationName":"hostId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "Filter":{ - "shape":"FilterList", - "locationName":"filter" - } - } - }, - "DescribeHostsResult":{ - "type":"structure", - "members":{ - "Hosts":{ - "shape":"HostList", - "locationName":"hostSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeIdFormatRequest":{ - "type":"structure", - "members":{ - "Resource":{"shape":"String"} - } - }, - "DescribeIdFormatResult":{ - "type":"structure", - "members":{ - "Statuses":{ - "shape":"IdFormatList", - "locationName":"statusSet" - } - } - }, - "DescribeIdentityIdFormatRequest":{ - "type":"structure", - "required":["PrincipalArn"], - "members":{ - "Resource":{ - "shape":"String", - "locationName":"resource" - }, - "PrincipalArn":{ - "shape":"String", - "locationName":"principalArn" - } - } - }, - "DescribeIdentityIdFormatResult":{ - "type":"structure", - "members":{ - "Statuses":{ - "shape":"IdFormatList", - "locationName":"statusSet" - } - } - }, - "DescribeImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"}, - "Attribute":{"shape":"ImageAttributeName"} - } - }, - "DescribeImagesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageIds":{ - "shape":"ImageIdStringList", - "locationName":"ImageId" - }, - "Owners":{ - "shape":"OwnerStringList", - "locationName":"Owner" - }, - "ExecutableUsers":{ - "shape":"ExecutableByStringList", - "locationName":"ExecutableBy" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeImagesResult":{ - "type":"structure", - "members":{ - "Images":{ - "shape":"ImageList", - "locationName":"imagesSet" - } - } - }, - "DescribeImportImageTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskIds":{ - "shape":"ImportTaskIdList", - "locationName":"ImportTaskId" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{"shape":"FilterList"} - } - }, - "DescribeImportImageTasksResult":{ - "type":"structure", - "members":{ - "ImportImageTasks":{ - "shape":"ImportImageTaskList", - "locationName":"importImageTaskSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeImportSnapshotTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskIds":{ - "shape":"ImportTaskIdList", - "locationName":"ImportTaskId" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{"shape":"FilterList"} - } - }, - "DescribeImportSnapshotTasksResult":{ - "type":"structure", - "members":{ - "ImportSnapshotTasks":{ - "shape":"ImportSnapshotTaskList", - "locationName":"importSnapshotTaskSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "locationName":"attribute" - } - } - }, - "DescribeInstanceStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "IncludeAllInstances":{ - "shape":"Boolean", - "locationName":"includeAllInstances" - } - } - }, - "DescribeInstanceStatusResult":{ - "type":"structure", - "members":{ - "InstanceStatuses":{ - "shape":"InstanceStatusList", - "locationName":"instanceStatusSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeInstancesResult":{ - "type":"structure", - "members":{ - "Reservations":{ - "shape":"ReservationList", - "locationName":"reservationSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeInternetGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayIds":{ - "shape":"ValueStringList", - "locationName":"internetGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeInternetGatewaysResult":{ - "type":"structure", - "members":{ - "InternetGateways":{ - "shape":"InternetGatewayList", - "locationName":"internetGatewaySet" - } - } - }, - "DescribeKeyPairsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyNames":{ - "shape":"KeyNameStringList", - "locationName":"KeyName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeKeyPairsResult":{ - "type":"structure", - "members":{ - "KeyPairs":{ - "shape":"KeyPairList", - "locationName":"keySet" - } - } - }, - "DescribeMovingAddressesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIps":{ - "shape":"ValueStringList", - "locationName":"publicIp" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filter" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeMovingAddressesResult":{ - "type":"structure", - "members":{ - "MovingAddressStatuses":{ - "shape":"MovingAddressStatusSet", - "locationName":"movingAddressStatusSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeNatGatewaysRequest":{ - "type":"structure", - "members":{ - "NatGatewayIds":{ - "shape":"ValueStringList", - "locationName":"NatGatewayId" - }, - "Filter":{"shape":"FilterList"}, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeNatGatewaysResult":{ - "type":"structure", - "members":{ - "NatGateways":{ - "shape":"NatGatewayList", - "locationName":"natGatewaySet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeNetworkAclsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclIds":{ - "shape":"ValueStringList", - "locationName":"NetworkAclId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeNetworkAclsResult":{ - "type":"structure", - "members":{ - "NetworkAcls":{ - "shape":"NetworkAclList", - "locationName":"networkAclSet" - } - } - }, - "DescribeNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "Attribute":{ - "shape":"NetworkInterfaceAttribute", - "locationName":"attribute" - } - } - }, - "DescribeNetworkInterfaceAttributeResult":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "Description":{ - "shape":"AttributeValue", - "locationName":"description" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "locationName":"attachment" - } - } - }, - "DescribeNetworkInterfacesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceIds":{ - "shape":"NetworkInterfaceIdList", - "locationName":"NetworkInterfaceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filter" - } - } - }, - "DescribeNetworkInterfacesResult":{ - "type":"structure", - "members":{ - "NetworkInterfaces":{ - "shape":"NetworkInterfaceList", - "locationName":"networkInterfaceSet" - } - } - }, - "DescribePlacementGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupNames":{ - "shape":"PlacementGroupStringList", - "locationName":"groupName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribePlacementGroupsResult":{ - "type":"structure", - "members":{ - "PlacementGroups":{ - "shape":"PlacementGroupList", - "locationName":"placementGroupSet" - } - } - }, - "DescribePrefixListsRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "PrefixListIds":{ - "shape":"ValueStringList", - "locationName":"PrefixListId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribePrefixListsResult":{ - "type":"structure", - "members":{ - "PrefixLists":{ - "shape":"PrefixListSet", - "locationName":"prefixListSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeRegionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RegionNames":{ - "shape":"RegionNameStringList", - "locationName":"RegionName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeRegionsResult":{ - "type":"structure", - "members":{ - "Regions":{ - "shape":"RegionList", - "locationName":"regionInfo" - } - } - }, - "DescribeReservedInstancesListingsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "ReservedInstancesListingId":{ - "shape":"String", - "locationName":"reservedInstancesListingId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filters" - } - } - }, - "DescribeReservedInstancesListingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "DescribeReservedInstancesModificationsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationIds":{ - "shape":"ReservedInstancesModificationIdStringList", - "locationName":"ReservedInstancesModificationId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeReservedInstancesModificationsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModifications":{ - "shape":"ReservedInstancesModificationList", - "locationName":"reservedInstancesModificationsSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeReservedInstancesOfferingsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingIds":{ - "shape":"ReservedInstancesOfferingIdStringList", - "locationName":"ReservedInstancesOfferingId" - }, - "InstanceType":{"shape":"InstanceType"}, - "AvailabilityZone":{"shape":"String"}, - "ProductDescription":{"shape":"RIProductDescription"}, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "IncludeMarketplace":{"shape":"Boolean"}, - "MinDuration":{"shape":"Long"}, - "MaxDuration":{"shape":"Long"}, - "MaxInstanceCount":{"shape":"Integer"} - } - }, - "DescribeReservedInstancesOfferingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferings":{ - "shape":"ReservedInstancesOfferingList", - "locationName":"reservedInstancesOfferingsSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeReservedInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesIds":{ - "shape":"ReservedInstancesIdStringList", - "locationName":"ReservedInstancesId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - } - } - }, - "DescribeReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstances":{ - "shape":"ReservedInstancesList", - "locationName":"reservedInstancesSet" - } - } - }, - "DescribeRouteTablesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "locationName":"RouteTableId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeRouteTablesResult":{ - "type":"structure", - "members":{ - "RouteTables":{ - "shape":"RouteTableList", - "locationName":"routeTableSet" - } - } - }, - "DescribeScheduledInstanceAvailabilityRequest":{ - "type":"structure", - "required":[ - "Recurrence", - "FirstSlotStartTimeRange" - ], - "members":{ - "DryRun":{"shape":"Boolean"}, - "Recurrence":{"shape":"ScheduledInstanceRecurrenceRequest"}, - "FirstSlotStartTimeRange":{"shape":"SlotDateTimeRangeRequest"}, - "MinSlotDurationInHours":{"shape":"Integer"}, - "MaxSlotDurationInHours":{"shape":"Integer"}, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeScheduledInstanceAvailabilityResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "ScheduledInstanceAvailabilitySet":{ - "shape":"ScheduledInstanceAvailabilitySet", - "locationName":"scheduledInstanceAvailabilitySet" - } - } - }, - "DescribeScheduledInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ScheduledInstanceIds":{ - "shape":"ScheduledInstanceIdRequestSet", - "locationName":"ScheduledInstanceId" - }, - "SlotStartTimeRange":{"shape":"SlotStartTimeRangeRequest"}, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeScheduledInstancesResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "ScheduledInstanceSet":{ - "shape":"ScheduledInstanceSet", - "locationName":"scheduledInstanceSet" - } - } - }, - "DescribeSecurityGroupReferencesRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "GroupId":{"shape":"GroupIds"} - } - }, - "DescribeSecurityGroupReferencesResult":{ - "type":"structure", - "members":{ - "SecurityGroupReferenceSet":{ - "shape":"SecurityGroupReferences", - "locationName":"securityGroupReferenceSet" - } - } - }, - "DescribeSecurityGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupNames":{ - "shape":"GroupNameStringList", - "locationName":"GroupName" - }, - "GroupIds":{ - "shape":"GroupIdStringList", - "locationName":"GroupId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeSecurityGroupsResult":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroupList", - "locationName":"securityGroupInfo" - } - } - }, - "DescribeSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"}, - "Attribute":{"shape":"SnapshotAttributeName"} - } - }, - "DescribeSnapshotAttributeResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "CreateVolumePermissions":{ - "shape":"CreateVolumePermissionList", - "locationName":"createVolumePermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - } - } - }, - "DescribeSnapshotsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotIds":{ - "shape":"SnapshotIdStringList", - "locationName":"SnapshotId" - }, - "OwnerIds":{ - "shape":"OwnerStringList", - "locationName":"Owner" - }, - "RestorableByUserIds":{ - "shape":"RestorableByStringList", - "locationName":"RestorableBy" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"} - } - }, - "DescribeSnapshotsResult":{ - "type":"structure", - "members":{ - "Snapshots":{ - "shape":"SnapshotList", - "locationName":"snapshotSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DescribeSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "locationName":"spotDatafeedSubscription" - } - } - }, - "DescribeSpotFleetInstancesRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeSpotFleetInstancesResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "ActiveInstances" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "ActiveInstances":{ - "shape":"ActiveInstanceSet", - "locationName":"activeInstanceSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotFleetRequestHistoryRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "EventType":{ - "shape":"EventType", - "locationName":"eventType" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeSpotFleetRequestHistoryResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime", - "LastEvaluatedTime", - "HistoryRecords" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "LastEvaluatedTime":{ - "shape":"DateTime", - "locationName":"lastEvaluatedTime" - }, - "HistoryRecords":{ - "shape":"HistoryRecords", - "locationName":"historyRecordSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotFleetRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "locationName":"spotFleetRequestId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeSpotFleetRequestsResponse":{ - "type":"structure", - "required":["SpotFleetRequestConfigs"], - "members":{ - "SpotFleetRequestConfigs":{ - "shape":"SpotFleetRequestConfigSet", - "locationName":"spotFleetRequestConfigSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotInstanceRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "locationName":"SpotInstanceRequestId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "locationName":"spotInstanceRequestSet" - } - } - }, - "DescribeSpotPriceHistoryRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "EndTime":{ - "shape":"DateTime", - "locationName":"endTime" - }, - "InstanceTypes":{ - "shape":"InstanceTypeList", - "locationName":"InstanceType" - }, - "ProductDescriptions":{ - "shape":"ProductDescriptionList", - "locationName":"ProductDescription" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotPriceHistoryResult":{ - "type":"structure", - "members":{ - "SpotPriceHistory":{ - "shape":"SpotPriceHistoryList", - "locationName":"spotPriceHistorySet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeStaleSecurityGroupsRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcId":{"shape":"String"}, - "MaxResults":{"shape":"MaxResults"}, - "NextToken":{"shape":"NextToken"} - } - }, - "DescribeStaleSecurityGroupsResult":{ - "type":"structure", - "members":{ - "StaleSecurityGroupSet":{ - "shape":"StaleSecurityGroupSet", - "locationName":"staleSecurityGroupSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSubnetsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetIds":{ - "shape":"SubnetIdStringList", - "locationName":"SubnetId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeSubnetsResult":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"SubnetList", - "locationName":"subnetSet" - } - } - }, - "DescribeTagsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeTagsResult":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagDescriptionList", - "locationName":"tagSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "Attribute":{"shape":"VolumeAttributeName"} - } - }, - "DescribeVolumeAttributeResult":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "locationName":"autoEnableIO" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - } - } - }, - "DescribeVolumeStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeIds":{ - "shape":"VolumeIdStringList", - "locationName":"VolumeId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"} - } - }, - "DescribeVolumeStatusResult":{ - "type":"structure", - "members":{ - "VolumeStatuses":{ - "shape":"VolumeStatusList", - "locationName":"volumeStatusSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVolumesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeIds":{ - "shape":"VolumeIdStringList", - "locationName":"VolumeId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeVolumesResult":{ - "type":"structure", - "members":{ - "Volumes":{ - "shape":"VolumeList", - "locationName":"volumeSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVpcAttributeRequest":{ - "type":"structure", - "required":[ - "VpcId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{"shape":"String"}, - "Attribute":{"shape":"VpcAttributeName"} - } - }, - "DescribeVpcAttributeResult":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "EnableDnsSupport":{ - "shape":"AttributeBooleanValue", - "locationName":"enableDnsSupport" - }, - "EnableDnsHostnames":{ - "shape":"AttributeBooleanValue", - "locationName":"enableDnsHostnames" - } - } - }, - "DescribeVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcIds":{"shape":"VpcClassicLinkIdList"}, - "MaxResults":{ - "shape":"MaxResults", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"NextToken", - "locationName":"nextToken" - } - } - }, - "DescribeVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"ClassicLinkDnsSupportList", - "locationName":"vpcs" - }, - "NextToken":{ - "shape":"NextToken", - "locationName":"nextToken" - } - } - }, - "DescribeVpcClassicLinkRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcIds":{ - "shape":"VpcClassicLinkIdList", - "locationName":"VpcId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcClassicLinkList", - "locationName":"vpcSet" - } - } - }, - "DescribeVpcEndpointServicesRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeVpcEndpointServicesResult":{ - "type":"structure", - "members":{ - "ServiceNames":{ - "shape":"ValueStringList", - "locationName":"serviceNameSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVpcEndpointsRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "locationName":"VpcEndpointId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeVpcEndpointsResult":{ - "type":"structure", - "members":{ - "VpcEndpoints":{ - "shape":"VpcEndpointSet", - "locationName":"vpcEndpointSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVpcPeeringConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionIds":{ - "shape":"ValueStringList", - "locationName":"VpcPeeringConnectionId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpcPeeringConnectionsResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnections":{ - "shape":"VpcPeeringConnectionList", - "locationName":"vpcPeeringConnectionSet" - } - } - }, - "DescribeVpcsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcIds":{ - "shape":"VpcIdStringList", - "locationName":"VpcId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpcsResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcList", - "locationName":"vpcSet" - } - } - }, - "DescribeVpnConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnConnectionIds":{ - "shape":"VpnConnectionIdStringList", - "locationName":"VpnConnectionId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpnConnectionsResult":{ - "type":"structure", - "members":{ - "VpnConnections":{ - "shape":"VpnConnectionList", - "locationName":"vpnConnectionSet" - } - } - }, - "DescribeVpnGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayIds":{ - "shape":"VpnGatewayIdStringList", - "locationName":"VpnGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpnGatewaysResult":{ - "type":"structure", - "members":{ - "VpnGateways":{ - "shape":"VpnGatewayList", - "locationName":"vpnGatewaySet" - } - } - }, - "DetachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "DetachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DetachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "DetachNetworkInterfaceRequest":{ - "type":"structure", - "required":["AttachmentId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "Force":{ - "shape":"Boolean", - "locationName":"force" - } - } - }, - "DetachVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "InstanceId":{"shape":"String"}, - "Device":{"shape":"String"}, - "Force":{"shape":"Boolean"} - } - }, - "DetachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{"shape":"String"}, - "VpcId":{"shape":"String"} - } - }, - "DeviceType":{ - "type":"string", - "enum":[ - "ebs", - "instance-store" - ] - }, - "DhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Values":{ - "shape":"DhcpConfigurationValueList", - "locationName":"valueSet" - } - } - }, - "DhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"DhcpConfiguration", - "locationName":"item" - } - }, - "DhcpConfigurationValueList":{ - "type":"list", - "member":{ - "shape":"AttributeValue", - "locationName":"item" - } - }, - "DhcpOptions":{ - "type":"structure", - "members":{ - "DhcpOptionsId":{ - "shape":"String", - "locationName":"dhcpOptionsId" - }, - "DhcpConfigurations":{ - "shape":"DhcpConfigurationList", - "locationName":"dhcpConfigurationSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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"}, - "GatewayId":{"shape":"String"} - } - }, - "DisableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{"shape":"String"} - } - }, - "DisableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DisableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "DisableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DisassociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIp":{"shape":"String"}, - "AssociationId":{"shape":"String"} - } - }, - "DisassociateRouteTableRequest":{ - "type":"structure", - "required":["AssociationId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "DiskImage":{ - "type":"structure", - "members":{ - "Image":{"shape":"DiskImageDetail"}, - "Description":{"shape":"String"}, - "Volume":{"shape":"VolumeDetail"} - } - }, - "DiskImageDescription":{ - "type":"structure", - "required":[ - "Format", - "Size", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "locationName":"format" - }, - "Size":{ - "shape":"Long", - "locationName":"size" - }, - "ImportManifestUrl":{ - "shape":"String", - "locationName":"importManifestUrl" - }, - "Checksum":{ - "shape":"String", - "locationName":"checksum" - } - } - }, - "DiskImageDetail":{ - "type":"structure", - "required":[ - "Format", - "Bytes", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "locationName":"format" - }, - "Bytes":{ - "shape":"Long", - "locationName":"bytes" - }, - "ImportManifestUrl":{ - "shape":"String", - "locationName":"importManifestUrl" - } - } - }, - "DiskImageFormat":{ - "type":"string", - "enum":[ - "VMDK", - "RAW", - "VHD" - ] - }, - "DiskImageList":{ - "type":"list", - "member":{"shape":"DiskImage"} - }, - "DiskImageVolumeDescription":{ - "type":"structure", - "required":["Id"], - "members":{ - "Size":{ - "shape":"Long", - "locationName":"size" - }, - "Id":{ - "shape":"String", - "locationName":"id" - } - } - }, - "DomainType":{ - "type":"string", - "enum":[ - "vpc", - "standard" - ] - }, - "Double":{"type":"double"}, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "VolumeSize":{ - "shape":"Integer", - "locationName":"volumeSize" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - }, - "VolumeType":{ - "shape":"VolumeType", - "locationName":"volumeType" - }, - "Iops":{ - "shape":"Integer", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - } - } - }, - "EbsInstanceBlockDevice":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "Status":{ - "shape":"AttachmentStatus", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "EbsInstanceBlockDeviceSpecification":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "EnableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{"shape":"String"}, - "GatewayId":{"shape":"String"} - } - }, - "EnableVolumeIORequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - } - } - }, - "EnableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{"shape":"String"} - } - }, - "EnableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "EnableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "EnableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "EventCode":{ - "type":"string", - "enum":[ - "instance-reboot", - "system-reboot", - "system-maintenance", - "instance-retirement", - "instance-stop" - ] - }, - "EventInformation":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "EventSubType":{ - "shape":"String", - "locationName":"eventSubType" - }, - "EventDescription":{ - "shape":"String", - "locationName":"eventDescription" - } - } - }, - "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", - "locationName":"exportTaskId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "State":{ - "shape":"ExportTaskState", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "InstanceExportDetails":{ - "shape":"InstanceExportDetails", - "locationName":"instanceExport" - }, - "ExportToS3Task":{ - "shape":"ExportToS3Task", - "locationName":"exportToS3" - } - } - }, - "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", - "locationName":"diskImageFormat" - }, - "ContainerFormat":{ - "shape":"ContainerFormat", - "locationName":"containerFormat" - }, - "S3Bucket":{ - "shape":"String", - "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", - "locationName":"s3Prefix" - } - } - }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "Values":{ - "shape":"ValueStringList", - "locationName":"Value" - } - } - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "FleetType":{ - "type":"string", - "enum":[ - "request", - "maintain" - ] - }, - "Float":{"type":"float"}, - "FlowLog":{ - "type":"structure", - "members":{ - "CreationTime":{ - "shape":"DateTime", - "locationName":"creationTime" - }, - "FlowLogId":{ - "shape":"String", - "locationName":"flowLogId" - }, - "FlowLogStatus":{ - "shape":"String", - "locationName":"flowLogStatus" - }, - "ResourceId":{ - "shape":"String", - "locationName":"resourceId" - }, - "TrafficType":{ - "shape":"TrafficType", - "locationName":"trafficType" - }, - "LogGroupName":{ - "shape":"String", - "locationName":"logGroupName" - }, - "DeliverLogsStatus":{ - "shape":"String", - "locationName":"deliverLogsStatus" - }, - "DeliverLogsErrorMessage":{ - "shape":"String", - "locationName":"deliverLogsErrorMessage" - }, - "DeliverLogsPermissionArn":{ - "shape":"String", - "locationName":"deliverLogsPermissionArn" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceId":{"shape":"String"} - } - }, - "GetConsoleOutputResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Timestamp":{ - "shape":"DateTime", - "locationName":"timestamp" - }, - "Output":{ - "shape":"String", - "locationName":"output" - } - } - }, - "GetConsoleScreenshotRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "InstanceId":{"shape":"String"}, - "WakeUp":{"shape":"Boolean"} - } - }, - "GetConsoleScreenshotResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "ImageData":{ - "shape":"String", - "locationName":"imageData" - } - } - }, - "GetHostReservationPurchasePreviewRequest":{ - "type":"structure", - "required":[ - "OfferingId", - "HostIdSet" - ], - "members":{ - "OfferingId":{"shape":"String"}, - "HostIdSet":{"shape":"RequestHostIdSet"} - } - }, - "GetHostReservationPurchasePreviewResult":{ - "type":"structure", - "members":{ - "Purchase":{ - "shape":"PurchaseSet", - "locationName":"purchase" - }, - "TotalUpfrontPrice":{ - "shape":"String", - "locationName":"totalUpfrontPrice" - }, - "TotalHourlyPrice":{ - "shape":"String", - "locationName":"totalHourlyPrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - } - } - }, - "GetPasswordDataRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{"shape":"String"} - } - }, - "GetPasswordDataResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Timestamp":{ - "shape":"DateTime", - "locationName":"timestamp" - }, - "PasswordData":{ - "shape":"String", - "locationName":"passwordData" - } - } - }, - "GroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"groupId" - } - }, - "GroupIdentifier":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - } - } - }, - "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", - "locationName":"timestamp" - }, - "EventType":{ - "shape":"EventType", - "locationName":"eventType" - }, - "EventInformation":{ - "shape":"EventInformation", - "locationName":"eventInformation" - } - } - }, - "HistoryRecords":{ - "type":"list", - "member":{ - "shape":"HistoryRecord", - "locationName":"item" - } - }, - "Host":{ - "type":"structure", - "members":{ - "HostId":{ - "shape":"String", - "locationName":"hostId" - }, - "AutoPlacement":{ - "shape":"AutoPlacement", - "locationName":"autoPlacement" - }, - "HostReservationId":{ - "shape":"String", - "locationName":"hostReservationId" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "HostProperties":{ - "shape":"HostProperties", - "locationName":"hostProperties" - }, - "State":{ - "shape":"AllocationState", - "locationName":"state" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Instances":{ - "shape":"HostInstanceList", - "locationName":"instances" - }, - "AvailableCapacity":{ - "shape":"AvailableCapacity", - "locationName":"availableCapacity" - } - } - }, - "HostInstance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - } - } - }, - "HostInstanceList":{ - "type":"list", - "member":{ - "shape":"HostInstance", - "locationName":"item" - } - }, - "HostList":{ - "type":"list", - "member":{ - "shape":"Host", - "locationName":"item" - } - }, - "HostOffering":{ - "type":"structure", - "members":{ - "OfferingId":{ - "shape":"String", - "locationName":"offeringId" - }, - "InstanceFamily":{ - "shape":"String", - "locationName":"instanceFamily" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "locationName":"paymentOption" - }, - "UpfrontPrice":{ - "shape":"String", - "locationName":"upfrontPrice" - }, - "HourlyPrice":{ - "shape":"String", - "locationName":"hourlyPrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "Duration":{ - "shape":"Integer", - "locationName":"duration" - } - } - }, - "HostOfferingSet":{ - "type":"list", - "member":{"shape":"HostOffering"} - }, - "HostProperties":{ - "type":"structure", - "members":{ - "Sockets":{ - "shape":"Integer", - "locationName":"sockets" - }, - "Cores":{ - "shape":"Integer", - "locationName":"cores" - }, - "TotalVCpus":{ - "shape":"Integer", - "locationName":"totalVCpus" - }, - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - } - } - }, - "HostReservation":{ - "type":"structure", - "members":{ - "HostReservationId":{ - "shape":"String", - "locationName":"hostReservationId" - }, - "HostIdSet":{ - "shape":"ResponseHostIdSet", - "locationName":"hostIdSet" - }, - "OfferingId":{ - "shape":"String", - "locationName":"offeringId" - }, - "InstanceFamily":{ - "shape":"String", - "locationName":"instanceFamily" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "locationName":"paymentOption" - }, - "HourlyPrice":{ - "shape":"String", - "locationName":"hourlyPrice" - }, - "UpfrontPrice":{ - "shape":"String", - "locationName":"upfrontPrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "Count":{ - "shape":"Integer", - "locationName":"count" - }, - "Duration":{ - "shape":"Integer", - "locationName":"duration" - }, - "End":{ - "shape":"DateTime", - "locationName":"end" - }, - "Start":{ - "shape":"DateTime", - "locationName":"start" - }, - "State":{ - "shape":"ReservationState", - "locationName":"state" - } - } - }, - "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", - "locationName":"arn" - }, - "Id":{ - "shape":"String", - "locationName":"id" - } - } - }, - "IamInstanceProfileSpecification":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "locationName":"arn" - }, - "Name":{ - "shape":"String", - "locationName":"name" - } - } - }, - "IcmpTypeCode":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"Integer", - "locationName":"type" - }, - "Code":{ - "shape":"Integer", - "locationName":"code" - } - } - }, - "IdFormat":{ - "type":"structure", - "members":{ - "Resource":{ - "shape":"String", - "locationName":"resource" - }, - "UseLongIds":{ - "shape":"Boolean", - "locationName":"useLongIds" - }, - "Deadline":{ - "shape":"DateTime", - "locationName":"deadline" - } - } - }, - "IdFormatList":{ - "type":"list", - "member":{ - "shape":"IdFormat", - "locationName":"item" - } - }, - "Image":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "ImageLocation":{ - "shape":"String", - "locationName":"imageLocation" - }, - "State":{ - "shape":"ImageState", - "locationName":"imageState" - }, - "OwnerId":{ - "shape":"String", - "locationName":"imageOwnerId" - }, - "CreationDate":{ - "shape":"String", - "locationName":"creationDate" - }, - "Public":{ - "shape":"Boolean", - "locationName":"isPublic" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "ImageType":{ - "shape":"ImageTypeValues", - "locationName":"imageType" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "locationName":"platform" - }, - "SriovNetSupport":{ - "shape":"String", - "locationName":"sriovNetSupport" - }, - "EnaSupport":{ - "shape":"Boolean", - "locationName":"enaSupport" - }, - "StateReason":{ - "shape":"StateReason", - "locationName":"stateReason" - }, - "ImageOwnerAlias":{ - "shape":"String", - "locationName":"imageOwnerAlias" - }, - "Name":{ - "shape":"String", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "RootDeviceType":{ - "shape":"DeviceType", - "locationName":"rootDeviceType" - }, - "RootDeviceName":{ - "shape":"String", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "locationName":"virtualizationType" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "locationName":"hypervisor" - } - } - }, - "ImageAttribute":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "LaunchPermissions":{ - "shape":"LaunchPermissionList", - "locationName":"launchPermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "KernelId":{ - "shape":"AttributeValue", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "locationName":"ramdisk" - }, - "Description":{ - "shape":"AttributeValue", - "locationName":"description" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - } - } - }, - "ImageAttributeName":{ - "type":"string", - "enum":[ - "description", - "kernel", - "ramdisk", - "launchPermission", - "productCodes", - "blockDeviceMapping", - "sriovNetSupport" - ] - }, - "ImageDiskContainer":{ - "type":"structure", - "members":{ - "Description":{"shape":"String"}, - "Format":{"shape":"String"}, - "Url":{"shape":"String"}, - "UserBucket":{"shape":"UserBucket"}, - "DeviceName":{"shape":"String"}, - "SnapshotId":{"shape":"String"} - } - }, - "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"}, - "DiskContainers":{ - "shape":"ImageDiskContainerList", - "locationName":"DiskContainer" - }, - "LicenseType":{"shape":"String"}, - "Hypervisor":{"shape":"String"}, - "Architecture":{"shape":"String"}, - "Platform":{"shape":"String"}, - "ClientData":{"shape":"ClientData"}, - "ClientToken":{"shape":"String"}, - "RoleName":{"shape":"String"} - } - }, - "ImportImageResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "Architecture":{ - "shape":"String", - "locationName":"architecture" - }, - "LicenseType":{ - "shape":"String", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "ImportImageTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "Architecture":{ - "shape":"String", - "locationName":"architecture" - }, - "LicenseType":{ - "shape":"String", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "ImportImageTaskList":{ - "type":"list", - "member":{ - "shape":"ImportImageTask", - "locationName":"item" - } - }, - "ImportInstanceLaunchSpecification":{ - "type":"structure", - "members":{ - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "GroupNames":{ - "shape":"SecurityGroupStringList", - "locationName":"GroupName" - }, - "GroupIds":{ - "shape":"SecurityGroupIdStringList", - "locationName":"GroupId" - }, - "AdditionalInfo":{ - "shape":"String", - "locationName":"additionalInfo" - }, - "UserData":{ - "shape":"UserData", - "locationName":"userData" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"Placement", - "locationName":"placement" - }, - "Monitoring":{ - "shape":"Boolean", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"ShutdownBehavior", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - } - } - }, - "ImportInstanceRequest":{ - "type":"structure", - "required":["Platform"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "LaunchSpecification":{ - "shape":"ImportInstanceLaunchSpecification", - "locationName":"launchSpecification" - }, - "DiskImages":{ - "shape":"DiskImageList", - "locationName":"diskImage" - }, - "Platform":{ - "shape":"PlatformValues", - "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", - "locationName":"platform" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportInstanceVolumeDetailItem":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "Image", - "Volume", - "Status" - ], - "members":{ - "BytesConverted":{ - "shape":"Long", - "locationName":"bytesConverted" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Image":{ - "shape":"DiskImageDescription", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "locationName":"volume" - }, - "Status":{ - "shape":"String", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportInstanceVolumeDetailSet":{ - "type":"list", - "member":{ - "shape":"ImportInstanceVolumeDetailItem", - "locationName":"item" - } - }, - "ImportKeyPairRequest":{ - "type":"structure", - "required":[ - "KeyName", - "PublicKeyMaterial" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "PublicKeyMaterial":{ - "shape":"Blob", - "locationName":"publicKeyMaterial" - } - } - }, - "ImportKeyPairResult":{ - "type":"structure", - "members":{ - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "KeyFingerprint":{ - "shape":"String", - "locationName":"keyFingerprint" - } - } - }, - "ImportSnapshotRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "Description":{"shape":"String"}, - "DiskContainer":{"shape":"SnapshotDiskContainer"}, - "ClientData":{"shape":"ClientData"}, - "ClientToken":{"shape":"String"}, - "RoleName":{"shape":"String"} - } - }, - "ImportSnapshotResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportSnapshotTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "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", - "locationName":"availabilityZone" - }, - "Image":{ - "shape":"DiskImageDetail", - "locationName":"image" - }, - "Description":{ - "shape":"String", - "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", - "locationName":"bytesConverted" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Image":{ - "shape":"DiskImageDescription", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "locationName":"volume" - } - } - }, - "Instance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "State":{ - "shape":"InstanceState", - "locationName":"instanceState" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "PublicDnsName":{ - "shape":"String", - "locationName":"dnsName" - }, - "StateTransitionReason":{ - "shape":"String", - "locationName":"reason" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "AmiLaunchIndex":{ - "shape":"Integer", - "locationName":"amiLaunchIndex" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "LaunchTime":{ - "shape":"DateTime", - "locationName":"launchTime" - }, - "Placement":{ - "shape":"Placement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "locationName":"platform" - }, - "Monitoring":{ - "shape":"Monitoring", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PublicIpAddress":{ - "shape":"String", - "locationName":"ipAddress" - }, - "StateReason":{ - "shape":"StateReason", - "locationName":"stateReason" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "RootDeviceType":{ - "shape":"DeviceType", - "locationName":"rootDeviceType" - }, - "RootDeviceName":{ - "shape":"String", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "locationName":"virtualizationType" - }, - "InstanceLifecycle":{ - "shape":"InstanceLifecycleType", - "locationName":"instanceLifecycle" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "locationName":"sourceDestCheck" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "locationName":"hypervisor" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceList", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfile", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"String", - "locationName":"sriovNetSupport" - }, - "EnaSupport":{ - "shape":"Boolean", - "locationName":"enaSupport" - } - } - }, - "InstanceAttribute":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"AttributeValue", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"AttributeValue", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"AttributeValue", - "locationName":"userData" - }, - "DisableApiTermination":{ - "shape":"AttributeBooleanValue", - "locationName":"disableApiTermination" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"AttributeValue", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "RootDeviceName":{ - "shape":"AttributeValue", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "EbsOptimized":{ - "shape":"AttributeBooleanValue", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "EnaSupport":{ - "shape":"AttributeBooleanValue", - "locationName":"enaSupport" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - } - } - }, - "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", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDevice", - "locationName":"ebs" - } - } - }, - "InstanceBlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMapping", - "locationName":"item" - } - }, - "InstanceBlockDeviceMappingSpecification":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDeviceSpecification", - "locationName":"ebs" - }, - "VirtualName":{ - "shape":"String", - "locationName":"virtualName" - }, - "NoDevice":{ - "shape":"String", - "locationName":"noDevice" - } - } - }, - "InstanceBlockDeviceMappingSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMappingSpecification", - "locationName":"item" - } - }, - "InstanceCapacity":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "AvailableCapacity":{ - "shape":"Integer", - "locationName":"availableCapacity" - }, - "TotalCapacity":{ - "shape":"Integer", - "locationName":"totalCapacity" - } - } - }, - "InstanceCount":{ - "type":"structure", - "members":{ - "State":{ - "shape":"ListingState", - "locationName":"state" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - } - } - }, - "InstanceCountList":{ - "type":"list", - "member":{ - "shape":"InstanceCount", - "locationName":"item" - } - }, - "InstanceExportDetails":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "locationName":"targetEnvironment" - } - } - }, - "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", - "locationName":"instanceId" - }, - "Monitoring":{ - "shape":"Monitoring", - "locationName":"monitoring" - } - } - }, - "InstanceMonitoringList":{ - "type":"list", - "member":{ - "shape":"InstanceMonitoring", - "locationName":"item" - } - }, - "InstanceNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Status":{ - "shape":"NetworkInterfaceStatus", - "locationName":"status" - }, - "MacAddress":{ - "shape":"String", - "locationName":"macAddress" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Attachment":{ - "shape":"InstanceNetworkInterfaceAttachment", - "locationName":"attachment" - }, - "Association":{ - "shape":"InstanceNetworkInterfaceAssociation", - "locationName":"association" - }, - "PrivateIpAddresses":{ - "shape":"InstancePrivateIpAddressList", - "locationName":"privateIpAddressesSet" - } - } - }, - "InstanceNetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "PublicDnsName":{ - "shape":"String", - "locationName":"publicDnsName" - }, - "IpOwnerId":{ - "shape":"String", - "locationName":"ipOwnerId" - } - } - }, - "InstanceNetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "InstanceNetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterface", - "locationName":"item" - } - }, - "InstanceNetworkInterfaceSpecification":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "locationName":"privateIpAddressesSet", - "queryName":"PrivateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "locationName":"associatePublicIpAddress" - } - } - }, - "InstanceNetworkInterfaceSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterfaceSpecification", - "locationName":"item" - } - }, - "InstancePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "locationName":"primary" - }, - "Association":{ - "shape":"InstanceNetworkInterfaceAssociation", - "locationName":"association" - } - } - }, - "InstancePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"InstancePrivateIpAddress", - "locationName":"item" - } - }, - "InstanceState":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"Integer", - "locationName":"code" - }, - "Name":{ - "shape":"InstanceStateName", - "locationName":"name" - } - } - }, - "InstanceStateChange":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "CurrentState":{ - "shape":"InstanceState", - "locationName":"currentState" - }, - "PreviousState":{ - "shape":"InstanceState", - "locationName":"previousState" - } - } - }, - "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", - "locationName":"instanceId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Events":{ - "shape":"InstanceStatusEventList", - "locationName":"eventsSet" - }, - "InstanceState":{ - "shape":"InstanceState", - "locationName":"instanceState" - }, - "SystemStatus":{ - "shape":"InstanceStatusSummary", - "locationName":"systemStatus" - }, - "InstanceStatus":{ - "shape":"InstanceStatusSummary", - "locationName":"instanceStatus" - } - } - }, - "InstanceStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"StatusName", - "locationName":"name" - }, - "Status":{ - "shape":"StatusType", - "locationName":"status" - }, - "ImpairedSince":{ - "shape":"DateTime", - "locationName":"impairedSince" - } - } - }, - "InstanceStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusDetails", - "locationName":"item" - } - }, - "InstanceStatusEvent":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"EventCode", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "NotBefore":{ - "shape":"DateTime", - "locationName":"notBefore" - }, - "NotAfter":{ - "shape":"DateTime", - "locationName":"notAfter" - } - } - }, - "InstanceStatusEventList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusEvent", - "locationName":"item" - } - }, - "InstanceStatusList":{ - "type":"list", - "member":{ - "shape":"InstanceStatus", - "locationName":"item" - } - }, - "InstanceStatusSummary":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"SummaryStatus", - "locationName":"status" - }, - "Details":{ - "shape":"InstanceStatusDetailsList", - "locationName":"details" - } - } - }, - "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", - "locationName":"internetGatewayId" - }, - "Attachments":{ - "shape":"InternetGatewayAttachmentList", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "InternetGatewayAttachment":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "State":{ - "shape":"AttachmentStatus", - "locationName":"state" - } - } - }, - "InternetGatewayAttachmentList":{ - "type":"list", - "member":{ - "shape":"InternetGatewayAttachment", - "locationName":"item" - } - }, - "InternetGatewayList":{ - "type":"list", - "member":{ - "shape":"InternetGateway", - "locationName":"item" - } - }, - "IpPermission":{ - "type":"structure", - "members":{ - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairList", - "locationName":"groups" - }, - "IpRanges":{ - "shape":"IpRangeList", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "shape":"PrefixListIdList", - "locationName":"prefixListIds" - } - } - }, - "IpPermissionList":{ - "type":"list", - "member":{ - "shape":"IpPermission", - "locationName":"item" - } - }, - "IpRange":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"String", - "locationName":"cidrIp" - } - } - }, - "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", - "locationName":"keyName" - }, - "KeyFingerprint":{ - "shape":"String", - "locationName":"keyFingerprint" - }, - "KeyMaterial":{ - "shape":"String", - "locationName":"keyMaterial" - } - } - }, - "KeyPairInfo":{ - "type":"structure", - "members":{ - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "KeyFingerprint":{ - "shape":"String", - "locationName":"keyFingerprint" - } - } - }, - "KeyPairList":{ - "type":"list", - "member":{ - "shape":"KeyPairInfo", - "locationName":"item" - } - }, - "LaunchPermission":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "locationName":"userId" - }, - "Group":{ - "shape":"PermissionGroup", - "locationName":"group" - } - } - }, - "LaunchPermissionList":{ - "type":"list", - "member":{ - "shape":"LaunchPermission", - "locationName":"item" - } - }, - "LaunchPermissionModifications":{ - "type":"structure", - "members":{ - "Add":{"shape":"LaunchPermissionList"}, - "Remove":{"shape":"LaunchPermissionList"} - } - }, - "LaunchSpecification":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "UserData":{ - "shape":"String", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - } - } - }, - "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", - "locationName":"hostId" - }, - "AutoPlacement":{ - "shape":"AutoPlacement", - "locationName":"autoPlacement" - } - } - }, - "ModifyHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "locationName":"unsuccessful" - } - } - }, - "ModifyIdFormatRequest":{ - "type":"structure", - "required":[ - "Resource", - "UseLongIds" - ], - "members":{ - "Resource":{"shape":"String"}, - "UseLongIds":{"shape":"Boolean"} - } - }, - "ModifyIdentityIdFormatRequest":{ - "type":"structure", - "required":[ - "Resource", - "UseLongIds", - "PrincipalArn" - ], - "members":{ - "Resource":{ - "shape":"String", - "locationName":"resource" - }, - "UseLongIds":{ - "shape":"Boolean", - "locationName":"useLongIds" - }, - "PrincipalArn":{ - "shape":"String", - "locationName":"principalArn" - } - } - }, - "ModifyImageAttributeRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"}, - "Attribute":{"shape":"String"}, - "OperationType":{"shape":"OperationType"}, - "UserIds":{ - "shape":"UserIdStringList", - "locationName":"UserId" - }, - "UserGroups":{ - "shape":"UserGroupStringList", - "locationName":"UserGroup" - }, - "ProductCodes":{ - "shape":"ProductCodeStringList", - "locationName":"ProductCode" - }, - "Value":{"shape":"String"}, - "LaunchPermission":{"shape":"LaunchPermissionModifications"}, - "Description":{"shape":"AttributeValue"} - } - }, - "ModifyInstanceAttributeRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "locationName":"attribute" - }, - "Value":{ - "shape":"String", - "locationName":"value" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingSpecificationList", - "locationName":"blockDeviceMapping" - }, - "SourceDestCheck":{"shape":"AttributeBooleanValue"}, - "DisableApiTermination":{ - "shape":"AttributeBooleanValue", - "locationName":"disableApiTermination" - }, - "InstanceType":{ - "shape":"AttributeValue", - "locationName":"instanceType" - }, - "Kernel":{ - "shape":"AttributeValue", - "locationName":"kernel" - }, - "Ramdisk":{ - "shape":"AttributeValue", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"BlobAttributeValue", - "locationName":"userData" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"AttributeValue", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "Groups":{ - "shape":"GroupIdStringList", - "locationName":"GroupId" - }, - "EbsOptimized":{ - "shape":"AttributeBooleanValue", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "EnaSupport":{ - "shape":"AttributeBooleanValue", - "locationName":"enaSupport" - } - } - }, - "ModifyInstancePlacementRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Tenancy":{ - "shape":"HostTenancy", - "locationName":"tenancy" - }, - "Affinity":{ - "shape":"Affinity", - "locationName":"affinity" - }, - "HostId":{ - "shape":"String", - "locationName":"hostId" - } - } - }, - "ModifyInstancePlacementResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "ModifyNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "Description":{ - "shape":"AttributeValue", - "locationName":"description" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachmentChanges", - "locationName":"attachment" - } - } - }, - "ModifyReservedInstancesRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesIds", - "TargetConfigurations" - ], - "members":{ - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "ReservedInstancesIds":{ - "shape":"ReservedInstancesIdStringList", - "locationName":"ReservedInstancesId" - }, - "TargetConfigurations":{ - "shape":"ReservedInstancesConfigurationList", - "locationName":"ReservedInstancesConfigurationSetItemType" - } - } - }, - "ModifyReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "locationName":"reservedInstancesModificationId" - } - } - }, - "ModifySnapshotAttributeRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"}, - "Attribute":{"shape":"SnapshotAttributeName"}, - "OperationType":{"shape":"OperationType"}, - "UserIds":{ - "shape":"UserIdStringList", - "locationName":"UserId" - }, - "GroupNames":{ - "shape":"GroupNameStringList", - "locationName":"UserGroup" - }, - "CreateVolumePermission":{"shape":"CreateVolumePermissionModifications"} - } - }, - "ModifySpotFleetRequestRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "TargetCapacity":{ - "shape":"Integer", - "locationName":"targetCapacity" - }, - "ExcessCapacityTerminationPolicy":{ - "shape":"ExcessCapacityTerminationPolicy", - "locationName":"excessCapacityTerminationPolicy" - } - } - }, - "ModifySpotFleetRequestResponse":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "ModifySubnetAttributeRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "MapPublicIpOnLaunch":{"shape":"AttributeBooleanValue"} - } - }, - "ModifyVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "AutoEnableIO":{"shape":"AttributeBooleanValue"} - } - }, - "ModifyVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "EnableDnsSupport":{"shape":"AttributeBooleanValue"}, - "EnableDnsHostnames":{"shape":"AttributeBooleanValue"} - } - }, - "ModifyVpcEndpointRequest":{ - "type":"structure", - "required":["VpcEndpointId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcEndpointId":{"shape":"String"}, - "ResetPolicy":{"shape":"Boolean"}, - "PolicyDocument":{"shape":"String"}, - "AddRouteTableIds":{ - "shape":"ValueStringList", - "locationName":"AddRouteTableId" - }, - "RemoveRouteTableIds":{ - "shape":"ValueStringList", - "locationName":"RemoveRouteTableId" - } - } - }, - "ModifyVpcEndpointResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "ModifyVpcPeeringConnectionOptionsRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcPeeringConnectionId":{"shape":"String"}, - "RequesterPeeringConnectionOptions":{"shape":"PeeringConnectionOptionsRequest"}, - "AccepterPeeringConnectionOptions":{"shape":"PeeringConnectionOptionsRequest"} - } - }, - "ModifyVpcPeeringConnectionOptionsResult":{ - "type":"structure", - "members":{ - "RequesterPeeringConnectionOptions":{ - "shape":"PeeringConnectionOptions", - "locationName":"requesterPeeringConnectionOptions" - }, - "AccepterPeeringConnectionOptions":{ - "shape":"PeeringConnectionOptions", - "locationName":"accepterPeeringConnectionOptions" - } - } - }, - "MonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "MonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "locationName":"instancesSet" - } - } - }, - "Monitoring":{ - "type":"structure", - "members":{ - "State":{ - "shape":"MonitoringState", - "locationName":"state" - } - } - }, - "MonitoringState":{ - "type":"string", - "enum":[ - "disabled", - "disabling", - "enabled", - "pending" - ] - }, - "MoveAddressToVpcRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - } - } - }, - "MoveAddressToVpcResult":{ - "type":"structure", - "members":{ - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "Status":{ - "shape":"Status", - "locationName":"status" - } - } - }, - "MoveStatus":{ - "type":"string", - "enum":[ - "movingToVpc", - "restoringToClassic" - ] - }, - "MovingAddressStatus":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "MoveStatus":{ - "shape":"MoveStatus", - "locationName":"moveStatus" - } - } - }, - "MovingAddressStatusSet":{ - "type":"list", - "member":{ - "shape":"MovingAddressStatus", - "locationName":"item" - } - }, - "NatGateway":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - }, - "DeleteTime":{ - "shape":"DateTime", - "locationName":"deleteTime" - }, - "NatGatewayAddresses":{ - "shape":"NatGatewayAddressList", - "locationName":"natGatewayAddressSet" - }, - "State":{ - "shape":"NatGatewayState", - "locationName":"state" - }, - "FailureCode":{ - "shape":"String", - "locationName":"failureCode" - }, - "FailureMessage":{ - "shape":"String", - "locationName":"failureMessage" - }, - "ProvisionedBandwidth":{ - "shape":"ProvisionedBandwidth", - "locationName":"provisionedBandwidth" - } - } - }, - "NatGatewayAddress":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "PrivateIp":{ - "shape":"String", - "locationName":"privateIp" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - } - } - }, - "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", - "locationName":"networkAclId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "IsDefault":{ - "shape":"Boolean", - "locationName":"default" - }, - "Entries":{ - "shape":"NetworkAclEntryList", - "locationName":"entrySet" - }, - "Associations":{ - "shape":"NetworkAclAssociationList", - "locationName":"associationSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "NetworkAclAssociation":{ - "type":"structure", - "members":{ - "NetworkAclAssociationId":{ - "shape":"String", - "locationName":"networkAclAssociationId" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - } - } - }, - "NetworkAclAssociationList":{ - "type":"list", - "member":{ - "shape":"NetworkAclAssociation", - "locationName":"item" - } - }, - "NetworkAclEntry":{ - "type":"structure", - "members":{ - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "locationName":"ruleAction" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "locationName":"icmpTypeCode" - }, - "PortRange":{ - "shape":"PortRange", - "locationName":"portRange" - } - } - }, - "NetworkAclEntryList":{ - "type":"list", - "member":{ - "shape":"NetworkAclEntry", - "locationName":"item" - } - }, - "NetworkAclList":{ - "type":"list", - "member":{ - "shape":"NetworkAcl", - "locationName":"item" - } - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "locationName":"requesterId" - }, - "RequesterManaged":{ - "shape":"Boolean", - "locationName":"requesterManaged" - }, - "Status":{ - "shape":"NetworkInterfaceStatus", - "locationName":"status" - }, - "MacAddress":{ - "shape":"String", - "locationName":"macAddress" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "locationName":"attachment" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "locationName":"association" - }, - "TagSet":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "PrivateIpAddresses":{ - "shape":"NetworkInterfacePrivateIpAddressList", - "locationName":"privateIpAddressesSet" - }, - "InterfaceType":{ - "shape":"NetworkInterfaceType", - "locationName":"interfaceType" - } - } - }, - "NetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "PublicDnsName":{ - "shape":"String", - "locationName":"publicDnsName" - }, - "IpOwnerId":{ - "shape":"String", - "locationName":"ipOwnerId" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "NetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "locationName":"instanceOwnerId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "NetworkInterfaceAttachmentChanges":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "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", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "locationName":"primary" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "locationName":"association" - } - } - }, - "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", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - }, - "AllowDnsResolutionFromRemoteVpc":{ - "shape":"Boolean", - "locationName":"allowDnsResolutionFromRemoteVpc" - } - } - }, - "PeeringConnectionOptionsRequest":{ - "type":"structure", - "members":{ - "AllowEgressFromLocalClassicLinkToRemoteVpc":{"shape":"Boolean"}, - "AllowEgressFromLocalVpcToRemoteClassicLink":{"shape":"Boolean"}, - "AllowDnsResolutionFromRemoteVpc":{"shape":"Boolean"} - } - }, - "PermissionGroup":{ - "type":"string", - "enum":["all"] - }, - "Placement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Tenancy":{ - "shape":"Tenancy", - "locationName":"tenancy" - }, - "HostId":{ - "shape":"String", - "locationName":"hostId" - }, - "Affinity":{ - "shape":"String", - "locationName":"affinity" - } - } - }, - "PlacementGroup":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "locationName":"strategy" - }, - "State":{ - "shape":"PlacementGroupState", - "locationName":"state" - } - } - }, - "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", - "locationName":"from" - }, - "To":{ - "shape":"Integer", - "locationName":"to" - } - } - }, - "PrefixList":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "locationName":"prefixListId" - }, - "PrefixListName":{ - "shape":"String", - "locationName":"prefixListName" - }, - "Cidrs":{ - "shape":"ValueStringList", - "locationName":"cidrSet" - } - } - }, - "PrefixListId":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "locationName":"prefixListId" - } - } - }, - "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", - "locationName":"term" - }, - "Price":{ - "shape":"Double", - "locationName":"price" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "Active":{ - "shape":"Boolean", - "locationName":"active" - } - } - }, - "PriceScheduleList":{ - "type":"list", - "member":{ - "shape":"PriceSchedule", - "locationName":"item" - } - }, - "PriceScheduleSpecification":{ - "type":"structure", - "members":{ - "Term":{ - "shape":"Long", - "locationName":"term" - }, - "Price":{ - "shape":"Double", - "locationName":"price" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - } - } - }, - "PriceScheduleSpecificationList":{ - "type":"list", - "member":{ - "shape":"PriceScheduleSpecification", - "locationName":"item" - } - }, - "PricingDetail":{ - "type":"structure", - "members":{ - "Price":{ - "shape":"Double", - "locationName":"price" - }, - "Count":{ - "shape":"Integer", - "locationName":"count" - } - } - }, - "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", - "locationName":"privateIpAddress" - }, - "Primary":{ - "shape":"Boolean", - "locationName":"primary" - } - } - }, - "PrivateIpAddressSpecificationList":{ - "type":"list", - "member":{ - "shape":"PrivateIpAddressSpecification", - "locationName":"item" - } - }, - "PrivateIpAddressStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PrivateIpAddress" - } - }, - "ProductCode":{ - "type":"structure", - "members":{ - "ProductCodeId":{ - "shape":"String", - "locationName":"productCode" - }, - "ProductCodeType":{ - "shape":"ProductCodeValues", - "locationName":"type" - } - } - }, - "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", - "locationName":"gatewayId" - } - } - }, - "PropagatingVgwList":{ - "type":"list", - "member":{ - "shape":"PropagatingVgw", - "locationName":"item" - } - }, - "ProvisionedBandwidth":{ - "type":"structure", - "members":{ - "Provisioned":{ - "shape":"String", - "locationName":"provisioned" - }, - "Requested":{ - "shape":"String", - "locationName":"requested" - }, - "RequestTime":{ - "shape":"DateTime", - "locationName":"requestTime" - }, - "ProvisionTime":{ - "shape":"DateTime", - "locationName":"provisionTime" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "PublicIpStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PublicIp" - } - }, - "Purchase":{ - "type":"structure", - "members":{ - "HostReservationId":{ - "shape":"String", - "locationName":"hostReservationId" - }, - "HostIdSet":{ - "shape":"ResponseHostIdSet", - "locationName":"hostIdSet" - }, - "InstanceFamily":{ - "shape":"String", - "locationName":"instanceFamily" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "locationName":"paymentOption" - }, - "UpfrontPrice":{ - "shape":"String", - "locationName":"upfrontPrice" - }, - "HourlyPrice":{ - "shape":"String", - "locationName":"hourlyPrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "Duration":{ - "shape":"Integer", - "locationName":"duration" - } - } - }, - "PurchaseHostReservationRequest":{ - "type":"structure", - "required":[ - "OfferingId", - "HostIdSet" - ], - "members":{ - "OfferingId":{"shape":"String"}, - "HostIdSet":{"shape":"RequestHostIdSet"}, - "LimitPrice":{"shape":"String"}, - "CurrencyCode":{"shape":"CurrencyCodeValues"}, - "ClientToken":{"shape":"String"} - } - }, - "PurchaseHostReservationResult":{ - "type":"structure", - "members":{ - "Purchase":{ - "shape":"PurchaseSet", - "locationName":"purchase" - }, - "TotalUpfrontPrice":{ - "shape":"String", - "locationName":"totalUpfrontPrice" - }, - "TotalHourlyPrice":{ - "shape":"String", - "locationName":"totalHourlyPrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "PurchaseRequest":{ - "type":"structure", - "required":[ - "PurchaseToken", - "InstanceCount" - ], - "members":{ - "PurchaseToken":{"shape":"String"}, - "InstanceCount":{"shape":"Integer"} - } - }, - "PurchaseRequestSet":{ - "type":"list", - "member":{ - "shape":"PurchaseRequest", - "locationName":"PurchaseRequest" - }, - "min":1 - }, - "PurchaseReservedInstancesOfferingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesOfferingId", - "InstanceCount" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingId":{"shape":"String"}, - "InstanceCount":{"shape":"Integer"}, - "LimitPrice":{ - "shape":"ReservedInstanceLimitPrice", - "locationName":"limitPrice" - } - } - }, - "PurchaseReservedInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - } - } - }, - "PurchaseScheduledInstancesRequest":{ - "type":"structure", - "required":["PurchaseRequests"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "ClientToken":{ - "shape":"String", - "idempotencyToken":true - }, - "PurchaseRequests":{ - "shape":"PurchaseRequestSet", - "locationName":"PurchaseRequest" - } - } - }, - "PurchaseScheduledInstancesResult":{ - "type":"structure", - "members":{ - "ScheduledInstanceSet":{ - "shape":"PurchasedScheduledInstanceSet", - "locationName":"scheduledInstanceSet" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"RecurringChargeFrequency", - "locationName":"frequency" - }, - "Amount":{ - "shape":"Double", - "locationName":"amount" - } - } - }, - "RecurringChargeFrequency":{ - "type":"string", - "enum":["Hourly"] - }, - "RecurringChargesList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"item" - } - }, - "Region":{ - "type":"structure", - "members":{ - "RegionName":{ - "shape":"String", - "locationName":"regionName" - }, - "Endpoint":{ - "shape":"String", - "locationName":"regionEndpoint" - } - } - }, - "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"}, - "Name":{ - "shape":"String", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "RootDeviceName":{ - "shape":"String", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "locationName":"BlockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"String", - "locationName":"virtualizationType" - }, - "SriovNetSupport":{ - "shape":"String", - "locationName":"sriovNetSupport" - }, - "EnaSupport":{ - "shape":"Boolean", - "locationName":"enaSupport" - } - } - }, - "RegisterImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - } - } - }, - "RejectVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "RejectVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "ReleaseAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIp":{"shape":"String"}, - "AllocationId":{"shape":"String"} - } - }, - "ReleaseHostsRequest":{ - "type":"structure", - "required":["HostIds"], - "members":{ - "HostIds":{ - "shape":"RequestHostIdList", - "locationName":"hostId" - } - } - }, - "ReleaseHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "locationName":"unsuccessful" - } - } - }, - "ReplaceNetworkAclAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "NetworkAclId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - } - } - }, - "ReplaceNetworkAclAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "locationName":"newAssociationId" - } - } - }, - "ReplaceNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "locationName":"ruleAction" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "locationName":"portRange" - } - } - }, - "ReplaceRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - }, - "GatewayId":{ - "shape":"String", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - } - } - }, - "ReplaceRouteTableAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - } - } - }, - "ReplaceRouteTableAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "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", - "locationName":"instanceId" - }, - "Status":{ - "shape":"ReportStatusType", - "locationName":"status" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "EndTime":{ - "shape":"DateTime", - "locationName":"endTime" - }, - "ReasonCodes":{ - "shape":"ReasonCodesList", - "locationName":"reasonCode" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "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", - "locationName":"dryRun" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "locationName":"spotFleetRequestConfig" - } - } - }, - "RequestSpotFleetResponse":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - } - } - }, - "RequestSpotInstancesRequest":{ - "type":"structure", - "required":["SpotPrice"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "Type":{ - "shape":"SpotInstanceType", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "locationName":"validUntil" - }, - "LaunchGroup":{ - "shape":"String", - "locationName":"launchGroup" - }, - "AvailabilityZoneGroup":{ - "shape":"String", - "locationName":"availabilityZoneGroup" - }, - "BlockDurationMinutes":{ - "shape":"Integer", - "locationName":"blockDurationMinutes" - }, - "LaunchSpecification":{"shape":"RequestSpotLaunchSpecification"} - } - }, - "RequestSpotInstancesResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "locationName":"spotInstanceRequestSet" - } - } - }, - "RequestSpotLaunchSpecification":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "SecurityGroups":{ - "shape":"ValueStringList", - "locationName":"SecurityGroup" - }, - "UserData":{ - "shape":"String", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"NetworkInterface" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "locationName":"SecurityGroupId" - } - } - }, - "Reservation":{ - "type":"structure", - "members":{ - "ReservationId":{ - "shape":"String", - "locationName":"reservationId" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "locationName":"requesterId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Instances":{ - "shape":"InstanceList", - "locationName":"instancesSet" - } - } - }, - "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", - "locationName":"amount" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - } - } - }, - "ReservedInstanceState":{ - "type":"string", - "enum":[ - "payment-pending", - "active", - "payment-failed", - "retired" - ] - }, - "ReservedInstances":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Start":{ - "shape":"DateTime", - "locationName":"start" - }, - "End":{ - "shape":"DateTime", - "locationName":"end" - }, - "Duration":{ - "shape":"Long", - "locationName":"duration" - }, - "UsagePrice":{ - "shape":"Float", - "locationName":"usagePrice" - }, - "FixedPrice":{ - "shape":"Float", - "locationName":"fixedPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "State":{ - "shape":"ReservedInstanceState", - "locationName":"state" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - }, - "RecurringCharges":{ - "shape":"RecurringChargesList", - "locationName":"recurringCharges" - } - } - }, - "ReservedInstancesConfiguration":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - } - } - }, - "ReservedInstancesConfigurationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"item" - } - }, - "ReservedInstancesId":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - } - } - }, - "ReservedInstancesIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesId" - } - }, - "ReservedInstancesList":{ - "type":"list", - "member":{ - "shape":"ReservedInstances", - "locationName":"item" - } - }, - "ReservedInstancesListing":{ - "type":"structure", - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "locationName":"reservedInstancesListingId" - }, - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "CreateDate":{ - "shape":"DateTime", - "locationName":"createDate" - }, - "UpdateDate":{ - "shape":"DateTime", - "locationName":"updateDate" - }, - "Status":{ - "shape":"ListingStatus", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "InstanceCounts":{ - "shape":"InstanceCountList", - "locationName":"instanceCounts" - }, - "PriceSchedules":{ - "shape":"PriceScheduleList", - "locationName":"priceSchedules" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "ReservedInstancesListingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesListing", - "locationName":"item" - } - }, - "ReservedInstancesModification":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "locationName":"reservedInstancesModificationId" - }, - "ReservedInstancesIds":{ - "shape":"ReservedIntancesIds", - "locationName":"reservedInstancesSet" - }, - "ModificationResults":{ - "shape":"ReservedInstancesModificationResultList", - "locationName":"modificationResultSet" - }, - "CreateDate":{ - "shape":"DateTime", - "locationName":"createDate" - }, - "UpdateDate":{ - "shape":"DateTime", - "locationName":"updateDate" - }, - "EffectiveDate":{ - "shape":"DateTime", - "locationName":"effectiveDate" - }, - "Status":{ - "shape":"String", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "ReservedInstancesModificationIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesModificationId" - } - }, - "ReservedInstancesModificationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModification", - "locationName":"item" - } - }, - "ReservedInstancesModificationResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "TargetConfiguration":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"targetConfiguration" - } - } - }, - "ReservedInstancesModificationResultList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModificationResult", - "locationName":"item" - } - }, - "ReservedInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferingId":{ - "shape":"String", - "locationName":"reservedInstancesOfferingId" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Duration":{ - "shape":"Long", - "locationName":"duration" - }, - "UsagePrice":{ - "shape":"Float", - "locationName":"usagePrice" - }, - "FixedPrice":{ - "shape":"Float", - "locationName":"fixedPrice" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - }, - "RecurringCharges":{ - "shape":"RecurringChargesList", - "locationName":"recurringCharges" - }, - "Marketplace":{ - "shape":"Boolean", - "locationName":"marketplace" - }, - "PricingDetails":{ - "shape":"PricingDetailsList", - "locationName":"pricingDetailsSet" - } - } - }, - "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"}, - "Attribute":{"shape":"ResetImageAttributeName"} - } - }, - "ResetInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "locationName":"attribute" - } - } - }, - "ResetNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "SourceDestCheck":{ - "shape":"String", - "locationName":"sourceDestCheck" - } - } - }, - "ResetSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"}, - "Attribute":{"shape":"SnapshotAttributeName"} - } - }, - "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", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - } - } - }, - "RestoreAddressToClassicResult":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"Status", - "locationName":"status" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - } - } - }, - "RevokeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "locationName":"cidrIp" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "locationName":"ipPermissions" - } - } - }, - "RevokeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "GroupId":{"shape":"String"}, - "SourceSecurityGroupName":{"shape":"String"}, - "SourceSecurityGroupOwnerId":{"shape":"String"}, - "IpProtocol":{"shape":"String"}, - "FromPort":{"shape":"Integer"}, - "ToPort":{"shape":"Integer"}, - "CidrIp":{"shape":"String"}, - "IpPermissions":{"shape":"IpPermissionList"} - } - }, - "Route":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - }, - "DestinationPrefixListId":{ - "shape":"String", - "locationName":"destinationPrefixListId" - }, - "GatewayId":{ - "shape":"String", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "locationName":"instanceOwnerId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - }, - "State":{ - "shape":"RouteState", - "locationName":"state" - }, - "Origin":{ - "shape":"RouteOrigin", - "locationName":"origin" - } - } - }, - "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", - "locationName":"routeTableId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Routes":{ - "shape":"RouteList", - "locationName":"routeSet" - }, - "Associations":{ - "shape":"RouteTableAssociationList", - "locationName":"associationSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "PropagatingVgws":{ - "shape":"PropagatingVgwList", - "locationName":"propagatingVgwSet" - } - } - }, - "RouteTableAssociation":{ - "type":"structure", - "members":{ - "RouteTableAssociationId":{ - "shape":"String", - "locationName":"routeTableAssociationId" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "Main":{ - "shape":"Boolean", - "locationName":"main" - } - } - }, - "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", - "locationName":"enabled" - } - } - }, - "RunInstancesRequest":{ - "type":"structure", - "required":[ - "ImageId", - "MinCount", - "MaxCount" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"}, - "MinCount":{"shape":"Integer"}, - "MaxCount":{"shape":"Integer"}, - "KeyName":{"shape":"String"}, - "SecurityGroups":{ - "shape":"SecurityGroupStringList", - "locationName":"SecurityGroup" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "UserData":{"shape":"String"}, - "InstanceType":{"shape":"InstanceType"}, - "Placement":{"shape":"Placement"}, - "KernelId":{"shape":"String"}, - "RamdiskId":{"shape":"String"}, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "locationName":"BlockDeviceMapping" - }, - "Monitoring":{"shape":"RunInstancesMonitoringEnabled"}, - "SubnetId":{"shape":"String"}, - "DisableApiTermination":{ - "shape":"Boolean", - "locationName":"disableApiTermination" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"ShutdownBehavior", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "AdditionalInfo":{ - "shape":"String", - "locationName":"additionalInfo" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"networkInterface" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - } - } - }, - "RunScheduledInstancesRequest":{ - "type":"structure", - "required":[ - "ScheduledInstanceId", - "LaunchSpecification" - ], - "members":{ - "DryRun":{"shape":"Boolean"}, - "ClientToken":{ - "shape":"String", - "idempotencyToken":true - }, - "InstanceCount":{"shape":"Integer"}, - "ScheduledInstanceId":{"shape":"String"}, - "LaunchSpecification":{"shape":"ScheduledInstancesLaunchSpecification"} - } - }, - "RunScheduledInstancesResult":{ - "type":"structure", - "members":{ - "InstanceIdSet":{ - "shape":"InstanceIdSet", - "locationName":"instanceIdSet" - } - } - }, - "S3Storage":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"String", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "locationName":"prefix" - }, - "AWSAccessKeyId":{"shape":"String"}, - "UploadPolicy":{ - "shape":"Blob", - "locationName":"uploadPolicy" - }, - "UploadPolicySignature":{ - "shape":"String", - "locationName":"uploadPolicySignature" - } - } - }, - "ScheduledInstance":{ - "type":"structure", - "members":{ - "ScheduledInstanceId":{ - "shape":"String", - "locationName":"scheduledInstanceId" - }, - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "NetworkPlatform":{ - "shape":"String", - "locationName":"networkPlatform" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "SlotDurationInHours":{ - "shape":"Integer", - "locationName":"slotDurationInHours" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrence", - "locationName":"recurrence" - }, - "PreviousSlotEndTime":{ - "shape":"DateTime", - "locationName":"previousSlotEndTime" - }, - "NextSlotStartTime":{ - "shape":"DateTime", - "locationName":"nextSlotStartTime" - }, - "HourlyPrice":{ - "shape":"String", - "locationName":"hourlyPrice" - }, - "TotalScheduledInstanceHours":{ - "shape":"Integer", - "locationName":"totalScheduledInstanceHours" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "TermStartDate":{ - "shape":"DateTime", - "locationName":"termStartDate" - }, - "TermEndDate":{ - "shape":"DateTime", - "locationName":"termEndDate" - }, - "CreateDate":{ - "shape":"DateTime", - "locationName":"createDate" - } - } - }, - "ScheduledInstanceAvailability":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "NetworkPlatform":{ - "shape":"String", - "locationName":"networkPlatform" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "PurchaseToken":{ - "shape":"String", - "locationName":"purchaseToken" - }, - "SlotDurationInHours":{ - "shape":"Integer", - "locationName":"slotDurationInHours" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrence", - "locationName":"recurrence" - }, - "FirstSlotStartTime":{ - "shape":"DateTime", - "locationName":"firstSlotStartTime" - }, - "HourlyPrice":{ - "shape":"String", - "locationName":"hourlyPrice" - }, - "TotalScheduledInstanceHours":{ - "shape":"Integer", - "locationName":"totalScheduledInstanceHours" - }, - "AvailableInstanceCount":{ - "shape":"Integer", - "locationName":"availableInstanceCount" - }, - "MinTermDurationInDays":{ - "shape":"Integer", - "locationName":"minTermDurationInDays" - }, - "MaxTermDurationInDays":{ - "shape":"Integer", - "locationName":"maxTermDurationInDays" - } - } - }, - "ScheduledInstanceAvailabilitySet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstanceAvailability", - "locationName":"item" - } - }, - "ScheduledInstanceIdRequestSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ScheduledInstanceId" - } - }, - "ScheduledInstanceRecurrence":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"String", - "locationName":"frequency" - }, - "Interval":{ - "shape":"Integer", - "locationName":"interval" - }, - "OccurrenceDaySet":{ - "shape":"OccurrenceDaySet", - "locationName":"occurrenceDaySet" - }, - "OccurrenceRelativeToEnd":{ - "shape":"Boolean", - "locationName":"occurrenceRelativeToEnd" - }, - "OccurrenceUnit":{ - "shape":"String", - "locationName":"occurrenceUnit" - } - } - }, - "ScheduledInstanceRecurrenceRequest":{ - "type":"structure", - "members":{ - "Frequency":{"shape":"String"}, - "Interval":{"shape":"Integer"}, - "OccurrenceDays":{ - "shape":"OccurrenceDayRequestSet", - "locationName":"OccurrenceDay" - }, - "OccurrenceRelativeToEnd":{"shape":"Boolean"}, - "OccurrenceUnit":{"shape":"String"} - } - }, - "ScheduledInstanceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstance", - "locationName":"item" - } - }, - "ScheduledInstancesBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{"shape":"String"}, - "NoDevice":{"shape":"String"}, - "VirtualName":{"shape":"String"}, - "Ebs":{"shape":"ScheduledInstancesEbs"} - } - }, - "ScheduledInstancesBlockDeviceMappingSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesBlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "ScheduledInstancesEbs":{ - "type":"structure", - "members":{ - "SnapshotId":{"shape":"String"}, - "VolumeSize":{"shape":"Integer"}, - "DeleteOnTermination":{"shape":"Boolean"}, - "VolumeType":{"shape":"String"}, - "Iops":{"shape":"Integer"}, - "Encrypted":{"shape":"Boolean"} - } - }, - "ScheduledInstancesIamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{"shape":"String"}, - "Name":{"shape":"String"} - } - }, - "ScheduledInstancesLaunchSpecification":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "ImageId":{"shape":"String"}, - "KeyName":{"shape":"String"}, - "SecurityGroupIds":{ - "shape":"ScheduledInstancesSecurityGroupIdSet", - "locationName":"SecurityGroupId" - }, - "UserData":{"shape":"String"}, - "Placement":{"shape":"ScheduledInstancesPlacement"}, - "KernelId":{"shape":"String"}, - "InstanceType":{"shape":"String"}, - "RamdiskId":{"shape":"String"}, - "BlockDeviceMappings":{ - "shape":"ScheduledInstancesBlockDeviceMappingSet", - "locationName":"BlockDeviceMapping" - }, - "Monitoring":{"shape":"ScheduledInstancesMonitoring"}, - "SubnetId":{"shape":"String"}, - "NetworkInterfaces":{ - "shape":"ScheduledInstancesNetworkInterfaceSet", - "locationName":"NetworkInterface" - }, - "IamInstanceProfile":{"shape":"ScheduledInstancesIamInstanceProfile"}, - "EbsOptimized":{"shape":"Boolean"} - } - }, - "ScheduledInstancesMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{"shape":"Boolean"} - } - }, - "ScheduledInstancesNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{"shape":"String"}, - "DeviceIndex":{"shape":"Integer"}, - "SubnetId":{"shape":"String"}, - "Description":{"shape":"String"}, - "PrivateIpAddress":{"shape":"String"}, - "PrivateIpAddressConfigs":{ - "shape":"PrivateIpAddressConfigSet", - "locationName":"PrivateIpAddressConfig" - }, - "SecondaryPrivateIpAddressCount":{"shape":"Integer"}, - "AssociatePublicIpAddress":{"shape":"Boolean"}, - "Groups":{ - "shape":"ScheduledInstancesSecurityGroupIdSet", - "locationName":"Group" - }, - "DeleteOnTermination":{"shape":"Boolean"} - } - }, - "ScheduledInstancesNetworkInterfaceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesNetworkInterface", - "locationName":"NetworkInterface" - } - }, - "ScheduledInstancesPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{"shape":"String"}, - "GroupName":{"shape":"String"} - } - }, - "ScheduledInstancesPrivateIpAddressConfig":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{"shape":"String"}, - "Primary":{"shape":"Boolean"} - } - }, - "ScheduledInstancesSecurityGroupIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "Description":{ - "shape":"String", - "locationName":"groupDescription" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "locationName":"ipPermissions" - }, - "IpPermissionsEgress":{ - "shape":"IpPermissionList", - "locationName":"ipPermissionsEgress" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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", - "locationName":"groupId" - }, - "ReferencingVpcId":{ - "shape":"String", - "locationName":"referencingVpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "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"}, - "LatestTime":{"shape":"DateTime"} - } - }, - "SlotStartTimeRangeRequest":{ - "type":"structure", - "members":{ - "EarliestTime":{"shape":"DateTime"}, - "LatestTime":{"shape":"DateTime"} - } - }, - "Snapshot":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "State":{ - "shape":"SnapshotState", - "locationName":"status" - }, - "StateMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "VolumeSize":{ - "shape":"Integer", - "locationName":"volumeSize" - }, - "OwnerAlias":{ - "shape":"String", - "locationName":"ownerAlias" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - }, - "DataEncryptionKeyId":{ - "shape":"String", - "locationName":"dataEncryptionKeyId" - } - } - }, - "SnapshotAttributeName":{ - "type":"string", - "enum":[ - "productCodes", - "createVolumePermission" - ] - }, - "SnapshotDetail":{ - "type":"structure", - "members":{ - "DiskImageSize":{ - "shape":"Double", - "locationName":"diskImageSize" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Format":{ - "shape":"String", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "locationName":"userBucket" - }, - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "SnapshotDetailList":{ - "type":"list", - "member":{ - "shape":"SnapshotDetail", - "locationName":"item" - } - }, - "SnapshotDiskContainer":{ - "type":"structure", - "members":{ - "Description":{"shape":"String"}, - "Format":{"shape":"String"}, - "Url":{"shape":"String"}, - "UserBucket":{"shape":"UserBucket"} - } - }, - "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", - "locationName":"diskImageSize" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Format":{ - "shape":"String", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "locationName":"userBucket" - }, - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "SpotDatafeedSubscription":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Bucket":{ - "shape":"String", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "locationName":"prefix" - }, - "State":{ - "shape":"DatafeedSubscriptionState", - "locationName":"state" - }, - "Fault":{ - "shape":"SpotInstanceStateFault", - "locationName":"fault" - } - } - }, - "SpotFleetLaunchSpecification":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "UserData":{ - "shape":"String", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "Monitoring":{ - "shape":"SpotFleetMonitoring", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "WeightedCapacity":{ - "shape":"Double", - "locationName":"weightedCapacity" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - } - } - }, - "SpotFleetMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "locationName":"enabled" - } - } - }, - "SpotFleetRequestConfig":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "SpotFleetRequestState", - "SpotFleetRequestConfig", - "CreateTime" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "SpotFleetRequestState":{ - "shape":"BatchState", - "locationName":"spotFleetRequestState" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "locationName":"spotFleetRequestConfig" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - }, - "ActivityStatus":{ - "shape":"ActivityStatus", - "locationName":"activityStatus" - } - } - }, - "SpotFleetRequestConfigData":{ - "type":"structure", - "required":[ - "SpotPrice", - "TargetCapacity", - "IamFleetRole", - "LaunchSpecifications" - ], - "members":{ - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "TargetCapacity":{ - "shape":"Integer", - "locationName":"targetCapacity" - }, - "ValidFrom":{ - "shape":"DateTime", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "locationName":"validUntil" - }, - "TerminateInstancesWithExpiration":{ - "shape":"Boolean", - "locationName":"terminateInstancesWithExpiration" - }, - "IamFleetRole":{ - "shape":"String", - "locationName":"iamFleetRole" - }, - "LaunchSpecifications":{ - "shape":"LaunchSpecsList", - "locationName":"launchSpecifications" - }, - "ExcessCapacityTerminationPolicy":{ - "shape":"ExcessCapacityTerminationPolicy", - "locationName":"excessCapacityTerminationPolicy" - }, - "AllocationStrategy":{ - "shape":"AllocationStrategy", - "locationName":"allocationStrategy" - }, - "FulfilledCapacity":{ - "shape":"Double", - "locationName":"fulfilledCapacity" - }, - "Type":{ - "shape":"FleetType", - "locationName":"type" - } - } - }, - "SpotFleetRequestConfigSet":{ - "type":"list", - "member":{ - "shape":"SpotFleetRequestConfig", - "locationName":"item" - } - }, - "SpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "Type":{ - "shape":"SpotInstanceType", - "locationName":"type" - }, - "State":{ - "shape":"SpotInstanceState", - "locationName":"state" - }, - "Fault":{ - "shape":"SpotInstanceStateFault", - "locationName":"fault" - }, - "Status":{ - "shape":"SpotInstanceStatus", - "locationName":"status" - }, - "ValidFrom":{ - "shape":"DateTime", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "locationName":"validUntil" - }, - "LaunchGroup":{ - "shape":"String", - "locationName":"launchGroup" - }, - "AvailabilityZoneGroup":{ - "shape":"String", - "locationName":"availabilityZoneGroup" - }, - "LaunchSpecification":{ - "shape":"LaunchSpecification", - "locationName":"launchSpecification" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "BlockDurationMinutes":{ - "shape":"Integer", - "locationName":"blockDurationMinutes" - }, - "ActualBlockHourlyPrice":{ - "shape":"String", - "locationName":"actualBlockHourlyPrice" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "LaunchedAvailabilityZone":{ - "shape":"String", - "locationName":"launchedAvailabilityZone" - } - } - }, - "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", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "SpotInstanceStatus":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "UpdateTime":{ - "shape":"DateTime", - "locationName":"updateTime" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "SpotInstanceType":{ - "type":"string", - "enum":[ - "one-time", - "persistent" - ] - }, - "SpotPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - } - } - }, - "SpotPrice":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "Timestamp":{ - "shape":"DateTime", - "locationName":"timestamp" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - } - } - }, - "SpotPriceHistoryList":{ - "type":"list", - "member":{ - "shape":"SpotPrice", - "locationName":"item" - } - }, - "StaleIpPermission":{ - "type":"structure", - "members":{ - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "IpRanges":{ - "shape":"IpRanges", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "shape":"PrefixListIdSet", - "locationName":"prefixListIds" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairSet", - "locationName":"groups" - } - } - }, - "StaleIpPermissionSet":{ - "type":"list", - "member":{ - "shape":"StaleIpPermission", - "locationName":"item" - } - }, - "StaleSecurityGroup":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "StaleIpPermissions":{ - "shape":"StaleIpPermissionSet", - "locationName":"staleIpPermissions" - }, - "StaleIpPermissionsEgress":{ - "shape":"StaleIpPermissionSet", - "locationName":"staleIpPermissionsEgress" - } - } - }, - "StaleSecurityGroupSet":{ - "type":"list", - "member":{ - "shape":"StaleSecurityGroup", - "locationName":"item" - } - }, - "StartInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "AdditionalInfo":{ - "shape":"String", - "locationName":"additionalInfo" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "StartInstancesResult":{ - "type":"structure", - "members":{ - "StartingInstances":{ - "shape":"InstanceStateChangeList", - "locationName":"instancesSet" - } - } - }, - "State":{ - "type":"string", - "enum":[ - "Pending", - "Available", - "Deleting", - "Deleted" - ] - }, - "StateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Force":{ - "shape":"Boolean", - "locationName":"force" - } - } - }, - "StopInstancesResult":{ - "type":"structure", - "members":{ - "StoppingInstances":{ - "shape":"InstanceStateChangeList", - "locationName":"instancesSet" - } - } - }, - "Storage":{ - "type":"structure", - "members":{ - "S3":{"shape":"S3Storage"} - } - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "State":{ - "shape":"SubnetState", - "locationName":"state" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "AvailableIpAddressCount":{ - "shape":"Integer", - "locationName":"availableIpAddressCount" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "DefaultForAz":{ - "shape":"Boolean", - "locationName":"defaultForAz" - }, - "MapPublicIpOnLaunch":{ - "shape":"Boolean", - "locationName":"mapPublicIpOnLaunch" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "locationName":"value" - } - } - }, - "TagDescription":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"String", - "locationName":"resourceId" - }, - "ResourceType":{ - "shape":"ResourceType", - "locationName":"resourceType" - }, - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "locationName":"value" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "TerminateInstancesResult":{ - "type":"structure", - "members":{ - "TerminatingInstances":{ - "shape":"InstanceStateChangeList", - "locationName":"instancesSet" - } - } - }, - "TrafficType":{ - "type":"string", - "enum":[ - "ACCEPT", - "REJECT", - "ALL" - ] - }, - "UnassignPrivateIpAddressesRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "PrivateIpAddresses" - ], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "locationName":"privateIpAddress" - } - } - }, - "UnmonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "UnmonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "locationName":"instancesSet" - } - } - }, - "UnsuccessfulItem":{ - "type":"structure", - "required":["Error"], - "members":{ - "ResourceId":{ - "shape":"String", - "locationName":"resourceId" - }, - "Error":{ - "shape":"UnsuccessfulItemError", - "locationName":"error" - } - } - }, - "UnsuccessfulItemError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "UnsuccessfulItemList":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UnsuccessfulItemSet":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UserBucket":{ - "type":"structure", - "members":{ - "S3Bucket":{"shape":"String"}, - "S3Key":{"shape":"String"} - } - }, - "UserBucketDetails":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "locationName":"s3Key" - } - } - }, - "UserData":{ - "type":"structure", - "members":{ - "Data":{ - "shape":"String", - "locationName":"data" - } - } - }, - "UserGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserGroup" - } - }, - "UserIdGroupPair":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "locationName":"userId" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - }, - "PeeringStatus":{ - "shape":"String", - "locationName":"peeringStatus" - } - } - }, - "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", - "locationName":"outsideIpAddress" - }, - "Status":{ - "shape":"TelemetryStatus", - "locationName":"status" - }, - "LastStatusChange":{ - "shape":"DateTime", - "locationName":"lastStatusChange" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "AcceptedRouteCount":{ - "shape":"Integer", - "locationName":"acceptedRouteCount" - } - } - }, - "VgwTelemetryList":{ - "type":"list", - "member":{ - "shape":"VgwTelemetry", - "locationName":"item" - } - }, - "VirtualizationType":{ - "type":"string", - "enum":[ - "hvm", - "paravirtual" - ] - }, - "Volume":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "Size":{ - "shape":"Integer", - "locationName":"size" - }, - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "State":{ - "shape":"VolumeState", - "locationName":"status" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - }, - "Attachments":{ - "shape":"VolumeAttachmentList", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "VolumeType":{ - "shape":"VolumeType", - "locationName":"volumeType" - }, - "Iops":{ - "shape":"Integer", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - } - } - }, - "VolumeAttachment":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Device":{ - "shape":"String", - "locationName":"device" - }, - "State":{ - "shape":"VolumeAttachmentState", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "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", - "locationName":"size" - } - } - }, - "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", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "EventType":{ - "shape":"String", - "locationName":"eventType" - }, - "EventId":{ - "shape":"String", - "locationName":"eventId" - } - } - }, - "VolumeStatusActionsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusAction", - "locationName":"item" - } - }, - "VolumeStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"VolumeStatusName", - "locationName":"name" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "VolumeStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusDetails", - "locationName":"item" - } - }, - "VolumeStatusEvent":{ - "type":"structure", - "members":{ - "EventType":{ - "shape":"String", - "locationName":"eventType" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "NotBefore":{ - "shape":"DateTime", - "locationName":"notBefore" - }, - "NotAfter":{ - "shape":"DateTime", - "locationName":"notAfter" - }, - "EventId":{ - "shape":"String", - "locationName":"eventId" - } - } - }, - "VolumeStatusEventsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusEvent", - "locationName":"item" - } - }, - "VolumeStatusInfo":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"VolumeStatusInfoStatus", - "locationName":"status" - }, - "Details":{ - "shape":"VolumeStatusDetailsList", - "locationName":"details" - } - } - }, - "VolumeStatusInfoStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data" - ] - }, - "VolumeStatusItem":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "VolumeStatus":{ - "shape":"VolumeStatusInfo", - "locationName":"volumeStatus" - }, - "Events":{ - "shape":"VolumeStatusEventsList", - "locationName":"eventsSet" - }, - "Actions":{ - "shape":"VolumeStatusActionsList", - "locationName":"actionsSet" - } - } - }, - "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", - "locationName":"vpcId" - }, - "State":{ - "shape":"VpcState", - "locationName":"state" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "DhcpOptionsId":{ - "shape":"String", - "locationName":"dhcpOptionsId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "IsDefault":{ - "shape":"Boolean", - "locationName":"isDefault" - } - } - }, - "VpcAttachment":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "State":{ - "shape":"AttachmentStatus", - "locationName":"state" - } - } - }, - "VpcAttachmentList":{ - "type":"list", - "member":{ - "shape":"VpcAttachment", - "locationName":"item" - } - }, - "VpcAttributeName":{ - "type":"string", - "enum":[ - "enableDnsSupport", - "enableDnsHostnames" - ] - }, - "VpcClassicLink":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "ClassicLinkEnabled":{ - "shape":"Boolean", - "locationName":"classicLinkEnabled" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "VpcClassicLinkIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcClassicLinkList":{ - "type":"list", - "member":{ - "shape":"VpcClassicLink", - "locationName":"item" - } - }, - "VpcEndpoint":{ - "type":"structure", - "members":{ - "VpcEndpointId":{ - "shape":"String", - "locationName":"vpcEndpointId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "ServiceName":{ - "shape":"String", - "locationName":"serviceName" - }, - "State":{ - "shape":"State", - "locationName":"state" - }, - "PolicyDocument":{ - "shape":"String", - "locationName":"policyDocument" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "locationName":"routeTableIdSet" - }, - "CreationTimestamp":{ - "shape":"DateTime", - "locationName":"creationTimestamp" - } - } - }, - "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", - "locationName":"accepterVpcInfo" - }, - "ExpirationTime":{ - "shape":"DateTime", - "locationName":"expirationTime" - }, - "RequesterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "locationName":"requesterVpcInfo" - }, - "Status":{ - "shape":"VpcPeeringConnectionStateReason", - "locationName":"status" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "VpcPeeringConnectionList":{ - "type":"list", - "member":{ - "shape":"VpcPeeringConnection", - "locationName":"item" - } - }, - "VpcPeeringConnectionOptionsDescription":{ - "type":"structure", - "members":{ - "AllowEgressFromLocalClassicLinkToRemoteVpc":{ - "shape":"Boolean", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - }, - "AllowDnsResolutionFromRemoteVpc":{ - "shape":"Boolean", - "locationName":"allowDnsResolutionFromRemoteVpc" - } - } - }, - "VpcPeeringConnectionStateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"VpcPeeringConnectionStateReasonCode", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "VpcPeeringConnectionStateReasonCode":{ - "type":"string", - "enum":[ - "initiating-request", - "pending-acceptance", - "active", - "deleted", - "rejected", - "failed", - "expired", - "provisioning", - "deleting" - ] - }, - "VpcPeeringConnectionVpcInfo":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "PeeringOptions":{ - "shape":"VpcPeeringConnectionOptionsDescription", - "locationName":"peeringOptions" - } - } - }, - "VpcState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "VpnConnection":{ - "type":"structure", - "members":{ - "VpnConnectionId":{ - "shape":"String", - "locationName":"vpnConnectionId" - }, - "State":{ - "shape":"VpnState", - "locationName":"state" - }, - "CustomerGatewayConfiguration":{ - "shape":"String", - "locationName":"customerGatewayConfiguration" - }, - "Type":{ - "shape":"GatewayType", - "locationName":"type" - }, - "CustomerGatewayId":{ - "shape":"String", - "locationName":"customerGatewayId" - }, - "VpnGatewayId":{ - "shape":"String", - "locationName":"vpnGatewayId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "VgwTelemetry":{ - "shape":"VgwTelemetryList", - "locationName":"vgwTelemetry" - }, - "Options":{ - "shape":"VpnConnectionOptions", - "locationName":"options" - }, - "Routes":{ - "shape":"VpnStaticRouteList", - "locationName":"routes" - } - } - }, - "VpnConnectionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnConnectionId" - } - }, - "VpnConnectionList":{ - "type":"list", - "member":{ - "shape":"VpnConnection", - "locationName":"item" - } - }, - "VpnConnectionOptions":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "locationName":"staticRoutesOnly" - } - } - }, - "VpnConnectionOptionsSpecification":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "locationName":"staticRoutesOnly" - } - } - }, - "VpnGateway":{ - "type":"structure", - "members":{ - "VpnGatewayId":{ - "shape":"String", - "locationName":"vpnGatewayId" - }, - "State":{ - "shape":"VpnState", - "locationName":"state" - }, - "Type":{ - "shape":"GatewayType", - "locationName":"type" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "VpcAttachments":{ - "shape":"VpcAttachmentList", - "locationName":"attachments" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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", - "locationName":"destinationCidrBlock" - }, - "Source":{ - "shape":"VpnStaticRouteSource", - "locationName":"source" - }, - "State":{ - "shape":"VpnState", - "locationName":"state" - } - } - }, - "VpnStaticRouteList":{ - "type":"list", - "member":{ - "shape":"VpnStaticRoute", - "locationName":"item" - } - }, - "VpnStaticRouteSource":{ - "type":"string", - "enum":["Static"] - }, - "ZoneNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ZoneName" - } - } - } -} diff --git a/models/apis/ec2/2016-04-01/docs-2.json b/models/apis/ec2/2016-04-01/docs-2.json deleted file mode 100644 index 86d81627032..00000000000 --- a/models/apis/ec2/2016-04-01/docs-2.json +++ /dev/null @@ -1,6582 +0,0 @@ -{ - "version": "2.0", - "service": "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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Attaches a network interface to an instance.

", - "AttachVolume": "

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:

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": "

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": "

[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": "

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": "

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": "

Cancels a bundling operation for an instance store-backed Windows instance.

", - "CancelConversionTask": "

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": "

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": "

Cancels an in-process import virtual machine or import snapshot task.

", - "CancelReservedInstancesListing": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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.

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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:

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

", - "DeleteDhcpOptions": "

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": "

Deletes one or more flow logs.

", - "DeleteInternetGateway": "

Deletes the specified Internet gateway. You must detach the Internet gateway from the VPC before you can delete it.

", - "DeleteKeyPair": "

Deletes the specified key pair, by removing the public key from Amazon EC2.

", - "DeleteNatGateway": "

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": "

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": "

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

", - "DeleteNetworkInterface": "

Deletes the specified network interface. You must detach the network interface before you can delete it.

", - "DeletePlacementGroup": "

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": "

Deletes the specified route from the specified route table.

", - "DeleteRouteTable": "

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": "

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": "

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": "

Deletes the data feed for Spot instances.

", - "DeleteSubnet": "

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

", - "DeleteTags": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Describes attributes of your AWS account. The following are the supported account attributes:

", - "DescribeAddresses": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Describes one or more of your export tasks.

", - "DescribeFlowLogs": "

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": "

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": "

Describes Dedicated Host Reservations which are associated with Dedicated Hosts in your account.

", - "DescribeHosts": "

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": "

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": "

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": "

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

", - "DescribeImages": "

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": "

Displays details about an import virtual machine or import snapshot tasks that are already created.

", - "DescribeImportSnapshotTasks": "

Describes your import snapshot tasks.

", - "DescribeInstanceAttribute": "

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": "

Describes the status of one or more instances. By default, only running instances are described, unless specified otherwise.

Instance status includes the following components:

", - "DescribeInstances": "

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": "

Describes one or more of your Internet gateways.

", - "DescribeKeyPairs": "

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": "

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": "

Describes one or more of the your NAT gateways.

", - "DescribeNetworkAcls": "

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": "

Describes a network interface attribute. You can specify only one attribute at a time.

", - "DescribeNetworkInterfaces": "

Describes one or more of your network interfaces.

", - "DescribePlacementGroups": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Describes one or more of your Scheduled Instances.

", - "DescribeSecurityGroupReferences": "

[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": "

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": "

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": "

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:

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": "

Describes the data feed for Spot instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

", - "DescribeSpotFleetInstances": "

Describes the running instances for the specified Spot fleet.

", - "DescribeSpotFleetRequestHistory": "

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": "

Describes your Spot fleet requests.

", - "DescribeSpotInstanceRequests": "

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": "

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": "

[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": "

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": "

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": "

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": "

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": "

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": "

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

", - "DescribeVpcClassicLink": "

Describes the ClassicLink status of one or more VPCs.

", - "DescribeVpcClassicLinkDnsSupport": "

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": "

Describes all supported AWS services that can be specified when creating a VPC endpoint.

", - "DescribeVpcEndpoints": "

Describes one or more of your VPC endpoints.

", - "DescribeVpcPeeringConnections": "

Describes one or more of your VPC peering connections.

", - "DescribeVpcs": "

Describes one or more of your VPCs.

", - "DescribeVpnConnections": "

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": "

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": "

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": "

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": "

Detaches a network interface from an instance.

", - "DetachVolume": "

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": "

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": "

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

", - "DisableVpcClassicLink": "

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

", - "DisableVpcClassicLinkDnsSupport": "

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": "

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": "

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": "

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

", - "EnableVolumeIO": "

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

", - "EnableVpcClassicLink": "

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": "

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": "

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": "

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

", - "GetHostReservationPurchasePreview": "

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": "

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": "

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": "

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": "

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": "

Imports a disk into an EBS snapshot.

", - "ImportVolume": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Modifies the specified network interface attribute. You can specify only one attribute at a time.

", - "ModifyReservedInstances": "

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": "

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": "

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": "

Modifies a subnet attribute.

", - "ModifyVolumeAttribute": "

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": "

Modifies the specified attribute of the specified VPC.

", - "ModifyVpcEndpoint": "

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": "

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

", - "ResetInstanceAttribute": "

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": "

Resets a network interface attribute. You can specify only one attribute at a time.

", - "ResetSnapshotAttribute": "

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": "

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": "

[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": "

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": "

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": "

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": "

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": "

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": "

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": "

Unassigns one or more secondary private IP addresses from a network interface.

", - "UnmonitorInstances": "

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": { - "base": "

Contains the parameters for AcceptVpcPeeringConnection.

", - "refs": { - } - }, - "AcceptVpcPeeringConnectionResult": { - "base": "

Contains the output of AcceptVpcPeeringConnection.

", - "refs": { - } - }, - "AccountAttribute": { - "base": "

Describes an account attribute.

", - "refs": { - "AccountAttributeList$member": null - } - }, - "AccountAttributeList": { - "base": null, - "refs": { - "DescribeAccountAttributesResult$AccountAttributes": "

Information about one or more account attributes.

" - } - }, - "AccountAttributeName": { - "base": null, - "refs": { - "AccountAttributeNameStringList$member": null - } - }, - "AccountAttributeNameStringList": { - "base": null, - "refs": { - "DescribeAccountAttributesRequest$AttributeNames": "

One or more account attribute names.

" - } - }, - "AccountAttributeValue": { - "base": "

Describes a value of an account attribute.

", - "refs": { - "AccountAttributeValueList$member": null - } - }, - "AccountAttributeValueList": { - "base": null, - "refs": { - "AccountAttribute$AttributeValues": "

One or more values for the account attribute.

" - } - }, - "ActiveInstance": { - "base": "

Describes a running instance in a Spot fleet.

", - "refs": { - "ActiveInstanceSet$member": null - } - }, - "ActiveInstanceSet": { - "base": null, - "refs": { - "DescribeSpotFleetInstancesResponse$ActiveInstances": "

The running instances. Note that this list is refreshed periodically and might be out of date.

" - } - }, - "ActivityStatus": { - "base": null, - "refs": { - "SpotFleetRequestConfig$ActivityStatus": "

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.

" - } - }, - "Address": { - "base": "

Describes an Elastic IP address.

", - "refs": { - "AddressList$member": null - } - }, - "AddressList": { - "base": null, - "refs": { - "DescribeAddressesResult$Addresses": "

Information about one or more Elastic IP addresses.

" - } - }, - "Affinity": { - "base": null, - "refs": { - "ModifyInstancePlacementRequest$Affinity": "

The new affinity setting for the instance.

" - } - }, - "AllocateAddressRequest": { - "base": "

Contains the parameters for AllocateAddress.

", - "refs": { - } - }, - "AllocateAddressResult": { - "base": "

Contains the output of AllocateAddress.

", - "refs": { - } - }, - "AllocateHostsRequest": { - "base": "

Contains the parameters for AllocateHosts.

", - "refs": { - } - }, - "AllocateHostsResult": { - "base": "

Contains the output of AllocateHosts.

", - "refs": { - } - }, - "AllocationIdList": { - "base": null, - "refs": { - "DescribeAddressesRequest$AllocationIds": "

[EC2-VPC] One or more allocation IDs.

Default: Describes all your Elastic IP addresses.

" - } - }, - "AllocationState": { - "base": null, - "refs": { - "Host$State": "

The Dedicated Host's state.

" - } - }, - "AllocationStrategy": { - "base": null, - "refs": { - "SpotFleetRequestConfigData$AllocationStrategy": "

Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The default is lowestPrice.

" - } - }, - "ArchitectureValues": { - "base": null, - "refs": { - "Image$Architecture": "

The architecture of the image.

", - "ImportInstanceLaunchSpecification$Architecture": "

The architecture of the instance.

", - "Instance$Architecture": "

The architecture of the image.

", - "RegisterImageRequest$Architecture": "

The architecture of the AMI.

Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture specified in the manifest file.

" - } - }, - "AssignPrivateIpAddressesRequest": { - "base": "

Contains the parameters for AssignPrivateIpAddresses.

", - "refs": { - } - }, - "AssociateAddressRequest": { - "base": "

Contains the parameters for AssociateAddress.

", - "refs": { - } - }, - "AssociateAddressResult": { - "base": "

Contains the output of AssociateAddress.

", - "refs": { - } - }, - "AssociateDhcpOptionsRequest": { - "base": "

Contains the parameters for AssociateDhcpOptions.

", - "refs": { - } - }, - "AssociateRouteTableRequest": { - "base": "

Contains the parameters for AssociateRouteTable.

", - "refs": { - } - }, - "AssociateRouteTableResult": { - "base": "

Contains the output of AssociateRouteTable.

", - "refs": { - } - }, - "AttachClassicLinkVpcRequest": { - "base": "

Contains the parameters for AttachClassicLinkVpc.

", - "refs": { - } - }, - "AttachClassicLinkVpcResult": { - "base": "

Contains the output of AttachClassicLinkVpc.

", - "refs": { - } - }, - "AttachInternetGatewayRequest": { - "base": "

Contains the parameters for AttachInternetGateway.

", - "refs": { - } - }, - "AttachNetworkInterfaceRequest": { - "base": "

Contains the parameters for AttachNetworkInterface.

", - "refs": { - } - }, - "AttachNetworkInterfaceResult": { - "base": "

Contains the output of AttachNetworkInterface.

", - "refs": { - } - }, - "AttachVolumeRequest": { - "base": "

Contains the parameters for AttachVolume.

", - "refs": { - } - }, - "AttachVpnGatewayRequest": { - "base": "

Contains the parameters for AttachVpnGateway.

", - "refs": { - } - }, - "AttachVpnGatewayResult": { - "base": "

Contains the output of AttachVpnGateway.

", - "refs": { - } - }, - "AttachmentStatus": { - "base": null, - "refs": { - "EbsInstanceBlockDevice$Status": "

The attachment state.

", - "InstanceNetworkInterfaceAttachment$Status": "

The attachment state.

", - "InternetGatewayAttachment$State": "

The current state of the attachment.

", - "NetworkInterfaceAttachment$Status": "

The attachment state.

", - "VpcAttachment$State": "

The current state of the attachment.

" - } - }, - "AttributeBooleanValue": { - "base": "

Describes a value for a resource attribute that is a Boolean value.

", - "refs": { - "DescribeNetworkInterfaceAttributeResult$SourceDestCheck": "

Indicates whether source/destination checking is enabled.

", - "DescribeVolumeAttributeResult$AutoEnableIO": "

The state of autoEnableIO attribute.

", - "DescribeVpcAttributeResult$EnableDnsSupport": "

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.

", - "DescribeVpcAttributeResult$EnableDnsHostnames": "

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.

", - "InstanceAttribute$DisableApiTermination": "

If the value is true, you can't terminate the instance through the Amazon EC2 console, CLI, or API; otherwise, you can.

", - "InstanceAttribute$EbsOptimized": "

Indicates whether the instance is optimized for EBS I/O.

", - "InstanceAttribute$EnaSupport": "

Indicates whether enhanced networking with ENA is enabled.

", - "InstanceAttribute$SourceDestCheck": "

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.

", - "ModifyInstanceAttributeRequest$SourceDestCheck": "

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.

", - "ModifyInstanceAttributeRequest$DisableApiTermination": "

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.

", - "ModifyInstanceAttributeRequest$EbsOptimized": "

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.

", - "ModifyInstanceAttributeRequest$EnaSupport": "

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.

", - "ModifyNetworkInterfaceAttributeRequest$SourceDestCheck": "

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.

", - "ModifySubnetAttributeRequest$MapPublicIpOnLaunch": "

Specify true to indicate that instances launched into the specified subnet should be assigned public IP address.

", - "ModifyVolumeAttributeRequest$AutoEnableIO": "

Indicates whether the volume should be auto-enabled for I/O operations.

", - "ModifyVpcAttributeRequest$EnableDnsSupport": "

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.

", - "ModifyVpcAttributeRequest$EnableDnsHostnames": "

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.

" - } - }, - "AttributeValue": { - "base": "

Describes a value for a resource attribute that is a String.

", - "refs": { - "DescribeNetworkInterfaceAttributeResult$Description": "

The description of the network interface.

", - "DhcpConfigurationValueList$member": null, - "ImageAttribute$KernelId": "

The kernel ID.

", - "ImageAttribute$RamdiskId": "

The RAM disk ID.

", - "ImageAttribute$Description": "

A description for the AMI.

", - "ImageAttribute$SriovNetSupport": "

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "InstanceAttribute$InstanceType": "

The instance type.

", - "InstanceAttribute$KernelId": "

The kernel ID.

", - "InstanceAttribute$RamdiskId": "

The RAM disk ID.

", - "InstanceAttribute$UserData": "

The user data.

", - "InstanceAttribute$InstanceInitiatedShutdownBehavior": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "InstanceAttribute$RootDeviceName": "

The name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "InstanceAttribute$SriovNetSupport": "

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "ModifyImageAttributeRequest$Description": "

A description for the AMI.

", - "ModifyInstanceAttributeRequest$InstanceType": "

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.

", - "ModifyInstanceAttributeRequest$Kernel": "

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.

", - "ModifyInstanceAttributeRequest$Ramdisk": "

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.

", - "ModifyInstanceAttributeRequest$InstanceInitiatedShutdownBehavior": "

Specifies whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "ModifyInstanceAttributeRequest$SriovNetSupport": "

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.

", - "ModifyNetworkInterfaceAttributeRequest$Description": "

A description for the network interface.

" - } - }, - "AuthorizeSecurityGroupEgressRequest": { - "base": "

Contains the parameters for AuthorizeSecurityGroupEgress.

", - "refs": { - } - }, - "AuthorizeSecurityGroupIngressRequest": { - "base": "

Contains the parameters for AuthorizeSecurityGroupIngress.

", - "refs": { - } - }, - "AutoPlacement": { - "base": null, - "refs": { - "AllocateHostsRequest$AutoPlacement": "

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

", - "Host$AutoPlacement": "

Whether auto-placement is on or off.

", - "ModifyHostsRequest$AutoPlacement": "

Specify whether to enable or disable auto-placement.

" - } - }, - "AvailabilityZone": { - "base": "

Describes an Availability Zone.

", - "refs": { - "AvailabilityZoneList$member": null - } - }, - "AvailabilityZoneList": { - "base": null, - "refs": { - "DescribeAvailabilityZonesResult$AvailabilityZones": "

Information about one or more Availability Zones.

" - } - }, - "AvailabilityZoneMessage": { - "base": "

Describes a message about an Availability Zone.

", - "refs": { - "AvailabilityZoneMessageList$member": null - } - }, - "AvailabilityZoneMessageList": { - "base": null, - "refs": { - "AvailabilityZone$Messages": "

Any messages about the Availability Zone.

" - } - }, - "AvailabilityZoneState": { - "base": null, - "refs": { - "AvailabilityZone$State": "

The state of the Availability Zone.

" - } - }, - "AvailableCapacity": { - "base": "

The capacity information for instances launched onto the Dedicated Host.

", - "refs": { - "Host$AvailableCapacity": "

The number of new instances that can be launched onto the Dedicated Host.

" - } - }, - "AvailableInstanceCapacityList": { - "base": null, - "refs": { - "AvailableCapacity$AvailableInstanceCapacity": "

The total number of instances that the Dedicated Host supports.

" - } - }, - "BatchState": { - "base": null, - "refs": { - "CancelSpotFleetRequestsSuccessItem$CurrentSpotFleetRequestState": "

The current state of the Spot fleet request.

", - "CancelSpotFleetRequestsSuccessItem$PreviousSpotFleetRequestState": "

The previous state of the Spot fleet request.

", - "SpotFleetRequestConfig$SpotFleetRequestState": "

The state of the Spot fleet request.

" - } - }, - "Blob": { - "base": null, - "refs": { - "BlobAttributeValue$Value": null, - "ImportKeyPairRequest$PublicKeyMaterial": "

The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

", - "S3Storage$UploadPolicy": "

An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

" - } - }, - "BlobAttributeValue": { - "base": null, - "refs": { - "ModifyInstanceAttributeRequest$UserData": "

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.

" - } - }, - "BlockDeviceMapping": { - "base": "

Describes a block device mapping.

", - "refs": { - "BlockDeviceMappingList$member": null, - "BlockDeviceMappingRequestList$member": null - } - }, - "BlockDeviceMappingList": { - "base": null, - "refs": { - "Image$BlockDeviceMappings": "

Any block device mapping entries.

", - "ImageAttribute$BlockDeviceMappings": "

One or more block device mapping entries.

", - "LaunchSpecification$BlockDeviceMappings": "

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.

", - "RequestSpotLaunchSpecification$BlockDeviceMappings": "

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.

", - "SpotFleetLaunchSpecification$BlockDeviceMappings": "

One or more block device mapping entries.

" - } - }, - "BlockDeviceMappingRequestList": { - "base": null, - "refs": { - "CreateImageRequest$BlockDeviceMappings": "

Information about one or more block device mappings.

", - "RegisterImageRequest$BlockDeviceMappings": "

One or more block device mapping entries.

", - "RunInstancesRequest$BlockDeviceMappings": "

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.

" - } - }, - "Boolean": { - "base": null, - "refs": { - "AcceptVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AllocateAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AssignPrivateIpAddressesRequest$AllowReassignment": "

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.

", - "AssociateAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AssociateAddressRequest$AllowReassociation": "

[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.

", - "AssociateDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AssociateRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachClassicLinkVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachClassicLinkVpcResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "AttachInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachVpnGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttributeBooleanValue$Value": "

The attribute value. The valid values are true or false.

", - "AuthorizeSecurityGroupEgressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AuthorizeSecurityGroupIngressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "BundleInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelBundleTaskRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelConversionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelImportTaskRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelSpotFleetRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelSpotFleetRequestsRequest$TerminateInstances": "

Indicates whether to terminate instances for a Spot fleet request if it is canceled successfully.

", - "CancelSpotInstanceRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ClassicLinkDnsSupport$ClassicLinkDnsSupported": "

Indicates whether ClassicLink DNS support is enabled for the VPC.

", - "ConfirmProductInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ConfirmProductInstanceResult$Return": "

The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance.

", - "CopyImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CopyImageRequest$Encrypted": "

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.

", - "CopySnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CopySnapshotRequest$Encrypted": "

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.

", - "CreateCustomerGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateImageRequest$NoReboot": "

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.

", - "CreateInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateNetworkAclEntryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateNetworkAclEntryRequest$Egress": "

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

", - "CreateNetworkAclRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreatePlacementGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateRouteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateRouteResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "CreateRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSecurityGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSpotDatafeedSubscriptionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSubnetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateTagsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVolumeRequest$Encrypted": "

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.

", - "CreateVpcEndpointRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpnConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpnGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteCustomerGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteNetworkAclEntryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteNetworkAclEntryRequest$Egress": "

Indicates whether the rule is an egress rule.

", - "DeleteNetworkAclRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeletePlacementGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteRouteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSecurityGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSpotDatafeedSubscriptionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSubnetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteTagsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpcEndpointsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpcPeeringConnectionResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DeleteVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpnConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpnGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeregisterImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeAccountAttributesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeAddressesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeAvailabilityZonesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeBundleTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeClassicLinkInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeConversionTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeCustomerGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImagesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImportImageTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImportSnapshotTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInstanceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInstanceStatusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInstanceStatusRequest$IncludeAllInstances": "

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

", - "DescribeInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInternetGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeKeyPairsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeMovingAddressesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeNetworkAclsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeNetworkInterfacesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribePlacementGroupsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribePrefixListsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeRegionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeReservedInstancesOfferingsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeReservedInstancesOfferingsRequest$IncludeMarketplace": "

Include Reserved Instance Marketplace offerings in the response.

", - "DescribeReservedInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeRouteTablesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeScheduledInstanceAvailabilityRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeScheduledInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSecurityGroupReferencesRequest$DryRun": "

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.

", - "DescribeSecurityGroupsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSnapshotAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSnapshotsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotDatafeedSubscriptionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotFleetInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotFleetRequestHistoryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotFleetRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotInstanceRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotPriceHistoryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeStaleSecurityGroupsRequest$DryRun": "

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.

", - "DescribeSubnetsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeTagsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVolumeAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVolumeStatusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVolumesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcEndpointServicesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcEndpointsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcPeeringConnectionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpnConnectionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpnGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachClassicLinkVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachClassicLinkVpcResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DetachInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachNetworkInterfaceRequest$Force": "

Specifies whether to force a detachment.

", - "DetachVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachVolumeRequest$Force": "

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$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DisableVpcClassicLinkDnsSupportResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DisableVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DisableVpcClassicLinkResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DisassociateAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DisassociateRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "EbsBlockDevice$DeleteOnTermination": "

Indicates whether the EBS volume is deleted on instance termination.

", - "EbsBlockDevice$Encrypted": "

Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption.

", - "EbsInstanceBlockDevice$DeleteOnTermination": "

Indicates whether the volume is deleted on instance termination.

", - "EbsInstanceBlockDeviceSpecification$DeleteOnTermination": "

Indicates whether the volume is deleted on instance termination.

", - "EnableVolumeIORequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "EnableVpcClassicLinkDnsSupportResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "EnableVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "EnableVpcClassicLinkResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "GetConsoleOutputRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "GetConsoleScreenshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "GetConsoleScreenshotRequest$WakeUp": "

When set to true, acts as keystroke input and wakes up an instance that's in standby or \"sleep\" mode.

", - "GetPasswordDataRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "IdFormat$UseLongIds": "

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

", - "Image$Public": "

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.

", - "Image$EnaSupport": "

Specifies whether enhanced networking with ENA is enabled.

", - "ImportImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportInstanceLaunchSpecification$Monitoring": "

Indicates whether monitoring is enabled.

", - "ImportInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportSnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "Instance$SourceDestCheck": "

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.

", - "Instance$EbsOptimized": "

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.

", - "Instance$EnaSupport": "

Specifies whether enhanced networking with ENA is enabled.

", - "InstanceNetworkInterface$SourceDestCheck": "

Indicates whether to validate network traffic to or from this network interface.

", - "InstanceNetworkInterfaceAttachment$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "InstanceNetworkInterfaceSpecification$DeleteOnTermination": "

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.

", - "InstanceNetworkInterfaceSpecification$AssociatePublicIpAddress": "

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.

", - "InstancePrivateIpAddress$Primary": "

Indicates whether this IP address is the primary private IP address of the network interface.

", - "LaunchSpecification$EbsOptimized": "

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

", - "ModifyIdFormatRequest$UseLongIds": "

Indicate whether the resource should use longer IDs (17-character IDs).

", - "ModifyIdentityIdFormatRequest$UseLongIds": "

Indicates whether the resource should use longer IDs (17-character IDs)

", - "ModifyImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyInstanceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyInstancePlacementResult$Return": "

Is true if the request succeeds, and an error otherwise.

", - "ModifyNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifySnapshotAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifySpotFleetRequestResponse$Return": "

Is true if the request succeeds, and an error otherwise.

", - "ModifyVolumeAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyVpcEndpointRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyVpcEndpointRequest$ResetPolicy": "

Specify true to reset the policy document to the default policy. The default policy allows access to the service.

", - "ModifyVpcEndpointResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "ModifyVpcPeeringConnectionOptionsRequest$DryRun": "

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.

", - "MonitorInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "MoveAddressToVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "NetworkAcl$IsDefault": "

Indicates whether this is the default network ACL for the VPC.

", - "NetworkAclEntry$Egress": "

Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

", - "NetworkInterface$RequesterManaged": "

Indicates whether the network interface is being managed by AWS.

", - "NetworkInterface$SourceDestCheck": "

Indicates whether traffic to or from the instance is validated.

", - "NetworkInterfaceAttachment$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "NetworkInterfaceAttachmentChanges$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "NetworkInterfacePrivateIpAddress$Primary": "

Indicates whether this IP address is the primary private IP address of the network interface.

", - "PeeringConnectionOptions$AllowEgressFromLocalClassicLinkToRemoteVpc": "

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.

", - "PeeringConnectionOptions$AllowEgressFromLocalVpcToRemoteClassicLink": "

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.

", - "PeeringConnectionOptions$AllowDnsResolutionFromRemoteVpc": "

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

", - "PeeringConnectionOptionsRequest$AllowEgressFromLocalClassicLinkToRemoteVpc": "

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.

", - "PeeringConnectionOptionsRequest$AllowEgressFromLocalVpcToRemoteClassicLink": "

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.

", - "PeeringConnectionOptionsRequest$AllowDnsResolutionFromRemoteVpc": "

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

", - "PriceSchedule$Active": "

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.

", - "PrivateIpAddressSpecification$Primary": "

Indicates whether the private IP address is the primary private IP address. Only one IP address can be designated as primary.

", - "PurchaseReservedInstancesOfferingRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "PurchaseScheduledInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RebootInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RegisterImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RegisterImageRequest$EnaSupport": "

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.

", - "RejectVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RejectVpcPeeringConnectionResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "ReleaseAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceNetworkAclAssociationRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceNetworkAclEntryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceNetworkAclEntryRequest$Egress": "

Indicates whether to replace the egress rule.

Default: If no value is specified, we replace the ingress rule.

", - "ReplaceRouteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceRouteTableAssociationRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReportInstanceStatusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RequestSpotFleetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RequestSpotInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RequestSpotLaunchSpecification$EbsOptimized": "

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

", - "ReservedInstancesOffering$Marketplace": "

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.

", - "ResetImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ResetInstanceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ResetNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ResetSnapshotAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RestoreAddressToClassicRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RevokeSecurityGroupEgressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RevokeSecurityGroupIngressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RouteTableAssociation$Main": "

Indicates whether this is the main route table.

", - "RunInstancesMonitoringEnabled$Enabled": "

Indicates whether monitoring is enabled for the instance.

", - "RunInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RunInstancesRequest$DisableApiTermination": "

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

", - "RunInstancesRequest$EbsOptimized": "

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

", - "RunScheduledInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ScheduledInstanceRecurrence$OccurrenceRelativeToEnd": "

Indicates whether the occurrence is relative to the end of the specified week or month.

", - "ScheduledInstanceRecurrenceRequest$OccurrenceRelativeToEnd": "

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.

", - "ScheduledInstancesEbs$DeleteOnTermination": "

Indicates whether the volume is deleted on instance termination.

", - "ScheduledInstancesEbs$Encrypted": "

Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

", - "ScheduledInstancesLaunchSpecification$EbsOptimized": "

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

", - "ScheduledInstancesMonitoring$Enabled": "

Indicates whether monitoring is enabled.

", - "ScheduledInstancesNetworkInterface$AssociatePublicIpAddress": "

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.

", - "ScheduledInstancesNetworkInterface$DeleteOnTermination": "

Indicates whether to delete the interface when the instance is terminated.

", - "ScheduledInstancesPrivateIpAddressConfig$Primary": "

Indicates whether this is a primary IP address. Otherwise, this is a secondary IP address.

", - "Snapshot$Encrypted": "

Indicates whether the snapshot is encrypted.

", - "SpotFleetLaunchSpecification$EbsOptimized": "

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

", - "SpotFleetMonitoring$Enabled": "

Enables monitoring for the instance.

Default: false

", - "SpotFleetRequestConfigData$TerminateInstancesWithExpiration": "

Indicates whether running Spot instances should be terminated when the Spot fleet request expires.

", - "StartInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "StopInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "StopInstancesRequest$Force": "

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

", - "Subnet$DefaultForAz": "

Indicates whether this is the default subnet for the Availability Zone.

", - "Subnet$MapPublicIpOnLaunch": "

Indicates whether instances launched in this subnet receive a public IP address.

", - "TerminateInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "UnmonitorInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "Volume$Encrypted": "

Indicates whether the volume will be encrypted.

", - "VolumeAttachment$DeleteOnTermination": "

Indicates whether the EBS volume is deleted on instance termination.

", - "Vpc$IsDefault": "

Indicates whether the VPC is the default VPC.

", - "VpcClassicLink$ClassicLinkEnabled": "

Indicates whether the VPC is enabled for ClassicLink.

", - "VpcPeeringConnectionOptionsDescription$AllowEgressFromLocalClassicLinkToRemoteVpc": "

Indicates whether a local ClassicLink connection can communicate with the peer VPC over the VPC peering connection.

", - "VpcPeeringConnectionOptionsDescription$AllowEgressFromLocalVpcToRemoteClassicLink": "

Indicates whether a local VPC can communicate with a ClassicLink connection in the peer VPC over the VPC peering connection.

", - "VpcPeeringConnectionOptionsDescription$AllowDnsResolutionFromRemoteVpc": "

Indicates whether a local VPC can resolve public DNS hostnames to private IP addresses when queried from instances in a peer VPC.

", - "VpnConnectionOptions$StaticRoutesOnly": "

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "VpnConnectionOptionsSpecification$StaticRoutesOnly": "

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

" - } - }, - "BundleIdStringList": { - "base": null, - "refs": { - "DescribeBundleTasksRequest$BundleIds": "

One or more bundle task IDs.

Default: Describes all your bundle tasks.

" - } - }, - "BundleInstanceRequest": { - "base": "

Contains the parameters for BundleInstance.

", - "refs": { - } - }, - "BundleInstanceResult": { - "base": "

Contains the output of BundleInstance.

", - "refs": { - } - }, - "BundleTask": { - "base": "

Describes a bundle task.

", - "refs": { - "BundleInstanceResult$BundleTask": "

Information about the bundle task.

", - "BundleTaskList$member": null, - "CancelBundleTaskResult$BundleTask": "

Information about the bundle task.

" - } - }, - "BundleTaskError": { - "base": "

Describes an error for BundleInstance.

", - "refs": { - "BundleTask$BundleTaskError": "

If the task fails, a description of the error.

" - } - }, - "BundleTaskList": { - "base": null, - "refs": { - "DescribeBundleTasksResult$BundleTasks": "

Information about one or more bundle tasks.

" - } - }, - "BundleTaskState": { - "base": null, - "refs": { - "BundleTask$State": "

The state of the task.

" - } - }, - "CancelBatchErrorCode": { - "base": null, - "refs": { - "CancelSpotFleetRequestsError$Code": "

The error code.

" - } - }, - "CancelBundleTaskRequest": { - "base": "

Contains the parameters for CancelBundleTask.

", - "refs": { - } - }, - "CancelBundleTaskResult": { - "base": "

Contains the output of CancelBundleTask.

", - "refs": { - } - }, - "CancelConversionRequest": { - "base": "

Contains the parameters for CancelConversionTask.

", - "refs": { - } - }, - "CancelExportTaskRequest": { - "base": "

Contains the parameters for CancelExportTask.

", - "refs": { - } - }, - "CancelImportTaskRequest": { - "base": "

Contains the parameters for CancelImportTask.

", - "refs": { - } - }, - "CancelImportTaskResult": { - "base": "

Contains the output for CancelImportTask.

", - "refs": { - } - }, - "CancelReservedInstancesListingRequest": { - "base": "

Contains the parameters for CancelReservedInstancesListing.

", - "refs": { - } - }, - "CancelReservedInstancesListingResult": { - "base": "

Contains the output of CancelReservedInstancesListing.

", - "refs": { - } - }, - "CancelSpotFleetRequestsError": { - "base": "

Describes a Spot fleet error.

", - "refs": { - "CancelSpotFleetRequestsErrorItem$Error": "

The error.

" - } - }, - "CancelSpotFleetRequestsErrorItem": { - "base": "

Describes a Spot fleet request that was not successfully canceled.

", - "refs": { - "CancelSpotFleetRequestsErrorSet$member": null - } - }, - "CancelSpotFleetRequestsErrorSet": { - "base": null, - "refs": { - "CancelSpotFleetRequestsResponse$UnsuccessfulFleetRequests": "

Information about the Spot fleet requests that are not successfully canceled.

" - } - }, - "CancelSpotFleetRequestsRequest": { - "base": "

Contains the parameters for CancelSpotFleetRequests.

", - "refs": { - } - }, - "CancelSpotFleetRequestsResponse": { - "base": "

Contains the output of CancelSpotFleetRequests.

", - "refs": { - } - }, - "CancelSpotFleetRequestsSuccessItem": { - "base": "

Describes a Spot fleet request that was successfully canceled.

", - "refs": { - "CancelSpotFleetRequestsSuccessSet$member": null - } - }, - "CancelSpotFleetRequestsSuccessSet": { - "base": null, - "refs": { - "CancelSpotFleetRequestsResponse$SuccessfulFleetRequests": "

Information about the Spot fleet requests that are successfully canceled.

" - } - }, - "CancelSpotInstanceRequestState": { - "base": null, - "refs": { - "CancelledSpotInstanceRequest$State": "

The state of the Spot instance request.

" - } - }, - "CancelSpotInstanceRequestsRequest": { - "base": "

Contains the parameters for CancelSpotInstanceRequests.

", - "refs": { - } - }, - "CancelSpotInstanceRequestsResult": { - "base": "

Contains the output of CancelSpotInstanceRequests.

", - "refs": { - } - }, - "CancelledSpotInstanceRequest": { - "base": "

Describes a request to cancel a Spot instance.

", - "refs": { - "CancelledSpotInstanceRequestList$member": null - } - }, - "CancelledSpotInstanceRequestList": { - "base": null, - "refs": { - "CancelSpotInstanceRequestsResult$CancelledSpotInstanceRequests": "

One or more Spot instance requests.

" - } - }, - "ClassicLinkDnsSupport": { - "base": "

Describes the ClassicLink DNS support status of a VPC.

", - "refs": { - "ClassicLinkDnsSupportList$member": null - } - }, - "ClassicLinkDnsSupportList": { - "base": null, - "refs": { - "DescribeVpcClassicLinkDnsSupportResult$Vpcs": "

Information about the ClassicLink DNS support status of the VPCs.

" - } - }, - "ClassicLinkInstance": { - "base": "

Describes a linked EC2-Classic instance.

", - "refs": { - "ClassicLinkInstanceList$member": null - } - }, - "ClassicLinkInstanceList": { - "base": null, - "refs": { - "DescribeClassicLinkInstancesResult$Instances": "

Information about one or more linked EC2-Classic instances.

" - } - }, - "ClientData": { - "base": "

Describes the client-specific data.

", - "refs": { - "ImportImageRequest$ClientData": "

The client-specific data.

", - "ImportSnapshotRequest$ClientData": "

The client-specific data.

" - } - }, - "ConfirmProductInstanceRequest": { - "base": "

Contains the parameters for ConfirmProductInstance.

", - "refs": { - } - }, - "ConfirmProductInstanceResult": { - "base": "

Contains the output of ConfirmProductInstance.

", - "refs": { - } - }, - "ContainerFormat": { - "base": null, - "refs": { - "ExportToS3Task$ContainerFormat": "

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

", - "ExportToS3TaskSpecification$ContainerFormat": "

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

" - } - }, - "ConversionIdStringList": { - "base": null, - "refs": { - "DescribeConversionTasksRequest$ConversionTaskIds": "

One or more conversion task IDs.

" - } - }, - "ConversionTask": { - "base": "

Describes a conversion task.

", - "refs": { - "DescribeConversionTaskList$member": null, - "ImportInstanceResult$ConversionTask": "

Information about the conversion task.

", - "ImportVolumeResult$ConversionTask": "

Information about the conversion task.

" - } - }, - "ConversionTaskState": { - "base": null, - "refs": { - "ConversionTask$State": "

The state of the conversion task.

" - } - }, - "CopyImageRequest": { - "base": "

Contains the parameters for CopyImage.

", - "refs": { - } - }, - "CopyImageResult": { - "base": "

Contains the output of CopyImage.

", - "refs": { - } - }, - "CopySnapshotRequest": { - "base": "

Contains the parameters for CopySnapshot.

", - "refs": { - } - }, - "CopySnapshotResult": { - "base": "

Contains the output of CopySnapshot.

", - "refs": { - } - }, - "CreateCustomerGatewayRequest": { - "base": "

Contains the parameters for CreateCustomerGateway.

", - "refs": { - } - }, - "CreateCustomerGatewayResult": { - "base": "

Contains the output of CreateCustomerGateway.

", - "refs": { - } - }, - "CreateDhcpOptionsRequest": { - "base": "

Contains the parameters for CreateDhcpOptions.

", - "refs": { - } - }, - "CreateDhcpOptionsResult": { - "base": "

Contains the output of CreateDhcpOptions.

", - "refs": { - } - }, - "CreateFlowLogsRequest": { - "base": "

Contains the parameters for CreateFlowLogs.

", - "refs": { - } - }, - "CreateFlowLogsResult": { - "base": "

Contains the output of CreateFlowLogs.

", - "refs": { - } - }, - "CreateImageRequest": { - "base": "

Contains the parameters for CreateImage.

", - "refs": { - } - }, - "CreateImageResult": { - "base": "

Contains the output of CreateImage.

", - "refs": { - } - }, - "CreateInstanceExportTaskRequest": { - "base": "

Contains the parameters for CreateInstanceExportTask.

", - "refs": { - } - }, - "CreateInstanceExportTaskResult": { - "base": "

Contains the output for CreateInstanceExportTask.

", - "refs": { - } - }, - "CreateInternetGatewayRequest": { - "base": "

Contains the parameters for CreateInternetGateway.

", - "refs": { - } - }, - "CreateInternetGatewayResult": { - "base": "

Contains the output of CreateInternetGateway.

", - "refs": { - } - }, - "CreateKeyPairRequest": { - "base": "

Contains the parameters for CreateKeyPair.

", - "refs": { - } - }, - "CreateNatGatewayRequest": { - "base": "

Contains the parameters for CreateNatGateway.

", - "refs": { - } - }, - "CreateNatGatewayResult": { - "base": "

Contains the output of CreateNatGateway.

", - "refs": { - } - }, - "CreateNetworkAclEntryRequest": { - "base": "

Contains the parameters for CreateNetworkAclEntry.

", - "refs": { - } - }, - "CreateNetworkAclRequest": { - "base": "

Contains the parameters for CreateNetworkAcl.

", - "refs": { - } - }, - "CreateNetworkAclResult": { - "base": "

Contains the output of CreateNetworkAcl.

", - "refs": { - } - }, - "CreateNetworkInterfaceRequest": { - "base": "

Contains the parameters for CreateNetworkInterface.

", - "refs": { - } - }, - "CreateNetworkInterfaceResult": { - "base": "

Contains the output of CreateNetworkInterface.

", - "refs": { - } - }, - "CreatePlacementGroupRequest": { - "base": "

Contains the parameters for CreatePlacementGroup.

", - "refs": { - } - }, - "CreateReservedInstancesListingRequest": { - "base": "

Contains the parameters for CreateReservedInstancesListing.

", - "refs": { - } - }, - "CreateReservedInstancesListingResult": { - "base": "

Contains the output of CreateReservedInstancesListing.

", - "refs": { - } - }, - "CreateRouteRequest": { - "base": "

Contains the parameters for CreateRoute.

", - "refs": { - } - }, - "CreateRouteResult": { - "base": "

Contains the output of CreateRoute.

", - "refs": { - } - }, - "CreateRouteTableRequest": { - "base": "

Contains the parameters for CreateRouteTable.

", - "refs": { - } - }, - "CreateRouteTableResult": { - "base": "

Contains the output of CreateRouteTable.

", - "refs": { - } - }, - "CreateSecurityGroupRequest": { - "base": "

Contains the parameters for CreateSecurityGroup.

", - "refs": { - } - }, - "CreateSecurityGroupResult": { - "base": "

Contains the output of CreateSecurityGroup.

", - "refs": { - } - }, - "CreateSnapshotRequest": { - "base": "

Contains the parameters for CreateSnapshot.

", - "refs": { - } - }, - "CreateSpotDatafeedSubscriptionRequest": { - "base": "

Contains the parameters for CreateSpotDatafeedSubscription.

", - "refs": { - } - }, - "CreateSpotDatafeedSubscriptionResult": { - "base": "

Contains the output of CreateSpotDatafeedSubscription.

", - "refs": { - } - }, - "CreateSubnetRequest": { - "base": "

Contains the parameters for CreateSubnet.

", - "refs": { - } - }, - "CreateSubnetResult": { - "base": "

Contains the output of CreateSubnet.

", - "refs": { - } - }, - "CreateTagsRequest": { - "base": "

Contains the parameters for CreateTags.

", - "refs": { - } - }, - "CreateVolumePermission": { - "base": "

Describes the user or group to be added or removed from the permissions for a volume.

", - "refs": { - "CreateVolumePermissionList$member": null - } - }, - "CreateVolumePermissionList": { - "base": null, - "refs": { - "CreateVolumePermissionModifications$Add": "

Adds a specific AWS account ID or group to a volume's list of create volume permissions.

", - "CreateVolumePermissionModifications$Remove": "

Removes a specific AWS account ID or group from a volume's list of create volume permissions.

", - "DescribeSnapshotAttributeResult$CreateVolumePermissions": "

A list of permissions for creating volumes from the snapshot.

" - } - }, - "CreateVolumePermissionModifications": { - "base": "

Describes modifications to the permissions for a volume.

", - "refs": { - "ModifySnapshotAttributeRequest$CreateVolumePermission": "

A JSON representation of the snapshot attribute modification.

" - } - }, - "CreateVolumeRequest": { - "base": "

Contains the parameters for CreateVolume.

", - "refs": { - } - }, - "CreateVpcEndpointRequest": { - "base": "

Contains the parameters for CreateVpcEndpoint.

", - "refs": { - } - }, - "CreateVpcEndpointResult": { - "base": "

Contains the output of CreateVpcEndpoint.

", - "refs": { - } - }, - "CreateVpcPeeringConnectionRequest": { - "base": "

Contains the parameters for CreateVpcPeeringConnection.

", - "refs": { - } - }, - "CreateVpcPeeringConnectionResult": { - "base": "

Contains the output of CreateVpcPeeringConnection.

", - "refs": { - } - }, - "CreateVpcRequest": { - "base": "

Contains the parameters for CreateVpc.

", - "refs": { - } - }, - "CreateVpcResult": { - "base": "

Contains the output of CreateVpc.

", - "refs": { - } - }, - "CreateVpnConnectionRequest": { - "base": "

Contains the parameters for CreateVpnConnection.

", - "refs": { - } - }, - "CreateVpnConnectionResult": { - "base": "

Contains the output of CreateVpnConnection.

", - "refs": { - } - }, - "CreateVpnConnectionRouteRequest": { - "base": "

Contains the parameters for CreateVpnConnectionRoute.

", - "refs": { - } - }, - "CreateVpnGatewayRequest": { - "base": "

Contains the parameters for CreateVpnGateway.

", - "refs": { - } - }, - "CreateVpnGatewayResult": { - "base": "

Contains the output of CreateVpnGateway.

", - "refs": { - } - }, - "CurrencyCodeValues": { - "base": null, - "refs": { - "GetHostReservationPurchasePreviewResult$CurrencyCode": "

The currency in which the totalUpfrontPrice and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "HostOffering$CurrencyCode": "

The currency of the offering.

", - "HostReservation$CurrencyCode": "

The currency in which the upfrontPrice and hourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "PriceSchedule$CurrencyCode": "

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", - "PriceScheduleSpecification$CurrencyCode": "

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", - "Purchase$CurrencyCode": "

The currency in which the UpfrontPrice and HourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "PurchaseHostReservationRequest$CurrencyCode": "

The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "PurchaseHostReservationResult$CurrencyCode": "

The currency in which the totalUpfrontPrice and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "ReservedInstanceLimitPrice$CurrencyCode": "

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

", - "ReservedInstances$CurrencyCode": "

The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. At this time, the only supported currency is USD.

", - "ReservedInstancesOffering$CurrencyCode": "

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.

" - } - }, - "CustomerGateway": { - "base": "

Describes a customer gateway.

", - "refs": { - "CreateCustomerGatewayResult$CustomerGateway": "

Information about the customer gateway.

", - "CustomerGatewayList$member": null - } - }, - "CustomerGatewayIdStringList": { - "base": null, - "refs": { - "DescribeCustomerGatewaysRequest$CustomerGatewayIds": "

One or more customer gateway IDs.

Default: Describes all your customer gateways.

" - } - }, - "CustomerGatewayList": { - "base": null, - "refs": { - "DescribeCustomerGatewaysResult$CustomerGateways": "

Information about one or more customer gateways.

" - } - }, - "DatafeedSubscriptionState": { - "base": null, - "refs": { - "SpotDatafeedSubscription$State": "

The state of the Spot instance data feed subscription.

" - } - }, - "DateTime": { - "base": null, - "refs": { - "BundleTask$StartTime": "

The time this task started.

", - "BundleTask$UpdateTime": "

The time of the most recent update for the task.

", - "ClientData$UploadStart": "

The time that the disk upload starts.

", - "ClientData$UploadEnd": "

The time that the disk upload ends.

", - "DescribeSpotFleetRequestHistoryRequest$StartTime": "

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "DescribeSpotFleetRequestHistoryResponse$StartTime": "

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "DescribeSpotFleetRequestHistoryResponse$LastEvaluatedTime": "

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.

", - "DescribeSpotPriceHistoryRequest$StartTime": "

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).

", - "DescribeSpotPriceHistoryRequest$EndTime": "

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).

", - "EbsInstanceBlockDevice$AttachTime": "

The time stamp when the attachment initiated.

", - "FlowLog$CreationTime": "

The date and time the flow log was created.

", - "GetConsoleOutputResult$Timestamp": "

The time the output was last updated.

", - "GetPasswordDataResult$Timestamp": "

The time the data was last updated.

", - "HistoryRecord$Timestamp": "

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "HostReservation$End": "

The date and time that the reservation ends.

", - "HostReservation$Start": "

The date and time that the reservation started.

", - "IdFormat$Deadline": "

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.

", - "Instance$LaunchTime": "

The time the instance was launched.

", - "InstanceNetworkInterfaceAttachment$AttachTime": "

The time stamp when the attachment initiated.

", - "InstanceStatusDetails$ImpairedSince": "

The time when a status check failed. For an instance that was launched and impaired, this is the time when the instance was launched.

", - "InstanceStatusEvent$NotBefore": "

The earliest scheduled start time for the event.

", - "InstanceStatusEvent$NotAfter": "

The latest scheduled end time for the event.

", - "NatGateway$CreateTime": "

The date and time the NAT gateway was created.

", - "NatGateway$DeleteTime": "

The date and time the NAT gateway was deleted, if applicable.

", - "NetworkInterfaceAttachment$AttachTime": "

The timestamp indicating when the attachment initiated.

", - "ProvisionedBandwidth$RequestTime": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "ProvisionedBandwidth$ProvisionTime": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "ReportInstanceStatusRequest$StartTime": "

The time at which the reported instance health state began.

", - "ReportInstanceStatusRequest$EndTime": "

The time at which the reported instance health state ended.

", - "RequestSpotInstancesRequest$ValidFrom": "

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.

", - "RequestSpotInstancesRequest$ValidUntil": "

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.

", - "ReservedInstances$Start": "

The date and time the Reserved Instance started.

", - "ReservedInstances$End": "

The time when the Reserved Instance expires.

", - "ReservedInstancesListing$CreateDate": "

The time the listing was created.

", - "ReservedInstancesListing$UpdateDate": "

The last modified timestamp of the listing.

", - "ReservedInstancesModification$CreateDate": "

The time when the modification request was created.

", - "ReservedInstancesModification$UpdateDate": "

The time when the modification request was last updated.

", - "ReservedInstancesModification$EffectiveDate": "

The time for the modification to become effective.

", - "ScheduledInstance$PreviousSlotEndTime": "

The time that the previous schedule ended or will end.

", - "ScheduledInstance$NextSlotStartTime": "

The time for the next schedule to start.

", - "ScheduledInstance$TermStartDate": "

The start date for the Scheduled Instance.

", - "ScheduledInstance$TermEndDate": "

The end date for the Scheduled Instance.

", - "ScheduledInstance$CreateDate": "

The date when the Scheduled Instance was purchased.

", - "ScheduledInstanceAvailability$FirstSlotStartTime": "

The time period for the first schedule to start.

", - "SlotDateTimeRangeRequest$EarliestTime": "

The earliest date and time, in UTC, for the Scheduled Instance to start.

", - "SlotDateTimeRangeRequest$LatestTime": "

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.

", - "SlotStartTimeRangeRequest$EarliestTime": "

The earliest date and time, in UTC, for the Scheduled Instance to start.

", - "SlotStartTimeRangeRequest$LatestTime": "

The latest date and time, in UTC, for the Scheduled Instance to start.

", - "Snapshot$StartTime": "

The time stamp when the snapshot was initiated.

", - "SpotFleetRequestConfig$CreateTime": "

The creation date and time of the request.

", - "SpotFleetRequestConfigData$ValidFrom": "

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.

", - "SpotFleetRequestConfigData$ValidUntil": "

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.

", - "SpotInstanceRequest$ValidFrom": "

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.

", - "SpotInstanceRequest$ValidUntil": "

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.

", - "SpotInstanceRequest$CreateTime": "

The date and time when the Spot instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "SpotInstanceStatus$UpdateTime": "

The date and time of the most recent status update, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "SpotPrice$Timestamp": "

The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "VgwTelemetry$LastStatusChange": "

The date and time of the last change in status.

", - "Volume$CreateTime": "

The time stamp when volume creation was initiated.

", - "VolumeAttachment$AttachTime": "

The time stamp when the attachment initiated.

", - "VolumeStatusEvent$NotBefore": "

The earliest start time of the event.

", - "VolumeStatusEvent$NotAfter": "

The latest end time of the event.

", - "VpcEndpoint$CreationTimestamp": "

The date and time the VPC endpoint was created.

", - "VpcPeeringConnection$ExpirationTime": "

The time that an unaccepted VPC peering connection will expire.

" - } - }, - "DeleteCustomerGatewayRequest": { - "base": "

Contains the parameters for DeleteCustomerGateway.

", - "refs": { - } - }, - "DeleteDhcpOptionsRequest": { - "base": "

Contains the parameters for DeleteDhcpOptions.

", - "refs": { - } - }, - "DeleteFlowLogsRequest": { - "base": "

Contains the parameters for DeleteFlowLogs.

", - "refs": { - } - }, - "DeleteFlowLogsResult": { - "base": "

Contains the output of DeleteFlowLogs.

", - "refs": { - } - }, - "DeleteInternetGatewayRequest": { - "base": "

Contains the parameters for DeleteInternetGateway.

", - "refs": { - } - }, - "DeleteKeyPairRequest": { - "base": "

Contains the parameters for DeleteKeyPair.

", - "refs": { - } - }, - "DeleteNatGatewayRequest": { - "base": "

Contains the parameters for DeleteNatGateway.

", - "refs": { - } - }, - "DeleteNatGatewayResult": { - "base": "

Contains the output of DeleteNatGateway.

", - "refs": { - } - }, - "DeleteNetworkAclEntryRequest": { - "base": "

Contains the parameters for DeleteNetworkAclEntry.

", - "refs": { - } - }, - "DeleteNetworkAclRequest": { - "base": "

Contains the parameters for DeleteNetworkAcl.

", - "refs": { - } - }, - "DeleteNetworkInterfaceRequest": { - "base": "

Contains the parameters for DeleteNetworkInterface.

", - "refs": { - } - }, - "DeletePlacementGroupRequest": { - "base": "

Contains the parameters for DeletePlacementGroup.

", - "refs": { - } - }, - "DeleteRouteRequest": { - "base": "

Contains the parameters for DeleteRoute.

", - "refs": { - } - }, - "DeleteRouteTableRequest": { - "base": "

Contains the parameters for DeleteRouteTable.

", - "refs": { - } - }, - "DeleteSecurityGroupRequest": { - "base": "

Contains the parameters for DeleteSecurityGroup.

", - "refs": { - } - }, - "DeleteSnapshotRequest": { - "base": "

Contains the parameters for DeleteSnapshot.

", - "refs": { - } - }, - "DeleteSpotDatafeedSubscriptionRequest": { - "base": "

Contains the parameters for DeleteSpotDatafeedSubscription.

", - "refs": { - } - }, - "DeleteSubnetRequest": { - "base": "

Contains the parameters for DeleteSubnet.

", - "refs": { - } - }, - "DeleteTagsRequest": { - "base": "

Contains the parameters for DeleteTags.

", - "refs": { - } - }, - "DeleteVolumeRequest": { - "base": "

Contains the parameters for DeleteVolume.

", - "refs": { - } - }, - "DeleteVpcEndpointsRequest": { - "base": "

Contains the parameters for DeleteVpcEndpoints.

", - "refs": { - } - }, - "DeleteVpcEndpointsResult": { - "base": "

Contains the output of DeleteVpcEndpoints.

", - "refs": { - } - }, - "DeleteVpcPeeringConnectionRequest": { - "base": "

Contains the parameters for DeleteVpcPeeringConnection.

", - "refs": { - } - }, - "DeleteVpcPeeringConnectionResult": { - "base": "

Contains the output of DeleteVpcPeeringConnection.

", - "refs": { - } - }, - "DeleteVpcRequest": { - "base": "

Contains the parameters for DeleteVpc.

", - "refs": { - } - }, - "DeleteVpnConnectionRequest": { - "base": "

Contains the parameters for DeleteVpnConnection.

", - "refs": { - } - }, - "DeleteVpnConnectionRouteRequest": { - "base": "

Contains the parameters for DeleteVpnConnectionRoute.

", - "refs": { - } - }, - "DeleteVpnGatewayRequest": { - "base": "

Contains the parameters for DeleteVpnGateway.

", - "refs": { - } - }, - "DeregisterImageRequest": { - "base": "

Contains the parameters for DeregisterImage.

", - "refs": { - } - }, - "DescribeAccountAttributesRequest": { - "base": "

Contains the parameters for DescribeAccountAttributes.

", - "refs": { - } - }, - "DescribeAccountAttributesResult": { - "base": "

Contains the output of DescribeAccountAttributes.

", - "refs": { - } - }, - "DescribeAddressesRequest": { - "base": "

Contains the parameters for DescribeAddresses.

", - "refs": { - } - }, - "DescribeAddressesResult": { - "base": "

Contains the output of DescribeAddresses.

", - "refs": { - } - }, - "DescribeAvailabilityZonesRequest": { - "base": "

Contains the parameters for DescribeAvailabilityZones.

", - "refs": { - } - }, - "DescribeAvailabilityZonesResult": { - "base": "

Contains the output of DescribeAvailabiltyZones.

", - "refs": { - } - }, - "DescribeBundleTasksRequest": { - "base": "

Contains the parameters for DescribeBundleTasks.

", - "refs": { - } - }, - "DescribeBundleTasksResult": { - "base": "

Contains the output of DescribeBundleTasks.

", - "refs": { - } - }, - "DescribeClassicLinkInstancesRequest": { - "base": "

Contains the parameters for DescribeClassicLinkInstances.

", - "refs": { - } - }, - "DescribeClassicLinkInstancesResult": { - "base": "

Contains the output of DescribeClassicLinkInstances.

", - "refs": { - } - }, - "DescribeConversionTaskList": { - "base": null, - "refs": { - "DescribeConversionTasksResult$ConversionTasks": "

Information about the conversion tasks.

" - } - }, - "DescribeConversionTasksRequest": { - "base": "

Contains the parameters for DescribeConversionTasks.

", - "refs": { - } - }, - "DescribeConversionTasksResult": { - "base": "

Contains the output for DescribeConversionTasks.

", - "refs": { - } - }, - "DescribeCustomerGatewaysRequest": { - "base": "

Contains the parameters for DescribeCustomerGateways.

", - "refs": { - } - }, - "DescribeCustomerGatewaysResult": { - "base": "

Contains the output of DescribeCustomerGateways.

", - "refs": { - } - }, - "DescribeDhcpOptionsRequest": { - "base": "

Contains the parameters for DescribeDhcpOptions.

", - "refs": { - } - }, - "DescribeDhcpOptionsResult": { - "base": "

Contains the output of DescribeDhcpOptions.

", - "refs": { - } - }, - "DescribeExportTasksRequest": { - "base": "

Contains the parameters for DescribeExportTasks.

", - "refs": { - } - }, - "DescribeExportTasksResult": { - "base": "

Contains the output for DescribeExportTasks.

", - "refs": { - } - }, - "DescribeFlowLogsRequest": { - "base": "

Contains the parameters for DescribeFlowLogs.

", - "refs": { - } - }, - "DescribeFlowLogsResult": { - "base": "

Contains the output of DescribeFlowLogs.

", - "refs": { - } - }, - "DescribeHostReservationOfferingsRequest": { - "base": null, - "refs": { - } - }, - "DescribeHostReservationOfferingsResult": { - "base": null, - "refs": { - } - }, - "DescribeHostReservationsRequest": { - "base": null, - "refs": { - } - }, - "DescribeHostReservationsResult": { - "base": null, - "refs": { - } - }, - "DescribeHostsRequest": { - "base": "

Contains the parameters for DescribeHosts.

", - "refs": { - } - }, - "DescribeHostsResult": { - "base": "

Contains the output of DescribeHosts.

", - "refs": { - } - }, - "DescribeIdFormatRequest": { - "base": "

Contains the parameters for DescribeIdFormat.

", - "refs": { - } - }, - "DescribeIdFormatResult": { - "base": "

Contains the output of DescribeIdFormat.

", - "refs": { - } - }, - "DescribeIdentityIdFormatRequest": { - "base": "

Contains the parameters for DescribeIdentityIdFormat.

", - "refs": { - } - }, - "DescribeIdentityIdFormatResult": { - "base": "

Contains the output of DescribeIdentityIdFormat.

", - "refs": { - } - }, - "DescribeImageAttributeRequest": { - "base": "

Contains the parameters for DescribeImageAttribute.

", - "refs": { - } - }, - "DescribeImagesRequest": { - "base": "

Contains the parameters for DescribeImages.

", - "refs": { - } - }, - "DescribeImagesResult": { - "base": "

Contains the output of DescribeImages.

", - "refs": { - } - }, - "DescribeImportImageTasksRequest": { - "base": "

Contains the parameters for DescribeImportImageTasks.

", - "refs": { - } - }, - "DescribeImportImageTasksResult": { - "base": "

Contains the output for DescribeImportImageTasks.

", - "refs": { - } - }, - "DescribeImportSnapshotTasksRequest": { - "base": "

Contains the parameters for DescribeImportSnapshotTasks.

", - "refs": { - } - }, - "DescribeImportSnapshotTasksResult": { - "base": "

Contains the output for DescribeImportSnapshotTasks.

", - "refs": { - } - }, - "DescribeInstanceAttributeRequest": { - "base": "

Contains the parameters for DescribeInstanceAttribute.

", - "refs": { - } - }, - "DescribeInstanceStatusRequest": { - "base": "

Contains the parameters for DescribeInstanceStatus.

", - "refs": { - } - }, - "DescribeInstanceStatusResult": { - "base": "

Contains the output of DescribeInstanceStatus.

", - "refs": { - } - }, - "DescribeInstancesRequest": { - "base": "

Contains the parameters for DescribeInstances.

", - "refs": { - } - }, - "DescribeInstancesResult": { - "base": "

Contains the output of DescribeInstances.

", - "refs": { - } - }, - "DescribeInternetGatewaysRequest": { - "base": "

Contains the parameters for DescribeInternetGateways.

", - "refs": { - } - }, - "DescribeInternetGatewaysResult": { - "base": "

Contains the output of DescribeInternetGateways.

", - "refs": { - } - }, - "DescribeKeyPairsRequest": { - "base": "

Contains the parameters for DescribeKeyPairs.

", - "refs": { - } - }, - "DescribeKeyPairsResult": { - "base": "

Contains the output of DescribeKeyPairs.

", - "refs": { - } - }, - "DescribeMovingAddressesRequest": { - "base": "

Contains the parameters for DescribeMovingAddresses.

", - "refs": { - } - }, - "DescribeMovingAddressesResult": { - "base": "

Contains the output of DescribeMovingAddresses.

", - "refs": { - } - }, - "DescribeNatGatewaysRequest": { - "base": "

Contains the parameters for DescribeNatGateways.

", - "refs": { - } - }, - "DescribeNatGatewaysResult": { - "base": "

Contains the output of DescribeNatGateways.

", - "refs": { - } - }, - "DescribeNetworkAclsRequest": { - "base": "

Contains the parameters for DescribeNetworkAcls.

", - "refs": { - } - }, - "DescribeNetworkAclsResult": { - "base": "

Contains the output of DescribeNetworkAcls.

", - "refs": { - } - }, - "DescribeNetworkInterfaceAttributeRequest": { - "base": "

Contains the parameters for DescribeNetworkInterfaceAttribute.

", - "refs": { - } - }, - "DescribeNetworkInterfaceAttributeResult": { - "base": "

Contains the output of DescribeNetworkInterfaceAttribute.

", - "refs": { - } - }, - "DescribeNetworkInterfacesRequest": { - "base": "

Contains the parameters for DescribeNetworkInterfaces.

", - "refs": { - } - }, - "DescribeNetworkInterfacesResult": { - "base": "

Contains the output of DescribeNetworkInterfaces.

", - "refs": { - } - }, - "DescribePlacementGroupsRequest": { - "base": "

Contains the parameters for DescribePlacementGroups.

", - "refs": { - } - }, - "DescribePlacementGroupsResult": { - "base": "

Contains the output of DescribePlacementGroups.

", - "refs": { - } - }, - "DescribePrefixListsRequest": { - "base": "

Contains the parameters for DescribePrefixLists.

", - "refs": { - } - }, - "DescribePrefixListsResult": { - "base": "

Contains the output of DescribePrefixLists.

", - "refs": { - } - }, - "DescribeRegionsRequest": { - "base": "

Contains the parameters for DescribeRegions.

", - "refs": { - } - }, - "DescribeRegionsResult": { - "base": "

Contains the output of DescribeRegions.

", - "refs": { - } - }, - "DescribeReservedInstancesListingsRequest": { - "base": "

Contains the parameters for DescribeReservedInstancesListings.

", - "refs": { - } - }, - "DescribeReservedInstancesListingsResult": { - "base": "

Contains the output of DescribeReservedInstancesListings.

", - "refs": { - } - }, - "DescribeReservedInstancesModificationsRequest": { - "base": "

Contains the parameters for DescribeReservedInstancesModifications.

", - "refs": { - } - }, - "DescribeReservedInstancesModificationsResult": { - "base": "

Contains the output of DescribeReservedInstancesModifications.

", - "refs": { - } - }, - "DescribeReservedInstancesOfferingsRequest": { - "base": "

Contains the parameters for DescribeReservedInstancesOfferings.

", - "refs": { - } - }, - "DescribeReservedInstancesOfferingsResult": { - "base": "

Contains the output of DescribeReservedInstancesOfferings.

", - "refs": { - } - }, - "DescribeReservedInstancesRequest": { - "base": "

Contains the parameters for DescribeReservedInstances.

", - "refs": { - } - }, - "DescribeReservedInstancesResult": { - "base": "

Contains the output for DescribeReservedInstances.

", - "refs": { - } - }, - "DescribeRouteTablesRequest": { - "base": "

Contains the parameters for DescribeRouteTables.

", - "refs": { - } - }, - "DescribeRouteTablesResult": { - "base": "

Contains the output of DescribeRouteTables.

", - "refs": { - } - }, - "DescribeScheduledInstanceAvailabilityRequest": { - "base": "

Contains the parameters for DescribeScheduledInstanceAvailability.

", - "refs": { - } - }, - "DescribeScheduledInstanceAvailabilityResult": { - "base": "

Contains the output of DescribeScheduledInstanceAvailability.

", - "refs": { - } - }, - "DescribeScheduledInstancesRequest": { - "base": "

Contains the parameters for DescribeScheduledInstances.

", - "refs": { - } - }, - "DescribeScheduledInstancesResult": { - "base": "

Contains the output of DescribeScheduledInstances.

", - "refs": { - } - }, - "DescribeSecurityGroupReferencesRequest": { - "base": null, - "refs": { - } - }, - "DescribeSecurityGroupReferencesResult": { - "base": null, - "refs": { - } - }, - "DescribeSecurityGroupsRequest": { - "base": "

Contains the parameters for DescribeSecurityGroups.

", - "refs": { - } - }, - "DescribeSecurityGroupsResult": { - "base": "

Contains the output of DescribeSecurityGroups.

", - "refs": { - } - }, - "DescribeSnapshotAttributeRequest": { - "base": "

Contains the parameters for DescribeSnapshotAttribute.

", - "refs": { - } - }, - "DescribeSnapshotAttributeResult": { - "base": "

Contains the output of DescribeSnapshotAttribute.

", - "refs": { - } - }, - "DescribeSnapshotsRequest": { - "base": "

Contains the parameters for DescribeSnapshots.

", - "refs": { - } - }, - "DescribeSnapshotsResult": { - "base": "

Contains the output of DescribeSnapshots.

", - "refs": { - } - }, - "DescribeSpotDatafeedSubscriptionRequest": { - "base": "

Contains the parameters for DescribeSpotDatafeedSubscription.

", - "refs": { - } - }, - "DescribeSpotDatafeedSubscriptionResult": { - "base": "

Contains the output of DescribeSpotDatafeedSubscription.

", - "refs": { - } - }, - "DescribeSpotFleetInstancesRequest": { - "base": "

Contains the parameters for DescribeSpotFleetInstances.

", - "refs": { - } - }, - "DescribeSpotFleetInstancesResponse": { - "base": "

Contains the output of DescribeSpotFleetInstances.

", - "refs": { - } - }, - "DescribeSpotFleetRequestHistoryRequest": { - "base": "

Contains the parameters for DescribeSpotFleetRequestHistory.

", - "refs": { - } - }, - "DescribeSpotFleetRequestHistoryResponse": { - "base": "

Contains the output of DescribeSpotFleetRequestHistory.

", - "refs": { - } - }, - "DescribeSpotFleetRequestsRequest": { - "base": "

Contains the parameters for DescribeSpotFleetRequests.

", - "refs": { - } - }, - "DescribeSpotFleetRequestsResponse": { - "base": "

Contains the output of DescribeSpotFleetRequests.

", - "refs": { - } - }, - "DescribeSpotInstanceRequestsRequest": { - "base": "

Contains the parameters for DescribeSpotInstanceRequests.

", - "refs": { - } - }, - "DescribeSpotInstanceRequestsResult": { - "base": "

Contains the output of DescribeSpotInstanceRequests.

", - "refs": { - } - }, - "DescribeSpotPriceHistoryRequest": { - "base": "

Contains the parameters for DescribeSpotPriceHistory.

", - "refs": { - } - }, - "DescribeSpotPriceHistoryResult": { - "base": "

Contains the output of DescribeSpotPriceHistory.

", - "refs": { - } - }, - "DescribeStaleSecurityGroupsRequest": { - "base": null, - "refs": { - } - }, - "DescribeStaleSecurityGroupsResult": { - "base": null, - "refs": { - } - }, - "DescribeSubnetsRequest": { - "base": "

Contains the parameters for DescribeSubnets.

", - "refs": { - } - }, - "DescribeSubnetsResult": { - "base": "

Contains the output of DescribeSubnets.

", - "refs": { - } - }, - "DescribeTagsRequest": { - "base": "

Contains the parameters for DescribeTags.

", - "refs": { - } - }, - "DescribeTagsResult": { - "base": "

Contains the output of DescribeTags.

", - "refs": { - } - }, - "DescribeVolumeAttributeRequest": { - "base": "

Contains the parameters for DescribeVolumeAttribute.

", - "refs": { - } - }, - "DescribeVolumeAttributeResult": { - "base": "

Contains the output of DescribeVolumeAttribute.

", - "refs": { - } - }, - "DescribeVolumeStatusRequest": { - "base": "

Contains the parameters for DescribeVolumeStatus.

", - "refs": { - } - }, - "DescribeVolumeStatusResult": { - "base": "

Contains the output of DescribeVolumeStatus.

", - "refs": { - } - }, - "DescribeVolumesRequest": { - "base": "

Contains the parameters for DescribeVolumes.

", - "refs": { - } - }, - "DescribeVolumesResult": { - "base": "

Contains the output of DescribeVolumes.

", - "refs": { - } - }, - "DescribeVpcAttributeRequest": { - "base": "

Contains the parameters for DescribeVpcAttribute.

", - "refs": { - } - }, - "DescribeVpcAttributeResult": { - "base": "

Contains the output of DescribeVpcAttribute.

", - "refs": { - } - }, - "DescribeVpcClassicLinkDnsSupportRequest": { - "base": "

Contains the parameters for DescribeVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "DescribeVpcClassicLinkDnsSupportResult": { - "base": "

Contains the output of DescribeVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "DescribeVpcClassicLinkRequest": { - "base": "

Contains the parameters for DescribeVpcClassicLink.

", - "refs": { - } - }, - "DescribeVpcClassicLinkResult": { - "base": "

Contains the output of DescribeVpcClassicLink.

", - "refs": { - } - }, - "DescribeVpcEndpointServicesRequest": { - "base": "

Contains the parameters for DescribeVpcEndpointServices.

", - "refs": { - } - }, - "DescribeVpcEndpointServicesResult": { - "base": "

Contains the output of DescribeVpcEndpointServices.

", - "refs": { - } - }, - "DescribeVpcEndpointsRequest": { - "base": "

Contains the parameters for DescribeVpcEndpoints.

", - "refs": { - } - }, - "DescribeVpcEndpointsResult": { - "base": "

Contains the output of DescribeVpcEndpoints.

", - "refs": { - } - }, - "DescribeVpcPeeringConnectionsRequest": { - "base": "

Contains the parameters for DescribeVpcPeeringConnections.

", - "refs": { - } - }, - "DescribeVpcPeeringConnectionsResult": { - "base": "

Contains the output of DescribeVpcPeeringConnections.

", - "refs": { - } - }, - "DescribeVpcsRequest": { - "base": "

Contains the parameters for DescribeVpcs.

", - "refs": { - } - }, - "DescribeVpcsResult": { - "base": "

Contains the output of DescribeVpcs.

", - "refs": { - } - }, - "DescribeVpnConnectionsRequest": { - "base": "

Contains the parameters for DescribeVpnConnections.

", - "refs": { - } - }, - "DescribeVpnConnectionsResult": { - "base": "

Contains the output of DescribeVpnConnections.

", - "refs": { - } - }, - "DescribeVpnGatewaysRequest": { - "base": "

Contains the parameters for DescribeVpnGateways.

", - "refs": { - } - }, - "DescribeVpnGatewaysResult": { - "base": "

Contains the output of DescribeVpnGateways.

", - "refs": { - } - }, - "DetachClassicLinkVpcRequest": { - "base": "

Contains the parameters for DetachClassicLinkVpc.

", - "refs": { - } - }, - "DetachClassicLinkVpcResult": { - "base": "

Contains the output of DetachClassicLinkVpc.

", - "refs": { - } - }, - "DetachInternetGatewayRequest": { - "base": "

Contains the parameters for DetachInternetGateway.

", - "refs": { - } - }, - "DetachNetworkInterfaceRequest": { - "base": "

Contains the parameters for DetachNetworkInterface.

", - "refs": { - } - }, - "DetachVolumeRequest": { - "base": "

Contains the parameters for DetachVolume.

", - "refs": { - } - }, - "DetachVpnGatewayRequest": { - "base": "

Contains the parameters for DetachVpnGateway.

", - "refs": { - } - }, - "DeviceType": { - "base": null, - "refs": { - "Image$RootDeviceType": "

The type of root device used by the AMI. The AMI can use an EBS volume or an instance store volume.

", - "Instance$RootDeviceType": "

The root device type used by the AMI. The AMI can use an EBS volume or an instance store volume.

" - } - }, - "DhcpConfiguration": { - "base": "

Describes a DHCP configuration option.

", - "refs": { - "DhcpConfigurationList$member": null - } - }, - "DhcpConfigurationList": { - "base": null, - "refs": { - "DhcpOptions$DhcpConfigurations": "

One or more DHCP options in the set.

" - } - }, - "DhcpConfigurationValueList": { - "base": null, - "refs": { - "DhcpConfiguration$Values": "

One or more values for the DHCP option.

" - } - }, - "DhcpOptions": { - "base": "

Describes a set of DHCP options.

", - "refs": { - "CreateDhcpOptionsResult$DhcpOptions": "

A set of DHCP options.

", - "DhcpOptionsList$member": null - } - }, - "DhcpOptionsIdStringList": { - "base": null, - "refs": { - "DescribeDhcpOptionsRequest$DhcpOptionsIds": "

The IDs of one or more DHCP options sets.

Default: Describes all your DHCP options sets.

" - } - }, - "DhcpOptionsList": { - "base": null, - "refs": { - "DescribeDhcpOptionsResult$DhcpOptions": "

Information about one or more DHCP options sets.

" - } - }, - "DisableVgwRoutePropagationRequest": { - "base": "

Contains the parameters for DisableVgwRoutePropagation.

", - "refs": { - } - }, - "DisableVpcClassicLinkDnsSupportRequest": { - "base": "

Contains the parameters for DisableVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "DisableVpcClassicLinkDnsSupportResult": { - "base": "

Contains the output of DisableVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "DisableVpcClassicLinkRequest": { - "base": "

Contains the parameters for DisableVpcClassicLink.

", - "refs": { - } - }, - "DisableVpcClassicLinkResult": { - "base": "

Contains the output of DisableVpcClassicLink.

", - "refs": { - } - }, - "DisassociateAddressRequest": { - "base": "

Contains the parameters for DisassociateAddress.

", - "refs": { - } - }, - "DisassociateRouteTableRequest": { - "base": "

Contains the parameters for DisassociateRouteTable.

", - "refs": { - } - }, - "DiskImage": { - "base": "

Describes a disk image.

", - "refs": { - "DiskImageList$member": null - } - }, - "DiskImageDescription": { - "base": "

Describes a disk image.

", - "refs": { - "ImportInstanceVolumeDetailItem$Image": "

The image.

", - "ImportVolumeTaskDetails$Image": "

The image.

" - } - }, - "DiskImageDetail": { - "base": "

Describes a disk image.

", - "refs": { - "DiskImage$Image": "

Information about the disk image.

", - "ImportVolumeRequest$Image": "

The disk image.

" - } - }, - "DiskImageFormat": { - "base": null, - "refs": { - "DiskImageDescription$Format": "

The disk image format.

", - "DiskImageDetail$Format": "

The disk image format.

", - "ExportToS3Task$DiskImageFormat": "

The format for the exported image.

", - "ExportToS3TaskSpecification$DiskImageFormat": "

The format for the exported image.

" - } - }, - "DiskImageList": { - "base": null, - "refs": { - "ImportInstanceRequest$DiskImages": "

The disk image.

" - } - }, - "DiskImageVolumeDescription": { - "base": "

Describes a disk image volume.

", - "refs": { - "ImportInstanceVolumeDetailItem$Volume": "

The volume.

", - "ImportVolumeTaskDetails$Volume": "

The volume.

" - } - }, - "DomainType": { - "base": null, - "refs": { - "Address$Domain": "

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", - "AllocateAddressRequest$Domain": "

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$Domain": "

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

" - } - }, - "Double": { - "base": null, - "refs": { - "ClientData$UploadSize": "

The size of the uploaded disk image, in GiB.

", - "PriceSchedule$Price": "

The fixed price for the term.

", - "PriceScheduleSpecification$Price": "

The fixed price for the term.

", - "PricingDetail$Price": "

The price per instance.

", - "RecurringCharge$Amount": "

The amount of the recurring charge.

", - "ReservedInstanceLimitPrice$Amount": "

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", - "SnapshotDetail$DiskImageSize": "

The size of the disk in the snapshot, in GiB.

", - "SnapshotTaskDetail$DiskImageSize": "

The size of the disk in the snapshot, in GiB.

", - "SpotFleetLaunchSpecification$WeightedCapacity": "

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.

", - "SpotFleetRequestConfigData$FulfilledCapacity": "

The number of units fulfilled by this request compared to the set target capacity.

" - } - }, - "EbsBlockDevice": { - "base": "

Describes a block device for an EBS volume.

", - "refs": { - "BlockDeviceMapping$Ebs": "

Parameters used to automatically set up EBS volumes when the instance is launched.

" - } - }, - "EbsInstanceBlockDevice": { - "base": "

Describes a parameter used to set up an EBS volume in a block device mapping.

", - "refs": { - "InstanceBlockDeviceMapping$Ebs": "

Parameters used to automatically set up EBS volumes when the instance is launched.

" - } - }, - "EbsInstanceBlockDeviceSpecification": { - "base": "

Describes information used to set up an EBS volume specified in a block device mapping.

", - "refs": { - "InstanceBlockDeviceMappingSpecification$Ebs": "

Parameters used to automatically set up EBS volumes when the instance is launched.

" - } - }, - "EnableVgwRoutePropagationRequest": { - "base": "

Contains the parameters for EnableVgwRoutePropagation.

", - "refs": { - } - }, - "EnableVolumeIORequest": { - "base": "

Contains the parameters for EnableVolumeIO.

", - "refs": { - } - }, - "EnableVpcClassicLinkDnsSupportRequest": { - "base": "

Contains the parameters for EnableVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "EnableVpcClassicLinkDnsSupportResult": { - "base": "

Contains the output of EnableVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "EnableVpcClassicLinkRequest": { - "base": "

Contains the parameters for EnableVpcClassicLink.

", - "refs": { - } - }, - "EnableVpcClassicLinkResult": { - "base": "

Contains the output of EnableVpcClassicLink.

", - "refs": { - } - }, - "EventCode": { - "base": null, - "refs": { - "InstanceStatusEvent$Code": "

The event code.

" - } - }, - "EventInformation": { - "base": "

Describes a Spot fleet event.

", - "refs": { - "HistoryRecord$EventInformation": "

Information about the event.

" - } - }, - "EventType": { - "base": null, - "refs": { - "DescribeSpotFleetRequestHistoryRequest$EventType": "

The type of events to describe. By default, all events are described.

", - "HistoryRecord$EventType": "

The event type.

" - } - }, - "ExcessCapacityTerminationPolicy": { - "base": null, - "refs": { - "ModifySpotFleetRequestRequest$ExcessCapacityTerminationPolicy": "

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.

", - "SpotFleetRequestConfigData$ExcessCapacityTerminationPolicy": "

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.

" - } - }, - "ExecutableByStringList": { - "base": null, - "refs": { - "DescribeImagesRequest$ExecutableUsers": "

Scopes the images by users with explicit launch permissions. Specify an AWS account ID, self (the sender of the request), or all (public AMIs).

" - } - }, - "ExportEnvironment": { - "base": null, - "refs": { - "CreateInstanceExportTaskRequest$TargetEnvironment": "

The target virtualization environment.

", - "InstanceExportDetails$TargetEnvironment": "

The target virtualization environment.

" - } - }, - "ExportTask": { - "base": "

Describes an instance export task.

", - "refs": { - "CreateInstanceExportTaskResult$ExportTask": "

Information about the instance export task.

", - "ExportTaskList$member": null - } - }, - "ExportTaskIdStringList": { - "base": null, - "refs": { - "DescribeExportTasksRequest$ExportTaskIds": "

One or more export task IDs.

" - } - }, - "ExportTaskList": { - "base": null, - "refs": { - "DescribeExportTasksResult$ExportTasks": "

Information about the export tasks.

" - } - }, - "ExportTaskState": { - "base": null, - "refs": { - "ExportTask$State": "

The state of the export task.

" - } - }, - "ExportToS3Task": { - "base": "

Describes the format and location for an instance export task.

", - "refs": { - "ExportTask$ExportToS3Task": "

Information about the export task.

" - } - }, - "ExportToS3TaskSpecification": { - "base": "

Describes an instance export task.

", - "refs": { - "CreateInstanceExportTaskRequest$ExportToS3Task": "

The format and location for an instance export task.

" - } - }, - "Filter": { - "base": "

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.

", - "refs": { - "FilterList$member": null - } - }, - "FilterList": { - "base": null, - "refs": { - "DescribeAddressesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", - "DescribeAvailabilityZonesRequest$Filters": "

One or more filters.

", - "DescribeBundleTasksRequest$Filters": "

One or more filters.

", - "DescribeClassicLinkInstancesRequest$Filters": "

One or more filters.

", - "DescribeConversionTasksRequest$Filters": "

One or more filters.

", - "DescribeCustomerGatewaysRequest$Filters": "

One or more filters.

", - "DescribeDhcpOptionsRequest$Filters": "

One or more filters.

", - "DescribeFlowLogsRequest$Filter": "

One or more filters.

", - "DescribeHostReservationOfferingsRequest$Filter": "

One or more filters.

", - "DescribeHostReservationsRequest$Filter": "

One or more filters.

", - "DescribeHostsRequest$Filter": "

One or more filters.

", - "DescribeImagesRequest$Filters": "

One or more filters.

", - "DescribeImportImageTasksRequest$Filters": "

Filter tasks using the task-state filter and one of the following values: active, completed, deleting, deleted.

", - "DescribeImportSnapshotTasksRequest$Filters": "

One or more filters.

", - "DescribeInstanceStatusRequest$Filters": "

One or more filters.

", - "DescribeInstancesRequest$Filters": "

One or more filters.

", - "DescribeInternetGatewaysRequest$Filters": "

One or more filters.

", - "DescribeKeyPairsRequest$Filters": "

One or more filters.

", - "DescribeMovingAddressesRequest$Filters": "

One or more filters.

", - "DescribeNatGatewaysRequest$Filter": "

One or more filters.

", - "DescribeNetworkAclsRequest$Filters": "

One or more filters.

", - "DescribeNetworkInterfacesRequest$Filters": "

One or more filters.

", - "DescribePlacementGroupsRequest$Filters": "

One or more filters.

", - "DescribePrefixListsRequest$Filters": "

One or more filters.

", - "DescribeRegionsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesListingsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesModificationsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesOfferingsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesRequest$Filters": "

One or more filters.

", - "DescribeRouteTablesRequest$Filters": "

One or more filters.

", - "DescribeScheduledInstanceAvailabilityRequest$Filters": "

One or more filters.

", - "DescribeScheduledInstancesRequest$Filters": "

One or more filters.

", - "DescribeSecurityGroupsRequest$Filters": "

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.

", - "DescribeSnapshotsRequest$Filters": "

One or more filters.

", - "DescribeSpotInstanceRequestsRequest$Filters": "

One or more filters.

", - "DescribeSpotPriceHistoryRequest$Filters": "

One or more filters.

", - "DescribeSubnetsRequest$Filters": "

One or more filters.

", - "DescribeTagsRequest$Filters": "

One or more filters.

", - "DescribeVolumeStatusRequest$Filters": "

One or more filters.

", - "DescribeVolumesRequest$Filters": "

One or more filters.

", - "DescribeVpcClassicLinkRequest$Filters": "

One or more filters.

", - "DescribeVpcEndpointsRequest$Filters": "

One or more filters.

", - "DescribeVpcPeeringConnectionsRequest$Filters": "

One or more filters.

", - "DescribeVpcsRequest$Filters": "

One or more filters.

", - "DescribeVpnConnectionsRequest$Filters": "

One or more filters.

", - "DescribeVpnGatewaysRequest$Filters": "

One or more filters.

" - } - }, - "FleetType": { - "base": null, - "refs": { - "SpotFleetRequestConfigData$Type": "

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.

" - } - }, - "Float": { - "base": null, - "refs": { - "ReservedInstances$UsagePrice": "

The usage price of the Reserved Instance, per hour.

", - "ReservedInstances$FixedPrice": "

The purchase price of the Reserved Instance.

", - "ReservedInstancesOffering$UsagePrice": "

The usage price of the Reserved Instance, per hour.

", - "ReservedInstancesOffering$FixedPrice": "

The purchase price of the Reserved Instance.

" - } - }, - "FlowLog": { - "base": "

Describes a flow log.

", - "refs": { - "FlowLogSet$member": null - } - }, - "FlowLogSet": { - "base": null, - "refs": { - "DescribeFlowLogsResult$FlowLogs": "

Information about the flow logs.

" - } - }, - "FlowLogsResourceType": { - "base": null, - "refs": { - "CreateFlowLogsRequest$ResourceType": "

The type of resource on which to create the flow log.

" - } - }, - "GatewayType": { - "base": null, - "refs": { - "CreateCustomerGatewayRequest$Type": "

The type of VPN connection that this customer gateway supports (ipsec.1).

", - "CreateVpnGatewayRequest$Type": "

The type of VPN connection this virtual private gateway supports.

", - "VpnConnection$Type": "

The type of VPN connection.

", - "VpnGateway$Type": "

The type of VPN connection the virtual private gateway supports.

" - } - }, - "GetConsoleOutputRequest": { - "base": "

Contains the parameters for GetConsoleOutput.

", - "refs": { - } - }, - "GetConsoleOutputResult": { - "base": "

Contains the output of GetConsoleOutput.

", - "refs": { - } - }, - "GetConsoleScreenshotRequest": { - "base": "

Contains the parameters for the request.

", - "refs": { - } - }, - "GetConsoleScreenshotResult": { - "base": "

Contains the output of the request.

", - "refs": { - } - }, - "GetHostReservationPurchasePreviewRequest": { - "base": null, - "refs": { - } - }, - "GetHostReservationPurchasePreviewResult": { - "base": null, - "refs": { - } - }, - "GetPasswordDataRequest": { - "base": "

Contains the parameters for GetPasswordData.

", - "refs": { - } - }, - "GetPasswordDataResult": { - "base": "

Contains the output of GetPasswordData.

", - "refs": { - } - }, - "GroupIdStringList": { - "base": null, - "refs": { - "AttachClassicLinkVpcRequest$Groups": "

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

", - "DescribeSecurityGroupsRequest$GroupIds": "

One or more security group IDs. Required for security groups in a nondefault VPC.

Default: Describes all your security groups.

", - "ModifyInstanceAttributeRequest$Groups": "

[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.

" - } - }, - "GroupIdentifier": { - "base": "

Describes a security group.

", - "refs": { - "GroupIdentifierList$member": null - } - }, - "GroupIdentifierList": { - "base": null, - "refs": { - "ClassicLinkInstance$Groups": "

A list of security groups.

", - "DescribeNetworkInterfaceAttributeResult$Groups": "

The security groups associated with the network interface.

", - "Instance$SecurityGroups": "

One or more security groups for the instance.

", - "InstanceAttribute$Groups": "

The security groups associated with the instance.

", - "InstanceNetworkInterface$Groups": "

One or more security groups.

", - "LaunchSpecification$SecurityGroups": "

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.

", - "NetworkInterface$Groups": "

Any security groups for the network interface.

", - "Reservation$Groups": "

[EC2-Classic only] One or more security groups.

", - "SpotFleetLaunchSpecification$SecurityGroups": "

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.

" - } - }, - "GroupIds": { - "base": null, - "refs": { - "DescribeSecurityGroupReferencesRequest$GroupId": "

One or more security group IDs in your account.

" - } - }, - "GroupNameStringList": { - "base": null, - "refs": { - "DescribeSecurityGroupsRequest$GroupNames": "

[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.

", - "ModifySnapshotAttributeRequest$GroupNames": "

The group to modify for the snapshot.

" - } - }, - "HistoryRecord": { - "base": "

Describes an event in the history of the Spot fleet request.

", - "refs": { - "HistoryRecords$member": null - } - }, - "HistoryRecords": { - "base": null, - "refs": { - "DescribeSpotFleetRequestHistoryResponse$HistoryRecords": "

Information about the events in the history of the Spot fleet request.

" - } - }, - "Host": { - "base": "

Describes the properties of the Dedicated Host.

", - "refs": { - "HostList$member": null - } - }, - "HostInstance": { - "base": "

Describes an instance running on a Dedicated Host.

", - "refs": { - "HostInstanceList$member": null - } - }, - "HostInstanceList": { - "base": null, - "refs": { - "Host$Instances": "

The IDs and instance type that are currently running on the Dedicated Host.

" - } - }, - "HostList": { - "base": null, - "refs": { - "DescribeHostsResult$Hosts": "

Information about the Dedicated Hosts.

" - } - }, - "HostOffering": { - "base": "

Details about the Dedicated Host Reservation offering.

", - "refs": { - "HostOfferingSet$member": null - } - }, - "HostOfferingSet": { - "base": null, - "refs": { - "DescribeHostReservationOfferingsResult$OfferingSet": "

Information about the offerings.

" - } - }, - "HostProperties": { - "base": "

Describes properties of a Dedicated Host.

", - "refs": { - "Host$HostProperties": "

The hardware specifications of the Dedicated Host.

" - } - }, - "HostReservation": { - "base": "

Details about the Dedicated Host Reservation and associated Dedicated Hosts.

", - "refs": { - "HostReservationSet$member": null - } - }, - "HostReservationIdSet": { - "base": null, - "refs": { - "DescribeHostReservationsRequest$HostReservationIdSet": "

One or more host reservation IDs.

" - } - }, - "HostReservationSet": { - "base": null, - "refs": { - "DescribeHostReservationsResult$HostReservationSet": "

Details about the reservation's configuration.

" - } - }, - "HostTenancy": { - "base": null, - "refs": { - "ModifyInstancePlacementRequest$Tenancy": "

The tenancy of the instance that you are modifying.

" - } - }, - "HypervisorType": { - "base": null, - "refs": { - "Image$Hypervisor": "

The hypervisor type of the image.

", - "Instance$Hypervisor": "

The hypervisor type of the instance.

" - } - }, - "IamInstanceProfile": { - "base": "

Describes an IAM instance profile.

", - "refs": { - "Instance$IamInstanceProfile": "

The IAM instance profile associated with the instance, if applicable.

" - } - }, - "IamInstanceProfileSpecification": { - "base": "

Describes an IAM instance profile.

", - "refs": { - "LaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

", - "RequestSpotLaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

", - "RunInstancesRequest$IamInstanceProfile": "

The IAM instance profile.

", - "SpotFleetLaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

" - } - }, - "IcmpTypeCode": { - "base": "

Describes the ICMP type and code.

", - "refs": { - "CreateNetworkAclEntryRequest$IcmpTypeCode": "

ICMP protocol: The ICMP type and code. Required if specifying ICMP for the protocol.

", - "NetworkAclEntry$IcmpTypeCode": "

ICMP protocol: The ICMP type and code.

", - "ReplaceNetworkAclEntryRequest$IcmpTypeCode": "

ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for the protocol.

" - } - }, - "IdFormat": { - "base": "

Describes the ID format for a resource.

", - "refs": { - "IdFormatList$member": null - } - }, - "IdFormatList": { - "base": null, - "refs": { - "DescribeIdFormatResult$Statuses": "

Information about the ID format for the resource.

", - "DescribeIdentityIdFormatResult$Statuses": "

Information about the ID format for the resources.

" - } - }, - "Image": { - "base": "

Describes an image.

", - "refs": { - "ImageList$member": null - } - }, - "ImageAttribute": { - "base": "

Describes an image attribute.

", - "refs": { - } - }, - "ImageAttributeName": { - "base": null, - "refs": { - "DescribeImageAttributeRequest$Attribute": "

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.

" - } - }, - "ImageDiskContainer": { - "base": "

Describes the disk container object for an import image task.

", - "refs": { - "ImageDiskContainerList$member": null - } - }, - "ImageDiskContainerList": { - "base": null, - "refs": { - "ImportImageRequest$DiskContainers": "

Information about the disk containers.

" - } - }, - "ImageIdStringList": { - "base": null, - "refs": { - "DescribeImagesRequest$ImageIds": "

One or more image IDs.

Default: Describes all images available to you.

" - } - }, - "ImageList": { - "base": null, - "refs": { - "DescribeImagesResult$Images": "

Information about one or more images.

" - } - }, - "ImageState": { - "base": null, - "refs": { - "Image$State": "

The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

" - } - }, - "ImageTypeValues": { - "base": null, - "refs": { - "Image$ImageType": "

The type of image.

" - } - }, - "ImportImageRequest": { - "base": "

Contains the parameters for ImportImage.

", - "refs": { - } - }, - "ImportImageResult": { - "base": "

Contains the output for ImportImage.

", - "refs": { - } - }, - "ImportImageTask": { - "base": "

Describes an import image task.

", - "refs": { - "ImportImageTaskList$member": null - } - }, - "ImportImageTaskList": { - "base": null, - "refs": { - "DescribeImportImageTasksResult$ImportImageTasks": "

A list of zero or more import image tasks that are currently active or were completed or canceled in the previous 7 days.

" - } - }, - "ImportInstanceLaunchSpecification": { - "base": "

Describes the launch specification for VM import.

", - "refs": { - "ImportInstanceRequest$LaunchSpecification": "

The launch specification.

" - } - }, - "ImportInstanceRequest": { - "base": "

Contains the parameters for ImportInstance.

", - "refs": { - } - }, - "ImportInstanceResult": { - "base": "

Contains the output for ImportInstance.

", - "refs": { - } - }, - "ImportInstanceTaskDetails": { - "base": "

Describes an import instance task.

", - "refs": { - "ConversionTask$ImportInstance": "

If the task is for importing an instance, this contains information about the import instance task.

" - } - }, - "ImportInstanceVolumeDetailItem": { - "base": "

Describes an import volume task.

", - "refs": { - "ImportInstanceVolumeDetailSet$member": null - } - }, - "ImportInstanceVolumeDetailSet": { - "base": null, - "refs": { - "ImportInstanceTaskDetails$Volumes": "

One or more volumes.

" - } - }, - "ImportKeyPairRequest": { - "base": "

Contains the parameters for ImportKeyPair.

", - "refs": { - } - }, - "ImportKeyPairResult": { - "base": "

Contains the output of ImportKeyPair.

", - "refs": { - } - }, - "ImportSnapshotRequest": { - "base": "

Contains the parameters for ImportSnapshot.

", - "refs": { - } - }, - "ImportSnapshotResult": { - "base": "

Contains the output for ImportSnapshot.

", - "refs": { - } - }, - "ImportSnapshotTask": { - "base": "

Describes an import snapshot task.

", - "refs": { - "ImportSnapshotTaskList$member": null - } - }, - "ImportSnapshotTaskList": { - "base": null, - "refs": { - "DescribeImportSnapshotTasksResult$ImportSnapshotTasks": "

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the previous 7 days.

" - } - }, - "ImportTaskIdList": { - "base": null, - "refs": { - "DescribeImportImageTasksRequest$ImportTaskIds": "

A list of import image task IDs.

", - "DescribeImportSnapshotTasksRequest$ImportTaskIds": "

A list of import snapshot task IDs.

" - } - }, - "ImportVolumeRequest": { - "base": "

Contains the parameters for ImportVolume.

", - "refs": { - } - }, - "ImportVolumeResult": { - "base": "

Contains the output for ImportVolume.

", - "refs": { - } - }, - "ImportVolumeTaskDetails": { - "base": "

Describes an import volume task.

", - "refs": { - "ConversionTask$ImportVolume": "

If the task is for importing a volume, this contains information about the import volume task.

" - } - }, - "Instance": { - "base": "

Describes an instance.

", - "refs": { - "InstanceList$member": null - } - }, - "InstanceAttribute": { - "base": "

Describes an instance attribute.

", - "refs": { - } - }, - "InstanceAttributeName": { - "base": null, - "refs": { - "DescribeInstanceAttributeRequest$Attribute": "

The instance attribute.

Note: The enaSupport attribute is not supported at this time.

", - "ModifyInstanceAttributeRequest$Attribute": "

The name of the attribute.

", - "ResetInstanceAttributeRequest$Attribute": "

The attribute to reset.

You can only reset the following attributes: kernel | ramdisk | sourceDestCheck. To change an instance attribute, use ModifyInstanceAttribute.

" - } - }, - "InstanceBlockDeviceMapping": { - "base": "

Describes a block device mapping.

", - "refs": { - "InstanceBlockDeviceMappingList$member": null - } - }, - "InstanceBlockDeviceMappingList": { - "base": null, - "refs": { - "Instance$BlockDeviceMappings": "

Any block device mapping entries for the instance.

", - "InstanceAttribute$BlockDeviceMappings": "

The block device mapping of the instance.

" - } - }, - "InstanceBlockDeviceMappingSpecification": { - "base": "

Describes a block device mapping entry.

", - "refs": { - "InstanceBlockDeviceMappingSpecificationList$member": null - } - }, - "InstanceBlockDeviceMappingSpecificationList": { - "base": null, - "refs": { - "ModifyInstanceAttributeRequest$BlockDeviceMappings": "

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.

" - } - }, - "InstanceCapacity": { - "base": "

Information about the instance type that the Dedicated Host supports.

", - "refs": { - "AvailableInstanceCapacityList$member": null - } - }, - "InstanceCount": { - "base": "

Describes a Reserved Instance listing state.

", - "refs": { - "InstanceCountList$member": null - } - }, - "InstanceCountList": { - "base": null, - "refs": { - "ReservedInstancesListing$InstanceCounts": "

The number of instances in this state.

" - } - }, - "InstanceExportDetails": { - "base": "

Describes an instance to export.

", - "refs": { - "ExportTask$InstanceExportDetails": "

Information about the instance to export.

" - } - }, - "InstanceIdSet": { - "base": null, - "refs": { - "RunScheduledInstancesResult$InstanceIdSet": "

The IDs of the newly launched instances.

" - } - }, - "InstanceIdStringList": { - "base": null, - "refs": { - "DescribeClassicLinkInstancesRequest$InstanceIds": "

One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

", - "DescribeInstanceStatusRequest$InstanceIds": "

One or more instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

", - "DescribeInstancesRequest$InstanceIds": "

One or more instance IDs.

Default: Describes all your instances.

", - "MonitorInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "RebootInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "ReportInstanceStatusRequest$Instances": "

One or more instances.

", - "StartInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "StopInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "TerminateInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "UnmonitorInstancesRequest$InstanceIds": "

One or more instance IDs.

" - } - }, - "InstanceLifecycleType": { - "base": null, - "refs": { - "Instance$InstanceLifecycle": "

Indicates whether this is a Spot instance or a Scheduled Instance.

" - } - }, - "InstanceList": { - "base": null, - "refs": { - "Reservation$Instances": "

One or more instances.

" - } - }, - "InstanceMonitoring": { - "base": "

Describes the monitoring information of the instance.

", - "refs": { - "InstanceMonitoringList$member": null - } - }, - "InstanceMonitoringList": { - "base": null, - "refs": { - "MonitorInstancesResult$InstanceMonitorings": "

Monitoring information for one or more instances.

", - "UnmonitorInstancesResult$InstanceMonitorings": "

Monitoring information for one or more instances.

" - } - }, - "InstanceNetworkInterface": { - "base": "

Describes a network interface.

", - "refs": { - "InstanceNetworkInterfaceList$member": null - } - }, - "InstanceNetworkInterfaceAssociation": { - "base": "

Describes association information for an Elastic IP address.

", - "refs": { - "InstanceNetworkInterface$Association": "

The association information for an Elastic IP associated with the network interface.

", - "InstancePrivateIpAddress$Association": "

The association information for an Elastic IP address for the network interface.

" - } - }, - "InstanceNetworkInterfaceAttachment": { - "base": "

Describes a network interface attachment.

", - "refs": { - "InstanceNetworkInterface$Attachment": "

The network interface attachment.

" - } - }, - "InstanceNetworkInterfaceList": { - "base": null, - "refs": { - "Instance$NetworkInterfaces": "

[EC2-VPC] One or more network interfaces for the instance.

" - } - }, - "InstanceNetworkInterfaceSpecification": { - "base": "

Describes a network interface.

", - "refs": { - "InstanceNetworkInterfaceSpecificationList$member": null - } - }, - "InstanceNetworkInterfaceSpecificationList": { - "base": null, - "refs": { - "LaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

", - "RequestSpotLaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

", - "RunInstancesRequest$NetworkInterfaces": "

One or more network interfaces.

", - "SpotFleetLaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

" - } - }, - "InstancePrivateIpAddress": { - "base": "

Describes a private IP address.

", - "refs": { - "InstancePrivateIpAddressList$member": null - } - }, - "InstancePrivateIpAddressList": { - "base": null, - "refs": { - "InstanceNetworkInterface$PrivateIpAddresses": "

The private IP addresses associated with the network interface.

" - } - }, - "InstanceState": { - "base": "

Describes the current state of the instance.

", - "refs": { - "Instance$State": "

The current state of the instance.

", - "InstanceStateChange$CurrentState": "

The current state of the instance.

", - "InstanceStateChange$PreviousState": "

The previous state of the instance.

", - "InstanceStatus$InstanceState": "

The intended state of the instance. DescribeInstanceStatus requires that an instance be in the running state.

" - } - }, - "InstanceStateChange": { - "base": "

Describes an instance state change.

", - "refs": { - "InstanceStateChangeList$member": null - } - }, - "InstanceStateChangeList": { - "base": null, - "refs": { - "StartInstancesResult$StartingInstances": "

Information about one or more started instances.

", - "StopInstancesResult$StoppingInstances": "

Information about one or more stopped instances.

", - "TerminateInstancesResult$TerminatingInstances": "

Information about one or more terminated instances.

" - } - }, - "InstanceStateName": { - "base": null, - "refs": { - "InstanceState$Name": "

The current state of the instance.

" - } - }, - "InstanceStatus": { - "base": "

Describes the status of an instance.

", - "refs": { - "InstanceStatusList$member": null - } - }, - "InstanceStatusDetails": { - "base": "

Describes the instance status.

", - "refs": { - "InstanceStatusDetailsList$member": null - } - }, - "InstanceStatusDetailsList": { - "base": null, - "refs": { - "InstanceStatusSummary$Details": "

The system instance health or application instance health.

" - } - }, - "InstanceStatusEvent": { - "base": "

Describes a scheduled event for an instance.

", - "refs": { - "InstanceStatusEventList$member": null - } - }, - "InstanceStatusEventList": { - "base": null, - "refs": { - "InstanceStatus$Events": "

Any scheduled events associated with the instance.

" - } - }, - "InstanceStatusList": { - "base": null, - "refs": { - "DescribeInstanceStatusResult$InstanceStatuses": "

One or more instance status descriptions.

" - } - }, - "InstanceStatusSummary": { - "base": "

Describes the status of an instance.

", - "refs": { - "InstanceStatus$SystemStatus": "

Reports impaired functionality that stems from issues related to the systems that support an instance, such as hardware failures and network connectivity problems.

", - "InstanceStatus$InstanceStatus": "

Reports impaired functionality that stems from issues internal to the instance, such as impaired reachability.

" - } - }, - "InstanceType": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$InstanceType": "

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.

", - "ImportInstanceLaunchSpecification$InstanceType": "

The instance type. For more information about the instance types that you can import, see Instance Types in the VM Import/Export User Guide.

", - "Instance$InstanceType": "

The instance type.

", - "InstanceTypeList$member": null, - "LaunchSpecification$InstanceType": "

The instance type.

", - "RequestSpotLaunchSpecification$InstanceType": "

The instance type.

", - "ReservedInstances$InstanceType": "

The instance type on which the Reserved Instance can be used.

", - "ReservedInstancesConfiguration$InstanceType": "

The instance type for the modified Reserved Instances.

", - "ReservedInstancesOffering$InstanceType": "

The instance type on which the Reserved Instance can be used.

", - "RunInstancesRequest$InstanceType": "

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

Default: m1.small

", - "SpotFleetLaunchSpecification$InstanceType": "

The instance type.

", - "SpotPrice$InstanceType": "

The instance type.

" - } - }, - "InstanceTypeList": { - "base": null, - "refs": { - "DescribeSpotPriceHistoryRequest$InstanceTypes": "

Filters the results by the specified instance types.

" - } - }, - "Integer": { - "base": null, - "refs": { - "AllocateHostsRequest$Quantity": "

The number of Dedicated Hosts you want to allocate to your account with these parameters.

", - "AssignPrivateIpAddressesRequest$SecondaryPrivateIpAddressCount": "

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", - "AttachNetworkInterfaceRequest$DeviceIndex": "

The index of the device for the network interface attachment.

", - "AuthorizeSecurityGroupEgressRequest$FromPort": "

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.

", - "AuthorizeSecurityGroupEgressRequest$ToPort": "

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.

", - "AuthorizeSecurityGroupIngressRequest$FromPort": "

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.

", - "AuthorizeSecurityGroupIngressRequest$ToPort": "

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.

", - "AvailableCapacity$AvailableVCpus": "

The number of vCPUs available on the Dedicated Host.

", - "CreateCustomerGatewayRequest$BgpAsn": "

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

", - "CreateNetworkAclEntryRequest$RuleNumber": "

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.

", - "CreateNetworkInterfaceRequest$SecondaryPrivateIpAddressCount": "

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.

", - "CreateReservedInstancesListingRequest$InstanceCount": "

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.

", - "CreateVolumeRequest$Size": "

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.

", - "CreateVolumeRequest$Iops": "

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

", - "DeleteNetworkAclEntryRequest$RuleNumber": "

The rule number of the entry to delete.

", - "DescribeClassicLinkInstancesRequest$MaxResults": "

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.

", - "DescribeFlowLogsRequest$MaxResults": "

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.

", - "DescribeHostReservationOfferingsRequest$MinDuration": "

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.

", - "DescribeHostReservationOfferingsRequest$MaxDuration": "

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.

", - "DescribeHostReservationOfferingsRequest$MaxResults": "

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.

", - "DescribeHostReservationsRequest$MaxResults": "

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.

", - "DescribeHostsRequest$MaxResults": "

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.

", - "DescribeImportImageTasksRequest$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

", - "DescribeImportSnapshotTasksRequest$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

", - "DescribeInstanceStatusRequest$MaxResults": "

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.

", - "DescribeInstancesRequest$MaxResults": "

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.

", - "DescribeMovingAddressesRequest$MaxResults": "

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.

", - "DescribeNatGatewaysRequest$MaxResults": "

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.

", - "DescribePrefixListsRequest$MaxResults": "

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.

", - "DescribeReservedInstancesOfferingsRequest$MaxResults": "

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

", - "DescribeReservedInstancesOfferingsRequest$MaxInstanceCount": "

The maximum number of instances to filter when searching for offerings.

Default: 20

", - "DescribeScheduledInstanceAvailabilityRequest$MinSlotDurationInHours": "

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.

", - "DescribeScheduledInstanceAvailabilityRequest$MaxSlotDurationInHours": "

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours and less than 1,720.

", - "DescribeScheduledInstanceAvailabilityRequest$MaxResults": "

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.

", - "DescribeScheduledInstancesRequest$MaxResults": "

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.

", - "DescribeSnapshotsRequest$MaxResults": "

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.

", - "DescribeSpotFleetInstancesRequest$MaxResults": "

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.

", - "DescribeSpotFleetRequestHistoryRequest$MaxResults": "

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.

", - "DescribeSpotFleetRequestsRequest$MaxResults": "

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.

", - "DescribeSpotPriceHistoryRequest$MaxResults": "

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.

", - "DescribeTagsRequest$MaxResults": "

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.

", - "DescribeVolumeStatusRequest$MaxResults": "

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.

", - "DescribeVolumesRequest$MaxResults": "

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.

", - "DescribeVpcEndpointServicesRequest$MaxResults": "

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.

", - "DescribeVpcEndpointsRequest$MaxResults": "

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.

", - "EbsBlockDevice$VolumeSize": "

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.

", - "EbsBlockDevice$Iops": "

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.

", - "HostOffering$Duration": "

The duration of the offering (in seconds).

", - "HostProperties$Sockets": "

The number of sockets on the Dedicated Host.

", - "HostProperties$Cores": "

The number of cores on the Dedicated Host.

", - "HostProperties$TotalVCpus": "

The number of vCPUs on the Dedicated Host.

", - "HostReservation$Count": "

The number of Dedicated Hosts the reservation is associated with.

", - "HostReservation$Duration": "

The length of the reservation's term, specified in seconds. Can be 31536000 (1 year) | 94608000 (3 years).

", - "IcmpTypeCode$Type": "

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", - "IcmpTypeCode$Code": "

The ICMP type. A value of -1 means all types.

", - "Instance$AmiLaunchIndex": "

The AMI launch index, which can be used to find this instance in the launch group.

", - "InstanceCapacity$AvailableCapacity": "

The number of instances that can still be launched onto the Dedicated Host.

", - "InstanceCapacity$TotalCapacity": "

The total number of instances that can be launched onto the Dedicated Host.

", - "InstanceCount$InstanceCount": "

The number of listed Reserved Instances in the state specified by the state.

", - "InstanceNetworkInterfaceAttachment$DeviceIndex": "

The index of the device on the instance for the network interface attachment.

", - "InstanceNetworkInterfaceSpecification$DeviceIndex": "

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.

", - "InstanceNetworkInterfaceSpecification$SecondaryPrivateIpAddressCount": "

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.

", - "InstanceState$Code": "

The low byte represents the state. The high byte is an opaque internal value and should be ignored.

", - "IpPermission$FromPort": "

The start of port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "IpPermission$ToPort": "

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.

", - "ModifySpotFleetRequestRequest$TargetCapacity": "

The size of the fleet.

", - "NetworkAclEntry$RuleNumber": "

The rule number for the entry. ACL entries are processed in ascending order by rule number.

", - "NetworkInterfaceAttachment$DeviceIndex": "

The device index of the network interface attachment on the instance.

", - "OccurrenceDayRequestSet$member": null, - "OccurrenceDaySet$member": null, - "PortRange$From": "

The first port in the range.

", - "PortRange$To": "

The last port in the range.

", - "PricingDetail$Count": "

The number of reservations available for the price.

", - "Purchase$Duration": "

The duration of the reservation's term in seconds.

", - "PurchaseRequest$InstanceCount": "

The number of instances.

", - "PurchaseReservedInstancesOfferingRequest$InstanceCount": "

The number of Reserved Instances to purchase.

", - "ReplaceNetworkAclEntryRequest$RuleNumber": "

The rule number of the entry to replace.

", - "RequestSpotInstancesRequest$InstanceCount": "

The maximum number of Spot instances to launch.

Default: 1

", - "RequestSpotInstancesRequest$BlockDurationMinutes": "

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.

", - "ReservedInstances$InstanceCount": "

The number of reservations purchased.

", - "ReservedInstancesConfiguration$InstanceCount": "

The number of modified Reserved Instances.

", - "RevokeSecurityGroupEgressRequest$FromPort": "

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.

", - "RevokeSecurityGroupEgressRequest$ToPort": "

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.

", - "RevokeSecurityGroupIngressRequest$FromPort": "

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.

", - "RevokeSecurityGroupIngressRequest$ToPort": "

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.

", - "RunInstancesRequest$MinCount": "

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.

", - "RunInstancesRequest$MaxCount": "

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.

", - "RunScheduledInstancesRequest$InstanceCount": "

The number of instances.

Default: 1

", - "ScheduledInstance$SlotDurationInHours": "

The number of hours in the schedule.

", - "ScheduledInstance$TotalScheduledInstanceHours": "

The total number of hours for a single instance for the entire term.

", - "ScheduledInstance$InstanceCount": "

The number of instances.

", - "ScheduledInstanceAvailability$SlotDurationInHours": "

The number of hours in the schedule.

", - "ScheduledInstanceAvailability$TotalScheduledInstanceHours": "

The total number of hours for a single instance for the entire term.

", - "ScheduledInstanceAvailability$AvailableInstanceCount": "

The number of available instances.

", - "ScheduledInstanceAvailability$MinTermDurationInDays": "

The minimum term. The only possible value is 365 days.

", - "ScheduledInstanceAvailability$MaxTermDurationInDays": "

The maximum term. The only possible value is 365 days.

", - "ScheduledInstanceRecurrence$Interval": "

The interval quantity. The interval unit depends on the value of frequency. For example, every 2 weeks or every 2 months.

", - "ScheduledInstanceRecurrenceRequest$Interval": "

The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 weeks or every 2 months.

", - "ScheduledInstancesEbs$VolumeSize": "

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.

", - "ScheduledInstancesEbs$Iops": "

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.

", - "ScheduledInstancesNetworkInterface$DeviceIndex": "

The index of the device for the network interface attachment.

", - "ScheduledInstancesNetworkInterface$SecondaryPrivateIpAddressCount": "

The number of secondary private IP addresses.

", - "Snapshot$VolumeSize": "

The size of the volume, in GiB.

", - "SpotFleetRequestConfigData$TargetCapacity": "

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.

", - "SpotInstanceRequest$BlockDurationMinutes": "

The duration for the Spot instance, in minutes.

", - "StaleIpPermission$FromPort": "

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.

", - "StaleIpPermission$ToPort": "

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.

", - "Subnet$AvailableIpAddressCount": "

The number of unused IP addresses in the subnet. Note that the IP addresses for any stopped instances are considered unavailable.

", - "VgwTelemetry$AcceptedRouteCount": "

The number of accepted routes.

", - "Volume$Size": "

The size of the volume, in GiBs.

", - "Volume$Iops": "

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.

" - } - }, - "InternetGateway": { - "base": "

Describes an Internet gateway.

", - "refs": { - "CreateInternetGatewayResult$InternetGateway": "

Information about the Internet gateway.

", - "InternetGatewayList$member": null - } - }, - "InternetGatewayAttachment": { - "base": "

Describes the attachment of a VPC to an Internet gateway.

", - "refs": { - "InternetGatewayAttachmentList$member": null - } - }, - "InternetGatewayAttachmentList": { - "base": null, - "refs": { - "InternetGateway$Attachments": "

Any VPCs attached to the Internet gateway.

" - } - }, - "InternetGatewayList": { - "base": null, - "refs": { - "DescribeInternetGatewaysResult$InternetGateways": "

Information about one or more Internet gateways.

" - } - }, - "IpPermission": { - "base": "

Describes a security group rule.

", - "refs": { - "IpPermissionList$member": null - } - }, - "IpPermissionList": { - "base": null, - "refs": { - "AuthorizeSecurityGroupEgressRequest$IpPermissions": "

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

", - "AuthorizeSecurityGroupIngressRequest$IpPermissions": "

A set of IP permissions. Can be used to specify multiple rules in a single command.

", - "RevokeSecurityGroupEgressRequest$IpPermissions": "

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

", - "RevokeSecurityGroupIngressRequest$IpPermissions": "

A set of IP permissions. You can't specify a source security group and a CIDR IP address range.

", - "SecurityGroup$IpPermissions": "

One or more inbound rules associated with the security group.

", - "SecurityGroup$IpPermissionsEgress": "

[EC2-VPC] One or more outbound rules associated with the security group.

" - } - }, - "IpRange": { - "base": "

Describes an IP range.

", - "refs": { - "IpRangeList$member": null - } - }, - "IpRangeList": { - "base": null, - "refs": { - "IpPermission$IpRanges": "

One or more IP ranges.

" - } - }, - "IpRanges": { - "base": null, - "refs": { - "StaleIpPermission$IpRanges": "

One or more IP ranges. Not applicable for stale security group rules.

" - } - }, - "KeyNameStringList": { - "base": null, - "refs": { - "DescribeKeyPairsRequest$KeyNames": "

One or more key pair names.

Default: Describes all your key pairs.

" - } - }, - "KeyPair": { - "base": "

Describes a key pair.

", - "refs": { - } - }, - "KeyPairInfo": { - "base": "

Describes a key pair.

", - "refs": { - "KeyPairList$member": null - } - }, - "KeyPairList": { - "base": null, - "refs": { - "DescribeKeyPairsResult$KeyPairs": "

Information about one or more key pairs.

" - } - }, - "LaunchPermission": { - "base": "

Describes a launch permission.

", - "refs": { - "LaunchPermissionList$member": null - } - }, - "LaunchPermissionList": { - "base": null, - "refs": { - "ImageAttribute$LaunchPermissions": "

One or more launch permissions.

", - "LaunchPermissionModifications$Add": "

The AWS account ID to add to the list of launch permissions for the AMI.

", - "LaunchPermissionModifications$Remove": "

The AWS account ID to remove from the list of launch permissions for the AMI.

" - } - }, - "LaunchPermissionModifications": { - "base": "

Describes a launch permission modification.

", - "refs": { - "ModifyImageAttributeRequest$LaunchPermission": "

A launch permission modification.

" - } - }, - "LaunchSpecification": { - "base": "

Describes the launch specification for an instance.

", - "refs": { - "SpotInstanceRequest$LaunchSpecification": "

Additional information for launching instances.

" - } - }, - "LaunchSpecsList": { - "base": null, - "refs": { - "SpotFleetRequestConfigData$LaunchSpecifications": "

Information about the launch specifications for the Spot fleet request.

" - } - }, - "ListingState": { - "base": null, - "refs": { - "InstanceCount$State": "

The states of the listed Reserved Instances.

" - } - }, - "ListingStatus": { - "base": null, - "refs": { - "ReservedInstancesListing$Status": "

The status of the Reserved Instance listing.

" - } - }, - "Long": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$MinDuration": "

The minimum duration (in seconds) to filter when searching for offerings.

Default: 2592000 (1 month)

", - "DescribeReservedInstancesOfferingsRequest$MaxDuration": "

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

", - "DiskImageDescription$Size": "

The size of the disk image, in GiB.

", - "DiskImageDetail$Bytes": "

The size of the disk image, in GiB.

", - "DiskImageVolumeDescription$Size": "

The size of the volume, in GiB.

", - "ImportInstanceVolumeDetailItem$BytesConverted": "

The number of bytes converted so far.

", - "ImportVolumeTaskDetails$BytesConverted": "

The number of bytes converted so far.

", - "PriceSchedule$Term": "

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "PriceScheduleSpecification$Term": "

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "ReservedInstances$Duration": "

The duration of the Reserved Instance, in seconds.

", - "ReservedInstancesOffering$Duration": "

The duration of the Reserved Instance, in seconds.

", - "VolumeDetail$Size": "

The size of the volume, in GiB.

" - } - }, - "MaxResults": { - "base": null, - "refs": { - "DescribeStaleSecurityGroupsRequest$MaxResults": "

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.

", - "DescribeVpcClassicLinkDnsSupportRequest$MaxResults": "

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.

" - } - }, - "ModifyHostsRequest": { - "base": "

Contains the parameters for ModifyHosts.

", - "refs": { - } - }, - "ModifyHostsResult": { - "base": "

Contains the output of ModifyHosts.

", - "refs": { - } - }, - "ModifyIdFormatRequest": { - "base": "

Contains the parameters of ModifyIdFormat.

", - "refs": { - } - }, - "ModifyIdentityIdFormatRequest": { - "base": "

Contains the parameters of ModifyIdentityIdFormat.

", - "refs": { - } - }, - "ModifyImageAttributeRequest": { - "base": "

Contains the parameters for ModifyImageAttribute.

", - "refs": { - } - }, - "ModifyInstanceAttributeRequest": { - "base": "

Contains the parameters for ModifyInstanceAttribute.

", - "refs": { - } - }, - "ModifyInstancePlacementRequest": { - "base": "

Contains the parameters for ModifyInstancePlacement.

", - "refs": { - } - }, - "ModifyInstancePlacementResult": { - "base": "

Contains the output of ModifyInstancePlacement.

", - "refs": { - } - }, - "ModifyNetworkInterfaceAttributeRequest": { - "base": "

Contains the parameters for ModifyNetworkInterfaceAttribute.

", - "refs": { - } - }, - "ModifyReservedInstancesRequest": { - "base": "

Contains the parameters for ModifyReservedInstances.

", - "refs": { - } - }, - "ModifyReservedInstancesResult": { - "base": "

Contains the output of ModifyReservedInstances.

", - "refs": { - } - }, - "ModifySnapshotAttributeRequest": { - "base": "

Contains the parameters for ModifySnapshotAttribute.

", - "refs": { - } - }, - "ModifySpotFleetRequestRequest": { - "base": "

Contains the parameters for ModifySpotFleetRequest.

", - "refs": { - } - }, - "ModifySpotFleetRequestResponse": { - "base": "

Contains the output of ModifySpotFleetRequest.

", - "refs": { - } - }, - "ModifySubnetAttributeRequest": { - "base": "

Contains the parameters for ModifySubnetAttribute.

", - "refs": { - } - }, - "ModifyVolumeAttributeRequest": { - "base": "

Contains the parameters for ModifyVolumeAttribute.

", - "refs": { - } - }, - "ModifyVpcAttributeRequest": { - "base": "

Contains the parameters for ModifyVpcAttribute.

", - "refs": { - } - }, - "ModifyVpcEndpointRequest": { - "base": "

Contains the parameters for ModifyVpcEndpoint.

", - "refs": { - } - }, - "ModifyVpcEndpointResult": { - "base": "

Contains the output of ModifyVpcEndpoint.

", - "refs": { - } - }, - "ModifyVpcPeeringConnectionOptionsRequest": { - "base": null, - "refs": { - } - }, - "ModifyVpcPeeringConnectionOptionsResult": { - "base": null, - "refs": { - } - }, - "MonitorInstancesRequest": { - "base": "

Contains the parameters for MonitorInstances.

", - "refs": { - } - }, - "MonitorInstancesResult": { - "base": "

Contains the output of MonitorInstances.

", - "refs": { - } - }, - "Monitoring": { - "base": "

Describes the monitoring for the instance.

", - "refs": { - "Instance$Monitoring": "

The monitoring information for the instance.

", - "InstanceMonitoring$Monitoring": "

The monitoring information.

" - } - }, - "MonitoringState": { - "base": null, - "refs": { - "Monitoring$State": "

Indicates whether monitoring is enabled for the instance.

" - } - }, - "MoveAddressToVpcRequest": { - "base": "

Contains the parameters for MoveAddressToVpc.

", - "refs": { - } - }, - "MoveAddressToVpcResult": { - "base": "

Contains the output of MoveAddressToVpc.

", - "refs": { - } - }, - "MoveStatus": { - "base": null, - "refs": { - "MovingAddressStatus$MoveStatus": "

The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

" - } - }, - "MovingAddressStatus": { - "base": "

Describes the status of a moving Elastic IP address.

", - "refs": { - "MovingAddressStatusSet$member": null - } - }, - "MovingAddressStatusSet": { - "base": null, - "refs": { - "DescribeMovingAddressesResult$MovingAddressStatuses": "

The status for each Elastic IP address.

" - } - }, - "NatGateway": { - "base": "

Describes a NAT gateway.

", - "refs": { - "CreateNatGatewayResult$NatGateway": "

Information about the NAT gateway.

", - "NatGatewayList$member": null - } - }, - "NatGatewayAddress": { - "base": "

Describes the IP addresses and network interface associated with a NAT gateway.

", - "refs": { - "NatGatewayAddressList$member": null - } - }, - "NatGatewayAddressList": { - "base": null, - "refs": { - "NatGateway$NatGatewayAddresses": "

Information about the IP addresses and network interface associated with the NAT gateway.

" - } - }, - "NatGatewayList": { - "base": null, - "refs": { - "DescribeNatGatewaysResult$NatGateways": "

Information about the NAT gateways.

" - } - }, - "NatGatewayState": { - "base": null, - "refs": { - "NatGateway$State": "

The state of the NAT gateway.

" - } - }, - "NetworkAcl": { - "base": "

Describes a network ACL.

", - "refs": { - "CreateNetworkAclResult$NetworkAcl": "

Information about the network ACL.

", - "NetworkAclList$member": null - } - }, - "NetworkAclAssociation": { - "base": "

Describes an association between a network ACL and a subnet.

", - "refs": { - "NetworkAclAssociationList$member": null - } - }, - "NetworkAclAssociationList": { - "base": null, - "refs": { - "NetworkAcl$Associations": "

Any associations between the network ACL and one or more subnets

" - } - }, - "NetworkAclEntry": { - "base": "

Describes an entry in a network ACL.

", - "refs": { - "NetworkAclEntryList$member": null - } - }, - "NetworkAclEntryList": { - "base": null, - "refs": { - "NetworkAcl$Entries": "

One or more entries (rules) in the network ACL.

" - } - }, - "NetworkAclList": { - "base": null, - "refs": { - "DescribeNetworkAclsResult$NetworkAcls": "

Information about one or more network ACLs.

" - } - }, - "NetworkInterface": { - "base": "

Describes a network interface.

", - "refs": { - "CreateNetworkInterfaceResult$NetworkInterface": "

Information about the network interface.

", - "NetworkInterfaceList$member": null - } - }, - "NetworkInterfaceAssociation": { - "base": "

Describes association information for an Elastic IP address.

", - "refs": { - "NetworkInterface$Association": "

The association information for an Elastic IP associated with the network interface.

", - "NetworkInterfacePrivateIpAddress$Association": "

The association information for an Elastic IP address associated with the network interface.

" - } - }, - "NetworkInterfaceAttachment": { - "base": "

Describes a network interface attachment.

", - "refs": { - "DescribeNetworkInterfaceAttributeResult$Attachment": "

The attachment (if any) of the network interface.

", - "NetworkInterface$Attachment": "

The network interface attachment.

" - } - }, - "NetworkInterfaceAttachmentChanges": { - "base": "

Describes an attachment change.

", - "refs": { - "ModifyNetworkInterfaceAttributeRequest$Attachment": "

Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

" - } - }, - "NetworkInterfaceAttribute": { - "base": null, - "refs": { - "DescribeNetworkInterfaceAttributeRequest$Attribute": "

The attribute of the network interface.

" - } - }, - "NetworkInterfaceIdList": { - "base": null, - "refs": { - "DescribeNetworkInterfacesRequest$NetworkInterfaceIds": "

One or more network interface IDs.

Default: Describes all your network interfaces.

" - } - }, - "NetworkInterfaceList": { - "base": null, - "refs": { - "DescribeNetworkInterfacesResult$NetworkInterfaces": "

Information about one or more network interfaces.

" - } - }, - "NetworkInterfacePrivateIpAddress": { - "base": "

Describes the private IP address of a network interface.

", - "refs": { - "NetworkInterfacePrivateIpAddressList$member": null - } - }, - "NetworkInterfacePrivateIpAddressList": { - "base": null, - "refs": { - "NetworkInterface$PrivateIpAddresses": "

The private IP addresses associated with the network interface.

" - } - }, - "NetworkInterfaceStatus": { - "base": null, - "refs": { - "InstanceNetworkInterface$Status": "

The status of the network interface.

", - "NetworkInterface$Status": "

The status of the network interface.

" - } - }, - "NetworkInterfaceType": { - "base": null, - "refs": { - "NetworkInterface$InterfaceType": "

The type of interface.

" - } - }, - "NewDhcpConfiguration": { - "base": null, - "refs": { - "NewDhcpConfigurationList$member": null - } - }, - "NewDhcpConfigurationList": { - "base": null, - "refs": { - "CreateDhcpOptionsRequest$DhcpConfigurations": "

A DHCP configuration option.

" - } - }, - "NextToken": { - "base": null, - "refs": { - "DescribeStaleSecurityGroupsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcClassicLinkDnsSupportRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcClassicLinkDnsSupportResult$NextToken": "

The token to use when requesting the next set of items.

" - } - }, - "OccurrenceDayRequestSet": { - "base": null, - "refs": { - "ScheduledInstanceRecurrenceRequest$OccurrenceDays": "

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.

" - } - }, - "OccurrenceDaySet": { - "base": null, - "refs": { - "ScheduledInstanceRecurrence$OccurrenceDaySet": "

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).

" - } - }, - "OfferingTypeValues": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$OfferingType": "

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.

", - "DescribeReservedInstancesRequest$OfferingType": "

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.

", - "ReservedInstances$OfferingType": "

The Reserved Instance offering type.

", - "ReservedInstancesOffering$OfferingType": "

The Reserved Instance offering type.

" - } - }, - "OperationType": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$OperationType": "

The operation type.

", - "ModifySnapshotAttributeRequest$OperationType": "

The type of operation to perform to the attribute.

" - } - }, - "OwnerStringList": { - "base": null, - "refs": { - "DescribeImagesRequest$Owners": "

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.

", - "DescribeSnapshotsRequest$OwnerIds": "

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

" - } - }, - "PaymentOption": { - "base": null, - "refs": { - "HostOffering$PaymentOption": "

The available payment option.

", - "HostReservation$PaymentOption": "

The payment option selected for this reservation.

", - "Purchase$PaymentOption": "

The payment option for the reservation.

" - } - }, - "PeeringConnectionOptions": { - "base": "

Describes the VPC peering connection options.

", - "refs": { - "ModifyVpcPeeringConnectionOptionsResult$RequesterPeeringConnectionOptions": "

Information about the VPC peering connection options for the requester VPC.

", - "ModifyVpcPeeringConnectionOptionsResult$AccepterPeeringConnectionOptions": "

Information about the VPC peering connection options for the accepter VPC.

" - } - }, - "PeeringConnectionOptionsRequest": { - "base": "

The VPC peering connection options.

", - "refs": { - "ModifyVpcPeeringConnectionOptionsRequest$RequesterPeeringConnectionOptions": "

The VPC peering connection options for the requester VPC.

", - "ModifyVpcPeeringConnectionOptionsRequest$AccepterPeeringConnectionOptions": "

The VPC peering connection options for the accepter VPC.

" - } - }, - "PermissionGroup": { - "base": null, - "refs": { - "CreateVolumePermission$Group": "

The specific group that is to be added or removed from a volume's list of create volume permissions.

", - "LaunchPermission$Group": "

The name of the group.

" - } - }, - "Placement": { - "base": "

Describes the placement for the instance.

", - "refs": { - "ImportInstanceLaunchSpecification$Placement": "

The placement information for the instance.

", - "Instance$Placement": "

The location where the instance launched, if applicable.

", - "RunInstancesRequest$Placement": "

The placement for the instance.

" - } - }, - "PlacementGroup": { - "base": "

Describes a placement group.

", - "refs": { - "PlacementGroupList$member": null - } - }, - "PlacementGroupList": { - "base": null, - "refs": { - "DescribePlacementGroupsResult$PlacementGroups": "

One or more placement groups.

" - } - }, - "PlacementGroupState": { - "base": null, - "refs": { - "PlacementGroup$State": "

The state of the placement group.

" - } - }, - "PlacementGroupStringList": { - "base": null, - "refs": { - "DescribePlacementGroupsRequest$GroupNames": "

One or more placement group names.

Default: Describes all your placement groups, or only those otherwise specified.

" - } - }, - "PlacementStrategy": { - "base": null, - "refs": { - "CreatePlacementGroupRequest$Strategy": "

The placement strategy.

", - "PlacementGroup$Strategy": "

The placement strategy.

" - } - }, - "PlatformValues": { - "base": null, - "refs": { - "Image$Platform": "

The value is Windows for Windows AMIs; otherwise blank.

", - "ImportInstanceRequest$Platform": "

The instance operating system.

", - "ImportInstanceTaskDetails$Platform": "

The instance operating system.

", - "Instance$Platform": "

The value is Windows for Windows instances; otherwise blank.

" - } - }, - "PortRange": { - "base": "

Describes a range of ports.

", - "refs": { - "CreateNetworkAclEntryRequest$PortRange": "

TCP or UDP protocols: The range of ports the rule applies to.

", - "NetworkAclEntry$PortRange": "

TCP or UDP protocols: The range of ports the rule applies to.

", - "ReplaceNetworkAclEntryRequest$PortRange": "

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying 6 (TCP) or 17 (UDP) for the protocol.

" - } - }, - "PrefixList": { - "base": "

Describes prefixes for AWS services.

", - "refs": { - "PrefixListSet$member": null - } - }, - "PrefixListId": { - "base": "

The ID of the prefix.

", - "refs": { - "PrefixListIdList$member": null - } - }, - "PrefixListIdList": { - "base": null, - "refs": { - "IpPermission$PrefixListIds": "

(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.

" - } - }, - "PrefixListIdSet": { - "base": null, - "refs": { - "StaleIpPermission$PrefixListIds": "

One or more prefix list IDs for an AWS service. Not applicable for stale security group rules.

" - } - }, - "PrefixListSet": { - "base": null, - "refs": { - "DescribePrefixListsResult$PrefixLists": "

All available prefix lists.

" - } - }, - "PriceSchedule": { - "base": "

Describes the price for a Reserved Instance.

", - "refs": { - "PriceScheduleList$member": null - } - }, - "PriceScheduleList": { - "base": null, - "refs": { - "ReservedInstancesListing$PriceSchedules": "

The price of the Reserved Instance listing.

" - } - }, - "PriceScheduleSpecification": { - "base": "

Describes the price for a Reserved Instance.

", - "refs": { - "PriceScheduleSpecificationList$member": null - } - }, - "PriceScheduleSpecificationList": { - "base": null, - "refs": { - "CreateReservedInstancesListingRequest$PriceSchedules": "

A list specifying the price of the Reserved Instance for each month remaining in the Reserved Instance term.

" - } - }, - "PricingDetail": { - "base": "

Describes a Reserved Instance offering.

", - "refs": { - "PricingDetailsList$member": null - } - }, - "PricingDetailsList": { - "base": null, - "refs": { - "ReservedInstancesOffering$PricingDetails": "

The pricing details of the Reserved Instance offering.

" - } - }, - "PrivateIpAddressConfigSet": { - "base": null, - "refs": { - "ScheduledInstancesNetworkInterface$PrivateIpAddressConfigs": "

The private IP addresses.

" - } - }, - "PrivateIpAddressSpecification": { - "base": "

Describes a secondary private IP address for a network interface.

", - "refs": { - "PrivateIpAddressSpecificationList$member": null - } - }, - "PrivateIpAddressSpecificationList": { - "base": null, - "refs": { - "CreateNetworkInterfaceRequest$PrivateIpAddresses": "

One or more private IP addresses.

", - "InstanceNetworkInterfaceSpecification$PrivateIpAddresses": "

One or more private IP addresses to assign to the network interface. Only one private IP address can be designated as primary.

" - } - }, - "PrivateIpAddressStringList": { - "base": null, - "refs": { - "AssignPrivateIpAddressesRequest$PrivateIpAddresses": "

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.

", - "UnassignPrivateIpAddressesRequest$PrivateIpAddresses": "

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.

" - } - }, - "ProductCode": { - "base": "

Describes a product code.

", - "refs": { - "ProductCodeList$member": null - } - }, - "ProductCodeList": { - "base": null, - "refs": { - "DescribeSnapshotAttributeResult$ProductCodes": "

A list of product codes.

", - "DescribeVolumeAttributeResult$ProductCodes": "

A list of product codes.

", - "Image$ProductCodes": "

Any product codes associated with the AMI.

", - "ImageAttribute$ProductCodes": "

One or more product codes.

", - "Instance$ProductCodes": "

The product codes attached to this instance, if applicable.

", - "InstanceAttribute$ProductCodes": "

A list of product codes.

" - } - }, - "ProductCodeStringList": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$ProductCodes": "

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.

" - } - }, - "ProductCodeValues": { - "base": null, - "refs": { - "ProductCode$ProductCodeType": "

The type of product code.

" - } - }, - "ProductDescriptionList": { - "base": null, - "refs": { - "DescribeSpotPriceHistoryRequest$ProductDescriptions": "

Filters the results by the specified basic product descriptions.

" - } - }, - "PropagatingVgw": { - "base": "

Describes a virtual private gateway propagating route.

", - "refs": { - "PropagatingVgwList$member": null - } - }, - "PropagatingVgwList": { - "base": null, - "refs": { - "RouteTable$PropagatingVgws": "

Any virtual private gateway (VGW) propagating routes.

" - } - }, - "ProvisionedBandwidth": { - "base": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "refs": { - "NatGateway$ProvisionedBandwidth": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

" - } - }, - "PublicIpStringList": { - "base": null, - "refs": { - "DescribeAddressesRequest$PublicIps": "

[EC2-Classic] One or more Elastic IP addresses.

Default: Describes all your Elastic IP addresses.

" - } - }, - "Purchase": { - "base": "

Describes the result of the purchase.

", - "refs": { - "PurchaseSet$member": null - } - }, - "PurchaseHostReservationRequest": { - "base": null, - "refs": { - } - }, - "PurchaseHostReservationResult": { - "base": null, - "refs": { - } - }, - "PurchaseRequest": { - "base": "

Describes a request to purchase Scheduled Instances.

", - "refs": { - "PurchaseRequestSet$member": null - } - }, - "PurchaseRequestSet": { - "base": null, - "refs": { - "PurchaseScheduledInstancesRequest$PurchaseRequests": "

One or more purchase requests.

" - } - }, - "PurchaseReservedInstancesOfferingRequest": { - "base": "

Contains the parameters for PurchaseReservedInstancesOffering.

", - "refs": { - } - }, - "PurchaseReservedInstancesOfferingResult": { - "base": "

Contains the output of PurchaseReservedInstancesOffering.

", - "refs": { - } - }, - "PurchaseScheduledInstancesRequest": { - "base": "

Contains the parameters for PurchaseScheduledInstances.

", - "refs": { - } - }, - "PurchaseScheduledInstancesResult": { - "base": "

Contains the output of PurchaseScheduledInstances.

", - "refs": { - } - }, - "PurchaseSet": { - "base": null, - "refs": { - "GetHostReservationPurchasePreviewResult$Purchase": "

The purchase information of the Dedicated Host Reservation and the Dedicated Hosts associated with it.

", - "PurchaseHostReservationResult$Purchase": "

Describes the details of the purchase.

" - } - }, - "PurchasedScheduledInstanceSet": { - "base": null, - "refs": { - "PurchaseScheduledInstancesResult$ScheduledInstanceSet": "

Information about the Scheduled Instances.

" - } - }, - "RIProductDescription": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$ProductDescription": "

The Reserved Instance product platform description. Instances that include (Amazon VPC) in the description are for use with Amazon VPC.

", - "ReservedInstances$ProductDescription": "

The Reserved Instance product platform description.

", - "ReservedInstancesOffering$ProductDescription": "

The Reserved Instance product platform description.

", - "SpotInstanceRequest$ProductDescription": "

The product description associated with the Spot instance.

", - "SpotPrice$ProductDescription": "

A general description of the AMI.

" - } - }, - "ReasonCodesList": { - "base": null, - "refs": { - "ReportInstanceStatusRequest$ReasonCodes": "

One or more reason codes that describes the health state of your instance.

" - } - }, - "RebootInstancesRequest": { - "base": "

Contains the parameters for RebootInstances.

", - "refs": { - } - }, - "RecurringCharge": { - "base": "

Describes a recurring charge.

", - "refs": { - "RecurringChargesList$member": null - } - }, - "RecurringChargeFrequency": { - "base": null, - "refs": { - "RecurringCharge$Frequency": "

The frequency of the recurring charge.

" - } - }, - "RecurringChargesList": { - "base": null, - "refs": { - "ReservedInstances$RecurringCharges": "

The recurring charge tag assigned to the resource.

", - "ReservedInstancesOffering$RecurringCharges": "

The recurring charge tag assigned to the resource.

" - } - }, - "Region": { - "base": "

Describes a region.

", - "refs": { - "RegionList$member": null - } - }, - "RegionList": { - "base": null, - "refs": { - "DescribeRegionsResult$Regions": "

Information about one or more regions.

" - } - }, - "RegionNameStringList": { - "base": null, - "refs": { - "DescribeRegionsRequest$RegionNames": "

The names of one or more regions.

" - } - }, - "RegisterImageRequest": { - "base": "

Contains the parameters for RegisterImage.

", - "refs": { - } - }, - "RegisterImageResult": { - "base": "

Contains the output of RegisterImage.

", - "refs": { - } - }, - "RejectVpcPeeringConnectionRequest": { - "base": "

Contains the parameters for RejectVpcPeeringConnection.

", - "refs": { - } - }, - "RejectVpcPeeringConnectionResult": { - "base": "

Contains the output of RejectVpcPeeringConnection.

", - "refs": { - } - }, - "ReleaseAddressRequest": { - "base": "

Contains the parameters for ReleaseAddress.

", - "refs": { - } - }, - "ReleaseHostsRequest": { - "base": "

Contains the parameters for ReleaseHosts.

", - "refs": { - } - }, - "ReleaseHostsResult": { - "base": "

Contains the output of ReleaseHosts.

", - "refs": { - } - }, - "ReplaceNetworkAclAssociationRequest": { - "base": "

Contains the parameters for ReplaceNetworkAclAssociation.

", - "refs": { - } - }, - "ReplaceNetworkAclAssociationResult": { - "base": "

Contains the output of ReplaceNetworkAclAssociation.

", - "refs": { - } - }, - "ReplaceNetworkAclEntryRequest": { - "base": "

Contains the parameters for ReplaceNetworkAclEntry.

", - "refs": { - } - }, - "ReplaceRouteRequest": { - "base": "

Contains the parameters for ReplaceRoute.

", - "refs": { - } - }, - "ReplaceRouteTableAssociationRequest": { - "base": "

Contains the parameters for ReplaceRouteTableAssociation.

", - "refs": { - } - }, - "ReplaceRouteTableAssociationResult": { - "base": "

Contains the output of ReplaceRouteTableAssociation.

", - "refs": { - } - }, - "ReportInstanceReasonCodes": { - "base": null, - "refs": { - "ReasonCodesList$member": null - } - }, - "ReportInstanceStatusRequest": { - "base": "

Contains the parameters for ReportInstanceStatus.

", - "refs": { - } - }, - "ReportStatusType": { - "base": null, - "refs": { - "ReportInstanceStatusRequest$Status": "

The status of all instances listed.

" - } - }, - "RequestHostIdList": { - "base": null, - "refs": { - "DescribeHostsRequest$HostIds": "

The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.

", - "ModifyHostsRequest$HostIds": "

The host IDs of the Dedicated Hosts you want to modify.

", - "ReleaseHostsRequest$HostIds": "

The IDs of the Dedicated Hosts you want to release.

" - } - }, - "RequestHostIdSet": { - "base": null, - "refs": { - "GetHostReservationPurchasePreviewRequest$HostIdSet": "

The ID/s of the Dedicated Host/s that the reservation will be associated with.

", - "PurchaseHostReservationRequest$HostIdSet": "

The ID/s of the Dedicated Host/s that the reservation will be associated with.

" - } - }, - "RequestSpotFleetRequest": { - "base": "

Contains the parameters for RequestSpotFleet.

", - "refs": { - } - }, - "RequestSpotFleetResponse": { - "base": "

Contains the output of RequestSpotFleet.

", - "refs": { - } - }, - "RequestSpotInstancesRequest": { - "base": "

Contains the parameters for RequestSpotInstances.

", - "refs": { - } - }, - "RequestSpotInstancesResult": { - "base": "

Contains the output of RequestSpotInstances.

", - "refs": { - } - }, - "RequestSpotLaunchSpecification": { - "base": "

Describes the launch specification for an instance.

", - "refs": { - "RequestSpotInstancesRequest$LaunchSpecification": null - } - }, - "Reservation": { - "base": "

Describes a reservation.

", - "refs": { - "ReservationList$member": null - } - }, - "ReservationList": { - "base": null, - "refs": { - "DescribeInstancesResult$Reservations": "

Zero or more reservations.

" - } - }, - "ReservationState": { - "base": null, - "refs": { - "HostReservation$State": "

The state of the reservation.

" - } - }, - "ReservedInstanceLimitPrice": { - "base": "

Describes the limit price of a Reserved Instance offering.

", - "refs": { - "PurchaseReservedInstancesOfferingRequest$LimitPrice": "

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

" - } - }, - "ReservedInstanceState": { - "base": null, - "refs": { - "ReservedInstances$State": "

The state of the Reserved Instance purchase.

" - } - }, - "ReservedInstances": { - "base": "

Describes a Reserved Instance.

", - "refs": { - "ReservedInstancesList$member": null - } - }, - "ReservedInstancesConfiguration": { - "base": "

Describes the configuration settings for the modified Reserved Instances.

", - "refs": { - "ReservedInstancesConfigurationList$member": null, - "ReservedInstancesModificationResult$TargetConfiguration": "

The target Reserved Instances configurations supplied as part of the modification request.

" - } - }, - "ReservedInstancesConfigurationList": { - "base": null, - "refs": { - "ModifyReservedInstancesRequest$TargetConfigurations": "

The configuration settings for the Reserved Instances to modify.

" - } - }, - "ReservedInstancesId": { - "base": "

Describes the ID of a Reserved Instance.

", - "refs": { - "ReservedIntancesIds$member": null - } - }, - "ReservedInstancesIdStringList": { - "base": null, - "refs": { - "DescribeReservedInstancesRequest$ReservedInstancesIds": "

One or more Reserved Instance IDs.

Default: Describes all your Reserved Instances, or only those otherwise specified.

", - "ModifyReservedInstancesRequest$ReservedInstancesIds": "

The IDs of the Reserved Instances to modify.

" - } - }, - "ReservedInstancesList": { - "base": null, - "refs": { - "DescribeReservedInstancesResult$ReservedInstances": "

A list of Reserved Instances.

" - } - }, - "ReservedInstancesListing": { - "base": "

Describes a Reserved Instance listing.

", - "refs": { - "ReservedInstancesListingList$member": null - } - }, - "ReservedInstancesListingList": { - "base": null, - "refs": { - "CancelReservedInstancesListingResult$ReservedInstancesListings": "

The Reserved Instance listing.

", - "CreateReservedInstancesListingResult$ReservedInstancesListings": "

Information about the Reserved Instance listing.

", - "DescribeReservedInstancesListingsResult$ReservedInstancesListings": "

Information about the Reserved Instance listing.

" - } - }, - "ReservedInstancesModification": { - "base": "

Describes a Reserved Instance modification.

", - "refs": { - "ReservedInstancesModificationList$member": null - } - }, - "ReservedInstancesModificationIdStringList": { - "base": null, - "refs": { - "DescribeReservedInstancesModificationsRequest$ReservedInstancesModificationIds": "

IDs for the submitted modification request.

" - } - }, - "ReservedInstancesModificationList": { - "base": null, - "refs": { - "DescribeReservedInstancesModificationsResult$ReservedInstancesModifications": "

The Reserved Instance modification information.

" - } - }, - "ReservedInstancesModificationResult": { - "base": "

Describes the modification request/s.

", - "refs": { - "ReservedInstancesModificationResultList$member": null - } - }, - "ReservedInstancesModificationResultList": { - "base": null, - "refs": { - "ReservedInstancesModification$ModificationResults": "

Contains target configurations along with their corresponding new Reserved Instance IDs.

" - } - }, - "ReservedInstancesOffering": { - "base": "

Describes a Reserved Instance offering.

", - "refs": { - "ReservedInstancesOfferingList$member": null - } - }, - "ReservedInstancesOfferingIdStringList": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$ReservedInstancesOfferingIds": "

One or more Reserved Instances offering IDs.

" - } - }, - "ReservedInstancesOfferingList": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsResult$ReservedInstancesOfferings": "

A list of Reserved Instances offerings.

" - } - }, - "ReservedIntancesIds": { - "base": null, - "refs": { - "ReservedInstancesModification$ReservedInstancesIds": "

The IDs of one or more Reserved Instances.

" - } - }, - "ResetImageAttributeName": { - "base": null, - "refs": { - "ResetImageAttributeRequest$Attribute": "

The attribute to reset (currently you can only reset the launch permission attribute).

" - } - }, - "ResetImageAttributeRequest": { - "base": "

Contains the parameters for ResetImageAttribute.

", - "refs": { - } - }, - "ResetInstanceAttributeRequest": { - "base": "

Contains the parameters for ResetInstanceAttribute.

", - "refs": { - } - }, - "ResetNetworkInterfaceAttributeRequest": { - "base": "

Contains the parameters for ResetNetworkInterfaceAttribute.

", - "refs": { - } - }, - "ResetSnapshotAttributeRequest": { - "base": "

Contains the parameters for ResetSnapshotAttribute.

", - "refs": { - } - }, - "ResourceIdList": { - "base": null, - "refs": { - "CreateTagsRequest$Resources": "

The IDs of one or more resources to tag. For example, ami-1a2b3c4d.

", - "DeleteTagsRequest$Resources": "

The ID of the resource. For example, ami-1a2b3c4d. You can specify more than one resource ID.

" - } - }, - "ResourceType": { - "base": null, - "refs": { - "TagDescription$ResourceType": "

The resource type.

" - } - }, - "ResponseHostIdList": { - "base": null, - "refs": { - "AllocateHostsResult$HostIds": "

The ID of the allocated Dedicated Host. This is used when you want to launch an instance onto a specific host.

", - "ModifyHostsResult$Successful": "

The IDs of the Dedicated Hosts that were successfully modified.

", - "ReleaseHostsResult$Successful": "

The IDs of the Dedicated Hosts that were successfully released.

" - } - }, - "ResponseHostIdSet": { - "base": null, - "refs": { - "HostReservation$HostIdSet": "

The IDs of the Dedicated Hosts associated with the reservation.

", - "Purchase$HostIdSet": "

The IDs of the Dedicated Hosts associated with the reservation.

" - } - }, - "RestorableByStringList": { - "base": null, - "refs": { - "DescribeSnapshotsRequest$RestorableByUserIds": "

One or more AWS accounts IDs that can create volumes from the snapshot.

" - } - }, - "RestoreAddressToClassicRequest": { - "base": "

Contains the parameters for RestoreAddressToClassic.

", - "refs": { - } - }, - "RestoreAddressToClassicResult": { - "base": "

Contains the output of RestoreAddressToClassic.

", - "refs": { - } - }, - "RevokeSecurityGroupEgressRequest": { - "base": "

Contains the parameters for RevokeSecurityGroupEgress.

", - "refs": { - } - }, - "RevokeSecurityGroupIngressRequest": { - "base": "

Contains the parameters for RevokeSecurityGroupIngress.

", - "refs": { - } - }, - "Route": { - "base": "

Describes a route in a route table.

", - "refs": { - "RouteList$member": null - } - }, - "RouteList": { - "base": null, - "refs": { - "RouteTable$Routes": "

The routes in the route table.

" - } - }, - "RouteOrigin": { - "base": null, - "refs": { - "Route$Origin": "

Describes how the route was created.

" - } - }, - "RouteState": { - "base": null, - "refs": { - "Route$State": "

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).

" - } - }, - "RouteTable": { - "base": "

Describes a route table.

", - "refs": { - "CreateRouteTableResult$RouteTable": "

Information about the route table.

", - "RouteTableList$member": null - } - }, - "RouteTableAssociation": { - "base": "

Describes an association between a route table and a subnet.

", - "refs": { - "RouteTableAssociationList$member": null - } - }, - "RouteTableAssociationList": { - "base": null, - "refs": { - "RouteTable$Associations": "

The associations between the route table and one or more subnets.

" - } - }, - "RouteTableList": { - "base": null, - "refs": { - "DescribeRouteTablesResult$RouteTables": "

Information about one or more route tables.

" - } - }, - "RuleAction": { - "base": null, - "refs": { - "CreateNetworkAclEntryRequest$RuleAction": "

Indicates whether to allow or deny the traffic that matches the rule.

", - "NetworkAclEntry$RuleAction": "

Indicates whether to allow or deny the traffic that matches the rule.

", - "ReplaceNetworkAclEntryRequest$RuleAction": "

Indicates whether to allow or deny the traffic that matches the rule.

" - } - }, - "RunInstancesMonitoringEnabled": { - "base": "

Describes the monitoring for the instance.

", - "refs": { - "LaunchSpecification$Monitoring": null, - "RequestSpotLaunchSpecification$Monitoring": null, - "RunInstancesRequest$Monitoring": "

The monitoring for the instance.

" - } - }, - "RunInstancesRequest": { - "base": "

Contains the parameters for RunInstances.

", - "refs": { - } - }, - "RunScheduledInstancesRequest": { - "base": "

Contains the parameters for RunScheduledInstances.

", - "refs": { - } - }, - "RunScheduledInstancesResult": { - "base": "

Contains the output of RunScheduledInstances.

", - "refs": { - } - }, - "S3Storage": { - "base": "

Describes the storage parameters for S3 and S3 buckets for an instance store-backed AMI.

", - "refs": { - "Storage$S3": "

An Amazon S3 storage location.

" - } - }, - "ScheduledInstance": { - "base": "

Describes a Scheduled Instance.

", - "refs": { - "PurchasedScheduledInstanceSet$member": null, - "ScheduledInstanceSet$member": null - } - }, - "ScheduledInstanceAvailability": { - "base": "

Describes a schedule that is available for your Scheduled Instances.

", - "refs": { - "ScheduledInstanceAvailabilitySet$member": null - } - }, - "ScheduledInstanceAvailabilitySet": { - "base": null, - "refs": { - "DescribeScheduledInstanceAvailabilityResult$ScheduledInstanceAvailabilitySet": "

Information about the available Scheduled Instances.

" - } - }, - "ScheduledInstanceIdRequestSet": { - "base": null, - "refs": { - "DescribeScheduledInstancesRequest$ScheduledInstanceIds": "

One or more Scheduled Instance IDs.

" - } - }, - "ScheduledInstanceRecurrence": { - "base": "

Describes the recurring schedule for a Scheduled Instance.

", - "refs": { - "ScheduledInstance$Recurrence": "

The schedule recurrence.

", - "ScheduledInstanceAvailability$Recurrence": "

The schedule recurrence.

" - } - }, - "ScheduledInstanceRecurrenceRequest": { - "base": "

Describes the recurring schedule for a Scheduled Instance.

", - "refs": { - "DescribeScheduledInstanceAvailabilityRequest$Recurrence": "

The schedule recurrence.

" - } - }, - "ScheduledInstanceSet": { - "base": null, - "refs": { - "DescribeScheduledInstancesResult$ScheduledInstanceSet": "

Information about the Scheduled Instances.

" - } - }, - "ScheduledInstancesBlockDeviceMapping": { - "base": "

Describes a block device mapping for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesBlockDeviceMappingSet$member": null - } - }, - "ScheduledInstancesBlockDeviceMappingSet": { - "base": null, - "refs": { - "ScheduledInstancesLaunchSpecification$BlockDeviceMappings": "

One or more block device mapping entries.

" - } - }, - "ScheduledInstancesEbs": { - "base": "

Describes an EBS volume for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesBlockDeviceMapping$Ebs": "

Parameters used to set up EBS volumes automatically when the instance is launched.

" - } - }, - "ScheduledInstancesIamInstanceProfile": { - "base": "

Describes an IAM instance profile for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesLaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

" - } - }, - "ScheduledInstancesLaunchSpecification": { - "base": "

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.

", - "refs": { - "RunScheduledInstancesRequest$LaunchSpecification": "

The launch specification. You must match the instance type, Availability Zone, network, and platform of the schedule that you purchased.

" - } - }, - "ScheduledInstancesMonitoring": { - "base": "

Describes whether monitoring is enabled for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesLaunchSpecification$Monitoring": "

Enable or disable monitoring for the instances.

" - } - }, - "ScheduledInstancesNetworkInterface": { - "base": "

Describes a network interface for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesNetworkInterfaceSet$member": null - } - }, - "ScheduledInstancesNetworkInterfaceSet": { - "base": null, - "refs": { - "ScheduledInstancesLaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

" - } - }, - "ScheduledInstancesPlacement": { - "base": "

Describes the placement for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesLaunchSpecification$Placement": "

The placement information.

" - } - }, - "ScheduledInstancesPrivateIpAddressConfig": { - "base": "

Describes a private IP address for a Scheduled Instance.

", - "refs": { - "PrivateIpAddressConfigSet$member": null - } - }, - "ScheduledInstancesSecurityGroupIdSet": { - "base": null, - "refs": { - "ScheduledInstancesLaunchSpecification$SecurityGroupIds": "

The IDs of one or more security groups.

", - "ScheduledInstancesNetworkInterface$Groups": "

The IDs of one or more security groups.

" - } - }, - "SecurityGroup": { - "base": "

Describes a security group

", - "refs": { - "SecurityGroupList$member": null - } - }, - "SecurityGroupIdStringList": { - "base": null, - "refs": { - "CreateNetworkInterfaceRequest$Groups": "

The IDs of one or more security groups.

", - "ImportInstanceLaunchSpecification$GroupIds": "

One or more security group IDs.

", - "InstanceNetworkInterfaceSpecification$Groups": "

The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

", - "ModifyNetworkInterfaceAttributeRequest$Groups": "

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.

", - "RunInstancesRequest$SecurityGroupIds": "

One or more security group IDs. You can create a security group using CreateSecurityGroup.

Default: Amazon EC2 uses the default security group.

" - } - }, - "SecurityGroupList": { - "base": null, - "refs": { - "DescribeSecurityGroupsResult$SecurityGroups": "

Information about one or more security groups.

" - } - }, - "SecurityGroupReference": { - "base": "

Describes a VPC with a security group that references your security group.

", - "refs": { - "SecurityGroupReferences$member": null - } - }, - "SecurityGroupReferences": { - "base": null, - "refs": { - "DescribeSecurityGroupReferencesResult$SecurityGroupReferenceSet": "

Information about the VPCs with the referencing security groups.

" - } - }, - "SecurityGroupStringList": { - "base": null, - "refs": { - "ImportInstanceLaunchSpecification$GroupNames": "

One or more security group names.

", - "RunInstancesRequest$SecurityGroups": "

[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.

" - } - }, - "ShutdownBehavior": { - "base": null, - "refs": { - "ImportInstanceLaunchSpecification$InstanceInitiatedShutdownBehavior": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "RunInstancesRequest$InstanceInitiatedShutdownBehavior": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

" - } - }, - "SlotDateTimeRangeRequest": { - "base": "

Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

", - "refs": { - "DescribeScheduledInstanceAvailabilityRequest$FirstSlotStartTimeRange": "

The time period for the first schedule to start.

" - } - }, - "SlotStartTimeRangeRequest": { - "base": "

Describes the time period for a Scheduled Instance to start its first schedule.

", - "refs": { - "DescribeScheduledInstancesRequest$SlotStartTimeRange": "

The time period for the first schedule to start.

" - } - }, - "Snapshot": { - "base": "

Describes a snapshot.

", - "refs": { - "SnapshotList$member": null - } - }, - "SnapshotAttributeName": { - "base": null, - "refs": { - "DescribeSnapshotAttributeRequest$Attribute": "

The snapshot attribute you would like to view.

", - "ModifySnapshotAttributeRequest$Attribute": "

The snapshot attribute to modify.

Only volume creation permissions may be modified at the customer level.

", - "ResetSnapshotAttributeRequest$Attribute": "

The attribute to reset. Currently, only the attribute for permission to create volumes can be reset.

" - } - }, - "SnapshotDetail": { - "base": "

Describes the snapshot created from the imported disk.

", - "refs": { - "SnapshotDetailList$member": null - } - }, - "SnapshotDetailList": { - "base": null, - "refs": { - "ImportImageResult$SnapshotDetails": "

Information about the snapshots.

", - "ImportImageTask$SnapshotDetails": "

Information about the snapshots.

" - } - }, - "SnapshotDiskContainer": { - "base": "

The disk container object for the import snapshot request.

", - "refs": { - "ImportSnapshotRequest$DiskContainer": "

Information about the disk container.

" - } - }, - "SnapshotIdStringList": { - "base": null, - "refs": { - "DescribeSnapshotsRequest$SnapshotIds": "

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

" - } - }, - "SnapshotList": { - "base": null, - "refs": { - "DescribeSnapshotsResult$Snapshots": "

Information about the snapshots.

" - } - }, - "SnapshotState": { - "base": null, - "refs": { - "Snapshot$State": "

The snapshot state.

" - } - }, - "SnapshotTaskDetail": { - "base": "

Details about the import snapshot task.

", - "refs": { - "ImportSnapshotResult$SnapshotTaskDetail": "

Information about the import snapshot task.

", - "ImportSnapshotTask$SnapshotTaskDetail": "

Describes an import snapshot task.

" - } - }, - "SpotDatafeedSubscription": { - "base": "

Describes the data feed for a Spot instance.

", - "refs": { - "CreateSpotDatafeedSubscriptionResult$SpotDatafeedSubscription": "

The Spot instance data feed subscription.

", - "DescribeSpotDatafeedSubscriptionResult$SpotDatafeedSubscription": "

The Spot instance data feed subscription.

" - } - }, - "SpotFleetLaunchSpecification": { - "base": "

Describes the launch specification for one or more Spot instances.

", - "refs": { - "LaunchSpecsList$member": null - } - }, - "SpotFleetMonitoring": { - "base": "

Describes whether monitoring is enabled.

", - "refs": { - "SpotFleetLaunchSpecification$Monitoring": "

Enable or disable monitoring for the instances.

" - } - }, - "SpotFleetRequestConfig": { - "base": "

Describes a Spot fleet request.

", - "refs": { - "SpotFleetRequestConfigSet$member": null - } - }, - "SpotFleetRequestConfigData": { - "base": "

Describes the configuration of a Spot fleet request.

", - "refs": { - "RequestSpotFleetRequest$SpotFleetRequestConfig": "

The configuration for the Spot fleet request.

", - "SpotFleetRequestConfig$SpotFleetRequestConfig": "

Information about the configuration of the Spot fleet request.

" - } - }, - "SpotFleetRequestConfigSet": { - "base": null, - "refs": { - "DescribeSpotFleetRequestsResponse$SpotFleetRequestConfigs": "

Information about the configuration of your Spot fleet.

" - } - }, - "SpotInstanceRequest": { - "base": "

Describes a Spot instance request.

", - "refs": { - "SpotInstanceRequestList$member": null - } - }, - "SpotInstanceRequestIdList": { - "base": null, - "refs": { - "CancelSpotInstanceRequestsRequest$SpotInstanceRequestIds": "

One or more Spot instance request IDs.

", - "DescribeSpotInstanceRequestsRequest$SpotInstanceRequestIds": "

One or more Spot instance request IDs.

" - } - }, - "SpotInstanceRequestList": { - "base": null, - "refs": { - "DescribeSpotInstanceRequestsResult$SpotInstanceRequests": "

One or more Spot instance requests.

", - "RequestSpotInstancesResult$SpotInstanceRequests": "

One or more Spot instance requests.

" - } - }, - "SpotInstanceState": { - "base": null, - "refs": { - "SpotInstanceRequest$State": "

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.

" - } - }, - "SpotInstanceStateFault": { - "base": "

Describes a Spot instance state change.

", - "refs": { - "SpotDatafeedSubscription$Fault": "

The fault codes for the Spot instance request, if any.

", - "SpotInstanceRequest$Fault": "

The fault codes for the Spot instance request, if any.

" - } - }, - "SpotInstanceStatus": { - "base": "

Describes the status of a Spot instance request.

", - "refs": { - "SpotInstanceRequest$Status": "

The status code and status message describing the Spot instance request.

" - } - }, - "SpotInstanceType": { - "base": null, - "refs": { - "RequestSpotInstancesRequest$Type": "

The Spot instance request type.

Default: one-time

", - "SpotInstanceRequest$Type": "

The Spot instance request type.

" - } - }, - "SpotPlacement": { - "base": "

Describes Spot instance placement.

", - "refs": { - "LaunchSpecification$Placement": "

The placement information for the instance.

", - "RequestSpotLaunchSpecification$Placement": "

The placement information for the instance.

", - "SpotFleetLaunchSpecification$Placement": "

The placement information.

" - } - }, - "SpotPrice": { - "base": "

Describes the maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "refs": { - "SpotPriceHistoryList$member": null - } - }, - "SpotPriceHistoryList": { - "base": null, - "refs": { - "DescribeSpotPriceHistoryResult$SpotPriceHistory": "

The historical Spot prices.

" - } - }, - "StaleIpPermission": { - "base": "

Describes a stale rule in a security group.

", - "refs": { - "StaleIpPermissionSet$member": null - } - }, - "StaleIpPermissionSet": { - "base": null, - "refs": { - "StaleSecurityGroup$StaleIpPermissions": "

Information about the stale inbound rules in the security group.

", - "StaleSecurityGroup$StaleIpPermissionsEgress": "

Information about the stale outbound rules in the security group.

" - } - }, - "StaleSecurityGroup": { - "base": "

Describes a stale security group (a security group that contains stale rules).

", - "refs": { - "StaleSecurityGroupSet$member": null - } - }, - "StaleSecurityGroupSet": { - "base": null, - "refs": { - "DescribeStaleSecurityGroupsResult$StaleSecurityGroupSet": "

Information about the stale security groups.

" - } - }, - "StartInstancesRequest": { - "base": "

Contains the parameters for StartInstances.

", - "refs": { - } - }, - "StartInstancesResult": { - "base": "

Contains the output of StartInstances.

", - "refs": { - } - }, - "State": { - "base": null, - "refs": { - "VpcEndpoint$State": "

The state of the VPC endpoint.

" - } - }, - "StateReason": { - "base": "

Describes a state change.

", - "refs": { - "Image$StateReason": "

The reason for the state change.

", - "Instance$StateReason": "

The reason for the most recent state transition.

" - } - }, - "Status": { - "base": null, - "refs": { - "MoveAddressToVpcResult$Status": "

The status of the move of the IP address.

", - "RestoreAddressToClassicResult$Status": "

The move status for the IP address.

" - } - }, - "StatusName": { - "base": null, - "refs": { - "InstanceStatusDetails$Name": "

The type of instance status.

" - } - }, - "StatusType": { - "base": null, - "refs": { - "InstanceStatusDetails$Status": "

The status.

" - } - }, - "StopInstancesRequest": { - "base": "

Contains the parameters for StopInstances.

", - "refs": { - } - }, - "StopInstancesResult": { - "base": "

Contains the output of StopInstances.

", - "refs": { - } - }, - "Storage": { - "base": "

Describes the storage location for an instance store-backed AMI.

", - "refs": { - "BundleInstanceRequest$Storage": "

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.

", - "BundleTask$Storage": "

The Amazon S3 storage locations.

" - } - }, - "String": { - "base": null, - "refs": { - "AcceptVpcPeeringConnectionRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "AccountAttribute$AttributeName": "

The name of the account attribute.

", - "AccountAttributeValue$AttributeValue": "

The value of the attribute.

", - "ActiveInstance$InstanceType": "

The instance type.

", - "ActiveInstance$InstanceId": "

The ID of the instance.

", - "ActiveInstance$SpotInstanceRequestId": "

The ID of the Spot instance request.

", - "Address$InstanceId": "

The ID of the instance that the address is associated with (if any).

", - "Address$PublicIp": "

The Elastic IP address.

", - "Address$AllocationId": "

The ID representing the allocation of the address for use with EC2-VPC.

", - "Address$AssociationId": "

The ID representing the association of the address with an instance in a VPC.

", - "Address$NetworkInterfaceId": "

The ID of the network interface.

", - "Address$NetworkInterfaceOwnerId": "

The ID of the AWS account that owns the network interface.

", - "Address$PrivateIpAddress": "

The private IP address associated with the Elastic IP address.

", - "AllocateAddressResult$PublicIp": "

The Elastic IP address.

", - "AllocateAddressResult$AllocationId": "

[EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

", - "AllocateHostsRequest$ClientToken": "

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.

", - "AllocateHostsRequest$InstanceType": "

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.

", - "AllocateHostsRequest$AvailabilityZone": "

The Availability Zone for the Dedicated Hosts.

", - "AllocationIdList$member": null, - "AssignPrivateIpAddressesRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "AssociateAddressRequest$InstanceId": "

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.

", - "AssociateAddressRequest$PublicIp": "

The Elastic IP address. This is required for EC2-Classic.

", - "AssociateAddressRequest$AllocationId": "

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

", - "AssociateAddressRequest$NetworkInterfaceId": "

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

", - "AssociateAddressRequest$PrivateIpAddress": "

[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.

", - "AssociateAddressResult$AssociationId": "

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", - "AssociateDhcpOptionsRequest$DhcpOptionsId": "

The ID of the DHCP options set, or default to associate no DHCP options with the VPC.

", - "AssociateDhcpOptionsRequest$VpcId": "

The ID of the VPC.

", - "AssociateRouteTableRequest$SubnetId": "

The ID of the subnet.

", - "AssociateRouteTableRequest$RouteTableId": "

The ID of the route table.

", - "AssociateRouteTableResult$AssociationId": "

The route table association ID (needed to disassociate the route table).

", - "AttachClassicLinkVpcRequest$InstanceId": "

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", - "AttachClassicLinkVpcRequest$VpcId": "

The ID of a ClassicLink-enabled VPC.

", - "AttachInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", - "AttachInternetGatewayRequest$VpcId": "

The ID of the VPC.

", - "AttachNetworkInterfaceRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "AttachNetworkInterfaceRequest$InstanceId": "

The ID of the instance.

", - "AttachNetworkInterfaceResult$AttachmentId": "

The ID of the network interface attachment.

", - "AttachVolumeRequest$VolumeId": "

The ID of the EBS volume. The volume and instance must be within the same Availability Zone.

", - "AttachVolumeRequest$InstanceId": "

The ID of the instance.

", - "AttachVolumeRequest$Device": "

The device name to expose to the instance (for example, /dev/sdh or xvdh).

", - "AttachVpnGatewayRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "AttachVpnGatewayRequest$VpcId": "

The ID of the VPC.

", - "AttributeValue$Value": "

The attribute value. Note that the value is case-sensitive.

", - "AuthorizeSecurityGroupEgressRequest$GroupId": "

The ID of the security group.

", - "AuthorizeSecurityGroupEgressRequest$SourceSecurityGroupName": "

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.

", - "AuthorizeSecurityGroupEgressRequest$SourceSecurityGroupOwnerId": "

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.

", - "AuthorizeSecurityGroupEgressRequest$IpProtocol": "

The IP protocol name or number. We recommend that you specify the protocol in a set of IP permissions instead.

", - "AuthorizeSecurityGroupEgressRequest$CidrIp": "

The CIDR IP address range. We recommend that you specify the CIDR range in a set of IP permissions instead.

", - "AuthorizeSecurityGroupIngressRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group.

", - "AuthorizeSecurityGroupIngressRequest$GroupId": "

The ID of the security group. Required for a nondefault VPC.

", - "AuthorizeSecurityGroupIngressRequest$SourceSecurityGroupName": "

[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.

", - "AuthorizeSecurityGroupIngressRequest$SourceSecurityGroupOwnerId": "

[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.

", - "AuthorizeSecurityGroupIngressRequest$IpProtocol": "

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.

", - "AuthorizeSecurityGroupIngressRequest$CidrIp": "

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "AvailabilityZone$ZoneName": "

The name of the Availability Zone.

", - "AvailabilityZone$RegionName": "

The name of the region.

", - "AvailabilityZoneMessage$Message": "

The message about the Availability Zone.

", - "BlockDeviceMapping$VirtualName": "

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.

", - "BlockDeviceMapping$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "BlockDeviceMapping$NoDevice": "

Suppresses the specified device included in the block device mapping of the AMI.

", - "BundleIdStringList$member": null, - "BundleInstanceRequest$InstanceId": "

The ID of the instance to bundle.

Type: String

Default: None

Required: Yes

", - "BundleTask$InstanceId": "

The ID of the instance associated with this bundle task.

", - "BundleTask$BundleId": "

The ID of the bundle task.

", - "BundleTask$Progress": "

The level of task completion, as a percent (for example, 20%).

", - "BundleTaskError$Code": "

The error code.

", - "BundleTaskError$Message": "

The error message.

", - "CancelBundleTaskRequest$BundleId": "

The ID of the bundle task.

", - "CancelConversionRequest$ConversionTaskId": "

The ID of the conversion task.

", - "CancelConversionRequest$ReasonMessage": "

The reason for canceling the conversion task.

", - "CancelExportTaskRequest$ExportTaskId": "

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", - "CancelImportTaskRequest$ImportTaskId": "

The ID of the import image or import snapshot task to be canceled.

", - "CancelImportTaskRequest$CancelReason": "

The reason for canceling the task.

", - "CancelImportTaskResult$ImportTaskId": "

The ID of the task being canceled.

", - "CancelImportTaskResult$State": "

The current state of the task being canceled.

", - "CancelImportTaskResult$PreviousState": "

The current state of the task being canceled.

", - "CancelReservedInstancesListingRequest$ReservedInstancesListingId": "

The ID of the Reserved Instance listing.

", - "CancelSpotFleetRequestsError$Message": "

The description for the error code.

", - "CancelSpotFleetRequestsErrorItem$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "CancelSpotFleetRequestsSuccessItem$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "CancelledSpotInstanceRequest$SpotInstanceRequestId": "

The ID of the Spot instance request.

", - "ClassicLinkDnsSupport$VpcId": "

The ID of the VPC.

", - "ClassicLinkInstance$InstanceId": "

The ID of the instance.

", - "ClassicLinkInstance$VpcId": "

The ID of the VPC.

", - "ClientData$Comment": "

A user-defined comment about the disk upload.

", - "ConfirmProductInstanceRequest$ProductCode": "

The product code. This must be a product code that you own.

", - "ConfirmProductInstanceRequest$InstanceId": "

The ID of the instance.

", - "ConfirmProductInstanceResult$OwnerId": "

The AWS account ID of the instance owner. This is only present if the product code is attached to the instance.

", - "ConversionIdStringList$member": null, - "ConversionTask$ConversionTaskId": "

The ID of the conversion task.

", - "ConversionTask$ExpirationTime": "

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", - "ConversionTask$StatusMessage": "

The status message related to the conversion task.

", - "CopyImageRequest$SourceRegion": "

The name of the region that contains the AMI to copy.

", - "CopyImageRequest$SourceImageId": "

The ID of the AMI to copy.

", - "CopyImageRequest$Name": "

The name of the new AMI in the destination region.

", - "CopyImageRequest$Description": "

A description for the new AMI in the destination region.

", - "CopyImageRequest$ClientToken": "

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.

", - "CopyImageRequest$KmsKeyId": "

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.

", - "CopyImageResult$ImageId": "

The ID of the new AMI.

", - "CopySnapshotRequest$SourceRegion": "

The ID of the region that contains the snapshot to be copied.

", - "CopySnapshotRequest$SourceSnapshotId": "

The ID of the EBS snapshot to copy.

", - "CopySnapshotRequest$Description": "

A description for the EBS snapshot.

", - "CopySnapshotRequest$DestinationRegion": "

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).

", - "CopySnapshotRequest$PresignedUrl": "

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.

", - "CopySnapshotRequest$KmsKeyId": "

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.

", - "CopySnapshotResult$SnapshotId": "

The ID of the new snapshot.

", - "CreateCustomerGatewayRequest$PublicIp": "

The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

", - "CreateFlowLogsRequest$LogGroupName": "

The name of the CloudWatch log group.

", - "CreateFlowLogsRequest$DeliverLogsPermissionArn": "

The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group.

", - "CreateFlowLogsRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", - "CreateFlowLogsResult$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", - "CreateImageRequest$InstanceId": "

The ID of the instance.

", - "CreateImageRequest$Name": "

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "CreateImageRequest$Description": "

A description for the new image.

", - "CreateImageResult$ImageId": "

The ID of the new AMI.

", - "CreateInstanceExportTaskRequest$Description": "

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", - "CreateInstanceExportTaskRequest$InstanceId": "

The ID of the instance.

", - "CreateKeyPairRequest$KeyName": "

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

", - "CreateNatGatewayRequest$SubnetId": "

The subnet in which to create the NAT gateway.

", - "CreateNatGatewayRequest$AllocationId": "

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.

", - "CreateNatGatewayRequest$ClientToken": "

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.

", - "CreateNatGatewayResult$ClientToken": "

Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

", - "CreateNetworkAclEntryRequest$NetworkAclId": "

The ID of the network ACL.

", - "CreateNetworkAclEntryRequest$Protocol": "

The protocol. A value of -1 means all protocols.

", - "CreateNetworkAclEntryRequest$CidrBlock": "

The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "CreateNetworkAclRequest$VpcId": "

The ID of the VPC.

", - "CreateNetworkInterfaceRequest$SubnetId": "

The ID of the subnet to associate with the network interface.

", - "CreateNetworkInterfaceRequest$Description": "

A description for the network interface.

", - "CreateNetworkInterfaceRequest$PrivateIpAddress": "

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).

", - "CreatePlacementGroupRequest$GroupName": "

A name for the placement group.

Constraints: Up to 255 ASCII characters

", - "CreateReservedInstancesListingRequest$ReservedInstancesId": "

The ID of the active Reserved Instance.

", - "CreateReservedInstancesListingRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "CreateRouteRequest$RouteTableId": "

The ID of the route table for the route.

", - "CreateRouteRequest$DestinationCidrBlock": "

The CIDR address block used for the destination match. Routing decisions are based on the most specific match.

", - "CreateRouteRequest$GatewayId": "

The ID of an Internet gateway or virtual private gateway attached to your VPC.

", - "CreateRouteRequest$InstanceId": "

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.

", - "CreateRouteRequest$NetworkInterfaceId": "

The ID of a network interface.

", - "CreateRouteRequest$VpcPeeringConnectionId": "

The ID of a VPC peering connection.

", - "CreateRouteRequest$NatGatewayId": "

The ID of a NAT gateway.

", - "CreateRouteTableRequest$VpcId": "

The ID of the VPC.

", - "CreateSecurityGroupRequest$GroupName": "

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 ._-:/()#,@[]+=&;{}!$*

", - "CreateSecurityGroupRequest$Description": "

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 ._-:/()#,@[]+=&;{}!$*

", - "CreateSecurityGroupRequest$VpcId": "

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

", - "CreateSecurityGroupResult$GroupId": "

The ID of the security group.

", - "CreateSnapshotRequest$VolumeId": "

The ID of the EBS volume.

", - "CreateSnapshotRequest$Description": "

A description for the snapshot.

", - "CreateSpotDatafeedSubscriptionRequest$Bucket": "

The Amazon S3 bucket in which to store the Spot instance data feed.

", - "CreateSpotDatafeedSubscriptionRequest$Prefix": "

A prefix for the data feed file names.

", - "CreateSubnetRequest$VpcId": "

The ID of the VPC.

", - "CreateSubnetRequest$CidrBlock": "

The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.

", - "CreateSubnetRequest$AvailabilityZone": "

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.

", - "CreateVolumePermission$UserId": "

The specific AWS account ID that is to be added or removed from a volume's list of create volume permissions.

", - "CreateVolumeRequest$SnapshotId": "

The snapshot from which to create the volume.

", - "CreateVolumeRequest$AvailabilityZone": "

The Availability Zone in which to create the volume. Use DescribeAvailabilityZones to list the Availability Zones that are currently available to you.

", - "CreateVolumeRequest$KmsKeyId": "

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$VpcId": "

The ID of the VPC in which the endpoint will be used.

", - "CreateVpcEndpointRequest$ServiceName": "

The AWS service name, in the form com.amazonaws.region.service . To get a list of available services, use the DescribeVpcEndpointServices request.

", - "CreateVpcEndpointRequest$PolicyDocument": "

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.

", - "CreateVpcEndpointRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", - "CreateVpcEndpointResult$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", - "CreateVpcPeeringConnectionRequest$VpcId": "

The ID of the requester VPC.

", - "CreateVpcPeeringConnectionRequest$PeerVpcId": "

The ID of the VPC with which you are creating the VPC peering connection.

", - "CreateVpcPeeringConnectionRequest$PeerOwnerId": "

The AWS account ID of the owner of the peer VPC.

Default: Your AWS account ID

", - "CreateVpcRequest$CidrBlock": "

The network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.

", - "CreateVpnConnectionRequest$Type": "

The type of VPN connection (ipsec.1).

", - "CreateVpnConnectionRequest$CustomerGatewayId": "

The ID of the customer gateway.

", - "CreateVpnConnectionRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "CreateVpnConnectionRouteRequest$VpnConnectionId": "

The ID of the VPN connection.

", - "CreateVpnConnectionRouteRequest$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer network.

", - "CreateVpnGatewayRequest$AvailabilityZone": "

The Availability Zone for the virtual private gateway.

", - "CustomerGateway$CustomerGatewayId": "

The ID of the customer gateway.

", - "CustomerGateway$State": "

The current state of the customer gateway (pending | available | deleting | deleted).

", - "CustomerGateway$Type": "

The type of VPN connection the customer gateway supports (ipsec.1).

", - "CustomerGateway$IpAddress": "

The Internet-routable IP address of the customer gateway's outside interface.

", - "CustomerGateway$BgpAsn": "

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

", - "CustomerGatewayIdStringList$member": null, - "DeleteCustomerGatewayRequest$CustomerGatewayId": "

The ID of the customer gateway.

", - "DeleteDhcpOptionsRequest$DhcpOptionsId": "

The ID of the DHCP options set.

", - "DeleteInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", - "DeleteKeyPairRequest$KeyName": "

The name of the key pair.

", - "DeleteNatGatewayRequest$NatGatewayId": "

The ID of the NAT gateway.

", - "DeleteNatGatewayResult$NatGatewayId": "

The ID of the NAT gateway.

", - "DeleteNetworkAclEntryRequest$NetworkAclId": "

The ID of the network ACL.

", - "DeleteNetworkAclRequest$NetworkAclId": "

The ID of the network ACL.

", - "DeleteNetworkInterfaceRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "DeletePlacementGroupRequest$GroupName": "

The name of the placement group.

", - "DeleteRouteRequest$RouteTableId": "

The ID of the route table.

", - "DeleteRouteRequest$DestinationCidrBlock": "

The CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "DeleteRouteTableRequest$RouteTableId": "

The ID of the route table.

", - "DeleteSecurityGroupRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group. You can specify either the security group name or the security group ID.

", - "DeleteSecurityGroupRequest$GroupId": "

The ID of the security group. Required for a nondefault VPC.

", - "DeleteSnapshotRequest$SnapshotId": "

The ID of the EBS snapshot.

", - "DeleteSubnetRequest$SubnetId": "

The ID of the subnet.

", - "DeleteVolumeRequest$VolumeId": "

The ID of the volume.

", - "DeleteVpcPeeringConnectionRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "DeleteVpcRequest$VpcId": "

The ID of the VPC.

", - "DeleteVpnConnectionRequest$VpnConnectionId": "

The ID of the VPN connection.

", - "DeleteVpnConnectionRouteRequest$VpnConnectionId": "

The ID of the VPN connection.

", - "DeleteVpnConnectionRouteRequest$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer network.

", - "DeleteVpnGatewayRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "DeregisterImageRequest$ImageId": "

The ID of the AMI.

", - "DescribeClassicLinkInstancesRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeClassicLinkInstancesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeFlowLogsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeFlowLogsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeHostReservationOfferingsRequest$OfferingId": "

The ID of the reservation offering.

", - "DescribeHostReservationOfferingsRequest$NextToken": "

The token to use to retrieve the next page of results.

", - "DescribeHostReservationOfferingsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeHostReservationsRequest$NextToken": "

The token to use to retrieve the next page of results.

", - "DescribeHostReservationsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeHostsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeHostsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", - "DescribeIdentityIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", - "DescribeIdentityIdFormatRequest$PrincipalArn": "

The ARN of the principal, which can be an IAM role, IAM user, or the root user.

", - "DescribeImageAttributeRequest$ImageId": "

The ID of the AMI.

", - "DescribeImportImageTasksRequest$NextToken": "

A token that indicates the next page of results.

", - "DescribeImportImageTasksResult$NextToken": "

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "DescribeImportSnapshotTasksRequest$NextToken": "

A token that indicates the next page of results.

", - "DescribeImportSnapshotTasksResult$NextToken": "

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "DescribeInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", - "DescribeInstanceStatusRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeInstanceStatusResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeInstancesRequest$NextToken": "

The token to request the next page of results.

", - "DescribeInstancesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeMovingAddressesRequest$NextToken": "

The token to use to retrieve the next page of results.

", - "DescribeMovingAddressesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeNatGatewaysRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeNatGatewaysResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeNetworkInterfaceAttributeRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "DescribeNetworkInterfaceAttributeResult$NetworkInterfaceId": "

The ID of the network interface.

", - "DescribePrefixListsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribePrefixListsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DescribeReservedInstancesListingsRequest$ReservedInstancesId": "

One or more Reserved Instance IDs.

", - "DescribeReservedInstancesListingsRequest$ReservedInstancesListingId": "

One or more Reserved Instance listing IDs.

", - "DescribeReservedInstancesModificationsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeReservedInstancesModificationsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeReservedInstancesOfferingsRequest$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", - "DescribeReservedInstancesOfferingsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeReservedInstancesOfferingsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeScheduledInstanceAvailabilityRequest$NextToken": "

The token for the next set of results.

", - "DescribeScheduledInstanceAvailabilityResult$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeScheduledInstancesRequest$NextToken": "

The token for the next set of results.

", - "DescribeScheduledInstancesResult$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSnapshotAttributeRequest$SnapshotId": "

The ID of the EBS snapshot.

", - "DescribeSnapshotAttributeResult$SnapshotId": "

The ID of the EBS snapshot.

", - "DescribeSnapshotsRequest$NextToken": "

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.

", - "DescribeSnapshotsResult$NextToken": "

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.

", - "DescribeSpotFleetInstancesRequest$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetInstancesRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotFleetInstancesResponse$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetInstancesResponse$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSpotFleetRequestHistoryRequest$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetRequestHistoryRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotFleetRequestHistoryResponse$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetRequestHistoryResponse$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSpotFleetRequestsRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotFleetRequestsResponse$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSpotPriceHistoryRequest$AvailabilityZone": "

Filters the results by the specified Availability Zone.

", - "DescribeSpotPriceHistoryRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotPriceHistoryResult$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeStaleSecurityGroupsRequest$VpcId": "

The ID of the VPC.

", - "DescribeStaleSecurityGroupsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DescribeTagsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeTagsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return..

", - "DescribeVolumeAttributeRequest$VolumeId": "

The ID of the volume.

", - "DescribeVolumeAttributeResult$VolumeId": "

The ID of the volume.

", - "DescribeVolumeStatusRequest$NextToken": "

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.

", - "DescribeVolumeStatusResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeVolumesRequest$NextToken": "

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.

", - "DescribeVolumesResult$NextToken": "

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.

", - "DescribeVpcAttributeRequest$VpcId": "

The ID of the VPC.

", - "DescribeVpcAttributeResult$VpcId": "

The ID of the VPC.

", - "DescribeVpcEndpointServicesRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcEndpointServicesResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DescribeVpcEndpointsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcEndpointsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DetachClassicLinkVpcRequest$InstanceId": "

The ID of the instance to unlink from the VPC.

", - "DetachClassicLinkVpcRequest$VpcId": "

The ID of the VPC to which the instance is linked.

", - "DetachInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", - "DetachInternetGatewayRequest$VpcId": "

The ID of the VPC.

", - "DetachNetworkInterfaceRequest$AttachmentId": "

The ID of the attachment.

", - "DetachVolumeRequest$VolumeId": "

The ID of the volume.

", - "DetachVolumeRequest$InstanceId": "

The ID of the instance.

", - "DetachVolumeRequest$Device": "

The device name.

", - "DetachVpnGatewayRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "DetachVpnGatewayRequest$VpcId": "

The ID of the VPC.

", - "DhcpConfiguration$Key": "

The name of a DHCP option.

", - "DhcpOptions$DhcpOptionsId": "

The ID of the set of DHCP options.

", - "DhcpOptionsIdStringList$member": null, - "DisableVgwRoutePropagationRequest$RouteTableId": "

The ID of the route table.

", - "DisableVgwRoutePropagationRequest$GatewayId": "

The ID of the virtual private gateway.

", - "DisableVpcClassicLinkDnsSupportRequest$VpcId": "

The ID of the VPC.

", - "DisableVpcClassicLinkRequest$VpcId": "

The ID of the VPC.

", - "DisassociateAddressRequest$PublicIp": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

", - "DisassociateAddressRequest$AssociationId": "

[EC2-VPC] The association ID. Required for EC2-VPC.

", - "DisassociateRouteTableRequest$AssociationId": "

The association ID representing the current association between the route table and subnet.

", - "DiskImage$Description": "

A description of the disk image.

", - "DiskImageDescription$ImportManifestUrl": "

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.

", - "DiskImageDescription$Checksum": "

The checksum computed for the disk image.

", - "DiskImageDetail$ImportManifestUrl": "

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.

", - "DiskImageVolumeDescription$Id": "

The volume identifier.

", - "EbsBlockDevice$SnapshotId": "

The ID of the snapshot.

", - "EbsInstanceBlockDevice$VolumeId": "

The ID of the EBS volume.

", - "EbsInstanceBlockDeviceSpecification$VolumeId": "

The ID of the EBS volume.

", - "EnableVgwRoutePropagationRequest$RouteTableId": "

The ID of the route table.

", - "EnableVgwRoutePropagationRequest$GatewayId": "

The ID of the virtual private gateway.

", - "EnableVolumeIORequest$VolumeId": "

The ID of the volume.

", - "EnableVpcClassicLinkDnsSupportRequest$VpcId": "

The ID of the VPC.

", - "EnableVpcClassicLinkRequest$VpcId": "

The ID of the VPC.

", - "EventInformation$InstanceId": "

The ID of the instance. This information is available only for instanceChange events.

", - "EventInformation$EventSubType": "

The event.

The following are the error events.

The following are the fleetRequestChange events.

The following are the instanceChange events.

", - "EventInformation$EventDescription": "

The description of the event.

", - "ExecutableByStringList$member": null, - "ExportTask$ExportTaskId": "

The ID of the export task.

", - "ExportTask$Description": "

A description of the resource being exported.

", - "ExportTask$StatusMessage": "

The status message related to the export task.

", - "ExportTaskIdStringList$member": null, - "ExportToS3Task$S3Bucket": "

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.

", - "ExportToS3Task$S3Key": "

The encryption key for your S3 bucket.

", - "ExportToS3TaskSpecification$S3Bucket": "

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.

", - "ExportToS3TaskSpecification$S3Prefix": "

The image is written to a single object in the S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", - "Filter$Name": "

The name of the filter. Filter names are case-sensitive.

", - "FlowLog$FlowLogId": "

The flow log ID.

", - "FlowLog$FlowLogStatus": "

The status of the flow log (ACTIVE).

", - "FlowLog$ResourceId": "

The ID of the resource on which the flow log was created.

", - "FlowLog$LogGroupName": "

The name of the flow log group.

", - "FlowLog$DeliverLogsStatus": "

The status of the logs delivery (SUCCESS | FAILED).

", - "FlowLog$DeliverLogsErrorMessage": "

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.

", - "FlowLog$DeliverLogsPermissionArn": "

The ARN of the IAM role that posts logs to CloudWatch Logs.

", - "GetConsoleOutputRequest$InstanceId": "

The ID of the instance.

", - "GetConsoleOutputResult$InstanceId": "

The ID of the instance.

", - "GetConsoleOutputResult$Output": "

The console output, Base64-encoded. If using a command line tool, the tool decodes the output for you.

", - "GetConsoleScreenshotRequest$InstanceId": "

The ID of the instance.

", - "GetConsoleScreenshotResult$InstanceId": "

The ID of the instance.

", - "GetConsoleScreenshotResult$ImageData": "

The data that comprises the image.

", - "GetHostReservationPurchasePreviewRequest$OfferingId": "

The offering ID of the reservation.

", - "GetHostReservationPurchasePreviewResult$TotalUpfrontPrice": "

The potential total upfront price. This is billed immediately.

", - "GetHostReservationPurchasePreviewResult$TotalHourlyPrice": "

The potential total hourly price of the reservation per hour.

", - "GetPasswordDataRequest$InstanceId": "

The ID of the Windows instance.

", - "GetPasswordDataResult$InstanceId": "

The ID of the Windows instance.

", - "GetPasswordDataResult$PasswordData": "

The password of the instance.

", - "GroupIdStringList$member": null, - "GroupIdentifier$GroupName": "

The name of the security group.

", - "GroupIdentifier$GroupId": "

The ID of the security group.

", - "GroupIds$member": null, - "GroupNameStringList$member": null, - "Host$HostId": "

The ID of the Dedicated Host.

", - "Host$HostReservationId": "

The reservation ID of the Dedicated Host. This returns a null response if the Dedicated Host doesn't have an associated reservation.

", - "Host$ClientToken": "

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.

", - "Host$AvailabilityZone": "

The Availability Zone of the Dedicated Host.

", - "HostInstance$InstanceId": "

the IDs of instances that are running on the Dedicated Host.

", - "HostInstance$InstanceType": "

The instance type size (for example, m3.medium) of the running instance.

", - "HostOffering$OfferingId": "

The ID of the offering.

", - "HostOffering$InstanceFamily": "

The instance family of the offering.

", - "HostOffering$UpfrontPrice": "

The upfront price of the offering. Does not apply to No Upfront offerings.

", - "HostOffering$HourlyPrice": "

The hourly price of the offering.

", - "HostProperties$InstanceType": "

The instance type size that the Dedicated Host supports (for example, m3.medium).

", - "HostReservation$HostReservationId": "

The ID of the reservation that specifies the associated Dedicated Hosts.

", - "HostReservation$OfferingId": "

The ID of the reservation. This remains the same regardless of which Dedicated Hosts are associated with it.

", - "HostReservation$InstanceFamily": "

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.

", - "HostReservation$HourlyPrice": "

The hourly price of the reservation.

", - "HostReservation$UpfrontPrice": "

The upfront price of the reservation.

", - "HostReservationIdSet$member": null, - "IamInstanceProfile$Arn": "

The Amazon Resource Name (ARN) of the instance profile.

", - "IamInstanceProfile$Id": "

The ID of the instance profile.

", - "IamInstanceProfileSpecification$Arn": "

The Amazon Resource Name (ARN) of the instance profile.

", - "IamInstanceProfileSpecification$Name": "

The name of the instance profile.

", - "IdFormat$Resource": "

The type of resource.

", - "Image$ImageId": "

The ID of the AMI.

", - "Image$ImageLocation": "

The location of the AMI.

", - "Image$OwnerId": "

The AWS account ID of the image owner.

", - "Image$CreationDate": "

The date and time the image was created.

", - "Image$KernelId": "

The kernel associated with the image, if any. Only applicable for machine images.

", - "Image$RamdiskId": "

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "Image$SriovNetSupport": "

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "Image$ImageOwnerAlias": "

The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.

", - "Image$Name": "

The name of the AMI that was provided during image creation.

", - "Image$Description": "

The description of the AMI that was provided during image creation.

", - "Image$RootDeviceName": "

The device name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "ImageAttribute$ImageId": "

The ID of the AMI.

", - "ImageDiskContainer$Description": "

The description of the disk image.

", - "ImageDiskContainer$Format": "

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

", - "ImageDiskContainer$Url": "

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://..)

", - "ImageDiskContainer$DeviceName": "

The block device mapping for the disk.

", - "ImageDiskContainer$SnapshotId": "

The ID of the EBS snapshot to be used for importing the snapshot.

", - "ImageIdStringList$member": null, - "ImportImageRequest$Description": "

A description string for the import image task.

", - "ImportImageRequest$LicenseType": "

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

", - "ImportImageRequest$Hypervisor": "

The target hypervisor platform.

Valid values: xen

", - "ImportImageRequest$Architecture": "

The architecture of the virtual machine.

Valid values: i386 | x86_64

", - "ImportImageRequest$Platform": "

The operating system of the virtual machine.

Valid values: Windows | Linux

", - "ImportImageRequest$ClientToken": "

The token to enable idempotency for VM import requests.

", - "ImportImageRequest$RoleName": "

The name of the role to use when not using the default role, 'vmimport'.

", - "ImportImageResult$ImportTaskId": "

The task ID of the import image task.

", - "ImportImageResult$Architecture": "

The architecture of the virtual machine.

", - "ImportImageResult$LicenseType": "

The license type of the virtual machine.

", - "ImportImageResult$Platform": "

The operating system of the virtual machine.

", - "ImportImageResult$Hypervisor": "

The target hypervisor of the import task.

", - "ImportImageResult$Description": "

A description of the import task.

", - "ImportImageResult$ImageId": "

The ID of the Amazon Machine Image (AMI) created by the import task.

", - "ImportImageResult$Progress": "

The progress of the task.

", - "ImportImageResult$StatusMessage": "

A detailed status message of the import task.

", - "ImportImageResult$Status": "

A brief status of the task.

", - "ImportImageTask$ImportTaskId": "

The ID of the import image task.

", - "ImportImageTask$Architecture": "

The architecture of the virtual machine.

Valid values: i386 | x86_64

", - "ImportImageTask$LicenseType": "

The license type of the virtual machine.

", - "ImportImageTask$Platform": "

The description string for the import image task.

", - "ImportImageTask$Hypervisor": "

The target hypervisor for the import task.

Valid values: xen

", - "ImportImageTask$Description": "

A description of the import task.

", - "ImportImageTask$ImageId": "

The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

", - "ImportImageTask$Progress": "

The percentage of progress of the import image task.

", - "ImportImageTask$StatusMessage": "

A descriptive status message for the import image task.

", - "ImportImageTask$Status": "

A brief status for the import image task.

", - "ImportInstanceLaunchSpecification$AdditionalInfo": "

Reserved.

", - "ImportInstanceLaunchSpecification$SubnetId": "

[EC2-VPC] The ID of the subnet in which to launch the instance.

", - "ImportInstanceLaunchSpecification$PrivateIpAddress": "

[EC2-VPC] An available IP address from the IP address range of the subnet.

", - "ImportInstanceRequest$Description": "

A description for the instance being imported.

", - "ImportInstanceTaskDetails$InstanceId": "

The ID of the instance.

", - "ImportInstanceTaskDetails$Description": "

A description of the task.

", - "ImportInstanceVolumeDetailItem$AvailabilityZone": "

The Availability Zone where the resulting instance will reside.

", - "ImportInstanceVolumeDetailItem$Status": "

The status of the import of this particular disk image.

", - "ImportInstanceVolumeDetailItem$StatusMessage": "

The status information or errors related to the disk image.

", - "ImportInstanceVolumeDetailItem$Description": "

A description of the task.

", - "ImportKeyPairRequest$KeyName": "

A unique name for the key pair.

", - "ImportKeyPairResult$KeyName": "

The key pair name you provided.

", - "ImportKeyPairResult$KeyFingerprint": "

The MD5 public key fingerprint as specified in section 4 of RFC 4716.

", - "ImportSnapshotRequest$Description": "

The description string for the import snapshot task.

", - "ImportSnapshotRequest$ClientToken": "

Token to enable idempotency for VM import requests.

", - "ImportSnapshotRequest$RoleName": "

The name of the role to use when not using the default role, 'vmimport'.

", - "ImportSnapshotResult$ImportTaskId": "

The ID of the import snapshot task.

", - "ImportSnapshotResult$Description": "

A description of the import snapshot task.

", - "ImportSnapshotTask$ImportTaskId": "

The ID of the import snapshot task.

", - "ImportSnapshotTask$Description": "

A description of the import snapshot task.

", - "ImportTaskIdList$member": null, - "ImportVolumeRequest$AvailabilityZone": "

The Availability Zone for the resulting EBS volume.

", - "ImportVolumeRequest$Description": "

A description of the volume.

", - "ImportVolumeTaskDetails$AvailabilityZone": "

The Availability Zone where the resulting volume will reside.

", - "ImportVolumeTaskDetails$Description": "

The description you provided when starting the import volume task.

", - "Instance$InstanceId": "

The ID of the instance.

", - "Instance$ImageId": "

The ID of the AMI used to launch the instance.

", - "Instance$PrivateDnsName": "

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.

", - "Instance$PublicDnsName": "

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.

", - "Instance$StateTransitionReason": "

The reason for the most recent state transition. This might be an empty string.

", - "Instance$KeyName": "

The name of the key pair, if this instance was launched with an associated key pair.

", - "Instance$KernelId": "

The kernel associated with this instance, if applicable.

", - "Instance$RamdiskId": "

The RAM disk associated with this instance, if applicable.

", - "Instance$SubnetId": "

[EC2-VPC] The ID of the subnet in which the instance is running.

", - "Instance$VpcId": "

[EC2-VPC] The ID of the VPC in which the instance is running.

", - "Instance$PrivateIpAddress": "

The private IP address assigned to the instance.

", - "Instance$PublicIpAddress": "

The public IP address assigned to the instance, if applicable.

", - "Instance$RootDeviceName": "

The root device name (for example, /dev/sda1 or /dev/xvda).

", - "Instance$SpotInstanceRequestId": "

If the request is a Spot instance request, the ID of the request.

", - "Instance$ClientToken": "

The idempotency token you provided when you launched the instance, if applicable.

", - "Instance$SriovNetSupport": "

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "InstanceAttribute$InstanceId": "

The ID of the instance.

", - "InstanceBlockDeviceMapping$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "InstanceBlockDeviceMappingSpecification$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "InstanceBlockDeviceMappingSpecification$VirtualName": "

The virtual device name.

", - "InstanceBlockDeviceMappingSpecification$NoDevice": "

suppress the specified device included in the block device mapping.

", - "InstanceCapacity$InstanceType": "

The instance type size supported by the Dedicated Host.

", - "InstanceExportDetails$InstanceId": "

The ID of the resource being exported.

", - "InstanceIdSet$member": null, - "InstanceIdStringList$member": null, - "InstanceMonitoring$InstanceId": "

The ID of the instance.

", - "InstanceNetworkInterface$NetworkInterfaceId": "

The ID of the network interface.

", - "InstanceNetworkInterface$SubnetId": "

The ID of the subnet.

", - "InstanceNetworkInterface$VpcId": "

The ID of the VPC.

", - "InstanceNetworkInterface$Description": "

The description.

", - "InstanceNetworkInterface$OwnerId": "

The ID of the AWS account that created the network interface.

", - "InstanceNetworkInterface$MacAddress": "

The MAC address.

", - "InstanceNetworkInterface$PrivateIpAddress": "

The IP address of the network interface within the subnet.

", - "InstanceNetworkInterface$PrivateDnsName": "

The private DNS name.

", - "InstanceNetworkInterfaceAssociation$PublicIp": "

The public IP address or Elastic IP address bound to the network interface.

", - "InstanceNetworkInterfaceAssociation$PublicDnsName": "

The public DNS name.

", - "InstanceNetworkInterfaceAssociation$IpOwnerId": "

The ID of the owner of the Elastic IP address.

", - "InstanceNetworkInterfaceAttachment$AttachmentId": "

The ID of the network interface attachment.

", - "InstanceNetworkInterfaceSpecification$NetworkInterfaceId": "

The ID of the network interface.

", - "InstanceNetworkInterfaceSpecification$SubnetId": "

The ID of the subnet associated with the network string. Applies only if creating a network interface when launching an instance.

", - "InstanceNetworkInterfaceSpecification$Description": "

The description of the network interface. Applies only if creating a network interface when launching an instance.

", - "InstanceNetworkInterfaceSpecification$PrivateIpAddress": "

The private IP address of the network interface. Applies only if creating a network interface when launching an instance.

", - "InstancePrivateIpAddress$PrivateIpAddress": "

The private IP address of the network interface.

", - "InstancePrivateIpAddress$PrivateDnsName": "

The private DNS name.

", - "InstanceStateChange$InstanceId": "

The ID of the instance.

", - "InstanceStatus$InstanceId": "

The ID of the instance.

", - "InstanceStatus$AvailabilityZone": "

The Availability Zone of the instance.

", - "InstanceStatusEvent$Description": "

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].

", - "InternetGateway$InternetGatewayId": "

The ID of the Internet gateway.

", - "InternetGatewayAttachment$VpcId": "

The ID of the VPC.

", - "IpPermission$IpProtocol": "

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.

", - "IpRange$CidrIp": "

The CIDR range. You can either specify a CIDR range or a source security group, not both.

", - "IpRanges$member": null, - "KeyNameStringList$member": null, - "KeyPair$KeyName": "

The name of the key pair.

", - "KeyPair$KeyFingerprint": "

The SHA-1 digest of the DER encoded private key.

", - "KeyPair$KeyMaterial": "

An unencrypted PEM encoded RSA private key.

", - "KeyPairInfo$KeyName": "

The name of the key pair.

", - "KeyPairInfo$KeyFingerprint": "

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.

", - "LaunchPermission$UserId": "

The AWS account ID.

", - "LaunchSpecification$ImageId": "

The ID of the AMI.

", - "LaunchSpecification$KeyName": "

The name of the key pair.

", - "LaunchSpecification$UserData": "

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.

", - "LaunchSpecification$AddressingType": "

Deprecated.

", - "LaunchSpecification$KernelId": "

The ID of the kernel.

", - "LaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "LaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instance.

", - "ModifyIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", - "ModifyIdentityIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", - "ModifyIdentityIdFormatRequest$PrincipalArn": "

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.

", - "ModifyImageAttributeRequest$ImageId": "

The ID of the AMI.

", - "ModifyImageAttributeRequest$Attribute": "

The name of the attribute to modify.

", - "ModifyImageAttributeRequest$Value": "

The value of the attribute being modified. This is only valid when modifying the description attribute.

", - "ModifyInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", - "ModifyInstanceAttributeRequest$Value": "

A new value for the attribute. Use only with the kernel, ramdisk, userData, disableApiTermination, or instanceInitiatedShutdownBehavior attribute.

", - "ModifyInstancePlacementRequest$InstanceId": "

The ID of the instance that you are modifying.

", - "ModifyInstancePlacementRequest$HostId": "

The ID of the Dedicated Host that the instance will have affinity with.

", - "ModifyNetworkInterfaceAttributeRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "ModifyReservedInstancesRequest$ClientToken": "

A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

", - "ModifyReservedInstancesResult$ReservedInstancesModificationId": "

The ID for the modification.

", - "ModifySnapshotAttributeRequest$SnapshotId": "

The ID of the snapshot.

", - "ModifySpotFleetRequestRequest$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "ModifySubnetAttributeRequest$SubnetId": "

The ID of the subnet.

", - "ModifyVolumeAttributeRequest$VolumeId": "

The ID of the volume.

", - "ModifyVpcAttributeRequest$VpcId": "

The ID of the VPC.

", - "ModifyVpcEndpointRequest$VpcEndpointId": "

The ID of the endpoint.

", - "ModifyVpcEndpointRequest$PolicyDocument": "

A policy document to attach to the endpoint. The policy must be in valid JSON format.

", - "ModifyVpcPeeringConnectionOptionsRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "MoveAddressToVpcRequest$PublicIp": "

The Elastic IP address.

", - "MoveAddressToVpcResult$AllocationId": "

The allocation ID for the Elastic IP address.

", - "MovingAddressStatus$PublicIp": "

The Elastic IP address.

", - "NatGateway$VpcId": "

The ID of the VPC in which the NAT gateway is located.

", - "NatGateway$SubnetId": "

The ID of the subnet in which the NAT gateway is located.

", - "NatGateway$NatGatewayId": "

The ID of the NAT gateway.

", - "NatGateway$FailureCode": "

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)

", - "NatGateway$FailureMessage": "

If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

", - "NatGatewayAddress$PublicIp": "

The Elastic IP address associated with the NAT gateway.

", - "NatGatewayAddress$AllocationId": "

The allocation ID of the Elastic IP address that's associated with the NAT gateway.

", - "NatGatewayAddress$PrivateIp": "

The private IP address associated with the Elastic IP address.

", - "NatGatewayAddress$NetworkInterfaceId": "

The ID of the network interface associated with the NAT gateway.

", - "NetworkAcl$NetworkAclId": "

The ID of the network ACL.

", - "NetworkAcl$VpcId": "

The ID of the VPC for the network ACL.

", - "NetworkAclAssociation$NetworkAclAssociationId": "

The ID of the association between a network ACL and a subnet.

", - "NetworkAclAssociation$NetworkAclId": "

The ID of the network ACL.

", - "NetworkAclAssociation$SubnetId": "

The ID of the subnet.

", - "NetworkAclEntry$Protocol": "

The protocol. A value of -1 means all protocols.

", - "NetworkAclEntry$CidrBlock": "

The network range to allow or deny, in CIDR notation.

", - "NetworkInterface$NetworkInterfaceId": "

The ID of the network interface.

", - "NetworkInterface$SubnetId": "

The ID of the subnet.

", - "NetworkInterface$VpcId": "

The ID of the VPC.

", - "NetworkInterface$AvailabilityZone": "

The Availability Zone.

", - "NetworkInterface$Description": "

A description.

", - "NetworkInterface$OwnerId": "

The AWS account ID of the owner of the network interface.

", - "NetworkInterface$RequesterId": "

The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

", - "NetworkInterface$MacAddress": "

The MAC address.

", - "NetworkInterface$PrivateIpAddress": "

The IP address of the network interface within the subnet.

", - "NetworkInterface$PrivateDnsName": "

The private DNS name.

", - "NetworkInterfaceAssociation$PublicIp": "

The address of the Elastic IP address bound to the network interface.

", - "NetworkInterfaceAssociation$PublicDnsName": "

The public DNS name.

", - "NetworkInterfaceAssociation$IpOwnerId": "

The ID of the Elastic IP address owner.

", - "NetworkInterfaceAssociation$AllocationId": "

The allocation ID.

", - "NetworkInterfaceAssociation$AssociationId": "

The association ID.

", - "NetworkInterfaceAttachment$AttachmentId": "

The ID of the network interface attachment.

", - "NetworkInterfaceAttachment$InstanceId": "

The ID of the instance.

", - "NetworkInterfaceAttachment$InstanceOwnerId": "

The AWS account ID of the owner of the instance.

", - "NetworkInterfaceAttachmentChanges$AttachmentId": "

The ID of the network interface attachment.

", - "NetworkInterfaceIdList$member": null, - "NetworkInterfacePrivateIpAddress$PrivateIpAddress": "

The private IP address.

", - "NetworkInterfacePrivateIpAddress$PrivateDnsName": "

The private DNS name.

", - "NewDhcpConfiguration$Key": null, - "OwnerStringList$member": null, - "Placement$AvailabilityZone": "

The Availability Zone of the instance.

", - "Placement$GroupName": "

The name of the placement group the instance is in (for cluster compute instances).

", - "Placement$HostId": "

The ID of the Dedicted host on which the instance resides. This parameter is not support for the ImportInstance command.

", - "Placement$Affinity": "

The affinity setting for the instance on the Dedicated Host. This parameter is not supported for the ImportInstance command.

", - "PlacementGroup$GroupName": "

The name of the placement group.

", - "PlacementGroupStringList$member": null, - "PrefixList$PrefixListId": "

The ID of the prefix.

", - "PrefixList$PrefixListName": "

The name of the prefix.

", - "PrefixListId$PrefixListId": "

The ID of the prefix.

", - "PrefixListIdSet$member": null, - "PrivateIpAddressSpecification$PrivateIpAddress": "

The private IP addresses.

", - "PrivateIpAddressStringList$member": null, - "ProductCode$ProductCodeId": "

The product code.

", - "ProductCodeStringList$member": null, - "ProductDescriptionList$member": null, - "PropagatingVgw$GatewayId": "

The ID of the virtual private gateway (VGW).

", - "ProvisionedBandwidth$Provisioned": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "ProvisionedBandwidth$Requested": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "ProvisionedBandwidth$Status": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "PublicIpStringList$member": null, - "Purchase$HostReservationId": "

The ID of the reservation.

", - "Purchase$InstanceFamily": "

The instance family on the Dedicated Host that the reservation can be associated with.

", - "Purchase$UpfrontPrice": "

The upfront price of the reservation.

", - "Purchase$HourlyPrice": "

The hourly price of the reservation per hour.

", - "PurchaseHostReservationRequest$OfferingId": "

The ID of the offering.

", - "PurchaseHostReservationRequest$LimitPrice": "

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.

", - "PurchaseHostReservationRequest$ClientToken": "

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$TotalUpfrontPrice": "

The total amount that will be charged to your account when you purchase the reservation.

", - "PurchaseHostReservationResult$TotalHourlyPrice": "

The total hourly price of the reservation calculated per hour.

", - "PurchaseHostReservationResult$ClientToken": "

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

", - "PurchaseRequest$PurchaseToken": "

The purchase token.

", - "PurchaseReservedInstancesOfferingRequest$ReservedInstancesOfferingId": "

The ID of the Reserved Instance offering to purchase.

", - "PurchaseReservedInstancesOfferingResult$ReservedInstancesId": "

The IDs of the purchased Reserved Instances.

", - "PurchaseScheduledInstancesRequest$ClientToken": "

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", - "Region$RegionName": "

The name of the region.

", - "Region$Endpoint": "

The region service endpoint.

", - "RegionNameStringList$member": null, - "RegisterImageRequest$ImageLocation": "

The full path to your AMI manifest in Amazon S3 storage.

", - "RegisterImageRequest$Name": "

A name for your AMI.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "RegisterImageRequest$Description": "

A description for your AMI.

", - "RegisterImageRequest$KernelId": "

The ID of the kernel.

", - "RegisterImageRequest$RamdiskId": "

The ID of the RAM disk.

", - "RegisterImageRequest$RootDeviceName": "

The name of the root device (for example, /dev/sda1, or /dev/xvda).

", - "RegisterImageRequest$VirtualizationType": "

The type of virtualization.

Default: paravirtual

", - "RegisterImageRequest$SriovNetSupport": "

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.

", - "RegisterImageResult$ImageId": "

The ID of the newly registered AMI.

", - "RejectVpcPeeringConnectionRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "ReleaseAddressRequest$PublicIp": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

", - "ReleaseAddressRequest$AllocationId": "

[EC2-VPC] The allocation ID. Required for EC2-VPC.

", - "ReplaceNetworkAclAssociationRequest$AssociationId": "

The ID of the current association between the original network ACL and the subnet.

", - "ReplaceNetworkAclAssociationRequest$NetworkAclId": "

The ID of the new network ACL to associate with the subnet.

", - "ReplaceNetworkAclAssociationResult$NewAssociationId": "

The ID of the new association.

", - "ReplaceNetworkAclEntryRequest$NetworkAclId": "

The ID of the ACL.

", - "ReplaceNetworkAclEntryRequest$Protocol": "

The IP protocol. You can specify all or -1 to mean all protocols.

", - "ReplaceNetworkAclEntryRequest$CidrBlock": "

The network range to allow or deny, in CIDR notation.

", - "ReplaceRouteRequest$RouteTableId": "

The ID of the route table.

", - "ReplaceRouteRequest$DestinationCidrBlock": "

The CIDR address block used for the destination match. The value you provide must match the CIDR of an existing route in the table.

", - "ReplaceRouteRequest$GatewayId": "

The ID of an Internet gateway or virtual private gateway.

", - "ReplaceRouteRequest$InstanceId": "

The ID of a NAT instance in your VPC.

", - "ReplaceRouteRequest$NetworkInterfaceId": "

The ID of a network interface.

", - "ReplaceRouteRequest$VpcPeeringConnectionId": "

The ID of a VPC peering connection.

", - "ReplaceRouteRequest$NatGatewayId": "

The ID of a NAT gateway.

", - "ReplaceRouteTableAssociationRequest$AssociationId": "

The association ID.

", - "ReplaceRouteTableAssociationRequest$RouteTableId": "

The ID of the new route table to associate with the subnet.

", - "ReplaceRouteTableAssociationResult$NewAssociationId": "

The ID of the new association.

", - "ReportInstanceStatusRequest$Description": "

Descriptive text about the health state of your instance.

", - "RequestHostIdList$member": null, - "RequestHostIdSet$member": null, - "RequestSpotFleetResponse$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "RequestSpotInstancesRequest$SpotPrice": "

The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "RequestSpotInstancesRequest$ClientToken": "

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.

", - "RequestSpotInstancesRequest$LaunchGroup": "

The instance launch group. Launch groups are Spot instances that launch together and terminate together.

Default: Instances are launched and terminated individually

", - "RequestSpotInstancesRequest$AvailabilityZoneGroup": "

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.

", - "RequestSpotLaunchSpecification$ImageId": "

The ID of the AMI.

", - "RequestSpotLaunchSpecification$KeyName": "

The name of the key pair.

", - "RequestSpotLaunchSpecification$UserData": "

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.

", - "RequestSpotLaunchSpecification$AddressingType": "

Deprecated.

", - "RequestSpotLaunchSpecification$KernelId": "

The ID of the kernel.

", - "RequestSpotLaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "RequestSpotLaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instance.

", - "Reservation$ReservationId": "

The ID of the reservation.

", - "Reservation$OwnerId": "

The ID of the AWS account that owns the reservation.

", - "Reservation$RequesterId": "

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", - "ReservedInstances$ReservedInstancesId": "

The ID of the Reserved Instance.

", - "ReservedInstances$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", - "ReservedInstancesConfiguration$AvailabilityZone": "

The Availability Zone for the modified Reserved Instances.

", - "ReservedInstancesConfiguration$Platform": "

The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

", - "ReservedInstancesId$ReservedInstancesId": "

The ID of the Reserved Instance.

", - "ReservedInstancesIdStringList$member": null, - "ReservedInstancesListing$ReservedInstancesListingId": "

The ID of the Reserved Instance listing.

", - "ReservedInstancesListing$ReservedInstancesId": "

The ID of the Reserved Instance.

", - "ReservedInstancesListing$StatusMessage": "

The reason for the current status of the Reserved Instance listing. The response can be blank.

", - "ReservedInstancesListing$ClientToken": "

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", - "ReservedInstancesModification$ReservedInstancesModificationId": "

A unique ID for the Reserved Instance modification.

", - "ReservedInstancesModification$Status": "

The status of the Reserved Instances modification request.

", - "ReservedInstancesModification$StatusMessage": "

The reason for the status.

", - "ReservedInstancesModification$ClientToken": "

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", - "ReservedInstancesModificationIdStringList$member": null, - "ReservedInstancesModificationResult$ReservedInstancesId": "

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.

", - "ReservedInstancesOffering$ReservedInstancesOfferingId": "

The ID of the Reserved Instance offering.

", - "ReservedInstancesOffering$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", - "ReservedInstancesOfferingIdStringList$member": null, - "ResetImageAttributeRequest$ImageId": "

The ID of the AMI.

", - "ResetInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", - "ResetNetworkInterfaceAttributeRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "ResetNetworkInterfaceAttributeRequest$SourceDestCheck": "

The source/destination checking attribute. Resets the value to true.

", - "ResetSnapshotAttributeRequest$SnapshotId": "

The ID of the snapshot.

", - "ResourceIdList$member": null, - "ResponseHostIdList$member": null, - "ResponseHostIdSet$member": null, - "RestorableByStringList$member": null, - "RestoreAddressToClassicRequest$PublicIp": "

The Elastic IP address.

", - "RestoreAddressToClassicResult$PublicIp": "

The Elastic IP address.

", - "RevokeSecurityGroupEgressRequest$GroupId": "

The ID of the security group.

", - "RevokeSecurityGroupEgressRequest$SourceSecurityGroupName": "

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.

", - "RevokeSecurityGroupEgressRequest$SourceSecurityGroupOwnerId": "

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.

", - "RevokeSecurityGroupEgressRequest$IpProtocol": "

The IP protocol name or number. We recommend that you specify the protocol in a set of IP permissions instead.

", - "RevokeSecurityGroupEgressRequest$CidrIp": "

The CIDR IP address range. We recommend that you specify the CIDR range in a set of IP permissions instead.

", - "RevokeSecurityGroupIngressRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group.

", - "RevokeSecurityGroupIngressRequest$GroupId": "

The ID of the security group. Required for a security group in a nondefault VPC.

", - "RevokeSecurityGroupIngressRequest$SourceSecurityGroupName": "

[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.

", - "RevokeSecurityGroupIngressRequest$SourceSecurityGroupOwnerId": "

[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.

", - "RevokeSecurityGroupIngressRequest$IpProtocol": "

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "RevokeSecurityGroupIngressRequest$CidrIp": "

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "Route$DestinationCidrBlock": "

The CIDR block used for the destination match.

", - "Route$DestinationPrefixListId": "

The prefix of the AWS service.

", - "Route$GatewayId": "

The ID of a gateway attached to your VPC.

", - "Route$InstanceId": "

The ID of a NAT instance in your VPC.

", - "Route$InstanceOwnerId": "

The AWS account ID of the owner of the instance.

", - "Route$NetworkInterfaceId": "

The ID of the network interface.

", - "Route$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "Route$NatGatewayId": "

The ID of a NAT gateway.

", - "RouteTable$RouteTableId": "

The ID of the route table.

", - "RouteTable$VpcId": "

The ID of the VPC.

", - "RouteTableAssociation$RouteTableAssociationId": "

The ID of the association between a route table and a subnet.

", - "RouteTableAssociation$RouteTableId": "

The ID of the route table.

", - "RouteTableAssociation$SubnetId": "

The ID of the subnet. A subnet ID is not returned for an implicit association.

", - "RunInstancesRequest$ImageId": "

The ID of the AMI, which you can get by calling DescribeImages.

", - "RunInstancesRequest$KeyName": "

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.

", - "RunInstancesRequest$UserData": "

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.

", - "RunInstancesRequest$KernelId": "

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.

", - "RunInstancesRequest$RamdiskId": "

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.

", - "RunInstancesRequest$SubnetId": "

[EC2-VPC] The ID of the subnet to launch the instance into.

", - "RunInstancesRequest$PrivateIpAddress": "

[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.

", - "RunInstancesRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraints: Maximum 64 ASCII characters

", - "RunInstancesRequest$AdditionalInfo": "

Reserved.

", - "RunScheduledInstancesRequest$ClientToken": "

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", - "RunScheduledInstancesRequest$ScheduledInstanceId": "

The Scheduled Instance ID.

", - "S3Storage$Bucket": "

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.

", - "S3Storage$Prefix": "

The beginning of the file name of the AMI.

", - "S3Storage$AWSAccessKeyId": "

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.

", - "S3Storage$UploadPolicySignature": "

The signature of the JSON document.

", - "ScheduledInstance$ScheduledInstanceId": "

The Scheduled Instance ID.

", - "ScheduledInstance$InstanceType": "

The instance type.

", - "ScheduledInstance$Platform": "

The platform (Linux/UNIX or Windows).

", - "ScheduledInstance$NetworkPlatform": "

The network platform (EC2-Classic or EC2-VPC).

", - "ScheduledInstance$AvailabilityZone": "

The Availability Zone.

", - "ScheduledInstance$HourlyPrice": "

The hourly price for a single instance.

", - "ScheduledInstanceAvailability$InstanceType": "

The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

", - "ScheduledInstanceAvailability$Platform": "

The platform (Linux/UNIX or Windows).

", - "ScheduledInstanceAvailability$NetworkPlatform": "

The network platform (EC2-Classic or EC2-VPC).

", - "ScheduledInstanceAvailability$AvailabilityZone": "

The Availability Zone.

", - "ScheduledInstanceAvailability$PurchaseToken": "

The purchase token. This token expires in two hours.

", - "ScheduledInstanceAvailability$HourlyPrice": "

The hourly price for a single instance.

", - "ScheduledInstanceIdRequestSet$member": null, - "ScheduledInstanceRecurrence$Frequency": "

The frequency (Daily, Weekly, or Monthly).

", - "ScheduledInstanceRecurrence$OccurrenceUnit": "

The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

", - "ScheduledInstanceRecurrenceRequest$Frequency": "

The frequency (Daily, Weekly, or Monthly).

", - "ScheduledInstanceRecurrenceRequest$OccurrenceUnit": "

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.

", - "ScheduledInstancesBlockDeviceMapping$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "ScheduledInstancesBlockDeviceMapping$NoDevice": "

Suppresses the specified device included in the block device mapping of the AMI.

", - "ScheduledInstancesBlockDeviceMapping$VirtualName": "

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.

", - "ScheduledInstancesEbs$SnapshotId": "

The ID of the snapshot.

", - "ScheduledInstancesEbs$VolumeType": "

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

", - "ScheduledInstancesIamInstanceProfile$Arn": "

The Amazon Resource Name (ARN).

", - "ScheduledInstancesIamInstanceProfile$Name": "

The name.

", - "ScheduledInstancesLaunchSpecification$ImageId": "

The ID of the Amazon Machine Image (AMI).

", - "ScheduledInstancesLaunchSpecification$KeyName": "

The name of the key pair.

", - "ScheduledInstancesLaunchSpecification$UserData": "

The base64-encoded MIME user data.

", - "ScheduledInstancesLaunchSpecification$KernelId": "

The ID of the kernel.

", - "ScheduledInstancesLaunchSpecification$InstanceType": "

The instance type.

", - "ScheduledInstancesLaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "ScheduledInstancesLaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instances.

", - "ScheduledInstancesNetworkInterface$NetworkInterfaceId": "

The ID of the network interface.

", - "ScheduledInstancesNetworkInterface$SubnetId": "

The ID of the subnet.

", - "ScheduledInstancesNetworkInterface$Description": "

The description.

", - "ScheduledInstancesNetworkInterface$PrivateIpAddress": "

The IP address of the network interface within the subnet.

", - "ScheduledInstancesPlacement$AvailabilityZone": "

The Availability Zone.

", - "ScheduledInstancesPlacement$GroupName": "

The name of the placement group.

", - "ScheduledInstancesPrivateIpAddressConfig$PrivateIpAddress": "

The IP address.

", - "ScheduledInstancesSecurityGroupIdSet$member": null, - "SecurityGroup$OwnerId": "

The AWS account ID of the owner of the security group.

", - "SecurityGroup$GroupName": "

The name of the security group.

", - "SecurityGroup$GroupId": "

The ID of the security group.

", - "SecurityGroup$Description": "

A description of the security group.

", - "SecurityGroup$VpcId": "

[EC2-VPC] The ID of the VPC for the security group.

", - "SecurityGroupIdStringList$member": null, - "SecurityGroupReference$GroupId": "

The ID of your security group.

", - "SecurityGroupReference$ReferencingVpcId": "

The ID of the VPC with the referencing security group.

", - "SecurityGroupReference$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "SecurityGroupStringList$member": null, - "Snapshot$SnapshotId": "

The ID of the snapshot. Each snapshot receives a unique identifier when it is created.

", - "Snapshot$VolumeId": "

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.

", - "Snapshot$StateMessage": "

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.

", - "Snapshot$Progress": "

The progress of the snapshot, as a percentage.

", - "Snapshot$OwnerId": "

The AWS account ID of the EBS snapshot owner.

", - "Snapshot$Description": "

The description for the snapshot.

", - "Snapshot$OwnerAlias": "

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.

", - "Snapshot$KmsKeyId": "

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.

", - "Snapshot$DataEncryptionKeyId": "

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.

", - "SnapshotDetail$Description": "

A description for the snapshot.

", - "SnapshotDetail$Format": "

The format of the disk image from which the snapshot is created.

", - "SnapshotDetail$Url": "

The URL used to access the disk image.

", - "SnapshotDetail$DeviceName": "

The block device mapping for the snapshot.

", - "SnapshotDetail$SnapshotId": "

The snapshot ID of the disk being imported.

", - "SnapshotDetail$Progress": "

The percentage of progress for the task.

", - "SnapshotDetail$StatusMessage": "

A detailed status message for the snapshot creation.

", - "SnapshotDetail$Status": "

A brief status of the snapshot creation.

", - "SnapshotDiskContainer$Description": "

The description of the disk image being imported.

", - "SnapshotDiskContainer$Format": "

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

", - "SnapshotDiskContainer$Url": "

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://..).

", - "SnapshotIdStringList$member": null, - "SnapshotTaskDetail$Description": "

The description of the snapshot.

", - "SnapshotTaskDetail$Format": "

The format of the disk image from which the snapshot is created.

", - "SnapshotTaskDetail$Url": "

The URL of the disk image from which the snapshot is created.

", - "SnapshotTaskDetail$SnapshotId": "

The snapshot ID of the disk being imported.

", - "SnapshotTaskDetail$Progress": "

The percentage of completion for the import snapshot task.

", - "SnapshotTaskDetail$StatusMessage": "

A detailed status message for the import snapshot task.

", - "SnapshotTaskDetail$Status": "

A brief status for the import snapshot task.

", - "SpotDatafeedSubscription$OwnerId": "

The AWS account ID of the account.

", - "SpotDatafeedSubscription$Bucket": "

The Amazon S3 bucket where the Spot instance data feed is located.

", - "SpotDatafeedSubscription$Prefix": "

The prefix that is prepended to data feed files.

", - "SpotFleetLaunchSpecification$ImageId": "

The ID of the AMI.

", - "SpotFleetLaunchSpecification$KeyName": "

The name of the key pair.

", - "SpotFleetLaunchSpecification$UserData": "

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.

", - "SpotFleetLaunchSpecification$AddressingType": "

Deprecated.

", - "SpotFleetLaunchSpecification$KernelId": "

The ID of the kernel.

", - "SpotFleetLaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "SpotFleetLaunchSpecification$SubnetId": "

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\".

", - "SpotFleetLaunchSpecification$SpotPrice": "

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.

", - "SpotFleetRequestConfig$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "SpotFleetRequestConfigData$ClientToken": "

A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "SpotFleetRequestConfigData$SpotPrice": "

The bid price per unit hour.

", - "SpotFleetRequestConfigData$IamFleetRole": "

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.

", - "SpotInstanceRequest$SpotInstanceRequestId": "

The ID of the Spot instance request.

", - "SpotInstanceRequest$SpotPrice": "

The maximum hourly price (bid) for the Spot instance launched to fulfill the request.

", - "SpotInstanceRequest$LaunchGroup": "

The instance launch group. Launch groups are Spot instances that launch together and terminate together.

", - "SpotInstanceRequest$AvailabilityZoneGroup": "

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.

", - "SpotInstanceRequest$InstanceId": "

The instance ID, if an instance has been launched to fulfill the Spot instance request.

", - "SpotInstanceRequest$ActualBlockHourlyPrice": "

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.

", - "SpotInstanceRequest$LaunchedAvailabilityZone": "

The Availability Zone in which the bid is launched.

", - "SpotInstanceRequestIdList$member": null, - "SpotInstanceStateFault$Code": "

The reason code for the Spot instance state change.

", - "SpotInstanceStateFault$Message": "

The message for the Spot instance state change.

", - "SpotInstanceStatus$Code": "

The status code. For a list of status codes, see Spot Bid Status Codes in the Amazon Elastic Compute Cloud User Guide.

", - "SpotInstanceStatus$Message": "

The description for the status code.

", - "SpotPlacement$AvailabilityZone": "

The Availability Zone.

[Spot fleet only] To specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".

", - "SpotPlacement$GroupName": "

The name of the placement group (for cluster instances).

", - "SpotPrice$SpotPrice": "

The maximum price (bid) that you are willing to pay for a Spot instance.

", - "SpotPrice$AvailabilityZone": "

The Availability Zone.

", - "StaleIpPermission$IpProtocol": "

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

", - "StaleSecurityGroup$GroupId": "

The ID of the security group.

", - "StaleSecurityGroup$GroupName": "

The name of the security group.

", - "StaleSecurityGroup$Description": "

The description of the security group.

", - "StaleSecurityGroup$VpcId": "

The ID of the VPC for the security group.

", - "StartInstancesRequest$AdditionalInfo": "

Reserved.

", - "StateReason$Code": "

The reason code for the state change.

", - "StateReason$Message": "

The message for the state change.

", - "Subnet$SubnetId": "

The ID of the subnet.

", - "Subnet$VpcId": "

The ID of the VPC the subnet is in.

", - "Subnet$CidrBlock": "

The CIDR block assigned to the subnet.

", - "Subnet$AvailabilityZone": "

The Availability Zone of the subnet.

", - "SubnetIdStringList$member": null, - "Tag$Key": "

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:

", - "Tag$Value": "

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

", - "TagDescription$ResourceId": "

The ID of the resource. For example, ami-1a2b3c4d.

", - "TagDescription$Key": "

The tag key.

", - "TagDescription$Value": "

The tag value.

", - "UnassignPrivateIpAddressesRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "UnsuccessfulItem$ResourceId": "

The ID of the resource.

", - "UnsuccessfulItemError$Code": "

The error code.

", - "UnsuccessfulItemError$Message": "

The error message accompanying the error code.

", - "UserBucket$S3Bucket": "

The name of the S3 bucket where the disk image is located.

", - "UserBucket$S3Key": "

The file name of the disk image.

", - "UserBucketDetails$S3Bucket": "

The S3 bucket from which the disk image was created.

", - "UserBucketDetails$S3Key": "

The file name of the disk image.

", - "UserData$Data": "

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.

", - "UserGroupStringList$member": null, - "UserIdGroupPair$UserId": "

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.

", - "UserIdGroupPair$GroupName": "

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.

", - "UserIdGroupPair$GroupId": "

The ID of the security group.

", - "UserIdGroupPair$VpcId": "

The ID of the VPC for the referenced security group, if applicable.

", - "UserIdGroupPair$VpcPeeringConnectionId": "

The ID of the VPC peering connection, if applicable.

", - "UserIdGroupPair$PeeringStatus": "

The status of a VPC peering connection, if applicable.

", - "UserIdStringList$member": null, - "ValueStringList$member": null, - "VgwTelemetry$OutsideIpAddress": "

The Internet-routable IP address of the virtual private gateway's outside interface.

", - "VgwTelemetry$StatusMessage": "

If an error occurs, a description of the error.

", - "Volume$VolumeId": "

The ID of the volume.

", - "Volume$SnapshotId": "

The snapshot from which the volume was created, if applicable.

", - "Volume$AvailabilityZone": "

The Availability Zone for the volume.

", - "Volume$KmsKeyId": "

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.

", - "VolumeAttachment$VolumeId": "

The ID of the volume.

", - "VolumeAttachment$InstanceId": "

The ID of the instance.

", - "VolumeAttachment$Device": "

The device name.

", - "VolumeIdStringList$member": null, - "VolumeStatusAction$Code": "

The code identifying the operation, for example, enable-volume-io.

", - "VolumeStatusAction$Description": "

A description of the operation.

", - "VolumeStatusAction$EventType": "

The event type associated with this operation.

", - "VolumeStatusAction$EventId": "

The ID of the event associated with this operation.

", - "VolumeStatusDetails$Status": "

The intended status of the volume status.

", - "VolumeStatusEvent$EventType": "

The type of this event.

", - "VolumeStatusEvent$Description": "

A description of the event.

", - "VolumeStatusEvent$EventId": "

The ID of this event.

", - "VolumeStatusItem$VolumeId": "

The volume ID.

", - "VolumeStatusItem$AvailabilityZone": "

The Availability Zone of the volume.

", - "Vpc$VpcId": "

The ID of the VPC.

", - "Vpc$CidrBlock": "

The CIDR block for the VPC.

", - "Vpc$DhcpOptionsId": "

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).

", - "VpcAttachment$VpcId": "

The ID of the VPC.

", - "VpcClassicLink$VpcId": "

The ID of the VPC.

", - "VpcClassicLinkIdList$member": null, - "VpcEndpoint$VpcEndpointId": "

The ID of the VPC endpoint.

", - "VpcEndpoint$VpcId": "

The ID of the VPC to which the endpoint is associated.

", - "VpcEndpoint$ServiceName": "

The name of the AWS service to which the endpoint is associated.

", - "VpcEndpoint$PolicyDocument": "

The policy document associated with the endpoint.

", - "VpcIdStringList$member": null, - "VpcPeeringConnection$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "VpcPeeringConnectionStateReason$Message": "

A message that provides more information about the status, if applicable.

", - "VpcPeeringConnectionVpcInfo$CidrBlock": "

The CIDR block for the VPC.

", - "VpcPeeringConnectionVpcInfo$OwnerId": "

The AWS account ID of the VPC owner.

", - "VpcPeeringConnectionVpcInfo$VpcId": "

The ID of the VPC.

", - "VpnConnection$VpnConnectionId": "

The ID of the VPN connection.

", - "VpnConnection$CustomerGatewayConfiguration": "

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.

", - "VpnConnection$CustomerGatewayId": "

The ID of the customer gateway at your end of the VPN connection.

", - "VpnConnection$VpnGatewayId": "

The ID of the virtual private gateway at the AWS side of the VPN connection.

", - "VpnConnectionIdStringList$member": null, - "VpnGateway$VpnGatewayId": "

The ID of the virtual private gateway.

", - "VpnGateway$AvailabilityZone": "

The Availability Zone where the virtual private gateway was created, if applicable. This field may be empty or not returned.

", - "VpnGatewayIdStringList$member": null, - "VpnStaticRoute$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer data center.

", - "ZoneNameStringList$member": null - } - }, - "Subnet": { - "base": "

Describes a subnet.

", - "refs": { - "CreateSubnetResult$Subnet": "

Information about the subnet.

", - "SubnetList$member": null - } - }, - "SubnetIdStringList": { - "base": null, - "refs": { - "DescribeSubnetsRequest$SubnetIds": "

One or more subnet IDs.

Default: Describes all your subnets.

" - } - }, - "SubnetList": { - "base": null, - "refs": { - "DescribeSubnetsResult$Subnets": "

Information about one or more subnets.

" - } - }, - "SubnetState": { - "base": null, - "refs": { - "Subnet$State": "

The current state of the subnet.

" - } - }, - "SummaryStatus": { - "base": null, - "refs": { - "InstanceStatusSummary$Status": "

The status.

" - } - }, - "Tag": { - "base": "

Describes a tag.

", - "refs": { - "TagList$member": null - } - }, - "TagDescription": { - "base": "

Describes a tag.

", - "refs": { - "TagDescriptionList$member": null - } - }, - "TagDescriptionList": { - "base": null, - "refs": { - "DescribeTagsResult$Tags": "

A list of tags.

" - } - }, - "TagList": { - "base": null, - "refs": { - "ClassicLinkInstance$Tags": "

Any tags assigned to the instance.

", - "ConversionTask$Tags": "

Any tags assigned to the task.

", - "CreateTagsRequest$Tags": "

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.

", - "CustomerGateway$Tags": "

Any tags assigned to the customer gateway.

", - "DeleteTagsRequest$Tags": "

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.

", - "DhcpOptions$Tags": "

Any tags assigned to the DHCP options set.

", - "Image$Tags": "

Any tags assigned to the image.

", - "Instance$Tags": "

Any tags assigned to the instance.

", - "InternetGateway$Tags": "

Any tags assigned to the Internet gateway.

", - "NetworkAcl$Tags": "

Any tags assigned to the network ACL.

", - "NetworkInterface$TagSet": "

Any tags assigned to the network interface.

", - "ReservedInstances$Tags": "

Any tags assigned to the resource.

", - "ReservedInstancesListing$Tags": "

Any tags assigned to the resource.

", - "RouteTable$Tags": "

Any tags assigned to the route table.

", - "SecurityGroup$Tags": "

Any tags assigned to the security group.

", - "Snapshot$Tags": "

Any tags assigned to the snapshot.

", - "SpotInstanceRequest$Tags": "

Any tags assigned to the resource.

", - "Subnet$Tags": "

Any tags assigned to the subnet.

", - "Volume$Tags": "

Any tags assigned to the volume.

", - "Vpc$Tags": "

Any tags assigned to the VPC.

", - "VpcClassicLink$Tags": "

Any tags assigned to the VPC.

", - "VpcPeeringConnection$Tags": "

Any tags assigned to the resource.

", - "VpnConnection$Tags": "

Any tags assigned to the VPN connection.

", - "VpnGateway$Tags": "

Any tags assigned to the virtual private gateway.

" - } - }, - "TelemetryStatus": { - "base": null, - "refs": { - "VgwTelemetry$Status": "

The status of the VPN tunnel.

" - } - }, - "Tenancy": { - "base": null, - "refs": { - "CreateVpcRequest$InstanceTenancy": "

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

", - "DescribeReservedInstancesOfferingsRequest$InstanceTenancy": "

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

", - "Placement$Tenancy": "

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.

", - "ReservedInstances$InstanceTenancy": "

The tenancy of the instance.

", - "ReservedInstancesOffering$InstanceTenancy": "

The tenancy of the instance.

", - "Vpc$InstanceTenancy": "

The allowed tenancy of instances launched into the VPC.

" - } - }, - "TerminateInstancesRequest": { - "base": "

Contains the parameters for TerminateInstances.

", - "refs": { - } - }, - "TerminateInstancesResult": { - "base": "

Contains the output of TerminateInstances.

", - "refs": { - } - }, - "TrafficType": { - "base": null, - "refs": { - "CreateFlowLogsRequest$TrafficType": "

The type of traffic to log.

", - "FlowLog$TrafficType": "

The type of traffic captured for the flow log.

" - } - }, - "UnassignPrivateIpAddressesRequest": { - "base": "

Contains the parameters for UnassignPrivateIpAddresses.

", - "refs": { - } - }, - "UnmonitorInstancesRequest": { - "base": "

Contains the parameters for UnmonitorInstances.

", - "refs": { - } - }, - "UnmonitorInstancesResult": { - "base": "

Contains the output of UnmonitorInstances.

", - "refs": { - } - }, - "UnsuccessfulItem": { - "base": "

Information about items that were not successfully processed in a batch call.

", - "refs": { - "UnsuccessfulItemList$member": null, - "UnsuccessfulItemSet$member": null - } - }, - "UnsuccessfulItemError": { - "base": "

Information about the error that occurred. For more information about errors, see Error Codes.

", - "refs": { - "UnsuccessfulItem$Error": "

Information about the error.

" - } - }, - "UnsuccessfulItemList": { - "base": null, - "refs": { - "ModifyHostsResult$Unsuccessful": "

The IDs of the Dedicated Hosts that could not be modified. Check whether the setting you requested can be used.

", - "ReleaseHostsResult$Unsuccessful": "

The IDs of the Dedicated Hosts that could not be released, including an error message.

" - } - }, - "UnsuccessfulItemSet": { - "base": null, - "refs": { - "CreateFlowLogsResult$Unsuccessful": "

Information about the flow logs that could not be created successfully.

", - "DeleteFlowLogsResult$Unsuccessful": "

Information about the flow logs that could not be deleted successfully.

", - "DeleteVpcEndpointsResult$Unsuccessful": "

Information about the endpoints that were not successfully deleted.

" - } - }, - "UserBucket": { - "base": "

Describes the S3 bucket for the disk image.

", - "refs": { - "ImageDiskContainer$UserBucket": "

The S3 bucket for the disk image.

", - "SnapshotDiskContainer$UserBucket": "

The S3 bucket for the disk image.

" - } - }, - "UserBucketDetails": { - "base": "

Describes the S3 bucket for the disk image.

", - "refs": { - "SnapshotDetail$UserBucket": "

The S3 bucket for the disk image.

", - "SnapshotTaskDetail$UserBucket": "

The S3 bucket for the disk image.

" - } - }, - "UserData": { - "base": "

Describes the user data for an instance.

", - "refs": { - "ImportInstanceLaunchSpecification$UserData": "

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.

" - } - }, - "UserGroupStringList": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$UserGroups": "

One or more user groups. This is only valid when modifying the launchPermission attribute.

" - } - }, - "UserIdGroupPair": { - "base": "

Describes a security group and AWS account ID pair.

", - "refs": { - "UserIdGroupPairList$member": null, - "UserIdGroupPairSet$member": null - } - }, - "UserIdGroupPairList": { - "base": null, - "refs": { - "IpPermission$UserIdGroupPairs": "

One or more security group and AWS account ID pairs.

" - } - }, - "UserIdGroupPairSet": { - "base": null, - "refs": { - "StaleIpPermission$UserIdGroupPairs": "

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.

" - } - }, - "UserIdStringList": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$UserIds": "

One or more AWS account IDs. This is only valid when modifying the launchPermission attribute.

", - "ModifySnapshotAttributeRequest$UserIds": "

The account ID to modify for the snapshot.

" - } - }, - "ValueStringList": { - "base": null, - "refs": { - "CancelSpotFleetRequestsRequest$SpotFleetRequestIds": "

The IDs of the Spot fleet requests.

", - "CreateFlowLogsRequest$ResourceIds": "

One or more subnet, network interface, or VPC IDs.

Constraints: Maximum of 1000 resources

", - "CreateFlowLogsResult$FlowLogIds": "

The IDs of the flow logs.

", - "CreateVpcEndpointRequest$RouteTableIds": "

One or more route table IDs.

", - "DeleteFlowLogsRequest$FlowLogIds": "

One or more flow log IDs.

", - "DeleteVpcEndpointsRequest$VpcEndpointIds": "

One or more endpoint IDs.

", - "DescribeFlowLogsRequest$FlowLogIds": "

One or more flow log IDs.

", - "DescribeInternetGatewaysRequest$InternetGatewayIds": "

One or more Internet gateway IDs.

Default: Describes all your Internet gateways.

", - "DescribeMovingAddressesRequest$PublicIps": "

One or more Elastic IP addresses.

", - "DescribeNatGatewaysRequest$NatGatewayIds": "

One or more NAT gateway IDs.

", - "DescribeNetworkAclsRequest$NetworkAclIds": "

One or more network ACL IDs.

Default: Describes all your network ACLs.

", - "DescribePrefixListsRequest$PrefixListIds": "

One or more prefix list IDs.

", - "DescribeRouteTablesRequest$RouteTableIds": "

One or more route table IDs.

Default: Describes all your route tables.

", - "DescribeSpotFleetRequestsRequest$SpotFleetRequestIds": "

The IDs of the Spot fleet requests.

", - "DescribeVpcEndpointServicesResult$ServiceNames": "

A list of supported AWS services.

", - "DescribeVpcEndpointsRequest$VpcEndpointIds": "

One or more endpoint IDs.

", - "DescribeVpcPeeringConnectionsRequest$VpcPeeringConnectionIds": "

One or more VPC peering connection IDs.

Default: Describes all your VPC peering connections.

", - "Filter$Values": "

One or more filter values. Filter values are case-sensitive.

", - "ModifyVpcEndpointRequest$AddRouteTableIds": "

One or more route tables IDs to associate with the endpoint.

", - "ModifyVpcEndpointRequest$RemoveRouteTableIds": "

One or more route table IDs to disassociate from the endpoint.

", - "NewDhcpConfiguration$Values": null, - "PrefixList$Cidrs": "

The IP address range of the AWS service.

", - "RequestSpotLaunchSpecification$SecurityGroups": null, - "RequestSpotLaunchSpecification$SecurityGroupIds": null, - "VpcEndpoint$RouteTableIds": "

One or more route tables associated with the endpoint.

" - } - }, - "VgwTelemetry": { - "base": "

Describes telemetry for a VPN tunnel.

", - "refs": { - "VgwTelemetryList$member": null - } - }, - "VgwTelemetryList": { - "base": null, - "refs": { - "VpnConnection$VgwTelemetry": "

Information about the VPN tunnel.

" - } - }, - "VirtualizationType": { - "base": null, - "refs": { - "Image$VirtualizationType": "

The type of virtualization of the AMI.

", - "Instance$VirtualizationType": "

The virtualization type of the instance.

" - } - }, - "Volume": { - "base": "

Describes a volume.

", - "refs": { - "VolumeList$member": null - } - }, - "VolumeAttachment": { - "base": "

Describes volume attachment details.

", - "refs": { - "VolumeAttachmentList$member": null - } - }, - "VolumeAttachmentList": { - "base": null, - "refs": { - "Volume$Attachments": "

Information about the volume attachments.

" - } - }, - "VolumeAttachmentState": { - "base": null, - "refs": { - "VolumeAttachment$State": "

The attachment state of the volume.

" - } - }, - "VolumeAttributeName": { - "base": null, - "refs": { - "DescribeVolumeAttributeRequest$Attribute": "

The instance attribute.

" - } - }, - "VolumeDetail": { - "base": "

Describes an EBS volume.

", - "refs": { - "DiskImage$Volume": "

Information about the volume.

", - "ImportVolumeRequest$Volume": "

The volume size.

" - } - }, - "VolumeIdStringList": { - "base": null, - "refs": { - "DescribeVolumeStatusRequest$VolumeIds": "

One or more volume IDs.

Default: Describes all your volumes.

", - "DescribeVolumesRequest$VolumeIds": "

One or more volume IDs.

" - } - }, - "VolumeList": { - "base": null, - "refs": { - "DescribeVolumesResult$Volumes": "

Information about the volumes.

" - } - }, - "VolumeState": { - "base": null, - "refs": { - "Volume$State": "

The volume state.

" - } - }, - "VolumeStatusAction": { - "base": "

Describes a volume status operation code.

", - "refs": { - "VolumeStatusActionsList$member": null - } - }, - "VolumeStatusActionsList": { - "base": null, - "refs": { - "VolumeStatusItem$Actions": "

The details of the operation.

" - } - }, - "VolumeStatusDetails": { - "base": "

Describes a volume status.

", - "refs": { - "VolumeStatusDetailsList$member": null - } - }, - "VolumeStatusDetailsList": { - "base": null, - "refs": { - "VolumeStatusInfo$Details": "

The details of the volume status.

" - } - }, - "VolumeStatusEvent": { - "base": "

Describes a volume status event.

", - "refs": { - "VolumeStatusEventsList$member": null - } - }, - "VolumeStatusEventsList": { - "base": null, - "refs": { - "VolumeStatusItem$Events": "

A list of events associated with the volume.

" - } - }, - "VolumeStatusInfo": { - "base": "

Describes the status of a volume.

", - "refs": { - "VolumeStatusItem$VolumeStatus": "

The volume status.

" - } - }, - "VolumeStatusInfoStatus": { - "base": null, - "refs": { - "VolumeStatusInfo$Status": "

The status of the volume.

" - } - }, - "VolumeStatusItem": { - "base": "

Describes the volume status.

", - "refs": { - "VolumeStatusList$member": null - } - }, - "VolumeStatusList": { - "base": null, - "refs": { - "DescribeVolumeStatusResult$VolumeStatuses": "

A list of volumes.

" - } - }, - "VolumeStatusName": { - "base": null, - "refs": { - "VolumeStatusDetails$Name": "

The name of the volume status.

" - } - }, - "VolumeType": { - "base": null, - "refs": { - "CreateVolumeRequest$VolumeType": "

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

", - "EbsBlockDevice$VolumeType": "

The volume type: gp2, io1, st1, sc1, or standard.

Default: standard

", - "Volume$VolumeType": "

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.

" - } - }, - "Vpc": { - "base": "

Describes a VPC.

", - "refs": { - "CreateVpcResult$Vpc": "

Information about the VPC.

", - "VpcList$member": null - } - }, - "VpcAttachment": { - "base": "

Describes an attachment between a virtual private gateway and a VPC.

", - "refs": { - "AttachVpnGatewayResult$VpcAttachment": "

Information about the attachment.

", - "VpcAttachmentList$member": null - } - }, - "VpcAttachmentList": { - "base": null, - "refs": { - "VpnGateway$VpcAttachments": "

Any VPCs attached to the virtual private gateway.

" - } - }, - "VpcAttributeName": { - "base": null, - "refs": { - "DescribeVpcAttributeRequest$Attribute": "

The VPC attribute.

" - } - }, - "VpcClassicLink": { - "base": "

Describes whether a VPC is enabled for ClassicLink.

", - "refs": { - "VpcClassicLinkList$member": null - } - }, - "VpcClassicLinkIdList": { - "base": null, - "refs": { - "DescribeVpcClassicLinkDnsSupportRequest$VpcIds": "

One or more VPC IDs.

", - "DescribeVpcClassicLinkRequest$VpcIds": "

One or more VPCs for which you want to describe the ClassicLink status.

" - } - }, - "VpcClassicLinkList": { - "base": null, - "refs": { - "DescribeVpcClassicLinkResult$Vpcs": "

The ClassicLink status of one or more VPCs.

" - } - }, - "VpcEndpoint": { - "base": "

Describes a VPC endpoint.

", - "refs": { - "CreateVpcEndpointResult$VpcEndpoint": "

Information about the endpoint.

", - "VpcEndpointSet$member": null - } - }, - "VpcEndpointSet": { - "base": null, - "refs": { - "DescribeVpcEndpointsResult$VpcEndpoints": "

Information about the endpoints.

" - } - }, - "VpcIdStringList": { - "base": null, - "refs": { - "DescribeVpcsRequest$VpcIds": "

One or more VPC IDs.

Default: Describes all your VPCs.

" - } - }, - "VpcList": { - "base": null, - "refs": { - "DescribeVpcsResult$Vpcs": "

Information about one or more VPCs.

" - } - }, - "VpcPeeringConnection": { - "base": "

Describes a VPC peering connection.

", - "refs": { - "AcceptVpcPeeringConnectionResult$VpcPeeringConnection": "

Information about the VPC peering connection.

", - "CreateVpcPeeringConnectionResult$VpcPeeringConnection": "

Information about the VPC peering connection.

", - "VpcPeeringConnectionList$member": null - } - }, - "VpcPeeringConnectionList": { - "base": null, - "refs": { - "DescribeVpcPeeringConnectionsResult$VpcPeeringConnections": "

Information about the VPC peering connections.

" - } - }, - "VpcPeeringConnectionOptionsDescription": { - "base": "

Describes the VPC peering connection options.

", - "refs": { - "VpcPeeringConnectionVpcInfo$PeeringOptions": "

Information about the VPC peering connection options for the accepter or requester VPC.

" - } - }, - "VpcPeeringConnectionStateReason": { - "base": "

Describes the status of a VPC peering connection.

", - "refs": { - "VpcPeeringConnection$Status": "

The status of the VPC peering connection.

" - } - }, - "VpcPeeringConnectionStateReasonCode": { - "base": null, - "refs": { - "VpcPeeringConnectionStateReason$Code": "

The status of the VPC peering connection.

" - } - }, - "VpcPeeringConnectionVpcInfo": { - "base": "

Describes a VPC in a VPC peering connection.

", - "refs": { - "VpcPeeringConnection$AccepterVpcInfo": "

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.

", - "VpcPeeringConnection$RequesterVpcInfo": "

Information about the requester VPC.

" - } - }, - "VpcState": { - "base": null, - "refs": { - "Vpc$State": "

The current state of the VPC.

" - } - }, - "VpnConnection": { - "base": "

Describes a VPN connection.

", - "refs": { - "CreateVpnConnectionResult$VpnConnection": "

Information about the VPN connection.

", - "VpnConnectionList$member": null - } - }, - "VpnConnectionIdStringList": { - "base": null, - "refs": { - "DescribeVpnConnectionsRequest$VpnConnectionIds": "

One or more VPN connection IDs.

Default: Describes your VPN connections.

" - } - }, - "VpnConnectionList": { - "base": null, - "refs": { - "DescribeVpnConnectionsResult$VpnConnections": "

Information about one or more VPN connections.

" - } - }, - "VpnConnectionOptions": { - "base": "

Describes VPN connection options.

", - "refs": { - "VpnConnection$Options": "

The VPN connection options.

" - } - }, - "VpnConnectionOptionsSpecification": { - "base": "

Describes VPN connection options.

", - "refs": { - "CreateVpnConnectionRequest$Options": "

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

" - } - }, - "VpnGateway": { - "base": "

Describes a virtual private gateway.

", - "refs": { - "CreateVpnGatewayResult$VpnGateway": "

Information about the virtual private gateway.

", - "VpnGatewayList$member": null - } - }, - "VpnGatewayIdStringList": { - "base": null, - "refs": { - "DescribeVpnGatewaysRequest$VpnGatewayIds": "

One or more virtual private gateway IDs.

Default: Describes all your virtual private gateways.

" - } - }, - "VpnGatewayList": { - "base": null, - "refs": { - "DescribeVpnGatewaysResult$VpnGateways": "

Information about one or more virtual private gateways.

" - } - }, - "VpnState": { - "base": null, - "refs": { - "VpnConnection$State": "

The current state of the VPN connection.

", - "VpnGateway$State": "

The current state of the virtual private gateway.

", - "VpnStaticRoute$State": "

The current state of the static route.

" - } - }, - "VpnStaticRoute": { - "base": "

Describes a static route for a VPN connection.

", - "refs": { - "VpnStaticRouteList$member": null - } - }, - "VpnStaticRouteList": { - "base": null, - "refs": { - "VpnConnection$Routes": "

The static routes associated with the VPN connection.

" - } - }, - "VpnStaticRouteSource": { - "base": null, - "refs": { - "VpnStaticRoute$Source": "

Indicates how the routes were provided.

" - } - }, - "ZoneNameStringList": { - "base": null, - "refs": { - "DescribeAvailabilityZonesRequest$ZoneNames": "

The names of one or more Availability Zones.

" - } - } - } -} diff --git a/models/apis/ec2/2016-04-01/examples-1.json b/models/apis/ec2/2016-04-01/examples-1.json deleted file mode 100644 index 3f584e9f47e..00000000000 --- a/models/apis/ec2/2016-04-01/examples-1.json +++ /dev/null @@ -1,3729 +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": [ - "10.2.5.2", - "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": [ - "10.2.5.2", - "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": { - "Filters": [ - { - "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" - }, - "output": { - "Return": true - }, - "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": "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": 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": 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/models/apis/ec2/2016-04-01/paginators-1.json b/models/apis/ec2/2016-04-01/paginators-1.json deleted file mode 100644 index 9d04d89ab55..00000000000 --- a/models/apis/ec2/2016-04-01/paginators-1.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "pagination": { - "DescribeAccountAttributes": { - "result_key": "AccountAttributes" - }, - "DescribeAddresses": { - "result_key": "Addresses" - }, - "DescribeAvailabilityZones": { - "result_key": "AvailabilityZones" - }, - "DescribeBundleTasks": { - "result_key": "BundleTasks" - }, - "DescribeConversionTasks": { - "result_key": "ConversionTasks" - }, - "DescribeCustomerGateways": { - "result_key": "CustomerGateways" - }, - "DescribeDhcpOptions": { - "result_key": "DhcpOptions" - }, - "DescribeExportTasks": { - "result_key": "ExportTasks" - }, - "DescribeImages": { - "result_key": "Images" - }, - "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" - }, - "DescribeInternetGateways": { - "result_key": "InternetGateways" - }, - "DescribeKeyPairs": { - "result_key": "KeyPairs" - }, - "DescribeNetworkAcls": { - "result_key": "NetworkAcls" - }, - "DescribeNetworkInterfaces": { - "result_key": "NetworkInterfaces" - }, - "DescribePlacementGroups": { - "result_key": "PlacementGroups" - }, - "DescribeRegions": { - "result_key": "Regions" - }, - "DescribeReservedInstances": { - "result_key": "ReservedInstances" - }, - "DescribeReservedInstancesListings": { - "result_key": "ReservedInstancesListings" - }, - "DescribeReservedInstancesOfferings": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ReservedInstancesOfferings" - }, - "DescribeReservedInstancesModifications": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ReservedInstancesModifications" - }, - "DescribeRouteTables": { - "result_key": "RouteTables" - }, - "DescribeSecurityGroups": { - "result_key": "SecurityGroups" - }, - "DescribeSnapshots": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Snapshots" - }, - "DescribeSpotInstanceRequests": { - "result_key": "SpotInstanceRequests" - }, - "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" - }, - "DescribeSubnets": { - "result_key": "Subnets" - }, - "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" - }, - "DescribeVpcs": { - "result_key": "Vpcs" - }, - "DescribeVpcPeeringConnections": { - "result_key": "VpcPeeringConnections" - }, - "DescribeVpnConnections": { - "result_key": "VpnConnections" - }, - "DescribeVpnGateways": { - "result_key": "VpnGateways" - } - } -} diff --git a/models/apis/ec2/2016-04-01/waiters-2.json b/models/apis/ec2/2016-04-01/waiters-2.json deleted file mode 100644 index ecc9f1b6f5d..00000000000 --- a/models/apis/ec2/2016-04-01/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": "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" - } - ] - }, - "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/models/apis/ec2/2016-09-15/api-2.json b/models/apis/ec2/2016-09-15/api-2.json deleted file mode 100755 index bc4f756963f..00000000000 --- a/models/apis/ec2/2016-09-15/api-2.json +++ /dev/null @@ -1,14415 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"ec2-2016-09-15", - "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"} - }, - "AcceptVpcPeeringConnection":{ - "name":"AcceptVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptVpcPeeringConnectionRequest"}, - "output":{"shape":"AcceptVpcPeeringConnectionResult"} - }, - "AllocateAddress":{ - "name":"AllocateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateAddressRequest"}, - "output":{"shape":"AllocateAddressResult"} - }, - "AllocateHosts":{ - "name":"AllocateHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateHostsRequest"}, - "output":{"shape":"AllocateHostsResult"} - }, - "AssignPrivateIpAddresses":{ - "name":"AssignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignPrivateIpAddressesRequest"} - }, - "AssociateAddress":{ - "name":"AssociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateAddressRequest"}, - "output":{"shape":"AssociateAddressResult"} - }, - "AssociateDhcpOptions":{ - "name":"AssociateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDhcpOptionsRequest"} - }, - "AssociateRouteTable":{ - "name":"AssociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateRouteTableRequest"}, - "output":{"shape":"AssociateRouteTableResult"} - }, - "AttachClassicLinkVpc":{ - "name":"AttachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachClassicLinkVpcRequest"}, - "output":{"shape":"AttachClassicLinkVpcResult"} - }, - "AttachInternetGateway":{ - "name":"AttachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInternetGatewayRequest"} - }, - "AttachNetworkInterface":{ - "name":"AttachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachNetworkInterfaceRequest"}, - "output":{"shape":"AttachNetworkInterfaceResult"} - }, - "AttachVolume":{ - "name":"AttachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"} - }, - "AttachVpnGateway":{ - "name":"AttachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVpnGatewayRequest"}, - "output":{"shape":"AttachVpnGatewayResult"} - }, - "AuthorizeSecurityGroupEgress":{ - "name":"AuthorizeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupEgressRequest"} - }, - "AuthorizeSecurityGroupIngress":{ - "name":"AuthorizeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupIngressRequest"} - }, - "BundleInstance":{ - "name":"BundleInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BundleInstanceRequest"}, - "output":{"shape":"BundleInstanceResult"} - }, - "CancelBundleTask":{ - "name":"CancelBundleTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelBundleTaskRequest"}, - "output":{"shape":"CancelBundleTaskResult"} - }, - "CancelConversionTask":{ - "name":"CancelConversionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelConversionRequest"} - }, - "CancelExportTask":{ - "name":"CancelExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelExportTaskRequest"} - }, - "CancelImportTask":{ - "name":"CancelImportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelImportTaskRequest"}, - "output":{"shape":"CancelImportTaskResult"} - }, - "CancelReservedInstancesListing":{ - "name":"CancelReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelReservedInstancesListingRequest"}, - "output":{"shape":"CancelReservedInstancesListingResult"} - }, - "CancelSpotFleetRequests":{ - "name":"CancelSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotFleetRequestsRequest"}, - "output":{"shape":"CancelSpotFleetRequestsResponse"} - }, - "CancelSpotInstanceRequests":{ - "name":"CancelSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotInstanceRequestsRequest"}, - "output":{"shape":"CancelSpotInstanceRequestsResult"} - }, - "ConfirmProductInstance":{ - "name":"ConfirmProductInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmProductInstanceRequest"}, - "output":{"shape":"ConfirmProductInstanceResult"} - }, - "CopyImage":{ - "name":"CopyImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyImageRequest"}, - "output":{"shape":"CopyImageResult"} - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopySnapshotRequest"}, - "output":{"shape":"CopySnapshotResult"} - }, - "CreateCustomerGateway":{ - "name":"CreateCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomerGatewayRequest"}, - "output":{"shape":"CreateCustomerGatewayResult"} - }, - "CreateDhcpOptions":{ - "name":"CreateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDhcpOptionsRequest"}, - "output":{"shape":"CreateDhcpOptionsResult"} - }, - "CreateFlowLogs":{ - "name":"CreateFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFlowLogsRequest"}, - "output":{"shape":"CreateFlowLogsResult"} - }, - "CreateImage":{ - "name":"CreateImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageRequest"}, - "output":{"shape":"CreateImageResult"} - }, - "CreateInstanceExportTask":{ - "name":"CreateInstanceExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceExportTaskRequest"}, - "output":{"shape":"CreateInstanceExportTaskResult"} - }, - "CreateInternetGateway":{ - "name":"CreateInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInternetGatewayRequest"}, - "output":{"shape":"CreateInternetGatewayResult"} - }, - "CreateKeyPair":{ - "name":"CreateKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyPairRequest"}, - "output":{"shape":"KeyPair"} - }, - "CreateNatGateway":{ - "name":"CreateNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNatGatewayRequest"}, - "output":{"shape":"CreateNatGatewayResult"} - }, - "CreateNetworkAcl":{ - "name":"CreateNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclRequest"}, - "output":{"shape":"CreateNetworkAclResult"} - }, - "CreateNetworkAclEntry":{ - "name":"CreateNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclEntryRequest"} - }, - "CreateNetworkInterface":{ - "name":"CreateNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkInterfaceRequest"}, - "output":{"shape":"CreateNetworkInterfaceResult"} - }, - "CreatePlacementGroup":{ - "name":"CreatePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlacementGroupRequest"} - }, - "CreateReservedInstancesListing":{ - "name":"CreateReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReservedInstancesListingRequest"}, - "output":{"shape":"CreateReservedInstancesListingResult"} - }, - "CreateRoute":{ - "name":"CreateRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteRequest"}, - "output":{"shape":"CreateRouteResult"} - }, - "CreateRouteTable":{ - "name":"CreateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteTableRequest"}, - "output":{"shape":"CreateRouteTableResult"} - }, - "CreateSecurityGroup":{ - "name":"CreateSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityGroupRequest"}, - "output":{"shape":"CreateSecurityGroupResult"} - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotRequest"}, - "output":{"shape":"Snapshot"} - }, - "CreateSpotDatafeedSubscription":{ - "name":"CreateSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"CreateSpotDatafeedSubscriptionResult"} - }, - "CreateSubnet":{ - "name":"CreateSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubnetRequest"}, - "output":{"shape":"CreateSubnetResult"} - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"} - }, - "CreateVolume":{ - "name":"CreateVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVolumeRequest"}, - "output":{"shape":"Volume"} - }, - "CreateVpc":{ - "name":"CreateVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcRequest"}, - "output":{"shape":"CreateVpcResult"} - }, - "CreateVpcEndpoint":{ - "name":"CreateVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcEndpointRequest"}, - "output":{"shape":"CreateVpcEndpointResult"} - }, - "CreateVpcPeeringConnection":{ - "name":"CreateVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringConnectionRequest"}, - "output":{"shape":"CreateVpcPeeringConnectionResult"} - }, - "CreateVpnConnection":{ - "name":"CreateVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRequest"}, - "output":{"shape":"CreateVpnConnectionResult"} - }, - "CreateVpnConnectionRoute":{ - "name":"CreateVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRouteRequest"} - }, - "CreateVpnGateway":{ - "name":"CreateVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnGatewayRequest"}, - "output":{"shape":"CreateVpnGatewayResult"} - }, - "DeleteCustomerGateway":{ - "name":"DeleteCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomerGatewayRequest"} - }, - "DeleteDhcpOptions":{ - "name":"DeleteDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDhcpOptionsRequest"} - }, - "DeleteFlowLogs":{ - "name":"DeleteFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFlowLogsRequest"}, - "output":{"shape":"DeleteFlowLogsResult"} - }, - "DeleteInternetGateway":{ - "name":"DeleteInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInternetGatewayRequest"} - }, - "DeleteKeyPair":{ - "name":"DeleteKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteKeyPairRequest"} - }, - "DeleteNatGateway":{ - "name":"DeleteNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNatGatewayRequest"}, - "output":{"shape":"DeleteNatGatewayResult"} - }, - "DeleteNetworkAcl":{ - "name":"DeleteNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclRequest"} - }, - "DeleteNetworkAclEntry":{ - "name":"DeleteNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclEntryRequest"} - }, - "DeleteNetworkInterface":{ - "name":"DeleteNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkInterfaceRequest"} - }, - "DeletePlacementGroup":{ - "name":"DeletePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlacementGroupRequest"} - }, - "DeleteRoute":{ - "name":"DeleteRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteRequest"} - }, - "DeleteRouteTable":{ - "name":"DeleteRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteTableRequest"} - }, - "DeleteSecurityGroup":{ - "name":"DeleteSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityGroupRequest"} - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotRequest"} - }, - "DeleteSpotDatafeedSubscription":{ - "name":"DeleteSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSpotDatafeedSubscriptionRequest"} - }, - "DeleteSubnet":{ - "name":"DeleteSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubnetRequest"} - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"} - }, - "DeleteVolume":{ - "name":"DeleteVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVolumeRequest"} - }, - "DeleteVpc":{ - "name":"DeleteVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcRequest"} - }, - "DeleteVpcEndpoints":{ - "name":"DeleteVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcEndpointsRequest"}, - "output":{"shape":"DeleteVpcEndpointsResult"} - }, - "DeleteVpcPeeringConnection":{ - "name":"DeleteVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, - "output":{"shape":"DeleteVpcPeeringConnectionResult"} - }, - "DeleteVpnConnection":{ - "name":"DeleteVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRequest"} - }, - "DeleteVpnConnectionRoute":{ - "name":"DeleteVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRouteRequest"} - }, - "DeleteVpnGateway":{ - "name":"DeleteVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnGatewayRequest"} - }, - "DeregisterImage":{ - "name":"DeregisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterImageRequest"} - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesRequest"}, - "output":{"shape":"DescribeAccountAttributesResult"} - }, - "DescribeAddresses":{ - "name":"DescribeAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressesRequest"}, - "output":{"shape":"DescribeAddressesResult"} - }, - "DescribeAvailabilityZones":{ - "name":"DescribeAvailabilityZones", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAvailabilityZonesRequest"}, - "output":{"shape":"DescribeAvailabilityZonesResult"} - }, - "DescribeBundleTasks":{ - "name":"DescribeBundleTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBundleTasksRequest"}, - "output":{"shape":"DescribeBundleTasksResult"} - }, - "DescribeClassicLinkInstances":{ - "name":"DescribeClassicLinkInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClassicLinkInstancesRequest"}, - "output":{"shape":"DescribeClassicLinkInstancesResult"} - }, - "DescribeConversionTasks":{ - "name":"DescribeConversionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConversionTasksRequest"}, - "output":{"shape":"DescribeConversionTasksResult"} - }, - "DescribeCustomerGateways":{ - "name":"DescribeCustomerGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCustomerGatewaysRequest"}, - "output":{"shape":"DescribeCustomerGatewaysResult"} - }, - "DescribeDhcpOptions":{ - "name":"DescribeDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDhcpOptionsRequest"}, - "output":{"shape":"DescribeDhcpOptionsResult"} - }, - "DescribeExportTasks":{ - "name":"DescribeExportTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportTasksRequest"}, - "output":{"shape":"DescribeExportTasksResult"} - }, - "DescribeFlowLogs":{ - "name":"DescribeFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFlowLogsRequest"}, - "output":{"shape":"DescribeFlowLogsResult"} - }, - "DescribeHostReservationOfferings":{ - "name":"DescribeHostReservationOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostReservationOfferingsRequest"}, - "output":{"shape":"DescribeHostReservationOfferingsResult"} - }, - "DescribeHostReservations":{ - "name":"DescribeHostReservations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostReservationsRequest"}, - "output":{"shape":"DescribeHostReservationsResult"} - }, - "DescribeHosts":{ - "name":"DescribeHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostsRequest"}, - "output":{"shape":"DescribeHostsResult"} - }, - "DescribeIdFormat":{ - "name":"DescribeIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdFormatRequest"}, - "output":{"shape":"DescribeIdFormatResult"} - }, - "DescribeIdentityIdFormat":{ - "name":"DescribeIdentityIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdentityIdFormatRequest"}, - "output":{"shape":"DescribeIdentityIdFormatResult"} - }, - "DescribeImageAttribute":{ - "name":"DescribeImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImageAttributeRequest"}, - "output":{"shape":"ImageAttribute"} - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResult"} - }, - "DescribeImportImageTasks":{ - "name":"DescribeImportImageTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportImageTasksRequest"}, - "output":{"shape":"DescribeImportImageTasksResult"} - }, - "DescribeImportSnapshotTasks":{ - "name":"DescribeImportSnapshotTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportSnapshotTasksRequest"}, - "output":{"shape":"DescribeImportSnapshotTasksResult"} - }, - "DescribeInstanceAttribute":{ - "name":"DescribeInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceAttributeRequest"}, - "output":{"shape":"InstanceAttribute"} - }, - "DescribeInstanceStatus":{ - "name":"DescribeInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceStatusRequest"}, - "output":{"shape":"DescribeInstanceStatusResult"} - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesRequest"}, - "output":{"shape":"DescribeInstancesResult"} - }, - "DescribeInternetGateways":{ - "name":"DescribeInternetGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInternetGatewaysRequest"}, - "output":{"shape":"DescribeInternetGatewaysResult"} - }, - "DescribeKeyPairs":{ - "name":"DescribeKeyPairs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyPairsRequest"}, - "output":{"shape":"DescribeKeyPairsResult"} - }, - "DescribeMovingAddresses":{ - "name":"DescribeMovingAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMovingAddressesRequest"}, - "output":{"shape":"DescribeMovingAddressesResult"} - }, - "DescribeNatGateways":{ - "name":"DescribeNatGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNatGatewaysRequest"}, - "output":{"shape":"DescribeNatGatewaysResult"} - }, - "DescribeNetworkAcls":{ - "name":"DescribeNetworkAcls", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkAclsRequest"}, - "output":{"shape":"DescribeNetworkAclsResult"} - }, - "DescribeNetworkInterfaceAttribute":{ - "name":"DescribeNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfaceAttributeRequest"}, - "output":{"shape":"DescribeNetworkInterfaceAttributeResult"} - }, - "DescribeNetworkInterfaces":{ - "name":"DescribeNetworkInterfaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfacesRequest"}, - "output":{"shape":"DescribeNetworkInterfacesResult"} - }, - "DescribePlacementGroups":{ - "name":"DescribePlacementGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlacementGroupsRequest"}, - "output":{"shape":"DescribePlacementGroupsResult"} - }, - "DescribePrefixLists":{ - "name":"DescribePrefixLists", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePrefixListsRequest"}, - "output":{"shape":"DescribePrefixListsResult"} - }, - "DescribeRegions":{ - "name":"DescribeRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRegionsRequest"}, - "output":{"shape":"DescribeRegionsResult"} - }, - "DescribeReservedInstances":{ - "name":"DescribeReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesRequest"}, - "output":{"shape":"DescribeReservedInstancesResult"} - }, - "DescribeReservedInstancesListings":{ - "name":"DescribeReservedInstancesListings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesListingsRequest"}, - "output":{"shape":"DescribeReservedInstancesListingsResult"} - }, - "DescribeReservedInstancesModifications":{ - "name":"DescribeReservedInstancesModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, - "output":{"shape":"DescribeReservedInstancesModificationsResult"} - }, - "DescribeReservedInstancesOfferings":{ - "name":"DescribeReservedInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, - "output":{"shape":"DescribeReservedInstancesOfferingsResult"} - }, - "DescribeRouteTables":{ - "name":"DescribeRouteTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRouteTablesRequest"}, - "output":{"shape":"DescribeRouteTablesResult"} - }, - "DescribeScheduledInstanceAvailability":{ - "name":"DescribeScheduledInstanceAvailability", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstanceAvailabilityRequest"}, - "output":{"shape":"DescribeScheduledInstanceAvailabilityResult"} - }, - "DescribeScheduledInstances":{ - "name":"DescribeScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstancesRequest"}, - "output":{"shape":"DescribeScheduledInstancesResult"} - }, - "DescribeSecurityGroupReferences":{ - "name":"DescribeSecurityGroupReferences", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupReferencesRequest"}, - "output":{"shape":"DescribeSecurityGroupReferencesResult"} - }, - "DescribeSecurityGroups":{ - "name":"DescribeSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupsRequest"}, - "output":{"shape":"DescribeSecurityGroupsResult"} - }, - "DescribeSnapshotAttribute":{ - "name":"DescribeSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotAttributeRequest"}, - "output":{"shape":"DescribeSnapshotAttributeResult"} - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsRequest"}, - "output":{"shape":"DescribeSnapshotsResult"} - }, - "DescribeSpotDatafeedSubscription":{ - "name":"DescribeSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"DescribeSpotDatafeedSubscriptionResult"} - }, - "DescribeSpotFleetInstances":{ - "name":"DescribeSpotFleetInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetInstancesRequest"}, - "output":{"shape":"DescribeSpotFleetInstancesResponse"} - }, - "DescribeSpotFleetRequestHistory":{ - "name":"DescribeSpotFleetRequestHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestHistoryRequest"}, - "output":{"shape":"DescribeSpotFleetRequestHistoryResponse"} - }, - "DescribeSpotFleetRequests":{ - "name":"DescribeSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestsRequest"}, - "output":{"shape":"DescribeSpotFleetRequestsResponse"} - }, - "DescribeSpotInstanceRequests":{ - "name":"DescribeSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotInstanceRequestsRequest"}, - "output":{"shape":"DescribeSpotInstanceRequestsResult"} - }, - "DescribeSpotPriceHistory":{ - "name":"DescribeSpotPriceHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotPriceHistoryRequest"}, - "output":{"shape":"DescribeSpotPriceHistoryResult"} - }, - "DescribeStaleSecurityGroups":{ - "name":"DescribeStaleSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStaleSecurityGroupsRequest"}, - "output":{"shape":"DescribeStaleSecurityGroupsResult"} - }, - "DescribeSubnets":{ - "name":"DescribeSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubnetsRequest"}, - "output":{"shape":"DescribeSubnetsResult"} - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResult"} - }, - "DescribeVolumeAttribute":{ - "name":"DescribeVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeAttributeRequest"}, - "output":{"shape":"DescribeVolumeAttributeResult"} - }, - "DescribeVolumeStatus":{ - "name":"DescribeVolumeStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeStatusRequest"}, - "output":{"shape":"DescribeVolumeStatusResult"} - }, - "DescribeVolumes":{ - "name":"DescribeVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesRequest"}, - "output":{"shape":"DescribeVolumesResult"} - }, - "DescribeVpcAttribute":{ - "name":"DescribeVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcAttributeRequest"}, - "output":{"shape":"DescribeVpcAttributeResult"} - }, - "DescribeVpcClassicLink":{ - "name":"DescribeVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkRequest"}, - "output":{"shape":"DescribeVpcClassicLinkResult"} - }, - "DescribeVpcClassicLinkDnsSupport":{ - "name":"DescribeVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DescribeVpcClassicLinkDnsSupportResult"} - }, - "DescribeVpcEndpointServices":{ - "name":"DescribeVpcEndpointServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointServicesRequest"}, - "output":{"shape":"DescribeVpcEndpointServicesResult"} - }, - "DescribeVpcEndpoints":{ - "name":"DescribeVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointsRequest"}, - "output":{"shape":"DescribeVpcEndpointsResult"} - }, - "DescribeVpcPeeringConnections":{ - "name":"DescribeVpcPeeringConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringConnectionsRequest"}, - "output":{"shape":"DescribeVpcPeeringConnectionsResult"} - }, - "DescribeVpcs":{ - "name":"DescribeVpcs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcsRequest"}, - "output":{"shape":"DescribeVpcsResult"} - }, - "DescribeVpnConnections":{ - "name":"DescribeVpnConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnConnectionsRequest"}, - "output":{"shape":"DescribeVpnConnectionsResult"} - }, - "DescribeVpnGateways":{ - "name":"DescribeVpnGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnGatewaysRequest"}, - "output":{"shape":"DescribeVpnGatewaysResult"} - }, - "DetachClassicLinkVpc":{ - "name":"DetachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachClassicLinkVpcRequest"}, - "output":{"shape":"DetachClassicLinkVpcResult"} - }, - "DetachInternetGateway":{ - "name":"DetachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInternetGatewayRequest"} - }, - "DetachNetworkInterface":{ - "name":"DetachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachNetworkInterfaceRequest"} - }, - "DetachVolume":{ - "name":"DetachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"} - }, - "DetachVpnGateway":{ - "name":"DetachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVpnGatewayRequest"} - }, - "DisableVgwRoutePropagation":{ - "name":"DisableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVgwRoutePropagationRequest"} - }, - "DisableVpcClassicLink":{ - "name":"DisableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkRequest"}, - "output":{"shape":"DisableVpcClassicLinkResult"} - }, - "DisableVpcClassicLinkDnsSupport":{ - "name":"DisableVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DisableVpcClassicLinkDnsSupportResult"} - }, - "DisassociateAddress":{ - "name":"DisassociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateAddressRequest"} - }, - "DisassociateRouteTable":{ - "name":"DisassociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateRouteTableRequest"} - }, - "EnableVgwRoutePropagation":{ - "name":"EnableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVgwRoutePropagationRequest"} - }, - "EnableVolumeIO":{ - "name":"EnableVolumeIO", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVolumeIORequest"} - }, - "EnableVpcClassicLink":{ - "name":"EnableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkRequest"}, - "output":{"shape":"EnableVpcClassicLinkResult"} - }, - "EnableVpcClassicLinkDnsSupport":{ - "name":"EnableVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"EnableVpcClassicLinkDnsSupportResult"} - }, - "GetConsoleOutput":{ - "name":"GetConsoleOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleOutputRequest"}, - "output":{"shape":"GetConsoleOutputResult"} - }, - "GetConsoleScreenshot":{ - "name":"GetConsoleScreenshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleScreenshotRequest"}, - "output":{"shape":"GetConsoleScreenshotResult"} - }, - "GetHostReservationPurchasePreview":{ - "name":"GetHostReservationPurchasePreview", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetHostReservationPurchasePreviewRequest"}, - "output":{"shape":"GetHostReservationPurchasePreviewResult"} - }, - "GetPasswordData":{ - "name":"GetPasswordData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPasswordDataRequest"}, - "output":{"shape":"GetPasswordDataResult"} - }, - "GetReservedInstancesExchangeQuote":{ - "name":"GetReservedInstancesExchangeQuote", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetReservedInstancesExchangeQuoteRequest"}, - "output":{"shape":"GetReservedInstancesExchangeQuoteResult"} - }, - "ImportImage":{ - "name":"ImportImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportImageRequest"}, - "output":{"shape":"ImportImageResult"} - }, - "ImportInstance":{ - "name":"ImportInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportInstanceRequest"}, - "output":{"shape":"ImportInstanceResult"} - }, - "ImportKeyPair":{ - "name":"ImportKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyPairRequest"}, - "output":{"shape":"ImportKeyPairResult"} - }, - "ImportSnapshot":{ - "name":"ImportSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportSnapshotRequest"}, - "output":{"shape":"ImportSnapshotResult"} - }, - "ImportVolume":{ - "name":"ImportVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportVolumeRequest"}, - "output":{"shape":"ImportVolumeResult"} - }, - "ModifyHosts":{ - "name":"ModifyHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyHostsRequest"}, - "output":{"shape":"ModifyHostsResult"} - }, - "ModifyIdFormat":{ - "name":"ModifyIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyIdFormatRequest"} - }, - "ModifyIdentityIdFormat":{ - "name":"ModifyIdentityIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyIdentityIdFormatRequest"} - }, - "ModifyImageAttribute":{ - "name":"ModifyImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyImageAttributeRequest"} - }, - "ModifyInstanceAttribute":{ - "name":"ModifyInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceAttributeRequest"} - }, - "ModifyInstancePlacement":{ - "name":"ModifyInstancePlacement", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstancePlacementRequest"}, - "output":{"shape":"ModifyInstancePlacementResult"} - }, - "ModifyNetworkInterfaceAttribute":{ - "name":"ModifyNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"} - }, - "ModifyReservedInstances":{ - "name":"ModifyReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReservedInstancesRequest"}, - "output":{"shape":"ModifyReservedInstancesResult"} - }, - "ModifySnapshotAttribute":{ - "name":"ModifySnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySnapshotAttributeRequest"} - }, - "ModifySpotFleetRequest":{ - "name":"ModifySpotFleetRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySpotFleetRequestRequest"}, - "output":{"shape":"ModifySpotFleetRequestResponse"} - }, - "ModifySubnetAttribute":{ - "name":"ModifySubnetAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySubnetAttributeRequest"} - }, - "ModifyVolumeAttribute":{ - "name":"ModifyVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVolumeAttributeRequest"} - }, - "ModifyVpcAttribute":{ - "name":"ModifyVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcAttributeRequest"} - }, - "ModifyVpcEndpoint":{ - "name":"ModifyVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcEndpointRequest"}, - "output":{"shape":"ModifyVpcEndpointResult"} - }, - "ModifyVpcPeeringConnectionOptions":{ - "name":"ModifyVpcPeeringConnectionOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcPeeringConnectionOptionsRequest"}, - "output":{"shape":"ModifyVpcPeeringConnectionOptionsResult"} - }, - "MonitorInstances":{ - "name":"MonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MonitorInstancesRequest"}, - "output":{"shape":"MonitorInstancesResult"} - }, - "MoveAddressToVpc":{ - "name":"MoveAddressToVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MoveAddressToVpcRequest"}, - "output":{"shape":"MoveAddressToVpcResult"} - }, - "PurchaseHostReservation":{ - "name":"PurchaseHostReservation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseHostReservationRequest"}, - "output":{"shape":"PurchaseHostReservationResult"} - }, - "PurchaseReservedInstancesOffering":{ - "name":"PurchaseReservedInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, - "output":{"shape":"PurchaseReservedInstancesOfferingResult"} - }, - "PurchaseScheduledInstances":{ - "name":"PurchaseScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseScheduledInstancesRequest"}, - "output":{"shape":"PurchaseScheduledInstancesResult"} - }, - "RebootInstances":{ - "name":"RebootInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstancesRequest"} - }, - "RegisterImage":{ - "name":"RegisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterImageRequest"}, - "output":{"shape":"RegisterImageResult"} - }, - "RejectVpcPeeringConnection":{ - "name":"RejectVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectVpcPeeringConnectionRequest"}, - "output":{"shape":"RejectVpcPeeringConnectionResult"} - }, - "ReleaseAddress":{ - "name":"ReleaseAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseAddressRequest"} - }, - "ReleaseHosts":{ - "name":"ReleaseHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseHostsRequest"}, - "output":{"shape":"ReleaseHostsResult"} - }, - "ReplaceNetworkAclAssociation":{ - "name":"ReplaceNetworkAclAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, - "output":{"shape":"ReplaceNetworkAclAssociationResult"} - }, - "ReplaceNetworkAclEntry":{ - "name":"ReplaceNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclEntryRequest"} - }, - "ReplaceRoute":{ - "name":"ReplaceRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteRequest"} - }, - "ReplaceRouteTableAssociation":{ - "name":"ReplaceRouteTableAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteTableAssociationRequest"}, - "output":{"shape":"ReplaceRouteTableAssociationResult"} - }, - "ReportInstanceStatus":{ - "name":"ReportInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReportInstanceStatusRequest"} - }, - "RequestSpotFleet":{ - "name":"RequestSpotFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotFleetRequest"}, - "output":{"shape":"RequestSpotFleetResponse"} - }, - "RequestSpotInstances":{ - "name":"RequestSpotInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotInstancesRequest"}, - "output":{"shape":"RequestSpotInstancesResult"} - }, - "ResetImageAttribute":{ - "name":"ResetImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetImageAttributeRequest"} - }, - "ResetInstanceAttribute":{ - "name":"ResetInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetInstanceAttributeRequest"} - }, - "ResetNetworkInterfaceAttribute":{ - "name":"ResetNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetNetworkInterfaceAttributeRequest"} - }, - "ResetSnapshotAttribute":{ - "name":"ResetSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetSnapshotAttributeRequest"} - }, - "RestoreAddressToClassic":{ - "name":"RestoreAddressToClassic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreAddressToClassicRequest"}, - "output":{"shape":"RestoreAddressToClassicResult"} - }, - "RevokeSecurityGroupEgress":{ - "name":"RevokeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupEgressRequest"} - }, - "RevokeSecurityGroupIngress":{ - "name":"RevokeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupIngressRequest"} - }, - "RunInstances":{ - "name":"RunInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunInstancesRequest"}, - "output":{"shape":"Reservation"} - }, - "RunScheduledInstances":{ - "name":"RunScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunScheduledInstancesRequest"}, - "output":{"shape":"RunScheduledInstancesResult"} - }, - "StartInstances":{ - "name":"StartInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstancesRequest"}, - "output":{"shape":"StartInstancesResult"} - }, - "StopInstances":{ - "name":"StopInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstancesRequest"}, - "output":{"shape":"StopInstancesResult"} - }, - "TerminateInstances":{ - "name":"TerminateInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateInstancesRequest"}, - "output":{"shape":"TerminateInstancesResult"} - }, - "UnassignPrivateIpAddresses":{ - "name":"UnassignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignPrivateIpAddressesRequest"} - }, - "UnmonitorInstances":{ - "name":"UnmonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnmonitorInstancesRequest"}, - "output":{"shape":"UnmonitorInstancesResult"} - } - }, - "shapes":{ - "AcceptReservedInstancesExchangeQuoteRequest":{ - "type":"structure", - "required":["ReservedInstanceIds"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "ReservedInstanceIds":{ - "shape":"ReservedInstanceIdSet", - "locationName":"ReservedInstanceId" - }, - "TargetConfigurations":{ - "shape":"TargetConfigurationRequestSet", - "locationName":"TargetConfiguration" - } - } - }, - "AcceptReservedInstancesExchangeQuoteResult":{ - "type":"structure", - "members":{ - "ExchangeId":{ - "shape":"String", - "locationName":"exchangeId" - } - } - }, - "AcceptVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "AcceptVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "locationName":"vpcPeeringConnection" - } - } - }, - "AccountAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "locationName":"attributeName" - }, - "AttributeValues":{ - "shape":"AccountAttributeValueList", - "locationName":"attributeValueSet" - } - } - }, - "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", - "locationName":"attributeValue" - } - } - }, - "AccountAttributeValueList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeValue", - "locationName":"item" - } - }, - "ActiveInstance":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - } - } - }, - "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", - "locationName":"instanceId" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - }, - "Domain":{ - "shape":"DomainType", - "locationName":"domain" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "NetworkInterfaceOwnerId":{ - "shape":"String", - "locationName":"networkInterfaceOwnerId" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - } - } - }, - "AddressList":{ - "type":"list", - "member":{ - "shape":"Address", - "locationName":"item" - } - }, - "Affinity":{ - "type":"string", - "enum":[ - "default", - "host" - ] - }, - "AllocateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Domain":{"shape":"DomainType"} - } - }, - "AllocateAddressResult":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "Domain":{ - "shape":"DomainType", - "locationName":"domain" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - } - } - }, - "AllocateHostsRequest":{ - "type":"structure", - "required":[ - "InstanceType", - "Quantity", - "AvailabilityZone" - ], - "members":{ - "AutoPlacement":{ - "shape":"AutoPlacement", - "locationName":"autoPlacement" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "Quantity":{ - "shape":"Integer", - "locationName":"quantity" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - } - } - }, - "AllocateHostsResult":{ - "type":"structure", - "members":{ - "HostIds":{ - "shape":"ResponseHostIdList", - "locationName":"hostIdSet" - } - } - }, - "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", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "locationName":"privateIpAddress" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AllowReassignment":{ - "shape":"Boolean", - "locationName":"allowReassignment" - } - } - }, - "AssociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{"shape":"String"}, - "PublicIp":{"shape":"String"}, - "AllocationId":{"shape":"String"}, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "AllowReassociation":{ - "shape":"Boolean", - "locationName":"allowReassociation" - } - } - }, - "AssociateAddressResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "AssociateDhcpOptionsRequest":{ - "type":"structure", - "required":[ - "DhcpOptionsId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{"shape":"String"}, - "VpcId":{"shape":"String"} - } - }, - "AssociateRouteTableRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - } - } - }, - "AssociateRouteTableResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "AttachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId", - "Groups" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Groups":{ - "shape":"GroupIdStringList", - "locationName":"SecurityGroupId" - } - } - }, - "AttachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "AttachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "AttachNetworkInterfaceRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "InstanceId", - "DeviceIndex" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - } - } - }, - "AttachNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - } - } - }, - "AttachVolumeRequest":{ - "type":"structure", - "required":[ - "VolumeId", - "InstanceId", - "Device" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "InstanceId":{"shape":"String"}, - "Device":{"shape":"String"} - } - }, - "AttachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{"shape":"String"}, - "VpcId":{"shape":"String"} - } - }, - "AttachVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpcAttachment":{ - "shape":"VpcAttachment", - "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", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "locationName":"cidrIp" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "locationName":"ipPermissions" - } - } - }, - "AuthorizeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "GroupId":{"shape":"String"}, - "SourceSecurityGroupName":{"shape":"String"}, - "SourceSecurityGroupOwnerId":{"shape":"String"}, - "IpProtocol":{"shape":"String"}, - "FromPort":{"shape":"Integer"}, - "ToPort":{"shape":"Integer"}, - "CidrIp":{"shape":"String"}, - "IpPermissions":{"shape":"IpPermissionList"} - } - }, - "AutoPlacement":{ - "type":"string", - "enum":[ - "on", - "off" - ] - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "ZoneName":{ - "shape":"String", - "locationName":"zoneName" - }, - "State":{ - "shape":"AvailabilityZoneState", - "locationName":"zoneState" - }, - "RegionName":{ - "shape":"String", - "locationName":"regionName" - }, - "Messages":{ - "shape":"AvailabilityZoneMessageList", - "locationName":"messageSet" - } - } - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"item" - } - }, - "AvailabilityZoneMessage":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "AvailabilityZoneMessageList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZoneMessage", - "locationName":"item" - } - }, - "AvailabilityZoneState":{ - "type":"string", - "enum":[ - "available", - "information", - "impaired", - "unavailable" - ] - }, - "AvailableCapacity":{ - "type":"structure", - "members":{ - "AvailableInstanceCapacity":{ - "shape":"AvailableInstanceCapacityList", - "locationName":"availableInstanceCapacity" - }, - "AvailableVCpus":{ - "shape":"Integer", - "locationName":"availableVCpus" - } - } - }, - "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", - "locationName":"virtualName" - }, - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsBlockDevice", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "locationName":"noDevice" - } - } - }, - "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"}, - "Storage":{"shape":"Storage"} - } - }, - "BundleInstanceResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "locationName":"bundleInstanceTask" - } - } - }, - "BundleTask":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "BundleId":{ - "shape":"String", - "locationName":"bundleId" - }, - "State":{ - "shape":"BundleTaskState", - "locationName":"state" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "UpdateTime":{ - "shape":"DateTime", - "locationName":"updateTime" - }, - "Storage":{ - "shape":"Storage", - "locationName":"storage" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "BundleTaskError":{ - "shape":"BundleTaskError", - "locationName":"error" - } - } - }, - "BundleTaskError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "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", - "locationName":"dryRun" - }, - "BundleId":{"shape":"String"} - } - }, - "CancelBundleTaskResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "locationName":"bundleInstanceTask" - } - } - }, - "CancelConversionRequest":{ - "type":"structure", - "required":["ConversionTaskId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ConversionTaskId":{ - "shape":"String", - "locationName":"conversionTaskId" - }, - "ReasonMessage":{ - "shape":"String", - "locationName":"reasonMessage" - } - } - }, - "CancelExportTaskRequest":{ - "type":"structure", - "required":["ExportTaskId"], - "members":{ - "ExportTaskId":{ - "shape":"String", - "locationName":"exportTaskId" - } - } - }, - "CancelImportTaskRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskId":{"shape":"String"}, - "CancelReason":{"shape":"String"} - } - }, - "CancelImportTaskResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "State":{ - "shape":"String", - "locationName":"state" - }, - "PreviousState":{ - "shape":"String", - "locationName":"previousState" - } - } - }, - "CancelReservedInstancesListingRequest":{ - "type":"structure", - "required":["ReservedInstancesListingId"], - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "locationName":"reservedInstancesListingId" - } - } - }, - "CancelReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CancelSpotFleetRequestsError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"CancelBatchErrorCode", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "CancelSpotFleetRequestsErrorItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "Error" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "Error":{ - "shape":"CancelSpotFleetRequestsError", - "locationName":"error" - } - } - }, - "CancelSpotFleetRequestsErrorSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsErrorItem", - "locationName":"item" - } - }, - "CancelSpotFleetRequestsRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestIds", - "TerminateInstances" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "locationName":"spotFleetRequestId" - }, - "TerminateInstances":{ - "shape":"Boolean", - "locationName":"terminateInstances" - } - } - }, - "CancelSpotFleetRequestsResponse":{ - "type":"structure", - "members":{ - "UnsuccessfulFleetRequests":{ - "shape":"CancelSpotFleetRequestsErrorSet", - "locationName":"unsuccessfulFleetRequestSet" - }, - "SuccessfulFleetRequests":{ - "shape":"CancelSpotFleetRequestsSuccessSet", - "locationName":"successfulFleetRequestSet" - } - } - }, - "CancelSpotFleetRequestsSuccessItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "CurrentSpotFleetRequestState", - "PreviousSpotFleetRequestState" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "CurrentSpotFleetRequestState":{ - "shape":"BatchState", - "locationName":"currentSpotFleetRequestState" - }, - "PreviousSpotFleetRequestState":{ - "shape":"BatchState", - "locationName":"previousSpotFleetRequestState" - } - } - }, - "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", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "locationName":"SpotInstanceRequestId" - } - } - }, - "CancelSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "CancelledSpotInstanceRequests":{ - "shape":"CancelledSpotInstanceRequestList", - "locationName":"spotInstanceRequestSet" - } - } - }, - "CancelledSpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - }, - "State":{ - "shape":"CancelSpotInstanceRequestState", - "locationName":"state" - } - } - }, - "CancelledSpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"CancelledSpotInstanceRequest", - "locationName":"item" - } - }, - "ClassicLinkDnsSupport":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "ClassicLinkDnsSupported":{ - "shape":"Boolean", - "locationName":"classicLinkDnsSupported" - } - } - }, - "ClassicLinkDnsSupportList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkDnsSupport", - "locationName":"item" - } - }, - "ClassicLinkInstance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "ClassicLinkInstanceList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkInstance", - "locationName":"item" - } - }, - "ClientData":{ - "type":"structure", - "members":{ - "UploadStart":{"shape":"DateTime"}, - "UploadEnd":{"shape":"DateTime"}, - "UploadSize":{"shape":"Double"}, - "Comment":{"shape":"String"} - } - }, - "ConfirmProductInstanceRequest":{ - "type":"structure", - "required":[ - "ProductCode", - "InstanceId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ProductCode":{"shape":"String"}, - "InstanceId":{"shape":"String"} - } - }, - "ConfirmProductInstanceResult":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Return":{ - "shape":"Boolean", - "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", - "locationName":"conversionTaskId" - }, - "ExpirationTime":{ - "shape":"String", - "locationName":"expirationTime" - }, - "ImportInstance":{ - "shape":"ImportInstanceTaskDetails", - "locationName":"importInstance" - }, - "ImportVolume":{ - "shape":"ImportVolumeTaskDetails", - "locationName":"importVolume" - }, - "State":{ - "shape":"ConversionTaskState", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "ConversionTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "CopyImageRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceImageId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SourceRegion":{"shape":"String"}, - "SourceImageId":{"shape":"String"}, - "Name":{"shape":"String"}, - "Description":{"shape":"String"}, - "ClientToken":{"shape":"String"}, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - } - } - }, - "CopyImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - } - } - }, - "CopySnapshotRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceSnapshotId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SourceRegion":{"shape":"String"}, - "SourceSnapshotId":{"shape":"String"}, - "Description":{"shape":"String"}, - "DestinationRegion":{ - "shape":"String", - "locationName":"destinationRegion" - }, - "PresignedUrl":{ - "shape":"String", - "locationName":"presignedUrl" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - } - } - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - } - } - }, - "CreateCustomerGatewayRequest":{ - "type":"structure", - "required":[ - "Type", - "PublicIp", - "BgpAsn" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{"shape":"GatewayType"}, - "PublicIp":{ - "shape":"String", - "locationName":"IpAddress" - }, - "BgpAsn":{"shape":"Integer"} - } - }, - "CreateCustomerGatewayResult":{ - "type":"structure", - "members":{ - "CustomerGateway":{ - "shape":"CustomerGateway", - "locationName":"customerGateway" - } - } - }, - "CreateDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpConfigurations"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpConfigurations":{ - "shape":"NewDhcpConfigurationList", - "locationName":"dhcpConfiguration" - } - } - }, - "CreateDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptions", - "locationName":"dhcpOptions" - } - } - }, - "CreateFlowLogsRequest":{ - "type":"structure", - "required":[ - "ResourceIds", - "ResourceType", - "TrafficType", - "LogGroupName", - "DeliverLogsPermissionArn" - ], - "members":{ - "ResourceIds":{ - "shape":"ValueStringList", - "locationName":"ResourceId" - }, - "ResourceType":{"shape":"FlowLogsResourceType"}, - "TrafficType":{"shape":"TrafficType"}, - "LogGroupName":{"shape":"String"}, - "DeliverLogsPermissionArn":{"shape":"String"}, - "ClientToken":{"shape":"String"} - } - }, - "CreateFlowLogsResult":{ - "type":"structure", - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "locationName":"flowLogIdSet" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "locationName":"unsuccessful" - } - } - }, - "CreateImageRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Name":{ - "shape":"String", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "NoReboot":{ - "shape":"Boolean", - "locationName":"noReboot" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "locationName":"blockDeviceMapping" - } - } - }, - "CreateImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - } - } - }, - "CreateInstanceExportTaskRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "Description":{ - "shape":"String", - "locationName":"description" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "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", - "locationName":"internetGateway" - } - } - }, - "CreateKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{"shape":"String"} - } - }, - "CreateNatGatewayRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "AllocationId" - ], - "members":{ - "SubnetId":{"shape":"String"}, - "AllocationId":{"shape":"String"}, - "ClientToken":{"shape":"String"} - } - }, - "CreateNatGatewayResult":{ - "type":"structure", - "members":{ - "NatGateway":{ - "shape":"NatGateway", - "locationName":"natGateway" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "CreateNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "locationName":"ruleAction" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "locationName":"portRange" - } - } - }, - "CreateNetworkAclRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "CreateNetworkAclResult":{ - "type":"structure", - "members":{ - "NetworkAcl":{ - "shape":"NetworkAcl", - "locationName":"networkAcl" - } - } - }, - "CreateNetworkInterfaceRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "locationName":"privateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "locationName":"secondaryPrivateIpAddressCount" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "CreateNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "NetworkInterface":{ - "shape":"NetworkInterface", - "locationName":"networkInterface" - } - } - }, - "CreatePlacementGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Strategy" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "locationName":"strategy" - } - } - }, - "CreateReservedInstancesListingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesId", - "InstanceCount", - "PriceSchedules", - "ClientToken" - ], - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "PriceSchedules":{ - "shape":"PriceScheduleSpecificationList", - "locationName":"priceSchedules" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "CreateReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CreateRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - }, - "GatewayId":{ - "shape":"String", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - } - } - }, - "CreateRouteResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "CreateRouteTableRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "CreateRouteTableResult":{ - "type":"structure", - "members":{ - "RouteTable":{ - "shape":"RouteTable", - "locationName":"routeTable" - } - } - }, - "CreateSecurityGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Description" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "Description":{ - "shape":"String", - "locationName":"GroupDescription" - }, - "VpcId":{"shape":"String"} - } - }, - "CreateSecurityGroupResult":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"String", - "locationName":"groupId" - } - } - }, - "CreateSnapshotRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "Description":{"shape":"String"} - } - }, - "CreateSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Bucket":{ - "shape":"String", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "locationName":"prefix" - } - } - }, - "CreateSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "locationName":"spotDatafeedSubscription" - } - } - }, - "CreateSubnetRequest":{ - "type":"structure", - "required":[ - "VpcId", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{"shape":"String"}, - "CidrBlock":{"shape":"String"}, - "AvailabilityZone":{"shape":"String"} - } - }, - "CreateSubnetResult":{ - "type":"structure", - "members":{ - "Subnet":{ - "shape":"Subnet", - "locationName":"subnet" - } - } - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "Resources", - "Tags" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "locationName":"ResourceId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"Tag" - } - } - }, - "CreateVolumePermission":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "locationName":"userId" - }, - "Group":{ - "shape":"PermissionGroup", - "locationName":"group" - } - } - }, - "CreateVolumePermissionList":{ - "type":"list", - "member":{ - "shape":"CreateVolumePermission", - "locationName":"item" - } - }, - "CreateVolumePermissionModifications":{ - "type":"structure", - "members":{ - "Add":{"shape":"CreateVolumePermissionList"}, - "Remove":{"shape":"CreateVolumePermissionList"} - } - }, - "CreateVolumeRequest":{ - "type":"structure", - "required":["AvailabilityZone"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Size":{"shape":"Integer"}, - "SnapshotId":{"shape":"String"}, - "AvailabilityZone":{"shape":"String"}, - "VolumeType":{"shape":"VolumeType"}, - "Iops":{"shape":"Integer"}, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{"shape":"String"} - } - }, - "CreateVpcEndpointRequest":{ - "type":"structure", - "required":[ - "VpcId", - "ServiceName" - ], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcId":{"shape":"String"}, - "ServiceName":{"shape":"String"}, - "PolicyDocument":{"shape":"String"}, - "RouteTableIds":{ - "shape":"ValueStringList", - "locationName":"RouteTableId" - }, - "ClientToken":{"shape":"String"} - } - }, - "CreateVpcEndpointResult":{ - "type":"structure", - "members":{ - "VpcEndpoint":{ - "shape":"VpcEndpoint", - "locationName":"vpcEndpoint" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "CreateVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "PeerVpcId":{ - "shape":"String", - "locationName":"peerVpcId" - }, - "PeerOwnerId":{ - "shape":"String", - "locationName":"peerOwnerId" - } - } - }, - "CreateVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "locationName":"vpcPeeringConnection" - } - } - }, - "CreateVpcRequest":{ - "type":"structure", - "required":["CidrBlock"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CidrBlock":{"shape":"String"}, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - } - } - }, - "CreateVpcResult":{ - "type":"structure", - "members":{ - "Vpc":{ - "shape":"Vpc", - "locationName":"vpc" - } - } - }, - "CreateVpnConnectionRequest":{ - "type":"structure", - "required":[ - "Type", - "CustomerGatewayId", - "VpnGatewayId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{"shape":"String"}, - "CustomerGatewayId":{"shape":"String"}, - "VpnGatewayId":{"shape":"String"}, - "Options":{ - "shape":"VpnConnectionOptionsSpecification", - "locationName":"options" - } - } - }, - "CreateVpnConnectionResult":{ - "type":"structure", - "members":{ - "VpnConnection":{ - "shape":"VpnConnection", - "locationName":"vpnConnection" - } - } - }, - "CreateVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "members":{ - "VpnConnectionId":{"shape":"String"}, - "DestinationCidrBlock":{"shape":"String"} - } - }, - "CreateVpnGatewayRequest":{ - "type":"structure", - "required":["Type"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{"shape":"GatewayType"}, - "AvailabilityZone":{"shape":"String"} - } - }, - "CreateVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpnGateway":{ - "shape":"VpnGateway", - "locationName":"vpnGateway" - } - } - }, - "CurrencyCodeValues":{ - "type":"string", - "enum":["USD"] - }, - "CustomerGateway":{ - "type":"structure", - "members":{ - "CustomerGatewayId":{ - "shape":"String", - "locationName":"customerGatewayId" - }, - "State":{ - "shape":"String", - "locationName":"state" - }, - "Type":{ - "shape":"String", - "locationName":"type" - }, - "IpAddress":{ - "shape":"String", - "locationName":"ipAddress" - }, - "BgpAsn":{ - "shape":"String", - "locationName":"bgpAsn" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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"} - } - }, - "DeleteDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpOptionsId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{"shape":"String"} - } - }, - "DeleteFlowLogsRequest":{ - "type":"structure", - "required":["FlowLogIds"], - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "locationName":"FlowLogId" - } - } - }, - "DeleteFlowLogsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "locationName":"unsuccessful" - } - } - }, - "DeleteInternetGatewayRequest":{ - "type":"structure", - "required":["InternetGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "locationName":"internetGatewayId" - } - } - }, - "DeleteKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{"shape":"String"} - } - }, - "DeleteNatGatewayRequest":{ - "type":"structure", - "required":["NatGatewayId"], - "members":{ - "NatGatewayId":{"shape":"String"} - } - }, - "DeleteNatGatewayResult":{ - "type":"structure", - "members":{ - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - } - } - }, - "DeleteNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Egress" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - } - } - }, - "DeleteNetworkAclRequest":{ - "type":"structure", - "required":["NetworkAclId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - } - } - }, - "DeleteNetworkInterfaceRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - } - } - }, - "DeletePlacementGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - } - } - }, - "DeleteRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - } - } - }, - "DeleteRouteTableRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - } - } - }, - "DeleteSecurityGroupRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "GroupId":{"shape":"String"} - } - }, - "DeleteSnapshotRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"} - } - }, - "DeleteSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DeleteSubnetRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetId":{"shape":"String"} - } - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":["Resources"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "locationName":"resourceId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tag" - } - } - }, - "DeleteVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"} - } - }, - "DeleteVpcEndpointsRequest":{ - "type":"structure", - "required":["VpcEndpointIds"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "locationName":"VpcEndpointId" - } - } - }, - "DeleteVpcEndpointsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "locationName":"unsuccessful" - } - } - }, - "DeleteVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "DeleteVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DeleteVpcRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{"shape":"String"} - } - }, - "DeleteVpnConnectionRequest":{ - "type":"structure", - "required":["VpnConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnConnectionId":{"shape":"String"} - } - }, - "DeleteVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "members":{ - "VpnConnectionId":{"shape":"String"}, - "DestinationCidrBlock":{"shape":"String"} - } - }, - "DeleteVpnGatewayRequest":{ - "type":"structure", - "required":["VpnGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{"shape":"String"} - } - }, - "DeregisterImageRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"} - } - }, - "DescribeAccountAttributesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttributeNames":{ - "shape":"AccountAttributeNameStringList", - "locationName":"attributeName" - } - } - }, - "DescribeAccountAttributesResult":{ - "type":"structure", - "members":{ - "AccountAttributes":{ - "shape":"AccountAttributeList", - "locationName":"accountAttributeSet" - } - } - }, - "DescribeAddressesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIps":{ - "shape":"PublicIpStringList", - "locationName":"PublicIp" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "AllocationIds":{ - "shape":"AllocationIdList", - "locationName":"AllocationId" - } - } - }, - "DescribeAddressesResult":{ - "type":"structure", - "members":{ - "Addresses":{ - "shape":"AddressList", - "locationName":"addressesSet" - } - } - }, - "DescribeAvailabilityZonesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ZoneNames":{ - "shape":"ZoneNameStringList", - "locationName":"ZoneName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeAvailabilityZonesResult":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "locationName":"availabilityZoneInfo" - } - } - }, - "DescribeBundleTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "BundleIds":{ - "shape":"BundleIdStringList", - "locationName":"BundleId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeBundleTasksResult":{ - "type":"structure", - "members":{ - "BundleTasks":{ - "shape":"BundleTaskList", - "locationName":"bundleInstanceTasksSet" - } - } - }, - "DescribeClassicLinkInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeClassicLinkInstancesResult":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"ClassicLinkInstanceList", - "locationName":"instancesSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeConversionTaskList":{ - "type":"list", - "member":{ - "shape":"ConversionTask", - "locationName":"item" - } - }, - "DescribeConversionTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ConversionTaskIds":{ - "shape":"ConversionIdStringList", - "locationName":"conversionTaskId" - } - } - }, - "DescribeConversionTasksResult":{ - "type":"structure", - "members":{ - "ConversionTasks":{ - "shape":"DescribeConversionTaskList", - "locationName":"conversionTasks" - } - } - }, - "DescribeCustomerGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CustomerGatewayIds":{ - "shape":"CustomerGatewayIdStringList", - "locationName":"CustomerGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeCustomerGatewaysResult":{ - "type":"structure", - "members":{ - "CustomerGateways":{ - "shape":"CustomerGatewayList", - "locationName":"customerGatewaySet" - } - } - }, - "DescribeDhcpOptionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsIds":{ - "shape":"DhcpOptionsIdStringList", - "locationName":"DhcpOptionsId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptionsList", - "locationName":"dhcpOptionsSet" - } - } - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "ExportTaskIds":{ - "shape":"ExportTaskIdStringList", - "locationName":"exportTaskId" - } - } - }, - "DescribeExportTasksResult":{ - "type":"structure", - "members":{ - "ExportTasks":{ - "shape":"ExportTaskList", - "locationName":"exportTaskSet" - } - } - }, - "DescribeFlowLogsRequest":{ - "type":"structure", - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "locationName":"FlowLogId" - }, - "Filter":{"shape":"FilterList"}, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"} - } - }, - "DescribeFlowLogsResult":{ - "type":"structure", - "members":{ - "FlowLogs":{ - "shape":"FlowLogSet", - "locationName":"flowLogSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeHostReservationOfferingsRequest":{ - "type":"structure", - "members":{ - "OfferingId":{"shape":"String"}, - "MinDuration":{"shape":"Integer"}, - "MaxDuration":{"shape":"Integer"}, - "Filter":{"shape":"FilterList"}, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeHostReservationOfferingsResult":{ - "type":"structure", - "members":{ - "OfferingSet":{ - "shape":"HostOfferingSet", - "locationName":"offeringSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeHostReservationsRequest":{ - "type":"structure", - "members":{ - "HostReservationIdSet":{"shape":"HostReservationIdSet"}, - "Filter":{"shape":"FilterList"}, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeHostReservationsResult":{ - "type":"structure", - "members":{ - "HostReservationSet":{ - "shape":"HostReservationSet", - "locationName":"hostReservationSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeHostsRequest":{ - "type":"structure", - "members":{ - "HostIds":{ - "shape":"RequestHostIdList", - "locationName":"hostId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "Filter":{ - "shape":"FilterList", - "locationName":"filter" - } - } - }, - "DescribeHostsResult":{ - "type":"structure", - "members":{ - "Hosts":{ - "shape":"HostList", - "locationName":"hostSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeIdFormatRequest":{ - "type":"structure", - "members":{ - "Resource":{"shape":"String"} - } - }, - "DescribeIdFormatResult":{ - "type":"structure", - "members":{ - "Statuses":{ - "shape":"IdFormatList", - "locationName":"statusSet" - } - } - }, - "DescribeIdentityIdFormatRequest":{ - "type":"structure", - "required":["PrincipalArn"], - "members":{ - "Resource":{ - "shape":"String", - "locationName":"resource" - }, - "PrincipalArn":{ - "shape":"String", - "locationName":"principalArn" - } - } - }, - "DescribeIdentityIdFormatResult":{ - "type":"structure", - "members":{ - "Statuses":{ - "shape":"IdFormatList", - "locationName":"statusSet" - } - } - }, - "DescribeImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"}, - "Attribute":{"shape":"ImageAttributeName"} - } - }, - "DescribeImagesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageIds":{ - "shape":"ImageIdStringList", - "locationName":"ImageId" - }, - "Owners":{ - "shape":"OwnerStringList", - "locationName":"Owner" - }, - "ExecutableUsers":{ - "shape":"ExecutableByStringList", - "locationName":"ExecutableBy" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeImagesResult":{ - "type":"structure", - "members":{ - "Images":{ - "shape":"ImageList", - "locationName":"imagesSet" - } - } - }, - "DescribeImportImageTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskIds":{ - "shape":"ImportTaskIdList", - "locationName":"ImportTaskId" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{"shape":"FilterList"} - } - }, - "DescribeImportImageTasksResult":{ - "type":"structure", - "members":{ - "ImportImageTasks":{ - "shape":"ImportImageTaskList", - "locationName":"importImageTaskSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeImportSnapshotTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskIds":{ - "shape":"ImportTaskIdList", - "locationName":"ImportTaskId" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{"shape":"FilterList"} - } - }, - "DescribeImportSnapshotTasksResult":{ - "type":"structure", - "members":{ - "ImportSnapshotTasks":{ - "shape":"ImportSnapshotTaskList", - "locationName":"importSnapshotTaskSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "locationName":"attribute" - } - } - }, - "DescribeInstanceStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "IncludeAllInstances":{ - "shape":"Boolean", - "locationName":"includeAllInstances" - } - } - }, - "DescribeInstanceStatusResult":{ - "type":"structure", - "members":{ - "InstanceStatuses":{ - "shape":"InstanceStatusList", - "locationName":"instanceStatusSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeInstancesResult":{ - "type":"structure", - "members":{ - "Reservations":{ - "shape":"ReservationList", - "locationName":"reservationSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeInternetGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayIds":{ - "shape":"ValueStringList", - "locationName":"internetGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeInternetGatewaysResult":{ - "type":"structure", - "members":{ - "InternetGateways":{ - "shape":"InternetGatewayList", - "locationName":"internetGatewaySet" - } - } - }, - "DescribeKeyPairsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyNames":{ - "shape":"KeyNameStringList", - "locationName":"KeyName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeKeyPairsResult":{ - "type":"structure", - "members":{ - "KeyPairs":{ - "shape":"KeyPairList", - "locationName":"keySet" - } - } - }, - "DescribeMovingAddressesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIps":{ - "shape":"ValueStringList", - "locationName":"publicIp" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filter" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeMovingAddressesResult":{ - "type":"structure", - "members":{ - "MovingAddressStatuses":{ - "shape":"MovingAddressStatusSet", - "locationName":"movingAddressStatusSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeNatGatewaysRequest":{ - "type":"structure", - "members":{ - "NatGatewayIds":{ - "shape":"ValueStringList", - "locationName":"NatGatewayId" - }, - "Filter":{"shape":"FilterList"}, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeNatGatewaysResult":{ - "type":"structure", - "members":{ - "NatGateways":{ - "shape":"NatGatewayList", - "locationName":"natGatewaySet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeNetworkAclsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclIds":{ - "shape":"ValueStringList", - "locationName":"NetworkAclId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeNetworkAclsResult":{ - "type":"structure", - "members":{ - "NetworkAcls":{ - "shape":"NetworkAclList", - "locationName":"networkAclSet" - } - } - }, - "DescribeNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "Attribute":{ - "shape":"NetworkInterfaceAttribute", - "locationName":"attribute" - } - } - }, - "DescribeNetworkInterfaceAttributeResult":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "Description":{ - "shape":"AttributeValue", - "locationName":"description" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "locationName":"attachment" - } - } - }, - "DescribeNetworkInterfacesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceIds":{ - "shape":"NetworkInterfaceIdList", - "locationName":"NetworkInterfaceId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filter" - } - } - }, - "DescribeNetworkInterfacesResult":{ - "type":"structure", - "members":{ - "NetworkInterfaces":{ - "shape":"NetworkInterfaceList", - "locationName":"networkInterfaceSet" - } - } - }, - "DescribePlacementGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupNames":{ - "shape":"PlacementGroupStringList", - "locationName":"groupName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribePlacementGroupsResult":{ - "type":"structure", - "members":{ - "PlacementGroups":{ - "shape":"PlacementGroupList", - "locationName":"placementGroupSet" - } - } - }, - "DescribePrefixListsRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "PrefixListIds":{ - "shape":"ValueStringList", - "locationName":"PrefixListId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribePrefixListsResult":{ - "type":"structure", - "members":{ - "PrefixLists":{ - "shape":"PrefixListSet", - "locationName":"prefixListSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeRegionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RegionNames":{ - "shape":"RegionNameStringList", - "locationName":"RegionName" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeRegionsResult":{ - "type":"structure", - "members":{ - "Regions":{ - "shape":"RegionList", - "locationName":"regionInfo" - } - } - }, - "DescribeReservedInstancesListingsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "ReservedInstancesListingId":{ - "shape":"String", - "locationName":"reservedInstancesListingId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeReservedInstancesListingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "DescribeReservedInstancesModificationsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationIds":{ - "shape":"ReservedInstancesModificationIdStringList", - "locationName":"ReservedInstancesModificationId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeReservedInstancesModificationsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModifications":{ - "shape":"ReservedInstancesModificationList", - "locationName":"reservedInstancesModificationsSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeReservedInstancesOfferingsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingIds":{ - "shape":"ReservedInstancesOfferingIdStringList", - "locationName":"ReservedInstancesOfferingId" - }, - "InstanceType":{"shape":"InstanceType"}, - "AvailabilityZone":{"shape":"String"}, - "ProductDescription":{"shape":"RIProductDescription"}, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "IncludeMarketplace":{"shape":"Boolean"}, - "MinDuration":{"shape":"Long"}, - "MaxDuration":{"shape":"Long"}, - "MaxInstanceCount":{"shape":"Integer"}, - "OfferingClass":{"shape":"OfferingClassType"} - } - }, - "DescribeReservedInstancesOfferingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferings":{ - "shape":"ReservedInstancesOfferingList", - "locationName":"reservedInstancesOfferingsSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeReservedInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesIds":{ - "shape":"ReservedInstancesIdStringList", - "locationName":"ReservedInstancesId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - }, - "OfferingClass":{"shape":"OfferingClassType"} - } - }, - "DescribeReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstances":{ - "shape":"ReservedInstancesList", - "locationName":"reservedInstancesSet" - } - } - }, - "DescribeRouteTablesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "locationName":"RouteTableId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeRouteTablesResult":{ - "type":"structure", - "members":{ - "RouteTables":{ - "shape":"RouteTableList", - "locationName":"routeTableSet" - } - } - }, - "DescribeScheduledInstanceAvailabilityRequest":{ - "type":"structure", - "required":[ - "Recurrence", - "FirstSlotStartTimeRange" - ], - "members":{ - "DryRun":{"shape":"Boolean"}, - "Recurrence":{"shape":"ScheduledInstanceRecurrenceRequest"}, - "FirstSlotStartTimeRange":{"shape":"SlotDateTimeRangeRequest"}, - "MinSlotDurationInHours":{"shape":"Integer"}, - "MaxSlotDurationInHours":{"shape":"Integer"}, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeScheduledInstanceAvailabilityResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "ScheduledInstanceAvailabilitySet":{ - "shape":"ScheduledInstanceAvailabilitySet", - "locationName":"scheduledInstanceAvailabilitySet" - } - } - }, - "DescribeScheduledInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ScheduledInstanceIds":{ - "shape":"ScheduledInstanceIdRequestSet", - "locationName":"ScheduledInstanceId" - }, - "SlotStartTimeRange":{"shape":"SlotStartTimeRangeRequest"}, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"}, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeScheduledInstancesResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "ScheduledInstanceSet":{ - "shape":"ScheduledInstanceSet", - "locationName":"scheduledInstanceSet" - } - } - }, - "DescribeSecurityGroupReferencesRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "GroupId":{"shape":"GroupIds"} - } - }, - "DescribeSecurityGroupReferencesResult":{ - "type":"structure", - "members":{ - "SecurityGroupReferenceSet":{ - "shape":"SecurityGroupReferences", - "locationName":"securityGroupReferenceSet" - } - } - }, - "DescribeSecurityGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupNames":{ - "shape":"GroupNameStringList", - "locationName":"GroupName" - }, - "GroupIds":{ - "shape":"GroupIdStringList", - "locationName":"GroupId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeSecurityGroupsResult":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroupList", - "locationName":"securityGroupInfo" - } - } - }, - "DescribeSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"}, - "Attribute":{"shape":"SnapshotAttributeName"} - } - }, - "DescribeSnapshotAttributeResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "CreateVolumePermissions":{ - "shape":"CreateVolumePermissionList", - "locationName":"createVolumePermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - } - } - }, - "DescribeSnapshotsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotIds":{ - "shape":"SnapshotIdStringList", - "locationName":"SnapshotId" - }, - "OwnerIds":{ - "shape":"OwnerStringList", - "locationName":"Owner" - }, - "RestorableByUserIds":{ - "shape":"RestorableByStringList", - "locationName":"RestorableBy" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"} - } - }, - "DescribeSnapshotsResult":{ - "type":"structure", - "members":{ - "Snapshots":{ - "shape":"SnapshotList", - "locationName":"snapshotSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DescribeSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "locationName":"spotDatafeedSubscription" - } - } - }, - "DescribeSpotFleetInstancesRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeSpotFleetInstancesResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "ActiveInstances" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "ActiveInstances":{ - "shape":"ActiveInstanceSet", - "locationName":"activeInstanceSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotFleetRequestHistoryRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "EventType":{ - "shape":"EventType", - "locationName":"eventType" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeSpotFleetRequestHistoryResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime", - "LastEvaluatedTime", - "HistoryRecords" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "LastEvaluatedTime":{ - "shape":"DateTime", - "locationName":"lastEvaluatedTime" - }, - "HistoryRecords":{ - "shape":"HistoryRecords", - "locationName":"historyRecordSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotFleetRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "locationName":"spotFleetRequestId" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeSpotFleetRequestsResponse":{ - "type":"structure", - "required":["SpotFleetRequestConfigs"], - "members":{ - "SpotFleetRequestConfigs":{ - "shape":"SpotFleetRequestConfigSet", - "locationName":"spotFleetRequestConfigSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotInstanceRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "locationName":"SpotInstanceRequestId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "locationName":"spotInstanceRequestSet" - } - } - }, - "DescribeSpotPriceHistoryRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "EndTime":{ - "shape":"DateTime", - "locationName":"endTime" - }, - "InstanceTypes":{ - "shape":"InstanceTypeList", - "locationName":"InstanceType" - }, - "ProductDescriptions":{ - "shape":"ProductDescriptionList", - "locationName":"ProductDescription" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSpotPriceHistoryResult":{ - "type":"structure", - "members":{ - "SpotPriceHistory":{ - "shape":"SpotPriceHistoryList", - "locationName":"spotPriceHistorySet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeStaleSecurityGroupsRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcId":{"shape":"String"}, - "MaxResults":{"shape":"MaxResults"}, - "NextToken":{"shape":"NextToken"} - } - }, - "DescribeStaleSecurityGroupsResult":{ - "type":"structure", - "members":{ - "StaleSecurityGroupSet":{ - "shape":"StaleSecurityGroupSet", - "locationName":"staleSecurityGroupSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeSubnetsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetIds":{ - "shape":"SubnetIdStringList", - "locationName":"SubnetId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeSubnetsResult":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"SubnetList", - "locationName":"subnetSet" - } - } - }, - "DescribeTagsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeTagsResult":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagDescriptionList", - "locationName":"tagSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "Attribute":{"shape":"VolumeAttributeName"} - } - }, - "DescribeVolumeAttributeResult":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "locationName":"autoEnableIO" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - } - } - }, - "DescribeVolumeStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeIds":{ - "shape":"VolumeIdStringList", - "locationName":"VolumeId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{"shape":"String"}, - "MaxResults":{"shape":"Integer"} - } - }, - "DescribeVolumeStatusResult":{ - "type":"structure", - "members":{ - "VolumeStatuses":{ - "shape":"VolumeStatusList", - "locationName":"volumeStatusSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVolumesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeIds":{ - "shape":"VolumeIdStringList", - "locationName":"VolumeId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "locationName":"maxResults" - } - } - }, - "DescribeVolumesResult":{ - "type":"structure", - "members":{ - "Volumes":{ - "shape":"VolumeList", - "locationName":"volumeSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVpcAttributeRequest":{ - "type":"structure", - "required":[ - "VpcId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{"shape":"String"}, - "Attribute":{"shape":"VpcAttributeName"} - } - }, - "DescribeVpcAttributeResult":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "EnableDnsSupport":{ - "shape":"AttributeBooleanValue", - "locationName":"enableDnsSupport" - }, - "EnableDnsHostnames":{ - "shape":"AttributeBooleanValue", - "locationName":"enableDnsHostnames" - } - } - }, - "DescribeVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcIds":{"shape":"VpcClassicLinkIdList"}, - "MaxResults":{ - "shape":"MaxResults", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"NextToken", - "locationName":"nextToken" - } - } - }, - "DescribeVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"ClassicLinkDnsSupportList", - "locationName":"vpcs" - }, - "NextToken":{ - "shape":"NextToken", - "locationName":"nextToken" - } - } - }, - "DescribeVpcClassicLinkRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcIds":{ - "shape":"VpcClassicLinkIdList", - "locationName":"VpcId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcClassicLinkList", - "locationName":"vpcSet" - } - } - }, - "DescribeVpcEndpointServicesRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeVpcEndpointServicesResult":{ - "type":"structure", - "members":{ - "ServiceNames":{ - "shape":"ValueStringList", - "locationName":"serviceNameSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVpcEndpointsRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "locationName":"VpcEndpointId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - }, - "MaxResults":{"shape":"Integer"}, - "NextToken":{"shape":"String"} - } - }, - "DescribeVpcEndpointsResult":{ - "type":"structure", - "members":{ - "VpcEndpoints":{ - "shape":"VpcEndpointSet", - "locationName":"vpcEndpointSet" - }, - "NextToken":{ - "shape":"String", - "locationName":"nextToken" - } - } - }, - "DescribeVpcPeeringConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionIds":{ - "shape":"ValueStringList", - "locationName":"VpcPeeringConnectionId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpcPeeringConnectionsResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnections":{ - "shape":"VpcPeeringConnectionList", - "locationName":"vpcPeeringConnectionSet" - } - } - }, - "DescribeVpcsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcIds":{ - "shape":"VpcIdStringList", - "locationName":"VpcId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpcsResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcList", - "locationName":"vpcSet" - } - } - }, - "DescribeVpnConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnConnectionIds":{ - "shape":"VpnConnectionIdStringList", - "locationName":"VpnConnectionId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpnConnectionsResult":{ - "type":"structure", - "members":{ - "VpnConnections":{ - "shape":"VpnConnectionList", - "locationName":"vpnConnectionSet" - } - } - }, - "DescribeVpnGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayIds":{ - "shape":"VpnGatewayIdStringList", - "locationName":"VpnGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"Filter" - } - } - }, - "DescribeVpnGatewaysResult":{ - "type":"structure", - "members":{ - "VpnGateways":{ - "shape":"VpnGatewayList", - "locationName":"vpnGatewaySet" - } - } - }, - "DetachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "DetachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DetachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "DetachNetworkInterfaceRequest":{ - "type":"structure", - "required":["AttachmentId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "Force":{ - "shape":"Boolean", - "locationName":"force" - } - } - }, - "DetachVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "InstanceId":{"shape":"String"}, - "Device":{"shape":"String"}, - "Force":{"shape":"Boolean"} - } - }, - "DetachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{"shape":"String"}, - "VpcId":{"shape":"String"} - } - }, - "DeviceType":{ - "type":"string", - "enum":[ - "ebs", - "instance-store" - ] - }, - "DhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Values":{ - "shape":"DhcpConfigurationValueList", - "locationName":"valueSet" - } - } - }, - "DhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"DhcpConfiguration", - "locationName":"item" - } - }, - "DhcpConfigurationValueList":{ - "type":"list", - "member":{ - "shape":"AttributeValue", - "locationName":"item" - } - }, - "DhcpOptions":{ - "type":"structure", - "members":{ - "DhcpOptionsId":{ - "shape":"String", - "locationName":"dhcpOptionsId" - }, - "DhcpConfigurations":{ - "shape":"DhcpConfigurationList", - "locationName":"dhcpConfigurationSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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"}, - "GatewayId":{"shape":"String"} - } - }, - "DisableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{"shape":"String"} - } - }, - "DisableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DisableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "DisableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "DisassociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIp":{"shape":"String"}, - "AssociationId":{"shape":"String"} - } - }, - "DisassociateRouteTableRequest":{ - "type":"structure", - "required":["AssociationId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "DiskImage":{ - "type":"structure", - "members":{ - "Image":{"shape":"DiskImageDetail"}, - "Description":{"shape":"String"}, - "Volume":{"shape":"VolumeDetail"} - } - }, - "DiskImageDescription":{ - "type":"structure", - "required":[ - "Format", - "Size", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "locationName":"format" - }, - "Size":{ - "shape":"Long", - "locationName":"size" - }, - "ImportManifestUrl":{ - "shape":"String", - "locationName":"importManifestUrl" - }, - "Checksum":{ - "shape":"String", - "locationName":"checksum" - } - } - }, - "DiskImageDetail":{ - "type":"structure", - "required":[ - "Format", - "Bytes", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "locationName":"format" - }, - "Bytes":{ - "shape":"Long", - "locationName":"bytes" - }, - "ImportManifestUrl":{ - "shape":"String", - "locationName":"importManifestUrl" - } - } - }, - "DiskImageFormat":{ - "type":"string", - "enum":[ - "VMDK", - "RAW", - "VHD" - ] - }, - "DiskImageList":{ - "type":"list", - "member":{"shape":"DiskImage"} - }, - "DiskImageVolumeDescription":{ - "type":"structure", - "required":["Id"], - "members":{ - "Size":{ - "shape":"Long", - "locationName":"size" - }, - "Id":{ - "shape":"String", - "locationName":"id" - } - } - }, - "DomainType":{ - "type":"string", - "enum":[ - "vpc", - "standard" - ] - }, - "Double":{"type":"double"}, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "VolumeSize":{ - "shape":"Integer", - "locationName":"volumeSize" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - }, - "VolumeType":{ - "shape":"VolumeType", - "locationName":"volumeType" - }, - "Iops":{ - "shape":"Integer", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - } - } - }, - "EbsInstanceBlockDevice":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "Status":{ - "shape":"AttachmentStatus", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "EbsInstanceBlockDeviceSpecification":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "EnableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{"shape":"String"}, - "GatewayId":{"shape":"String"} - } - }, - "EnableVolumeIORequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - } - } - }, - "EnableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{"shape":"String"} - } - }, - "EnableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "EnableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - } - } - }, - "EnableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "EventCode":{ - "type":"string", - "enum":[ - "instance-reboot", - "system-reboot", - "system-maintenance", - "instance-retirement", - "instance-stop" - ] - }, - "EventInformation":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "EventSubType":{ - "shape":"String", - "locationName":"eventSubType" - }, - "EventDescription":{ - "shape":"String", - "locationName":"eventDescription" - } - } - }, - "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", - "locationName":"exportTaskId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "State":{ - "shape":"ExportTaskState", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "InstanceExportDetails":{ - "shape":"InstanceExportDetails", - "locationName":"instanceExport" - }, - "ExportToS3Task":{ - "shape":"ExportToS3Task", - "locationName":"exportToS3" - } - } - }, - "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", - "locationName":"diskImageFormat" - }, - "ContainerFormat":{ - "shape":"ContainerFormat", - "locationName":"containerFormat" - }, - "S3Bucket":{ - "shape":"String", - "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", - "locationName":"s3Prefix" - } - } - }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "Values":{ - "shape":"ValueStringList", - "locationName":"Value" - } - } - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "FleetType":{ - "type":"string", - "enum":[ - "request", - "maintain" - ] - }, - "Float":{"type":"float"}, - "FlowLog":{ - "type":"structure", - "members":{ - "CreationTime":{ - "shape":"DateTime", - "locationName":"creationTime" - }, - "FlowLogId":{ - "shape":"String", - "locationName":"flowLogId" - }, - "FlowLogStatus":{ - "shape":"String", - "locationName":"flowLogStatus" - }, - "ResourceId":{ - "shape":"String", - "locationName":"resourceId" - }, - "TrafficType":{ - "shape":"TrafficType", - "locationName":"trafficType" - }, - "LogGroupName":{ - "shape":"String", - "locationName":"logGroupName" - }, - "DeliverLogsStatus":{ - "shape":"String", - "locationName":"deliverLogsStatus" - }, - "DeliverLogsErrorMessage":{ - "shape":"String", - "locationName":"deliverLogsErrorMessage" - }, - "DeliverLogsPermissionArn":{ - "shape":"String", - "locationName":"deliverLogsPermissionArn" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceId":{"shape":"String"} - } - }, - "GetConsoleOutputResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Timestamp":{ - "shape":"DateTime", - "locationName":"timestamp" - }, - "Output":{ - "shape":"String", - "locationName":"output" - } - } - }, - "GetConsoleScreenshotRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "InstanceId":{"shape":"String"}, - "WakeUp":{"shape":"Boolean"} - } - }, - "GetConsoleScreenshotResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "ImageData":{ - "shape":"String", - "locationName":"imageData" - } - } - }, - "GetHostReservationPurchasePreviewRequest":{ - "type":"structure", - "required":[ - "OfferingId", - "HostIdSet" - ], - "members":{ - "OfferingId":{"shape":"String"}, - "HostIdSet":{"shape":"RequestHostIdSet"} - } - }, - "GetHostReservationPurchasePreviewResult":{ - "type":"structure", - "members":{ - "Purchase":{ - "shape":"PurchaseSet", - "locationName":"purchase" - }, - "TotalUpfrontPrice":{ - "shape":"String", - "locationName":"totalUpfrontPrice" - }, - "TotalHourlyPrice":{ - "shape":"String", - "locationName":"totalHourlyPrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - } - } - }, - "GetPasswordDataRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{"shape":"String"} - } - }, - "GetPasswordDataResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Timestamp":{ - "shape":"DateTime", - "locationName":"timestamp" - }, - "PasswordData":{ - "shape":"String", - "locationName":"passwordData" - } - } - }, - "GetReservedInstancesExchangeQuoteRequest":{ - "type":"structure", - "required":["ReservedInstanceIds"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "ReservedInstanceIds":{ - "shape":"ReservedInstanceIdSet", - "locationName":"ReservedInstanceId" - }, - "TargetConfigurations":{ - "shape":"TargetConfigurationRequestSet", - "locationName":"TargetConfiguration" - } - } - }, - "GetReservedInstancesExchangeQuoteResult":{ - "type":"structure", - "members":{ - "ReservedInstanceValueSet":{ - "shape":"ReservedInstanceReservationValueSet", - "locationName":"reservedInstanceValueSet" - }, - "ReservedInstanceValueRollup":{ - "shape":"ReservationValue", - "locationName":"reservedInstanceValueRollup" - }, - "TargetConfigurationValueSet":{ - "shape":"TargetReservationValueSet", - "locationName":"targetConfigurationValueSet" - }, - "TargetConfigurationValueRollup":{ - "shape":"ReservationValue", - "locationName":"targetConfigurationValueRollup" - }, - "PaymentDue":{ - "shape":"String", - "locationName":"paymentDue" - }, - "CurrencyCode":{ - "shape":"String", - "locationName":"currencyCode" - }, - "OutputReservedInstancesWillExpireAt":{ - "shape":"DateTime", - "locationName":"outputReservedInstancesWillExpireAt" - }, - "IsValidExchange":{ - "shape":"Boolean", - "locationName":"isValidExchange" - }, - "ValidationFailureReason":{ - "shape":"String", - "locationName":"validationFailureReason" - } - } - }, - "GroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"groupId" - } - }, - "GroupIdentifier":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - } - } - }, - "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", - "locationName":"timestamp" - }, - "EventType":{ - "shape":"EventType", - "locationName":"eventType" - }, - "EventInformation":{ - "shape":"EventInformation", - "locationName":"eventInformation" - } - } - }, - "HistoryRecords":{ - "type":"list", - "member":{ - "shape":"HistoryRecord", - "locationName":"item" - } - }, - "Host":{ - "type":"structure", - "members":{ - "HostId":{ - "shape":"String", - "locationName":"hostId" - }, - "AutoPlacement":{ - "shape":"AutoPlacement", - "locationName":"autoPlacement" - }, - "HostReservationId":{ - "shape":"String", - "locationName":"hostReservationId" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "HostProperties":{ - "shape":"HostProperties", - "locationName":"hostProperties" - }, - "State":{ - "shape":"AllocationState", - "locationName":"state" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Instances":{ - "shape":"HostInstanceList", - "locationName":"instances" - }, - "AvailableCapacity":{ - "shape":"AvailableCapacity", - "locationName":"availableCapacity" - } - } - }, - "HostInstance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - } - } - }, - "HostInstanceList":{ - "type":"list", - "member":{ - "shape":"HostInstance", - "locationName":"item" - } - }, - "HostList":{ - "type":"list", - "member":{ - "shape":"Host", - "locationName":"item" - } - }, - "HostOffering":{ - "type":"structure", - "members":{ - "OfferingId":{ - "shape":"String", - "locationName":"offeringId" - }, - "InstanceFamily":{ - "shape":"String", - "locationName":"instanceFamily" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "locationName":"paymentOption" - }, - "UpfrontPrice":{ - "shape":"String", - "locationName":"upfrontPrice" - }, - "HourlyPrice":{ - "shape":"String", - "locationName":"hourlyPrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "Duration":{ - "shape":"Integer", - "locationName":"duration" - } - } - }, - "HostOfferingSet":{ - "type":"list", - "member":{"shape":"HostOffering"} - }, - "HostProperties":{ - "type":"structure", - "members":{ - "Sockets":{ - "shape":"Integer", - "locationName":"sockets" - }, - "Cores":{ - "shape":"Integer", - "locationName":"cores" - }, - "TotalVCpus":{ - "shape":"Integer", - "locationName":"totalVCpus" - }, - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - } - } - }, - "HostReservation":{ - "type":"structure", - "members":{ - "HostReservationId":{ - "shape":"String", - "locationName":"hostReservationId" - }, - "HostIdSet":{ - "shape":"ResponseHostIdSet", - "locationName":"hostIdSet" - }, - "OfferingId":{ - "shape":"String", - "locationName":"offeringId" - }, - "InstanceFamily":{ - "shape":"String", - "locationName":"instanceFamily" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "locationName":"paymentOption" - }, - "HourlyPrice":{ - "shape":"String", - "locationName":"hourlyPrice" - }, - "UpfrontPrice":{ - "shape":"String", - "locationName":"upfrontPrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "Count":{ - "shape":"Integer", - "locationName":"count" - }, - "Duration":{ - "shape":"Integer", - "locationName":"duration" - }, - "End":{ - "shape":"DateTime", - "locationName":"end" - }, - "Start":{ - "shape":"DateTime", - "locationName":"start" - }, - "State":{ - "shape":"ReservationState", - "locationName":"state" - } - } - }, - "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", - "locationName":"arn" - }, - "Id":{ - "shape":"String", - "locationName":"id" - } - } - }, - "IamInstanceProfileSpecification":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "locationName":"arn" - }, - "Name":{ - "shape":"String", - "locationName":"name" - } - } - }, - "IcmpTypeCode":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"Integer", - "locationName":"type" - }, - "Code":{ - "shape":"Integer", - "locationName":"code" - } - } - }, - "IdFormat":{ - "type":"structure", - "members":{ - "Resource":{ - "shape":"String", - "locationName":"resource" - }, - "UseLongIds":{ - "shape":"Boolean", - "locationName":"useLongIds" - }, - "Deadline":{ - "shape":"DateTime", - "locationName":"deadline" - } - } - }, - "IdFormatList":{ - "type":"list", - "member":{ - "shape":"IdFormat", - "locationName":"item" - } - }, - "Image":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "ImageLocation":{ - "shape":"String", - "locationName":"imageLocation" - }, - "State":{ - "shape":"ImageState", - "locationName":"imageState" - }, - "OwnerId":{ - "shape":"String", - "locationName":"imageOwnerId" - }, - "CreationDate":{ - "shape":"String", - "locationName":"creationDate" - }, - "Public":{ - "shape":"Boolean", - "locationName":"isPublic" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "ImageType":{ - "shape":"ImageTypeValues", - "locationName":"imageType" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "locationName":"platform" - }, - "SriovNetSupport":{ - "shape":"String", - "locationName":"sriovNetSupport" - }, - "EnaSupport":{ - "shape":"Boolean", - "locationName":"enaSupport" - }, - "StateReason":{ - "shape":"StateReason", - "locationName":"stateReason" - }, - "ImageOwnerAlias":{ - "shape":"String", - "locationName":"imageOwnerAlias" - }, - "Name":{ - "shape":"String", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "RootDeviceType":{ - "shape":"DeviceType", - "locationName":"rootDeviceType" - }, - "RootDeviceName":{ - "shape":"String", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "locationName":"virtualizationType" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "locationName":"hypervisor" - } - } - }, - "ImageAttribute":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "LaunchPermissions":{ - "shape":"LaunchPermissionList", - "locationName":"launchPermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "KernelId":{ - "shape":"AttributeValue", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "locationName":"ramdisk" - }, - "Description":{ - "shape":"AttributeValue", - "locationName":"description" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - } - } - }, - "ImageAttributeName":{ - "type":"string", - "enum":[ - "description", - "kernel", - "ramdisk", - "launchPermission", - "productCodes", - "blockDeviceMapping", - "sriovNetSupport" - ] - }, - "ImageDiskContainer":{ - "type":"structure", - "members":{ - "Description":{"shape":"String"}, - "Format":{"shape":"String"}, - "Url":{"shape":"String"}, - "UserBucket":{"shape":"UserBucket"}, - "DeviceName":{"shape":"String"}, - "SnapshotId":{"shape":"String"} - } - }, - "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"}, - "DiskContainers":{ - "shape":"ImageDiskContainerList", - "locationName":"DiskContainer" - }, - "LicenseType":{"shape":"String"}, - "Hypervisor":{"shape":"String"}, - "Architecture":{"shape":"String"}, - "Platform":{"shape":"String"}, - "ClientData":{"shape":"ClientData"}, - "ClientToken":{"shape":"String"}, - "RoleName":{"shape":"String"} - } - }, - "ImportImageResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "Architecture":{ - "shape":"String", - "locationName":"architecture" - }, - "LicenseType":{ - "shape":"String", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "ImportImageTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "Architecture":{ - "shape":"String", - "locationName":"architecture" - }, - "LicenseType":{ - "shape":"String", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "ImportImageTaskList":{ - "type":"list", - "member":{ - "shape":"ImportImageTask", - "locationName":"item" - } - }, - "ImportInstanceLaunchSpecification":{ - "type":"structure", - "members":{ - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "GroupNames":{ - "shape":"SecurityGroupStringList", - "locationName":"GroupName" - }, - "GroupIds":{ - "shape":"SecurityGroupIdStringList", - "locationName":"GroupId" - }, - "AdditionalInfo":{ - "shape":"String", - "locationName":"additionalInfo" - }, - "UserData":{ - "shape":"UserData", - "locationName":"userData" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"Placement", - "locationName":"placement" - }, - "Monitoring":{ - "shape":"Boolean", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"ShutdownBehavior", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - } - } - }, - "ImportInstanceRequest":{ - "type":"structure", - "required":["Platform"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "LaunchSpecification":{ - "shape":"ImportInstanceLaunchSpecification", - "locationName":"launchSpecification" - }, - "DiskImages":{ - "shape":"DiskImageList", - "locationName":"diskImage" - }, - "Platform":{ - "shape":"PlatformValues", - "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", - "locationName":"platform" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportInstanceVolumeDetailItem":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "Image", - "Volume", - "Status" - ], - "members":{ - "BytesConverted":{ - "shape":"Long", - "locationName":"bytesConverted" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Image":{ - "shape":"DiskImageDescription", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "locationName":"volume" - }, - "Status":{ - "shape":"String", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportInstanceVolumeDetailSet":{ - "type":"list", - "member":{ - "shape":"ImportInstanceVolumeDetailItem", - "locationName":"item" - } - }, - "ImportKeyPairRequest":{ - "type":"structure", - "required":[ - "KeyName", - "PublicKeyMaterial" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "PublicKeyMaterial":{ - "shape":"Blob", - "locationName":"publicKeyMaterial" - } - } - }, - "ImportKeyPairResult":{ - "type":"structure", - "members":{ - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "KeyFingerprint":{ - "shape":"String", - "locationName":"keyFingerprint" - } - } - }, - "ImportSnapshotRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "Description":{"shape":"String"}, - "DiskContainer":{"shape":"SnapshotDiskContainer"}, - "ClientData":{"shape":"ClientData"}, - "ClientToken":{"shape":"String"}, - "RoleName":{"shape":"String"} - } - }, - "ImportSnapshotResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportSnapshotTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "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", - "locationName":"availabilityZone" - }, - "Image":{ - "shape":"DiskImageDetail", - "locationName":"image" - }, - "Description":{ - "shape":"String", - "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", - "locationName":"bytesConverted" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Image":{ - "shape":"DiskImageDescription", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "locationName":"volume" - } - } - }, - "Instance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "State":{ - "shape":"InstanceState", - "locationName":"instanceState" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "PublicDnsName":{ - "shape":"String", - "locationName":"dnsName" - }, - "StateTransitionReason":{ - "shape":"String", - "locationName":"reason" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "AmiLaunchIndex":{ - "shape":"Integer", - "locationName":"amiLaunchIndex" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "LaunchTime":{ - "shape":"DateTime", - "locationName":"launchTime" - }, - "Placement":{ - "shape":"Placement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "locationName":"platform" - }, - "Monitoring":{ - "shape":"Monitoring", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PublicIpAddress":{ - "shape":"String", - "locationName":"ipAddress" - }, - "StateReason":{ - "shape":"StateReason", - "locationName":"stateReason" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "RootDeviceType":{ - "shape":"DeviceType", - "locationName":"rootDeviceType" - }, - "RootDeviceName":{ - "shape":"String", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "locationName":"virtualizationType" - }, - "InstanceLifecycle":{ - "shape":"InstanceLifecycleType", - "locationName":"instanceLifecycle" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "locationName":"sourceDestCheck" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "locationName":"hypervisor" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceList", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfile", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"String", - "locationName":"sriovNetSupport" - }, - "EnaSupport":{ - "shape":"Boolean", - "locationName":"enaSupport" - } - } - }, - "InstanceAttribute":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"AttributeValue", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"AttributeValue", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"AttributeValue", - "locationName":"userData" - }, - "DisableApiTermination":{ - "shape":"AttributeBooleanValue", - "locationName":"disableApiTermination" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"AttributeValue", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "RootDeviceName":{ - "shape":"AttributeValue", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "locationName":"productCodes" - }, - "EbsOptimized":{ - "shape":"AttributeBooleanValue", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "EnaSupport":{ - "shape":"AttributeBooleanValue", - "locationName":"enaSupport" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - } - } - }, - "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", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDevice", - "locationName":"ebs" - } - } - }, - "InstanceBlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMapping", - "locationName":"item" - } - }, - "InstanceBlockDeviceMappingSpecification":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDeviceSpecification", - "locationName":"ebs" - }, - "VirtualName":{ - "shape":"String", - "locationName":"virtualName" - }, - "NoDevice":{ - "shape":"String", - "locationName":"noDevice" - } - } - }, - "InstanceBlockDeviceMappingSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMappingSpecification", - "locationName":"item" - } - }, - "InstanceCapacity":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "AvailableCapacity":{ - "shape":"Integer", - "locationName":"availableCapacity" - }, - "TotalCapacity":{ - "shape":"Integer", - "locationName":"totalCapacity" - } - } - }, - "InstanceCount":{ - "type":"structure", - "members":{ - "State":{ - "shape":"ListingState", - "locationName":"state" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - } - } - }, - "InstanceCountList":{ - "type":"list", - "member":{ - "shape":"InstanceCount", - "locationName":"item" - } - }, - "InstanceExportDetails":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "locationName":"targetEnvironment" - } - } - }, - "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", - "locationName":"instanceId" - }, - "Monitoring":{ - "shape":"Monitoring", - "locationName":"monitoring" - } - } - }, - "InstanceMonitoringList":{ - "type":"list", - "member":{ - "shape":"InstanceMonitoring", - "locationName":"item" - } - }, - "InstanceNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Status":{ - "shape":"NetworkInterfaceStatus", - "locationName":"status" - }, - "MacAddress":{ - "shape":"String", - "locationName":"macAddress" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Attachment":{ - "shape":"InstanceNetworkInterfaceAttachment", - "locationName":"attachment" - }, - "Association":{ - "shape":"InstanceNetworkInterfaceAssociation", - "locationName":"association" - }, - "PrivateIpAddresses":{ - "shape":"InstancePrivateIpAddressList", - "locationName":"privateIpAddressesSet" - } - } - }, - "InstanceNetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "PublicDnsName":{ - "shape":"String", - "locationName":"publicDnsName" - }, - "IpOwnerId":{ - "shape":"String", - "locationName":"ipOwnerId" - } - } - }, - "InstanceNetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "InstanceNetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterface", - "locationName":"item" - } - }, - "InstanceNetworkInterfaceSpecification":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "locationName":"privateIpAddressesSet", - "queryName":"PrivateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "locationName":"associatePublicIpAddress" - } - } - }, - "InstanceNetworkInterfaceSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterfaceSpecification", - "locationName":"item" - } - }, - "InstancePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "locationName":"primary" - }, - "Association":{ - "shape":"InstanceNetworkInterfaceAssociation", - "locationName":"association" - } - } - }, - "InstancePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"InstancePrivateIpAddress", - "locationName":"item" - } - }, - "InstanceState":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"Integer", - "locationName":"code" - }, - "Name":{ - "shape":"InstanceStateName", - "locationName":"name" - } - } - }, - "InstanceStateChange":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "CurrentState":{ - "shape":"InstanceState", - "locationName":"currentState" - }, - "PreviousState":{ - "shape":"InstanceState", - "locationName":"previousState" - } - } - }, - "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", - "locationName":"instanceId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Events":{ - "shape":"InstanceStatusEventList", - "locationName":"eventsSet" - }, - "InstanceState":{ - "shape":"InstanceState", - "locationName":"instanceState" - }, - "SystemStatus":{ - "shape":"InstanceStatusSummary", - "locationName":"systemStatus" - }, - "InstanceStatus":{ - "shape":"InstanceStatusSummary", - "locationName":"instanceStatus" - } - } - }, - "InstanceStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"StatusName", - "locationName":"name" - }, - "Status":{ - "shape":"StatusType", - "locationName":"status" - }, - "ImpairedSince":{ - "shape":"DateTime", - "locationName":"impairedSince" - } - } - }, - "InstanceStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusDetails", - "locationName":"item" - } - }, - "InstanceStatusEvent":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"EventCode", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "NotBefore":{ - "shape":"DateTime", - "locationName":"notBefore" - }, - "NotAfter":{ - "shape":"DateTime", - "locationName":"notAfter" - } - } - }, - "InstanceStatusEventList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusEvent", - "locationName":"item" - } - }, - "InstanceStatusList":{ - "type":"list", - "member":{ - "shape":"InstanceStatus", - "locationName":"item" - } - }, - "InstanceStatusSummary":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"SummaryStatus", - "locationName":"status" - }, - "Details":{ - "shape":"InstanceStatusDetailsList", - "locationName":"details" - } - } - }, - "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", - "locationName":"internetGatewayId" - }, - "Attachments":{ - "shape":"InternetGatewayAttachmentList", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "InternetGatewayAttachment":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "State":{ - "shape":"AttachmentStatus", - "locationName":"state" - } - } - }, - "InternetGatewayAttachmentList":{ - "type":"list", - "member":{ - "shape":"InternetGatewayAttachment", - "locationName":"item" - } - }, - "InternetGatewayList":{ - "type":"list", - "member":{ - "shape":"InternetGateway", - "locationName":"item" - } - }, - "IpPermission":{ - "type":"structure", - "members":{ - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairList", - "locationName":"groups" - }, - "IpRanges":{ - "shape":"IpRangeList", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "shape":"PrefixListIdList", - "locationName":"prefixListIds" - } - } - }, - "IpPermissionList":{ - "type":"list", - "member":{ - "shape":"IpPermission", - "locationName":"item" - } - }, - "IpRange":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"String", - "locationName":"cidrIp" - } - } - }, - "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", - "locationName":"keyName" - }, - "KeyFingerprint":{ - "shape":"String", - "locationName":"keyFingerprint" - }, - "KeyMaterial":{ - "shape":"String", - "locationName":"keyMaterial" - } - } - }, - "KeyPairInfo":{ - "type":"structure", - "members":{ - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "KeyFingerprint":{ - "shape":"String", - "locationName":"keyFingerprint" - } - } - }, - "KeyPairList":{ - "type":"list", - "member":{ - "shape":"KeyPairInfo", - "locationName":"item" - } - }, - "LaunchPermission":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "locationName":"userId" - }, - "Group":{ - "shape":"PermissionGroup", - "locationName":"group" - } - } - }, - "LaunchPermissionList":{ - "type":"list", - "member":{ - "shape":"LaunchPermission", - "locationName":"item" - } - }, - "LaunchPermissionModifications":{ - "type":"structure", - "members":{ - "Add":{"shape":"LaunchPermissionList"}, - "Remove":{"shape":"LaunchPermissionList"} - } - }, - "LaunchSpecification":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "UserData":{ - "shape":"String", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - } - } - }, - "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", - "locationName":"hostId" - }, - "AutoPlacement":{ - "shape":"AutoPlacement", - "locationName":"autoPlacement" - } - } - }, - "ModifyHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "locationName":"unsuccessful" - } - } - }, - "ModifyIdFormatRequest":{ - "type":"structure", - "required":[ - "Resource", - "UseLongIds" - ], - "members":{ - "Resource":{"shape":"String"}, - "UseLongIds":{"shape":"Boolean"} - } - }, - "ModifyIdentityIdFormatRequest":{ - "type":"structure", - "required":[ - "Resource", - "UseLongIds", - "PrincipalArn" - ], - "members":{ - "Resource":{ - "shape":"String", - "locationName":"resource" - }, - "UseLongIds":{ - "shape":"Boolean", - "locationName":"useLongIds" - }, - "PrincipalArn":{ - "shape":"String", - "locationName":"principalArn" - } - } - }, - "ModifyImageAttributeRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"}, - "Attribute":{"shape":"String"}, - "OperationType":{"shape":"OperationType"}, - "UserIds":{ - "shape":"UserIdStringList", - "locationName":"UserId" - }, - "UserGroups":{ - "shape":"UserGroupStringList", - "locationName":"UserGroup" - }, - "ProductCodes":{ - "shape":"ProductCodeStringList", - "locationName":"ProductCode" - }, - "Value":{"shape":"String"}, - "LaunchPermission":{"shape":"LaunchPermissionModifications"}, - "Description":{"shape":"AttributeValue"} - } - }, - "ModifyInstanceAttributeRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "locationName":"attribute" - }, - "Value":{ - "shape":"String", - "locationName":"value" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingSpecificationList", - "locationName":"blockDeviceMapping" - }, - "SourceDestCheck":{"shape":"AttributeBooleanValue"}, - "DisableApiTermination":{ - "shape":"AttributeBooleanValue", - "locationName":"disableApiTermination" - }, - "InstanceType":{ - "shape":"AttributeValue", - "locationName":"instanceType" - }, - "Kernel":{ - "shape":"AttributeValue", - "locationName":"kernel" - }, - "Ramdisk":{ - "shape":"AttributeValue", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"BlobAttributeValue", - "locationName":"userData" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"AttributeValue", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "Groups":{ - "shape":"GroupIdStringList", - "locationName":"GroupId" - }, - "EbsOptimized":{ - "shape":"AttributeBooleanValue", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "EnaSupport":{ - "shape":"AttributeBooleanValue", - "locationName":"enaSupport" - } - } - }, - "ModifyInstancePlacementRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Tenancy":{ - "shape":"HostTenancy", - "locationName":"tenancy" - }, - "Affinity":{ - "shape":"Affinity", - "locationName":"affinity" - }, - "HostId":{ - "shape":"String", - "locationName":"hostId" - } - } - }, - "ModifyInstancePlacementResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "ModifyNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "Description":{ - "shape":"AttributeValue", - "locationName":"description" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachmentChanges", - "locationName":"attachment" - } - } - }, - "ModifyReservedInstancesRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesIds", - "TargetConfigurations" - ], - "members":{ - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "ReservedInstancesIds":{ - "shape":"ReservedInstancesIdStringList", - "locationName":"ReservedInstancesId" - }, - "TargetConfigurations":{ - "shape":"ReservedInstancesConfigurationList", - "locationName":"ReservedInstancesConfigurationSetItemType" - } - } - }, - "ModifyReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "locationName":"reservedInstancesModificationId" - } - } - }, - "ModifySnapshotAttributeRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"}, - "Attribute":{"shape":"SnapshotAttributeName"}, - "OperationType":{"shape":"OperationType"}, - "UserIds":{ - "shape":"UserIdStringList", - "locationName":"UserId" - }, - "GroupNames":{ - "shape":"GroupNameStringList", - "locationName":"UserGroup" - }, - "CreateVolumePermission":{"shape":"CreateVolumePermissionModifications"} - } - }, - "ModifySpotFleetRequestRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "TargetCapacity":{ - "shape":"Integer", - "locationName":"targetCapacity" - }, - "ExcessCapacityTerminationPolicy":{ - "shape":"ExcessCapacityTerminationPolicy", - "locationName":"excessCapacityTerminationPolicy" - } - } - }, - "ModifySpotFleetRequestResponse":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "ModifySubnetAttributeRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "MapPublicIpOnLaunch":{"shape":"AttributeBooleanValue"} - } - }, - "ModifyVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{"shape":"String"}, - "AutoEnableIO":{"shape":"AttributeBooleanValue"} - } - }, - "ModifyVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "EnableDnsSupport":{"shape":"AttributeBooleanValue"}, - "EnableDnsHostnames":{"shape":"AttributeBooleanValue"} - } - }, - "ModifyVpcEndpointRequest":{ - "type":"structure", - "required":["VpcEndpointId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcEndpointId":{"shape":"String"}, - "ResetPolicy":{"shape":"Boolean"}, - "PolicyDocument":{"shape":"String"}, - "AddRouteTableIds":{ - "shape":"ValueStringList", - "locationName":"AddRouteTableId" - }, - "RemoveRouteTableIds":{ - "shape":"ValueStringList", - "locationName":"RemoveRouteTableId" - } - } - }, - "ModifyVpcEndpointResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "ModifyVpcPeeringConnectionOptionsRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "VpcPeeringConnectionId":{"shape":"String"}, - "RequesterPeeringConnectionOptions":{"shape":"PeeringConnectionOptionsRequest"}, - "AccepterPeeringConnectionOptions":{"shape":"PeeringConnectionOptionsRequest"} - } - }, - "ModifyVpcPeeringConnectionOptionsResult":{ - "type":"structure", - "members":{ - "RequesterPeeringConnectionOptions":{ - "shape":"PeeringConnectionOptions", - "locationName":"requesterPeeringConnectionOptions" - }, - "AccepterPeeringConnectionOptions":{ - "shape":"PeeringConnectionOptions", - "locationName":"accepterPeeringConnectionOptions" - } - } - }, - "MonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "MonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "locationName":"instancesSet" - } - } - }, - "Monitoring":{ - "type":"structure", - "members":{ - "State":{ - "shape":"MonitoringState", - "locationName":"state" - } - } - }, - "MonitoringState":{ - "type":"string", - "enum":[ - "disabled", - "disabling", - "enabled", - "pending" - ] - }, - "MoveAddressToVpcRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - } - } - }, - "MoveAddressToVpcResult":{ - "type":"structure", - "members":{ - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "Status":{ - "shape":"Status", - "locationName":"status" - } - } - }, - "MoveStatus":{ - "type":"string", - "enum":[ - "movingToVpc", - "restoringToClassic" - ] - }, - "MovingAddressStatus":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "MoveStatus":{ - "shape":"MoveStatus", - "locationName":"moveStatus" - } - } - }, - "MovingAddressStatusSet":{ - "type":"list", - "member":{ - "shape":"MovingAddressStatus", - "locationName":"item" - } - }, - "NatGateway":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - }, - "DeleteTime":{ - "shape":"DateTime", - "locationName":"deleteTime" - }, - "NatGatewayAddresses":{ - "shape":"NatGatewayAddressList", - "locationName":"natGatewayAddressSet" - }, - "State":{ - "shape":"NatGatewayState", - "locationName":"state" - }, - "FailureCode":{ - "shape":"String", - "locationName":"failureCode" - }, - "FailureMessage":{ - "shape":"String", - "locationName":"failureMessage" - }, - "ProvisionedBandwidth":{ - "shape":"ProvisionedBandwidth", - "locationName":"provisionedBandwidth" - } - } - }, - "NatGatewayAddress":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "PrivateIp":{ - "shape":"String", - "locationName":"privateIp" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - } - } - }, - "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", - "locationName":"networkAclId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "IsDefault":{ - "shape":"Boolean", - "locationName":"default" - }, - "Entries":{ - "shape":"NetworkAclEntryList", - "locationName":"entrySet" - }, - "Associations":{ - "shape":"NetworkAclAssociationList", - "locationName":"associationSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "NetworkAclAssociation":{ - "type":"structure", - "members":{ - "NetworkAclAssociationId":{ - "shape":"String", - "locationName":"networkAclAssociationId" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - } - } - }, - "NetworkAclAssociationList":{ - "type":"list", - "member":{ - "shape":"NetworkAclAssociation", - "locationName":"item" - } - }, - "NetworkAclEntry":{ - "type":"structure", - "members":{ - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "locationName":"ruleAction" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "locationName":"icmpTypeCode" - }, - "PortRange":{ - "shape":"PortRange", - "locationName":"portRange" - } - } - }, - "NetworkAclEntryList":{ - "type":"list", - "member":{ - "shape":"NetworkAclEntry", - "locationName":"item" - } - }, - "NetworkAclList":{ - "type":"list", - "member":{ - "shape":"NetworkAcl", - "locationName":"item" - } - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "locationName":"requesterId" - }, - "RequesterManaged":{ - "shape":"Boolean", - "locationName":"requesterManaged" - }, - "Status":{ - "shape":"NetworkInterfaceStatus", - "locationName":"status" - }, - "MacAddress":{ - "shape":"String", - "locationName":"macAddress" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "locationName":"attachment" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "locationName":"association" - }, - "TagSet":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "PrivateIpAddresses":{ - "shape":"NetworkInterfacePrivateIpAddressList", - "locationName":"privateIpAddressesSet" - }, - "InterfaceType":{ - "shape":"NetworkInterfaceType", - "locationName":"interfaceType" - } - } - }, - "NetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - }, - "PublicDnsName":{ - "shape":"String", - "locationName":"publicDnsName" - }, - "IpOwnerId":{ - "shape":"String", - "locationName":"ipOwnerId" - }, - "AllocationId":{ - "shape":"String", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - } - } - }, - "NetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "locationName":"instanceOwnerId" - }, - "DeviceIndex":{ - "shape":"Integer", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "NetworkInterfaceAttachmentChanges":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "locationName":"attachmentId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "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", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "locationName":"primary" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "locationName":"association" - } - } - }, - "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", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - }, - "AllowDnsResolutionFromRemoteVpc":{ - "shape":"Boolean", - "locationName":"allowDnsResolutionFromRemoteVpc" - } - } - }, - "PeeringConnectionOptionsRequest":{ - "type":"structure", - "members":{ - "AllowEgressFromLocalClassicLinkToRemoteVpc":{"shape":"Boolean"}, - "AllowEgressFromLocalVpcToRemoteClassicLink":{"shape":"Boolean"}, - "AllowDnsResolutionFromRemoteVpc":{"shape":"Boolean"} - } - }, - "PermissionGroup":{ - "type":"string", - "enum":["all"] - }, - "Placement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Tenancy":{ - "shape":"Tenancy", - "locationName":"tenancy" - }, - "HostId":{ - "shape":"String", - "locationName":"hostId" - }, - "Affinity":{ - "shape":"String", - "locationName":"affinity" - } - } - }, - "PlacementGroup":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "locationName":"strategy" - }, - "State":{ - "shape":"PlacementGroupState", - "locationName":"state" - } - } - }, - "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", - "locationName":"from" - }, - "To":{ - "shape":"Integer", - "locationName":"to" - } - } - }, - "PrefixList":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "locationName":"prefixListId" - }, - "PrefixListName":{ - "shape":"String", - "locationName":"prefixListName" - }, - "Cidrs":{ - "shape":"ValueStringList", - "locationName":"cidrSet" - } - } - }, - "PrefixListId":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "locationName":"prefixListId" - } - } - }, - "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", - "locationName":"term" - }, - "Price":{ - "shape":"Double", - "locationName":"price" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "Active":{ - "shape":"Boolean", - "locationName":"active" - } - } - }, - "PriceScheduleList":{ - "type":"list", - "member":{ - "shape":"PriceSchedule", - "locationName":"item" - } - }, - "PriceScheduleSpecification":{ - "type":"structure", - "members":{ - "Term":{ - "shape":"Long", - "locationName":"term" - }, - "Price":{ - "shape":"Double", - "locationName":"price" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - } - } - }, - "PriceScheduleSpecificationList":{ - "type":"list", - "member":{ - "shape":"PriceScheduleSpecification", - "locationName":"item" - } - }, - "PricingDetail":{ - "type":"structure", - "members":{ - "Price":{ - "shape":"Double", - "locationName":"price" - }, - "Count":{ - "shape":"Integer", - "locationName":"count" - } - } - }, - "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", - "locationName":"privateIpAddress" - }, - "Primary":{ - "shape":"Boolean", - "locationName":"primary" - } - } - }, - "PrivateIpAddressSpecificationList":{ - "type":"list", - "member":{ - "shape":"PrivateIpAddressSpecification", - "locationName":"item" - } - }, - "PrivateIpAddressStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PrivateIpAddress" - } - }, - "ProductCode":{ - "type":"structure", - "members":{ - "ProductCodeId":{ - "shape":"String", - "locationName":"productCode" - }, - "ProductCodeType":{ - "shape":"ProductCodeValues", - "locationName":"type" - } - } - }, - "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", - "locationName":"gatewayId" - } - } - }, - "PropagatingVgwList":{ - "type":"list", - "member":{ - "shape":"PropagatingVgw", - "locationName":"item" - } - }, - "ProvisionedBandwidth":{ - "type":"structure", - "members":{ - "Provisioned":{ - "shape":"String", - "locationName":"provisioned" - }, - "Requested":{ - "shape":"String", - "locationName":"requested" - }, - "RequestTime":{ - "shape":"DateTime", - "locationName":"requestTime" - }, - "ProvisionTime":{ - "shape":"DateTime", - "locationName":"provisionTime" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "PublicIpStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PublicIp" - } - }, - "Purchase":{ - "type":"structure", - "members":{ - "HostReservationId":{ - "shape":"String", - "locationName":"hostReservationId" - }, - "HostIdSet":{ - "shape":"ResponseHostIdSet", - "locationName":"hostIdSet" - }, - "InstanceFamily":{ - "shape":"String", - "locationName":"instanceFamily" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "locationName":"paymentOption" - }, - "UpfrontPrice":{ - "shape":"String", - "locationName":"upfrontPrice" - }, - "HourlyPrice":{ - "shape":"String", - "locationName":"hourlyPrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "Duration":{ - "shape":"Integer", - "locationName":"duration" - } - } - }, - "PurchaseHostReservationRequest":{ - "type":"structure", - "required":[ - "OfferingId", - "HostIdSet" - ], - "members":{ - "OfferingId":{"shape":"String"}, - "HostIdSet":{"shape":"RequestHostIdSet"}, - "LimitPrice":{"shape":"String"}, - "CurrencyCode":{"shape":"CurrencyCodeValues"}, - "ClientToken":{"shape":"String"} - } - }, - "PurchaseHostReservationResult":{ - "type":"structure", - "members":{ - "Purchase":{ - "shape":"PurchaseSet", - "locationName":"purchase" - }, - "TotalUpfrontPrice":{ - "shape":"String", - "locationName":"totalUpfrontPrice" - }, - "TotalHourlyPrice":{ - "shape":"String", - "locationName":"totalHourlyPrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "PurchaseRequest":{ - "type":"structure", - "required":[ - "PurchaseToken", - "InstanceCount" - ], - "members":{ - "PurchaseToken":{"shape":"String"}, - "InstanceCount":{"shape":"Integer"} - } - }, - "PurchaseRequestSet":{ - "type":"list", - "member":{ - "shape":"PurchaseRequest", - "locationName":"PurchaseRequest" - }, - "min":1 - }, - "PurchaseReservedInstancesOfferingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesOfferingId", - "InstanceCount" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingId":{"shape":"String"}, - "InstanceCount":{"shape":"Integer"}, - "LimitPrice":{ - "shape":"ReservedInstanceLimitPrice", - "locationName":"limitPrice" - } - } - }, - "PurchaseReservedInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - } - } - }, - "PurchaseScheduledInstancesRequest":{ - "type":"structure", - "required":["PurchaseRequests"], - "members":{ - "DryRun":{"shape":"Boolean"}, - "ClientToken":{ - "shape":"String", - "idempotencyToken":true - }, - "PurchaseRequests":{ - "shape":"PurchaseRequestSet", - "locationName":"PurchaseRequest" - } - } - }, - "PurchaseScheduledInstancesResult":{ - "type":"structure", - "members":{ - "ScheduledInstanceSet":{ - "shape":"PurchasedScheduledInstanceSet", - "locationName":"scheduledInstanceSet" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"RecurringChargeFrequency", - "locationName":"frequency" - }, - "Amount":{ - "shape":"Double", - "locationName":"amount" - } - } - }, - "RecurringChargeFrequency":{ - "type":"string", - "enum":["Hourly"] - }, - "RecurringChargesList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"item" - } - }, - "Region":{ - "type":"structure", - "members":{ - "RegionName":{ - "shape":"String", - "locationName":"regionName" - }, - "Endpoint":{ - "shape":"String", - "locationName":"regionEndpoint" - } - } - }, - "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"}, - "Name":{ - "shape":"String", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "locationName":"architecture" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "RootDeviceName":{ - "shape":"String", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "locationName":"BlockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"String", - "locationName":"virtualizationType" - }, - "SriovNetSupport":{ - "shape":"String", - "locationName":"sriovNetSupport" - }, - "EnaSupport":{ - "shape":"Boolean", - "locationName":"enaSupport" - } - } - }, - "RegisterImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - } - } - }, - "RejectVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "RejectVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "locationName":"return" - } - } - }, - "ReleaseAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "PublicIp":{"shape":"String"}, - "AllocationId":{"shape":"String"} - } - }, - "ReleaseHostsRequest":{ - "type":"structure", - "required":["HostIds"], - "members":{ - "HostIds":{ - "shape":"RequestHostIdList", - "locationName":"hostId" - } - } - }, - "ReleaseHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "locationName":"unsuccessful" - } - } - }, - "ReplaceNetworkAclAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "NetworkAclId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - } - } - }, - "ReplaceNetworkAclAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "locationName":"newAssociationId" - } - } - }, - "ReplaceNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "shape":"Integer", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "locationName":"ruleAction" - }, - "Egress":{ - "shape":"Boolean", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "locationName":"portRange" - } - } - }, - "ReplaceRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - }, - "GatewayId":{ - "shape":"String", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - } - } - }, - "ReplaceRouteTableAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "locationName":"associationId" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - } - } - }, - "ReplaceRouteTableAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "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", - "locationName":"instanceId" - }, - "Status":{ - "shape":"ReportStatusType", - "locationName":"status" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "EndTime":{ - "shape":"DateTime", - "locationName":"endTime" - }, - "ReasonCodes":{ - "shape":"ReasonCodesList", - "locationName":"reasonCode" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "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", - "locationName":"dryRun" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "locationName":"spotFleetRequestConfig" - } - } - }, - "RequestSpotFleetResponse":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - } - } - }, - "RequestSpotInstancesRequest":{ - "type":"structure", - "required":["SpotPrice"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "Type":{ - "shape":"SpotInstanceType", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "locationName":"validUntil" - }, - "LaunchGroup":{ - "shape":"String", - "locationName":"launchGroup" - }, - "AvailabilityZoneGroup":{ - "shape":"String", - "locationName":"availabilityZoneGroup" - }, - "BlockDurationMinutes":{ - "shape":"Integer", - "locationName":"blockDurationMinutes" - }, - "LaunchSpecification":{"shape":"RequestSpotLaunchSpecification"} - } - }, - "RequestSpotInstancesResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "locationName":"spotInstanceRequestSet" - } - } - }, - "RequestSpotLaunchSpecification":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "SecurityGroups":{ - "shape":"ValueStringList", - "locationName":"SecurityGroup" - }, - "UserData":{ - "shape":"String", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"NetworkInterface" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "locationName":"SecurityGroupId" - } - } - }, - "Reservation":{ - "type":"structure", - "members":{ - "ReservationId":{ - "shape":"String", - "locationName":"reservationId" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "locationName":"requesterId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "Instances":{ - "shape":"InstanceList", - "locationName":"instancesSet" - } - } - }, - "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", - "locationName":"remainingTotalValue" - }, - "RemainingUpfrontValue":{ - "shape":"String", - "locationName":"remainingUpfrontValue" - }, - "HourlyPrice":{ - "shape":"String", - "locationName":"hourlyPrice" - } - } - }, - "ReservedInstanceIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstanceId" - } - }, - "ReservedInstanceLimitPrice":{ - "type":"structure", - "members":{ - "Amount":{ - "shape":"Double", - "locationName":"amount" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - } - } - }, - "ReservedInstanceReservationValue":{ - "type":"structure", - "members":{ - "ReservedInstanceId":{ - "shape":"String", - "locationName":"reservedInstanceId" - }, - "ReservationValue":{ - "shape":"ReservationValue", - "locationName":"reservationValue" - } - } - }, - "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", - "locationName":"reservedInstancesId" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Start":{ - "shape":"DateTime", - "locationName":"start" - }, - "End":{ - "shape":"DateTime", - "locationName":"end" - }, - "Duration":{ - "shape":"Long", - "locationName":"duration" - }, - "UsagePrice":{ - "shape":"Float", - "locationName":"usagePrice" - }, - "FixedPrice":{ - "shape":"Float", - "locationName":"fixedPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "State":{ - "shape":"ReservedInstanceState", - "locationName":"state" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - }, - "RecurringCharges":{ - "shape":"RecurringChargesList", - "locationName":"recurringCharges" - }, - "OfferingClass":{ - "shape":"OfferingClassType", - "locationName":"offeringClass" - }, - "Scope":{ - "shape":"scope", - "locationName":"scope" - } - } - }, - "ReservedInstancesConfiguration":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Scope":{ - "shape":"scope", - "locationName":"scope" - } - } - }, - "ReservedInstancesConfigurationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"item" - } - }, - "ReservedInstancesId":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - } - } - }, - "ReservedInstancesIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesId" - } - }, - "ReservedInstancesList":{ - "type":"list", - "member":{ - "shape":"ReservedInstances", - "locationName":"item" - } - }, - "ReservedInstancesListing":{ - "type":"structure", - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "locationName":"reservedInstancesListingId" - }, - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "CreateDate":{ - "shape":"DateTime", - "locationName":"createDate" - }, - "UpdateDate":{ - "shape":"DateTime", - "locationName":"updateDate" - }, - "Status":{ - "shape":"ListingStatus", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "InstanceCounts":{ - "shape":"InstanceCountList", - "locationName":"instanceCounts" - }, - "PriceSchedules":{ - "shape":"PriceScheduleList", - "locationName":"priceSchedules" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "ReservedInstancesListingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesListing", - "locationName":"item" - } - }, - "ReservedInstancesModification":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "locationName":"reservedInstancesModificationId" - }, - "ReservedInstancesIds":{ - "shape":"ReservedIntancesIds", - "locationName":"reservedInstancesSet" - }, - "ModificationResults":{ - "shape":"ReservedInstancesModificationResultList", - "locationName":"modificationResultSet" - }, - "CreateDate":{ - "shape":"DateTime", - "locationName":"createDate" - }, - "UpdateDate":{ - "shape":"DateTime", - "locationName":"updateDate" - }, - "EffectiveDate":{ - "shape":"DateTime", - "locationName":"effectiveDate" - }, - "Status":{ - "shape":"String", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - } - } - }, - "ReservedInstancesModificationIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesModificationId" - } - }, - "ReservedInstancesModificationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModification", - "locationName":"item" - } - }, - "ReservedInstancesModificationResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "locationName":"reservedInstancesId" - }, - "TargetConfiguration":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"targetConfiguration" - } - } - }, - "ReservedInstancesModificationResultList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModificationResult", - "locationName":"item" - } - }, - "ReservedInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferingId":{ - "shape":"String", - "locationName":"reservedInstancesOfferingId" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "Duration":{ - "shape":"Long", - "locationName":"duration" - }, - "UsagePrice":{ - "shape":"Float", - "locationName":"usagePrice" - }, - "FixedPrice":{ - "shape":"Float", - "locationName":"fixedPrice" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "locationName":"currencyCode" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "locationName":"offeringType" - }, - "RecurringCharges":{ - "shape":"RecurringChargesList", - "locationName":"recurringCharges" - }, - "Marketplace":{ - "shape":"Boolean", - "locationName":"marketplace" - }, - "PricingDetails":{ - "shape":"PricingDetailsList", - "locationName":"pricingDetailsSet" - }, - "OfferingClass":{ - "shape":"OfferingClassType", - "locationName":"offeringClass" - }, - "Scope":{ - "shape":"scope", - "locationName":"scope" - } - } - }, - "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"}, - "Attribute":{"shape":"ResetImageAttributeName"} - } - }, - "ResetInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "locationName":"attribute" - } - } - }, - "ResetNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "SourceDestCheck":{ - "shape":"String", - "locationName":"sourceDestCheck" - } - } - }, - "ResetSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{"shape":"String"}, - "Attribute":{"shape":"SnapshotAttributeName"} - } - }, - "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", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - } - } - }, - "RestoreAddressToClassicResult":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"Status", - "locationName":"status" - }, - "PublicIp":{ - "shape":"String", - "locationName":"publicIp" - } - } - }, - "RevokeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "locationName":"cidrIp" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "locationName":"ipPermissions" - } - } - }, - "RevokeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{"shape":"String"}, - "GroupId":{"shape":"String"}, - "SourceSecurityGroupName":{"shape":"String"}, - "SourceSecurityGroupOwnerId":{"shape":"String"}, - "IpProtocol":{"shape":"String"}, - "FromPort":{"shape":"Integer"}, - "ToPort":{"shape":"Integer"}, - "CidrIp":{"shape":"String"}, - "IpPermissions":{"shape":"IpPermissionList"} - } - }, - "Route":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "locationName":"destinationCidrBlock" - }, - "DestinationPrefixListId":{ - "shape":"String", - "locationName":"destinationPrefixListId" - }, - "GatewayId":{ - "shape":"String", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "locationName":"instanceOwnerId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "locationName":"natGatewayId" - }, - "State":{ - "shape":"RouteState", - "locationName":"state" - }, - "Origin":{ - "shape":"RouteOrigin", - "locationName":"origin" - } - } - }, - "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", - "locationName":"routeTableId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Routes":{ - "shape":"RouteList", - "locationName":"routeSet" - }, - "Associations":{ - "shape":"RouteTableAssociationList", - "locationName":"associationSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "PropagatingVgws":{ - "shape":"PropagatingVgwList", - "locationName":"propagatingVgwSet" - } - } - }, - "RouteTableAssociation":{ - "type":"structure", - "members":{ - "RouteTableAssociationId":{ - "shape":"String", - "locationName":"routeTableAssociationId" - }, - "RouteTableId":{ - "shape":"String", - "locationName":"routeTableId" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "Main":{ - "shape":"Boolean", - "locationName":"main" - } - } - }, - "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", - "locationName":"enabled" - } - } - }, - "RunInstancesRequest":{ - "type":"structure", - "required":[ - "ImageId", - "MinCount", - "MaxCount" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{"shape":"String"}, - "MinCount":{"shape":"Integer"}, - "MaxCount":{"shape":"Integer"}, - "KeyName":{"shape":"String"}, - "SecurityGroups":{ - "shape":"SecurityGroupStringList", - "locationName":"SecurityGroup" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdStringList", - "locationName":"SecurityGroupId" - }, - "UserData":{"shape":"String"}, - "InstanceType":{"shape":"InstanceType"}, - "Placement":{"shape":"Placement"}, - "KernelId":{"shape":"String"}, - "RamdiskId":{"shape":"String"}, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "locationName":"BlockDeviceMapping" - }, - "Monitoring":{"shape":"RunInstancesMonitoringEnabled"}, - "SubnetId":{"shape":"String"}, - "DisableApiTermination":{ - "shape":"Boolean", - "locationName":"disableApiTermination" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"ShutdownBehavior", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "PrivateIpAddress":{ - "shape":"String", - "locationName":"privateIpAddress" - }, - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "AdditionalInfo":{ - "shape":"String", - "locationName":"additionalInfo" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"networkInterface" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - } - } - }, - "RunScheduledInstancesRequest":{ - "type":"structure", - "required":[ - "ScheduledInstanceId", - "LaunchSpecification" - ], - "members":{ - "DryRun":{"shape":"Boolean"}, - "ClientToken":{ - "shape":"String", - "idempotencyToken":true - }, - "InstanceCount":{"shape":"Integer"}, - "ScheduledInstanceId":{"shape":"String"}, - "LaunchSpecification":{"shape":"ScheduledInstancesLaunchSpecification"} - } - }, - "RunScheduledInstancesResult":{ - "type":"structure", - "members":{ - "InstanceIdSet":{ - "shape":"InstanceIdSet", - "locationName":"instanceIdSet" - } - } - }, - "S3Storage":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"String", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "locationName":"prefix" - }, - "AWSAccessKeyId":{"shape":"String"}, - "UploadPolicy":{ - "shape":"Blob", - "locationName":"uploadPolicy" - }, - "UploadPolicySignature":{ - "shape":"String", - "locationName":"uploadPolicySignature" - } - } - }, - "ScheduledInstance":{ - "type":"structure", - "members":{ - "ScheduledInstanceId":{ - "shape":"String", - "locationName":"scheduledInstanceId" - }, - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "NetworkPlatform":{ - "shape":"String", - "locationName":"networkPlatform" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "SlotDurationInHours":{ - "shape":"Integer", - "locationName":"slotDurationInHours" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrence", - "locationName":"recurrence" - }, - "PreviousSlotEndTime":{ - "shape":"DateTime", - "locationName":"previousSlotEndTime" - }, - "NextSlotStartTime":{ - "shape":"DateTime", - "locationName":"nextSlotStartTime" - }, - "HourlyPrice":{ - "shape":"String", - "locationName":"hourlyPrice" - }, - "TotalScheduledInstanceHours":{ - "shape":"Integer", - "locationName":"totalScheduledInstanceHours" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - }, - "TermStartDate":{ - "shape":"DateTime", - "locationName":"termStartDate" - }, - "TermEndDate":{ - "shape":"DateTime", - "locationName":"termEndDate" - }, - "CreateDate":{ - "shape":"DateTime", - "locationName":"createDate" - } - } - }, - "ScheduledInstanceAvailability":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "locationName":"instanceType" - }, - "Platform":{ - "shape":"String", - "locationName":"platform" - }, - "NetworkPlatform":{ - "shape":"String", - "locationName":"networkPlatform" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "PurchaseToken":{ - "shape":"String", - "locationName":"purchaseToken" - }, - "SlotDurationInHours":{ - "shape":"Integer", - "locationName":"slotDurationInHours" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrence", - "locationName":"recurrence" - }, - "FirstSlotStartTime":{ - "shape":"DateTime", - "locationName":"firstSlotStartTime" - }, - "HourlyPrice":{ - "shape":"String", - "locationName":"hourlyPrice" - }, - "TotalScheduledInstanceHours":{ - "shape":"Integer", - "locationName":"totalScheduledInstanceHours" - }, - "AvailableInstanceCount":{ - "shape":"Integer", - "locationName":"availableInstanceCount" - }, - "MinTermDurationInDays":{ - "shape":"Integer", - "locationName":"minTermDurationInDays" - }, - "MaxTermDurationInDays":{ - "shape":"Integer", - "locationName":"maxTermDurationInDays" - } - } - }, - "ScheduledInstanceAvailabilitySet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstanceAvailability", - "locationName":"item" - } - }, - "ScheduledInstanceIdRequestSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ScheduledInstanceId" - } - }, - "ScheduledInstanceRecurrence":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"String", - "locationName":"frequency" - }, - "Interval":{ - "shape":"Integer", - "locationName":"interval" - }, - "OccurrenceDaySet":{ - "shape":"OccurrenceDaySet", - "locationName":"occurrenceDaySet" - }, - "OccurrenceRelativeToEnd":{ - "shape":"Boolean", - "locationName":"occurrenceRelativeToEnd" - }, - "OccurrenceUnit":{ - "shape":"String", - "locationName":"occurrenceUnit" - } - } - }, - "ScheduledInstanceRecurrenceRequest":{ - "type":"structure", - "members":{ - "Frequency":{"shape":"String"}, - "Interval":{"shape":"Integer"}, - "OccurrenceDays":{ - "shape":"OccurrenceDayRequestSet", - "locationName":"OccurrenceDay" - }, - "OccurrenceRelativeToEnd":{"shape":"Boolean"}, - "OccurrenceUnit":{"shape":"String"} - } - }, - "ScheduledInstanceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstance", - "locationName":"item" - } - }, - "ScheduledInstancesBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{"shape":"String"}, - "NoDevice":{"shape":"String"}, - "VirtualName":{"shape":"String"}, - "Ebs":{"shape":"ScheduledInstancesEbs"} - } - }, - "ScheduledInstancesBlockDeviceMappingSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesBlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "ScheduledInstancesEbs":{ - "type":"structure", - "members":{ - "SnapshotId":{"shape":"String"}, - "VolumeSize":{"shape":"Integer"}, - "DeleteOnTermination":{"shape":"Boolean"}, - "VolumeType":{"shape":"String"}, - "Iops":{"shape":"Integer"}, - "Encrypted":{"shape":"Boolean"} - } - }, - "ScheduledInstancesIamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{"shape":"String"}, - "Name":{"shape":"String"} - } - }, - "ScheduledInstancesLaunchSpecification":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "ImageId":{"shape":"String"}, - "KeyName":{"shape":"String"}, - "SecurityGroupIds":{ - "shape":"ScheduledInstancesSecurityGroupIdSet", - "locationName":"SecurityGroupId" - }, - "UserData":{"shape":"String"}, - "Placement":{"shape":"ScheduledInstancesPlacement"}, - "KernelId":{"shape":"String"}, - "InstanceType":{"shape":"String"}, - "RamdiskId":{"shape":"String"}, - "BlockDeviceMappings":{ - "shape":"ScheduledInstancesBlockDeviceMappingSet", - "locationName":"BlockDeviceMapping" - }, - "Monitoring":{"shape":"ScheduledInstancesMonitoring"}, - "SubnetId":{"shape":"String"}, - "NetworkInterfaces":{ - "shape":"ScheduledInstancesNetworkInterfaceSet", - "locationName":"NetworkInterface" - }, - "IamInstanceProfile":{"shape":"ScheduledInstancesIamInstanceProfile"}, - "EbsOptimized":{"shape":"Boolean"} - } - }, - "ScheduledInstancesMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{"shape":"Boolean"} - } - }, - "ScheduledInstancesNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{"shape":"String"}, - "DeviceIndex":{"shape":"Integer"}, - "SubnetId":{"shape":"String"}, - "Description":{"shape":"String"}, - "PrivateIpAddress":{"shape":"String"}, - "PrivateIpAddressConfigs":{ - "shape":"PrivateIpAddressConfigSet", - "locationName":"PrivateIpAddressConfig" - }, - "SecondaryPrivateIpAddressCount":{"shape":"Integer"}, - "AssociatePublicIpAddress":{"shape":"Boolean"}, - "Groups":{ - "shape":"ScheduledInstancesSecurityGroupIdSet", - "locationName":"Group" - }, - "DeleteOnTermination":{"shape":"Boolean"} - } - }, - "ScheduledInstancesNetworkInterfaceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesNetworkInterface", - "locationName":"NetworkInterface" - } - }, - "ScheduledInstancesPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{"shape":"String"}, - "GroupName":{"shape":"String"} - } - }, - "ScheduledInstancesPrivateIpAddressConfig":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{"shape":"String"}, - "Primary":{"shape":"Boolean"} - } - }, - "ScheduledInstancesSecurityGroupIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "Description":{ - "shape":"String", - "locationName":"groupDescription" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "locationName":"ipPermissions" - }, - "IpPermissionsEgress":{ - "shape":"IpPermissionList", - "locationName":"ipPermissionsEgress" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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", - "locationName":"groupId" - }, - "ReferencingVpcId":{ - "shape":"String", - "locationName":"referencingVpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "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"}, - "LatestTime":{"shape":"DateTime"} - } - }, - "SlotStartTimeRangeRequest":{ - "type":"structure", - "members":{ - "EarliestTime":{"shape":"DateTime"}, - "LatestTime":{"shape":"DateTime"} - } - }, - "Snapshot":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "State":{ - "shape":"SnapshotState", - "locationName":"status" - }, - "StateMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "StartTime":{ - "shape":"DateTime", - "locationName":"startTime" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "VolumeSize":{ - "shape":"Integer", - "locationName":"volumeSize" - }, - "OwnerAlias":{ - "shape":"String", - "locationName":"ownerAlias" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - }, - "DataEncryptionKeyId":{ - "shape":"String", - "locationName":"dataEncryptionKeyId" - } - } - }, - "SnapshotAttributeName":{ - "type":"string", - "enum":[ - "productCodes", - "createVolumePermission" - ] - }, - "SnapshotDetail":{ - "type":"structure", - "members":{ - "DiskImageSize":{ - "shape":"Double", - "locationName":"diskImageSize" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Format":{ - "shape":"String", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "locationName":"userBucket" - }, - "DeviceName":{ - "shape":"String", - "locationName":"deviceName" - }, - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "SnapshotDetailList":{ - "type":"list", - "member":{ - "shape":"SnapshotDetail", - "locationName":"item" - } - }, - "SnapshotDiskContainer":{ - "type":"structure", - "members":{ - "Description":{"shape":"String"}, - "Format":{"shape":"String"}, - "Url":{"shape":"String"}, - "UserBucket":{"shape":"UserBucket"} - } - }, - "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", - "locationName":"diskImageSize" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "Format":{ - "shape":"String", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "locationName":"userBucket" - }, - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "Progress":{ - "shape":"String", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "SpotDatafeedSubscription":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "Bucket":{ - "shape":"String", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "locationName":"prefix" - }, - "State":{ - "shape":"DatafeedSubscriptionState", - "locationName":"state" - }, - "Fault":{ - "shape":"SpotInstanceStateFault", - "locationName":"fault" - } - } - }, - "SpotFleetLaunchSpecification":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "locationName":"keyName" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "locationName":"groupSet" - }, - "UserData":{ - "shape":"String", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "locationName":"ramdiskId" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "locationName":"blockDeviceMapping" - }, - "Monitoring":{ - "shape":"SpotFleetMonitoring", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "locationName":"ebsOptimized" - }, - "WeightedCapacity":{ - "shape":"Double", - "locationName":"weightedCapacity" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - } - } - }, - "SpotFleetMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "locationName":"enabled" - } - } - }, - "SpotFleetRequestConfig":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "SpotFleetRequestState", - "SpotFleetRequestConfig", - "CreateTime" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "locationName":"spotFleetRequestId" - }, - "SpotFleetRequestState":{ - "shape":"BatchState", - "locationName":"spotFleetRequestState" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "locationName":"spotFleetRequestConfig" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - }, - "ActivityStatus":{ - "shape":"ActivityStatus", - "locationName":"activityStatus" - } - } - }, - "SpotFleetRequestConfigData":{ - "type":"structure", - "required":[ - "SpotPrice", - "TargetCapacity", - "IamFleetRole", - "LaunchSpecifications" - ], - "members":{ - "ClientToken":{ - "shape":"String", - "locationName":"clientToken" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "TargetCapacity":{ - "shape":"Integer", - "locationName":"targetCapacity" - }, - "ValidFrom":{ - "shape":"DateTime", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "locationName":"validUntil" - }, - "TerminateInstancesWithExpiration":{ - "shape":"Boolean", - "locationName":"terminateInstancesWithExpiration" - }, - "IamFleetRole":{ - "shape":"String", - "locationName":"iamFleetRole" - }, - "LaunchSpecifications":{ - "shape":"LaunchSpecsList", - "locationName":"launchSpecifications" - }, - "ExcessCapacityTerminationPolicy":{ - "shape":"ExcessCapacityTerminationPolicy", - "locationName":"excessCapacityTerminationPolicy" - }, - "AllocationStrategy":{ - "shape":"AllocationStrategy", - "locationName":"allocationStrategy" - }, - "FulfilledCapacity":{ - "shape":"Double", - "locationName":"fulfilledCapacity" - }, - "Type":{ - "shape":"FleetType", - "locationName":"type" - } - } - }, - "SpotFleetRequestConfigSet":{ - "type":"list", - "member":{ - "shape":"SpotFleetRequestConfig", - "locationName":"item" - } - }, - "SpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "locationName":"spotInstanceRequestId" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "Type":{ - "shape":"SpotInstanceType", - "locationName":"type" - }, - "State":{ - "shape":"SpotInstanceState", - "locationName":"state" - }, - "Fault":{ - "shape":"SpotInstanceStateFault", - "locationName":"fault" - }, - "Status":{ - "shape":"SpotInstanceStatus", - "locationName":"status" - }, - "ValidFrom":{ - "shape":"DateTime", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "locationName":"validUntil" - }, - "LaunchGroup":{ - "shape":"String", - "locationName":"launchGroup" - }, - "AvailabilityZoneGroup":{ - "shape":"String", - "locationName":"availabilityZoneGroup" - }, - "LaunchSpecification":{ - "shape":"LaunchSpecification", - "locationName":"launchSpecification" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "BlockDurationMinutes":{ - "shape":"Integer", - "locationName":"blockDurationMinutes" - }, - "ActualBlockHourlyPrice":{ - "shape":"String", - "locationName":"actualBlockHourlyPrice" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "LaunchedAvailabilityZone":{ - "shape":"String", - "locationName":"launchedAvailabilityZone" - } - } - }, - "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", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "SpotInstanceStatus":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "UpdateTime":{ - "shape":"DateTime", - "locationName":"updateTime" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "SpotInstanceType":{ - "type":"string", - "enum":[ - "one-time", - "persistent" - ] - }, - "SpotPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - } - } - }, - "SpotPrice":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "locationName":"productDescription" - }, - "SpotPrice":{ - "shape":"String", - "locationName":"spotPrice" - }, - "Timestamp":{ - "shape":"DateTime", - "locationName":"timestamp" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - } - } - }, - "SpotPriceHistoryList":{ - "type":"list", - "member":{ - "shape":"SpotPrice", - "locationName":"item" - } - }, - "StaleIpPermission":{ - "type":"structure", - "members":{ - "FromPort":{ - "shape":"Integer", - "locationName":"fromPort" - }, - "IpProtocol":{ - "shape":"String", - "locationName":"ipProtocol" - }, - "IpRanges":{ - "shape":"IpRanges", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "shape":"PrefixListIdSet", - "locationName":"prefixListIds" - }, - "ToPort":{ - "shape":"Integer", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairSet", - "locationName":"groups" - } - } - }, - "StaleIpPermissionSet":{ - "type":"list", - "member":{ - "shape":"StaleIpPermission", - "locationName":"item" - } - }, - "StaleSecurityGroup":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "StaleIpPermissions":{ - "shape":"StaleIpPermissionSet", - "locationName":"staleIpPermissions" - }, - "StaleIpPermissionsEgress":{ - "shape":"StaleIpPermissionSet", - "locationName":"staleIpPermissionsEgress" - } - } - }, - "StaleSecurityGroupSet":{ - "type":"list", - "member":{ - "shape":"StaleSecurityGroup", - "locationName":"item" - } - }, - "StartInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "AdditionalInfo":{ - "shape":"String", - "locationName":"additionalInfo" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "StartInstancesResult":{ - "type":"structure", - "members":{ - "StartingInstances":{ - "shape":"InstanceStateChangeList", - "locationName":"instancesSet" - } - } - }, - "State":{ - "type":"string", - "enum":[ - "Pending", - "Available", - "Deleting", - "Deleted" - ] - }, - "StateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - }, - "Force":{ - "shape":"Boolean", - "locationName":"force" - } - } - }, - "StopInstancesResult":{ - "type":"structure", - "members":{ - "StoppingInstances":{ - "shape":"InstanceStateChangeList", - "locationName":"instancesSet" - } - } - }, - "Storage":{ - "type":"structure", - "members":{ - "S3":{"shape":"S3Storage"} - } - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetId":{ - "shape":"String", - "locationName":"subnetId" - }, - "State":{ - "shape":"SubnetState", - "locationName":"state" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "AvailableIpAddressCount":{ - "shape":"Integer", - "locationName":"availableIpAddressCount" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "DefaultForAz":{ - "shape":"Boolean", - "locationName":"defaultForAz" - }, - "MapPublicIpOnLaunch":{ - "shape":"Boolean", - "locationName":"mapPublicIpOnLaunch" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "locationName":"value" - } - } - }, - "TagDescription":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"String", - "locationName":"resourceId" - }, - "ResourceType":{ - "shape":"ResourceType", - "locationName":"resourceType" - }, - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "locationName":"value" - } - } - }, - "TagDescriptionList":{ - "type":"list", - "member":{ - "shape":"TagDescription", - "locationName":"item" - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"item" - } - }, - "TargetConfiguration":{ - "type":"structure", - "members":{ - "OfferingId":{ - "shape":"String", - "locationName":"offeringId" - }, - "InstanceCount":{ - "shape":"Integer", - "locationName":"instanceCount" - } - } - }, - "TargetConfigurationRequest":{ - "type":"structure", - "required":["OfferingId"], - "members":{ - "OfferingId":{"shape":"String"}, - "InstanceCount":{"shape":"Integer"} - } - }, - "TargetConfigurationRequestSet":{ - "type":"list", - "member":{ - "shape":"TargetConfigurationRequest", - "locationName":"TargetConfigurationRequest" - } - }, - "TargetReservationValue":{ - "type":"structure", - "members":{ - "TargetConfiguration":{ - "shape":"TargetConfiguration", - "locationName":"targetConfiguration" - }, - "ReservationValue":{ - "shape":"ReservationValue", - "locationName":"reservationValue" - } - } - }, - "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", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "TerminateInstancesResult":{ - "type":"structure", - "members":{ - "TerminatingInstances":{ - "shape":"InstanceStateChangeList", - "locationName":"instancesSet" - } - } - }, - "TrafficType":{ - "type":"string", - "enum":[ - "ACCEPT", - "REJECT", - "ALL" - ] - }, - "UnassignPrivateIpAddressesRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "PrivateIpAddresses" - ], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "locationName":"privateIpAddress" - } - } - }, - "UnmonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "locationName":"InstanceId" - } - } - }, - "UnmonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "locationName":"instancesSet" - } - } - }, - "UnsuccessfulItem":{ - "type":"structure", - "required":["Error"], - "members":{ - "Error":{ - "shape":"UnsuccessfulItemError", - "locationName":"error" - }, - "ResourceId":{ - "shape":"String", - "locationName":"resourceId" - } - } - }, - "UnsuccessfulItemError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"String", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "UnsuccessfulItemList":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UnsuccessfulItemSet":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UserBucket":{ - "type":"structure", - "members":{ - "S3Bucket":{"shape":"String"}, - "S3Key":{"shape":"String"} - } - }, - "UserBucketDetails":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "locationName":"s3Key" - } - } - }, - "UserData":{ - "type":"structure", - "members":{ - "Data":{ - "shape":"String", - "locationName":"data" - } - } - }, - "UserGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserGroup" - } - }, - "UserIdGroupPair":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "locationName":"userId" - }, - "GroupName":{ - "shape":"String", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "locationName":"groupId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - }, - "PeeringStatus":{ - "shape":"String", - "locationName":"peeringStatus" - } - } - }, - "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", - "locationName":"outsideIpAddress" - }, - "Status":{ - "shape":"TelemetryStatus", - "locationName":"status" - }, - "LastStatusChange":{ - "shape":"DateTime", - "locationName":"lastStatusChange" - }, - "StatusMessage":{ - "shape":"String", - "locationName":"statusMessage" - }, - "AcceptedRouteCount":{ - "shape":"Integer", - "locationName":"acceptedRouteCount" - } - } - }, - "VgwTelemetryList":{ - "type":"list", - "member":{ - "shape":"VgwTelemetry", - "locationName":"item" - } - }, - "VirtualizationType":{ - "type":"string", - "enum":[ - "hvm", - "paravirtual" - ] - }, - "Volume":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "Size":{ - "shape":"Integer", - "locationName":"size" - }, - "SnapshotId":{ - "shape":"String", - "locationName":"snapshotId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "State":{ - "shape":"VolumeState", - "locationName":"status" - }, - "CreateTime":{ - "shape":"DateTime", - "locationName":"createTime" - }, - "Attachments":{ - "shape":"VolumeAttachmentList", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "VolumeType":{ - "shape":"VolumeType", - "locationName":"volumeType" - }, - "Iops":{ - "shape":"Integer", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "locationName":"kmsKeyId" - } - } - }, - "VolumeAttachment":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Device":{ - "shape":"String", - "locationName":"device" - }, - "State":{ - "shape":"VolumeAttachmentState", - "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "locationName":"deleteOnTermination" - } - } - }, - "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", - "locationName":"size" - } - } - }, - "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", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "EventType":{ - "shape":"String", - "locationName":"eventType" - }, - "EventId":{ - "shape":"String", - "locationName":"eventId" - } - } - }, - "VolumeStatusActionsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusAction", - "locationName":"item" - } - }, - "VolumeStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"VolumeStatusName", - "locationName":"name" - }, - "Status":{ - "shape":"String", - "locationName":"status" - } - } - }, - "VolumeStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusDetails", - "locationName":"item" - } - }, - "VolumeStatusEvent":{ - "type":"structure", - "members":{ - "EventType":{ - "shape":"String", - "locationName":"eventType" - }, - "Description":{ - "shape":"String", - "locationName":"description" - }, - "NotBefore":{ - "shape":"DateTime", - "locationName":"notBefore" - }, - "NotAfter":{ - "shape":"DateTime", - "locationName":"notAfter" - }, - "EventId":{ - "shape":"String", - "locationName":"eventId" - } - } - }, - "VolumeStatusEventsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusEvent", - "locationName":"item" - } - }, - "VolumeStatusInfo":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"VolumeStatusInfoStatus", - "locationName":"status" - }, - "Details":{ - "shape":"VolumeStatusDetailsList", - "locationName":"details" - } - } - }, - "VolumeStatusInfoStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data" - ] - }, - "VolumeStatusItem":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "locationName":"volumeId" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "VolumeStatus":{ - "shape":"VolumeStatusInfo", - "locationName":"volumeStatus" - }, - "Events":{ - "shape":"VolumeStatusEventsList", - "locationName":"eventsSet" - }, - "Actions":{ - "shape":"VolumeStatusActionsList", - "locationName":"actionsSet" - } - } - }, - "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", - "locationName":"vpcId" - }, - "State":{ - "shape":"VpcState", - "locationName":"state" - }, - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "DhcpOptionsId":{ - "shape":"String", - "locationName":"dhcpOptionsId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "locationName":"instanceTenancy" - }, - "IsDefault":{ - "shape":"Boolean", - "locationName":"isDefault" - } - } - }, - "VpcAttachment":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "State":{ - "shape":"AttachmentStatus", - "locationName":"state" - } - } - }, - "VpcAttachmentList":{ - "type":"list", - "member":{ - "shape":"VpcAttachment", - "locationName":"item" - } - }, - "VpcAttributeName":{ - "type":"string", - "enum":[ - "enableDnsSupport", - "enableDnsHostnames" - ] - }, - "VpcClassicLink":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "ClassicLinkEnabled":{ - "shape":"Boolean", - "locationName":"classicLinkEnabled" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "VpcClassicLinkIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcClassicLinkList":{ - "type":"list", - "member":{ - "shape":"VpcClassicLink", - "locationName":"item" - } - }, - "VpcEndpoint":{ - "type":"structure", - "members":{ - "VpcEndpointId":{ - "shape":"String", - "locationName":"vpcEndpointId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "ServiceName":{ - "shape":"String", - "locationName":"serviceName" - }, - "State":{ - "shape":"State", - "locationName":"state" - }, - "PolicyDocument":{ - "shape":"String", - "locationName":"policyDocument" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "locationName":"routeTableIdSet" - }, - "CreationTimestamp":{ - "shape":"DateTime", - "locationName":"creationTimestamp" - } - } - }, - "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", - "locationName":"accepterVpcInfo" - }, - "ExpirationTime":{ - "shape":"DateTime", - "locationName":"expirationTime" - }, - "RequesterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "locationName":"requesterVpcInfo" - }, - "Status":{ - "shape":"VpcPeeringConnectionStateReason", - "locationName":"status" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "VpcPeeringConnectionList":{ - "type":"list", - "member":{ - "shape":"VpcPeeringConnection", - "locationName":"item" - } - }, - "VpcPeeringConnectionOptionsDescription":{ - "type":"structure", - "members":{ - "AllowEgressFromLocalClassicLinkToRemoteVpc":{ - "shape":"Boolean", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - }, - "AllowDnsResolutionFromRemoteVpc":{ - "shape":"Boolean", - "locationName":"allowDnsResolutionFromRemoteVpc" - } - } - }, - "VpcPeeringConnectionStateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"VpcPeeringConnectionStateReasonCode", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "locationName":"message" - } - } - }, - "VpcPeeringConnectionStateReasonCode":{ - "type":"string", - "enum":[ - "initiating-request", - "pending-acceptance", - "active", - "deleted", - "rejected", - "failed", - "expired", - "provisioning", - "deleting" - ] - }, - "VpcPeeringConnectionVpcInfo":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "locationName":"cidrBlock" - }, - "OwnerId":{ - "shape":"String", - "locationName":"ownerId" - }, - "VpcId":{ - "shape":"String", - "locationName":"vpcId" - }, - "PeeringOptions":{ - "shape":"VpcPeeringConnectionOptionsDescription", - "locationName":"peeringOptions" - } - } - }, - "VpcState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "VpnConnection":{ - "type":"structure", - "members":{ - "VpnConnectionId":{ - "shape":"String", - "locationName":"vpnConnectionId" - }, - "State":{ - "shape":"VpnState", - "locationName":"state" - }, - "CustomerGatewayConfiguration":{ - "shape":"String", - "locationName":"customerGatewayConfiguration" - }, - "Type":{ - "shape":"GatewayType", - "locationName":"type" - }, - "CustomerGatewayId":{ - "shape":"String", - "locationName":"customerGatewayId" - }, - "VpnGatewayId":{ - "shape":"String", - "locationName":"vpnGatewayId" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - }, - "VgwTelemetry":{ - "shape":"VgwTelemetryList", - "locationName":"vgwTelemetry" - }, - "Options":{ - "shape":"VpnConnectionOptions", - "locationName":"options" - }, - "Routes":{ - "shape":"VpnStaticRouteList", - "locationName":"routes" - } - } - }, - "VpnConnectionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnConnectionId" - } - }, - "VpnConnectionList":{ - "type":"list", - "member":{ - "shape":"VpnConnection", - "locationName":"item" - } - }, - "VpnConnectionOptions":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "locationName":"staticRoutesOnly" - } - } - }, - "VpnConnectionOptionsSpecification":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "locationName":"staticRoutesOnly" - } - } - }, - "VpnGateway":{ - "type":"structure", - "members":{ - "VpnGatewayId":{ - "shape":"String", - "locationName":"vpnGatewayId" - }, - "State":{ - "shape":"VpnState", - "locationName":"state" - }, - "Type":{ - "shape":"GatewayType", - "locationName":"type" - }, - "AvailabilityZone":{ - "shape":"String", - "locationName":"availabilityZone" - }, - "VpcAttachments":{ - "shape":"VpcAttachmentList", - "locationName":"attachments" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - } - }, - "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", - "locationName":"destinationCidrBlock" - }, - "Source":{ - "shape":"VpnStaticRouteSource", - "locationName":"source" - }, - "State":{ - "shape":"VpnState", - "locationName":"state" - } - } - }, - "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" - ] - } - } -} diff --git a/models/apis/ec2/2016-09-15/docs-2.json b/models/apis/ec2/2016-09-15/docs-2.json deleted file mode 100755 index bd83c9ee906..00000000000 --- a/models/apis/ec2/2016-09-15/docs-2.json +++ /dev/null @@ -1,6696 +0,0 @@ -{ - "version": "2.0", - "service": "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": { - "AcceptReservedInstancesExchangeQuote": "

Purchases Convertible Reserved Instance offerings described in the GetReservedInstancesExchangeQuote call.

", - "AcceptVpcPeeringConnection": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Attaches a network interface to an instance.

", - "AttachVolume": "

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:

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": "

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": "

[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": "

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": "

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": "

Cancels a bundling operation for an instance store-backed Windows instance.

", - "CancelConversionTask": "

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": "

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": "

Cancels an in-process import virtual machine or import snapshot task.

", - "CancelReservedInstancesListing": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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.

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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:

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

", - "DeleteDhcpOptions": "

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": "

Deletes one or more flow logs.

", - "DeleteInternetGateway": "

Deletes the specified Internet gateway. You must detach the Internet gateway from the VPC before you can delete it.

", - "DeleteKeyPair": "

Deletes the specified key pair, by removing the public key from Amazon EC2.

", - "DeleteNatGateway": "

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": "

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": "

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

", - "DeleteNetworkInterface": "

Deletes the specified network interface. You must detach the network interface before you can delete it.

", - "DeletePlacementGroup": "

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": "

Deletes the specified route from the specified route table.

", - "DeleteRouteTable": "

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": "

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": "

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": "

Deletes the data feed for Spot instances.

", - "DeleteSubnet": "

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

", - "DeleteTags": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Describes attributes of your AWS account. The following are the supported account attributes:

", - "DescribeAddresses": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Describes one or more of your export tasks.

", - "DescribeFlowLogs": "

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": "

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": "

Describes Dedicated Host Reservations which are associated with Dedicated Hosts in your account.

", - "DescribeHosts": "

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": "

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": "

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": "

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

", - "DescribeImages": "

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": "

Displays details about an import virtual machine or import snapshot tasks that are already created.

", - "DescribeImportSnapshotTasks": "

Describes your import snapshot tasks.

", - "DescribeInstanceAttribute": "

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": "

Describes the status of one or more instances. By default, only running instances are described, unless specified otherwise.

Instance status includes the following components:

", - "DescribeInstances": "

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": "

Describes one or more of your Internet gateways.

", - "DescribeKeyPairs": "

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": "

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": "

Describes one or more of the your NAT gateways.

", - "DescribeNetworkAcls": "

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": "

Describes a network interface attribute. You can specify only one attribute at a time.

", - "DescribeNetworkInterfaces": "

Describes one or more of your network interfaces.

", - "DescribePlacementGroups": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Describes one or more of your Scheduled Instances.

", - "DescribeSecurityGroupReferences": "

[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": "

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": "

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": "

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:

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": "

Describes the data feed for Spot instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

", - "DescribeSpotFleetInstances": "

Describes the running instances for the specified Spot fleet.

", - "DescribeSpotFleetRequestHistory": "

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": "

Describes your Spot fleet requests.

Spot fleet requests are deleted 48 hours after they are canceled and their instances are terminated.

", - "DescribeSpotInstanceRequests": "

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": "

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": "

[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": "

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": "

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": "

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": "

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": "

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": "

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

", - "DescribeVpcClassicLink": "

Describes the ClassicLink status of one or more VPCs.

", - "DescribeVpcClassicLinkDnsSupport": "

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": "

Describes all supported AWS services that can be specified when creating a VPC endpoint.

", - "DescribeVpcEndpoints": "

Describes one or more of your VPC endpoints.

", - "DescribeVpcPeeringConnections": "

Describes one or more of your VPC peering connections.

", - "DescribeVpcs": "

Describes one or more of your VPCs.

", - "DescribeVpnConnections": "

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": "

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": "

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": "

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": "

Detaches a network interface from an instance.

", - "DetachVolume": "

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": "

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": "

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

", - "DisableVpcClassicLink": "

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

", - "DisableVpcClassicLinkDnsSupport": "

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": "

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": "

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": "

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

", - "EnableVolumeIO": "

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

", - "EnableVpcClassicLink": "

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": "

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": "

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": "

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

", - "GetHostReservationPurchasePreview": "

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": "

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": "

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": "

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": "

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": "

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": "

Imports a disk into an EBS snapshot.

", - "ImportVolume": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Modifies the specified network interface attribute. You can specify only one attribute at a time.

", - "ModifyReservedInstances": "

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": "

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": "

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": "

Modifies a subnet attribute.

", - "ModifyVolumeAttribute": "

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": "

Modifies the specified attribute of the specified VPC.

", - "ModifyVpcEndpoint": "

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": "

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

", - "ResetInstanceAttribute": "

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": "

Resets a network interface attribute. You can specify only one attribute at a time.

", - "ResetSnapshotAttribute": "

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": "

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": "

[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": "

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": "

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": "

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": "

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": "

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": "

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": "

Unassigns one or more secondary private IP addresses from a network interface.

", - "UnmonitorInstances": "

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": { - "base": "

Contains the parameters for accepting the quote.

", - "refs": { - } - }, - "AcceptReservedInstancesExchangeQuoteResult": { - "base": "

The result of the exchange and whether it was successful.

", - "refs": { - } - }, - "AcceptVpcPeeringConnectionRequest": { - "base": "

Contains the parameters for AcceptVpcPeeringConnection.

", - "refs": { - } - }, - "AcceptVpcPeeringConnectionResult": { - "base": "

Contains the output of AcceptVpcPeeringConnection.

", - "refs": { - } - }, - "AccountAttribute": { - "base": "

Describes an account attribute.

", - "refs": { - "AccountAttributeList$member": null - } - }, - "AccountAttributeList": { - "base": null, - "refs": { - "DescribeAccountAttributesResult$AccountAttributes": "

Information about one or more account attributes.

" - } - }, - "AccountAttributeName": { - "base": null, - "refs": { - "AccountAttributeNameStringList$member": null - } - }, - "AccountAttributeNameStringList": { - "base": null, - "refs": { - "DescribeAccountAttributesRequest$AttributeNames": "

One or more account attribute names.

" - } - }, - "AccountAttributeValue": { - "base": "

Describes a value of an account attribute.

", - "refs": { - "AccountAttributeValueList$member": null - } - }, - "AccountAttributeValueList": { - "base": null, - "refs": { - "AccountAttribute$AttributeValues": "

One or more values for the account attribute.

" - } - }, - "ActiveInstance": { - "base": "

Describes a running instance in a Spot fleet.

", - "refs": { - "ActiveInstanceSet$member": null - } - }, - "ActiveInstanceSet": { - "base": null, - "refs": { - "DescribeSpotFleetInstancesResponse$ActiveInstances": "

The running instances. Note that this list is refreshed periodically and might be out of date.

" - } - }, - "ActivityStatus": { - "base": null, - "refs": { - "SpotFleetRequestConfig$ActivityStatus": "

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.

" - } - }, - "Address": { - "base": "

Describes an Elastic IP address.

", - "refs": { - "AddressList$member": null - } - }, - "AddressList": { - "base": null, - "refs": { - "DescribeAddressesResult$Addresses": "

Information about one or more Elastic IP addresses.

" - } - }, - "Affinity": { - "base": null, - "refs": { - "ModifyInstancePlacementRequest$Affinity": "

The new affinity setting for the instance.

" - } - }, - "AllocateAddressRequest": { - "base": "

Contains the parameters for AllocateAddress.

", - "refs": { - } - }, - "AllocateAddressResult": { - "base": "

Contains the output of AllocateAddress.

", - "refs": { - } - }, - "AllocateHostsRequest": { - "base": "

Contains the parameters for AllocateHosts.

", - "refs": { - } - }, - "AllocateHostsResult": { - "base": "

Contains the output of AllocateHosts.

", - "refs": { - } - }, - "AllocationIdList": { - "base": null, - "refs": { - "DescribeAddressesRequest$AllocationIds": "

[EC2-VPC] One or more allocation IDs.

Default: Describes all your Elastic IP addresses.

" - } - }, - "AllocationState": { - "base": null, - "refs": { - "Host$State": "

The Dedicated Host's state.

" - } - }, - "AllocationStrategy": { - "base": null, - "refs": { - "SpotFleetRequestConfigData$AllocationStrategy": "

Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The default is lowestPrice.

" - } - }, - "ArchitectureValues": { - "base": null, - "refs": { - "Image$Architecture": "

The architecture of the image.

", - "ImportInstanceLaunchSpecification$Architecture": "

The architecture of the instance.

", - "Instance$Architecture": "

The architecture of the image.

", - "RegisterImageRequest$Architecture": "

The architecture of the AMI.

Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture specified in the manifest file.

" - } - }, - "AssignPrivateIpAddressesRequest": { - "base": "

Contains the parameters for AssignPrivateIpAddresses.

", - "refs": { - } - }, - "AssociateAddressRequest": { - "base": "

Contains the parameters for AssociateAddress.

", - "refs": { - } - }, - "AssociateAddressResult": { - "base": "

Contains the output of AssociateAddress.

", - "refs": { - } - }, - "AssociateDhcpOptionsRequest": { - "base": "

Contains the parameters for AssociateDhcpOptions.

", - "refs": { - } - }, - "AssociateRouteTableRequest": { - "base": "

Contains the parameters for AssociateRouteTable.

", - "refs": { - } - }, - "AssociateRouteTableResult": { - "base": "

Contains the output of AssociateRouteTable.

", - "refs": { - } - }, - "AttachClassicLinkVpcRequest": { - "base": "

Contains the parameters for AttachClassicLinkVpc.

", - "refs": { - } - }, - "AttachClassicLinkVpcResult": { - "base": "

Contains the output of AttachClassicLinkVpc.

", - "refs": { - } - }, - "AttachInternetGatewayRequest": { - "base": "

Contains the parameters for AttachInternetGateway.

", - "refs": { - } - }, - "AttachNetworkInterfaceRequest": { - "base": "

Contains the parameters for AttachNetworkInterface.

", - "refs": { - } - }, - "AttachNetworkInterfaceResult": { - "base": "

Contains the output of AttachNetworkInterface.

", - "refs": { - } - }, - "AttachVolumeRequest": { - "base": "

Contains the parameters for AttachVolume.

", - "refs": { - } - }, - "AttachVpnGatewayRequest": { - "base": "

Contains the parameters for AttachVpnGateway.

", - "refs": { - } - }, - "AttachVpnGatewayResult": { - "base": "

Contains the output of AttachVpnGateway.

", - "refs": { - } - }, - "AttachmentStatus": { - "base": null, - "refs": { - "EbsInstanceBlockDevice$Status": "

The attachment state.

", - "InstanceNetworkInterfaceAttachment$Status": "

The attachment state.

", - "InternetGatewayAttachment$State": "

The current state of the attachment.

", - "NetworkInterfaceAttachment$Status": "

The attachment state.

", - "VpcAttachment$State": "

The current state of the attachment.

" - } - }, - "AttributeBooleanValue": { - "base": "

Describes a value for a resource attribute that is a Boolean value.

", - "refs": { - "DescribeNetworkInterfaceAttributeResult$SourceDestCheck": "

Indicates whether source/destination checking is enabled.

", - "DescribeVolumeAttributeResult$AutoEnableIO": "

The state of autoEnableIO attribute.

", - "DescribeVpcAttributeResult$EnableDnsSupport": "

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.

", - "DescribeVpcAttributeResult$EnableDnsHostnames": "

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.

", - "InstanceAttribute$DisableApiTermination": "

If the value is true, you can't terminate the instance through the Amazon EC2 console, CLI, or API; otherwise, you can.

", - "InstanceAttribute$EbsOptimized": "

Indicates whether the instance is optimized for EBS I/O.

", - "InstanceAttribute$EnaSupport": "

Indicates whether enhanced networking with ENA is enabled.

", - "InstanceAttribute$SourceDestCheck": "

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.

", - "ModifyInstanceAttributeRequest$SourceDestCheck": "

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.

", - "ModifyInstanceAttributeRequest$DisableApiTermination": "

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.

", - "ModifyInstanceAttributeRequest$EbsOptimized": "

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.

", - "ModifyInstanceAttributeRequest$EnaSupport": "

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.

", - "ModifyNetworkInterfaceAttributeRequest$SourceDestCheck": "

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.

", - "ModifySubnetAttributeRequest$MapPublicIpOnLaunch": "

Specify true to indicate that instances launched into the specified subnet should be assigned public IP address.

", - "ModifyVolumeAttributeRequest$AutoEnableIO": "

Indicates whether the volume should be auto-enabled for I/O operations.

", - "ModifyVpcAttributeRequest$EnableDnsSupport": "

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.

", - "ModifyVpcAttributeRequest$EnableDnsHostnames": "

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.

" - } - }, - "AttributeValue": { - "base": "

Describes a value for a resource attribute that is a String.

", - "refs": { - "DescribeNetworkInterfaceAttributeResult$Description": "

The description of the network interface.

", - "DhcpConfigurationValueList$member": null, - "ImageAttribute$KernelId": "

The kernel ID.

", - "ImageAttribute$RamdiskId": "

The RAM disk ID.

", - "ImageAttribute$Description": "

A description for the AMI.

", - "ImageAttribute$SriovNetSupport": "

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "InstanceAttribute$InstanceType": "

The instance type.

", - "InstanceAttribute$KernelId": "

The kernel ID.

", - "InstanceAttribute$RamdiskId": "

The RAM disk ID.

", - "InstanceAttribute$UserData": "

The user data.

", - "InstanceAttribute$InstanceInitiatedShutdownBehavior": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "InstanceAttribute$RootDeviceName": "

The name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "InstanceAttribute$SriovNetSupport": "

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "ModifyImageAttributeRequest$Description": "

A description for the AMI.

", - "ModifyInstanceAttributeRequest$InstanceType": "

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.

", - "ModifyInstanceAttributeRequest$Kernel": "

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.

", - "ModifyInstanceAttributeRequest$Ramdisk": "

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.

", - "ModifyInstanceAttributeRequest$InstanceInitiatedShutdownBehavior": "

Specifies whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "ModifyInstanceAttributeRequest$SriovNetSupport": "

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.

", - "ModifyNetworkInterfaceAttributeRequest$Description": "

A description for the network interface.

" - } - }, - "AuthorizeSecurityGroupEgressRequest": { - "base": "

Contains the parameters for AuthorizeSecurityGroupEgress.

", - "refs": { - } - }, - "AuthorizeSecurityGroupIngressRequest": { - "base": "

Contains the parameters for AuthorizeSecurityGroupIngress.

", - "refs": { - } - }, - "AutoPlacement": { - "base": null, - "refs": { - "AllocateHostsRequest$AutoPlacement": "

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

", - "Host$AutoPlacement": "

Whether auto-placement is on or off.

", - "ModifyHostsRequest$AutoPlacement": "

Specify whether to enable or disable auto-placement.

" - } - }, - "AvailabilityZone": { - "base": "

Describes an Availability Zone.

", - "refs": { - "AvailabilityZoneList$member": null - } - }, - "AvailabilityZoneList": { - "base": null, - "refs": { - "DescribeAvailabilityZonesResult$AvailabilityZones": "

Information about one or more Availability Zones.

" - } - }, - "AvailabilityZoneMessage": { - "base": "

Describes a message about an Availability Zone.

", - "refs": { - "AvailabilityZoneMessageList$member": null - } - }, - "AvailabilityZoneMessageList": { - "base": null, - "refs": { - "AvailabilityZone$Messages": "

Any messages about the Availability Zone.

" - } - }, - "AvailabilityZoneState": { - "base": null, - "refs": { - "AvailabilityZone$State": "

The state of the Availability Zone.

" - } - }, - "AvailableCapacity": { - "base": "

The capacity information for instances launched onto the Dedicated Host.

", - "refs": { - "Host$AvailableCapacity": "

The number of new instances that can be launched onto the Dedicated Host.

" - } - }, - "AvailableInstanceCapacityList": { - "base": null, - "refs": { - "AvailableCapacity$AvailableInstanceCapacity": "

The total number of instances that the Dedicated Host supports.

" - } - }, - "BatchState": { - "base": null, - "refs": { - "CancelSpotFleetRequestsSuccessItem$CurrentSpotFleetRequestState": "

The current state of the Spot fleet request.

", - "CancelSpotFleetRequestsSuccessItem$PreviousSpotFleetRequestState": "

The previous state of the Spot fleet request.

", - "SpotFleetRequestConfig$SpotFleetRequestState": "

The state of the Spot fleet request.

" - } - }, - "Blob": { - "base": null, - "refs": { - "BlobAttributeValue$Value": null, - "ImportKeyPairRequest$PublicKeyMaterial": "

The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

", - "S3Storage$UploadPolicy": "

An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

" - } - }, - "BlobAttributeValue": { - "base": null, - "refs": { - "ModifyInstanceAttributeRequest$UserData": "

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.

" - } - }, - "BlockDeviceMapping": { - "base": "

Describes a block device mapping.

", - "refs": { - "BlockDeviceMappingList$member": null, - "BlockDeviceMappingRequestList$member": null - } - }, - "BlockDeviceMappingList": { - "base": null, - "refs": { - "Image$BlockDeviceMappings": "

Any block device mapping entries.

", - "ImageAttribute$BlockDeviceMappings": "

One or more block device mapping entries.

", - "LaunchSpecification$BlockDeviceMappings": "

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.

", - "RequestSpotLaunchSpecification$BlockDeviceMappings": "

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.

", - "SpotFleetLaunchSpecification$BlockDeviceMappings": "

One or more block device mapping entries.

" - } - }, - "BlockDeviceMappingRequestList": { - "base": null, - "refs": { - "CreateImageRequest$BlockDeviceMappings": "

Information about one or more block device mappings.

", - "RegisterImageRequest$BlockDeviceMappings": "

One or more block device mapping entries.

", - "RunInstancesRequest$BlockDeviceMappings": "

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.

" - } - }, - "Boolean": { - "base": null, - "refs": { - "AcceptReservedInstancesExchangeQuoteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AcceptVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AllocateAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AssignPrivateIpAddressesRequest$AllowReassignment": "

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.

", - "AssociateAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AssociateAddressRequest$AllowReassociation": "

[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.

", - "AssociateDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AssociateRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachClassicLinkVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachClassicLinkVpcResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "AttachInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttachVpnGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AttributeBooleanValue$Value": "

The attribute value. The valid values are true or false.

", - "AuthorizeSecurityGroupEgressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "AuthorizeSecurityGroupIngressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "BundleInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelBundleTaskRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelConversionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelImportTaskRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelSpotFleetRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CancelSpotFleetRequestsRequest$TerminateInstances": "

Indicates whether to terminate instances for a Spot fleet request if it is canceled successfully.

", - "CancelSpotInstanceRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ClassicLinkDnsSupport$ClassicLinkDnsSupported": "

Indicates whether ClassicLink DNS support is enabled for the VPC.

", - "ConfirmProductInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ConfirmProductInstanceResult$Return": "

The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance.

", - "CopyImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CopyImageRequest$Encrypted": "

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.

", - "CopySnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CopySnapshotRequest$Encrypted": "

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.

", - "CreateCustomerGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateImageRequest$NoReboot": "

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.

", - "CreateInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateNetworkAclEntryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateNetworkAclEntryRequest$Egress": "

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

", - "CreateNetworkAclRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreatePlacementGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateRouteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateRouteResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "CreateRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSecurityGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSpotDatafeedSubscriptionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateSubnetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateTagsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVolumeRequest$Encrypted": "

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.

", - "CreateVpcEndpointRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpnConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "CreateVpnGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteCustomerGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteNetworkAclEntryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteNetworkAclEntryRequest$Egress": "

Indicates whether the rule is an egress rule.

", - "DeleteNetworkAclRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeletePlacementGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteRouteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSecurityGroupRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSpotDatafeedSubscriptionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteSubnetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteTagsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpcEndpointsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpcPeeringConnectionResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DeleteVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpnConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeleteVpnGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DeregisterImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeAccountAttributesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeAddressesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeAvailabilityZonesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeBundleTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeClassicLinkInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeConversionTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeCustomerGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImagesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImportImageTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeImportSnapshotTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInstanceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInstanceStatusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInstanceStatusRequest$IncludeAllInstances": "

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

", - "DescribeInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeInternetGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeKeyPairsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeMovingAddressesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeNetworkAclsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeNetworkInterfacesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribePlacementGroupsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribePrefixListsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeRegionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeReservedInstancesOfferingsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeReservedInstancesOfferingsRequest$IncludeMarketplace": "

Include Reserved Instance Marketplace offerings in the response.

", - "DescribeReservedInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeRouteTablesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeScheduledInstanceAvailabilityRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeScheduledInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSecurityGroupReferencesRequest$DryRun": "

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.

", - "DescribeSecurityGroupsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSnapshotAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSnapshotsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotDatafeedSubscriptionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotFleetInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotFleetRequestHistoryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotFleetRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotInstanceRequestsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeSpotPriceHistoryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeStaleSecurityGroupsRequest$DryRun": "

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.

", - "DescribeSubnetsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeTagsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVolumeAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVolumeStatusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVolumesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcEndpointServicesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcEndpointsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcPeeringConnectionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpcsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpnConnectionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DescribeVpnGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachClassicLinkVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachClassicLinkVpcResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DetachInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachNetworkInterfaceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachNetworkInterfaceRequest$Force": "

Specifies whether to force a detachment.

", - "DetachVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DetachVolumeRequest$Force": "

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$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DisableVpcClassicLinkDnsSupportResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DisableVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DisableVpcClassicLinkResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "DisassociateAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "DisassociateRouteTableRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "EbsBlockDevice$DeleteOnTermination": "

Indicates whether the EBS volume is deleted on instance termination.

", - "EbsBlockDevice$Encrypted": "

Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption.

", - "EbsInstanceBlockDevice$DeleteOnTermination": "

Indicates whether the volume is deleted on instance termination.

", - "EbsInstanceBlockDeviceSpecification$DeleteOnTermination": "

Indicates whether the volume is deleted on instance termination.

", - "EnableVolumeIORequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "EnableVpcClassicLinkDnsSupportResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "EnableVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "EnableVpcClassicLinkResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "GetConsoleOutputRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "GetConsoleScreenshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "GetConsoleScreenshotRequest$WakeUp": "

When set to true, acts as keystroke input and wakes up an instance that's in standby or \"sleep\" mode.

", - "GetPasswordDataRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "GetReservedInstancesExchangeQuoteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "GetReservedInstancesExchangeQuoteResult$IsValidExchange": "

If true, the exchange is valid. If false, the exchange cannot be performed.

", - "IdFormat$UseLongIds": "

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

", - "Image$Public": "

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.

", - "Image$EnaSupport": "

Specifies whether enhanced networking with ENA is enabled.

", - "ImportImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportInstanceLaunchSpecification$Monitoring": "

Indicates whether monitoring is enabled.

", - "ImportInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportSnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "Instance$SourceDestCheck": "

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.

", - "Instance$EbsOptimized": "

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.

", - "Instance$EnaSupport": "

Specifies whether enhanced networking with ENA is enabled.

", - "InstanceNetworkInterface$SourceDestCheck": "

Indicates whether to validate network traffic to or from this network interface.

", - "InstanceNetworkInterfaceAttachment$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "InstanceNetworkInterfaceSpecification$DeleteOnTermination": "

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.

", - "InstanceNetworkInterfaceSpecification$AssociatePublicIpAddress": "

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.

", - "InstancePrivateIpAddress$Primary": "

Indicates whether this IP address is the primary private IP address of the network interface.

", - "LaunchSpecification$EbsOptimized": "

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

", - "ModifyIdFormatRequest$UseLongIds": "

Indicate whether the resource should use longer IDs (17-character IDs).

", - "ModifyIdentityIdFormatRequest$UseLongIds": "

Indicates whether the resource should use longer IDs (17-character IDs)

", - "ModifyImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyInstanceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyInstancePlacementResult$Return": "

Is true if the request succeeds, and an error otherwise.

", - "ModifyNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifySnapshotAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifySpotFleetRequestResponse$Return": "

Is true if the request succeeds, and an error otherwise.

", - "ModifyVolumeAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyVpcEndpointRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ModifyVpcEndpointRequest$ResetPolicy": "

Specify true to reset the policy document to the default policy. The default policy allows access to the service.

", - "ModifyVpcEndpointResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "ModifyVpcPeeringConnectionOptionsRequest$DryRun": "

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.

", - "MonitorInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "MoveAddressToVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "NetworkAcl$IsDefault": "

Indicates whether this is the default network ACL for the VPC.

", - "NetworkAclEntry$Egress": "

Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

", - "NetworkInterface$RequesterManaged": "

Indicates whether the network interface is being managed by AWS.

", - "NetworkInterface$SourceDestCheck": "

Indicates whether traffic to or from the instance is validated.

", - "NetworkInterfaceAttachment$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "NetworkInterfaceAttachmentChanges$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "NetworkInterfacePrivateIpAddress$Primary": "

Indicates whether this IP address is the primary private IP address of the network interface.

", - "PeeringConnectionOptions$AllowEgressFromLocalClassicLinkToRemoteVpc": "

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.

", - "PeeringConnectionOptions$AllowEgressFromLocalVpcToRemoteClassicLink": "

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.

", - "PeeringConnectionOptions$AllowDnsResolutionFromRemoteVpc": "

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

", - "PeeringConnectionOptionsRequest$AllowEgressFromLocalClassicLinkToRemoteVpc": "

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.

", - "PeeringConnectionOptionsRequest$AllowEgressFromLocalVpcToRemoteClassicLink": "

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.

", - "PeeringConnectionOptionsRequest$AllowDnsResolutionFromRemoteVpc": "

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

", - "PriceSchedule$Active": "

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.

", - "PrivateIpAddressSpecification$Primary": "

Indicates whether the private IP address is the primary private IP address. Only one IP address can be designated as primary.

", - "PurchaseReservedInstancesOfferingRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "PurchaseScheduledInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RebootInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RegisterImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RegisterImageRequest$EnaSupport": "

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.

", - "RejectVpcPeeringConnectionRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RejectVpcPeeringConnectionResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "ReleaseAddressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceNetworkAclAssociationRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceNetworkAclEntryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceNetworkAclEntryRequest$Egress": "

Indicates whether to replace the egress rule.

Default: If no value is specified, we replace the ingress rule.

", - "ReplaceRouteRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReplaceRouteTableAssociationRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ReportInstanceStatusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RequestSpotFleetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RequestSpotInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RequestSpotLaunchSpecification$EbsOptimized": "

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

", - "ReservedInstancesOffering$Marketplace": "

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.

", - "ResetImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ResetInstanceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ResetNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ResetSnapshotAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RestoreAddressToClassicRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RevokeSecurityGroupEgressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RevokeSecurityGroupIngressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RouteTableAssociation$Main": "

Indicates whether this is the main route table.

", - "RunInstancesMonitoringEnabled$Enabled": "

Indicates whether monitoring is enabled for the instance.

", - "RunInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "RunInstancesRequest$DisableApiTermination": "

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

", - "RunInstancesRequest$EbsOptimized": "

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

", - "RunScheduledInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ScheduledInstanceRecurrence$OccurrenceRelativeToEnd": "

Indicates whether the occurrence is relative to the end of the specified week or month.

", - "ScheduledInstanceRecurrenceRequest$OccurrenceRelativeToEnd": "

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.

", - "ScheduledInstancesEbs$DeleteOnTermination": "

Indicates whether the volume is deleted on instance termination.

", - "ScheduledInstancesEbs$Encrypted": "

Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

", - "ScheduledInstancesLaunchSpecification$EbsOptimized": "

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

", - "ScheduledInstancesMonitoring$Enabled": "

Indicates whether monitoring is enabled.

", - "ScheduledInstancesNetworkInterface$AssociatePublicIpAddress": "

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.

", - "ScheduledInstancesNetworkInterface$DeleteOnTermination": "

Indicates whether to delete the interface when the instance is terminated.

", - "ScheduledInstancesPrivateIpAddressConfig$Primary": "

Indicates whether this is a primary IP address. Otherwise, this is a secondary IP address.

", - "Snapshot$Encrypted": "

Indicates whether the snapshot is encrypted.

", - "SpotFleetLaunchSpecification$EbsOptimized": "

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

", - "SpotFleetMonitoring$Enabled": "

Enables monitoring for the instance.

Default: false

", - "SpotFleetRequestConfigData$TerminateInstancesWithExpiration": "

Indicates whether running Spot instances should be terminated when the Spot fleet request expires.

", - "StartInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "StopInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "StopInstancesRequest$Force": "

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

", - "Subnet$DefaultForAz": "

Indicates whether this is the default subnet for the Availability Zone.

", - "Subnet$MapPublicIpOnLaunch": "

Indicates whether instances launched in this subnet receive a public IP address.

", - "TerminateInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "UnmonitorInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "Volume$Encrypted": "

Indicates whether the volume will be encrypted.

", - "VolumeAttachment$DeleteOnTermination": "

Indicates whether the EBS volume is deleted on instance termination.

", - "Vpc$IsDefault": "

Indicates whether the VPC is the default VPC.

", - "VpcClassicLink$ClassicLinkEnabled": "

Indicates whether the VPC is enabled for ClassicLink.

", - "VpcPeeringConnectionOptionsDescription$AllowEgressFromLocalClassicLinkToRemoteVpc": "

Indicates whether a local ClassicLink connection can communicate with the peer VPC over the VPC peering connection.

", - "VpcPeeringConnectionOptionsDescription$AllowEgressFromLocalVpcToRemoteClassicLink": "

Indicates whether a local VPC can communicate with a ClassicLink connection in the peer VPC over the VPC peering connection.

", - "VpcPeeringConnectionOptionsDescription$AllowDnsResolutionFromRemoteVpc": "

Indicates whether a local VPC can resolve public DNS hostnames to private IP addresses when queried from instances in a peer VPC.

", - "VpnConnectionOptions$StaticRoutesOnly": "

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "VpnConnectionOptionsSpecification$StaticRoutesOnly": "

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

" - } - }, - "BundleIdStringList": { - "base": null, - "refs": { - "DescribeBundleTasksRequest$BundleIds": "

One or more bundle task IDs.

Default: Describes all your bundle tasks.

" - } - }, - "BundleInstanceRequest": { - "base": "

Contains the parameters for BundleInstance.

", - "refs": { - } - }, - "BundleInstanceResult": { - "base": "

Contains the output of BundleInstance.

", - "refs": { - } - }, - "BundleTask": { - "base": "

Describes a bundle task.

", - "refs": { - "BundleInstanceResult$BundleTask": "

Information about the bundle task.

", - "BundleTaskList$member": null, - "CancelBundleTaskResult$BundleTask": "

Information about the bundle task.

" - } - }, - "BundleTaskError": { - "base": "

Describes an error for BundleInstance.

", - "refs": { - "BundleTask$BundleTaskError": "

If the task fails, a description of the error.

" - } - }, - "BundleTaskList": { - "base": null, - "refs": { - "DescribeBundleTasksResult$BundleTasks": "

Information about one or more bundle tasks.

" - } - }, - "BundleTaskState": { - "base": null, - "refs": { - "BundleTask$State": "

The state of the task.

" - } - }, - "CancelBatchErrorCode": { - "base": null, - "refs": { - "CancelSpotFleetRequestsError$Code": "

The error code.

" - } - }, - "CancelBundleTaskRequest": { - "base": "

Contains the parameters for CancelBundleTask.

", - "refs": { - } - }, - "CancelBundleTaskResult": { - "base": "

Contains the output of CancelBundleTask.

", - "refs": { - } - }, - "CancelConversionRequest": { - "base": "

Contains the parameters for CancelConversionTask.

", - "refs": { - } - }, - "CancelExportTaskRequest": { - "base": "

Contains the parameters for CancelExportTask.

", - "refs": { - } - }, - "CancelImportTaskRequest": { - "base": "

Contains the parameters for CancelImportTask.

", - "refs": { - } - }, - "CancelImportTaskResult": { - "base": "

Contains the output for CancelImportTask.

", - "refs": { - } - }, - "CancelReservedInstancesListingRequest": { - "base": "

Contains the parameters for CancelReservedInstancesListing.

", - "refs": { - } - }, - "CancelReservedInstancesListingResult": { - "base": "

Contains the output of CancelReservedInstancesListing.

", - "refs": { - } - }, - "CancelSpotFleetRequestsError": { - "base": "

Describes a Spot fleet error.

", - "refs": { - "CancelSpotFleetRequestsErrorItem$Error": "

The error.

" - } - }, - "CancelSpotFleetRequestsErrorItem": { - "base": "

Describes a Spot fleet request that was not successfully canceled.

", - "refs": { - "CancelSpotFleetRequestsErrorSet$member": null - } - }, - "CancelSpotFleetRequestsErrorSet": { - "base": null, - "refs": { - "CancelSpotFleetRequestsResponse$UnsuccessfulFleetRequests": "

Information about the Spot fleet requests that are not successfully canceled.

" - } - }, - "CancelSpotFleetRequestsRequest": { - "base": "

Contains the parameters for CancelSpotFleetRequests.

", - "refs": { - } - }, - "CancelSpotFleetRequestsResponse": { - "base": "

Contains the output of CancelSpotFleetRequests.

", - "refs": { - } - }, - "CancelSpotFleetRequestsSuccessItem": { - "base": "

Describes a Spot fleet request that was successfully canceled.

", - "refs": { - "CancelSpotFleetRequestsSuccessSet$member": null - } - }, - "CancelSpotFleetRequestsSuccessSet": { - "base": null, - "refs": { - "CancelSpotFleetRequestsResponse$SuccessfulFleetRequests": "

Information about the Spot fleet requests that are successfully canceled.

" - } - }, - "CancelSpotInstanceRequestState": { - "base": null, - "refs": { - "CancelledSpotInstanceRequest$State": "

The state of the Spot instance request.

" - } - }, - "CancelSpotInstanceRequestsRequest": { - "base": "

Contains the parameters for CancelSpotInstanceRequests.

", - "refs": { - } - }, - "CancelSpotInstanceRequestsResult": { - "base": "

Contains the output of CancelSpotInstanceRequests.

", - "refs": { - } - }, - "CancelledSpotInstanceRequest": { - "base": "

Describes a request to cancel a Spot instance.

", - "refs": { - "CancelledSpotInstanceRequestList$member": null - } - }, - "CancelledSpotInstanceRequestList": { - "base": null, - "refs": { - "CancelSpotInstanceRequestsResult$CancelledSpotInstanceRequests": "

One or more Spot instance requests.

" - } - }, - "ClassicLinkDnsSupport": { - "base": "

Describes the ClassicLink DNS support status of a VPC.

", - "refs": { - "ClassicLinkDnsSupportList$member": null - } - }, - "ClassicLinkDnsSupportList": { - "base": null, - "refs": { - "DescribeVpcClassicLinkDnsSupportResult$Vpcs": "

Information about the ClassicLink DNS support status of the VPCs.

" - } - }, - "ClassicLinkInstance": { - "base": "

Describes a linked EC2-Classic instance.

", - "refs": { - "ClassicLinkInstanceList$member": null - } - }, - "ClassicLinkInstanceList": { - "base": null, - "refs": { - "DescribeClassicLinkInstancesResult$Instances": "

Information about one or more linked EC2-Classic instances.

" - } - }, - "ClientData": { - "base": "

Describes the client-specific data.

", - "refs": { - "ImportImageRequest$ClientData": "

The client-specific data.

", - "ImportSnapshotRequest$ClientData": "

The client-specific data.

" - } - }, - "ConfirmProductInstanceRequest": { - "base": "

Contains the parameters for ConfirmProductInstance.

", - "refs": { - } - }, - "ConfirmProductInstanceResult": { - "base": "

Contains the output of ConfirmProductInstance.

", - "refs": { - } - }, - "ContainerFormat": { - "base": null, - "refs": { - "ExportToS3Task$ContainerFormat": "

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

", - "ExportToS3TaskSpecification$ContainerFormat": "

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

" - } - }, - "ConversionIdStringList": { - "base": null, - "refs": { - "DescribeConversionTasksRequest$ConversionTaskIds": "

One or more conversion task IDs.

" - } - }, - "ConversionTask": { - "base": "

Describes a conversion task.

", - "refs": { - "DescribeConversionTaskList$member": null, - "ImportInstanceResult$ConversionTask": "

Information about the conversion task.

", - "ImportVolumeResult$ConversionTask": "

Information about the conversion task.

" - } - }, - "ConversionTaskState": { - "base": null, - "refs": { - "ConversionTask$State": "

The state of the conversion task.

" - } - }, - "CopyImageRequest": { - "base": "

Contains the parameters for CopyImage.

", - "refs": { - } - }, - "CopyImageResult": { - "base": "

Contains the output of CopyImage.

", - "refs": { - } - }, - "CopySnapshotRequest": { - "base": "

Contains the parameters for CopySnapshot.

", - "refs": { - } - }, - "CopySnapshotResult": { - "base": "

Contains the output of CopySnapshot.

", - "refs": { - } - }, - "CreateCustomerGatewayRequest": { - "base": "

Contains the parameters for CreateCustomerGateway.

", - "refs": { - } - }, - "CreateCustomerGatewayResult": { - "base": "

Contains the output of CreateCustomerGateway.

", - "refs": { - } - }, - "CreateDhcpOptionsRequest": { - "base": "

Contains the parameters for CreateDhcpOptions.

", - "refs": { - } - }, - "CreateDhcpOptionsResult": { - "base": "

Contains the output of CreateDhcpOptions.

", - "refs": { - } - }, - "CreateFlowLogsRequest": { - "base": "

Contains the parameters for CreateFlowLogs.

", - "refs": { - } - }, - "CreateFlowLogsResult": { - "base": "

Contains the output of CreateFlowLogs.

", - "refs": { - } - }, - "CreateImageRequest": { - "base": "

Contains the parameters for CreateImage.

", - "refs": { - } - }, - "CreateImageResult": { - "base": "

Contains the output of CreateImage.

", - "refs": { - } - }, - "CreateInstanceExportTaskRequest": { - "base": "

Contains the parameters for CreateInstanceExportTask.

", - "refs": { - } - }, - "CreateInstanceExportTaskResult": { - "base": "

Contains the output for CreateInstanceExportTask.

", - "refs": { - } - }, - "CreateInternetGatewayRequest": { - "base": "

Contains the parameters for CreateInternetGateway.

", - "refs": { - } - }, - "CreateInternetGatewayResult": { - "base": "

Contains the output of CreateInternetGateway.

", - "refs": { - } - }, - "CreateKeyPairRequest": { - "base": "

Contains the parameters for CreateKeyPair.

", - "refs": { - } - }, - "CreateNatGatewayRequest": { - "base": "

Contains the parameters for CreateNatGateway.

", - "refs": { - } - }, - "CreateNatGatewayResult": { - "base": "

Contains the output of CreateNatGateway.

", - "refs": { - } - }, - "CreateNetworkAclEntryRequest": { - "base": "

Contains the parameters for CreateNetworkAclEntry.

", - "refs": { - } - }, - "CreateNetworkAclRequest": { - "base": "

Contains the parameters for CreateNetworkAcl.

", - "refs": { - } - }, - "CreateNetworkAclResult": { - "base": "

Contains the output of CreateNetworkAcl.

", - "refs": { - } - }, - "CreateNetworkInterfaceRequest": { - "base": "

Contains the parameters for CreateNetworkInterface.

", - "refs": { - } - }, - "CreateNetworkInterfaceResult": { - "base": "

Contains the output of CreateNetworkInterface.

", - "refs": { - } - }, - "CreatePlacementGroupRequest": { - "base": "

Contains the parameters for CreatePlacementGroup.

", - "refs": { - } - }, - "CreateReservedInstancesListingRequest": { - "base": "

Contains the parameters for CreateReservedInstancesListing.

", - "refs": { - } - }, - "CreateReservedInstancesListingResult": { - "base": "

Contains the output of CreateReservedInstancesListing.

", - "refs": { - } - }, - "CreateRouteRequest": { - "base": "

Contains the parameters for CreateRoute.

", - "refs": { - } - }, - "CreateRouteResult": { - "base": "

Contains the output of CreateRoute.

", - "refs": { - } - }, - "CreateRouteTableRequest": { - "base": "

Contains the parameters for CreateRouteTable.

", - "refs": { - } - }, - "CreateRouteTableResult": { - "base": "

Contains the output of CreateRouteTable.

", - "refs": { - } - }, - "CreateSecurityGroupRequest": { - "base": "

Contains the parameters for CreateSecurityGroup.

", - "refs": { - } - }, - "CreateSecurityGroupResult": { - "base": "

Contains the output of CreateSecurityGroup.

", - "refs": { - } - }, - "CreateSnapshotRequest": { - "base": "

Contains the parameters for CreateSnapshot.

", - "refs": { - } - }, - "CreateSpotDatafeedSubscriptionRequest": { - "base": "

Contains the parameters for CreateSpotDatafeedSubscription.

", - "refs": { - } - }, - "CreateSpotDatafeedSubscriptionResult": { - "base": "

Contains the output of CreateSpotDatafeedSubscription.

", - "refs": { - } - }, - "CreateSubnetRequest": { - "base": "

Contains the parameters for CreateSubnet.

", - "refs": { - } - }, - "CreateSubnetResult": { - "base": "

Contains the output of CreateSubnet.

", - "refs": { - } - }, - "CreateTagsRequest": { - "base": "

Contains the parameters for CreateTags.

", - "refs": { - } - }, - "CreateVolumePermission": { - "base": "

Describes the user or group to be added or removed from the permissions for a volume.

", - "refs": { - "CreateVolumePermissionList$member": null - } - }, - "CreateVolumePermissionList": { - "base": null, - "refs": { - "CreateVolumePermissionModifications$Add": "

Adds a specific AWS account ID or group to a volume's list of create volume permissions.

", - "CreateVolumePermissionModifications$Remove": "

Removes a specific AWS account ID or group from a volume's list of create volume permissions.

", - "DescribeSnapshotAttributeResult$CreateVolumePermissions": "

A list of permissions for creating volumes from the snapshot.

" - } - }, - "CreateVolumePermissionModifications": { - "base": "

Describes modifications to the permissions for a volume.

", - "refs": { - "ModifySnapshotAttributeRequest$CreateVolumePermission": "

A JSON representation of the snapshot attribute modification.

" - } - }, - "CreateVolumeRequest": { - "base": "

Contains the parameters for CreateVolume.

", - "refs": { - } - }, - "CreateVpcEndpointRequest": { - "base": "

Contains the parameters for CreateVpcEndpoint.

", - "refs": { - } - }, - "CreateVpcEndpointResult": { - "base": "

Contains the output of CreateVpcEndpoint.

", - "refs": { - } - }, - "CreateVpcPeeringConnectionRequest": { - "base": "

Contains the parameters for CreateVpcPeeringConnection.

", - "refs": { - } - }, - "CreateVpcPeeringConnectionResult": { - "base": "

Contains the output of CreateVpcPeeringConnection.

", - "refs": { - } - }, - "CreateVpcRequest": { - "base": "

Contains the parameters for CreateVpc.

", - "refs": { - } - }, - "CreateVpcResult": { - "base": "

Contains the output of CreateVpc.

", - "refs": { - } - }, - "CreateVpnConnectionRequest": { - "base": "

Contains the parameters for CreateVpnConnection.

", - "refs": { - } - }, - "CreateVpnConnectionResult": { - "base": "

Contains the output of CreateVpnConnection.

", - "refs": { - } - }, - "CreateVpnConnectionRouteRequest": { - "base": "

Contains the parameters for CreateVpnConnectionRoute.

", - "refs": { - } - }, - "CreateVpnGatewayRequest": { - "base": "

Contains the parameters for CreateVpnGateway.

", - "refs": { - } - }, - "CreateVpnGatewayResult": { - "base": "

Contains the output of CreateVpnGateway.

", - "refs": { - } - }, - "CurrencyCodeValues": { - "base": null, - "refs": { - "GetHostReservationPurchasePreviewResult$CurrencyCode": "

The currency in which the totalUpfrontPrice and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "HostOffering$CurrencyCode": "

The currency of the offering.

", - "HostReservation$CurrencyCode": "

The currency in which the upfrontPrice and hourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "PriceSchedule$CurrencyCode": "

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", - "PriceScheduleSpecification$CurrencyCode": "

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", - "Purchase$CurrencyCode": "

The currency in which the UpfrontPrice and HourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "PurchaseHostReservationRequest$CurrencyCode": "

The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "PurchaseHostReservationResult$CurrencyCode": "

The currency in which the totalUpfrontPrice and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "ReservedInstanceLimitPrice$CurrencyCode": "

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

", - "ReservedInstances$CurrencyCode": "

The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. At this time, the only supported currency is USD.

", - "ReservedInstancesOffering$CurrencyCode": "

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.

" - } - }, - "CustomerGateway": { - "base": "

Describes a customer gateway.

", - "refs": { - "CreateCustomerGatewayResult$CustomerGateway": "

Information about the customer gateway.

", - "CustomerGatewayList$member": null - } - }, - "CustomerGatewayIdStringList": { - "base": null, - "refs": { - "DescribeCustomerGatewaysRequest$CustomerGatewayIds": "

One or more customer gateway IDs.

Default: Describes all your customer gateways.

" - } - }, - "CustomerGatewayList": { - "base": null, - "refs": { - "DescribeCustomerGatewaysResult$CustomerGateways": "

Information about one or more customer gateways.

" - } - }, - "DatafeedSubscriptionState": { - "base": null, - "refs": { - "SpotDatafeedSubscription$State": "

The state of the Spot instance data feed subscription.

" - } - }, - "DateTime": { - "base": null, - "refs": { - "BundleTask$StartTime": "

The time this task started.

", - "BundleTask$UpdateTime": "

The time of the most recent update for the task.

", - "ClientData$UploadStart": "

The time that the disk upload starts.

", - "ClientData$UploadEnd": "

The time that the disk upload ends.

", - "DescribeSpotFleetRequestHistoryRequest$StartTime": "

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "DescribeSpotFleetRequestHistoryResponse$StartTime": "

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "DescribeSpotFleetRequestHistoryResponse$LastEvaluatedTime": "

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.

", - "DescribeSpotPriceHistoryRequest$StartTime": "

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).

", - "DescribeSpotPriceHistoryRequest$EndTime": "

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).

", - "EbsInstanceBlockDevice$AttachTime": "

The time stamp when the attachment initiated.

", - "FlowLog$CreationTime": "

The date and time the flow log was created.

", - "GetConsoleOutputResult$Timestamp": "

The time the output was last updated.

", - "GetPasswordDataResult$Timestamp": "

The time the data was last updated.

", - "GetReservedInstancesExchangeQuoteResult$OutputReservedInstancesWillExpireAt": "

The new end date of the reservation term.

", - "HistoryRecord$Timestamp": "

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "HostReservation$End": "

The date and time that the reservation ends.

", - "HostReservation$Start": "

The date and time that the reservation started.

", - "IdFormat$Deadline": "

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.

", - "Instance$LaunchTime": "

The time the instance was launched.

", - "InstanceNetworkInterfaceAttachment$AttachTime": "

The time stamp when the attachment initiated.

", - "InstanceStatusDetails$ImpairedSince": "

The time when a status check failed. For an instance that was launched and impaired, this is the time when the instance was launched.

", - "InstanceStatusEvent$NotBefore": "

The earliest scheduled start time for the event.

", - "InstanceStatusEvent$NotAfter": "

The latest scheduled end time for the event.

", - "NatGateway$CreateTime": "

The date and time the NAT gateway was created.

", - "NatGateway$DeleteTime": "

The date and time the NAT gateway was deleted, if applicable.

", - "NetworkInterfaceAttachment$AttachTime": "

The timestamp indicating when the attachment initiated.

", - "ProvisionedBandwidth$RequestTime": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "ProvisionedBandwidth$ProvisionTime": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "ReportInstanceStatusRequest$StartTime": "

The time at which the reported instance health state began.

", - "ReportInstanceStatusRequest$EndTime": "

The time at which the reported instance health state ended.

", - "RequestSpotInstancesRequest$ValidFrom": "

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.

", - "RequestSpotInstancesRequest$ValidUntil": "

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.

", - "ReservedInstances$Start": "

The date and time the Reserved Instance started.

", - "ReservedInstances$End": "

The time when the Reserved Instance expires.

", - "ReservedInstancesListing$CreateDate": "

The time the listing was created.

", - "ReservedInstancesListing$UpdateDate": "

The last modified timestamp of the listing.

", - "ReservedInstancesModification$CreateDate": "

The time when the modification request was created.

", - "ReservedInstancesModification$UpdateDate": "

The time when the modification request was last updated.

", - "ReservedInstancesModification$EffectiveDate": "

The time for the modification to become effective.

", - "ScheduledInstance$PreviousSlotEndTime": "

The time that the previous schedule ended or will end.

", - "ScheduledInstance$NextSlotStartTime": "

The time for the next schedule to start.

", - "ScheduledInstance$TermStartDate": "

The start date for the Scheduled Instance.

", - "ScheduledInstance$TermEndDate": "

The end date for the Scheduled Instance.

", - "ScheduledInstance$CreateDate": "

The date when the Scheduled Instance was purchased.

", - "ScheduledInstanceAvailability$FirstSlotStartTime": "

The time period for the first schedule to start.

", - "SlotDateTimeRangeRequest$EarliestTime": "

The earliest date and time, in UTC, for the Scheduled Instance to start.

", - "SlotDateTimeRangeRequest$LatestTime": "

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.

", - "SlotStartTimeRangeRequest$EarliestTime": "

The earliest date and time, in UTC, for the Scheduled Instance to start.

", - "SlotStartTimeRangeRequest$LatestTime": "

The latest date and time, in UTC, for the Scheduled Instance to start.

", - "Snapshot$StartTime": "

The time stamp when the snapshot was initiated.

", - "SpotFleetRequestConfig$CreateTime": "

The creation date and time of the request.

", - "SpotFleetRequestConfigData$ValidFrom": "

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.

", - "SpotFleetRequestConfigData$ValidUntil": "

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.

", - "SpotInstanceRequest$ValidFrom": "

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.

", - "SpotInstanceRequest$ValidUntil": "

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.

", - "SpotInstanceRequest$CreateTime": "

The date and time when the Spot instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "SpotInstanceStatus$UpdateTime": "

The date and time of the most recent status update, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "SpotPrice$Timestamp": "

The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "VgwTelemetry$LastStatusChange": "

The date and time of the last change in status.

", - "Volume$CreateTime": "

The time stamp when volume creation was initiated.

", - "VolumeAttachment$AttachTime": "

The time stamp when the attachment initiated.

", - "VolumeStatusEvent$NotBefore": "

The earliest start time of the event.

", - "VolumeStatusEvent$NotAfter": "

The latest end time of the event.

", - "VpcEndpoint$CreationTimestamp": "

The date and time the VPC endpoint was created.

", - "VpcPeeringConnection$ExpirationTime": "

The time that an unaccepted VPC peering connection will expire.

" - } - }, - "DeleteCustomerGatewayRequest": { - "base": "

Contains the parameters for DeleteCustomerGateway.

", - "refs": { - } - }, - "DeleteDhcpOptionsRequest": { - "base": "

Contains the parameters for DeleteDhcpOptions.

", - "refs": { - } - }, - "DeleteFlowLogsRequest": { - "base": "

Contains the parameters for DeleteFlowLogs.

", - "refs": { - } - }, - "DeleteFlowLogsResult": { - "base": "

Contains the output of DeleteFlowLogs.

", - "refs": { - } - }, - "DeleteInternetGatewayRequest": { - "base": "

Contains the parameters for DeleteInternetGateway.

", - "refs": { - } - }, - "DeleteKeyPairRequest": { - "base": "

Contains the parameters for DeleteKeyPair.

", - "refs": { - } - }, - "DeleteNatGatewayRequest": { - "base": "

Contains the parameters for DeleteNatGateway.

", - "refs": { - } - }, - "DeleteNatGatewayResult": { - "base": "

Contains the output of DeleteNatGateway.

", - "refs": { - } - }, - "DeleteNetworkAclEntryRequest": { - "base": "

Contains the parameters for DeleteNetworkAclEntry.

", - "refs": { - } - }, - "DeleteNetworkAclRequest": { - "base": "

Contains the parameters for DeleteNetworkAcl.

", - "refs": { - } - }, - "DeleteNetworkInterfaceRequest": { - "base": "

Contains the parameters for DeleteNetworkInterface.

", - "refs": { - } - }, - "DeletePlacementGroupRequest": { - "base": "

Contains the parameters for DeletePlacementGroup.

", - "refs": { - } - }, - "DeleteRouteRequest": { - "base": "

Contains the parameters for DeleteRoute.

", - "refs": { - } - }, - "DeleteRouteTableRequest": { - "base": "

Contains the parameters for DeleteRouteTable.

", - "refs": { - } - }, - "DeleteSecurityGroupRequest": { - "base": "

Contains the parameters for DeleteSecurityGroup.

", - "refs": { - } - }, - "DeleteSnapshotRequest": { - "base": "

Contains the parameters for DeleteSnapshot.

", - "refs": { - } - }, - "DeleteSpotDatafeedSubscriptionRequest": { - "base": "

Contains the parameters for DeleteSpotDatafeedSubscription.

", - "refs": { - } - }, - "DeleteSubnetRequest": { - "base": "

Contains the parameters for DeleteSubnet.

", - "refs": { - } - }, - "DeleteTagsRequest": { - "base": "

Contains the parameters for DeleteTags.

", - "refs": { - } - }, - "DeleteVolumeRequest": { - "base": "

Contains the parameters for DeleteVolume.

", - "refs": { - } - }, - "DeleteVpcEndpointsRequest": { - "base": "

Contains the parameters for DeleteVpcEndpoints.

", - "refs": { - } - }, - "DeleteVpcEndpointsResult": { - "base": "

Contains the output of DeleteVpcEndpoints.

", - "refs": { - } - }, - "DeleteVpcPeeringConnectionRequest": { - "base": "

Contains the parameters for DeleteVpcPeeringConnection.

", - "refs": { - } - }, - "DeleteVpcPeeringConnectionResult": { - "base": "

Contains the output of DeleteVpcPeeringConnection.

", - "refs": { - } - }, - "DeleteVpcRequest": { - "base": "

Contains the parameters for DeleteVpc.

", - "refs": { - } - }, - "DeleteVpnConnectionRequest": { - "base": "

Contains the parameters for DeleteVpnConnection.

", - "refs": { - } - }, - "DeleteVpnConnectionRouteRequest": { - "base": "

Contains the parameters for DeleteVpnConnectionRoute.

", - "refs": { - } - }, - "DeleteVpnGatewayRequest": { - "base": "

Contains the parameters for DeleteVpnGateway.

", - "refs": { - } - }, - "DeregisterImageRequest": { - "base": "

Contains the parameters for DeregisterImage.

", - "refs": { - } - }, - "DescribeAccountAttributesRequest": { - "base": "

Contains the parameters for DescribeAccountAttributes.

", - "refs": { - } - }, - "DescribeAccountAttributesResult": { - "base": "

Contains the output of DescribeAccountAttributes.

", - "refs": { - } - }, - "DescribeAddressesRequest": { - "base": "

Contains the parameters for DescribeAddresses.

", - "refs": { - } - }, - "DescribeAddressesResult": { - "base": "

Contains the output of DescribeAddresses.

", - "refs": { - } - }, - "DescribeAvailabilityZonesRequest": { - "base": "

Contains the parameters for DescribeAvailabilityZones.

", - "refs": { - } - }, - "DescribeAvailabilityZonesResult": { - "base": "

Contains the output of DescribeAvailabiltyZones.

", - "refs": { - } - }, - "DescribeBundleTasksRequest": { - "base": "

Contains the parameters for DescribeBundleTasks.

", - "refs": { - } - }, - "DescribeBundleTasksResult": { - "base": "

Contains the output of DescribeBundleTasks.

", - "refs": { - } - }, - "DescribeClassicLinkInstancesRequest": { - "base": "

Contains the parameters for DescribeClassicLinkInstances.

", - "refs": { - } - }, - "DescribeClassicLinkInstancesResult": { - "base": "

Contains the output of DescribeClassicLinkInstances.

", - "refs": { - } - }, - "DescribeConversionTaskList": { - "base": null, - "refs": { - "DescribeConversionTasksResult$ConversionTasks": "

Information about the conversion tasks.

" - } - }, - "DescribeConversionTasksRequest": { - "base": "

Contains the parameters for DescribeConversionTasks.

", - "refs": { - } - }, - "DescribeConversionTasksResult": { - "base": "

Contains the output for DescribeConversionTasks.

", - "refs": { - } - }, - "DescribeCustomerGatewaysRequest": { - "base": "

Contains the parameters for DescribeCustomerGateways.

", - "refs": { - } - }, - "DescribeCustomerGatewaysResult": { - "base": "

Contains the output of DescribeCustomerGateways.

", - "refs": { - } - }, - "DescribeDhcpOptionsRequest": { - "base": "

Contains the parameters for DescribeDhcpOptions.

", - "refs": { - } - }, - "DescribeDhcpOptionsResult": { - "base": "

Contains the output of DescribeDhcpOptions.

", - "refs": { - } - }, - "DescribeExportTasksRequest": { - "base": "

Contains the parameters for DescribeExportTasks.

", - "refs": { - } - }, - "DescribeExportTasksResult": { - "base": "

Contains the output for DescribeExportTasks.

", - "refs": { - } - }, - "DescribeFlowLogsRequest": { - "base": "

Contains the parameters for DescribeFlowLogs.

", - "refs": { - } - }, - "DescribeFlowLogsResult": { - "base": "

Contains the output of DescribeFlowLogs.

", - "refs": { - } - }, - "DescribeHostReservationOfferingsRequest": { - "base": null, - "refs": { - } - }, - "DescribeHostReservationOfferingsResult": { - "base": null, - "refs": { - } - }, - "DescribeHostReservationsRequest": { - "base": null, - "refs": { - } - }, - "DescribeHostReservationsResult": { - "base": null, - "refs": { - } - }, - "DescribeHostsRequest": { - "base": "

Contains the parameters for DescribeHosts.

", - "refs": { - } - }, - "DescribeHostsResult": { - "base": "

Contains the output of DescribeHosts.

", - "refs": { - } - }, - "DescribeIdFormatRequest": { - "base": "

Contains the parameters for DescribeIdFormat.

", - "refs": { - } - }, - "DescribeIdFormatResult": { - "base": "

Contains the output of DescribeIdFormat.

", - "refs": { - } - }, - "DescribeIdentityIdFormatRequest": { - "base": "

Contains the parameters for DescribeIdentityIdFormat.

", - "refs": { - } - }, - "DescribeIdentityIdFormatResult": { - "base": "

Contains the output of DescribeIdentityIdFormat.

", - "refs": { - } - }, - "DescribeImageAttributeRequest": { - "base": "

Contains the parameters for DescribeImageAttribute.

", - "refs": { - } - }, - "DescribeImagesRequest": { - "base": "

Contains the parameters for DescribeImages.

", - "refs": { - } - }, - "DescribeImagesResult": { - "base": "

Contains the output of DescribeImages.

", - "refs": { - } - }, - "DescribeImportImageTasksRequest": { - "base": "

Contains the parameters for DescribeImportImageTasks.

", - "refs": { - } - }, - "DescribeImportImageTasksResult": { - "base": "

Contains the output for DescribeImportImageTasks.

", - "refs": { - } - }, - "DescribeImportSnapshotTasksRequest": { - "base": "

Contains the parameters for DescribeImportSnapshotTasks.

", - "refs": { - } - }, - "DescribeImportSnapshotTasksResult": { - "base": "

Contains the output for DescribeImportSnapshotTasks.

", - "refs": { - } - }, - "DescribeInstanceAttributeRequest": { - "base": "

Contains the parameters for DescribeInstanceAttribute.

", - "refs": { - } - }, - "DescribeInstanceStatusRequest": { - "base": "

Contains the parameters for DescribeInstanceStatus.

", - "refs": { - } - }, - "DescribeInstanceStatusResult": { - "base": "

Contains the output of DescribeInstanceStatus.

", - "refs": { - } - }, - "DescribeInstancesRequest": { - "base": "

Contains the parameters for DescribeInstances.

", - "refs": { - } - }, - "DescribeInstancesResult": { - "base": "

Contains the output of DescribeInstances.

", - "refs": { - } - }, - "DescribeInternetGatewaysRequest": { - "base": "

Contains the parameters for DescribeInternetGateways.

", - "refs": { - } - }, - "DescribeInternetGatewaysResult": { - "base": "

Contains the output of DescribeInternetGateways.

", - "refs": { - } - }, - "DescribeKeyPairsRequest": { - "base": "

Contains the parameters for DescribeKeyPairs.

", - "refs": { - } - }, - "DescribeKeyPairsResult": { - "base": "

Contains the output of DescribeKeyPairs.

", - "refs": { - } - }, - "DescribeMovingAddressesRequest": { - "base": "

Contains the parameters for DescribeMovingAddresses.

", - "refs": { - } - }, - "DescribeMovingAddressesResult": { - "base": "

Contains the output of DescribeMovingAddresses.

", - "refs": { - } - }, - "DescribeNatGatewaysRequest": { - "base": "

Contains the parameters for DescribeNatGateways.

", - "refs": { - } - }, - "DescribeNatGatewaysResult": { - "base": "

Contains the output of DescribeNatGateways.

", - "refs": { - } - }, - "DescribeNetworkAclsRequest": { - "base": "

Contains the parameters for DescribeNetworkAcls.

", - "refs": { - } - }, - "DescribeNetworkAclsResult": { - "base": "

Contains the output of DescribeNetworkAcls.

", - "refs": { - } - }, - "DescribeNetworkInterfaceAttributeRequest": { - "base": "

Contains the parameters for DescribeNetworkInterfaceAttribute.

", - "refs": { - } - }, - "DescribeNetworkInterfaceAttributeResult": { - "base": "

Contains the output of DescribeNetworkInterfaceAttribute.

", - "refs": { - } - }, - "DescribeNetworkInterfacesRequest": { - "base": "

Contains the parameters for DescribeNetworkInterfaces.

", - "refs": { - } - }, - "DescribeNetworkInterfacesResult": { - "base": "

Contains the output of DescribeNetworkInterfaces.

", - "refs": { - } - }, - "DescribePlacementGroupsRequest": { - "base": "

Contains the parameters for DescribePlacementGroups.

", - "refs": { - } - }, - "DescribePlacementGroupsResult": { - "base": "

Contains the output of DescribePlacementGroups.

", - "refs": { - } - }, - "DescribePrefixListsRequest": { - "base": "

Contains the parameters for DescribePrefixLists.

", - "refs": { - } - }, - "DescribePrefixListsResult": { - "base": "

Contains the output of DescribePrefixLists.

", - "refs": { - } - }, - "DescribeRegionsRequest": { - "base": "

Contains the parameters for DescribeRegions.

", - "refs": { - } - }, - "DescribeRegionsResult": { - "base": "

Contains the output of DescribeRegions.

", - "refs": { - } - }, - "DescribeReservedInstancesListingsRequest": { - "base": "

Contains the parameters for DescribeReservedInstancesListings.

", - "refs": { - } - }, - "DescribeReservedInstancesListingsResult": { - "base": "

Contains the output of DescribeReservedInstancesListings.

", - "refs": { - } - }, - "DescribeReservedInstancesModificationsRequest": { - "base": "

Contains the parameters for DescribeReservedInstancesModifications.

", - "refs": { - } - }, - "DescribeReservedInstancesModificationsResult": { - "base": "

Contains the output of DescribeReservedInstancesModifications.

", - "refs": { - } - }, - "DescribeReservedInstancesOfferingsRequest": { - "base": "

Contains the parameters for DescribeReservedInstancesOfferings.

", - "refs": { - } - }, - "DescribeReservedInstancesOfferingsResult": { - "base": "

Contains the output of DescribeReservedInstancesOfferings.

", - "refs": { - } - }, - "DescribeReservedInstancesRequest": { - "base": "

Contains the parameters for DescribeReservedInstances.

", - "refs": { - } - }, - "DescribeReservedInstancesResult": { - "base": "

Contains the output for DescribeReservedInstances.

", - "refs": { - } - }, - "DescribeRouteTablesRequest": { - "base": "

Contains the parameters for DescribeRouteTables.

", - "refs": { - } - }, - "DescribeRouteTablesResult": { - "base": "

Contains the output of DescribeRouteTables.

", - "refs": { - } - }, - "DescribeScheduledInstanceAvailabilityRequest": { - "base": "

Contains the parameters for DescribeScheduledInstanceAvailability.

", - "refs": { - } - }, - "DescribeScheduledInstanceAvailabilityResult": { - "base": "

Contains the output of DescribeScheduledInstanceAvailability.

", - "refs": { - } - }, - "DescribeScheduledInstancesRequest": { - "base": "

Contains the parameters for DescribeScheduledInstances.

", - "refs": { - } - }, - "DescribeScheduledInstancesResult": { - "base": "

Contains the output of DescribeScheduledInstances.

", - "refs": { - } - }, - "DescribeSecurityGroupReferencesRequest": { - "base": null, - "refs": { - } - }, - "DescribeSecurityGroupReferencesResult": { - "base": null, - "refs": { - } - }, - "DescribeSecurityGroupsRequest": { - "base": "

Contains the parameters for DescribeSecurityGroups.

", - "refs": { - } - }, - "DescribeSecurityGroupsResult": { - "base": "

Contains the output of DescribeSecurityGroups.

", - "refs": { - } - }, - "DescribeSnapshotAttributeRequest": { - "base": "

Contains the parameters for DescribeSnapshotAttribute.

", - "refs": { - } - }, - "DescribeSnapshotAttributeResult": { - "base": "

Contains the output of DescribeSnapshotAttribute.

", - "refs": { - } - }, - "DescribeSnapshotsRequest": { - "base": "

Contains the parameters for DescribeSnapshots.

", - "refs": { - } - }, - "DescribeSnapshotsResult": { - "base": "

Contains the output of DescribeSnapshots.

", - "refs": { - } - }, - "DescribeSpotDatafeedSubscriptionRequest": { - "base": "

Contains the parameters for DescribeSpotDatafeedSubscription.

", - "refs": { - } - }, - "DescribeSpotDatafeedSubscriptionResult": { - "base": "

Contains the output of DescribeSpotDatafeedSubscription.

", - "refs": { - } - }, - "DescribeSpotFleetInstancesRequest": { - "base": "

Contains the parameters for DescribeSpotFleetInstances.

", - "refs": { - } - }, - "DescribeSpotFleetInstancesResponse": { - "base": "

Contains the output of DescribeSpotFleetInstances.

", - "refs": { - } - }, - "DescribeSpotFleetRequestHistoryRequest": { - "base": "

Contains the parameters for DescribeSpotFleetRequestHistory.

", - "refs": { - } - }, - "DescribeSpotFleetRequestHistoryResponse": { - "base": "

Contains the output of DescribeSpotFleetRequestHistory.

", - "refs": { - } - }, - "DescribeSpotFleetRequestsRequest": { - "base": "

Contains the parameters for DescribeSpotFleetRequests.

", - "refs": { - } - }, - "DescribeSpotFleetRequestsResponse": { - "base": "

Contains the output of DescribeSpotFleetRequests.

", - "refs": { - } - }, - "DescribeSpotInstanceRequestsRequest": { - "base": "

Contains the parameters for DescribeSpotInstanceRequests.

", - "refs": { - } - }, - "DescribeSpotInstanceRequestsResult": { - "base": "

Contains the output of DescribeSpotInstanceRequests.

", - "refs": { - } - }, - "DescribeSpotPriceHistoryRequest": { - "base": "

Contains the parameters for DescribeSpotPriceHistory.

", - "refs": { - } - }, - "DescribeSpotPriceHistoryResult": { - "base": "

Contains the output of DescribeSpotPriceHistory.

", - "refs": { - } - }, - "DescribeStaleSecurityGroupsRequest": { - "base": null, - "refs": { - } - }, - "DescribeStaleSecurityGroupsResult": { - "base": null, - "refs": { - } - }, - "DescribeSubnetsRequest": { - "base": "

Contains the parameters for DescribeSubnets.

", - "refs": { - } - }, - "DescribeSubnetsResult": { - "base": "

Contains the output of DescribeSubnets.

", - "refs": { - } - }, - "DescribeTagsRequest": { - "base": "

Contains the parameters for DescribeTags.

", - "refs": { - } - }, - "DescribeTagsResult": { - "base": "

Contains the output of DescribeTags.

", - "refs": { - } - }, - "DescribeVolumeAttributeRequest": { - "base": "

Contains the parameters for DescribeVolumeAttribute.

", - "refs": { - } - }, - "DescribeVolumeAttributeResult": { - "base": "

Contains the output of DescribeVolumeAttribute.

", - "refs": { - } - }, - "DescribeVolumeStatusRequest": { - "base": "

Contains the parameters for DescribeVolumeStatus.

", - "refs": { - } - }, - "DescribeVolumeStatusResult": { - "base": "

Contains the output of DescribeVolumeStatus.

", - "refs": { - } - }, - "DescribeVolumesRequest": { - "base": "

Contains the parameters for DescribeVolumes.

", - "refs": { - } - }, - "DescribeVolumesResult": { - "base": "

Contains the output of DescribeVolumes.

", - "refs": { - } - }, - "DescribeVpcAttributeRequest": { - "base": "

Contains the parameters for DescribeVpcAttribute.

", - "refs": { - } - }, - "DescribeVpcAttributeResult": { - "base": "

Contains the output of DescribeVpcAttribute.

", - "refs": { - } - }, - "DescribeVpcClassicLinkDnsSupportRequest": { - "base": "

Contains the parameters for DescribeVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "DescribeVpcClassicLinkDnsSupportResult": { - "base": "

Contains the output of DescribeVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "DescribeVpcClassicLinkRequest": { - "base": "

Contains the parameters for DescribeVpcClassicLink.

", - "refs": { - } - }, - "DescribeVpcClassicLinkResult": { - "base": "

Contains the output of DescribeVpcClassicLink.

", - "refs": { - } - }, - "DescribeVpcEndpointServicesRequest": { - "base": "

Contains the parameters for DescribeVpcEndpointServices.

", - "refs": { - } - }, - "DescribeVpcEndpointServicesResult": { - "base": "

Contains the output of DescribeVpcEndpointServices.

", - "refs": { - } - }, - "DescribeVpcEndpointsRequest": { - "base": "

Contains the parameters for DescribeVpcEndpoints.

", - "refs": { - } - }, - "DescribeVpcEndpointsResult": { - "base": "

Contains the output of DescribeVpcEndpoints.

", - "refs": { - } - }, - "DescribeVpcPeeringConnectionsRequest": { - "base": "

Contains the parameters for DescribeVpcPeeringConnections.

", - "refs": { - } - }, - "DescribeVpcPeeringConnectionsResult": { - "base": "

Contains the output of DescribeVpcPeeringConnections.

", - "refs": { - } - }, - "DescribeVpcsRequest": { - "base": "

Contains the parameters for DescribeVpcs.

", - "refs": { - } - }, - "DescribeVpcsResult": { - "base": "

Contains the output of DescribeVpcs.

", - "refs": { - } - }, - "DescribeVpnConnectionsRequest": { - "base": "

Contains the parameters for DescribeVpnConnections.

", - "refs": { - } - }, - "DescribeVpnConnectionsResult": { - "base": "

Contains the output of DescribeVpnConnections.

", - "refs": { - } - }, - "DescribeVpnGatewaysRequest": { - "base": "

Contains the parameters for DescribeVpnGateways.

", - "refs": { - } - }, - "DescribeVpnGatewaysResult": { - "base": "

Contains the output of DescribeVpnGateways.

", - "refs": { - } - }, - "DetachClassicLinkVpcRequest": { - "base": "

Contains the parameters for DetachClassicLinkVpc.

", - "refs": { - } - }, - "DetachClassicLinkVpcResult": { - "base": "

Contains the output of DetachClassicLinkVpc.

", - "refs": { - } - }, - "DetachInternetGatewayRequest": { - "base": "

Contains the parameters for DetachInternetGateway.

", - "refs": { - } - }, - "DetachNetworkInterfaceRequest": { - "base": "

Contains the parameters for DetachNetworkInterface.

", - "refs": { - } - }, - "DetachVolumeRequest": { - "base": "

Contains the parameters for DetachVolume.

", - "refs": { - } - }, - "DetachVpnGatewayRequest": { - "base": "

Contains the parameters for DetachVpnGateway.

", - "refs": { - } - }, - "DeviceType": { - "base": null, - "refs": { - "Image$RootDeviceType": "

The type of root device used by the AMI. The AMI can use an EBS volume or an instance store volume.

", - "Instance$RootDeviceType": "

The root device type used by the AMI. The AMI can use an EBS volume or an instance store volume.

" - } - }, - "DhcpConfiguration": { - "base": "

Describes a DHCP configuration option.

", - "refs": { - "DhcpConfigurationList$member": null - } - }, - "DhcpConfigurationList": { - "base": null, - "refs": { - "DhcpOptions$DhcpConfigurations": "

One or more DHCP options in the set.

" - } - }, - "DhcpConfigurationValueList": { - "base": null, - "refs": { - "DhcpConfiguration$Values": "

One or more values for the DHCP option.

" - } - }, - "DhcpOptions": { - "base": "

Describes a set of DHCP options.

", - "refs": { - "CreateDhcpOptionsResult$DhcpOptions": "

A set of DHCP options.

", - "DhcpOptionsList$member": null - } - }, - "DhcpOptionsIdStringList": { - "base": null, - "refs": { - "DescribeDhcpOptionsRequest$DhcpOptionsIds": "

The IDs of one or more DHCP options sets.

Default: Describes all your DHCP options sets.

" - } - }, - "DhcpOptionsList": { - "base": null, - "refs": { - "DescribeDhcpOptionsResult$DhcpOptions": "

Information about one or more DHCP options sets.

" - } - }, - "DisableVgwRoutePropagationRequest": { - "base": "

Contains the parameters for DisableVgwRoutePropagation.

", - "refs": { - } - }, - "DisableVpcClassicLinkDnsSupportRequest": { - "base": "

Contains the parameters for DisableVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "DisableVpcClassicLinkDnsSupportResult": { - "base": "

Contains the output of DisableVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "DisableVpcClassicLinkRequest": { - "base": "

Contains the parameters for DisableVpcClassicLink.

", - "refs": { - } - }, - "DisableVpcClassicLinkResult": { - "base": "

Contains the output of DisableVpcClassicLink.

", - "refs": { - } - }, - "DisassociateAddressRequest": { - "base": "

Contains the parameters for DisassociateAddress.

", - "refs": { - } - }, - "DisassociateRouteTableRequest": { - "base": "

Contains the parameters for DisassociateRouteTable.

", - "refs": { - } - }, - "DiskImage": { - "base": "

Describes a disk image.

", - "refs": { - "DiskImageList$member": null - } - }, - "DiskImageDescription": { - "base": "

Describes a disk image.

", - "refs": { - "ImportInstanceVolumeDetailItem$Image": "

The image.

", - "ImportVolumeTaskDetails$Image": "

The image.

" - } - }, - "DiskImageDetail": { - "base": "

Describes a disk image.

", - "refs": { - "DiskImage$Image": "

Information about the disk image.

", - "ImportVolumeRequest$Image": "

The disk image.

" - } - }, - "DiskImageFormat": { - "base": null, - "refs": { - "DiskImageDescription$Format": "

The disk image format.

", - "DiskImageDetail$Format": "

The disk image format.

", - "ExportToS3Task$DiskImageFormat": "

The format for the exported image.

", - "ExportToS3TaskSpecification$DiskImageFormat": "

The format for the exported image.

" - } - }, - "DiskImageList": { - "base": null, - "refs": { - "ImportInstanceRequest$DiskImages": "

The disk image.

" - } - }, - "DiskImageVolumeDescription": { - "base": "

Describes a disk image volume.

", - "refs": { - "ImportInstanceVolumeDetailItem$Volume": "

The volume.

", - "ImportVolumeTaskDetails$Volume": "

The volume.

" - } - }, - "DomainType": { - "base": null, - "refs": { - "Address$Domain": "

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", - "AllocateAddressRequest$Domain": "

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$Domain": "

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

" - } - }, - "Double": { - "base": null, - "refs": { - "ClientData$UploadSize": "

The size of the uploaded disk image, in GiB.

", - "PriceSchedule$Price": "

The fixed price for the term.

", - "PriceScheduleSpecification$Price": "

The fixed price for the term.

", - "PricingDetail$Price": "

The price per instance.

", - "RecurringCharge$Amount": "

The amount of the recurring charge.

", - "ReservedInstanceLimitPrice$Amount": "

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", - "SnapshotDetail$DiskImageSize": "

The size of the disk in the snapshot, in GiB.

", - "SnapshotTaskDetail$DiskImageSize": "

The size of the disk in the snapshot, in GiB.

", - "SpotFleetLaunchSpecification$WeightedCapacity": "

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.

", - "SpotFleetRequestConfigData$FulfilledCapacity": "

The number of units fulfilled by this request compared to the set target capacity.

" - } - }, - "EbsBlockDevice": { - "base": "

Describes a block device for an EBS volume.

", - "refs": { - "BlockDeviceMapping$Ebs": "

Parameters used to automatically set up EBS volumes when the instance is launched.

" - } - }, - "EbsInstanceBlockDevice": { - "base": "

Describes a parameter used to set up an EBS volume in a block device mapping.

", - "refs": { - "InstanceBlockDeviceMapping$Ebs": "

Parameters used to automatically set up EBS volumes when the instance is launched.

" - } - }, - "EbsInstanceBlockDeviceSpecification": { - "base": "

Describes information used to set up an EBS volume specified in a block device mapping.

", - "refs": { - "InstanceBlockDeviceMappingSpecification$Ebs": "

Parameters used to automatically set up EBS volumes when the instance is launched.

" - } - }, - "EnableVgwRoutePropagationRequest": { - "base": "

Contains the parameters for EnableVgwRoutePropagation.

", - "refs": { - } - }, - "EnableVolumeIORequest": { - "base": "

Contains the parameters for EnableVolumeIO.

", - "refs": { - } - }, - "EnableVpcClassicLinkDnsSupportRequest": { - "base": "

Contains the parameters for EnableVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "EnableVpcClassicLinkDnsSupportResult": { - "base": "

Contains the output of EnableVpcClassicLinkDnsSupport.

", - "refs": { - } - }, - "EnableVpcClassicLinkRequest": { - "base": "

Contains the parameters for EnableVpcClassicLink.

", - "refs": { - } - }, - "EnableVpcClassicLinkResult": { - "base": "

Contains the output of EnableVpcClassicLink.

", - "refs": { - } - }, - "EventCode": { - "base": null, - "refs": { - "InstanceStatusEvent$Code": "

The event code.

" - } - }, - "EventInformation": { - "base": "

Describes a Spot fleet event.

", - "refs": { - "HistoryRecord$EventInformation": "

Information about the event.

" - } - }, - "EventType": { - "base": null, - "refs": { - "DescribeSpotFleetRequestHistoryRequest$EventType": "

The type of events to describe. By default, all events are described.

", - "HistoryRecord$EventType": "

The event type.

" - } - }, - "ExcessCapacityTerminationPolicy": { - "base": null, - "refs": { - "ModifySpotFleetRequestRequest$ExcessCapacityTerminationPolicy": "

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.

", - "SpotFleetRequestConfigData$ExcessCapacityTerminationPolicy": "

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.

" - } - }, - "ExecutableByStringList": { - "base": null, - "refs": { - "DescribeImagesRequest$ExecutableUsers": "

Scopes the images by users with explicit launch permissions. Specify an AWS account ID, self (the sender of the request), or all (public AMIs).

" - } - }, - "ExportEnvironment": { - "base": null, - "refs": { - "CreateInstanceExportTaskRequest$TargetEnvironment": "

The target virtualization environment.

", - "InstanceExportDetails$TargetEnvironment": "

The target virtualization environment.

" - } - }, - "ExportTask": { - "base": "

Describes an instance export task.

", - "refs": { - "CreateInstanceExportTaskResult$ExportTask": "

Information about the instance export task.

", - "ExportTaskList$member": null - } - }, - "ExportTaskIdStringList": { - "base": null, - "refs": { - "DescribeExportTasksRequest$ExportTaskIds": "

One or more export task IDs.

" - } - }, - "ExportTaskList": { - "base": null, - "refs": { - "DescribeExportTasksResult$ExportTasks": "

Information about the export tasks.

" - } - }, - "ExportTaskState": { - "base": null, - "refs": { - "ExportTask$State": "

The state of the export task.

" - } - }, - "ExportToS3Task": { - "base": "

Describes the format and location for an instance export task.

", - "refs": { - "ExportTask$ExportToS3Task": "

Information about the export task.

" - } - }, - "ExportToS3TaskSpecification": { - "base": "

Describes an instance export task.

", - "refs": { - "CreateInstanceExportTaskRequest$ExportToS3Task": "

The format and location for an instance export task.

" - } - }, - "Filter": { - "base": "

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.

", - "refs": { - "FilterList$member": null - } - }, - "FilterList": { - "base": null, - "refs": { - "DescribeAddressesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", - "DescribeAvailabilityZonesRequest$Filters": "

One or more filters.

", - "DescribeBundleTasksRequest$Filters": "

One or more filters.

", - "DescribeClassicLinkInstancesRequest$Filters": "

One or more filters.

", - "DescribeCustomerGatewaysRequest$Filters": "

One or more filters.

", - "DescribeDhcpOptionsRequest$Filters": "

One or more filters.

", - "DescribeFlowLogsRequest$Filter": "

One or more filters.

", - "DescribeHostReservationOfferingsRequest$Filter": "

One or more filters.

", - "DescribeHostReservationsRequest$Filter": "

One or more filters.

", - "DescribeHostsRequest$Filter": "

One or more filters.

", - "DescribeImagesRequest$Filters": "

One or more filters.

", - "DescribeImportImageTasksRequest$Filters": "

Filter tasks using the task-state filter and one of the following values: active, completed, deleting, deleted.

", - "DescribeImportSnapshotTasksRequest$Filters": "

One or more filters.

", - "DescribeInstanceStatusRequest$Filters": "

One or more filters.

", - "DescribeInstancesRequest$Filters": "

One or more filters.

", - "DescribeInternetGatewaysRequest$Filters": "

One or more filters.

", - "DescribeKeyPairsRequest$Filters": "

One or more filters.

", - "DescribeMovingAddressesRequest$Filters": "

One or more filters.

", - "DescribeNatGatewaysRequest$Filter": "

One or more filters.

", - "DescribeNetworkAclsRequest$Filters": "

One or more filters.

", - "DescribeNetworkInterfacesRequest$Filters": "

One or more filters.

", - "DescribePlacementGroupsRequest$Filters": "

One or more filters.

", - "DescribePrefixListsRequest$Filters": "

One or more filters.

", - "DescribeRegionsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesListingsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesModificationsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesOfferingsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesRequest$Filters": "

One or more filters.

", - "DescribeRouteTablesRequest$Filters": "

One or more filters.

", - "DescribeScheduledInstanceAvailabilityRequest$Filters": "

One or more filters.

", - "DescribeScheduledInstancesRequest$Filters": "

One or more filters.

", - "DescribeSecurityGroupsRequest$Filters": "

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.

", - "DescribeSnapshotsRequest$Filters": "

One or more filters.

", - "DescribeSpotInstanceRequestsRequest$Filters": "

One or more filters.

", - "DescribeSpotPriceHistoryRequest$Filters": "

One or more filters.

", - "DescribeSubnetsRequest$Filters": "

One or more filters.

", - "DescribeTagsRequest$Filters": "

One or more filters.

", - "DescribeVolumeStatusRequest$Filters": "

One or more filters.

", - "DescribeVolumesRequest$Filters": "

One or more filters.

", - "DescribeVpcClassicLinkRequest$Filters": "

One or more filters.

", - "DescribeVpcEndpointsRequest$Filters": "

One or more filters.

", - "DescribeVpcPeeringConnectionsRequest$Filters": "

One or more filters.

", - "DescribeVpcsRequest$Filters": "

One or more filters.

", - "DescribeVpnConnectionsRequest$Filters": "

One or more filters.

", - "DescribeVpnGatewaysRequest$Filters": "

One or more filters.

" - } - }, - "FleetType": { - "base": null, - "refs": { - "SpotFleetRequestConfigData$Type": "

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.

" - } - }, - "Float": { - "base": null, - "refs": { - "ReservedInstances$UsagePrice": "

The usage price of the Reserved Instance, per hour.

", - "ReservedInstances$FixedPrice": "

The purchase price of the Reserved Instance.

", - "ReservedInstancesOffering$UsagePrice": "

The usage price of the Reserved Instance, per hour.

", - "ReservedInstancesOffering$FixedPrice": "

The purchase price of the Reserved Instance.

" - } - }, - "FlowLog": { - "base": "

Describes a flow log.

", - "refs": { - "FlowLogSet$member": null - } - }, - "FlowLogSet": { - "base": null, - "refs": { - "DescribeFlowLogsResult$FlowLogs": "

Information about the flow logs.

" - } - }, - "FlowLogsResourceType": { - "base": null, - "refs": { - "CreateFlowLogsRequest$ResourceType": "

The type of resource on which to create the flow log.

" - } - }, - "GatewayType": { - "base": null, - "refs": { - "CreateCustomerGatewayRequest$Type": "

The type of VPN connection that this customer gateway supports (ipsec.1).

", - "CreateVpnGatewayRequest$Type": "

The type of VPN connection this virtual private gateway supports.

", - "VpnConnection$Type": "

The type of VPN connection.

", - "VpnGateway$Type": "

The type of VPN connection the virtual private gateway supports.

" - } - }, - "GetConsoleOutputRequest": { - "base": "

Contains the parameters for GetConsoleOutput.

", - "refs": { - } - }, - "GetConsoleOutputResult": { - "base": "

Contains the output of GetConsoleOutput.

", - "refs": { - } - }, - "GetConsoleScreenshotRequest": { - "base": "

Contains the parameters for the request.

", - "refs": { - } - }, - "GetConsoleScreenshotResult": { - "base": "

Contains the output of the request.

", - "refs": { - } - }, - "GetHostReservationPurchasePreviewRequest": { - "base": null, - "refs": { - } - }, - "GetHostReservationPurchasePreviewResult": { - "base": null, - "refs": { - } - }, - "GetPasswordDataRequest": { - "base": "

Contains the parameters for GetPasswordData.

", - "refs": { - } - }, - "GetPasswordDataResult": { - "base": "

Contains the output of GetPasswordData.

", - "refs": { - } - }, - "GetReservedInstancesExchangeQuoteRequest": { - "base": "

Contains the parameters for GetReservedInstanceExchangeQuote.

", - "refs": { - } - }, - "GetReservedInstancesExchangeQuoteResult": { - "base": "

Contains the output of GetReservedInstancesExchangeQuote.

", - "refs": { - } - }, - "GroupIdStringList": { - "base": null, - "refs": { - "AttachClassicLinkVpcRequest$Groups": "

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

", - "DescribeSecurityGroupsRequest$GroupIds": "

One or more security group IDs. Required for security groups in a nondefault VPC.

Default: Describes all your security groups.

", - "ModifyInstanceAttributeRequest$Groups": "

[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.

" - } - }, - "GroupIdentifier": { - "base": "

Describes a security group.

", - "refs": { - "GroupIdentifierList$member": null - } - }, - "GroupIdentifierList": { - "base": null, - "refs": { - "ClassicLinkInstance$Groups": "

A list of security groups.

", - "DescribeNetworkInterfaceAttributeResult$Groups": "

The security groups associated with the network interface.

", - "Instance$SecurityGroups": "

One or more security groups for the instance.

", - "InstanceAttribute$Groups": "

The security groups associated with the instance.

", - "InstanceNetworkInterface$Groups": "

One or more security groups.

", - "LaunchSpecification$SecurityGroups": "

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.

", - "NetworkInterface$Groups": "

Any security groups for the network interface.

", - "Reservation$Groups": "

[EC2-Classic only] One or more security groups.

", - "SpotFleetLaunchSpecification$SecurityGroups": "

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.

" - } - }, - "GroupIds": { - "base": null, - "refs": { - "DescribeSecurityGroupReferencesRequest$GroupId": "

One or more security group IDs in your account.

" - } - }, - "GroupNameStringList": { - "base": null, - "refs": { - "DescribeSecurityGroupsRequest$GroupNames": "

[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.

", - "ModifySnapshotAttributeRequest$GroupNames": "

The group to modify for the snapshot.

" - } - }, - "HistoryRecord": { - "base": "

Describes an event in the history of the Spot fleet request.

", - "refs": { - "HistoryRecords$member": null - } - }, - "HistoryRecords": { - "base": null, - "refs": { - "DescribeSpotFleetRequestHistoryResponse$HistoryRecords": "

Information about the events in the history of the Spot fleet request.

" - } - }, - "Host": { - "base": "

Describes the properties of the Dedicated Host.

", - "refs": { - "HostList$member": null - } - }, - "HostInstance": { - "base": "

Describes an instance running on a Dedicated Host.

", - "refs": { - "HostInstanceList$member": null - } - }, - "HostInstanceList": { - "base": null, - "refs": { - "Host$Instances": "

The IDs and instance type that are currently running on the Dedicated Host.

" - } - }, - "HostList": { - "base": null, - "refs": { - "DescribeHostsResult$Hosts": "

Information about the Dedicated Hosts.

" - } - }, - "HostOffering": { - "base": "

Details about the Dedicated Host Reservation offering.

", - "refs": { - "HostOfferingSet$member": null - } - }, - "HostOfferingSet": { - "base": null, - "refs": { - "DescribeHostReservationOfferingsResult$OfferingSet": "

Information about the offerings.

" - } - }, - "HostProperties": { - "base": "

Describes properties of a Dedicated Host.

", - "refs": { - "Host$HostProperties": "

The hardware specifications of the Dedicated Host.

" - } - }, - "HostReservation": { - "base": "

Details about the Dedicated Host Reservation and associated Dedicated Hosts.

", - "refs": { - "HostReservationSet$member": null - } - }, - "HostReservationIdSet": { - "base": null, - "refs": { - "DescribeHostReservationsRequest$HostReservationIdSet": "

One or more host reservation IDs.

" - } - }, - "HostReservationSet": { - "base": null, - "refs": { - "DescribeHostReservationsResult$HostReservationSet": "

Details about the reservation's configuration.

" - } - }, - "HostTenancy": { - "base": null, - "refs": { - "ModifyInstancePlacementRequest$Tenancy": "

The tenancy of the instance that you are modifying.

" - } - }, - "HypervisorType": { - "base": null, - "refs": { - "Image$Hypervisor": "

The hypervisor type of the image.

", - "Instance$Hypervisor": "

The hypervisor type of the instance.

" - } - }, - "IamInstanceProfile": { - "base": "

Describes an IAM instance profile.

", - "refs": { - "Instance$IamInstanceProfile": "

The IAM instance profile associated with the instance, if applicable.

" - } - }, - "IamInstanceProfileSpecification": { - "base": "

Describes an IAM instance profile.

", - "refs": { - "LaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

", - "RequestSpotLaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

", - "RunInstancesRequest$IamInstanceProfile": "

The IAM instance profile.

", - "SpotFleetLaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

" - } - }, - "IcmpTypeCode": { - "base": "

Describes the ICMP type and code.

", - "refs": { - "CreateNetworkAclEntryRequest$IcmpTypeCode": "

ICMP protocol: The ICMP type and code. Required if specifying ICMP for the protocol.

", - "NetworkAclEntry$IcmpTypeCode": "

ICMP protocol: The ICMP type and code.

", - "ReplaceNetworkAclEntryRequest$IcmpTypeCode": "

ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for the protocol.

" - } - }, - "IdFormat": { - "base": "

Describes the ID format for a resource.

", - "refs": { - "IdFormatList$member": null - } - }, - "IdFormatList": { - "base": null, - "refs": { - "DescribeIdFormatResult$Statuses": "

Information about the ID format for the resource.

", - "DescribeIdentityIdFormatResult$Statuses": "

Information about the ID format for the resources.

" - } - }, - "Image": { - "base": "

Describes an image.

", - "refs": { - "ImageList$member": null - } - }, - "ImageAttribute": { - "base": "

Describes an image attribute.

", - "refs": { - } - }, - "ImageAttributeName": { - "base": null, - "refs": { - "DescribeImageAttributeRequest$Attribute": "

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.

" - } - }, - "ImageDiskContainer": { - "base": "

Describes the disk container object for an import image task.

", - "refs": { - "ImageDiskContainerList$member": null - } - }, - "ImageDiskContainerList": { - "base": null, - "refs": { - "ImportImageRequest$DiskContainers": "

Information about the disk containers.

" - } - }, - "ImageIdStringList": { - "base": null, - "refs": { - "DescribeImagesRequest$ImageIds": "

One or more image IDs.

Default: Describes all images available to you.

" - } - }, - "ImageList": { - "base": null, - "refs": { - "DescribeImagesResult$Images": "

Information about one or more images.

" - } - }, - "ImageState": { - "base": null, - "refs": { - "Image$State": "

The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

" - } - }, - "ImageTypeValues": { - "base": null, - "refs": { - "Image$ImageType": "

The type of image.

" - } - }, - "ImportImageRequest": { - "base": "

Contains the parameters for ImportImage.

", - "refs": { - } - }, - "ImportImageResult": { - "base": "

Contains the output for ImportImage.

", - "refs": { - } - }, - "ImportImageTask": { - "base": "

Describes an import image task.

", - "refs": { - "ImportImageTaskList$member": null - } - }, - "ImportImageTaskList": { - "base": null, - "refs": { - "DescribeImportImageTasksResult$ImportImageTasks": "

A list of zero or more import image tasks that are currently active or were completed or canceled in the previous 7 days.

" - } - }, - "ImportInstanceLaunchSpecification": { - "base": "

Describes the launch specification for VM import.

", - "refs": { - "ImportInstanceRequest$LaunchSpecification": "

The launch specification.

" - } - }, - "ImportInstanceRequest": { - "base": "

Contains the parameters for ImportInstance.

", - "refs": { - } - }, - "ImportInstanceResult": { - "base": "

Contains the output for ImportInstance.

", - "refs": { - } - }, - "ImportInstanceTaskDetails": { - "base": "

Describes an import instance task.

", - "refs": { - "ConversionTask$ImportInstance": "

If the task is for importing an instance, this contains information about the import instance task.

" - } - }, - "ImportInstanceVolumeDetailItem": { - "base": "

Describes an import volume task.

", - "refs": { - "ImportInstanceVolumeDetailSet$member": null - } - }, - "ImportInstanceVolumeDetailSet": { - "base": null, - "refs": { - "ImportInstanceTaskDetails$Volumes": "

One or more volumes.

" - } - }, - "ImportKeyPairRequest": { - "base": "

Contains the parameters for ImportKeyPair.

", - "refs": { - } - }, - "ImportKeyPairResult": { - "base": "

Contains the output of ImportKeyPair.

", - "refs": { - } - }, - "ImportSnapshotRequest": { - "base": "

Contains the parameters for ImportSnapshot.

", - "refs": { - } - }, - "ImportSnapshotResult": { - "base": "

Contains the output for ImportSnapshot.

", - "refs": { - } - }, - "ImportSnapshotTask": { - "base": "

Describes an import snapshot task.

", - "refs": { - "ImportSnapshotTaskList$member": null - } - }, - "ImportSnapshotTaskList": { - "base": null, - "refs": { - "DescribeImportSnapshotTasksResult$ImportSnapshotTasks": "

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the previous 7 days.

" - } - }, - "ImportTaskIdList": { - "base": null, - "refs": { - "DescribeImportImageTasksRequest$ImportTaskIds": "

A list of import image task IDs.

", - "DescribeImportSnapshotTasksRequest$ImportTaskIds": "

A list of import snapshot task IDs.

" - } - }, - "ImportVolumeRequest": { - "base": "

Contains the parameters for ImportVolume.

", - "refs": { - } - }, - "ImportVolumeResult": { - "base": "

Contains the output for ImportVolume.

", - "refs": { - } - }, - "ImportVolumeTaskDetails": { - "base": "

Describes an import volume task.

", - "refs": { - "ConversionTask$ImportVolume": "

If the task is for importing a volume, this contains information about the import volume task.

" - } - }, - "Instance": { - "base": "

Describes an instance.

", - "refs": { - "InstanceList$member": null - } - }, - "InstanceAttribute": { - "base": "

Describes an instance attribute.

", - "refs": { - } - }, - "InstanceAttributeName": { - "base": null, - "refs": { - "DescribeInstanceAttributeRequest$Attribute": "

The instance attribute.

Note: The enaSupport attribute is not supported at this time.

", - "ModifyInstanceAttributeRequest$Attribute": "

The name of the attribute.

", - "ResetInstanceAttributeRequest$Attribute": "

The attribute to reset.

You can only reset the following attributes: kernel | ramdisk | sourceDestCheck. To change an instance attribute, use ModifyInstanceAttribute.

" - } - }, - "InstanceBlockDeviceMapping": { - "base": "

Describes a block device mapping.

", - "refs": { - "InstanceBlockDeviceMappingList$member": null - } - }, - "InstanceBlockDeviceMappingList": { - "base": null, - "refs": { - "Instance$BlockDeviceMappings": "

Any block device mapping entries for the instance.

", - "InstanceAttribute$BlockDeviceMappings": "

The block device mapping of the instance.

" - } - }, - "InstanceBlockDeviceMappingSpecification": { - "base": "

Describes a block device mapping entry.

", - "refs": { - "InstanceBlockDeviceMappingSpecificationList$member": null - } - }, - "InstanceBlockDeviceMappingSpecificationList": { - "base": null, - "refs": { - "ModifyInstanceAttributeRequest$BlockDeviceMappings": "

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.

" - } - }, - "InstanceCapacity": { - "base": "

Information about the instance type that the Dedicated Host supports.

", - "refs": { - "AvailableInstanceCapacityList$member": null - } - }, - "InstanceCount": { - "base": "

Describes a Reserved Instance listing state.

", - "refs": { - "InstanceCountList$member": null - } - }, - "InstanceCountList": { - "base": null, - "refs": { - "ReservedInstancesListing$InstanceCounts": "

The number of instances in this state.

" - } - }, - "InstanceExportDetails": { - "base": "

Describes an instance to export.

", - "refs": { - "ExportTask$InstanceExportDetails": "

Information about the instance to export.

" - } - }, - "InstanceIdSet": { - "base": null, - "refs": { - "RunScheduledInstancesResult$InstanceIdSet": "

The IDs of the newly launched instances.

" - } - }, - "InstanceIdStringList": { - "base": null, - "refs": { - "DescribeClassicLinkInstancesRequest$InstanceIds": "

One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

", - "DescribeInstanceStatusRequest$InstanceIds": "

One or more instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

", - "DescribeInstancesRequest$InstanceIds": "

One or more instance IDs.

Default: Describes all your instances.

", - "MonitorInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "RebootInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "ReportInstanceStatusRequest$Instances": "

One or more instances.

", - "StartInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "StopInstancesRequest$InstanceIds": "

One or more instance IDs.

", - "TerminateInstancesRequest$InstanceIds": "

One or more instance IDs.

Constraints: Up to 1000 instance IDs. We recommend breaking up this request into smaller batches.

", - "UnmonitorInstancesRequest$InstanceIds": "

One or more instance IDs.

" - } - }, - "InstanceLifecycleType": { - "base": null, - "refs": { - "Instance$InstanceLifecycle": "

Indicates whether this is a Spot instance or a Scheduled Instance.

" - } - }, - "InstanceList": { - "base": null, - "refs": { - "Reservation$Instances": "

One or more instances.

" - } - }, - "InstanceMonitoring": { - "base": "

Describes the monitoring information of the instance.

", - "refs": { - "InstanceMonitoringList$member": null - } - }, - "InstanceMonitoringList": { - "base": null, - "refs": { - "MonitorInstancesResult$InstanceMonitorings": "

Monitoring information for one or more instances.

", - "UnmonitorInstancesResult$InstanceMonitorings": "

Monitoring information for one or more instances.

" - } - }, - "InstanceNetworkInterface": { - "base": "

Describes a network interface.

", - "refs": { - "InstanceNetworkInterfaceList$member": null - } - }, - "InstanceNetworkInterfaceAssociation": { - "base": "

Describes association information for an Elastic IP address.

", - "refs": { - "InstanceNetworkInterface$Association": "

The association information for an Elastic IP associated with the network interface.

", - "InstancePrivateIpAddress$Association": "

The association information for an Elastic IP address for the network interface.

" - } - }, - "InstanceNetworkInterfaceAttachment": { - "base": "

Describes a network interface attachment.

", - "refs": { - "InstanceNetworkInterface$Attachment": "

The network interface attachment.

" - } - }, - "InstanceNetworkInterfaceList": { - "base": null, - "refs": { - "Instance$NetworkInterfaces": "

[EC2-VPC] One or more network interfaces for the instance.

" - } - }, - "InstanceNetworkInterfaceSpecification": { - "base": "

Describes a network interface.

", - "refs": { - "InstanceNetworkInterfaceSpecificationList$member": null - } - }, - "InstanceNetworkInterfaceSpecificationList": { - "base": null, - "refs": { - "LaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

", - "RequestSpotLaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

", - "RunInstancesRequest$NetworkInterfaces": "

One or more network interfaces.

", - "SpotFleetLaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

" - } - }, - "InstancePrivateIpAddress": { - "base": "

Describes a private IP address.

", - "refs": { - "InstancePrivateIpAddressList$member": null - } - }, - "InstancePrivateIpAddressList": { - "base": null, - "refs": { - "InstanceNetworkInterface$PrivateIpAddresses": "

The private IP addresses associated with the network interface.

" - } - }, - "InstanceState": { - "base": "

Describes the current state of the instance.

", - "refs": { - "Instance$State": "

The current state of the instance.

", - "InstanceStateChange$CurrentState": "

The current state of the instance.

", - "InstanceStateChange$PreviousState": "

The previous state of the instance.

", - "InstanceStatus$InstanceState": "

The intended state of the instance. DescribeInstanceStatus requires that an instance be in the running state.

" - } - }, - "InstanceStateChange": { - "base": "

Describes an instance state change.

", - "refs": { - "InstanceStateChangeList$member": null - } - }, - "InstanceStateChangeList": { - "base": null, - "refs": { - "StartInstancesResult$StartingInstances": "

Information about one or more started instances.

", - "StopInstancesResult$StoppingInstances": "

Information about one or more stopped instances.

", - "TerminateInstancesResult$TerminatingInstances": "

Information about one or more terminated instances.

" - } - }, - "InstanceStateName": { - "base": null, - "refs": { - "InstanceState$Name": "

The current state of the instance.

" - } - }, - "InstanceStatus": { - "base": "

Describes the status of an instance.

", - "refs": { - "InstanceStatusList$member": null - } - }, - "InstanceStatusDetails": { - "base": "

Describes the instance status.

", - "refs": { - "InstanceStatusDetailsList$member": null - } - }, - "InstanceStatusDetailsList": { - "base": null, - "refs": { - "InstanceStatusSummary$Details": "

The system instance health or application instance health.

" - } - }, - "InstanceStatusEvent": { - "base": "

Describes a scheduled event for an instance.

", - "refs": { - "InstanceStatusEventList$member": null - } - }, - "InstanceStatusEventList": { - "base": null, - "refs": { - "InstanceStatus$Events": "

Any scheduled events associated with the instance.

" - } - }, - "InstanceStatusList": { - "base": null, - "refs": { - "DescribeInstanceStatusResult$InstanceStatuses": "

One or more instance status descriptions.

" - } - }, - "InstanceStatusSummary": { - "base": "

Describes the status of an instance.

", - "refs": { - "InstanceStatus$SystemStatus": "

Reports impaired functionality that stems from issues related to the systems that support an instance, such as hardware failures and network connectivity problems.

", - "InstanceStatus$InstanceStatus": "

Reports impaired functionality that stems from issues internal to the instance, such as impaired reachability.

" - } - }, - "InstanceType": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$InstanceType": "

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.

", - "ImportInstanceLaunchSpecification$InstanceType": "

The instance type. For more information about the instance types that you can import, see Instance Types in the VM Import/Export User Guide.

", - "Instance$InstanceType": "

The instance type.

", - "InstanceTypeList$member": null, - "LaunchSpecification$InstanceType": "

The instance type.

", - "RequestSpotLaunchSpecification$InstanceType": "

The instance type.

", - "ReservedInstances$InstanceType": "

The instance type on which the Reserved Instance can be used.

", - "ReservedInstancesConfiguration$InstanceType": "

The instance type for the modified Reserved Instances.

", - "ReservedInstancesOffering$InstanceType": "

The instance type on which the Reserved Instance can be used.

", - "RunInstancesRequest$InstanceType": "

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

Default: m1.small

", - "SpotFleetLaunchSpecification$InstanceType": "

The instance type.

", - "SpotPrice$InstanceType": "

The instance type.

" - } - }, - "InstanceTypeList": { - "base": null, - "refs": { - "DescribeSpotPriceHistoryRequest$InstanceTypes": "

Filters the results by the specified instance types.

" - } - }, - "Integer": { - "base": null, - "refs": { - "AllocateHostsRequest$Quantity": "

The number of Dedicated Hosts you want to allocate to your account with these parameters.

", - "AssignPrivateIpAddressesRequest$SecondaryPrivateIpAddressCount": "

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", - "AttachNetworkInterfaceRequest$DeviceIndex": "

The index of the device for the network interface attachment.

", - "AuthorizeSecurityGroupEgressRequest$FromPort": "

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.

", - "AuthorizeSecurityGroupEgressRequest$ToPort": "

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.

", - "AuthorizeSecurityGroupIngressRequest$FromPort": "

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.

", - "AuthorizeSecurityGroupIngressRequest$ToPort": "

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.

", - "AvailableCapacity$AvailableVCpus": "

The number of vCPUs available on the Dedicated Host.

", - "CreateCustomerGatewayRequest$BgpAsn": "

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

", - "CreateNetworkAclEntryRequest$RuleNumber": "

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.

", - "CreateNetworkInterfaceRequest$SecondaryPrivateIpAddressCount": "

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.

", - "CreateReservedInstancesListingRequest$InstanceCount": "

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.

", - "CreateVolumeRequest$Size": "

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.

", - "CreateVolumeRequest$Iops": "

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

", - "DeleteNetworkAclEntryRequest$RuleNumber": "

The rule number of the entry to delete.

", - "DescribeClassicLinkInstancesRequest$MaxResults": "

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.

", - "DescribeFlowLogsRequest$MaxResults": "

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.

", - "DescribeHostReservationOfferingsRequest$MinDuration": "

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.

", - "DescribeHostReservationOfferingsRequest$MaxDuration": "

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.

", - "DescribeHostReservationOfferingsRequest$MaxResults": "

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.

", - "DescribeHostReservationsRequest$MaxResults": "

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.

", - "DescribeHostsRequest$MaxResults": "

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.

", - "DescribeImportImageTasksRequest$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

", - "DescribeImportSnapshotTasksRequest$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

", - "DescribeInstanceStatusRequest$MaxResults": "

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.

", - "DescribeInstancesRequest$MaxResults": "

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.

", - "DescribeMovingAddressesRequest$MaxResults": "

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.

", - "DescribeNatGatewaysRequest$MaxResults": "

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.

", - "DescribePrefixListsRequest$MaxResults": "

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.

", - "DescribeReservedInstancesOfferingsRequest$MaxResults": "

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

", - "DescribeReservedInstancesOfferingsRequest$MaxInstanceCount": "

The maximum number of instances to filter when searching for offerings.

Default: 20

", - "DescribeScheduledInstanceAvailabilityRequest$MinSlotDurationInHours": "

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.

", - "DescribeScheduledInstanceAvailabilityRequest$MaxSlotDurationInHours": "

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours and less than 1,720.

", - "DescribeScheduledInstanceAvailabilityRequest$MaxResults": "

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.

", - "DescribeScheduledInstancesRequest$MaxResults": "

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.

", - "DescribeSnapshotsRequest$MaxResults": "

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.

", - "DescribeSpotFleetInstancesRequest$MaxResults": "

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.

", - "DescribeSpotFleetRequestHistoryRequest$MaxResults": "

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.

", - "DescribeSpotFleetRequestsRequest$MaxResults": "

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.

", - "DescribeSpotPriceHistoryRequest$MaxResults": "

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.

", - "DescribeTagsRequest$MaxResults": "

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.

", - "DescribeVolumeStatusRequest$MaxResults": "

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.

", - "DescribeVolumesRequest$MaxResults": "

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.

", - "DescribeVpcEndpointServicesRequest$MaxResults": "

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.

", - "DescribeVpcEndpointsRequest$MaxResults": "

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.

", - "EbsBlockDevice$VolumeSize": "

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.

", - "EbsBlockDevice$Iops": "

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.

", - "HostOffering$Duration": "

The duration of the offering (in seconds).

", - "HostProperties$Sockets": "

The number of sockets on the Dedicated Host.

", - "HostProperties$Cores": "

The number of cores on the Dedicated Host.

", - "HostProperties$TotalVCpus": "

The number of vCPUs on the Dedicated Host.

", - "HostReservation$Count": "

The number of Dedicated Hosts the reservation is associated with.

", - "HostReservation$Duration": "

The length of the reservation's term, specified in seconds. Can be 31536000 (1 year) | 94608000 (3 years).

", - "IcmpTypeCode$Type": "

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", - "IcmpTypeCode$Code": "

The ICMP type. A value of -1 means all types.

", - "Instance$AmiLaunchIndex": "

The AMI launch index, which can be used to find this instance in the launch group.

", - "InstanceCapacity$AvailableCapacity": "

The number of instances that can still be launched onto the Dedicated Host.

", - "InstanceCapacity$TotalCapacity": "

The total number of instances that can be launched onto the Dedicated Host.

", - "InstanceCount$InstanceCount": "

The number of listed Reserved Instances in the state specified by the state.

", - "InstanceNetworkInterfaceAttachment$DeviceIndex": "

The index of the device on the instance for the network interface attachment.

", - "InstanceNetworkInterfaceSpecification$DeviceIndex": "

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.

", - "InstanceNetworkInterfaceSpecification$SecondaryPrivateIpAddressCount": "

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.

", - "InstanceState$Code": "

The low byte represents the state. The high byte is an opaque internal value and should be ignored.

", - "IpPermission$FromPort": "

The start of port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "IpPermission$ToPort": "

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.

", - "ModifySpotFleetRequestRequest$TargetCapacity": "

The size of the fleet.

", - "NetworkAclEntry$RuleNumber": "

The rule number for the entry. ACL entries are processed in ascending order by rule number.

", - "NetworkInterfaceAttachment$DeviceIndex": "

The device index of the network interface attachment on the instance.

", - "OccurrenceDayRequestSet$member": null, - "OccurrenceDaySet$member": null, - "PortRange$From": "

The first port in the range.

", - "PortRange$To": "

The last port in the range.

", - "PricingDetail$Count": "

The number of reservations available for the price.

", - "Purchase$Duration": "

The duration of the reservation's term in seconds.

", - "PurchaseRequest$InstanceCount": "

The number of instances.

", - "PurchaseReservedInstancesOfferingRequest$InstanceCount": "

The number of Reserved Instances to purchase.

", - "ReplaceNetworkAclEntryRequest$RuleNumber": "

The rule number of the entry to replace.

", - "RequestSpotInstancesRequest$InstanceCount": "

The maximum number of Spot instances to launch.

Default: 1

", - "RequestSpotInstancesRequest$BlockDurationMinutes": "

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.

", - "ReservedInstances$InstanceCount": "

The number of reservations purchased.

", - "ReservedInstancesConfiguration$InstanceCount": "

The number of modified Reserved Instances.

", - "RevokeSecurityGroupEgressRequest$FromPort": "

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.

", - "RevokeSecurityGroupEgressRequest$ToPort": "

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.

", - "RevokeSecurityGroupIngressRequest$FromPort": "

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.

", - "RevokeSecurityGroupIngressRequest$ToPort": "

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.

", - "RunInstancesRequest$MinCount": "

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.

", - "RunInstancesRequest$MaxCount": "

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.

", - "RunScheduledInstancesRequest$InstanceCount": "

The number of instances.

Default: 1

", - "ScheduledInstance$SlotDurationInHours": "

The number of hours in the schedule.

", - "ScheduledInstance$TotalScheduledInstanceHours": "

The total number of hours for a single instance for the entire term.

", - "ScheduledInstance$InstanceCount": "

The number of instances.

", - "ScheduledInstanceAvailability$SlotDurationInHours": "

The number of hours in the schedule.

", - "ScheduledInstanceAvailability$TotalScheduledInstanceHours": "

The total number of hours for a single instance for the entire term.

", - "ScheduledInstanceAvailability$AvailableInstanceCount": "

The number of available instances.

", - "ScheduledInstanceAvailability$MinTermDurationInDays": "

The minimum term. The only possible value is 365 days.

", - "ScheduledInstanceAvailability$MaxTermDurationInDays": "

The maximum term. The only possible value is 365 days.

", - "ScheduledInstanceRecurrence$Interval": "

The interval quantity. The interval unit depends on the value of frequency. For example, every 2 weeks or every 2 months.

", - "ScheduledInstanceRecurrenceRequest$Interval": "

The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 weeks or every 2 months.

", - "ScheduledInstancesEbs$VolumeSize": "

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.

", - "ScheduledInstancesEbs$Iops": "

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.

", - "ScheduledInstancesNetworkInterface$DeviceIndex": "

The index of the device for the network interface attachment.

", - "ScheduledInstancesNetworkInterface$SecondaryPrivateIpAddressCount": "

The number of secondary private IP addresses.

", - "Snapshot$VolumeSize": "

The size of the volume, in GiB.

", - "SpotFleetRequestConfigData$TargetCapacity": "

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.

", - "SpotInstanceRequest$BlockDurationMinutes": "

The duration for the Spot instance, in minutes.

", - "StaleIpPermission$FromPort": "

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.

", - "StaleIpPermission$ToPort": "

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.

", - "Subnet$AvailableIpAddressCount": "

The number of unused IP addresses in the subnet. Note that the IP addresses for any stopped instances are considered unavailable.

", - "TargetConfiguration$InstanceCount": "

The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is reserved and cannot be specified in a request

", - "TargetConfigurationRequest$InstanceCount": "

The number of instances the Covertible Reserved Instance offering can be applied to. This parameter is reserved and cannot be specified in a request

", - "VgwTelemetry$AcceptedRouteCount": "

The number of accepted routes.

", - "Volume$Size": "

The size of the volume, in GiBs.

", - "Volume$Iops": "

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.

" - } - }, - "InternetGateway": { - "base": "

Describes an Internet gateway.

", - "refs": { - "CreateInternetGatewayResult$InternetGateway": "

Information about the Internet gateway.

", - "InternetGatewayList$member": null - } - }, - "InternetGatewayAttachment": { - "base": "

Describes the attachment of a VPC to an Internet gateway.

", - "refs": { - "InternetGatewayAttachmentList$member": null - } - }, - "InternetGatewayAttachmentList": { - "base": null, - "refs": { - "InternetGateway$Attachments": "

Any VPCs attached to the Internet gateway.

" - } - }, - "InternetGatewayList": { - "base": null, - "refs": { - "DescribeInternetGatewaysResult$InternetGateways": "

Information about one or more Internet gateways.

" - } - }, - "IpPermission": { - "base": "

Describes a security group rule.

", - "refs": { - "IpPermissionList$member": null - } - }, - "IpPermissionList": { - "base": null, - "refs": { - "AuthorizeSecurityGroupEgressRequest$IpPermissions": "

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

", - "AuthorizeSecurityGroupIngressRequest$IpPermissions": "

A set of IP permissions. Can be used to specify multiple rules in a single command.

", - "RevokeSecurityGroupEgressRequest$IpPermissions": "

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

", - "RevokeSecurityGroupIngressRequest$IpPermissions": "

A set of IP permissions. You can't specify a source security group and a CIDR IP address range.

", - "SecurityGroup$IpPermissions": "

One or more inbound rules associated with the security group.

", - "SecurityGroup$IpPermissionsEgress": "

[EC2-VPC] One or more outbound rules associated with the security group.

" - } - }, - "IpRange": { - "base": "

Describes an IP range.

", - "refs": { - "IpRangeList$member": null - } - }, - "IpRangeList": { - "base": null, - "refs": { - "IpPermission$IpRanges": "

One or more IP ranges.

" - } - }, - "IpRanges": { - "base": null, - "refs": { - "StaleIpPermission$IpRanges": "

One or more IP ranges. Not applicable for stale security group rules.

" - } - }, - "KeyNameStringList": { - "base": null, - "refs": { - "DescribeKeyPairsRequest$KeyNames": "

One or more key pair names.

Default: Describes all your key pairs.

" - } - }, - "KeyPair": { - "base": "

Describes a key pair.

", - "refs": { - } - }, - "KeyPairInfo": { - "base": "

Describes a key pair.

", - "refs": { - "KeyPairList$member": null - } - }, - "KeyPairList": { - "base": null, - "refs": { - "DescribeKeyPairsResult$KeyPairs": "

Information about one or more key pairs.

" - } - }, - "LaunchPermission": { - "base": "

Describes a launch permission.

", - "refs": { - "LaunchPermissionList$member": null - } - }, - "LaunchPermissionList": { - "base": null, - "refs": { - "ImageAttribute$LaunchPermissions": "

One or more launch permissions.

", - "LaunchPermissionModifications$Add": "

The AWS account ID to add to the list of launch permissions for the AMI.

", - "LaunchPermissionModifications$Remove": "

The AWS account ID to remove from the list of launch permissions for the AMI.

" - } - }, - "LaunchPermissionModifications": { - "base": "

Describes a launch permission modification.

", - "refs": { - "ModifyImageAttributeRequest$LaunchPermission": "

A launch permission modification.

" - } - }, - "LaunchSpecification": { - "base": "

Describes the launch specification for an instance.

", - "refs": { - "SpotInstanceRequest$LaunchSpecification": "

Additional information for launching instances.

" - } - }, - "LaunchSpecsList": { - "base": null, - "refs": { - "SpotFleetRequestConfigData$LaunchSpecifications": "

Information about the launch specifications for the Spot fleet request.

" - } - }, - "ListingState": { - "base": null, - "refs": { - "InstanceCount$State": "

The states of the listed Reserved Instances.

" - } - }, - "ListingStatus": { - "base": null, - "refs": { - "ReservedInstancesListing$Status": "

The status of the Reserved Instance listing.

" - } - }, - "Long": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$MinDuration": "

The minimum duration (in seconds) to filter when searching for offerings.

Default: 2592000 (1 month)

", - "DescribeReservedInstancesOfferingsRequest$MaxDuration": "

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

", - "DiskImageDescription$Size": "

The size of the disk image, in GiB.

", - "DiskImageDetail$Bytes": "

The size of the disk image, in GiB.

", - "DiskImageVolumeDescription$Size": "

The size of the volume, in GiB.

", - "ImportInstanceVolumeDetailItem$BytesConverted": "

The number of bytes converted so far.

", - "ImportVolumeTaskDetails$BytesConverted": "

The number of bytes converted so far.

", - "PriceSchedule$Term": "

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "PriceScheduleSpecification$Term": "

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "ReservedInstances$Duration": "

The duration of the Reserved Instance, in seconds.

", - "ReservedInstancesOffering$Duration": "

The duration of the Reserved Instance, in seconds.

", - "VolumeDetail$Size": "

The size of the volume, in GiB.

" - } - }, - "MaxResults": { - "base": null, - "refs": { - "DescribeStaleSecurityGroupsRequest$MaxResults": "

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.

", - "DescribeVpcClassicLinkDnsSupportRequest$MaxResults": "

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.

" - } - }, - "ModifyHostsRequest": { - "base": "

Contains the parameters for ModifyHosts.

", - "refs": { - } - }, - "ModifyHostsResult": { - "base": "

Contains the output of ModifyHosts.

", - "refs": { - } - }, - "ModifyIdFormatRequest": { - "base": "

Contains the parameters of ModifyIdFormat.

", - "refs": { - } - }, - "ModifyIdentityIdFormatRequest": { - "base": "

Contains the parameters of ModifyIdentityIdFormat.

", - "refs": { - } - }, - "ModifyImageAttributeRequest": { - "base": "

Contains the parameters for ModifyImageAttribute.

", - "refs": { - } - }, - "ModifyInstanceAttributeRequest": { - "base": "

Contains the parameters for ModifyInstanceAttribute.

", - "refs": { - } - }, - "ModifyInstancePlacementRequest": { - "base": "

Contains the parameters for ModifyInstancePlacement.

", - "refs": { - } - }, - "ModifyInstancePlacementResult": { - "base": "

Contains the output of ModifyInstancePlacement.

", - "refs": { - } - }, - "ModifyNetworkInterfaceAttributeRequest": { - "base": "

Contains the parameters for ModifyNetworkInterfaceAttribute.

", - "refs": { - } - }, - "ModifyReservedInstancesRequest": { - "base": "

Contains the parameters for ModifyReservedInstances.

", - "refs": { - } - }, - "ModifyReservedInstancesResult": { - "base": "

Contains the output of ModifyReservedInstances.

", - "refs": { - } - }, - "ModifySnapshotAttributeRequest": { - "base": "

Contains the parameters for ModifySnapshotAttribute.

", - "refs": { - } - }, - "ModifySpotFleetRequestRequest": { - "base": "

Contains the parameters for ModifySpotFleetRequest.

", - "refs": { - } - }, - "ModifySpotFleetRequestResponse": { - "base": "

Contains the output of ModifySpotFleetRequest.

", - "refs": { - } - }, - "ModifySubnetAttributeRequest": { - "base": "

Contains the parameters for ModifySubnetAttribute.

", - "refs": { - } - }, - "ModifyVolumeAttributeRequest": { - "base": "

Contains the parameters for ModifyVolumeAttribute.

", - "refs": { - } - }, - "ModifyVpcAttributeRequest": { - "base": "

Contains the parameters for ModifyVpcAttribute.

", - "refs": { - } - }, - "ModifyVpcEndpointRequest": { - "base": "

Contains the parameters for ModifyVpcEndpoint.

", - "refs": { - } - }, - "ModifyVpcEndpointResult": { - "base": "

Contains the output of ModifyVpcEndpoint.

", - "refs": { - } - }, - "ModifyVpcPeeringConnectionOptionsRequest": { - "base": null, - "refs": { - } - }, - "ModifyVpcPeeringConnectionOptionsResult": { - "base": null, - "refs": { - } - }, - "MonitorInstancesRequest": { - "base": "

Contains the parameters for MonitorInstances.

", - "refs": { - } - }, - "MonitorInstancesResult": { - "base": "

Contains the output of MonitorInstances.

", - "refs": { - } - }, - "Monitoring": { - "base": "

Describes the monitoring for the instance.

", - "refs": { - "Instance$Monitoring": "

The monitoring information for the instance.

", - "InstanceMonitoring$Monitoring": "

The monitoring information.

" - } - }, - "MonitoringState": { - "base": null, - "refs": { - "Monitoring$State": "

Indicates whether monitoring is enabled for the instance.

" - } - }, - "MoveAddressToVpcRequest": { - "base": "

Contains the parameters for MoveAddressToVpc.

", - "refs": { - } - }, - "MoveAddressToVpcResult": { - "base": "

Contains the output of MoveAddressToVpc.

", - "refs": { - } - }, - "MoveStatus": { - "base": null, - "refs": { - "MovingAddressStatus$MoveStatus": "

The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

" - } - }, - "MovingAddressStatus": { - "base": "

Describes the status of a moving Elastic IP address.

", - "refs": { - "MovingAddressStatusSet$member": null - } - }, - "MovingAddressStatusSet": { - "base": null, - "refs": { - "DescribeMovingAddressesResult$MovingAddressStatuses": "

The status for each Elastic IP address.

" - } - }, - "NatGateway": { - "base": "

Describes a NAT gateway.

", - "refs": { - "CreateNatGatewayResult$NatGateway": "

Information about the NAT gateway.

", - "NatGatewayList$member": null - } - }, - "NatGatewayAddress": { - "base": "

Describes the IP addresses and network interface associated with a NAT gateway.

", - "refs": { - "NatGatewayAddressList$member": null - } - }, - "NatGatewayAddressList": { - "base": null, - "refs": { - "NatGateway$NatGatewayAddresses": "

Information about the IP addresses and network interface associated with the NAT gateway.

" - } - }, - "NatGatewayList": { - "base": null, - "refs": { - "DescribeNatGatewaysResult$NatGateways": "

Information about the NAT gateways.

" - } - }, - "NatGatewayState": { - "base": null, - "refs": { - "NatGateway$State": "

The state of the NAT gateway.

" - } - }, - "NetworkAcl": { - "base": "

Describes a network ACL.

", - "refs": { - "CreateNetworkAclResult$NetworkAcl": "

Information about the network ACL.

", - "NetworkAclList$member": null - } - }, - "NetworkAclAssociation": { - "base": "

Describes an association between a network ACL and a subnet.

", - "refs": { - "NetworkAclAssociationList$member": null - } - }, - "NetworkAclAssociationList": { - "base": null, - "refs": { - "NetworkAcl$Associations": "

Any associations between the network ACL and one or more subnets

" - } - }, - "NetworkAclEntry": { - "base": "

Describes an entry in a network ACL.

", - "refs": { - "NetworkAclEntryList$member": null - } - }, - "NetworkAclEntryList": { - "base": null, - "refs": { - "NetworkAcl$Entries": "

One or more entries (rules) in the network ACL.

" - } - }, - "NetworkAclList": { - "base": null, - "refs": { - "DescribeNetworkAclsResult$NetworkAcls": "

Information about one or more network ACLs.

" - } - }, - "NetworkInterface": { - "base": "

Describes a network interface.

", - "refs": { - "CreateNetworkInterfaceResult$NetworkInterface": "

Information about the network interface.

", - "NetworkInterfaceList$member": null - } - }, - "NetworkInterfaceAssociation": { - "base": "

Describes association information for an Elastic IP address.

", - "refs": { - "NetworkInterface$Association": "

The association information for an Elastic IP associated with the network interface.

", - "NetworkInterfacePrivateIpAddress$Association": "

The association information for an Elastic IP address associated with the network interface.

" - } - }, - "NetworkInterfaceAttachment": { - "base": "

Describes a network interface attachment.

", - "refs": { - "DescribeNetworkInterfaceAttributeResult$Attachment": "

The attachment (if any) of the network interface.

", - "NetworkInterface$Attachment": "

The network interface attachment.

" - } - }, - "NetworkInterfaceAttachmentChanges": { - "base": "

Describes an attachment change.

", - "refs": { - "ModifyNetworkInterfaceAttributeRequest$Attachment": "

Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

" - } - }, - "NetworkInterfaceAttribute": { - "base": null, - "refs": { - "DescribeNetworkInterfaceAttributeRequest$Attribute": "

The attribute of the network interface.

" - } - }, - "NetworkInterfaceIdList": { - "base": null, - "refs": { - "DescribeNetworkInterfacesRequest$NetworkInterfaceIds": "

One or more network interface IDs.

Default: Describes all your network interfaces.

" - } - }, - "NetworkInterfaceList": { - "base": null, - "refs": { - "DescribeNetworkInterfacesResult$NetworkInterfaces": "

Information about one or more network interfaces.

" - } - }, - "NetworkInterfacePrivateIpAddress": { - "base": "

Describes the private IP address of a network interface.

", - "refs": { - "NetworkInterfacePrivateIpAddressList$member": null - } - }, - "NetworkInterfacePrivateIpAddressList": { - "base": null, - "refs": { - "NetworkInterface$PrivateIpAddresses": "

The private IP addresses associated with the network interface.

" - } - }, - "NetworkInterfaceStatus": { - "base": null, - "refs": { - "InstanceNetworkInterface$Status": "

The status of the network interface.

", - "NetworkInterface$Status": "

The status of the network interface.

" - } - }, - "NetworkInterfaceType": { - "base": null, - "refs": { - "NetworkInterface$InterfaceType": "

The type of interface.

" - } - }, - "NewDhcpConfiguration": { - "base": null, - "refs": { - "NewDhcpConfigurationList$member": null - } - }, - "NewDhcpConfigurationList": { - "base": null, - "refs": { - "CreateDhcpOptionsRequest$DhcpConfigurations": "

A DHCP configuration option.

" - } - }, - "NextToken": { - "base": null, - "refs": { - "DescribeStaleSecurityGroupsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcClassicLinkDnsSupportRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcClassicLinkDnsSupportResult$NextToken": "

The token to use when requesting the next set of items.

" - } - }, - "OccurrenceDayRequestSet": { - "base": null, - "refs": { - "ScheduledInstanceRecurrenceRequest$OccurrenceDays": "

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.

" - } - }, - "OccurrenceDaySet": { - "base": null, - "refs": { - "ScheduledInstanceRecurrence$OccurrenceDaySet": "

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).

" - } - }, - "OfferingClassType": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$OfferingClass": "

The offering class of the Reserved Instance. Can be standard or convertible.

", - "DescribeReservedInstancesRequest$OfferingClass": "

Describes whether the Reserved Instance is Standard or Convertible.

", - "ReservedInstances$OfferingClass": "

The offering class of the Reserved Instance.

", - "ReservedInstancesOffering$OfferingClass": "

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.

" - } - }, - "OfferingTypeValues": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$OfferingType": "

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.

", - "DescribeReservedInstancesRequest$OfferingType": "

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.

", - "ReservedInstances$OfferingType": "

The Reserved Instance offering type.

", - "ReservedInstancesOffering$OfferingType": "

The Reserved Instance offering type.

" - } - }, - "OperationType": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$OperationType": "

The operation type.

", - "ModifySnapshotAttributeRequest$OperationType": "

The type of operation to perform to the attribute.

" - } - }, - "OwnerStringList": { - "base": null, - "refs": { - "DescribeImagesRequest$Owners": "

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.

", - "DescribeSnapshotsRequest$OwnerIds": "

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

" - } - }, - "PaymentOption": { - "base": null, - "refs": { - "HostOffering$PaymentOption": "

The available payment option.

", - "HostReservation$PaymentOption": "

The payment option selected for this reservation.

", - "Purchase$PaymentOption": "

The payment option for the reservation.

" - } - }, - "PeeringConnectionOptions": { - "base": "

Describes the VPC peering connection options.

", - "refs": { - "ModifyVpcPeeringConnectionOptionsResult$RequesterPeeringConnectionOptions": "

Information about the VPC peering connection options for the requester VPC.

", - "ModifyVpcPeeringConnectionOptionsResult$AccepterPeeringConnectionOptions": "

Information about the VPC peering connection options for the accepter VPC.

" - } - }, - "PeeringConnectionOptionsRequest": { - "base": "

The VPC peering connection options.

", - "refs": { - "ModifyVpcPeeringConnectionOptionsRequest$RequesterPeeringConnectionOptions": "

The VPC peering connection options for the requester VPC.

", - "ModifyVpcPeeringConnectionOptionsRequest$AccepterPeeringConnectionOptions": "

The VPC peering connection options for the accepter VPC.

" - } - }, - "PermissionGroup": { - "base": null, - "refs": { - "CreateVolumePermission$Group": "

The specific group that is to be added or removed from a volume's list of create volume permissions.

", - "LaunchPermission$Group": "

The name of the group.

" - } - }, - "Placement": { - "base": "

Describes the placement for the instance.

", - "refs": { - "ImportInstanceLaunchSpecification$Placement": "

The placement information for the instance.

", - "Instance$Placement": "

The location where the instance launched, if applicable.

", - "RunInstancesRequest$Placement": "

The placement for the instance.

" - } - }, - "PlacementGroup": { - "base": "

Describes a placement group.

", - "refs": { - "PlacementGroupList$member": null - } - }, - "PlacementGroupList": { - "base": null, - "refs": { - "DescribePlacementGroupsResult$PlacementGroups": "

One or more placement groups.

" - } - }, - "PlacementGroupState": { - "base": null, - "refs": { - "PlacementGroup$State": "

The state of the placement group.

" - } - }, - "PlacementGroupStringList": { - "base": null, - "refs": { - "DescribePlacementGroupsRequest$GroupNames": "

One or more placement group names.

Default: Describes all your placement groups, or only those otherwise specified.

" - } - }, - "PlacementStrategy": { - "base": null, - "refs": { - "CreatePlacementGroupRequest$Strategy": "

The placement strategy.

", - "PlacementGroup$Strategy": "

The placement strategy.

" - } - }, - "PlatformValues": { - "base": null, - "refs": { - "Image$Platform": "

The value is Windows for Windows AMIs; otherwise blank.

", - "ImportInstanceRequest$Platform": "

The instance operating system.

", - "ImportInstanceTaskDetails$Platform": "

The instance operating system.

", - "Instance$Platform": "

The value is Windows for Windows instances; otherwise blank.

" - } - }, - "PortRange": { - "base": "

Describes a range of ports.

", - "refs": { - "CreateNetworkAclEntryRequest$PortRange": "

TCP or UDP protocols: The range of ports the rule applies to.

", - "NetworkAclEntry$PortRange": "

TCP or UDP protocols: The range of ports the rule applies to.

", - "ReplaceNetworkAclEntryRequest$PortRange": "

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying 6 (TCP) or 17 (UDP) for the protocol.

" - } - }, - "PrefixList": { - "base": "

Describes prefixes for AWS services.

", - "refs": { - "PrefixListSet$member": null - } - }, - "PrefixListId": { - "base": "

The ID of the prefix.

", - "refs": { - "PrefixListIdList$member": null - } - }, - "PrefixListIdList": { - "base": null, - "refs": { - "IpPermission$PrefixListIds": "

(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.

" - } - }, - "PrefixListIdSet": { - "base": null, - "refs": { - "StaleIpPermission$PrefixListIds": "

One or more prefix list IDs for an AWS service. Not applicable for stale security group rules.

" - } - }, - "PrefixListSet": { - "base": null, - "refs": { - "DescribePrefixListsResult$PrefixLists": "

All available prefix lists.

" - } - }, - "PriceSchedule": { - "base": "

Describes the price for a Reserved Instance.

", - "refs": { - "PriceScheduleList$member": null - } - }, - "PriceScheduleList": { - "base": null, - "refs": { - "ReservedInstancesListing$PriceSchedules": "

The price of the Reserved Instance listing.

" - } - }, - "PriceScheduleSpecification": { - "base": "

Describes the price for a Reserved Instance.

", - "refs": { - "PriceScheduleSpecificationList$member": null - } - }, - "PriceScheduleSpecificationList": { - "base": null, - "refs": { - "CreateReservedInstancesListingRequest$PriceSchedules": "

A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

" - } - }, - "PricingDetail": { - "base": "

Describes a Reserved Instance offering.

", - "refs": { - "PricingDetailsList$member": null - } - }, - "PricingDetailsList": { - "base": null, - "refs": { - "ReservedInstancesOffering$PricingDetails": "

The pricing details of the Reserved Instance offering.

" - } - }, - "PrivateIpAddressConfigSet": { - "base": null, - "refs": { - "ScheduledInstancesNetworkInterface$PrivateIpAddressConfigs": "

The private IP addresses.

" - } - }, - "PrivateIpAddressSpecification": { - "base": "

Describes a secondary private IP address for a network interface.

", - "refs": { - "PrivateIpAddressSpecificationList$member": null - } - }, - "PrivateIpAddressSpecificationList": { - "base": null, - "refs": { - "CreateNetworkInterfaceRequest$PrivateIpAddresses": "

One or more private IP addresses.

", - "InstanceNetworkInterfaceSpecification$PrivateIpAddresses": "

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.

" - } - }, - "PrivateIpAddressStringList": { - "base": null, - "refs": { - "AssignPrivateIpAddressesRequest$PrivateIpAddresses": "

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.

", - "UnassignPrivateIpAddressesRequest$PrivateIpAddresses": "

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.

" - } - }, - "ProductCode": { - "base": "

Describes a product code.

", - "refs": { - "ProductCodeList$member": null - } - }, - "ProductCodeList": { - "base": null, - "refs": { - "DescribeSnapshotAttributeResult$ProductCodes": "

A list of product codes.

", - "DescribeVolumeAttributeResult$ProductCodes": "

A list of product codes.

", - "Image$ProductCodes": "

Any product codes associated with the AMI.

", - "ImageAttribute$ProductCodes": "

One or more product codes.

", - "Instance$ProductCodes": "

The product codes attached to this instance, if applicable.

", - "InstanceAttribute$ProductCodes": "

A list of product codes.

" - } - }, - "ProductCodeStringList": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$ProductCodes": "

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.

" - } - }, - "ProductCodeValues": { - "base": null, - "refs": { - "ProductCode$ProductCodeType": "

The type of product code.

" - } - }, - "ProductDescriptionList": { - "base": null, - "refs": { - "DescribeSpotPriceHistoryRequest$ProductDescriptions": "

Filters the results by the specified basic product descriptions.

" - } - }, - "PropagatingVgw": { - "base": "

Describes a virtual private gateway propagating route.

", - "refs": { - "PropagatingVgwList$member": null - } - }, - "PropagatingVgwList": { - "base": null, - "refs": { - "RouteTable$PropagatingVgws": "

Any virtual private gateway (VGW) propagating routes.

" - } - }, - "ProvisionedBandwidth": { - "base": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "refs": { - "NatGateway$ProvisionedBandwidth": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

" - } - }, - "PublicIpStringList": { - "base": null, - "refs": { - "DescribeAddressesRequest$PublicIps": "

[EC2-Classic] One or more Elastic IP addresses.

Default: Describes all your Elastic IP addresses.

" - } - }, - "Purchase": { - "base": "

Describes the result of the purchase.

", - "refs": { - "PurchaseSet$member": null - } - }, - "PurchaseHostReservationRequest": { - "base": null, - "refs": { - } - }, - "PurchaseHostReservationResult": { - "base": null, - "refs": { - } - }, - "PurchaseRequest": { - "base": "

Describes a request to purchase Scheduled Instances.

", - "refs": { - "PurchaseRequestSet$member": null - } - }, - "PurchaseRequestSet": { - "base": null, - "refs": { - "PurchaseScheduledInstancesRequest$PurchaseRequests": "

One or more purchase requests.

" - } - }, - "PurchaseReservedInstancesOfferingRequest": { - "base": "

Contains the parameters for PurchaseReservedInstancesOffering.

", - "refs": { - } - }, - "PurchaseReservedInstancesOfferingResult": { - "base": "

Contains the output of PurchaseReservedInstancesOffering.

", - "refs": { - } - }, - "PurchaseScheduledInstancesRequest": { - "base": "

Contains the parameters for PurchaseScheduledInstances.

", - "refs": { - } - }, - "PurchaseScheduledInstancesResult": { - "base": "

Contains the output of PurchaseScheduledInstances.

", - "refs": { - } - }, - "PurchaseSet": { - "base": null, - "refs": { - "GetHostReservationPurchasePreviewResult$Purchase": "

The purchase information of the Dedicated Host Reservation and the Dedicated Hosts associated with it.

", - "PurchaseHostReservationResult$Purchase": "

Describes the details of the purchase.

" - } - }, - "PurchasedScheduledInstanceSet": { - "base": null, - "refs": { - "PurchaseScheduledInstancesResult$ScheduledInstanceSet": "

Information about the Scheduled Instances.

" - } - }, - "RIProductDescription": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$ProductDescription": "

The Reserved Instance product platform description. Instances that include (Amazon VPC) in the description are for use with Amazon VPC.

", - "ReservedInstances$ProductDescription": "

The Reserved Instance product platform description.

", - "ReservedInstancesOffering$ProductDescription": "

The Reserved Instance product platform description.

", - "SpotInstanceRequest$ProductDescription": "

The product description associated with the Spot instance.

", - "SpotPrice$ProductDescription": "

A general description of the AMI.

" - } - }, - "ReasonCodesList": { - "base": null, - "refs": { - "ReportInstanceStatusRequest$ReasonCodes": "

One or more reason codes that describes the health state of your instance.

" - } - }, - "RebootInstancesRequest": { - "base": "

Contains the parameters for RebootInstances.

", - "refs": { - } - }, - "RecurringCharge": { - "base": "

Describes a recurring charge.

", - "refs": { - "RecurringChargesList$member": null - } - }, - "RecurringChargeFrequency": { - "base": null, - "refs": { - "RecurringCharge$Frequency": "

The frequency of the recurring charge.

" - } - }, - "RecurringChargesList": { - "base": null, - "refs": { - "ReservedInstances$RecurringCharges": "

The recurring charge tag assigned to the resource.

", - "ReservedInstancesOffering$RecurringCharges": "

The recurring charge tag assigned to the resource.

" - } - }, - "Region": { - "base": "

Describes a region.

", - "refs": { - "RegionList$member": null - } - }, - "RegionList": { - "base": null, - "refs": { - "DescribeRegionsResult$Regions": "

Information about one or more regions.

" - } - }, - "RegionNameStringList": { - "base": null, - "refs": { - "DescribeRegionsRequest$RegionNames": "

The names of one or more regions.

" - } - }, - "RegisterImageRequest": { - "base": "

Contains the parameters for RegisterImage.

", - "refs": { - } - }, - "RegisterImageResult": { - "base": "

Contains the output of RegisterImage.

", - "refs": { - } - }, - "RejectVpcPeeringConnectionRequest": { - "base": "

Contains the parameters for RejectVpcPeeringConnection.

", - "refs": { - } - }, - "RejectVpcPeeringConnectionResult": { - "base": "

Contains the output of RejectVpcPeeringConnection.

", - "refs": { - } - }, - "ReleaseAddressRequest": { - "base": "

Contains the parameters for ReleaseAddress.

", - "refs": { - } - }, - "ReleaseHostsRequest": { - "base": "

Contains the parameters for ReleaseHosts.

", - "refs": { - } - }, - "ReleaseHostsResult": { - "base": "

Contains the output of ReleaseHosts.

", - "refs": { - } - }, - "ReplaceNetworkAclAssociationRequest": { - "base": "

Contains the parameters for ReplaceNetworkAclAssociation.

", - "refs": { - } - }, - "ReplaceNetworkAclAssociationResult": { - "base": "

Contains the output of ReplaceNetworkAclAssociation.

", - "refs": { - } - }, - "ReplaceNetworkAclEntryRequest": { - "base": "

Contains the parameters for ReplaceNetworkAclEntry.

", - "refs": { - } - }, - "ReplaceRouteRequest": { - "base": "

Contains the parameters for ReplaceRoute.

", - "refs": { - } - }, - "ReplaceRouteTableAssociationRequest": { - "base": "

Contains the parameters for ReplaceRouteTableAssociation.

", - "refs": { - } - }, - "ReplaceRouteTableAssociationResult": { - "base": "

Contains the output of ReplaceRouteTableAssociation.

", - "refs": { - } - }, - "ReportInstanceReasonCodes": { - "base": null, - "refs": { - "ReasonCodesList$member": null - } - }, - "ReportInstanceStatusRequest": { - "base": "

Contains the parameters for ReportInstanceStatus.

", - "refs": { - } - }, - "ReportStatusType": { - "base": null, - "refs": { - "ReportInstanceStatusRequest$Status": "

The status of all instances listed.

" - } - }, - "RequestHostIdList": { - "base": null, - "refs": { - "DescribeHostsRequest$HostIds": "

The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.

", - "ModifyHostsRequest$HostIds": "

The host IDs of the Dedicated Hosts you want to modify.

", - "ReleaseHostsRequest$HostIds": "

The IDs of the Dedicated Hosts you want to release.

" - } - }, - "RequestHostIdSet": { - "base": null, - "refs": { - "GetHostReservationPurchasePreviewRequest$HostIdSet": "

The ID/s of the Dedicated Host/s that the reservation will be associated with.

", - "PurchaseHostReservationRequest$HostIdSet": "

The ID/s of the Dedicated Host/s that the reservation will be associated with.

" - } - }, - "RequestSpotFleetRequest": { - "base": "

Contains the parameters for RequestSpotFleet.

", - "refs": { - } - }, - "RequestSpotFleetResponse": { - "base": "

Contains the output of RequestSpotFleet.

", - "refs": { - } - }, - "RequestSpotInstancesRequest": { - "base": "

Contains the parameters for RequestSpotInstances.

", - "refs": { - } - }, - "RequestSpotInstancesResult": { - "base": "

Contains the output of RequestSpotInstances.

", - "refs": { - } - }, - "RequestSpotLaunchSpecification": { - "base": "

Describes the launch specification for an instance.

", - "refs": { - "RequestSpotInstancesRequest$LaunchSpecification": null - } - }, - "Reservation": { - "base": "

Describes a reservation.

", - "refs": { - "ReservationList$member": null - } - }, - "ReservationList": { - "base": null, - "refs": { - "DescribeInstancesResult$Reservations": "

Zero or more reservations.

" - } - }, - "ReservationState": { - "base": null, - "refs": { - "HostReservation$State": "

The state of the reservation.

" - } - }, - "ReservationValue": { - "base": "

The cost associated with the Reserved Instance.

", - "refs": { - "GetReservedInstancesExchangeQuoteResult$ReservedInstanceValueRollup": null, - "GetReservedInstancesExchangeQuoteResult$TargetConfigurationValueRollup": null, - "ReservedInstanceReservationValue$ReservationValue": "

The total value of the Convertible Reserved Instance that you are exchanging.

", - "TargetReservationValue$ReservationValue": "

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.

" - } - }, - "ReservedInstanceIdSet": { - "base": null, - "refs": { - "AcceptReservedInstancesExchangeQuoteRequest$ReservedInstanceIds": "

The IDs of the Convertible Reserved Instances that you want to exchange for other Convertible Reserved Instances of the same or higher value.

", - "GetReservedInstancesExchangeQuoteRequest$ReservedInstanceIds": "

The ID/s of the Convertible Reserved Instances you want to exchange.

" - } - }, - "ReservedInstanceLimitPrice": { - "base": "

Describes the limit price of a Reserved Instance offering.

", - "refs": { - "PurchaseReservedInstancesOfferingRequest$LimitPrice": "

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

" - } - }, - "ReservedInstanceReservationValue": { - "base": "

The total value of the Convertible Reserved Instance.

", - "refs": { - "ReservedInstanceReservationValueSet$member": null - } - }, - "ReservedInstanceReservationValueSet": { - "base": null, - "refs": { - "GetReservedInstancesExchangeQuoteResult$ReservedInstanceValueSet": "

The configuration of your Convertible Reserved Instances.

" - } - }, - "ReservedInstanceState": { - "base": null, - "refs": { - "ReservedInstances$State": "

The state of the Reserved Instance purchase.

" - } - }, - "ReservedInstances": { - "base": "

Describes a Reserved Instance.

", - "refs": { - "ReservedInstancesList$member": null - } - }, - "ReservedInstancesConfiguration": { - "base": "

Describes the configuration settings for the modified Reserved Instances.

", - "refs": { - "ReservedInstancesConfigurationList$member": null, - "ReservedInstancesModificationResult$TargetConfiguration": "

The target Reserved Instances configurations supplied as part of the modification request.

" - } - }, - "ReservedInstancesConfigurationList": { - "base": null, - "refs": { - "ModifyReservedInstancesRequest$TargetConfigurations": "

The configuration settings for the Reserved Instances to modify.

" - } - }, - "ReservedInstancesId": { - "base": "

Describes the ID of a Reserved Instance.

", - "refs": { - "ReservedIntancesIds$member": null - } - }, - "ReservedInstancesIdStringList": { - "base": null, - "refs": { - "DescribeReservedInstancesRequest$ReservedInstancesIds": "

One or more Reserved Instance IDs.

Default: Describes all your Reserved Instances, or only those otherwise specified.

", - "ModifyReservedInstancesRequest$ReservedInstancesIds": "

The IDs of the Reserved Instances to modify.

" - } - }, - "ReservedInstancesList": { - "base": null, - "refs": { - "DescribeReservedInstancesResult$ReservedInstances": "

A list of Reserved Instances.

" - } - }, - "ReservedInstancesListing": { - "base": "

Describes a Reserved Instance listing.

", - "refs": { - "ReservedInstancesListingList$member": null - } - }, - "ReservedInstancesListingList": { - "base": null, - "refs": { - "CancelReservedInstancesListingResult$ReservedInstancesListings": "

The Reserved Instance listing.

", - "CreateReservedInstancesListingResult$ReservedInstancesListings": "

Information about the Standard Reserved Instance listing.

", - "DescribeReservedInstancesListingsResult$ReservedInstancesListings": "

Information about the Reserved Instance listing.

" - } - }, - "ReservedInstancesModification": { - "base": "

Describes a Reserved Instance modification.

", - "refs": { - "ReservedInstancesModificationList$member": null - } - }, - "ReservedInstancesModificationIdStringList": { - "base": null, - "refs": { - "DescribeReservedInstancesModificationsRequest$ReservedInstancesModificationIds": "

IDs for the submitted modification request.

" - } - }, - "ReservedInstancesModificationList": { - "base": null, - "refs": { - "DescribeReservedInstancesModificationsResult$ReservedInstancesModifications": "

The Reserved Instance modification information.

" - } - }, - "ReservedInstancesModificationResult": { - "base": "

Describes the modification request/s.

", - "refs": { - "ReservedInstancesModificationResultList$member": null - } - }, - "ReservedInstancesModificationResultList": { - "base": null, - "refs": { - "ReservedInstancesModification$ModificationResults": "

Contains target configurations along with their corresponding new Reserved Instance IDs.

" - } - }, - "ReservedInstancesOffering": { - "base": "

Describes a Reserved Instance offering.

", - "refs": { - "ReservedInstancesOfferingList$member": null - } - }, - "ReservedInstancesOfferingIdStringList": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsRequest$ReservedInstancesOfferingIds": "

One or more Reserved Instances offering IDs.

" - } - }, - "ReservedInstancesOfferingList": { - "base": null, - "refs": { - "DescribeReservedInstancesOfferingsResult$ReservedInstancesOfferings": "

A list of Reserved Instances offerings.

" - } - }, - "ReservedIntancesIds": { - "base": null, - "refs": { - "ReservedInstancesModification$ReservedInstancesIds": "

The IDs of one or more Reserved Instances.

" - } - }, - "ResetImageAttributeName": { - "base": null, - "refs": { - "ResetImageAttributeRequest$Attribute": "

The attribute to reset (currently you can only reset the launch permission attribute).

" - } - }, - "ResetImageAttributeRequest": { - "base": "

Contains the parameters for ResetImageAttribute.

", - "refs": { - } - }, - "ResetInstanceAttributeRequest": { - "base": "

Contains the parameters for ResetInstanceAttribute.

", - "refs": { - } - }, - "ResetNetworkInterfaceAttributeRequest": { - "base": "

Contains the parameters for ResetNetworkInterfaceAttribute.

", - "refs": { - } - }, - "ResetSnapshotAttributeRequest": { - "base": "

Contains the parameters for ResetSnapshotAttribute.

", - "refs": { - } - }, - "ResourceIdList": { - "base": null, - "refs": { - "CreateTagsRequest$Resources": "

The IDs of one or more resources to tag. For example, ami-1a2b3c4d.

", - "DeleteTagsRequest$Resources": "

The ID of the resource. For example, ami-1a2b3c4d. You can specify more than one resource ID.

" - } - }, - "ResourceType": { - "base": null, - "refs": { - "TagDescription$ResourceType": "

The resource type.

" - } - }, - "ResponseHostIdList": { - "base": null, - "refs": { - "AllocateHostsResult$HostIds": "

The ID of the allocated Dedicated Host. This is used when you want to launch an instance onto a specific host.

", - "ModifyHostsResult$Successful": "

The IDs of the Dedicated Hosts that were successfully modified.

", - "ReleaseHostsResult$Successful": "

The IDs of the Dedicated Hosts that were successfully released.

" - } - }, - "ResponseHostIdSet": { - "base": null, - "refs": { - "HostReservation$HostIdSet": "

The IDs of the Dedicated Hosts associated with the reservation.

", - "Purchase$HostIdSet": "

The IDs of the Dedicated Hosts associated with the reservation.

" - } - }, - "RestorableByStringList": { - "base": null, - "refs": { - "DescribeSnapshotsRequest$RestorableByUserIds": "

One or more AWS accounts IDs that can create volumes from the snapshot.

" - } - }, - "RestoreAddressToClassicRequest": { - "base": "

Contains the parameters for RestoreAddressToClassic.

", - "refs": { - } - }, - "RestoreAddressToClassicResult": { - "base": "

Contains the output of RestoreAddressToClassic.

", - "refs": { - } - }, - "RevokeSecurityGroupEgressRequest": { - "base": "

Contains the parameters for RevokeSecurityGroupEgress.

", - "refs": { - } - }, - "RevokeSecurityGroupIngressRequest": { - "base": "

Contains the parameters for RevokeSecurityGroupIngress.

", - "refs": { - } - }, - "Route": { - "base": "

Describes a route in a route table.

", - "refs": { - "RouteList$member": null - } - }, - "RouteList": { - "base": null, - "refs": { - "RouteTable$Routes": "

The routes in the route table.

" - } - }, - "RouteOrigin": { - "base": null, - "refs": { - "Route$Origin": "

Describes how the route was created.

" - } - }, - "RouteState": { - "base": null, - "refs": { - "Route$State": "

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).

" - } - }, - "RouteTable": { - "base": "

Describes a route table.

", - "refs": { - "CreateRouteTableResult$RouteTable": "

Information about the route table.

", - "RouteTableList$member": null - } - }, - "RouteTableAssociation": { - "base": "

Describes an association between a route table and a subnet.

", - "refs": { - "RouteTableAssociationList$member": null - } - }, - "RouteTableAssociationList": { - "base": null, - "refs": { - "RouteTable$Associations": "

The associations between the route table and one or more subnets.

" - } - }, - "RouteTableList": { - "base": null, - "refs": { - "DescribeRouteTablesResult$RouteTables": "

Information about one or more route tables.

" - } - }, - "RuleAction": { - "base": null, - "refs": { - "CreateNetworkAclEntryRequest$RuleAction": "

Indicates whether to allow or deny the traffic that matches the rule.

", - "NetworkAclEntry$RuleAction": "

Indicates whether to allow or deny the traffic that matches the rule.

", - "ReplaceNetworkAclEntryRequest$RuleAction": "

Indicates whether to allow or deny the traffic that matches the rule.

" - } - }, - "RunInstancesMonitoringEnabled": { - "base": "

Describes the monitoring for the instance.

", - "refs": { - "LaunchSpecification$Monitoring": null, - "RequestSpotLaunchSpecification$Monitoring": null, - "RunInstancesRequest$Monitoring": "

The monitoring for the instance.

" - } - }, - "RunInstancesRequest": { - "base": "

Contains the parameters for RunInstances.

", - "refs": { - } - }, - "RunScheduledInstancesRequest": { - "base": "

Contains the parameters for RunScheduledInstances.

", - "refs": { - } - }, - "RunScheduledInstancesResult": { - "base": "

Contains the output of RunScheduledInstances.

", - "refs": { - } - }, - "S3Storage": { - "base": "

Describes the storage parameters for S3 and S3 buckets for an instance store-backed AMI.

", - "refs": { - "Storage$S3": "

An Amazon S3 storage location.

" - } - }, - "ScheduledInstance": { - "base": "

Describes a Scheduled Instance.

", - "refs": { - "PurchasedScheduledInstanceSet$member": null, - "ScheduledInstanceSet$member": null - } - }, - "ScheduledInstanceAvailability": { - "base": "

Describes a schedule that is available for your Scheduled Instances.

", - "refs": { - "ScheduledInstanceAvailabilitySet$member": null - } - }, - "ScheduledInstanceAvailabilitySet": { - "base": null, - "refs": { - "DescribeScheduledInstanceAvailabilityResult$ScheduledInstanceAvailabilitySet": "

Information about the available Scheduled Instances.

" - } - }, - "ScheduledInstanceIdRequestSet": { - "base": null, - "refs": { - "DescribeScheduledInstancesRequest$ScheduledInstanceIds": "

One or more Scheduled Instance IDs.

" - } - }, - "ScheduledInstanceRecurrence": { - "base": "

Describes the recurring schedule for a Scheduled Instance.

", - "refs": { - "ScheduledInstance$Recurrence": "

The schedule recurrence.

", - "ScheduledInstanceAvailability$Recurrence": "

The schedule recurrence.

" - } - }, - "ScheduledInstanceRecurrenceRequest": { - "base": "

Describes the recurring schedule for a Scheduled Instance.

", - "refs": { - "DescribeScheduledInstanceAvailabilityRequest$Recurrence": "

The schedule recurrence.

" - } - }, - "ScheduledInstanceSet": { - "base": null, - "refs": { - "DescribeScheduledInstancesResult$ScheduledInstanceSet": "

Information about the Scheduled Instances.

" - } - }, - "ScheduledInstancesBlockDeviceMapping": { - "base": "

Describes a block device mapping for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesBlockDeviceMappingSet$member": null - } - }, - "ScheduledInstancesBlockDeviceMappingSet": { - "base": null, - "refs": { - "ScheduledInstancesLaunchSpecification$BlockDeviceMappings": "

One or more block device mapping entries.

" - } - }, - "ScheduledInstancesEbs": { - "base": "

Describes an EBS volume for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesBlockDeviceMapping$Ebs": "

Parameters used to set up EBS volumes automatically when the instance is launched.

" - } - }, - "ScheduledInstancesIamInstanceProfile": { - "base": "

Describes an IAM instance profile for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesLaunchSpecification$IamInstanceProfile": "

The IAM instance profile.

" - } - }, - "ScheduledInstancesLaunchSpecification": { - "base": "

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.

", - "refs": { - "RunScheduledInstancesRequest$LaunchSpecification": "

The launch specification. You must match the instance type, Availability Zone, network, and platform of the schedule that you purchased.

" - } - }, - "ScheduledInstancesMonitoring": { - "base": "

Describes whether monitoring is enabled for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesLaunchSpecification$Monitoring": "

Enable or disable monitoring for the instances.

" - } - }, - "ScheduledInstancesNetworkInterface": { - "base": "

Describes a network interface for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesNetworkInterfaceSet$member": null - } - }, - "ScheduledInstancesNetworkInterfaceSet": { - "base": null, - "refs": { - "ScheduledInstancesLaunchSpecification$NetworkInterfaces": "

One or more network interfaces.

" - } - }, - "ScheduledInstancesPlacement": { - "base": "

Describes the placement for a Scheduled Instance.

", - "refs": { - "ScheduledInstancesLaunchSpecification$Placement": "

The placement information.

" - } - }, - "ScheduledInstancesPrivateIpAddressConfig": { - "base": "

Describes a private IP address for a Scheduled Instance.

", - "refs": { - "PrivateIpAddressConfigSet$member": null - } - }, - "ScheduledInstancesSecurityGroupIdSet": { - "base": null, - "refs": { - "ScheduledInstancesLaunchSpecification$SecurityGroupIds": "

The IDs of one or more security groups.

", - "ScheduledInstancesNetworkInterface$Groups": "

The IDs of one or more security groups.

" - } - }, - "SecurityGroup": { - "base": "

Describes a security group

", - "refs": { - "SecurityGroupList$member": null - } - }, - "SecurityGroupIdStringList": { - "base": null, - "refs": { - "CreateNetworkInterfaceRequest$Groups": "

The IDs of one or more security groups.

", - "ImportInstanceLaunchSpecification$GroupIds": "

One or more security group IDs.

", - "InstanceNetworkInterfaceSpecification$Groups": "

The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

", - "ModifyNetworkInterfaceAttributeRequest$Groups": "

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.

", - "RunInstancesRequest$SecurityGroupIds": "

One or more security group IDs. You can create a security group using CreateSecurityGroup.

Default: Amazon EC2 uses the default security group.

" - } - }, - "SecurityGroupList": { - "base": null, - "refs": { - "DescribeSecurityGroupsResult$SecurityGroups": "

Information about one or more security groups.

" - } - }, - "SecurityGroupReference": { - "base": "

Describes a VPC with a security group that references your security group.

", - "refs": { - "SecurityGroupReferences$member": null - } - }, - "SecurityGroupReferences": { - "base": null, - "refs": { - "DescribeSecurityGroupReferencesResult$SecurityGroupReferenceSet": "

Information about the VPCs with the referencing security groups.

" - } - }, - "SecurityGroupStringList": { - "base": null, - "refs": { - "ImportInstanceLaunchSpecification$GroupNames": "

One or more security group names.

", - "RunInstancesRequest$SecurityGroups": "

[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.

" - } - }, - "ShutdownBehavior": { - "base": null, - "refs": { - "ImportInstanceLaunchSpecification$InstanceInitiatedShutdownBehavior": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "RunInstancesRequest$InstanceInitiatedShutdownBehavior": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

" - } - }, - "SlotDateTimeRangeRequest": { - "base": "

Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

", - "refs": { - "DescribeScheduledInstanceAvailabilityRequest$FirstSlotStartTimeRange": "

The time period for the first schedule to start.

" - } - }, - "SlotStartTimeRangeRequest": { - "base": "

Describes the time period for a Scheduled Instance to start its first schedule.

", - "refs": { - "DescribeScheduledInstancesRequest$SlotStartTimeRange": "

The time period for the first schedule to start.

" - } - }, - "Snapshot": { - "base": "

Describes a snapshot.

", - "refs": { - "SnapshotList$member": null - } - }, - "SnapshotAttributeName": { - "base": null, - "refs": { - "DescribeSnapshotAttributeRequest$Attribute": "

The snapshot attribute you would like to view.

", - "ModifySnapshotAttributeRequest$Attribute": "

The snapshot attribute to modify.

Only volume creation permissions may be modified at the customer level.

", - "ResetSnapshotAttributeRequest$Attribute": "

The attribute to reset. Currently, only the attribute for permission to create volumes can be reset.

" - } - }, - "SnapshotDetail": { - "base": "

Describes the snapshot created from the imported disk.

", - "refs": { - "SnapshotDetailList$member": null - } - }, - "SnapshotDetailList": { - "base": null, - "refs": { - "ImportImageResult$SnapshotDetails": "

Information about the snapshots.

", - "ImportImageTask$SnapshotDetails": "

Information about the snapshots.

" - } - }, - "SnapshotDiskContainer": { - "base": "

The disk container object for the import snapshot request.

", - "refs": { - "ImportSnapshotRequest$DiskContainer": "

Information about the disk container.

" - } - }, - "SnapshotIdStringList": { - "base": null, - "refs": { - "DescribeSnapshotsRequest$SnapshotIds": "

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

" - } - }, - "SnapshotList": { - "base": null, - "refs": { - "DescribeSnapshotsResult$Snapshots": "

Information about the snapshots.

" - } - }, - "SnapshotState": { - "base": null, - "refs": { - "Snapshot$State": "

The snapshot state.

" - } - }, - "SnapshotTaskDetail": { - "base": "

Details about the import snapshot task.

", - "refs": { - "ImportSnapshotResult$SnapshotTaskDetail": "

Information about the import snapshot task.

", - "ImportSnapshotTask$SnapshotTaskDetail": "

Describes an import snapshot task.

" - } - }, - "SpotDatafeedSubscription": { - "base": "

Describes the data feed for a Spot instance.

", - "refs": { - "CreateSpotDatafeedSubscriptionResult$SpotDatafeedSubscription": "

The Spot instance data feed subscription.

", - "DescribeSpotDatafeedSubscriptionResult$SpotDatafeedSubscription": "

The Spot instance data feed subscription.

" - } - }, - "SpotFleetLaunchSpecification": { - "base": "

Describes the launch specification for one or more Spot instances.

", - "refs": { - "LaunchSpecsList$member": null - } - }, - "SpotFleetMonitoring": { - "base": "

Describes whether monitoring is enabled.

", - "refs": { - "SpotFleetLaunchSpecification$Monitoring": "

Enable or disable monitoring for the instances.

" - } - }, - "SpotFleetRequestConfig": { - "base": "

Describes a Spot fleet request.

", - "refs": { - "SpotFleetRequestConfigSet$member": null - } - }, - "SpotFleetRequestConfigData": { - "base": "

Describes the configuration of a Spot fleet request.

", - "refs": { - "RequestSpotFleetRequest$SpotFleetRequestConfig": "

The configuration for the Spot fleet request.

", - "SpotFleetRequestConfig$SpotFleetRequestConfig": "

Information about the configuration of the Spot fleet request.

" - } - }, - "SpotFleetRequestConfigSet": { - "base": null, - "refs": { - "DescribeSpotFleetRequestsResponse$SpotFleetRequestConfigs": "

Information about the configuration of your Spot fleet.

" - } - }, - "SpotInstanceRequest": { - "base": "

Describes a Spot instance request.

", - "refs": { - "SpotInstanceRequestList$member": null - } - }, - "SpotInstanceRequestIdList": { - "base": null, - "refs": { - "CancelSpotInstanceRequestsRequest$SpotInstanceRequestIds": "

One or more Spot instance request IDs.

", - "DescribeSpotInstanceRequestsRequest$SpotInstanceRequestIds": "

One or more Spot instance request IDs.

" - } - }, - "SpotInstanceRequestList": { - "base": null, - "refs": { - "DescribeSpotInstanceRequestsResult$SpotInstanceRequests": "

One or more Spot instance requests.

", - "RequestSpotInstancesResult$SpotInstanceRequests": "

One or more Spot instance requests.

" - } - }, - "SpotInstanceState": { - "base": null, - "refs": { - "SpotInstanceRequest$State": "

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.

" - } - }, - "SpotInstanceStateFault": { - "base": "

Describes a Spot instance state change.

", - "refs": { - "SpotDatafeedSubscription$Fault": "

The fault codes for the Spot instance request, if any.

", - "SpotInstanceRequest$Fault": "

The fault codes for the Spot instance request, if any.

" - } - }, - "SpotInstanceStatus": { - "base": "

Describes the status of a Spot instance request.

", - "refs": { - "SpotInstanceRequest$Status": "

The status code and status message describing the Spot instance request.

" - } - }, - "SpotInstanceType": { - "base": null, - "refs": { - "RequestSpotInstancesRequest$Type": "

The Spot instance request type.

Default: one-time

", - "SpotInstanceRequest$Type": "

The Spot instance request type.

" - } - }, - "SpotPlacement": { - "base": "

Describes Spot instance placement.

", - "refs": { - "LaunchSpecification$Placement": "

The placement information for the instance.

", - "RequestSpotLaunchSpecification$Placement": "

The placement information for the instance.

", - "SpotFleetLaunchSpecification$Placement": "

The placement information.

" - } - }, - "SpotPrice": { - "base": "

Describes the maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "refs": { - "SpotPriceHistoryList$member": null - } - }, - "SpotPriceHistoryList": { - "base": null, - "refs": { - "DescribeSpotPriceHistoryResult$SpotPriceHistory": "

The historical Spot prices.

" - } - }, - "StaleIpPermission": { - "base": "

Describes a stale rule in a security group.

", - "refs": { - "StaleIpPermissionSet$member": null - } - }, - "StaleIpPermissionSet": { - "base": null, - "refs": { - "StaleSecurityGroup$StaleIpPermissions": "

Information about the stale inbound rules in the security group.

", - "StaleSecurityGroup$StaleIpPermissionsEgress": "

Information about the stale outbound rules in the security group.

" - } - }, - "StaleSecurityGroup": { - "base": "

Describes a stale security group (a security group that contains stale rules).

", - "refs": { - "StaleSecurityGroupSet$member": null - } - }, - "StaleSecurityGroupSet": { - "base": null, - "refs": { - "DescribeStaleSecurityGroupsResult$StaleSecurityGroupSet": "

Information about the stale security groups.

" - } - }, - "StartInstancesRequest": { - "base": "

Contains the parameters for StartInstances.

", - "refs": { - } - }, - "StartInstancesResult": { - "base": "

Contains the output of StartInstances.

", - "refs": { - } - }, - "State": { - "base": null, - "refs": { - "VpcEndpoint$State": "

The state of the VPC endpoint.

" - } - }, - "StateReason": { - "base": "

Describes a state change.

", - "refs": { - "Image$StateReason": "

The reason for the state change.

", - "Instance$StateReason": "

The reason for the most recent state transition.

" - } - }, - "Status": { - "base": null, - "refs": { - "MoveAddressToVpcResult$Status": "

The status of the move of the IP address.

", - "RestoreAddressToClassicResult$Status": "

The move status for the IP address.

" - } - }, - "StatusName": { - "base": null, - "refs": { - "InstanceStatusDetails$Name": "

The type of instance status.

" - } - }, - "StatusType": { - "base": null, - "refs": { - "InstanceStatusDetails$Status": "

The status.

" - } - }, - "StopInstancesRequest": { - "base": "

Contains the parameters for StopInstances.

", - "refs": { - } - }, - "StopInstancesResult": { - "base": "

Contains the output of StopInstances.

", - "refs": { - } - }, - "Storage": { - "base": "

Describes the storage location for an instance store-backed AMI.

", - "refs": { - "BundleInstanceRequest$Storage": "

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.

", - "BundleTask$Storage": "

The Amazon S3 storage locations.

" - } - }, - "String": { - "base": null, - "refs": { - "AcceptReservedInstancesExchangeQuoteResult$ExchangeId": "

The ID of the successful exchange.

", - "AcceptVpcPeeringConnectionRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "AccountAttribute$AttributeName": "

The name of the account attribute.

", - "AccountAttributeValue$AttributeValue": "

The value of the attribute.

", - "ActiveInstance$InstanceType": "

The instance type.

", - "ActiveInstance$InstanceId": "

The ID of the instance.

", - "ActiveInstance$SpotInstanceRequestId": "

The ID of the Spot instance request.

", - "Address$InstanceId": "

The ID of the instance that the address is associated with (if any).

", - "Address$PublicIp": "

The Elastic IP address.

", - "Address$AllocationId": "

The ID representing the allocation of the address for use with EC2-VPC.

", - "Address$AssociationId": "

The ID representing the association of the address with an instance in a VPC.

", - "Address$NetworkInterfaceId": "

The ID of the network interface.

", - "Address$NetworkInterfaceOwnerId": "

The ID of the AWS account that owns the network interface.

", - "Address$PrivateIpAddress": "

The private IP address associated with the Elastic IP address.

", - "AllocateAddressResult$PublicIp": "

The Elastic IP address.

", - "AllocateAddressResult$AllocationId": "

[EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

", - "AllocateHostsRequest$ClientToken": "

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.

", - "AllocateHostsRequest$InstanceType": "

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.

", - "AllocateHostsRequest$AvailabilityZone": "

The Availability Zone for the Dedicated Hosts.

", - "AllocationIdList$member": null, - "AssignPrivateIpAddressesRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "AssociateAddressRequest$InstanceId": "

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.

", - "AssociateAddressRequest$PublicIp": "

The Elastic IP address. This is required for EC2-Classic.

", - "AssociateAddressRequest$AllocationId": "

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

", - "AssociateAddressRequest$NetworkInterfaceId": "

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

", - "AssociateAddressRequest$PrivateIpAddress": "

[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.

", - "AssociateAddressResult$AssociationId": "

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", - "AssociateDhcpOptionsRequest$DhcpOptionsId": "

The ID of the DHCP options set, or default to associate no DHCP options with the VPC.

", - "AssociateDhcpOptionsRequest$VpcId": "

The ID of the VPC.

", - "AssociateRouteTableRequest$SubnetId": "

The ID of the subnet.

", - "AssociateRouteTableRequest$RouteTableId": "

The ID of the route table.

", - "AssociateRouteTableResult$AssociationId": "

The route table association ID (needed to disassociate the route table).

", - "AttachClassicLinkVpcRequest$InstanceId": "

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", - "AttachClassicLinkVpcRequest$VpcId": "

The ID of a ClassicLink-enabled VPC.

", - "AttachInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", - "AttachInternetGatewayRequest$VpcId": "

The ID of the VPC.

", - "AttachNetworkInterfaceRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "AttachNetworkInterfaceRequest$InstanceId": "

The ID of the instance.

", - "AttachNetworkInterfaceResult$AttachmentId": "

The ID of the network interface attachment.

", - "AttachVolumeRequest$VolumeId": "

The ID of the EBS volume. The volume and instance must be within the same Availability Zone.

", - "AttachVolumeRequest$InstanceId": "

The ID of the instance.

", - "AttachVolumeRequest$Device": "

The device name to expose to the instance (for example, /dev/sdh or xvdh).

", - "AttachVpnGatewayRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "AttachVpnGatewayRequest$VpcId": "

The ID of the VPC.

", - "AttributeValue$Value": "

The attribute value. Note that the value is case-sensitive.

", - "AuthorizeSecurityGroupEgressRequest$GroupId": "

The ID of the security group.

", - "AuthorizeSecurityGroupEgressRequest$SourceSecurityGroupName": "

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.

", - "AuthorizeSecurityGroupEgressRequest$SourceSecurityGroupOwnerId": "

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.

", - "AuthorizeSecurityGroupEgressRequest$IpProtocol": "

The IP protocol name or number. We recommend that you specify the protocol in a set of IP permissions instead.

", - "AuthorizeSecurityGroupEgressRequest$CidrIp": "

The CIDR IP address range. We recommend that you specify the CIDR range in a set of IP permissions instead.

", - "AuthorizeSecurityGroupIngressRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group.

", - "AuthorizeSecurityGroupIngressRequest$GroupId": "

The ID of the security group. Required for a nondefault VPC.

", - "AuthorizeSecurityGroupIngressRequest$SourceSecurityGroupName": "

[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.

", - "AuthorizeSecurityGroupIngressRequest$SourceSecurityGroupOwnerId": "

[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.

", - "AuthorizeSecurityGroupIngressRequest$IpProtocol": "

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.

", - "AuthorizeSecurityGroupIngressRequest$CidrIp": "

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "AvailabilityZone$ZoneName": "

The name of the Availability Zone.

", - "AvailabilityZone$RegionName": "

The name of the region.

", - "AvailabilityZoneMessage$Message": "

The message about the Availability Zone.

", - "BlockDeviceMapping$VirtualName": "

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.

", - "BlockDeviceMapping$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "BlockDeviceMapping$NoDevice": "

Suppresses the specified device included in the block device mapping of the AMI.

", - "BundleIdStringList$member": null, - "BundleInstanceRequest$InstanceId": "

The ID of the instance to bundle.

Type: String

Default: None

Required: Yes

", - "BundleTask$InstanceId": "

The ID of the instance associated with this bundle task.

", - "BundleTask$BundleId": "

The ID of the bundle task.

", - "BundleTask$Progress": "

The level of task completion, as a percent (for example, 20%).

", - "BundleTaskError$Code": "

The error code.

", - "BundleTaskError$Message": "

The error message.

", - "CancelBundleTaskRequest$BundleId": "

The ID of the bundle task.

", - "CancelConversionRequest$ConversionTaskId": "

The ID of the conversion task.

", - "CancelConversionRequest$ReasonMessage": "

The reason for canceling the conversion task.

", - "CancelExportTaskRequest$ExportTaskId": "

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", - "CancelImportTaskRequest$ImportTaskId": "

The ID of the import image or import snapshot task to be canceled.

", - "CancelImportTaskRequest$CancelReason": "

The reason for canceling the task.

", - "CancelImportTaskResult$ImportTaskId": "

The ID of the task being canceled.

", - "CancelImportTaskResult$State": "

The current state of the task being canceled.

", - "CancelImportTaskResult$PreviousState": "

The current state of the task being canceled.

", - "CancelReservedInstancesListingRequest$ReservedInstancesListingId": "

The ID of the Reserved Instance listing.

", - "CancelSpotFleetRequestsError$Message": "

The description for the error code.

", - "CancelSpotFleetRequestsErrorItem$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "CancelSpotFleetRequestsSuccessItem$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "CancelledSpotInstanceRequest$SpotInstanceRequestId": "

The ID of the Spot instance request.

", - "ClassicLinkDnsSupport$VpcId": "

The ID of the VPC.

", - "ClassicLinkInstance$InstanceId": "

The ID of the instance.

", - "ClassicLinkInstance$VpcId": "

The ID of the VPC.

", - "ClientData$Comment": "

A user-defined comment about the disk upload.

", - "ConfirmProductInstanceRequest$ProductCode": "

The product code. This must be a product code that you own.

", - "ConfirmProductInstanceRequest$InstanceId": "

The ID of the instance.

", - "ConfirmProductInstanceResult$OwnerId": "

The AWS account ID of the instance owner. This is only present if the product code is attached to the instance.

", - "ConversionIdStringList$member": null, - "ConversionTask$ConversionTaskId": "

The ID of the conversion task.

", - "ConversionTask$ExpirationTime": "

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", - "ConversionTask$StatusMessage": "

The status message related to the conversion task.

", - "CopyImageRequest$SourceRegion": "

The name of the region that contains the AMI to copy.

", - "CopyImageRequest$SourceImageId": "

The ID of the AMI to copy.

", - "CopyImageRequest$Name": "

The name of the new AMI in the destination region.

", - "CopyImageRequest$Description": "

A description for the new AMI in the destination region.

", - "CopyImageRequest$ClientToken": "

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.

", - "CopyImageRequest$KmsKeyId": "

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.

", - "CopyImageResult$ImageId": "

The ID of the new AMI.

", - "CopySnapshotRequest$SourceRegion": "

The ID of the region that contains the snapshot to be copied.

", - "CopySnapshotRequest$SourceSnapshotId": "

The ID of the EBS snapshot to copy.

", - "CopySnapshotRequest$Description": "

A description for the EBS snapshot.

", - "CopySnapshotRequest$DestinationRegion": "

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).

", - "CopySnapshotRequest$PresignedUrl": "

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.

", - "CopySnapshotRequest$KmsKeyId": "

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.

", - "CopySnapshotResult$SnapshotId": "

The ID of the new snapshot.

", - "CreateCustomerGatewayRequest$PublicIp": "

The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

", - "CreateFlowLogsRequest$LogGroupName": "

The name of the CloudWatch log group.

", - "CreateFlowLogsRequest$DeliverLogsPermissionArn": "

The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group.

", - "CreateFlowLogsRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", - "CreateFlowLogsResult$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", - "CreateImageRequest$InstanceId": "

The ID of the instance.

", - "CreateImageRequest$Name": "

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "CreateImageRequest$Description": "

A description for the new image.

", - "CreateImageResult$ImageId": "

The ID of the new AMI.

", - "CreateInstanceExportTaskRequest$Description": "

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", - "CreateInstanceExportTaskRequest$InstanceId": "

The ID of the instance.

", - "CreateKeyPairRequest$KeyName": "

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

", - "CreateNatGatewayRequest$SubnetId": "

The subnet in which to create the NAT gateway.

", - "CreateNatGatewayRequest$AllocationId": "

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.

", - "CreateNatGatewayRequest$ClientToken": "

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.

", - "CreateNatGatewayResult$ClientToken": "

Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

", - "CreateNetworkAclEntryRequest$NetworkAclId": "

The ID of the network ACL.

", - "CreateNetworkAclEntryRequest$Protocol": "

The protocol. A value of -1 means all protocols.

", - "CreateNetworkAclEntryRequest$CidrBlock": "

The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "CreateNetworkAclRequest$VpcId": "

The ID of the VPC.

", - "CreateNetworkInterfaceRequest$SubnetId": "

The ID of the subnet to associate with the network interface.

", - "CreateNetworkInterfaceRequest$Description": "

A description for the network interface.

", - "CreateNetworkInterfaceRequest$PrivateIpAddress": "

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).

", - "CreatePlacementGroupRequest$GroupName": "

A name for the placement group.

Constraints: Up to 255 ASCII characters

", - "CreateReservedInstancesListingRequest$ReservedInstancesId": "

The ID of the active Standard Reserved Instance.

", - "CreateReservedInstancesListingRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "CreateRouteRequest$RouteTableId": "

The ID of the route table for the route.

", - "CreateRouteRequest$DestinationCidrBlock": "

The CIDR address block used for the destination match. Routing decisions are based on the most specific match.

", - "CreateRouteRequest$GatewayId": "

The ID of an Internet gateway or virtual private gateway attached to your VPC.

", - "CreateRouteRequest$InstanceId": "

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.

", - "CreateRouteRequest$NetworkInterfaceId": "

The ID of a network interface.

", - "CreateRouteRequest$VpcPeeringConnectionId": "

The ID of a VPC peering connection.

", - "CreateRouteRequest$NatGatewayId": "

The ID of a NAT gateway.

", - "CreateRouteTableRequest$VpcId": "

The ID of the VPC.

", - "CreateSecurityGroupRequest$GroupName": "

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 ._-:/()#,@[]+=&;{}!$*

", - "CreateSecurityGroupRequest$Description": "

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 ._-:/()#,@[]+=&;{}!$*

", - "CreateSecurityGroupRequest$VpcId": "

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

", - "CreateSecurityGroupResult$GroupId": "

The ID of the security group.

", - "CreateSnapshotRequest$VolumeId": "

The ID of the EBS volume.

", - "CreateSnapshotRequest$Description": "

A description for the snapshot.

", - "CreateSpotDatafeedSubscriptionRequest$Bucket": "

The Amazon S3 bucket in which to store the Spot instance data feed.

", - "CreateSpotDatafeedSubscriptionRequest$Prefix": "

A prefix for the data feed file names.

", - "CreateSubnetRequest$VpcId": "

The ID of the VPC.

", - "CreateSubnetRequest$CidrBlock": "

The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.

", - "CreateSubnetRequest$AvailabilityZone": "

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.

", - "CreateVolumePermission$UserId": "

The specific AWS account ID that is to be added or removed from a volume's list of create volume permissions.

", - "CreateVolumeRequest$SnapshotId": "

The snapshot from which to create the volume.

", - "CreateVolumeRequest$AvailabilityZone": "

The Availability Zone in which to create the volume. Use DescribeAvailabilityZones to list the Availability Zones that are currently available to you.

", - "CreateVolumeRequest$KmsKeyId": "

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$VpcId": "

The ID of the VPC in which the endpoint will be used.

", - "CreateVpcEndpointRequest$ServiceName": "

The AWS service name, in the form com.amazonaws.region.service . To get a list of available services, use the DescribeVpcEndpointServices request.

", - "CreateVpcEndpointRequest$PolicyDocument": "

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.

", - "CreateVpcEndpointRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", - "CreateVpcEndpointResult$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", - "CreateVpcPeeringConnectionRequest$VpcId": "

The ID of the requester VPC.

", - "CreateVpcPeeringConnectionRequest$PeerVpcId": "

The ID of the VPC with which you are creating the VPC peering connection.

", - "CreateVpcPeeringConnectionRequest$PeerOwnerId": "

The AWS account ID of the owner of the peer VPC.

Default: Your AWS account ID

", - "CreateVpcRequest$CidrBlock": "

The network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.

", - "CreateVpnConnectionRequest$Type": "

The type of VPN connection (ipsec.1).

", - "CreateVpnConnectionRequest$CustomerGatewayId": "

The ID of the customer gateway.

", - "CreateVpnConnectionRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "CreateVpnConnectionRouteRequest$VpnConnectionId": "

The ID of the VPN connection.

", - "CreateVpnConnectionRouteRequest$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer network.

", - "CreateVpnGatewayRequest$AvailabilityZone": "

The Availability Zone for the virtual private gateway.

", - "CustomerGateway$CustomerGatewayId": "

The ID of the customer gateway.

", - "CustomerGateway$State": "

The current state of the customer gateway (pending | available | deleting | deleted).

", - "CustomerGateway$Type": "

The type of VPN connection the customer gateway supports (ipsec.1).

", - "CustomerGateway$IpAddress": "

The Internet-routable IP address of the customer gateway's outside interface.

", - "CustomerGateway$BgpAsn": "

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

", - "CustomerGatewayIdStringList$member": null, - "DeleteCustomerGatewayRequest$CustomerGatewayId": "

The ID of the customer gateway.

", - "DeleteDhcpOptionsRequest$DhcpOptionsId": "

The ID of the DHCP options set.

", - "DeleteInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", - "DeleteKeyPairRequest$KeyName": "

The name of the key pair.

", - "DeleteNatGatewayRequest$NatGatewayId": "

The ID of the NAT gateway.

", - "DeleteNatGatewayResult$NatGatewayId": "

The ID of the NAT gateway.

", - "DeleteNetworkAclEntryRequest$NetworkAclId": "

The ID of the network ACL.

", - "DeleteNetworkAclRequest$NetworkAclId": "

The ID of the network ACL.

", - "DeleteNetworkInterfaceRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "DeletePlacementGroupRequest$GroupName": "

The name of the placement group.

", - "DeleteRouteRequest$RouteTableId": "

The ID of the route table.

", - "DeleteRouteRequest$DestinationCidrBlock": "

The CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "DeleteRouteTableRequest$RouteTableId": "

The ID of the route table.

", - "DeleteSecurityGroupRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group. You can specify either the security group name or the security group ID.

", - "DeleteSecurityGroupRequest$GroupId": "

The ID of the security group. Required for a nondefault VPC.

", - "DeleteSnapshotRequest$SnapshotId": "

The ID of the EBS snapshot.

", - "DeleteSubnetRequest$SubnetId": "

The ID of the subnet.

", - "DeleteVolumeRequest$VolumeId": "

The ID of the volume.

", - "DeleteVpcPeeringConnectionRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "DeleteVpcRequest$VpcId": "

The ID of the VPC.

", - "DeleteVpnConnectionRequest$VpnConnectionId": "

The ID of the VPN connection.

", - "DeleteVpnConnectionRouteRequest$VpnConnectionId": "

The ID of the VPN connection.

", - "DeleteVpnConnectionRouteRequest$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer network.

", - "DeleteVpnGatewayRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "DeregisterImageRequest$ImageId": "

The ID of the AMI.

", - "DescribeClassicLinkInstancesRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeClassicLinkInstancesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeFlowLogsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeFlowLogsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeHostReservationOfferingsRequest$OfferingId": "

The ID of the reservation offering.

", - "DescribeHostReservationOfferingsRequest$NextToken": "

The token to use to retrieve the next page of results.

", - "DescribeHostReservationOfferingsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeHostReservationsRequest$NextToken": "

The token to use to retrieve the next page of results.

", - "DescribeHostReservationsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeHostsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeHostsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", - "DescribeIdentityIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", - "DescribeIdentityIdFormatRequest$PrincipalArn": "

The ARN of the principal, which can be an IAM role, IAM user, or the root user.

", - "DescribeImageAttributeRequest$ImageId": "

The ID of the AMI.

", - "DescribeImportImageTasksRequest$NextToken": "

A token that indicates the next page of results.

", - "DescribeImportImageTasksResult$NextToken": "

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "DescribeImportSnapshotTasksRequest$NextToken": "

A token that indicates the next page of results.

", - "DescribeImportSnapshotTasksResult$NextToken": "

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "DescribeInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", - "DescribeInstanceStatusRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeInstanceStatusResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeInstancesRequest$NextToken": "

The token to request the next page of results.

", - "DescribeInstancesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeMovingAddressesRequest$NextToken": "

The token to use to retrieve the next page of results.

", - "DescribeMovingAddressesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeNatGatewaysRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeNatGatewaysResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeNetworkInterfaceAttributeRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "DescribeNetworkInterfaceAttributeResult$NetworkInterfaceId": "

The ID of the network interface.

", - "DescribePrefixListsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribePrefixListsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DescribeReservedInstancesListingsRequest$ReservedInstancesId": "

One or more Reserved Instance IDs.

", - "DescribeReservedInstancesListingsRequest$ReservedInstancesListingId": "

One or more Reserved Instance listing IDs.

", - "DescribeReservedInstancesModificationsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeReservedInstancesModificationsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeReservedInstancesOfferingsRequest$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", - "DescribeReservedInstancesOfferingsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeReservedInstancesOfferingsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeScheduledInstanceAvailabilityRequest$NextToken": "

The token for the next set of results.

", - "DescribeScheduledInstanceAvailabilityResult$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeScheduledInstancesRequest$NextToken": "

The token for the next set of results.

", - "DescribeScheduledInstancesResult$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSnapshotAttributeRequest$SnapshotId": "

The ID of the EBS snapshot.

", - "DescribeSnapshotAttributeResult$SnapshotId": "

The ID of the EBS snapshot.

", - "DescribeSnapshotsRequest$NextToken": "

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.

", - "DescribeSnapshotsResult$NextToken": "

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.

", - "DescribeSpotFleetInstancesRequest$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetInstancesRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotFleetInstancesResponse$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetInstancesResponse$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSpotFleetRequestHistoryRequest$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetRequestHistoryRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotFleetRequestHistoryResponse$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "DescribeSpotFleetRequestHistoryResponse$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSpotFleetRequestsRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotFleetRequestsResponse$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeSpotPriceHistoryRequest$AvailabilityZone": "

Filters the results by the specified Availability Zone.

", - "DescribeSpotPriceHistoryRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotPriceHistoryResult$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "DescribeStaleSecurityGroupsRequest$VpcId": "

The ID of the VPC.

", - "DescribeStaleSecurityGroupsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DescribeTagsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeTagsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return..

", - "DescribeVolumeAttributeRequest$VolumeId": "

The ID of the volume.

", - "DescribeVolumeAttributeResult$VolumeId": "

The ID of the volume.

", - "DescribeVolumeStatusRequest$NextToken": "

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.

", - "DescribeVolumeStatusResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeVolumesRequest$NextToken": "

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.

", - "DescribeVolumesResult$NextToken": "

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.

", - "DescribeVpcAttributeRequest$VpcId": "

The ID of the VPC.

", - "DescribeVpcAttributeResult$VpcId": "

The ID of the VPC.

", - "DescribeVpcEndpointServicesRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcEndpointServicesResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DescribeVpcEndpointsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", - "DescribeVpcEndpointsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "DetachClassicLinkVpcRequest$InstanceId": "

The ID of the instance to unlink from the VPC.

", - "DetachClassicLinkVpcRequest$VpcId": "

The ID of the VPC to which the instance is linked.

", - "DetachInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", - "DetachInternetGatewayRequest$VpcId": "

The ID of the VPC.

", - "DetachNetworkInterfaceRequest$AttachmentId": "

The ID of the attachment.

", - "DetachVolumeRequest$VolumeId": "

The ID of the volume.

", - "DetachVolumeRequest$InstanceId": "

The ID of the instance.

", - "DetachVolumeRequest$Device": "

The device name.

", - "DetachVpnGatewayRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "DetachVpnGatewayRequest$VpcId": "

The ID of the VPC.

", - "DhcpConfiguration$Key": "

The name of a DHCP option.

", - "DhcpOptions$DhcpOptionsId": "

The ID of the set of DHCP options.

", - "DhcpOptionsIdStringList$member": null, - "DisableVgwRoutePropagationRequest$RouteTableId": "

The ID of the route table.

", - "DisableVgwRoutePropagationRequest$GatewayId": "

The ID of the virtual private gateway.

", - "DisableVpcClassicLinkDnsSupportRequest$VpcId": "

The ID of the VPC.

", - "DisableVpcClassicLinkRequest$VpcId": "

The ID of the VPC.

", - "DisassociateAddressRequest$PublicIp": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

", - "DisassociateAddressRequest$AssociationId": "

[EC2-VPC] The association ID. Required for EC2-VPC.

", - "DisassociateRouteTableRequest$AssociationId": "

The association ID representing the current association between the route table and subnet.

", - "DiskImage$Description": "

A description of the disk image.

", - "DiskImageDescription$ImportManifestUrl": "

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.

", - "DiskImageDescription$Checksum": "

The checksum computed for the disk image.

", - "DiskImageDetail$ImportManifestUrl": "

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.

", - "DiskImageVolumeDescription$Id": "

The volume identifier.

", - "EbsBlockDevice$SnapshotId": "

The ID of the snapshot.

", - "EbsInstanceBlockDevice$VolumeId": "

The ID of the EBS volume.

", - "EbsInstanceBlockDeviceSpecification$VolumeId": "

The ID of the EBS volume.

", - "EnableVgwRoutePropagationRequest$RouteTableId": "

The ID of the route table.

", - "EnableVgwRoutePropagationRequest$GatewayId": "

The ID of the virtual private gateway.

", - "EnableVolumeIORequest$VolumeId": "

The ID of the volume.

", - "EnableVpcClassicLinkDnsSupportRequest$VpcId": "

The ID of the VPC.

", - "EnableVpcClassicLinkRequest$VpcId": "

The ID of the VPC.

", - "EventInformation$InstanceId": "

The ID of the instance. This information is available only for instanceChange events.

", - "EventInformation$EventSubType": "

The event.

The following are the error events.

The following are the fleetRequestChange events.

The following are the instanceChange events.

", - "EventInformation$EventDescription": "

The description of the event.

", - "ExecutableByStringList$member": null, - "ExportTask$ExportTaskId": "

The ID of the export task.

", - "ExportTask$Description": "

A description of the resource being exported.

", - "ExportTask$StatusMessage": "

The status message related to the export task.

", - "ExportTaskIdStringList$member": null, - "ExportToS3Task$S3Bucket": "

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.

", - "ExportToS3Task$S3Key": "

The encryption key for your S3 bucket.

", - "ExportToS3TaskSpecification$S3Bucket": "

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.

", - "ExportToS3TaskSpecification$S3Prefix": "

The image is written to a single object in the S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", - "Filter$Name": "

The name of the filter. Filter names are case-sensitive.

", - "FlowLog$FlowLogId": "

The flow log ID.

", - "FlowLog$FlowLogStatus": "

The status of the flow log (ACTIVE).

", - "FlowLog$ResourceId": "

The ID of the resource on which the flow log was created.

", - "FlowLog$LogGroupName": "

The name of the flow log group.

", - "FlowLog$DeliverLogsStatus": "

The status of the logs delivery (SUCCESS | FAILED).

", - "FlowLog$DeliverLogsErrorMessage": "

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.

", - "FlowLog$DeliverLogsPermissionArn": "

The ARN of the IAM role that posts logs to CloudWatch Logs.

", - "GetConsoleOutputRequest$InstanceId": "

The ID of the instance.

", - "GetConsoleOutputResult$InstanceId": "

The ID of the instance.

", - "GetConsoleOutputResult$Output": "

The console output, Base64-encoded. If using a command line tool, the tool decodes the output for you.

", - "GetConsoleScreenshotRequest$InstanceId": "

The ID of the instance.

", - "GetConsoleScreenshotResult$InstanceId": "

The ID of the instance.

", - "GetConsoleScreenshotResult$ImageData": "

The data that comprises the image.

", - "GetHostReservationPurchasePreviewRequest$OfferingId": "

The offering ID of the reservation.

", - "GetHostReservationPurchasePreviewResult$TotalUpfrontPrice": "

The potential total upfront price. This is billed immediately.

", - "GetHostReservationPurchasePreviewResult$TotalHourlyPrice": "

The potential total hourly price of the reservation per hour.

", - "GetPasswordDataRequest$InstanceId": "

The ID of the Windows instance.

", - "GetPasswordDataResult$InstanceId": "

The ID of the Windows instance.

", - "GetPasswordDataResult$PasswordData": "

The password of the instance.

", - "GetReservedInstancesExchangeQuoteResult$PaymentDue": "

The total true upfront charge for the exchange.

", - "GetReservedInstancesExchangeQuoteResult$CurrencyCode": "

The currency of the transaction.

", - "GetReservedInstancesExchangeQuoteResult$ValidationFailureReason": "

Describes the reason why the exchange can not be completed.

", - "GroupIdStringList$member": null, - "GroupIdentifier$GroupName": "

The name of the security group.

", - "GroupIdentifier$GroupId": "

The ID of the security group.

", - "GroupIds$member": null, - "GroupNameStringList$member": null, - "Host$HostId": "

The ID of the Dedicated Host.

", - "Host$HostReservationId": "

The reservation ID of the Dedicated Host. This returns a null response if the Dedicated Host doesn't have an associated reservation.

", - "Host$ClientToken": "

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.

", - "Host$AvailabilityZone": "

The Availability Zone of the Dedicated Host.

", - "HostInstance$InstanceId": "

the IDs of instances that are running on the Dedicated Host.

", - "HostInstance$InstanceType": "

The instance type size (for example, m3.medium) of the running instance.

", - "HostOffering$OfferingId": "

The ID of the offering.

", - "HostOffering$InstanceFamily": "

The instance family of the offering.

", - "HostOffering$UpfrontPrice": "

The upfront price of the offering. Does not apply to No Upfront offerings.

", - "HostOffering$HourlyPrice": "

The hourly price of the offering.

", - "HostProperties$InstanceType": "

The instance type size that the Dedicated Host supports (for example, m3.medium).

", - "HostReservation$HostReservationId": "

The ID of the reservation that specifies the associated Dedicated Hosts.

", - "HostReservation$OfferingId": "

The ID of the reservation. This remains the same regardless of which Dedicated Hosts are associated with it.

", - "HostReservation$InstanceFamily": "

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.

", - "HostReservation$HourlyPrice": "

The hourly price of the reservation.

", - "HostReservation$UpfrontPrice": "

The upfront price of the reservation.

", - "HostReservationIdSet$member": null, - "IamInstanceProfile$Arn": "

The Amazon Resource Name (ARN) of the instance profile.

", - "IamInstanceProfile$Id": "

The ID of the instance profile.

", - "IamInstanceProfileSpecification$Arn": "

The Amazon Resource Name (ARN) of the instance profile.

", - "IamInstanceProfileSpecification$Name": "

The name of the instance profile.

", - "IdFormat$Resource": "

The type of resource.

", - "Image$ImageId": "

The ID of the AMI.

", - "Image$ImageLocation": "

The location of the AMI.

", - "Image$OwnerId": "

The AWS account ID of the image owner.

", - "Image$CreationDate": "

The date and time the image was created.

", - "Image$KernelId": "

The kernel associated with the image, if any. Only applicable for machine images.

", - "Image$RamdiskId": "

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "Image$SriovNetSupport": "

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "Image$ImageOwnerAlias": "

The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.

", - "Image$Name": "

The name of the AMI that was provided during image creation.

", - "Image$Description": "

The description of the AMI that was provided during image creation.

", - "Image$RootDeviceName": "

The device name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "ImageAttribute$ImageId": "

The ID of the AMI.

", - "ImageDiskContainer$Description": "

The description of the disk image.

", - "ImageDiskContainer$Format": "

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

", - "ImageDiskContainer$Url": "

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://..)

", - "ImageDiskContainer$DeviceName": "

The block device mapping for the disk.

", - "ImageDiskContainer$SnapshotId": "

The ID of the EBS snapshot to be used for importing the snapshot.

", - "ImageIdStringList$member": null, - "ImportImageRequest$Description": "

A description string for the import image task.

", - "ImportImageRequest$LicenseType": "

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

", - "ImportImageRequest$Hypervisor": "

The target hypervisor platform.

Valid values: xen

", - "ImportImageRequest$Architecture": "

The architecture of the virtual machine.

Valid values: i386 | x86_64

", - "ImportImageRequest$Platform": "

The operating system of the virtual machine.

Valid values: Windows | Linux

", - "ImportImageRequest$ClientToken": "

The token to enable idempotency for VM import requests.

", - "ImportImageRequest$RoleName": "

The name of the role to use when not using the default role, 'vmimport'.

", - "ImportImageResult$ImportTaskId": "

The task ID of the import image task.

", - "ImportImageResult$Architecture": "

The architecture of the virtual machine.

", - "ImportImageResult$LicenseType": "

The license type of the virtual machine.

", - "ImportImageResult$Platform": "

The operating system of the virtual machine.

", - "ImportImageResult$Hypervisor": "

The target hypervisor of the import task.

", - "ImportImageResult$Description": "

A description of the import task.

", - "ImportImageResult$ImageId": "

The ID of the Amazon Machine Image (AMI) created by the import task.

", - "ImportImageResult$Progress": "

The progress of the task.

", - "ImportImageResult$StatusMessage": "

A detailed status message of the import task.

", - "ImportImageResult$Status": "

A brief status of the task.

", - "ImportImageTask$ImportTaskId": "

The ID of the import image task.

", - "ImportImageTask$Architecture": "

The architecture of the virtual machine.

Valid values: i386 | x86_64

", - "ImportImageTask$LicenseType": "

The license type of the virtual machine.

", - "ImportImageTask$Platform": "

The description string for the import image task.

", - "ImportImageTask$Hypervisor": "

The target hypervisor for the import task.

Valid values: xen

", - "ImportImageTask$Description": "

A description of the import task.

", - "ImportImageTask$ImageId": "

The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

", - "ImportImageTask$Progress": "

The percentage of progress of the import image task.

", - "ImportImageTask$StatusMessage": "

A descriptive status message for the import image task.

", - "ImportImageTask$Status": "

A brief status for the import image task.

", - "ImportInstanceLaunchSpecification$AdditionalInfo": "

Reserved.

", - "ImportInstanceLaunchSpecification$SubnetId": "

[EC2-VPC] The ID of the subnet in which to launch the instance.

", - "ImportInstanceLaunchSpecification$PrivateIpAddress": "

[EC2-VPC] An available IP address from the IP address range of the subnet.

", - "ImportInstanceRequest$Description": "

A description for the instance being imported.

", - "ImportInstanceTaskDetails$InstanceId": "

The ID of the instance.

", - "ImportInstanceTaskDetails$Description": "

A description of the task.

", - "ImportInstanceVolumeDetailItem$AvailabilityZone": "

The Availability Zone where the resulting instance will reside.

", - "ImportInstanceVolumeDetailItem$Status": "

The status of the import of this particular disk image.

", - "ImportInstanceVolumeDetailItem$StatusMessage": "

The status information or errors related to the disk image.

", - "ImportInstanceVolumeDetailItem$Description": "

A description of the task.

", - "ImportKeyPairRequest$KeyName": "

A unique name for the key pair.

", - "ImportKeyPairResult$KeyName": "

The key pair name you provided.

", - "ImportKeyPairResult$KeyFingerprint": "

The MD5 public key fingerprint as specified in section 4 of RFC 4716.

", - "ImportSnapshotRequest$Description": "

The description string for the import snapshot task.

", - "ImportSnapshotRequest$ClientToken": "

Token to enable idempotency for VM import requests.

", - "ImportSnapshotRequest$RoleName": "

The name of the role to use when not using the default role, 'vmimport'.

", - "ImportSnapshotResult$ImportTaskId": "

The ID of the import snapshot task.

", - "ImportSnapshotResult$Description": "

A description of the import snapshot task.

", - "ImportSnapshotTask$ImportTaskId": "

The ID of the import snapshot task.

", - "ImportSnapshotTask$Description": "

A description of the import snapshot task.

", - "ImportTaskIdList$member": null, - "ImportVolumeRequest$AvailabilityZone": "

The Availability Zone for the resulting EBS volume.

", - "ImportVolumeRequest$Description": "

A description of the volume.

", - "ImportVolumeTaskDetails$AvailabilityZone": "

The Availability Zone where the resulting volume will reside.

", - "ImportVolumeTaskDetails$Description": "

The description you provided when starting the import volume task.

", - "Instance$InstanceId": "

The ID of the instance.

", - "Instance$ImageId": "

The ID of the AMI used to launch the instance.

", - "Instance$PrivateDnsName": "

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.

", - "Instance$PublicDnsName": "

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.

", - "Instance$StateTransitionReason": "

The reason for the most recent state transition. This might be an empty string.

", - "Instance$KeyName": "

The name of the key pair, if this instance was launched with an associated key pair.

", - "Instance$KernelId": "

The kernel associated with this instance, if applicable.

", - "Instance$RamdiskId": "

The RAM disk associated with this instance, if applicable.

", - "Instance$SubnetId": "

[EC2-VPC] The ID of the subnet in which the instance is running.

", - "Instance$VpcId": "

[EC2-VPC] The ID of the VPC in which the instance is running.

", - "Instance$PrivateIpAddress": "

The private IP address assigned to the instance.

", - "Instance$PublicIpAddress": "

The public IP address assigned to the instance, if applicable.

", - "Instance$RootDeviceName": "

The root device name (for example, /dev/sda1 or /dev/xvda).

", - "Instance$SpotInstanceRequestId": "

If the request is a Spot instance request, the ID of the request.

", - "Instance$ClientToken": "

The idempotency token you provided when you launched the instance, if applicable.

", - "Instance$SriovNetSupport": "

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "InstanceAttribute$InstanceId": "

The ID of the instance.

", - "InstanceBlockDeviceMapping$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "InstanceBlockDeviceMappingSpecification$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "InstanceBlockDeviceMappingSpecification$VirtualName": "

The virtual device name.

", - "InstanceBlockDeviceMappingSpecification$NoDevice": "

suppress the specified device included in the block device mapping.

", - "InstanceCapacity$InstanceType": "

The instance type size supported by the Dedicated Host.

", - "InstanceExportDetails$InstanceId": "

The ID of the resource being exported.

", - "InstanceIdSet$member": null, - "InstanceIdStringList$member": null, - "InstanceMonitoring$InstanceId": "

The ID of the instance.

", - "InstanceNetworkInterface$NetworkInterfaceId": "

The ID of the network interface.

", - "InstanceNetworkInterface$SubnetId": "

The ID of the subnet.

", - "InstanceNetworkInterface$VpcId": "

The ID of the VPC.

", - "InstanceNetworkInterface$Description": "

The description.

", - "InstanceNetworkInterface$OwnerId": "

The ID of the AWS account that created the network interface.

", - "InstanceNetworkInterface$MacAddress": "

The MAC address.

", - "InstanceNetworkInterface$PrivateIpAddress": "

The IP address of the network interface within the subnet.

", - "InstanceNetworkInterface$PrivateDnsName": "

The private DNS name.

", - "InstanceNetworkInterfaceAssociation$PublicIp": "

The public IP address or Elastic IP address bound to the network interface.

", - "InstanceNetworkInterfaceAssociation$PublicDnsName": "

The public DNS name.

", - "InstanceNetworkInterfaceAssociation$IpOwnerId": "

The ID of the owner of the Elastic IP address.

", - "InstanceNetworkInterfaceAttachment$AttachmentId": "

The ID of the network interface attachment.

", - "InstanceNetworkInterfaceSpecification$NetworkInterfaceId": "

The ID of the network interface.

", - "InstanceNetworkInterfaceSpecification$SubnetId": "

The ID of the subnet associated with the network string. Applies only if creating a network interface when launching an instance.

", - "InstanceNetworkInterfaceSpecification$Description": "

The description of the network interface. Applies only if creating a network interface when launching an instance.

", - "InstanceNetworkInterfaceSpecification$PrivateIpAddress": "

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.

", - "InstancePrivateIpAddress$PrivateIpAddress": "

The private IP address of the network interface.

", - "InstancePrivateIpAddress$PrivateDnsName": "

The private DNS name.

", - "InstanceStateChange$InstanceId": "

The ID of the instance.

", - "InstanceStatus$InstanceId": "

The ID of the instance.

", - "InstanceStatus$AvailabilityZone": "

The Availability Zone of the instance.

", - "InstanceStatusEvent$Description": "

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].

", - "InternetGateway$InternetGatewayId": "

The ID of the Internet gateway.

", - "InternetGatewayAttachment$VpcId": "

The ID of the VPC.

", - "IpPermission$IpProtocol": "

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.

", - "IpRange$CidrIp": "

The CIDR range. You can either specify a CIDR range or a source security group, not both.

", - "IpRanges$member": null, - "KeyNameStringList$member": null, - "KeyPair$KeyName": "

The name of the key pair.

", - "KeyPair$KeyFingerprint": "

The SHA-1 digest of the DER encoded private key.

", - "KeyPair$KeyMaterial": "

An unencrypted PEM encoded RSA private key.

", - "KeyPairInfo$KeyName": "

The name of the key pair.

", - "KeyPairInfo$KeyFingerprint": "

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.

", - "LaunchPermission$UserId": "

The AWS account ID.

", - "LaunchSpecification$ImageId": "

The ID of the AMI.

", - "LaunchSpecification$KeyName": "

The name of the key pair.

", - "LaunchSpecification$UserData": "

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.

", - "LaunchSpecification$AddressingType": "

Deprecated.

", - "LaunchSpecification$KernelId": "

The ID of the kernel.

", - "LaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "LaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instance.

", - "ModifyIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", - "ModifyIdentityIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", - "ModifyIdentityIdFormatRequest$PrincipalArn": "

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.

", - "ModifyImageAttributeRequest$ImageId": "

The ID of the AMI.

", - "ModifyImageAttributeRequest$Attribute": "

The name of the attribute to modify.

", - "ModifyImageAttributeRequest$Value": "

The value of the attribute being modified. This is only valid when modifying the description attribute.

", - "ModifyInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", - "ModifyInstanceAttributeRequest$Value": "

A new value for the attribute. Use only with the kernel, ramdisk, userData, disableApiTermination, or instanceInitiatedShutdownBehavior attribute.

", - "ModifyInstancePlacementRequest$InstanceId": "

The ID of the instance that you are modifying.

", - "ModifyInstancePlacementRequest$HostId": "

The ID of the Dedicated Host that the instance will have affinity with.

", - "ModifyNetworkInterfaceAttributeRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "ModifyReservedInstancesRequest$ClientToken": "

A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

", - "ModifyReservedInstancesResult$ReservedInstancesModificationId": "

The ID for the modification.

", - "ModifySnapshotAttributeRequest$SnapshotId": "

The ID of the snapshot.

", - "ModifySpotFleetRequestRequest$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "ModifySubnetAttributeRequest$SubnetId": "

The ID of the subnet.

", - "ModifyVolumeAttributeRequest$VolumeId": "

The ID of the volume.

", - "ModifyVpcAttributeRequest$VpcId": "

The ID of the VPC.

", - "ModifyVpcEndpointRequest$VpcEndpointId": "

The ID of the endpoint.

", - "ModifyVpcEndpointRequest$PolicyDocument": "

A policy document to attach to the endpoint. The policy must be in valid JSON format.

", - "ModifyVpcPeeringConnectionOptionsRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "MoveAddressToVpcRequest$PublicIp": "

The Elastic IP address.

", - "MoveAddressToVpcResult$AllocationId": "

The allocation ID for the Elastic IP address.

", - "MovingAddressStatus$PublicIp": "

The Elastic IP address.

", - "NatGateway$VpcId": "

The ID of the VPC in which the NAT gateway is located.

", - "NatGateway$SubnetId": "

The ID of the subnet in which the NAT gateway is located.

", - "NatGateway$NatGatewayId": "

The ID of the NAT gateway.

", - "NatGateway$FailureCode": "

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)

", - "NatGateway$FailureMessage": "

If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

", - "NatGatewayAddress$PublicIp": "

The Elastic IP address associated with the NAT gateway.

", - "NatGatewayAddress$AllocationId": "

The allocation ID of the Elastic IP address that's associated with the NAT gateway.

", - "NatGatewayAddress$PrivateIp": "

The private IP address associated with the Elastic IP address.

", - "NatGatewayAddress$NetworkInterfaceId": "

The ID of the network interface associated with the NAT gateway.

", - "NetworkAcl$NetworkAclId": "

The ID of the network ACL.

", - "NetworkAcl$VpcId": "

The ID of the VPC for the network ACL.

", - "NetworkAclAssociation$NetworkAclAssociationId": "

The ID of the association between a network ACL and a subnet.

", - "NetworkAclAssociation$NetworkAclId": "

The ID of the network ACL.

", - "NetworkAclAssociation$SubnetId": "

The ID of the subnet.

", - "NetworkAclEntry$Protocol": "

The protocol. A value of -1 means all protocols.

", - "NetworkAclEntry$CidrBlock": "

The network range to allow or deny, in CIDR notation.

", - "NetworkInterface$NetworkInterfaceId": "

The ID of the network interface.

", - "NetworkInterface$SubnetId": "

The ID of the subnet.

", - "NetworkInterface$VpcId": "

The ID of the VPC.

", - "NetworkInterface$AvailabilityZone": "

The Availability Zone.

", - "NetworkInterface$Description": "

A description.

", - "NetworkInterface$OwnerId": "

The AWS account ID of the owner of the network interface.

", - "NetworkInterface$RequesterId": "

The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

", - "NetworkInterface$MacAddress": "

The MAC address.

", - "NetworkInterface$PrivateIpAddress": "

The IP address of the network interface within the subnet.

", - "NetworkInterface$PrivateDnsName": "

The private DNS name.

", - "NetworkInterfaceAssociation$PublicIp": "

The address of the Elastic IP address bound to the network interface.

", - "NetworkInterfaceAssociation$PublicDnsName": "

The public DNS name.

", - "NetworkInterfaceAssociation$IpOwnerId": "

The ID of the Elastic IP address owner.

", - "NetworkInterfaceAssociation$AllocationId": "

The allocation ID.

", - "NetworkInterfaceAssociation$AssociationId": "

The association ID.

", - "NetworkInterfaceAttachment$AttachmentId": "

The ID of the network interface attachment.

", - "NetworkInterfaceAttachment$InstanceId": "

The ID of the instance.

", - "NetworkInterfaceAttachment$InstanceOwnerId": "

The AWS account ID of the owner of the instance.

", - "NetworkInterfaceAttachmentChanges$AttachmentId": "

The ID of the network interface attachment.

", - "NetworkInterfaceIdList$member": null, - "NetworkInterfacePrivateIpAddress$PrivateIpAddress": "

The private IP address.

", - "NetworkInterfacePrivateIpAddress$PrivateDnsName": "

The private DNS name.

", - "NewDhcpConfiguration$Key": null, - "OwnerStringList$member": null, - "Placement$AvailabilityZone": "

The Availability Zone of the instance.

", - "Placement$GroupName": "

The name of the placement group the instance is in (for cluster compute instances).

", - "Placement$HostId": "

The ID of the Dedicted host on which the instance resides. This parameter is not support for the ImportInstance command.

", - "Placement$Affinity": "

The affinity setting for the instance on the Dedicated Host. This parameter is not supported for the ImportInstance command.

", - "PlacementGroup$GroupName": "

The name of the placement group.

", - "PlacementGroupStringList$member": null, - "PrefixList$PrefixListId": "

The ID of the prefix.

", - "PrefixList$PrefixListName": "

The name of the prefix.

", - "PrefixListId$PrefixListId": "

The ID of the prefix.

", - "PrefixListIdSet$member": null, - "PrivateIpAddressSpecification$PrivateIpAddress": "

The private IP addresses.

", - "PrivateIpAddressStringList$member": null, - "ProductCode$ProductCodeId": "

The product code.

", - "ProductCodeStringList$member": null, - "ProductDescriptionList$member": null, - "PropagatingVgw$GatewayId": "

The ID of the virtual private gateway (VGW).

", - "ProvisionedBandwidth$Provisioned": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "ProvisionedBandwidth$Requested": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "ProvisionedBandwidth$Status": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "PublicIpStringList$member": null, - "Purchase$HostReservationId": "

The ID of the reservation.

", - "Purchase$InstanceFamily": "

The instance family on the Dedicated Host that the reservation can be associated with.

", - "Purchase$UpfrontPrice": "

The upfront price of the reservation.

", - "Purchase$HourlyPrice": "

The hourly price of the reservation per hour.

", - "PurchaseHostReservationRequest$OfferingId": "

The ID of the offering.

", - "PurchaseHostReservationRequest$LimitPrice": "

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.

", - "PurchaseHostReservationRequest$ClientToken": "

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$TotalUpfrontPrice": "

The total amount that will be charged to your account when you purchase the reservation.

", - "PurchaseHostReservationResult$TotalHourlyPrice": "

The total hourly price of the reservation calculated per hour.

", - "PurchaseHostReservationResult$ClientToken": "

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

", - "PurchaseRequest$PurchaseToken": "

The purchase token.

", - "PurchaseReservedInstancesOfferingRequest$ReservedInstancesOfferingId": "

The ID of the Reserved Instance offering to purchase.

", - "PurchaseReservedInstancesOfferingResult$ReservedInstancesId": "

The IDs of the purchased Reserved Instances.

", - "PurchaseScheduledInstancesRequest$ClientToken": "

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", - "Region$RegionName": "

The name of the region.

", - "Region$Endpoint": "

The region service endpoint.

", - "RegionNameStringList$member": null, - "RegisterImageRequest$ImageLocation": "

The full path to your AMI manifest in Amazon S3 storage.

", - "RegisterImageRequest$Name": "

A name for your AMI.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "RegisterImageRequest$Description": "

A description for your AMI.

", - "RegisterImageRequest$KernelId": "

The ID of the kernel.

", - "RegisterImageRequest$RamdiskId": "

The ID of the RAM disk.

", - "RegisterImageRequest$RootDeviceName": "

The name of the root device (for example, /dev/sda1, or /dev/xvda).

", - "RegisterImageRequest$VirtualizationType": "

The type of virtualization.

Default: paravirtual

", - "RegisterImageRequest$SriovNetSupport": "

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.

", - "RegisterImageResult$ImageId": "

The ID of the newly registered AMI.

", - "RejectVpcPeeringConnectionRequest$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "ReleaseAddressRequest$PublicIp": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

", - "ReleaseAddressRequest$AllocationId": "

[EC2-VPC] The allocation ID. Required for EC2-VPC.

", - "ReplaceNetworkAclAssociationRequest$AssociationId": "

The ID of the current association between the original network ACL and the subnet.

", - "ReplaceNetworkAclAssociationRequest$NetworkAclId": "

The ID of the new network ACL to associate with the subnet.

", - "ReplaceNetworkAclAssociationResult$NewAssociationId": "

The ID of the new association.

", - "ReplaceNetworkAclEntryRequest$NetworkAclId": "

The ID of the ACL.

", - "ReplaceNetworkAclEntryRequest$Protocol": "

The IP protocol. You can specify all or -1 to mean all protocols.

", - "ReplaceNetworkAclEntryRequest$CidrBlock": "

The network range to allow or deny, in CIDR notation.

", - "ReplaceRouteRequest$RouteTableId": "

The ID of the route table.

", - "ReplaceRouteRequest$DestinationCidrBlock": "

The CIDR address block used for the destination match. The value you provide must match the CIDR of an existing route in the table.

", - "ReplaceRouteRequest$GatewayId": "

The ID of an Internet gateway or virtual private gateway.

", - "ReplaceRouteRequest$InstanceId": "

The ID of a NAT instance in your VPC.

", - "ReplaceRouteRequest$NetworkInterfaceId": "

The ID of a network interface.

", - "ReplaceRouteRequest$VpcPeeringConnectionId": "

The ID of a VPC peering connection.

", - "ReplaceRouteRequest$NatGatewayId": "

The ID of a NAT gateway.

", - "ReplaceRouteTableAssociationRequest$AssociationId": "

The association ID.

", - "ReplaceRouteTableAssociationRequest$RouteTableId": "

The ID of the new route table to associate with the subnet.

", - "ReplaceRouteTableAssociationResult$NewAssociationId": "

The ID of the new association.

", - "ReportInstanceStatusRequest$Description": "

Descriptive text about the health state of your instance.

", - "RequestHostIdList$member": null, - "RequestHostIdSet$member": null, - "RequestSpotFleetResponse$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "RequestSpotInstancesRequest$SpotPrice": "

The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "RequestSpotInstancesRequest$ClientToken": "

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.

", - "RequestSpotInstancesRequest$LaunchGroup": "

The instance launch group. Launch groups are Spot instances that launch together and terminate together.

Default: Instances are launched and terminated individually

", - "RequestSpotInstancesRequest$AvailabilityZoneGroup": "

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.

", - "RequestSpotLaunchSpecification$ImageId": "

The ID of the AMI.

", - "RequestSpotLaunchSpecification$KeyName": "

The name of the key pair.

", - "RequestSpotLaunchSpecification$UserData": "

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.

", - "RequestSpotLaunchSpecification$AddressingType": "

Deprecated.

", - "RequestSpotLaunchSpecification$KernelId": "

The ID of the kernel.

", - "RequestSpotLaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "RequestSpotLaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instance.

", - "Reservation$ReservationId": "

The ID of the reservation.

", - "Reservation$OwnerId": "

The ID of the AWS account that owns the reservation.

", - "Reservation$RequesterId": "

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", - "ReservationValue$RemainingTotalValue": "

The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

", - "ReservationValue$RemainingUpfrontValue": "

The remaining upfront cost of the reservation.

", - "ReservationValue$HourlyPrice": "

The hourly rate of the reservation.

", - "ReservedInstanceIdSet$member": null, - "ReservedInstanceReservationValue$ReservedInstanceId": "

The ID of the Convertible Reserved Instance that you are exchanging.

", - "ReservedInstances$ReservedInstancesId": "

The ID of the Reserved Instance.

", - "ReservedInstances$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", - "ReservedInstancesConfiguration$AvailabilityZone": "

The Availability Zone for the modified Reserved Instances.

", - "ReservedInstancesConfiguration$Platform": "

The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

", - "ReservedInstancesId$ReservedInstancesId": "

The ID of the Reserved Instance.

", - "ReservedInstancesIdStringList$member": null, - "ReservedInstancesListing$ReservedInstancesListingId": "

The ID of the Reserved Instance listing.

", - "ReservedInstancesListing$ReservedInstancesId": "

The ID of the Reserved Instance.

", - "ReservedInstancesListing$StatusMessage": "

The reason for the current status of the Reserved Instance listing. The response can be blank.

", - "ReservedInstancesListing$ClientToken": "

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", - "ReservedInstancesModification$ReservedInstancesModificationId": "

A unique ID for the Reserved Instance modification.

", - "ReservedInstancesModification$Status": "

The status of the Reserved Instances modification request.

", - "ReservedInstancesModification$StatusMessage": "

The reason for the status.

", - "ReservedInstancesModification$ClientToken": "

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", - "ReservedInstancesModificationIdStringList$member": null, - "ReservedInstancesModificationResult$ReservedInstancesId": "

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.

", - "ReservedInstancesOffering$ReservedInstancesOfferingId": "

The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote to confirm that an exchange can be made.

", - "ReservedInstancesOffering$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", - "ReservedInstancesOfferingIdStringList$member": null, - "ResetImageAttributeRequest$ImageId": "

The ID of the AMI.

", - "ResetInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", - "ResetNetworkInterfaceAttributeRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "ResetNetworkInterfaceAttributeRequest$SourceDestCheck": "

The source/destination checking attribute. Resets the value to true.

", - "ResetSnapshotAttributeRequest$SnapshotId": "

The ID of the snapshot.

", - "ResourceIdList$member": null, - "ResponseHostIdList$member": null, - "ResponseHostIdSet$member": null, - "RestorableByStringList$member": null, - "RestoreAddressToClassicRequest$PublicIp": "

The Elastic IP address.

", - "RestoreAddressToClassicResult$PublicIp": "

The Elastic IP address.

", - "RevokeSecurityGroupEgressRequest$GroupId": "

The ID of the security group.

", - "RevokeSecurityGroupEgressRequest$SourceSecurityGroupName": "

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.

", - "RevokeSecurityGroupEgressRequest$SourceSecurityGroupOwnerId": "

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.

", - "RevokeSecurityGroupEgressRequest$IpProtocol": "

The IP protocol name or number. We recommend that you specify the protocol in a set of IP permissions instead.

", - "RevokeSecurityGroupEgressRequest$CidrIp": "

The CIDR IP address range. We recommend that you specify the CIDR range in a set of IP permissions instead.

", - "RevokeSecurityGroupIngressRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group.

", - "RevokeSecurityGroupIngressRequest$GroupId": "

The ID of the security group. Required for a security group in a nondefault VPC.

", - "RevokeSecurityGroupIngressRequest$SourceSecurityGroupName": "

[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.

", - "RevokeSecurityGroupIngressRequest$SourceSecurityGroupOwnerId": "

[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.

", - "RevokeSecurityGroupIngressRequest$IpProtocol": "

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "RevokeSecurityGroupIngressRequest$CidrIp": "

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "Route$DestinationCidrBlock": "

The CIDR block used for the destination match.

", - "Route$DestinationPrefixListId": "

The prefix of the AWS service.

", - "Route$GatewayId": "

The ID of a gateway attached to your VPC.

", - "Route$InstanceId": "

The ID of a NAT instance in your VPC.

", - "Route$InstanceOwnerId": "

The AWS account ID of the owner of the instance.

", - "Route$NetworkInterfaceId": "

The ID of the network interface.

", - "Route$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "Route$NatGatewayId": "

The ID of a NAT gateway.

", - "RouteTable$RouteTableId": "

The ID of the route table.

", - "RouteTable$VpcId": "

The ID of the VPC.

", - "RouteTableAssociation$RouteTableAssociationId": "

The ID of the association between a route table and a subnet.

", - "RouteTableAssociation$RouteTableId": "

The ID of the route table.

", - "RouteTableAssociation$SubnetId": "

The ID of the subnet. A subnet ID is not returned for an implicit association.

", - "RunInstancesRequest$ImageId": "

The ID of the AMI, which you can get by calling DescribeImages.

", - "RunInstancesRequest$KeyName": "

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.

", - "RunInstancesRequest$UserData": "

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.

", - "RunInstancesRequest$KernelId": "

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.

", - "RunInstancesRequest$RamdiskId": "

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.

", - "RunInstancesRequest$SubnetId": "

[EC2-VPC] The ID of the subnet to launch the instance into.

", - "RunInstancesRequest$PrivateIpAddress": "

[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.

", - "RunInstancesRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraints: Maximum 64 ASCII characters

", - "RunInstancesRequest$AdditionalInfo": "

Reserved.

", - "RunScheduledInstancesRequest$ClientToken": "

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", - "RunScheduledInstancesRequest$ScheduledInstanceId": "

The Scheduled Instance ID.

", - "S3Storage$Bucket": "

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.

", - "S3Storage$Prefix": "

The beginning of the file name of the AMI.

", - "S3Storage$AWSAccessKeyId": "

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.

", - "S3Storage$UploadPolicySignature": "

The signature of the JSON document.

", - "ScheduledInstance$ScheduledInstanceId": "

The Scheduled Instance ID.

", - "ScheduledInstance$InstanceType": "

The instance type.

", - "ScheduledInstance$Platform": "

The platform (Linux/UNIX or Windows).

", - "ScheduledInstance$NetworkPlatform": "

The network platform (EC2-Classic or EC2-VPC).

", - "ScheduledInstance$AvailabilityZone": "

The Availability Zone.

", - "ScheduledInstance$HourlyPrice": "

The hourly price for a single instance.

", - "ScheduledInstanceAvailability$InstanceType": "

The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

", - "ScheduledInstanceAvailability$Platform": "

The platform (Linux/UNIX or Windows).

", - "ScheduledInstanceAvailability$NetworkPlatform": "

The network platform (EC2-Classic or EC2-VPC).

", - "ScheduledInstanceAvailability$AvailabilityZone": "

The Availability Zone.

", - "ScheduledInstanceAvailability$PurchaseToken": "

The purchase token. This token expires in two hours.

", - "ScheduledInstanceAvailability$HourlyPrice": "

The hourly price for a single instance.

", - "ScheduledInstanceIdRequestSet$member": null, - "ScheduledInstanceRecurrence$Frequency": "

The frequency (Daily, Weekly, or Monthly).

", - "ScheduledInstanceRecurrence$OccurrenceUnit": "

The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

", - "ScheduledInstanceRecurrenceRequest$Frequency": "

The frequency (Daily, Weekly, or Monthly).

", - "ScheduledInstanceRecurrenceRequest$OccurrenceUnit": "

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.

", - "ScheduledInstancesBlockDeviceMapping$DeviceName": "

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "ScheduledInstancesBlockDeviceMapping$NoDevice": "

Suppresses the specified device included in the block device mapping of the AMI.

", - "ScheduledInstancesBlockDeviceMapping$VirtualName": "

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.

", - "ScheduledInstancesEbs$SnapshotId": "

The ID of the snapshot.

", - "ScheduledInstancesEbs$VolumeType": "

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

", - "ScheduledInstancesIamInstanceProfile$Arn": "

The Amazon Resource Name (ARN).

", - "ScheduledInstancesIamInstanceProfile$Name": "

The name.

", - "ScheduledInstancesLaunchSpecification$ImageId": "

The ID of the Amazon Machine Image (AMI).

", - "ScheduledInstancesLaunchSpecification$KeyName": "

The name of the key pair.

", - "ScheduledInstancesLaunchSpecification$UserData": "

The base64-encoded MIME user data.

", - "ScheduledInstancesLaunchSpecification$KernelId": "

The ID of the kernel.

", - "ScheduledInstancesLaunchSpecification$InstanceType": "

The instance type.

", - "ScheduledInstancesLaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "ScheduledInstancesLaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instances.

", - "ScheduledInstancesNetworkInterface$NetworkInterfaceId": "

The ID of the network interface.

", - "ScheduledInstancesNetworkInterface$SubnetId": "

The ID of the subnet.

", - "ScheduledInstancesNetworkInterface$Description": "

The description.

", - "ScheduledInstancesNetworkInterface$PrivateIpAddress": "

The IP address of the network interface within the subnet.

", - "ScheduledInstancesPlacement$AvailabilityZone": "

The Availability Zone.

", - "ScheduledInstancesPlacement$GroupName": "

The name of the placement group.

", - "ScheduledInstancesPrivateIpAddressConfig$PrivateIpAddress": "

The IP address.

", - "ScheduledInstancesSecurityGroupIdSet$member": null, - "SecurityGroup$OwnerId": "

The AWS account ID of the owner of the security group.

", - "SecurityGroup$GroupName": "

The name of the security group.

", - "SecurityGroup$GroupId": "

The ID of the security group.

", - "SecurityGroup$Description": "

A description of the security group.

", - "SecurityGroup$VpcId": "

[EC2-VPC] The ID of the VPC for the security group.

", - "SecurityGroupIdStringList$member": null, - "SecurityGroupReference$GroupId": "

The ID of your security group.

", - "SecurityGroupReference$ReferencingVpcId": "

The ID of the VPC with the referencing security group.

", - "SecurityGroupReference$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "SecurityGroupStringList$member": null, - "Snapshot$SnapshotId": "

The ID of the snapshot. Each snapshot receives a unique identifier when it is created.

", - "Snapshot$VolumeId": "

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.

", - "Snapshot$StateMessage": "

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.

", - "Snapshot$Progress": "

The progress of the snapshot, as a percentage.

", - "Snapshot$OwnerId": "

The AWS account ID of the EBS snapshot owner.

", - "Snapshot$Description": "

The description for the snapshot.

", - "Snapshot$OwnerAlias": "

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.

", - "Snapshot$KmsKeyId": "

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.

", - "Snapshot$DataEncryptionKeyId": "

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.

", - "SnapshotDetail$Description": "

A description for the snapshot.

", - "SnapshotDetail$Format": "

The format of the disk image from which the snapshot is created.

", - "SnapshotDetail$Url": "

The URL used to access the disk image.

", - "SnapshotDetail$DeviceName": "

The block device mapping for the snapshot.

", - "SnapshotDetail$SnapshotId": "

The snapshot ID of the disk being imported.

", - "SnapshotDetail$Progress": "

The percentage of progress for the task.

", - "SnapshotDetail$StatusMessage": "

A detailed status message for the snapshot creation.

", - "SnapshotDetail$Status": "

A brief status of the snapshot creation.

", - "SnapshotDiskContainer$Description": "

The description of the disk image being imported.

", - "SnapshotDiskContainer$Format": "

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

", - "SnapshotDiskContainer$Url": "

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://..).

", - "SnapshotIdStringList$member": null, - "SnapshotTaskDetail$Description": "

The description of the snapshot.

", - "SnapshotTaskDetail$Format": "

The format of the disk image from which the snapshot is created.

", - "SnapshotTaskDetail$Url": "

The URL of the disk image from which the snapshot is created.

", - "SnapshotTaskDetail$SnapshotId": "

The snapshot ID of the disk being imported.

", - "SnapshotTaskDetail$Progress": "

The percentage of completion for the import snapshot task.

", - "SnapshotTaskDetail$StatusMessage": "

A detailed status message for the import snapshot task.

", - "SnapshotTaskDetail$Status": "

A brief status for the import snapshot task.

", - "SpotDatafeedSubscription$OwnerId": "

The AWS account ID of the account.

", - "SpotDatafeedSubscription$Bucket": "

The Amazon S3 bucket where the Spot instance data feed is located.

", - "SpotDatafeedSubscription$Prefix": "

The prefix that is prepended to data feed files.

", - "SpotFleetLaunchSpecification$ImageId": "

The ID of the AMI.

", - "SpotFleetLaunchSpecification$KeyName": "

The name of the key pair.

", - "SpotFleetLaunchSpecification$UserData": "

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.

", - "SpotFleetLaunchSpecification$AddressingType": "

Deprecated.

", - "SpotFleetLaunchSpecification$KernelId": "

The ID of the kernel.

", - "SpotFleetLaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", - "SpotFleetLaunchSpecification$SubnetId": "

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\".

", - "SpotFleetLaunchSpecification$SpotPrice": "

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.

", - "SpotFleetRequestConfig$SpotFleetRequestId": "

The ID of the Spot fleet request.

", - "SpotFleetRequestConfigData$ClientToken": "

A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "SpotFleetRequestConfigData$SpotPrice": "

The bid price per unit hour.

", - "SpotFleetRequestConfigData$IamFleetRole": "

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.

", - "SpotInstanceRequest$SpotInstanceRequestId": "

The ID of the Spot instance request.

", - "SpotInstanceRequest$SpotPrice": "

The maximum hourly price (bid) for the Spot instance launched to fulfill the request.

", - "SpotInstanceRequest$LaunchGroup": "

The instance launch group. Launch groups are Spot instances that launch together and terminate together.

", - "SpotInstanceRequest$AvailabilityZoneGroup": "

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.

", - "SpotInstanceRequest$InstanceId": "

The instance ID, if an instance has been launched to fulfill the Spot instance request.

", - "SpotInstanceRequest$ActualBlockHourlyPrice": "

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.

", - "SpotInstanceRequest$LaunchedAvailabilityZone": "

The Availability Zone in which the bid is launched.

", - "SpotInstanceRequestIdList$member": null, - "SpotInstanceStateFault$Code": "

The reason code for the Spot instance state change.

", - "SpotInstanceStateFault$Message": "

The message for the Spot instance state change.

", - "SpotInstanceStatus$Code": "

The status code. For a list of status codes, see Spot Bid Status Codes in the Amazon Elastic Compute Cloud User Guide.

", - "SpotInstanceStatus$Message": "

The description for the status code.

", - "SpotPlacement$AvailabilityZone": "

The Availability Zone.

[Spot fleet only] To specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".

", - "SpotPlacement$GroupName": "

The name of the placement group (for cluster instances).

", - "SpotPrice$SpotPrice": "

The maximum price (bid) that you are willing to pay for a Spot instance.

", - "SpotPrice$AvailabilityZone": "

The Availability Zone.

", - "StaleIpPermission$IpProtocol": "

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

", - "StaleSecurityGroup$GroupId": "

The ID of the security group.

", - "StaleSecurityGroup$GroupName": "

The name of the security group.

", - "StaleSecurityGroup$Description": "

The description of the security group.

", - "StaleSecurityGroup$VpcId": "

The ID of the VPC for the security group.

", - "StartInstancesRequest$AdditionalInfo": "

Reserved.

", - "StateReason$Code": "

The reason code for the state change.

", - "StateReason$Message": "

The message for the state change.

", - "Subnet$SubnetId": "

The ID of the subnet.

", - "Subnet$VpcId": "

The ID of the VPC the subnet is in.

", - "Subnet$CidrBlock": "

The CIDR block assigned to the subnet.

", - "Subnet$AvailabilityZone": "

The Availability Zone of the subnet.

", - "SubnetIdStringList$member": null, - "Tag$Key": "

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:

", - "Tag$Value": "

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

", - "TagDescription$ResourceId": "

The ID of the resource. For example, ami-1a2b3c4d.

", - "TagDescription$Key": "

The tag key.

", - "TagDescription$Value": "

The tag value.

", - "TargetConfiguration$OfferingId": "

The ID of the Convertible Reserved Instance offering.

", - "TargetConfigurationRequest$OfferingId": "

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.

", - "UnassignPrivateIpAddressesRequest$NetworkInterfaceId": "

The ID of the network interface.

", - "UnsuccessfulItem$ResourceId": "

The ID of the resource.

", - "UnsuccessfulItemError$Code": "

The error code.

", - "UnsuccessfulItemError$Message": "

The error message accompanying the error code.

", - "UserBucket$S3Bucket": "

The name of the S3 bucket where the disk image is located.

", - "UserBucket$S3Key": "

The file name of the disk image.

", - "UserBucketDetails$S3Bucket": "

The S3 bucket from which the disk image was created.

", - "UserBucketDetails$S3Key": "

The file name of the disk image.

", - "UserData$Data": "

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.

", - "UserGroupStringList$member": null, - "UserIdGroupPair$UserId": "

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.

", - "UserIdGroupPair$GroupName": "

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.

", - "UserIdGroupPair$GroupId": "

The ID of the security group.

", - "UserIdGroupPair$VpcId": "

The ID of the VPC for the referenced security group, if applicable.

", - "UserIdGroupPair$VpcPeeringConnectionId": "

The ID of the VPC peering connection, if applicable.

", - "UserIdGroupPair$PeeringStatus": "

The status of a VPC peering connection, if applicable.

", - "UserIdStringList$member": null, - "ValueStringList$member": null, - "VgwTelemetry$OutsideIpAddress": "

The Internet-routable IP address of the virtual private gateway's outside interface.

", - "VgwTelemetry$StatusMessage": "

If an error occurs, a description of the error.

", - "Volume$VolumeId": "

The ID of the volume.

", - "Volume$SnapshotId": "

The snapshot from which the volume was created, if applicable.

", - "Volume$AvailabilityZone": "

The Availability Zone for the volume.

", - "Volume$KmsKeyId": "

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.

", - "VolumeAttachment$VolumeId": "

The ID of the volume.

", - "VolumeAttachment$InstanceId": "

The ID of the instance.

", - "VolumeAttachment$Device": "

The device name.

", - "VolumeIdStringList$member": null, - "VolumeStatusAction$Code": "

The code identifying the operation, for example, enable-volume-io.

", - "VolumeStatusAction$Description": "

A description of the operation.

", - "VolumeStatusAction$EventType": "

The event type associated with this operation.

", - "VolumeStatusAction$EventId": "

The ID of the event associated with this operation.

", - "VolumeStatusDetails$Status": "

The intended status of the volume status.

", - "VolumeStatusEvent$EventType": "

The type of this event.

", - "VolumeStatusEvent$Description": "

A description of the event.

", - "VolumeStatusEvent$EventId": "

The ID of this event.

", - "VolumeStatusItem$VolumeId": "

The volume ID.

", - "VolumeStatusItem$AvailabilityZone": "

The Availability Zone of the volume.

", - "Vpc$VpcId": "

The ID of the VPC.

", - "Vpc$CidrBlock": "

The CIDR block for the VPC.

", - "Vpc$DhcpOptionsId": "

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).

", - "VpcAttachment$VpcId": "

The ID of the VPC.

", - "VpcClassicLink$VpcId": "

The ID of the VPC.

", - "VpcClassicLinkIdList$member": null, - "VpcEndpoint$VpcEndpointId": "

The ID of the VPC endpoint.

", - "VpcEndpoint$VpcId": "

The ID of the VPC to which the endpoint is associated.

", - "VpcEndpoint$ServiceName": "

The name of the AWS service to which the endpoint is associated.

", - "VpcEndpoint$PolicyDocument": "

The policy document associated with the endpoint.

", - "VpcIdStringList$member": null, - "VpcPeeringConnection$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", - "VpcPeeringConnectionStateReason$Message": "

A message that provides more information about the status, if applicable.

", - "VpcPeeringConnectionVpcInfo$CidrBlock": "

The CIDR block for the VPC.

", - "VpcPeeringConnectionVpcInfo$OwnerId": "

The AWS account ID of the VPC owner.

", - "VpcPeeringConnectionVpcInfo$VpcId": "

The ID of the VPC.

", - "VpnConnection$VpnConnectionId": "

The ID of the VPN connection.

", - "VpnConnection$CustomerGatewayConfiguration": "

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.

", - "VpnConnection$CustomerGatewayId": "

The ID of the customer gateway at your end of the VPN connection.

", - "VpnConnection$VpnGatewayId": "

The ID of the virtual private gateway at the AWS side of the VPN connection.

", - "VpnConnectionIdStringList$member": null, - "VpnGateway$VpnGatewayId": "

The ID of the virtual private gateway.

", - "VpnGateway$AvailabilityZone": "

The Availability Zone where the virtual private gateway was created, if applicable. This field may be empty or not returned.

", - "VpnGatewayIdStringList$member": null, - "VpnStaticRoute$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer data center.

", - "ZoneNameStringList$member": null - } - }, - "Subnet": { - "base": "

Describes a subnet.

", - "refs": { - "CreateSubnetResult$Subnet": "

Information about the subnet.

", - "SubnetList$member": null - } - }, - "SubnetIdStringList": { - "base": null, - "refs": { - "DescribeSubnetsRequest$SubnetIds": "

One or more subnet IDs.

Default: Describes all your subnets.

" - } - }, - "SubnetList": { - "base": null, - "refs": { - "DescribeSubnetsResult$Subnets": "

Information about one or more subnets.

" - } - }, - "SubnetState": { - "base": null, - "refs": { - "Subnet$State": "

The current state of the subnet.

" - } - }, - "SummaryStatus": { - "base": null, - "refs": { - "InstanceStatusSummary$Status": "

The status.

" - } - }, - "Tag": { - "base": "

Describes a tag.

", - "refs": { - "TagList$member": null - } - }, - "TagDescription": { - "base": "

Describes a tag.

", - "refs": { - "TagDescriptionList$member": null - } - }, - "TagDescriptionList": { - "base": null, - "refs": { - "DescribeTagsResult$Tags": "

A list of tags.

" - } - }, - "TagList": { - "base": null, - "refs": { - "ClassicLinkInstance$Tags": "

Any tags assigned to the instance.

", - "ConversionTask$Tags": "

Any tags assigned to the task.

", - "CreateTagsRequest$Tags": "

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.

", - "CustomerGateway$Tags": "

Any tags assigned to the customer gateway.

", - "DeleteTagsRequest$Tags": "

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.

", - "DhcpOptions$Tags": "

Any tags assigned to the DHCP options set.

", - "Image$Tags": "

Any tags assigned to the image.

", - "Instance$Tags": "

Any tags assigned to the instance.

", - "InternetGateway$Tags": "

Any tags assigned to the Internet gateway.

", - "NetworkAcl$Tags": "

Any tags assigned to the network ACL.

", - "NetworkInterface$TagSet": "

Any tags assigned to the network interface.

", - "ReservedInstances$Tags": "

Any tags assigned to the resource.

", - "ReservedInstancesListing$Tags": "

Any tags assigned to the resource.

", - "RouteTable$Tags": "

Any tags assigned to the route table.

", - "SecurityGroup$Tags": "

Any tags assigned to the security group.

", - "Snapshot$Tags": "

Any tags assigned to the snapshot.

", - "SpotInstanceRequest$Tags": "

Any tags assigned to the resource.

", - "Subnet$Tags": "

Any tags assigned to the subnet.

", - "Volume$Tags": "

Any tags assigned to the volume.

", - "Vpc$Tags": "

Any tags assigned to the VPC.

", - "VpcClassicLink$Tags": "

Any tags assigned to the VPC.

", - "VpcPeeringConnection$Tags": "

Any tags assigned to the resource.

", - "VpnConnection$Tags": "

Any tags assigned to the VPN connection.

", - "VpnGateway$Tags": "

Any tags assigned to the virtual private gateway.

" - } - }, - "TargetConfiguration": { - "base": "

Information about the Convertible Reserved Instance offering.

", - "refs": { - "TargetReservationValue$TargetConfiguration": "

The configuration of the Convertible Reserved Instances that make up the exchange.

" - } - }, - "TargetConfigurationRequest": { - "base": "

Details about the target configuration.

", - "refs": { - "TargetConfigurationRequestSet$member": null - } - }, - "TargetConfigurationRequestSet": { - "base": null, - "refs": { - "AcceptReservedInstancesExchangeQuoteRequest$TargetConfigurations": "

The configurations of the Convertible Reserved Instance offerings you are purchasing in this exchange.

", - "GetReservedInstancesExchangeQuoteRequest$TargetConfigurations": "

The configuration requirements of the Convertible Reserved Instances you want in exchange for your current Convertible Reserved Instances.

" - } - }, - "TargetReservationValue": { - "base": "

The total value of the new Convertible Reserved Instances.

", - "refs": { - "TargetReservationValueSet$member": null - } - }, - "TargetReservationValueSet": { - "base": null, - "refs": { - "GetReservedInstancesExchangeQuoteResult$TargetConfigurationValueSet": "

The values of the target Convertible Reserved Instances.

" - } - }, - "TelemetryStatus": { - "base": null, - "refs": { - "VgwTelemetry$Status": "

The status of the VPN tunnel.

" - } - }, - "Tenancy": { - "base": null, - "refs": { - "CreateVpcRequest$InstanceTenancy": "

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

", - "DescribeReservedInstancesOfferingsRequest$InstanceTenancy": "

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

", - "Placement$Tenancy": "

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.

", - "ReservedInstances$InstanceTenancy": "

The tenancy of the instance.

", - "ReservedInstancesOffering$InstanceTenancy": "

The tenancy of the instance.

", - "Vpc$InstanceTenancy": "

The allowed tenancy of instances launched into the VPC.

" - } - }, - "TerminateInstancesRequest": { - "base": "

Contains the parameters for TerminateInstances.

", - "refs": { - } - }, - "TerminateInstancesResult": { - "base": "

Contains the output of TerminateInstances.

", - "refs": { - } - }, - "TrafficType": { - "base": null, - "refs": { - "CreateFlowLogsRequest$TrafficType": "

The type of traffic to log.

", - "FlowLog$TrafficType": "

The type of traffic captured for the flow log.

" - } - }, - "UnassignPrivateIpAddressesRequest": { - "base": "

Contains the parameters for UnassignPrivateIpAddresses.

", - "refs": { - } - }, - "UnmonitorInstancesRequest": { - "base": "

Contains the parameters for UnmonitorInstances.

", - "refs": { - } - }, - "UnmonitorInstancesResult": { - "base": "

Contains the output of UnmonitorInstances.

", - "refs": { - } - }, - "UnsuccessfulItem": { - "base": "

Information about items that were not successfully processed in a batch call.

", - "refs": { - "UnsuccessfulItemList$member": null, - "UnsuccessfulItemSet$member": null - } - }, - "UnsuccessfulItemError": { - "base": "

Information about the error that occurred. For more information about errors, see Error Codes.

", - "refs": { - "UnsuccessfulItem$Error": "

Information about the error.

" - } - }, - "UnsuccessfulItemList": { - "base": null, - "refs": { - "ModifyHostsResult$Unsuccessful": "

The IDs of the Dedicated Hosts that could not be modified. Check whether the setting you requested can be used.

", - "ReleaseHostsResult$Unsuccessful": "

The IDs of the Dedicated Hosts that could not be released, including an error message.

" - } - }, - "UnsuccessfulItemSet": { - "base": null, - "refs": { - "CreateFlowLogsResult$Unsuccessful": "

Information about the flow logs that could not be created successfully.

", - "DeleteFlowLogsResult$Unsuccessful": "

Information about the flow logs that could not be deleted successfully.

", - "DeleteVpcEndpointsResult$Unsuccessful": "

Information about the endpoints that were not successfully deleted.

" - } - }, - "UserBucket": { - "base": "

Describes the S3 bucket for the disk image.

", - "refs": { - "ImageDiskContainer$UserBucket": "

The S3 bucket for the disk image.

", - "SnapshotDiskContainer$UserBucket": "

The S3 bucket for the disk image.

" - } - }, - "UserBucketDetails": { - "base": "

Describes the S3 bucket for the disk image.

", - "refs": { - "SnapshotDetail$UserBucket": "

The S3 bucket for the disk image.

", - "SnapshotTaskDetail$UserBucket": "

The S3 bucket for the disk image.

" - } - }, - "UserData": { - "base": "

Describes the user data for an instance.

", - "refs": { - "ImportInstanceLaunchSpecification$UserData": "

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.

" - } - }, - "UserGroupStringList": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$UserGroups": "

One or more user groups. This is only valid when modifying the launchPermission attribute.

" - } - }, - "UserIdGroupPair": { - "base": "

Describes a security group and AWS account ID pair.

", - "refs": { - "UserIdGroupPairList$member": null, - "UserIdGroupPairSet$member": null - } - }, - "UserIdGroupPairList": { - "base": null, - "refs": { - "IpPermission$UserIdGroupPairs": "

One or more security group and AWS account ID pairs.

" - } - }, - "UserIdGroupPairSet": { - "base": null, - "refs": { - "StaleIpPermission$UserIdGroupPairs": "

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.

" - } - }, - "UserIdStringList": { - "base": null, - "refs": { - "ModifyImageAttributeRequest$UserIds": "

One or more AWS account IDs. This is only valid when modifying the launchPermission attribute.

", - "ModifySnapshotAttributeRequest$UserIds": "

The account ID to modify for the snapshot.

" - } - }, - "ValueStringList": { - "base": null, - "refs": { - "CancelSpotFleetRequestsRequest$SpotFleetRequestIds": "

The IDs of the Spot fleet requests.

", - "CreateFlowLogsRequest$ResourceIds": "

One or more subnet, network interface, or VPC IDs.

Constraints: Maximum of 1000 resources

", - "CreateFlowLogsResult$FlowLogIds": "

The IDs of the flow logs.

", - "CreateVpcEndpointRequest$RouteTableIds": "

One or more route table IDs.

", - "DeleteFlowLogsRequest$FlowLogIds": "

One or more flow log IDs.

", - "DeleteVpcEndpointsRequest$VpcEndpointIds": "

One or more endpoint IDs.

", - "DescribeFlowLogsRequest$FlowLogIds": "

One or more flow log IDs.

", - "DescribeInternetGatewaysRequest$InternetGatewayIds": "

One or more Internet gateway IDs.

Default: Describes all your Internet gateways.

", - "DescribeMovingAddressesRequest$PublicIps": "

One or more Elastic IP addresses.

", - "DescribeNatGatewaysRequest$NatGatewayIds": "

One or more NAT gateway IDs.

", - "DescribeNetworkAclsRequest$NetworkAclIds": "

One or more network ACL IDs.

Default: Describes all your network ACLs.

", - "DescribePrefixListsRequest$PrefixListIds": "

One or more prefix list IDs.

", - "DescribeRouteTablesRequest$RouteTableIds": "

One or more route table IDs.

Default: Describes all your route tables.

", - "DescribeSpotFleetRequestsRequest$SpotFleetRequestIds": "

The IDs of the Spot fleet requests.

", - "DescribeVpcEndpointServicesResult$ServiceNames": "

A list of supported AWS services.

", - "DescribeVpcEndpointsRequest$VpcEndpointIds": "

One or more endpoint IDs.

", - "DescribeVpcPeeringConnectionsRequest$VpcPeeringConnectionIds": "

One or more VPC peering connection IDs.

Default: Describes all your VPC peering connections.

", - "Filter$Values": "

One or more filter values. Filter values are case-sensitive.

", - "ModifyVpcEndpointRequest$AddRouteTableIds": "

One or more route tables IDs to associate with the endpoint.

", - "ModifyVpcEndpointRequest$RemoveRouteTableIds": "

One or more route table IDs to disassociate from the endpoint.

", - "NewDhcpConfiguration$Values": null, - "PrefixList$Cidrs": "

The IP address range of the AWS service.

", - "RequestSpotLaunchSpecification$SecurityGroups": null, - "RequestSpotLaunchSpecification$SecurityGroupIds": null, - "VpcEndpoint$RouteTableIds": "

One or more route tables associated with the endpoint.

" - } - }, - "VgwTelemetry": { - "base": "

Describes telemetry for a VPN tunnel.

", - "refs": { - "VgwTelemetryList$member": null - } - }, - "VgwTelemetryList": { - "base": null, - "refs": { - "VpnConnection$VgwTelemetry": "

Information about the VPN tunnel.

" - } - }, - "VirtualizationType": { - "base": null, - "refs": { - "Image$VirtualizationType": "

The type of virtualization of the AMI.

", - "Instance$VirtualizationType": "

The virtualization type of the instance.

" - } - }, - "Volume": { - "base": "

Describes a volume.

", - "refs": { - "VolumeList$member": null - } - }, - "VolumeAttachment": { - "base": "

Describes volume attachment details.

", - "refs": { - "VolumeAttachmentList$member": null - } - }, - "VolumeAttachmentList": { - "base": null, - "refs": { - "Volume$Attachments": "

Information about the volume attachments.

" - } - }, - "VolumeAttachmentState": { - "base": null, - "refs": { - "VolumeAttachment$State": "

The attachment state of the volume.

" - } - }, - "VolumeAttributeName": { - "base": null, - "refs": { - "DescribeVolumeAttributeRequest$Attribute": "

The instance attribute.

" - } - }, - "VolumeDetail": { - "base": "

Describes an EBS volume.

", - "refs": { - "DiskImage$Volume": "

Information about the volume.

", - "ImportVolumeRequest$Volume": "

The volume size.

" - } - }, - "VolumeIdStringList": { - "base": null, - "refs": { - "DescribeVolumeStatusRequest$VolumeIds": "

One or more volume IDs.

Default: Describes all your volumes.

", - "DescribeVolumesRequest$VolumeIds": "

One or more volume IDs.

" - } - }, - "VolumeList": { - "base": null, - "refs": { - "DescribeVolumesResult$Volumes": "

Information about the volumes.

" - } - }, - "VolumeState": { - "base": null, - "refs": { - "Volume$State": "

The volume state.

" - } - }, - "VolumeStatusAction": { - "base": "

Describes a volume status operation code.

", - "refs": { - "VolumeStatusActionsList$member": null - } - }, - "VolumeStatusActionsList": { - "base": null, - "refs": { - "VolumeStatusItem$Actions": "

The details of the operation.

" - } - }, - "VolumeStatusDetails": { - "base": "

Describes a volume status.

", - "refs": { - "VolumeStatusDetailsList$member": null - } - }, - "VolumeStatusDetailsList": { - "base": null, - "refs": { - "VolumeStatusInfo$Details": "

The details of the volume status.

" - } - }, - "VolumeStatusEvent": { - "base": "

Describes a volume status event.

", - "refs": { - "VolumeStatusEventsList$member": null - } - }, - "VolumeStatusEventsList": { - "base": null, - "refs": { - "VolumeStatusItem$Events": "

A list of events associated with the volume.

" - } - }, - "VolumeStatusInfo": { - "base": "

Describes the status of a volume.

", - "refs": { - "VolumeStatusItem$VolumeStatus": "

The volume status.

" - } - }, - "VolumeStatusInfoStatus": { - "base": null, - "refs": { - "VolumeStatusInfo$Status": "

The status of the volume.

" - } - }, - "VolumeStatusItem": { - "base": "

Describes the volume status.

", - "refs": { - "VolumeStatusList$member": null - } - }, - "VolumeStatusList": { - "base": null, - "refs": { - "DescribeVolumeStatusResult$VolumeStatuses": "

A list of volumes.

" - } - }, - "VolumeStatusName": { - "base": null, - "refs": { - "VolumeStatusDetails$Name": "

The name of the volume status.

" - } - }, - "VolumeType": { - "base": null, - "refs": { - "CreateVolumeRequest$VolumeType": "

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

", - "EbsBlockDevice$VolumeType": "

The volume type: gp2, io1, st1, sc1, or standard.

Default: standard

", - "Volume$VolumeType": "

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.

" - } - }, - "Vpc": { - "base": "

Describes a VPC.

", - "refs": { - "CreateVpcResult$Vpc": "

Information about the VPC.

", - "VpcList$member": null - } - }, - "VpcAttachment": { - "base": "

Describes an attachment between a virtual private gateway and a VPC.

", - "refs": { - "AttachVpnGatewayResult$VpcAttachment": "

Information about the attachment.

", - "VpcAttachmentList$member": null - } - }, - "VpcAttachmentList": { - "base": null, - "refs": { - "VpnGateway$VpcAttachments": "

Any VPCs attached to the virtual private gateway.

" - } - }, - "VpcAttributeName": { - "base": null, - "refs": { - "DescribeVpcAttributeRequest$Attribute": "

The VPC attribute.

" - } - }, - "VpcClassicLink": { - "base": "

Describes whether a VPC is enabled for ClassicLink.

", - "refs": { - "VpcClassicLinkList$member": null - } - }, - "VpcClassicLinkIdList": { - "base": null, - "refs": { - "DescribeVpcClassicLinkDnsSupportRequest$VpcIds": "

One or more VPC IDs.

", - "DescribeVpcClassicLinkRequest$VpcIds": "

One or more VPCs for which you want to describe the ClassicLink status.

" - } - }, - "VpcClassicLinkList": { - "base": null, - "refs": { - "DescribeVpcClassicLinkResult$Vpcs": "

The ClassicLink status of one or more VPCs.

" - } - }, - "VpcEndpoint": { - "base": "

Describes a VPC endpoint.

", - "refs": { - "CreateVpcEndpointResult$VpcEndpoint": "

Information about the endpoint.

", - "VpcEndpointSet$member": null - } - }, - "VpcEndpointSet": { - "base": null, - "refs": { - "DescribeVpcEndpointsResult$VpcEndpoints": "

Information about the endpoints.

" - } - }, - "VpcIdStringList": { - "base": null, - "refs": { - "DescribeVpcsRequest$VpcIds": "

One or more VPC IDs.

Default: Describes all your VPCs.

" - } - }, - "VpcList": { - "base": null, - "refs": { - "DescribeVpcsResult$Vpcs": "

Information about one or more VPCs.

" - } - }, - "VpcPeeringConnection": { - "base": "

Describes a VPC peering connection.

", - "refs": { - "AcceptVpcPeeringConnectionResult$VpcPeeringConnection": "

Information about the VPC peering connection.

", - "CreateVpcPeeringConnectionResult$VpcPeeringConnection": "

Information about the VPC peering connection.

", - "VpcPeeringConnectionList$member": null - } - }, - "VpcPeeringConnectionList": { - "base": null, - "refs": { - "DescribeVpcPeeringConnectionsResult$VpcPeeringConnections": "

Information about the VPC peering connections.

" - } - }, - "VpcPeeringConnectionOptionsDescription": { - "base": "

Describes the VPC peering connection options.

", - "refs": { - "VpcPeeringConnectionVpcInfo$PeeringOptions": "

Information about the VPC peering connection options for the accepter or requester VPC.

" - } - }, - "VpcPeeringConnectionStateReason": { - "base": "

Describes the status of a VPC peering connection.

", - "refs": { - "VpcPeeringConnection$Status": "

The status of the VPC peering connection.

" - } - }, - "VpcPeeringConnectionStateReasonCode": { - "base": null, - "refs": { - "VpcPeeringConnectionStateReason$Code": "

The status of the VPC peering connection.

" - } - }, - "VpcPeeringConnectionVpcInfo": { - "base": "

Describes a VPC in a VPC peering connection.

", - "refs": { - "VpcPeeringConnection$AccepterVpcInfo": "

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.

", - "VpcPeeringConnection$RequesterVpcInfo": "

Information about the requester VPC.

" - } - }, - "VpcState": { - "base": null, - "refs": { - "Vpc$State": "

The current state of the VPC.

" - } - }, - "VpnConnection": { - "base": "

Describes a VPN connection.

", - "refs": { - "CreateVpnConnectionResult$VpnConnection": "

Information about the VPN connection.

", - "VpnConnectionList$member": null - } - }, - "VpnConnectionIdStringList": { - "base": null, - "refs": { - "DescribeVpnConnectionsRequest$VpnConnectionIds": "

One or more VPN connection IDs.

Default: Describes your VPN connections.

" - } - }, - "VpnConnectionList": { - "base": null, - "refs": { - "DescribeVpnConnectionsResult$VpnConnections": "

Information about one or more VPN connections.

" - } - }, - "VpnConnectionOptions": { - "base": "

Describes VPN connection options.

", - "refs": { - "VpnConnection$Options": "

The VPN connection options.

" - } - }, - "VpnConnectionOptionsSpecification": { - "base": "

Describes VPN connection options.

", - "refs": { - "CreateVpnConnectionRequest$Options": "

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

" - } - }, - "VpnGateway": { - "base": "

Describes a virtual private gateway.

", - "refs": { - "CreateVpnGatewayResult$VpnGateway": "

Information about the virtual private gateway.

", - "VpnGatewayList$member": null - } - }, - "VpnGatewayIdStringList": { - "base": null, - "refs": { - "DescribeVpnGatewaysRequest$VpnGatewayIds": "

One or more virtual private gateway IDs.

Default: Describes all your virtual private gateways.

" - } - }, - "VpnGatewayList": { - "base": null, - "refs": { - "DescribeVpnGatewaysResult$VpnGateways": "

Information about one or more virtual private gateways.

" - } - }, - "VpnState": { - "base": null, - "refs": { - "VpnConnection$State": "

The current state of the VPN connection.

", - "VpnGateway$State": "

The current state of the virtual private gateway.

", - "VpnStaticRoute$State": "

The current state of the static route.

" - } - }, - "VpnStaticRoute": { - "base": "

Describes a static route for a VPN connection.

", - "refs": { - "VpnStaticRouteList$member": null - } - }, - "VpnStaticRouteList": { - "base": null, - "refs": { - "VpnConnection$Routes": "

The static routes associated with the VPN connection.

" - } - }, - "VpnStaticRouteSource": { - "base": null, - "refs": { - "VpnStaticRoute$Source": "

Indicates how the routes were provided.

" - } - }, - "ZoneNameStringList": { - "base": null, - "refs": { - "DescribeAvailabilityZonesRequest$ZoneNames": "

The names of one or more Availability Zones.

" - } - }, - "scope": { - "base": null, - "refs": { - "ReservedInstances$Scope": "

The scope of the Reserved Instance.

", - "ReservedInstancesConfiguration$Scope": "

Whether the Reserved Instance is standard or convertible.

", - "ReservedInstancesOffering$Scope": "

Whether the Reserved Instance is applied to instances in a region or an Availability Zone.

" - } - } - } -} diff --git a/models/apis/ec2/2016-09-15/examples-1.json b/models/apis/ec2/2016-09-15/examples-1.json deleted file mode 100755 index f6a8719f208..00000000000 --- a/models/apis/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/models/apis/ec2/2016-09-15/paginators-1.json b/models/apis/ec2/2016-09-15/paginators-1.json deleted file mode 100755 index 9d04d89ab55..00000000000 --- a/models/apis/ec2/2016-09-15/paginators-1.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "pagination": { - "DescribeAccountAttributes": { - "result_key": "AccountAttributes" - }, - "DescribeAddresses": { - "result_key": "Addresses" - }, - "DescribeAvailabilityZones": { - "result_key": "AvailabilityZones" - }, - "DescribeBundleTasks": { - "result_key": "BundleTasks" - }, - "DescribeConversionTasks": { - "result_key": "ConversionTasks" - }, - "DescribeCustomerGateways": { - "result_key": "CustomerGateways" - }, - "DescribeDhcpOptions": { - "result_key": "DhcpOptions" - }, - "DescribeExportTasks": { - "result_key": "ExportTasks" - }, - "DescribeImages": { - "result_key": "Images" - }, - "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" - }, - "DescribeInternetGateways": { - "result_key": "InternetGateways" - }, - "DescribeKeyPairs": { - "result_key": "KeyPairs" - }, - "DescribeNetworkAcls": { - "result_key": "NetworkAcls" - }, - "DescribeNetworkInterfaces": { - "result_key": "NetworkInterfaces" - }, - "DescribePlacementGroups": { - "result_key": "PlacementGroups" - }, - "DescribeRegions": { - "result_key": "Regions" - }, - "DescribeReservedInstances": { - "result_key": "ReservedInstances" - }, - "DescribeReservedInstancesListings": { - "result_key": "ReservedInstancesListings" - }, - "DescribeReservedInstancesOfferings": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ReservedInstancesOfferings" - }, - "DescribeReservedInstancesModifications": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ReservedInstancesModifications" - }, - "DescribeRouteTables": { - "result_key": "RouteTables" - }, - "DescribeSecurityGroups": { - "result_key": "SecurityGroups" - }, - "DescribeSnapshots": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Snapshots" - }, - "DescribeSpotInstanceRequests": { - "result_key": "SpotInstanceRequests" - }, - "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" - }, - "DescribeSubnets": { - "result_key": "Subnets" - }, - "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" - }, - "DescribeVpcs": { - "result_key": "Vpcs" - }, - "DescribeVpcPeeringConnections": { - "result_key": "VpcPeeringConnections" - }, - "DescribeVpnConnections": { - "result_key": "VpnConnections" - }, - "DescribeVpnGateways": { - "result_key": "VpnGateways" - } - } -} diff --git a/models/apis/ec2/2016-09-15/waiters-2.json b/models/apis/ec2/2016-09-15/waiters-2.json deleted file mode 100755 index ecc9f1b6f5d..00000000000 --- a/models/apis/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": "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" - } - ] - }, - "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/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index b2970345a60..0a2486f87c8 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -338,6 +338,15 @@ "input":{"shape":"CreateEgressOnlyInternetGatewayRequest"}, "output":{"shape":"CreateEgressOnlyInternetGatewayResult"} }, + "CreateFleet":{ + "name":"CreateFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFleetRequest"}, + "output":{"shape":"CreateFleetResult"} + }, "CreateFlowLogs":{ "name":"CreateFlowLogs", "http":{ @@ -638,6 +647,15 @@ "input":{"shape":"DeleteEgressOnlyInternetGatewayRequest"}, "output":{"shape":"DeleteEgressOnlyInternetGatewayResult"} }, + "DeleteFleets":{ + "name":"DeleteFleets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFleetsRequest"}, + "output":{"shape":"DeleteFleetsResult"} + }, "DeleteFlowLogs":{ "name":"DeleteFlowLogs", "http":{ @@ -898,6 +916,15 @@ "input":{"shape":"DescribeAddressesRequest"}, "output":{"shape":"DescribeAddressesResult"} }, + "DescribeAggregateIdFormat":{ + "name":"DescribeAggregateIdFormat", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAggregateIdFormatRequest"}, + "output":{"shape":"DescribeAggregateIdFormatResult"} + }, "DescribeAvailabilityZones":{ "name":"DescribeAvailabilityZones", "http":{ @@ -979,6 +1006,33 @@ "input":{"shape":"DescribeExportTasksRequest"}, "output":{"shape":"DescribeExportTasksResult"} }, + "DescribeFleetHistory":{ + "name":"DescribeFleetHistory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFleetHistoryRequest"}, + "output":{"shape":"DescribeFleetHistoryResult"} + }, + "DescribeFleetInstances":{ + "name":"DescribeFleetInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFleetInstancesRequest"}, + "output":{"shape":"DescribeFleetInstancesResult"} + }, + "DescribeFleets":{ + "name":"DescribeFleets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFleetsRequest"}, + "output":{"shape":"DescribeFleetsResult"} + }, "DescribeFlowLogs":{ "name":"DescribeFlowLogs", "http":{ @@ -1240,6 +1294,15 @@ "input":{"shape":"DescribePrefixListsRequest"}, "output":{"shape":"DescribePrefixListsResult"} }, + "DescribePrincipalIdFormat":{ + "name":"DescribePrincipalIdFormat", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePrincipalIdFormatRequest"}, + "output":{"shape":"DescribePrincipalIdFormatResult"} + }, "DescribeRegions":{ "name":"DescribeRegions", "http":{ @@ -1826,6 +1889,15 @@ "input":{"shape":"ImportVolumeRequest"}, "output":{"shape":"ImportVolumeResult"} }, + "ModifyFleet":{ + "name":"ModifyFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyFleetRequest"}, + "output":{"shape":"ModifyFleetResult"} + }, "ModifyFpgaImageAttribute":{ "name":"ModifyFpgaImageAttribute", "http":{ @@ -2538,6 +2610,10 @@ "PrivateIpAddress":{ "shape":"String", "locationName":"privateIpAddress" + }, + "Tags":{ + "shape":"TagList", + "locationName":"tagSet" } } }, @@ -3809,10 +3885,6 @@ }, "ConversionTask":{ "type":"structure", - "required":[ - "ConversionTaskId", - "State" - ], "members":{ "ConversionTaskId":{ "shape":"String", @@ -3954,6 +4026,26 @@ } } }, + "CpuOptions":{ + "type":"structure", + "members":{ + "CoreCount":{ + "shape":"Integer", + "locationName":"coreCount" + }, + "ThreadsPerCore":{ + "shape":"Integer", + "locationName":"threadsPerCore" + } + } + }, + "CpuOptionsRequest":{ + "type":"structure", + "members":{ + "CoreCount":{"shape":"Integer"}, + "ThreadsPerCore":{"shape":"Integer"} + } + }, "CreateCustomerGatewayRequest":{ "type":"structure", "required":[ @@ -4060,6 +4152,40 @@ } } }, + "CreateFleetRequest":{ + "type":"structure", + "required":[ + "LaunchTemplateConfigs", + "TargetCapacitySpecification" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "ClientToken":{"shape":"String"}, + "SpotOptions":{"shape":"SpotOptionsRequest"}, + "OnDemandOptions":{"shape":"OnDemandOptionsRequest"}, + "ExcessCapacityTerminationPolicy":{"shape":"FleetExcessCapacityTerminationPolicy"}, + "LaunchTemplateConfigs":{"shape":"FleetLaunchTemplateConfigListRequest"}, + "TargetCapacitySpecification":{"shape":"TargetCapacitySpecificationRequest"}, + "TerminateInstancesWithExpiration":{"shape":"Boolean"}, + "Type":{"shape":"FleetType"}, + "ValidFrom":{"shape":"DateTime"}, + "ValidUntil":{"shape":"DateTime"}, + "ReplaceUnhealthyInstances":{"shape":"Boolean"}, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "locationName":"TagSpecification" + } + } + }, + "CreateFleetResult":{ + "type":"structure", + "members":{ + "FleetId":{ + "shape":"FleetIdentifier", + "locationName":"fleetId" + } + } + }, "CreateFlowLogsRequest":{ "type":"structure", "required":[ @@ -4613,6 +4739,10 @@ "members":{ "Description":{"shape":"String"}, "VolumeId":{"shape":"String"}, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "locationName":"TagSpecification" + }, "DryRun":{ "shape":"Boolean", "locationName":"dryRun" @@ -5032,6 +5162,13 @@ ] }, "DateTime":{"type":"timestamp"}, + "DefaultTargetCapacityType":{ + "type":"string", + "enum":[ + "spot", + "on-demand" + ] + }, "DeleteCustomerGatewayRequest":{ "type":"structure", "required":["CustomerGatewayId"], @@ -5071,6 +5208,100 @@ } } }, + "DeleteFleetError":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"DeleteFleetErrorCode", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "locationName":"message" + } + } + }, + "DeleteFleetErrorCode":{ + "type":"string", + "enum":[ + "fleetIdDoesNotExist", + "fleetIdMalformed", + "fleetNotInDeletableState", + "unexpectedError" + ] + }, + "DeleteFleetErrorItem":{ + "type":"structure", + "members":{ + "Error":{ + "shape":"DeleteFleetError", + "locationName":"error" + }, + "FleetId":{ + "shape":"FleetIdentifier", + "locationName":"fleetId" + } + } + }, + "DeleteFleetErrorSet":{ + "type":"list", + "member":{ + "shape":"DeleteFleetErrorItem", + "locationName":"item" + } + }, + "DeleteFleetSuccessItem":{ + "type":"structure", + "members":{ + "CurrentFleetState":{ + "shape":"FleetStateCode", + "locationName":"currentFleetState" + }, + "PreviousFleetState":{ + "shape":"FleetStateCode", + "locationName":"previousFleetState" + }, + "FleetId":{ + "shape":"FleetIdentifier", + "locationName":"fleetId" + } + } + }, + "DeleteFleetSuccessSet":{ + "type":"list", + "member":{ + "shape":"DeleteFleetSuccessItem", + "locationName":"item" + } + }, + "DeleteFleetsRequest":{ + "type":"structure", + "required":[ + "FleetIds", + "TerminateInstances" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "FleetIds":{ + "shape":"FleetIdSet", + "locationName":"FleetId" + }, + "TerminateInstances":{"shape":"Boolean"} + } + }, + "DeleteFleetsResult":{ + "type":"structure", + "members":{ + "SuccessfulFleetDeletions":{ + "shape":"DeleteFleetSuccessSet", + "locationName":"successfulFleetDeletionSet" + }, + "UnsuccessfulFleetDeletions":{ + "shape":"DeleteFleetErrorSet", + "locationName":"unsuccessfulFleetDeletionSet" + } + } + }, "DeleteFlowLogsRequest":{ "type":"structure", "required":["FlowLogIds"], @@ -5626,6 +5857,25 @@ } } }, + "DescribeAggregateIdFormatRequest":{ + "type":"structure", + "members":{ + "DryRun":{"shape":"Boolean"} + } + }, + "DescribeAggregateIdFormatResult":{ + "type":"structure", + "members":{ + "UseLongIdsAggregated":{ + "shape":"Boolean", + "locationName":"useLongIdsAggregated" + }, + "Statuses":{ + "shape":"IdFormatList", + "locationName":"statusSet" + } + } + }, "DescribeAvailabilityZonesRequest":{ "type":"structure", "members":{ @@ -5873,6 +6123,106 @@ } } }, + "DescribeFleetHistoryRequest":{ + "type":"structure", + "required":[ + "FleetId", + "StartTime" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "EventType":{"shape":"FleetEventType"}, + "MaxResults":{"shape":"Integer"}, + "NextToken":{"shape":"String"}, + "FleetId":{"shape":"FleetIdentifier"}, + "StartTime":{"shape":"DateTime"} + } + }, + "DescribeFleetHistoryResult":{ + "type":"structure", + "members":{ + "HistoryRecords":{ + "shape":"HistoryRecordSet", + "locationName":"historyRecordSet" + }, + "LastEvaluatedTime":{ + "shape":"DateTime", + "locationName":"lastEvaluatedTime" + }, + "NextToken":{ + "shape":"String", + "locationName":"nextToken" + }, + "FleetId":{ + "shape":"FleetIdentifier", + "locationName":"fleetId" + }, + "StartTime":{ + "shape":"DateTime", + "locationName":"startTime" + } + } + }, + "DescribeFleetInstancesRequest":{ + "type":"structure", + "required":["FleetId"], + "members":{ + "DryRun":{"shape":"Boolean"}, + "MaxResults":{"shape":"Integer"}, + "NextToken":{"shape":"String"}, + "FleetId":{"shape":"FleetIdentifier"}, + "Filters":{ + "shape":"FilterList", + "locationName":"Filter" + } + } + }, + "DescribeFleetInstancesResult":{ + "type":"structure", + "members":{ + "ActiveInstances":{ + "shape":"ActiveInstanceSet", + "locationName":"activeInstanceSet" + }, + "NextToken":{ + "shape":"String", + "locationName":"nextToken" + }, + "FleetId":{ + "shape":"FleetIdentifier", + "locationName":"fleetId" + } + } + }, + "DescribeFleetsRequest":{ + "type":"structure", + "members":{ + "DryRun":{"shape":"Boolean"}, + "MaxResults":{"shape":"Integer"}, + "NextToken":{"shape":"String"}, + "FleetIds":{ + "shape":"FleetIdSet", + "locationName":"FleetId" + }, + "Filters":{ + "shape":"FilterList", + "locationName":"Filter" + } + } + }, + "DescribeFleetsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "locationName":"nextToken" + }, + "Fleets":{ + "shape":"FleetSet", + "locationName":"fleetSet" + } + } + }, "DescribeFlowLogsRequest":{ "type":"structure", "members":{ @@ -6682,6 +7032,31 @@ } } }, + "DescribePrincipalIdFormatRequest":{ + "type":"structure", + "members":{ + "DryRun":{"shape":"Boolean"}, + "Resources":{ + "shape":"ResourceList", + "locationName":"Resource" + }, + "MaxResults":{"shape":"Integer"}, + "NextToken":{"shape":"String"} + } + }, + "DescribePrincipalIdFormatResult":{ + "type":"structure", + "members":{ + "Principals":{ + "shape":"PrincipalIdFormatList", + "locationName":"principalSet" + }, + "NextToken":{ + "shape":"String", + "locationName":"nextToken" + } + } + }, "DescribeRegionsRequest":{ "type":"structure", "members":{ @@ -8185,11 +8560,6 @@ }, "DiskImageDescription":{ "type":"structure", - "required":[ - "Format", - "ImportManifestUrl", - "Size" - ], "members":{ "Checksum":{ "shape":"String", @@ -8245,7 +8615,6 @@ }, "DiskImageVolumeDescription":{ "type":"structure", - "required":["Id"], "members":{ "Id":{ "shape":"String", @@ -8677,63 +9046,259 @@ "completed" ] }, - "ExportToS3Task":{ + "ExportToS3Task":{ + "type":"structure", + "members":{ + "ContainerFormat":{ + "shape":"ContainerFormat", + "locationName":"containerFormat" + }, + "DiskImageFormat":{ + "shape":"DiskImageFormat", + "locationName":"diskImageFormat" + }, + "S3Bucket":{ + "shape":"String", + "locationName":"s3Bucket" + }, + "S3Key":{ + "shape":"String", + "locationName":"s3Key" + } + } + }, + "ExportToS3TaskSpecification":{ + "type":"structure", + "members":{ + "ContainerFormat":{ + "shape":"ContainerFormat", + "locationName":"containerFormat" + }, + "DiskImageFormat":{ + "shape":"DiskImageFormat", + "locationName":"diskImageFormat" + }, + "S3Bucket":{ + "shape":"String", + "locationName":"s3Bucket" + }, + "S3Prefix":{ + "shape":"String", + "locationName":"s3Prefix" + } + } + }, + "Filter":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Values":{ + "shape":"ValueStringList", + "locationName":"Value" + } + } + }, + "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", + "locationName":"activityStatus" + }, + "CreateTime":{ + "shape":"DateTime", + "locationName":"createTime" + }, + "FleetId":{ + "shape":"FleetIdentifier", + "locationName":"fleetId" + }, + "FleetState":{ + "shape":"FleetStateCode", + "locationName":"fleetState" + }, + "ClientToken":{ + "shape":"String", + "locationName":"clientToken" + }, + "ExcessCapacityTerminationPolicy":{ + "shape":"FleetExcessCapacityTerminationPolicy", + "locationName":"excessCapacityTerminationPolicy" + }, + "FulfilledCapacity":{ + "shape":"Double", + "locationName":"fulfilledCapacity" + }, + "FulfilledOnDemandCapacity":{ + "shape":"Double", + "locationName":"fulfilledOnDemandCapacity" + }, + "LaunchTemplateConfigs":{ + "shape":"FleetLaunchTemplateConfigList", + "locationName":"launchTemplateConfigs" + }, + "TargetCapacitySpecification":{ + "shape":"TargetCapacitySpecification", + "locationName":"targetCapacitySpecification" + }, + "TerminateInstancesWithExpiration":{ + "shape":"Boolean", + "locationName":"terminateInstancesWithExpiration" + }, + "Type":{ + "shape":"FleetType", + "locationName":"type" + }, + "ValidFrom":{ + "shape":"DateTime", + "locationName":"validFrom" + }, + "ValidUntil":{ + "shape":"DateTime", + "locationName":"validUntil" + }, + "ReplaceUnhealthyInstances":{ + "shape":"Boolean", + "locationName":"replaceUnhealthyInstances" + }, + "SpotOptions":{ + "shape":"SpotOptions", + "locationName":"spotOptions" + }, + "OnDemandOptions":{ + "shape":"OnDemandOptions", + "locationName":"onDemandOptions" + }, + "Tags":{ + "shape":"TagList", + "locationName":"tagSet" + } + } + }, + "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", + "locationName":"launchTemplateSpecification" + }, + "Overrides":{ + "shape":"FleetLaunchTemplateOverridesList", + "locationName":"overrides" + } + } + }, + "FleetLaunchTemplateConfigList":{ + "type":"list", + "member":{ + "shape":"FleetLaunchTemplateConfig", + "locationName":"item" + } + }, + "FleetLaunchTemplateConfigListRequest":{ + "type":"list", + "member":{ + "shape":"FleetLaunchTemplateConfigRequest", + "locationName":"item" + }, + "max":50 + }, + "FleetLaunchTemplateConfigRequest":{ "type":"structure", "members":{ - "ContainerFormat":{ - "shape":"ContainerFormat", - "locationName":"containerFormat" - }, - "DiskImageFormat":{ - "shape":"DiskImageFormat", - "locationName":"diskImageFormat" - }, - "S3Bucket":{ - "shape":"String", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "locationName":"s3Key" - } + "LaunchTemplateSpecification":{"shape":"FleetLaunchTemplateSpecificationRequest"}, + "Overrides":{"shape":"FleetLaunchTemplateOverridesListRequest"} } }, - "ExportToS3TaskSpecification":{ + "FleetLaunchTemplateOverrides":{ "type":"structure", "members":{ - "ContainerFormat":{ - "shape":"ContainerFormat", - "locationName":"containerFormat" + "InstanceType":{ + "shape":"InstanceType", + "locationName":"instanceType" }, - "DiskImageFormat":{ - "shape":"DiskImageFormat", - "locationName":"diskImageFormat" + "MaxPrice":{ + "shape":"String", + "locationName":"maxPrice" }, - "S3Bucket":{ + "SubnetId":{ "shape":"String", - "locationName":"s3Bucket" + "locationName":"subnetId" }, - "S3Prefix":{ + "AvailabilityZone":{ "shape":"String", - "locationName":"s3Prefix" + "locationName":"availabilityZone" + }, + "WeightedCapacity":{ + "shape":"Double", + "locationName":"weightedCapacity" + }, + "Priority":{ + "shape":"Double", + "locationName":"priority" } } }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "Values":{ - "shape":"ValueStringList", - "locationName":"Value" - } + "FleetLaunchTemplateOverridesList":{ + "type":"list", + "member":{ + "shape":"FleetLaunchTemplateOverrides", + "locationName":"item" } }, - "FilterList":{ + "FleetLaunchTemplateOverridesListRequest":{ "type":"list", "member":{ - "shape":"Filter", - "locationName":"Filter" + "shape":"FleetLaunchTemplateOverridesRequest", + "locationName":"item" + }, + "max":50 + }, + "FleetLaunchTemplateOverridesRequest":{ + "type":"structure", + "members":{ + "InstanceType":{"shape":"InstanceType"}, + "MaxPrice":{"shape":"String"}, + "SubnetId":{"shape":"String"}, + "AvailabilityZone":{"shape":"String"}, + "WeightedCapacity":{"shape":"Double"}, + "Priority":{"shape":"Double"} } }, "FleetLaunchTemplateSpecification":{ @@ -8753,6 +9318,40 @@ } } }, + "FleetLaunchTemplateSpecificationRequest":{ + "type":"structure", + "members":{ + "LaunchTemplateId":{"shape":"String"}, + "LaunchTemplateName":{"shape":"LaunchTemplateName"}, + "Version":{"shape":"String"} + } + }, + "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":[ @@ -8960,7 +9559,8 @@ "DryRun":{ "shape":"Boolean", "locationName":"dryRun" - } + }, + "Latest":{"shape":"Boolean"} } }, "GetConsoleOutputResult":{ @@ -9205,6 +9805,30 @@ } } }, + "HistoryRecordEntry":{ + "type":"structure", + "members":{ + "EventInformation":{ + "shape":"EventInformation", + "locationName":"eventInformation" + }, + "EventType":{ + "shape":"FleetEventType", + "locationName":"eventType" + }, + "Timestamp":{ + "shape":"DateTime", + "locationName":"timestamp" + } + } + }, + "HistoryRecordSet":{ + "type":"list", + "member":{ + "shape":"HistoryRecordEntry", + "locationName":"item" + } + }, "HistoryRecords":{ "type":"list", "member":{ @@ -9250,6 +9874,18 @@ "State":{ "shape":"AllocationState", "locationName":"state" + }, + "AllocationTime":{ + "shape":"DateTime", + "locationName":"allocationTime" + }, + "ReleaseTime":{ + "shape":"DateTime", + "locationName":"releaseTime" + }, + "Tags":{ + "shape":"TagList", + "locationName":"tagSet" } } }, @@ -9941,7 +10577,6 @@ }, "ImportInstanceTaskDetails":{ "type":"structure", - "required":["Volumes"], "members":{ "Description":{ "shape":"String", @@ -10142,12 +10777,6 @@ }, "ImportVolumeTaskDetails":{ "type":"structure", - "required":[ - "AvailabilityZone", - "BytesConverted", - "Image", - "Volume" - ], "members":{ "AvailabilityZone":{ "shape":"String", @@ -10329,6 +10958,10 @@ "VirtualizationType":{ "shape":"VirtualizationType", "locationName":"virtualizationType" + }, + "CpuOptions":{ + "shape":"CpuOptions", + "locationName":"cpuOptions" } } }, @@ -11040,6 +11673,24 @@ "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", @@ -11058,6 +11709,7 @@ "i3.4xlarge", "i3.8xlarge", "i3.16xlarge", + "i3.metal", "hi1.4xlarge", "hs1.8xlarge", "c1.medium", @@ -11078,6 +11730,12 @@ "c5.4xlarge", "c5.9xlarge", "c5.18xlarge", + "c5d.large", + "c5d.xlarge", + "c5d.2xlarge", + "c5d.4xlarge", + "c5d.9xlarge", + "c5d.18xlarge", "cc1.4xlarge", "cc2.8xlarge", "g2.2xlarge", @@ -11104,10 +11762,22 @@ "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" + "h1.16xlarge", + "z1d.large", + "z1d.xlarge", + "z1d.2xlarge", + "z1d.3xlarge", + "z1d.6xlarge", + "z1d.12xlarge" ] }, "InstanceTypeList":{ @@ -11517,6 +12187,26 @@ "locationName":"item" } }, + "LaunchTemplateCpuOptions":{ + "type":"structure", + "members":{ + "CoreCount":{ + "shape":"Integer", + "locationName":"coreCount" + }, + "ThreadsPerCore":{ + "shape":"Integer", + "locationName":"threadsPerCore" + } + } + }, + "LaunchTemplateCpuOptionsRequest":{ + "type":"structure", + "members":{ + "CoreCount":{"shape":"Integer"}, + "ThreadsPerCore":{"shape":"Integer"} + } + }, "LaunchTemplateEbsBlockDevice":{ "type":"structure", "members":{ @@ -11735,6 +12425,10 @@ "WeightedCapacity":{ "shape":"Double", "locationName":"weightedCapacity" + }, + "Priority":{ + "shape":"Double", + "locationName":"priority" } } }, @@ -12013,6 +12707,28 @@ "max":255, "min":5 }, + "ModifyFleetRequest":{ + "type":"structure", + "required":[ + "FleetId", + "TargetCapacitySpecification" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "ExcessCapacityTerminationPolicy":{"shape":"FleetExcessCapacityTerminationPolicy"}, + "FleetId":{"shape":"FleetIdentifier"}, + "TargetCapacitySpecification":{"shape":"TargetCapacitySpecificationRequest"} + } + }, + "ModifyFleetResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "locationName":"return" + } + } + }, "ModifyFpgaImageAttributeRequest":{ "type":"structure", "required":["FpgaImageId"], @@ -12238,6 +12954,7 @@ "shape":"Affinity", "locationName":"affinity" }, + "GroupName":{"shape":"String"}, "HostId":{ "shape":"String", "locationName":"hostId" @@ -12520,11 +13237,11 @@ "AcceptanceRequired":{"shape":"Boolean"}, "AddNetworkLoadBalancerArns":{ "shape":"ValueStringList", - "locationName":"addNetworkLoadBalancerArn" + "locationName":"AddNetworkLoadBalancerArn" }, "RemoveNetworkLoadBalancerArns":{ "shape":"ValueStringList", - "locationName":"removeNetworkLoadBalancerArn" + "locationName":"RemoveNetworkLoadBalancerArn" } } }, @@ -13182,6 +13899,7 @@ "type":"string", "enum":[ "available", + "associated", "attaching", "in-use", "detaching" @@ -13251,6 +13969,28 @@ "All Upfront" ] }, + "OnDemandAllocationStrategy":{ + "type":"string", + "enum":[ + "lowestPrice", + "prioritized" + ] + }, + "OnDemandOptions":{ + "type":"structure", + "members":{ + "AllocationStrategy":{ + "shape":"FleetOnDemandAllocationStrategy", + "locationName":"allocationStrategy" + } + } + }, + "OnDemandOptionsRequest":{ + "type":"structure", + "members":{ + "AllocationStrategy":{"shape":"FleetOnDemandAllocationStrategy"} + } + }, "OperationType":{ "type":"string", "enum":[ @@ -13524,6 +14264,26 @@ "locationName":"item" } }, + "PrincipalIdFormat":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "locationName":"arn" + }, + "Statuses":{ + "shape":"IdFormatList", + "locationName":"statusSet" + } + } + }, + "PrincipalIdFormatList":{ + "type":"list", + "member":{ + "shape":"PrincipalIdFormat", + "locationName":"item" + } + }, "PrincipalType":{ "type":"string", "enum":[ @@ -13544,7 +14304,6 @@ }, "PrivateIpAddressSpecification":{ "type":"structure", - "required":["PrivateIpAddress"], "members":{ "Primary":{ "shape":"Boolean", @@ -14334,7 +15093,8 @@ "locationName":"SecurityGroup" }, "InstanceMarketOptions":{"shape":"LaunchTemplateInstanceMarketOptionsRequest"}, - "CreditSpecification":{"shape":"CreditSpecificationRequest"} + "CreditSpecification":{"shape":"CreditSpecificationRequest"}, + "CpuOptions":{"shape":"LaunchTemplateCpuOptionsRequest"} } }, "RequestSpotFleetRequest":{ @@ -15034,6 +15794,13 @@ "type":"list", "member":{"shape":"String"} }, + "ResourceList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, "ResourceType":{ "type":"string", "enum":[ @@ -15165,6 +15932,10 @@ "CreditSpecification":{ "shape":"CreditSpecification", "locationName":"creditSpecification" + }, + "CpuOptions":{ + "shape":"LaunchTemplateCpuOptions", + "locationName":"cpuOptions" } } }, @@ -15493,7 +16264,8 @@ }, "LaunchTemplate":{"shape":"LaunchTemplateSpecification"}, "InstanceMarketOptions":{"shape":"InstanceMarketOptionsRequest"}, - "CreditSpecification":{"shape":"CreditSpecificationRequest"} + "CreditSpecification":{"shape":"CreditSpecificationRequest"}, + "CpuOptions":{"shape":"CpuOptionsRequest"} } }, "RunScheduledInstancesRequest":{ @@ -16302,6 +17074,13 @@ } } }, + "SpotAllocationStrategy":{ + "type":"string", + "enum":[ + "lowest-price", + "diversified" + ] + }, "SpotDatafeedSubscription":{ "type":"structure", "members":{ @@ -16455,6 +17234,10 @@ "shape":"AllocationStrategy", "locationName":"allocationStrategy" }, + "OnDemandAllocationStrategy":{ + "shape":"OnDemandAllocationStrategy", + "locationName":"onDemandAllocationStrategy" + }, "ClientToken":{ "shape":"String", "locationName":"clientToken" @@ -16467,6 +17250,10 @@ "shape":"Double", "locationName":"fulfilledCapacity" }, + "OnDemandFulfilledCapacity":{ + "shape":"Double", + "locationName":"onDemandFulfilledCapacity" + }, "IamFleetRole":{ "shape":"String", "locationName":"iamFleetRole" @@ -16487,6 +17274,10 @@ "shape":"Integer", "locationName":"targetCapacity" }, + "OnDemandTargetCapacity":{ + "shape":"Integer", + "locationName":"onDemandTargetCapacity" + }, "TerminateInstancesWithExpiration":{ "shape":"Boolean", "locationName":"terminateInstancesWithExpiration" @@ -16514,6 +17305,10 @@ "LoadBalancersConfig":{ "shape":"LoadBalancersConfig", "locationName":"loadBalancersConfig" + }, + "InstancePoolsToUseCount":{ + "shape":"Integer", + "locationName":"instancePoolsToUseCount" } } }, @@ -16544,6 +17339,14 @@ "locationName":"item" } }, + "SpotInstanceInterruptionBehavior":{ + "type":"string", + "enum":[ + "hibernate", + "stop", + "terminate" + ] + }, "SpotInstanceRequest":{ "type":"structure", "members":{ @@ -16696,6 +17499,31 @@ "InstanceInterruptionBehavior":{"shape":"InstanceInterruptionBehavior"} } }, + "SpotOptions":{ + "type":"structure", + "members":{ + "AllocationStrategy":{ + "shape":"SpotAllocationStrategy", + "locationName":"allocationStrategy" + }, + "InstanceInterruptionBehavior":{ + "shape":"SpotInstanceInterruptionBehavior", + "locationName":"instanceInterruptionBehavior" + }, + "InstancePoolsToUseCount":{ + "shape":"Integer", + "locationName":"instancePoolsToUseCount" + } + } + }, + "SpotOptionsRequest":{ + "type":"structure", + "members":{ + "AllocationStrategy":{"shape":"SpotAllocationStrategy"}, + "InstanceInterruptionBehavior":{"shape":"SpotInstanceInterruptionBehavior"}, + "InstancePoolsToUseCount":{"shape":"Integer"} + } + }, "SpotPlacement":{ "type":"structure", "members":{ @@ -17145,6 +17973,37 @@ "locationName":"item" } }, + "TargetCapacitySpecification":{ + "type":"structure", + "members":{ + "TotalTargetCapacity":{ + "shape":"Integer", + "locationName":"totalTargetCapacity" + }, + "OnDemandTargetCapacity":{ + "shape":"Integer", + "locationName":"onDemandTargetCapacity" + }, + "SpotTargetCapacity":{ + "shape":"Integer", + "locationName":"spotTargetCapacity" + }, + "DefaultTargetCapacityType":{ + "shape":"DefaultTargetCapacityType", + "locationName":"defaultTargetCapacityType" + } + } + }, + "TargetCapacitySpecificationRequest":{ + "type":"structure", + "required":["TotalTargetCapacity"], + "members":{ + "TotalTargetCapacity":{"shape":"Integer"}, + "OnDemandTargetCapacity":{"shape":"Integer"}, + "SpotTargetCapacity":{"shape":"Integer"}, + "DefaultTargetCapacityType":{"shape":"DefaultTargetCapacityType"} + } + }, "TargetConfiguration":{ "type":"structure", "members":{ diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 42cb4eea35a..fae606e8427 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -1,12 +1,12 @@ { "version": "2.0", - "service": "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.

", + "service": "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:

", "operations": { "AcceptReservedInstancesExchangeQuote": "

Accepts the Convertible Reserved Instance exchange quote described in the GetReservedInstancesExchangeQuote call.

", "AcceptVpcEndpointConnections": "

Accepts one or more interface VPC endpoint connection requests to your VPC endpoint service.

", "AcceptVpcPeeringConnection": "

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": "

Allocates an Elastic IP address.

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.

If you release an Elastic IP address for use in a VPC, you might be able to recover it. To recover an Elastic IP address that you released, specify it in the Address parameter. Note that you cannot recover an Elastic IP address that you released after it is allocated to another AWS account.

For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

", - "AllocateHosts": "

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.

", + "AllocateHosts": "

Allocates a Dedicated Host to your account. At a minimum, specify the instance size type, Availability Zone, and quantity of hosts to allocate.

", "AssignIpv6Addresses": "

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": "

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": "

Associates an Elastic IP address with an instance or a network interface.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account.

[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic IP address is associated with the primary IP address. If the Elastic IP address is already associated with a different instance or a network interface, you get an error unless you allow reassociation. You cannot associate an Elastic IP address with an instance or network interface that has an existing Elastic IP address.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing.

", @@ -18,28 +18,29 @@ "AttachClassicLinkVpc": "

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": "

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": "

Attaches a network interface to an instance.

", - "AttachVolume": "

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:

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.

", + "AttachVolume": "

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:

For more information about EBS volumes, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

", "AttachVpnGateway": "

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": "

[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": "

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": "

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.

", + "BundleInstance": "

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": "

Cancels a bundling operation for an instance store-backed Windows instance.

", "CancelConversionTask": "

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": "

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": "

Cancels an in-process import virtual machine or import snapshot task.

", "CancelReservedInstancesListing": "

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": "

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": "

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. 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.

", + "CancelSpotInstanceRequests": "

Cancels one or more Spot Instance requests.

Canceling a Spot Instance request does not terminate running Spot Instances associated with the request.

", "ConfirmProductInstance": "

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": "

Copies the specified Amazon FPGA Image (AFI) to the current region.

", "CopyImage": "

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": "

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.

", + "CopySnapshot": "

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": "

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": "

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": "

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.

You can create a default VPC if you deleted your previous 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": "

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.

Your VPC automatically starts out with a set of DHCP options that includes only a DNS server that we provide (AmazonProvidedDNS). If you create a set of options, and if your VPC has an Internet gateway, make sure to set the domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information about DHCP options, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

", "CreateEgressOnlyInternetGateway": "

[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.

", - "CreateFlowLogs": "

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.

", + "CreateFleet": "

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": "

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.

For more information, see VPC Flow Logs in the Amazon Virtual Private Cloud User Guide.

", "CreateFpgaImage": "

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": "

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": "

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.

", @@ -47,32 +48,33 @@ "CreateKeyPair": "

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": "

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": "

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": "

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.

", + "CreateNatGateway": "

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": "

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": "

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": "

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": "

Grants an AWS authorized partner 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.

", + "CreateNetworkInterfacePermission": "

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": "

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": "

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": "

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:

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": "

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": "

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": "

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": "

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.

", + "CreateSnapshot": "

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": "

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": "

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and the IPv4 CIDR block you want 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": "

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": "

Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.

You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes with the Encrypted parameter. Encrypted volumes may only be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

You can tag your volumes during creation. For more information, see Tagging Your Amazon EC2 Resources.

For more information, see Creating an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

", + "CreateVolume": "

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": "

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). To help you decide how big 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 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 Elastic Compute Cloud User Guide.

", "CreateVpcEndpoint": "

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": "

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": "

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": "

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.

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.

", + "CreateVpcPeeringConnection": "

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": "

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": "

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": "

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": "

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

", "DeleteDhcpOptions": "

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": "

Deletes an egress-only Internet gateway.

", + "DeleteFleets": "

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": "

Deletes one or more flow logs.

", "DeleteFpgaImage": "

Deletes the specified Amazon FPGA Image (AFI).

", "DeleteInternetGateway": "

Deletes the specified Internet gateway. You must detach the Internet gateway from the VPC before you can delete it.

", @@ -92,18 +94,19 @@ "DeleteSpotDatafeedSubscription": "

Deletes the data feed for Spot Instances.

", "DeleteSubnet": "

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

", "DeleteTags": "

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": "

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.

", + "DeleteVolume": "

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": "

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": "

Deletes one or more VPC endpoint connection notifications.

", "DeleteVpcEndpointServiceConfigurations": "

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": "

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": "

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.

", + "DeleteVpcPeeringConnection": "

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": "

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": "

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": "

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": "

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": "

Describes attributes of your AWS account. The following are the supported account attributes:

", + "DescribeAccountAttributes": "

Describes attributes of your AWS account. The following are the supported account attributes:

", "DescribeAddresses": "

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": "

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": "

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": "

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": "

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.

", @@ -113,15 +116,18 @@ "DescribeEgressOnlyInternetGateways": "

Describes one or more of your egress-only Internet gateways.

", "DescribeElasticGpus": "

Describes the Elastic GPUs associated with your instances. For more information about Elastic GPUs, see Amazon EC2 Elastic GPUs.

", "DescribeExportTasks": "

Describes one or more of your export tasks.

", + "DescribeFleetHistory": "

Describes the events for the specified EC2 Fleet during the specified time.

", + "DescribeFleetInstances": "

Describes the running instances for the specified EC2 Fleet.

", + "DescribeFleets": "

Describes one or more of your EC2 Fleet.

", "DescribeFlowLogs": "

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": "

Describes the specified attribute of the specified Amazon FPGA Image (AFI).

", "DescribeFpgaImages": "

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": "

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": "

Describes Dedicated Host Reservations which are associated with Dedicated Hosts in your account.

", - "DescribeHosts": "

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.

", + "DescribeHostReservationOfferings": "

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": "

Describes reservations that are associated with Dedicated Hosts in your account.

", + "DescribeHosts": "

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": "

Describes your IAM instance profile associations.

", - "DescribeIdFormat": "

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": "

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.

", + "DescribeIdFormat": "

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": "

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": "

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

", "DescribeImages": "

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": "

Displays details about an import virtual machine or import snapshot tasks that are already created.

", @@ -141,7 +147,8 @@ "DescribeNetworkInterfacePermissions": "

Describes the permissions for your network interfaces.

", "DescribeNetworkInterfaces": "

Describes one or more of your network interfaces.

", "DescribePlacementGroups": "

Describes one or more of your placement groups. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

", - "DescribePrefixLists": "

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.

", + "DescribePrefixLists": "

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": "

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": "

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": "

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": "

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.

", @@ -154,19 +161,19 @@ "DescribeSecurityGroups": "

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": "

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": "

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:

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": "

Describes the data feed for Spot Instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

", + "DescribeSpotDatafeedSubscription": "

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": "

Describes the running instances for the specified Spot Fleet.

", "DescribeSpotFleetRequestHistory": "

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": "

Describes your Spot Fleet requests.

Spot Fleet requests are deleted 48 hours after they are canceled and their instances are terminated.

", - "DescribeSpotInstanceRequests": "

Describes the Spot Instance requests that belong to your account. Spot Instances are instances that Amazon EC2 launches when the Spot price that you specify exceeds the current Spot price. 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": "

Describes the Spot price history. 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.

", + "DescribeSpotInstanceRequests": "

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": "

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": "

[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": "

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": "

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": "

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": "

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.)

", + "DescribeVolumeStatus": "

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": "

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": "

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\".

", + "DescribeVolumesModifications": "

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": "

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

", "DescribeVpcClassicLink": "

Describes the ClassicLink status of one or more VPCs.

", "DescribeVpcClassicLinkDnsSupport": "

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.

", @@ -197,7 +204,7 @@ "EnableVolumeIO": "

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

", "EnableVpcClassicLink": "

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": "

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": "

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.

", + "GetConsoleOutput": "

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 output from the EC2Config service.

GetConsoleOutput returns up to 64 KB of console output shortly after it's generated by the instance.

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.

You can optionally retrieve the latest serial console output at any time during the instance lifecycle. This option is only supported on C5, M5, and i3.metal instances.

", "GetConsoleScreenshot": "

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

", "GetHostReservationPurchasePreview": "

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": "

Retrieves the configuration data of the specified instance. You can use this data to create a launch template.

", @@ -208,28 +215,29 @@ "ImportKeyPair": "

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": "

Imports a disk into an EBS snapshot.

", "ImportVolume": "

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": "

Modifies the specified EC2 Fleet.

While the EC2 Fleet is being modified, it is in the modifying state.

", "ModifyFpgaImageAttribute": "

Modifies the specified attribute of the specified Amazon FPGA Image (AFI).

", - "ModifyHosts": "

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": "

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": "

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.

", + "ModifyHosts": "

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": "

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": "

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": "

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": "

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.

", + "ModifyInstanceAttribute": "

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": "

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": "

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.

", + "ModifyInstancePlacement": "

Modifies the placement attributes for a specified instance. You can do the following:

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": "

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": "

Modifies the specified network interface attribute. You can specify only one attribute at a time.

", "ModifyReservedInstances": "

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": "

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.

", + "ModifySnapshotAttribute": "

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": "

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": "

Modifies a subnet attribute. You can only modify one attribute at a time.

", - "ModifyVolume": "

You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you may be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows.

When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux File System. For information about extending a Windows file system, see Extending a Windows File System.

You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using the DescribeVolumesModifications API. For information about tracking status changes using either method, see Monitoring Volume Modifications.

With previous-generation instance types, resizing an EBS volume may require detaching and reattaching the volume or stopping and restarting the instance. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows.

If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume.

", + "ModifyVolume": "

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": "

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": "

Modifies the specified attribute of the specified VPC.

", "ModifyVpcEndpoint": "

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": "

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": "

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": "

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 discover your endpoint service.

", - "ModifyVpcPeeringConnectionOptions": "

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

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.

", + "ModifyVpcEndpointServicePermissions": "

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.

", + "ModifyVpcPeeringConnectionOptions": "

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

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": "

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 about Dedicated Instances, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide.

", "MonitorInstances": "

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": "

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.

", @@ -237,24 +245,24 @@ "PurchaseReservedInstancesOffering": "

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": "

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": "

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": "

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself.

You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using the block device mapping. For more information, see Launching a Linux Instance from a Backup in the Amazon Elastic Compute Cloud User Guide.

You can't register an image where a secondary (non-root) snapshot has AWS Marketplace product codes.

Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code associated with an AMI to verify the subscription status for package updates. Creating an AMI from an EBS snapshot does not maintain this billing code, and subsequent instances launched from such an AMI will not be able to connect to package update infrastructure. To create an AMI that must retain billing codes, see CreateImage.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

", + "RegisterImage": "

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": "

Rejects one or more VPC endpoint connection requests to your VPC endpoint service.

", "RejectVpcPeeringConnection": "

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": "

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": "

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.

", + "ReleaseHosts": "

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": "

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": "

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.

", + "ReplaceNetworkAclAssociation": "

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.

This is an idempotent operation.

", "ReplaceNetworkAclEntry": "

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": "

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 about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

", "ReplaceRouteTableAssociation": "

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": "

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": "

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.

You can specify tags for the Spot Instances. You cannot tag other resource types in a Spot Fleet request; only the instance resource type is supported.

For more information, see Spot Fleet Requests in the Amazon Elastic Compute Cloud User Guide.

", - "RequestSpotInstances": "

Creates a Spot Instance request. Spot Instances are instances that Amazon EC2 launches when the maximum price that you specify exceeds the current Spot price. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

", + "RequestSpotFleet": "

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": "

Creates a Spot Instance request.

For more information, see Spot Instance Requests in the Amazon EC2 User Guide for Linux Instances.

", "ResetFpgaImageAttribute": "

Resets the specified attribute of the specified Amazon FPGA Image (AFI) to its default value. You can only reset the load permission attribute.

", "ResetImageAttribute": "

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

", "ResetInstanceAttribute": "

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": "

Resets a network interface attribute. You can specify only one attribute at a time.

", - "ResetSnapshotAttribute": "

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.

", + "ResetSnapshotAttribute": "

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": "

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": "

[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": "

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.

", @@ -345,7 +353,8 @@ "ActiveInstanceSet": { "base": null, "refs": { - "DescribeSpotFleetInstancesResponse$ActiveInstances": "

The running instances. Note that this list is refreshed periodically and might be out of date.

" + "DescribeFleetInstancesResult$ActiveInstances": "

The running instances. This list is refreshed periodically and might be out of date.

", + "DescribeSpotFleetInstancesResponse$ActiveInstances": "

The running instances. This list is refreshed periodically and might be out of date.

" } }, "ActivityStatus": { @@ -369,7 +378,7 @@ "Affinity": { "base": null, "refs": { - "ModifyInstancePlacementRequest$Affinity": "

The new affinity setting for the instance.

" + "ModifyInstancePlacementRequest$Affinity": "

The affinity setting for the instance.

" } }, "AllocateAddressRequest": { @@ -552,7 +561,7 @@ "refs": { "EbsInstanceBlockDevice$Status": "

The attachment state.

", "InstanceNetworkInterfaceAttachment$Status": "

The attachment state.

", - "InternetGatewayAttachment$State": "

The current state of the attachment.

", + "InternetGatewayAttachment$State": "

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.

", "NetworkInterfaceAttachment$Status": "

The attachment state.

", "VpcAttachment$State": "

The current state of the attachment.

" } @@ -662,7 +671,7 @@ "AvailableInstanceCapacityList": { "base": null, "refs": { - "AvailableCapacity$AvailableInstanceCapacity": "

The total number of instances that the Dedicated Host supports.

" + "AvailableCapacity$AvailableInstanceCapacity": "

The total number of instances supported by the Dedicated Host.

" } }, "BatchState": { @@ -760,6 +769,9 @@ "CreateDefaultVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "CreateDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "CreateEgressOnlyInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "CreateFleetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "CreateFleetRequest$TerminateInstancesWithExpiration": "

Indicates whether running instances should be terminated when the EC2 Fleet expires.

", + "CreateFleetRequest$ReplaceUnhealthyInstances": "

Indicates whether EC2 Fleet should replace unhealthy instances.

", "CreateFpgaImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "CreateImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "CreateImageRequest$NoReboot": "

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.

", @@ -797,6 +809,8 @@ "DeleteDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DeleteEgressOnlyInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DeleteEgressOnlyInternetGatewayResult$ReturnCode": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "DeleteFleetsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "DeleteFleetsRequest$TerminateInstances": "

Indicates whether to terminate instances for an EC2 Fleet if it is deleted successfully.

", "DeleteFpgaImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DeleteFpgaImageResult$Return": "

Is true if the request succeeds, and an error otherwise.

", "DeleteInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -830,6 +844,8 @@ "DeregisterImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeAccountAttributesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeAddressesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "DescribeAggregateIdFormatRequest$DryRun": "

Checks whether you have the required permissions for the action, without 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$UseLongIdsAggregated": "

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.

", "DescribeAvailabilityZonesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeBundleTasksRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeClassicLinkInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -838,6 +854,9 @@ "DescribeDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeEgressOnlyInternetGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeElasticGpusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "DescribeFleetHistoryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "DescribeFleetInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "DescribeFleetsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeFpgaImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeFpgaImagesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -859,6 +878,7 @@ "DescribeNetworkInterfacesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribePlacementGroupsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribePrefixListsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "DescribePrincipalIdFormatRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeRegionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeReservedInstancesOfferingsRequest$IncludeMarketplace": "

Include Reserved Instance Marketplace offerings in the response.

", "DescribeReservedInstancesOfferingsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -916,8 +936,11 @@ "EnableVpcClassicLinkDnsSupportResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", "EnableVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "EnableVpcClassicLinkResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "FleetData$TerminateInstancesWithExpiration": "

Indicates whether running instances should be terminated when the EC2 Fleet expires.

", + "FleetData$ReplaceUnhealthyInstances": "

Indicates whether EC2 Fleet should replace unhealthy instances.

", "FpgaImage$Public": "

Indicates whether the AFI is public.

", "GetConsoleOutputRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "GetConsoleOutputRequest$Latest": "

When enabled, retrieves the latest console output for the instance.

Default: disabled (false)

", "GetConsoleScreenshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetConsoleScreenshotRequest$WakeUp": "

When set to true, acts as keystroke input and wakes up an instance that's in standby or \"sleep\" mode.

", "GetLaunchTemplateDataRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -953,6 +976,8 @@ "LaunchTemplateVersion$DefaultVersion": "

Indicates whether the version is the default version.

", "LaunchTemplatesMonitoring$Enabled": "

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

", "LaunchTemplatesMonitoringRequest$Enabled": "

Specify true to enable detailed monitoring. Otherwise, basic monitoring is enabled.

", + "ModifyFleetRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "ModifyFleetResult$Return": "

Is true if the request succeeds, and an error otherwise.

", "ModifyFpgaImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ModifyIdFormatRequest$UseLongIds": "

Indicate whether the resource should use longer IDs (17-character IDs).

", "ModifyIdentityIdFormatRequest$UseLongIds": "

Indicates whether the resource should use longer IDs (17-character IDs)

", @@ -989,7 +1014,7 @@ "NetworkInterfaceAttachment$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", "NetworkInterfaceAttachmentChanges$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", "NetworkInterfacePrivateIpAddress$Primary": "

Indicates whether this IPv4 address is the primary private IPv4 address of the network interface.

", - "PeeringConnectionOptions$AllowDnsResolutionFromRemoteVpc": "

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

", + "PeeringConnectionOptions$AllowDnsResolutionFromRemoteVpc": "

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.

", "PeeringConnectionOptions$AllowEgressFromLocalClassicLinkToRemoteVpc": "

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.

", "PeeringConnectionOptions$AllowEgressFromLocalVpcToRemoteClassicLink": "

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.

", "PeeringConnectionOptionsRequest$AllowDnsResolutionFromRemoteVpc": "

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

", @@ -1073,7 +1098,7 @@ "VpcPeeringConnectionOptionsDescription$AllowEgressFromLocalClassicLinkToRemoteVpc": "

Indicates whether a local ClassicLink connection can communicate with the peer VPC over the VPC peering connection.

", "VpcPeeringConnectionOptionsDescription$AllowEgressFromLocalVpcToRemoteClassicLink": "

Indicates whether a local VPC can communicate with a ClassicLink connection in the peer VPC over the VPC peering connection.

", "VpnConnectionOptions$StaticRoutesOnly": "

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "VpnConnectionOptionsSpecification$StaticRoutesOnly": "

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.

Default: false

" + "VpnConnectionOptionsSpecification$StaticRoutesOnly": "

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

" } }, "BundleIdStringList": { @@ -1385,6 +1410,18 @@ "refs": { } }, + "CpuOptions": { + "base": "

The CPU options for the instance.

", + "refs": { + "Instance$CpuOptions": "

The CPU options for the instance.

" + } + }, + "CpuOptionsRequest": { + "base": "

The CPU options for the instance. Both the core count and threads per core must be specified in the request.

", + "refs": { + "RunInstancesRequest$CpuOptions": "

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

" + } + }, "CreateCustomerGatewayRequest": { "base": "

Contains the parameters for CreateCustomerGateway.

", "refs": { @@ -1435,6 +1472,16 @@ "refs": { } }, + "CreateFleetRequest": { + "base": null, + "refs": { + } + }, + "CreateFleetResult": { + "base": null, + "refs": { + } + }, "CreateFlowLogsRequest": { "base": "

Contains the parameters for CreateFlowLogs.

", "refs": { @@ -1791,19 +1838,30 @@ "BundleTask$UpdateTime": "

The time of the most recent update for the task.

", "ClientData$UploadEnd": "

The time that the disk upload ends.

", "ClientData$UploadStart": "

The time that the disk upload starts.

", + "CreateFleetRequest$ValidFrom": "

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.

", + "CreateFleetRequest$ValidUntil": "

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.

", + "DescribeFleetHistoryRequest$StartTime": "

The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "DescribeFleetHistoryResult$LastEvaluatedTime": "

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.

", + "DescribeFleetHistoryResult$StartTime": "

The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", "DescribeSpotFleetRequestHistoryRequest$StartTime": "

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", "DescribeSpotFleetRequestHistoryResponse$LastEvaluatedTime": "

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.

", "DescribeSpotFleetRequestHistoryResponse$StartTime": "

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", "DescribeSpotPriceHistoryRequest$EndTime": "

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).

", "DescribeSpotPriceHistoryRequest$StartTime": "

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).

", "EbsInstanceBlockDevice$AttachTime": "

The time stamp when the attachment initiated.

", + "FleetData$CreateTime": "

The creation date and time of the EC2 Fleet.

", + "FleetData$ValidFrom": "

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.

", + "FleetData$ValidUntil": "

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.

", "FlowLog$CreationTime": "

The date and time the flow log was created.

", "FpgaImage$CreateTime": "

The date and time the AFI was created.

", "FpgaImage$UpdateTime": "

The time of the most recent update to the AFI.

", - "GetConsoleOutputResult$Timestamp": "

The time the output was last updated.

", + "GetConsoleOutputResult$Timestamp": "

The time at which the output was last updated.

", "GetPasswordDataResult$Timestamp": "

The time the data was last updated.

", "GetReservedInstancesExchangeQuoteResult$OutputReservedInstancesWillExpireAt": "

The new end date of the reservation term.

", "HistoryRecord$Timestamp": "

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "HistoryRecordEntry$Timestamp": "

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "Host$AllocationTime": "

The time that the Dedicated Host was allocated.

", + "Host$ReleaseTime": "

The time that the Dedicated Host was released.

", "HostReservation$End": "

The date and time that the reservation ends.

", "HostReservation$Start": "

The date and time that the reservation started.

", "IamInstanceProfileAssociation$Timestamp": "

The time the IAM instance profile was associated with the instance.

", @@ -1856,8 +1914,8 @@ "VgwTelemetry$LastStatusChange": "

The date and time of the last change in status.

", "Volume$CreateTime": "

The time stamp when volume creation was initiated.

", "VolumeAttachment$AttachTime": "

The time stamp when the attachment initiated.

", - "VolumeModification$StartTime": "

Modification start time

", - "VolumeModification$EndTime": "

Modification completion or failure time.

", + "VolumeModification$StartTime": "

The modification start time.

", + "VolumeModification$EndTime": "

The modification completion or failure time.

", "VolumeStatusEvent$NotAfter": "

The latest end time of the event.

", "VolumeStatusEvent$NotBefore": "

The earliest start time of the event.

", "VpcEndpoint$CreationTimestamp": "

The date and time the VPC endpoint was created.

", @@ -1865,6 +1923,13 @@ "VpcPeeringConnection$ExpirationTime": "

The time that an unaccepted VPC peering connection will expire.

" } }, + "DefaultTargetCapacityType": { + "base": null, + "refs": { + "TargetCapacitySpecification$DefaultTargetCapacityType": "

The default TotalTargetCapacity, which is either Spot or On-Demand.

", + "TargetCapacitySpecificationRequest$DefaultTargetCapacityType": "

The default TotalTargetCapacity, which is either Spot or On-Demand.

" + } + }, "DeleteCustomerGatewayRequest": { "base": "

Contains the parameters for DeleteCustomerGateway.

", "refs": { @@ -1885,6 +1950,52 @@ "refs": { } }, + "DeleteFleetError": { + "base": "

Describes an EC2 Fleet error.

", + "refs": { + "DeleteFleetErrorItem$Error": "

The error.

" + } + }, + "DeleteFleetErrorCode": { + "base": null, + "refs": { + "DeleteFleetError$Code": "

The error code.

" + } + }, + "DeleteFleetErrorItem": { + "base": "

Describes an EC2 Fleet that was not successfully deleted.

", + "refs": { + "DeleteFleetErrorSet$member": null + } + }, + "DeleteFleetErrorSet": { + "base": null, + "refs": { + "DeleteFleetsResult$UnsuccessfulFleetDeletions": "

Information about the EC2 Fleets that are not successfully deleted.

" + } + }, + "DeleteFleetSuccessItem": { + "base": "

Describes an EC2 Fleet that was successfully deleted.

", + "refs": { + "DeleteFleetSuccessSet$member": null + } + }, + "DeleteFleetSuccessSet": { + "base": null, + "refs": { + "DeleteFleetsResult$SuccessfulFleetDeletions": "

Information about the EC2 Fleets that are successfully deleted.

" + } + }, + "DeleteFleetsRequest": { + "base": null, + "refs": { + } + }, + "DeleteFleetsResult": { + "base": null, + "refs": { + } + }, "DeleteFlowLogsRequest": { "base": "

Contains the parameters for DeleteFlowLogs.

", "refs": { @@ -2124,6 +2235,16 @@ "refs": { } }, + "DescribeAggregateIdFormatRequest": { + "base": null, + "refs": { + } + }, + "DescribeAggregateIdFormatResult": { + "base": null, + "refs": { + } + }, "DescribeAvailabilityZonesRequest": { "base": "

Contains the parameters for DescribeAvailabilityZones.

", "refs": { @@ -2220,6 +2341,36 @@ "refs": { } }, + "DescribeFleetHistoryRequest": { + "base": null, + "refs": { + } + }, + "DescribeFleetHistoryResult": { + "base": null, + "refs": { + } + }, + "DescribeFleetInstancesRequest": { + "base": null, + "refs": { + } + }, + "DescribeFleetInstancesResult": { + "base": null, + "refs": { + } + }, + "DescribeFleetsRequest": { + "base": null, + "refs": { + } + }, + "DescribeFleetsResult": { + "base": null, + "refs": { + } + }, "DescribeFlowLogsRequest": { "base": "

Contains the parameters for DescribeFlowLogs.

", "refs": { @@ -2500,6 +2651,16 @@ "refs": { } }, + "DescribePrincipalIdFormatRequest": { + "base": null, + "refs": { + } + }, + "DescribePrincipalIdFormatResult": { + "base": null, + "refs": { + } + }, "DescribeRegionsRequest": { "base": "

Contains the parameters for DescribeRegions.

", "refs": { @@ -3085,7 +3246,14 @@ "base": null, "refs": { "ClientData$UploadSize": "

The size of the uploaded disk image, in GiB.

", + "FleetData$FulfilledCapacity": "

The number of units fulfilled by this request compared to the set target capacity.

", + "FleetData$FulfilledOnDemandCapacity": "

The number of units fulfilled by this request compared to the set target On-Demand capacity.

", + "FleetLaunchTemplateOverrides$WeightedCapacity": "

The number of units provided by the specified instance type.

", + "FleetLaunchTemplateOverrides$Priority": "

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.

", + "FleetLaunchTemplateOverridesRequest$WeightedCapacity": "

The number of units provided by the specified instance type.

", + "FleetLaunchTemplateOverridesRequest$Priority": "

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.

", "LaunchTemplateOverrides$WeightedCapacity": "

The number of units provided by the specified instance type.

", + "LaunchTemplateOverrides$Priority": "

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.

", "PriceSchedule$Price": "

The fixed price for the term.

", "PriceScheduleSpecification$Price": "

The fixed price for the term.

", "PricingDetail$Price": "

The price per instance.

", @@ -3094,7 +3262,8 @@ "SnapshotDetail$DiskImageSize": "

The size of the disk in the snapshot, in GiB.

", "SnapshotTaskDetail$DiskImageSize": "

The size of the disk in the snapshot, in GiB.

", "SpotFleetLaunchSpecification$WeightedCapacity": "

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.

", - "SpotFleetRequestConfigData$FulfilledCapacity": "

The number of units fulfilled by this request compared to the set target capacity.

" + "SpotFleetRequestConfigData$FulfilledCapacity": "

The number of units fulfilled by this request compared to the set target capacity.

", + "SpotFleetRequestConfigData$OnDemandFulfilledCapacity": "

The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.

" } }, "EbsBlockDevice": { @@ -3260,7 +3429,8 @@ "EventInformation": { "base": "

Describes a Spot Fleet event.

", "refs": { - "HistoryRecord$EventInformation": "

Information about the event.

" + "HistoryRecord$EventInformation": "

Information about the event.

", + "HistoryRecordEntry$EventInformation": "

Information about the event.

" } }, "EventType": { @@ -3328,7 +3498,7 @@ } }, "Filter": { - "base": "

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.

", + "base": "

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:

", "refs": { "FilterList$member": null } @@ -3336,76 +3506,205 @@ "FilterList": { "base": null, "refs": { - "DescribeAddressesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", + "DescribeAddressesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", "DescribeAvailabilityZonesRequest$Filters": "

One or more filters.

", "DescribeBundleTasksRequest$Filters": "

One or more filters.

", - "DescribeClassicLinkInstancesRequest$Filters": "

One or more filters.

", - "DescribeCustomerGatewaysRequest$Filters": "

One or more filters.

", - "DescribeDhcpOptionsRequest$Filters": "

One or more filters.

", + "DescribeClassicLinkInstancesRequest$Filters": "

One or more filters.

", + "DescribeCustomerGatewaysRequest$Filters": "

One or more filters.

", + "DescribeDhcpOptionsRequest$Filters": "

One or more filters.

", "DescribeElasticGpusRequest$Filters": "

One or more filters.

", + "DescribeFleetInstancesRequest$Filters": "

One or more filters.

", + "DescribeFleetsRequest$Filters": "

One or more filters.

", "DescribeFlowLogsRequest$Filter": "

One or more filters.

", - "DescribeFpgaImagesRequest$Filters": "

One or more filters.

", - "DescribeHostReservationOfferingsRequest$Filter": "

One or more filters.

", - "DescribeHostReservationsRequest$Filter": "

One or more filters.

", - "DescribeHostsRequest$Filter": "

One or more filters.

", + "DescribeFpgaImagesRequest$Filters": "

One or more filters.

", + "DescribeHostReservationOfferingsRequest$Filter": "

One or more filters.

", + "DescribeHostReservationsRequest$Filter": "

One or more filters.

", + "DescribeHostsRequest$Filter": "

One or more filters.

", "DescribeIamInstanceProfileAssociationsRequest$Filters": "

One or more filters.

", - "DescribeImagesRequest$Filters": "

One or more filters.

", + "DescribeImagesRequest$Filters": "

One or more filters.

", "DescribeImportImageTasksRequest$Filters": "

Filter tasks using the task-state filter and one of the following values: active, completed, deleting, deleted.

", "DescribeImportSnapshotTasksRequest$Filters": "

One or more filters.

", "DescribeInstanceCreditSpecificationsRequest$Filters": "

One or more filters.

", - "DescribeInstanceStatusRequest$Filters": "

One or more filters.

", - "DescribeInstancesRequest$Filters": "

One or more filters.

", - "DescribeInternetGatewaysRequest$Filters": "

One or more filters.

", + "DescribeInstanceStatusRequest$Filters": "

One or more filters.

", + "DescribeInstancesRequest$Filters": "

One or more filters.

", + "DescribeInternetGatewaysRequest$Filters": "

One or more filters.

", "DescribeKeyPairsRequest$Filters": "

One or more filters.

", "DescribeLaunchTemplateVersionsRequest$Filters": "

One or more filters.

", - "DescribeLaunchTemplatesRequest$Filters": "

One or more filters.

", + "DescribeLaunchTemplatesRequest$Filters": "

One or more filters.

", "DescribeMovingAddressesRequest$Filters": "

One or more filters.

", - "DescribeNatGatewaysRequest$Filter": "

One or more filters.

", - "DescribeNetworkAclsRequest$Filters": "

One or more filters.

", + "DescribeNatGatewaysRequest$Filter": "

One or more filters.

", + "DescribeNetworkAclsRequest$Filters": "

One or more filters.

", "DescribeNetworkInterfacePermissionsRequest$Filters": "

One or more filters.

", - "DescribeNetworkInterfacesRequest$Filters": "

One or more filters.

", + "DescribeNetworkInterfacesRequest$Filters": "

One or more filters.

", "DescribePlacementGroupsRequest$Filters": "

One or more filters.

", "DescribePrefixListsRequest$Filters": "

One or more filters.

", "DescribeRegionsRequest$Filters": "

One or more filters.

", "DescribeReservedInstancesListingsRequest$Filters": "

One or more filters.

", "DescribeReservedInstancesModificationsRequest$Filters": "

One or more filters.

", "DescribeReservedInstancesOfferingsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesRequest$Filters": "

One or more filters.

", - "DescribeRouteTablesRequest$Filters": "

One or more filters.

", + "DescribeReservedInstancesRequest$Filters": "

One or more filters.

", + "DescribeRouteTablesRequest$Filters": "

One or more filters.

", "DescribeScheduledInstanceAvailabilityRequest$Filters": "

One or more filters.

", "DescribeScheduledInstancesRequest$Filters": "

One or more filters.

", - "DescribeSecurityGroupsRequest$Filters": "

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.

", - "DescribeSnapshotsRequest$Filters": "

One or more filters.

", - "DescribeSpotInstanceRequestsRequest$Filters": "

One or more filters.

", - "DescribeSpotPriceHistoryRequest$Filters": "

One or more filters.

", - "DescribeSubnetsRequest$Filters": "

One or more filters.

", - "DescribeTagsRequest$Filters": "

One or more filters.

", + "DescribeSecurityGroupsRequest$Filters": "

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.

", + "DescribeSnapshotsRequest$Filters": "

One or more filters.

", + "DescribeSpotInstanceRequestsRequest$Filters": "

One or more filters.

", + "DescribeSpotPriceHistoryRequest$Filters": "

One or more filters.

", + "DescribeSubnetsRequest$Filters": "

One or more filters.

", + "DescribeTagsRequest$Filters": "

One or more filters.

", "DescribeVolumeStatusRequest$Filters": "

One or more filters.

", "DescribeVolumesModificationsRequest$Filters": "

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.

", - "DescribeVolumesRequest$Filters": "

One or more filters.

", - "DescribeVpcClassicLinkRequest$Filters": "

One or more filters.

", + "DescribeVolumesRequest$Filters": "

One or more filters.

", + "DescribeVpcClassicLinkRequest$Filters": "

One or more filters.

", "DescribeVpcEndpointConnectionNotificationsRequest$Filters": "

One or more filters.

", - "DescribeVpcEndpointConnectionsRequest$Filters": "

One or more filters.

", - "DescribeVpcEndpointServiceConfigurationsRequest$Filters": "

One or more filters.

", + "DescribeVpcEndpointConnectionsRequest$Filters": "

One or more filters.

", + "DescribeVpcEndpointServiceConfigurationsRequest$Filters": "

One or more filters.

", "DescribeVpcEndpointServicePermissionsRequest$Filters": "

One or more filters.

", "DescribeVpcEndpointServicesRequest$Filters": "

One or more filters.

", "DescribeVpcEndpointsRequest$Filters": "

One or more filters.

", - "DescribeVpcPeeringConnectionsRequest$Filters": "

One or more filters.

", - "DescribeVpcsRequest$Filters": "

One or more filters.

", - "DescribeVpnConnectionsRequest$Filters": "

One or more filters.

", - "DescribeVpnGatewaysRequest$Filters": "

One or more filters.

" + "DescribeVpcPeeringConnectionsRequest$Filters": "

One or more filters.

", + "DescribeVpcsRequest$Filters": "

One or more filters.

", + "DescribeVpnConnectionsRequest$Filters": "

One or more filters.

", + "DescribeVpnGatewaysRequest$Filters": "

One or more filters.

" + } + }, + "FleetActivityStatus": { + "base": null, + "refs": { + "FleetData$ActivityStatus": "

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.

" + } + }, + "FleetData": { + "base": "

Describes an EC2 Fleet.

", + "refs": { + "FleetSet$member": null + } + }, + "FleetEventType": { + "base": null, + "refs": { + "DescribeFleetHistoryRequest$EventType": "

The type of events to describe. By default, all events are described.

", + "HistoryRecordEntry$EventType": "

The event type.

" + } + }, + "FleetExcessCapacityTerminationPolicy": { + "base": null, + "refs": { + "CreateFleetRequest$ExcessCapacityTerminationPolicy": "

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.

", + "FleetData$ExcessCapacityTerminationPolicy": "

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.

", + "ModifyFleetRequest$ExcessCapacityTerminationPolicy": "

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.

" + } + }, + "FleetIdSet": { + "base": null, + "refs": { + "DeleteFleetsRequest$FleetIds": "

The IDs of the EC2 Fleets.

", + "DescribeFleetsRequest$FleetIds": "

The ID of the EC2 Fleets.

" + } + }, + "FleetIdentifier": { + "base": null, + "refs": { + "CreateFleetResult$FleetId": "

The ID of the EC2 Fleet.

", + "DeleteFleetErrorItem$FleetId": "

The ID of the EC2 Fleet.

", + "DeleteFleetSuccessItem$FleetId": "

The ID of the EC2 Fleet.

", + "DescribeFleetHistoryRequest$FleetId": "

The ID of the EC2 Fleet.

", + "DescribeFleetHistoryResult$FleetId": "

The ID of the EC Fleet.

", + "DescribeFleetInstancesRequest$FleetId": "

The ID of the EC2 Fleet.

", + "DescribeFleetInstancesResult$FleetId": "

The ID of the EC2 Fleet.

", + "FleetData$FleetId": "

The ID of the EC2 Fleet.

", + "FleetIdSet$member": null, + "ModifyFleetRequest$FleetId": "

The ID of the EC2 Fleet.

" + } + }, + "FleetLaunchTemplateConfig": { + "base": "

Describes a launch template and overrides.

", + "refs": { + "FleetLaunchTemplateConfigList$member": null + } + }, + "FleetLaunchTemplateConfigList": { + "base": null, + "refs": { + "FleetData$LaunchTemplateConfigs": "

The launch template and overrides.

" + } + }, + "FleetLaunchTemplateConfigListRequest": { + "base": null, + "refs": { + "CreateFleetRequest$LaunchTemplateConfigs": "

The configuration for the EC2 Fleet.

" + } + }, + "FleetLaunchTemplateConfigRequest": { + "base": "

Describes a launch template and overrides.

", + "refs": { + "FleetLaunchTemplateConfigListRequest$member": null + } + }, + "FleetLaunchTemplateOverrides": { + "base": "

Describes overrides for a launch template.

", + "refs": { + "FleetLaunchTemplateOverridesList$member": null + } + }, + "FleetLaunchTemplateOverridesList": { + "base": null, + "refs": { + "FleetLaunchTemplateConfig$Overrides": "

Any parameters that you specify override the same parameters in the launch template.

" + } + }, + "FleetLaunchTemplateOverridesListRequest": { + "base": null, + "refs": { + "FleetLaunchTemplateConfigRequest$Overrides": "

Any parameters that you specify override the same parameters in the launch template.

" + } + }, + "FleetLaunchTemplateOverridesRequest": { + "base": "

Describes overrides for a launch template.

", + "refs": { + "FleetLaunchTemplateOverridesListRequest$member": null } }, "FleetLaunchTemplateSpecification": { "base": "

Describes a launch template.

", "refs": { + "FleetLaunchTemplateConfig$LaunchTemplateSpecification": "

The launch template.

", "LaunchTemplateConfig$LaunchTemplateSpecification": "

The launch template.

" } }, + "FleetLaunchTemplateSpecificationRequest": { + "base": "

The launch template to use. You must specify either the launch template ID or launch template name in the request.

", + "refs": { + "FleetLaunchTemplateConfigRequest$LaunchTemplateSpecification": "

The launch template to use. You must specify either the launch template ID or launch template name in the request.

" + } + }, + "FleetOnDemandAllocationStrategy": { + "base": null, + "refs": { + "OnDemandOptions$AllocationStrategy": "

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.

", + "OnDemandOptionsRequest$AllocationStrategy": "

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.

" + } + }, + "FleetSet": { + "base": null, + "refs": { + "DescribeFleetsResult$Fleets": "

Information about the EC2 Fleets.

" + } + }, + "FleetStateCode": { + "base": null, + "refs": { + "DeleteFleetSuccessItem$CurrentFleetState": "

The current state of the EC2 Fleet.

", + "DeleteFleetSuccessItem$PreviousFleetState": "

The previous state of the EC2 Fleet.

", + "FleetData$FleetState": "

The state of the EC2 Fleet.

" + } + }, "FleetType": { "base": null, "refs": { - "SpotFleetRequestConfigData$Type": "

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 requests. It will not attempt to replenish Spot Instances if capacity is diminished, nor will it submit requests in alternative Spot pools if capacity is not available. When you want to maintain a certain target capacity, fleet will place the required requests to meet this target capacity. It will also automatically replenish any interrupted instances. Default: maintain.

" + "CreateFleetRequest$Type": "

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.

", + "FleetData$Type": "

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.

", + "SpotFleetRequestConfigData$Type": "

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.

" } }, "Float": { @@ -3602,6 +3901,18 @@ "HistoryRecords$member": null } }, + "HistoryRecordEntry": { + "base": "

Describes an event in the history of an EC2 Fleet.

", + "refs": { + "HistoryRecordSet$member": null + } + }, + "HistoryRecordSet": { + "base": null, + "refs": { + "DescribeFleetHistoryResult$HistoryRecords": "

Information about the events in the history of the EC2 Fleet.

" + } + }, "HistoryRecords": { "base": null, "refs": { @@ -3671,7 +3982,7 @@ "HostTenancy": { "base": null, "refs": { - "ModifyInstancePlacementRequest$Tenancy": "

The tenancy of the instance that you are modifying.

" + "ModifyInstancePlacementRequest$Tenancy": "

The tenancy for the instance.

" } }, "HypervisorType": { @@ -3737,8 +4048,10 @@ "IdFormatList": { "base": null, "refs": { + "DescribeAggregateIdFormatResult$Statuses": "

Information about each resource's ID format.

", "DescribeIdFormatResult$Statuses": "

Information about the ID format for the resource.

", - "DescribeIdentityIdFormatResult$Statuses": "

Information about the ID format for the resources.

" + "DescribeIdentityIdFormatResult$Statuses": "

Information about the ID format for the resources.

", + "PrincipalIdFormat$Statuses": "

PrincipalIdFormatStatuses description

" } }, "Image": { @@ -4079,7 +4392,7 @@ "InstanceMarketOptionsRequest": { "base": "

Describes the market (purchasing) option for the instances.

", "refs": { - "RunInstancesRequest$InstanceMarketOptions": "

The market (purchasing) option for the instances.

" + "RunInstancesRequest$InstanceMarketOptions": "

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.

" } }, "InstanceMonitoring": { @@ -4223,7 +4536,9 @@ "base": null, "refs": { "DescribeReservedInstancesOfferingsRequest$InstanceType": "

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.

", - "ImportInstanceLaunchSpecification$InstanceType": "

The instance type. For more information about the instance types that you can import, see Instance Types in the VM Import/Export User Guide.

", + "FleetLaunchTemplateOverrides$InstanceType": "

The instance type.

", + "FleetLaunchTemplateOverridesRequest$InstanceType": "

The instance type.

", + "ImportInstanceLaunchSpecification$InstanceType": "

The instance type. For more information about the instance types that you can import, see Instance Types in the VM Import/Export User Guide.

", "Instance$InstanceType": "

The instance type.

", "InstanceTypeList$member": null, "LaunchSpecification$InstanceType": "

The instance type.

", @@ -4248,7 +4563,7 @@ "Integer": { "base": null, "refs": { - "AllocateHostsRequest$Quantity": "

The number of Dedicated Hosts you want to allocate to your account with these parameters.

", + "AllocateHostsRequest$Quantity": "

The number of Dedicated Hosts to allocate to your account with these parameters.

", "AssignIpv6AddressesRequest$Ipv6AddressCount": "

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.

", "AssignPrivateIpAddressesRequest$SecondaryPrivateIpAddressCount": "

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", "AttachNetworkInterfaceRequest$DeviceIndex": "

The index of the device for the network interface attachment.

", @@ -4257,42 +4572,50 @@ "AuthorizeSecurityGroupIngressRequest$FromPort": "

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.

", "AuthorizeSecurityGroupIngressRequest$ToPort": "

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.

", "AvailableCapacity$AvailableVCpus": "

The number of vCPUs available on the Dedicated Host.

", + "CpuOptions$CoreCount": "

The number of CPU cores for the instance.

", + "CpuOptions$ThreadsPerCore": "

The number of threads per CPU core.

", + "CpuOptionsRequest$CoreCount": "

The number of CPU cores for the instance.

", + "CpuOptionsRequest$ThreadsPerCore": "

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.

", "CreateCustomerGatewayRequest$BgpAsn": "

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

", "CreateNetworkAclEntryRequest$RuleNumber": "

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.

", "CreateNetworkInterfaceRequest$Ipv6AddressCount": "

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.

", "CreateNetworkInterfaceRequest$SecondaryPrivateIpAddressCount": "

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.

", "CreateReservedInstancesListingRequest$InstanceCount": "

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.

", - "CreateVolumeRequest$Iops": "

Only valid for Provisioned IOPS SSD volumes. The number of I/O operations per second (IOPS) to provision for the volume, with a maximum ratio of 50 IOPS/GiB.

Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes

", + "CreateVolumeRequest$Iops": "

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.

", "CreateVolumeRequest$Size": "

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.

", "DeleteNetworkAclEntryRequest$RuleNumber": "

The rule number of the entry to delete.

", "DescribeClassicLinkInstancesRequest$MaxResults": "

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.

", "DescribeEgressOnlyInternetGatewaysRequest$MaxResults": "

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.

", "DescribeElasticGpusRequest$MaxResults": "

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.

", "DescribeElasticGpusResult$MaxResults": "

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.

", + "DescribeFleetHistoryRequest$MaxResults": "

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.

", + "DescribeFleetInstancesRequest$MaxResults": "

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.

", + "DescribeFleetsRequest$MaxResults": "

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.

", "DescribeFlowLogsRequest$MaxResults": "

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.

", - "DescribeHostReservationOfferingsRequest$MaxDuration": "

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.

", - "DescribeHostReservationOfferingsRequest$MaxResults": "

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.

", + "DescribeHostReservationOfferingsRequest$MaxDuration": "

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.

", + "DescribeHostReservationOfferingsRequest$MaxResults": "

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.

", "DescribeHostReservationOfferingsRequest$MinDuration": "

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.

", - "DescribeHostReservationsRequest$MaxResults": "

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.

", - "DescribeHostsRequest$MaxResults": "

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.

", + "DescribeHostReservationsRequest$MaxResults": "

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.

", + "DescribeHostsRequest$MaxResults": "

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.

", "DescribeImportImageTasksRequest$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

", "DescribeImportSnapshotTasksRequest$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

", "DescribeInstanceCreditSpecificationsRequest$MaxResults": "

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.

", "DescribeInstanceStatusRequest$MaxResults": "

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.

", - "DescribeInstancesRequest$MaxResults": "

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.

", - "DescribeLaunchTemplateVersionsRequest$MaxResults": "

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.

", + "DescribeInstancesRequest$MaxResults": "

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.

", + "DescribeLaunchTemplateVersionsRequest$MaxResults": "

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.

", "DescribeLaunchTemplatesRequest$MaxResults": "

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.

", "DescribeMovingAddressesRequest$MaxResults": "

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.

", "DescribeNatGatewaysRequest$MaxResults": "

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.

", "DescribeNetworkInterfacePermissionsRequest$MaxResults": "

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.

", "DescribePrefixListsRequest$MaxResults": "

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.

", + "DescribePrincipalIdFormatRequest$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

", "DescribeReservedInstancesOfferingsRequest$MaxInstanceCount": "

The maximum number of instances to filter when searching for offerings.

Default: 20

", "DescribeReservedInstancesOfferingsRequest$MaxResults": "

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

", "DescribeScheduledInstanceAvailabilityRequest$MaxResults": "

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.

", "DescribeScheduledInstanceAvailabilityRequest$MaxSlotDurationInHours": "

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours and less than 1,720.

", "DescribeScheduledInstanceAvailabilityRequest$MinSlotDurationInHours": "

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.

", "DescribeScheduledInstancesRequest$MaxResults": "

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.

", - "DescribeSecurityGroupsRequest$MaxResults": "

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.

", + "DescribeSecurityGroupsRequest$MaxResults": "

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.

", "DescribeSnapshotsRequest$MaxResults": "

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.

", "DescribeSpotFleetInstancesRequest$MaxResults": "

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.

", "DescribeSpotFleetRequestHistoryRequest$MaxResults": "

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.

", @@ -4326,9 +4649,13 @@ "InstanceNetworkInterfaceSpecification$DeviceIndex": "

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.

", "InstanceNetworkInterfaceSpecification$Ipv6AddressCount": "

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.

", "InstanceNetworkInterfaceSpecification$SecondaryPrivateIpAddressCount": "

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.

", - "InstanceState$Code": "

The low byte represents the state. The high byte is an opaque internal value and should be ignored.

", + "InstanceState$Code": "

The low byte represents the state. The high byte is used for internal purposes and should be ignored.

", "IpPermission$FromPort": "

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.

", "IpPermission$ToPort": "

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.

", + "LaunchTemplateCpuOptions$CoreCount": "

The number of CPU cores for the instance.

", + "LaunchTemplateCpuOptions$ThreadsPerCore": "

The number of threads per CPU core.

", + "LaunchTemplateCpuOptionsRequest$CoreCount": "

The number of CPU cores for the instance.

", + "LaunchTemplateCpuOptionsRequest$ThreadsPerCore": "

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.

", "LaunchTemplateEbsBlockDevice$Iops": "

The number of I/O operations per second (IOPS) that the volume supports.

", "LaunchTemplateEbsBlockDevice$VolumeSize": "

The size of the volume, in GiB.

", "LaunchTemplateEbsBlockDeviceRequest$Iops": "

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.

", @@ -4342,8 +4669,8 @@ "LaunchTemplateSpotMarketOptions$BlockDurationMinutes": "

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).

", "LaunchTemplateSpotMarketOptionsRequest$BlockDurationMinutes": "

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).

", "ModifySpotFleetRequestRequest$TargetCapacity": "

The size of the fleet.

", - "ModifyVolumeRequest$Size": "

Target size in GiB of the volume to be modified. Target volume size must be greater than or equal to than the existing size of the volume. For information about available EBS volume sizes, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html.

Default: If no size is specified, the existing size is retained.

", - "ModifyVolumeRequest$Iops": "

Target IOPS rate of the volume to be modified.

Only valid for Provisioned IOPS SSD (io1) volumes. For more information about io1 IOPS configuration, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops.

Default: If no IOPS value is specified, the existing value is retained.

", + "ModifyVolumeRequest$Size": "

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.

", + "ModifyVolumeRequest$Iops": "

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.

", "NetworkAclEntry$RuleNumber": "

The rule number for the entry. ACL entries are processed in ascending order by rule number.

", "NetworkInterfaceAttachment$DeviceIndex": "

The device index of the network interface attachment on the instance.

", "OccurrenceDayRequestSet$member": null, @@ -4355,7 +4682,7 @@ "PurchaseRequest$InstanceCount": "

The number of instances.

", "PurchaseReservedInstancesOfferingRequest$InstanceCount": "

The number of Reserved Instances to purchase.

", "ReplaceNetworkAclEntryRequest$RuleNumber": "

The rule number of the entry to replace.

", - "RequestSpotInstancesRequest$BlockDurationMinutes": "

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.

", + "RequestSpotInstancesRequest$BlockDurationMinutes": "

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.

", "RequestSpotInstancesRequest$InstanceCount": "

The maximum number of Spot Instances to launch.

Default: 1

", "ReservedInstances$InstanceCount": "

The number of reservations purchased.

", "ReservedInstancesConfiguration$InstanceCount": "

The number of modified Reserved Instances.

", @@ -4384,20 +4711,30 @@ "ScheduledInstancesNetworkInterface$SecondaryPrivateIpAddressCount": "

The number of secondary private IPv4 addresses.

", "Snapshot$VolumeSize": "

The size of the volume, in GiB.

", "SpotFleetRequestConfigData$TargetCapacity": "

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.

", + "SpotFleetRequestConfigData$OnDemandTargetCapacity": "

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.

", + "SpotFleetRequestConfigData$InstancePoolsToUseCount": "

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.

", "SpotInstanceRequest$BlockDurationMinutes": "

The duration for the Spot Instance, in minutes.

", "SpotMarketOptions$BlockDurationMinutes": "

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).

", + "SpotOptions$InstancePoolsToUseCount": "

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.

", + "SpotOptionsRequest$InstancePoolsToUseCount": "

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.

", "StaleIpPermission$FromPort": "

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.

", "StaleIpPermission$ToPort": "

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.

", "Subnet$AvailableIpAddressCount": "

The number of unused private IPv4 addresses in the subnet. Note that the IPv4 addresses for any stopped instances are considered unavailable.

", + "TargetCapacitySpecification$TotalTargetCapacity": "

The number of units to request, filled using DefaultTargetCapacityType.

", + "TargetCapacitySpecification$OnDemandTargetCapacity": "

The number of On-Demand units to request.

", + "TargetCapacitySpecification$SpotTargetCapacity": "

The maximum number of Spot units to launch.

", + "TargetCapacitySpecificationRequest$TotalTargetCapacity": "

The number of units to request, filled using DefaultTargetCapacityType.

", + "TargetCapacitySpecificationRequest$OnDemandTargetCapacity": "

The number of On-Demand units to request.

", + "TargetCapacitySpecificationRequest$SpotTargetCapacity": "

The number of Spot units to request.

", "TargetConfiguration$InstanceCount": "

The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is reserved and cannot be specified in a request

", "TargetConfigurationRequest$InstanceCount": "

The number of instances the Covertible Reserved Instance offering can be applied to. This parameter is reserved and cannot be specified in a request

", "VgwTelemetry$AcceptedRouteCount": "

The number of accepted routes.

", "Volume$Size": "

The size of the volume, in GiBs.

", - "Volume$Iops": "

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.

", - "VolumeModification$TargetSize": "

Target size of the volume being modified.

", - "VolumeModification$TargetIops": "

Target IOPS rate of the volume being modified.

", - "VolumeModification$OriginalSize": "

Original size of the volume being modified.

", - "VolumeModification$OriginalIops": "

Original IOPS rate of the volume being modified.

" + "Volume$Iops": "

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.

", + "VolumeModification$TargetSize": "

The target size of the volume, in GiB.

", + "VolumeModification$TargetIops": "

The target IOPS rate of the volume.

", + "VolumeModification$OriginalSize": "

The original size of the volume.

", + "VolumeModification$OriginalIops": "

The original IOPS rate of the volume.

" } }, "InterfacePermissionType": { @@ -4609,6 +4946,18 @@ "SpotFleetRequestConfigData$LaunchTemplateConfigs": "

The launch template and overrides.

" } }, + "LaunchTemplateCpuOptions": { + "base": "

The CPU options for the instance.

", + "refs": { + "ResponseLaunchTemplateData$CpuOptions": "

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

" + } + }, + "LaunchTemplateCpuOptionsRequest": { + "base": "

The CPU options for the instance. Both the core count and threads per core must be specified in the request.

", + "refs": { + "RequestLaunchTemplateData$CpuOptions": "

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

" + } + }, "LaunchTemplateEbsBlockDevice": { "base": "

Describes a block device for an EBS volume.

", "refs": { @@ -4684,6 +5033,7 @@ "DeleteLaunchTemplateVersionsRequest$LaunchTemplateName": "

The name of the launch template. You must specify either the launch template ID or launch template name in the request.

", "DescribeLaunchTemplateVersionsRequest$LaunchTemplateName": "

The name of the launch template. You must specify either the launch template ID or launch template name in the request.

", "FleetLaunchTemplateSpecification$LaunchTemplateName": "

The name of the launch template. You must specify either a template name or a template ID.

", + "FleetLaunchTemplateSpecificationRequest$LaunchTemplateName": "

The name of the launch template.

", "LaunchTemplate$LaunchTemplateName": "

The name of the launch template.

", "LaunchTemplateNameStringList$member": null, "LaunchTemplateVersion$LaunchTemplateName": "

The name of the launch template.

", @@ -4727,9 +5077,9 @@ } }, "LaunchTemplateSpecification": { - "base": "

The launch template to use. You must specify either the launch template ID or launch template name in the request.

", + "base": "

The launch template to use. You must specify either the launch template ID or launch template name in the request, but not both.

", "refs": { - "RunInstancesRequest$LaunchTemplate": "

The launch template to use to launch the instances. Any parameters that you specify in RunInstances override the same parameters in the launch template.

" + "RunInstancesRequest$LaunchTemplate": "

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.

" } }, "LaunchTemplateSpotMarketOptions": { @@ -4765,7 +5115,7 @@ "LaunchTemplateTagSpecificationRequestList": { "base": null, "refs": { - "RequestLaunchTemplateData$TagSpecifications": "

The tags to apply to the resources during launch. You can tag instances and volumes. The specified tags are applied to all instances or volumes that are created during launch.

" + "RequestLaunchTemplateData$TagSpecifications": "

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.

" } }, "LaunchTemplateVersion": { @@ -4863,7 +5213,7 @@ "ReservedInstances$Duration": "

The duration of the Reserved Instance, in seconds.

", "ReservedInstancesOffering$Duration": "

The duration of the Reserved Instance, in seconds.

", "VolumeDetail$Size": "

The size of the volume, in GiB.

", - "VolumeModification$Progress": "

Modification progress from 0 to 100%.

", + "VolumeModification$Progress": "

The modification progress, from 0 to 100 percent complete.

", "VpnGateway$AmazonSideAsn": "

The private Autonomous System Number (ASN) for the Amazon side of a BGP session.

" } }, @@ -4884,6 +5234,16 @@ "DescribeVpcClassicLinkDnsSupportRequest$MaxResults": "

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.

" } }, + "ModifyFleetRequest": { + "base": null, + "refs": { + } + }, + "ModifyFleetResult": { + "base": null, + "refs": { + } + }, "ModifyFpgaImageAttributeRequest": { "base": null, "refs": { @@ -5355,6 +5715,24 @@ "ReservedInstancesOffering$OfferingType": "

The Reserved Instance offering type.

" } }, + "OnDemandAllocationStrategy": { + "base": null, + "refs": { + "SpotFleetRequestConfigData$OnDemandAllocationStrategy": "

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.

" + } + }, + "OnDemandOptions": { + "base": "

The allocation strategy of On-Demand Instances in an EC2 Fleet.

", + "refs": { + "FleetData$OnDemandOptions": "

The allocation strategy of On-Demand Instances in an EC2 Fleet.

" + } + }, + "OnDemandOptionsRequest": { + "base": "

The allocation strategy of On-Demand Instances in an EC2 Fleet.

", + "refs": { + "CreateFleetRequest$OnDemandOptions": "

The allocation strategy of On-Demand Instances in an EC2 Fleet.

" + } + }, "OperationType": { "base": null, "refs": { @@ -5471,7 +5849,7 @@ } }, "PrefixListId": { - "base": "

The ID of the prefix.

", + "base": "

[EC2-VPC only] The ID of the prefix.

", "refs": { "PrefixListIdList$member": null } @@ -5479,7 +5857,7 @@ "PrefixListIdList": { "base": null, "refs": { - "IpPermission$PrefixListIds": "

(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.

" + "IpPermission$PrefixListIds": "

(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.

" } }, "PrefixListIdSet": { @@ -5530,6 +5908,18 @@ "ReservedInstancesOffering$PricingDetails": "

The pricing details of the Reserved Instance offering.

" } }, + "PrincipalIdFormat": { + "base": "

PrincipalIdFormat description

", + "refs": { + "PrincipalIdFormatList$member": null + } + }, + "PrincipalIdFormatList": { + "base": null, + "refs": { + "DescribePrincipalIdFormatResult$Principals": "

Information about the ID format settings for the ARN.

" + } + }, "PrincipalType": { "base": null, "refs": { @@ -5677,7 +6067,7 @@ "PurchaseSet": { "base": null, "refs": { - "GetHostReservationPurchasePreviewResult$Purchase": "

The purchase information of the Dedicated Host Reservation and the Dedicated Hosts associated with it.

", + "GetHostReservationPurchasePreviewResult$Purchase": "

The purchase information of the Dedicated Host reservation and the Dedicated Hosts associated with it.

", "PurchaseHostReservationResult$Purchase": "

Describes the details of the purchase.

" } }, @@ -5851,15 +6241,15 @@ "base": null, "refs": { "DescribeHostsRequest$HostIds": "

The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.

", - "ModifyHostsRequest$HostIds": "

The host IDs of the Dedicated Hosts you want to modify.

", - "ReleaseHostsRequest$HostIds": "

The IDs of the Dedicated Hosts you want to release.

" + "ModifyHostsRequest$HostIds": "

The IDs of the Dedicated Hosts to modify.

", + "ReleaseHostsRequest$HostIds": "

The IDs of the Dedicated Hosts to release.

" } }, "RequestHostIdSet": { "base": null, "refs": { - "GetHostReservationPurchasePreviewRequest$HostIdSet": "

The ID/s of the Dedicated Host/s that the reservation will be associated with.

", - "PurchaseHostReservationRequest$HostIdSet": "

The ID/s of the Dedicated Host/s that the reservation will be associated with.

" + "GetHostReservationPurchasePreviewRequest$HostIdSet": "

The IDs of the Dedicated Hosts with which the reservation is associated.

", + "PurchaseHostReservationRequest$HostIdSet": "

The IDs of the Dedicated Hosts with which the reservation will be associated.

" } }, "RequestLaunchTemplateData": { @@ -6108,14 +6498,20 @@ "DeleteTagsRequest$Resources": "

The IDs of one or more resources.

" } }, + "ResourceList": { + "base": null, + "refs": { + "DescribePrincipalIdFormatRequest$Resources": "

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

" + } + }, "ResourceType": { "base": null, "refs": { "LaunchTemplateTagSpecification$ResourceType": "

The type of resource.

", - "LaunchTemplateTagSpecificationRequest$ResourceType": "

The type of resource to tag. Currently, the resource types that support tagging on creation are instance and volume.

", + "LaunchTemplateTagSpecificationRequest$ResourceType": "

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.

", "SpotFleetTagSpecification$ResourceType": "

The type of resource. Currently, the only resource type that is supported is instance.

", "TagDescription$ResourceType": "

The resource type.

", - "TagSpecification$ResourceType": "

The type of resource to tag. Currently, the resource types that support tagging on creation are instance and volume.

" + "TagSpecification$ResourceType": "

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.

" } }, "ResponseError": { @@ -6127,7 +6523,7 @@ "ResponseHostIdList": { "base": null, "refs": { - "AllocateHostsResult$HostIds": "

The ID of the allocated Dedicated Host. This is used when you want to launch an instance onto a specific host.

", + "AllocateHostsResult$HostIds": "

The ID of the allocated Dedicated Host. This is used to launch an instance onto a specific host.

", "ModifyHostsResult$Successful": "

The IDs of the Dedicated Hosts that were successfully modified.

", "ReleaseHostsResult$Successful": "

The IDs of the Dedicated Hosts that were successfully released.

" } @@ -6512,7 +6908,7 @@ "base": null, "refs": { "DescribeSnapshotAttributeRequest$Attribute": "

The snapshot attribute you would like to view.

", - "ModifySnapshotAttributeRequest$Attribute": "

The snapshot attribute to modify.

Only volume creation permissions may be modified at the customer level.

", + "ModifySnapshotAttributeRequest$Attribute": "

The snapshot attribute to modify. Only volume creation permissions can be modified.

", "ResetSnapshotAttributeRequest$Attribute": "

The attribute to reset. Currently, only the attribute for permission to create volumes can be reset.

" } }, @@ -6560,6 +6956,13 @@ "ImportSnapshotTask$SnapshotTaskDetail": "

Describes an import snapshot task.

" } }, + "SpotAllocationStrategy": { + "base": null, + "refs": { + "SpotOptions$AllocationStrategy": "

Indicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet request. The default is lowest-price.

", + "SpotOptionsRequest$AllocationStrategy": "

Indicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet request. The default is lowestPrice.

" + } + }, "SpotDatafeedSubscription": { "base": "

Describes the data feed for a Spot Instance.

", "refs": { @@ -6610,6 +7013,13 @@ "SpotFleetLaunchSpecification$TagSpecifications": "

The tags to apply during creation.

" } }, + "SpotInstanceInterruptionBehavior": { + "base": null, + "refs": { + "SpotOptions$InstanceInterruptionBehavior": "

The behavior when a Spot Instance is interrupted. The default is terminate.

", + "SpotOptionsRequest$InstanceInterruptionBehavior": "

The behavior when a Spot Instance is interrupted. The default is terminate.

" + } + }, "SpotInstanceRequest": { "base": "

Describes a Spot Instance request.

", "refs": { @@ -6633,7 +7043,7 @@ "SpotInstanceState": { "base": null, "refs": { - "SpotInstanceRequest$State": "

The state of the Spot Instance request. Spot status information can help you track your Spot Instance requests. For more information, see Spot Status in the Amazon Elastic Compute Cloud User Guide.

" + "SpotInstanceRequest$State": "

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.

" } }, "SpotInstanceStateFault": { @@ -6656,7 +7066,7 @@ "LaunchTemplateSpotMarketOptionsRequest$SpotInstanceType": "

The Spot Instance request type.

", "RequestSpotInstancesRequest$Type": "

The Spot Instance request type.

Default: one-time

", "SpotInstanceRequest$Type": "

The Spot Instance request type.

", - "SpotMarketOptions$SpotInstanceType": "

The Spot Instance request type.

" + "SpotMarketOptions$SpotInstanceType": "

The Spot Instance request type. For RunInstances, persistent Spot Instance requests are only supported when InstanceInterruptionBehavior is set to either hibernate or stop.

" } }, "SpotMarketOptions": { @@ -6665,6 +7075,18 @@ "InstanceMarketOptionsRequest$SpotOptions": "

The options for Spot Instances.

" } }, + "SpotOptions": { + "base": "

Describes the configuration of Spot Instances in an EC2 Fleet.

", + "refs": { + "FleetData$SpotOptions": "

The configuration of Spot Instances in an EC2 Fleet.

" + } + }, + "SpotOptionsRequest": { + "base": "

Describes the configuration of Spot Instances in an EC2 Fleet request.

", + "refs": { + "CreateFleetRequest$SpotOptions": "

Describes the configuration of Spot Instances in an EC2 Fleet.

" + } + }, "SpotPlacement": { "base": "

Describes Spot Instance placement.

", "refs": { @@ -6799,8 +7221,8 @@ "AllocateAddressResult$PublicIp": "

The Elastic IP address.

", "AllocateAddressResult$AllocationId": "

[EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

", "AllocateHostsRequest$AvailabilityZone": "

The Availability Zone for the Dedicated Hosts.

", - "AllocateHostsRequest$ClientToken": "

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.

", - "AllocateHostsRequest$InstanceType": "

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.

", + "AllocateHostsRequest$ClientToken": "

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.

", + "AllocateHostsRequest$InstanceType": "

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.

", "AllocationIdList$member": null, "AllowedPrincipal$Principal": "

The Amazon Resource Name (ARN) of the principal.

", "AssignIpv6AddressesRequest$NetworkInterfaceId": "

The ID of the network interface.

", @@ -6837,7 +7259,7 @@ "AttachVolumeRequest$VolumeId": "

The ID of the EBS volume. The volume and instance must be within the same Availability Zone.

", "AttachVpnGatewayRequest$VpcId": "

The ID of the VPC.

", "AttachVpnGatewayRequest$VpnGatewayId": "

The ID of the virtual private gateway.

", - "AttributeValue$Value": "

The attribute value. Note that the value is case-sensitive.

", + "AttributeValue$Value": "

The attribute value. The value is case-sensitive.

", "AuthorizeSecurityGroupEgressRequest$GroupId": "

The ID of the security group.

", "AuthorizeSecurityGroupEgressRequest$CidrIp": "

Not supported. Use a set of IP permissions to specify the CIDR.

", "AuthorizeSecurityGroupEgressRequest$IpProtocol": "

Not supported. Use a set of IP permissions to specify the protocol name or number.

", @@ -6854,7 +7276,7 @@ "AvailabilityZoneMessage$Message": "

The message about the Availability Zone.

", "BillingProductList$member": null, "BlockDeviceMapping$DeviceName": "

The device name (for example, /dev/sdh or xvdh).

", - "BlockDeviceMapping$VirtualName": "

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.

", + "BlockDeviceMapping$VirtualName": "

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.

", "BlockDeviceMapping$NoDevice": "

Suppresses the specified device included in the block device mapping of the AMI.

", "BundleIdStringList$member": null, "BundleInstanceRequest$InstanceId": "

The ID of the instance to bundle.

Type: String

Default: None

Required: Yes

", @@ -6902,15 +7324,15 @@ "CopyFpgaImageResult$FpgaImageId": "

The ID of the new AFI.

", "CopyImageRequest$ClientToken": "

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.

", "CopyImageRequest$Description": "

A description for the new AMI in the destination region.

", - "CopyImageRequest$KmsKeyId": "

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.

", + "CopyImageRequest$KmsKeyId": "

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:

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.

", "CopyImageRequest$Name": "

The name of the new AMI in the destination region.

", "CopyImageRequest$SourceImageId": "

The ID of the AMI to copy.

", "CopyImageRequest$SourceRegion": "

The name of the region that contains the AMI to copy.

", "CopyImageResult$ImageId": "

The ID of the new AMI.

", "CopySnapshotRequest$Description": "

A description for the EBS snapshot.

", - "CopySnapshotRequest$DestinationRegion": "

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).

", - "CopySnapshotRequest$KmsKeyId": "

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.

", - "CopySnapshotRequest$PresignedUrl": "

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.

", + "CopySnapshotRequest$DestinationRegion": "

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.

", + "CopySnapshotRequest$KmsKeyId": "

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:

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.

", + "CopySnapshotRequest$PresignedUrl": "

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.

", "CopySnapshotRequest$SourceRegion": "

The ID of the region that contains the snapshot to be copied.

", "CopySnapshotRequest$SourceSnapshotId": "

The ID of the EBS snapshot to copy.

", "CopySnapshotResult$SnapshotId": "

The ID of the new snapshot.

", @@ -6919,6 +7341,7 @@ "CreateEgressOnlyInternetGatewayRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", "CreateEgressOnlyInternetGatewayRequest$VpcId": "

The ID of the VPC for which to create the egress-only Internet gateway.

", "CreateEgressOnlyInternetGatewayResult$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", + "CreateFleetRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", "CreateFlowLogsRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", "CreateFlowLogsRequest$DeliverLogsPermissionArn": "

The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group.

", "CreateFlowLogsRequest$LogGroupName": "

The name of the CloudWatch log group.

", @@ -6946,7 +7369,7 @@ "CreateNetworkAclEntryRequest$CidrBlock": "

The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", "CreateNetworkAclEntryRequest$Ipv6CidrBlock": "

The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).

", "CreateNetworkAclEntryRequest$NetworkAclId": "

The ID of the network ACL.

", - "CreateNetworkAclEntryRequest$Protocol": "

The protocol. A value of -1 or all means 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 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.

", + "CreateNetworkAclEntryRequest$Protocol": "

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 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.

", "CreateNetworkAclRequest$VpcId": "

The ID of the VPC.

", "CreateNetworkInterfacePermissionRequest$NetworkInterfaceId": "

The ID of the network interface.

", "CreateNetworkInterfacePermissionRequest$AwsAccountId": "

The AWS account ID.

", @@ -6968,7 +7391,7 @@ "CreateRouteRequest$VpcPeeringConnectionId": "

The ID of a VPC peering connection.

", "CreateRouteTableRequest$VpcId": "

The ID of the VPC.

", "CreateSecurityGroupRequest$Description": "

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 ._-:/()#,@[]+=&;{}!$*

", - "CreateSecurityGroupRequest$GroupName": "

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 ._-:/()#,@[]+=&;{}!$*

", + "CreateSecurityGroupRequest$GroupName": "

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 ._-:/()#,@[]+=&;{}!$*

", "CreateSecurityGroupRequest$VpcId": "

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

", "CreateSecurityGroupResult$GroupId": "

The ID of the security group.

", "CreateSnapshotRequest$Description": "

A description for the snapshot.

", @@ -6981,7 +7404,7 @@ "CreateSubnetRequest$VpcId": "

The ID of the VPC.

", "CreateVolumePermission$UserId": "

The specific AWS account ID that is to be added or removed from a volume's list of create volume permissions.

", "CreateVolumeRequest$AvailabilityZone": "

The Availability Zone in which to create the volume. Use DescribeAvailabilityZones to list the Availability Zones that are currently available to you.

", - "CreateVolumeRequest$KmsKeyId": "

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.

", + "CreateVolumeRequest$KmsKeyId": "

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:

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.

", "CreateVolumeRequest$SnapshotId": "

The snapshot from which to create the volume.

", "CreateVpcEndpointConnectionNotificationRequest$ServiceId": "

The ID of the endpoint service.

", "CreateVpcEndpointConnectionNotificationRequest$VpcEndpointId": "

The ID of the endpoint.

", @@ -6989,7 +7412,7 @@ "CreateVpcEndpointConnectionNotificationRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", "CreateVpcEndpointConnectionNotificationResult$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", "CreateVpcEndpointRequest$VpcId": "

The ID of the VPC in which the endpoint will be used.

", - "CreateVpcEndpointRequest$ServiceName": "

The service name. To get a list of available services, use the DescribeVpcEndpointServices request.

", + "CreateVpcEndpointRequest$ServiceName": "

The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service provider.

", "CreateVpcEndpointRequest$PolicyDocument": "

(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.

", "CreateVpcEndpointRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", "CreateVpcEndpointResult$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", @@ -7006,7 +7429,7 @@ "CreateVpnConnectionRouteRequest$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer network.

", "CreateVpnConnectionRouteRequest$VpnConnectionId": "

The ID of the VPN connection.

", "CreateVpnGatewayRequest$AvailabilityZone": "

The Availability Zone for the virtual private gateway.

", - "CreditSpecification$CpuCredits": "

The credit option for CPU usage of a T2 instance.

", + "CreditSpecification$CpuCredits": "

The credit option for CPU usage of a T2 instance. Valid values are standard and unlimited.

", "CreditSpecificationRequest$CpuCredits": "

The credit option for CPU usage of a T2 instance. Valid values are standard and unlimited.

", "CustomerGateway$BgpAsn": "

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

", "CustomerGateway$CustomerGatewayId": "

The ID of the customer gateway.

", @@ -7016,6 +7439,7 @@ "CustomerGatewayIdStringList$member": null, "DeleteCustomerGatewayRequest$CustomerGatewayId": "

The ID of the customer gateway.

", "DeleteDhcpOptionsRequest$DhcpOptionsId": "

The ID of the DHCP options set.

", + "DeleteFleetError$Message": "

The description for the error code.

", "DeleteFpgaImageRequest$FpgaImageId": "

The ID of the AFI.

", "DeleteInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", "DeleteKeyPairRequest$KeyName": "

The name of the key pair.

", @@ -7054,6 +7478,12 @@ "DescribeEgressOnlyInternetGatewaysResult$NextToken": "

The token to use to retrieve the next page of results.

", "DescribeElasticGpusRequest$NextToken": "

The token to request the next page of results.

", "DescribeElasticGpusResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "DescribeFleetHistoryRequest$NextToken": "

The token for the next set of results.

", + "DescribeFleetHistoryResult$NextToken": "

The token for the next set of results.

", + "DescribeFleetInstancesRequest$NextToken": "

The token for the next set of results.

", + "DescribeFleetInstancesResult$NextToken": "

The token for the next set of results.

", + "DescribeFleetsRequest$NextToken": "

The token for the next set of results.

", + "DescribeFleetsResult$NextToken": "

The token for the next set of results.

", "DescribeFlowLogsRequest$NextToken": "

The token to retrieve the next page of results.

", "DescribeFlowLogsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "DescribeFpgaImageAttributeRequest$FpgaImageId": "

The ID of the AFI.

", @@ -7064,9 +7494,9 @@ "DescribeHostReservationsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "DescribeHostsRequest$NextToken": "

The token to retrieve the next page of results.

", "DescribeHostsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "DescribeIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", + "DescribeIdFormatRequest$Resource": "

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

", "DescribeIdentityIdFormatRequest$PrincipalArn": "

The ARN of the principal, which can be an IAM role, IAM user, or the root user.

", - "DescribeIdentityIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", + "DescribeIdentityIdFormatRequest$Resource": "

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

", "DescribeImageAttributeRequest$ImageId": "

The ID of the AMI.

", "DescribeImportImageTasksRequest$NextToken": "

A token that indicates the next page of results.

", "DescribeImportImageTasksResult$NextToken": "

The token to use to get the next page of results. This value is null when there are no more results to return.

", @@ -7096,6 +7526,8 @@ "DescribeNetworkInterfacePermissionsResult$NextToken": "

The token to use to retrieve the next page of results.

", "DescribePrefixListsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a prior call.)

", "DescribePrefixListsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", + "DescribePrincipalIdFormatRequest$NextToken": "

The token to request the next page of results.

", + "DescribePrincipalIdFormatResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "DescribeReservedInstancesListingsRequest$ReservedInstancesId": "

One or more Reserved Instance IDs.

", "DescribeReservedInstancesListingsRequest$ReservedInstancesListingId": "

One or more Reserved Instance listing IDs.

", "DescribeReservedInstancesModificationsRequest$NextToken": "

The token to retrieve the next page of results.

", @@ -7125,11 +7557,11 @@ "DescribeSpotFleetRequestsResponse$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", "DescribeSpotPriceHistoryRequest$AvailabilityZone": "

Filters the results by the specified Availability Zone.

", "DescribeSpotPriceHistoryRequest$NextToken": "

The token for the next set of results.

", - "DescribeSpotPriceHistoryResult$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", + "DescribeSpotPriceHistoryResult$NextToken": "

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.

", "DescribeStaleSecurityGroupsRequest$VpcId": "

The ID of the VPC.

", "DescribeStaleSecurityGroupsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "DescribeTagsRequest$NextToken": "

The token to retrieve the next page of results.

", - "DescribeTagsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return..

", + "DescribeTagsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "DescribeVolumeAttributeRequest$VolumeId": "

The ID of the volume.

", "DescribeVolumeAttributeResult$VolumeId": "

The ID of the volume.

", "DescribeVolumeStatusRequest$NextToken": "

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.

", @@ -7186,7 +7618,7 @@ "DiskImageVolumeDescription$Id": "

The volume identifier.

", "DnsEntry$DnsName": "

The DNS name.

", "DnsEntry$HostedZoneId": "

The ID of the private hosted zone.

", - "EbsBlockDevice$KmsKeyId": "

ID for a user-managed CMK under which the EBS volume is encrypted.

Note: This parameter is only supported on BlockDeviceMapping objects called by RunInstances, RequestSpotFleet, and RequestSpotInstances.

", + "EbsBlockDevice$KmsKeyId": "

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.

", "EbsBlockDevice$SnapshotId": "

The ID of the snapshot.

", "EbsInstanceBlockDevice$VolumeId": "

The ID of the EBS volume.

", "EbsInstanceBlockDeviceSpecification$VolumeId": "

The ID of the EBS volume.

", @@ -7207,7 +7639,7 @@ "EnableVpcClassicLinkDnsSupportRequest$VpcId": "

The ID of the VPC.

", "EnableVpcClassicLinkRequest$VpcId": "

The ID of the VPC.

", "EventInformation$EventDescription": "

The description of the event.

", - "EventInformation$EventSubType": "

The event.

The following are the error events:

The following are the fleetRequestChange events:

The following are the instanceChange events:

The following are the Information events:

", + "EventInformation$EventSubType": "

The event.

The following are the error events:

The following are the fleetRequestChange events:

The following are the instanceChange events:

The following are the Information events:

", "EventInformation$InstanceId": "

The ID of the instance. This information is available only for instanceChange events.

", "ExecutableByStringList$member": null, "ExportTask$Description": "

A description of the resource being exported.

", @@ -7219,8 +7651,17 @@ "ExportToS3TaskSpecification$S3Bucket": "

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.

", "ExportToS3TaskSpecification$S3Prefix": "

The image is written to a single object in the S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", "Filter$Name": "

The name of the filter. Filter names are case-sensitive.

", + "FleetData$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraints: Maximum 64 ASCII characters

", + "FleetLaunchTemplateOverrides$MaxPrice": "

The maximum price per unit hour that you are willing to pay for a Spot Instance.

", + "FleetLaunchTemplateOverrides$SubnetId": "

The ID of the subnet in which to launch the instances.

", + "FleetLaunchTemplateOverrides$AvailabilityZone": "

The Availability Zone in which to launch the instances.

", + "FleetLaunchTemplateOverridesRequest$MaxPrice": "

The maximum price per unit hour that you are willing to pay for a Spot Instance.

", + "FleetLaunchTemplateOverridesRequest$SubnetId": "

The ID of the subnet in which to launch the instances.

", + "FleetLaunchTemplateOverridesRequest$AvailabilityZone": "

The Availability Zone in which to launch the instances.

", "FleetLaunchTemplateSpecification$LaunchTemplateId": "

The ID of the launch template. You must specify either a template ID or a template name.

", "FleetLaunchTemplateSpecification$Version": "

The version number. By default, the default version of the launch template is used.

", + "FleetLaunchTemplateSpecificationRequest$LaunchTemplateId": "

The ID of the launch template.

", + "FleetLaunchTemplateSpecificationRequest$Version": "

The version number of the launch template.

", "FlowLog$DeliverLogsErrorMessage": "

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.

", "FlowLog$DeliverLogsPermissionArn": "

The ARN of the IAM role that posts logs to CloudWatch Logs.

", "FlowLog$DeliverLogsStatus": "

The status of the logs delivery (SUCCESS | FAILED).

", @@ -7242,7 +7683,7 @@ "FpgaImageState$Message": "

If the state is failed, this is the error message.

", "GetConsoleOutputRequest$InstanceId": "

The ID of the instance.

", "GetConsoleOutputResult$InstanceId": "

The ID of the instance.

", - "GetConsoleOutputResult$Output": "

The console output, Base64-encoded. If using a command line tool, the tool decodes the output for you.

", + "GetConsoleOutputResult$Output": "

The console output, base64-encoded. If you are using a command line tool, the tool decodes the output for you.

", "GetConsoleScreenshotRequest$InstanceId": "

The ID of the instance.

", "GetConsoleScreenshotResult$ImageData": "

The data that comprises the image.

", "GetConsoleScreenshotResult$InstanceId": "

The ID of the instance.

", @@ -7262,7 +7703,7 @@ "GroupIds$member": null, "GroupNameStringList$member": null, "Host$AvailabilityZone": "

The Availability Zone of the Dedicated Host.

", - "Host$ClientToken": "

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.

", + "Host$ClientToken": "

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.

", "Host$HostId": "

The ID of the Dedicated Host.

", "Host$HostReservationId": "

The reservation ID of the Dedicated Host. This returns a null response if the Dedicated Host doesn't have an associated reservation.

", "HostInstance$InstanceId": "

the IDs of instances that are running on the Dedicated Host.

", @@ -7299,7 +7740,7 @@ "ImageAttribute$ImageId": "

The ID of the AMI.

", "ImageDiskContainer$Description": "

The description of the disk image.

", "ImageDiskContainer$DeviceName": "

The block device mapping for the disk.

", - "ImageDiskContainer$Format": "

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

", + "ImageDiskContainer$Format": "

The format of the disk image being imported.

Valid values: VHD | VMDK | OVA

", "ImageDiskContainer$SnapshotId": "

The ID of the EBS snapshot to be used for importing the snapshot.

", "ImageDiskContainer$Url": "

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://..)

", "ImageIdStringList$member": null, @@ -7426,7 +7867,7 @@ "KeyPairInfo$KeyFingerprint": "

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.

", "KeyPairInfo$KeyName": "

The name of the key pair.

", "LaunchPermission$UserId": "

The AWS account ID.

", - "LaunchSpecification$UserData": "

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.

", + "LaunchSpecification$UserData": "

The Base64-encoded user data for the instance.

", "LaunchSpecification$AddressingType": "

Deprecated.

", "LaunchSpecification$ImageId": "

The ID of the AMI.

", "LaunchSpecification$KernelId": "

The ID of the kernel.

", @@ -7482,16 +7923,17 @@ "ModifyFpgaImageAttributeRequest$FpgaImageId": "

The ID of the AFI.

", "ModifyFpgaImageAttributeRequest$Description": "

A description for the AFI.

", "ModifyFpgaImageAttributeRequest$Name": "

A name for the AFI.

", - "ModifyIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", + "ModifyIdFormatRequest$Resource": "

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.

", "ModifyIdentityIdFormatRequest$PrincipalArn": "

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.

", - "ModifyIdentityIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", + "ModifyIdentityIdFormatRequest$Resource": "

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.

", "ModifyImageAttributeRequest$Attribute": "

The name of the attribute to modify. The valid values are description, launchPermission, and productCodes.

", "ModifyImageAttributeRequest$ImageId": "

The ID of the AMI.

", "ModifyImageAttributeRequest$Value": "

The value of the attribute being modified. This parameter can be used only when the Attribute parameter is description or productCodes.

", "ModifyInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", "ModifyInstanceAttributeRequest$Value": "

A new value for the attribute. Use only with the kernel, ramdisk, userData, disableApiTermination, or instanceInitiatedShutdownBehavior attribute.

", "ModifyInstanceCreditSpecificationRequest$ClientToken": "

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

", - "ModifyInstancePlacementRequest$HostId": "

The ID of the Dedicated Host that the instance will have affinity with.

", + "ModifyInstancePlacementRequest$GroupName": "

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 (\"\").

", + "ModifyInstancePlacementRequest$HostId": "

The ID of the Dedicated Host with which to associate the instance.

", "ModifyInstancePlacementRequest$InstanceId": "

The ID of the instance that you are modifying.

", "ModifyLaunchTemplateRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", "ModifyLaunchTemplateRequest$LaunchTemplateId": "

The ID of the launch template. You must specify either the launch template ID or launch template name in the request.

", @@ -7503,7 +7945,7 @@ "ModifySpotFleetRequestRequest$SpotFleetRequestId": "

The ID of the Spot Fleet request.

", "ModifySubnetAttributeRequest$SubnetId": "

The ID of the subnet.

", "ModifyVolumeAttributeRequest$VolumeId": "

The ID of the volume.

", - "ModifyVolumeRequest$VolumeId": null, + "ModifyVolumeRequest$VolumeId": "

The ID of the volume.

", "ModifyVpcAttributeRequest$VpcId": "

The ID of the VPC.

", "ModifyVpcEndpointConnectionNotificationRequest$ConnectionNotificationId": "

The ID of the notification.

", "ModifyVpcEndpointConnectionNotificationRequest$ConnectionNotificationArn": "

The ARN for the SNS topic for the notification.

", @@ -7580,6 +8022,7 @@ "PrefixListId$Description": "

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 ._-:/()#,@[]+=;{}!$*

", "PrefixListId$PrefixListId": "

The ID of the prefix.

", "PrefixListIdSet$member": null, + "PrincipalIdFormat$Arn": "

PrincipalIdFormatARN description

", "PrivateIpAddressSpecification$PrivateIpAddress": "

The private IPv4 addresses.

", "PrivateIpAddressStringList$member": null, "ProductCode$ProductCodeId": "

The product code.

", @@ -7595,11 +8038,11 @@ "Purchase$InstanceFamily": "

The instance family on the Dedicated Host that the reservation can be associated with.

", "Purchase$UpfrontPrice": "

The upfront price of the reservation.

", "PurchaseHostReservationRequest$ClientToken": "

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.

", - "PurchaseHostReservationRequest$LimitPrice": "

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.

", + "PurchaseHostReservationRequest$LimitPrice": "

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.

", "PurchaseHostReservationRequest$OfferingId": "

The ID of the offering.

", - "PurchaseHostReservationResult$ClientToken": "

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$ClientToken": "

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$TotalHourlyPrice": "

The total hourly price of the reservation calculated per hour.

", - "PurchaseHostReservationResult$TotalUpfrontPrice": "

The total amount that will be charged to your account when you purchase the reservation.

", + "PurchaseHostReservationResult$TotalUpfrontPrice": "

The total amount charged to your account when you purchase the reservation.

", "PurchaseRequest$PurchaseToken": "

The purchase token.

", "PurchaseReservedInstancesOfferingRequest$ReservedInstancesOfferingId": "

The ID of the Reserved Instance offering to purchase.

", "PurchaseReservedInstancesOfferingResult$ReservedInstancesId": "

The IDs of the purchased Reserved Instances.

", @@ -7647,10 +8090,10 @@ "RequestLaunchTemplateData$ImageId": "

The ID of the AMI, which you can get by using DescribeImages.

", "RequestLaunchTemplateData$KeyName": "

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.

", "RequestLaunchTemplateData$RamDiskId": "

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.

", - "RequestLaunchTemplateData$UserData": "

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.

", + "RequestLaunchTemplateData$UserData": "

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).

", "RequestSpotFleetResponse$SpotFleetRequestId": "

The ID of the Spot Fleet request.

", "RequestSpotInstancesRequest$AvailabilityZoneGroup": "

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.

", - "RequestSpotInstancesRequest$ClientToken": "

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.

", + "RequestSpotInstancesRequest$ClientToken": "

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.

", "RequestSpotInstancesRequest$LaunchGroup": "

The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

Default: Instances are launched and terminated individually

", "RequestSpotInstancesRequest$SpotPrice": "

The maximum price per hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.

", "RequestSpotLaunchSpecification$AddressingType": "

Deprecated.

", @@ -7659,7 +8102,7 @@ "RequestSpotLaunchSpecification$KeyName": "

The name of the key pair.

", "RequestSpotLaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", "RequestSpotLaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instance.

", - "RequestSpotLaunchSpecification$UserData": "

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.

", + "RequestSpotLaunchSpecification$UserData": "

The Base64-encoded user data for the instance.

", "Reservation$OwnerId": "

The ID of the AWS account that owns the reservation.

", "Reservation$RequesterId": "

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", "Reservation$ReservationId": "

The ID of the reservation.

", @@ -7694,6 +8137,7 @@ "ResetNetworkInterfaceAttributeRequest$SourceDestCheck": "

The source/destination checking attribute. Resets the value to true.

", "ResetSnapshotAttributeRequest$SnapshotId": "

The ID of the snapshot.

", "ResourceIdList$member": null, + "ResourceList$member": null, "ResponseError$Message": "

The error message, if applicable.

", "ResponseHostIdList$member": null, "ResponseHostIdSet$member": null, @@ -7731,7 +8175,7 @@ "RouteTableAssociation$RouteTableAssociationId": "

The ID of the association between a route table and a subnet.

", "RouteTableAssociation$RouteTableId": "

The ID of the route table.

", "RouteTableAssociation$SubnetId": "

The ID of the subnet. A subnet ID is not returned for an implicit association.

", - "RunInstancesRequest$ImageId": "

The ID of the AMI, which you can get by calling DescribeImages.

", + "RunInstancesRequest$ImageId": "

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.

", "RunInstancesRequest$KernelId": "

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.

", "RunInstancesRequest$KeyName": "

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.

", "RunInstancesRequest$RamdiskId": "

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.

", @@ -7821,7 +8265,7 @@ "SnapshotDetail$StatusMessage": "

A detailed status message for the snapshot creation.

", "SnapshotDetail$Url": "

The URL used to access the disk image.

", "SnapshotDiskContainer$Description": "

The description of the disk image being imported.

", - "SnapshotDiskContainer$Format": "

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

", + "SnapshotDiskContainer$Format": "

The format of the disk image being imported.

Valid values: VHD | VMDK | OVA

", "SnapshotDiskContainer$Url": "

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://..).

", "SnapshotIdStringList$member": null, "SnapshotTaskDetail$Description": "

The description of the snapshot.

", @@ -7841,9 +8285,9 @@ "SpotFleetLaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", "SpotFleetLaunchSpecification$SpotPrice": "

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.

", "SpotFleetLaunchSpecification$SubnetId": "

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\".

", - "SpotFleetLaunchSpecification$UserData": "

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.

", + "SpotFleetLaunchSpecification$UserData": "

The Base64-encoded user data to make available to the instances.

", "SpotFleetRequestConfig$SpotFleetRequestId": "

The ID of the Spot Fleet request.

", - "SpotFleetRequestConfigData$ClientToken": "

A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", + "SpotFleetRequestConfigData$ClientToken": "

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.

", "SpotFleetRequestConfigData$IamFleetRole": "

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.

", "SpotFleetRequestConfigData$SpotPrice": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.

", "SpotInstanceRequest$ActualBlockHourlyPrice": "

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.

", @@ -7856,7 +8300,7 @@ "SpotInstanceRequestIdList$member": null, "SpotInstanceStateFault$Code": "

The reason code for the Spot Instance state change.

", "SpotInstanceStateFault$Message": "

The message for the Spot Instance state change.

", - "SpotInstanceStatus$Code": "

The status code. For a list of status codes, see Spot Status Codes in the Amazon Elastic Compute Cloud User Guide.

", + "SpotInstanceStatus$Code": "

The status code. For a list of status codes, see Spot Status Codes in the Amazon EC2 User Guide for Linux Instances.

", "SpotInstanceStatus$Message": "

The description for the status code.

", "SpotMarketOptions$MaxPrice": "

The maximum hourly price you're willing to pay for the Spot Instances. The default is the On-Demand price.

", "SpotPlacement$AvailabilityZone": "

The Availability Zone.

[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".

", @@ -7870,7 +8314,7 @@ "StaleSecurityGroup$VpcId": "

The ID of the VPC for the security group.

", "StartInstancesRequest$AdditionalInfo": "

Reserved.

", "StateReason$Code": "

The reason code for the state change.

", - "StateReason$Message": "

The message for the state change.

", + "StateReason$Message": "

The message for the state change.

", "StorageLocation$Bucket": "

The name of the S3 bucket.

", "StorageLocation$Key": "

The key.

", "Subnet$AvailabilityZone": "

The Availability Zone of the subnet.

", @@ -7910,9 +8354,9 @@ "UserGroupStringList$member": null, "UserIdGroupPair$Description": "

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 ._-:/()#,@[]+=;{}!$*

", "UserIdGroupPair$GroupId": "

The ID of the security group.

", - "UserIdGroupPair$GroupName": "

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.

", + "UserIdGroupPair$GroupName": "

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.

", "UserIdGroupPair$PeeringStatus": "

The status of a VPC peering connection, if applicable.

", - "UserIdGroupPair$UserId": "

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.

", + "UserIdGroupPair$UserId": "

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.

", "UserIdGroupPair$VpcId": "

The ID of the VPC for the referenced security group, if applicable.

", "UserIdGroupPair$VpcPeeringConnectionId": "

The ID of the VPC peering connection, if applicable.

", "UserIdStringList$member": null, @@ -7928,8 +8372,8 @@ "VolumeAttachment$InstanceId": "

The ID of the instance.

", "VolumeAttachment$VolumeId": "

The ID of the volume.

", "VolumeIdStringList$member": null, - "VolumeModification$VolumeId": "

ID of the volume being modified.

", - "VolumeModification$StatusMessage": "

Generic status message on modification progress or failure.

", + "VolumeModification$VolumeId": "

The ID of the volume.

", + "VolumeModification$StatusMessage": "

A status message about the modification progress or failure.

", "VolumeStatusAction$Code": "

The code identifying the operation, for example, enable-volume-io.

", "VolumeStatusAction$Description": "

A description of the operation.

", "VolumeStatusAction$EventId": "

The ID of the event associated with this operation.

", @@ -8071,13 +8515,16 @@ "TagList": { "base": null, "refs": { + "Address$Tags": "

Any tags assigned to the Elastic IP address.

", "ClassicLinkInstance$Tags": "

Any tags assigned to the instance.

", "ConversionTask$Tags": "

Any tags assigned to the task.

", "CreateTagsRequest$Tags": "

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.

", "CustomerGateway$Tags": "

Any tags assigned to the customer gateway.

", - "DeleteTagsRequest$Tags": "

One or more tags to delete. If you omit this parameter, we delete all tags for the specified resources. 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.

", + "DeleteTagsRequest$Tags": "

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).

", "DhcpOptions$Tags": "

Any tags assigned to the DHCP options set.

", + "FleetData$Tags": "

The tags for an EC2 Fleet resource.

", "FpgaImage$Tags": "

Any tags assigned to the AFI.

", + "Host$Tags": "

Any tags assigned to the Dedicated Host.

", "Image$Tags": "

Any tags assigned to the image.

", "Instance$Tags": "

Any tags assigned to the instance.

", "InternetGateway$Tags": "

Any tags assigned to the Internet gateway.

", @@ -8113,8 +8560,23 @@ "TagSpecificationList": { "base": null, "refs": { + "CreateFleetRequest$TagSpecifications": "

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.

", + "CreateSnapshotRequest$TagSpecifications": "

The tags to apply to the snapshot during creation.

", "CreateVolumeRequest$TagSpecifications": "

The tags to apply to the volume during creation.

", - "RunInstancesRequest$TagSpecifications": "

The tags to apply to the resources during launch. You can tag instances and volumes. The specified tags are applied to all instances or volumes that are created during launch.

" + "RunInstancesRequest$TagSpecifications": "

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.

" + } + }, + "TargetCapacitySpecification": { + "base": "

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.

", + "refs": { + "FleetData$TargetCapacitySpecification": "

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": { + "base": "

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.

", + "refs": { + "CreateFleetRequest$TargetCapacitySpecification": "

The TotalTargetCapacity, OnDemandTargetCapacity, SpotTargetCapacity, and DefaultCapacityType structure.

", + "ModifyFleetRequest$TargetCapacitySpecification": "

The size of the EC2 Fleet.

" } }, "TargetConfiguration": { @@ -8327,7 +8789,7 @@ "UserData": { "base": "

Describes the user data for an instance.

", "refs": { - "ImportInstanceLaunchSpecification$UserData": "

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.

" + "ImportInstanceLaunchSpecification$UserData": "

The Base64-encoded user data to make available to the instance.

" } }, "UserGroupStringList": { @@ -8512,7 +8974,7 @@ "VolumeModification": { "base": "

Describes the modification status of an EBS volume.

If the volume has never been modified, some element values will be null.

", "refs": { - "ModifyVolumeResult$VolumeModification": "

A VolumeModification object.

", + "ModifyVolumeResult$VolumeModification": "

Information about the volume modification.

", "VolumeModificationList$member": null } }, @@ -8525,7 +8987,7 @@ "VolumeModificationState": { "base": null, "refs": { - "VolumeModification$ModificationState": "

Current state of modification. Modification state is null for unmodified volumes.

" + "VolumeModification$ModificationState": "

The current modification state. The modification state is null for unmodified volumes.

" } }, "VolumeState": { @@ -8603,14 +9065,14 @@ "VolumeType": { "base": null, "refs": { - "CreateVolumeRequest$VolumeType": "

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

", + "CreateVolumeRequest$VolumeType": "

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.

", "EbsBlockDevice$VolumeType": "

The volume type: gp2, io1, st1, sc1, or standard.

Default: standard

", "LaunchTemplateEbsBlockDevice$VolumeType": "

The volume type.

", "LaunchTemplateEbsBlockDeviceRequest$VolumeType": "

The volume type.

", - "ModifyVolumeRequest$VolumeType": "

Target EBS volume type of the volume to be modified

The API does not support modifications for volume type standard. You also cannot change the type of a volume to standard.

Default: If no type is specified, the existing type is retained.

", + "ModifyVolumeRequest$VolumeType": "

The target EBS volume type of the volume.

Default: If no type is specified, the existing type is retained.

", "Volume$VolumeType": "

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.

", - "VolumeModification$TargetVolumeType": "

Target EBS volume type of the volume being modified.

", - "VolumeModification$OriginalVolumeType": "

Original EBS volume type of the volume being modified.

" + "VolumeModification$TargetVolumeType": "

The target EBS volume type of the volume.

", + "VolumeModification$OriginalVolumeType": "

The original EBS volume type of the volume.

" } }, "Vpc": { diff --git a/models/apis/ec2/2016-11-15/examples-1.json b/models/apis/ec2/2016-11-15/examples-1.json index f6a8719f208..29f88e78477 100755 --- a/models/apis/ec2/2016-11-15/examples-1.json +++ b/models/apis/ec2/2016-11-15/examples-1.json @@ -156,6 +156,36 @@ "title": "To associate the default DHCP options set with a VPC" } ], + "AssociateIamInstanceProfile": [ + { + "input": { + "IamInstanceProfile": { + "Name": "admin-role" + }, + "InstanceId": "i-123456789abcde123" + }, + "output": { + "IamInstanceProfileAssociation": { + "AssociationId": "iip-assoc-0e7736511a163c209", + "IamInstanceProfile": { + "Arn": "arn:aws:iam::123456789012:instance-profile/admin-role", + "Id": "AIPAJBLK7RKJKWDXVHIEC" + }, + "InstanceId": "i-123456789abcde123", + "State": "associating" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates an IAM instance profile named admin-role with the specified instance.", + "id": "to-associate-an-iam-instance-profile-with-an-instance-1528928429850", + "title": "To associate an IAM instance profile with an instance" + } + ], "AssociateRouteTable": [ { "input": { @@ -239,6 +269,153 @@ "title": "To attach a volume to an instance" } ], + "AuthorizeSecurityGroupEgress": [ + { + "input": { + "GroupId": "sg-1a2b3c4d", + "IpPermissions": [ + { + "FromPort": 80, + "IpProtocol": "tcp", + "IpRanges": [ + { + "CidrIp": "10.0.0.0/16" + } + ], + "ToPort": 80 + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds a rule that grants access to the specified address ranges on TCP port 80.", + "id": "to-add-a-rule-that-allows-outbound-traffic-to-a-specific-address-range-1528929309636", + "title": "To add a rule that allows outbound traffic to a specific address range" + }, + { + "input": { + "GroupId": "sg-1a2b3c4d", + "IpPermissions": [ + { + "FromPort": 80, + "IpProtocol": "tcp", + "ToPort": 80, + "UserIdGroupPairs": [ + { + "GroupId": "sg-4b51a32f" + } + ] + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds a rule that grants access to the specified security group on TCP port 80.", + "id": "to-add-a-rule-that-allows-outbound-traffic-to-a-specific-security-group-1528929760260", + "title": "To add a rule that allows outbound traffic to a specific security group" + } + ], + "AuthorizeSecurityGroupIngress": [ + { + "input": { + "GroupId": "sg-903004f8", + "IpPermissions": [ + { + "FromPort": 22, + "IpProtocol": "tcp", + "IpRanges": [ + { + "CidrIp": "203.0.113.0/24", + "Description": "SSH access from the LA office" + } + ], + "ToPort": 22 + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables inbound traffic on TCP port 22 (SSH). The rule includes a description to help you identify it later.", + "id": "to-add-a-rule-that-allows-inbound-ssh-traffic-1529011610328", + "title": "To add a rule that allows inbound SSH traffic from an IPv4 address range" + }, + { + "input": { + "GroupId": "sg-111aaa22", + "IpPermissions": [ + { + "FromPort": 80, + "IpProtocol": "tcp", + "ToPort": 80, + "UserIdGroupPairs": [ + { + "Description": "HTTP access from other instances", + "GroupId": "sg-1a2b3c4d" + } + ] + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables inbound traffic on TCP port 80 from the specified security group. The group must be in the same VPC or a peer VPC. Incoming traffic is allowed based on the private IP addresses of instances that are associated with the specified security group.", + "id": "to-add-a-rule-that-allows-inbound-http-traffic-from-another-security-group-1529012163168", + "title": "To add a rule that allows inbound HTTP traffic from another security group" + }, + { + "input": { + "GroupId": "sg-123abc12 ", + "IpPermissions": [ + { + "FromPort": 3389, + "IpProtocol": "tcp", + "Ipv6Ranges": [ + { + "CidrIpv6": "2001:db8:1234:1a00::/64", + "Description": "RDP access from the NY office" + } + ], + "ToPort": 3389 + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds an inbound rule that allows RDP traffic from the specified IPv6 address range. The rule includes a description to help you identify it later.", + "id": "to-add-a-rule-with-a-description-1529012418116", + "title": "To add a rule that allows inbound RDP traffic from an IPv6 address range" + } + ], "CancelSpotFleetRequests": [ { "input": { @@ -339,6 +516,28 @@ "title": "To confirm the product instance" } ], + "CopyImage": [ + { + "input": { + "Description": "", + "Name": "My server", + "SourceImageId": "ami-5731123e", + "SourceRegion": "us-east-1" + }, + "output": { + "ImageId": "ami-438bea42" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example copies the specified AMI from the us-east-1 region to the current region.", + "id": "to-copy-an-ami-to-another-region-1529022820832", + "title": "To copy an AMI to another region" + } + ], "CopySnapshot": [ { "input": { @@ -430,6 +629,40 @@ "title": "To create a DHCP options set" } ], + "CreateImage": [ + { + "input": { + "BlockDeviceMappings": [ + { + "DeviceName": "/dev/sdh", + "Ebs": { + "VolumeSize": "100" + } + }, + { + "DeviceName": "/dev/sdc", + "VirtualName": "ephemeral1" + } + ], + "Description": "An AMI for my server", + "InstanceId": "i-1234567890abcdef0", + "Name": "My server", + "NoReboot": true + }, + "output": { + "ImageId": "ami-1a2b3c4d" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an AMI from the specified instance and adds an EBS volume with the device name /dev/sdh and an instance store volume with the device name /dev/sdc.", + "id": "to-create-an-ami-from-an-amazon-ebs-backed-instance-1529023150636", + "title": "To create an AMI from an Amazon EBS-backed instance" + } + ], "CreateInternetGateway": [ { "output": { @@ -470,6 +703,104 @@ "title": "To create a key pair" } ], + "CreateLaunchTemplate": [ + { + "input": { + "LaunchTemplateData": { + "ImageId": "ami-8c1be5f6", + "InstanceType": "t2.small", + "NetworkInterfaces": [ + { + "AssociatePublicIpAddress": true, + "DeviceIndex": 0, + "Ipv6AddressCount": 1, + "SubnetId": "subnet-7b16de0c" + } + ], + "TagSpecifications": [ + { + "ResourceType": "instance", + "Tags": [ + { + "Key": "Name", + "Value": "webserver" + } + ] + } + ] + }, + "LaunchTemplateName": "my-template", + "VersionDescription": "WebVersion1" + }, + "output": { + "LaunchTemplate": { + "CreateTime": "2017-11-27T09:13:24.000Z", + "CreatedBy": "arn:aws:iam::123456789012:root", + "DefaultVersionNumber": 1, + "LatestVersionNumber": 1, + "LaunchTemplateId": "lt-01238c059e3466abc", + "LaunchTemplateName": "my-template" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a launch template that specifies the subnet in which to launch the instance, assigns a public IP address and an IPv6 address to the instance, and creates a tag for the instance.", + "id": "to-create-a-launch-template-1529023655488", + "title": "To create a launch template" + } + ], + "CreateLaunchTemplateVersion": [ + { + "input": { + "LaunchTemplateData": { + "ImageId": "ami-c998b6b2" + }, + "LaunchTemplateId": "lt-0abcd290751193123", + "SourceVersion": "1", + "VersionDescription": "WebVersion2" + }, + "output": { + "LaunchTemplateVersion": { + "CreateTime": "2017-12-01T13:35:46.000Z", + "CreatedBy": "arn:aws:iam::123456789012:root", + "DefaultVersion": false, + "LaunchTemplateData": { + "ImageId": "ami-c998b6b2", + "InstanceType": "t2.micro", + "NetworkInterfaces": [ + { + "AssociatePublicIpAddress": true, + "DeviceIndex": 0, + "Ipv6Addresses": [ + { + "Ipv6Address": "2001:db8:1234:1a00::123" + } + ], + "SubnetId": "subnet-7b16de0c" + } + ] + }, + "LaunchTemplateId": "lt-0abcd290751193123", + "LaunchTemplateName": "my-template", + "VersionDescription": "WebVersion2", + "VersionNumber": 2 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a new launch template version based on version 1 of the specified launch template and specifies a different AMI ID.", + "id": "to-create-a-launch-template-version-1529024195702", + "title": "To create a launch template version" + } + ], "CreateNatGateway": [ { "input": { @@ -697,6 +1028,27 @@ "title": "To create a route table" } ], + "CreateSecurityGroup": [ + { + "input": { + "Description": "My security group", + "GroupName": "my-security-group", + "VpcId": "vpc-1a2b3c4d" + }, + "output": { + "GroupId": "sg-903004f8" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a security group for the specified VPC.", + "id": "to-create-a-security-group-for-a-vpc-1529024532716", + "title": "To create a security group for a VPC" + } + ], "CreateSnapshot": [ { "input": { @@ -953,6 +1305,63 @@ "title": "To delete a key pair" } ], + "DeleteLaunchTemplate": [ + { + "input": { + "LaunchTemplateId": "lt-0abcd290751193123" + }, + "output": { + "LaunchTemplate": { + "CreateTime": "2017-11-23T16:46:25.000Z", + "CreatedBy": "arn:aws:iam::123456789012:root", + "DefaultVersionNumber": 2, + "LatestVersionNumber": 2, + "LaunchTemplateId": "lt-0abcd290751193123", + "LaunchTemplateName": "my-template" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified launch template.", + "id": "to-delete-a-launch-template-1529024658216", + "title": "To delete a launch template" + } + ], + "DeleteLaunchTemplateVersions": [ + { + "input": { + "LaunchTemplateId": "lt-0abcd290751193123", + "Versions": [ + "1" + ] + }, + "output": { + "SuccessfullyDeletedLaunchTemplateVersions": [ + { + "LaunchTemplateId": "lt-0abcd290751193123", + "LaunchTemplateName": "my-template", + "VersionNumber": 1 + } + ], + "UnsuccessfullyDeletedLaunchTemplateVersions": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified launch template version.", + "id": "to-delete-a-launch-template-version-1529024790864", + "title": "To delete a launch template version" + } + ], "DeleteNatGateway": [ { "input": { @@ -1073,6 +1482,24 @@ "title": "To delete a route table" } ], + "DeleteSecurityGroup": [ + { + "input": { + "GroupId": "sg-903004f8" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified security group.", + "id": "to-delete-a-security-group-1529024952972", + "title": "To delete a security group" + } + ], "DeleteSnapshot": [ { "input": { @@ -1490,14 +1917,119 @@ "title": "To describe a DHCP options set" } ], - "DescribeInstanceAttribute": [ + "DescribeIamInstanceProfileAssociations": [ { "input": { - "Attribute": "instanceType", - "InstanceId": "i-1234567890abcdef0" + "AssociationIds": [ + "iip-assoc-0db249b1f25fa24b8" + ] }, "output": { - "InstanceId": "i-1234567890abcdef0", + "IamInstanceProfileAssociations": [ + { + "AssociationId": "iip-assoc-0db249b1f25fa24b8", + "IamInstanceProfile": { + "Arn": "arn:aws:iam::123456789012:instance-profile/admin-role", + "Id": "AIPAJVQN4F5WVLGCJDRGM" + }, + "InstanceId": "i-09eb09efa73ec1dee", + "State": "associated" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified IAM instance profile association.", + "id": "to-describe-an-iam-instance-profile-association-1529025123918", + "title": "To describe an IAM instance profile association" + } + ], + "DescribeImageAttribute": [ + { + "input": { + "Attribute": "launchPermission", + "ImageId": "ami-5731123e" + }, + "output": { + "ImageId": "ami-5731123e", + "LaunchPermissions": [ + { + "UserId": "123456789012" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the launch permissions for the specified AMI.", + "id": "to-describe-the-launch-permissions-for-an-ami-1529025296264", + "title": "To describe the launch permissions for an AMI" + } + ], + "DescribeImages": [ + { + "input": { + "ImageIds": [ + "ami-5731123e" + ] + }, + "output": { + "Images": [ + { + "Architecture": "x86_64", + "BlockDeviceMappings": [ + { + "DeviceName": "/dev/sda1", + "Ebs": { + "DeleteOnTermination": true, + "SnapshotId": "snap-1234567890abcdef0", + "VolumeSize": 8, + "VolumeType": "standard" + } + } + ], + "Description": "An AMI for my server", + "Hypervisor": "xen", + "ImageId": "ami-5731123e", + "ImageLocation": "123456789012/My server", + "ImageType": "machine", + "KernelId": "aki-88aa75e1", + "Name": "My server", + "OwnerId": "123456789012", + "Public": false, + "RootDeviceName": "/dev/sda1", + "RootDeviceType": "ebs", + "State": "available", + "VirtualizationType": "paravirtual" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified AMI.", + "id": "to-describe-an-ami-1529025482866", + "title": "To describe an AMI" + } + ], + "DescribeInstanceAttribute": [ + { + "input": { + "Attribute": "instanceType", + "InstanceId": "i-1234567890abcdef0" + }, + "output": { + "InstanceId": "i-1234567890abcdef0", "InstanceType": { "Value": "t1.micro" } @@ -1572,6 +2104,120 @@ "title": "To describe the block device mapping for an instance" } ], + "DescribeInstanceStatus": [ + { + "input": { + "InstanceIds": [ + "i-1234567890abcdef0" + ] + }, + "output": { + "InstanceStatuses": [ + { + "AvailabilityZone": "us-east-1d", + "InstanceId": "i-1234567890abcdef0", + "InstanceState": { + "Code": 16, + "Name": "running" + }, + "InstanceStatus": { + "Details": [ + { + "Name": "reachability", + "Status": "passed" + } + ], + "Status": "ok" + }, + "SystemStatus": { + "Details": [ + { + "Name": "reachability", + "Status": "passed" + } + ], + "Status": "ok" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the current status of the specified instance.", + "id": "to-describe-the-status-of-an-instance-1529025696830", + "title": "To describe the status of an instance" + } + ], + "DescribeInstances": [ + { + "input": { + "InstanceIds": [ + "i-1234567890abcdef0" + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified instance.", + "id": "to-describe-an-amazon-ec2-instance-1529025982172", + "title": "To describe an Amazon EC2 instance" + }, + { + "input": { + "Filters": [ + { + "Name": "instance-type", + "Values": [ + "t2.micro" + ] + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the instances with the t2.micro instance type.", + "id": "to-describe-the-instances-with-the-instance-type-t2micro-1529026147602", + "title": "To describe the instances with a specific instance type" + }, + { + "input": { + "Filters": [ + { + "Name": "tag:Purpose", + "Values": [ + "test" + ] + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the instances with the Purpose=test tag.", + "id": "to-describe-the-instances-with-a-specific-tag-1529026251928", + "title": "To describe the instances with a specific tag" + } + ], "DescribeInternetGateways": [ { "input": { @@ -1637,6 +2283,103 @@ "title": "To display a key pair" } ], + "DescribeLaunchTemplateVersions": [ + { + "input": { + "LaunchTemplateId": "068f72b72934aff71" + }, + "output": { + "LaunchTemplateVersions": [ + { + "CreateTime": "2017-11-20T13:12:32.000Z", + "CreatedBy": "arn:aws:iam::123456789102:root", + "DefaultVersion": false, + "LaunchTemplateData": { + "ImageId": "ami-6057e21a", + "InstanceType": "t2.medium", + "KeyName": "kp-us-east", + "NetworkInterfaces": [ + { + "DeviceIndex": 0, + "Groups": [ + "sg-7c227019" + ], + "SubnetId": "subnet-1a2b3c4d" + } + ] + }, + "LaunchTemplateId": "lt-068f72b72934aff71", + "LaunchTemplateName": "Webservers", + "VersionNumber": 2 + }, + { + "CreateTime": "2017-11-20T12:52:33.000Z", + "CreatedBy": "arn:aws:iam::123456789102:root", + "DefaultVersion": true, + "LaunchTemplateData": { + "ImageId": "ami-aabbcc11", + "InstanceType": "t2.medium", + "KeyName": "kp-us-east", + "NetworkInterfaces": [ + { + "AssociatePublicIpAddress": true, + "DeleteOnTermination": false, + "DeviceIndex": 0, + "Groups": [ + "sg-7c227019" + ], + "SubnetId": "subnet-7b16de0c" + } + ], + "UserData": "" + }, + "LaunchTemplateId": "lt-068f72b72934aff71", + "LaunchTemplateName": "Webservers", + "VersionNumber": 1 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the versions for the specified launch template.", + "id": "to-describe-the-versions-for-a-launch-template-1529344425048", + "title": "To describe the versions for a launch template" + } + ], + "DescribeLaunchTemplates": [ + { + "input": { + "LaunchTemplateIds": [ + "lt-01238c059e3466abc" + ] + }, + "output": { + "LaunchTemplates": [ + { + "CreateTime": "2018-01-16T04:32:57.000Z", + "CreatedBy": "arn:aws:iam::123456789012:root", + "DefaultVersionNumber": 1, + "LatestVersionNumber": 1, + "LaunchTemplateId": "lt-01238c059e3466abc", + "LaunchTemplateName": "my-template" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified launch template.", + "id": "to-describe-a-launch-template-1529344182862", + "title": "To describe a launch template" + } + ], "DescribeMovingAddresses": [ { "output": { @@ -2126,6 +2869,76 @@ "title": "To describe your Scheduled Instances" } ], + "DescribeSecurityGroupReferences": [ + { + "input": { + "GroupId": [ + "sg-903004f8" + ] + }, + "output": { + "SecurityGroupReferenceSet": [ + { + "GroupId": "sg-903004f8", + "ReferencingVpcId": "vpc-1a2b3c4d", + "VpcPeeringConnectionId": "pcx-b04deed9" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the security group references for the specified security group.", + "id": "to-describe-security-group-references-1529354312088", + "title": "To describe security group references" + } + ], + "DescribeSecurityGroups": [ + { + "input": { + "GroupIds": [ + "sg-903004f8" + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified security group.", + "id": "to-describe-a-security-group-1529354426314", + "title": "To describe a security group" + }, + { + "input": { + "Filters": [ + { + "Name": "tag:Purpose", + "Values": [ + "test" + ] + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the security groups that include the specified tag (Purpose=test).", + "id": "to-describe-a-tagged-security-group-1529354553880", + "title": "To describe a tagged security group" + } + ], "DescribeSnapshotAttribute": [ { "input": { @@ -2925,14 +3738,41 @@ "title": "To disassociate an Elastic IP addresses in EC2-Classic" } ], - "DisassociateRouteTable": [ + "DisassociateIamInstanceProfile": [ { "input": { - "AssociationId": "rtbassoc-781d0d1a" + "AssociationId": "iip-assoc-05020b59952902f5f" }, - "comments": { - "input": { - }, + "output": { + "IamInstanceProfileAssociation": { + "AssociationId": "iip-assoc-05020b59952902f5f", + "IamInstanceProfile": { + "Arn": "arn:aws:iam::123456789012:instance-profile/admin-role", + "Id": "AIPAI5IVIHMFFYY2DKV5Y" + }, + "InstanceId": "i-123456789abcde123", + "State": "disassociating" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disassociates the specified IAM instance profile from an instance.", + "id": "to-disassociate-an-iam-instance-profile-1529355364478", + "title": "To disassociate an IAM instance profile" + } + ], + "DisassociateRouteTable": [ + { + "input": { + "AssociationId": "rtbassoc-781d0d1a" + }, + "comments": { + "input": { + }, "output": { } }, @@ -2974,6 +3814,210 @@ "title": "To enable I/O for a volume" } ], + "GetConsoleOutput": [ + { + "input": { + "InstanceId": "i-1234567890abcdef0" + }, + "output": { + "InstanceId": "i-1234567890abcdef0", + "Output": "...", + "Timestamp": "2018-05-25T21:23:53.000Z" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example gets the console output for the specified instance.", + "id": "to-get-the-console-output-1529355683194", + "title": "To get the console output" + } + ], + "GetLaunchTemplateData": [ + { + "input": { + "InstanceId": "0123d646e8048babc" + }, + "output": { + "LaunchTemplateData": { + "BlockDeviceMappings": [ + { + "DeviceName": "/dev/xvda", + "Ebs": { + "DeleteOnTermination": true, + "Encrypted": false, + "Iops": 100, + "SnapshotId": "snap-02594938353ef77d3", + "VolumeSize": 8, + "VolumeType": "gp2" + } + } + ], + "EbsOptimized": false, + "ImageId": "ami-32cf7b4a", + "InstanceType": "t2.medium", + "KeyName": "my-key-pair", + "Monitoring": { + "Enabled": false + }, + "NetworkInterfaces": [ + { + "AssociatePublicIpAddress": false, + "DeleteOnTermination": true, + "Description": "", + "DeviceIndex": 0, + "Groups": [ + "sg-d14e1bb4" + ], + "Ipv6Addresses": [ + + ], + "NetworkInterfaceId": "eni-4338b5a9", + "PrivateIpAddress": "10.0.3.233", + "PrivateIpAddresses": [ + { + "Primary": true, + "PrivateIpAddress": "10.0.3.233" + } + ], + "SubnetId": "subnet-5264e837" + } + ], + "Placement": { + "AvailabilityZone": "us-east-2b", + "GroupName": "", + "Tenancy": "default" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example gets the launch template data for the specified instance.", + "id": "to-get-the-launch-template-data-for-an-instance--1529356515702", + "title": "To get the launch template data for an instance " + } + ], + "ModifyImageAttribute": [ + { + "input": { + "ImageId": "ami-5731123e", + "LaunchPermission": { + "Add": [ + { + "Group": "all" + } + ] + } + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example makes the specified AMI public.", + "id": "to-make-an-ami-public-1529357395278", + "title": "To make an AMI public" + }, + { + "input": { + "ImageId": "ami-5731123e", + "LaunchPermission": { + "Add": [ + { + "UserId": "123456789012" + } + ] + } + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example grants launch permissions for the specified AMI to the specified AWS account.", + "id": "to-grant-launch-permissions-1529357727906", + "title": "To grant launch permissions" + } + ], + "ModifyInstanceAttribute": [ + { + "input": { + "InstanceId": "i-1234567890abcdef0", + "InstanceType": { + "Value": "m5.large" + } + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example modifies the instance type of the specified stopped instance.", + "id": "to-modify-the-instance-type-1529357844378", + "title": "To modify the instance type" + }, + { + "input": { + "EnaSupport": { + "Value": true + }, + "InstanceId": "i-1234567890abcdef0" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables enhanced networking for the specified stopped instance.", + "id": "to-enable-enhanced-networking-1529358279870", + "title": "To enable enhanced networking" + } + ], + "ModifyLaunchTemplate": [ + { + "input": { + "DefaultVersion": "2", + "LaunchTemplateId": "lt-0abcd290751193123" + }, + "output": { + "LaunchTemplate": { + "CreateTime": "2017-12-01T13:35:46.000Z", + "CreatedBy": "arn:aws:iam::123456789012:root", + "DefaultVersionNumber": 2, + "LatestVersionNumber": 2, + "LaunchTemplateId": "lt-0abcd290751193123", + "LaunchTemplateName": "WebServers" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example specifies version 2 as the default version of the specified launch template.", + "id": "to-change-the-default-version-of-a-launch-template-1529358440364", + "title": "To change the default version of a launch template" + } + ], "ModifyNetworkInterfaceAttribute": [ { "input": { @@ -3274,6 +4318,26 @@ "title": "To purchase a Scheduled Instance" } ], + "RebootInstances": [ + { + "input": { + "InstanceIds": [ + "i-1234567890abcdef5" + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example reboots the specified EC2 instance.", + "id": "to-reboot-an-ec2-instance-1529358566382", + "title": "To reboot an EC2 instance" + } + ], "ReleaseAddress": [ { "input": { @@ -3604,6 +4668,44 @@ "title": "To create a one-time Spot Instance request" } ], + "ResetImageAttribute": [ + { + "input": { + "Attribute": "launchPermission", + "ImageId": "ami-5731123e" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example resets the launchPermission attribute for the specified AMI. By default, AMIs are private.", + "id": "to-reset-the-launchpermission-attribute-1529359519534", + "title": "To reset the launchPermission attribute" + } + ], + "ResetInstanceAttribute": [ + { + "input": { + "Attribute": "sourceDestCheck", + "InstanceId": "i-1234567890abcdef0" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example resets the sourceDestCheck attribute for the specified instance.", + "id": "to-reset-the-sourcedestcheck-attribute-1529359630708", + "title": "To reset the sourceDestCheck attribute" + } + ], "ResetSnapshotAttribute": [ { "input": { @@ -3643,6 +4745,51 @@ "title": "To restore an address to EC2-Classic" } ], + "RunInstances": [ + { + "input": { + "BlockDeviceMappings": [ + { + "DeviceName": "/dev/sdh", + "Ebs": { + "VolumeSize": 100 + } + } + ], + "ImageId": "ami-abc12345", + "InstanceType": "t2.micro", + "KeyName": "my-key-pair", + "MaxCount": 1, + "MinCount": 1, + "SecurityGroupIds": [ + "sg-1a2b3c4d" + ], + "SubnetId": "subnet-6e7f829e", + "TagSpecifications": [ + { + "ResourceType": "instance", + "Tags": [ + { + "Key": "Purpose", + "Value": "test" + } + ] + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example launches an instance using the specified AMI, instance type, security group, subnet, block device mapping, and tags.", + "id": "to-launch-an-instance-1529360150806", + "title": "To launch an instance" + } + ], "RunScheduledInstances": [ { "input": { @@ -3717,6 +4864,105 @@ "title": "To launch a Scheduled Instance in EC2-Classic" } ], + "StartInstances": [ + { + "input": { + "InstanceIds": [ + "i-1234567890abcdef0" + ] + }, + "output": { + "StartingInstances": [ + { + "CurrentState": { + "Code": 0, + "Name": "pending" + }, + "InstanceId": "i-1234567890abcdef0", + "PreviousState": { + "Code": 80, + "Name": "stopped" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example starts the specified EC2 instance.", + "id": "to-start-a-stopped-ec2-instance-1529358792730", + "title": "To start a stopped EC2 instance" + } + ], + "StopInstances": [ + { + "input": { + "InstanceIds": [ + "i-1234567890abcdef0" + ] + }, + "output": { + "StoppingInstances": [ + { + "CurrentState": { + "Code": 64, + "Name": "stopping" + }, + "InstanceId": "i-1234567890abcdef0", + "PreviousState": { + "Code": 16, + "Name": "running" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example stops the specified EC2 instance.", + "id": "to-stop-a-running-ec2-instance-1529358905540", + "title": "To stop a running EC2 instance" + } + ], + "TerminateInstances": [ + { + "input": { + "InstanceIds": [ + "i-1234567890abcdef0" + ] + }, + "output": { + "TerminatingInstances": [ + { + "CurrentState": { + "Code": 32, + "Name": "shutting-down" + }, + "InstanceId": "i-1234567890abcdef0", + "PreviousState": { + "Code": 16, + "Name": "running" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example terminates the specified EC2 instance.", + "id": "to-terminate-an-ec2-instance-1529359350660", + "title": "To terminate an EC2 instance" + } + ], "UnassignPrivateIpAddresses": [ { "input": { @@ -3735,6 +4981,68 @@ "id": "ec2-unassign-private-ip-addresses-1", "title": "To unassign a secondary private IP address from a network interface" } + ], + "UpdateSecurityGroupRuleDescriptionsEgress": [ + { + "input": { + "GroupId": "sg-123abc12", + "IpPermissions": [ + { + "FromPort": 80, + "IpProtocol": "tcp", + "IpRanges": [ + { + "CidrIp": "203.0.113.0/24", + "Description": "Outbound HTTP access to server 2" + } + ], + "ToPort": 80 + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates the description for the specified security group rule.", + "id": "to-update-an-outbound-security-group-rule-description-1529360481544", + "title": "To update an outbound security group rule description" + } + ], + "UpdateSecurityGroupRuleDescriptionsIngress": [ + { + "input": { + "GroupId": "sg-123abc12", + "IpPermissions": [ + { + "FromPort": 22, + "IpProtocol": "tcp", + "IpRanges": [ + { + "CidrIp": "203.0.113.0/16", + "Description": "SSH access from the LA office" + } + ], + "ToPort": 22 + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates the description for the specified security group rule.", + "id": "to-update-an-inbound-security-group-rule-description-1529360820372", + "title": "To update an inbound security group rule description" + } ] } } diff --git a/models/apis/ecr/2015-09-21/docs-2.json b/models/apis/ecr/2015-09-21/docs-2.json index 656365699cb..6fa4329faab 100644 --- a/models/apis/ecr/2015-09-21/docs-2.json +++ b/models/apis/ecr/2015-09-21/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "

Amazon EC2 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.

", + "service": "

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.

", "operations": { "BatchCheckLayerAvailability": "

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": "

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.

", @@ -20,7 +20,7 @@ "InitiateLayerUpload": "

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": "

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": "

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": "

Creates or updates a lifecycle policy.

", + "PutLifecyclePolicy": "

Creates or updates a lifecycle policy. For information about lifecycle policy syntax, see Lifecycle Policy Template.

", "SetRepositoryPolicy": "

Applies a repository policy on a specified repository to control access permissions.

", "StartLifecyclePolicyPreview": "

Starts a preview of the specified lifecycle policy. This allows you to see the results before creating the lifecycle policy.

", "UploadLayerPart": "

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.

" @@ -584,9 +584,9 @@ "LifecyclePolicyText": { "base": null, "refs": { - "DeleteLifecyclePolicyResponse$lifecyclePolicyText": "

The JSON repository policy text.

", - "GetLifecyclePolicyPreviewResponse$lifecyclePolicyText": "

The JSON repository policy text.

", - "GetLifecyclePolicyResponse$lifecyclePolicyText": "

The JSON repository policy text.

", + "DeleteLifecyclePolicyResponse$lifecyclePolicyText": "

The JSON lifecycle policy text.

", + "GetLifecyclePolicyPreviewResponse$lifecyclePolicyText": "

The JSON lifecycle policy text.

", + "GetLifecyclePolicyResponse$lifecyclePolicyText": "

The JSON lifecycle policy text.

", "PutLifecyclePolicyRequest$lifecyclePolicyText": "

The JSON repository policy text to apply to the repository.

", "PutLifecyclePolicyResponse$lifecyclePolicyText": "

The JSON repository policy text.

", "StartLifecyclePolicyPreviewRequest$lifecyclePolicyText": "

The policy to be evaluated against. If you do not specify a policy, the current policy for the repository is used.

", @@ -594,7 +594,7 @@ } }, "LimitExceededException": { - "base": "

The operation did not succeed because it would have exceeded a service limit for your account. For more information, see Amazon ECR Default Service Limits in the Amazon EC2 Container Registry User Guide.

", + "base": "

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.

", "refs": { } }, @@ -617,9 +617,9 @@ "MaxResults": { "base": null, "refs": { - "DescribeImagesRequest$maxResults": "

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.

", - "DescribeRepositoriesRequest$maxResults": "

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.

", - "GetLifecyclePolicyPreviewRequest$maxResults": "

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.

", + "DescribeImagesRequest$maxResults": "

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.

", + "DescribeRepositoriesRequest$maxResults": "

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.

", + "GetLifecyclePolicyPreviewRequest$maxResults": "

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.

", "ListImagesRequest$maxResults": "

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.

" } }, @@ -639,11 +639,11 @@ "NextToken": { "base": null, "refs": { - "DescribeImagesRequest$nextToken": "

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.

", + "DescribeImagesRequest$nextToken": "

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.

", "DescribeImagesResponse$nextToken": "

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$nextToken": "

The nextToken value returned from a previous paginated DescribeRepositories request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

", + "DescribeRepositoriesRequest$nextToken": "

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.

", "DescribeRepositoriesResponse$nextToken": "

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.

", - "GetLifecyclePolicyPreviewRequest$nextToken": "

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.

", + "GetLifecyclePolicyPreviewRequest$nextToken": "

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.

", "GetLifecyclePolicyPreviewResponse$nextToken": "

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.

", "ListImagesRequest$nextToken": "

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.

", "ListImagesResponse$nextToken": "

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.

" @@ -721,7 +721,7 @@ "InvalidLayerPartException$registryId": "

The registry ID associated with the exception.

", "ListImagesRequest$registryId": "

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.

", "PutImageRequest$registryId": "

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.

", - "PutLifecyclePolicyRequest$registryId": "

The AWS account ID associated with the registry that contains the repository. If you do
 not specify a registry, the default registry is assumed.

", + "PutLifecyclePolicyRequest$registryId": "

The AWS account ID associated with the registry that contains the repository. If you do
 not specify a registry, the default registry is assumed.

", "PutLifecyclePolicyResponse$registryId": "

The registry ID associated with the request.

", "Repository$registryId": "

The AWS account ID associated with the registry that contains the repository.

", "SetRepositoryPolicyRequest$registryId": "

The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.

", @@ -760,16 +760,16 @@ "CompleteLayerUploadRequest$repositoryName": "

The name of the repository to associate with the image layer.

", "CompleteLayerUploadResponse$repositoryName": "

The repository name associated with the request.

", "CreateRepositoryRequest$repositoryName": "

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).

", - "DeleteLifecyclePolicyRequest$repositoryName": "

The name of the repository that is associated with the repository policy to
 delete.

", + "DeleteLifecyclePolicyRequest$repositoryName": "

The name of the repository.

", "DeleteLifecyclePolicyResponse$repositoryName": "

The repository name associated with the request.

", "DeleteRepositoryPolicyRequest$repositoryName": "

The name of the repository that is associated with the repository policy to delete.

", "DeleteRepositoryPolicyResponse$repositoryName": "

The repository name associated with the request.

", "DeleteRepositoryRequest$repositoryName": "

The name of the repository to delete.

", "DescribeImagesRequest$repositoryName": "

A list of repositories to describe. If this parameter is omitted, then all repositories in a registry are described.

", "GetDownloadUrlForLayerRequest$repositoryName": "

The name of the repository that is associated with the image layer to download.

", - "GetLifecyclePolicyPreviewRequest$repositoryName": "

The name of the repository with the policy to retrieve.

", + "GetLifecyclePolicyPreviewRequest$repositoryName": "

The name of the repository.

", "GetLifecyclePolicyPreviewResponse$repositoryName": "

The repository name associated with the request.

", - "GetLifecyclePolicyRequest$repositoryName": "

The name of the repository with the policy to retrieve.

", + "GetLifecyclePolicyRequest$repositoryName": "

The name of the repository.

", "GetLifecyclePolicyResponse$repositoryName": "

The repository name associated with the request.

", "GetRepositoryPolicyRequest$repositoryName": "

The name of the repository with the policy to retrieve.

", "GetRepositoryPolicyResponse$repositoryName": "

The repository name associated with the request.

", diff --git a/models/apis/ecs/2014-11-13/api-2.json b/models/apis/ecs/2014-11-13/api-2.json index 30dad7b936b..dfe625f03f9 100644 --- a/models/apis/ecs/2014-11-13/api-2.json +++ b/models/apis/ecs/2014-11-13/api-2.json @@ -670,7 +670,8 @@ "exitCode":{"shape":"BoxedInteger"}, "reason":{"shape":"String"}, "networkBindings":{"shape":"NetworkBindings"}, - "networkInterfaces":{"shape":"NetworkInterfaces"} + "networkInterfaces":{"shape":"NetworkInterfaces"}, + "healthStatus":{"shape":"HealthStatus"} } }, "ContainerDefinition":{ @@ -678,6 +679,7 @@ "members":{ "name":{"shape":"String"}, "image":{"shape":"String"}, + "repositoryCredentials":{"shape":"RepositoryCredentials"}, "cpu":{"shape":"Integer"}, "memory":{"shape":"BoxedInteger"}, "memoryReservation":{"shape":"BoxedInteger"}, @@ -702,7 +704,8 @@ "dockerSecurityOptions":{"shape":"StringList"}, "dockerLabels":{"shape":"DockerLabelsMap"}, "ulimits":{"shape":"UlimitList"}, - "logConfiguration":{"shape":"LogConfiguration"} + "logConfiguration":{"shape":"LogConfiguration"}, + "healthCheck":{"shape":"HealthCheck"} } }, "ContainerDefinitions":{ @@ -788,14 +791,14 @@ "type":"structure", "required":[ "serviceName", - "taskDefinition", - "desiredCount" + "taskDefinition" ], "members":{ "cluster":{"shape":"String"}, "serviceName":{"shape":"String"}, "taskDefinition":{"shape":"String"}, "loadBalancers":{"shape":"LoadBalancers"}, + "serviceRegistries":{"shape":"ServiceRegistries"}, "desiredCount":{"shape":"BoxedInteger"}, "clientToken":{"shape":"String"}, "launchType":{"shape":"LaunchType"}, @@ -804,7 +807,9 @@ "deploymentConfiguration":{"shape":"DeploymentConfiguration"}, "placementConstraints":{"shape":"PlacementConstraints"}, "placementStrategy":{"shape":"PlacementStrategies"}, - "networkConfiguration":{"shape":"NetworkConfiguration"} + "networkConfiguration":{"shape":"NetworkConfiguration"}, + "healthCheckGracePeriodSeconds":{"shape":"BoxedInteger"}, + "schedulingStrategy":{"shape":"SchedulingStrategy"} } }, "CreateServiceResponse":{ @@ -845,7 +850,8 @@ "required":["service"], "members":{ "cluster":{"shape":"String"}, - "service":{"shape":"String"} + "service":{"shape":"String"}, + "force":{"shape":"BoxedBoolean"} } }, "DeleteServiceResponse":{ @@ -1049,6 +1055,25 @@ "type":"list", "member":{"shape":"Failure"} }, + "HealthCheck":{ + "type":"structure", + "required":["command"], + "members":{ + "command":{"shape":"StringList"}, + "interval":{"shape":"BoxedInteger"}, + "timeout":{"shape":"BoxedInteger"}, + "retries":{"shape":"BoxedInteger"}, + "startPeriod":{"shape":"BoxedInteger"} + } + }, + "HealthStatus":{ + "type":"string", + "enum":[ + "HEALTHY", + "UNHEALTHY", + "UNKNOWN" + ] + }, "HostEntry":{ "type":"structure", "required":[ @@ -1103,7 +1128,9 @@ "members":{ "capabilities":{"shape":"KernelCapabilities"}, "devices":{"shape":"DevicesList"}, - "initProcessEnabled":{"shape":"BoxedBoolean"} + "initProcessEnabled":{"shape":"BoxedBoolean"}, + "sharedMemorySize":{"shape":"BoxedInteger"}, + "tmpfs":{"shape":"TmpfsList"} } }, "ListAttributesRequest":{ @@ -1162,7 +1189,8 @@ "cluster":{"shape":"String"}, "nextToken":{"shape":"String"}, "maxResults":{"shape":"BoxedInteger"}, - "launchType":{"shape":"LaunchType"} + "launchType":{"shape":"LaunchType"}, + "schedulingStrategy":{"shape":"SchedulingStrategy"} } }, "ListServicesResponse":{ @@ -1447,6 +1475,13 @@ "taskDefinition":{"shape":"TaskDefinition"} } }, + "RepositoryCredentials":{ + "type":"structure", + "required":["credentialsParameter"], + "members":{ + "credentialsParameter":{"shape":"String"} + } + }, "RequiresAttributes":{ "type":"list", "member":{"shape":"Attribute"} @@ -1490,6 +1525,13 @@ "failures":{"shape":"Failures"} } }, + "SchedulingStrategy":{ + "type":"string", + "enum":[ + "REPLICA", + "DAEMON" + ] + }, "ServerException":{ "type":"structure", "members":{ @@ -1505,6 +1547,7 @@ "serviceName":{"shape":"String"}, "clusterArn":{"shape":"String"}, "loadBalancers":{"shape":"LoadBalancers"}, + "serviceRegistries":{"shape":"ServiceRegistries"}, "status":{"shape":"String"}, "desiredCount":{"shape":"Integer"}, "runningCount":{"shape":"Integer"}, @@ -1519,7 +1562,9 @@ "createdAt":{"shape":"Timestamp"}, "placementConstraints":{"shape":"PlacementConstraints"}, "placementStrategy":{"shape":"PlacementStrategies"}, - "networkConfiguration":{"shape":"NetworkConfiguration"} + "networkConfiguration":{"shape":"NetworkConfiguration"}, + "healthCheckGracePeriodSeconds":{"shape":"BoxedInteger"}, + "schedulingStrategy":{"shape":"SchedulingStrategy"} } }, "ServiceEvent":{ @@ -1546,6 +1591,19 @@ }, "exception":true }, + "ServiceRegistries":{ + "type":"list", + "member":{"shape":"ServiceRegistry"} + }, + "ServiceRegistry":{ + "type":"structure", + "members":{ + "registryArn":{"shape":"String"}, + "port":{"shape":"BoxedInteger"}, + "containerName":{"shape":"String"}, + "containerPort":{"shape":"BoxedInteger"} + } + }, "Services":{ "type":"list", "member":{"shape":"Service"} @@ -1680,7 +1738,8 @@ "group":{"shape":"String"}, "launchType":{"shape":"LaunchType"}, "platformVersion":{"shape":"String"}, - "attachments":{"shape":"Attachments"} + "attachments":{"shape":"Attachments"}, + "healthStatus":{"shape":"HealthStatus"} } }, "TaskDefinition":{ @@ -1746,6 +1805,22 @@ "member":{"shape":"Task"} }, "Timestamp":{"type":"timestamp"}, + "Tmpfs":{ + "type":"structure", + "required":[ + "containerPath", + "size" + ], + "members":{ + "containerPath":{"shape":"String"}, + "size":{"shape":"Integer"}, + "mountOptions":{"shape":"StringList"} + } + }, + "TmpfsList":{ + "type":"list", + "member":{"shape":"Tmpfs"} + }, "TransportProtocol":{ "type":"string", "enum":[ @@ -1846,7 +1921,8 @@ "deploymentConfiguration":{"shape":"DeploymentConfiguration"}, "networkConfiguration":{"shape":"NetworkConfiguration"}, "platformVersion":{"shape":"String"}, - "forceNewDeployment":{"shape":"Boolean"} + "forceNewDeployment":{"shape":"Boolean"}, + "healthCheckGracePeriodSeconds":{"shape":"BoxedInteger"} } }, "UpdateServiceResponse":{ diff --git a/models/apis/ecs/2014-11-13/docs-2.json b/models/apis/ecs/2014-11-13/docs-2.json index 49f2b22609e..aefddcf8e9e 100644 --- a/models/apis/ecs/2014-11-13/docs-2.json +++ b/models/apis/ecs/2014-11-13/docs-2.json @@ -1,9 +1,9 @@ { "version": "2.0", - "service": "

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster. You can host your cluster on a serverless infrastructure that is managed by Amazon ECS by launching your services or tasks using the Fargate launch type. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage by using the EC2 launch type. For more information about launch types, see Amazon ECS Launch Types.

Amazon ECS lets you launch and stop container-based applications with simple API calls, allows you to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.

You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. Amazon ECS eliminates the need for you to operate your own cluster management and configuration management systems or worry about scaling your management infrastructure.

", + "service": "

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster. You can host your cluster on a serverless infrastructure that is managed by Amazon ECS by launching your services or tasks using the Fargate launch type. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage by using the EC2 launch type. For more information about launch types, see Amazon ECS Launch Types.

Amazon ECS lets you launch and stop container-based applications with simple API calls, allows you to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.

You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. Amazon ECS eliminates the need for you to operate your own cluster management and configuration management systems or worry about scaling your management infrastructure.

", "operations": { "CreateCluster": "

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": "

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 minimumHealthyPercent is 50% in the console and 100% for the AWS CLI, the AWS SDKs, and the APIs.

The maximumPercent parameter represents an upper limit on the number of your service's tasks that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desiredCount (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service has a desiredCount of four tasks and a maximumPercent value of 200%, the scheduler can start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximumPercent is 200%.

When the service scheduler launches new tasks, it determines task placement in your cluster using the following logic:

", + "CreateService": "

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:

", "DeleteAttributes": "

Deletes one or more custom attributes from an Amazon ECS resource.

", "DeleteCluster": "

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": "

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.

", @@ -24,15 +24,15 @@ "ListTasks": "

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": "

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": "

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": "

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": "

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.

", + "RegisterTaskDefinition": "

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": "

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:

", "StartTask": "

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": "

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": "

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": "

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": "

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": "

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.

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": "

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.

You can use UpdateService to modify your task definition and deploy a new version of your service.

You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy.

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:

When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic:

" + "UpdateService": "

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.

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:

When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic:

" }, "shapes": { "AccessDeniedException": { @@ -49,7 +49,7 @@ "AssignPublicIp": { "base": null, "refs": { - "AwsVpcConfiguration$assignPublicIp": "

Specifies whether or not the task's elastic network interface receives a public IP address.

" + "AwsVpcConfiguration$assignPublicIp": "

Whether the task's elastic network interface receives a public IP address.

" } }, "Attachment": { @@ -61,7 +61,7 @@ "AttachmentDetails": { "base": null, "refs": { - "Attachment$details": "

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.

" + "Attachment$details": "

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.

" } }, "AttachmentStateChange": { @@ -79,8 +79,8 @@ "Attachments": { "base": null, "refs": { - "ContainerInstance$attachments": "

The Elastic Network Interfaces associated with the container instance.

", - "Task$attachments": "

The Elastic Network Adapter associated with the task if the task uses the awsvpc network mode.

" + "ContainerInstance$attachments": "

The elastic network interfaces associated with the container instance.

", + "Task$attachments": "

The elastic network adapter associated with the task if the task uses the awsvpc network mode.

" } }, "Attribute": { @@ -110,28 +110,29 @@ "AwsVpcConfiguration": { "base": "

An object representing the networking details for a task or service.

", "refs": { - "NetworkConfiguration$awsvpcConfiguration": "

The VPC subnets and security groups associated with a task.

" + "NetworkConfiguration$awsvpcConfiguration": "

The VPC subnets and security groups associated with a task.

All specified subnets and security groups must be from the same VPC.

" } }, "BlockedException": { - "base": "

Your AWS account has been blocked. Contact AWS Customer Support for more information.

", + "base": "

Your AWS account has been blocked. Contact AWS Support for more information.

", "refs": { } }, "Boolean": { "base": null, "refs": { - "ContainerInstance$agentConnected": "

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. Instances without a connected agent can't accept placement requests.

", - "UpdateServiceRequest$forceNewDeployment": "

Whether or not to force a new deployment of the service.

" + "ContainerInstance$agentConnected": "

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.

", + "UpdateServiceRequest$forceNewDeployment": "

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.

" } }, "BoxedBoolean": { "base": null, "refs": { "ContainerDefinition$essential": "

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.

", - "ContainerDefinition$disableNetworking": "

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.

", - "ContainerDefinition$privileged": "

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.

", - "ContainerDefinition$readonlyRootFilesystem": "

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.

", + "ContainerDefinition$disableNetworking": "

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.

", + "ContainerDefinition$privileged": "

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.

", + "ContainerDefinition$readonlyRootFilesystem": "

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.

", + "DeleteServiceRequest$force": "

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.

", "DeregisterContainerInstanceRequest$force": "

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.

", "LinuxParameters$initProcessEnabled": "

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\"

", "MountPoint$readOnly": "

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.

", @@ -142,15 +143,21 @@ "base": null, "refs": { "Container$exitCode": "

The exit code returned from the container.

", - "ContainerDefinition$memory": "

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 will be 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 will be 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.

", - "ContainerDefinition$memoryReservation": "

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.

", + "ContainerDefinition$memory": "

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.

", + "ContainerDefinition$memoryReservation": "

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.

", "ContainerOverride$cpu": "

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.

", "ContainerOverride$memory": "

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.

", "ContainerOverride$memoryReservation": "

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.

", "ContainerStateChange$exitCode": "

The exit code for the container, if the state change is a result of the container exiting.

", "CreateServiceRequest$desiredCount": "

The number of instantiations of the specified task definition to place and keep running on your cluster.

", + "CreateServiceRequest$healthCheckGracePeriodSeconds": "

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.

", "DeploymentConfiguration$maximumPercent": "

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.

", "DeploymentConfiguration$minimumHealthyPercent": "

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.

", + "HealthCheck$interval": "

The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.

", + "HealthCheck$timeout": "

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.

", + "HealthCheck$retries": "

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.

", + "HealthCheck$startPeriod": "

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.

", + "LinuxParameters$sharedMemorySize": "

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.

", "ListAttributesRequest$maxResults": "

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.

", "ListClustersRequest$maxResults": "

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.

", "ListContainerInstancesRequest$maxResults": "

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.

", @@ -161,11 +168,15 @@ "LoadBalancer$containerPort": "

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.

", "NetworkBinding$containerPort": "

The port number on the container that is used with the network binding.

", "NetworkBinding$hostPort": "

The port number on the host that is used with the network binding.

", - "PortMapping$containerPort": "

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 Fargate launch type, exposed ports should be specified using containerPort.

If using containers in a task with the EC2 launch type 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.

", - "PortMapping$hostPort": "

The port number on the container instance to reserve for your container.

If using containers in a task with the Fargate launch type, the hostPort can either be left blank or needs to be the same value as the containerPort.

If using containers in a task with the EC2 launch type, 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).

", + "PortMapping$containerPort": "

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.

", + "PortMapping$hostPort": "

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).

", "RunTaskRequest$count": "

The number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks per call.

", + "Service$healthCheckGracePeriodSeconds": "

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.

", + "ServiceRegistry$port": "

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.

", + "ServiceRegistry$containerPort": "

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.

", "SubmitContainerStateChangeRequest$exitCode": "

The exit code returned for the state change request.

", - "UpdateServiceRequest$desiredCount": "

The number of instantiations of the task to place and keep running in your service.

" + "UpdateServiceRequest$desiredCount": "

The number of instantiations of the task to place and keep running in your service.

", + "UpdateServiceRequest$healthCheckGracePeriodSeconds": "

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.

" } }, "ClientException": { @@ -205,7 +216,7 @@ "ClusterFieldList": { "base": null, "refs": { - "DescribeClustersRequest$include": "

Additional information about your clusters to be separated by launch type, including:

" + "DescribeClustersRequest$include": "

Additional information about your clusters to be separated by launch type, including:

" } }, "ClusterNotFoundException": { @@ -478,7 +489,7 @@ "DevicesList": { "base": null, "refs": { - "LinuxParameters$devices": "

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.

" + "LinuxParameters$devices": "

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.

" } }, "DiscoverPollEndpointRequest": { @@ -528,6 +539,19 @@ "UpdateContainerInstancesStateResponse$failures": "

Any failures associated with the call.

" } }, + "HealthCheck": { + "base": "

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).

", + "refs": { + "ContainerDefinition$healthCheck": "

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.

" + } + }, + "HealthStatus": { + "base": null, + "refs": { + "Container$healthStatus": "

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.

", + "Task$healthStatus": "

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.

" + } + }, "HostEntry": { "base": "

Hostnames and IP address entries that are added to the /etc/hosts file of a container via the extraHosts parameter of its ContainerDefinition.

", "refs": { @@ -537,13 +561,13 @@ "HostEntryList": { "base": null, "refs": { - "ContainerDefinition$extraHosts": "

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 you want the container to talk to. This parameter maps to ExtraHosts in the Create a container section of the Docker Remote API and the --add-host option to docker run.

" + "ContainerDefinition$extraHosts": "

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.

" } }, "HostVolumeProperties": { "base": "

Details on a container instance host volume.

", "refs": { - "Volume$host": "

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.

If you are using the Fargate launch type, the host parameter is not supported.

" + "Volume$host": "

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.

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.

" } }, "Integer": { @@ -553,7 +577,7 @@ "Cluster$runningTasksCount": "

The number of tasks in the cluster that are in the RUNNING state.

", "Cluster$pendingTasksCount": "

The number of tasks in the cluster that are in the PENDING state.

", "Cluster$activeServicesCount": "

The number of services that are running on the cluster in an ACTIVE state. You can view these services with ListServices.

", - "ContainerDefinition$cpu": "

The number of cpu units reserved for the container. If your containers will be part of a task using the Fargate launch type, this field is optional and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task cpu value.

For containers that will be part of a task using the EC2 launch type, a container instance has 1,024 cpu units for every CPU core. This parameter specifies the minimum amount of CPU to reserve for a container, and containers share unallocated CPU units with other containers on the instance with the same ratio as their allocated amount. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run.

You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page by 1,024.

For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that is the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task would be guaranteed a minimum of 512 CPU units when needed, and each container could float to higher CPU usage if the other container was not using it, but if both tasks were 100% active all of the time, they would be limited to 512 CPU units.

The Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. For more information, see CPU share constraint in the Docker documentation. The minimum valid CPU share value that the Linux kernel allows is 2; however, the CPU parameter is not required, and you can use CPU values below 2 in your container definitions. For CPU values below 2 (including null), the behavior varies based on your Amazon ECS container agent version:

", + "ContainerDefinition$cpu": "

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:

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.

", "ContainerInstance$runningTasksCount": "

The number of tasks on the container instance that are in the RUNNING status.

", "ContainerInstance$pendingTasksCount": "

The number of tasks on the container instance that are in the PENDING status.

", "Deployment$desiredCount": "

The most recent desired count of tasks that was specified for the service to deploy or maintain.

", @@ -564,6 +588,7 @@ "Service$runningCount": "

The number of tasks in the cluster that are in the RUNNING state.

", "Service$pendingCount": "

The number of tasks in the cluster that are in the PENDING state.

", "TaskDefinition$revision": "

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).

", + "Tmpfs$size": "

The size (in MiB) of the tmpfs volume.

", "Ulimit$softLimit": "

The soft limit for the ulimit type.

", "Ulimit$hardLimit": "

The hard limit for the ulimit type.

" } @@ -576,7 +601,7 @@ "KernelCapabilities": { "base": "

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.

", "refs": { - "LinuxParameters$capabilities": "

The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker.

" + "LinuxParameters$capabilities": "

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.

" } }, "KeyValuePair": { @@ -592,8 +617,8 @@ "refs": { "CreateServiceRequest$launchType": "

The launch type on which to run your service.

", "Deployment$launchType": "

The launch type on which your service is running.

", - "ListServicesRequest$launchType": "

The launch type for services you want to list.

", - "ListTasksRequest$launchType": "

The launch type for services you want to list.

", + "ListServicesRequest$launchType": "

The launch type for the services to list.

", + "ListTasksRequest$launchType": "

The launch type for services to list.

", "RunTaskRequest$launchType": "

The launch type on which to run your task.

", "Service$launchType": "

The launch type on which your service is running.

", "Task$launchType": "

The launch type on which your task is running.

" @@ -602,7 +627,7 @@ "LinuxParameters": { "base": "

Linux-specific options that are applied to the container, such as Linux KernelCapabilities.

", "refs": { - "ContainerDefinition$linuxParameters": "

Linux-specific modifications that are applied to the container, such as Linux KernelCapabilities. This field is not valid for containers in tasks using the Fargate launch type.

" + "ContainerDefinition$linuxParameters": "

Linux-specific modifications that are applied to the container, such as Linux KernelCapabilities.

This parameter is not supported for Windows containers.

" } }, "ListAttributesRequest": { @@ -676,7 +701,7 @@ } }, "LoadBalancer": { - "base": "

Details on a load balancer that is used with a service.

", + "base": "

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.

", "refs": { "LoadBalancers$member": null } @@ -684,8 +709,8 @@ "LoadBalancers": { "base": null, "refs": { - "CreateServiceRequest$loadBalancers": "

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.

", - "Service$loadBalancers": "

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.

" + "CreateServiceRequest$loadBalancers": "

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.

", + "Service$loadBalancers": "

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.

" } }, "LogConfiguration": { @@ -728,7 +753,7 @@ "MountPointList": { "base": null, "refs": { - "ContainerDefinition$mountPoints": "

The mount points for data volumes in your container.

If using the Fargate launch type, the sourceVolume parameter is not supported.

This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run.

" + "ContainerDefinition$mountPoints": "

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.

" } }, "NetworkBinding": { @@ -749,15 +774,15 @@ "base": "

An object representing the network configuration for a task or service.

", "refs": { "CreateServiceRequest$networkConfiguration": "

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.

", - "Deployment$networkConfiguration": "

The VPC subnet and security group configuration for tasks that receive their own Elastic Network Interface by using the awsvpc networking mode.

", + "Deployment$networkConfiguration": "

The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode.

", "RunTaskRequest$networkConfiguration": "

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.

", - "Service$networkConfiguration": "

The VPC subnet and security group configuration for tasks that receive their own Elastic Network Interface by using the awsvpc networking mode.

", - "StartTaskRequest$networkConfiguration": "

The VPC subnet and security group configuration for tasks that receive their own Elastic Network Interface by using the awsvpc networking mode.

", - "UpdateServiceRequest$networkConfiguration": "

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.

" + "Service$networkConfiguration": "

The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode.

", + "StartTaskRequest$networkConfiguration": "

The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode.

", + "UpdateServiceRequest$networkConfiguration": "

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.

" } }, "NetworkInterface": { - "base": "

An object representing the Elastic Network Interface for tasks that use the awsvpc network mode.

", + "base": "

An object representing the elastic network interface for tasks that use the awsvpc network mode.

", "refs": { "NetworkInterfaces$member": null } @@ -771,8 +796,8 @@ "NetworkMode": { "base": null, "refs": { - "RegisterTaskDefinitionRequest$networkMode": "

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.

For more information, see Network settings in the Docker run reference.

", - "TaskDefinition$networkMode": "

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.

For more information, see Network settings in the Docker run reference.

" + "RegisterTaskDefinitionRequest$networkMode": "

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.

", + "TaskDefinition$networkMode": "

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.

" } }, "NoUpdateAvailableException": { @@ -821,7 +846,7 @@ } }, "PlatformTaskDefinitionIncompatibilityException": { - "base": "

The specified platform version does not satisfy the task definition’s required capabilities.

", + "base": "

The specified platform version does not satisfy the task definition's required capabilities.

", "refs": { } }, @@ -831,7 +856,7 @@ } }, "PortMapping": { - "base": "

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 Fargate launch type, 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.

", + "base": "

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.

", "refs": { "PortMappingList$member": null } @@ -839,7 +864,7 @@ "PortMappingList": { "base": null, "refs": { - "ContainerDefinition$portMappings": "

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.

If using containers in a task with the Fargate, exposed ports should be specified using containerPort. The hostPort can be left blank or it must be the same value as the containerPort.

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, or the networkBindings section DescribeTasks responses.

" + "ContainerDefinition$portMappings": "

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.

" } }, "PutAttributesRequest": { @@ -872,6 +897,12 @@ "refs": { } }, + "RepositoryCredentials": { + "base": "

The repository credentials for private registry authentication.

", + "refs": { + "ContainerDefinition$repositoryCredentials": "

The private repository authentication credentials to use.

" + } + }, "RequiresAttributes": { "base": null, "refs": { @@ -887,8 +918,8 @@ "Resources": { "base": null, "refs": { - "ContainerInstance$remainingResources": "

For most resource types, this parameter describes the remaining resources of the container instance that are available for new tasks. For port resource types, this parameter describes the ports that are reserved by the Amazon ECS container agent and any containers that have reserved port mappings; any port that is not specified here is available for new tasks.

", - "ContainerInstance$registeredResources": "

For most resource types, this parameter describes the registered resources on the container instance that are in use by current tasks. For port resource types, this parameter describes the ports that were reserved by the Amazon ECS container agent when it registered the container instance with Amazon ECS.

", + "ContainerInstance$remainingResources": "

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.

", + "ContainerInstance$registeredResources": "

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.

", "RegisterContainerInstanceRequest$totalResources": "

The resources available on the instance.

" } }, @@ -902,6 +933,14 @@ "refs": { } }, + "SchedulingStrategy": { + "base": null, + "refs": { + "CreateServiceRequest$schedulingStrategy": "

The scheduling strategy to use for the service. For more information, see Services.

There are two service scheduler strategies available:

", + "ListServicesRequest$schedulingStrategy": "

The scheduling strategy for services to list.

", + "Service$schedulingStrategy": "

The scheduling strategy to use for the service. For more information, see Services.

There are two service scheduler strategies available:

" + } + }, "ServerException": { "base": "

These errors are usually caused by a server issue.

", "refs": { @@ -938,6 +977,19 @@ "refs": { } }, + "ServiceRegistries": { + "base": null, + "refs": { + "CreateServiceRequest$serviceRegistries": "

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.

", + "Service$serviceRegistries": "

" + } + }, + "ServiceRegistry": { + "base": "

Details of the service registry.

", + "refs": { + "ServiceRegistries$member": null + } + }, "Services": { "base": null, "refs": { @@ -980,7 +1032,7 @@ "base": null, "refs": { "Attachment$id": "

The unique identifier for the attachment.

", - "Attachment$type": "

The type of the attachment, such as an ElasticNetworkInterface.

", + "Attachment$type": "

The type of the attachment, such as ElasticNetworkInterface.

", "Attachment$status": "

The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, ATTACHED, DETACHING, DETACHED, and DELETED.

", "AttachmentStateChange$attachmentArn": "

The Amazon Resource Name (ARN) of the attachment.

", "AttachmentStateChange$status": "

The status of the attachment.

", @@ -988,7 +1040,7 @@ "Attribute$value": "

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.

", "Attribute$targetId": "

The ID of the target. You can specify the short form ID for a resource or the full Amazon Resource Name (ARN).

", "ClientException$message": null, - "Cluster$clusterArn": "

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 ..

", + "Cluster$clusterArn": "

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 ..

", "Cluster$clusterName": "

A user-generated string that you use to identify your cluster.

", "Cluster$status": "

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.

", "Container$containerArn": "

The Amazon Resource Name (ARN) of the container.

", @@ -997,11 +1049,11 @@ "Container$lastStatus": "

The last known status of the container.

", "Container$reason": "

A short (255 max characters) human-readable string to provide additional details about a running or stopped container.

", "ContainerDefinition$name": "

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.

", - "ContainerDefinition$image": "

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.

", - "ContainerDefinition$hostname": "

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.

", - "ContainerDefinition$user": "

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.

", + "ContainerDefinition$image": "

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.

", + "ContainerDefinition$hostname": "

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.

", + "ContainerDefinition$user": "

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.

", "ContainerDefinition$workingDirectory": "

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.

", - "ContainerInstance$containerInstanceArn": "

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 .

", + "ContainerInstance$containerInstanceArn": "

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 .

", "ContainerInstance$ec2InstanceId": "

The EC2 instance ID of the container instance.

", "ContainerInstance$status": "

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.

", "ContainerOverride$name": "

The name of the container that receives the override. This parameter is required if any override is specified.

", @@ -1010,9 +1062,9 @@ "ContainerStateChange$status": "

The status of the container.

", "CreateClusterRequest$clusterName": "

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.

", "CreateServiceRequest$cluster": "

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.

", - "CreateServiceRequest$serviceName": "

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.

", + "CreateServiceRequest$serviceName": "

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.

", "CreateServiceRequest$taskDefinition": "

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.

", - "CreateServiceRequest$clientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.

", + "CreateServiceRequest$clientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.

", "CreateServiceRequest$platformVersion": "

The platform version on which to run your service. If one is not specified, the latest version is used by default.

", "CreateServiceRequest$role": "

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.

", "DeleteAttributesRequest$cluster": "

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.

", @@ -1024,7 +1076,7 @@ "Deployment$taskDefinition": "

The most recent task definition that was specified for the service to use.

", "Deployment$platformVersion": "

The platform version on which your service is running.

", "DeregisterContainerInstanceRequest$cluster": "

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.

", - "DeregisterContainerInstanceRequest$containerInstance": "

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 .

", + "DeregisterContainerInstanceRequest$containerInstance": "

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 .

", "DeregisterTaskDefinitionRequest$taskDefinition": "

The family and revision (family:revision) or full Amazon Resource Name (ARN) of the task definition to deregister. You must specify a revision.

", "DescribeContainerInstancesRequest$cluster": "

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.

", "DescribeServicesRequest$cluster": "

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.

", @@ -1032,7 +1084,7 @@ "DescribeTasksRequest$cluster": "

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.

", "Device$hostPath": "

The path for the device on the host container instance.

", "Device$containerPath": "

The path inside the container at which to expose the host device.

", - "DiscoverPollEndpointRequest$containerInstance": "

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 .

", + "DiscoverPollEndpointRequest$containerInstance": "

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 .

", "DiscoverPollEndpointRequest$cluster": "

The short name or full Amazon Resource Name (ARN) of the cluster that the container instance belongs to.

", "DiscoverPollEndpointResponse$endpoint": "

The endpoint for the Amazon ECS agent to poll.

", "DiscoverPollEndpointResponse$telemetryEndpoint": "

The telemetry endpoint for the Amazon ECS agent.

", @@ -1042,7 +1094,7 @@ "Failure$reason": "

The reason for the failure.

", "HostEntry$hostname": "

The hostname to use in the /etc/hosts entry.

", "HostEntry$ipAddress": "

The IP address to use in the /etc/hosts entry.

", - "HostVolumeProperties$sourcePath": "

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 host parameter is not supported.

", + "HostVolumeProperties$sourcePath": "

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.

", "KeyValuePair$name": "

The name of the key value pair. For environment variables, this is the name of the environment variable.

", "KeyValuePair$value": "

The value of the key value pair. For environment variables, this is the value of the environment variable.

", "ListAttributesRequest$cluster": "

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.

", @@ -1072,18 +1124,18 @@ "ListTasksRequest$startedBy": "

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.

", "ListTasksRequest$serviceName": "

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.

", "ListTasksResponse$nextToken": "

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$targetGroupArn": "

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group associated with a service.

", + "LoadBalancer$targetGroupArn": "

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.

", "LoadBalancer$loadBalancerName": "

The name of a load balancer.

", "LoadBalancer$containerName": "

The name of the container (as it appears in a container definition) to associate with the load balancer.

", "LogConfigurationOptionsMap$key": null, "LogConfigurationOptionsMap$value": null, - "MountPoint$sourceVolume": "

The name of the volume to mount. If using the Fargate launch type, the sourceVolume parameter is not supported.

", + "MountPoint$sourceVolume": "

The name of the volume to mount.

", "MountPoint$containerPath": "

The path on the container to mount the host volume at.

", "NetworkBinding$bindIP": "

The IP address that the container is bound to on the container instance.

", "NetworkInterface$attachmentId": "

The attachment ID for the network interface.

", "NetworkInterface$privateIpv4Address": "

The private IPv4 address for the network interface.

", "NetworkInterface$ipv6Address": "

The private IPv6 address for the network interface.

", - "PlacementConstraint$expression": "

A cluster query language expression to apply to the constraint. Note 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.

", + "PlacementConstraint$expression": "

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.

", "PlacementStrategy$field": "

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.

", "PutAttributesRequest$cluster": "

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.

", "RegisterContainerInstanceRequest$cluster": "

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.

", @@ -1093,9 +1145,10 @@ "RegisterTaskDefinitionRequest$family": "

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.

", "RegisterTaskDefinitionRequest$taskRoleArn": "

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.

", "RegisterTaskDefinitionRequest$executionRoleArn": "

The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

", - "RegisterTaskDefinitionRequest$cpu": "

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 you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the memory parameter:

", - "RegisterTaskDefinitionRequest$memory": "

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 you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter:

", - "Resource$name": "

The name of the resource, such as cpu, memory, ports, or a user-defined resource.

", + "RegisterTaskDefinitionRequest$cpu": "

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:

", + "RegisterTaskDefinitionRequest$memory": "

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:

", + "RepositoryCredentials$credentialsParameter": "

The Amazon Resource Name (ARN) or name of the secret containing the private repository credentials.

", + "Resource$name": "

The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined resource.

", "Resource$type": "

The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET.

", "RunTaskRequest$cluster": "

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.

", "RunTaskRequest$taskDefinition": "

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.

", @@ -1103,8 +1156,8 @@ "RunTaskRequest$group": "

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).

", "RunTaskRequest$platformVersion": "

The platform version on which to run your task. If one is not specified, the latest version is used by default.

", "ServerException$message": null, - "Service$serviceArn": "

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 .

", - "Service$serviceName": "

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.

", + "Service$serviceArn": "

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 .

", + "Service$serviceName": "

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.

", "Service$clusterArn": "

The Amazon Resource Name (ARN) of the cluster that hosts the service.

", "Service$status": "

The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE.

", "Service$platformVersion": "

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.

", @@ -1112,6 +1165,8 @@ "Service$roleArn": "

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.

", "ServiceEvent$id": "

The ID string of the event.

", "ServiceEvent$message": "

The event message.

", + "ServiceRegistry$registryArn": "

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.

", + "ServiceRegistry$containerName": "

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.

", "StartTaskRequest$cluster": "

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.

", "StartTaskRequest$taskDefinition": "

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.

", "StartTaskRequest$startedBy": "

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.

", @@ -1137,28 +1192,29 @@ "Task$containerInstanceArn": "

The ARN of the container instances that host the task.

", "Task$lastStatus": "

The last known status of the task.

", "Task$desiredStatus": "

The desired status of the task.

", - "Task$cpu": "

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:

", - "Task$memory": "

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:

", + "Task$cpu": "

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:

", + "Task$memory": "

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:

", "Task$startedBy": "

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.

", "Task$stoppedReason": "

The reason the task was stopped.

", "Task$group": "

The name of the task group associated with the task.

", "Task$platformVersion": "

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$taskDefinitionArn": "

The full Amazon Resource Name (ARN) of the task definition.

", "TaskDefinition$family": "

The family of your task definition, used as the definition name.

", - "TaskDefinition$taskRoleArn": "

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.

", + "TaskDefinition$taskRoleArn": "

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.

", "TaskDefinition$executionRoleArn": "

The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

", - "TaskDefinition$cpu": "

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:

", - "TaskDefinition$memory": "

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:

", + "TaskDefinition$cpu": "

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:

", + "TaskDefinition$memory": "

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:

", "TaskDefinitionPlacementConstraint$expression": "

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.

", "TaskOverride$taskRoleArn": "

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.

", "TaskOverride$executionRoleArn": "

The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

", + "Tmpfs$containerPath": "

The absolute file path where the tmpfs volume is to be mounted.

", "UpdateContainerAgentRequest$cluster": "

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.

", "UpdateContainerAgentRequest$containerInstance": "

The container instance ID or full ARN entries for the container instance on which you would like to update the Amazon ECS container agent.

", "UpdateContainerInstancesStateRequest$cluster": "

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.

", "UpdateServiceRequest$cluster": "

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.

", "UpdateServiceRequest$service": "

The name of the service to update.

", "UpdateServiceRequest$taskDefinition": "

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.

", - "UpdateServiceRequest$platformVersion": "

The platform version you want to update your service to run.

", + "UpdateServiceRequest$platformVersion": "

The platform version that your service should run.

", "VersionInfo$agentVersion": "

The version number of the Amazon ECS container agent.

", "VersionInfo$agentHash": "

The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent GitHub repository.

", "VersionInfo$dockerVersion": "

The Docker version running on the container instance.

", @@ -1169,20 +1225,21 @@ "StringList": { "base": null, "refs": { - "AwsVpcConfiguration$subnets": "

The subnets associated with the task or service.

", - "AwsVpcConfiguration$securityGroups": "

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.

", - "ContainerDefinition$links": "

The link parameter allows containers to communicate with each other without the need for port mappings, using the name parameter and optionally, an alias for the link. This construct is analogous to name:alias in Docker links. This field is not valid for containers in tasks using the Fargate launch type. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed for each name and alias. For more information on linking Docker containers, see https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/. This parameter maps to Links in the Create a container section of the Docker Remote API and the --link option to docker run.

Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.

", + "AwsVpcConfiguration$subnets": "

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.

", + "AwsVpcConfiguration$securityGroups": "

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.

", + "ContainerDefinition$links": "

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.

", "ContainerDefinition$entryPoint": "

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.

", "ContainerDefinition$command": "

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.

", - "ContainerDefinition$dnsServers": "

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.

", - "ContainerDefinition$dnsSearchDomains": "

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.

", - "ContainerDefinition$dockerSecurityOptions": "

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.

", + "ContainerDefinition$dnsServers": "

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.

", + "ContainerDefinition$dnsSearchDomains": "

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.

", + "ContainerDefinition$dockerSecurityOptions": "

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.

", "ContainerOverride$command": "

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.

", "DescribeClustersRequest$clusters": "

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.

", - "DescribeContainerInstancesRequest$containerInstances": "

A list of container instance IDs or full ARN entries.

", + "DescribeContainerInstancesRequest$containerInstances": "

A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries.

", "DescribeServicesRequest$services": "

A list of services to describe. You may specify up to 10 services to describe in a single operation.

", "DescribeTasksRequest$tasks": "

A list of up to 100 task IDs or full ARN entries.

", - "KernelCapabilities$add": "

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.

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\"

", + "HealthCheck$command": "

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.

", + "KernelCapabilities$add": "

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\"

", "KernelCapabilities$drop": "

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\"

", "ListClustersResponse$clusterArns": "

The list of full Amazon Resource Name (ARN) entries for each cluster associated with your account.

", "ListContainerInstancesResponse$containerInstanceArns": "

The list of container instances with full ARN entries for each container instance associated with the specified cluster.

", @@ -1192,6 +1249,7 @@ "ListTasksResponse$taskArns": "

The list of task ARN entries for the ListTasks request.

", "Resource$stringSetValue": "

When the stringSetValue type is set, the value of the resource must be a string type.

", "StartTaskRequest$containerInstances": "

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.

", + "Tmpfs$mountOptions": "

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\"

", "UpdateContainerInstancesStateRequest$containerInstances": "

A list of container instance IDs or full ARN entries.

" } }, @@ -1249,7 +1307,7 @@ } }, "TaskDefinitionPlacementConstraint": { - "base": "

An object representing a constraint on task placement in the task definition.

If you are using the Fargate launch type, task placement contraints are not supported.

For more information, see Task Placement Constraints in the Amazon Elastic Container Service Developer Guide.

", + "base": "

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.

", "refs": { "TaskDefinitionPlacementConstraints$member": null } @@ -1300,17 +1358,29 @@ "ServiceEvent$createdAt": "

The Unix time stamp for when the event was triggered.

", "SubmitTaskStateChangeRequest$pullStartedAt": "

The Unix time stamp for when the container image pull began.

", "SubmitTaskStateChangeRequest$pullStoppedAt": "

The Unix time stamp for when the container image pull completed.

", - "SubmitTaskStateChangeRequest$executionStoppedAt": "

The Unix timestamp for when the task execution stopped.

", + "SubmitTaskStateChangeRequest$executionStoppedAt": "

The Unix time stamp for when the task execution stopped.

", "Task$connectivityAt": "

The Unix time stamp for when the task last went into CONNECTED status.

", "Task$pullStartedAt": "

The Unix time stamp for when the container image pull began.

", "Task$pullStoppedAt": "

The Unix time stamp for when the container image pull completed.

", - "Task$executionStoppedAt": "

The Unix timestamp for when the task execution stopped.

", + "Task$executionStoppedAt": "

The Unix time stamp for when the task execution stopped.

", "Task$createdAt": "

The Unix time stamp for when the task was created (the task entered the PENDING state).

", "Task$startedAt": "

The Unix time stamp for when the task started (the task transitioned from the PENDING state to the RUNNING state).

", - "Task$stoppingAt": "

The Unix time stamp for when the task will stop (the task transitioned from the RUNNING state to the STOPPED state).

", + "Task$stoppingAt": "

The Unix time stamp for when the task stops (transitions from the RUNNING state to STOPPED).

", "Task$stoppedAt": "

The Unix time stamp for when the task was stopped (the task transitioned from the RUNNING state to the STOPPED state).

" } }, + "Tmpfs": { + "base": "

The container path, mount options, and size of the tmpfs mount.

", + "refs": { + "TmpfsList$member": null + } + }, + "TmpfsList": { + "base": null, + "refs": { + "LinuxParameters$tmpfs": "

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.

" + } + }, "TransportProtocol": { "base": null, "refs": { @@ -1327,7 +1397,7 @@ "UlimitList": { "base": null, "refs": { - "ContainerDefinition$ulimits": "

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\"

" + "ContainerDefinition$ulimits": "

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.

" } }, "UlimitName": { diff --git a/models/apis/eks/2017-11-01/api-2.json b/models/apis/eks/2017-11-01/api-2.json new file mode 100644 index 00000000000..8494169c1c8 --- /dev/null +++ b/models/apis/eks/2017-11-01/api-2.json @@ -0,0 +1,301 @@ +{ + "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"} + ] + }, + "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"} + ] + }, + "DescribeCluster":{ + "name":"DescribeCluster", + "http":{ + "method":"GET", + "requestUri":"/clusters/{name}" + }, + "input":{"shape":"DescribeClusterRequest"}, + "output":{"shape":"DescribeClusterResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ServiceUnavailableException"} + ] + }, + "ListClusters":{ + "name":"ListClusters", + "http":{ + "method":"GET", + "requestUri":"/clusters" + }, + "input":{"shape":"ListClustersRequest"}, + "output":{"shape":"ListClustersResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ServiceUnavailableException"} + ] + } + }, + "shapes":{ + "Certificate":{ + "type":"structure", + "members":{ + "data":{"shape":"String"} + } + }, + "ClientException":{ + "type":"structure", + "members":{ + "clusterName":{"shape":"String"}, + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "Cluster":{ + "type":"structure", + "members":{ + "name":{"shape":"String"}, + "arn":{"shape":"String"}, + "createdAt":{"shape":"Timestamp"}, + "version":{"shape":"String"}, + "endpoint":{"shape":"String"}, + "roleArn":{"shape":"String"}, + "resourcesVpcConfig":{"shape":"VpcConfigResponse"}, + "status":{"shape":"ClusterStatus"}, + "certificateAuthority":{"shape":"Certificate"}, + "clientRequestToken":{"shape":"String"} + } + }, + "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"}, + "version":{"shape":"String"}, + "roleArn":{"shape":"String"}, + "resourcesVpcConfig":{"shape":"VpcConfigRequest"}, + "clientRequestToken":{ + "shape":"String", + "idempotencyToken":true + } + } + }, + "CreateClusterResponse":{ + "type":"structure", + "members":{ + "cluster":{"shape":"Cluster"} + } + }, + "DeleteClusterRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"String", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteClusterResponse":{ + "type":"structure", + "members":{ + "cluster":{"shape":"Cluster"} + } + }, + "DescribeClusterRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"String", + "location":"uri", + "locationName":"name" + } + } + }, + "DescribeClusterResponse":{ + "type":"structure", + "members":{ + "cluster":{"shape":"Cluster"} + } + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "clusterName":{"shape":"String"}, + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListClustersRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListClustersRequestMaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListClustersRequestMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListClustersResponse":{ + "type":"structure", + "members":{ + "clusters":{"shape":"StringList"}, + "nextToken":{"shape":"String"} + } + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "clusterName":{"shape":"String"}, + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceLimitExceededException":{ + "type":"structure", + "members":{ + "clusterName":{"shape":"String"}, + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "clusterName":{"shape":"String"}, + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "ServerException":{ + "type":"structure", + "members":{ + "clusterName":{"shape":"String"}, + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "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"}, + "validZones":{"shape":"StringList"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "VpcConfigRequest":{ + "type":"structure", + "required":["subnetIds"], + "members":{ + "subnetIds":{"shape":"StringList"}, + "securityGroupIds":{"shape":"StringList"} + } + }, + "VpcConfigResponse":{ + "type":"structure", + "members":{ + "subnetIds":{"shape":"StringList"}, + "securityGroupIds":{"shape":"StringList"}, + "vpcId":{"shape":"String"} + } + } + } +} diff --git a/models/apis/eks/2017-11-01/docs-2.json b/models/apis/eks/2017-11-01/docs-2.json new file mode 100644 index 00000000000..7ba7b4edc75 --- /dev/null +++ b/models/apis/eks/2017-11-01/docs-2.json @@ -0,0 +1,189 @@ +{ + "version": "2.0", + "service": "

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 three Kubernetes control plane instances across three Availability Zones to ensure high availability. Amazon EKS automatically detects and replaces unhealthy control plane instances, and it provides automated version upgrades and patching for them.

Amazon EKS is also integrated with many AWS services to provide scalability and security for your applications, including the following:

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.

", + "operations": { + "CreateCluster": "

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": "

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": "

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": "

Lists the Amazon EKS clusters in your AWS account in the specified region.

" + }, + "shapes": { + "Certificate": { + "base": "

An object representing the certificate-authority-data for your cluster.

", + "refs": { + "Cluster$certificateAuthority": "

The certificate-authority-data for your cluster.

" + } + }, + "ClientException": { + "base": "

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.

", + "refs": { + } + }, + "Cluster": { + "base": "

An object representing an Amazon EKS cluster.

", + "refs": { + "CreateClusterResponse$cluster": "

The full description of your new cluster.

", + "DeleteClusterResponse$cluster": "

The full description of the cluster to delete.

", + "DescribeClusterResponse$cluster": "

The full description of your specified cluster.

" + } + }, + "ClusterName": { + "base": null, + "refs": { + "CreateClusterRequest$name": "

The unique name to give to your cluster.

" + } + }, + "ClusterStatus": { + "base": null, + "refs": { + "Cluster$status": "

The current status of the cluster.

" + } + }, + "CreateClusterRequest": { + "base": null, + "refs": { + } + }, + "CreateClusterResponse": { + "base": null, + "refs": { + } + }, + "DeleteClusterRequest": { + "base": null, + "refs": { + } + }, + "DeleteClusterResponse": { + "base": null, + "refs": { + } + }, + "DescribeClusterRequest": { + "base": null, + "refs": { + } + }, + "DescribeClusterResponse": { + "base": null, + "refs": { + } + }, + "InvalidParameterException": { + "base": "

The specified parameter is invalid. Review the available parameters for the API request.

", + "refs": { + } + }, + "ListClustersRequest": { + "base": null, + "refs": { + } + }, + "ListClustersRequestMaxResults": { + "base": null, + "refs": { + "ListClustersRequest$maxResults": "

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": { + "base": null, + "refs": { + } + }, + "ResourceInUseException": { + "base": "

The specified resource is in use.

", + "refs": { + } + }, + "ResourceLimitExceededException": { + "base": "

You have encountered a service limit on the specified resource.

", + "refs": { + } + }, + "ResourceNotFoundException": { + "base": "

The specified resource could not be found. You can view your available clusters with ListClusters. Amazon EKS clusters are region-specific.

", + "refs": { + } + }, + "ServerException": { + "base": "

These errors are usually caused by a server-side issue.

", + "refs": { + } + }, + "ServiceUnavailableException": { + "base": "

The service is unavailable, back off and retry the operation.

", + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "Certificate$data": "

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.

", + "ClientException$clusterName": "

The Amazon EKS cluster associated with the exception.

", + "ClientException$message": null, + "Cluster$name": "

The name of the cluster.

", + "Cluster$arn": "

The Amazon Resource Name (ARN) of the cluster.

", + "Cluster$version": "

The Kubernetes server version for the cluster.

", + "Cluster$endpoint": "

The endpoint for your Kubernetes API server.

", + "Cluster$roleArn": "

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.

", + "Cluster$clientRequestToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", + "CreateClusterRequest$version": "

The desired Kubernetes version for your cluster. If you do not specify a value here, the latest version available in Amazon EKS is used.

", + "CreateClusterRequest$roleArn": "

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

", + "CreateClusterRequest$clientRequestToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", + "DeleteClusterRequest$name": "

The name of the cluster to delete.

", + "DescribeClusterRequest$name": "

The name of the cluster to describe.

", + "InvalidParameterException$clusterName": "

The Amazon EKS cluster associated with the exception.

", + "InvalidParameterException$message": null, + "ListClustersRequest$nextToken": "

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.

", + "ListClustersResponse$nextToken": "

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$clusterName": "

The Amazon EKS cluster associated with the exception.

", + "ResourceInUseException$message": null, + "ResourceLimitExceededException$clusterName": "

The Amazon EKS cluster associated with the exception.

", + "ResourceLimitExceededException$message": null, + "ResourceNotFoundException$clusterName": "

The Amazon EKS cluster associated with the exception.

", + "ResourceNotFoundException$message": null, + "ServerException$clusterName": "

The Amazon EKS cluster associated with the exception.

", + "ServerException$message": null, + "ServiceUnavailableException$message": null, + "StringList$member": null, + "UnsupportedAvailabilityZoneException$message": null, + "UnsupportedAvailabilityZoneException$clusterName": "

The Amazon EKS cluster associated with the exception.

", + "VpcConfigResponse$vpcId": "

The VPC associated with your cluster.

" + } + }, + "StringList": { + "base": null, + "refs": { + "ListClustersResponse$clusters": "

A list of all of the clusters for your account in the specified region.

", + "UnsupportedAvailabilityZoneException$validZones": "

The supported Availability Zones for your account. Choose subnets in these Availability Zones for your cluster.

", + "VpcConfigRequest$subnetIds": "

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.

", + "VpcConfigRequest$securityGroupIds": "

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.

", + "VpcConfigResponse$subnetIds": "

The subnets associated with your cluster.

", + "VpcConfigResponse$securityGroupIds": "

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.

" + } + }, + "Timestamp": { + "base": null, + "refs": { + "Cluster$createdAt": "

The Unix epoch time stamp in seconds for when the cluster was created.

" + } + }, + "UnsupportedAvailabilityZoneException": { + "base": "

At least one of your specified cluster subnets is in an Availability Zone that does not support Amazon EKS. The exception output will specify the supported Availability Zones for your account, from which you can choose subnets for your cluster.

", + "refs": { + } + }, + "VpcConfigRequest": { + "base": "

An object representing an Amazon EKS cluster VPC configuration request.

", + "refs": { + "CreateClusterRequest$resourcesVpcConfig": "

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.

" + } + }, + "VpcConfigResponse": { + "base": "

An object representing an Amazon EKS cluster VPC configuration response.

", + "refs": { + "Cluster$resourcesVpcConfig": "

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.

" + } + } + } +} diff --git a/models/apis/eks/2017-11-01/examples-1.json b/models/apis/eks/2017-11-01/examples-1.json new file mode 100644 index 00000000000..6a83da723a4 --- /dev/null +++ b/models/apis/eks/2017-11-01/examples-1.json @@ -0,0 +1,114 @@ +{ + "version": "1.0", + "examples": { + "CreateCluster": [ + { + "input": { + "version": "1.10", + "name": "prod", + "clientRequestToken": "1d2129a1-3d38-460a-9756-e5b91fddb951", + "resourcesVpcConfig": { + "securityGroupIds": [ + "sg-6979fe18" + ], + "subnetIds": [ + "subnet-6782e71e", + "subnet-e7e761ac" + ] + }, + "roleArn": "arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an Amazon EKS cluster called prod.", + "id": "to-create-a-new-cluster-1527868185648", + "title": "To create a new cluster" + } + ], + "DeleteCluster": [ + { + "input": { + "name": "devel" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example command deletes a cluster named `devel` in your default region.", + "id": "to-delete-a-cluster-1527868641252", + "title": "To delete a cluster" + } + ], + "DescribeCluster": [ + { + "input": { + "name": "devel" + }, + "output": { + "cluster": { + "version": "1.10", + "name": "devel", + "arn": "arn:aws:eks:us-west-2:012345678910:cluster/devel", + "certificateAuthority": { + "data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNE1EVXpNVEl6TVRFek1Wb1hEVEk0TURVeU9ESXpNVEV6TVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTTZWCjVUaG4rdFcySm9Xa2hQMzRlVUZMNitaRXJOZGIvWVdrTmtDdWNGS2RaaXl2TjlMVmdvUmV2MjlFVFZlN1ZGbSsKUTJ3ZURyRXJiQyt0dVlibkFuN1ZLYmE3ay9hb1BHekZMdmVnb0t6b0M1N2NUdGVwZzRIazRlK2tIWHNaME10MApyb3NzcjhFM1ROeExETnNJTThGL1cwdjhsTGNCbWRPcjQyV2VuTjFHZXJnaDNSZ2wzR3JIazBnNTU0SjFWenJZCm9hTi8zODFUczlOTFF2QTBXb0xIcjBFRlZpTFdSZEoyZ3lXaC9ybDVyOFNDOHZaQXg1YW1BU0hVd01aTFpWRC8KTDBpOW4wRVM0MkpVdzQyQmxHOEdpd3NhTkJWV3lUTHZKclNhRXlDSHFtVVZaUTFDZkFXUjl0L3JleVVOVXM3TApWV1FqM3BFbk9RMitMSWJrc0RzQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFNZ3RsQ1dIQ2U2YzVHMXl2YlFTS0Q4K2hUalkKSm1NSG56L2EvRGt0WG9YUjFVQzIrZUgzT1BZWmVjRVZZZHVaSlZCckNNQ2VWR0ZkeWdBYlNLc1FxWDg0S2RXbAp1MU5QaERDSmEyRHliN2pVMUV6VThTQjFGZUZ5ZFE3a0hNS1E1blpBRVFQOTY4S01hSGUrSm0yQ2x1UFJWbEJVCjF4WlhTS1gzTVZ0K1Q0SU1EV2d6c3JRSjVuQkRjdEtLcUZtM3pKdVVubHo5ZEpVckdscEltMjVJWXJDckxYUFgKWkUwRUtRNWEzMHhkVWNrTHRGQkQrOEtBdFdqSS9yZUZPNzM1YnBMdVoyOTBaNm42QlF3elRrS0p4cnhVc3QvOAppNGsxcnlsaUdWMm5SSjBUYjNORkczNHgrYWdzYTRoSTFPbU90TFM0TmgvRXJxT3lIUXNDc2hEQUtKUT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + }, + "createdAt": 1527807879.988, + "endpoint": "https://A0DCCD80A04F01705DD065655C30CC3D.yl4.us-west-2.eks.amazonaws.com", + "resourcesVpcConfig": { + "securityGroupIds": [ + "sg-6979fe18" + ], + "subnetIds": [ + "subnet-6782e71e", + "subnet-e7e761ac" + ], + "vpcId": "vpc-950809ec" + }, + "roleArn": "arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI", + "status": "ACTIVE" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example command provides a description of the specified cluster in your default region.", + "id": "to-describe-a-cluster-1527868708512", + "title": "To describe a cluster" + } + ], + "ListClusters": [ + { + "input": { + }, + "output": { + "clusters": [ + "devel", + "prod" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example command lists all of your available clusters in your default region.", + "id": "to-list-your-available-clusters-1527868801040", + "title": "To list your available clusters" + } + ] + } +} diff --git a/models/apis/eks/2017-11-01/paginators-1.json b/models/apis/eks/2017-11-01/paginators-1.json new file mode 100644 index 00000000000..5677bd8e4a2 --- /dev/null +++ b/models/apis/eks/2017-11-01/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/models/apis/elasticbeanstalk/2010-12-01/api-2.json b/models/apis/elasticbeanstalk/2010-12-01/api-2.json index 01d61180107..71588a6e709 100644 --- a/models/apis/elasticbeanstalk/2010-12-01/api-2.json +++ b/models/apis/elasticbeanstalk/2010-12-01/api-2.json @@ -6,6 +6,7 @@ "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/" @@ -228,6 +229,20 @@ {"shape":"PlatformVersionStillReferencedException"} ] }, + "DescribeAccountAttributes":{ + "name":"DescribeAccountAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "output":{ + "shape":"DescribeAccountAttributesResult", + "resultWrapper":"DescribeAccountAttributesResult" + }, + "errors":[ + {"shape":"InsufficientPrivilegesException"} + ] + }, "DescribeApplicationVersions":{ "name":"DescribeApplicationVersions", "http":{ @@ -643,9 +658,11 @@ "Unknown" ] }, + "ApplicationArn":{"type":"string"}, "ApplicationDescription":{ "type":"structure", "members":{ + "ApplicationArn":{"shape":"ApplicationArn"}, "ApplicationName":{"shape":"ApplicationName"}, "Description":{"shape":"Description"}, "DateCreated":{"shape":"CreationDate"}, @@ -703,9 +720,11 @@ "ResourceLifecycleConfig":{"shape":"ApplicationResourceLifecycleConfig"} } }, + "ApplicationVersionArn":{"type":"string"}, "ApplicationVersionDescription":{ "type":"structure", "members":{ + "ApplicationVersionArn":{"shape":"ApplicationVersionArn"}, "ApplicationName":{"shape":"ApplicationName"}, "Description":{"shape":"Description"}, "VersionLabel":{"shape":"VersionLabel"}, @@ -1156,6 +1175,12 @@ } }, "DeploymentTimestamp":{"type":"timestamp"}, + "DescribeAccountAttributesResult":{ + "type":"structure", + "members":{ + "ResourceQuotas":{"shape":"ResourceQuotas"} + } + }, "DescribeApplicationVersionsMessage":{ "type":"structure", "members":{ @@ -1394,7 +1419,8 @@ "Info", "Warning", "Degraded", - "Severe" + "Severe", + "Suspended" ] }, "EnvironmentId":{"type":"string"}, @@ -1991,6 +2017,22 @@ }, "exception":true }, + "ResourceQuota":{ + "type":"structure", + "members":{ + "Maximum":{"shape":"BoxedInt"} + } + }, + "ResourceQuotas":{ + "type":"structure", + "members":{ + "ApplicationQuota":{"shape":"ResourceQuota"}, + "ApplicationVersionQuota":{"shape":"ResourceQuota"}, + "EnvironmentQuota":{"shape":"ResourceQuota"}, + "ConfigurationTemplateQuota":{"shape":"ResourceQuota"}, + "CustomPlatformQuota":{"shape":"ResourceQuota"} + } + }, "ResourceTagsDescriptionMessage":{ "type":"structure", "members":{ diff --git a/models/apis/elasticbeanstalk/2010-12-01/docs-2.json b/models/apis/elasticbeanstalk/2010-12-01/docs-2.json index 27dc440e32a..62b7f122ab5 100644 --- a/models/apis/elasticbeanstalk/2010-12-01/docs-2.json +++ b/models/apis/elasticbeanstalk/2010-12-01/docs-2.json @@ -1,1991 +1,2026 @@ { - "version": "2.0", - "service": "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.

", - "operations": { - "AbortEnvironmentUpdate": "

Cancels in-progress environment configuration update or application version deployment.

", - "ApplyEnvironmentManagedAction": "

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": "

Checks if the specified CNAME is available.

", - "ComposeEnvironments": "

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": "

Creates an application that has one configuration template named default and no application versions.

", - "CreateApplicationVersion": "

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": "

Creates a configuration template. Templates are associated with a specific application and are used to deploy different versions of the application with the same configuration settings.

Related Topics

", - "CreateEnvironment": "

Launches an environment for the specified application using the specified configuration.

", - "CreatePlatformVersion": "

Create a new version of your custom platform.

", - "CreateStorageLocation": "

Creates the Amazon S3 storage location for the account.

This location is used to store user log files.

", - "DeleteApplication": "

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": "

Deletes the specified version from the specified application.

You cannot delete an application version that is associated with a running environment.

", - "DeleteConfigurationTemplate": "

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": "

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": "

Deletes the specified version of a custom platform.

", - "DescribeApplicationVersions": "

Retrieve a list of application versions.

", - "DescribeApplications": "

Returns the descriptions of existing applications.

", - "DescribeConfigurationOptions": "

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": "

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": "

Returns information about the overall health of the specified environment. The DescribeEnvironmentHealth operation is only available with AWS Elastic Beanstalk Enhanced Health.

", - "DescribeEnvironmentManagedActionHistory": "

Lists an environment's completed and failed managed actions.

", - "DescribeEnvironmentManagedActions": "

Lists an environment's upcoming and in-progress managed actions.

", - "DescribeEnvironmentResources": "

Returns AWS resources for this environment.

", - "DescribeEnvironments": "

Returns descriptions for existing environments.

", - "DescribeEvents": "

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": "

Retrives detailed information about the health of instances in your AWS Elastic Beanstalk. This operation requires enhanced health reporting.

", - "DescribePlatformVersion": "

Describes the version of the platform.

", - "ListAvailableSolutionStacks": "

Returns a list of the available solution stack names, with the public version first and then in reverse chronological order.

", - "ListPlatformVersions": "

Lists the available platforms.

", - "ListTagsForResource": "

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 Elastic Beanstalk environments.

", - "RebuildEnvironment": "

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": "

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": "

Causes the environment to restart the application container server running on each Amazon EC2 instance.

", - "RetrieveEnvironmentInfo": "

Retrieves the compiled information from a RequestEnvironmentInfo request.

Related Topics

", - "SwapEnvironmentCNAMEs": "

Swaps the CNAMEs of two environments.

", - "TerminateEnvironment": "

Terminates the specified environment.

", - "UpdateApplication": "

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": "

Modifies lifecycle settings for an application.

", - "UpdateApplicationVersion": "

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": "

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": "

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": "

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.

", - "ValidateConfigurationSettings": "

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.

" + "version":"2.0", + "service":"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.

", + "operations":{ + "AbortEnvironmentUpdate":"

Cancels in-progress environment configuration update or application version deployment.

", + "ApplyEnvironmentManagedAction":"

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":"

Checks if the specified CNAME is available.

", + "ComposeEnvironments":"

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":"

Creates an application that has one configuration template named default and no application versions.

", + "CreateApplicationVersion":"

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":"

Creates a configuration template. Templates are associated with a specific application and are used to deploy different versions of the application with the same configuration settings.

Related Topics

", + "CreateEnvironment":"

Launches an environment for the specified application using the specified configuration.

", + "CreatePlatformVersion":"

Create a new version of your custom platform.

", + "CreateStorageLocation":"

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":"

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":"

Deletes the specified version from the specified application.

You cannot delete an application version that is associated with a running environment.

", + "DeleteConfigurationTemplate":"

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":"

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":"

Deletes the specified version of a custom platform.

", + "DescribeAccountAttributes":"

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":"

Retrieve a list of application versions.

", + "DescribeApplications":"

Returns the descriptions of existing applications.

", + "DescribeConfigurationOptions":"

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":"

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":"

Returns information about the overall health of the specified environment. The DescribeEnvironmentHealth operation is only available with AWS Elastic Beanstalk Enhanced Health.

", + "DescribeEnvironmentManagedActionHistory":"

Lists an environment's completed and failed managed actions.

", + "DescribeEnvironmentManagedActions":"

Lists an environment's upcoming and in-progress managed actions.

", + "DescribeEnvironmentResources":"

Returns AWS resources for this environment.

", + "DescribeEnvironments":"

Returns descriptions for existing environments.

", + "DescribeEvents":"

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":"

Retrieves detailed information about the health of instances in your AWS Elastic Beanstalk. This operation requires enhanced health reporting.

", + "DescribePlatformVersion":"

Describes the version of the platform.

", + "ListAvailableSolutionStacks":"

Returns a list of the available solution stack names, with the public version first and then in reverse chronological order.

", + "ListPlatformVersions":"

Lists the available platforms.

", + "ListTagsForResource":"

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":"

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":"

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":"

Causes the environment to restart the application container server running on each Amazon EC2 instance.

", + "RetrieveEnvironmentInfo":"

Retrieves the compiled information from a RequestEnvironmentInfo request.

Related Topics

", + "SwapEnvironmentCNAMEs":"

Swaps the CNAMEs of two environments.

", + "TerminateEnvironment":"

Terminates the specified environment.

", + "UpdateApplication":"

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":"

Modifies lifecycle settings for an application.

", + "UpdateApplicationVersion":"

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":"

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":"

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":"

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":"

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": { - "base": null, - "refs": { - "Builder$ARN": "

The ARN of the builder.

" - } - }, - "AbortEnvironmentUpdateMessage": { - "base": "

", - "refs": { - } - }, - "AbortableOperationInProgress": { - "base": null, - "refs": { - "EnvironmentDescription$AbortableOperationInProgress": "

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.

" - } - }, - "ActionHistoryStatus": { - "base": null, - "refs": { - "ManagedActionHistoryItem$Status": "

The status of the action.

" + "shapes":{ + "ARN":{ + "base":null, + "refs":{ + "Builder$ARN":"

The ARN of the builder.

" + } + }, + "AbortEnvironmentUpdateMessage":{ + "base":"

", + "refs":{ + } + }, + "AbortableOperationInProgress":{ + "base":null, + "refs":{ + "EnvironmentDescription$AbortableOperationInProgress":"

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.

" + } + }, + "ActionHistoryStatus":{ + "base":null, + "refs":{ + "ManagedActionHistoryItem$Status":"

The status of the action.

" } - }, - "ActionStatus": { - "base": null, - "refs": { - "DescribeEnvironmentManagedActionsRequest$Status": "

To show only actions with a particular status, specify a status.

", - "ManagedAction$Status": "

The status of the managed action. If the action is Scheduled, you can apply it immediately with ApplyEnvironmentManagedAction.

" + }, + "ActionStatus":{ + "base":null, + "refs":{ + "DescribeEnvironmentManagedActionsRequest$Status":"

To show only actions with a particular status, specify a status.

", + "ManagedAction$Status":"

The status of the managed action. If the action is Scheduled, you can apply it immediately with ApplyEnvironmentManagedAction.

" } }, - "ActionType": { - "base": null, - "refs": { - "ApplyEnvironmentManagedActionResult$ActionType": "

The type of managed action.

", - "ManagedAction$ActionType": "

The type of managed action.

", - "ManagedActionHistoryItem$ActionType": "

The type of the managed action.

" + "ActionType":{ + "base":null, + "refs":{ + "ApplyEnvironmentManagedActionResult$ActionType":"

The type of managed action.

", + "ManagedAction$ActionType":"

The type of managed action.

", + "ManagedActionHistoryItem$ActionType":"

The type of the managed action.

" } }, - "ApplicationDescription": { - "base": "

Describes the properties of an application.

", - "refs": { - "ApplicationDescriptionList$member": null, - "ApplicationDescriptionMessage$Application": "

The ApplicationDescription of the application.

" + "ApplicationArn":{ + "base":null, + "refs":{ + "ApplicationDescription$ApplicationArn":"

The Amazon Resource Name (ARN) of the application.

" } }, - "ApplicationDescriptionList": { - "base": null, - "refs": { - "ApplicationDescriptionsMessage$Applications": "

This parameter contains a list of ApplicationDescription.

" + "ApplicationDescription":{ + "base":"

Describes the properties of an application.

", + "refs":{ + "ApplicationDescriptionList$member":null, + "ApplicationDescriptionMessage$Application":"

The ApplicationDescription of the application.

" } }, - "ApplicationDescriptionMessage": { - "base": "

Result message containing a single description of an application.

", - "refs": { + "ApplicationDescriptionList":{ + "base":null, + "refs":{ + "ApplicationDescriptionsMessage$Applications":"

This parameter contains a list of ApplicationDescription.

" } }, - "ApplicationDescriptionsMessage": { - "base": "

Result message containing a list of application descriptions.

", - "refs": { + "ApplicationDescriptionMessage":{ + "base":"

Result message containing a single description of an application.

", + "refs":{ } }, - "ApplicationMetrics": { - "base": "

Application request metrics for an AWS Elastic Beanstalk environment.

", - "refs": { - "DescribeEnvironmentHealthResult$ApplicationMetrics": "

Application request metrics for the environment.

", - "SingleInstanceHealth$ApplicationMetrics": "

Request metrics from your application.

" + "ApplicationDescriptionsMessage":{ + "base":"

Result message containing a list of application descriptions.

", + "refs":{ } }, - "ApplicationName": { - "base": null, - "refs": { - "ApplicationDescription$ApplicationName": "

The name of the application.

", - "ApplicationNamesList$member": null, - "ApplicationResourceLifecycleDescriptionMessage$ApplicationName": "

The name of the application.

", - "ApplicationVersionDescription$ApplicationName": "

The name of the application to which the application version belongs.

", - "ComposeEnvironmentsMessage$ApplicationName": "

The name of the application to which the specified source bundles belong.

", - "ConfigurationSettingsDescription$ApplicationName": "

The name of the application associated with this configuration set.

", - "CreateApplicationMessage$ApplicationName": "

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.

", - "CreateApplicationVersionMessage$ApplicationName": "

The name of the application. If no application is found with this name, and AutoCreateApplication is false, returns an InvalidParameterValue error.

", - "CreateConfigurationTemplateMessage$ApplicationName": "

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.

", - "CreateEnvironmentMessage$ApplicationName": "

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.

", - "DeleteApplicationMessage$ApplicationName": "

The name of the application to delete.

", - "DeleteApplicationVersionMessage$ApplicationName": "

The name of the application to which the version belongs.

", - "DeleteConfigurationTemplateMessage$ApplicationName": "

The name of the application to delete the configuration template from.

", - "DeleteEnvironmentConfigurationMessage$ApplicationName": "

The name of the application the environment is associated with.

", - "DescribeApplicationVersionsMessage$ApplicationName": "

Specify an application name to show only application versions for that application.

", - "DescribeConfigurationOptionsMessage$ApplicationName": "

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.

", - "DescribeConfigurationSettingsMessage$ApplicationName": "

The application for the environment or configuration template.

", - "DescribeEnvironmentsMessage$ApplicationName": "

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that are associated with this application.

", - "DescribeEventsMessage$ApplicationName": "

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those associated with this application.

", - "EnvironmentDescription$ApplicationName": "

The name of the application associated with this environment.

", - "EventDescription$ApplicationName": "

The application associated with the event.

", - "SourceConfiguration$ApplicationName": "

The name of the application associated with the configuration.

", - "UpdateApplicationMessage$ApplicationName": "

The name of the application to update. If no such application is found, UpdateApplication returns an InvalidParameterValue error.

", - "UpdateApplicationResourceLifecycleMessage$ApplicationName": "

The name of the application.

", - "UpdateApplicationVersionMessage$ApplicationName": "

The name of the application associated with this version.

If no application is found with this name, UpdateApplication returns an InvalidParameterValue error.

", - "UpdateConfigurationTemplateMessage$ApplicationName": "

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.

", - "UpdateEnvironmentMessage$ApplicationName": "

The name of the application with which the environment is associated.

", - "ValidateConfigurationSettingsMessage$ApplicationName": "

The name of the application that the configuration template or environment belongs to.

" + "ApplicationMetrics":{ + "base":"

Application request metrics for an AWS Elastic Beanstalk environment.

", + "refs":{ + "DescribeEnvironmentHealthResult$ApplicationMetrics":"

Application request metrics for the environment.

", + "SingleInstanceHealth$ApplicationMetrics":"

Request metrics from your application.

" } }, - "ApplicationNamesList": { - "base": null, - "refs": { - "DescribeApplicationsMessage$ApplicationNames": "

If specified, AWS Elastic Beanstalk restricts the returned descriptions to only include those with the specified names.

" + "ApplicationName":{ + "base":null, + "refs":{ + "ApplicationDescription$ApplicationName":"

The name of the application.

", + "ApplicationNamesList$member":null, + "ApplicationResourceLifecycleDescriptionMessage$ApplicationName":"

The name of the application.

", + "ApplicationVersionDescription$ApplicationName":"

The name of the application to which the application version belongs.

", + "ComposeEnvironmentsMessage$ApplicationName":"

The name of the application to which the specified source bundles belong.

", + "ConfigurationSettingsDescription$ApplicationName":"

The name of the application associated with this configuration set.

", + "CreateApplicationMessage$ApplicationName":"

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.

", + "CreateApplicationVersionMessage$ApplicationName":"

The name of the application. If no application is found with this name, and AutoCreateApplication is false, returns an InvalidParameterValue error.

", + "CreateConfigurationTemplateMessage$ApplicationName":"

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.

", + "CreateEnvironmentMessage$ApplicationName":"

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.

", + "DeleteApplicationMessage$ApplicationName":"

The name of the application to delete.

", + "DeleteApplicationVersionMessage$ApplicationName":"

The name of the application to which the version belongs.

", + "DeleteConfigurationTemplateMessage$ApplicationName":"

The name of the application to delete the configuration template from.

", + "DeleteEnvironmentConfigurationMessage$ApplicationName":"

The name of the application the environment is associated with.

", + "DescribeApplicationVersionsMessage$ApplicationName":"

Specify an application name to show only application versions for that application.

", + "DescribeConfigurationOptionsMessage$ApplicationName":"

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.

", + "DescribeConfigurationSettingsMessage$ApplicationName":"

The application for the environment or configuration template.

", + "DescribeEnvironmentsMessage$ApplicationName":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that are associated with this application.

", + "DescribeEventsMessage$ApplicationName":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those associated with this application.

", + "EnvironmentDescription$ApplicationName":"

The name of the application associated with this environment.

", + "EventDescription$ApplicationName":"

The application associated with the event.

", + "SourceConfiguration$ApplicationName":"

The name of the application associated with the configuration.

", + "UpdateApplicationMessage$ApplicationName":"

The name of the application to update. If no such application is found, UpdateApplication returns an InvalidParameterValue error.

", + "UpdateApplicationResourceLifecycleMessage$ApplicationName":"

The name of the application.

", + "UpdateApplicationVersionMessage$ApplicationName":"

The name of the application associated with this version.

If no application is found with this name, UpdateApplication returns an InvalidParameterValue error.

", + "UpdateConfigurationTemplateMessage$ApplicationName":"

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.

", + "UpdateEnvironmentMessage$ApplicationName":"

The name of the application with which the environment is associated.

", + "ValidateConfigurationSettingsMessage$ApplicationName":"

The name of the application that the configuration template or environment belongs to.

" } }, - "ApplicationResourceLifecycleConfig": { - "base": "

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.

", - "refs": { - "ApplicationDescription$ResourceLifecycleConfig": "

The lifecycle settings for the application.

", - "ApplicationResourceLifecycleDescriptionMessage$ResourceLifecycleConfig": "

The lifecycle configuration.

", - "CreateApplicationMessage$ResourceLifecycleConfig": "

Specify an application resource lifecycle configuration to prevent your application from accumulating too many versions.

", - "UpdateApplicationResourceLifecycleMessage$ResourceLifecycleConfig": "

The lifecycle configuration.

" + "ApplicationNamesList":{ + "base":null, + "refs":{ + "DescribeApplicationsMessage$ApplicationNames":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to only include those with the specified names.

" } }, - "ApplicationResourceLifecycleDescriptionMessage": { - "base": null, - "refs": { + "ApplicationResourceLifecycleConfig":{ + "base":"

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.

", + "refs":{ + "ApplicationDescription$ResourceLifecycleConfig":"

The lifecycle settings for the application.

", + "ApplicationResourceLifecycleDescriptionMessage$ResourceLifecycleConfig":"

The lifecycle configuration.

", + "CreateApplicationMessage$ResourceLifecycleConfig":"

Specify an application resource lifecycle configuration to prevent your application from accumulating too many versions.

", + "UpdateApplicationResourceLifecycleMessage$ResourceLifecycleConfig":"

The lifecycle configuration.

" } }, - "ApplicationVersionDescription": { - "base": "

Describes the properties of an application version.

", - "refs": { - "ApplicationVersionDescriptionList$member": null, - "ApplicationVersionDescriptionMessage$ApplicationVersion": "

The ApplicationVersionDescription of the application version.

" + "ApplicationResourceLifecycleDescriptionMessage":{ + "base":null, + "refs":{ } }, - "ApplicationVersionDescriptionList": { - "base": null, - "refs": { - "ApplicationVersionDescriptionsMessage$ApplicationVersions": "

List of ApplicationVersionDescription objects sorted in order of creation.

" + "ApplicationVersionArn":{ + "base":null, + "refs":{ + "ApplicationVersionDescription$ApplicationVersionArn":"

The Amazon Resource Name (ARN) of the application version.

" } }, - "ApplicationVersionDescriptionMessage": { - "base": "

Result message wrapping a single description of an application version.

", - "refs": { + "ApplicationVersionDescription":{ + "base":"

Describes the properties of an application version.

", + "refs":{ + "ApplicationVersionDescriptionList$member":null, + "ApplicationVersionDescriptionMessage$ApplicationVersion":"

The ApplicationVersionDescription of the application version.

" } }, - "ApplicationVersionDescriptionsMessage": { - "base": "

Result message wrapping a list of application version descriptions.

", - "refs": { + "ApplicationVersionDescriptionList":{ + "base":null, + "refs":{ + "ApplicationVersionDescriptionsMessage$ApplicationVersions":"

List of ApplicationVersionDescription objects sorted in order of creation.

" } }, - "ApplicationVersionLifecycleConfig": { - "base": "

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.

", - "refs": { - "ApplicationResourceLifecycleConfig$VersionLifecycleConfig": "

The application version lifecycle configuration.

" + "ApplicationVersionDescriptionMessage":{ + "base":"

Result message wrapping a single description of an application version.

", + "refs":{ } }, - "ApplicationVersionProccess": { - "base": null, - "refs": { - "CreateApplicationVersionMessage$Process": "

Preprocesses and validates the environment manifest and configuration files in the source bundle. Validating configuration files can identify issues prior to deploying the application version to an environment.

" + "ApplicationVersionDescriptionsMessage":{ + "base":"

Result message wrapping a list of application version descriptions.

", + "refs":{ } }, - "ApplicationVersionStatus": { - "base": null, - "refs": { - "ApplicationVersionDescription$Status": "

The processing status of the application version.

" + "ApplicationVersionLifecycleConfig":{ + "base":"

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.

", + "refs":{ + "ApplicationResourceLifecycleConfig$VersionLifecycleConfig":"

The application version lifecycle configuration.

" } }, - "ApplyEnvironmentManagedActionRequest": { - "base": "

Request to execute a scheduled managed action immediately.

", - "refs": { + "ApplicationVersionProccess":{ + "base":null, + "refs":{ + "CreateApplicationVersionMessage$Process":"

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.

" } }, - "ApplyEnvironmentManagedActionResult": { - "base": "

The result message containing information about the managed action.

", - "refs": { + "ApplicationVersionStatus":{ + "base":null, + "refs":{ + "ApplicationVersionDescription$Status":"

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.

" } }, - "AutoCreateApplication": { - "base": null, - "refs": { - "CreateApplicationVersionMessage$AutoCreateApplication": "

Set to true to create an application with the specified name if it doesn't already exist.

" + "ApplyEnvironmentManagedActionRequest":{ + "base":"

Request to execute a scheduled managed action immediately.

", + "refs":{ } }, - "AutoScalingGroup": { - "base": "

Describes an Auto Scaling launch configuration.

", - "refs": { - "AutoScalingGroupList$member": null + "ApplyEnvironmentManagedActionResult":{ + "base":"

The result message containing information about the managed action.

", + "refs":{ } }, - "AutoScalingGroupList": { - "base": null, - "refs": { - "EnvironmentResourceDescription$AutoScalingGroups": "

The AutoScalingGroups used by this environment.

" + "AutoCreateApplication":{ + "base":null, + "refs":{ + "CreateApplicationVersionMessage$AutoCreateApplication":"

Set to true to create an application with the specified name if it doesn't already exist.

" } }, - "AvailableSolutionStackDetailsList": { - "base": null, - "refs": { - "ListAvailableSolutionStacksResultMessage$SolutionStackDetails": "

A list of available solution stacks and their SolutionStackDescription.

" + "AutoScalingGroup":{ + "base":"

Describes an Auto Scaling launch configuration.

", + "refs":{ + "AutoScalingGroupList$member":null } }, - "AvailableSolutionStackNamesList": { - "base": null, - "refs": { - "ListAvailableSolutionStacksResultMessage$SolutionStacks": "

A list of available solution stacks.

" + "AutoScalingGroupList":{ + "base":null, + "refs":{ + "EnvironmentResourceDescription$AutoScalingGroups":"

The AutoScalingGroups used by this environment.

" } }, - "BoxedBoolean": { - "base": null, - "refs": { - "MaxAgeRule$Enabled": "

Specify true to apply the rule, or false to disable it.

", - "MaxAgeRule$DeleteSourceFromS3": "

Set to true to delete a version's source bundle from Amazon S3 when Elastic Beanstalk deletes the application version.

", - "MaxCountRule$Enabled": "

Specify true to apply the rule, or false to disable it.

", - "MaxCountRule$DeleteSourceFromS3": "

Set to true to delete a version's source bundle from Amazon S3 when Elastic Beanstalk deletes the application version.

" + "AvailableSolutionStackDetailsList":{ + "base":null, + "refs":{ + "ListAvailableSolutionStacksResultMessage$SolutionStackDetails":"

A list of available solution stacks and their SolutionStackDescription.

" } }, - "BoxedInt": { - "base": null, - "refs": { - "BuildConfiguration$TimeoutInMinutes": "

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.

", - "MaxAgeRule$MaxAgeInDays": "

Specify the number of days to retain an application versions.

", - "MaxCountRule$MaxCount": "

Specify the maximum number of application versions to retain.

" + "AvailableSolutionStackNamesList":{ + "base":null, + "refs":{ + "ListAvailableSolutionStacksResultMessage$SolutionStacks":"

A list of available solution stacks.

" } }, - "BuildConfiguration": { - "base": "

Settings for an AWS CodeBuild build.

", - "refs": { - "CreateApplicationVersionMessage$BuildConfiguration": "

Settings for an AWS CodeBuild build.

" + "BoxedBoolean":{ + "base":null, + "refs":{ + "MaxAgeRule$Enabled":"

Specify true to apply the rule, or false to disable it.

", + "MaxAgeRule$DeleteSourceFromS3":"

Set to true to delete a version's source bundle from Amazon S3 when Elastic Beanstalk deletes the application version.

", + "MaxCountRule$Enabled":"

Specify true to apply the rule, or false to disable it.

", + "MaxCountRule$DeleteSourceFromS3":"

Set to true to delete a version's source bundle from Amazon S3 when Elastic Beanstalk deletes the application version.

" } }, - "Builder": { - "base": "

The builder used to build the custom platform.

", - "refs": { - "CreatePlatformVersionResult$Builder": "

The builder used to create the custom platform.

" + "BoxedInt":{ + "base":null, + "refs":{ + "BuildConfiguration$TimeoutInMinutes":"

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.

", + "MaxAgeRule$MaxAgeInDays":"

Specify the number of days to retain an application versions.

", + "MaxCountRule$MaxCount":"

Specify the maximum number of application versions to retain.

", + "ResourceQuota$Maximum":"

The maximum number of instances of this Elastic Beanstalk resource type that an AWS account can use.

" } }, - "CPUUtilization": { - "base": "

CPU utilization metrics for an instance.

", - "refs": { - "SystemStatus$CPUUtilization": "

CPU utilization metrics for the instance.

" + "BuildConfiguration":{ + "base":"

Settings for an AWS CodeBuild build.

", + "refs":{ + "CreateApplicationVersionMessage$BuildConfiguration":"

Settings for an AWS CodeBuild build.

" } }, - "Cause": { - "base": null, - "refs": { - "Causes$member": null + "Builder":{ + "base":"

The builder used to build the custom platform.

", + "refs":{ + "CreatePlatformVersionResult$Builder":"

The builder used to create the custom platform.

" } }, - "Causes": { - "base": null, - "refs": { - "DescribeEnvironmentHealthResult$Causes": "

Descriptions of the data that contributed to the environment's current health status.

", - "SingleInstanceHealth$Causes": "

Represents the causes, which provide more information about the current health status.

" + "CPUUtilization":{ + "base":"

CPU utilization metrics for an instance.

", + "refs":{ + "SystemStatus$CPUUtilization":"

CPU utilization metrics for the instance.

" } }, - "CheckDNSAvailabilityMessage": { - "base": "

Results message indicating whether a CNAME is available.

", - "refs": { + "Cause":{ + "base":null, + "refs":{ + "Causes$member":null } }, - "CheckDNSAvailabilityResultMessage": { - "base": "

Indicates if the specified CNAME is available.

", - "refs": { + "Causes":{ + "base":null, + "refs":{ + "DescribeEnvironmentHealthResult$Causes":"

Descriptions of the data that contributed to the environment's current health status.

", + "SingleInstanceHealth$Causes":"

Represents the causes, which provide more information about the current health status.

" } }, - "CnameAvailability": { - "base": null, - "refs": { - "CheckDNSAvailabilityResultMessage$Available": "

Indicates if the specified CNAME is available:

" + "CheckDNSAvailabilityMessage":{ + "base":"

Results message indicating whether a CNAME is available.

", + "refs":{ } }, - "CodeBuildNotInServiceRegionException": { - "base": "

AWS CodeBuild is not available in the specified region.

", - "refs": { + "CheckDNSAvailabilityResultMessage":{ + "base":"

Indicates if the specified CNAME is available.

", + "refs":{ } }, - "ComposeEnvironmentsMessage": { - "base": "

Request to create or update a group of environments.

", - "refs": { + "CnameAvailability":{ + "base":null, + "refs":{ + "CheckDNSAvailabilityResultMessage$Available":"

Indicates if the specified CNAME is available:

" } }, - "ComputeType": { - "base": null, - "refs": { - "BuildConfiguration$ComputeType": "

Information about the compute resources the build project will use.

" + "CodeBuildNotInServiceRegionException":{ + "base":"

AWS CodeBuild is not available in the specified region.

", + "refs":{ } }, - "ConfigurationDeploymentStatus": { - "base": null, - "refs": { - "ConfigurationSettingsDescription$DeploymentStatus": "

If this configuration set is associated with an environment, the DeploymentStatus parameter indicates the deployment status of this configuration set:

" + "ComposeEnvironmentsMessage":{ + "base":"

Request to create or update a group of environments.

", + "refs":{ } }, - "ConfigurationOptionDefaultValue": { - "base": null, - "refs": { - "ConfigurationOptionDescription$DefaultValue": "

The default value for this configuration option.

" + "ComputeType":{ + "base":null, + "refs":{ + "BuildConfiguration$ComputeType":"

Information about the compute resources the build project will use.

" } }, - "ConfigurationOptionDescription": { - "base": "

Describes the possible values for a configuration option.

", - "refs": { - "ConfigurationOptionDescriptionsList$member": null + "ConfigurationDeploymentStatus":{ + "base":null, + "refs":{ + "ConfigurationSettingsDescription$DeploymentStatus":"

If this configuration set is associated with an environment, the DeploymentStatus parameter indicates the deployment status of this configuration set:

" } }, - "ConfigurationOptionDescriptionsList": { - "base": null, - "refs": { - "ConfigurationOptionsDescription$Options": "

A list of ConfigurationOptionDescription.

" + "ConfigurationOptionDefaultValue":{ + "base":null, + "refs":{ + "ConfigurationOptionDescription$DefaultValue":"

The default value for this configuration option.

" } }, - "ConfigurationOptionName": { - "base": null, - "refs": { - "ConfigurationOptionDescription$Name": "

The name of the configuration option.

", - "ConfigurationOptionSetting$OptionName": "

The name of the configuration option.

", - "OptionSpecification$OptionName": "

The name of the configuration option.

", - "ValidationMessage$OptionName": "

The name of the option.

" + "ConfigurationOptionDescription":{ + "base":"

Describes the possible values for a configuration option.

", + "refs":{ + "ConfigurationOptionDescriptionsList$member":null } }, - "ConfigurationOptionPossibleValue": { - "base": null, - "refs": { - "ConfigurationOptionPossibleValues$member": null + "ConfigurationOptionDescriptionsList":{ + "base":null, + "refs":{ + "ConfigurationOptionsDescription$Options":"

A list of ConfigurationOptionDescription.

" } }, - "ConfigurationOptionPossibleValues": { - "base": null, - "refs": { - "ConfigurationOptionDescription$ValueOptions": "

If specified, values for the configuration option are selected from this list.

" + "ConfigurationOptionName":{ + "base":null, + "refs":{ + "ConfigurationOptionDescription$Name":"

The name of the configuration option.

", + "ConfigurationOptionSetting$OptionName":"

The name of the configuration option.

", + "OptionSpecification$OptionName":"

The name of the configuration option.

", + "ValidationMessage$OptionName":"

The name of the option.

" } }, - "ConfigurationOptionSetting": { - "base": "

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.

", - "refs": { - "ConfigurationOptionSettingsList$member": null + "ConfigurationOptionPossibleValue":{ + "base":null, + "refs":{ + "ConfigurationOptionPossibleValues$member":null } }, - "ConfigurationOptionSettingsList": { - "base": null, - "refs": { - "ConfigurationSettingsDescription$OptionSettings": "

A list of the configuration options and their values in this configuration set.

", - "CreateConfigurationTemplateMessage$OptionSettings": "

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.

", - "CreateEnvironmentMessage$OptionSettings": "

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.

", - "CreatePlatformVersionRequest$OptionSettings": "

The configuration option settings to apply to the builder environment.

", - "UpdateConfigurationTemplateMessage$OptionSettings": "

A list of configuration option settings to update with the new specified option value.

", - "UpdateEnvironmentMessage$OptionSettings": "

If specified, AWS Elastic Beanstalk updates the configuration set associated with the running environment and sets the specified configuration options to the requested value.

", - "ValidateConfigurationSettingsMessage$OptionSettings": "

A list of the options and desired values to evaluate.

" + "ConfigurationOptionPossibleValues":{ + "base":null, + "refs":{ + "ConfigurationOptionDescription$ValueOptions":"

If specified, values for the configuration option are selected from this list.

" } }, - "ConfigurationOptionSeverity": { - "base": null, - "refs": { - "ConfigurationOptionDescription$ChangeSeverity": "

An indication of which action is required if the value for this configuration option changes:

" + "ConfigurationOptionSetting":{ + "base":"

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.

", + "refs":{ + "ConfigurationOptionSettingsList$member":null } }, - "ConfigurationOptionValue": { - "base": null, - "refs": { - "ConfigurationOptionSetting$Value": "

The current value for the configuration option.

" + "ConfigurationOptionSettingsList":{ + "base":null, + "refs":{ + "ConfigurationSettingsDescription$OptionSettings":"

A list of the configuration options and their values in this configuration set.

", + "CreateConfigurationTemplateMessage$OptionSettings":"

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.

", + "CreateEnvironmentMessage$OptionSettings":"

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.

", + "CreatePlatformVersionRequest$OptionSettings":"

The configuration option settings to apply to the builder environment.

", + "UpdateConfigurationTemplateMessage$OptionSettings":"

A list of configuration option settings to update with the new specified option value.

", + "UpdateEnvironmentMessage$OptionSettings":"

If specified, AWS Elastic Beanstalk updates the configuration set associated with the running environment and sets the specified configuration options to the requested value.

", + "ValidateConfigurationSettingsMessage$OptionSettings":"

A list of the options and desired values to evaluate.

" } }, - "ConfigurationOptionValueType": { - "base": null, - "refs": { - "ConfigurationOptionDescription$ValueType": "

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:

" + "ConfigurationOptionSeverity":{ + "base":null, + "refs":{ + "ConfigurationOptionDescription$ChangeSeverity":"

An indication of which action is required if the value for this configuration option changes:

" } }, - "ConfigurationOptionsDescription": { - "base": "

Describes the settings for a specified configuration set.

", - "refs": { + "ConfigurationOptionValue":{ + "base":null, + "refs":{ + "ConfigurationOptionSetting$Value":"

The current value for the configuration option.

" } }, - "ConfigurationSettingsDescription": { - "base": "

Describes the settings for a configuration set.

", - "refs": { - "ConfigurationSettingsDescriptionList$member": null + "ConfigurationOptionValueType":{ + "base":null, + "refs":{ + "ConfigurationOptionDescription$ValueType":"

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:

" } }, - "ConfigurationSettingsDescriptionList": { - "base": null, - "refs": { - "ConfigurationSettingsDescriptions$ConfigurationSettings": "

A list of ConfigurationSettingsDescription.

" + "ConfigurationOptionsDescription":{ + "base":"

Describes the settings for a specified configuration set.

", + "refs":{ } }, - "ConfigurationSettingsDescriptions": { - "base": "

The results from a request to change the configuration settings of an environment.

", - "refs": { + "ConfigurationSettingsDescription":{ + "base":"

Describes the settings for a configuration set.

", + "refs":{ + "ConfigurationSettingsDescriptionList$member":null } }, - "ConfigurationSettingsValidationMessages": { - "base": "

Provides a list of validation messages.

", - "refs": { + "ConfigurationSettingsDescriptionList":{ + "base":null, + "refs":{ + "ConfigurationSettingsDescriptions$ConfigurationSettings":"

A list of ConfigurationSettingsDescription.

" } }, - "ConfigurationTemplateName": { - "base": null, - "refs": { - "ConfigurationSettingsDescription$TemplateName": "

If not null, the name of the configuration template for this configuration set.

", - "ConfigurationTemplateNamesList$member": null, - "CreateConfigurationTemplateMessage$TemplateName": "

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.

", - "CreateEnvironmentMessage$TemplateName": "

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.

", - "DeleteConfigurationTemplateMessage$TemplateName": "

The name of the configuration template to delete.

", - "DescribeConfigurationOptionsMessage$TemplateName": "

The name of the configuration template whose configuration options you want to describe.

", - "DescribeConfigurationSettingsMessage$TemplateName": "

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.

", - "DescribeEventsMessage$TemplateName": "

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that are associated with this environment configuration.

", - "EnvironmentDescription$TemplateName": "

The name of the configuration template used to originally launch this environment.

", - "EventDescription$TemplateName": "

The name of the configuration associated with this event.

", - "SourceConfiguration$TemplateName": "

The name of the configuration template.

", - "UpdateConfigurationTemplateMessage$TemplateName": "

The name of the configuration template to update.

If no configuration template is found with this name, UpdateConfigurationTemplate returns an InvalidParameterValue error.

", - "UpdateEnvironmentMessage$TemplateName": "

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.

", - "ValidateConfigurationSettingsMessage$TemplateName": "

The name of the configuration template to validate the settings against.

Condition: You cannot specify both this and an environment name.

" + "ConfigurationSettingsDescriptions":{ + "base":"

The results from a request to change the configuration settings of an environment.

", + "refs":{ } }, - "ConfigurationTemplateNamesList": { - "base": null, - "refs": { - "ApplicationDescription$ConfigurationTemplates": "

The names of the configuration templates associated with this application.

" + "ConfigurationSettingsValidationMessages":{ + "base":"

Provides a list of validation messages.

", + "refs":{ } }, - "CreateApplicationMessage": { - "base": "

Request to create an application.

", - "refs": { + "ConfigurationTemplateName":{ + "base":null, + "refs":{ + "ConfigurationSettingsDescription$TemplateName":"

If not null, the name of the configuration template for this configuration set.

", + "ConfigurationTemplateNamesList$member":null, + "CreateConfigurationTemplateMessage$TemplateName":"

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.

", + "CreateEnvironmentMessage$TemplateName":"

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.

", + "DeleteConfigurationTemplateMessage$TemplateName":"

The name of the configuration template to delete.

", + "DescribeConfigurationOptionsMessage$TemplateName":"

The name of the configuration template whose configuration options you want to describe.

", + "DescribeConfigurationSettingsMessage$TemplateName":"

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.

", + "DescribeEventsMessage$TemplateName":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that are associated with this environment configuration.

", + "EnvironmentDescription$TemplateName":"

The name of the configuration template used to originally launch this environment.

", + "EventDescription$TemplateName":"

The name of the configuration associated with this event.

", + "SourceConfiguration$TemplateName":"

The name of the configuration template.

", + "UpdateConfigurationTemplateMessage$TemplateName":"

The name of the configuration template to update.

If no configuration template is found with this name, UpdateConfigurationTemplate returns an InvalidParameterValue error.

", + "UpdateEnvironmentMessage$TemplateName":"

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.

", + "ValidateConfigurationSettingsMessage$TemplateName":"

The name of the configuration template to validate the settings against.

Condition: You cannot specify both this and an environment name.

" } }, - "CreateApplicationVersionMessage": { - "base": "

", - "refs": { + "ConfigurationTemplateNamesList":{ + "base":null, + "refs":{ + "ApplicationDescription$ConfigurationTemplates":"

The names of the configuration templates associated with this application.

" } }, - "CreateConfigurationTemplateMessage": { - "base": "

Request to create a configuration template.

", - "refs": { + "CreateApplicationMessage":{ + "base":"

Request to create an application.

", + "refs":{ } }, - "CreateEnvironmentMessage": { - "base": "

", - "refs": { + "CreateApplicationVersionMessage":{ + "base":"

", + "refs":{ } }, - "CreatePlatformVersionRequest": { - "base": "

Request to create a new platform version.

", - "refs": { + "CreateConfigurationTemplateMessage":{ + "base":"

Request to create a configuration template.

", + "refs":{ } }, - "CreatePlatformVersionResult": { - "base": null, - "refs": { + "CreateEnvironmentMessage":{ + "base":"

", + "refs":{ } }, - "CreateStorageLocationResultMessage": { - "base": "

Results of a CreateStorageLocationResult call.

", - "refs": { + "CreatePlatformVersionRequest":{ + "base":"

Request to create a new platform version.

", + "refs":{ } }, - "CreationDate": { - "base": null, - "refs": { - "ApplicationDescription$DateCreated": "

The date when the application was created.

", - "ApplicationVersionDescription$DateCreated": "

The creation date of the application version.

", - "ConfigurationSettingsDescription$DateCreated": "

The date (in UTC time) when this configuration set was created.

", - "EnvironmentDescription$DateCreated": "

The creation date for this environment.

", - "PlatformDescription$DateCreated": "

The date when the platform was created.

" + "CreatePlatformVersionResult":{ + "base":null, + "refs":{ } }, - "CustomAmi": { - "base": "

A custom AMI available to platforms.

", - "refs": { - "CustomAmiList$member": null + "CreateStorageLocationResultMessage":{ + "base":"

Results of a CreateStorageLocationResult call.

", + "refs":{ } }, - "CustomAmiList": { - "base": null, - "refs": { - "PlatformDescription$CustomAmiList": "

The custom AMIs supported by the platform.

" + "CreationDate":{ + "base":null, + "refs":{ + "ApplicationDescription$DateCreated":"

The date when the application was created.

", + "ApplicationVersionDescription$DateCreated":"

The creation date of the application version.

", + "ConfigurationSettingsDescription$DateCreated":"

The date (in UTC time) when this configuration set was created.

", + "EnvironmentDescription$DateCreated":"

The creation date for this environment.

", + "PlatformDescription$DateCreated":"

The date when the platform was created.

" } }, - "DNSCname": { - "base": null, - "refs": { - "CheckDNSAvailabilityResultMessage$FullyQualifiedCNAME": "

The fully qualified CNAME to reserve when CreateEnvironment is called with the provided prefix.

", - "EnvironmentDescription$CNAME": "

The URL to the CNAME for this environment.

" + "CustomAmi":{ + "base":"

A custom AMI available to platforms.

", + "refs":{ + "CustomAmiList$member":null } }, - "DNSCnamePrefix": { - "base": null, - "refs": { - "CheckDNSAvailabilityMessage$CNAMEPrefix": "

The prefix used when this CNAME is reserved.

", - "CreateEnvironmentMessage$CNAMEPrefix": "

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.

" + "CustomAmiList":{ + "base":null, + "refs":{ + "PlatformDescription$CustomAmiList":"

The custom AMIs supported by the platform.

" } }, - "DeleteApplicationMessage": { - "base": "

Request to delete an application.

", - "refs": { + "DNSCname":{ + "base":null, + "refs":{ + "CheckDNSAvailabilityResultMessage$FullyQualifiedCNAME":"

The fully qualified CNAME to reserve when CreateEnvironment is called with the provided prefix.

", + "EnvironmentDescription$CNAME":"

The URL to the CNAME for this environment.

" } }, - "DeleteApplicationVersionMessage": { - "base": "

Request to delete an application version.

", - "refs": { + "DNSCnamePrefix":{ + "base":null, + "refs":{ + "CheckDNSAvailabilityMessage$CNAMEPrefix":"

The prefix used when this CNAME is reserved.

", + "CreateEnvironmentMessage$CNAMEPrefix":"

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.

" } }, - "DeleteConfigurationTemplateMessage": { - "base": "

Request to delete a configuration template.

", - "refs": { + "DeleteApplicationMessage":{ + "base":"

Request to delete an application.

", + "refs":{ } }, - "DeleteEnvironmentConfigurationMessage": { - "base": "

Request to delete a draft environment configuration.

", - "refs": { + "DeleteApplicationVersionMessage":{ + "base":"

Request to delete an application version.

", + "refs":{ } }, - "DeletePlatformVersionRequest": { - "base": null, - "refs": { + "DeleteConfigurationTemplateMessage":{ + "base":"

Request to delete a configuration template.

", + "refs":{ } }, - "DeletePlatformVersionResult": { - "base": null, - "refs": { + "DeleteEnvironmentConfigurationMessage":{ + "base":"

Request to delete a draft environment configuration.

", + "refs":{ } }, - "DeleteSourceBundle": { - "base": null, - "refs": { - "DeleteApplicationVersionMessage$DeleteSourceBundle": "

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.

" + "DeletePlatformVersionRequest":{ + "base":null, + "refs":{ } }, - "Deployment": { - "base": "

Information about an application version deployment.

", - "refs": { - "SingleInstanceHealth$Deployment": "

Information about the most recent deployment to an instance.

" + "DeletePlatformVersionResult":{ + "base":null, + "refs":{ } }, - "DeploymentTimestamp": { - "base": null, - "refs": { - "Deployment$DeploymentTime": "

For in-progress deployments, the time that the deployment started.

For completed deployments, the time that the deployment ended.

" + "DeleteSourceBundle":{ + "base":null, + "refs":{ + "DeleteApplicationVersionMessage$DeleteSourceBundle":"

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.

" } }, - "DescribeApplicationVersionsMessage": { - "base": "

Request to describe application versions.

", - "refs": { + "Deployment":{ + "base":"

Information about an application version deployment.

", + "refs":{ + "SingleInstanceHealth$Deployment":"

Information about the most recent deployment to an instance.

" } }, - "DescribeApplicationsMessage": { - "base": "

Request to describe one or more applications.

", - "refs": { + "DeploymentTimestamp":{ + "base":null, + "refs":{ + "Deployment$DeploymentTime":"

For in-progress deployments, the time that the deployment started.

For completed deployments, the time that the deployment ended.

" } }, - "DescribeConfigurationOptionsMessage": { - "base": "

Result message containing a list of application version descriptions.

", - "refs": { + "DescribeAccountAttributesResult":{ + "base":null, + "refs":{ } }, - "DescribeConfigurationSettingsMessage": { - "base": "

Result message containing all of the configuration settings for a specified solution stack or configuration template.

", - "refs": { + "DescribeApplicationVersionsMessage":{ + "base":"

Request to describe application versions.

", + "refs":{ } }, - "DescribeEnvironmentHealthRequest": { - "base": "

See the example below to learn how to create a request body.

", - "refs": { + "DescribeApplicationsMessage":{ + "base":"

Request to describe one or more applications.

", + "refs":{ } }, - "DescribeEnvironmentHealthResult": { - "base": "

Health details for an AWS Elastic Beanstalk environment.

", - "refs": { + "DescribeConfigurationOptionsMessage":{ + "base":"

Result message containing a list of application version descriptions.

", + "refs":{ } }, - "DescribeEnvironmentManagedActionHistoryRequest": { - "base": "

Request to list completed and failed managed actions.

", - "refs": { + "DescribeConfigurationSettingsMessage":{ + "base":"

Result message containing all of the configuration settings for a specified solution stack or configuration template.

", + "refs":{ } }, - "DescribeEnvironmentManagedActionHistoryResult": { - "base": "

A result message containing a list of completed and failed managed actions.

", - "refs": { + "DescribeEnvironmentHealthRequest":{ + "base":"

See the example below to learn how to create a request body.

", + "refs":{ } }, - "DescribeEnvironmentManagedActionsRequest": { - "base": "

Request to list an environment's upcoming and in-progress managed actions.

", - "refs": { + "DescribeEnvironmentHealthResult":{ + "base":"

Health details for an AWS Elastic Beanstalk environment.

", + "refs":{ } }, - "DescribeEnvironmentManagedActionsResult": { - "base": "

The result message containing a list of managed actions.

", - "refs": { + "DescribeEnvironmentManagedActionHistoryRequest":{ + "base":"

Request to list completed and failed managed actions.

", + "refs":{ } }, - "DescribeEnvironmentResourcesMessage": { - "base": "

Request to describe the resources in an environment.

", - "refs": { + "DescribeEnvironmentManagedActionHistoryResult":{ + "base":"

A result message containing a list of completed and failed managed actions.

", + "refs":{ } }, - "DescribeEnvironmentsMessage": { - "base": "

Request to describe one or more environments.

", - "refs": { + "DescribeEnvironmentManagedActionsRequest":{ + "base":"

Request to list an environment's upcoming and in-progress managed actions.

", + "refs":{ } }, - "DescribeEventsMessage": { - "base": "

Request to retrieve a list of events for an environment.

", - "refs": { + "DescribeEnvironmentManagedActionsResult":{ + "base":"

The result message containing a list of managed actions.

", + "refs":{ } }, - "DescribeInstancesHealthRequest": { - "base": "

Parameters for a call to DescribeInstancesHealth.

", - "refs": { + "DescribeEnvironmentResourcesMessage":{ + "base":"

Request to describe the resources in an environment.

", + "refs":{ } }, - "DescribeInstancesHealthResult": { - "base": "

Detailed health information about the Amazon EC2 instances in an AWS Elastic Beanstalk environment.

", - "refs": { + "DescribeEnvironmentsMessage":{ + "base":"

Request to describe one or more environments.

", + "refs":{ } }, - "DescribePlatformVersionRequest": { - "base": null, - "refs": { + "DescribeEventsMessage":{ + "base":"

Request to retrieve a list of events for an environment.

", + "refs":{ } }, - "DescribePlatformVersionResult": { - "base": null, - "refs": { + "DescribeInstancesHealthRequest":{ + "base":"

Parameters for a call to DescribeInstancesHealth.

", + "refs":{ } }, - "Description": { - "base": null, - "refs": { - "ApplicationDescription$Description": "

User-defined description of the application.

", - "ApplicationVersionDescription$Description": "

The description of the application version.

", - "ConfigurationSettingsDescription$Description": "

Describes this configuration set.

", - "CreateApplicationMessage$Description": "

Describes the application.

", - "CreateApplicationVersionMessage$Description": "

Describes this version.

", - "CreateConfigurationTemplateMessage$Description": "

Describes this configuration.

", - "CreateEnvironmentMessage$Description": "

Describes this environment.

", - "EnvironmentDescription$Description": "

Describes this environment.

", - "PlatformDescription$Description": "

The description of the platform.

", - "UpdateApplicationMessage$Description": "

A new description for the application.

Default: If not specified, AWS Elastic Beanstalk does not update the description.

", - "UpdateApplicationVersionMessage$Description": "

A new description for this version.

", - "UpdateConfigurationTemplateMessage$Description": "

A new description for the configuration.

", - "UpdateEnvironmentMessage$Description": "

If this parameter is specified, AWS Elastic Beanstalk updates the description of this environment.

" + "DescribeInstancesHealthResult":{ + "base":"

Detailed health information about the Amazon EC2 instances in an AWS Elastic Beanstalk environment.

", + "refs":{ } }, - "Ec2InstanceId": { - "base": null, - "refs": { - "EnvironmentInfoDescription$Ec2InstanceId": "

The Amazon EC2 Instance ID for this information.

" + "DescribePlatformVersionRequest":{ + "base":null, + "refs":{ } }, - "ElasticBeanstalkServiceException": { - "base": "

A generic service exception has occurred.

", - "refs": { + "DescribePlatformVersionResult":{ + "base":null, + "refs":{ } }, - "EndpointURL": { - "base": null, - "refs": { - "EnvironmentDescription$EndpointURL": "

For load-balanced, autoscaling environments, the URL to the LoadBalancer. For single-instance environments, the IP address of the instance.

" + "Description":{ + "base":null, + "refs":{ + "ApplicationDescription$Description":"

User-defined description of the application.

", + "ApplicationVersionDescription$Description":"

The description of the application version.

", + "ConfigurationSettingsDescription$Description":"

Describes this configuration set.

", + "CreateApplicationMessage$Description":"

Describes the application.

", + "CreateApplicationVersionMessage$Description":"

Describes this version.

", + "CreateConfigurationTemplateMessage$Description":"

Describes this configuration.

", + "CreateEnvironmentMessage$Description":"

Describes this environment.

", + "EnvironmentDescription$Description":"

Describes this environment.

", + "PlatformDescription$Description":"

The description of the platform.

", + "UpdateApplicationMessage$Description":"

A new description for the application.

Default: If not specified, AWS Elastic Beanstalk does not update the description.

", + "UpdateApplicationVersionMessage$Description":"

A new description for this version.

", + "UpdateConfigurationTemplateMessage$Description":"

A new description for the configuration.

", + "UpdateEnvironmentMessage$Description":"

If this parameter is specified, AWS Elastic Beanstalk updates the description of this environment.

" } }, - "EnvironmentArn": { - "base": null, - "refs": { - "EnvironmentDescription$EnvironmentArn": "

The environment's Amazon Resource Name (ARN), which can be used in other API reuqests that require an ARN.

" + "Ec2InstanceId":{ + "base":null, + "refs":{ + "EnvironmentInfoDescription$Ec2InstanceId":"

The Amazon EC2 Instance ID for this information.

" } }, - "EnvironmentDescription": { - "base": "

Describes the properties of an environment.

", - "refs": { - "EnvironmentDescriptionsList$member": null + "ElasticBeanstalkServiceException":{ + "base":"

A generic service exception has occurred.

", + "refs":{ } }, - "EnvironmentDescriptionsList": { - "base": null, - "refs": { - "EnvironmentDescriptionsMessage$Environments": "

Returns an EnvironmentDescription list.

" + "EndpointURL":{ + "base":null, + "refs":{ + "EnvironmentDescription$EndpointURL":"

For load-balanced, autoscaling environments, the URL to the LoadBalancer. For single-instance environments, the IP address of the instance.

" } }, - "EnvironmentDescriptionsMessage": { - "base": "

Result message containing a list of environment descriptions.

", - "refs": { + "EnvironmentArn":{ + "base":null, + "refs":{ + "EnvironmentDescription$EnvironmentArn":"

The environment's Amazon Resource Name (ARN), which can be used in other API requests that require an ARN.

" } }, - "EnvironmentHealth": { - "base": null, - "refs": { - "DescribeEnvironmentHealthResult$Status": "

The environment's operational status. Ready, Launching, Updating, Terminating, or Terminated.

", - "EnvironmentDescription$Health": "

Describes the health status of the environment. AWS Elastic Beanstalk indicates the failure levels for a running environment:

Default: Grey

" + "EnvironmentDescription":{ + "base":"

Describes the properties of an environment.

", + "refs":{ + "EnvironmentDescriptionsList$member":null } }, - "EnvironmentHealthAttribute": { - "base": null, - "refs": { - "EnvironmentHealthAttributes$member": null + "EnvironmentDescriptionsList":{ + "base":null, + "refs":{ + "EnvironmentDescriptionsMessage$Environments":"

Returns an EnvironmentDescription list.

" } }, - "EnvironmentHealthAttributes": { - "base": null, - "refs": { - "DescribeEnvironmentHealthRequest$AttributeNames": "

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.

" + "EnvironmentDescriptionsMessage":{ + "base":"

Result message containing a list of environment descriptions.

", + "refs":{ } }, - "EnvironmentHealthStatus": { - "base": null, - "refs": { - "EnvironmentDescription$HealthStatus": "

Returns the health status of the application running in your environment. For more information, see Health Colors and Statuses.

" + "EnvironmentHealth":{ + "base":null, + "refs":{ + "DescribeEnvironmentHealthResult$Status":"

The environment's operational status. Ready, Launching, Updating, Terminating, or Terminated.

", + "EnvironmentDescription$Health":"

Describes the health status of the environment. AWS Elastic Beanstalk indicates the failure levels for a running environment:

Default: Grey

" } }, - "EnvironmentId": { - "base": null, - "refs": { - "AbortEnvironmentUpdateMessage$EnvironmentId": "

This specifies the ID of the environment with the in-progress update that you want to cancel.

", - "CreateConfigurationTemplateMessage$EnvironmentId": "

The ID of the environment used with this configuration template.

", - "DescribeEnvironmentHealthRequest$EnvironmentId": "

Specify the environment by ID.

You must specify either this or an EnvironmentName, or both.

", - "DescribeEnvironmentManagedActionHistoryRequest$EnvironmentId": "

The environment ID of the target environment.

", - "DescribeEnvironmentResourcesMessage$EnvironmentId": "

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.

", - "DescribeEventsMessage$EnvironmentId": "

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this environment.

", - "DescribeInstancesHealthRequest$EnvironmentId": "

Specify the AWS Elastic Beanstalk environment by ID.

", - "EnvironmentDescription$EnvironmentId": "

The ID of this environment.

", - "EnvironmentIdList$member": null, - "RebuildEnvironmentMessage$EnvironmentId": "

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.

", - "RequestEnvironmentInfoMessage$EnvironmentId": "

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.

", - "RestartAppServerMessage$EnvironmentId": "

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.

", - "RetrieveEnvironmentInfoMessage$EnvironmentId": "

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.

", - "SwapEnvironmentCNAMEsMessage$SourceEnvironmentId": "

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.

", - "SwapEnvironmentCNAMEsMessage$DestinationEnvironmentId": "

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.

", - "TerminateEnvironmentMessage$EnvironmentId": "

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.

", - "UpdateEnvironmentMessage$EnvironmentId": "

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.

" + "EnvironmentHealthAttribute":{ + "base":null, + "refs":{ + "EnvironmentHealthAttributes$member":null } }, - "EnvironmentIdList": { - "base": null, - "refs": { - "DescribeEnvironmentsMessage$EnvironmentIds": "

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that have the specified IDs.

" + "EnvironmentHealthAttributes":{ + "base":null, + "refs":{ + "DescribeEnvironmentHealthRequest$AttributeNames":"

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.

" } }, - "EnvironmentInfoDescription": { - "base": "

The information retrieved from the Amazon EC2 instances.

", - "refs": { - "EnvironmentInfoDescriptionList$member": null + "EnvironmentHealthStatus":{ + "base":null, + "refs":{ + "EnvironmentDescription$HealthStatus":"

Returns the health status of the application running in your environment. For more information, see Health Colors and Statuses.

" } }, - "EnvironmentInfoDescriptionList": { - "base": null, - "refs": { - "RetrieveEnvironmentInfoResultMessage$EnvironmentInfo": "

The EnvironmentInfoDescription of the environment.

" + "EnvironmentId":{ + "base":null, + "refs":{ + "AbortEnvironmentUpdateMessage$EnvironmentId":"

This specifies the ID of the environment with the in-progress update that you want to cancel.

", + "CreateConfigurationTemplateMessage$EnvironmentId":"

The ID of the environment used with this configuration template.

", + "DescribeEnvironmentHealthRequest$EnvironmentId":"

Specify the environment by ID.

You must specify either this or an EnvironmentName, or both.

", + "DescribeEnvironmentManagedActionHistoryRequest$EnvironmentId":"

The environment ID of the target environment.

", + "DescribeEnvironmentResourcesMessage$EnvironmentId":"

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.

", + "DescribeEventsMessage$EnvironmentId":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this environment.

", + "DescribeInstancesHealthRequest$EnvironmentId":"

Specify the AWS Elastic Beanstalk environment by ID.

", + "EnvironmentDescription$EnvironmentId":"

The ID of this environment.

", + "EnvironmentIdList$member":null, + "RebuildEnvironmentMessage$EnvironmentId":"

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.

", + "RequestEnvironmentInfoMessage$EnvironmentId":"

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.

", + "RestartAppServerMessage$EnvironmentId":"

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.

", + "RetrieveEnvironmentInfoMessage$EnvironmentId":"

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.

", + "SwapEnvironmentCNAMEsMessage$SourceEnvironmentId":"

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.

", + "SwapEnvironmentCNAMEsMessage$DestinationEnvironmentId":"

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.

", + "TerminateEnvironmentMessage$EnvironmentId":"

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.

", + "UpdateEnvironmentMessage$EnvironmentId":"

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.

" } }, - "EnvironmentInfoType": { - "base": null, - "refs": { - "EnvironmentInfoDescription$InfoType": "

The type of information retrieved.

", - "RequestEnvironmentInfoMessage$InfoType": "

The type of information to request.

", - "RetrieveEnvironmentInfoMessage$InfoType": "

The type of information to retrieve.

" + "EnvironmentIdList":{ + "base":null, + "refs":{ + "DescribeEnvironmentsMessage$EnvironmentIds":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that have the specified IDs.

" } }, - "EnvironmentLink": { - "base": "

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.

", - "refs": { - "EnvironmentLinks$member": null + "EnvironmentInfoDescription":{ + "base":"

The information retrieved from the Amazon EC2 instances.

", + "refs":{ + "EnvironmentInfoDescriptionList$member":null } }, - "EnvironmentLinks": { - "base": null, - "refs": { - "EnvironmentDescription$EnvironmentLinks": "

A list of links to other environments in the same group.

" + "EnvironmentInfoDescriptionList":{ + "base":null, + "refs":{ + "RetrieveEnvironmentInfoResultMessage$EnvironmentInfo":"

The EnvironmentInfoDescription of the environment.

" } }, - "EnvironmentName": { - "base": null, - "refs": { - "AbortEnvironmentUpdateMessage$EnvironmentName": "

This specifies the name of the environment with the in-progress update that you want to cancel.

", - "ConfigurationSettingsDescription$EnvironmentName": "

If not null, the name of the environment for this configuration set.

", - "CreateEnvironmentMessage$EnvironmentName": "

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.

", - "CreatePlatformVersionRequest$EnvironmentName": "

The name of the builder environment.

", - "DeleteEnvironmentConfigurationMessage$EnvironmentName": "

The name of the environment to delete the draft configuration from.

", - "DescribeConfigurationOptionsMessage$EnvironmentName": "

The name of the environment whose configuration options you want to describe.

", - "DescribeConfigurationSettingsMessage$EnvironmentName": "

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.

", - "DescribeEnvironmentHealthRequest$EnvironmentName": "

Specify the environment by name.

You must specify either this or an EnvironmentName, or both.

", - "DescribeEnvironmentHealthResult$EnvironmentName": "

The environment's name.

", - "DescribeEnvironmentManagedActionHistoryRequest$EnvironmentName": "

The name of the target environment.

", - "DescribeEnvironmentResourcesMessage$EnvironmentName": "

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.

", - "DescribeEventsMessage$EnvironmentName": "

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this environment.

", - "DescribeInstancesHealthRequest$EnvironmentName": "

Specify the AWS Elastic Beanstalk environment by name.

", - "EnvironmentDescription$EnvironmentName": "

The name of this environment.

", - "EnvironmentNamesList$member": null, - "EnvironmentResourceDescription$EnvironmentName": "

The name of the environment.

", - "EventDescription$EnvironmentName": "

The name of the environment associated with this event.

", - "RebuildEnvironmentMessage$EnvironmentName": "

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.

", - "RequestEnvironmentInfoMessage$EnvironmentName": "

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.

", - "RestartAppServerMessage$EnvironmentName": "

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.

", - "RetrieveEnvironmentInfoMessage$EnvironmentName": "

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.

", - "SwapEnvironmentCNAMEsMessage$SourceEnvironmentName": "

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.

", - "SwapEnvironmentCNAMEsMessage$DestinationEnvironmentName": "

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.

", - "TerminateEnvironmentMessage$EnvironmentName": "

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.

", - "UpdateEnvironmentMessage$EnvironmentName": "

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.

", - "ValidateConfigurationSettingsMessage$EnvironmentName": "

The name of the environment to validate the settings against.

Condition: You cannot specify both this and a configuration template name.

" + "EnvironmentInfoType":{ + "base":null, + "refs":{ + "EnvironmentInfoDescription$InfoType":"

The type of information retrieved.

", + "RequestEnvironmentInfoMessage$InfoType":"

The type of information to request.

", + "RetrieveEnvironmentInfoMessage$InfoType":"

The type of information to retrieve.

" } }, - "EnvironmentNamesList": { - "base": null, - "refs": { - "DescribeEnvironmentsMessage$EnvironmentNames": "

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that have the specified names.

" + "EnvironmentLink":{ + "base":"

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.

", + "refs":{ + "EnvironmentLinks$member":null } }, - "EnvironmentResourceDescription": { - "base": "

Describes the AWS resources in use by this environment. This data is live.

", - "refs": { - "EnvironmentResourceDescriptionsMessage$EnvironmentResources": "

A list of EnvironmentResourceDescription.

" + "EnvironmentLinks":{ + "base":null, + "refs":{ + "EnvironmentDescription$EnvironmentLinks":"

A list of links to other environments in the same group.

" } }, - "EnvironmentResourceDescriptionsMessage": { - "base": "

Result message containing a list of environment resource descriptions.

", - "refs": { + "EnvironmentName":{ + "base":null, + "refs":{ + "AbortEnvironmentUpdateMessage$EnvironmentName":"

This specifies the name of the environment with the in-progress update that you want to cancel.

", + "ConfigurationSettingsDescription$EnvironmentName":"

If not null, the name of the environment for this configuration set.

", + "CreateEnvironmentMessage$EnvironmentName":"

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.

", + "CreatePlatformVersionRequest$EnvironmentName":"

The name of the builder environment.

", + "DeleteEnvironmentConfigurationMessage$EnvironmentName":"

The name of the environment to delete the draft configuration from.

", + "DescribeConfigurationOptionsMessage$EnvironmentName":"

The name of the environment whose configuration options you want to describe.

", + "DescribeConfigurationSettingsMessage$EnvironmentName":"

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.

", + "DescribeEnvironmentHealthRequest$EnvironmentName":"

Specify the environment by name.

You must specify either this or an EnvironmentName, or both.

", + "DescribeEnvironmentHealthResult$EnvironmentName":"

The environment's name.

", + "DescribeEnvironmentManagedActionHistoryRequest$EnvironmentName":"

The name of the target environment.

", + "DescribeEnvironmentResourcesMessage$EnvironmentName":"

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.

", + "DescribeEventsMessage$EnvironmentName":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this environment.

", + "DescribeInstancesHealthRequest$EnvironmentName":"

Specify the AWS Elastic Beanstalk environment by name.

", + "EnvironmentDescription$EnvironmentName":"

The name of this environment.

", + "EnvironmentNamesList$member":null, + "EnvironmentResourceDescription$EnvironmentName":"

The name of the environment.

", + "EventDescription$EnvironmentName":"

The name of the environment associated with this event.

", + "RebuildEnvironmentMessage$EnvironmentName":"

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.

", + "RequestEnvironmentInfoMessage$EnvironmentName":"

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.

", + "RestartAppServerMessage$EnvironmentName":"

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.

", + "RetrieveEnvironmentInfoMessage$EnvironmentName":"

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.

", + "SwapEnvironmentCNAMEsMessage$SourceEnvironmentName":"

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.

", + "SwapEnvironmentCNAMEsMessage$DestinationEnvironmentName":"

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.

", + "TerminateEnvironmentMessage$EnvironmentName":"

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.

", + "UpdateEnvironmentMessage$EnvironmentName":"

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.

", + "ValidateConfigurationSettingsMessage$EnvironmentName":"

The name of the environment to validate the settings against.

Condition: You cannot specify both this and a configuration template name.

" } }, - "EnvironmentResourcesDescription": { - "base": "

Describes the AWS resources in use by this environment. This data is not live data.

", - "refs": { - "EnvironmentDescription$Resources": "

The description of the AWS resources used by this environment.

" + "EnvironmentNamesList":{ + "base":null, + "refs":{ + "DescribeEnvironmentsMessage$EnvironmentNames":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that have the specified names.

" } }, - "EnvironmentStatus": { - "base": null, - "refs": { - "EnvironmentDescription$Status": "

The current operational status of the environment:

" + "EnvironmentResourceDescription":{ + "base":"

Describes the AWS resources in use by this environment. This data is live.

", + "refs":{ + "EnvironmentResourceDescriptionsMessage$EnvironmentResources":"

A list of EnvironmentResourceDescription.

" } }, - "EnvironmentTier": { - "base": "

Describes the properties of an environment tier

", - "refs": { - "CreateEnvironmentMessage$Tier": "

This specifies the tier to use for creating this environment.

", - "EnvironmentDescription$Tier": "

Describes the current tier of this environment.

", - "UpdateEnvironmentMessage$Tier": "

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.

" + "EnvironmentResourceDescriptionsMessage":{ + "base":"

Result message containing a list of environment resource descriptions.

", + "refs":{ } }, - "EventDate": { - "base": null, - "refs": { - "EventDescription$EventDate": "

The date when the event occurred.

" + "EnvironmentResourcesDescription":{ + "base":"

Describes the AWS resources in use by this environment. This data is not live data.

", + "refs":{ + "EnvironmentDescription$Resources":"

The description of the AWS resources used by this environment.

" } }, - "EventDescription": { - "base": "

Describes an event.

", - "refs": { - "EventDescriptionList$member": null + "EnvironmentStatus":{ + "base":null, + "refs":{ + "EnvironmentDescription$Status":"

The current operational status of the environment:

" } }, - "EventDescriptionList": { - "base": null, - "refs": { - "EventDescriptionsMessage$Events": "

A list of EventDescription.

" + "EnvironmentTier":{ + "base":"

Describes the properties of an environment tier

", + "refs":{ + "CreateEnvironmentMessage$Tier":"

This specifies the tier to use for creating this environment.

", + "EnvironmentDescription$Tier":"

Describes the current tier of this environment.

", + "UpdateEnvironmentMessage$Tier":"

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.

" } }, - "EventDescriptionsMessage": { - "base": "

Result message wrapping a list of event descriptions.

", - "refs": { + "EventDate":{ + "base":null, + "refs":{ + "EventDescription$EventDate":"

The date when the event occurred.

" } }, - "EventMessage": { - "base": null, - "refs": { - "EventDescription$Message": "

The event message.

" + "EventDescription":{ + "base":"

Describes an event.

", + "refs":{ + "EventDescriptionList$member":null } }, - "EventSeverity": { - "base": null, - "refs": { - "DescribeEventsMessage$Severity": "

If specified, limits the events returned from this call to include only those with the specified severity or higher.

", - "EventDescription$Severity": "

The severity level of this event.

" + "EventDescriptionList":{ + "base":null, + "refs":{ + "EventDescriptionsMessage$Events":"

A list of EventDescription.

" } }, - "ExceptionMessage": { - "base": null, - "refs": { - "ElasticBeanstalkServiceException$message": "

The exception error message.

" + "EventDescriptionsMessage":{ + "base":"

Result message wrapping a list of event descriptions.

", + "refs":{ } }, - "FailureType": { - "base": null, - "refs": { - "ManagedActionHistoryItem$FailureType": "

If the action failed, the type of failure.

" + "EventMessage":{ + "base":null, + "refs":{ + "EventDescription$Message":"

The event message.

" } }, - "FileTypeExtension": { - "base": null, - "refs": { - "SolutionStackFileTypeList$member": null + "EventSeverity":{ + "base":null, + "refs":{ + "DescribeEventsMessage$Severity":"

If specified, limits the events returned from this call to include only those with the specified severity or higher.

", + "EventDescription$Severity":"

The severity level of this event.

" } }, - "ForceTerminate": { - "base": null, - "refs": { - "TerminateEnvironmentMessage$ForceTerminate": "

Terminates the target environment even if another environment in the same group is dependent on it.

" + "ExceptionMessage":{ + "base":null, + "refs":{ + "ElasticBeanstalkServiceException$message":"

The exception error message.

" } }, - "GroupName": { - "base": null, - "refs": { - "ComposeEnvironmentsMessage$GroupName": "

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.

", - "CreateEnvironmentMessage$GroupName": "

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.

", - "UpdateEnvironmentMessage$GroupName": "

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.

" + "FailureType":{ + "base":null, + "refs":{ + "ManagedActionHistoryItem$FailureType":"

If the action failed, the type of failure.

" } }, - "ImageId": { - "base": null, - "refs": { - "CustomAmi$ImageId": "

THe ID of the image used to create the custom AMI.

" + "FileTypeExtension":{ + "base":null, + "refs":{ + "SolutionStackFileTypeList$member":null } }, - "IncludeDeleted": { - "base": null, - "refs": { - "DescribeEnvironmentsMessage$IncludeDeleted": "

Indicates whether to include deleted environments:

true: Environments that have been deleted after IncludedDeletedBackTo are displayed.

false: Do not include deleted environments.

" + "ForceTerminate":{ + "base":null, + "refs":{ + "TerminateEnvironmentMessage$ForceTerminate":"

Terminates the target environment even if another environment in the same group is dependent on it.

" } }, - "IncludeDeletedBackTo": { - "base": null, - "refs": { - "DescribeEnvironmentsMessage$IncludedDeletedBackTo": "

If specified when IncludeDeleted is set to true, then environments deleted after this date are displayed.

" + "GroupName":{ + "base":null, + "refs":{ + "ComposeEnvironmentsMessage$GroupName":"

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.

", + "CreateEnvironmentMessage$GroupName":"

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.

", + "UpdateEnvironmentMessage$GroupName":"

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.

" } }, - "Instance": { - "base": "

The description of an Amazon EC2 instance.

", - "refs": { - "InstanceList$member": null + "ImageId":{ + "base":null, + "refs":{ + "CustomAmi$ImageId":"

THe ID of the image used to create the custom AMI.

" } }, - "InstanceHealthList": { - "base": null, - "refs": { - "DescribeInstancesHealthResult$InstanceHealthList": "

Detailed health information about each instance.

" + "IncludeDeleted":{ + "base":null, + "refs":{ + "DescribeEnvironmentsMessage$IncludeDeleted":"

Indicates whether to include deleted environments:

true: Environments that have been deleted after IncludedDeletedBackTo are displayed.

false: Do not include deleted environments.

" } }, - "InstanceHealthSummary": { - "base": "

Represents summary information about the health of an instance. For more information, see Health Colors and Statuses.

", - "refs": { - "DescribeEnvironmentHealthResult$InstancesHealth": "

Summary health information for the instances in the environment.

" + "IncludeDeletedBackTo":{ + "base":null, + "refs":{ + "DescribeEnvironmentsMessage$IncludedDeletedBackTo":"

If specified when IncludeDeleted is set to true, then environments deleted after this date are displayed.

" } }, - "InstanceId": { - "base": null, - "refs": { - "SingleInstanceHealth$InstanceId": "

The ID of the Amazon EC2 instance.

" + "Instance":{ + "base":"

The description of an Amazon EC2 instance.

", + "refs":{ + "InstanceList$member":null } }, - "InstanceList": { - "base": null, - "refs": { - "EnvironmentResourceDescription$Instances": "

The Amazon EC2 instances used by this environment.

" + "InstanceHealthList":{ + "base":null, + "refs":{ + "DescribeInstancesHealthResult$InstanceHealthList":"

Detailed health information about each instance.

" } }, - "InstancesHealthAttribute": { - "base": null, - "refs": { - "InstancesHealthAttributes$member": null + "InstanceHealthSummary":{ + "base":"

Represents summary information about the health of an instance. For more information, see Health Colors and Statuses.

", + "refs":{ + "DescribeEnvironmentHealthResult$InstancesHealth":"

Summary health information for the instances in the environment.

" } }, - "InstancesHealthAttributes": { - "base": null, - "refs": { - "DescribeInstancesHealthRequest$AttributeNames": "

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.

" + "InstanceId":{ + "base":null, + "refs":{ + "SingleInstanceHealth$InstanceId":"

The ID of the Amazon EC2 instance.

" } }, - "InsufficientPrivilegesException": { - "base": "

The specified account does not have sufficient privileges for one of more AWS services.

", - "refs": { + "InstanceList":{ + "base":null, + "refs":{ + "EnvironmentResourceDescription$Instances":"

The Amazon EC2 instances used by this environment.

" } }, - "Integer": { - "base": null, - "refs": { - "DescribeEnvironmentManagedActionHistoryRequest$MaxItems": "

The maximum number of items to return for a single request.

", - "Listener$Port": "

The port that is used by the Listener.

" + "InstancesHealthAttribute":{ + "base":null, + "refs":{ + "InstancesHealthAttributes$member":null } }, - "InvalidRequestException": { - "base": "

One or more input parameters is not valid. Please correct the input parameters and try the operation again.

", - "refs": { + "InstancesHealthAttributes":{ + "base":null, + "refs":{ + "DescribeInstancesHealthRequest$AttributeNames":"

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.

" } }, - "Latency": { - "base": "

Represents the average latency for the slowest X percent of requests over the last 10 seconds.

", - "refs": { - "ApplicationMetrics$Latency": "

Represents the average latency for the slowest X percent of requests over the last 10 seconds. Latencies are in seconds with one millisecond resolution.

" + "InsufficientPrivilegesException":{ + "base":"

The specified account does not have sufficient privileges for one or more AWS services.

", + "refs":{ } }, - "LaunchConfiguration": { - "base": "

Describes an Auto Scaling launch configuration.

", - "refs": { - "LaunchConfigurationList$member": null + "Integer":{ + "base":null, + "refs":{ + "DescribeEnvironmentManagedActionHistoryRequest$MaxItems":"

The maximum number of items to return for a single request.

", + "Listener$Port":"

The port that is used by the Listener.

" } }, - "LaunchConfigurationList": { - "base": null, - "refs": { - "EnvironmentResourceDescription$LaunchConfigurations": "

The Auto Scaling launch configurations in use by this environment.

" + "InvalidRequestException":{ + "base":"

One or more input parameters is not valid. Please correct the input parameters and try the operation again.

", + "refs":{ } }, - "LaunchedAt": { - "base": null, - "refs": { - "SingleInstanceHealth$LaunchedAt": "

The time at which the EC2 instance was launched.

" + "Latency":{ + "base":"

Represents the average latency for the slowest X percent of requests over the last 10 seconds.

", + "refs":{ + "ApplicationMetrics$Latency":"

Represents the average latency for the slowest X percent of requests over the last 10 seconds. Latencies are in seconds with one millisecond resolution.

" } }, - "ListAvailableSolutionStacksResultMessage": { - "base": "

A list of available AWS Elastic Beanstalk solution stacks.

", - "refs": { + "LaunchConfiguration":{ + "base":"

Describes an Auto Scaling launch configuration.

", + "refs":{ + "LaunchConfigurationList$member":null } }, - "ListPlatformVersionsRequest": { - "base": null, - "refs": { + "LaunchConfigurationList":{ + "base":null, + "refs":{ + "EnvironmentResourceDescription$LaunchConfigurations":"

The Auto Scaling launch configurations in use by this environment.

" } }, - "ListPlatformVersionsResult": { - "base": null, - "refs": { + "LaunchedAt":{ + "base":null, + "refs":{ + "SingleInstanceHealth$LaunchedAt":"

The time at which the EC2 instance was launched.

" } }, - "ListTagsForResourceMessage": { - "base": null, - "refs": { + "ListAvailableSolutionStacksResultMessage":{ + "base":"

A list of available AWS Elastic Beanstalk solution stacks.

", + "refs":{ } }, - "Listener": { - "base": "

Describes the properties of a Listener for the LoadBalancer.

", - "refs": { - "LoadBalancerListenersDescription$member": null + "ListPlatformVersionsRequest":{ + "base":null, + "refs":{ } }, - "LoadAverage": { - "base": null, - "refs": { - "SystemStatus$LoadAverage": "

Load average in the last 1-minute, 5-minute, and 15-minute periods. For more information, see Operating System Metrics.

" + "ListPlatformVersionsResult":{ + "base":null, + "refs":{ } }, - "LoadAverageValue": { - "base": null, - "refs": { - "LoadAverage$member": null + "ListTagsForResourceMessage":{ + "base":null, + "refs":{ } }, - "LoadBalancer": { - "base": "

Describes a LoadBalancer.

", - "refs": { - "LoadBalancerList$member": null + "Listener":{ + "base":"

Describes the properties of a Listener for the LoadBalancer.

", + "refs":{ + "LoadBalancerListenersDescription$member":null } }, - "LoadBalancerDescription": { - "base": "

Describes the details of a LoadBalancer.

", - "refs": { - "EnvironmentResourcesDescription$LoadBalancer": "

Describes the LoadBalancer.

" + "LoadAverage":{ + "base":null, + "refs":{ + "SystemStatus$LoadAverage":"

Load average in the last 1-minute, 5-minute, and 15-minute periods. For more information, see Operating System Metrics.

" } }, - "LoadBalancerList": { - "base": null, - "refs": { - "EnvironmentResourceDescription$LoadBalancers": "

The LoadBalancers in use by this environment.

" + "LoadAverageValue":{ + "base":null, + "refs":{ + "LoadAverage$member":null } }, - "LoadBalancerListenersDescription": { - "base": null, - "refs": { - "LoadBalancerDescription$Listeners": "

A list of Listeners used by the LoadBalancer.

" + "LoadBalancer":{ + "base":"

Describes a LoadBalancer.

", + "refs":{ + "LoadBalancerList$member":null } }, - "Maintainer": { - "base": null, - "refs": { - "PlatformDescription$Maintainer": "

Information about the maintainer of the platform.

" + "LoadBalancerDescription":{ + "base":"

Describes the details of a LoadBalancer.

", + "refs":{ + "EnvironmentResourcesDescription$LoadBalancer":"

Describes the LoadBalancer.

" } }, - "ManagedAction": { - "base": "

The record of an upcoming or in-progress managed action.

", - "refs": { - "ManagedActions$member": null + "LoadBalancerList":{ + "base":null, + "refs":{ + "EnvironmentResourceDescription$LoadBalancers":"

The LoadBalancers in use by this environment.

" } }, - "ManagedActionHistoryItem": { - "base": "

The record of a completed or failed managed action.

", - "refs": { - "ManagedActionHistoryItems$member": null + "LoadBalancerListenersDescription":{ + "base":null, + "refs":{ + "LoadBalancerDescription$Listeners":"

A list of Listeners used by the LoadBalancer.

" } }, - "ManagedActionHistoryItems": { - "base": null, - "refs": { - "DescribeEnvironmentManagedActionHistoryResult$ManagedActionHistoryItems": "

A list of completed and failed managed actions.

" + "Maintainer":{ + "base":null, + "refs":{ + "PlatformDescription$Maintainer":"

Information about the maintainer of the platform.

" } }, - "ManagedActionInvalidStateException": { - "base": "

Cannot modify the managed action in its current state.

", - "refs": { + "ManagedAction":{ + "base":"

The record of an upcoming or in-progress managed action.

", + "refs":{ + "ManagedActions$member":null } }, - "ManagedActions": { - "base": null, - "refs": { - "DescribeEnvironmentManagedActionsResult$ManagedActions": "

A list of upcoming and in-progress managed actions.

" + "ManagedActionHistoryItem":{ + "base":"

The record of a completed or failed managed action.

", + "refs":{ + "ManagedActionHistoryItems$member":null } }, - "MaxAgeRule": { - "base": "

A lifecycle rule that deletes application versions after the specified number of days.

", - "refs": { - "ApplicationVersionLifecycleConfig$MaxAgeRule": "

Specify a max age rule to restrict the length of time that application versions are retained for an application.

" + "ManagedActionHistoryItems":{ + "base":null, + "refs":{ + "DescribeEnvironmentManagedActionHistoryResult$ManagedActionHistoryItems":"

A list of completed and failed managed actions.

" } }, - "MaxCountRule": { - "base": "

A lifecycle rule that deletes the oldest application version when the maximum count is exceeded.

", - "refs": { - "ApplicationVersionLifecycleConfig$MaxCountRule": "

Specify a max count rule to restrict the number of application versions that are retained for an application.

" + "ManagedActionInvalidStateException":{ + "base":"

Cannot modify the managed action in its current state.

", + "refs":{ } }, - "MaxRecords": { - "base": null, - "refs": { - "DescribeApplicationVersionsMessage$MaxRecords": "

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.

", - "DescribeEnvironmentsMessage$MaxRecords": "

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.

", - "DescribeEventsMessage$MaxRecords": "

Specifies the maximum number of events that can be returned, beginning with the most recent event.

" + "ManagedActions":{ + "base":null, + "refs":{ + "DescribeEnvironmentManagedActionsResult$ManagedActions":"

A list of upcoming and in-progress managed actions.

" } }, - "Message": { - "base": null, - "refs": { - "EnvironmentInfoDescription$Message": "

The retrieved information.

" + "MaxAgeRule":{ + "base":"

A lifecycle rule that deletes application versions after the specified number of days.

", + "refs":{ + "ApplicationVersionLifecycleConfig$MaxAgeRule":"

Specify a max age rule to restrict the length of time that application versions are retained for an application.

" } }, - "NextToken": { - "base": null, - "refs": { - "DescribeInstancesHealthRequest$NextToken": "

Specify the pagination token returned by a previous call.

", - "DescribeInstancesHealthResult$NextToken": "

Pagination token for the next page of results, if available.

" + "MaxCountRule":{ + "base":"

A lifecycle rule that deletes the oldest application version when the maximum count is exceeded.

", + "refs":{ + "ApplicationVersionLifecycleConfig$MaxCountRule":"

Specify a max count rule to restrict the number of application versions that are retained for an application.

" } }, - "NonEmptyString": { - "base": null, - "refs": { - "BuildConfiguration$CodeBuildServiceRole": "

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.

", - "BuildConfiguration$Image": "

The ID of the Docker image to use for this build project.

" + "MaxRecords":{ + "base":null, + "refs":{ + "DescribeApplicationVersionsMessage$MaxRecords":"

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.

", + "DescribeEnvironmentsMessage$MaxRecords":"

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.

", + "DescribeEventsMessage$MaxRecords":"

Specifies the maximum number of events that can be returned, beginning with the most recent event.

" } }, - "NullableDouble": { - "base": null, - "refs": { - "CPUUtilization$User": "

Percentage of time that the CPU has spent in the User state over the last 10 seconds.

", - "CPUUtilization$Nice": "

Percentage of time that the CPU has spent in the Nice state over the last 10 seconds.

", - "CPUUtilization$System": "

Percentage of time that the CPU has spent in the System state over the last 10 seconds.

", - "CPUUtilization$Idle": "

Percentage of time that the CPU has spent in the Idle state over the last 10 seconds.

", - "CPUUtilization$IOWait": "

Percentage of time that the CPU has spent in the I/O Wait state over the last 10 seconds.

", - "CPUUtilization$IRQ": "

Percentage of time that the CPU has spent in the IRQ state over the last 10 seconds.

", - "CPUUtilization$SoftIRQ": "

Percentage of time that the CPU has spent in the SoftIRQ state over the last 10 seconds.

", - "Latency$P999": "

The average latency for the slowest 0.1 percent of requests over the last 10 seconds.

", - "Latency$P99": "

The average latency for the slowest 1 percent of requests over the last 10 seconds.

", - "Latency$P95": "

The average latency for the slowest 5 percent of requests over the last 10 seconds.

", - "Latency$P90": "

The average latency for the slowest 10 percent of requests over the last 10 seconds.

", - "Latency$P85": "

The average latency for the slowest 15 percent of requests over the last 10 seconds.

", - "Latency$P75": "

The average latency for the slowest 25 percent of requests over the last 10 seconds.

", - "Latency$P50": "

The average latency for the slowest 50 percent of requests over the last 10 seconds.

", - "Latency$P10": "

The average latency for the slowest 90 percent of requests over the last 10 seconds.

" + "Message":{ + "base":null, + "refs":{ + "EnvironmentInfoDescription$Message":"

The retrieved information.

" } }, - "NullableInteger": { - "base": null, - "refs": { - "ApplicationMetrics$Duration": "

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).

", - "InstanceHealthSummary$NoData": "

Grey. AWS Elastic Beanstalk and the health agent are reporting no data on an instance.

", - "InstanceHealthSummary$Unknown": "

Grey. AWS Elastic Beanstalk and the health agent are reporting an insufficient amount of data on an instance.

", - "InstanceHealthSummary$Pending": "

Grey. An operation is in progress on an instance within the command timeout.

", - "InstanceHealthSummary$Ok": "

Green. An instance is passing health checks and the health agent is not reporting any problems.

", - "InstanceHealthSummary$Info": "

Green. An operation is in progress on an instance.

", - "InstanceHealthSummary$Warning": "

Yellow. The health agent is reporting a moderate number of request failures or other issues for an instance or environment.

", - "InstanceHealthSummary$Degraded": "

Red. The health agent is reporting a high number of request failures or other issues for an instance or environment.

", - "InstanceHealthSummary$Severe": "

Red. The health agent is reporting a very high number of request failures or other issues for an instance or environment.

", - "StatusCodes$Status2xx": "

The percentage of requests over the last 10 seconds that resulted in a 2xx (200, 201, etc.) status code.

", - "StatusCodes$Status3xx": "

The percentage of requests over the last 10 seconds that resulted in a 3xx (300, 301, etc.) status code.

", - "StatusCodes$Status4xx": "

The percentage of requests over the last 10 seconds that resulted in a 4xx (400, 401, etc.) status code.

", - "StatusCodes$Status5xx": "

The percentage of requests over the last 10 seconds that resulted in a 5xx (500, 501, etc.) status code.

" + "NextToken":{ + "base":null, + "refs":{ + "DescribeInstancesHealthRequest$NextToken":"

Specify the pagination token returned by a previous call.

", + "DescribeInstancesHealthResult$NextToken":"

Pagination token for the next page of results, if available.

" } }, - "NullableLong": { - "base": null, - "refs": { - "Deployment$DeploymentId": "

The ID of the deployment. This number increases by one each time that you deploy source code or change instance configuration settings.

" + "NonEmptyString":{ + "base":null, + "refs":{ + "BuildConfiguration$CodeBuildServiceRole":"

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.

", + "BuildConfiguration$Image":"

The ID of the Docker image to use for this build project.

" } }, - "OperatingSystemName": { - "base": null, - "refs": { - "PlatformDescription$OperatingSystemName": "

The operating system used by the platform.

", - "PlatformSummary$OperatingSystemName": "

The operating system used by the platform.

" + "NullableDouble":{ + "base":null, + "refs":{ + "CPUUtilization$User":"

Percentage of time that the CPU has spent in the User state over the last 10 seconds.

", + "CPUUtilization$Nice":"

Percentage of time that the CPU has spent in the Nice state over the last 10 seconds.

", + "CPUUtilization$System":"

Percentage of time that the CPU has spent in the System state over the last 10 seconds.

", + "CPUUtilization$Idle":"

Percentage of time that the CPU has spent in the Idle state over the last 10 seconds.

", + "CPUUtilization$IOWait":"

Percentage of time that the CPU has spent in the I/O Wait state over the last 10 seconds.

", + "CPUUtilization$IRQ":"

Percentage of time that the CPU has spent in the IRQ state over the last 10 seconds.

", + "CPUUtilization$SoftIRQ":"

Percentage of time that the CPU has spent in the SoftIRQ state over the last 10 seconds.

", + "Latency$P999":"

The average latency for the slowest 0.1 percent of requests over the last 10 seconds.

", + "Latency$P99":"

The average latency for the slowest 1 percent of requests over the last 10 seconds.

", + "Latency$P95":"

The average latency for the slowest 5 percent of requests over the last 10 seconds.

", + "Latency$P90":"

The average latency for the slowest 10 percent of requests over the last 10 seconds.

", + "Latency$P85":"

The average latency for the slowest 15 percent of requests over the last 10 seconds.

", + "Latency$P75":"

The average latency for the slowest 25 percent of requests over the last 10 seconds.

", + "Latency$P50":"

The average latency for the slowest 50 percent of requests over the last 10 seconds.

", + "Latency$P10":"

The average latency for the slowest 90 percent of requests over the last 10 seconds.

" } }, - "OperatingSystemVersion": { - "base": null, - "refs": { - "PlatformDescription$OperatingSystemVersion": "

The version of the operating system used by the platform.

", - "PlatformSummary$OperatingSystemVersion": "

The version of the operating system used by the platform.

" + "NullableInteger":{ + "base":null, + "refs":{ + "ApplicationMetrics$Duration":"

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).

", + "InstanceHealthSummary$NoData":"

Grey. AWS Elastic Beanstalk and the health agent are reporting no data on an instance.

", + "InstanceHealthSummary$Unknown":"

Grey. AWS Elastic Beanstalk and the health agent are reporting an insufficient amount of data on an instance.

", + "InstanceHealthSummary$Pending":"

Grey. An operation is in progress on an instance within the command timeout.

", + "InstanceHealthSummary$Ok":"

Green. An instance is passing health checks and the health agent is not reporting any problems.

", + "InstanceHealthSummary$Info":"

Green. An operation is in progress on an instance.

", + "InstanceHealthSummary$Warning":"

Yellow. The health agent is reporting a moderate number of request failures or other issues for an instance or environment.

", + "InstanceHealthSummary$Degraded":"

Red. The health agent is reporting a high number of request failures or other issues for an instance or environment.

", + "InstanceHealthSummary$Severe":"

Red. The health agent is reporting a very high number of request failures or other issues for an instance or environment.

", + "StatusCodes$Status2xx":"

The percentage of requests over the last 10 seconds that resulted in a 2xx (200, 201, etc.) status code.

", + "StatusCodes$Status3xx":"

The percentage of requests over the last 10 seconds that resulted in a 3xx (300, 301, etc.) status code.

", + "StatusCodes$Status4xx":"

The percentage of requests over the last 10 seconds that resulted in a 4xx (400, 401, etc.) status code.

", + "StatusCodes$Status5xx":"

The percentage of requests over the last 10 seconds that resulted in a 5xx (500, 501, etc.) status code.

" } }, - "OperationInProgressException": { - "base": "

Unable to perform the specified operation because another operation that effects an element in this activity is already in progress.

", - "refs": { + "NullableLong":{ + "base":null, + "refs":{ + "Deployment$DeploymentId":"

The ID of the deployment. This number increases by one each time that you deploy source code or change instance configuration settings.

" } }, - "OptionNamespace": { - "base": null, - "refs": { - "ConfigurationOptionDescription$Namespace": "

A unique namespace identifying the option's associated AWS resource.

", - "ConfigurationOptionSetting$Namespace": "

A unique namespace identifying the option's associated AWS resource.

", - "OptionSpecification$Namespace": "

A unique namespace identifying the option's associated AWS resource.

", - "ValidationMessage$Namespace": "

The namespace to which the option belongs.

" + "OperatingSystemName":{ + "base":null, + "refs":{ + "PlatformDescription$OperatingSystemName":"

The operating system used by the platform.

", + "PlatformSummary$OperatingSystemName":"

The operating system used by the platform.

" } }, - "OptionRestrictionMaxLength": { - "base": null, - "refs": { - "ConfigurationOptionDescription$MaxLength": "

If specified, the configuration option must be a string value no longer than this value.

" + "OperatingSystemVersion":{ + "base":null, + "refs":{ + "PlatformDescription$OperatingSystemVersion":"

The version of the operating system used by the platform.

", + "PlatformSummary$OperatingSystemVersion":"

The version of the operating system used by the platform.

" } }, - "OptionRestrictionMaxValue": { - "base": null, - "refs": { - "ConfigurationOptionDescription$MaxValue": "

If specified, the configuration option must be a numeric value less than this value.

" + "OperationInProgressException":{ + "base":"

Unable to perform the specified operation because another operation that effects an element in this activity is already in progress.

", + "refs":{ } }, - "OptionRestrictionMinValue": { - "base": null, - "refs": { - "ConfigurationOptionDescription$MinValue": "

If specified, the configuration option must be a numeric value greater than this value.

" + "OptionNamespace":{ + "base":null, + "refs":{ + "ConfigurationOptionDescription$Namespace":"

A unique namespace identifying the option's associated AWS resource.

", + "ConfigurationOptionSetting$Namespace":"

A unique namespace identifying the option's associated AWS resource.

", + "OptionSpecification$Namespace":"

A unique namespace identifying the option's associated AWS resource.

", + "ValidationMessage$Namespace":"

The namespace to which the option belongs.

" } }, - "OptionRestrictionRegex": { - "base": "

A regular expression representing a restriction on a string configuration option value.

", - "refs": { - "ConfigurationOptionDescription$Regex": "

If specified, the configuration option must be a string value that satisfies this regular expression.

" + "OptionRestrictionMaxLength":{ + "base":null, + "refs":{ + "ConfigurationOptionDescription$MaxLength":"

If specified, the configuration option must be a string value no longer than this value.

" } }, - "OptionSpecification": { - "base": "

A specification identifying an individual configuration option.

", - "refs": { - "OptionsSpecifierList$member": null + "OptionRestrictionMaxValue":{ + "base":null, + "refs":{ + "ConfigurationOptionDescription$MaxValue":"

If specified, the configuration option must be a numeric value less than this value.

" } }, - "OptionsSpecifierList": { - "base": null, - "refs": { - "CreateEnvironmentMessage$OptionsToRemove": "

A list of custom user-defined configuration options to remove from the configuration set for this new environment.

", - "DescribeConfigurationOptionsMessage$Options": "

If specified, restricts the descriptions to only the specified options.

", - "UpdateConfigurationTemplateMessage$OptionsToRemove": "

A list of configuration options to remove from the configuration set.

Constraint: You can remove only UserDefined configuration options.

", - "UpdateEnvironmentMessage$OptionsToRemove": "

A list of custom user-defined configuration options to remove from the configuration set for this environment.

" + "OptionRestrictionMinValue":{ + "base":null, + "refs":{ + "ConfigurationOptionDescription$MinValue":"

If specified, the configuration option must be a numeric value greater than this value.

" } }, - "PlatformArn": { - "base": null, - "refs": { - "ConfigurationOptionsDescription$PlatformArn": "

The ARN of the platform.

", - "ConfigurationSettingsDescription$PlatformArn": "

The ARN of the platform.

", - "CreateConfigurationTemplateMessage$PlatformArn": "

The ARN of the custome platform.

", - "CreateEnvironmentMessage$PlatformArn": "

The ARN of the platform.

", - "DeletePlatformVersionRequest$PlatformArn": "

The ARN of the version of the custom platform.

", - "DescribeConfigurationOptionsMessage$PlatformArn": "

The ARN of the custom platform.

", - "DescribeEventsMessage$PlatformArn": "

The ARN of the version of the custom platform.

", - "DescribePlatformVersionRequest$PlatformArn": "

The ARN of the version of the platform.

", - "EnvironmentDescription$PlatformArn": "

The ARN of the platform.

", - "EventDescription$PlatformArn": "

The ARN of the platform.

", - "PlatformDescription$PlatformArn": "

The ARN of the platform.

", - "PlatformSummary$PlatformArn": "

The ARN of the platform.

", - "UpdateEnvironmentMessage$PlatformArn": "

The ARN of the platform, if used.

" + "OptionRestrictionRegex":{ + "base":"

A regular expression representing a restriction on a string configuration option value.

", + "refs":{ + "ConfigurationOptionDescription$Regex":"

If specified, the configuration option must be a string value that satisfies this regular expression.

" } }, - "PlatformCategory": { - "base": null, - "refs": { - "PlatformDescription$PlatformCategory": "

The category of the platform.

", - "PlatformSummary$PlatformCategory": "

The category of platform.

" + "OptionSpecification":{ + "base":"

A specification identifying an individual configuration option.

", + "refs":{ + "OptionsSpecifierList$member":null } }, - "PlatformDescription": { - "base": "

Detailed information about a platform.

", - "refs": { - "DescribePlatformVersionResult$PlatformDescription": "

Detailed information about the version of the platform.

" + "OptionsSpecifierList":{ + "base":null, + "refs":{ + "CreateEnvironmentMessage$OptionsToRemove":"

A list of custom user-defined configuration options to remove from the configuration set for this new environment.

", + "DescribeConfigurationOptionsMessage$Options":"

If specified, restricts the descriptions to only the specified options.

", + "UpdateConfigurationTemplateMessage$OptionsToRemove":"

A list of configuration options to remove from the configuration set.

Constraint: You can remove only UserDefined configuration options.

", + "UpdateEnvironmentMessage$OptionsToRemove":"

A list of custom user-defined configuration options to remove from the configuration set for this environment.

" } }, - "PlatformFilter": { - "base": "

Specify criteria to restrict the results when listing custom platforms.

The filter is evaluated as the expression:

Type Operator Values[i]

", - "refs": { - "PlatformFilters$member": null + "PlatformArn":{ + "base":null, + "refs":{ + "ConfigurationOptionsDescription$PlatformArn":"

The ARN of the platform.

", + "ConfigurationSettingsDescription$PlatformArn":"

The ARN of the platform.

", + "CreateConfigurationTemplateMessage$PlatformArn":"

The ARN of the custom platform.

", + "CreateEnvironmentMessage$PlatformArn":"

The ARN of the platform.

", + "DeletePlatformVersionRequest$PlatformArn":"

The ARN of the version of the custom platform.

", + "DescribeConfigurationOptionsMessage$PlatformArn":"

The ARN of the custom platform.

", + "DescribeEventsMessage$PlatformArn":"

The ARN of the version of the custom platform.

", + "DescribePlatformVersionRequest$PlatformArn":"

The ARN of the version of the platform.

", + "EnvironmentDescription$PlatformArn":"

The ARN of the platform.

", + "EventDescription$PlatformArn":"

The ARN of the platform.

", + "PlatformDescription$PlatformArn":"

The ARN of the platform.

", + "PlatformSummary$PlatformArn":"

The ARN of the platform.

", + "UpdateEnvironmentMessage$PlatformArn":"

The ARN of the platform, if used.

" } }, - "PlatformFilterOperator": { - "base": null, - "refs": { - "PlatformFilter$Operator": "

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

" + "PlatformCategory":{ + "base":null, + "refs":{ + "PlatformDescription$PlatformCategory":"

The category of the platform.

", + "PlatformSummary$PlatformCategory":"

The category of platform.

" } }, - "PlatformFilterType": { - "base": null, - "refs": { - "PlatformFilter$Type": "

The custom platform attribute to which the filter values are applied.

Valid Values: PlatformName | PlatformVersion | PlatformStatus | PlatformOwner

" + "PlatformDescription":{ + "base":"

Detailed information about a platform.

", + "refs":{ + "DescribePlatformVersionResult$PlatformDescription":"

Detailed information about the version of the platform.

" } }, - "PlatformFilterValue": { - "base": null, - "refs": { - "PlatformFilterValueList$member": null + "PlatformFilter":{ + "base":"

Specify criteria to restrict the results when listing custom platforms.

The filter is evaluated as the expression:

Type Operator Values[i]

", + "refs":{ + "PlatformFilters$member":null } }, - "PlatformFilterValueList": { - "base": null, - "refs": { - "PlatformFilter$Values": "

The list of values applied to the custom platform attribute.

" + "PlatformFilterOperator":{ + "base":null, + "refs":{ + "PlatformFilter$Operator":"

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

" } }, - "PlatformFilters": { - "base": null, - "refs": { - "ListPlatformVersionsRequest$Filters": "

List only the platforms where the platform member value relates to one of the supplied values.

" + "PlatformFilterType":{ + "base":null, + "refs":{ + "PlatformFilter$Type":"

The custom platform attribute to which the filter values are applied.

Valid Values: PlatformName | PlatformVersion | PlatformStatus | PlatformOwner

" } }, - "PlatformFramework": { - "base": "

A framework supported by the custom platform.

", - "refs": { - "PlatformFrameworks$member": null + "PlatformFilterValue":{ + "base":null, + "refs":{ + "PlatformFilterValueList$member":null } }, - "PlatformFrameworks": { - "base": null, - "refs": { - "PlatformDescription$Frameworks": "

The frameworks supported by the platform.

" + "PlatformFilterValueList":{ + "base":null, + "refs":{ + "PlatformFilter$Values":"

The list of values applied to the custom platform attribute.

" } }, - "PlatformMaxRecords": { - "base": null, - "refs": { - "ListPlatformVersionsRequest$MaxRecords": "

The maximum number of platform values returned in one call.

" + "PlatformFilters":{ + "base":null, + "refs":{ + "ListPlatformVersionsRequest$Filters":"

List only the platforms where the platform member value relates to one of the supplied values.

" } }, - "PlatformName": { - "base": null, - "refs": { - "CreatePlatformVersionRequest$PlatformName": "

The name of your custom platform.

", - "PlatformDescription$PlatformName": "

The name of the platform.

" + "PlatformFramework":{ + "base":"

A framework supported by the custom platform.

", + "refs":{ + "PlatformFrameworks$member":null } }, - "PlatformOwner": { - "base": null, - "refs": { - "PlatformDescription$PlatformOwner": "

The AWS account ID of the person who created the platform.

", - "PlatformSummary$PlatformOwner": "

The AWS account ID of the person who created the platform.

" + "PlatformFrameworks":{ + "base":null, + "refs":{ + "PlatformDescription$Frameworks":"

The frameworks supported by the platform.

" } }, - "PlatformProgrammingLanguage": { - "base": "

A programming language supported by the platform.

", - "refs": { - "PlatformProgrammingLanguages$member": null + "PlatformMaxRecords":{ + "base":null, + "refs":{ + "ListPlatformVersionsRequest$MaxRecords":"

The maximum number of platform values returned in one call.

" } }, - "PlatformProgrammingLanguages": { - "base": null, - "refs": { - "PlatformDescription$ProgrammingLanguages": "

The programming languages supported by the platform.

" + "PlatformName":{ + "base":null, + "refs":{ + "CreatePlatformVersionRequest$PlatformName":"

The name of your custom platform.

", + "PlatformDescription$PlatformName":"

The name of the platform.

" } }, - "PlatformStatus": { - "base": null, - "refs": { - "PlatformDescription$PlatformStatus": "

The status of the platform.

", - "PlatformSummary$PlatformStatus": "

The status of the platform. You can create an environment from the platform once it is ready.

" + "PlatformOwner":{ + "base":null, + "refs":{ + "PlatformDescription$PlatformOwner":"

The AWS account ID of the person who created the platform.

", + "PlatformSummary$PlatformOwner":"

The AWS account ID of the person who created the platform.

" } }, - "PlatformSummary": { - "base": "

Detailed information about a platform.

", - "refs": { - "CreatePlatformVersionResult$PlatformSummary": "

Detailed information about the new version of the custom platform.

", - "DeletePlatformVersionResult$PlatformSummary": "

Detailed information about the version of the custom platform.

", - "PlatformSummaryList$member": null + "PlatformProgrammingLanguage":{ + "base":"

A programming language supported by the platform.

", + "refs":{ + "PlatformProgrammingLanguages$member":null } }, - "PlatformSummaryList": { - "base": null, - "refs": { - "ListPlatformVersionsResult$PlatformSummaryList": "

Detailed information about the platforms.

" + "PlatformProgrammingLanguages":{ + "base":null, + "refs":{ + "PlatformDescription$ProgrammingLanguages":"

The programming languages supported by the platform.

" } }, - "PlatformVersion": { - "base": null, - "refs": { - "CreatePlatformVersionRequest$PlatformVersion": "

The number, such as 1.0.2, for the new platform version.

", - "PlatformDescription$PlatformVersion": "

The version of the platform.

" + "PlatformStatus":{ + "base":null, + "refs":{ + "PlatformDescription$PlatformStatus":"

The status of the platform.

", + "PlatformSummary$PlatformStatus":"

The status of the platform. You can create an environment from the platform once it is ready.

" } }, - "PlatformVersionStillReferencedException": { - "base": "

You cannot delete the platform version because there are still environments running on it.

", - "refs": { + "PlatformSummary":{ + "base":"

Detailed information about a platform.

", + "refs":{ + "CreatePlatformVersionResult$PlatformSummary":"

Detailed information about the new version of the custom platform.

", + "DeletePlatformVersionResult$PlatformSummary":"

Detailed information about the version of the custom platform.

", + "PlatformSummaryList$member":null } }, - "Queue": { - "base": "

Describes a queue.

", - "refs": { - "QueueList$member": null + "PlatformSummaryList":{ + "base":null, + "refs":{ + "ListPlatformVersionsResult$PlatformSummaryList":"

Detailed information about the platforms.

" } }, - "QueueList": { - "base": null, - "refs": { - "EnvironmentResourceDescription$Queues": "

The queues used by this environment.

" + "PlatformVersion":{ + "base":null, + "refs":{ + "CreatePlatformVersionRequest$PlatformVersion":"

The number, such as 1.0.2, for the new platform version.

", + "PlatformDescription$PlatformVersion":"

The version of the platform.

" } }, - "RebuildEnvironmentMessage": { - "base": "

", - "refs": { + "PlatformVersionStillReferencedException":{ + "base":"

You cannot delete the platform version because there are still environments running on it.

", + "refs":{ } }, - "RefreshedAt": { - "base": null, - "refs": { - "DescribeEnvironmentHealthResult$RefreshedAt": "

The date and time that the health information was retrieved.

", - "DescribeInstancesHealthResult$RefreshedAt": "

The date and time that the health information was retrieved.

" + "Queue":{ + "base":"

Describes a queue.

", + "refs":{ + "QueueList$member":null } }, - "RegexLabel": { - "base": null, - "refs": { - "OptionRestrictionRegex$Label": "

A unique name representing this regular expression.

" + "QueueList":{ + "base":null, + "refs":{ + "EnvironmentResourceDescription$Queues":"

The queues used by this environment.

" } }, - "RegexPattern": { - "base": null, - "refs": { - "OptionRestrictionRegex$Pattern": "

The regular expression pattern that a string configuration option value with this restriction must match.

" + "RebuildEnvironmentMessage":{ + "base":"

", + "refs":{ } }, - "RequestCount": { - "base": null, - "refs": { - "ApplicationMetrics$RequestCount": "

Average number of requests handled by the web server per second over the last 10 seconds.

" + "RefreshedAt":{ + "base":null, + "refs":{ + "DescribeEnvironmentHealthResult$RefreshedAt":"

The date and time that the health information was retrieved.

", + "DescribeInstancesHealthResult$RefreshedAt":"

The date and time that the health information was retrieved.

" } }, - "RequestEnvironmentInfoMessage": { - "base": "

Request to retrieve logs from an environment and store them in your Elastic Beanstalk storage bucket.

", - "refs": { + "RegexLabel":{ + "base":null, + "refs":{ + "OptionRestrictionRegex$Label":"

A unique name representing this regular expression.

" } }, - "RequestId": { - "base": null, - "refs": { - "DescribeEventsMessage$RequestId": "

If specified, AWS Elastic Beanstalk restricts the described events to include only those associated with this request ID.

", - "EventDescription$RequestId": "

The web service request ID for the activity of this event.

" + "RegexPattern":{ + "base":null, + "refs":{ + "OptionRestrictionRegex$Pattern":"

The regular expression pattern that a string configuration option value with this restriction must match.

" } }, - "ResourceArn": { - "base": null, - "refs": { - "ListTagsForResourceMessage$ResourceArn": "

The Amazon Resource Name (ARN) of the resouce for which a tag list is requested.

Must be the ARN of an Elastic Beanstalk environment.

", - "ResourceTagsDescriptionMessage$ResourceArn": "

The Amazon Resource Name (ARN) of the resouce for which a tag list was requested.

", - "UpdateTagsForResourceMessage$ResourceArn": "

The Amazon Resource Name (ARN) of the resouce to be updated.

Must be the ARN of an Elastic Beanstalk environment.

" + "RequestCount":{ + "base":null, + "refs":{ + "ApplicationMetrics$RequestCount":"

Average number of requests handled by the web server per second over the last 10 seconds.

" } }, - "ResourceId": { - "base": null, - "refs": { - "AutoScalingGroup$Name": "

The name of the AutoScalingGroup .

", - "Instance$Id": "

The ID of the Amazon EC2 instance.

", - "LaunchConfiguration$Name": "

The name of the launch configuration.

", - "LoadBalancer$Name": "

The name of the LoadBalancer.

", - "Trigger$Name": "

The name of the trigger.

" + "RequestEnvironmentInfoMessage":{ + "base":"

Request to retrieve logs from an environment and store them in your Elastic Beanstalk storage bucket.

", + "refs":{ } }, - "ResourceName": { - "base": null, - "refs": { - "ConfigurationOptionSetting$ResourceName": "

A unique resource name for a time-based scaling configuration option.

", - "OptionSpecification$ResourceName": "

A unique resource name for a time-based scaling configuration option.

" + "RequestId":{ + "base":null, + "refs":{ + "DescribeEventsMessage$RequestId":"

If specified, AWS Elastic Beanstalk restricts the described events to include only those associated with this request ID.

", + "EventDescription$RequestId":"

The web service request ID for the activity of this event.

" } }, - "ResourceNotFoundException": { - "base": "

A resource doesn't exist for the specified Amazon Resource Name (ARN).

", - "refs": { + "ResourceArn":{ + "base":null, + "refs":{ + "ListTagsForResourceMessage$ResourceArn":"

The Amazon Resource Name (ARN) of the resouce for which a tag list is requested.

Must be the ARN of an Elastic Beanstalk environment.

", + "ResourceTagsDescriptionMessage$ResourceArn":"

The Amazon Resource Name (ARN) of the resouce for which a tag list was requested.

", + "UpdateTagsForResourceMessage$ResourceArn":"

The Amazon Resource Name (ARN) of the resouce to be updated.

Must be the ARN of an Elastic Beanstalk environment.

" } }, - "ResourceTagsDescriptionMessage": { - "base": null, - "refs": { + "ResourceId":{ + "base":null, + "refs":{ + "AutoScalingGroup$Name":"

The name of the AutoScalingGroup .

", + "Instance$Id":"

The ID of the Amazon EC2 instance.

", + "LaunchConfiguration$Name":"

The name of the launch configuration.

", + "LoadBalancer$Name":"

The name of the LoadBalancer.

", + "Trigger$Name":"

The name of the trigger.

" } }, - "ResourceTypeNotSupportedException": { - "base": "

The type of the specified Amazon Resource Name (ARN) isn't supported for this operation.

", - "refs": { + "ResourceName":{ + "base":null, + "refs":{ + "ConfigurationOptionSetting$ResourceName":"

A unique resource name for a time-based scaling configuration option.

", + "OptionSpecification$ResourceName":"

A unique resource name for a time-based scaling configuration option.

" } }, - "RestartAppServerMessage": { - "base": "

", - "refs": { + "ResourceNotFoundException":{ + "base":"

A resource doesn't exist for the specified Amazon Resource Name (ARN).

", + "refs":{ } }, - "RetrieveEnvironmentInfoMessage": { - "base": "

Request to download logs retrieved with RequestEnvironmentInfo.

", - "refs": { + "ResourceQuota":{ + "base":"

The AWS Elastic Beanstalk quota information for a single resource type in an AWS account. It reflects the resource's limits for this account.

", + "refs":{ + "ResourceQuotas$ApplicationQuota":"

The quota for applications in the AWS account.

", + "ResourceQuotas$ApplicationVersionQuota":"

The quota for application versions in the AWS account.

", + "ResourceQuotas$EnvironmentQuota":"

The quota for environments in the AWS account.

", + "ResourceQuotas$ConfigurationTemplateQuota":"

The quota for configuration templates in the AWS account.

", + "ResourceQuotas$CustomPlatformQuota":"

The quota for custom platforms in the AWS account.

" } }, - "RetrieveEnvironmentInfoResultMessage": { - "base": "

Result message containing a description of the requested environment info.

", - "refs": { + "ResourceQuotas":{ + "base":"

A set of per-resource AWS Elastic Beanstalk quotas associated with an AWS account. They reflect Elastic Beanstalk resource limits for this account.

", + "refs":{ + "DescribeAccountAttributesResult$ResourceQuotas":"

The Elastic Beanstalk resource quotas associated with the calling AWS account.

" } }, - "S3Bucket": { - "base": null, - "refs": { - "CreateStorageLocationResultMessage$S3Bucket": "

The name of the Amazon S3 bucket created.

", - "S3Location$S3Bucket": "

The Amazon S3 bucket where the data is located.

" + "ResourceTagsDescriptionMessage":{ + "base":null, + "refs":{ } }, - "S3Key": { - "base": null, - "refs": { - "S3Location$S3Key": "

The Amazon S3 key where the data is located.

" + "ResourceTypeNotSupportedException":{ + "base":"

The type of the specified Amazon Resource Name (ARN) isn't supported for this operation.

", + "refs":{ } }, - "S3Location": { - "base": "

The bucket and key of an item stored in Amazon S3.

", - "refs": { - "ApplicationVersionDescription$SourceBundle": "

The storage location of the application version's source bundle in Amazon S3.

", - "CreateApplicationVersionMessage$SourceBundle": "

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.

", - "CreatePlatformVersionRequest$PlatformDefinitionBundle": "

The location of the platform definition archive in Amazon S3.

" + "RestartAppServerMessage":{ + "base":"

", + "refs":{ } }, - "S3LocationNotInServiceRegionException": { - "base": "

The specified S3 bucket does not belong to the S3 region in which the service is running. The following regions are supported:

", - "refs": { + "RetrieveEnvironmentInfoMessage":{ + "base":"

Request to download logs retrieved with RequestEnvironmentInfo.

", + "refs":{ } }, - "S3SubscriptionRequiredException": { - "base": "

The specified account does not have a subscription to Amazon S3.

", - "refs": { + "RetrieveEnvironmentInfoResultMessage":{ + "base":"

Result message containing a description of the requested environment info.

", + "refs":{ } }, - "SampleTimestamp": { - "base": null, - "refs": { - "EnvironmentInfoDescription$SampleTimestamp": "

The time stamp when this information was retrieved.

" + "S3Bucket":{ + "base":null, + "refs":{ + "CreateStorageLocationResultMessage$S3Bucket":"

The name of the Amazon S3 bucket created.

", + "S3Location$S3Bucket":"

The Amazon S3 bucket where the data is located.

" } }, - "SingleInstanceHealth": { - "base": "

Detailed health information about an Amazon EC2 instance in your Elastic Beanstalk environment.

", - "refs": { - "InstanceHealthList$member": null + "S3Key":{ + "base":null, + "refs":{ + "S3Location$S3Key":"

The Amazon S3 key where the data is located.

" } }, - "SolutionStackDescription": { - "base": "

Describes the solution stack.

", - "refs": { - "AvailableSolutionStackDetailsList$member": null + "S3Location":{ + "base":"

The bucket and key of an item stored in Amazon S3.

", + "refs":{ + "ApplicationVersionDescription$SourceBundle":"

The storage location of the application version's source bundle in Amazon S3.

", + "CreateApplicationVersionMessage$SourceBundle":"

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.

", + "CreatePlatformVersionRequest$PlatformDefinitionBundle":"

The location of the platform definition archive in Amazon S3.

" } }, - "SolutionStackFileTypeList": { - "base": null, - "refs": { - "SolutionStackDescription$PermittedFileTypes": "

The permitted file types allowed for a solution stack.

" + "S3LocationNotInServiceRegionException":{ + "base":"

The specified S3 bucket does not belong to the S3 region in which the service is running. The following regions are supported:

", + "refs":{ } }, - "SolutionStackName": { - "base": null, - "refs": { - "AvailableSolutionStackNamesList$member": null, - "ConfigurationOptionsDescription$SolutionStackName": "

The name of the solution stack these configuration options belong to.

", - "ConfigurationSettingsDescription$SolutionStackName": "

The name of the solution stack this configuration set uses.

", - "CreateConfigurationTemplateMessage$SolutionStackName": "

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.

", - "CreateEnvironmentMessage$SolutionStackName": "

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.

", - "DescribeConfigurationOptionsMessage$SolutionStackName": "

The name of the solution stack whose configuration options you want to describe.

", - "EnvironmentDescription$SolutionStackName": "

The name of the SolutionStack deployed with this environment.

", - "PlatformDescription$SolutionStackName": "

The name of the solution stack used by the platform.

", - "SolutionStackDescription$SolutionStackName": "

The name of the solution stack.

", - "UpdateEnvironmentMessage$SolutionStackName": "

This specifies the platform version that the environment will run after the environment is updated.

" + "S3SubscriptionRequiredException":{ + "base":"

The specified account does not have a subscription to Amazon S3.

", + "refs":{ } }, - "SourceBuildInformation": { - "base": "

Location of the source code for an application version.

", - "refs": { - "ApplicationVersionDescription$SourceBuildInformation": "

If the version's source code was retrieved from AWS CodeCommit, the location of the source code for the application version.

", - "CreateApplicationVersionMessage$SourceBuildInformation": "

Specify a commit in an AWS CodeCommit Git repository to use as the source code for the application version.

" + "SampleTimestamp":{ + "base":null, + "refs":{ + "EnvironmentInfoDescription$SampleTimestamp":"

The time stamp when this information was retrieved.

" } }, - "SourceBundleDeletionException": { - "base": "

Unable to delete the Amazon S3 source bundle associated with the application version. The application version was deleted successfully.

", - "refs": { + "SingleInstanceHealth":{ + "base":"

Detailed health information about an Amazon EC2 instance in your Elastic Beanstalk environment.

", + "refs":{ + "InstanceHealthList$member":null } }, - "SourceConfiguration": { - "base": "

A specification for an environment configuration

", - "refs": { - "CreateConfigurationTemplateMessage$SourceConfiguration": "

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.

" + "SolutionStackDescription":{ + "base":"

Describes the solution stack.

", + "refs":{ + "AvailableSolutionStackDetailsList$member":null } }, - "SourceLocation": { - "base": null, - "refs": { - "SourceBuildInformation$SourceLocation": "

The location of the source code, as a formatted string, depending on the value of SourceRepository

" + "SolutionStackFileTypeList":{ + "base":null, + "refs":{ + "SolutionStackDescription$PermittedFileTypes":"

The permitted file types allowed for a solution stack.

" } }, - "SourceRepository": { - "base": null, - "refs": { - "SourceBuildInformation$SourceRepository": "

Location where the repository is stored.

" + "SolutionStackName":{ + "base":null, + "refs":{ + "AvailableSolutionStackNamesList$member":null, + "ConfigurationOptionsDescription$SolutionStackName":"

The name of the solution stack these configuration options belong to.

", + "ConfigurationSettingsDescription$SolutionStackName":"

The name of the solution stack this configuration set uses.

", + "CreateConfigurationTemplateMessage$SolutionStackName":"

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.

", + "CreateEnvironmentMessage$SolutionStackName":"

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.

", + "DescribeConfigurationOptionsMessage$SolutionStackName":"

The name of the solution stack whose configuration options you want to describe.

", + "EnvironmentDescription$SolutionStackName":"

The name of the SolutionStack deployed with this environment.

", + "PlatformDescription$SolutionStackName":"

The name of the solution stack used by the platform.

", + "SolutionStackDescription$SolutionStackName":"

The name of the solution stack.

", + "UpdateEnvironmentMessage$SolutionStackName":"

This specifies the platform version that the environment will run after the environment is updated.

" } }, - "SourceType": { - "base": null, - "refs": { - "SourceBuildInformation$SourceType": "

The type of repository.

" + "SourceBuildInformation":{ + "base":"

Location of the source code for an application version.

", + "refs":{ + "ApplicationVersionDescription$SourceBuildInformation":"

If the version's source code was retrieved from AWS CodeCommit, the location of the source code for the application version.

", + "CreateApplicationVersionMessage$SourceBuildInformation":"

Specify a commit in an AWS CodeCommit Git repository to use as the source code for the application version.

" } }, - "StatusCodes": { - "base": "

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.

", - "refs": { - "ApplicationMetrics$StatusCodes": "

Represents the percentage of requests over the last 10 seconds that resulted in each type of status code response.

" + "SourceBundleDeletionException":{ + "base":"

Unable to delete the Amazon S3 source bundle associated with the application version. The application version was deleted successfully.

", + "refs":{ } }, - "String": { - "base": null, - "refs": { - "ApplicationResourceLifecycleConfig$ServiceRole": "

The ARN of an IAM service role that Elastic Beanstalk has permission to assume.

", - "ApplicationVersionDescription$BuildArn": "

Reference to the artifact from the AWS CodeBuild build.

", - "ApplyEnvironmentManagedActionRequest$EnvironmentName": "

The name of the target environment.

", - "ApplyEnvironmentManagedActionRequest$EnvironmentId": "

The environment ID of the target environment.

", - "ApplyEnvironmentManagedActionRequest$ActionId": "

The action ID of the scheduled managed action to execute.

", - "ApplyEnvironmentManagedActionResult$ActionId": "

The action ID of the managed action.

", - "ApplyEnvironmentManagedActionResult$ActionDescription": "

A description of the managed action.

", - "ApplyEnvironmentManagedActionResult$Status": "

The status of the managed action.

", - "BuildConfiguration$ArtifactName": "

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.

", - "Deployment$VersionLabel": "

The version label of the application version in the deployment.

", - "Deployment$Status": "

The status of the deployment:

", - "DescribeEnvironmentHealthResult$HealthStatus": "

The health status of the environment. For example, Ok.

", - "DescribeEnvironmentHealthResult$Color": "

The health color of the environment.

", - "DescribeEnvironmentManagedActionHistoryRequest$NextToken": "

The pagination token returned by a previous request.

", - "DescribeEnvironmentManagedActionHistoryResult$NextToken": "

A pagination token that you pass to DescribeEnvironmentManagedActionHistory to get the next page of results.

", - "DescribeEnvironmentManagedActionsRequest$EnvironmentName": "

The name of the target environment.

", - "DescribeEnvironmentManagedActionsRequest$EnvironmentId": "

The environment ID of the target environment.

", - "EnvironmentLink$LinkName": "

The name of the link.

", - "EnvironmentLink$EnvironmentName": "

The name of the linked environment (the dependency).

", - "EnvironmentTier$Name": "

The name of this environment tier.

", - "EnvironmentTier$Type": "

The type of this environment tier.

", - "EnvironmentTier$Version": "

The version of this environment tier.

", - "Listener$Protocol": "

The protocol that is used by the Listener.

", - "LoadBalancerDescription$LoadBalancerName": "

The name of the LoadBalancer.

", - "LoadBalancerDescription$Domain": "

The domain name of the LoadBalancer.

", - "ManagedAction$ActionId": "

A unique identifier for the managed action.

", - "ManagedAction$ActionDescription": "

A description of the managed action.

", - "ManagedActionHistoryItem$ActionId": "

A unique identifier for the managed action.

", - "ManagedActionHistoryItem$ActionDescription": "

A description of the managed action.

", - "ManagedActionHistoryItem$FailureDescription": "

If the action failed, a description of the failure.

", - "PlatformFramework$Name": "

The name of the framework.

", - "PlatformFramework$Version": "

The version of the framework.

", - "PlatformProgrammingLanguage$Name": "

The name of the programming language.

", - "PlatformProgrammingLanguage$Version": "

The version of the programming language.

", - "Queue$Name": "

The name of the queue.

", - "Queue$URL": "

The URL of the queue.

", - "SingleInstanceHealth$HealthStatus": "

Returns the health status of the specified instance. For more information, see Health Colors and Statuses.

", - "SingleInstanceHealth$Color": "

Represents the color indicator that gives you information about the health of the EC2 instance. For more information, see Health Colors and Statuses.

", - "SingleInstanceHealth$AvailabilityZone": "

The availability zone in which the instance runs.

", - "SingleInstanceHealth$InstanceType": "

The instance's type.

" + "SourceConfiguration":{ + "base":"

A specification for an environment configuration

", + "refs":{ + "CreateConfigurationTemplateMessage$SourceConfiguration":"

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.

" } }, - "SupportedAddon": { - "base": null, - "refs": { - "SupportedAddonList$member": null + "SourceLocation":{ + "base":null, + "refs":{ + "SourceBuildInformation$SourceLocation":"

The location of the source code, as a formatted string, depending on the value of SourceRepository

" } }, - "SupportedAddonList": { - "base": null, - "refs": { - "PlatformDescription$SupportedAddonList": "

The additions supported by the platform.

", - "PlatformSummary$SupportedAddonList": "

The additions associated with the platform.

" + "SourceRepository":{ + "base":null, + "refs":{ + "SourceBuildInformation$SourceRepository":"

Location where the repository is stored.

" } }, - "SupportedTier": { - "base": null, - "refs": { - "SupportedTierList$member": null + "SourceType":{ + "base":null, + "refs":{ + "SourceBuildInformation$SourceType":"

The type of repository.

" } }, - "SupportedTierList": { - "base": null, - "refs": { - "PlatformDescription$SupportedTierList": "

The tiers supported by the platform.

", - "PlatformSummary$SupportedTierList": "

The tiers in which the platform runs.

" + "StatusCodes":{ + "base":"

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.

", + "refs":{ + "ApplicationMetrics$StatusCodes":"

Represents the percentage of requests over the last 10 seconds that resulted in each type of status code response.

" } }, - "SwapEnvironmentCNAMEsMessage": { - "base": "

Swaps the CNAMEs of two environments.

", - "refs": { + "String":{ + "base":null, + "refs":{ + "ApplicationResourceLifecycleConfig$ServiceRole":"

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.

", + "ApplicationVersionDescription$BuildArn":"

Reference to the artifact from the AWS CodeBuild build.

", + "ApplyEnvironmentManagedActionRequest$EnvironmentName":"

The name of the target environment.

", + "ApplyEnvironmentManagedActionRequest$EnvironmentId":"

The environment ID of the target environment.

", + "ApplyEnvironmentManagedActionRequest$ActionId":"

The action ID of the scheduled managed action to execute.

", + "ApplyEnvironmentManagedActionResult$ActionId":"

The action ID of the managed action.

", + "ApplyEnvironmentManagedActionResult$ActionDescription":"

A description of the managed action.

", + "ApplyEnvironmentManagedActionResult$Status":"

The status of the managed action.

", + "BuildConfiguration$ArtifactName":"

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.

", + "Deployment$VersionLabel":"

The version label of the application version in the deployment.

", + "Deployment$Status":"

The status of the deployment:

", + "DescribeEnvironmentHealthResult$HealthStatus":"

The health status of the environment. For example, Ok.

", + "DescribeEnvironmentHealthResult$Color":"

The health color of the environment.

", + "DescribeEnvironmentManagedActionHistoryRequest$NextToken":"

The pagination token returned by a previous request.

", + "DescribeEnvironmentManagedActionHistoryResult$NextToken":"

A pagination token that you pass to DescribeEnvironmentManagedActionHistory to get the next page of results.

", + "DescribeEnvironmentManagedActionsRequest$EnvironmentName":"

The name of the target environment.

", + "DescribeEnvironmentManagedActionsRequest$EnvironmentId":"

The environment ID of the target environment.

", + "EnvironmentLink$LinkName":"

The name of the link.

", + "EnvironmentLink$EnvironmentName":"

The name of the linked environment (the dependency).

", + "EnvironmentTier$Name":"

The name of this environment tier.

", + "EnvironmentTier$Type":"

The type of this environment tier.

", + "EnvironmentTier$Version":"

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.

", + "Listener$Protocol":"

The protocol that is used by the Listener.

", + "LoadBalancerDescription$LoadBalancerName":"

The name of the LoadBalancer.

", + "LoadBalancerDescription$Domain":"

The domain name of the LoadBalancer.

", + "ManagedAction$ActionId":"

A unique identifier for the managed action.

", + "ManagedAction$ActionDescription":"

A description of the managed action.

", + "ManagedActionHistoryItem$ActionId":"

A unique identifier for the managed action.

", + "ManagedActionHistoryItem$ActionDescription":"

A description of the managed action.

", + "ManagedActionHistoryItem$FailureDescription":"

If the action failed, a description of the failure.

", + "PlatformFramework$Name":"

The name of the framework.

", + "PlatformFramework$Version":"

The version of the framework.

", + "PlatformProgrammingLanguage$Name":"

The name of the programming language.

", + "PlatformProgrammingLanguage$Version":"

The version of the programming language.

", + "Queue$Name":"

The name of the queue.

", + "Queue$URL":"

The URL of the queue.

", + "SingleInstanceHealth$HealthStatus":"

Returns the health status of the specified instance. For more information, see Health Colors and Statuses.

", + "SingleInstanceHealth$Color":"

Represents the color indicator that gives you information about the health of the EC2 instance. For more information, see Health Colors and Statuses.

", + "SingleInstanceHealth$AvailabilityZone":"

The availability zone in which the instance runs.

", + "SingleInstanceHealth$InstanceType":"

The instance's type.

" } }, - "SystemStatus": { - "base": "

CPU utilization and load average metrics for an Amazon EC2 instance.

", - "refs": { - "SingleInstanceHealth$System": "

Operating system metrics from the instance.

" + "SupportedAddon":{ + "base":null, + "refs":{ + "SupportedAddonList$member":null } }, - "Tag": { - "base": "

Describes a tag applied to a resource in an environment.

", - "refs": { - "TagList$member": null, - "Tags$member": null + "SupportedAddonList":{ + "base":null, + "refs":{ + "PlatformDescription$SupportedAddonList":"

The additions supported by the platform.

", + "PlatformSummary$SupportedAddonList":"

The additions associated with the platform.

" } }, - "TagKey": { - "base": null, - "refs": { - "Tag$Key": "

The key of the tag.

", - "TagKeyList$member": null + "SupportedTier":{ + "base":null, + "refs":{ + "SupportedTierList$member":null } }, - "TagKeyList": { - "base": null, - "refs": { - "UpdateTagsForResourceMessage$TagsToRemove": "

A list of tag keys to remove.

If a tag key doesn't exist, it is silently ignored.

" + "SupportedTierList":{ + "base":null, + "refs":{ + "PlatformDescription$SupportedTierList":"

The tiers supported by the platform.

", + "PlatformSummary$SupportedTierList":"

The tiers in which the platform runs.

" } }, - "TagList": { - "base": null, - "refs": { - "ResourceTagsDescriptionMessage$ResourceTags": "

A list of tag key-value pairs.

", - "UpdateTagsForResourceMessage$TagsToAdd": "

A list of tags to add or update.

If a key of an existing tag is added, the tag's value is updated.

" + "SwapEnvironmentCNAMEsMessage":{ + "base":"

Swaps the CNAMEs of two environments.

", + "refs":{ } }, - "TagValue": { - "base": null, - "refs": { - "Tag$Value": "

The value of the tag.

" + "SystemStatus":{ + "base":"

CPU utilization and load average metrics for an Amazon EC2 instance.

", + "refs":{ + "SingleInstanceHealth$System":"

Operating system metrics from the instance.

" } }, - "Tags": { - "base": null, - "refs": { - "CreateEnvironmentMessage$Tags": "

This specifies the tags applied to resources in the environment.

" + "Tag":{ + "base":"

Describes a tag applied to a resource in an environment.

", + "refs":{ + "TagList$member":null, + "Tags$member":null } }, - "TerminateEnvForce": { - "base": null, - "refs": { - "DeleteApplicationMessage$TerminateEnvByForce": "

When set to true, running environments will be terminated before deleting the application.

" + "TagKey":{ + "base":null, + "refs":{ + "Tag$Key":"

The key of the tag.

", + "TagKeyList$member":null } }, - "TerminateEnvironmentMessage": { - "base": "

Request to terminate an environment.

", - "refs": { + "TagKeyList":{ + "base":null, + "refs":{ + "UpdateTagsForResourceMessage$TagsToRemove":"

A list of tag keys to remove.

If a tag key doesn't exist, it is silently ignored.

" } }, - "TerminateEnvironmentResources": { - "base": null, - "refs": { - "TerminateEnvironmentMessage$TerminateResources": "

Indicates whether the associated AWS resources should shut down when the environment is terminated:

For more information, see the AWS Elastic Beanstalk User Guide.

Default: true

Valid Values: true | false

" + "TagList":{ + "base":null, + "refs":{ + "ResourceTagsDescriptionMessage$ResourceTags":"

A list of tag key-value pairs.

", + "UpdateTagsForResourceMessage$TagsToAdd":"

A list of tags to add or update.

If a key of an existing tag is added, the tag's value is updated.

" } }, - "TimeFilterEnd": { - "base": null, - "refs": { - "DescribeEventsMessage$EndTime": "

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that occur up to, but not including, the EndTime.

" + "TagValue":{ + "base":null, + "refs":{ + "Tag$Value":"

The value of the tag.

" } }, - "TimeFilterStart": { - "base": null, - "refs": { - "DescribeEventsMessage$StartTime": "

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that occur on or after this time.

" + "Tags":{ + "base":null, + "refs":{ + "CreateEnvironmentMessage$Tags":"

This specifies the tags applied to resources in the environment.

" } }, - "Timestamp": { - "base": null, - "refs": { - "ManagedAction$WindowStartTime": "

The start time of the maintenance window in which the managed action will execute.

", - "ManagedActionHistoryItem$ExecutedTime": "

The date and time that the action started executing.

", - "ManagedActionHistoryItem$FinishedTime": "

The date and time that the action finished executing.

" + "TerminateEnvForce":{ + "base":null, + "refs":{ + "DeleteApplicationMessage$TerminateEnvByForce":"

When set to true, running environments will be terminated before deleting the application.

" } }, - "Token": { - "base": null, - "refs": { - "ApplicationVersionDescriptionsMessage$NextToken": "

In a paginated request, the token that you can pass in a subsequent request to get the next response page.

", - "DescribeApplicationVersionsMessage$NextToken": "

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.

", - "DescribeEnvironmentsMessage$NextToken": "

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.

", - "DescribeEventsMessage$NextToken": "

Pagination token. If specified, the events return the next batch of results.

", - "EnvironmentDescriptionsMessage$NextToken": "

In a paginated request, the token that you can pass in a subsequent request to get the next response page.

", - "EventDescriptionsMessage$NextToken": "

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.

", - "ListPlatformVersionsRequest$NextToken": "

The starting index into the remaining list of platforms. Use the NextToken value from a previous ListPlatformVersion call.

", - "ListPlatformVersionsResult$NextToken": "

The starting index into the remaining list of platforms. if this value is not null, you can use it in a subsequent ListPlatformVersion call.

" + "TerminateEnvironmentMessage":{ + "base":"

Request to terminate an environment.

", + "refs":{ } }, - "TooManyApplicationVersionsException": { - "base": "

The specified account has reached its limit of application versions.

", - "refs": { + "TerminateEnvironmentResources":{ + "base":null, + "refs":{ + "TerminateEnvironmentMessage$TerminateResources":"

Indicates whether the associated AWS resources should shut down when the environment is terminated:

For more information, see the AWS Elastic Beanstalk User Guide.

Default: true

Valid Values: true | false

" } }, - "TooManyApplicationsException": { - "base": "

The specified account has reached its limit of applications.

", - "refs": { + "TimeFilterEnd":{ + "base":null, + "refs":{ + "DescribeEventsMessage$EndTime":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that occur up to, but not including, the EndTime.

" } }, - "TooManyBucketsException": { - "base": "

The specified account has reached its limit of Amazon S3 buckets.

", - "refs": { + "TimeFilterStart":{ + "base":null, + "refs":{ + "DescribeEventsMessage$StartTime":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that occur on or after this time.

" } }, - "TooManyConfigurationTemplatesException": { - "base": "

The specified account has reached its limit of configuration templates.

", - "refs": { + "Timestamp":{ + "base":null, + "refs":{ + "ManagedAction$WindowStartTime":"

The start time of the maintenance window in which the managed action will execute.

", + "ManagedActionHistoryItem$ExecutedTime":"

The date and time that the action started executing.

", + "ManagedActionHistoryItem$FinishedTime":"

The date and time that the action finished executing.

" } }, - "TooManyEnvironmentsException": { - "base": "

The specified account has reached its limit of environments.

", - "refs": { + "Token":{ + "base":null, + "refs":{ + "ApplicationVersionDescriptionsMessage$NextToken":"

In a paginated request, the token that you can pass in a subsequent request to get the next response page.

", + "DescribeApplicationVersionsMessage$NextToken":"

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.

", + "DescribeEnvironmentsMessage$NextToken":"

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.

", + "DescribeEventsMessage$NextToken":"

Pagination token. If specified, the events return the next batch of results.

", + "EnvironmentDescriptionsMessage$NextToken":"

In a paginated request, the token that you can pass in a subsequent request to get the next response page.

", + "EventDescriptionsMessage$NextToken":"

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.

", + "ListPlatformVersionsRequest$NextToken":"

The starting index into the remaining list of platforms. Use the NextToken value from a previous ListPlatformVersion call.

", + "ListPlatformVersionsResult$NextToken":"

The starting index into the remaining list of platforms. if this value is not null, you can use it in a subsequent ListPlatformVersion call.

" } }, - "TooManyPlatformsException": { - "base": "

You have exceeded the maximum number of allowed platforms associated with the account.

", - "refs": { + "TooManyApplicationVersionsException":{ + "base":"

The specified account has reached its limit of application versions.

", + "refs":{ } }, - "TooManyTagsException": { - "base": "

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.

", - "refs": { + "TooManyApplicationsException":{ + "base":"

The specified account has reached its limit of applications.

", + "refs":{ } }, - "Trigger": { - "base": "

Describes a trigger.

", - "refs": { - "TriggerList$member": null + "TooManyBucketsException":{ + "base":"

The specified account has reached its limit of Amazon S3 buckets.

", + "refs":{ } }, - "TriggerList": { - "base": null, - "refs": { - "EnvironmentResourceDescription$Triggers": "

The AutoScaling triggers in use by this environment.

" + "TooManyConfigurationTemplatesException":{ + "base":"

The specified account has reached its limit of configuration templates.

", + "refs":{ } }, - "UpdateApplicationMessage": { - "base": "

Request to update an application.

", - "refs": { + "TooManyEnvironmentsException":{ + "base":"

The specified account has reached its limit of environments.

", + "refs":{ } }, - "UpdateApplicationResourceLifecycleMessage": { - "base": null, - "refs": { + "TooManyPlatformsException":{ + "base":"

You have exceeded the maximum number of allowed platforms associated with the account.

", + "refs":{ } }, - "UpdateApplicationVersionMessage": { - "base": "

", - "refs": { + "TooManyTagsException":{ + "base":"

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.

", + "refs":{ } }, - "UpdateConfigurationTemplateMessage": { - "base": "

The result message containing the options for the specified solution stack.

", - "refs": { + "Trigger":{ + "base":"

Describes a trigger.

", + "refs":{ + "TriggerList$member":null } }, - "UpdateDate": { - "base": null, - "refs": { - "ApplicationDescription$DateUpdated": "

The date when the application was last modified.

", - "ApplicationVersionDescription$DateUpdated": "

The last modified date of the application version.

", - "ConfigurationSettingsDescription$DateUpdated": "

The date (in UTC time) when this configuration set was last modified.

", - "EnvironmentDescription$DateUpdated": "

The last modified date for this environment.

", - "PlatformDescription$DateUpdated": "

The date when the platform was last updated.

" + "TriggerList":{ + "base":null, + "refs":{ + "EnvironmentResourceDescription$Triggers":"

The AutoScaling triggers in use by this environment.

" } }, - "UpdateEnvironmentMessage": { - "base": "

Request to update an environment.

", - "refs": { + "UpdateApplicationMessage":{ + "base":"

Request to update an application.

", + "refs":{ } }, - "UpdateTagsForResourceMessage": { - "base": null, - "refs": { + "UpdateApplicationResourceLifecycleMessage":{ + "base":null, + "refs":{ } }, - "UserDefinedOption": { - "base": null, - "refs": { - "ConfigurationOptionDescription$UserDefined": "

An indication of whether the user defined this configuration option:

Constraint: You can remove only UserDefined options from a configuration.

Valid Values: true | false

" + "UpdateApplicationVersionMessage":{ + "base":"

", + "refs":{ } }, - "ValidateConfigurationSettingsMessage": { - "base": "

A list of validation messages for a specified configuration template.

", - "refs": { + "UpdateConfigurationTemplateMessage":{ + "base":"

The result message containing the options for the specified solution stack.

", + "refs":{ } }, - "ValidationMessage": { - "base": "

An error or warning for a desired configuration option value.

", - "refs": { - "ValidationMessagesList$member": null + "UpdateDate":{ + "base":null, + "refs":{ + "ApplicationDescription$DateUpdated":"

The date when the application was last modified.

", + "ApplicationVersionDescription$DateUpdated":"

The last modified date of the application version.

", + "ConfigurationSettingsDescription$DateUpdated":"

The date (in UTC time) when this configuration set was last modified.

", + "EnvironmentDescription$DateUpdated":"

The last modified date for this environment.

", + "PlatformDescription$DateUpdated":"

The date when the platform was last updated.

" } }, - "ValidationMessageString": { - "base": null, - "refs": { - "ValidationMessage$Message": "

A message describing the error or warning.

" + "UpdateEnvironmentMessage":{ + "base":"

Request to update an environment.

", + "refs":{ } }, - "ValidationMessagesList": { - "base": null, - "refs": { - "ConfigurationSettingsValidationMessages$Messages": "

A list of ValidationMessage.

" + "UpdateTagsForResourceMessage":{ + "base":null, + "refs":{ } }, - "ValidationSeverity": { - "base": null, - "refs": { - "ValidationMessage$Severity": "

An indication of the severity of this message:

" + "UserDefinedOption":{ + "base":null, + "refs":{ + "ConfigurationOptionDescription$UserDefined":"

An indication of whether the user defined this configuration option:

Constraint: You can remove only UserDefined options from a configuration.

Valid Values: true | false

" } }, - "VersionLabel": { - "base": null, - "refs": { - "ApplicationVersionDescription$VersionLabel": "

A unique identifier for the application version.

", - "CreateApplicationVersionMessage$VersionLabel": "

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.

", - "CreateEnvironmentMessage$VersionLabel": "

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.

", - "DeleteApplicationVersionMessage$VersionLabel": "

The label of the version to delete.

", - "DescribeEnvironmentsMessage$VersionLabel": "

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that are associated with this application version.

", - "DescribeEventsMessage$VersionLabel": "

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this application version.

", - "EnvironmentDescription$VersionLabel": "

The application version deployed in this environment.

", - "EventDescription$VersionLabel": "

The release label for the application version associated with this event.

", - "UpdateApplicationVersionMessage$VersionLabel": "

The name of the version to update.

If no application version is found with this label, UpdateApplication returns an InvalidParameterValue error.

", - "UpdateEnvironmentMessage$VersionLabel": "

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.

", - "VersionLabels$member": null, - "VersionLabelsList$member": null + "ValidateConfigurationSettingsMessage":{ + "base":"

A list of validation messages for a specified configuration template.

", + "refs":{ } }, - "VersionLabels": { - "base": null, - "refs": { - "ComposeEnvironmentsMessage$VersionLabels": "

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.

" + "ValidationMessage":{ + "base":"

An error or warning for a desired configuration option value.

", + "refs":{ + "ValidationMessagesList$member":null } }, - "VersionLabelsList": { - "base": null, - "refs": { - "ApplicationDescription$Versions": "

The names of the versions for this application.

", - "DescribeApplicationVersionsMessage$VersionLabels": "

Specify a version label to show a specific application version.

" + "ValidationMessageString":{ + "base":null, + "refs":{ + "ValidationMessage$Message":"

A message describing the error or warning.

" } }, - "VirtualizationType": { - "base": null, - "refs": { - "CustomAmi$VirtualizationType": "

The type of virtualization used to create the custom AMI.

" + "ValidationMessagesList":{ + "base":null, + "refs":{ + "ConfigurationSettingsValidationMessages$Messages":"

A list of ValidationMessage.

" + } + }, + "ValidationSeverity":{ + "base":null, + "refs":{ + "ValidationMessage$Severity":"

An indication of the severity of this message:

" + } + }, + "VersionLabel":{ + "base":null, + "refs":{ + "ApplicationVersionDescription$VersionLabel":"

A unique identifier for the application version.

", + "CreateApplicationVersionMessage$VersionLabel":"

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.

", + "CreateEnvironmentMessage$VersionLabel":"

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.

", + "DeleteApplicationVersionMessage$VersionLabel":"

The label of the version to delete.

", + "DescribeEnvironmentsMessage$VersionLabel":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that are associated with this application version.

", + "DescribeEventsMessage$VersionLabel":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this application version.

", + "EnvironmentDescription$VersionLabel":"

The application version deployed in this environment.

", + "EventDescription$VersionLabel":"

The release label for the application version associated with this event.

", + "UpdateApplicationVersionMessage$VersionLabel":"

The name of the version to update.

If no application version is found with this label, UpdateApplication returns an InvalidParameterValue error.

", + "UpdateEnvironmentMessage$VersionLabel":"

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.

", + "VersionLabels$member":null, + "VersionLabelsList$member":null + } + }, + "VersionLabels":{ + "base":null, + "refs":{ + "ComposeEnvironmentsMessage$VersionLabels":"

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.

" + } + }, + "VersionLabelsList":{ + "base":null, + "refs":{ + "ApplicationDescription$Versions":"

The names of the versions for this application.

", + "DescribeApplicationVersionsMessage$VersionLabels":"

Specify a version label to show a specific application version.

" + } + }, + "VirtualizationType":{ + "base":null, + "refs":{ + "CustomAmi$VirtualizationType":"

The type of virtualization used to create the custom AMI.

" } } } diff --git a/models/apis/elasticbeanstalk/2010-12-01/examples-1.json b/models/apis/elasticbeanstalk/2010-12-01/examples-1.json index 0fded628156..8a8ad3918ca 100644 --- a/models/apis/elasticbeanstalk/2010-12-01/examples-1.json +++ b/models/apis/elasticbeanstalk/2010-12-01/examples-1.json @@ -1,695 +1,695 @@ { - "version": "1.0", - "examples": { - "AbortEnvironmentUpdate": [ + "version":"1.0", + "examples":{ + "AbortEnvironmentUpdate":[ { - "input": { - "EnvironmentName": "my-env" + "input":{ + "EnvironmentName":"my-env" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "CheckDNSAvailability":[ { - "input": { - "CNAMEPrefix": "my-cname" + "input":{ + "CNAMEPrefix":"my-cname" }, - "output": { - "Available": true, - "FullyQualifiedCNAME": "my-cname.us-west-2.elasticbeanstalk.com" + "output":{ + "Available":true, + "FullyQualifiedCNAME":"my-cname.us-west-2.elasticbeanstalk.com" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "CreateApplication":[ { - "input": { - "ApplicationName": "my-app", - "Description": "my application" - }, - "output": { - "Application": { - "ApplicationName": "my-app", - "ConfigurationTemplates": [ + "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" + "DateCreated":"2015-02-12T18:32:21.181Z", + "DateUpdated":"2015-02-12T18:32:21.181Z", + "Description":"my application" } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "CreateApplicationVersion":[ { - "input": { - "ApplicationName": "my-app", - "AutoCreateApplication": true, - "Description": "my-app-v1", - "Process": true, - "SourceBundle": { - "S3Bucket": "my-bucket", - "S3Key": "sample.war" + "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" + }, + "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" + "VersionLabel":"v1" } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "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": { + "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": { + "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" + "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": [ + "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": " " + "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" + "VersionLabel":"v1" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "CreateStorageLocation":[ { - "output": { - "S3Bucket": "elasticbeanstalk-us-west-2-0123456789012" + "output":{ + "S3Bucket":"elasticbeanstalk-us-west-2-0123456789012" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DeleteApplication":[ { - "input": { - "ApplicationName": "my-app" + "input":{ + "ApplicationName":"my-app" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "The following operation deletes an application named my-app:", - "id": "to-delete-an-application-1456269699366", - "title": "To delete an application" + "description":"The following operation deletes an application named my-app:", + "id":"to-delete-an-application-1456269699366", + "title":"To delete an application" } ], - "DeleteApplicationVersion": [ + "DeleteApplicationVersion":[ { - "input": { - "ApplicationName": "my-app", - "DeleteSourceBundle": true, - "VersionLabel": "22a0-stage-150819_182129" + "input":{ + "ApplicationName":"my-app", + "DeleteSourceBundle":true, + "VersionLabel":"22a0-stage-150819_182129" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DeleteConfigurationTemplate":[ { - "input": { - "ApplicationName": "my-app", - "TemplateName": "my-template" + "input":{ + "ApplicationName":"my-app", + "TemplateName":"my-template" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DeleteEnvironmentConfiguration":[ { - "input": { - "ApplicationName": "my-app", - "EnvironmentName": "my-env" + "input":{ + "ApplicationName":"my-app", + "EnvironmentName":"my-env" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeApplicationVersions":[ { - "input": { - "ApplicationName": "my-app", - "VersionLabels": [ + "input":{ + "ApplicationName":"my-app", + "VersionLabels":[ "v2" ] }, - "output": { - "ApplicationVersions": [ + "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" + "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" + "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" + "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" + "VersionLabel":"v1" } ] }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeApplications":[ { - "input": { + "input":{ }, - "output": { - "Applications": [ + "output":{ + "Applications":[ { - "ApplicationName": "ruby", - "ConfigurationTemplates": [ + "ApplicationName":"ruby", + "ConfigurationTemplates":[ ], - "DateCreated": "2015-08-13T21:05:44.376Z", - "DateUpdated": "2015-08-13T21:05:44.376Z", - "Versions": [ + "DateCreated":"2015-08-13T21:05:44.376Z", + "DateUpdated":"2015-08-13T21:05:44.376Z", + "Versions":[ "Sample Application" ] }, { - "ApplicationName": "pythonsample", - "ConfigurationTemplates": [ + "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": [ + "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": [ + "ApplicationName":"nodejs-example", + "ConfigurationTemplates":[ ], - "DateCreated": "2015-08-06T17:50:02.486Z", - "DateUpdated": "2015-08-06T17:50:02.486Z", - "Versions": [ + "DateCreated":"2015-08-06T17:50:02.486Z", + "DateUpdated":"2015-08-06T17:50:02.486Z", + "Versions":[ "add elasticache", "First Release" ] } ] }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeConfigurationOptions":[ { - "input": { - "ApplicationName": "my-app", - "EnvironmentName": "my-env" + "input":{ + "ApplicationName":"my-app", + "EnvironmentName":"my-env" }, - "output": { - "Options": [ + "output":{ + "Options":[ { - "ChangeSeverity": "NoInterruption", - "DefaultValue": "30", - "MaxValue": 300, - "MinValue": 5, - "Name": "Interval", - "Namespace": "aws:elb:healthcheck", - "UserDefined": false, - "ValueType": "Scalar" + "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" + "ChangeSeverity":"NoInterruption", + "DefaultValue":"2000000", + "MinValue":0, + "Name":"LowerThreshold", + "Namespace":"aws:autoscaling:trigger", + "UserDefined":false, + "ValueType":"Scalar" } ] }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeConfigurationSettings":[ { - "input": { - "ApplicationName": "my-app", - "EnvironmentName": "my-env" + "input":{ + "ApplicationName":"my-app", + "EnvironmentName":"my-env" }, - "output": { - "ConfigurationSettings": [ + "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": [ + "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":"Availability Zones", + "ResourceName":"AWSEBAutoScalingGroup", + "Value":"Any" }, { - "Namespace": "aws:autoscaling:asg", - "OptionName": "Cooldown", - "ResourceName": "AWSEBAutoScalingGroup", - "Value": "360" + "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":"ConnectionDrainingTimeout", + "ResourceName":"AWSEBLoadBalancer", + "Value":"20" }, { - "Namespace": "aws:elb:policies", - "OptionName": "ConnectionSettingIdleTimeout", - "ResourceName": "AWSEBLoadBalancer", - "Value": "60" + "Namespace":"aws:elb:policies", + "OptionName":"ConnectionSettingIdleTimeout", + "ResourceName":"AWSEBLoadBalancer", + "Value":"60" } ], - "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8" + "SolutionStackName":"64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8" } ] }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { - "abbreviated": "Output is abbreviated" + "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" + "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": [ + "DescribeEnvironmentHealth":[ { - "input": { - "AttributeNames": [ + "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 + "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 + "RequestCount":45, + "StatusCodes":{ + "Status2xx":45, + "Status3xx":0, + "Status4xx":0, + "Status5xx":0 } }, - "Causes": [ + "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 + "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" + "RefreshedAt":"2015-08-20T21:09:18Z" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeEnvironmentResources":[ { - "input": { - "EnvironmentName": "my-env" + "input":{ + "EnvironmentName":"my-env" }, - "output": { - "EnvironmentResources": { - "AutoScalingGroups": [ + "output":{ + "EnvironmentResources":{ + "AutoScalingGroups":[ { - "Name": "awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingGroup-QSB2ZO88SXZT" + "Name":"awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingGroup-QSB2ZO88SXZT" } ], - "EnvironmentName": "my-env", - "Instances": [ + "EnvironmentName":"my-env", + "Instances":[ { - "Id": "i-0c91c786" + "Id":"i-0c91c786" } ], - "LaunchConfigurations": [ + "LaunchConfigurations":[ { - "Name": "awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingLaunchConfiguration-1UUVQIBC96TQ2" + "Name":"awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingLaunchConfiguration-1UUVQIBC96TQ2" } ], - "LoadBalancers": [ + "LoadBalancers":[ { - "Name": "awseb-e-q-AWSEBLoa-1EEPZ0K98BIF0" + "Name":"awseb-e-q-AWSEBLoa-1EEPZ0K98BIF0" } ], - "Queues": [ + "Queues":[ ], - "Triggers": [ + "Triggers":[ ] } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeEnvironments":[ { - "input": { - "EnvironmentNames": [ + "input":{ + "EnvironmentNames":[ "my-env" ] }, - "output": { - "Environments": [ + "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": " " + "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" + "VersionLabel":"7f58-stage-150812_025409" } ] }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeEvents":[ { - "input": { - "EnvironmentName": "my-env" + "input":{ + "EnvironmentName":"my-env" }, - "output": { - "Events": [ + "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: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-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: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" + "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": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeInstancesHealth":[ { - "input": { - "AttributeNames": [ + "input":{ + "AttributeNames":[ "All" ], - "EnvironmentName": "my-env" + "EnvironmentName":"my-env" }, - "output": { - "InstanceHealthList": [ + "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 + "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 + "RequestCount":48, + "StatusCodes":{ + "Status2xx":47, + "Status3xx":0, + "Status4xx":1, + "Status5xx":0 } }, - "Causes": [ + "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 + "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": [ + "LoadAverage":[ 0, 0.02, 0.05 @@ -697,31 +697,31 @@ } } ], - "RefreshedAt": "2015-08-20T21:09:08Z" + "RefreshedAt":"2015-08-20T21:09:08Z" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ListAvailableSolutionStacks":[ { - "output": { - "SolutionStackDetails": [ + "output":{ + "SolutionStackDetails":[ { - "PermittedFileTypes": [ + "PermittedFileTypes":[ "zip" ], - "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Node.js" + "SolutionStackName":"64bit Amazon Linux 2015.03 v2.0.0 running Node.js" } ], - "SolutionStacks": [ + "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", @@ -752,160 +752,160 @@ "64bit Debian jessie v2.0.0 running Python 3.4 (Preconfigured - Docker)" ] }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "RebuildEnvironment":[ { - "input": { - "EnvironmentName": "my-env" + "input":{ + "EnvironmentName":"my-env" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "RequestEnvironmentInfo":[ { - "input": { - "EnvironmentName": "my-env", - "InfoType": "tail" + "input":{ + "EnvironmentName":"my-env", + "InfoType":"tail" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "The following operation requests logs from an environment named my-env:", - "id": "to-request-tailed-logs-1456277657045", - "title": "To request tailed logs" + "description":"The following operation requests logs from an environment named my-env:", + "id":"to-request-tailed-logs-1456277657045", + "title":"To request tailed logs" } ], - "RestartAppServer": [ + "RestartAppServer":[ { - "input": { - "EnvironmentName": "my-env" + "input":{ + "EnvironmentName":"my-env" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "RetrieveEnvironmentInfo":[ { - "input": { - "EnvironmentName": "my-env", - "InfoType": "tail" + "input":{ + "EnvironmentName":"my-env", + "InfoType":"tail" }, - "output": { - "EnvironmentInfo": [ + "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" + "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": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "SwapEnvironmentCNAMEs":[ { - "input": { - "DestinationEnvironmentName": "my-env-green", - "SourceEnvironmentName": "my-env-blue" + "input":{ + "DestinationEnvironmentName":"my-env-green", + "SourceEnvironmentName":"my-env-blue" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "The following operation swaps the assigned subdomains of two environments:", - "id": "to-swap-environment-cnames-1456277839438", - "title": "To swap environment CNAMES" + "description":"The following operation swaps the assigned subdomains of two environments:", + "id":"to-swap-environment-cnames-1456277839438", + "title":"To swap environment CNAMES" } ], - "TerminateEnvironment": [ + "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": " " + "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": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "The following operation terminates an Elastic Beanstalk environment named my-env:", - "id": "to-terminate-an-environment-1456277888556", - "title": "To terminate an environment" + "description":"The following operation terminates an Elastic Beanstalk environment named my-env:", + "id":"to-terminate-an-environment-1456277888556", + "title":"To terminate an environment" } ], - "UpdateApplication": [ + "UpdateApplication":[ { - "input": { - "ApplicationName": "my-app", - "Description": "my Elastic Beanstalk application" - }, - "output": { - "Application": { - "ApplicationName": "my-app", - "ConfigurationTemplates": [ + "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": [ + "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", @@ -914,195 +914,195 @@ ] } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "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" + "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" + "VersionLabel":"22a0-stage-150819_185942" } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "UpdateConfigurationTemplate":[ { - "input": { - "ApplicationName": "my-app", - "OptionsToRemove": [ + "input":{ + "ApplicationName":"my-app", + "OptionsToRemove":[ { - "Namespace": "aws:elasticbeanstalk:healthreporting:system", - "OptionName": "ConfigDocument" + "Namespace":"aws:elasticbeanstalk:healthreporting:system", + "OptionName":"ConfigDocument" } ], - "TemplateName": "my-template" + "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" + "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": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "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": " " + "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" + "VersionLabel":"v2" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "input":{ + "EnvironmentName":"my-env", + "OptionSettings":[ { - "Namespace": "aws:elb:healthcheck", - "OptionName": "Interval", - "Value": "15" + "Namespace":"aws:elb:healthcheck", + "OptionName":"Interval", + "Value":"15" }, { - "Namespace": "aws:elb:healthcheck", - "OptionName": "Timeout", - "Value": "8" + "Namespace":"aws:elb:healthcheck", + "OptionName":"Timeout", + "Value":"8" }, { - "Namespace": "aws:elb:healthcheck", - "OptionName": "HealthyThreshold", - "Value": "2" + "Namespace":"aws:elb:healthcheck", + "OptionName":"HealthyThreshold", + "Value":"2" }, { - "Namespace": "aws:elb:healthcheck", - "OptionName": "UnhealthyThreshold", - "Value": "3" + "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": " " + "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" + "VersionLabel":"7f58-stage-150812_025409" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ValidateConfigurationSettings":[ { - "input": { - "ApplicationName": "my-app", - "EnvironmentName": "my-env", - "OptionSettings": [ + "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}" + "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": [ + "output":{ + "Messages":[ ] }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "The following operation validates a CloudWatch custom metrics config document:", - "id": "to-validate-configuration-settings-1456278393654", - "title": "To validate configuration settings" + "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/models/apis/elasticbeanstalk/2010-12-01/smoke.json b/models/apis/elasticbeanstalk/2010-12-01/smoke.json new file mode 100644 index 00000000000..da752e749a7 --- /dev/null +++ b/models/apis/elasticbeanstalk/2010-12-01/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListAvailableSolutionStacks", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeEnvironmentResources", + "input": { + "EnvironmentId": "fake_environment" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/elasticfilesystem/2015-02-01/api-2.json b/models/apis/elasticfilesystem/2015-02-01/api-2.json index 530c6b7940b..8d5df444ce8 100644 --- a/models/apis/elasticfilesystem/2015-02-01/api-2.json +++ b/models/apis/elasticfilesystem/2015-02-01/api-2.json @@ -6,6 +6,7 @@ "protocol":"rest-json", "serviceAbbreviation":"EFS", "serviceFullName":"Amazon Elastic File System", + "serviceId":"EFS", "signatureVersion":"v4", "uid":"elasticfilesystem-2015-02-01" }, @@ -23,7 +24,9 @@ {"shape":"BadRequest"}, {"shape":"InternalServerError"}, {"shape":"FileSystemAlreadyExists"}, - {"shape":"FileSystemLimitExceeded"} + {"shape":"FileSystemLimitExceeded"}, + {"shape":"InsufficientThroughputCapacity"}, + {"shape":"ThroughputLimitExceeded"} ] }, "CreateMountTarget":{ @@ -186,6 +189,25 @@ {"shape":"SecurityGroupLimitExceeded"}, {"shape":"SecurityGroupNotFound"} ] + }, + "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"} + ] } }, "shapes":{ @@ -207,7 +229,9 @@ "CreationToken":{"shape":"CreationToken"}, "PerformanceMode":{"shape":"PerformanceMode"}, "Encrypted":{"shape":"Encrypted"}, - "KmsKeyId":{"shape":"KmsKeyId"} + "KmsKeyId":{"shape":"KmsKeyId"}, + "ThroughputMode":{"shape":"ThroughputMode"}, + "ProvisionedThroughputInMibps":{"shape":"ProvisionedThroughputInMibps"} } }, "CreateMountTargetRequest":{ @@ -447,7 +471,9 @@ "SizeInBytes":{"shape":"FileSystemSize"}, "PerformanceMode":{"shape":"PerformanceMode"}, "Encrypted":{"shape":"Encrypted"}, - "KmsKeyId":{"shape":"KmsKeyId"} + "KmsKeyId":{"shape":"KmsKeyId"}, + "ThroughputMode":{"shape":"ThroughputMode"}, + "ProvisionedThroughputInMibps":{"shape":"ProvisionedThroughputInMibps"} } }, "FileSystemDescriptions":{ @@ -517,6 +543,16 @@ "error":{"httpStatusCode":409}, "exception":true }, + "InsufficientThroughputCapacity":{ + "type":"structure", + "required":["ErrorCode"], + "members":{ + "ErrorCode":{"shape":"ErrorCode"}, + "Message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":503}, + "exception":true + }, "InternalServerError":{ "type":"structure", "required":["ErrorCode"], @@ -548,6 +584,7 @@ "enum":[ "creating", "available", + "updating", "deleting", "deleted" ] @@ -644,6 +681,10 @@ "maxIO" ] }, + "ProvisionedThroughputInMibps":{ + "type":"double", + "min":0.0 + }, "SecurityGroup":{"type":"string"}, "SecurityGroupLimitExceeded":{ "type":"structure", @@ -709,7 +750,34 @@ "type":"list", "member":{"shape":"Tag"} }, + "ThroughputLimitExceeded":{ + "type":"structure", + "required":["ErrorCode"], + "members":{ + "ErrorCode":{"shape":"ErrorCode"}, + "Message":{"shape":"ErrorMessage"} + }, + "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"} + }, + "error":{"httpStatusCode":429}, + "exception":true + }, "UnsupportedAvailabilityZone":{ "type":"structure", "required":["ErrorCode"], @@ -719,6 +787,19 @@ }, "error":{"httpStatusCode":400}, "exception":true + }, + "UpdateFileSystemRequest":{ + "type":"structure", + "required":["FileSystemId"], + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "location":"uri", + "locationName":"FileSystemId" + }, + "ThroughputMode":{"shape":"ThroughputMode"}, + "ProvisionedThroughputInMibps":{"shape":"ProvisionedThroughputInMibps"} + } } } } diff --git a/models/apis/elasticfilesystem/2015-02-01/docs-2.json b/models/apis/elasticfilesystem/2015-02-01/docs-2.json index eea383838a8..fcb9d953575 100644 --- a/models/apis/elasticfilesystem/2015-02-01/docs-2.json +++ b/models/apis/elasticfilesystem/2015-02-01/docs-2.json @@ -12,7 +12,8 @@ "DescribeMountTargetSecurityGroups": "

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:

", "DescribeMountTargets": "

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": "

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": "

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:

" + "ModifyMountTargetSecurityGroups": "

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:

", + "UpdateFileSystem": "

Updates the throughput mode or the amount of provisioned throughput of an existing file system.

" }, "shapes": { "AwsAccountId": { @@ -113,8 +114,8 @@ "Encrypted": { "base": null, "refs": { - "CreateFileSystemRequest$Encrypted": "

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.

", - "FileSystemDescription$Encrypted": "

A boolean value that, if true, indicates that the file system is encrypted.

" + "CreateFileSystemRequest$Encrypted": "

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.

", + "FileSystemDescription$Encrypted": "

A Boolean value that, if true, indicates that the file system is encrypted.

" } }, "ErrorCode": { @@ -128,6 +129,7 @@ "FileSystemNotFound$ErrorCode": null, "IncorrectFileSystemLifeCycleState$ErrorCode": null, "IncorrectMountTargetState$ErrorCode": null, + "InsufficientThroughputCapacity$ErrorCode": null, "InternalServerError$ErrorCode": null, "IpAddressInUse$ErrorCode": null, "MountTargetConflict$ErrorCode": null, @@ -137,6 +139,8 @@ "SecurityGroupLimitExceeded$ErrorCode": null, "SecurityGroupNotFound$ErrorCode": null, "SubnetNotFound$ErrorCode": null, + "ThroughputLimitExceeded$ErrorCode": null, + "TooManyRequests$ErrorCode": null, "UnsupportedAvailabilityZone$ErrorCode": null } }, @@ -151,6 +155,7 @@ "FileSystemNotFound$Message": null, "IncorrectFileSystemLifeCycleState$Message": null, "IncorrectMountTargetState$Message": null, + "InsufficientThroughputCapacity$Message": null, "InternalServerError$Message": null, "IpAddressInUse$Message": null, "MountTargetConflict$Message": null, @@ -160,6 +165,8 @@ "SecurityGroupLimitExceeded$Message": null, "SecurityGroupNotFound$Message": null, "SubnetNotFound$Message": null, + "ThroughputLimitExceeded$Message": null, + "TooManyRequests$Message": null, "UnsupportedAvailabilityZone$Message": null } }, @@ -192,7 +199,8 @@ "DescribeTagsRequest$FileSystemId": "

ID of the file system whose tag set you want to retrieve.

", "FileSystemAlreadyExists$FileSystemId": null, "FileSystemDescription$FileSystemId": "

ID of the file system, assigned by Amazon EFS.

", - "MountTargetDescription$FileSystemId": "

ID of the file system for which the mount target is intended.

" + "MountTargetDescription$FileSystemId": "

ID of the file system for which the mount target is intended.

", + "UpdateFileSystemRequest$FileSystemId": "

The ID of the file system that you want to update.

" } }, "FileSystemInUse": { @@ -201,19 +209,19 @@ } }, "FileSystemLimitExceeded": { - "base": "

Returned if the AWS account has already created maximum number of file systems allowed per account.

", + "base": "

Returned if the AWS account has already created the maximum number of file systems allowed per account.

", "refs": { } }, "FileSystemNotFound": { - "base": "

Returned if the specified FileSystemId does not exist in the requester's AWS account.

", + "base": "

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

", "refs": { } }, "FileSystemSize": { "base": "

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.

", "refs": { - "FileSystemDescription$SizeInBytes": "

Latest known metered size (in bytes) of data stored in the file system, in bytes, in its Value field, and the time at which that size was determined in its Timestamp field. The Timestamp value is the integer number of seconds since 1970-01-01T00:00:00Z. Note that the value does not represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, the value will represent actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not the exact size the file system was at any instant in time.

" + "FileSystemDescription$SizeInBytes": "

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.

" } }, "FileSystemSizeValue": { @@ -223,7 +231,7 @@ } }, "IncorrectFileSystemLifeCycleState": { - "base": "

Returned if the file system's life cycle state is not \"created\".

", + "base": "

Returned if the file system's lifecycle state is not \"available\".

", "refs": { } }, @@ -232,6 +240,11 @@ "refs": { } }, + "InsufficientThroughputCapacity": { + "base": "

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.

", + "refs": { + } + }, "InternalServerError": { "base": "

Returned if an error occurred on the server side.

", "refs": { @@ -252,8 +265,8 @@ "KmsKeyId": { "base": null, "refs": { - "CreateFileSystemRequest$KmsKeyId": "

The id of the AWS KMS CMK that will be used to protect the encrypted file system. This parameter is only required if you want to use a non-default CMK. If this parameter is not specified, the default CMK for Amazon EFS is used. This id can be in one of the following formats:

Note that if the KmsKeyId is specified, the CreateFileSystemRequest$Encrypted parameter must be set to true.

", - "FileSystemDescription$KmsKeyId": "

The id of an AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the encrypted file system.

" + "CreateFileSystemRequest$KmsKeyId": "

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:

If KmsKeyId is specified, the CreateFileSystemRequest$Encrypted parameter must be set to true.

", + "FileSystemDescription$KmsKeyId": "

The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the encrypted file system.

" } }, "LifeCycleState": { @@ -335,7 +348,7 @@ } }, "NetworkInterfaceLimitExceeded": { - "base": "

The calling account has reached the ENI limit for the specific AWS region. Client should try to delete some ENIs or get its account limit raised. For more information, see Amazon VPC Limits in the Amazon Virtual Private Cloud User Guide (see the Network interfaces per VPC entry in the table).

", + "base": "

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).

", "refs": { } }, @@ -351,6 +364,14 @@ "FileSystemDescription$PerformanceMode": "

The PerformanceMode of the file system.

" } }, + "ProvisionedThroughputInMibps": { + "base": null, + "refs": { + "CreateFileSystemRequest$ProvisionedThroughputInMibps": "

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.

", + "FileSystemDescription$ProvisionedThroughputInMibps": "

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.

", + "UpdateFileSystemRequest$ProvisionedThroughputInMibps": "

(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.

" + } + }, "SecurityGroup": { "base": null, "refs": { @@ -363,7 +384,7 @@ } }, "SecurityGroupNotFound": { - "base": "

Returned if one of the specified security groups does not exist in the subnet's VPC.

", + "base": "

Returned if one of the specified security groups doesn't exist in the subnet's VPC.

", "refs": { } }, @@ -420,6 +441,19 @@ "DescribeTagsResponse$Tags": "

Returns tags associated with the file system as an array of Tag objects.

" } }, + "ThroughputLimitExceeded": { + "base": "

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.

", + "refs": { + } + }, + "ThroughputMode": { + "base": null, + "refs": { + "CreateFileSystemRequest$ThroughputMode": "

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.

", + "FileSystemDescription$ThroughputMode": "

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.

", + "UpdateFileSystemRequest$ThroughputMode": "

(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.

" + } + }, "Timestamp": { "base": null, "refs": { @@ -427,10 +461,20 @@ "FileSystemSize$Timestamp": "

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.

" } }, + "TooManyRequests": { + "base": "

Returned if you don’t wait at least 24 hours before changing the throughput mode, or decreasing the Provisioned Throughput value.

", + "refs": { + } + }, "UnsupportedAvailabilityZone": { "base": "

", "refs": { } + }, + "UpdateFileSystemRequest": { + "base": null, + "refs": { + } } } } diff --git a/models/apis/elasticfilesystem/2015-02-01/smoke.json b/models/apis/elasticfilesystem/2015-02-01/smoke.json new file mode 100644 index 00000000000..aa92bdf8bae --- /dev/null +++ b/models/apis/elasticfilesystem/2015-02-01/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeFileSystems", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DeleteFileSystem", + "input": { + "FileSystemId": "fs-c5a1446c" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/elasticloadbalancing/2012-06-01/api-2.json b/models/apis/elasticloadbalancing/2012-06-01/api-2.json index 5a4e9ba7b11..621df584915 100644 --- a/models/apis/elasticloadbalancing/2012-06-01/api-2.json +++ b/models/apis/elasticloadbalancing/2012-06-01/api-2.json @@ -135,7 +135,8 @@ {"shape":"InvalidSchemeException"}, {"shape":"TooManyTagsException"}, {"shape":"DuplicateTagKeysException"}, - {"shape":"UnsupportedProtocolException"} + {"shape":"UnsupportedProtocolException"}, + {"shape":"OperationNotPermittedException"} ] }, "CreateLoadBalancerListeners":{ @@ -1280,6 +1281,17 @@ } }, "Name":{"type":"string"}, + "OperationNotPermittedException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"OperationNotPermitted", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "PageSize":{ "type":"integer", "max":400, diff --git a/models/apis/elasticloadbalancing/2012-06-01/docs-2.json b/models/apis/elasticloadbalancing/2012-06-01/docs-2.json index 29953b5a8ef..7bb4c54ff05 100644 --- a/models/apis/elasticloadbalancing/2012-06-01/docs-2.json +++ b/models/apis/elasticloadbalancing/2012-06-01/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "Elastic Load Balancing

A load balancer distributes incoming traffic across your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered instances and ensures that it routes traffic only to healthy instances. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer and a protocol and port number for connections from the load balancer to the instances.

Elastic Load Balancing supports two types of load balancers: Classic Load Balancers and Application Load Balancers (new). A Classic Load Balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS), supports path-based routing, and can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC). For more information, see the Elastic Load Balancing User Guide.

This reference covers the 2012-06-01 API, which supports Classic Load Balancers. The 2015-12-01 API supports Application Load Balancers.

To get started, create a load balancer with one or more listeners using CreateLoadBalancer. Register your instances with the load balancer using RegisterInstancesWithLoadBalancer.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds with a 200 OK response code.

", + "service": "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.

", "operations": { "AddTags": "

Adds the specified tags to the specified load balancer. Each load balancer can have a maximum of 10 tags.

Each tag consists of a key and an optional value. If a tag with the same key is already associated with the load balancer, AddTags updates its value.

For more information, see Tag Your Classic Load Balancer in the Classic Load Balancer Guide.

", "ApplySecurityGroupsToLoadBalancer": "

Associates one or more security groups with your load balancer in a virtual private cloud (VPC). The specified security groups override the previously associated security groups.

For more information, see Security Groups for Load Balancers in a VPC in the Classic Load Balancer Guide.

", @@ -769,6 +769,11 @@ "Limit$Name": "

The name of the limit. The possible values are:

" } }, + "OperationNotPermittedException": { + "base": "

This operation is not allowed.

", + "refs": { + } + }, "PageSize": { "base": null, "refs": { diff --git a/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json b/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json index 9825058bc8b..e22229b8e8c 100644 --- a/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json +++ b/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json @@ -71,7 +71,9 @@ {"shape":"CertificateNotFoundException"}, {"shape":"UnsupportedProtocolException"}, {"shape":"TooManyRegistrationsForTargetIdException"}, - {"shape":"TooManyTargetsException"} + {"shape":"TooManyTargetsException"}, + {"shape":"TooManyActionsException"}, + {"shape":"InvalidLoadBalancerActionException"} ] }, "CreateLoadBalancer":{ @@ -97,7 +99,8 @@ {"shape":"DuplicateTagKeysException"}, {"shape":"ResourceInUseException"}, {"shape":"AllocationIdNotFoundException"}, - {"shape":"AvailabilityZoneNotSupportedException"} + {"shape":"AvailabilityZoneNotSupportedException"}, + {"shape":"OperationNotPermittedException"} ] }, "CreateRule":{ @@ -121,7 +124,10 @@ {"shape":"TargetGroupNotFoundException"}, {"shape":"InvalidConfigurationRequestException"}, {"shape":"TooManyRegistrationsForTargetIdException"}, - {"shape":"TooManyTargetsException"} + {"shape":"TooManyTargetsException"}, + {"shape":"UnsupportedProtocolException"}, + {"shape":"TooManyActionsException"}, + {"shape":"InvalidLoadBalancerActionException"} ] }, "CreateTargetGroup":{ @@ -260,7 +266,8 @@ }, "errors":[ {"shape":"ListenerNotFoundException"}, - {"shape":"LoadBalancerNotFoundException"} + {"shape":"LoadBalancerNotFoundException"}, + {"shape":"UnsupportedProtocolException"} ] }, "DescribeLoadBalancerAttributes":{ @@ -306,7 +313,8 @@ }, "errors":[ {"shape":"ListenerNotFoundException"}, - {"shape":"RuleNotFoundException"} + {"shape":"RuleNotFoundException"}, + {"shape":"UnsupportedProtocolException"} ] }, "DescribeSSLPolicies":{ @@ -414,7 +422,9 @@ {"shape":"InvalidConfigurationRequestException"}, {"shape":"UnsupportedProtocolException"}, {"shape":"TooManyRegistrationsForTargetIdException"}, - {"shape":"TooManyTargetsException"} + {"shape":"TooManyTargetsException"}, + {"shape":"TooManyActionsException"}, + {"shape":"InvalidLoadBalancerActionException"} ] }, "ModifyLoadBalancerAttributes":{ @@ -451,7 +461,10 @@ {"shape":"OperationNotPermittedException"}, {"shape":"TooManyRegistrationsForTargetIdException"}, {"shape":"TooManyTargetsException"}, - {"shape":"TargetGroupNotFoundException"} + {"shape":"TargetGroupNotFoundException"}, + {"shape":"UnsupportedProtocolException"}, + {"shape":"TooManyActionsException"}, + {"shape":"InvalidLoadBalancerActionException"} ] }, "ModifyTargetGroup":{ @@ -614,18 +627,31 @@ "shapes":{ "Action":{ "type":"structure", - "required":[ - "Type", - "TargetGroupArn" - ], + "required":["Type"], "members":{ "Type":{"shape":"ActionTypeEnum"}, - "TargetGroupArn":{"shape":"TargetGroupArn"} + "TargetGroupArn":{"shape":"TargetGroupArn"}, + "AuthenticateOidcConfig":{"shape":"AuthenticateOidcActionConfig"}, + "AuthenticateCognitoConfig":{"shape":"AuthenticateCognitoActionConfig"}, + "Order":{"shape":"ActionOrder"}, + "RedirectConfig":{"shape":"RedirectActionConfig"}, + "FixedResponseConfig":{"shape":"FixedResponseActionConfig"} } }, + "ActionOrder":{ + "type":"integer", + "max":50000, + "min":1 + }, "ActionTypeEnum":{ "type":"string", - "enum":["forward"] + "enum":[ + "forward", + "authenticate-oidc", + "authenticate-cognito", + "redirect", + "fixed-response" + ] }, "Actions":{ "type":"list", @@ -676,6 +702,93 @@ }, "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"}, + "UserPoolClientId":{"shape":"AuthenticateCognitoActionUserPoolClientId"}, + "UserPoolDomain":{"shape":"AuthenticateCognitoActionUserPoolDomain"}, + "SessionCookieName":{"shape":"AuthenticateCognitoActionSessionCookieName"}, + "Scope":{"shape":"AuthenticateCognitoActionScope"}, + "SessionTimeout":{"shape":"AuthenticateCognitoActionSessionTimeout"}, + "AuthenticationRequestExtraParams":{"shape":"AuthenticateCognitoActionAuthenticationRequestExtraParams"}, + "OnUnauthenticatedRequest":{"shape":"AuthenticateCognitoActionConditionalBehaviorEnum"} + } + }, + "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"}, + "AuthorizationEndpoint":{"shape":"AuthenticateOidcActionAuthorizationEndpoint"}, + "TokenEndpoint":{"shape":"AuthenticateOidcActionTokenEndpoint"}, + "UserInfoEndpoint":{"shape":"AuthenticateOidcActionUserInfoEndpoint"}, + "ClientId":{"shape":"AuthenticateOidcActionClientId"}, + "ClientSecret":{"shape":"AuthenticateOidcActionClientSecret"}, + "SessionCookieName":{"shape":"AuthenticateOidcActionSessionCookieName"}, + "Scope":{"shape":"AuthenticateOidcActionScope"}, + "SessionTimeout":{"shape":"AuthenticateOidcActionSessionTimeout"}, + "AuthenticationRequestExtraParams":{"shape":"AuthenticateOidcActionAuthenticationRequestExtraParams"}, + "OnUnauthenticatedRequest":{"shape":"AuthenticateOidcActionConditionalBehaviorEnum"} + } + }, + "AuthenticateOidcActionIssuer":{"type":"string"}, + "AuthenticateOidcActionScope":{"type":"string"}, + "AuthenticateOidcActionSessionCookieName":{"type":"string"}, + "AuthenticateOidcActionSessionTimeout":{"type":"long"}, + "AuthenticateOidcActionTokenEndpoint":{"type":"string"}, + "AuthenticateOidcActionUserInfoEndpoint":{"type":"string"}, "AvailabilityZone":{ "type":"structure", "members":{ @@ -1109,6 +1222,29 @@ }, "exception":true }, + "FixedResponseActionConfig":{ + "type":"structure", + "required":["StatusCode"], + "members":{ + "MessageBody":{"shape":"FixedResponseActionMessage"}, + "StatusCode":{"shape":"FixedResponseActionStatusCode"}, + "ContentType":{"shape":"FixedResponseActionContentType"} + } + }, + "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, @@ -1158,6 +1294,17 @@ }, "exception":true }, + "InvalidLoadBalancerActionException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InvalidLoadBalancerAction", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidSchemeException":{ "type":"structure", "members":{ @@ -1505,6 +1652,45 @@ "TCP" ] }, + "RedirectActionConfig":{ + "type":"structure", + "required":["StatusCode"], + "members":{ + "Protocol":{"shape":"RedirectActionProtocol"}, + "Port":{"shape":"RedirectActionPort"}, + "Host":{"shape":"RedirectActionHost"}, + "Path":{"shape":"RedirectActionPath"}, + "Query":{"shape":"RedirectActionQuery"}, + "StatusCode":{"shape":"RedirectActionStatusCodeEnum"} + } + }, + "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":[ @@ -1691,10 +1877,7 @@ }, "SetSubnetsInput":{ "type":"structure", - "required":[ - "LoadBalancerArn", - "Subnets" - ], + "required":["LoadBalancerArn"], "members":{ "LoadBalancerArn":{"shape":"LoadBalancerArn"}, "Subnets":{"shape":"Subnets"}, @@ -1940,6 +2123,17 @@ "ip" ] }, + "TooManyActionsException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"TooManyActions", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "TooManyCertificatesException":{ "type":"structure", "members":{ diff --git a/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json b/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json index 3823173168b..456983f4941 100644 --- a/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json +++ b/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json @@ -5,10 +5,10 @@ "AddListenerCertificates": "

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": "

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": "

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": "

Creates an Application Load Balancer or a Network Load Balancer.

When you create a load balancer, you can specify security groups, 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": "

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 condition for a rule is met, the specified action is taken. If no conditions are met, the action for the default rule is taken. For more information, see Listener Rules in the Application Load Balancers Guide.

To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule.

", + "CreateLoadBalancer": "

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": "

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": "

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": "

Deletes the specified listener.

Alternatively, your listener is deleted when you delete the load balancer it is attached to using DeleteLoadBalancer.

", + "DeleteListener": "

Deletes the specified listener.

Alternatively, your listener is deleted when you delete the load balancer to which it is attached, using DeleteLoadBalancer.

", "DeleteLoadBalancer": "

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": "

Deletes the specified rule.

", "DeleteTargetGroup": "

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.

", @@ -16,26 +16,26 @@ "DescribeAccountLimits": "

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": "

Describes the certificates for the specified secure listener.

", "DescribeListeners": "

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": "

Describes the attributes for the specified Application Load Balancer or Network Load Balancer.

", + "DescribeLoadBalancerAttributes": "

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": "

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": "

Describes the specified rules or the rules for the specified listener. You must specify either a listener or one or more rules.

", "DescribeSSLPolicies": "

Describes the specified policies or all policies used for SSL negotiation.

For more information, see Security Policies in the Application Load Balancers Guide.

", "DescribeTags": "

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": "

Describes the attributes for the specified target group.

", + "DescribeTargetGroupAttributes": "

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": "

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": "

Describes the health of the specified targets or all of your targets.

", "ModifyListener": "

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": "

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": "

Modifies the specified rule.

Any existing properties that you do not modify retain their current values.

To modify the default action, use ModifyListener.

", + "ModifyRule": "

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": "

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": "

Modifies the specified attributes of the specified target group.

", "RegisterTargets": "

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": "

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": "

Removes the specified tags from the specified Elastic Load Balancing resource.

To list the current tags for your resources, use DescribeTags.

", - "SetIpAddressType": "

Sets the type of IP addresses used by the subnets of the specified Application Load Balancer or Network Load Balancer.

Note that Network Load Balancers must use ipv4.

", + "SetIpAddressType": "

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": "

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": "

Associates the specified security groups with the specified Application Load Balancer. The specified security groups override the previously associated security groups.

Note that you can't specify a security group for a Network Load Balancer.

", - "SetSubnets": "

Enables the Availability Zone for the specified subnets for the specified Application Load Balancer. The specified subnets replace the previously enabled subnets.

Note that you can't change the subnets for a Network Load Balancer.

" + "SetSecurityGroups": "

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": "

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": { @@ -44,20 +44,26 @@ "Actions$member": null } }, + "ActionOrder": { + "base": null, + "refs": { + "Action$Order": "

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.

" + } + }, "ActionTypeEnum": { "base": null, "refs": { - "Action$Type": "

The type of action.

" + "Action$Type": "

The type of action. Each rule must include exactly one of the following types of actions: forward, fixed-response, or redirect.

" } }, "Actions": { "base": null, "refs": { - "CreateListenerInput$DefaultActions": "

The default action for the listener. For Application Load Balancers, the protocol of the specified target group must be HTTP or HTTPS. For Network Load Balancers, the protocol of the specified target group must be TCP.

", - "CreateRuleInput$Actions": "

An action. Each action has the type forward and specifies a target group.

", + "CreateListenerInput$DefaultActions": "

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.

", + "CreateRuleInput$Actions": "

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.

", "Listener$DefaultActions": "

The default actions for the listener.

", - "ModifyListenerInput$DefaultActions": "

The default action. For Application Load Balancers, the protocol of the specified target group must be HTTP or HTTPS. For Network Load Balancers, the protocol of the specified target group must be TCP.

", - "ModifyRuleInput$Actions": "

The actions. The target group must use the HTTP or HTTPS protocol.

", + "ModifyListenerInput$DefaultActions": "

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.

", + "ModifyRuleInput$Actions": "

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.

", "Rule$Actions": "

The actions.

" } }, @@ -93,6 +99,156 @@ "refs": { } }, + "AuthenticateCognitoActionAuthenticationRequestExtraParams": { + "base": null, + "refs": { + "AuthenticateCognitoActionConfig$AuthenticationRequestExtraParams": "

The query parameters (up to 10) to include in the redirect request to the authorization endpoint.

" + } + }, + "AuthenticateCognitoActionAuthenticationRequestParamName": { + "base": null, + "refs": { + "AuthenticateCognitoActionAuthenticationRequestExtraParams$key": null + } + }, + "AuthenticateCognitoActionAuthenticationRequestParamValue": { + "base": null, + "refs": { + "AuthenticateCognitoActionAuthenticationRequestExtraParams$value": null + } + }, + "AuthenticateCognitoActionConditionalBehaviorEnum": { + "base": null, + "refs": { + "AuthenticateCognitoActionConfig$OnUnauthenticatedRequest": "

The behavior if the user is not authenticated. The following are possible values:

" + } + }, + "AuthenticateCognitoActionConfig": { + "base": "

Request parameters to use when integrating with Amazon Cognito to authenticate users.

", + "refs": { + "Action$AuthenticateCognitoConfig": "

[HTTPS listener] Information for using Amazon Cognito to authenticate users. Specify only when Type is authenticate-cognito.

" + } + }, + "AuthenticateCognitoActionScope": { + "base": null, + "refs": { + "AuthenticateCognitoActionConfig$Scope": "

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.

" + } + }, + "AuthenticateCognitoActionSessionCookieName": { + "base": null, + "refs": { + "AuthenticateCognitoActionConfig$SessionCookieName": "

The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.

" + } + }, + "AuthenticateCognitoActionSessionTimeout": { + "base": null, + "refs": { + "AuthenticateCognitoActionConfig$SessionTimeout": "

The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).

" + } + }, + "AuthenticateCognitoActionUserPoolArn": { + "base": null, + "refs": { + "AuthenticateCognitoActionConfig$UserPoolArn": "

The Amazon Resource Name (ARN) of the Amazon Cognito user pool.

" + } + }, + "AuthenticateCognitoActionUserPoolClientId": { + "base": null, + "refs": { + "AuthenticateCognitoActionConfig$UserPoolClientId": "

The ID of the Amazon Cognito user pool client.

" + } + }, + "AuthenticateCognitoActionUserPoolDomain": { + "base": null, + "refs": { + "AuthenticateCognitoActionConfig$UserPoolDomain": "

The domain prefix or fully-qualified domain name of the Amazon Cognito user pool.

" + } + }, + "AuthenticateOidcActionAuthenticationRequestExtraParams": { + "base": null, + "refs": { + "AuthenticateOidcActionConfig$AuthenticationRequestExtraParams": "

The query parameters (up to 10) to include in the redirect request to the authorization endpoint.

" + } + }, + "AuthenticateOidcActionAuthenticationRequestParamName": { + "base": null, + "refs": { + "AuthenticateOidcActionAuthenticationRequestExtraParams$key": null + } + }, + "AuthenticateOidcActionAuthenticationRequestParamValue": { + "base": null, + "refs": { + "AuthenticateOidcActionAuthenticationRequestExtraParams$value": null + } + }, + "AuthenticateOidcActionAuthorizationEndpoint": { + "base": null, + "refs": { + "AuthenticateOidcActionConfig$AuthorizationEndpoint": "

The authorization endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

" + } + }, + "AuthenticateOidcActionClientId": { + "base": null, + "refs": { + "AuthenticateOidcActionConfig$ClientId": "

The OAuth 2.0 client identifier.

" + } + }, + "AuthenticateOidcActionClientSecret": { + "base": null, + "refs": { + "AuthenticateOidcActionConfig$ClientSecret": "

The OAuth 2.0 client secret.

" + } + }, + "AuthenticateOidcActionConditionalBehaviorEnum": { + "base": null, + "refs": { + "AuthenticateOidcActionConfig$OnUnauthenticatedRequest": "

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.

" + } + }, + "AuthenticateOidcActionConfig": { + "base": "

Request parameters when using an identity provider (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.

", + "refs": { + "Action$AuthenticateOidcConfig": "

[HTTPS listener] Information about an identity provider that is compliant with OpenID Connect (OIDC). Specify only when Type is authenticate-oidc.

" + } + }, + "AuthenticateOidcActionIssuer": { + "base": null, + "refs": { + "AuthenticateOidcActionConfig$Issuer": "

The OIDC issuer identifier of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

" + } + }, + "AuthenticateOidcActionScope": { + "base": null, + "refs": { + "AuthenticateOidcActionConfig$Scope": "

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.

" + } + }, + "AuthenticateOidcActionSessionCookieName": { + "base": null, + "refs": { + "AuthenticateOidcActionConfig$SessionCookieName": "

The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.

" + } + }, + "AuthenticateOidcActionSessionTimeout": { + "base": null, + "refs": { + "AuthenticateOidcActionConfig$SessionTimeout": "

The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).

" + } + }, + "AuthenticateOidcActionTokenEndpoint": { + "base": null, + "refs": { + "AuthenticateOidcActionConfig$TokenEndpoint": "

The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

" + } + }, + "AuthenticateOidcActionUserInfoEndpoint": { + "base": null, + "refs": { + "AuthenticateOidcActionConfig$UserInfoEndpoint": "

The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

" + } + }, "AvailabilityZone": { "base": "

Information about an Availability Zone.

", "refs": { @@ -134,10 +290,10 @@ "refs": { "AddListenerCertificatesInput$Certificates": "

The certificate to add. You can specify one certificate per call.

", "AddListenerCertificatesOutput$Certificates": "

Information about the certificates.

", - "CreateListenerInput$Certificates": "

[HTTPS listeners] The SSL server certificate. You must provide exactly one certificate.

", + "CreateListenerInput$Certificates": "

[HTTPS listeners] The default SSL server certificate. You must provide exactly one default certificate. To create a certificate list, use AddListenerCertificates.

", "DescribeListenerCertificatesOutput$Certificates": "

Information about the certificates.

", "Listener$Certificates": "

The SSL server certificate. You must provide a certificate if the protocol is HTTPS.

", - "ModifyListenerInput$Certificates": "

The default SSL server certificate.

", + "ModifyListenerInput$Certificates": "

[HTTPS listeners] The default SSL server certificate. You must provide exactly one default certificate. To create a certificate list, use AddListenerCertificates.

", "RemoveListenerCertificatesInput$Certificates": "

The certificate to remove. You can specify one certificate per call.

" } }, @@ -420,11 +576,35 @@ "refs": { } }, + "FixedResponseActionConfig": { + "base": "

Information about an action that returns a custom HTTP response.

", + "refs": { + "Action$FixedResponseConfig": "

[Application Load Balancer] Information for creating an action that returns a custom HTTP response. Specify only when Type is fixed-response.

" + } + }, + "FixedResponseActionContentType": { + "base": null, + "refs": { + "FixedResponseActionConfig$ContentType": "

The content type.

Valid Values: text/plain | text/css | text/html | application/javascript | application/json

" + } + }, + "FixedResponseActionMessage": { + "base": null, + "refs": { + "FixedResponseActionConfig$MessageBody": "

The message.

" + } + }, + "FixedResponseActionStatusCode": { + "base": null, + "refs": { + "FixedResponseActionConfig$StatusCode": "

The HTTP response code (2XX, 4XX, or 5XX).

" + } + }, "HealthCheckIntervalSeconds": { "base": null, "refs": { - "CreateTargetGroupInput$HealthCheckIntervalSeconds": "

The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds. The default is 30 seconds.

", - "ModifyTargetGroupInput$HealthCheckIntervalSeconds": "

The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds.

", + "CreateTargetGroupInput$HealthCheckIntervalSeconds": "

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.

", + "ModifyTargetGroupInput$HealthCheckIntervalSeconds": "

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.

", "TargetGroup$HealthCheckIntervalSeconds": "

The approximate amount of time, in seconds, between health checks of an individual target.

" } }, @@ -451,7 +631,7 @@ "HealthCheckTimeoutSeconds": { "base": null, "refs": { - "CreateTargetGroupInput$HealthCheckTimeoutSeconds": "

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 to 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.

", + "CreateTargetGroupInput$HealthCheckTimeoutSeconds": "

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.

", "ModifyTargetGroupInput$HealthCheckTimeoutSeconds": "

[HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health check.

", "TargetGroup$HealthCheckTimeoutSeconds": "

The amount of time, in seconds, during which no response means a failed health check.

" } @@ -464,7 +644,7 @@ "HttpCode": { "base": null, "refs": { - "Matcher$HttpCode": "

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 to 399.

" + "Matcher$HttpCode": "

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.

" } }, "IncompatibleProtocolsException": { @@ -477,6 +657,11 @@ "refs": { } }, + "InvalidLoadBalancerActionException": { + "base": "

The requested action is not valid.

", + "refs": { + } + }, "InvalidSchemeException": { "base": "

The requested scheme is not valid.

", "refs": { @@ -533,7 +718,7 @@ "ListOfString": { "base": null, "refs": { - "RuleCondition$Values": "

The condition value.

If the field name is host-header, you can specify a single host name (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • - .

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

If the field name is path-pattern, you can specify a single path pattern (for example, /img/*). A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • _ - . $ / ~ \" ' @ : +

  • & (using &amp;)

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

" + "RuleCondition$Values": "

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)

" } }, "Listener": { @@ -572,7 +757,7 @@ "refs": { "CreateListenerOutput$Listeners": "

Information about the listener.

", "DescribeListenersOutput$Listeners": "

Information about the listeners.

", - "ModifyListenerOutput$Listeners": "

Information about the modified listeners.

" + "ModifyListenerOutput$Listeners": "

Information about the modified listener.

" } }, "LoadBalancer": { @@ -626,7 +811,7 @@ "LoadBalancerAttributeKey": { "base": null, "refs": { - "LoadBalancerAttribute$Key": "

The name of the attribute.

  • access_logs.s3.enabled - [Application Load Balancers] Indicates whether access logs stored in Amazon S3 are enabled. The value is true or false.

  • access_logs.s3.bucket - [Application Load Balancers] The name of the S3 bucket for the access logs. This attribute is required if access logs in Amazon S3 are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permission to write to the bucket.

  • access_logs.s3.prefix - [Application Load Balancers] The prefix for the location in the S3 bucket. If you don't specify a prefix, the access logs are stored in the root of the bucket.

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false.

  • idle_timeout.timeout_seconds - [Application Load Balancers] The idle timeout value, in seconds. The valid range is 1-4000. The default is 60 seconds.

" + "LoadBalancerAttribute$Key": "

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.

" } }, "LoadBalancerAttributeValue": { @@ -646,7 +831,7 @@ "LoadBalancerName": { "base": null, "refs": { - "CreateLoadBalancerInput$Name": "

The name of the load balancer.

This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.

", + "CreateLoadBalancerInput$Name": "

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-\".

", "LoadBalancer$LoadBalancerName": "

The name of the load balancer.

", "LoadBalancerNames$member": null } @@ -665,8 +850,8 @@ "LoadBalancerSchemeEnum": { "base": null, "refs": { - "CreateLoadBalancerInput$Scheme": "

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.

", - "LoadBalancer$Scheme": "

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.

" + "CreateLoadBalancerInput$Scheme": "

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.

", + "LoadBalancer$Scheme": "

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.

" } }, "LoadBalancerState": { @@ -684,7 +869,7 @@ "LoadBalancerTypeEnum": { "base": null, "refs": { - "CreateLoadBalancerInput$Type": "

The type of load balancer to create. The default is application.

", + "CreateLoadBalancerInput$Type": "

The type of load balancer. The default is application.

", "LoadBalancer$Type": "

The type of load balancer.

" } }, @@ -838,6 +1023,48 @@ "TargetGroup$HealthCheckProtocol": "

The protocol to use to connect with the target.

" } }, + "RedirectActionConfig": { + "base": "

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\".

", + "refs": { + "Action$RedirectConfig": "

[Application Load Balancer] Information for creating a redirect action. Specify only when Type is redirect.

" + } + }, + "RedirectActionHost": { + "base": null, + "refs": { + "RedirectActionConfig$Host": "

The hostname. This component is not percent-encoded. The hostname can contain #{host}.

" + } + }, + "RedirectActionPath": { + "base": null, + "refs": { + "RedirectActionConfig$Path": "

The absolute path, starting with the leading \"/\". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}.

" + } + }, + "RedirectActionPort": { + "base": null, + "refs": { + "RedirectActionConfig$Port": "

The port. You can specify a value from 1 to 65535 or #{port}.

" + } + }, + "RedirectActionProtocol": { + "base": null, + "refs": { + "RedirectActionConfig$Protocol": "

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.

" + } + }, + "RedirectActionQuery": { + "base": null, + "refs": { + "RedirectActionConfig$Query": "

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.

" + } + }, + "RedirectActionStatusCodeEnum": { + "base": null, + "refs": { + "RedirectActionConfig$StatusCode": "

The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP 302).

" + } + }, "RegisterTargetsInput": { "base": null, "refs": { @@ -919,8 +1146,8 @@ "RuleConditionList": { "base": null, "refs": { - "CreateRuleInput$Conditions": "

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. Note that you can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • - .

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

If the field name is path-pattern, you can specify a single path pattern. A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • _ - . $ / ~ \" ' @ : +

  • & (using &amp;)

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

", - "ModifyRuleInput$Conditions": "

The conditions.

", + "CreateRuleInput$Conditions": "

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)

", + "ModifyRuleInput$Conditions": "

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)

", "Rule$Conditions": "

The conditions.

" } }, @@ -932,7 +1159,7 @@ "RulePriority": { "base": null, "refs": { - "CreateRuleInput$Priority": "

The priority for the rule. A listener can't have multiple rules with the same priority.

", + "CreateRuleInput$Priority": "

The rule priority. A listener can't have multiple rules with the same priority.

", "RulePriorityPair$Priority": "

The rule priority.

" } }, @@ -953,7 +1180,7 @@ "refs": { "CreateRuleOutput$Rules": "

Information about the rule.

", "DescribeRulesOutput$Rules": "

Information about the rules.

", - "ModifyRuleOutput$Rules": "

Information about the rule.

", + "ModifyRuleOutput$Rules": "

Information about the modified rule.

", "SetRulePrioritiesOutput$Rules": "

Information about the rules.

" } }, @@ -971,7 +1198,7 @@ "SecurityGroups": { "base": null, "refs": { - "CreateLoadBalancerInput$SecurityGroups": "

[Application Load Balancers] The IDs of the security groups to assign to the load balancer.

", + "CreateLoadBalancerInput$SecurityGroups": "

[Application Load Balancers] The IDs of the security groups for the load balancer.

", "LoadBalancer$SecurityGroups": "

The IDs of the security groups for the load balancer.

", "SetSecurityGroupsInput$SecurityGroups": "

The IDs of the security groups.

", "SetSecurityGroupsOutput$SecurityGroupIds": "

The IDs of the security groups associated with the load balancer.

" @@ -1034,7 +1261,7 @@ "refs": { "CreateListenerInput$SslPolicy": "

[HTTPS listeners] The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.

", "Listener$SslPolicy": "

The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.

", - "ModifyListenerInput$SslPolicy": "

The security policy that defines which protocols and ciphers are supported. For more information, see Security Policies in the Application Load Balancers Guide.

", + "ModifyListenerInput$SslPolicy": "

[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.

", "SslPolicy$Name": "

The name of the policy.

", "SslPolicyNames$member": null } @@ -1092,8 +1319,8 @@ "SubnetMappings": { "base": null, "refs": { - "CreateLoadBalancerInput$SubnetMappings": "

The IDs of the subnets to attach to the load balancer. 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.

", - "SetSubnetsInput$SubnetMappings": "

The IDs of the 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.

" + "CreateLoadBalancerInput$SubnetMappings": "

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.

", + "SetSubnetsInput$SubnetMappings": "

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.

" } }, "SubnetNotFoundException": { @@ -1104,8 +1331,8 @@ "Subnets": { "base": null, "refs": { - "CreateLoadBalancerInput$Subnets": "

The IDs of the subnets to attach to the load balancer. 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.

", - "SetSubnetsInput$Subnets": "

The IDs of the 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.

" + "CreateLoadBalancerInput$Subnets": "

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.

", + "SetSubnetsInput$Subnets": "

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.

" } }, "Tag": { @@ -1177,7 +1404,7 @@ "TargetGroupArn": { "base": null, "refs": { - "Action$TargetGroupArn": "

The Amazon Resource Name (ARN) of the target group.

", + "Action$TargetGroupArn": "

The Amazon Resource Name (ARN) of the target group. Specify only when Type is forward.

", "DeleteTargetGroupInput$TargetGroupArn": "

The Amazon Resource Name (ARN) of the target group.

", "DeregisterTargetsInput$TargetGroupArn": "

The Amazon Resource Name (ARN) of the target group.

", "DescribeTargetGroupAttributesInput$TargetGroupArn": "

The Amazon Resource Name (ARN) of the target group.

", @@ -1209,7 +1436,7 @@ "TargetGroupAttributeKey": { "base": null, "refs": { - "TargetGroupAttribute$Key": "

The name of the attribute.

  • deregistration_delay.timeout_seconds - The amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.

  • proxy_protocol_v2.enabled - [Network Load Balancers] Indicates whether Proxy Protocol version 2 is enabled.

  • stickiness.enabled - [Application Load Balancers] Indicates whether sticky sessions are enabled. The value is true or false.

  • stickiness.type - [Application Load Balancers] The type of sticky sessions. The possible value is lb_cookie.

  • stickiness.lb_cookie.duration_seconds - [Application Load Balancers] 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).

" + "TargetGroupAttribute$Key": "

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.

" } }, "TargetGroupAttributeValue": { @@ -1250,7 +1477,7 @@ "refs": { "CreateTargetGroupOutput$TargetGroups": "

Information about the target group.

", "DescribeTargetGroupsOutput$TargetGroups": "

Information about the target groups.

", - "ModifyTargetGroupOutput$TargetGroups": "

Information about the target group.

" + "ModifyTargetGroupOutput$TargetGroups": "

Information about the modified target group.

" } }, "TargetHealth": { @@ -1292,10 +1519,15 @@ "TargetTypeEnum": { "base": null, "refs": { - "CreateTargetGroupInput$TargetType": "

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. Note that 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.

", + "CreateTargetGroupInput$TargetType": "

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.

", "TargetGroup$TargetType": "

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).

" } }, + "TooManyActionsException": { + "base": "

You've reached the limit on the number of actions per rule.

", + "refs": { + } + }, "TooManyCertificatesException": { "base": "

You've reached the limit on the number of certificates per load balancer.

", "refs": { diff --git a/models/apis/elasticloadbalancingv2/2015-12-01/smoke.json b/models/apis/elasticloadbalancingv2/2015-12-01/smoke.json new file mode 100644 index 00000000000..94d3a99200f --- /dev/null +++ b/models/apis/elasticloadbalancingv2/2015-12-01/smoke.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeLoadBalancers", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeLoadBalancers", + "input": { + "LoadBalancerArns": [ + "fake_load_balancer" + ] + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/elasticmapreduce/2009-03-31/api-2.json b/models/apis/elasticmapreduce/2009-03-31/api-2.json index ae9511c48d4..6d4157fda05 100644 --- a/models/apis/elasticmapreduce/2009-03-31/api-2.json +++ b/models/apis/elasticmapreduce/2009-03-31/api-2.json @@ -7,6 +7,7 @@ "protocol":"json", "serviceAbbreviation":"Amazon EMR", "serviceFullName":"Amazon Elastic MapReduce", + "serviceId":"EMR", "signatureVersion":"v4", "targetPrefix":"ElasticMapReduce", "timestampFormat":"unixTimestamp", diff --git a/models/apis/elasticmapreduce/2009-03-31/docs-2.json b/models/apis/elasticmapreduce/2009-03-31/docs-2.json index b677b13aa61..6dadaec663c 100644 --- a/models/apis/elasticmapreduce/2009-03-31/docs-2.json +++ b/models/apis/elasticmapreduce/2009-03-31/docs-2.json @@ -9,7 +9,7 @@ "CancelSteps": "

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": "

Creates a security configuration, which is stored in the service and can be specified when a cluster is created.

", "DeleteSecurityConfiguration": "

Deletes a security configuration.

", - "DescribeCluster": "

Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on. For information about the cluster steps, see ListSteps.

", + "DescribeCluster": "

Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on.

", "DescribeJobFlows": "

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.

", "DescribeSecurityConfiguration": "

Provides the details of a security configuration by returning the configuration JSON.

", "DescribeStep": "

Provides more detail about the cluster step.

", @@ -1365,7 +1365,7 @@ "Cluster$LogUri": "

The path to the Amazon S3 location where logs for this cluster are stored.

", "Cluster$RequestedAmiVersion": "

The AMI version requested for this cluster.

", "Cluster$RunningAmiVersion": "

The AMI version running on this cluster.

", - "Cluster$ReleaseLabel": "

The release label for the Amazon EMR release.

", + "Cluster$ReleaseLabel": "

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.

", "Cluster$ServiceRole": "

The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

", "Cluster$MasterPublicDnsName": "

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.

", "ClusterStateChangeReason$Message": "

The descriptive message for the state change reason.

", @@ -1397,7 +1397,7 @@ "Instance$InstanceGroupId": "

The identifier of the instance group to which this instance belongs.

", "InstanceFleetStateChangeReason$Message": "

An explanatory message.

", "InstanceGroup$Name": "

The name of the instance group.

", - "InstanceGroup$BidPrice": "

The bid price for each EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD.

", + "InstanceGroup$BidPrice": "

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.

", "InstanceGroupStateChangeReason$Message": "

The status change reason description.

", "InstanceStateChangeReason$Message": "

The status change reason description.

", "MetricDimension$Key": "

The dimension name.

", @@ -1558,19 +1558,19 @@ "InstanceFleet$Name": "

A friendly name for the instance fleet.

", "InstanceFleetConfig$Name": "

The friendly name of the instance fleet.

", "InstanceGroupConfig$Name": "

Friendly name given to the instance group.

", - "InstanceGroupConfig$BidPrice": "

Bid price for each EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD.

", + "InstanceGroupConfig$BidPrice": "

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.

", "InstanceGroupDetail$InstanceGroupId": "

Unique identifier for the instance group.

", "InstanceGroupDetail$Name": "

Friendly name for the instance group.

", - "InstanceGroupDetail$BidPrice": "

Bid price for EC2 Instances when launching nodes as Spot Instances, expressed in USD.

", + "InstanceGroupDetail$BidPrice": "

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.

", "InstanceGroupIdsList$member": null, "InstanceGroupModifyConfig$InstanceGroupId": "

Unique ID of the instance group to expand or shrink.

", "InstanceTypeConfig$BidPrice": "

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%.

", "InstanceTypeSpecification$BidPrice": "

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD.

", "JobFlowDetail$JobFlowId": "

The job flow identifier.

", "JobFlowDetail$Name": "

The name of the job flow.

", - "JobFlowDetail$AmiVersion": "

Used only for version 2.x and 3.x of Amazon EMR. The version of the AMI used to initialize Amazon EC2 instances in the job flow. For a list of AMI versions supported by Amazon EMR, see AMI Versions Supported in EMR in the Amazon EMR Developer Guide.

", + "JobFlowDetail$AmiVersion": "

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.

", "JobFlowInstancesConfig$Ec2KeyName": "

The name of the EC2 key pair that can be used to ssh to the master node as the user called \"hadoop.\"

", - "JobFlowInstancesConfig$HadoopVersion": "

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.

", + "JobFlowInstancesConfig$HadoopVersion": "

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.

", "JobFlowInstancesConfig$Ec2SubnetId": "

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.

", "JobFlowInstancesConfig$EmrManagedMasterSecurityGroup": "

The identifier of the Amazon EC2 security group for the master node.

", "JobFlowInstancesConfig$EmrManagedSlaveSecurityGroup": "

The identifier of the Amazon EC2 security group for the slave nodes.

", @@ -1584,8 +1584,8 @@ "KerberosAttributes$ADDomainJoinUser": "

Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain.

", "KerberosAttributes$ADDomainJoinPassword": "

The Active Directory password for ADDomainJoinUser.

", "RunJobFlowInput$Name": "

The name of the job flow.

", - "RunJobFlowInput$AmiVersion": "

For Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, the Linux AMI is determined by the ReleaseLabel specified or by CustomAmiID. The version of the Amazon Machine Image (AMI) to use when launching Amazon EC2 instances in the job flow. For details about the AMI versions currently supported in EMR version 3.x and 2.x, see AMI Versions Supported in EMR in the Amazon EMR Developer Guide.

If the AMI supports multiple versions of Hadoop (for example, AMI 1.0 supports both Hadoop 0.18 and 0.20), you can use the JobFlowInstancesConfig HadoopVersion parameter to modify the version of Hadoop from the defaults shown above.

Previously, the EMR AMI version API parameter options allowed you to use latest for the latest AMI version rather than specify a numerical value. Some regions no longer support this deprecated option as they only have a newer release label version of EMR, which requires you to specify an EMR release label release (EMR 4.x or later).

", - "RunJobFlowInput$ReleaseLabel": "

The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x AMIs, use AmiVersion instead.

", + "RunJobFlowInput$AmiVersion": "

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.

", + "RunJobFlowInput$ReleaseLabel": "

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.

", "RunJobFlowInput$CustomAmiId": "

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.

", "RunJobFlowOutput$JobFlowId": "

An unique identifier for the job flow.

", "SecurityGroupsList$member": null, diff --git a/models/apis/elasticmapreduce/2009-03-31/smoke.json b/models/apis/elasticmapreduce/2009-03-31/smoke.json new file mode 100644 index 00000000000..2f95f63fb7c --- /dev/null +++ b/models/apis/elasticmapreduce/2009-03-31/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListClusters", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeCluster", + "input": { + "ClusterId": "fake_cluster" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/email/2010-12-01/api-2.json b/models/apis/email/2010-12-01/api-2.json index 205313cc811..2c43e8761bd 100644 --- a/models/apis/email/2010-12-01/api-2.json +++ b/models/apis/email/2010-12-01/api-2.json @@ -84,6 +84,20 @@ {"shape":"InvalidTrackingOptionsException"} ] }, + "CreateCustomVerificationEmailTemplate":{ + "name":"CreateCustomVerificationEmailTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCustomVerificationEmailTemplateRequest"}, + "errors":[ + {"shape":"CustomVerificationEmailTemplateAlreadyExistsException"}, + {"shape":"FromEmailAddressNotVerifiedException"}, + {"shape":"CustomVerificationEmailInvalidContentException"}, + {"shape":"LimitExceededException"} + ] + }, "CreateReceiptFilter":{ "name":"CreateReceiptFilter", "http":{ @@ -201,6 +215,14 @@ {"shape":"TrackingOptionsDoesNotExistException"} ] }, + "DeleteCustomVerificationEmailTemplate":{ + "name":"DeleteCustomVerificationEmailTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCustomVerificationEmailTemplateRequest"} + }, "DeleteIdentity":{ "name":"DeleteIdentity", "http":{ @@ -356,6 +378,21 @@ "resultWrapper":"GetAccountSendingEnabledResult" } }, + "GetCustomVerificationEmailTemplate":{ + "name":"GetCustomVerificationEmailTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCustomVerificationEmailTemplateRequest"}, + "output":{ + "shape":"GetCustomVerificationEmailTemplateResponse", + "resultWrapper":"GetCustomVerificationEmailTemplateResult" + }, + "errors":[ + {"shape":"CustomVerificationEmailTemplateDoesNotExistException"} + ] + }, "GetIdentityDkimAttributes":{ "name":"GetIdentityDkimAttributes", "http":{ @@ -465,6 +502,18 @@ "resultWrapper":"ListConfigurationSetsResult" } }, + "ListCustomVerificationEmailTemplates":{ + "name":"ListCustomVerificationEmailTemplates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCustomVerificationEmailTemplatesRequest"}, + "output":{ + "shape":"ListCustomVerificationEmailTemplatesResponse", + "resultWrapper":"ListCustomVerificationEmailTemplatesResult" + } + }, "ListIdentities":{ "name":"ListIdentities", "http":{ @@ -602,6 +651,25 @@ {"shape":"AccountSendingPausedException"} ] }, + "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"} + ] + }, "SendEmail":{ "name":"SendEmail", "http":{ @@ -834,6 +902,19 @@ {"shape":"InvalidTrackingOptionsException"} ] }, + "UpdateCustomVerificationEmailTemplate":{ + "name":"UpdateCustomVerificationEmailTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCustomVerificationEmailTemplateRequest"}, + "errors":[ + {"shape":"CustomVerificationEmailTemplateDoesNotExistException"}, + {"shape":"FromEmailAddressNotVerifiedException"}, + {"shape":"CustomVerificationEmailInvalidContentException"} + ] + }, "UpdateReceiptRule":{ "name":"UpdateReceiptRule", "http":{ @@ -1225,6 +1306,25 @@ "members":{ } }, + "CreateCustomVerificationEmailTemplateRequest":{ + "type":"structure", + "required":[ + "TemplateName", + "FromEmailAddress", + "TemplateSubject", + "TemplateContent", + "SuccessRedirectionURL", + "FailureRedirectionURL" + ], + "members":{ + "TemplateName":{"shape":"TemplateName"}, + "FromEmailAddress":{"shape":"FromAddress"}, + "TemplateSubject":{"shape":"Subject"}, + "TemplateContent":{"shape":"TemplateContent"}, + "SuccessRedirectionURL":{"shape":"SuccessRedirectionURL"}, + "FailureRedirectionURL":{"shape":"FailureRedirectionURL"} + } + }, "CreateReceiptFilterRequest":{ "type":"structure", "required":["Filter"], @@ -1288,6 +1388,55 @@ ] }, "CustomRedirectDomain":{"type":"string"}, + "CustomVerificationEmailInvalidContentException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"CustomVerificationEmailInvalidContent", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "CustomVerificationEmailTemplate":{ + "type":"structure", + "members":{ + "TemplateName":{"shape":"TemplateName"}, + "FromEmailAddress":{"shape":"FromAddress"}, + "TemplateSubject":{"shape":"Subject"}, + "SuccessRedirectionURL":{"shape":"SuccessRedirectionURL"}, + "FailureRedirectionURL":{"shape":"FailureRedirectionURL"} + } + }, + "CustomVerificationEmailTemplateAlreadyExistsException":{ + "type":"structure", + "members":{ + "CustomVerificationEmailTemplateName":{"shape":"TemplateName"} + }, + "error":{ + "code":"CustomVerificationEmailTemplateAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "CustomVerificationEmailTemplateDoesNotExistException":{ + "type":"structure", + "members":{ + "CustomVerificationEmailTemplateName":{"shape":"TemplateName"} + }, + "error":{ + "code":"CustomVerificationEmailTemplateDoesNotExist", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "CustomVerificationEmailTemplates":{ + "type":"list", + "member":{"shape":"CustomVerificationEmailTemplate"} + }, "DefaultDimensionValue":{"type":"string"}, "DeleteConfigurationSetEventDestinationRequest":{ "type":"structure", @@ -1329,6 +1478,13 @@ "members":{ } }, + "DeleteCustomVerificationEmailTemplateRequest":{ + "type":"structure", + "required":["TemplateName"], + "members":{ + "TemplateName":{"shape":"TemplateName"} + } + }, "DeleteIdentityPolicyRequest":{ "type":"structure", "required":[ @@ -1594,12 +1750,44 @@ }, "ExtensionFieldName":{"type":"string"}, "ExtensionFieldValue":{"type":"string"}, + "FailureRedirectionURL":{"type":"string"}, + "FromAddress":{"type":"string"}, + "FromEmailAddressNotVerifiedException":{ + "type":"structure", + "members":{ + "FromEmailAddress":{"shape":"FromAddress"} + }, + "error":{ + "code":"FromEmailAddressNotVerified", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "GetAccountSendingEnabledResponse":{ "type":"structure", "members":{ "Enabled":{"shape":"Enabled"} } }, + "GetCustomVerificationEmailTemplateRequest":{ + "type":"structure", + "required":["TemplateName"], + "members":{ + "TemplateName":{"shape":"TemplateName"} + } + }, + "GetCustomVerificationEmailTemplateResponse":{ + "type":"structure", + "members":{ + "TemplateName":{"shape":"TemplateName"}, + "FromEmailAddress":{"shape":"FromAddress"}, + "TemplateSubject":{"shape":"Subject"}, + "TemplateContent":{"shape":"TemplateContent"}, + "SuccessRedirectionURL":{"shape":"SuccessRedirectionURL"}, + "FailureRedirectionURL":{"shape":"FailureRedirectionURL"} + } + }, "GetIdentityDkimAttributesRequest":{ "type":"structure", "required":["Identities"], @@ -1953,6 +2141,20 @@ "NextToken":{"shape":"NextToken"} } }, + "ListCustomVerificationEmailTemplatesRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListCustomVerificationEmailTemplatesResponse":{ + "type":"structure", + "members":{ + "CustomVerificationEmailTemplates":{"shape":"CustomVerificationEmailTemplates"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListIdentitiesRequest":{ "type":"structure", "members":{ @@ -2046,6 +2248,12 @@ }, "Max24HourSend":{"type":"double"}, "MaxItems":{"type":"integer"}, + "MaxResults":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, "MaxSendRate":{"type":"double"}, "Message":{ "type":"structure", @@ -2142,6 +2350,17 @@ "type":"list", "member":{"shape":"PolicyName"} }, + "ProductionAccessNotGrantedException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ProductionAccessNotGranted", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "PutIdentityPolicyRequest":{ "type":"structure", "required":[ @@ -2408,6 +2627,24 @@ "Status":{"shape":"BulkEmailDestinationStatusList"} } }, + "SendCustomVerificationEmailRequest":{ + "type":"structure", + "required":[ + "EmailAddress", + "TemplateName" + ], + "members":{ + "EmailAddress":{"shape":"Address"}, + "TemplateName":{"shape":"TemplateName"}, + "ConfigurationSetName":{"shape":"ConfigurationSetName"} + } + }, + "SendCustomVerificationEmailResponse":{ + "type":"structure", + "members":{ + "MessageId":{"shape":"MessageId"} + } + }, "SendDataPoint":{ "type":"structure", "members":{ @@ -2620,7 +2857,9 @@ "type":"string", "enum":["RuleSet"] }, + "Subject":{"type":"string"}, "SubjectPart":{"type":"string"}, + "SuccessRedirectionURL":{"type":"string"}, "Template":{ "type":"structure", "required":["TemplateName"], @@ -2631,6 +2870,7 @@ "HtmlPart":{"shape":"HtmlPart"} } }, + "TemplateContent":{"type":"string"}, "TemplateData":{ "type":"string", "max":262144 @@ -2775,6 +3015,18 @@ "members":{ } }, + "UpdateCustomVerificationEmailTemplateRequest":{ + "type":"structure", + "required":["TemplateName"], + "members":{ + "TemplateName":{"shape":"TemplateName"}, + "FromEmailAddress":{"shape":"FromAddress"}, + "TemplateSubject":{"shape":"Subject"}, + "TemplateContent":{"shape":"TemplateContent"}, + "SuccessRedirectionURL":{"shape":"SuccessRedirectionURL"}, + "FailureRedirectionURL":{"shape":"FailureRedirectionURL"} + } + }, "UpdateReceiptRuleRequest":{ "type":"structure", "required":[ diff --git a/models/apis/email/2010-12-01/docs-2.json b/models/apis/email/2010-12-01/docs-2.json index d351fcb9196..0b8343c2466 100644 --- a/models/apis/email/2010-12-01/docs-2.json +++ b/models/apis/email/2010-12-01/docs-2.json @@ -1,18 +1,20 @@ { "version": "2.0", - "service": "Amazon Simple Email Service

This is the API Reference for Amazon Simple Email Service (Amazon SES). This documentation is intended to be used in conjunction with the Amazon SES Developer Guide.

For a list of Amazon SES endpoints to use in service requests, see Regions and Amazon SES in the Amazon SES Developer Guide.

", + "service": "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.

", "operations": { "CloneReceiptRuleSet": "

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": "

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": "

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 Amazon 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": "

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 configuration sets, see Configuring Custom Domains to Handle Open and Click Tracking in the Amazon SES Developer Guide.

", + "CreateConfigurationSetEventDestination": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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 configuration sets, see Configuring Custom Domains to Handle Open and Click Tracking in 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.

", + "DeleteConfigurationSetTrackingOptions": "

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": "

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": "

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": "

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": "

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.

", @@ -24,29 +26,32 @@ "DescribeConfigurationSet": "

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": "

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": "

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": "

Returns the email sending status of the Amazon SES account.

You can execute this operation no more than once per second.

", + "GetAccountSendingEnabled": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Provides the sending limits for the Amazon SES account.

You can execute this operation no more than once per second.

", - "GetSendStatistics": "

Provides sending statistics for the Amazon SES account. 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.

", + "GetSendStatistics": "

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": "

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": "

Provides a list of the configuration sets associated with your Amazon SES account. 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.

", - "ListIdentities": "

Returns a list containing all of the identities (email addresses and domains) for your AWS account, regardless of verification status.

You can execute this operation no more than once per second.

", + "ListConfigurationSets": "

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": "

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": "

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": "

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": "

Lists the IP address filters associated with your AWS account.

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": "

Lists the receipt rule sets that exist under your AWS account. If there are additional receipt rule sets to be retrieved, you will receive a NextToken that you can provide to the next call to ListReceiptRuleSets to retrieve the additional entries.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", - "ListTemplates": "

Lists the email templates present in your Amazon SES account.

You can execute this operation no more than once per second.

", + "ListReceiptFilters": "

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": "

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": "

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": "

Deprecated. Use the ListIdentities operation to list the email addresses and domains associated with your account.

", "PutIdentityPolicy": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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.

", + "SendTemplatedEmail": "

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": "

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": "

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": "

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.

", @@ -55,17 +60,18 @@ "SetIdentityNotificationTopic": "

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": "

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": "

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": "

Enables or disables email sending across your entire Amazon SES account. You can use this operation in conjunction with Amazon CloudWatch alarms to temporarily pause email sending across your Amazon SES account when reputation metrics (such as your bounce on complaint rate) reach certain thresholds.

You can execute this operation no more than once per second.

", + "UpdateAccountSendingEnabled": "

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": "

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": "

Enables or disables the publishing of reputation metrics for emails sent using a specific configuration set. Reputation metrics include bounce and complaint rates. These metrics are published to Amazon CloudWatch. By using Amazon CloudWatch, you can create alarms when bounce or complaint rates exceed a certain threshold.

You can execute this operation no more than once per second.

", - "UpdateConfigurationSetSendingEnabled": "

Enables or disables email sending for messages sent using a specific configuration set. 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) reach certain thresholds.

You can execute this operation no more than once per second.

", - "UpdateConfigurationSetTrackingOptions": "

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 configuration sets, see Configuring Custom Domains to Handle Open and Click Tracking in the Amazon SES Developer Guide.

", + "UpdateConfigurationSetReputationMetricsEnabled": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Adds a domain to the list of identities for your Amazon SES account 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.

", + "VerifyDomainIdentity": "

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": "

Deprecated. Use the VerifyEmailIdentity operation to verify a new email address.

", - "VerifyEmailIdentity": "

Adds an email address to the list of identities for your Amazon SES account and attempts to verify it. This operation causes a confirmation email message to be sent to the specified address.

You can execute this operation no more than once per second.

" + "VerifyEmailIdentity": "

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": { @@ -88,12 +94,13 @@ "DeleteVerifiedEmailAddressRequest$EmailAddress": "

An email address to be removed from the list of verified addresses.

", "RecipientDsnFields$FinalRecipient": "

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.

", "SendBounceRequest$BounceSender": "

The address to use in the \"From\" header of the bounce message. This must be an identity that you have verified with Amazon SES.

", - "SendBulkTemplatedEmailRequest$Source": "

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

In all cases, the email address must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

", + "SendBulkTemplatedEmailRequest$Source": "

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?=.

", "SendBulkTemplatedEmailRequest$ReturnPath": "

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.

", - "SendEmailRequest$Source": "

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

In all cases, the email address must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

", + "SendCustomVerificationEmailRequest$EmailAddress": "

The email address to verify.

", + "SendEmailRequest$Source": "

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?=.

", "SendEmailRequest$ReturnPath": "

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.

", - "SendRawEmailRequest$Source": "

The identity's email address. If you do not provide a value for this parameter, you must specify a \"From\" address in the raw text of the message. (You can also specify both.)

By default, the string must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

If you specify the Source parameter and have feedback forwarding enabled, then bounces and complaints will be sent to this email address. This takes precedence over any Return-Path header that you might include in the raw text of the message.

", - "SendTemplatedEmailRequest$Source": "

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

In all cases, the email address must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

", + "SendRawEmailRequest$Source": "

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.

", + "SendTemplatedEmailRequest$Source": "

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?=.

", "SendTemplatedEmailRequest$ReturnPath": "

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.

", "VerifyEmailAddressRequest$EmailAddress": "

The email address to be verified.

", "VerifyEmailIdentityRequest$EmailAddress": "

The email address to be verified.

" @@ -129,7 +136,7 @@ "LambdaAction$TopicArn": "

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.

", "LambdaAction$FunctionArn": "

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.

", "S3Action$TopicArn": "

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.

", - "S3Action$KmsKeyArn": "

The customer master key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the default master key or a custom master key you created in AWS KMS as follows:

  • To use the default master key, provide an ARN in the form of arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses. For example, if your AWS account ID is 123456789012 and you want to use the default master key in the US West (Oregon) region, the ARN of the default master key would be arn:aws:kms:us-west-2:123456789012:alias/aws/ses. If you use the default master key, you don't need to perform any extra steps to give Amazon SES permission to use the key.

  • To use a custom master key you created in AWS KMS, provide the ARN of the master key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the Amazon SES Developer Guide.

For more information about key policies, see the AWS KMS Developer Guide. If you do not specify a master key, Amazon SES will not encrypt your emails.

Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the AWS Java SDK and AWS Ruby SDK only. For more information about client-side encryption using AWS KMS master keys, see the Amazon S3 Developer Guide.

", + "S3Action$KmsKeyArn": "

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.

", "SNSAction$TopicArn": "

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.

", "SNSDestination$TopicARN": "

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.

", "SendBounceRequest$BounceSenderArn": "

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.

", @@ -334,6 +341,7 @@ "InvalidFirehoseDestinationException$ConfigurationSetName": "

Indicates that the configuration set does not exist.

", "InvalidSNSDestinationException$ConfigurationSetName": "

Indicates that the configuration set does not exist.

", "SendBulkTemplatedEmailRequest$ConfigurationSetName": "

The name of the configuration set to use when you send an email using SendBulkTemplatedEmail.

", + "SendCustomVerificationEmailRequest$ConfigurationSetName": "

Name of a configuration set to use when sending the verification email.

", "SendEmailRequest$ConfigurationSetName": "

The name of the configuration set to use when you send an email using SendEmail.

", "SendRawEmailRequest$ConfigurationSetName": "

The name of the configuration set to use when you send an email using SendRawEmail.

", "SendTemplatedEmailRequest$ConfigurationSetName": "

The name of the configuration set to use when you send an email using SendTemplatedEmail.

", @@ -403,6 +411,11 @@ "refs": { } }, + "CreateCustomVerificationEmailTemplateRequest": { + "base": "

Represents a request to create a custom verification email template.

", + "refs": { + } + }, "CreateReceiptFilterRequest": { "base": "

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.

", "refs": { @@ -455,10 +468,37 @@ "TrackingOptions$CustomRedirectDomain": "

The custom subdomain that will be used to redirect email recipients to the Amazon SES event tracking domain.

" } }, + "CustomVerificationEmailInvalidContentException": { + "base": "

Indicates that custom verification email template provided content is invalid.

", + "refs": { + } + }, + "CustomVerificationEmailTemplate": { + "base": "

Contains information about a custom verification email template.

", + "refs": { + "CustomVerificationEmailTemplates$member": null + } + }, + "CustomVerificationEmailTemplateAlreadyExistsException": { + "base": "

Indicates that a custom verification email template with the name you specified already exists.

", + "refs": { + } + }, + "CustomVerificationEmailTemplateDoesNotExistException": { + "base": "

Indicates that a custom verification email template with the name you specified does not exist.

", + "refs": { + } + }, + "CustomVerificationEmailTemplates": { + "base": null, + "refs": { + "ListCustomVerificationEmailTemplatesResponse$CustomVerificationEmailTemplates": "

A list of the custom verification email templates that exist in your account.

" + } + }, "DefaultDimensionValue": { "base": null, "refs": { - "CloudWatchDimensionConfiguration$DefaultDimensionValue": "

The default value of the dimension that is published to Amazon CloudWatch if you do not provide the value of the dimension when you send an email. The default value must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 256 characters.

" + "CloudWatchDimensionConfiguration$DefaultDimensionValue": "

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.

" } }, "DeleteConfigurationSetEventDestinationRequest": { @@ -491,6 +531,11 @@ "refs": { } }, + "DeleteCustomVerificationEmailTemplateRequest": { + "base": "

Represents a request to delete an existing custom verification email template.

", + "refs": { + } + }, "DeleteIdentityPolicyRequest": { "base": "

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.

", "refs": { @@ -597,7 +642,7 @@ } }, "Destination": { - "base": "

Represents the destination of the message, consisting of To:, CC:, and BCC: fields.

By default, the string must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

", + "base": "

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.

", "refs": { "BulkEmailDestination$Destination": null, "SendEmailRequest$Destination": "

The destination for this email, composed of To:, CC:, and BCC: fields.

", @@ -613,7 +658,7 @@ "DimensionName": { "base": null, "refs": { - "CloudWatchDimensionConfiguration$DimensionName": "

The name of an Amazon CloudWatch dimension associated with an email sending metric. The name must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 256 characters.

" + "CloudWatchDimensionConfiguration$DimensionName": "

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": { @@ -651,7 +696,7 @@ "base": null, "refs": { "EventDestination$Enabled": "

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.

", - "GetAccountSendingEnabledResponse$Enabled": "

Describes whether email sending is enabled or disabled for your Amazon SES account.

", + "GetAccountSendingEnabledResponse$Enabled": "

Describes whether email sending is enabled or disabled for your Amazon SES account in the current AWS Region.

", "IdentityDkimAttributes$DkimEnabled": "

True if DKIM signing is enabled for email sent from the identity; false otherwise. The default value is true.

", "IdentityNotificationAttributes$ForwardingEnabled": "

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.

", "IdentityNotificationAttributes$HeadersInBounceNotificationsEnabled": "

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.

", @@ -664,7 +709,7 @@ "SetIdentityDkimEnabledRequest$DkimEnabled": "

Sets whether DKIM signing is enabled for an identity. Set to true to enable DKIM signing for this identity; false to disable it.

", "SetIdentityFeedbackForwardingEnabledRequest$ForwardingEnabled": "

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.

", "SetIdentityHeadersInNotificationsEnabledRequest$Enabled": "

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.

", - "UpdateAccountSendingEnabledRequest$Enabled": "

Describes whether email sending is enabled or disabled for your Amazon SES account.

", + "UpdateAccountSendingEnabledRequest$Enabled": "

Describes whether email sending is enabled or disabled for your Amazon SES account in the current AWS Region.

", "UpdateConfigurationSetReputationMetricsEnabledRequest$Enabled": "

Describes whether or not Amazon SES will publish reputation metrics for the configuration set, such as bounce and complaint rates, to Amazon CloudWatch.

", "UpdateConfigurationSetSendingEnabledRequest$Enabled": "

Describes whether email sending is enabled or disabled for the configuration set.

" } @@ -697,7 +742,7 @@ "base": null, "refs": { "DeleteConfigurationSetEventDestinationRequest$EventDestinationName": "

The name of the event destination to delete.

", - "EventDestination$Name": "

The name of the event destination. The name must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 64 characters.

", + "EventDestination$Name": "

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.

", "EventDestinationAlreadyExistsException$EventDestinationName": "

Indicates that the event destination does not exist.

", "EventDestinationDoesNotExistException$EventDestinationName": "

Indicates that the event destination does not exist.

", "InvalidCloudWatchDestinationException$EventDestinationName": "

Indicates that the event destination does not exist.

", @@ -754,8 +799,42 @@ "ExtensionField$Value": "

The value of the header to add. Must be less than 2048 characters, and must not contain newline characters (\"\\r\" or \"\\n\").

" } }, + "FailureRedirectionURL": { + "base": null, + "refs": { + "CreateCustomVerificationEmailTemplateRequest$FailureRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

", + "CustomVerificationEmailTemplate$FailureRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

", + "GetCustomVerificationEmailTemplateResponse$FailureRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

", + "UpdateCustomVerificationEmailTemplateRequest$FailureRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

" + } + }, + "FromAddress": { + "base": null, + "refs": { + "CreateCustomVerificationEmailTemplateRequest$FromEmailAddress": "

The email address that the custom verification email is sent from.

", + "CustomVerificationEmailTemplate$FromEmailAddress": "

The email address that the custom verification email is sent from.

", + "FromEmailAddressNotVerifiedException$FromEmailAddress": "

Indicates that the from email address associated with the custom verification email template is not verified.

", + "GetCustomVerificationEmailTemplateResponse$FromEmailAddress": "

The email address that the custom verification email is sent from.

", + "UpdateCustomVerificationEmailTemplateRequest$FromEmailAddress": "

The email address that the custom verification email is sent from.

" + } + }, + "FromEmailAddressNotVerifiedException": { + "base": "

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.

", + "refs": { + } + }, "GetAccountSendingEnabledResponse": { - "base": "

Represents a request to return the email sending status for your Amazon SES account.

", + "base": "

Represents a request to return the email sending status for your Amazon SES account in the current AWS Region.

", + "refs": { + } + }, + "GetCustomVerificationEmailTemplateRequest": { + "base": "

Represents a request to retrieve an existing custom verification email template.

", + "refs": { + } + }, + "GetCustomVerificationEmailTemplateResponse": { + "base": "

The content of the custom verification email template.

", "refs": { } }, @@ -953,7 +1032,7 @@ } }, "InvalidTemplateException": { - "base": "

Indicates that a template could not be created because it contained invalid JSON.

", + "base": "

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.

", "refs": { } }, @@ -1007,6 +1086,16 @@ "refs": { } }, + "ListCustomVerificationEmailTemplatesRequest": { + "base": "

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.

", + "refs": { + } + }, + "ListCustomVerificationEmailTemplatesResponse": { + "base": "

A paginated list of custom verification email templates.

", + "refs": { + } + }, "ListIdentitiesRequest": { "base": "

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.

", "refs": { @@ -1094,6 +1183,12 @@ "ListTemplatesRequest$MaxItems": "

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.

" } }, + "MaxResults": { + "base": null, + "refs": { + "ListCustomVerificationEmailTemplatesRequest$MaxResults": "

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.

" + } + }, "MaxSendRate": { "base": null, "refs": { @@ -1124,6 +1219,7 @@ "BulkEmailDestinationStatus$MessageId": "

The unique message identifier returned from the SendBulkTemplatedEmail operation.

", "SendBounceRequest$OriginalMessageId": "

The message ID of the message to be bounced.

", "SendBounceResponse$MessageId": "

The message ID of the bounce message.

", + "SendCustomVerificationEmailResponse$MessageId": "

The unique message identifier returned from the SendCustomVerificationEmail operation.

", "SendEmailResponse$MessageId": "

The unique message identifier returned from the SendEmail action.

", "SendRawEmailResponse$MessageId": "

The unique message identifier returned from the SendRawEmail action.

", "SendTemplatedEmailResponse$MessageId": "

The unique message identifier returned from the SendTemplatedEmail action.

" @@ -1153,13 +1249,13 @@ "MessageTagName": { "base": null, "refs": { - "MessageTag$Name": "

The name of the tag. The name must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 256 characters.

" + "MessageTag$Name": "

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.

" } }, "MessageTagValue": { "base": null, "refs": { - "MessageTag$Value": "

The value of the tag. The value must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 256 characters.

" + "MessageTag$Value": "

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.

" } }, "MissingRenderingAttributeException": { @@ -1172,12 +1268,14 @@ "refs": { "ListConfigurationSetsRequest$NextToken": "

A token returned from a previous call to ListConfigurationSets to indicate the position of the configuration set in the configuration set list.

", "ListConfigurationSetsResponse$NextToken": "

A token indicating that there are additional configuration sets available to be listed. Pass this token to successive calls of ListConfigurationSets.

", + "ListCustomVerificationEmailTemplatesRequest$NextToken": "

An array the contains the name and creation time stamp for each template in your Amazon SES account.

", + "ListCustomVerificationEmailTemplatesResponse$NextToken": "

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.

", "ListIdentitiesRequest$NextToken": "

The token to use for pagination.

", "ListIdentitiesResponse$NextToken": "

The token used for pagination.

", "ListReceiptRuleSetsRequest$NextToken": "

A token returned from a previous call to ListReceiptRuleSets to indicate the position in the receipt rule set list.

", "ListReceiptRuleSetsResponse$NextToken": "

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.

", - "ListTemplatesRequest$NextToken": "

The token to use for pagination.

", - "ListTemplatesResponse$NextToken": "

The token to use for pagination.

" + "ListTemplatesRequest$NextToken": "

A token returned from a previous call to ListTemplates to indicate the position in the list of email templates.

", + "ListTemplatesResponse$NextToken": "

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.

" } }, "NotificationAttributes": { @@ -1231,6 +1329,11 @@ "ListIdentityPoliciesResponse$PolicyNames": "

A list of names of policies that apply to the specified identity.

" } }, + "ProductionAccessNotGrantedException": { + "base": "

Indicates that the account has not been granted production access.

", + "refs": { + } + }, "PutIdentityPolicyRequest": { "base": "

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.

", "refs": { @@ -1282,7 +1385,7 @@ "base": null, "refs": { "DeleteReceiptFilterRequest$FilterName": "

The name of the IP address filter to delete.

", - "ReceiptFilter$Name": "

The name of the IP address filter. The name must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

" + "ReceiptFilter$Name": "

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.

" } }, "ReceiptFilterPolicy": { @@ -1312,7 +1415,7 @@ "CreateReceiptRuleRequest$After": "

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.

", "DeleteReceiptRuleRequest$RuleName": "

The name of the receipt rule to delete.

", "DescribeReceiptRuleRequest$RuleName": "

The name of the receipt rule.

", - "ReceiptRule$Name": "

The name of the receipt rule. The name must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

", + "ReceiptRule$Name": "

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.

", "ReceiptRuleNamesList$member": null, "SetReceiptRulePositionRequest$RuleName": "

The name of the receipt rule to reposition.

", "SetReceiptRulePositionRequest$After": "

The name of the receipt rule after which to place the specified receipt rule.

" @@ -1335,15 +1438,15 @@ "ReceiptRuleSetName": { "base": null, "refs": { - "CloneReceiptRuleSetRequest$RuleSetName": "

The name of the rule set to create. The name must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

", + "CloneReceiptRuleSetRequest$RuleSetName": "

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.

", "CloneReceiptRuleSetRequest$OriginalRuleSetName": "

The name of the rule set to clone.

", "CreateReceiptRuleRequest$RuleSetName": "

The name of the rule set that the receipt rule will be added to.

", - "CreateReceiptRuleSetRequest$RuleSetName": "

The name of the rule set to create. The name must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

", + "CreateReceiptRuleSetRequest$RuleSetName": "

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.

", "DeleteReceiptRuleRequest$RuleSetName": "

The name of the receipt rule set that contains the receipt rule to delete.

", "DeleteReceiptRuleSetRequest$RuleSetName": "

The name of the receipt rule set to delete.

", "DescribeReceiptRuleRequest$RuleSetName": "

The name of the receipt rule set that the receipt rule belongs to.

", "DescribeReceiptRuleSetRequest$RuleSetName": "

The name of the receipt rule set to describe.

", - "ReceiptRuleSetMetadata$Name": "

The name of the receipt rule set. The name must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

", + "ReceiptRuleSetMetadata$Name": "

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.

", "ReorderReceiptRuleSetRequest$RuleSetName": "

The name of the receipt rule set to reorder.

", "SetActiveReceiptRuleSetRequest$RuleSetName": "

The name of the receipt rule set to make active. Setting this value to null disables all email receiving.

", "SetReceiptRulePositionRequest$RuleSetName": "

The name of the receipt rule set that contains the receipt rule to reposition.

", @@ -1491,6 +1594,16 @@ "refs": { } }, + "SendCustomVerificationEmailRequest": { + "base": "

Represents a request to send a custom verification email to a specified recipient.

", + "refs": { + } + }, + "SendCustomVerificationEmailResponse": { + "base": "

The response received when attempting to send the custom verification email.

", + "refs": { + } + }, "SendDataPoint": { "base": "

Represents sending statistics data. Each SendDataPoint contains statistics for a 15-minute period of sending activity.

", "refs": { @@ -1621,12 +1734,30 @@ "StopAction$Scope": "

The name of the RuleSet that is being stopped.

" } }, + "Subject": { + "base": null, + "refs": { + "CreateCustomVerificationEmailTemplateRequest$TemplateSubject": "

The subject line of the custom verification email.

", + "CustomVerificationEmailTemplate$TemplateSubject": "

The subject line of the custom verification email.

", + "GetCustomVerificationEmailTemplateResponse$TemplateSubject": "

The subject line of the custom verification email.

", + "UpdateCustomVerificationEmailTemplateRequest$TemplateSubject": "

The subject line of the custom verification email.

" + } + }, "SubjectPart": { "base": null, "refs": { "Template$SubjectPart": "

The subject line of the email.

" } }, + "SuccessRedirectionURL": { + "base": null, + "refs": { + "CreateCustomVerificationEmailTemplateRequest$SuccessRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

", + "CustomVerificationEmailTemplate$SuccessRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

", + "GetCustomVerificationEmailTemplateResponse$SuccessRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

", + "UpdateCustomVerificationEmailTemplateRequest$SuccessRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

" + } + }, "Template": { "base": "

The content of the email, composed of a subject line, an HTML part, and a text-only part.

", "refs": { @@ -1635,6 +1766,14 @@ "UpdateTemplateRequest$Template": null } }, + "TemplateContent": { + "base": null, + "refs": { + "CreateCustomVerificationEmailTemplateRequest$TemplateContent": "

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.

", + "GetCustomVerificationEmailTemplateResponse$TemplateContent": "

The content of the custom verification email.

", + "UpdateCustomVerificationEmailTemplateRequest$TemplateContent": "

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.

" + } + }, "TemplateData": { "base": null, "refs": { @@ -1650,7 +1789,7 @@ } }, "TemplateMetadata": { - "base": "

Information about an email template.

", + "base": "

Contains information about an email template.

", "refs": { "TemplateMetadataList$member": null } @@ -1658,23 +1797,32 @@ "TemplateMetadataList": { "base": null, "refs": { - "ListTemplatesResponse$TemplatesMetadata": "

An array the contains the name of creation time stamp for each template in your Amazon SES account.

" + "ListTemplatesResponse$TemplatesMetadata": "

An array the contains the name and creation time stamp for each template in your Amazon SES account.

" } }, "TemplateName": { "base": null, "refs": { + "CreateCustomVerificationEmailTemplateRequest$TemplateName": "

The name of the custom verification email template.

", + "CustomVerificationEmailTemplate$TemplateName": "

The name of the custom verification email template.

", + "CustomVerificationEmailTemplateAlreadyExistsException$CustomVerificationEmailTemplateName": "

Indicates that the provided custom verification email template with the specified template name already exists.

", + "CustomVerificationEmailTemplateDoesNotExistException$CustomVerificationEmailTemplateName": "

Indicates that the provided custom verification email template does not exist.

", + "DeleteCustomVerificationEmailTemplateRequest$TemplateName": "

The name of the custom verification email template that you want to delete.

", "DeleteTemplateRequest$TemplateName": "

The name of the template to be deleted.

", + "GetCustomVerificationEmailTemplateRequest$TemplateName": "

The name of the custom verification email template that you want to retrieve.

", + "GetCustomVerificationEmailTemplateResponse$TemplateName": "

The name of the custom verification email template.

", "GetTemplateRequest$TemplateName": "

The name of the template you want to retrieve.

", "InvalidRenderingParameterException$TemplateName": null, "InvalidTemplateException$TemplateName": null, "MissingRenderingAttributeException$TemplateName": null, "SendBulkTemplatedEmailRequest$Template": "

The template to use when sending this email.

", + "SendCustomVerificationEmailRequest$TemplateName": "

The name of the custom verification email template to use when sending the verification email.

", "SendTemplatedEmailRequest$Template": "

The template to use when sending this email.

", "Template$TemplateName": "

The name of the template. You will refer to this name when you send email using the SendTemplatedEmail or SendBulkTemplatedEmail operations.

", "TemplateDoesNotExistException$TemplateName": null, "TemplateMetadata$Name": "

The name of the template.

", - "TestRenderTemplateRequest$TemplateName": "

The name of the template that you want to render.

" + "TestRenderTemplateRequest$TemplateName": "

The name of the template that you want to render.

", + "UpdateCustomVerificationEmailTemplateRequest$TemplateName": "

The name of the custom verification email template that you want to update.

" } }, "TestRenderTemplateRequest": { @@ -1708,7 +1856,7 @@ } }, "TrackingOptions": { - "base": "

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.

", + "base": "

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.

", "refs": { "CreateConfigurationSetTrackingOptionsRequest$TrackingOptions": null, "DescribeConfigurationSetResponse$TrackingOptions": "

The name of the custom open and click tracking domain associated with the configuration set.

", @@ -1760,6 +1908,11 @@ "refs": { } }, + "UpdateCustomVerificationEmailTemplateRequest": { + "base": "

Represents a request to update an existing custom verification email template.

", + "refs": { + } + }, "UpdateReceiptRuleRequest": { "base": "

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.

", "refs": { @@ -1846,7 +1999,7 @@ "WorkmailAction": { "base": "

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.

", "refs": { - "ReceiptAction$WorkmailAction": "

Calls Amazon WorkMail and, optionally, publishes a notification to Amazon SNS.

" + "ReceiptAction$WorkmailAction": "

Calls Amazon WorkMail and, optionally, publishes a notification to Amazon Amazon SNS.

" } } } diff --git a/models/apis/email/2010-12-01/paginators-1.json b/models/apis/email/2010-12-01/paginators-1.json index 8a21098f84f..b3b142d30d3 100644 --- a/models/apis/email/2010-12-01/paginators-1.json +++ b/models/apis/email/2010-12-01/paginators-1.json @@ -1,5 +1,10 @@ { "pagination": { + "ListCustomVerificationEmailTemplates": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, "ListIdentities": { "input_token": "NextToken", "limit_key": "MaxItems", diff --git a/models/apis/email/2010-12-01/smoke.json b/models/apis/email/2010-12-01/smoke.json new file mode 100644 index 00000000000..deaee018185 --- /dev/null +++ b/models/apis/email/2010-12-01/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListIdentities", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "VerifyEmailIdentity", + "input": { + "EmailAddress": "fake_email" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/es/2015-01-01/api-2.json b/models/apis/es/2015-01-01/api-2.json index b97d829b093..331bd0d0e6b 100644 --- a/models/apis/es/2015-01-01/api-2.json +++ b/models/apis/es/2015-01-01/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"es", "protocol":"rest-json", "serviceFullName":"Amazon Elasticsearch Service", + "serviceId":"Elasticsearch Service", "signatureVersion":"v4", "uid":"es-2015-01-01" }, @@ -129,6 +130,36 @@ {"shape":"ValidationException"} ] }, + "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"} + ] + }, + "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"} + ] + }, "ListDomainNames":{ "name":"ListDomainNames", "http":{ @@ -186,6 +217,23 @@ {"shape":"InternalException"} ] }, + "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"} + ] + }, "RemoveTags":{ "name":"RemoveTags", "http":{ @@ -277,6 +325,26 @@ }, "Boolean":{"type":"boolean"}, "CloudWatchLogsLogGroupArn":{"type":"string"}, + "CognitoOptions":{ + "type":"structure", + "members":{ + "Enabled":{"shape":"Boolean"}, + "UserPoolId":{"shape":"UserPoolId"}, + "IdentityPoolId":{"shape":"IdentityPoolId"}, + "RoleArn":{"shape":"RoleArn"} + } + }, + "CognitoOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{"shape":"CognitoOptions"}, + "Status":{"shape":"OptionStatus"} + } + }, "CreateElasticsearchDomainRequest":{ "type":"structure", "required":["DomainName"], @@ -288,6 +356,8 @@ "AccessPolicies":{"shape":"PolicyDocument"}, "SnapshotOptions":{"shape":"SnapshotOptions"}, "VPCOptions":{"shape":"VPCOptions"}, + "CognitoOptions":{"shape":"CognitoOptions"}, + "EncryptionAtRestOptions":{"shape":"EncryptionAtRestOptions"}, "AdvancedOptions":{"shape":"AdvancedOptions"}, "LogPublishingOptions":{"shape":"LogPublishingOptions"} } @@ -395,6 +465,60 @@ "LimitsByRole":{"shape":"LimitsByRole"} } }, + "DescribeReservedElasticsearchInstanceOfferingsRequest":{ + "type":"structure", + "members":{ + "ReservedElasticsearchInstanceOfferingId":{ + "shape":"GUID", + "location":"querystring", + "locationName":"offeringId" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "DescribeReservedElasticsearchInstanceOfferingsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "ReservedElasticsearchInstanceOfferings":{"shape":"ReservedElasticsearchInstanceOfferingList"} + } + }, + "DescribeReservedElasticsearchInstancesRequest":{ + "type":"structure", + "members":{ + "ReservedElasticsearchInstanceId":{ + "shape":"GUID", + "location":"querystring", + "locationName":"reservationId" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "DescribeReservedElasticsearchInstancesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "ReservedElasticsearchInstances":{"shape":"ReservedElasticsearchInstanceList"} + } + }, "DisabledOperationException":{ "type":"structure", "members":{ @@ -427,6 +551,7 @@ "type":"list", "member":{"shape":"DomainName"} }, + "Double":{"type":"double"}, "EBSOptions":{ "type":"structure", "members":{ @@ -523,6 +648,8 @@ "AccessPolicies":{"shape":"AccessPoliciesStatus"}, "SnapshotOptions":{"shape":"SnapshotOptionsStatus"}, "VPCOptions":{"shape":"VPCDerivedInfoStatus"}, + "CognitoOptions":{"shape":"CognitoOptionsStatus"}, + "EncryptionAtRestOptions":{"shape":"EncryptionAtRestOptionsStatus"}, "AdvancedOptions":{"shape":"AdvancedOptionsStatus"}, "LogPublishingOptions":{"shape":"LogPublishingOptionsStatus"} } @@ -550,6 +677,8 @@ "AccessPolicies":{"shape":"PolicyDocument"}, "SnapshotOptions":{"shape":"SnapshotOptions"}, "VPCOptions":{"shape":"VPCDerivedInfo"}, + "CognitoOptions":{"shape":"CognitoOptions"}, + "EncryptionAtRestOptions":{"shape":"EncryptionAtRestOptions"}, "AdvancedOptions":{"shape":"AdvancedOptions"}, "LogPublishingOptions":{"shape":"LogPublishingOptions"} } @@ -578,12 +707,44 @@ } }, "ElasticsearchVersionString":{"type":"string"}, + "EncryptionAtRestOptions":{ + "type":"structure", + "members":{ + "Enabled":{"shape":"Boolean"}, + "KmsKeyId":{"shape":"KmsKeyId"} + } + }, + "EncryptionAtRestOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{"shape":"EncryptionAtRestOptions"}, + "Status":{"shape":"OptionStatus"} + } + }, "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}" + }, + "IdentityPoolId":{ + "type":"string", + "max":55, + "min":1, + "pattern":"[\\w-]+:[0-9a-f-]+" + }, + "InstanceCount":{ + "type":"integer", + "min":1 + }, "InstanceCountLimits":{ "type":"structure", "members":{ @@ -598,6 +759,7 @@ } }, "InstanceRole":{"type":"string"}, + "Integer":{"type":"integer"}, "IntegerClass":{"type":"integer"}, "InternalException":{ "type":"structure", @@ -613,6 +775,11 @@ "error":{"httpStatusCode":409}, "exception":true }, + "KmsKeyId":{ + "type":"string", + "max":500, + "min":1 + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -740,7 +907,8 @@ "type":"string", "enum":[ "INDEX_SLOW_LOGS", - "SEARCH_SLOW_LOGS" + "SEARCH_SLOW_LOGS", + "ES_APPLICATION_LOGS" ] }, "MaxResults":{ @@ -774,6 +942,36 @@ } }, "PolicyDocument":{"type":"string"}, + "PurchaseReservedElasticsearchInstanceOfferingRequest":{ + "type":"structure", + "required":[ + "ReservedElasticsearchInstanceOfferingId", + "ReservationName" + ], + "members":{ + "ReservedElasticsearchInstanceOfferingId":{"shape":"GUID"}, + "ReservationName":{"shape":"ReservationToken"}, + "InstanceCount":{"shape":"InstanceCount"} + } + }, + "PurchaseReservedElasticsearchInstanceOfferingResponse":{ + "type":"structure", + "members":{ + "ReservedElasticsearchInstanceId":{"shape":"GUID"}, + "ReservationName":{"shape":"ReservationToken"} + } + }, + "RecurringCharge":{ + "type":"structure", + "members":{ + "RecurringChargeAmount":{"shape":"Double"}, + "RecurringChargeFrequency":{"shape":"String"} + } + }, + "RecurringChargeList":{ + "type":"list", + "member":{"shape":"RecurringCharge"} + }, "RemoveTagsRequest":{ "type":"structure", "required":[ @@ -785,6 +983,58 @@ "TagKeys":{"shape":"StringList"} } }, + "ReservationToken":{ + "type":"string", + "max":64, + "min":5 + }, + "ReservedElasticsearchInstance":{ + "type":"structure", + "members":{ + "ReservationName":{"shape":"ReservationToken"}, + "ReservedElasticsearchInstanceId":{"shape":"GUID"}, + "ReservedElasticsearchInstanceOfferingId":{"shape":"String"}, + "ElasticsearchInstanceType":{"shape":"ESPartitionInstanceType"}, + "StartTime":{"shape":"UpdateTimestamp"}, + "Duration":{"shape":"Integer"}, + "FixedPrice":{"shape":"Double"}, + "UsagePrice":{"shape":"Double"}, + "CurrencyCode":{"shape":"String"}, + "ElasticsearchInstanceCount":{"shape":"Integer"}, + "State":{"shape":"String"}, + "PaymentOption":{"shape":"ReservedElasticsearchInstancePaymentOption"}, + "RecurringCharges":{"shape":"RecurringChargeList"} + } + }, + "ReservedElasticsearchInstanceList":{ + "type":"list", + "member":{"shape":"ReservedElasticsearchInstance"} + }, + "ReservedElasticsearchInstanceOffering":{ + "type":"structure", + "members":{ + "ReservedElasticsearchInstanceOfferingId":{"shape":"GUID"}, + "ElasticsearchInstanceType":{"shape":"ESPartitionInstanceType"}, + "Duration":{"shape":"Integer"}, + "FixedPrice":{"shape":"Double"}, + "UsagePrice":{"shape":"Double"}, + "CurrencyCode":{"shape":"String"}, + "PaymentOption":{"shape":"ReservedElasticsearchInstancePaymentOption"}, + "RecurringCharges":{"shape":"RecurringChargeList"} + } + }, + "ReservedElasticsearchInstanceOfferingList":{ + "type":"list", + "member":{"shape":"ReservedElasticsearchInstanceOffering"} + }, + "ReservedElasticsearchInstancePaymentOption":{ + "type":"string", + "enum":[ + "ALL_UPFRONT", + "PARTIAL_UPFRONT", + "NO_UPFRONT" + ] + }, "ResourceAlreadyExistsException":{ "type":"structure", "members":{ @@ -799,6 +1049,11 @@ "error":{"httpStatusCode":409}, "exception":true }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20 + }, "ServiceUrl":{"type":"string"}, "SnapshotOptions":{ "type":"structure", @@ -889,6 +1144,7 @@ "EBSOptions":{"shape":"EBSOptions"}, "SnapshotOptions":{"shape":"SnapshotOptions"}, "VPCOptions":{"shape":"VPCOptions"}, + "CognitoOptions":{"shape":"CognitoOptions"}, "AdvancedOptions":{"shape":"AdvancedOptions"}, "AccessPolicies":{"shape":"PolicyDocument"}, "LogPublishingOptions":{"shape":"LogPublishingOptions"} @@ -902,6 +1158,12 @@ } }, "UpdateTimestamp":{"type":"timestamp"}, + "UserPoolId":{ + "type":"string", + "max":55, + "min":1, + "pattern":"[\\w-]+_[0-9a-zA-Z]+" + }, "VPCDerivedInfo":{ "type":"structure", "members":{ diff --git a/models/apis/es/2015-01-01/docs-2.json b/models/apis/es/2015-01-01/docs-2.json index 82ee4031bc9..5fe4416c785 100644 --- a/models/apis/es/2015-01-01/docs-2.json +++ b/models/apis/es/2015-01-01/docs-2.json @@ -10,10 +10,13 @@ "DescribeElasticsearchDomainConfig": "

Provides cluster configuration information about the specified Elasticsearch domain, such as the state, creation date, update version, and update date for cluster options.

", "DescribeElasticsearchDomains": "

Returns domain configuration information about the specified Elasticsearch domains, including the domain ID, domain endpoint, and domain ARN.

", "DescribeElasticsearchInstanceTypeLimits": "

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": "

Lists available reserved Elasticsearch instance offerings.

", + "DescribeReservedElasticsearchInstances": "

Returns information about reserved Elasticsearch instances for this account.

", "ListDomainNames": "

Returns the name of all Elasticsearch domains owned by the current user's account.

", "ListElasticsearchInstanceTypes": "

List all Elasticsearch instance types that are supported for given ElasticsearchVersion

", "ListElasticsearchVersions": "

List all supported Elasticsearch versions

", "ListTags": "

Returns all tags for the given Elasticsearch domain.

", + "PurchaseReservedElasticsearchInstanceOffering": "

Allows you to purchase reserved Elasticsearch instances.

", "RemoveTags": "

Removes the specified set of tags from the specified Elasticsearch domain.

", "UpdateElasticsearchDomainConfig": "

Modifies the cluster configuration of the specified Elasticsearch domain, setting as setting the instance type and the number of instances.

" }, @@ -73,12 +76,14 @@ "Boolean": { "base": null, "refs": { + "CognitoOptions$Enabled": "

Specifies the option to enable Cognito for Kibana authentication.

", "EBSOptions$EBSEnabled": "

Specifies whether EBS-based storage is enabled.

", "ElasticsearchClusterConfig$DedicatedMasterEnabled": "

A boolean value to indicate whether a dedicated master node is enabled. See About Dedicated Master Nodes for more information.

", "ElasticsearchClusterConfig$ZoneAwarenessEnabled": "

A boolean value to indicate whether zone awareness is enabled. See About Zone Awareness for more information.

", "ElasticsearchDomainStatus$Created": "

The domain creation status. True if the creation of an Elasticsearch domain is complete. False if domain creation is still in progress.

", "ElasticsearchDomainStatus$Deleted": "

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.

", "ElasticsearchDomainStatus$Processing": "

The status of the Elasticsearch domain configuration. True if Amazon Elasticsearch Service is processing configuration changes. False if the configuration is active.

", + "EncryptionAtRestOptions$Enabled": "

Specifies the option to enable Encryption At Rest.

", "LogPublishingOption$Enabled": "

Specifies whether given log publishing option is enabled or not.

", "OptionStatus$PendingDeletion": "

Indicates whether the Elasticsearch domain is being deleted.

" } @@ -89,6 +94,21 @@ "LogPublishingOption$CloudWatchLogsLogGroupArn": null } }, + "CognitoOptions": { + "base": "

Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

", + "refs": { + "CognitoOptionsStatus$Options": "

Specifies the Cognito options for the specified Elasticsearch domain.

", + "CreateElasticsearchDomainRequest$CognitoOptions": "

Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

", + "ElasticsearchDomainStatus$CognitoOptions": "

The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana.

", + "UpdateElasticsearchDomainConfigRequest$CognitoOptions": "

Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

" + } + }, + "CognitoOptionsStatus": { + "base": "

Status of the Cognito options for the specified Elasticsearch domain.

", + "refs": { + "ElasticsearchDomainConfig$CognitoOptions": "

The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana.

" + } + }, "CreateElasticsearchDomainRequest": { "base": null, "refs": { @@ -149,6 +169,26 @@ "refs": { } }, + "DescribeReservedElasticsearchInstanceOfferingsRequest": { + "base": "

Container for parameters to DescribeReservedElasticsearchInstanceOfferings

", + "refs": { + } + }, + "DescribeReservedElasticsearchInstanceOfferingsResponse": { + "base": "

Container for results from DescribeReservedElasticsearchInstanceOfferings

", + "refs": { + } + }, + "DescribeReservedElasticsearchInstancesRequest": { + "base": "

Container for parameters to DescribeReservedElasticsearchInstances

", + "refs": { + } + }, + "DescribeReservedElasticsearchInstancesResponse": { + "base": "

Container for results from DescribeReservedElasticsearchInstances

", + "refs": { + } + }, "DisabledOperationException": { "base": "

An error occured because the client wanted to access a not supported operation. Gives http status code of 409.

", "refs": { @@ -193,6 +233,16 @@ "DescribeElasticsearchDomainsRequest$DomainNames": "

The Elasticsearch domains for which you want information.

" } }, + "Double": { + "base": null, + "refs": { + "RecurringCharge$RecurringChargeAmount": "

The monetary amount of the recurring charge.

", + "ReservedElasticsearchInstance$FixedPrice": "

The upfront fixed charge you will paid to purchase the specific reserved Elasticsearch instance offering.

", + "ReservedElasticsearchInstance$UsagePrice": "

The rate you are charged for each hour for the domain that is using this reserved instance.

", + "ReservedElasticsearchInstanceOffering$FixedPrice": "

The upfront fixed charge you will pay to purchase the specific reserved Elasticsearch instance offering.

", + "ReservedElasticsearchInstanceOffering$UsagePrice": "

The rate you are charged for each hour the domain that is using the offering is running.

" + } + }, "EBSOptions": { "base": "

Options to enable, disable, and specify the properties of EBS storage volumes. For more information, see Configuring EBS-based Storage.

", "refs": { @@ -214,7 +264,9 @@ "DescribeElasticsearchInstanceTypeLimitsRequest$InstanceType": "

The instance type for an Elasticsearch cluster for which Elasticsearch Limits are needed.

", "ElasticsearchClusterConfig$InstanceType": "

The instance type for an Elasticsearch cluster.

", "ElasticsearchClusterConfig$DedicatedMasterType": "

The instance type for a dedicated master node.

", - "ElasticsearchInstanceTypeList$member": null + "ElasticsearchInstanceTypeList$member": null, + "ReservedElasticsearchInstance$ElasticsearchInstanceType": "

The Elasticsearch instance type offered by the reserved instance offering.

", + "ReservedElasticsearchInstanceOffering$ElasticsearchInstanceType": "

The Elasticsearch instance type offered by the reserved instance offering.

" } }, "ElasticsearchClusterConfig": { @@ -283,6 +335,20 @@ "ListElasticsearchInstanceTypesRequest$ElasticsearchVersion": "

Version of Elasticsearch for which list of supported elasticsearch instance types are needed.

" } }, + "EncryptionAtRestOptions": { + "base": "

Specifies the Encryption At Rest Options.

", + "refs": { + "CreateElasticsearchDomainRequest$EncryptionAtRestOptions": "

Specifies the Encryption At Rest Options.

", + "ElasticsearchDomainStatus$EncryptionAtRestOptions": "

Specifies the status of the EncryptionAtRestOptions.

", + "EncryptionAtRestOptionsStatus$Options": "

Specifies the Encryption At Rest options for the specified Elasticsearch domain.

" + } + }, + "EncryptionAtRestOptionsStatus": { + "base": "

Status of the Encryption At Rest options for the specified Elasticsearch domain.

", + "refs": { + "ElasticsearchDomainConfig$EncryptionAtRestOptions": "

Specifies the EncryptionAtRestOptions for the Elasticsearch domain.

" + } + }, "EndpointsMap": { "base": null, "refs": { @@ -295,6 +361,29 @@ "BaseException$message": "

A description of the error.

" } }, + "GUID": { + "base": null, + "refs": { + "DescribeReservedElasticsearchInstanceOfferingsRequest$ReservedElasticsearchInstanceOfferingId": "

The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier.

", + "DescribeReservedElasticsearchInstancesRequest$ReservedElasticsearchInstanceId": "

The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the specified reserved Elasticsearch instance ID.

", + "PurchaseReservedElasticsearchInstanceOfferingRequest$ReservedElasticsearchInstanceOfferingId": "

The ID of the reserved Elasticsearch instance offering to purchase.

", + "PurchaseReservedElasticsearchInstanceOfferingResponse$ReservedElasticsearchInstanceId": "

Details of the reserved Elasticsearch instance which was purchased.

", + "ReservedElasticsearchInstance$ReservedElasticsearchInstanceId": "

The unique identifier for the reservation.

", + "ReservedElasticsearchInstanceOffering$ReservedElasticsearchInstanceOfferingId": "

The Elasticsearch reserved instance offering identifier.

" + } + }, + "IdentityPoolId": { + "base": null, + "refs": { + "CognitoOptions$IdentityPoolId": "

Specifies the Cognito identity pool ID for Kibana authentication.

" + } + }, + "InstanceCount": { + "base": "

Specifies the number of EC2 instances in the Elasticsearch domain.

", + "refs": { + "PurchaseReservedElasticsearchInstanceOfferingRequest$InstanceCount": "

The number of Elasticsearch instances to reserve.

" + } + }, "InstanceCountLimits": { "base": "

InstanceCountLimits represents the limits on number of instances that be created in Amazon Elasticsearch for given InstanceType.

", "refs": { @@ -313,6 +402,14 @@ "LimitsByRole$key": null } }, + "Integer": { + "base": null, + "refs": { + "ReservedElasticsearchInstance$Duration": "

The duration, in seconds, for which the Elasticsearch instance is reserved.

", + "ReservedElasticsearchInstance$ElasticsearchInstanceCount": "

The number of Elasticsearch instances that have been reserved.

", + "ReservedElasticsearchInstanceOffering$Duration": "

The duration, in seconds, for which the offering will reserve the Elasticsearch instance.

" + } + }, "IntegerClass": { "base": null, "refs": { @@ -333,6 +430,12 @@ "refs": { } }, + "KmsKeyId": { + "base": null, + "refs": { + "EncryptionAtRestOptions$KmsKeyId": "

Specifies the KMS Key ID for Encryption At Rest options.

" + } + }, "LimitExceededException": { "base": "

An exception for trying to create more than allowed resources or sub-resources. Gives http status code of 409.

", "refs": { @@ -427,7 +530,7 @@ } }, "LogType": { - "base": "

Type of Log File, it can be one of the following:

  • INDEX_SLOW_LOGS: Index slow logs contains insert requests that took more time than configured index query log threshold to execute.
  • SEARCH_SLOW_LOGS: Search slow logs contains search queries that took more time than configured search query log threshold to execute.

", + "base": "

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.

", "refs": { "LogPublishingOptions$key": null } @@ -435,6 +538,8 @@ "MaxResults": { "base": "

Set this value to limit the number of results returned.

", "refs": { + "DescribeReservedElasticsearchInstanceOfferingsRequest$MaxResults": "

Set this value to limit the number of results returned. If not specified, defaults to 100.

", + "DescribeReservedElasticsearchInstancesRequest$MaxResults": "

Set this value to limit the number of results returned. If not specified, defaults to 100.

", "ListElasticsearchInstanceTypesRequest$MaxResults": "

Set this value to limit the number of results returned. Value provided must be greater than 30 else it wont be honored.

", "ListElasticsearchVersionsRequest$MaxResults": "

Set this value to limit the number of results returned. Value provided must be greater than 10 else it wont be honored.

" } @@ -454,6 +559,9 @@ "NextToken": { "base": "

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.

", "refs": { + "DescribeReservedElasticsearchInstanceOfferingsRequest$NextToken": "

NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination.

", + "DescribeReservedElasticsearchInstanceOfferingsResponse$NextToken": "

Provides an identifier to allow retrieval of paginated results.

", + "DescribeReservedElasticsearchInstancesRequest$NextToken": "

NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination.

", "ListElasticsearchInstanceTypesRequest$NextToken": "

NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination.

", "ListElasticsearchInstanceTypesResponse$NextToken": "

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.

", "ListElasticsearchVersionsRequest$NextToken": null, @@ -471,9 +579,11 @@ "refs": { "AccessPoliciesStatus$Status": "

The status of the access policy for the Elasticsearch domain. See OptionStatus for the status information that's included.

", "AdvancedOptionsStatus$Status": "

Specifies the status of OptionStatus for advanced options for the specified Elasticsearch domain.

", + "CognitoOptionsStatus$Status": "

Specifies the status of the Cognito options for the specified Elasticsearch domain.

", "EBSOptionsStatus$Status": "

Specifies the status of the EBS options for the specified Elasticsearch domain.

", "ElasticsearchClusterConfigStatus$Status": "

Specifies the status of the configuration for the specified Elasticsearch domain.

", "ElasticsearchVersionStatus$Status": "

Specifies the status of the Elasticsearch version options for the specified Elasticsearch domain.

", + "EncryptionAtRestOptionsStatus$Status": "

Specifies the status of the Encryption At Rest options for the specified Elasticsearch domain.

", "LogPublishingOptionsStatus$Status": "

The status of the log publishing options for the Elasticsearch domain. See OptionStatus for the status information that's included.

", "SnapshotOptionsStatus$Status": "

Specifies the status of a daily automated snapshot.

", "VPCDerivedInfoStatus$Status": "

Specifies the status of the VPC options for the specified Elasticsearch domain.

" @@ -488,11 +598,73 @@ "UpdateElasticsearchDomainConfigRequest$AccessPolicies": "

IAM access policy as a JSON-formatted string.

" } }, + "PurchaseReservedElasticsearchInstanceOfferingRequest": { + "base": "

Container for parameters to PurchaseReservedElasticsearchInstanceOffering

", + "refs": { + } + }, + "PurchaseReservedElasticsearchInstanceOfferingResponse": { + "base": "

Represents the output of a PurchaseReservedElasticsearchInstanceOffering operation.

", + "refs": { + } + }, + "RecurringCharge": { + "base": "

Contains the specific price and frequency of a recurring charges for a reserved Elasticsearch instance, or for a reserved Elasticsearch instance offering.

", + "refs": { + "RecurringChargeList$member": null + } + }, + "RecurringChargeList": { + "base": null, + "refs": { + "ReservedElasticsearchInstance$RecurringCharges": "

The charge to your account regardless of whether you are creating any domains using the instance offering.

", + "ReservedElasticsearchInstanceOffering$RecurringCharges": "

The charge to your account regardless of whether you are creating any domains using the instance offering.

" + } + }, "RemoveTagsRequest": { "base": "

Container for the parameters to the RemoveTags operation. Specify the ARN for the Elasticsearch domain from which you want to remove the specified TagKey.

", "refs": { } }, + "ReservationToken": { + "base": null, + "refs": { + "PurchaseReservedElasticsearchInstanceOfferingRequest$ReservationName": "

A customer-specified identifier to track this reservation.

", + "PurchaseReservedElasticsearchInstanceOfferingResponse$ReservationName": "

The customer-specified identifier used to track this reservation.

", + "ReservedElasticsearchInstance$ReservationName": "

The customer-specified identifier to track this reservation.

" + } + }, + "ReservedElasticsearchInstance": { + "base": "

Details of a reserved Elasticsearch instance.

", + "refs": { + "ReservedElasticsearchInstanceList$member": null + } + }, + "ReservedElasticsearchInstanceList": { + "base": null, + "refs": { + "DescribeReservedElasticsearchInstancesResponse$ReservedElasticsearchInstances": "

List of reserved Elasticsearch instances.

" + } + }, + "ReservedElasticsearchInstanceOffering": { + "base": "

Details of a reserved Elasticsearch instance offering.

", + "refs": { + "ReservedElasticsearchInstanceOfferingList$member": null + } + }, + "ReservedElasticsearchInstanceOfferingList": { + "base": null, + "refs": { + "DescribeReservedElasticsearchInstanceOfferingsResponse$ReservedElasticsearchInstanceOfferings": "

List of reserved Elasticsearch instance offerings

" + } + }, + "ReservedElasticsearchInstancePaymentOption": { + "base": null, + "refs": { + "ReservedElasticsearchInstance$PaymentOption": "

The payment option as defined in the reserved Elasticsearch instance offering.

", + "ReservedElasticsearchInstanceOffering$PaymentOption": "

Payment option for the reserved Elasticsearch instance offering

" + } + }, "ResourceAlreadyExistsException": { "base": "

An exception for creating a resource that already exists. Gives http status code of 400.

", "refs": { @@ -503,6 +675,12 @@ "refs": { } }, + "RoleArn": { + "base": null, + "refs": { + "CognitoOptions$RoleArn": "

Specifies the role ARN that provides Elasticsearch permissions for accessing Cognito resources.

" + } + }, "ServiceUrl": { "base": "

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.

", "refs": { @@ -566,7 +744,13 @@ "refs": { "AdvancedOptions$key": null, "AdvancedOptions$value": null, + "DescribeReservedElasticsearchInstancesResponse$NextToken": "

Provides an identifier to allow retrieval of paginated results.

", "EndpointsMap$key": null, + "RecurringCharge$RecurringChargeFrequency": "

The frequency of the recurring charge.

", + "ReservedElasticsearchInstance$ReservedElasticsearchInstanceOfferingId": "

The offering identifier.

", + "ReservedElasticsearchInstance$CurrencyCode": "

The currency code for the reserved Elasticsearch instance offering.

", + "ReservedElasticsearchInstance$State": "

The state of the reserved Elasticsearch instance.

", + "ReservedElasticsearchInstanceOffering$CurrencyCode": "

The currency code for the reserved Elasticsearch instance offering.

", "StringList$member": null, "VPCDerivedInfo$VPCId": "

The VPC Id for the Elasticsearch domain. Exists only if the domain was created with VPCOptions.

" } @@ -627,7 +811,14 @@ "base": null, "refs": { "OptionStatus$CreationDate": "

Timestamp which tells the creation date for the entity.

", - "OptionStatus$UpdateDate": "

Timestamp which tells the last updated time for the entity.

" + "OptionStatus$UpdateDate": "

Timestamp which tells the last updated time for the entity.

", + "ReservedElasticsearchInstance$StartTime": "

The time the reservation started.

" + } + }, + "UserPoolId": { + "base": null, + "refs": { + "CognitoOptions$UserPoolId": "

Specifies the Cognito user pool ID for Kibana authentication.

" } }, "VPCDerivedInfo": { diff --git a/models/apis/es/2015-01-01/paginators-1.json b/models/apis/es/2015-01-01/paginators-1.json index 5a6c3dd1913..58101940ee0 100644 --- a/models/apis/es/2015-01-01/paginators-1.json +++ b/models/apis/es/2015-01-01/paginators-1.json @@ -1,5 +1,15 @@ { "pagination": { + "DescribeReservedElasticsearchInstanceOfferings": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "DescribeReservedElasticsearchInstances": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListElasticsearchInstanceTypes": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/es/2015-01-01/smoke.json b/models/apis/es/2015-01-01/smoke.json new file mode 100644 index 00000000000..d31642d7fa6 --- /dev/null +++ b/models/apis/es/2015-01-01/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListDomainNames", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeElasticsearchDomain", + "input": { + "DomainName": "not-a-domain" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/events/2014-02-03/api-2.json b/models/apis/events/2014-02-03/api-2.json deleted file mode 100644 index c9980d9f507..00000000000 --- a/models/apis/events/2014-02-03/api-2.json +++ /dev/null @@ -1,643 +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" - }, - "operations":{ - "DeleteRule":{ - "name":"DeleteRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRuleRequest"}, - "errors":[ - { - "shape":"ConcurrentModificationException", - "exception":true - }, - { - "shape":"InternalException", - "exception":true, - "fault":true - } - ] - }, - "DescribeRule":{ - "name":"DescribeRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRuleRequest"}, - "output":{"shape":"DescribeRuleResponse"}, - "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true - }, - { - "shape":"InternalException", - "exception":true, - "fault":true - } - ] - }, - "DisableRule":{ - "name":"DisableRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableRuleRequest"}, - "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true - }, - { - "shape":"ConcurrentModificationException", - "exception":true - }, - { - "shape":"InternalException", - "exception":true, - "fault":true - } - ] - }, - "EnableRule":{ - "name":"EnableRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableRuleRequest"}, - "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true - }, - { - "shape":"ConcurrentModificationException", - "exception":true - }, - { - "shape":"InternalException", - "exception":true, - "fault":true - } - ] - }, - "ListRuleNamesByTarget":{ - "name":"ListRuleNamesByTarget", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRuleNamesByTargetRequest"}, - "output":{"shape":"ListRuleNamesByTargetResponse"}, - "errors":[ - { - "shape":"InternalException", - "exception":true, - "fault":true - } - ] - }, - "ListRules":{ - "name":"ListRules", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRulesRequest"}, - "output":{"shape":"ListRulesResponse"}, - "errors":[ - { - "shape":"InternalException", - "exception":true, - "fault":true - } - ] - }, - "ListTargetsByRule":{ - "name":"ListTargetsByRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTargetsByRuleRequest"}, - "output":{"shape":"ListTargetsByRuleResponse"}, - "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true - }, - { - "shape":"InternalException", - "exception":true, - "fault":true - } - ] - }, - "PutEvents":{ - "name":"PutEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutEventsRequest"}, - "output":{"shape":"PutEventsResponse"}, - "errors":[ - { - "shape":"InternalException", - "exception":true, - "fault":true - } - ] - }, - "PutRule":{ - "name":"PutRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutRuleRequest"}, - "output":{"shape":"PutRuleResponse"}, - "errors":[ - { - "shape":"InvalidEventPatternException", - "exception":true - }, - { - "shape":"LimitExceededException", - "exception":true - }, - { - "shape":"ConcurrentModificationException", - "exception":true - }, - { - "shape":"InternalException", - "exception":true, - "fault":true - } - ] - }, - "PutTargets":{ - "name":"PutTargets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutTargetsRequest"}, - "output":{"shape":"PutTargetsResponse"}, - "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true - }, - { - "shape":"ConcurrentModificationException", - "exception":true - }, - { - "shape":"LimitExceededException", - "exception":true - }, - { - "shape":"InternalException", - "exception":true, - "fault":true - } - ] - }, - "RemoveTargets":{ - "name":"RemoveTargets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTargetsRequest"}, - "output":{"shape":"RemoveTargetsResponse"}, - "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true - }, - { - "shape":"ConcurrentModificationException", - "exception":true - }, - { - "shape":"InternalException", - "exception":true, - "fault":true - } - ] - }, - "TestEventPattern":{ - "name":"TestEventPattern", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TestEventPatternRequest"}, - "output":{"shape":"TestEventPatternResponse"}, - "errors":[ - { - "shape":"InvalidEventPatternException", - "exception":true - }, - { - "shape":"InternalException", - "exception":true, - "fault":true - } - ] - } - }, - "shapes":{ - "Boolean":{"type":"boolean"}, - "ConcurrentModificationException":{ - "type":"structure", - "members":{ - }, - "exception":true - }, - "DeleteRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{"shape":"RuleName"} - } - }, - "DescribeRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{"shape":"RuleName"} - } - }, - "DescribeRuleResponse":{ - "type":"structure", - "members":{ - "Name":{"shape":"RuleName"}, - "Arn":{"shape":"RuleArn"}, - "EventPattern":{"shape":"EventPattern"}, - "ScheduleExpression":{"shape":"ScheduleExpression"}, - "State":{"shape":"RuleState"}, - "Description":{"shape":"RuleDescription"}, - "RoleArn":{"shape":"RoleArn"} - } - }, - "DisableRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{"shape":"RuleName"} - } - }, - "EnableRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{"shape":"RuleName"} - } - }, - "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 - }, - "InvalidEventPatternException":{ - "type":"structure", - "members":{ - }, - "exception":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "exception":true - }, - "LimitMax100":{ - "type":"integer", - "min":1, - "max":100 - }, - "ListRuleNamesByTargetRequest":{ - "type":"structure", - "required":["TargetArn"], - "members":{ - "TargetArn":{"shape":"TargetArn"}, - "NextToken":{"shape":"NextToken"}, - "Limit":{"shape":"LimitMax100"} - } - }, - "ListRuleNamesByTargetResponse":{ - "type":"structure", - "members":{ - "RuleNames":{"shape":"RuleNameList"}, - "NextToken":{"shape":"NextToken"} - } - }, - "ListRulesRequest":{ - "type":"structure", - "members":{ - "NamePrefix":{"shape":"RuleName"}, - "NextToken":{"shape":"NextToken"}, - "Limit":{"shape":"LimitMax100"} - } - }, - "ListRulesResponse":{ - "type":"structure", - "members":{ - "Rules":{"shape":"RuleResponseList"}, - "NextToken":{"shape":"NextToken"} - } - }, - "ListTargetsByRuleRequest":{ - "type":"structure", - "required":["Rule"], - "members":{ - "Rule":{"shape":"RuleName"}, - "NextToken":{"shape":"NextToken"}, - "Limit":{"shape":"LimitMax100"} - } - }, - "ListTargetsByRuleResponse":{ - "type":"structure", - "members":{ - "Targets":{"shape":"TargetList"}, - "NextToken":{"shape":"NextToken"} - } - }, - "NextToken":{ - "type":"string", - "min":1, - "max":2048 - }, - "PutEventsRequest":{ - "type":"structure", - "required":["Entries"], - "members":{ - "Entries":{"shape":"PutEventsRequestEntryList"} - } - }, - "PutEventsRequestEntry":{ - "type":"structure", - "members":{ - "Time":{"shape":"EventTime"}, - "Source":{"shape":"String"}, - "Resources":{"shape":"EventResourceList"}, - "DetailType":{"shape":"String"}, - "Detail":{"shape":"String"} - } - }, - "PutEventsRequestEntryList":{ - "type":"list", - "member":{"shape":"PutEventsRequestEntry"}, - "min":1, - "max":10 - }, - "PutEventsResponse":{ - "type":"structure", - "members":{ - "FailedEntryCount":{"shape":"Integer"}, - "Entries":{"shape":"PutEventsResultEntryList"} - } - }, - "PutEventsResultEntry":{ - "type":"structure", - "members":{ - "EventId":{"shape":"EventId"}, - "ErrorCode":{"shape":"ErrorCode"}, - "ErrorMessage":{"shape":"ErrorMessage"} - } - }, - "PutEventsResultEntryList":{ - "type":"list", - "member":{"shape":"PutEventsResultEntry"} - }, - "PutRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{"shape":"RuleName"}, - "ScheduleExpression":{"shape":"ScheduleExpression"}, - "EventPattern":{"shape":"EventPattern"}, - "State":{"shape":"RuleState"}, - "Description":{"shape":"RuleDescription"}, - "RoleArn":{"shape":"RoleArn"} - } - }, - "PutRuleResponse":{ - "type":"structure", - "members":{ - "RuleArn":{"shape":"RuleArn"} - } - }, - "PutTargetsRequest":{ - "type":"structure", - "required":[ - "Rule", - "Targets" - ], - "members":{ - "Rule":{"shape":"RuleName"}, - "Targets":{"shape":"TargetList"} - } - }, - "PutTargetsResponse":{ - "type":"structure", - "members":{ - "FailedEntryCount":{"shape":"Integer"}, - "FailedEntries":{"shape":"PutTargetsResultEntryList"} - } - }, - "PutTargetsResultEntry":{ - "type":"structure", - "members":{ - "TargetId":{"shape":"TargetId"}, - "ErrorCode":{"shape":"ErrorCode"}, - "ErrorMessage":{"shape":"ErrorMessage"} - } - }, - "PutTargetsResultEntryList":{ - "type":"list", - "member":{"shape":"PutTargetsResultEntry"} - }, - "RemoveTargetsRequest":{ - "type":"structure", - "required":[ - "Rule", - "Ids" - ], - "members":{ - "Rule":{"shape":"RuleName"}, - "Ids":{"shape":"TargetIdList"} - } - }, - "RemoveTargetsResponse":{ - "type":"structure", - "members":{ - "FailedEntryCount":{"shape":"Integer"}, - "FailedEntries":{"shape":"RemoveTargetsResultEntryList"} - } - }, - "RemoveTargetsResultEntry":{ - "type":"structure", - "members":{ - "TargetId":{"shape":"TargetId"}, - "ErrorCode":{"shape":"ErrorCode"}, - "ErrorMessage":{"shape":"ErrorMessage"} - } - }, - "RemoveTargetsResultEntryList":{ - "type":"list", - "member":{"shape":"RemoveTargetsResultEntry"} - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "exception":true - }, - "RoleArn":{ - "type":"string", - "min":1, - "max":1600 - }, - "Rule":{ - "type":"structure", - "members":{ - "Name":{"shape":"RuleName"}, - "Arn":{"shape":"RuleArn"}, - "EventPattern":{"shape":"EventPattern"}, - "State":{"shape":"RuleState"}, - "Description":{"shape":"RuleDescription"}, - "ScheduleExpression":{"shape":"ScheduleExpression"}, - "RoleArn":{"shape":"RoleArn"} - } - }, - "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"}, - "Arn":{"shape":"TargetArn"}, - "Input":{"shape":"TargetInput"}, - "InputPath":{"shape":"TargetInputPath"} - } - }, - "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"}, - "Event":{"shape":"String"} - } - }, - "TestEventPatternResponse":{ - "type":"structure", - "members":{ - "Result":{"shape":"Boolean"} - } - } - } -} diff --git a/models/apis/events/2014-02-03/docs-2.json b/models/apis/events/2014-02-03/docs-2.json deleted file mode 100644 index c6eaf862798..00000000000 --- a/models/apis/events/2014-02-03/docs-2.json +++ /dev/null @@ -1,411 +0,0 @@ -{ - "version": "2.0", - "operations": { - "DeleteRule": "

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": "

Describes the details of the specified rule.

", - "DisableRule": "

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": "

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": "

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": "

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": "

Lists of targets assigned to the rule.

", - "PutEvents": "

Sends custom events to Amazon CloudWatch Events so that they can be matched to rules.

", - "PutRule": "

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": "

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": "

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": "

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.

" - }, - "service": "

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.

", - "shapes": { - "Boolean": { - "base": null, - "refs": { - "TestEventPatternResponse$Result": "

Indicates whether the event matches the event pattern.

" - } - }, - "ConcurrentModificationException": { - "base": "

This exception occurs if there is concurrent modification on rule or target.

", - "refs": { - } - }, - "DeleteRuleRequest": { - "base": "

Container for the parameters to the DeleteRule operation.

", - "refs": { - } - }, - "DescribeRuleRequest": { - "base": "

Container for the parameters to the DescribeRule operation.

", - "refs": { - } - }, - "DescribeRuleResponse": { - "base": "

The result of the DescribeRule operation.

", - "refs": { - } - }, - "DisableRuleRequest": { - "base": "

Container for the parameters to the DisableRule operation.

", - "refs": { - } - }, - "EnableRuleRequest": { - "base": "

Container for the parameters to the EnableRule operation.

", - "refs": { - } - }, - "ErrorCode": { - "base": null, - "refs": { - "PutEventsResultEntry$ErrorCode": "

The error code representing why the event submission failed on this entry.

", - "PutTargetsResultEntry$ErrorCode": "

The error code representing why the target submission failed on this entry.

", - "RemoveTargetsResultEntry$ErrorCode": "

The error code representing why the target removal failed on this entry.

" - } - }, - "ErrorMessage": { - "base": null, - "refs": { - "PutEventsResultEntry$ErrorMessage": "

The error message explaining why the event submission failed on this entry.

", - "PutTargetsResultEntry$ErrorMessage": "

The error message explaining why the target submission failed on this entry.

", - "RemoveTargetsResultEntry$ErrorMessage": "

The error message explaining why the target removal failed on this entry.

" - } - }, - "EventId": { - "base": null, - "refs": { - "PutEventsResultEntry$EventId": "

The ID of the event submitted to Amazon CloudWatch Events.

" - } - }, - "EventPattern": { - "base": null, - "refs": { - "DescribeRuleResponse$EventPattern": "

The event pattern.

", - "PutRuleRequest$EventPattern": "

The event pattern.

", - "Rule$EventPattern": "

The event pattern of the rule.

", - "TestEventPatternRequest$EventPattern": "

The event pattern you want to test.

" - } - }, - "EventResource": { - "base": null, - "refs": { - "EventResourceList$member": null - } - }, - "EventResourceList": { - "base": null, - "refs": { - "PutEventsRequestEntry$Resources": "

AWS resources, identified by Amazon Resource Name (ARN), which the event primarily concerns. Any number, including zero, may be present.

" - } - }, - "EventTime": { - "base": null, - "refs": { - "PutEventsRequestEntry$Time": "

Timestamp of event, per RFC3339. If no timestamp is provided, the timestamp of the PutEvents call will be used.

" - } - }, - "Integer": { - "base": null, - "refs": { - "PutEventsResponse$FailedEntryCount": "

The number of failed entries.

", - "PutTargetsResponse$FailedEntryCount": "

The number of failed entries.

", - "RemoveTargetsResponse$FailedEntryCount": "

The number of failed entries.

" - } - }, - "InternalException": { - "base": "

This exception occurs due to unexpected causes.

", - "refs": { - } - }, - "InvalidEventPatternException": { - "base": "

The event pattern is invalid.

", - "refs": { - } - }, - "LimitExceededException": { - "base": "

This exception occurs if you try to create more rules or add more targets to a rule than allowed by default.

", - "refs": { - } - }, - "LimitMax100": { - "base": null, - "refs": { - "ListRuleNamesByTargetRequest$Limit": "

The maximum number of results to return.

", - "ListRulesRequest$Limit": "

The maximum number of results to return.

", - "ListTargetsByRuleRequest$Limit": "

The maximum number of results to return.

" - } - }, - "ListRuleNamesByTargetRequest": { - "base": "

Container for the parameters to the ListRuleNamesByTarget operation.

", - "refs": { - } - }, - "ListRuleNamesByTargetResponse": { - "base": "

The result of the ListRuleNamesByTarget operation.

", - "refs": { - } - }, - "ListRulesRequest": { - "base": "

Container for the parameters to the ListRules operation.

", - "refs": { - } - }, - "ListRulesResponse": { - "base": "

The result of the ListRules operation.

", - "refs": { - } - }, - "ListTargetsByRuleRequest": { - "base": "

Container for the parameters to the ListTargetsByRule operation.

", - "refs": { - } - }, - "ListTargetsByRuleResponse": { - "base": "

The result of the ListTargetsByRule operation.

", - "refs": { - } - }, - "NextToken": { - "base": null, - "refs": { - "ListRuleNamesByTargetRequest$NextToken": "

The token returned by a previous call to indicate that there is more data available.

", - "ListRuleNamesByTargetResponse$NextToken": "

Indicates that there are additional results to retrieve.

", - "ListRulesRequest$NextToken": "

The token returned by a previous call to indicate that there is more data available.

", - "ListRulesResponse$NextToken": "

Indicates that there are additional results to retrieve.

", - "ListTargetsByRuleRequest$NextToken": "

The token returned by a previous call to indicate that there is more data available.

", - "ListTargetsByRuleResponse$NextToken": "

Indicates that there are additional results to retrieve.

" - } - }, - "PutEventsRequest": { - "base": "

Container for the parameters to the PutEvents operation.

", - "refs": { - } - }, - "PutEventsRequestEntry": { - "base": "

Contains information about the event to be used in the PutEvents action.

", - "refs": { - "PutEventsRequestEntryList$member": null - } - }, - "PutEventsRequestEntryList": { - "base": null, - "refs": { - "PutEventsRequest$Entries": "

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.

" - } - }, - "PutEventsResponse": { - "base": "

The result of the PutEvents operation.

", - "refs": { - } - }, - "PutEventsResultEntry": { - "base": "

A PutEventsResult contains a list of PutEventsResultEntry.

", - "refs": { - "PutEventsResultEntryList$member": null - } - }, - "PutEventsResultEntryList": { - "base": null, - "refs": { - "PutEventsResponse$Entries": "

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.

" - } - }, - "PutRuleRequest": { - "base": "

Container for the parameters to the PutRule operation.

", - "refs": { - } - }, - "PutRuleResponse": { - "base": "

The result of the PutRule operation.

", - "refs": { - } - }, - "PutTargetsRequest": { - "base": "

Container for the parameters to the PutTargets operation.

", - "refs": { - } - }, - "PutTargetsResponse": { - "base": "

The result of the PutTargets operation.

", - "refs": { - } - }, - "PutTargetsResultEntry": { - "base": "

A PutTargetsResult contains a list of PutTargetsResultEntry.

", - "refs": { - "PutTargetsResultEntryList$member": null - } - }, - "PutTargetsResultEntryList": { - "base": null, - "refs": { - "PutTargetsResponse$FailedEntries": "

An array of failed target entries.

" - } - }, - "RemoveTargetsRequest": { - "base": "

Container for the parameters to the RemoveTargets operation.

", - "refs": { - } - }, - "RemoveTargetsResponse": { - "base": "

The result of the RemoveTargets operation.

", - "refs": { - } - }, - "RemoveTargetsResultEntry": { - "base": "

The ID of the target requested to be removed from the rule by Amazon CloudWatch Events.

", - "refs": { - "RemoveTargetsResultEntryList$member": null - } - }, - "RemoveTargetsResultEntryList": { - "base": null, - "refs": { - "RemoveTargetsResponse$FailedEntries": "

An array of failed target entries.

" - } - }, - "ResourceNotFoundException": { - "base": "

The rule does not exist.

", - "refs": { - } - }, - "RoleArn": { - "base": null, - "refs": { - "DescribeRuleResponse$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role associated with the rule.

", - "PutRuleRequest$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role associated with the rule.

", - "Rule$RoleArn": "

The Amazon Resource Name (ARN) associated with the role that is used for target invocation.

" - } - }, - "Rule": { - "base": "

Contains information about a rule in Amazon CloudWatch Events. A ListRulesResult contains a list of Rules.

", - "refs": { - "RuleResponseList$member": null - } - }, - "RuleArn": { - "base": null, - "refs": { - "DescribeRuleResponse$Arn": "

The Amazon Resource Name (ARN) associated with the rule.

", - "PutRuleResponse$RuleArn": "

The Amazon Resource Name (ARN) that identifies the rule.

", - "Rule$Arn": "

The Amazon Resource Name (ARN) of the rule.

" - } - }, - "RuleDescription": { - "base": null, - "refs": { - "DescribeRuleResponse$Description": "

The rule's description.

", - "PutRuleRequest$Description": "

A description of the rule.

", - "Rule$Description": "

The description of the rule.

" - } - }, - "RuleName": { - "base": null, - "refs": { - "DeleteRuleRequest$Name": "

The name of the rule to be deleted.

", - "DescribeRuleRequest$Name": "

The name of the rule you want to describe details for.

", - "DescribeRuleResponse$Name": "

The rule's name.

", - "DisableRuleRequest$Name": "

The name of the rule you want to disable.

", - "EnableRuleRequest$Name": "

The name of the rule that you want to enable.

", - "ListRulesRequest$NamePrefix": "

The prefix matching the rule name.

", - "ListTargetsByRuleRequest$Rule": "

The name of the rule whose targets you want to list.

", - "PutRuleRequest$Name": "

The name of the rule that you are creating or updating.

", - "PutTargetsRequest$Rule": "

The name of the rule you want to add targets to.

", - "RemoveTargetsRequest$Rule": "

The name of the rule you want to remove targets from.

", - "Rule$Name": "

The rule's name.

", - "RuleNameList$member": null - } - }, - "RuleNameList": { - "base": null, - "refs": { - "ListRuleNamesByTargetResponse$RuleNames": "

List of rules names that can invoke the given target.

" - } - }, - "RuleResponseList": { - "base": null, - "refs": { - "ListRulesResponse$Rules": "

List of rules matching the specified criteria.

" - } - }, - "RuleState": { - "base": null, - "refs": { - "DescribeRuleResponse$State": "

Specifies whether the rule is enabled or disabled.

", - "PutRuleRequest$State": "

Indicates whether the rule is enabled or disabled.

", - "Rule$State": "

The rule's state.

" - } - }, - "ScheduleExpression": { - "base": null, - "refs": { - "DescribeRuleResponse$ScheduleExpression": "

The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\".

", - "PutRuleRequest$ScheduleExpression": "

The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\".

", - "Rule$ScheduleExpression": "

The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\".

" - } - }, - "String": { - "base": null, - "refs": { - "PutEventsRequestEntry$Source": "

The source of the event.

", - "PutEventsRequestEntry$DetailType": "

Free-form string used to decide what fields to expect in the event detail.

", - "PutEventsRequestEntry$Detail": "

In the JSON sense, an object containing fields, which may also contain nested sub-objects. No constraints are imposed on its contents.

", - "TestEventPatternRequest$Event": "

The event in the JSON format to test against the event pattern.

" - } - }, - "Target": { - "base": "

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.
", - "refs": { - "TargetList$member": null - } - }, - "TargetArn": { - "base": null, - "refs": { - "ListRuleNamesByTargetRequest$TargetArn": "

The Amazon Resource Name (ARN) of the target resource that you want to list the rules for.

", - "Target$Arn": "

The Amazon Resource Name (ARN) associated of the target.

" - } - }, - "TargetId": { - "base": null, - "refs": { - "PutTargetsResultEntry$TargetId": "

The ID of the target submitted to Amazon CloudWatch Events.

", - "RemoveTargetsResultEntry$TargetId": "

The ID of the target requested to be removed by Amazon CloudWatch Events.

", - "Target$Id": "

The unique target assignment ID.

", - "TargetIdList$member": null - } - }, - "TargetIdList": { - "base": null, - "refs": { - "RemoveTargetsRequest$Ids": "

The list of target IDs to remove from the rule.

" - } - }, - "TargetInput": { - "base": null, - "refs": { - "Target$Input": "

Valid JSON text passed to the target. For more information about JSON text, see The JavaScript Object Notation (JSON) Data Interchange Format.

" - } - }, - "TargetInputPath": { - "base": null, - "refs": { - "Target$InputPath": "

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.

" - } - }, - "TargetList": { - "base": null, - "refs": { - "ListTargetsByRuleResponse$Targets": "

Lists the targets assigned to the rule.

", - "PutTargetsRequest$Targets": "

List of targets you want to update or add to the rule.

" - } - }, - "TestEventPatternRequest": { - "base": "

Container for the parameters to the TestEventPattern operation.

", - "refs": { - } - }, - "TestEventPatternResponse": { - "base": "

The result of the TestEventPattern operation.

", - "refs": { - } - } - } -} diff --git a/models/apis/events/2015-10-07/api-2.json b/models/apis/events/2015-10-07/api-2.json index acfd4b24c24..7dbb98670bf 100644 --- a/models/apis/events/2015-10-07/api-2.json +++ b/models/apis/events/2015-10-07/api-2.json @@ -6,6 +6,7 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon CloudWatch Events", + "serviceId":"CloudWatch Events", "signatureVersion":"v4", "targetPrefix":"AWSEvents", "uid":"events-2015-10-07" @@ -221,6 +222,31 @@ "max":1600, "min":1 }, + "BatchArrayProperties":{ + "type":"structure", + "members":{ + "Size":{"shape":"Integer"} + } + }, + "BatchParameters":{ + "type":"structure", + "required":[ + "JobDefinition", + "JobName" + ], + "members":{ + "JobDefinition":{"shape":"String"}, + "JobName":{"shape":"String"}, + "ArrayProperties":{"shape":"BatchArrayProperties"}, + "RetryStrategy":{"shape":"BatchRetryStrategy"} + } + }, + "BatchRetryStrategy":{ + "type":"structure", + "members":{ + "Attempts":{"shape":"Integer"} + } + }, "Boolean":{"type":"boolean"}, "ConcurrentModificationException":{ "type":"structure", @@ -292,10 +318,7 @@ "ErrorCode":{"type":"string"}, "ErrorMessage":{"type":"string"}, "EventId":{"type":"string"}, - "EventPattern":{ - "type":"string", - "max":2048 - }, + "EventPattern":{"type":"string"}, "EventResource":{"type":"string"}, "EventResourceList":{ "type":"list", @@ -399,6 +422,7 @@ "NextToken":{"shape":"NextToken"} } }, + "MessageGroupId":{"type":"string"}, "NextToken":{ "type":"string", "max":2048, @@ -654,6 +678,12 @@ "type":"string", "max":256 }, + "SqsParameters":{ + "type":"structure", + "members":{ + "MessageGroupId":{"shape":"MessageGroupId"} + } + }, "StatementId":{ "type":"string", "max":64, @@ -676,7 +706,9 @@ "InputTransformer":{"shape":"InputTransformer"}, "KinesisParameters":{"shape":"KinesisParameters"}, "RunCommandParameters":{"shape":"RunCommandParameters"}, - "EcsParameters":{"shape":"EcsParameters"} + "EcsParameters":{"shape":"EcsParameters"}, + "BatchParameters":{"shape":"BatchParameters"}, + "SqsParameters":{"shape":"SqsParameters"} } }, "TargetArn":{ diff --git a/models/apis/events/2015-10-07/docs-2.json b/models/apis/events/2015-10-07/docs-2.json index 9a02593a1db..a99f5dd03f7 100644 --- a/models/apis/events/2015-10-07/docs-2.json +++ b/models/apis/events/2015-10-07/docs-2.json @@ -12,8 +12,8 @@ "ListTargetsByRule": "

Lists the targets assigned to the specified rule.

", "PutEvents": "

Sends custom events to Amazon CloudWatch Events so that they can be matched to rules.

", "PutPermission": "

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 10KB in size.

", - "PutRule": "

Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using DisableRule.

When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Please allow a short period of time for changes to take effect.

A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

", - "PutTargets": "

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

  • AWS Lambda functions

  • Streams in Amazon Kinesis Streams

  • Delivery streams in Amazon Kinesis Firehose

  • Amazon ECS tasks

  • AWS Step Functions state machines

  • Pipelines in Amazon Code Pipeline

  • Amazon Inspector assessment templates

  • Amazon SNS topics

  • Amazon SQS queues

  • The default event bus of another AWS account

Note that creating rules with built-in targets is supported only in the AWS Management Console.

For some target types, PutTargets provides target-specific parameters. If the target is an Amazon Kinesis stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command on multiple EC2 instances with one rule, you can use the RunCommandParameters field.

To be able to make API calls against the resources that you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, CloudWatch Events relies on resource-based policies. For EC2 instances, Amazon Kinesis streams, and AWS Step Functions state machines, CloudWatch Events relies on IAM roles that you specify in the RoleARN argument in 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 by setting 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 when you run PutTargets. If your account sends events to another account, your account is charged for each sent event. Each event sent to antoher account is charged as a custom event. The account receiving the event is not charged. For more information on pricing, 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 form (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).

  • If Input is specified in the form of valid JSON, then the matched event is overridden with this constant.

  • If InputPath is specified in the form of JSONPath (for example, $.detail), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).

  • If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.

When you specify Input, InputPath, or InputTransformer, you must use JSON dot notation, not bracket notation.

When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Please allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

", + "PutRule": "

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 completely 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. Please allow a short period of time for changes to take effect.

A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

", + "PutTargets": "

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

  • AWS Lambda functions

  • Streams in Amazon Kinesis Streams

  • Delivery streams in Amazon Kinesis Firehose

  • Amazon ECS tasks

  • AWS Step Functions state machines

  • AWS Batch jobs

  • Pipelines in Amazon Code Pipeline

  • Amazon Inspector assessment templates

  • Amazon SNS topics

  • Amazon SQS queues, including FIFO queues

  • The default event bus of another AWS account

Note that creating rules with built-in targets is supported only in the AWS Management Console.

For some target types, PutTargets provides target-specific parameters. If the target is an Amazon Kinesis stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command on multiple EC2 instances with one rule, you can use the RunCommandParameters field.

To be able to make API calls against the resources that you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, CloudWatch Events relies on resource-based policies. For EC2 instances, Amazon Kinesis streams, and AWS Step Functions state machines, CloudWatch Events relies on IAM roles that you specify in the RoleARN argument in 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 by setting 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 when you run PutTargets. If your account sends events to another account, your account is charged for each sent event. Each event sent to antoher account is charged as a custom event. The account receiving the event is not charged. For more information on pricing, 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 form (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).

  • If Input is specified in the form of valid JSON, then the matched event is overridden with this constant.

  • If InputPath is specified in the form of JSONPath (for example, $.detail), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).

  • If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.

When you specify InputPath or InputTransformer, you must use JSON dot notation, not bracket notation.

When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Please allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

", "RemovePermission": "

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": "

Removes the specified targets from the specified rule. When the rule is triggered, those targets are no longer be invoked.

When you remove a target, when the associated rule triggers, removed targets might continue to be invoked. Please allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

", "TestEventPattern": "

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.

" @@ -31,6 +31,24 @@ "EcsParameters$TaskDefinitionArn": "

The ARN of the task definition to use if the event target is an Amazon ECS cluster.

" } }, + "BatchArrayProperties": { + "base": "

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.

", + "refs": { + "BatchParameters$ArrayProperties": "

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": { + "base": "

The custom parameters to be used when the target is an AWS Batch job.

", + "refs": { + "Target$BatchParameters": "

Contains the job definition, job name, and other parameters if the event target is an AWS Batch job. For more information about AWS Batch, see Jobs in the AWS Batch User Guide.

" + } + }, + "BatchRetryStrategy": { + "base": "

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.

", + "refs": { + "BatchParameters$RetryStrategy": "

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 to 10. When you specify a retry strategy here, it overrides the retry strategy defined in the job definition.

" + } + }, "Boolean": { "base": null, "refs": { @@ -147,6 +165,8 @@ "Integer": { "base": null, "refs": { + "BatchArrayProperties$Size": "

The size of the array, if this is an array batch job. Valid values are integers between 2 and 10,000.

", + "BatchRetryStrategy$Attempts": "

The number of times to attempt to retry, if the job fails. Valid values are 1 to 10.

", "PutEventsResponse$FailedEntryCount": "

The number of failed entries.

", "PutTargetsResponse$FailedEntryCount": "

The number of failed entries.

", "RemoveTargetsResponse$FailedEntryCount": "

The number of failed entries.

" @@ -217,6 +237,12 @@ "refs": { } }, + "MessageGroupId": { + "base": null, + "refs": { + "SqsParameters$MessageGroupId": "

The FIFO message group ID to use as the target.

" + } + }, "NextToken": { "base": null, "refs": { @@ -454,6 +480,12 @@ "Rule$ScheduleExpression": "

The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\".

" } }, + "SqsParameters": { + "base": "

This structure includes the custom parameter to be used when the target is an SQS FIFO queue.

", + "refs": { + "Target$SqsParameters": "

Contains the message group ID to use when the target is a FIFO queue.

" + } + }, "StatementId": { "base": null, "refs": { @@ -464,12 +496,14 @@ "String": { "base": null, "refs": { + "BatchParameters$JobDefinition": "

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.

", + "BatchParameters$JobName": "

The name to use for this execution of the job, if the target is an AWS Batch job.

", "DescribeEventBusResponse$Name": "

The name of the event bus. Currently, this is always default.

", "DescribeEventBusResponse$Arn": "

The Amazon Resource Name (ARN) of the account permitted to write events to the current account.

", "DescribeEventBusResponse$Policy": "

The policy that enables the external account to send events to your account.

", "PutEventsRequestEntry$Source": "

The source of the event.

", "PutEventsRequestEntry$DetailType": "

Free-form string used to decide what fields to expect in the event detail.

", - "PutEventsRequestEntry$Detail": "

In the JSON sense, an object containing fields, which may also contain nested subobjects. No constraints are imposed on its contents.

", + "PutEventsRequestEntry$Detail": "

A valid JSON string. There is no other schema imposed. The JSON string may contain fields and nested subobjects.

", "TestEventPatternRequest$Event": "

The event, in JSON format, to test against the event pattern.

" } }, @@ -504,7 +538,7 @@ "TargetInput": { "base": null, "refs": { - "Target$Input": "

Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target. You must use JSON dot notation, not bracket notation. For more information, see The JavaScript Object Notation (JSON) Data Interchange Format.

" + "Target$Input": "

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.

" } }, "TargetInputPath": { diff --git a/models/apis/events/2015-10-07/smoke.json b/models/apis/events/2015-10-07/smoke.json new file mode 100644 index 00000000000..689a9e45240 --- /dev/null +++ b/models/apis/events/2015-10-07/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListRules", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeRule", + "input": { + "Name": "fake-rule" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/firehose/2015-08-04/api-2.json b/models/apis/firehose/2015-08-04/api-2.json index 81a975699cc..b64781992d2 100644 --- a/models/apis/firehose/2015-08-04/api-2.json +++ b/models/apis/firehose/2015-08-04/api-2.json @@ -61,6 +61,20 @@ "input":{"shape":"ListDeliveryStreamsInput"}, "output":{"shape":"ListDeliveryStreamsOutput"} }, + "ListTagsForDeliveryStream":{ + "name":"ListTagsForDeliveryStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForDeliveryStreamInput"}, + "output":{"shape":"ListTagsForDeliveryStreamOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"} + ] + }, "PutRecord":{ "name":"PutRecord", "http":{ @@ -89,6 +103,36 @@ {"shape":"ServiceUnavailableException"} ] }, + "TagDeliveryStream":{ + "name":"TagDeliveryStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagDeliveryStreamInput"}, + "output":{"shape":"TagDeliveryStreamOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"} + ] + }, + "UntagDeliveryStream":{ + "name":"UntagDeliveryStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagDeliveryStreamInput"}, + "output":{"shape":"UntagDeliveryStreamOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"} + ] + }, "UpdateDestination":{ "name":"UpdateDestination", "http":{ @@ -112,6 +156,10 @@ "min":1, "pattern":"arn:.*" }, + "BlockSizeBytes":{ + "type":"integer", + "min":67108864 + }, "BooleanObject":{"type":"boolean"}, "BucketARN":{ "type":"string", @@ -139,6 +187,11 @@ "min":1, "pattern":"jdbc:(redshift|postgresql)://((?!-)[A-Za-z0-9-]{1,63}(?Amazon Kinesis Firehose API Reference

Amazon Kinesis Firehose is a fully managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon Elasticsearch Service (Amazon ES), and Amazon Redshift.

", + "service": "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.

", "operations": { - "CreateDeliveryStream": "

Creates a delivery stream.

By default, you can create up to 20 delivery streams per 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 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 stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream ARN and role ARN in the KinesisStreamSourceConfiguration parameter.

A delivery stream is configured with a single destination: Amazon S3, Amazon ES, or Amazon Redshift. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, or RedshiftDestinationConfiguration.

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 Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. Note that BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly; for example, record boundaries are such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about Amazon Redshift as a destination:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location, as Kinesis Firehose first delivers data to S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

  • 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 Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Kinesis Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Amazon S3 Bucket Access in the Amazon Kinesis Firehose Developer Guide.

", - "DeleteDeliveryStream": "

Deletes a delivery stream and its data.

You can delete a delivery stream only if it is in ACTIVE or DELETING state, and not in the CREATING state. While the deletion request is in process, the delivery stream is in the DELETING state.

To check the state of a delivery stream, use DescribeDeliveryStream.

While the delivery stream is DELETING state, the service may continue to accept the records, but the service doesn't make any guarantees with respect to delivering the data. Therefore, as a best practice, you should first stop any applications that are sending records before deleting a delivery stream.

", - "DescribeDeliveryStream": "

Describes the specified delivery stream and gets the status. For example, after your delivery stream is created, call DescribeDeliveryStream to see if the delivery stream is ACTIVE and therefore ready for data to be sent to it.

", - "ListDeliveryStreams": "

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.

", - "PutRecord": "

Writes a single data record into an Amazon Kinesis Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. Note that if you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Firehose Limits.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data, for example, a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\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 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.

", - "PutRecordBatch": "

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 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, web site clickstream data, and so on.

Kinesis Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\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 Firehose attempts to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is 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 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.

", - "UpdateDestination": "

Updates the specified destination of the specified delivery stream.

You can use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

Note that switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination.

If the destination type is the same, Kinesis Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if 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 Firehose does not merge any parameters. In this case, all parameters must be specified.

Kinesis 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.

" + "CreateDeliveryStream": "

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": "

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": "

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": "

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": "

Lists the tags for the specified delivery stream. This operation has a limit of five transactions per second per account.

", + "PutRecord": "

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": "

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": "

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": "

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": "

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": { "base": null, "refs": { - "KMSEncryptionConfig$AWSKMSKeyARN": "

The ARN of the encryption key. Must belong to the same region as the destination Amazon S3 bucket.

" + "KMSEncryptionConfig$AWSKMSKeyARN": "

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.

" + } + }, + "BlockSizeBytes": { + "base": null, + "refs": { + "OrcSerDe$BlockSizeBytes": "

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.

", + "ParquetSerDe$BlockSizeBytes": "

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.

" } }, "BooleanObject": { "base": null, "refs": { "CloudWatchLoggingOptions$Enabled": "

Enables or disables CloudWatch logging.

", + "DataFormatConversionConfiguration$Enabled": "

Defaults to true. Set it to false if you want to disable format conversion while preserving the configuration details.

", "DeliveryStreamDescription$HasMoreDestinations": "

Indicates whether there are more destinations available to list.

", "ListDeliveryStreamsOutput$HasMoreDeliveryStreams": "

Indicates whether there are more delivery streams available to list.

", + "ListTagsForDeliveryStreamOutput$HasMoreTags": "

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.

", + "OpenXJsonSerDe$ConvertDotsInJsonKeysToUnderscores": "

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.

", + "OpenXJsonSerDe$CaseInsensitive": "

When set to true, which is the default, Kinesis Data Firehose converts JSON keys to lowercase before deserializing them.

", + "OrcSerDe$EnablePadding": "

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.

", + "ParquetSerDe$EnableDictionaryCompression": "

Indicates whether to enable dictionary compression.

", "ProcessingConfiguration$Enabled": "

Enables or disables data processing.

" } }, "BucketARN": { "base": null, "refs": { - "ExtendedS3DestinationConfiguration$BucketARN": "

The ARN of the S3 bucket.

", - "ExtendedS3DestinationDescription$BucketARN": "

The ARN of the S3 bucket.

", - "ExtendedS3DestinationUpdate$BucketARN": "

The ARN of the S3 bucket.

", - "S3DestinationConfiguration$BucketARN": "

The ARN of the S3 bucket.

", - "S3DestinationDescription$BucketARN": "

The ARN of the S3 bucket.

", - "S3DestinationUpdate$BucketARN": "

The ARN of the S3 bucket.

" + "ExtendedS3DestinationConfiguration$BucketARN": "

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "ExtendedS3DestinationDescription$BucketARN": "

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "ExtendedS3DestinationUpdate$BucketARN": "

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "S3DestinationConfiguration$BucketARN": "

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "S3DestinationDescription$BucketARN": "

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "S3DestinationUpdate$BucketARN": "

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } }, "BufferingHints": { - "base": "

Describes hints for the buffering to perform before delivering data to the destination. Please note that these options are treated as hints, and therefore Kinesis Firehose may choose to use different values when it is optimal.

", + "base": "

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.

", "refs": { "ExtendedS3DestinationConfiguration$BufferingHints": "

The buffering option.

", "ExtendedS3DestinationDescription$BufferingHints": "

The buffering option.

", "ExtendedS3DestinationUpdate$BufferingHints": "

The buffering option.

", - "S3DestinationConfiguration$BufferingHints": "

The buffering option. If no value is specified, BufferingHints object default values are used.

", - "S3DestinationDescription$BufferingHints": "

The buffering option. If no value is specified, BufferingHints object default values are used.

", - "S3DestinationUpdate$BufferingHints": "

The buffering option. If no value is specified, BufferingHints object default values are used.

" + "S3DestinationConfiguration$BufferingHints": "

The buffering option. If no value is specified, BufferingHints object default values are used.

", + "S3DestinationDescription$BufferingHints": "

The buffering option. If no value is specified, BufferingHints object default values are used.

", + "S3DestinationUpdate$BufferingHints": "

The buffering option. If no value is specified, BufferingHints object default values are used.

" } }, "CloudWatchLoggingOptions": { "base": "

Describes the Amazon CloudWatch logging options for your delivery stream.

", "refs": { - "ElasticsearchDestinationConfiguration$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", - "ElasticsearchDestinationDescription$CloudWatchLoggingOptions": "

The CloudWatch logging options.

", + "ElasticsearchDestinationConfiguration$CloudWatchLoggingOptions": "

The Amazon CloudWatch logging options for your delivery stream.

", + "ElasticsearchDestinationDescription$CloudWatchLoggingOptions": "

The Amazon CloudWatch logging options.

", "ElasticsearchDestinationUpdate$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", - "ExtendedS3DestinationConfiguration$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", - "ExtendedS3DestinationDescription$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", - "ExtendedS3DestinationUpdate$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", + "ExtendedS3DestinationConfiguration$CloudWatchLoggingOptions": "

The Amazon CloudWatch logging options for your delivery stream.

", + "ExtendedS3DestinationDescription$CloudWatchLoggingOptions": "

The Amazon CloudWatch logging options for your delivery stream.

", + "ExtendedS3DestinationUpdate$CloudWatchLoggingOptions": "

The Amazon CloudWatch logging options for your delivery stream.

", "RedshiftDestinationConfiguration$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", - "RedshiftDestinationDescription$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", - "RedshiftDestinationUpdate$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", + "RedshiftDestinationDescription$CloudWatchLoggingOptions": "

The Amazon CloudWatch logging options for your delivery stream.

", + "RedshiftDestinationUpdate$CloudWatchLoggingOptions": "

The Amazon CloudWatch logging options for your delivery stream.

", "S3DestinationConfiguration$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", - "S3DestinationDescription$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", + "S3DestinationDescription$CloudWatchLoggingOptions": "

The Amazon CloudWatch logging options for your delivery stream.

", "S3DestinationUpdate$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", - "SplunkDestinationConfiguration$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", - "SplunkDestinationDescription$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", - "SplunkDestinationUpdate$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

" + "SplunkDestinationConfiguration$CloudWatchLoggingOptions": "

The Amazon CloudWatch logging options for your delivery stream.

", + "SplunkDestinationDescription$CloudWatchLoggingOptions": "

The Amazon CloudWatch logging options for your delivery stream.

", + "SplunkDestinationUpdate$CloudWatchLoggingOptions": "

The Amazon CloudWatch logging options for your delivery stream.

" } }, "ClusterJDBCURL": { @@ -76,6 +92,12 @@ "RedshiftDestinationUpdate$ClusterJDBCURL": "

The database connection string.

" } }, + "ColumnToJsonKeyMappings": { + "base": null, + "refs": { + "OpenXJsonSerDe$ColumnToJsonKeyMappings": "

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.

" + } + }, "CompressionFormat": { "base": null, "refs": { @@ -103,7 +125,7 @@ "CopyOptions": { "base": null, "refs": { - "CopyCommand$CopyOptions": "

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 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.

" + "CopyCommand$CopyOptions": "

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.

" } }, "CreateDeliveryStreamInput": { @@ -122,6 +144,14 @@ "Record$Data": "

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.

" } }, + "DataFormatConversionConfiguration": { + "base": "

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.

", + "refs": { + "ExtendedS3DestinationConfiguration$DataFormatConversionConfiguration": "

The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.

", + "ExtendedS3DestinationDescription$DataFormatConversionConfiguration": "

The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.

", + "ExtendedS3DestinationUpdate$DataFormatConversionConfiguration": "

The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.

" + } + }, "DataTableColumns": { "base": null, "refs": { @@ -147,14 +177,14 @@ "DeliveryStartTimestamp": { "base": null, "refs": { - "KinesisStreamSourceDescription$DeliveryStartTimestamp": "

Kinesis Firehose starts retrieving records from the Kinesis stream starting with this time stamp.

" + "KinesisStreamSourceDescription$DeliveryStartTimestamp": "

Kinesis Data Firehose starts retrieving records from the Kinesis data stream starting with this time stamp.

" } }, "DeliveryStreamARN": { "base": null, "refs": { "CreateDeliveryStreamOutput$DeliveryStreamARN": "

The ARN of the delivery stream.

", - "DeliveryStreamDescription$DeliveryStreamARN": "

The Amazon Resource Name (ARN) of the delivery stream.

" + "DeliveryStreamDescription$DeliveryStreamARN": "

The Amazon Resource Name (ARN) of the delivery stream. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } }, "DeliveryStreamDescription": { @@ -166,14 +196,17 @@ "DeliveryStreamName": { "base": null, "refs": { - "CreateDeliveryStreamInput$DeliveryStreamName": "

The name of the delivery stream. This name must be unique per AWS account in the same region. If the delivery streams are in different accounts or different regions, you can have multiple delivery streams with the same name.

", + "CreateDeliveryStreamInput$DeliveryStreamName": "

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.

", "DeleteDeliveryStreamInput$DeliveryStreamName": "

The name of the delivery stream.

", "DeliveryStreamDescription$DeliveryStreamName": "

The name of the delivery stream.

", "DeliveryStreamNameList$member": null, "DescribeDeliveryStreamInput$DeliveryStreamName": "

The name of the delivery stream.

", "ListDeliveryStreamsInput$ExclusiveStartDeliveryStreamName": "

The name of the delivery stream to start the list with.

", + "ListTagsForDeliveryStreamInput$DeliveryStreamName": "

The name of the delivery stream whose tags you want to list.

", "PutRecordBatchInput$DeliveryStreamName": "

The name of the delivery stream.

", "PutRecordInput$DeliveryStreamName": "

The name of the delivery stream.

", + "TagDeliveryStreamInput$DeliveryStreamName": "

The name of the delivery stream to which you want to add the tags.

", + "UntagDeliveryStreamInput$DeliveryStreamName": "

The name of the delivery stream.

", "UpdateDestinationInput$DeliveryStreamName": "

The name of the delivery stream.

" } }, @@ -192,16 +225,16 @@ "DeliveryStreamType": { "base": null, "refs": { - "CreateDeliveryStreamInput$DeliveryStreamType": "

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 stream as a source.

", - "DeliveryStreamDescription$DeliveryStreamType": "

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 stream as a source.

", - "ListDeliveryStreamsInput$DeliveryStreamType": "

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 stream as a source.

This parameter is optional. If this parameter is omitted, delivery streams of all types are returned.

" + "CreateDeliveryStreamInput$DeliveryStreamType": "

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.

", + "DeliveryStreamDescription$DeliveryStreamType": "

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.

", + "ListDeliveryStreamsInput$DeliveryStreamType": "

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.

" } }, "DeliveryStreamVersionId": { "base": null, "refs": { "DeliveryStreamDescription$VersionId": "

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.

", - "UpdateDestinationInput$CurrentDeliveryStreamVersionId": "

Obtain this value from the VersionId result of DeliveryStreamDescription. This value is required, and helps the service to perform conditional operations. For example, if there is an interleaving update and this value is null, then the update destination fails. After the update is successful, the VersionId value is updated. The service then performs a merge of the old configuration with the new configuration.

" + "UpdateDestinationInput$CurrentDeliveryStreamVersionId": "

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.

" } }, "DescribeDeliveryStreamInput": { @@ -212,7 +245,7 @@ "DescribeDeliveryStreamInputLimit": { "base": null, "refs": { - "DescribeDeliveryStreamInput$Limit": "

The limit on the number of destinations to return. Currently, you can have one destination per delivery stream.

" + "DescribeDeliveryStreamInput$Limit": "

The limit on the number of destinations to return. You can have one destination per delivery stream.

" } }, "DescribeDeliveryStreamOutput": { @@ -220,6 +253,12 @@ "refs": { } }, + "Deserializer": { + "base": "

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.

", + "refs": { + "InputFormatConfiguration$Deserializer": "

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.

" + } + }, "DestinationDescription": { "base": "

Describes the destination for a delivery stream.

", "refs": { @@ -235,7 +274,7 @@ "DestinationId": { "base": null, "refs": { - "DescribeDeliveryStreamInput$ExclusiveStartDestinationId": "

The ID of the destination to start returning the destination information. Currently, Kinesis Firehose supports one destination per delivery stream.

", + "DescribeDeliveryStreamInput$ExclusiveStartDestinationId": "

The ID of the destination to start returning the destination information. Kinesis Data Firehose supports one destination per delivery stream.

", "DestinationDescription$DestinationId": "

The ID of the destination.

", "UpdateDestinationInput$DestinationId": "

The ID of the destination.

" } @@ -243,7 +282,7 @@ "ElasticsearchBufferingHints": { "base": "

Describes the buffering to perform before delivering data to the Amazon ES destination.

", "refs": { - "ElasticsearchDestinationConfiguration$BufferingHints": "

The buffering options. If no value is specified, the default values for ElasticsearchBufferingHints are used.

", + "ElasticsearchDestinationConfiguration$BufferingHints": "

The buffering options. If no value is specified, the default values for ElasticsearchBufferingHints are used.

", "ElasticsearchDestinationDescription$BufferingHints": "

The buffering options.

", "ElasticsearchDestinationUpdate$BufferingHints": "

The buffering options. If no value is specified, ElasticsearchBufferingHints object default values are used.

" } @@ -281,9 +320,9 @@ "ElasticsearchDomainARN": { "base": null, "refs": { - "ElasticsearchDestinationConfiguration$DomainARN": "

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.

", - "ElasticsearchDestinationDescription$DomainARN": "

The ARN of the Amazon ES domain.

", - "ElasticsearchDestinationUpdate$DomainARN": "

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.

" + "ElasticsearchDestinationConfiguration$DomainARN": "

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.

", + "ElasticsearchDestinationDescription$DomainARN": "

The ARN of the Amazon ES domain. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "ElasticsearchDestinationUpdate$DomainARN": "

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.

" } }, "ElasticsearchIndexName": { @@ -297,38 +336,38 @@ "ElasticsearchIndexRotationPeriod": { "base": null, "refs": { - "ElasticsearchDestinationConfiguration$IndexRotationPeriod": "

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 Amazon Elasticsearch Service Destination. The default value is OneDay.

", + "ElasticsearchDestinationConfiguration$IndexRotationPeriod": "

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.

", "ElasticsearchDestinationDescription$IndexRotationPeriod": "

The Elasticsearch index rotation period

", - "ElasticsearchDestinationUpdate$IndexRotationPeriod": "

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 Amazon Elasticsearch Service Destination. Default value is OneDay.

" + "ElasticsearchDestinationUpdate$IndexRotationPeriod": "

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.

" } }, "ElasticsearchRetryDurationInSeconds": { "base": null, "refs": { - "ElasticsearchRetryOptions$DurationInSeconds": "

After an initial failure to deliver to Amazon ES, the total amount of time during which Kinesis Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.

" + "ElasticsearchRetryOptions$DurationInSeconds": "

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.

" } }, "ElasticsearchRetryOptions": { - "base": "

Configures retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES.

", + "base": "

Configures retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon ES.

", "refs": { - "ElasticsearchDestinationConfiguration$RetryOptions": "

The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).

", + "ElasticsearchDestinationConfiguration$RetryOptions": "

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).

", "ElasticsearchDestinationDescription$RetryOptions": "

The Amazon ES retry options.

", - "ElasticsearchDestinationUpdate$RetryOptions": "

The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).

" + "ElasticsearchDestinationUpdate$RetryOptions": "

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).

" } }, "ElasticsearchS3BackupMode": { "base": null, "refs": { - "ElasticsearchDestinationConfiguration$S3BackupMode": "

Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with elasticsearch-failed/ appended to the key prefix. When set to AllDocuments, Kinesis Firehose delivers all incoming records to Amazon S3, and also writes failed documents with elasticsearch-failed/ appended to the prefix. For more information, see Amazon S3 Backup for Amazon Elasticsearch Service Destination. Default value is FailedDocumentsOnly.

", + "ElasticsearchDestinationConfiguration$S3BackupMode": "

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.

", "ElasticsearchDestinationDescription$S3BackupMode": "

The Amazon S3 backup mode.

" } }, "ElasticsearchTypeName": { "base": null, "refs": { - "ElasticsearchDestinationConfiguration$TypeName": "

The Elasticsearch type name.

", + "ElasticsearchDestinationConfiguration$TypeName": "

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.

", "ElasticsearchDestinationDescription$TypeName": "

The Elasticsearch type name.

", - "ElasticsearchDestinationUpdate$TypeName": "

The Elasticsearch type name.

" + "ElasticsearchDestinationUpdate$TypeName": "

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.

" } }, "EncryptionConfiguration": { @@ -381,33 +420,45 @@ "HECAcknowledgmentTimeoutInSeconds": { "base": null, "refs": { - "SplunkDestinationConfiguration$HECAcknowledgmentTimeoutInSeconds": "

The amount of time that Kinesis Firehose waits to receive an acknowledgment from Splunk after it sends it data. At the end of the timeout period Kinesis Firehose either tries to send the data again or considers it an error, based on your retry settings.

", - "SplunkDestinationDescription$HECAcknowledgmentTimeoutInSeconds": "

The amount of time that Kinesis Firehose waits to receive an acknowledgment from Splunk after it sends it data. At the end of the timeout period Kinesis Firehose either tries to send the data again or considers it an error, based on your retry settings.

", - "SplunkDestinationUpdate$HECAcknowledgmentTimeoutInSeconds": "

The amount of time that Kinesis Firehose waits to receive an acknowledgment from Splunk after it sends it data. At the end of the timeout period Kinesis Firehose either tries to send the data again or considers it an error, based on your retry settings.

" + "SplunkDestinationConfiguration$HECAcknowledgmentTimeoutInSeconds": "

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.

", + "SplunkDestinationDescription$HECAcknowledgmentTimeoutInSeconds": "

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.

", + "SplunkDestinationUpdate$HECAcknowledgmentTimeoutInSeconds": "

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.

" } }, "HECEndpoint": { "base": null, "refs": { - "SplunkDestinationConfiguration$HECEndpoint": "

The HTTP Event Collector (HEC) endpoint to which Kinesis Firehose sends your data.

", - "SplunkDestinationDescription$HECEndpoint": "

The HTTP Event Collector (HEC) endpoint to which Kinesis Firehose sends your data.

", - "SplunkDestinationUpdate$HECEndpoint": "

The HTTP Event Collector (HEC) endpoint to which Kinesis Firehose sends your data.

" + "SplunkDestinationConfiguration$HECEndpoint": "

The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your data.

", + "SplunkDestinationDescription$HECEndpoint": "

The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your data.

", + "SplunkDestinationUpdate$HECEndpoint": "

The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your data.

" } }, "HECEndpointType": { "base": null, "refs": { - "SplunkDestinationConfiguration$HECEndpointType": "

This type can be either \"Raw\" or \"Event\".

", - "SplunkDestinationDescription$HECEndpointType": "

This type can be either \"Raw\" or \"Event\".

", - "SplunkDestinationUpdate$HECEndpointType": "

This type can be either \"Raw\" or \"Event\".

" + "SplunkDestinationConfiguration$HECEndpointType": "

This type can be either \"Raw\" or \"Event.\"

", + "SplunkDestinationDescription$HECEndpointType": "

This type can be either \"Raw\" or \"Event.\"

", + "SplunkDestinationUpdate$HECEndpointType": "

This type can be either \"Raw\" or \"Event.\"

" } }, "HECToken": { "base": null, "refs": { - "SplunkDestinationConfiguration$HECToken": "

This is a GUID you obtain from your Splunk cluster when you create a new HEC endpoint.

", - "SplunkDestinationDescription$HECToken": "

This is a GUID you obtain from your Splunk cluster when you create a new HEC endpoint.

", - "SplunkDestinationUpdate$HECToken": "

This is a GUID you obtain from your Splunk cluster when you create a new HEC endpoint.

" + "SplunkDestinationConfiguration$HECToken": "

This is a GUID that you obtain from your Splunk cluster when you create a new HEC endpoint.

", + "SplunkDestinationDescription$HECToken": "

A GUID you obtain from your Splunk cluster when you create a new HEC endpoint.

", + "SplunkDestinationUpdate$HECToken": "

A GUID that you obtain from your Splunk cluster when you create a new HEC endpoint.

" + } + }, + "HiveJsonSerDe": { + "base": "

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.

", + "refs": { + "Deserializer$HiveJsonSerDe": "

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": { + "base": "

Specifies the deserializer you want to use to convert the format of the input data.

", + "refs": { + "DataFormatConversionConfiguration$InputFormatConfiguration": "

Specifies the deserializer that you want Kinesis Data Firehose to use to convert the format of your data from JSON.

" } }, "IntervalInSeconds": { @@ -430,20 +481,20 @@ "KinesisStreamARN": { "base": null, "refs": { - "KinesisStreamSourceConfiguration$KinesisStreamARN": "

The ARN of the source Kinesis stream.

", - "KinesisStreamSourceDescription$KinesisStreamARN": "

The ARN of the source Kinesis stream.

" + "KinesisStreamSourceConfiguration$KinesisStreamARN": "

The ARN of the source Kinesis data stream. For more information, see Amazon Kinesis Data Streams ARN Format.

", + "KinesisStreamSourceDescription$KinesisStreamARN": "

The Amazon Resource Name (ARN) of the source Kinesis data stream. For more information, see Amazon Kinesis Data Streams ARN Format.

" } }, "KinesisStreamSourceConfiguration": { - "base": "

The stream and role ARNs for a Kinesis stream used as the source for a delivery stream.

", + "base": "

The stream and role Amazon Resource Names (ARNs) for a Kinesis data stream used as the source for a delivery stream.

", "refs": { - "CreateDeliveryStreamInput$KinesisStreamSourceConfiguration": "

When a Kinesis stream is used as the source for the delivery stream, a KinesisStreamSourceConfiguration containing the Kinesis stream ARN and the role ARN for the source stream.

" + "CreateDeliveryStreamInput$KinesisStreamSourceConfiguration": "

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.

" } }, "KinesisStreamSourceDescription": { - "base": "

Details about a Kinesis stream used as the source for a Kinesis Firehose delivery stream.

", + "base": "

Details about a Kinesis data stream used as the source for a Kinesis Data Firehose delivery stream.

", "refs": { - "SourceDescription$KinesisStreamSourceDescription": "

The KinesisStreamSourceDescription value for the source Kinesis stream.

" + "SourceDescription$KinesisStreamSourceDescription": "

The KinesisStreamSourceDescription value for the source Kinesis data stream.

" } }, "LimitExceededException": { @@ -467,6 +518,40 @@ "refs": { } }, + "ListOfNonEmptyStrings": { + "base": null, + "refs": { + "HiveJsonSerDe$TimestampFormats": "

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.

" + } + }, + "ListOfNonEmptyStringsWithoutWhitespace": { + "base": null, + "refs": { + "OrcSerDe$BloomFilterColumns": "

The column names for which you want Kinesis Data Firehose to create bloom filters. The default is null.

" + } + }, + "ListTagsForDeliveryStreamInput": { + "base": null, + "refs": { + } + }, + "ListTagsForDeliveryStreamInputLimit": { + "base": null, + "refs": { + "ListTagsForDeliveryStreamInput$Limit": "

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.

" + } + }, + "ListTagsForDeliveryStreamOutput": { + "base": null, + "refs": { + } + }, + "ListTagsForDeliveryStreamOutputTagList": { + "base": null, + "refs": { + "ListTagsForDeliveryStreamOutput$Tags": "

A list of tags associated with DeliveryStreamName, starting with the first tag after ExclusiveStartTagKey and up to the specified Limit.

" + } + }, "LogGroupName": { "base": null, "refs": { @@ -485,12 +570,99 @@ "EncryptionConfiguration$NoEncryptionConfig": "

Specifically override existing encryption information to ensure that no encryption is used.

" } }, + "NonEmptyString": { + "base": null, + "refs": { + "ColumnToJsonKeyMappings$value": null, + "ListOfNonEmptyStrings$member": null + } + }, + "NonEmptyStringWithoutWhitespace": { + "base": null, + "refs": { + "ColumnToJsonKeyMappings$key": null, + "ListOfNonEmptyStringsWithoutWhitespace$member": null, + "SchemaConfiguration$RoleARN": "

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.

", + "SchemaConfiguration$CatalogId": "

The ID of the AWS Glue Data Catalog. If you don't supply this, the AWS account ID is used by default.

", + "SchemaConfiguration$DatabaseName": "

Specifies the name of the AWS Glue database that contains the schema for the output data.

", + "SchemaConfiguration$TableName": "

Specifies the AWS Glue table that contains the column information that constitutes your data schema.

", + "SchemaConfiguration$Region": "

If you don't specify an AWS Region, the default is the current Region.

", + "SchemaConfiguration$VersionId": "

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.

" + } + }, "NonNegativeIntegerObject": { "base": null, "refs": { + "ParquetSerDe$MaxPaddingBytes": "

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.

", "PutRecordBatchOutput$FailedPutCount": "

The number of records that might have failed processing.

" } }, + "OpenXJsonSerDe": { + "base": "

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.

", + "refs": { + "Deserializer$OpenXJsonSerDe": "

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": { + "base": null, + "refs": { + "OrcSerDe$Compression": "

The compression code to use over data blocks. The default is SNAPPY.

" + } + }, + "OrcFormatVersion": { + "base": null, + "refs": { + "OrcSerDe$FormatVersion": "

The version of the file to write. The possible values are V0_11 and V0_12. The default is V0_12.

" + } + }, + "OrcRowIndexStride": { + "base": null, + "refs": { + "OrcSerDe$RowIndexStride": "

The number of rows between index entries. The default is 10,000 and the minimum is 1,000.

" + } + }, + "OrcSerDe": { + "base": "

A serializer to use for converting data to the ORC format before storing it in Amazon S3. For more information, see Apache ORC.

", + "refs": { + "Serializer$OrcSerDe": "

A serializer to use for converting data to the ORC format before storing it in Amazon S3. For more information, see Apache ORC.

" + } + }, + "OrcStripeSizeBytes": { + "base": null, + "refs": { + "OrcSerDe$StripeSizeBytes": "

The number of bytes in each stripe. The default is 64 MiB and the minimum is 8 MiB.

" + } + }, + "OutputFormatConfiguration": { + "base": "

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.

", + "refs": { + "DataFormatConversionConfiguration$OutputFormatConfiguration": "

Specifies the serializer that you want Kinesis Data Firehose to use to convert the format of your data to the Parquet or ORC format.

" + } + }, + "ParquetCompression": { + "base": null, + "refs": { + "ParquetSerDe$Compression": "

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.

" + } + }, + "ParquetPageSizeBytes": { + "base": null, + "refs": { + "ParquetSerDe$PageSizeBytes": "

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.

" + } + }, + "ParquetSerDe": { + "base": "

A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet.

", + "refs": { + "Serializer$ParquetSerDe": "

A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet.

" + } + }, + "ParquetWriterVersion": { + "base": null, + "refs": { + "ParquetSerDe$WriterVersion": "

Indicates the version of row format to output. The possible values are V1 and V2. The default is V1.

" + } + }, "Password": { "base": null, "refs": { @@ -501,12 +673,12 @@ "Prefix": { "base": null, "refs": { - "ExtendedS3DestinationConfiguration$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", - "ExtendedS3DestinationDescription$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", - "ExtendedS3DestinationUpdate$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", - "S3DestinationConfiguration$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", - "S3DestinationDescription$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", - "S3DestinationUpdate$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

" + "ExtendedS3DestinationConfiguration$Prefix": "

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.

", + "ExtendedS3DestinationDescription$Prefix": "

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.

", + "ExtendedS3DestinationUpdate$Prefix": "

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.

", + "S3DestinationConfiguration$Prefix": "

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.

", + "S3DestinationDescription$Prefix": "

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.

", + "S3DestinationUpdate$Prefix": "

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.

" } }, "ProcessingConfiguration": { @@ -568,6 +740,14 @@ "Processor$Type": "

The type of processor.

" } }, + "Proportion": { + "base": null, + "refs": { + "OrcSerDe$PaddingTolerance": "

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.

", + "OrcSerDe$BloomFilterFalsePositiveProbability": "

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.

", + "OrcSerDe$DictionaryKeyThreshold": "

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.

" + } + }, "PutRecordBatchInput": { "base": null, "refs": { @@ -641,15 +821,15 @@ "RedshiftRetryDurationInSeconds": { "base": null, "refs": { - "RedshiftRetryOptions$DurationInSeconds": "

The length of time during which Kinesis Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Kinesis Firehose does not retry if the value of DurationInSeconds is 0 (zero) or if the first delivery attempt takes longer than the current value.

" + "RedshiftRetryOptions$DurationInSeconds": "

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.

" } }, "RedshiftRetryOptions": { - "base": "

Configures retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift.

", + "base": "

Configures retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift.

", "refs": { - "RedshiftDestinationConfiguration$RetryOptions": "

The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

", - "RedshiftDestinationDescription$RetryOptions": "

The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

", - "RedshiftDestinationUpdate$RetryOptions": "

The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

" + "RedshiftDestinationConfiguration$RetryOptions": "

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

", + "RedshiftDestinationDescription$RetryOptions": "

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

", + "RedshiftDestinationUpdate$RetryOptions": "

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

" } }, "RedshiftS3BackupMode": { @@ -673,20 +853,20 @@ "RoleARN": { "base": null, "refs": { - "ElasticsearchDestinationConfiguration$RoleARN": "

The ARN of the IAM role to be assumed by Kinesis Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Amazon S3 Bucket Access.

", - "ElasticsearchDestinationDescription$RoleARN": "

The ARN of the AWS credentials.

", - "ElasticsearchDestinationUpdate$RoleARN": "

The ARN of the IAM role to be assumed by Kinesis Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Amazon S3 Bucket Access.

", - "ExtendedS3DestinationConfiguration$RoleARN": "

The ARN of the AWS credentials.

", - "ExtendedS3DestinationDescription$RoleARN": "

The ARN of the AWS credentials.

", - "ExtendedS3DestinationUpdate$RoleARN": "

The ARN of the AWS credentials.

", - "KinesisStreamSourceConfiguration$RoleARN": "

The ARN of the role that provides access to the source Kinesis stream.

", - "KinesisStreamSourceDescription$RoleARN": "

The ARN of the role used by the source Kinesis stream.

", - "RedshiftDestinationConfiguration$RoleARN": "

The ARN of the AWS credentials.

", - "RedshiftDestinationDescription$RoleARN": "

The ARN of the AWS credentials.

", - "RedshiftDestinationUpdate$RoleARN": "

The ARN of the AWS credentials.

", - "S3DestinationConfiguration$RoleARN": "

The ARN of the AWS credentials.

", - "S3DestinationDescription$RoleARN": "

The ARN of the AWS credentials.

", - "S3DestinationUpdate$RoleARN": "

The ARN of the AWS credentials.

" + "ElasticsearchDestinationConfiguration$RoleARN": "

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.

", + "ElasticsearchDestinationDescription$RoleARN": "

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "ElasticsearchDestinationUpdate$RoleARN": "

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.

", + "ExtendedS3DestinationConfiguration$RoleARN": "

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "ExtendedS3DestinationDescription$RoleARN": "

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "ExtendedS3DestinationUpdate$RoleARN": "

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "KinesisStreamSourceConfiguration$RoleARN": "

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.

", + "KinesisStreamSourceDescription$RoleARN": "

The ARN of the role used by the source Kinesis data stream. For more information, see AWS Identity and Access Management (IAM) ARN Format.

", + "RedshiftDestinationConfiguration$RoleARN": "

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "RedshiftDestinationDescription$RoleARN": "

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "RedshiftDestinationUpdate$RoleARN": "

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "S3DestinationConfiguration$RoleARN": "

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "S3DestinationDescription$RoleARN": "

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "S3DestinationUpdate$RoleARN": "

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } }, "S3BackupMode": { @@ -703,7 +883,7 @@ "CreateDeliveryStreamInput$S3DestinationConfiguration": "

[Deprecated] The destination in Amazon S3. You can specify only one destination.

", "ElasticsearchDestinationConfiguration$S3Configuration": "

The configuration for the backup Amazon S3 location.

", "ExtendedS3DestinationConfiguration$S3BackupConfiguration": "

The configuration for backup in Amazon S3.

", - "RedshiftDestinationConfiguration$S3Configuration": "

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.

", + "RedshiftDestinationConfiguration$S3Configuration": "

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.

", "RedshiftDestinationConfiguration$S3BackupConfiguration": "

The configuration for backup in Amazon S3.

", "SplunkDestinationConfiguration$S3Configuration": "

The configuration for the backup Amazon S3 location.

" } @@ -724,14 +904,26 @@ "refs": { "ElasticsearchDestinationUpdate$S3Update": "

The Amazon S3 destination.

", "ExtendedS3DestinationUpdate$S3BackupUpdate": "

The Amazon S3 destination for backup.

", - "RedshiftDestinationUpdate$S3Update": "

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.

", + "RedshiftDestinationUpdate$S3Update": "

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.

", "RedshiftDestinationUpdate$S3BackupUpdate": "

The Amazon S3 destination for backup.

", "SplunkDestinationUpdate$S3Update": "

Your update to the configuration of the backup Amazon S3 location.

", "UpdateDestinationInput$S3DestinationUpdate": "

[Deprecated] Describes an update for a destination in Amazon S3.

" } }, + "SchemaConfiguration": { + "base": "

Specifies the schema to which you want Kinesis Data Firehose to configure your data before it writes it to Amazon S3.

", + "refs": { + "DataFormatConversionConfiguration$SchemaConfiguration": "

Specifies the AWS Glue Data Catalog table that contains the column information.

" + } + }, + "Serializer": { + "base": "

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.

", + "refs": { + "OutputFormatConfiguration$Serializer": "

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.

" + } + }, "ServiceUnavailableException": { - "base": "

The service is unavailable, back off and retry the operation. If you continue to see the exception, throughput limits for the delivery stream may have been exceeded. For more information about limits and how to request an increase, see Amazon Kinesis Firehose Limits.

", + "base": "

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.

", "refs": { } }, @@ -742,9 +934,9 @@ } }, "SourceDescription": { - "base": "

Details about a Kinesis stream used as the source for a Kinesis Firehose delivery stream.

", + "base": "

Details about a Kinesis data stream used as the source for a Kinesis Data Firehose delivery stream.

", "refs": { - "DeliveryStreamDescription$Source": "

If the DeliveryStreamType parameter is KinesisStreamAsSource, a SourceDescription object describing the source Kinesis stream.

" + "DeliveryStreamDescription$Source": "

If the DeliveryStreamType parameter is KinesisStreamAsSource, a SourceDescription object describing the source Kinesis data stream.

" } }, "SplunkDestinationConfiguration": { @@ -768,23 +960,66 @@ "SplunkRetryDurationInSeconds": { "base": null, "refs": { - "SplunkRetryOptions$DurationInSeconds": "

The total amount of time that Kinesis Firehose spends on retries. This duration starts after the initial attempt to send data to Splunk fails and doesn't include the periods during which Kinesis Firehose waits for acknowledgment from Splunk after each attempt.

" + "SplunkRetryOptions$DurationInSeconds": "

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.

" } }, "SplunkRetryOptions": { - "base": "

Configures retry behavior in case Kinesis Firehose is unable to deliver documents to Splunk or if it doesn't receive an acknowledgment from Splunk.

", + "base": "

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.

", "refs": { - "SplunkDestinationConfiguration$RetryOptions": "

The retry behavior in case Kinesis Firehose is unable to deliver data to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk.

", - "SplunkDestinationDescription$RetryOptions": "

The retry behavior in case Kinesis Firehose is unable to deliver data to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk.

", - "SplunkDestinationUpdate$RetryOptions": "

The retry behavior in case Kinesis Firehose is unable to deliver data to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk.

" + "SplunkDestinationConfiguration$RetryOptions": "

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.

", + "SplunkDestinationDescription$RetryOptions": "

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.

", + "SplunkDestinationUpdate$RetryOptions": "

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.

" } }, "SplunkS3BackupMode": { "base": null, "refs": { - "SplunkDestinationConfiguration$S3BackupMode": "

Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set to AllDocuments, Kinesis Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. Default value is FailedDocumentsOnly.

", - "SplunkDestinationDescription$S3BackupMode": "

Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set to AllDocuments, Kinesis Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. Default value is FailedDocumentsOnly.

", - "SplunkDestinationUpdate$S3BackupMode": "

Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set to AllDocuments, Kinesis Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. Default value is FailedDocumentsOnly.

" + "SplunkDestinationConfiguration$S3BackupMode": "

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.

", + "SplunkDestinationDescription$S3BackupMode": "

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.

", + "SplunkDestinationUpdate$S3BackupMode": "

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.

" + } + }, + "Tag": { + "base": "

Metadata that you can assign to a delivery stream, consisting of a key-value pair.

", + "refs": { + "ListTagsForDeliveryStreamOutputTagList$member": null, + "TagDeliveryStreamInputTagList$member": null + } + }, + "TagDeliveryStreamInput": { + "base": null, + "refs": { + } + }, + "TagDeliveryStreamInputTagList": { + "base": null, + "refs": { + "TagDeliveryStreamInput$Tags": "

A set of key-value pairs to use to create the tags.

" + } + }, + "TagDeliveryStreamOutput": { + "base": null, + "refs": { + } + }, + "TagKey": { + "base": null, + "refs": { + "ListTagsForDeliveryStreamInput$ExclusiveStartTagKey": "

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.

", + "Tag$Key": "

A unique identifier for the tag. Maximum length: 128 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @

", + "TagKeyList$member": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagDeliveryStreamInput$TagKeys": "

A list of tag keys. Each corresponding tag is removed from the delivery stream.

" + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$Value": "

An optional string, which you can use to describe or define the tag. Maximum length: 256 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @

" } }, "Timestamp": { @@ -794,6 +1029,16 @@ "DeliveryStreamDescription$LastUpdateTimestamp": "

The date and time that the delivery stream was last updated.

" } }, + "UntagDeliveryStreamInput": { + "base": null, + "refs": { + } + }, + "UntagDeliveryStreamOutput": { + "base": null, + "refs": { + } + }, "UpdateDestinationInput": { "base": null, "refs": { diff --git a/models/apis/firehose/2015-08-04/smoke.json b/models/apis/firehose/2015-08-04/smoke.json new file mode 100644 index 00000000000..854a82a4aae --- /dev/null +++ b/models/apis/firehose/2015-08-04/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListDeliveryStreams", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeDeliveryStream", + "input": { + "DeliveryStreamName": "bogus-stream-name" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/fms/2018-01-01/api-2.json b/models/apis/fms/2018-01-01/api-2.json new file mode 100644 index 00000000000..f8c89cde60f --- /dev/null +++ b/models/apis/fms/2018-01-01/api-2.json @@ -0,0 +1,544 @@ +{ + "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"} + ] + }, + "DeleteNotificationChannel":{ + "name":"DeleteNotificationChannel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNotificationChannelRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InternalErrorException"} + ] + }, + "DeletePolicy":{ + "name":"DeletePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePolicyRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InternalErrorException"} + ] + }, + "DisassociateAdminAccount":{ + "name":"DisassociateAdminAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateAdminAccountRequest"}, + "errors":[ + {"shape":"InvalidOperationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ] + }, + "GetAdminAccount":{ + "name":"GetAdminAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAdminAccountRequest"}, + "output":{"shape":"GetAdminAccountResponse"}, + "errors":[ + {"shape":"InvalidOperationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ] + }, + "GetComplianceDetail":{ + "name":"GetComplianceDetail", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetComplianceDetailRequest"}, + "output":{"shape":"GetComplianceDetailResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ] + }, + "GetNotificationChannel":{ + "name":"GetNotificationChannel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetNotificationChannelRequest"}, + "output":{"shape":"GetNotificationChannelResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InternalErrorException"} + ] + }, + "GetPolicy":{ + "name":"GetPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPolicyRequest"}, + "output":{"shape":"GetPolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InternalErrorException"} + ] + }, + "ListComplianceStatus":{ + "name":"ListComplianceStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListComplianceStatusRequest"}, + "output":{"shape":"ListComplianceStatusResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ] + }, + "ListPolicies":{ + "name":"ListPolicies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPoliciesRequest"}, + "output":{"shape":"ListPoliciesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalErrorException"} + ] + }, + "PutNotificationChannel":{ + "name":"PutNotificationChannel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutNotificationChannelRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InternalErrorException"} + ] + }, + "PutPolicy":{ + "name":"PutPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutPolicyRequest"}, + "output":{"shape":"PutPolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalErrorException"} + ] + } + }, + "shapes":{ + "AWSAccountId":{ + "type":"string", + "max":1024, + "min":1 + }, + "AssociateAdminAccountRequest":{ + "type":"structure", + "required":["AdminAccount"], + "members":{ + "AdminAccount":{"shape":"AWSAccountId"} + } + }, + "Boolean":{"type":"boolean"}, + "ComplianceViolator":{ + "type":"structure", + "members":{ + "ResourceId":{"shape":"ResourceId"}, + "ViolationReason":{"shape":"ViolationReason"}, + "ResourceType":{"shape":"ResourceType"} + } + }, + "ComplianceViolators":{ + "type":"list", + "member":{"shape":"ComplianceViolator"} + }, + "DeleteNotificationChannelRequest":{ + "type":"structure", + "members":{ + } + }, + "DeletePolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{"shape":"PolicyId"} + } + }, + "DisassociateAdminAccountRequest":{ + "type":"structure", + "members":{ + } + }, + "ErrorMessage":{"type":"string"}, + "EvaluationResult":{ + "type":"structure", + "members":{ + "ComplianceStatus":{"shape":"PolicyComplianceStatusType"}, + "ViolatorCount":{"shape":"ResourceCount"}, + "EvaluationLimitExceeded":{"shape":"Boolean"} + } + }, + "EvaluationResults":{ + "type":"list", + "member":{"shape":"EvaluationResult"} + }, + "GetAdminAccountRequest":{ + "type":"structure", + "members":{ + } + }, + "GetAdminAccountResponse":{ + "type":"structure", + "members":{ + "AdminAccount":{"shape":"AWSAccountId"} + } + }, + "GetComplianceDetailRequest":{ + "type":"structure", + "required":[ + "PolicyId", + "MemberAccount" + ], + "members":{ + "PolicyId":{"shape":"PolicyId"}, + "MemberAccount":{"shape":"AWSAccountId"} + } + }, + "GetComplianceDetailResponse":{ + "type":"structure", + "members":{ + "PolicyComplianceDetail":{"shape":"PolicyComplianceDetail"} + } + }, + "GetNotificationChannelRequest":{ + "type":"structure", + "members":{ + } + }, + "GetNotificationChannelResponse":{ + "type":"structure", + "members":{ + "SnsTopicArn":{"shape":"ResourceArn"}, + "SnsRoleName":{"shape":"ResourceArn"} + } + }, + "GetPolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{"shape":"PolicyId"} + } + }, + "GetPolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{"shape":"Policy"}, + "PolicyArn":{"shape":"ResourceArn"} + } + }, + "InternalErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "InvalidOperationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ListComplianceStatusRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{"shape":"PolicyId"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{"shape":"PaginationMaxResults"} + } + }, + "ListComplianceStatusResponse":{ + "type":"structure", + "members":{ + "PolicyComplianceStatusList":{"shape":"PolicyComplianceStatusList"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListPoliciesRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{"shape":"PaginationMaxResults"} + } + }, + "ListPoliciesResponse":{ + "type":"structure", + "members":{ + "PolicyList":{"shape":"PolicySummaryList"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "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"}, + "PolicyName":{"shape":"ResourceName"}, + "PolicyUpdateToken":{"shape":"PolicyUpdateToken"}, + "SecurityServicePolicyData":{"shape":"SecurityServicePolicyData"}, + "ResourceType":{"shape":"ResourceType"}, + "ResourceTags":{"shape":"ResourceTags"}, + "ExcludeResourceTags":{"shape":"Boolean"}, + "RemediationEnabled":{"shape":"Boolean"} + } + }, + "PolicyComplianceDetail":{ + "type":"structure", + "members":{ + "PolicyOwner":{"shape":"AWSAccountId"}, + "PolicyId":{"shape":"PolicyId"}, + "MemberAccount":{"shape":"AWSAccountId"}, + "Violators":{"shape":"ComplianceViolators"}, + "EvaluationLimitExceeded":{"shape":"Boolean"}, + "ExpiredAt":{"shape":"TimeStamp"} + } + }, + "PolicyComplianceStatus":{ + "type":"structure", + "members":{ + "PolicyOwner":{"shape":"AWSAccountId"}, + "PolicyId":{"shape":"PolicyId"}, + "PolicyName":{"shape":"ResourceName"}, + "MemberAccount":{"shape":"AWSAccountId"}, + "EvaluationResults":{"shape":"EvaluationResults"}, + "LastUpdated":{"shape":"TimeStamp"} + } + }, + "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"}, + "PolicyId":{"shape":"PolicyId"}, + "PolicyName":{"shape":"ResourceName"}, + "ResourceType":{"shape":"ResourceType"}, + "SecurityServiceType":{"shape":"SecurityServiceType"}, + "RemediationEnabled":{"shape":"Boolean"} + } + }, + "PolicySummaryList":{ + "type":"list", + "member":{"shape":"PolicySummary"} + }, + "PolicyUpdateToken":{ + "type":"string", + "max":1024, + "min":1 + }, + "PutNotificationChannelRequest":{ + "type":"structure", + "required":[ + "SnsTopicArn", + "SnsRoleName" + ], + "members":{ + "SnsTopicArn":{"shape":"ResourceArn"}, + "SnsRoleName":{"shape":"ResourceArn"} + } + }, + "PutPolicyRequest":{ + "type":"structure", + "required":["Policy"], + "members":{ + "Policy":{"shape":"Policy"} + } + }, + "PutPolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{"shape":"Policy"}, + "PolicyArn":{"shape":"ResourceArn"} + } + }, + "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"} + }, + "exception":true + }, + "ResourceTag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{"shape":"TagKey"}, + "Value":{"shape":"TagValue"} + } + }, + "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"}, + "ManagedServiceData":{"shape":"ManagedServiceData"} + } + }, + "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" + ] + } + } +} diff --git a/models/apis/fms/2018-01-01/docs-2.json b/models/apis/fms/2018-01-01/docs-2.json new file mode 100644 index 00000000000..c7c796d108c --- /dev/null +++ b/models/apis/fms/2018-01-01/docs-2.json @@ -0,0 +1,371 @@ +{ + "version": "2.0", + "service": "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.

", + "operations": { + "AssociateAdminAccount": "

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": "

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": "

Permanently deletes an AWS Firewall Manager policy.

", + "DisassociateAdminAccount": "

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": "

Returns the AWS Organizations master account that is associated with AWS Firewall Manager as the AWS Firewall Manager administrator.

", + "GetComplianceDetail": "

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": "

Returns information about the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs.

", + "GetPolicy": "

Returns information about the specified AWS Firewall Manager policy.

", + "ListComplianceStatus": "

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": "

Returns an array of PolicySummary objects in the response.

", + "PutNotificationChannel": "

Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.

", + "PutPolicy": "

Creates an AWS Firewall Manager policy.

" + }, + "shapes": { + "AWSAccountId": { + "base": null, + "refs": { + "AssociateAdminAccountRequest$AdminAccount": "

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.

", + "GetAdminAccountResponse$AdminAccount": "

The AWS account that is set as the AWS Firewall Manager administrator.

", + "GetComplianceDetailRequest$MemberAccount": "

The AWS account that owns the resources that you want to get the details for.

", + "PolicyComplianceDetail$PolicyOwner": "

The AWS account that created the AWS Firewall Manager policy.

", + "PolicyComplianceDetail$MemberAccount": "

The AWS account ID.

", + "PolicyComplianceStatus$PolicyOwner": "

The AWS account that created the AWS Firewall Manager policy.

", + "PolicyComplianceStatus$MemberAccount": "

The member account ID.

" + } + }, + "AssociateAdminAccountRequest": { + "base": null, + "refs": { + } + }, + "Boolean": { + "base": null, + "refs": { + "EvaluationResult$EvaluationLimitExceeded": "

Indicates that over 100 resources are non-compliant with the AWS Firewall Manager policy.

", + "Policy$ExcludeResourceTags": "

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.

", + "Policy$RemediationEnabled": "

Indicates if the policy should be automatically applied to new resources.

", + "PolicyComplianceDetail$EvaluationLimitExceeded": "

Indicates if over 100 resources are non-compliant with the AWS Firewall Manager policy.

", + "PolicySummary$RemediationEnabled": "

Indicates if the policy should be automatically applied to new resources.

" + } + }, + "ComplianceViolator": { + "base": "

Details of the resource that is not protected by the policy.

", + "refs": { + "ComplianceViolators$member": null + } + }, + "ComplianceViolators": { + "base": null, + "refs": { + "PolicyComplianceDetail$Violators": "

An array of resources that are not protected by the policy.

" + } + }, + "DeleteNotificationChannelRequest": { + "base": null, + "refs": { + } + }, + "DeletePolicyRequest": { + "base": null, + "refs": { + } + }, + "DisassociateAdminAccountRequest": { + "base": null, + "refs": { + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "InternalErrorException$Message": null, + "InvalidInputException$Message": null, + "InvalidOperationException$Message": null, + "LimitExceededException$Message": null, + "ResourceNotFoundException$Message": null + } + }, + "EvaluationResult": { + "base": "

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.

", + "refs": { + "EvaluationResults$member": null + } + }, + "EvaluationResults": { + "base": null, + "refs": { + "PolicyComplianceStatus$EvaluationResults": "

An array of EvaluationResult objects.

" + } + }, + "GetAdminAccountRequest": { + "base": null, + "refs": { + } + }, + "GetAdminAccountResponse": { + "base": null, + "refs": { + } + }, + "GetComplianceDetailRequest": { + "base": null, + "refs": { + } + }, + "GetComplianceDetailResponse": { + "base": null, + "refs": { + } + }, + "GetNotificationChannelRequest": { + "base": null, + "refs": { + } + }, + "GetNotificationChannelResponse": { + "base": null, + "refs": { + } + }, + "GetPolicyRequest": { + "base": null, + "refs": { + } + }, + "GetPolicyResponse": { + "base": null, + "refs": { + } + }, + "InternalErrorException": { + "base": "

The operation failed because of a system problem, even though the request was valid. Retry your request.

", + "refs": { + } + }, + "InvalidInputException": { + "base": "

The parameters of the request were invalid.

", + "refs": { + } + }, + "InvalidOperationException": { + "base": "

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.

", + "refs": { + } + }, + "LimitExceededException": { + "base": "

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.

", + "refs": { + } + }, + "ListComplianceStatusRequest": { + "base": null, + "refs": { + } + }, + "ListComplianceStatusResponse": { + "base": null, + "refs": { + } + }, + "ListPoliciesRequest": { + "base": null, + "refs": { + } + }, + "ListPoliciesResponse": { + "base": null, + "refs": { + } + }, + "ManagedServiceData": { + "base": null, + "refs": { + "SecurityServicePolicyData$ManagedServiceData": "

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\\\"}}

" + } + }, + "PaginationMaxResults": { + "base": null, + "refs": { + "ListComplianceStatusRequest$MaxResults": "

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.

", + "ListPoliciesRequest$MaxResults": "

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.

" + } + }, + "PaginationToken": { + "base": null, + "refs": { + "ListComplianceStatusRequest$NextToken": "

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.

", + "ListComplianceStatusResponse$NextToken": "

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$NextToken": "

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.

", + "ListPoliciesResponse$NextToken": "

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.

" + } + }, + "Policy": { + "base": "

An AWS Firewall Manager policy.

", + "refs": { + "GetPolicyResponse$Policy": "

Information about the specified AWS Firewall Manager policy.

", + "PutPolicyRequest$Policy": "

The details of the AWS Firewall Manager policy to be created.

", + "PutPolicyResponse$Policy": "

The details of the AWS Firewall Manager policy that was created.

" + } + }, + "PolicyComplianceDetail": { + "base": "

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.

", + "refs": { + "GetComplianceDetailResponse$PolicyComplianceDetail": "

Information about the resources and the policy that you specified in the GetComplianceDetail request.

" + } + }, + "PolicyComplianceStatus": { + "base": "

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.

", + "refs": { + "PolicyComplianceStatusList$member": null + } + }, + "PolicyComplianceStatusList": { + "base": null, + "refs": { + "ListComplianceStatusResponse$PolicyComplianceStatusList": "

An array of PolicyComplianceStatus objects.

" + } + }, + "PolicyComplianceStatusType": { + "base": null, + "refs": { + "EvaluationResult$ComplianceStatus": "

Describes an AWS account's compliance with the AWS Firewall Manager policy.

" + } + }, + "PolicyId": { + "base": null, + "refs": { + "DeletePolicyRequest$PolicyId": "

The ID of the policy that you want to delete. PolicyId is returned by PutPolicy and by ListPolicies.

", + "GetComplianceDetailRequest$PolicyId": "

The ID of the policy that you want to get the details for. PolicyId is returned by PutPolicy and by ListPolicies.

", + "GetPolicyRequest$PolicyId": "

The ID of the AWS Firewall Manager policy that you want the details for.

", + "ListComplianceStatusRequest$PolicyId": "

The ID of the AWS Firewall Manager policy that you want the details for.

", + "Policy$PolicyId": "

The ID of the AWS Firewall Manager policy.

", + "PolicyComplianceDetail$PolicyId": "

The ID of the AWS Firewall Manager policy.

", + "PolicyComplianceStatus$PolicyId": "

The ID of the AWS Firewall Manager policy.

", + "PolicySummary$PolicyId": "

The ID of the specified policy.

" + } + }, + "PolicySummary": { + "base": "

Details of the AWS Firewall Manager policy.

", + "refs": { + "PolicySummaryList$member": null + } + }, + "PolicySummaryList": { + "base": null, + "refs": { + "ListPoliciesResponse$PolicyList": "

An array of PolicySummary objects.

" + } + }, + "PolicyUpdateToken": { + "base": null, + "refs": { + "Policy$PolicyUpdateToken": "

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.

" + } + }, + "PutNotificationChannelRequest": { + "base": null, + "refs": { + } + }, + "PutPolicyRequest": { + "base": null, + "refs": { + } + }, + "PutPolicyResponse": { + "base": null, + "refs": { + } + }, + "ResourceArn": { + "base": null, + "refs": { + "GetNotificationChannelResponse$SnsTopicArn": "

The SNS topic that records AWS Firewall Manager activity.

", + "GetNotificationChannelResponse$SnsRoleName": "

The IAM role that is used by AWS Firewall Manager to record activity to SNS.

", + "GetPolicyResponse$PolicyArn": "

The Amazon Resource Name (ARN) of the specified policy.

", + "PolicySummary$PolicyArn": "

The Amazon Resource Name (ARN) of the specified policy.

", + "PutNotificationChannelRequest$SnsTopicArn": "

The Amazon Resource Name (ARN) of the SNS topic that collects notifications from AWS Firewall Manager.

", + "PutNotificationChannelRequest$SnsRoleName": "

The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to record AWS Firewall Manager activity.

", + "PutPolicyResponse$PolicyArn": "

The Amazon Resource Name (ARN) of the policy that was created.

" + } + }, + "ResourceCount": { + "base": null, + "refs": { + "EvaluationResult$ViolatorCount": "

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.

" + } + }, + "ResourceId": { + "base": null, + "refs": { + "ComplianceViolator$ResourceId": "

The resource ID.

" + } + }, + "ResourceName": { + "base": null, + "refs": { + "Policy$PolicyName": "

The friendly name of the AWS Firewall Manager policy.

", + "PolicyComplianceStatus$PolicyName": "

The friendly name of the AWS Firewall Manager policy.

", + "PolicySummary$PolicyName": "

The friendly name of the specified policy.

" + } + }, + "ResourceNotFoundException": { + "base": "

The specified resource was not found.

", + "refs": { + } + }, + "ResourceTag": { + "base": "

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.

", + "refs": { + "ResourceTags$member": null + } + }, + "ResourceTags": { + "base": null, + "refs": { + "Policy$ResourceTags": "

An array of ResourceTag objects.

" + } + }, + "ResourceType": { + "base": null, + "refs": { + "ComplianceViolator$ResourceType": "

The resource type. This is in the format shown in AWS Resource Types Reference. Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.

", + "Policy$ResourceType": "

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.

", + "PolicySummary$ResourceType": "

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.

" + } + }, + "SecurityServicePolicyData": { + "base": "

Details about the security service that is being used to protect the resources.

", + "refs": { + "Policy$SecurityServicePolicyData": "

Details about the security service that is being used to protect the resources.

" + } + }, + "SecurityServiceType": { + "base": null, + "refs": { + "PolicySummary$SecurityServiceType": "

The service that the policy is using to protect the resources. This value is WAF.

", + "SecurityServicePolicyData$Type": "

The service that the policy is using to protect the resources. This value is WAF.

" + } + }, + "TagKey": { + "base": null, + "refs": { + "ResourceTag$Key": "

The resource tag key.

" + } + }, + "TagValue": { + "base": null, + "refs": { + "ResourceTag$Value": "

The resource tag value.

" + } + }, + "TimeStamp": { + "base": null, + "refs": { + "PolicyComplianceDetail$ExpiredAt": "

A time stamp that indicates when the returned information should be considered out-of-date.

", + "PolicyComplianceStatus$LastUpdated": "

Time stamp of the last update to the EvaluationResult objects.

" + } + }, + "ViolationReason": { + "base": null, + "refs": { + "ComplianceViolator$ViolationReason": "

The reason that the resource is not protected by the policy.

" + } + } + } +} diff --git a/models/apis/cloudfront/2016-09-07/examples-1.json b/models/apis/fms/2018-01-01/examples-1.json old mode 100755 new mode 100644 similarity index 100% rename from models/apis/cloudfront/2016-09-07/examples-1.json rename to models/apis/fms/2018-01-01/examples-1.json diff --git a/models/apis/fms/2018-01-01/paginators-1.json b/models/apis/fms/2018-01-01/paginators-1.json new file mode 100644 index 00000000000..5677bd8e4a2 --- /dev/null +++ b/models/apis/fms/2018-01-01/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/models/apis/gamelift/2015-10-01/api-2.json b/models/apis/gamelift/2015-10-01/api-2.json index 1b6f23c7b47..ad01a002f68 100644 --- a/models/apis/gamelift/2015-10-01/api-2.json +++ b/models/apis/gamelift/2015-10-01/api-2.json @@ -771,6 +771,21 @@ {"shape":"TerminalRoutingStrategyException"} ] }, + "StartFleetActions":{ + "name":"StartFleetActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartFleetActionsInput"}, + "output":{"shape":"StartFleetActionsOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"} + ] + }, "StartGameSessionPlacement":{ "name":"StartGameSessionPlacement", "http":{ @@ -786,6 +801,21 @@ {"shape":"UnauthorizedException"} ] }, + "StartMatchBackfill":{ + "name":"StartMatchBackfill", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartMatchBackfillInput"}, + "output":{"shape":"StartMatchBackfillOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ] + }, "StartMatchmaking":{ "name":"StartMatchmaking", "http":{ @@ -801,6 +831,21 @@ {"shape":"UnsupportedRegionException"} ] }, + "StopFleetActions":{ + "name":"StopFleetActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopFleetActionsInput"}, + "output":{"shape":"StopFleetActionsOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"} + ] + }, "StopGameSessionPlacement":{ "name":"StopGameSessionPlacement", "http":{ @@ -1003,7 +1048,7 @@ ], "members":{ "TicketId":{"shape":"MatchmakingIdStringModel"}, - "PlayerIds":{"shape":"MatchmakingPlayerIdList"}, + "PlayerIds":{"shape":"StringList"}, "AcceptanceType":{"shape":"AcceptanceType"} } }, @@ -1063,7 +1108,7 @@ }, "sensitive":true }, - "Boolean":{"type":"boolean"}, + "BooleanModel":{"type":"boolean"}, "Build":{ "type":"structure", "members":{ @@ -1164,7 +1209,8 @@ "ResourceCreationLimitPolicy":{"shape":"ResourceCreationLimitPolicy"}, "MetricGroups":{"shape":"MetricGroupList"}, "PeerVpcAwsAccountId":{"shape":"NonZeroAndMaxString"}, - "PeerVpcId":{"shape":"NonZeroAndMaxString"} + "PeerVpcId":{"shape":"NonZeroAndMaxString"}, + "FleetType":{"shape":"FleetType"} } }, "CreateFleetOutput":{ @@ -1225,7 +1271,7 @@ "GameSessionQueueArns":{"shape":"QueueArnsList"}, "RequestTimeoutSeconds":{"shape":"MatchmakingRequestTimeoutInteger"}, "AcceptanceTimeoutSeconds":{"shape":"MatchmakingAcceptanceTimeoutInteger"}, - "AcceptanceRequired":{"shape":"Boolean"}, + "AcceptanceRequired":{"shape":"BooleanModel"}, "RuleSetName":{"shape":"MatchmakingIdStringModel"}, "NotificationTarget":{"shape":"SnsArnStringModel"}, "AdditionalPlayerCount":{"shape":"WholeNumber"}, @@ -1854,18 +1900,31 @@ "FLEET_CREATION_VALIDATING_RUNTIME_CONFIG", "FLEET_VPC_PEERING_SUCCEEDED", "FLEET_VPC_PEERING_FAILED", - "FLEET_VPC_PEERING_DELETED" + "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"}, "FleetArn":{"shape":"ArnStringModel"}, + "FleetType":{"shape":"FleetType"}, + "InstanceType":{"shape":"EC2InstanceType"}, "Description":{"shape":"NonZeroAndMaxString"}, "Name":{"shape":"NonZeroAndMaxString"}, "CreationTime":{"shape":"Timestamp"}, @@ -1878,7 +1937,8 @@ "NewGameSessionProtectionPolicy":{"shape":"ProtectionPolicy"}, "OperatingSystem":{"shape":"OperatingSystem"}, "ResourceCreationLimitPolicy":{"shape":"ResourceCreationLimitPolicy"}, - "MetricGroups":{"shape":"MetricGroupList"} + "MetricGroups":{"shape":"MetricGroupList"}, + "StoppedActions":{"shape":"FleetActionList"} } }, "FleetAttributesList":{ @@ -1927,6 +1987,13 @@ "TERMINATED" ] }, + "FleetType":{ + "type":"string", + "enum":[ + "ON_DEMAND", + "SPOT" + ] + }, "FleetUtilization":{ "type":"structure", "members":{ @@ -1978,12 +2045,14 @@ "CurrentPlayerSessionCount":{"shape":"WholeNumber"}, "MaximumPlayerSessionCount":{"shape":"WholeNumber"}, "Status":{"shape":"GameSessionStatus"}, + "StatusReason":{"shape":"GameSessionStatusReason"}, "GameProperties":{"shape":"GamePropertyList"}, "IpAddress":{"shape":"IpAddress"}, "Port":{"shape":"PortNumber"}, "PlayerSessionCreationPolicy":{"shape":"PlayerSessionCreationPolicy"}, "CreatorId":{"shape":"NonZeroAndMaxString"}, - "GameSessionData":{"shape":"GameSessionData"} + "GameSessionData":{"shape":"GameSessionData"}, + "MatchmakerData":{"shape":"MatchmakerData"} } }, "GameSessionActivationTimeoutSeconds":{ @@ -2045,7 +2114,8 @@ "IpAddress":{"shape":"IpAddress"}, "Port":{"shape":"PortNumber"}, "PlacedPlayerSessions":{"shape":"PlacedPlayerSessionList"}, - "GameSessionData":{"shape":"GameSessionData"} + "GameSessionData":{"shape":"GameSessionData"}, + "MatchmakerData":{"shape":"MatchmakerData"} } }, "GameSessionPlacementState":{ @@ -2101,6 +2171,10 @@ "ERROR" ] }, + "GameSessionStatusReason":{ + "type":"string", + "enum":["INTERRUPTED"] + }, "GetGameSessionLogUrlInput":{ "type":"structure", "required":["GameSessionId"], @@ -2317,6 +2391,11 @@ "type":"list", "member":{"shape":"MatchedPlayerSession"} }, + "MatchmakerData":{ + "type":"string", + "max":390000, + "min":1 + }, "MatchmakingAcceptanceTimeoutInteger":{ "type":"integer", "max":600, @@ -2330,7 +2409,7 @@ "GameSessionQueueArns":{"shape":"QueueArnsList"}, "RequestTimeoutSeconds":{"shape":"MatchmakingRequestTimeoutInteger"}, "AcceptanceTimeoutSeconds":{"shape":"MatchmakingAcceptanceTimeoutInteger"}, - "AcceptanceRequired":{"shape":"Boolean"}, + "AcceptanceRequired":{"shape":"BooleanModel"}, "RuleSetName":{"shape":"MatchmakingIdStringModel"}, "NotificationTarget":{"shape":"SnsArnStringModel"}, "AdditionalPlayerCount":{"shape":"WholeNumber"}, @@ -2367,10 +2446,6 @@ "min":1, "pattern":"[a-zA-Z0-9-\\.]+" }, - "MatchmakingPlayerIdList":{ - "type":"list", - "member":{"shape":"PlayerIdStringModel"} - }, "MatchmakingRequestTimeoutInteger":{ "type":"integer", "max":43200, @@ -2492,7 +2567,7 @@ "Player":{ "type":"structure", "members":{ - "PlayerId":{"shape":"PlayerIdStringModel"}, + "PlayerId":{"shape":"NonZeroAndMaxString"}, "PlayerAttributes":{"shape":"PlayerAttributeMap"}, "Team":{"shape":"NonZeroAndMaxString"}, "LatencyInMs":{"shape":"LatencyMap"} @@ -2519,12 +2594,6 @@ "max":25, "min":1 }, - "PlayerIdStringModel":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9-\\.]+" - }, "PlayerLatency":{ "type":"structure", "members":{ @@ -2591,6 +2660,13 @@ "TIMEDOUT" ] }, + "PolicyType":{ + "type":"string", + "enum":[ + "RuleBased", + "TargetBased" + ] + }, "PortNumber":{ "type":"integer", "max":60000, @@ -2616,11 +2692,6 @@ "required":[ "Name", "FleetId", - "ScalingAdjustment", - "ScalingAdjustmentType", - "Threshold", - "ComparisonOperator", - "EvaluationPeriods", "MetricName" ], "members":{ @@ -2631,7 +2702,9 @@ "Threshold":{"shape":"Double"}, "ComparisonOperator":{"shape":"ComparisonOperatorType"}, "EvaluationPeriods":{"shape":"PositiveInteger"}, - "MetricName":{"shape":"MetricName"} + "MetricName":{"shape":"MetricName"}, + "PolicyType":{"shape":"PolicyType"}, + "TargetConfiguration":{"shape":"TargetConfiguration"} } }, "PutScalingPolicyOutput":{ @@ -2738,7 +2811,9 @@ "ComparisonOperator":{"shape":"ComparisonOperatorType"}, "Threshold":{"shape":"Double"}, "EvaluationPeriods":{"shape":"PositiveInteger"}, - "MetricName":{"shape":"MetricName"} + "MetricName":{"shape":"MetricName"}, + "PolicyType":{"shape":"PolicyType"}, + "TargetConfiguration":{"shape":"TargetConfiguration"} } }, "ScalingPolicyList":{ @@ -2799,6 +2874,22 @@ "min":0, "pattern":"[a-zA-Z0-9:_/-]*" }, + "StartFleetActionsInput":{ + "type":"structure", + "required":[ + "FleetId", + "Actions" + ], + "members":{ + "FleetId":{"shape":"FleetId"}, + "Actions":{"shape":"FleetActionList"} + } + }, + "StartFleetActionsOutput":{ + "type":"structure", + "members":{ + } + }, "StartGameSessionPlacementInput":{ "type":"structure", "required":[ @@ -2823,6 +2914,26 @@ "GameSessionPlacement":{"shape":"GameSessionPlacement"} } }, + "StartMatchBackfillInput":{ + "type":"structure", + "required":[ + "ConfigurationName", + "GameSessionArn", + "Players" + ], + "members":{ + "TicketId":{"shape":"MatchmakingIdStringModel"}, + "ConfigurationName":{"shape":"MatchmakingIdStringModel"}, + "GameSessionArn":{"shape":"ArnStringModel"}, + "Players":{"shape":"PlayerList"} + } + }, + "StartMatchBackfillOutput":{ + "type":"structure", + "members":{ + "MatchmakingTicket":{"shape":"MatchmakingTicket"} + } + }, "StartMatchmakingInput":{ "type":"structure", "required":[ @@ -2841,6 +2952,22 @@ "MatchmakingTicket":{"shape":"MatchmakingTicket"} } }, + "StopFleetActionsInput":{ + "type":"structure", + "required":[ + "FleetId", + "Actions" + ], + "members":{ + "FleetId":{"shape":"FleetId"}, + "Actions":{"shape":"FleetActionList"} + } + }, + "StopFleetActionsOutput":{ + "type":"structure", + "members":{ + } + }, "StopGameSessionPlacementInput":{ "type":"structure", "required":["PlacementId"], @@ -2876,6 +3003,13 @@ "member":{"shape":"NonZeroAndMaxString"} }, "StringModel":{"type":"string"}, + "TargetConfiguration":{ + "type":"structure", + "required":["TargetValue"], + "members":{ + "TargetValue":{"shape":"Double"} + } + }, "TerminalRoutingStrategyException":{ "type":"structure", "members":{ @@ -3020,7 +3154,7 @@ "GameSessionQueueArns":{"shape":"QueueArnsList"}, "RequestTimeoutSeconds":{"shape":"MatchmakingRequestTimeoutInteger"}, "AcceptanceTimeoutSeconds":{"shape":"MatchmakingAcceptanceTimeoutInteger"}, - "AcceptanceRequired":{"shape":"Boolean"}, + "AcceptanceRequired":{"shape":"BooleanModel"}, "RuleSetName":{"shape":"MatchmakingIdStringModel"}, "NotificationTarget":{"shape":"SnsArnStringModel"}, "AdditionalPlayerCount":{"shape":"WholeNumber"}, @@ -3062,7 +3196,7 @@ "ValidateMatchmakingRuleSetOutput":{ "type":"structure", "members":{ - "Valid":{"shape":"Boolean"} + "Valid":{"shape":"BooleanModel"} } }, "VpcPeeringAuthorization":{ diff --git a/models/apis/gamelift/2015-10-01/docs-2.json b/models/apis/gamelift/2015-10-01/docs-2.json index e247689fd13..ef93241fb8c 100644 --- a/models/apis/gamelift/2015-10-01/docs-2.json +++ b/models/apis/gamelift/2015-10-01/docs-2.json @@ -1,70 +1,73 @@ { "version": "2.0", - "service": "Amazon GameLift Service

Amazon GameLift is a managed service for developers who need a scalable, dedicated server solution for their multiplayer games. Amazon GameLift provides tools for the following tasks: (1) acquire computing resources and deploy game servers, (2) scale game server capacity to meet player demand, (3) host game sessions and manage player access, and (4) track in-depth metrics on player usage and server performance.

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 autoscaling 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.

MORE RESOURCES

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.

  • Start new game sessions with FlexMatch matchmaking

    • StartMatchmaking -- Request matchmaking for one players or a group who want to play together.

    • 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.

", + "service": "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.

", "operations": { - "AcceptMatch": "

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:

", + "AcceptMatch": "

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": "

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": "

Creates a new Amazon GameLift build from a set of game server binary files stored in an Amazon Simple Storage Service (Amazon S3) location. To use this API call, create a .zip file containing all of the files for the build and store it in an Amazon S3 bucket under your AWS account. For help on packaging your build files and creating a build, see Uploading Your Game to Amazon GameLift.

Use this API action ONLY if you are storing your game build files in an Amazon S3 bucket. To create a build using files stored locally, use the CLI command upload-build , which uploads the build files from a file location you specify.

To create a new build using CreateBuild, identify the storage location and operating system of your game build. You also have the option of specifying a build name and version. If successful, this action creates a new build record with an unique build ID and in INITIALIZED status. Use the API call DescribeBuild to check the status of your build. A build must be in READY status before it can be used to create fleets to host your game.

Build-related operations include:

", - "CreateFleet": "

Creates a new fleet to run your game servers. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple server processes to host game sessions. You configure a fleet to create instances with certain hardware specifications (see Amazon EC2 Instance Types for more information), and deploy a specified game build to each instance. A newly created fleet passes through several statuses; once it reaches the ACTIVE status, it can begin hosting game sessions.

To create a new fleet, you must specify the following: (1) fleet name, (2) build ID of an uploaded game build, (3) an EC2 instance type, and (4) a run-time configuration that describes which server processes to run on each instance in the fleet. (Although the run-time configuration is not a required parameter, the fleet cannot be successfully activated without it.)

You can also configure the new fleet with the following settings:

  • Fleet description

  • Access permissions for inbound traffic

  • Fleet-wide game session protection

  • Resource creation limit

If you use Amazon CloudWatch for metrics, you can add the new fleet to a metric group. This allows you to view aggregated metrics for a set of fleets. Once you specify a metric group, the new fleet's metrics are included in the metric group's data.

You have the option of creating a VPC peering connection with the new fleet. For more information, see VPC Peering with Amazon GameLift Fleets.

If the CreateFleet call is successful, Amazon GameLift performs the following tasks:

  • Creates a fleet record and sets the status to NEW (followed by other statuses as the fleet is activated).

  • Sets the fleet's target capacity to 1 (desired instances), which causes Amazon GameLift to start one new EC2 instance.

  • Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each launch by a few seconds.

  • Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console.

  • Sets the fleet's status to ACTIVE as soon as one server process in the fleet is ready to host a game session.

Fleet-related operations include:

", + "CreateBuild": "

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": "

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": "

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": "

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": "

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 request (StartMatchmaking) 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": "

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 ValidateMatchmakingRuleSetbefore 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:

", + "CreateMatchmakingConfiguration": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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:

", + "DeleteFleet": "

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": "

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": "

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": "

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.

Fleet-related operations include:

", + "DeleteScalingPolicy": "

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": "

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": "

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": "

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": "

Retrieves properties for a build. To get a build record, specify a build ID. If successful, an object containing the build properties is returned.

Build-related operations include:

", - "DescribeEC2InstanceLimits": "

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": "

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": "

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": "

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": "

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": "

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:

", + "DescribeBuild": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Retrieves a set of 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.

You can request data for a one or a list of ticket IDs. If the request is successful, a ticket object is returned for each requested ID. When specifying a list of ticket IDs, objects are returned only for tickets that currently exist.

Matchmaking-related operations include:

", + "DescribeMatchmaking": "

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": "

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": "

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": "

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": "

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": "

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.

Fleet-related operations include:

", + "DescribeRuntimeConfiguration": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Creates or updates a scaling policy for a fleet. An active scaling policy prompts Amazon GameLift to track a certain metric for a fleet and automatically change the fleet's capacity in specific circumstances. Each scaling policy contains one rule statement. Fleets can have multiple scaling policies in force simultaneously.

A scaling policy rule statement has the following structure:

If [MetricName] is [ComparisonOperator] [Threshold] for [EvaluationPeriods] minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment].

For example, this policy: \"If the number of idle instances exceeds 20 for more than 15 minutes, then reduce the fleet capacity by 10 instances\" could be implemented as the following rule statement:

If [IdleInstances] is [GreaterThanOrEqualToThreshold] [20] for [15] minutes, then [ChangeInCapacity] by [-10].

To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the rule values. All parameters for this action are required. If successful, the policy name is returned. Scaling policies cannot be suspended or made inactive. To stop enforcing a scaling policy, call DeleteScalingPolicy.

Fleet-related operations include:

", - "RequestUploadCredentials": "

This API call is not currently in use. Retrieves a fresh set of upload credentials and the assigned Amazon S3 storage location for a specific build. Valid credentials are required to upload your game build files to Amazon S3.

", + "ListFleets": "

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": "

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": "

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": "

Retrieves the fleet ID that a specified alias is currently pointing to.

Alias-related operations include:

", - "SearchGameSessions": "

Retrieves a set of game sessions that match a set of search criteria and sorts them in a specified order. A game session search is limited to a single fleet. Search results include only game sessions that are in ACTIVE status. If you need to retrieve game sessions with a status other than active, use DescribeGameSessions. If you need to retrieve the protection policy for each game session, use DescribeGameSessionDetails.

You can search or sort by the following game session attributes:

  • gameSessionId -- Unique identifier for the game session. You can use either a GameSessionId or GameSessionArn value.

  • gameSessionName -- Name assigned to a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession. Game session names do not need to be unique to a game session.

  • creationTimeMillis -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds.

  • playerSessionCount -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out.

  • maximumSessions -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession.

  • hasAvailablePlayerSessions -- Boolean value indicating whether a game session has reached its maximum number of players. When searching with this attribute, the search value must be true or false. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join.

To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of GameSession objects matching the request is returned.

Returned values for playerSessionCount and hasAvailablePlayerSessions change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join.

Game-session-related operations include:

", + "SearchGameSessions": "

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": "

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": "

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:

", - "StartMatchmaking": "

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:

", + "StartMatchBackfill": "

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": "

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": "

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": "

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": "

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:

", + "StopMatchmaking": "

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": "

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": "

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": "

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": "

Updates capacity settings for a fleet. Use this action to specify the number of EC2 instances (hosts) that you want this fleet to contain. Before calling this action, you may want to call DescribeEC2InstanceLimits to get the maximum capacity based on the fleet's EC2 instance type.

If you're using autoscaling (see PutScalingPolicy), you may want to specify a minimum and/or maximum capacity. If you don't provide these, autoscaling can set capacity anywhere between zero and the service limits.

To update fleet capacity, specify the fleet ID and the number of instances you want the fleet to host. If successful, Amazon GameLift starts or terminates instances so that the fleet's active instance count matches the desired instance count. You can view a fleet's current capacity information by calling DescribeFleetCapacity. If the desired instance count is higher than the instance type's limit, the \"Limit Exceeded\" exception occurs.

Fleet-related operations include:

", - "UpdateFleetPortSettings": "

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:

", + "UpdateFleetAttributes": "

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": "

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": "

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": "

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": "

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": "

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": "

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:

", + "UpdateRuntimeConfiguration": "

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": "

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": { @@ -128,11 +131,12 @@ "GameSessionQueueDestination$DestinationArn": "

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.

", "GetGameSessionLogUrlInput$GameSessionId": "

Unique identifier for the game session to get logs for.

", "QueueArnsList$member": null, + "StartMatchBackfillInput$GameSessionArn": "

Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it.

", "UpdateGameSessionInput$GameSessionId": "

Unique identifier for the game session to update.

" } }, "AttributeValue": { - "base": "

Values for use in Player attribute type: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.

", + "base": "

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.

", "refs": { "PlayerAttributeMap$value": null } @@ -140,11 +144,11 @@ "AwsCredentials": { "base": "

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.

", "refs": { - "CreateBuildOutput$UploadCredentials": "

This element is not currently in use.

", + "CreateBuildOutput$UploadCredentials": "

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.

", "RequestUploadCredentialsOutput$UploadCredentials": "

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.

" } }, - "Boolean": { + "BooleanModel": { "base": null, "refs": { "CreateMatchmakingConfigurationInput$AcceptanceRequired": "

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.

", @@ -604,7 +608,8 @@ "base": null, "refs": { "PutScalingPolicyInput$Threshold": "

Metric value used to trigger a scaling event.

", - "ScalingPolicy$Threshold": "

Metric value used to trigger a scaling event.

" + "ScalingPolicy$Threshold": "

Metric value used to trigger a scaling event.

", + "TargetConfiguration$TargetValue": "

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).

" } }, "DoubleObject": { @@ -615,7 +620,7 @@ } }, "EC2InstanceCounts": { - "base": "

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:

", + "base": "

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:

", "refs": { "FleetCapacity$InstanceCounts": "

Current status of fleet capacity.

" } @@ -638,6 +643,7 @@ "CreateFleetInput$EC2InstanceType": "

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.

", "DescribeEC2InstanceLimitsInput$EC2InstanceType": "

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.

", "EC2InstanceLimit$EC2InstanceType": "

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.

", + "FleetAttributes$InstanceType": "

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.

", "FleetCapacity$InstanceType": "

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.

", "Instance$Type": "

EC2 instance type that defines the computing resources of this instance.

" } @@ -651,7 +657,7 @@ "EventCode": { "base": null, "refs": { - "Event$EventCode": "

Type of event being logged. The following events are currently in use:

General events:

  • GENERIC_EVENT -- An unspecified event has occurred.

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.

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.

" + "Event$EventCode": "

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.

" } }, "EventList": { @@ -660,8 +666,22 @@ "DescribeFleetEventsOutput$Events": "

Collection of objects containing event log entries for the specified fleet.

" } }, + "FleetAction": { + "base": null, + "refs": { + "FleetActionList$member": null + } + }, + "FleetActionList": { + "base": null, + "refs": { + "FleetAttributes$StoppedActions": "

List of fleet actions that have been suspended using StopFleetActions. This includes auto-scaling.

", + "StartFleetActionsInput$Actions": "

List of actions to restart on the fleet.

", + "StopFleetActionsInput$Actions": "

List of actions to suspend on the fleet.

" + } + }, "FleetAttributes": { - "base": "

General properties describing a fleet.

Fleet-related operations include:

", + "base": "

General properties describing a fleet.

Fleet-related operations include:

", "refs": { "CreateFleetOutput$FleetAttributes": "

Properties for the newly created fleet.

", "FleetAttributesList$member": null @@ -674,7 +694,7 @@ } }, "FleetCapacity": { - "base": "

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:

", + "base": "

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:

", "refs": { "FleetCapacityList$member": null } @@ -715,11 +735,13 @@ "Instance$FleetId": "

Unique identifier for a fleet that the instance is in.

", "InstanceAccess$FleetId": "

Unique identifier for a fleet containing the instance being accessed.

", "PlayerSession$FleetId": "

Unique identifier for a fleet that the player's game session is running on.

", - "PutScalingPolicyInput$FleetId": "

Unique identifier for a fleet to apply this policy to.

", + "PutScalingPolicyInput$FleetId": "

Unique identifier for a fleet to apply this policy to. The fleet cannot be in any of the following statuses: ERROR or DELETING.

", "ResolveAliasOutput$FleetId": "

Fleet identifier that is associated with the requested alias.

", "RoutingStrategy$FleetId": "

Unique identifier for a fleet that the alias points to.

", "ScalingPolicy$FleetId": "

Unique identifier for a fleet that is associated with this scaling policy.

", "SearchGameSessionsInput$FleetId": "

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.

", + "StartFleetActionsInput$FleetId": "

Unique identifier for a fleet

", + "StopFleetActionsInput$FleetId": "

Unique identifier for a fleet

", "UpdateFleetAttributesInput$FleetId": "

Unique identifier for a fleet to update attribute metadata for.

", "UpdateFleetAttributesOutput$FleetId": "

Unique identifier for a fleet that was updated.

", "UpdateFleetCapacityInput$FleetId": "

Unique identifier for a fleet to update capacity for.

", @@ -745,8 +767,15 @@ "FleetAttributes$Status": "

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.

" } }, + "FleetType": { + "base": null, + "refs": { + "CreateFleetInput$FleetType": "

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.

", + "FleetAttributes$FleetType": "

Indicates whether the fleet uses on-demand or spot instances. A spot instance in use may be interrupted with a two-minute notification.

" + } + }, "FleetUtilization": { - "base": "

Current status of fleet utilization, including the number of game and player sessions being hosted.

Fleet-related operations include:

", + "base": "

Current status of fleet utilization, including the number of game and player sessions being hosted.

Fleet-related operations include:

", "refs": { "FleetUtilizationList$member": null } @@ -787,13 +816,13 @@ "GamePropertyList": { "base": null, "refs": { - "CreateGameSessionInput$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", - "CreateMatchmakingConfigurationInput$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server 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.

", - "GameSession$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", - "GameSessionPlacement$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", - "MatchmakingConfiguration$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server 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.

", - "StartGameSessionPlacementInput$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", - "UpdateMatchmakingConfigurationInput$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server 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.

" + "CreateGameSessionInput$GameProperties": "

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).

", + "CreateMatchmakingConfigurationInput$GameProperties": "

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.

", + "GameSession$GameProperties": "

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.

", + "GameSessionPlacement$GameProperties": "

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).

", + "MatchmakingConfiguration$GameProperties": "

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.

", + "StartGameSessionPlacementInput$GameProperties": "

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).

", + "UpdateMatchmakingConfigurationInput$GameProperties": "

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.

" } }, "GamePropertyValue": { @@ -826,13 +855,13 @@ "GameSessionData": { "base": null, "refs": { - "CreateGameSessionInput$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", - "CreateMatchmakingConfigurationInput$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server 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.

", - "GameSession$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", - "GameSessionPlacement$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", - "MatchmakingConfiguration$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server 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.

", - "StartGameSessionPlacementInput$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", - "UpdateMatchmakingConfigurationInput$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server 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.

" + "CreateGameSessionInput$GameSessionData": "

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).

", + "CreateMatchmakingConfigurationInput$GameSessionData": "

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.

", + "GameSession$GameSessionData": "

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).

", + "GameSessionPlacement$GameSessionData": "

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).

", + "MatchmakingConfiguration$GameSessionData": "

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.

", + "StartGameSessionPlacementInput$GameSessionData": "

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).

", + "UpdateMatchmakingConfigurationInput$GameSessionData": "

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.

" } }, "GameSessionDetail": { @@ -925,6 +954,12 @@ "GameSession$Status": "

Current status of the game session. A game session must have an ACTIVE status to have player sessions.

" } }, + "GameSessionStatusReason": { + "base": null, + "refs": { + "GameSession$StatusReason": "

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.

" + } + }, "GetGameSessionLogUrlInput": { "base": "

Represents the input for a request action.

", "refs": { @@ -1111,6 +1146,13 @@ "GameSessionConnectionInfo$MatchedPlayerSessions": "

Collection of player session IDs, one for each player ID that was included in the original matchmaking request.

" } }, + "MatchmakerData": { + "base": null, + "refs": { + "GameSession$MatchmakerData": "

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).

", + "GameSessionPlacement$MatchmakerData": "

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.

" + } + }, "MatchmakingAcceptanceTimeoutInteger": { "base": null, "refs": { @@ -1136,14 +1178,14 @@ "MatchmakingConfigurationStatus": { "base": null, "refs": { - "MatchmakingTicket$Status": "

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; new matchmaking requests can be submitted for these players.

  • CANCELLED -- The matchmaking request was canceled with a call to StopMatchmaking.

  • TIMED_OUT -- The matchmaking request was not completed within the duration specified in the matchmaking configuration. Matchmaking requests that time out can be resubmitted.

" + "MatchmakingTicket$Status": "

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.

" } }, "MatchmakingIdList": { "base": null, "refs": { "DescribeMatchmakingConfigurationsInput$Names": "

Unique identifier for a matchmaking configuration(s) to retrieve. To request all existing configurations, leave this parameter empty.

", - "DescribeMatchmakingInput$TicketIds": "

Unique identifier for a matchmaking ticket. To request all existing tickets, leave this parameter empty.

" + "DescribeMatchmakingInput$TicketIds": "

Unique identifier for a matchmaking ticket. You can include up to 10 ID values.

" } }, "MatchmakingIdStringModel": { @@ -1162,19 +1204,15 @@ "MatchmakingRuleSetNameList$member": null, "MatchmakingTicket$TicketId": "

Unique identifier for a matchmaking ticket.

", "MatchmakingTicket$ConfigurationName": "

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.

", - "StartMatchmakingInput$TicketId": "

Unique identifier for a matchmaking ticket. Use this identifier to track the matchmaking ticket status and retrieve match results.

", + "StartMatchBackfillInput$TicketId": "

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.

", + "StartMatchBackfillInput$ConfigurationName": "

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.

", + "StartMatchmakingInput$TicketId": "

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.

", "StartMatchmakingInput$ConfigurationName": "

Name of the matchmaking configuration to use for this request. Matchmaking configurations must exist in the same region as this request.

", "StopMatchmakingInput$TicketId": "

Unique identifier for a matchmaking ticket.

", "UpdateMatchmakingConfigurationInput$Name": "

Unique identifier for a matchmaking configuration to update.

", "UpdateMatchmakingConfigurationInput$RuleSetName": "

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.

" } }, - "MatchmakingPlayerIdList": { - "base": null, - "refs": { - "AcceptMatchInput$PlayerIds": "

Unique identifier for a player delivering the response. This parameter can include one or multiple player IDs.

" - } - }, "MatchmakingRequestTimeoutInteger": { "base": null, "refs": { @@ -1184,7 +1222,7 @@ } }, "MatchmakingRuleSet": { - "base": "

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 Create Matchmaking Rules for Your Game.

  • 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--such as each player must meet a certain 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 if 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.

", + "base": "

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.

", "refs": { "CreateMatchmakingRuleSetOutput$RuleSet": "

Object that describes the newly created matchmaking rule set.

", "MatchmakingRuleSetList$member": null @@ -1206,6 +1244,7 @@ "base": "

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.

", "refs": { "MatchmakingTicketList$member": null, + "StartMatchBackfillOutput$MatchmakingTicket": "

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.

", "StartMatchmakingOutput$MatchmakingTicket": "

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.

" } }, @@ -1230,7 +1269,7 @@ "MetricGroupList": { "base": null, "refs": { - "CreateFleetInput$MetricGroups": "

Names of metric groups to add this fleet to. Use an existing metric group name to add this fleet to the group. Or use a new name to create a new metric group. A fleet can only be included in one metric group at a time.

", + "CreateFleetInput$MetricGroups": "

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.

", "FleetAttributes$MetricGroups": "

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.

", "UpdateFleetAttributesInput$MetricGroups": "

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.

" } @@ -1238,8 +1277,8 @@ "MetricName": { "base": null, "refs": { - "PutScalingPolicyInput$MetricName": "

Name of the Amazon GameLift-defined metric that is used to trigger an adjustment.

  • ActivatingGameSessions -- number of game sessions in the process of being created (game session status = ACTIVATING).

  • ActiveGameSessions -- number of game sessions currently running (game session status = ACTIVE).

  • CurrentPlayerSessions -- number of active or reserved player sessions (player session status = ACTIVE or RESERVED).

  • AvailablePlayerSessions -- number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number includes game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).

  • ActiveInstances -- number of instances currently running a game session.

  • IdleInstances -- number of instances not currently running a game session.

", - "ScalingPolicy$MetricName": "

Name of the Amazon GameLift-defined metric that is used to trigger an adjustment.

  • ActivatingGameSessions -- number of game sessions in the process of being created (game session status = ACTIVATING).

  • ActiveGameSessions -- number of game sessions currently running (game session status = ACTIVE).

  • CurrentPlayerSessions -- number of active or reserved player sessions (player session status = ACTIVE or RESERVED).

  • AvailablePlayerSessions -- number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).

  • ActiveInstances -- number of instances currently running a game session.

  • IdleInstances -- number of instances not currently running a game session.

" + "PutScalingPolicyInput$MetricName": "

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.

", + "ScalingPolicy$MetricName": "

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.

" } }, "NonBlankAndLengthConstraintString": { @@ -1363,6 +1402,7 @@ "MatchedPlayerSession$PlayerId": "

Unique identifier for a player

", "MatchmakingConfiguration$Description": "

Descriptive label that is associated with matchmaking configuration.

", "PlacedPlayerSession$PlayerId": "

Unique identifier for a player that is associated with this player session.

", + "Player$PlayerId": "

Unique identifier for a player

", "Player$Team": "

Name of the team that the player is assigned to in a match. Team names are defined in a matchmaking rule set.

", "PlayerAttributeMap$key": null, "PlayerDataMap$key": null, @@ -1374,8 +1414,8 @@ "PutScalingPolicyInput$Name": "

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.

", "PutScalingPolicyOutput$Name": "

Descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

", "ScalingPolicy$Name": "

Descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

", - "SearchGameSessionsInput$FilterExpression": "

String containing the search criteria for the session search. If no filter expression is included, the request returns results for all game sessions in the fleet that are in ACTIVE status.

A filter expression can contain one or multiple conditions. Each condition consists of the following:

  • Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, creationTimeMillis, playerSessionCount, maximumSessions, hasAvailablePlayerSessions.

  • Comparator -- Valid comparators are: =, <>, <, >, <=, >=.

  • Value -- Value to be searched for. Values can be numbers, boolean values (true/false) or strings. String values are case sensitive, enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators = and <>. For example, the following filter expression searches on gameSessionName: \"FilterExpression\": \"gameSessionName = 'Matt\\\\'s Awesome Game 1'\".

To chain multiple conditions in a single expression, use the logical keywords AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT z, NOT (x OR y).

Session search evaluates conditions from left to right using the following precedence rules:

  1. =, <>, <, >, <=, >=

  2. Parentheses

  3. NOT

  4. AND

  5. OR

For example, this filter expression retrieves game sessions hosting at least ten players that have an open player slot: \"maximumSessions>=10 AND hasAvailablePlayerSessions=true\".

", - "SearchGameSessionsInput$SortExpression": "

Instructions on how to sort the search results. If no sort expression is included, the request returns results in random order. A sort expression consists of the following elements:

  • Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, creationTimeMillis, playerSessionCount, maximumSessions, hasAvailablePlayerSessions.

  • Order -- Valid sort orders are ASC (ascending) and DESC (descending).

For example, this sort expression returns the oldest active sessions first: \"SortExpression\": \"creationTimeMillis ASC\". Results with a null value for the sort operand are returned at the end of the list.

", + "SearchGameSessionsInput$FilterExpression": "

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\".

", + "SearchGameSessionsInput$SortExpression": "

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.

", "SearchGameSessionsInput$NextToken": "

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.

", "SearchGameSessionsOutput$NextToken": "

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.

", "ServerProcess$LaunchPath": "

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\".

", @@ -1410,7 +1450,7 @@ "base": null, "refs": { "Build$OperatingSystem": "

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.

", - "CreateBuildInput$OperatingSystem": "

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.

", + "CreateBuildInput$OperatingSystem": "

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.

", "FleetAttributes$OperatingSystem": "

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.

", "Instance$OperatingSystem": "

Operating system that is running on this instance.

", "InstanceAccess$OperatingSystem": "

Operating system that is running on the instance.

" @@ -1437,7 +1477,7 @@ "PlayerAttributeMap": { "base": null, "refs": { - "Player$PlayerAttributes": "

Collection of name:value pairs containing player information for use in matchmaking. Player attribute names need to match playerAttributes names in the rule set being used. Example: \"PlayerAttributes\": {\"skill\": {\"N\": \"23\"}, \"gameMode\": {\"S\": \"deathmatch\"}}.

" + "Player$PlayerAttributes": "

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\"}}.

" } }, "PlayerData": { @@ -1461,13 +1501,6 @@ "CreatePlayerSessionsInput$PlayerIds": "

List of unique identifiers for the players to be added.

" } }, - "PlayerIdStringModel": { - "base": null, - "refs": { - "MatchmakingPlayerIdList$member": null, - "Player$PlayerId": "

Unique identifier for a player

" - } - }, "PlayerLatency": { "base": "

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.

", "refs": { @@ -1499,6 +1532,7 @@ "base": null, "refs": { "MatchmakingTicket$Players": "

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.

", + "StartMatchBackfillInput$Players": "

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.

", "StartMatchmakingInput$Players": "

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.

" } }, @@ -1538,6 +1572,13 @@ "PlayerSession$Status": "

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).

" } }, + "PolicyType": { + "base": null, + "refs": { + "PutScalingPolicyInput$PolicyType": "

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.

", + "ScalingPolicy$PolicyType": "

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.

" + } + }, "PortNumber": { "base": null, "refs": { @@ -1582,7 +1623,7 @@ "ProtectionPolicy": { "base": null, "refs": { - "CreateFleetInput$NewGameSessionProtectionPolicy": "

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.

", + "CreateFleetInput$NewGameSessionProtectionPolicy": "

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.

", "FleetAttributes$NewGameSessionProtectionPolicy": "

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.

", "GameSessionDetail$ProtectionPolicy": "

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.

", "UpdateFleetAttributesInput$NewGameSessionProtectionPolicy": "

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.

", @@ -1636,7 +1677,7 @@ } }, "RoutingStrategy": { - "base": "

Routing configuration for a fleet alias.

Fleet-related operations include:

", + "base": "

Routing configuration for a fleet alias.

Fleet-related operations include:

", "refs": { "Alias$RoutingStrategy": "

Alias configuration for the alias, including routing type and settings.

", "CreateAliasInput$RoutingStrategy": "

Object that specifies the fleet and routing type to use for the alias.

", @@ -1665,7 +1706,7 @@ } }, "RuntimeConfiguration": { - "base": "

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:

", + "base": "

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:

", "refs": { "CreateFleetInput$RuntimeConfiguration": "

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.)

", "DescribeRuntimeConfigurationOutput$RuntimeConfiguration": "

Instructions describing how server processes should be launched and maintained on each instance in the fleet.

", @@ -1676,8 +1717,8 @@ "S3Location": { "base": "

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.

", "refs": { - "CreateBuildInput$StorageLocation": "

Amazon S3 location of the game build files to be uploaded. The S3 bucket must be owned by the same AWS account that you're using to manage Amazon GameLift. It also must in the same region that you want to create a new build in. Before calling CreateBuild with this location, you must allow Amazon GameLift to access your Amazon S3 bucket (see Create a Build with Files in Amazon S3).

", - "CreateBuildOutput$StorageLocation": "

Amazon S3 location specified in the request.

", + "CreateBuildInput$StorageLocation": "

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.

", + "CreateBuildOutput$StorageLocation": "

Amazon S3 location for your game build file, including bucket name and key.

", "RequestUploadCredentialsOutput$StorageLocation": "

Amazon S3 path and key, identifying where the game build files are stored.

" } }, @@ -1689,7 +1730,7 @@ } }, "ScalingPolicy": { - "base": "

Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.

Fleet-related operations include:

", + "base": "

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:

", "refs": { "ScalingPolicyList$member": null } @@ -1704,7 +1745,7 @@ "base": null, "refs": { "DescribeScalingPoliciesInput$StatusFilter": "

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.

", - "ScalingPolicy$Status": "

Current status of the scaling policy. The scaling policy is only in force when in an ACTIVE status.

  • ACTIVE -- The scaling policy is currently in force.

  • UPDATE_REQUESTED -- A request to update the scaling policy has been received.

  • UPDATING -- A change is being made to the scaling policy.

  • DELETE_REQUESTED -- A request to delete the scaling policy has been received.

  • DELETING -- The scaling policy is being deleted.

  • DELETED -- The scaling policy has been deleted.

  • ERROR -- An error occurred in creating the policy. It should be removed and recreated.

" + "ScalingPolicy$Status": "

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.

" } }, "SearchGameSessionsInput": { @@ -1737,6 +1778,16 @@ "UpdateMatchmakingConfigurationInput$NotificationTarget": "

SNS topic ARN that is set up to receive matchmaking notifications. See Setting up Notifications for Matchmaking for more information.

" } }, + "StartFleetActionsInput": { + "base": null, + "refs": { + } + }, + "StartFleetActionsOutput": { + "base": null, + "refs": { + } + }, "StartGameSessionPlacementInput": { "base": "

Represents the input for a request action.

", "refs": { @@ -1747,6 +1798,16 @@ "refs": { } }, + "StartMatchBackfillInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "StartMatchBackfillOutput": { + "base": "

Represents the returned data in response to a request action.

", + "refs": { + } + }, "StartMatchmakingInput": { "base": "

Represents the input for a request action.

", "refs": { @@ -1757,6 +1818,16 @@ "refs": { } }, + "StopFleetActionsInput": { + "base": null, + "refs": { + } + }, + "StopFleetActionsOutput": { + "base": null, + "refs": { + } + }, "StopGameSessionPlacementInput": { "base": "

Represents the input for a request action.

", "refs": { @@ -1780,12 +1851,13 @@ "StringDoubleMap": { "base": null, "refs": { - "AttributeValue$SDM": "

For a map of up to 10 type:value pairs. Maximum length for each string value is 100 characters.

" + "AttributeValue$SDM": "

For a map of up to 10 data type:value pairs. Maximum length for each string value is 100 characters.

" } }, "StringList": { "base": null, "refs": { + "AcceptMatchInput$PlayerIds": "

Unique identifier for a player delivering the response. This parameter can include one or multiple player IDs.

", "AttributeValue$SL": "

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.

", "CreateFleetInput$LogPaths": "

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.

", "FleetAttributes$LogPaths": "

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.

" @@ -1799,6 +1871,13 @@ "MatchmakingTicket$StatusMessage": "

Additional information about the current status.

" } }, + "TargetConfiguration": { + "base": "

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:

", + "refs": { + "PutScalingPolicyInput$TargetConfiguration": "

Object that contains settings for a target-based scaling policy.

", + "ScalingPolicy$TargetConfiguration": "

Object that contains settings for a target-based scaling policy.

" + } + }, "TerminalRoutingStrategyException": { "base": "

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.

", "refs": { @@ -1823,7 +1902,7 @@ "MatchmakingConfiguration$CreationTime": "

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", "MatchmakingRuleSet$CreationTime": "

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", "MatchmakingTicket$StartTime": "

Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", - "MatchmakingTicket$EndTime": "

Time stamp indicating when the matchmaking request stopped being processed due to successful completion, timeout, or cancellation. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", + "MatchmakingTicket$EndTime": "

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\").

", "PlayerSession$CreationTime": "

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", "PlayerSession$TerminationTime": "

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", "VpcPeeringAuthorization$CreationTime": "

Time stamp indicating when this authorization was issued. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", @@ -1966,7 +2045,7 @@ } }, "VpcPeeringConnectionStatus": { - "base": "

Represents status information for a VPC peering connection. Status is associated with a VpcPeeringConnection object. Status codes and messages are provided from EC2 (). Connection status information is also communicated as a fleet Event.

", + "base": "

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.

", "refs": { "VpcPeeringConnection$Status": "

Object that contains status information about the connection. Status indicates if a connection is pending, successful, or failed.

" } diff --git a/models/apis/glacier/2012-06-01/api-2.json b/models/apis/glacier/2012-06-01/api-2.json index 98117acc892..e72d1664113 100644 --- a/models/apis/glacier/2012-06-01/api-2.json +++ b/models/apis/glacier/2012-06-01/api-2.json @@ -6,6 +6,7 @@ "endpointPrefix":"glacier", "protocol":"rest-json", "serviceFullName":"Amazon Glacier", + "serviceId":"Glacier", "signatureVersion":"v4", "uid":"glacier-2012-06-01" }, diff --git a/models/apis/glacier/2012-06-01/docs-2.json b/models/apis/glacier/2012-06-01/docs-2.json index b86618c1b8b..3c5ed67a9e5 100644 --- a/models/apis/glacier/2012-06-01/docs-2.json +++ b/models/apis/glacier/2012-06-01/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "

Amazon Glacier is a storage solution for \"cold data.\"

Amazon Glacier is an extremely low-cost storage service that provides secure, durable, and easy-to-use storage for data backup and archival. With Amazon Glacier, customers can store their data cost effectively for months, years, or decades. Amazon Glacier also enables customers to offload the administrative burdens of operating and scaling storage to AWS, so they don't have to worry about capacity planning, hardware provisioning, data replication, hardware failure and recovery, or time-consuming hardware migrations.

Amazon Glacier is a great storage choice when low storage cost is paramount, your data is rarely retrieved, and retrieval latency of several hours is acceptable. If your application requires fast or frequent access to your data, consider using Amazon S3. For more information, 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.

", + "service": "

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.

", "operations": { "AbortMultipartUpload": "

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": "

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.

", @@ -11,7 +11,7 @@ "DeleteArchive": "

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": "

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": "

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": "

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.

", + "DeleteVaultNotifications": "

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": "

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": "

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": "

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.

", @@ -22,12 +22,12 @@ "InitiateJob": "

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": "

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": "

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": "

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 1000. 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": "

This operation lists in-progress multipart uploads for the specified vault. An in-progress multipart upload is a multipart upload that has been initiated by an InitiateMultipartUpload request, but has not yet been completed or aborted. The list returned in the List Multipart Upload response has no guaranteed order.

The List Multipart Uploads operation supports pagination. By default, this operation returns up to 1,000 multipart uploads in the response. You should always check the response for a marker at which to continue the list; if there are no more items the marker is null. To return a list of multipart uploads that begins at a specific upload, set the marker request parameter to the value you obtained from a previous List Multipart Upload request. You can also limit the number of uploads returned in the response by specifying the limit parameter in the request.

Note the difference between this operation and listing parts (ListParts). The List Multipart Uploads operation lists all multipart uploads for a vault and does not require a multipart upload ID. The List Parts operation requires a multipart upload ID since parts are associated with a single upload.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and the underlying REST API, see Working with Archives in Amazon Glacier and List Multipart Uploads in the Amazon Glacier Developer Guide.

", - "ListParts": "

This operation lists the parts of an archive that have been uploaded in a specific multipart upload. You can make this request at any time during an in-progress multipart upload before you complete the upload (see CompleteMultipartUpload. List Parts returns an error for completed uploads. The list returned in the List Parts response is sorted by part range.

The List Parts operation supports pagination. By default, this operation returns up to 1,000 uploaded parts in the response. You should always check the response for a marker at which to continue the list; if there are no more items the marker is null. To return a list of parts that begins at a specific part, set the marker request parameter to the value you obtained from a previous List Parts request. You can also limit the number of parts returned in the response by specifying the limit parameter in the request.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and the underlying REST API, see Working with Archives in Amazon Glacier and List Parts in the Amazon Glacier Developer Guide.

", + "ListJobs": "

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": "

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": "

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": "

This operation lists the provisioned capacity units for the specified AWS account.

", "ListTagsForVault": "

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": "

This operation lists all vaults owned by the calling user's account. The list returned in the response is ASCII-sorted by vault name.

By default, this operation returns up to 1,000 items. If there are more vaults to list, the response marker field contains the vault Amazon Resource Name (ARN) at which to continue the list with a new List Vaults request; otherwise, the marker field is null. To return a list of vaults that begins at a specific vault, set the marker request parameter to the vault ARN you obtained from a previous List Vaults request. You can also limit the number of vaults returned in the response by specifying the limit parameter in the request.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Retrieving Vault Metadata in Amazon Glacier and List Vaults in the Amazon Glacier Developer Guide.

", + "ListVaults": "

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": "

This operation purchases a provisioned capacity unit for an AWS account.

", "RemoveTagsFromVault": "

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": "

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.

", @@ -84,7 +84,7 @@ "CannedACL": { "base": null, "refs": { - "S3Location$CannedACL": "

The canned ACL to apply to the restore results.

" + "S3Location$CannedACL": "

The canned access control list (ACL) to apply to the job results.

" } }, "CompleteMultipartUploadInput": { @@ -495,13 +495,13 @@ "S3Location": { "base": "

Contains information about the location in Amazon S3 where the select job results are stored.

", "refs": { - "OutputLocation$S3": "

Describes an S3 location that will receive the results of the restore request.

" + "OutputLocation$S3": "

Describes an S3 location that will receive the results of the job request.

" } }, "SelectParameters": { "base": "

Contains information about the parameters used for a select.

", "refs": { - "GlacierJobDescription$SelectParameters": "

Contains the parameters that define a select job.

", + "GlacierJobDescription$SelectParameters": "

Contains the parameters used for a select.

", "JobParameters$SelectParameters": "

Contains the parameters that define a job.

" } }, @@ -541,7 +541,7 @@ "StorageClass": { "base": null, "refs": { - "S3Location$StorageClass": "

The storage class used to store the restore results.

" + "S3Location$StorageClass": "

The storage class used to store the job results.

" } }, "Stream": { @@ -645,8 +645,8 @@ "hashmap": { "base": null, "refs": { - "S3Location$Tagging": "

The tag-set that is applied to the restore results.

", - "S3Location$UserMetadata": "

A map of metadata to store with the restore results in Amazon S3.

" + "S3Location$Tagging": "

The tag-set that is applied to the job results.

", + "S3Location$UserMetadata": "

A map of metadata to store with the job results in Amazon S3.

" } }, "httpstatus": { @@ -717,7 +717,7 @@ "DescribeVaultOutput$CreationDate": "

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.

", "DescribeVaultOutput$LastInventoryDate": "

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.

", "Encryption$KMSKeyId": "

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.

", - "Encryption$KMSContext": "

Optional. If the encryption type is aws:kms, you can use this value to specify the encryption context for the restore results.

", + "Encryption$KMSContext": "

Optional. If the encryption type is aws:kms, you can use this value to specify the encryption context for the job results.

", "GetDataRetrievalPolicyInput$accountId": "

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.

", "GetJobOutputInput$accountId": "

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.

", "GetJobOutputInput$vaultName": "

The name of the vault.

", @@ -749,7 +749,7 @@ "GlacierJobDescription$SHA256TreeHash": "

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

", "GlacierJobDescription$ArchiveSHA256TreeHash": "

The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval or select jobs, this field is null.

", "GlacierJobDescription$RetrievalByteRange": "

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.

", - "GlacierJobDescription$Tier": "

The retrieval option to use for the archive retrieval. Valid values are Expedited, Standard, or Bulk. Standard is the default.

", + "GlacierJobDescription$Tier": "

The tier to use for a select or an archive retrieval. Valid values are Expedited, Standard, or Bulk. Standard is the default.

", "GlacierJobDescription$JobOutputPath": "

Contains the job output location.

", "Grantee$DisplayName": "

Screen name of the grantee.

", "Grantee$URI": "

URI of the grantee group.

", @@ -788,13 +788,13 @@ "JobParameters$Description": "

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.

", "JobParameters$SNSTopic": "

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.

", "JobParameters$RetrievalByteRange": "

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.

", - "JobParameters$Tier": "

The retrieval option to use for a select or archive retrieval job. Valid values are Expedited, Standard, or Bulk. Standard is the default.

", + "JobParameters$Tier": "

The tier to use for a select or an archive retrieval job. Valid values are Expedited, Standard, or Bulk. Standard is the default.

", "LimitExceededException$type": "

Client

", "LimitExceededException$code": "

400 Bad Request

", "LimitExceededException$message": "

Returned if the request results in a vault limit or tags limit being exceeded.

", "ListJobsInput$accountId": "

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.

", "ListJobsInput$vaultName": "

The name of the vault.

", - "ListJobsInput$limit": "

The maximum number of jobs to be returned. The default limit is 1000. The number of jobs returned might be fewer than the specified limit, but the number of returned jobs never exceeds the limit.

", + "ListJobsInput$limit": "

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.

", "ListJobsInput$marker": "

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.

", "ListJobsInput$statuscode": "

The type of job status to return. You can specify the following values: InProgress, Succeeded, or Failed.

", "ListJobsInput$completed": "

The state of the jobs to return. You can specify true or false.

", @@ -802,13 +802,13 @@ "ListMultipartUploadsInput$accountId": "

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.

", "ListMultipartUploadsInput$vaultName": "

The name of the vault.

", "ListMultipartUploadsInput$marker": "

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.

", - "ListMultipartUploadsInput$limit": "

Specifies the maximum number of uploads returned in the response body. If this value is not specified, the List Uploads operation returns up to 1,000 uploads.

", + "ListMultipartUploadsInput$limit": "

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.

", "ListMultipartUploadsOutput$Marker": "

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.

", "ListPartsInput$accountId": "

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.

", "ListPartsInput$vaultName": "

The name of the vault.

", "ListPartsInput$uploadId": "

The upload ID of the multipart upload.

", "ListPartsInput$marker": "

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.

", - "ListPartsInput$limit": "

The maximum number of parts to be returned. The default limit is 1000. The number of parts returned might be fewer than the specified limit, but the number of returned parts never exceeds the limit.

", + "ListPartsInput$limit": "

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.

", "ListPartsOutput$MultipartUploadId": "

The ID of the upload to which the parts are associated.

", "ListPartsOutput$VaultARN": "

The Amazon Resource Name (ARN) of the vault to which the multipart upload was initiated.

", "ListPartsOutput$ArchiveDescription": "

The description of the archive that was specified in the Initiate Multipart Upload request.

", @@ -819,7 +819,7 @@ "ListTagsForVaultInput$vaultName": "

The name of the vault.

", "ListVaultsInput$accountId": "

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.

", "ListVaultsInput$marker": "

A string used for pagination. The marker specifies the vault ARN after which the listing of vaults should begin.

", - "ListVaultsInput$limit": "

The maximum number of vaults to be returned. The default limit is 1000. The number of vaults returned might be fewer than the specified limit, but the number of returned vaults never exceeds the limit.

", + "ListVaultsInput$limit": "

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.

", "ListVaultsOutput$Marker": "

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.

", "MissingParameterValueException$type": "

Client.

", "MissingParameterValueException$code": "

400 Bad Request

", @@ -843,8 +843,8 @@ "ResourceNotFoundException$type": "

Client

", "ResourceNotFoundException$code": "

404 Not Found

", "ResourceNotFoundException$message": "

Returned if the specified resource (such as a vault, upload ID, or job ID) doesn't exist.

", - "S3Location$BucketName": "

The name of the bucket where the restore results are stored.

", - "S3Location$Prefix": "

The prefix that is prepended to the restore results for this request.

", + "S3Location$BucketName": "

The name of the Amazon S3 bucket where the job results are stored.

", + "S3Location$Prefix": "

The prefix that is prepended to the results for this request.

", "SelectParameters$Expression": "

The expression that is used to select the object.

", "ServiceUnavailableException$type": "

Server

", "ServiceUnavailableException$code": "

500 Internal Server Error

", diff --git a/models/apis/glacier/2012-06-01/smoke.json b/models/apis/glacier/2012-06-01/smoke.json new file mode 100644 index 00000000000..9ac3f1a744c --- /dev/null +++ b/models/apis/glacier/2012-06-01/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListVaults", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "ListVaults", + "input": { + "accountId": "abcmnoxyz" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/glue/2017-03-31/api-2.json b/models/apis/glue/2017-03-31/api-2.json index f743b6ce443..98d50d77dfa 100644 --- a/models/apis/glue/2017-03-31/api-2.json +++ b/models/apis/glue/2017-03-31/api-2.json @@ -6,6 +6,7 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS Glue", + "serviceId":"Glue", "signatureVersion":"v4", "targetPrefix":"AWSGlue", "uid":"glue-2017-03-31" @@ -71,6 +72,21 @@ {"shape":"OperationTimeoutException"} ] }, + "BatchDeleteTableVersion":{ + "name":"BatchDeleteTableVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeleteTableVersionRequest"}, + "output":{"shape":"BatchDeleteTableVersionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, "BatchGetPartition":{ "name":"BatchGetPartition", "http":{ @@ -125,7 +141,8 @@ "errors":[ {"shape":"AlreadyExistsException"}, {"shape":"InvalidInputException"}, - {"shape":"OperationTimeoutException"} + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"} ] }, "CreateCrawler":{ @@ -192,7 +209,8 @@ {"shape":"AlreadyExistsException"}, {"shape":"InternalServiceException"}, {"shape":"OperationTimeoutException"}, - {"shape":"ResourceNumberLimitExceededException"} + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"ConcurrentModificationException"} ] }, "CreatePartition":{ @@ -254,9 +272,11 @@ "errors":[ {"shape":"AlreadyExistsException"}, {"shape":"InvalidInputException"}, + {"shape":"IdempotentParameterMismatchException"}, {"shape":"InternalServiceException"}, {"shape":"OperationTimeoutException"}, - {"shape":"ResourceNumberLimitExceededException"} + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"ConcurrentModificationException"} ] }, "CreateUserDefinedFunction":{ @@ -272,7 +292,8 @@ {"shape":"InvalidInputException"}, {"shape":"InternalServiceException"}, {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"} + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"} ] }, "DeleteClassifier":{ @@ -390,6 +411,21 @@ {"shape":"OperationTimeoutException"} ] }, + "DeleteTableVersion":{ + "name":"DeleteTableVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTableVersionRequest"}, + "output":{"shape":"DeleteTableVersionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, "DeleteTrigger":{ "name":"DeleteTrigger", "http":{ @@ -401,7 +437,8 @@ "errors":[ {"shape":"InvalidInputException"}, {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} + {"shape":"OperationTimeoutException"}, + {"shape":"ConcurrentModificationException"} ] }, "DeleteUserDefinedFunction":{ @@ -727,6 +764,21 @@ {"shape":"OperationTimeoutException"} ] }, + "GetTableVersion":{ + "name":"GetTableVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTableVersionRequest"}, + "output":{"shape":"GetTableVersionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, "GetTableVersions":{ "name":"GetTableVersions", "http":{ @@ -951,7 +1003,8 @@ {"shape":"InvalidInputException"}, {"shape":"InternalServiceException"}, {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"} + {"shape":"OperationTimeoutException"}, + {"shape":"ConcurrentModificationException"} ] }, "UpdateClassifier":{ @@ -1058,7 +1111,8 @@ {"shape":"InvalidInputException"}, {"shape":"EntityNotFoundException"}, {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} + {"shape":"OperationTimeoutException"}, + {"shape":"ConcurrentModificationException"} ] }, "UpdatePartition":{ @@ -1089,7 +1143,8 @@ {"shape":"InvalidInputException"}, {"shape":"InternalServiceException"}, {"shape":"OperationTimeoutException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNumberLimitExceededException"} ] }, "UpdateTrigger":{ @@ -1104,7 +1159,8 @@ {"shape":"InvalidInputException"}, {"shape":"InternalServiceException"}, {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"} + {"shape":"OperationTimeoutException"}, + {"shape":"ConcurrentModificationException"} ] }, "UpdateUserDefinedFunction":{ @@ -1135,7 +1191,9 @@ "type":"structure", "members":{ "JobName":{"shape":"NameString"}, - "Arguments":{"shape":"GenericMap"} + "Arguments":{"shape":"GenericMap"}, + "Timeout":{"shape":"Timeout"}, + "NotificationProperty":{"shape":"NotificationProperty"} } }, "ActionList":{ @@ -1235,6 +1293,32 @@ "Errors":{"shape":"TableErrors"} } }, + "BatchDeleteTableVersionList":{ + "type":"list", + "member":{"shape":"VersionString"}, + "max":100, + "min":0 + }, + "BatchDeleteTableVersionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "VersionIds" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "VersionIds":{"shape":"BatchDeleteTableVersionList"} + } + }, + "BatchDeleteTableVersionResponse":{ + "type":"structure", + "members":{ + "Errors":{"shape":"TableVersionErrors"} + } + }, "BatchGetPartitionRequest":{ "type":"structure", "required":[ @@ -1310,6 +1394,7 @@ "member":{"shape":"BatchStopJobRunSuccessfulSubmission"} }, "Boolean":{"type":"boolean"}, + "BooleanNullable":{"type":"boolean"}, "BooleanValue":{"type":"boolean"}, "BoundedPartitionValueList":{ "type":"list", @@ -1351,7 +1436,8 @@ "type":"structure", "members":{ "GrokClassifier":{"shape":"GrokClassifier"}, - "XMLClassifier":{"shape":"XMLClassifier"} + "XMLClassifier":{"shape":"XMLClassifier"}, + "JsonClassifier":{"shape":"JsonClassifier"} } }, "ClassifierList":{ @@ -1487,6 +1573,11 @@ }, "ConnectionInput":{ "type":"structure", + "required":[ + "Name", + "ConnectionType", + "ConnectionProperties" + ], "members":{ "Name":{"shape":"NameString"}, "Description":{"shape":"DescriptionString"}, @@ -1619,14 +1710,16 @@ "type":"structure", "members":{ "S3Targets":{"shape":"S3TargetList"}, - "JdbcTargets":{"shape":"JdbcTargetList"} + "JdbcTargets":{"shape":"JdbcTargetList"}, + "DynamoDBTargets":{"shape":"DynamoDBTargetList"} } }, "CreateClassifierRequest":{ "type":"structure", "members":{ "GrokClassifier":{"shape":"CreateGrokClassifierRequest"}, - "XMLClassifier":{"shape":"CreateXMLClassifierRequest"} + "XMLClassifier":{"shape":"CreateXMLClassifierRequest"}, + "JsonClassifier":{"shape":"CreateJsonClassifierRequest"} } }, "CreateClassifierResponse":{ @@ -1690,8 +1783,7 @@ "type":"structure", "required":[ "EndpointName", - "RoleArn", - "PublicKey" + "RoleArn" ], "members":{ "EndpointName":{"shape":"GenericString"}, @@ -1699,6 +1791,7 @@ "SecurityGroupIds":{"shape":"StringList"}, "SubnetId":{"shape":"GenericString"}, "PublicKey":{"shape":"GenericString"}, + "PublicKeys":{"shape":"PublicKeysList"}, "NumberOfNodes":{"shape":"IntegerValue"}, "ExtraPythonLibsS3Path":{"shape":"GenericString"}, "ExtraJarsS3Path":{"shape":"GenericString"} @@ -1754,7 +1847,9 @@ "DefaultArguments":{"shape":"GenericMap"}, "Connections":{"shape":"ConnectionsList"}, "MaxRetries":{"shape":"MaxRetries"}, - "AllocatedCapacity":{"shape":"IntegerValue"} + "AllocatedCapacity":{"shape":"IntegerValue"}, + "Timeout":{"shape":"Timeout"}, + "NotificationProperty":{"shape":"NotificationProperty"} } }, "CreateJobResponse":{ @@ -1763,6 +1858,17 @@ "Name":{"shape":"NameString"} } }, + "CreateJsonClassifierRequest":{ + "type":"structure", + "required":[ + "Name", + "JsonPath" + ], + "members":{ + "Name":{"shape":"NameString"}, + "JsonPath":{"shape":"JsonPath"} + } + }, "CreatePartitionRequest":{ "type":"structure", "required":[ @@ -1786,13 +1892,15 @@ "type":"structure", "members":{ "DagNodes":{"shape":"DagNodes"}, - "DagEdges":{"shape":"DagEdges"} + "DagEdges":{"shape":"DagEdges"}, + "Language":{"shape":"Language"} } }, "CreateScriptResponse":{ "type":"structure", "members":{ - "PythonScript":{"shape":"PythonScript"} + "PythonScript":{"shape":"PythonScript"}, + "ScalaCode":{"shape":"ScalaCode"} } }, "CreateTableRequest":{ @@ -1825,7 +1933,8 @@ "Schedule":{"shape":"GenericString"}, "Predicate":{"shape":"Predicate"}, "Actions":{"shape":"ActionList"}, - "Description":{"shape":"DescriptionString"} + "Description":{"shape":"DescriptionString"}, + "StartOnCreation":{"shape":"BooleanValue"} } }, "CreateTriggerResponse":{ @@ -2029,6 +2138,25 @@ "members":{ } }, + "DeleteTableVersionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "VersionId" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "VersionId":{"shape":"VersionString"} + } + }, + "DeleteTableVersionResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteTriggerRequest":{ "type":"structure", "required":["Name"], @@ -2079,6 +2207,7 @@ "SecurityGroupIds":{"shape":"StringList"}, "SubnetId":{"shape":"GenericString"}, "YarnEndpointAddress":{"shape":"GenericString"}, + "PrivateAddress":{"shape":"GenericString"}, "ZeppelinRemoteSparkInterpreterPort":{"shape":"IntegerValue"}, "PublicAddress":{"shape":"GenericString"}, "Status":{"shape":"GenericString"}, @@ -2091,7 +2220,8 @@ "LastUpdateStatus":{"shape":"GenericString"}, "CreatedTimestamp":{"shape":"TimestampValue"}, "LastModifiedTimestamp":{"shape":"TimestampValue"}, - "PublicKey":{"shape":"GenericString"} + "PublicKey":{"shape":"GenericString"}, + "PublicKeys":{"shape":"PublicKeysList"} } }, "DevEndpointCustomLibraries":{ @@ -2105,6 +2235,16 @@ "type":"list", "member":{"shape":"DevEndpoint"} }, + "DynamoDBTarget":{ + "type":"structure", + "members":{ + "Path":{"shape":"Path"} + } + }, + "DynamoDBTargetList":{ + "type":"list", + "member":{"shape":"DynamoDBTarget"} + }, "EntityNotFoundException":{ "type":"structure", "members":{ @@ -2131,6 +2271,7 @@ "MaxConcurrentRuns":{"shape":"MaxConcurrentRuns"} } }, + "ExecutionTime":{"type":"integer"}, "FieldType":{"type":"string"}, "FilterString":{ "type":"string", @@ -2467,13 +2608,15 @@ "Mapping":{"shape":"MappingList"}, "Source":{"shape":"CatalogEntry"}, "Sinks":{"shape":"CatalogEntries"}, - "Location":{"shape":"Location"} + "Location":{"shape":"Location"}, + "Language":{"shape":"Language"} } }, "GetPlanResponse":{ "type":"structure", "members":{ - "PythonScript":{"shape":"PythonScript"} + "PythonScript":{"shape":"PythonScript"}, + "ScalaCode":{"shape":"ScalaCode"} } }, "GetTableRequest":{ @@ -2494,6 +2637,25 @@ "Table":{"shape":"Table"} } }, + "GetTableVersionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "VersionId":{"shape":"VersionString"} + } + }, + "GetTableVersionResponse":{ + "type":"structure", + "members":{ + "TableVersion":{"shape":"TableVersion"} + } + }, "GetTableVersionsList":{ "type":"list", "member":{"shape":"TableVersion"} @@ -2699,7 +2861,9 @@ "DefaultArguments":{"shape":"GenericMap"}, "Connections":{"shape":"ConnectionsList"}, "MaxRetries":{"shape":"MaxRetries"}, - "AllocatedCapacity":{"shape":"IntegerValue"} + "AllocatedCapacity":{"shape":"IntegerValue"}, + "Timeout":{"shape":"Timeout"}, + "NotificationProperty":{"shape":"NotificationProperty"} } }, "JobBookmarkEntry":{ @@ -2739,7 +2903,10 @@ "Arguments":{"shape":"GenericMap"}, "ErrorMessage":{"shape":"ErrorString"}, "PredecessorRuns":{"shape":"PredecessorList"}, - "AllocatedCapacity":{"shape":"IntegerValue"} + "AllocatedCapacity":{"shape":"IntegerValue"}, + "ExecutionTime":{"shape":"ExecutionTime"}, + "Timeout":{"shape":"Timeout"}, + "NotificationProperty":{"shape":"NotificationProperty"} } }, "JobRunList":{ @@ -2754,7 +2921,8 @@ "STOPPING", "STOPPED", "SUCCEEDED", - "FAILED" + "FAILED", + "TIMEOUT" ] }, "JobUpdate":{ @@ -2768,9 +2936,26 @@ "DefaultArguments":{"shape":"GenericMap"}, "Connections":{"shape":"ConnectionsList"}, "MaxRetries":{"shape":"MaxRetries"}, - "AllocatedCapacity":{"shape":"IntegerValue"} + "AllocatedCapacity":{"shape":"IntegerValue"}, + "Timeout":{"shape":"Timeout"}, + "NotificationProperty":{"shape":"NotificationProperty"} } }, + "JsonClassifier":{ + "type":"structure", + "required":[ + "Name", + "JsonPath" + ], + "members":{ + "Name":{"shape":"NameString"}, + "CreationTime":{"shape":"Timestamp"}, + "LastUpdated":{"shape":"Timestamp"}, + "Version":{"shape":"VersionId"}, + "JsonPath":{"shape":"JsonPath"} + } + }, + "JsonPath":{"type":"string"}, "JsonValue":{"type":"string"}, "KeyString":{ "type":"string", @@ -2778,6 +2963,13 @@ "min":1, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" }, + "Language":{ + "type":"string", + "enum":[ + "PYTHON", + "SCALA" + ] + }, "LastCrawlInfo":{ "type":"structure", "members":{ @@ -2801,7 +2993,8 @@ "type":"structure", "members":{ "Jdbc":{"shape":"CodeGenNodeArgs"}, - "S3":{"shape":"CodeGenNodeArgs"} + "S3":{"shape":"CodeGenNodeArgs"}, + "DynamoDB":{"shape":"CodeGenNodeArgs"} } }, "LocationMap":{ @@ -2828,7 +3021,10 @@ }, "Logical":{ "type":"string", - "enum":["AND"] + "enum":[ + "AND", + "ANY" + ] }, "LogicalOperator":{ "type":"string", @@ -2890,6 +3086,17 @@ "type":"integer", "min":0 }, + "NotificationProperty":{ + "type":"structure", + "members":{ + "NotifyDelayAfter":{"shape":"NotifyDelayAfter"} + } + }, + "NotifyDelayAfter":{ + "type":"integer", + "box":true, + "min":1 + }, "OperationTimeoutException":{ "type":"structure", "members":{ @@ -2925,7 +3132,7 @@ }, "ParametersMapValue":{ "type":"string", - "max":51200 + "max":512000 }, "Partition":{ "type":"structure", @@ -3023,6 +3230,11 @@ "GROUP" ] }, + "PublicKeysList":{ + "type":"list", + "member":{"shape":"GenericString"}, + "max":5 + }, "PythonScript":{"type":"string"}, "ResetJobBookmarkRequest":{ "type":"structure", @@ -3083,6 +3295,7 @@ "type":"list", "member":{"shape":"S3Target"} }, + "ScalaCode":{"type":"string"}, "Schedule":{ "type":"structure", "members":{ @@ -3192,7 +3405,9 @@ "JobName":{"shape":"NameString"}, "JobRunId":{"shape":"IdString"}, "Arguments":{"shape":"GenericMap"}, - "AllocatedCapacity":{"shape":"IntegerValue"} + "AllocatedCapacity":{"shape":"IntegerValue"}, + "Timeout":{"shape":"Timeout"}, + "NotificationProperty":{"shape":"NotificationProperty"} } }, "StartJobRunResponse":{ @@ -3344,6 +3559,23 @@ "VersionId":{"shape":"VersionString"} } }, + "TableVersionError":{ + "type":"structure", + "members":{ + "TableName":{"shape":"NameString"}, + "VersionId":{"shape":"VersionString"}, + "ErrorDetail":{"shape":"ErrorDetail"} + } + }, + "TableVersionErrors":{ + "type":"list", + "member":{"shape":"TableVersionError"} + }, + "Timeout":{ + "type":"integer", + "box":true, + "min":1 + }, "Timestamp":{"type":"timestamp"}, "TimestampValue":{"type":"timestamp"}, "Token":{"type":"string"}, @@ -3417,7 +3649,8 @@ "type":"structure", "members":{ "GrokClassifier":{"shape":"UpdateGrokClassifierRequest"}, - "XMLClassifier":{"shape":"UpdateXMLClassifierRequest"} + "XMLClassifier":{"shape":"UpdateXMLClassifierRequest"}, + "JsonClassifier":{"shape":"UpdateJsonClassifierRequest"} } }, "UpdateClassifierResponse":{ @@ -3499,6 +3732,8 @@ "members":{ "EndpointName":{"shape":"GenericString"}, "PublicKey":{"shape":"GenericString"}, + "AddPublicKeys":{"shape":"PublicKeysList"}, + "DeletePublicKeys":{"shape":"PublicKeysList"}, "CustomLibraries":{"shape":"DevEndpointCustomLibraries"}, "UpdateEtlLibraries":{"shape":"BooleanValue"} } @@ -3535,6 +3770,14 @@ "JobName":{"shape":"NameString"} } }, + "UpdateJsonClassifierRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"}, + "JsonPath":{"shape":"JsonPath"} + } + }, "UpdatePartitionRequest":{ "type":"structure", "required":[ @@ -3565,7 +3808,8 @@ "members":{ "CatalogId":{"shape":"CatalogIdString"}, "DatabaseName":{"shape":"NameString"}, - "TableInput":{"shape":"TableInput"} + "TableInput":{"shape":"TableInput"}, + "SkipArchive":{"shape":"BooleanNullable"} } }, "UpdateTableResponse":{ @@ -3675,7 +3919,7 @@ }, "ViewTextString":{ "type":"string", - "max":2048 + "max":409600 }, "XMLClassifier":{ "type":"structure", diff --git a/models/apis/glue/2017-03-31/docs-2.json b/models/apis/glue/2017-03-31/docs-2.json index e26336ff09e..d86b12fe62e 100644 --- a/models/apis/glue/2017-03-31/docs-2.json +++ b/models/apis/glue/2017-03-31/docs-2.json @@ -6,16 +6,17 @@ "BatchDeleteConnection": "

Deletes a list of connection definitions from the Data Catalog.

", "BatchDeletePartition": "

Deletes one or more partitions in a batch operation.

", "BatchDeleteTable": "

Deletes multiple tables at once.

", + "BatchDeleteTableVersion": "

Deletes a specified batch of versions of a table.

", "BatchGetPartition": "

Retrieves partitions in a batch request.

", - "BatchStopJobRun": "

Stops a batch of job runs for a given job.

", - "CreateClassifier": "

Creates a classifier in the user's account. This may be either a GrokClassifier or an XMLClassifier.

", + "BatchStopJobRun": "

Stops one or more job runs for a specified job definition.

", + "CreateClassifier": "

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": "

Creates a connection definition in the Data Catalog.

", - "CreateCrawler": "

Creates a new crawler with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in either the s3Targets or the jdbcTargets field.

", + "CreateCrawler": "

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": "

Creates a new database in a Data Catalog.

", "CreateDevEndpoint": "

Creates a new DevEndpoint.

", - "CreateJob": "

Creates a new job.

", + "CreateJob": "

Creates a new job definition.

", "CreatePartition": "

Creates a new partition.

", - "CreateScript": "

Transforms a directed acyclic graph (DAG) into a Python script.

", + "CreateScript": "

Transforms a directed acyclic graph (DAG) into code.

", "CreateTable": "

Creates a new table definition in the Data Catalog.

", "CreateTrigger": "

Creates a new trigger.

", "CreateUserDefinedFunction": "

Creates a new function definition in the Data Catalog.

", @@ -24,10 +25,11 @@ "DeleteCrawler": "

Removes a specified crawler from the Data Catalog, unless the crawler state is RUNNING.

", "DeleteDatabase": "

Removes a specified Database from a Data Catalog.

", "DeleteDevEndpoint": "

Deletes a specified DevEndpoint.

", - "DeleteJob": "

Deletes a specified job.

", + "DeleteJob": "

Deletes a specified job definition. If the job definition is not found, no exception is thrown.

", "DeletePartition": "

Deletes a specified partition.

", "DeleteTable": "

Removes a table definition from the Data Catalog.

", - "DeleteTrigger": "

Deletes a specified trigger.

", + "DeleteTableVersion": "

Deletes a specified version of a table.

", + "DeleteTrigger": "

Deletes a specified trigger. If the trigger is not found, no exception is thrown.

", "DeleteUserDefinedFunction": "

Deletes an existing function definition from the Data Catalog.

", "GetCatalogImportStatus": "

Retrieves the status of a migration operation.

", "GetClassifier": "

Retrieve a classifier by name.

", @@ -44,13 +46,14 @@ "GetDevEndpoints": "

Retrieves all the DevEndpoints in this AWS account.

", "GetJob": "

Retrieves an existing job definition.

", "GetJobRun": "

Retrieves the metadata for a given job run.

", - "GetJobRuns": "

Retrieves metadata for all runs of a given job.

", - "GetJobs": "

Retrieves all current jobs.

", + "GetJobRuns": "

Retrieves metadata for all runs of a given job definition.

", + "GetJobs": "

Retrieves all current job definitions.

", "GetMapping": "

Creates mappings.

", "GetPartition": "

Retrieves information about a specified partition.

", "GetPartitions": "

Retrieves information about the partitions in a table.

", - "GetPlan": "

Gets a Python script to perform a specified mapping.

", + "GetPlan": "

Gets code to perform a specified mapping.

", "GetTable": "

Retrieves the Table definition in a Data Catalog for a specified table.

", + "GetTableVersion": "

Retrieves a specified version of a table.

", "GetTableVersions": "

Retrieves a list of strings that identify available versions of a specified table.

", "GetTables": "

Retrieves the definitions of some or all of the tables in a given Database.

", "GetTrigger": "

Retrieves the definition of a trigger.

", @@ -59,14 +62,14 @@ "GetUserDefinedFunctions": "

Retrieves a multiple function definitions from the Data Catalog.

", "ImportCatalogToGlue": "

Imports an existing Athena Data Catalog to AWS Glue

", "ResetJobBookmark": "

Resets a bookmark entry.

", - "StartCrawler": "

Starts a crawl using the specified crawler, regardless of what is scheduled. If the crawler is already running, does nothing.

", + "StartCrawler": "

Starts a crawl using the specified crawler, regardless of what is scheduled. If the crawler is already running, returns a CrawlerRunningException.

", "StartCrawlerSchedule": "

Changes the schedule state of the specified crawler to SCHEDULED, unless the crawler is already running or the schedule state is already SCHEDULED.

", - "StartJobRun": "

Runs a job.

", - "StartTrigger": "

Starts an existing trigger.

", + "StartJobRun": "

Starts a job run using a job definition.

", + "StartTrigger": "

Starts an existing trigger. See Triggering Jobs for information about how different types of trigger are started.

", "StopCrawler": "

If the specified crawler is running, stops the crawl.

", "StopCrawlerSchedule": "

Sets the schedule state of the specified crawler to NOT_SCHEDULED, but does not stop the crawler if it is already running.

", "StopTrigger": "

Stops a specified trigger.

", - "UpdateClassifier": "

Modifies an existing classifier (either a GrokClassifier or an XMLClassifier).

", + "UpdateClassifier": "

Modifies an existing classifier (a GrokClassifier, XMLClassifier, or JsonClassifier, depending on which field is present).

", "UpdateConnection": "

Updates a connection definition in the Data Catalog.

", "UpdateCrawler": "

Updates a crawler. If a crawler is running, you must stop it using StopCrawler before updating it.

", "UpdateCrawlerSchedule": "

Updates the schedule of a crawler using a cron expression.

", @@ -106,7 +109,7 @@ "AttemptCount": { "base": null, "refs": { - "JobRun$Attempt": "

The number or the attempt to run this job.

" + "JobRun$Attempt": "

The number of the attempt to run this job.

" } }, "BatchCreatePartitionRequest": { @@ -161,6 +164,22 @@ "refs": { } }, + "BatchDeleteTableVersionList": { + "base": null, + "refs": { + "BatchDeleteTableVersionRequest$VersionIds": "

A list of the IDs of versions to be deleted.

" + } + }, + "BatchDeleteTableVersionRequest": { + "base": null, + "refs": { + } + }, + "BatchDeleteTableVersionResponse": { + "base": null, + "refs": { + } + }, "BatchGetPartitionRequest": { "base": null, "refs": { @@ -179,7 +198,7 @@ } }, "BatchStopJobRunError": { - "base": "

Details about the job run and the error that occurred while trying to submit it for stopping.

", + "base": "

Records an error that occurred when attempting to stop a specified job run.

", "refs": { "BatchStopJobRunErrorList$member": null } @@ -187,13 +206,13 @@ "BatchStopJobRunErrorList": { "base": null, "refs": { - "BatchStopJobRunResponse$Errors": "

A list containing the job run Ids and details of the error that occurred for each job run while submitting to stop.

" + "BatchStopJobRunResponse$Errors": "

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.

" } }, "BatchStopJobRunJobRunIdList": { "base": null, "refs": { - "BatchStopJobRunRequest$JobRunIds": "

A list of job run Ids of the given job to be stopped.

" + "BatchStopJobRunRequest$JobRunIds": "

A list of the JobRunIds that should be stopped for that job definition.

" } }, "BatchStopJobRunRequest": { @@ -207,7 +226,7 @@ } }, "BatchStopJobRunSuccessfulSubmission": { - "base": "

Details about the job run which is submitted successfully for stopping.

", + "base": "

Records a successful request to stop a specified JobRun.

", "refs": { "BatchStopJobRunSuccessfulSubmissionList$member": null } @@ -215,7 +234,7 @@ "BatchStopJobRunSuccessfulSubmissionList": { "base": null, "refs": { - "BatchStopJobRunResponse$SuccessfulSubmissions": "

A list of job runs which are successfully submitted for stopping.

" + "BatchStopJobRunResponse$SuccessfulSubmissions": "

A list of the JobRuns that were successfully submitted for stopping.

" } }, "Boolean": { @@ -228,10 +247,17 @@ "StorageDescriptor$StoredAsSubDirectories": "

True if the table data is stored in subdirectories, or False if not.

" } }, + "BooleanNullable": { + "base": null, + "refs": { + "UpdateTableRequest$SkipArchive": "

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.

" + } + }, "BooleanValue": { "base": null, "refs": { - "GetJobRunRequest$PredecessorsIncluded": "

A list of the predecessor runs to return as well.

", + "CreateTriggerRequest$StartOnCreation": "

Set to true to start SCHEDULED and CONDITIONAL triggers when created. True not supported for ON_DEMAND triggers.

", + "GetJobRunRequest$PredecessorsIncluded": "

True if a list of predecessor runs should be returned.

", "UpdateDevEndpointRequest$UpdateEtlLibraries": "

True if the list of custom libraries to be loaded in the development endpoint needs to be updated, or False otherwise.

" } }, @@ -263,6 +289,7 @@ "BatchDeleteConnectionRequest$CatalogId": "

The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default.

", "BatchDeletePartitionRequest$CatalogId": "

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.

", "BatchDeleteTableRequest$CatalogId": "

The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.

", + "BatchDeleteTableVersionRequest$CatalogId": "

The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.

", "BatchGetPartitionRequest$CatalogId": "

The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.

", "CreateConnectionRequest$CatalogId": "

The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.

", "CreateDatabaseRequest$CatalogId": "

The ID of the Data Catalog in which to create the database. If none is supplied, the AWS account ID is used by default.

", @@ -273,6 +300,7 @@ "DeleteDatabaseRequest$CatalogId": "

The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default.

", "DeletePartitionRequest$CatalogId": "

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.

", "DeleteTableRequest$CatalogId": "

The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.

", + "DeleteTableVersionRequest$CatalogId": "

The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.

", "DeleteUserDefinedFunctionRequest$CatalogId": "

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.

", "GetCatalogImportStatusRequest$CatalogId": "

The ID of the catalog to migrate. Currently, this should be the AWS account ID.

", "GetConnectionRequest$CatalogId": "

The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.

", @@ -282,6 +310,7 @@ "GetPartitionRequest$CatalogId": "

The ID of the Data Catalog where the partition in question resides. If none is supplied, the AWS account ID is used by default.

", "GetPartitionsRequest$CatalogId": "

The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.

", "GetTableRequest$CatalogId": "

The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.

", + "GetTableVersionRequest$CatalogId": "

The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.

", "GetTableVersionsRequest$CatalogId": "

The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.

", "GetTablesRequest$CatalogId": "

The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.

", "GetUserDefinedFunctionRequest$CatalogId": "

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.

", @@ -312,7 +341,7 @@ } }, "Classifier": { - "base": "

Classifiers are written in Python and triggered during a crawl task. You can write your own classifiers to best categorize your data sources and specify the appropriate schemas to use for them. A classifier 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.

A classifier can be either a grok classifier or an XML classifier, specified in one or the other field of the Classifier object.

", + "base": "

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.

", "refs": { "ClassifierList$member": null, "GetClassifierResponse$Classifier": "

The requested classifier.

" @@ -328,8 +357,8 @@ "base": null, "refs": { "Crawler$Classifiers": "

A list of custom classifiers associated with the crawler.

", - "CreateCrawlerRequest$Classifiers": "

A list of custom classifiers that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.

", - "UpdateCrawlerRequest$Classifiers": "

A list of custom classifiers that the user has registered. By default, all classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.

" + "CreateCrawlerRequest$Classifiers": "

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.

", + "UpdateCrawlerRequest$Classifiers": "

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.

" } }, "CodeGenArgName": { @@ -376,7 +405,8 @@ "refs": { "CodeGenNode$Args": "

Properties of the node, in the form of name-value pairs.

", "Location$Jdbc": "

A JDBC location.

", - "Location$S3": "

An Amazon S3 location.

" + "Location$S3": "

An Amazon S3 location.

", + "Location$DynamoDB": "

A DynamoDB Table location.

" } }, "CodeGenNodeType": { @@ -512,9 +542,9 @@ "CrawlerConfiguration": { "base": null, "refs": { - "Crawler$Configuration": "

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:

", - "CreateCrawlerRequest$Configuration": "

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.

", - "UpdateCrawlerRequest$Configuration": "

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:

" + "Crawler$Configuration": "

Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.

", + "CreateCrawlerRequest$Configuration": "

Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.

", + "UpdateCrawlerRequest$Configuration": "

Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.

" } }, "CrawlerList": { @@ -636,6 +666,12 @@ "refs": { } }, + "CreateJsonClassifierRequest": { + "base": "

Specifies a JSON classifier for CreateClassifier to create.

", + "refs": { + "CreateClassifierRequest$JsonClassifier": "

A JsonClassifier object specifying the classifier to create.

" + } + }, "CreatePartitionRequest": { "base": null, "refs": { @@ -731,7 +767,7 @@ } }, "DatabaseInput": { - "base": "

The structure used to create or updata a database.

", + "base": "

The structure used to create or update a database.

", "refs": { "CreateDatabaseRequest$DatabaseInput": "

A DatabaseInput object defining the metadata database to create in the catalog.

", "UpdateDatabaseRequest$DatabaseInput": "

A DatabaseInput object specifying the new definition of the metadata database in the catalog.

" @@ -843,6 +879,16 @@ "refs": { } }, + "DeleteTableVersionRequest": { + "base": null, + "refs": { + } + }, + "DeleteTableVersionResponse": { + "base": null, + "refs": { + } + }, "DeleteTriggerRequest": { "base": null, "refs": { @@ -870,13 +916,13 @@ "ConnectionInput$Description": "

Description of the connection.

", "Crawler$Description": "

A description of the crawler.

", "CreateCrawlerRequest$Description": "

A description of the new crawler.

", - "CreateJobRequest$Description": "

Description of the job.

", + "CreateJobRequest$Description": "

Description of the job being defined.

", "CreateTriggerRequest$Description": "

A description of the new trigger.

", "Database$Description": "

Description of the database.

", "DatabaseInput$Description": "

Description of the database

", "ErrorDetail$ErrorMessage": "

A message describing the error.

", - "Job$Description": "

Description of this job.

", - "JobUpdate$Description": "

Description of the job.

", + "Job$Description": "

Description of the job being defined.

", + "JobUpdate$Description": "

Description of the job being defined.

", "LastCrawlInfo$ErrorMessage": "

If an error occurred, the error information about the last crawl.

", "Table$Description": "

Description of the table.

", "TableInput$Description": "

Description of the table.

", @@ -909,6 +955,18 @@ "GetDevEndpointsResponse$DevEndpoints": "

A list of DevEndpoint definitions.

" } }, + "DynamoDBTarget": { + "base": "

Specifies a DynamoDB table to crawl.

", + "refs": { + "DynamoDBTargetList$member": null + } + }, + "DynamoDBTargetList": { + "base": null, + "refs": { + "CrawlerTargets$DynamoDBTargets": "

Specifies DynamoDB targets.

" + } + }, "EntityNotFoundException": { "base": "

A specified entity does not exist

", "refs": { @@ -923,10 +981,11 @@ "ErrorDetail": { "base": "

Contains details about an error.

", "refs": { - "BatchStopJobRunError$ErrorDetail": "

The details of the error that occurred.

", + "BatchStopJobRunError$ErrorDetail": "

Specifies details about the error that was encountered.

", "ErrorByName$value": null, "PartitionError$ErrorDetail": "

Details about the partition error.

", - "TableError$ErrorDetail": "

Detail about the error.

" + "TableError$ErrorDetail": "

Detail about the error.

", + "TableVersionError$ErrorDetail": "

Detail about the error.

" } }, "ErrorString": { @@ -943,6 +1002,12 @@ "JobUpdate$ExecutionProperty": "

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" } }, + "ExecutionTime": { + "base": null, + "refs": { + "JobRun$ExecutionTime": "

The amount of time (in seconds) that the job run consumed resources.

" + } + }, "FieldType": { "base": null, "refs": { @@ -966,12 +1031,12 @@ "GenericMap": { "base": null, "refs": { - "Action$Arguments": "

Arguments to be passed to the job.

", - "CreateJobRequest$DefaultArguments": "

The default parameters for this job.

", - "Job$DefaultArguments": "

The default parameters for this job.

", - "JobRun$Arguments": "

The job arguments associated with this run.

", - "JobUpdate$DefaultArguments": "

The default parameters for this job.

", - "StartJobRunRequest$Arguments": "

Specific arguments for this job run.

" + "Action$Arguments": "

Arguments to be passed to 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.

", + "CreateJobRequest$DefaultArguments": "

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.

", + "Job$DefaultArguments": "

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.

", + "JobRun$Arguments": "

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.

", + "JobUpdate$DefaultArguments": "

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.

", + "StartJobRunRequest$Arguments": "

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.

" } }, "GenericString": { @@ -979,7 +1044,7 @@ "refs": { "CreateDevEndpointRequest$EndpointName": "

The name to be assigned to the new DevEndpoint.

", "CreateDevEndpointRequest$SubnetId": "

The subnet ID for the new DevEndpoint to use.

", - "CreateDevEndpointRequest$PublicKey": "

The public key to use for authentication.

", + "CreateDevEndpointRequest$PublicKey": "

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.

", "CreateDevEndpointRequest$ExtraPythonLibsS3Path": "

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.

", "CreateDevEndpointRequest$ExtraJarsS3Path": "

Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint.

", "CreateDevEndpointResponse$EndpointName": "

The name assigned to the new DevEndpoint.

", @@ -991,12 +1056,13 @@ "CreateDevEndpointResponse$ExtraPythonLibsS3Path": "

Path(s) to one or more Python libraries in an S3 bucket that will be loaded in your DevEndpoint.

", "CreateDevEndpointResponse$ExtraJarsS3Path": "

Path to one or more Java Jars in an S3 bucket that will be loaded in your DevEndpoint.

", "CreateDevEndpointResponse$FailureReason": "

The reason for a current failure in this DevEndpoint.

", - "CreateTriggerRequest$Schedule": "

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 * * ? *).

", + "CreateTriggerRequest$Schedule": "

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.

", "DeleteDevEndpointRequest$EndpointName": "

The name of the DevEndpoint.

", "DevEndpoint$EndpointName": "

The name of the DevEndpoint.

", "DevEndpoint$SubnetId": "

The subnet ID for this DevEndpoint.

", "DevEndpoint$YarnEndpointAddress": "

The YARN endpoint address used by this DevEndpoint.

", - "DevEndpoint$PublicAddress": "

The public address used by this DevEndpoint.

", + "DevEndpoint$PrivateAddress": "

A private DNS to access the DevEndpoint within a VPC, if the DevEndpoint is created within one.

", + "DevEndpoint$PublicAddress": "

The public VPC address used by this DevEndpoint.

", "DevEndpoint$Status": "

The current status of this DevEndpoint.

", "DevEndpoint$AvailabilityZone": "

The AWS availability zone where this DevEndpoint is located.

", "DevEndpoint$VpcId": "

The ID of the virtual private cloud (VPC) used by this DevEndpoint.

", @@ -1004,7 +1070,7 @@ "DevEndpoint$ExtraJarsS3Path": "

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.

", "DevEndpoint$FailureReason": "

The reason for a current failure in this DevEndpoint.

", "DevEndpoint$LastUpdateStatus": "

The status of the last update.

", - "DevEndpoint$PublicKey": "

The public key to be used by this DevEndpoint for authentication.

", + "DevEndpoint$PublicKey": "

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.

", "DevEndpointCustomLibraries$ExtraPythonLibsS3Path": "

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.

", "DevEndpointCustomLibraries$ExtraJarsS3Path": "

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.

", "GenericMap$key": null, @@ -1015,13 +1081,14 @@ "GetJobRunsRequest$NextToken": "

A continuation token, if this is a continuation call.

", "GetJobRunsResponse$NextToken": "

A continuation token, if not all reequested job runs have been returned.

", "GetJobsRequest$NextToken": "

A continuation token, if this is a continuation call.

", - "GetJobsResponse$NextToken": "

A continuation token, if not all jobs have yet been returned.

", + "GetJobsResponse$NextToken": "

A continuation token, if not all job definitions have yet been returned.

", "GetTriggersRequest$NextToken": "

A continuation token, if this is a continuation call.

", "GetTriggersResponse$NextToken": "

A continuation token, if not all the requested triggers have yet been returned.

", - "JobCommand$Name": "

The name of this job command.

", + "JobCommand$Name": "

The name of the job command: this must be glueetl.

", + "PublicKeysList$member": null, "StringList$member": null, "Trigger$Schedule": "

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 * * ? *).

", - "TriggerUpdate$Schedule": "

An 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 * * ? *).

", + "TriggerUpdate$Schedule": "

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 * * ? *).

", "UpdateDevEndpointRequest$EndpointName": "

The name of the DevEndpoint to be updated.

", "UpdateDevEndpointRequest$PublicKey": "

The public key for the DevEndpoint to use.

" } @@ -1252,6 +1319,16 @@ "refs": { } }, + "GetTableVersionRequest": { + "base": null, + "refs": { + } + }, + "GetTableVersionResponse": { + "base": null, + "refs": { + } + }, "GetTableVersionsList": { "base": null, "refs": { @@ -1335,16 +1412,16 @@ "IdString": { "base": null, "refs": { - "BatchStopJobRunError$JobRunId": "

The job run Id.

", + "BatchStopJobRunError$JobRunId": "

The JobRunId of the job run in question.

", "BatchStopJobRunJobRunIdList$member": null, - "BatchStopJobRunSuccessfulSubmission$JobRunId": "

The job run Id.

", + "BatchStopJobRunSuccessfulSubmission$JobRunId": "

The JobRunId of the job run that was stopped.

", "GetJobRunRequest$RunId": "

The ID of the job run.

", "JobRun$Id": "

The ID of this job run.

", - "JobRun$PreviousRunId": "

The ID of the previous run of this job.

", - "Predecessor$RunId": "

The job-run ID of the precessor job run.

", - "StartJobRunRequest$JobRunId": "

The ID of the job run to start.

", + "JobRun$PreviousRunId": "

The ID of the previous run of this job. For example, the JobRunId specified in the StartJobRun action.

", + "Predecessor$RunId": "

The job-run ID of the predecessor job run.

", + "StartJobRunRequest$JobRunId": "

The ID of a previous JobRun to retry.

", "StartJobRunResponse$JobRunId": "

The ID assigned to this job run.

", - "Trigger$Id": "

The trigger ID.

" + "Trigger$Id": "

Reserved for future use.

" } }, "IdempotentParameterMismatchException": { @@ -1381,16 +1458,16 @@ "CreateDevEndpointRequest$NumberOfNodes": "

The number of AWS Glue Data Processing Units (DPUs) to allocate to this DevEndpoint.

", "CreateDevEndpointResponse$ZeppelinRemoteSparkInterpreterPort": "

The Apache Zeppelin port for the remote Apache Spark interpreter.

", "CreateDevEndpointResponse$NumberOfNodes": "

The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.

", - "CreateJobRequest$AllocatedCapacity": "

The number of capacity units allocated to this job.

", + "CreateJobRequest$AllocatedCapacity": "

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.

", "DevEndpoint$ZeppelinRemoteSparkInterpreterPort": "

The Apache Zeppelin port for the remote Apache Spark interpreter.

", "DevEndpoint$NumberOfNodes": "

The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.

", - "Job$AllocatedCapacity": "

The number of capacity units allocated to this job.

", + "Job$AllocatedCapacity": "

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.

", "JobBookmarkEntry$Version": "

Version of the job.

", "JobBookmarkEntry$Run": "

The run ID number.

", "JobBookmarkEntry$Attempt": "

The attempt ID number.

", - "JobRun$AllocatedCapacity": "

The amount of infrastructure capacity allocated to this job run.

", - "JobUpdate$AllocatedCapacity": "

The number of capacity units allocated to this job.

", - "StartJobRunRequest$AllocatedCapacity": "

The infrastructure capacity to allocate to this job.

" + "JobRun$AllocatedCapacity": "

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.

", + "JobUpdate$AllocatedCapacity": "

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.

", + "StartJobRunRequest$AllocatedCapacity": "

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.

" } }, "InternalServiceException": { @@ -1416,7 +1493,7 @@ } }, "Job": { - "base": "

Specifies a job in the Data Catalog.

", + "base": "

Specifies a job definition.

", "refs": { "GetJobResponse$Job": "

The requested job definition.

", "JobList$member": null @@ -1429,17 +1506,17 @@ } }, "JobCommand": { - "base": "

Specifies code that executes a job.

", + "base": "

Specifies code executed when a job is run.

", "refs": { "CreateJobRequest$Command": "

The JobCommand that executes this job.

", "Job$Command": "

The JobCommand that executes this job.

", - "JobUpdate$Command": "

The JobCommand that executes this job.

" + "JobUpdate$Command": "

The JobCommand that executes this job (required).

" } }, "JobList": { "base": null, "refs": { - "GetJobsResponse$Jobs": "

A list of jobs.

" + "GetJobsResponse$Jobs": "

A list of job definitions.

" } }, "JobName": { @@ -1465,14 +1542,28 @@ "JobRunState": { "base": null, "refs": { - "Condition$State": "

The condition state.

", + "Condition$State": "

The condition state. Currently, the values supported are SUCCEEDED, STOPPED, TIMEOUT and FAILED.

", "JobRun$JobRunState": "

The current state of the job run.

" } }, "JobUpdate": { - "base": "

Specifies information used to update an existing job.

", + "base": "

Specifies information used to update an existing job definition. Note that the previous job definition will be completely overwritten by this information.

", + "refs": { + "UpdateJobRequest$JobUpdate": "

Specifies the values with which to update the job definition.

" + } + }, + "JsonClassifier": { + "base": "

A classifier for JSON content.

", "refs": { - "UpdateJobRequest$JobUpdate": "

Specifies the values with which to update the job.

" + "Classifier$JsonClassifier": "

A JsonClassifier object.

" + } + }, + "JsonPath": { + "base": null, + "refs": { + "CreateJsonClassifierRequest$JsonPath": "

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.

", + "JsonClassifier$JsonPath": "

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.

", + "UpdateJsonClassifierRequest$JsonPath": "

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.

" } }, "JsonValue": { @@ -1487,6 +1578,13 @@ "ParametersMap$key": null } }, + "Language": { + "base": null, + "refs": { + "CreateScriptRequest$Language": "

The programming language of the resulting code from the DAG.

", + "GetPlanRequest$Language": "

The programming language of the code to perform the mapping.

" + } + }, "LastCrawlInfo": { "base": "

Status and error information about the most recent crawl.

", "refs": { @@ -1533,7 +1631,7 @@ "Logical": { "base": null, "refs": { - "Predicate$Logical": "

Currently \"OR\" is not supported.

" + "Predicate$Logical": "

Optional field if only one condition is listed. If multiple conditions are listed, then this field is required.

" } }, "LogicalOperator": { @@ -1566,14 +1664,14 @@ "MaxConcurrentRuns": { "base": null, "refs": { - "ExecutionProperty$MaxConcurrentRuns": "

The maximum number of concurrent runs allowed for a job.

" + "ExecutionProperty$MaxConcurrentRuns": "

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.

" } }, "MaxRetries": { "base": null, "refs": { "CreateJobRequest$MaxRetries": "

The maximum number of times to retry this job if it fails.

", - "Job$MaxRetries": "

The maximum number of times to retry this job if it fails.

", + "Job$MaxRetries": "

The maximum number of times to retry this job after a JobRun fails.

", "JobUpdate$MaxRetries": "

The maximum number of times to retry this job if it fails.

" } }, @@ -1622,18 +1720,20 @@ "BatchDeletePartitionRequest$DatabaseName": "

The name of the catalog database in which the table in question resides.

", "BatchDeletePartitionRequest$TableName": "

The name of the table where the partitions to be deleted is located.

", "BatchDeleteTableNameList$member": null, - "BatchDeleteTableRequest$DatabaseName": "

The name of the catalog database where the tables to delete reside.

", + "BatchDeleteTableRequest$DatabaseName": "

The name of the catalog database where the tables to delete reside. For Hive compatibility, this name is entirely lowercase.

", + "BatchDeleteTableVersionRequest$DatabaseName": "

The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

", + "BatchDeleteTableVersionRequest$TableName": "

The name of the table. For Hive compatibility, this name is entirely lowercase.

", "BatchGetPartitionRequest$DatabaseName": "

The name of the catalog database where the partitions reside.

", "BatchGetPartitionRequest$TableName": "

The name of the partitions' table.

", - "BatchStopJobRunError$JobName": "

The name of the job.

", - "BatchStopJobRunRequest$JobName": "

The name of the job whose job runs are to be stopped.

", - "BatchStopJobRunSuccessfulSubmission$JobName": "

The name of the job.

", + "BatchStopJobRunError$JobName": "

The name of the job definition used in the job run in question.

", + "BatchStopJobRunRequest$JobName": "

The name of the job definition for which to stop job runs.

", + "BatchStopJobRunSuccessfulSubmission$JobName": "

The name of the job definition used in the job run that was stopped.

", "CatalogEntry$DatabaseName": "

The database in which the table metadata resides.

", "CatalogEntry$TableName": "

The name of the table in question.

", "CatalogImportStatus$ImportedBy": "

The name of the person who initiated the migration.

", "ClassifierNameList$member": null, "Column$Name": "

The name of the Column.

", - "Condition$JobName": "

The name of the job in question.

", + "Condition$JobName": "

The name of the Job to whose JobRuns this condition applies and on which this trigger waits.

", "Connection$Name": "

The name of the connection definition.

", "Connection$LastUpdatedBy": "

The user, group or role that last updated this connection definition.

", "ConnectionInput$Name": "

The name of the connection.

", @@ -1642,28 +1742,31 @@ "CrawlerNameList$member": null, "CreateCrawlerRequest$Name": "

Name of the new crawler.

", "CreateGrokClassifierRequest$Name": "

The name of the new classifier.

", - "CreateJobRequest$Name": "

The name you assign to this job.

", - "CreateJobResponse$Name": "

The unique name of the new job that has been created.

", + "CreateJobRequest$Name": "

The name you assign to this job definition. It must be unique in your account.

", + "CreateJobResponse$Name": "

The unique name that was provided for this job definition.

", + "CreateJsonClassifierRequest$Name": "

The name of the classifier.

", "CreatePartitionRequest$DatabaseName": "

The name of the metadata database in which the partition is to be created.

", "CreatePartitionRequest$TableName": "

The name of the metadata table in which the partition is to be created.

", - "CreateTableRequest$DatabaseName": "

The catalog database in which to create the new table.

", - "CreateTriggerRequest$Name": "

The name to assign to the new trigger.

", - "CreateTriggerResponse$Name": "

The name assigned to the new trigger.

", + "CreateTableRequest$DatabaseName": "

The catalog database in which to create the new table. For Hive compatibility, this name is entirely lowercase.

", + "CreateTriggerRequest$Name": "

The name of the trigger.

", + "CreateTriggerResponse$Name": "

The name of the trigger.

", "CreateUserDefinedFunctionRequest$DatabaseName": "

The name of the catalog database in which to create the function.

", "CreateXMLClassifierRequest$Name": "

The name of the classifier.

", - "Database$Name": "

Name of the database.

", - "DatabaseInput$Name": "

Name of the database.

", + "Database$Name": "

Name of the database. For Hive compatibility, this is folded to lowercase when it is stored.

", + "DatabaseInput$Name": "

Name of the database. For Hive compatibility, this is folded to lowercase when it is stored.

", "DeleteClassifierRequest$Name": "

Name of the classifier to remove.

", "DeleteConnectionNameList$member": null, "DeleteConnectionRequest$ConnectionName": "

The name of the connection to delete.

", "DeleteCrawlerRequest$Name": "

Name of the crawler to remove.

", - "DeleteDatabaseRequest$Name": "

The name of the Database to delete.

", - "DeleteJobRequest$JobName": "

The name of the job to delete.

", - "DeleteJobResponse$JobName": "

The name of the job that was deleted.

", + "DeleteDatabaseRequest$Name": "

The name of the Database to delete. For Hive compatibility, this must be all lowercase.

", + "DeleteJobRequest$JobName": "

The name of the job definition to delete.

", + "DeleteJobResponse$JobName": "

The name of the job definition that was deleted.

", "DeletePartitionRequest$DatabaseName": "

The name of the catalog database in which the table in question resides.

", "DeletePartitionRequest$TableName": "

The name of the table where the partition to be deleted is located.

", - "DeleteTableRequest$DatabaseName": "

The name of the catalog database in which the table resides.

", - "DeleteTableRequest$Name": "

The name of the table to be deleted.

", + "DeleteTableRequest$DatabaseName": "

The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase.

", + "DeleteTableRequest$Name": "

The name of the table to be deleted. For Hive compatibility, this name is entirely lowercase.

", + "DeleteTableVersionRequest$DatabaseName": "

The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

", + "DeleteTableVersionRequest$TableName": "

The name of the table. For Hive compatibility, this name is entirely lowercase.

", "DeleteTriggerRequest$Name": "

The name of the trigger to delete.

", "DeleteTriggerResponse$Name": "

The name of the trigger that was deleted.

", "DeleteUserDefinedFunctionRequest$DatabaseName": "

The name of the catalog database where the function is located.

", @@ -1673,68 +1776,73 @@ "GetClassifierRequest$Name": "

Name of the classifier to retrieve.

", "GetConnectionRequest$Name": "

The name of the connection definition to retrieve.

", "GetCrawlerRequest$Name": "

Name of the crawler to retrieve metadata for.

", - "GetDatabaseRequest$Name": "

The name of the database to retrieve.

", - "GetJobRequest$JobName": "

The name of the job to retrieve.

", - "GetJobRunRequest$JobName": "

Name of the job being run.

", - "GetJobRunsRequest$JobName": "

The name of the job for which to retrieve all job runs.

", + "GetDatabaseRequest$Name": "

The name of the database to retrieve. For Hive compatibility, this should be all lowercase.

", + "GetJobRequest$JobName": "

The name of the job definition to retrieve.

", + "GetJobRunRequest$JobName": "

Name of the job definition being run.

", + "GetJobRunsRequest$JobName": "

The name of the job definition for which to retrieve all job runs.

", "GetPartitionRequest$DatabaseName": "

The name of the catalog database where the partition resides.

", "GetPartitionRequest$TableName": "

The name of the partition's table.

", "GetPartitionsRequest$DatabaseName": "

The name of the catalog database where the partitions reside.

", "GetPartitionsRequest$TableName": "

The name of the partitions' table.

", - "GetTableRequest$DatabaseName": "

The name of the database in the catalog in which the table resides.

", - "GetTableRequest$Name": "

The name of the table for which to retrieve the definition.

", - "GetTableVersionsRequest$DatabaseName": "

The database in the catalog in which the table resides.

", - "GetTableVersionsRequest$TableName": "

The name of the table.

", - "GetTablesRequest$DatabaseName": "

The database in the catalog whose tables to list.

", + "GetTableRequest$DatabaseName": "

The name of the database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

", + "GetTableRequest$Name": "

The name of the table for which to retrieve the definition. For Hive compatibility, this name is entirely lowercase.

", + "GetTableVersionRequest$DatabaseName": "

The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

", + "GetTableVersionRequest$TableName": "

The name of the table. For Hive compatibility, this name is entirely lowercase.

", + "GetTableVersionsRequest$DatabaseName": "

The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

", + "GetTableVersionsRequest$TableName": "

The name of the table. For Hive compatibility, this name is entirely lowercase.

", + "GetTablesRequest$DatabaseName": "

The database in the catalog whose tables to list. For Hive compatibility, this name is entirely lowercase.

", "GetTriggerRequest$Name": "

The name of the trigger to retrieve.

", - "GetTriggersRequest$DependentJobName": "

The name of the job for which to retrieve triggers.

", + "GetTriggersRequest$DependentJobName": "

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.

", "GetUserDefinedFunctionRequest$DatabaseName": "

The name of the catalog database where the function is located.

", "GetUserDefinedFunctionRequest$FunctionName": "

The name of the function.

", "GetUserDefinedFunctionsRequest$DatabaseName": "

The name of the catalog database where the functions are located.

", "GetUserDefinedFunctionsRequest$Pattern": "

An optional function-name pattern string that filters the function definitions returned.

", "GrokClassifier$Name": "

The name of the classifier.

", - "Job$Name": "

The name you assign to this job.

", - "JobRun$TriggerName": "

The name of the trigger for this job run.

", - "JobRun$JobName": "

The name of the job being run.

", + "Job$Name": "

The name you assign to this job definition.

", + "JobRun$TriggerName": "

The name of the trigger that started this job run.

", + "JobRun$JobName": "

The name of the job definition being used in this run.

", + "JsonClassifier$Name": "

The name of the classifier.

", "MatchCriteria$member": null, "NameStringList$member": null, "Order$Column": "

The name of the column.

", "Partition$DatabaseName": "

The name of the catalog database where the table in question is located.

", "Partition$TableName": "

The name of the table in question.

", "PhysicalConnectionRequirements$SubnetId": "

The subnet ID used by the connection.

", - "PhysicalConnectionRequirements$AvailabilityZone": "

The connection's availability zone.

", - "Predecessor$JobName": "

The name of the predecessor job.

", + "PhysicalConnectionRequirements$AvailabilityZone": "

The connection's availability zone. This field is deprecated and has no effect.

", + "Predecessor$JobName": "

The name of the job definition used by the predecessor job run.

", "SecurityGroupIdList$member": null, "SerDeInfo$Name": "

Name of the SerDe.

", "SerDeInfo$SerializationLibrary": "

Usually the class that implements the SerDe. An example is: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe.

", "StartCrawlerRequest$Name": "

Name of the crawler to start.

", "StartCrawlerScheduleRequest$CrawlerName": "

Name of the crawler to schedule.

", - "StartJobRunRequest$JobName": "

The name of the job to start.

", + "StartJobRunRequest$JobName": "

The name of the job definition to use.

", "StartTriggerRequest$Name": "

The name of the trigger to start.

", "StartTriggerResponse$Name": "

The name of the trigger that was started.

", "StopCrawlerRequest$Name": "

Name of the crawler to stop.

", "StopCrawlerScheduleRequest$CrawlerName": "

Name of the crawler whose schedule state to set.

", "StopTriggerRequest$Name": "

The name of the trigger to stop.

", "StopTriggerResponse$Name": "

The name of the trigger that was stopped.

", - "Table$Name": "

Name of the table.

", - "Table$DatabaseName": "

Name of the metadata database where the table metadata resides.

", + "Table$Name": "

Name of the table. For Hive compatibility, this must be entirely lowercase.

", + "Table$DatabaseName": "

Name of the metadata database where the table metadata resides. For Hive compatibility, this must be all lowercase.

", "Table$Owner": "

Owner of the table.

", "Table$CreatedBy": "

Person or entity who created the table.

", - "TableError$TableName": "

Name of the table.

", - "TableInput$Name": "

Name of the table.

", + "TableError$TableName": "

Name of the table. For Hive compatibility, this must be entirely lowercase.

", + "TableInput$Name": "

Name of the table. For Hive compatibility, this is folded to lowercase when it is stored.

", "TableInput$Owner": "

Owner of the table.

", + "TableVersionError$TableName": "

The name of the table in question.

", "Trigger$Name": "

Name of the trigger.

", - "TriggerUpdate$Name": "

The name of the trigger.

", + "TriggerUpdate$Name": "

Reserved for future use.

", "UpdateConnectionRequest$Name": "

The name of the connection definition to update.

", "UpdateCrawlerRequest$Name": "

Name of the new crawler.

", "UpdateCrawlerScheduleRequest$CrawlerName": "

Name of the crawler whose schedule to update.

", - "UpdateDatabaseRequest$Name": "

The name of the metadata database to update in the catalog.

", + "UpdateDatabaseRequest$Name": "

The name of the database to update in the catalog. For Hive compatibility, this is folded to lowercase.

", "UpdateGrokClassifierRequest$Name": "

The name of the GrokClassifier.

", "UpdateJobRequest$JobName": "

Name of the job definition to update.

", - "UpdateJobResponse$JobName": "

Returns the name of the updated job.

", + "UpdateJobResponse$JobName": "

Returns the name of the updated job definition.

", + "UpdateJsonClassifierRequest$Name": "

The name of the classifier.

", "UpdatePartitionRequest$DatabaseName": "

The name of the catalog database in which the table in question resides.

", "UpdatePartitionRequest$TableName": "

The name of the table where the partition to be updated is located.

", - "UpdateTableRequest$DatabaseName": "

The name of the catalog database in which the table resides.

", + "UpdateTableRequest$DatabaseName": "

The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase.

", "UpdateTriggerRequest$Name": "

The name of the trigger to update.

", "UpdateUserDefinedFunctionRequest$DatabaseName": "

The name of the catalog database where the function to be updated is located.

", "UpdateUserDefinedFunctionRequest$FunctionName": "

The name of the function.

", @@ -1780,6 +1888,23 @@ "TableInput$Retention": "

Retention time for this table.

" } }, + "NotificationProperty": { + "base": "

Specifies configuration properties of a notification.

", + "refs": { + "Action$NotificationProperty": "

Specifies configuration properties of a job run notification.

", + "CreateJobRequest$NotificationProperty": "

Specifies configuration properties of a job notification.

", + "Job$NotificationProperty": "

Specifies configuration properties of a job notification.

", + "JobRun$NotificationProperty": "

Specifies configuration properties of a job run notification.

", + "JobUpdate$NotificationProperty": "

Specifies configuration properties of a job notification.

", + "StartJobRunRequest$NotificationProperty": "

Specifies configuration properties of a job run notification.

" + } + }, + "NotifyDelayAfter": { + "base": null, + "refs": { + "NotificationProperty$NotifyDelayAfter": "

After a job run starts, the number of minutes to wait before sending a job run delay notification.

" + } + }, "OperationTimeoutException": { "base": "

The operation timed out.

", "refs": { @@ -1885,6 +2010,7 @@ "Path": { "base": null, "refs": { + "DynamoDBTarget$Path": "

The name of the DynamoDB table to crawl.

", "JdbcTarget$Path": "

The path of the JDBC target.

", "PathList$member": null, "S3Target$Path": "

The path to the Amazon S3 target.

" @@ -1905,7 +2031,7 @@ } }, "Predecessor": { - "base": "

A job run that preceded this one.

", + "base": "

A job run that was used in the predicate of a conditional trigger that triggered this job run.

", "refs": { "PredecessorList$member": null } @@ -1919,8 +2045,8 @@ "Predicate": { "base": "

Defines the predicate of the trigger, which determines when it fires.

", "refs": { - "CreateTriggerRequest$Predicate": "

A predicate to specify when the new trigger should fire.

", - "Trigger$Predicate": "

The predicate of this trigger.

", + "CreateTriggerRequest$Predicate": "

A predicate to specify when the new trigger should fire.

This field is required when the trigger type is CONDITIONAL.

", + "Trigger$Predicate": "

The predicate of this trigger, which defines when it will fire.

", "TriggerUpdate$Predicate": "

The predicate of this trigger, which defines when it will fire.

" } }, @@ -1937,6 +2063,15 @@ "UserDefinedFunctionInput$OwnerType": "

The owner type.

" } }, + "PublicKeysList": { + "base": null, + "refs": { + "CreateDevEndpointRequest$PublicKeys": "

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.

", + "DevEndpoint$PublicKeys": "

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.

", + "UpdateDevEndpointRequest$AddPublicKeys": "

The list of public keys for the DevEndpoint to use.

", + "UpdateDevEndpointRequest$DeletePublicKeys": "

The list of public keys to be deleted from the DevEndpoint.

" + } + }, "PythonScript": { "base": null, "refs": { @@ -1998,17 +2133,17 @@ "RoleString": { "base": null, "refs": { - "CreateJobRequest$Role": "

The role associated with this job.

", - "Job$Role": "

The role associated with this job.

", - "JobUpdate$Role": "

The role associated with this job.

" + "CreateJobRequest$Role": "

The name or ARN of the IAM role associated with this job.

", + "Job$Role": "

The name or ARN of the IAM role associated with this job.

", + "JobUpdate$Role": "

The name or ARN of the IAM role associated with this job (required).

" } }, "RowTag": { "base": null, "refs": { - "CreateXMLClassifierRequest$RowTag": "

The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot be an empty element. It must contain child elements representing fields in the record.

", - "UpdateXMLClassifierRequest$RowTag": "

The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot be an empty element. It must contain child elements representing fields in the record.

", - "XMLClassifier$RowTag": "

The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot be an empty element. It must contain child elements representing fields in the record.

" + "CreateXMLClassifierRequest$RowTag": "

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).

", + "UpdateXMLClassifierRequest$RowTag": "

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).

", + "XMLClassifier$RowTag": "

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).

" } }, "S3Target": { @@ -2023,6 +2158,13 @@ "CrawlerTargets$S3Targets": "

Specifies Amazon S3 targets.

" } }, + "ScalaCode": { + "base": null, + "refs": { + "CreateScriptResponse$ScalaCode": "

The Scala code generated from the DAG.

", + "GetPlanResponse$ScalaCode": "

Scala code to perform the mapping.

" + } + }, "Schedule": { "base": "

A scheduling object using a cron statement to schedule an event.

", "refs": { @@ -2068,7 +2210,7 @@ "ScriptLocationString": { "base": null, "refs": { - "JobCommand$ScriptLocation": "

Specifies the location of a script that executes a job.

" + "JobCommand$ScriptLocation": "

Specifies the S3 path to a script that executes a job (required).

" } }, "SecurityGroupIdList": { @@ -2241,9 +2383,33 @@ "TableVersion": { "base": "

Specifies a version of a table.

", "refs": { + "GetTableVersionResponse$TableVersion": "

The requested table version.

", "GetTableVersionsList$member": null } }, + "TableVersionError": { + "base": "

An error record for table-version operations.

", + "refs": { + "TableVersionErrors$member": null + } + }, + "TableVersionErrors": { + "base": null, + "refs": { + "BatchDeleteTableVersionResponse$Errors": "

A list of errors encountered while trying to delete the specified table versions.

" + } + }, + "Timeout": { + "base": null, + "refs": { + "Action$Timeout": "

The job run timeout in minutes. It overrides the timeout value of the job.

", + "CreateJobRequest$Timeout": "

The job timeout in minutes. The default is 2880 minutes (48 hours).

", + "Job$Timeout": "

The job timeout in minutes.

", + "JobRun$Timeout": "

The job run timeout in minutes.

", + "JobUpdate$Timeout": "

The job timeout in minutes. The default is 2880 minutes (48 hours).

", + "StartJobRunRequest$Timeout": "

The job run timeout in minutes. It overrides the timeout value of the job.

" + } + }, "Timestamp": { "base": null, "refs": { @@ -2255,6 +2421,8 @@ "Database$CreateTime": "

The time at which the metadata database was created in the catalog.

", "GrokClassifier$CreationTime": "

The time this classifier was registered.

", "GrokClassifier$LastUpdated": "

The time this classifier was last updated.

", + "JsonClassifier$CreationTime": "

The time this classifier was registered.

", + "JsonClassifier$LastUpdated": "

The time this classifier was last updated.

", "LastCrawlInfo$StartTime": "

The time at which the crawl started.

", "Partition$CreationTime": "

The time at which the partition was created.

", "Partition$LastAccessTime": "

The last time at which the partition was accessed.

", @@ -2278,8 +2446,8 @@ "CreateDevEndpointResponse$CreatedTimestamp": "

The point in time at which this DevEndpoint was created.

", "DevEndpoint$CreatedTimestamp": "

The point in time at which this DevEndpoint was created.

", "DevEndpoint$LastModifiedTimestamp": "

The point in time at which this DevEndpoint was last modified.

", - "Job$CreatedOn": "

The time and date that this job specification was created.

", - "Job$LastModifiedOn": "

The last point in time when this job specification was modified.

", + "Job$CreatedOn": "

The time and date that this job definition was created.

", + "Job$LastModifiedOn": "

The last point in time when this job definition was modified.

", "JobRun$StartedOn": "

The date and time at which this job run was started.

", "JobRun$LastModifiedOn": "

The last time this job run was modified.

", "JobRun$CompletedOn": "

The date and time this job run completed.

" @@ -2342,7 +2510,7 @@ } }, "TriggerUpdate": { - "base": "

A structure used to provide information used to updata a trigger.

", + "base": "

A structure used to provide information used to update a trigger. This object will update the the previous trigger definition by overwriting it completely.

", "refs": { "UpdateTriggerRequest$TriggerUpdate": "

The new values with which to update the trigger.

" } @@ -2437,6 +2605,12 @@ "refs": { } }, + "UpdateJsonClassifierRequest": { + "base": "

Specifies a JSON classifier to be updated.

", + "refs": { + "UpdateClassifierRequest$JsonClassifier": "

A JsonClassifier object with updated fields.

" + } + }, "UpdatePartitionRequest": { "base": null, "refs": { @@ -2540,6 +2714,7 @@ "refs": { "Crawler$Version": "

The version of the crawler.

", "GrokClassifier$Version": "

The version of this classifier.

", + "JsonClassifier$Version": "

The version of this classifier.

", "XMLClassifier$Version": "

The version of this classifier.

" } }, @@ -2551,7 +2726,11 @@ "VersionString": { "base": null, "refs": { - "TableVersion$VersionId": "

The ID value that identifies this table version.

" + "BatchDeleteTableVersionList$member": null, + "DeleteTableVersionRequest$VersionId": "

The ID of the table version to be deleted.

", + "GetTableVersionRequest$VersionId": "

The ID value of the table version to be retrieved.

", + "TableVersion$VersionId": "

The ID value that identifies this table version.

", + "TableVersionError$VersionId": "

The ID value of the version in question.

" } }, "ViewTextString": { diff --git a/models/apis/greengrass/2017-06-07/api-2.json b/models/apis/greengrass/2017-06-07/api-2.json index 5e7643ac98a..cd4cf89b143 100644 --- a/models/apis/greengrass/2017-06-07/api-2.json +++ b/models/apis/greengrass/2017-06-07/api-2.json @@ -1365,13 +1365,14 @@ "ThingArn" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "CoreDefinitionVersion" : { "type" : "structure", "members" : { "Cores" : { - "shape" : "ListOfCore" + "shape" : "__listOfCore" } } }, @@ -1431,7 +1432,7 @@ "locationName" : "CoreDefinitionId" }, "Cores" : { - "shape" : "ListOfCore" + "shape" : "__listOfCore" } }, "required" : [ "CoreDefinitionId" ] @@ -1545,7 +1546,7 @@ "locationName" : "DeviceDefinitionId" }, "Devices" : { - "shape" : "ListOfDevice" + "shape" : "__listOfDevice" } }, "required" : [ "DeviceDefinitionId" ] @@ -1623,7 +1624,7 @@ "locationName" : "FunctionDefinitionId" }, "Functions" : { - "shape" : "ListOfFunction" + "shape" : "__listOfFunction" } }, "required" : [ "FunctionDefinitionId" ] @@ -1818,7 +1819,7 @@ "locationName" : "LoggerDefinitionId" }, "Loggers" : { - "shape" : "ListOfLogger" + "shape" : "__listOfLogger" } }, "required" : [ "LoggerDefinitionId" ] @@ -1896,7 +1897,7 @@ "locationName" : "ResourceDefinitionId" }, "Resources" : { - "shape" : "ListOfResource" + "shape" : "__listOfResource" } }, "required" : [ "ResourceDefinitionId" ] @@ -1914,7 +1915,7 @@ "shape" : "__string" }, "Version" : { - "shape" : "__string" + "shape" : "__string" } } }, @@ -1922,9 +1923,9 @@ "type" : "structure", "members" : { "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token" + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token" }, "S3UrlSignerRole" : { "shape" : "S3UrlSignerRole" @@ -2013,7 +2014,7 @@ "locationName" : "SubscriptionDefinitionId" }, "Subscriptions" : { - "shape" : "ListOfSubscription" + "shape" : "__listOfSubscription" } }, "required" : [ "SubscriptionDefinitionId" ] @@ -2211,13 +2212,14 @@ "ThingArn" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "DeviceDefinitionVersion" : { "type" : "structure", "members" : { "Devices" : { - "shape" : "ListOfDevice" + "shape" : "__listOfDevice" } } }, @@ -2256,6 +2258,10 @@ "type" : "structure", "members" : { } }, + "EncodingType" : { + "type" : "string", + "enum" : [ "binary", "json" ] + }, "ErrorDetail" : { "type" : "structure", "members" : { @@ -2285,11 +2291,15 @@ "Id" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "FunctionConfiguration" : { "type" : "structure", "members" : { + "EncodingType" : { + "shape" : "EncodingType" + }, "Environment" : { "shape" : "FunctionConfigurationEnvironment" }, @@ -2317,10 +2327,10 @@ "shape" : "__boolean" }, "ResourceAccessPolicies" : { - "shape" : "ListOfResourceAccessPolicy" + "shape" : "__listOfResourceAccessPolicy" }, "Variables" : { - "shape" : "MapOf__string" + "shape" : "__mapOf__string" } } }, @@ -2328,7 +2338,7 @@ "type" : "structure", "members" : { "Functions" : { - "shape" : "ListOfFunction" + "shape" : "__listOfFunction" } } }, @@ -2380,7 +2390,7 @@ "type" : "structure", "members" : { "ConnectivityInfo" : { - "shape" : "ListOfConnectivityInfo" + "shape" : "__listOfConnectivityInfo" }, "Message" : { "shape" : "__string", @@ -3133,7 +3143,7 @@ "shape" : "__string" }, "Versions" : { - "shape" : "ListOfVersionInformation" + "shape" : "__listOfVersionInformation" } } }, @@ -3156,7 +3166,7 @@ "type" : "structure", "members" : { "Definitions" : { - "shape" : "ListOfDefinitionInformation" + "shape" : "__listOfDefinitionInformation" }, "NextToken" : { "shape" : "__string" @@ -3167,7 +3177,7 @@ "type" : "structure", "members" : { "Definitions" : { - "shape" : "ListOfDefinitionInformation" + "shape" : "__listOfDefinitionInformation" }, "NextToken" : { "shape" : "__string" @@ -3234,7 +3244,7 @@ "shape" : "__string" }, "Versions" : { - "shape" : "ListOfVersionInformation" + "shape" : "__listOfVersionInformation" } } }, @@ -3257,7 +3267,7 @@ "type" : "structure", "members" : { "Definitions" : { - "shape" : "ListOfDefinitionInformation" + "shape" : "__listOfDefinitionInformation" }, "NextToken" : { "shape" : "__string" @@ -3292,7 +3302,7 @@ "shape" : "__string" }, "Versions" : { - "shape" : "ListOfVersionInformation" + "shape" : "__listOfVersionInformation" } } }, @@ -3315,7 +3325,7 @@ "type" : "structure", "members" : { "Definitions" : { - "shape" : "ListOfDefinitionInformation" + "shape" : "__listOfDefinitionInformation" }, "NextToken" : { "shape" : "__string" @@ -3337,7 +3347,7 @@ "type" : "structure", "members" : { "GroupCertificateAuthorities" : { - "shape" : "ListOfGroupCertificateAuthorityProperties" + "shape" : "__listOfGroupCertificateAuthorityProperties" } } }, @@ -3369,7 +3379,7 @@ "shape" : "__string" }, "Versions" : { - "shape" : "ListOfVersionInformation" + "shape" : "__listOfVersionInformation" } } }, @@ -3392,7 +3402,7 @@ "type" : "structure", "members" : { "Groups" : { - "shape" : "ListOfGroupInformation" + "shape" : "__listOfGroupInformation" }, "NextToken" : { "shape" : "__string" @@ -3427,7 +3437,7 @@ "shape" : "__string" }, "Versions" : { - "shape" : "ListOfVersionInformation" + "shape" : "__listOfVersionInformation" } } }, @@ -3450,85 +3460,13 @@ "type" : "structure", "members" : { "Definitions" : { - "shape" : "ListOfDefinitionInformation" + "shape" : "__listOfDefinitionInformation" }, "NextToken" : { "shape" : "__string" } } }, - "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" - } - }, "ListResourceDefinitionVersionsRequest" : { "type" : "structure", "members" : { @@ -3557,7 +3495,7 @@ "shape" : "__string" }, "Versions" : { - "shape" : "ListOfVersionInformation" + "shape" : "__listOfVersionInformation" } } }, @@ -3580,7 +3518,7 @@ "type" : "structure", "members" : { "Definitions" : { - "shape" : "ListOfDefinitionInformation" + "shape" : "__listOfDefinitionInformation" }, "NextToken" : { "shape" : "__string" @@ -3615,7 +3553,7 @@ "shape" : "__string" }, "Versions" : { - "shape" : "ListOfVersionInformation" + "shape" : "__listOfVersionInformation" } } }, @@ -3638,7 +3576,7 @@ "type" : "structure", "members" : { "Definitions" : { - "shape" : "ListOfDefinitionInformation" + "shape" : "__listOfDefinitionInformation" }, "NextToken" : { "shape" : "__string" @@ -3652,7 +3590,7 @@ "shape" : "__string" }, "Versions" : { - "shape" : "ListOfVersionInformation" + "shape" : "__listOfVersionInformation" } } }, @@ -3699,7 +3637,8 @@ "Type" : { "shape" : "LoggerType" } - } + }, + "required" : [ ] }, "LoggerComponent" : { "type" : "string", @@ -3709,7 +3648,7 @@ "type" : "structure", "members" : { "Loggers" : { - "shape" : "ListOfLogger" + "shape" : "__listOfLogger" } } }, @@ -3721,15 +3660,6 @@ "type" : "string", "enum" : [ "FileSystem", "AWSCloudWatch" ] }, - "MapOf__string" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "__string" - } - }, "Permission" : { "type" : "string", "enum" : [ "ro", "rw" ] @@ -3776,7 +3706,8 @@ "ResourceDataContainer" : { "shape" : "ResourceDataContainer" } - } + }, + "required" : [ ] }, "ResourceAccessPolicy" : { "type" : "structure", @@ -3787,7 +3718,8 @@ "ResourceId" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "ResourceDataContainer" : { "type" : "structure", @@ -3797,6 +3729,12 @@ }, "LocalVolumeResourceData" : { "shape" : "LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData" : { + "shape" : "S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData" : { + "shape" : "SageMakerMachineLearningModelResourceData" } } }, @@ -3804,13 +3742,35 @@ "type" : "structure", "members" : { "Resources" : { - "shape" : "ListOfResource" + "shape" : "__listOfResource" + } + } + }, + "S3MachineLearningModelResourceData" : { + "type" : "structure", + "members" : { + "DestinationPath" : { + "shape" : "__string" + }, + "S3Uri" : { + "shape" : "__string" } } }, "S3UrlSignerRole" : { "type" : "string" }, + "SageMakerMachineLearningModelResourceData" : { + "type" : "structure", + "members" : { + "DestinationPath" : { + "shape" : "__string" + }, + "SageMakerJobArn" : { + "shape" : "__string" + } + } + }, "SoftwareToUpdate" : { "type" : "string", "enum" : [ "core", "ota_agent" ] @@ -3830,13 +3790,14 @@ "Target" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "SubscriptionDefinitionVersion" : { "type" : "structure", "members" : { "Subscriptions" : { - "shape" : "ListOfSubscription" + "shape" : "__listOfSubscription" } } }, @@ -3848,7 +3809,7 @@ "type" : "structure", "members" : { "ConnectivityInfo" : { - "shape" : "ListOfConnectivityInfo" + "shape" : "__listOfConnectivityInfo" }, "ThingName" : { "shape" : "__string", @@ -4064,6 +4025,90 @@ "__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" }, diff --git a/models/apis/greengrass/2017-06-07/docs-2.json b/models/apis/greengrass/2017-06-07/docs-2.json index f4894f03547..7c96c7e0f40 100644 --- a/models/apis/greengrass/2017-06-07/docs-2.json +++ b/models/apis/greengrass/2017-06-07/docs-2.json @@ -2,34 +2,34 @@ "version" : "2.0", "service" : "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.", "operations" : { - "AssociateRoleToGroup" : "Associates a role with a group. The role will be used by the AWS Greengrass core in order to access AWS cloud services. The role's permissions will allow Greengrass core Lambda functions to perform actions against the cloud.", - "AssociateServiceRoleToAccount" : "Associates a role which is used by AWS Greengrass. AWS Greengrass uses the role to access your Lambda functions and AWS IoT resources. This is necessary for deployments to succeed. It needs to have minimum permissions in policy ``AWSGreengrassResourceAccessRolePolicy``", - "CreateCoreDefinition" : "Creates a core definition. You may optionally provide the initial version of the core definition or use ''CreateCoreDefinitionVersion'' at a later time. AWS Greengrass Groups must each contain exactly 1 AWS Greengrass Core.", - "CreateCoreDefinitionVersion" : "Creates a version of a core definition that has already been defined. AWS Greengrass Groups must each contain exactly 1 AWS Greengrass Core.", + "AssociateRoleToGroup" : "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" : "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" : "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" : "Creates a version of a core definition that has already been defined. AWS Greengrass groups must each contain exactly one AWS Greengrass core.", "CreateDeployment" : "Creates a deployment.", - "CreateDeviceDefinition" : "Creates a device definition. You may optinally provide the initial version of the device definition or use ``CreateDeviceDefinitionVersion`` at a later time.", + "CreateDeviceDefinition" : "Creates a device definition. You may provide the initial version of the device definition now or use ''CreateDeviceDefinitionVersion'' at a later time.", "CreateDeviceDefinitionVersion" : "Creates a version of a device definition that has already been defined.", - "CreateFunctionDefinition" : "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" : "Create a version of a Lambda function definition that has already been defined.", - "CreateGroup" : "Creates a group. You may optionally provide the initial version of the group or use ''CreateGroupVersion'' at a later time.", + "CreateFunctionDefinition" : "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" : "Creates a version of a Lambda function definition that has already been defined.", + "CreateGroup" : "Creates a group. You may provide the initial version of the group or use ''CreateGroupVersion'' at a later time.", "CreateGroupCertificateAuthority" : "Creates a CA for the group. If a CA already exists, it will rotate the existing CA.", "CreateGroupVersion" : "Creates a version of a group which has already been defined.", - "CreateLoggerDefinition" : "Creates a logger definition. You may optionally provide the initial version of the logger definition or use ``CreateLoggerDefinitionVersion`` at a later time.", + "CreateLoggerDefinition" : "Creates a logger definition. You may provide the initial version of the logger definition now or use ''CreateLoggerDefinitionVersion'' at a later time.", "CreateLoggerDefinitionVersion" : "Creates a version of a logger definition that has already been defined.", - "CreateResourceDefinition" : "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" : "Create a version of a resource definition that has already been defined.", - "CreateSoftwareUpdateJob" : "Creates an Iot Job that will trigger your Greengrass Cores to update the software they are running.", - "CreateSubscriptionDefinition" : "Creates a subscription definition. You may optionally provide the initial version of the subscription definition or use ``CreateSubscriptionDefinitionVersion`` at a later time.", + "CreateResourceDefinition" : "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" : "Creates a version of a resource definition that has already been defined.", + "CreateSoftwareUpdateJob" : "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" : "Creates a subscription definition. You may provide the initial version of the subscription definition now or use ''CreateSubscriptionDefinitionVersion'' at a later time.", "CreateSubscriptionDefinitionVersion" : "Creates a version of a subscription definition which has already been defined.", - "DeleteCoreDefinition" : "Deletes a core definition. The core definition must not have been used in a deployment.", - "DeleteDeviceDefinition" : "Deletes a device definition. The device definition must not have been used in a deployment.", - "DeleteFunctionDefinition" : "Deletes a Lambda function definition. The Lambda function definition must not have been used in a deployment.", - "DeleteGroup" : "Deletes a group. The group must not have been used in deployment.", - "DeleteLoggerDefinition" : "Deletes a logger definition. The logger definition must not have been used in a deployment.", + "DeleteCoreDefinition" : "Deletes a core definition.", + "DeleteDeviceDefinition" : "Deletes a device definition.", + "DeleteFunctionDefinition" : "Deletes a Lambda function definition.", + "DeleteGroup" : "Deletes a group.", + "DeleteLoggerDefinition" : "Deletes a logger definition.", "DeleteResourceDefinition" : "Deletes a resource definition.", - "DeleteSubscriptionDefinition" : "Deletes a subscription definition. The subscription definition must not have been used in a deployment.", + "DeleteSubscriptionDefinition" : "Deletes a subscription definition.", "DisassociateRoleFromGroup" : "Disassociates the role from a group.", - "DisassociateServiceRoleFromAccount" : "Disassociates the service role from the account. Without a service role, deployments will not work.", + "DisassociateServiceRoleFromAccount" : "Disassociates the service role from your account. Without a service role, deployments will not work.", "GetAssociatedRole" : "Retrieves the role associated with a particular group.", "GetConnectivityInfo" : "Retrieves the connectivity information for a core.", "GetCoreDefinition" : "Retrieves information about a core definition version.", @@ -37,20 +37,20 @@ "GetDeploymentStatus" : "Returns the status of a deployment.", "GetDeviceDefinition" : "Retrieves information about a device definition.", "GetDeviceDefinitionVersion" : "Retrieves information about a device definition version.", - "GetFunctionDefinition" : "Retrieves information about a Lambda function definition, such as its creation time and latest version.", - "GetFunctionDefinitionVersion" : "Retrieves information about a Lambda function definition version, such as which Lambda functions are included in the version and their configurations.", + "GetFunctionDefinition" : "Retrieves information about a Lambda function definition, including its creation time and latest version.", + "GetFunctionDefinitionVersion" : "Retrieves information about a Lambda function definition version, including which Lambda functions are included in the version and their configurations.", "GetGroup" : "Retrieves information about a group.", "GetGroupCertificateAuthority" : "Retreives the CA associated with a group. Returns the public key of the CA.", "GetGroupCertificateConfiguration" : "Retrieves the current configuration for the CA used by the group.", "GetGroupVersion" : "Retrieves information about a group version.", "GetLoggerDefinition" : "Retrieves information about a logger definition.", "GetLoggerDefinitionVersion" : "Retrieves information about a logger definition version.", - "GetResourceDefinition" : "Retrieves information about a resource definition, such as its creation time and latest version.", - "GetResourceDefinitionVersion" : "Retrieves information about a resource definition version, such as which resources are included in the version.", - "GetServiceRoleForAccount" : "Retrieves the service role that is attached to the account.", + "GetResourceDefinition" : "Retrieves information about a resource definition, including its creation time and latest version.", + "GetResourceDefinitionVersion" : "Retrieves information about a resource definition version, including which resources are included in the version.", + "GetServiceRoleForAccount" : "Retrieves the service role that is attached to your account.", "GetSubscriptionDefinition" : "Retrieves information about a subscription definition.", "GetSubscriptionDefinitionVersion" : "Retrieves information about a subscription definition version.", - "ListCoreDefinitionVersions" : "Lists versions of a core definition.", + "ListCoreDefinitionVersions" : "Lists the versions of a core definition.", "ListCoreDefinitions" : "Retrieves a list of core definitions.", "ListDeployments" : "Returns a history of deployments for the group.", "ListDeviceDefinitionVersions" : "Lists the versions of a device definition.", @@ -58,7 +58,7 @@ "ListFunctionDefinitionVersions" : "Lists the versions of a Lambda function definition.", "ListFunctionDefinitions" : "Retrieves a list of Lambda function definitions.", "ListGroupCertificateAuthorities" : "Retrieves the current CAs for a group.", - "ListGroupVersions" : "List the versions of a group.", + "ListGroupVersions" : "Lists the versions of a group.", "ListGroups" : "Retrieves a list of groups.", "ListLoggerDefinitionVersions" : "Lists the versions of a logger definition.", "ListLoggerDefinitions" : "Retrieves a list of logger definitions.", @@ -72,7 +72,7 @@ "UpdateDeviceDefinition" : "Updates a device definition.", "UpdateFunctionDefinition" : "Updates a Lambda function definition.", "UpdateGroup" : "Updates a group.", - "UpdateGroupCertificateConfiguration" : "Updates the Cert expiry time for a group.", + "UpdateGroupCertificateConfiguration" : "Updates the Certificate expiry time for a group.", "UpdateLoggerDefinition" : "Updates a logger definition.", "UpdateResourceDefinition" : "Updates a resource definition.", "UpdateSubscriptionDefinition" : "Updates a subscription definition." @@ -95,30 +95,29 @@ "refs" : { } }, "BadRequestException" : { - "base" : "user error", + "base" : "General error information.", "refs" : { } }, "ConnectivityInfo" : { - "base" : "Connectivity Info", + "base" : "Information about a Greengrass core's connectivity.", "refs" : { - "GetConnectivityInfoResponse$ConnectivityInfo" : "Connectivity info list", - "UpdateConnectivityInfoRequest$ConnectivityInfo" : "Connectivity info list" + "__listOfConnectivityInfo$member" : null } }, "Core" : { - "base" : "Information on the core", + "base" : "Information about a core.", "refs" : { - "CoreDefinitionVersion$Cores" : "Cores in the definition version." + "__listOfCore$member" : null } }, "CoreDefinitionVersion" : { - "base" : "Information on core definition version", + "base" : "Information about a core definition version.", "refs" : { - "GetCoreDefinitionVersionResponse$Definition" : "Information on definition" + "GetCoreDefinitionVersionResponse$Definition" : "Information about the core definition version." } }, "CreateDeploymentRequest" : { - "base" : "Information on Deployment", + "base" : "Information about a deployment.", "refs" : { } }, "CreateDeploymentResponse" : { @@ -130,7 +129,7 @@ "refs" : { } }, "CreateSoftwareUpdateJobRequest" : { - "base" : "Request for the CreateSoftwareUpdateJob API", + "base" : "Request for the CreateSoftwareUpdateJob API.", "refs" : { } }, "CreateSoftwareUpdateJobResponse" : { @@ -138,41 +137,41 @@ "refs" : { } }, "DefinitionInformation" : { - "base" : "Information on the Definition", + "base" : "Information about a definition.", "refs" : { - "ListDefinitionsResponse$Definitions" : "Definitions" + "__listOfDefinitionInformation$member" : null } }, "Deployment" : { - "base" : "Information on the deployment", + "base" : "Information about a deployment.", "refs" : { - "Deployments" : null + "Deployments$member" : null } }, "DeploymentType" : { "base" : null, "refs" : { - "CreateDeploymentRequest$DeploymentType" : "Type of deployment. When used in CreateDeployment, only NewDeployment and Redeployment are valid. ", - "Deployment$DeploymentType" : "The type of deployment.", + "CreateDeploymentRequest$DeploymentType" : "The type of deployment. When used in ''CreateDeployment'', only ''NewDeployment'' and ''Redeployment'' are valid.", + "Deployment$DeploymentType" : "The type of the deployment.", "GetDeploymentStatusResponse$DeploymentType" : "The type of the deployment." } }, "Deployments" : { "base" : null, "refs" : { - "ListDeploymentsResponse$Deployments" : "List of deployments for the requested groups" + "ListDeploymentsResponse$Deployments" : "A list of deployments for the requested groups." } }, "Device" : { - "base" : "Information on a Device", + "base" : "Information about a device.", "refs" : { - "DeviceDefinitionVersion$Devices" : "Devices in the definition version." + "__listOfDevice$member" : null } }, "DeviceDefinitionVersion" : { - "base" : "Information on device definition version", + "base" : "Information about a device definition version.", "refs" : { - "GetDeviceDefinitionVersionResponse$Definition" : "Device definition version" + "GetDeviceDefinitionVersionResponse$Definition" : "Information about the device definition version." } }, "DisassociateRoleFromGroupResponse" : { @@ -187,45 +186,51 @@ "base" : "Empty", "refs" : { } }, + "EncodingType" : { + "base" : null, + "refs" : { + "FunctionConfiguration$EncodingType" : "The expected encoding type of the input payload for the function. The default is ''json''." + } + }, "ErrorDetail" : { - "base" : "ErrorDetail", + "base" : "Details about the error.", "refs" : { - "ErrorDetails" : "Error Details" + "ErrorDetails$member" : null } }, "ErrorDetails" : { - "base" : "Error Details", + "base" : "A list of error details.", "refs" : { - "GeneralError$ErrorDetails" : "Error Details", - "GetDeploymentStatusResponse$ErrorDetails" : "The error Details" + "GeneralError$ErrorDetails" : "Details about the error.", + "GetDeploymentStatusResponse$ErrorDetails" : "Error details" } }, "Function" : { - "base" : "Information on function", + "base" : "Information about a Lambda function.", "refs" : { - "FunctionDefinitionVersion$Functions" : "Lambda functions in this function definition version." + "__listOfFunction$member" : null } }, "FunctionConfiguration" : { - "base" : "Configuration of the function", + "base" : "The configuration of the Lambda function.", "refs" : { - "Function$FunctionConfiguration" : "Configuration of the function" + "Function$FunctionConfiguration" : "The configuration of the Lambda function." } }, "FunctionConfigurationEnvironment" : { - "base" : "Environment of the function configuration", + "base" : "The environment configuration of the function.", "refs" : { - "FunctionConfiguration$Environment" : "Environment of the function configuration" + "FunctionConfiguration$Environment" : "The environment configuration of the function." } }, "FunctionDefinitionVersion" : { - "base" : "Information on the function definition version", + "base" : "Information about a function definition version.", "refs" : { "GetFunctionDefinitionVersionResponse$Definition" : "Information on the definition." } }, "GeneralError" : { - "base" : "General Error", + "base" : "General error information.", "refs" : { } }, "GetAssociatedRoleResponse" : { @@ -233,7 +238,7 @@ "refs" : { } }, "GetConnectivityInfoResponse" : { - "base" : "connectivity info response", + "base" : "Information about a Greengrass core's connectivity.", "refs" : { } }, "GetCoreDefinitionVersionResponse" : { @@ -241,7 +246,7 @@ "refs" : { } }, "GetDeploymentStatusResponse" : { - "base" : "The response body contains the status of a deployment for a group.", + "base" : "Information about the status of a deployment for a group.", "refs" : { } }, "GetDeviceDefinitionVersionResponse" : { @@ -249,23 +254,23 @@ "refs" : { } }, "GetFunctionDefinitionVersionResponse" : { - "base" : "Function definition version", + "base" : "Information about a function definition version.", "refs" : { } }, "GetGroupCertificateAuthorityResponse" : { - "base" : "Certificate authority for the group.", + "base" : "Information about a certificate authority for a group.", "refs" : { } }, "GetGroupVersionResponse" : { - "base" : "Information on the group version", + "base" : "Information about a group version.", "refs" : { } }, "GetLoggerDefinitionVersionResponse" : { - "base" : "Information on logger definition version response", + "base" : "Information about a logger definition version.", "refs" : { } }, "GetResourceDefinitionVersionResponse" : { - "base" : "Information on resource definition version response", + "base" : "Information about a resource definition version.", "refs" : { } }, "GetServiceRoleForAccountResponse" : { @@ -273,44 +278,44 @@ "refs" : { } }, "GetSubscriptionDefinitionVersionResponse" : { - "base" : "Information on the Subscription Definition Version", + "base" : "Information about a subscription definition version.", "refs" : { } }, "GroupCertificateAuthorityProperties" : { - "base" : "Information on group certificate authority properties", + "base" : "Information about a certificate authority for a group.", "refs" : { - "ListGroupCertificateAuthoritiesResponse$GroupCertificateAuthorities" : "List of certificate authorities associated with the group." + "__listOfGroupCertificateAuthorityProperties$member" : null } }, "GroupCertificateConfiguration" : { - "base" : "Information on the group certificate configuration", + "base" : "Information about a group certificate configuration.", "refs" : { } }, "GroupInformation" : { - "base" : "Information on the group", + "base" : "Information about a group.", "refs" : { - "ListGroupsResponse$Groups" : "Groups" + "__listOfGroupInformation$member" : null } }, "GroupOwnerSetting" : { "base" : "Group owner related settings for local resources.", "refs" : { - "LocalDeviceResourceData$GroupOwnerSetting" : "Group owner related settings for local resources.", - "LocalVolumeResourceData$GroupOwnerSetting" : "Group owner related settings for local resources." + "LocalDeviceResourceData$GroupOwnerSetting" : "Group/owner related settings for local resources.", + "LocalVolumeResourceData$GroupOwnerSetting" : "Allows you to configure additional group privileges for the Lambda process. This field is optional." } }, "GroupVersion" : { - "base" : "Information on group version", + "base" : "Information about a group version.", "refs" : { - "GetGroupVersionResponse$Definition" : "Information on the definition" + "GetGroupVersionResponse$Definition" : "Information about the group version definition." } }, "InternalServerErrorException" : { - "base" : "The server encountered an unexpected error.", + "base" : "General error information.", "refs" : { } }, "ListDefinitionsResponse" : { - "base" : "List of definition responses", + "base" : "A list of definitions.", "refs" : { } }, "ListDeploymentsResponse" : { @@ -325,112 +330,60 @@ "base" : null, "refs" : { } }, - "ListOfConnectivityInfo" : { - "base" : null, - "refs" : { } - }, - "ListOfCore" : { - "base" : null, - "refs" : { } - }, - "ListOfDefinitionInformation" : { - "base" : null, - "refs" : { } - }, - "ListOfDevice" : { - "base" : null, - "refs" : { } - }, - "ListOfFunction" : { - "base" : null, - "refs" : { } - }, - "ListOfGroupCertificateAuthorityProperties" : { - "base" : null, - "refs" : { } - }, - "ListOfGroupInformation" : { - "base" : null, - "refs" : { } - }, - "ListOfLogger" : { - "base" : null, - "refs" : { } - }, - "ListOfResource" : { - "base" : null, - "refs" : { } - }, - "ListOfResourceAccessPolicy" : { - "base" : null, - "refs" : { } - }, - "ListOfSubscription" : { - "base" : null, - "refs" : { } - }, - "ListOfVersionInformation" : { - "base" : null, - "refs" : { } - }, "ListVersionsResponse" : { - "base" : "List of versions response", + "base" : "A list of versions.", "refs" : { } }, "LocalDeviceResourceData" : { - "base" : "Attributes that define the Local Device Resource.", + "base" : "Attributes that define a local device resource.", "refs" : { - "ResourceDataContainer$LocalDeviceResourceData" : "Attributes that define the Local Device Resource." + "ResourceDataContainer$LocalDeviceResourceData" : "Attributes that define the local device resource." } }, "LocalVolumeResourceData" : { - "base" : "Attributes that define the Local Volume Resource.", + "base" : "Attributes that define a local volume resource.", "refs" : { - "ResourceDataContainer$LocalVolumeResourceData" : "Attributes that define the Local Volume Resource." + "ResourceDataContainer$LocalVolumeResourceData" : "Attributes that define the local volume resource." } }, "Logger" : { - "base" : "Information on the Logger", + "base" : "Information about a logger", "refs" : { - "LoggerDefinitionVersion$Loggers" : "List of loggers." + "__listOfLogger$member" : null } }, "LoggerComponent" : { "base" : null, "refs" : { - "Logger$Component" : "The component that will be subject to logs" + "Logger$Component" : "The component that will be subject to logging." } }, "LoggerDefinitionVersion" : { - "base" : "Information on logger definition version", + "base" : "Information about a logger definition version.", "refs" : { - "GetLoggerDefinitionVersionResponse$Definition" : "Information on definition" + "GetLoggerDefinitionVersionResponse$Definition" : "Information about the logger definition version." } }, "LoggerLevel" : { "base" : null, "refs" : { - "Logger$Level" : "The level of the logs" + "Logger$Level" : "The level of the logs." } }, "LoggerType" : { "base" : null, "refs" : { - "Logger$Type" : "The type which will be use for log output" + "Logger$Type" : "The type of log output which will be used." } }, - "MapOf__string" : { - "base" : null, - "refs" : { } - }, "Permission" : { - "base" : "Type of permissions a function could have to access a resource.", + "base" : "The type of permission a function has to access a resource.", "refs" : { - "ResourceAccessPolicy$Permission" : "The function's access permission to the resource." + "ResourceAccessPolicy$Permission" : "The permissions that the Lambda function has to the resource. Can be one of ''rw'' (read/write) or ''ro'' (read-only)." } }, "ResetDeploymentsRequest" : { - "base" : "Information needed to perform a reset of a group's deployments.", + "base" : "Information about a group reset request.", "refs" : { } }, "ResetDeploymentsResponse" : { @@ -438,27 +391,33 @@ "refs" : { } }, "Resource" : { - "base" : "Information on the resource.", + "base" : "Information about a resource.", "refs" : { - "ResourceDefinitionVersion$Resources" : "List of resources." + "__listOfResource$member" : null } }, "ResourceAccessPolicy" : { - "base" : "Policy for the function to access a resource.", + "base" : "A policy used by the function to access a resource.", "refs" : { - "FunctionConfigurationEnvironment$ResourceAccessPolicies" : "Policies for the function to access resources." + "__listOfResourceAccessPolicy$member" : null } }, "ResourceDataContainer" : { - "base" : "A container of data for all resource types.", + "base" : "A container for resource data. The container takes only one of the following supported resource data types: ''LocalDeviceResourceData'', ''LocalVolumeResourceData'', ''SageMakerMachineLearningModelResourceData'', ''S3MachineLearningModelResourceData''.", "refs" : { "Resource$ResourceDataContainer" : "A container of data for all resource types." } }, "ResourceDefinitionVersion" : { - "base" : "Information on resource definition version", + "base" : "Information about a resource definition version.", + "refs" : { + "GetResourceDefinitionVersionResponse$Definition" : "Information about the definition." + } + }, + "S3MachineLearningModelResourceData" : { + "base" : "Attributes that define an S3 machine learning resource.", "refs" : { - "GetResourceDefinitionVersionResponse$Definition" : "Information on definition." + "ResourceDataContainer$S3MachineLearningModelResourceData" : "Attributes that define an S3 machine learning resource." } }, "S3UrlSignerRole" : { @@ -467,22 +426,28 @@ "CreateSoftwareUpdateJobRequest$S3UrlSignerRole" : null } }, + "SageMakerMachineLearningModelResourceData" : { + "base" : "Attributes that define an SageMaker machine learning resource.", + "refs" : { + "ResourceDataContainer$SageMakerMachineLearningModelResourceData" : "Attributes that define an SageMaker machine learning resource." + } + }, "SoftwareToUpdate" : { - "base" : "The piece of software on the Greengrass Core that will be updated.", + "base" : "The piece of software on the Greengrass core that will be updated.", "refs" : { "CreateSoftwareUpdateJobRequest$SoftwareToUpdate" : null } }, "Subscription" : { - "base" : "Information on subscription", + "base" : "Information about a subscription.", "refs" : { - "SubscriptionDefinitionVersion$Subscriptions" : "Subscriptions in the version." + "__listOfSubscription$member" : null } }, "SubscriptionDefinitionVersion" : { - "base" : "Information on subscription definition version", + "base" : "Information about a subscription definition version.", "refs" : { - "GetSubscriptionDefinitionVersionResponse$Definition" : "Information on the definition" + "GetSubscriptionDefinitionVersionResponse$Definition" : "Information about the subscription definition version." } }, "UpdateAgentLogLevel" : { @@ -492,7 +457,7 @@ } }, "UpdateConnectivityInfoRequest" : { - "base" : "Information on connectivity info", + "base" : "Information required to update a Greengrass core's connectivity.", "refs" : { } }, "UpdateConnectivityInfoResponse" : { @@ -504,174 +469,259 @@ "refs" : { } }, "UpdateTargets" : { - "base" : "The target arns that this update will be applied to.", + "base" : "The ARNs of the targets (IoT things or IoT thing groups) that this update will be applied to.", "refs" : { "CreateSoftwareUpdateJobRequest$UpdateTargets" : null } }, "UpdateTargetsArchitecture" : { - "base" : "The architecture of the Cores in the targets of an update", + "base" : "The architecture of the cores which are the targets of an update.", "refs" : { "CreateSoftwareUpdateJobRequest$UpdateTargetsArchitecture" : null } }, "UpdateTargetsOperatingSystem" : { - "base" : "The operating system of the Cores in the targets of an update", + "base" : "The operating system of the cores which are the targets of an update.", "refs" : { "CreateSoftwareUpdateJobRequest$UpdateTargetsOperatingSystem" : null } }, "VersionInformation" : { - "base" : "Information on the version", + "base" : "Information about a version.", "refs" : { - "ListVersionsResponse$Versions" : "Versions" + "__listOfVersionInformation$member" : null } }, "__boolean" : { "base" : null, "refs" : { - "Core$SyncShadow" : "If true, the local shadow value automatically syncs with the cloud's shadow state.", - "Device$SyncShadow" : "If true, the local shadow value automatically syncs with the cloud's shadow state.", - "FunctionConfiguration$Pinned" : "Whether the function is pinned or not. Pinned means the function is long-lived and starts when the core starts.", - "FunctionConfigurationEnvironment$AccessSysfs" : "Flag to allow lambda access sys filesystem.", - "GroupOwnerSetting$AutoAddGroupOwner" : "Eanble the auto added group owner.", - "ResetDeploymentsRequest$Force" : "When set to true, perform a best-effort only core reset." + "Core$SyncShadow" : "If true, the core's local shadow is automatically synced with the cloud.", + "Device$SyncShadow" : "If true, the device's local shadow will be automatically synced with the cloud.", + "FunctionConfiguration$Pinned" : "True if the function is pinned. Pinned means the function is long-lived and starts when the core starts.", + "FunctionConfigurationEnvironment$AccessSysfs" : "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.", + "GroupOwnerSetting$AutoAddGroupOwner" : "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.", + "ResetDeploymentsRequest$Force" : "If true, performs a best-effort only core reset." } }, "__integer" : { "base" : null, "refs" : { - "ConnectivityInfo$PortNumber" : "Port of the GGC. Usually 8883.", - "FunctionConfiguration$MemorySize" : "The memory size, in KB, you configured for the function.", - "FunctionConfiguration$Timeout" : "The function execution time at which Lambda should terminate the function. This timeout still applies to pinned lambdas for each request.", - "Logger$Space" : "Amount of hardware space, in KB, to use if file system is used for logging purposes." + "ConnectivityInfo$PortNumber" : "The port of the Greengrass core. Usually 8883.", + "FunctionConfiguration$MemorySize" : "The memory size, in KB, which the function requires.", + "FunctionConfiguration$Timeout" : "The allowed function execution time, after which Lambda should terminate the function. This timeout still applies to pinned lambdas for each request.", + "Logger$Space" : "The amount of file space, in KB, to use if the local file system is used for logging purposes." + } + }, + "__listOfConnectivityInfo" : { + "base" : null, + "refs" : { + "GetConnectivityInfoResponse$ConnectivityInfo" : "Connectivity info list.", + "UpdateConnectivityInfoRequest$ConnectivityInfo" : "A list of connectivity info." + } + }, + "__listOfCore" : { + "base" : null, + "refs" : { + "CoreDefinitionVersion$Cores" : "A list of cores in the core definition version." + } + }, + "__listOfDefinitionInformation" : { + "base" : null, + "refs" : { + "ListDefinitionsResponse$Definitions" : "Information about a definition." + } + }, + "__listOfDevice" : { + "base" : null, + "refs" : { + "DeviceDefinitionVersion$Devices" : "A list of devices in the definition version." + } + }, + "__listOfFunction" : { + "base" : null, + "refs" : { + "FunctionDefinitionVersion$Functions" : "A list of Lambda functions in this function definition version." + } + }, + "__listOfGroupCertificateAuthorityProperties" : { + "base" : null, + "refs" : { + "ListGroupCertificateAuthoritiesResponse$GroupCertificateAuthorities" : "A list of certificate authorities associated with the group." + } + }, + "__listOfGroupInformation" : { + "base" : null, + "refs" : { + "ListGroupsResponse$Groups" : "Information about a group." + } + }, + "__listOfLogger" : { + "base" : null, + "refs" : { + "LoggerDefinitionVersion$Loggers" : "A list of loggers." + } + }, + "__listOfResource" : { + "base" : null, + "refs" : { + "ResourceDefinitionVersion$Resources" : "A list of resources." + } + }, + "__listOfResourceAccessPolicy" : { + "base" : null, + "refs" : { + "FunctionConfigurationEnvironment$ResourceAccessPolicies" : "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." + } + }, + "__listOfSubscription" : { + "base" : null, + "refs" : { + "SubscriptionDefinitionVersion$Subscriptions" : "A list of subscriptions." + } + }, + "__listOfVersionInformation" : { + "base" : null, + "refs" : { + "ListVersionsResponse$Versions" : "Information about a version." + } + }, + "__mapOf__string" : { + "base" : null, + "refs" : { + "FunctionConfigurationEnvironment$Variables" : "Environment variables for the Lambda function's configuration." } }, "__string" : { "base" : null, "refs" : { - "AssociateRoleToGroupRequest$RoleArn" : "Role arn you wish to associate with this group.", - "AssociateRoleToGroupResponse$AssociatedAt" : "Time the role arn was associated to your group.", - "AssociateServiceRoleToAccountRequest$RoleArn" : "Role arn you wish to associate with this account.", - "AssociateServiceRoleToAccountResponse$AssociatedAt" : "Time when the service role was associated to the account.", - "ConnectivityInfo$HostAddress" : "Endpoint for the GGC. Can be an IP address or DNS.", - "ConnectivityInfo$Id" : "Element Id for this entry in the list.", + "AssociateRoleToGroupRequest$RoleArn" : "The ARN of the role you wish to associate with this group.", + "AssociateRoleToGroupResponse$AssociatedAt" : "The time, in milliseconds since the epoch, when the role ARN was associated with the group.", + "AssociateServiceRoleToAccountRequest$RoleArn" : "The ARN of the service role you wish to associate with your account.", + "AssociateServiceRoleToAccountResponse$AssociatedAt" : "The time when the service role was associated with the account.", + "ConnectivityInfo$HostAddress" : "The endpoint for the Greengrass core. Can be an IP address or DNS.", + "ConnectivityInfo$Id" : "The ID of the connectivity information.", "ConnectivityInfo$Metadata" : "Metadata for this endpoint.", - "Core$CertificateArn" : "Certificate arn of the core.", - "Core$Id" : "Element Id for this entry in the list.", - "Core$ThingArn" : "Thing arn of the core.", - "CreateDeploymentRequest$DeploymentId" : "Id of the deployment if you wish to redeploy a previous deployment.", - "CreateDeploymentRequest$GroupVersionId" : "Group Version you wish to deploy.", - "CreateDeploymentResponse$DeploymentArn" : "The arn of the deployment.", - "CreateDeploymentResponse$DeploymentId" : "The id of the deployment.", - "CreateGroupCertificateAuthorityResponse$GroupCertificateAuthorityArn" : "Arn of the group certificate authority.", - "CreateSoftwareUpdateJobResponse$IotJobArn" : "The Iot Job Arn corresponding to this update.", - "CreateSoftwareUpdateJobResponse$IotJobId" : "The Iot Job Id corresponding to this update.", - "DefinitionInformation$Arn" : "Arn of the definition.", - "DefinitionInformation$CreationTimestamp" : "Timestamp of when the definition was created.", - "DefinitionInformation$Id" : "Id of the definition.", - "DefinitionInformation$LastUpdatedTimestamp" : "Last updated timestamp of the definition.", - "DefinitionInformation$LatestVersion" : "Last version of the definition.", - "DefinitionInformation$LatestVersionArn" : "Latest version arn of the definition.", - "DefinitionInformation$Name" : "Name of the definition.", - "Deployment$CreatedAt" : "Timestamp when the deployment was created.", - "Deployment$DeploymentArn" : "Arn of the deployment.", - "Deployment$DeploymentId" : "Id of the deployment.", - "Deployment$GroupArn" : "Arn of the group for this deployment.", - "Device$CertificateArn" : "Certificate arn of the device.", - "Device$Id" : "Element Id for this entry in the list.", - "Device$ThingArn" : "Thing arn of the device.", - "DisassociateRoleFromGroupResponse$DisassociatedAt" : "Time when the role was disassociated from the group.", - "DisassociateServiceRoleFromAccountResponse$DisassociatedAt" : "Time when the service role was disassociated from the account.", - "ErrorDetail$DetailedErrorCode" : "Detailed Error Code", - "ErrorDetail$DetailedErrorMessage" : "Detailed Error Message", - "Function$FunctionArn" : "Arn of the Lambda function.", - "Function$Id" : "Id of the function in this version.", - "FunctionConfiguration$ExecArgs" : "Execution Arguments", - "FunctionConfiguration$Executable" : "Executable", - "GeneralError$Message" : "Message containing information about the error", - "GetAssociatedRoleResponse$AssociatedAt" : "Time when the role was associated for the group.", - "GetAssociatedRoleResponse$RoleArn" : "Arn of the role that is associated with the group.", - "GetConnectivityInfoResponse$Message" : "Response Text", - "GetCoreDefinitionVersionResponse$Arn" : "Arn of the core definition version.", - "GetCoreDefinitionVersionResponse$CreationTimestamp" : "Timestamp of when the core definition version was created.", - "GetCoreDefinitionVersionResponse$Id" : "Id of the core definition the version belongs to.", - "GetCoreDefinitionVersionResponse$Version" : "Version of the core definition version.", - "GetDeploymentStatusResponse$DeploymentStatus" : "Status of the deployment.", - "GetDeploymentStatusResponse$ErrorMessage" : "Error Message", - "GetDeploymentStatusResponse$UpdatedAt" : "Last time the deployment status was updated.", - "GetDeviceDefinitionVersionResponse$Arn" : "Arn of the device definition version.", - "GetDeviceDefinitionVersionResponse$CreationTimestamp" : "Timestamp of when the device definition version was created.", - "GetDeviceDefinitionVersionResponse$Id" : "Id of the device definition the version belongs to.", - "GetDeviceDefinitionVersionResponse$Version" : "Version of the device definition version.", - "GetFunctionDefinitionVersionResponse$Arn" : "Arn of the function definition version.", - "GetFunctionDefinitionVersionResponse$CreationTimestamp" : "Timestamp when the funtion definition version was created.", - "GetFunctionDefinitionVersionResponse$Id" : "Id of the function definition the version belongs to.", - "GetFunctionDefinitionVersionResponse$Version" : "Version of the function definition version.", - "GetGroupCertificateAuthorityResponse$GroupCertificateAuthorityArn" : "Arn of the certificate authority for the group.", - "GetGroupCertificateAuthorityResponse$GroupCertificateAuthorityId" : "Id of the certificate authority for the group.", - "GetGroupCertificateAuthorityResponse$PemEncodedCertificate" : "PEM encoded certificate for the group.", - "GetGroupVersionResponse$Arn" : "Arn of the group version.", - "GetGroupVersionResponse$CreationTimestamp" : "Timestamp when the group version was created.", - "GetGroupVersionResponse$Id" : "Id of the group version.", - "GetGroupVersionResponse$Version" : "Unique Id for a version of the Group.", - "GetLoggerDefinitionVersionResponse$Arn" : "Arn of the logger definition version.", - "GetLoggerDefinitionVersionResponse$CreationTimestamp" : "Timestamp of when the logger definition version was created.", - "GetLoggerDefinitionVersionResponse$Id" : "Id of the logger definition the version belongs to.", - "GetLoggerDefinitionVersionResponse$Version" : "Version of the logger definition version.", + "Core$CertificateArn" : "The ARN of the certificate associated with the core.", + "Core$Id" : "The ID of the core.", + "Core$ThingArn" : "The ARN of the thing which is the core.", + "CreateDeploymentRequest$DeploymentId" : "The ID of the deployment if you wish to redeploy a previous deployment.", + "CreateDeploymentRequest$GroupVersionId" : "The ID of the group version to be deployed.", + "CreateDeploymentResponse$DeploymentArn" : "The ARN of the deployment.", + "CreateDeploymentResponse$DeploymentId" : "The ID of the deployment.", + "CreateGroupCertificateAuthorityResponse$GroupCertificateAuthorityArn" : "The ARN of the group certificate authority.", + "CreateSoftwareUpdateJobResponse$IotJobArn" : "The IoT Job ARN corresponding to this update.", + "CreateSoftwareUpdateJobResponse$IotJobId" : "The IoT Job Id corresponding to this update.", + "DefinitionInformation$Arn" : "The ARN of the definition.", + "DefinitionInformation$CreationTimestamp" : "The time, in milliseconds since the epoch, when the definition was created.", + "DefinitionInformation$Id" : "The ID of the definition.", + "DefinitionInformation$LastUpdatedTimestamp" : "The time, in milliseconds since the epoch, when the definition was last updated.", + "DefinitionInformation$LatestVersion" : "The latest version of the definition.", + "DefinitionInformation$LatestVersionArn" : "The ARN of the latest version of the definition.", + "DefinitionInformation$Name" : "The name of the definition.", + "Deployment$CreatedAt" : "The time, in milliseconds since the epoch, when the deployment was created.", + "Deployment$DeploymentArn" : "The ARN of the deployment.", + "Deployment$DeploymentId" : "The ID of the deployment.", + "Deployment$GroupArn" : "The ARN of the group for this deployment.", + "Device$CertificateArn" : "The ARN of the certificate associated with the device.", + "Device$Id" : "The ID of the device.", + "Device$ThingArn" : "The thing ARN of the device.", + "DisassociateRoleFromGroupResponse$DisassociatedAt" : "The time, in milliseconds since the epoch, when the role was disassociated from the group.", + "DisassociateServiceRoleFromAccountResponse$DisassociatedAt" : "The time when the service role was disassociated from the account.", + "ErrorDetail$DetailedErrorCode" : "A detailed error code.", + "ErrorDetail$DetailedErrorMessage" : "A detailed error message.", + "Function$FunctionArn" : "The ARN of the Lambda function.", + "Function$Id" : "The ID of the Lambda function.", + "FunctionConfiguration$ExecArgs" : "The execution arguments.", + "FunctionConfiguration$Executable" : "The name of the function executable.", + "GeneralError$Message" : "A message containing information about the error.", + "GetAssociatedRoleResponse$AssociatedAt" : "The time when the role was associated with the group.", + "GetAssociatedRoleResponse$RoleArn" : "The ARN of the role that is associated with the group.", + "GetConnectivityInfoResponse$Message" : "A message about the connectivity info request.", + "GetCoreDefinitionVersionResponse$Arn" : "The ARN of the core definition version.", + "GetCoreDefinitionVersionResponse$CreationTimestamp" : "The time, in milliseconds since the epoch, when the core definition version was created.", + "GetCoreDefinitionVersionResponse$Id" : "The ID of the core definition version.", + "GetCoreDefinitionVersionResponse$Version" : "The version of the core definition version.", + "GetDeploymentStatusResponse$DeploymentStatus" : "The status of the deployment.", + "GetDeploymentStatusResponse$ErrorMessage" : "Error message", + "GetDeploymentStatusResponse$UpdatedAt" : "The time, in milliseconds since the epoch, when the deployment status was updated.", + "GetDeviceDefinitionVersionResponse$Arn" : "The ARN of the device definition version.", + "GetDeviceDefinitionVersionResponse$CreationTimestamp" : "The time, in milliseconds since the epoch, when the device definition version was created.", + "GetDeviceDefinitionVersionResponse$Id" : "The ID of the device definition version.", + "GetDeviceDefinitionVersionResponse$Version" : "The version of the device definition version.", + "GetFunctionDefinitionVersionResponse$Arn" : "The ARN of the function definition version.", + "GetFunctionDefinitionVersionResponse$CreationTimestamp" : "The time, in milliseconds since the epoch, when the function definition version was created.", + "GetFunctionDefinitionVersionResponse$Id" : "The ID of the function definition version.", + "GetFunctionDefinitionVersionResponse$Version" : "The version of the function definition version.", + "GetGroupCertificateAuthorityResponse$GroupCertificateAuthorityArn" : "The ARN of the certificate authority for the group.", + "GetGroupCertificateAuthorityResponse$GroupCertificateAuthorityId" : "The ID of the certificate authority for the group.", + "GetGroupCertificateAuthorityResponse$PemEncodedCertificate" : "The PEM encoded certificate for the group.", + "GetGroupVersionResponse$Arn" : "The ARN of the group version.", + "GetGroupVersionResponse$CreationTimestamp" : "The time, in milliseconds since the epoch, when the group version was created.", + "GetGroupVersionResponse$Id" : "The ID of the group version.", + "GetGroupVersionResponse$Version" : "The unique ID for the version of the group.", + "GetLoggerDefinitionVersionResponse$Arn" : "The ARN of the logger definition version.", + "GetLoggerDefinitionVersionResponse$CreationTimestamp" : "The time, in milliseconds since the epoch, when the logger definition version was created.", + "GetLoggerDefinitionVersionResponse$Id" : "The ID of the logger definition version.", + "GetLoggerDefinitionVersionResponse$Version" : "The version of the logger definition version.", "GetResourceDefinitionVersionResponse$Arn" : "Arn of the resource definition version.", - "GetResourceDefinitionVersionResponse$CreationTimestamp" : "Timestamp of when the resource definition version was created.", - "GetResourceDefinitionVersionResponse$Id" : "Id of the resource definition the version belongs to.", - "GetResourceDefinitionVersionResponse$Version" : "Version of the resource definition version.", - "GetServiceRoleForAccountResponse$AssociatedAt" : "Time when the service role was associated to the account.", - "GetServiceRoleForAccountResponse$RoleArn" : "Role arn which is associated to the account.", - "GetSubscriptionDefinitionVersionResponse$Arn" : "Arn of the subscription definition version.", - "GetSubscriptionDefinitionVersionResponse$CreationTimestamp" : "Timestamp of when the subscription definition version was created.", - "GetSubscriptionDefinitionVersionResponse$Id" : "Id of the subscription definition the version belongs to.", - "GetSubscriptionDefinitionVersionResponse$Version" : "Version of the subscription definition version.", - "GroupCertificateAuthorityProperties$GroupCertificateAuthorityArn" : "Arn of the certificate authority for the group.", - "GroupCertificateAuthorityProperties$GroupCertificateAuthorityId" : "Id of the certificate authority for the group.", - "GroupCertificateConfiguration$CertificateAuthorityExpiryInMilliseconds" : "Amount of time when the certificate authority expires in milliseconds.", - "GroupCertificateConfiguration$CertificateExpiryInMilliseconds" : "Amount of time when the certificate expires in milliseconds.", - "GroupCertificateConfiguration$GroupId" : "Id of the group the certificate configuration belongs to.", - "GroupInformation$Arn" : "Arn of a group.", - "GroupInformation$CreationTimestamp" : "Timestamp of when the group was created.", - "GroupInformation$Id" : "Id of a group.", - "GroupInformation$LastUpdatedTimestamp" : "Last updated timestamp of the group.", - "GroupInformation$LatestVersion" : "Last version of the group.", - "GroupInformation$LatestVersionArn" : "Latest version arn of the group.", - "GroupInformation$Name" : "Name of a group.", - "GroupOwnerSetting$GroupOwner" : "Name of the group owner.", - "GroupVersion$CoreDefinitionVersionArn" : "Core definition version arn for this group.", - "GroupVersion$DeviceDefinitionVersionArn" : "Device definition version arn for this group.", - "GroupVersion$FunctionDefinitionVersionArn" : "Function definition version arn for this group.", - "GroupVersion$LoggerDefinitionVersionArn" : "Logger definition version arn for this group.", - "GroupVersion$ResourceDefinitionVersionArn" : "Resource definition version arn for this group.", - "GroupVersion$SubscriptionDefinitionVersionArn" : "Subscription definition version arn for this group.", + "GetResourceDefinitionVersionResponse$CreationTimestamp" : "The time, in milliseconds since the epoch, when the resource definition version was created.", + "GetResourceDefinitionVersionResponse$Id" : "The ID of the resource definition version.", + "GetResourceDefinitionVersionResponse$Version" : "The version of the resource definition version.", + "GetServiceRoleForAccountResponse$AssociatedAt" : "The time when the service role was associated with the account.", + "GetServiceRoleForAccountResponse$RoleArn" : "The ARN of the role which is associated with the account.", + "GetSubscriptionDefinitionVersionResponse$Arn" : "The ARN of the subscription definition version.", + "GetSubscriptionDefinitionVersionResponse$CreationTimestamp" : "The time, in milliseconds since the epoch, when the subscription definition version was created.", + "GetSubscriptionDefinitionVersionResponse$Id" : "The ID of the subscription definition version.", + "GetSubscriptionDefinitionVersionResponse$Version" : "The version of the subscription definition version.", + "GroupCertificateAuthorityProperties$GroupCertificateAuthorityArn" : "The ARN of the certificate authority for the group.", + "GroupCertificateAuthorityProperties$GroupCertificateAuthorityId" : "The ID of the certificate authority for the group.", + "GroupCertificateConfiguration$CertificateAuthorityExpiryInMilliseconds" : "The amount of time remaining before the certificate authority expires, in milliseconds.", + "GroupCertificateConfiguration$CertificateExpiryInMilliseconds" : "The amount of time remaining before the certificate expires, in milliseconds.", + "GroupCertificateConfiguration$GroupId" : "The ID of the group certificate configuration.", + "GroupInformation$Arn" : "The ARN of the group.", + "GroupInformation$CreationTimestamp" : "The time, in milliseconds since the epoch, when the group was created.", + "GroupInformation$Id" : "The ID of the group.", + "GroupInformation$LastUpdatedTimestamp" : "The time, in milliseconds since the epoch, when the group was last updated.", + "GroupInformation$LatestVersion" : "The latest version of the group.", + "GroupInformation$LatestVersionArn" : "The ARN of the latest version of the group.", + "GroupInformation$Name" : "The name of the group.", + "GroupOwnerSetting$GroupOwner" : "The name of the Linux OS group whose privileges will be added to the Lambda process. This field is optional.", + "GroupVersion$CoreDefinitionVersionArn" : "The ARN of the core definition version for this group.", + "GroupVersion$DeviceDefinitionVersionArn" : "The ARN of the device definition version for this group.", + "GroupVersion$FunctionDefinitionVersionArn" : "The ARN of the function definition version for this group.", + "GroupVersion$LoggerDefinitionVersionArn" : "The ARN of the logger definition version for this group.", + "GroupVersion$ResourceDefinitionVersionArn" : "The resource definition version ARN for this group.", + "GroupVersion$SubscriptionDefinitionVersionArn" : "The ARN of the subscription definition version for this group.", "ListDefinitionsResponse$NextToken" : "The token for the next set of results, or ''null'' if there are no additional results.", "ListDeploymentsResponse$NextToken" : "The token for the next set of results, or ''null'' if there are no additional results.", "ListGroupsResponse$NextToken" : "The token for the next set of results, or ''null'' if there are no additional results.", "ListVersionsResponse$NextToken" : "The token for the next set of results, or ''null'' if there are no additional results.", - "LocalDeviceResourceData$SourcePath" : "Local source path of the resource.", - "LocalVolumeResourceData$DestinationPath" : "Local destination path of the resource.", - "LocalVolumeResourceData$SourcePath" : "Local source path of the resource.", - "Logger$Id" : "Element Id for this entry in the list.", - "ResetDeploymentsResponse$DeploymentArn" : "The arn of the reset deployment.", - "ResetDeploymentsResponse$DeploymentId" : "The id of the reset deployment.", - "Resource$Id" : "Resource Id.", - "Resource$Name" : "A descriptive resource name.", - "ResourceAccessPolicy$ResourceId" : "Id of the resource. A reference to the resource definiton.", - "Subscription$Id" : "Element Id for this entry in the list.", - "Subscription$Source" : "Source of the subscription. Can be a thing arn, lambda arn or word 'cloud'", - "Subscription$Subject" : "Subject of the message.", - "Subscription$Target" : "Where the message is sent to. Can be a thing arn, lambda arn or word 'cloud'.", - "UpdateConnectivityInfoResponse$Message" : "Response Text", - "UpdateConnectivityInfoResponse$Version" : "New Version", - "UpdateGroupCertificateConfigurationRequest$CertificateExpiryInMilliseconds" : "Amount of time when the certificate expires in milliseconds.", - "VersionInformation$Arn" : "Arn of the version.", - "VersionInformation$CreationTimestamp" : "Timestamp of when the version was created.", - "VersionInformation$Id" : "Id of the resource container.", - "VersionInformation$Version" : "Unique Id of a version." + "LocalDeviceResourceData$SourcePath" : "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''.", + "LocalVolumeResourceData$DestinationPath" : "The absolute local path of the resource inside the lambda environment.", + "LocalVolumeResourceData$SourcePath" : "The local absolute path of the volume resource on the host. The source path for a volume resource type cannot start with ''/sys''.", + "Logger$Id" : "The id of the logger.", + "ResetDeploymentsResponse$DeploymentArn" : "The ARN of the deployment.", + "ResetDeploymentsResponse$DeploymentId" : "The ID of the deployment.", + "Resource$Id" : "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.", + "Resource$Name" : "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.", + "ResourceAccessPolicy$ResourceId" : "The ID of the resource. (This ID is assigned to the resource when you create the resource definiton.)", + "S3MachineLearningModelResourceData$DestinationPath" : "The absolute local path of the resource inside the Lambda environment.", + "S3MachineLearningModelResourceData$S3Uri" : "The URI of the source model in an S3 bucket. The model package must be in tar.gz or .zip format.", + "SageMakerMachineLearningModelResourceData$DestinationPath" : "The absolute local path of the resource inside the Lambda environment.", + "SageMakerMachineLearningModelResourceData$SageMakerJobArn" : "The ARN of the SageMaker training job that represents the source model.", + "Subscription$Id" : "The id of the subscription.", + "Subscription$Source" : "The source of the subscription. Can be a thing ARN, a Lambda function ARN, 'cloud' (which represents the IoT cloud), or 'GGShadowService'.", + "Subscription$Subject" : "The subject of the message.", + "Subscription$Target" : "Where the message is sent to. Can be a thing ARN, a Lambda function ARN, 'cloud' (which represents the IoT cloud), or 'GGShadowService'.", + "UpdateConnectivityInfoResponse$Message" : "A message about the connectivity info update request.", + "UpdateConnectivityInfoResponse$Version" : "The new version of the connectivity info.", + "UpdateGroupCertificateConfigurationRequest$CertificateExpiryInMilliseconds" : "The amount of time remaining before the certificate expires, in milliseconds.", + "UpdateTargets$member" : null, + "VersionInformation$Arn" : "The ARN of the version.", + "VersionInformation$CreationTimestamp" : "The time, in milliseconds since the epoch, when the version was created.", + "VersionInformation$Id" : "The ID of the version.", + "VersionInformation$Version" : "The unique ID of the version.", + "__mapOf__string$member" : null } } } diff --git a/models/apis/iam/2010-05-08/api-2.json b/models/apis/iam/2010-05-08/api-2.json index e3bb8b76fa9..b7deec19686 100644 --- a/models/apis/iam/2010-05-08/api-2.json +++ b/models/apis/iam/2010-05-08/api-2.json @@ -7,6 +7,7 @@ "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/" @@ -528,6 +529,19 @@ {"shape":"ServiceFailureException"} ] }, + "DeleteRolePermissionsBoundary":{ + "name":"DeleteRolePermissionsBoundary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRolePermissionsBoundaryRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"UnmodifiableEntityException"}, + {"shape":"ServiceFailureException"} + ] + }, "DeleteRolePolicy":{ "name":"DeleteRolePolicy", "http":{ @@ -636,6 +650,18 @@ {"shape":"ServiceFailureException"} ] }, + "DeleteUserPermissionsBoundary":{ + "name":"DeleteUserPermissionsBoundary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserPermissionsBoundaryRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceFailureException"} + ] + }, "DeleteUserPolicy":{ "name":"DeleteUserPolicy", "http":{ @@ -1494,6 +1520,21 @@ {"shape":"ServiceFailureException"} ] }, + "PutRolePermissionsBoundary":{ + "name":"PutRolePermissionsBoundary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutRolePermissionsBoundaryRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"}, + {"shape":"UnmodifiableEntityException"}, + {"shape":"PolicyNotAttachableException"}, + {"shape":"ServiceFailureException"} + ] + }, "PutRolePolicy":{ "name":"PutRolePolicy", "http":{ @@ -1509,6 +1550,20 @@ {"shape":"ServiceFailureException"} ] }, + "PutUserPermissionsBoundary":{ + "name":"PutUserPermissionsBoundary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutUserPermissionsBoundaryRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyNotAttachableException"}, + {"shape":"ServiceFailureException"} + ] + }, "PutUserPolicy":{ "name":"PutUserPolicy", "http":{ @@ -1723,6 +1778,23 @@ {"shape":"ServiceFailureException"} ] }, + "UpdateRole":{ + "name":"UpdateRole", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRoleRequest"}, + "output":{ + "shape":"UpdateRoleResponse", + "resultWrapper":"UpdateRoleResult" + }, + "errors":[ + {"shape":"UnmodifiableEntityException"}, + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceFailureException"} + ] + }, "UpdateRoleDescription":{ "name":"UpdateRoleDescription", "http":{ @@ -2000,6 +2072,13 @@ "PolicyArn":{"shape":"arnType"} } }, + "AttachedPermissionsBoundary":{ + "type":"structure", + "members":{ + "PermissionsBoundaryType":{"shape":"PermissionsBoundaryAttachmentType"}, + "PermissionsBoundaryArn":{"shape":"arnType"} + } + }, "AttachedPolicy":{ "type":"structure", "members":{ @@ -2200,7 +2279,9 @@ "Path":{"shape":"pathType"}, "RoleName":{"shape":"roleNameType"}, "AssumeRolePolicyDocument":{"shape":"policyDocumentType"}, - "Description":{"shape":"roleDescriptionType"} + "Description":{"shape":"roleDescriptionType"}, + "MaxSessionDuration":{"shape":"roleMaxSessionDurationType"}, + "PermissionsBoundary":{"shape":"arnType"} } }, "CreateRoleResponse":{ @@ -2264,7 +2345,8 @@ "required":["UserName"], "members":{ "Path":{"shape":"pathType"}, - "UserName":{"shape":"userNameType"} + "UserName":{"shape":"userNameType"}, + "PermissionsBoundary":{"shape":"arnType"} } }, "CreateUserResponse":{ @@ -2419,6 +2501,13 @@ "VersionId":{"shape":"policyVersionIdType"} } }, + "DeleteRolePermissionsBoundaryRequest":{ + "type":"structure", + "required":["RoleName"], + "members":{ + "RoleName":{"shape":"roleNameType"} + } + }, "DeleteRolePolicyRequest":{ "type":"structure", "required":[ @@ -2492,6 +2581,13 @@ "CertificateId":{"shape":"certificateIdType"} } }, + "DeleteUserPermissionsBoundaryRequest":{ + "type":"structure", + "required":["UserName"], + "members":{ + "UserName":{"shape":"userNameType"} + } + }, "DeleteUserPolicyRequest":{ "type":"structure", "required":[ @@ -3242,6 +3338,7 @@ "PolicyArn":{"shape":"arnType"}, "EntityFilter":{"shape":"EntityType"}, "PathPrefix":{"shape":"pathType"}, + "PolicyUsageFilter":{"shape":"PolicyUsageType"}, "Marker":{"shape":"markerType"}, "MaxItems":{"shape":"maxItemsType"} } @@ -3378,6 +3475,7 @@ "Scope":{"shape":"policyScopeType"}, "OnlyAttached":{"shape":"booleanType"}, "PathPrefix":{"shape":"policyPathType"}, + "PolicyUsageFilter":{"shape":"PolicyUsageType"}, "Marker":{"shape":"markerType"}, "MaxItems":{"shape":"maxItemsType"} } @@ -3626,6 +3724,7 @@ "Path":{"shape":"policyPathType"}, "DefaultVersionId":{"shape":"policyVersionIdType"}, "AttachmentCount":{"shape":"attachmentCountType"}, + "PermissionsBoundaryUsageCount":{"shape":"attachmentCountType"}, "IsAttachable":{"shape":"booleanType"}, "Description":{"shape":"policyDescriptionType"}, "CreateDate":{"shape":"dateType"}, @@ -3697,6 +3796,10 @@ }, "exception":true }, + "PermissionsBoundaryAttachmentType":{ + "type":"string", + "enum":["PermissionsBoundaryPolicy"] + }, "Policy":{ "type":"structure", "members":{ @@ -3706,6 +3809,7 @@ "Path":{"shape":"policyPathType"}, "DefaultVersionId":{"shape":"policyVersionIdType"}, "AttachmentCount":{"shape":"attachmentCountType"}, + "PermissionsBoundaryUsageCount":{"shape":"attachmentCountType"}, "IsAttachable":{"shape":"booleanType"}, "Description":{"shape":"policyDescriptionType"}, "CreateDate":{"shape":"dateType"}, @@ -3785,6 +3889,13 @@ "none" ] }, + "PolicyUsageType":{ + "type":"string", + "enum":[ + "PermissionsPolicy", + "PermissionsBoundary" + ] + }, "PolicyUser":{ "type":"structure", "members":{ @@ -3825,6 +3936,17 @@ "PolicyDocument":{"shape":"policyDocumentType"} } }, + "PutRolePermissionsBoundaryRequest":{ + "type":"structure", + "required":[ + "RoleName", + "PermissionsBoundary" + ], + "members":{ + "RoleName":{"shape":"roleNameType"}, + "PermissionsBoundary":{"shape":"arnType"} + } + }, "PutRolePolicyRequest":{ "type":"structure", "required":[ @@ -3838,6 +3960,17 @@ "PolicyDocument":{"shape":"policyDocumentType"} } }, + "PutUserPermissionsBoundaryRequest":{ + "type":"structure", + "required":[ + "UserName", + "PermissionsBoundary" + ], + "members":{ + "UserName":{"shape":"userNameType"}, + "PermissionsBoundary":{"shape":"arnType"} + } + }, "PutUserPolicyRequest":{ "type":"structure", "required":[ @@ -3984,7 +4117,9 @@ "Arn":{"shape":"arnType"}, "CreateDate":{"shape":"dateType"}, "AssumeRolePolicyDocument":{"shape":"policyDocumentType"}, - "Description":{"shape":"roleDescriptionType"} + "Description":{"shape":"roleDescriptionType"}, + "MaxSessionDuration":{"shape":"roleMaxSessionDurationType"}, + "PermissionsBoundary":{"shape":"AttachedPermissionsBoundary"} } }, "RoleDetail":{ @@ -3998,7 +4133,8 @@ "AssumeRolePolicyDocument":{"shape":"policyDocumentType"}, "InstanceProfileList":{"shape":"instanceProfileListType"}, "RolePolicyList":{"shape":"policyDetailListType"}, - "AttachedManagedPolicies":{"shape":"attachedPoliciesListType"} + "AttachedManagedPolicies":{"shape":"attachedPoliciesListType"}, + "PermissionsBoundary":{"shape":"AttachedPermissionsBoundary"} } }, "RoleUsageListType":{ @@ -4366,6 +4502,20 @@ "Role":{"shape":"Role"} } }, + "UpdateRoleRequest":{ + "type":"structure", + "required":["RoleName"], + "members":{ + "RoleName":{"shape":"roleNameType"}, + "Description":{"shape":"roleDescriptionType"}, + "MaxSessionDuration":{"shape":"roleMaxSessionDurationType"} + } + }, + "UpdateRoleResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateSAMLProviderRequest":{ "type":"structure", "required":[ @@ -4506,7 +4656,8 @@ "UserId":{"shape":"idType"}, "Arn":{"shape":"arnType"}, "CreateDate":{"shape":"dateType"}, - "PasswordLastUsed":{"shape":"dateType"} + "PasswordLastUsed":{"shape":"dateType"}, + "PermissionsBoundary":{"shape":"AttachedPermissionsBoundary"} } }, "UserDetail":{ @@ -4519,7 +4670,8 @@ "CreateDate":{"shape":"dateType"}, "UserPolicyList":{"shape":"policyDetailListType"}, "GroupList":{"shape":"groupNameListType"}, - "AttachedManagedPolicies":{"shape":"attachedPoliciesListType"} + "AttachedManagedPolicies":{"shape":"attachedPoliciesListType"}, + "PermissionsBoundary":{"shape":"AttachedPermissionsBoundary"} } }, "VirtualMFADevice":{ @@ -4833,6 +4985,11 @@ "type":"list", "member":{"shape":"Role"} }, + "roleMaxSessionDurationType":{ + "type":"integer", + "max":43200, + "min":3600 + }, "roleNameType":{ "type":"string", "max":64, diff --git a/models/apis/iam/2010-05-08/docs-2.json b/models/apis/iam/2010-05-08/docs-2.json index e0b6fc45f82..c27348f6904 100644 --- a/models/apis/iam/2010-05-08/docs-2.json +++ b/models/apis/iam/2010-05-08/docs-2.json @@ -2,47 +2,49 @@ "version": "2.0", "service": "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.

", "operations": { - "AddClientIDToOpenIDConnectProvider": "

Adds a new client ID (also known as audience) to the list of client IDs already registered for the specified IAM OpenID Connect (OIDC) provider resource.

This action is idempotent; it does not fail or return an error if you add an existing client ID to the provider.

", - "AddRoleToInstanceProfile": "

Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and this limit cannot be increased.

The caller of this API must be granted the PassRole permission on the IAM role by a permission policy.

For more information about roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

", + "AddClientIDToOpenIDConnectProvider": "

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": "

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": "

Adds the specified user to the specified group.

", "AttachGroupPolicy": "

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": "

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": "

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": "

Changes the password of the IAM user who is calling this action. The root account password is not affected by this action.

To change the password for a different user, see UpdateLoginProfile. For more information about modifying passwords, see Managing Passwords in the IAM User Guide.

", - "CreateAccessKey": "

Creates a new AWS secret access key and corresponding AWS access key ID for the specified user. The default status for new keys is Active.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

For information about limits on the number of keys you can create, see Limitations on IAM Entities in the IAM User Guide.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation. You must save the key (for example, in a text file) if you want to be able to access it again. If a secret key is lost, you can delete the access keys for the associated user and then create new keys.

", + "ChangePassword": "

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": "

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": "

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": "

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": "

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": "

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": "

Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC).

The OIDC provider that you create with this operation can be used as a principal in a role's trust policy to establish a trust relationship between AWS and the OIDC provider.

When you create the IAM OIDC provider, you specify the URL of the OIDC identity provider (IdP) to trust, a list of client IDs (also known as audiences) that identify the application or applications that are allowed to authenticate using the OIDC provider, and a list of thumbprints of the server certificate(s) that the IdP uses. You get all of this information from the OIDC IdP that you want to use for access to AWS.

Because trust for the OIDC provider is ultimately derived from the IAM provider that this action creates, it is a best practice to limit access to the CreateOpenIDConnectProvider action to highly-privileged users.

", + "CreateOpenIDConnectProvider": "

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": "

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": "

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": "

Creates a new role for your AWS account. For more information about roles, go to Working with Roles. For information about limitations on role names and the number of roles you can create, go to Limitations on IAM Entities in the IAM User Guide.

", - "CreateSAMLProvider": "

Creates an IAM resource that describes an identity provider (IdP) that supports SAML 2.0.

The SAML provider resource that you create with this operation can be used as a principal in an IAM role's trust policy to enable federated users who sign-in using the SAML IdP to assume the role. You can create an IAM role that supports Web-based single sign-on (SSO) to the AWS Management Console or one that supports API access to AWS.

When you create the SAML provider resource, you upload an a SAML metadata document that you get from your IdP and that includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that the IdP sends. You must generate the metadata document using the identity management software that is used as your organization's IdP.

This operation requires Signature Version 4.

For more information, see Enabling SAML 2.0 Federated Users to Access the AWS Management Console and About SAML 2.0-based Federation in the IAM User Guide.

", - "CreateServiceLinkedRole": "

Creates an IAM role that is linked to a specific AWS service. The service controls the attached policies and when the role can be deleted. This helps ensure that the service is not broken by an unexpectedly changed or deleted role, which could put your AWS resources into an unknown state. Allowing the service to control the role helps improve service stability and proper cleanup when a service and its role are no longer needed.

The name of the role is autogenerated by combining the string that you specify for the AWSServiceName parameter with the string that you specify for the CustomSuffix parameter. The resulting name must be unique in your account or the request fails.

To attach a policy to this service-linked role, you must make the request using the AWS service that depends on this role.

", + "CreateRole": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Deletes the access key pair associated with the specified IAM user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

", + "DeleteAccessKey": "

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": "

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": "

Deletes the password policy for the AWS account. There are no parameters.

", "DeleteGroup": "

Deletes the specified IAM group. The group must not contain any users or have any attached policies.

", "DeleteGroupPolicy": "

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": "

Deletes the specified instance profile. The instance profile must not have an associated role.

Make sure you do not have any Amazon EC2 instances running with the instance profile you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

For more information about instance profiles, go to About Instance Profiles.

", + "DeleteInstanceProfile": "

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": "

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": "

Deletes an OpenID Connect identity provider (IdP) resource object in IAM.

Deleting an IAM OIDC provider resource does not update any roles that reference the provider as a principal in their trust policies. Any attempt to assume a role that references a deleted provider fails.

This action is idempotent; it does not fail or return an error if you call the action for a provider that does not exist.

", - "DeletePolicy": "

Deletes the specified managed policy.

Before you can delete a managed policy, you must first detach the policy from all users, groups, and roles that it is attached to, and you must delete all of the policy's versions. The following steps describe the process for deleting a managed policy:

  • Detach the policy from all users, groups, and roles that the policy is attached to, using the DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy APIs. To list all the users, groups, and roles that a policy is attached to, use ListEntitiesForPolicy.

  • Delete all versions of the policy using DeletePolicyVersion. To list the policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion to delete the version that is marked as the default version. You delete the policy's default version in the next step of the process.

  • Delete the policy (this automatically deletes the policy's default version) using this API.

For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

", + "DeleteOpenIDConnectProvider": "

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": "

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": "

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": "

Deletes the specified role. The role must not have any policies attached. For more information about roles, go to Working with Roles.

Make sure you do not have any Amazon EC2 instances running with the role you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

", + "DeleteRole": "

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": "

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": "

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": "

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": "

Deletes the specified SSH public key.

The SSH public key deleted by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

", - "DeleteServerCertificate": "

Deletes the specified server certificate.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

If you are using a server certificate with Elastic Load Balancing, deleting the certificate could have implications for your application. If Elastic Load Balancing doesn't detect the deletion of bound certificates, it may continue to use the certificates. This could cause Elastic Load Balancing to stop accepting traffic. We recommend that you remove the reference to the certificate from Elastic Load Balancing before using this command to delete the certificate. For more information, go to DeleteLoadBalancerListeners in the Elastic Load Balancing API Reference.

", - "DeleteServiceLinkedRole": "

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, 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.

", + "DeleteSSHPublicKey": "

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": "

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": "

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": "

Deletes the specified service-specific credential.

", - "DeleteSigningCertificate": "

Deletes a signing certificate associated with the specified IAM user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated IAM users.

", + "DeleteSigningCertificate": "

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": "

Deletes the specified IAM user. The user must not belong to any groups or have any access keys, signing certificates, or attached policies.

", + "DeleteUserPermissionsBoundary": "

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": "

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": "

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": "

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.

", @@ -51,95 +53,98 @@ "EnableMFADevice": "

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": "

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": "

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": "

Retrieves information about all IAM users, groups, roles, and policies in your AWS account, including their relationships to one another. Use this API to obtain a snapshot of the configuration of IAM permissions (users, groups, roles, and policies) in your account.

You can optionally filter the results using the Filter parameter. You can paginate the results using the MaxItems and Marker parameters.

", + "GetAccountAuthorizationDetails": "

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": "

Retrieves the password policy for the AWS account. For more information about using a password policy, go to Managing an IAM Password Policy.

", "GetAccountSummary": "

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": "

Gets a list of all of the context keys referenced in the input policies. The policies are supplied as a list of one or more strings. To get the context keys from policies associated with an IAM user, group, or role, use GetContextKeysForPrincipalPolicy.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request, and can be evaluated by testing against a value specified in an IAM policy. Use GetContextKeysForCustomPolicy to understand what key names and values you must supply when you call SimulateCustomPolicy. Note that all parameters are shown in unencoded form here for clarity, but must be URL encoded to be included as a part of a real HTML request.

", - "GetContextKeysForPrincipalPolicy": "

Gets a list of all of the context keys referenced in all of the IAM policies attached to the specified IAM entity. The entity can be an IAM user, group, or role. If you specify a user, then the request also includes all of the policies attached to groups that the user is a member of.

You can optionally include a list of one or more additional policies, specified as strings. If you want to include only a list of policies by string, use GetContextKeysForCustomPolicy instead.

Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use GetContextKeysForCustomPolicy instead.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request, and can be evaluated by testing against a value in an IAM policy. Use GetContextKeysForPrincipalPolicy to understand what key names and values you must supply when you call SimulatePrincipalPolicy.

", + "GetContextKeysForCustomPolicy": "

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": "

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": "

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": "

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": "

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": "

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": "

Retrieves the user name and password-creation date for the specified IAM user. If the user has not been assigned a password, the action returns a 404 (NoSuchEntity) error.

", + "GetLoginProfile": "

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": "

Returns information about the specified OpenID Connect (OIDC) provider resource object in IAM.

", "GetPolicy": "

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": "

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": "

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": "

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": "

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": "

Retrieves the specified SSH public key, including metadata about the key.

The SSH public key retrieved by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

", - "GetServerCertificate": "

Retrieves information about the specified server certificate stored in IAM.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

", - "GetServiceLinkedRoleDeletionStatus": "

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.

", + "GetSSHPublicKey": "

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": "

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": "

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": "

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": "

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": "

Returns information about the access key IDs associated with the specified IAM user. If there are none, the action returns an empty list.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the UserName is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation.

", + "ListAccessKeys": "

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": "

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": "

Lists all managed policies that are attached to the specified IAM group.

An IAM group can also have inline policies embedded with it. To list the inline policies for a group, use the ListGroupPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the action returns an empty list.

", - "ListAttachedRolePolicies": "

Lists all managed policies that are attached to the specified IAM role.

An IAM role can also have inline policies embedded with it. To list the inline policies for a role, use the ListRolePolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified role (or none that match the specified path prefix), the action returns an empty list.

", - "ListAttachedUserPolicies": "

Lists all managed policies that are attached to the specified IAM user.

An IAM user can also have inline policies embedded with it. To list the inline policies for a user, use the ListUserPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the action returns an empty list.

", + "ListAttachedGroupPolicies": "

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": "

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": "

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": "

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": "

Lists the names of the inline policies that are embedded in the specified IAM group.

An IAM group can also have managed policies attached to it. To list the managed policies that are attached to a group, use ListAttachedGroupPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified group, the action returns an empty list.

", + "ListGroupPolicies": "

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": "

Lists the IAM groups that have the specified path prefix.

You can paginate the results using the MaxItems and Marker parameters.

", "ListGroupsForUser": "

Lists the IAM groups that the specified IAM user belongs to.

You can paginate the results using the MaxItems and Marker parameters.

", - "ListInstanceProfiles": "

Lists the instance profiles that have the specified path prefix. If there are none, the action returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

", - "ListInstanceProfilesForRole": "

Lists the instance profiles that have the specified associated IAM role. If there are none, the action returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

", - "ListMFADevices": "

Lists the MFA devices for an IAM user. If the request includes a IAM user name, then this action lists all the MFA devices associated with the specified user. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request for this API.

You can paginate the results using the MaxItems and Marker parameters.

", + "ListInstanceProfiles": "

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": "

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": "

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": "

Lists information about the IAM OpenID Connect (OIDC) provider resource objects defined in the AWS account.

", "ListPolicies": "

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": "

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": "

Lists the names of the inline policies that are embedded in the specified IAM role.

An IAM role can also have managed policies attached to it. To list the managed policies that are attached to a role, use ListAttachedRolePolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified role, the action returns an empty list.

", - "ListRoles": "

Lists the IAM roles that have the specified path prefix. If there are none, the action returns an empty list. For more information about roles, go to Working with Roles.

You can paginate the results using the MaxItems and Marker parameters.

", + "ListRolePolicies": "

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": "

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": "

Lists the SAML provider resource objects defined in IAM in the account.

This operation requires Signature Version 4.

", - "ListSSHPublicKeys": "

Returns information about the SSH public keys associated with the specified IAM user. If there are none, the action returns an empty list.

The SSH public keys returned by this action are used only for authenticating the IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

", - "ListServerCertificates": "

Lists the server certificates stored in IAM that have the specified path prefix. If none exist, the action returns an empty list.

You can paginate the results using the MaxItems and Marker parameters.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

", - "ListServiceSpecificCredentials": "

Returns information about the service-specific credentials associated with the specified IAM user. If there are none, the action returns an empty list. The service-specific credentials returned by this action 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": "

Returns information about the signing certificates associated with the specified IAM user. If there are none, the action returns an empty list.

Although each user is limited to a small number of signing certificates, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request for this API. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

", - "ListUserPolicies": "

Lists the names of the inline policies embedded in the specified IAM user.

An IAM user can also have managed policies attached to it. To list the managed policies that are attached to a user, use ListAttachedUserPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified user, the action returns an empty list.

", - "ListUsers": "

Lists the IAM users that have the specified path prefix. If no path prefix is specified, the action returns all users in the AWS account. If there are none, the action returns an empty list.

You can paginate the results using the MaxItems and Marker parameters.

", - "ListVirtualMFADevices": "

Lists the virtual MFA devices defined in the AWS account by assignment status. If you do not specify an assignment status, the action returns a list of all virtual MFA devices. Assignment status can be Assigned, Unassigned, or Any.

You can paginate the results using the MaxItems and Marker parameters.

", + "ListSSHPublicKeys": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Removes the specified client ID (also known as audience) from the list of client IDs registered for the specified IAM OpenID Connect (OIDC) provider resource object.

This action is idempotent; it does not fail or return an error if you try to remove a client ID that does not exist.

", - "RemoveRoleFromInstanceProfile": "

Removes the specified IAM role from the specified EC2 instance profile.

Make sure you do not have any Amazon EC2 instances running with the role you are about to remove from the instance profile. Removing a role from an instance profile that is associated with a running instance might break any applications running on the instance.

For more information about IAM roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

", + "RemoveClientIDFromOpenIDConnectProvider": "

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": "

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": "

Removes the specified user from the specified group.

", "ResetServiceSpecificCredential": "

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": "

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": "

Sets the specified version of the specified policy as the policy's default (operative) version.

This action affects all users, groups, and roles that the policy is attached to. To list the users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API.

For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

", - "SimulateCustomPolicy": "

Simulate how a set of IAM policies and optionally a resource-based policy works with a list of API actions and AWS resources to determine the policies' effective permissions. The policies are provided as strings.

The simulation does not perform the API actions; it only checks the authorization to determine if the simulated policies allow or deny the actions.

If you want to simulate existing policies attached to an IAM user, group, or role, use SimulatePrincipalPolicy instead.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForCustomPolicy.

If the output is long, you can use MaxItems and Marker parameters to paginate the results.

", - "SimulatePrincipalPolicy": "

Simulate how a set of IAM policies attached to an IAM entity works with a list of API actions and AWS resources to determine the policies' effective permissions. The entity can be an IAM user, group, or role. If you specify a user, then the simulation also includes all of the policies that are attached to groups that the user belongs to .

You can optionally include a list of one or more additional policies specified as strings to include in the simulation. If you want to simulate only policies specified as strings, use SimulateCustomPolicy instead.

You can also optionally include one resource-based policy to be evaluated with each of the resources included in the simulation.

The simulation does not perform the API actions, it only checks the authorization to determine if the simulated policies allow or deny the actions.

Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use SimulateCustomPolicy instead.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForPrincipalPolicy.

If the output is long, you can use the MaxItems and Marker parameters to paginate the results.

", - "UpdateAccessKey": "

Changes the status of the specified access key from Active to Inactive, or vice versa. This action can be used to disable a user's key as part of a key rotation work flow.

If the UserName field is not specified, the UserName is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

For information about rotating keys, see Managing Keys and Certificates in the IAM User Guide.

", - "UpdateAccountPasswordPolicy": "

Updates the password policy settings for the AWS account.

This action does not support partial updates. No parameters are required, but if you do not specify a parameter, that parameter's value reverts to its default value. See the Request Parameters section for each parameter's default value.

For more information about using a password policy, see Managing an IAM Password Policy in the IAM User Guide.

", + "SetDefaultPolicyVersion": "

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": "

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": "

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": "

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": "

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": "

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": "

Updates the name and/or the path of the specified IAM group.

You should understand the implications of changing a group's path or name. For more information, see Renaming Users and Groups in the IAM User Guide.

To change an IAM group name the requester must have appropriate permissions on both the source object and the target object. For example, to change \"Managers\" to \"MGRs\", the entity making the request must have permission on both \"Managers\" and \"MGRs\", or must have permission on all (*). For more information about permissions, see Permissions and Policies.

", + "UpdateGroup": "

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": "

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": "

Replaces the existing list of server certificate thumbprints associated with an OpenID Connect (OIDC) provider resource object with a new list of thumbprints.

The list that you pass with this action completely replaces the existing list of thumbprints. (The lists are not merged.)

Typically, you need to update a thumbprint only when the identity provider's certificate changes, which occurs rarely. However, if the provider's certificate does change, any attempt to assume an IAM role that specifies the OIDC provider as a principal fails until the certificate thumbprint is updated.

Because trust for the OIDC provider is ultimately derived from the provider's certificate and is validated by the thumbprint, it is a best practice to limit access to the UpdateOpenIDConnectProviderThumbprint action to highly-privileged users.

", - "UpdateRoleDescription": "

Modifies the description of a role.

", + "UpdateOpenIDConnectProviderThumbprint": "

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": "

Updates the description or maximum session duration setting of a role.

", + "UpdateRoleDescription": "

Use instead.

Modifies only the description of a role. This operation performs the same function as the Description parameter in the UpdateRole operation.

", "UpdateSAMLProvider": "

Updates the metadata document for an existing SAML provider resource object.

This operation requires Signature Version 4.

", - "UpdateSSHPublicKey": "

Sets the status of an IAM user's SSH public key to active or inactive. SSH public keys that are inactive cannot be used for authentication. This action can be used to disable a user's SSH public key as part of a key rotation work flow.

The SSH public key affected by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

", - "UpdateServerCertificate": "

Updates the name and/or the path of the specified server certificate stored in IAM.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

You should understand the implications of changing a server certificate's path or name. For more information, see Renaming a Server Certificate in the IAM User Guide.

To change a server certificate name the requester must have appropriate permissions on both the source object and the target object. For example, to change the name from \"ProductionCert\" to \"ProdCert\", the entity making the request must have permission on \"ProductionCert\" and \"ProdCert\", or must have permission on all (*). For more information about permissions, see Access Management in the IAM User Guide.

", - "UpdateServiceSpecificCredential": "

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 action can be used to disable a user’s service-specific credential as part of a credential rotation work flow.

", - "UpdateSigningCertificate": "

Changes the status of the specified user signing certificate from active to disabled, or vice versa. This action can be used to disable an IAM user's signing certificate as part of a certificate rotation work flow.

If the UserName field is not specified, the UserName is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

", - "UpdateUser": "

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": "

Uploads an SSH public key and associates it with the specified IAM user.

The SSH public key uploaded by this action can be used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

", - "UploadServerCertificate": "

Uploads a server certificate entity for the AWS account. The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded.

We recommend that you use AWS Certificate Manager to provision, manage, and deploy your server certificates. With ACM you can request a certificate, deploy it to AWS resources, and let ACM handle certificate renewals for you. Certificates provided by ACM are free. For more information about using ACM, see the AWS Certificate Manager User Guide.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

For information about the number of server certificates you can upload, see Limitations on IAM Entities and Objects in the IAM User Guide.

Because the body of the public key certificate, private key, and the certificate chain can be large, you should use POST rather than GET when calling UploadServerCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Calling the API by Making HTTP Query Requests in the IAM User Guide.

", - "UploadSigningCertificate": "

Uploads an X.509 signing certificate and associates it with the specified IAM user. Some AWS services use X.509 signing certificates to validate requests that are signed with a corresponding private key. When you upload the certificate, its default status is Active.

If the UserName field is not specified, the IAM user name is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

Because the body of a X.509 certificate can be large, you should use POST rather than GET when calling UploadSigningCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" + "UpdateSSHPublicKey": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": { - "base": "

Contains information about an AWS access key.

This data type is used as a response element in the CreateAccessKey and ListAccessKeys actions.

The SecretAccessKey value is returned only in response to CreateAccessKey. You can get a secret access key only when you first create an access key; you cannot recover the secret access key later. If you lose a secret access key, you must create a new access key.

", + "base": "

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.

", "refs": { "CreateAccessKeyResponse$AccessKey": "

A structure with details about the access key.

" } }, "AccessKeyLastUsed": { - "base": "

Contains information about the last time an AWS access key was used.

This data type is used as a response element in the GetAccessKeyLastUsed action.

", + "base": "

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.

", "refs": { "GetAccessKeyLastUsedResponse$AccessKeyLastUsed": "

Contains information about the last time the access key was used.

" } }, "AccessKeyMetadata": { - "base": "

Contains information about an AWS access key, without its secret key.

This data type is used as a response element in the ListAccessKeys action.

", + "base": "

Contains information about an AWS access key, without its secret key.

This data type is used as a response element in the ListAccessKeys operation.

", "refs": { "accessKeyMetadataListType$member": null } @@ -147,15 +152,15 @@ "ActionNameListType": { "base": null, "refs": { - "SimulateCustomPolicyRequest$ActionNames": "

A list of names of API actions to evaluate in the simulation. Each action is evaluated against each resource. Each action must include the service identifier, such as iam:CreateUser.

", - "SimulatePrincipalPolicyRequest$ActionNames": "

A list of names of API actions to evaluate in the simulation. Each action is evaluated for each resource. Each action must include the service identifier, such as iam:CreateUser.

" + "SimulateCustomPolicyRequest$ActionNames": "

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.

", + "SimulatePrincipalPolicyRequest$ActionNames": "

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.

" } }, "ActionNameType": { "base": null, "refs": { "ActionNameListType$member": null, - "EvaluationResult$EvalActionName": "

The name of the API action tested on the indicated resource.

" + "EvaluationResult$EvalActionName": "

The name of the API operation tested on the indicated resource.

" } }, "AddClientIDToOpenIDConnectProviderRequest": { @@ -194,8 +199,17 @@ "refs": { } }, + "AttachedPermissionsBoundary": { + "base": "

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.

", + "refs": { + "Role$PermissionsBoundary": "

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.

", + "RoleDetail$PermissionsBoundary": "

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.

", + "User$PermissionsBoundary": "

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.

", + "UserDetail$PermissionsBoundary": "

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.

" + } + }, "AttachedPolicy": { - "base": "

Contains information about an attached policy.

An attached policy is a managed policy that has been attached to a user, group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails actions.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

", + "base": "

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.

", "refs": { "attachedPoliciesListType$member": null } @@ -255,7 +269,7 @@ "ContextKeyValueListType": { "base": null, "refs": { - "ContextEntry$ContextKeyValues": "

The value (or values, if the condition context key supports multiple values) to provide to the simulation for use when the key is referenced by a Condition element in an input policy.

" + "ContextEntry$ContextKeyValues": "

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.

" } }, "ContextKeyValueType": { @@ -469,6 +483,11 @@ "refs": { } }, + "DeleteRolePermissionsBoundaryRequest": { + "base": null, + "refs": { + } + }, "DeleteRolePolicyRequest": { "base": null, "refs": { @@ -514,6 +533,11 @@ "refs": { } }, + "DeleteUserPermissionsBoundaryRequest": { + "base": null, + "refs": { + } + }, "DeleteUserPolicyRequest": { "base": null, "refs": { @@ -826,7 +850,7 @@ } }, "Group": { - "base": "

Contains information about an IAM group entity.

This data type is used as a response element in the following actions:

", + "base": "

Contains information about an IAM group entity.

This data type is used as a response element in the following operations:

", "refs": { "CreateGroupResponse$Group": "

A structure containing details about the new group.

", "GetGroupResponse$Group": "

A structure that contains details about the group.

", @@ -834,13 +858,13 @@ } }, "GroupDetail": { - "base": "

Contains information about an IAM group, including all of the group's policies.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

", + "base": "

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.

", "refs": { "groupDetailListType$member": null } }, "InstanceProfile": { - "base": "

Contains information about an instance profile.

This data type is used as a response element in the following actions:

", + "base": "

Contains information about an instance profile.

This data type is used as a response element in the following operations:

", "refs": { "CreateInstanceProfileResponse$InstanceProfile": "

A structure containing details about the new instance profile.

", "GetInstanceProfileResponse$InstanceProfile": "

A structure containing details about the instance profile.

", @@ -1139,14 +1163,14 @@ } }, "LoginProfile": { - "base": "

Contains the user name and password create date for a user.

This data type is used as a response element in the CreateLoginProfile and GetLoginProfile actions.

", + "base": "

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.

", "refs": { "CreateLoginProfileResponse$LoginProfile": "

A structure containing the user name and password create date.

", "GetLoginProfileResponse$LoginProfile": "

A structure containing the user name and password create date for the user.

" } }, "MFADevice": { - "base": "

Contains information about an MFA device.

This data type is used as a response element in the ListMFADevices action.

", + "base": "

Contains information about an MFA device.

This data type is used as a response element in the ListMFADevices operation.

", "refs": { "mfaDeviceListType$member": null } @@ -1162,7 +1186,7 @@ } }, "ManagedPolicyDetail": { - "base": "

Contains information about a managed policy, including the policy's ARN, versions, and the number of principal entities (users, groups, and roles) that the policy is attached to.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

For more information about managed policies, see Managed Policies and Inline Policies in the Using IAM guide.

", + "base": "

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.

", "refs": { "ManagedPolicyDetailListType$member": null } @@ -1193,18 +1217,18 @@ "OpenIDConnectProviderUrlType": { "base": "

Contains a URL that specifies the endpoint for an OpenID Connect provider.

", "refs": { - "CreateOpenIDConnectProviderRequest$Url": "

The URL of the identity provider. The URL must begin with \"https://\" and should correspond to the iss claim in the provider's OpenID Connect ID tokens. Per the OIDC standard, path components are allowed but query parameters are not. Typically the URL consists of only a host name, like \"https://server.example.org\" or \"https://example.com\".

You cannot register the same provider multiple times in a single AWS account. If you try to submit a URL that has already been used for an OpenID Connect provider in the AWS account, you will get an error.

", + "CreateOpenIDConnectProviderRequest$Url": "

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.

", "GetOpenIDConnectProviderResponse$Url": "

The URL that the IAM OIDC provider resource object is associated with. For more information, see CreateOpenIDConnectProvider.

" } }, "OrganizationsDecisionDetail": { - "base": "

Contains information about AWS Organizations's affect on a policy simulation.

", + "base": "

Contains information about AWS Organizations's effect on a policy simulation.

", "refs": { "EvaluationResult$OrganizationsDecisionDetail": "

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.

" } }, "PasswordPolicy": { - "base": "

Contains information about the account password policy.

This data type is used as a response element in the GetAccountPasswordPolicy action.

", + "base": "

Contains information about the account password policy.

This data type is used as a response element in the GetAccountPasswordPolicy operation.

", "refs": { "GetAccountPasswordPolicyResponse$PasswordPolicy": "

A structure that contains details about the account's password policy.

" } @@ -1214,8 +1238,14 @@ "refs": { } }, + "PermissionsBoundaryAttachmentType": { + "base": null, + "refs": { + "AttachedPermissionsBoundary$PermissionsBoundaryType": "

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.

" + } + }, "Policy": { - "base": "

Contains information about a managed policy.

This data type is used as a response element in the CreatePolicy, GetPolicy, and ListPolicies actions.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

", + "base": "

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.

", "refs": { "CreatePolicyResponse$Policy": "

A structure containing details about the new policy.

", "GetPolicyResponse$Policy": "

A structure containing details about the policy.

", @@ -1223,7 +1253,7 @@ } }, "PolicyDetail": { - "base": "

Contains information about an IAM policy, including the policy document.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

", + "base": "

Contains information about an IAM policy, including the policy document.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

", "refs": { "policyDetailListType$member": null } @@ -1233,7 +1263,7 @@ "refs": { "EvalDecisionDetailsType$value": null, "EvaluationResult$EvalDecision": "

The result of the simulation.

", - "ResourceSpecificResult$EvalResourceDecision": "

The result of the simulation of the simulated API action on the resource specified in EvalResourceName.

" + "ResourceSpecificResult$EvalResourceDecision": "

The result of the simulation of the simulated API operation on the resource specified in EvalResourceName.

" } }, "PolicyEvaluationException": { @@ -1242,7 +1272,7 @@ } }, "PolicyGroup": { - "base": "

Contains information about a group that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy action.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

", + "base": "

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.

", "refs": { "PolicyGroupListType$member": null } @@ -1265,7 +1295,7 @@ } }, "PolicyRole": { - "base": "

Contains information about a role that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy action.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

", + "base": "

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.

", "refs": { "PolicyRoleListType$member": null } @@ -1282,8 +1312,15 @@ "Statement$SourcePolicyType": "

The type of the policy.

" } }, + "PolicyUsageType": { + "base": "

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.

", + "refs": { + "ListEntitiesForPolicyRequest$PolicyUsageFilter": "

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.

", + "ListPoliciesRequest$PolicyUsageFilter": "

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.

" + } + }, "PolicyUser": { - "base": "

Contains information about a user that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy action.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

", + "base": "

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.

", "refs": { "PolicyUserListType$member": null } @@ -1295,7 +1332,7 @@ } }, "PolicyVersion": { - "base": "

Contains information about a version of a managed policy.

This data type is used as a response element in the CreatePolicyVersion, GetPolicyVersion, ListPolicyVersions, and GetAccountAuthorizationDetails actions.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

", + "base": "

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.

", "refs": { "CreatePolicyVersionResponse$PolicyVersion": "

A structure containing details about the new policy version.

", "GetPolicyVersionResponse$PolicyVersion": "

A structure containing details about the policy version.

", @@ -1314,11 +1351,21 @@ "refs": { } }, + "PutRolePermissionsBoundaryRequest": { + "base": null, + "refs": { + } + }, "PutRolePolicyRequest": { "base": null, "refs": { } }, + "PutUserPermissionsBoundaryRequest": { + "base": null, + "refs": { + } + }, "PutUserPolicyRequest": { "base": null, "refs": { @@ -1388,31 +1435,31 @@ "ResourceHandlingOptionType": { "base": null, "refs": { - "SimulateCustomPolicyRequest$ResourceHandlingOption": "

Specifies the type of simulation to run. Different APIs that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the AWS EC2 User Guide.

  • EC2-Classic-InstanceStore

    instance, image, security-group

  • EC2-Classic-EBS

    instance, image, security-group, volume

  • EC2-VPC-InstanceStore

    instance, image, security-group, network-interface

  • EC2-VPC-InstanceStore-Subnet

    instance, image, security-group, network-interface, subnet

  • EC2-VPC-EBS

    instance, image, security-group, network-interface, volume

  • EC2-VPC-EBS-Subnet

    instance, image, security-group, network-interface, subnet, volume

", - "SimulatePrincipalPolicyRequest$ResourceHandlingOption": "

Specifies the type of simulation to run. Different APIs that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the AWS EC2 User Guide.

  • EC2-Classic-InstanceStore

    instance, image, security-group

  • EC2-Classic-EBS

    instance, image, security-group, volume

  • EC2-VPC-InstanceStore

    instance, image, security-group, network-interface

  • EC2-VPC-InstanceStore-Subnet

    instance, image, security-group, network-interface, subnet

  • EC2-VPC-EBS

    instance, image, security-group, network-interface, volume

  • EC2-VPC-EBS-Subnet

    instance, image, security-group, network-interface, subnet, volume

" + "SimulateCustomPolicyRequest$ResourceHandlingOption": "

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

", + "SimulatePrincipalPolicyRequest$ResourceHandlingOption": "

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

" } }, "ResourceNameListType": { "base": null, "refs": { "SimulateCustomPolicyRequest$ResourceArns": "

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.

", - "SimulatePrincipalPolicyRequest$ResourceArns": "

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.

" + "SimulatePrincipalPolicyRequest$ResourceArns": "

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.

" } }, "ResourceNameType": { "base": null, "refs": { - "EvaluationResult$EvalResourceName": "

The ARN of the resource that the indicated API action was tested on.

", + "EvaluationResult$EvalResourceName": "

The ARN of the resource that the indicated API operation was tested on.

", "ResourceNameListType$member": null, "ResourceSpecificResult$EvalResourceName": "

The name of the simulated resource, in Amazon Resource Name (ARN) format.

", - "SimulateCustomPolicyRequest$ResourceOwner": "

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.

", - "SimulateCustomPolicyRequest$CallerArn": "

The ARN of the IAM user that you want to use as the simulated caller of the APIs. CallerArn is required if you include a ResourcePolicy so that the policy's Principal element has a value to use in evaluating the policy.

You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal.

", + "SimulateCustomPolicyRequest$ResourceOwner": "

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.

", + "SimulateCustomPolicyRequest$CallerArn": "

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.

", "SimulatePrincipalPolicyRequest$ResourceOwner": "

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.

", - "SimulatePrincipalPolicyRequest$CallerArn": "

The ARN of the IAM user that you want to specify as the simulated caller of the APIs. If you do not specify a CallerArn, it defaults to the ARN of the user that you specify in PolicySourceArn, if you specified a user. If you include both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David) and a CallerArn (for example, arn:aws:iam::123456789012:user/Bob), the result is that you simulate calling the APIs as Bob, as if Bob had David's policies.

You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal.

CallerArn is required if you include a ResourcePolicy and the PolicySourceArn is not the ARN for an IAM user. This is required so that the resource-based policy's Principal element has a value to use in evaluating the policy.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "SimulatePrincipalPolicyRequest$CallerArn": "

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.

" } }, "ResourceSpecificResult": { - "base": "

Contains the result of the simulation of a single API action call on a single resource.

This data type is used by a member of the EvaluationResult data type.

", + "base": "

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.

", "refs": { "ResourceSpecificResultListType$member": null } @@ -1420,7 +1467,7 @@ "ResourceSpecificResultListType": { "base": null, "refs": { - "EvaluationResult$ResourceSpecificResults": "

The individual results of the simulation of the API action specified in EvalActionName on each resource.

" + "EvaluationResult$ResourceSpecificResults": "

The individual results of the simulation of the API operation specified in EvalActionName on each resource.

" } }, "ResyncMFADeviceRequest": { @@ -1429,7 +1476,7 @@ } }, "Role": { - "base": "

Contains information about an IAM role. This structure is returned as a response element in several APIs that interact with roles.

", + "base": "

Contains information about an IAM role. This structure is returned as a response element in several API operations that interact with roles.

", "refs": { "CreateRoleResponse$Role": "

A structure containing details about the new role.

", "CreateServiceLinkedRoleResponse$Role": "

A Role object that contains details about the newly created role.

", @@ -1439,7 +1486,7 @@ } }, "RoleDetail": { - "base": "

Contains information about an IAM role, including all of the role's policies.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

", + "base": "

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.

", "refs": { "roleDetailListType$member": null } @@ -1447,11 +1494,11 @@ "RoleUsageListType": { "base": null, "refs": { - "DeletionTaskFailureReasonType$RoleUsageList": "

A list of objects that contains details about the service-linked role deletion failure. 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.

" + "DeletionTaskFailureReasonType$RoleUsageList": "

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.

" } }, "RoleUsageType": { - "base": "

An object that contains details about how a service-linked role is used.

This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus operation.

", + "base": "

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.

", "refs": { "RoleUsageListType$member": null } @@ -1479,11 +1526,11 @@ "SAMLProviderNameType": { "base": null, "refs": { - "CreateSAMLProviderRequest$Name": "

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: =,.@-

" + "CreateSAMLProviderRequest$Name": "

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: _+=,.@-

" } }, "SSHPublicKey": { - "base": "

Contains information about an SSH public key.

This data type is used as a response element in the GetSSHPublicKey and UploadSSHPublicKey actions.

", + "base": "

Contains information about an SSH public key.

This data type is used as a response element in the GetSSHPublicKey and UploadSSHPublicKey operations.

", "refs": { "GetSSHPublicKeyResponse$SSHPublicKey": "

A structure containing details about the SSH public key.

", "UploadSSHPublicKeyResponse$SSHPublicKey": "

Contains information about the SSH public key.

" @@ -1496,19 +1543,19 @@ } }, "SSHPublicKeyMetadata": { - "base": "

Contains information about an SSH public key, without the key's body or fingerprint.

This data type is used as a response element in the ListSSHPublicKeys action.

", + "base": "

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.

", "refs": { "SSHPublicKeyListType$member": null } }, "ServerCertificate": { - "base": "

Contains information about a server certificate.

This data type is used as a response element in the GetServerCertificate action.

", + "base": "

Contains information about a server certificate.

This data type is used as a response element in the GetServerCertificate operation.

", "refs": { "GetServerCertificateResponse$ServerCertificate": "

A structure containing details about the server certificate.

" } }, "ServerCertificateMetadata": { - "base": "

Contains information about a server certificate without its certificate body, certificate chain, and private key.

This data type is used as a response element in the UploadServerCertificate and ListServerCertificates actions.

", + "base": "

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.

", "refs": { "ServerCertificate$ServerCertificateMetadata": "

The meta information of the server certificate, such as its name, path, ID, and ARN.

", "UploadServerCertificateResponse$ServerCertificateMetadata": "

The meta information of the uploaded server certificate without its certificate body, certificate chain, and private key.

", @@ -1526,7 +1573,7 @@ } }, "ServiceSpecificCredential": { - "base": "

Contains the details of a service specific credential.

", + "base": "

Contains the details of a service-specific credential.

", "refs": { "CreateServiceSpecificCredentialResponse$ServiceSpecificCredential": "

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.

", "ResetServiceSpecificCredentialResponse$ServiceSpecificCredential": "

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.

" @@ -1550,7 +1597,7 @@ } }, "SigningCertificate": { - "base": "

Contains information about an X.509 signing certificate.

This data type is used as a response element in the UploadSigningCertificate and ListSigningCertificates actions.

", + "base": "

Contains information about an X.509 signing certificate.

This data type is used as a response element in the UploadSigningCertificate and ListSigningCertificates operations.

", "refs": { "UploadSigningCertificateResponse$Certificate": "

Information about the certificate.

", "certificateListType$member": null @@ -1574,10 +1621,10 @@ "SimulationPolicyListType": { "base": null, "refs": { - "GetContextKeysForCustomPolicyRequest$PolicyInputList": "

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 any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

", - "GetContextKeysForPrincipalPolicyRequest$PolicyInputList": "

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 any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

", - "SimulateCustomPolicyRequest$PolicyInputList": "

A list of policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy. Do not include any resource-based policies in this parameter. Any resource-based policy must be submitted with the ResourcePolicy parameter. The policies cannot be \"scope-down\" policies, such as you could include in a call to GetFederationToken or one of the AssumeRole APIs to restrict what a user can do while using the temporary credentials.

The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

", - "SimulatePrincipalPolicyRequest$PolicyInputList": "

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 any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "GetContextKeysForCustomPolicyRequest$PolicyInputList": "

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)

", + "GetContextKeysForPrincipalPolicyRequest$PolicyInputList": "

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)

", + "SimulateCustomPolicyRequest$PolicyInputList": "

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)

", + "SimulatePrincipalPolicyRequest$PolicyInputList": "

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)

" } }, "Statement": { @@ -1589,8 +1636,8 @@ "StatementListType": { "base": null, "refs": { - "EvaluationResult$MatchedStatements": "

A list of the statements in the input policies that determine the result for this scenario. Remember that even if multiple statements allow the action on the resource, if only one statement denies that action, then the explicit deny overrides any allow, and the deny statement is the only entry included in the result.

", - "ResourceSpecificResult$MatchedStatements": "

A list of the statements in the input policies that determine the result for this part of the simulation. Remember that even if multiple statements allow the action on the resource, if any statement denies that action, then the explicit deny overrides any allow, and the deny statement is the only entry included in the result.

" + "EvaluationResult$MatchedStatements": "

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.

", + "ResourceSpecificResult$MatchedStatements": "

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.

" } }, "UnmodifiableEntityException": { @@ -1643,6 +1690,16 @@ "refs": { } }, + "UpdateRoleRequest": { + "base": null, + "refs": { + } + }, + "UpdateRoleResponse": { + "base": null, + "refs": { + } + }, "UpdateSAMLProviderRequest": { "base": null, "refs": { @@ -1709,16 +1766,16 @@ } }, "User": { - "base": "

Contains information about an IAM user entity.

This data type is used as a response element in the following actions:

", + "base": "

Contains information about an IAM user entity.

This data type is used as a response element in the following operations:

", "refs": { "CreateUserResponse$User": "

A structure with details about the new IAM user.

", - "GetUserResponse$User": "

A structure containing details about the IAM user.

", + "GetUserResponse$User": "

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.

", "VirtualMFADevice$User": "

The IAM user associated with this virtual MFA device.

", "userListType$member": null } }, "UserDetail": { - "base": "

Contains information about an IAM user, including all the user's policies and all the IAM groups the user is in.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

", + "base": "

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.

", "refs": { "userDetailListType$member": null } @@ -1741,7 +1798,7 @@ } }, "accessKeyMetadataListType": { - "base": "

Contains a list of access key metadata.

This data type is used as a response element in the ListAccessKeys action.

", + "base": "

Contains a list of access key metadata.

This data type is used as a response element in the ListAccessKeys operation.

", "refs": { "ListAccessKeysResponse$AccessKeyMetadata": "

A list of objects containing metadata about the access keys.

" } @@ -1769,24 +1826,27 @@ "arnType": { "base": "

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.

", "refs": { - "AddClientIDToOpenIDConnectProviderRequest$OpenIDConnectProviderArn": "

The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider resource to add the client ID to. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action.

", + "AddClientIDToOpenIDConnectProviderRequest$OpenIDConnectProviderArn": "

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.

", "ArnListType$member": null, "AttachGroupPolicyRequest$PolicyArn": "

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$PolicyArn": "

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$PolicyArn": "

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$PermissionsBoundaryArn": "

The ARN of the policy used to set the permissions boundary for the user or role.

", "AttachedPolicy$PolicyArn": null, "CreateOpenIDConnectProviderResponse$OpenIDConnectProviderArn": "

The Amazon Resource Name (ARN) of the new IAM OpenID Connect provider that is created. For more information, see OpenIDConnectProviderListEntry.

", "CreatePolicyVersionRequest$PolicyArn": "

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.

", + "CreateRoleRequest$PermissionsBoundary": "

The ARN of the policy that is used to set the permissions boundary for the role.

", "CreateSAMLProviderResponse$SAMLProviderArn": "

The Amazon Resource Name (ARN) of the new SAML provider resource in IAM.

", - "DeleteOpenIDConnectProviderRequest$OpenIDConnectProviderArn": "

The Amazon Resource Name (ARN) of the IAM OpenID Connect provider resource object to delete. You can get a list of OpenID Connect provider resource ARNs by using the ListOpenIDConnectProviders action.

", + "CreateUserRequest$PermissionsBoundary": "

The ARN of the policy that is used to set the permissions boundary for the user.

", + "DeleteOpenIDConnectProviderRequest$OpenIDConnectProviderArn": "

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$PolicyArn": "

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$PolicyArn": "

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.

", "DeleteSAMLProviderRequest$SAMLProviderArn": "

The Amazon Resource Name (ARN) of the SAML provider to delete.

", "DetachGroupPolicyRequest$PolicyArn": "

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$PolicyArn": "

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$PolicyArn": "

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.

", - "GetContextKeysForPrincipalPolicyRequest$PolicySourceArn": "

The ARN of a user, group, or role whose policies contain the context keys that you want listed. If you specify a user, the list includes context keys that are found in all policies attached to the user as well as to all groups that the user is a member of. If you pick a group or a role, then it includes only those context keys that are found in policies attached to that entity. Note that all parameters are shown in unencoded form here for clarity, but must be URL encoded to be included as a part of a real HTML request.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", - "GetOpenIDConnectProviderRequest$OpenIDConnectProviderArn": "

The Amazon Resource Name (ARN) of the OIDC provider resource object in IAM to get information for. You can get a list of OIDC provider resource ARNs by using the ListOpenIDConnectProviders action.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", + "GetContextKeysForPrincipalPolicyRequest$PolicySourceArn": "

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.

", + "GetOpenIDConnectProviderRequest$OpenIDConnectProviderArn": "

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.

", "GetPolicyRequest$PolicyArn": "

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.

", "GetPolicyVersionRequest$PolicyArn": "

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.

", "GetSAMLProviderRequest$SAMLProviderArn": "

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.

", @@ -1798,14 +1858,16 @@ "ManagedPolicyDetail$Arn": null, "OpenIDConnectProviderListEntry$Arn": null, "Policy$Arn": null, - "RemoveClientIDFromOpenIDConnectProviderRequest$OpenIDConnectProviderArn": "

The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove the client ID from. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", + "PutRolePermissionsBoundaryRequest$PermissionsBoundary": "

The ARN of the policy that is used to set the permissions boundary for the role.

", + "PutUserPermissionsBoundaryRequest$PermissionsBoundary": "

The ARN of the policy that is used to set the permissions boundary for the user.

", + "RemoveClientIDFromOpenIDConnectProviderRequest$OpenIDConnectProviderArn": "

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.

", "Role$Arn": "

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.

", "RoleDetail$Arn": null, "SAMLProviderListEntry$Arn": "

The Amazon Resource Name (ARN) of the SAML provider.

", "ServerCertificateMetadata$Arn": "

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.

", "SetDefaultPolicyVersionRequest$PolicyArn": "

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.

", "SimulatePrincipalPolicyRequest$PolicySourceArn": "

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.

", - "UpdateOpenIDConnectProviderThumbprintRequest$OpenIDConnectProviderArn": "

The Amazon Resource Name (ARN) of the IAM OIDC provider resource object for which you want to update the thumbprint. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", + "UpdateOpenIDConnectProviderThumbprintRequest$OpenIDConnectProviderArn": "

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.

", "UpdateSAMLProviderRequest$SAMLProviderArn": "

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$SAMLProviderArn": "

The Amazon Resource Name (ARN) of the SAML provider that was updated.

", "User$Arn": "

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.

", @@ -1815,7 +1877,7 @@ "assignmentStatusType": { "base": null, "refs": { - "ListVirtualMFADevicesRequest$AssignmentStatus": "

The status (Unassigned or Assigned) of the devices to list. If you do not specify an AssignmentStatus, the action defaults to Any which lists both assigned and unassigned virtual MFA devices.

" + "ListVirtualMFADevicesRequest$AssignmentStatus": "

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.

" } }, "attachedPoliciesListType": { @@ -1833,14 +1895,16 @@ "base": null, "refs": { "ManagedPolicyDetail$AttachmentCount": "

The number of principal entities (users, groups, and roles) that the policy is attached to.

", - "Policy$AttachmentCount": "

The number of entities (users, groups, and roles) that the policy is attached to.

" + "ManagedPolicyDetail$PermissionsBoundaryUsageCount": "

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.

", + "Policy$AttachmentCount": "

The number of entities (users, groups, and roles) that the policy is attached to.

", + "Policy$PermissionsBoundaryUsageCount": "

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.

" } }, "authenticationCodeType": { "base": null, "refs": { - "EnableMFADeviceRequest$AuthenticationCode1": "

An authentication code emitted by the device.

The format for this parameter is a string of 6 digits.

Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

", - "EnableMFADeviceRequest$AuthenticationCode2": "

A subsequent authentication code emitted by the device.

The format for this parameter is a string of 6 digits.

Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

", + "EnableMFADeviceRequest$AuthenticationCode1": "

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.

", + "EnableMFADeviceRequest$AuthenticationCode2": "

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.

", "ResyncMFADeviceRequest$AuthenticationCode1": "

An authentication code emitted by the device.

The format for this parameter is a sequence of six digits.

", "ResyncMFADeviceRequest$AuthenticationCode2": "

A subsequent authentication code emitted by the device.

The format for this parameter is a sequence of six digits.

" } @@ -1849,7 +1913,7 @@ "base": null, "refs": { "PasswordPolicy$HardExpiry": "

Specifies whether IAM users are prevented from setting a new password after their password has expired.

", - "UpdateAccountPasswordPolicyRequest$HardExpiry": "

Prevents IAM users from setting a new password after their password has expired.

Default value: false

", + "UpdateAccountPasswordPolicyRequest$HardExpiry": "

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.

", "UpdateLoginProfileRequest$PasswordResetRequired": "

Allows this new password to be used only once by requiring the specified IAM user to set a new password on next sign-in.

" } }, @@ -1857,7 +1921,7 @@ "base": null, "refs": { "CreateLoginProfileRequest$PasswordResetRequired": "

Specifies whether the user is required to set a new password on next sign-in.

", - "CreatePolicyVersionRequest$SetAsDefault": "

Specifies whether to set this version as the policy's default version.

When this parameter is true, the new policy version becomes the operative version; that is, the version that is in effect for the IAM users, groups, and roles that the policy is attached to.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

", + "CreatePolicyVersionRequest$SetAsDefault": "

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.

", "GetAccountAuthorizationDetailsResponse$IsTruncated": "

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.

", "GetGroupResponse$IsTruncated": "

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.

", "ListAccessKeysResponse$IsTruncated": "

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.

", @@ -1885,21 +1949,21 @@ "ListVirtualMFADevicesResponse$IsTruncated": "

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.

", "LoginProfile$PasswordResetRequired": "

Specifies whether the user is required to set a new password on next sign-in.

", "ManagedPolicyDetail$IsAttachable": "

Specifies whether the policy can be attached to an IAM user, group, or role.

", - "OrganizationsDecisionDetail$AllowedByOrganizations": "

Specifies whether the simulated action is allowed by the AWS Organizations service control policies that impact the simulated user's account.

", + "OrganizationsDecisionDetail$AllowedByOrganizations": "

Specifies whether the simulated operation is allowed by the AWS Organizations service control policies that impact the simulated user's account.

", "PasswordPolicy$RequireSymbols": "

Specifies whether to require symbols for IAM user passwords.

", "PasswordPolicy$RequireNumbers": "

Specifies whether to require numbers for IAM user passwords.

", "PasswordPolicy$RequireUppercaseCharacters": "

Specifies whether to require uppercase characters for IAM user passwords.

", "PasswordPolicy$RequireLowercaseCharacters": "

Specifies whether to require lowercase characters for IAM user passwords.

", "PasswordPolicy$AllowUsersToChangePassword": "

Specifies whether IAM users are allowed to change their own password.

", - "PasswordPolicy$ExpirePasswords": "

Indicates whether passwords in the account expire. Returns true if MaxPasswordAge is contains a value greater than 0. Returns false if MaxPasswordAge is 0 or not present.

", + "PasswordPolicy$ExpirePasswords": "

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.

", "Policy$IsAttachable": "

Specifies whether the policy can be attached to an IAM user, group, or role.

", "PolicyVersion$IsDefaultVersion": "

Specifies whether the policy version is set as the policy's default version.

", "SimulatePolicyResponse$IsTruncated": "

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.

", - "UpdateAccountPasswordPolicyRequest$RequireSymbols": "

Specifies whether IAM user passwords must contain at least one of the following non-alphanumeric characters:

! @ # $ % ^ &amp; * ( ) _ + - = [ ] { } | '

Default value: false

", - "UpdateAccountPasswordPolicyRequest$RequireNumbers": "

Specifies whether IAM user passwords must contain at least one numeric character (0 to 9).

Default value: false

", - "UpdateAccountPasswordPolicyRequest$RequireUppercaseCharacters": "

Specifies whether IAM user passwords must contain at least one uppercase character from the ISO basic Latin alphabet (A to Z).

Default value: false

", - "UpdateAccountPasswordPolicyRequest$RequireLowercaseCharacters": "

Specifies whether IAM user passwords must contain at least one lowercase character from the ISO basic Latin alphabet (a to z).

Default value: false

", - "UpdateAccountPasswordPolicyRequest$AllowUsersToChangePassword": "

Allows all IAM users in your account to use the AWS Management Console to change their own passwords. For more information, see Letting IAM Users Change Their Own Passwords in the IAM User Guide.

Default value: false

" + "UpdateAccountPasswordPolicyRequest$RequireSymbols": "

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.

", + "UpdateAccountPasswordPolicyRequest$RequireNumbers": "

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.

", + "UpdateAccountPasswordPolicyRequest$RequireUppercaseCharacters": "

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.

", + "UpdateAccountPasswordPolicyRequest$RequireLowercaseCharacters": "

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.

", + "UpdateAccountPasswordPolicyRequest$AllowUsersToChangePassword": "

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.

" } }, "certificateBodyType": { @@ -1907,15 +1971,15 @@ "refs": { "ServerCertificate$CertificateBody": "

The contents of the public key certificate.

", "SigningCertificate$CertificateBody": "

The contents of the signing certificate.

", - "UploadServerCertificateRequest$CertificateBody": "

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 any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

", - "UploadSigningCertificateRequest$CertificateBody": "

The contents of the signing certificate.

The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "UploadServerCertificateRequest$CertificateBody": "

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)

", + "UploadSigningCertificateRequest$CertificateBody": "

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)

" } }, "certificateChainType": { "base": null, "refs": { "ServerCertificate$CertificateChain": "

The contents of the public key certificate chain.

", - "UploadServerCertificateRequest$CertificateChain": "

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 any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "UploadServerCertificateRequest$CertificateChain": "

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)

" } }, "certificateIdType": { @@ -1927,7 +1991,7 @@ } }, "certificateListType": { - "base": "

Contains a list of signing certificates.

This data type is used as a response element in the ListSigningCertificates action.

", + "base": "

Contains a list of signing certificates.

This data type is used as a response element in the ListSigningCertificates operation.

", "refs": { "ListSigningCertificatesResponse$Certificates": "

A list of the user's signing certificate information.

" } @@ -1935,7 +1999,7 @@ "clientIDListType": { "base": null, "refs": { - "CreateOpenIDConnectProviderRequest$ClientIDList": "

A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.)

You can register multiple client IDs with the same provider. For example, you might have multiple applications that use the same OIDC provider. You cannot register more than 100 client IDs with a single IAM OIDC provider.

There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest action accepts client IDs up to 255 characters long.

", + "CreateOpenIDConnectProviderRequest$ClientIDList": "

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.

", "GetOpenIDConnectProviderResponse$ClientIDList": "

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.

" } }, @@ -1975,7 +2039,7 @@ "base": null, "refs": { "AccessKey$CreateDate": "

The date when the access key was created.

", - "AccessKeyLastUsed$LastUsedDate": "

The date and time, in ISO 8601 date-time format, when the access key was most recently used. This field is null when:

  • The user does not have an access key.

  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

  • There is no sign-in data associated with the user

", + "AccessKeyLastUsed$LastUsedDate": "

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

", "AccessKeyMetadata$CreateDate": "

The date when the access key was created.

", "GetCredentialReportResponse$GeneratedTime": "

The date and time when the credential report was created, in ISO 8601 date-time format.

", "GetOpenIDConnectProviderResponse$CreateDate": "

The date and time when the IAM OIDC provider resource object was created in the AWS account.

", @@ -2003,7 +2067,7 @@ "ServiceSpecificCredentialMetadata$CreateDate": "

The date and time, in ISO 8601 date-time format, when the service-specific credential were created.

", "SigningCertificate$UploadDate": "

The date when the signing certificate was uploaded.

", "User$CreateDate": "

The date and time, in ISO 8601 date-time format, when the user was created.

", - "User$PasswordLastUsed": "

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 actions.

", + "User$PasswordLastUsed": "

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.

", "UserDetail$CreateDate": "

The date and time, in ISO 8601 date-time format, when the user was created.

", "VirtualMFADevice$EnableDate": "

The date and time on which the virtual MFA device was enabled.

" } @@ -2053,30 +2117,30 @@ "existingUserNameType": { "base": null, "refs": { - "AddUserToGroupRequest$UserName": "

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: =,.@-

", - "CreateAccessKeyRequest$UserName": "

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: =,.@-

", - "DeactivateMFADeviceRequest$UserName": "

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: =,.@-

", - "DeleteAccessKeyRequest$UserName": "

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: =,.@-

", - "DeleteSigningCertificateRequest$UserName": "

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: =,.@-

", - "DeleteUserPolicyRequest$UserName": "

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: =,.@-

", - "DeleteUserRequest$UserName": "

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: =,.@-

", - "EnableMFADeviceRequest$UserName": "

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: =,.@-

", + "AddUserToGroupRequest$UserName": "

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: _+=,.@-

", + "CreateAccessKeyRequest$UserName": "

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: _+=,.@-

", + "DeactivateMFADeviceRequest$UserName": "

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: _+=,.@-

", + "DeleteAccessKeyRequest$UserName": "

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: _+=,.@-

", + "DeleteSigningCertificateRequest$UserName": "

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: _+=,.@-

", + "DeleteUserPolicyRequest$UserName": "

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: _+=,.@-

", + "DeleteUserRequest$UserName": "

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: _+=,.@-

", + "EnableMFADeviceRequest$UserName": "

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: _+=,.@-

", "GetAccessKeyLastUsedResponse$UserName": "

The name of the AWS IAM user that owns this access key.

", - "GetUserPolicyRequest$UserName": "

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: =,.@-

", + "GetUserPolicyRequest$UserName": "

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: _+=,.@-

", "GetUserPolicyResponse$UserName": "

The user the policy is associated with.

", - "GetUserRequest$UserName": "

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: =,.@-

", - "ListAccessKeysRequest$UserName": "

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: =,.@-

", - "ListGroupsForUserRequest$UserName": "

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: =,.@-

", - "ListMFADevicesRequest$UserName": "

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: =,.@-

", - "ListSigningCertificatesRequest$UserName": "

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: =,.@-

", - "ListUserPoliciesRequest$UserName": "

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: =,.@-

", - "PutUserPolicyRequest$UserName": "

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: =,.@-

", - "RemoveUserFromGroupRequest$UserName": "

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: =,.@-

", - "ResyncMFADeviceRequest$UserName": "

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: =,.@-

", - "UpdateAccessKeyRequest$UserName": "

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: =,.@-

", - "UpdateSigningCertificateRequest$UserName": "

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: =,.@-

", - "UpdateUserRequest$UserName": "

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: =,.@-

", - "UploadSigningCertificateRequest$UserName": "

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: =,.@-

" + "GetUserRequest$UserName": "

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: _+=,.@-

", + "ListAccessKeysRequest$UserName": "

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: _+=,.@-

", + "ListGroupsForUserRequest$UserName": "

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: _+=,.@-

", + "ListMFADevicesRequest$UserName": "

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: _+=,.@-

", + "ListSigningCertificatesRequest$UserName": "

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: _+=,.@-

", + "ListUserPoliciesRequest$UserName": "

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: _+=,.@-

", + "PutUserPolicyRequest$UserName": "

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: _+=,.@-

", + "RemoveUserFromGroupRequest$UserName": "

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: _+=,.@-

", + "ResyncMFADeviceRequest$UserName": "

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: _+=,.@-

", + "UpdateAccessKeyRequest$UserName": "

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: _+=,.@-

", + "UpdateSigningCertificateRequest$UserName": "

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: _+=,.@-

", + "UpdateUserRequest$UserName": "

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: _+=,.@-

", + "UploadSigningCertificateRequest$UserName": "

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: _+=,.@-

" } }, "groupDetailListType": { @@ -2086,7 +2150,7 @@ } }, "groupListType": { - "base": "

Contains a list of IAM groups.

This data type is used as a response element in the ListGroups action.

", + "base": "

Contains a list of IAM groups.

This data type is used as a response element in the ListGroups operation.

", "refs": { "ListGroupsForUserResponse$Groups": "

A list of groups.

", "ListGroupsResponse$Groups": "

A list of groups.

" @@ -2101,25 +2165,25 @@ "groupNameType": { "base": null, "refs": { - "AddUserToGroupRequest$GroupName": "

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: =,.@-

", - "AttachGroupPolicyRequest$GroupName": "

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: =,.@-

", - "CreateGroupRequest$GroupName": "

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\".

", + "AddUserToGroupRequest$GroupName": "

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: _+=,.@-

", + "AttachGroupPolicyRequest$GroupName": "

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: _+=,.@-

", + "CreateGroupRequest$GroupName": "

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\".

", "CreateServiceLinkedRoleRequest$AWSServiceName": "

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

", - "DeleteGroupPolicyRequest$GroupName": "

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: =,.@-

", - "DeleteGroupRequest$GroupName": "

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: =,.@-

", - "DetachGroupPolicyRequest$GroupName": "

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: =,.@-

", - "GetGroupPolicyRequest$GroupName": "

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: =,.@-

", + "DeleteGroupPolicyRequest$GroupName": "

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: _+=,.@-

", + "DeleteGroupRequest$GroupName": "

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: _+=,.@-

", + "DetachGroupPolicyRequest$GroupName": "

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: _+=,.@-

", + "GetGroupPolicyRequest$GroupName": "

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: _+=,.@-

", "GetGroupPolicyResponse$GroupName": "

The group the policy is associated with.

", - "GetGroupRequest$GroupName": "

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: =,.@-

", + "GetGroupRequest$GroupName": "

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: _+=,.@-

", "Group$GroupName": "

The friendly name that identifies the group.

", "GroupDetail$GroupName": "

The friendly name that identifies the group.

", - "ListAttachedGroupPoliciesRequest$GroupName": "

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: =,.@-

", - "ListGroupPoliciesRequest$GroupName": "

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: =,.@-

", + "ListAttachedGroupPoliciesRequest$GroupName": "

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: _+=,.@-

", + "ListGroupPoliciesRequest$GroupName": "

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: _+=,.@-

", "PolicyGroup$GroupName": "

The name (friendly name, not ARN) identifying the group.

", - "PutGroupPolicyRequest$GroupName": "

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: =,.@-

", - "RemoveUserFromGroupRequest$GroupName": "

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: =,.@-

", - "UpdateGroupRequest$GroupName": "

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: =,.@-

", - "UpdateGroupRequest$NewGroupName": "

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: =,.@-

", + "PutGroupPolicyRequest$GroupName": "

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: _+=,.@-

", + "RemoveUserFromGroupRequest$GroupName": "

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: _+=,.@-

", + "UpdateGroupRequest$GroupName": "

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: _+=,.@-

", + "UpdateGroupRequest$NewGroupName": "

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: _+=,.@-

", "groupNameListType$member": null } }, @@ -2152,12 +2216,12 @@ "instanceProfileNameType": { "base": null, "refs": { - "AddRoleToInstanceProfileRequest$InstanceProfileName": "

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: =,.@-

", - "CreateInstanceProfileRequest$InstanceProfileName": "

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: =,.@-

", - "DeleteInstanceProfileRequest$InstanceProfileName": "

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: =,.@-

", - "GetInstanceProfileRequest$InstanceProfileName": "

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: =,.@-

", + "AddRoleToInstanceProfileRequest$InstanceProfileName": "

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: _+=,.@-

", + "CreateInstanceProfileRequest$InstanceProfileName": "

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: _+=,.@-

", + "DeleteInstanceProfileRequest$InstanceProfileName": "

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: _+=,.@-

", + "GetInstanceProfileRequest$InstanceProfileName": "

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: _+=,.@-

", "InstanceProfile$InstanceProfileName": "

The name identifying the instance profile.

", - "RemoveRoleFromInstanceProfileRequest$InstanceProfileName": "

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: =,.@-

" + "RemoveRoleFromInstanceProfileRequest$InstanceProfileName": "

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: _+=,.@-

" } }, "invalidAuthenticationCodeMessage": { @@ -2305,11 +2369,11 @@ "base": null, "refs": { "PasswordPolicy$MaxPasswordAge": "

The number of days that an IAM user password is valid.

", - "UpdateAccountPasswordPolicyRequest$MaxPasswordAge": "

The number of days that an IAM user password is valid. The default value of 0 means IAM user passwords never expire.

Default value: 0

" + "UpdateAccountPasswordPolicyRequest$MaxPasswordAge": "

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.

" } }, "mfaDeviceListType": { - "base": "

Contains a list of MFA devices.

This data type is used as a response element in the ListMFADevices and ListVirtualMFADevices actions.

", + "base": "

Contains a list of MFA devices.

This data type is used as a response element in the ListMFADevices and ListVirtualMFADevices operations.

", "refs": { "ListMFADevicesResponse$MFADevices": "

A list of MFA devices.

" } @@ -2318,7 +2382,7 @@ "base": null, "refs": { "PasswordPolicy$MinimumPasswordLength": "

Minimum length to require for IAM user passwords.

", - "UpdateAccountPasswordPolicyRequest$MinimumPasswordLength": "

The minimum number of characters allowed in an IAM user password.

Default value: 6

" + "UpdateAccountPasswordPolicyRequest$MinimumPasswordLength": "

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.

" } }, "noSuchEntityMessage": { @@ -2337,47 +2401,47 @@ "base": null, "refs": { "PasswordPolicy$PasswordReusePrevention": "

Specifies the number of previous passwords that IAM users are prevented from reusing.

", - "UpdateAccountPasswordPolicyRequest$PasswordReusePrevention": "

Specifies the number of previous passwords that IAM users are prevented from reusing. The default value of 0 means IAM users are not prevented from reusing previous passwords.

Default value: 0

" + "UpdateAccountPasswordPolicyRequest$PasswordReusePrevention": "

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.

" } }, "passwordType": { "base": null, "refs": { "ChangePasswordRequest$OldPassword": "

The IAM user's current password.

", - "ChangePasswordRequest$NewPassword": "

The new password. The new password must conform to the AWS account's password policy, if one exists.

The regex pattern used to validate this parameter is a string of characters consisting of almost any printable ASCII character from the space (\\u0020) through the end of the ASCII character range (\\u00FF). You can also include the tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) characters. Although any of these characters are valid in a password, note that many tools, such as the AWS Management Console, might restrict the ability to enter certain characters because they have special meaning within that tool.

", - "CreateLoginProfileRequest$Password": "

The new password for the user.

The regex pattern used to validate this parameter is a string of characters consisting of almost any printable ASCII character from the space (\\u0020) through the end of the ASCII character range (\\u00FF). You can also include the tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) characters. Although any of these characters are valid in a password, note that many tools, such as the AWS Management Console, might restrict the ability to enter certain characters because they have special meaning within that tool.

", - "UpdateLoginProfileRequest$Password": "

The new password for the specified IAM user.

The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D). 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.

" + "ChangePasswordRequest$NewPassword": "

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.

", + "CreateLoginProfileRequest$Password": "

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.

", + "UpdateLoginProfileRequest$Password": "

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.

" } }, "pathPrefixType": { "base": null, "refs": { - "ListGroupsRequest$PathPrefix": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "ListInstanceProfilesRequest$PathPrefix": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "ListRolesRequest$PathPrefix": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "ListServerCertificatesRequest$PathPrefix": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "ListUsersRequest$PathPrefix": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "ListGroupsRequest$PathPrefix": "

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.

", + "ListInstanceProfilesRequest$PathPrefix": "

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.

", + "ListRolesRequest$PathPrefix": "

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.

", + "ListServerCertificatesRequest$PathPrefix": "

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.

", + "ListUsersRequest$PathPrefix": "

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.

" } }, "pathType": { "base": null, "refs": { - "CreateGroupRequest$Path": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "CreateInstanceProfileRequest$Path": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "CreateRoleRequest$Path": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "CreateUserRequest$Path": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "CreateVirtualMFADeviceRequest$Path": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", + "CreateGroupRequest$Path": "

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.

", + "CreateInstanceProfileRequest$Path": "

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.

", + "CreateRoleRequest$Path": "

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.

", + "CreateUserRequest$Path": "

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.

", + "CreateVirtualMFADeviceRequest$Path": "

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.

", "Group$Path": "

The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

", "GroupDetail$Path": "

The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

", "InstanceProfile$Path": "

The path to the instance profile. For more information about paths, see IAM Identifiers in the Using IAM guide.

", - "ListEntitiesForPolicyRequest$PathPrefix": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", + "ListEntitiesForPolicyRequest$PathPrefix": "

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.

", "Role$Path": "

The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

", "RoleDetail$Path": "

The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

", "ServerCertificateMetadata$Path": "

The path to the server certificate. For more information about paths, see IAM Identifiers in the Using IAM guide.

", - "UpdateGroupRequest$NewPath": "

New path for the IAM group. Only include this if changing the group's path.

This paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "UpdateServerCertificateRequest$NewPath": "

The new path for the server certificate. Include this only if you are updating the server certificate's path.

This paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "UpdateUserRequest$NewPath": "

New path for the IAM user. Include this parameter only if you're changing the user's path.

This paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "UploadServerCertificateRequest$Path": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

If you are uploading a server certificate specifically for use with Amazon CloudFront distributions, you must specify a path using the --path option. The path must begin with /cloudfront and must include a trailing slash (for example, /cloudfront/test/).

", + "UpdateGroupRequest$NewPath": "

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.

", + "UpdateServerCertificateRequest$NewPath": "

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.

", + "UpdateUserRequest$NewPath": "

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.

", + "UploadServerCertificateRequest$Path": "

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/).

", "User$Path": "

The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

", "UserDetail$Path": "

The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

" } @@ -2401,23 +2465,23 @@ "policyDocumentType": { "base": null, "refs": { - "CreatePolicyRequest$PolicyDocument": "

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 any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

", - "CreatePolicyVersionRequest$PolicyDocument": "

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 any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

", - "CreateRoleRequest$AssumeRolePolicyDocument": "

The trust relationship policy document that grants an entity permission to assume the role.

The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

", + "CreatePolicyRequest$PolicyDocument": "

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)

", + "CreatePolicyVersionRequest$PolicyDocument": "

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)

", + "CreateRoleRequest$AssumeRolePolicyDocument": "

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)

", "GetGroupPolicyResponse$PolicyDocument": "

The policy document.

", "GetRolePolicyResponse$PolicyDocument": "

The policy document.

", "GetUserPolicyResponse$PolicyDocument": "

The policy document.

", "PolicyDetail$PolicyDocument": "

The policy document.

", - "PolicyVersion$Document": "

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.

", - "PutGroupPolicyRequest$PolicyDocument": "

The policy document.

The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

", - "PutRolePolicyRequest$PolicyDocument": "

The policy document.

The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

", - "PutUserPolicyRequest$PolicyDocument": "

The policy document.

The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

", + "PolicyVersion$Document": "

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.

", + "PutGroupPolicyRequest$PolicyDocument": "

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)

", + "PutRolePolicyRequest$PolicyDocument": "

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)

", + "PutUserPolicyRequest$PolicyDocument": "

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)

", "Role$AssumeRolePolicyDocument": "

The policy that grants an entity permission to assume the role.

", "RoleDetail$AssumeRolePolicyDocument": "

The trust policy that grants permission to assume the role.

", - "SimulateCustomPolicyRequest$ResourcePolicy": "

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 any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

", - "SimulatePrincipalPolicyRequest$ResourcePolicy": "

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 any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

", + "SimulateCustomPolicyRequest$ResourcePolicy": "

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)

", + "SimulatePrincipalPolicyRequest$ResourcePolicy": "

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)

", "SimulationPolicyListType$member": null, - "UpdateAssumeRolePolicyRequest$PolicyDocument": "

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 any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "UpdateAssumeRolePolicyRequest$PolicyDocument": "

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)

" } }, "policyDocumentVersionListType": { @@ -2440,9 +2504,9 @@ } }, "policyNameListType": { - "base": "

Contains a list of policy names.

This data type is used as a response element in the ListPolicies action.

", + "base": "

Contains a list of policy names.

This data type is used as a response element in the ListPolicies operation.

", "refs": { - "ListGroupPoliciesResponse$PolicyNames": "

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: =,.@-+

", + "ListGroupPoliciesResponse$PolicyNames": "

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: _+=,.@-

", "ListRolePoliciesResponse$PolicyNames": "

A list of policy names.

", "ListUserPoliciesResponse$PolicyNames": "

A list of policy names.

" } @@ -2451,22 +2515,22 @@ "base": null, "refs": { "AttachedPolicy$PolicyName": "

The friendly name of the attached policy.

", - "CreatePolicyRequest$PolicyName": "

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: =,.@-+

", - "DeleteGroupPolicyRequest$PolicyName": "

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: =,.@-+

", - "DeleteRolePolicyRequest$PolicyName": "

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: =,.@-+

", - "DeleteUserPolicyRequest$PolicyName": "

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: =,.@-+

", - "GetGroupPolicyRequest$PolicyName": "

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: =,.@-+

", + "CreatePolicyRequest$PolicyName": "

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: _+=,.@-

", + "DeleteGroupPolicyRequest$PolicyName": "

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: _+=,.@-

", + "DeleteRolePolicyRequest$PolicyName": "

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: _+=,.@-

", + "DeleteUserPolicyRequest$PolicyName": "

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: _+=,.@-

", + "GetGroupPolicyRequest$PolicyName": "

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$PolicyName": "

The name of the policy.

", - "GetRolePolicyRequest$PolicyName": "

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: =,.@-+

", + "GetRolePolicyRequest$PolicyName": "

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$PolicyName": "

The name of the policy.

", - "GetUserPolicyRequest$PolicyName": "

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: =,.@-+

", + "GetUserPolicyRequest$PolicyName": "

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$PolicyName": "

The name of the policy.

", "ManagedPolicyDetail$PolicyName": "

The friendly name (not ARN) identifying the policy.

", "Policy$PolicyName": "

The friendly name (not ARN) identifying the policy.

", "PolicyDetail$PolicyName": "

The name of the policy.

", - "PutGroupPolicyRequest$PolicyName": "

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: =,.@-+

", - "PutRolePolicyRequest$PolicyName": "

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: =,.@-+

", - "PutUserPolicyRequest$PolicyName": "

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: =,.@-+

", + "PutGroupPolicyRequest$PolicyName": "

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: _+=,.@-

", + "PutRolePolicyRequest$PolicyName": "

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: _+=,.@-

", + "PutUserPolicyRequest$PolicyName": "

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: _+=,.@-

", "policyNameListType$member": null } }, @@ -2479,11 +2543,11 @@ "policyPathType": { "base": null, "refs": { - "CreatePolicyRequest$Path": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "ListAttachedGroupPoliciesRequest$PathPrefix": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "ListAttachedRolePoliciesRequest$PathPrefix": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "ListAttachedUserPoliciesRequest$PathPrefix": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", - "ListPoliciesRequest$PathPrefix": "

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 paramater 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, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

", + "CreatePolicyRequest$Path": "

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.

", + "ListAttachedGroupPoliciesRequest$PathPrefix": "

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.

", + "ListAttachedRolePoliciesRequest$PathPrefix": "

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.

", + "ListAttachedUserPoliciesRequest$PathPrefix": "

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.

", + "ListPoliciesRequest$PathPrefix": "

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.

", "ManagedPolicyDetail$Path": "

The path to the policy.

For more information about paths, see IAM Identifiers in the Using IAM guide.

", "Policy$Path": "

The path to the policy.

For more information about paths, see IAM Identifiers in the Using IAM guide.

" } @@ -2508,7 +2572,7 @@ "privateKeyType": { "base": null, "refs": { - "UploadServerCertificateRequest$PrivateKey": "

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 any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "UploadServerCertificateRequest$PrivateKey": "

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)

" } }, "publicKeyFingerprintType": { @@ -2531,16 +2595,17 @@ "base": null, "refs": { "SSHPublicKey$SSHPublicKeyBody": "

The SSH public key.

", - "UploadSSHPublicKeyRequest$SSHPublicKeyBody": "

The SSH public key. The public key must be encoded in ssh-rsa format or PEM format.

The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "UploadSSHPublicKeyRequest$SSHPublicKeyBody": "

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)

" } }, "roleDescriptionType": { "base": null, "refs": { - "CreateRoleRequest$Description": "

A customer-provided description of the role.

", + "CreateRoleRequest$Description": "

A description of the role.

", "CreateServiceLinkedRoleRequest$Description": "

The description of the role.

", "Role$Description": "

A description of the role that you provide.

", - "UpdateRoleDescriptionRequest$Description": "

The new description that you want to apply to the specified role.

" + "UpdateRoleDescriptionRequest$Description": "

The new description that you want to apply to the specified role.

", + "UpdateRoleRequest$Description": "

The new description that you want to apply to the specified role.

" } }, "roleDetailListType": { @@ -2550,18 +2615,27 @@ } }, "roleListType": { - "base": "

Contains a list of IAM roles.

This data type is used as a response element in the ListRoles action.

", + "base": "

Contains a list of IAM roles.

This data type is used as a response element in the ListRoles operation.

", "refs": { "InstanceProfile$Roles": "

The role associated with the instance profile.

", "ListRolesResponse$Roles": "

A list of roles.

" } }, + "roleMaxSessionDurationType": { + "base": null, + "refs": { + "CreateRoleRequest$MaxSessionDuration": "

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.

", + "Role$MaxSessionDuration": "

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.

", + "UpdateRoleRequest$MaxSessionDuration": "

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.

" + } + }, "roleNameType": { "base": null, "refs": { "AddRoleToInstanceProfileRequest$RoleName": "

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: _+=,.@-

", "AttachRolePolicyRequest$RoleName": "

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: _+=,.@-

", "CreateRoleRequest$RoleName": "

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\".

", + "DeleteRolePermissionsBoundaryRequest$RoleName": "

The name (friendly name, not ARN) of the IAM role from which you want to remove the permissions boundary.

", "DeleteRolePolicyRequest$RoleName": "

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: _+=,.@-

", "DeleteRoleRequest$RoleName": "

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: _+=,.@-

", "DeleteServiceLinkedRoleRequest$RoleName": "

The name of the service-linked role to be deleted.

", @@ -2573,12 +2647,14 @@ "ListInstanceProfilesForRoleRequest$RoleName": "

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: _+=,.@-

", "ListRolePoliciesRequest$RoleName": "

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: _+=,.@-

", "PolicyRole$RoleName": "

The name (friendly name, not ARN) identifying the role.

", + "PutRolePermissionsBoundaryRequest$RoleName": "

The name (friendly name, not ARN) of the IAM role for which you want to set the permissions boundary.

", "PutRolePolicyRequest$RoleName": "

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: _+=,.@-

", "RemoveRoleFromInstanceProfileRequest$RoleName": "

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: _+=,.@-

", "Role$RoleName": "

The friendly name that identifies the role.

", "RoleDetail$RoleName": "

The friendly name that identifies the role.

", "UpdateAssumeRolePolicyRequest$RoleName": "

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: _+=,.@-

", - "UpdateRoleDescriptionRequest$RoleName": "

The name of the role that you want to modify.

" + "UpdateRoleDescriptionRequest$RoleName": "

The name of the role that you want to modify.

", + "UpdateRoleRequest$RoleName": "

The name of the role that you want to modify.

" } }, "serialNumberType": { @@ -2588,7 +2664,7 @@ "DeleteVirtualMFADeviceRequest$SerialNumber": "

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: =,.@:/-

", "EnableMFADeviceRequest$SerialNumber": "

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: =,.@:/-

", "MFADevice$SerialNumber": "

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

", - "ResyncMFADeviceRequest$SerialNumber": "

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: =,.@-

", + "ResyncMFADeviceRequest$SerialNumber": "

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: _+=,.@-

", "VirtualMFADevice$SerialNumber": "

The serial number associated with VirtualMFADevice.

" } }, @@ -2601,12 +2677,12 @@ "serverCertificateNameType": { "base": null, "refs": { - "DeleteServerCertificateRequest$ServerCertificateName": "

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: =,.@-

", - "GetServerCertificateRequest$ServerCertificateName": "

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: =,.@-

", + "DeleteServerCertificateRequest$ServerCertificateName": "

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: _+=,.@-

", + "GetServerCertificateRequest$ServerCertificateName": "

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: _+=,.@-

", "ServerCertificateMetadata$ServerCertificateName": "

The name that identifies the server certificate.

", - "UpdateServerCertificateRequest$ServerCertificateName": "

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: =,.@-

", - "UpdateServerCertificateRequest$NewServerCertificateName": "

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: =,.@-

", - "UploadServerCertificateRequest$ServerCertificateName": "

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: =,.@-

" + "UpdateServerCertificateRequest$ServerCertificateName": "

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: _+=,.@-

", + "UpdateServerCertificateRequest$NewServerCertificateName": "

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: _+=,.@-

", + "UploadServerCertificateRequest$ServerCertificateName": "

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: _+=,.@-

" } }, "serviceFailureExceptionMessage": { @@ -2656,24 +2732,24 @@ "statusType": { "base": null, "refs": { - "AccessKey$Status": "

The status of the access key. Active means the key is valid for API calls, while Inactive means it is not.

", + "AccessKey$Status": "

The status of the access key. Active means that the key is valid for API calls, while Inactive means it is not.

", "AccessKeyMetadata$Status": "

The status of the access key. Active means the key is valid for API calls; Inactive means it is not.

", - "SSHPublicKey$Status": "

The status of the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used.

", - "SSHPublicKeyMetadata$Status": "

The status of the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used.

", - "ServiceSpecificCredential$Status": "

The status of the service-specific credential. Active means the key is valid for API calls, while Inactive means it is not.

", - "ServiceSpecificCredentialMetadata$Status": "

The status of the service-specific credential. Active means the key is valid for API calls, while Inactive means it is not.

", - "SigningCertificate$Status": "

The status of the signing certificate. Active means the key is valid for API calls, while Inactive means it is not.

", - "UpdateAccessKeyRequest$Status": "

The status you want to assign to the secret access key. Active means the key can be used for API calls to AWS, while Inactive means the key cannot be used.

", - "UpdateSSHPublicKeyRequest$Status": "

The status to assign to the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used.

", + "SSHPublicKey$Status": "

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.

", + "SSHPublicKeyMetadata$Status": "

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.

", + "ServiceSpecificCredential$Status": "

The status of the service-specific credential. Active means that the key is valid for API calls, while Inactive means it is not.

", + "ServiceSpecificCredentialMetadata$Status": "

The status of the service-specific credential. Active means that the key is valid for API calls, while Inactive means it is not.

", + "SigningCertificate$Status": "

The status of the signing certificate. Active means that the key is valid for API calls, while Inactive means it is not.

", + "UpdateAccessKeyRequest$Status": "

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.

", + "UpdateSSHPublicKeyRequest$Status": "

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.

", "UpdateServiceSpecificCredentialRequest$Status": "

The status to be assigned to the service-specific credential.

", - "UpdateSigningCertificateRequest$Status": "

The status you want to assign to the certificate. Active means the certificate can be used for API calls to AWS, while Inactive means the certificate cannot be used.

" + "UpdateSigningCertificateRequest$Status": "

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.

" } }, "stringType": { "base": null, "refs": { - "AccessKeyLastUsed$ServiceName": "

The name of the AWS service with which this access key was most recently used. This field displays \"N/A\" when:

  • The user does not have an access key.

  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

  • There is no sign-in data associated with the user

", - "AccessKeyLastUsed$Region": "

The AWS region where this access key was most recently used. This field is displays \"N/A\" when:

  • The user does not have an access key.

  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

  • There is no sign-in data associated with the user

For more information about AWS regions, see Regions and Endpoints in the Amazon Web Services General Reference.

" + "AccessKeyLastUsed$ServiceName": "

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

", + "AccessKeyLastUsed$Region": "

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.

" } }, "summaryKeyType": { @@ -2697,7 +2773,7 @@ "thumbprintListType": { "base": "

Contains a list of thumbprints of identity provider server certificates.

", "refs": { - "CreateOpenIDConnectProviderRequest$ThumbprintList": "

A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). Typically this list includes only one entry. However, IAM lets you have up to five thumbprints for an OIDC provider. This lets you maintain multiple thumbprints if the identity provider is rotating certificates.

The server certificate thumbprint is the hex-encoded SHA-1 hash value of the X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.

You must provide at least one thumbprint when creating an IAM OIDC provider. For example, if the OIDC provider is server.example.com and the provider stores its keys at \"https://keys.server.example.com/openid-connect\", the thumbprint string would be the hex-encoded SHA-1 hash value of the certificate used by https://keys.server.example.com.

For more information about obtaining the OIDC provider's thumbprint, see Obtaining the Thumbprint for an OpenID Connect Provider in the IAM User Guide.

", + "CreateOpenIDConnectProviderRequest$ThumbprintList": "

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.

", "GetOpenIDConnectProviderResponse$ThumbprintList": "

A list of certificate thumbprints that are associated with the specified IAM OIDC provider resource object. For more information, see CreateOpenIDConnectProvider.

", "UpdateOpenIDConnectProviderThumbprintRequest$ThumbprintList": "

A list of certificate thumbprints that are associated with the specified IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider.

" } @@ -2727,7 +2803,7 @@ } }, "userListType": { - "base": "

Contains a list of users.

This data type is used as a response element in the GetGroup and ListUsers actions.

", + "base": "

Contains a list of users.

This data type is used as a response element in the GetGroup and ListUsers operations.

", "refs": { "GetGroupResponse$Users": "

A list of users in the group.

", "ListUsersResponse$Users": "

A list of users.

" @@ -2738,33 +2814,35 @@ "refs": { "AccessKey$UserName": "

The name of the IAM user that the access key is associated with.

", "AccessKeyMetadata$UserName": "

The name of the IAM user that the key is associated with.

", - "AttachUserPolicyRequest$UserName": "

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: =,.@-

", - "CreateLoginProfileRequest$UserName": "

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: =,.@-

", - "CreateServiceSpecificCredentialRequest$UserName": "

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: =,.@-

", - "CreateUserRequest$UserName": "

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\".

", - "DeleteLoginProfileRequest$UserName": "

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: =,.@-

", - "DeleteSSHPublicKeyRequest$UserName": "

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: =,.@-

", - "DeleteServiceSpecificCredentialRequest$UserName": "

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: =,.@-

", - "DetachUserPolicyRequest$UserName": "

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: =,.@-

", - "GetLoginProfileRequest$UserName": "

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: =,.@-

", - "GetSSHPublicKeyRequest$UserName": "

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: =,.@-

", - "ListAttachedUserPoliciesRequest$UserName": "

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: =,.@-

", - "ListSSHPublicKeysRequest$UserName": "

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: =,.@-

", - "ListServiceSpecificCredentialsRequest$UserName": "

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: =,.@-

", + "AttachUserPolicyRequest$UserName": "

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: _+=,.@-

", + "CreateLoginProfileRequest$UserName": "

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: _+=,.@-

", + "CreateServiceSpecificCredentialRequest$UserName": "

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: _+=,.@-

", + "CreateUserRequest$UserName": "

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\".

", + "DeleteLoginProfileRequest$UserName": "

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: _+=,.@-

", + "DeleteSSHPublicKeyRequest$UserName": "

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: _+=,.@-

", + "DeleteServiceSpecificCredentialRequest$UserName": "

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: _+=,.@-

", + "DeleteUserPermissionsBoundaryRequest$UserName": "

The name (friendly name, not ARN) of the IAM user from which you want to remove the permissions boundary.

", + "DetachUserPolicyRequest$UserName": "

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: _+=,.@-

", + "GetLoginProfileRequest$UserName": "

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: _+=,.@-

", + "GetSSHPublicKeyRequest$UserName": "

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: _+=,.@-

", + "ListAttachedUserPoliciesRequest$UserName": "

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: _+=,.@-

", + "ListSSHPublicKeysRequest$UserName": "

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: _+=,.@-

", + "ListServiceSpecificCredentialsRequest$UserName": "

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: _+=,.@-

", "LoginProfile$UserName": "

The name of the user, which can be used for signing in to the AWS Management Console.

", "MFADevice$UserName": "

The user with whom the MFA device is associated.

", "PolicyUser$UserName": "

The name (friendly name, not ARN) identifying the user.

", - "ResetServiceSpecificCredentialRequest$UserName": "

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: =,.@-

", + "PutUserPermissionsBoundaryRequest$UserName": "

The name (friendly name, not ARN) of the IAM user for which you want to set the permissions boundary.

", + "ResetServiceSpecificCredentialRequest$UserName": "

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: _+=,.@-

", "SSHPublicKey$UserName": "

The name of the IAM user associated with the SSH public key.

", "SSHPublicKeyMetadata$UserName": "

The name of the IAM user associated with the SSH public key.

", "ServiceSpecificCredential$UserName": "

The name of the IAM user associated with the service-specific credential.

", "ServiceSpecificCredentialMetadata$UserName": "

The name of the IAM user associated with the service-specific credential.

", "SigningCertificate$UserName": "

The name of the user the signing certificate is associated with.

", - "UpdateLoginProfileRequest$UserName": "

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: =,.@-

", - "UpdateSSHPublicKeyRequest$UserName": "

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: =,.@-

", - "UpdateServiceSpecificCredentialRequest$UserName": "

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: =,.@-

", - "UpdateUserRequest$NewUserName": "

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$UserName": "

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: =,.@-

", + "UpdateLoginProfileRequest$UserName": "

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: _+=,.@-

", + "UpdateSSHPublicKeyRequest$UserName": "

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: _+=,.@-

", + "UpdateServiceSpecificCredentialRequest$UserName": "

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: _+=,.@-

", + "UpdateUserRequest$NewUserName": "

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$UserName": "

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: _+=,.@-

", "User$UserName": "

The friendly name identifying the user.

", "UserDetail$UserName": "

The friendly name identifying the user.

" } @@ -2778,7 +2856,7 @@ "virtualMFADeviceName": { "base": null, "refs": { - "CreateVirtualMFADeviceRequest$VirtualMFADeviceName": "

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: =,.@-

" + "CreateVirtualMFADeviceRequest$VirtualMFADeviceName": "

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: _+=,.@-

" } } } diff --git a/models/apis/iam/2010-05-08/smoke.json b/models/apis/iam/2010-05-08/smoke.json new file mode 100644 index 00000000000..89b5d20bc73 --- /dev/null +++ b/models/apis/iam/2010-05-08/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-east-1", + "testCases": [ + { + "operationName": "ListUsers", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "GetUser", + "input": { + "UserName": "fake_user" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/inspector/2015-08-18/api-2.json b/models/apis/inspector/2015-08-18/api-2.json deleted file mode 100644 index d1a6d91b221..00000000000 --- a/models/apis/inspector/2015-08-18/api-2.json +++ /dev/null @@ -1,1426 +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"} - ] - }, - "AttachAssessmentAndRulesPackage":{ - "name":"AttachAssessmentAndRulesPackage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachAssessmentAndRulesPackageRequest"}, - "output":{"shape":"AttachAssessmentAndRulesPackageResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "CreateApplication":{ - "name":"CreateApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateApplicationRequest"}, - "output":{"shape":"CreateApplicationResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "CreateAssessment":{ - "name":"CreateAssessment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAssessmentRequest"}, - "output":{"shape":"CreateAssessmentResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "CreateResourceGroup":{ - "name":"CreateResourceGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateResourceGroupRequest"}, - "output":{"shape":"CreateResourceGroupResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"} - ] - }, - "DeleteApplication":{ - "name":"DeleteApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteApplicationRequest"}, - "output":{"shape":"DeleteApplicationResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"OperationInProgressException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "DeleteAssessment":{ - "name":"DeleteAssessment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAssessmentRequest"}, - "output":{"shape":"DeleteAssessmentResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"OperationInProgressException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "DeleteRun":{ - "name":"DeleteRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRunRequest"}, - "output":{"shape":"DeleteRunResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "DescribeApplication":{ - "name":"DescribeApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeApplicationRequest"}, - "output":{"shape":"DescribeApplicationResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "DescribeAssessment":{ - "name":"DescribeAssessment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAssessmentRequest"}, - "output":{"shape":"DescribeAssessmentResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "DescribeCrossAccountAccessRole":{ - "name":"DescribeCrossAccountAccessRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{"shape":"DescribeCrossAccountAccessRoleResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"AccessDeniedException"} - ] - }, - "DescribeFinding":{ - "name":"DescribeFinding", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFindingRequest"}, - "output":{"shape":"DescribeFindingResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "DescribeResourceGroup":{ - "name":"DescribeResourceGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeResourceGroupRequest"}, - "output":{"shape":"DescribeResourceGroupResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "DescribeRulesPackage":{ - "name":"DescribeRulesPackage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRulesPackageRequest"}, - "output":{"shape":"DescribeRulesPackageResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "DescribeRun":{ - "name":"DescribeRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRunRequest"}, - "output":{"shape":"DescribeRunResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "DetachAssessmentAndRulesPackage":{ - "name":"DetachAssessmentAndRulesPackage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachAssessmentAndRulesPackageRequest"}, - "output":{"shape":"DetachAssessmentAndRulesPackageResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "GetAssessmentTelemetry":{ - "name":"GetAssessmentTelemetry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAssessmentTelemetryRequest"}, - "output":{"shape":"GetAssessmentTelemetryResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "ListApplications":{ - "name":"ListApplications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListApplicationsRequest"}, - "output":{"shape":"ListApplicationsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListAssessmentAgents":{ - "name":"ListAssessmentAgents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAssessmentAgentsRequest"}, - "output":{"shape":"ListAssessmentAgentsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "ListAssessments":{ - "name":"ListAssessments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAssessmentsRequest"}, - "output":{"shape":"ListAssessmentsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "ListAttachedAssessments":{ - "name":"ListAttachedAssessments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAttachedAssessmentsRequest"}, - "output":{"shape":"ListAttachedAssessmentsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "ListAttachedRulesPackages":{ - "name":"ListAttachedRulesPackages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAttachedRulesPackagesRequest"}, - "output":{"shape":"ListAttachedRulesPackagesResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "ListFindings":{ - "name":"ListFindings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListFindingsRequest"}, - "output":{"shape":"ListFindingsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "ListRulesPackages":{ - "name":"ListRulesPackages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRulesPackagesRequest"}, - "output":{"shape":"ListRulesPackagesResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListRuns":{ - "name":"ListRuns", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRunsRequest"}, - "output":{"shape":"ListRunsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "LocalizeText":{ - "name":"LocalizeText", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"LocalizeTextRequest"}, - "output":{"shape":"LocalizeTextResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "PreviewAgentsForResourceGroup":{ - "name":"PreviewAgentsForResourceGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PreviewAgentsForResourceGroupRequest"}, - "output":{"shape":"PreviewAgentsForResourceGroupResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidCrossAccountRoleException"} - ] - }, - "RegisterCrossAccountAccessRole":{ - "name":"RegisterCrossAccountAccessRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterCrossAccountAccessRoleRequest"}, - "output":{"shape":"RegisterCrossAccountAccessRoleResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InvalidCrossAccountRoleException"} - ] - }, - "RemoveAttributesFromFindings":{ - "name":"RemoveAttributesFromFindings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveAttributesFromFindingsRequest"}, - "output":{"shape":"RemoveAttributesFromFindingsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "RunAssessment":{ - "name":"RunAssessment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunAssessmentRequest"}, - "output":{"shape":"RunAssessmentResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "SetTagsForResource":{ - "name":"SetTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetTagsForResourceRequest"}, - "output":{"shape":"SetTagsForResourceResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "StartDataCollection":{ - "name":"StartDataCollection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartDataCollectionRequest"}, - "output":{"shape":"StartDataCollectionResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidCrossAccountRoleException"} - ] - }, - "StopDataCollection":{ - "name":"StopDataCollection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopDataCollectionRequest"}, - "output":{"shape":"StopDataCollectionResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "UpdateApplication":{ - "name":"UpdateApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateApplicationRequest"}, - "output":{"shape":"UpdateApplicationResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - }, - "UpdateAssessment":{ - "name":"UpdateAssessment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAssessmentRequest"}, - "output":{"shape":"UpdateAssessmentResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ] - } - }, - "shapes":{ - "AccessDeniedException":{ - "type":"structure", - "members":{ - }, - "exception":true - }, - "AddAttributesToFindingsRequest":{ - "type":"structure", - "required":[ - "findingArns", - "attributes" - ], - "members":{ - "findingArns":{"shape":"ArnList"}, - "attributes":{"shape":"AttributeList"} - } - }, - "AddAttributesToFindingsResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - } - }, - "Agent":{ - "type":"structure", - "members":{ - "agentId":{"shape":"AgentId"}, - "assessmentArn":{"shape":"Arn"}, - "agentHealth":{"shape":"AgentHealth"}, - "agentHealthCode":{"shape":"AgentHealthCode"}, - "agentHealthDetails":{"shape":"AgentHealthDetails"}, - "autoScalingGroup":{"shape":"AutoScalingGroup"}, - "accountId":{"shape":"AwsAccount"}, - "telemetry":{"shape":"TelemetryList"} - } - }, - "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"}, - "autoScalingGroup":{"shape":"AutoScalingGroup"} - } - }, - "AgentPreviewList":{ - "type":"list", - "member":{"shape":"AgentPreview"} - }, - "AgentsFilter":{ - "type":"structure", - "members":{ - "agentHealthList":{"shape":"AgentHealthList"} - } - }, - "Application":{ - "type":"structure", - "members":{ - "applicationArn":{"shape":"Arn"}, - "applicationName":{"shape":"Name"}, - "resourceGroupArn":{"shape":"Arn"} - } - }, - "ApplicationsFilter":{ - "type":"structure", - "members":{ - "applicationNamePatterns":{"shape":"NamePatternList"} - } - }, - "Arn":{"type":"string"}, - "ArnList":{ - "type":"list", - "member":{"shape":"Arn"} - }, - "Assessment":{ - "type":"structure", - "members":{ - "assessmentArn":{"shape":"Arn"}, - "assessmentName":{"shape":"Name"}, - "applicationArn":{"shape":"Arn"}, - "assessmentState":{"shape":"AssessmentState"}, - "failureMessage":{"shape":"FailureMessage"}, - "dataCollected":{"shape":"Bool"}, - "startTime":{"shape":"Timestamp"}, - "endTime":{"shape":"Timestamp"}, - "durationInSeconds":{"shape":"Duration"}, - "userAttributesForFindings":{"shape":"AttributeList"} - } - }, - "AssessmentState":{"type":"string"}, - "AssessmentStateList":{ - "type":"list", - "member":{"shape":"AssessmentState"} - }, - "AssessmentsFilter":{ - "type":"structure", - "members":{ - "assessmentNamePatterns":{"shape":"NamePatternList"}, - "assessmentStates":{"shape":"AssessmentStateList"}, - "dataCollected":{"shape":"Bool"}, - "startTimeRange":{"shape":"TimestampRange"}, - "endTimeRange":{"shape":"TimestampRange"}, - "durationRange":{"shape":"DurationRange"} - } - }, - "AttachAssessmentAndRulesPackageRequest":{ - "type":"structure", - "required":[ - "assessmentArn", - "rulesPackageArn" - ], - "members":{ - "assessmentArn":{"shape":"Arn"}, - "rulesPackageArn":{"shape":"Arn"} - } - }, - "AttachAssessmentAndRulesPackageResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - } - }, - "Attribute":{ - "type":"structure", - "members":{ - "key":{"shape":"AttributeKey"}, - "value":{"shape":"AttributeValue"} - } - }, - "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"}, - "resourceGroupArn":{"shape":"Arn"} - } - }, - "CreateApplicationResponse":{ - "type":"structure", - "members":{ - "applicationArn":{"shape":"Arn"} - } - }, - "CreateAssessmentRequest":{ - "type":"structure", - "required":[ - "applicationArn", - "assessmentName", - "durationInSeconds" - ], - "members":{ - "applicationArn":{"shape":"Arn"}, - "assessmentName":{"shape":"Name"}, - "durationInSeconds":{"shape":"Duration"}, - "userAttributesForFindings":{"shape":"AttributeList"} - } - }, - "CreateAssessmentResponse":{ - "type":"structure", - "members":{ - "assessmentArn":{"shape":"Arn"} - } - }, - "CreateResourceGroupRequest":{ - "type":"structure", - "required":["resourceGroupTags"], - "members":{ - "resourceGroupTags":{"shape":"ResourceGroupTags"} - } - }, - "CreateResourceGroupResponse":{ - "type":"structure", - "members":{ - "resourceGroupArn":{"shape":"Arn"} - } - }, - "DeleteApplicationRequest":{ - "type":"structure", - "required":["applicationArn"], - "members":{ - "applicationArn":{"shape":"Arn"} - } - }, - "DeleteApplicationResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - } - }, - "DeleteAssessmentRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{"shape":"Arn"} - } - }, - "DeleteAssessmentResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - } - }, - "DeleteRunRequest":{ - "type":"structure", - "required":["runArn"], - "members":{ - "runArn":{"shape":"Arn"} - } - }, - "DeleteRunResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - } - }, - "DescribeApplicationRequest":{ - "type":"structure", - "required":["applicationArn"], - "members":{ - "applicationArn":{"shape":"Arn"} - } - }, - "DescribeApplicationResponse":{ - "type":"structure", - "members":{ - "application":{"shape":"Application"} - } - }, - "DescribeAssessmentRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{"shape":"Arn"} - } - }, - "DescribeAssessmentResponse":{ - "type":"structure", - "members":{ - "assessment":{"shape":"Assessment"} - } - }, - "DescribeCrossAccountAccessRoleResponse":{ - "type":"structure", - "members":{ - "roleArn":{"shape":"Arn"}, - "valid":{"shape":"Bool"} - } - }, - "DescribeFindingRequest":{ - "type":"structure", - "required":["findingArn"], - "members":{ - "findingArn":{"shape":"Arn"} - } - }, - "DescribeFindingResponse":{ - "type":"structure", - "members":{ - "finding":{"shape":"Finding"} - } - }, - "DescribeResourceGroupRequest":{ - "type":"structure", - "required":["resourceGroupArn"], - "members":{ - "resourceGroupArn":{"shape":"Arn"} - } - }, - "DescribeResourceGroupResponse":{ - "type":"structure", - "members":{ - "resourceGroup":{"shape":"ResourceGroup"} - } - }, - "DescribeRulesPackageRequest":{ - "type":"structure", - "required":["rulesPackageArn"], - "members":{ - "rulesPackageArn":{"shape":"Arn"} - } - }, - "DescribeRulesPackageResponse":{ - "type":"structure", - "members":{ - "rulesPackage":{"shape":"RulesPackage"} - } - }, - "DescribeRunRequest":{ - "type":"structure", - "required":["runArn"], - "members":{ - "runArn":{"shape":"Arn"} - } - }, - "DescribeRunResponse":{ - "type":"structure", - "members":{ - "run":{"shape":"Run"} - } - }, - "DetachAssessmentAndRulesPackageRequest":{ - "type":"structure", - "required":[ - "assessmentArn", - "rulesPackageArn" - ], - "members":{ - "assessmentArn":{"shape":"Arn"}, - "rulesPackageArn":{"shape":"Arn"} - } - }, - "DetachAssessmentAndRulesPackageResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - } - }, - "Duration":{"type":"integer"}, - "DurationRange":{ - "type":"structure", - "members":{ - "minimum":{"shape":"Duration"}, - "maximum":{"shape":"Duration"} - } - }, - "FailureMessage":{"type":"string"}, - "Finding":{ - "type":"structure", - "members":{ - "findingArn":{"shape":"Arn"}, - "runArn":{"shape":"Arn"}, - "rulesPackageArn":{"shape":"Arn"}, - "ruleName":{"shape":"Name"}, - "agentId":{"shape":"AgentId"}, - "autoScalingGroup":{"shape":"AutoScalingGroup"}, - "severity":{"shape":"Severity"}, - "finding":{"shape":"LocalizedText"}, - "description":{"shape":"LocalizedText"}, - "recommendation":{"shape":"LocalizedText"}, - "attributes":{"shape":"AttributeList"}, - "userAttributes":{"shape":"AttributeList"} - } - }, - "FindingsFilter":{ - "type":"structure", - "members":{ - "rulesPackageArns":{"shape":"ArnList"}, - "ruleNames":{"shape":"NameList"}, - "severities":{"shape":"SeverityList"}, - "attributes":{"shape":"AttributeList"}, - "userAttributes":{"shape":"AttributeList"} - } - }, - "GetAssessmentTelemetryRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{"shape":"Arn"} - } - }, - "GetAssessmentTelemetryResponse":{ - "type":"structure", - "members":{ - "telemetry":{"shape":"TelemetryList"} - } - }, - "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"}, - "nextToken":{"shape":"PaginationToken"}, - "maxResults":{"shape":"Integer"} - } - }, - "ListApplicationsResponse":{ - "type":"structure", - "members":{ - "applicationArnList":{"shape":"ArnList"}, - "nextToken":{"shape":"PaginationToken"} - } - }, - "ListAssessmentAgentsRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{"shape":"Arn"}, - "filter":{"shape":"AgentsFilter"}, - "nextToken":{"shape":"PaginationToken"}, - "maxResults":{"shape":"Integer"} - } - }, - "ListAssessmentAgentsResponse":{ - "type":"structure", - "members":{ - "agentList":{"shape":"AgentList"}, - "nextToken":{"shape":"PaginationToken"} - } - }, - "ListAssessmentsRequest":{ - "type":"structure", - "members":{ - "applicationArns":{"shape":"ArnList"}, - "filter":{"shape":"AssessmentsFilter"}, - "nextToken":{"shape":"PaginationToken"}, - "maxResults":{"shape":"Integer"} - } - }, - "ListAssessmentsResponse":{ - "type":"structure", - "members":{ - "assessmentArnList":{"shape":"ArnList"}, - "nextToken":{"shape":"PaginationToken"} - } - }, - "ListAttachedAssessmentsRequest":{ - "type":"structure", - "required":["rulesPackageArn"], - "members":{ - "rulesPackageArn":{"shape":"Arn"}, - "filter":{"shape":"AssessmentsFilter"}, - "nextToken":{"shape":"PaginationToken"}, - "maxResults":{"shape":"Integer"} - } - }, - "ListAttachedAssessmentsResponse":{ - "type":"structure", - "members":{ - "assessmentArnList":{"shape":"ArnList"}, - "nextToken":{"shape":"PaginationToken"} - } - }, - "ListAttachedRulesPackagesRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{"shape":"Arn"}, - "nextToken":{"shape":"PaginationToken"}, - "maxResults":{"shape":"Integer"} - } - }, - "ListAttachedRulesPackagesResponse":{ - "type":"structure", - "members":{ - "rulesPackageArnList":{"shape":"ArnList"}, - "nextToken":{"shape":"PaginationToken"} - } - }, - "ListFindingsRequest":{ - "type":"structure", - "members":{ - "runArns":{"shape":"ArnList"}, - "filter":{"shape":"FindingsFilter"}, - "nextToken":{"shape":"PaginationToken"}, - "maxResults":{"shape":"Integer"} - } - }, - "ListFindingsResponse":{ - "type":"structure", - "members":{ - "findingArnList":{"shape":"ArnList"}, - "nextToken":{"shape":"PaginationToken"} - } - }, - "ListRulesPackagesRequest":{ - "type":"structure", - "members":{ - "nextToken":{"shape":"PaginationToken"}, - "maxResults":{"shape":"Integer"} - } - }, - "ListRulesPackagesResponse":{ - "type":"structure", - "members":{ - "rulesPackageArnList":{"shape":"ArnList"}, - "nextToken":{"shape":"PaginationToken"} - } - }, - "ListRunsRequest":{ - "type":"structure", - "members":{ - "assessmentArns":{"shape":"ArnList"}, - "filter":{"shape":"RunsFilter"}, - "nextToken":{"shape":"PaginationToken"}, - "maxResults":{"shape":"Integer"} - } - }, - "ListRunsResponse":{ - "type":"structure", - "members":{ - "runArnList":{"shape":"ArnList"}, - "nextToken":{"shape":"PaginationToken"} - } - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["resourceArn"], - "members":{ - "resourceArn":{"shape":"Arn"} - } - }, - "ListTagsForResourceResponse":{ - "type":"structure", - "members":{ - "tagList":{"shape":"TagList"} - } - }, - "Locale":{"type":"string"}, - "LocalizeTextRequest":{ - "type":"structure", - "required":[ - "localizedTexts", - "locale" - ], - "members":{ - "localizedTexts":{"shape":"LocalizedTextList"}, - "locale":{"shape":"Locale"} - } - }, - "LocalizeTextResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"}, - "results":{"shape":"TextList"} - } - }, - "LocalizedFacility":{"type":"string"}, - "LocalizedText":{ - "type":"structure", - "members":{ - "key":{"shape":"LocalizedTextKey"}, - "parameters":{"shape":"ParameterList"} - } - }, - "LocalizedTextId":{"type":"string"}, - "LocalizedTextKey":{ - "type":"structure", - "members":{ - "facility":{"shape":"LocalizedFacility"}, - "id":{"shape":"LocalizedTextId"} - } - }, - "LocalizedTextList":{ - "type":"list", - "member":{"shape":"LocalizedText"} - }, - "Long":{"type":"long"}, - "Message":{"type":"string"}, - "MessageType":{"type":"string"}, - "MessageTypeTelemetry":{ - "type":"structure", - "members":{ - "messageType":{"shape":"MessageType"}, - "count":{"shape":"Long"}, - "dataSize":{"shape":"Long"} - } - }, - "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"}, - "value":{"shape":"ParameterValue"} - } - }, - "ParameterList":{ - "type":"list", - "member":{"shape":"Parameter"} - }, - "ParameterName":{"type":"string"}, - "ParameterValue":{"type":"string"}, - "PreviewAgentsForResourceGroupRequest":{ - "type":"structure", - "required":["resourceGroupArn"], - "members":{ - "resourceGroupArn":{"shape":"Arn"}, - "nextToken":{"shape":"PaginationToken"}, - "maxResults":{"shape":"Integer"} - } - }, - "PreviewAgentsForResourceGroupResponse":{ - "type":"structure", - "members":{ - "agentPreviewList":{"shape":"AgentPreviewList"}, - "nextToken":{"shape":"PaginationToken"} - } - }, - "RegisterCrossAccountAccessRoleRequest":{ - "type":"structure", - "required":["roleArn"], - "members":{ - "roleArn":{"shape":"Arn"} - } - }, - "RegisterCrossAccountAccessRoleResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - } - }, - "RemoveAttributesFromFindingsRequest":{ - "type":"structure", - "required":[ - "findingArns", - "attributeKeys" - ], - "members":{ - "findingArns":{"shape":"ArnList"}, - "attributeKeys":{"shape":"AttributeKeyList"} - } - }, - "RemoveAttributesFromFindingsResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - } - }, - "ResourceGroup":{ - "type":"structure", - "members":{ - "resourceGroupArn":{"shape":"Arn"}, - "resourceGroupTags":{"shape":"ResourceGroupTags"} - } - }, - "ResourceGroupTags":{"type":"string"}, - "RulesPackage":{ - "type":"structure", - "members":{ - "rulesPackageArn":{"shape":"Arn"}, - "rulesPackageName":{"shape":"Name"}, - "version":{"shape":"Version"}, - "provider":{"shape":"Name"}, - "description":{"shape":"LocalizedText"} - } - }, - "Run":{ - "type":"structure", - "members":{ - "runArn":{"shape":"Arn"}, - "runName":{"shape":"Name"}, - "assessmentArn":{"shape":"Arn"}, - "runState":{"shape":"RunState"}, - "rulesPackages":{"shape":"ArnList"}, - "creationTime":{"shape":"Timestamp"}, - "completionTime":{"shape":"Timestamp"} - } - }, - "RunAssessmentRequest":{ - "type":"structure", - "required":[ - "assessmentArn", - "runName" - ], - "members":{ - "assessmentArn":{"shape":"Arn"}, - "runName":{"shape":"Name"} - } - }, - "RunAssessmentResponse":{ - "type":"structure", - "members":{ - "runArn":{"shape":"Arn"} - } - }, - "RunState":{"type":"string"}, - "RunStateList":{ - "type":"list", - "member":{"shape":"RunState"} - }, - "RunsFilter":{ - "type":"structure", - "members":{ - "runNamePatterns":{"shape":"NamePatternList"}, - "runStates":{"shape":"RunStateList"}, - "rulesPackages":{"shape":"ArnList"}, - "creationTime":{"shape":"TimestampRange"}, - "completionTime":{"shape":"TimestampRange"} - } - }, - "SetTagsForResourceRequest":{ - "type":"structure", - "required":["resourceArn"], - "members":{ - "resourceArn":{"shape":"Arn"}, - "tags":{"shape":"TagList"} - } - }, - "SetTagsForResourceResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - } - }, - "Severity":{"type":"string"}, - "SeverityList":{ - "type":"list", - "member":{"shape":"Severity"} - }, - "StartDataCollectionRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{"shape":"Arn"} - } - }, - "StartDataCollectionResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - } - }, - "StopDataCollectionRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{"shape":"Arn"} - } - }, - "StopDataCollectionResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - } - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{"shape":"TagKey"}, - "Value":{"shape":"TagValue"} - } - }, - "TagKey":{"type":"string"}, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagValue":{"type":"string"}, - "Telemetry":{ - "type":"structure", - "members":{ - "status":{"shape":"TelemetryStatus"}, - "messageTypeTelemetries":{"shape":"MessageTypeTelemetryList"} - } - }, - "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"}, - "maximum":{"shape":"Timestamp"} - } - }, - "UpdateApplicationRequest":{ - "type":"structure", - "required":[ - "applicationArn", - "applicationName", - "resourceGroupArn" - ], - "members":{ - "applicationArn":{"shape":"Arn"}, - "applicationName":{"shape":"Name"}, - "resourceGroupArn":{"shape":"Arn"} - } - }, - "UpdateApplicationResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - } - }, - "UpdateAssessmentRequest":{ - "type":"structure", - "required":[ - "assessmentArn", - "assessmentName", - "durationInSeconds" - ], - "members":{ - "assessmentArn":{"shape":"Arn"}, - "assessmentName":{"shape":"Name"}, - "durationInSeconds":{"shape":"Duration"} - } - }, - "UpdateAssessmentResponse":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - } - }, - "Version":{"type":"string"} - } -} diff --git a/models/apis/inspector/2015-08-18/docs-2.json b/models/apis/inspector/2015-08-18/docs-2.json deleted file mode 100644 index a7ef77a7e1d..00000000000 --- a/models/apis/inspector/2015-08-18/docs-2.json +++ /dev/null @@ -1,1016 +0,0 @@ -{ - "version": "2.0", - "service": "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.

", - "operations": { - "AddAttributesToFindings": "

Assigns attributes (key and value pair) to the findings specified by the findings' ARNs.

", - "AttachAssessmentAndRulesPackage": "

Attaches the rules package specified by the rules package ARN to the assessment specified by the assessment ARN.

", - "CreateApplication": "

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": "

Creates an assessment for the application specified by the application ARN. You can create up to 500 assessments per AWS account.

", - "CreateResourceGroup": "

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": "

Deletes the application specified by the application ARN.

", - "DeleteAssessment": "

Deletes the assessment specified by the assessment ARN.

", - "DeleteRun": "

Deletes the assessment run specified by the run ARN.

", - "DescribeApplication": "

Describes the application specified by the application ARN.

", - "DescribeAssessment": "

Describes the assessment specified by the assessment ARN.

", - "DescribeCrossAccountAccessRole": "

Describes the IAM role that enables Inspector to access your AWS account.

", - "DescribeFinding": "

Describes the finding specified by the finding ARN.

", - "DescribeResourceGroup": "

Describes the resource group specified by the resource group ARN.

", - "DescribeRulesPackage": "

Describes the rules package specified by the rules package ARN.

", - "DescribeRun": "

Describes the assessment run specified by the run ARN.

", - "DetachAssessmentAndRulesPackage": "

Detaches the rules package specified by the rules package ARN from the assessment specified by the assessment ARN.

", - "GetAssessmentTelemetry": "

Returns the metadata about the telemetry (application behavioral data) for the assessment specified by the assessment ARN.

", - "ListApplications": "

Lists the ARNs of the applications within this AWS account. For more information about applications, see Inspector Applications.

", - "ListAssessmentAgents": "

Lists the agents of the assessment specified by the assessment ARN.

", - "ListAssessments": "

Lists the assessments corresponding to applications specified by the applications' ARNs.

", - "ListAttachedAssessments": "

Lists the assessments attached to the rules package specified by the rules package ARN.

", - "ListAttachedRulesPackages": "

Lists the rules packages attached to the assessment specified by the assessment ARN.

", - "ListFindings": "

Lists findings generated by the assessment run specified by the run ARNs.

", - "ListRulesPackages": "

Lists all available Inspector rules packages.

", - "ListRuns": "

Lists the assessment runs associated with the assessments specified by the assessment ARNs.

", - "ListTagsForResource": "

Lists all tags associated with a resource.

", - "LocalizeText": "

Translates a textual identifier into a user-readable text in a specified locale.

", - "PreviewAgentsForResourceGroup": "

Previews the agents installed on the EC2 instances that are included in the application created with the specified resource group.

", - "RegisterCrossAccountAccessRole": "

Register the role that Inspector uses to list your EC2 instances during the assessment.

", - "RemoveAttributesFromFindings": "

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": "

Starts the analysis of the application’s behavior against selected rule packages for the assessment specified by the assessment ARN.

", - "SetTagsForResource": "

Sets tags (key and value pairs) to the assessment specified by the assessment ARN.

", - "StartDataCollection": "

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": "

Stop data collection for the assessment specified by the assessment ARN.

", - "UpdateApplication": "

Updates application specified by the application ARN.

", - "UpdateAssessment": "

Updates the assessment specified by the assessment ARN.

" - }, - "shapes": { - "AccessDeniedException": { - "base": null, - "refs": { - } - }, - "AddAttributesToFindingsRequest": { - "base": null, - "refs": { - } - }, - "AddAttributesToFindingsResponse": { - "base": null, - "refs": { - } - }, - "Agent": { - "base": "

Contains information about an Inspector agent. This data type is used as a response element in the ListAssessmentAgents action.

", - "refs": { - "AgentList$member": null - } - }, - "AgentHealth": { - "base": null, - "refs": { - "Agent$agentHealth": "

The current health state of the agent. Values can be set to HEALTHY or UNHEALTHY.

", - "AgentHealthList$member": null - } - }, - "AgentHealthCode": { - "base": null, - "refs": { - "Agent$agentHealthCode": "

The detailed health state of the agent. Values can be set to RUNNING, HEALTHY, UNHEALTHY, UNKNOWN, BLACKLISTED, SHUTDOWN, THROTTLED.

" - } - }, - "AgentHealthDetails": { - "base": null, - "refs": { - "Agent$agentHealthDetails": "

The description for the agent health code.

" - } - }, - "AgentHealthList": { - "base": null, - "refs": { - "AgentsFilter$agentHealthList": "

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.

" - } - }, - "AgentId": { - "base": null, - "refs": { - "Agent$agentId": "

The EC2 instance ID where the agent is installed.

", - "AgentPreview$agentId": "

The id of the EC2 instance where the agent is intalled.

", - "Finding$agentId": "

The EC2 instance ID where the agent is installed that is used during the assessment that generates the finding.

" - } - }, - "AgentList": { - "base": null, - "refs": { - "ListAssessmentAgentsResponse$agentList": "

A list of ARNs specifying the agents returned by the action.

" - } - }, - "AgentPreview": { - "base": "

This data type is used as a response element in the PreviewAgentsForResourceGroup action.

", - "refs": { - "AgentPreviewList$member": null - } - }, - "AgentPreviewList": { - "base": null, - "refs": { - "PreviewAgentsForResourceGroupResponse$agentPreviewList": "

The resulting list of agents.

" - } - }, - "AgentsFilter": { - "base": "

This data type is used as a response element in the ListAssessmentAgents action.

", - "refs": { - "ListAssessmentAgentsRequest$filter": "

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.

" - } - }, - "Application": { - "base": "

Contains information about an Inspector application.

This data type is used as the response element in the DescribeApplication action.

", - "refs": { - "DescribeApplicationResponse$application": "

Information about the application.

" - } - }, - "ApplicationsFilter": { - "base": "

This data type is used as the request parameter in the ListApplications action.

", - "refs": { - "ListApplicationsRequest$filter": "

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.

" - } - }, - "Arn": { - "base": null, - "refs": { - "Agent$assessmentArn": "

The ARN of the assessment that is associated with the agent.

", - "Application$applicationArn": "

The ARN specifying the Inspector application.

", - "Application$resourceGroupArn": "

The ARN specifying the resource group that is associated with the application.

", - "ArnList$member": null, - "Assessment$assessmentArn": "

The ARN of the assessment.

", - "Assessment$applicationArn": "

The ARN of the application that corresponds to this assessment.

", - "AttachAssessmentAndRulesPackageRequest$assessmentArn": "

The ARN specifying the assessment to which you want to attach a rules package.

", - "AttachAssessmentAndRulesPackageRequest$rulesPackageArn": "

The ARN specifying the rules package that you want to attach to the assessment.

", - "CreateApplicationRequest$resourceGroupArn": "

The ARN specifying the resource group that is used to create the application.

", - "CreateApplicationResponse$applicationArn": "

The ARN specifying the application that is created.

", - "CreateAssessmentRequest$applicationArn": "

The ARN specifying the application for which you want to create an assessment.

", - "CreateAssessmentResponse$assessmentArn": "

The ARN specifying the assessment that is created.

", - "CreateResourceGroupResponse$resourceGroupArn": "

The ARN specifying the resource group that is created.

", - "DeleteApplicationRequest$applicationArn": "

The ARN specifying the application that you want to delete.

", - "DeleteAssessmentRequest$assessmentArn": "

The ARN specifying the assessment that you want to delete.

", - "DeleteRunRequest$runArn": "

The ARN specifying the assessment run that you want to delete.

", - "DescribeApplicationRequest$applicationArn": "

The ARN specifying the application that you want to describe.

", - "DescribeAssessmentRequest$assessmentArn": "

The ARN specifying the assessment that you want to describe.

", - "DescribeCrossAccountAccessRoleResponse$roleArn": "

The ARN specifying the IAM role that Inspector uses to access your AWS account.

", - "DescribeFindingRequest$findingArn": "

The ARN specifying the finding that you want to describe.

", - "DescribeResourceGroupRequest$resourceGroupArn": "

The ARN specifying the resource group that you want to describe.

", - "DescribeRulesPackageRequest$rulesPackageArn": "

The ARN specifying the rules package that you want to describe.

", - "DescribeRunRequest$runArn": "

The ARN specifying the assessment run that you want to describe.

", - "DetachAssessmentAndRulesPackageRequest$assessmentArn": "

The ARN specifying the assessment from which you want to detach a rules package.

", - "DetachAssessmentAndRulesPackageRequest$rulesPackageArn": "

The ARN specifying the rules package that you want to detach from the assessment.

", - "Finding$findingArn": "

The ARN specifying the finding.

", - "Finding$runArn": "

The ARN of the assessment run that generated the finding.

", - "Finding$rulesPackageArn": "

The ARN of the rules package that is used to generate the finding.

", - "GetAssessmentTelemetryRequest$assessmentArn": "

The ARN specifying the assessment the telemetry of which you want to obtain.

", - "ListAssessmentAgentsRequest$assessmentArn": "

The ARN specifying the assessment whose agents you want to list.

", - "ListAttachedAssessmentsRequest$rulesPackageArn": "

The ARN specifying the rules package whose assessments you want to list.

", - "ListAttachedRulesPackagesRequest$assessmentArn": "

The ARN specifying the assessment whose rules packages you want to list.

", - "ListTagsForResourceRequest$resourceArn": "

The ARN specifying the resource whose tags you want to list.

", - "PreviewAgentsForResourceGroupRequest$resourceGroupArn": "

The ARN of the resource group that is used to create an application.

", - "RegisterCrossAccountAccessRoleRequest$roleArn": "The ARN of the IAM role that Inspector uses to list your EC2 instances during the assessment.", - "ResourceGroup$resourceGroupArn": "

The ARN of the resource group.

", - "RulesPackage$rulesPackageArn": "

The ARN of the rules package.

", - "Run$runArn": "

The ARN of the run.

", - "Run$assessmentArn": "

The ARN of the assessment that is associated with the run.

", - "RunAssessmentRequest$assessmentArn": "

The ARN of the assessment that you want to run.

", - "RunAssessmentResponse$runArn": "

The ARN specifying the run of the assessment.

", - "SetTagsForResourceRequest$resourceArn": "

The ARN of the assessment that you want to set tags to.

", - "StartDataCollectionRequest$assessmentArn": "

The ARN of the assessment for which you want to start the data collection process.

", - "StopDataCollectionRequest$assessmentArn": "

The ARN of the assessment for which you want to stop the data collection process.

", - "UpdateApplicationRequest$applicationArn": "

Application ARN that you want to update.

", - "UpdateApplicationRequest$resourceGroupArn": "

The resource group ARN that you want to update.

", - "UpdateAssessmentRequest$assessmentArn": "

Asessment ARN that you want to update.

" - } - }, - "ArnList": { - "base": null, - "refs": { - "AddAttributesToFindingsRequest$findingArns": "

The ARNs specifying the findings that you want to assign attributes to.

", - "FindingsFilter$rulesPackageArns": "

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.

", - "ListApplicationsResponse$applicationArnList": "

A list of ARNs specifying the applications returned by the action.

", - "ListAssessmentsRequest$applicationArns": "

A list of ARNs specifying the applications the assessments of which you want to list.

", - "ListAssessmentsResponse$assessmentArnList": "

A list of ARNs specifying the assessments returned by the action.

", - "ListAttachedAssessmentsResponse$assessmentArnList": "

A list of ARNs specifying the assessments returned by the action.

", - "ListAttachedRulesPackagesResponse$rulesPackageArnList": "

A list of ARNs specifying the rules packages returned by the action.

", - "ListFindingsRequest$runArns": "

The ARNs of the assessment runs that generate the findings that you want to list.

", - "ListFindingsResponse$findingArnList": "

A list of ARNs specifying the findings returned by the action.

", - "ListRulesPackagesResponse$rulesPackageArnList": "

The list of ARNs specifying the rules packages returned by the action.

", - "ListRunsRequest$assessmentArns": "

The ARNs specifying the assessments whose runs you want to list.

", - "ListRunsResponse$runArnList": "

A list of ARNs specifying the assessment runs returned by the action.

", - "RemoveAttributesFromFindingsRequest$findingArns": "

The ARNs specifying the findings that you want to remove attributes from.

", - "Run$rulesPackages": "

Rules packages selected for the run of the assessment.

", - "RunsFilter$rulesPackages": "

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.

" - } - }, - "Assessment": { - "base": "

Contains information about an Inspector assessment.

This data type is used as the response element in the DescribeAssessment action.

", - "refs": { - "DescribeAssessmentResponse$assessment": "

Information about the assessment.

" - } - }, - "AssessmentState": { - "base": null, - "refs": { - "Assessment$assessmentState": "

The state of the assessment. Values can be set to Created, Collecting Data, Stopping, and Completed.

", - "AssessmentStateList$member": null - } - }, - "AssessmentStateList": { - "base": null, - "refs": { - "AssessmentsFilter$assessmentStates": "

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.

" - } - }, - "AssessmentsFilter": { - "base": "

This data type is used as the request parameter in the ListAssessments and ListAttachedAssessments actions.

", - "refs": { - "ListAssessmentsRequest$filter": "

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.

", - "ListAttachedAssessmentsRequest$filter": "

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.

" - } - }, - "AttachAssessmentAndRulesPackageRequest": { - "base": null, - "refs": { - } - }, - "AttachAssessmentAndRulesPackageResponse": { - "base": null, - "refs": { - } - }, - "Attribute": { - "base": "

This data type is used as a response element in the AddAttributesToFindings action and a request parameter in the CreateAssessment action.

", - "refs": { - "AttributeList$member": null - } - }, - "AttributeKey": { - "base": null, - "refs": { - "Attribute$key": "

The attribute key.

", - "AttributeKeyList$member": null - } - }, - "AttributeKeyList": { - "base": null, - "refs": { - "RemoveAttributesFromFindingsRequest$attributeKeys": "

The array of attribute keys that you want to remove from specified findings.

" - } - }, - "AttributeList": { - "base": null, - "refs": { - "AddAttributesToFindingsRequest$attributes": "

The array of attributes that you want to assign to specified findings.

", - "Assessment$userAttributesForFindings": "

The user-defined attributes that are assigned to every generated finding.

", - "CreateAssessmentRequest$userAttributesForFindings": "

The user-defined attributes that are assigned to every finding generated by running this assessment.

", - "Finding$attributes": "

The system-defined attributes for the finding.

", - "Finding$userAttributes": "

The user-defined attributes that are assigned to the finding.

", - "FindingsFilter$attributes": "

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.

", - "FindingsFilter$userAttributes": "

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.

" - } - }, - "AttributeValue": { - "base": null, - "refs": { - "Attribute$value": "

The value assigned to the attribute key.

" - } - }, - "AutoScalingGroup": { - "base": null, - "refs": { - "Agent$autoScalingGroup": "

This data type property is currently not used.

", - "AgentPreview$autoScalingGroup": "

The autoscaling group for the EC2 instance where the agent is installed.

", - "Finding$autoScalingGroup": "

The autoscaling group of the EC2 instance where the agent is installed that is used during the assessment that generates the finding.

" - } - }, - "AwsAccount": { - "base": null, - "refs": { - "Agent$accountId": "

AWS account of the EC2 instance where the agent is installed.

" - } - }, - "Bool": { - "base": null, - "refs": { - "Assessment$dataCollected": "

Boolean value (true or false) specifying whether the data collection process is completed.

", - "AssessmentsFilter$dataCollected": "

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.

", - "DescribeCrossAccountAccessRoleResponse$valid": "

A Boolean value that specifies whether the IAM role has the necessary policies attached to enable Inspector to access your AWS account.

" - } - }, - "CreateApplicationRequest": { - "base": null, - "refs": { - } - }, - "CreateApplicationResponse": { - "base": null, - "refs": { - } - }, - "CreateAssessmentRequest": { - "base": null, - "refs": { - } - }, - "CreateAssessmentResponse": { - "base": null, - "refs": { - } - }, - "CreateResourceGroupRequest": { - "base": null, - "refs": { - } - }, - "CreateResourceGroupResponse": { - "base": null, - "refs": { - } - }, - "DeleteApplicationRequest": { - "base": null, - "refs": { - } - }, - "DeleteApplicationResponse": { - "base": null, - "refs": { - } - }, - "DeleteAssessmentRequest": { - "base": null, - "refs": { - } - }, - "DeleteAssessmentResponse": { - "base": null, - "refs": { - } - }, - "DeleteRunRequest": { - "base": null, - "refs": { - } - }, - "DeleteRunResponse": { - "base": null, - "refs": { - } - }, - "DescribeApplicationRequest": { - "base": null, - "refs": { - } - }, - "DescribeApplicationResponse": { - "base": null, - "refs": { - } - }, - "DescribeAssessmentRequest": { - "base": null, - "refs": { - } - }, - "DescribeAssessmentResponse": { - "base": null, - "refs": { - } - }, - "DescribeCrossAccountAccessRoleResponse": { - "base": null, - "refs": { - } - }, - "DescribeFindingRequest": { - "base": null, - "refs": { - } - }, - "DescribeFindingResponse": { - "base": null, - "refs": { - } - }, - "DescribeResourceGroupRequest": { - "base": null, - "refs": { - } - }, - "DescribeResourceGroupResponse": { - "base": null, - "refs": { - } - }, - "DescribeRulesPackageRequest": { - "base": null, - "refs": { - } - }, - "DescribeRulesPackageResponse": { - "base": null, - "refs": { - } - }, - "DescribeRunRequest": { - "base": null, - "refs": { - } - }, - "DescribeRunResponse": { - "base": null, - "refs": { - } - }, - "DetachAssessmentAndRulesPackageRequest": { - "base": null, - "refs": { - } - }, - "DetachAssessmentAndRulesPackageResponse": { - "base": null, - "refs": { - } - }, - "Duration": { - "base": null, - "refs": { - "Assessment$durationInSeconds": "

The assessment duration in seconds. The default value is 3600 seconds (one hour). The maximum value is 86400 seconds (one day).

", - "CreateAssessmentRequest$durationInSeconds": "

The duration of the assessment in seconds. The default value is 3600 seconds (one hour). The maximum value is 86400 seconds (one day).

", - "DurationRange$minimum": "

The minimum value of the duration range. Must be greater than zero.

", - "DurationRange$maximum": "

The maximum value of the duration range. Must be less than or equal to 604800 seconds (1 week).

", - "UpdateAssessmentRequest$durationInSeconds": "

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).

" - } - }, - "DurationRange": { - "base": "

This data type is used in the AssessmentsFilter data type.

", - "refs": { - "AssessmentsFilter$durationRange": "

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.

" - } - }, - "FailureMessage": { - "base": null, - "refs": { - "Assessment$failureMessage": "

This data type property is not currently used.

" - } - }, - "Finding": { - "base": "

Contains information about an Inspector finding.

This data type is used as the response element in the DescribeFinding action.

", - "refs": { - "DescribeFindingResponse$finding": "

Information about the finding.

" - } - }, - "FindingsFilter": { - "base": "

This data type is used as a request parameter in the ListFindings action.

", - "refs": { - "ListFindingsRequest$filter": "

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.

" - } - }, - "GetAssessmentTelemetryRequest": { - "base": null, - "refs": { - } - }, - "GetAssessmentTelemetryResponse": { - "base": null, - "refs": { - } - }, - "Integer": { - "base": null, - "refs": { - "ListApplicationsRequest$maxResults": "

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.

", - "ListAssessmentAgentsRequest$maxResults": "

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.

", - "ListAssessmentsRequest$maxResults": "

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.

", - "ListAttachedAssessmentsRequest$maxResults": "

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.

", - "ListAttachedRulesPackagesRequest$maxResults": "

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.

", - "ListFindingsRequest$maxResults": "

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.

", - "ListRulesPackagesRequest$maxResults": "

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.

", - "ListRunsRequest$maxResults": "

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.

", - "PreviewAgentsForResourceGroupRequest$maxResults": "

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.

" - } - }, - "InternalException": { - "base": null, - "refs": { - } - }, - "InvalidCrossAccountRoleException": { - "base": null, - "refs": { - } - }, - "InvalidInputException": { - "base": null, - "refs": { - } - }, - "ListApplicationsRequest": { - "base": null, - "refs": { - } - }, - "ListApplicationsResponse": { - "base": null, - "refs": { - } - }, - "ListAssessmentAgentsRequest": { - "base": null, - "refs": { - } - }, - "ListAssessmentAgentsResponse": { - "base": null, - "refs": { - } - }, - "ListAssessmentsRequest": { - "base": null, - "refs": { - } - }, - "ListAssessmentsResponse": { - "base": null, - "refs": { - } - }, - "ListAttachedAssessmentsRequest": { - "base": null, - "refs": { - } - }, - "ListAttachedAssessmentsResponse": { - "base": null, - "refs": { - } - }, - "ListAttachedRulesPackagesRequest": { - "base": null, - "refs": { - } - }, - "ListAttachedRulesPackagesResponse": { - "base": null, - "refs": { - } - }, - "ListFindingsRequest": { - "base": null, - "refs": { - } - }, - "ListFindingsResponse": { - "base": null, - "refs": { - } - }, - "ListRulesPackagesRequest": { - "base": null, - "refs": { - } - }, - "ListRulesPackagesResponse": { - "base": null, - "refs": { - } - }, - "ListRunsRequest": { - "base": null, - "refs": { - } - }, - "ListRunsResponse": { - "base": null, - "refs": { - } - }, - "ListTagsForResourceRequest": { - "base": null, - "refs": { - } - }, - "ListTagsForResourceResponse": { - "base": null, - "refs": { - } - }, - "Locale": { - "base": null, - "refs": { - "LocalizeTextRequest$locale": "

The locale that you want to translate a textual identifier into.

" - } - }, - "LocalizeTextRequest": { - "base": null, - "refs": { - } - }, - "LocalizeTextResponse": { - "base": null, - "refs": { - } - }, - "LocalizedFacility": { - "base": null, - "refs": { - "LocalizedTextKey$facility": "

The module response source of the text.

" - } - }, - "LocalizedText": { - "base": "

The textual identifier. This data type is used as the request parameter in the LocalizeText action.

", - "refs": { - "Finding$finding": "

A short description that identifies the finding.

", - "Finding$description": "

The description of the finding.

", - "Finding$recommendation": "

The recommendation for the finding.

", - "LocalizedTextList$member": null, - "RulesPackage$description": "

The description of the rules package.

" - } - }, - "LocalizedTextId": { - "base": null, - "refs": { - "LocalizedTextKey$id": "

Part of the module response source of the text.

" - } - }, - "LocalizedTextKey": { - "base": "

This data type is used in the LocalizedText data type.

", - "refs": { - "LocalizedText$key": "

The facility and id properties of the LocalizedTextKey data type.

" - } - }, - "LocalizedTextList": { - "base": null, - "refs": { - "LocalizeTextRequest$localizedTexts": "

A list of textual identifiers.

" - } - }, - "Long": { - "base": null, - "refs": { - "MessageTypeTelemetry$count": "

The number of times that the behavioral data is collected by the agent during an assessment.

", - "MessageTypeTelemetry$dataSize": "

The total size of the behavioral data that is collected by the agent during an assessment.

" - } - }, - "Message": { - "base": null, - "refs": { - "AddAttributesToFindingsResponse$message": "

Confirmation details of the action performed.

", - "AttachAssessmentAndRulesPackageResponse$message": "

Confirmation details of the action performed.

", - "DeleteApplicationResponse$message": "

Confirmation details of the action performed.

", - "DeleteAssessmentResponse$message": "

Confirmation details of the action performed.

", - "DeleteRunResponse$message": "

Confirmation details of the action performed.

", - "DetachAssessmentAndRulesPackageResponse$message": "

Confirmation details of the action performed.

", - "LocalizeTextResponse$message": "

Confirmation details of the action performed.

", - "RegisterCrossAccountAccessRoleResponse$message": "

Confirmation details of the action performed.

", - "RemoveAttributesFromFindingsResponse$message": "

Confirmation details of the action performed.

", - "SetTagsForResourceResponse$message": "

Confirmation details of the action performed.

", - "StartDataCollectionResponse$message": "

Confirmation details of the action performed.

", - "StopDataCollectionResponse$message": "

Confirmation details of the action performed.

", - "UpdateApplicationResponse$message": "

Confirmation details of the action performed.

", - "UpdateAssessmentResponse$message": "

Confirmation details of the action performed.

" - } - }, - "MessageType": { - "base": null, - "refs": { - "MessageTypeTelemetry$messageType": "

A specific type of behavioral data that is collected by the agent.

" - } - }, - "MessageTypeTelemetry": { - "base": "

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.

", - "refs": { - "MessageTypeTelemetryList$member": null - } - }, - "MessageTypeTelemetryList": { - "base": null, - "refs": { - "Telemetry$messageTypeTelemetries": "

Counts of individual metrics received by Inspector from the agent.

" - } - }, - "Name": { - "base": null, - "refs": { - "Application$applicationName": "

The name of the Inspector application.

", - "Assessment$assessmentName": "

The name of the assessment.

", - "CreateApplicationRequest$applicationName": "

The user-defined name identifying the application that you want to create. The name must be unique within the AWS account.

", - "CreateAssessmentRequest$assessmentName": "

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.

", - "Finding$ruleName": "

The rule name that is used to generate the finding.

", - "NameList$member": null, - "RulesPackage$rulesPackageName": "

The name of the rules package.

", - "RulesPackage$provider": "

The provider of the rules package.

", - "Run$runName": "

The auto-generated name for the run.

", - "RunAssessmentRequest$runName": "

A name specifying the run of the assessment.

", - "UpdateApplicationRequest$applicationName": "

Application name that you want to update.

", - "UpdateAssessmentRequest$assessmentName": "

Assessment name that you want to update.

" - } - }, - "NameList": { - "base": null, - "refs": { - "FindingsFilter$ruleNames": "

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.

" - } - }, - "NamePattern": { - "base": null, - "refs": { - "NamePatternList$member": null - } - }, - "NamePatternList": { - "base": null, - "refs": { - "ApplicationsFilter$applicationNamePatterns": "

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.

", - "AssessmentsFilter$assessmentNamePatterns": "

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.

", - "RunsFilter$runNamePatterns": "

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.

" - } - }, - "NoSuchEntityException": { - "base": null, - "refs": { - } - }, - "OperationInProgressException": { - "base": null, - "refs": { - } - }, - "PaginationToken": { - "base": null, - "refs": { - "ListApplicationsRequest$nextToken": "

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.

", - "ListApplicationsResponse$nextToken": "

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$nextToken": "

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.

", - "ListAssessmentAgentsResponse$nextToken": "

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$nextToken": "

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.

", - "ListAssessmentsResponse$nextToken": "

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$nextToken": "

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.

", - "ListAttachedAssessmentsResponse$nextToken": "

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$nextToken": "

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.

", - "ListAttachedRulesPackagesResponse$nextToken": "

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$nextToken": "

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.

", - "ListFindingsResponse$nextToken": "

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$nextToken": "

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.

", - "ListRulesPackagesResponse$nextToken": "

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$nextToken": "

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.

", - "ListRunsResponse$nextToken": "

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'.

", - "PreviewAgentsForResourceGroupRequest$nextToken": "

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.

", - "PreviewAgentsForResourceGroupResponse$nextToken": "

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'.

" - } - }, - "Parameter": { - "base": "

This data type is used in the LocalizedText data type.

", - "refs": { - "ParameterList$member": null - } - }, - "ParameterList": { - "base": null, - "refs": { - "LocalizedText$parameters": "

Values for the dynamic elements of the string specified by the textual identifier.

" - } - }, - "ParameterName": { - "base": null, - "refs": { - "Parameter$name": "

The name of the variable that is being replaced.

" - } - }, - "ParameterValue": { - "base": null, - "refs": { - "Parameter$value": "

The value assigned to the variable that is being replaced.

" - } - }, - "PreviewAgentsForResourceGroupRequest": { - "base": null, - "refs": { - } - }, - "PreviewAgentsForResourceGroupResponse": { - "base": null, - "refs": { - } - }, - "RegisterCrossAccountAccessRoleRequest": { - "base": null, - "refs": { - } - }, - "RegisterCrossAccountAccessRoleResponse": { - "base": null, - "refs": { - } - }, - "RemoveAttributesFromFindingsRequest": { - "base": null, - "refs": { - } - }, - "RemoveAttributesFromFindingsResponse": { - "base": null, - "refs": { - } - }, - "ResourceGroup": { - "base": "

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.

", - "refs": { - "DescribeResourceGroupResponse$resourceGroup": "

Information about the resource group.

" - } - }, - "ResourceGroupTags": { - "base": null, - "refs": { - "CreateResourceGroupRequest$resourceGroupTags": "

A collection of keys and an array of possible values in JSON format.

For example, [{ \"key1\" : [\"Value1\",\"Value2\"]},{\"Key2\": [\"Value3\"]}]

", - "ResourceGroup$resourceGroupTags": "

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\"]}]

" - } - }, - "RulesPackage": { - "base": "

Contains information about an Inspector rules package.

This data type is used as the response element in the DescribeRulesPackage action.

", - "refs": { - "DescribeRulesPackageResponse$rulesPackage": "

Information about the rules package.

" - } - }, - "Run": { - "base": "

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.

", - "refs": { - "DescribeRunResponse$run": "

Information about the assessment run.

" - } - }, - "RunAssessmentRequest": { - "base": null, - "refs": { - } - }, - "RunAssessmentResponse": { - "base": null, - "refs": { - } - }, - "RunState": { - "base": null, - "refs": { - "Run$runState": "

The state of the run. Values can be set to DataCollectionComplete, EvaluatingPolicies, EvaluatingPoliciesErrorCanRetry, Completed, Failed, TombStoned.

", - "RunStateList$member": null - } - }, - "RunStateList": { - "base": null, - "refs": { - "RunsFilter$runStates": "

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.

" - } - }, - "RunsFilter": { - "base": "

This data type is used as the request parameter in the ListRuns action.

", - "refs": { - "ListRunsRequest$filter": "

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.

" - } - }, - "SetTagsForResourceRequest": { - "base": null, - "refs": { - } - }, - "SetTagsForResourceResponse": { - "base": null, - "refs": { - } - }, - "Severity": { - "base": null, - "refs": { - "Finding$severity": "

The finding severity. Values can be set to High, Medium, Low, and Informational.

", - "SeverityList$member": null - } - }, - "SeverityList": { - "base": null, - "refs": { - "FindingsFilter$severities": "

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.

" - } - }, - "StartDataCollectionRequest": { - "base": null, - "refs": { - } - }, - "StartDataCollectionResponse": { - "base": null, - "refs": { - } - }, - "StopDataCollectionRequest": { - "base": null, - "refs": { - } - }, - "StopDataCollectionResponse": { - "base": null, - "refs": { - } - }, - "Tag": { - "base": "

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.

", - "refs": { - "TagList$member": null - } - }, - "TagKey": { - "base": null, - "refs": { - "Tag$Key": "

The tag key.

" - } - }, - "TagList": { - "base": null, - "refs": { - "ListTagsForResourceResponse$tagList": "

A collection of key and value pairs.

", - "SetTagsForResourceRequest$tags": "

A collection of key and value pairs that you want to set to an assessment.

" - } - }, - "TagValue": { - "base": null, - "refs": { - "Tag$Value": "

The value assigned to a tag key.

" - } - }, - "Telemetry": { - "base": "

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.

", - "refs": { - "TelemetryList$member": null - } - }, - "TelemetryList": { - "base": null, - "refs": { - "Agent$telemetry": "

The Inspector application data metrics collected by the agent.

", - "GetAssessmentTelemetryResponse$telemetry": "

Telemetry details.

" - } - }, - "TelemetryStatus": { - "base": null, - "refs": { - "Telemetry$status": "

The category of the individual metrics that together constitute the telemetry that Inspector received from the agent.

" - } - }, - "Text": { - "base": null, - "refs": { - "TextList$member": null - } - }, - "TextList": { - "base": null, - "refs": { - "LocalizeTextResponse$results": "

The resulting list of user-readable texts.

" - } - }, - "Timestamp": { - "base": null, - "refs": { - "Assessment$startTime": "

The assessment start time.

", - "Assessment$endTime": "

The assessment end time.

", - "Run$creationTime": "

Run creation time that corresponds to the data collection completion time or failure.

", - "Run$completionTime": "

Run completion time that corresponds to the rules packages evaluation completion time or failure.

", - "TimestampRange$minimum": "

The minimum value of the timestamp range.

", - "TimestampRange$maximum": "

The maximum value of the timestamp range.

" - } - }, - "TimestampRange": { - "base": "

This data type is used in the AssessmentsFilter and RunsFilter data types.

", - "refs": { - "AssessmentsFilter$startTimeRange": "

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.

", - "AssessmentsFilter$endTimeRange": "

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.

", - "RunsFilter$creationTime": "

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.

", - "RunsFilter$completionTime": "

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.

" - } - }, - "UpdateApplicationRequest": { - "base": null, - "refs": { - } - }, - "UpdateApplicationResponse": { - "base": null, - "refs": { - } - }, - "UpdateAssessmentRequest": { - "base": null, - "refs": { - } - }, - "UpdateAssessmentResponse": { - "base": null, - "refs": { - } - }, - "Version": { - "base": null, - "refs": { - "RulesPackage$version": "

The version id of the rules package.

" - } - } - } -} diff --git a/models/apis/inspector/2016-02-16/api-2.json b/models/apis/inspector/2016-02-16/api-2.json index b24199e766d..c4850fca4d5 100644 --- a/models/apis/inspector/2016-02-16/api-2.json +++ b/models/apis/inspector/2016-02-16/api-2.json @@ -6,6 +6,7 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon Inspector", + "serviceId":"Inspector", "signatureVersion":"v4", "targetPrefix":"InspectorService", "uid":"inspector-2016-02-16" @@ -23,7 +24,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] }, "CreateAssessmentTarget":{ @@ -39,7 +41,9 @@ {"shape":"InvalidInputException"}, {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidCrossAccountRoleException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] }, "CreateAssessmentTemplate":{ @@ -55,7 +59,25 @@ {"shape":"InvalidInputException"}, {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} + ] + }, + "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"} ] }, "CreateResourceGroup":{ @@ -70,7 +92,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"} + {"shape":"AccessDeniedException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] }, "DeleteAssessmentRun":{ @@ -85,7 +108,8 @@ {"shape":"InvalidInputException"}, {"shape":"AssessmentRunInProgressException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] }, "DeleteAssessmentTarget":{ @@ -100,7 +124,8 @@ {"shape":"InvalidInputException"}, {"shape":"AssessmentRunInProgressException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] }, "DeleteAssessmentTemplate":{ @@ -115,7 +140,8 @@ {"shape":"InvalidInputException"}, {"shape":"AssessmentRunInProgressException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] }, "DescribeAssessmentRuns":{ @@ -168,6 +194,19 @@ {"shape":"InternalException"} ] }, + "DescribeExclusions":{ + "name":"DescribeExclusions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeExclusionsRequest"}, + "output":{"shape":"DescribeExclusionsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"} + ] + }, "DescribeFindings":{ "name":"DescribeFindings", "http":{ @@ -221,7 +260,23 @@ {"shape":"AccessDeniedException"}, {"shape":"NoSuchEntityException"}, {"shape":"AssessmentRunInProgressException"}, - {"shape":"UnsupportedFeatureException"} + {"shape":"UnsupportedFeatureException"}, + {"shape":"ServiceTemporarilyUnavailableException"} + ] + }, + "GetExclusionsPreview":{ + "name":"GetExclusionsPreview", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetExclusionsPreviewRequest"}, + "output":{"shape":"GetExclusionsPreviewResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchEntityException"} ] }, "GetTelemetryMetadata":{ @@ -313,6 +368,21 @@ {"shape":"NoSuchEntityException"} ] }, + "ListExclusions":{ + "name":"ListExclusions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListExclusionsRequest"}, + "output":{"shape":"ListExclusionsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchEntityException"} + ] + }, "ListFindings":{ "name":"ListFindings", "http":{ @@ -384,7 +454,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"InvalidCrossAccountRoleException"} + {"shape":"InvalidCrossAccountRoleException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] }, "RemoveAttributesFromFindings":{ @@ -399,7 +470,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] }, "SetTagsForResource":{ @@ -413,7 +485,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] }, "StartAssessmentRun":{ @@ -431,7 +504,8 @@ {"shape":"AccessDeniedException"}, {"shape":"NoSuchEntityException"}, {"shape":"InvalidCrossAccountRoleException"}, - {"shape":"AgentsAlreadyRunningAssessmentException"} + {"shape":"AgentsAlreadyRunningAssessmentException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] }, "StopAssessmentRun":{ @@ -445,7 +519,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] }, "SubscribeToEvent":{ @@ -460,7 +535,8 @@ {"shape":"InvalidInputException"}, {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] }, "UnsubscribeFromEvent":{ @@ -474,7 +550,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] }, "UpdateAssessmentTarget":{ @@ -488,7 +565,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ] } }, @@ -576,7 +654,8 @@ "type":"string", "enum":[ "HEALTHY", - "UNHEALTHY" + "UNHEALTHY", + "UNKNOWN" ] }, "AgentHealthCode":{ @@ -617,8 +696,14 @@ "type":"structure", "required":["agentId"], "members":{ + "hostname":{"shape":"Hostname"}, "agentId":{"shape":"AgentId"}, - "autoScalingGroup":{"shape":"AutoScalingGroup"} + "autoScalingGroup":{"shape":"AutoScalingGroup"}, + "agentHealth":{"shape":"AgentHealth"}, + "agentVersion":{"shape":"AgentVersion"}, + "operatingSystem":{"shape":"OperatingSystem"}, + "kernelVersion":{"shape":"KernelVersion"}, + "ipv4Address":{"shape":"Ipv4Address"} } }, "AgentPreviewList":{ @@ -627,6 +712,11 @@ "max":100, "min":0 }, + "AgentVersion":{ + "type":"string", + "max":128, + "min":1 + }, "AgentsAlreadyRunningAssessmentException":{ "type":"structure", "required":[ @@ -653,6 +743,7 @@ "max":300, "min":1 }, + "ArnCount":{"type":"integer"}, "AssessmentRulesPackageArnList":{ "type":"list", "member":{"shape":"Arn"}, @@ -851,7 +942,6 @@ "required":[ "arn", "name", - "resourceGroupArn", "createdAt", "updatedAt" ], @@ -889,6 +979,7 @@ "durationInSeconds", "rulesPackageArns", "userAttributesForFindings", + "assessmentRunCount", "createdAt" ], "members":{ @@ -898,6 +989,8 @@ "durationInSeconds":{"shape":"AssessmentRunDuration"}, "rulesPackageArns":{"shape":"AssessmentTemplateRulesPackageArnList"}, "userAttributesForFindings":{"shape":"UserAttributeList"}, + "lastAssessmentRunArn":{"shape":"Arn"}, + "assessmentRunCount":{"shape":"ArnCount"}, "createdAt":{"shape":"Timestamp"} } }, @@ -983,13 +1076,16 @@ "max":10, "min":1 }, + "BatchDescribeExclusionsArnList":{ + "type":"list", + "member":{"shape":"Arn"}, + "max":100, + "min":1 + }, "Bool":{"type":"boolean"}, "CreateAssessmentTargetRequest":{ "type":"structure", - "required":[ - "assessmentTargetName", - "resourceGroupArn" - ], + "required":["assessmentTargetName"], "members":{ "assessmentTargetName":{"shape":"AssessmentTargetName"}, "resourceGroupArn":{"shape":"Arn"} @@ -1025,6 +1121,20 @@ "assessmentTemplateArn":{"shape":"Arn"} } }, + "CreateExclusionsPreviewRequest":{ + "type":"structure", + "required":["assessmentTemplateArn"], + "members":{ + "assessmentTemplateArn":{"shape":"Arn"} + } + }, + "CreateExclusionsPreviewResponse":{ + "type":"structure", + "required":["previewToken"], + "members":{ + "previewToken":{"shape":"UUID"} + } + }, "CreateResourceGroupRequest":{ "type":"structure", "required":["resourceGroupTags"], @@ -1127,6 +1237,25 @@ "registeredAt":{"shape":"Timestamp"} } }, + "DescribeExclusionsRequest":{ + "type":"structure", + "required":["exclusionArns"], + "members":{ + "exclusionArns":{"shape":"BatchDescribeExclusionsArnList"}, + "locale":{"shape":"Locale"} + } + }, + "DescribeExclusionsResponse":{ + "type":"structure", + "required":[ + "exclusions", + "failedItems" + ], + "members":{ + "exclusions":{"shape":"ExclusionMap"}, + "failedItems":{"shape":"FailedItems"} + } + }, "DescribeFindingsRequest":{ "type":"structure", "required":["findingArns"], @@ -1212,6 +1341,53 @@ "max":50, "min":1 }, + "Exclusion":{ + "type":"structure", + "required":[ + "arn", + "title", + "description", + "recommendation", + "scopes" + ], + "members":{ + "arn":{"shape":"Arn"}, + "title":{"shape":"Text"}, + "description":{"shape":"Text"}, + "recommendation":{"shape":"Text"}, + "scopes":{"shape":"ScopeList"}, + "attributes":{"shape":"AttributeList"} + } + }, + "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"}, + "description":{"shape":"Text"}, + "recommendation":{"shape":"Text"}, + "scopes":{"shape":"ScopeList"}, + "attributes":{"shape":"AttributeList"} + } + }, + "ExclusionPreviewList":{ + "type":"list", + "member":{"shape":"ExclusionPreview"}, + "max":100, + "min":0 + }, "FailedItemDetails":{ "type":"structure", "required":[ @@ -1321,6 +1497,29 @@ "url":{"shape":"Url"} } }, + "GetExclusionsPreviewRequest":{ + "type":"structure", + "required":[ + "assessmentTemplateArn", + "previewToken" + ], + "members":{ + "assessmentTemplateArn":{"shape":"Arn"}, + "previewToken":{"shape":"UUID"}, + "nextToken":{"shape":"PaginationToken"}, + "maxResults":{"shape":"ListMaxResults"}, + "locale":{"shape":"Locale"} + } + }, + "GetExclusionsPreviewResponse":{ + "type":"structure", + "required":["previewStatus"], + "members":{ + "previewStatus":{"shape":"PreviewStatus"}, + "exclusionPreviews":{"shape":"ExclusionPreviewList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "GetTelemetryMetadataRequest":{ "type":"structure", "required":["assessmentRunArn"], @@ -1482,6 +1681,11 @@ "max":50, "min":0 }, + "KernelVersion":{ + "type":"string", + "max":128, + "min":1 + }, "LimitExceededErrorCode":{ "type":"string", "enum":[ @@ -1591,6 +1795,23 @@ "nextToken":{"shape":"PaginationToken"} } }, + "ListExclusionsRequest":{ + "type":"structure", + "required":["assessmentRunArn"], + "members":{ + "assessmentRunArn":{"shape":"Arn"}, + "nextToken":{"shape":"PaginationToken"}, + "maxResults":{"shape":"ListMaxResults"} + } + }, + "ListExclusionsResponse":{ + "type":"structure", + "required":["exclusionArns"], + "members":{ + "exclusionArns":{"shape":"ListReturnedArnList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListFindingsRequest":{ "type":"structure", "members":{ @@ -1706,6 +1927,11 @@ "type":"integer", "min":0 }, + "OperatingSystem":{ + "type":"string", + "max":256, + "min":1 + }, "PaginationToken":{ "type":"string", "max":300, @@ -1729,6 +1955,21 @@ "nextToken":{"shape":"PaginationToken"} } }, + "PreviewGenerationInProgressException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "PreviewStatus":{ + "type":"string", + "enum":[ + "WORK_IN_PROGRESS", + "COMPLETED" + ] + }, "ProviderName":{ "type":"string", "max":1000, @@ -1851,11 +2092,43 @@ "max":1000, "min":0 }, + "Scope":{ + "type":"structure", + "members":{ + "key":{"shape":"ScopeType"}, + "value":{"shape":"ScopeValue"} + } + }, + "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"}, + "canRetry":{"shape":"Bool"} + }, + "exception":true + }, "SetTagsForResourceRequest":{ "type":"structure", "required":["resourceArn"], @@ -1997,6 +2270,10 @@ "endDate":{"shape":"Timestamp"} } }, + "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":[ @@ -2026,8 +2303,7 @@ "type":"structure", "required":[ "assessmentTargetArn", - "assessmentTargetName", - "resourceGroupArn" + "assessmentTargetName" ], "members":{ "assessmentTargetArn":{"shape":"Arn"}, diff --git a/models/apis/inspector/2016-02-16/docs-2.json b/models/apis/inspector/2016-02-16/docs-2.json index 59f2134e271..ac48b8d2ff1 100644 --- a/models/apis/inspector/2016-02-16/docs-2.json +++ b/models/apis/inspector/2016-02-16/docs-2.json @@ -3,8 +3,9 @@ "service": "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.

", "operations": { "AddAttributesToFindings": "

Assigns attributes (key and value pairs) to the findings that are specified by the ARNs of the findings.

", - "CreateAssessmentTarget": "

Creates a new assessment target using the ARN of the resource group that is generated by CreateResourceGroup. You can create up to 50 assessment targets per AWS account. You can run up to 500 concurrent agents per AWS account. For more information, see Amazon Inspector Assessment Targets.

", - "CreateAssessmentTemplate": "

Creates an assessment template for the assessment target that is specified by the ARN of the assessment target.

", + "CreateAssessmentTarget": "

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": "

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": "

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": "

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": "

Deletes the assessment run that is specified by the ARN of the assessment run.

", "DeleteAssessmentTarget": "

Deletes the assessment target that is specified by the ARN of the assessment target.

", @@ -13,28 +14,31 @@ "DescribeAssessmentTargets": "

Describes the assessment targets that are specified by the ARNs of the assessment targets.

", "DescribeAssessmentTemplates": "

Describes the assessment templates that are specified by the ARNs of the assessment templates.

", "DescribeCrossAccountAccessRole": "

Describes the IAM role that enables Amazon Inspector to access your AWS account.

", + "DescribeExclusions": "

Describes the exclusions that are specified by the exclusions' ARNs.

", "DescribeFindings": "

Describes the findings that are specified by the ARNs of the findings.

", "DescribeResourceGroups": "

Describes the resource groups that are specified by the ARNs of the resource groups.

", "DescribeRulesPackages": "

Describes the rules packages that are specified by the ARNs of the rules packages.

", "GetAssessmentReport": "

Produces an assessment report that includes detailed and comprehensive results of a specified assessment run.

", + "GetExclusionsPreview": "

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": "

Information about the data that is collected for the specified assessment run.

", "ListAssessmentRunAgents": "

Lists the agents of the assessment runs that are specified by the ARNs of the assessment runs.

", "ListAssessmentRuns": "

Lists the assessment runs that correspond to the assessment templates that are specified by the ARNs of the assessment templates.

", "ListAssessmentTargets": "

Lists the ARNs of the assessment targets within this AWS account. For more information about assessment targets, see Amazon Inspector Assessment Targets.

", "ListAssessmentTemplates": "

Lists the assessment templates that correspond to the assessment targets that are specified by the ARNs of the assessment targets.

", "ListEventSubscriptions": "

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": "

List exclusions that are generated by the assessment run.

", "ListFindings": "

Lists findings that are generated by the assessment runs that are specified by the ARNs of the assessment runs.

", "ListRulesPackages": "

Lists all available Amazon Inspector rules packages.

", "ListTagsForResource": "

Lists all tags associated with an assessment template.

", "PreviewAgents": "

Previews the agents installed on the EC2 instances that are part of the specified assessment target.

", - "RegisterCrossAccountAccessRole": "

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.

", + "RegisterCrossAccountAccessRole": "

Registers the IAM role that grants Amazon Inspector access to AWS Services needed to perform security assessments.

", "RemoveAttributesFromFindings": "

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": "

Sets tags (key and value pairs) to the assessment template that is specified by the ARN of the assessment template.

", "StartAssessmentRun": "

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": "

Stops the assessment run that is specified by the ARN of the assessment run.

", "SubscribeToEvent": "

Enables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic.

", "UnsubscribeFromEvent": "

Disables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic.

", - "UpdateAssessmentTarget": "

Updates the assessment target that is specified by the ARN of the assessment target.

" + "UpdateAssessmentTarget": "

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": { @@ -87,6 +91,7 @@ "base": null, "refs": { "AgentHealthList$member": null, + "AgentPreview$agentHealth": "

The health status of the Amazon Inspector Agent.

", "AssessmentRunAgent$agentHealth": "

The current health state of the agent.

" } }, @@ -137,6 +142,12 @@ "PreviewAgentsResponse$agentPreviews": "

The resulting list of agents.

" } }, + "AgentVersion": { + "base": null, + "refs": { + "AgentPreview$agentVersion": "

The version of the Amazon Inspector Agent.

" + } + }, "AgentsAlreadyRunningAssessmentException": { "base": "

You started an assessment run, but one of the instances is already participating in another assessment run.

", "refs": { @@ -163,31 +174,38 @@ "AssessmentTarget$resourceGroupArn": "

The ARN that specifies the resource group that is associated with the assessment target.

", "AssessmentTemplate$arn": "

The ARN of the assessment template.

", "AssessmentTemplate$assessmentTargetArn": "

The ARN of the assessment target that corresponds to this assessment template.

", + "AssessmentTemplate$lastAssessmentRunArn": "

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.

", "AssessmentTemplateRulesPackageArnList$member": null, "BatchDescribeArnList$member": null, - "CreateAssessmentTargetRequest$resourceGroupArn": "

The ARN that specifies the resource group that is used to create the assessment target.

", + "BatchDescribeExclusionsArnList$member": null, + "CreateAssessmentTargetRequest$resourceGroupArn": "

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$assessmentTargetArn": "

The ARN that specifies the assessment target that is created.

", "CreateAssessmentTemplateRequest$assessmentTargetArn": "

The ARN that specifies the assessment target for which you want to create the assessment template.

", "CreateAssessmentTemplateResponse$assessmentTemplateArn": "

The ARN that specifies the assessment template that is created.

", + "CreateExclusionsPreviewRequest$assessmentTemplateArn": "

The ARN that specifies the assessment template for which you want to create an exclusions preview.

", "CreateResourceGroupResponse$resourceGroupArn": "

The ARN that specifies the resource group that is created.

", "DeleteAssessmentRunRequest$assessmentRunArn": "

The ARN that specifies the assessment run that you want to delete.

", "DeleteAssessmentTargetRequest$assessmentTargetArn": "

The ARN that specifies the assessment target that you want to delete.

", "DeleteAssessmentTemplateRequest$assessmentTemplateArn": "

The ARN that specifies the assessment template that you want to delete.

", "DescribeCrossAccountAccessRoleResponse$roleArn": "

The ARN that specifies the IAM role that Amazon Inspector uses to access your AWS account.

", + "Exclusion$arn": "

The ARN that specifies the exclusion.

", + "ExclusionMap$key": null, "FailedItems$key": null, "FilterRulesPackageArnList$member": null, "Finding$arn": "

The ARN that specifies the finding.

", "GetAssessmentReportRequest$assessmentRunArn": "

The ARN that specifies the assessment run for which you want to generate a report.

", + "GetExclusionsPreviewRequest$assessmentTemplateArn": "

The ARN that specifies the assessment template for which the exclusions preview was requested.

", "GetTelemetryMetadataRequest$assessmentRunArn": "

The ARN that specifies the assessment run that has the telemetry data that you want to obtain.

", "InspectorServiceAttributes$assessmentRunArn": "

The ARN of the assessment run during which the finding is generated.

", "InspectorServiceAttributes$rulesPackageArn": "

The ARN of the rules package that is used to generate the finding.

", "ListAssessmentRunAgentsRequest$assessmentRunArn": "

The ARN that specifies the assessment run whose agents you want to list.

", "ListEventSubscriptionsRequest$resourceArn": "

The ARN of the assessment template for which you want to list the existing event subscriptions.

", + "ListExclusionsRequest$assessmentRunArn": "

The ARN of the assessment run that generated the exclusions that you want to list.

", "ListParentArnList$member": null, "ListReturnedArnList$member": null, "ListTagsForResourceRequest$resourceArn": "

The ARN that specifies the assessment template whose tags you want to list.

", "PreviewAgentsRequest$previewAgentsArn": "

The ARN of the assessment target whose agents you want to preview.

", - "RegisterCrossAccountAccessRoleRequest$roleArn": "

The ARN of the IAM role that Amazon Inspector uses to list your EC2 instances during the assessment run or when you call the PreviewAgents action.

", + "RegisterCrossAccountAccessRoleRequest$roleArn": "

The ARN of the IAM role that grants Amazon Inspector access to AWS Services needed to perform security assessments.

", "ResourceGroup$arn": "

The ARN of the resource group.

", "RulesPackage$arn": "

The ARN of the rules package.

", "SetTagsForResourceRequest$resourceArn": "

The ARN of the assessment template that you want to set tags to.

", @@ -204,6 +222,12 @@ "UpdateAssessmentTargetRequest$resourceGroupArn": "

The ARN of the resource group that is used to specify the new resource group to associate with the assessment target.

" } }, + "ArnCount": { + "base": null, + "refs": { + "AssessmentTemplate$assessmentRunCount": "

The number of existing assessment runs associated with this assessment template. This value can be zero or a positive integer.

" + } + }, "AssessmentRulesPackageArnList": { "base": null, "refs": { @@ -232,8 +256,8 @@ "base": null, "refs": { "AssessmentRun$durationInSeconds": "

The duration of the assessment run.

", - "AssessmentTemplate$durationInSeconds": "

The duration in seconds specified for this assessment tempate. The default value is 3600 seconds (one hour). The maximum value is 86400 seconds (one day).

", - "CreateAssessmentTemplateRequest$durationInSeconds": "

The duration of the assessment run in seconds. The default value is 3600 seconds (one hour).

", + "AssessmentTemplate$durationInSeconds": "

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).

", + "CreateAssessmentTemplateRequest$durationInSeconds": "

The duration of the assessment run in seconds.

", "DurationRange$minSeconds": "

The minimum value of the duration range. Must be greater than zero.

", "DurationRange$maxSeconds": "

The maximum value of the duration range. Must be less than or equal to 604800 seconds (1 week).

" } @@ -405,6 +429,8 @@ "AttributeList": { "base": null, "refs": { + "Exclusion$attributes": "

The system-defined attributes for the exclusion.

", + "ExclusionPreview$attributes": "

The system-defined attributes for the exclusion preview.

", "Finding$attributes": "

The system-defined attributes for the finding.

", "FindingFilter$attributes": "

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.

", "FindingFilter$userAttributes": "

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.

" @@ -442,6 +468,12 @@ "DescribeRulesPackagesRequest$rulesPackageArns": "

The ARN that specifies the rules package that you want to describe.

" } }, + "BatchDescribeExclusionsArnList": { + "base": null, + "refs": { + "DescribeExclusionsRequest$exclusionArns": "

The list of ARNs that specify the exclusions that you want to describe.

" + } + }, "Bool": { "base": null, "refs": { @@ -460,6 +492,7 @@ "InvalidInputException$canRetry": "

You can immediately retry your request.

", "LimitExceededException$canRetry": "

You can immediately retry your request.

", "NoSuchEntityException$canRetry": "

You can immediately retry your request.

", + "ServiceTemporarilyUnavailableException$canRetry": "

You can wait and then retry your request.

", "UnsupportedFeatureException$canRetry": null } }, @@ -483,6 +516,16 @@ "refs": { } }, + "CreateExclusionsPreviewRequest": { + "base": null, + "refs": { + } + }, + "CreateExclusionsPreviewResponse": { + "base": null, + "refs": { + } + }, "CreateResourceGroupRequest": { "base": null, "refs": { @@ -543,6 +586,16 @@ "refs": { } }, + "DescribeExclusionsRequest": { + "base": null, + "refs": { + } + }, + "DescribeExclusionsResponse": { + "base": null, + "refs": { + } + }, "DescribeFindingsRequest": { "base": null, "refs": { @@ -591,6 +644,8 @@ "InvalidInputException$message": "

Details of the exception error.

", "LimitExceededException$message": "

Details of the exception error.

", "NoSuchEntityException$message": "

Details of the exception error.

", + "PreviewGenerationInProgressException$message": null, + "ServiceTemporarilyUnavailableException$message": "

Details of the exception error.

", "UnsupportedFeatureException$message": null } }, @@ -606,6 +661,30 @@ "Subscription$eventSubscriptions": "

The list of existing event subscriptions.

" } }, + "Exclusion": { + "base": "

Contains information about what was excluded from an assessment run.

", + "refs": { + "ExclusionMap$value": null + } + }, + "ExclusionMap": { + "base": null, + "refs": { + "DescribeExclusionsResponse$exclusions": "

Information about the exclusions.

" + } + }, + "ExclusionPreview": { + "base": "

Contains information about what is excluded from an assessment run given the current state of the assessment template.

", + "refs": { + "ExclusionPreviewList$member": null + } + }, + "ExclusionPreviewList": { + "base": null, + "refs": { + "GetExclusionsPreviewResponse$exclusionPreviews": "

Information about the exclusions included in the preview.

" + } + }, "FailedItemDetails": { "base": "

Includes details about the failed items.

", "refs": { @@ -625,6 +704,7 @@ "DescribeAssessmentRunsResponse$failedItems": "

Assessment run details that cannot be described. An error code is provided for each failed item.

", "DescribeAssessmentTargetsResponse$failedItems": "

Assessment target details that cannot be described. An error code is provided for each failed item.

", "DescribeAssessmentTemplatesResponse$failedItems": "

Assessment template details that cannot be described. An error code is provided for each failed item.

", + "DescribeExclusionsResponse$failedItems": "

Exclusion details that cannot be described. An error code is provided for each failed item.

", "DescribeFindingsResponse$failedItems": "

Finding details that cannot be described. An error code is provided for each failed item.

", "DescribeResourceGroupsResponse$failedItems": "

Resource group details that cannot be described. An error code is provided for each failed item.

", "DescribeRulesPackagesResponse$failedItems": "

Rules package details that cannot be described. An error code is provided for each failed item.

", @@ -679,6 +759,16 @@ "refs": { } }, + "GetExclusionsPreviewRequest": { + "base": null, + "refs": { + } + }, + "GetExclusionsPreviewResponse": { + "base": null, + "refs": { + } + }, "GetTelemetryMetadataRequest": { "base": null, "refs": { @@ -692,6 +782,7 @@ "Hostname": { "base": null, "refs": { + "AgentPreview$hostname": "

The hostname of the EC2 instance on which the Amazon Inspector Agent is installed.

", "AssetAttributes$hostname": "

The hostname of the EC2 instance where the finding is generated.

" } }, @@ -746,6 +837,7 @@ "Ipv4Address": { "base": null, "refs": { + "AgentPreview$ipv4Address": "

The IP address of the EC2 instance on which the Amazon Inspector Agent is installed.

", "Ipv4AddressList$member": null } }, @@ -755,6 +847,12 @@ "AssetAttributes$ipv4Addresses": "

The list of IP v4 addresses of the EC2 instance where the finding is generated.

" } }, + "KernelVersion": { + "base": null, + "refs": { + "AgentPreview$kernelVersion": "

The kernel version of the operating system running on the EC2 instance on which the Amazon Inspector Agent is installed.

" + } + }, "LimitExceededErrorCode": { "base": null, "refs": { @@ -822,6 +920,16 @@ "refs": { } }, + "ListExclusionsRequest": { + "base": null, + "refs": { + } + }, + "ListExclusionsResponse": { + "base": null, + "refs": { + } + }, "ListFindingsRequest": { "base": null, "refs": { @@ -835,10 +943,12 @@ "ListMaxResults": { "base": null, "refs": { + "GetExclusionsPreviewRequest$maxResults": "

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.

", "ListAssessmentRunAgentsRequest$maxResults": "

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.

", "ListAssessmentRunsRequest$maxResults": "

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.

", "ListAssessmentTargetsRequest$maxResults": "

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.

", "ListAssessmentTemplatesRequest$maxResults": "

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.

", + "ListExclusionsRequest$maxResults": "

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.

", "ListFindingsRequest$maxResults": "

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.

", "ListRulesPackagesRequest$maxResults": "

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.

" } @@ -857,6 +967,7 @@ "ListAssessmentRunsResponse$assessmentRunArns": "

A list of ARNs that specifies the assessment runs that are returned by the action.

", "ListAssessmentTargetsResponse$assessmentTargetArns": "

A list of ARNs that specifies the assessment targets that are returned by the action.

", "ListAssessmentTemplatesResponse$assessmentTemplateArns": "

A list of ARNs that specifies the assessment templates returned by the action.

", + "ListExclusionsResponse$exclusionArns": "

A list of exclusions' ARNs returned by the action.

", "ListFindingsResponse$findingArns": "

A list of ARNs that specifies the findings returned by the action.

", "ListRulesPackagesResponse$rulesPackageArns": "

The list of ARNs that specifies the rules packages returned by the action.

" } @@ -884,8 +995,10 @@ "Locale": { "base": null, "refs": { + "DescribeExclusionsRequest$locale": "

The locale into which you want to translate the exclusion's title, description, and recommendation.

", "DescribeFindingsRequest$locale": "

The locale into which you want to translate a finding description, recommendation, and the short description that identifies the finding.

", - "DescribeRulesPackagesRequest$locale": "

The locale that you want to translate a rules package description into.

" + "DescribeRulesPackagesRequest$locale": "

The locale that you want to translate a rules package description into.

", + "GetExclusionsPreviewRequest$locale": "

The locale into which you want to translate the exclusion's title, description, and recommendation.

" } }, "Long": { @@ -941,9 +1054,17 @@ "InspectorServiceAttributes$schemaVersion": "

The schema version of this data type.

" } }, + "OperatingSystem": { + "base": null, + "refs": { + "AgentPreview$operatingSystem": "

The operating system running on the EC2 instance on which the Amazon Inspector Agent is installed.

" + } + }, "PaginationToken": { "base": null, "refs": { + "GetExclusionsPreviewRequest$nextToken": "

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.

", + "GetExclusionsPreviewResponse$nextToken": "

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.

", "ListAssessmentRunAgentsRequest$nextToken": "

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.

", "ListAssessmentRunAgentsResponse$nextToken": "

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$nextToken": "

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.

", @@ -954,6 +1075,8 @@ "ListAssessmentTemplatesResponse$nextToken": "

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.

", "ListEventSubscriptionsRequest$nextToken": "

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.

", "ListEventSubscriptionsResponse$nextToken": "

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$nextToken": "

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.

", + "ListExclusionsResponse$nextToken": "

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$nextToken": "

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.

", "ListFindingsResponse$nextToken": "

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$nextToken": "

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.

", @@ -978,6 +1101,17 @@ "refs": { } }, + "PreviewGenerationInProgressException": { + "base": "

The request is rejected. The specified assessment template is currently generating an exclusions preview.

", + "refs": { + } + }, + "PreviewStatus": { + "base": null, + "refs": { + "GetExclusionsPreviewResponse$previewStatus": "

Specifies the status of the request to generate an exclusions preview.

" + } + }, "ProviderName": { "base": null, "refs": { @@ -1072,12 +1206,42 @@ "RulesPackage$name": "

The name of the rules package.

" } }, + "Scope": { + "base": "

This data type contains key-value pairs that identify various Amazon resources.

", + "refs": { + "ScopeList$member": null + } + }, + "ScopeList": { + "base": null, + "refs": { + "Exclusion$scopes": "

The AWS resources for which the exclusion pertains.

", + "ExclusionPreview$scopes": "

The AWS resources for which the exclusion preview pertains.

" + } + }, + "ScopeType": { + "base": null, + "refs": { + "Scope$key": "

The type of the scope.

" + } + }, + "ScopeValue": { + "base": null, + "refs": { + "Scope$value": "

The resource identifier for the specified scope type.

" + } + }, "ServiceName": { "base": null, "refs": { "Finding$service": "

The data element is set to \"Inspector\".

" } }, + "ServiceTemporarilyUnavailableException": { + "base": "

The serice is temporary unavailable.

", + "refs": { + } + }, "SetTagsForResourceRequest": { "base": null, "refs": { @@ -1178,6 +1342,12 @@ "Text": { "base": null, "refs": { + "Exclusion$title": "

The name of the exclusion.

", + "Exclusion$description": "

The description of the exclusion.

", + "Exclusion$recommendation": "

The recommendation for the exclusion.

", + "ExclusionPreview$title": "

The name of the exclusion preview.

", + "ExclusionPreview$description": "

The description of the exclusion preview.

", + "ExclusionPreview$recommendation": "

The recommendation for the exclusion preview.

", "Finding$title": "

The name of the finding.

", "Finding$description": "

The description of the finding.

", "Finding$recommendation": "

The recommendation for the finding.

", @@ -1214,6 +1384,13 @@ "FindingFilter$creationTimeRange": "

The time range during which the finding is generated.

" } }, + "UUID": { + "base": null, + "refs": { + "CreateExclusionsPreviewResponse$previewToken": "

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.

", + "GetExclusionsPreviewRequest$previewToken": "

The unique identifier associated of the exclusions preview.

" + } + }, "UnsubscribeFromEventRequest": { "base": null, "refs": { diff --git a/models/apis/inspector/2016-02-16/examples-1.json b/models/apis/inspector/2016-02-16/examples-1.json index d06decc470e..05b541f0456 100644 --- a/models/apis/inspector/2016-02-16/examples-1.json +++ b/models/apis/inspector/2016-02-16/examples-1.json @@ -280,6 +280,7 @@ { "name": "ExampleAssessmentTemplate", "arn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw", + "assessmentRunCount": 0, "assessmentTargetArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq", "createdAt": "1458074191.844", "durationInSeconds": 3600, diff --git a/models/apis/inspector/2016-02-16/paginators-1.json b/models/apis/inspector/2016-02-16/paginators-1.json index 0f2aaeeb2f5..e702bf0d8f4 100644 --- a/models/apis/inspector/2016-02-16/paginators-1.json +++ b/models/apis/inspector/2016-02-16/paginators-1.json @@ -1,5 +1,10 @@ { "pagination": { + "GetExclusionsPreview": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, "ListAssessmentRunAgents": { "input_token": "nextToken", "output_token": "nextToken", @@ -25,6 +30,11 @@ "output_token": "nextToken", "limit_key": "maxResults" }, + "ListExclusions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, "ListFindings": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/inspector/2016-02-16/smoke.json b/models/apis/inspector/2016-02-16/smoke.json new file mode 100644 index 00000000000..3b7b0dfe015 --- /dev/null +++ b/models/apis/inspector/2016-02-16/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListAssessmentTemplates", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "ListTagsForResource", + "input": { + "resourceArn": "fake-arn" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/iot/2015-05-28/api-2.json b/models/apis/iot/2015-05-28/api-2.json index ec1f13b3109..8f2f07afc2a 100644 --- a/models/apis/iot/2015-05-28/api-2.json +++ b/models/apis/iot/2015-05-28/api-2.json @@ -94,6 +94,23 @@ ], "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"} + ] + }, "AttachThingPrincipal":{ "name":"AttachThingPrincipal", "http":{ @@ -111,6 +128,21 @@ {"shape":"InternalFailureException"} ] }, + "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"} + ] + }, "CancelCertificateTransfer":{ "name":"CancelCertificateTransfer", "http":{ @@ -143,6 +175,22 @@ {"shape":"ServiceUnavailableException"} ] }, + "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"} + ] + }, "ClearDefaultAuthorizer":{ "name":"ClearDefaultAuthorizer", "http":{ @@ -227,6 +275,24 @@ {"shape":"InternalFailureException"} ] }, + "CreateOTAUpdate":{ + "name":"CreateOTAUpdate", + "http":{ + "method":"POST", + "requestUri":"/otaUpdates/{otaUpdateId}" + }, + "input":{"shape":"CreateOTAUpdateRequest"}, + "output":{"shape":"CreateOTAUpdateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "CreatePolicy":{ "name":"CreatePolicy", "http":{ @@ -282,6 +348,54 @@ {"shape":"InternalFailureException"} ] }, + "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"} + ] + }, + "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"} + ] + }, + "CreateStream":{ + "name":"CreateStream", + "http":{ + "method":"POST", + "requestUri":"/streams/{streamId}" + }, + "input":{"shape":"CreateStreamRequest"}, + "output":{"shape":"CreateStreamResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ] + }, "CreateThing":{ "name":"CreateThing", "http":{ @@ -347,6 +461,21 @@ {"shape":"ServiceUnavailableException"} ] }, + "DeleteAccountAuditConfiguration":{ + "name":"DeleteAccountAuditConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/audit/configuration" + }, + "input":{"shape":"DeleteAccountAuditConfigurationRequest"}, + "output":{"shape":"DeleteAccountAuditConfigurationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "DeleteAuthorizer":{ "name":"DeleteAuthorizer", "http":{ @@ -401,6 +530,54 @@ {"shape":"ResourceNotFoundException"} ] }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, "DeletePolicy":{ "name":"DeletePolicy", "http":{ @@ -469,6 +646,54 @@ {"shape":"ResourceNotFoundException"} ] }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, "DeleteThing":{ "name":"DeleteThing", "http":{ @@ -563,6 +788,34 @@ {"shape":"InternalFailureException"} ] }, + "DescribeAccountAuditConfiguration":{ + "name":"DescribeAccountAuditConfiguration", + "http":{ + "method":"GET", + "requestUri":"/audit/configuration" + }, + "input":{"shape":"DescribeAccountAuditConfigurationRequest"}, + "output":{"shape":"DescribeAccountAuditConfigurationResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, + "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"} + ] + }, "DescribeAuthorizer":{ "name":"DescribeAuthorizer", "http":{ @@ -723,6 +976,53 @@ {"shape":"ResourceNotFoundException"} ] }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, "DescribeThing":{ "name":"DescribeThing", "http":{ @@ -821,6 +1121,21 @@ ], "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"} + ] + }, "DetachThingPrincipal":{ "name":"DetachThingPrincipal", "http":{ @@ -929,6 +1244,23 @@ {"shape":"ServiceUnavailableException"} ] }, + "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"} + ] + }, "GetPolicy":{ "name":"GetPolicy", "http":{ @@ -1004,10 +1336,25 @@ "output":{"shape":"GetV2LoggingOptionsResponse"}, "errors":[ {"shape":"InternalException"}, - {"shape":"InvalidRequestException"}, + {"shape":"NotConfiguredException"}, {"shape":"ServiceUnavailableException"} ] }, + "ListActiveViolations":{ + "name":"ListActiveViolations", + "http":{ + "method":"GET", + "requestUri":"/active-violations" + }, + "input":{"shape":"ListActiveViolationsRequest"}, + "output":{"shape":"ListActiveViolationsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "ListAttachedPolicies":{ "name":"ListAttachedPolicies", "http":{ @@ -1026,6 +1373,34 @@ {"shape":"LimitExceededException"} ] }, + "ListAuditFindings":{ + "name":"ListAuditFindings", + "http":{ + "method":"POST", + "requestUri":"/audit/findings" + }, + "input":{"shape":"ListAuditFindingsRequest"}, + "output":{"shape":"ListAuditFindingsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, + "ListAuditTasks":{ + "name":"ListAuditTasks", + "http":{ + "method":"GET", + "requestUri":"/audit/tasks" + }, + "input":{"shape":"ListAuditTasksRequest"}, + "output":{"shape":"ListAuditTasksResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "ListAuthorizers":{ "name":"ListAuthorizers", "http":{ @@ -1151,6 +1526,22 @@ {"shape":"ServiceUnavailableException"} ] }, + "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"} + ] + }, "ListOutgoingCertificates":{ "name":"ListOutgoingCertificates", "http":{ @@ -1269,6 +1660,65 @@ {"shape":"InternalFailureException"} ] }, + "ListScheduledAudits":{ + "name":"ListScheduledAudits", + "http":{ + "method":"GET", + "requestUri":"/audit/scheduledaudits" + }, + "input":{"shape":"ListScheduledAuditsRequest"}, + "output":{"shape":"ListScheduledAuditsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, + "ListSecurityProfiles":{ + "name":"ListSecurityProfiles", + "http":{ + "method":"GET", + "requestUri":"/security-profiles" + }, + "input":{"shape":"ListSecurityProfilesRequest"}, + "output":{"shape":"ListSecurityProfilesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, "ListTargetsForPolicy":{ "name":"ListTargetsForPolicy", "http":{ @@ -1287,6 +1737,21 @@ {"shape":"LimitExceededException"} ] }, + "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"} + ] + }, "ListThingGroups":{ "name":"ListThingGroups", "http":{ @@ -1437,6 +1902,20 @@ {"shape":"ServiceUnavailableException"} ] }, + "ListViolationEvents":{ + "name":"ListViolationEvents", + "http":{ + "method":"GET", + "requestUri":"/violation-events" + }, + "input":{"shape":"ListViolationEventsRequest"}, + "output":{"shape":"ListViolationEventsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "RegisterCACertificate":{ "name":"RegisterCACertificate", "http":{ @@ -1575,7 +2054,8 @@ {"shape":"ThrottlingException"}, {"shape":"UnauthorizedException"}, {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} + {"shape":"InternalFailureException"}, + {"shape":"ResourceAlreadyExistsException"} ] }, "SetDefaultPolicyVersion":{ @@ -1634,6 +2114,21 @@ {"shape":"ServiceUnavailableException"} ] }, + "StartOnDemandAuditTask":{ + "name":"StartOnDemandAuditTask", + "http":{ + "method":"POST", + "requestUri":"/audit/tasks" + }, + "input":{"shape":"StartOnDemandAuditTaskRequest"}, + "output":{"shape":"StartOnDemandAuditTaskResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ] + }, "StartThingRegistrationTask":{ "name":"StartThingRegistrationTask", "http":{ @@ -1720,6 +2215,20 @@ {"shape":"InternalFailureException"} ] }, + "UpdateAccountAuditConfiguration":{ + "name":"UpdateAccountAuditConfiguration", + "http":{ + "method":"PATCH", + "requestUri":"/audit/configuration" + }, + "input":{"shape":"UpdateAccountAuditConfigurationRequest"}, + "output":{"shape":"UpdateAccountAuditConfigurationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "UpdateAuthorizer":{ "name":"UpdateAuthorizer", "http":{ @@ -1818,6 +2327,54 @@ {"shape":"InternalFailureException"} ] }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, "UpdateThing":{ "name":"UpdateThing", "http":{ @@ -1866,6 +2423,20 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceNotFoundException"} ] + }, + "ValidateSecurityProfileBehaviors":{ + "name":"ValidateSecurityProfileBehaviors", + "http":{ + "method":"POST", + "requestUri":"/security-profile-behaviors/validate" + }, + "input":{"shape":"ValidateSecurityProfileBehaviorsRequest"}, + "output":{"shape":"ValidateSecurityProfileBehaviorsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] } }, "shapes":{ @@ -1900,7 +2471,9 @@ "cloudwatchMetric":{"shape":"CloudwatchMetricAction"}, "cloudwatchAlarm":{"shape":"CloudwatchAlarmAction"}, "elasticsearch":{"shape":"ElasticsearchAction"}, - "salesforce":{"shape":"SalesforceAction"} + "salesforce":{"shape":"SalesforceAction"}, + "iotAnalytics":{"shape":"IotAnalyticsAction"}, + "stepFunctions":{"shape":"StepFunctionsAction"} } }, "ActionList":{ @@ -1918,6 +2491,22 @@ "CONNECT" ] }, + "ActiveViolation":{ + "type":"structure", + "members":{ + "violationId":{"shape":"ViolationId"}, + "thingName":{"shape":"ThingName"}, + "securityProfileName":{"shape":"SecurityProfileName"}, + "behavior":{"shape":"Behavior"}, + "lastViolationValue":{"shape":"MetricValue"}, + "lastViolationTime":{"shape":"Timestamp"}, + "violationStartTime":{"shape":"Timestamp"} + } + }, + "ActiveViolations":{ + "type":"list", + "member":{"shape":"ActiveViolation"} + }, "AddThingToThingGroupRequest":{ "type":"structure", "members":{ @@ -1932,7 +2521,33 @@ "members":{ } }, + "AdditionalParameterMap":{ + "type":"map", + "key":{"shape":"Key"}, + "value":{"shape":"Value"} + }, "AlarmName":{"type":"string"}, + "AlertTarget":{ + "type":"structure", + "required":[ + "alertTargetArn", + "roleArn" + ], + "members":{ + "alertTargetArn":{"shape":"AlertTargetArn"}, + "roleArn":{"shape":"RoleArn"} + } + }, + "AlertTargetArn":{"type":"string"}, + "AlertTargetType":{ + "type":"string", + "enum":["SNS"] + }, + "AlertTargets":{ + "type":"map", + "key":{"shape":"AlertTargetType"}, + "value":{"shape":"AlertTarget"} + }, "AllowAutoRegistration":{"type":"boolean"}, "Allowed":{ "type":"structure", @@ -1999,6 +2614,30 @@ } } }, + "AttachSecurityProfileRequest":{ + "type":"structure", + "required":[ + "securityProfileName", + "securityProfileTargetArn" + ], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "location":"uri", + "locationName":"securityProfileName" + }, + "securityProfileTargetArn":{ + "shape":"SecurityProfileTargetArn", + "location":"querystring", + "locationName":"securityProfileTargetArn" + } + } + }, + "AttachSecurityProfileResponse":{ + "type":"structure", + "members":{ + } + }, "AttachThingPrincipalRequest":{ "type":"structure", "required":[ @@ -2045,6 +2684,137 @@ "key":{"shape":"AttributeName"}, "value":{"shape":"AttributeValue"} }, + "AttributesMap":{ + "type":"map", + "key":{"shape":"Key"}, + "value":{"shape":"Value"} + }, + "AuditCheckConfiguration":{ + "type":"structure", + "members":{ + "enabled":{"shape":"Enabled"} + } + }, + "AuditCheckConfigurations":{ + "type":"map", + "key":{"shape":"AuditCheckName"}, + "value":{"shape":"AuditCheckConfiguration"} + }, + "AuditCheckDetails":{ + "type":"structure", + "members":{ + "checkRunStatus":{"shape":"AuditCheckRunStatus"}, + "checkCompliant":{"shape":"CheckCompliant"}, + "totalResourcesCount":{"shape":"TotalResourcesCount"}, + "nonCompliantResourcesCount":{"shape":"NonCompliantResourcesCount"}, + "errorCode":{"shape":"ErrorCode"}, + "message":{"shape":"ErrorMessage"} + } + }, + "AuditCheckName":{"type":"string"}, + "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"}, + "checkName":{"shape":"AuditCheckName"}, + "taskStartTime":{"shape":"Timestamp"}, + "findingTime":{"shape":"Timestamp"}, + "severity":{"shape":"AuditFindingSeverity"}, + "nonCompliantResource":{"shape":"NonCompliantResource"}, + "relatedResources":{"shape":"RelatedResources"}, + "reasonForNonCompliance":{"shape":"ReasonForNonCompliance"}, + "reasonForNonComplianceCode":{"shape":"ReasonForNonComplianceCode"} + } + }, + "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"}, + "roleArn":{"shape":"RoleArn"}, + "enabled":{"shape":"Enabled"} + } + }, + "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"}, + "taskStatus":{"shape":"AuditTaskStatus"}, + "taskType":{"shape":"AuditTaskType"} + } + }, + "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":[ @@ -2128,10 +2898,43 @@ }, "AwsAccountId":{ "type":"string", - "pattern":"[0-9]{12}" + "max":12, + "min":12, + "pattern":"[0-9]+" }, "AwsArn":{"type":"string"}, + "AwsIotJobArn":{"type":"string"}, + "AwsIotJobId":{"type":"string"}, "AwsIotSqlVersion":{"type":"string"}, + "Behavior":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{"shape":"BehaviorName"}, + "metric":{"shape":"BehaviorMetric"}, + "criteria":{"shape":"BehaviorCriteria"} + } + }, + "BehaviorCriteria":{ + "type":"structure", + "members":{ + "comparisonOperator":{"shape":"ComparisonOperator"}, + "value":{"shape":"MetricValue"}, + "durationSeconds":{"shape":"DurationSeconds"} + } + }, + "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":{ @@ -2152,7 +2955,11 @@ "certificatePem":{"shape":"CertificatePem"}, "ownedBy":{"shape":"AwsAccountId"}, "creationDate":{"shape":"DateType"}, - "autoRegistrationStatus":{"shape":"AutoRegistrationStatus"} + "autoRegistrationStatus":{"shape":"AutoRegistrationStatus"}, + "lastModifiedDate":{"shape":"DateType"}, + "customerVersion":{"shape":"CustomerVersion"}, + "generationId":{"shape":"GenerationId"}, + "validity":{"shape":"CertificateValidity"} } }, "CACertificateStatus":{ @@ -2166,17 +2973,59 @@ "type":"list", "member":{"shape":"CACertificate"} }, - "CancelCertificateTransferRequest":{ + "CancelAuditTaskRequest":{ "type":"structure", - "required":["certificateId"], + "required":["taskId"], "members":{ - "certificateId":{ - "shape":"CertificateId", + "taskId":{ + "shape":"AuditTaskId", + "location":"uri", + "locationName":"taskId" + } + } + }, + "CancelAuditTaskResponse":{ + "type":"structure", + "members":{ + } + }, + "CancelCertificateTransferRequest":{ + "type":"structure", + "required":["certificateId"], + "members":{ + "certificateId":{ + "shape":"CertificateId", "location":"uri", "locationName":"certificateId" } } }, + "CancelJobExecutionRequest":{ + "type":"structure", + "required":[ + "jobId", + "thingName" + ], + "members":{ + "jobId":{ + "shape":"JobId", + "location":"uri", + "locationName":"jobId" + }, + "thingName":{ + "shape":"ThingName", + "location":"uri", + "locationName":"thingName" + }, + "force":{ + "shape":"ForceFlag", + "location":"querystring", + "locationName":"force" + }, + "expectedVersion":{"shape":"ExpectedVersion"}, + "statusDetails":{"shape":"DetailsMap"} + } + }, "CancelJobRequest":{ "type":"structure", "required":["jobId"], @@ -2186,7 +3035,12 @@ "location":"uri", "locationName":"jobId" }, - "comment":{"shape":"Comment"} + "comment":{"shape":"Comment"}, + "force":{ + "shape":"ForceFlag", + "location":"querystring", + "locationName":"force" + } } }, "CancelJobResponse":{ @@ -2197,6 +3051,7 @@ "description":{"shape":"JobDescription"} } }, + "CanceledChecksCount":{"type":"integer"}, "CanceledThings":{"type":"integer"}, "CannedAccessControlList":{ "type":"string", @@ -2241,7 +3096,10 @@ "previousOwnedBy":{"shape":"AwsAccountId"}, "creationDate":{"shape":"DateType"}, "lastModifiedDate":{"shape":"DateType"}, - "transferData":{"shape":"TransferData"} + "customerVersion":{"shape":"CustomerVersion"}, + "transferData":{"shape":"TransferData"}, + "generationId":{"shape":"GenerationId"}, + "validity":{"shape":"CertificateValidity"} } }, "CertificateId":{ @@ -2250,6 +3108,7 @@ "min":64, "pattern":"(0x)?[a-fA-F0-9]+" }, + "CertificateName":{"type":"string"}, "CertificatePem":{ "type":"string", "max":65536, @@ -2286,10 +3145,29 @@ "error":{"httpStatusCode":400}, "exception":true }, + "CertificateValidity":{ + "type":"structure", + "members":{ + "notBefore":{"shape":"DateType"}, + "notAfter":{"shape":"DateType"} + } + }, "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":{ @@ -2327,11 +3205,34 @@ ], "members":{ "roleArn":{"shape":"AwsArn"}, - "metricNamespace":{"shape":"MetricNamespace"}, - "metricName":{"shape":"MetricName"}, - "metricValue":{"shape":"MetricValue"}, - "metricUnit":{"shape":"MetricUnit"}, - "metricTimestamp":{"shape":"MetricTimestamp"} + "metricNamespace":{"shape":"String"}, + "metricName":{"shape":"String"}, + "metricValue":{"shape":"String"}, + "metricUnit":{"shape":"String"}, + "metricTimestamp":{"shape":"String"} + } + }, + "Code":{"type":"string"}, + "CodeSigning":{ + "type":"structure", + "members":{ + "awsSignerJobId":{"shape":"SigningJobId"}, + "customCodeSigning":{"shape":"CustomCodeSigning"} + } + }, + "CodeSigningCertificateChain":{ + "type":"structure", + "members":{ + "stream":{"shape":"Stream"}, + "certificateName":{"shape":"CertificateName"}, + "inlineDocument":{"shape":"InlineDocument"} + } + }, + "CodeSigningSignature":{ + "type":"structure", + "members":{ + "stream":{"shape":"Stream"}, + "inlineDocument":{"shape":"Signature"} } }, "CognitoIdentityPoolId":{"type":"string"}, @@ -2340,6 +3241,20 @@ "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":{ @@ -2420,8 +3335,7 @@ "description":{"shape":"JobDescription"}, "presignedUrlConfig":{"shape":"PresignedUrlConfig"}, "targetSelection":{"shape":"TargetSelection"}, - "jobExecutionsRolloutConfig":{"shape":"JobExecutionsRolloutConfig"}, - "documentParameters":{"shape":"JobDocumentParameters"} + "jobExecutionsRolloutConfig":{"shape":"JobExecutionsRolloutConfig"} } }, "CreateJobResponse":{ @@ -2451,6 +3365,38 @@ "keyPair":{"shape":"KeyPair"} } }, + "CreateOTAUpdateRequest":{ + "type":"structure", + "required":[ + "otaUpdateId", + "targets", + "files", + "roleArn" + ], + "members":{ + "otaUpdateId":{ + "shape":"OTAUpdateId", + "location":"uri", + "locationName":"otaUpdateId" + }, + "description":{"shape":"OTAUpdateDescription"}, + "targets":{"shape":"Targets"}, + "targetSelection":{"shape":"TargetSelection"}, + "files":{"shape":"OTAUpdateFiles"}, + "roleArn":{"shape":"RoleArn"}, + "additionalParameters":{"shape":"AdditionalParameterMap"} + } + }, + "CreateOTAUpdateResponse":{ + "type":"structure", + "members":{ + "otaUpdateId":{"shape":"OTAUpdateId"}, + "awsIotJobId":{"shape":"AwsIotJobId"}, + "otaUpdateArn":{"shape":"OTAUpdateArn"}, + "awsIotJobArn":{"shape":"AwsIotJobArn"}, + "otaUpdateStatus":{"shape":"OTAUpdateStatus"} + } + }, "CreatePolicyRequest":{ "type":"structure", "required":[ @@ -2527,6 +3473,82 @@ "roleAliasArn":{"shape":"RoleAliasArn"} } }, + "CreateScheduledAuditRequest":{ + "type":"structure", + "required":[ + "frequency", + "targetCheckNames", + "scheduledAuditName" + ], + "members":{ + "frequency":{"shape":"AuditFrequency"}, + "dayOfMonth":{"shape":"DayOfMonth"}, + "dayOfWeek":{"shape":"DayOfWeek"}, + "targetCheckNames":{"shape":"TargetAuditCheckNames"}, + "scheduledAuditName":{ + "shape":"ScheduledAuditName", + "location":"uri", + "locationName":"scheduledAuditName" + } + } + }, + "CreateScheduledAuditResponse":{ + "type":"structure", + "members":{ + "scheduledAuditArn":{"shape":"ScheduledAuditArn"} + } + }, + "CreateSecurityProfileRequest":{ + "type":"structure", + "required":[ + "securityProfileName", + "behaviors" + ], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "location":"uri", + "locationName":"securityProfileName" + }, + "securityProfileDescription":{"shape":"SecurityProfileDescription"}, + "behaviors":{"shape":"Behaviors"}, + "alertTargets":{"shape":"AlertTargets"} + } + }, + "CreateSecurityProfileResponse":{ + "type":"structure", + "members":{ + "securityProfileName":{"shape":"SecurityProfileName"}, + "securityProfileArn":{"shape":"SecurityProfileArn"} + } + }, + "CreateStreamRequest":{ + "type":"structure", + "required":[ + "streamId", + "files", + "roleArn" + ], + "members":{ + "streamId":{ + "shape":"StreamId", + "location":"uri", + "locationName":"streamId" + }, + "description":{"shape":"StreamDescription"}, + "files":{"shape":"StreamFiles"}, + "roleArn":{"shape":"RoleArn"} + } + }, + "CreateStreamResponse":{ + "type":"structure", + "members":{ + "streamId":{"shape":"StreamId"}, + "streamArn":{"shape":"StreamArn"}, + "description":{"shape":"StreamDescription"}, + "streamVersion":{"shape":"StreamVersion"} + } + }, "CreateThingGroupRequest":{ "type":"structure", "required":["thingGroupName"], @@ -2612,7 +3634,51 @@ "max":3600, "min":900 }, + "CustomCodeSigning":{ + "type":"structure", + "members":{ + "signature":{"shape":"CodeSigningSignature"}, + "certificateChain":{"shape":"CodeSigningCertificateChain"}, + "hashAlgorithm":{"shape":"HashAlgorithm"}, + "signatureAlgorithm":{"shape":"SignatureAlgorithm"} + } + }, + "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", + "location":"querystring", + "locationName":"deleteScheduledAudits" + } + } + }, + "DeleteAccountAuditConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteAuthorizerRequest":{ "type":"structure", "required":["authorizerName"], @@ -2669,6 +3735,68 @@ "error":{"httpStatusCode":409}, "exception":true }, + "DeleteJobExecutionRequest":{ + "type":"structure", + "required":[ + "jobId", + "thingName", + "executionNumber" + ], + "members":{ + "jobId":{ + "shape":"JobId", + "location":"uri", + "locationName":"jobId" + }, + "thingName":{ + "shape":"ThingName", + "location":"uri", + "locationName":"thingName" + }, + "executionNumber":{ + "shape":"ExecutionNumber", + "location":"uri", + "locationName":"executionNumber" + }, + "force":{ + "shape":"ForceFlag", + "location":"querystring", + "locationName":"force" + } + } + }, + "DeleteJobRequest":{ + "type":"structure", + "required":["jobId"], + "members":{ + "jobId":{ + "shape":"JobId", + "location":"uri", + "locationName":"jobId" + }, + "force":{ + "shape":"ForceFlag", + "location":"querystring", + "locationName":"force" + } + } + }, + "DeleteOTAUpdateRequest":{ + "type":"structure", + "required":["otaUpdateId"], + "members":{ + "otaUpdateId":{ + "shape":"OTAUpdateId", + "location":"uri", + "locationName":"otaUpdateId" + } + } + }, + "DeleteOTAUpdateResponse":{ + "type":"structure", + "members":{ + } + }, "DeletePolicyRequest":{ "type":"structure", "required":["policyName"], @@ -2725,6 +3853,60 @@ "members":{ } }, + "DeleteScheduledAuditRequest":{ + "type":"structure", + "required":["scheduledAuditName"], + "members":{ + "scheduledAuditName":{ + "shape":"ScheduledAuditName", + "location":"uri", + "locationName":"scheduledAuditName" + } + } + }, + "DeleteScheduledAuditResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteScheduledAudits":{"type":"boolean"}, + "DeleteSecurityProfileRequest":{ + "type":"structure", + "required":["securityProfileName"], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "location":"uri", + "locationName":"securityProfileName" + }, + "expectedVersion":{ + "shape":"OptionalVersion", + "location":"querystring", + "locationName":"expectedVersion" + } + } + }, + "DeleteSecurityProfileResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteStreamRequest":{ + "type":"structure", + "required":["streamId"], + "members":{ + "streamId":{ + "shape":"StreamId", + "location":"uri", + "locationName":"streamId" + } + } + }, + "DeleteStreamResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteThingGroupRequest":{ "type":"structure", "required":["thingGroupName"], @@ -2839,6 +4021,41 @@ } }, "DeprecationDate":{"type":"timestamp"}, + "DescribeAccountAuditConfigurationRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeAccountAuditConfigurationResponse":{ + "type":"structure", + "members":{ + "roleArn":{"shape":"RoleArn"}, + "auditNotificationTargetConfigurations":{"shape":"AuditNotificationTargetConfigurations"}, + "auditCheckConfigurations":{"shape":"AuditCheckConfigurations"} + } + }, + "DescribeAuditTaskRequest":{ + "type":"structure", + "required":["taskId"], + "members":{ + "taskId":{ + "shape":"AuditTaskId", + "location":"uri", + "locationName":"taskId" + } + } + }, + "DescribeAuditTaskResponse":{ + "type":"structure", + "members":{ + "taskStatus":{"shape":"AuditTaskStatus"}, + "taskType":{"shape":"AuditTaskType"}, + "taskStartTime":{"shape":"Timestamp"}, + "taskStatistics":{"shape":"TaskStatistics"}, + "scheduledAuditName":{"shape":"ScheduledAuditName"}, + "auditDetails":{"shape":"AuditDetails"} + } + }, "DescribeAuthorizerRequest":{ "type":"structure", "required":["authorizerName"], @@ -3015,6 +4232,69 @@ "roleAliasDescription":{"shape":"RoleAliasDescription"} } }, + "DescribeScheduledAuditRequest":{ + "type":"structure", + "required":["scheduledAuditName"], + "members":{ + "scheduledAuditName":{ + "shape":"ScheduledAuditName", + "location":"uri", + "locationName":"scheduledAuditName" + } + } + }, + "DescribeScheduledAuditResponse":{ + "type":"structure", + "members":{ + "frequency":{"shape":"AuditFrequency"}, + "dayOfMonth":{"shape":"DayOfMonth"}, + "dayOfWeek":{"shape":"DayOfWeek"}, + "targetCheckNames":{"shape":"TargetAuditCheckNames"}, + "scheduledAuditName":{"shape":"ScheduledAuditName"}, + "scheduledAuditArn":{"shape":"ScheduledAuditArn"} + } + }, + "DescribeSecurityProfileRequest":{ + "type":"structure", + "required":["securityProfileName"], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "location":"uri", + "locationName":"securityProfileName" + } + } + }, + "DescribeSecurityProfileResponse":{ + "type":"structure", + "members":{ + "securityProfileName":{"shape":"SecurityProfileName"}, + "securityProfileArn":{"shape":"SecurityProfileArn"}, + "securityProfileDescription":{"shape":"SecurityProfileDescription"}, + "behaviors":{"shape":"Behaviors"}, + "alertTargets":{"shape":"AlertTargets"}, + "version":{"shape":"Version"}, + "creationDate":{"shape":"Timestamp"}, + "lastModifiedDate":{"shape":"Timestamp"} + } + }, + "DescribeStreamRequest":{ + "type":"structure", + "required":["streamId"], + "members":{ + "streamId":{ + "shape":"StreamId", + "location":"uri", + "locationName":"streamId" + } + } + }, + "DescribeStreamResponse":{ + "type":"structure", + "members":{ + "streamInfo":{"shape":"StreamInfo"} + } + }, "DescribeThingGroupRequest":{ "type":"structure", "required":["thingGroupName"], @@ -3144,6 +4424,30 @@ } } }, + "DetachSecurityProfileRequest":{ + "type":"structure", + "required":[ + "securityProfileName", + "securityProfileTargetArn" + ], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "location":"uri", + "locationName":"securityProfileName" + }, + "securityProfileTargetArn":{ + "shape":"SecurityProfileTargetArn", + "location":"querystring", + "locationName":"securityProfileTargetArn" + } + } + }, + "DetachSecurityProfileResponse":{ + "type":"structure", + "members":{ + } + }, "DetachThingPrincipalRequest":{ "type":"structure", "required":[ @@ -3197,6 +4501,7 @@ } } }, + "DurationSeconds":{"type":"integer"}, "DynamoDBAction":{ "type":"structure", "required":[ @@ -3283,6 +4588,14 @@ "Enabled":{"type":"boolean"}, "EndpointAddress":{"type":"string"}, "EndpointType":{"type":"string"}, + "ErrorCode":{"type":"string"}, + "ErrorInfo":{ + "type":"structure", + "members":{ + "code":{"shape":"Code"}, + "message":{"shape":"OTAUpdateErrorMessage"} + } + }, "ErrorMessage":{ "type":"string", "max":2048 @@ -3302,10 +4615,15 @@ "THING_GROUP_HIERARCHY", "THING_TYPE_ASSOCIATION", "JOB", - "JOB_EXECUTION" + "JOB_EXECUTION", + "POLICY", + "CERTIFICATE", + "CA_CERTIFICATE" ] }, + "ExecutionNamePrefix":{"type":"string"}, "ExecutionNumber":{"type":"long"}, + "ExpectedVersion":{"type":"long"}, "ExpiresInSec":{ "type":"long", "max":3600, @@ -3317,7 +4635,14 @@ "policies":{"shape":"Policies"} } }, + "FailedChecksCount":{"type":"integer"}, "FailedThings":{"type":"integer"}, + "FileId":{ + "type":"integer", + "max":255, + "min":0 + }, + "FileName":{"type":"string"}, "FirehoseAction":{ "type":"structure", "required":[ @@ -3336,12 +4661,15 @@ }, "Flag":{"type":"boolean"}, "ForceDelete":{"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":{ @@ -3400,6 +4728,23 @@ "logLevel":{"shape":"LogLevel"} } }, + "GetOTAUpdateRequest":{ + "type":"structure", + "required":["otaUpdateId"], + "members":{ + "otaUpdateId":{ + "shape":"OTAUpdateId", + "location":"uri", + "locationName":"otaUpdateId" + } + } + }, + "GetOTAUpdateResponse":{ + "type":"structure", + "members":{ + "otaUpdateInfo":{"shape":"OTAUpdateInfo"} + } + }, "GetPolicyRequest":{ "type":"structure", "required":["policyName"], @@ -3417,7 +4762,10 @@ "policyName":{"shape":"PolicyName"}, "policyArn":{"shape":"PolicyArn"}, "policyDocument":{"shape":"PolicyDocument"}, - "defaultVersionId":{"shape":"PolicyVersionId"} + "defaultVersionId":{"shape":"PolicyVersionId"}, + "creationDate":{"shape":"DateType"}, + "lastModifiedDate":{"shape":"DateType"}, + "generationId":{"shape":"GenerationId"} } }, "GetPolicyVersionRequest":{ @@ -3446,7 +4794,10 @@ "policyName":{"shape":"PolicyName"}, "policyDocument":{"shape":"PolicyDocument"}, "policyVersionId":{"shape":"PolicyVersionId"}, - "isDefaultVersion":{"shape":"IsDefaultVersion"} + "isDefaultVersion":{"shape":"IsDefaultVersion"}, + "creationDate":{"shape":"DateType"}, + "lastModifiedDate":{"shape":"DateType"}, + "generationId":{"shape":"GenerationId"} } }, "GetRegistrationCodeRequest":{ @@ -3498,6 +4849,7 @@ "groupArn":{"shape":"ThingGroupArn"} } }, + "HashAlgorithm":{"type":"string"}, "HashKeyField":{"type":"string"}, "HashKeyValue":{"type":"string"}, "ImplicitDeny":{ @@ -3506,6 +4858,7 @@ "policies":{"shape":"Policies"} } }, + "InProgressChecksCount":{"type":"integer"}, "InProgressThings":{"type":"integer"}, "IndexName":{ "type":"string", @@ -3534,6 +4887,7 @@ "REBUILDING" ] }, + "InlineDocument":{"type":"string"}, "InternalException":{ "type":"structure", "members":{ @@ -3576,6 +4930,22 @@ "error":{"httpStatusCode":400}, "exception":true }, + "InvalidStateTransitionException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "IotAnalyticsAction":{ + "type":"structure", + "members":{ + "channelArn":{"shape":"AwsArn"}, + "channelName":{"shape":"ChannelName"}, + "roleArn":{"shape":"AwsArn"} + } + }, "IsAuthenticated":{"type":"boolean"}, "IsDefaultVersion":{"type":"boolean"}, "IsDisabled":{"type":"boolean"}, @@ -3586,6 +4956,7 @@ "jobId":{"shape":"JobId"}, "targetSelection":{"shape":"TargetSelection"}, "status":{"shape":"JobStatus"}, + "forceCanceled":{"shape":"Forced"}, "comment":{"shape":"Comment"}, "targets":{"shape":"JobTargets"}, "description":{"shape":"JobDescription"}, @@ -3594,8 +4965,7 @@ "createdAt":{"shape":"DateType"}, "lastUpdatedAt":{"shape":"DateType"}, "completedAt":{"shape":"DateType"}, - "jobProcessDetails":{"shape":"JobProcessDetails"}, - "documentParameters":{"shape":"JobDocumentParameters"} + "jobProcessDetails":{"shape":"JobProcessDetails"} } }, "JobArn":{"type":"string"}, @@ -3608,12 +4978,6 @@ "type":"string", "max":32768 }, - "JobDocumentParameters":{ - "type":"map", - "key":{"shape":"ParameterKey"}, - "value":{"shape":"ParameterValue"}, - "max":10 - }, "JobDocumentSource":{ "type":"string", "max":1350, @@ -3624,12 +4988,14 @@ "members":{ "jobId":{"shape":"JobId"}, "status":{"shape":"JobExecutionStatus"}, + "forceCanceled":{"shape":"Forced"}, "statusDetails":{"shape":"JobExecutionStatusDetails"}, "thingArn":{"shape":"ThingArn"}, "queuedAt":{"shape":"DateType"}, "startedAt":{"shape":"DateType"}, "lastUpdatedAt":{"shape":"DateType"}, - "executionNumber":{"shape":"ExecutionNumber"} + "executionNumber":{"shape":"ExecutionNumber"}, + "versionNumber":{"shape":"VersionNumber"} } }, "JobExecutionStatus":{ @@ -3712,7 +5078,8 @@ "enum":[ "IN_PROGRESS", "CANCELED", - "COMPLETED" + "COMPLETED", + "DELETION_IN_PROGRESS" ] }, "JobSummary":{ @@ -3780,14 +5147,46 @@ "max":250, "min":1 }, - "LastModifiedDate":{"type":"timestamp"}, - "LimitExceededException":{ + "LastModifiedDate":{"type":"timestamp"}, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":410}, + "exception":true + }, + "ListActiveViolationsRequest":{ + "type":"structure", + "members":{ + "thingName":{ + "shape":"ThingName", + "location":"querystring", + "locationName":"thingName" + }, + "securityProfileName":{ + "shape":"SecurityProfileName", + "location":"querystring", + "locationName":"securityProfileName" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListActiveViolationsResponse":{ "type":"structure", "members":{ - "message":{"shape":"errorMessage"} - }, - "error":{"httpStatusCode":410}, - "exception":true + "activeViolations":{"shape":"ActiveViolations"}, + "nextToken":{"shape":"NextToken"} + } }, "ListAttachedPoliciesRequest":{ "type":"structure", @@ -3822,6 +5221,71 @@ "nextMarker":{"shape":"Marker"} } }, + "ListAuditFindingsRequest":{ + "type":"structure", + "members":{ + "taskId":{"shape":"AuditTaskId"}, + "checkName":{"shape":"AuditCheckName"}, + "resourceIdentifier":{"shape":"ResourceIdentifier"}, + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"}, + "startTime":{"shape":"Timestamp"}, + "endTime":{"shape":"Timestamp"} + } + }, + "ListAuditFindingsResponse":{ + "type":"structure", + "members":{ + "findings":{"shape":"AuditFindings"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListAuditTasksRequest":{ + "type":"structure", + "required":[ + "startTime", + "endTime" + ], + "members":{ + "startTime":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"startTime" + }, + "endTime":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"endTime" + }, + "taskType":{ + "shape":"AuditTaskType", + "location":"querystring", + "locationName":"taskType" + }, + "taskStatus":{ + "shape":"AuditTaskStatus", + "location":"querystring", + "locationName":"taskStatus" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAuditTasksResponse":{ + "type":"structure", + "members":{ + "tasks":{"shape":"AuditTaskMetadataList"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListAuthorizersRequest":{ "type":"structure", "members":{ @@ -4071,6 +5535,33 @@ "nextToken":{"shape":"NextToken"} } }, + "ListOTAUpdatesRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "otaUpdateStatus":{ + "shape":"OTAUpdateStatus", + "location":"querystring", + "locationName":"otaUpdateStatus" + } + } + }, + "ListOTAUpdatesResponse":{ + "type":"structure", + "members":{ + "otaUpdates":{"shape":"OTAUpdatesSummary"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListOutgoingCertificatesRequest":{ "type":"structure", "members":{ @@ -4263,6 +5754,110 @@ "nextMarker":{"shape":"Marker"} } }, + "ListScheduledAuditsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListScheduledAuditsResponse":{ + "type":"structure", + "members":{ + "scheduledAudits":{"shape":"ScheduledAuditMetadataList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListSecurityProfilesForTargetRequest":{ + "type":"structure", + "required":["securityProfileTargetArn"], + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "recursive":{ + "shape":"Recursive", + "location":"querystring", + "locationName":"recursive" + }, + "securityProfileTargetArn":{ + "shape":"SecurityProfileTargetArn", + "location":"querystring", + "locationName":"securityProfileTargetArn" + } + } + }, + "ListSecurityProfilesForTargetResponse":{ + "type":"structure", + "members":{ + "securityProfileTargetMappings":{"shape":"SecurityProfileTargetMappings"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListSecurityProfilesRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListSecurityProfilesResponse":{ + "type":"structure", + "members":{ + "securityProfileIdentifiers":{"shape":"SecurityProfileIdentifiers"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListStreamsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "ascendingOrder":{ + "shape":"AscendingOrder", + "location":"querystring", + "locationName":"isAscendingOrder" + } + } + }, + "ListStreamsResponse":{ + "type":"structure", + "members":{ + "streams":{"shape":"StreamsSummary"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListTargetsForPolicyRequest":{ "type":"structure", "required":["policyName"], @@ -4291,6 +5886,34 @@ "nextMarker":{"shape":"Marker"} } }, + "ListTargetsForSecurityProfileRequest":{ + "type":"structure", + "required":["securityProfileName"], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "location":"uri", + "locationName":"securityProfileName" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListTargetsForSecurityProfileResponse":{ + "type":"structure", + "members":{ + "securityProfileTargets":{"shape":"SecurityProfileTargets"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListThingGroupsForThingRequest":{ "type":"structure", "required":["thingName"], @@ -4593,6 +6216,52 @@ "nextToken":{"shape":"NextToken"} } }, + "ListViolationEventsRequest":{ + "type":"structure", + "required":[ + "startTime", + "endTime" + ], + "members":{ + "startTime":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"startTime" + }, + "endTime":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"endTime" + }, + "thingName":{ + "shape":"ThingName", + "location":"querystring", + "locationName":"thingName" + }, + "securityProfileName":{ + "shape":"SecurityProfileName", + "location":"querystring", + "locationName":"securityProfileName" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListViolationEventsResponse":{ + "type":"structure", + "members":{ + "violationEvents":{"shape":"ViolationEvents"}, + "nextToken":{"shape":"NextToken"} + } + }, "LogLevel":{ "type":"string", "enum":[ @@ -4655,35 +6324,122 @@ "max":1000, "min":1 }, + "MaxResults":{ + "type":"integer", + "max":250, + "min":1 + }, "Message":{ "type":"string", "max":128 }, - "MessageFormat":{ + "MessageFormat":{ + "type":"string", + "enum":[ + "RAW", + "JSON" + ] + }, + "MetricValue":{ + "type":"structure", + "members":{ + "count":{"shape":"UnsignedLong"}, + "cidrs":{"shape":"Cidrs"}, + "ports":{"shape":"Ports"} + } + }, + "MissingContextValue":{"type":"string"}, + "MissingContextValues":{ + "type":"list", + "member":{"shape":"MissingContextValue"} + }, + "NextToken":{"type":"string"}, + "NonCompliantChecksCount":{"type":"integer"}, + "NonCompliantResource":{ + "type":"structure", + "members":{ + "resourceType":{"shape":"ResourceType"}, + "resourceIdentifier":{"shape":"ResourceIdentifier"}, + "additionalInfo":{"shape":"StringMap"} + } + }, + "NonCompliantResourcesCount":{"type":"long"}, + "NotConfiguredException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "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"}, + "fileVersion":{"shape":"OTAUpdateFileVersion"}, + "fileSource":{"shape":"Stream"}, + "codeSigning":{"shape":"CodeSigning"}, + "attributes":{"shape":"AttributesMap"} + } + }, + "OTAUpdateFileVersion":{"type":"string"}, + "OTAUpdateFiles":{ + "type":"list", + "member":{"shape":"OTAUpdateFile"}, + "max":10, + "min":1 + }, + "OTAUpdateId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, + "OTAUpdateInfo":{ + "type":"structure", + "members":{ + "otaUpdateId":{"shape":"OTAUpdateId"}, + "otaUpdateArn":{"shape":"OTAUpdateArn"}, + "creationDate":{"shape":"DateType"}, + "lastModifiedDate":{"shape":"DateType"}, + "description":{"shape":"OTAUpdateDescription"}, + "targets":{"shape":"Targets"}, + "targetSelection":{"shape":"TargetSelection"}, + "otaUpdateFiles":{"shape":"OTAUpdateFiles"}, + "otaUpdateStatus":{"shape":"OTAUpdateStatus"}, + "awsIotJobId":{"shape":"AwsIotJobId"}, + "awsIotJobArn":{"shape":"AwsIotJobArn"}, + "errorInfo":{"shape":"ErrorInfo"}, + "additionalParameters":{"shape":"AdditionalParameterMap"} + } + }, + "OTAUpdateStatus":{ "type":"string", "enum":[ - "RAW", - "JSON" + "CREATE_PENDING", + "CREATE_IN_PROGRESS", + "CREATE_COMPLETE", + "CREATE_FAILED" ] }, - "MetricName":{"type":"string"}, - "MetricNamespace":{"type":"string"}, - "MetricTimestamp":{"type":"string"}, - "MetricUnit":{"type":"string"}, - "MetricValue":{"type":"string"}, - "MissingContextValue":{"type":"string"}, - "MissingContextValues":{ - "type":"list", - "member":{"shape":"MissingContextValue"} - }, - "NextToken":{"type":"string"}, - "NotConfiguredException":{ + "OTAUpdateSummary":{ "type":"structure", "members":{ - "message":{"shape":"errorMessage"} - }, - "error":{"httpStatusCode":404}, - "exception":true + "otaUpdateId":{"shape":"OTAUpdateId"}, + "otaUpdateArn":{"shape":"OTAUpdateArn"}, + "creationDate":{"shape":"DateType"} + } + }, + "OTAUpdatesSummary":{ + "type":"list", + "member":{"shape":"OTAUpdateSummary"} }, "OptionalVersion":{"type":"long"}, "OutgoingCertificate":{ @@ -4707,18 +6463,6 @@ "min":1 }, "Parameter":{"type":"string"}, - "ParameterKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9:_-]+" - }, - "ParameterValue":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"[^\\p{C}]+" - }, "Parameters":{ "type":"map", "key":{"shape":"Parameter"}, @@ -4775,10 +6519,26 @@ "type":"string", "pattern":"[0-9]+" }, + "PolicyVersionIdentifier":{ + "type":"structure", + "members":{ + "policyName":{"shape":"PolicyName"}, + "policyVersionId":{"shape":"PolicyVersionId"} + } + }, "PolicyVersions":{ "type":"list", "member":{"shape":"PolicyVersion"} }, + "Port":{ + "type":"integer", + "max":65535, + "min":0 + }, + "Ports":{ + "type":"list", + "member":{"shape":"Port"} + }, "PresignedUrlConfig":{ "type":"structure", "members":{ @@ -4839,6 +6599,8 @@ "QueuedThings":{"type":"integer"}, "RangeKeyField":{"type":"string"}, "RangeKeyValue":{"type":"string"}, + "ReasonForNonCompliance":{"type":"string"}, + "ReasonForNonComplianceCode":{"type":"string"}, "Recursive":{"type":"boolean"}, "RecursiveWithoutDefault":{"type":"boolean"}, "RegisterCACertificateRequest":{ @@ -4958,6 +6720,18 @@ } }, "RejectedThings":{"type":"integer"}, + "RelatedResource":{ + "type":"structure", + "members":{ + "resourceType":{"shape":"ResourceType"}, + "resourceIdentifier":{"shape":"ResourceIdentifier"}, + "additionalInfo":{"shape":"StringMap"} + } + }, + "RelatedResources":{ + "type":"list", + "member":{"shape":"RelatedResource"} + }, "RemoveAutoRegistration":{"type":"boolean"}, "RemoveThingFromThingGroupRequest":{ "type":"structure", @@ -5026,6 +6800,17 @@ "key":{"shape":"ResourceLogicalId"}, "value":{"shape":"ResourceArn"} }, + "ResourceIdentifier":{ + "type":"structure", + "members":{ + "deviceCertificateId":{"shape":"CertificateId"}, + "caCertificateId":{"shape":"CertificateId"}, + "cognitoIdentityPoolId":{"shape":"CognitoIdentityPoolId"}, + "clientId":{"shape":"ClientId"}, + "policyVersionIdentifier":{"shape":"PolicyVersionIdentifier"}, + "account":{"shape":"AwsAccountId"} + } + }, "ResourceLogicalId":{"type":"string"}, "ResourceNotFoundException":{ "type":"structure", @@ -5043,6 +6828,17 @@ "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"} @@ -5058,6 +6854,7 @@ "type":"structure", "members":{ "roleAlias":{"shape":"RoleAlias"}, + "roleAliasArn":{"shape":"RoleAliasArn"}, "roleArn":{"shape":"RoleArn"}, "owner":{"shape":"AwsAccountId"}, "credentialDurationSeconds":{"shape":"CredentialDurationSeconds"}, @@ -5095,6 +6892,10 @@ "cannedAcl":{"shape":"CannedAccessControlList"} } }, + "S3Bucket":{ + "type":"string", + "min":1 + }, "S3FileUrl":{ "type":"string", "max":65535 @@ -5103,6 +6904,23 @@ "type":"list", "member":{"shape":"S3FileUrl"} }, + "S3Key":{ + "type":"string", + "min":1 + }, + "S3Location":{ + "type":"structure", + "required":[ + "bucket", + "key" + ], + "members":{ + "bucket":{"shape":"S3Bucket"}, + "key":{"shape":"S3Key"}, + "version":{"shape":"S3Version"} + } + }, + "S3Version":{"type":"string"}, "SQL":{"type":"string"}, "SalesforceAction":{ "type":"structure", @@ -5124,6 +6942,27 @@ "type":"string", "min":40 }, + "ScheduledAuditArn":{"type":"string"}, + "ScheduledAuditMetadata":{ + "type":"structure", + "members":{ + "scheduledAuditName":{"shape":"ScheduledAuditName"}, + "scheduledAuditArn":{"shape":"ScheduledAuditArn"}, + "frequency":{"shape":"AuditFrequency"}, + "dayOfMonth":{"shape":"DayOfMonth"}, + "dayOfWeek":{"shape":"DayOfWeek"} + } + }, + "ScheduledAuditMetadataList":{ + "type":"list", + "member":{"shape":"ScheduledAuditMetadata"} + }, + "ScheduledAuditName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, "SearchIndexRequest":{ "type":"structure", "required":["queryString"], @@ -5147,6 +6986,56 @@ "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"}, + "arn":{"shape":"SecurityProfileArn"} + } + }, + "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"} + } + }, + "SecurityProfileTargetArn":{"type":"string"}, + "SecurityProfileTargetMapping":{ + "type":"structure", + "members":{ + "securityProfileIdentifier":{"shape":"SecurityProfileIdentifier"}, + "target":{"shape":"SecurityProfileTarget"} + } + }, + "SecurityProfileTargetMappings":{ + "type":"list", + "member":{"shape":"SecurityProfileTargetMapping"} + }, + "SecurityProfileTargets":{ + "type":"list", + "member":{"shape":"SecurityProfileTarget"} + }, "ServiceUnavailableException":{ "type":"structure", "members":{ @@ -5219,6 +7108,9 @@ "disableAllLogs":{"shape":"DisableAllLogs"} } }, + "Signature":{"type":"blob"}, + "SignatureAlgorithm":{"type":"string"}, + "SigningJobId":{"type":"string"}, "SkyfallMaxResults":{ "type":"integer", "max":250, @@ -5256,6 +7148,19 @@ "useBase64":{"shape":"UseBase64"} } }, + "StartOnDemandAuditTaskRequest":{ + "type":"structure", + "required":["targetCheckNames"], + "members":{ + "targetCheckNames":{"shape":"TargetAuditCheckNames"} + } + }, + "StartOnDemandAuditTaskResponse":{ + "type":"structure", + "members":{ + "taskId":{"shape":"AuditTaskId"} + } + }, "StartThingRegistrationTaskRequest":{ "type":"structure", "required":[ @@ -5277,6 +7182,7 @@ "taskId":{"shape":"TaskId"} } }, + "StateMachineName":{"type":"string"}, "StateReason":{"type":"string"}, "StateValue":{"type":"string"}, "Status":{ @@ -5289,6 +7195,18 @@ "Cancelling" ] }, + "StepFunctionsAction":{ + "type":"structure", + "required":[ + "stateMachineName", + "roleArn" + ], + "members":{ + "executionNamePrefix":{"shape":"ExecutionNamePrefix"}, + "stateMachineName":{"shape":"StateMachineName"}, + "roleArn":{"shape":"AwsArn"} + } + }, "StopThingRegistrationTaskRequest":{ "type":"structure", "required":["taskId"], @@ -5305,10 +7223,84 @@ "members":{ } }, + "Stream":{ + "type":"structure", + "members":{ + "streamId":{"shape":"StreamId"}, + "fileId":{"shape":"FileId"} + } + }, + "StreamArn":{"type":"string"}, + "StreamDescription":{ + "type":"string", + "max":2028, + "pattern":"[^\\p{C}]+" + }, + "StreamFile":{ + "type":"structure", + "members":{ + "fileId":{"shape":"FileId"}, + "s3Location":{"shape":"S3Location"} + } + }, + "StreamFiles":{ + "type":"list", + "member":{"shape":"StreamFile"}, + "max":10, + "min":1 + }, + "StreamId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, + "StreamInfo":{ + "type":"structure", + "members":{ + "streamId":{"shape":"StreamId"}, + "streamArn":{"shape":"StreamArn"}, + "streamVersion":{"shape":"StreamVersion"}, + "description":{"shape":"StreamDescription"}, + "files":{"shape":"StreamFiles"}, + "createdAt":{"shape":"DateType"}, + "lastUpdatedAt":{"shape":"DateType"}, + "roleArn":{"shape":"RoleArn"} + } + }, "StreamName":{"type":"string"}, + "StreamSummary":{ + "type":"structure", + "members":{ + "streamId":{"shape":"StreamId"}, + "streamArn":{"shape":"StreamArn"}, + "streamVersion":{"shape":"StreamVersion"}, + "description":{"shape":"StreamDescription"} + } + }, + "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":[ @@ -5316,6 +7308,11 @@ "SNAPSHOT" ] }, + "Targets":{ + "type":"list", + "member":{"shape":"Target"}, + "min":1 + }, "TaskId":{ "type":"string", "max":40 @@ -5324,6 +7321,18 @@ "type":"list", "member":{"shape":"TaskId"} }, + "TaskStatistics":{ + "type":"structure", + "members":{ + "totalChecks":{"shape":"TotalChecksCount"}, + "inProgressChecks":{"shape":"InProgressChecksCount"}, + "waitingForDataCollectionChecks":{"shape":"WaitingForDataCollectionChecksCount"}, + "compliantChecks":{"shape":"CompliantChecksCount"}, + "nonCompliantChecks":{"shape":"NonCompliantChecksCount"}, + "failedChecks":{"shape":"FailedChecksCount"}, + "canceledChecks":{"shape":"CanceledChecksCount"} + } + }, "TemplateBody":{"type":"string"}, "TestAuthorizationRequest":{ "type":"structure", @@ -5523,9 +7532,10 @@ "error":{"httpStatusCode":429}, "exception":true }, + "Timestamp":{"type":"timestamp"}, "Token":{ "type":"string", - "max":1024, + "max":6144, "min":1 }, "TokenKeyName":{ @@ -5551,7 +7561,8 @@ "createdAt":{"shape":"CreatedAtDate"}, "actions":{"shape":"ActionList"}, "ruleDisabled":{"shape":"IsDisabled"}, - "awsIotSqlVersion":{"shape":"AwsIotSqlVersion"} + "awsIotSqlVersion":{"shape":"AwsIotSqlVersion"}, + "errorAction":{"shape":"Action"} } }, "TopicRuleList":{ @@ -5579,9 +7590,12 @@ "description":{"shape":"Description"}, "actions":{"shape":"ActionList"}, "ruleDisabled":{"shape":"IsDisabled"}, - "awsIotSqlVersion":{"shape":"AwsIotSqlVersion"} + "awsIotSqlVersion":{"shape":"AwsIotSqlVersion"}, + "errorAction":{"shape":"Action"} } }, + "TotalChecksCount":{"type":"integer"}, + "TotalResourcesCount":{"type":"long"}, "TransferAlreadyCompletedException":{ "type":"structure", "members":{ @@ -5643,6 +7657,23 @@ "exception":true }, "UndoDeprecate":{"type":"boolean"}, + "UnsignedLong":{ + "type":"long", + "min":0 + }, + "UpdateAccountAuditConfigurationRequest":{ + "type":"structure", + "members":{ + "roleArn":{"shape":"RoleArn"}, + "auditNotificationTargetConfigurations":{"shape":"AuditNotificationTargetConfigurations"}, + "auditCheckConfigurations":{"shape":"AuditCheckConfigurations"} + } + }, + "UpdateAccountAuditConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateAuthorizerRequest":{ "type":"structure", "required":["authorizerName"], @@ -5749,6 +7780,82 @@ "roleAliasArn":{"shape":"RoleAliasArn"} } }, + "UpdateScheduledAuditRequest":{ + "type":"structure", + "required":["scheduledAuditName"], + "members":{ + "frequency":{"shape":"AuditFrequency"}, + "dayOfMonth":{"shape":"DayOfMonth"}, + "dayOfWeek":{"shape":"DayOfWeek"}, + "targetCheckNames":{"shape":"TargetAuditCheckNames"}, + "scheduledAuditName":{ + "shape":"ScheduledAuditName", + "location":"uri", + "locationName":"scheduledAuditName" + } + } + }, + "UpdateScheduledAuditResponse":{ + "type":"structure", + "members":{ + "scheduledAuditArn":{"shape":"ScheduledAuditArn"} + } + }, + "UpdateSecurityProfileRequest":{ + "type":"structure", + "required":["securityProfileName"], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "location":"uri", + "locationName":"securityProfileName" + }, + "securityProfileDescription":{"shape":"SecurityProfileDescription"}, + "behaviors":{"shape":"Behaviors"}, + "alertTargets":{"shape":"AlertTargets"}, + "expectedVersion":{ + "shape":"OptionalVersion", + "location":"querystring", + "locationName":"expectedVersion" + } + } + }, + "UpdateSecurityProfileResponse":{ + "type":"structure", + "members":{ + "securityProfileName":{"shape":"SecurityProfileName"}, + "securityProfileArn":{"shape":"SecurityProfileArn"}, + "securityProfileDescription":{"shape":"SecurityProfileDescription"}, + "behaviors":{"shape":"Behaviors"}, + "alertTargets":{"shape":"AlertTargets"}, + "version":{"shape":"Version"}, + "creationDate":{"shape":"Timestamp"}, + "lastModifiedDate":{"shape":"Timestamp"} + } + }, + "UpdateStreamRequest":{ + "type":"structure", + "required":["streamId"], + "members":{ + "streamId":{ + "shape":"StreamId", + "location":"uri", + "locationName":"streamId" + }, + "description":{"shape":"StreamDescription"}, + "files":{"shape":"StreamFiles"}, + "roleArn":{"shape":"RoleArn"} + } + }, + "UpdateStreamResponse":{ + "type":"structure", + "members":{ + "streamId":{"shape":"StreamId"}, + "streamArn":{"shape":"StreamArn"}, + "description":{"shape":"StreamDescription"}, + "streamVersion":{"shape":"StreamVersion"} + } + }, "UpdateThingGroupRequest":{ "type":"structure", "required":[ @@ -5805,6 +7912,31 @@ } }, "UseBase64":{"type":"boolean"}, + "Valid":{"type":"boolean"}, + "ValidateSecurityProfileBehaviorsRequest":{ + "type":"structure", + "required":["behaviors"], + "members":{ + "behaviors":{"shape":"Behaviors"} + } + }, + "ValidateSecurityProfileBehaviorsResponse":{ + "type":"structure", + "members":{ + "valid":{"shape":"Valid"}, + "validationErrors":{"shape":"ValidationErrors"} + } + }, + "ValidationError":{ + "type":"structure", + "members":{ + "errorMessage":{"shape":"ErrorMessage"} + } + }, + "ValidationErrors":{ + "type":"list", + "member":{"shape":"ValidationError"} + }, "Value":{"type":"string"}, "Version":{"type":"long"}, "VersionConflictException":{ @@ -5815,6 +7947,7 @@ "error":{"httpStatusCode":409}, "exception":true }, + "VersionNumber":{"type":"long"}, "VersionsLimitExceededException":{ "type":"structure", "members":{ @@ -5823,6 +7956,37 @@ "error":{"httpStatusCode":409}, "exception":true }, + "ViolationEvent":{ + "type":"structure", + "members":{ + "violationId":{"shape":"ViolationId"}, + "thingName":{"shape":"ThingName"}, + "securityProfileName":{"shape":"SecurityProfileName"}, + "behavior":{"shape":"Behavior"}, + "metricValue":{"shape":"MetricValue"}, + "violationEventType":{"shape":"ViolationEventType"}, + "violationEventTime":{"shape":"Timestamp"} + } + }, + "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"} diff --git a/models/apis/iot/2015-05-28/docs-2.json b/models/apis/iot/2015-05-28/docs-2.json index cb51c6fe3cc..61477bd83bd 100644 --- a/models/apis/iot/2015-05-28/docs-2.json +++ b/models/apis/iot/2015-05-28/docs-2.json @@ -1,43 +1,59 @@ { "version": "2.0", - "service": "AWS IoT

AWS IoT provides secure, bi-directional communication between Internet-connected things (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each thing (Thing Registry), configure logging, and create and manage policies and credentials to authenticate things.

For more information about how AWS IoT works, see the Developer Guide.

", + "service": "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.

", "operations": { "AcceptCertificateTransfer": "

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": "

Adds a thing to a thing group.

", "AssociateTargetsWithJob": "

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": "

Attaches a policy to the specified target.

", "AttachPrincipalPolicy": "

Attaches the specified policy to the specified principal (certificate or other credential).

Note: This API is deprecated. Please use AttachPolicy instead.

", + "AttachSecurityProfile": "

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": "

Attaches the specified principal to the specified thing.

", + "CancelAuditTask": "

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": "

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": "

Cancels a job.

", + "CancelJobExecution": "

Cancels the execution of a job for a given thing.

", "ClearDefaultAuthorizer": "

Clears the default authorizer.

", "CreateAuthorizer": "

Creates an authorizer.

", "CreateCertificateFromCsr": "

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": "

Creates a job.

", "CreateKeysAndCertificate": "

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": "

Creates an AWS IoT OTAUpdate on a target group of things or groups.

", "CreatePolicy": "

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": "

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": "

Creates a role alias.

", - "CreateThing": "

Creates a thing record in the thing registry.

", - "CreateThingGroup": "

Create a thing group.

", + "CreateScheduledAudit": "

Creates a scheduled audit that is run at a specified time interval.

", + "CreateSecurityProfile": "

Creates a Device Defender security profile.

", + "CreateStream": "

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": "

Creates a thing record in the registry.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

", + "CreateThingGroup": "

Create a thing group.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

", "CreateThingType": "

Creates a new thing type.

", "CreateTopicRule": "

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": "

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": "

Deletes an authorizer.

", "DeleteCACertificate": "

Deletes a registered CA certificate.

", "DeleteCertificate": "

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": "

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": "

Deletes a job execution.

", + "DeleteOTAUpdate": "

Delete an OTA update.

", "DeletePolicy": "

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": "

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": "

Deletes a CA certificate registration code.

", "DeleteRoleAlias": "

Deletes a role alias

", + "DeleteScheduledAudit": "

Deletes a scheduled audit.

", + "DeleteSecurityProfile": "

Deletes a Device Defender security profile.

", + "DeleteStream": "

Deletes a stream.

", "DeleteThing": "

Deletes the specified thing.

", "DeleteThingGroup": "

Deletes a thing group.

", "DeleteThingType": "

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": "

Deletes the rule.

", "DeleteV2LoggingLevel": "

Deletes a logging level.

", "DeprecateThingType": "

Deprecates a thing type. You can not associate new things with deprecated thing type.

", + "DescribeAccountAuditConfiguration": "

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": "

Gets information about a Device Defender audit.

", "DescribeAuthorizer": "

Describes an authorizer.

", "DescribeCACertificate": "

Describes a registered CA certificate.

", - "DescribeCertificate": "

Gets information about the specified certificate. You may specify the certificate using either its ID or PEM.

", + "DescribeCertificate": "

Gets information about the specified certificate.

", "DescribeDefaultAuthorizer": "

Describes the default authorizer.

", "DescribeEndpoint": "

Returns a unique endpoint specific to the AWS account making the call.

", "DescribeEventConfigurations": "

Describes event configurations.

", @@ -45,25 +61,33 @@ "DescribeJob": "

Describes a job.

", "DescribeJobExecution": "

Describes a job execution.

", "DescribeRoleAlias": "

Describes a role alias.

", + "DescribeScheduledAudit": "

Gets information about a scheduled audit.

", + "DescribeSecurityProfile": "

Gets information about a Device Defender security profile.

", + "DescribeStream": "

Gets information about a stream.

", "DescribeThing": "

Gets information about the specified thing.

", "DescribeThingGroup": "

Describe a thing group.

", "DescribeThingRegistrationTask": "

Describes a bulk thing provisioning task.

", "DescribeThingType": "

Gets information about the specified thing type.

", "DetachPolicy": "

Detaches a policy from the specified target.

", "DetachPrincipalPolicy": "

Removes the specified policy from the specified certificate.

Note: This API is deprecated. Please use DetachPolicy instead.

", + "DetachSecurityProfile": "

Disassociates a Device Defender security profile from a thing group or from this account.

", "DetachThingPrincipal": "

Detaches the specified principal from the specified thing.

", "DisableTopicRule": "

Disables the rule.

", "EnableTopicRule": "

Enables the rule.

", - "GetEffectivePolicies": "

Gets effective policies.

", + "GetEffectivePolicies": "

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": "

Gets the search configuration.

", "GetJobDocument": "

Gets a job document.

", - "GetLoggingOptions": "

Gets the logging options.

", + "GetLoggingOptions": "

Gets the logging options.

NOTE: use of this command is not recommended. Use GetV2LoggingOptions instead.

", + "GetOTAUpdate": "

Gets an OTA update.

", "GetPolicy": "

Gets information about the specified policy with the policy document of the default version.

", "GetPolicyVersion": "

Gets information about the specified policy version.

", "GetRegistrationCode": "

Gets a registration code used to register a CA certificate with AWS IoT.

", "GetTopicRule": "

Gets information about the rule.

", "GetV2LoggingOptions": "

Gets the fine grained logging options.

", + "ListActiveViolations": "

Lists the active violations for a given Device Defender security profile.

", "ListAttachedPolicies": "

Lists the policies attached to the specified thing group.

", + "ListAuditFindings": "

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": "

Lists the Device Defender audits that have been performed during a given time period.

", "ListAuthorizers": "

Lists the authorizers registered in your account.

", "ListCACertificates": "

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": "

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.

", @@ -72,6 +96,7 @@ "ListJobExecutionsForJob": "

Lists the job executions for a job.

", "ListJobExecutionsForThing": "

Lists the job executions for the specified thing.

", "ListJobs": "

Lists jobs.

", + "ListOTAUpdates": "

Lists OTA updates.

", "ListOutgoingCertificates": "

Lists certificates that are being transferred but not yet accepted.

", "ListPolicies": "

Lists your policies.

", "ListPolicyPrincipals": "

Lists the principals associated with the specified policy.

Note: This API is deprecated. Please use ListTargetsForPolicy instead.

", @@ -79,7 +104,12 @@ "ListPrincipalPolicies": "

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.

", "ListPrincipalThings": "

Lists the things associated with the specified principal.

", "ListRoleAliases": "

Lists the role aliases registered in your account.

", + "ListScheduledAudits": "

Lists all of your scheduled audits.

", + "ListSecurityProfiles": "

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": "

Lists the Device Defender security profiles attached to a target (thing group).

", + "ListStreams": "

Lists all of the streams in your AWS account.

", "ListTargetsForPolicy": "

List targets for the specified policy.

", + "ListTargetsForSecurityProfile": "

Lists the targets (thing groups) associated with a given Device Defender security profile.

", "ListThingGroups": "

List the thing groups in your account.

", "ListThingGroupsForThing": "

List the thing groups to which the specified thing belongs.

", "ListThingPrincipals": "

Lists the principals associated with the specified thing.

", @@ -90,6 +120,7 @@ "ListThingsInThingGroup": "

Lists the things in the specified group.

", "ListTopicRules": "

Lists the rules for the specific topic.

", "ListV2LoggingLevels": "

Lists logging levels.

", + "ListViolationEvents": "

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": "

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": "

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": "

Provisions a thing.

", @@ -99,23 +130,29 @@ "SearchIndex": "

The query search index.

", "SetDefaultAuthorizer": "

Sets the default authorizer. This will be used if a websocket connection is made without specifying an authorizer.

", "SetDefaultPolicyVersion": "

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": "

Sets the logging options.

", + "SetLoggingOptions": "

Sets the logging options.

NOTE: use of this command is not recommended. Use SetV2LoggingOptions instead.

", "SetV2LoggingLevel": "

Sets the logging level.

", "SetV2LoggingOptions": "

Sets the logging options for the V2 logging service.

", + "StartOnDemandAuditTask": "

Starts an on-demand Device Defender audit.

", "StartThingRegistrationTask": "

Creates a bulk thing provisioning task.

", "StopThingRegistrationTask": "

Cancels a bulk thing provisioning task.

", - "TestAuthorization": "

Test custom authorization.

", - "TestInvokeAuthorizer": "

Invoke the specified custom authorizer for testing purposes.

", + "TestAuthorization": "

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": "

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": "

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": "

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": "

Updates an authorizer.

", "UpdateCACertificate": "

Updates a registered CA certificate.

", "UpdateCertificate": "

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": "

Updates the event configurations.

", "UpdateIndexingConfiguration": "

Updates the search configuration.

", "UpdateRoleAlias": "

Updates a role alias.

", + "UpdateScheduledAudit": "

Updates a scheduled audit, including what checks are performed and how often the audit takes place.

", + "UpdateSecurityProfile": "

Updates a Device Defender security profile.

", + "UpdateStream": "

Updates an existing stream. The stream version will be incremented by one.

", "UpdateThing": "

Updates the data for a thing.

", "UpdateThingGroup": "

Update a thing group.

", - "UpdateThingGroupsForThing": "

Updates the groups to which the thing belongs.

" + "UpdateThingGroupsForThing": "

Updates the groups to which the thing belongs.

", + "ValidateSecurityProfileBehaviors": "

Validates a Device Defender security profile behaviors specification.

" }, "shapes": { "AcceptCertificateTransferRequest": { @@ -126,7 +163,9 @@ "Action": { "base": "

Describes the actions associated with a rule.

", "refs": { - "ActionList$member": null + "ActionList$member": null, + "TopicRule$errorAction": "

The action to perform when an error occurs.

", + "TopicRulePayload$errorAction": "

The action to take when an error occurs.

" } }, "ActionList": { @@ -142,6 +181,18 @@ "AuthInfo$actionType": "

The type of action for which the principal is being authorized.

" } }, + "ActiveViolation": { + "base": "

Information about an active Device Defender security profile behavior violation.

", + "refs": { + "ActiveViolations$member": null + } + }, + "ActiveViolations": { + "base": null, + "refs": { + "ListActiveViolationsResponse$activeViolations": "

The list of active violations.

" + } + }, "AddThingToThingGroupRequest": { "base": null, "refs": { @@ -152,12 +203,46 @@ "refs": { } }, + "AdditionalParameterMap": { + "base": null, + "refs": { + "CreateOTAUpdateRequest$additionalParameters": "

A list of additional OTA update parameters which are name-value pairs.

", + "OTAUpdateInfo$additionalParameters": "

A collection of name/value pairs

" + } + }, "AlarmName": { "base": null, "refs": { "CloudwatchAlarmAction$alarmName": "

The CloudWatch alarm name.

" } }, + "AlertTarget": { + "base": "

A structure containing the alert target ARN and the role ARN.

", + "refs": { + "AlertTargets$value": null + } + }, + "AlertTargetArn": { + "base": null, + "refs": { + "AlertTarget$alertTargetArn": "

The ARN of the notification target to which alerts are sent.

" + } + }, + "AlertTargetType": { + "base": "

The type of alert target: one of \"SNS\".

", + "refs": { + "AlertTargets$key": null + } + }, + "AlertTargets": { + "base": null, + "refs": { + "CreateSecurityProfileRequest$alertTargets": "

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.

", + "DescribeSecurityProfileResponse$alertTargets": "

Where the alerts are sent. (Alerts are always sent to the console.)

", + "UpdateSecurityProfileRequest$alertTargets": "

Where the alerts are sent. (Alerts are always sent to the console.)

", + "UpdateSecurityProfileResponse$alertTargets": "

Where the alerts are sent. (Alerts are always sent to the console.)

" + } + }, "AllowAutoRegistration": { "base": null, "refs": { @@ -181,7 +266,8 @@ "ListPoliciesRequest$ascendingOrder": "

Specifies the order for results. If true, the results are returned in ascending creation order.

", "ListPolicyPrincipalsRequest$ascendingOrder": "

Specifies the order for results. If true, the results are returned in ascending creation order.

", "ListPrincipalPoliciesRequest$ascendingOrder": "

Specifies the order for results. If true, results are returned in ascending creation order.

", - "ListRoleAliasesRequest$ascendingOrder": "

Return the list of role aliases in ascending alphabetical order.

" + "ListRoleAliasesRequest$ascendingOrder": "

Return the list of role aliases in ascending alphabetical order.

", + "ListStreamsRequest$ascendingOrder": "

Set to true to return the list of streams in ascending order.

" } }, "AssociateTargetsWithJobRequest": { @@ -204,6 +290,16 @@ "refs": { } }, + "AttachSecurityProfileRequest": { + "base": null, + "refs": { + } + }, + "AttachSecurityProfileResponse": { + "base": null, + "refs": { + } + }, "AttachThingPrincipalRequest": { "base": "

The input for the AttachThingPrincipal operation.

", "refs": { @@ -246,6 +342,138 @@ "ThingDocument$attributes": "

The attributes.

" } }, + "AttributesMap": { + "base": null, + "refs": { + "OTAUpdateFile$attributes": "

A list of name/attribute pairs.

" + } + }, + "AuditCheckConfiguration": { + "base": "

Which audit checks are enabled and disabled for this account.

", + "refs": { + "AuditCheckConfigurations$value": null + } + }, + "AuditCheckConfigurations": { + "base": null, + "refs": { + "DescribeAccountAuditConfigurationResponse$auditCheckConfigurations": "

Which audit checks are enabled and disabled for this account.

", + "UpdateAccountAuditConfigurationRequest$auditCheckConfigurations": "

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.

" + } + }, + "AuditCheckDetails": { + "base": "

Information about the audit check.

", + "refs": { + "AuditDetails$value": null + } + }, + "AuditCheckName": { + "base": "

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.)

", + "refs": { + "AuditCheckConfigurations$key": null, + "AuditDetails$key": null, + "AuditFinding$checkName": "

The audit check that generated this result.

", + "ListAuditFindingsRequest$checkName": "

A filter to limit results to the findings for the specified audit check.

", + "TargetAuditCheckNames$member": null + } + }, + "AuditCheckRunStatus": { + "base": null, + "refs": { + "AuditCheckDetails$checkRunStatus": "

The completion status of this check, one of \"IN_PROGRESS\", \"WAITING_FOR_DATA_COLLECTION\", \"CANCELED\", \"COMPLETED_COMPLIANT\", \"COMPLETED_NON_COMPLIANT\", or \"FAILED\".

" + } + }, + "AuditDetails": { + "base": null, + "refs": { + "DescribeAuditTaskResponse$auditDetails": "

Detailed information about each check performed during this audit.

" + } + }, + "AuditFinding": { + "base": "

The findings (results) of the audit.

", + "refs": { + "AuditFindings$member": null + } + }, + "AuditFindingSeverity": { + "base": null, + "refs": { + "AuditFinding$severity": "

The severity of the result (finding).

" + } + }, + "AuditFindings": { + "base": null, + "refs": { + "ListAuditFindingsResponse$findings": "

The findings (results) of the audit.

" + } + }, + "AuditFrequency": { + "base": null, + "refs": { + "CreateScheduledAuditRequest$frequency": "

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.

", + "DescribeScheduledAuditResponse$frequency": "

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.

", + "ScheduledAuditMetadata$frequency": "

How often the scheduled audit takes place.

", + "UpdateScheduledAuditRequest$frequency": "

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.

" + } + }, + "AuditNotificationTarget": { + "base": "

Information about the targets to which audit notifications are sent.

", + "refs": { + "AuditNotificationTargetConfigurations$value": null + } + }, + "AuditNotificationTargetConfigurations": { + "base": null, + "refs": { + "DescribeAccountAuditConfigurationResponse$auditNotificationTargetConfigurations": "

Information about the targets to which audit notifications are sent for this account.

", + "UpdateAccountAuditConfigurationRequest$auditNotificationTargetConfigurations": "

Information about the targets to which audit notifications are sent.

" + } + }, + "AuditNotificationType": { + "base": null, + "refs": { + "AuditNotificationTargetConfigurations$key": null + } + }, + "AuditTaskId": { + "base": null, + "refs": { + "AuditFinding$taskId": "

The ID of the audit that generated this result (finding)

", + "AuditTaskMetadata$taskId": "

The ID of this audit.

", + "CancelAuditTaskRequest$taskId": "

The ID of the audit you want to cancel. You can only cancel an audit that is \"IN_PROGRESS\".

", + "DescribeAuditTaskRequest$taskId": "

The ID of the audit whose information you want to get.

", + "ListAuditFindingsRequest$taskId": "

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.

", + "StartOnDemandAuditTaskResponse$taskId": "

The ID of the on-demand audit you started.

" + } + }, + "AuditTaskMetadata": { + "base": "

The audits that were performed.

", + "refs": { + "AuditTaskMetadataList$member": null + } + }, + "AuditTaskMetadataList": { + "base": null, + "refs": { + "ListAuditTasksResponse$tasks": "

The audits that were performed during the specified time period.

" + } + }, + "AuditTaskStatus": { + "base": null, + "refs": { + "AuditTaskMetadata$taskStatus": "

The status of this audit: one of \"IN_PROGRESS\", \"COMPLETED\", \"FAILED\" or \"CANCELED\".

", + "DescribeAuditTaskResponse$taskStatus": "

The status of the audit: one of \"IN_PROGRESS\", \"COMPLETED\", \"FAILED\", or \"CANCELED\".

", + "ListAuditTasksRequest$taskStatus": "

A filter to limit the output to audits with the specified completion status: can be one of \"IN_PROGRESS\", \"COMPLETED\", \"FAILED\" or \"CANCELED\".

" + } + }, + "AuditTaskType": { + "base": null, + "refs": { + "AuditTaskMetadata$taskType": "

The type of this audit: one of \"ON_DEMAND_AUDIT_TASK\" or \"SCHEDULED_AUDIT_TASK\".

", + "DescribeAuditTaskResponse$taskType": "

The type of audit: \"ON_DEMAND_AUDIT_TASK\" or \"SCHEDULED_AUDIT_TASK\".

", + "ListAuditTasksRequest$taskType": "

A filter to limit the output to the specified type of audit: can be one of \"ON_DEMAND_AUDIT_TASK\" or \"SCHEDULED__AUDIT_TASK\".

" + } + }, "AuthDecision": { "base": null, "refs": { @@ -353,6 +581,7 @@ "CertificateDescription$ownedBy": "

The ID of the AWS account that owns the certificate.

", "CertificateDescription$previousOwnedBy": "

The ID of the AWS account of the previous owner of the certificate.

", "OutgoingCertificate$transferredTo": "

The AWS account to which the transfer was made.

", + "ResourceIdentifier$account": "

The account with which the resource is associated.

", "RoleAliasDescription$owner": "

The role alias owner.

", "TransferCertificateRequest$targetAwsAccount": "

The AWS account.

" } @@ -368,14 +597,31 @@ "FirehoseAction$roleArn": "

The IAM role that grants access to the Amazon Kinesis Firehose stream.

", "GetLoggingOptionsResponse$roleArn": "

The ARN of the IAM role that grants access.

", "GetV2LoggingOptionsResponse$roleArn": "

The IAM role ARN AWS IoT uses to write to your CloudWatch logs.

", + "IotAnalyticsAction$channelArn": "

(deprecated) The ARN of the IoT Analytics channel to which message data will be sent.

", + "IotAnalyticsAction$roleArn": "

The ARN of the role which has a policy that grants IoT Analytics permission to send message data via IoT Analytics (iotanalytics:BatchPutMessage).

", "KinesisAction$roleArn": "

The ARN of the IAM role that grants access to the Amazon Kinesis stream.

", "LoggingOptionsPayload$roleArn": "

The ARN of the IAM role that grants access.

", "RepublishAction$roleArn": "

The ARN of the IAM role that grants access.

", "S3Action$roleArn": "

The ARN of the IAM role that grants access.

", - "SetV2LoggingOptionsRequest$roleArn": "

The role ARN that allows IoT to write to Cloudwatch logs.

", + "SetV2LoggingOptionsRequest$roleArn": "

The ARN of the role that allows IoT to write to Cloudwatch logs.

", "SnsAction$targetArn": "

The ARN of the SNS topic.

", "SnsAction$roleArn": "

The ARN of the IAM role that grants access.

", - "SqsAction$roleArn": "

The ARN of the IAM role that grants access.

" + "SqsAction$roleArn": "

The ARN of the IAM role that grants access.

", + "StepFunctionsAction$roleArn": "

The ARN of the role that grants IoT permission to start execution of a state machine (\"Action\":\"states:StartExecution\").

" + } + }, + "AwsIotJobArn": { + "base": null, + "refs": { + "CreateOTAUpdateResponse$awsIotJobArn": "

The AWS IoT job ARN associated with the OTA update.

", + "OTAUpdateInfo$awsIotJobArn": "

The AWS IoT job ARN associated with the OTA update.

" + } + }, + "AwsIotJobId": { + "base": null, + "refs": { + "CreateOTAUpdateResponse$awsIotJobId": "

The AWS IoT job ID associated with the OTA update.

", + "OTAUpdateInfo$awsIotJobId": "

The AWS IoT job ID associated with the OTA update.

" } }, "AwsIotSqlVersion": { @@ -385,6 +631,42 @@ "TopicRulePayload$awsIotSqlVersion": "

The version of the SQL rules engine to use when evaluating the rule.

" } }, + "Behavior": { + "base": "

A Device Defender security profile behavior.

", + "refs": { + "ActiveViolation$behavior": "

The behavior which is being violated.

", + "Behaviors$member": null, + "ViolationEvent$behavior": "

The behavior which was violated.

" + } + }, + "BehaviorCriteria": { + "base": "

The criteria by which the behavior is determined to be normal.

", + "refs": { + "Behavior$criteria": "

The criteria that determine if a device is behaving normally in regard to the metric.

" + } + }, + "BehaviorMetric": { + "base": null, + "refs": { + "Behavior$metric": "

What is measured by the behavior.

" + } + }, + "BehaviorName": { + "base": null, + "refs": { + "Behavior$name": "

The name you have given to the behavior.

" + } + }, + "Behaviors": { + "base": null, + "refs": { + "CreateSecurityProfileRequest$behaviors": "

Specifies the behaviors that, when violated by a device (thing), cause an alert.

", + "DescribeSecurityProfileResponse$behaviors": "

Specifies the behaviors that, when violated by a device (thing), cause an alert.

", + "UpdateSecurityProfileRequest$behaviors": "

Specifies the behaviors that, when violated by a device (thing), cause an alert.

", + "UpdateSecurityProfileResponse$behaviors": "

Specifies the behaviors that, when violated by a device (thing), cause an alert.

", + "ValidateSecurityProfileBehaviorsRequest$behaviors": "

Specifies the behaviors that, when violated by a device (thing), cause an alert.

" + } + }, "Boolean": { "base": null, "refs": { @@ -423,11 +705,26 @@ "ListCACertificatesResponse$certificates": "

The CA certificates registered in your AWS account.

" } }, + "CancelAuditTaskRequest": { + "base": null, + "refs": { + } + }, + "CancelAuditTaskResponse": { + "base": null, + "refs": { + } + }, "CancelCertificateTransferRequest": { "base": "

The input for the CancelCertificateTransfer operation.

", "refs": { } }, + "CancelJobExecutionRequest": { + "base": null, + "refs": { + } + }, "CancelJobRequest": { "base": null, "refs": { @@ -438,6 +735,12 @@ "refs": { } }, + "CanceledChecksCount": { + "base": null, + "refs": { + "TaskStatistics$canceledChecks": "

The number of checks that did not run because the audit was canceled.

" + } + }, "CanceledThings": { "base": null, "refs": { @@ -485,27 +788,35 @@ "CertificateId": { "base": null, "refs": { - "AcceptCertificateTransferRequest$certificateId": "

The ID of the certificate.

", + "AcceptCertificateTransferRequest$certificateId": "

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", "CACertificate$certificateId": "

The ID of the CA certificate.

", "CACertificateDescription$certificateId": "

The CA certificate ID.

", - "CancelCertificateTransferRequest$certificateId": "

The ID of the certificate.

", - "Certificate$certificateId": "

The ID of the certificate.

", + "CancelCertificateTransferRequest$certificateId": "

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", + "Certificate$certificateId": "

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", "CertificateDescription$certificateId": "

The ID of the certificate.

", "CertificateDescription$caCertificateId": "

The certificate ID of the CA certificate used to sign this certificate.

", "CreateCertificateFromCsrResponse$certificateId": "

The ID of the certificate. Certificate management operations only take a certificateId.

", "CreateKeysAndCertificateResponse$certificateId": "

The ID of the certificate. AWS IoT issues a default subject name for the certificate (for example, AWS IoT Certificate).

", - "DeleteCACertificateRequest$certificateId": "

The ID of the certificate to delete.

", - "DeleteCertificateRequest$certificateId": "

The ID of the certificate.

", + "DeleteCACertificateRequest$certificateId": "

The ID of the certificate to delete. (The last part of the certificate ARN contains the certificate ID.)

", + "DeleteCertificateRequest$certificateId": "

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", "DescribeCACertificateRequest$certificateId": "

The CA certificate identifier.

", - "DescribeCertificateRequest$certificateId": "

The ID of the certificate.

", + "DescribeCertificateRequest$certificateId": "

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", "ListCertificatesByCARequest$caCertificateId": "

The ID of the CA certificate. This operation will list all registered device certificate that were signed by this CA certificate.

", "OutgoingCertificate$certificateId": "

The certificate ID.

", "RegisterCACertificateResponse$certificateId": "

The CA certificate identifier.

", "RegisterCertificateResponse$certificateId": "

The certificate identifier.

", - "RejectCertificateTransferRequest$certificateId": "

The ID of the certificate.

", - "TransferCertificateRequest$certificateId": "

The ID of the certificate.

", + "RejectCertificateTransferRequest$certificateId": "

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", + "ResourceIdentifier$deviceCertificateId": "

The ID of the certificate attached to the resource.

", + "ResourceIdentifier$caCertificateId": "

The ID of the CA certificate used to authorize the certificate.

", + "TransferCertificateRequest$certificateId": "

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", "UpdateCACertificateRequest$certificateId": "

The CA certificate identifier.

", - "UpdateCertificateRequest$certificateId": "

The ID of the certificate.

" + "UpdateCertificateRequest$certificateId": "

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

" + } + }, + "CertificateName": { + "base": null, + "refs": { + "CodeSigningCertificateChain$certificateName": "

The name of the certificate.

" } }, "CertificatePem": { @@ -519,7 +830,7 @@ "RegisterCACertificateRequest$verificationCertificate": "

The private key verification certificate.

", "RegisterCertificateRequest$certificatePem": "

The certificate data, in PEM format.

", "RegisterCertificateRequest$caCertificatePem": "

The CA certificate used to sign the device certificate being registered.

", - "RegisterThingResponse$certificatePem": null + "RegisterThingResponse$certificatePem": "

.

" } }, "CertificateSigningRequest": { @@ -547,6 +858,13 @@ "refs": { } }, + "CertificateValidity": { + "base": "

When the certificate is valid.

", + "refs": { + "CACertificateDescription$validity": "

When the CA certificate is valid.

", + "CertificateDescription$validity": "

When the certificate is valid.

" + } + }, "Certificates": { "base": null, "refs": { @@ -554,6 +872,30 @@ "ListCertificatesResponse$certificates": "

The descriptions of the certificates.

" } }, + "ChannelName": { + "base": null, + "refs": { + "IotAnalyticsAction$channelName": "

The name of the IoT Analytics channel to which message data will be sent.

" + } + }, + "CheckCompliant": { + "base": null, + "refs": { + "AuditCheckDetails$checkCompliant": "

True if the check completed and found all resources compliant.

" + } + }, + "Cidr": { + "base": null, + "refs": { + "Cidrs$member": null + } + }, + "Cidrs": { + "base": null, + "refs": { + "MetricValue$cidrs": "

If the comparisonOperator calls for a set of CIDRs, use this to specify that set to be compared with the metric.

" + } + }, "ClearDefaultAuthorizerRequest": { "base": null, "refs": { @@ -568,6 +910,7 @@ "base": null, "refs": { "DescribeThingResponse$defaultClientId": "

The default client ID.

", + "ResourceIdentifier$clientId": "

The client ID.

", "TestAuthorizationRequest$clientId": "

The MQTT client ID.

" } }, @@ -583,10 +926,35 @@ "Action$cloudwatchMetric": "

Capture a CloudWatch metric.

" } }, + "Code": { + "base": null, + "refs": { + "ErrorInfo$code": "

The error code.

" + } + }, + "CodeSigning": { + "base": "

Describes the method to use when code signing a file.

", + "refs": { + "OTAUpdateFile$codeSigning": "

The code signing method of the file.

" + } + }, + "CodeSigningCertificateChain": { + "base": "

Describes the certificate chain being used when code signing a file.

", + "refs": { + "CustomCodeSigning$certificateChain": "

The certificate chain.

" + } + }, + "CodeSigningSignature": { + "base": "

Describes the signature for a file.

", + "refs": { + "CustomCodeSigning$signature": "

The signature for the file.

" + } + }, "CognitoIdentityPoolId": { "base": null, "refs": { "GetEffectivePoliciesRequest$cognitoIdentityPoolId": "

The Cognito identity pool ID.

", + "ResourceIdentifier$cognitoIdentityPoolId": "

The ID of the Cognito Identity Pool.

", "TestAuthorizationRequest$cognitoIdentityPoolId": "

The Cognito identity pool ID.

" } }, @@ -598,6 +966,18 @@ "Job$comment": "

If the job was updated, describes the reason for the update.

" } }, + "ComparisonOperator": { + "base": null, + "refs": { + "BehaviorCriteria$comparisonOperator": "

The operator that relates the thing measured (metric) to the criteria (value).

" + } + }, + "CompliantChecksCount": { + "base": null, + "refs": { + "TaskStatistics$compliantChecks": "

The number of checks that found compliant resources.

" + } + }, "Configuration": { "base": "

Configuration.

", "refs": { @@ -656,6 +1036,16 @@ "refs": { } }, + "CreateOTAUpdateRequest": { + "base": null, + "refs": { + } + }, + "CreateOTAUpdateResponse": { + "base": null, + "refs": { + } + }, "CreatePolicyRequest": { "base": "

The input for the CreatePolicy operation.

", "refs": { @@ -686,6 +1076,36 @@ "refs": { } }, + "CreateScheduledAuditRequest": { + "base": null, + "refs": { + } + }, + "CreateScheduledAuditResponse": { + "base": null, + "refs": { + } + }, + "CreateSecurityProfileRequest": { + "base": null, + "refs": { + } + }, + "CreateSecurityProfileResponse": { + "base": null, + "refs": { + } + }, + "CreateStreamRequest": { + "base": null, + "refs": { + } + }, + "CreateStreamResponse": { + "base": null, + "refs": { + } + }, "CreateThingGroupRequest": { "base": null, "refs": { @@ -745,6 +1165,19 @@ "UpdateRoleAliasRequest$credentialDurationSeconds": "

The number of seconds the credential will be valid.

" } }, + "CustomCodeSigning": { + "base": "

Describes a custom method used to code sign a file.

", + "refs": { + "CodeSigning$customCodeSigning": "

A custom method for code signing a file.

" + } + }, + "CustomerVersion": { + "base": null, + "refs": { + "CACertificateDescription$customerVersion": "

The customer version of the CA certificate.

", + "CertificateDescription$customerVersion": "

The customer version of the certificate.

" + } + }, "DateType": { "base": null, "refs": { @@ -752,9 +1185,16 @@ "AuthorizerDescription$lastModifiedDate": "

The UNIX timestamp of when the authorizer was last updated.

", "CACertificate$creationDate": "

The date the CA certificate was created.

", "CACertificateDescription$creationDate": "

The date the CA certificate was created.

", + "CACertificateDescription$lastModifiedDate": "

The date the CA certificate was last modified.

", "Certificate$creationDate": "

The date and time the certificate was created.

", "CertificateDescription$creationDate": "

The date and time the certificate was created.

", "CertificateDescription$lastModifiedDate": "

The date and time the certificate was last modified.

", + "CertificateValidity$notBefore": "

The certificate is not valid before this date.

", + "CertificateValidity$notAfter": "

The certificate is not valid after this date.

", + "GetPolicyResponse$creationDate": "

The date the policy was created.

", + "GetPolicyResponse$lastModifiedDate": "

The date the policy was last modified.

", + "GetPolicyVersionResponse$creationDate": "

The date the policy version was created.

", + "GetPolicyVersionResponse$lastModifiedDate": "

The date the policy version was last modified.

", "Job$createdAt": "

The time, in milliseconds since the epoch, when the job was created.

", "Job$lastUpdatedAt": "

The time, in milliseconds since the epoch, when the job was last updated.

", "Job$completedAt": "

The time, in milliseconds since the epoch, when the job was completed.

", @@ -767,16 +1207,49 @@ "JobSummary$createdAt": "

The time, in milliseconds since the epoch, when the job was created.

", "JobSummary$lastUpdatedAt": "

The time, in milliseconds since the epoch, when the job was last updated.

", "JobSummary$completedAt": "

The time, in milliseconds since the epoch, when the job completed.

", + "OTAUpdateInfo$creationDate": "

The date when the OTA update was created.

", + "OTAUpdateInfo$lastModifiedDate": "

The date when the OTA update was last updated.

", + "OTAUpdateSummary$creationDate": "

The date when the OTA update was created.

", "OutgoingCertificate$transferDate": "

The date the transfer was initiated.

", "OutgoingCertificate$creationDate": "

The certificate creation date.

", "PolicyVersion$createDate": "

The date and time the policy was created.

", "RoleAliasDescription$creationDate": "

The UNIX timestamp of when the role alias was created.

", "RoleAliasDescription$lastModifiedDate": "

The UNIX timestamp of when the role alias was last modified.

", + "StreamInfo$createdAt": "

The date when the stream was created.

", + "StreamInfo$lastUpdatedAt": "

The date when the stream was last updated.

", "TransferData$transferDate": "

The date the transfer took place.

", "TransferData$acceptDate": "

The date the transfer was accepted.

", "TransferData$rejectDate": "

The date the transfer was rejected.

" } }, + "DayOfMonth": { + "base": null, + "refs": { + "CreateScheduledAuditRequest$dayOfMonth": "

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.

", + "DescribeScheduledAuditResponse$dayOfMonth": "

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.

", + "ScheduledAuditMetadata$dayOfMonth": "

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.

", + "UpdateScheduledAuditRequest$dayOfMonth": "

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": { + "base": null, + "refs": { + "CreateScheduledAuditRequest$dayOfWeek": "

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\".

", + "DescribeScheduledAuditResponse$dayOfWeek": "

The day of the week on which the scheduled audit takes place. One of \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\" or \"SAT\".

", + "ScheduledAuditMetadata$dayOfWeek": "

The day of the week on which the scheduled audit is run (if the frequency is \"WEEKLY\" or \"BIWEEKLY\").

", + "UpdateScheduledAuditRequest$dayOfWeek": "

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\".

" + } + }, + "DeleteAccountAuditConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteAccountAuditConfigurationResponse": { + "base": null, + "refs": { + } + }, "DeleteAuthorizerRequest": { "base": null, "refs": { @@ -807,6 +1280,26 @@ "refs": { } }, + "DeleteJobExecutionRequest": { + "base": null, + "refs": { + } + }, + "DeleteJobRequest": { + "base": null, + "refs": { + } + }, + "DeleteOTAUpdateRequest": { + "base": null, + "refs": { + } + }, + "DeleteOTAUpdateResponse": { + "base": null, + "refs": { + } + }, "DeletePolicyRequest": { "base": "

The input for the DeletePolicy operation.

", "refs": { @@ -837,6 +1330,42 @@ "refs": { } }, + "DeleteScheduledAuditRequest": { + "base": null, + "refs": { + } + }, + "DeleteScheduledAuditResponse": { + "base": null, + "refs": { + } + }, + "DeleteScheduledAudits": { + "base": null, + "refs": { + "DeleteAccountAuditConfigurationRequest$deleteScheduledAudits": "

If true, all scheduled audits are deleted.

" + } + }, + "DeleteSecurityProfileRequest": { + "base": null, + "refs": { + } + }, + "DeleteSecurityProfileResponse": { + "base": null, + "refs": { + } + }, + "DeleteStreamRequest": { + "base": null, + "refs": { + } + }, + "DeleteStreamResponse": { + "base": null, + "refs": { + } + }, "DeleteThingGroupRequest": { "base": null, "refs": { @@ -905,6 +1434,26 @@ "ThingTypeMetadata$deprecationDate": "

The date and time when the thing type was deprecated.

" } }, + "DescribeAccountAuditConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DescribeAccountAuditConfigurationResponse": { + "base": null, + "refs": { + } + }, + "DescribeAuditTaskRequest": { + "base": null, + "refs": { + } + }, + "DescribeAuditTaskResponse": { + "base": null, + "refs": { + } + }, "DescribeAuthorizerRequest": { "base": null, "refs": { @@ -1005,6 +1554,36 @@ "refs": { } }, + "DescribeScheduledAuditRequest": { + "base": null, + "refs": { + } + }, + "DescribeScheduledAuditResponse": { + "base": null, + "refs": { + } + }, + "DescribeSecurityProfileRequest": { + "base": null, + "refs": { + } + }, + "DescribeSecurityProfileResponse": { + "base": null, + "refs": { + } + }, + "DescribeStreamRequest": { + "base": null, + "refs": { + } + }, + "DescribeStreamResponse": { + "base": null, + "refs": { + } + }, "DescribeThingGroupRequest": { "base": null, "refs": { @@ -1062,6 +1641,16 @@ "refs": { } }, + "DetachSecurityProfileRequest": { + "base": null, + "refs": { + } + }, + "DetachSecurityProfileResponse": { + "base": null, + "refs": { + } + }, "DetachThingPrincipalRequest": { "base": "

The input for the DetachThingPrincipal operation.

", "refs": { @@ -1081,6 +1670,7 @@ "DetailsMap": { "base": null, "refs": { + "CancelJobExecutionRequest$statusDetails": "

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.

", "JobExecutionStatusDetails$detailsMap": "

The job execution status.

" } }, @@ -1094,7 +1684,7 @@ "base": null, "refs": { "GetV2LoggingOptionsResponse$disableAllLogs": "

Disables all logs.

", - "SetV2LoggingOptionsRequest$disableAllLogs": "

Set to true to disable all logs, otherwise set to false.

" + "SetV2LoggingOptionsRequest$disableAllLogs": "

If true all logs are disabled. The default is false.

" } }, "DisableTopicRuleRequest": { @@ -1102,6 +1692,12 @@ "refs": { } }, + "DurationSeconds": { + "base": null, + "refs": { + "BehaviorCriteria$durationSeconds": "

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).

" + } + }, "DynamoDBAction": { "base": "

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()}\"

", "refs": { @@ -1177,25 +1773,41 @@ "Enabled": { "base": null, "refs": { + "AuditCheckConfiguration$enabled": "

True if this audit check is enabled for this account.

", + "AuditNotificationTarget$enabled": "

True if notifications to the target are enabled.

", "Configuration$Enabled": "

True to enable the configuration.

" } }, - "EndpointAddress": { + "EndpointAddress": { + "base": null, + "refs": { + "DescribeEndpointResponse$endpointAddress": "

The endpoint. The format of the endpoint is as follows: identifier.iot.region.amazonaws.com.

" + } + }, + "EndpointType": { + "base": null, + "refs": { + "DescribeEndpointRequest$endpointType": "

The endpoint type.

" + } + }, + "ErrorCode": { "base": null, "refs": { - "DescribeEndpointResponse$endpointAddress": "

The endpoint. The format of the endpoint is as follows: identifier.iot.region.amazonaws.com.

" + "AuditCheckDetails$errorCode": "

The code of any error encountered when performing this check during this audit. One of \"INSUFFICIENT_PERMISSIONS\", or \"AUDIT_CHECK_DISABLED\".

" } }, - "EndpointType": { - "base": null, + "ErrorInfo": { + "base": "

Error information.

", "refs": { - "DescribeEndpointRequest$endpointType": "

The endpoint type.

" + "OTAUpdateInfo$errorInfo": "

Error information associated with the OTA update.

" } }, "ErrorMessage": { "base": null, "refs": { - "DescribeThingRegistrationTaskResponse$message": "

The message.

" + "AuditCheckDetails$message": "

The message associated with any error encountered when performing this check during this audit.

", + "DescribeThingRegistrationTaskResponse$message": "

The message.

", + "ValidationError$errorMessage": "

The description of an error found in the behaviors.

" } }, "EventConfigurations": { @@ -1211,14 +1823,27 @@ "EventConfigurations$key": null } }, + "ExecutionNamePrefix": { + "base": null, + "refs": { + "StepFunctionsAction$executionNamePrefix": "

(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.

" + } + }, "ExecutionNumber": { "base": null, "refs": { + "DeleteJobExecutionRequest$executionNumber": "

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.

", "DescribeJobExecutionRequest$executionNumber": "

A string (consisting of the digits \"0\" through \"9\" which is used to specify a particular job execution on a particular device.

", "JobExecution$executionNumber": "

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.

", "JobExecutionSummary$executionNumber": "

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.

" } }, + "ExpectedVersion": { + "base": null, + "refs": { + "CancelJobExecutionRequest$expectedVersion": "

(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.)

" + } + }, "ExpiresInSec": { "base": null, "refs": { @@ -1231,12 +1856,31 @@ "Denied$explicitDeny": "

Information that explicitly denies the authorization.

" } }, + "FailedChecksCount": { + "base": null, + "refs": { + "TaskStatistics$failedChecks": "

The number of checks

" + } + }, "FailedThings": { "base": null, "refs": { "JobProcessDetails$numberOfFailedThings": "

The number of things that failed executing the job.

" } }, + "FileId": { + "base": null, + "refs": { + "Stream$fileId": "

The ID of a file associated with a stream.

", + "StreamFile$fileId": "

The file ID.

" + } + }, + "FileName": { + "base": null, + "refs": { + "OTAUpdateFile$fileName": "

The name of the file.

" + } + }, "FirehoseAction": { "base": "

Describes an action that writes data to an Amazon Kinesis Firehose stream.

", "refs": { @@ -1261,6 +1905,22 @@ "DeleteCertificateRequest$forceDelete": "

Forces a certificate request to be deleted.

" } }, + "ForceFlag": { + "base": null, + "refs": { + "CancelJobExecutionRequest$force": "

(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.

", + "CancelJobRequest$force": "

(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.

", + "DeleteJobExecutionRequest$force": "

(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.

", + "DeleteJobRequest$force": "

(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.

" + } + }, + "Forced": { + "base": null, + "refs": { + "Job$forceCanceled": "

Will be true if the job was canceled with the optional force parameter set to true.

", + "JobExecution$forceCanceled": "

Will be true if the job execution was canceled with the optional force parameter set to true.

" + } + }, "FunctionArn": { "base": null, "refs": { @@ -1273,6 +1933,15 @@ "ListTopicRulesRequest$maxResults": "

The maximum number of results to return.

" } }, + "GenerationId": { + "base": null, + "refs": { + "CACertificateDescription$generationId": "

The generation ID of the CA certificate.

", + "CertificateDescription$generationId": "

The generation ID of the certificate.

", + "GetPolicyResponse$generationId": "

The generation ID of the policy.

", + "GetPolicyVersionResponse$generationId": "

The generation ID of the policy version.

" + } + }, "GetEffectivePoliciesRequest": { "base": null, "refs": { @@ -1313,6 +1982,16 @@ "refs": { } }, + "GetOTAUpdateRequest": { + "base": null, + "refs": { + } + }, + "GetOTAUpdateResponse": { + "base": null, + "refs": { + } + }, "GetPolicyRequest": { "base": "

The input for the GetPolicy operation.

", "refs": { @@ -1369,6 +2048,12 @@ "ThingGroupNameAndArnList$member": null } }, + "HashAlgorithm": { + "base": null, + "refs": { + "CustomCodeSigning$hashAlgorithm": "

The hash algorithm used to code sign the file.

" + } + }, "HashKeyField": { "base": null, "refs": { @@ -1387,6 +2072,12 @@ "Denied$implicitDeny": "

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.

" } }, + "InProgressChecksCount": { + "base": null, + "refs": { + "TaskStatistics$inProgressChecks": "

The number of checks in progress.

" + } + }, "InProgressThings": { "base": null, "refs": { @@ -1425,6 +2116,12 @@ "DescribeIndexResponse$indexStatus": "

The index status.

" } }, + "InlineDocument": { + "base": null, + "refs": { + "CodeSigningCertificateChain$inlineDocument": "

A base64 encoded binary representation of the code signing certificate chain.

" + } + }, "InternalException": { "base": "

An unexpected error has occurred.

", "refs": { @@ -1450,6 +2147,17 @@ "refs": { } }, + "InvalidStateTransitionException": { + "base": "

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.

", + "refs": { + } + }, + "IotAnalyticsAction": { + "base": "

Sends messge data to an AWS IoT Analytics channel.

", + "refs": { + "Action$iotAnalytics": "

Sends message data to an AWS IoT Analytics channel.

" + } + }, "IsAuthenticated": { "base": null, "refs": { @@ -1506,13 +2214,6 @@ "GetJobDocumentResponse$document": "

The job document content.

" } }, - "JobDocumentParameters": { - "base": null, - "refs": { - "CreateJobRequest$documentParameters": "

Parameters for the job document.

", - "Job$documentParameters": "

The parameters specified for the job document.

" - } - }, "JobDocumentSource": { "base": null, "refs": { @@ -1584,10 +2285,13 @@ "refs": { "AssociateTargetsWithJobRequest$jobId": "

The unique identifier you assigned to this job when it was created.

", "AssociateTargetsWithJobResponse$jobId": "

The unique identifier you assigned to this job when it was created.

", + "CancelJobExecutionRequest$jobId": "

The ID of the job to be canceled.

", "CancelJobRequest$jobId": "

The unique identifier you assigned to this job when it was created.

", "CancelJobResponse$jobId": "

The unique identifier you assigned to this job when it was created.

", "CreateJobRequest$jobId": "

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.

", "CreateJobResponse$jobId": "

The unique identifier you assigned to this job.

", + "DeleteJobExecutionRequest$jobId": "

The ID of the job whose execution on a particular device will be deleted.

", + "DeleteJobRequest$jobId": "

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.

", "DescribeJobExecutionRequest$jobId": "

The unique identifier you assigned to this job when it was created.

", "DescribeJobRequest$jobId": "

The unique identifier you assigned to this job when it was created.

", "GetJobDocumentRequest$jobId": "

The unique identifier you assigned to this job when it was created.

", @@ -1635,12 +2339,14 @@ "JsonDocument": { "base": null, "refs": { - "ThingDocument$shadow": "

The thing shadow.

" + "ThingDocument$shadow": "

The shadow.

" } }, "Key": { "base": null, "refs": { + "AdditionalParameterMap$key": null, + "AttributesMap$key": null, "S3Action$key": "

The object key.

" } }, @@ -1690,7 +2396,17 @@ } }, "LimitExceededException": { - "base": "

The number of attached entities exceeds the limit.

", + "base": "

A limit has been exceeded.

", + "refs": { + } + }, + "ListActiveViolationsRequest": { + "base": null, + "refs": { + } + }, + "ListActiveViolationsResponse": { + "base": null, "refs": { } }, @@ -1704,6 +2420,26 @@ "refs": { } }, + "ListAuditFindingsRequest": { + "base": null, + "refs": { + } + }, + "ListAuditFindingsResponse": { + "base": null, + "refs": { + } + }, + "ListAuditTasksRequest": { + "base": null, + "refs": { + } + }, + "ListAuditTasksResponse": { + "base": null, + "refs": { + } + }, "ListAuthorizersRequest": { "base": null, "refs": { @@ -1784,6 +2520,16 @@ "refs": { } }, + "ListOTAUpdatesRequest": { + "base": null, + "refs": { + } + }, + "ListOTAUpdatesResponse": { + "base": null, + "refs": { + } + }, "ListOutgoingCertificatesRequest": { "base": "

The input to the ListOutgoingCertificates operation.

", "refs": { @@ -1854,6 +2600,46 @@ "refs": { } }, + "ListScheduledAuditsRequest": { + "base": null, + "refs": { + } + }, + "ListScheduledAuditsResponse": { + "base": null, + "refs": { + } + }, + "ListSecurityProfilesForTargetRequest": { + "base": null, + "refs": { + } + }, + "ListSecurityProfilesForTargetResponse": { + "base": null, + "refs": { + } + }, + "ListSecurityProfilesRequest": { + "base": null, + "refs": { + } + }, + "ListSecurityProfilesResponse": { + "base": null, + "refs": { + } + }, + "ListStreamsRequest": { + "base": null, + "refs": { + } + }, + "ListStreamsResponse": { + "base": null, + "refs": { + } + }, "ListTargetsForPolicyRequest": { "base": null, "refs": { @@ -1864,6 +2650,16 @@ "refs": { } }, + "ListTargetsForSecurityProfileRequest": { + "base": null, + "refs": { + } + }, + "ListTargetsForSecurityProfileResponse": { + "base": null, + "refs": { + } + }, "ListThingGroupsForThingRequest": { "base": null, "refs": { @@ -1964,6 +2760,16 @@ "refs": { } }, + "ListViolationEventsRequest": { + "base": null, + "refs": { + } + }, + "ListViolationEventsResponse": { + "base": null, + "refs": { + } + }, "LogLevel": { "base": null, "refs": { @@ -2053,6 +2859,21 @@ "JobExecutionsRolloutConfig$maximumPerMinute": "

The maximum number of things that will be notified of a pending job, per minute. This parameter allows you to create a staged rollout.

" } }, + "MaxResults": { + "base": null, + "refs": { + "ListActiveViolationsRequest$maxResults": "

The maximum number of results to return at one time.

", + "ListAuditFindingsRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", + "ListAuditTasksRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", + "ListOTAUpdatesRequest$maxResults": "

The maximum number of results to return at one time.

", + "ListScheduledAuditsRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", + "ListSecurityProfilesForTargetRequest$maxResults": "

The maximum number of results to return at one time.

", + "ListSecurityProfilesRequest$maxResults": "

The maximum number of results to return at one time.

", + "ListStreamsRequest$maxResults": "

The maximum number of results to return at a time.

", + "ListTargetsForSecurityProfileRequest$maxResults": "

The maximum number of results to return at one time.

", + "ListViolationEventsRequest$maxResults": "

The maximum number of results to return at one time.

" + } + }, "Message": { "base": null, "refs": { @@ -2066,37 +2887,15 @@ "MessageFormat": { "base": null, "refs": { - "SnsAction$messageFormat": "

The message format of the message to publish. Optional. Accepted values are \"JSON\" and \"RAW\". The default value of the attribute is \"RAW\". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. To read more about SNS message formats, see http://docs.aws.amazon.com/sns/latest/dg/json-formats.html refer to their official documentation.

" - } - }, - "MetricName": { - "base": null, - "refs": { - "CloudwatchMetricAction$metricName": "

The CloudWatch metric name.

" - } - }, - "MetricNamespace": { - "base": null, - "refs": { - "CloudwatchMetricAction$metricNamespace": "

The CloudWatch metric namespace name.

" - } - }, - "MetricTimestamp": { - "base": null, - "refs": { - "CloudwatchMetricAction$metricTimestamp": "

An optional Unix timestamp.

" - } - }, - "MetricUnit": { - "base": null, - "refs": { - "CloudwatchMetricAction$metricUnit": "

The metric unit supported by CloudWatch.

" + "SnsAction$messageFormat": "

(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.

" } }, "MetricValue": { - "base": null, + "base": "

The value to be compared with the metric.

", "refs": { - "CloudwatchMetricAction$metricValue": "

The CloudWatch metric value.

" + "ActiveViolation$lastViolationValue": "

The value of the metric (the measurement) which caused the most recent violation.

", + "BehaviorCriteria$value": "

The value to be compared with the metric.

", + "ViolationEvent$metricValue": "

The value of the metric (the measurement).

" } }, "MissingContextValue": { @@ -2114,6 +2913,12 @@ "NextToken": { "base": null, "refs": { + "ListActiveViolationsRequest$nextToken": "

The token for the next set of results.

", + "ListActiveViolationsResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", + "ListAuditFindingsRequest$nextToken": "

The token for the next set of results.

", + "ListAuditFindingsResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", + "ListAuditTasksRequest$nextToken": "

The token for the next set of results.

", + "ListAuditTasksResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", "ListIndicesRequest$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", "ListIndicesResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", "ListJobExecutionsForJobRequest$nextToken": "

The token to retrieve the next set of results.

", @@ -2122,40 +2927,151 @@ "ListJobExecutionsForThingResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "ListJobsRequest$nextToken": "

The token to retrieve the next set of results.

", "ListJobsResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", - "ListPrincipalThingsRequest$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", + "ListOTAUpdatesRequest$nextToken": "

A token used to retrieve the next set of results.

", + "ListOTAUpdatesResponse$nextToken": "

A token to use to get the next set of results.

", + "ListPrincipalThingsRequest$nextToken": "

The token to retrieve the next set of results.

", "ListPrincipalThingsResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", - "ListThingGroupsForThingRequest$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", + "ListScheduledAuditsRequest$nextToken": "

The token for the next set of results.

", + "ListScheduledAuditsResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", + "ListSecurityProfilesForTargetRequest$nextToken": "

The token for the next set of results.

", + "ListSecurityProfilesForTargetResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", + "ListSecurityProfilesRequest$nextToken": "

The token for the next set of results.

", + "ListSecurityProfilesResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", + "ListStreamsRequest$nextToken": "

A token used to get the next set of results.

", + "ListStreamsResponse$nextToken": "

A token used to get the next set of results.

", + "ListTargetsForSecurityProfileRequest$nextToken": "

The token for the next set of results.

", + "ListTargetsForSecurityProfileResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", + "ListThingGroupsForThingRequest$nextToken": "

The token to retrieve the next set of results.

", "ListThingGroupsForThingResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", - "ListThingGroupsRequest$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", + "ListThingGroupsRequest$nextToken": "

The token to retrieve the next set of results.

", "ListThingGroupsResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", "ListThingRegistrationTaskReportsRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListThingRegistrationTaskReportsResponse$nextToken": "

The token to retrieve the next set of results.

", - "ListThingRegistrationTasksRequest$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", + "ListThingRegistrationTaskReportsResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", + "ListThingRegistrationTasksRequest$nextToken": "

The token to retrieve the next set of results.

", "ListThingRegistrationTasksResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", - "ListThingTypesRequest$nextToken": "

The token for the next set of results, or null if there are no additional results.

", + "ListThingTypesRequest$nextToken": "

The token to retrieve the next set of results.

", "ListThingTypesResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", - "ListThingsInThingGroupRequest$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", + "ListThingsInThingGroupRequest$nextToken": "

The token to retrieve the next set of results.

", "ListThingsInThingGroupResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", - "ListThingsRequest$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", + "ListThingsRequest$nextToken": "

The token to retrieve the next set of results.

", "ListThingsResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", "ListTopicRulesRequest$nextToken": "

A token used to retrieve the next value.

", "ListTopicRulesResponse$nextToken": "

A token used to retrieve the next value.

", "ListV2LoggingLevelsRequest$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", "ListV2LoggingLevelsResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", + "ListViolationEventsRequest$nextToken": "

The token for the next set of results.

", + "ListViolationEventsResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", "SearchIndexRequest$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", "SearchIndexResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

" } }, + "NonCompliantChecksCount": { + "base": null, + "refs": { + "TaskStatistics$nonCompliantChecks": "

The number of checks that found non-compliant resources.

" + } + }, + "NonCompliantResource": { + "base": "

Information about the resource that was non-compliant with the audit check.

", + "refs": { + "AuditFinding$nonCompliantResource": "

The resource that was found to be non-compliant with the audit check.

" + } + }, + "NonCompliantResourcesCount": { + "base": null, + "refs": { + "AuditCheckDetails$nonCompliantResourcesCount": "

The number of resources that the check found non-compliant.

" + } + }, "NotConfiguredException": { "base": "

The resource is not configured.

", "refs": { } }, + "OTAUpdateArn": { + "base": null, + "refs": { + "CreateOTAUpdateResponse$otaUpdateArn": "

The OTA update ARN.

", + "OTAUpdateInfo$otaUpdateArn": "

The OTA update ARN.

", + "OTAUpdateSummary$otaUpdateArn": "

The OTA update ARN.

" + } + }, + "OTAUpdateDescription": { + "base": null, + "refs": { + "CreateOTAUpdateRequest$description": "

The description of the OTA update.

", + "OTAUpdateInfo$description": "

A description of the OTA update.

" + } + }, + "OTAUpdateErrorMessage": { + "base": null, + "refs": { + "ErrorInfo$message": "

The error message.

" + } + }, + "OTAUpdateFile": { + "base": "

Describes a file to be associated with an OTA update.

", + "refs": { + "OTAUpdateFiles$member": null + } + }, + "OTAUpdateFileVersion": { + "base": null, + "refs": { + "OTAUpdateFile$fileVersion": "

The file version.

" + } + }, + "OTAUpdateFiles": { + "base": null, + "refs": { + "CreateOTAUpdateRequest$files": "

The files to be streamed by the OTA update.

", + "OTAUpdateInfo$otaUpdateFiles": "

A list of files associated with the OTA update.

" + } + }, + "OTAUpdateId": { + "base": null, + "refs": { + "CreateOTAUpdateRequest$otaUpdateId": "

The ID of the OTA update to be created.

", + "CreateOTAUpdateResponse$otaUpdateId": "

The OTA update ID.

", + "DeleteOTAUpdateRequest$otaUpdateId": "

The OTA update ID to delete.

", + "GetOTAUpdateRequest$otaUpdateId": "

The OTA update ID.

", + "OTAUpdateInfo$otaUpdateId": "

The OTA update ID.

", + "OTAUpdateSummary$otaUpdateId": "

The OTA update ID.

" + } + }, + "OTAUpdateInfo": { + "base": "

Information about an OTA update.

", + "refs": { + "GetOTAUpdateResponse$otaUpdateInfo": "

The OTA update info.

" + } + }, + "OTAUpdateStatus": { + "base": null, + "refs": { + "CreateOTAUpdateResponse$otaUpdateStatus": "

The OTA update status.

", + "ListOTAUpdatesRequest$otaUpdateStatus": "

The OTA update job status.

", + "OTAUpdateInfo$otaUpdateStatus": "

The status of the OTA update.

" + } + }, + "OTAUpdateSummary": { + "base": "

An OTA update summary.

", + "refs": { + "OTAUpdatesSummary$member": null + } + }, + "OTAUpdatesSummary": { + "base": null, + "refs": { + "ListOTAUpdatesResponse$otaUpdates": "

A list of OTA update jobs.

" + } + }, "OptionalVersion": { "base": null, "refs": { + "DeleteSecurityProfileRequest$expectedVersion": "

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.

", "DeleteThingGroupRequest$expectedVersion": "

The expected version of the thing group to delete.

", "DeleteThingRequest$expectedVersion": "

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.

", + "UpdateSecurityProfileRequest$expectedVersion": "

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.

", "UpdateThingGroupRequest$expectedVersion": "

The expected version of the thing group. If this does not match the version of the thing group being updated, the update will fail.

", "UpdateThingRequest$expectedVersion": "

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.

" } @@ -2194,22 +3110,10 @@ "Parameters$key": null } }, - "ParameterKey": { - "base": null, - "refs": { - "JobDocumentParameters$key": null - } - }, - "ParameterValue": { - "base": null, - "refs": { - "JobDocumentParameters$value": null - } - }, "Parameters": { "base": null, "refs": { - "RegisterThingRequest$parameters": "

The parameters for provisioning a thing.

" + "RegisterThingRequest$parameters": "

The parameters for provisioning a thing. See Programmatic Provisioning for more information.

" } }, "PartitionKey": { @@ -2299,6 +3203,7 @@ "ListTargetsForPolicyRequest$policyName": "

The policy name.

", "Policy$policyName": "

The policy name.

", "PolicyNames$member": null, + "PolicyVersionIdentifier$policyName": "

The name of the policy.

", "SetDefaultPolicyVersionRequest$policyName": "

The policy name.

" } }, @@ -2340,15 +3245,34 @@ "GetPolicyVersionRequest$policyVersionId": "

The policy version ID.

", "GetPolicyVersionResponse$policyVersionId": "

The policy version ID.

", "PolicyVersion$versionId": "

The policy version ID.

", + "PolicyVersionIdentifier$policyVersionId": "

The ID of the version of the policy associated with the resource.

", "SetDefaultPolicyVersionRequest$policyVersionId": "

The policy version ID.

" } }, + "PolicyVersionIdentifier": { + "base": "

Information about the version of the policy associated with the resource.

", + "refs": { + "ResourceIdentifier$policyVersionIdentifier": "

The version of the policy associated with the resource.

" + } + }, "PolicyVersions": { "base": null, "refs": { "ListPolicyVersionsResponse$policyVersions": "

The policy versions.

" } }, + "Port": { + "base": null, + "refs": { + "Ports$member": null + } + }, + "Ports": { + "base": null, + "refs": { + "MetricValue$ports": "

If the comparisonOperator calls for a set of ports, use this to specify that set to be compared with the metric.

" + } + }, "PresignedUrlConfig": { "base": "

Configuration for pre-signed S3 URLs.

", "refs": { @@ -2403,7 +3327,7 @@ "ProcessingTargetNameList": { "base": null, "refs": { - "JobProcessDetails$processingTargets": "

The devices on which the job is executing.

" + "JobProcessDetails$processingTargets": "

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.

" } }, "PublicKey": { @@ -2469,10 +3393,23 @@ "DynamoDBAction$rangeKeyValue": "

The range key value.

" } }, + "ReasonForNonCompliance": { + "base": null, + "refs": { + "AuditFinding$reasonForNonCompliance": "

The reason the resource was non-compliant.

" + } + }, + "ReasonForNonComplianceCode": { + "base": null, + "refs": { + "AuditFinding$reasonForNonComplianceCode": "

A code which indicates the reason that the resource was non-compliant.

" + } + }, "Recursive": { "base": null, "refs": { "ListAttachedPoliciesRequest$recursive": "

When true, recursively list attached policies.

", + "ListSecurityProfilesForTargetRequest$recursive": "

If true, return child groups as well.

", "ListThingsInThingGroupRequest$recursive": "

When true, list things in this thing group and in all child groups as well.

" } }, @@ -2558,15 +3495,27 @@ "StartThingRegistrationTaskRequest$inputFileKey": "

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).

" } }, - "RejectCertificateTransferRequest": { - "base": "

The input for the RejectCertificateTransfer operation.

", + "RejectCertificateTransferRequest": { + "base": "

The input for the RejectCertificateTransfer operation.

", + "refs": { + } + }, + "RejectedThings": { + "base": null, + "refs": { + "JobProcessDetails$numberOfRejectedThings": "

The number of things that rejected the job.

" + } + }, + "RelatedResource": { + "base": "

Information about a related resource.

", "refs": { + "RelatedResources$member": null } }, - "RejectedThings": { + "RelatedResources": { "base": null, "refs": { - "JobProcessDetails$numberOfRejectedThings": "

The number of things that rejected the job.

" + "AuditFinding$relatedResources": "

The list of related resources.

" } }, "RemoveAutoRegistration": { @@ -2638,6 +3587,14 @@ "RegisterThingResponse$resourceArns": "

ARNs for the generated resources.

" } }, + "ResourceIdentifier": { + "base": "

Information identifying the non-compliant resource.

", + "refs": { + "ListAuditFindingsRequest$resourceIdentifier": "

Information identifying the non-compliant resource.

", + "NonCompliantResource$resourceIdentifier": "

Information identifying the non-compliant resource.

", + "RelatedResource$resourceIdentifier": "

Information identifying the resource.

" + } + }, "ResourceLogicalId": { "base": null, "refs": { @@ -2654,6 +3611,13 @@ "refs": { } }, + "ResourceType": { + "base": null, + "refs": { + "NonCompliantResource$resourceType": "

The type of the non-compliant resource.

", + "RelatedResource$resourceType": "

The type of resource.

" + } + }, "Resources": { "base": null, "refs": { @@ -2677,6 +3641,7 @@ "base": null, "refs": { "CreateRoleAliasResponse$roleAliasArn": "

The role alias ARN.

", + "RoleAliasDescription$roleAliasArn": "

The ARN of the role alias.

", "UpdateRoleAliasResponse$roleAliasArn": "

The role alias ARN.

" } }, @@ -2695,13 +3660,21 @@ "RoleArn": { "base": null, "refs": { + "AlertTarget$roleArn": "

The ARN of the role that grants permission to send alerts to the notification target.

", + "AuditNotificationTarget$roleArn": "

The ARN of the role that grants permission to send notifications to the target.

", + "CreateOTAUpdateRequest$roleArn": "

The IAM role that allows access to the AWS IoT Jobs service.

", "CreateRoleAliasRequest$roleArn": "

The role ARN.

", + "CreateStreamRequest$roleArn": "

An IAM role that allows the IoT service principal assumes to access your S3 files.

", + "DescribeAccountAuditConfigurationResponse$roleArn": "

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.

", "DescribeThingRegistrationTaskResponse$roleArn": "

The role ARN that grants access to the input file bucket.

", "PresignedUrlConfig$roleArn": "

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.

", "RegistrationConfig$roleArn": "

The ARN of the role.

", "RoleAliasDescription$roleArn": "

The role ARN.

", "StartThingRegistrationTaskRequest$roleArn": "

The IAM role ARN that grants permission the input file.

", - "UpdateRoleAliasRequest$roleArn": "

The role ARN.

" + "StreamInfo$roleArn": "

An IAM role AWS IoT assumes to access your S3 files.

", + "UpdateAccountAuditConfigurationRequest$roleArn": "

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.

", + "UpdateRoleAliasRequest$roleArn": "

The role ARN.

", + "UpdateStreamRequest$roleArn": "

An IAM role that allows the IoT service principal assumes to access your S3 files.

" } }, "RuleArn": { @@ -2730,6 +3703,12 @@ "Action$s3": "

Write to an Amazon S3 bucket.

" } }, + "S3Bucket": { + "base": null, + "refs": { + "S3Location$bucket": "

The S3 bucket that contains the file to stream.

" + } + }, "S3FileUrl": { "base": null, "refs": { @@ -2742,6 +3721,24 @@ "ListThingRegistrationTaskReportsResponse$resourceLinks": "

Links to the task resources.

" } }, + "S3Key": { + "base": null, + "refs": { + "S3Location$key": "

The name of the file within the S3 bucket to stream.

" + } + }, + "S3Location": { + "base": "

The location in S3 the contains the files to stream.

", + "refs": { + "StreamFile$s3Location": "

The location of the file in S3.

" + } + }, + "S3Version": { + "base": null, + "refs": { + "S3Location$version": "

The file version.

" + } + }, "SQL": { "base": null, "refs": { @@ -2767,6 +3764,39 @@ "SalesforceAction$token": "

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.

" } }, + "ScheduledAuditArn": { + "base": null, + "refs": { + "CreateScheduledAuditResponse$scheduledAuditArn": "

The ARN of the scheduled audit.

", + "DescribeScheduledAuditResponse$scheduledAuditArn": "

The ARN of the scheduled audit.

", + "ScheduledAuditMetadata$scheduledAuditArn": "

The ARN of the scheduled audit.

", + "UpdateScheduledAuditResponse$scheduledAuditArn": "

The ARN of the scheduled audit.

" + } + }, + "ScheduledAuditMetadata": { + "base": "

Information about the scheduled audit.

", + "refs": { + "ScheduledAuditMetadataList$member": null + } + }, + "ScheduledAuditMetadataList": { + "base": null, + "refs": { + "ListScheduledAuditsResponse$scheduledAudits": "

The list of scheduled audits.

" + } + }, + "ScheduledAuditName": { + "base": null, + "refs": { + "CreateScheduledAuditRequest$scheduledAuditName": "

The name you want to give to the scheduled audit. (Max. 128 chars)

", + "DeleteScheduledAuditRequest$scheduledAuditName": "

The name of the scheduled audit you want to delete.

", + "DescribeAuditTaskResponse$scheduledAuditName": "

The name of the scheduled audit (only if the audit was a scheduled audit).

", + "DescribeScheduledAuditRequest$scheduledAuditName": "

The name of the scheduled audit whose information you want to get.

", + "DescribeScheduledAuditResponse$scheduledAuditName": "

The name of the scheduled audit.

", + "ScheduledAuditMetadata$scheduledAuditName": "

The name of the scheduled audit.

", + "UpdateScheduledAuditRequest$scheduledAuditName": "

The name of the scheduled audit. (Max. 128 chars)

" + } + }, "SearchIndexRequest": { "base": null, "refs": { @@ -2790,6 +3820,91 @@ "TestInvokeAuthorizerResponse$disconnectAfterInSeconds": "

The number of seconds after which the connection is terminated.

" } }, + "SecurityProfileArn": { + "base": null, + "refs": { + "CreateSecurityProfileResponse$securityProfileArn": "

The ARN of the security profile.

", + "DescribeSecurityProfileResponse$securityProfileArn": "

The ARN of the security profile.

", + "SecurityProfileIdentifier$arn": "

The ARN of the security profile.

", + "UpdateSecurityProfileResponse$securityProfileArn": "

The ARN of the security profile that was updated.

" + } + }, + "SecurityProfileDescription": { + "base": null, + "refs": { + "CreateSecurityProfileRequest$securityProfileDescription": "

A description of the security profile.

", + "DescribeSecurityProfileResponse$securityProfileDescription": "

A description of the security profile (associated with the security profile when it was created or updated).

", + "UpdateSecurityProfileRequest$securityProfileDescription": "

A description of the security profile.

", + "UpdateSecurityProfileResponse$securityProfileDescription": "

The description of the security profile.

" + } + }, + "SecurityProfileIdentifier": { + "base": "

Identifying information for a Device Defender security profile.

", + "refs": { + "SecurityProfileIdentifiers$member": null, + "SecurityProfileTargetMapping$securityProfileIdentifier": "

Information that identifies the security profile.

" + } + }, + "SecurityProfileIdentifiers": { + "base": null, + "refs": { + "ListSecurityProfilesResponse$securityProfileIdentifiers": "

A list of security profile identifiers (names and ARNs).

" + } + }, + "SecurityProfileName": { + "base": null, + "refs": { + "ActiveViolation$securityProfileName": "

The security profile whose behavior is in violation.

", + "AttachSecurityProfileRequest$securityProfileName": "

The security profile that is attached.

", + "CreateSecurityProfileRequest$securityProfileName": "

The name you are giving to the security profile.

", + "CreateSecurityProfileResponse$securityProfileName": "

The name you gave to the security profile.

", + "DeleteSecurityProfileRequest$securityProfileName": "

The name of the security profile to be deleted.

", + "DescribeSecurityProfileRequest$securityProfileName": "

The name of the security profile whose information you want to get.

", + "DescribeSecurityProfileResponse$securityProfileName": "

The name of the security profile.

", + "DetachSecurityProfileRequest$securityProfileName": "

The security profile that is detached.

", + "ListActiveViolationsRequest$securityProfileName": "

The name of the Device Defender security profile for which violations are listed.

", + "ListTargetsForSecurityProfileRequest$securityProfileName": "

The security profile.

", + "ListViolationEventsRequest$securityProfileName": "

A filter to limit results to those alerts generated by the specified security profile.

", + "SecurityProfileIdentifier$name": "

The name you have given to the security profile.

", + "UpdateSecurityProfileRequest$securityProfileName": "

The name of the security profile you want to update.

", + "UpdateSecurityProfileResponse$securityProfileName": "

The name of the security profile that was updated.

", + "ViolationEvent$securityProfileName": "

The name of the security profile whose behavior was violated.

" + } + }, + "SecurityProfileTarget": { + "base": "

A target to which an alert is sent when a security profile behavior is violated.

", + "refs": { + "SecurityProfileTargetMapping$target": "

Information about the target (thing group) associated with the security profile.

", + "SecurityProfileTargets$member": null + } + }, + "SecurityProfileTargetArn": { + "base": null, + "refs": { + "AttachSecurityProfileRequest$securityProfileTargetArn": "

The ARN of the target (thing group) to which the security profile is attached.

", + "DetachSecurityProfileRequest$securityProfileTargetArn": "

The ARN of the thing group from which the security profile is detached.

", + "ListSecurityProfilesForTargetRequest$securityProfileTargetArn": "

The ARN of the target (thing group) whose attached security profiles you want to get.

", + "SecurityProfileTarget$arn": "

The ARN of the security profile.

" + } + }, + "SecurityProfileTargetMapping": { + "base": "

Information about a security profile and the target associated with it.

", + "refs": { + "SecurityProfileTargetMappings$member": null + } + }, + "SecurityProfileTargetMappings": { + "base": null, + "refs": { + "ListSecurityProfilesForTargetResponse$securityProfileTargetMappings": "

A list of security profiles and their associated targets.

" + } + }, + "SecurityProfileTargets": { + "base": null, + "refs": { + "ListTargetsForSecurityProfileResponse$securityProfileTargets": "

The thing groups to which the security profile is attached.

" + } + }, "ServiceUnavailableException": { "base": "

The service is temporarily unavailable.

", "refs": { @@ -2846,6 +3961,24 @@ "refs": { } }, + "Signature": { + "base": null, + "refs": { + "CodeSigningSignature$inlineDocument": "

A base64 encoded binary representation of the code signing signature.

" + } + }, + "SignatureAlgorithm": { + "base": null, + "refs": { + "CustomCodeSigning$signatureAlgorithm": "

The signature algorithm used to code sign the file.

" + } + }, + "SigningJobId": { + "base": null, + "refs": { + "CodeSigning$awsSignerJobId": "

The ID of the AWSSignerJob which was created to sign the file.

" + } + }, "SkyfallMaxResults": { "base": null, "refs": { @@ -2869,6 +4002,16 @@ "Action$sqs": "

Publish to an Amazon SQS queue.

" } }, + "StartOnDemandAuditTaskRequest": { + "base": null, + "refs": { + } + }, + "StartOnDemandAuditTaskResponse": { + "base": null, + "refs": { + } + }, "StartThingRegistrationTaskRequest": { "base": null, "refs": { @@ -2879,6 +4022,12 @@ "refs": { } }, + "StateMachineName": { + "base": null, + "refs": { + "StepFunctionsAction$stateMachineName": "

The name of the Step Functions state machine whose execution will be started.

" + } + }, "StateReason": { "base": null, "refs": { @@ -2898,6 +4047,12 @@ "ListThingRegistrationTasksRequest$status": "

The status of the bulk thing provisioning task.

" } }, + "StepFunctionsAction": { + "base": "

Starts execution of a Step Functions state machine.

", + "refs": { + "Action$stepFunctions": "

Starts execution of a Step Functions state machine.

" + } + }, "StopThingRegistrationTaskRequest": { "base": null, "refs": { @@ -2908,12 +4063,114 @@ "refs": { } }, + "Stream": { + "base": "

Describes a group of files that can be streamed.

", + "refs": { + "CodeSigningCertificateChain$stream": "

A stream of the certificate chain files.

", + "CodeSigningSignature$stream": "

A stream of the code signing signature.

", + "OTAUpdateFile$fileSource": "

The source of the file.

" + } + }, + "StreamArn": { + "base": null, + "refs": { + "CreateStreamResponse$streamArn": "

The stream ARN.

", + "StreamInfo$streamArn": "

The stream ARN.

", + "StreamSummary$streamArn": "

The stream ARN.

", + "UpdateStreamResponse$streamArn": "

The stream ARN.

" + } + }, + "StreamDescription": { + "base": null, + "refs": { + "CreateStreamRequest$description": "

A description of the stream.

", + "CreateStreamResponse$description": "

A description of the stream.

", + "StreamInfo$description": "

The description of the stream.

", + "StreamSummary$description": "

A description of the stream.

", + "UpdateStreamRequest$description": "

The description of the stream.

", + "UpdateStreamResponse$description": "

A description of the stream.

" + } + }, + "StreamFile": { + "base": "

Represents a file to stream.

", + "refs": { + "StreamFiles$member": null + } + }, + "StreamFiles": { + "base": null, + "refs": { + "CreateStreamRequest$files": "

The files to stream.

", + "StreamInfo$files": "

The files to stream.

", + "UpdateStreamRequest$files": "

The files associated with the stream.

" + } + }, + "StreamId": { + "base": null, + "refs": { + "CreateStreamRequest$streamId": "

The stream ID.

", + "CreateStreamResponse$streamId": "

The stream ID.

", + "DeleteStreamRequest$streamId": "

The stream ID.

", + "DescribeStreamRequest$streamId": "

The stream ID.

", + "Stream$streamId": "

The stream ID.

", + "StreamInfo$streamId": "

The stream ID.

", + "StreamSummary$streamId": "

The stream ID.

", + "UpdateStreamRequest$streamId": "

The stream ID.

", + "UpdateStreamResponse$streamId": "

The stream ID.

" + } + }, + "StreamInfo": { + "base": "

Information about a stream.

", + "refs": { + "DescribeStreamResponse$streamInfo": "

Information about the stream.

" + } + }, "StreamName": { "base": null, "refs": { "KinesisAction$streamName": "

The name of the Amazon Kinesis stream.

" } }, + "StreamSummary": { + "base": "

A summary of a stream.

", + "refs": { + "StreamsSummary$member": null + } + }, + "StreamVersion": { + "base": null, + "refs": { + "CreateStreamResponse$streamVersion": "

The version of the stream.

", + "StreamInfo$streamVersion": "

The stream version.

", + "StreamSummary$streamVersion": "

The stream version.

", + "UpdateStreamResponse$streamVersion": "

The stream version.

" + } + }, + "StreamsSummary": { + "base": null, + "refs": { + "ListStreamsResponse$streams": "

A list of streams.

" + } + }, + "String": { + "base": null, + "refs": { + "CloudwatchMetricAction$metricNamespace": "

The CloudWatch metric namespace name.

", + "CloudwatchMetricAction$metricName": "

The CloudWatch metric name.

", + "CloudwatchMetricAction$metricValue": "

The CloudWatch metric value.

", + "CloudwatchMetricAction$metricUnit": "

The metric unit supported by CloudWatch.

", + "CloudwatchMetricAction$metricTimestamp": "

An optional Unix timestamp.

", + "StringMap$key": null, + "StringMap$value": null + } + }, + "StringMap": { + "base": null, + "refs": { + "NonCompliantResource$additionalInfo": "

Additional information about the non-compliant resource.

", + "RelatedResource$additionalInfo": "

Additional information about the resource.

" + } + }, "SucceededThings": { "base": null, "refs": { @@ -2927,19 +4184,44 @@ "PutItemInput$tableName": "

The table where the message data will be written

" } }, + "Target": { + "base": null, + "refs": { + "Targets$member": null + } + }, "TargetArn": { "base": null, "refs": { + "AuditNotificationTarget$targetArn": "

The ARN of the target (SNS topic) to which audit notifications are sent.

", "JobTargets$member": null } }, + "TargetAuditCheckNames": { + "base": null, + "refs": { + "CreateScheduledAuditRequest$targetCheckNames": "

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.)

", + "DescribeScheduledAuditResponse$targetCheckNames": "

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.)

", + "StartOnDemandAuditTaskRequest$targetCheckNames": "

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.

", + "UpdateScheduledAuditRequest$targetCheckNames": "

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.)

" + } + }, "TargetSelection": { "base": null, "refs": { "CreateJobRequest$targetSelection": "

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.

", + "CreateOTAUpdateRequest$targetSelection": "

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.

", "Job$targetSelection": "

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.

", "JobSummary$targetSelection": "

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.

", - "ListJobsRequest$targetSelection": "

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.

" + "ListJobsRequest$targetSelection": "

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.

", + "OTAUpdateInfo$targetSelection": "

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.

" + } + }, + "Targets": { + "base": null, + "refs": { + "CreateOTAUpdateRequest$targets": "

The targeted devices to receive OTA updates.

", + "OTAUpdateInfo$targets": "

The targets of the OTA update.

" } }, "TaskId": { @@ -2959,11 +4241,17 @@ "ListThingRegistrationTasksResponse$taskIds": "

A list of bulk thing provisioning task IDs.

" } }, + "TaskStatistics": { + "base": "

Statistics for the checks performed during the audit.

", + "refs": { + "DescribeAuditTaskResponse$taskStatistics": "

Statistical information about the audit.

" + } + }, "TemplateBody": { "base": null, "refs": { "DescribeThingRegistrationTaskResponse$templateBody": "

The task's template.

", - "RegisterThingRequest$templateBody": "

The provisioning template.

", + "RegisterThingRequest$templateBody": "

The provisioning template. See Programmatic Provisioning for more information.

", "RegistrationConfig$templateBody": "

The template body.

", "StartThingRegistrationTaskRequest$templateBody": "

The provisioning template.

" } @@ -3130,25 +4418,31 @@ "ThingName": { "base": null, "refs": { + "ActiveViolation$thingName": "

The name of the thing responsible for the active violation.

", "AddThingToThingGroupRequest$thingName": "

The name of the thing to add to a group.

", "AttachThingPrincipalRequest$thingName": "

The name of the thing.

", + "CancelJobExecutionRequest$thingName": "

The name of the thing whose execution of the job will be canceled.

", "CreateThingRequest$thingName": "

The name of the thing to create.

", "CreateThingResponse$thingName": "

The name of the new thing.

", + "DeleteJobExecutionRequest$thingName": "

The name of the thing whose job execution will be deleted.

", "DeleteThingRequest$thingName": "

The name of the thing to delete.

", "DescribeJobExecutionRequest$thingName": "

The name of the thing on which the job execution is running.

", "DescribeThingRequest$thingName": "

The name of the thing.

", "DescribeThingResponse$thingName": "

The name of the thing.

", "DetachThingPrincipalRequest$thingName": "

The name of the thing.

", "GetEffectivePoliciesRequest$thingName": "

The thing name.

", + "ListActiveViolationsRequest$thingName": "

The name of the thing whose active violations are listed.

", "ListJobExecutionsForThingRequest$thingName": "

The thing name.

", "ListThingGroupsForThingRequest$thingName": "

The thing name.

", "ListThingPrincipalsRequest$thingName": "

The name of the thing.

", + "ListViolationEventsRequest$thingName": "

A filter to limit results to those alerts caused by the specified thing.

", "RemoveThingFromThingGroupRequest$thingName": "

The name of the thing to remove from the group.

", "ThingAttribute$thingName": "

The name of the thing.

", "ThingDocument$thingName": "

The thing name.

", "ThingNameList$member": null, "UpdateThingGroupsForThingRequest$thingName": "

The thing whose group memberships will be updated.

", - "UpdateThingRequest$thingName": "

The name of the thing to update.

" + "UpdateThingRequest$thingName": "

The name of the thing to update.

", + "ViolationEvent$thingName": "

The name of the thing responsible for the violation event.

" } }, "ThingNameList": { @@ -3230,6 +4524,27 @@ "refs": { } }, + "Timestamp": { + "base": null, + "refs": { + "ActiveViolation$lastViolationTime": "

The time the most recent violation occurred.

", + "ActiveViolation$violationStartTime": "

The time the violation started.

", + "AuditFinding$taskStartTime": "

The time the audit started.

", + "AuditFinding$findingTime": "

The time the result (finding) was discovered.

", + "DescribeAuditTaskResponse$taskStartTime": "

The time the audit started.

", + "DescribeSecurityProfileResponse$creationDate": "

The time the security profile was created.

", + "DescribeSecurityProfileResponse$lastModifiedDate": "

The time the security profile was last modified.

", + "ListAuditFindingsRequest$startTime": "

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.

", + "ListAuditFindingsRequest$endTime": "

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.

", + "ListAuditTasksRequest$startTime": "

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\".

", + "ListAuditTasksRequest$endTime": "

The end of the time period.

", + "ListViolationEventsRequest$startTime": "

The start time for the alerts to be listed.

", + "ListViolationEventsRequest$endTime": "

The end time for the alerts to be listed.

", + "UpdateSecurityProfileResponse$creationDate": "

The time the security profile was created.

", + "UpdateSecurityProfileResponse$lastModifiedDate": "

The time the security profile was last modified.

", + "ViolationEvent$violationEventTime": "

The time the violation event occurred.

" + } + }, "Token": { "base": null, "refs": { @@ -3288,6 +4603,18 @@ "ReplaceTopicRuleRequest$topicRulePayload": "

The rule payload.

" } }, + "TotalChecksCount": { + "base": null, + "refs": { + "TaskStatistics$totalChecks": "

The number of checks in this audit.

" + } + }, + "TotalResourcesCount": { + "base": null, + "refs": { + "AuditCheckDetails$totalResourcesCount": "

The number of resources on which the check was performed.

" + } + }, "TransferAlreadyCompletedException": { "base": "

You can't revert the certificate transfer because the transfer is already complete.

", "refs": { @@ -3325,6 +4652,22 @@ "DeprecateThingTypeRequest$undoDeprecate": "

Whether to undeprecate a deprecated thing type. If true, the thing type will not be deprecated anymore and you can associate it with things.

" } }, + "UnsignedLong": { + "base": null, + "refs": { + "MetricValue$count": "

If the comparisonOperator calls for a numeric value, use this to specify that numeric value to be compared with the metric.

" + } + }, + "UpdateAccountAuditConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateAccountAuditConfigurationResponse": { + "base": null, + "refs": { + } + }, "UpdateAuthorizerRequest": { "base": null, "refs": { @@ -3375,6 +4718,36 @@ "refs": { } }, + "UpdateScheduledAuditRequest": { + "base": null, + "refs": { + } + }, + "UpdateScheduledAuditResponse": { + "base": null, + "refs": { + } + }, + "UpdateSecurityProfileRequest": { + "base": null, + "refs": { + } + }, + "UpdateSecurityProfileResponse": { + "base": null, + "refs": { + } + }, + "UpdateStreamRequest": { + "base": null, + "refs": { + } + }, + "UpdateStreamResponse": { + "base": null, + "refs": { + } + }, "UpdateThingGroupRequest": { "base": null, "refs": { @@ -3411,24 +4784,62 @@ "SqsAction$useBase64": "

Specifies whether to use Base64 encoding.

" } }, + "Valid": { + "base": null, + "refs": { + "ValidateSecurityProfileBehaviorsResponse$valid": "

True if the behaviors were valid.

" + } + }, + "ValidateSecurityProfileBehaviorsRequest": { + "base": null, + "refs": { + } + }, + "ValidateSecurityProfileBehaviorsResponse": { + "base": null, + "refs": { + } + }, + "ValidationError": { + "base": "

Information about an error found in a behavior specification.

", + "refs": { + "ValidationErrors$member": null + } + }, + "ValidationErrors": { + "base": null, + "refs": { + "ValidateSecurityProfileBehaviorsResponse$validationErrors": "

The list of any errors found in the behaviors.

" + } + }, "Value": { "base": null, "refs": { + "AdditionalParameterMap$value": null, + "AttributesMap$value": null, "Parameters$value": null } }, "Version": { "base": null, "refs": { + "DescribeSecurityProfileResponse$version": "

The version of the security profile. A new version is generated whenever the security profile is updated.

", "DescribeThingGroupResponse$version": "

The version of the thing group.

", "DescribeThingResponse$version": "

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.

", "ThingAttribute$version": "

The version of the thing record in the registry.

", + "UpdateSecurityProfileResponse$version": "

The updated version of the security profile.

", "UpdateThingGroupResponse$version": "

The version of the updated thing group.

" } }, "VersionConflictException": { - "base": "

An exception thrown when the version of a thing passed to a command is different than the version specified with the --version parameter.

", + "base": "

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

", + "refs": { + } + }, + "VersionNumber": { + "base": null, "refs": { + "JobExecution$versionNumber": "

The version of the job execution. Job execution versions are incremented each time they are updated by a device.

" } }, "VersionsLimitExceededException": { @@ -3436,27 +4847,59 @@ "refs": { } }, + "ViolationEvent": { + "base": "

Information about a Device Defender security profile behavior violation.

", + "refs": { + "ViolationEvents$member": null + } + }, + "ViolationEventType": { + "base": null, + "refs": { + "ViolationEvent$violationEventType": "

The type of violation event.

" + } + }, + "ViolationEvents": { + "base": null, + "refs": { + "ListViolationEventsResponse$violationEvents": "

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.

" + } + }, + "ViolationId": { + "base": null, + "refs": { + "ActiveViolation$violationId": "

The ID of the active violation.

", + "ViolationEvent$violationId": "

The ID of the violation event.

" + } + }, + "WaitingForDataCollectionChecksCount": { + "base": null, + "refs": { + "TaskStatistics$waitingForDataCollectionChecks": "

The number of checks waiting for data collection.

" + } + }, "errorMessage": { "base": null, "refs": { "CertificateConflictException$message": "

The message for the exception.

", "CertificateStateException$message": "

The message for the exception.

", "CertificateValidationException$message": "

Additional information about the exception.

", - "ConflictingResourceUpdateException$message": null, + "ConflictingResourceUpdateException$message": "

The message for the exception.

", "DeleteConflictException$message": "

The message for the exception.

", - "IndexNotReadyException$message": null, + "IndexNotReadyException$message": "

The message for the exception.

", "InternalException$message": "

The message for the exception.

", "InternalFailureException$message": "

The message for the exception.

", - "InvalidQueryException$message": null, + "InvalidQueryException$message": "

The message for the exception.

", "InvalidRequestException$message": "

The message for the exception.

", - "InvalidResponseException$message": null, + "InvalidResponseException$message": "

The message for the exception.

", + "InvalidStateTransitionException$message": "

The message for the exception.

", "LimitExceededException$message": "

The message for the exception.

", "MalformedPolicyException$message": "

The message for the exception.

", - "NotConfiguredException$message": null, + "NotConfiguredException$message": "

The message for the exception.

", "RegistrationCodeValidationException$message": "

Additional information about the exception.

", "ResourceAlreadyExistsException$message": "

The message for the exception.

", "ResourceNotFoundException$message": "

The message for the exception.

", - "ResourceRegistrationFailureException$message": null, + "ResourceRegistrationFailureException$message": "

The message for the exception.

", "ServiceUnavailableException$message": "

The message for the exception.

", "SqlParseException$message": "

The message for the exception.

", "ThrottlingException$message": "

The message for the exception.

", diff --git a/models/apis/iot1click-devices/2018-05-14/api-2.json b/models/apis/iot1click-devices/2018-05-14/api-2.json new file mode 100644 index 00000000000..a7bfe4f130e --- /dev/null +++ b/models/apis/iot1click-devices/2018-05-14/api-2.json @@ -0,0 +1,769 @@ +{ + "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" + }, + "errors" : [ { + "shape" : "InvalidRequestException" + }, { + "shape" : "InternalFailureException" + }, { + "shape" : "ForbiddenException" + } ] + }, + "DescribeDevice" : { + "name" : "DescribeDevice", + "http" : { + "method" : "GET", + "requestUri" : "/devices/{deviceId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeDeviceRequest" + }, + "output" : { + "shape" : "DescribeDeviceResponse" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException" + }, { + "shape" : "InvalidRequestException" + }, { + "shape" : "InternalFailureException" + } ] + }, + "FinalizeDeviceClaim" : { + "name" : "FinalizeDeviceClaim", + "http" : { + "method" : "PUT", + "requestUri" : "/devices/{deviceId}/finalize-claim", + "responseCode" : 200 + }, + "input" : { + "shape" : "FinalizeDeviceClaimRequest" + }, + "output" : { + "shape" : "FinalizeDeviceClaimResponse" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException" + }, { + "shape" : "InvalidRequestException" + }, { + "shape" : "InternalFailureException" + }, { + "shape" : "PreconditionFailedException" + }, { + "shape" : "ResourceConflictException" + } ] + }, + "GetDeviceMethods" : { + "name" : "GetDeviceMethods", + "http" : { + "method" : "GET", + "requestUri" : "/devices/{deviceId}/methods", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDeviceMethodsRequest" + }, + "output" : { + "shape" : "GetDeviceMethodsResponse" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException" + }, { + "shape" : "InvalidRequestException" + }, { + "shape" : "InternalFailureException" + } ] + }, + "InitiateDeviceClaim" : { + "name" : "InitiateDeviceClaim", + "http" : { + "method" : "PUT", + "requestUri" : "/devices/{deviceId}/initiate-claim", + "responseCode" : 200 + }, + "input" : { + "shape" : "InitiateDeviceClaimRequest" + }, + "output" : { + "shape" : "InitiateDeviceClaimResponse" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException" + }, { + "shape" : "InvalidRequestException" + }, { + "shape" : "InternalFailureException" + }, { + "shape" : "ResourceConflictException" + } ] + }, + "InvokeDeviceMethod" : { + "name" : "InvokeDeviceMethod", + "http" : { + "method" : "POST", + "requestUri" : "/devices/{deviceId}/methods", + "responseCode" : 200 + }, + "input" : { + "shape" : "InvokeDeviceMethodRequest" + }, + "output" : { + "shape" : "InvokeDeviceMethodResponse" + }, + "errors" : [ { + "shape" : "InvalidRequestException" + }, { + "shape" : "PreconditionFailedException" + }, { + "shape" : "InternalFailureException" + }, { + "shape" : "ResourceNotFoundException" + }, { + "shape" : "RangeNotSatisfiableException" + }, { + "shape" : "ResourceConflictException" + } ] + }, + "ListDeviceEvents" : { + "name" : "ListDeviceEvents", + "http" : { + "method" : "GET", + "requestUri" : "/devices/{deviceId}/events", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListDeviceEventsRequest" + }, + "output" : { + "shape" : "ListDeviceEventsResponse" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException" + }, { + "shape" : "RangeNotSatisfiableException" + }, { + "shape" : "InvalidRequestException" + }, { + "shape" : "InternalFailureException" + } ] + }, + "ListDevices" : { + "name" : "ListDevices", + "http" : { + "method" : "GET", + "requestUri" : "/devices", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListDevicesRequest" + }, + "output" : { + "shape" : "ListDevicesResponse" + }, + "errors" : [ { + "shape" : "RangeNotSatisfiableException" + }, { + "shape" : "InvalidRequestException" + }, { + "shape" : "InternalFailureException" + } ] + }, + "UnclaimDevice" : { + "name" : "UnclaimDevice", + "http" : { + "method" : "PUT", + "requestUri" : "/devices/{deviceId}/unclaim", + "responseCode" : 200 + }, + "input" : { + "shape" : "UnclaimDeviceRequest" + }, + "output" : { + "shape" : "UnclaimDeviceResponse" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException" + }, { + "shape" : "InvalidRequestException" + }, { + "shape" : "InternalFailureException" + } ] + }, + "UpdateDeviceState" : { + "name" : "UpdateDeviceState", + "http" : { + "method" : "PUT", + "requestUri" : "/devices/{deviceId}/state", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateDeviceStateRequest" + }, + "output" : { + "shape" : "UpdateDeviceStateResponse" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException" + }, { + "shape" : "InvalidRequestException" + }, { + "shape" : "InternalFailureException" + } ] + } + }, + "shapes" : { + "Attributes" : { + "type" : "structure", + "members" : { } + }, + "ClaimDevicesByClaimCodeRequest" : { + "type" : "structure", + "members" : { + "ClaimCode" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "claimCode" + } + }, + "required" : [ "ClaimCode" ] + }, + "ClaimDevicesByClaimCodeResponse" : { + "type" : "structure", + "members" : { + "ClaimCode" : { + "shape" : "__stringMin12Max40", + "locationName" : "claimCode" + }, + "Total" : { + "shape" : "__integer", + "locationName" : "total" + } + } + }, + "DescribeDeviceRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId" + } + }, + "required" : [ "DeviceId" ] + }, + "DescribeDeviceResponse" : { + "type" : "structure", + "members" : { + "DeviceDescription" : { + "shape" : "DeviceDescription", + "locationName" : "deviceDescription" + } + } + }, + "Device" : { + "type" : "structure", + "members" : { + "Attributes" : { + "shape" : "Attributes", + "locationName" : "attributes" + }, + "DeviceId" : { + "shape" : "__string", + "locationName" : "deviceId" + }, + "Type" : { + "shape" : "__string", + "locationName" : "type" + } + } + }, + "DeviceAttributes" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "__string" + } + }, + "DeviceClaimResponse" : { + "type" : "structure", + "members" : { + "State" : { + "shape" : "__string", + "locationName" : "state" + } + } + }, + "DeviceDescription" : { + "type" : "structure", + "members" : { + "Attributes" : { + "shape" : "DeviceAttributes", + "locationName" : "attributes" + }, + "DeviceId" : { + "shape" : "__string", + "locationName" : "deviceId" + }, + "Enabled" : { + "shape" : "__boolean", + "locationName" : "enabled" + }, + "RemainingLife" : { + "shape" : "__doubleMin0Max100", + "locationName" : "remainingLife" + }, + "Type" : { + "shape" : "__string", + "locationName" : "type" + } + } + }, + "DeviceEvent" : { + "type" : "structure", + "members" : { + "Device" : { + "shape" : "Device", + "locationName" : "device" + }, + "StdEvent" : { + "shape" : "__string", + "locationName" : "stdEvent" + } + } + }, + "DeviceEventsResponse" : { + "type" : "structure", + "members" : { + "Events" : { + "shape" : "__listOfDeviceEvent", + "locationName" : "events" + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken" + } + } + }, + "DeviceMethod" : { + "type" : "structure", + "members" : { + "DeviceType" : { + "shape" : "__string", + "locationName" : "deviceType" + }, + "MethodName" : { + "shape" : "__string", + "locationName" : "methodName" + } + } + }, + "Empty" : { + "type" : "structure", + "members" : { } + }, + "FinalizeDeviceClaimRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId" + } + }, + "required" : [ "DeviceId" ] + }, + "FinalizeDeviceClaimResponse" : { + "type" : "structure", + "members" : { + "State" : { + "shape" : "__string", + "locationName" : "state" + } + } + }, + "ForbiddenException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 403 + } + }, + "GetDeviceMethodsRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId" + } + }, + "required" : [ "DeviceId" ] + }, + "GetDeviceMethodsResponse" : { + "type" : "structure", + "members" : { + "DeviceMethods" : { + "shape" : "__listOfDeviceMethod", + "locationName" : "deviceMethods" + } + } + }, + "InitiateDeviceClaimRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId" + } + }, + "required" : [ "DeviceId" ] + }, + "InitiateDeviceClaimResponse" : { + "type" : "structure", + "members" : { + "State" : { + "shape" : "__string", + "locationName" : "state" + } + } + }, + "InternalFailureException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 500 + } + }, + "InvalidRequestException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 400 + } + }, + "InvokeDeviceMethodRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId" + }, + "DeviceMethod" : { + "shape" : "DeviceMethod", + "locationName" : "deviceMethod" + }, + "DeviceMethodParameters" : { + "shape" : "__string", + "locationName" : "deviceMethodParameters" + } + }, + "required" : [ "DeviceId" ] + }, + "InvokeDeviceMethodResponse" : { + "type" : "structure", + "members" : { + "DeviceMethodResponse" : { + "shape" : "__string", + "locationName" : "deviceMethodResponse" + } + } + }, + "ListDeviceEventsRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId" + }, + "FromTimeStamp" : { + "shape" : "__timestampIso8601", + "location" : "querystring", + "locationName" : "fromTimeStamp" + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken" + }, + "ToTimeStamp" : { + "shape" : "__timestampIso8601", + "location" : "querystring", + "locationName" : "toTimeStamp" + } + }, + "required" : [ "DeviceId", "FromTimeStamp", "ToTimeStamp" ] + }, + "ListDeviceEventsResponse" : { + "type" : "structure", + "members" : { + "Events" : { + "shape" : "__listOfDeviceEvent", + "locationName" : "events" + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken" + } + } + }, + "ListDevicesRequest" : { + "type" : "structure", + "members" : { + "DeviceType" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "deviceType" + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken" + } + } + }, + "ListDevicesResponse" : { + "type" : "structure", + "members" : { + "Devices" : { + "shape" : "__listOfDeviceDescription", + "locationName" : "devices" + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken" + } + } + }, + "MaxResults" : { + "type" : "integer", + "min" : 1, + "max" : 250 + }, + "PreconditionFailedException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 412 + } + }, + "RangeNotSatisfiableException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 416 + } + }, + "ResourceConflictException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 409 + } + }, + "ResourceNotFoundException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 404 + } + }, + "UnclaimDeviceRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId" + } + }, + "required" : [ "DeviceId" ] + }, + "UnclaimDeviceResponse" : { + "type" : "structure", + "members" : { + "State" : { + "shape" : "__string", + "locationName" : "state" + } + } + }, + "UpdateDeviceStateRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId" + }, + "Enabled" : { + "shape" : "__boolean", + "locationName" : "enabled" + } + }, + "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" + } + } +} \ No newline at end of file diff --git a/models/apis/iot1click-devices/2018-05-14/docs-2.json b/models/apis/iot1click-devices/2018-05-14/docs-2.json new file mode 100644 index 00000000000..85fe289bc0f --- /dev/null +++ b/models/apis/iot1click-devices/2018-05-14/docs-2.json @@ -0,0 +1,199 @@ +{ + "version" : "2.0", + "service" : "

Stub description

", + "operations" : { + "ClaimDevicesByClaimCode" : "

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" : "

Given a device ID, returns a DescribeDeviceResponse object describing\n the details of the device.

", + "FinalizeDeviceClaim" : "

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" : "

Given a device ID, returns the invokable methods associated with the\n device.

", + "InitiateDeviceClaim" : "

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" : "

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" : "

Using a device ID, returns a DeviceEventsResponse object containing\n an array of events for the device.

", + "ListDevices" : "

Lists the 1-Click compatible devices associated with your AWS account.

", + "UnclaimDevice" : "

Disassociates a device from your AWS account using its device ID.

", + "UpdateDeviceState" : "

Using a Boolean value (true or false), this operation\n enables or disables the device given a device ID.

" + }, + "shapes" : { + "Attributes" : { + "base" : null, + "refs" : { + "Device$Attributes" : "

The user specified attributes associated with the device for an event.

" + } + }, + "ClaimDevicesByClaimCodeResponse" : { + "base" : null, + "refs" : { } + }, + "DescribeDeviceResponse" : { + "base" : null, + "refs" : { } + }, + "Device" : { + "base" : null, + "refs" : { + "DeviceEvent$Device" : "

An object representing the device associated with the event.

" + } + }, + "DeviceAttributes" : { + "base" : "

\n DeviceAttributes is a string-to-string map specified by the user.

", + "refs" : { + "DeviceDescription$Attributes" : "

An array of zero or more elements of DeviceAttribute objects\n providing user specified device attributes.

" + } + }, + "DeviceClaimResponse" : { + "base" : null, + "refs" : { } + }, + "DeviceDescription" : { + "base" : null, + "refs" : { + "DescribeDeviceResponse$DeviceDescription" : "

Device details.

", + "__listOfDeviceDescription$member" : null + } + }, + "DeviceEvent" : { + "base" : null, + "refs" : { + "__listOfDeviceEvent$member" : null + } + }, + "DeviceEventsResponse" : { + "base" : null, + "refs" : { } + }, + "DeviceMethod" : { + "base" : null, + "refs" : { + "InvokeDeviceMethodRequest$DeviceMethod" : "

The device method to invoke.

", + "__listOfDeviceMethod$member" : null + } + }, + "Empty" : { + "base" : "

On success, an empty object is returned.

", + "refs" : { } + }, + "ForbiddenException" : { + "base" : null, + "refs" : { } + }, + "GetDeviceMethodsResponse" : { + "base" : null, + "refs" : { } + }, + "InternalFailureException" : { + "base" : null, + "refs" : { } + }, + "InvalidRequestException" : { + "base" : null, + "refs" : { } + }, + "InvokeDeviceMethodRequest" : { + "base" : null, + "refs" : { } + }, + "InvokeDeviceMethodResponse" : { + "base" : null, + "refs" : { } + }, + "ListDevicesResponse" : { + "base" : null, + "refs" : { } + }, + "PreconditionFailedException" : { + "base" : null, + "refs" : { } + }, + "RangeNotSatisfiableException" : { + "base" : null, + "refs" : { } + }, + "ResourceConflictException" : { + "base" : null, + "refs" : { } + }, + "ResourceNotFoundException" : { + "base" : null, + "refs" : { } + }, + "UpdateDeviceStateRequest" : { + "base" : null, + "refs" : { } + }, + "__boolean" : { + "base" : null, + "refs" : { + "DeviceDescription$Enabled" : "

A Boolean value indicating whether or not the device is enabled.

", + "UpdateDeviceStateRequest$Enabled" : "

If true, the device is enabled. If false, the device is\n disabled.

" + } + }, + "__doubleMin0Max100" : { + "base" : null, + "refs" : { + "DeviceDescription$RemainingLife" : "

A value between 0 and 1 inclusive, representing the fraction of life remaining for\n the device.

" + } + }, + "__integer" : { + "base" : null, + "refs" : { + "ClaimDevicesByClaimCodeResponse$Total" : "

The total number of devices associated with the claim code that has been processed\n in the claim request.

" + } + }, + "__listOfDeviceDescription" : { + "base" : null, + "refs" : { + "ListDevicesResponse$Devices" : "

A list of devices.

" + } + }, + "__listOfDeviceEvent" : { + "base" : null, + "refs" : { + "DeviceEventsResponse$Events" : "

An array of zero or more elements describing the event(s) associated with the\n device.

" + } + }, + "__listOfDeviceMethod" : { + "base" : null, + "refs" : { + "GetDeviceMethodsResponse$DeviceMethods" : "

List of available device APIs.

" + } + }, + "__string" : { + "base" : null, + "refs" : { + "Device$DeviceId" : "

The unique identifier of the device.

", + "Device$Type" : "

The device type, such as \"button\".

", + "DeviceAttributes$member" : null, + "DeviceClaimResponse$State" : "

The device's final claim state.

", + "DeviceDescription$DeviceId" : "

The unique identifier of the device.

", + "DeviceDescription$Type" : "

The type of the device, such as \"button\".

", + "DeviceEvent$StdEvent" : "

A serialized JSON object representing the device-type specific event.

", + "DeviceEventsResponse$NextToken" : "

The token to retrieve the next set of results.

", + "DeviceMethod$DeviceType" : "

The type of the device, such as \"button\".

", + "DeviceMethod$MethodName" : "

The name of the method applicable to the deviceType.

", + "ForbiddenException$Code" : "

403

", + "ForbiddenException$Message" : "

The 403 error message returned by the web server.

", + "InternalFailureException$Code" : "

500

", + "InternalFailureException$Message" : "

The 500 error message returned by the web server.

", + "InvalidRequestException$Code" : "

400

", + "InvalidRequestException$Message" : "

The 400 error message returned by the web server.

", + "InvokeDeviceMethodRequest$DeviceMethodParameters" : "

A JSON encoded string containing the device method request parameters.

", + "InvokeDeviceMethodResponse$DeviceMethodResponse" : "

A JSON encoded string containing the device method response.

", + "ListDevicesResponse$NextToken" : "

The token to retrieve the next set of results.

", + "PreconditionFailedException$Code" : "

412

", + "PreconditionFailedException$Message" : "

An error message explaining the error or its remedy.

", + "RangeNotSatisfiableException$Code" : "

416

", + "RangeNotSatisfiableException$Message" : "

The requested number of results specified by nextToken cannot be\n satisfied.

", + "ResourceConflictException$Code" : "

409

", + "ResourceConflictException$Message" : "

An error message explaining the error or its remedy.

", + "ResourceNotFoundException$Code" : "

404

", + "ResourceNotFoundException$Message" : "

The requested device could not be found.

" + } + }, + "__stringMin12Max40" : { + "base" : null, + "refs" : { + "ClaimDevicesByClaimCodeResponse$ClaimCode" : "

The claim code provided by the device manufacturer.

" + } + } + } +} \ No newline at end of file diff --git a/models/apis/iot1click-projects/2018-05-14/api-2.json b/models/apis/iot1click-projects/2018-05-14/api-2.json new file mode 100644 index 00000000000..b54e3da2f8f --- /dev/null +++ b/models/apis/iot1click-projects/2018-05-14/api-2.json @@ -0,0 +1,748 @@ +{ + "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"} + ] + }, + "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"} + ] + }, + "CreateProject":{ + "name":"CreateProject", + "http":{ + "method":"POST", + "requestUri":"/projects" + }, + "input":{"shape":"CreateProjectRequest"}, + "output":{"shape":"CreateProjectResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceConflictException"} + ] + }, + "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"} + ] + }, + "DeleteProject":{ + "name":"DeleteProject", + "http":{ + "method":"DELETE", + "requestUri":"/projects/{projectName}" + }, + "input":{"shape":"DeleteProjectRequest"}, + "output":{"shape":"DeleteProjectResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ] + }, + "DescribePlacement":{ + "name":"DescribePlacement", + "http":{ + "method":"GET", + "requestUri":"/projects/{projectName}/placements/{placementName}" + }, + "input":{"shape":"DescribePlacementRequest"}, + "output":{"shape":"DescribePlacementResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "DescribeProject":{ + "name":"DescribeProject", + "http":{ + "method":"GET", + "requestUri":"/projects/{projectName}" + }, + "input":{"shape":"DescribeProjectRequest"}, + "output":{"shape":"DescribeProjectResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "ListPlacements":{ + "name":"ListPlacements", + "http":{ + "method":"GET", + "requestUri":"/projects/{projectName}/placements" + }, + "input":{"shape":"ListPlacementsRequest"}, + "output":{"shape":"ListPlacementsResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListProjects":{ + "name":"ListProjects", + "http":{ + "method":"GET", + "requestUri":"/projects" + }, + "input":{"shape":"ListProjectsRequest"}, + "output":{"shape":"ListProjectsResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"} + ] + }, + "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"} + ] + }, + "UpdateProject":{ + "name":"UpdateProject", + "http":{ + "method":"PUT", + "requestUri":"/projects/{projectName}" + }, + "input":{"shape":"UpdateProjectRequest"}, + "output":{"shape":"UpdateProjectResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ] + } + }, + "shapes":{ + "AssociateDeviceWithPlacementRequest":{ + "type":"structure", + "required":[ + "projectName", + "placementName", + "deviceId", + "deviceTemplateName" + ], + "members":{ + "projectName":{ + "shape":"ProjectName", + "location":"uri", + "locationName":"projectName" + }, + "placementName":{ + "shape":"PlacementName", + "location":"uri", + "locationName":"placementName" + }, + "deviceId":{"shape":"DeviceId"}, + "deviceTemplateName":{ + "shape":"DeviceTemplateName", + "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"}, + "projectName":{ + "shape":"ProjectName", + "location":"uri", + "locationName":"projectName" + }, + "attributes":{"shape":"PlacementAttributeMap"} + } + }, + "CreatePlacementResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateProjectRequest":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{"shape":"ProjectName"}, + "description":{"shape":"Description"}, + "placementTemplate":{"shape":"PlacementTemplate"} + } + }, + "CreateProjectResponse":{ + "type":"structure", + "members":{ + } + }, + "DefaultPlacementAttributeMap":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeDefaultValue"} + }, + "DeletePlacementRequest":{ + "type":"structure", + "required":[ + "placementName", + "projectName" + ], + "members":{ + "placementName":{ + "shape":"PlacementName", + "location":"uri", + "locationName":"placementName" + }, + "projectName":{ + "shape":"ProjectName", + "location":"uri", + "locationName":"projectName" + } + } + }, + "DeletePlacementResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteProjectRequest":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"ProjectName", + "location":"uri", + "locationName":"projectName" + } + } + }, + "DeleteProjectResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribePlacementRequest":{ + "type":"structure", + "required":[ + "placementName", + "projectName" + ], + "members":{ + "placementName":{ + "shape":"PlacementName", + "location":"uri", + "locationName":"placementName" + }, + "projectName":{ + "shape":"ProjectName", + "location":"uri", + "locationName":"projectName" + } + } + }, + "DescribePlacementResponse":{ + "type":"structure", + "required":["placement"], + "members":{ + "placement":{"shape":"PlacementDescription"} + } + }, + "DescribeProjectRequest":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"ProjectName", + "location":"uri", + "locationName":"projectName" + } + } + }, + "DescribeProjectResponse":{ + "type":"structure", + "required":["project"], + "members":{ + "project":{"shape":"ProjectDescription"} + } + }, + "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"}, + "callbackOverrides":{"shape":"DeviceCallbackOverrideMap"} + } + }, + "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", + "location":"uri", + "locationName":"projectName" + }, + "placementName":{ + "shape":"PlacementName", + "location":"uri", + "locationName":"placementName" + }, + "deviceTemplateName":{ + "shape":"DeviceTemplateName", + "location":"uri", + "locationName":"deviceTemplateName" + } + } + }, + "DisassociateDeviceFromPlacementResponse":{ + "type":"structure", + "members":{ + } + }, + "GetDevicesInPlacementRequest":{ + "type":"structure", + "required":[ + "projectName", + "placementName" + ], + "members":{ + "projectName":{ + "shape":"ProjectName", + "location":"uri", + "locationName":"projectName" + }, + "placementName":{ + "shape":"PlacementName", + "location":"uri", + "locationName":"placementName" + } + } + }, + "GetDevicesInPlacementResponse":{ + "type":"structure", + "required":["devices"], + "members":{ + "devices":{"shape":"DeviceMap"} + } + }, + "InternalFailureException":{ + "type":"structure", + "required":[ + "code", + "message" + ], + "members":{ + "code":{"shape":"Code"}, + "message":{"shape":"Message"} + }, + "error":{"httpStatusCode":500}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "required":[ + "code", + "message" + ], + "members":{ + "code":{"shape":"Code"}, + "message":{"shape":"Message"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListPlacementsRequest":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"ProjectName", + "location":"uri", + "locationName":"projectName" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPlacementsResponse":{ + "type":"structure", + "required":["placements"], + "members":{ + "placements":{"shape":"PlacementSummaryList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListProjectsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListProjectsResponse":{ + "type":"structure", + "required":["projects"], + "members":{ + "projects":{"shape":"ProjectSummaryList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "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"}, + "placementName":{"shape":"PlacementName"}, + "attributes":{"shape":"PlacementAttributeMap"}, + "createdDate":{"shape":"Time"}, + "updatedDate":{"shape":"Time"} + } + }, + "PlacementName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "PlacementSummary":{ + "type":"structure", + "required":[ + "projectName", + "placementName", + "createdDate", + "updatedDate" + ], + "members":{ + "projectName":{"shape":"ProjectName"}, + "placementName":{"shape":"PlacementName"}, + "createdDate":{"shape":"Time"}, + "updatedDate":{"shape":"Time"} + } + }, + "PlacementSummaryList":{ + "type":"list", + "member":{"shape":"PlacementSummary"} + }, + "PlacementTemplate":{ + "type":"structure", + "members":{ + "defaultAttributes":{"shape":"DefaultPlacementAttributeMap"}, + "deviceTemplates":{"shape":"DeviceTemplateMap"} + } + }, + "ProjectDescription":{ + "type":"structure", + "required":[ + "projectName", + "createdDate", + "updatedDate" + ], + "members":{ + "projectName":{"shape":"ProjectName"}, + "description":{"shape":"Description"}, + "createdDate":{"shape":"Time"}, + "updatedDate":{"shape":"Time"}, + "placementTemplate":{"shape":"PlacementTemplate"} + } + }, + "ProjectName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[0-9A-Za-z_-]+$" + }, + "ProjectSummary":{ + "type":"structure", + "required":[ + "projectName", + "createdDate", + "updatedDate" + ], + "members":{ + "projectName":{"shape":"ProjectName"}, + "createdDate":{"shape":"Time"}, + "updatedDate":{"shape":"Time"} + } + }, + "ProjectSummaryList":{ + "type":"list", + "member":{"shape":"ProjectSummary"} + }, + "ResourceConflictException":{ + "type":"structure", + "required":[ + "code", + "message" + ], + "members":{ + "code":{"shape":"Code"}, + "message":{"shape":"Message"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "code", + "message" + ], + "members":{ + "code":{"shape":"Code"}, + "message":{"shape":"Message"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "Time":{"type":"timestamp"}, + "TooManyRequestsException":{ + "type":"structure", + "required":[ + "code", + "message" + ], + "members":{ + "code":{"shape":"Code"}, + "message":{"shape":"Message"} + }, + "error":{"httpStatusCode":429}, + "exception":true + }, + "UpdatePlacementRequest":{ + "type":"structure", + "required":[ + "placementName", + "projectName" + ], + "members":{ + "placementName":{ + "shape":"PlacementName", + "location":"uri", + "locationName":"placementName" + }, + "projectName":{ + "shape":"ProjectName", + "location":"uri", + "locationName":"projectName" + }, + "attributes":{"shape":"PlacementAttributeMap"} + } + }, + "UpdatePlacementResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateProjectRequest":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"ProjectName", + "location":"uri", + "locationName":"projectName" + }, + "description":{"shape":"Description"}, + "placementTemplate":{"shape":"PlacementTemplate"} + } + }, + "UpdateProjectResponse":{ + "type":"structure", + "members":{ + } + } + } +} diff --git a/models/apis/iot1click-projects/2018-05-14/docs-2.json b/models/apis/iot1click-projects/2018-05-14/docs-2.json new file mode 100644 index 00000000000..ea150d6027c --- /dev/null +++ b/models/apis/iot1click-projects/2018-05-14/docs-2.json @@ -0,0 +1,403 @@ +{ + "version": "2.0", + "service": "

The AWS IoT 1-Click Project API Reference

", + "operations": { + "AssociateDeviceWithPlacement": "

Associates a physical device with a placement.

", + "CreatePlacement": "

Creates an empty placement.

", + "CreateProject": "

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": "

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": "

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": "

Describes a placement in a project.

", + "DescribeProject": "

Returns an object describing a project.

", + "DisassociateDeviceFromPlacement": "

Removes a physical device from a placement.

", + "GetDevicesInPlacement": "

Returns an object enumerating the devices in a placement.

", + "ListPlacements": "

Lists the placement(s) of a project.

", + "ListProjects": "

Lists the AWS IoT 1-Click project(s) associated with your AWS account and region.

", + "UpdatePlacement": "

Updates a placement with the given attributes. To clear an attribute, pass an empty value (i.e., \"\").

", + "UpdateProject": "

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": { + "base": null, + "refs": { + } + }, + "AssociateDeviceWithPlacementResponse": { + "base": null, + "refs": { + } + }, + "AttributeDefaultValue": { + "base": null, + "refs": { + "DefaultPlacementAttributeMap$value": null + } + }, + "AttributeName": { + "base": null, + "refs": { + "DefaultPlacementAttributeMap$key": null, + "PlacementAttributeMap$key": null + } + }, + "AttributeValue": { + "base": null, + "refs": { + "PlacementAttributeMap$value": null + } + }, + "Code": { + "base": null, + "refs": { + "InternalFailureException$code": null, + "InvalidRequestException$code": null, + "ResourceConflictException$code": null, + "ResourceNotFoundException$code": null, + "TooManyRequestsException$code": null + } + }, + "CreatePlacementRequest": { + "base": null, + "refs": { + } + }, + "CreatePlacementResponse": { + "base": null, + "refs": { + } + }, + "CreateProjectRequest": { + "base": null, + "refs": { + } + }, + "CreateProjectResponse": { + "base": null, + "refs": { + } + }, + "DefaultPlacementAttributeMap": { + "base": null, + "refs": { + "PlacementTemplate$defaultAttributes": "

The default attributes (key/value pairs) to be applied to all placements using this template.

" + } + }, + "DeletePlacementRequest": { + "base": null, + "refs": { + } + }, + "DeletePlacementResponse": { + "base": null, + "refs": { + } + }, + "DeleteProjectRequest": { + "base": null, + "refs": { + } + }, + "DeleteProjectResponse": { + "base": null, + "refs": { + } + }, + "DescribePlacementRequest": { + "base": null, + "refs": { + } + }, + "DescribePlacementResponse": { + "base": null, + "refs": { + } + }, + "DescribeProjectRequest": { + "base": null, + "refs": { + } + }, + "DescribeProjectResponse": { + "base": null, + "refs": { + } + }, + "Description": { + "base": null, + "refs": { + "CreateProjectRequest$description": "

An optional description for the project.

", + "ProjectDescription$description": "

The description of the project.

", + "UpdateProjectRequest$description": "

An optional user-defined description for the project.

" + } + }, + "DeviceCallbackKey": { + "base": null, + "refs": { + "DeviceCallbackOverrideMap$key": null + } + }, + "DeviceCallbackOverrideMap": { + "base": null, + "refs": { + "DeviceTemplate$callbackOverrides": "

An optional Lambda function to invoke instead of the default Lambda function provided by the placement template.

" + } + }, + "DeviceCallbackValue": { + "base": null, + "refs": { + "DeviceCallbackOverrideMap$value": null + } + }, + "DeviceId": { + "base": null, + "refs": { + "AssociateDeviceWithPlacementRequest$deviceId": "

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.

", + "DeviceMap$value": null + } + }, + "DeviceMap": { + "base": null, + "refs": { + "GetDevicesInPlacementResponse$devices": "

An object containing the devices (zero or more) within the placement.

" + } + }, + "DeviceTemplate": { + "base": "

An object representing a device for a placement template (see PlacementTemplate).

", + "refs": { + "DeviceTemplateMap$value": null + } + }, + "DeviceTemplateMap": { + "base": null, + "refs": { + "PlacementTemplate$deviceTemplates": "

An object specifying the DeviceTemplate for all placements using this (PlacementTemplate) template.

" + } + }, + "DeviceTemplateName": { + "base": null, + "refs": { + "AssociateDeviceWithPlacementRequest$deviceTemplateName": "

The device template name to associate with the device ID.

", + "DeviceMap$key": null, + "DeviceTemplateMap$key": null, + "DisassociateDeviceFromPlacementRequest$deviceTemplateName": "

The device ID that should be removed from the placement.

" + } + }, + "DeviceType": { + "base": null, + "refs": { + "DeviceTemplate$deviceType": "

The device type, which currently must be \"button\".

" + } + }, + "DisassociateDeviceFromPlacementRequest": { + "base": null, + "refs": { + } + }, + "DisassociateDeviceFromPlacementResponse": { + "base": null, + "refs": { + } + }, + "GetDevicesInPlacementRequest": { + "base": null, + "refs": { + } + }, + "GetDevicesInPlacementResponse": { + "base": null, + "refs": { + } + }, + "InternalFailureException": { + "base": "

", + "refs": { + } + }, + "InvalidRequestException": { + "base": "

", + "refs": { + } + }, + "ListPlacementsRequest": { + "base": null, + "refs": { + } + }, + "ListPlacementsResponse": { + "base": null, + "refs": { + } + }, + "ListProjectsRequest": { + "base": null, + "refs": { + } + }, + "ListProjectsResponse": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListPlacementsRequest$maxResults": "

The maximum number of results to return per request. If not set, a default value of 100 is used.

", + "ListProjectsRequest$maxResults": "

The maximum number of results to return per request. If not set, a default value of 100 is used.

" + } + }, + "Message": { + "base": null, + "refs": { + "InternalFailureException$message": null, + "InvalidRequestException$message": null, + "ResourceConflictException$message": null, + "ResourceNotFoundException$message": null, + "TooManyRequestsException$message": null + } + }, + "NextToken": { + "base": null, + "refs": { + "ListPlacementsRequest$nextToken": "

The token to retrieve the next set of results.

", + "ListPlacementsResponse$nextToken": "

The token used to retrieve the next set of results - will be effectively empty if there are no further results.

", + "ListProjectsRequest$nextToken": "

The token to retrieve the next set of results.

", + "ListProjectsResponse$nextToken": "

The token used to retrieve the next set of results - will be effectively empty if there are no further results.

" + } + }, + "PlacementAttributeMap": { + "base": null, + "refs": { + "CreatePlacementRequest$attributes": "

Optional user-defined key/value pairs providing contextual data (such as location or function) for the placement.

", + "PlacementDescription$attributes": "

The user-defined attributes associated with the placement.

", + "UpdatePlacementRequest$attributes": "

The user-defined object of attributes used to update the placement. The maximum number of key/value pairs is 50.

" + } + }, + "PlacementDescription": { + "base": "

An object describing a project's placement.

", + "refs": { + "DescribePlacementResponse$placement": "

An object describing the placement.

" + } + }, + "PlacementName": { + "base": null, + "refs": { + "AssociateDeviceWithPlacementRequest$placementName": "

The name of the placement in which to associate the device.

", + "CreatePlacementRequest$placementName": "

The name of the placement to be created.

", + "DeletePlacementRequest$placementName": "

The name of the empty placement to delete.

", + "DescribePlacementRequest$placementName": "

The name of the placement within a project.

", + "DisassociateDeviceFromPlacementRequest$placementName": "

The name of the placement that the device should be removed from.

", + "GetDevicesInPlacementRequest$placementName": "

The name of the placement to get the devices from.

", + "PlacementDescription$placementName": "

The name of the placement.

", + "PlacementSummary$placementName": "

The name of the placement being summarized.

", + "UpdatePlacementRequest$placementName": "

The name of the placement to update.

" + } + }, + "PlacementSummary": { + "base": "

An object providing summary information for a particular placement.

", + "refs": { + "PlacementSummaryList$member": null + } + }, + "PlacementSummaryList": { + "base": null, + "refs": { + "ListPlacementsResponse$placements": "

An object listing the requested placements.

" + } + }, + "PlacementTemplate": { + "base": "

An object defining the template for a placement.

", + "refs": { + "CreateProjectRequest$placementTemplate": "

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.

", + "ProjectDescription$placementTemplate": "

An object describing the project's placement specifications.

", + "UpdateProjectRequest$placementTemplate": "

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.

" + } + }, + "ProjectDescription": { + "base": "

An object providing detailed information for a particular project associated with an AWS account and region.

", + "refs": { + "DescribeProjectResponse$project": "

An object describing the project.

" + } + }, + "ProjectName": { + "base": null, + "refs": { + "AssociateDeviceWithPlacementRequest$projectName": "

The name of the project containing the placement in which to associate the device.

", + "CreatePlacementRequest$projectName": "

The name of the project in which to create the placement.

", + "CreateProjectRequest$projectName": "

The name of the project to create.

", + "DeletePlacementRequest$projectName": "

The project containing the empty placement to delete.

", + "DeleteProjectRequest$projectName": "

The name of the empty project to delete.

", + "DescribePlacementRequest$projectName": "

The project containing the placement to be described.

", + "DescribeProjectRequest$projectName": "

The name of the project to be described.

", + "DisassociateDeviceFromPlacementRequest$projectName": "

The name of the project that contains the placement.

", + "GetDevicesInPlacementRequest$projectName": "

The name of the project containing the placement.

", + "ListPlacementsRequest$projectName": "

The project containing the placements to be listed.

", + "PlacementDescription$projectName": "

The name of the project containing the placement.

", + "PlacementSummary$projectName": "

The name of the project containing the placement.

", + "ProjectDescription$projectName": "

The name of the project for which to obtain information from.

", + "ProjectSummary$projectName": "

The name of the project being summarized.

", + "UpdatePlacementRequest$projectName": "

The name of the project containing the placement to be updated.

", + "UpdateProjectRequest$projectName": "

The name of the project to be updated.

" + } + }, + "ProjectSummary": { + "base": "

An object providing summary information for a particular project for an associated AWS account and region.

", + "refs": { + "ProjectSummaryList$member": null + } + }, + "ProjectSummaryList": { + "base": null, + "refs": { + "ListProjectsResponse$projects": "

An object containing the list of projects.

" + } + }, + "ResourceConflictException": { + "base": "

", + "refs": { + } + }, + "ResourceNotFoundException": { + "base": "

", + "refs": { + } + }, + "Time": { + "base": null, + "refs": { + "PlacementDescription$createdDate": "

The date when the placement was initially created, in UNIX epoch time format.

", + "PlacementDescription$updatedDate": "

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.

", + "PlacementSummary$createdDate": "

The date when the placement was originally created, in UNIX epoch time format.

", + "PlacementSummary$updatedDate": "

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.

", + "ProjectDescription$createdDate": "

The date when the project was originally created, in UNIX epoch time format.

", + "ProjectDescription$updatedDate": "

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.

", + "ProjectSummary$createdDate": "

The date when the project was originally created, in UNIX epoch time format.

", + "ProjectSummary$updatedDate": "

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.

" + } + }, + "TooManyRequestsException": { + "base": "

", + "refs": { + } + }, + "UpdatePlacementRequest": { + "base": null, + "refs": { + } + }, + "UpdatePlacementResponse": { + "base": null, + "refs": { + } + }, + "UpdateProjectRequest": { + "base": null, + "refs": { + } + }, + "UpdateProjectResponse": { + "base": null, + "refs": { + } + } + } +} diff --git a/models/apis/cloudfront/2016-09-29/examples-1.json b/models/apis/iot1click-projects/2018-05-14/examples-1.json similarity index 100% rename from models/apis/cloudfront/2016-09-29/examples-1.json rename to models/apis/iot1click-projects/2018-05-14/examples-1.json diff --git a/models/apis/iot1click-projects/2018-05-14/paginators-1.json b/models/apis/iot1click-projects/2018-05-14/paginators-1.json new file mode 100644 index 00000000000..5677bd8e4a2 --- /dev/null +++ b/models/apis/iot1click-projects/2018-05-14/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/models/apis/iotanalytics/2017-11-27/api-2.json b/models/apis/iotanalytics/2017-11-27/api-2.json new file mode 100644 index 00000000000..40c65fe369f --- /dev/null +++ b/models/apis/iotanalytics/2017-11-27/api-2.json @@ -0,0 +1,1785 @@ +{ + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "CreateDatasetContent":{ + "name":"CreateDatasetContent", + "http":{ + "method":"POST", + "requestUri":"/datasets/{datasetName}/content" + }, + "input":{"shape":"CreateDatasetContentRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "ListChannels":{ + "name":"ListChannels", + "http":{ + "method":"GET", + "requestUri":"/channels" + }, + "input":{"shape":"ListChannelsRequest"}, + "output":{"shape":"ListChannelsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListDatasets":{ + "name":"ListDatasets", + "http":{ + "method":"GET", + "requestUri":"/datasets" + }, + "input":{"shape":"ListDatasetsRequest"}, + "output":{"shape":"ListDatasetsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListDatastores":{ + "name":"ListDatastores", + "http":{ + "method":"GET", + "requestUri":"/datastores" + }, + "input":{"shape":"ListDatastoresRequest"}, + "output":{"shape":"ListDatastoresResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListPipelines":{ + "name":"ListPipelines", + "http":{ + "method":"GET", + "requestUri":"/pipelines" + }, + "input":{"shape":"ListPipelinesRequest"}, + "output":{"shape":"ListPipelinesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, + "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"} + ] + }, + "PutLoggingOptions":{ + "name":"PutLoggingOptions", + "http":{ + "method":"PUT", + "requestUri":"/logging" + }, + "input":{"shape":"PutLoggingOptionsRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, + "RunPipelineActivity":{ + "name":"RunPipelineActivity", + "http":{ + "method":"POST", + "requestUri":"/pipelineactivities/run" + }, + "input":{"shape":"RunPipelineActivityRequest"}, + "output":{"shape":"RunPipelineActivityResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "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"} + ] + }, + "UpdateChannel":{ + "name":"UpdateChannel", + "http":{ + "method":"PUT", + "requestUri":"/channels/{channelName}" + }, + "input":{"shape":"UpdateChannelRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, + "UpdateDataset":{ + "name":"UpdateDataset", + "http":{ + "method":"PUT", + "requestUri":"/datasets/{datasetName}" + }, + "input":{"shape":"UpdateDatasetRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, + "UpdateDatastore":{ + "name":"UpdateDatastore", + "http":{ + "method":"PUT", + "requestUri":"/datastores/{datastoreName}" + }, + "input":{"shape":"UpdateDatastoreRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, + "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"} + ] + } + }, + "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"}, + "attributes":{"shape":"AttributeNameMapping"}, + "next":{"shape":"ActivityName"} + } + }, + "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"}, + "errorCode":{"shape":"ErrorCode"}, + "errorMessage":{"shape":"ErrorMessage"} + } + }, + "BatchPutMessageRequest":{ + "type":"structure", + "required":[ + "channelName", + "messages" + ], + "members":{ + "channelName":{"shape":"ChannelName"}, + "messages":{"shape":"Messages"} + } + }, + "BatchPutMessageResponse":{ + "type":"structure", + "members":{ + "batchPutMessageErrorEntries":{"shape":"BatchPutMessageErrorEntries"} + } + }, + "CancelPipelineReprocessingRequest":{ + "type":"structure", + "required":[ + "pipelineName", + "reprocessingId" + ], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "location":"uri", + "locationName":"pipelineName" + }, + "reprocessingId":{ + "shape":"ReprocessingId", + "location":"uri", + "locationName":"reprocessingId" + } + } + }, + "CancelPipelineReprocessingResponse":{ + "type":"structure", + "members":{ + } + }, + "Channel":{ + "type":"structure", + "members":{ + "name":{"shape":"ChannelName"}, + "arn":{"shape":"ChannelArn"}, + "status":{"shape":"ChannelStatus"}, + "retentionPeriod":{"shape":"RetentionPeriod"}, + "creationTime":{"shape":"Timestamp"}, + "lastUpdateTime":{"shape":"Timestamp"} + } + }, + "ChannelActivity":{ + "type":"structure", + "required":[ + "name", + "channelName" + ], + "members":{ + "name":{"shape":"ActivityName"}, + "channelName":{"shape":"ChannelName"}, + "next":{"shape":"ActivityName"} + } + }, + "ChannelArn":{"type":"string"}, + "ChannelName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_]+$" + }, + "ChannelStatistics":{ + "type":"structure", + "members":{ + "size":{"shape":"EstimatedResourceSize"} + } + }, + "ChannelStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING" + ] + }, + "ChannelSummaries":{ + "type":"list", + "member":{"shape":"ChannelSummary"} + }, + "ChannelSummary":{ + "type":"structure", + "members":{ + "channelName":{"shape":"ChannelName"}, + "status":{"shape":"ChannelStatus"}, + "creationTime":{"shape":"Timestamp"}, + "lastUpdateTime":{"shape":"Timestamp"} + } + }, + "CreateChannelRequest":{ + "type":"structure", + "required":["channelName"], + "members":{ + "channelName":{"shape":"ChannelName"}, + "retentionPeriod":{"shape":"RetentionPeriod"}, + "tags":{"shape":"TagList"} + } + }, + "CreateChannelResponse":{ + "type":"structure", + "members":{ + "channelName":{"shape":"ChannelName"}, + "channelArn":{"shape":"ChannelArn"}, + "retentionPeriod":{"shape":"RetentionPeriod"} + } + }, + "CreateDatasetContentRequest":{ + "type":"structure", + "required":["datasetName"], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "location":"uri", + "locationName":"datasetName" + } + } + }, + "CreateDatasetRequest":{ + "type":"structure", + "required":[ + "datasetName", + "actions" + ], + "members":{ + "datasetName":{"shape":"DatasetName"}, + "actions":{"shape":"DatasetActions"}, + "triggers":{"shape":"DatasetTriggers"}, + "tags":{"shape":"TagList"} + } + }, + "CreateDatasetResponse":{ + "type":"structure", + "members":{ + "datasetName":{"shape":"DatasetName"}, + "datasetArn":{"shape":"DatasetArn"} + } + }, + "CreateDatastoreRequest":{ + "type":"structure", + "required":["datastoreName"], + "members":{ + "datastoreName":{"shape":"DatastoreName"}, + "retentionPeriod":{"shape":"RetentionPeriod"}, + "tags":{"shape":"TagList"} + } + }, + "CreateDatastoreResponse":{ + "type":"structure", + "members":{ + "datastoreName":{"shape":"DatastoreName"}, + "datastoreArn":{"shape":"DatastoreArn"}, + "retentionPeriod":{"shape":"RetentionPeriod"} + } + }, + "CreatePipelineRequest":{ + "type":"structure", + "required":[ + "pipelineName", + "pipelineActivities" + ], + "members":{ + "pipelineName":{"shape":"PipelineName"}, + "pipelineActivities":{"shape":"PipelineActivities"}, + "tags":{"shape":"TagList"} + } + }, + "CreatePipelineResponse":{ + "type":"structure", + "members":{ + "pipelineName":{"shape":"PipelineName"}, + "pipelineArn":{"shape":"PipelineArn"} + } + }, + "Dataset":{ + "type":"structure", + "members":{ + "name":{"shape":"DatasetName"}, + "arn":{"shape":"DatasetArn"}, + "actions":{"shape":"DatasetActions"}, + "triggers":{"shape":"DatasetTriggers"}, + "status":{"shape":"DatasetStatus"}, + "creationTime":{"shape":"Timestamp"}, + "lastUpdateTime":{"shape":"Timestamp"} + } + }, + "DatasetAction":{ + "type":"structure", + "members":{ + "actionName":{"shape":"DatasetActionName"}, + "queryAction":{"shape":"SqlQueryDatasetAction"} + } + }, + "DatasetActionName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_]+$" + }, + "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"}, + "reason":{"shape":"Reason"} + } + }, + "DatasetContentVersion":{"type":"string"}, + "DatasetEntries":{ + "type":"list", + "member":{"shape":"DatasetEntry"} + }, + "DatasetEntry":{ + "type":"structure", + "members":{ + "entryName":{"shape":"EntryName"}, + "dataURI":{"shape":"PresignedURI"} + } + }, + "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"}, + "status":{"shape":"DatasetStatus"}, + "creationTime":{"shape":"Timestamp"}, + "lastUpdateTime":{"shape":"Timestamp"} + } + }, + "DatasetTrigger":{ + "type":"structure", + "members":{ + "schedule":{"shape":"Schedule"} + } + }, + "DatasetTriggers":{ + "type":"list", + "member":{"shape":"DatasetTrigger"}, + "max":5, + "min":0 + }, + "Datastore":{ + "type":"structure", + "members":{ + "name":{"shape":"DatastoreName"}, + "arn":{"shape":"DatastoreArn"}, + "status":{"shape":"DatastoreStatus"}, + "retentionPeriod":{"shape":"RetentionPeriod"}, + "creationTime":{"shape":"Timestamp"}, + "lastUpdateTime":{"shape":"Timestamp"} + } + }, + "DatastoreActivity":{ + "type":"structure", + "required":[ + "name", + "datastoreName" + ], + "members":{ + "name":{"shape":"ActivityName"}, + "datastoreName":{"shape":"DatastoreName"} + } + }, + "DatastoreArn":{"type":"string"}, + "DatastoreName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_]+$" + }, + "DatastoreStatistics":{ + "type":"structure", + "members":{ + "size":{"shape":"EstimatedResourceSize"} + } + }, + "DatastoreStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING" + ] + }, + "DatastoreSummaries":{ + "type":"list", + "member":{"shape":"DatastoreSummary"} + }, + "DatastoreSummary":{ + "type":"structure", + "members":{ + "datastoreName":{"shape":"DatastoreName"}, + "status":{"shape":"DatastoreStatus"}, + "creationTime":{"shape":"Timestamp"}, + "lastUpdateTime":{"shape":"Timestamp"} + } + }, + "DeleteChannelRequest":{ + "type":"structure", + "required":["channelName"], + "members":{ + "channelName":{ + "shape":"ChannelName", + "location":"uri", + "locationName":"channelName" + } + } + }, + "DeleteDatasetContentRequest":{ + "type":"structure", + "required":["datasetName"], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "location":"uri", + "locationName":"datasetName" + }, + "versionId":{ + "shape":"DatasetContentVersion", + "location":"querystring", + "locationName":"versionId" + } + } + }, + "DeleteDatasetRequest":{ + "type":"structure", + "required":["datasetName"], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "location":"uri", + "locationName":"datasetName" + } + } + }, + "DeleteDatastoreRequest":{ + "type":"structure", + "required":["datastoreName"], + "members":{ + "datastoreName":{ + "shape":"DatastoreName", + "location":"uri", + "locationName":"datastoreName" + } + } + }, + "DeletePipelineRequest":{ + "type":"structure", + "required":["pipelineName"], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "location":"uri", + "locationName":"pipelineName" + } + } + }, + "DescribeChannelRequest":{ + "type":"structure", + "required":["channelName"], + "members":{ + "channelName":{ + "shape":"ChannelName", + "location":"uri", + "locationName":"channelName" + }, + "includeStatistics":{ + "shape":"IncludeStatisticsFlag", + "location":"querystring", + "locationName":"includeStatistics" + } + } + }, + "DescribeChannelResponse":{ + "type":"structure", + "members":{ + "channel":{"shape":"Channel"}, + "statistics":{"shape":"ChannelStatistics"} + } + }, + "DescribeDatasetRequest":{ + "type":"structure", + "required":["datasetName"], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "location":"uri", + "locationName":"datasetName" + } + } + }, + "DescribeDatasetResponse":{ + "type":"structure", + "members":{ + "dataset":{"shape":"Dataset"} + } + }, + "DescribeDatastoreRequest":{ + "type":"structure", + "required":["datastoreName"], + "members":{ + "datastoreName":{ + "shape":"DatastoreName", + "location":"uri", + "locationName":"datastoreName" + }, + "includeStatistics":{ + "shape":"IncludeStatisticsFlag", + "location":"querystring", + "locationName":"includeStatistics" + } + } + }, + "DescribeDatastoreResponse":{ + "type":"structure", + "members":{ + "datastore":{"shape":"Datastore"}, + "statistics":{"shape":"DatastoreStatistics"} + } + }, + "DescribeLoggingOptionsRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeLoggingOptionsResponse":{ + "type":"structure", + "members":{ + "loggingOptions":{"shape":"LoggingOptions"} + } + }, + "DescribePipelineRequest":{ + "type":"structure", + "required":["pipelineName"], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "location":"uri", + "locationName":"pipelineName" + } + } + }, + "DescribePipelineResponse":{ + "type":"structure", + "members":{ + "pipeline":{"shape":"Pipeline"} + } + }, + "DeviceRegistryEnrichActivity":{ + "type":"structure", + "required":[ + "name", + "attribute", + "thingName", + "roleArn" + ], + "members":{ + "name":{"shape":"ActivityName"}, + "attribute":{"shape":"AttributeName"}, + "thingName":{"shape":"AttributeName"}, + "roleArn":{"shape":"RoleArn"}, + "next":{"shape":"ActivityName"} + } + }, + "DeviceShadowEnrichActivity":{ + "type":"structure", + "required":[ + "name", + "attribute", + "thingName", + "roleArn" + ], + "members":{ + "name":{"shape":"ActivityName"}, + "attribute":{"shape":"AttributeName"}, + "thingName":{"shape":"AttributeName"}, + "roleArn":{"shape":"RoleArn"}, + "next":{"shape":"ActivityName"} + } + }, + "EndTime":{"type":"timestamp"}, + "EntryName":{"type":"string"}, + "ErrorCode":{"type":"string"}, + "ErrorMessage":{"type":"string"}, + "EstimatedResourceSize":{ + "type":"structure", + "members":{ + "estimatedSizeInBytes":{"shape":"SizeInBytes"}, + "estimatedOn":{"shape":"Timestamp"} + } + }, + "FilterActivity":{ + "type":"structure", + "required":[ + "name", + "filter" + ], + "members":{ + "name":{"shape":"ActivityName"}, + "filter":{"shape":"FilterExpression"}, + "next":{"shape":"ActivityName"} + } + }, + "FilterExpression":{ + "type":"string", + "max":256, + "min":1 + }, + "GetDatasetContentRequest":{ + "type":"structure", + "required":["datasetName"], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "location":"uri", + "locationName":"datasetName" + }, + "versionId":{ + "shape":"DatasetContentVersion", + "location":"querystring", + "locationName":"versionId" + } + } + }, + "GetDatasetContentResponse":{ + "type":"structure", + "members":{ + "entries":{"shape":"DatasetEntries"}, + "timestamp":{"shape":"Timestamp"}, + "status":{"shape":"DatasetContentStatus"} + } + }, + "IncludeStatisticsFlag":{"type":"boolean"}, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "LambdaActivity":{ + "type":"structure", + "required":[ + "name", + "lambdaName", + "batchSize" + ], + "members":{ + "name":{"shape":"ActivityName"}, + "lambdaName":{"shape":"LambdaName"}, + "batchSize":{"shape":"ActivityBatchSize"}, + "next":{"shape":"ActivityName"} + } + }, + "LambdaName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":410}, + "exception":true + }, + "ListChannelsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListChannelsResponse":{ + "type":"structure", + "members":{ + "channelSummaries":{"shape":"ChannelSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListDatasetsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDatasetsResponse":{ + "type":"structure", + "members":{ + "datasetSummaries":{"shape":"DatasetSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListDatastoresRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDatastoresResponse":{ + "type":"structure", + "members":{ + "datastoreSummaries":{"shape":"DatastoreSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListPipelinesRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPipelinesResponse":{ + "type":"structure", + "members":{ + "pipelineSummaries":{"shape":"PipelineSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "location":"querystring", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"TagList"} + } + }, + "LogResult":{"type":"string"}, + "LoggingEnabled":{"type":"boolean"}, + "LoggingLevel":{ + "type":"string", + "enum":["ERROR"] + }, + "LoggingOptions":{ + "type":"structure", + "required":[ + "roleArn", + "level", + "enabled" + ], + "members":{ + "roleArn":{"shape":"RoleArn"}, + "level":{"shape":"LoggingLevel"}, + "enabled":{"shape":"LoggingEnabled"} + } + }, + "MathActivity":{ + "type":"structure", + "required":[ + "name", + "attribute", + "math" + ], + "members":{ + "name":{"shape":"ActivityName"}, + "attribute":{"shape":"AttributeName"}, + "math":{"shape":"MathExpression"}, + "next":{"shape":"ActivityName"} + } + }, + "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"}, + "payload":{"shape":"MessagePayload"} + } + }, + "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"}, + "Pipeline":{ + "type":"structure", + "members":{ + "name":{"shape":"PipelineName"}, + "arn":{"shape":"PipelineArn"}, + "activities":{"shape":"PipelineActivities"}, + "reprocessingSummaries":{"shape":"ReprocessingSummaries"}, + "creationTime":{"shape":"Timestamp"}, + "lastUpdateTime":{"shape":"Timestamp"} + } + }, + "PipelineActivities":{ + "type":"list", + "member":{"shape":"PipelineActivity"}, + "max":25, + "min":1 + }, + "PipelineActivity":{ + "type":"structure", + "members":{ + "channel":{"shape":"ChannelActivity"}, + "lambda":{"shape":"LambdaActivity"}, + "datastore":{"shape":"DatastoreActivity"}, + "addAttributes":{"shape":"AddAttributesActivity"}, + "removeAttributes":{"shape":"RemoveAttributesActivity"}, + "selectAttributes":{"shape":"SelectAttributesActivity"}, + "filter":{"shape":"FilterActivity"}, + "math":{"shape":"MathActivity"}, + "deviceRegistryEnrich":{"shape":"DeviceRegistryEnrichActivity"}, + "deviceShadowEnrich":{"shape":"DeviceShadowEnrichActivity"} + } + }, + "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"}, + "reprocessingSummaries":{"shape":"ReprocessingSummaries"}, + "creationTime":{"shape":"Timestamp"}, + "lastUpdateTime":{"shape":"Timestamp"} + } + }, + "PresignedURI":{"type":"string"}, + "PutLoggingOptionsRequest":{ + "type":"structure", + "required":["loggingOptions"], + "members":{ + "loggingOptions":{"shape":"LoggingOptions"} + } + }, + "Reason":{"type":"string"}, + "RemoveAttributesActivity":{ + "type":"structure", + "required":[ + "name", + "attributes" + ], + "members":{ + "name":{"shape":"ActivityName"}, + "attributes":{"shape":"AttributeNames"}, + "next":{"shape":"ActivityName"} + } + }, + "ReprocessingId":{"type":"string"}, + "ReprocessingStatus":{ + "type":"string", + "enum":[ + "RUNNING", + "SUCCEEDED", + "CANCELLED", + "FAILED" + ] + }, + "ReprocessingSummaries":{ + "type":"list", + "member":{"shape":"ReprocessingSummary"} + }, + "ReprocessingSummary":{ + "type":"structure", + "members":{ + "id":{"shape":"ReprocessingId"}, + "status":{"shape":"ReprocessingStatus"}, + "creationTime":{"shape":"Timestamp"} + } + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"}, + "resourceId":{"shape":"resourceId"}, + "resourceArn":{"shape":"resourceArn"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceArn":{ + "type":"string", + "max":2048, + "min":20 + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "RetentionPeriod":{ + "type":"structure", + "members":{ + "unlimited":{"shape":"UnlimitedRetentionPeriod"}, + "numberOfDays":{"shape":"RetentionPeriodInDays"} + } + }, + "RetentionPeriodInDays":{ + "type":"integer", + "min":1 + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20 + }, + "RunPipelineActivityRequest":{ + "type":"structure", + "required":[ + "pipelineActivity", + "payloads" + ], + "members":{ + "pipelineActivity":{"shape":"PipelineActivity"}, + "payloads":{"shape":"MessagePayloads"} + } + }, + "RunPipelineActivityResponse":{ + "type":"structure", + "members":{ + "payloads":{"shape":"MessagePayloads"}, + "logResult":{"shape":"LogResult"} + } + }, + "SampleChannelDataRequest":{ + "type":"structure", + "required":["channelName"], + "members":{ + "channelName":{ + "shape":"ChannelName", + "location":"uri", + "locationName":"channelName" + }, + "maxMessages":{ + "shape":"MaxMessages", + "location":"querystring", + "locationName":"maxMessages" + }, + "startTime":{ + "shape":"StartTime", + "location":"querystring", + "locationName":"startTime" + }, + "endTime":{ + "shape":"EndTime", + "location":"querystring", + "locationName":"endTime" + } + } + }, + "SampleChannelDataResponse":{ + "type":"structure", + "members":{ + "payloads":{"shape":"MessagePayloads"} + } + }, + "Schedule":{ + "type":"structure", + "members":{ + "expression":{"shape":"ScheduleExpression"} + } + }, + "ScheduleExpression":{"type":"string"}, + "SelectAttributesActivity":{ + "type":"structure", + "required":[ + "name", + "attributes" + ], + "members":{ + "name":{"shape":"ActivityName"}, + "attributes":{"shape":"AttributeNames"}, + "next":{"shape":"ActivityName"} + } + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "SizeInBytes":{"type":"double"}, + "SqlQuery":{"type":"string"}, + "SqlQueryDatasetAction":{ + "type":"structure", + "required":["sqlQuery"], + "members":{ + "sqlQuery":{"shape":"SqlQuery"} + } + }, + "StartPipelineReprocessingRequest":{ + "type":"structure", + "required":["pipelineName"], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "location":"uri", + "locationName":"pipelineName" + }, + "startTime":{"shape":"StartTime"}, + "endTime":{"shape":"EndTime"} + } + }, + "StartPipelineReprocessingResponse":{ + "type":"structure", + "members":{ + "reprocessingId":{"shape":"ReprocessingId"} + } + }, + "StartTime":{"type":"timestamp"}, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + } + }, + "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", + "location":"querystring", + "locationName":"resourceArn" + }, + "tags":{"shape":"TagList"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1 + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":429}, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "UnlimitedRetentionPeriod":{"type":"boolean"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "location":"querystring", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateChannelRequest":{ + "type":"structure", + "required":["channelName"], + "members":{ + "channelName":{ + "shape":"ChannelName", + "location":"uri", + "locationName":"channelName" + }, + "retentionPeriod":{"shape":"RetentionPeriod"} + } + }, + "UpdateDatasetRequest":{ + "type":"structure", + "required":[ + "datasetName", + "actions" + ], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "location":"uri", + "locationName":"datasetName" + }, + "actions":{"shape":"DatasetActions"}, + "triggers":{"shape":"DatasetTriggers"} + } + }, + "UpdateDatastoreRequest":{ + "type":"structure", + "required":["datastoreName"], + "members":{ + "datastoreName":{ + "shape":"DatastoreName", + "location":"uri", + "locationName":"datastoreName" + }, + "retentionPeriod":{"shape":"RetentionPeriod"} + } + }, + "UpdatePipelineRequest":{ + "type":"structure", + "required":[ + "pipelineName", + "pipelineActivities" + ], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "location":"uri", + "locationName":"pipelineName" + }, + "pipelineActivities":{"shape":"PipelineActivities"} + } + }, + "errorMessage":{"type":"string"}, + "resourceArn":{"type":"string"}, + "resourceId":{"type":"string"} + } +} diff --git a/models/apis/iotanalytics/2017-11-27/docs-2.json b/models/apis/iotanalytics/2017-11-27/docs-2.json new file mode 100644 index 00000000000..bf7547165e5 --- /dev/null +++ b/models/apis/iotanalytics/2017-11-27/docs-2.json @@ -0,0 +1,1094 @@ +{ + "version": "2.0", + "service": "

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.

", + "operations": { + "BatchPutMessage": "

Sends messages to a channel.

", + "CancelPipelineReprocessing": "

Cancels the reprocessing of data through the pipeline.

", + "CreateChannel": "

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": "

Creates a data set. A data set stores data retrieved from a data store by applying an SQL action.

This operation creates the skeleton of a data set. To populate the data set, call \"CreateDatasetContent\".

", + "CreateDatasetContent": "

Creates the content of a data set by applying an SQL action.

", + "CreateDatastore": "

Creates a data store, which is a repository for messages.

", + "CreatePipeline": "

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": "

Deletes the specified channel.

", + "DeleteDataset": "

Deletes the specified data set.

You do not have to delete the content of the data set before you perform this operation.

", + "DeleteDatasetContent": "

Deletes the content of the specified data set.

", + "DeleteDatastore": "

Deletes the specified data store.

", + "DeletePipeline": "

Deletes the specified pipeline.

", + "DescribeChannel": "

Retrieves information about a channel.

", + "DescribeDataset": "

Retrieves information about a data set.

", + "DescribeDatastore": "

Retrieves information about a data store.

", + "DescribeLoggingOptions": "

Retrieves the current settings of the AWS IoT Analytics logging options.

", + "DescribePipeline": "

Retrieves information about a pipeline.

", + "GetDatasetContent": "

Retrieves the contents of a data set as pre-signed URIs.

", + "ListChannels": "

Retrieves a list of channels.

", + "ListDatasets": "

Retrieves information about data sets.

", + "ListDatastores": "

Retrieves a list of data stores.

", + "ListPipelines": "

Retrieves a list of pipelines.

", + "ListTagsForResource": "

Lists the tags (metadata) which you have assigned to the resource.

", + "PutLoggingOptions": "

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": "

Simulates the results of running a pipeline activity on a message payload.

", + "SampleChannelData": "

Retrieves a sample of messages from the specified channel ingested during the specified timeframe. Up to 10 messages can be retrieved.

", + "StartPipelineReprocessing": "

Starts the reprocessing of raw message data through the pipeline.

", + "TagResource": "

Adds to or modifies the tags of the given resource. Tags are metadata which can be used to manage a resource.

", + "UntagResource": "

Removes the given tags (metadata) from the resource.

", + "UpdateChannel": "

Updates the settings of a channel.

", + "UpdateDataset": "

Updates the settings of a data set.

", + "UpdateDatastore": "

Updates the settings of a data store.

", + "UpdatePipeline": "

Updates the settings of a pipeline.

" + }, + "shapes": { + "ActivityBatchSize": { + "base": null, + "refs": { + "LambdaActivity$batchSize": "

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.

" + } + }, + "ActivityName": { + "base": null, + "refs": { + "AddAttributesActivity$name": "

The name of the 'addAttributes' activity.

", + "AddAttributesActivity$next": "

The next activity in the pipeline.

", + "ChannelActivity$name": "

The name of the 'channel' activity.

", + "ChannelActivity$next": "

The next activity in the pipeline.

", + "DatastoreActivity$name": "

The name of the 'datastore' activity.

", + "DeviceRegistryEnrichActivity$name": "

The name of the 'deviceRegistryEnrich' activity.

", + "DeviceRegistryEnrichActivity$next": "

The next activity in the pipeline.

", + "DeviceShadowEnrichActivity$name": "

The name of the 'deviceShadowEnrich' activity.

", + "DeviceShadowEnrichActivity$next": "

The next activity in the pipeline.

", + "FilterActivity$name": "

The name of the 'filter' activity.

", + "FilterActivity$next": "

The next activity in the pipeline.

", + "LambdaActivity$name": "

The name of the 'lambda' activity.

", + "LambdaActivity$next": "

The next activity in the pipeline.

", + "MathActivity$name": "

The name of the 'math' activity.

", + "MathActivity$next": "

The next activity in the pipeline.

", + "RemoveAttributesActivity$name": "

The name of the 'removeAttributes' activity.

", + "RemoveAttributesActivity$next": "

The next activity in the pipeline.

", + "SelectAttributesActivity$name": "

The name of the 'selectAttributes' activity.

", + "SelectAttributesActivity$next": "

The next activity in the pipeline.

" + } + }, + "AddAttributesActivity": { + "base": "

An activity that adds other attributes based on existing attributes in the message.

", + "refs": { + "PipelineActivity$addAttributes": "

Adds other attributes based on existing attributes in the message.

" + } + }, + "AttributeName": { + "base": null, + "refs": { + "AttributeNameMapping$key": null, + "AttributeNameMapping$value": null, + "AttributeNames$member": null, + "DeviceRegistryEnrichActivity$attribute": "

The name of the attribute that is added to the message.

", + "DeviceRegistryEnrichActivity$thingName": "

The name of the IoT device whose registry information is added to the message.

", + "DeviceShadowEnrichActivity$attribute": "

The name of the attribute that is added to the message.

", + "DeviceShadowEnrichActivity$thingName": "

The name of the IoT device whose shadow information is added to the message.

", + "MathActivity$attribute": "

The name of the attribute that will contain the result of the math operation.

" + } + }, + "AttributeNameMapping": { + "base": null, + "refs": { + "AddAttributesActivity$attributes": "

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\".

" + } + }, + "AttributeNames": { + "base": null, + "refs": { + "RemoveAttributesActivity$attributes": "

A list of 1-50 attributes to remove from the message.

", + "SelectAttributesActivity$attributes": "

A list of the attributes to select from the message.

" + } + }, + "BatchPutMessageErrorEntries": { + "base": null, + "refs": { + "BatchPutMessageResponse$batchPutMessageErrorEntries": "

A list of any errors encountered when sending the messages to the channel.

" + } + }, + "BatchPutMessageErrorEntry": { + "base": "

Contains informations about errors.

", + "refs": { + "BatchPutMessageErrorEntries$member": null + } + }, + "BatchPutMessageRequest": { + "base": null, + "refs": { + } + }, + "BatchPutMessageResponse": { + "base": null, + "refs": { + } + }, + "CancelPipelineReprocessingRequest": { + "base": null, + "refs": { + } + }, + "CancelPipelineReprocessingResponse": { + "base": null, + "refs": { + } + }, + "Channel": { + "base": "

A collection of data from an MQTT topic. Channels archive the raw, unprocessed messages before publishing the data to a pipeline.

", + "refs": { + "DescribeChannelResponse$channel": "

An object that contains information about the channel.

" + } + }, + "ChannelActivity": { + "base": "

The activity that determines the source of the messages to be processed.

", + "refs": { + "PipelineActivity$channel": "

Determines the source of the messages to be processed.

" + } + }, + "ChannelArn": { + "base": null, + "refs": { + "Channel$arn": "

The ARN of the channel.

", + "CreateChannelResponse$channelArn": "

The ARN of the channel.

" + } + }, + "ChannelName": { + "base": null, + "refs": { + "BatchPutMessageRequest$channelName": "

The name of the channel where the messages are sent.

", + "Channel$name": "

The name of the channel.

", + "ChannelActivity$channelName": "

The name of the channel from which the messages are processed.

", + "ChannelSummary$channelName": "

The name of the channel.

", + "CreateChannelRequest$channelName": "

The name of the channel.

", + "CreateChannelResponse$channelName": "

The name of the channel.

", + "DeleteChannelRequest$channelName": "

The name of the channel to delete.

", + "DescribeChannelRequest$channelName": "

The name of the channel whose information is retrieved.

", + "SampleChannelDataRequest$channelName": "

The name of the channel whose message samples are retrieved.

", + "UpdateChannelRequest$channelName": "

The name of the channel to be updated.

" + } + }, + "ChannelStatistics": { + "base": "

Statistics information about the channel.

", + "refs": { + "DescribeChannelResponse$statistics": "

Statistics about the channel. Included if the 'includeStatistics' parameter is set to true in the request.

" + } + }, + "ChannelStatus": { + "base": null, + "refs": { + "Channel$status": "

The status of the channel.

", + "ChannelSummary$status": "

The status of the channel.

" + } + }, + "ChannelSummaries": { + "base": null, + "refs": { + "ListChannelsResponse$channelSummaries": "

A list of \"ChannelSummary\" objects.

" + } + }, + "ChannelSummary": { + "base": "

A summary of information about a channel.

", + "refs": { + "ChannelSummaries$member": null + } + }, + "CreateChannelRequest": { + "base": null, + "refs": { + } + }, + "CreateChannelResponse": { + "base": null, + "refs": { + } + }, + "CreateDatasetContentRequest": { + "base": null, + "refs": { + } + }, + "CreateDatasetRequest": { + "base": null, + "refs": { + } + }, + "CreateDatasetResponse": { + "base": null, + "refs": { + } + }, + "CreateDatastoreRequest": { + "base": null, + "refs": { + } + }, + "CreateDatastoreResponse": { + "base": null, + "refs": { + } + }, + "CreatePipelineRequest": { + "base": null, + "refs": { + } + }, + "CreatePipelineResponse": { + "base": null, + "refs": { + } + }, + "Dataset": { + "base": "

Information about a data set.

", + "refs": { + "DescribeDatasetResponse$dataset": "

An object that contains information about the data set.

" + } + }, + "DatasetAction": { + "base": "

A \"DatasetAction\" object specifying the query that creates the data set content.

", + "refs": { + "DatasetActions$member": null + } + }, + "DatasetActionName": { + "base": null, + "refs": { + "DatasetAction$actionName": "

The name of the data set action.

" + } + }, + "DatasetActions": { + "base": null, + "refs": { + "CreateDatasetRequest$actions": "

A list of actions that create the data set. Only one action is supported at this time.

", + "Dataset$actions": "

The \"DatasetAction\" objects that create the data set.

", + "UpdateDatasetRequest$actions": "

A list of \"DatasetAction\" objects. Only one action is supported at this time.

" + } + }, + "DatasetArn": { + "base": null, + "refs": { + "CreateDatasetResponse$datasetArn": "

The ARN of the data set.

", + "Dataset$arn": "

The ARN of the data set.

" + } + }, + "DatasetContentState": { + "base": null, + "refs": { + "DatasetContentStatus$state": "

The state of the data set. Can be one of \"CREATING\", \"SUCCEEDED\" or \"FAILED\".

" + } + }, + "DatasetContentStatus": { + "base": "

The state of the data set and the reason it is in this state.

", + "refs": { + "GetDatasetContentResponse$status": "

The status of the data set content.

" + } + }, + "DatasetContentVersion": { + "base": null, + "refs": { + "DeleteDatasetContentRequest$versionId": "

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.

", + "GetDatasetContentRequest$versionId": "

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.

" + } + }, + "DatasetEntries": { + "base": null, + "refs": { + "GetDatasetContentResponse$entries": "

A list of \"DatasetEntry\" objects.

" + } + }, + "DatasetEntry": { + "base": "

The reference to a data set entry.

", + "refs": { + "DatasetEntries$member": null + } + }, + "DatasetName": { + "base": null, + "refs": { + "CreateDatasetContentRequest$datasetName": "

The name of the data set.

", + "CreateDatasetRequest$datasetName": "

The name of the data set.

", + "CreateDatasetResponse$datasetName": "

The name of the data set.

", + "Dataset$name": "

The name of the data set.

", + "DatasetSummary$datasetName": "

The name of the data set.

", + "DeleteDatasetContentRequest$datasetName": "

The name of the data set whose content is deleted.

", + "DeleteDatasetRequest$datasetName": "

The name of the data set to delete.

", + "DescribeDatasetRequest$datasetName": "

The name of the data set whose information is retrieved.

", + "GetDatasetContentRequest$datasetName": "

The name of the data set whose contents are retrieved.

", + "UpdateDatasetRequest$datasetName": "

The name of the data set to update.

" + } + }, + "DatasetStatus": { + "base": null, + "refs": { + "Dataset$status": "

The status of the data set.

", + "DatasetSummary$status": "

The status of the data set.

" + } + }, + "DatasetSummaries": { + "base": null, + "refs": { + "ListDatasetsResponse$datasetSummaries": "

A list of \"DatasetSummary\" objects.

" + } + }, + "DatasetSummary": { + "base": "

A summary of information about a data set.

", + "refs": { + "DatasetSummaries$member": null + } + }, + "DatasetTrigger": { + "base": "

The \"DatasetTrigger\" that specifies when the data set is automatically updated.

", + "refs": { + "DatasetTriggers$member": null + } + }, + "DatasetTriggers": { + "base": null, + "refs": { + "CreateDatasetRequest$triggers": "

A list of triggers. A trigger causes data set content to be populated at a specified time or time interval. The list of triggers can be empty or contain up to five DataSetTrigger objects.

", + "Dataset$triggers": "

The \"DatasetTrigger\" objects that specify when the data set is automatically updated.

", + "UpdateDatasetRequest$triggers": "

A list of \"DatasetTrigger\" objects. The list can be empty or can contain up to five DataSetTrigger objects.

" + } + }, + "Datastore": { + "base": "

Information about a data store.

", + "refs": { + "DescribeDatastoreResponse$datastore": "

Information about the data store.

" + } + }, + "DatastoreActivity": { + "base": "

The 'datastore' activity that specifies where to store the processed data.

", + "refs": { + "PipelineActivity$datastore": "

Specifies where to store the processed message data.

" + } + }, + "DatastoreArn": { + "base": null, + "refs": { + "CreateDatastoreResponse$datastoreArn": "

The ARN of the data store.

", + "Datastore$arn": "

The ARN of the data store.

" + } + }, + "DatastoreName": { + "base": null, + "refs": { + "CreateDatastoreRequest$datastoreName": "

The name of the data store.

", + "CreateDatastoreResponse$datastoreName": "

The name of the data store.

", + "Datastore$name": "

The name of the data store.

", + "DatastoreActivity$datastoreName": "

The name of the data store where processed messages are stored.

", + "DatastoreSummary$datastoreName": "

The name of the data store.

", + "DeleteDatastoreRequest$datastoreName": "

The name of the data store to delete.

", + "DescribeDatastoreRequest$datastoreName": "

The name of the data store

", + "UpdateDatastoreRequest$datastoreName": "

The name of the data store to be updated.

" + } + }, + "DatastoreStatistics": { + "base": "

Statistics information about the data store.

", + "refs": { + "DescribeDatastoreResponse$statistics": "

Statistics about the data store. Included if the 'includeStatistics' parameter is set to true in the request.

" + } + }, + "DatastoreStatus": { + "base": null, + "refs": { + "Datastore$status": "

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.

", + "DatastoreSummary$status": "

The status of the data store.

" + } + }, + "DatastoreSummaries": { + "base": null, + "refs": { + "ListDatastoresResponse$datastoreSummaries": "

A list of \"DatastoreSummary\" objects.

" + } + }, + "DatastoreSummary": { + "base": "

A summary of information about a data store.

", + "refs": { + "DatastoreSummaries$member": null + } + }, + "DeleteChannelRequest": { + "base": null, + "refs": { + } + }, + "DeleteDatasetContentRequest": { + "base": null, + "refs": { + } + }, + "DeleteDatasetRequest": { + "base": null, + "refs": { + } + }, + "DeleteDatastoreRequest": { + "base": null, + "refs": { + } + }, + "DeletePipelineRequest": { + "base": null, + "refs": { + } + }, + "DescribeChannelRequest": { + "base": null, + "refs": { + } + }, + "DescribeChannelResponse": { + "base": null, + "refs": { + } + }, + "DescribeDatasetRequest": { + "base": null, + "refs": { + } + }, + "DescribeDatasetResponse": { + "base": null, + "refs": { + } + }, + "DescribeDatastoreRequest": { + "base": null, + "refs": { + } + }, + "DescribeDatastoreResponse": { + "base": null, + "refs": { + } + }, + "DescribeLoggingOptionsRequest": { + "base": null, + "refs": { + } + }, + "DescribeLoggingOptionsResponse": { + "base": null, + "refs": { + } + }, + "DescribePipelineRequest": { + "base": null, + "refs": { + } + }, + "DescribePipelineResponse": { + "base": null, + "refs": { + } + }, + "DeviceRegistryEnrichActivity": { + "base": "

An activity that adds data from the AWS IoT device registry to your message.

", + "refs": { + "PipelineActivity$deviceRegistryEnrich": "

Adds data from the AWS IoT device registry to your message.

" + } + }, + "DeviceShadowEnrichActivity": { + "base": "

An activity that adds information from the AWS IoT Device Shadows service to a message.

", + "refs": { + "PipelineActivity$deviceShadowEnrich": "

Adds information from the AWS IoT Device Shadows service to a message.

" + } + }, + "EndTime": { + "base": null, + "refs": { + "SampleChannelDataRequest$endTime": "

The end of the time window from which sample messages are retrieved.

", + "StartPipelineReprocessingRequest$endTime": "

The end time (exclusive) of raw message data that is reprocessed.

" + } + }, + "EntryName": { + "base": null, + "refs": { + "DatasetEntry$entryName": "

The name of the data set item.

" + } + }, + "ErrorCode": { + "base": null, + "refs": { + "BatchPutMessageErrorEntry$errorCode": "

The code associated with the error.

" + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "BatchPutMessageErrorEntry$errorMessage": "

The message associated with the error.

" + } + }, + "EstimatedResourceSize": { + "base": "

The estimated size of the resource.

", + "refs": { + "ChannelStatistics$size": "

The estimated size of the channel.

", + "DatastoreStatistics$size": "

The estimated size of the data store.

" + } + }, + "FilterActivity": { + "base": "

An activity that filters a message based on its attributes.

", + "refs": { + "PipelineActivity$filter": "

Filters a message based on its attributes.

" + } + }, + "FilterExpression": { + "base": null, + "refs": { + "FilterActivity$filter": "

An expression that looks like an SQL WHERE clause that must return a Boolean value.

" + } + }, + "GetDatasetContentRequest": { + "base": null, + "refs": { + } + }, + "GetDatasetContentResponse": { + "base": null, + "refs": { + } + }, + "IncludeStatisticsFlag": { + "base": null, + "refs": { + "DescribeChannelRequest$includeStatistics": "

If true, include statistics about the channel in the response.

", + "DescribeDatastoreRequest$includeStatistics": "

If true, include statistics about the data store in the response.

" + } + }, + "InternalFailureException": { + "base": "

There was an internal failure.

", + "refs": { + } + }, + "InvalidRequestException": { + "base": "

The request was not valid.

", + "refs": { + } + }, + "LambdaActivity": { + "base": "

An activity that runs a Lambda function to modify the message.

", + "refs": { + "PipelineActivity$lambda": "

Runs a Lambda function to modify the message.

" + } + }, + "LambdaName": { + "base": null, + "refs": { + "LambdaActivity$lambdaName": "

The name of the Lambda function that is run on the message.

" + } + }, + "LimitExceededException": { + "base": "

The command caused an internal limit to be exceeded.

", + "refs": { + } + }, + "ListChannelsRequest": { + "base": null, + "refs": { + } + }, + "ListChannelsResponse": { + "base": null, + "refs": { + } + }, + "ListDatasetsRequest": { + "base": null, + "refs": { + } + }, + "ListDatasetsResponse": { + "base": null, + "refs": { + } + }, + "ListDatastoresRequest": { + "base": null, + "refs": { + } + }, + "ListDatastoresResponse": { + "base": null, + "refs": { + } + }, + "ListPipelinesRequest": { + "base": null, + "refs": { + } + }, + "ListPipelinesResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "LogResult": { + "base": null, + "refs": { + "RunPipelineActivityResponse$logResult": "

In case the pipeline activity fails, the log message that is generated.

" + } + }, + "LoggingEnabled": { + "base": null, + "refs": { + "LoggingOptions$enabled": "

If true, logging is enabled for AWS IoT Analytics.

" + } + }, + "LoggingLevel": { + "base": null, + "refs": { + "LoggingOptions$level": "

The logging level. Currently, only \"ERROR\" is supported.

" + } + }, + "LoggingOptions": { + "base": "

Information about logging options.

", + "refs": { + "DescribeLoggingOptionsResponse$loggingOptions": "

The current settings of the AWS IoT Analytics logging options.

", + "PutLoggingOptionsRequest$loggingOptions": "

The new values of the AWS IoT Analytics logging options.

" + } + }, + "MathActivity": { + "base": "

An activity that computes an arithmetic expression using the message's attributes.

", + "refs": { + "PipelineActivity$math": "

Computes an arithmetic expression using the message's attributes and adds it to the message.

" + } + }, + "MathExpression": { + "base": null, + "refs": { + "MathActivity$math": "

An expression that uses one or more existing attributes and must return an integer value.

" + } + }, + "MaxMessages": { + "base": null, + "refs": { + "SampleChannelDataRequest$maxMessages": "

The number of sample messages to be retrieved. The limit is 10, the default is also 10.

" + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListChannelsRequest$maxResults": "

The maximum number of results to return in this request.

The default value is 100.

", + "ListDatasetsRequest$maxResults": "

The maximum number of results to return in this request.

The default value is 100.

", + "ListDatastoresRequest$maxResults": "

The maximum number of results to return in this request.

The default value is 100.

", + "ListPipelinesRequest$maxResults": "

The maximum number of results to return in this request.

The default value is 100.

" + } + }, + "Message": { + "base": "

Information about a message.

", + "refs": { + "Messages$member": null + } + }, + "MessageId": { + "base": null, + "refs": { + "BatchPutMessageErrorEntry$messageId": "

The ID of the message that caused the error. (See the value corresponding to the \"messageId\" key in the message object.)

", + "Message$messageId": "

The ID you wish to assign to the message. Each \"messageId\" must be unique within each batch sent.

" + } + }, + "MessagePayload": { + "base": null, + "refs": { + "Message$payload": "

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).

", + "MessagePayloads$member": null + } + }, + "MessagePayloads": { + "base": null, + "refs": { + "RunPipelineActivityRequest$payloads": "

The sample message payloads on which the pipeline activity is run.

", + "RunPipelineActivityResponse$payloads": "

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.)

", + "SampleChannelDataResponse$payloads": "

The list of message samples. Each sample message is returned as a base64-encoded string.

" + } + }, + "Messages": { + "base": null, + "refs": { + "BatchPutMessageRequest$messages": "

The list of messages to be sent. Each message has format: '{ \"messageId\": \"string\", \"payload\": \"string\"}'.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "ListChannelsRequest$nextToken": "

The token for the next set of results.

", + "ListChannelsResponse$nextToken": "

The token to retrieve the next set of results, or null if there are no more results.

", + "ListDatasetsRequest$nextToken": "

The token for the next set of results.

", + "ListDatasetsResponse$nextToken": "

The token to retrieve the next set of results, or null if there are no more results.

", + "ListDatastoresRequest$nextToken": "

The token for the next set of results.

", + "ListDatastoresResponse$nextToken": "

The token to retrieve the next set of results, or null if there are no more results.

", + "ListPipelinesRequest$nextToken": "

The token for the next set of results.

", + "ListPipelinesResponse$nextToken": "

The token to retrieve the next set of results, or null if there are no more results.

" + } + }, + "Pipeline": { + "base": "

Contains information about a pipeline.

", + "refs": { + "DescribePipelineResponse$pipeline": "

A \"Pipeline\" object that contains information about the pipeline.

" + } + }, + "PipelineActivities": { + "base": null, + "refs": { + "CreatePipelineRequest$pipelineActivities": "

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.

", + "Pipeline$activities": "

The activities that perform transformations on the messages.

", + "UpdatePipelineRequest$pipelineActivities": "

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.

" + } + }, + "PipelineActivity": { + "base": "

An activity that performs a transformation on a message.

", + "refs": { + "PipelineActivities$member": null, + "RunPipelineActivityRequest$pipelineActivity": "

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.

" + } + }, + "PipelineArn": { + "base": null, + "refs": { + "CreatePipelineResponse$pipelineArn": "

The ARN of the pipeline.

", + "Pipeline$arn": "

The ARN of the pipeline.

" + } + }, + "PipelineName": { + "base": null, + "refs": { + "CancelPipelineReprocessingRequest$pipelineName": "

The name of pipeline for which data reprocessing is canceled.

", + "CreatePipelineRequest$pipelineName": "

The name of the pipeline.

", + "CreatePipelineResponse$pipelineName": "

The name of the pipeline.

", + "DeletePipelineRequest$pipelineName": "

The name of the pipeline to delete.

", + "DescribePipelineRequest$pipelineName": "

The name of the pipeline whose information is retrieved.

", + "Pipeline$name": "

The name of the pipeline.

", + "PipelineSummary$pipelineName": "

The name of the pipeline.

", + "StartPipelineReprocessingRequest$pipelineName": "

The name of the pipeline on which to start reprocessing.

", + "UpdatePipelineRequest$pipelineName": "

The name of the pipeline to update.

" + } + }, + "PipelineSummaries": { + "base": null, + "refs": { + "ListPipelinesResponse$pipelineSummaries": "

A list of \"PipelineSummary\" objects.

" + } + }, + "PipelineSummary": { + "base": "

A summary of information about a pipeline.

", + "refs": { + "PipelineSummaries$member": null + } + }, + "PresignedURI": { + "base": null, + "refs": { + "DatasetEntry$dataURI": "

The pre-signed URI of the data set item.

" + } + }, + "PutLoggingOptionsRequest": { + "base": null, + "refs": { + } + }, + "Reason": { + "base": null, + "refs": { + "DatasetContentStatus$reason": "

The reason the data set is in this state.

" + } + }, + "RemoveAttributesActivity": { + "base": "

An activity that removes attributes from a message.

", + "refs": { + "PipelineActivity$removeAttributes": "

Removes attributes from a message.

" + } + }, + "ReprocessingId": { + "base": null, + "refs": { + "CancelPipelineReprocessingRequest$reprocessingId": "

The ID of the reprocessing task (returned by \"StartPipelineReprocessing\").

", + "ReprocessingSummary$id": "

The 'reprocessingId' returned by \"StartPipelineReprocessing\".

", + "StartPipelineReprocessingResponse$reprocessingId": "

The ID of the pipeline reprocessing activity that was started.

" + } + }, + "ReprocessingStatus": { + "base": null, + "refs": { + "ReprocessingSummary$status": "

The status of the pipeline reprocessing.

" + } + }, + "ReprocessingSummaries": { + "base": null, + "refs": { + "Pipeline$reprocessingSummaries": "

A summary of information about the pipeline reprocessing.

", + "PipelineSummary$reprocessingSummaries": "

A summary of information about the pipeline reprocessing.

" + } + }, + "ReprocessingSummary": { + "base": "

Information about pipeline reprocessing.

", + "refs": { + "ReprocessingSummaries$member": null + } + }, + "ResourceAlreadyExistsException": { + "base": "

A resource with the same name already exists.

", + "refs": { + } + }, + "ResourceArn": { + "base": null, + "refs": { + "ListTagsForResourceRequest$resourceArn": "

The ARN of the resource whose tags you want to list.

", + "TagResourceRequest$resourceArn": "

The ARN of the resource whose tags will be modified.

", + "UntagResourceRequest$resourceArn": "

The ARN of the resource whose tags will be removed.

" + } + }, + "ResourceNotFoundException": { + "base": "

A resource with the specified name could not be found.

", + "refs": { + } + }, + "RetentionPeriod": { + "base": "

How long, in days, message data is kept.

", + "refs": { + "Channel$retentionPeriod": "

How long, in days, message data is kept for the channel.

", + "CreateChannelRequest$retentionPeriod": "

How long, in days, message data is kept for the channel.

", + "CreateChannelResponse$retentionPeriod": "

How long, in days, message data is kept for the channel.

", + "CreateDatastoreRequest$retentionPeriod": "

How long, in days, message data is kept for the data store.

", + "CreateDatastoreResponse$retentionPeriod": "

How long, in days, message data is kept for the data store.

", + "Datastore$retentionPeriod": "

How long, in days, message data is kept for the data store.

", + "UpdateChannelRequest$retentionPeriod": "

How long, in days, message data is kept for the channel.

", + "UpdateDatastoreRequest$retentionPeriod": "

How long, in days, message data is kept for the data store.

" + } + }, + "RetentionPeriodInDays": { + "base": null, + "refs": { + "RetentionPeriod$numberOfDays": "

The number of days that message data is kept. The \"unlimited\" parameter must be false.

" + } + }, + "RoleArn": { + "base": null, + "refs": { + "DeviceRegistryEnrichActivity$roleArn": "

The ARN of the role that allows access to the device's registry information.

", + "DeviceShadowEnrichActivity$roleArn": "

The ARN of the role that allows access to the device's shadow.

", + "LoggingOptions$roleArn": "

The ARN of the role that grants permission to AWS IoT Analytics to perform logging.

" + } + }, + "RunPipelineActivityRequest": { + "base": null, + "refs": { + } + }, + "RunPipelineActivityResponse": { + "base": null, + "refs": { + } + }, + "SampleChannelDataRequest": { + "base": null, + "refs": { + } + }, + "SampleChannelDataResponse": { + "base": null, + "refs": { + } + }, + "Schedule": { + "base": "

The schedule for when to trigger an update.

", + "refs": { + "DatasetTrigger$schedule": "

The \"Schedule\" when the trigger is initiated.

" + } + }, + "ScheduleExpression": { + "base": null, + "refs": { + "Schedule$expression": "

The expression that defines when to trigger an update. For more information, see Schedule Expressions for Rules in the Amazon CloudWatch documentation.

" + } + }, + "SelectAttributesActivity": { + "base": "

Creates a new message using only the specified attributes from the original message.

", + "refs": { + "PipelineActivity$selectAttributes": "

Creates a new message using only the specified attributes from the original message.

" + } + }, + "ServiceUnavailableException": { + "base": "

The service is temporarily unavailable.

", + "refs": { + } + }, + "SizeInBytes": { + "base": null, + "refs": { + "EstimatedResourceSize$estimatedSizeInBytes": "

The estimated size of the resource in bytes.

" + } + }, + "SqlQuery": { + "base": null, + "refs": { + "SqlQueryDatasetAction$sqlQuery": "

An SQL query string.

" + } + }, + "SqlQueryDatasetAction": { + "base": "

The SQL query to modify the message.

", + "refs": { + "DatasetAction$queryAction": "

An \"SqlQueryDatasetAction\" object that contains the SQL query to modify the message.

" + } + }, + "StartPipelineReprocessingRequest": { + "base": null, + "refs": { + } + }, + "StartPipelineReprocessingResponse": { + "base": null, + "refs": { + } + }, + "StartTime": { + "base": null, + "refs": { + "SampleChannelDataRequest$startTime": "

The start of the time window from which sample messages are retrieved.

", + "StartPipelineReprocessingRequest$startTime": "

The start time (inclusive) of raw message data that is reprocessed.

" + } + }, + "Tag": { + "base": "

A set of key/value pairs which are used to manage the resource.

", + "refs": { + "TagList$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "Tag$key": "

The tag's key.

", + "TagKeyList$member": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "

The keys of those tags which will be removed.

" + } + }, + "TagList": { + "base": null, + "refs": { + "CreateChannelRequest$tags": "

Metadata which can be used to manage the channel.

", + "CreateDatasetRequest$tags": "

Metadata which can be used to manage the data set.

", + "CreateDatastoreRequest$tags": "

Metadata which can be used to manage the data store.

", + "CreatePipelineRequest$tags": "

Metadata which can be used to manage the pipeline.

", + "ListTagsForResourceResponse$tags": "

The tags (metadata) which you have assigned to the resource.

", + "TagResourceRequest$tags": "

The new or modified tags for the resource.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$value": "

The tag's value.

" + } + }, + "ThrottlingException": { + "base": "

The request was denied due to request throttling.

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "Channel$creationTime": "

When the channel was created.

", + "Channel$lastUpdateTime": "

When the channel was last updated.

", + "ChannelSummary$creationTime": "

When the channel was created.

", + "ChannelSummary$lastUpdateTime": "

The last time the channel was updated.

", + "Dataset$creationTime": "

When the data set was created.

", + "Dataset$lastUpdateTime": "

The last time the data set was updated.

", + "DatasetSummary$creationTime": "

The time the data set was created.

", + "DatasetSummary$lastUpdateTime": "

The last time the data set was updated.

", + "Datastore$creationTime": "

When the data store was created.

", + "Datastore$lastUpdateTime": "

The last time the data store was updated.

", + "DatastoreSummary$creationTime": "

When the data store was created.

", + "DatastoreSummary$lastUpdateTime": "

The last time the data store was updated.

", + "EstimatedResourceSize$estimatedOn": "

The time when the estimate of the size of the resource was made.

", + "GetDatasetContentResponse$timestamp": "

The time when the request was made.

", + "Pipeline$creationTime": "

When the pipeline was created.

", + "Pipeline$lastUpdateTime": "

The last time the pipeline was updated.

", + "PipelineSummary$creationTime": "

When the pipeline was created.

", + "PipelineSummary$lastUpdateTime": "

When the pipeline was last updated.

", + "ReprocessingSummary$creationTime": "

The time the pipeline reprocessing was created.

" + } + }, + "UnlimitedRetentionPeriod": { + "base": null, + "refs": { + "RetentionPeriod$unlimited": "

If true, message data is kept indefinitely.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateChannelRequest": { + "base": null, + "refs": { + } + }, + "UpdateDatasetRequest": { + "base": null, + "refs": { + } + }, + "UpdateDatastoreRequest": { + "base": null, + "refs": { + } + }, + "UpdatePipelineRequest": { + "base": null, + "refs": { + } + }, + "errorMessage": { + "base": null, + "refs": { + "InternalFailureException$message": null, + "InvalidRequestException$message": null, + "LimitExceededException$message": null, + "ResourceAlreadyExistsException$message": null, + "ResourceNotFoundException$message": null, + "ServiceUnavailableException$message": null, + "ThrottlingException$message": null + } + }, + "resourceArn": { + "base": null, + "refs": { + "ResourceAlreadyExistsException$resourceArn": "

The ARN of the resource.

" + } + }, + "resourceId": { + "base": null, + "refs": { + "ResourceAlreadyExistsException$resourceId": "

The ID of the resource.

" + } + } + } +} diff --git a/models/apis/cloudfront/2016-11-25/examples-1.json b/models/apis/iotanalytics/2017-11-27/examples-1.json similarity index 100% rename from models/apis/cloudfront/2016-11-25/examples-1.json rename to models/apis/iotanalytics/2017-11-27/examples-1.json diff --git a/models/apis/iotanalytics/2017-11-27/paginators-1.json b/models/apis/iotanalytics/2017-11-27/paginators-1.json new file mode 100644 index 00000000000..e03f3d39810 --- /dev/null +++ b/models/apis/iotanalytics/2017-11-27/paginators-1.json @@ -0,0 +1,24 @@ +{ + "pagination": { + "ListChannels": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListDatasets": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListDatastores": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListPipelines": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + } + } +} diff --git a/models/apis/kinesis-video-archived-media/2017-09-30/api-2.json b/models/apis/kinesis-video-archived-media/2017-09-30/api-2.json index e166165a1cd..f3808620b79 100644 --- a/models/apis/kinesis-video-archived-media/2017-09-30/api-2.json +++ b/models/apis/kinesis-video-archived-media/2017-09-30/api-2.json @@ -11,6 +11,25 @@ "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"} + ] + }, "GetMediaForFragmentList":{ "name":"GetMediaForFragmentList", "http":{ @@ -57,7 +76,19 @@ "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":{ @@ -74,7 +105,9 @@ }, "FragmentNumberList":{ "type":"list", - "member":{"shape":"FragmentNumberString"} + "member":{"shape":"FragmentNumberString"}, + "max":1000, + "min":1 }, "FragmentNumberString":{ "type":"string", @@ -100,6 +133,24 @@ "SERVER_TIMESTAMP" ] }, + "GetHLSStreamingSessionURLInput":{ + "type":"structure", + "members":{ + "StreamName":{"shape":"StreamName"}, + "StreamARN":{"shape":"ResourceARN"}, + "PlaybackMode":{"shape":"PlaybackMode"}, + "HLSFragmentSelector":{"shape":"HLSFragmentSelector"}, + "DiscontinuityMode":{"shape":"DiscontinuityMode"}, + "Expires":{"shape":"Expires"}, + "MaxMediaPlaylistFragmentResults":{"shape":"PageLimit"} + } + }, + "GetHLSStreamingSessionURLOutput":{ + "type":"structure", + "members":{ + "HLSStreamingSessionURL":{"shape":"HLSStreamingSessionURL"} + } + }, "GetMediaForFragmentListInput":{ "type":"structure", "required":[ @@ -123,6 +174,28 @@ }, "payload":"Payload" }, + "HLSFragmentSelector":{ + "type":"structure", + "members":{ + "FragmentSelectorType":{"shape":"HLSFragmentSelectorType"}, + "TimestampRange":{"shape":"HLSTimestampRange"} + } + }, + "HLSFragmentSelectorType":{ + "type":"string", + "enum":[ + "PRODUCER_TIMESTAMP", + "SERVER_TIMESTAMP" + ] + }, + "HLSStreamingSessionURL":{"type":"string"}, + "HLSTimestampRange":{ + "type":"structure", + "members":{ + "StartTimestamp":{"shape":"Timestamp"}, + "EndTimestamp":{"shape":"Timestamp"} + } + }, "InvalidArgumentException":{ "type":"structure", "members":{ @@ -131,6 +204,14 @@ "error":{"httpStatusCode":400}, "exception":true }, + "InvalidCodecPrivateDataException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "ListFragmentsInput":{ "type":"structure", "required":["StreamName"], @@ -149,6 +230,22 @@ } }, "Long":{"type":"long"}, + "MissingCodecPrivateDataException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "NoDataRetentionException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "NotAuthorizedException":{ "type":"structure", "members":{ @@ -166,6 +263,19 @@ "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":{ @@ -195,6 +305,14 @@ "StartTimestamp":{"shape":"Timestamp"}, "EndTimestamp":{"shape":"Timestamp"} } + }, + "UnsupportedStreamMediaTypeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true } } } diff --git a/models/apis/kinesis-video-archived-media/2017-09-30/docs-2.json b/models/apis/kinesis-video-archived-media/2017-09-30/docs-2.json index 783eae5b5a1..4c491674299 100644 --- a/models/apis/kinesis-video-archived-media/2017-09-30/docs-2.json +++ b/models/apis/kinesis-video-archived-media/2017-09-30/docs-2.json @@ -2,7 +2,8 @@ "version": "2.0", "service": "

", "operations": { - "GetMediaForFragmentList": "

Gets media for a list of fragments (specified by fragment number) from the archived data in a Kinesis video stream.

This operation is only available for the AWS SDK for Java. It is not supported in AWS SDKs for other languages.

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.

", + "GetHLSStreamingSessionURL": "

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": "

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": "

Returns a list of Fragment objects from the specified stream and start location within the archived data.

" }, "shapes": { @@ -17,13 +18,29 @@ "GetMediaForFragmentListOutput$ContentType": "

The content type of the requested media.

" } }, + "DiscontinuityMode": { + "base": null, + "refs": { + "GetHLSStreamingSessionURLInput$DiscontinuityMode": "

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.

" + } + }, "ErrorMessage": { "base": null, "refs": { "ClientLimitExceededException$Message": null, "InvalidArgumentException$Message": null, + "InvalidCodecPrivateDataException$Message": null, + "MissingCodecPrivateDataException$Message": null, + "NoDataRetentionException$Message": null, "NotAuthorizedException$Message": null, - "ResourceNotFoundException$Message": null + "ResourceNotFoundException$Message": null, + "UnsupportedStreamMediaTypeException$Message": null + } + }, + "Expires": { + "base": null, + "refs": { + "GetHLSStreamingSessionURLInput$Expires": "

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).

" } }, "Fragment": { @@ -62,6 +79,16 @@ "FragmentSelector$FragmentSelectorType": "

The origin of the time stamps to use (Server or Producer).

" } }, + "GetHLSStreamingSessionURLInput": { + "base": null, + "refs": { + } + }, + "GetHLSStreamingSessionURLOutput": { + "base": null, + "refs": { + } + }, "GetMediaForFragmentListInput": { "base": null, "refs": { @@ -72,11 +99,40 @@ "refs": { } }, + "HLSFragmentSelector": { + "base": "

Contains the range of time stamps for the requested media, and the source of the time stamps.

", + "refs": { + "GetHLSStreamingSessionURLInput$HLSFragmentSelector": "

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.

" + } + }, + "HLSFragmentSelectorType": { + "base": null, + "refs": { + "HLSFragmentSelector$FragmentSelectorType": "

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.

" + } + }, + "HLSStreamingSessionURL": { + "base": null, + "refs": { + "GetHLSStreamingSessionURLOutput$HLSStreamingSessionURL": "

The URL (containing the session token) that a media player can use to retrieve the HLS master playlist.

" + } + }, + "HLSTimestampRange": { + "base": "

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.

", + "refs": { + "HLSFragmentSelector$TimestampRange": "

The start and end of the time stamp range for the requested media.

This value should not be present if PlaybackType is LIVE.

" + } + }, "InvalidArgumentException": { "base": "

A specified parameter exceeds its restrictions, is not supported, or can't be used.

", "refs": { } }, + "InvalidCodecPrivateDataException": { + "base": "

The Codec Private Data in the video stream is not valid for this operation.

", + "refs": { + } + }, "ListFragmentsInput": { "base": null, "refs": { @@ -94,6 +150,16 @@ "Fragment$FragmentLengthInMilliseconds": "

The playback duration or other time value associated with the fragment.

" } }, + "MissingCodecPrivateDataException": { + "base": "

No Codec Private Data was found in the video stream.

", + "refs": { + } + }, + "NoDataRetentionException": { + "base": "

A PlaybackMode of ON_DEMAND was requested for a stream that does not retain data (that is, has a DataRetentionInHours of 0).

", + "refs": { + } + }, "NotAuthorizedException": { "base": "

Status Code: 403, The caller is not authorized to perform an operation on the given stream, or the token has expired.

", "refs": { @@ -102,23 +168,37 @@ "PageLimit": { "base": null, "refs": { + "GetHLSStreamingSessionURLInput$MaxMediaPlaylistFragmentResults": "

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.

", "ListFragmentsInput$MaxResults": "

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.

" } }, "Payload": { "base": null, "refs": { - "GetMediaForFragmentListOutput$Payload": "

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

" + "GetMediaForFragmentListOutput$Payload": "

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

" + } + }, + "PlaybackMode": { + "base": null, + "refs": { + "GetHLSStreamingSessionURLInput$PlaybackMode": "

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.

" + } + }, + "ResourceARN": { + "base": null, + "refs": { + "GetHLSStreamingSessionURLInput$StreamARN": "

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.

" } }, "ResourceNotFoundException": { - "base": "

Kinesis Video Streams can't find the stream that you specified.

", + "base": "

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.

", "refs": { } }, "StreamName": { "base": null, "refs": { + "GetHLSStreamingSessionURLInput$StreamName": "

The name of the stream for which to retrieve the HLS master playlist URL.

You must specify either the StreamName or the StreamARN.

", "GetMediaForFragmentListInput$StreamName": "

The name of the stream from which to retrieve fragment media.

", "ListFragmentsInput$StreamName": "

The name of the stream from which to retrieve a fragment list.

" } @@ -136,6 +216,8 @@ "refs": { "Fragment$ProducerTimestamp": "

The time stamp from the producer corresponding to the fragment.

", "Fragment$ServerTimestamp": "

The time stamp from the AWS server corresponding to the fragment.

", + "HLSTimestampRange$StartTimestamp": "

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.

", + "HLSTimestampRange$EndTimestamp": "

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.

", "TimestampRange$StartTimestamp": "

The starting time stamp in the range of time stamps for which to return fragments.

", "TimestampRange$EndTimestamp": "

The ending time stamp in the range of time stamps for which to return fragments.

" } @@ -145,6 +227,11 @@ "refs": { "FragmentSelector$TimestampRange": "

The range of time stamps to return.

" } + }, + "UnsupportedStreamMediaTypeException": { + "base": "

An HLS streaming session was requested for a stream with a media type that is not video/h264.

", + "refs": { + } } } } diff --git a/models/apis/kinesis/2013-12-02/api-2.json b/models/apis/kinesis/2013-12-02/api-2.json index aacb9f8a983..8212c1841be 100644 --- a/models/apis/kinesis/2013-12-02/api-2.json +++ b/models/apis/kinesis/2013-12-02/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"kinesis", "jsonVersion":"1.1", "protocol":"json", + "protocolSettings":{"h2":"eventstream"}, "serviceAbbreviation":"Kinesis", "serviceFullName":"Amazon Kinesis", "serviceId":"Kinesis", @@ -50,6 +51,7 @@ "errors":[ {"shape":"ResourceInUseException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, {"shape":"InvalidArgumentException"} ] }, @@ -62,7 +64,21 @@ "input":{"shape":"DeleteStreamInput"}, "errors":[ {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"} + ] + }, + "DeregisterStreamConsumer":{ + "name":"DeregisterStreamConsumer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterStreamConsumerInput"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"} ] }, "DescribeLimits":{ @@ -90,6 +106,20 @@ {"shape":"LimitExceededException"} ] }, + "DescribeStreamConsumer":{ + "name":"DescribeStreamConsumer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStreamConsumerInput"}, + "output":{"shape":"DescribeStreamConsumerOutput"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"} + ] + }, "DescribeStreamSummary":{ "name":"DescribeStreamSummary", "http":{ @@ -178,9 +208,42 @@ "errors":[ {"shape":"ResourceInUseException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, {"shape":"InvalidArgumentException"} ] }, + "ListShards":{ + "name":"ListShards", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListShardsInput"}, + "output":{"shape":"ListShardsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"ExpiredNextTokenException"}, + {"shape":"ResourceInUseException"} + ] + }, + "ListStreamConsumers":{ + "name":"ListStreamConsumers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStreamConsumersInput"}, + "output":{"shape":"ListStreamConsumersOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"ExpiredNextTokenException"}, + {"shape":"ResourceInUseException"} + ] + }, "ListStreams":{ "name":"ListStreams", "http":{ @@ -261,6 +324,21 @@ {"shape":"KMSThrottlingException"} ] }, + "RegisterStreamConsumer":{ + "name":"RegisterStreamConsumer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterStreamConsumerInput"}, + "output":{"shape":"RegisterStreamConsumerOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "RemoveTagsFromStream":{ "name":"RemoveTagsFromStream", "http":{ @@ -323,6 +401,21 @@ {"shape":"ResourceNotFoundException"} ] }, + "SubscribeToShard":{ + "name":"SubscribeToShard", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SubscribeToShardInput"}, + "output":{"shape":"SubscribeToShardOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"} + ] + }, "UpdateShardCount":{ "name":"UpdateShardCount", "http":{ @@ -352,6 +445,67 @@ } }, "BooleanObject":{"type":"boolean"}, + "Consumer":{ + "type":"structure", + "required":[ + "ConsumerName", + "ConsumerARN", + "ConsumerStatus", + "ConsumerCreationTimestamp" + ], + "members":{ + "ConsumerName":{"shape":"ConsumerName"}, + "ConsumerARN":{"shape":"ConsumerARN"}, + "ConsumerStatus":{"shape":"ConsumerStatus"}, + "ConsumerCreationTimestamp":{"shape":"Timestamp"} + } + }, + "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"}, + "ConsumerARN":{"shape":"ConsumerARN"}, + "ConsumerStatus":{"shape":"ConsumerStatus"}, + "ConsumerCreationTimestamp":{"shape":"Timestamp"}, + "StreamARN":{"shape":"StreamARN"} + } + }, + "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":[ @@ -376,14 +530,23 @@ ], "members":{ "StreamName":{"shape":"StreamName"}, - "RetentionPeriodHours":{"shape":"PositiveIntegerObject"} + "RetentionPeriodHours":{"shape":"RetentionPeriodHours"} } }, "DeleteStreamInput":{ "type":"structure", "required":["StreamName"], "members":{ - "StreamName":{"shape":"StreamName"} + "StreamName":{"shape":"StreamName"}, + "EnforceConsumerDeletion":{"shape":"BooleanObject"} + } + }, + "DeregisterStreamConsumerInput":{ + "type":"structure", + "members":{ + "StreamARN":{"shape":"StreamARN"}, + "ConsumerName":{"shape":"ConsumerName"}, + "ConsumerARN":{"shape":"ConsumerARN"} } }, "DescribeLimitsInput":{ @@ -402,6 +565,21 @@ "OpenShardCount":{"shape":"ShardCountObject"} } }, + "DescribeStreamConsumerInput":{ + "type":"structure", + "members":{ + "StreamARN":{"shape":"StreamARN"}, + "ConsumerName":{"shape":"ConsumerName"}, + "ConsumerARN":{"shape":"ConsumerARN"} + } + }, + "DescribeStreamConsumerOutput":{ + "type":"structure", + "required":["ConsumerDescription"], + "members":{ + "ConsumerDescription":{"shape":"ConsumerDescription"} + } + }, "DescribeStreamInput":{ "type":"structure", "required":["StreamName"], @@ -493,6 +671,13 @@ }, "exception":true }, + "ExpiredNextTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "GetRecordsInput":{ "type":"structure", "required":["ShardIterator"], @@ -559,9 +744,17 @@ ], "members":{ "StreamName":{"shape":"StreamName"}, - "RetentionPeriodHours":{"shape":"PositiveIntegerObject"} + "RetentionPeriodHours":{"shape":"RetentionPeriodHours"} } }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true, + "fault":true + }, "InvalidArgumentException":{ "type":"structure", "members":{ @@ -623,6 +816,50 @@ }, "exception":true }, + "ListShardsInput":{ + "type":"structure", + "members":{ + "StreamName":{"shape":"StreamName"}, + "NextToken":{"shape":"NextToken"}, + "ExclusiveStartShardId":{"shape":"ShardId"}, + "MaxResults":{"shape":"ListShardsInputLimit"}, + "StreamCreationTimestamp":{"shape":"Timestamp"} + } + }, + "ListShardsInputLimit":{ + "type":"integer", + "max":10000, + "min":1 + }, + "ListShardsOutput":{ + "type":"structure", + "members":{ + "Shards":{"shape":"ShardList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListStreamConsumersInput":{ + "type":"structure", + "required":["StreamARN"], + "members":{ + "StreamARN":{"shape":"StreamARN"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"ListStreamConsumersInputLimit"}, + "StreamCreationTimestamp":{"shape":"Timestamp"} + } + }, + "ListStreamConsumersInputLimit":{ + "type":"integer", + "max":10000, + "min":1 + }, + "ListStreamConsumersOutput":{ + "type":"structure", + "members":{ + "Consumers":{"shape":"ConsumerList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListStreamsInput":{ "type":"structure", "members":{ @@ -657,7 +894,7 @@ }, "ListTagsForStreamInputLimit":{ "type":"integer", - "max":10, + "max":50, "min":1 }, "ListTagsForStreamOutput":{ @@ -707,6 +944,11 @@ "type":"long", "min":0 }, + "NextToken":{ + "type":"string", + "max":1048576, + "min":1 + }, "PartitionKey":{ "type":"string", "max":256, @@ -823,6 +1065,24 @@ "type":"list", "member":{"shape":"Record"} }, + "RegisterStreamConsumerInput":{ + "type":"structure", + "required":[ + "StreamARN", + "ConsumerName" + ], + "members":{ + "StreamARN":{"shape":"StreamARN"}, + "ConsumerName":{"shape":"ConsumerName"} + } + }, + "RegisterStreamConsumerOutput":{ + "type":"structure", + "required":["Consumer"], + "members":{ + "Consumer":{"shape":"Consumer"} + } + }, "RemoveTagsFromStreamInput":{ "type":"structure", "required":[ @@ -848,6 +1108,11 @@ }, "exception":true }, + "RetentionPeriodHours":{ + "type":"integer", + "max":168, + "min":1 + }, "ScalingType":{ "type":"string", "enum":["UNIFORM_SCALING"] @@ -935,6 +1200,15 @@ "KeyId":{"shape":"KeyId"} } }, + "StartingPosition":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{"shape":"ShardIteratorType"}, + "SequenceNumber":{"shape":"SequenceNumber"}, + "Timestamp":{"shape":"Timestamp"} + } + }, "StopStreamEncryptionInput":{ "type":"structure", "required":[ @@ -948,7 +1222,12 @@ "KeyId":{"shape":"KeyId"} } }, - "StreamARN":{"type":"string"}, + "StreamARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws.*:kinesis:.*:\\d{12}:stream/.*" + }, "StreamDescription":{ "type":"structure", "required":[ @@ -967,7 +1246,7 @@ "StreamStatus":{"shape":"StreamStatus"}, "Shards":{"shape":"ShardList"}, "HasMoreShards":{"shape":"BooleanObject"}, - "RetentionPeriodHours":{"shape":"PositiveIntegerObject"}, + "RetentionPeriodHours":{"shape":"RetentionPeriodHours"}, "StreamCreationTimestamp":{"shape":"Timestamp"}, "EnhancedMonitoring":{"shape":"EnhancedMonitoringList"}, "EncryptionType":{"shape":"EncryptionType"}, @@ -994,7 +1273,8 @@ "EnhancedMonitoring":{"shape":"EnhancedMonitoringList"}, "EncryptionType":{"shape":"EncryptionType"}, "KeyId":{"shape":"KeyId"}, - "OpenShardCount":{"shape":"ShardCountObject"} + "OpenShardCount":{"shape":"ShardCountObject"}, + "ConsumerCount":{"shape":"ConsumerCountObject"} } }, "StreamName":{ @@ -1016,6 +1296,57 @@ "UPDATING" ] }, + "SubscribeToShardEvent":{ + "type":"structure", + "required":[ + "Records", + "ContinuationSequenceNumber", + "MillisBehindLatest" + ], + "members":{ + "Records":{"shape":"RecordList"}, + "ContinuationSequenceNumber":{"shape":"SequenceNumber"}, + "MillisBehindLatest":{"shape":"MillisBehindLatest"} + }, + "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"}, + "ShardId":{"shape":"ShardId"}, + "StartingPosition":{"shape":"StartingPosition"} + } + }, + "SubscribeToShardOutput":{ + "type":"structure", + "required":["EventStream"], + "members":{ + "EventStream":{"shape":"SubscribeToShardEventStream"} + } + }, "Tag":{ "type":"structure", "required":["Key"], @@ -1032,7 +1363,7 @@ "TagKeyList":{ "type":"list", "member":{"shape":"TagKey"}, - "max":10, + "max":50, "min":1 }, "TagList":{ @@ -1044,7 +1375,7 @@ "type":"map", "key":{"shape":"TagKey"}, "value":{"shape":"TagValue"}, - "max":10, + "max":50, "min":1 }, "TagValue":{ diff --git a/models/apis/kinesis/2013-12-02/docs-2.json b/models/apis/kinesis/2013-12-02/docs-2.json index 30013852caa..6279c8cc452 100644 --- a/models/apis/kinesis/2013-12-02/docs-2.json +++ b/models/apis/kinesis/2013-12-02/docs-2.json @@ -1,29 +1,35 @@ { "version": "2.0", - "service": "Amazon Kinesis Streams Service API Reference

Amazon Kinesis Streams is a managed service that scales elastically for real time processing of streaming big data.

", + "service": "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.

", "operations": { - "AddTagsToStream": "

Adds or updates tags for the specified Kinesis stream. Each stream can have up to 10 tags.

If tags have already been assigned to the stream, AddTagsToStream overwrites any existing tags that correspond to the specified tag keys.

", - "CreateStream": "

Creates a Kinesis stream. A stream captures and transports data records that are continuously emitted from different data sources or producers. Scale-out within a stream is explicitly supported by means of shards, which are uniquely identified groups of data records in a stream.

You specify and control the number of shards that a stream is composed of. Each shard can support reads up to 5 transactions per second, up to a maximum data read total of 2 MB per second. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second. I 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 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 Streams immediately returns and sets the stream status to CREATING. After the stream is created, Kinesis 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 Streams Limits in the Amazon Kinesis 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 5 transactions per second per account.

", - "DecreaseStreamRetentionPeriod": "

Decreases the Kinesis stream's retention period, which is the length of time data records are accessible after they are added to the stream. The minimum value of a stream's retention period is 24 hours.

This operation may result in lost data. For example, if the stream's retention period is 48 hours and is decreased to 24 hours, any data already in the stream that is older than 24 hours is inaccessible.

", - "DeleteStream": "

Deletes a Kinesis stream and all its shards and data. You must shut down any applications that are operating on the stream before you delete the stream. If an application attempts to operate on a deleted stream, it 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 Streams completes the deletion.

Note: Kinesis 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 5 transactions per second per account.

", - "DescribeLimits": "

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 1 transaction per second per account.

", - "DescribeStream": "

Describes the specified Kinesis 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 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.

", - "DescribeStreamSummary": "

Provides a summarized description of the specified Kinesis 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.

", + "AddTagsToStream": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Disables enhanced monitoring.

", - "EnableEnhancedMonitoring": "

Enables enhanced Kinesis stream monitoring for shard-level metrics.

", - "GetRecords": "

Gets data records from a Kinesis stream's shard.

Specify a shard iterator using the ShardIterator parameter. The shard iterator specifies the position in the shard from which you want to start reading data records sequentially. If there are no records available in the portion of the shard that the iterator points to, GetRecords returns an empty list. It might take multiple calls to get to a portion of the shard that contains records.

You can scale by provisioning multiple shards per stream while considering service limits (for more information, see Streams Limits in the Amazon Kinesis Streams Developer Guide). Your application should have one thread per shard, each reading continuously from its stream. To read from a stream continually, call GetRecords in a loop. Use GetShardIterator to get the shard iterator to specify in the first GetRecords call. GetRecords returns a new shard iterator in NextShardIterator. Specify the shard iterator returned in NextShardIterator in subsequent calls to GetRecords. If the shard has been closed, the shard iterator can't return more data and GetRecords returns null in NextShardIterator. You can terminate the loop when the shard is closed, or when the shard iterator reaches the record with the sequence number or other attribute that marks it as the last record to process.

Each data record can be up to 1 MB in size, and each shard can read up to 2 MB per second. You can ensure that your calls don't exceed the maximum supported size or throughput by using the Limit parameter to specify the maximum number of records that GetRecords can return. Consider your average record size when determining this limit.

The size of the data returned by GetRecords varies depending on the utilization of the shard. The maximum size of data that GetRecords can return is 10 MB. If a call returns this amount of data, subsequent calls made within the next 5 seconds throw ProvisionedThroughputExceededException. If there is insufficient provisioned throughput on the shard, subsequent calls made within the next 1 second throw ProvisionedThroughputExceededException. GetRecords won't return any data when it throws an exception. For this reason, we recommend that you wait one second between calls to GetRecords; however, it's possible that the application will get exceptions for longer than 1 second.

To detect whether the application is falling behind in processing, you can use the MillisBehindLatest response attribute. You can also monitor the stream using CloudWatch metrics and other mechanisms (see Monitoring in the Amazon Kinesis Streams Developer Guide).

Each Amazon Kinesis record includes a value, ApproximateArrivalTimestamp, that is set when a stream successfully receives and stores a record. This is commonly referred to as a server-side 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.

", - "GetShardIterator": "

Gets an Amazon Kinesis shard iterator. A shard iterator expires five minutes after it is returned to the requester.

A shard iterator specifies the shard position from which to start reading data records sequentially. The position is specified using the sequence number of a data record in a shard. A sequence number is the identifier associated with every record ingested in the stream, and is assigned when a record is put into the stream. Each stream has one or more shards.

You must specify the shard iterator type. For example, you can set the ShardIteratorType parameter to read exactly from the position denoted by a specific sequence number by using the AT_SEQUENCE_NUMBER shard iterator type. 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 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 5 transactions per second per account per open shard.

", - "IncreaseStreamRetentionPeriod": "

Increases the Amazon Kinesis stream's retention period, which is the length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 168 hours (7 days).

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.

", - "ListStreams": "

Lists your Kinesis streams.

The number of streams may be too large to return from a single call to ListStreams. You can limit the number of returned streams using the Limit parameter. If you do not specify a value for the Limit parameter, Kinesis 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 5 transactions per second per account.

", - "ListTagsForStream": "

Lists the tags for the specified Kinesis stream.

", - "MergeShards": "

Merges two adjacent shards in a Kinesis stream and combines them into a single shard to reduce the stream's capacity to ingest and transport data. Two shards are considered adjacent if the union of the hash key ranges for the two shards form a contiguous set with no gaps. For example, if you have two shards, one with a hash key range of 276...381 and the other with a hash key range of 382...454, then you could merge these two shards into a single shard that would have a hash key range of 276...454. After the merge, the single child shard receives data for all hash key values covered by the two parent shards.

MergeShards is called when there is a need to reduce the overall capacity of a stream because of excess capacity that is not being used. You must specify the shard to be merged and the adjacent shard for a stream. For more information about merging shards, see Merge Two Shards in the Amazon Kinesis Streams Developer Guide.

If the stream is in the ACTIVE state, you can call MergeShards. If a stream is in the CREATING, UPDATING, or DELETING state, MergeShards returns a ResourceInUseException. If the specified stream does not exist, MergeShards returns a ResourceNotFoundException.

You can use DescribeStream to check the state of the stream, which is returned in StreamStatus.

MergeShards is an asynchronous operation. Upon receiving a MergeShards request, Amazon Kinesis immediately returns a response and sets the StreamStatus to UPDATING. After the operation is completed, Amazon Kinesis sets the StreamStatus to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state.

You use DescribeStream to determine the shard IDs that are specified in the MergeShards request.

If you try to operate on too many streams in parallel using CreateStream, DeleteStream, MergeShards or SplitShard, you will receive a LimitExceededException.

MergeShards has a limit of 5 transactions per second per account.

", - "PutRecord": "

Writes a single data record into an Amazon Kinesis stream. Call PutRecord to send data into the stream for real-time ingestion and subsequent processing, one record at a time. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second.

You must specify the name of the stream that captures, stores, and transports the data; a partition key; and the data blob itself.

The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on.

The partition key is used by Kinesis Streams to distribute data across shards. Kinesis 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 Streams Developer Guide.

PutRecord returns the shard ID of where the data record was placed and the sequence number that was assigned to the data record.

Sequence numbers increase over time and are specific to a shard within a stream, not across all shards within a stream. To guarantee strictly increasing ordering, write serially to a shard and use the SequenceNumberForOrdering parameter. For more information, see Adding Data to a Stream in the Amazon Kinesis Streams Developer Guide.

If a PutRecord request cannot be processed because of insufficient provisioned throughput on the shard involved in the request, PutRecord throws ProvisionedThroughputExceededException.

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": "

Writes multiple data records into a Kinesis stream in a single call (also referred to as a PutRecords request). Use this operation to send data into the stream for data ingestion and processing.

Each PutRecords request can support up to 500 records. Each record in the request can be as large as 1 MB, up to a limit of 5 MB for the entire request, including partition keys. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second.

You must specify the name of the stream that captures, stores, and transports the data; and an array of request Records, with each record in the array requiring a partition key and data blob. The record size limit applies to the total size of the partition key and data blob.

The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on.

The partition key is used by Kinesis 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 Streams Developer Guide.

Each record in the Records array may include an optional parameter, ExplicitHashKey, which overrides the partition key to shard mapping. This parameter allows a data producer to determine explicitly the shard where the record is stored. For more information, see Adding Multiple Records with PutRecords in the Amazon Kinesis Streams Developer Guide.

The PutRecords response includes an array of response Records. Each record in the response array directly correlates with a record in the request array using natural ordering, from the top to the bottom of the request and response. The response Records array always includes the same number of records as the request array.

The response Records array includes both successfully and unsuccessfully processed records. Amazon Kinesis attempts to process all records in each PutRecords request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes ShardId and SequenceNumber values. The ShardId parameter identifies the shard in the stream where the record is stored. The SequenceNumber parameter is an identifier assigned to the put record, unique to all records in the stream.

An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error and can be one of the following values: ProvisionedThroughputExceededException or InternalFailure. ErrorMessage provides more detailed information about the ProvisionedThroughputExceededException exception including the account ID, stream name, and shard ID of the record that was throttled. For more information about partially successful responses, see Adding Multiple Records with PutRecords in the Amazon Kinesis Streams Developer Guide.

By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

", - "RemoveTagsFromStream": "

Removes tags from the specified Kinesis stream. Removed tags are deleted and cannot be recovered after this operation successfully completes.

If you specify a tag that does not exist, it is ignored.

", - "SplitShard": "

Splits a shard into two new shards in the Kinesis stream, to increase the stream's capacity to ingest and transport data. SplitShard is called when there is a need to increase the overall capacity of a stream because of an expected increase in the volume of data records being ingested.

You can also use SplitShard when a shard appears to be approaching its maximum utilization; for example, the producers sending data into the specific shard are suddenly sending more than previously anticipated. You can also call SplitShard to increase stream capacity, so that more Kinesis 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 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 Streams immediately returns a response and sets the stream status to UPDATING. After the operation is completed, Kinesis 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 Streams Limits in the Amazon Kinesis 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 5 transactions per second per account.

", - "StartStreamEncryption": "

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 Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis 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 five 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": "

Disables server-side encryption for a specified stream.

Stopping encryption is an asynchronous operation. Upon receiving the request, Kinesis Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis 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 Streams.

API Limits: You can successfully disable server-side encryption 25 times in a rolling 24-hour period.

Note: It can take up to five 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.

", - "UpdateShardCount": "

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 Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis 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 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 limits, which are per region per account unless otherwise noted. You cannot:

  • Scale more than twice per rolling 24 hour period

  • Scale up to double your current shard count

  • Scale down below half your current shard count

  • Scale up to more 500 shards in a stream

  • Scale a stream with more than 500 shards down unless the result is less than 500 shards

  • Scale up more the shard limits for your account

For the default limits for an AWS account, see Streams Limits in the Amazon Kinesis Streams Developer Guide. To increase a limit, contact AWS Support.

" + "EnableEnhancedMonitoring": "

Enables enhanced Kinesis data stream monitoring for shard-level metrics.

", + "GetRecords": "

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": "

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": "

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": "

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": "

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": "

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": "

Lists the tags for the specified Kinesis data stream. This operation has a limit of five transactions per second per account.

", + "MergeShards": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": { @@ -34,11 +40,64 @@ "BooleanObject": { "base": null, "refs": { + "DeleteStreamInput$EnforceConsumerDeletion": "

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.

", "ListStreamsOutput$HasMoreStreams": "

If set to true, there are more streams available to list.

", "ListTagsForStreamOutput$HasMoreTags": "

If set to true, more tags are available. To request additional tags, set ExclusiveStartTagKey to the key of the last tag returned.

", "StreamDescription$HasMoreShards": "

If set to true, more shards in the stream are available to describe.

" } }, + "Consumer": { + "base": "

An object that represents the details of the consumer you registered.

", + "refs": { + "ConsumerList$member": null, + "RegisterStreamConsumerOutput$Consumer": "

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.

" + } + }, + "ConsumerARN": { + "base": null, + "refs": { + "Consumer$ConsumerARN": "

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.

", + "ConsumerDescription$ConsumerARN": "

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.

", + "DeregisterStreamConsumerInput$ConsumerARN": "

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.

", + "DescribeStreamConsumerInput$ConsumerARN": "

The ARN returned by Kinesis Data Streams when you registered the consumer.

", + "SubscribeToShardInput$ConsumerARN": "

For this parameter, use the value you obtained when you called RegisterStreamConsumer.

" + } + }, + "ConsumerCountObject": { + "base": null, + "refs": { + "StreamDescriptionSummary$ConsumerCount": "

The number of enhanced fan-out consumers registered with the stream.

" + } + }, + "ConsumerDescription": { + "base": "

An object that represents the details of a registered consumer.

", + "refs": { + "DescribeStreamConsumerOutput$ConsumerDescription": "

An object that represents the details of the consumer.

" + } + }, + "ConsumerList": { + "base": null, + "refs": { + "ListStreamConsumersOutput$Consumers": "

An array of JSON objects. Each object represents one registered consumer.

" + } + }, + "ConsumerName": { + "base": null, + "refs": { + "Consumer$ConsumerName": "

The name of the consumer is something you choose when you register the consumer.

", + "ConsumerDescription$ConsumerName": "

The name of the consumer is something you choose when you register the consumer.

", + "DeregisterStreamConsumerInput$ConsumerName": "

The name that you gave to the consumer.

", + "DescribeStreamConsumerInput$ConsumerName": "

The name that you gave to the consumer.

", + "RegisterStreamConsumerInput$ConsumerName": "

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.

" + } + }, + "ConsumerStatus": { + "base": null, + "refs": { + "Consumer$ConsumerStatus": "

A consumer can't read data while in the CREATING or DELETING states.

", + "ConsumerDescription$ConsumerStatus": "

A consumer can't read data while in the CREATING or DELETING states.

" + } + }, "CreateStreamInput": { "base": "

Represents the input for CreateStream.

", "refs": { @@ -49,7 +108,7 @@ "refs": { "PutRecordInput$Data": "

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).

", "PutRecordsRequestEntry$Data": "

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).

", - "Record$Data": "

The data blob. The data in the blob is both opaque and immutable to Kinesis 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).

" + "Record$Data": "

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).

" } }, "DecreaseStreamRetentionPeriodInput": { @@ -62,6 +121,11 @@ "refs": { } }, + "DeregisterStreamConsumerInput": { + "base": null, + "refs": { + } + }, "DescribeLimitsInput": { "base": null, "refs": { @@ -72,6 +136,16 @@ "refs": { } }, + "DescribeStreamConsumerInput": { + "base": null, + "refs": { + } + }, + "DescribeStreamConsumerOutput": { + "base": null, + "refs": { + } + }, "DescribeStreamInput": { "base": "

Represents the input for DescribeStream.

", "refs": { @@ -111,12 +185,12 @@ "EncryptionType": { "base": null, "refs": { - "PutRecordOutput$EncryptionType": "

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 KMS key.

", - "PutRecordsOutput$EncryptionType": "

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 KMS key.

", - "Record$EncryptionType": "

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 KMS key.

", + "PutRecordOutput$EncryptionType": "

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.

", + "PutRecordsOutput$EncryptionType": "

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.

", + "Record$EncryptionType": "

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.

", "StartStreamEncryptionInput$EncryptionType": "

The encryption type to use. The only valid value is KMS.

", "StopStreamEncryptionInput$EncryptionType": "

The encryption type. The only valid value is KMS.

", - "StreamDescription$EncryptionType": "

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 KMS key.

", + "StreamDescription$EncryptionType": "

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.

", "StreamDescriptionSummary$EncryptionType": "

The encryption type used. This value is one of the following:

  • KMS

  • NONE

" } }, @@ -148,6 +222,8 @@ "base": null, "refs": { "ExpiredIteratorException$message": "

A message that provides information about the error.

", + "ExpiredNextTokenException$message": null, + "InternalFailureException$message": null, "InvalidArgumentException$message": "

A message that provides information about the error.

", "KMSAccessDeniedException$message": "

A message that provides information about the error.

", "KMSDisabledException$message": "

A message that provides information about the error.

", @@ -167,6 +243,11 @@ "refs": { } }, + "ExpiredNextTokenException": { + "base": "

The pagination token passed to the operation is expired.

", + "refs": { + } + }, "GetRecordsInput": { "base": "

Represents the input for GetRecords.

", "refs": { @@ -214,6 +295,12 @@ "refs": { } }, + "InternalFailureException": { + "base": null, + "refs": { + "SubscribeToShardEventStream$InternalFailureException": null + } + }, "InvalidArgumentException": { "base": "

A specified parameter exceeds its restrictions, is not supported, or can't be used. For more information, see the returned message.

", "refs": { @@ -222,40 +309,46 @@ "KMSAccessDeniedException": { "base": "

The ciphertext references a key that doesn't exist or that you don't have access to.

", "refs": { + "SubscribeToShardEventStream$KMSAccessDeniedException": null } }, "KMSDisabledException": { "base": "

The request was rejected because the specified customer master key (CMK) isn't enabled.

", "refs": { + "SubscribeToShardEventStream$KMSDisabledException": null } }, "KMSInvalidStateException": { "base": "

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.

", "refs": { + "SubscribeToShardEventStream$KMSInvalidStateException": null } }, "KMSNotFoundException": { "base": "

The request was rejected because the specified entity or resource can't be found.

", "refs": { + "SubscribeToShardEventStream$KMSNotFoundException": null } }, "KMSOptInRequired": { "base": "

The AWS access key ID needs a subscription for the service.

", "refs": { + "SubscribeToShardEventStream$KMSOptInRequired": null } }, "KMSThrottlingException": { "base": "

The request was denied due to request throttling. For more information about throttling, see Limits in the AWS Key Management Service Developer Guide.

", "refs": { + "SubscribeToShardEventStream$KMSThrottlingException": null } }, "KeyId": { "base": null, "refs": { - "StartStreamEncryptionInput$KeyId": "

The GUID for the customer-managed 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 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 Streams: alias/aws/kinesis

", - "StopStreamEncryptionInput$KeyId": "

The GUID for the customer-managed 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 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 Streams: alias/aws/kinesis

", - "StreamDescription$KeyId": "

The GUID for the customer-managed 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 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 Streams: alias/aws/kinesis

", - "StreamDescriptionSummary$KeyId": "

The GUID for the customer-managed 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 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: alias/aws/kinesis

" + "StartStreamEncryptionInput$KeyId": "

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

", + "StopStreamEncryptionInput$KeyId": "

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

", + "StreamDescription$KeyId": "

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

", + "StreamDescriptionSummary$KeyId": "

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

" } }, "LimitExceededException": { @@ -263,6 +356,38 @@ "refs": { } }, + "ListShardsInput": { + "base": null, + "refs": { + } + }, + "ListShardsInputLimit": { + "base": null, + "refs": { + "ListShardsInput$MaxResults": "

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.

" + } + }, + "ListShardsOutput": { + "base": null, + "refs": { + } + }, + "ListStreamConsumersInput": { + "base": null, + "refs": { + } + }, + "ListStreamConsumersInputLimit": { + "base": null, + "refs": { + "ListStreamConsumersInput$MaxResults": "

The maximum number of consumers that you want a single call of ListStreamConsumers to return.

" + } + }, + "ListStreamConsumersOutput": { + "base": null, + "refs": { + } + }, "ListStreamsInput": { "base": "

Represents the input for ListStreams.

", "refs": { @@ -309,9 +434,9 @@ "MetricsNameList": { "base": null, "refs": { - "DisableEnhancedMonitoringInput$ShardLevelMetrics": "

List of shard-level metrics to disable.

The following are the valid shard-level metrics. The value \"ALL\" disables every metric.

  • IncomingBytes

  • IncomingRecords

  • OutgoingBytes

  • OutgoingRecords

  • WriteProvisionedThroughputExceeded

  • ReadProvisionedThroughputExceeded

  • IteratorAgeMilliseconds

  • ALL

For more information, see Monitoring the Amazon Kinesis Streams Service with Amazon CloudWatch in the Amazon Kinesis Streams Developer Guide.

", - "EnableEnhancedMonitoringInput$ShardLevelMetrics": "

List of shard-level metrics to enable.

The following are the valid shard-level metrics. The value \"ALL\" enables every metric.

  • IncomingBytes

  • IncomingRecords

  • OutgoingBytes

  • OutgoingRecords

  • WriteProvisionedThroughputExceeded

  • ReadProvisionedThroughputExceeded

  • IteratorAgeMilliseconds

  • ALL

For more information, see Monitoring the Amazon Kinesis Streams Service with Amazon CloudWatch in the Amazon Kinesis Streams Developer Guide.

", - "EnhancedMetrics$ShardLevelMetrics": "

List of shard-level metrics.

The following are the valid shard-level metrics. The value \"ALL\" enhances every metric.

  • IncomingBytes

  • IncomingRecords

  • OutgoingBytes

  • OutgoingRecords

  • WriteProvisionedThroughputExceeded

  • ReadProvisionedThroughputExceeded

  • IteratorAgeMilliseconds

  • ALL

For more information, see Monitoring the Amazon Kinesis Streams Service with Amazon CloudWatch in the Amazon Kinesis Streams Developer Guide.

", + "DisableEnhancedMonitoringInput$ShardLevelMetrics": "

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.

", + "EnableEnhancedMonitoringInput$ShardLevelMetrics": "

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.

", + "EnhancedMetrics$ShardLevelMetrics": "

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.

", "EnhancedMonitoringOutput$CurrentShardLevelMetrics": "

Represents the current state of the metrics that are in the enhanced state before the operation.

", "EnhancedMonitoringOutput$DesiredShardLevelMetrics": "

Represents the list of all the metrics that would be in the enhanced state after the operation.

" } @@ -319,14 +444,24 @@ "MillisBehindLatest": { "base": null, "refs": { - "GetRecordsOutput$MillisBehindLatest": "

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.

" + "GetRecordsOutput$MillisBehindLatest": "

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.

", + "SubscribeToShardEvent$MillisBehindLatest": "

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.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "ListShardsInput$NextToken": "

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.

", + "ListShardsOutput$NextToken": "

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$NextToken": "

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.

", + "ListStreamConsumersOutput$NextToken": "

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.

" } }, "PartitionKey": { "base": null, "refs": { - "PutRecordInput$PartitionKey": "

Determines which shard in the stream the data record is assigned to. Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis uses the partition key as input to a hash function that maps the partition key and associated data to a specific shard. Specifically, an MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream.

", - "PutRecordsRequestEntry$PartitionKey": "

Determines which shard in the stream the data record is assigned to. Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis uses the partition key as input to a hash function that maps the partition key and associated data to a specific shard. Specifically, an MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream.

", + "PutRecordInput$PartitionKey": "

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.

", + "PutRecordsRequestEntry$PartitionKey": "

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.

", "Record$PartitionKey": "

Identifies which shard in the stream the data record is assigned to.

" } }, @@ -334,10 +469,7 @@ "base": null, "refs": { "CreateStreamInput$ShardCount": "

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;

", - "DecreaseStreamRetentionPeriodInput$RetentionPeriodHours": "

The new retention period of the stream, in hours. Must be less than the current retention period.

", - "IncreaseStreamRetentionPeriodInput$RetentionPeriodHours": "

The new retention period of the stream, in hours. Must be more than the current retention period.

", "PutRecordsOutput$FailedRecordCount": "

The number of unsuccessfully processed records in a PutRecords request.

", - "StreamDescription$RetentionPeriodHours": "

The current retention period, in hours.

", "StreamDescriptionSummary$RetentionPeriodHours": "

The current retention period, in hours.

", "UpdateShardCountInput$TargetShardCount": "

The new number of shards.

", "UpdateShardCountOutput$CurrentShardCount": "

The current number of shards.

", @@ -345,7 +477,7 @@ } }, "ProvisionedThroughputExceededException": { - "base": "

The request rate for the stream is too high, or the requested data is too large for the available throughput. Reduce the frequency or size of your requests. For more information, see Streams Limits in the Amazon Kinesis Streams Developer Guide, and Error Retries and Exponential Backoff in AWS in the AWS General Reference.

", + "base": "

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.

", "refs": { } }, @@ -394,7 +526,7 @@ } }, "Record": { - "base": "

The unit of data of the Kinesis stream, which is composed of a sequence number, a partition key, and a data blob.

", + "base": "

The unit of data of the Kinesis data stream, which is composed of a sequence number, a partition key, and a data blob.

", "refs": { "RecordList$member": null } @@ -402,7 +534,18 @@ "RecordList": { "base": null, "refs": { - "GetRecordsOutput$Records": "

The data records retrieved from the shard.

" + "GetRecordsOutput$Records": "

The data records retrieved from the shard.

", + "SubscribeToShardEvent$Records": "

" + } + }, + "RegisterStreamConsumerInput": { + "base": null, + "refs": { + } + }, + "RegisterStreamConsumerOutput": { + "base": null, + "refs": { } }, "RemoveTagsFromStreamInput": { @@ -413,11 +556,21 @@ "ResourceInUseException": { "base": "

The resource is not available for this operation. For successful operation, the resource must be in the ACTIVE state.

", "refs": { + "SubscribeToShardEventStream$ResourceInUseException": null } }, "ResourceNotFoundException": { "base": "

The requested resource could not be found. The stream might not be specified correctly.

", "refs": { + "SubscribeToShardEventStream$ResourceNotFoundException": null + } + }, + "RetentionPeriodHours": { + "base": null, + "refs": { + "DecreaseStreamRetentionPeriodInput$RetentionPeriodHours": "

The new retention period of the stream, in hours. Must be less than the current retention period.

", + "IncreaseStreamRetentionPeriodInput$RetentionPeriodHours": "

The new retention period of the stream, in hours. Must be more than the current retention period.

", + "StreamDescription$RetentionPeriodHours": "

The current retention period, in hours.

" } }, "ScalingType": { @@ -435,7 +588,9 @@ "PutRecordsResultEntry$SequenceNumber": "

The sequence number for an individual record result.

", "Record$SequenceNumber": "

The unique identifier of the record within its shard.

", "SequenceNumberRange$StartingSequenceNumber": "

The starting sequence number for the range.

", - "SequenceNumberRange$EndingSequenceNumber": "

The ending sequence number for the range. Shards that are in the OPEN state have an ending sequence number of null.

" + "SequenceNumberRange$EndingSequenceNumber": "

The ending sequence number for the range. Shards that are in the OPEN state have an ending sequence number of null.

", + "StartingPosition$SequenceNumber": null, + "SubscribeToShardEvent$ContinuationSequenceNumber": "

Use this as StartingSequenceNumber in the next call to SubscribeToShard.

" } }, "SequenceNumberRange": { @@ -445,7 +600,7 @@ } }, "Shard": { - "base": "

A uniquely identified group of data records in a Kinesis stream.

", + "base": "

A uniquely identified group of data records in a Kinesis data stream.

", "refs": { "ShardList$member": null } @@ -462,7 +617,8 @@ "base": null, "refs": { "DescribeStreamInput$ExclusiveStartShardId": "

The shard ID of the shard to start with.

", - "GetShardIteratorInput$ShardId": "

The shard ID of the Kinesis Streams shard to get the iterator for.

", + "GetShardIteratorInput$ShardId": "

The shard ID of the Kinesis Data Streams shard to get the iterator for.

", + "ListShardsInput$ExclusiveStartShardId": "

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.

", "MergeShardsInput$ShardToMerge": "

The shard ID of the shard to combine with the adjacent shard for the merge.

", "MergeShardsInput$AdjacentShardToMerge": "

The shard ID of the adjacent shard for the merge.

", "PutRecordOutput$ShardId": "

The shard ID of the shard where the data record was placed.

", @@ -470,7 +626,8 @@ "Shard$ShardId": "

The unique identifier of the shard within the stream.

", "Shard$ParentShardId": "

The shard ID of the shard's parent.

", "Shard$AdjacentParentShardId": "

The shard ID of the shard adjacent to the shard's parent.

", - "SplitShardInput$ShardToSplit": "

The shard ID of the shard to split.

" + "SplitShardInput$ShardToSplit": "

The shard ID of the shard to split.

", + "SubscribeToShardInput$ShardId": "

The ID of the shard you want to subscribe to. To see a list of all the shards for a given stream, use ListShards.

" } }, "ShardIterator": { @@ -484,12 +641,14 @@ "ShardIteratorType": { "base": null, "refs": { - "GetShardIteratorInput$ShardIteratorType": "

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.

" + "GetShardIteratorInput$ShardIteratorType": "

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.

", + "StartingPosition$Type": null } }, "ShardList": { "base": null, "refs": { + "ListShardsOutput$Shards": "

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.

", "StreamDescription$Shards": "

The shards that comprise the stream.

" } }, @@ -503,6 +662,12 @@ "refs": { } }, + "StartingPosition": { + "base": null, + "refs": { + "SubscribeToShardInput$StartingPosition": null + } + }, "StopStreamEncryptionInput": { "base": null, "refs": { @@ -511,6 +676,11 @@ "StreamARN": { "base": null, "refs": { + "ConsumerDescription$StreamARN": "

The ARN of the stream with which you registered the consumer.

", + "DeregisterStreamConsumerInput$StreamARN": "

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.

", + "DescribeStreamConsumerInput$StreamARN": "

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.

", + "ListStreamConsumersInput$StreamARN": "

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.

", + "RegisterStreamConsumerInput$StreamARN": "

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.

", "StreamDescription$StreamARN": "

The Amazon Resource Name (ARN) for the stream being described.

", "StreamDescriptionSummary$StreamARN": "

The Amazon Resource Name (ARN) for the stream being described.

" } @@ -518,7 +688,7 @@ "StreamDescription": { "base": "

Represents the output for DescribeStream.

", "refs": { - "DescribeStreamOutput$StreamDescription": "

The current status of the stream, the stream ARN, an array of shard objects that comprise the stream, and whether there are more shards available.

" + "DescribeStreamOutput$StreamDescription": "

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.

" } }, "StreamDescriptionSummary": { @@ -531,16 +701,17 @@ "base": null, "refs": { "AddTagsToStreamInput$StreamName": "

The name of the stream.

", - "CreateStreamInput$StreamName": "

A name to identify the stream. The stream name is scoped to the AWS account used by the application that creates the stream. It is also scoped by region. That is, two streams in two different AWS accounts can have the same name. Two streams in the same AWS account but in two different regions can also have the same name.

", + "CreateStreamInput$StreamName": "

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.

", "DecreaseStreamRetentionPeriodInput$StreamName": "

The name of the stream to modify.

", "DeleteStreamInput$StreamName": "

The name of the stream to delete.

", "DescribeStreamInput$StreamName": "

The name of the stream to describe.

", "DescribeStreamSummaryInput$StreamName": "

The name of the stream to describe.

", - "DisableEnhancedMonitoringInput$StreamName": "

The name of the Kinesis stream for which to disable enhanced monitoring.

", + "DisableEnhancedMonitoringInput$StreamName": "

The name of the Kinesis data stream for which to disable enhanced monitoring.

", "EnableEnhancedMonitoringInput$StreamName": "

The name of the stream for which to enable enhanced monitoring.

", - "EnhancedMonitoringOutput$StreamName": "

The name of the Kinesis stream.

", - "GetShardIteratorInput$StreamName": "

The name of the Amazon Kinesis stream.

", + "EnhancedMonitoringOutput$StreamName": "

The name of the Kinesis data stream.

", + "GetShardIteratorInput$StreamName": "

The name of the Amazon Kinesis data stream.

", "IncreaseStreamRetentionPeriodInput$StreamName": "

The name of the stream to modify.

", + "ListShardsInput$StreamName": "

The name of the data stream whose shards you want to list.

You cannot specify this parameter if you specify the NextToken parameter.

", "ListStreamsInput$ExclusiveStartStreamName": "

The name of the stream to start the list with.

", "ListTagsForStreamInput$StreamName": "

The name of the stream.

", "MergeShardsInput$StreamName": "

The name of the stream for the merge.

", @@ -566,8 +737,30 @@ "StreamStatus": { "base": null, "refs": { - "StreamDescription$StreamStatus": "

The current status of the stream being described. The stream status is one of the following states:

  • CREATING - The stream is being created. Kinesis Streams immediately returns and sets StreamStatus to CREATING.

  • DELETING - The stream is being deleted. The specified stream is in the DELETING state until Kinesis 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.

", - "StreamDescriptionSummary$StreamStatus": "

The current status of the stream being described. The stream status is one of the following states:

  • CREATING - The stream is being created. Kinesis Streams immediately returns and sets StreamStatus to CREATING.

  • DELETING - The stream is being deleted. The specified stream is in the DELETING state until Kinesis 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.

" + "StreamDescription$StreamStatus": "

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.

", + "StreamDescriptionSummary$StreamStatus": "

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.

" + } + }, + "SubscribeToShardEvent": { + "base": "

After you call SubscribeToShard, Kinesis Data Streams sends events of this type to your consumer.

", + "refs": { + "SubscribeToShardEventStream$SubscribeToShardEvent": null + } + }, + "SubscribeToShardEventStream": { + "base": null, + "refs": { + "SubscribeToShardOutput$EventStream": "

The event stream that your consumer can use to read records from the shard.

" + } + }, + "SubscribeToShardInput": { + "base": null, + "refs": { + } + }, + "SubscribeToShardOutput": { + "base": null, + "refs": { } }, "Tag": { @@ -600,7 +793,7 @@ "TagMap": { "base": null, "refs": { - "AddTagsToStreamInput$Tags": "

The set of key-value pairs to use to create the tags.

" + "AddTagsToStreamInput$Tags": "

A set of up to 10 key-value pairs to use to create the tags.

" } }, "TagValue": { @@ -613,8 +806,13 @@ "Timestamp": { "base": null, "refs": { + "Consumer$ConsumerCreationTimestamp": "

", + "ConsumerDescription$ConsumerCreationTimestamp": "

", "GetShardIteratorInput$Timestamp": "

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).

", + "ListShardsInput$StreamCreationTimestamp": "

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.

", + "ListStreamConsumersInput$StreamCreationTimestamp": "

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.

", "Record$ApproximateArrivalTimestamp": "

The approximate time that the record was inserted into the stream.

", + "StartingPosition$Timestamp": null, "StreamDescription$StreamCreationTimestamp": "

The approximate time that the stream was created.

", "StreamDescriptionSummary$StreamCreationTimestamp": "

The approximate time that the stream was created.

" } diff --git a/models/apis/kinesis/2013-12-02/paginators-1.json b/models/apis/kinesis/2013-12-02/paginators-1.json index 118a5900551..c6f155e2569 100644 --- a/models/apis/kinesis/2013-12-02/paginators-1.json +++ b/models/apis/kinesis/2013-12-02/paginators-1.json @@ -7,6 +7,11 @@ "output_token": "StreamDescription.Shards[-1].ShardId", "result_key": "StreamDescription.Shards" }, + "ListStreamConsumers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, "ListStreams": { "input_token": "ExclusiveStartStreamName", "limit_key": "Limit", diff --git a/models/apis/kinesis/2013-12-02/smoke.json b/models/apis/kinesis/2013-12-02/smoke.json new file mode 100644 index 00000000000..59dfa395926 --- /dev/null +++ b/models/apis/kinesis/2013-12-02/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListStreams", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeStream", + "input": { + "StreamName": "bogus-stream-name" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/kinesisanalytics/2015-08-14/api-2.json b/models/apis/kinesisanalytics/2015-08-14/api-2.json index b9513c73c17..6af805aa381 100644 --- a/models/apis/kinesisanalytics/2015-08-14/api-2.json +++ b/models/apis/kinesisanalytics/2015-08-14/api-2.json @@ -7,6 +7,7 @@ "protocol":"json", "serviceAbbreviation":"Kinesis Analytics", "serviceFullName":"Amazon Kinesis Analytics", + "serviceId":"Kinesis Analytics", "signatureVersion":"v4", "targetPrefix":"KinesisAnalytics_20150814", "timestampFormat":"unixTimestamp", @@ -958,6 +959,31 @@ "RoleARNUpdate":{"shape":"RoleARN"} } }, + "LambdaOutput":{ + "type":"structure", + "required":[ + "ResourceARN", + "RoleARN" + ], + "members":{ + "ResourceARN":{"shape":"ResourceARN"}, + "RoleARN":{"shape":"RoleARN"} + } + }, + "LambdaOutputDescription":{ + "type":"structure", + "members":{ + "ResourceARN":{"shape":"ResourceARN"}, + "RoleARN":{"shape":"RoleARN"} + } + }, + "LambdaOutputUpdate":{ + "type":"structure", + "members":{ + "ResourceARNUpdate":{"shape":"ResourceARN"}, + "RoleARNUpdate":{"shape":"RoleARN"} + } + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -1011,6 +1037,7 @@ "Name":{"shape":"InAppStreamName"}, "KinesisStreamsOutput":{"shape":"KinesisStreamsOutput"}, "KinesisFirehoseOutput":{"shape":"KinesisFirehoseOutput"}, + "LambdaOutput":{"shape":"LambdaOutput"}, "DestinationSchema":{"shape":"DestinationSchema"} } }, @@ -1021,6 +1048,7 @@ "Name":{"shape":"InAppStreamName"}, "KinesisStreamsOutputDescription":{"shape":"KinesisStreamsOutputDescription"}, "KinesisFirehoseOutputDescription":{"shape":"KinesisFirehoseOutputDescription"}, + "LambdaOutputDescription":{"shape":"LambdaOutputDescription"}, "DestinationSchema":{"shape":"DestinationSchema"} } }, @@ -1036,6 +1064,7 @@ "NameUpdate":{"shape":"InAppStreamName"}, "KinesisStreamsOutputUpdate":{"shape":"KinesisStreamsOutputUpdate"}, "KinesisFirehoseOutputUpdate":{"shape":"KinesisFirehoseOutputUpdate"}, + "LambdaOutputUpdate":{"shape":"LambdaOutputUpdate"}, "DestinationSchemaUpdate":{"shape":"DestinationSchema"} } }, diff --git a/models/apis/kinesisanalytics/2015-08-14/docs-2.json b/models/apis/kinesisanalytics/2015-08-14/docs-2.json index b2f5dbd8969..cda8e9926e9 100644 --- a/models/apis/kinesisanalytics/2015-08-14/docs-2.json +++ b/models/apis/kinesisanalytics/2015-08-14/docs-2.json @@ -5,16 +5,16 @@ "AddApplicationCloudWatchLoggingOption": "

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": "

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": "

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": "

Adds an external destination to your Amazon Kinesis Analytics application.

If you want Amazon Kinesis Analytics to deliver data from an in-application stream within your application to an external destination (such as an Amazon Kinesis stream or a Firehose delivery stream), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination.

You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors. For conceptual information, see Understanding Application Output (Destination).

Note that any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

For the limits on the number of application inputs and outputs you can configure, see Limits.

This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action.

", + "AddApplicationOutput": "

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": "

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": "

Creates an Amazon Kinesis Analytics application. You can configure each application with one streaming source as input, application code to process the input, and up to five streaming destinations where you want Amazon Kinesis Analytics to write the output data from your application. For an overview, see How it Works.

In the input configuration, you map the streaming source to an in-application stream, which you can think of as a constantly updating table. In the mapping, you must provide a schema for the in-application stream and map each data column in the in-application stream to a data element in the streaming source.

Your application code is one or more SQL statements that read input data, transform it, and generate output. Your application code can create one or more SQL artifacts like SQL streams or pumps.

In the output configuration, you can configure the application to write data from in-application streams created in your applications to up to five streaming destinations.

To read data from your source stream or write data to destination streams, Amazon Kinesis Analytics needs your permissions. You grant these permissions by creating IAM roles. This operation requires permissions to perform the kinesisanalytics:CreateApplication action.

For introductory exercises to create an Amazon Kinesis Analytics application, see Getting Started.

", + "CreateApplication": "

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": "

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": "

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": "

Deletes an InputProcessingConfiguration from an input.

", "DeleteApplicationOutput": "

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": "

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": "

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": "

Infers a schema by evaluating sample records on the specified streaming source (Amazon Kinesis stream or Amazon Kinesis Firehose delivery stream). In the response, the operation returns the inferred schema and also the sample records that the operation used to infer the schema.

You can use the inferred schema when configuring a streaming source for your application. For conceptual information, see Configuring Application Input. Note that when you create an application using the Amazon Kinesis Analytics console, the console uses this operation to infer a schema and show it in the console user interface.

This operation requires permissions to perform the kinesisanalytics:DiscoverInputSchema action.

", + "DiscoverInputSchema": "

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": "

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": "

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": "

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.

", @@ -76,7 +76,7 @@ "refs": { "ApplicationDetail$ApplicationCode": "

Returns the application code that you provided to perform data analysis on any of the in-application streams in your application.

", "ApplicationUpdate$ApplicationCodeUpdate": "

Describes application code updates.

", - "CreateApplicationRequest$ApplicationCode": "

One or more SQL statements that read input data, transform it, and generate output. For example, you can write a SQL statement that reads data from one in-application stream, generates a running average of the number of advertisement clicks by vendor, and insert resulting rows in another in-application stream using pumps. For more inforamtion about the typical pattern, see Application Code.

You can provide such series of SQL statements, where output of one statement can be used as the input for the next statement. You store intermediate results by creating in-application streams and pumps.

Note that the application code must create the streams with names specified in the Outputs. For example, if your Outputs defines output streams named ExampleOutputStream1 and ExampleOutputStream2, then your application code must create these streams.

" + "CreateApplicationRequest$ApplicationCode": "

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.

" } }, "ApplicationDescription": { @@ -147,7 +147,7 @@ "AddApplicationCloudWatchLoggingOptionRequest$CurrentApplicationVersionId": "

The version ID of the Kinesis Analytics application.

", "AddApplicationInputProcessingConfigurationRequest$CurrentApplicationVersionId": "

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.

", "AddApplicationInputRequest$CurrentApplicationVersionId": "

Current version of your Amazon Kinesis Analytics application. You can use the DescribeApplication operation to find the current application version.

", - "AddApplicationOutputRequest$CurrentApplicationVersionId": "

Version of the application to which you want add the output configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

", + "AddApplicationOutputRequest$CurrentApplicationVersionId": "

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.

", "AddApplicationReferenceDataSourceRequest$CurrentApplicationVersionId": "

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.

", "ApplicationDetail$ApplicationVersionId": "

Provides the current application version.

", "DeleteApplicationCloudWatchLoggingOptionRequest$CurrentApplicationVersionId": "

The version ID of the Kinesis Analytics application.

", @@ -166,7 +166,7 @@ "BucketARN": { "base": null, "refs": { - "S3Configuration$BucketARN": null, + "S3Configuration$BucketARN": "

ARN of the S3 bucket that contains the data.

", "S3ReferenceDataSource$BucketARN": "

Amazon Resource Name (ARN) of the S3 bucket.

", "S3ReferenceDataSourceDescription$BucketARN": "

Amazon Resource Name (ARN) of the S3 bucket.

", "S3ReferenceDataSourceUpdate$BucketARNUpdate": "

Amazon Resource Name (ARN) of the S3 bucket.

" @@ -298,9 +298,9 @@ "DestinationSchema": { "base": "

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

", "refs": { - "Output$DestinationSchema": null, + "Output$DestinationSchema": "

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

", "OutputDescription$DestinationSchema": "

Data format used for writing data to the destination.

", - "OutputUpdate$DestinationSchemaUpdate": null + "OutputUpdate$DestinationSchemaUpdate": "

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" } }, "DiscoverInputSchemaRequest": { @@ -331,7 +331,7 @@ "FileKey": { "base": null, "refs": { - "S3Configuration$FileKey": null, + "S3Configuration$FileKey": "

The name of the object that contains the data.

", "S3ReferenceDataSource$FileKey": "

Object key name containing reference data.

", "S3ReferenceDataSourceDescription$FileKey": "

Amazon S3 object key name.

", "S3ReferenceDataSourceUpdate$FileKeyUpdate": "

Object key name.

" @@ -340,11 +340,11 @@ "Id": { "base": null, "refs": { - "AddApplicationInputProcessingConfigurationRequest$InputId": "

The ID of the input configuration to which to add the input configuration. You can get a list of the input IDs for an application using the DescribeApplication operation.

", + "AddApplicationInputProcessingConfigurationRequest$InputId": "

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.

", "CloudWatchLoggingOptionDescription$CloudWatchLoggingOptionId": "

ID of the CloudWatch logging option description.

", "CloudWatchLoggingOptionUpdate$CloudWatchLoggingOptionId": "

ID of the CloudWatch logging option to update

", - "DeleteApplicationCloudWatchLoggingOptionRequest$CloudWatchLoggingOptionId": "

The CloudWatchLoggingOptionId of the CloudWatch logging option to delete. You can use the DescribeApplication operation to get the CloudWatchLoggingOptionId.

", - "DeleteApplicationInputProcessingConfigurationRequest$InputId": "

The ID of the input configuration from which to delete the input configuration. You can get a list of the input IDs for an application using the DescribeApplication operation.

", + "DeleteApplicationCloudWatchLoggingOptionRequest$CloudWatchLoggingOptionId": "

The CloudWatchLoggingOptionId of the CloudWatch logging option to delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation.

", + "DeleteApplicationInputProcessingConfigurationRequest$InputId": "

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.

", "DeleteApplicationOutputRequest$OutputId": "

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.

", "DeleteApplicationReferenceDataSourceRequest$ReferenceId": "

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.

", "InputConfiguration$Id": "

Input source ID. You can get this ID by calling the DescribeApplication operation.

", @@ -360,7 +360,7 @@ "base": null, "refs": { "InAppStreamNames$member": null, - "Input$NamePrefix": "

Name prefix to use when creating in-application stream. Suppose you specify a prefix \"MyInApplicationStream\". Amazon Kinesis Analytics will then create one or more (as per the InputParallelism count you specified) in-application streams with names \"MyInApplicationStream_001\", \"MyInApplicationStream_002\" and so on.

", + "Input$NamePrefix": "

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.

", "InputDescription$NamePrefix": "

In-application name prefix.

", "InputUpdate$NamePrefixUpdate": "

Name prefix for in-application streams that Amazon Kinesis Analytics creates for the specific streaming source.

", "Output$Name": "

Name of the in-application stream.

", @@ -414,13 +414,13 @@ } }, "InputLambdaProcessor": { - "base": "

An object that contains the ARN of the AWS Lambda function that is used to preprocess records in the stream, and the ARN of the IAM role used to access the AWS Lambda function.

", + "base": "

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.

", "refs": { - "InputProcessingConfiguration$InputLambdaProcessor": "

The InputLambdaProcessor that is used to preprocess the records in the stream prior to being processed by your application code.

" + "InputProcessingConfiguration$InputLambdaProcessor": "

The InputLambdaProcessor that is used to preprocess the records in the stream before being processed by your application code.

" } }, "InputLambdaProcessorDescription": { - "base": "

An object that contains the ARN of the AWS Lambda function that is used to preprocess records in the stream, and the ARN of the IAM role used to access the AWS Lambda expression.

", + "base": "

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.

", "refs": { "InputProcessingConfigurationDescription$InputLambdaProcessorDescription": "

Provides configuration information about the associated InputLambdaProcessorDescription.

" } @@ -434,7 +434,7 @@ "InputParallelism": { "base": "

Describes the number of in-application streams to create for a given streaming source. For information about parallelism, see Configuring Application Input.

", "refs": { - "Input$InputParallelism": "

Describes the number of in-application streams to create.

Data from your source will be routed to these in-application input streams.

(see Configuring Application Input.

", + "Input$InputParallelism": "

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.

", "InputDescription$InputParallelism": "

Describes the configured parallelism (number of in-application streams mapped to the streaming source).

" } }, @@ -452,11 +452,11 @@ } }, "InputProcessingConfiguration": { - "base": "

Provides a description of a processor that is used to preprocess the records in the stream prior to being processed by your application code. Currently, the only input processor available is AWS Lambda.

", + "base": "

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.

", "refs": { "AddApplicationInputProcessingConfigurationRequest$InputProcessingConfiguration": "

The InputProcessingConfiguration to add to the application.

", "DiscoverInputSchemaRequest$InputProcessingConfiguration": "

The InputProcessingConfiguration to use to preprocess the records before discovering the schema of the records.

", - "Input$InputProcessingConfiguration": "

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.

" + "Input$InputProcessingConfiguration": "

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.

" } }, "InputProcessingConfigurationDescription": { @@ -480,7 +480,7 @@ "InputStartingPosition": { "base": null, "refs": { - "InputStartingPositionConfiguration$InputStartingPosition": "

The starting position on the stream.

  • NOW - Start reading just after the most recent record in the stream, start at the request timestamp that the customer issued.

  • TRIM_HORIZON - Start reading at the last untrimmed record in the stream, which is the oldest record available in the stream. This option is not available for an Amazon Kinesis Firehose delivery stream.

  • LAST_STOPPED_POINT - Resume reading from where the application last stopped reading.

" + "InputStartingPositionConfiguration$InputStartingPosition": "

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.

" } }, "InputStartingPositionConfiguration": { @@ -506,7 +506,7 @@ "Inputs": { "base": null, "refs": { - "CreateApplicationRequest$Inputs": "

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.

" + "CreateApplicationRequest$Inputs": "

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.

" } }, "InvalidApplicationConfigurationException": { @@ -526,21 +526,21 @@ } }, "KinesisFirehoseInput": { - "base": "

Identifies an Amazon Kinesis Firehose delivery stream as the streaming source. You provide the Firehose delivery stream's Amazon Resource Name (ARN) and an IAM role ARN that enables Amazon Kinesis Analytics to access the stream on your behalf.

", + "base": "

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.

", "refs": { - "Input$KinesisFirehoseInput": "

If the streaming source is an Amazon Kinesis Firehose delivery stream, identifies the Firehose delivery stream's ARN and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

Note: Either KinesisStreamsInput or KinesisFirehoseInput is required.

" + "Input$KinesisFirehoseInput": "

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.

" } }, "KinesisFirehoseInputDescription": { "base": "

Describes the Amazon Kinesis Firehose delivery stream that is configured as the streaming source in the application input configuration.

", "refs": { - "InputDescription$KinesisFirehoseInputDescription": "

If an Amazon Kinesis Firehose delivery stream is configured as a streaming source, provides the Firehose delivery stream's Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

" + "InputDescription$KinesisFirehoseInputDescription": "

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.

" } }, "KinesisFirehoseInputUpdate": { "base": "

When updating application input configuration, provides information about an Amazon Kinesis Firehose delivery stream as the streaming source.

", "refs": { - "InputUpdate$KinesisFirehoseInputUpdate": "

If an Amazon Kinesis Firehose delivery stream is the streaming source to be updated, provides an updated stream Amazon Resource Name (ARN) and IAM role ARN.

" + "InputUpdate$KinesisFirehoseInputUpdate": "

If an Amazon Kinesis Firehose delivery stream is the streaming source to be updated, provides an updated stream ARN and IAM role ARN.

" } }, "KinesisFirehoseOutput": { @@ -558,11 +558,11 @@ "KinesisFirehoseOutputUpdate": { "base": "

When updating an output configuration using the UpdateApplication operation, provides information about an Amazon Kinesis Firehose delivery stream configured as the destination.

", "refs": { - "OutputUpdate$KinesisFirehoseOutputUpdate": "

Describes a Amazon Kinesis Firehose delivery stream as the destination for the output.

" + "OutputUpdate$KinesisFirehoseOutputUpdate": "

Describes an Amazon Kinesis Firehose delivery stream as the destination for the output.

" } }, "KinesisStreamsInput": { - "base": "

Identifies an Amazon Kinesis stream as the streaming source. You provide the stream's ARN and an IAM role ARN that enables Amazon Kinesis Analytics to access the stream on your behalf.

", + "base": "

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.

", "refs": { "Input$KinesisStreamsInput": "

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.

" } @@ -570,17 +570,17 @@ "KinesisStreamsInputDescription": { "base": "

Describes the Amazon Kinesis stream that is configured as the streaming source in the application input configuration.

", "refs": { - "InputDescription$KinesisStreamsInputDescription": "

If an Amazon Kinesis stream is configured as streaming source, provides Amazon Kinesis stream's ARN and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

" + "InputDescription$KinesisStreamsInputDescription": "

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.

" } }, "KinesisStreamsInputUpdate": { "base": "

When updating application input configuration, provides information about an Amazon Kinesis stream as the streaming source.

", "refs": { - "InputUpdate$KinesisStreamsInputUpdate": "

If a Amazon Kinesis stream is the streaming source to be updated, provides an updated stream ARN and IAM role ARN.

" + "InputUpdate$KinesisStreamsInputUpdate": "

If an Amazon Kinesis stream is the streaming source to be updated, provides an updated stream Amazon Resource Name (ARN) and IAM role ARN.

" } }, "KinesisStreamsOutput": { - "base": "

When configuring application output, identifies a Amazon Kinesis stream as the destination. You provide the stream Amazon Resource Name (ARN) and also an IAM role ARN that Amazon Kinesis Analytics can use to write to the stream on your behalf.

", + "base": "

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.

", "refs": { "Output$KinesisStreamsOutput": "

Identifies an Amazon Kinesis stream as the destination.

" } @@ -597,6 +597,24 @@ "OutputUpdate$KinesisStreamsOutputUpdate": "

Describes an Amazon Kinesis stream as the destination for the output.

" } }, + "LambdaOutput": { + "base": "

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.

", + "refs": { + "Output$LambdaOutput": "

Identifies an AWS Lambda function as the destination.

" + } + }, + "LambdaOutputDescription": { + "base": "

For an application output, describes the AWS Lambda function configured as its destination.

", + "refs": { + "OutputDescription$LambdaOutputDescription": "

Describes the AWS Lambda function configured as the destination where output is written.

" + } + }, + "LambdaOutputUpdate": { + "base": "

When updating an output configuration using the UpdateApplication operation, provides information about an AWS Lambda function configured as the destination.

", + "refs": { + "OutputUpdate$LambdaOutputUpdate": "

Describes an AWS Lambda function as the destination for the output.

" + } + }, "LimitExceededException": { "base": "

Exceeded the number of applications allowed.

", "refs": { @@ -629,13 +647,13 @@ "MappingParameters": { "base": "

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.

", "refs": { - "RecordFormat$MappingParameters": null + "RecordFormat$MappingParameters": "

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": { "base": "

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.

", "refs": { - "AddApplicationOutputRequest$Output": "

An array of objects, each describing one output configuration. In the output configuration, you specify the name of an in-application stream, a destination (that is, an Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream), and record the formation to use when writing to the destination.

", + "AddApplicationOutputRequest$Output": "

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.

", "Outputs$member": null } }, @@ -666,7 +684,7 @@ "Outputs": { "base": null, "refs": { - "CreateApplicationRequest$Outputs": "

You can configure application output to write data from any of the in-application streams to up to five destinations.

These destinations can be Amazon Kinesis streams, Amazon Kinesis Firehose delivery streams, or both.

In the configuration, you specify the in-application stream name, the destination stream Amazon Resource Name (ARN), and the format to use when writing data. You must also provide an IAM role that Amazon Kinesis Analytics can assume to write to the destination stream on your behalf.

In the output configuration, you also provide the output stream Amazon Resource Name (ARN) and the format of data in the stream (for example, JSON, CSV). You also must provide an IAM role that Amazon Kinesis Analytics can assume to write to this stream on your behalf.

" + "CreateApplicationRequest$Outputs": "

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.

" } }, "ParsedInputRecord": { @@ -821,10 +839,10 @@ "DiscoverInputSchemaRequest$ResourceARN": "

Amazon Resource Name (ARN) of the streaming source.

", "InputLambdaProcessor$ResourceARN": "

The ARN of the AWS Lambda function that operates on records in the stream.

", "InputLambdaProcessorDescription$ResourceARN": "

The ARN of the AWS Lambda function that is used to preprocess the records in the stream.

", - "InputLambdaProcessorUpdate$ResourceARNUpdate": "

The ARN of the new AWS Lambda function that is used to preprocess the records in the stream.

", - "KinesisFirehoseInput$ResourceARN": "

ARN of the input Firehose delivery stream.

", + "InputLambdaProcessorUpdate$ResourceARNUpdate": "

The Amazon Resource Name (ARN) of the new AWS Lambda function that is used to preprocess the records in the stream.

", + "KinesisFirehoseInput$ResourceARN": "

ARN of the input delivery stream.

", "KinesisFirehoseInputDescription$ResourceARN": "

Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream.

", - "KinesisFirehoseInputUpdate$ResourceARNUpdate": "

ARN of the input Amazon Kinesis Firehose delivery stream to read.

", + "KinesisFirehoseInputUpdate$ResourceARNUpdate": "

Amazon Resource Name (ARN) of the input Amazon Kinesis Firehose delivery stream to read.

", "KinesisFirehoseOutput$ResourceARN": "

ARN of the destination Amazon Kinesis Firehose delivery stream to write to.

", "KinesisFirehoseOutputDescription$ResourceARN": "

Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream.

", "KinesisFirehoseOutputUpdate$ResourceARNUpdate": "

Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream to write to.

", @@ -833,7 +851,10 @@ "KinesisStreamsInputUpdate$ResourceARNUpdate": "

Amazon Resource Name (ARN) of the input Amazon Kinesis stream to read.

", "KinesisStreamsOutput$ResourceARN": "

ARN of the destination Amazon Kinesis stream to write to.

", "KinesisStreamsOutputDescription$ResourceARN": "

Amazon Resource Name (ARN) of the Amazon Kinesis stream.

", - "KinesisStreamsOutputUpdate$ResourceARNUpdate": "

Amazon Resource Name (ARN) of the Amazon Kinesis stream where you want to write the output.

" + "KinesisStreamsOutputUpdate$ResourceARNUpdate": "

Amazon Resource Name (ARN) of the Amazon Kinesis stream where you want to write the output.

", + "LambdaOutput$ResourceARN": "

Amazon Resource Name (ARN) of the destination Lambda function to write to.

", + "LambdaOutputDescription$ResourceARN": "

Amazon Resource Name (ARN) of the destination Lambda function.

", + "LambdaOutputUpdate$ResourceARNUpdate": "

Amazon Resource Name (ARN) of the destination Lambda function.

" } }, "ResourceInUseException": { @@ -858,12 +879,12 @@ "CloudWatchLoggingOptionDescription$RoleARN": "

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.

", "CloudWatchLoggingOptionUpdate$RoleARNUpdate": "

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.

", "DiscoverInputSchemaRequest$RoleARN": "

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf.

", - "InputLambdaProcessor$RoleARN": "

The ARN of the IAM role used to access the AWS Lambda function.

", - "InputLambdaProcessorDescription$RoleARN": "

The ARN of the IAM role used to access the AWS Lambda function.

", - "InputLambdaProcessorUpdate$RoleARNUpdate": "

The ARN of the new IAM role used to access the AWS Lambda function.

", + "InputLambdaProcessor$RoleARN": "

The ARN of the IAM role that is used to access the AWS Lambda function.

", + "InputLambdaProcessorDescription$RoleARN": "

The ARN of the IAM role that is used to access the AWS Lambda function.

", + "InputLambdaProcessorUpdate$RoleARNUpdate": "

The ARN of the new IAM role that is used to access the AWS Lambda function.

", "KinesisFirehoseInput$RoleARN": "

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.

", "KinesisFirehoseInputDescription$RoleARN": "

ARN of the IAM role that Amazon Kinesis Analytics assumes to access the stream.

", - "KinesisFirehoseInputUpdate$RoleARNUpdate": "

Amazon Resource Name (ARN) of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant necessary permissions to this role.

", + "KinesisFirehoseInputUpdate$RoleARNUpdate": "

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.

", "KinesisFirehoseOutput$RoleARN": "

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.

", "KinesisFirehoseOutputDescription$RoleARN": "

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream.

", "KinesisFirehoseOutputUpdate$RoleARNUpdate": "

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.

", @@ -873,22 +894,25 @@ "KinesisStreamsOutput$RoleARN": "

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.

", "KinesisStreamsOutputDescription$RoleARN": "

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream.

", "KinesisStreamsOutputUpdate$RoleARNUpdate": "

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.

", - "S3Configuration$RoleARN": null, + "LambdaOutput$RoleARN": "

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.

", + "LambdaOutputDescription$RoleARN": "

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination function.

", + "LambdaOutputUpdate$RoleARNUpdate": "

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.

", + "S3Configuration$RoleARN": "

IAM ARN of the role used to access the data.

", "S3ReferenceDataSource$ReferenceRoleARN": "

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.

", "S3ReferenceDataSourceDescription$ReferenceRoleARN": "

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.

", "S3ReferenceDataSourceUpdate$ReferenceRoleARNUpdate": "

ARN of the IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object and populate the in-application.

" } }, "S3Configuration": { - "base": null, + "base": "

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.

", "refs": { - "DiscoverInputSchemaRequest$S3Configuration": null + "DiscoverInputSchemaRequest$S3Configuration": "

Specify this parameter to discover a schema from data in an S3 object.

" } }, "S3ReferenceDataSource": { "base": "

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.

", "refs": { - "ReferenceDataSource$S3ReferenceDataSource": null + "ReferenceDataSource$S3ReferenceDataSource": "

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": { @@ -914,9 +938,9 @@ "DiscoverInputSchemaResponse$InputSchema": "

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.

", "Input$InputSchema": "

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.

", "InputDescription$InputSchema": "

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.

", - "ReferenceDataSource$ReferenceSchema": null, - "ReferenceDataSourceDescription$ReferenceSchema": null, - "ReferenceDataSourceUpdate$ReferenceSchemaUpdate": null + "ReferenceDataSource$ReferenceSchema": "

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.

", + "ReferenceDataSourceDescription$ReferenceSchema": "

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.

", + "ReferenceDataSourceUpdate$ReferenceSchemaUpdate": "

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": { @@ -942,8 +966,8 @@ "Timestamp": { "base": null, "refs": { - "ApplicationDetail$CreateTimestamp": "

Timestamp when the application version was created.

", - "ApplicationDetail$LastUpdateTimestamp": "

Timestamp when the application was last updated.

", + "ApplicationDetail$CreateTimestamp": "

Time stamp when the application version was created.

", + "ApplicationDetail$LastUpdateTimestamp": "

Time stamp when the application was last updated.

", "DeleteApplicationRequest$CreateTimestamp": "

You can use the DescribeApplication operation to get this value.

" } }, diff --git a/models/apis/kinesisvideo/2017-09-30/api-2.json b/models/apis/kinesisvideo/2017-09-30/api-2.json index 487e95cd549..6f551c9806b 100644 --- a/models/apis/kinesisvideo/2017-09-30/api-2.json +++ b/models/apis/kinesisvideo/2017-09-30/api-2.json @@ -177,7 +177,8 @@ "PUT_MEDIA", "GET_MEDIA", "LIST_FRAGMENTS", - "GET_MEDIA_FOR_FRAGMENT_LIST" + "GET_MEDIA_FOR_FRAGMENT_LIST", + "GET_HLS_STREAMING_SESSION_URL" ] }, "AccountStreamLimitExceededException":{ diff --git a/models/apis/kinesisvideo/2017-09-30/docs-2.json b/models/apis/kinesisvideo/2017-09-30/docs-2.json index 1ed86e3e4e7..897cd1ca020 100644 --- a/models/apis/kinesisvideo/2017-09-30/docs-2.json +++ b/models/apis/kinesisvideo/2017-09-30/docs-2.json @@ -61,7 +61,7 @@ "DataRetentionInHours": { "base": null, "refs": { - "CreateStreamInput$DataRetentionInHours": "

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.

", + "CreateStreamInput$DataRetentionInHours": "

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.

", "StreamInfo$DataRetentionInHours": "

How long the stream retains data, in hours.

" } }, @@ -177,7 +177,7 @@ "refs": { "CreateStreamInput$MediaType": "

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).

", "StreamInfo$MediaType": "

The MediaType of the stream.

", - "UpdateStreamInput$MediaType": "

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.

" + "UpdateStreamInput$MediaType": "

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.

" } }, "NextToken": { @@ -352,7 +352,7 @@ } }, "VersionMismatchException": { - "base": "

The stream version that you specified is not the latest version. To get the latest version, use the DescribeStream API.

", + "base": "

The stream version that you specified is not the latest version. To get the latest version, use the DescribeStream API.

", "refs": { } } diff --git a/models/apis/kms/2014-11-01/api-2.json b/models/apis/kms/2014-11-01/api-2.json index 604eb051c00..4a40010f9aa 100644 --- a/models/apis/kms/2014-11-01/api-2.json +++ b/models/apis/kms/2014-11-01/api-2.json @@ -491,6 +491,7 @@ }, "input":{"shape":"RetireGrantRequest"}, "errors":[ + {"shape":"InvalidArnException"}, {"shape":"InvalidGrantTokenException"}, {"shape":"InvalidGrantIdException"}, {"shape":"NotFoundException"}, @@ -1186,6 +1187,7 @@ "ListAliasesRequest":{ "type":"structure", "members":{ + "KeyId":{"shape":"KeyIdType"}, "Limit":{"shape":"LimitType"}, "Marker":{"shape":"MarkerType"} } diff --git a/models/apis/kms/2014-11-01/docs-2.json b/models/apis/kms/2014-11-01/docs-2.json index 935845654db..2ed345bf746 100644 --- a/models/apis/kms/2014-11-01/docs-2.json +++ b/models/apis/kms/2014-11-01/docs-2.json @@ -1,42 +1,42 @@ { "version": "2.0", - "service": "AWS Key Management Service

AWS Key Management Service (AWS KMS) is an encryption and key management web service. This guide describes the AWS KMS operations that you can call programmatically. For general information about AWS KMS, see the AWS Key Management Service Developer Guide.

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS KMS and other AWS services. For example, the SDKs take care of tasks such as signing requests (see below), managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

We recommend that you use the AWS SDKs to make programmatic API calls to AWS KMS.

Clients must support TLS (Transport Layer Security) 1.0. We recommend TLS 1.2. Clients must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems such as Java 7 and later support these modes.

Signing Requests

Requests must be signed by using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account (root) access key ID and secret key for everyday work with AWS KMS. Instead, use the access key ID and secret access key for an IAM user, or you can use the AWS Security Token Service to generate temporary security credentials that you can use to sign requests.

All AWS KMS operations require Signature Version 4.

Logging API Requests

AWS KMS supports AWS CloudTrail, a service that logs AWS API calls and related events for your AWS account and delivers them to an Amazon S3 bucket that you specify. By using the information collected by CloudTrail, you can determine what requests were made to AWS KMS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

Additional Resources

For more information about credentials and request signing, see the following:

Commonly Used APIs

Of the APIs discussed in this guide, the following will prove the most useful for most applications. You will likely perform actions other than these, such as creating keys and assigning policies, by using the console.

", + "service": "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.

", "operations": { - "CancelKeyDeletion": "

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.

", - "CreateAlias": "

Creates a display name for a 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.

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 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.

", - "CreateGrant": "

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.

", - "CreateKey": "

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": "

Decrypts ciphertext. Ciphertext is plaintext that has been previously encrypted by using any of the following operations:

Note that if a caller has been granted access permissions to all keys (through, for example, IAM user policies that grant Decrypt permission on all resources), then ciphertext encrypted by using keys in other accounts where the key grants access to the caller can be decrypted. To remedy this, we recommend that you do not grant Decrypt access in an IAM user policy. Instead grant Decrypt access only in key policies. If you must grant Decrypt access in an IAM user policy, you should scope the resource to specific keys or to specific trusted accounts.

", + "CancelKeyDeletion": "

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": "

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": "

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": "

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": "

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": "

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": "

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.

", - "DescribeKey": "

Provides detailed information about the specified customer master key (CMK).

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": "

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.

", - "DisableKeyRotation": "

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.

", - "EnableKey": "

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.

", - "EnableKeyRotation": "

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.

", - "Encrypt": "

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.

  • To move encrypted data from one AWS region to another, you can use this operation to encrypt in the new region the plaintext data key that was used to encrypt the data in the original region. This provides you with an encrypted copy of the data key that can be decrypted in the new region and used there to decrypt the encrypted data.

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.

Unless you are moving encrypted data from one region to another, you don't use this operation to encrypt a generated data key within a region. To get data keys that are already encrypted, call the GenerateDataKey or GenerateDataKeyWithoutPlaintext operation. Data keys don't need to be encrypted again by calling Encrypt.

To encrypt data locally in your application, use the GenerateDataKey operation to return a plaintext data encryption key and a copy of the key encrypted under the CMK of your choosing.

", - "GenerateDataKey": "

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.

", - "GenerateDataKeyWithoutPlaintext": "

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, 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.

", + "DeleteImportedKeyMaterial": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Gets a Boolean value that indicates whether automatic rotation of the key material is enabled 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.

", - "GetParametersForImport": "

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.

", - "ImportKeyMaterial": "

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.

", - "ListAliases": "

Gets a list of all aliases in the caller's AWS account and region. You cannot list aliases in other accounts. For more information about aliases, see CreateAlias.

The response might include several aliases that do not have a TargetKeyId field because they are not associated with a CMK. These are predefined aliases that are reserved for CMKs managed by AWS services. If an alias is not associated with a CMK, the alias does not count against the alias limit for your account.

", - "ListGrants": "

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.

", + "GetKeyRotationStatus": "

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": "

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": "

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": "

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": "

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": "

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": "

Gets a list of all customer master keys (CMKs) in the caller's AWS account and region.

", "ListResourceTags": "

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": "

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": "

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": "

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.

", + "ReEncrypt": "

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": "

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": "

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": "

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.

", - "TagResource": "

Adds or overwrites one or more tags for the specified 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 cannot use the same tag key more than once per CMK. For example, consider a CMK with one tag whose tag key is Purpose and tag value is Test. If you send a TagResource request for this CMK with a tag key of Purpose and a tag value of Prod, it does not create a second tag. Instead, the original tag is overwritten with the new tag value.

For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.

", - "UntagResource": "

Removes the specified tag or 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, you specify the tag key for each tag to remove. You do not specify the tag value. To overwrite the tag value for an existing tag, use TagResource.

", - "UpdateAlias": "

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).

", - "UpdateKeyDescription": "

Updates the description of a customer master key (CMK). To see the decription of a CMK, use DescribeKey.

You cannot perform this operation on a CMK in a different AWS account.

" + "RevokeGrant": "

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": "

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": "

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": "

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": "

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": "

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": { @@ -48,7 +48,7 @@ "AlgorithmSpec": { "base": null, "refs": { - "GetParametersForImportRequest$WrappingAlgorithm": "

The algorithm you will use to encrypt the key material before importing it with ImportKeyMaterial. For more information, see Encrypt the Key Material in the AWS Key Management Service Developer Guide.

" + "GetParametersForImportRequest$WrappingAlgorithm": "

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.

" } }, "AliasList": { @@ -67,7 +67,7 @@ "base": null, "refs": { "AliasListEntry$AliasName": "

String that contains the alias.

", - "CreateAliasRequest$AliasName": "

String that contains the display name. The name must start with the word \"alias\" followed by a forward slash (alias/). Aliases that begin with \"alias/AWS\" are reserved.

", + "CreateAliasRequest$AliasName": "

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.

", "DeleteAliasRequest$AliasName": "

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.

", "UpdateAliasRequest$AliasName": "

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.

" } @@ -88,7 +88,7 @@ "BooleanType": { "base": null, "refs": { - "CreateKeyRequest$BypassPolicyLockoutSafetyCheck": "

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the likelihood that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you include a policy in the request and you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

", + "CreateKeyRequest$BypassPolicyLockoutSafetyCheck": "

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.

", "GetKeyRotationStatusResponse$KeyRotationEnabled": "

A Boolean value that specifies whether key rotation is enabled.

", "KeyMetadata$Enabled": "

Specifies whether the CMK is enabled. When KeyState is Enabled this value is true, otherwise it is false.

", "ListAliasesResponse$Truncated": "

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.

", @@ -96,7 +96,7 @@ "ListKeyPoliciesResponse$Truncated": "

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.

", "ListKeysResponse$Truncated": "

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.

", "ListResourceTagsResponse$Truncated": "

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.

", - "PutKeyPolicyRequest$BypassPolicyLockoutSafetyCheck": "

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the likelihood that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" + "PutKeyPolicyRequest$BypassPolicyLockoutSafetyCheck": "

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.

" } }, "CancelKeyDeletionRequest": { @@ -369,7 +369,7 @@ } }, "GrantConstraints": { - "base": "

A structure that you can use to allow certain operations in the grant only when the desired encryption context is present. For more information about encryption context, see Encryption Context in the AWS Key Management Service Developer Guide.

Grant constraints apply only to operations that accept encryption context as input. For example, the DescribeKey operation does not accept encryption context as input. A grant that allows the DescribeKey operation does so regardless of the grant constraints. In constrast, the Encrypt operation accepts encryption context as input. A grant that allows the Encrypt operation does so only when the encryption context of the Encrypt operation satisfies the grant constraints.

", + "base": "

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.

", "refs": { "CreateGrantRequest$Constraints": "

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.

", "GrantListEntry$Constraints": "

A list of key-value pairs that must be present in the encryption context of certain subsequent operations that the grant allows.

" @@ -399,7 +399,7 @@ "GrantNameType": { "base": null, "refs": { - "CreateGrantRequest$Name": "

A friendly name for identifying the grant. Use this value to prevent unintended creation of duplicate grants when retrying this request.

When this value is absent, all CreateGrant requests result in a new grant with a unique GrantId even if all the supplied parameters are identical. This can result in unintended duplicates when you retry the CreateGrant request.

When this value is present, you can retry a CreateGrant request with identical parameters; if the grant already exists, the original GrantId is returned without creating a new grant. Note that the returned grant token is unique with every CreateGrant request, even when a duplicate GrantId is returned. All grant tokens obtained in this way can be used interchangeably.

", + "CreateGrantRequest$Name": "

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.

", "GrantListEntry$Name": "

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.

" } }, @@ -511,16 +511,16 @@ "CreateGrantRequest$KeyId": "

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.

", "DecryptResponse$KeyId": "

ARN of the key used to perform the decryption. This value is returned if no errors are encountered during the operation.

", "DeleteImportedKeyMaterialRequest$KeyId": "

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.

", - "DescribeKeyRequest$KeyId": "

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.

", + "DescribeKeyRequest$KeyId": "

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.

", "DisableKeyRequest$KeyId": "

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$KeyId": "

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.

", "EnableKeyRequest$KeyId": "

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$KeyId": "

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$KeyId": "

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.

", + "EncryptRequest$KeyId": "

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.

", "EncryptResponse$KeyId": "

The ID of the key used during encryption.

", - "GenerateDataKeyRequest$KeyId": "

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.

", + "GenerateDataKeyRequest$KeyId": "

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.

", "GenerateDataKeyResponse$KeyId": "

The identifier of the CMK under which the data encryption key was generated and encrypted.

", - "GenerateDataKeyWithoutPlaintextRequest$KeyId": "

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.

", + "GenerateDataKeyWithoutPlaintextRequest$KeyId": "

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.

", "GenerateDataKeyWithoutPlaintextResponse$KeyId": "

The identifier of the CMK under which the data encryption key was generated and encrypted.

", "GetKeyPolicyRequest$KeyId": "

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.

", "GetKeyRotationStatusRequest$KeyId": "

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.

", @@ -530,11 +530,12 @@ "ImportKeyMaterialRequest$KeyId": "

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.

", "KeyListEntry$KeyId": "

Unique identifier of the key.

", "KeyMetadata$KeyId": "

The globally unique identifier for the CMK.

", + "ListAliasesRequest$KeyId": "

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.

", "ListGrantsRequest$KeyId": "

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.

", "ListKeyPoliciesRequest$KeyId": "

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.

", "ListResourceTagsRequest$KeyId": "

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.

", "PutKeyPolicyRequest$KeyId": "

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.

", - "ReEncryptRequest$DestinationKeyId": "

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.

", + "ReEncryptRequest$DestinationKeyId": "

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.

", "ReEncryptResponse$SourceKeyId": "

Unique identifier of the CMK used to originally encrypt the data.

", "ReEncryptResponse$KeyId": "

Unique identifier of the CMK used to reencrypt the data.

", "RetireGrantRequest$KeyId": "

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

", @@ -562,7 +563,7 @@ "KeyManagerType": { "base": null, "refs": { - "KeyMetadata$KeyManager": "

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.

" + "KeyMetadata$KeyManager": "

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.

" } }, "KeyMetadata": { @@ -721,13 +722,13 @@ "PolicyNameList": { "base": null, "refs": { - "ListKeyPoliciesResponse$PolicyNames": "

A list of policy names. Currently, there is only one policy and it is named \"Default\".

" + "ListKeyPoliciesResponse$PolicyNames": "

A list of key policy names. Currently, there is only one key policy per CMK and it is always named default.

" } }, "PolicyNameType": { "base": null, "refs": { - "GetKeyPolicyRequest$PolicyName": "

Specifies the name of the policy. The only valid name is default. To get the names of key policies, use ListKeyPolicies.

", + "GetKeyPolicyRequest$PolicyName": "

Specifies the name of the key policy. The only valid name is default. To get the names of key policies, use ListKeyPolicies.

", "PolicyNameList$member": null, "PutKeyPolicyRequest$PolicyName": "

The name of the key policy. The only valid value is default.

" } @@ -735,9 +736,9 @@ "PolicyType": { "base": null, "refs": { - "CreateKeyRequest$Policy": "

The key policy to attach to the CMK.

If you specify a policy and do not set BypassPolicyLockoutSafetyCheck to true, the policy must meet the following criteria:

  • It must allow the principal that is making the CreateKey request to make a subsequent PutKeyPolicy request on the CMK. This reduces the likelihood that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

  • The principals that are specified in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before specifying the new principal in a key policy because the new principal might not immediately be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM User Guide.

If you do not specify a policy, AWS KMS attaches a default key policy to the CMK. For more information, see Default Key Policy in the AWS Key Management Service Developer Guide.

The policy size limit is 32 kilobytes (32768 bytes).

", - "GetKeyPolicyResponse$Policy": "

A policy document in JSON format.

", - "PutKeyPolicyRequest$Policy": "

The key policy to attach to the CMK.

If you do not set BypassPolicyLockoutSafetyCheck to true, the policy must meet the following criteria:

  • It must allow the principal that is making the PutKeyPolicy request to make a subsequent PutKeyPolicy request on the CMK. This reduces the likelihood that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

  • The principals that are specified in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before specifying the new principal in a key policy because the new principal might not immediately be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM User Guide.

The policy size limit is 32 kilobytes (32768 bytes).

" + "CreateKeyRequest$Policy": "

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).

", + "GetKeyPolicyResponse$Policy": "

A key policy document in JSON format.

", + "PutKeyPolicyRequest$Policy": "

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).

" } }, "PrincipalIdType": { diff --git a/models/apis/kms/2014-11-01/smoke.json b/models/apis/kms/2014-11-01/smoke.json new file mode 100644 index 00000000000..4e7fa13f6d3 --- /dev/null +++ b/models/apis/kms/2014-11-01/smoke.json @@ -0,0 +1,19 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListAliases", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "GetKeyPolicy", + "input": { + "KeyId": "12345678-1234-1234-1234-123456789012", + "PolicyName": "fakePolicy" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/lambda/2014-11-11/api-2.json b/models/apis/lambda/2014-11-11/api-2.json deleted file mode 100644 index a8f192ac006..00000000000 --- a/models/apis/lambda/2014-11-11/api-2.json +++ /dev/null @@ -1,668 +0,0 @@ -{ - "metadata":{ - "uid":"lambda-2014-11-11", - "apiVersion":"2014-11-11", - "endpointPrefix":"lambda", - "serviceFullName":"AWS Lambda", - "signatureVersion":"v4", - "protocol":"rest-json" - }, - "operations":{ - "AddEventSource":{ - "name":"AddEventSource", - "http":{ - "method":"POST", - "requestUri":"/2014-11-13/event-source-mappings/" - }, - "input":{"shape":"AddEventSourceRequest"}, - "output":{"shape":"EventSourceConfiguration"}, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "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 - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true - } - ] - }, - "GetEventSource":{ - "name":"GetEventSource", - "http":{ - "method":"GET", - "requestUri":"/2014-11-13/event-source-mappings/{UUID}", - "responseCode":200 - }, - "input":{"shape":"GetEventSourceRequest"}, - "output":{"shape":"EventSourceConfiguration"}, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "GetFunction":{ - "name":"GetFunction", - "http":{ - "method":"GET", - "requestUri":"/2014-11-13/functions/{FunctionName}", - "responseCode":200 - }, - "input":{"shape":"GetFunctionRequest"}, - "output":{"shape":"GetFunctionResponse"}, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true - } - ] - }, - "GetFunctionConfiguration":{ - "name":"GetFunctionConfiguration", - "http":{ - "method":"GET", - "requestUri":"/2014-11-13/functions/{FunctionName}/configuration", - "responseCode":200 - }, - "input":{"shape":"GetFunctionConfigurationRequest"}, - "output":{"shape":"FunctionConfiguration"}, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true - } - ] - }, - "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", - "error":{"httpStatusCode":500}, - "exception":true - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"InvalidRequestContentException", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "ListEventSources":{ - "name":"ListEventSources", - "http":{ - "method":"GET", - "requestUri":"/2014-11-13/event-source-mappings/", - "responseCode":200 - }, - "input":{"shape":"ListEventSourcesRequest"}, - "output":{"shape":"ListEventSourcesResponse"}, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "ListFunctions":{ - "name":"ListFunctions", - "http":{ - "method":"GET", - "requestUri":"/2014-11-13/functions/", - "responseCode":200 - }, - "input":{"shape":"ListFunctionsRequest"}, - "output":{"shape":"ListFunctionsResponse"}, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true - } - ] - }, - "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 - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "UpdateFunctionConfiguration":{ - "name":"UpdateFunctionConfiguration", - "http":{ - "method":"PUT", - "requestUri":"/2014-11-13/functions/{FunctionName}/configuration", - "responseCode":200 - }, - "input":{"shape":"UpdateFunctionConfigurationRequest"}, - "output":{"shape":"FunctionConfiguration"}, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true - } - ] - }, - "UploadFunction":{ - "name":"UploadFunction", - "http":{ - "method":"PUT", - "requestUri":"/2014-11-13/functions/{FunctionName}", - "responseCode":201 - }, - "input":{"shape":"UploadFunctionRequest"}, - "output":{"shape":"FunctionConfiguration"}, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true - } - ] - } - }, - "shapes":{ - "AddEventSourceRequest":{ - "type":"structure", - "required":[ - "EventSource", - "FunctionName", - "Role" - ], - "members":{ - "EventSource":{"shape":"String"}, - "FunctionName":{"shape":"FunctionName"}, - "Role":{"shape":"RoleArn"}, - "BatchSize":{"shape":"Integer"}, - "Parameters":{"shape":"Map"} - } - }, - "Blob":{ - "type":"blob", - "streaming":true - }, - "DeleteFunctionRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "location":"uri", - "locationName":"FunctionName" - } - } - }, - "Description":{ - "type":"string", - "min":0, - "max":256 - }, - "EventSourceConfiguration":{ - "type":"structure", - "members":{ - "UUID":{"shape":"String"}, - "BatchSize":{"shape":"Integer"}, - "EventSource":{"shape":"String"}, - "FunctionName":{"shape":"FunctionName"}, - "Parameters":{"shape":"Map"}, - "Role":{"shape":"RoleArn"}, - "LastModified":{"shape":"Timestamp"}, - "IsActive":{"shape":"Boolean"}, - "Status":{"shape":"String"} - } - }, - "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"}, - "Location":{"shape":"String"} - } - }, - "FunctionConfiguration":{ - "type":"structure", - "members":{ - "FunctionName":{"shape":"FunctionName"}, - "FunctionARN":{"shape":"FunctionArn"}, - "ConfigurationId":{"shape":"String"}, - "Runtime":{"shape":"Runtime"}, - "Role":{"shape":"RoleArn"}, - "Handler":{"shape":"Handler"}, - "Mode":{"shape":"Mode"}, - "CodeSize":{"shape":"Long"}, - "Description":{"shape":"Description"}, - "Timeout":{"shape":"Timeout"}, - "MemorySize":{"shape":"MemorySize"}, - "LastModified":{"shape":"Timestamp"} - } - }, - "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" - } - } - }, - "GetFunctionConfigurationRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "location":"uri", - "locationName":"FunctionName" - } - } - }, - "GetFunctionRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "location":"uri", - "locationName":"FunctionName" - } - } - }, - "GetFunctionResponse":{ - "type":"structure", - "members":{ - "Configuration":{"shape":"FunctionConfiguration"}, - "Code":{"shape":"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 - }, - "InvalidRequestContentException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "message":{"shape":"String"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvokeAsyncRequest":{ - "type":"structure", - "required":[ - "FunctionName", - "InvokeArgs" - ], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "location":"uri", - "locationName":"FunctionName" - }, - "InvokeArgs":{"shape":"Blob"} - }, - "payload":"InvokeArgs" - }, - "InvokeAsyncResponse":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"HttpStatus", - "location":"statusCode" - } - } - }, - "ListEventSourcesRequest":{ - "type":"structure", - "members":{ - "EventSourceArn":{ - "shape":"String", - "location":"querystring", - "locationName":"EventSource" - }, - "FunctionName":{ - "shape":"FunctionName", - "location":"querystring", - "locationName":"FunctionName" - }, - "Marker":{ - "shape":"String", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"MaxListItems", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListEventSourcesResponse":{ - "type":"structure", - "members":{ - "NextMarker":{"shape":"String"}, - "EventSources":{"shape":"EventSourceList"} - } - }, - "ListFunctionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"MaxListItems", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListFunctionsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{"shape":"String"}, - "Functions":{"shape":"FunctionList"} - } - }, - "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" - } - } - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "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"] - }, - "ServiceException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "error":{"httpStatusCode":500}, - "exception":true - }, - "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" - }, - "Role":{ - "shape":"RoleArn", - "location":"querystring", - "locationName":"Role" - }, - "Handler":{ - "shape":"Handler", - "location":"querystring", - "locationName":"Handler" - }, - "Description":{ - "shape":"Description", - "location":"querystring", - "locationName":"Description" - }, - "Timeout":{ - "shape":"Timeout", - "location":"querystring", - "locationName":"Timeout" - }, - "MemorySize":{ - "shape":"MemorySize", - "location":"querystring", - "locationName":"MemorySize" - } - } - }, - "UploadFunctionRequest":{ - "type":"structure", - "required":[ - "FunctionName", - "FunctionZip", - "Runtime", - "Role", - "Handler", - "Mode" - ], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "location":"uri", - "locationName":"FunctionName" - }, - "FunctionZip":{"shape":"Blob"}, - "Runtime":{ - "shape":"Runtime", - "location":"querystring", - "locationName":"Runtime" - }, - "Role":{ - "shape":"RoleArn", - "location":"querystring", - "locationName":"Role" - }, - "Handler":{ - "shape":"Handler", - "location":"querystring", - "locationName":"Handler" - }, - "Mode":{ - "shape":"Mode", - "location":"querystring", - "locationName":"Mode" - }, - "Description":{ - "shape":"Description", - "location":"querystring", - "locationName":"Description" - }, - "Timeout":{ - "shape":"Timeout", - "location":"querystring", - "locationName":"Timeout" - }, - "MemorySize":{ - "shape":"MemorySize", - "location":"querystring", - "locationName":"MemorySize" - } - }, - "payload":"FunctionZip" - }, - "Boolean":{"type":"boolean"} - } -} diff --git a/models/apis/lambda/2014-11-11/docs-2.json b/models/apis/lambda/2014-11-11/docs-2.json deleted file mode 100644 index 4ef27761b33..00000000000 --- a/models/apis/lambda/2014-11-11/docs-2.json +++ /dev/null @@ -1,303 +0,0 @@ -{ - "operations": { - "AddEventSource": "

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": "

Deletes the specified Lambda function code and configuration.

This operation requires permission for the lambda:DeleteFunction action.

", - "GetEventSource": "

Returns configuration information for the specified event source mapping (see AddEventSource).

This operation requires permission for the lambda:GetEventSource action.

", - "GetFunction": "

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": "

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": "

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.

", - "ListEventSources": "

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": "

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": "

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": "

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": "

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.

" - }, - "service": "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.

", - "shapes": { - "AddEventSourceRequest": { - "base": null, - "refs": { - } - }, - "Blob": { - "base": null, - "refs": { - "InvokeAsyncRequest$InvokeArgs": "

JSON that you want to provide to your Lambda function as input.

", - "UploadFunctionRequest$FunctionZip": "

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.

" - } - }, - "DeleteFunctionRequest": { - "base": null, - "refs": { - } - }, - "Description": { - "base": null, - "refs": { - "FunctionConfiguration$Description": "

The user-provided description.

", - "UpdateFunctionConfigurationRequest$Description": "

A short user-defined function description. Lambda does not use this value. Assign a meaningful description as you see fit.

", - "UploadFunctionRequest$Description": "

A short, user-defined function description. Lambda does not use this value. Assign a meaningful description as you see fit.

" - } - }, - "EventSourceConfiguration": { - "base": "

Describes mapping between an Amazon Kinesis stream and a Lambda function.

", - "refs": { - "EventSourceList$member": null - } - }, - "EventSourceList": { - "base": null, - "refs": { - "ListEventSourcesResponse$EventSources": "

An arrary of EventSourceConfiguration objects.

" - } - }, - "FunctionArn": { - "base": null, - "refs": { - "FunctionConfiguration$FunctionARN": "

The Amazon Resource Name (ARN) assigned to the function.

" - } - }, - "FunctionCodeLocation": { - "base": "

The object for the Lambda function location.

", - "refs": { - "GetFunctionResponse$Code": null - } - }, - "FunctionConfiguration": { - "base": "

A complex type that describes function metadata.

", - "refs": { - "FunctionList$member": null, - "GetFunctionResponse$Configuration": null - } - }, - "FunctionList": { - "base": null, - "refs": { - "ListFunctionsResponse$Functions": "

A list of Lambda functions.

" - } - }, - "FunctionName": { - "base": null, - "refs": { - "AddEventSourceRequest$FunctionName": "

The Lambda function to invoke when AWS Lambda detects an event on the stream.

", - "DeleteFunctionRequest$FunctionName": "

The Lambda function to delete.

", - "EventSourceConfiguration$FunctionName": "

The Lambda function to invoke when AWS Lambda detects an event on the stream.

", - "FunctionConfiguration$FunctionName": "

The name of the function.

", - "GetFunctionConfigurationRequest$FunctionName": "

The name of the Lambda function for which you want to retrieve the configuration information.

", - "GetFunctionRequest$FunctionName": "

The Lambda function name.

", - "InvokeAsyncRequest$FunctionName": "

The Lambda function name.

", - "ListEventSourcesRequest$FunctionName": "

The name of the AWS Lambda function.

", - "UpdateFunctionConfigurationRequest$FunctionName": "

The name of the Lambda function.

", - "UploadFunctionRequest$FunctionName": "

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.

" - } - }, - "GetEventSourceRequest": { - "base": null, - "refs": { - } - }, - "GetFunctionConfigurationRequest": { - "base": null, - "refs": { - } - }, - "GetFunctionRequest": { - "base": null, - "refs": { - } - }, - "GetFunctionResponse": { - "base": "

This response contains the object for AWS Lambda function location (see API_FunctionCodeLocation

", - "refs": { - } - }, - "Handler": { - "base": null, - "refs": { - "FunctionConfiguration$Handler": "

The function Lambda calls to begin executing your function.

", - "UpdateFunctionConfigurationRequest$Handler": "

The function that Lambda calls to begin executing your function. For Node.js, it is the module-name.export value in your function.

", - "UploadFunctionRequest$Handler": "

The function that Lambda calls to begin execution. For Node.js, it is the module-name.export value in your function.

" - } - }, - "HttpStatus": { - "base": null, - "refs": { - "InvokeAsyncResponse$Status": "

It will be 202 upon success.

" - } - }, - "Integer": { - "base": null, - "refs": { - "AddEventSourceRequest$BatchSize": "

The largest number of records that AWS Lambda will give to your function in a single event. The default is 100 records.

", - "EventSourceConfiguration$BatchSize": "

The largest number of records that AWS Lambda will POST in the invocation request to your function.

" - } - }, - "InvalidParameterValueException": { - "base": "

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.

", - "refs": { - } - }, - "InvalidRequestContentException": { - "base": "

The request body could not be parsed as JSON.

", - "refs": { - } - }, - "InvokeAsyncRequest": { - "base": null, - "refs": { - } - }, - "InvokeAsyncResponse": { - "base": "

Upon success, it returns empty response. Otherwise, throws an exception.

", - "refs": { - } - }, - "ListEventSourcesRequest": { - "base": null, - "refs": { - } - }, - "ListEventSourcesResponse": { - "base": "

Contains a list of event sources (see API_EventSourceConfiguration)

", - "refs": { - } - }, - "ListFunctionsRequest": { - "base": null, - "refs": { - } - }, - "ListFunctionsResponse": { - "base": "

Contains a list of AWS Lambda function configurations (see API_FunctionConfiguration.

", - "refs": { - } - }, - "Long": { - "base": null, - "refs": { - "FunctionConfiguration$CodeSize": "

The size, in bytes, of the function .zip file you uploaded.

" - } - }, - "Map": { - "base": null, - "refs": { - "AddEventSourceRequest$Parameters": "

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.

", - "EventSourceConfiguration$Parameters": "

The map (key-value pairs) defining the configuration for AWS Lambda to use when reading the event source.

" - } - }, - "MaxListItems": { - "base": null, - "refs": { - "ListEventSourcesRequest$MaxItems": "

Optional integer. Specifies the maximum number of event sources to return in response. This value must be greater than 0.

", - "ListFunctionsRequest$MaxItems": "

Optional integer. Specifies the maximum number of AWS Lambda functions to return in response. This parameter value must be greater than 0.

" - } - }, - "MemorySize": { - "base": null, - "refs": { - "FunctionConfiguration$MemorySize": "

The memory size, in MB, you configured for the function. Must be a multiple of 64 MB.

", - "UpdateFunctionConfigurationRequest$MemorySize": "

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$MemorySize": "

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.

" - } - }, - "Mode": { - "base": null, - "refs": { - "FunctionConfiguration$Mode": "

The type of the Lambda function you uploaded.

", - "UploadFunctionRequest$Mode": "

How the Lambda function will be invoked. Lambda supports only the \"event\" mode.

" - } - }, - "RemoveEventSourceRequest": { - "base": null, - "refs": { - } - }, - "ResourceNotFoundException": { - "base": "

The function or the event source specified in the request does not exist.

", - "refs": { - } - }, - "RoleArn": { - "base": null, - "refs": { - "AddEventSourceRequest$Role": "

The ARN of the IAM role (invocation role) that AWS Lambda can assume to read from the stream and invoke the function.

", - "EventSourceConfiguration$Role": "

The ARN of the IAM role (invocation role) that AWS Lambda can assume to read from the stream and invoke the function.

", - "FunctionConfiguration$Role": "

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.

", - "UpdateFunctionConfigurationRequest$Role": "

The Amazon Resource Name (ARN) of the IAM role that Lambda will assume when it executes your function.

", - "UploadFunctionRequest$Role": "

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.

" - } - }, - "Runtime": { - "base": null, - "refs": { - "FunctionConfiguration$Runtime": "

The runtime environment for the Lambda function.

", - "UploadFunctionRequest$Runtime": "

The runtime environment for the Lambda function you are uploading. Currently, Lambda supports only \"nodejs\" as the runtime.

" - } - }, - "ServiceException": { - "base": "

The AWS Lambda service encountered an internal error.

", - "refs": { - } - }, - "String": { - "base": null, - "refs": { - "AddEventSourceRequest$EventSource": "

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.

", - "EventSourceConfiguration$UUID": "

The AWS Lambda assigned opaque identifier for the mapping.

", - "EventSourceConfiguration$EventSource": "

The Amazon Resource Name (ARN) of the Amazon Kinesis stream that is the source of events.

", - "EventSourceConfiguration$Status": "

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\".

", - "FunctionCodeLocation$RepositoryType": "

The repository from which you can download the function.

", - "FunctionCodeLocation$Location": "

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.

", - "FunctionConfiguration$ConfigurationId": "

A Lambda-assigned unique identifier for the current function code and related configuration.

", - "GetEventSourceRequest$UUID": "

The AWS Lambda assigned ID of the event source mapping.

", - "InvalidParameterValueException$Type": null, - "InvalidParameterValueException$message": null, - "InvalidRequestContentException$Type": null, - "InvalidRequestContentException$message": null, - "ListEventSourcesRequest$EventSourceArn": "

The Amazon Resource Name (ARN) of the Amazon Kinesis stream.

", - "ListEventSourcesRequest$Marker": "

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.

", - "ListEventSourcesResponse$NextMarker": "

A string, present if there are more event source mappings.

", - "ListFunctionsRequest$Marker": "

Optional string. An opaque pagination token returned from a previous ListFunctions operation. If present, indicates where to continue the listing.

", - "ListFunctionsResponse$NextMarker": "

A string, present if there are more functions.

", - "Map$key": null, - "Map$value": null, - "RemoveEventSourceRequest$UUID": "

The event source mapping ID.

", - "ResourceNotFoundException$Type": null, - "ResourceNotFoundException$Message": null, - "ServiceException$Type": null, - "ServiceException$Message": null - } - }, - "Timeout": { - "base": null, - "refs": { - "FunctionConfiguration$Timeout": "

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.

", - "UpdateFunctionConfigurationRequest$Timeout": "

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.

", - "UploadFunctionRequest$Timeout": "

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.

" - } - }, - "Timestamp": { - "base": null, - "refs": { - "EventSourceConfiguration$LastModified": "

The UTC time string indicating the last time the event mapping was updated.

", - "FunctionConfiguration$LastModified": "

The timestamp of the last time you updated the function.

" - } - }, - "UpdateFunctionConfigurationRequest": { - "base": null, - "refs": { - } - }, - "UploadFunctionRequest": { - "base": null, - "refs": { - } - }, - "Boolean": { - "base": null, - "refs": { - "EventSourceConfiguration$IsActive": "

Indicates whether the event source mapping is currently honored. Events are only processes if IsActive is true.

" - } - } - } -} diff --git a/models/apis/lambda/2014-11-11/paginators-1.json b/models/apis/lambda/2014-11-11/paginators-1.json deleted file mode 100644 index deaf07d385a..00000000000 --- a/models/apis/lambda/2014-11-11/paginators-1.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "pagination": { - "ListEventSources": { - "input_token": "Marker", - "output_token": "NextMarker", - "limit_key": "MaxItems", - "result_key": "EventSources" - }, - "ListFunctions": { - "input_token": "Marker", - "output_token": "NextMarker", - "limit_key": "MaxItems", - "result_key": "Functions" - } - } -} diff --git a/models/apis/lambda/2015-03-31/api-2.json b/models/apis/lambda/2015-03-31/api-2.json index 23de3557546..bce64a50446 100644 --- a/models/apis/lambda/2015-03-31/api-2.json +++ b/models/apis/lambda/2015-03-31/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"lambda", "protocol":"rest-json", "serviceFullName":"AWS Lambda", + "serviceId":"Lambda", "signatureVersion":"v4", "uid":"lambda-2015-03-31" }, @@ -24,7 +25,8 @@ {"shape":"ResourceConflictException"}, {"shape":"InvalidParameterValueException"}, {"shape":"PolicyLengthExceededException"}, - {"shape":"TooManyRequestsException"} + {"shape":"TooManyRequestsException"}, + {"shape":"PreconditionFailedException"} ] }, "CreateAlias":{ @@ -106,7 +108,8 @@ {"shape":"ServiceException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceInUseException"} ] }, "DeleteFunction":{ @@ -374,7 +377,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"}, - {"shape":"CodeStorageExceededException"} + {"shape":"CodeStorageExceededException"}, + {"shape":"PreconditionFailedException"} ] }, "PutFunctionConcurrency":{ @@ -405,7 +409,8 @@ {"shape":"ServiceException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} + {"shape":"TooManyRequestsException"}, + {"shape":"PreconditionFailedException"} ] }, "TagResource":{ @@ -451,7 +456,8 @@ {"shape":"ServiceException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} + {"shape":"TooManyRequestsException"}, + {"shape":"PreconditionFailedException"} ] }, "UpdateEventSourceMapping":{ @@ -468,7 +474,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"}, - {"shape":"ResourceConflictException"} + {"shape":"ResourceConflictException"}, + {"shape":"ResourceInUseException"} ] }, "UpdateFunctionCode":{ @@ -485,7 +492,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"}, - {"shape":"CodeStorageExceededException"} + {"shape":"CodeStorageExceededException"}, + {"shape":"PreconditionFailedException"} ] }, "UpdateFunctionConfiguration":{ @@ -502,7 +510,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"}, - {"shape":"ResourceConflictException"} + {"shape":"ResourceConflictException"}, + {"shape":"PreconditionFailedException"} ] } }, @@ -552,7 +561,8 @@ "shape":"Qualifier", "location":"querystring", "locationName":"Qualifier" - } + }, + "RevisionId":{"shape":"String"} } }, "AddPermissionResponse":{ @@ -585,7 +595,8 @@ "Name":{"shape":"Alias"}, "FunctionVersion":{"shape":"Version"}, "Description":{"shape":"Description"}, - "RoutingConfig":{"shape":"AliasRoutingConfiguration"} + "RoutingConfig":{"shape":"AliasRoutingConfiguration"}, + "RevisionId":{"shape":"String"} } }, "AliasList":{ @@ -654,8 +665,7 @@ "type":"structure", "required":[ "EventSourceArn", - "FunctionName", - "StartingPosition" + "FunctionName" ], "members":{ "EventSourceArn":{"shape":"Arn"}, @@ -906,7 +916,8 @@ "Environment":{"shape":"EnvironmentResponse"}, "KMSKeyArn":{"shape":"KMSKeyArn"}, "TracingConfig":{"shape":"TracingConfigResponse"}, - "MasterArn":{"shape":"FunctionArn"} + "MasterArn":{"shape":"FunctionArn"}, + "RevisionId":{"shape":"String"} } }, "FunctionList":{ @@ -1025,7 +1036,8 @@ "GetPolicyResponse":{ "type":"structure", "members":{ - "Policy":{"shape":"String"} + "Policy":{"shape":"String"}, + "RevisionId":{"shape":"String"} } }, "Handler":{ @@ -1412,6 +1424,15 @@ "error":{"httpStatusCode":400}, "exception":true }, + "PreconditionFailedException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":412}, + "exception":true + }, "Principal":{ "type":"string", "pattern":".*" @@ -1426,7 +1447,8 @@ "locationName":"FunctionName" }, "CodeSha256":{"shape":"String"}, - "Description":{"shape":"Description"} + "Description":{"shape":"Description"}, + "RevisionId":{"shape":"String"} } }, "PutFunctionConcurrencyRequest":{ @@ -1471,6 +1493,11 @@ "shape":"Qualifier", "location":"querystring", "locationName":"Qualifier" + }, + "RevisionId":{ + "shape":"String", + "location":"querystring", + "locationName":"RevisionId" } } }, @@ -1500,6 +1527,15 @@ "error":{"httpStatusCode":409}, "exception":true }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -1519,11 +1555,15 @@ "nodejs", "nodejs4.3", "nodejs6.10", + "nodejs8.10", "java8", "python2.7", "python3.6", "dotnetcore1.0", - "nodejs4.3-edge" + "dotnetcore2.0", + "dotnetcore2.1", + "nodejs4.3-edge", + "go1.x" ] }, "S3Bucket":{ @@ -1713,7 +1753,8 @@ }, "FunctionVersion":{"shape":"Version"}, "Description":{"shape":"Description"}, - "RoutingConfig":{"shape":"AliasRoutingConfiguration"} + "RoutingConfig":{"shape":"AliasRoutingConfiguration"}, + "RevisionId":{"shape":"String"} } }, "UpdateEventSourceMappingRequest":{ @@ -1744,7 +1785,8 @@ "S3Key":{"shape":"S3Key"}, "S3ObjectVersion":{"shape":"S3ObjectVersion"}, "Publish":{"shape":"Boolean"}, - "DryRun":{"shape":"Boolean"} + "DryRun":{"shape":"Boolean"}, + "RevisionId":{"shape":"String"} } }, "UpdateFunctionConfigurationRequest":{ @@ -1766,7 +1808,8 @@ "Runtime":{"shape":"Runtime"}, "DeadLetterConfig":{"shape":"DeadLetterConfig"}, "KMSKeyArn":{"shape":"KMSKeyArn"}, - "TracingConfig":{"shape":"TracingConfig"} + "TracingConfig":{"shape":"TracingConfig"}, + "RevisionId":{"shape":"String"} } }, "Version":{ diff --git a/models/apis/lambda/2015-03-31/docs-2.json b/models/apis/lambda/2015-03-31/docs-2.json index adfaf69ca72..1484d3915a4 100644 --- a/models/apis/lambda/2015-03-31/docs-2.json +++ b/models/apis/lambda/2015-03-31/docs-2.json @@ -1,33 +1,33 @@ { "version": "2.0", - "service": "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.

", + "service": "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.

", "operations": { - "AddPermission": "

Adds a permission to the resource policy associated with the specified AWS Lambda function. You use resource policies to grant permissions to event sources that use push model. In a push model, event sources (such as Amazon S3 and custom applications) invoke your Lambda function. Each permission you add to the resource policy allows an event source, permission to invoke the Lambda function.

For information about the push model, see AWS Lambda: How it Works.

If you are using versioning, the permissions you add are specific to the Lambda function version or alias you specify in the AddPermission request via the Qualifier parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:AddPermission action.

", + "AddPermission": "

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": "

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": "

Identifies a stream as an event source for a Lambda function. It can be either an Amazon Kinesis stream or an Amazon DynamoDB stream. AWS Lambda invokes the specified function when records are posted to the stream.

This association between a stream source and a Lambda function is called the event source mapping.

This event source mapping is relevant only in the AWS Lambda pull model, where AWS Lambda invokes the function. For more information, see AWS Lambda: How it Works in the AWS Lambda Developer Guide.

You provide mapping information (for example, which stream to read from and which Lambda function to invoke) in the request body.

Each event source, such as an Amazon Kinesis or a DynamoDB stream, can be associated with multiple AWS Lambda function. A given Lambda function can be associated with multiple AWS event sources.

If you are using versioning, you can specify a specific function version or an alias via the function name parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:CreateEventSourceMapping action.

", + "CreateEventSourceMapping": "

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": "

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": "

Deletes the specified Lambda function alias. For more information, see Introduction to AWS Lambda Aliases.

This requires permission for the lambda:DeleteAlias action.

", "DeleteEventSourceMapping": "

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": "

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": "

Removes concurrent execution limits from this function.

", + "DeleteFunctionConcurrency": "

Removes concurrent execution limits from this function. For more information, see concurrent-executions.

", "GetAccountSettings": "

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": "

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": "

Returns configuration information for the specified event source mapping (see CreateEventSourceMapping).

This operation requires permission for the lambda:GetEventSourceMapping action.

", "GetFunction": "

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": "

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": "

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": "

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.

", + "Invoke": "

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": "

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.

", "ListAliases": "

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": "

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": "

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": "

Returns a list of tags assigned to a function when supplied the function ARN (Amazon Resource Name).

", + "ListTags": "

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": "

List all versions of a function. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

", "PublishVersion": "

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": "

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.

", + "PutFunctionConcurrency": "

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": "

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": "

Creates a list of tags (key-value pairs) on the Lambda function. Requires the Lambda function ARN (Amazon Resource Name). If a key is specified without a value, Lambda creates a tag with the specified key and a value of null.

", - "UntagResource": "

Removes tags from a Lambda function. Requires the function ARN (Amazon Resource Name).

", + "TagResource": "

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": "

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": "

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": "

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": "

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.

", @@ -71,7 +71,7 @@ "AdditionalVersionWeights": { "base": null, "refs": { - "AliasRoutingConfiguration$AdditionalVersionWeights": "

Set this property 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.

" + "AliasRoutingConfiguration$AdditionalVersionWeights": "

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.

" } }, "Alias": { @@ -108,15 +108,15 @@ "base": null, "refs": { "AddPermissionRequest$SourceArn": "

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.

", - "CreateEventSourceMappingRequest$EventSourceArn": "

The Amazon Resource Name (ARN) of the Amazon Kinesis or the Amazon DynamoDB stream that is the event source. Any record added to this stream could cause AWS Lambda to invoke your Lambda function, it depends on the BatchSize. AWS Lambda POSTs the Amazon Kinesis event, containing records, to your Lambda function as JSON.

", - "EventSourceMappingConfiguration$EventSourceArn": "

The Amazon Resource Name (ARN) of the Amazon Kinesis stream that is the source of events.

", - "ListEventSourceMappingsRequest$EventSourceArn": "

The Amazon Resource Name (ARN) of the Amazon Kinesis stream. (This parameter is optional.)

" + "CreateEventSourceMappingRequest$EventSourceArn": "

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.

", + "EventSourceMappingConfiguration$EventSourceArn": "

The Amazon Resource Name (ARN) of the Amazon Kinesis or DynamoDB stream or the SQS queue that is the source of events.

", + "ListEventSourceMappingsRequest$EventSourceArn": "

The Amazon Resource Name (ARN) of the Amazon Kinesis or DynamoDB stream, or an SQS queue. (This parameter is optional.)

" } }, "BatchSize": { "base": null, "refs": { - "CreateEventSourceMappingRequest$BatchSize": "

The largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function. Your function receives an event with all the retrieved records. The default is 100 records.

", + "CreateEventSourceMappingRequest$BatchSize": "

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.

", "EventSourceMappingConfiguration$BatchSize": "

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.

", "UpdateEventSourceMappingRequest$BatchSize": "

The maximum number of stream records that can be sent to your Lambda function for a single invocation.

" } @@ -124,10 +124,10 @@ "Blob": { "base": null, "refs": { - "FunctionCode$ZipFile": "

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.

", + "FunctionCode$ZipFile": "

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.

", "InvocationRequest$Payload": "

JSON that you want to provide to your Lambda function as input.

", "InvocationResponse$Payload": "

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.

", - "UpdateFunctionCodeRequest$ZipFile": "

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.

" + "UpdateFunctionCodeRequest$ZipFile": "

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.

" } }, "BlobStream": { @@ -152,7 +152,7 @@ "Concurrency": { "base": null, "refs": { - "GetFunctionResponse$Concurrency": "

The concurrent execution limit set for this function.

" + "GetFunctionResponse$Concurrency": "

The concurrent execution limit set for this function. For more information, see concurrent-executions.

" } }, "CreateAliasRequest": { @@ -173,16 +173,16 @@ "Date": { "base": null, "refs": { - "CreateEventSourceMappingRequest$StartingPositionTimestamp": "

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.

", + "CreateEventSourceMappingRequest$StartingPositionTimestamp": "

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.

", "EventSourceMappingConfiguration$LastModified": "

The UTC time string indicating the last time the event mapping was updated.

" } }, "DeadLetterConfig": { - "base": "

The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic.

", + "base": "

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.

", "refs": { - "CreateFunctionRequest$DeadLetterConfig": "

The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic.

", - "FunctionConfiguration$DeadLetterConfig": "

The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic.

", - "UpdateFunctionConfigurationRequest$DeadLetterConfig": "

The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic.

" + "CreateFunctionRequest$DeadLetterConfig": "

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.

", + "FunctionConfiguration$DeadLetterConfig": "

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.

", + "UpdateFunctionConfigurationRequest$DeadLetterConfig": "

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.

" } }, "DeleteAliasRequest": { @@ -283,7 +283,7 @@ } }, "EventSourceMappingConfiguration": { - "base": "

Describes mapping between an Amazon Kinesis stream and a Lambda function.

", + "base": "

Describes mapping between an Amazon Kinesis or DynamoDB stream or an Amazon SQS queue and a Lambda function.

", "refs": { "EventSourceMappingsList$member": null } @@ -297,7 +297,7 @@ "EventSourcePosition": { "base": null, "refs": { - "CreateEventSourceMappingRequest$StartingPosition": "

The position in the stream where AWS Lambda should start reading. Valid only for Kinesis streams. For more information, see ShardIteratorType in the Amazon Kinesis API Reference.

" + "CreateEventSourceMappingRequest$StartingPosition": "

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.

" } }, "EventSourceToken": { @@ -310,11 +310,11 @@ "base": null, "refs": { "AliasConfiguration$AliasArn": "

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.

", - "EventSourceMappingConfiguration$FunctionArn": "

The Lambda function to invoke when AWS Lambda detects an event on the stream.

", + "EventSourceMappingConfiguration$FunctionArn": "

The Lambda function to invoke when AWS Lambda detects an event on the poll-based source.

", "FunctionConfiguration$MasterArn": "

Returns the ARN (Amazon Resource Name) of the master function.

", - "ListTagsRequest$Resource": "

The ARN (Amazon Resource Name) of the function.

", - "TagResourceRequest$Resource": "

The ARN (Amazon Resource Name) of the Lambda function.

", - "UntagResourceRequest$Resource": "

The ARN (Amazon Resource Name) of the function.

" + "ListTagsRequest$Resource": "

The ARN (Amazon Resource Name) of the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

", + "TagResourceRequest$Resource": "

The ARN (Amazon Resource Name) of the Lambda function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

", + "UntagResourceRequest$Resource": "

The ARN (Amazon Resource Name) of the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" } }, "FunctionCode": { @@ -351,13 +351,13 @@ "CreateEventSourceMappingRequest$FunctionName": "

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.

", "CreateFunctionRequest$FunctionName": "

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.

", "DeleteAliasRequest$FunctionName": "

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.

", - "DeleteFunctionConcurrencyRequest$FunctionName": "

The name of the function you are removing concurrent execution limits from.

", + "DeleteFunctionConcurrencyRequest$FunctionName": "

The name of the function you are removing concurrent execution limits from. For more information, see concurrent-executions.

", "DeleteFunctionRequest$FunctionName": "

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.

", "GetAliasRequest$FunctionName": "

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.

", "ListAliasesRequest$FunctionName": "

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.

", "ListEventSourceMappingsRequest$FunctionName": "

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.

", "PublishVersionRequest$FunctionName": "

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.

", - "PutFunctionConcurrencyRequest$FunctionName": "

The name of the function you are setting concurrent execution limits on.

", + "PutFunctionConcurrencyRequest$FunctionName": "

The name of the function you are setting concurrent execution limits on. For more information, see concurrent-executions.

", "RemovePermissionRequest$FunctionName": "

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.

", "UpdateAliasRequest$FunctionName": "

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.

", "UpdateEventSourceMappingRequest$FunctionName": "

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.

", @@ -640,6 +640,11 @@ "refs": { } }, + "PreconditionFailedException": { + "base": "

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.

", + "refs": { + } + }, "Principal": { "base": null, "refs": { @@ -681,14 +686,14 @@ "ReservedConcurrentExecutions": { "base": null, "refs": { - "Concurrency$ReservedConcurrentExecutions": "

The number of concurrent executions reserved for this function.

", - "PutFunctionConcurrencyRequest$ReservedConcurrentExecutions": "

The concurrent execution limit reserved for this function.

" + "Concurrency$ReservedConcurrentExecutions": "

The number of concurrent executions reserved for this function. For more information, see concurrent-executions.

", + "PutFunctionConcurrencyRequest$ReservedConcurrentExecutions": "

The concurrent execution limit reserved for this function. For more information, see concurrent-executions.

" } }, "ResourceArn": { "base": null, "refs": { - "DeadLetterConfig$TargetArn": "

The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic you specify as your Dead Letter Queue (DLQ).

" + "DeadLetterConfig$TargetArn": "

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.

" } }, "ResourceConflictException": { @@ -696,6 +701,11 @@ "refs": { } }, + "ResourceInUseException": { + "base": "

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.

", + "refs": { + } + }, "ResourceNotFoundException": { "base": "

The resource (for example, a Lambda function or access policy statement) specified in the request does not exist.

", "refs": { @@ -712,9 +722,9 @@ "Runtime": { "base": null, "refs": { - "CreateFunctionRequest$Runtime": "

The runtime environment for the Lambda function you are uploading.

To use the Python runtime v3.6, set the value to \"python3.6\". To use the Python runtime v2.7, set the value to \"python2.7\". To use the Node.js runtime v6.10, set the value to \"nodejs6.10\". To use the Node.js runtime v4.3, set the value to \"nodejs4.3\".

Node v0.10.42 is currently marked as deprecated. You must migrate existing functions to the newer Node.js runtime versions available on AWS Lambda (nodejs4.3 or nodejs6.10) as soon as possible. Failure to do so will result in an invalid parmaeter error being returned. Note that you will have to follow this procedure for each region that contains functions written in the Node v0.10.42 runtime.

", + "CreateFunctionRequest$Runtime": "

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.

", "FunctionConfiguration$Runtime": "

The runtime environment for the Lambda function.

", - "UpdateFunctionConfigurationRequest$Runtime": "

The runtime environment for the Lambda function.

To use the Python runtime v3.6, set the value to \"python3.6\". To use the Python runtime v2.7, set the value to \"python2.7\". To use the Node.js runtime v6.10, set the value to \"nodejs6.10\". To use the Node.js runtime v4.3, set the value to \"nodejs4.3\". To use the Python runtime v3.6, set the value to \"python3.6\".

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.

" + "UpdateFunctionConfigurationRequest$Runtime": "

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.

" } }, "S3Bucket": { @@ -777,7 +787,9 @@ "String": { "base": null, "refs": { + "AddPermissionRequest$RevisionId": "

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 .

", "AddPermissionResponse$Statement": "

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.

", + "AliasConfiguration$RevisionId": "

Represents the latest updated revision of the function or alias.

", "CodeStorageExceededException$Type": "

", "CodeStorageExceededException$message": null, "DeleteEventSourceMappingRequest$UUID": "

The event source mapping ID.

", @@ -798,8 +810,10 @@ "FunctionCodeLocation$RepositoryType": "

The repository from which you can download the function.

", "FunctionCodeLocation$Location": "

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.

", "FunctionConfiguration$CodeSha256": "

It is the SHA256 hash of your function deployment package.

", + "FunctionConfiguration$RevisionId": "

Represents the latest updated revision of the function or alias.

", "GetEventSourceMappingRequest$UUID": "

The AWS Lambda assigned ID of the event source mapping.

", "GetPolicyResponse$Policy": "

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.

", + "GetPolicyResponse$RevisionId": "

Represents the latest updated revision of the function or alias.

", "InvalidParameterValueException$Type": "

", "InvalidParameterValueException$message": "

", "InvalidRequestContentException$Type": "

", @@ -833,11 +847,17 @@ "ListVersionsByFunctionResponse$NextMarker": "

A string, present if there are more function versions.

", "PolicyLengthExceededException$Type": null, "PolicyLengthExceededException$message": null, + "PreconditionFailedException$Type": "

", + "PreconditionFailedException$message": "

", "PublishVersionRequest$CodeSha256": "

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.

", + "PublishVersionRequest$RevisionId": "

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 .

", + "RemovePermissionRequest$RevisionId": "

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 .

", "RequestTooLargeException$Type": null, "RequestTooLargeException$message": null, "ResourceConflictException$Type": "

", "ResourceConflictException$message": "

", + "ResourceInUseException$Type": null, + "ResourceInUseException$Message": null, "ResourceNotFoundException$Type": null, "ResourceNotFoundException$Message": null, "ServiceException$Type": null, @@ -849,7 +869,10 @@ "TooManyRequestsException$message": null, "UnsupportedMediaTypeException$Type": null, "UnsupportedMediaTypeException$message": null, - "UpdateEventSourceMappingRequest$UUID": "

The event source mapping identifier.

" + "UpdateAliasRequest$RevisionId": "

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$UUID": "

The event source mapping identifier.

", + "UpdateFunctionCodeRequest$RevisionId": "

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 .

", + "UpdateFunctionConfigurationRequest$RevisionId": "

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 .

" } }, "SubnetIPAddressLimitReachedException": { @@ -880,7 +903,7 @@ "TagKeyList": { "base": null, "refs": { - "UntagResourceRequest$TagKeys": "

The list of tag keys to be deleted from the function.

" + "UntagResourceRequest$TagKeys": "

The list of tag keys to be deleted from the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" } }, "TagResourceRequest": { @@ -897,10 +920,10 @@ "Tags": { "base": null, "refs": { - "CreateFunctionRequest$Tags": "

The list of tags (key-value pairs) assigned to the new function.

", - "GetFunctionResponse$Tags": "

Returns the list of tags associated with the function.

", - "ListTagsResponse$Tags": "

The list of tags assigned to the function.

", - "TagResourceRequest$Tags": "

The list of tags (key-value pairs) you are assigning to the Lambda function.

" + "CreateFunctionRequest$Tags": "

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.

", + "GetFunctionResponse$Tags": "

Returns the list of tags associated with the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

", + "ListTagsResponse$Tags": "

The list of tags assigned to the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

", + "TagResourceRequest$Tags": "

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.

" } }, "ThrottleReason": { @@ -924,7 +947,7 @@ } }, "TooManyRequestsException": { - "base": "

You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded is 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 is returned when a function with reserved concurrency exceeds its configured concurrent limit. CallerRateLimitExceeded is returned when your account limit is exceeded and you have not reserved concurrency on any function. For more information, see concurrent-executions

", + "base": "

", "refs": { } }, @@ -951,7 +974,7 @@ "UnreservedConcurrentExecutions": { "base": null, "refs": { - "AccountLimit$UnreservedConcurrentExecutions": "

The number of concurrent executions available to functions that do not have concurrency limits set.

" + "AccountLimit$UnreservedConcurrentExecutions": "

The number of concurrent executions available to functions that do not have concurrency limits set. For more information, see concurrent-executions.

" } }, "UnsupportedMediaTypeException": { @@ -990,7 +1013,7 @@ "AliasConfiguration$FunctionVersion": "

Function version to which the alias points.

", "CreateAliasRequest$FunctionVersion": "

Lambda function version for which you are creating the alias.

", "FunctionConfiguration$Version": "

The version of the Lambda function.

", - "InvocationResponse$ExecutedVersion": "

The function version that has been executed. This value is returned only if the invocation type is RequestResponse.

", + "InvocationResponse$ExecutedVersion": "

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.

", "ListAliasesRequest$FunctionVersion": "

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.

", "UpdateAliasRequest$FunctionVersion": "

Using this parameter you can change the Lambda function version to which the alias points.

" } diff --git a/models/apis/lambda/2015-03-31/smoke.json b/models/apis/lambda/2015-03-31/smoke.json new file mode 100644 index 00000000000..bbea8e181ef --- /dev/null +++ b/models/apis/lambda/2015-03-31/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListFunctions", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "Invoke", + "input": { + "FunctionName": "bogus-function" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/lex-models/2017-04-19/api-2.json b/models/apis/lex-models/2017-04-19/api-2.json index 7c1620e1a58..376f0488533 100644 --- a/models/apis/lex-models/2017-04-19/api-2.json +++ b/models/apis/lex-models/2017-04-19/api-2.json @@ -6,6 +6,7 @@ "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" @@ -387,6 +388,22 @@ {"shape":"BadRequestException"} ] }, + "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"} + ] + }, "GetIntent":{ "name":"GetIntent", "http":{ @@ -565,6 +582,21 @@ {"shape":"BadRequestException"}, {"shape":"PreconditionFailedException"} ] + }, + "StartImport":{ + "name":"StartImport", + "http":{ + "method":"POST", + "requestUri":"/imports/", + "responseCode":201 + }, + "input":{"shape":"StartImportRequest"}, + "output":{"shape":"StartImportResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ] } }, "shapes":{ @@ -572,13 +604,13 @@ "type":"string", "max":100, "min":1, - "pattern":"^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)" + "pattern":"^([A-Za-z]_?)+$" }, "AliasNameOrListAll":{ "type":"string", "max":100, "min":1, - "pattern":"^(-|^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*))$" + "pattern":"^(-|^([A-Za-z]_?)+$)$" }, "BadRequestException":{ "type":"structure", @@ -588,6 +620,7 @@ "error":{"httpStatusCode":400}, "exception":true }, + "Blob":{"type":"blob"}, "Boolean":{"type":"boolean"}, "BotAliasMetadata":{ "type":"structure", @@ -614,7 +647,9 @@ "botName":{"shape":"BotName"}, "createdDate":{"shape":"Timestamp"}, "type":{"shape":"ChannelType"}, - "botConfiguration":{"shape":"ChannelConfigurationMap"} + "botConfiguration":{"shape":"ChannelConfigurationMap"}, + "status":{"shape":"ChannelStatus"}, + "failureReason":{"shape":"String"} } }, "BotChannelAssociationList":{ @@ -625,7 +660,7 @@ "type":"string", "max":100, "min":1, - "pattern":"^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)" + "pattern":"^([A-Za-z]_?)+$" }, "BotMetadata":{ "type":"structure", @@ -646,7 +681,7 @@ "type":"string", "max":50, "min":2, - "pattern":"^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)" + "pattern":"^([A-Za-z]_?)+$" }, "BotVersions":{ "type":"list", @@ -696,12 +731,21 @@ "min":1, "sensitive":true }, + "ChannelStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "CREATED", + "FAILED" + ] + }, "ChannelType":{ "type":"string", "enum":[ "Facebook", "Slack", - "Twilio-Sms" + "Twilio-Sms", + "Kik" ] }, "CodeHook":{ @@ -732,7 +776,8 @@ "type":"string", "enum":[ "PlainText", - "SSML" + "SSML", + "CustomPayload" ] }, "Count":{"type":"integer"}, @@ -829,7 +874,7 @@ "type":"string", "max":100, "min":1, - "pattern":"^([a-zA-Z]|AMAZON.)+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)" + "pattern":"^((AMAZON\\.)_?|[A-Za-z]_?)+" }, "DeleteBotAliasRequest":{ "type":"structure", @@ -1013,7 +1058,10 @@ }, "ExportType":{ "type":"string", - "enum":["ALEXA_SKILLS_KIT"] + "enum":[ + "ALEXA_SKILLS_KIT", + "LEX" + ] }, "FollowUpPrompt":{ "type":"structure", @@ -1139,7 +1187,9 @@ "botName":{"shape":"BotName"}, "createdDate":{"shape":"Timestamp"}, "type":{"shape":"ChannelType"}, - "botConfiguration":{"shape":"ChannelConfigurationMap"} + "botConfiguration":{"shape":"ChannelConfigurationMap"}, + "status":{"shape":"ChannelStatus"}, + "failureReason":{"shape":"String"} } }, "GetBotChannelAssociationsRequest":{ @@ -1403,6 +1453,29 @@ "url":{"shape":"String"} } }, + "GetImportRequest":{ + "type":"structure", + "required":["importId"], + "members":{ + "importId":{ + "shape":"String", + "location":"uri", + "locationName":"importId" + } + } + }, + "GetImportResponse":{ + "type":"structure", + "members":{ + "name":{"shape":"Name"}, + "resourceType":{"shape":"ResourceType"}, + "mergeStrategy":{"shape":"MergeStrategy"}, + "importId":{"shape":"String"}, + "importStatus":{"shape":"ImportStatus"}, + "failureReason":{"shape":"StringList"}, + "createdDate":{"shape":"Timestamp"} + } + }, "GetIntentRequest":{ "type":"structure", "required":[ @@ -1616,6 +1689,20 @@ "utterances":{"shape":"ListsOfUtterances"} } }, + "GroupNumber":{ + "type":"integer", + "box":true, + "max":5, + "min":1 + }, + "ImportStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "COMPLETE", + "FAILED" + ] + }, "Intent":{ "type":"structure", "required":[ @@ -1649,7 +1736,7 @@ "type":"string", "max":100, "min":1, - "pattern":"^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)" + "pattern":"^([A-Za-z]_?)+$" }, "IntentUtteranceList":{ "type":"list", @@ -1695,7 +1782,11 @@ }, "Locale":{ "type":"string", - "enum":["en-US"] + "enum":[ + "en-US", + "en-GB", + "de-DE" + ] }, "LocaleList":{ "type":"list", @@ -1707,6 +1798,13 @@ "max":50, "min":1 }, + "MergeStrategy":{ + "type":"string", + "enum":[ + "OVERWRITE_LATEST", + "FAIL_ON_CONFLICT" + ] + }, "Message":{ "type":"structure", "required":[ @@ -1715,13 +1813,14 @@ ], "members":{ "contentType":{"shape":"ContentType"}, - "content":{"shape":"ContentString"} + "content":{"shape":"ContentString"}, + "groupNumber":{"shape":"GroupNumber"} } }, "MessageList":{ "type":"list", "member":{"shape":"Message"}, - "max":5, + "max":15, "min":1 }, "MessageVersion":{ @@ -1731,7 +1830,7 @@ }, "Name":{ "type":"string", - "max":64, + "max":100, "min":1, "pattern":"[a-zA-Z_]+" }, @@ -1844,7 +1943,8 @@ "checksum":{"shape":"String"}, "processBehavior":{"shape":"ProcessBehavior"}, "locale":{"shape":"Locale"}, - "childDirected":{"shape":"Boolean"} + "childDirected":{"shape":"Boolean"}, + "createVersion":{"shape":"Boolean"} } }, "PutBotResponse":{ @@ -1864,7 +1964,8 @@ "checksum":{"shape":"String"}, "version":{"shape":"Version"}, "locale":{"shape":"Locale"}, - "childDirected":{"shape":"Boolean"} + "childDirected":{"shape":"Boolean"}, + "createVersion":{"shape":"Boolean"} } }, "PutIntentRequest":{ @@ -1886,7 +1987,8 @@ "dialogCodeHook":{"shape":"CodeHook"}, "fulfillmentActivity":{"shape":"FulfillmentActivity"}, "parentIntentSignature":{"shape":"BuiltinIntentSignature"}, - "checksum":{"shape":"String"} + "checksum":{"shape":"String"}, + "createVersion":{"shape":"Boolean"} } }, "PutIntentResponse":{ @@ -1906,7 +2008,8 @@ "lastUpdatedDate":{"shape":"Timestamp"}, "createdDate":{"shape":"Timestamp"}, "version":{"shape":"Version"}, - "checksum":{"shape":"String"} + "checksum":{"shape":"String"}, + "createVersion":{"shape":"Boolean"} } }, "PutSlotTypeRequest":{ @@ -1921,7 +2024,8 @@ "description":{"shape":"Description"}, "enumerationValues":{"shape":"EnumerationValues"}, "checksum":{"shape":"String"}, - "valueSelectionStrategy":{"shape":"SlotValueSelectionStrategy"} + "valueSelectionStrategy":{"shape":"SlotValueSelectionStrategy"}, + "createVersion":{"shape":"Boolean"} } }, "PutSlotTypeResponse":{ @@ -1934,7 +2038,8 @@ "createdDate":{"shape":"Timestamp"}, "version":{"shape":"Version"}, "checksum":{"shape":"String"}, - "valueSelectionStrategy":{"shape":"SlotValueSelectionStrategy"} + "valueSelectionStrategy":{"shape":"SlotValueSelectionStrategy"}, + "createVersion":{"shape":"Boolean"} } }, "ReferenceType":{ @@ -1964,7 +2069,11 @@ }, "ResourceType":{ "type":"string", - "enum":["BOT"] + "enum":[ + "BOT", + "INTENT", + "SLOT_TYPE" + ] }, "ResponseCard":{ "type":"string", @@ -2011,7 +2120,7 @@ "type":"string", "max":100, "min":1, - "pattern":"^[a-zA-Z]+(((_|.)[a-zA-Z]+)*|([a-zA-Z]+(_|.))*|(_|.))" + "pattern":"^([A-Za-z](-|_|.)?)+$" }, "SlotTypeMetadata":{ "type":"structure", @@ -2031,7 +2140,7 @@ "type":"string", "max":100, "min":1, - "pattern":"^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)" + "pattern":"^([A-Za-z]_?)+$" }, "SlotUtteranceList":{ "type":"list", @@ -2046,6 +2155,30 @@ "TOP_RESOLUTION" ] }, + "StartImportRequest":{ + "type":"structure", + "required":[ + "payload", + "resourceType", + "mergeStrategy" + ], + "members":{ + "payload":{"shape":"Blob"}, + "resourceType":{"shape":"ResourceType"}, + "mergeStrategy":{"shape":"MergeStrategy"} + } + }, + "StartImportResponse":{ + "type":"structure", + "members":{ + "name":{"shape":"Name"}, + "resourceType":{"shape":"ResourceType"}, + "mergeStrategy":{"shape":"MergeStrategy"}, + "importId":{"shape":"String"}, + "importStatus":{"shape":"ImportStatus"}, + "createdDate":{"shape":"Timestamp"} + } + }, "Statement":{ "type":"structure", "required":["messages"], @@ -2071,6 +2204,10 @@ ] }, "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, "SynonymList":{ "type":"list", "member":{"shape":"Value"} diff --git a/models/apis/lex-models/2017-04-19/docs-2.json b/models/apis/lex-models/2017-04-19/docs-2.json index 54fe1e7d8a9..e07191391a0 100644 --- a/models/apis/lex-models/2017-04-19/docs-2.json +++ b/models/apis/lex-models/2017-04-19/docs-2.json @@ -13,7 +13,7 @@ "DeleteIntentVersion": "

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": "

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": "

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": "

Deletes stored utterances.

Amazon Lex stores the utterances that users send to your bot unless the childDirected field in the bot is set to true. Utterances are stored for 15 days for use with the GetUtterancesView operation, and then stored indefinately for use in improving the ability of your bot to respond to user input.

Use the DeleteStoredUtterances operation to manually delete stored utterances for a specific user.

This operation requires permissions for the lex:DeleteUtterances action.

", + "DeleteUtterances": "

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": "

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": "

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": "

Returns a list of aliases for a specified Amazon Lex bot.

This operation requires permissions for the lex:GetBotAliases action.

", @@ -25,17 +25,19 @@ "GetBuiltinIntents": "

Gets a list of built-in intents that meet the specified criteria.

This operation requires permission for the lex:GetBuiltinIntents action.

", "GetBuiltinSlotTypes": "

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": "

Exports the contents of a Amazon Lex resource in a specified format.

", + "GetImport": "

Gets information about an import job started with the StartImport operation.

", "GetIntent": "

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": "

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": "

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": "

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": "

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": "

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": "

Use the GetUtterancesView operation to get information about the utterances that your users have made to your bot. You can use this list to tune the utterances that your bot responds to.

For example, say that you have created a bot to order flowers. After your users have used your bot for a while, use the GetUtterancesView operation to see the requests that they have made and whether they have been successful. You might find that the utterance \"I want flowers\" is not being recognized. You could add this utterance to the OrderFlowers intent so that your bot recognizes that utterance.

After you publish a new version of a bot, you can get information about the old version and the new so that you can compare the performance across the two versions.

Data is available for the last 15 days. You can request information for up to 5 versions in each request. The response contains information about a maximum of 100 utterances for each version.

If the bot's childDirected field is set to true, utterances for the bot are not stored and cannot be retrieved with the GetUtterancesView operation. For more information, see PutBot.

This operation requires permissions for the lex:GetUtterancesView action.

", - "PutBot": "

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. You can use this to add intents later, or to remove intents from an existing bot. When you create a bot with a name only, the bot is created or updated but Amazon Lex returns the response FAILED. You can build the bot after you add one or more intents. For more information about Amazon Lex bots, see how-it-works.

If you specify the name of an existing bot, the fields in the request replace the existing values in the $LATEST version of the bot. Amazon Lex removes any fields that you don't provide values for in the request, except for the idleTTLInSeconds and privacySettings fields, which are set to their default values. If you don't specify values for required fields, Amazon Lex throws an exception.

This operation requires permissions for the lex:PutBot action. For more information, see auth-and-access-control.

", + "GetUtterancesView": "

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": "

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": "

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": "

Creates an intent or replaces an existing intent.

To define the interaction between the user and your bot, you use one or more intents. For a pizza ordering bot, for example, you would create an OrderPizza intent.

To create an intent or replace an existing intent, you must provide the following:

  • Intent name. For example, OrderPizza.

  • Sample utterances. For example, \"Can I order a pizza, please.\" and \"I want to order a pizza.\"

  • Information to be gathered. You specify slot types for the information that your bot will request from the user. You can specify standard slot types, such as a date or a time, or custom slot types such as the size and crust of a pizza.

  • How the intent will be fulfilled. You can provide a Lambda function or configure the intent to return the intent information to the client application. If you use a Lambda function, when all of the intent information is available, Amazon Lex invokes your Lambda function. If you configure your intent to return the intent information to the client application.

You can specify other optional information in the request, such as:

  • A confirmation prompt to ask the user to confirm an intent. For example, \"Shall I order your pizza?\"

  • A conclusion statement to send to the user after the intent has been fulfilled. For example, \"I placed your pizza order.\"

  • A follow-up prompt that asks the user for additional activity. For example, asking \"Do you want to order a drink with your pizza?\"

If you specify an existing intent name to update the intent, Amazon Lex replaces the values in the $LATEST version of the slot type with the values in the request. Amazon Lex removes fields that you don't provide in the request. If you don't specify the required fields, Amazon Lex throws an exception.

For more information, see how-it-works.

This operation requires permissions for the lex:PutIntent action.

", - "PutSlotType": "

Creates a custom slot type or replaces an existing custom slot type.

To create a custom slot type, specify a name for the slot type and a set of enumeration values, which are the values that a slot of this type can assume. For more information, see how-it-works.

If you specify the name of an existing slot type, the fields in the request replace the existing values in the $LATEST version of the slot type. Amazon Lex removes the fields that you don't provide in the request. If you don't specify required fields, Amazon Lex throws an exception.

This operation requires permissions for the lex:PutSlotType action.

" + "PutIntent": "

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": "

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": "

Starts a job to import a resource to Amazon Lex.

" }, "shapes": { "AliasName": { @@ -65,13 +67,25 @@ "refs": { } }, + "Blob": { + "base": null, + "refs": { + "StartImportRequest$payload": "

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.

" + } + }, "Boolean": { "base": null, "refs": { "CreateBotVersionResponse$childDirected": "

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.

", "GetBotResponse$childDirected": "

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.

", "PutBotRequest$childDirected": "

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

", - "PutBotResponse$childDirected": "

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.

" + "PutBotRequest$createVersion": null, + "PutBotResponse$childDirected": "

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

", + "PutBotResponse$createVersion": null, + "PutIntentRequest$createVersion": null, + "PutIntentResponse$createVersion": null, + "PutSlotTypeRequest$createVersion": null, + "PutSlotTypeResponse$createVersion": null } }, "BotAliasMetadata": { @@ -219,6 +233,13 @@ "GetBotChannelAssociationResponse$botConfiguration": "

Provides information that the messaging platform needs to communicate with the Amazon Lex bot.

" } }, + "ChannelStatus": { + "base": null, + "refs": { + "BotChannelAssociation$status": "

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.

", + "GetBotChannelAssociationResponse$status": "

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.

" + } + }, "ChannelType": { "base": null, "refs": { @@ -530,6 +551,16 @@ "refs": { } }, + "GetImportRequest": { + "base": null, + "refs": { + } + }, + "GetImportResponse": { + "base": null, + "refs": { + } + }, "GetIntentRequest": { "base": null, "refs": { @@ -600,6 +631,19 @@ "refs": { } }, + "GroupNumber": { + "base": null, + "refs": { + "Message$groupNumber": "

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.

" + } + }, + "ImportStatus": { + "base": null, + "refs": { + "GetImportResponse$importStatus": "

The status of the import job. If the status is FAILED, you can get the reason for the failure from the failureReason field.

", + "StartImportResponse$importStatus": "

The status of the import job. If the status is FAILED, you can get the reason for the failure using the GetImport operation.

" + } + }, "Intent": { "base": "

Identifies the specific version of an intent.

", "refs": { @@ -717,6 +761,14 @@ "GetSlotTypesRequest$maxResults": "

The maximum number of slot types to return in the response. The default is 10.

" } }, + "MergeStrategy": { + "base": null, + "refs": { + "GetImportResponse$mergeStrategy": "

The action taken when there was a conflict between an existing resource and a resource in the import file.

", + "StartImportRequest$mergeStrategy": "

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$mergeStrategy": "

The action to take when there is a merge conflict.

" + } + }, "Message": { "base": "

The message object that provides the message text and its type.

", "refs": { @@ -741,7 +793,9 @@ "refs": { "GetExportRequest$name": "

The name of the bot to export.

", "GetExportResponse$name": "

The name of the bot being exported.

", - "ResourceReference$name": "

The name of the resource that is using the resource that you are trying to delete.

" + "GetImportResponse$name": "

The name given to the import job.

", + "ResourceReference$name": "

The name of the resource that is using the resource that you are trying to delete.

", + "StartImportResponse$name": "

The name given to the import job.

" } }, "NextToken": { @@ -798,7 +852,7 @@ "ProcessBehavior": { "base": null, "refs": { - "PutBotRequest$processBehavior": "

If you set the processBehavior element to Build, Amazon Lex builds the bot so that it can be run. If you set the element to SaveAmazon Lex saves the bot, but doesn't build it.

If you don't specify this value, the default value is Save.

" + "PutBotRequest$processBehavior": "

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.

" } }, "Prompt": { @@ -883,7 +937,10 @@ "base": null, "refs": { "GetExportRequest$resourceType": "

The type of resource to export.

", - "GetExportResponse$resourceType": "

The type of the exported resource.

" + "GetExportResponse$resourceType": "

The type of the exported resource.

", + "GetImportResponse$resourceType": "

The type of resource imported.

", + "StartImportRequest$resourceType": "

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.

", + "StartImportResponse$resourceType": "

The type of resource to import.

" } }, "ResponseCard": { @@ -974,6 +1031,16 @@ "PutSlotTypeResponse$valueSelectionStrategy": "

The slot resolution strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType.

" } }, + "StartImportRequest": { + "base": null, + "refs": { + } + }, + "StartImportResponse": { + "base": null, + "refs": { + } + }, "Statement": { "base": "

A collection of messages that convey information to the user. At runtime, Amazon Lex selects the message to convey.

", "refs": { @@ -1012,6 +1079,7 @@ "refs": { "BadRequestException$message": null, "BotAliasMetadata$checksum": "

Checksum of the bot alias.

", + "BotChannelAssociation$failureReason": "

If status is FAILED, Amazon Lex provides the reason that it failed to create the association.

", "BuiltinIntentSlot$name": "

A list of the slots defined for the intent.

", "ChannelConfigurationMap$key": null, "ChannelConfigurationMap$value": null, @@ -1025,6 +1093,7 @@ "CreateSlotTypeVersionRequest$checksum": "

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$checksum": "

Checksum of the $LATEST version of the slot type.

", "GetBotAliasResponse$checksum": "

Checksum of the bot alias.

", + "GetBotChannelAssociationResponse$failureReason": "

If status is FAILED, Amazon Lex provides the reason that it failed to create the association.

", "GetBotRequest$versionOrAlias": "

The version or alias of the bot.

", "GetBotResponse$failureReason": "

If status is FAILED, Amazon Lex explains why it failed to build the bot.

", "GetBotResponse$voiceId": "

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see PutBot.

", @@ -1033,6 +1102,8 @@ "GetBuiltinSlotTypesRequest$signatureContains": "

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.\"

", "GetExportResponse$failureReason": "

If status is FAILED, Amazon Lex provides the reason that it failed to export the resource.

", "GetExportResponse$url": "

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$importId": "

The identifier of the import job information to return.

", + "GetImportResponse$importId": "

The identifier for the specific import job.

", "GetIntentResponse$checksum": "

Checksum of the intent.

", "GetSlotTypeResponse$checksum": "

Checksum of the $LATEST version of the slot type.

", "InternalFailureException$message": null, @@ -1050,7 +1121,15 @@ "PutIntentRequest$checksum": "

Identifies a specific revision of the $LATEST version.

When you create a new intent, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

When you want to update a intent, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

", "PutIntentResponse$checksum": "

Checksum of the $LATESTversion of the intent created or updated.

", "PutSlotTypeRequest$checksum": "

Identifies a specific revision of the $LATEST version.

When you create a new slot type, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

When you want to update a slot type, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

", - "PutSlotTypeResponse$checksum": "

Checksum of the $LATEST version of the slot type.

" + "PutSlotTypeResponse$checksum": "

Checksum of the $LATEST version of the slot type.

", + "StartImportResponse$importId": "

The identifier for the specific import job.

", + "StringList$member": null + } + }, + "StringList": { + "base": null, + "refs": { + "GetImportResponse$failureReason": "

A string that describes why an import job failed to complete.

" } }, "SynonymList": { @@ -1078,6 +1157,7 @@ "GetBotChannelAssociationResponse$createdDate": "

The date that the association between the bot and the channel was created.

", "GetBotResponse$lastUpdatedDate": "

The date that the bot was updated. When you create a resource, the creation date and last updated date are the same.

", "GetBotResponse$createdDate": "

The date that the bot was created.

", + "GetImportResponse$createdDate": "

A timestamp for the date and time that the import job was created.

", "GetIntentResponse$lastUpdatedDate": "

The date that the intent was updated. When you create a resource, the creation date and the last updated date are the same.

", "GetIntentResponse$createdDate": "

The date that the intent was created.

", "GetSlotTypeResponse$lastUpdatedDate": "

The date that the slot type was updated. When you create a resource, the creation date and last update date are the same.

", @@ -1094,6 +1174,7 @@ "PutSlotTypeResponse$createdDate": "

The date that the slot type was created.

", "SlotTypeMetadata$lastUpdatedDate": "

The date that the slot type was updated. When you create a resource, the creation date and last updated date are the same.

", "SlotTypeMetadata$createdDate": "

The date that the slot type was created.

", + "StartImportResponse$createdDate": "

A timestamp for the date and time that the import job was requested.

", "UtteranceData$firstUtteredDate": "

The date that the utterance was first recorded.

", "UtteranceData$lastUtteredDate": "

The date that the utterance was last recorded.

" } diff --git a/models/apis/lightsail/2016-11-28/api-2.json b/models/apis/lightsail/2016-11-28/api-2.json index 382915569f5..0ef8461cd50 100644 --- a/models/apis/lightsail/2016-11-28/api-2.json +++ b/models/apis/lightsail/2016-11-28/api-2.json @@ -3023,7 +3023,8 @@ "NotStarted", "Started", "Failed", - "Completed" + "Completed", + "Succeeded" ] }, "OperationType":{ @@ -3169,8 +3170,9 @@ "us-east-2", "us-west-1", "us-west-2", - "eu-west-1", "eu-central-1", + "eu-west-1", + "eu-west-2", "ap-south-1", "ap-southeast-1", "ap-southeast-2", diff --git a/models/apis/lightsail/2016-11-28/docs-2.json b/models/apis/lightsail/2016-11-28/docs-2.json index 18dc674b427..b4ac99bc5d2 100644 --- a/models/apis/lightsail/2016-11-28/docs-2.json +++ b/models/apis/lightsail/2016-11-28/docs-2.json @@ -4,8 +4,8 @@ "operations": { "AllocateStaticIp": "

Allocates a static IP address.

", "AttachDisk": "

Attaches a block storage disk to a running or stopped Lightsail instance and exposes it to the instance with the specified disk name.

", - "AttachInstancesToLoadBalancer": "

Attaches one or more Lightsail instances to a load balancer.

", - "AttachLoadBalancerTlsCertificate": "

Attaches a Transport Layer Security (TLS) certificate to your load balancer.

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

", + "AttachInstancesToLoadBalancer": "

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": "

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": "

Attaches a static IP address to a specific Amazon Lightsail instance.

", "CloseInstancePublicPorts": "

Closes the public ports on a specific Amazon Lightsail instance.

", "CreateDisk": "

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.

", @@ -17,7 +17,7 @@ "CreateInstances": "

Creates one or more Amazon Lightsail virtual private servers, or instances.

", "CreateInstancesFromSnapshot": "

Uses a specific snapshot as a blueprint for creating one or more new instances that are based on that identical configuration.

", "CreateKeyPair": "

Creates sn SSH key pair.

", - "CreateLoadBalancer": "

Creates a Lightsail load balancer.

When you create a load balancer, you can specify certificates and port settings. You can create up to 5 load balancers per AWS Region in your account.

", + "CreateLoadBalancer": "

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": "

Creates a Lightsail load balancer TLS certificate.

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

", "DeleteDisk": "

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": "

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.

", @@ -26,10 +26,10 @@ "DeleteInstance": "

Deletes a specific Amazon Lightsail virtual private server, or instance.

", "DeleteInstanceSnapshot": "

Deletes a specific snapshot of a virtual private server (or instance).

", "DeleteKeyPair": "

Deletes a specific SSH key pair.

", - "DeleteLoadBalancer": "

Deletes a Lightsail load balancer.

", - "DeleteLoadBalancerTlsCertificate": "

Deletes a TLS/SSL certificate associated with a Lightsail load balancer.

", + "DeleteLoadBalancer": "

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": "

Deletes an SSL/TLS certificate associated with a Lightsail load balancer.

", "DetachDisk": "

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": "

Detaches the specified instances from a Lightsail load balancer.

", + "DetachInstancesFromLoadBalancer": "

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": "

Detaches a static IP from the Amazon Lightsail instance to which it is attached.

", "DownloadDefaultKeyPair": "

Downloads the default SSH key pair from the user's account.

", "GetActiveNames": "

Returns the names of all active (not deleted) resources.

", @@ -53,7 +53,7 @@ "GetKeyPairs": "

Returns information about all key pairs in the user's account.

", "GetLoadBalancer": "

Returns information about the specified Lightsail load balancer.

", "GetLoadBalancerMetricData": "

Returns information about health metrics for your Lightsail load balancer.

", - "GetLoadBalancerTlsCertificates": "

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).

", + "GetLoadBalancerTlsCertificates": "

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": "

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": "

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": "

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.

", @@ -72,7 +72,7 @@ "StopInstance": "

Stops a specific Amazon Lightsail instance that is currently running.

", "UnpeerVpc": "

Attempts to unpeer the Lightsail VPC from the user's default VPC.

", "UpdateDomainEntry": "

Updates a domain recordset after it is created.

", - "UpdateLoadBalancerAttribute": "

Updates the specified attribute for a load balancer.

" + "UpdateLoadBalancerAttribute": "

Updates the specified attribute for a load balancer. You can only update one attribute at a time.

" }, "shapes": { "AccessDeniedException": { @@ -544,23 +544,23 @@ "CreateDomainEntryRequest$domainName": "

The domain name (e.g., example.com) for which you want to create the domain entry.

", "CreateDomainRequest$domainName": "

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.

", "CreateLoadBalancerRequest$certificateDomainName": "

The domain name with which your certificate is associated (e.g., example.com).

If you specify certificateDomainName, then certificateName is required (and vice-versa).

", - "CreateLoadBalancerTlsCertificateRequest$certificateDomainName": "

The domain name (e.g., example.com) for your TLS/SSL certificate.

", + "CreateLoadBalancerTlsCertificateRequest$certificateDomainName": "

The domain name (e.g., example.com) for your SSL/TLS certificate.

", "DeleteDomainEntryRequest$domainName": "

The name of the domain entry to delete.

", "DeleteDomainRequest$domainName": "

The specific domain name to delete.

", "DomainEntry$name": "

The name of the domain.

", "DomainNameList$member": null, "GetDomainRequest$domainName": "

The domain name for which your want to return information about.

", - "LoadBalancerTlsCertificate$domainName": "

The domain name for your TLS/SSL certificate.

", - "LoadBalancerTlsCertificateDomainValidationOption$domainName": "

A fully qualified domain name in the certificate request.

", - "LoadBalancerTlsCertificateDomainValidationRecord$domainName": "

The domain name against which your TLS/SSL certificate was validated.

", + "LoadBalancerTlsCertificate$domainName": "

The domain name for your SSL/TLS certificate.

", + "LoadBalancerTlsCertificateDomainValidationOption$domainName": "

The fully qualified domain name in the certificate request.

", + "LoadBalancerTlsCertificateDomainValidationRecord$domainName": "

The domain name against which your SSL/TLS certificate was validated.

", "UpdateDomainEntryRequest$domainName": "

The name of the domain recordset to update.

" } }, "DomainNameList": { "base": null, "refs": { - "CreateLoadBalancerRequest$certificateAlternativeNames": "

The alternative domain names to use with your TLS/SSL certificate (e.g., www.example.com, www.ejemplo.com, ejemplo.com).

", - "CreateLoadBalancerTlsCertificateRequest$certificateAlternativeNames": "

An array of strings listing alternative domain names for your TLS/SSL certificate.

" + "CreateLoadBalancerRequest$certificateAlternativeNames": "

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).

", + "CreateLoadBalancerTlsCertificateRequest$certificateAlternativeNames": "

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).

" } }, "DownloadDefaultKeyPairRequest": { @@ -902,7 +902,7 @@ "InstanceHealthReason": { "base": null, "refs": { - "InstanceHealthSummary$instanceHealthReason": "

More information about the instance health. Valid values are below.

" + "InstanceHealthSummary$instanceHealthReason": "

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.

" } }, "InstanceHealthState": { @@ -1006,7 +1006,7 @@ } }, "InvalidInputException": { - "base": "

Lightsail throws this exception when user input does not conform to the validation rules of an input field.

Domain-related APIs are only available in the N. Virginia (us-east-1) Region. Please set your Region configuration to us-east-1 to create, view, or edit these resources.

", + "base": "

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.

", "refs": { } }, @@ -1046,11 +1046,11 @@ "InstanceSnapshot$createdAt": "

The timestamp when the snapshot was created (e.g., 1479907467.024).

", "KeyPair$createdAt": "

The timestamp when the key pair was created (e.g., 1479816991.349).

", "LoadBalancer$createdAt": "

The date when your load balancer was created.

", - "LoadBalancerTlsCertificate$createdAt": "

The time when you created your TLS/SSL certificate.

", - "LoadBalancerTlsCertificate$issuedAt": "

The time when the TLS/SSL certificate was issued.

", - "LoadBalancerTlsCertificate$notAfter": "

The timestamp when the TLS/SSL certificate expires.

", - "LoadBalancerTlsCertificate$notBefore": "

The timestamp when the TLS/SSL certificate is first valid.

", - "LoadBalancerTlsCertificate$revokedAt": "

The timestamp when the TLS/SSL certificate was revoked.

", + "LoadBalancerTlsCertificate$createdAt": "

The time when you created your SSL/TLS certificate.

", + "LoadBalancerTlsCertificate$issuedAt": "

The time when the SSL/TLS certificate was issued.

", + "LoadBalancerTlsCertificate$notAfter": "

The timestamp when the SSL/TLS certificate expires.

", + "LoadBalancerTlsCertificate$notBefore": "

The timestamp when the SSL/TLS certificate is first valid.

", + "LoadBalancerTlsCertificate$revokedAt": "

The timestamp when the SSL/TLS certificate was revoked.

", "Operation$createdAt": "

The timestamp when the operation was initialized (e.g., 1479816991.349).

", "Operation$statusChangedAt": "

The timestamp when the status was changed (e.g., 1479816991.349).

", "StaticIp$createdAt": "

The timestamp when the static IP was created (e.g., 1479735304.222).

" @@ -1100,13 +1100,13 @@ "base": null, "refs": { "GetLoadBalancerMetricDataRequest$metricName": "

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.

", - "GetLoadBalancerMetricDataResult$metricName": "

The metric about which you are receiving information. Valid values are listed below.

" + "GetLoadBalancerMetricDataResult$metricName": "

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.

" } }, "LoadBalancerProtocol": { "base": null, "refs": { - "LoadBalancer$protocol": "

The protocol you have enabled for your load balancer. Valid values are below.

" + "LoadBalancer$protocol": "

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.

" } }, "LoadBalancerState": { @@ -1116,7 +1116,7 @@ } }, "LoadBalancerTlsCertificate": { - "base": "

Describes a load balancer TLS/SSL certificate.

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

", + "base": "

Describes a load balancer SSL/TLS certificate.

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

", "refs": { "LoadBalancerTlsCertificateList$member": null } @@ -1129,7 +1129,7 @@ } }, "LoadBalancerTlsCertificateDomainValidationOption": { - "base": "

Contains information about the domain names on a TLS/SSL certificate that you will use to validate domain ownership.

", + "base": "

Contains information about the domain names on an SSL/TLS certificate that you will use to validate domain ownership.

", "refs": { "LoadBalancerTlsCertificateDomainValidationOptionList$member": null } @@ -1141,7 +1141,7 @@ } }, "LoadBalancerTlsCertificateDomainValidationRecord": { - "base": "

Describes the validation record of each domain name in the TLS/SSL certificate.

", + "base": "

Describes the validation record of each domain name in the SSL/TLS certificate.

", "refs": { "LoadBalancerTlsCertificateDomainValidationRecordList$member": null } @@ -1155,13 +1155,13 @@ "LoadBalancerTlsCertificateFailureReason": { "base": null, "refs": { - "LoadBalancerTlsCertificate$failureReason": "

The reason for the TLS/SSL certificate validation failure.

" + "LoadBalancerTlsCertificate$failureReason": "

The reason for the SSL/TLS certificate validation failure.

" } }, "LoadBalancerTlsCertificateList": { "base": null, "refs": { - "GetLoadBalancerTlsCertificatesResult$tlsCertificates": "

An array of LoadBalancerTlsCertificate objects describing your TLS/SSL certificates.

" + "GetLoadBalancerTlsCertificatesResult$tlsCertificates": "

An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.

" } }, "LoadBalancerTlsCertificateRenewalStatus": { @@ -1185,11 +1185,11 @@ "LoadBalancerTlsCertificateStatus": { "base": null, "refs": { - "LoadBalancerTlsCertificate$status": "

The status of the TLS/SSL certificate. Valid values are below.

" + "LoadBalancerTlsCertificate$status": "

The status of the SSL/TLS certificate. Valid values are below.

" } }, "LoadBalancerTlsCertificateSummary": { - "base": "

Provides a summary of TLS/SSL certificate metadata.

", + "base": "

Provides a summary of SSL/TLS certificate metadata.

", "refs": { "LoadBalancerTlsCertificateSummaryList$member": null } @@ -1197,7 +1197,7 @@ "LoadBalancerTlsCertificateSummaryList": { "base": null, "refs": { - "LoadBalancer$tlsCertificateSummaries": "

An array of LoadBalancerTlsCertificateSummary objects that provide additional information about the TLS/SSL certificates.

" + "LoadBalancer$tlsCertificateSummaries": "

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.

" } }, "MetricDatapoint": { @@ -1230,7 +1230,7 @@ "base": null, "refs": { "GetInstanceMetricDataRequest$statistics": "

The instance statistics.

", - "GetLoadBalancerMetricDataRequest$statistics": "

An array of statistics that you want to request metrics for. Valid values are listed below.

" + "GetLoadBalancerMetricDataRequest$statistics": "

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.

" } }, "MetricUnit": { @@ -1287,7 +1287,7 @@ "LoadBalancer$arn": "

The Amazon Resource Name (ARN) of the load balancer.

", "LoadBalancer$dnsName": "

The DNS name of your Lightsail load balancer.

", "LoadBalancer$healthCheckPath": "

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.

", - "LoadBalancerTlsCertificate$arn": "

The Amazon Resource Name (ARN) of the TLS/SSL certificate.

", + "LoadBalancerTlsCertificate$arn": "

The Amazon Resource Name (ARN) of the SSL/TLS certificate.

", "LoadBalancerTlsCertificate$issuer": "

The issuer of the certificate.

", "LoadBalancerTlsCertificate$keyAlgorithm": "

The algorithm that was used to generate the key pair (the public and private key).

", "LoadBalancerTlsCertificate$serial": "

The serial number of the certificate.

", @@ -1345,7 +1345,7 @@ "AllocateStaticIpResult$operations": "

An array of key-value pairs containing information about the static IP address you allocated.

", "AttachDiskResult$operations": "

An object describing the API operations.

", "AttachInstancesToLoadBalancerResult$operations": "

An object representing the API operations.

", - "AttachLoadBalancerTlsCertificateResult$operations": "

An object representing the API operations.

", + "AttachLoadBalancerTlsCertificateResult$operations": "

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.

", "AttachStaticIpResult$operations": "

An array of key-value pairs containing information about your API operations.

", "CreateDiskFromSnapshotResult$operations": "

An object describing the API operations.

", "CreateDiskResult$operations": "

An object describing the API operations.

", @@ -1366,7 +1366,7 @@ "DetachStaticIpResult$operations": "

An array of key-value pairs containing information about the results of your detach static IP request.

", "GetOperationsForResourceResult$operations": "

An array of key-value pairs containing information about the results of your get operations for resource request.

", "GetOperationsResult$operations": "

An array of key-value pairs containing information about the results of your get operations request.

", - "RebootInstanceResult$operations": "

An array of key-value pairs containing information about the request operation.

", + "RebootInstanceResult$operations": "

An array of key-value pairs containing information about the request operations.

", "ReleaseStaticIpResult$operations": "

An array of key-value pairs containing information about the request operation.

", "StartInstanceResult$operations": "

An array of key-value pairs containing information about the request operation.

", "StopInstanceResult$operations": "

An array of key-value pairs containing information about the request operation.

", @@ -1438,7 +1438,7 @@ "PortList": { "base": null, "refs": { - "LoadBalancer$publicPorts": "

An array of public port settings for your load balancer.

" + "LoadBalancer$publicPorts": "

An array of public port settings for your load balancer. For HTTP, use port 80. For HTTPS, use port 443.

" } }, "PortState": { @@ -1505,7 +1505,7 @@ "Instance$location": "

The region name and availability zone where the instance is located.

", "InstanceSnapshot$location": "

The region name and availability zone where you created the snapshot.

", "KeyPair$location": "

The region name and Availability Zone where the key pair was created.

", - "LoadBalancer$location": "

The AWS Region and Availability Zone where your load balancer was created (e.g., us-east-2a).

", + "LoadBalancer$location": "

The AWS Region where your load balancer was created (e.g., us-east-2a). Lightsail automatically creates your load balancer across Availability Zones.

", "LoadBalancerTlsCertificate$location": "

The AWS Region and Availability Zone where you created your certificate.

", "Operation$location": "

The region and Availability Zone.

", "StaticIp$location": "

The region and Availability Zone where the static IP was created.

" @@ -1518,8 +1518,8 @@ "AttachDiskRequest$diskName": "

The unique Lightsail disk name (e.g., my-disk).

", "AttachDiskRequest$instanceName": "

The name of the Lightsail instance where you want to utilize the storage disk.

", "AttachInstancesToLoadBalancerRequest$loadBalancerName": "

The name of the load balancer.

", - "AttachLoadBalancerTlsCertificateRequest$loadBalancerName": "

The name of the load balancer to which you want to associate the TLS/SSL certificate.

", - "AttachLoadBalancerTlsCertificateRequest$certificateName": "

The name of your TLS/SSL certificate.

", + "AttachLoadBalancerTlsCertificateRequest$loadBalancerName": "

The name of the load balancer to which you want to associate the SSL/TLS certificate.

", + "AttachLoadBalancerTlsCertificateRequest$certificateName": "

The name of your SSL/TLS certificate.

", "AttachStaticIpRequest$staticIpName": "

The name of the static IP.

", "AttachStaticIpRequest$instanceName": "

The instance name to which you want to attach the static IP address.

", "AttachedDiskMap$key": null, @@ -1538,9 +1538,9 @@ "CreateInstancesRequest$keyPairName": "

The name of your key pair.

", "CreateKeyPairRequest$keyPairName": "

The name for your new key pair.

", "CreateLoadBalancerRequest$loadBalancerName": "

The name of your load balancer.

", - "CreateLoadBalancerRequest$certificateName": "

The name of the TLS/SSL certificate.

If you specify certificateName, then certificateDomainName is required (and vice-versa).

", - "CreateLoadBalancerTlsCertificateRequest$loadBalancerName": "

The load balancer name where you want to create the TLS/SSL certificate.

", - "CreateLoadBalancerTlsCertificateRequest$certificateName": "

The TLS/SSL certificate name.

", + "CreateLoadBalancerRequest$certificateName": "

The name of the SSL/TLS certificate.

If you specify certificateName, then certificateDomainName is required (and vice-versa).

", + "CreateLoadBalancerTlsCertificateRequest$loadBalancerName": "

The load balancer name where you want to create the SSL/TLS certificate.

", + "CreateLoadBalancerTlsCertificateRequest$certificateName": "

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.

", "DeleteDiskRequest$diskName": "

The unique name of the disk you want to delete (e.g., my-disk).

", "DeleteDiskSnapshotRequest$diskSnapshotName": "

The name of the disk snapshot you want to delete (e.g., my-disk-snapshot).

", "DeleteInstanceRequest$instanceName": "

The name of the instance to delete.

", @@ -1548,7 +1548,7 @@ "DeleteKeyPairRequest$keyPairName": "

The name of the key pair to delete.

", "DeleteLoadBalancerRequest$loadBalancerName": "

The name of the load balancer you want to delete.

", "DeleteLoadBalancerTlsCertificateRequest$loadBalancerName": "

The load balancer name.

", - "DeleteLoadBalancerTlsCertificateRequest$certificateName": "

The TLS/SSL certificate name.

", + "DeleteLoadBalancerTlsCertificateRequest$certificateName": "

The SSL/TLS certificate name.

", "DetachDiskRequest$diskName": "

The unique name of the disk you want to detach from your instance (e.g., my-disk).

", "DetachInstancesFromLoadBalancerRequest$loadBalancerName": "

The name of the Lightsail load balancer.

", "DetachStaticIpRequest$staticIpName": "

The name of the static IP to detach from the instance.

", @@ -1569,7 +1569,7 @@ "GetKeyPairRequest$keyPairName": "

The name of the key pair for which you are requesting information.

", "GetLoadBalancerMetricDataRequest$loadBalancerName": "

The name of the load balancer.

", "GetLoadBalancerRequest$loadBalancerName": "

The name of the load balancer.

", - "GetLoadBalancerTlsCertificatesRequest$loadBalancerName": "

The name of the load balancer where you stored your TLS/SSL certificate.

", + "GetLoadBalancerTlsCertificatesRequest$loadBalancerName": "

The name of the load balancer you associated with your SSL/TLS certificate.

", "GetOperationsForResourceRequest$resourceName": "

The name of the resource for which you are requesting information.

", "GetStaticIpRequest$staticIpName": "

The name of the static IP in Lightsail.

", "ImportKeyPairRequest$keyPairName": "

The name of the key pair for which you want to import the public key.

", @@ -1581,9 +1581,9 @@ "InstanceSnapshot$fromInstanceName": "

The instance from which the snapshot was created.

", "KeyPair$name": "

The friendly name of the SSH key pair.

", "LoadBalancer$name": "

The name of the load balancer (e.g., my-load-balancer).

", - "LoadBalancerTlsCertificate$name": "

The name of the TLS/SSL certificate (e.g., my-certificate).

", - "LoadBalancerTlsCertificate$loadBalancerName": "

The load balancer name where your TLS/SSL certificate is attached.

", - "LoadBalancerTlsCertificateSummary$name": "

The name of the TLS/SSL certificate.

", + "LoadBalancerTlsCertificate$name": "

The name of the SSL/TLS certificate (e.g., my-certificate).

", + "LoadBalancerTlsCertificate$loadBalancerName": "

The load balancer name where your SSL/TLS certificate is attached.

", + "LoadBalancerTlsCertificateSummary$name": "

The name of the SSL/TLS certificate.

", "OpenInstancePublicPortsRequest$instanceName": "

The name of the instance for which you want to open the public ports.

", "Operation$resourceName": "

The resource name.

", "PasswordData$keyPairName": "

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.

", @@ -1595,13 +1595,13 @@ "StaticIp$name": "

The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).

", "StaticIp$attachedTo": "

The instance where the static IP is attached (e.g., Amazon_Linux-1GB-Ohio-1).

", "StopInstanceRequest$instanceName": "

The name of the instance (a virtual private server) to stop.

", - "UpdateLoadBalancerAttributeRequest$loadBalancerName": "

The name of the load balancer that you want to modify.

" + "UpdateLoadBalancerAttributeRequest$loadBalancerName": "

The name of the load balancer that you want to modify (e.g., my-load-balancer.

" } }, "ResourceNameList": { "base": null, "refs": { - "AttachInstancesToLoadBalancerRequest$instanceNames": "

An array of strings representing the instance name(s) you want to attach to your load balancer.

", + "AttachInstancesToLoadBalancerRequest$instanceNames": "

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).

", "DetachInstancesFromLoadBalancerRequest$instanceNames": "

An array of strings containing the names of the instances you want to detach from the load balancer.

" } }, @@ -1615,7 +1615,7 @@ "InstanceSnapshot$resourceType": "

The type of resource (usually InstanceSnapshot).

", "KeyPair$resourceType": "

The resource type (usually KeyPair).

", "LoadBalancer$resourceType": "

The resource type (e.g., LoadBalancer.

", - "LoadBalancerTlsCertificate$resourceType": "

The resource type (e.g., LoadBalancerTlsCertificate.

", + "LoadBalancerTlsCertificate$resourceType": "

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

", "Operation$resourceType": "

The resource type.

", "StaticIp$resourceType": "

The resource type (usually StaticIp).

" } @@ -1664,7 +1664,7 @@ "CreateInstancesFromSnapshotRequest$instanceNames": "

The names for your new instances.

", "CreateInstancesRequest$instanceNames": "

The names to use for your new Lightsail instances. Separate multiple values using quotation marks and commas, for example: [\"MyFirstInstance\",\"MySecondInstance\"]

", "GetActiveNamesResult$activeNames": "

The list of active names returned by the get active names request.

", - "LoadBalancerTlsCertificate$subjectAlternativeNames": "

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.

" + "LoadBalancerTlsCertificate$subjectAlternativeNames": "

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.

" } }, "StringMax256": { @@ -1713,17 +1713,17 @@ "refs": { "Blueprint$isActive": "

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.

", "Bundle$isActive": "

A Boolean value indicating whether the bundle is active.

", - "DeleteLoadBalancerTlsCertificateRequest$force": "

When true, forces the deletion of a TLS/SSL certificate.

", + "DeleteLoadBalancerTlsCertificateRequest$force": "

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.

", "Disk$isSystemDisk": "

A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).

", "Disk$isAttached": "

A Boolean value indicating whether the disk is attached.

", - "DomainEntry$isAlias": "

When true, specifies whether the domain entry is an alias used by the Lightsail load balancer.

", + "DomainEntry$isAlias": "

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

", "GetBlueprintsRequest$includeInactive": "

A Boolean value indicating whether to include inactive results in your request.

", "GetBundlesRequest$includeInactive": "

A Boolean value that indicates whether to include inactive bundle results in your request.

", "GetRegionsRequest$includeAvailabilityZones": "

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.

", "Instance$isStaticIp": "

A Boolean value indicating whether this instance has a static IP assigned to it.

", "IsVpcPeeredResult$isPeered": "

Returns true if the Lightsail VPC is peered; otherwise, false.

", - "LoadBalancerTlsCertificate$isAttached": "

When true, the TLS/SSL certificate is attached to the Lightsail load balancer.

", - "LoadBalancerTlsCertificateSummary$isAttached": "

When true, the TLS/SSL certificate is attached to the Lightsail load balancer.

", + "LoadBalancerTlsCertificate$isAttached": "

When true, the SSL/TLS certificate is attached to the Lightsail load balancer.

", + "LoadBalancerTlsCertificateSummary$isAttached": "

When true, the SSL/TLS certificate is attached to the Lightsail load balancer.

", "Operation$isTerminal": "

A Boolean value indicating whether the operation is terminal.

", "StaticIp$isAttached": "

A Boolean value indicating whether the static IP is attached.

", "StopInstanceRequest$force": "

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.

" @@ -1764,7 +1764,7 @@ "InstanceHardware$cpuCount": "

The number of vCPUs the instance has.

", "InstanceSnapshot$sizeInGb": "

The size in GB of the SSD.

", "InstanceState$code": "

The status code for the instance.

", - "LoadBalancer$instancePort": "

The instance port where the load balancer is listening.

", + "LoadBalancer$instancePort": "

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.

", "MonthlyTransfer$gbPerMonthAllocated": "

The amount allocated per month (in GB).

" } }, @@ -1790,14 +1790,14 @@ "CreateInstancesFromSnapshotRequest$userData": "

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.

", "CreateInstancesRequest$availabilityZone": "

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.

", "CreateInstancesRequest$userData": "

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.

", - "CreateLoadBalancerRequest$healthCheckPath": "

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., \"/\").

", + "CreateLoadBalancerRequest$healthCheckPath": "

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.

", "Disk$supportCode": "

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.

", "Disk$path": "

The disk path.

", "Disk$attachmentState": "

(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.

", "DiskSnapshot$supportCode": "

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.

", "DiskSnapshot$progress": "

The progress of the disk snapshot operation.

", "Domain$supportCode": "

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.

", - "DomainEntry$target": "

The target AWS name server (e.g., ns-111.awsdns-22.com.).

", + "DomainEntry$target": "

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.

", "DomainEntryOptions$value": null, "GetActiveNamesRequest$pageToken": "

A token used for paginating results from your get active names request.

", "GetActiveNamesResult$nextPageToken": "

A token used for advancing to the next page of results from your get active names request.

", @@ -1845,7 +1845,7 @@ "KeyPair$supportCode": "

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.

", "LoadBalancer$supportCode": "

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.

", "LoadBalancerConfigurationOptions$value": null, - "LoadBalancerTlsCertificate$supportCode": "

The support code. Include this code in your email to support when you have questions about your Lightsail load balancer or TLS/SSL certificate. This code enables our support team to look up your Lightsail information more easily.

", + "LoadBalancerTlsCertificate$supportCode": "

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.

", "NotFoundException$code": null, "NotFoundException$docs": null, "NotFoundException$message": null, diff --git a/models/apis/macie/2017-12-19/api-2.json b/models/apis/macie/2017-12-19/api-2.json new file mode 100644 index 00000000000..b5ea29b2cc2 --- /dev/null +++ b/models/apis/macie/2017-12-19/api-2.json @@ -0,0 +1,365 @@ +{ + "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"} + ] + }, + "AssociateS3Resources":{ + "name":"AssociateS3Resources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateS3ResourcesRequest"}, + "output":{"shape":"AssociateS3ResourcesResult"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalException"} + ] + }, + "DisassociateMemberAccount":{ + "name":"DisassociateMemberAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateMemberAccountRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalException"} + ] + }, + "DisassociateS3Resources":{ + "name":"DisassociateS3Resources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateS3ResourcesRequest"}, + "output":{"shape":"DisassociateS3ResourcesResult"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalException"} + ] + }, + "ListMemberAccounts":{ + "name":"ListMemberAccounts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMemberAccountsRequest"}, + "output":{"shape":"ListMemberAccountsResult"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"} + ] + }, + "ListS3Resources":{ + "name":"ListS3Resources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListS3ResourcesRequest"}, + "output":{"shape":"ListS3ResourcesResult"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalException"} + ] + }, + "UpdateS3Resources":{ + "name":"UpdateS3Resources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateS3ResourcesRequest"}, + "output":{"shape":"UpdateS3ResourcesResult"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalException"} + ] + } + }, + "shapes":{ + "AWSAccountId":{ + "type":"string", + "pattern":"[0-9]{12}" + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceType":{"shape":"ResourceType"} + }, + "exception":true + }, + "AssociateMemberAccountRequest":{ + "type":"structure", + "required":["memberAccountId"], + "members":{ + "memberAccountId":{"shape":"AWSAccountId"} + } + }, + "AssociateS3ResourcesRequest":{ + "type":"structure", + "required":["s3Resources"], + "members":{ + "memberAccountId":{"shape":"AWSAccountId"}, + "s3Resources":{"shape":"S3ResourcesClassification"} + } + }, + "AssociateS3ResourcesResult":{ + "type":"structure", + "members":{ + "failedS3Resources":{"shape":"FailedS3Resources"} + } + }, + "BucketName":{ + "type":"string", + "max":500 + }, + "ClassificationType":{ + "type":"structure", + "required":[ + "oneTime", + "continuous" + ], + "members":{ + "oneTime":{"shape":"S3OneTimeClassificationType"}, + "continuous":{"shape":"S3ContinuousClassificationType"} + } + }, + "ClassificationTypeUpdate":{ + "type":"structure", + "members":{ + "oneTime":{"shape":"S3OneTimeClassificationType"}, + "continuous":{"shape":"S3ContinuousClassificationType"} + } + }, + "DisassociateMemberAccountRequest":{ + "type":"structure", + "required":["memberAccountId"], + "members":{ + "memberAccountId":{"shape":"AWSAccountId"} + } + }, + "DisassociateS3ResourcesRequest":{ + "type":"structure", + "required":["associatedS3Resources"], + "members":{ + "memberAccountId":{"shape":"AWSAccountId"}, + "associatedS3Resources":{"shape":"S3Resources"} + } + }, + "DisassociateS3ResourcesResult":{ + "type":"structure", + "members":{ + "failedS3Resources":{"shape":"FailedS3Resources"} + } + }, + "ErrorCode":{ + "type":"string", + "max":10 + }, + "ExceptionMessage":{ + "type":"string", + "max":10000 + }, + "FailedS3Resource":{ + "type":"structure", + "members":{ + "failedItem":{"shape":"S3Resource"}, + "errorCode":{"shape":"ErrorCode"}, + "errorMessage":{"shape":"ExceptionMessage"} + } + }, + "FailedS3Resources":{ + "type":"list", + "member":{"shape":"FailedS3Resource"} + }, + "FieldName":{ + "type":"string", + "max":1000 + }, + "InternalException":{ + "type":"structure", + "members":{ + "errorCode":{"shape":"ErrorCode"}, + "message":{"shape":"ExceptionMessage"} + }, + "exception":true, + "fault":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "errorCode":{"shape":"ErrorCode"}, + "message":{"shape":"ExceptionMessage"}, + "fieldName":{"shape":"FieldName"} + }, + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "errorCode":{"shape":"ErrorCode"}, + "message":{"shape":"ExceptionMessage"}, + "resourceType":{"shape":"ResourceType"} + }, + "exception":true + }, + "ListMemberAccountsRequest":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "maxResults":{"shape":"MaxResults"} + } + }, + "ListMemberAccountsResult":{ + "type":"structure", + "members":{ + "memberAccounts":{"shape":"MemberAccounts"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListS3ResourcesRequest":{ + "type":"structure", + "members":{ + "memberAccountId":{"shape":"AWSAccountId"}, + "nextToken":{"shape":"NextToken"}, + "maxResults":{"shape":"MaxResults"} + } + }, + "ListS3ResourcesResult":{ + "type":"structure", + "members":{ + "s3Resources":{"shape":"S3ResourcesClassification"}, + "nextToken":{"shape":"NextToken"} + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":250 + }, + "MemberAccount":{ + "type":"structure", + "members":{ + "accountId":{"shape":"AWSAccountId"} + } + }, + "MemberAccounts":{ + "type":"list", + "member":{"shape":"MemberAccount"} + }, + "NextToken":{ + "type":"string", + "max":500 + }, + "Prefix":{ + "type":"string", + "max":10000 + }, + "ResourceType":{ + "type":"string", + "max":1000 + }, + "S3ContinuousClassificationType":{ + "type":"string", + "enum":["FULL"] + }, + "S3OneTimeClassificationType":{ + "type":"string", + "enum":[ + "FULL", + "NONE" + ] + }, + "S3Resource":{ + "type":"structure", + "required":["bucketName"], + "members":{ + "bucketName":{"shape":"BucketName"}, + "prefix":{"shape":"Prefix"} + } + }, + "S3ResourceClassification":{ + "type":"structure", + "required":[ + "bucketName", + "classificationType" + ], + "members":{ + "bucketName":{"shape":"BucketName"}, + "prefix":{"shape":"Prefix"}, + "classificationType":{"shape":"ClassificationType"} + } + }, + "S3ResourceClassificationUpdate":{ + "type":"structure", + "required":[ + "bucketName", + "classificationTypeUpdate" + ], + "members":{ + "bucketName":{"shape":"BucketName"}, + "prefix":{"shape":"Prefix"}, + "classificationTypeUpdate":{"shape":"ClassificationTypeUpdate"} + } + }, + "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"}, + "s3ResourcesUpdate":{"shape":"S3ResourcesClassificationUpdate"} + } + }, + "UpdateS3ResourcesResult":{ + "type":"structure", + "members":{ + "failedS3Resources":{"shape":"FailedS3Resources"} + } + } + } +} diff --git a/models/apis/macie/2017-12-19/docs-2.json b/models/apis/macie/2017-12-19/docs-2.json new file mode 100644 index 00000000000..f0cb74fbb49 --- /dev/null +++ b/models/apis/macie/2017-12-19/docs-2.json @@ -0,0 +1,261 @@ +{ + "version":"2.0", + "service":"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.

", + "operations":{ + "AssociateMemberAccount":"

Associates a specified AWS account with Amazon Macie as a member account.

", + "AssociateS3Resources":"

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":"

Removes the specified member account from Amazon Macie.

", + "DisassociateS3Resources":"

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":"

Lists all Amazon Macie member accounts for the current Amazon Macie master account.

", + "ListS3Resources":"

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":"

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":{ + "base":null, + "refs":{ + "AssociateMemberAccountRequest$memberAccountId":"

The ID of the AWS account that you want to associate with Amazon Macie as a member account.

", + "AssociateS3ResourcesRequest$memberAccountId":"

The ID of the Amazon Macie member account whose resources you want to associate with Macie.

", + "DisassociateMemberAccountRequest$memberAccountId":"

The ID of the member account that you want to remove from Amazon Macie.

", + "DisassociateS3ResourcesRequest$memberAccountId":"

The ID of the Amazon Macie member account whose resources you want to remove from being monitored by Amazon Macie.

", + "ListS3ResourcesRequest$memberAccountId":"

The Amazon Macie member account ID whose associated S3 resources you want to list.

", + "MemberAccount$accountId":"

The AWS account ID of the Amazon Macie member account.

", + "UpdateS3ResourcesRequest$memberAccountId":"

The AWS ID of the Amazon Macie member account whose S3 resources' classification types you want to update.

" + } + }, + "AccessDeniedException":{ + "base":"

You do not have required permissions to access the requested resource.

", + "refs":{ + } + }, + "AssociateMemberAccountRequest":{ + "base":null, + "refs":{ + } + }, + "AssociateS3ResourcesRequest":{ + "base":null, + "refs":{ + } + }, + "AssociateS3ResourcesResult":{ + "base":null, + "refs":{ + } + }, + "BucketName":{ + "base":null, + "refs":{ + "S3Resource$bucketName":"

The name of the S3 bucket.

", + "S3ResourceClassification$bucketName":"

The name of the S3 bucket that you want to associate with Amazon Macie.

", + "S3ResourceClassificationUpdate$bucketName":"

The name of the S3 bucket whose classification types you want to update.

" + } + }, + "ClassificationType":{ + "base":"

The classification type that Amazon Macie applies to the associated S3 resources.

", + "refs":{ + "S3ResourceClassification$classificationType":"

The classification type that you want to specify for the resource associated with Amazon Macie.

" + } + }, + "ClassificationTypeUpdate":{ + "base":"

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.

", + "refs":{ + "S3ResourceClassificationUpdate$classificationTypeUpdate":"

The classification type that you want to update for the resource associated with Amazon Macie.

" + } + }, + "DisassociateMemberAccountRequest":{ + "base":null, + "refs":{ + } + }, + "DisassociateS3ResourcesRequest":{ + "base":null, + "refs":{ + } + }, + "DisassociateS3ResourcesResult":{ + "base":null, + "refs":{ + } + }, + "ErrorCode":{ + "base":"Error code for the exception", + "refs":{ + "FailedS3Resource$errorCode":"

The status code of a failed item.

", + "InternalException$errorCode":null, + "InvalidInputException$errorCode":null, + "LimitExceededException$errorCode":null + } + }, + "ExceptionMessage":{ + "base":null, + "refs":{ + "AccessDeniedException$message":null, + "FailedS3Resource$errorMessage":"

The error message of a failed item.

", + "InternalException$message":null, + "InvalidInputException$message":null, + "LimitExceededException$message":null + } + }, + "FailedS3Resource":{ + "base":"

Includes details about the failed S3 resources.

", + "refs":{ + "FailedS3Resources$member":null + } + }, + "FailedS3Resources":{ + "base":null, + "refs":{ + "AssociateS3ResourcesResult$failedS3Resources":"

S3 resources that couldn't be associated with Amazon Macie. An error code and an error message are provided for each failed item.

", + "DisassociateS3ResourcesResult$failedS3Resources":"

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.

", + "UpdateS3ResourcesResult$failedS3Resources":"

The S3 resources whose classification types can't be updated. An error code and an error message are provided for each failed item.

" + } + }, + "FieldName":{ + "base":"Field that has invalid input", + "refs":{ + "InvalidInputException$fieldName":null + } + }, + "InternalException":{ + "base":"

Internal server error.

", + "refs":{ + } + }, + "InvalidInputException":{ + "base":"

The request was rejected because an invalid or out-of-range value was supplied for an input parameter.

", + "refs":{ + } + }, + "LimitExceededException":{ + "base":"

The request was rejected because it attempted to create resources beyond the current AWS account limits. The error code describes the limit exceeded.

", + "refs":{ + } + }, + "ListMemberAccountsRequest":{ + "base":null, + "refs":{ + } + }, + "ListMemberAccountsResult":{ + "base":null, + "refs":{ + } + }, + "ListS3ResourcesRequest":{ + "base":null, + "refs":{ + } + }, + "ListS3ResourcesResult":{ + "base":null, + "refs":{ + } + }, + "MaxResults":{ + "base":null, + "refs":{ + "ListMemberAccountsRequest$maxResults":"

Use this parameter to indicate the maximum number of items that you want in the response. The default value is 250.

", + "ListS3ResourcesRequest$maxResults":"

Use this parameter to indicate the maximum number of items that you want in the response. The default value is 250.

" + } + }, + "MemberAccount":{ + "base":"

Contains information about the Amazon Macie member account.

", + "refs":{ + "MemberAccounts$member":null + } + }, + "MemberAccounts":{ + "base":null, + "refs":{ + "ListMemberAccountsResult$memberAccounts":"

A list of the Amazon Macie member accounts returned by the action. The current master account is also included in this list.

" + } + }, + "NextToken":{ + "base":null, + "refs":{ + "ListMemberAccountsRequest$nextToken":"

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.

", + "ListMemberAccountsResult$nextToken":"

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$nextToken":"

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.

", + "ListS3ResourcesResult$nextToken":"

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.

" + } + }, + "Prefix":{ + "base":null, + "refs":{ + "S3Resource$prefix":"

The prefix of the S3 bucket.

", + "S3ResourceClassification$prefix":"

The prefix of the S3 bucket that you want to associate with Amazon Macie.

", + "S3ResourceClassificationUpdate$prefix":"

The prefix of the S3 bucket whose classification types you want to update.

" + } + }, + "ResourceType":{ + "base":"Resource type that caused the exception", + "refs":{ + "AccessDeniedException$resourceType":null, + "LimitExceededException$resourceType":null + } + }, + "S3ContinuousClassificationType":{ + "base":null, + "refs":{ + "ClassificationType$continuous":"

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.

", + "ClassificationTypeUpdate$continuous":"

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.

" + } + }, + "S3OneTimeClassificationType":{ + "base":null, + "refs":{ + "ClassificationType$oneTime":"

A one-time classification of all of the existing objects in a specified S3 bucket.

", + "ClassificationTypeUpdate$oneTime":"

A one-time classification of all of the existing objects in a specified S3 bucket.

" + } + }, + "S3Resource":{ + "base":"

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.

", + "refs":{ + "FailedS3Resource$failedItem":"

The failed S3 resources.

", + "S3Resources$member":null + } + }, + "S3ResourceClassification":{ + "base":"

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.

", + "refs":{ + "S3ResourcesClassification$member":null + } + }, + "S3ResourceClassificationUpdate":{ + "base":"

The S3 resources whose classification types you want to update. This data type is used as a request parameter in the UpdateS3Resources action.

", + "refs":{ + "S3ResourcesClassificationUpdate$member":null + } + }, + "S3Resources":{ + "base":null, + "refs":{ + "DisassociateS3ResourcesRequest$associatedS3Resources":"

The S3 resources (buckets or prefixes) that you want to remove from being monitored and classified by Amazon Macie.

" + } + }, + "S3ResourcesClassification":{ + "base":null, + "refs":{ + "AssociateS3ResourcesRequest$s3Resources":"

The S3 resources that you want to associate with Amazon Macie for monitoring and data classification.

", + "ListS3ResourcesResult$s3Resources":"

A list of the associated S3 resources returned by the action.

" + } + }, + "S3ResourcesClassificationUpdate":{ + "base":null, + "refs":{ + "UpdateS3ResourcesRequest$s3ResourcesUpdate":"

The S3 resources whose classification types you want to update.

" + } + }, + "UpdateS3ResourcesRequest":{ + "base":null, + "refs":{ + } + }, + "UpdateS3ResourcesResult":{ + "base":null, + "refs":{ + } + } + } +} diff --git a/models/apis/macie/2017-12-19/examples-1.json b/models/apis/macie/2017-12-19/examples-1.json new file mode 100644 index 00000000000..faff7689444 --- /dev/null +++ b/models/apis/macie/2017-12-19/examples-1.json @@ -0,0 +1,5 @@ +{ + "version":"1.0", + "examples":{ + } +} diff --git a/models/apis/macie/2017-12-19/paginators-1.json b/models/apis/macie/2017-12-19/paginators-1.json new file mode 100644 index 00000000000..0b3465fca72 --- /dev/null +++ b/models/apis/macie/2017-12-19/paginators-1.json @@ -0,0 +1,14 @@ +{ + "pagination":{ + "ListMemberAccounts":{ + "input_token":"nextToken", + "output_token":"nextToken", + "limit_key":"maxResults" + }, + "ListS3Resources":{ + "input_token":"nextToken", + "output_token":"nextToken", + "limit_key":"maxResults" + } + } +} diff --git a/models/apis/mediaconvert/2017-08-29/api-2.json b/models/apis/mediaconvert/2017-08-29/api-2.json index 52d6856735f..55025ca8e0a 100644 --- a/models/apis/mediaconvert/2017-08-29/api-2.json +++ b/models/apis/mediaconvert/2017-08-29/api-2.json @@ -590,6 +590,108 @@ } ] }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/2017-08-29/tags/{arn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "TooManyRequestsException" + }, + { + "shape": "ConflictException" + } + ] + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "POST", + "requestUri": "/2017-08-29/tags", + "responseCode": 200 + }, + "input": { + "shape": "TagResourceRequest" + }, + "output": { + "shape": "TagResourceResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "TooManyRequestsException" + }, + { + "shape": "ConflictException" + } + ] + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "DELETE", + "requestUri": "/2017-08-29/tags", + "responseCode": 200 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "output": { + "shape": "UntagResourceResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "TooManyRequestsException" + }, + { + "shape": "ConflictException" + } + ] + }, "UpdateJobTemplate": { "name": "UpdateJobTemplate", "http": { @@ -741,7 +843,7 @@ "locationName": "audioDescriptionBroadcasterMix" }, "Bitrate": { - "shape": "__integer", + "shape": "__integerMin6000Max1024000", "locationName": "bitrate" }, "CodecProfile": { @@ -761,7 +863,7 @@ "locationName": "rawFormat" }, "SampleRate": { - "shape": "__integer", + "shape": "__integerMin8000Max96000", "locationName": "sampleRate" }, "Specification": { @@ -772,7 +874,11 @@ "shape": "AacVbrQuality", "locationName": "vbrQuality" } - } + }, + "required": [ + "CodingMode", + "SampleRate" + ] }, "AacSpecification": { "type": "string", @@ -837,7 +943,7 @@ "type": "structure", "members": { "Bitrate": { - "shape": "__integer", + "shape": "__integerMin64000Max640000", "locationName": "bitrate" }, "BitstreamMode": { @@ -849,7 +955,7 @@ "locationName": "codingMode" }, "Dialnorm": { - "shape": "__integer", + "shape": "__integerMin1Max31", "locationName": "dialnorm" }, "DynamicRangeCompressionProfile": { @@ -865,7 +971,7 @@ "locationName": "metadataControl" }, "SampleRate": { - "shape": "__integer", + "shape": "__integerMin48000Max48000", "locationName": "sampleRate" } } @@ -882,15 +988,15 @@ "type": "structure", "members": { "BitDepth": { - "shape": "__integer", + "shape": "__integerMin16Max24", "locationName": "bitDepth" }, "Channels": { - "shape": "__integer", + "shape": "__integerMin1Max2", "locationName": "channels" }, "SampleRate": { - "shape": "__integer", + "shape": "__integerMin8000Max192000", "locationName": "sampleRate" } } @@ -899,7 +1005,7 @@ "type": "structure", "members": { "SourceAncillaryChannelNumber": { - "shape": "__integer", + "shape": "__integerMin1Max4", "locationName": "sourceAncillaryChannelNumber" } } @@ -954,7 +1060,10 @@ "shape": "WavSettings", "locationName": "wavSettings" } - } + }, + "required": [ + "Codec" + ] }, "AudioDefaultSelection": { "type": "string", @@ -975,7 +1084,7 @@ "locationName": "audioSourceName" }, "AudioType": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "audioType" }, "AudioTypeControl": { @@ -986,6 +1095,10 @@ "shape": "AudioCodecSettings", "locationName": "codecSettings" }, + "CustomLanguageCode": { + "shape": "__stringMin3Max3PatternAZaZ3", + "locationName": "customLanguageCode" + }, "LanguageCode": { "shape": "LanguageCode", "locationName": "languageCode" @@ -999,10 +1112,13 @@ "locationName": "remixSettings" }, "StreamName": { - "shape": "__string", + "shape": "__stringPatternWS", "locationName": "streamName" } - } + }, + "required": [ + "CodecSettings" + ] }, "AudioLanguageCodeControl": { "type": "string", @@ -1051,7 +1167,7 @@ "locationName": "algorithmControl" }, "CorrectionGateLevel": { - "shape": "__integer", + "shape": "__integerMinNegative70Max0", "locationName": "correctionGateLevel" }, "LoudnessLogging": { @@ -1063,7 +1179,7 @@ "locationName": "peakCalculation" }, "TargetLkfs": { - "shape": "__double", + "shape": "__doubleMinNegative59Max0", "locationName": "targetLkfs" } } @@ -1071,12 +1187,16 @@ "AudioSelector": { "type": "structure", "members": { + "CustomLanguageCode": { + "shape": "__stringMin3Max3PatternAZaZ3", + "locationName": "customLanguageCode" + }, "DefaultSelection": { "shape": "AudioDefaultSelection", "locationName": "defaultSelection" }, "ExternalAudioFileInput": { - "shape": "__string", + "shape": "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEE", "locationName": "externalAudioFileInput" }, "LanguageCode": { @@ -1084,15 +1204,15 @@ "locationName": "languageCode" }, "Offset": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "offset" }, "Pids": { - "shape": "ListOf__integer", + "shape": "__listOf__integerMin1Max2147483647", "locationName": "pids" }, "ProgramSelection": { - "shape": "__integer", + "shape": "__integerMin0Max8", "locationName": "programSelection" }, "RemixSettings": { @@ -1104,7 +1224,7 @@ "locationName": "selectorType" }, "Tracks": { - "shape": "ListOf__integer", + "shape": "__listOf__integerMin1Max2147483647", "locationName": "tracks" } } @@ -1113,10 +1233,13 @@ "type": "structure", "members": { "AudioSelectorNames": { - "shape": "ListOf__string", + "shape": "__listOf__stringMin1", "locationName": "audioSelectorNames" } - } + }, + "required": [ + "AudioSelectorNames" + ] }, "AudioSelectorType": { "type": "string", @@ -1137,7 +1260,7 @@ "type": "structure", "members": { "AvailBlankingImage": { - "shape": "__string", + "shape": "__stringMin14PatternS3BmpBMPPngPNG", "locationName": "availBlankingImage" } } @@ -1167,7 +1290,7 @@ "locationName": "backgroundColor" }, "BackgroundOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "backgroundOpacity" }, "FontColor": { @@ -1175,15 +1298,15 @@ "locationName": "fontColor" }, "FontOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "fontOpacity" }, "FontResolution": { - "shape": "__integer", + "shape": "__integerMin96Max600", "locationName": "fontResolution" }, "FontSize": { - "shape": "__integer", + "shape": "__integerMin0Max96", "locationName": "fontSize" }, "OutlineColor": { @@ -1191,7 +1314,7 @@ "locationName": "outlineColor" }, "OutlineSize": { - "shape": "__integer", + "shape": "__integerMin0Max10", "locationName": "outlineSize" }, "ShadowColor": { @@ -1199,15 +1322,15 @@ "locationName": "shadowColor" }, "ShadowOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "shadowOpacity" }, "ShadowXOffset": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "shadowXOffset" }, "ShadowYOffset": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "shadowYOffset" }, "TeletextSpacing": { @@ -1215,14 +1338,20 @@ "locationName": "teletextSpacing" }, "XPosition": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "xPosition" }, "YPosition": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "yPosition" } - } + }, + "required": [ + "OutlineColor", + "Alignment", + "OutlineSize", + "FontOpacity" + ] }, "BurninSubtitleAlignment": { "type": "string", @@ -1298,9 +1427,13 @@ "type": "structure", "members": { "CaptionSelectorName": { - "shape": "__string", + "shape": "__stringMin1", "locationName": "captionSelectorName" }, + "CustomLanguageCode": { + "shape": "__stringMin3Max3PatternAZaZ3", + "locationName": "customLanguageCode" + }, "DestinationSettings": { "shape": "CaptionDestinationSettings", "locationName": "destinationSettings" @@ -1313,11 +1446,19 @@ "shape": "__string", "locationName": "languageDescription" } - } + }, + "required": [ + "DestinationSettings", + "CaptionSelectorName" + ] }, "CaptionDescriptionPreset": { "type": "structure", "members": { + "CustomLanguageCode": { + "shape": "__stringMin3Max3PatternAZaZ3", + "locationName": "customLanguageCode" + }, "DestinationSettings": { "shape": "CaptionDestinationSettings", "locationName": "destinationSettings" @@ -1330,7 +1471,10 @@ "shape": "__string", "locationName": "languageDescription" } - } + }, + "required": [ + "DestinationSettings" + ] }, "CaptionDestinationSettings": { "type": "structure", @@ -1359,7 +1503,10 @@ "shape": "TtmlDestinationSettings", "locationName": "ttmlDestinationSettings" } - } + }, + "required": [ + "DestinationType" + ] }, "CaptionDestinationType": { "type": "string", @@ -1377,6 +1524,10 @@ "CaptionSelector": { "type": "structure", "members": { + "CustomLanguageCode": { + "shape": "__stringMin3Max3PatternAZaZ3", + "locationName": "customLanguageCode" + }, "LanguageCode": { "shape": "LanguageCode", "locationName": "languageCode" @@ -1385,7 +1536,10 @@ "shape": "CaptionSourceSettings", "locationName": "sourceSettings" } - } + }, + "required": [ + "SourceSettings" + ] }, "CaptionSourceSettings": { "type": "structure", @@ -1414,7 +1568,10 @@ "shape": "TeletextSourceSettings", "locationName": "teletextSourceSettings" } - } + }, + "required": [ + "SourceType" + ] }, "CaptionSourceType": { "type": "string", @@ -1434,95 +1591,266 @@ "type": "structure", "members": { "OutputChannels": { - "shape": "ListOfOutputChannelMapping", + "shape": "__listOfOutputChannelMapping", "locationName": "outputChannels" } - } - }, - "ColorCorrector": { - "type": "structure", - "members": { - "Brightness": { - "shape": "__integer", - "locationName": "brightness" - }, - "ColorSpaceConversion": { - "shape": "ColorSpaceConversion", - "locationName": "colorSpaceConversion" - }, - "Contrast": { - "shape": "__integer", - "locationName": "contrast" - }, - "Hdr10Metadata": { - "shape": "Hdr10Metadata", - "locationName": "hdr10Metadata" - }, - "Hue": { - "shape": "__integer", - "locationName": "hue" - }, - "Saturation": { - "shape": "__integer", - "locationName": "saturation" - } - } + }, + "required": [ + "OutputChannels" + ] }, - "ColorMetadata": { + "CmafClientCache": { "type": "string", "enum": [ - "IGNORE", - "INSERT" + "DISABLED", + "ENABLED" ] }, - "ColorSpace": { + "CmafCodecSpecification": { "type": "string", "enum": [ - "FOLLOW", - "REC_601", - "REC_709", - "HDR10", - "HLG_2020" + "RFC_6381", + "RFC_4281" ] }, - "ColorSpaceConversion": { - "type": "string", - "enum": [ - "NONE", - "FORCE_601", - "FORCE_709", - "FORCE_HDR10", - "FORCE_HLG_2020" + "CmafEncryptionSettings": { + "type": "structure", + "members": { + "ConstantInitializationVector": { + "shape": "__stringMin32Max32Pattern09aFAF32", + "locationName": "constantInitializationVector" + }, + "EncryptionMethod": { + "shape": "CmafEncryptionType", + "locationName": "encryptionMethod" + }, + "InitializationVectorInManifest": { + "shape": "CmafInitializationVectorInManifest", + "locationName": "initializationVectorInManifest" + }, + "StaticKeyProvider": { + "shape": "StaticKeyProvider", + "locationName": "staticKeyProvider" + }, + "Type": { + "shape": "CmafKeyProviderType", + "locationName": "type" + } + }, + "required": [ + "Type" ] }, - "ColorSpaceUsage": { + "CmafEncryptionType": { "type": "string", "enum": [ - "FORCE", - "FALLBACK" + "SAMPLE_AES" ] }, - "ConflictException": { + "CmafGroupSettings": { "type": "structure", "members": { - "Message": { + "BaseUrl": { "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 409 - } - }, - "ContainerSettings": { - "type": "structure", - "members": { - "Container": { - "shape": "ContainerType", - "locationName": "container" + "locationName": "baseUrl" }, - "F4vSettings": { + "ClientCache": { + "shape": "CmafClientCache", + "locationName": "clientCache" + }, + "CodecSpecification": { + "shape": "CmafCodecSpecification", + "locationName": "codecSpecification" + }, + "Destination": { + "shape": "__stringPatternS3", + "locationName": "destination" + }, + "Encryption": { + "shape": "CmafEncryptionSettings", + "locationName": "encryption" + }, + "FragmentLength": { + "shape": "__integerMin1Max2147483647", + "locationName": "fragmentLength" + }, + "ManifestCompression": { + "shape": "CmafManifestCompression", + "locationName": "manifestCompression" + }, + "ManifestDurationFormat": { + "shape": "CmafManifestDurationFormat", + "locationName": "manifestDurationFormat" + }, + "MinBufferTime": { + "shape": "__integerMin0Max2147483647", + "locationName": "minBufferTime" + }, + "SegmentControl": { + "shape": "CmafSegmentControl", + "locationName": "segmentControl" + }, + "SegmentLength": { + "shape": "__integerMin1Max2147483647", + "locationName": "segmentLength" + }, + "StreamInfResolution": { + "shape": "CmafStreamInfResolution", + "locationName": "streamInfResolution" + }, + "WriteDashManifest": { + "shape": "CmafWriteDASHManifest", + "locationName": "writeDashManifest" + }, + "WriteHlsManifest": { + "shape": "CmafWriteHLSManifest", + "locationName": "writeHlsManifest" + } + }, + "required": [ + "FragmentLength", + "SegmentLength" + ] + }, + "CmafInitializationVectorInManifest": { + "type": "string", + "enum": [ + "INCLUDE", + "EXCLUDE" + ] + }, + "CmafKeyProviderType": { + "type": "string", + "enum": [ + "STATIC_KEY" + ] + }, + "CmafManifestCompression": { + "type": "string", + "enum": [ + "GZIP", + "NONE" + ] + }, + "CmafManifestDurationFormat": { + "type": "string", + "enum": [ + "FLOATING_POINT", + "INTEGER" + ] + }, + "CmafSegmentControl": { + "type": "string", + "enum": [ + "SINGLE_FILE", + "SEGMENTED_FILES" + ] + }, + "CmafStreamInfResolution": { + "type": "string", + "enum": [ + "INCLUDE", + "EXCLUDE" + ] + }, + "CmafWriteDASHManifest": { + "type": "string", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "CmafWriteHLSManifest": { + "type": "string", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "ColorCorrector": { + "type": "structure", + "members": { + "Brightness": { + "shape": "__integerMin1Max100", + "locationName": "brightness" + }, + "ColorSpaceConversion": { + "shape": "ColorSpaceConversion", + "locationName": "colorSpaceConversion" + }, + "Contrast": { + "shape": "__integerMin1Max100", + "locationName": "contrast" + }, + "Hdr10Metadata": { + "shape": "Hdr10Metadata", + "locationName": "hdr10Metadata" + }, + "Hue": { + "shape": "__integerMinNegative180Max180", + "locationName": "hue" + }, + "Saturation": { + "shape": "__integerMin1Max100", + "locationName": "saturation" + } + } + }, + "ColorMetadata": { + "type": "string", + "enum": [ + "IGNORE", + "INSERT" + ] + }, + "ColorSpace": { + "type": "string", + "enum": [ + "FOLLOW", + "REC_601", + "REC_709", + "HDR10", + "HLG_2020" + ] + }, + "ColorSpaceConversion": { + "type": "string", + "enum": [ + "NONE", + "FORCE_601", + "FORCE_709", + "FORCE_HDR10", + "FORCE_HLG_2020" + ] + }, + "ColorSpaceUsage": { + "type": "string", + "enum": [ + "FORCE", + "FALLBACK" + ] + }, + "ConflictException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 409 + } + }, + "ContainerSettings": { + "type": "structure", + "members": { + "Container": { + "shape": "ContainerType", + "locationName": "container" + }, + "F4vSettings": { "shape": "F4vSettings", "locationName": "f4vSettings" }, @@ -1542,7 +1870,10 @@ "shape": "Mp4Settings", "locationName": "mp4Settings" } - } + }, + "required": [ + "Container" + ] }, "ContainerType": { "type": "string", @@ -1551,6 +1882,7 @@ "ISMV", "M2TS", "M3U8", + "CMFC", "MOV", "MP4", "MPD", @@ -1583,10 +1915,14 @@ "locationName": "settings" }, "UserMetadata": { - "shape": "MapOf__string", + "shape": "__mapOf__string", "locationName": "userMetadata" } - } + }, + "required": [ + "Role", + "Settings" + ] }, "CreateJobResponse": { "type": "structure", @@ -1619,8 +1955,16 @@ "Settings": { "shape": "JobTemplateSettings", "locationName": "settings" + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags" } - } + }, + "required": [ + "Settings", + "Name" + ] }, "CreateJobTemplateResponse": { "type": "structure", @@ -1649,8 +1993,16 @@ "Settings": { "shape": "PresetSettings", "locationName": "settings" + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags" } - } + }, + "required": [ + "Settings", + "Name" + ] }, "CreatePresetResponse": { "type": "structure", @@ -1671,8 +2023,15 @@ "Name": { "shape": "__string", "locationName": "name" + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags" } - } + }, + "required": [ + "Name" + ] }, "CreateQueueResponse": { "type": "structure", @@ -1690,7 +2049,10 @@ "shape": "SpekeKeyProvider", "locationName": "spekeKeyProvider" } - } + }, + "required": [ + "SpekeKeyProvider" + ] }, "DashIsoGroupSettings": { "type": "structure", @@ -1700,7 +2062,7 @@ "locationName": "baseUrl" }, "Destination": { - "shape": "__string", + "shape": "__stringPatternS3", "locationName": "destination" }, "Encryption": { @@ -1708,7 +2070,7 @@ "locationName": "encryption" }, "FragmentLength": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "fragmentLength" }, "HbbtvCompliance": { @@ -1716,7 +2078,7 @@ "locationName": "hbbtvCompliance" }, "MinBufferTime": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "minBufferTime" }, "SegmentControl": { @@ -1724,10 +2086,14 @@ "locationName": "segmentControl" }, "SegmentLength": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "segmentLength" } - } + }, + "required": [ + "SegmentLength", + "FragmentLength" + ] }, "DashIsoHbbtvCompliance": { "type": "string", @@ -1855,7 +2221,7 @@ "type": "structure", "members": { "Endpoints": { - "shape": "ListOfEndpoint", + "shape": "__listOfEndpoint", "locationName": "endpoints" }, "NextToken": { @@ -1875,18 +2241,23 @@ "type": "structure", "members": { "NetworkId": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "networkId" }, "NetworkName": { - "shape": "__string", + "shape": "__stringMin1Max256", "locationName": "networkName" }, "NitInterval": { - "shape": "__integer", + "shape": "__integerMin25Max10000", "locationName": "nitInterval" } - } + }, + "required": [ + "NetworkName", + "NitInterval", + "NetworkId" + ] }, "DvbSdtSettings": { "type": "structure", @@ -1896,15 +2267,15 @@ "locationName": "outputSdt" }, "SdtInterval": { - "shape": "__integer", + "shape": "__integerMin25Max2000", "locationName": "sdtInterval" }, "ServiceName": { - "shape": "__string", + "shape": "__stringMin1Max256", "locationName": "serviceName" }, "ServiceProviderName": { - "shape": "__string", + "shape": "__stringMin1Max256", "locationName": "serviceProviderName" } } @@ -1921,7 +2292,7 @@ "locationName": "backgroundColor" }, "BackgroundOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "backgroundOpacity" }, "FontColor": { @@ -1929,15 +2300,15 @@ "locationName": "fontColor" }, "FontOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "fontOpacity" }, "FontResolution": { - "shape": "__integer", + "shape": "__integerMin96Max600", "locationName": "fontResolution" }, "FontSize": { - "shape": "__integer", + "shape": "__integerMin0Max96", "locationName": "fontSize" }, "OutlineColor": { @@ -1945,7 +2316,7 @@ "locationName": "outlineColor" }, "OutlineSize": { - "shape": "__integer", + "shape": "__integerMin0Max10", "locationName": "outlineSize" }, "ShadowColor": { @@ -1953,15 +2324,15 @@ "locationName": "shadowColor" }, "ShadowOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "shadowOpacity" }, "ShadowXOffset": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "shadowXOffset" }, "ShadowYOffset": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "shadowYOffset" }, "TeletextSpacing": { @@ -1969,20 +2340,26 @@ "locationName": "teletextSpacing" }, "XPosition": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "xPosition" }, "YPosition": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "yPosition" } - } + }, + "required": [ + "OutlineColor", + "Alignment", + "OutlineSize", + "FontOpacity" + ] }, "DvbSubSourceSettings": { "type": "structure", "members": { "Pid": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "pid" } } @@ -2043,10 +2420,13 @@ "type": "structure", "members": { "TdtInterval": { - "shape": "__integer", + "shape": "__integerMin1000Max30000", "locationName": "tdtInterval" } - } + }, + "required": [ + "TdtInterval" + ] }, "Eac3AttenuationControl": { "type": "string", @@ -2145,7 +2525,7 @@ "locationName": "attenuationControl" }, "Bitrate": { - "shape": "__integer", + "shape": "__integerMin64000Max640000", "locationName": "bitrate" }, "BitstreamMode": { @@ -2161,7 +2541,7 @@ "locationName": "dcFilter" }, "Dialnorm": { - "shape": "__integer", + "shape": "__integerMin1Max31", "locationName": "dialnorm" }, "DynamicRangeCompressionLine": { @@ -2181,19 +2561,19 @@ "locationName": "lfeFilter" }, "LoRoCenterMixLevel": { - "shape": "__double", + "shape": "__doubleMinNegative60Max3", "locationName": "loRoCenterMixLevel" }, "LoRoSurroundMixLevel": { - "shape": "__double", + "shape": "__doubleMinNegative60MaxNegative1", "locationName": "loRoSurroundMixLevel" }, "LtRtCenterMixLevel": { - "shape": "__double", + "shape": "__doubleMinNegative60Max3", "locationName": "ltRtCenterMixLevel" }, "LtRtSurroundMixLevel": { - "shape": "__double", + "shape": "__doubleMinNegative60MaxNegative1", "locationName": "ltRtSurroundMixLevel" }, "MetadataControl": { @@ -2209,7 +2589,7 @@ "locationName": "phaseControl" }, "SampleRate": { - "shape": "__integer", + "shape": "__integerMin48000Max48000", "locationName": "sampleRate" }, "StereoDownmix": { @@ -2266,11 +2646,11 @@ "locationName": "convert608To708" }, "Source608ChannelNumber": { - "shape": "__integer", + "shape": "__integerMin1Max4", "locationName": "source608ChannelNumber" }, "Source608TrackNumber": { - "shape": "__integer", + "shape": "__integerMin1Max1", "locationName": "source608TrackNumber" } } @@ -2313,7 +2693,7 @@ "type": "structure", "members": { "Destination": { - "shape": "__string", + "shape": "__stringPatternS3", "locationName": "destination" } } @@ -2333,14 +2713,17 @@ "locationName": "convert608To708" }, "SourceFile": { - "shape": "__string", + "shape": "__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTSmiSMI", "locationName": "sourceFile" }, "TimeDelta": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "timeDelta" } - } + }, + "required": [ + "SourceFile" + ] }, "ForbiddenException": { "type": "structure", @@ -2359,19 +2742,19 @@ "type": "structure", "members": { "FramerateDenominator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "framerateDenominator" }, "FramerateNumerator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "framerateNumerator" }, "MaxCaptures": { - "shape": "__integer", + "shape": "__integerMin1Max10000000", "locationName": "maxCaptures" }, "Quality": { - "shape": "__integer", + "shape": "__integerMin1Max100", "locationName": "quality" } } @@ -2611,7 +2994,7 @@ "locationName": "adaptiveQuantization" }, "Bitrate": { - "shape": "__integer", + "shape": "__integerMin1000Max1152000000", "locationName": "bitrate" }, "CodecLevel": { @@ -2643,11 +3026,11 @@ "locationName": "framerateConversionAlgorithm" }, "FramerateDenominator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "framerateDenominator" }, "FramerateNumerator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "framerateNumerator" }, "GopBReference": { @@ -2655,11 +3038,11 @@ "locationName": "gopBReference" }, "GopClosedCadence": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "gopClosedCadence" }, "GopSize": { - "shape": "__double", + "shape": "__doubleMin0", "locationName": "gopSize" }, "GopSizeUnits": { @@ -2667,11 +3050,11 @@ "locationName": "gopSizeUnits" }, "HrdBufferInitialFillPercentage": { - "shape": "__integer", + "shape": "__integerMin0Max100", "locationName": "hrdBufferInitialFillPercentage" }, "HrdBufferSize": { - "shape": "__integer", + "shape": "__integerMin0Max1152000000", "locationName": "hrdBufferSize" }, "InterlaceMode": { @@ -2679,19 +3062,19 @@ "locationName": "interlaceMode" }, "MaxBitrate": { - "shape": "__integer", + "shape": "__integerMin1000Max1152000000", "locationName": "maxBitrate" }, "MinIInterval": { - "shape": "__integer", + "shape": "__integerMin0Max30", "locationName": "minIInterval" }, "NumberBFramesBetweenReferenceFrames": { - "shape": "__integer", + "shape": "__integerMin0Max7", "locationName": "numberBFramesBetweenReferenceFrames" }, "NumberReferenceFrames": { - "shape": "__integer", + "shape": "__integerMin1Max6", "locationName": "numberReferenceFrames" }, "ParControl": { @@ -2699,11 +3082,11 @@ "locationName": "parControl" }, "ParDenominator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "parDenominator" }, "ParNumerator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "parNumerator" }, "QualityTuningLevel": { @@ -2723,7 +3106,7 @@ "locationName": "sceneChangeDetect" }, "Slices": { - "shape": "__integer", + "shape": "__integerMin1Max32", "locationName": "slices" }, "SlowPal": { @@ -2731,7 +3114,7 @@ "locationName": "slowPal" }, "Softness": { - "shape": "__integer", + "shape": "__integerMin0Max128", "locationName": "softness" }, "SpatialAdaptiveQuantization": { @@ -2943,7 +3326,7 @@ "locationName": "alternateTransferFunctionSei" }, "Bitrate": { - "shape": "__integer", + "shape": "__integerMin1000Max1466400000", "locationName": "bitrate" }, "CodecLevel": { @@ -2967,11 +3350,11 @@ "locationName": "framerateConversionAlgorithm" }, "FramerateDenominator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "framerateDenominator" }, "FramerateNumerator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "framerateNumerator" }, "GopBReference": { @@ -2979,11 +3362,11 @@ "locationName": "gopBReference" }, "GopClosedCadence": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "gopClosedCadence" }, "GopSize": { - "shape": "__double", + "shape": "__doubleMin0", "locationName": "gopSize" }, "GopSizeUnits": { @@ -2991,11 +3374,11 @@ "locationName": "gopSizeUnits" }, "HrdBufferInitialFillPercentage": { - "shape": "__integer", + "shape": "__integerMin0Max100", "locationName": "hrdBufferInitialFillPercentage" }, "HrdBufferSize": { - "shape": "__integer", + "shape": "__integerMin0Max1466400000", "locationName": "hrdBufferSize" }, "InterlaceMode": { @@ -3003,19 +3386,19 @@ "locationName": "interlaceMode" }, "MaxBitrate": { - "shape": "__integer", + "shape": "__integerMin1000Max1466400000", "locationName": "maxBitrate" }, "MinIInterval": { - "shape": "__integer", + "shape": "__integerMin0Max30", "locationName": "minIInterval" }, "NumberBFramesBetweenReferenceFrames": { - "shape": "__integer", + "shape": "__integerMin0Max7", "locationName": "numberBFramesBetweenReferenceFrames" }, "NumberReferenceFrames": { - "shape": "__integer", + "shape": "__integerMin1Max6", "locationName": "numberReferenceFrames" }, "ParControl": { @@ -3023,11 +3406,11 @@ "locationName": "parControl" }, "ParDenominator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "parDenominator" }, "ParNumerator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "parNumerator" }, "QualityTuningLevel": { @@ -3047,7 +3430,7 @@ "locationName": "sceneChangeDetect" }, "Slices": { - "shape": "__integer", + "shape": "__integerMin1Max32", "locationName": "slices" }, "SlowPal": { @@ -3077,6 +3460,10 @@ "UnregisteredSeiTimecode": { "shape": "H265UnregisteredSeiTimecode", "locationName": "unregisteredSeiTimecode" + }, + "WriteMp4PackagingType": { + "shape": "H265WriteMp4PackagingType", + "locationName": "writeMp4PackagingType" } } }, @@ -3130,58 +3517,69 @@ "ENABLED" ] }, + "H265WriteMp4PackagingType": { + "type": "string", + "enum": [ + "HVC1", + "HEV1" + ] + }, "Hdr10Metadata": { "type": "structure", "members": { "BluePrimaryX": { - "shape": "__integer", + "shape": "__integerMin0Max50000", "locationName": "bluePrimaryX" }, "BluePrimaryY": { - "shape": "__integer", + "shape": "__integerMin0Max50000", "locationName": "bluePrimaryY" }, "GreenPrimaryX": { - "shape": "__integer", + "shape": "__integerMin0Max50000", "locationName": "greenPrimaryX" }, "GreenPrimaryY": { - "shape": "__integer", + "shape": "__integerMin0Max50000", "locationName": "greenPrimaryY" }, "MaxContentLightLevel": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "maxContentLightLevel" }, "MaxFrameAverageLightLevel": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "maxFrameAverageLightLevel" }, "MaxLuminance": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "maxLuminance" }, "MinLuminance": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "minLuminance" }, "RedPrimaryX": { - "shape": "__integer", + "shape": "__integerMin0Max50000", "locationName": "redPrimaryX" }, "RedPrimaryY": { - "shape": "__integer", + "shape": "__integerMin0Max50000", "locationName": "redPrimaryY" }, "WhitePointX": { - "shape": "__integer", + "shape": "__integerMin0Max50000", "locationName": "whitePointX" }, "WhitePointY": { - "shape": "__integer", + "shape": "__integerMin0Max50000", "locationName": "whitePointY" } - } + }, + "required": [ + "MaxContentLightLevel", + "MaxFrameAverageLightLevel" + ] }, "HlsAdMarkers": { "type": "string", @@ -3203,9 +3601,13 @@ "type": "structure", "members": { "CaptionChannel": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "captionChannel" }, + "CustomLanguageCode": { + "shape": "__stringMin3Max3PatternAZaZ3", + "locationName": "customLanguageCode" + }, "LanguageCode": { "shape": "LanguageCode", "locationName": "languageCode" @@ -3249,7 +3651,7 @@ "type": "structure", "members": { "ConstantInitializationVector": { - "shape": "__string", + "shape": "__stringMin32Max32Pattern09aFAF32", "locationName": "constantInitializationVector" }, "EncryptionMethod": { @@ -3272,7 +3674,10 @@ "shape": "HlsKeyProviderType", "locationName": "type" } - } + }, + "required": [ + "Type" + ] }, "HlsEncryptionType": { "type": "string", @@ -3285,7 +3690,7 @@ "type": "structure", "members": { "AdMarkers": { - "shape": "ListOfHlsAdMarkers", + "shape": "__listOfHlsAdMarkers", "locationName": "adMarkers" }, "BaseUrl": { @@ -3293,7 +3698,7 @@ "locationName": "baseUrl" }, "CaptionLanguageMappings": { - "shape": "ListOfHlsCaptionLanguageMapping", + "shape": "__listOfHlsCaptionLanguageMapping", "locationName": "captionLanguageMappings" }, "CaptionLanguageSetting": { @@ -3309,7 +3714,7 @@ "locationName": "codecSpecification" }, "Destination": { - "shape": "__string", + "shape": "__stringPatternS3", "locationName": "destination" }, "DirectoryStructure": { @@ -3329,7 +3734,7 @@ "locationName": "manifestDurationFormat" }, "MinSegmentLength": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "minSegmentLength" }, "OutputSelection": { @@ -3341,7 +3746,7 @@ "locationName": "programDateTime" }, "ProgramDateTimePeriod": { - "shape": "__integer", + "shape": "__integerMin0Max3600", "locationName": "programDateTimePeriod" }, "SegmentControl": { @@ -3349,11 +3754,11 @@ "locationName": "segmentControl" }, "SegmentLength": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "segmentLength" }, "SegmentsPerSubdirectory": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "segmentsPerSubdirectory" }, "StreamInfResolution": { @@ -3365,14 +3770,18 @@ "locationName": "timedMetadataId3Frame" }, "TimedMetadataId3Period": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "timedMetadataId3Period" }, "TimestampDeltaMilliseconds": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "timestampDeltaMilliseconds" } - } + }, + "required": [ + "MinSegmentLength", + "SegmentLength" + ] }, "HlsIFrameOnlyManifest": { "type": "string", @@ -3474,37 +3883,44 @@ "type": "structure", "members": { "Id3": { - "shape": "__string", + "shape": "__stringPatternAZaZ0902", "locationName": "id3" }, "Timecode": { - "shape": "__string", + "shape": "__stringPattern010920405090509092", "locationName": "timecode" } - } + }, + "required": [ + "Timecode", + "Id3" + ] }, "ImageInserter": { "type": "structure", "members": { "InsertableImages": { - "shape": "ListOfInsertableImage", + "shape": "__listOfInsertableImage", "locationName": "insertableImages" } - } + }, + "required": [ + "InsertableImages" + ] }, "Input": { "type": "structure", "members": { "AudioSelectorGroups": { - "shape": "MapOfAudioSelectorGroup", + "shape": "__mapOfAudioSelectorGroup", "locationName": "audioSelectorGroups" }, "AudioSelectors": { - "shape": "MapOfAudioSelector", + "shape": "__mapOfAudioSelector", "locationName": "audioSelectors" }, "CaptionSelectors": { - "shape": "MapOfCaptionSelector", + "shape": "__mapOfCaptionSelector", "locationName": "captionSelectors" }, "DeblockFilter": { @@ -3516,7 +3932,7 @@ "locationName": "denoiseFilter" }, "FileInput": { - "shape": "__string", + "shape": "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MM", "locationName": "fileInput" }, "FilterEnable": { @@ -3524,15 +3940,15 @@ "locationName": "filterEnable" }, "FilterStrength": { - "shape": "__integer", + "shape": "__integerMinNegative5Max5", "locationName": "filterStrength" }, "InputClippings": { - "shape": "ListOfInputClipping", + "shape": "__listOfInputClipping", "locationName": "inputClippings" }, "ProgramNumber": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "programNumber" }, "PsiControl": { @@ -3547,17 +3963,20 @@ "shape": "VideoSelector", "locationName": "videoSelector" } - } + }, + "required": [ + "FileInput" + ] }, "InputClipping": { "type": "structure", "members": { "EndTimecode": { - "shape": "__string", + "shape": "__stringPattern010920405090509092", "locationName": "endTimecode" }, "StartTimecode": { - "shape": "__string", + "shape": "__stringPattern010920405090509092", "locationName": "startTimecode" } } @@ -3595,15 +4014,15 @@ "type": "structure", "members": { "AudioSelectorGroups": { - "shape": "MapOfAudioSelectorGroup", + "shape": "__mapOfAudioSelectorGroup", "locationName": "audioSelectorGroups" }, "AudioSelectors": { - "shape": "MapOfAudioSelector", + "shape": "__mapOfAudioSelector", "locationName": "audioSelectors" }, "CaptionSelectors": { - "shape": "MapOfCaptionSelector", + "shape": "__mapOfCaptionSelector", "locationName": "captionSelectors" }, "DeblockFilter": { @@ -3619,15 +4038,15 @@ "locationName": "filterEnable" }, "FilterStrength": { - "shape": "__integer", + "shape": "__integerMinNegative5Max5", "locationName": "filterStrength" }, "InputClippings": { - "shape": "ListOfInputClipping", + "shape": "__listOfInputClipping", "locationName": "inputClippings" }, "ProgramNumber": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "programNumber" }, "PsiControl": { @@ -3656,50 +4075,57 @@ "type": "structure", "members": { "Duration": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "duration" }, "FadeIn": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "fadeIn" }, "FadeOut": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "fadeOut" }, "Height": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "height" }, "ImageInserterInput": { - "shape": "__string", + "shape": "__stringMin14PatternS3BmpBMPPngPNGTgaTGA", "locationName": "imageInserterInput" }, "ImageX": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "imageX" }, "ImageY": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "imageY" }, "Layer": { - "shape": "__integer", + "shape": "__integerMin0Max99", "locationName": "layer" }, "Opacity": { - "shape": "__integer", + "shape": "__integerMin0Max100", "locationName": "opacity" }, "StartTime": { - "shape": "__string", + "shape": "__stringPattern01D20305D205D", "locationName": "startTime" }, "Width": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "width" } - } + }, + "required": [ + "ImageY", + "ImageX", + "ImageInserterInput", + "Opacity", + "Layer" + ] }, "InternalServerErrorException": { "type": "structure", @@ -3722,7 +4148,7 @@ "locationName": "arn" }, "CreatedAt": { - "shape": "__timestamp", + "shape": "__timestampUnix", "locationName": "createdAt" }, "ErrorCode": { @@ -3742,7 +4168,7 @@ "locationName": "jobTemplate" }, "OutputGroupDetails": { - "shape": "ListOfOutputGroupDetail", + "shape": "__listOfOutputGroupDetail", "locationName": "outputGroupDetails" }, "Queue": { @@ -3766,16 +4192,20 @@ "locationName": "timing" }, "UserMetadata": { - "shape": "MapOf__string", + "shape": "__mapOf__string", "locationName": "userMetadata" } - } + }, + "required": [ + "Role", + "Settings" + ] }, "JobSettings": { "type": "structure", "members": { "AdAvailOffset": { - "shape": "__integer", + "shape": "__integerMinNegative1000Max1000", "locationName": "adAvailOffset" }, "AvailBlanking": { @@ -3783,7 +4213,7 @@ "locationName": "availBlanking" }, "Inputs": { - "shape": "ListOfInput", + "shape": "__listOfInput", "locationName": "inputs" }, "NielsenConfiguration": { @@ -3791,7 +4221,7 @@ "locationName": "nielsenConfiguration" }, "OutputGroups": { - "shape": "ListOfOutputGroup", + "shape": "__listOfOutputGroup", "locationName": "outputGroups" }, "TimecodeConfig": { @@ -3802,7 +4232,11 @@ "shape": "TimedMetadataInsertion", "locationName": "timedMetadataInsertion" } - } + }, + "required": [ + "OutputGroups", + "Inputs" + ] }, "JobStatus": { "type": "string", @@ -3826,7 +4260,7 @@ "locationName": "category" }, "CreatedAt": { - "shape": "__timestamp", + "shape": "__timestampUnix", "locationName": "createdAt" }, "Description": { @@ -3834,7 +4268,7 @@ "locationName": "description" }, "LastUpdated": { - "shape": "__timestamp", + "shape": "__timestampUnix", "locationName": "lastUpdated" }, "Name": { @@ -3853,7 +4287,11 @@ "shape": "Type", "locationName": "type" } - } + }, + "required": [ + "Settings", + "Name" + ] }, "JobTemplateListBy": { "type": "string", @@ -3867,7 +4305,7 @@ "type": "structure", "members": { "AdAvailOffset": { - "shape": "__integer", + "shape": "__integerMinNegative1000Max1000", "locationName": "adAvailOffset" }, "AvailBlanking": { @@ -3875,7 +4313,7 @@ "locationName": "availBlanking" }, "Inputs": { - "shape": "ListOfInputTemplate", + "shape": "__listOfInputTemplate", "locationName": "inputs" }, "NielsenConfiguration": { @@ -3883,7 +4321,7 @@ "locationName": "nielsenConfiguration" }, "OutputGroups": { - "shape": "ListOfOutputGroup", + "shape": "__listOfOutputGroup", "locationName": "outputGroups" }, "TimecodeConfig": { @@ -3894,7 +4332,10 @@ "shape": "TimedMetadataInsertion", "locationName": "timedMetadataInsertion" } - } + }, + "required": [ + "OutputGroups" + ] }, "LanguageCode": { "type": "string", @@ -4106,7 +4547,7 @@ "location": "querystring" }, "MaxResults": { - "shape": "__integer", + "shape": "__integerMin1Max20", "locationName": "maxResults", "location": "querystring" }, @@ -4126,7 +4567,7 @@ "type": "structure", "members": { "JobTemplates": { - "shape": "ListOfJobTemplate", + "shape": "__listOfJobTemplate", "locationName": "jobTemplates" }, "NextToken": { @@ -4139,7 +4580,7 @@ "type": "structure", "members": { "MaxResults": { - "shape": "__integer", + "shape": "__integerMin1Max20", "locationName": "maxResults", "location": "querystring" }, @@ -4169,7 +4610,7 @@ "type": "structure", "members": { "Jobs": { - "shape": "ListOfJob", + "shape": "__listOfJob", "locationName": "jobs" }, "NextToken": { @@ -4178,138 +4619,6 @@ } } }, - "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__integer": { - "type": "list", - "member": { - "shape": "__integer" - } - }, - "ListOf__string": { - "type": "list", - "member": { - "shape": "__string" - } - }, "ListPresetsRequest": { "type": "structure", "members": { @@ -4324,7 +4633,7 @@ "location": "querystring" }, "MaxResults": { - "shape": "__integer", + "shape": "__integerMin1Max20", "locationName": "maxResults", "location": "querystring" }, @@ -4348,7 +4657,7 @@ "locationName": "nextToken" }, "Presets": { - "shape": "ListOfPreset", + "shape": "__listOfPreset", "locationName": "presets" } } @@ -4362,7 +4671,7 @@ "location": "querystring" }, "MaxResults": { - "shape": "__integer", + "shape": "__integerMin1Max20", "locationName": "maxResults", "location": "querystring" }, @@ -4386,11 +4695,33 @@ "locationName": "nextToken" }, "Queues": { - "shape": "ListOfQueue", + "shape": "__listOfQueue", "locationName": "queues" } } }, + "ListTagsForResourceRequest": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "location": "uri" + } + }, + "required": [ + "Arn" + ] + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "ResourceTags": { + "shape": "ResourceTags", + "locationName": "resourceTags" + } + } + }, "M2tsAudioBufferModel": { "type": "string", "enum": [ @@ -4426,6 +4757,13 @@ "EXCLUDE" ] }, + "M2tsNielsenId3": { + "type": "string", + "enum": [ + "INSERT", + "NONE" + ] + }, "M2tsPcrControl": { "type": "string", "enum": [ @@ -4473,15 +4811,15 @@ "locationName": "audioBufferModel" }, "AudioFramesPerPes": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "audioFramesPerPes" }, "AudioPids": { - "shape": "ListOf__integer", + "shape": "__listOf__integerMin32Max8182", "locationName": "audioPids" }, "Bitrate": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "bitrate" }, "BufferModel": { @@ -4497,7 +4835,7 @@ "locationName": "dvbSdtSettings" }, "DvbSubPids": { - "shape": "ListOf__integer", + "shape": "__listOf__integerMin32Max8182", "locationName": "dvbSubPids" }, "DvbTdtSettings": { @@ -4505,7 +4843,7 @@ "locationName": "dvbTdtSettings" }, "DvbTeletextPid": { - "shape": "__integer", + "shape": "__integerMin32Max8182", "locationName": "dvbTeletextPid" }, "EbpAudioInterval": { @@ -4521,23 +4859,27 @@ "locationName": "esRateInPes" }, "FragmentTime": { - "shape": "__double", + "shape": "__doubleMin0", "locationName": "fragmentTime" }, "MaxPcrInterval": { - "shape": "__integer", + "shape": "__integerMin0Max500", "locationName": "maxPcrInterval" }, "MinEbpInterval": { - "shape": "__integer", + "shape": "__integerMin0Max10000", "locationName": "minEbpInterval" }, + "NielsenId3": { + "shape": "M2tsNielsenId3", + "locationName": "nielsenId3" + }, "NullPacketBitrate": { - "shape": "__double", + "shape": "__doubleMin0", "locationName": "nullPacketBitrate" }, "PatInterval": { - "shape": "__integer", + "shape": "__integerMin0Max1000", "locationName": "patInterval" }, "PcrControl": { @@ -4545,23 +4887,23 @@ "locationName": "pcrControl" }, "PcrPid": { - "shape": "__integer", + "shape": "__integerMin32Max8182", "locationName": "pcrPid" }, "PmtInterval": { - "shape": "__integer", + "shape": "__integerMin0Max1000", "locationName": "pmtInterval" }, "PmtPid": { - "shape": "__integer", + "shape": "__integerMin32Max8182", "locationName": "pmtPid" }, "PrivateMetadataPid": { - "shape": "__integer", + "shape": "__integerMin32Max8182", "locationName": "privateMetadataPid" }, "ProgramNumber": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "programNumber" }, "RateMode": { @@ -4569,7 +4911,7 @@ "locationName": "rateMode" }, "Scte35Pid": { - "shape": "__integer", + "shape": "__integerMin32Max8182", "locationName": "scte35Pid" }, "Scte35Source": { @@ -4585,19 +4927,30 @@ "locationName": "segmentationStyle" }, "SegmentationTime": { - "shape": "__double", + "shape": "__doubleMin0", "locationName": "segmentationTime" }, + "TimedMetadataPid": { + "shape": "__integerMin32Max8182", + "locationName": "timedMetadataPid" + }, "TransportStreamId": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "transportStreamId" }, "VideoPid": { - "shape": "__integer", + "shape": "__integerMin32Max8182", "locationName": "videoPid" } } }, + "M3u8NielsenId3": { + "type": "string", + "enum": [ + "INSERT", + "NONE" + ] + }, "M3u8PcrControl": { "type": "string", "enum": [ @@ -4616,15 +4969,19 @@ "type": "structure", "members": { "AudioFramesPerPes": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "audioFramesPerPes" }, "AudioPids": { - "shape": "ListOf__integer", + "shape": "__listOf__integerMin32Max8182", "locationName": "audioPids" }, + "NielsenId3": { + "shape": "M3u8NielsenId3", + "locationName": "nielsenId3" + }, "PatInterval": { - "shape": "__integer", + "shape": "__integerMin0Max1000", "locationName": "patInterval" }, "PcrControl": { @@ -4632,27 +4989,27 @@ "locationName": "pcrControl" }, "PcrPid": { - "shape": "__integer", + "shape": "__integerMin32Max8182", "locationName": "pcrPid" }, "PmtInterval": { - "shape": "__integer", + "shape": "__integerMin0Max1000", "locationName": "pmtInterval" }, "PmtPid": { - "shape": "__integer", + "shape": "__integerMin32Max8182", "locationName": "pmtPid" }, "PrivateMetadataPid": { - "shape": "__integer", + "shape": "__integerMin32Max8182", "locationName": "privateMetadataPid" }, "ProgramNumber": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "programNumber" }, "Scte35Pid": { - "shape": "__integer", + "shape": "__integerMin32Max8182", "locationName": "scte35Pid" }, "Scte35Source": { @@ -4664,55 +5021,19 @@ "locationName": "timedMetadata" }, "TimedMetadataPid": { - "shape": "__integer", + "shape": "__integerMin32Max8182", "locationName": "timedMetadataPid" }, "TransportStreamId": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "transportStreamId" }, "VideoPid": { - "shape": "__integer", + "shape": "__integerMin32Max8182", "locationName": "videoPid" } } }, - "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" - } - }, "MovClapAtom": { "type": "string", "enum": [ @@ -4777,15 +5098,15 @@ "type": "structure", "members": { "Bitrate": { - "shape": "__integer", + "shape": "__integerMin32000Max384000", "locationName": "bitrate" }, "Channels": { - "shape": "__integer", + "shape": "__integerMin1Max2", "locationName": "channels" }, "SampleRate": { - "shape": "__integer", + "shape": "__integerMin32000Max48000", "locationName": "sampleRate" } } @@ -4935,7 +5256,7 @@ "locationName": "adaptiveQuantization" }, "Bitrate": { - "shape": "__integer", + "shape": "__integerMin1000Max288000000", "locationName": "bitrate" }, "CodecLevel": { @@ -4955,19 +5276,19 @@ "locationName": "framerateConversionAlgorithm" }, "FramerateDenominator": { - "shape": "__integer", + "shape": "__integerMin1Max1001", "locationName": "framerateDenominator" }, "FramerateNumerator": { - "shape": "__integer", + "shape": "__integerMin24Max60000", "locationName": "framerateNumerator" }, "GopClosedCadence": { - "shape": "__integer", + "shape": "__integerMin0Max2147483647", "locationName": "gopClosedCadence" }, "GopSize": { - "shape": "__double", + "shape": "__doubleMin0", "locationName": "gopSize" }, "GopSizeUnits": { @@ -4975,11 +5296,11 @@ "locationName": "gopSizeUnits" }, "HrdBufferInitialFillPercentage": { - "shape": "__integer", + "shape": "__integerMin0Max100", "locationName": "hrdBufferInitialFillPercentage" }, "HrdBufferSize": { - "shape": "__integer", + "shape": "__integerMin0Max47185920", "locationName": "hrdBufferSize" }, "InterlaceMode": { @@ -4991,15 +5312,15 @@ "locationName": "intraDcPrecision" }, "MaxBitrate": { - "shape": "__integer", + "shape": "__integerMin1000Max300000000", "locationName": "maxBitrate" }, "MinIInterval": { - "shape": "__integer", + "shape": "__integerMin0Max30", "locationName": "minIInterval" }, "NumberBFramesBetweenReferenceFrames": { - "shape": "__integer", + "shape": "__integerMin0Max7", "locationName": "numberBFramesBetweenReferenceFrames" }, "ParControl": { @@ -5007,11 +5328,11 @@ "locationName": "parControl" }, "ParDenominator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "parDenominator" }, "ParNumerator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "parNumerator" }, "QualityTuningLevel": { @@ -5031,7 +5352,7 @@ "locationName": "slowPal" }, "Softness": { - "shape": "__integer", + "shape": "__integerMin0Max128", "locationName": "softness" }, "SpatialAdaptiveQuantization": { @@ -5102,7 +5423,10 @@ "shape": "SpekeKeyProvider", "locationName": "spekeKeyProvider" } - } + }, + "required": [ + "SpekeKeyProvider" + ] }, "MsSmoothGroupSettings": { "type": "structure", @@ -5112,7 +5436,7 @@ "locationName": "audioDeduplication" }, "Destination": { - "shape": "__string", + "shape": "__stringPatternS3", "locationName": "destination" }, "Encryption": { @@ -5120,14 +5444,17 @@ "locationName": "encryption" }, "FragmentLength": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "fragmentLength" }, "ManifestEncoding": { "shape": "MsSmoothManifestEncoding", "locationName": "manifestEncoding" } - } + }, + "required": [ + "FragmentLength" + ] }, "MsSmoothManifestEncoding": { "type": "string", @@ -5140,7 +5467,7 @@ "type": "structure", "members": { "BreakoutCode": { - "shape": "__integer", + "shape": "__integerMin0Max9", "locationName": "breakoutCode" }, "DistributorId": { @@ -5164,7 +5491,10 @@ "shape": "NoiseReducerSpatialFilterSettings", "locationName": "spatialFilterSettings" } - } + }, + "required": [ + "Filter" + ] }, "NoiseReducerFilter": { "type": "string", @@ -5182,7 +5512,7 @@ "type": "structure", "members": { "Strength": { - "shape": "__integer", + "shape": "__integerMin0Max3", "locationName": "strength" } } @@ -5191,15 +5521,15 @@ "type": "structure", "members": { "PostFilterSharpenStrength": { - "shape": "__integer", + "shape": "__integerMin0Max3", "locationName": "postFilterSharpenStrength" }, "Speed": { - "shape": "__integer", + "shape": "__integerMinNegative2Max3", "locationName": "speed" }, "Strength": { - "shape": "__integer", + "shape": "__integerMin0Max16", "locationName": "strength" } } @@ -5228,11 +5558,11 @@ "type": "structure", "members": { "AudioDescriptions": { - "shape": "ListOfAudioDescription", + "shape": "__listOfAudioDescription", "locationName": "audioDescriptions" }, "CaptionDescriptions": { - "shape": "ListOfCaptionDescription", + "shape": "__listOfCaptionDescription", "locationName": "captionDescriptions" }, "ContainerSettings": { @@ -5244,7 +5574,7 @@ "locationName": "extension" }, "NameModifier": { - "shape": "__string", + "shape": "__stringMin1", "locationName": "nameModifier" }, "OutputSettings": { @@ -5252,7 +5582,7 @@ "locationName": "outputSettings" }, "Preset": { - "shape": "__string", + "shape": "__stringMin0", "locationName": "preset" }, "VideoDescription": { @@ -5265,10 +5595,13 @@ "type": "structure", "members": { "InputChannels": { - "shape": "ListOf__integer", + "shape": "__listOf__integerMinNegative60Max6", "locationName": "inputChannels" } - } + }, + "required": [ + "InputChannels" + ] }, "OutputDetail": { "type": "structure", @@ -5299,16 +5632,20 @@ "locationName": "outputGroupSettings" }, "Outputs": { - "shape": "ListOfOutput", + "shape": "__listOfOutput", "locationName": "outputs" } - } + }, + "required": [ + "Outputs", + "OutputGroupSettings" + ] }, "OutputGroupDetail": { "type": "structure", "members": { "OutputDetails": { - "shape": "ListOfOutputDetail", + "shape": "__listOfOutputDetail", "locationName": "outputDetails" } } @@ -5316,6 +5653,10 @@ "OutputGroupSettings": { "type": "structure", "members": { + "CmafGroupSettings": { + "shape": "CmafGroupSettings", + "locationName": "cmafGroupSettings" + }, "DashIsoGroupSettings": { "shape": "DashIsoGroupSettings", "locationName": "dashIsoGroupSettings" @@ -5336,7 +5677,10 @@ "shape": "OutputGroupType", "locationName": "type" } - } + }, + "required": [ + "Type" + ] }, "OutputGroupType": { "type": "string", @@ -5344,7 +5688,8 @@ "HLS_GROUP_SETTINGS", "DASH_ISO_GROUP_SETTINGS", "FILE_GROUP_SETTINGS", - "MS_SMOOTH_GROUP_SETTINGS" + "MS_SMOOTH_GROUP_SETTINGS", + "CMAF_GROUP_SETTINGS" ] }, "OutputSdt": { @@ -5377,7 +5722,7 @@ "locationName": "category" }, "CreatedAt": { - "shape": "__timestamp", + "shape": "__timestampUnix", "locationName": "createdAt" }, "Description": { @@ -5385,7 +5730,7 @@ "locationName": "description" }, "LastUpdated": { - "shape": "__timestamp", + "shape": "__timestampUnix", "locationName": "lastUpdated" }, "Name": { @@ -5400,7 +5745,11 @@ "shape": "Type", "locationName": "type" } - } + }, + "required": [ + "Settings", + "Name" + ] }, "PresetListBy": { "type": "string", @@ -5414,11 +5763,11 @@ "type": "structure", "members": { "AudioDescriptions": { - "shape": "ListOfAudioDescription", + "shape": "__listOfAudioDescription", "locationName": "audioDescriptions" }, "CaptionDescriptions": { - "shape": "ListOfCaptionDescriptionPreset", + "shape": "__listOfCaptionDescriptionPreset", "locationName": "captionDescriptions" }, "ContainerSettings": { @@ -5487,11 +5836,11 @@ "locationName": "framerateConversionAlgorithm" }, "FramerateDenominator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "framerateDenominator" }, "FramerateNumerator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "framerateNumerator" }, "InterlaceMode": { @@ -5503,11 +5852,11 @@ "locationName": "parControl" }, "ParDenominator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "parDenominator" }, "ParNumerator": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "parNumerator" }, "SlowPal": { @@ -5542,7 +5891,7 @@ "locationName": "arn" }, "CreatedAt": { - "shape": "__timestamp", + "shape": "__timestampUnix", "locationName": "createdAt" }, "Description": { @@ -5550,22 +5899,33 @@ "locationName": "description" }, "LastUpdated": { - "shape": "__timestamp", + "shape": "__timestampUnix", "locationName": "lastUpdated" }, "Name": { "shape": "__string", "locationName": "name" }, + "ProgressingJobsCount": { + "shape": "__integer", + "locationName": "progressingJobsCount" + }, "Status": { "shape": "QueueStatus", "locationName": "status" }, + "SubmittedJobsCount": { + "shape": "__integer", + "locationName": "submittedJobsCount" + }, "Type": { "shape": "Type", "locationName": "type" } - } + }, + "required": [ + "Name" + ] }, "QueueListBy": { "type": "string", @@ -5585,22 +5945,28 @@ "type": "structure", "members": { "Height": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "height" }, "Width": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "width" }, "X": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "x" }, "Y": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "y" } - } + }, + "required": [ + "X", + "Y", + "Height", + "Width" + ] }, "RemixSettings": { "type": "structure", @@ -5610,13 +5976,31 @@ "locationName": "channelMapping" }, "ChannelsIn": { - "shape": "__integer", + "shape": "__integerMin1Max16", "locationName": "channelsIn" }, "ChannelsOut": { - "shape": "__integer", + "shape": "__integerMin1Max8", "locationName": "channelsOut" } + }, + "required": [ + "ChannelsOut", + "ChannelMapping", + "ChannelsIn" + ] + }, + "ResourceTags": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags" + } } }, "RespondToAfd": { @@ -5660,41 +6044,72 @@ "locationName": "resourceId" }, "SystemIds": { - "shape": "ListOf__string", + "shape": "__listOf__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12", "locationName": "systemIds" }, "Url": { - "shape": "__string", + "shape": "__stringPatternHttps", "locationName": "url" } - } + }, + "required": [ + "ResourceId", + "SystemIds", + "Url" + ] }, "StaticKeyProvider": { "type": "structure", "members": { "KeyFormat": { - "shape": "__string", + "shape": "__stringPatternIdentityAZaZ26AZaZ09163", "locationName": "keyFormat" }, "KeyFormatVersions": { - "shape": "__string", + "shape": "__stringPatternDD", "locationName": "keyFormatVersions" }, "StaticKeyValue": { - "shape": "__string", + "shape": "__stringPatternAZaZ0932", "locationName": "staticKeyValue" }, "Url": { "shape": "__string", "locationName": "url" } + }, + "required": [ + "Url", + "StaticKeyValue" + ] + }, + "TagResourceRequest": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags" + } + }, + "required": [ + "Arn", + "Tags" + ] + }, + "TagResourceResponse": { + "type": "structure", + "members": { } }, "TeletextDestinationSettings": { "type": "structure", "members": { "PageNumber": { - "shape": "__string", + "shape": "__stringMin3Max3Pattern1809aFAF09aEAE", "locationName": "pageNumber" } } @@ -5703,7 +6118,7 @@ "type": "structure", "members": { "PageNumber": { - "shape": "__string", + "shape": "__stringMin3Max3Pattern1809aFAF09aEAE", "locationName": "pageNumber" } } @@ -5712,7 +6127,7 @@ "type": "structure", "members": { "FontSize": { - "shape": "__integer", + "shape": "__integerMin10Max48", "locationName": "fontSize" }, "Position": { @@ -5720,7 +6135,7 @@ "locationName": "position" }, "Prefix": { - "shape": "__string", + "shape": "__stringPattern", "locationName": "prefix" } } @@ -5743,7 +6158,7 @@ "type": "structure", "members": { "Anchor": { - "shape": "__string", + "shape": "__stringPattern010920405090509092", "locationName": "anchor" }, "Source": { @@ -5751,11 +6166,11 @@ "locationName": "source" }, "Start": { - "shape": "__string", + "shape": "__stringPattern010920405090509092", "locationName": "start" }, "TimestampOffset": { - "shape": "__string", + "shape": "__stringPattern0940191020191209301", "locationName": "timestampOffset" } } @@ -5779,24 +6194,27 @@ "type": "structure", "members": { "Id3Insertions": { - "shape": "ListOfId3Insertion", + "shape": "__listOfId3Insertion", "locationName": "id3Insertions" } - } + }, + "required": [ + "Id3Insertions" + ] }, "Timing": { "type": "structure", "members": { "FinishTime": { - "shape": "__timestamp", + "shape": "__timestampUnix", "locationName": "finishTime" }, "StartTime": { - "shape": "__timestamp", + "shape": "__timestampUnix", "locationName": "startTime" }, "SubmitTime": { - "shape": "__timestamp", + "shape": "__timestampUnix", "locationName": "submitTime" } } @@ -5837,6 +6255,24 @@ "CUSTOM" ] }, + "UntagResourceRequest": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "TagKeys": { + "shape": "__listOf__string", + "locationName": "tagKeys" + } + } + }, + "UntagResourceResponse": { + "type": "structure", + "members": { + } + }, "UpdateJobTemplateRequest": { "type": "structure", "members": { @@ -5976,7 +6412,10 @@ "shape": "ProresSettings", "locationName": "proresSettings" } - } + }, + "required": [ + "Codec" + ] }, "VideoDescription": { "type": "structure", @@ -6006,11 +6445,11 @@ "locationName": "dropFrameTimecode" }, "FixedAfd": { - "shape": "__integer", + "shape": "__integerMin0Max15", "locationName": "fixedAfd" }, "Height": { - "shape": "__integer", + "shape": "__integerMin32Max2160", "locationName": "height" }, "Position": { @@ -6026,7 +6465,7 @@ "locationName": "scalingBehavior" }, "Sharpness": { - "shape": "__integer", + "shape": "__integerMin0Max100", "locationName": "sharpness" }, "TimecodeInsertion": { @@ -6038,10 +6477,13 @@ "locationName": "videoPreprocessors" }, "Width": { - "shape": "__integer", + "shape": "__integerMin32Max4096", "locationName": "width" } - } + }, + "required": [ + "CodecSettings" + ] }, "VideoDetail": { "type": "structure", @@ -6097,11 +6539,11 @@ "locationName": "hdr10Metadata" }, "Pid": { - "shape": "__integer", + "shape": "__integerMin1Max2147483647", "locationName": "pid" }, "ProgramNumber": { - "shape": "__integer", + "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "programNumber" } } @@ -6113,19 +6555,30 @@ "PIC_TIMING_SEI" ] }, + "WavFormat": { + "type": "string", + "enum": [ + "RIFF", + "RF64" + ] + }, "WavSettings": { "type": "structure", "members": { "BitDepth": { - "shape": "__integer", + "shape": "__integerMin16Max24", "locationName": "bitDepth" }, "Channels": { - "shape": "__integer", + "shape": "__integerMin1Max8", "locationName": "channels" }, + "Format": { + "shape": "WavFormat", + "locationName": "format" + }, "SampleRate": { - "shape": "__integer", + "shape": "__integerMin8000Max192000", "locationName": "sampleRate" } } @@ -6136,14 +6589,648 @@ "__double": { "type": "double" }, + "__doubleMin0": { + "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 + }, + "__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 + }, + "__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" }, - "__timestamp": { - "type": "timestamp" + "__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" } } } \ No newline at end of file diff --git a/models/apis/mediaconvert/2017-08-29/docs-2.json b/models/apis/mediaconvert/2017-08-29/docs-2.json index e309077bf8d..3168de99bca 100644 --- a/models/apis/mediaconvert/2017-08-29/docs-2.json +++ b/models/apis/mediaconvert/2017-08-29/docs-2.json @@ -19,6 +19,9 @@ "ListJobs": "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": "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": "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": "Retrieve the tags for a MediaConvert resource.", + "TagResource": "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": "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": "Modify one of your existing job templates.", "UpdatePreset": "Modify one of your existing presets.", "UpdateQueue": "Modify one of your existing queues." @@ -55,7 +58,7 @@ } }, "AacSettings": { - "base": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AAC.", + "base": "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.", "refs": { "AudioCodecSettings$AacSettings": null } @@ -109,7 +112,7 @@ } }, "AfdSignaling": { - "base": "This setting only applies to H.264 and MPEG2 outputs. Use Insert AFD signaling (AfdSignaling) to whether there are 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.", + "base": "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.", "refs": { "VideoDescription$AfdSignaling": null } @@ -145,7 +148,7 @@ } }, "AudioDefaultSelection": { - "base": "When an \"Audio Description\":#audio_description specifies an AudioSelector or AudioSelectorGroup for which no matching source is found in the input, then the audio selector marked as DEFAULT will be used. If none are marked as default, silence will be inserted for the duration of the input.", + "base": "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.", "refs": { "AudioSelector$DefaultSelection": null } @@ -153,7 +156,7 @@ "AudioDescription": { "base": "Description of audio output", "refs": { - "ListOfAudioDescription$member": null + "__listOfAudioDescription$member": null } }, "AudioLanguageCodeControl": { @@ -189,19 +192,19 @@ "AudioNormalizationSettings": { "base": "Advanced audio normalization settings.", "refs": { - "AudioDescription$AudioNormalizationSettings": "Settings for Audio Normalization" + "AudioDescription$AudioNormalizationSettings": null } }, "AudioSelector": { "base": "Selector for Audio", "refs": { - "MapOfAudioSelector$member": null + "__mapOfAudioSelector$member": null } }, "AudioSelectorGroup": { "base": "Group of Audio Selectors", "refs": { - "MapOfAudioSelectorGroup$member": null + "__mapOfAudioSelectorGroup$member": null } }, "AudioSelectorType": { @@ -265,7 +268,7 @@ } }, "BurninSubtitleTeletextSpacing": { - "base": "Controls whether a fixed grid size or proportional font spacing will be used to generate the output subtitles bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs.", + "base": "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.", "refs": { "BurninDestinationSettings$TeletextSpacing": null } @@ -283,13 +286,13 @@ "CaptionDescription": { "base": "Description of Caption output", "refs": { - "ListOfCaptionDescription$member": null + "__listOfCaptionDescription$member": null } }, "CaptionDescriptionPreset": { "base": "Caption Description for preset", "refs": { - "ListOfCaptionDescriptionPreset$member": null + "__listOfCaptionDescriptionPreset$member": null } }, "CaptionDestinationSettings": { @@ -300,15 +303,15 @@ } }, "CaptionDestinationType": { - "base": null, + "base": "Type of Caption output, including Burn-In, Embedded, SCC, SRT, TTML, WebVTT, DVB-Sub, Teletext.", "refs": { - "CaptionDestinationSettings$DestinationType": "Type of Caption output, including Burn-In, Embedded, SCC, SRT, TTML, WebVTT, DVB-Sub, Teletext." + "CaptionDestinationSettings$DestinationType": null } }, "CaptionSelector": { - "base": "Caption inputs to be mapped to caption outputs.", + "base": "Set up captions in your outputs by first selecting them from your input here.", "refs": { - "MapOfCaptionSelector$member": null + "__mapOfCaptionSelector$member": null } }, "CaptionSourceSettings": { @@ -329,6 +332,84 @@ "RemixSettings$ChannelMapping": null } }, + "CmafClientCache": { + "base": "When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay.", + "refs": { + "CmafGroupSettings$ClientCache": null + } + }, + "CmafCodecSpecification": { + "base": "Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.", + "refs": { + "CmafGroupSettings$CodecSpecification": null + } + }, + "CmafEncryptionSettings": { + "base": "Settings for CMAF encryption", + "refs": { + "CmafGroupSettings$Encryption": "DRM settings." + } + }, + "CmafEncryptionType": { + "base": "Encrypts the segments with the given encryption scheme. Leave blank to disable. Selecting 'Disabled' in the web interface also disables encryption.", + "refs": { + "CmafEncryptionSettings$EncryptionMethod": null + } + }, + "CmafGroupSettings": { + "base": "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.", + "refs": { + "OutputGroupSettings$CmafGroupSettings": null + } + }, + "CmafInitializationVectorInManifest": { + "base": "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.", + "refs": { + "CmafEncryptionSettings$InitializationVectorInManifest": null + } + }, + "CmafKeyProviderType": { + "base": "Indicates which type of key provider is used for encryption.", + "refs": { + "CmafEncryptionSettings$Type": null + } + }, + "CmafManifestCompression": { + "base": "When set to GZIP, compresses HLS playlist.", + "refs": { + "CmafGroupSettings$ManifestCompression": null + } + }, + "CmafManifestDurationFormat": { + "base": "Indicates whether the output manifest should use floating point values for segment duration.", + "refs": { + "CmafGroupSettings$ManifestDurationFormat": null + } + }, + "CmafSegmentControl": { + "base": "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.", + "refs": { + "CmafGroupSettings$SegmentControl": null + } + }, + "CmafStreamInfResolution": { + "base": "Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.", + "refs": { + "CmafGroupSettings$StreamInfResolution": null + } + }, + "CmafWriteDASHManifest": { + "base": "When set to ENABLED, a DASH MPD manifest will be generated for this output.", + "refs": { + "CmafGroupSettings$WriteDashManifest": null + } + }, + "CmafWriteHLSManifest": { + "base": "When set to ENABLED, an Apple HLS manifest will be generated for this output.", + "refs": { + "CmafGroupSettings$WriteHlsManifest": null + } + }, "ColorCorrector": { "base": "Settings for color correction.", "refs": { @@ -342,7 +423,7 @@ } }, "ColorSpace": { - "base": "Specifies the colorspace of an input. This setting works in tandem with \"Color Corrector\":#color_corrector > color_space_conversion to determine if any conversion will be performed.", + "base": "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.", "refs": { "VideoSelector$ColorSpace": null } @@ -354,7 +435,7 @@ } }, "ColorSpaceUsage": { - "base": "There are two sources for color metadata, the input file and the job configuration. This enum controls which takes precedence. FORCE: 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: 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.", + "base": "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.", "refs": { "VideoSelector$ColorSpaceUsage": null } @@ -566,7 +647,7 @@ } }, "DvbSubtitleTeletextSpacing": { - "base": "Controls whether a fixed grid size or proportional font spacing will be used to generate the output subtitles bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs.", + "base": "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.", "refs": { "DvbSubDestinationSettings$TeletextSpacing": null } @@ -682,7 +763,7 @@ "Endpoint": { "base": "Describes account specific API endpoint", "refs": { - "ListOfEndpoint$member": null + "__listOfEndpoint$member": null } }, "ExceptionBody": { @@ -808,7 +889,7 @@ } }, "H264FramerateControl": { - "base": "Using the API, set FramerateControl to INITIALIZE_FROM_SOURCE if you want the service to use the framerate from the input. Using the console, do this by choosing INITIALIZE_FROM_SOURCE for Framerate.", + "base": "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.", "refs": { "H264Settings$FramerateControl": null } @@ -832,7 +913,7 @@ } }, "H264InterlaceMode": { - "base": "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. - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\". - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose.", + "base": "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.", "refs": { "H264Settings$InterlaceMode": null } @@ -850,7 +931,7 @@ } }, "H264RateControlMode": { - "base": "Rate control mode. CQ uses constant quantizer (qp), ABR (average bitrate) does not write HRD parameters.", + "base": "Use this setting to specify whether this output has a variable bitrate (VBR) or constant bitrate (CBR).", "refs": { "H264Settings$RateControlMode": null } @@ -940,7 +1021,7 @@ } }, "H265FramerateControl": { - "base": "Using the API, set FramerateControl to INITIALIZE_FROM_SOURCE if you want the service to use the framerate from the input. Using the console, do this by choosing INITIALIZE_FROM_SOURCE for Framerate.", + "base": "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.", "refs": { "H265Settings$FramerateControl": null } @@ -964,7 +1045,7 @@ } }, "H265InterlaceMode": { - "base": "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. - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\". - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose.", + "base": "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.", "refs": { "H265Settings$InterlaceMode": null } @@ -982,7 +1063,7 @@ } }, "H265RateControlMode": { - "base": "Rate control mode. CQ uses constant quantizer (qp), ABR (average bitrate) does not write HRD parameters.", + "base": "Use this setting to specify whether this output has a variable bitrate (VBR) or constant bitrate (CBR).", "refs": { "H265Settings$RateControlMode": null } @@ -1047,8 +1128,14 @@ "H265Settings$UnregisteredSeiTimecode": null } }, + "H265WriteMp4PackagingType": { + "base": "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.", + "refs": { + "H265Settings$WriteMp4PackagingType": null + } + }, "Hdr10Metadata": { - "base": "Use the HDR master display (Hdr10Metadata) settings to provide values for HDR color. 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.", + "base": "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.", "refs": { "ColorCorrector$Hdr10Metadata": null, "VideoSelector$Hdr10Metadata": null @@ -1057,7 +1144,7 @@ "HlsAdMarkers": { "base": null, "refs": { - "ListOfHlsAdMarkers$member": null + "__listOfHlsAdMarkers$member": null } }, "HlsAudioTrackType": { @@ -1069,7 +1156,7 @@ "HlsCaptionLanguageMapping": { "base": "Caption Language Mapping", "refs": { - "ListOfHlsCaptionLanguageMapping$member": null + "__listOfHlsCaptionLanguageMapping$member": null } }, "HlsCaptionLanguageSetting": { @@ -1181,9 +1268,9 @@ } }, "Id3Insertion": { - "base": "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 mulitple instances of ID3 insertion (Id3Insertion).", + "base": "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).", "refs": { - "ListOfId3Insertion$member": null + "__listOfId3Insertion$member": null } }, "ImageInserter": { @@ -1195,13 +1282,13 @@ "Input": { "base": "Specifies media input", "refs": { - "ListOfInput$member": null + "__listOfInput$member": null } }, "InputClipping": { - "base": "Include one instance of (InputClipping) for each input clip.", + "base": "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.", "refs": { - "ListOfInputClipping$member": null + "__listOfInputClipping$member": null } }, "InputDeblockFilter": { @@ -1235,11 +1322,11 @@ "InputTemplate": { "base": "Specified video input in a template.", "refs": { - "ListOfInputTemplate$member": null + "__listOfInputTemplate$member": null } }, "InputTimecodeSource": { - "base": "Use Timecode source (InputTimecodeSource) to specify how timecode information from your input is adjusted and encoded in all outputs for the job. Default is embedded. Set to Embedded (EMBEDDED) to use the timecode that is in the input video. If no embedded timecode is in the source, will set the timecode for the first frame to 00:00:00:00. Set to Start at 0 (ZEROBASED) to set the timecode of the initial frame to 00:00:00:00. Set to Specified start (SPECIFIEDSTART) to provide the initial timecode yourself the setting (Start).", + "base": "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.", "refs": { "Input$TimecodeSource": null, "InputTemplate$TimecodeSource": null @@ -1248,7 +1335,7 @@ "InsertableImage": { "base": "Settings for Insertable Image", "refs": { - "ListOfInsertableImage$member": null + "__listOfInsertableImage$member": null } }, "InternalServerErrorException": { @@ -1261,7 +1348,7 @@ "refs": { "CreateJobResponse$Job": null, "GetJobResponse$Job": null, - "ListOfJob$member": null + "__listOfJob$member": null } }, "JobSettings": { @@ -1283,8 +1370,8 @@ "refs": { "CreateJobTemplateResponse$JobTemplate": null, "GetJobTemplateResponse$JobTemplate": null, - "ListOfJobTemplate$member": null, - "UpdateJobTemplateResponse$JobTemplate": null + "UpdateJobTemplateResponse$JobTemplate": null, + "__listOfJobTemplate$member": null } }, "JobTemplateListBy": { @@ -1302,7 +1389,7 @@ } }, "LanguageCode": { - "base": "Code to specify the language, following the specification \"ISO 639-2 three-digit code\":http://www.loc.gov/standards/iso639-2/", + "base": "Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php.", "refs": { "AudioDescription$LanguageCode": "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.", "AudioSelector$LanguageCode": "Selects a specific language code from within an audio source.", @@ -1332,147 +1419,6 @@ "refs": { } }, - "ListOfAudioDescription": { - "base": null, - "refs": { - "Output$AudioDescriptions": "(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.", - "PresetSettings$AudioDescriptions": "(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." - } - }, - "ListOfCaptionDescription": { - "base": null, - "refs": { - "Output$CaptionDescriptions": "(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." - } - }, - "ListOfCaptionDescriptionPreset": { - "base": null, - "refs": { - "PresetSettings$CaptionDescriptions": "Caption settings for this preset. There can be multiple caption settings in a single output." - } - }, - "ListOfEndpoint": { - "base": null, - "refs": { - "DescribeEndpointsResponse$Endpoints": "List of endpoints" - } - }, - "ListOfHlsAdMarkers": { - "base": null, - "refs": { - "HlsGroupSettings$AdMarkers": "Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs." - } - }, - "ListOfHlsCaptionLanguageMapping": { - "base": null, - "refs": { - "HlsGroupSettings$CaptionLanguageMappings": "Language to be used on Caption outputs" - } - }, - "ListOfId3Insertion": { - "base": null, - "refs": { - "TimedMetadataInsertion$Id3Insertions": "Id3Insertions contains the array of Id3Insertion instances." - } - }, - "ListOfInput": { - "base": null, - "refs": { - "JobSettings$Inputs": "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." - } - }, - "ListOfInputClipping": { - "base": null, - "refs": { - "Input$InputClippings": "(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.", - "InputTemplate$InputClippings": "(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." - } - }, - "ListOfInputTemplate": { - "base": null, - "refs": { - "JobTemplateSettings$Inputs": "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." - } - }, - "ListOfInsertableImage": { - "base": null, - "refs": { - "ImageInserter$InsertableImages": "Image to insert. Must be 32 bit windows BMP, PNG, or TGA file. Must not be larger than the output frames." - } - }, - "ListOfJob": { - "base": null, - "refs": { - "ListJobsResponse$Jobs": "List of jobs" - } - }, - "ListOfJobTemplate": { - "base": null, - "refs": { - "ListJobTemplatesResponse$JobTemplates": "List of Job templates." - } - }, - "ListOfOutput": { - "base": null, - "refs": { - "OutputGroup$Outputs": "This object holds groups of encoding settings, one group of settings per output." - } - }, - "ListOfOutputChannelMapping": { - "base": null, - "refs": { - "ChannelMapping$OutputChannels": "List of output channels" - } - }, - "ListOfOutputDetail": { - "base": null, - "refs": { - "OutputGroupDetail$OutputDetails": "Details about the output" - } - }, - "ListOfOutputGroup": { - "base": null, - "refs": { - "JobSettings$OutputGroups": "**!!**(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", - "JobTemplateSettings$OutputGroups": "**!!**(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" - } - }, - "ListOfOutputGroupDetail": { - "base": null, - "refs": { - "Job$OutputGroupDetails": "List of output group details" - } - }, - "ListOfPreset": { - "base": null, - "refs": { - "ListPresetsResponse$Presets": "List of presets" - } - }, - "ListOfQueue": { - "base": null, - "refs": { - "ListQueuesResponse$Queues": "List of queues" - } - }, - "ListOf__integer": { - "base": null, - "refs": { - "AudioSelector$Pids": "Selects a specific PID from within an audio source (e.g. 257 selects PID 0x101).", - "AudioSelector$Tracks": "Identify the channel to include in this selector by entering the 1-based track index. To combine several tracks, enter a comma-separated list, e.g. \"1,2,3\" for tracks 1-3.", - "M2tsSettings$AudioPids": "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.", - "M2tsSettings$DvbSubPids": "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.", - "M3u8Settings$AudioPids": "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.", - "OutputChannelMapping$InputChannels": "List of input channels" - } - }, - "ListOf__string": { - "base": null, - "refs": { - "AudioSelectorGroup$AudioSelectorNames": "Name of an \"Audio Selector\":#inputs-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.", - "SpekeKeyProvider$SystemIds": "Relates to SPEKE implementation. DRM system identifiers. DASH output groups support a max of two system ids. Other group types support one system id." - } - }, "ListPresetsRequest": { "base": "You can send list presets requests with an empty body. Optionally, you can filter the response by category by specifying it in your request body. You can also optionally specify the maximum number, up to twenty, of queues to be returned.", "refs": { @@ -1493,6 +1439,16 @@ "refs": { } }, + "ListTagsForResourceRequest": { + "base": "List the tags for your MediaConvert resource by sending a request with the Amazon Resource Name (ARN) of the resource. To get the ARN, send a GET request with the resource name.", + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": "Successful list tags for resource requests return a JSON map of tags.", + "refs": { + } + }, "M2tsAudioBufferModel": { "base": "Selects between the DVB and ATSC buffer models for Dolby Digital audio.", "refs": { @@ -1523,6 +1479,12 @@ "M2tsSettings$EsRateInPes": null } }, + "M2tsNielsenId3": { + "base": "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.", + "refs": { + "M2tsSettings$NielsenId3": null + } + }, "M2tsPcrControl": { "base": "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.", "refs": { @@ -1536,7 +1498,7 @@ } }, "M2tsScte35Source": { - "base": "Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from input to output. This is only available for certain containers.", + "base": "Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from input to output.", "refs": { "M2tsSettings$Scte35Source": null } @@ -1559,6 +1521,12 @@ "ContainerSettings$M2tsSettings": null } }, + "M3u8NielsenId3": { + "base": "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.", + "refs": { + "M3u8Settings$NielsenId3": null + } + }, "M3u8PcrControl": { "base": "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.", "refs": { @@ -1566,7 +1534,7 @@ } }, "M3u8Scte35Source": { - "base": "Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from input to output. This is only available for certain containers.", + "base": "Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from input to output.", "refs": { "M3u8Settings$Scte35Source": null } @@ -1577,34 +1545,6 @@ "ContainerSettings$M3u8Settings": null } }, - "MapOfAudioSelector": { - "base": null, - "refs": { - "Input$AudioSelectors": "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.", - "InputTemplate$AudioSelectors": "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." - } - }, - "MapOfAudioSelectorGroup": { - "base": null, - "refs": { - "Input$AudioSelectorGroups": "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.", - "InputTemplate$AudioSelectorGroups": "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." - } - }, - "MapOfCaptionSelector": { - "base": null, - "refs": { - "Input$CaptionSelectors": "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.", - "InputTemplate$CaptionSelectors": "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." - } - }, - "MapOf__string": { - "base": null, - "refs": { - "CreateJobRequest$UserMetadata": "User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs.", - "Job$UserMetadata": "User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs." - } - }, "MovClapAtom": { "base": "When enabled, include 'clap' atom if appropriate for the video output settings.", "refs": { @@ -1690,7 +1630,7 @@ } }, "Mpeg2FramerateControl": { - "base": "Using the API, set FramerateControl to INITIALIZE_FROM_SOURCE if you want the service to use the framerate from the input. Using the console, do this by choosing INITIALIZE_FROM_SOURCE for Framerate.", + "base": "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.", "refs": { "Mpeg2Settings$FramerateControl": null } @@ -1708,7 +1648,7 @@ } }, "Mpeg2InterlaceMode": { - "base": "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. - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\". - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose.", + "base": "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.", "refs": { "Mpeg2Settings$InterlaceMode": null } @@ -1817,7 +1757,7 @@ } }, "NoiseReducerFilter": { - "base": "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 frequency-domain filter based on JND principles.", + "base": "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.", "refs": { "NoiseReducer$Filter": null } @@ -1851,31 +1791,31 @@ "Output": { "base": "An output object describes the settings for a single output file or stream in an output group.", "refs": { - "ListOfOutput$member": null + "__listOfOutput$member": null } }, "OutputChannelMapping": { "base": "OutputChannel mapping settings.", "refs": { - "ListOfOutputChannelMapping$member": null + "__listOfOutputChannelMapping$member": null } }, "OutputDetail": { "base": "Details regarding output", "refs": { - "ListOfOutputDetail$member": null + "__listOfOutputDetail$member": null } }, "OutputGroup": { "base": "Group of outputs", "refs": { - "ListOfOutputGroup$member": null + "__listOfOutputGroup$member": null } }, "OutputGroupDetail": { "base": "Contains details about the output groups specified in the job settings.", "refs": { - "ListOfOutputGroupDetail$member": null + "__listOfOutputGroupDetail$member": null } }, "OutputGroupSettings": { @@ -1885,13 +1825,13 @@ } }, "OutputGroupType": { - "base": null, + "base": "Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming, CMAF)", "refs": { - "OutputGroupSettings$Type": "Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming)" + "OutputGroupSettings$Type": null } }, "OutputSdt": { - "base": "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.", + "base": "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.", "refs": { "DvbSdtSettings$OutputSdt": null } @@ -1907,8 +1847,8 @@ "refs": { "CreatePresetResponse$Preset": null, "GetPresetResponse$Preset": null, - "ListOfPreset$member": null, - "UpdatePresetResponse$Preset": null + "UpdatePresetResponse$Preset": null, + "__listOfPreset$member": null } }, "PresetListBy": { @@ -1932,7 +1872,7 @@ } }, "ProresFramerateControl": { - "base": "Using the API, set FramerateControl to INITIALIZE_FROM_SOURCE if you want the service to use the framerate from the input. Using the console, do this by choosing INITIALIZE_FROM_SOURCE for Framerate.", + "base": "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.", "refs": { "ProresSettings$FramerateControl": null } @@ -1944,7 +1884,7 @@ } }, "ProresInterlaceMode": { - "base": "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. - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\". - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose.", + "base": "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.", "refs": { "ProresSettings$InterlaceMode": null } @@ -1978,8 +1918,8 @@ "refs": { "CreateQueueResponse$Queue": null, "GetQueueResponse$Queue": null, - "ListOfQueue$member": null, - "UpdateQueueResponse$Queue": null + "UpdateQueueResponse$Queue": null, + "__listOfQueue$member": null } }, "QueueListBy": { @@ -2003,10 +1943,16 @@ } }, "RemixSettings": { - "base": "Use Manual audio remixing (RemixSettings) to adjust audio levels for each output channel. With audio remixing, you can output more or fewer audio channels than your input audio source provides.", + "base": "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.", "refs": { "AudioDescription$RemixSettings": "Advanced audio remixing settings.", - "AudioSelector$RemixSettings": "Advanced audio remixing settings." + "AudioSelector$RemixSettings": "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." + } + }, + "ResourceTags": { + "base": "The Amazon Resource Name (ARN) and tags for an AWS Elemental MediaConvert resource.", + "refs": { + "ListTagsForResourceResponse$ResourceTags": null } }, "RespondToAfd": { @@ -2044,9 +1990,20 @@ "StaticKeyProvider": { "base": "Settings for use with a SPEKE key provider.", "refs": { + "CmafEncryptionSettings$StaticKeyProvider": null, "HlsEncryptionSettings$StaticKeyProvider": null } }, + "TagResourceRequest": { + "base": "To tag a queue, preset, or job template, send a request with the tags and the Amazon Resource Name (ARN) of the resource that you want to tag.", + "refs": { + } + }, + "TagResourceResponse": { + "base": "Successful tag resource requests return an OK message.", + "refs": { + } + }, "TeletextDestinationSettings": { "base": "Settings for Teletext caption output", "refs": { @@ -2072,20 +2029,20 @@ } }, "TimecodeConfig": { - "base": "Contains settings used to acquire and adjust timecode information from inputs.", + "base": "These settings control how the service handles timecodes throughout the job. These settings don't affect input clipping.", "refs": { "JobSettings$TimecodeConfig": "Contains settings used to acquire and adjust timecode information from inputs.", "JobTemplateSettings$TimecodeConfig": "Contains settings used to acquire and adjust timecode information from inputs." } }, "TimecodeSource": { - "base": "Use Timecode source (TimecodeSource) to set how timecodes are handled within this input. 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.", + "base": "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.", "refs": { "TimecodeConfig$Source": null } }, "TimedMetadata": { - "base": "If PASSTHROUGH, inserts ID3 timed metadata from the timed_metadata REST command into this output. Only available for certain containers.", + "base": "Applies only to HLS outputs. Use this setting to specify whether the service inserts the ID3 timed metadata from the input in this output.", "refs": { "M3u8Settings$TimedMetadata": null } @@ -2109,9 +2066,9 @@ } }, "TtmlDestinationSettings": { - "base": "Settings for TTML caption output", + "base": "Settings specific to TTML caption outputs, including Pass style information (TtmlStylePassthrough).", "refs": { - "CaptionDestinationSettings$TtmlDestinationSettings": "Settings specific to TTML caption outputs, including Pass style information (TtmlStylePassthrough)." + "CaptionDestinationSettings$TtmlDestinationSettings": null } }, "TtmlStylePassthrough": { @@ -2123,9 +2080,19 @@ "Type": { "base": null, "refs": { - "JobTemplate$Type": "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.", - "Preset$Type": "A preset can be of two types: system or custom. System or built-in preset can’t be modified or deleted by the user.", - "Queue$Type": "A queue can be of two types: system or custom. System or built-in queues can’t be modified or deleted by the user." + "JobTemplate$Type": "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.", + "Preset$Type": "A preset can be of two types: system or custom. System or built-in preset can't be modified or deleted by the user.", + "Queue$Type": "A queue can be of two types: system or custom. System or built-in queues can't be modified or deleted by the user." + } + }, + "UntagResourceRequest": { + "base": "To remove tags from a resource, send a request with the Amazon Resource Name (ARN) of the resource and the keys of the tags that you want to remove.", + "refs": { + } + }, + "UntagResourceResponse": { + "base": "Successful untag resource requests return an OK message.", + "refs": { } }, "UpdateJobTemplateRequest": { @@ -2197,25 +2164,26 @@ } }, "VideoTimecodeInsertion": { - "base": "Enable Timecode insertion to include timecode information in this output. Do this in the API by setting (VideoTimecodeInsertion) to (PIC_TIMING_SEI). To get timecodes to appear correctly in your output, also set up the timecode configuration for your job in the input settings. Only enable Timecode insertion when the input framerate is identical to output framerate. Disable this setting to remove the timecode from the output. Default is disabled.", + "base": "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.", "refs": { "VideoDescription$TimecodeInsertion": null } }, + "WavFormat": { + "base": "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.", + "refs": { + "WavSettings$Format": null + } + }, "WavSettings": { "base": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value WAV.", "refs": { "AudioCodecSettings$WavSettings": null } }, - "__double": { + "__doubleMin0": { "base": null, "refs": { - "AudioNormalizationSettings$TargetLkfs": "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.", - "Eac3Settings$LoRoCenterMixLevel": "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", - "Eac3Settings$LoRoSurroundMixLevel": "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", - "Eac3Settings$LtRtCenterMixLevel": "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", - "Eac3Settings$LtRtSurroundMixLevel": "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", "H264Settings$GopSize": "GOP Length (keyframe interval) in frames or seconds. Must be greater than zero.", "H265Settings$GopSize": "GOP Length (keyframe interval) in frames or seconds. Must be greater than zero.", "M2tsSettings$FragmentTime": "The length in seconds of each fragment. Only used with EBP markers.", @@ -2224,214 +2192,754 @@ "Mpeg2Settings$GopSize": "GOP Length (keyframe interval) in frames or seconds. Must be greater than zero." } }, + "__doubleMinNegative59Max0": { + "base": null, + "refs": { + "AudioNormalizationSettings$TargetLkfs": "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." + } + }, + "__doubleMinNegative60Max3": { + "base": null, + "refs": { + "Eac3Settings$LoRoCenterMixLevel": "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", + "Eac3Settings$LtRtCenterMixLevel": "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" + } + }, + "__doubleMinNegative60MaxNegative1": { + "base": null, + "refs": { + "Eac3Settings$LoRoSurroundMixLevel": "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", + "Eac3Settings$LtRtSurroundMixLevel": "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" + } + }, "__integer": { "base": null, "refs": { - "AacSettings$Bitrate": "Average bitrate in bits/second. Valid values depend on rate control mode and profile.", - "AacSettings$SampleRate": "Sample rate in Hz. Valid values depend on rate control mode and profile.", - "Ac3Settings$Bitrate": "Average bitrate in bits/second. Valid bitrates depend on the coding mode.", - "Ac3Settings$Dialnorm": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital, dialnorm will be passed through.", - "Ac3Settings$SampleRate": "Sample rate in hz. Sample rate is always 48000.", - "AiffSettings$BitDepth": "Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track.", - "AiffSettings$Channels": "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.", - "AiffSettings$SampleRate": "Sample rate in hz.", - "AncillarySourceSettings$SourceAncillaryChannelNumber": "Specifies the 608 channel number in the ancillary data track from which to extract captions. Unused for passthrough.", - "AudioDescription$AudioType": "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.", - "AudioNormalizationSettings$CorrectionGateLevel": "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.", - "AudioSelector$Offset": "Specifies a time delta in milliseconds to offset the audio from the input video.", - "AudioSelector$ProgramSelection": "Applies only when input streams contain Dolby E. Enter the program ID (according to the metadata in the audio) of the Dolby E program to extract from the specified track. One program extracted per audio selector. To select multiple programs, create multiple selectors with the same Track and different Program numbers. \"All channels\" means to ignore the program IDs and include all the channels in this selector; useful if metadata is known to be incorrect.", - "BurninDestinationSettings$BackgroundOpacity": "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.", - "BurninDestinationSettings$FontOpacity": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.\nAll burn-in and DVB-Sub font settings must match.", - "BurninDestinationSettings$FontResolution": "Font resolution in DPI (dots per inch); default is 96 dpi.\nAll burn-in and DVB-Sub font settings must match.", - "BurninDestinationSettings$FontSize": "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.", + "DescribeEndpointsRequest$MaxResults": "Optional. Max number of endpoints, up to twenty, that will be returned at one time.", + "Job$ErrorCode": "Error code for the job", + "OutputDetail$DurationInMs": "Duration in milliseconds", + "Queue$ProgressingJobsCount": "Estimated number of jobs in PROGRESSING status.", + "Queue$SubmittedJobsCount": "Estimated number of jobs in SUBMITTED status.", + "VideoDetail$HeightInPx": "Height in pixels for the output", + "VideoDetail$WidthInPx": "Width in pixels for the output" + } + }, + "__integerMin0Max10": { + "base": null, + "refs": { "BurninDestinationSettings$OutlineSize": "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.", - "BurninDestinationSettings$ShadowOpacity": "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.", - "BurninDestinationSettings$ShadowXOffset": "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.", - "BurninDestinationSettings$ShadowYOffset": "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.", + "DvbSubDestinationSettings$OutlineSize": "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." + } + }, + "__integerMin0Max100": { + "base": null, + "refs": { + "H264Settings$HrdBufferInitialFillPercentage": "Percentage of the buffer that should initially be filled (HRD buffer model).", + "H265Settings$HrdBufferInitialFillPercentage": "Percentage of the buffer that should initially be filled (HRD buffer model).", + "InsertableImage$Opacity": "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.", + "Mpeg2Settings$HrdBufferInitialFillPercentage": "Percentage of the buffer that should initially be filled (HRD buffer model).", + "VideoDescription$Sharpness": "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." + } + }, + "__integerMin0Max1000": { + "base": null, + "refs": { + "M2tsSettings$PatInterval": "The number of milliseconds between instances of this table in the output transport stream.", + "M2tsSettings$PmtInterval": "The number of milliseconds between instances of this table in the output transport stream.", + "M3u8Settings$PatInterval": "The number of milliseconds between instances of this table in the output transport stream.", + "M3u8Settings$PmtInterval": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "__integerMin0Max10000": { + "base": null, + "refs": { + "M2tsSettings$MinEbpInterval": "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." + } + }, + "__integerMin0Max1152000000": { + "base": null, + "refs": { + "H264Settings$HrdBufferSize": "Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000." + } + }, + "__integerMin0Max128": { + "base": null, + "refs": { + "H264Settings$Softness": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image.", + "Mpeg2Settings$Softness": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image." + } + }, + "__integerMin0Max1466400000": { + "base": null, + "refs": { + "H265Settings$HrdBufferSize": "Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000." + } + }, + "__integerMin0Max15": { + "base": null, + "refs": { + "VideoDescription$FixedAfd": "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." + } + }, + "__integerMin0Max16": { + "base": null, + "refs": { + "NoiseReducerSpatialFilterSettings$Strength": "Relative strength of noise reducing filter. Higher values produce stronger filtering." + } + }, + "__integerMin0Max2147483647": { + "base": null, + "refs": { "BurninDestinationSettings$XPosition": "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.", "BurninDestinationSettings$YPosition": "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.", + "CmafGroupSettings$MinBufferTime": "Minimum time of initially buffered media that is needed to ensure smooth playout.", + "DashIsoGroupSettings$MinBufferTime": "Minimum time of initially buffered media that is needed to ensure smooth playout.", + "DvbSubDestinationSettings$XPosition": "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.", + "DvbSubDestinationSettings$YPosition": "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.", + "H264Settings$GopClosedCadence": "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.", + "H265Settings$GopClosedCadence": "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.", + "Hdr10Metadata$MaxLuminance": "Nominal maximum mastering display luminance in units of of 0.0001 candelas per square meter.", + "Hdr10Metadata$MinLuminance": "Nominal minimum mastering display luminance in units of of 0.0001 candelas per square meter", + "HlsGroupSettings$MinSegmentLength": "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.", + "M2tsSettings$AudioFramesPerPes": "The number of audio frames to insert for each PES packet.", + "M2tsSettings$Bitrate": "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.", + "M3u8Settings$AudioFramesPerPes": "The number of audio frames to insert for each PES packet.", + "Mpeg2Settings$GopClosedCadence": "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." + } + }, + "__integerMin0Max255": { + "base": null, + "refs": { + "AudioDescription$AudioType": "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.", + "BurninDestinationSettings$BackgroundOpacity": "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.", + "BurninDestinationSettings$FontOpacity": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.\nAll burn-in and DVB-Sub font settings must match.", + "BurninDestinationSettings$ShadowOpacity": "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.", + "DvbSubDestinationSettings$BackgroundOpacity": "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.", + "DvbSubDestinationSettings$FontOpacity": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.\nAll burn-in and DVB-Sub font settings must match.", + "DvbSubDestinationSettings$ShadowOpacity": "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." + } + }, + "__integerMin0Max3": { + "base": null, + "refs": { + "NoiseReducerFilterSettings$Strength": "Relative strength of noise reducing filter. Higher values produce stronger filtering.", + "NoiseReducerSpatialFilterSettings$PostFilterSharpenStrength": "Specify strength of post noise reduction sharpening filter, with 0 disabling the filter and 3 enabling it at maximum strength." + } + }, + "__integerMin0Max30": { + "base": null, + "refs": { + "H264Settings$MinIInterval": "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", + "H265Settings$MinIInterval": "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", + "Mpeg2Settings$MinIInterval": "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" + } + }, + "__integerMin0Max3600": { + "base": null, + "refs": { + "HlsGroupSettings$ProgramDateTimePeriod": "Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds." + } + }, + "__integerMin0Max47185920": { + "base": null, + "refs": { + "Mpeg2Settings$HrdBufferSize": "Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000." + } + }, + "__integerMin0Max500": { + "base": null, + "refs": { + "M2tsSettings$MaxPcrInterval": "Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream." + } + }, + "__integerMin0Max50000": { + "base": null, + "refs": { + "Hdr10Metadata$BluePrimaryX": "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.", + "Hdr10Metadata$BluePrimaryY": "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.", + "Hdr10Metadata$GreenPrimaryX": "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.", + "Hdr10Metadata$GreenPrimaryY": "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.", + "Hdr10Metadata$RedPrimaryX": "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.", + "Hdr10Metadata$RedPrimaryY": "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.", + "Hdr10Metadata$WhitePointX": "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.", + "Hdr10Metadata$WhitePointY": "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." + } + }, + "__integerMin0Max65535": { + "base": null, + "refs": { + "DvbNitSettings$NetworkId": "The numeric value placed in the Network Information Table (NIT).", + "Hdr10Metadata$MaxContentLightLevel": "Maximum light level among all samples in the coded video sequence, in units of candelas per square meter.", + "Hdr10Metadata$MaxFrameAverageLightLevel": "Maximum average light level of any frame in the coded video sequence, in units of candelas per square meter.", + "M2tsSettings$ProgramNumber": "The value of the program number field in the Program Map Table.", + "M2tsSettings$TransportStreamId": "The value of the transport stream ID field in the Program Map Table.", + "M3u8Settings$ProgramNumber": "The value of the program number field in the Program Map Table.", + "M3u8Settings$TransportStreamId": "The value of the transport stream ID field in the Program Map Table." + } + }, + "__integerMin0Max7": { + "base": null, + "refs": { + "H264Settings$NumberBFramesBetweenReferenceFrames": "Number of B-frames between reference frames.", + "H265Settings$NumberBFramesBetweenReferenceFrames": "Number of B-frames between reference frames.", + "Mpeg2Settings$NumberBFramesBetweenReferenceFrames": "Number of B-frames between reference frames." + } + }, + "__integerMin0Max8": { + "base": null, + "refs": { + "AudioSelector$ProgramSelection": "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." + } + }, + "__integerMin0Max9": { + "base": null, + "refs": { + "NielsenConfiguration$BreakoutCode": "Use Nielsen Configuration (NielsenConfiguration) to set the Nielsen measurement system breakout code. Supported values are 0, 3, 7, and 9." + } + }, + "__integerMin0Max96": { + "base": null, + "refs": { + "BurninDestinationSettings$FontSize": "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.", + "DvbSubDestinationSettings$FontSize": "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." + } + }, + "__integerMin0Max99": { + "base": null, + "refs": { + "InsertableImage$Layer": "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." + } + }, + "__integerMin1000Max1152000000": { + "base": null, + "refs": { + "H264Settings$Bitrate": "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.", + "H264Settings$MaxBitrate": "Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000." + } + }, + "__integerMin1000Max1466400000": { + "base": null, + "refs": { + "H265Settings$Bitrate": "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.", + "H265Settings$MaxBitrate": "Maximum bitrate in bits/second." + } + }, + "__integerMin1000Max288000000": { + "base": null, + "refs": { + "Mpeg2Settings$Bitrate": "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." + } + }, + "__integerMin1000Max30000": { + "base": null, + "refs": { + "DvbTdtSettings$TdtInterval": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "__integerMin1000Max300000000": { + "base": null, + "refs": { + "Mpeg2Settings$MaxBitrate": "Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000." + } + }, + "__integerMin10Max48": { + "base": null, + "refs": { + "TimecodeBurnin$FontSize": "Use Font Size (FontSize) to set the font size of any burned-in timecode. Valid values are 10, 16, 32, 48." + } + }, + "__integerMin16Max24": { + "base": null, + "refs": { + "AiffSettings$BitDepth": "Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track.", + "WavSettings$BitDepth": "Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track." + } + }, + "__integerMin1Max1": { + "base": null, + "refs": { + "EmbeddedSourceSettings$Source608TrackNumber": "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'." + } + }, + "__integerMin1Max100": { + "base": null, + "refs": { "ColorCorrector$Brightness": "Brightness level.", "ColorCorrector$Contrast": "Contrast level.", - "ColorCorrector$Hue": "Hue in degrees.", "ColorCorrector$Saturation": "Saturation level.", + "FrameCaptureSettings$Quality": "JPEG Quality - a higher value equals higher quality." + } + }, + "__integerMin1Max10000000": { + "base": null, + "refs": { + "FrameCaptureSettings$MaxCaptures": "Maximum number of captures (encoded jpg output files)." + } + }, + "__integerMin1Max1001": { + "base": null, + "refs": { + "Mpeg2Settings$FramerateDenominator": "Framerate denominator." + } + }, + "__integerMin1Max16": { + "base": null, + "refs": { + "RemixSettings$ChannelsIn": "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." + } + }, + "__integerMin1Max2": { + "base": null, + "refs": { + "AiffSettings$Channels": "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.", + "Mp2Settings$Channels": "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." + } + }, + "__integerMin1Max20": { + "base": null, + "refs": { + "ListJobTemplatesRequest$MaxResults": "Optional. Number of job templates, up to twenty, that will be returned at one time.", + "ListJobsRequest$MaxResults": "Optional. Number of jobs, up to twenty, that will be returned at one time.", + "ListPresetsRequest$MaxResults": "Optional. Number of presets, up to twenty, that will be returned at one time", + "ListQueuesRequest$MaxResults": "Optional. Number of queues, up to twenty, that will be returned at one time." + } + }, + "__integerMin1Max2147483647": { + "base": null, + "refs": { + "CmafGroupSettings$FragmentLength": "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.", + "CmafGroupSettings$SegmentLength": "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.", "DashIsoGroupSettings$FragmentLength": "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.", - "DashIsoGroupSettings$MinBufferTime": "Minimum time of initially buffered media that is needed to ensure smooth playout.", "DashIsoGroupSettings$SegmentLength": "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.", - "DescribeEndpointsRequest$MaxResults": "Optional. Max number of endpoints, up to twenty, that will be returned at one time.", - "DvbNitSettings$NetworkId": "The numeric value placed in the Network Information Table (NIT).", - "DvbNitSettings$NitInterval": "The number of milliseconds between instances of this table in the output transport stream.", - "DvbSdtSettings$SdtInterval": "The number of milliseconds between instances of this table in the output transport stream.", - "DvbSubDestinationSettings$BackgroundOpacity": "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.", - "DvbSubDestinationSettings$FontOpacity": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.\nAll burn-in and DVB-Sub font settings must match.", - "DvbSubDestinationSettings$FontResolution": "Font resolution in DPI (dots per inch); default is 96 dpi.\nAll burn-in and DVB-Sub font settings must match.", - "DvbSubDestinationSettings$FontSize": "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.", - "DvbSubDestinationSettings$OutlineSize": "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.", - "DvbSubDestinationSettings$ShadowOpacity": "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.", - "DvbSubDestinationSettings$ShadowXOffset": "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.", - "DvbSubDestinationSettings$ShadowYOffset": "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.", - "DvbSubDestinationSettings$XPosition": "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.", - "DvbSubDestinationSettings$YPosition": "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.", "DvbSubSourceSettings$Pid": "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.", - "DvbTdtSettings$TdtInterval": "The number of milliseconds between instances of this table in the output transport stream.", - "Eac3Settings$Bitrate": "Average bitrate in bits/second. Valid bitrates depend on the coding mode.", - "Eac3Settings$Dialnorm": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through.", - "Eac3Settings$SampleRate": "Sample rate in hz. Sample rate is always 48000.", - "EmbeddedSourceSettings$Source608ChannelNumber": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough.", - "EmbeddedSourceSettings$Source608TrackNumber": "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'.", - "FileSourceSettings$TimeDelta": "Specifies a time delta in seconds to offset the captions from the source file.", "FrameCaptureSettings$FramerateDenominator": "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.", "FrameCaptureSettings$FramerateNumerator": "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.", - "FrameCaptureSettings$MaxCaptures": "Maximum number of captures (encoded jpg output files).", - "FrameCaptureSettings$Quality": "JPEG Quality - a higher value equals higher quality.", - "H264Settings$Bitrate": "Average bitrate in bits/second. Required for VBR, CBR, and ABR. Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000.", "H264Settings$FramerateDenominator": "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.", "H264Settings$FramerateNumerator": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.", - "H264Settings$GopClosedCadence": "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.", - "H264Settings$HrdBufferInitialFillPercentage": "Percentage of the buffer that should initially be filled (HRD buffer model).", - "H264Settings$HrdBufferSize": "Size of buffer (HRD buffer model). Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m.", - "H264Settings$MaxBitrate": "Maximum bitrate in bits/second (for VBR mode only). Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m.", - "H264Settings$MinIInterval": "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", - "H264Settings$NumberBFramesBetweenReferenceFrames": "Number of B-frames between reference frames.", - "H264Settings$NumberReferenceFrames": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding.", "H264Settings$ParDenominator": "Pixel Aspect Ratio denominator.", "H264Settings$ParNumerator": "Pixel Aspect Ratio numerator.", - "H264Settings$Slices": "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.", - "H264Settings$Softness": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image.", - "H265Settings$Bitrate": "Average bitrate in bits/second. Required for VBR, CBR, and ABR. Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000.", "H265Settings$FramerateDenominator": "Framerate denominator.", "H265Settings$FramerateNumerator": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.", - "H265Settings$GopClosedCadence": "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.", - "H265Settings$HrdBufferInitialFillPercentage": "Percentage of the buffer that should initially be filled (HRD buffer model).", - "H265Settings$HrdBufferSize": "Size of buffer (HRD buffer model). Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m.", - "H265Settings$MaxBitrate": "Maximum bitrate in bits/second (for VBR mode only). Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m.", - "H265Settings$MinIInterval": "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", - "H265Settings$NumberBFramesBetweenReferenceFrames": "Number of B-frames between reference frames.", - "H265Settings$NumberReferenceFrames": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding.", "H265Settings$ParDenominator": "Pixel Aspect Ratio denominator.", "H265Settings$ParNumerator": "Pixel Aspect Ratio numerator.", - "H265Settings$Slices": "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.", - "Hdr10Metadata$BluePrimaryX": "HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate.", - "Hdr10Metadata$BluePrimaryY": "HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate.", - "Hdr10Metadata$GreenPrimaryX": "HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate.", - "Hdr10Metadata$GreenPrimaryY": "HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate.", - "Hdr10Metadata$MaxContentLightLevel": "Maximum light level among all samples in the coded video sequence, in units of candelas per square meter.", - "Hdr10Metadata$MaxFrameAverageLightLevel": "Maximum average light level of any frame in the coded video sequence, in units of candelas per square meter.", - "Hdr10Metadata$MaxLuminance": "Nominal maximum mastering display luminance in units of of 0.0001 candelas per square meter.", - "Hdr10Metadata$MinLuminance": "Nominal minimum mastering display luminance in units of of 0.0001 candelas per square meter", - "Hdr10Metadata$RedPrimaryX": "HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate.", - "Hdr10Metadata$RedPrimaryY": "HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate.", - "Hdr10Metadata$WhitePointX": "HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate.", - "Hdr10Metadata$WhitePointY": "HDR Master Display Information comes from the color grader and the color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate.", - "HlsCaptionLanguageMapping$CaptionChannel": "Caption channel.", - "HlsGroupSettings$MinSegmentLength": "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.", - "HlsGroupSettings$ProgramDateTimePeriod": "Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.", "HlsGroupSettings$SegmentLength": "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.", "HlsGroupSettings$SegmentsPerSubdirectory": "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.", - "HlsGroupSettings$TimedMetadataId3Period": "Timed Metadata interval in seconds.", - "HlsGroupSettings$TimestampDeltaMilliseconds": "Provides an extra millisecond delta offset to fine tune the timestamps.", - "Input$FilterStrength": "Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0.", "Input$ProgramNumber": "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.", - "InputTemplate$FilterStrength": "Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0.", "InputTemplate$ProgramNumber": "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.", + "Mpeg2Settings$ParDenominator": "Pixel Aspect Ratio denominator.", + "Mpeg2Settings$ParNumerator": "Pixel Aspect Ratio numerator.", + "MsSmoothGroupSettings$FragmentLength": "Use Fragment length (FragmentLength) to specify the mp4 fragment sizes in seconds. Fragment length must be compatible with GOP size and framerate.", + "ProresSettings$FramerateDenominator": "Framerate denominator.", + "ProresSettings$FramerateNumerator": "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.", + "ProresSettings$ParDenominator": "Pixel Aspect Ratio denominator.", + "ProresSettings$ParNumerator": "Pixel Aspect Ratio numerator.", + "VideoSelector$Pid": "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.", + "__listOf__integerMin1Max2147483647$member": null + } + }, + "__integerMin1Max31": { + "base": null, + "refs": { + "Ac3Settings$Dialnorm": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital, dialnorm will be passed through.", + "Eac3Settings$Dialnorm": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through." + } + }, + "__integerMin1Max32": { + "base": null, + "refs": { + "H264Settings$Slices": "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.", + "H265Settings$Slices": "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." + } + }, + "__integerMin1Max4": { + "base": null, + "refs": { + "AncillarySourceSettings$SourceAncillaryChannelNumber": "Specifies the 608 channel number in the ancillary data track from which to extract captions. Unused for passthrough.", + "EmbeddedSourceSettings$Source608ChannelNumber": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough." + } + }, + "__integerMin1Max6": { + "base": null, + "refs": { + "H264Settings$NumberReferenceFrames": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding.", + "H265Settings$NumberReferenceFrames": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding." + } + }, + "__integerMin1Max8": { + "base": null, + "refs": { + "RemixSettings$ChannelsOut": "Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8", + "WavSettings$Channels": "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." + } + }, + "__integerMin24Max60000": { + "base": null, + "refs": { + "Mpeg2Settings$FramerateNumerator": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps." + } + }, + "__integerMin25Max10000": { + "base": null, + "refs": { + "DvbNitSettings$NitInterval": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "__integerMin25Max2000": { + "base": null, + "refs": { + "DvbSdtSettings$SdtInterval": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "__integerMin32000Max384000": { + "base": null, + "refs": { + "Mp2Settings$Bitrate": "Average bitrate in bits/second." + } + }, + "__integerMin32000Max48000": { + "base": null, + "refs": { + "Mp2Settings$SampleRate": "Sample rate in hz." + } + }, + "__integerMin32Max2160": { + "base": null, + "refs": { + "VideoDescription$Height": "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." + } + }, + "__integerMin32Max4096": { + "base": null, + "refs": { + "VideoDescription$Width": "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." + } + }, + "__integerMin32Max8182": { + "base": null, + "refs": { + "M2tsSettings$DvbTeletextPid": "Packet Identifier (PID) for input source DVB Teletext data to this output.", + "M2tsSettings$PcrPid": "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.", + "M2tsSettings$PmtPid": "Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream.", + "M2tsSettings$PrivateMetadataPid": "Packet Identifier (PID) of the private metadata stream in the transport stream.", + "M2tsSettings$Scte35Pid": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream.", + "M2tsSettings$TimedMetadataPid": "Packet Identifier (PID) of the timed metadata stream in the transport stream.", + "M2tsSettings$VideoPid": "Packet Identifier (PID) of the elementary video stream in the transport stream.", + "M3u8Settings$PcrPid": "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.", + "M3u8Settings$PmtPid": "Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream.", + "M3u8Settings$PrivateMetadataPid": "Packet Identifier (PID) of the private metadata stream in the transport stream.", + "M3u8Settings$Scte35Pid": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream.", + "M3u8Settings$TimedMetadataPid": "Packet Identifier (PID) of the timed metadata stream in the transport stream.", + "M3u8Settings$VideoPid": "Packet Identifier (PID) of the elementary video stream in the transport stream.", + "__listOf__integerMin32Max8182$member": null + } + }, + "__integerMin48000Max48000": { + "base": null, + "refs": { + "Ac3Settings$SampleRate": "Sample rate in hz. Sample rate is always 48000.", + "Eac3Settings$SampleRate": "Sample rate in hz. Sample rate is always 48000." + } + }, + "__integerMin6000Max1024000": { + "base": null, + "refs": { + "AacSettings$Bitrate": "Average bitrate in bits/second. Defaults and valid values depend on rate control mode and profile." + } + }, + "__integerMin64000Max640000": { + "base": null, + "refs": { + "Ac3Settings$Bitrate": "Average bitrate in bits/second. Valid bitrates depend on the coding mode.", + "Eac3Settings$Bitrate": "Average bitrate in bits/second. Valid bitrates depend on the coding mode." + } + }, + "__integerMin8000Max192000": { + "base": null, + "refs": { + "AiffSettings$SampleRate": "Sample rate in hz.", + "WavSettings$SampleRate": "Sample rate in Hz." + } + }, + "__integerMin8000Max96000": { + "base": null, + "refs": { + "AacSettings$SampleRate": "Sample rate in Hz. Valid values depend on rate control mode and profile." + } + }, + "__integerMin96Max600": { + "base": null, + "refs": { + "BurninDestinationSettings$FontResolution": "Font resolution in DPI (dots per inch); default is 96 dpi.\nAll burn-in and DVB-Sub font settings must match.", + "DvbSubDestinationSettings$FontResolution": "Font resolution in DPI (dots per inch); default is 96 dpi.\nAll burn-in and DVB-Sub font settings must match." + } + }, + "__integerMinNegative1000Max1000": { + "base": null, + "refs": { + "JobSettings$AdAvailOffset": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time.", + "JobTemplateSettings$AdAvailOffset": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time." + } + }, + "__integerMinNegative180Max180": { + "base": null, + "refs": { + "ColorCorrector$Hue": "Hue in degrees." + } + }, + "__integerMinNegative2147483648Max2147483647": { + "base": null, + "refs": { + "AudioSelector$Offset": "Specifies a time delta in milliseconds to offset the audio from the input video.", + "BurninDestinationSettings$ShadowXOffset": "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.", + "BurninDestinationSettings$ShadowYOffset": "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.", + "DvbSubDestinationSettings$ShadowXOffset": "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.", + "DvbSubDestinationSettings$ShadowYOffset": "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.", + "FileSourceSettings$TimeDelta": "Specifies a time delta in seconds to offset the captions from the source file.", + "HlsCaptionLanguageMapping$CaptionChannel": "Caption channel.", + "HlsGroupSettings$TimedMetadataId3Period": "Timed Metadata interval in seconds.", + "HlsGroupSettings$TimestampDeltaMilliseconds": "Provides an extra millisecond delta offset to fine tune the timestamps.", "InsertableImage$Duration": "Use Duration (Duration) to set the time, in milliseconds, for the image to remain on the output video.", "InsertableImage$FadeIn": "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.", "InsertableImage$FadeOut": "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.", "InsertableImage$Height": "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.", "InsertableImage$ImageX": "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.", "InsertableImage$ImageY": "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.", - "InsertableImage$Layer": "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.", - "InsertableImage$Opacity": "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.", "InsertableImage$Width": "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.", - "Job$ErrorCode": "Error code for the job", - "JobSettings$AdAvailOffset": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time.", - "JobTemplateSettings$AdAvailOffset": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time.", - "ListJobTemplatesRequest$MaxResults": "Optional. Number of job templates, up to twenty, that will be returned at one time.", - "ListJobsRequest$MaxResults": "Optional. Number of jobs, up to twenty, that will be returned at one time.", - "ListOf__integer$member": null, - "ListPresetsRequest$MaxResults": "Optional. Number of presets, up to twenty, that will be returned at one time", - "ListQueuesRequest$MaxResults": "Optional. Number of queues, up to twenty, that will be returned at one time.", - "M2tsSettings$AudioFramesPerPes": "The number of audio frames to insert for each PES packet.", - "M2tsSettings$Bitrate": "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.", - "M2tsSettings$DvbTeletextPid": "Packet Identifier (PID) for input source DVB Teletext data to this output. Can be entered as a decimal or hexadecimal value.", - "M2tsSettings$MaxPcrInterval": "Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream.", - "M2tsSettings$MinEbpInterval": "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.", - "M2tsSettings$PatInterval": "The number of milliseconds between instances of this table in the output transport stream.", - "M2tsSettings$PcrPid": "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.", - "M2tsSettings$PmtInterval": "The number of milliseconds between instances of this table in the output transport stream.", - "M2tsSettings$PmtPid": "Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value.", - "M2tsSettings$PrivateMetadataPid": "Packet Identifier (PID) of the private metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value.", - "M2tsSettings$ProgramNumber": "The value of the program number field in the Program Map Table.", - "M2tsSettings$Scte35Pid": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value.", - "M2tsSettings$TransportStreamId": "The value of the transport stream ID field in the Program Map Table.", - "M2tsSettings$VideoPid": "Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value.", - "M3u8Settings$AudioFramesPerPes": "The number of audio frames to insert for each PES packet.", - "M3u8Settings$PatInterval": "The number of milliseconds between instances of this table in the output transport stream.", - "M3u8Settings$PcrPid": "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.", - "M3u8Settings$PmtInterval": "The number of milliseconds between instances of this table in the output transport stream.", - "M3u8Settings$PmtPid": "Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value.", - "M3u8Settings$PrivateMetadataPid": "Packet Identifier (PID) of the private metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value.", - "M3u8Settings$ProgramNumber": "The value of the program number field in the Program Map Table.", - "M3u8Settings$Scte35Pid": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value.", - "M3u8Settings$TimedMetadataPid": "Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value.", - "M3u8Settings$TransportStreamId": "The value of the transport stream ID field in the Program Map Table.", - "M3u8Settings$VideoPid": "Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value.", - "Mp2Settings$Bitrate": "Average bitrate in bits/second.", - "Mp2Settings$Channels": "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.", - "Mp2Settings$SampleRate": "Sample rate in hz.", - "Mpeg2Settings$Bitrate": "Average bitrate in bits/second. Required for VBR, CBR, and ABR. Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000.", - "Mpeg2Settings$FramerateDenominator": "Framerate denominator.", - "Mpeg2Settings$FramerateNumerator": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.", - "Mpeg2Settings$GopClosedCadence": "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.", - "Mpeg2Settings$HrdBufferInitialFillPercentage": "Percentage of the buffer that should initially be filled (HRD buffer model).", - "Mpeg2Settings$HrdBufferSize": "Size of buffer (HRD buffer model). Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m.", - "Mpeg2Settings$MaxBitrate": "Maximum bitrate in bits/second (for VBR mode only). Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m.", - "Mpeg2Settings$MinIInterval": "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", - "Mpeg2Settings$NumberBFramesBetweenReferenceFrames": "Number of B-frames between reference frames.", - "Mpeg2Settings$ParDenominator": "Pixel Aspect Ratio denominator.", - "Mpeg2Settings$ParNumerator": "Pixel Aspect Ratio numerator.", - "Mpeg2Settings$Softness": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image.", - "MsSmoothGroupSettings$FragmentLength": "Use Fragment length (FragmentLength) to specify the mp4 fragment sizes in seconds. Fragment length must be compatible with GOP size and framerate.", - "NielsenConfiguration$BreakoutCode": "Use Nielsen Configuration (NielsenConfiguration) to set the Nielsen measurement system breakout code. Supported values are 0, 3, 7, and 9.", - "NoiseReducerFilterSettings$Strength": "Relative strength of noise reducing filter. Higher values produce stronger filtering.", - "NoiseReducerSpatialFilterSettings$PostFilterSharpenStrength": "Specify strength of post noise reduction sharpening filter, with 0 disabling the filter and 3 enabling it at maximum strength.", - "NoiseReducerSpatialFilterSettings$Speed": "The speed of the filter, from -2 (lower speed) to 3 (higher speed), with 0 being the nominal value.", - "NoiseReducerSpatialFilterSettings$Strength": "Relative strength of noise reducing filter. Higher values produce stronger filtering.", - "OutputDetail$DurationInMs": "Duration in milliseconds", - "ProresSettings$FramerateDenominator": "Framerate denominator.", - "ProresSettings$FramerateNumerator": "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.", - "ProresSettings$ParDenominator": "Pixel Aspect Ratio denominator.", - "ProresSettings$ParNumerator": "Pixel Aspect Ratio numerator.", "Rectangle$Height": "Height of rectangle in pixels.", "Rectangle$Width": "Width of rectangle in pixels.", "Rectangle$X": "The distance, in pixels, between the rectangle and the left edge of the video frame.", "Rectangle$Y": "The distance, in pixels, between the rectangle and the top edge of the video frame.", - "RemixSettings$ChannelsIn": "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.", - "RemixSettings$ChannelsOut": "Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8", - "TimecodeBurnin$FontSize": "Use Font Size (FontSize) to set the font size of any burned-in timecode. Valid values are 10, 16, 32, 48.", - "VideoDescription$FixedAfd": "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.", - "VideoDescription$Height": "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.", - "VideoDescription$Sharpness": "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.", - "VideoDescription$Width": "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.", - "VideoDetail$HeightInPx": "Height in pixels for the output", - "VideoDetail$WidthInPx": "Width in pixels for the output", - "VideoSelector$Pid": "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.", - "VideoSelector$ProgramNumber": "Selects a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported.", - "WavSettings$BitDepth": "Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track.", - "WavSettings$Channels": "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.", - "WavSettings$SampleRate": "Sample rate in Hz." + "VideoSelector$ProgramNumber": "Selects a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported." + } + }, + "__integerMinNegative2Max3": { + "base": null, + "refs": { + "NoiseReducerSpatialFilterSettings$Speed": "The speed of the filter, from -2 (lower speed) to 3 (higher speed), with 0 being the nominal value." + } + }, + "__integerMinNegative5Max5": { + "base": null, + "refs": { + "Input$FilterStrength": "Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0.", + "InputTemplate$FilterStrength": "Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0." + } + }, + "__integerMinNegative60Max6": { + "base": null, + "refs": { + "__listOf__integerMinNegative60Max6$member": null + } + }, + "__integerMinNegative70Max0": { + "base": null, + "refs": { + "AudioNormalizationSettings$CorrectionGateLevel": "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." + } + }, + "__listOfAudioDescription": { + "base": null, + "refs": { + "Output$AudioDescriptions": "(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.", + "PresetSettings$AudioDescriptions": "(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." + } + }, + "__listOfCaptionDescription": { + "base": null, + "refs": { + "Output$CaptionDescriptions": "(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." + } + }, + "__listOfCaptionDescriptionPreset": { + "base": null, + "refs": { + "PresetSettings$CaptionDescriptions": "Caption settings for this preset. There can be multiple caption settings in a single output." + } + }, + "__listOfEndpoint": { + "base": null, + "refs": { + "DescribeEndpointsResponse$Endpoints": "List of endpoints" + } + }, + "__listOfHlsAdMarkers": { + "base": null, + "refs": { + "HlsGroupSettings$AdMarkers": "Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs." + } + }, + "__listOfHlsCaptionLanguageMapping": { + "base": null, + "refs": { + "HlsGroupSettings$CaptionLanguageMappings": "Language to be used on Caption outputs" + } + }, + "__listOfId3Insertion": { + "base": null, + "refs": { + "TimedMetadataInsertion$Id3Insertions": "Id3Insertions contains the array of Id3Insertion instances." + } + }, + "__listOfInput": { + "base": null, + "refs": { + "JobSettings$Inputs": "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." + } + }, + "__listOfInputClipping": { + "base": null, + "refs": { + "Input$InputClippings": "(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.", + "InputTemplate$InputClippings": "(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." + } + }, + "__listOfInputTemplate": { + "base": null, + "refs": { + "JobTemplateSettings$Inputs": "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." + } + }, + "__listOfInsertableImage": { + "base": null, + "refs": { + "ImageInserter$InsertableImages": "Image to insert. Must be 32 bit windows BMP, PNG, or TGA file. Must not be larger than the output frames." + } + }, + "__listOfJob": { + "base": null, + "refs": { + "ListJobsResponse$Jobs": "List of jobs" + } + }, + "__listOfJobTemplate": { + "base": null, + "refs": { + "ListJobTemplatesResponse$JobTemplates": "List of Job templates." + } + }, + "__listOfOutput": { + "base": null, + "refs": { + "OutputGroup$Outputs": "This object holds groups of encoding settings, one group of settings per output." + } + }, + "__listOfOutputChannelMapping": { + "base": null, + "refs": { + "ChannelMapping$OutputChannels": "List of output channels" + } + }, + "__listOfOutputDetail": { + "base": null, + "refs": { + "OutputGroupDetail$OutputDetails": "Details about the output" + } + }, + "__listOfOutputGroup": { + "base": null, + "refs": { + "JobSettings$OutputGroups": "(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", + "JobTemplateSettings$OutputGroups": "(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" + } + }, + "__listOfOutputGroupDetail": { + "base": null, + "refs": { + "Job$OutputGroupDetails": "List of output group details" + } + }, + "__listOfPreset": { + "base": null, + "refs": { + "ListPresetsResponse$Presets": "List of presets" + } + }, + "__listOfQueue": { + "base": null, + "refs": { + "ListQueuesResponse$Queues": "List of queues" + } + }, + "__listOf__integerMin1Max2147483647": { + "base": null, + "refs": { + "AudioSelector$Pids": "Selects a specific PID from within an audio source (e.g. 257 selects PID 0x101).", + "AudioSelector$Tracks": "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]." + } + }, + "__listOf__integerMin32Max8182": { + "base": null, + "refs": { + "M2tsSettings$AudioPids": "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.", + "M2tsSettings$DvbSubPids": "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.", + "M3u8Settings$AudioPids": "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." + } + }, + "__listOf__integerMinNegative60Max6": { + "base": null, + "refs": { + "OutputChannelMapping$InputChannels": "List of input channels" + } + }, + "__listOf__string": { + "base": null, + "refs": { + "UntagResourceRequest$TagKeys": "The keys of the tags that you want to remove from the resource." + } + }, + "__listOf__stringMin1": { + "base": null, + "refs": { + "AudioSelectorGroup$AudioSelectorNames": "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." + } + }, + "__listOf__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12": { + "base": null, + "refs": { + "SpekeKeyProvider$SystemIds": "Relates to SPEKE implementation. DRM system identifiers. DASH output groups support a max of two system ids. Other group types support one system id." + } + }, + "__mapOfAudioSelector": { + "base": null, + "refs": { + "Input$AudioSelectors": "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.", + "InputTemplate$AudioSelectors": "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." + } + }, + "__mapOfAudioSelectorGroup": { + "base": null, + "refs": { + "Input$AudioSelectorGroups": "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.", + "InputTemplate$AudioSelectorGroups": "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." + } + }, + "__mapOfCaptionSelector": { + "base": null, + "refs": { + "Input$CaptionSelectors": "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.", + "InputTemplate$CaptionSelectors": "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." + } + }, + "__mapOf__string": { + "base": null, + "refs": { + "CreateJobRequest$UserMetadata": "User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs.", + "CreateJobTemplateRequest$Tags": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key.", + "CreatePresetRequest$Tags": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key.", + "CreateQueueRequest$Tags": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key.", + "Job$UserMetadata": "User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs.", + "ResourceTags$Tags": "The tags for the resource.", + "TagResourceRequest$Tags": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key." } }, "__string": { "base": null, "refs": { "AudioDescription$AudioSourceName": "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.", - "AudioDescription$StreamName": "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.", - "AudioSelector$ExternalAudioFileInput": "Specifies audio data from an external file source. Auto populated when Infer External Filename is checked", - "AvailBlanking$AvailBlankingImage": "Blanking image to be used. Leave empty for solid black. Only bmp and png images are supported.", "CancelJobRequest$Id": "The Job ID of the job to be cancelled.", - "CaptionDescription$CaptionSelectorName": "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.", "CaptionDescription$LanguageDescription": "Human readable information to indicate captions available for players (eg. English, or Spanish). Alphanumeric characters, spaces, and underscore are legal.", "CaptionDescriptionPreset$LanguageDescription": "Human readable information to indicate captions available for players (eg. English, or Spanish). Alphanumeric characters, spaces, and underscore are legal.", + "CmafGroupSettings$BaseUrl": "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.", "CreateJobRequest$ClientRequestToken": "Idempotency token for CreateJob operation.", "CreateJobRequest$JobTemplate": "When you create a job, you can either specify a job template or specify the transcoding settings individually", "CreateJobRequest$Queue": "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.", @@ -2446,37 +2954,22 @@ "CreateQueueRequest$Description": "Optional. A description of the queue you are creating.", "CreateQueueRequest$Name": "The name of the queue you are creating.", "DashIsoGroupSettings$BaseUrl": "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.", - "DashIsoGroupSettings$Destination": "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.", "DeleteJobTemplateRequest$Name": "The name of the job template to be deleted.", "DeletePresetRequest$Name": "The name of the preset to be deleted.", "DeleteQueueRequest$Name": "The name of the queue to be deleted.", "DescribeEndpointsRequest$NextToken": "Use this string, provided with the response to a previous request, to request the next batch of endpoints.", "DescribeEndpointsResponse$NextToken": "Use this string to request the next batch of endpoints.", - "DvbNitSettings$NetworkName": "The network name text placed in the network_name_descriptor inside the Network Information Table. Maximum length is 256 characters.", - "DvbSdtSettings$ServiceName": "The service name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters.", - "DvbSdtSettings$ServiceProviderName": "The service provider name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters.", "Endpoint$Url": "URL of endpoint", "ExceptionBody$Message": null, - "FileGroupSettings$Destination": "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.", - "FileSourceSettings$SourceFile": "External caption file used for loading captions. Accepted file extensions are 'scc', 'ttml', 'dfxp', 'stl', 'srt', and 'smi'. Auto-populated when Infer External Filename is checked.", "GetJobRequest$Id": "the job ID of the job.", "GetJobTemplateRequest$Name": "The name of the job template.", "GetPresetRequest$Name": "The name of the preset.", "GetQueueRequest$Name": "The name of the queue.", "HlsCaptionLanguageMapping$LanguageDescription": "Caption language description.", - "HlsEncryptionSettings$ConstantInitializationVector": "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.", "HlsGroupSettings$BaseUrl": "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.", - "HlsGroupSettings$Destination": "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.", "HlsSettings$AudioGroupId": "Specifies the group to which the audio Rendition belongs.", "HlsSettings$AudioRenditionSets": "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 ','.", "HlsSettings$SegmentModifier": "String concatenated to end of segment filenames. Accepts \"Format Identifiers\":#format_identifier_parameters.", - "Id3Insertion$Id3": "Use ID3 tag (Id3) to provide a tag value in base64-encode format.", - "Id3Insertion$Timecode": "Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.", - "Input$FileInput": "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.", - "InputClipping$EndTimecode": "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. 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:00:05:00.", - "InputClipping$StartTimecode": "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. 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:00:05:00.", - "InsertableImage$ImageInserterInput": "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.", - "InsertableImage$StartTime": "Use Start time (StartTime) to specify the video timecode when the image is inserted in the output. This must be in timecode format (HH:MM:SS:FF)", "Job$Arn": "An identifier for this resource that is unique within all of AWS.", "Job$ErrorMessage": "Error message of Job", "Job$Id": "A portion of the job's ARN, unique within your AWS Elemental MediaConvert resources", @@ -2494,19 +2987,15 @@ "ListJobsRequest$NextToken": "Use this string, provided with the response to a previous request, to request the next batch of jobs.", "ListJobsRequest$Queue": "Provide a queue name to get back only jobs from that queue.", "ListJobsResponse$NextToken": "Use this string to request the next batch of jobs.", - "ListOf__string$member": null, "ListPresetsRequest$Category": "Optionally, specify a preset category to limit responses to only presets from that category.", "ListPresetsRequest$NextToken": "Use this string, provided with the response to a previous request, to request the next batch of presets.", "ListPresetsResponse$NextToken": "Use this string to request the next batch of presets.", "ListQueuesRequest$NextToken": "Use this string, provided with the response to a previous request, to request the next batch of queues.", "ListQueuesResponse$NextToken": "Use this string to request the next batch of queues.", - "MapOf__string$member": null, + "ListTagsForResourceRequest$Arn": "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.", "Mp4Settings$Mp4MajorBrand": "Overrides the \"Major Brand\" field in the output file. Usually not necessary to specify.", - "MsSmoothGroupSettings$Destination": "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.", "NielsenConfiguration$DistributorId": "Use Distributor ID (DistributorID) to specify the distributor ID that is assigned to your organization by Neilsen.", "Output$Extension": "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)", - "Output$NameModifier": "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 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.", - "Output$Preset": "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.", "OutputGroup$CustomName": "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.", "OutputGroup$Name": "Name of the output group", "Preset$Arn": "An identifier for this resource that is unique within all of AWS.", @@ -2516,18 +3005,11 @@ "Queue$Arn": "An identifier for this resource that is unique within all of AWS.", "Queue$Description": "An optional description you create for each queue.", "Queue$Name": "A name you create for each queue. Each name must be unique within your account.", + "ResourceTags$Arn": "The Amazon Resource Name (ARN) of the resource.", "SpekeKeyProvider$ResourceId": "The SPEKE-compliant server uses Resource ID (ResourceId) to identify content.", - "SpekeKeyProvider$Url": "Use URL (Url) to specify the SPEKE-compliant server that will provide keys for content.", - "StaticKeyProvider$KeyFormat": "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'.", - "StaticKeyProvider$KeyFormatVersions": "Relates to DRM implementation. Either a single positive integer version value or a slash delimited list of version values (1/2/3).", - "StaticKeyProvider$StaticKeyValue": "Relates to DRM implementation. Use a 32-character hexidecimal string to specify Key Value (StaticKeyValue).", "StaticKeyProvider$Url": "Relates to DRM implementation. The location of the license server used for protecting content.", - "TeletextDestinationSettings$PageNumber": "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.", - "TeletextSourceSettings$PageNumber": "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.", - "TimecodeBurnin$Prefix": "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.", - "TimecodeConfig$Anchor": "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 Timecode source (TimecodeSource). * If Timecode 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 Timecode source (TimecodeSource) is set to Start at 0 (zerobased) the first frame is 00:00:00:00. * If Timecode source (TimecodeSource) is set to Embedded (embedded), the first frame is the timecode value on the first input frame of the input.", - "TimecodeConfig$Start": "Only use when you set Timecode 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).", - "TimecodeConfig$TimestampOffset": "Only applies to outputs that support program-date-time stamp. Use Time stamp 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.", + "TagResourceRequest$Arn": "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.", + "UntagResourceRequest$Arn": "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.", "UpdateJobTemplateRequest$Category": "The new category for the job template, if you are changing it.", "UpdateJobTemplateRequest$Description": "The new description for the job template, if you are changing it.", "UpdateJobTemplateRequest$Name": "The name of the job template you are modifying", @@ -2536,10 +3018,169 @@ "UpdatePresetRequest$Description": "The new description for the preset, if you are changing it.", "UpdatePresetRequest$Name": "The name of the preset you are modifying.", "UpdateQueueRequest$Description": "The new description for the queue, if you are changing it.", - "UpdateQueueRequest$Name": "The name of the queue you are modifying." + "UpdateQueueRequest$Name": "The name of the queue you are modifying.", + "__listOf__string$member": null, + "__mapOf__string$member": null + } + }, + "__stringMin0": { + "base": null, + "refs": { + "Output$Preset": "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." + } + }, + "__stringMin1": { + "base": null, + "refs": { + "CaptionDescription$CaptionSelectorName": "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.", + "Output$NameModifier": "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.", + "__listOf__stringMin1$member": null + } + }, + "__stringMin14PatternS3BmpBMPPngPNG": { + "base": null, + "refs": { + "AvailBlanking$AvailBlankingImage": "Blanking image to be used. Leave empty for solid black. Only bmp and png images are supported." + } + }, + "__stringMin14PatternS3BmpBMPPngPNGTgaTGA": { + "base": null, + "refs": { + "InsertableImage$ImageInserterInput": "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." + } + }, + "__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTSmiSMI": { + "base": null, + "refs": { + "FileSourceSettings$SourceFile": "External caption file used for loading captions. Accepted file extensions are 'scc', 'ttml', 'dfxp', 'stl', 'srt', and 'smi'." + } + }, + "__stringMin1Max256": { + "base": null, + "refs": { + "DvbNitSettings$NetworkName": "The network name text placed in the network_name_descriptor inside the Network Information Table. Maximum length is 256 characters.", + "DvbSdtSettings$ServiceName": "The service name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters.", + "DvbSdtSettings$ServiceProviderName": "The service provider name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters." + } + }, + "__stringMin32Max32Pattern09aFAF32": { + "base": null, + "refs": { + "CmafEncryptionSettings$ConstantInitializationVector": "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.", + "HlsEncryptionSettings$ConstantInitializationVector": "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." + } + }, + "__stringMin3Max3Pattern1809aFAF09aEAE": { + "base": null, + "refs": { + "TeletextDestinationSettings$PageNumber": "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.", + "TeletextSourceSettings$PageNumber": "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." + } + }, + "__stringMin3Max3PatternAZaZ3": { + "base": null, + "refs": { + "AudioDescription$CustomLanguageCode": "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.", + "AudioSelector$CustomLanguageCode": "Selects a specific language code from within an audio source, using the ISO 639-2 or ISO 639-3 three-letter language code", + "CaptionDescription$CustomLanguageCode": "Indicates the language of the caption output track, using the ISO 639-2 or ISO 639-3 three-letter language code", + "CaptionDescriptionPreset$CustomLanguageCode": "Indicates the language of the caption output track, using the ISO 639-2 or ISO 639-3 three-letter language code", + "CaptionSelector$CustomLanguageCode": "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.", + "HlsCaptionLanguageMapping$CustomLanguageCode": "Specify the language for this caption channel, using the ISO 639-2 or ISO 639-3 three-letter language code" + } + }, + "__stringPattern": { + "base": null, + "refs": { + "TimecodeBurnin$Prefix": "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." + } + }, + "__stringPattern010920405090509092": { + "base": null, + "refs": { + "Id3Insertion$Timecode": "Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.", + "InputClipping$EndTimecode": "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.", + "InputClipping$StartTimecode": "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.", + "TimecodeConfig$Anchor": "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.", + "TimecodeConfig$Start": "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)." + } + }, + "__stringPattern01D20305D205D": { + "base": null, + "refs": { + "InsertableImage$StartTime": "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." + } + }, + "__stringPattern0940191020191209301": { + "base": null, + "refs": { + "TimecodeConfig$TimestampOffset": "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." + } + }, + "__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12": { + "base": null, + "refs": { + "__listOf__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12$member": null + } + }, + "__stringPatternAZaZ0902": { + "base": null, + "refs": { + "Id3Insertion$Id3": "Use ID3 tag (Id3) to provide a tag value in base64-encode format." + } + }, + "__stringPatternAZaZ0932": { + "base": null, + "refs": { + "StaticKeyProvider$StaticKeyValue": "Relates to DRM implementation. Use a 32-character hexidecimal string to specify Key Value (StaticKeyValue)." + } + }, + "__stringPatternDD": { + "base": null, + "refs": { + "StaticKeyProvider$KeyFormatVersions": "Relates to DRM implementation. Either a single positive integer version value or a slash delimited list of version values (1/2/3)." + } + }, + "__stringPatternHttps": { + "base": null, + "refs": { + "SpekeKeyProvider$Url": "Use URL (Url) to specify the SPEKE-compliant server that will provide keys for content." + } + }, + "__stringPatternIdentityAZaZ26AZaZ09163": { + "base": null, + "refs": { + "StaticKeyProvider$KeyFormat": "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'." + } + }, + "__stringPatternS3": { + "base": null, + "refs": { + "CmafGroupSettings$Destination": "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.", + "DashIsoGroupSettings$Destination": "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.", + "FileGroupSettings$Destination": "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.", + "HlsGroupSettings$Destination": "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.", + "MsSmoothGroupSettings$Destination": "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." + } + }, + "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MM": { + "base": null, + "refs": { + "Input$FileInput": "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." + } + }, + "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEE": { + "base": null, + "refs": { + "AudioSelector$ExternalAudioFileInput": "Specifies audio data from an external file source." + } + }, + "__stringPatternWS": { + "base": null, + "refs": { + "AudioDescription$StreamName": "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." } }, - "__timestamp": { + "__timestampUnix": { "base": null, "refs": { "Job$CreatedAt": "The time, in Unix epoch format in seconds, when the job got created.", diff --git a/models/apis/medialive/2017-10-14/api-2.json b/models/apis/medialive/2017-10-14/api-2.json index 91ca93cee42..f7e1aac2743 100644 --- a/models/apis/medialive/2017-10-14/api-2.json +++ b/models/apis/medialive/2017-10-14/api-2.json @@ -27,10 +27,10 @@ }, "errors": [ { - "shape": "UnprocessableEntityException" + "shape": "BadRequestException" }, { - "shape": "BadRequestException" + "shape": "UnprocessableEntityException" }, { "shape": "InternalServerErrorException" @@ -226,11 +226,54 @@ { "shape": "BadGatewayException" }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, + "DeleteReservation": { + "name": "DeleteReservation", + "http": { + "method": "DELETE", + "requestUri": "/prod/reservations/{reservationId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteReservationRequest" + }, + "output": { + "shape": "DeleteReservationResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, { "shape": "GatewayTimeoutException" }, { "shape": "TooManyRequestsException" + }, + { + "shape": "ConflictException" } ] }, @@ -345,6 +388,80 @@ } ] }, + "DescribeOffering": { + "name": "DescribeOffering", + "http": { + "method": "GET", + "requestUri": "/prod/offerings/{offeringId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeOfferingRequest" + }, + "output": { + "shape": "DescribeOfferingResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, + "DescribeReservation": { + "name": "DescribeReservation", + "http": { + "method": "GET", + "requestUri": "/prod/reservations/{reservationId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeReservationRequest" + }, + "output": { + "shape": "DescribeReservationResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, "ListChannels": { "name": "ListChannels", "http": { @@ -447,6 +564,114 @@ } ] }, + "ListOfferings": { + "name": "ListOfferings", + "http": { + "method": "GET", + "requestUri": "/prod/offerings", + "responseCode": 200 + }, + "input": { + "shape": "ListOfferingsRequest" + }, + "output": { + "shape": "ListOfferingsResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, + "ListReservations": { + "name": "ListReservations", + "http": { + "method": "GET", + "requestUri": "/prod/reservations", + "responseCode": 200 + }, + "input": { + "shape": "ListReservationsRequest" + }, + "output": { + "shape": "ListReservationsResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, + "PurchaseOffering": { + "name": "PurchaseOffering", + "http": { + "method": "POST", + "requestUri": "/prod/offerings/{offeringId}/purchase", + "responseCode": 201 + }, + "input": { + "shape": "PurchaseOfferingRequest" + }, + "output": { + "shape": "PurchaseOfferingResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + }, + { + "shape": "ConflictException" + } + ] + }, "StartChannel": { "name": "StartChannel", "http": { @@ -526,36 +751,147 @@ "shape": "ConflictException" } ] - } - }, - "shapes": { - "AacCodingMode": { - "type": "string", - "enum": [ - "AD_RECEIVER_MIX", - "CODING_MODE_1_0", - "CODING_MODE_1_1", - "CODING_MODE_2_0", - "CODING_MODE_5_1" - ] - }, - "AacInputType": { - "type": "string", - "enum": [ - "BROADCASTER_MIXED_AD", - "NORMAL" - ] }, - "AacProfile": { - "type": "string", - "enum": [ - "HEV1", - "HEV2", - "LC" + "UpdateChannel": { + "name": "UpdateChannel", + "http": { + "method": "PUT", + "requestUri": "/prod/channels/{channelId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateChannelRequest" + }, + "output": { + "shape": "UpdateChannelResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "ConflictException" + } ] }, - "AacRateControlMode": { - "type": "string", + "UpdateInput": { + "name": "UpdateInput", + "http": { + "method": "PUT", + "requestUri": "/prod/inputs/{inputId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateInputRequest" + }, + "output": { + "shape": "UpdateInputResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "ConflictException" + } + ] + }, + "UpdateInputSecurityGroup": { + "name": "UpdateInputSecurityGroup", + "http": { + "method": "PUT", + "requestUri": "/prod/inputSecurityGroups/{inputSecurityGroupId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateInputSecurityGroupRequest" + }, + "output": { + "shape": "UpdateInputSecurityGroupResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "ConflictException" + } + ] + } + }, + "shapes": { + "AacCodingMode": { + "type": "string", + "enum": [ + "AD_RECEIVER_MIX", + "CODING_MODE_1_0", + "CODING_MODE_1_1", + "CODING_MODE_2_0", + "CODING_MODE_5_1" + ] + }, + "AacInputType": { + "type": "string", + "enum": [ + "BROADCASTER_MIXED_AD", + "NORMAL" + ] + }, + "AacProfile": { + "type": "string", + "enum": [ + "HEV1", + "HEV2", + "LC" + ] + }, + "AacRateControlMode": { + "type": "string", "enum": [ "CBR", "VBR" @@ -684,7 +1020,7 @@ "locationName": "codingMode" }, "Dialnorm": { - "shape": "__integer", + "shape": "__integerMin1Max31", "locationName": "dialnorm" }, "DrcProfile": { @@ -735,10 +1071,13 @@ "locationName": "destination" }, "RolloverInterval": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "rolloverInterval" } - } + }, + "required": [ + "Destination" + ] }, "ArchiveOutputSettings": { "type": "structure", @@ -755,7 +1094,10 @@ "shape": "__string", "locationName": "nameModifier" } - } + }, + "required": [ + "ContainerSettings" + ] }, "AribDestinationSettings": { "type": "structure", @@ -771,14 +1113,18 @@ "type": "structure", "members": { "InputChannelLevels": { - "shape": "ListOfInputChannelLevel", + "shape": "__listOfInputChannelLevel", "locationName": "inputChannelLevels" }, "OutputChannel": { - "shape": "__integer", + "shape": "__integerMin0Max7", "locationName": "outputChannel" } - } + }, + "required": [ + "OutputChannel", + "InputChannelLevels" + ] }, "AudioCodecSettings": { "type": "structure", @@ -829,7 +1175,7 @@ "locationName": "codecSettings" }, "LanguageCode": { - "shape": "__string", + "shape": "__stringMin3Max3", "locationName": "languageCode" }, "LanguageCodeControl": { @@ -848,7 +1194,11 @@ "shape": "__string", "locationName": "streamName" } - } + }, + "required": [ + "AudioSelectorName", + "Name" + ] }, "AudioDescriptionAudioTypeControl": { "type": "string", @@ -875,7 +1225,10 @@ "shape": "AudioLanguageSelectionPolicy", "locationName": "languageSelectionPolicy" } - } + }, + "required": [ + "LanguageCode" + ] }, "AudioLanguageSelectionPolicy": { "type": "string", @@ -909,7 +1262,7 @@ "locationName": "algorithmControl" }, "TargetLkfs": { - "shape": "__double", + "shape": "__doubleMinNegative59Max0", "locationName": "targetLkfs" } } @@ -944,10 +1297,13 @@ "type": "structure", "members": { "Pid": { - "shape": "__integer", + "shape": "__integerMin0Max8191", "locationName": "pid" } - } + }, + "required": [ + "Pid" + ] }, "AudioSelector": { "type": "structure", @@ -960,7 +1316,10 @@ "shape": "AudioSelectorSettings", "locationName": "selectorSettings" } - } + }, + "required": [ + "Name" + ] }, "AudioSelectorSettings": { "type": "structure", @@ -984,6 +1343,13 @@ "VISUAL_IMPAIRED_COMMENTARY" ] }, + "AuthenticationScheme": { + "type": "string", + "enum": [ + "AKAMAI", + "COMMON" + ] + }, "AvailBlanking": { "type": "structure", "members": { @@ -1068,7 +1434,7 @@ "locationName": "networkEndBlackoutImage" }, "NetworkId": { - "shape": "__string", + "shape": "__stringMin34Max34", "locationName": "networkId" }, "State": { @@ -1119,7 +1485,7 @@ "locationName": "backgroundColor" }, "BackgroundOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "backgroundOpacity" }, "Font": { @@ -1131,11 +1497,11 @@ "locationName": "fontColor" }, "FontOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "fontOpacity" }, "FontResolution": { - "shape": "__integer", + "shape": "__integerMin96Max600", "locationName": "fontResolution" }, "FontSize": { @@ -1147,7 +1513,7 @@ "locationName": "outlineColor" }, "OutlineSize": { - "shape": "__integer", + "shape": "__integerMin0Max10", "locationName": "outlineSize" }, "ShadowColor": { @@ -1155,7 +1521,7 @@ "locationName": "shadowColor" }, "ShadowOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "shadowOpacity" }, "ShadowXOffset": { @@ -1171,11 +1537,11 @@ "locationName": "teletextGridControl" }, "XPosition": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "xPosition" }, "YPosition": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "yPosition" } } @@ -1240,7 +1606,11 @@ "shape": "__string", "locationName": "name" } - } + }, + "required": [ + "CaptionSelectorName", + "Name" + ] }, "CaptionDestinationSettings": { "type": "structure", @@ -1265,6 +1635,10 @@ "shape": "EmbeddedPlusScte20DestinationSettings", "locationName": "embeddedPlusScte20DestinationSettings" }, + "RtmpCaptionInfoDestinationSettings": { + "shape": "RtmpCaptionInfoDestinationSettings", + "locationName": "rtmpCaptionInfoDestinationSettings" + }, "Scte20PlusEmbeddedDestinationSettings": { "shape": "Scte20PlusEmbeddedDestinationSettings", "locationName": "scte20PlusEmbeddedDestinationSettings" @@ -1295,18 +1669,23 @@ "type": "structure", "members": { "CaptionChannel": { - "shape": "__integer", + "shape": "__integerMin1Max4", "locationName": "captionChannel" }, "LanguageCode": { - "shape": "__string", + "shape": "__stringMin3Max3", "locationName": "languageCode" }, "LanguageDescription": { - "shape": "__string", + "shape": "__stringMin1", "locationName": "languageDescription" } - } + }, + "required": [ + "LanguageCode", + "LanguageDescription", + "CaptionChannel" + ] }, "CaptionSelector": { "type": "structure", @@ -1323,7 +1702,10 @@ "shape": "CaptionSelectorSettings", "locationName": "selectorSettings" } - } + }, + "required": [ + "Name" + ] }, "CaptionSelectorSettings": { "type": "structure", @@ -1362,11 +1744,11 @@ "locationName": "arn" }, "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EgressEndpoints": { - "shape": "ListOfChannelEgressEndpoint", + "shape": "__listOfChannelEgressEndpoint", "locationName": "egressEndpoints" }, "EncoderSettings": { @@ -1378,9 +1760,17 @@ "locationName": "id" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel" + }, "Name": { "shape": "__string", "locationName": "name" @@ -1407,7 +1797,7 @@ "locationName": "message" }, "ValidationErrors": { - "shape": "ListOfValidationError", + "shape": "__listOfValidationError", "locationName": "validationErrors" } } @@ -1443,11 +1833,11 @@ "locationName": "arn" }, "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EgressEndpoints": { - "shape": "ListOfChannelEgressEndpoint", + "shape": "__listOfChannelEgressEndpoint", "locationName": "egressEndpoints" }, "Id": { @@ -1455,9 +1845,17 @@ "locationName": "id" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel" + }, "Name": { "shape": "__string", "locationName": "name" @@ -1493,7 +1891,7 @@ "type": "structure", "members": { "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EncoderSettings": { @@ -1501,9 +1899,17 @@ "locationName": "encoderSettings" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel" + }, "Name": { "shape": "__string", "locationName": "name" @@ -1515,7 +1921,8 @@ }, "Reserved": { "shape": "__string", - "locationName": "reserved" + "locationName": "reserved", + "deprecated": true }, "RoleArn": { "shape": "__string", @@ -1527,7 +1934,7 @@ "type": "structure", "members": { "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EncoderSettings": { @@ -1535,9 +1942,17 @@ "locationName": "encoderSettings" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel" + }, "Name": { "shape": "__string", "locationName": "name" @@ -1549,7 +1964,8 @@ }, "Reserved": { "shape": "__string", - "locationName": "reserved" + "locationName": "reserved", + "deprecated": true }, "RoleArn": { "shape": "__string", @@ -1579,11 +1995,11 @@ "type": "structure", "members": { "Destinations": { - "shape": "ListOfInputDestinationRequest", + "shape": "__listOfInputDestinationRequest", "locationName": "destinations" }, "InputSecurityGroups": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "inputSecurityGroups" }, "Name": { @@ -1596,7 +2012,7 @@ "idempotencyToken": true }, "Sources": { - "shape": "ListOfInputSourceRequest", + "shape": "__listOfInputSourceRequest", "locationName": "sources" }, "Type": { @@ -1609,11 +2025,11 @@ "type": "structure", "members": { "Destinations": { - "shape": "ListOfInputDestinationRequest", + "shape": "__listOfInputDestinationRequest", "locationName": "destinations" }, "InputSecurityGroups": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "inputSecurityGroups" }, "Name": { @@ -1626,7 +2042,7 @@ "idempotencyToken": true }, "Sources": { - "shape": "ListOfInputSourceRequest", + "shape": "__listOfInputSourceRequest", "locationName": "sources" }, "Type": { @@ -1657,7 +2073,7 @@ "type": "structure", "members": { "WhitelistRules": { - "shape": "ListOfInputWhitelistRuleCidr", + "shape": "__listOfInputWhitelistRuleCidr", "locationName": "whitelistRules" } } @@ -1701,11 +2117,11 @@ "locationName": "arn" }, "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EgressEndpoints": { - "shape": "ListOfChannelEgressEndpoint", + "shape": "__listOfChannelEgressEndpoint", "locationName": "egressEndpoints" }, "EncoderSettings": { @@ -1717,9 +2133,17 @@ "locationName": "id" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel" + }, "Name": { "shape": "__string", "locationName": "name" @@ -1774,6 +2198,92 @@ "members": { } }, + "DeleteReservationRequest": { + "type": "structure", + "members": { + "ReservationId": { + "shape": "__string", + "location": "uri", + "locationName": "reservationId" + } + }, + "required": [ + "ReservationId" + ] + }, + "DeleteReservationResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "Count": { + "shape": "__integer", + "locationName": "count" + }, + "CurrencyCode": { + "shape": "__string", + "locationName": "currencyCode" + }, + "Duration": { + "shape": "__integer", + "locationName": "duration" + }, + "DurationUnits": { + "shape": "OfferingDurationUnits", + "locationName": "durationUnits" + }, + "End": { + "shape": "__string", + "locationName": "end" + }, + "FixedPrice": { + "shape": "__double", + "locationName": "fixedPrice" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "OfferingDescription": { + "shape": "__string", + "locationName": "offeringDescription" + }, + "OfferingId": { + "shape": "__string", + "locationName": "offeringId" + }, + "OfferingType": { + "shape": "OfferingType", + "locationName": "offeringType" + }, + "Region": { + "shape": "__string", + "locationName": "region" + }, + "ReservationId": { + "shape": "__string", + "locationName": "reservationId" + }, + "ResourceSpecification": { + "shape": "ReservationResourceSpecification", + "locationName": "resourceSpecification" + }, + "Start": { + "shape": "__string", + "locationName": "start" + }, + "State": { + "shape": "ReservationState", + "locationName": "state" + }, + "UsagePrice": { + "shape": "__double", + "locationName": "usagePrice" + } + } + }, "DescribeChannelRequest": { "type": "structure", "members": { @@ -1795,11 +2305,11 @@ "locationName": "arn" }, "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EgressEndpoints": { - "shape": "ListOfChannelEgressEndpoint", + "shape": "__listOfChannelEgressEndpoint", "locationName": "egressEndpoints" }, "EncoderSettings": { @@ -1811,9 +2321,17 @@ "locationName": "id" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel" + }, "Name": { "shape": "__string", "locationName": "name" @@ -1853,11 +2371,11 @@ "locationName": "arn" }, "AttachedChannels": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "attachedChannels" }, "Destinations": { - "shape": "ListOfInputDestination", + "shape": "__listOfInputDestination", "locationName": "destinations" }, "Id": { @@ -1869,11 +2387,11 @@ "locationName": "name" }, "SecurityGroups": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "securityGroups" }, "Sources": { - "shape": "ListOfInputSource", + "shape": "__listOfInputSource", "locationName": "sources" }, "State": { @@ -1910,55 +2428,215 @@ "shape": "__string", "locationName": "id" }, + "Inputs": { + "shape": "__listOf__string", + "locationName": "inputs" + }, + "State": { + "shape": "InputSecurityGroupState", + "locationName": "state" + }, "WhitelistRules": { - "shape": "ListOfInputWhitelistRule", + "shape": "__listOfInputWhitelistRule", "locationName": "whitelistRules" } } }, - "DvbNitSettings": { + "DescribeOfferingRequest": { "type": "structure", "members": { - "NetworkId": { - "shape": "__integer", - "locationName": "networkId" - }, - "NetworkName": { + "OfferingId": { "shape": "__string", - "locationName": "networkName" - }, - "RepInterval": { - "shape": "__integer", - "locationName": "repInterval" + "location": "uri", + "locationName": "offeringId" } - } - }, - "DvbSdtOutputSdt": { - "type": "string", - "enum": [ - "SDT_FOLLOW", - "SDT_FOLLOW_IF_PRESENT", - "SDT_MANUAL", - "SDT_NONE" + }, + "required": [ + "OfferingId" ] }, - "DvbSdtSettings": { + "DescribeOfferingResponse": { "type": "structure", "members": { - "OutputSdt": { - "shape": "DvbSdtOutputSdt", - "locationName": "outputSdt" + "Arn": { + "shape": "__string", + "locationName": "arn" }, - "RepInterval": { + "CurrencyCode": { + "shape": "__string", + "locationName": "currencyCode" + }, + "Duration": { "shape": "__integer", - "locationName": "repInterval" + "locationName": "duration" }, - "ServiceName": { + "DurationUnits": { + "shape": "OfferingDurationUnits", + "locationName": "durationUnits" + }, + "FixedPrice": { + "shape": "__double", + "locationName": "fixedPrice" + }, + "OfferingDescription": { + "shape": "__string", + "locationName": "offeringDescription" + }, + "OfferingId": { + "shape": "__string", + "locationName": "offeringId" + }, + "OfferingType": { + "shape": "OfferingType", + "locationName": "offeringType" + }, + "Region": { + "shape": "__string", + "locationName": "region" + }, + "ResourceSpecification": { + "shape": "ReservationResourceSpecification", + "locationName": "resourceSpecification" + }, + "UsagePrice": { + "shape": "__double", + "locationName": "usagePrice" + } + } + }, + "DescribeReservationRequest": { + "type": "structure", + "members": { + "ReservationId": { + "shape": "__string", + "location": "uri", + "locationName": "reservationId" + } + }, + "required": [ + "ReservationId" + ] + }, + "DescribeReservationResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "Count": { + "shape": "__integer", + "locationName": "count" + }, + "CurrencyCode": { + "shape": "__string", + "locationName": "currencyCode" + }, + "Duration": { + "shape": "__integer", + "locationName": "duration" + }, + "DurationUnits": { + "shape": "OfferingDurationUnits", + "locationName": "durationUnits" + }, + "End": { + "shape": "__string", + "locationName": "end" + }, + "FixedPrice": { + "shape": "__double", + "locationName": "fixedPrice" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "OfferingDescription": { + "shape": "__string", + "locationName": "offeringDescription" + }, + "OfferingId": { "shape": "__string", + "locationName": "offeringId" + }, + "OfferingType": { + "shape": "OfferingType", + "locationName": "offeringType" + }, + "Region": { + "shape": "__string", + "locationName": "region" + }, + "ReservationId": { + "shape": "__string", + "locationName": "reservationId" + }, + "ResourceSpecification": { + "shape": "ReservationResourceSpecification", + "locationName": "resourceSpecification" + }, + "Start": { + "shape": "__string", + "locationName": "start" + }, + "State": { + "shape": "ReservationState", + "locationName": "state" + }, + "UsagePrice": { + "shape": "__double", + "locationName": "usagePrice" + } + } + }, + "DvbNitSettings": { + "type": "structure", + "members": { + "NetworkId": { + "shape": "__integerMin0Max65536", + "locationName": "networkId" + }, + "NetworkName": { + "shape": "__stringMin1Max256", + "locationName": "networkName" + }, + "RepInterval": { + "shape": "__integerMin25Max10000", + "locationName": "repInterval" + } + }, + "required": [ + "NetworkName", + "NetworkId" + ] + }, + "DvbSdtOutputSdt": { + "type": "string", + "enum": [ + "SDT_FOLLOW", + "SDT_FOLLOW_IF_PRESENT", + "SDT_MANUAL", + "SDT_NONE" + ] + }, + "DvbSdtSettings": { + "type": "structure", + "members": { + "OutputSdt": { + "shape": "DvbSdtOutputSdt", + "locationName": "outputSdt" + }, + "RepInterval": { + "shape": "__integerMin25Max2000", + "locationName": "repInterval" + }, + "ServiceName": { + "shape": "__stringMin1Max256", "locationName": "serviceName" }, "ServiceProviderName": { - "shape": "__string", + "shape": "__stringMin1Max256", "locationName": "serviceProviderName" } } @@ -2013,7 +2691,7 @@ "locationName": "backgroundColor" }, "BackgroundOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "backgroundOpacity" }, "Font": { @@ -2025,11 +2703,11 @@ "locationName": "fontColor" }, "FontOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "fontOpacity" }, "FontResolution": { - "shape": "__integer", + "shape": "__integerMin96Max600", "locationName": "fontResolution" }, "FontSize": { @@ -2041,7 +2719,7 @@ "locationName": "outlineColor" }, "OutlineSize": { - "shape": "__integer", + "shape": "__integerMin0Max10", "locationName": "outlineSize" }, "ShadowColor": { @@ -2049,7 +2727,7 @@ "locationName": "shadowColor" }, "ShadowOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "shadowOpacity" }, "ShadowXOffset": { @@ -2065,11 +2743,11 @@ "locationName": "teletextGridControl" }, "XPosition": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "xPosition" }, "YPosition": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "yPosition" } } @@ -2093,7 +2771,7 @@ "type": "structure", "members": { "Pid": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "pid" } } @@ -2102,7 +2780,7 @@ "type": "structure", "members": { "RepInterval": { - "shape": "__integer", + "shape": "__integerMin1000Max30000", "locationName": "repInterval" } } @@ -2220,7 +2898,7 @@ "locationName": "dcFilter" }, "Dialnorm": { - "shape": "__integer", + "shape": "__integerMin1Max31", "locationName": "dialnorm" }, "DrcLine": { @@ -2342,11 +3020,11 @@ "locationName": "scte20Detection" }, "Source608ChannelNumber": { - "shape": "__integer", + "shape": "__integerMin1Max4", "locationName": "source608ChannelNumber" }, "Source608TrackNumber": { - "shape": "__integer", + "shape": "__integerMin1Max5", "locationName": "source608TrackNumber" } } @@ -2360,7 +3038,7 @@ "type": "structure", "members": { "AudioDescriptions": { - "shape": "ListOfAudioDescription", + "shape": "__listOfAudioDescription", "locationName": "audioDescriptions" }, "AvailBlanking": { @@ -2376,7 +3054,7 @@ "locationName": "blackoutSlate" }, "CaptionDescriptions": { - "shape": "ListOfCaptionDescription", + "shape": "__listOfCaptionDescription", "locationName": "captionDescriptions" }, "GlobalConfiguration": { @@ -2384,7 +3062,7 @@ "locationName": "globalConfiguration" }, "OutputGroups": { - "shape": "ListOfOutputGroup", + "shape": "__listOfOutputGroup", "locationName": "outputGroups" }, "TimecodeConfig": { @@ -2392,10 +3070,16 @@ "locationName": "timecodeConfig" }, "VideoDescriptions": { - "shape": "ListOfVideoDescription", + "shape": "__listOfVideoDescription", "locationName": "videoDescriptions" } - } + }, + "required": [ + "VideoDescriptions", + "AudioDescriptions", + "OutputGroups", + "TimecodeConfig" + ] }, "FecOutputIncludeFec": { "type": "string", @@ -2408,7 +3092,7 @@ "type": "structure", "members": { "ColumnDepth": { - "shape": "__integer", + "shape": "__integerMin4Max20", "locationName": "columnDepth" }, "IncludeFec": { @@ -2416,7 +3100,7 @@ "locationName": "includeFec" }, "RowLength": { - "shape": "__integer", + "shape": "__integerMin1Max20", "locationName": "rowLength" } } @@ -2467,7 +3151,7 @@ "type": "structure", "members": { "InitialAudioGain": { - "shape": "__integer", + "shape": "__integerMinNegative60Max60", "locationName": "initialAudioGain" }, "InputEndAction": { @@ -2643,15 +3327,15 @@ "locationName": "afdSignaling" }, "Bitrate": { - "shape": "__integer", + "shape": "__integerMin1000", "locationName": "bitrate" }, "BufFillPct": { - "shape": "__integer", + "shape": "__integerMin0Max100", "locationName": "bufFillPct" }, "BufSize": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "bufSize" }, "ColorMetadata": { @@ -2687,15 +3371,15 @@ "locationName": "gopBReference" }, "GopClosedCadence": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "gopClosedCadence" }, "GopNumBFrames": { - "shape": "__integer", + "shape": "__integerMin0Max7", "locationName": "gopNumBFrames" }, "GopSize": { - "shape": "__double", + "shape": "__doubleMin1", "locationName": "gopSize" }, "GopSizeUnits": { @@ -2711,15 +3395,15 @@ "locationName": "lookAheadRateControl" }, "MaxBitrate": { - "shape": "__integer", + "shape": "__integerMin1000", "locationName": "maxBitrate" }, "MinIInterval": { - "shape": "__integer", + "shape": "__integerMin0Max30", "locationName": "minIInterval" }, "NumRefFrames": { - "shape": "__integer", + "shape": "__integerMin1Max6", "locationName": "numRefFrames" }, "ParControl": { @@ -2727,7 +3411,7 @@ "locationName": "parControl" }, "ParDenominator": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "parDenominator" }, "ParNumerator": { @@ -2751,11 +3435,11 @@ "locationName": "sceneChangeDetect" }, "Slices": { - "shape": "__integer", + "shape": "__integerMin1Max32", "locationName": "slices" }, "Softness": { - "shape": "__integer", + "shape": "__integerMin0Max128", "locationName": "softness" }, "SpatialAq": { @@ -2823,11 +3507,11 @@ "type": "structure", "members": { "ConnectionRetryInterval": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "connectionRetryInterval" }, "FilecacheDuration": { - "shape": "__integer", + "shape": "__integerMin0Max600", "locationName": "filecacheDuration" }, "HttpTransferMode": { @@ -2835,11 +3519,11 @@ "locationName": "httpTransferMode" }, "NumRetries": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "numRetries" }, "RestartDelay": { - "shape": "__integer", + "shape": "__integerMin0Max15", "locationName": "restartDelay" }, "Salt": { @@ -2856,19 +3540,19 @@ "type": "structure", "members": { "ConnectionRetryInterval": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "connectionRetryInterval" }, "FilecacheDuration": { - "shape": "__integer", + "shape": "__integerMin0Max600", "locationName": "filecacheDuration" }, "NumRetries": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "numRetries" }, "RestartDelay": { - "shape": "__integer", + "shape": "__integerMin0Max15", "locationName": "restartDelay" } } @@ -2934,7 +3618,7 @@ "type": "structure", "members": { "AdMarkers": { - "shape": "ListOfHlsAdMarkers", + "shape": "__listOfHlsAdMarkers", "locationName": "adMarkers" }, "BaseUrlContent": { @@ -2946,7 +3630,7 @@ "locationName": "baseUrlManifest" }, "CaptionLanguageMappings": { - "shape": "ListOfCaptionLanguageMapping", + "shape": "__listOfCaptionLanguageMapping", "locationName": "captionLanguageMappings" }, "CaptionLanguageSetting": { @@ -2962,7 +3646,7 @@ "locationName": "codecSpecification" }, "ConstantIv": { - "shape": "__string", + "shape": "__stringMin32Max32", "locationName": "constantIv" }, "Destination": { @@ -2982,7 +3666,7 @@ "locationName": "hlsCdnSettings" }, "IndexNSegments": { - "shape": "__integer", + "shape": "__integerMin3", "locationName": "indexNSegments" }, "InputLossAction": { @@ -2998,7 +3682,7 @@ "locationName": "ivSource" }, "KeepSegments": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "keepSegments" }, "KeyFormat": { @@ -3022,7 +3706,7 @@ "locationName": "manifestDurationFormat" }, "MinSegmentLength": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "minSegmentLength" }, "Mode": { @@ -3038,11 +3722,11 @@ "locationName": "programDateTime" }, "ProgramDateTimePeriod": { - "shape": "__integer", + "shape": "__integerMin0Max3600", "locationName": "programDateTimePeriod" }, "SegmentLength": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "segmentLength" }, "SegmentationMode": { @@ -3050,7 +3734,7 @@ "locationName": "segmentationMode" }, "SegmentsPerSubdirectory": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "segmentsPerSubdirectory" }, "StreamInfResolution": { @@ -3062,36 +3746,39 @@ "locationName": "timedMetadataId3Frame" }, "TimedMetadataId3Period": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "timedMetadataId3Period" }, "TimestampDeltaMilliseconds": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "timestampDeltaMilliseconds" }, "TsFileMode": { "shape": "HlsTsFileMode", "locationName": "tsFileMode" } - } + }, + "required": [ + "Destination" + ] }, "HlsInputSettings": { "type": "structure", "members": { "Bandwidth": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "bandwidth" }, "BufferSegments": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "bufferSegments" }, "Retries": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "retries" }, "RetryInterval": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "retryInterval" } } @@ -3128,11 +3815,11 @@ "type": "structure", "members": { "ConnectionRetryInterval": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "connectionRetryInterval" }, "FilecacheDuration": { - "shape": "__integer", + "shape": "__integerMin0Max600", "locationName": "filecacheDuration" }, "MediaStoreStorageClass": { @@ -3140,11 +3827,11 @@ "locationName": "mediaStoreStorageClass" }, "NumRetries": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "numRetries" }, "RestartDelay": { - "shape": "__integer", + "shape": "__integerMin0Max15", "locationName": "restartDelay" } } @@ -3177,14 +3864,17 @@ "locationName": "hlsSettings" }, "NameModifier": { - "shape": "__string", + "shape": "__stringMin1", "locationName": "nameModifier" }, "SegmentModifier": { "shape": "__string", "locationName": "segmentModifier" } - } + }, + "required": [ + "HlsSettings" + ] }, "HlsProgramDateTime": { "type": "string", @@ -3246,11 +3936,11 @@ "type": "structure", "members": { "ConnectionRetryInterval": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "connectionRetryInterval" }, "FilecacheDuration": { - "shape": "__integer", + "shape": "__integerMin0Max600", "locationName": "filecacheDuration" }, "HttpTransferMode": { @@ -3258,11 +3948,11 @@ "locationName": "httpTransferMode" }, "NumRetries": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "numRetries" }, "RestartDelay": { - "shape": "__integer", + "shape": "__integerMin0Max15", "locationName": "restartDelay" } } @@ -3275,11 +3965,11 @@ "locationName": "arn" }, "AttachedChannels": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "attachedChannels" }, "Destinations": { - "shape": "ListOfInputDestination", + "shape": "__listOfInputDestination", "locationName": "destinations" }, "Id": { @@ -3291,11 +3981,11 @@ "locationName": "name" }, "SecurityGroups": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "securityGroups" }, "Sources": { - "shape": "ListOfInputSource", + "shape": "__listOfInputSource", "locationName": "sources" }, "State": { @@ -3325,14 +4015,26 @@ "type": "structure", "members": { "Gain": { - "shape": "__integer", + "shape": "__integerMinNegative60Max6", "locationName": "gain" }, "InputChannel": { - "shape": "__integer", + "shape": "__integerMin0Max15", "locationName": "inputChannel" } - } + }, + "required": [ + "InputChannel", + "Gain" + ] + }, + "InputCodec": { + "type": "string", + "enum": [ + "MPEG2", + "AVC", + "HEVC" + ] }, "InputDeblockFilter": { "type": "string", @@ -3397,7 +4099,10 @@ "shape": "__string", "locationName": "username" } - } + }, + "required": [ + "Uri" + ] }, "InputLossActionForHlsOut": { "type": "string", @@ -3425,11 +4130,11 @@ "type": "structure", "members": { "BlackFrameMsec": { - "shape": "__integer", + "shape": "__integerMin0Max1000000", "locationName": "blackFrameMsec" }, "InputLossImageColor": { - "shape": "__string", + "shape": "__stringMin6Max6", "locationName": "inputLossImageColor" }, "InputLossImageSlate": { @@ -3441,7 +4146,7 @@ "locationName": "inputLossImageType" }, "RepeatFrameMsec": { - "shape": "__integer", + "shape": "__integerMin0Max1000000", "locationName": "repeatFrameMsec" } } @@ -3453,6 +4158,22 @@ "SLATE" ] }, + "InputMaximumBitrate": { + "type": "string", + "enum": [ + "MAX_10_MBPS", + "MAX_20_MBPS", + "MAX_50_MBPS" + ] + }, + "InputResolution": { + "type": "string", + "enum": [ + "SD", + "HD", + "UHD" + ] + }, "InputSecurityGroup": { "type": "structure", "members": { @@ -3464,17 +4185,34 @@ "shape": "__string", "locationName": "id" }, + "Inputs": { + "shape": "__listOf__string", + "locationName": "inputs" + }, + "State": { + "shape": "InputSecurityGroupState", + "locationName": "state" + }, "WhitelistRules": { - "shape": "ListOfInputWhitelistRule", + "shape": "__listOfInputWhitelistRule", "locationName": "whitelistRules" } } }, + "InputSecurityGroupState": { + "type": "string", + "enum": [ + "IDLE", + "IN_USE", + "UPDATING", + "DELETED" + ] + }, "InputSecurityGroupWhitelistRequest": { "type": "structure", "members": { "WhitelistRules": { - "shape": "ListOfInputWhitelistRuleCidr", + "shape": "__listOfInputWhitelistRuleCidr", "locationName": "whitelistRules" } } @@ -3483,11 +4221,11 @@ "type": "structure", "members": { "AudioSelectors": { - "shape": "ListOfAudioSelector", + "shape": "__listOfAudioSelector", "locationName": "audioSelectors" }, "CaptionSelectors": { - "shape": "ListOfCaptionSelector", + "shape": "__listOfCaptionSelector", "locationName": "captionSelectors" }, "DeblockFilter": { @@ -3499,7 +4237,7 @@ "locationName": "denoiseFilter" }, "FilterStrength": { - "shape": "__integer", + "shape": "__integerMin1Max5", "locationName": "filterStrength" }, "InputFilter": { @@ -3561,6 +4299,23 @@ } } }, + "InputSpecification": { + "type": "structure", + "members": { + "Codec": { + "shape": "InputCodec", + "locationName": "codec" + }, + "MaximumBitrate": { + "shape": "InputMaximumBitrate", + "locationName": "maximumBitrate" + }, + "Resolution": { + "shape": "InputResolution", + "locationName": "resolution" + } + } + }, "InputState": { "type": "string", "enum": [ @@ -3667,7 +4422,7 @@ "type": "structure", "members": { "Channels": { - "shape": "ListOfChannelSummary", + "shape": "__listOfChannelSummary", "locationName": "channels" }, "NextToken": { @@ -3680,7 +4435,7 @@ "type": "structure", "members": { "Channels": { - "shape": "ListOfChannelSummary", + "shape": "__listOfChannelSummary", "locationName": "channels" }, "NextToken": { @@ -3708,7 +4463,7 @@ "type": "structure", "members": { "InputSecurityGroups": { - "shape": "ListOfInputSecurityGroup", + "shape": "__listOfInputSecurityGroup", "locationName": "inputSecurityGroups" }, "NextToken": { @@ -3721,7 +4476,7 @@ "type": "structure", "members": { "InputSecurityGroups": { - "shape": "ListOfInputSecurityGroup", + "shape": "__listOfInputSecurityGroup", "locationName": "inputSecurityGroups" }, "NextToken": { @@ -3749,7 +4504,7 @@ "type": "structure", "members": { "Inputs": { - "shape": "ListOfInput", + "shape": "__listOfInput", "locationName": "inputs" }, "NextToken": { @@ -3762,7 +4517,7 @@ "type": "structure", "members": { "Inputs": { - "shape": "ListOfInput", + "shape": "__listOfInput", "locationName": "inputs" }, "NextToken": { @@ -3771,161 +4526,172 @@ } } }, - "ListOfAudioChannelMapping": { - "type": "list", - "member": { - "shape": "AudioChannelMapping" + "ListOfferingsRequest": { + "type": "structure", + "members": { + "ChannelConfiguration": { + "shape": "__string", + "location": "querystring", + "locationName": "channelConfiguration" + }, + "Codec": { + "shape": "__string", + "location": "querystring", + "locationName": "codec" + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "MaximumBitrate": { + "shape": "__string", + "location": "querystring", + "locationName": "maximumBitrate" + }, + "MaximumFramerate": { + "shape": "__string", + "location": "querystring", + "locationName": "maximumFramerate" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "Resolution": { + "shape": "__string", + "location": "querystring", + "locationName": "resolution" + }, + "ResourceType": { + "shape": "__string", + "location": "querystring", + "locationName": "resourceType" + }, + "SpecialFeature": { + "shape": "__string", + "location": "querystring", + "locationName": "specialFeature" + }, + "VideoQuality": { + "shape": "__string", + "location": "querystring", + "locationName": "videoQuality" + } } }, - "ListOfAudioDescription": { - "type": "list", - "member": { - "shape": "AudioDescription" - } - }, - "ListOfAudioSelector": { - "type": "list", - "member": { - "shape": "AudioSelector" - } - }, - "ListOfCaptionDescription": { - "type": "list", - "member": { - "shape": "CaptionDescription" - } - }, - "ListOfCaptionLanguageMapping": { - "type": "list", - "member": { - "shape": "CaptionLanguageMapping" - } - }, - "ListOfCaptionSelector": { - "type": "list", - "member": { - "shape": "CaptionSelector" - } - }, - "ListOfChannelEgressEndpoint": { - "type": "list", - "member": { - "shape": "ChannelEgressEndpoint" - } - }, - "ListOfChannelSummary": { - "type": "list", - "member": { - "shape": "ChannelSummary" - } - }, - "ListOfHlsAdMarkers": { - "type": "list", - "member": { - "shape": "HlsAdMarkers" - } - }, - "ListOfInput": { - "type": "list", - "member": { - "shape": "Input" - } - }, - "ListOfInputAttachment": { - "type": "list", - "member": { - "shape": "InputAttachment" - } - }, - "ListOfInputChannelLevel": { - "type": "list", - "member": { - "shape": "InputChannelLevel" - } - }, - "ListOfInputDestination": { - "type": "list", - "member": { - "shape": "InputDestination" - } - }, - "ListOfInputDestinationRequest": { - "type": "list", - "member": { - "shape": "InputDestinationRequest" - } - }, - "ListOfInputSecurityGroup": { - "type": "list", - "member": { - "shape": "InputSecurityGroup" - } - }, - "ListOfInputSource": { - "type": "list", - "member": { - "shape": "InputSource" - } - }, - "ListOfInputSourceRequest": { - "type": "list", - "member": { - "shape": "InputSourceRequest" - } - }, - "ListOfInputWhitelistRule": { - "type": "list", - "member": { - "shape": "InputWhitelistRule" - } - }, - "ListOfInputWhitelistRuleCidr": { - "type": "list", - "member": { - "shape": "InputWhitelistRuleCidr" - } - }, - "ListOfOutput": { - "type": "list", - "member": { - "shape": "Output" - } - }, - "ListOfOutputDestination": { - "type": "list", - "member": { - "shape": "OutputDestination" + "ListOfferingsResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + }, + "Offerings": { + "shape": "__listOfOffering", + "locationName": "offerings" + } } }, - "ListOfOutputDestinationSettings": { - "type": "list", - "member": { - "shape": "OutputDestinationSettings" + "ListOfferingsResultModel": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + }, + "Offerings": { + "shape": "__listOfOffering", + "locationName": "offerings" + } } }, - "ListOfOutputGroup": { - "type": "list", - "member": { - "shape": "OutputGroup" + "ListReservationsRequest": { + "type": "structure", + "members": { + "Codec": { + "shape": "__string", + "location": "querystring", + "locationName": "codec" + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "MaximumBitrate": { + "shape": "__string", + "location": "querystring", + "locationName": "maximumBitrate" + }, + "MaximumFramerate": { + "shape": "__string", + "location": "querystring", + "locationName": "maximumFramerate" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "Resolution": { + "shape": "__string", + "location": "querystring", + "locationName": "resolution" + }, + "ResourceType": { + "shape": "__string", + "location": "querystring", + "locationName": "resourceType" + }, + "SpecialFeature": { + "shape": "__string", + "location": "querystring", + "locationName": "specialFeature" + }, + "VideoQuality": { + "shape": "__string", + "location": "querystring", + "locationName": "videoQuality" + } } }, - "ListOfValidationError": { - "type": "list", - "member": { - "shape": "ValidationError" + "ListReservationsResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + }, + "Reservations": { + "shape": "__listOfReservation", + "locationName": "reservations" + } } }, - "ListOfVideoDescription": { - "type": "list", - "member": { - "shape": "VideoDescription" + "ListReservationsResultModel": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + }, + "Reservations": { + "shape": "__listOfReservation", + "locationName": "reservations" + } } }, - "ListOf__string": { - "type": "list", - "member": { - "shape": "__string" - } + "LogLevel": { + "type": "string", + "enum": [ + "ERROR", + "WARNING", + "INFO", + "DEBUG", + "DISABLED" + ] }, "M2tsAbsentInputAudioBehavior": { "type": "string", @@ -4074,7 +4840,7 @@ "locationName": "audioBufferModel" }, "AudioFramesPerPes": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "audioFramesPerPes" }, "AudioPids": { @@ -4086,7 +4852,7 @@ "locationName": "audioStreamType" }, "Bitrate": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "bitrate" }, "BufferModel": { @@ -4126,7 +4892,7 @@ "locationName": "ebpAudioInterval" }, "EbpLookaheadMs": { - "shape": "__integer", + "shape": "__integerMin0Max10000", "locationName": "ebpLookaheadMs" }, "EbpPlacement": { @@ -4150,7 +4916,7 @@ "locationName": "etvSignalPid" }, "FragmentTime": { - "shape": "__double", + "shape": "__doubleMin0", "locationName": "fragmentTime" }, "Klv": { @@ -4162,11 +4928,11 @@ "locationName": "klvDataPids" }, "NullPacketBitrate": { - "shape": "__double", + "shape": "__doubleMin0", "locationName": "nullPacketBitrate" }, "PatInterval": { - "shape": "__integer", + "shape": "__integerMin0Max1000", "locationName": "patInterval" }, "PcrControl": { @@ -4174,7 +4940,7 @@ "locationName": "pcrControl" }, "PcrPeriod": { - "shape": "__integer", + "shape": "__integerMin0Max500", "locationName": "pcrPeriod" }, "PcrPid": { @@ -4182,7 +4948,7 @@ "locationName": "pcrPid" }, "PmtInterval": { - "shape": "__integer", + "shape": "__integerMin0Max1000", "locationName": "pmtInterval" }, "PmtPid": { @@ -4190,7 +4956,7 @@ "locationName": "pmtPid" }, "ProgramNum": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "programNum" }, "RateMode": { @@ -4218,7 +4984,7 @@ "locationName": "segmentationStyle" }, "SegmentationTime": { - "shape": "__double", + "shape": "__doubleMin1", "locationName": "segmentationTime" }, "TimedMetadataBehavior": { @@ -4230,7 +4996,7 @@ "locationName": "timedMetadataPid" }, "TransportStreamId": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "transportStreamId" }, "VideoPid": { @@ -4264,7 +5030,7 @@ "type": "structure", "members": { "AudioFramesPerPes": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "audioFramesPerPes" }, "AudioPids": { @@ -4276,7 +5042,7 @@ "locationName": "ecmPid" }, "PatInterval": { - "shape": "__integer", + "shape": "__integerMin0Max1000", "locationName": "patInterval" }, "PcrControl": { @@ -4284,7 +5050,7 @@ "locationName": "pcrControl" }, "PcrPeriod": { - "shape": "__integer", + "shape": "__integerMin0Max500", "locationName": "pcrPeriod" }, "PcrPid": { @@ -4292,7 +5058,7 @@ "locationName": "pcrPid" }, "PmtInterval": { - "shape": "__integer", + "shape": "__integerMin0Max1000", "locationName": "pmtInterval" }, "PmtPid": { @@ -4300,7 +5066,7 @@ "locationName": "pmtPid" }, "ProgramNum": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "programNum" }, "Scte35Behavior": { @@ -4315,8 +5081,12 @@ "shape": "M3u8TimedMetadataBehavior", "locationName": "timedMetadataBehavior" }, + "TimedMetadataPid": { + "shape": "__string", + "locationName": "timedMetadataPid" + }, "TransportStreamId": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "transportStreamId" }, "VideoPid": { @@ -4377,7 +5147,7 @@ "locationName": "certificateMode" }, "ConnectionRetryInterval": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "connectionRetryInterval" }, "Destination": { @@ -4397,11 +5167,11 @@ "locationName": "eventStopBehavior" }, "FilecacheDuration": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "filecacheDuration" }, "FragmentLength": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "fragmentLength" }, "InputLossAction": { @@ -4409,11 +5179,11 @@ "locationName": "inputLossAction" }, "NumRetries": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "numRetries" }, "RestartDelay": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "restartDelay" }, "SegmentationMode": { @@ -4421,7 +5191,7 @@ "locationName": "segmentationMode" }, "SendDelayMs": { - "shape": "__integer", + "shape": "__integerMin0Max10000", "locationName": "sendDelayMs" }, "SparseTrackType": { @@ -4440,7 +5210,10 @@ "shape": "SmoothGroupTimestampOffsetMode", "locationName": "timestampOffsetMode" } - } + }, + "required": [ + "Destination" + ] }, "MsSmoothOutputSettings": { "type": "structure", @@ -4484,19 +5257,80 @@ "httpStatusCode": 404 } }, + "Offering": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "CurrencyCode": { + "shape": "__string", + "locationName": "currencyCode" + }, + "Duration": { + "shape": "__integer", + "locationName": "duration" + }, + "DurationUnits": { + "shape": "OfferingDurationUnits", + "locationName": "durationUnits" + }, + "FixedPrice": { + "shape": "__double", + "locationName": "fixedPrice" + }, + "OfferingDescription": { + "shape": "__string", + "locationName": "offeringDescription" + }, + "OfferingId": { + "shape": "__string", + "locationName": "offeringId" + }, + "OfferingType": { + "shape": "OfferingType", + "locationName": "offeringType" + }, + "Region": { + "shape": "__string", + "locationName": "region" + }, + "ResourceSpecification": { + "shape": "ReservationResourceSpecification", + "locationName": "resourceSpecification" + }, + "UsagePrice": { + "shape": "__double", + "locationName": "usagePrice" + } + } + }, + "OfferingDurationUnits": { + "type": "string", + "enum": [ + "MONTHS" + ] + }, + "OfferingType": { + "type": "string", + "enum": [ + "NO_UPFRONT" + ] + }, "Output": { "type": "structure", "members": { "AudioDescriptionNames": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "audioDescriptionNames" }, "CaptionDescriptionNames": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "captionDescriptionNames" }, "OutputName": { - "shape": "__string", + "shape": "__stringMin1Max255", "locationName": "outputName" }, "OutputSettings": { @@ -4507,7 +5341,10 @@ "shape": "__string", "locationName": "videoDescriptionName" } - } + }, + "required": [ + "OutputSettings" + ] }, "OutputDestination": { "type": "structure", @@ -4517,7 +5354,7 @@ "locationName": "id" }, "Settings": { - "shape": "ListOfOutputDestinationSettings", + "shape": "__listOfOutputDestinationSettings", "locationName": "settings" } } @@ -4529,6 +5366,10 @@ "shape": "__string", "locationName": "passwordParam" }, + "StreamName": { + "shape": "__string", + "locationName": "streamName" + }, "Url": { "shape": "__string", "locationName": "url" @@ -4543,7 +5384,7 @@ "type": "structure", "members": { "Name": { - "shape": "__string", + "shape": "__stringMax32", "locationName": "name" }, "OutputGroupSettings": { @@ -4551,10 +5392,14 @@ "locationName": "outputGroupSettings" }, "Outputs": { - "shape": "ListOfOutput", + "shape": "__listOfOutput", "locationName": "outputs" } - } + }, + "required": [ + "Outputs", + "OutputGroupSettings" + ] }, "OutputGroupSettings": { "type": "structure", @@ -4571,6 +5416,10 @@ "shape": "MsSmoothGroupSettings", "locationName": "msSmoothGroupSettings" }, + "RtmpGroupSettings": { + "shape": "RtmpGroupSettings", + "locationName": "rtmpGroupSettings" + }, "UdpGroupSettings": { "shape": "UdpGroupSettings", "locationName": "udpGroupSettings" @@ -4601,6 +5450,10 @@ "shape": "MsSmoothOutputSettings", "locationName": "msSmoothOutputSettings" }, + "RtmpOutputSettings": { + "shape": "RtmpOutputSettings", + "locationName": "rtmpOutputSettings" + }, "UdpOutputSettings": { "shape": "UdpOutputSettings", "locationName": "udpOutputSettings" @@ -4612,23 +5465,258 @@ "members": { } }, + "PurchaseOffering": { + "type": "structure", + "members": { + "Count": { + "shape": "__integerMin1", + "locationName": "count" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "idempotencyToken": true + } + } + }, + "PurchaseOfferingRequest": { + "type": "structure", + "members": { + "Count": { + "shape": "__integerMin1", + "locationName": "count" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "OfferingId": { + "shape": "__string", + "location": "uri", + "locationName": "offeringId" + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "idempotencyToken": true + } + }, + "required": [ + "OfferingId" + ] + }, + "PurchaseOfferingResponse": { + "type": "structure", + "members": { + "Reservation": { + "shape": "Reservation", + "locationName": "reservation" + } + } + }, + "PurchaseOfferingResultModel": { + "type": "structure", + "members": { + "Reservation": { + "shape": "Reservation", + "locationName": "reservation" + } + } + }, "RemixSettings": { "type": "structure", "members": { "ChannelMappings": { - "shape": "ListOfAudioChannelMapping", + "shape": "__listOfAudioChannelMapping", "locationName": "channelMappings" }, "ChannelsIn": { - "shape": "__integer", + "shape": "__integerMin1Max16", "locationName": "channelsIn" }, "ChannelsOut": { - "shape": "__integer", + "shape": "__integerMin1Max8", "locationName": "channelsOut" } + }, + "required": [ + "ChannelMappings" + ] + }, + "Reservation": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "Count": { + "shape": "__integer", + "locationName": "count" + }, + "CurrencyCode": { + "shape": "__string", + "locationName": "currencyCode" + }, + "Duration": { + "shape": "__integer", + "locationName": "duration" + }, + "DurationUnits": { + "shape": "OfferingDurationUnits", + "locationName": "durationUnits" + }, + "End": { + "shape": "__string", + "locationName": "end" + }, + "FixedPrice": { + "shape": "__double", + "locationName": "fixedPrice" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "OfferingDescription": { + "shape": "__string", + "locationName": "offeringDescription" + }, + "OfferingId": { + "shape": "__string", + "locationName": "offeringId" + }, + "OfferingType": { + "shape": "OfferingType", + "locationName": "offeringType" + }, + "Region": { + "shape": "__string", + "locationName": "region" + }, + "ReservationId": { + "shape": "__string", + "locationName": "reservationId" + }, + "ResourceSpecification": { + "shape": "ReservationResourceSpecification", + "locationName": "resourceSpecification" + }, + "Start": { + "shape": "__string", + "locationName": "start" + }, + "State": { + "shape": "ReservationState", + "locationName": "state" + }, + "UsagePrice": { + "shape": "__double", + "locationName": "usagePrice" + } + } + }, + "ReservationCodec": { + "type": "string", + "enum": [ + "MPEG2", + "AVC", + "HEVC", + "AUDIO" + ] + }, + "ReservationMaximumBitrate": { + "type": "string", + "enum": [ + "MAX_10_MBPS", + "MAX_20_MBPS", + "MAX_50_MBPS" + ] + }, + "ReservationMaximumFramerate": { + "type": "string", + "enum": [ + "MAX_30_FPS", + "MAX_60_FPS" + ] + }, + "ReservationResolution": { + "type": "string", + "enum": [ + "SD", + "HD", + "UHD" + ] + }, + "ReservationResourceSpecification": { + "type": "structure", + "members": { + "Codec": { + "shape": "ReservationCodec", + "locationName": "codec" + }, + "MaximumBitrate": { + "shape": "ReservationMaximumBitrate", + "locationName": "maximumBitrate" + }, + "MaximumFramerate": { + "shape": "ReservationMaximumFramerate", + "locationName": "maximumFramerate" + }, + "Resolution": { + "shape": "ReservationResolution", + "locationName": "resolution" + }, + "ResourceType": { + "shape": "ReservationResourceType", + "locationName": "resourceType" + }, + "SpecialFeature": { + "shape": "ReservationSpecialFeature", + "locationName": "specialFeature" + }, + "VideoQuality": { + "shape": "ReservationVideoQuality", + "locationName": "videoQuality" + } } }, + "ReservationResourceType": { + "type": "string", + "enum": [ + "INPUT", + "OUTPUT", + "CHANNEL" + ] + }, + "ReservationSpecialFeature": { + "type": "string", + "enum": [ + "ADVANCED_AUDIO", + "AUDIO_NORMALIZATION" + ] + }, + "ReservationState": { + "type": "string", + "enum": [ + "ACTIVE", + "EXPIRED", + "CANCELED", + "DELETED" + ] + }, + "ReservationVideoQuality": { + "type": "string", + "enum": [ + "STANDARD", + "ENHANCED", + "PREMIUM" + ] + }, "ResourceConflict": { "type": "structure", "members": { @@ -4647,6 +5735,82 @@ } } }, + "RtmpCacheFullBehavior": { + "type": "string", + "enum": [ + "DISCONNECT_IMMEDIATELY", + "WAIT_FOR_SERVER" + ] + }, + "RtmpCaptionData": { + "type": "string", + "enum": [ + "ALL", + "FIELD1_608", + "FIELD1_AND_FIELD2_608" + ] + }, + "RtmpCaptionInfoDestinationSettings": { + "type": "structure", + "members": { + } + }, + "RtmpGroupSettings": { + "type": "structure", + "members": { + "AuthenticationScheme": { + "shape": "AuthenticationScheme", + "locationName": "authenticationScheme" + }, + "CacheFullBehavior": { + "shape": "RtmpCacheFullBehavior", + "locationName": "cacheFullBehavior" + }, + "CacheLength": { + "shape": "__integerMin30", + "locationName": "cacheLength" + }, + "CaptionData": { + "shape": "RtmpCaptionData", + "locationName": "captionData" + }, + "RestartDelay": { + "shape": "__integerMin0", + "locationName": "restartDelay" + } + } + }, + "RtmpOutputCertificateMode": { + "type": "string", + "enum": [ + "SELF_SIGNED", + "VERIFY_AUTHENTICITY" + ] + }, + "RtmpOutputSettings": { + "type": "structure", + "members": { + "CertificateMode": { + "shape": "RtmpOutputCertificateMode", + "locationName": "certificateMode" + }, + "ConnectionRetryInterval": { + "shape": "__integerMin1", + "locationName": "connectionRetryInterval" + }, + "Destination": { + "shape": "OutputLocationRef", + "locationName": "destination" + }, + "NumRetries": { + "shape": "__integerMin0", + "locationName": "numRetries" + } + }, + "required": [ + "Destination" + ] + }, "Scte20Convert608To708": { "type": "string", "enum": [ @@ -4667,7 +5831,7 @@ "locationName": "convert608To708" }, "Source608ChannelNumber": { - "shape": "__integer", + "shape": "__integerMin1Max4", "locationName": "source608ChannelNumber" } } @@ -4681,7 +5845,7 @@ "type": "structure", "members": { "Pid": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "pid" } } @@ -4704,7 +5868,7 @@ "type": "structure", "members": { "AdAvailOffset": { - "shape": "__integer", + "shape": "__integerMinNegative1000Max1000", "locationName": "adAvailOffset" }, "NoRegionalBlackoutFlag": { @@ -4735,7 +5899,7 @@ "type": "structure", "members": { "AdAvailOffset": { - "shape": "__integer", + "shape": "__integerMinNegative1000Max1000", "locationName": "adAvailOffset" }, "NoRegionalBlackoutFlag": { @@ -4821,7 +5985,10 @@ "shape": "M3u8Settings", "locationName": "m3u8Settings" } - } + }, + "required": [ + "M3u8Settings" + ] }, "StartChannelRequest": { "type": "structure", @@ -4844,11 +6011,11 @@ "locationName": "arn" }, "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EgressEndpoints": { - "shape": "ListOfChannelEgressEndpoint", + "shape": "__listOfChannelEgressEndpoint", "locationName": "egressEndpoints" }, "EncoderSettings": { @@ -4860,9 +6027,17 @@ "locationName": "id" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel" + }, "Name": { "shape": "__string", "locationName": "name" @@ -4889,10 +6064,14 @@ "locationName": "keyProviderServer" }, "StaticKeyValue": { - "shape": "__string", + "shape": "__stringMin32Max32", "locationName": "staticKeyValue" } - } + }, + "required": [ + "KeyProviderServer", + "StaticKeyValue" + ] }, "StopChannelRequest": { "type": "structure", @@ -4915,11 +6094,11 @@ "locationName": "arn" }, "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EgressEndpoints": { - "shape": "ListOfChannelEgressEndpoint", + "shape": "__listOfChannelEgressEndpoint", "locationName": "egressEndpoints" }, "EncoderSettings": { @@ -4931,9 +6110,17 @@ "locationName": "id" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel" + }, "Name": { "shape": "__string", "locationName": "name" @@ -4974,10 +6161,13 @@ "locationName": "source" }, "SyncThreshold": { - "shape": "__integer", + "shape": "__integerMin1Max1000000", "locationName": "syncThreshold" } - } + }, + "required": [ + "Source" + ] }, "TimecodeConfigSource": { "type": "string", @@ -5037,7 +6227,7 @@ "locationName": "timedMetadataId3Frame" }, "TimedMetadataId3Period": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "timedMetadataId3Period" } } @@ -5046,7 +6236,7 @@ "type": "structure", "members": { "BufferMsec": { - "shape": "__integer", + "shape": "__integerMin0Max10000", "locationName": "bufferMsec" }, "ContainerSettings": { @@ -5061,7 +6251,11 @@ "shape": "FecOutputSettings", "locationName": "fecOutputSettings" } - } + }, + "required": [ + "Destination", + "ContainerSettings" + ] }, "UdpTimedMetadataId3Frame": { "type": "string", @@ -5079,7 +6273,7 @@ "locationName": "message" }, "ValidationErrors": { - "shape": "ListOfValidationError", + "shape": "__listOfValidationError", "locationName": "validationErrors" } }, @@ -5088,60 +6282,258 @@ "httpStatusCode": 422 } }, - "ValidationError": { + "UpdateChannel": { "type": "structure", "members": { - "ElementPath": { + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations" + }, + "EncoderSettings": { + "shape": "EncoderSettings", + "locationName": "encoderSettings" + }, + "InputAttachments": { + "shape": "__listOfInputAttachment", + "locationName": "inputAttachments" + }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel" + }, + "Name": { "shape": "__string", - "locationName": "elementPath" + "locationName": "name" }, - "ErrorMessage": { + "RoleArn": { "shape": "__string", - "locationName": "errorMessage" - } - } - }, - "VideoCodecSettings": { - "type": "structure", - "members": { - "H264Settings": { - "shape": "H264Settings", - "locationName": "h264Settings" + "locationName": "roleArn" } } }, - "VideoDescription": { + "UpdateChannelRequest": { "type": "structure", "members": { - "CodecSettings": { - "shape": "VideoCodecSettings", - "locationName": "codecSettings" - }, - "Height": { - "shape": "__integer", - "locationName": "height" - }, - "Name": { + "ChannelId": { "shape": "__string", - "locationName": "name" + "location": "uri", + "locationName": "channelId" }, - "RespondToAfd": { - "shape": "VideoDescriptionRespondToAfd", - "locationName": "respondToAfd" + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations" + }, + "EncoderSettings": { + "shape": "EncoderSettings", + "locationName": "encoderSettings" + }, + "InputAttachments": { + "shape": "__listOfInputAttachment", + "locationName": "inputAttachments" + }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn" + } + }, + "required": [ + "ChannelId" + ] + }, + "UpdateChannelResponse": { + "type": "structure", + "members": { + "Channel": { + "shape": "Channel", + "locationName": "channel" + } + } + }, + "UpdateChannelResultModel": { + "type": "structure", + "members": { + "Channel": { + "shape": "Channel", + "locationName": "channel" + } + } + }, + "UpdateInput": { + "type": "structure", + "members": { + "Destinations": { + "shape": "__listOfInputDestinationRequest", + "locationName": "destinations" + }, + "InputSecurityGroups": { + "shape": "__listOf__string", + "locationName": "inputSecurityGroups" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "Sources": { + "shape": "__listOfInputSourceRequest", + "locationName": "sources" + } + } + }, + "UpdateInputRequest": { + "type": "structure", + "members": { + "Destinations": { + "shape": "__listOfInputDestinationRequest", + "locationName": "destinations" + }, + "InputId": { + "shape": "__string", + "location": "uri", + "locationName": "inputId" + }, + "InputSecurityGroups": { + "shape": "__listOf__string", + "locationName": "inputSecurityGroups" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "Sources": { + "shape": "__listOfInputSourceRequest", + "locationName": "sources" + } + }, + "required": [ + "InputId" + ] + }, + "UpdateInputResponse": { + "type": "structure", + "members": { + "Input": { + "shape": "Input", + "locationName": "input" + } + } + }, + "UpdateInputResultModel": { + "type": "structure", + "members": { + "Input": { + "shape": "Input", + "locationName": "input" + } + } + }, + "UpdateInputSecurityGroupRequest": { + "type": "structure", + "members": { + "InputSecurityGroupId": { + "shape": "__string", + "location": "uri", + "locationName": "inputSecurityGroupId" + }, + "WhitelistRules": { + "shape": "__listOfInputWhitelistRuleCidr", + "locationName": "whitelistRules" + } + }, + "required": [ + "InputSecurityGroupId" + ] + }, + "UpdateInputSecurityGroupResponse": { + "type": "structure", + "members": { + "SecurityGroup": { + "shape": "InputSecurityGroup", + "locationName": "securityGroup" + } + } + }, + "UpdateInputSecurityGroupResultModel": { + "type": "structure", + "members": { + "SecurityGroup": { + "shape": "InputSecurityGroup", + "locationName": "securityGroup" + } + } + }, + "ValidationError": { + "type": "structure", + "members": { + "ElementPath": { + "shape": "__string", + "locationName": "elementPath" + }, + "ErrorMessage": { + "shape": "__string", + "locationName": "errorMessage" + } + } + }, + "VideoCodecSettings": { + "type": "structure", + "members": { + "H264Settings": { + "shape": "H264Settings", + "locationName": "h264Settings" + } + } + }, + "VideoDescription": { + "type": "structure", + "members": { + "CodecSettings": { + "shape": "VideoCodecSettings", + "locationName": "codecSettings" + }, + "Height": { + "shape": "__integer", + "locationName": "height" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "RespondToAfd": { + "shape": "VideoDescriptionRespondToAfd", + "locationName": "respondToAfd" }, "ScalingBehavior": { "shape": "VideoDescriptionScalingBehavior", "locationName": "scalingBehavior" }, "Sharpness": { - "shape": "__integer", + "shape": "__integerMin0Max100", "locationName": "sharpness" }, "Width": { "shape": "__integer", "locationName": "width" } - } + }, + "required": [ + "Name" + ] }, "VideoDescriptionRespondToAfd": { "type": "string", @@ -5194,7 +6586,7 @@ "type": "structure", "members": { "Pid": { - "shape": "__integer", + "shape": "__integerMin0Max8191", "locationName": "pid" } } @@ -5203,7 +6595,7 @@ "type": "structure", "members": { "ProgramId": { - "shape": "__integer", + "shape": "__integerMin0Max65536", "locationName": "programId" } } @@ -5232,14 +6624,414 @@ "__double": { "type": "double" }, + "__doubleMin0": { + "type": "double" + }, + "__doubleMin1": { + "type": "double" + }, + "__doubleMinNegative59Max0": { + "type": "double" + }, "__integer": { "type": "integer" }, + "__integerMin0": { + "type": "integer", + "min": 0 + }, + "__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 + }, + "__integerMin0Max1000000": { + "type": "integer", + "min": 0, + "max": 1000000 + }, + "__integerMin0Max128": { + "type": "integer", + "min": 0, + "max": 128 + }, + "__integerMin0Max15": { + "type": "integer", + "min": 0, + "max": 15 + }, + "__integerMin0Max255": { + "type": "integer", + "min": 0, + "max": 255 + }, + "__integerMin0Max30": { + "type": "integer", + "min": 0, + "max": 30 + }, + "__integerMin0Max3600": { + "type": "integer", + "min": 0, + "max": 3600 + }, + "__integerMin0Max500": { + "type": "integer", + "min": 0, + "max": 500 + }, + "__integerMin0Max600": { + "type": "integer", + "min": 0, + "max": 600 + }, + "__integerMin0Max65535": { + "type": "integer", + "min": 0, + "max": 65535 + }, + "__integerMin0Max65536": { + "type": "integer", + "min": 0, + "max": 65536 + }, + "__integerMin0Max7": { + "type": "integer", + "min": 0, + "max": 7 + }, + "__integerMin0Max8191": { + "type": "integer", + "min": 0, + "max": 8191 + }, + "__integerMin1": { + "type": "integer", + "min": 1 + }, + "__integerMin1000": { + "type": "integer", + "min": 1000 + }, + "__integerMin1000Max30000": { + "type": "integer", + "min": 1000, + "max": 30000 + }, + "__integerMin1Max1000000": { + "type": "integer", + "min": 1, + "max": 1000000 + }, + "__integerMin1Max16": { + "type": "integer", + "min": 1, + "max": 16 + }, + "__integerMin1Max20": { + "type": "integer", + "min": 1, + "max": 20 + }, + "__integerMin1Max31": { + "type": "integer", + "min": 1, + "max": 31 + }, + "__integerMin1Max32": { + "type": "integer", + "min": 1, + "max": 32 + }, + "__integerMin1Max4": { + "type": "integer", + "min": 1, + "max": 4 + }, + "__integerMin1Max5": { + "type": "integer", + "min": 1, + "max": 5 + }, + "__integerMin1Max6": { + "type": "integer", + "min": 1, + "max": 6 + }, + "__integerMin1Max8": { + "type": "integer", + "min": 1, + "max": 8 + }, + "__integerMin25Max10000": { + "type": "integer", + "min": 25, + "max": 10000 + }, + "__integerMin25Max2000": { + "type": "integer", + "min": 25, + "max": 2000 + }, + "__integerMin3": { + "type": "integer", + "min": 3 + }, + "__integerMin30": { + "type": "integer", + "min": 30 + }, + "__integerMin4Max20": { + "type": "integer", + "min": 4, + "max": 20 + }, + "__integerMin96Max600": { + "type": "integer", + "min": 96, + "max": 600 + }, + "__integerMinNegative1000Max1000": { + "type": "integer", + "min": -1000, + "max": 1000 + }, + "__integerMinNegative60Max6": { + "type": "integer", + "min": -60, + "max": 6 + }, + "__integerMinNegative60Max60": { + "type": "integer", + "min": -60, + "max": 60 + }, + "__listOfAudioChannelMapping": { + "type": "list", + "member": { + "shape": "AudioChannelMapping" + } + }, + "__listOfAudioDescription": { + "type": "list", + "member": { + "shape": "AudioDescription" + } + }, + "__listOfAudioSelector": { + "type": "list", + "member": { + "shape": "AudioSelector" + } + }, + "__listOfCaptionDescription": { + "type": "list", + "member": { + "shape": "CaptionDescription" + } + }, + "__listOfCaptionLanguageMapping": { + "type": "list", + "member": { + "shape": "CaptionLanguageMapping" + } + }, + "__listOfCaptionSelector": { + "type": "list", + "member": { + "shape": "CaptionSelector" + } + }, + "__listOfChannelEgressEndpoint": { + "type": "list", + "member": { + "shape": "ChannelEgressEndpoint" + } + }, + "__listOfChannelSummary": { + "type": "list", + "member": { + "shape": "ChannelSummary" + } + }, + "__listOfHlsAdMarkers": { + "type": "list", + "member": { + "shape": "HlsAdMarkers" + } + }, + "__listOfInput": { + "type": "list", + "member": { + "shape": "Input" + } + }, + "__listOfInputAttachment": { + "type": "list", + "member": { + "shape": "InputAttachment" + } + }, + "__listOfInputChannelLevel": { + "type": "list", + "member": { + "shape": "InputChannelLevel" + } + }, + "__listOfInputDestination": { + "type": "list", + "member": { + "shape": "InputDestination" + } + }, + "__listOfInputDestinationRequest": { + "type": "list", + "member": { + "shape": "InputDestinationRequest" + } + }, + "__listOfInputSecurityGroup": { + "type": "list", + "member": { + "shape": "InputSecurityGroup" + } + }, + "__listOfInputSource": { + "type": "list", + "member": { + "shape": "InputSource" + } + }, + "__listOfInputSourceRequest": { + "type": "list", + "member": { + "shape": "InputSourceRequest" + } + }, + "__listOfInputWhitelistRule": { + "type": "list", + "member": { + "shape": "InputWhitelistRule" + } + }, + "__listOfInputWhitelistRuleCidr": { + "type": "list", + "member": { + "shape": "InputWhitelistRuleCidr" + } + }, + "__listOfOffering": { + "type": "list", + "member": { + "shape": "Offering" + } + }, + "__listOfOutput": { + "type": "list", + "member": { + "shape": "Output" + } + }, + "__listOfOutputDestination": { + "type": "list", + "member": { + "shape": "OutputDestination" + } + }, + "__listOfOutputDestinationSettings": { + "type": "list", + "member": { + "shape": "OutputDestinationSettings" + } + }, + "__listOfOutputGroup": { + "type": "list", + "member": { + "shape": "OutputGroup" + } + }, + "__listOfReservation": { + "type": "list", + "member": { + "shape": "Reservation" + } + }, + "__listOfValidationError": { + "type": "list", + "member": { + "shape": "ValidationError" + } + }, + "__listOfVideoDescription": { + "type": "list", + "member": { + "shape": "VideoDescription" + } + }, + "__listOf__string": { + "type": "list", + "member": { + "shape": "__string" + } + }, + "__long": { + "type": "long" + }, "__string": { "type": "string" }, - "__timestamp": { - "type": "timestamp" + "__stringMax32": { + "type": "string", + "max": 32 + }, + "__stringMin1": { + "type": "string", + "min": 1 + }, + "__stringMin1Max255": { + "type": "string", + "min": 1, + "max": 255 + }, + "__stringMin1Max256": { + "type": "string", + "min": 1, + "max": 256 + }, + "__stringMin32Max32": { + "type": "string", + "min": 32, + "max": 32 + }, + "__stringMin34Max34": { + "type": "string", + "min": 34, + "max": 34 + }, + "__stringMin3Max3": { + "type": "string", + "min": 3, + "max": 3 + }, + "__stringMin6Max6": { + "type": "string", + "min": 6, + "max": 6 } } } diff --git a/models/apis/medialive/2017-10-14/docs-2.json b/models/apis/medialive/2017-10-14/docs-2.json index ac15008c7c2..50a0537c4f6 100644 --- a/models/apis/medialive/2017-10-14/docs-2.json +++ b/models/apis/medialive/2017-10-14/docs-2.json @@ -8,14 +8,23 @@ "DeleteChannel": "Starts deletion of channel. The associated outputs are also deleted.", "DeleteInput": "Deletes the input end point", "DeleteInputSecurityGroup": "Deletes an Input Security Group", + "DeleteReservation": "Delete an expired reservation.", "DescribeChannel": "Gets details about a channel", "DescribeInput": "Produces details about an input", "DescribeInputSecurityGroup": "Produces a summary of an Input Security Group", + "DescribeOffering": "Get details for an offering.", + "DescribeReservation": "Get details for a reservation.", "ListChannels": "Produces list of channels that have been created", "ListInputSecurityGroups": "Produces a list of Input Security Groups for an account", "ListInputs": "Produces list of inputs that have been created", + "ListOfferings": "List offerings available for purchase.", + "ListReservations": "List purchased reservations.", + "PurchaseOffering": "Purchase an offering and create a reservation.", "StartChannel": "Starts an existing channel", - "StopChannel": "Stops a running channel" + "StopChannel": "Stops a running channel", + "UpdateChannel": "Updates a channel.", + "UpdateInput": "Updates an input.", + "UpdateInputSecurityGroup": "Update an Input Security Group's Whilelists." }, "shapes": { "AacCodingMode": { @@ -146,7 +155,7 @@ "AudioChannelMapping": { "base": null, "refs": { - "ListOfAudioChannelMapping$member": null + "__listOfAudioChannelMapping$member": null } }, "AudioCodecSettings": { @@ -158,7 +167,7 @@ "AudioDescription": { "base": null, "refs": { - "ListOfAudioDescription$member": null + "__listOfAudioDescription$member": null } }, "AudioDescriptionAudioTypeControl": { @@ -224,7 +233,7 @@ "AudioSelector": { "base": null, "refs": { - "ListOfAudioSelector$member": null + "__listOfAudioSelector$member": null } }, "AudioSelectorSettings": { @@ -239,6 +248,12 @@ "AudioDescription$AudioType": "Applies only if audioTypeControl is useConfigured. The values for audioType are defined in ISO-IEC 13818-1." } }, + "AuthenticationScheme": { + "base": null, + "refs": { + "RtmpGroupSettings$AuthenticationScheme": "Authentication scheme to use when connecting with CDN" + } + }, "AvailBlanking": { "base": null, "refs": { @@ -263,6 +278,11 @@ "AvailConfiguration$AvailSettings": "Ad avail settings." } }, + "BadGatewayException": { + "base": null, + "refs": { + } + }, "BadRequestException": { "base": null, "refs": { @@ -331,7 +351,7 @@ "CaptionDescription": { "base": "Output groups for this Live Event. Output groups contain information about where streams should be distributed.", "refs": { - "ListOfCaptionDescription$member": null + "__listOfCaptionDescription$member": null } }, "CaptionDestinationSettings": { @@ -343,13 +363,13 @@ "CaptionLanguageMapping": { "base": "Maps a caption channel to an ISO 693-2 language code (http://www.loc.gov/standards/iso639-2), with an optional description.", "refs": { - "ListOfCaptionLanguageMapping$member": null + "__listOfCaptionLanguageMapping$member": null } }, "CaptionSelector": { "base": "Output groups for this Live Event. Output groups contain information about where streams should be distributed.", "refs": { - "ListOfCaptionSelector$member": null + "__listOfCaptionSelector$member": null } }, "CaptionSelectorSettings": { @@ -361,7 +381,8 @@ "Channel": { "base": null, "refs": { - "CreateChannelResultModel$Channel": null + "CreateChannelResultModel$Channel": null, + "UpdateChannelResultModel$Channel": null } }, "ChannelConfigurationValidationError": { @@ -372,7 +393,7 @@ "ChannelEgressEndpoint": { "base": null, "refs": { - "ListOfChannelEgressEndpoint$member": null + "__listOfChannelEgressEndpoint$member": null } }, "ChannelState": { @@ -385,7 +406,7 @@ "ChannelSummary": { "base": null, "refs": { - "ListOfChannelSummary$member": null + "__listOfChannelSummary$member": null } }, "ConflictException": { @@ -619,7 +640,8 @@ "base": null, "refs": { "Channel$EncoderSettings": null, - "CreateChannel$EncoderSettings": null + "CreateChannel$EncoderSettings": null, + "UpdateChannel$EncoderSettings": "The encoder settings for this channel." } }, "FecOutputIncludeFec": { @@ -645,6 +667,11 @@ "refs": { } }, + "GatewayTimeoutException": { + "base": null, + "refs": { + } + }, "GlobalConfiguration": { "base": null, "refs": { @@ -786,7 +813,7 @@ "HlsAdMarkers": { "base": null, "refs": { - "ListOfHlsAdMarkers$member": null + "__listOfHlsAdMarkers$member": null } }, "HlsAkamaiHttpTransferMode": { @@ -894,7 +921,7 @@ "HlsMode": { "base": null, "refs": { - "HlsGroupSettings$Mode": "If set to \"vod\", keeps and indexes all segments starting with the first segment. If set to \"live\" segments will age out and only the last keepSegments number of segments will be retained." + "HlsGroupSettings$Mode": "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." } }, "HlsOutputSelection": { @@ -961,19 +988,26 @@ "base": null, "refs": { "CreateInputResultModel$Input": null, - "ListOfInput$member": null + "UpdateInputResultModel$Input": null, + "__listOfInput$member": null } }, "InputAttachment": { "base": null, "refs": { - "ListOfInputAttachment$member": null + "__listOfInputAttachment$member": null } }, "InputChannelLevel": { "base": null, "refs": { - "ListOfInputChannelLevel$member": null + "__listOfInputChannelLevel$member": null + } + }, + "InputCodec": { + "base": "codec in increasing order of complexity", + "refs": { + "InputSpecification$Codec": "Input codec" } }, "InputDeblockFilter": { @@ -989,15 +1023,15 @@ } }, "InputDestination": { - "base": "Settings for a PUSH type input", + "base": "The settings for a PUSH type input.", "refs": { - "ListOfInputDestination$member": null + "__listOfInputDestination$member": null } }, "InputDestinationRequest": { - "base": "Endpoint settings for a PUSH type input", + "base": "Endpoint settings for a PUSH type input.", "refs": { - "ListOfInputDestinationRequest$member": null + "__listOfInputDestinationRequest$member": null } }, "InputFilter": { @@ -1049,11 +1083,30 @@ "InputLossBehavior$InputLossImageType": "Indicates whether to substitute a solid color or a slate into the output after input loss exceeds blackFrameMsec." } }, + "InputMaximumBitrate": { + "base": "Maximum input bitrate in megabits per second. Bitrates up to 50 Mbps are supported currently.", + "refs": { + "InputSpecification$MaximumBitrate": "Maximum input bitrate, categorized coarsely" + } + }, + "InputResolution": { + "base": "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", + "refs": { + "InputSpecification$Resolution": "Input resolution, categorized coarsely" + } + }, "InputSecurityGroup": { "base": "An Input Security Group", "refs": { "CreateInputSecurityGroupResultModel$SecurityGroup": null, - "ListOfInputSecurityGroup$member": null + "UpdateInputSecurityGroupResultModel$SecurityGroup": null, + "__listOfInputSecurityGroup$member": null + } + }, + "InputSecurityGroupState": { + "base": null, + "refs": { + "InputSecurityGroup$State": "The current state of the Input Security Group." } }, "InputSecurityGroupWhitelistRequest": { @@ -1068,9 +1121,9 @@ } }, "InputSource": { - "base": "Settings for a PULL type input", + "base": "The settings for a PULL type input.", "refs": { - "ListOfInputSource$member": null + "__listOfInputSource$member": null } }, "InputSourceEndBehavior": { @@ -1080,9 +1133,18 @@ } }, "InputSourceRequest": { - "base": "Settings for for a PULL type input", + "base": "Settings for for a PULL type input.", + "refs": { + "__listOfInputSourceRequest$member": null + } + }, + "InputSpecification": { + "base": null, "refs": { - "ListOfInputSourceRequest$member": null + "Channel$InputSpecification": null, + "ChannelSummary$InputSpecification": null, + "CreateChannel$InputSpecification": "Specification of input for this channel (max. bitrate, resolution, codec, etc.)", + "UpdateChannel$InputSpecification": "Specification of input for this channel (max. bitrate, resolution, codec, etc.)" } }, "InputState": { @@ -1101,13 +1163,13 @@ "InputWhitelistRule": { "base": "Whitelist rule", "refs": { - "ListOfInputWhitelistRule$member": null + "__listOfInputWhitelistRule$member": null } }, "InputWhitelistRuleCidr": { "base": "An IPv4 CIDR to whitelist.", "refs": { - "ListOfInputWhitelistRuleCidr$member": null + "__listOfInputWhitelistRuleCidr$member": null } }, "InternalServerErrorException": { @@ -1151,169 +1213,23 @@ "refs": { } }, - "ListOfAudioChannelMapping": { - "base": null, - "refs": { - "RemixSettings$ChannelMappings": "Mapping of input channels to output channels, with appropriate gain adjustments." - } - }, - "ListOfAudioDescription": { - "base": null, - "refs": { - "EncoderSettings$AudioDescriptions": null - } - }, - "ListOfAudioSelector": { - "base": null, - "refs": { - "InputSettings$AudioSelectors": "Used to select the audio stream to decode for inputs that have multiple available." - } - }, - "ListOfCaptionDescription": { - "base": null, - "refs": { - "EncoderSettings$CaptionDescriptions": "Settings for caption decriptions" - } - }, - "ListOfCaptionLanguageMapping": { - "base": null, - "refs": { - "HlsGroupSettings$CaptionLanguageMappings": "Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to \"insert\"." - } - }, - "ListOfCaptionSelector": { - "base": null, - "refs": { - "InputSettings$CaptionSelectors": "Used to select the caption input to use for inputs that have multiple available." - } - }, - "ListOfChannelEgressEndpoint": { - "base": null, - "refs": { - "Channel$EgressEndpoints": "The endpoints where outgoing connections initiate from", - "ChannelSummary$EgressEndpoints": "The endpoints where outgoing connections initiate from" - } - }, - "ListOfChannelSummary": { - "base": null, - "refs": { - "ListChannelsResultModel$Channels": null - } - }, - "ListOfHlsAdMarkers": { - "base": null, - "refs": { - "HlsGroupSettings$AdMarkers": "Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs." - } - }, - "ListOfInput": { - "base": null, - "refs": { - "ListInputsResultModel$Inputs": null - } - }, - "ListOfInputAttachment": { - "base": null, - "refs": { - "Channel$InputAttachments": "List of input attachments for channel.", - "ChannelSummary$InputAttachments": "List of input attachments for channel.", - "CreateChannel$InputAttachments": "List of input attachments for channel." - } - }, - "ListOfInputChannelLevel": { - "base": null, - "refs": { - "AudioChannelMapping$InputChannelLevels": "Indices and gain values for each input channel that should be remixed into this output channel." - } - }, - "ListOfInputDestination": { - "base": null, - "refs": { - "Input$Destinations": "List of destinations of input (PULL-type)" - } - }, - "ListOfInputDestinationRequest": { - "base": null, - "refs": { - "CreateInput$Destinations": "settings required for PUSH-type inputs; one per redundancy group.\nOnly one of sources and destinations can be specified.\nNote: there are currently no settings required for PUSH-type inputs\n" - } - }, - "ListOfInputSecurityGroup": { - "base": null, - "refs": { - "ListInputSecurityGroupsResultModel$InputSecurityGroups": "List of input security groups" - } - }, - "ListOfInputSource": { - "base": null, - "refs": { - "Input$Sources": "List of sources of input (PULL-type)" - } - }, - "ListOfInputSourceRequest": { - "base": null, - "refs": { - "CreateInput$Sources": "settings required for PULL-type inputs; one per redundancy group\nOnly one of sources and destinations can be specified\n" - } - }, - "ListOfInputWhitelistRule": { - "base": null, - "refs": { - "InputSecurityGroup$WhitelistRules": "Whitelist rules and their sync status" - } - }, - "ListOfInputWhitelistRuleCidr": { - "base": null, - "refs": { - "InputSecurityGroupWhitelistRequest$WhitelistRules": "List of IPv4 CIDR addresses to whitelist" - } - }, - "ListOfOutput": { - "base": null, - "refs": { - "OutputGroup$Outputs": null - } - }, - "ListOfOutputDestination": { - "base": null, - "refs": { - "Channel$Destinations": "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", - "ChannelSummary$Destinations": "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", - "CreateChannel$Destinations": null - } - }, - "ListOfOutputDestinationSettings": { - "base": null, - "refs": { - "OutputDestination$Settings": "Destination settings for output; one for each redundant encoder." - } - }, - "ListOfOutputGroup": { - "base": null, - "refs": { - "EncoderSettings$OutputGroups": null - } - }, - "ListOfValidationError": { - "base": null, + "ListOfferingsResultModel": { + "base": "ListOfferings response", "refs": { - "ChannelConfigurationValidationError$ValidationErrors": "A collection of validation error responses from attempting to create a channel with a bouquet of settings." } }, - "ListOfVideoDescription": { - "base": null, + "ListReservationsResultModel": { + "base": "ListReservations response", "refs": { - "EncoderSettings$VideoDescriptions": null } }, - "ListOf__string": { + "LogLevel": { "base": null, "refs": { - "CreateInput$InputSecurityGroups": "A list of security groups referenced by IDs to attach to the input.", - "Input$AttachedChannels": "List of channel IDs that that input is attached to (currently an input can only be attached to one channel)", - "Input$SecurityGroups": "List of IDs for all the security groups attached to the input.", - "Output$AudioDescriptionNames": "The names of the AudioDescriptions used as audio sources for this output.", - "Output$CaptionDescriptionNames": "The names of the CaptionDescriptions used as caption sources for this output." + "Channel$LogLevel": "The log level being written to CloudWatch Logs.", + "ChannelSummary$LogLevel": "The log level being written to CloudWatch Logs.", + "CreateChannel$LogLevel": "The log level to write to CloudWatch Logs.", + "UpdateChannel$LogLevel": "The log level to write to CloudWatch Logs." } }, "M2tsAbsentInputAudioBehavior": { @@ -1496,28 +1412,48 @@ "refs": { } }, + "Offering": { + "base": "Reserved resources available for purchase", + "refs": { + "__listOfOffering$member": null + } + }, + "OfferingDurationUnits": { + "base": "Units for duration, e.g. 'MONTHS'", + "refs": { + "Offering$DurationUnits": "Units for duration, e.g. 'MONTHS'", + "Reservation$DurationUnits": "Units for duration, e.g. 'MONTHS'" + } + }, + "OfferingType": { + "base": "Offering type, e.g. 'NO_UPFRONT'", + "refs": { + "Offering$OfferingType": "Offering type, e.g. 'NO_UPFRONT'", + "Reservation$OfferingType": "Offering type, e.g. 'NO_UPFRONT'" + } + }, "Output": { "base": "Output settings. There can be multiple outputs within a group.", "refs": { - "ListOfOutput$member": null + "__listOfOutput$member": null } }, "OutputDestination": { "base": null, "refs": { - "ListOfOutputDestination$member": null + "__listOfOutputDestination$member": null } }, "OutputDestinationSettings": { "base": null, "refs": { - "ListOfOutputDestinationSettings$member": null + "__listOfOutputDestinationSettings$member": null } }, "OutputGroup": { "base": "Output groups for this Live Event. Output groups contain information about where streams should be distributed.", "refs": { - "ListOfOutputGroup$member": null + "__listOfOutputGroup$member": null } }, "OutputGroupSettings": { @@ -1532,6 +1468,7 @@ "ArchiveGroupSettings$Destination": "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.", "HlsGroupSettings$Destination": "A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled).", "MsSmoothGroupSettings$Destination": "Smooth Streaming publish point on an IIS server. Elemental Live acts as a \"Push\" encoder to IIS.", + "RtmpOutputSettings$Destination": "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.", "UdpOutputSettings$Destination": "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)." } }, @@ -1547,12 +1484,84 @@ "AudioCodecSettings$PassThroughSettings": null } }, + "PurchaseOffering": { + "base": "PurchaseOffering request", + "refs": { + } + }, + "PurchaseOfferingResultModel": { + "base": "PurchaseOffering response", + "refs": { + } + }, "RemixSettings": { "base": null, "refs": { "AudioDescription$RemixSettings": "Settings that control how input audio channels are remixed into the output audio channels." } }, + "Reservation": { + "base": "Reserved resources available to use", + "refs": { + "PurchaseOfferingResultModel$Reservation": null, + "__listOfReservation$member": null + } + }, + "ReservationCodec": { + "base": "Codec, 'MPEG2', 'AVC', 'HEVC', or 'AUDIO'", + "refs": { + "ReservationResourceSpecification$Codec": "Codec, e.g. 'AVC'" + } + }, + "ReservationMaximumBitrate": { + "base": "Maximum bitrate in megabits per second", + "refs": { + "ReservationResourceSpecification$MaximumBitrate": "Maximum bitrate, e.g. 'MAX_20_MBPS'" + } + }, + "ReservationMaximumFramerate": { + "base": "Maximum framerate in frames per second (Outputs only)", + "refs": { + "ReservationResourceSpecification$MaximumFramerate": "Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)" + } + }, + "ReservationResolution": { + "base": "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", + "refs": { + "ReservationResourceSpecification$Resolution": "Resolution, e.g. 'HD'" + } + }, + "ReservationResourceSpecification": { + "base": "Resource configuration (codec, resolution, bitrate, ...)", + "refs": { + "Offering$ResourceSpecification": "Resource configuration details", + "Reservation$ResourceSpecification": "Resource configuration details" + } + }, + "ReservationResourceType": { + "base": "Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL'", + "refs": { + "ReservationResourceSpecification$ResourceType": "Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL'" + } + }, + "ReservationSpecialFeature": { + "base": "Special features, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION'", + "refs": { + "ReservationResourceSpecification$SpecialFeature": "Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)" + } + }, + "ReservationState": { + "base": "Current reservation state", + "refs": { + "Reservation$State": "Current state of reservation, e.g. 'ACTIVE'" + } + }, + "ReservationVideoQuality": { + "base": "Video quality, e.g. 'STANDARD' (Outputs only)", + "refs": { + "ReservationResourceSpecification$VideoQuality": "Video quality, e.g. 'STANDARD' (Outputs only)" + } + }, "ResourceConflict": { "base": null, "refs": { @@ -1563,6 +1572,42 @@ "refs": { } }, + "RtmpCacheFullBehavior": { + "base": null, + "refs": { + "RtmpGroupSettings$CacheFullBehavior": "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." + } + }, + "RtmpCaptionData": { + "base": null, + "refs": { + "RtmpGroupSettings$CaptionData": "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." + } + }, + "RtmpCaptionInfoDestinationSettings": { + "base": null, + "refs": { + "CaptionDestinationSettings$RtmpCaptionInfoDestinationSettings": null + } + }, + "RtmpGroupSettings": { + "base": null, + "refs": { + "OutputGroupSettings$RtmpGroupSettings": null + } + }, + "RtmpOutputCertificateMode": { + "base": null, + "refs": { + "RtmpOutputSettings$CertificateMode": "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." + } + }, + "RtmpOutputSettings": { + "base": null, + "refs": { + "OutputSettings$RtmpOutputSettings": null + } + }, "Scte20Convert608To708": { "base": null, "refs": { @@ -1638,7 +1683,7 @@ "SmoothGroupCertificateMode": { "base": null, "refs": { - "MsSmoothGroupSettings$CertificateMode": "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 unless those certificates are manually added to the OS trusted keystore." + "MsSmoothGroupSettings$CertificateMode": "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." } }, "SmoothGroupEventIdMode": { @@ -1765,10 +1810,35 @@ "refs": { } }, + "UpdateChannel": { + "base": null, + "refs": { + } + }, + "UpdateChannelResultModel": { + "base": "The updated channel's description.", + "refs": { + } + }, + "UpdateInput": { + "base": null, + "refs": { + } + }, + "UpdateInputResultModel": { + "base": null, + "refs": { + } + }, + "UpdateInputSecurityGroupResultModel": { + "base": null, + "refs": { + } + }, "ValidationError": { "base": null, "refs": { - "ListOfValidationError$member": null + "__listOfValidationError$member": null } }, "VideoCodecSettings": { @@ -1780,7 +1850,7 @@ "VideoDescription": { "base": "Video settings for this stream.", "refs": { - "ListOfVideoDescription$member": null + "__listOfVideoDescription$member": null } }, "VideoDescriptionRespondToAfd": { @@ -1843,87 +1913,72 @@ "AacSettings$Bitrate": "Average bitrate in bits/second. Valid values depend on rate control mode and profile.", "AacSettings$SampleRate": "Sample rate in Hz. Valid values depend on rate control mode and profile.", "Ac3Settings$Bitrate": "Average bitrate in bits/second. Valid bitrates depend on the coding mode.", - "AudioNormalizationSettings$TargetLkfs": "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.", "Eac3Settings$Bitrate": "Average bitrate in bits/second. Valid bitrates depend on the coding mode.", "Eac3Settings$LoRoCenterMixLevel": "Left only/Right only center mix level. Only used for 3/2 coding mode.", "Eac3Settings$LoRoSurroundMixLevel": "Left only/Right only surround mix level. Only used for 3/2 coding mode.", "Eac3Settings$LtRtCenterMixLevel": "Left total/Right total center mix level. Only used for 3/2 coding mode.", "Eac3Settings$LtRtSurroundMixLevel": "Left total/Right total surround mix level. Only used for 3/2 coding mode.", - "H264Settings$GopSize": "GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. Must be greater than zero.", - "M2tsSettings$FragmentTime": "The length in seconds of each fragment. Only used with EBP markers.", - "M2tsSettings$NullPacketBitrate": "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.", - "M2tsSettings$SegmentationTime": "The length in seconds of each segment. Required unless markers is set to None_.", "Mp2Settings$Bitrate": "Average bitrate in bits/second.", - "Mp2Settings$SampleRate": "Sample rate in Hz." + "Mp2Settings$SampleRate": "Sample rate in Hz.", + "Offering$FixedPrice": "One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering", + "Offering$UsagePrice": "Recurring usage charge for each reserved resource, e.g. '157.0'", + "Reservation$FixedPrice": "One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering", + "Reservation$UsagePrice": "Recurring usage charge for each reserved resource, e.g. '157.0'" + } + }, + "__doubleMin0": { + "base": null, + "refs": { + "M2tsSettings$FragmentTime": "The length in seconds of each fragment. Only used with EBP markers.", + "M2tsSettings$NullPacketBitrate": "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." + } + }, + "__doubleMin1": { + "base": null, + "refs": { + "H264Settings$GopSize": "GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. Must be greater than zero.", + "M2tsSettings$SegmentationTime": "The length in seconds of each segment. Required unless markers is set to None_." + } + }, + "__doubleMinNegative59Max0": { + "base": null, + "refs": { + "AudioNormalizationSettings$TargetLkfs": "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." } }, "__integer": { "base": null, "refs": { - "Ac3Settings$Dialnorm": "Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, dialnorm will be passed through.", - "ArchiveGroupSettings$RolloverInterval": "Number of seconds to write to archive file before closing and starting a new one.", - "AudioChannelMapping$OutputChannel": "The index of the output channel being produced.", - "AudioPidSelection$Pid": "Selects a specific PID from within a source.", - "BurnInDestinationSettings$BackgroundOpacity": "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.", - "BurnInDestinationSettings$FontOpacity": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.", - "BurnInDestinationSettings$FontResolution": "Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match.", - "BurnInDestinationSettings$OutlineSize": "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.", - "BurnInDestinationSettings$ShadowOpacity": "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.", "BurnInDestinationSettings$ShadowXOffset": "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.", "BurnInDestinationSettings$ShadowYOffset": "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.", - "BurnInDestinationSettings$XPosition": "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.", - "BurnInDestinationSettings$YPosition": "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.", - "CaptionLanguageMapping$CaptionChannel": "Channel to insert closed captions. Each channel mapping must have a unique channel number (maximum of 4)", "Channel$PipelinesRunningCount": "The number of currently healthy pipelines.", "ChannelSummary$PipelinesRunningCount": "The number of currently healthy pipelines.", - "DvbNitSettings$NetworkId": "The numeric value placed in the Network Information Table (NIT).", - "DvbNitSettings$RepInterval": "The number of milliseconds between instances of this table in the output transport stream.", - "DvbSdtSettings$RepInterval": "The number of milliseconds between instances of this table in the output transport stream.", - "DvbSubDestinationSettings$BackgroundOpacity": "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.", - "DvbSubDestinationSettings$FontOpacity": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.", - "DvbSubDestinationSettings$FontResolution": "Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match.", - "DvbSubDestinationSettings$OutlineSize": "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.", - "DvbSubDestinationSettings$ShadowOpacity": "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.", "DvbSubDestinationSettings$ShadowXOffset": "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.", "DvbSubDestinationSettings$ShadowYOffset": "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.", + "H264Settings$FramerateDenominator": "Framerate denominator.", + "H264Settings$FramerateNumerator": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.", + "H264Settings$ParNumerator": "Pixel Aspect Ratio numerator.", + "Offering$Duration": "Lease duration, e.g. '12'", + "Reservation$Count": "Number of reserved resources", + "Reservation$Duration": "Lease duration, e.g. '12'", + "VideoDescription$Height": "Output video height (in pixels). Leave blank to use source video height. If left blank, width must also be unspecified.", + "VideoDescription$Width": "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." + } + }, + "__integerMin0": { + "base": null, + "refs": { + "BurnInDestinationSettings$XPosition": "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.", + "BurnInDestinationSettings$YPosition": "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.", "DvbSubDestinationSettings$XPosition": "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.", "DvbSubDestinationSettings$YPosition": "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.", - "DvbSubSourceSettings$Pid": "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.", - "DvbTdtSettings$RepInterval": "The number of milliseconds between instances of this table in the output transport stream.", - "Eac3Settings$Dialnorm": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through.", - "EmbeddedSourceSettings$Source608ChannelNumber": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough.", - "EmbeddedSourceSettings$Source608TrackNumber": "This field is unused and deprecated.", - "FecOutputSettings$ColumnDepth": "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.", - "FecOutputSettings$RowLength": "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.", - "GlobalConfiguration$InitialAudioGain": "Value to set the initial audio gain for the Live Event.", - "H264Settings$Bitrate": "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.", - "H264Settings$BufFillPct": "Percentage of the buffer that should initially be filled (HRD buffer model).", "H264Settings$BufSize": "Size of buffer (HRD buffer model) in bits/second.", - "H264Settings$FramerateDenominator": "Framerate denominator.", - "H264Settings$FramerateNumerator": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.", "H264Settings$GopClosedCadence": "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.", - "H264Settings$GopNumBFrames": "Number of B-frames between reference frames.", - "H264Settings$MaxBitrate": "Maximum bitrate in bits/second (for VBR mode only).", - "H264Settings$MinIInterval": "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", - "H264Settings$NumRefFrames": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding.", - "H264Settings$ParDenominator": "Pixel Aspect Ratio denominator.", - "H264Settings$ParNumerator": "Pixel Aspect Ratio numerator.", - "H264Settings$Slices": "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.", - "H264Settings$Softness": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image.", "HlsAkamaiSettings$ConnectionRetryInterval": "Number of seconds to wait before retrying connection to the CDN if the connection is lost.", - "HlsAkamaiSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", "HlsAkamaiSettings$NumRetries": "Number of retry attempts that will be made before the Live Event is put into an error state.", - "HlsAkamaiSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", "HlsBasicPutSettings$ConnectionRetryInterval": "Number of seconds to wait before retrying connection to the CDN if the connection is lost.", - "HlsBasicPutSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", "HlsBasicPutSettings$NumRetries": "Number of retry attempts that will be made before the Live Event is put into an error state.", - "HlsBasicPutSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", - "HlsGroupSettings$IndexNSegments": "Number of segments to keep in the playlist (.m3u8) file. mode must be \"vod\" for this setting to have an effect, and this number should be less than or equal to keepSegments.", - "HlsGroupSettings$KeepSegments": "Number of segments to retain in the destination directory. mode must be \"live\" for this setting to have an effect.", "HlsGroupSettings$MinSegmentLength": "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.", - "HlsGroupSettings$ProgramDateTimePeriod": "Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.", - "HlsGroupSettings$SegmentLength": "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.", - "HlsGroupSettings$SegmentsPerSubdirectory": "Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect.", "HlsGroupSettings$TimedMetadataId3Period": "Timed Metadata interval in seconds.", "HlsGroupSettings$TimestampDeltaMilliseconds": "Provides an extra millisecond delta offset to fine tune the timestamps.", "HlsInputSettings$Bandwidth": "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.", @@ -1931,54 +1986,469 @@ "HlsInputSettings$Retries": "The number of consecutive times that attempts to read a manifest or segment must fail before the input is considered unavailable.", "HlsInputSettings$RetryInterval": "The number of seconds between retries when an attempt to read a manifest or segment fails.", "HlsMediaStoreSettings$ConnectionRetryInterval": "Number of seconds to wait before retrying connection to the CDN if the connection is lost.", - "HlsMediaStoreSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", "HlsMediaStoreSettings$NumRetries": "Number of retry attempts that will be made before the Live Event is put into an error state.", - "HlsMediaStoreSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", "HlsWebdavSettings$ConnectionRetryInterval": "Number of seconds to wait before retrying connection to the CDN if the connection is lost.", - "HlsWebdavSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", "HlsWebdavSettings$NumRetries": "Number of retry attempts that will be made before the Live Event is put into an error state.", - "HlsWebdavSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", - "InputChannelLevel$Gain": "Remixing value. Units are in dB and acceptable values are within the range from -60 (mute) and 6 dB.", - "InputChannelLevel$InputChannel": "The index of the input channel used as a source.", - "InputLossBehavior$BlackFrameMsec": "On input loss, the number of milliseconds to substitute black into the output before switching to the frame specified by inputLossImageType. A value x, where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as infinite.", - "InputLossBehavior$RepeatFrameMsec": "On input loss, the number of milliseconds to repeat the previous picture before substituting black into the output. A value x, where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as infinite.", - "InputSettings$FilterStrength": "Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest).", "M2tsSettings$AudioFramesPerPes": "The number of audio frames to insert for each PES packet.", "M2tsSettings$Bitrate": "The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate.", - "M2tsSettings$EbpLookaheadMs": "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.", - "M2tsSettings$PatInterval": "The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.", - "M2tsSettings$PcrPeriod": "Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream.", - "M2tsSettings$PmtInterval": "The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.", - "M2tsSettings$ProgramNum": "The value of the program number field in the Program Map Table.", - "M2tsSettings$TransportStreamId": "The value of the transport stream ID field in the Program Map Table.", "M3u8Settings$AudioFramesPerPes": "The number of audio frames to insert for each PES packet.", - "M3u8Settings$PatInterval": "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.", - "M3u8Settings$PcrPeriod": "Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream.", - "M3u8Settings$PmtInterval": "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.", - "M3u8Settings$ProgramNum": "The value of the program number field in the Program Map Table.", - "M3u8Settings$TransportStreamId": "The value of the transport stream ID field in the Program Map Table.", "MsSmoothGroupSettings$ConnectionRetryInterval": "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.", "MsSmoothGroupSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", - "MsSmoothGroupSettings$FragmentLength": "Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate.", "MsSmoothGroupSettings$NumRetries": "Number of retry attempts.", "MsSmoothGroupSettings$RestartDelay": "Number of seconds before initiating a restart due to output failure, due to exhausting the numRetries on one segment, or exceeding filecacheDuration.", + "RtmpGroupSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", + "RtmpOutputSettings$NumRetries": "Number of retry attempts.", + "UdpGroupSettings$TimedMetadataId3Period": "Timed Metadata interval in seconds." + } + }, + "__integerMin0Max10": { + "base": null, + "refs": { + "BurnInDestinationSettings$OutlineSize": "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.", + "DvbSubDestinationSettings$OutlineSize": "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." + } + }, + "__integerMin0Max100": { + "base": null, + "refs": { + "H264Settings$BufFillPct": "Percentage of the buffer that should initially be filled (HRD buffer model).", + "VideoDescription$Sharpness": "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." + } + }, + "__integerMin0Max1000": { + "base": null, + "refs": { + "M2tsSettings$PatInterval": "The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.", + "M2tsSettings$PmtInterval": "The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.", + "M3u8Settings$PatInterval": "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.", + "M3u8Settings$PmtInterval": "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." + } + }, + "__integerMin0Max10000": { + "base": null, + "refs": { + "M2tsSettings$EbpLookaheadMs": "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.", "MsSmoothGroupSettings$SendDelayMs": "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)", - "RemixSettings$ChannelsIn": "Number of input channels to be used.", - "RemixSettings$ChannelsOut": "Number of output channels to be produced.\nValid values: 1, 2, 4, 6, 8", - "Scte20SourceSettings$Source608ChannelNumber": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough.", - "Scte27SourceSettings$Pid": "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.", - "Scte35SpliceInsert$AdAvailOffset": "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.", - "Scte35TimeSignalApos$AdAvailOffset": "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.", - "TimecodeConfig$SyncThreshold": "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.", - "UdpGroupSettings$TimedMetadataId3Period": "Timed Metadata interval in seconds.", - "UdpOutputSettings$BufferMsec": "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.", - "VideoDescription$Height": "Output video height (in pixels). Leave blank to use source video height. If left blank, width must also be unspecified.", - "VideoDescription$Sharpness": "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.", - "VideoDescription$Width": "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.", - "VideoSelectorPid$Pid": "Selects a specific PID from within a video source.", + "UdpOutputSettings$BufferMsec": "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." + } + }, + "__integerMin0Max1000000": { + "base": null, + "refs": { + "InputLossBehavior$BlackFrameMsec": "On input loss, the number of milliseconds to substitute black into the output before switching to the frame specified by inputLossImageType. A value x, where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as infinite.", + "InputLossBehavior$RepeatFrameMsec": "On input loss, the number of milliseconds to repeat the previous picture before substituting black into the output. A value x, where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as infinite." + } + }, + "__integerMin0Max128": { + "base": null, + "refs": { + "H264Settings$Softness": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image." + } + }, + "__integerMin0Max15": { + "base": null, + "refs": { + "HlsAkamaiSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", + "HlsBasicPutSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", + "HlsMediaStoreSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", + "HlsWebdavSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", + "InputChannelLevel$InputChannel": "The index of the input channel used as a source." + } + }, + "__integerMin0Max255": { + "base": null, + "refs": { + "BurnInDestinationSettings$BackgroundOpacity": "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.", + "BurnInDestinationSettings$FontOpacity": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.", + "BurnInDestinationSettings$ShadowOpacity": "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.", + "DvbSubDestinationSettings$BackgroundOpacity": "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.", + "DvbSubDestinationSettings$FontOpacity": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.", + "DvbSubDestinationSettings$ShadowOpacity": "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." + } + }, + "__integerMin0Max30": { + "base": null, + "refs": { + "H264Settings$MinIInterval": "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" + } + }, + "__integerMin0Max3600": { + "base": null, + "refs": { + "HlsGroupSettings$ProgramDateTimePeriod": "Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds." + } + }, + "__integerMin0Max500": { + "base": null, + "refs": { + "M2tsSettings$PcrPeriod": "Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream.", + "M3u8Settings$PcrPeriod": "Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream." + } + }, + "__integerMin0Max600": { + "base": null, + "refs": { + "HlsAkamaiSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", + "HlsBasicPutSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", + "HlsMediaStoreSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", + "HlsWebdavSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs." + } + }, + "__integerMin0Max65535": { + "base": null, + "refs": { + "M2tsSettings$ProgramNum": "The value of the program number field in the Program Map Table.", + "M2tsSettings$TransportStreamId": "The value of the transport stream ID field in the Program Map Table.", + "M3u8Settings$ProgramNum": "The value of the program number field in the Program Map Table.", + "M3u8Settings$TransportStreamId": "The value of the transport stream ID field in the Program Map Table." + } + }, + "__integerMin0Max65536": { + "base": null, + "refs": { + "DvbNitSettings$NetworkId": "The numeric value placed in the Network Information Table (NIT).", "VideoSelectorProgramId$ProgramId": "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." } }, + "__integerMin0Max7": { + "base": null, + "refs": { + "AudioChannelMapping$OutputChannel": "The index of the output channel being produced.", + "H264Settings$GopNumBFrames": "Number of B-frames between reference frames." + } + }, + "__integerMin0Max8191": { + "base": null, + "refs": { + "AudioPidSelection$Pid": "Selects a specific PID from within a source.", + "VideoSelectorPid$Pid": "Selects a specific PID from within a video source." + } + }, + "__integerMin1": { + "base": null, + "refs": { + "ArchiveGroupSettings$RolloverInterval": "Number of seconds to write to archive file before closing and starting a new one.", + "DvbSubSourceSettings$Pid": "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.", + "H264Settings$ParDenominator": "Pixel Aspect Ratio denominator.", + "HlsGroupSettings$KeepSegments": "If mode is \"live\", the number of TS segments to retain in the destination directory. If mode is \"vod\", this parameter has no effect.", + "HlsGroupSettings$SegmentLength": "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.", + "HlsGroupSettings$SegmentsPerSubdirectory": "Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect.", + "MsSmoothGroupSettings$FragmentLength": "Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate.", + "PurchaseOffering$Count": "Number of resources", + "RtmpOutputSettings$ConnectionRetryInterval": "Number of seconds to wait before retrying a connection to the Flash Media server if the connection is lost.", + "Scte27SourceSettings$Pid": "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." + } + }, + "__integerMin1000": { + "base": null, + "refs": { + "H264Settings$Bitrate": "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.", + "H264Settings$MaxBitrate": "Maximum bitrate in bits/second (for VBR mode only)." + } + }, + "__integerMin1000Max30000": { + "base": null, + "refs": { + "DvbTdtSettings$RepInterval": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "__integerMin1Max1000000": { + "base": null, + "refs": { + "TimecodeConfig$SyncThreshold": "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." + } + }, + "__integerMin1Max16": { + "base": null, + "refs": { + "RemixSettings$ChannelsIn": "Number of input channels to be used." + } + }, + "__integerMin1Max20": { + "base": null, + "refs": { + "FecOutputSettings$RowLength": "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." + } + }, + "__integerMin1Max31": { + "base": null, + "refs": { + "Ac3Settings$Dialnorm": "Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, dialnorm will be passed through.", + "Eac3Settings$Dialnorm": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through." + } + }, + "__integerMin1Max32": { + "base": null, + "refs": { + "H264Settings$Slices": "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." + } + }, + "__integerMin1Max4": { + "base": null, + "refs": { + "CaptionLanguageMapping$CaptionChannel": "The closed caption channel being described by this CaptionLanguageMapping. Each channel mapping must have a unique channel number (maximum of 4)", + "EmbeddedSourceSettings$Source608ChannelNumber": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough.", + "Scte20SourceSettings$Source608ChannelNumber": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough." + } + }, + "__integerMin1Max5": { + "base": null, + "refs": { + "EmbeddedSourceSettings$Source608TrackNumber": "This field is unused and deprecated.", + "InputSettings$FilterStrength": "Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest)." + } + }, + "__integerMin1Max6": { + "base": null, + "refs": { + "H264Settings$NumRefFrames": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding." + } + }, + "__integerMin1Max8": { + "base": null, + "refs": { + "RemixSettings$ChannelsOut": "Number of output channels to be produced.\nValid values: 1, 2, 4, 6, 8" + } + }, + "__integerMin25Max10000": { + "base": null, + "refs": { + "DvbNitSettings$RepInterval": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "__integerMin25Max2000": { + "base": null, + "refs": { + "DvbSdtSettings$RepInterval": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "__integerMin3": { + "base": null, + "refs": { + "HlsGroupSettings$IndexNSegments": "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." + } + }, + "__integerMin30": { + "base": null, + "refs": { + "RtmpGroupSettings$CacheLength": "Cache length, in seconds, is used to calculate buffer size." + } + }, + "__integerMin4Max20": { + "base": null, + "refs": { + "FecOutputSettings$ColumnDepth": "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." + } + }, + "__integerMin96Max600": { + "base": null, + "refs": { + "BurnInDestinationSettings$FontResolution": "Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match.", + "DvbSubDestinationSettings$FontResolution": "Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match." + } + }, + "__integerMinNegative1000Max1000": { + "base": null, + "refs": { + "Scte35SpliceInsert$AdAvailOffset": "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.", + "Scte35TimeSignalApos$AdAvailOffset": "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." + } + }, + "__integerMinNegative60Max6": { + "base": null, + "refs": { + "InputChannelLevel$Gain": "Remixing value. Units are in dB and acceptable values are within the range from -60 (mute) and 6 dB." + } + }, + "__integerMinNegative60Max60": { + "base": null, + "refs": { + "GlobalConfiguration$InitialAudioGain": "Value to set the initial audio gain for the Live Event." + } + }, + "__listOfAudioChannelMapping": { + "base": null, + "refs": { + "RemixSettings$ChannelMappings": "Mapping of input channels to output channels, with appropriate gain adjustments." + } + }, + "__listOfAudioDescription": { + "base": null, + "refs": { + "EncoderSettings$AudioDescriptions": null + } + }, + "__listOfAudioSelector": { + "base": null, + "refs": { + "InputSettings$AudioSelectors": "Used to select the audio stream to decode for inputs that have multiple available." + } + }, + "__listOfCaptionDescription": { + "base": null, + "refs": { + "EncoderSettings$CaptionDescriptions": "Settings for caption decriptions" + } + }, + "__listOfCaptionLanguageMapping": { + "base": null, + "refs": { + "HlsGroupSettings$CaptionLanguageMappings": "Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to \"insert\"." + } + }, + "__listOfCaptionSelector": { + "base": null, + "refs": { + "InputSettings$CaptionSelectors": "Used to select the caption input to use for inputs that have multiple available." + } + }, + "__listOfChannelEgressEndpoint": { + "base": null, + "refs": { + "Channel$EgressEndpoints": "The endpoints where outgoing connections initiate from", + "ChannelSummary$EgressEndpoints": "The endpoints where outgoing connections initiate from" + } + }, + "__listOfChannelSummary": { + "base": null, + "refs": { + "ListChannelsResultModel$Channels": null + } + }, + "__listOfHlsAdMarkers": { + "base": null, + "refs": { + "HlsGroupSettings$AdMarkers": "Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs." + } + }, + "__listOfInput": { + "base": null, + "refs": { + "ListInputsResultModel$Inputs": null + } + }, + "__listOfInputAttachment": { + "base": null, + "refs": { + "Channel$InputAttachments": "List of input attachments for channel.", + "ChannelSummary$InputAttachments": "List of input attachments for channel.", + "CreateChannel$InputAttachments": "List of input attachments for channel.", + "UpdateChannel$InputAttachments": null + } + }, + "__listOfInputChannelLevel": { + "base": null, + "refs": { + "AudioChannelMapping$InputChannelLevels": "Indices and gain values for each input channel that should be remixed into this output channel." + } + }, + "__listOfInputDestination": { + "base": null, + "refs": { + "Input$Destinations": "A list of the destinations of the input (PUSH-type)." + } + }, + "__listOfInputDestinationRequest": { + "base": null, + "refs": { + "CreateInput$Destinations": "Destination settings for PUSH type inputs.", + "UpdateInput$Destinations": "Destination settings for PUSH type inputs." + } + }, + "__listOfInputSecurityGroup": { + "base": null, + "refs": { + "ListInputSecurityGroupsResultModel$InputSecurityGroups": "List of input security groups" + } + }, + "__listOfInputSource": { + "base": null, + "refs": { + "Input$Sources": "A list of the sources of the input (PULL-type)." + } + }, + "__listOfInputSourceRequest": { + "base": null, + "refs": { + "CreateInput$Sources": "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", + "UpdateInput$Sources": "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" + } + }, + "__listOfInputWhitelistRule": { + "base": null, + "refs": { + "InputSecurityGroup$WhitelistRules": "Whitelist rules and their sync status" + } + }, + "__listOfInputWhitelistRuleCidr": { + "base": null, + "refs": { + "InputSecurityGroupWhitelistRequest$WhitelistRules": "List of IPv4 CIDR addresses to whitelist" + } + }, + "__listOfOffering": { + "base": null, + "refs": { + "ListOfferingsResultModel$Offerings": "List of offerings" + } + }, + "__listOfOutput": { + "base": null, + "refs": { + "OutputGroup$Outputs": null + } + }, + "__listOfOutputDestination": { + "base": null, + "refs": { + "Channel$Destinations": "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", + "ChannelSummary$Destinations": "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", + "CreateChannel$Destinations": null, + "UpdateChannel$Destinations": "A list of output destinations for this channel." + } + }, + "__listOfOutputDestinationSettings": { + "base": null, + "refs": { + "OutputDestination$Settings": "Destination settings for output; one for each redundant encoder." + } + }, + "__listOfOutputGroup": { + "base": null, + "refs": { + "EncoderSettings$OutputGroups": null + } + }, + "__listOfReservation": { + "base": null, + "refs": { + "ListReservationsResultModel$Reservations": "List of reservations" + } + }, + "__listOfValidationError": { + "base": null, + "refs": { + "ChannelConfigurationValidationError$ValidationErrors": "A collection of validation error responses from attempting to create a channel with a bouquet of settings." + } + }, + "__listOfVideoDescription": { + "base": null, + "refs": { + "EncoderSettings$VideoDescriptions": null + } + }, + "__listOf__string": { + "base": null, + "refs": { + "CreateInput$InputSecurityGroups": "A list of security groups referenced by IDs to attach to the input.", + "Input$AttachedChannels": "A list of channel IDs that that input is attached to (currently an input can only be attached to one channel).", + "Input$SecurityGroups": "A list of IDs for all the security groups attached to the input.", + "InputSecurityGroup$Inputs": "The list of inputs currently using this Input Security Group.", + "Output$AudioDescriptionNames": "The names of the AudioDescriptions used as audio sources for this output.", + "Output$CaptionDescriptionNames": "The names of the CaptionDescriptions used as caption sources for this output.", + "UpdateInput$InputSecurityGroups": "A list of security groups referenced by IDs to attach to the input." + } + }, "__string": { "base": null, "refs": { @@ -1986,20 +2456,17 @@ "ArchiveOutputSettings$Extension": "Output file extension. If excluded, this will be auto-selected from the container type.", "ArchiveOutputSettings$NameModifier": "String concatenated to the end of the destination filename. Required for multiple outputs of the same type.", "AudioDescription$AudioSelectorName": "The name of the AudioSelector used as the source for this AudioDescription.", - "AudioDescription$LanguageCode": "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.", "AudioDescription$Name": "The name of this AudioDescription. Outputs will use this name to uniquely identify this AudioDescription. Description names should be unique within this Live Event.", "AudioDescription$StreamName": "Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by the player (eg. English, or Director Commentary).", "AudioLanguageSelection$LanguageCode": "Selects a specific three-letter language code from within an audio source.", "AudioOnlyHlsSettings$AudioGroupId": "Specifies the group to which the audio Rendition belongs.", "AudioSelector$Name": "The name of this AudioSelector. AudioDescriptions will use this name to uniquely identify this Selector. Selector names should be unique per input.", - "BlackoutSlate$NetworkId": "Provides Network ID that matches EIDR ID format (e.g., \"10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C\").", + "BadGatewayException$Message": null, "BurnInDestinationSettings$FontSize": "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.", "CaptionDescription$CaptionSelectorName": "Specifies which input caption selector to use as a caption source when generating output captions. This field should match a captionSelector name.", "CaptionDescription$LanguageCode": "ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/", "CaptionDescription$LanguageDescription": "Human readable information to indicate captions available for players (eg. English, or Spanish).", "CaptionDescription$Name": "Name of the caption description. Used to associate a caption description with an output. Names must be unique within an event.", - "CaptionLanguageMapping$LanguageCode": "Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2)", - "CaptionLanguageMapping$LanguageDescription": "Textual description of language", "CaptionSelector$LanguageCode": "When specified this field indicates the three letter language code of the caption track to extract from the source.", "CaptionSelector$Name": "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.", "Channel$Arn": "The unique arn of the channel.", @@ -2014,57 +2481,53 @@ "ChannelSummary$RoleArn": "The Amazon Resource Name (ARN) of the role assumed when running the Channel.", "CreateChannel$Name": "Name of channel.", "CreateChannel$RequestId": "Unique request ID to be specified. This is needed to prevent retries from\ncreating multiple resources.\n", - "CreateChannel$Reserved": "Reserved for future use.", + "CreateChannel$Reserved": "Deprecated field that's only usable by whitelisted customers.", "CreateChannel$RoleArn": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel.", "CreateInput$Name": "Name of the input.", - "CreateInput$RequestId": "Unique identifier of the request to ensure the request is handled\nexactly once in case of retries\n", - "DvbNitSettings$NetworkName": "The network name text placed in the networkNameDescriptor inside the Network Information Table. Maximum length is 256 characters.", - "DvbSdtSettings$ServiceName": "The service name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters.", - "DvbSdtSettings$ServiceProviderName": "The service provider name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters.", + "CreateInput$RequestId": "Unique identifier of the request to ensure the request is handled\nexactly once in case of retries.\n", "DvbSubDestinationSettings$FontSize": "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.", + "GatewayTimeoutException$Message": null, "HlsAkamaiSettings$Salt": "Salt for authenticated Akamai.", "HlsAkamaiSettings$Token": "Token parameter for authenticated akamai. If not specified, _gda_ is used.", "HlsGroupSettings$BaseUrlContent": "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.", "HlsGroupSettings$BaseUrlManifest": "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.", - "HlsGroupSettings$ConstantIv": "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.", "HlsGroupSettings$KeyFormat": "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.", "HlsGroupSettings$KeyFormatVersions": "Either a single positive integer version value or a slash delimited list of version values (1/2/3).", - "HlsOutputSettings$NameModifier": "String concatenated to the end of the destination filename. Accepts \\\"Format Identifiers\\\":#formatIdentifierParameters.", "HlsOutputSettings$SegmentModifier": "String concatenated to end of segment filenames.", - "Input$Arn": "Unique ARN of input (generated, immutable)", - "Input$Id": "generated ID of input (unique for user account, immutable)", - "Input$Name": "user-assigned name (mutable)", + "Input$Arn": "The Unique ARN of the input (generated, immutable).", + "Input$Id": "The generated ID of the input (unique for user account, immutable).", + "Input$Name": "The user-assigned name (This is a mutable value).", "InputAttachment$InputId": "The ID of the input", - "InputDestination$Ip": "system-generated static IP address of endpoint.\nRemains fixed for the lifetime of the input\n", - "InputDestination$Port": "port for input", + "InputDestination$Ip": "The system-generated static IP address of endpoint.\nIt remains fixed for the lifetime of the input.\n", + "InputDestination$Port": "The port number for the input.", "InputDestination$Url": "This represents the endpoint that the customer stream will be\npushed to.\n", "InputDestinationRequest$StreamName": "A unique name for the location the RTMP stream is being pushed\nto.\n", "InputLocation$PasswordParam": "key used to extract the password from EC2 Parameter store", - "InputLocation$Uri": "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 rtmpEndpoint should have a uri simliar to: \"rtmp://fmsserver/live\".", + "InputLocation$Uri": "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\".", "InputLocation$Username": "Username if credentials are required to access a file or publishing point. This can be either a plaintext username, or a reference to an AWS parameter store name from which the username can be retrieved. AWS Parameter store format: \"ssm://\"", - "InputLossBehavior$InputLossImageColor": "When input loss image type is \"color\" this field specifies the color to use. Value: 6 hex characters representing the values of RGB.", "InputSecurityGroup$Arn": "Unique ARN of Input Security Group", "InputSecurityGroup$Id": "The Id of the Input Security Group", - "InputSource$PasswordParam": "key used to extract the password from EC2 Parameter store", + "InputSource$PasswordParam": "The key used to extract the password from EC2 Parameter store.", "InputSource$Url": "This represents the customer's source URL where stream is\npulled from.\n", - "InputSource$Username": "username for input source", - "InputSourceRequest$PasswordParam": "key used to extract the password from EC2 Parameter store", + "InputSource$Username": "The username for the input source.", + "InputSourceRequest$PasswordParam": "The key used to extract the password from EC2 Parameter store.", "InputSourceRequest$Url": "This represents the customer's source URL where stream is\npulled from.\n", - "InputSourceRequest$Username": "username for input source", + "InputSourceRequest$Username": "The username for the input source.", "InputWhitelistRule$Cidr": "The IPv4 CIDR that's whitelisted.", - "InputWhitelistRuleCidr$Cidr": "The IPv4 CIDR to whitelist", + "InputWhitelistRuleCidr$Cidr": "The IPv4 CIDR to whitelist.", "InternalServiceError$Message": null, "InvalidRequest$Message": null, "LimitExceeded$Message": null, "ListChannelsResultModel$NextToken": null, "ListInputSecurityGroupsResultModel$NextToken": null, "ListInputsResultModel$NextToken": null, - "ListOf__string$member": null, + "ListOfferingsResultModel$NextToken": "Token to retrieve the next page of results", + "ListReservationsResultModel$NextToken": "Token to retrieve the next page of results", "M2tsSettings$AribCaptionsPid": "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).", "M2tsSettings$AudioPids": "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).", "M2tsSettings$DvbSubPids": "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).", "M2tsSettings$DvbTeletextPid": "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).", - "M2tsSettings$EcmPid": "Packet Identifier (PID) for ECM in the transport stream. Only enabled when Simulcrypt is enabled. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).", + "M2tsSettings$EcmPid": "This field is unused and deprecated.", "M2tsSettings$EtvPlatformPid": "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).", "M2tsSettings$EtvSignalPid": "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).", "M2tsSettings$KlvDataPids": "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).", @@ -2075,32 +2538,104 @@ "M2tsSettings$TimedMetadataPid": "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).", "M2tsSettings$VideoPid": "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).", "M3u8Settings$AudioPids": "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.", - "M3u8Settings$EcmPid": "ThePlatform-protected transport streams using 'microsoft' as Target Client include an ECM stream. This ECM stream contains the size, IV, and PTS of every sample in the transport stream. This stream PID is specified here. This PID has no effect on non ThePlatform-protected streams.", + "M3u8Settings$EcmPid": "This parameter is unused and deprecated.", "M3u8Settings$PcrPid": "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.", "M3u8Settings$PmtPid": "Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value.", "M3u8Settings$Scte35Pid": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value.", + "M3u8Settings$TimedMetadataPid": "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).", "M3u8Settings$VideoPid": "Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value.", "MsSmoothGroupSettings$AcquisitionPointId": "The value of the \"Acquisition Point Identity\" element used in each message placed in the sparse track. Only enabled if sparseTrackType is not \"none\".", "MsSmoothGroupSettings$EventId": "MS Smooth event ID to be sent to the IIS server.\n\nShould only be specified if eventIdMode is set to useConfigured.", "MsSmoothGroupSettings$TimestampOffset": "Timestamp offset for the event. Only used if timestampOffsetMode is set to useConfiguredOffset.", "MsSmoothOutputSettings$NameModifier": "String concatenated to the end of the destination filename. Required for multiple outputs of the same type.", - "Output$OutputName": "The name used to identify an output.", + "Offering$Arn": "Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'", + "Offering$CurrencyCode": "Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'", + "Offering$OfferingDescription": "Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'", + "Offering$OfferingId": "Unique offering ID, e.g. '87654321'", + "Offering$Region": "AWS region, e.g. 'us-west-2'", "Output$VideoDescriptionName": "The name of the VideoDescription used as the source for this output.", "OutputDestination$Id": "User-specified id. This is used in an output group or an output.", "OutputDestinationSettings$PasswordParam": "key used to extract the password from EC2 Parameter store", + "OutputDestinationSettings$StreamName": "Stream name for RTMP destinations (URLs of type rtmp://)", "OutputDestinationSettings$Url": "A URL specifying a destination", "OutputDestinationSettings$Username": "username for destination", - "OutputGroup$Name": "Custom output group name optionally defined by the user. Only letters, numbers, and the underscore character allowed; only 32 characters allowed.", "OutputLocationRef$DestinationRefId": null, + "PurchaseOffering$Name": "Name for the new reservation", + "PurchaseOffering$RequestId": "Unique request ID to be specified. This is needed to prevent retries from creating multiple resources.", + "Reservation$Arn": "Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'", + "Reservation$CurrencyCode": "Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'", + "Reservation$End": "Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00'", + "Reservation$Name": "User specified reservation name", + "Reservation$OfferingDescription": "Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'", + "Reservation$OfferingId": "Unique offering ID, e.g. '87654321'", + "Reservation$Region": "AWS region, e.g. 'us-west-2'", + "Reservation$ReservationId": "Unique reservation ID, e.g. '1234567'", + "Reservation$Start": "Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00'", "ResourceConflict$Message": null, "ResourceNotFound$Message": null, "StandardHlsSettings$AudioRenditionSets": "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 ','.", - "StaticKeySettings$StaticKeyValue": "Static key value as a 32 character hexadecimal string.", "TeletextSourceSettings$PageNumber": "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.", + "UpdateChannel$Name": "The name of the channel.", + "UpdateChannel$RoleArn": "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.", + "UpdateInput$Name": "Name of the input.", "ValidationError$ElementPath": null, "ValidationError$ErrorMessage": null, - "VideoDescription$Name": "The name of this VideoDescription. Outputs will use this name to uniquely identify this Description. Description names should be unique within this Live Event." + "VideoDescription$Name": "The name of this VideoDescription. Outputs will use this name to uniquely identify this Description. Description names should be unique within this Live Event.", + "__listOf__string$member": null + } + }, + "__stringMax32": { + "base": null, + "refs": { + "OutputGroup$Name": "Custom output group name optionally defined by the user. Only letters, numbers, and the underscore character allowed; only 32 characters allowed." + } + }, + "__stringMin1": { + "base": null, + "refs": { + "CaptionLanguageMapping$LanguageDescription": "Textual description of language", + "HlsOutputSettings$NameModifier": "String concatenated to the end of the destination filename. Accepts \\\"Format Identifiers\\\":#formatIdentifierParameters." + } + }, + "__stringMin1Max255": { + "base": null, + "refs": { + "Output$OutputName": "The name used to identify an output." + } + }, + "__stringMin1Max256": { + "base": null, + "refs": { + "DvbNitSettings$NetworkName": "The network name text placed in the networkNameDescriptor inside the Network Information Table. Maximum length is 256 characters.", + "DvbSdtSettings$ServiceName": "The service name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters.", + "DvbSdtSettings$ServiceProviderName": "The service provider name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters." + } + }, + "__stringMin32Max32": { + "base": null, + "refs": { + "HlsGroupSettings$ConstantIv": "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.", + "StaticKeySettings$StaticKeyValue": "Static key value as a 32 character hexadecimal string." + } + }, + "__stringMin34Max34": { + "base": null, + "refs": { + "BlackoutSlate$NetworkId": "Provides Network ID that matches EIDR ID format (e.g., \"10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C\")." + } + }, + "__stringMin3Max3": { + "base": null, + "refs": { + "AudioDescription$LanguageCode": "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.", + "CaptionLanguageMapping$LanguageCode": "Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2)" + } + }, + "__stringMin6Max6": { + "base": null, + "refs": { + "InputLossBehavior$InputLossImageColor": "When input loss image type is \"color\" this field specifies the color to use. Value: 6 hex characters representing the values of RGB." } } } -} \ No newline at end of file +} diff --git a/models/apis/medialive/2017-10-14/paginators-1.json b/models/apis/medialive/2017-10-14/paginators-1.json index 1335d966395..c9bc58df447 100644 --- a/models/apis/medialive/2017-10-14/paginators-1.json +++ b/models/apis/medialive/2017-10-14/paginators-1.json @@ -17,6 +17,18 @@ "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" } } } diff --git a/models/apis/mediapackage/2017-10-12/api-2.json b/models/apis/mediapackage/2017-10-12/api-2.json index 8178115dd60..d067754ae41 100644 --- a/models/apis/mediapackage/2017-10-12/api-2.json +++ b/models/apis/mediapackage/2017-10-12/api-2.json @@ -428,13 +428,16 @@ "shape": "__string" } }, + "required": [ + "Id" + ], "type": "structure" }, "ChannelList": { "members": { "Channels": { "locationName": "channels", - "shape": "ListOfChannel" + "shape": "__listOfChannel" }, "NextToken": { "locationName": "nextToken", @@ -452,6 +455,72 @@ }, "type": "structure" }, + "CmafEncryption": { + "members": { + "KeyRotationIntervalSeconds": { + "locationName": "keyRotationIntervalSeconds", + "shape": "__integer" + }, + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "CmafPackage": { + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "CmafEncryption" + }, + "HlsManifests": { + "locationName": "hlsManifests", + "shape": "__listOfHlsManifest" + }, + "SegmentDurationSeconds": { + "locationName": "segmentDurationSeconds", + "shape": "__integer" + }, + "SegmentPrefix": { + "locationName": "segmentPrefix", + "shape": "__string" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, + "CmafPackageCreateOrUpdateParameters": { + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "CmafEncryption" + }, + "HlsManifests": { + "locationName": "hlsManifests", + "shape": "__listOfHlsManifestCreateOrUpdateParameters" + }, + "SegmentDurationSeconds": { + "locationName": "segmentDurationSeconds", + "shape": "__integer" + }, + "SegmentPrefix": { + "locationName": "segmentPrefix", + "shape": "__string" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, "CreateChannelRequest": { "members": { "Description": { @@ -495,6 +564,10 @@ "locationName": "channelId", "shape": "__string" }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackageCreateOrUpdateParameters" + }, "DashPackage": { "locationName": "dashPackage", "shape": "DashPackage" @@ -529,7 +602,7 @@ }, "Whitelist": { "locationName": "whitelist", - "shape": "ListOf__string" + "shape": "__listOf__string" } }, "required": [ @@ -548,6 +621,10 @@ "locationName": "channelId", "shape": "__string" }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, "DashPackage": { "locationName": "dashPackage", "shape": "DashPackage" @@ -586,7 +663,7 @@ }, "Whitelist": { "locationName": "whitelist", - "shape": "ListOf__string" + "shape": "__listOf__string" } }, "type": "structure" @@ -624,7 +701,11 @@ "MinUpdatePeriodSeconds": { "locationName": "minUpdatePeriodSeconds", "shape": "__integer" - }, + }, + "PeriodTriggers": { + "locationName": "periodTriggers", + "shape": "__listOf__PeriodTriggersElement" + }, "Profile": { "locationName": "profile", "shape": "Profile" @@ -735,6 +816,10 @@ "locationName": "channelId", "shape": "__string" }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, "DashPackage": { "locationName": "dashPackage", "shape": "DashPackage" @@ -773,7 +858,7 @@ }, "Whitelist": { "locationName": "whitelist", - "shape": "ListOf__string" + "shape": "__listOf__string" } }, "type": "structure" @@ -830,9 +915,85 @@ "members": { "IngestEndpoints": { "locationName": "ingestEndpoints", - "shape": "ListOfIngestEndpoint" + "shape": "__listOfIngestEndpoint" + } + }, + "type": "structure" + }, + "HlsManifest": { + "members": { + "AdMarkers": { + "locationName": "adMarkers", + "shape": "AdMarkers" + }, + "Id": { + "locationName": "id", + "shape": "__string" + }, + "IncludeIframeOnlyStream": { + "locationName": "includeIframeOnlyStream", + "shape": "__boolean" + }, + "ManifestName": { + "locationName": "manifestName", + "shape": "__string" + }, + "PlaylistType": { + "locationName": "playlistType", + "shape": "PlaylistType" + }, + "PlaylistWindowSeconds": { + "locationName": "playlistWindowSeconds", + "shape": "__integer" + }, + "ProgramDateTimeIntervalSeconds": { + "locationName": "programDateTimeIntervalSeconds", + "shape": "__integer" + }, + "Url": { + "locationName": "url", + "shape": "__string" } }, + "required": [ + "Id" + ], + "type": "structure" + }, + "HlsManifestCreateOrUpdateParameters": { + "members": { + "AdMarkers": { + "locationName": "adMarkers", + "shape": "AdMarkers" + }, + "Id": { + "locationName": "id", + "shape": "__string" + }, + "IncludeIframeOnlyStream": { + "locationName": "includeIframeOnlyStream", + "shape": "__boolean" + }, + "ManifestName": { + "locationName": "manifestName", + "shape": "__string" + }, + "PlaylistType": { + "locationName": "playlistType", + "shape": "PlaylistType" + }, + "PlaylistWindowSeconds": { + "locationName": "playlistWindowSeconds", + "shape": "__integer" + }, + "ProgramDateTimeIntervalSeconds": { + "locationName": "programDateTimeIntervalSeconds", + "shape": "__integer" + } + }, + "required": [ + "Id" + ], "type": "structure" }, "HlsPackage": { @@ -925,7 +1086,7 @@ "members": { "Channels": { "locationName": "channels", - "shape": "ListOfChannel" + "shape": "__listOfChannel" }, "NextToken": { "locationName": "nextToken", @@ -934,30 +1095,6 @@ }, "type": "structure" }, - "ListOfChannel": { - "member": { - "shape": "Channel" - }, - "type": "list" - }, - "ListOfIngestEndpoint": { - "member": { - "shape": "IngestEndpoint" - }, - "type": "list" - }, - "ListOfOriginEndpoint": { - "member": { - "shape": "OriginEndpoint" - }, - "type": "list" - }, - "ListOf__string": { - "member": { - "shape": "__string" - }, - "type": "list" - }, "ListOriginEndpointsRequest": { "members": { "ChannelId": { @@ -986,7 +1123,7 @@ }, "OriginEndpoints": { "locationName": "originEndpoints", - "shape": "ListOfOriginEndpoint" + "shape": "__listOfOriginEndpoint" } }, "type": "structure" @@ -1052,6 +1189,10 @@ "locationName": "channelId", "shape": "__string" }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, "DashPackage": { "locationName": "dashPackage", "shape": "DashPackage" @@ -1090,7 +1231,7 @@ }, "Whitelist": { "locationName": "whitelist", - "shape": "ListOf__string" + "shape": "__listOf__string" } }, "type": "structure" @@ -1101,6 +1242,10 @@ "locationName": "channelId", "shape": "__string" }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackageCreateOrUpdateParameters" + }, "DashPackage": { "locationName": "dashPackage", "shape": "DashPackage" @@ -1135,9 +1280,13 @@ }, "Whitelist": { "locationName": "whitelist", - "shape": "ListOf__string" + "shape": "__listOf__string" } }, + "required": [ + "Id", + "ChannelId" + ], "type": "structure" }, "OriginEndpointList": { @@ -1148,13 +1297,17 @@ }, "OriginEndpoints": { "locationName": "originEndpoints", - "shape": "ListOfOriginEndpoint" + "shape": "__listOfOriginEndpoint" } }, "type": "structure" }, "OriginEndpointUpdateParameters": { "members": { + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackageCreateOrUpdateParameters" + }, "DashPackage": { "locationName": "dashPackage", "shape": "DashPackage" @@ -1185,7 +1338,7 @@ }, "Whitelist": { "locationName": "whitelist", - "shape": "ListOf__string" + "shape": "__listOf__string" } }, "type": "structure" @@ -1264,7 +1417,7 @@ }, "SystemIds": { "locationName": "systemIds", - "shape": "ListOf__string" + "shape": "__listOf__string" }, "Url": { "locationName": "url", @@ -1370,6 +1523,10 @@ }, "UpdateOriginEndpointRequest": { "members": { + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackageCreateOrUpdateParameters" + }, "DashPackage": { "locationName": "dashPackage", "shape": "DashPackage" @@ -1405,7 +1562,7 @@ }, "Whitelist": { "locationName": "whitelist", - "shape": "ListOf__string" + "shape": "__listOf__string" } }, "required": [ @@ -1423,6 +1580,10 @@ "locationName": "channelId", "shape": "__string" }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, "DashPackage": { "locationName": "dashPackage", "shape": "DashPackage" @@ -1461,11 +1622,17 @@ }, "Whitelist": { "locationName": "whitelist", - "shape": "ListOf__string" + "shape": "__listOf__string" } }, "type": "structure" - }, + }, + "__PeriodTriggersElement": { + "enum": [ + "ADS" + ], + "type": "string" + }, "__boolean": { "type": "boolean" }, @@ -1475,11 +1642,53 @@ "__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" - }, - "__timestamp": { - "type": "timestamp" } } } \ No newline at end of file diff --git a/models/apis/mediapackage/2017-10-12/docs-2.json b/models/apis/mediapackage/2017-10-12/docs-2.json index 7f64deaea87..45ea373859a 100644 --- a/models/apis/mediapackage/2017-10-12/docs-2.json +++ b/models/apis/mediapackage/2017-10-12/docs-2.json @@ -18,13 +18,15 @@ "AdMarkers" : { "base" : null, "refs" : { + "HlsManifest$AdMarkers" : "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", + "HlsManifestCreateOrUpdateParameters$AdMarkers" : "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", "HlsPackage$AdMarkers" : "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" } }, "Channel" : { "base" : "A Channel resource configuration.", "refs" : { - "ListOfChannel$member" : null + "__listOfChannel$member" : null } }, "ChannelCreateParameters" : { @@ -39,6 +41,26 @@ "base" : "Configuration parameters for updating an existing Channel.", "refs" : { } }, + "CmafEncryption" : { + "base" : "A Common Media Application Format (CMAF) encryption configuration.", + "refs" : { + "CmafPackage$Encryption" : null, + "CmafPackageCreateOrUpdateParameters$Encryption" : null + } + }, + "CmafPackage" : { + "base" : "A Common Media Application Format (CMAF) packaging configuration.", + "refs" : { + "OriginEndpoint$CmafPackage" : null + } + }, + "CmafPackageCreateOrUpdateParameters" : { + "base" : "A Common Media Application Format (CMAF) packaging configuration.", + "refs" : { + "OriginEndpointCreateParameters$CmafPackage" : null, + "OriginEndpointUpdateParameters$CmafPackage" : null + } + }, "DashEncryption" : { "base" : "A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.", "refs" : { @@ -71,6 +93,18 @@ "Channel$HlsIngest" : null } }, + "HlsManifest" : { + "base" : "A HTTP Live Streaming (HLS) manifest configuration.", + "refs" : { + "__listOfHlsManifest$member" : null + } + }, + "HlsManifestCreateOrUpdateParameters" : { + "base" : "A HTTP Live Streaming (HLS) manifest configuration.", + "refs" : { + "__listOfHlsManifestCreateOrUpdateParameters$member" : null + } + }, "HlsPackage" : { "base" : "An HTTP Live Streaming (HLS) packaging configuration.", "refs" : { @@ -82,34 +116,7 @@ "IngestEndpoint" : { "base" : "An endpoint for ingesting source content for a Channel.", "refs" : { - "ListOfIngestEndpoint$member" : null - } - }, - "ListOfChannel" : { - "base" : null, - "refs" : { - "ChannelList$Channels" : "A list of Channel records." - } - }, - "ListOfIngestEndpoint" : { - "base" : null, - "refs" : { - "HlsIngest$IngestEndpoints" : "A list of endpoints to which the source stream should be sent." - } - }, - "ListOfOriginEndpoint" : { - "base" : null, - "refs" : { - "OriginEndpointList$OriginEndpoints" : "A list of OriginEndpoint records." - } - }, - "ListOf__string" : { - "base" : null, - "refs" : { - "OriginEndpoint$Whitelist" : "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", - "OriginEndpointCreateParameters$Whitelist" : "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", - "OriginEndpointUpdateParameters$Whitelist" : "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", - "SpekeKeyProvider$SystemIds" : "The system IDs to include in key requests." + "__listOfIngestEndpoint$member" : null } }, "MssEncryption" : { @@ -129,7 +136,7 @@ "OriginEndpoint" : { "base" : "An OriginEndpoint resource configuration.", "refs" : { - "ListOfOriginEndpoint$member" : null + "__listOfOriginEndpoint$member" : null } }, "OriginEndpointCreateParameters" : { @@ -147,6 +154,8 @@ "PlaylistType" : { "base" : null, "refs" : { + "HlsManifest$PlaylistType" : "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", + "HlsManifestCreateOrUpdateParameters$PlaylistType" : "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", "HlsPackage$PlaylistType" : "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" } }, @@ -159,6 +168,7 @@ "SpekeKeyProvider" : { "base" : "A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that will provide encryption keys.", "refs" : { + "CmafEncryption$SpekeKeyProvider" : null, "DashEncryption$SpekeKeyProvider" : null, "HlsEncryption$SpekeKeyProvider" : null, "MssEncryption$SpekeKeyProvider" : null @@ -173,15 +183,25 @@ "StreamSelection" : { "base" : "A StreamSelection configuration.", "refs" : { + "CmafPackage$StreamSelection" : null, + "CmafPackageCreateOrUpdateParameters$StreamSelection" : null, "DashPackage$StreamSelection" : null, "HlsPackage$StreamSelection" : null, "MssPackage$StreamSelection" : null } }, + "__PeriodTriggersElement" : { + "base" : null, + "refs" : { + "__listOf__PeriodTriggersElement$member" : null + } + }, "__boolean" : { "base" : null, "refs" : { "HlsEncryption$RepeatExtXKey" : "When enabled, the EXT-X-KEY tag will be repeated in output manifests.", + "HlsManifest$IncludeIframeOnlyStream" : "When enabled, an I-Frame only stream will be included in the output.", + "HlsManifestCreateOrUpdateParameters$IncludeIframeOnlyStream" : "When enabled, an I-Frame only stream will be included in the output.", "HlsPackage$IncludeIframeOnlyStream" : "When enabled, an I-Frame only stream will be included in the output.", "HlsPackage$UseAudioRenditionGroup" : "When enabled, audio streams will be placed in rendition groups in the output." } @@ -189,6 +209,9 @@ "__integer" : { "base" : null, "refs" : { + "CmafEncryption$KeyRotationIntervalSeconds" : "Time (in seconds) between each encryption key rotation.", + "CmafPackage$SegmentDurationSeconds" : "Duration (in seconds) of each segment. Actual segments will be\nrounded to the nearest multiple of the source segment duration.\n", + "CmafPackageCreateOrUpdateParameters$SegmentDurationSeconds" : "Duration (in seconds) of each segment. Actual segments will be\nrounded to the nearest multiple of the source segment duration.\n", "DashEncryption$KeyRotationIntervalSeconds" : "Time (in seconds) between each encryption key rotation.", "DashPackage$ManifestWindowSeconds" : "Time window (in seconds) contained in each manifest.", "DashPackage$MinBufferTimeSeconds" : "Minimum duration (in seconds) that a player will buffer media before starting the presentation.", @@ -196,8 +219,12 @@ "DashPackage$SegmentDurationSeconds" : "Duration (in seconds) of each segment. Actual segments will be\nrounded to the nearest multiple of the source segment duration.\n", "DashPackage$SuggestedPresentationDelaySeconds" : "Duration (in seconds) to delay live content before presentation.", "HlsEncryption$KeyRotationIntervalSeconds" : "Interval (in seconds) between each encryption key rotation.", + "HlsManifest$PlaylistWindowSeconds" : "Time window (in seconds) contained in each parent manifest.", + "HlsManifest$ProgramDateTimeIntervalSeconds" : "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", + "HlsManifestCreateOrUpdateParameters$PlaylistWindowSeconds" : "Time window (in seconds) contained in each parent manifest.", + "HlsManifestCreateOrUpdateParameters$ProgramDateTimeIntervalSeconds" : "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", "HlsPackage$PlaylistWindowSeconds" : "Time window (in seconds) contained in each parent manifest.", - "HlsPackage$ProgramDateTimeIntervalSeconds" : "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", + "HlsPackage$ProgramDateTimeIntervalSeconds" : "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", "HlsPackage$SegmentDurationSeconds" : "Duration (in seconds) of each fragment. Actual fragments will be\nrounded to the nearest multiple of the source fragment duration.\n", "MssPackage$ManifestWindowSeconds" : "The time window (in seconds) contained in each manifest.", "MssPackage$SegmentDurationSeconds" : "The duration (in seconds) of each segment.", @@ -211,6 +238,51 @@ "StreamSelection$MinVideoBitsPerSecond" : "The minimum video bitrate (bps) to include in output." } }, + "__listOfChannel" : { + "base" : null, + "refs" : { + "ChannelList$Channels" : "A list of Channel records." + } + }, + "__listOfHlsManifest" : { + "base" : null, + "refs" : { + "CmafPackage$HlsManifests" : "A list of HLS manifest configurations" + } + }, + "__listOfHlsManifestCreateOrUpdateParameters" : { + "base" : null, + "refs" : { + "CmafPackageCreateOrUpdateParameters$HlsManifests" : "A list of HLS manifest configurations" + } + }, + "__listOfIngestEndpoint" : { + "base" : null, + "refs" : { + "HlsIngest$IngestEndpoints" : "A list of endpoints to which the source stream should be sent." + } + }, + "__listOfOriginEndpoint" : { + "base" : null, + "refs" : { + "OriginEndpointList$OriginEndpoints" : "A list of OriginEndpoint records." + } + }, + "__listOf__PeriodTriggersElement" : { + "base" : null, + "refs" : { + "DashPackage$PeriodTriggers" : "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" + } + }, + "__listOf__string" : { + "base" : null, + "refs" : { + "OriginEndpoint$Whitelist" : "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", + "OriginEndpointCreateParameters$Whitelist" : "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", + "OriginEndpointUpdateParameters$Whitelist" : "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", + "SpekeKeyProvider$SystemIds" : "The system IDs to include in key requests." + } + }, "__string" : { "base" : null, "refs" : { @@ -221,11 +293,17 @@ "ChannelCreateParameters$Id" : "The ID of the Channel. The ID must be unique within the region and it\ncannot be changed after a Channel is created.\n", "ChannelList$NextToken" : "A token that can be used to resume pagination from the end of the collection.", "ChannelUpdateParameters$Description" : "A short text description of the Channel.", + "CmafPackage$SegmentPrefix" : "An optional custom string that is prepended to the name of each segment. If not specified, it defaults to the ChannelId.", + "CmafPackageCreateOrUpdateParameters$SegmentPrefix" : "An optional custom string that is prepended to the name of each segment. If not specified, it defaults to the ChannelId.", "HlsEncryption$ConstantInitializationVector" : "A constant initialization vector for encryption (optional).\nWhen not specified the initialization vector will be periodically rotated.\n", + "HlsManifest$Id" : "The ID of the manifest. The ID must be unique within the OriginEndpoint and it cannot be changed after it is created.", + "HlsManifest$ManifestName" : "An optional short string appended to the end of the OriginEndpoint URL. If not specified, defaults to the manifestName for the OriginEndpoint.", + "HlsManifest$Url" : "The URL of the packaged OriginEndpoint for consumption.", + "HlsManifestCreateOrUpdateParameters$Id" : "The ID of the manifest. The ID must be unique within the OriginEndpoint and it cannot be changed after it is created.", + "HlsManifestCreateOrUpdateParameters$ManifestName" : "An optional short string appended to the end of the OriginEndpoint URL. If not specified, defaults to the manifestName for the OriginEndpoint.", "IngestEndpoint$Password" : "The system generated password for ingest authentication.", "IngestEndpoint$Url" : "The ingest URL to which the source stream should be sent.", "IngestEndpoint$Username" : "The system generated username for ingest authentication.", - "ListOf__string$member" : null, "OriginEndpoint$Arn" : "The Amazon Resource Name (ARN) assigned to the OriginEndpoint.", "OriginEndpoint$ChannelId" : "The ID of the Channel the OriginEndpoint is associated with.", "OriginEndpoint$Description" : "A short text description of the OriginEndpoint.", @@ -241,8 +319,9 @@ "OriginEndpointUpdateParameters$ManifestName" : "A short string that will be appended to the end of the Endpoint URL.", "SpekeKeyProvider$ResourceId" : "The resource ID to include in key requests.", "SpekeKeyProvider$RoleArn" : "An Amazon Resource Name (ARN) of an IAM role that AWS Elemental\nMediaPackage will assume when accessing the key provider service.\n", - "SpekeKeyProvider$Url" : "The URL of the external key provider service." + "SpekeKeyProvider$Url" : "The URL of the external key provider service.", + "__listOf__string$member" : null } } } -} \ No newline at end of file +} diff --git a/models/apis/mediastore-data/2017-09-01/docs-2.json b/models/apis/mediastore-data/2017-09-01/docs-2.json index c3eae0cce5a..f982d268646 100644 --- a/models/apis/mediastore-data/2017-09-01/docs-2.json +++ b/models/apis/mediastore-data/2017-09-01/docs-2.json @@ -3,7 +3,7 @@ "service": "

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.

", "operations": { "DeleteObject": "

Deletes an object at the specified path.

", - "DescribeObject": "

Gets the header for an object at the specified path.

", + "DescribeObject": "

Gets the headers for an object at the specified path.

", "GetObject": "

Downloads the object at the specified path.

", "ListItems": "

Provides a list of metadata entries about folders and objects in the specified folder.

", "PutObject": "

Uploads an object to the specified path. Object sizes are limited to 10 MB.

" @@ -160,8 +160,8 @@ "PayloadBlob": { "base": null, "refs": { - "GetObjectResponse$Body": "

The path to the file outside of the container. The file name can include or omit an extension.

Example 1: If the file is stored on a remote server that has been mounted to the workstation on which the REST API command is being run, the path could be the absolute path \\mount\\assets\\mlaw.avi or the relative path ..\\..\\mount\\assets\\movies\\premium\\mlaw.avi.

Example 2: If the file is stored on a remote server that is not mounted, the path could be https:\\\\192.0.2.15\\movies\\premium\\mlaw.avi.

", - "PutObjectRequest$Body": "

The path to the file outside of the container. The file name can include or omit an extension.

Example 1: If the file is stored on a remote server that has been mounted to the workstation on which the REST API command is being run, the path could be the absolute path \\mount\\assets\\mlaw.avi or the relative path ..\\..\\mount\\assets\\movies\\premium\\mlaw.avi.

Example 2: If the file is stored on a remote server that is not mounted, the path could be https:\\\\192.0.2.15\\movies\\premium\\mlaw.avi.

" + "GetObjectResponse$Body": "

The bytes of the object.

", + "PutObjectRequest$Body": "

The bytes to be stored.

" } }, "PutObjectRequest": { diff --git a/models/apis/mediastore/2017-09-01/api-2.json b/models/apis/mediastore/2017-09-01/api-2.json index ec3d008d710..8ad753915b8 100644 --- a/models/apis/mediastore/2017-09-01/api-2.json +++ b/models/apis/mediastore/2017-09-01/api-2.json @@ -57,6 +57,21 @@ {"shape":"InternalServerError"} ] }, + "DeleteCorsPolicy":{ + "name":"DeleteCorsPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCorsPolicyInput"}, + "output":{"shape":"DeleteCorsPolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"CorsPolicyNotFoundException"}, + {"shape":"InternalServerError"} + ] + }, "DescribeContainer":{ "name":"DescribeContainer", "http":{ @@ -85,6 +100,21 @@ {"shape":"InternalServerError"} ] }, + "GetCorsPolicy":{ + "name":"GetCorsPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCorsPolicyInput"}, + "output":{"shape":"GetCorsPolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"CorsPolicyNotFoundException"}, + {"shape":"InternalServerError"} + ] + }, "ListContainers":{ "name":"ListContainers", "http":{ @@ -110,9 +140,37 @@ {"shape":"ContainerInUseException"}, {"shape":"InternalServerError"} ] + }, + "PutCorsPolicy":{ + "name":"PutCorsPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutCorsPolicyInput"}, + "output":{"shape":"PutCorsPolicyOutput"}, + "errors":[ + {"shape":"ContainerNotFoundException"}, + {"shape":"ContainerInUseException"}, + {"shape":"InternalServerError"} + ] } }, "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":{ @@ -174,6 +232,29 @@ "max":16, "min":1 }, + "CorsPolicy":{ + "type":"list", + "member":{"shape":"CorsRule"}, + "max":100, + "min":1 + }, + "CorsPolicyNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "CorsRule":{ + "type":"structure", + "members":{ + "AllowedOrigins":{"shape":"AllowedOrigins"}, + "AllowedMethods":{"shape":"AllowedMethods"}, + "AllowedHeaders":{"shape":"AllowedHeaders"}, + "MaxAgeSeconds":{"shape":"MaxAgeSeconds"}, + "ExposeHeaders":{"shape":"ExposeHeaders"} + } + }, "CreateContainerInput":{ "type":"structure", "required":["ContainerName"], @@ -212,6 +293,18 @@ "members":{ } }, + "DeleteCorsPolicyInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{"shape":"ContainerName"} + } + }, + "DeleteCorsPolicyOutput":{ + "type":"structure", + "members":{ + } + }, "DescribeContainerInput":{ "type":"structure", "members":{ @@ -235,6 +328,12 @@ "min":1, "pattern":"[ \\w:\\.\\?-]+" }, + "ExposeHeaders":{ + "type":"list", + "member":{"shape":"Header"}, + "max":100, + "min":0 + }, "GetContainerPolicyInput":{ "type":"structure", "required":["ContainerName"], @@ -249,6 +348,26 @@ "Policy":{"shape":"ContainerPolicy"} } }, + "GetCorsPolicyInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{"shape":"ContainerName"} + } + }, + "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":{ @@ -279,6 +398,24 @@ "NextToken":{"shape":"PaginationToken"} } }, + "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, @@ -308,6 +445,22 @@ "members":{ } }, + "PutCorsPolicyInput":{ + "type":"structure", + "required":[ + "ContainerName", + "CorsPolicy" + ], + "members":{ + "ContainerName":{"shape":"ContainerName"}, + "CorsPolicy":{"shape":"CorsPolicy"} + } + }, + "PutCorsPolicyOutput":{ + "type":"structure", + "members":{ + } + }, "TimeStamp":{"type":"timestamp"} } } diff --git a/models/apis/mediastore/2017-09-01/docs-2.json b/models/apis/mediastore/2017-09-01/docs-2.json index 0dd360c7abf..be70b218b21 100644 --- a/models/apis/mediastore/2017-09-01/docs-2.json +++ b/models/apis/mediastore/2017-09-01/docs-2.json @@ -5,17 +5,38 @@ "CreateContainer": "

Creates a storage container to hold objects. A container is similar to a bucket in the Amazon S3 service.

", "DeleteContainer": "

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": "

Deletes the access policy that is associated with the specified container.

", - "DescribeContainer": "

Retrieves the properties of the requested container. This returns a single Container object based on ContainerName. To return all Container objects that are associated with a specified AWS account, use ListContainers.

", + "DeleteCorsPolicy": "

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": "

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": "

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": "

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": "

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": "

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.

" + "PutContainerPolicy": "

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": "

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": { + "base": null, + "refs": { + "CorsRule$AllowedHeaders": "

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 (*).

" + } + }, + "AllowedMethods": { + "base": null, + "refs": { + "CorsRule$AllowedMethods": "

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.

" + } + }, + "AllowedOrigins": { + "base": null, + "refs": { + "CorsRule$AllowedOrigins": "

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.

" + } + }, "Container": { "base": "

This section describes operations that you can perform on an AWS Elemental MediaStore container.

", "refs": { "ContainerList$member": null, - "CreateContainerOutput$Container": "

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 timestamp.

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.

", + "CreateContainerOutput$Container": "

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.

", "DescribeContainerOutput$Container": "

The name of the queried container.

" } }, @@ -49,9 +70,12 @@ "CreateContainerInput$ContainerName": "

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.

", "DeleteContainerInput$ContainerName": "

The name of the container to delete.

", "DeleteContainerPolicyInput$ContainerName": "

The name of the container that holds the policy.

", + "DeleteCorsPolicyInput$ContainerName": "

The name of the container to remove the policy from.

", "DescribeContainerInput$ContainerName": "

The name of the container to query.

", "GetContainerPolicyInput$ContainerName": "

The name of the container.

", - "PutContainerPolicyInput$ContainerName": "

The name of the container.

" + "GetCorsPolicyInput$ContainerName": "

The name of the container that the policy is assigned to.

", + "PutContainerPolicyInput$ContainerName": "

The name of the container.

", + "PutCorsPolicyInput$ContainerName": "

The name of the container that you want to assign the CORS policy to.

" } }, "ContainerNotFoundException": { @@ -72,6 +96,24 @@ "Container$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 the endpoint is available, the status changes to ACTIVE.

" } }, + "CorsPolicy": { + "base": "

The CORS policy of the container.

", + "refs": { + "GetCorsPolicyOutput$CorsPolicy": null, + "PutCorsPolicyInput$CorsPolicy": "

The CORS policy to apply to the container.

" + } + }, + "CorsPolicyNotFoundException": { + "base": "

Could not perform an operation on a policy that does not exist.

", + "refs": { + } + }, + "CorsRule": { + "base": "

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.

", + "refs": { + "CorsPolicy$member": null + } + }, "CreateContainerInput": { "base": null, "refs": { @@ -102,6 +144,16 @@ "refs": { } }, + "DeleteCorsPolicyInput": { + "base": null, + "refs": { + } + }, + "DeleteCorsPolicyOutput": { + "base": null, + "refs": { + } + }, "DescribeContainerInput": { "base": null, "refs": { @@ -115,7 +167,7 @@ "Endpoint": { "base": null, "refs": { - "Container$Endpoint": "

The DNS endpoint of the container. Use from 1 to 255 characters. Use this endpoint to identify this container when sending requests to the data plane.

" + "Container$Endpoint": "

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.

" } }, "ErrorMessage": { @@ -123,11 +175,18 @@ "refs": { "ContainerInUseException$Message": null, "ContainerNotFoundException$Message": null, + "CorsPolicyNotFoundException$Message": null, "InternalServerError$Message": null, "LimitExceededException$Message": null, "PolicyNotFoundException$Message": null } }, + "ExposeHeaders": { + "base": null, + "refs": { + "CorsRule$ExposeHeaders": "

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.

" + } + }, "GetContainerPolicyInput": { "base": null, "refs": { @@ -138,6 +197,23 @@ "refs": { } }, + "GetCorsPolicyInput": { + "base": null, + "refs": { + } + }, + "GetCorsPolicyOutput": { + "base": null, + "refs": { + } + }, + "Header": { + "base": null, + "refs": { + "AllowedHeaders$member": null, + "ExposeHeaders$member": null + } + }, "InternalServerError": { "base": "

The service is temporarily unavailable.

", "refs": { @@ -158,6 +234,24 @@ "refs": { } }, + "MaxAgeSeconds": { + "base": null, + "refs": { + "CorsRule$MaxAgeSeconds": "

The time in seconds that your browser caches the preflight response for the specified resource.

A CORS rule can have only one MaxAgeSeconds element.

" + } + }, + "MethodName": { + "base": null, + "refs": { + "AllowedMethods$member": null + } + }, + "Origin": { + "base": null, + "refs": { + "AllowedOrigins$member": null + } + }, "PaginationToken": { "base": null, "refs": { @@ -180,6 +274,16 @@ "refs": { } }, + "PutCorsPolicyInput": { + "base": null, + "refs": { + } + }, + "PutCorsPolicyOutput": { + "base": null, + "refs": { + } + }, "TimeStamp": { "base": null, "refs": { diff --git a/models/apis/mediatailor/2018-04-23/api-2.json b/models/apis/mediatailor/2018-04-23/api-2.json new file mode 100644 index 00000000000..757ba1355a3 --- /dev/null +++ b/models/apis/mediatailor/2018-04-23/api-2.json @@ -0,0 +1,266 @@ +{ + "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" + }, + "errors" : [ ] + }, + "GetPlaybackConfiguration" : { + "name" : "GetPlaybackConfiguration", + "http" : { + "method" : "GET", + "requestUri" : "/playbackConfiguration/{Name}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetPlaybackConfigurationRequest" + }, + "output" : { + "shape" : "GetPlaybackConfigurationResponse" + }, + "errors" : [ ] + }, + "ListPlaybackConfigurations" : { + "name" : "ListPlaybackConfigurations", + "http" : { + "method" : "GET", + "requestUri" : "/playbackConfigurations", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListPlaybackConfigurationsRequest" + }, + "output" : { + "shape" : "ListPlaybackConfigurationsResponse" + }, + "errors" : [ ] + }, + "PutPlaybackConfiguration" : { + "name" : "PutPlaybackConfiguration", + "http" : { + "method" : "PUT", + "requestUri" : "/playbackConfiguration", + "responseCode" : 200 + }, + "input" : { + "shape" : "PutPlaybackConfigurationRequest" + }, + "output" : { + "shape" : "PutPlaybackConfigurationResponse" + }, + "errors" : [ ] + } + }, + "shapes" : { + "CdnConfiguration" : { + "type" : "structure", + "members" : { + "AdSegmentUrlPrefix" : { + "shape" : "__string" + }, + "ContentSegmentUrlPrefix" : { + "shape" : "__string" + } + } + }, + "HlsConfiguration": { + "type" : "structure", + "members" : { + "ManifestEndpointPrefix" : { + "shape" : "__string" + } + } + }, + "DeletePlaybackConfigurationRequest" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "Name" + } + }, + "required" : [ "Name" ] + }, + "GetPlaybackConfigurationRequest" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "Name" + } + }, + "required" : [ "Name" ] + }, + "GetPlaybackConfigurationResponse" : { + "type" : "structure", + "members" : { + "AdDecisionServerUrl" : { + "shape" : "__string" + }, + "CdnConfiguration" : { + "shape" : "CdnConfiguration" + }, + "HlsConfiguration" : { + "shape" : "HlsConfiguration" + }, + "Name" : { + "shape" : "__string" + }, + "PlaybackEndpointPrefix" : { + "shape" : "__string" + }, + "SessionInitializationEndpointPrefix" : { + "shape" : "__string" + }, + "SlateAdUrl" : { + "shape" : "__string" + }, + "VideoContentSourceUrl" : { + "shape" : "__string" + } + } + }, + "PlaybackConfiguration" : { + "type" : "structure", + "members" : { + "AdDecisionServerUrl" : { + "shape" : "__string" + }, + "CdnConfiguration" : { + "shape" : "CdnConfiguration" + }, + "Name" : { + "shape" : "__string" + }, + "SlateAdUrl" : { + "shape" : "__string" + }, + "VideoContentSourceUrl" : { + "shape" : "__string" + } + } + }, + "ListPlaybackConfigurationsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__integerMin1Max100", + "location" : "querystring", + "locationName" : "MaxResults" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken" + } + } + }, + "ListPlaybackConfigurationsResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfPlaybackConfigurations" + }, + "NextToken" : { + "shape" : "__string" + } + } + }, + "PutPlaybackConfigurationRequest" : { + "type" : "structure", + "members" : { + "AdDecisionServerUrl" : { + "shape" : "__string" + }, + "CdnConfiguration" : { + "shape" : "CdnConfiguration" + }, + "Name" : { + "shape" : "__string" + }, + "SlateAdUrl" : { + "shape" : "__string" + }, + "VideoContentSourceUrl" : { + "shape" : "__string" + } + } + }, + "PutPlaybackConfigurationResponse" : { + "type" : "structure", + "members" : { + "AdDecisionServerUrl" : { + "shape" : "__string" + }, + "CdnConfiguration" : { + "shape" : "CdnConfiguration" + }, + "HlsConfiguration" : { + "shape" : "HlsConfiguration" + }, + "Name" : { + "shape" : "__string" + }, + "PlaybackEndpointPrefix" : { + "shape" : "__string" + }, + "SessionInitializationEndpointPrefix" : { + "shape" : "__string" + }, + "SlateAdUrl" : { + "shape" : "__string" + }, + "VideoContentSourceUrl" : { + "shape" : "__string" + } + } + }, + "__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 + } + } +} diff --git a/models/apis/mediatailor/2018-04-23/docs-2.json b/models/apis/mediatailor/2018-04-23/docs-2.json new file mode 100644 index 00000000000..6c8bc2b6dfc --- /dev/null +++ b/models/apis/mediatailor/2018-04-23/docs-2.json @@ -0,0 +1,67 @@ +{ + "version" : "2.0", + "service" : "

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).

", + "operations" : { + "DeletePlaybackConfiguration" : "

Deletes the configuration for the specified name.

", + "GetPlaybackConfiguration" : "

Returns the configuration for the specified name.

", + "ListPlaybackConfigurations" : "

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" : "

Adds a new configuration to AWS Elemental MediaTailor.

" + }, + "shapes" : { + "CdnConfiguration" : { + "base" : "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "refs" : { + "GetPlaybackConfigurationResponse$CdnConfiguration" : "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "PutPlaybackConfigurationRequest$CdnConfiguration" : "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

" + } + }, + "PlaybackConfiguration" : { + "refs" : { + "__listOfPlaybackConfigurations$member" : "

The AWSMediaTailor configuration.

" + } + }, + "GetPlaybackConfigurationResponse" : { + "base" : null, + "refs" : { } + }, + "HlsConfiguration" : { + "base" : "

The configuration for HLS content.

", + "refs" : { + "GetPlaybackConfigurationResponse$HlsConfiguration" : "

The configuration for HLS content.

" + } + }, + "ListPlaybackConfigurationsResponse" : { + "base" : null, + "refs" : { } + }, + "PutPlaybackConfigurationRequest" : { + "base" : null, + "refs" : { } + }, + "__listOfPlaybackConfigurations" : { + "base" : null, + "refs" : { + "ListPlaybackConfigurationsResponse$Items" : "

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.

" + } + }, + "__string" : { + "base" : null, + "refs" : { + "CdnConfiguration$AdSegmentUrlPrefix" : "

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.

", + "CdnConfiguration$ContentSegmentUrlPrefix" : "

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.

", + "GetPlaybackConfigurationResponse$AdDecisionServerUrl" : "

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.

", + "GetPlaybackConfigurationResponse$Name" : "

The identifier for the configuration.

", + "GetPlaybackConfigurationResponse$PlaybackEndpointPrefix" : "

The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

", + "GetPlaybackConfigurationResponse$SessionInitializationEndpointPrefix" : "

The URL that the player uses to initialize a session that uses client-side reporting.

", + "GetPlaybackConfigurationResponse$SlateAdUrl" : "

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.

", + "GetPlaybackConfigurationResponse$VideoContentSourceUrl" : "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

", + "HlsConfiguration$ManifestEndpointPrefix" : "

The URL that is used to initiate a playback session for devices that support Apple HLS. The session uses server-side reporting.

", + "ListPlaybackConfigurationsResponse$NextToken" : "

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$AdDecisionServerUrl" : "

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.

", + "PutPlaybackConfigurationRequest$Name" : "

The identifier for the configuration.

", + "PutPlaybackConfigurationRequest$SlateAdUrl" : "

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.

", + "PutPlaybackConfigurationRequest$VideoContentSourceUrl" : "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

" + } + } + } +} \ No newline at end of file diff --git a/models/apis/mediatailor/2018-04-23/paginators-1.json b/models/apis/mediatailor/2018-04-23/paginators-1.json new file mode 100644 index 00000000000..f3b7195d8e1 --- /dev/null +++ b/models/apis/mediatailor/2018-04-23/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination" : { } +} \ No newline at end of file diff --git a/models/apis/monitoring/2010-08-01/api-2.json b/models/apis/monitoring/2010-08-01/api-2.json index 0d761e113eb..29cc51fee54 100644 --- a/models/apis/monitoring/2010-08-01/api-2.json +++ b/models/apis/monitoring/2010-08-01/api-2.json @@ -114,6 +114,21 @@ {"shape":"InternalServiceFault"} ] }, + "GetMetricData":{ + "name":"GetMetricData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMetricDataInput"}, + "output":{ + "shape":"GetMetricDataOutput", + "resultWrapper":"GetMetricDataResult" + }, + "errors":[ + {"shape":"InvalidNextToken"} + ] + }, "GetMetricStatistics":{ "name":"GetMetricStatistics", "http":{ @@ -362,10 +377,18 @@ "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"], @@ -375,6 +398,7 @@ }, "DeleteDashboardsInput":{ "type":"structure", + "required":["DashboardNames"], "members":{ "DashboardNames":{"shape":"DashboardNames"} } @@ -526,6 +550,7 @@ "FaultDescription":{"type":"string"}, "GetDashboardInput":{ "type":"structure", + "required":["DashboardName"], "members":{ "DashboardName":{"shape":"DashboardName"} } @@ -538,6 +563,30 @@ "DashboardName":{"shape":"DashboardName"} } }, + "GetMetricDataInput":{ + "type":"structure", + "required":[ + "MetricDataQueries", + "StartTime", + "EndTime" + ], + "members":{ + "MetricDataQueries":{"shape":"MetricDataQueries"}, + "StartTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "NextToken":{"shape":"NextToken"}, + "ScanBy":{"shape":"ScanBy"}, + "MaxDatapoints":{"shape":"GetMetricDataMaxDatapoints"} + } + }, + "GetMetricDataMaxDatapoints":{"type":"integer"}, + "GetMetricDataOutput":{ + "type":"structure", + "members":{ + "MetricDataResults":{"shape":"MetricDataResults"}, + "NextToken":{"shape":"NextToken"} + } + }, "GetMetricStatisticsInput":{ "type":"structure", "required":[ @@ -697,6 +746,15 @@ "min":1 }, "Message":{"type":"string"}, + "MessageData":{ + "type":"structure", + "members":{ + "Code":{"shape":"MessageDataCode"}, + "Value":{"shape":"MessageDataValue"} + } + }, + "MessageDataCode":{"type":"string"}, + "MessageDataValue":{"type":"string"}, "Metric":{ "type":"structure", "members":{ @@ -733,6 +791,7 @@ "Period":{"shape":"Period"}, "Unit":{"shape":"StandardUnit"}, "EvaluationPeriods":{"shape":"EvaluationPeriods"}, + "DatapointsToAlarm":{"shape":"DatapointsToAlarm"}, "Threshold":{"shape":"Threshold"}, "ComparisonOperator":{"shape":"ComparisonOperator"}, "TreatMissingData":{"shape":"TreatMissingData"}, @@ -762,7 +821,8 @@ "ComparisonOperator", "ExtendedStatistic", "TreatMissingData", - "EvaluateLowSampleCountPercentile" + "EvaluateLowSampleCountPercentile", + "DatapointsToAlarm" ] }, "MetricAlarms":{ @@ -773,6 +833,40 @@ "type":"list", "member":{"shape":"MetricDatum"} }, + "MetricDataQueries":{ + "type":"list", + "member":{"shape":"MetricDataQuery"} + }, + "MetricDataQuery":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{"shape":"MetricId"}, + "MetricStat":{"shape":"MetricStat"}, + "Expression":{"shape":"MetricExpression"}, + "Label":{"shape":"MetricLabel"}, + "ReturnData":{"shape":"ReturnData"} + } + }, + "MetricDataResult":{ + "type":"structure", + "members":{ + "Id":{"shape":"MetricId"}, + "Label":{"shape":"MetricLabel"}, + "Timestamps":{"shape":"Timestamps"}, + "Values":{"shape":"DatapointValues"}, + "StatusCode":{"shape":"StatusCode"}, + "Messages":{"shape":"MetricDataResultMessages"} + } + }, + "MetricDataResultMessages":{ + "type":"list", + "member":{"shape":"MessageData"} + }, + "MetricDataResults":{ + "type":"list", + "member":{"shape":"MetricDataResult"} + }, "MetricDatum":{ "type":"structure", "required":["MetricName"], @@ -786,12 +880,36 @@ "StorageResolution":{"shape":"StorageResolution"} } }, + "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"}, + "Period":{"shape":"Period"}, + "Stat":{"shape":"Stat"}, + "Unit":{"shape":"StandardUnit"} + } + }, "Metrics":{ "type":"list", "member":{"shape":"Metric"} @@ -825,6 +943,10 @@ }, "PutDashboardInput":{ "type":"structure", + "required":[ + "DashboardName", + "DashboardBody" + ], "members":{ "DashboardName":{"shape":"DashboardName"}, "DashboardBody":{"shape":"DashboardBody"} @@ -862,6 +984,7 @@ "Period":{"shape":"Period"}, "Unit":{"shape":"StandardUnit"}, "EvaluationPeriods":{"shape":"EvaluationPeriods"}, + "DatapointsToAlarm":{"shape":"DatapointsToAlarm"}, "Threshold":{"shape":"Threshold"}, "ComparisonOperator":{"shape":"ComparisonOperator"}, "TreatMissingData":{"shape":"TreatMissingData"}, @@ -901,6 +1024,14 @@ }, "exception":true }, + "ReturnData":{"type":"boolean"}, + "ScanBy":{ + "type":"string", + "enum":[ + "TimestampDescending", + "TimestampAscending" + ] + }, "SetAlarmStateInput":{ "type":"structure", "required":[ @@ -948,6 +1079,7 @@ "None" ] }, + "Stat":{"type":"string"}, "StateReason":{ "type":"string", "max":1023, @@ -997,12 +1129,24 @@ "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, diff --git a/models/apis/monitoring/2010-08-01/docs-2.json b/models/apis/monitoring/2010-08-01/docs-2.json index 23027d3714a..be4531884a2 100644 --- a/models/apis/monitoring/2010-08-01/docs-2.json +++ b/models/apis/monitoring/2010-08-01/docs-2.json @@ -10,11 +10,12 @@ "DisableAlarmActions": "

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": "

Enables the actions for the specified alarms.

", "GetDashboard": "

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": "

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": "

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": "

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": "

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": "

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": "

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:

  • 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.

", + "PutMetricAlarm": "

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": "

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": "

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.

" }, @@ -109,7 +110,7 @@ "base": null, "refs": { "GetDashboardOutput$DashboardBody": "

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.

", - "PutDashboardInput$DashboardBody": "

The detailed information about the dashboard in JSON format, including the widgets to include and their location on the dashboard.

For more information about the syntax, see CloudWatch-Dashboard-Body-Structure.

" + "PutDashboardInput$DashboardBody": "

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.

" } }, "DashboardEntries": { @@ -143,7 +144,7 @@ "DashboardNames$member": null, "GetDashboardInput$DashboardName": "

The name of the dashboard to be described.

", "GetDashboardOutput$DashboardName": "

The name of the dashboard.

", - "PutDashboardInput$DashboardName": "

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 \"_\".

" + "PutDashboardInput$DashboardName": "

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.

" } }, "DashboardNamePrefix": { @@ -155,7 +156,7 @@ "DashboardNames": { "base": null, "refs": { - "DeleteDashboardsInput$DashboardNames": "

The dashboards to be deleted.

" + "DeleteDashboardsInput$DashboardNames": "

The dashboards to be deleted. This parameter is required.

" } }, "DashboardNotFoundError": { @@ -197,6 +198,7 @@ "Datapoint$Minimum": "

The minimum metric value for the data point.

", "Datapoint$Maximum": "

The maximum metric value for the data point.

", "DatapointValueMap$value": null, + "DatapointValues$member": null, "MetricDatum$Value": "

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.

", "StatisticSet$SampleCount": "

The number of samples used for the statistic set.

", "StatisticSet$Sum": "

The sum of values for the sample set.

", @@ -210,12 +212,25 @@ "Datapoint$ExtendedStatistics": "

The percentile statistic for the data point.

" } }, + "DatapointValues": { + "base": null, + "refs": { + "MetricDataResult$Values": "

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].

" + } + }, "Datapoints": { "base": null, "refs": { "GetMetricStatisticsOutput$Datapoints": "

The data points for the specified metric.

" } }, + "DatapointsToAlarm": { + "base": null, + "refs": { + "MetricAlarm$DatapointsToAlarm": "

The number of datapoints that must be breaching to trigger the alarm.

", + "PutMetricAlarmInput$DatapointsToAlarm": "

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.

" + } + }, "DeleteAlarmsInput": { "base": null, "refs": { @@ -334,7 +349,7 @@ "base": null, "refs": { "MetricAlarm$EvaluationPeriods": "

The number of periods over which data is compared to the specified threshold.

", - "PutMetricAlarmInput$EvaluationPeriods": "

The number of periods over which data is compared to the specified threshold. An alarm's total current evaluation period can be no longer than one day, so this number multiplied by Period cannot be more than 86,400 seconds.

" + "PutMetricAlarmInput$EvaluationPeriods": "

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.

" } }, "ExtendedStatistic": { @@ -344,7 +359,7 @@ "DescribeAlarmsForMetricInput$ExtendedStatistic": "

The percentile statistic for the metric. Specify a value between p0.0 and p100.

", "ExtendedStatistics$member": null, "MetricAlarm$ExtendedStatistic": "

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.

", - "PutMetricAlarmInput$ExtendedStatistic": "

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.

" + "PutMetricAlarmInput$ExtendedStatistic": "

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.

" } }, "ExtendedStatistics": { @@ -369,6 +384,22 @@ "refs": { } }, + "GetMetricDataInput": { + "base": null, + "refs": { + } + }, + "GetMetricDataMaxDatapoints": { + "base": null, + "refs": { + "GetMetricDataInput$MaxDatapoints": "

The maximum number of data points the request should return before paginating. If you omit this, the default of 100,800 is used.

" + } + }, + "GetMetricDataOutput": { + "base": null, + "refs": { + } + }, "GetMetricStatisticsInput": { "base": null, "refs": { @@ -467,9 +498,28 @@ "DashboardValidationMessage$Message": "

A message describing the error or warning.

" } }, + "MessageData": { + "base": "

A message returned by the GetMetricDataAPI, including a code and a description.

", + "refs": { + "MetricDataResultMessages$member": null + } + }, + "MessageDataCode": { + "base": null, + "refs": { + "MessageData$Code": "

The error code or status code associated with the message.

" + } + }, + "MessageDataValue": { + "base": null, + "refs": { + "MessageData$Value": "

The message text.

" + } + }, "Metric": { "base": "

Represents a specific metric.

", "refs": { + "MetricStat$Metric": "

The metric to return, including the metric name, namespace, and dimensions.

", "Metrics$member": null } }, @@ -492,16 +542,61 @@ "PutMetricDataInput$MetricData": "

The data for the metric.

" } }, + "MetricDataQueries": { + "base": null, + "refs": { + "GetMetricDataInput$MetricDataQueries": "

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.

" + } + }, + "MetricDataQuery": { + "base": "

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.

", + "refs": { + "MetricDataQueries$member": null + } + }, + "MetricDataResult": { + "base": "

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.

", + "refs": { + "MetricDataResults$member": null + } + }, + "MetricDataResultMessages": { + "base": null, + "refs": { + "MetricDataResult$Messages": "

A list of messages with additional information about the data returned.

" + } + }, + "MetricDataResults": { + "base": null, + "refs": { + "GetMetricDataOutput$MetricDataResults": "

The metrics that are returned, including the metric name, namespace, and dimensions.

" + } + }, "MetricDatum": { "base": "

Encapsulates the information sent to either create a metric or add new values to be aggregated into an existing metric.

", "refs": { "MetricData$member": null } }, + "MetricExpression": { + "base": null, + "refs": { + "MetricDataQuery$Expression": "

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.

" + } + }, + "MetricId": { + "base": null, + "refs": { + "MetricDataQuery$Id": "

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.

", + "MetricDataResult$Id": "

The short name you specified to represent this metric.

" + } + }, "MetricLabel": { "base": null, "refs": { - "GetMetricStatisticsOutput$Label": "

A label for the specified metric.

" + "GetMetricStatisticsOutput$Label": "

A label for the specified metric.

", + "MetricDataQuery$Label": "

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.

", + "MetricDataResult$Label": "

The human-readable label associated with the data.

" } }, "MetricName": { @@ -516,6 +611,12 @@ "PutMetricAlarmInput$MetricName": "

The name for the metric associated with the alarm.

" } }, + "MetricStat": { + "base": "

This structure defines the metric to be returned, along with the statistics, period, and units.

", + "refs": { + "MetricDataQuery$MetricStat": "

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.

" + } + }, "Metrics": { "base": null, "refs": { @@ -546,6 +647,8 @@ "DescribeAlarmHistoryOutput$NextToken": "

The token that marks the start of the next batch of returned results.

", "DescribeAlarmsInput$NextToken": "

The token returned by a previous call to indicate that there is more data available.

", "DescribeAlarmsOutput$NextToken": "

The token that marks the start of the next batch of returned results.

", + "GetMetricDataInput$NextToken": "

Include this value, if it was returned by the previous call, to get the next set of data points.

", + "GetMetricDataOutput$NextToken": "

A token that marks the next batch of returned results.

", "ListDashboardsInput$NextToken": "

The token returned by a previous call to indicate that there is more data available.

", "ListDashboardsOutput$NextToken": "

The token that marks the start of the next batch of returned results.

", "ListMetricsInput$NextToken": "

The token returned by a previous call to indicate that there is more data available.

", @@ -558,7 +661,8 @@ "DescribeAlarmsForMetricInput$Period": "

The period, in seconds, over which the statistic is applied.

", "GetMetricStatisticsInput$Period": "

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).

", "MetricAlarm$Period": "

The period, in seconds, over which the statistic is applied.

", - "PutMetricAlarmInput$Period": "

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.

" + "MetricStat$Period": "

The period to use when retrieving the metric.

", + "PutMetricAlarmInput$Period": "

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.

" } }, "PutDashboardInput": { @@ -587,9 +691,9 @@ "MetricAlarm$OKActions": "

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).

", "MetricAlarm$AlarmActions": "

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).

", "MetricAlarm$InsufficientDataActions": "

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).

", - "PutMetricAlarmInput$OKActions": "

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

Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0

", - "PutMetricAlarmInput$AlarmActions": "

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

Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0

", - "PutMetricAlarmInput$InsufficientDataActions": "

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

Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0

" + "PutMetricAlarmInput$OKActions": "

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

", + "PutMetricAlarmInput$AlarmActions": "

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

", + "PutMetricAlarmInput$InsufficientDataActions": "

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

" } }, "ResourceName": { @@ -603,6 +707,18 @@ "refs": { } }, + "ReturnData": { + "base": null, + "refs": { + "MetricDataQuery$ReturnData": "

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.

" + } + }, + "ScanBy": { + "base": null, + "refs": { + "GetMetricDataInput$ScanBy": "

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.

" + } + }, "SetAlarmStateInput": { "base": null, "refs": { @@ -619,12 +735,19 @@ "refs": { "Datapoint$Unit": "

The standard unit for the data point.

", "DescribeAlarmsForMetricInput$Unit": "

The unit for the metric.

", - "GetMetricStatisticsInput$Unit": "

The unit for a given metric. Metrics may be reported in multiple units. Not supplying a unit results in all units being returned. If the metric only ever reports one unit, specifying a unit has no effect.

", + "GetMetricStatisticsInput$Unit": "

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.

", "MetricAlarm$Unit": "

The unit of the metric associated with the alarm.

", "MetricDatum$Unit": "

The unit of the metric.

", + "MetricStat$Unit": "

The unit to use for the returned data points.

", "PutMetricAlarmInput$Unit": "

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.

" } }, + "Stat": { + "base": null, + "refs": { + "MetricStat$Stat": "

The statistic to return. It can include any CloudWatch statistic or extended statistic.

" + } + }, "StateReason": { "base": null, "refs": { @@ -652,7 +775,7 @@ "refs": { "DescribeAlarmsForMetricInput$Statistic": "

The statistic for the metric, other than percentiles. For percentile statistics, use ExtendedStatistics.

", "MetricAlarm$Statistic": "

The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use ExtendedStatistic.

", - "PutMetricAlarmInput$Statistic": "

The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use ExtendedStatistic.

", + "PutMetricAlarmInput$Statistic": "

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.

", "Statistics$member": null } }, @@ -668,6 +791,12 @@ "GetMetricStatisticsInput$Statistics": "

The metric statistics, other than percentile. For percentile statistics, use ExtendedStatistics. When calling GetMetricStatistics, you must specify either Statistics or ExtendedStatistics, but not both.

" } }, + "StatusCode": { + "base": null, + "refs": { + "MetricDataResult$StatusCode": "

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.

" + } + }, "StorageResolution": { "base": null, "refs": { @@ -688,11 +817,20 @@ "Datapoint$Timestamp": "

The time stamp used for the data point.

", "DescribeAlarmHistoryInput$StartDate": "

The starting date to retrieve alarm history.

", "DescribeAlarmHistoryInput$EndDate": "

The ending date to retrieve alarm history.

", + "GetMetricDataInput$StartTime": "

The time stamp indicating the earliest data to be returned.

", + "GetMetricDataInput$EndTime": "

The time stamp indicating the latest data to be returned.

", "GetMetricStatisticsInput$StartTime": "

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.

", "GetMetricStatisticsInput$EndTime": "

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).

", "MetricAlarm$AlarmConfigurationUpdatedTimestamp": "

The time stamp of the last update to the alarm configuration.

", "MetricAlarm$StateUpdatedTimestamp": "

The time stamp of the last update to the alarm state.

", - "MetricDatum$Timestamp": "

The time the metric data was received, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" + "MetricDatum$Timestamp": "

The time the metric data was received, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", + "Timestamps$member": null + } + }, + "Timestamps": { + "base": null, + "refs": { + "MetricDataResult$Timestamps": "

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].

" } }, "TreatMissingData": { diff --git a/models/apis/mq/2017-11-27/api-2.json b/models/apis/mq/2017-11-27/api-2.json index 40f85908476..e29f179a8f5 100644 --- a/models/apis/mq/2017-11-27/api-2.json +++ b/models/apis/mq/2017-11-27/api-2.json @@ -26,10 +26,10 @@ }, "errors" : [ { "shape" : "BadRequestException" - }, { - "shape" : "InternalServerErrorException" }, { "shape" : "UnauthorizedException" + }, { + "shape" : "InternalServerErrorException" }, { "shape" : "ConflictException" }, { @@ -433,8 +433,12 @@ "locationName" : "consoleURL" }, "Endpoints" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "endpoints" + }, + "IpAddress" : { + "shape" : "__string", + "locationName" : "ipAddress" } } }, @@ -461,6 +465,10 @@ "shape" : "BrokerState", "locationName" : "brokerState" }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created" + }, "DeploymentMode" : { "shape" : "DeploymentMode", "locationName" : "deploymentMode" @@ -482,6 +490,10 @@ "shape" : "__string", "locationName" : "arn" }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created" + }, "Description" : { "shape" : "__string", "locationName" : "description" @@ -524,6 +536,10 @@ "ConfigurationRevision" : { "type" : "structure", "members" : { + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created" + }, "Description" : { "shape" : "__string", "locationName" : "description" @@ -542,7 +558,7 @@ "locationName" : "current" }, "History" : { - "shape" : "ListOfConfigurationId", + "shape" : "__listOfConfigurationId", "locationName" : "history" }, "Pending" : { @@ -604,6 +620,10 @@ "shape" : "__string", "locationName" : "hostInstanceType" }, + "Logs" : { + "shape" : "Logs", + "locationName" : "logs" + }, "MaintenanceWindowStartTime" : { "shape" : "WeeklyStartTime", "locationName" : "maintenanceWindowStartTime" @@ -613,15 +633,15 @@ "locationName" : "publiclyAccessible" }, "SecurityGroups" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "securityGroups" }, "SubnetIds" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "subnetIds" }, "Users" : { - "shape" : "ListOfUser", + "shape" : "__listOfUser", "locationName" : "users" } } @@ -675,6 +695,10 @@ "shape" : "__string", "locationName" : "hostInstanceType" }, + "Logs" : { + "shape" : "Logs", + "locationName" : "logs" + }, "MaintenanceWindowStartTime" : { "shape" : "WeeklyStartTime", "locationName" : "maintenanceWindowStartTime" @@ -684,15 +708,15 @@ "locationName" : "publiclyAccessible" }, "SecurityGroups" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "securityGroups" }, "SubnetIds" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "subnetIds" }, "Users" : { - "shape" : "ListOfUser", + "shape" : "__listOfUser", "locationName" : "users" } } @@ -734,6 +758,10 @@ "shape" : "__string", "locationName" : "arn" }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created" + }, "Id" : { "shape" : "__string", "locationName" : "id" @@ -772,6 +800,10 @@ "shape" : "__string", "locationName" : "arn" }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created" + }, "Id" : { "shape" : "__string", "locationName" : "id" @@ -794,7 +826,7 @@ "locationName" : "consoleAccess" }, "Groups" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "groups" }, "Password" : { @@ -816,7 +848,7 @@ "locationName" : "consoleAccess" }, "Groups" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "groups" }, "Password" : { @@ -908,7 +940,7 @@ "locationName" : "brokerId" }, "BrokerInstances" : { - "shape" : "ListOfBrokerInstance", + "shape" : "__listOfBrokerInstance", "locationName" : "brokerInstances" }, "BrokerName" : { @@ -923,6 +955,10 @@ "shape" : "Configurations", "locationName" : "configurations" }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created" + }, "DeploymentMode" : { "shape" : "DeploymentMode", "locationName" : "deploymentMode" @@ -939,6 +975,10 @@ "shape" : "__string", "locationName" : "hostInstanceType" }, + "Logs" : { + "shape" : "LogsSummary", + "locationName" : "logs" + }, "MaintenanceWindowStartTime" : { "shape" : "WeeklyStartTime", "locationName" : "maintenanceWindowStartTime" @@ -948,15 +988,15 @@ "locationName" : "publiclyAccessible" }, "SecurityGroups" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "securityGroups" }, "SubnetIds" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "subnetIds" }, "Users" : { - "shape" : "ListOfUserSummary", + "shape" : "__listOfUserSummary", "locationName" : "users" } } @@ -988,7 +1028,7 @@ "locationName" : "brokerId" }, "BrokerInstances" : { - "shape" : "ListOfBrokerInstance", + "shape" : "__listOfBrokerInstance", "locationName" : "brokerInstances" }, "BrokerName" : { @@ -1003,6 +1043,10 @@ "shape" : "Configurations", "locationName" : "configurations" }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created" + }, "DeploymentMode" : { "shape" : "DeploymentMode", "locationName" : "deploymentMode" @@ -1019,6 +1063,10 @@ "shape" : "__string", "locationName" : "hostInstanceType" }, + "Logs" : { + "shape" : "LogsSummary", + "locationName" : "logs" + }, "MaintenanceWindowStartTime" : { "shape" : "WeeklyStartTime", "locationName" : "maintenanceWindowStartTime" @@ -1028,15 +1076,15 @@ "locationName" : "publiclyAccessible" }, "SecurityGroups" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "securityGroups" }, "SubnetIds" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "subnetIds" }, "Users" : { - "shape" : "ListOfUserSummary", + "shape" : "__listOfUserSummary", "locationName" : "users" } } @@ -1059,6 +1107,10 @@ "shape" : "__string", "locationName" : "arn" }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created" + }, "Description" : { "shape" : "__string", "locationName" : "description" @@ -1092,6 +1144,10 @@ "shape" : "__string", "locationName" : "configurationId" }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created" + }, "Data" : { "shape" : "__string", "locationName" : "data" @@ -1125,6 +1181,10 @@ "shape" : "__string", "locationName" : "configurationId" }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created" + }, "Data" : { "shape" : "__string", "locationName" : "data" @@ -1147,7 +1207,7 @@ "locationName" : "consoleAccess" }, "Groups" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "groups" }, "Pending" : { @@ -1188,7 +1248,7 @@ "locationName" : "consoleAccess" }, "Groups" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "groups" }, "Pending" : { @@ -1256,7 +1316,7 @@ "type" : "structure", "members" : { "BrokerSummaries" : { - "shape" : "ListOfBrokerSummary", + "shape" : "__listOfBrokerSummary", "locationName" : "brokerSummaries" }, "NextToken" : { @@ -1284,7 +1344,7 @@ "type" : "structure", "members" : { "BrokerSummaries" : { - "shape" : "ListOfBrokerSummary", + "shape" : "__listOfBrokerSummary", "locationName" : "brokerSummaries" }, "NextToken" : { @@ -1309,7 +1369,7 @@ "locationName" : "nextToken" }, "Revisions" : { - "shape" : "ListOfConfigurationRevision", + "shape" : "__listOfConfigurationRevision", "locationName" : "revisions" } } @@ -1351,7 +1411,7 @@ "locationName" : "nextToken" }, "Revisions" : { - "shape" : "ListOfConfigurationRevision", + "shape" : "__listOfConfigurationRevision", "locationName" : "revisions" } } @@ -1360,7 +1420,7 @@ "type" : "structure", "members" : { "Configurations" : { - "shape" : "ListOfConfiguration", + "shape" : "__listOfConfiguration", "locationName" : "configurations" }, "MaxResults" : { @@ -1392,7 +1452,7 @@ "type" : "structure", "members" : { "Configurations" : { - "shape" : "ListOfConfiguration", + "shape" : "__listOfConfiguration", "locationName" : "configurations" }, "MaxResults" : { @@ -1405,60 +1465,6 @@ } } }, - "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" - } - }, "ListUsersOutput" : { "type" : "structure", "members" : { @@ -1467,7 +1473,7 @@ "locationName" : "brokerId" }, "MaxResults" : { - "shape" : "__integer", + "shape" : "__integerMin5Max100", "locationName" : "maxResults" }, "NextToken" : { @@ -1475,7 +1481,7 @@ "locationName" : "nextToken" }, "Users" : { - "shape" : "ListOfUserSummary", + "shape" : "__listOfUserSummary", "locationName" : "users" } } @@ -1509,7 +1515,7 @@ "locationName" : "brokerId" }, "MaxResults" : { - "shape" : "__integer", + "shape" : "__integerMin5Max100", "locationName" : "maxResults" }, "NextToken" : { @@ -1517,11 +1523,49 @@ "locationName" : "nextToken" }, "Users" : { - "shape" : "ListOfUserSummary", + "shape" : "__listOfUserSummary", "locationName" : "users" } } }, + "Logs" : { + "type" : "structure", + "members" : { + "Audit" : { + "shape" : "__boolean", + "locationName" : "audit" + }, + "General" : { + "shape" : "__boolean", + "locationName" : "general" + } + } + }, + "LogsSummary" : { + "type" : "structure", + "members" : { + "Audit" : { + "shape" : "__boolean", + "locationName" : "audit" + }, + "AuditLogGroup" : { + "shape" : "__string", + "locationName" : "auditLogGroup" + }, + "General" : { + "shape" : "__boolean", + "locationName" : "general" + }, + "GeneralLogGroup" : { + "shape" : "__string", + "locationName" : "generalLogGroup" + }, + "Pending" : { + "shape" : "PendingLogs", + "locationName" : "pending" + } + } + }, "MaxResults" : { "type" : "integer", "min" : 1, @@ -1544,6 +1588,19 @@ "httpStatusCode" : 404 } }, + "PendingLogs" : { + "type" : "structure", + "members" : { + "Audit" : { + "shape" : "__boolean", + "locationName" : "audit" + }, + "General" : { + "shape" : "__boolean", + "locationName" : "general" + } + } + }, "RebootBrokerRequest" : { "type" : "structure", "members" : { @@ -1603,6 +1660,10 @@ "Configuration" : { "shape" : "ConfigurationId", "locationName" : "configuration" + }, + "Logs" : { + "shape" : "Logs", + "locationName" : "logs" } } }, @@ -1616,6 +1677,10 @@ "Configuration" : { "shape" : "ConfigurationId", "locationName" : "configuration" + }, + "Logs" : { + "shape" : "Logs", + "locationName" : "logs" } } }, @@ -1630,6 +1695,10 @@ "Configuration" : { "shape" : "ConfigurationId", "locationName" : "configuration" + }, + "Logs" : { + "shape" : "Logs", + "locationName" : "logs" } }, "required" : [ "BrokerId" ] @@ -1644,6 +1713,10 @@ "Configuration" : { "shape" : "ConfigurationId", "locationName" : "configuration" + }, + "Logs" : { + "shape" : "Logs", + "locationName" : "logs" } } }, @@ -1667,6 +1740,10 @@ "shape" : "__string", "locationName" : "arn" }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created" + }, "Id" : { "shape" : "__string", "locationName" : "id" @@ -1680,7 +1757,7 @@ "locationName" : "name" }, "Warnings" : { - "shape" : "ListOfSanitizationWarning", + "shape" : "__listOfSanitizationWarning", "locationName" : "warnings" } } @@ -1711,6 +1788,10 @@ "shape" : "__string", "locationName" : "arn" }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created" + }, "Id" : { "shape" : "__string", "locationName" : "id" @@ -1724,7 +1805,7 @@ "locationName" : "name" }, "Warnings" : { - "shape" : "ListOfSanitizationWarning", + "shape" : "__listOfSanitizationWarning", "locationName" : "warnings" } } @@ -1737,7 +1818,7 @@ "locationName" : "consoleAccess" }, "Groups" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "groups" }, "Password" : { @@ -1759,7 +1840,7 @@ "locationName" : "consoleAccess" }, "Groups" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "groups" }, "Password" : { @@ -1786,7 +1867,7 @@ "locationName" : "consoleAccess" }, "Groups" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "groups" }, "Password" : { @@ -1807,7 +1888,7 @@ "locationName" : "consoleAccess" }, "Groups" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "groups" }, "PendingChange" : { @@ -1855,11 +1936,78 @@ "__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" }, - "__timestamp" : { - "type" : "timestamp" + "__timestampIso8601" : { + "type" : "timestamp", + "timestampFormat" : "iso8601" + }, + "__timestampUnix" : { + "type" : "timestamp", + "timestampFormat" : "unixTimestamp" } } } \ No newline at end of file diff --git a/models/apis/mq/2017-11-27/docs-2.json b/models/apis/mq/2017-11-27/docs-2.json index 8c9c90a5eb7..da9127a3e9f 100644 --- a/models/apis/mq/2017-11-27/docs-2.json +++ b/models/apis/mq/2017-11-27/docs-2.json @@ -3,7 +3,7 @@ "service" : "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.", "operations" : { "CreateBroker" : "Creates a broker. Note: This API is asynchronous.", - "CreateConfiguration" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version). Note: If the configuration name already exists, Amazon MQ doesn't create a configuration.", + "CreateConfiguration" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version).", "CreateUser" : "Creates an ActiveMQ user.", "DeleteBroker" : "Deletes a broker. Note: This API is asynchronous.", "DeleteUser" : "Deletes an ActiveMQ user.", @@ -28,33 +28,33 @@ "BrokerInstance" : { "base" : "Returns information about all brokers.", "refs" : { - "ListOfBrokerInstance$member" : null + "__listOfBrokerInstance$member" : null } }, "BrokerState" : { - "base" : "The status of the broker. Possible values: CREATION_IN_PROGRESS, CREATION_FAILED, DELETION_IN_PROGRESS, RUNNING, REBOOT_IN_PROGRESS", + "base" : "The status of the broker.", "refs" : { - "BrokerSummary$BrokerState" : "The status of the broker. Possible values: CREATION_IN_PROGRESS, CREATION_FAILED, DELETION_IN_PROGRESS, RUNNING, REBOOT_IN_PROGRESS", - "DescribeBrokerOutput$BrokerState" : "The status of the broker. Possible values: CREATION_IN_PROGRESS, CREATION_FAILED, DELETION_IN_PROGRESS, RUNNING, REBOOT_IN_PROGRESS" + "BrokerSummary$BrokerState" : "The status of the broker.", + "DescribeBrokerOutput$BrokerState" : "The status of the broker." } }, "BrokerSummary" : { "base" : "The Amazon Resource Name (ARN) of the broker.", "refs" : { - "ListOfBrokerSummary$member" : null + "__listOfBrokerSummary$member" : null } }, "ChangeType" : { - "base" : "The type of change pending for the ActiveMQ user. Possible values: CREATE, UPDATE, DELETE", + "base" : "The type of change pending for the ActiveMQ user.", "refs" : { - "UserPendingChanges$PendingChange" : "Required. The type of change pending for the ActiveMQ user. Possible values: CREATE, UPDATE, DELETE", - "UserSummary$PendingChange" : "The type of change pending for the ActiveMQ user. Possible values: CREATE, UPDATE, DELETE" + "UserPendingChanges$PendingChange" : "Required. The type of change pending for the ActiveMQ user.", + "UserSummary$PendingChange" : "The type of change pending for the ActiveMQ user." } }, "Configuration" : { "base" : "Returns information about all configurations.", "refs" : { - "ListOfConfiguration$member" : null + "__listOfConfiguration$member" : null } }, "ConfigurationId" : { @@ -63,9 +63,9 @@ "Configurations$Current" : "The current configuration of the broker.", "Configurations$Pending" : "The pending configuration of the broker.", "CreateBrokerInput$Configuration" : "A list of information about the configuration.", - "ListOfConfigurationId$member" : null, "UpdateBrokerInput$Configuration" : "A list of information about the configuration.", - "UpdateBrokerOutput$Configuration" : "The ID of the updated configuration." + "UpdateBrokerOutput$Configuration" : "The ID of the updated configuration.", + "__listOfConfigurationId$member" : null } }, "ConfigurationRevision" : { @@ -73,8 +73,8 @@ "refs" : { "Configuration$LatestRevision" : "Required. The latest revision of the configuration.", "CreateConfigurationOutput$LatestRevision" : "The latest revision of the configuration.", - "ListOfConfigurationRevision$member" : null, - "UpdateConfigurationOutput$LatestRevision" : "The latest revision of the configuration." + "UpdateConfigurationOutput$LatestRevision" : "The latest revision of the configuration.", + "__listOfConfigurationRevision$member" : null } }, "Configurations" : { @@ -96,7 +96,7 @@ "refs" : { } }, "CreateConfigurationInput" : { - "base" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version). Note: If the configuration name already exists, Amazon MQ doesn't create a configuration.", + "base" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version).", "refs" : { } }, "CreateConfigurationOutput" : { @@ -110,7 +110,7 @@ "DayOfWeek" : { "base" : null, "refs" : { - "WeeklyStartTime$DayOfWeek" : "Required. The day of the week. Possible values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY" + "WeeklyStartTime$DayOfWeek" : "Required. The day of the week." } }, "DeleteBrokerOutput" : { @@ -118,11 +118,11 @@ "refs" : { } }, "DeploymentMode" : { - "base" : "The deployment mode of the broker. Possible values: SINGLE_INSTANCE, ACTIVE_STANDBY_MULTI_AZ SINGLE_INSTANCE creates a single-instance broker in a single Availability Zone. ACTIVE_STANDBY_MULTI_AZ creates an active/standby broker for high availability.", + "base" : "The deployment mode of the broker.", "refs" : { - "BrokerSummary$DeploymentMode" : "Required. The deployment mode of the broker. Possible values: SINGLE_INSTANCE, ACTIVE_STANDBY_MULTI_AZ SINGLE_INSTANCE creates a single-instance broker in a single Availability Zone. ACTIVE_STANDBY_MULTI_AZ creates an active/standby broker for high availability.", - "CreateBrokerInput$DeploymentMode" : "Required. The deployment mode of the broker. Possible values: SINGLE_INSTANCE, ACTIVE_STANDBY_MULTI_AZ SINGLE_INSTANCE creates a single-instance broker in a single Availability Zone. ACTIVE_STANDBY_MULTI_AZ creates an active/standby broker for high availability.", - "DescribeBrokerOutput$DeploymentMode" : "Required. The deployment mode of the broker. Possible values: SINGLE_INSTANCE, ACTIVE_STANDBY_MULTI_AZ SINGLE_INSTANCE creates a single-instance broker in a single Availability Zone. ACTIVE_STANDBY_MULTI_AZ creates an active/standby broker for high availability." + "BrokerSummary$DeploymentMode" : "Required. The deployment mode of the broker.", + "CreateBrokerInput$DeploymentMode" : "Required. The deployment mode of the broker.", + "DescribeBrokerOutput$DeploymentMode" : "Required. The deployment mode of the broker." } }, "DescribeBrokerOutput" : { @@ -170,88 +170,44 @@ "base" : "Returns a list of all configurations.", "refs" : { } }, - "ListOfBrokerInstance" : { - "base" : null, - "refs" : { - "DescribeBrokerOutput$BrokerInstances" : "A list of information about allocated brokers." - } - }, - "ListOfBrokerSummary" : { - "base" : null, - "refs" : { - "ListBrokersOutput$BrokerSummaries" : "A list of information about all brokers." - } - }, - "ListOfConfiguration" : { - "base" : null, - "refs" : { - "ListConfigurationsOutput$Configurations" : "The list of all revisions for the specified configuration." - } - }, - "ListOfConfigurationId" : { - "base" : null, - "refs" : { - "Configurations$History" : "The history of configurations applied to the broker." - } - }, - "ListOfConfigurationRevision" : { - "base" : null, - "refs" : { - "ListConfigurationRevisionsOutput$Revisions" : "The list of all revisions for the specified configuration." - } - }, - "ListOfSanitizationWarning" : { - "base" : null, - "refs" : { - "UpdateConfigurationOutput$Warnings" : "The list of the first 20 warnings about the configuration XML elements or attributes that were sanitized." - } - }, - "ListOfUser" : { - "base" : null, - "refs" : { - "CreateBrokerInput$Users" : "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." - } + "ListUsersOutput" : { + "base" : "Returns a list of all ActiveMQ users.", + "refs" : { } }, - "ListOfUserSummary" : { - "base" : null, + "Logs" : { + "base" : "The list of information about logs to be enabled for the specified broker.", "refs" : { - "DescribeBrokerOutput$Users" : "The list of all ActiveMQ usernames for the specified broker.", - "ListUsersOutput$Users" : "Required. The list of all ActiveMQ usernames for the specified broker." + "CreateBrokerInput$Logs" : "Enables Amazon CloudWatch logging for brokers.", + "UpdateBrokerInput$Logs" : "Enables Amazon CloudWatch logging for brokers.", + "UpdateBrokerOutput$Logs" : "The list of information about logs to be enabled for the specified broker." } }, - "ListOf__string" : { - "base" : null, + "LogsSummary" : { + "base" : "The list of information about logs currently enabled and pending to be deployed for the specified broker.", "refs" : { - "BrokerInstance$Endpoints" : "The broker's wire-level protocol endpoints.", - "CreateBrokerInput$SecurityGroups" : "Required. The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.", - "CreateBrokerInput$SubnetIds" : "Required. 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.", - "CreateUserInput$Groups" : "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.", - "DescribeBrokerOutput$SecurityGroups" : "Required. The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.", - "DescribeBrokerOutput$SubnetIds" : "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.", - "DescribeUserOutput$Groups" : "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.", - "UpdateUserInput$Groups" : "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.", - "User$Groups" : "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.", - "UserPendingChanges$Groups" : "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." + "DescribeBrokerOutput$Logs" : "The list of information about logs currently enabled and pending to be deployed for the specified broker." } }, - "ListUsersOutput" : { - "base" : "Returns a list of all ActiveMQ users.", - "refs" : { } - }, "NotFoundException" : { "base" : "Returns information about an error.", "refs" : { } }, + "PendingLogs" : { + "base" : "The list of information about logs to be enabled for the specified broker.", + "refs" : { + "LogsSummary$Pending" : "The list of information about logs pending to be deployed for the specified broker." + } + }, "SanitizationWarning" : { "base" : "Returns information about the XML element or attribute that was sanitized in the configuration.", "refs" : { - "ListOfSanitizationWarning$member" : null + "__listOfSanitizationWarning$member" : null } }, "SanitizationWarningReason" : { - "base" : "The reason for which the XML elements or attributes were sanitized. Possible values: DISALLOWED_ELEMENT_REMOVED, DISALLOWED_ATTRIBUTE_REMOVED, INVALID_ATTRIBUTE_VALUE_REMOVED DISALLOWED_ELEMENT_REMOVED shows that the provided element isn't allowed and has been removed. DISALLOWED_ATTRIBUTE_REMOVED shows that the provided attribute isn't allowed and has been removed. INVALID_ATTRIBUTE_VALUE_REMOVED shows that the provided value for the attribute isn't allowed and has been removed.", + "base" : "The reason for which the XML elements or attributes were sanitized.", "refs" : { - "SanitizationWarning$Reason" : "Required. The reason for which the XML elements or attributes were sanitized. Possible values: DISALLOWED_ELEMENT_REMOVED, DISALLOWED_ATTRIBUTE_REMOVED, INVALID_ATTRIBUTE_VALUE_REMOVED DISALLOWED_ELEMENT_REMOVED shows that the provided element isn't allowed and has been removed. DISALLOWED_ATTRIBUTE_REMOVED shows that the provided attribute isn't allowed and has been removed. INVALID_ATTRIBUTE_VALUE_REMOVED shows that the provided value for the attribute isn't allowed and has been removed." + "SanitizationWarning$Reason" : "Required. The reason for which the XML elements or attributes were sanitized." } }, "UnauthorizedException" : { @@ -281,7 +237,7 @@ "User" : { "base" : "An ActiveMQ user associated with the broker.", "refs" : { - "ListOfUser$member" : null + "__listOfUser$member" : null } }, "UserPendingChanges" : { @@ -293,7 +249,7 @@ "UserSummary" : { "base" : "Returns a list of all ActiveMQ users.", "refs" : { - "ListOfUserSummary$member" : null + "__listOfUserSummary$member" : null } }, "WeeklyStartTime" : { @@ -312,6 +268,12 @@ "DescribeBrokerOutput$AutoMinorVersionUpgrade" : "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.", "DescribeBrokerOutput$PubliclyAccessible" : "Required. Enables connections from applications outside of the VPC that hosts the broker's subnets.", "DescribeUserOutput$ConsoleAccess" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user.", + "Logs$Audit" : "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged.", + "Logs$General" : "Enables general logging.", + "LogsSummary$Audit" : "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged.", + "LogsSummary$General" : "Enables general logging.", + "PendingLogs$Audit" : "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged.", + "PendingLogs$General" : "Enables general logging.", "UpdateUserInput$ConsoleAccess" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user.", "User$ConsoleAccess" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user.", "UserPendingChanges$ConsoleAccess" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." @@ -320,21 +282,91 @@ "__integer" : { "base" : null, "refs" : { - "ConfigurationId$Revision" : "The Universally Unique Identifier (UUID) of the request.", - "ConfigurationRevision$Revision" : "Required. The revision of the configuration.", + "ConfigurationId$Revision" : "The revision number of the configuration.", + "ConfigurationRevision$Revision" : "Required. The revision number of the configuration.", "ListConfigurationRevisionsOutput$MaxResults" : "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.", - "ListConfigurationsOutput$MaxResults" : "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.", + "ListConfigurationsOutput$MaxResults" : "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." + } + }, + "__integerMin5Max100" : { + "base" : null, + "refs" : { "ListUsersOutput$MaxResults" : "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." } }, + "__listOfBrokerInstance" : { + "base" : null, + "refs" : { + "DescribeBrokerOutput$BrokerInstances" : "A list of information about allocated brokers." + } + }, + "__listOfBrokerSummary" : { + "base" : null, + "refs" : { + "ListBrokersOutput$BrokerSummaries" : "A list of information about all brokers." + } + }, + "__listOfConfiguration" : { + "base" : null, + "refs" : { + "ListConfigurationsOutput$Configurations" : "The list of all revisions for the specified configuration." + } + }, + "__listOfConfigurationId" : { + "base" : null, + "refs" : { + "Configurations$History" : "The history of configurations applied to the broker." + } + }, + "__listOfConfigurationRevision" : { + "base" : null, + "refs" : { + "ListConfigurationRevisionsOutput$Revisions" : "The list of all revisions for the specified configuration." + } + }, + "__listOfSanitizationWarning" : { + "base" : null, + "refs" : { + "UpdateConfigurationOutput$Warnings" : "The list of the first 20 warnings about the configuration XML elements or attributes that were sanitized." + } + }, + "__listOfUser" : { + "base" : null, + "refs" : { + "CreateBrokerInput$Users" : "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." + } + }, + "__listOfUserSummary" : { + "base" : null, + "refs" : { + "DescribeBrokerOutput$Users" : "The list of all ActiveMQ usernames for the specified broker.", + "ListUsersOutput$Users" : "Required. The list of all ActiveMQ usernames for the specified broker." + } + }, + "__listOf__string" : { + "base" : null, + "refs" : { + "BrokerInstance$Endpoints" : "The broker's wire-level protocol endpoints.", + "CreateBrokerInput$SecurityGroups" : "The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.", + "CreateBrokerInput$SubnetIds" : "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.", + "CreateUserInput$Groups" : "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.", + "DescribeBrokerOutput$SecurityGroups" : "Required. The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.", + "DescribeBrokerOutput$SubnetIds" : "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.", + "DescribeUserOutput$Groups" : "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.", + "UpdateUserInput$Groups" : "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.", + "User$Groups" : "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.", + "UserPendingChanges$Groups" : "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." + } + }, "__string" : { "base" : null, "refs" : { "BrokerInstance$ConsoleURL" : "The URL of the broker's ActiveMQ Web Console.", + "BrokerInstance$IpAddress" : "The IP address of the ENI attached to the broker.", "BrokerSummary$BrokerArn" : "The Amazon Resource Name (ARN) of the broker.", "BrokerSummary$BrokerId" : "The unique ID that Amazon MQ generates for the broker.", "BrokerSummary$BrokerName" : "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.", - "BrokerSummary$HostInstanceType" : "The broker's instance type. Possible values: mq.t2.micro, mq.m4.large", + "BrokerSummary$HostInstanceType" : "The broker's instance type.", "Configuration$Arn" : "Required. The ARN of the configuration.", "Configuration$Description" : "Required. The description of the configuration.", "Configuration$EngineVersion" : "Required. The version of the broker engine.", @@ -345,7 +377,7 @@ "CreateBrokerInput$BrokerName" : "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.", "CreateBrokerInput$CreatorRequestId" : "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.", "CreateBrokerInput$EngineVersion" : "Required. The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0.", - "CreateBrokerInput$HostInstanceType" : "Required. The broker's instance type. Possible values: mq.t2.micro, mq.m4.large", + "CreateBrokerInput$HostInstanceType" : "Required. The broker's instance type.", "CreateBrokerOutput$BrokerArn" : "The Amazon Resource Name (ARN) of the broker.", "CreateBrokerOutput$BrokerId" : "The unique ID that Amazon MQ generates for the broker.", "CreateConfigurationInput$EngineVersion" : "Required. The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0.", @@ -359,21 +391,22 @@ "DescribeBrokerOutput$BrokerId" : "The unique ID that Amazon MQ generates for the broker.", "DescribeBrokerOutput$BrokerName" : "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.", "DescribeBrokerOutput$EngineVersion" : "The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0.", - "DescribeBrokerOutput$HostInstanceType" : "The broker's instance type. Possible values: mq.t2.micro, mq.m4.large", + "DescribeBrokerOutput$HostInstanceType" : "The broker's instance type.", "DescribeConfigurationRevisionOutput$ConfigurationId" : "Required. The unique ID that Amazon MQ generates for the configuration.", "DescribeConfigurationRevisionOutput$Data" : "Required. The base64-encoded XML configuration.", "DescribeConfigurationRevisionOutput$Description" : "The description of the configuration.", "DescribeUserOutput$BrokerId" : "Required. The unique ID that Amazon MQ generates for the broker.", "DescribeUserOutput$Username" : "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.", - "Error$ErrorAttribute" : "The error attribute.", - "Error$Message" : "The error message.", + "Error$ErrorAttribute" : "The attribute which caused the error.", + "Error$Message" : "The explanation of the error.", "ListBrokersOutput$NextToken" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty.", "ListConfigurationRevisionsOutput$ConfigurationId" : "The unique ID that Amazon MQ generates for the configuration.", "ListConfigurationRevisionsOutput$NextToken" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty.", "ListConfigurationsOutput$NextToken" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty.", - "ListOf__string$member" : null, "ListUsersOutput$BrokerId" : "Required. The unique ID that Amazon MQ generates for the broker.", "ListUsersOutput$NextToken" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty.", + "LogsSummary$AuditLogGroup" : "Location of CloudWatch Log group where audit logs will be sent.", + "LogsSummary$GeneralLogGroup" : "Location of CloudWatch Log group where general logs will be sent.", "SanitizationWarning$AttributeName" : "The name of the XML attribute that has been sanitized.", "SanitizationWarning$ElementName" : "The name of the XML element that has been sanitized.", "UpdateBrokerOutput$BrokerId" : "Required. The unique ID that Amazon MQ generates for the broker.", @@ -387,7 +420,20 @@ "User$Username" : "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.", "UserSummary$Username" : "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.", "WeeklyStartTime$TimeOfDay" : "Required. The time, in 24-hour format.", - "WeeklyStartTime$TimeZone" : "The time zone, UTC by default, in either the Country/City format, or the UTC offset format." + "WeeklyStartTime$TimeZone" : "The time zone, UTC by default, in either the Country/City format, or the UTC offset format.", + "__listOf__string$member" : null + } + }, + "__timestampIso8601" : { + "base" : null, + "refs" : { + "BrokerSummary$Created" : "The time when the broker was created.", + "Configuration$Created" : "Required. The date and time of the configuration revision.", + "ConfigurationRevision$Created" : "Required. The date and time of the configuration revision.", + "CreateConfigurationOutput$Created" : "Required. The date and time of the configuration.", + "DescribeBrokerOutput$Created" : "The time when the broker was created.", + "DescribeConfigurationRevisionOutput$Created" : "Required. The date and time of the configuration.", + "UpdateConfigurationOutput$Created" : "Required. The date and time of the configuration." } } } diff --git a/models/apis/mq/2017-11-27/paginators-1.json b/models/apis/mq/2017-11-27/paginators-1.json new file mode 100644 index 00000000000..f3b7195d8e1 --- /dev/null +++ b/models/apis/mq/2017-11-27/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination" : { } +} \ No newline at end of file diff --git a/models/apis/mturk-requester/2017-01-17/api-2.json b/models/apis/mturk-requester/2017-01-17/api-2.json index 3d8c2155ca4..8983dc09250 100644 --- a/models/apis/mturk-requester/2017-01-17/api-2.json +++ b/models/apis/mturk-requester/2017-01-17/api-2.json @@ -7,6 +7,7 @@ "protocol":"json", "serviceAbbreviation":"Amazon MTurk", "serviceFullName":"Amazon Mechanical Turk", + "serviceId":"MTurk", "signatureVersion":"v4", "targetPrefix":"MTurkRequesterServiceV20170117", "uid":"mturk-requester-2017-01-17" @@ -1010,6 +1011,14 @@ "NumberOfAssignmentsCompleted":{"shape":"Integer"} } }, + "HITAccessActions":{ + "type":"string", + "enum":[ + "Accept", + "PreviewAndAccept", + "DiscoverPreviewAndAccept" + ] + }, "HITLayoutParameter":{ "type":"structure", "required":[ @@ -1376,7 +1385,11 @@ "Comparator":{"shape":"Comparator"}, "IntegerValues":{"shape":"IntegerList"}, "LocaleValues":{"shape":"LocaleList"}, - "RequiredToPreview":{"shape":"Boolean"} + "RequiredToPreview":{ + "shape":"Boolean", + "deprecated":true + }, + "ActionsGuarded":{"shape":"HITAccessActions"} } }, "QualificationRequirementList":{ diff --git a/models/apis/mturk-requester/2017-01-17/docs-2.json b/models/apis/mturk-requester/2017-01-17/docs-2.json index 9f98ce07570..7daffa3d7f4 100644 --- a/models/apis/mturk-requester/2017-01-17/docs-2.json +++ b/models/apis/mturk-requester/2017-01-17/docs-2.json @@ -17,7 +17,7 @@ "DisassociateQualificationFromWorker": "

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": "

The GetAccountBalance operation retrieves the amount of money in your Amazon Mechanical Turk account.

", "GetAssignment": "

The GetAssignment operation retrieves the details of the specified Assignment.

", - "GetFileUploadURL": "

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.

", + "GetFileUploadURL": "

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.

", "GetHIT": "

The GetHIT operation retrieves the details of the specified HIT.

", "GetQualificationScore": "

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.

", "GetQualificationType": "

The GetQualificationTypeoperation retrieves information about a Qualification type using its ID.

", @@ -26,7 +26,7 @@ "ListHITs": "

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.

", "ListHITsForQualificationType": "

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.

", "ListQualificationRequests": "

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.

", - "ListQualificationTypes": "

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.

", + "ListQualificationTypes": "

The ListQualificationTypes operation returns a list of Qualification types, filtered by an optional search term.

", "ListReviewPolicyResultsForHIT": "

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.

", "ListReviewableHITs": "

The ListReviewableHITs operation retrieves the HITs with Status equal to Reviewable or Status equal to Reviewing that belong to the Requester calling the operation.

", "ListWorkerBlocks": "

The ListWorkersBlocks operation retrieves a list of Workers who are blocked from working on your HITs.

", @@ -121,7 +121,7 @@ "ListQualificationTypesRequest$MustBeOwnedByCaller": "

Specifies that only Qualification types that the Requester created are returned. If false, the operation returns all Qualification types.

", "ListReviewPolicyResultsForHITRequest$RetrieveActions": "

Specify if the operation should retrieve a list of the actions taken executing the Review Policies and their outcomes.

", "ListReviewPolicyResultsForHITRequest$RetrieveResults": "

Specify if the operation should retrieve a list of the results computed by the Review Policies.

", - "QualificationRequirement$RequiredToPreview": "

If true, the question data for the HIT will not be shown when a Worker whose Qualifications do not meet this requirement tries to preview the HIT. That is, a Worker's Qualifications must meet all of the requirements for which RequiredToPreview is true in order to preview the HIT. If a Worker meets all of the requirements where RequiredToPreview is true (or if there are no such requirements), but does not meet all of the requirements for the HIT, the Worker will be allowed to preview the HIT's question data, but will not be allowed to accept and complete the HIT. The default is false.

", + "QualificationRequirement$RequiredToPreview": "

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.

", "QualificationType$IsRequestable": "

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.

", "QualificationType$AutoGranted": "

Specifies that requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test. Valid values are True | False.

", "UpdateHITReviewStatusRequest$Revert": "

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

", @@ -420,6 +420,12 @@ "HITList$member": null } }, + "HITAccessActions": { + "base": null, + "refs": { + "QualificationRequirement$ActionsGuarded": "

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.

" + } + }, "HITLayoutParameter": { "base": "

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.

", "refs": { @@ -744,7 +750,7 @@ } }, "QualificationRequirement": { - "base": "

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.

", + "base": "

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.

", "refs": { "QualificationRequirementList$member": null } @@ -752,9 +758,9 @@ "QualificationRequirementList": { "base": null, "refs": { - "CreateHITRequest$QualificationRequirements": "

A condition that a Worker's Qualifications must meet before the Worker is allowed to accept and complete the HIT.

", - "CreateHITTypeRequest$QualificationRequirements": "

A condition that a Worker's Qualifications must meet before the Worker is allowed to accept and complete the HIT.

", - "HIT$QualificationRequirements": "

A condition that a Worker's Qualifications must meet in order to accept the HIT. A HIT can have between zero and ten Qualification requirements. All requirements must be met by a Worker's Qualifications for the Worker to accept the HIT.

" + "CreateHITRequest$QualificationRequirements": "

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.

", + "CreateHITTypeRequest$QualificationRequirements": "

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.

", + "HIT$QualificationRequirements": "

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.

" } }, "QualificationStatus": { diff --git a/models/apis/mturk-requester/2017-01-17/smoke.json b/models/apis/mturk-requester/2017-01-17/smoke.json new file mode 100644 index 00000000000..40f0a62bcff --- /dev/null +++ b/models/apis/mturk-requester/2017-01-17/smoke.json @@ -0,0 +1,11 @@ +{ + "version": 1, + "defaultRegion": "us-east-1", + "testCases": [ + { + "operationName": "GetAccountBalance", + "input": {}, + "errorExpectedFromService": false + } + ] +} diff --git a/models/apis/rds/2014-09-01/api-2.json b/models/apis/neptune/2014-10-31/api-2.json similarity index 65% rename from models/apis/rds/2014-09-01/api-2.json rename to models/apis/neptune/2014-10-31/api-2.json index 6115af1f02c..96fc58c7206 100644 --- a/models/apis/rds/2014-09-01/api-2.json +++ b/models/apis/neptune/2014-10-31/api-2.json @@ -1,17 +1,32 @@ { "version":"2.0", "metadata":{ - "apiVersion":"2014-09-01", + "apiVersion":"2014-10-31", "endpointPrefix":"rds", "protocol":"query", - "serviceAbbreviation":"Amazon RDS", - "serviceFullName":"Amazon Relational Database Service", - "serviceId":"RDS", + "serviceAbbreviation":"Amazon Neptune", + "serviceFullName":"Amazon Neptune", + "serviceId":"Neptune", "signatureVersion":"v4", - "uid":"rds-2014-09-01", - "xmlNamespace":"http://rds.amazonaws.com/doc/2014-09-01/" + "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"} + ] + }, "AddSourceIdentifierToSubscription":{ "name":"AddSourceIdentifierToSubscription", "http":{ @@ -37,25 +52,60 @@ "input":{"shape":"AddTagsToResourceMessage"}, "errors":[ {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"} ] }, - "AuthorizeDBSecurityGroupIngress":{ - "name":"AuthorizeDBSecurityGroupIngress", + "ApplyPendingMaintenanceAction":{ + "name":"ApplyPendingMaintenanceAction", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"AuthorizeDBSecurityGroupIngressMessage"}, + "input":{"shape":"ApplyPendingMaintenanceActionMessage"}, "output":{ - "shape":"AuthorizeDBSecurityGroupIngressResult", - "resultWrapper":"AuthorizeDBSecurityGroupIngressResult" + "shape":"ApplyPendingMaintenanceActionResult", + "resultWrapper":"ApplyPendingMaintenanceActionResult" }, "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"AuthorizationAlreadyExistsFault"}, - {"shape":"AuthorizationQuotaExceededFault"} + {"shape":"ResourceNotFoundFault"} + ] + }, + "CopyDBClusterParameterGroup":{ + "name":"CopyDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyDBClusterParameterGroupMessage"}, + "output":{ + "shape":"CopyDBClusterParameterGroupResult", + "resultWrapper":"CopyDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"DBParameterGroupQuotaExceededFault"}, + {"shape":"DBParameterGroupAlreadyExistsFault"} + ] + }, + "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"} ] }, "CopyDBParameterGroup":{ @@ -75,79 +125,80 @@ {"shape":"DBParameterGroupQuotaExceededFault"} ] }, - "CopyDBSnapshot":{ - "name":"CopyDBSnapshot", + "CreateDBCluster":{ + "name":"CreateDBCluster", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"CopyDBSnapshotMessage"}, + "input":{"shape":"CreateDBClusterMessage"}, "output":{ - "shape":"CopyDBSnapshotResult", - "resultWrapper":"CopyDBSnapshotResult" + "shape":"CreateDBClusterResult", + "resultWrapper":"CreateDBClusterResult" }, "errors":[ - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"SnapshotQuotaExceededFault"} + {"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"} ] }, - "CopyOptionGroup":{ - "name":"CopyOptionGroup", + "CreateDBClusterParameterGroup":{ + "name":"CreateDBClusterParameterGroup", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"CopyOptionGroupMessage"}, + "input":{"shape":"CreateDBClusterParameterGroupMessage"}, "output":{ - "shape":"CopyOptionGroupResult", - "resultWrapper":"CopyOptionGroupResult" + "shape":"CreateDBClusterParameterGroupResult", + "resultWrapper":"CreateDBClusterParameterGroupResult" }, "errors":[ - {"shape":"OptionGroupAlreadyExistsFault"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"OptionGroupQuotaExceededFault"} + {"shape":"DBParameterGroupQuotaExceededFault"}, + {"shape":"DBParameterGroupAlreadyExistsFault"} ] }, - "CreateDBInstance":{ - "name":"CreateDBInstance", + "CreateDBClusterSnapshot":{ + "name":"CreateDBClusterSnapshot", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"CreateDBInstanceMessage"}, + "input":{"shape":"CreateDBClusterSnapshotMessage"}, "output":{ - "shape":"CreateDBInstanceResult", - "resultWrapper":"CreateDBInstanceResult" + "shape":"CreateDBClusterSnapshotResult", + "resultWrapper":"CreateDBClusterSnapshotResult" }, "errors":[ - {"shape":"DBInstanceAlreadyExistsFault"}, - {"shape":"InsufficientDBInstanceCapacityFault"}, - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"InstanceQuotaExceededFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidSubnet"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"StorageTypeNotSupportedFault"}, - {"shape":"AuthorizationNotFoundFault"} + {"shape":"DBClusterSnapshotAlreadyExistsFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"} ] }, - "CreateDBInstanceReadReplica":{ - "name":"CreateDBInstanceReadReplica", + "CreateDBInstance":{ + "name":"CreateDBInstance", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"CreateDBInstanceReadReplicaMessage"}, + "input":{"shape":"CreateDBInstanceMessage"}, "output":{ - "shape":"CreateDBInstanceReadReplicaResult", - "resultWrapper":"CreateDBInstanceReadReplicaResult" + "shape":"CreateDBInstanceResult", + "resultWrapper":"CreateDBInstanceResult" }, "errors":[ {"shape":"DBInstanceAlreadyExistsFault"}, @@ -156,17 +207,18 @@ {"shape":"DBSecurityGroupNotFoundFault"}, {"shape":"InstanceQuotaExceededFault"}, {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"InvalidDBInstanceStateFault"}, {"shape":"DBSubnetGroupNotFoundFault"}, {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InvalidDBClusterStateFault"}, {"shape":"InvalidSubnet"}, {"shape":"InvalidVPCNetworkStateFault"}, {"shape":"ProvisionedIopsNotAvailableInAZFault"}, {"shape":"OptionGroupNotFoundFault"}, - {"shape":"DBSubnetGroupNotAllowedFault"}, - {"shape":"InvalidDBSubnetGroupFault"}, - {"shape":"StorageTypeNotSupportedFault"} + {"shape":"DBClusterNotFoundFault"}, + {"shape":"StorageTypeNotSupportedFault"}, + {"shape":"AuthorizationNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"DomainNotFoundFault"} ] }, "CreateDBParameterGroup":{ @@ -185,41 +237,6 @@ {"shape":"DBParameterGroupAlreadyExistsFault"} ] }, - "CreateDBSecurityGroup":{ - "name":"CreateDBSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBSecurityGroupMessage"}, - "output":{ - "shape":"CreateDBSecurityGroupResult", - "resultWrapper":"CreateDBSecurityGroupResult" - }, - "errors":[ - {"shape":"DBSecurityGroupAlreadyExistsFault"}, - {"shape":"DBSecurityGroupQuotaExceededFault"}, - {"shape":"DBSecurityGroupNotSupportedFault"} - ] - }, - "CreateDBSnapshot":{ - "name":"CreateDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBSnapshotMessage"}, - "output":{ - "shape":"CreateDBSnapshotResult", - "resultWrapper":"CreateDBSnapshotResult" - }, - "errors":[ - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"SnapshotQuotaExceededFault"} - ] - }, "CreateDBSubnetGroup":{ "name":"CreateDBSubnetGroup", "http":{ @@ -260,20 +277,51 @@ {"shape":"SourceNotFoundFault"} ] }, - "CreateOptionGroup":{ - "name":"CreateOptionGroup", + "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"} + ] + }, + "DeleteDBClusterParameterGroup":{ + "name":"DeleteDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBClusterParameterGroupMessage"}, + "errors":[ + {"shape":"InvalidDBParameterGroupStateFault"}, + {"shape":"DBParameterGroupNotFoundFault"} + ] + }, + "DeleteDBClusterSnapshot":{ + "name":"DeleteDBClusterSnapshot", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"CreateOptionGroupMessage"}, + "input":{"shape":"DeleteDBClusterSnapshotMessage"}, "output":{ - "shape":"CreateOptionGroupResult", - "resultWrapper":"CreateOptionGroupResult" + "shape":"DeleteDBClusterSnapshotResult", + "resultWrapper":"DeleteDBClusterSnapshotResult" }, "errors":[ - {"shape":"OptionGroupAlreadyExistsFault"}, - {"shape":"OptionGroupQuotaExceededFault"} + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"} ] }, "DeleteDBInstance":{ @@ -291,7 +339,8 @@ {"shape":"DBInstanceNotFoundFault"}, {"shape":"InvalidDBInstanceStateFault"}, {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"SnapshotQuotaExceededFault"} + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidDBClusterStateFault"} ] }, "DeleteDBParameterGroup":{ @@ -306,34 +355,6 @@ {"shape":"DBParameterGroupNotFoundFault"} ] }, - "DeleteDBSecurityGroup":{ - "name":"DeleteDBSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSecurityGroupMessage"}, - "errors":[ - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"DBSecurityGroupNotFoundFault"} - ] - }, - "DeleteDBSnapshot":{ - "name":"DeleteDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSnapshotMessage"}, - "output":{ - "shape":"DeleteDBSnapshotResult", - "resultWrapper":"DeleteDBSnapshotResult" - }, - "errors":[ - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ] - }, "DeleteDBSubnetGroup":{ "name":"DeleteDBSubnetGroup", "http":{ @@ -363,118 +384,136 @@ {"shape":"InvalidEventSubscriptionStateFault"} ] }, - "DeleteOptionGroup":{ - "name":"DeleteOptionGroup", + "DescribeDBClusterParameterGroups":{ + "name":"DescribeDBClusterParameterGroups", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DeleteOptionGroupMessage"}, + "input":{"shape":"DescribeDBClusterParameterGroupsMessage"}, + "output":{ + "shape":"DBClusterParameterGroupsMessage", + "resultWrapper":"DescribeDBClusterParameterGroupsResult" + }, "errors":[ - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"InvalidOptionGroupStateFault"} + {"shape":"DBParameterGroupNotFoundFault"} ] }, - "DescribeDBEngineVersions":{ - "name":"DescribeDBEngineVersions", + "DescribeDBClusterParameters":{ + "name":"DescribeDBClusterParameters", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeDBEngineVersionsMessage"}, + "input":{"shape":"DescribeDBClusterParametersMessage"}, "output":{ - "shape":"DBEngineVersionMessage", - "resultWrapper":"DescribeDBEngineVersionsResult" - } + "shape":"DBClusterParameterGroupDetails", + "resultWrapper":"DescribeDBClusterParametersResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"} + ] }, - "DescribeDBInstances":{ - "name":"DescribeDBInstances", + "DescribeDBClusterSnapshotAttributes":{ + "name":"DescribeDBClusterSnapshotAttributes", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeDBInstancesMessage"}, + "input":{"shape":"DescribeDBClusterSnapshotAttributesMessage"}, "output":{ - "shape":"DBInstanceMessage", - "resultWrapper":"DescribeDBInstancesResult" + "shape":"DescribeDBClusterSnapshotAttributesResult", + "resultWrapper":"DescribeDBClusterSnapshotAttributesResult" }, "errors":[ - {"shape":"DBInstanceNotFoundFault"} + {"shape":"DBClusterSnapshotNotFoundFault"} ] }, - "DescribeDBLogFiles":{ - "name":"DescribeDBLogFiles", + "DescribeDBClusterSnapshots":{ + "name":"DescribeDBClusterSnapshots", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeDBLogFilesMessage"}, + "input":{"shape":"DescribeDBClusterSnapshotsMessage"}, "output":{ - "shape":"DescribeDBLogFilesResponse", - "resultWrapper":"DescribeDBLogFilesResult" + "shape":"DBClusterSnapshotMessage", + "resultWrapper":"DescribeDBClusterSnapshotsResult" }, "errors":[ - {"shape":"DBInstanceNotFoundFault"} + {"shape":"DBClusterSnapshotNotFoundFault"} ] }, - "DescribeDBParameterGroups":{ - "name":"DescribeDBParameterGroups", + "DescribeDBClusters":{ + "name":"DescribeDBClusters", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeDBParameterGroupsMessage"}, + "input":{"shape":"DescribeDBClustersMessage"}, "output":{ - "shape":"DBParameterGroupsMessage", - "resultWrapper":"DescribeDBParameterGroupsResult" + "shape":"DBClusterMessage", + "resultWrapper":"DescribeDBClustersResult" }, "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} + {"shape":"DBClusterNotFoundFault"} ] }, - "DescribeDBParameters":{ - "name":"DescribeDBParameters", + "DescribeDBEngineVersions":{ + "name":"DescribeDBEngineVersions", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeDBParametersMessage"}, + "input":{"shape":"DescribeDBEngineVersionsMessage"}, "output":{ - "shape":"DBParameterGroupDetails", - "resultWrapper":"DescribeDBParametersResult" + "shape":"DBEngineVersionMessage", + "resultWrapper":"DescribeDBEngineVersionsResult" + } + }, + "DescribeDBInstances":{ + "name":"DescribeDBInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBInstancesMessage"}, + "output":{ + "shape":"DBInstanceMessage", + "resultWrapper":"DescribeDBInstancesResult" }, "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} + {"shape":"DBInstanceNotFoundFault"} ] }, - "DescribeDBSecurityGroups":{ - "name":"DescribeDBSecurityGroups", + "DescribeDBParameterGroups":{ + "name":"DescribeDBParameterGroups", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeDBSecurityGroupsMessage"}, + "input":{"shape":"DescribeDBParameterGroupsMessage"}, "output":{ - "shape":"DBSecurityGroupMessage", - "resultWrapper":"DescribeDBSecurityGroupsResult" + "shape":"DBParameterGroupsMessage", + "resultWrapper":"DescribeDBParameterGroupsResult" }, "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"} + {"shape":"DBParameterGroupNotFoundFault"} ] }, - "DescribeDBSnapshots":{ - "name":"DescribeDBSnapshots", + "DescribeDBParameters":{ + "name":"DescribeDBParameters", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeDBSnapshotsMessage"}, + "input":{"shape":"DescribeDBParametersMessage"}, "output":{ - "shape":"DBSnapshotMessage", - "resultWrapper":"DescribeDBSnapshotsResult" + "shape":"DBParameterGroupDetails", + "resultWrapper":"DescribeDBParametersResult" }, "errors":[ - {"shape":"DBSnapshotNotFoundFault"} + {"shape":"DBParameterGroupNotFoundFault"} ] }, "DescribeDBSubnetGroups":{ @@ -492,6 +531,18 @@ {"shape":"DBSubnetGroupNotFoundFault"} ] }, + "DescribeEngineDefaultClusterParameters":{ + "name":"DescribeEngineDefaultClusterParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEngineDefaultClusterParametersMessage"}, + "output":{ + "shape":"DescribeEngineDefaultClusterParametersResult", + "resultWrapper":"DescribeEngineDefaultClusterParametersResult" + } + }, "DescribeEngineDefaultParameters":{ "name":"DescribeEngineDefaultParameters", "http":{ @@ -543,105 +594,139 @@ "resultWrapper":"DescribeEventsResult" } }, - "DescribeOptionGroupOptions":{ - "name":"DescribeOptionGroupOptions", + "DescribeOrderableDBInstanceOptions":{ + "name":"DescribeOrderableDBInstanceOptions", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeOptionGroupOptionsMessage"}, + "input":{"shape":"DescribeOrderableDBInstanceOptionsMessage"}, "output":{ - "shape":"OptionGroupOptionsMessage", - "resultWrapper":"DescribeOptionGroupOptionsResult" + "shape":"OrderableDBInstanceOptionsMessage", + "resultWrapper":"DescribeOrderableDBInstanceOptionsResult" } }, - "DescribeOptionGroups":{ - "name":"DescribeOptionGroups", + "DescribePendingMaintenanceActions":{ + "name":"DescribePendingMaintenanceActions", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeOptionGroupsMessage"}, + "input":{"shape":"DescribePendingMaintenanceActionsMessage"}, "output":{ - "shape":"OptionGroups", - "resultWrapper":"DescribeOptionGroupsResult" + "shape":"PendingMaintenanceActionsMessage", + "resultWrapper":"DescribePendingMaintenanceActionsResult" }, "errors":[ - {"shape":"OptionGroupNotFoundFault"} + {"shape":"ResourceNotFoundFault"} ] }, - "DescribeOrderableDBInstanceOptions":{ - "name":"DescribeOrderableDBInstanceOptions", + "DescribeValidDBInstanceModifications":{ + "name":"DescribeValidDBInstanceModifications", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeOrderableDBInstanceOptionsMessage"}, + "input":{"shape":"DescribeValidDBInstanceModificationsMessage"}, "output":{ - "shape":"OrderableDBInstanceOptionsMessage", - "resultWrapper":"DescribeOrderableDBInstanceOptionsResult" - } + "shape":"DescribeValidDBInstanceModificationsResult", + "resultWrapper":"DescribeValidDBInstanceModificationsResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ] }, - "DescribeReservedDBInstances":{ - "name":"DescribeReservedDBInstances", + "FailoverDBCluster":{ + "name":"FailoverDBCluster", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeReservedDBInstancesMessage"}, + "input":{"shape":"FailoverDBClusterMessage"}, "output":{ - "shape":"ReservedDBInstanceMessage", - "resultWrapper":"DescribeReservedDBInstancesResult" + "shape":"FailoverDBClusterResult", + "resultWrapper":"FailoverDBClusterResult" }, "errors":[ - {"shape":"ReservedDBInstanceNotFoundFault"} + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBInstanceStateFault"} ] }, - "DescribeReservedDBInstancesOfferings":{ - "name":"DescribeReservedDBInstancesOfferings", + "ListTagsForResource":{ + "name":"ListTagsForResource", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeReservedDBInstancesOfferingsMessage"}, + "input":{"shape":"ListTagsForResourceMessage"}, "output":{ - "shape":"ReservedDBInstancesOfferingMessage", - "resultWrapper":"DescribeReservedDBInstancesOfferingsResult" + "shape":"TagListMessage", + "resultWrapper":"ListTagsForResourceResult" }, "errors":[ - {"shape":"ReservedDBInstancesOfferingNotFoundFault"} + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"} ] }, - "DownloadDBLogFilePortion":{ - "name":"DownloadDBLogFilePortion", + "ModifyDBCluster":{ + "name":"ModifyDBCluster", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DownloadDBLogFilePortionMessage"}, + "input":{"shape":"ModifyDBClusterMessage"}, "output":{ - "shape":"DownloadDBLogFilePortionDetails", - "resultWrapper":"DownloadDBLogFilePortionResult" + "shape":"ModifyDBClusterResult", + "resultWrapper":"ModifyDBClusterResult" }, "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBLogFileNotFoundFault"} + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidDBSubnetGroupStateFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"DBClusterParameterGroupNotFoundFault"}, + {"shape":"InvalidDBSecurityGroupStateFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBClusterAlreadyExistsFault"} ] }, - "ListTagsForResource":{ - "name":"ListTagsForResource", + "ModifyDBClusterParameterGroup":{ + "name":"ModifyDBClusterParameterGroup", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ListTagsForResourceMessage"}, + "input":{"shape":"ModifyDBClusterParameterGroupMessage"}, "output":{ - "shape":"TagListMessage", - "resultWrapper":"ListTagsForResourceResult" + "shape":"DBClusterParameterGroupNameMessage", + "resultWrapper":"ModifyDBClusterParameterGroupResult" }, "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"InvalidDBParameterGroupStateFault"} + ] + }, + "ModifyDBClusterSnapshotAttribute":{ + "name":"ModifyDBClusterSnapshotAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBClusterSnapshotAttributeMessage"}, + "output":{ + "shape":"ModifyDBClusterSnapshotAttributeResult", + "resultWrapper":"ModifyDBClusterSnapshotAttributeResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"SharedSnapshotQuotaExceededFault"} ] }, "ModifyDBInstance":{ @@ -669,7 +754,9 @@ {"shape":"OptionGroupNotFoundFault"}, {"shape":"DBUpgradeDependencyFailureFault"}, {"shape":"StorageTypeNotSupportedFault"}, - {"shape":"AuthorizationNotFoundFault"} + {"shape":"AuthorizationNotFoundFault"}, + {"shape":"CertificateNotFoundFault"}, + {"shape":"DomainNotFoundFault"} ] }, "ModifyDBParameterGroup":{ @@ -727,69 +814,49 @@ {"shape":"SubscriptionCategoryNotFoundFault"} ] }, - "ModifyOptionGroup":{ - "name":"ModifyOptionGroup", + "PromoteReadReplicaDBCluster":{ + "name":"PromoteReadReplicaDBCluster", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ModifyOptionGroupMessage"}, + "input":{"shape":"PromoteReadReplicaDBClusterMessage"}, "output":{ - "shape":"ModifyOptionGroupResult", - "resultWrapper":"ModifyOptionGroupResult" + "shape":"PromoteReadReplicaDBClusterResult", + "resultWrapper":"PromoteReadReplicaDBClusterResult" }, "errors":[ - {"shape":"InvalidOptionGroupStateFault"}, - {"shape":"OptionGroupNotFoundFault"} + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"} ] }, - "PromoteReadReplica":{ - "name":"PromoteReadReplica", + "RebootDBInstance":{ + "name":"RebootDBInstance", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"PromoteReadReplicaMessage"}, + "input":{"shape":"RebootDBInstanceMessage"}, "output":{ - "shape":"PromoteReadReplicaResult", - "resultWrapper":"PromoteReadReplicaResult" + "shape":"RebootDBInstanceResult", + "resultWrapper":"RebootDBInstanceResult" }, "errors":[ {"shape":"InvalidDBInstanceStateFault"}, {"shape":"DBInstanceNotFoundFault"} ] }, - "PurchaseReservedDBInstancesOffering":{ - "name":"PurchaseReservedDBInstancesOffering", + "RemoveRoleFromDBCluster":{ + "name":"RemoveRoleFromDBCluster", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"PurchaseReservedDBInstancesOfferingMessage"}, - "output":{ - "shape":"PurchaseReservedDBInstancesOfferingResult", - "resultWrapper":"PurchaseReservedDBInstancesOfferingResult" - }, + "input":{"shape":"RemoveRoleFromDBClusterMessage"}, "errors":[ - {"shape":"ReservedDBInstancesOfferingNotFoundFault"}, - {"shape":"ReservedDBInstanceAlreadyExistsFault"}, - {"shape":"ReservedDBInstanceQuotaExceededFault"} - ] - }, - "RebootDBInstance":{ - "name":"RebootDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootDBInstanceMessage"}, - "output":{ - "shape":"RebootDBInstanceResult", - "resultWrapper":"RebootDBInstanceResult" - }, - "errors":[ - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"} + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBClusterRoleNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"} ] }, "RemoveSourceIdentifierFromSubscription":{ @@ -817,7 +884,24 @@ "input":{"shape":"RemoveTagsFromResourceMessage"}, "errors":[ {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"} + ] + }, + "ResetDBClusterParameterGroup":{ + "name":"ResetDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetDBClusterParameterGroupMessage"}, + "output":{ + "shape":"DBClusterParameterGroupNameMessage", + "resultWrapper":"ResetDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"InvalidDBParameterGroupStateFault"}, + {"shape":"DBParameterGroupNotFoundFault"} ] }, "ResetDBParameterGroup":{ @@ -836,84 +920,80 @@ {"shape":"DBParameterGroupNotFoundFault"} ] }, - "RestoreDBInstanceFromDBSnapshot":{ - "name":"RestoreDBInstanceFromDBSnapshot", + "RestoreDBClusterFromSnapshot":{ + "name":"RestoreDBClusterFromSnapshot", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"RestoreDBInstanceFromDBSnapshotMessage"}, + "input":{"shape":"RestoreDBClusterFromSnapshotMessage"}, "output":{ - "shape":"RestoreDBInstanceFromDBSnapshotResult", - "resultWrapper":"RestoreDBInstanceFromDBSnapshotResult" + "shape":"RestoreDBClusterFromSnapshotResult", + "resultWrapper":"RestoreDBClusterFromSnapshotResult" }, "errors":[ - {"shape":"DBInstanceAlreadyExistsFault"}, + {"shape":"DBClusterAlreadyExistsFault"}, + {"shape":"DBClusterQuotaExceededFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"InstanceQuotaExceededFault"}, - {"shape":"InsufficientDBInstanceCapacityFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"InsufficientDBClusterCapacityFault"}, + {"shape":"InsufficientStorageClusterCapacityFault"}, {"shape":"InvalidDBSnapshotStateFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, {"shape":"StorageQuotaExceededFault"}, {"shape":"InvalidVPCNetworkStateFault"}, {"shape":"InvalidRestoreFault"}, {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, {"shape":"InvalidSubnet"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, {"shape":"OptionGroupNotFoundFault"}, - {"shape":"StorageTypeNotSupportedFault"}, - {"shape":"AuthorizationNotFoundFault"} + {"shape":"KMSKeyNotAccessibleFault"} ] }, - "RestoreDBInstanceToPointInTime":{ - "name":"RestoreDBInstanceToPointInTime", + "RestoreDBClusterToPointInTime":{ + "name":"RestoreDBClusterToPointInTime", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"RestoreDBInstanceToPointInTimeMessage"}, + "input":{"shape":"RestoreDBClusterToPointInTimeMessage"}, "output":{ - "shape":"RestoreDBInstanceToPointInTimeResult", - "resultWrapper":"RestoreDBInstanceToPointInTimeResult" + "shape":"RestoreDBClusterToPointInTimeResult", + "resultWrapper":"RestoreDBClusterToPointInTimeResult" }, "errors":[ - {"shape":"DBInstanceAlreadyExistsFault"}, - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"InstanceQuotaExceededFault"}, - {"shape":"InsufficientDBInstanceCapacityFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"PointInTimeRestoreNotEnabledFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidRestoreFault"}, + {"shape":"DBClusterAlreadyExistsFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBClusterQuotaExceededFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"}, {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InsufficientDBClusterCapacityFault"}, + {"shape":"InsufficientStorageClusterCapacityFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBSnapshotStateFault"}, + {"shape":"InvalidRestoreFault"}, {"shape":"InvalidSubnet"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"OptionGroupNotFoundFault"}, - {"shape":"StorageTypeNotSupportedFault"}, - {"shape":"AuthorizationNotFoundFault"} - ] - }, - "RevokeDBSecurityGroupIngress":{ - "name":"RevokeDBSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeDBSecurityGroupIngressMessage"}, - "output":{ - "shape":"RevokeDBSecurityGroupIngressResult", - "resultWrapper":"RevokeDBSecurityGroupIngressResult" - }, - "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"InvalidDBSecurityGroupStateFault"} + {"shape":"StorageQuotaExceededFault"} ] } }, "shapes":{ + "AddRoleToDBClusterMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "RoleArn" + ], + "members":{ + "DBClusterIdentifier":{"shape":"String"}, + "RoleArn":{"shape":"String"} + } + }, "AddSourceIdentifierToSubscriptionMessage":{ "type":"structure", "required":[ @@ -949,16 +1029,31 @@ "pending-reboot" ] }, - "AuthorizationAlreadyExistsFault":{ + "ApplyPendingMaintenanceActionMessage":{ "type":"structure", + "required":[ + "ResourceIdentifier", + "ApplyAction", + "OptInType" + ], "members":{ - }, - "error":{ - "code":"AuthorizationAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true + "ResourceIdentifier":{"shape":"String"}, + "ApplyAction":{"shape":"String"}, + "OptInType":{"shape":"String"} + } + }, + "ApplyPendingMaintenanceActionResult":{ + "type":"structure", + "members":{ + "ResourcePendingMaintenanceActions":{"shape":"ResourcePendingMaintenanceActions"} + } + }, + "AttributeValueList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"AttributeValue" + } }, "AuthorizationNotFoundFault":{ "type":"structure", @@ -971,55 +1066,93 @@ }, "exception":true }, - "AuthorizationQuotaExceededFault":{ + "AvailabilityZone":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"} + }, + "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":{ }, "error":{ - "code":"AuthorizationQuotaExceeded", - "httpStatusCode":400, + "code":"CertificateNotFound", + "httpStatusCode":404, "senderFault":true }, "exception":true }, - "AuthorizeDBSecurityGroupIngressMessage":{ + "CharacterSet":{ "type":"structure", - "required":["DBSecurityGroupName"], "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "CIDRIP":{"shape":"String"}, - "EC2SecurityGroupName":{"shape":"String"}, - "EC2SecurityGroupId":{"shape":"String"}, - "EC2SecurityGroupOwnerId":{"shape":"String"} + "CharacterSetName":{"shape":"String"}, + "CharacterSetDescription":{"shape":"String"} } }, - "AuthorizeDBSecurityGroupIngressResult":{ + "CloudwatchLogsExportConfiguration":{ "type":"structure", "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} + "EnableLogTypes":{"shape":"LogTypeList"}, + "DisableLogTypes":{"shape":"LogTypeList"} } }, - "AvailabilityZone":{ + "CopyDBClusterParameterGroupMessage":{ "type":"structure", + "required":[ + "SourceDBClusterParameterGroupIdentifier", + "TargetDBClusterParameterGroupIdentifier", + "TargetDBClusterParameterGroupDescription" + ], "members":{ - "Name":{"shape":"String"} - }, - "wrapper":true + "SourceDBClusterParameterGroupIdentifier":{"shape":"String"}, + "TargetDBClusterParameterGroupIdentifier":{"shape":"String"}, + "TargetDBClusterParameterGroupDescription":{"shape":"String"}, + "Tags":{"shape":"TagList"} + } }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"AvailabilityZone" + "CopyDBClusterParameterGroupResult":{ + "type":"structure", + "members":{ + "DBClusterParameterGroup":{"shape":"DBClusterParameterGroup"} } }, - "Boolean":{"type":"boolean"}, - "BooleanOptional":{"type":"boolean"}, - "CharacterSet":{ + "CopyDBClusterSnapshotMessage":{ "type":"structure", + "required":[ + "SourceDBClusterSnapshotIdentifier", + "TargetDBClusterSnapshotIdentifier" + ], "members":{ - "CharacterSetName":{"shape":"String"}, - "CharacterSetDescription":{"shape":"String"} + "SourceDBClusterSnapshotIdentifier":{"shape":"String"}, + "TargetDBClusterSnapshotIdentifier":{"shape":"String"}, + "KmsKeyId":{"shape":"String"}, + "PreSignedUrl":{"shape":"String"}, + "CopyTags":{"shape":"BooleanOptional"}, + "Tags":{"shape":"TagList"} + } + }, + "CopyDBClusterSnapshotResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} } }, "CopyDBParameterGroupMessage":{ @@ -1042,53 +1175,87 @@ "DBParameterGroup":{"shape":"DBParameterGroup"} } }, - "CopyDBSnapshotMessage":{ + "CreateDBClusterMessage":{ "type":"structure", "required":[ - "SourceDBSnapshotIdentifier", - "TargetDBSnapshotIdentifier" + "DBClusterIdentifier", + "Engine" ], "members":{ - "SourceDBSnapshotIdentifier":{"shape":"String"}, - "TargetDBSnapshotIdentifier":{"shape":"String"}, + "AvailabilityZones":{"shape":"AvailabilityZones"}, + "BackupRetentionPeriod":{"shape":"IntegerOptional"}, + "CharacterSetName":{"shape":"String"}, + "DatabaseName":{"shape":"String"}, + "DBClusterIdentifier":{"shape":"String"}, + "DBClusterParameterGroupName":{"shape":"String"}, + "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, + "DBSubnetGroupName":{"shape":"String"}, + "Engine":{"shape":"String"}, + "EngineVersion":{"shape":"String"}, + "Port":{"shape":"IntegerOptional"}, + "MasterUsername":{"shape":"String"}, + "MasterUserPassword":{"shape":"String"}, + "OptionGroupName":{"shape":"String"}, + "PreferredBackupWindow":{"shape":"String"}, + "PreferredMaintenanceWindow":{"shape":"String"}, + "ReplicationSourceIdentifier":{"shape":"String"}, + "Tags":{"shape":"TagList"}, + "StorageEncrypted":{"shape":"BooleanOptional"}, + "KmsKeyId":{"shape":"String"}, + "PreSignedUrl":{"shape":"String"}, + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"} + } + }, + "CreateDBClusterParameterGroupMessage":{ + "type":"structure", + "required":[ + "DBClusterParameterGroupName", + "DBParameterGroupFamily", + "Description" + ], + "members":{ + "DBClusterParameterGroupName":{"shape":"String"}, + "DBParameterGroupFamily":{"shape":"String"}, + "Description":{"shape":"String"}, "Tags":{"shape":"TagList"} } }, - "CopyDBSnapshotResult":{ + "CreateDBClusterParameterGroupResult":{ "type":"structure", "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} + "DBClusterParameterGroup":{"shape":"DBClusterParameterGroup"} } }, - "CopyOptionGroupMessage":{ + "CreateDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "CreateDBClusterSnapshotMessage":{ "type":"structure", "required":[ - "SourceOptionGroupIdentifier", - "TargetOptionGroupIdentifier", - "TargetOptionGroupDescription" + "DBClusterSnapshotIdentifier", + "DBClusterIdentifier" ], "members":{ - "SourceOptionGroupIdentifier":{"shape":"String"}, - "TargetOptionGroupIdentifier":{"shape":"String"}, - "TargetOptionGroupDescription":{"shape":"String"}, + "DBClusterSnapshotIdentifier":{"shape":"String"}, + "DBClusterIdentifier":{"shape":"String"}, "Tags":{"shape":"TagList"} } }, - "CopyOptionGroupResult":{ + "CreateDBClusterSnapshotResult":{ "type":"structure", "members":{ - "OptionGroup":{"shape":"OptionGroup"} + "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} } }, "CreateDBInstanceMessage":{ "type":"structure", "required":[ "DBInstanceIdentifier", - "AllocatedStorage", "DBInstanceClass", - "Engine", - "MasterUsername", - "MasterUserPassword" + "Engine" ], "members":{ "DBName":{"shape":"String"}, @@ -1114,38 +1281,28 @@ "Iops":{"shape":"IntegerOptional"}, "OptionGroupName":{"shape":"String"}, "CharacterSetName":{"shape":"String"}, - "PubliclyAccessible":{"shape":"BooleanOptional"}, + "PubliclyAccessible":{ + "shape":"BooleanOptional", + "deprecated":true + }, "Tags":{"shape":"TagList"}, + "DBClusterIdentifier":{"shape":"String"}, "StorageType":{"shape":"String"}, "TdeCredentialArn":{"shape":"String"}, - "TdeCredentialPassword":{"shape":"String"} - } - }, - "CreateDBInstanceReadReplicaMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "SourceDBInstanceIdentifier" - ], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "SourceDBInstanceIdentifier":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "AvailabilityZone":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "PubliclyAccessible":{"shape":"BooleanOptional"}, - "Tags":{"shape":"TagList"}, - "DBSubnetGroupName":{"shape":"String"}, - "StorageType":{"shape":"String"} - } - }, - "CreateDBInstanceReadReplicaResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} + "TdeCredentialPassword":{"shape":"String"}, + "StorageEncrypted":{"shape":"BooleanOptional"}, + "KmsKeyId":{"shape":"String"}, + "Domain":{"shape":"String"}, + "CopyTagsToSnapshot":{"shape":"BooleanOptional"}, + "MonitoringInterval":{"shape":"IntegerOptional"}, + "MonitoringRoleArn":{"shape":"String"}, + "DomainIAMRoleName":{"shape":"String"}, + "PromotionTier":{"shape":"IntegerOptional"}, + "Timezone":{"shape":"String"}, + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, + "EnablePerformanceInsights":{"shape":"BooleanOptional"}, + "PerformanceInsightsKMSKeyId":{"shape":"String"}, + "EnableCloudwatchLogsExports":{"shape":"LogTypeList"} } }, "CreateDBInstanceResult":{ @@ -1174,105 +1331,345 @@ "DBParameterGroup":{"shape":"DBParameterGroup"} } }, - "CreateDBSecurityGroupMessage":{ + "CreateDBSubnetGroupMessage":{ "type":"structure", "required":[ - "DBSecurityGroupName", - "DBSecurityGroupDescription" + "DBSubnetGroupName", + "DBSubnetGroupDescription", + "SubnetIds" ], "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "DBSecurityGroupDescription":{"shape":"String"}, + "DBSubnetGroupName":{"shape":"String"}, + "DBSubnetGroupDescription":{"shape":"String"}, + "SubnetIds":{"shape":"SubnetIdentifierList"}, "Tags":{"shape":"TagList"} } }, - "CreateDBSecurityGroupResult":{ + "CreateDBSubnetGroupResult":{ "type":"structure", "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} + "DBSubnetGroup":{"shape":"DBSubnetGroup"} } }, - "CreateDBSnapshotMessage":{ + "CreateEventSubscriptionMessage":{ "type":"structure", "required":[ - "DBSnapshotIdentifier", - "DBInstanceIdentifier" + "SubscriptionName", + "SnsTopicArn" ], "members":{ - "DBSnapshotIdentifier":{"shape":"String"}, - "DBInstanceIdentifier":{"shape":"String"}, + "SubscriptionName":{"shape":"String"}, + "SnsTopicArn":{"shape":"String"}, + "SourceType":{"shape":"String"}, + "EventCategories":{"shape":"EventCategoriesList"}, + "SourceIds":{"shape":"SourceIdsList"}, + "Enabled":{"shape":"BooleanOptional"}, "Tags":{"shape":"TagList"} } }, - "CreateDBSnapshotResult":{ + "CreateEventSubscriptionResult":{ "type":"structure", "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} + "EventSubscription":{"shape":"EventSubscription"} } }, - "CreateDBSubnetGroupMessage":{ + "DBCluster":{ "type":"structure", - "required":[ - "DBSubnetGroupName", - "DBSubnetGroupDescription", - "SubnetIds" - ], "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "DBSubnetGroupDescription":{"shape":"String"}, - "SubnetIds":{"shape":"SubnetIdentifierList"}, - "Tags":{"shape":"TagList"} + "AllocatedStorage":{"shape":"IntegerOptional"}, + "AvailabilityZones":{"shape":"AvailabilityZones"}, + "BackupRetentionPeriod":{"shape":"IntegerOptional"}, + "CharacterSetName":{"shape":"String"}, + "DatabaseName":{"shape":"String"}, + "DBClusterIdentifier":{"shape":"String"}, + "DBClusterParameterGroup":{"shape":"String"}, + "DBSubnetGroup":{"shape":"String"}, + "Status":{"shape":"String"}, + "PercentProgress":{"shape":"String"}, + "EarliestRestorableTime":{"shape":"TStamp"}, + "Endpoint":{"shape":"String"}, + "ReaderEndpoint":{"shape":"String"}, + "MultiAZ":{"shape":"Boolean"}, + "Engine":{"shape":"String"}, + "EngineVersion":{"shape":"String"}, + "LatestRestorableTime":{"shape":"TStamp"}, + "Port":{"shape":"IntegerOptional"}, + "MasterUsername":{"shape":"String"}, + "DBClusterOptionGroupMemberships":{"shape":"DBClusterOptionGroupMemberships"}, + "PreferredBackupWindow":{"shape":"String"}, + "PreferredMaintenanceWindow":{"shape":"String"}, + "ReplicationSourceIdentifier":{"shape":"String"}, + "ReadReplicaIdentifiers":{"shape":"ReadReplicaIdentifierList"}, + "DBClusterMembers":{"shape":"DBClusterMemberList"}, + "VpcSecurityGroups":{"shape":"VpcSecurityGroupMembershipList"}, + "HostedZoneId":{"shape":"String"}, + "StorageEncrypted":{"shape":"Boolean"}, + "KmsKeyId":{"shape":"String"}, + "DbClusterResourceId":{"shape":"String"}, + "DBClusterArn":{"shape":"String"}, + "AssociatedRoles":{"shape":"DBClusterRoles"}, + "IAMDatabaseAuthenticationEnabled":{"shape":"Boolean"}, + "CloneGroupId":{"shape":"String"}, + "ClusterCreateTime":{"shape":"TStamp"} + }, + "wrapper":true + }, + "DBClusterAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"DBClusterAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBClusterList":{ + "type":"list", + "member":{ + "shape":"DBCluster", + "locationName":"DBCluster" + } + }, + "DBClusterMember":{ + "type":"structure", + "members":{ + "DBInstanceIdentifier":{"shape":"String"}, + "IsClusterWriter":{"shape":"Boolean"}, + "DBClusterParameterGroupStatus":{"shape":"String"}, + "PromotionTier":{"shape":"IntegerOptional"} + }, + "wrapper":true + }, + "DBClusterMemberList":{ + "type":"list", + "member":{ + "shape":"DBClusterMember", + "locationName":"DBClusterMember" + } + }, + "DBClusterMessage":{ + "type":"structure", + "members":{ + "Marker":{"shape":"String"}, + "DBClusters":{"shape":"DBClusterList"} + } + }, + "DBClusterNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"DBClusterNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBClusterOptionGroupMemberships":{ + "type":"list", + "member":{ + "shape":"DBClusterOptionGroupStatus", + "locationName":"DBClusterOptionGroup" + } + }, + "DBClusterOptionGroupStatus":{ + "type":"structure", + "members":{ + "DBClusterOptionGroupName":{"shape":"String"}, + "Status":{"shape":"String"} + } + }, + "DBClusterParameterGroup":{ + "type":"structure", + "members":{ + "DBClusterParameterGroupName":{"shape":"String"}, + "DBParameterGroupFamily":{"shape":"String"}, + "Description":{"shape":"String"}, + "DBClusterParameterGroupArn":{"shape":"String"} + }, + "wrapper":true + }, + "DBClusterParameterGroupDetails":{ + "type":"structure", + "members":{ + "Parameters":{"shape":"ParametersList"}, + "Marker":{"shape":"String"} + } + }, + "DBClusterParameterGroupList":{ + "type":"list", + "member":{ + "shape":"DBClusterParameterGroup", + "locationName":"DBClusterParameterGroup" + } + }, + "DBClusterParameterGroupNameMessage":{ + "type":"structure", + "members":{ + "DBClusterParameterGroupName":{"shape":"String"} } }, - "CreateDBSubnetGroupResult":{ + "DBClusterParameterGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"DBClusterParameterGroupNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBClusterParameterGroupsMessage":{ + "type":"structure", + "members":{ + "Marker":{"shape":"String"}, + "DBClusterParameterGroups":{"shape":"DBClusterParameterGroupList"} + } + }, + "DBClusterQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"DBClusterQuotaExceededFault", + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "DBClusterRole":{ + "type":"structure", + "members":{ + "RoleArn":{"shape":"String"}, + "Status":{"shape":"String"} + } + }, + "DBClusterRoleAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"DBClusterRoleAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBClusterRoleNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"DBClusterRoleNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBClusterRoleQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"DBClusterRoleQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBClusterRoles":{ + "type":"list", + "member":{ + "shape":"DBClusterRole", + "locationName":"DBClusterRole" + } + }, + "DBClusterSnapshot":{ + "type":"structure", + "members":{ + "AvailabilityZones":{"shape":"AvailabilityZones"}, + "DBClusterSnapshotIdentifier":{"shape":"String"}, + "DBClusterIdentifier":{"shape":"String"}, + "SnapshotCreateTime":{"shape":"TStamp"}, + "Engine":{"shape":"String"}, + "AllocatedStorage":{"shape":"Integer"}, + "Status":{"shape":"String"}, + "Port":{"shape":"Integer"}, + "VpcId":{"shape":"String"}, + "ClusterCreateTime":{"shape":"TStamp"}, + "MasterUsername":{"shape":"String"}, + "EngineVersion":{"shape":"String"}, + "LicenseModel":{"shape":"String"}, + "SnapshotType":{"shape":"String"}, + "PercentProgress":{"shape":"Integer"}, + "StorageEncrypted":{"shape":"Boolean"}, + "KmsKeyId":{"shape":"String"}, + "DBClusterSnapshotArn":{"shape":"String"}, + "SourceDBClusterSnapshotArn":{"shape":"String"}, + "IAMDatabaseAuthenticationEnabled":{"shape":"Boolean"} + }, + "wrapper":true + }, + "DBClusterSnapshotAlreadyExistsFault":{ "type":"structure", "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } + }, + "error":{ + "code":"DBClusterSnapshotAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true }, - "CreateEventSubscriptionMessage":{ + "DBClusterSnapshotAttribute":{ "type":"structure", - "required":[ - "SubscriptionName", - "SnsTopicArn" - ], "members":{ - "SubscriptionName":{"shape":"String"}, - "SnsTopicArn":{"shape":"String"}, - "SourceType":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "SourceIds":{"shape":"SourceIdsList"}, - "Enabled":{"shape":"BooleanOptional"}, - "Tags":{"shape":"TagList"} + "AttributeName":{"shape":"String"}, + "AttributeValues":{"shape":"AttributeValueList"} } }, - "CreateEventSubscriptionResult":{ + "DBClusterSnapshotAttributeList":{ + "type":"list", + "member":{ + "shape":"DBClusterSnapshotAttribute", + "locationName":"DBClusterSnapshotAttribute" + } + }, + "DBClusterSnapshotAttributesResult":{ "type":"structure", "members":{ - "EventSubscription":{"shape":"EventSubscription"} + "DBClusterSnapshotIdentifier":{"shape":"String"}, + "DBClusterSnapshotAttributes":{"shape":"DBClusterSnapshotAttributeList"} + }, + "wrapper":true + }, + "DBClusterSnapshotList":{ + "type":"list", + "member":{ + "shape":"DBClusterSnapshot", + "locationName":"DBClusterSnapshot" } }, - "CreateOptionGroupMessage":{ + "DBClusterSnapshotMessage":{ "type":"structure", - "required":[ - "OptionGroupName", - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], "members":{ - "OptionGroupName":{"shape":"String"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "OptionGroupDescription":{"shape":"String"}, - "Tags":{"shape":"TagList"} + "Marker":{"shape":"String"}, + "DBClusterSnapshots":{"shape":"DBClusterSnapshotList"} } }, - "CreateOptionGroupResult":{ + "DBClusterSnapshotNotFoundFault":{ "type":"structure", "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } + }, + "error":{ + "code":"DBClusterSnapshotNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true }, "DBEngineVersion":{ "type":"structure", @@ -1283,7 +1680,12 @@ "DBEngineDescription":{"shape":"String"}, "DBEngineVersionDescription":{"shape":"String"}, "DefaultCharacterSet":{"shape":"CharacterSet"}, - "SupportedCharacterSets":{"shape":"SupportedCharacterSetsList"} + "SupportedCharacterSets":{"shape":"SupportedCharacterSetsList"}, + "ValidUpgradeTarget":{"shape":"ValidUpgradeTargetList"}, + "SupportedTimezones":{"shape":"SupportedTimezonesList"}, + "ExportableLogTypes":{"shape":"LogTypeList"}, + "SupportsLogExportsToCloudwatchLogs":{"shape":"Boolean"}, + "SupportsReadReplica":{"shape":"Boolean"} } }, "DBEngineVersionList":{ @@ -1327,15 +1729,37 @@ "AutoMinorVersionUpgrade":{"shape":"Boolean"}, "ReadReplicaSourceDBInstanceIdentifier":{"shape":"String"}, "ReadReplicaDBInstanceIdentifiers":{"shape":"ReadReplicaDBInstanceIdentifierList"}, + "ReadReplicaDBClusterIdentifiers":{"shape":"ReadReplicaDBClusterIdentifierList"}, "LicenseModel":{"shape":"String"}, "Iops":{"shape":"IntegerOptional"}, "OptionGroupMemberships":{"shape":"OptionGroupMembershipList"}, "CharacterSetName":{"shape":"String"}, "SecondaryAvailabilityZone":{"shape":"String"}, - "PubliclyAccessible":{"shape":"Boolean"}, + "PubliclyAccessible":{ + "shape":"Boolean", + "deprecated":true + }, "StatusInfos":{"shape":"DBInstanceStatusInfoList"}, "StorageType":{"shape":"String"}, - "TdeCredentialArn":{"shape":"String"} + "TdeCredentialArn":{"shape":"String"}, + "DbInstancePort":{"shape":"Integer"}, + "DBClusterIdentifier":{"shape":"String"}, + "StorageEncrypted":{"shape":"Boolean"}, + "KmsKeyId":{"shape":"String"}, + "DbiResourceId":{"shape":"String"}, + "CACertificateIdentifier":{"shape":"String"}, + "DomainMemberships":{"shape":"DomainMembershipList"}, + "CopyTagsToSnapshot":{"shape":"Boolean"}, + "MonitoringInterval":{"shape":"IntegerOptional"}, + "EnhancedMonitoringResourceArn":{"shape":"String"}, + "MonitoringRoleArn":{"shape":"String"}, + "PromotionTier":{"shape":"IntegerOptional"}, + "DBInstanceArn":{"shape":"String"}, + "Timezone":{"shape":"String"}, + "IAMDatabaseAuthenticationEnabled":{"shape":"Boolean"}, + "PerformanceInsightsEnabled":{"shape":"BooleanOptional"}, + "PerformanceInsightsKMSKeyId":{"shape":"String"}, + "EnabledCloudwatchLogsExports":{"shape":"LogTypeList"} }, "wrapper":true }, @@ -1391,23 +1815,13 @@ "locationName":"DBInstanceStatusInfo" } }, - "DBLogFileNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBLogFileNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, "DBParameterGroup":{ "type":"structure", "members":{ "DBParameterGroupName":{"shape":"String"}, "DBParameterGroupFamily":{"shape":"String"}, - "Description":{"shape":"String"} + "Description":{"shape":"String"}, + "DBParameterGroupArn":{"shape":"String"} }, "wrapper":true }, @@ -1485,29 +1899,6 @@ "DBParameterGroups":{"shape":"DBParameterGroupList"} } }, - "DBSecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{"shape":"String"}, - "DBSecurityGroupName":{"shape":"String"}, - "DBSecurityGroupDescription":{"shape":"String"}, - "VpcId":{"shape":"String"}, - "EC2SecurityGroups":{"shape":"EC2SecurityGroupList"}, - "IPRanges":{"shape":"IPRangeList"} - }, - "wrapper":true - }, - "DBSecurityGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, "DBSecurityGroupMembership":{ "type":"structure", "members":{ @@ -1522,13 +1913,6 @@ "locationName":"DBSecurityGroup" } }, - "DBSecurityGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBSecurityGroups":{"shape":"DBSecurityGroups"} - } - }, "DBSecurityGroupNameList":{ "type":"list", "member":{ @@ -1547,61 +1931,6 @@ }, "exception":true }, - "DBSecurityGroupNotSupportedFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "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"}, - "DBInstanceIdentifier":{"shape":"String"}, - "SnapshotCreateTime":{"shape":"TStamp"}, - "Engine":{"shape":"String"}, - "AllocatedStorage":{"shape":"Integer"}, - "Status":{"shape":"String"}, - "Port":{"shape":"Integer"}, - "AvailabilityZone":{"shape":"String"}, - "VpcId":{"shape":"String"}, - "InstanceCreateTime":{"shape":"TStamp"}, - "MasterUsername":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "LicenseModel":{"shape":"String"}, - "SnapshotType":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "PercentProgress":{"shape":"Integer"}, - "SourceRegion":{"shape":"String"}, - "StorageType":{"shape":"String"}, - "TdeCredentialArn":{"shape":"String"} - }, - "wrapper":true - }, "DBSnapshotAlreadyExistsFault":{ "type":"structure", "members":{ @@ -1613,20 +1942,6 @@ }, "exception":true }, - "DBSnapshotList":{ - "type":"list", - "member":{ - "shape":"DBSnapshot", - "locationName":"DBSnapshot" - } - }, - "DBSnapshotMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBSnapshots":{"shape":"DBSnapshotList"} - } - }, "DBSnapshotNotFoundFault":{ "type":"structure", "members":{ @@ -1645,7 +1960,8 @@ "DBSubnetGroupDescription":{"shape":"String"}, "VpcId":{"shape":"String"}, "SubnetGroupStatus":{"shape":"String"}, - "Subnets":{"shape":"SubnetList"} + "Subnets":{"shape":"SubnetList"}, + "DBSubnetGroupArn":{"shape":"String"} }, "wrapper":true }, @@ -1678,17 +1994,6 @@ "DBSubnetGroups":{"shape":"DBSubnetGroups"} } }, - "DBSubnetGroupNotAllowedFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupNotAllowedFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, "DBSubnetGroupNotFoundFault":{ "type":"structure", "members":{ @@ -1740,46 +2045,61 @@ }, "exception":true }, - "DeleteDBInstanceMessage":{ + "DeleteDBClusterMessage":{ "type":"structure", - "required":["DBInstanceIdentifier"], + "required":["DBClusterIdentifier"], "members":{ - "DBInstanceIdentifier":{"shape":"String"}, + "DBClusterIdentifier":{"shape":"String"}, "SkipFinalSnapshot":{"shape":"Boolean"}, "FinalDBSnapshotIdentifier":{"shape":"String"} } }, - "DeleteDBInstanceResult":{ + "DeleteDBClusterParameterGroupMessage":{ "type":"structure", + "required":["DBClusterParameterGroupName"], "members":{ - "DBInstance":{"shape":"DBInstance"} + "DBClusterParameterGroupName":{"shape":"String"} } }, - "DeleteDBParameterGroupMessage":{ + "DeleteDBClusterResult":{ "type":"structure", - "required":["DBParameterGroupName"], "members":{ - "DBParameterGroupName":{"shape":"String"} + "DBCluster":{"shape":"DBCluster"} + } + }, + "DeleteDBClusterSnapshotMessage":{ + "type":"structure", + "required":["DBClusterSnapshotIdentifier"], + "members":{ + "DBClusterSnapshotIdentifier":{"shape":"String"} } }, - "DeleteDBSecurityGroupMessage":{ + "DeleteDBClusterSnapshotResult":{ "type":"structure", - "required":["DBSecurityGroupName"], "members":{ - "DBSecurityGroupName":{"shape":"String"} + "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} } }, - "DeleteDBSnapshotMessage":{ + "DeleteDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{"shape":"String"}, + "SkipFinalSnapshot":{"shape":"Boolean"}, + "FinalDBSnapshotIdentifier":{"shape":"String"} + } + }, + "DeleteDBInstanceResult":{ "type":"structure", - "required":["DBSnapshotIdentifier"], "members":{ - "DBSnapshotIdentifier":{"shape":"String"} + "DBInstance":{"shape":"DBInstance"} } }, - "DeleteDBSnapshotResult":{ + "DeleteDBParameterGroupMessage":{ "type":"structure", + "required":["DBParameterGroupName"], "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} + "DBParameterGroupName":{"shape":"String"} } }, "DeleteDBSubnetGroupMessage":{ @@ -1802,67 +2122,81 @@ "EventSubscription":{"shape":"EventSubscription"} } }, - "DeleteOptionGroupMessage":{ + "DescribeDBClusterParameterGroupsMessage":{ "type":"structure", - "required":["OptionGroupName"], "members":{ - "OptionGroupName":{"shape":"String"} + "DBClusterParameterGroupName":{"shape":"String"}, + "Filters":{"shape":"FilterList"}, + "MaxRecords":{"shape":"IntegerOptional"}, + "Marker":{"shape":"String"} } }, - "DescribeDBEngineVersionsMessage":{ + "DescribeDBClusterParametersMessage":{ "type":"structure", + "required":["DBClusterParameterGroupName"], "members":{ - "Engine":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "DBParameterGroupFamily":{"shape":"String"}, + "DBClusterParameterGroupName":{"shape":"String"}, + "Source":{"shape":"String"}, "Filters":{"shape":"FilterList"}, "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"}, - "DefaultOnly":{"shape":"Boolean"}, - "ListSupportedCharacterSets":{"shape":"BooleanOptional"} + "Marker":{"shape":"String"} } }, - "DescribeDBInstancesMessage":{ + "DescribeDBClusterSnapshotAttributesMessage":{ "type":"structure", + "required":["DBClusterSnapshotIdentifier"], "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} + "DBClusterSnapshotIdentifier":{"shape":"String"} } }, - "DescribeDBLogFilesDetails":{ + "DescribeDBClusterSnapshotAttributesResult":{ "type":"structure", "members":{ - "LogFileName":{"shape":"String"}, - "LastWritten":{"shape":"Long"}, - "Size":{"shape":"Long"} + "DBClusterSnapshotAttributesResult":{"shape":"DBClusterSnapshotAttributesResult"} } }, - "DescribeDBLogFilesList":{ - "type":"list", - "member":{ - "shape":"DescribeDBLogFilesDetails", - "locationName":"DescribeDBLogFilesDetails" + "DescribeDBClusterSnapshotsMessage":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{"shape":"String"}, + "DBClusterSnapshotIdentifier":{"shape":"String"}, + "SnapshotType":{"shape":"String"}, + "Filters":{"shape":"FilterList"}, + "MaxRecords":{"shape":"IntegerOptional"}, + "Marker":{"shape":"String"}, + "IncludeShared":{"shape":"Boolean"}, + "IncludePublic":{"shape":"Boolean"} } }, - "DescribeDBLogFilesMessage":{ + "DescribeDBClustersMessage":{ "type":"structure", - "required":["DBInstanceIdentifier"], "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "FilenameContains":{"shape":"String"}, - "FileLastWritten":{"shape":"Long"}, - "FileSize":{"shape":"Long"}, + "DBClusterIdentifier":{"shape":"String"}, "Filters":{"shape":"FilterList"}, "MaxRecords":{"shape":"IntegerOptional"}, "Marker":{"shape":"String"} } }, - "DescribeDBLogFilesResponse":{ + "DescribeDBEngineVersionsMessage":{ + "type":"structure", + "members":{ + "Engine":{"shape":"String"}, + "EngineVersion":{"shape":"String"}, + "DBParameterGroupFamily":{"shape":"String"}, + "Filters":{"shape":"FilterList"}, + "MaxRecords":{"shape":"IntegerOptional"}, + "Marker":{"shape":"String"}, + "DefaultOnly":{"shape":"Boolean"}, + "ListSupportedCharacterSets":{"shape":"BooleanOptional"}, + "ListSupportedTimezones":{"shape":"BooleanOptional"} + } + }, + "DescribeDBInstancesMessage":{ "type":"structure", "members":{ - "DescribeDBLogFiles":{"shape":"DescribeDBLogFilesList"}, + "DBInstanceIdentifier":{"shape":"String"}, + "Filters":{"shape":"FilterList"}, + "MaxRecords":{"shape":"IntegerOptional"}, "Marker":{"shape":"String"} } }, @@ -1886,33 +2220,29 @@ "Marker":{"shape":"String"} } }, - "DescribeDBSecurityGroupsMessage":{ + "DescribeDBSubnetGroupsMessage":{ "type":"structure", "members":{ - "DBSecurityGroupName":{"shape":"String"}, + "DBSubnetGroupName":{"shape":"String"}, "Filters":{"shape":"FilterList"}, "MaxRecords":{"shape":"IntegerOptional"}, "Marker":{"shape":"String"} } }, - "DescribeDBSnapshotsMessage":{ + "DescribeEngineDefaultClusterParametersMessage":{ "type":"structure", + "required":["DBParameterGroupFamily"], "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "DBSnapshotIdentifier":{"shape":"String"}, - "SnapshotType":{"shape":"String"}, + "DBParameterGroupFamily":{"shape":"String"}, "Filters":{"shape":"FilterList"}, "MaxRecords":{"shape":"IntegerOptional"}, "Marker":{"shape":"String"} } }, - "DescribeDBSubnetGroupsMessage":{ + "DescribeEngineDefaultClusterParametersResult":{ "type":"structure", "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} + "EngineDefaults":{"shape":"EngineDefaults"} } }, "DescribeEngineDefaultParametersMessage":{ @@ -1961,28 +2291,6 @@ "Marker":{"shape":"String"} } }, - "DescribeOptionGroupOptionsMessage":{ - "type":"structure", - "required":["EngineName"], - "members":{ - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeOptionGroupsMessage":{ - "type":"structure", - "members":{ - "OptionGroupName":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "Marker":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"} - } - }, "DescribeOrderableDBInstanceOptionsMessage":{ "type":"structure", "required":["Engine"], @@ -1997,78 +2305,77 @@ "Marker":{"shape":"String"} } }, - "DescribeReservedDBInstancesMessage":{ + "DescribePendingMaintenanceActionsMessage":{ "type":"structure", "members":{ - "ReservedDBInstanceId":{"shape":"String"}, - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Duration":{"shape":"String"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, + "ResourceIdentifier":{"shape":"String"}, "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} + "Marker":{"shape":"String"}, + "MaxRecords":{"shape":"IntegerOptional"} } }, - "DescribeReservedDBInstancesOfferingsMessage":{ + "DescribeValidDBInstanceModificationsMessage":{ "type":"structure", - "members":{ - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Duration":{"shape":"String"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{"shape":"String"} } }, - "Double":{"type":"double"}, - "DownloadDBLogFilePortionDetails":{ + "DescribeValidDBInstanceModificationsResult":{ "type":"structure", "members":{ - "LogFileData":{"shape":"String"}, - "Marker":{"shape":"String"}, - "AdditionalDataPending":{"shape":"Boolean"} + "ValidDBInstanceModificationsMessage":{"shape":"ValidDBInstanceModificationsMessage"} } }, - "DownloadDBLogFilePortionMessage":{ + "DomainMembership":{ "type":"structure", - "required":[ - "DBInstanceIdentifier", - "LogFileName" - ], "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "LogFileName":{"shape":"String"}, - "Marker":{"shape":"String"}, - "NumberOfLines":{"shape":"Integer"} + "Domain":{"shape":"String"}, + "Status":{"shape":"String"}, + "FQDN":{"shape":"String"}, + "IAMRoleName":{"shape":"String"} + } + }, + "DomainMembershipList":{ + "type":"list", + "member":{ + "shape":"DomainMembership", + "locationName":"DomainMembership" } }, - "EC2SecurityGroup":{ + "DomainNotFoundFault":{ "type":"structure", "members":{ - "Status":{"shape":"String"}, - "EC2SecurityGroupName":{"shape":"String"}, - "EC2SecurityGroupId":{"shape":"String"}, - "EC2SecurityGroupOwnerId":{"shape":"String"} + }, + "error":{ + "code":"DomainNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "Double":{"type":"double"}, + "DoubleOptional":{"type":"double"}, + "DoubleRange":{ + "type":"structure", + "members":{ + "From":{"shape":"Double"}, + "To":{"shape":"Double"} } }, - "EC2SecurityGroupList":{ + "DoubleRangeList":{ "type":"list", "member":{ - "shape":"EC2SecurityGroup", - "locationName":"EC2SecurityGroup" + "shape":"DoubleRange", + "locationName":"DoubleRange" } }, "Endpoint":{ "type":"structure", "members":{ "Address":{"shape":"String"}, - "Port":{"shape":"Integer"} + "Port":{"shape":"Integer"}, + "HostedZoneId":{"shape":"String"} } }, "EngineDefaults":{ @@ -2087,7 +2394,8 @@ "SourceType":{"shape":"SourceType"}, "Message":{"shape":"String"}, "EventCategories":{"shape":"EventCategoriesList"}, - "Date":{"shape":"TStamp"} + "Date":{"shape":"TStamp"}, + "SourceArn":{"shape":"String"} } }, "EventCategoriesList":{ @@ -2136,7 +2444,8 @@ "SourceType":{"shape":"String"}, "SourceIdsList":{"shape":"SourceIdsList"}, "EventCategoriesList":{"shape":"EventCategoriesList"}, - "Enabled":{"shape":"Boolean"} + "Enabled":{"shape":"Boolean"}, + "EventSubscriptionArn":{"shape":"String"} }, "wrapper":true }, @@ -2172,6 +2481,19 @@ "Events":{"shape":"EventList"} } }, + "FailoverDBClusterMessage":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{"shape":"String"}, + "TargetDBInstanceIdentifier":{"shape":"String"} + } + }, + "FailoverDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, "Filter":{ "type":"structure", "required":[ @@ -2197,20 +2519,6 @@ "locationName":"Value" } }, - "IPRange":{ - "type":"structure", - "members":{ - "Status":{"shape":"String"}, - "CIDRIP":{"shape":"String"} - } - }, - "IPRangeList":{ - "type":"list", - "member":{ - "shape":"IPRange", - "locationName":"IPRange" - } - }, "InstanceQuotaExceededFault":{ "type":"structure", "members":{ @@ -2222,6 +2530,17 @@ }, "exception":true }, + "InsufficientDBClusterCapacityFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InsufficientDBClusterCapacityFault", + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, "InsufficientDBInstanceCapacityFault":{ "type":"structure", "members":{ @@ -2233,102 +2552,113 @@ }, "exception":true }, + "InsufficientStorageClusterCapacityFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InsufficientStorageClusterCapacity", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "Integer":{"type":"integer"}, "IntegerOptional":{"type":"integer"}, - "InvalidDBInstanceStateFault":{ + "InvalidDBClusterSnapshotStateFault":{ "type":"structure", "members":{ }, "error":{ - "code":"InvalidDBInstanceState", + "code":"InvalidDBClusterSnapshotStateFault", "httpStatusCode":400, "senderFault":true }, "exception":true }, - "InvalidDBParameterGroupStateFault":{ + "InvalidDBClusterStateFault":{ "type":"structure", "members":{ }, "error":{ - "code":"InvalidDBParameterGroupState", + "code":"InvalidDBClusterStateFault", "httpStatusCode":400, "senderFault":true }, "exception":true }, - "InvalidDBSecurityGroupStateFault":{ + "InvalidDBInstanceStateFault":{ "type":"structure", "members":{ }, "error":{ - "code":"InvalidDBSecurityGroupState", + "code":"InvalidDBInstanceState", "httpStatusCode":400, "senderFault":true }, "exception":true }, - "InvalidDBSnapshotStateFault":{ + "InvalidDBParameterGroupStateFault":{ "type":"structure", "members":{ }, "error":{ - "code":"InvalidDBSnapshotState", + "code":"InvalidDBParameterGroupState", "httpStatusCode":400, "senderFault":true }, "exception":true }, - "InvalidDBSubnetGroupFault":{ + "InvalidDBSecurityGroupStateFault":{ "type":"structure", "members":{ }, "error":{ - "code":"InvalidDBSubnetGroupFault", + "code":"InvalidDBSecurityGroupState", "httpStatusCode":400, "senderFault":true }, "exception":true }, - "InvalidDBSubnetGroupStateFault":{ + "InvalidDBSnapshotStateFault":{ "type":"structure", "members":{ }, "error":{ - "code":"InvalidDBSubnetGroupStateFault", + "code":"InvalidDBSnapshotState", "httpStatusCode":400, "senderFault":true }, "exception":true }, - "InvalidDBSubnetStateFault":{ + "InvalidDBSubnetGroupStateFault":{ "type":"structure", "members":{ }, "error":{ - "code":"InvalidDBSubnetStateFault", + "code":"InvalidDBSubnetGroupStateFault", "httpStatusCode":400, "senderFault":true }, "exception":true }, - "InvalidEventSubscriptionStateFault":{ + "InvalidDBSubnetStateFault":{ "type":"structure", "members":{ }, "error":{ - "code":"InvalidEventSubscriptionState", + "code":"InvalidDBSubnetStateFault", "httpStatusCode":400, "senderFault":true }, "exception":true }, - "InvalidOptionGroupStateFault":{ + "InvalidEventSubscriptionStateFault":{ "type":"structure", "members":{ }, "error":{ - "code":"InvalidOptionGroupStateFault", + "code":"InvalidEventSubscriptionState", "httpStatusCode":400, "senderFault":true }, @@ -2367,6 +2697,17 @@ }, "exception":true }, + "KMSKeyNotAccessibleFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"KMSKeyNotAccessibleFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "KeyList":{ "type":"list", "member":{"shape":"String"} @@ -2379,7 +2720,65 @@ "Filters":{"shape":"FilterList"} } }, - "Long":{"type":"long"}, + "LogTypeList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ModifyDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{"shape":"String"}, + "NewDBClusterIdentifier":{"shape":"String"}, + "ApplyImmediately":{"shape":"Boolean"}, + "BackupRetentionPeriod":{"shape":"IntegerOptional"}, + "DBClusterParameterGroupName":{"shape":"String"}, + "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, + "Port":{"shape":"IntegerOptional"}, + "MasterUserPassword":{"shape":"String"}, + "OptionGroupName":{"shape":"String"}, + "PreferredBackupWindow":{"shape":"String"}, + "PreferredMaintenanceWindow":{"shape":"String"}, + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, + "EngineVersion":{"shape":"String"} + } + }, + "ModifyDBClusterParameterGroupMessage":{ + "type":"structure", + "required":[ + "DBClusterParameterGroupName", + "Parameters" + ], + "members":{ + "DBClusterParameterGroupName":{"shape":"String"}, + "Parameters":{"shape":"ParametersList"} + } + }, + "ModifyDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "ModifyDBClusterSnapshotAttributeMessage":{ + "type":"structure", + "required":[ + "DBClusterSnapshotIdentifier", + "AttributeName" + ], + "members":{ + "DBClusterSnapshotIdentifier":{"shape":"String"}, + "AttributeName":{"shape":"String"}, + "ValuesToAdd":{"shape":"AttributeValueList"}, + "ValuesToRemove":{"shape":"AttributeValueList"} + } + }, + "ModifyDBClusterSnapshotAttributeResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshotAttributesResult":{"shape":"DBClusterSnapshotAttributesResult"} + } + }, "ModifyDBInstanceMessage":{ "type":"structure", "required":["DBInstanceIdentifier"], @@ -2387,6 +2786,7 @@ "DBInstanceIdentifier":{"shape":"String"}, "AllocatedStorage":{"shape":"IntegerOptional"}, "DBInstanceClass":{"shape":"String"}, + "DBSubnetGroupName":{"shape":"String"}, "DBSecurityGroups":{"shape":"DBSecurityGroupNameList"}, "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, "ApplyImmediately":{"shape":"Boolean"}, @@ -2399,12 +2799,29 @@ "EngineVersion":{"shape":"String"}, "AllowMajorVersionUpgrade":{"shape":"Boolean"}, "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, + "LicenseModel":{"shape":"String"}, "Iops":{"shape":"IntegerOptional"}, "OptionGroupName":{"shape":"String"}, "NewDBInstanceIdentifier":{"shape":"String"}, "StorageType":{"shape":"String"}, "TdeCredentialArn":{"shape":"String"}, - "TdeCredentialPassword":{"shape":"String"} + "TdeCredentialPassword":{"shape":"String"}, + "CACertificateIdentifier":{"shape":"String"}, + "Domain":{"shape":"String"}, + "CopyTagsToSnapshot":{"shape":"BooleanOptional"}, + "MonitoringInterval":{"shape":"IntegerOptional"}, + "DBPortNumber":{"shape":"IntegerOptional"}, + "PubliclyAccessible":{ + "shape":"BooleanOptional", + "deprecated":true + }, + "MonitoringRoleArn":{"shape":"String"}, + "DomainIAMRoleName":{"shape":"String"}, + "PromotionTier":{"shape":"IntegerOptional"}, + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, + "EnablePerformanceInsights":{"shape":"BooleanOptional"}, + "PerformanceInsightsKMSKeyId":{"shape":"String"}, + "CloudwatchLogsExportConfiguration":{"shape":"CloudwatchLogsExportConfiguration"} } }, "ModifyDBInstanceResult":{ @@ -2434,245 +2851,55 @@ "DBSubnetGroupName":{"shape":"String"}, "DBSubnetGroupDescription":{"shape":"String"}, "SubnetIds":{"shape":"SubnetIdentifierList"} - } - }, - "ModifyDBSubnetGroupResult":{ - "type":"structure", - "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } - }, - "ModifyEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{"shape":"String"}, - "SnsTopicArn":{"shape":"String"}, - "SourceType":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "Enabled":{"shape":"BooleanOptional"} - } - }, - "ModifyEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "ModifyOptionGroupMessage":{ - "type":"structure", - "required":["OptionGroupName"], - "members":{ - "OptionGroupName":{"shape":"String"}, - "OptionsToInclude":{"shape":"OptionConfigurationList"}, - "OptionsToRemove":{"shape":"OptionNamesList"}, - "ApplyImmediately":{"shape":"Boolean"} - } - }, - "ModifyOptionGroupResult":{ - "type":"structure", - "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } - }, - "Option":{ - "type":"structure", - "members":{ - "OptionName":{"shape":"String"}, - "OptionDescription":{"shape":"String"}, - "Persistent":{"shape":"Boolean"}, - "Permanent":{"shape":"Boolean"}, - "Port":{"shape":"IntegerOptional"}, - "OptionSettings":{"shape":"OptionSettingConfigurationList"}, - "DBSecurityGroupMemberships":{"shape":"DBSecurityGroupMembershipList"}, - "VpcSecurityGroupMemberships":{"shape":"VpcSecurityGroupMembershipList"} - } - }, - "OptionConfiguration":{ - "type":"structure", - "required":["OptionName"], - "members":{ - "OptionName":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "DBSecurityGroupMemberships":{"shape":"DBSecurityGroupNameList"}, - "VpcSecurityGroupMemberships":{"shape":"VpcSecurityGroupIdList"}, - "OptionSettings":{"shape":"OptionSettingsList"} - } - }, - "OptionConfigurationList":{ - "type":"list", - "member":{ - "shape":"OptionConfiguration", - "locationName":"OptionConfiguration" - } - }, - "OptionGroup":{ - "type":"structure", - "members":{ - "OptionGroupName":{"shape":"String"}, - "OptionGroupDescription":{"shape":"String"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "Options":{"shape":"OptionsList"}, - "AllowsVpcAndNonVpcInstanceMemberships":{"shape":"Boolean"}, - "VpcId":{"shape":"String"} - }, - "wrapper":true - }, - "OptionGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "OptionGroupMembership":{ - "type":"structure", - "members":{ - "OptionGroupName":{"shape":"String"}, - "Status":{"shape":"String"} - } - }, - "OptionGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"OptionGroupMembership", - "locationName":"OptionGroupMembership" - } - }, - "OptionGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "OptionGroupOption":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "Description":{"shape":"String"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "MinimumRequiredMinorEngineVersion":{"shape":"String"}, - "PortRequired":{"shape":"Boolean"}, - "DefaultPort":{"shape":"IntegerOptional"}, - "OptionsDependedOn":{"shape":"OptionsDependedOn"}, - "Persistent":{"shape":"Boolean"}, - "Permanent":{"shape":"Boolean"}, - "OptionGroupOptionSettings":{"shape":"OptionGroupOptionSettingsList"} - } - }, - "OptionGroupOptionSetting":{ - "type":"structure", - "members":{ - "SettingName":{"shape":"String"}, - "SettingDescription":{"shape":"String"}, - "DefaultValue":{"shape":"String"}, - "ApplyType":{"shape":"String"}, - "AllowedValues":{"shape":"String"}, - "IsModifiable":{"shape":"Boolean"} - } - }, - "OptionGroupOptionSettingsList":{ - "type":"list", - "member":{ - "shape":"OptionGroupOptionSetting", - "locationName":"OptionGroupOptionSetting" - } - }, - "OptionGroupOptionsList":{ - "type":"list", - "member":{ - "shape":"OptionGroupOption", - "locationName":"OptionGroupOption" - } - }, - "OptionGroupOptionsMessage":{ - "type":"structure", - "members":{ - "OptionGroupOptions":{"shape":"OptionGroupOptionsList"}, - "Marker":{"shape":"String"} - } - }, - "OptionGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true + } }, - "OptionGroups":{ + "ModifyDBSubnetGroupResult":{ "type":"structure", "members":{ - "OptionGroupsList":{"shape":"OptionGroupsList"}, - "Marker":{"shape":"String"} - } - }, - "OptionGroupsList":{ - "type":"list", - "member":{ - "shape":"OptionGroup", - "locationName":"OptionGroup" + "DBSubnetGroup":{"shape":"DBSubnetGroup"} } }, - "OptionNamesList":{ - "type":"list", - "member":{"shape":"String"} - }, - "OptionSetting":{ + "ModifyEventSubscriptionMessage":{ "type":"structure", + "required":["SubscriptionName"], "members":{ - "Name":{"shape":"String"}, - "Value":{"shape":"String"}, - "DefaultValue":{"shape":"String"}, - "Description":{"shape":"String"}, - "ApplyType":{"shape":"String"}, - "DataType":{"shape":"String"}, - "AllowedValues":{"shape":"String"}, - "IsModifiable":{"shape":"Boolean"}, - "IsCollection":{"shape":"Boolean"} + "SubscriptionName":{"shape":"String"}, + "SnsTopicArn":{"shape":"String"}, + "SourceType":{"shape":"String"}, + "EventCategories":{"shape":"EventCategoriesList"}, + "Enabled":{"shape":"BooleanOptional"} } }, - "OptionSettingConfigurationList":{ - "type":"list", - "member":{ - "shape":"OptionSetting", - "locationName":"OptionSetting" + "ModifyEventSubscriptionResult":{ + "type":"structure", + "members":{ + "EventSubscription":{"shape":"EventSubscription"} } }, - "OptionSettingsList":{ - "type":"list", - "member":{ - "shape":"OptionSetting", - "locationName":"OptionSetting" + "OptionGroupMembership":{ + "type":"structure", + "members":{ + "OptionGroupName":{"shape":"String"}, + "Status":{"shape":"String"} } }, - "OptionsDependedOn":{ + "OptionGroupMembershipList":{ "type":"list", "member":{ - "shape":"String", - "locationName":"OptionName" + "shape":"OptionGroupMembership", + "locationName":"OptionGroupMembership" } }, - "OptionsList":{ - "type":"list", - "member":{ - "shape":"Option", - "locationName":"Option" - } + "OptionGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"OptionGroupNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true }, "OrderableDBInstanceOption":{ "type":"structure", @@ -2685,8 +2912,18 @@ "MultiAZCapable":{"shape":"Boolean"}, "ReadReplicaCapable":{"shape":"Boolean"}, "Vpc":{"shape":"Boolean"}, + "SupportsStorageEncryption":{"shape":"Boolean"}, "StorageType":{"shape":"String"}, - "SupportsIops":{"shape":"Boolean"} + "SupportsIops":{"shape":"Boolean"}, + "SupportsEnhancedMonitoring":{"shape":"Boolean"}, + "SupportsIAMDatabaseAuthentication":{"shape":"Boolean"}, + "SupportsPerformanceInsights":{"shape":"Boolean"}, + "MinStorageSize":{"shape":"IntegerOptional"}, + "MaxStorageSize":{"shape":"IntegerOptional"}, + "MinIopsPerDbInstance":{"shape":"IntegerOptional"}, + "MaxIopsPerDbInstance":{"shape":"IntegerOptional"}, + "MinIopsPerGib":{"shape":"DoubleOptional"}, + "MaxIopsPerGib":{"shape":"DoubleOptional"} }, "wrapper":true }, @@ -2726,6 +2963,45 @@ "locationName":"Parameter" } }, + "PendingCloudwatchLogsExports":{ + "type":"structure", + "members":{ + "LogTypesToEnable":{"shape":"LogTypeList"}, + "LogTypesToDisable":{"shape":"LogTypeList"} + } + }, + "PendingMaintenanceAction":{ + "type":"structure", + "members":{ + "Action":{"shape":"String"}, + "AutoAppliedAfterDate":{"shape":"TStamp"}, + "ForcedApplyDate":{"shape":"TStamp"}, + "OptInStatus":{"shape":"String"}, + "CurrentApplyDate":{"shape":"TStamp"}, + "Description":{"shape":"String"} + } + }, + "PendingMaintenanceActionDetails":{ + "type":"list", + "member":{ + "shape":"PendingMaintenanceAction", + "locationName":"PendingMaintenanceAction" + } + }, + "PendingMaintenanceActions":{ + "type":"list", + "member":{ + "shape":"ResourcePendingMaintenanceActions", + "locationName":"ResourcePendingMaintenanceActions" + } + }, + "PendingMaintenanceActionsMessage":{ + "type":"structure", + "members":{ + "PendingMaintenanceActions":{"shape":"PendingMaintenanceActions"}, + "Marker":{"shape":"String"} + } + }, "PendingModifiedValues":{ "type":"structure", "members":{ @@ -2736,35 +3012,26 @@ "BackupRetentionPeriod":{"shape":"IntegerOptional"}, "MultiAZ":{"shape":"BooleanOptional"}, "EngineVersion":{"shape":"String"}, + "LicenseModel":{"shape":"String"}, "Iops":{"shape":"IntegerOptional"}, "DBInstanceIdentifier":{"shape":"String"}, - "StorageType":{"shape":"String"} + "StorageType":{"shape":"String"}, + "CACertificateIdentifier":{"shape":"String"}, + "DBSubnetGroupName":{"shape":"String"}, + "PendingCloudwatchLogsExports":{"shape":"PendingCloudwatchLogsExports"} } }, - "PointInTimeRestoreNotEnabledFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"PointInTimeRestoreNotEnabled", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PromoteReadReplicaMessage":{ + "PromoteReadReplicaDBClusterMessage":{ "type":"structure", - "required":["DBInstanceIdentifier"], + "required":["DBClusterIdentifier"], "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "BackupRetentionPeriod":{"shape":"IntegerOptional"}, - "PreferredBackupWindow":{"shape":"String"} + "DBClusterIdentifier":{"shape":"String"} } }, - "PromoteReadReplicaResult":{ + "PromoteReadReplicaDBClusterResult":{ "type":"structure", "members":{ - "DBInstance":{"shape":"DBInstance"} + "DBCluster":{"shape":"DBCluster"} } }, "ProvisionedIopsNotAvailableInAZFault":{ @@ -2778,20 +3045,26 @@ }, "exception":true }, - "PurchaseReservedDBInstancesOfferingMessage":{ + "Range":{ "type":"structure", - "required":["ReservedDBInstancesOfferingId"], "members":{ - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "ReservedDBInstanceId":{"shape":"String"}, - "DBInstanceCount":{"shape":"IntegerOptional"}, - "Tags":{"shape":"TagList"} + "From":{"shape":"Integer"}, + "To":{"shape":"Integer"}, + "Step":{"shape":"IntegerOptional"} } }, - "PurchaseReservedDBInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedDBInstance":{"shape":"ReservedDBInstance"} + "RangeList":{ + "type":"list", + "member":{ + "shape":"Range", + "locationName":"Range" + } + }, + "ReadReplicaDBClusterIdentifierList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"ReadReplicaDBClusterIdentifier" } }, "ReadReplicaDBInstanceIdentifierList":{ @@ -2801,6 +3074,13 @@ "locationName":"ReadReplicaDBInstanceIdentifier" } }, + "ReadReplicaIdentifierList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"ReadReplicaIdentifier" + } + }, "RebootDBInstanceMessage":{ "type":"structure", "required":["DBInstanceIdentifier"], @@ -2815,19 +3095,15 @@ "DBInstance":{"shape":"DBInstance"} } }, - "RecurringCharge":{ + "RemoveRoleFromDBClusterMessage":{ "type":"structure", + "required":[ + "DBClusterIdentifier", + "RoleArn" + ], "members":{ - "RecurringChargeAmount":{"shape":"Double"}, - "RecurringChargeFrequency":{"shape":"String"} - }, - "wrapper":true - }, - "RecurringChargeList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"RecurringCharge" + "DBClusterIdentifier":{"shape":"String"}, + "RoleArn":{"shape":"String"} } }, "RemoveSourceIdentifierFromSubscriptionMessage":{ @@ -2858,206 +3134,97 @@ "TagKeys":{"shape":"KeyList"} } }, - "ReservedDBInstance":{ - "type":"structure", - "members":{ - "ReservedDBInstanceId":{"shape":"String"}, - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "StartTime":{"shape":"TStamp"}, - "Duration":{"shape":"Integer"}, - "FixedPrice":{"shape":"Double"}, - "UsagePrice":{"shape":"Double"}, - "CurrencyCode":{"shape":"String"}, - "DBInstanceCount":{"shape":"Integer"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"Boolean"}, - "State":{"shape":"String"}, - "RecurringCharges":{"shape":"RecurringChargeList"} - }, - "wrapper":true - }, - "ReservedDBInstanceAlreadyExistsFault":{ + "ResetDBClusterParameterGroupMessage":{ "type":"structure", + "required":["DBClusterParameterGroupName"], "members":{ - }, - "error":{ - "code":"ReservedDBInstanceAlreadyExists", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstanceList":{ - "type":"list", - "member":{ - "shape":"ReservedDBInstance", - "locationName":"ReservedDBInstance" + "DBClusterParameterGroupName":{"shape":"String"}, + "ResetAllParameters":{"shape":"Boolean"}, + "Parameters":{"shape":"ParametersList"} } }, - "ReservedDBInstanceMessage":{ + "ResetDBParameterGroupMessage":{ "type":"structure", + "required":["DBParameterGroupName"], "members":{ - "Marker":{"shape":"String"}, - "ReservedDBInstances":{"shape":"ReservedDBInstanceList"} + "DBParameterGroupName":{"shape":"String"}, + "ResetAllParameters":{"shape":"Boolean"}, + "Parameters":{"shape":"ParametersList"} } }, - "ReservedDBInstanceNotFoundFault":{ + "ResourceNotFoundFault":{ "type":"structure", "members":{ }, "error":{ - "code":"ReservedDBInstanceNotFound", + "code":"ResourceNotFoundFault", "httpStatusCode":404, "senderFault":true }, "exception":true }, - "ReservedDBInstanceQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstancesOffering":{ + "ResourcePendingMaintenanceActions":{ "type":"structure", "members":{ - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Duration":{"shape":"Integer"}, - "FixedPrice":{"shape":"Double"}, - "UsagePrice":{"shape":"Double"}, - "CurrencyCode":{"shape":"String"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"Boolean"}, - "RecurringCharges":{"shape":"RecurringChargeList"} + "ResourceIdentifier":{"shape":"String"}, + "PendingMaintenanceActionDetails":{"shape":"PendingMaintenanceActionDetails"} }, "wrapper":true }, - "ReservedDBInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedDBInstancesOffering", - "locationName":"ReservedDBInstancesOffering" - } - }, - "ReservedDBInstancesOfferingMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "ReservedDBInstancesOfferings":{"shape":"ReservedDBInstancesOfferingList"} - } - }, - "ReservedDBInstancesOfferingNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstancesOfferingNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ResetDBParameterGroupMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "ResetAllParameters":{"shape":"Boolean"}, - "Parameters":{"shape":"ParametersList"} - } - }, - "RestoreDBInstanceFromDBSnapshotMessage":{ + "RestoreDBClusterFromSnapshotMessage":{ "type":"structure", "required":[ - "DBInstanceIdentifier", - "DBSnapshotIdentifier" + "DBClusterIdentifier", + "SnapshotIdentifier", + "Engine" ], "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "DBSnapshotIdentifier":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, + "AvailabilityZones":{"shape":"AvailabilityZones"}, + "DBClusterIdentifier":{"shape":"String"}, + "SnapshotIdentifier":{"shape":"String"}, + "Engine":{"shape":"String"}, + "EngineVersion":{"shape":"String"}, "Port":{"shape":"IntegerOptional"}, - "AvailabilityZone":{"shape":"String"}, "DBSubnetGroupName":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "PubliclyAccessible":{"shape":"BooleanOptional"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "LicenseModel":{"shape":"String"}, - "DBName":{"shape":"String"}, - "Engine":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, + "DatabaseName":{"shape":"String"}, "OptionGroupName":{"shape":"String"}, + "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, "Tags":{"shape":"TagList"}, - "StorageType":{"shape":"String"}, - "TdeCredentialArn":{"shape":"String"}, - "TdeCredentialPassword":{"shape":"String"} + "KmsKeyId":{"shape":"String"}, + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"} } }, - "RestoreDBInstanceFromDBSnapshotResult":{ + "RestoreDBClusterFromSnapshotResult":{ "type":"structure", "members":{ - "DBInstance":{"shape":"DBInstance"} + "DBCluster":{"shape":"DBCluster"} } }, - "RestoreDBInstanceToPointInTimeMessage":{ + "RestoreDBClusterToPointInTimeMessage":{ "type":"structure", "required":[ - "SourceDBInstanceIdentifier", - "TargetDBInstanceIdentifier" + "DBClusterIdentifier", + "SourceDBClusterIdentifier" ], "members":{ - "SourceDBInstanceIdentifier":{"shape":"String"}, - "TargetDBInstanceIdentifier":{"shape":"String"}, - "RestoreTime":{"shape":"TStamp"}, + "DBClusterIdentifier":{"shape":"String"}, + "RestoreType":{"shape":"String"}, + "SourceDBClusterIdentifier":{"shape":"String"}, + "RestoreToTime":{"shape":"TStamp"}, "UseLatestRestorableTime":{"shape":"Boolean"}, - "DBInstanceClass":{"shape":"String"}, "Port":{"shape":"IntegerOptional"}, - "AvailabilityZone":{"shape":"String"}, "DBSubnetGroupName":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "PubliclyAccessible":{"shape":"BooleanOptional"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "LicenseModel":{"shape":"String"}, - "DBName":{"shape":"String"}, - "Engine":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, "OptionGroupName":{"shape":"String"}, + "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, "Tags":{"shape":"TagList"}, - "StorageType":{"shape":"String"}, - "TdeCredentialArn":{"shape":"String"}, - "TdeCredentialPassword":{"shape":"String"} - } - }, - "RestoreDBInstanceToPointInTimeResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RevokeDBSecurityGroupIngressMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "CIDRIP":{"shape":"String"}, - "EC2SecurityGroupName":{"shape":"String"}, - "EC2SecurityGroupId":{"shape":"String"}, - "EC2SecurityGroupOwnerId":{"shape":"String"} + "KmsKeyId":{"shape":"String"}, + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"} } }, - "RevokeDBSecurityGroupIngressResult":{ + "RestoreDBClusterToPointInTimeResult":{ "type":"structure", "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} + "DBCluster":{"shape":"DBCluster"} } }, "SNSInvalidTopicFault":{ @@ -3093,6 +3260,17 @@ }, "exception":true }, + "SharedSnapshotQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"SharedSnapshotQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "SnapshotQuotaExceededFault":{ "type":"structure", "members":{ @@ -3128,7 +3306,9 @@ "db-instance", "db-parameter-group", "db-security-group", - "db-snapshot" + "db-snapshot", + "db-cluster", + "db-cluster-snapshot" ] }, "StorageQuotaExceededFault":{ @@ -3227,6 +3407,13 @@ "locationName":"CharacterSet" } }, + "SupportedTimezonesList":{ + "type":"list", + "member":{ + "shape":"Timezone", + "locationName":"Timezone" + } + }, "TStamp":{"type":"timestamp"}, "Tag":{ "type":"structure", @@ -3248,6 +3435,52 @@ "TagList":{"shape":"TagList"} } }, + "Timezone":{ + "type":"structure", + "members":{ + "TimezoneName":{"shape":"String"} + } + }, + "UpgradeTarget":{ + "type":"structure", + "members":{ + "Engine":{"shape":"String"}, + "EngineVersion":{"shape":"String"}, + "Description":{"shape":"String"}, + "AutoUpgrade":{"shape":"Boolean"}, + "IsMajorVersionUpgrade":{"shape":"Boolean"} + } + }, + "ValidDBInstanceModificationsMessage":{ + "type":"structure", + "members":{ + "Storage":{"shape":"ValidStorageOptionsList"} + }, + "wrapper":true + }, + "ValidStorageOptions":{ + "type":"structure", + "members":{ + "StorageType":{"shape":"String"}, + "StorageSize":{"shape":"RangeList"}, + "ProvisionedIops":{"shape":"RangeList"}, + "IopsToStorageRatio":{"shape":"DoubleRangeList"} + } + }, + "ValidStorageOptionsList":{ + "type":"list", + "member":{ + "shape":"ValidStorageOptions", + "locationName":"ValidStorageOptions" + } + }, + "ValidUpgradeTargetList":{ + "type":"list", + "member":{ + "shape":"UpgradeTarget", + "locationName":"UpgradeTarget" + } + }, "VpcSecurityGroupIdList":{ "type":"list", "member":{ diff --git a/models/apis/neptune/2014-10-31/docs-2.json b/models/apis/neptune/2014-10-31/docs-2.json new file mode 100644 index 00000000000..1bc0878549f --- /dev/null +++ b/models/apis/neptune/2014-10-31/docs-2.json @@ -0,0 +1,2063 @@ +{ + "version":"2.0", + "service":"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

", + "operations":{ + "AddRoleToDBCluster":"

Associates an Identity and Access Management (IAM) role from an Neptune DB cluster.

", + "AddSourceIdentifierToSubscription":"

Adds a source identifier to an existing event notification subscription.

", + "AddTagsToResource":"

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":"

Applies a pending maintenance action to a resource (for example, to a DB instance).

", + "CopyDBClusterParameterGroup":"

Copies the specified DB cluster parameter group.

", + "CopyDBClusterSnapshot":"

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":"

Copies the specified DB parameter group.

", + "CreateDBCluster":"

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":"

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":"

Creates a snapshot of a DB cluster.

", + "CreateDBInstance":"

Creates a new DB instance.

", + "CreateDBParameterGroup":"

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":"

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":"

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":"

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":"

Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted can't be associated with any DB clusters.

", + "DeleteDBClusterSnapshot":"

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":"

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":"

Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted can't be associated with any DB instances.

", + "DeleteDBSubnetGroup":"

Deletes a DB subnet group.

The specified database subnet group must not be associated with any DB instances.

", + "DeleteEventSubscription":"

Deletes an event notification subscription.

", + "DescribeDBClusterParameterGroups":"

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":"

Returns the detailed parameter list for a particular DB cluster parameter group.

", + "DescribeDBClusterSnapshotAttributes":"

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":"

Returns information about DB cluster snapshots. This API action supports pagination.

", + "DescribeDBClusters":"

Returns information about provisioned DB clusters. This API supports pagination.

", + "DescribeDBEngineVersions":"

Returns a list of the available DB engines.

", + "DescribeDBInstances":"

Returns information about provisioned instances. This API supports pagination.

", + "DescribeDBParameterGroups":"

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":"

Returns the detailed parameter list for a particular DB parameter group.

", + "DescribeDBSubnetGroups":"

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":"

Returns the default engine and system parameter information for the cluster database engine.

", + "DescribeEngineDefaultParameters":"

Returns the default engine and system parameter information for the specified database engine.

", + "DescribeEventCategories":"

Displays a list of categories for all event source types, or, if specified, for a specified source type.

", + "DescribeEventSubscriptions":"

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":"

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":"

Returns a list of orderable DB instance options for the specified engine.

", + "DescribePendingMaintenanceActions":"

Returns a list of resources (for example, DB instances) that have at least one pending maintenance action.

", + "DescribeValidDBInstanceModifications":"

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":"

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":"

Lists all tags on an Amazon Neptune resource.

", + "ModifyDBCluster":"

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":"

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":"

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":"

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":"

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":"

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":"

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":"

Promotes a Read Replica DB cluster to a standalone DB cluster.

", + "RebootDBInstance":"

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":"

Disassociates an Identity and Access Management (IAM) role from a DB cluster.

", + "RemoveSourceIdentifierFromSubscription":"

Removes a source identifier from an existing event notification subscription.

", + "RemoveTagsFromResource":"

Removes metadata tags from an Amazon Neptune resource.

", + "ResetDBClusterParameterGroup":"

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":"

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":"

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":"

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":{ + "base":null, + "refs":{ + } + }, + "AddSourceIdentifierToSubscriptionMessage":{ + "base":"

", + "refs":{ + } + }, + "AddSourceIdentifierToSubscriptionResult":{ + "base":null, + "refs":{ + } + }, + "AddTagsToResourceMessage":{ + "base":"

", + "refs":{ + } + }, + "ApplyMethod":{ + "base":null, + "refs":{ + "Parameter$ApplyMethod":"

Indicates when to apply parameter updates.

" + } + }, + "ApplyPendingMaintenanceActionMessage":{ + "base":"

", + "refs":{ + } + }, + "ApplyPendingMaintenanceActionResult":{ + "base":null, + "refs":{ + } + }, + "AttributeValueList":{ + "base":null, + "refs":{ + "DBClusterSnapshotAttribute$AttributeValues":"

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.

", + "ModifyDBClusterSnapshotAttributeMessage$ValuesToAdd":"

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.

", + "ModifyDBClusterSnapshotAttributeMessage$ValuesToRemove":"

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.

" + } + }, + "AuthorizationNotFoundFault":{ + "base":"

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.

", + "refs":{ + } + }, + "AvailabilityZone":{ + "base":"

Contains Availability Zone information.

This data type is used as an element in the following data type:

", + "refs":{ + "AvailabilityZoneList$member":null, + "Subnet$SubnetAvailabilityZone":null + } + }, + "AvailabilityZoneList":{ + "base":null, + "refs":{ + "OrderableDBInstanceOption$AvailabilityZones":"

A list of Availability Zones for a DB instance.

" + } + }, + "AvailabilityZones":{ + "base":null, + "refs":{ + "CreateDBClusterMessage$AvailabilityZones":"

A list of EC2 Availability Zones that instances in the DB cluster can be created in.

", + "DBCluster$AvailabilityZones":"

Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in.

", + "DBClusterSnapshot$AvailabilityZones":"

Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.

", + "RestoreDBClusterFromSnapshotMessage$AvailabilityZones":"

Provides the list of EC2 Availability Zones that instances in the restored DB cluster can be created in.

" + } + }, + "Boolean":{ + "base":null, + "refs":{ + "DBCluster$MultiAZ":"

Specifies whether the DB cluster has instances in multiple Availability Zones.

", + "DBCluster$StorageEncrypted":"

Specifies whether the DB cluster is encrypted.

", + "DBCluster$IAMDatabaseAuthenticationEnabled":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

", + "DBClusterMember$IsClusterWriter":"

Value that is true if the cluster member is the primary instance for the DB cluster and false otherwise.

", + "DBClusterSnapshot$StorageEncrypted":"

Specifies whether the DB cluster snapshot is encrypted.

", + "DBClusterSnapshot$IAMDatabaseAuthenticationEnabled":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

", + "DBEngineVersion$SupportsLogExportsToCloudwatchLogs":"

A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

", + "DBEngineVersion$SupportsReadReplica":"

Indicates whether the database engine version supports read replicas.

", + "DBInstance$MultiAZ":"

Specifies if the DB instance is a Multi-AZ deployment.

", + "DBInstance$AutoMinorVersionUpgrade":"

Indicates that minor version patches are applied automatically.

", + "DBInstance$PubliclyAccessible":"

This parameter is not supported.

", + "DBInstance$StorageEncrypted":"

Specifies whether the DB instance is encrypted.

", + "DBInstance$CopyTagsToSnapshot":"

Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

", + "DBInstance$IAMDatabaseAuthenticationEnabled":"

True if AWS Identity and Access Management (IAM) authentication is enabled, and otherwise false.

", + "DBInstanceStatusInfo$Normal":"

Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

", + "DeleteDBClusterMessage$SkipFinalSnapshot":"

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

", + "DeleteDBInstanceMessage$SkipFinalSnapshot":"

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

", + "DescribeDBClusterSnapshotsMessage$IncludeShared":"

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.

", + "DescribeDBClusterSnapshotsMessage$IncludePublic":"

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.

", + "DescribeDBEngineVersionsMessage$DefaultOnly":"

Indicates that only the default version of the specified engine or engine and major version combination is returned.

", + "EventSubscription$Enabled":"

A Boolean value indicating if the subscription is enabled. True indicates the subscription is enabled.

", + "ModifyDBClusterMessage$ApplyImmediately":"

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

", + "ModifyDBInstanceMessage$ApplyImmediately":"

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

", + "ModifyDBInstanceMessage$AllowMajorVersionUpgrade":"

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.

", + "OrderableDBInstanceOption$MultiAZCapable":"

Indicates whether a DB instance is Multi-AZ capable.

", + "OrderableDBInstanceOption$ReadReplicaCapable":"

Indicates whether a DB instance can have a Read Replica.

", + "OrderableDBInstanceOption$Vpc":"

Indicates whether a DB instance is in a VPC.

", + "OrderableDBInstanceOption$SupportsStorageEncryption":"

Indicates whether a DB instance supports encrypted storage.

", + "OrderableDBInstanceOption$SupportsIops":"

Indicates whether a DB instance supports provisioned IOPS.

", + "OrderableDBInstanceOption$SupportsEnhancedMonitoring":"

Indicates whether a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.

", + "OrderableDBInstanceOption$SupportsIAMDatabaseAuthentication":"

Indicates whether a DB instance supports IAM database authentication.

", + "OrderableDBInstanceOption$SupportsPerformanceInsights":"

True if a DB instance supports Performance Insights, otherwise false.

", + "Parameter$IsModifiable":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

", + "ResetDBClusterParameterGroupMessage$ResetAllParameters":"

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.

", + "ResetDBParameterGroupMessage$ResetAllParameters":"

Specifies whether (true) or not (false) to reset all parameters in the DB parameter group to default values.

Default: true

", + "RestoreDBClusterToPointInTimeMessage$UseLatestRestorableTime":"

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.

", + "UpgradeTarget$AutoUpgrade":"

A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

", + "UpgradeTarget$IsMajorVersionUpgrade":"

A value that indicates whether a database engine is upgraded to a major version.

" + } + }, + "BooleanOptional":{ + "base":null, + "refs":{ + "CopyDBClusterSnapshotMessage$CopyTags":"

True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. The default is false.

", + "CreateDBClusterMessage$StorageEncrypted":"

Specifies whether the DB cluster is encrypted.

", + "CreateDBClusterMessage$EnableIAMDatabaseAuthentication":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", + "CreateDBInstanceMessage$MultiAZ":"

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.

", + "CreateDBInstanceMessage$AutoMinorVersionUpgrade":"

Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.

Default: true

", + "CreateDBInstanceMessage$PubliclyAccessible":"

This parameter is not supported.

", + "CreateDBInstanceMessage$StorageEncrypted":"

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

", + "CreateDBInstanceMessage$CopyTagsToSnapshot":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

", + "CreateDBInstanceMessage$EnableIAMDatabaseAuthentication":"

True to enable AWS Identity and Access Management (IAM) authentication for Neptune.

Default: false

", + "CreateDBInstanceMessage$EnablePerformanceInsights":"

True to enable Performance Insights for the DB instance, and otherwise false.

", + "CreateEventSubscriptionMessage$Enabled":"

A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

", + "DBInstance$PerformanceInsightsEnabled":"

True if Performance Insights is enabled for the DB instance, and otherwise false.

", + "DescribeDBEngineVersionsMessage$ListSupportedCharacterSets":"

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.

", + "DescribeDBEngineVersionsMessage$ListSupportedTimezones":"

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.

", + "DescribeOrderableDBInstanceOptionsMessage$Vpc":"

The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings.

", + "ModifyDBClusterMessage$EnableIAMDatabaseAuthentication":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", + "ModifyDBInstanceMessage$MultiAZ":"

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.

", + "ModifyDBInstanceMessage$AutoMinorVersionUpgrade":"

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.

", + "ModifyDBInstanceMessage$CopyTagsToSnapshot":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

", + "ModifyDBInstanceMessage$PubliclyAccessible":"

This parameter is not supported.

", + "ModifyDBInstanceMessage$EnableIAMDatabaseAuthentication":"

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

", + "ModifyDBInstanceMessage$EnablePerformanceInsights":"

True to enable Performance Insights for the DB instance, and otherwise false.

", + "ModifyEventSubscriptionMessage$Enabled":"

A Boolean value; set to true to activate the subscription.

", + "PendingModifiedValues$MultiAZ":"

Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.

", + "RebootDBInstanceMessage$ForceFailover":"

When true, the reboot is conducted through a MultiAZ failover.

Constraint: You can't specify true if the instance is not configured for MultiAZ.

", + "RestoreDBClusterFromSnapshotMessage$EnableIAMDatabaseAuthentication":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", + "RestoreDBClusterToPointInTimeMessage$EnableIAMDatabaseAuthentication":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + } + }, + "CertificateNotFoundFault":{ + "base":"

CertificateIdentifier does not refer to an existing certificate.

", + "refs":{ + } + }, + "CharacterSet":{ + "base":"

This data type is used as a response element in the action DescribeDBEngineVersions.

", + "refs":{ + "DBEngineVersion$DefaultCharacterSet":"

The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API is not specified.

", + "SupportedCharacterSetsList$member":null + } + }, + "CloudwatchLogsExportConfiguration":{ + "base":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

", + "refs":{ + "ModifyDBInstanceMessage$CloudwatchLogsExportConfiguration":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

" + } + }, + "CopyDBClusterParameterGroupMessage":{ + "base":null, + "refs":{ + } + }, + "CopyDBClusterParameterGroupResult":{ + "base":null, + "refs":{ + } + }, + "CopyDBClusterSnapshotMessage":{ + "base":"

", + "refs":{ + } + }, + "CopyDBClusterSnapshotResult":{ + "base":null, + "refs":{ + } + }, + "CopyDBParameterGroupMessage":{ + "base":"

", + "refs":{ + } + }, + "CopyDBParameterGroupResult":{ + "base":null, + "refs":{ + } + }, + "CreateDBClusterMessage":{ + "base":"

", + "refs":{ + } + }, + "CreateDBClusterParameterGroupMessage":{ + "base":"

", + "refs":{ + } + }, + "CreateDBClusterParameterGroupResult":{ + "base":null, + "refs":{ + } + }, + "CreateDBClusterResult":{ + "base":null, + "refs":{ + } + }, + "CreateDBClusterSnapshotMessage":{ + "base":"

", + "refs":{ + } + }, + "CreateDBClusterSnapshotResult":{ + "base":null, + "refs":{ + } + }, + "CreateDBInstanceMessage":{ + "base":"

", + "refs":{ + } + }, + "CreateDBInstanceResult":{ + "base":null, + "refs":{ + } + }, + "CreateDBParameterGroupMessage":{ + "base":"

", + "refs":{ + } + }, + "CreateDBParameterGroupResult":{ + "base":null, + "refs":{ + } + }, + "CreateDBSubnetGroupMessage":{ + "base":"

", + "refs":{ + } + }, + "CreateDBSubnetGroupResult":{ + "base":null, + "refs":{ + } + }, + "CreateEventSubscriptionMessage":{ + "base":"

", + "refs":{ + } + }, + "CreateEventSubscriptionResult":{ + "base":null, + "refs":{ + } + }, + "DBCluster":{ + "base":"

Contains the details of an Amazon Neptune DB cluster.

This data type is used as a response element in the DescribeDBClusters action.

", + "refs":{ + "CreateDBClusterResult$DBCluster":null, + "DBClusterList$member":null, + "DeleteDBClusterResult$DBCluster":null, + "FailoverDBClusterResult$DBCluster":null, + "ModifyDBClusterResult$DBCluster":null, + "PromoteReadReplicaDBClusterResult$DBCluster":null, + "RestoreDBClusterFromSnapshotResult$DBCluster":null, + "RestoreDBClusterToPointInTimeResult$DBCluster":null + } + }, + "DBClusterAlreadyExistsFault":{ + "base":"

User already has a DB cluster with the given identifier.

", + "refs":{ + } + }, + "DBClusterList":{ + "base":null, + "refs":{ + "DBClusterMessage$DBClusters":"

Contains a list of DB clusters for the user.

" + } + }, + "DBClusterMember":{ + "base":"

Contains information about an instance that is part of a DB cluster.

", + "refs":{ + "DBClusterMemberList$member":null + } + }, + "DBClusterMemberList":{ + "base":null, + "refs":{ + "DBCluster$DBClusterMembers":"

Provides the list of instances that make up the DB cluster.

" + } + }, + "DBClusterMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeDBClusters action.

", + "refs":{ + } + }, + "DBClusterNotFoundFault":{ + "base":"

DBClusterIdentifier does not refer to an existing DB cluster.

", + "refs":{ + } + }, + "DBClusterOptionGroupMemberships":{ + "base":null, + "refs":{ + "DBCluster$DBClusterOptionGroupMemberships":"

Provides the list of option group memberships for this DB cluster.

" + } + }, + "DBClusterOptionGroupStatus":{ + "base":"

Contains status information for a DB cluster option group.

", + "refs":{ + "DBClusterOptionGroupMemberships$member":null + } + }, + "DBClusterParameterGroup":{ + "base":"

Contains the details of an Amazon Neptune DB cluster parameter group.

This data type is used as a response element in the DescribeDBClusterParameterGroups action.

", + "refs":{ + "CopyDBClusterParameterGroupResult$DBClusterParameterGroup":null, + "CreateDBClusterParameterGroupResult$DBClusterParameterGroup":null, + "DBClusterParameterGroupList$member":null + } + }, + "DBClusterParameterGroupDetails":{ + "base":"

Provides details about a DB cluster parameter group including the parameters in the DB cluster parameter group.

", + "refs":{ + } + }, + "DBClusterParameterGroupList":{ + "base":null, + "refs":{ + "DBClusterParameterGroupsMessage$DBClusterParameterGroups":"

A list of DB cluster parameter groups.

" + } + }, + "DBClusterParameterGroupNameMessage":{ + "base":"

", + "refs":{ + } + }, + "DBClusterParameterGroupNotFoundFault":{ + "base":"

DBClusterParameterGroupName does not refer to an existing DB Cluster parameter group.

", + "refs":{ + } + }, + "DBClusterParameterGroupsMessage":{ + "base":"

", + "refs":{ + } + }, + "DBClusterQuotaExceededFault":{ + "base":"

User attempted to create a new DB cluster and the user has already reached the maximum allowed DB cluster quota.

", + "refs":{ + } + }, + "DBClusterRole":{ + "base":"

Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.

", + "refs":{ + "DBClusterRoles$member":null + } + }, + "DBClusterRoleAlreadyExistsFault":{ + "base":"

The specified IAM role Amazon Resource Name (ARN) is already associated with the specified DB cluster.

", + "refs":{ + } + }, + "DBClusterRoleNotFoundFault":{ + "base":"

The specified IAM role Amazon Resource Name (ARN) is not associated with the specified DB cluster.

", + "refs":{ + } + }, + "DBClusterRoleQuotaExceededFault":{ + "base":"

You have exceeded the maximum number of IAM roles that can be associated with the specified DB cluster.

", + "refs":{ + } + }, + "DBClusterRoles":{ + "base":null, + "refs":{ + "DBCluster$AssociatedRoles":"

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.

" + } + }, + "DBClusterSnapshot":{ + "base":"

Contains the details for an Amazon Neptune DB cluster snapshot

This data type is used as a response element in the DescribeDBClusterSnapshots action.

", + "refs":{ + "CopyDBClusterSnapshotResult$DBClusterSnapshot":null, + "CreateDBClusterSnapshotResult$DBClusterSnapshot":null, + "DBClusterSnapshotList$member":null, + "DeleteDBClusterSnapshotResult$DBClusterSnapshot":null + } + }, + "DBClusterSnapshotAlreadyExistsFault":{ + "base":"

User already has a DB cluster snapshot with the given identifier.

", + "refs":{ + } + }, + "DBClusterSnapshotAttribute":{ + "base":"

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.

", + "refs":{ + "DBClusterSnapshotAttributeList$member":null + } + }, + "DBClusterSnapshotAttributeList":{ + "base":null, + "refs":{ + "DBClusterSnapshotAttributesResult$DBClusterSnapshotAttributes":"

The list of attributes and values for the manual DB cluster snapshot.

" + } + }, + "DBClusterSnapshotAttributesResult":{ + "base":"

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.

", + "refs":{ + "DescribeDBClusterSnapshotAttributesResult$DBClusterSnapshotAttributesResult":null, + "ModifyDBClusterSnapshotAttributeResult$DBClusterSnapshotAttributesResult":null + } + }, + "DBClusterSnapshotList":{ + "base":null, + "refs":{ + "DBClusterSnapshotMessage$DBClusterSnapshots":"

Provides a list of DB cluster snapshots for the user.

" + } + }, + "DBClusterSnapshotMessage":{ + "base":"

Provides a list of DB cluster snapshots for the user as the result of a call to the DescribeDBClusterSnapshots action.

", + "refs":{ + } + }, + "DBClusterSnapshotNotFoundFault":{ + "base":"

DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.

", + "refs":{ + } + }, + "DBEngineVersion":{ + "base":"

This data type is used as a response element in the action DescribeDBEngineVersions.

", + "refs":{ + "DBEngineVersionList$member":null + } + }, + "DBEngineVersionList":{ + "base":null, + "refs":{ + "DBEngineVersionMessage$DBEngineVersions":"

A list of DBEngineVersion elements.

" + } + }, + "DBEngineVersionMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeDBEngineVersions action.

", + "refs":{ + } + }, + "DBInstance":{ + "base":"

Contains the details of an Amazon Neptune DB instance.

This data type is used as a response element in the DescribeDBInstances action.

", + "refs":{ + "CreateDBInstanceResult$DBInstance":null, + "DBInstanceList$member":null, + "DeleteDBInstanceResult$DBInstance":null, + "ModifyDBInstanceResult$DBInstance":null, + "RebootDBInstanceResult$DBInstance":null + } + }, + "DBInstanceAlreadyExistsFault":{ + "base":"

User already has a DB instance with the given identifier.

", + "refs":{ + } + }, + "DBInstanceList":{ + "base":null, + "refs":{ + "DBInstanceMessage$DBInstances":"

A list of DBInstance instances.

" + } + }, + "DBInstanceMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeDBInstances action.

", + "refs":{ + } + }, + "DBInstanceNotFoundFault":{ + "base":"

DBInstanceIdentifier does not refer to an existing DB instance.

", + "refs":{ + } + }, + "DBInstanceStatusInfo":{ + "base":"

Provides a list of status information for a DB instance.

", + "refs":{ + "DBInstanceStatusInfoList$member":null + } + }, + "DBInstanceStatusInfoList":{ + "base":null, + "refs":{ + "DBInstance$StatusInfos":"

The status of a Read Replica. If the instance is not a Read Replica, this is blank.

" + } + }, + "DBParameterGroup":{ + "base":"

Contains the details of an Amazon Neptune DB parameter group.

This data type is used as a response element in the DescribeDBParameterGroups action.

", + "refs":{ + "CopyDBParameterGroupResult$DBParameterGroup":null, + "CreateDBParameterGroupResult$DBParameterGroup":null, + "DBParameterGroupList$member":null + } + }, + "DBParameterGroupAlreadyExistsFault":{ + "base":"

A DB parameter group with the same name exists.

", + "refs":{ + } + }, + "DBParameterGroupDetails":{ + "base":"

Contains the result of a successful invocation of the DescribeDBParameters action.

", + "refs":{ + } + }, + "DBParameterGroupList":{ + "base":null, + "refs":{ + "DBParameterGroupsMessage$DBParameterGroups":"

A list of DBParameterGroup instances.

" + } + }, + "DBParameterGroupNameMessage":{ + "base":"

Contains the result of a successful invocation of the ModifyDBParameterGroup or ResetDBParameterGroup action.

", + "refs":{ + } + }, + "DBParameterGroupNotFoundFault":{ + "base":"

DBParameterGroupName does not refer to an existing DB parameter group.

", + "refs":{ + } + }, + "DBParameterGroupQuotaExceededFault":{ + "base":"

Request would result in user exceeding the allowed number of DB parameter groups.

", + "refs":{ + } + }, + "DBParameterGroupStatus":{ + "base":"

The status of the DB parameter group.

This data type is used as a response element in the following actions:

", + "refs":{ + "DBParameterGroupStatusList$member":null + } + }, + "DBParameterGroupStatusList":{ + "base":null, + "refs":{ + "DBInstance$DBParameterGroups":"

Provides the list of DB parameter groups applied to this DB instance.

" + } + }, + "DBParameterGroupsMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeDBParameterGroups action.

", + "refs":{ + } + }, + "DBSecurityGroupMembership":{ + "base":"

This data type is used as a response element in the following actions:

", + "refs":{ + "DBSecurityGroupMembershipList$member":null + } + }, + "DBSecurityGroupMembershipList":{ + "base":null, + "refs":{ + "DBInstance$DBSecurityGroups":"

Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

" + } + }, + "DBSecurityGroupNameList":{ + "base":null, + "refs":{ + "CreateDBInstanceMessage$DBSecurityGroups":"

A list of DB security groups to associate with this DB instance.

Default: The default DB security group for the database engine.

", + "ModifyDBInstanceMessage$DBSecurityGroups":"

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.

" + } + }, + "DBSecurityGroupNotFoundFault":{ + "base":"

DBSecurityGroupName does not refer to an existing DB security group.

", + "refs":{ + } + }, + "DBSnapshotAlreadyExistsFault":{ + "base":"

DBSnapshotIdentifier is already used by an existing snapshot.

", + "refs":{ + } + }, + "DBSnapshotNotFoundFault":{ + "base":"

DBSnapshotIdentifier does not refer to an existing DB snapshot.

", + "refs":{ + } + }, + "DBSubnetGroup":{ + "base":"

Contains the details of an Amazon Neptune DB subnet group.

This data type is used as a response element in the DescribeDBSubnetGroups action.

", + "refs":{ + "CreateDBSubnetGroupResult$DBSubnetGroup":null, + "DBInstance$DBSubnetGroup":"

Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.

", + "DBSubnetGroups$member":null, + "ModifyDBSubnetGroupResult$DBSubnetGroup":null + } + }, + "DBSubnetGroupAlreadyExistsFault":{ + "base":"

DBSubnetGroupName is already used by an existing DB subnet group.

", + "refs":{ + } + }, + "DBSubnetGroupDoesNotCoverEnoughAZs":{ + "base":"

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

", + "refs":{ + } + }, + "DBSubnetGroupMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeDBSubnetGroups action.

", + "refs":{ + } + }, + "DBSubnetGroupNotFoundFault":{ + "base":"

DBSubnetGroupName does not refer to an existing DB subnet group.

", + "refs":{ + } + }, + "DBSubnetGroupQuotaExceededFault":{ + "base":"

Request would result in user exceeding the allowed number of DB subnet groups.

", + "refs":{ + } + }, + "DBSubnetGroups":{ + "base":null, + "refs":{ + "DBSubnetGroupMessage$DBSubnetGroups":"

A list of DBSubnetGroup instances.

" + } + }, + "DBSubnetQuotaExceededFault":{ + "base":"

Request would result in user exceeding the allowed number of subnets in a DB subnet groups.

", + "refs":{ + } + }, + "DBUpgradeDependencyFailureFault":{ + "base":"

The DB upgrade failed because a resource the DB depends on could not be modified.

", + "refs":{ + } + }, + "DeleteDBClusterMessage":{ + "base":"

", + "refs":{ + } + }, + "DeleteDBClusterParameterGroupMessage":{ + "base":"

", + "refs":{ + } + }, + "DeleteDBClusterResult":{ + "base":null, + "refs":{ + } + }, + "DeleteDBClusterSnapshotMessage":{ + "base":"

", + "refs":{ + } + }, + "DeleteDBClusterSnapshotResult":{ + "base":null, + "refs":{ + } + }, + "DeleteDBInstanceMessage":{ + "base":"

", + "refs":{ + } + }, + "DeleteDBInstanceResult":{ + "base":null, + "refs":{ + } + }, + "DeleteDBParameterGroupMessage":{ + "base":"

", + "refs":{ + } + }, + "DeleteDBSubnetGroupMessage":{ + "base":"

", + "refs":{ + } + }, + "DeleteEventSubscriptionMessage":{ + "base":"

", + "refs":{ + } + }, + "DeleteEventSubscriptionResult":{ + "base":null, + "refs":{ + } + }, + "DescribeDBClusterParameterGroupsMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeDBClusterParametersMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeDBClusterSnapshotAttributesMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeDBClusterSnapshotAttributesResult":{ + "base":null, + "refs":{ + } + }, + "DescribeDBClusterSnapshotsMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeDBClustersMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeDBEngineVersionsMessage":{ + "base":null, + "refs":{ + } + }, + "DescribeDBInstancesMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeDBParameterGroupsMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeDBParametersMessage":{ + "base":null, + "refs":{ + } + }, + "DescribeDBSubnetGroupsMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeEngineDefaultClusterParametersMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeEngineDefaultClusterParametersResult":{ + "base":null, + "refs":{ + } + }, + "DescribeEngineDefaultParametersMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeEngineDefaultParametersResult":{ + "base":null, + "refs":{ + } + }, + "DescribeEventCategoriesMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeEventSubscriptionsMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeEventsMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeOrderableDBInstanceOptionsMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribePendingMaintenanceActionsMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeValidDBInstanceModificationsMessage":{ + "base":"

", + "refs":{ + } + }, + "DescribeValidDBInstanceModificationsResult":{ + "base":null, + "refs":{ + } + }, + "DomainMembership":{ + "base":"

An Active Directory Domain membership record associated with the DB instance.

", + "refs":{ + "DomainMembershipList$member":null + } + }, + "DomainMembershipList":{ + "base":"

List of Active Directory Domain membership records associated with a DB instance.

", + "refs":{ + "DBInstance$DomainMemberships":"

Not supported

" + } + }, + "DomainNotFoundFault":{ + "base":"

Domain does not refer to an existing Active Directory Domain.

", + "refs":{ + } + }, + "Double":{ + "base":null, + "refs":{ + "DoubleRange$From":"

The minimum value in the range.

", + "DoubleRange$To":"

The maximum value in the range.

" + } + }, + "DoubleOptional":{ + "base":null, + "refs":{ + "OrderableDBInstanceOption$MinIopsPerGib":"

Minimum provisioned IOPS per GiB for a DB instance.

", + "OrderableDBInstanceOption$MaxIopsPerGib":"

Maximum provisioned IOPS per GiB for a DB instance.

" + } + }, + "DoubleRange":{ + "base":"

A range of double values.

", + "refs":{ + "DoubleRangeList$member":null + } + }, + "DoubleRangeList":{ + "base":null, + "refs":{ + "ValidStorageOptions$IopsToStorageRatio":"

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.

" + } + }, + "Endpoint":{ + "base":"

This data type is used as a response element in the following actions:

", + "refs":{ + "DBInstance$Endpoint":"

Specifies the connection endpoint.

" + } + }, + "EngineDefaults":{ + "base":"

Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

", + "refs":{ + "DescribeEngineDefaultClusterParametersResult$EngineDefaults":null, + "DescribeEngineDefaultParametersResult$EngineDefaults":null + } + }, + "Event":{ + "base":"

This data type is used as a response element in the DescribeEvents action.

", + "refs":{ + "EventList$member":null + } + }, + "EventCategoriesList":{ + "base":null, + "refs":{ + "CreateEventSubscriptionMessage$EventCategories":"

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.

", + "DescribeEventsMessage$EventCategories":"

A list of event categories that trigger notifications for a event notification subscription.

", + "Event$EventCategories":"

Specifies the category for the event.

", + "EventCategoriesMap$EventCategories":"

The event categories for the specified source type

", + "EventSubscription$EventCategoriesList":"

A list of event categories for the event notification subscription.

", + "ModifyEventSubscriptionMessage$EventCategories":"

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.

" + } + }, + "EventCategoriesMap":{ + "base":"

Contains the results of a successful invocation of the DescribeEventCategories action.

", + "refs":{ + "EventCategoriesMapList$member":null + } + }, + "EventCategoriesMapList":{ + "base":null, + "refs":{ + "EventCategoriesMessage$EventCategoriesMapList":"

A list of EventCategoriesMap data types.

" + } + }, + "EventCategoriesMessage":{ + "base":"

Data returned from the DescribeEventCategories action.

", + "refs":{ + } + }, + "EventList":{ + "base":null, + "refs":{ + "EventsMessage$Events":"

A list of Event instances.

" + } + }, + "EventSubscription":{ + "base":"

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

", + "refs":{ + "AddSourceIdentifierToSubscriptionResult$EventSubscription":null, + "CreateEventSubscriptionResult$EventSubscription":null, + "DeleteEventSubscriptionResult$EventSubscription":null, + "EventSubscriptionsList$member":null, + "ModifyEventSubscriptionResult$EventSubscription":null, + "RemoveSourceIdentifierFromSubscriptionResult$EventSubscription":null + } + }, + "EventSubscriptionQuotaExceededFault":{ + "base":null, + "refs":{ + } + }, + "EventSubscriptionsList":{ + "base":null, + "refs":{ + "EventSubscriptionsMessage$EventSubscriptionsList":"

A list of EventSubscriptions data types.

" + } + }, + "EventSubscriptionsMessage":{ + "base":"

Data returned by the DescribeEventSubscriptions action.

", + "refs":{ + } + }, + "EventsMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeEvents action.

", + "refs":{ + } + }, + "FailoverDBClusterMessage":{ + "base":"

", + "refs":{ + } + }, + "FailoverDBClusterResult":{ + "base":null, + "refs":{ + } + }, + "Filter":{ + "base":"

This type is not currently supported.

", + "refs":{ + "FilterList$member":null + } + }, + "FilterList":{ + "base":null, + "refs":{ + "DescribeDBClusterParameterGroupsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBClusterParametersMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBClusterSnapshotsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBClustersMessage$Filters":"

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.

", + "DescribeDBEngineVersionsMessage$Filters":"

Not currently supported.

", + "DescribeDBInstancesMessage$Filters":"

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.

", + "DescribeDBParameterGroupsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBParametersMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBSubnetGroupsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeEngineDefaultClusterParametersMessage$Filters":"

This parameter is not currently supported.

", + "DescribeEngineDefaultParametersMessage$Filters":"

Not currently supported.

", + "DescribeEventCategoriesMessage$Filters":"

This parameter is not currently supported.

", + "DescribeEventSubscriptionsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeEventsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeOrderableDBInstanceOptionsMessage$Filters":"

This parameter is not currently supported.

", + "DescribePendingMaintenanceActionsMessage$Filters":"

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.

", + "ListTagsForResourceMessage$Filters":"

This parameter is not currently supported.

" + } + }, + "FilterValueList":{ + "base":null, + "refs":{ + "Filter$Values":"

This parameter is not currently supported.

" + } + }, + "InstanceQuotaExceededFault":{ + "base":"

Request would result in user exceeding the allowed number of DB instances.

", + "refs":{ + } + }, + "InsufficientDBClusterCapacityFault":{ + "base":"

The DB cluster does not have enough capacity for the current operation.

", + "refs":{ + } + }, + "InsufficientDBInstanceCapacityFault":{ + "base":"

Specified DB instance class is not available in the specified Availability Zone.

", + "refs":{ + } + }, + "InsufficientStorageClusterCapacityFault":{ + "base":"

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.

", + "refs":{ + } + }, + "Integer":{ + "base":null, + "refs":{ + "DBClusterSnapshot$AllocatedStorage":"

Specifies the allocated storage size in gibibytes (GiB).

", + "DBClusterSnapshot$Port":"

Specifies the port that the DB cluster was listening on at the time of the snapshot.

", + "DBClusterSnapshot$PercentProgress":"

Specifies the percentage of the estimated data that has been transferred.

", + "DBInstance$AllocatedStorage":"

Specifies the allocated storage size specified in gibibytes.

", + "DBInstance$BackupRetentionPeriod":"

Specifies the number of days for which automatic DB snapshots are retained.

", + "DBInstance$DbInstancePort":"

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.

", + "Endpoint$Port":"

Specifies the port that the database engine is listening on.

", + "Range$From":"

The minimum value in the range.

", + "Range$To":"

The maximum value in the range.

" + } + }, + "IntegerOptional":{ + "base":null, + "refs":{ + "CreateDBClusterMessage$BackupRetentionPeriod":"

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

", + "CreateDBClusterMessage$Port":"

The port number on which the instances in the DB cluster accept connections.

Default: 8182

", + "CreateDBInstanceMessage$AllocatedStorage":"

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.

", + "CreateDBInstanceMessage$BackupRetentionPeriod":"

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

", + "CreateDBInstanceMessage$Port":"

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

", + "CreateDBInstanceMessage$Iops":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

", + "CreateDBInstanceMessage$MonitoringInterval":"

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

", + "CreateDBInstanceMessage$PromotionTier":"

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

", + "DBCluster$AllocatedStorage":"

AllocatedStorage always returns 1, because Neptune DB cluster storage size is not fixed, but instead automatically adjusts as needed.

", + "DBCluster$BackupRetentionPeriod":"

Specifies the number of days for which automatic DB snapshots are retained.

", + "DBCluster$Port":"

Specifies the port that the database engine is listening on.

", + "DBClusterMember$PromotionTier":"

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.

", + "DBInstance$Iops":"

Specifies the Provisioned IOPS (I/O operations per second) value.

", + "DBInstance$MonitoringInterval":"

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.

", + "DBInstance$PromotionTier":"

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.

", + "DescribeDBClusterParameterGroupsMessage$MaxRecords":"

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.

", + "DescribeDBClusterParametersMessage$MaxRecords":"

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.

", + "DescribeDBClusterSnapshotsMessage$MaxRecords":"

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.

", + "DescribeDBClustersMessage$MaxRecords":"

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.

", + "DescribeDBEngineVersionsMessage$MaxRecords":"

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.

", + "DescribeDBInstancesMessage$MaxRecords":"

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.

", + "DescribeDBParameterGroupsMessage$MaxRecords":"

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.

", + "DescribeDBParametersMessage$MaxRecords":"

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.

", + "DescribeDBSubnetGroupsMessage$MaxRecords":"

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.

", + "DescribeEngineDefaultClusterParametersMessage$MaxRecords":"

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.

", + "DescribeEngineDefaultParametersMessage$MaxRecords":"

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.

", + "DescribeEventSubscriptionsMessage$MaxRecords":"

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.

", + "DescribeEventsMessage$Duration":"

The number of minutes to retrieve events for.

Default: 60

", + "DescribeEventsMessage$MaxRecords":"

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.

", + "DescribeOrderableDBInstanceOptionsMessage$MaxRecords":"

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.

", + "DescribePendingMaintenanceActionsMessage$MaxRecords":"

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.

", + "ModifyDBClusterMessage$BackupRetentionPeriod":"

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

", + "ModifyDBClusterMessage$Port":"

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.

", + "ModifyDBInstanceMessage$AllocatedStorage":"

The new amount of storage (in gibibytes) to allocate for the DB instance.

Not applicable. Storage is managed by the DB Cluster.

", + "ModifyDBInstanceMessage$BackupRetentionPeriod":"

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

", + "ModifyDBInstanceMessage$Iops":"

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

", + "ModifyDBInstanceMessage$MonitoringInterval":"

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

", + "ModifyDBInstanceMessage$DBPortNumber":"

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

", + "ModifyDBInstanceMessage$PromotionTier":"

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

", + "OrderableDBInstanceOption$MinStorageSize":"

Minimum storage size for a DB instance.

", + "OrderableDBInstanceOption$MaxStorageSize":"

Maximum storage size for a DB instance.

", + "OrderableDBInstanceOption$MinIopsPerDbInstance":"

Minimum total provisioned IOPS for a DB instance.

", + "OrderableDBInstanceOption$MaxIopsPerDbInstance":"

Maximum total provisioned IOPS for a DB instance.

", + "PendingModifiedValues$AllocatedStorage":"

Contains the new AllocatedStorage size for the DB instance that will be applied or is currently being applied.

", + "PendingModifiedValues$Port":"

Specifies the pending port for the DB instance.

", + "PendingModifiedValues$BackupRetentionPeriod":"

Specifies the pending number of days for which automated backups are retained.

", + "PendingModifiedValues$Iops":"

Specifies the new Provisioned IOPS value for the DB instance that will be applied or is currently being applied.

", + "Range$Step":"

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...

", + "RestoreDBClusterFromSnapshotMessage$Port":"

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.

", + "RestoreDBClusterToPointInTimeMessage$Port":"

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.

" + } + }, + "InvalidDBClusterSnapshotStateFault":{ + "base":"

The supplied value is not a valid DB cluster snapshot state.

", + "refs":{ + } + }, + "InvalidDBClusterStateFault":{ + "base":"

The DB cluster is not in a valid state.

", + "refs":{ + } + }, + "InvalidDBInstanceStateFault":{ + "base":"

The specified DB instance is not in the available state.

", + "refs":{ + } + }, + "InvalidDBParameterGroupStateFault":{ + "base":"

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.

", + "refs":{ + } + }, + "InvalidDBSecurityGroupStateFault":{ + "base":"

The state of the DB security group does not allow deletion.

", + "refs":{ + } + }, + "InvalidDBSnapshotStateFault":{ + "base":"

The state of the DB snapshot does not allow deletion.

", + "refs":{ + } + }, + "InvalidDBSubnetGroupStateFault":{ + "base":"

The DB subnet group cannot be deleted because it is in use.

", + "refs":{ + } + }, + "InvalidDBSubnetStateFault":{ + "base":"

The DB subnet is not in the available state.

", + "refs":{ + } + }, + "InvalidEventSubscriptionStateFault":{ + "base":null, + "refs":{ + } + }, + "InvalidRestoreFault":{ + "base":"

Cannot restore from vpc backup to non-vpc DB instance.

", + "refs":{ + } + }, + "InvalidSubnet":{ + "base":"

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

", + "refs":{ + } + }, + "InvalidVPCNetworkStateFault":{ + "base":"

DB subnet group does not cover all Availability Zones after it is created because users' change.

", + "refs":{ + } + }, + "KMSKeyNotAccessibleFault":{ + "base":"

Error accessing KMS key.

", + "refs":{ + } + }, + "KeyList":{ + "base":null, + "refs":{ + "RemoveTagsFromResourceMessage$TagKeys":"

The tag key (name) of the tag to be removed.

" + } + }, + "ListTagsForResourceMessage":{ + "base":"

", + "refs":{ + } + }, + "LogTypeList":{ + "base":null, + "refs":{ + "CloudwatchLogsExportConfiguration$EnableLogTypes":"

The list of log types to enable.

", + "CloudwatchLogsExportConfiguration$DisableLogTypes":"

The list of log types to disable.

", + "CreateDBInstanceMessage$EnableCloudwatchLogsExports":"

The list of log types that need to be enabled for exporting to CloudWatch Logs.

", + "DBEngineVersion$ExportableLogTypes":"

The types of logs that the database engine has available for export to CloudWatch Logs.

", + "DBInstance$EnabledCloudwatchLogsExports":"

A list of log types that this DB instance is configured to export to CloudWatch Logs.

", + "PendingCloudwatchLogsExports$LogTypesToEnable":"

Log types that are in the process of being deactivated. After they are deactivated, these log types aren't exported to CloudWatch Logs.

", + "PendingCloudwatchLogsExports$LogTypesToDisable":"

Log types that are in the process of being enabled. After they are enabled, these log types are exported to CloudWatch Logs.

" + } + }, + "ModifyDBClusterMessage":{ + "base":"

", + "refs":{ + } + }, + "ModifyDBClusterParameterGroupMessage":{ + "base":"

", + "refs":{ + } + }, + "ModifyDBClusterResult":{ + "base":null, + "refs":{ + } + }, + "ModifyDBClusterSnapshotAttributeMessage":{ + "base":"

", + "refs":{ + } + }, + "ModifyDBClusterSnapshotAttributeResult":{ + "base":null, + "refs":{ + } + }, + "ModifyDBInstanceMessage":{ + "base":"

", + "refs":{ + } + }, + "ModifyDBInstanceResult":{ + "base":null, + "refs":{ + } + }, + "ModifyDBParameterGroupMessage":{ + "base":"

", + "refs":{ + } + }, + "ModifyDBSubnetGroupMessage":{ + "base":"

", + "refs":{ + } + }, + "ModifyDBSubnetGroupResult":{ + "base":null, + "refs":{ + } + }, + "ModifyEventSubscriptionMessage":{ + "base":"

", + "refs":{ + } + }, + "ModifyEventSubscriptionResult":{ + "base":null, + "refs":{ + } + }, + "OptionGroupMembership":{ + "base":"

Provides information on the option groups the DB instance is a member of.

", + "refs":{ + "OptionGroupMembershipList$member":null + } + }, + "OptionGroupMembershipList":{ + "base":null, + "refs":{ + "DBInstance$OptionGroupMemberships":"

Provides the list of option group memberships for this DB instance.

" + } + }, + "OptionGroupNotFoundFault":{ + "base":null, + "refs":{ + } + }, + "OrderableDBInstanceOption":{ + "base":"

Contains a list of available options for a DB instance.

This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

", + "refs":{ + "OrderableDBInstanceOptionsList$member":null + } + }, + "OrderableDBInstanceOptionsList":{ + "base":null, + "refs":{ + "OrderableDBInstanceOptionsMessage$OrderableDBInstanceOptions":"

An OrderableDBInstanceOption structure containing information about orderable options for the DB instance.

" + } + }, + "OrderableDBInstanceOptionsMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions action.

", + "refs":{ + } + }, + "Parameter":{ + "base":"

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.

", + "refs":{ + "ParametersList$member":null + } + }, + "ParametersList":{ + "base":null, + "refs":{ + "DBClusterParameterGroupDetails$Parameters":"

Provides a list of parameters for the DB cluster parameter group.

", + "DBParameterGroupDetails$Parameters":"

A list of Parameter values.

", + "EngineDefaults$Parameters":"

Contains a list of engine default parameters.

", + "ModifyDBClusterParameterGroupMessage$Parameters":"

A list of parameters in the DB cluster parameter group to modify.

", + "ModifyDBParameterGroupMessage$Parameters":"

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.

", + "ResetDBClusterParameterGroupMessage$Parameters":"

A list of parameter names in the DB cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is set to true.

", + "ResetDBParameterGroupMessage$Parameters":"

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

" + } + }, + "PendingCloudwatchLogsExports":{ + "base":"

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.

", + "refs":{ + "PendingModifiedValues$PendingCloudwatchLogsExports":null + } + }, + "PendingMaintenanceAction":{ + "base":"

Provides information about a pending maintenance action for a resource.

", + "refs":{ + "PendingMaintenanceActionDetails$member":null + } + }, + "PendingMaintenanceActionDetails":{ + "base":null, + "refs":{ + "ResourcePendingMaintenanceActions$PendingMaintenanceActionDetails":"

A list that provides details about the pending maintenance actions for the resource.

" + } + }, + "PendingMaintenanceActions":{ + "base":null, + "refs":{ + "PendingMaintenanceActionsMessage$PendingMaintenanceActions":"

A list of the pending maintenance actions for the resource.

" + } + }, + "PendingMaintenanceActionsMessage":{ + "base":"

Data returned from the DescribePendingMaintenanceActions action.

", + "refs":{ + } + }, + "PendingModifiedValues":{ + "base":"

This data type is used as a response element in the ModifyDBInstance action.

", + "refs":{ + "DBInstance$PendingModifiedValues":"

Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.

" + } + }, + "PromoteReadReplicaDBClusterMessage":{ + "base":"

", + "refs":{ + } + }, + "PromoteReadReplicaDBClusterResult":{ + "base":null, + "refs":{ + } + }, + "ProvisionedIopsNotAvailableInAZFault":{ + "base":"

Provisioned IOPS not available in the specified Availability Zone.

", + "refs":{ + } + }, + "Range":{ + "base":"

A range of integer values.

", + "refs":{ + "RangeList$member":null + } + }, + "RangeList":{ + "base":null, + "refs":{ + "ValidStorageOptions$StorageSize":"

The valid range of storage in gibibytes. For example, 100 to 16384.

", + "ValidStorageOptions$ProvisionedIops":"

The valid range of provisioned IOPS. For example, 1000-20000.

" + } + }, + "ReadReplicaDBClusterIdentifierList":{ + "base":null, + "refs":{ + "DBInstance$ReadReplicaDBClusterIdentifiers":"

Contains one or more identifiers of DB clusters that are Read Replicas of this DB instance.

" + } + }, + "ReadReplicaDBInstanceIdentifierList":{ + "base":null, + "refs":{ + "DBInstance$ReadReplicaDBInstanceIdentifiers":"

Contains one or more identifiers of the Read Replicas associated with this DB instance.

" + } + }, + "ReadReplicaIdentifierList":{ + "base":null, + "refs":{ + "DBCluster$ReadReplicaIdentifiers":"

Contains one or more identifiers of the Read Replicas associated with this DB cluster.

" + } + }, + "RebootDBInstanceMessage":{ + "base":"

", + "refs":{ + } + }, + "RebootDBInstanceResult":{ + "base":null, + "refs":{ + } + }, + "RemoveRoleFromDBClusterMessage":{ + "base":null, + "refs":{ + } + }, + "RemoveSourceIdentifierFromSubscriptionMessage":{ + "base":"

", + "refs":{ + } + }, + "RemoveSourceIdentifierFromSubscriptionResult":{ + "base":null, + "refs":{ + } + }, + "RemoveTagsFromResourceMessage":{ + "base":"

", + "refs":{ + } + }, + "ResetDBClusterParameterGroupMessage":{ + "base":"

", + "refs":{ + } + }, + "ResetDBParameterGroupMessage":{ + "base":"

", + "refs":{ + } + }, + "ResourceNotFoundFault":{ + "base":"

The specified resource ID was not found.

", + "refs":{ + } + }, + "ResourcePendingMaintenanceActions":{ + "base":"

Describes the pending maintenance actions for a resource.

", + "refs":{ + "ApplyPendingMaintenanceActionResult$ResourcePendingMaintenanceActions":null, + "PendingMaintenanceActions$member":null + } + }, + "RestoreDBClusterFromSnapshotMessage":{ + "base":"

", + "refs":{ + } + }, + "RestoreDBClusterFromSnapshotResult":{ + "base":null, + "refs":{ + } + }, + "RestoreDBClusterToPointInTimeMessage":{ + "base":"

", + "refs":{ + } + }, + "RestoreDBClusterToPointInTimeResult":{ + "base":null, + "refs":{ + } + }, + "SNSInvalidTopicFault":{ + "base":null, + "refs":{ + } + }, + "SNSNoAuthorizationFault":{ + "base":null, + "refs":{ + } + }, + "SNSTopicArnNotFoundFault":{ + "base":null, + "refs":{ + } + }, + "SharedSnapshotQuotaExceededFault":{ + "base":"

You have exceeded the maximum number of accounts that you can share a manual DB snapshot with.

", + "refs":{ + } + }, + "SnapshotQuotaExceededFault":{ + "base":"

Request would result in user exceeding the allowed number of DB snapshots.

", + "refs":{ + } + }, + "SourceIdsList":{ + "base":null, + "refs":{ + "CreateEventSubscriptionMessage$SourceIds":"

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.

", + "EventSubscription$SourceIdsList":"

A list of source IDs for the event notification subscription.

" + } + }, + "SourceNotFoundFault":{ + "base":null, + "refs":{ + } + }, + "SourceType":{ + "base":null, + "refs":{ + "DescribeEventsMessage$SourceType":"

The event source to retrieve events for. If no value is specified, all events are returned.

", + "Event$SourceType":"

Specifies the source type for this event.

" + } + }, + "StorageQuotaExceededFault":{ + "base":"

Request would result in user exceeding the allowed amount of storage available across all DB instances.

", + "refs":{ + } + }, + "StorageTypeNotSupportedFault":{ + "base":"

StorageType specified cannot be associated with the DB Instance.

", + "refs":{ + } + }, + "String":{ + "base":null, + "refs":{ + "AddRoleToDBClusterMessage$DBClusterIdentifier":"

The name of the DB cluster to associate the IAM role with.

", + "AddRoleToDBClusterMessage$RoleArn":"

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$SubscriptionName":"

The name of the event notification subscription you want to add a source identifier to.

", + "AddSourceIdentifierToSubscriptionMessage$SourceIdentifier":"

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.

", + "AddTagsToResourceMessage$ResourceName":"

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).

", + "ApplyPendingMaintenanceActionMessage$ResourceIdentifier":"

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).

", + "ApplyPendingMaintenanceActionMessage$ApplyAction":"

The pending maintenance action to apply to this resource.

Valid values: system-update, db-upgrade

", + "ApplyPendingMaintenanceActionMessage$OptInType":"

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.

", + "AttributeValueList$member":null, + "AvailabilityZone$Name":"

The name of the availability zone.

", + "AvailabilityZones$member":null, + "CharacterSet$CharacterSetName":"

The name of the character set.

", + "CharacterSet$CharacterSetDescription":"

The description of the character set.

", + "CopyDBClusterParameterGroupMessage$SourceDBClusterParameterGroupIdentifier":"

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.

", + "CopyDBClusterParameterGroupMessage$TargetDBClusterParameterGroupIdentifier":"

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

", + "CopyDBClusterParameterGroupMessage$TargetDBClusterParameterGroupDescription":"

A description for the copied DB cluster parameter group.

", + "CopyDBClusterSnapshotMessage$SourceDBClusterSnapshotIdentifier":"

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

", + "CopyDBClusterSnapshotMessage$TargetDBClusterSnapshotIdentifier":"

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

", + "CopyDBClusterSnapshotMessage$KmsKeyId":"

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.

", + "CopyDBClusterSnapshotMessage$PreSignedUrl":"

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.

", + "CopyDBParameterGroupMessage$SourceDBParameterGroupIdentifier":"

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.

", + "CopyDBParameterGroupMessage$TargetDBParameterGroupIdentifier":"

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

", + "CopyDBParameterGroupMessage$TargetDBParameterGroupDescription":"

A description for the copied DB parameter group.

", + "CreateDBClusterMessage$CharacterSetName":"

A value that indicates that the DB cluster should be associated with the specified CharacterSet.

", + "CreateDBClusterMessage$DatabaseName":"

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.

", + "CreateDBClusterMessage$DBClusterIdentifier":"

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

", + "CreateDBClusterMessage$DBClusterParameterGroupName":"

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.

", + "CreateDBClusterMessage$DBSubnetGroupName":"

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

", + "CreateDBClusterMessage$Engine":"

The name of the database engine to be used for this DB cluster.

Valid Values: neptune

", + "CreateDBClusterMessage$EngineVersion":"

The version number of the database engine to use.

Example: 1.0.1

", + "CreateDBClusterMessage$MasterUsername":"

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.

", + "CreateDBClusterMessage$MasterUserPassword":"

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.

", + "CreateDBClusterMessage$OptionGroupName":"

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.

", + "CreateDBClusterMessage$PreferredBackupWindow":"

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.

", + "CreateDBClusterMessage$PreferredMaintenanceWindow":"

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.

", + "CreateDBClusterMessage$ReplicationSourceIdentifier":"

The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.

", + "CreateDBClusterMessage$KmsKeyId":"

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.

", + "CreateDBClusterMessage$PreSignedUrl":"

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.

", + "CreateDBClusterParameterGroupMessage$DBClusterParameterGroupName":"

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.

", + "CreateDBClusterParameterGroupMessage$DBParameterGroupFamily":"

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.

", + "CreateDBClusterParameterGroupMessage$Description":"

The description for the DB cluster parameter group.

", + "CreateDBClusterSnapshotMessage$DBClusterSnapshotIdentifier":"

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

", + "CreateDBClusterSnapshotMessage$DBClusterIdentifier":"

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

", + "CreateDBInstanceMessage$DBName":"

The database name.

Type: String

", + "CreateDBInstanceMessage$DBInstanceIdentifier":"

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

", + "CreateDBInstanceMessage$DBInstanceClass":"

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.

", + "CreateDBInstanceMessage$Engine":"

The name of the database engine to be used for this instance.

Valid Values: neptune

", + "CreateDBInstanceMessage$MasterUsername":"

The name for the master user. Not used.

", + "CreateDBInstanceMessage$MasterUserPassword":"

The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Not used.

", + "CreateDBInstanceMessage$AvailabilityZone":"

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.

", + "CreateDBInstanceMessage$DBSubnetGroupName":"

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.

", + "CreateDBInstanceMessage$PreferredMaintenanceWindow":"

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.

", + "CreateDBInstanceMessage$DBParameterGroupName":"

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

", + "CreateDBInstanceMessage$PreferredBackupWindow":"

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.

", + "CreateDBInstanceMessage$EngineVersion":"

The version number of the database engine to use.

", + "CreateDBInstanceMessage$LicenseModel":"

License model information for this DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

", + "CreateDBInstanceMessage$OptionGroupName":"

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

", + "CreateDBInstanceMessage$CharacterSetName":"

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.

", + "CreateDBInstanceMessage$DBClusterIdentifier":"

The identifier of the DB cluster that the instance will belong to.

For information on creating a DB cluster, see CreateDBCluster.

Type: String

", + "CreateDBInstanceMessage$StorageType":"

Specifies the storage type to be associated with the DB instance.

Not applicable. Storage is managed by the DB Cluster.

", + "CreateDBInstanceMessage$TdeCredentialArn":"

The ARN from the key store with which to associate the instance for TDE encryption.

", + "CreateDBInstanceMessage$TdeCredentialPassword":"

The password for the given ARN from the key store in order to access the device.

", + "CreateDBInstanceMessage$KmsKeyId":"

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.

", + "CreateDBInstanceMessage$Domain":"

Specify the Active Directory Domain to create the instance in.

", + "CreateDBInstanceMessage$MonitoringRoleArn":"

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.

", + "CreateDBInstanceMessage$DomainIAMRoleName":"

Specify the name of the IAM role to be used when making API calls to the Directory Service.

", + "CreateDBInstanceMessage$Timezone":"

The time zone of the DB instance.

", + "CreateDBInstanceMessage$PerformanceInsightsKMSKeyId":"

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.

", + "CreateDBParameterGroupMessage$DBParameterGroupName":"

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.

", + "CreateDBParameterGroupMessage$DBParameterGroupFamily":"

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.

", + "CreateDBParameterGroupMessage$Description":"

The description for the DB parameter group.

", + "CreateDBSubnetGroupMessage$DBSubnetGroupName":"

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

", + "CreateDBSubnetGroupMessage$DBSubnetGroupDescription":"

The description for the DB subnet group.

", + "CreateEventSubscriptionMessage$SubscriptionName":"

The name of the subscription.

Constraints: The name must be less than 255 characters.

", + "CreateEventSubscriptionMessage$SnsTopicArn":"

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.

", + "CreateEventSubscriptionMessage$SourceType":"

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

", + "DBCluster$CharacterSetName":"

If present, specifies the name of the character set that this cluster is associated with.

", + "DBCluster$DatabaseName":"

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.

", + "DBCluster$DBClusterIdentifier":"

Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

", + "DBCluster$DBClusterParameterGroup":"

Specifies the name of the DB cluster parameter group for the DB cluster.

", + "DBCluster$DBSubnetGroup":"

Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.

", + "DBCluster$Status":"

Specifies the current state of this DB cluster.

", + "DBCluster$PercentProgress":"

Specifies the progress of the operation as a percentage.

", + "DBCluster$Endpoint":"

Specifies the connection endpoint for the primary instance of the DB cluster.

", + "DBCluster$ReaderEndpoint":"

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.

", + "DBCluster$Engine":"

Provides the name of the database engine to be used for this DB cluster.

", + "DBCluster$EngineVersion":"

Indicates the database engine version.

", + "DBCluster$MasterUsername":"

Contains the master username for the DB cluster.

", + "DBCluster$PreferredBackupWindow":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

", + "DBCluster$PreferredMaintenanceWindow":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

", + "DBCluster$ReplicationSourceIdentifier":"

Contains the identifier of the source DB cluster if this DB cluster is a Read Replica.

", + "DBCluster$HostedZoneId":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

", + "DBCluster$KmsKeyId":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster.

", + "DBCluster$DbClusterResourceId":"

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.

", + "DBCluster$DBClusterArn":"

The Amazon Resource Name (ARN) for the DB cluster.

", + "DBCluster$CloneGroupId":"

Identifies the clone group to which the DB cluster is associated.

", + "DBClusterMember$DBInstanceIdentifier":"

Specifies the instance identifier for this member of the DB cluster.

", + "DBClusterMember$DBClusterParameterGroupStatus":"

Specifies the status of the DB cluster parameter group for this member of the DB cluster.

", + "DBClusterMessage$Marker":"

A pagination token that can be used in a subsequent DescribeDBClusters request.

", + "DBClusterOptionGroupStatus$DBClusterOptionGroupName":"

Specifies the name of the DB cluster option group.

", + "DBClusterOptionGroupStatus$Status":"

Specifies the status of the DB cluster option group.

", + "DBClusterParameterGroup$DBClusterParameterGroupName":"

Provides the name of the DB cluster parameter group.

", + "DBClusterParameterGroup$DBParameterGroupFamily":"

Provides the name of the DB parameter group family that this DB cluster parameter group is compatible with.

", + "DBClusterParameterGroup$Description":"

Provides the customer-specified description for this DB cluster parameter group.

", + "DBClusterParameterGroup$DBClusterParameterGroupArn":"

The Amazon Resource Name (ARN) for the DB cluster parameter group.

", + "DBClusterParameterGroupDetails$Marker":"

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 .

", + "DBClusterParameterGroupNameMessage$DBClusterParameterGroupName":"

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.

", + "DBClusterParameterGroupsMessage$Marker":"

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.

", + "DBClusterRole$RoleArn":"

The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.

", + "DBClusterRole$Status":"

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.

", + "DBClusterSnapshot$DBClusterSnapshotIdentifier":"

Specifies the identifier for the DB cluster snapshot.

", + "DBClusterSnapshot$DBClusterIdentifier":"

Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.

", + "DBClusterSnapshot$Engine":"

Specifies the name of the database engine.

", + "DBClusterSnapshot$Status":"

Specifies the status of this DB cluster snapshot.

", + "DBClusterSnapshot$VpcId":"

Provides the VPC ID associated with the DB cluster snapshot.

", + "DBClusterSnapshot$MasterUsername":"

Provides the master username for the DB cluster snapshot.

", + "DBClusterSnapshot$EngineVersion":"

Provides the version of the database engine for this DB cluster snapshot.

", + "DBClusterSnapshot$LicenseModel":"

Provides the license model information for this DB cluster snapshot.

", + "DBClusterSnapshot$SnapshotType":"

Provides the type of the DB cluster snapshot.

", + "DBClusterSnapshot$KmsKeyId":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.

", + "DBClusterSnapshot$DBClusterSnapshotArn":"

The Amazon Resource Name (ARN) for the DB cluster snapshot.

", + "DBClusterSnapshot$SourceDBClusterSnapshotArn":"

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.

", + "DBClusterSnapshotAttribute$AttributeName":"

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.

", + "DBClusterSnapshotAttributesResult$DBClusterSnapshotIdentifier":"

The identifier of the manual DB cluster snapshot that the attributes apply to.

", + "DBClusterSnapshotMessage$Marker":"

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.

", + "DBEngineVersion$Engine":"

The name of the database engine.

", + "DBEngineVersion$EngineVersion":"

The version number of the database engine.

", + "DBEngineVersion$DBParameterGroupFamily":"

The name of the DB parameter group family for the database engine.

", + "DBEngineVersion$DBEngineDescription":"

The description of the database engine.

", + "DBEngineVersion$DBEngineVersionDescription":"

The description of the database engine version.

", + "DBEngineVersionMessage$Marker":"

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.

", + "DBInstance$DBInstanceIdentifier":"

Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.

", + "DBInstance$DBInstanceClass":"

Contains the name of the compute and memory capacity class of the DB instance.

", + "DBInstance$Engine":"

Provides the name of the database engine to be used for this DB instance.

", + "DBInstance$DBInstanceStatus":"

Specifies the current state of this database.

", + "DBInstance$MasterUsername":"

Contains the master username for the DB instance.

", + "DBInstance$DBName":"

The database name.

", + "DBInstance$PreferredBackupWindow":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

", + "DBInstance$AvailabilityZone":"

Specifies the name of the Availability Zone the DB instance is located in.

", + "DBInstance$PreferredMaintenanceWindow":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

", + "DBInstance$EngineVersion":"

Indicates the database engine version.

", + "DBInstance$ReadReplicaSourceDBInstanceIdentifier":"

Contains the identifier of the source DB instance if this DB instance is a Read Replica.

", + "DBInstance$LicenseModel":"

License model information for this DB instance.

", + "DBInstance$CharacterSetName":"

If present, specifies the name of the character set that this instance is associated with.

", + "DBInstance$SecondaryAvailabilityZone":"

If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.

", + "DBInstance$StorageType":"

Specifies the storage type associated with DB instance.

", + "DBInstance$TdeCredentialArn":"

The ARN from the key store with which the instance is associated for TDE encryption.

", + "DBInstance$DBClusterIdentifier":"

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.

", + "DBInstance$KmsKeyId":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.

", + "DBInstance$DbiResourceId":"

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.

", + "DBInstance$CACertificateIdentifier":"

The identifier of the CA certificate for this DB instance.

", + "DBInstance$EnhancedMonitoringResourceArn":"

The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.

", + "DBInstance$MonitoringRoleArn":"

The ARN for the IAM role that permits Neptune to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

", + "DBInstance$DBInstanceArn":"

The Amazon Resource Name (ARN) for the DB instance.

", + "DBInstance$Timezone":"

Not supported.

", + "DBInstance$PerformanceInsightsKMSKeyId":"

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.

", + "DBInstanceMessage$Marker":"

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 .

", + "DBInstanceStatusInfo$StatusType":"

This value is currently \"read replication.\"

", + "DBInstanceStatusInfo$Status":"

Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.

", + "DBInstanceStatusInfo$Message":"

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.

", + "DBParameterGroup$DBParameterGroupName":"

Provides the name of the DB parameter group.

", + "DBParameterGroup$DBParameterGroupFamily":"

Provides the name of the DB parameter group family that this DB parameter group is compatible with.

", + "DBParameterGroup$Description":"

Provides the customer-specified description for this DB parameter group.

", + "DBParameterGroup$DBParameterGroupArn":"

The Amazon Resource Name (ARN) for the DB parameter group.

", + "DBParameterGroupDetails$Marker":"

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.

", + "DBParameterGroupNameMessage$DBParameterGroupName":"

Provides the name of the DB parameter group.

", + "DBParameterGroupStatus$DBParameterGroupName":"

The name of the DP parameter group.

", + "DBParameterGroupStatus$ParameterApplyStatus":"

The status of parameter updates.

", + "DBParameterGroupsMessage$Marker":"

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.

", + "DBSecurityGroupMembership$DBSecurityGroupName":"

The name of the DB security group.

", + "DBSecurityGroupMembership$Status":"

The status of the DB security group.

", + "DBSecurityGroupNameList$member":null, + "DBSubnetGroup$DBSubnetGroupName":"

The name of the DB subnet group.

", + "DBSubnetGroup$DBSubnetGroupDescription":"

Provides the description of the DB subnet group.

", + "DBSubnetGroup$VpcId":"

Provides the VpcId of the DB subnet group.

", + "DBSubnetGroup$SubnetGroupStatus":"

Provides the status of the DB subnet group.

", + "DBSubnetGroup$DBSubnetGroupArn":"

The Amazon Resource Name (ARN) for the DB subnet group.

", + "DBSubnetGroupMessage$Marker":"

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.

", + "DeleteDBClusterMessage$DBClusterIdentifier":"

The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case-sensitive.

Constraints:

  • Must match an existing DBClusterIdentifier.

", + "DeleteDBClusterMessage$FinalDBSnapshotIdentifier":"

The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

", + "DeleteDBClusterParameterGroupMessage$DBClusterParameterGroupName":"

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.

", + "DeleteDBClusterSnapshotMessage$DBClusterSnapshotIdentifier":"

The identifier of the DB cluster snapshot to delete.

Constraints: Must be the name of an existing DB cluster snapshot in the available state.

", + "DeleteDBInstanceMessage$DBInstanceIdentifier":"

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.

", + "DeleteDBInstanceMessage$FinalDBSnapshotIdentifier":"

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.

", + "DeleteDBParameterGroupMessage$DBParameterGroupName":"

The name of the DB parameter group.

Constraints:

  • Must be the name of an existing DB parameter group

  • You can't delete a default DB parameter group

  • Cannot be associated with any DB instances

", + "DeleteDBSubnetGroupMessage$DBSubnetGroupName":"

The name of the database subnet group to delete.

You can't delete the default subnet group.

Constraints:

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

", + "DeleteEventSubscriptionMessage$SubscriptionName":"

The name of the event notification subscription you want to delete.

", + "DescribeDBClusterParameterGroupsMessage$DBClusterParameterGroupName":"

The name of a specific DB cluster parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

", + "DescribeDBClusterParameterGroupsMessage$Marker":"

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeDBClusterParametersMessage$DBClusterParameterGroupName":"

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.

", + "DescribeDBClusterParametersMessage$Source":"

A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer.

", + "DescribeDBClusterParametersMessage$Marker":"

An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeDBClusterSnapshotAttributesMessage$DBClusterSnapshotIdentifier":"

The identifier for the DB cluster snapshot to describe the attributes for.

", + "DescribeDBClusterSnapshotsMessage$DBClusterIdentifier":"

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.

", + "DescribeDBClusterSnapshotsMessage$DBClusterSnapshotIdentifier":"

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.

", + "DescribeDBClusterSnapshotsMessage$SnapshotType":"

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.

", + "DescribeDBClusterSnapshotsMessage$Marker":"

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.

", + "DescribeDBClustersMessage$DBClusterIdentifier":"

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.

", + "DescribeDBClustersMessage$Marker":"

An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeDBEngineVersionsMessage$Engine":"

The database engine to return.

", + "DescribeDBEngineVersionsMessage$EngineVersion":"

The database engine version to return.

Example: 5.1.49

", + "DescribeDBEngineVersionsMessage$DBParameterGroupFamily":"

The name of a specific DB parameter group family to return details for.

Constraints:

  • If supplied, must match an existing DBParameterGroupFamily.

", + "DescribeDBEngineVersionsMessage$Marker":"

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.

", + "DescribeDBInstancesMessage$DBInstanceIdentifier":"

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.

", + "DescribeDBInstancesMessage$Marker":"

An optional pagination token provided by a previous DescribeDBInstances request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeDBParameterGroupsMessage$DBParameterGroupName":"

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

", + "DescribeDBParameterGroupsMessage$Marker":"

An optional pagination token provided by a previous DescribeDBParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeDBParametersMessage$DBParameterGroupName":"

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBParameterGroup.

", + "DescribeDBParametersMessage$Source":"

The parameter types to return.

Default: All parameter types returned

Valid Values: user | system | engine-default

", + "DescribeDBParametersMessage$Marker":"

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$DBSubnetGroupName":"

The name of the DB subnet group to return details for.

", + "DescribeDBSubnetGroupsMessage$Marker":"

An optional pagination token provided by a previous DescribeDBSubnetGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeEngineDefaultClusterParametersMessage$DBParameterGroupFamily":"

The name of the DB cluster parameter group family to return engine parameter information for.

", + "DescribeEngineDefaultClusterParametersMessage$Marker":"

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.

", + "DescribeEngineDefaultParametersMessage$DBParameterGroupFamily":"

The name of the DB parameter group family.

", + "DescribeEngineDefaultParametersMessage$Marker":"

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.

", + "DescribeEventCategoriesMessage$SourceType":"

The type of source that is generating the events.

Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

", + "DescribeEventSubscriptionsMessage$SubscriptionName":"

The name of the event notification subscription you want to describe.

", + "DescribeEventSubscriptionsMessage$Marker":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

", + "DescribeEventsMessage$SourceIdentifier":"

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.

", + "DescribeEventsMessage$Marker":"

An optional pagination token provided by a previous DescribeEvents request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeOrderableDBInstanceOptionsMessage$Engine":"

The name of the engine to retrieve DB instance options for.

", + "DescribeOrderableDBInstanceOptionsMessage$EngineVersion":"

The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version.

", + "DescribeOrderableDBInstanceOptionsMessage$DBInstanceClass":"

The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

", + "DescribeOrderableDBInstanceOptionsMessage$LicenseModel":"

The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.

", + "DescribeOrderableDBInstanceOptionsMessage$Marker":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

", + "DescribePendingMaintenanceActionsMessage$ResourceIdentifier":"

The ARN of a resource to return pending maintenance actions for.

", + "DescribePendingMaintenanceActionsMessage$Marker":"

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.

", + "DescribeValidDBInstanceModificationsMessage$DBInstanceIdentifier":"

The customer identifier or the ARN of your DB instance.

", + "DomainMembership$Domain":"

The identifier of the Active Directory Domain.

", + "DomainMembership$Status":"

The status of the DB instance's Active Directory Domain membership, such as joined, pending-join, failed etc).

", + "DomainMembership$FQDN":"

The fully qualified domain name of the Active Directory Domain.

", + "DomainMembership$IAMRoleName":"

The name of the IAM role to be used when making API calls to the Directory Service.

", + "Endpoint$Address":"

Specifies the DNS address of the DB instance.

", + "Endpoint$HostedZoneId":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

", + "EngineDefaults$DBParameterGroupFamily":"

Specifies the name of the DB parameter group family that the engine default parameters apply to.

", + "EngineDefaults$Marker":"

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 .

", + "Event$SourceIdentifier":"

Provides the identifier for the source of the event.

", + "Event$Message":"

Provides the text of this event.

", + "Event$SourceArn":"

The Amazon Resource Name (ARN) for the event.

", + "EventCategoriesList$member":null, + "EventCategoriesMap$SourceType":"

The source type that the returned categories belong to

", + "EventSubscription$CustomerAwsId":"

The AWS customer account associated with the event notification subscription.

", + "EventSubscription$CustSubscriptionId":"

The event notification subscription Id.

", + "EventSubscription$SnsTopicArn":"

The topic ARN of the event notification subscription.

", + "EventSubscription$Status":"

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.

", + "EventSubscription$SubscriptionCreationTime":"

The time the event notification subscription was created.

", + "EventSubscription$SourceType":"

The source type for the event notification subscription.

", + "EventSubscription$EventSubscriptionArn":"

The Amazon Resource Name (ARN) for the event subscription.

", + "EventSubscriptionsMessage$Marker":"

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.

", + "EventsMessage$Marker":"

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 .

", + "FailoverDBClusterMessage$DBClusterIdentifier":"

A DB cluster identifier to force a failover for. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

", + "FailoverDBClusterMessage$TargetDBInstanceIdentifier":"

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.

", + "Filter$Name":"

This parameter is not currently supported.

", + "FilterValueList$member":null, + "KeyList$member":null, + "ListTagsForResourceMessage$ResourceName":"

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).

", + "LogTypeList$member":null, + "ModifyDBClusterMessage$DBClusterIdentifier":"

The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

", + "ModifyDBClusterMessage$NewDBClusterIdentifier":"

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

", + "ModifyDBClusterMessage$DBClusterParameterGroupName":"

The name of the DB cluster parameter group to use for the DB cluster.

", + "ModifyDBClusterMessage$MasterUserPassword":"

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.

", + "ModifyDBClusterMessage$OptionGroupName":"

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.

", + "ModifyDBClusterMessage$PreferredBackupWindow":"

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.

", + "ModifyDBClusterMessage$PreferredMaintenanceWindow":"

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.

", + "ModifyDBClusterMessage$EngineVersion":"

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.

", + "ModifyDBClusterParameterGroupMessage$DBClusterParameterGroupName":"

The name of the DB cluster parameter group to modify.

", + "ModifyDBClusterSnapshotAttributeMessage$DBClusterSnapshotIdentifier":"

The identifier for the DB cluster snapshot to modify the attributes for.

", + "ModifyDBClusterSnapshotAttributeMessage$AttributeName":"

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.

", + "ModifyDBInstanceMessage$DBInstanceIdentifier":"

The DB instance identifier. This value is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

", + "ModifyDBInstanceMessage$DBInstanceClass":"

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

", + "ModifyDBInstanceMessage$DBSubnetGroupName":"

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

", + "ModifyDBInstanceMessage$MasterUserPassword":"

The new password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Not applicable.

Default: Uses existing setting

", + "ModifyDBInstanceMessage$DBParameterGroupName":"

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.

", + "ModifyDBInstanceMessage$PreferredBackupWindow":"

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

", + "ModifyDBInstanceMessage$PreferredMaintenanceWindow":"

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

", + "ModifyDBInstanceMessage$EngineVersion":"

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.

", + "ModifyDBInstanceMessage$LicenseModel":"

The license model for the DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

", + "ModifyDBInstanceMessage$OptionGroupName":"

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

", + "ModifyDBInstanceMessage$NewDBInstanceIdentifier":"

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

", + "ModifyDBInstanceMessage$StorageType":"

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

", + "ModifyDBInstanceMessage$TdeCredentialArn":"

The ARN from the key store with which to associate the instance for TDE encryption.

", + "ModifyDBInstanceMessage$TdeCredentialPassword":"

The password for the given ARN from the key store in order to access the device.

", + "ModifyDBInstanceMessage$CACertificateIdentifier":"

Indicates the certificate that needs to be associated with the instance.

", + "ModifyDBInstanceMessage$Domain":"

Not supported.

", + "ModifyDBInstanceMessage$MonitoringRoleArn":"

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.

", + "ModifyDBInstanceMessage$DomainIAMRoleName":"

Not supported

", + "ModifyDBInstanceMessage$PerformanceInsightsKMSKeyId":"

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.

", + "ModifyDBParameterGroupMessage$DBParameterGroupName":"

The name of the DB parameter group.

Constraints:

  • If supplied, must match the name of an existing DBParameterGroup.

", + "ModifyDBSubnetGroupMessage$DBSubnetGroupName":"

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

", + "ModifyDBSubnetGroupMessage$DBSubnetGroupDescription":"

The description for the DB subnet group.

", + "ModifyEventSubscriptionMessage$SubscriptionName":"

The name of the event notification subscription.

", + "ModifyEventSubscriptionMessage$SnsTopicArn":"

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.

", + "ModifyEventSubscriptionMessage$SourceType":"

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

", + "OptionGroupMembership$OptionGroupName":"

The name of the option group that the instance belongs to.

", + "OptionGroupMembership$Status":"

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.

", + "OrderableDBInstanceOption$Engine":"

The engine type of a DB instance.

", + "OrderableDBInstanceOption$EngineVersion":"

The engine version of a DB instance.

", + "OrderableDBInstanceOption$DBInstanceClass":"

The DB instance class for a DB instance.

", + "OrderableDBInstanceOption$LicenseModel":"

The license model for a DB instance.

", + "OrderableDBInstanceOption$StorageType":"

Indicates the storage type for a DB instance.

", + "OrderableDBInstanceOptionsMessage$Marker":"

An optional pagination token provided by a previous OrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

", + "Parameter$ParameterName":"

Specifies the name of the parameter.

", + "Parameter$ParameterValue":"

Specifies the value of the parameter.

", + "Parameter$Description":"

Provides a description of the parameter.

", + "Parameter$Source":"

Indicates the source of the parameter value.

", + "Parameter$ApplyType":"

Specifies the engine specific parameters type.

", + "Parameter$DataType":"

Specifies the valid data type for the parameter.

", + "Parameter$AllowedValues":"

Specifies the valid range of values for the parameter.

", + "Parameter$MinimumEngineVersion":"

The earliest engine version to which the parameter can apply.

", + "PendingMaintenanceAction$Action":"

The type of pending maintenance action that is available for the resource.

", + "PendingMaintenanceAction$OptInStatus":"

Indicates the type of opt-in request that has been received for the resource.

", + "PendingMaintenanceAction$Description":"

A description providing more detail about the maintenance action.

", + "PendingMaintenanceActionsMessage$Marker":"

An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.

", + "PendingModifiedValues$DBInstanceClass":"

Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied.

", + "PendingModifiedValues$MasterUserPassword":"

Contains the pending or currently-in-progress change of the master credentials for the DB instance.

", + "PendingModifiedValues$EngineVersion":"

Indicates the database engine version.

", + "PendingModifiedValues$LicenseModel":"

The license model for the DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

", + "PendingModifiedValues$DBInstanceIdentifier":"

Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied.

", + "PendingModifiedValues$StorageType":"

Specifies the storage type to be associated with the DB instance.

", + "PendingModifiedValues$CACertificateIdentifier":"

Specifies the identifier of the CA certificate for the DB instance.

", + "PendingModifiedValues$DBSubnetGroupName":"

The new DB subnet group for the DB instance.

", + "PromoteReadReplicaDBClusterMessage$DBClusterIdentifier":"

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

", + "ReadReplicaDBClusterIdentifierList$member":null, + "ReadReplicaDBInstanceIdentifierList$member":null, + "ReadReplicaIdentifierList$member":null, + "RebootDBInstanceMessage$DBInstanceIdentifier":"

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

", + "RemoveRoleFromDBClusterMessage$DBClusterIdentifier":"

The name of the DB cluster to disassociate the IAM role from.

", + "RemoveRoleFromDBClusterMessage$RoleArn":"

The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole.

", + "RemoveSourceIdentifierFromSubscriptionMessage$SubscriptionName":"

The name of the event notification subscription you want to remove a source identifier from.

", + "RemoveSourceIdentifierFromSubscriptionMessage$SourceIdentifier":"

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.

", + "RemoveTagsFromResourceMessage$ResourceName":"

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).

", + "ResetDBClusterParameterGroupMessage$DBClusterParameterGroupName":"

The name of the DB cluster parameter group to reset.

", + "ResetDBParameterGroupMessage$DBParameterGroupName":"

The name of the DB parameter group.

Constraints:

  • Must match the name of an existing DBParameterGroup.

", + "ResourcePendingMaintenanceActions$ResourceIdentifier":"

The ARN of the resource that has pending maintenance actions.

", + "RestoreDBClusterFromSnapshotMessage$DBClusterIdentifier":"

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

", + "RestoreDBClusterFromSnapshotMessage$SnapshotIdentifier":"

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.

", + "RestoreDBClusterFromSnapshotMessage$Engine":"

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

", + "RestoreDBClusterFromSnapshotMessage$EngineVersion":"

The version of the database engine to use for the new DB cluster.

", + "RestoreDBClusterFromSnapshotMessage$DBSubnetGroupName":"

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

", + "RestoreDBClusterFromSnapshotMessage$DatabaseName":"

The database name for the restored DB cluster.

", + "RestoreDBClusterFromSnapshotMessage$OptionGroupName":"

The name of the option group to use for the restored DB cluster.

", + "RestoreDBClusterFromSnapshotMessage$KmsKeyId":"

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.

", + "RestoreDBClusterToPointInTimeMessage$DBClusterIdentifier":"

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

", + "RestoreDBClusterToPointInTimeMessage$RestoreType":"

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.

", + "RestoreDBClusterToPointInTimeMessage$SourceDBClusterIdentifier":"

The identifier of the source DB cluster from which to restore.

Constraints:

  • Must match the identifier of an existing DBCluster.

", + "RestoreDBClusterToPointInTimeMessage$DBSubnetGroupName":"

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

", + "RestoreDBClusterToPointInTimeMessage$OptionGroupName":"

The name of the option group for the new DB cluster.

", + "RestoreDBClusterToPointInTimeMessage$KmsKeyId":"

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.

", + "SourceIdsList$member":null, + "Subnet$SubnetIdentifier":"

Specifies the identifier of the subnet.

", + "Subnet$SubnetStatus":"

Specifies the status of the subnet.

", + "SubnetIdentifierList$member":null, + "Tag$Key":"

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}_.:/=+\\\\-]*)$\").

", + "Tag$Value":"

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}_.:/=+\\\\-]*)$\").

", + "Timezone$TimezoneName":"

The name of the time zone.

", + "UpgradeTarget$Engine":"

The name of the upgrade target database engine.

", + "UpgradeTarget$EngineVersion":"

The version number of the upgrade target database engine.

", + "UpgradeTarget$Description":"

The version of the database engine that a DB instance can be upgraded to.

", + "ValidStorageOptions$StorageType":"

The valid storage types for your DB instance. For example, gp2, io1.

", + "VpcSecurityGroupIdList$member":null, + "VpcSecurityGroupMembership$VpcSecurityGroupId":"

The name of the VPC security group.

", + "VpcSecurityGroupMembership$Status":"

The status of the VPC security group.

" + } + }, + "Subnet":{ + "base":"

This data type is used as a response element in the DescribeDBSubnetGroups action.

", + "refs":{ + "SubnetList$member":null + } + }, + "SubnetAlreadyInUse":{ + "base":"

The DB subnet is already in use in the Availability Zone.

", + "refs":{ + } + }, + "SubnetIdentifierList":{ + "base":null, + "refs":{ + "CreateDBSubnetGroupMessage$SubnetIds":"

The EC2 Subnet IDs for the DB subnet group.

", + "ModifyDBSubnetGroupMessage$SubnetIds":"

The EC2 subnet IDs for the DB subnet group.

" + } + }, + "SubnetList":{ + "base":null, + "refs":{ + "DBSubnetGroup$Subnets":"

Contains a list of Subnet elements.

" + } + }, + "SubscriptionAlreadyExistFault":{ + "base":null, + "refs":{ + } + }, + "SubscriptionCategoryNotFoundFault":{ + "base":null, + "refs":{ + } + }, + "SubscriptionNotFoundFault":{ + "base":null, + "refs":{ + } + }, + "SupportedCharacterSetsList":{ + "base":null, + "refs":{ + "DBEngineVersion$SupportedCharacterSets":"

A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance action.

" + } + }, + "SupportedTimezonesList":{ + "base":null, + "refs":{ + "DBEngineVersion$SupportedTimezones":"

A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action.

" + } + }, + "TStamp":{ + "base":null, + "refs":{ + "DBCluster$EarliestRestorableTime":"

Specifies the earliest time to which a database can be restored with point-in-time restore.

", + "DBCluster$LatestRestorableTime":"

Specifies the latest time to which a database can be restored with point-in-time restore.

", + "DBCluster$ClusterCreateTime":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

", + "DBClusterSnapshot$SnapshotCreateTime":"

Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

", + "DBClusterSnapshot$ClusterCreateTime":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

", + "DBInstance$InstanceCreateTime":"

Provides the date and time the DB instance was created.

", + "DBInstance$LatestRestorableTime":"

Specifies the latest time to which a database can be restored with point-in-time restore.

", + "DescribeEventsMessage$StartTime":"

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

", + "DescribeEventsMessage$EndTime":"

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

", + "Event$Date":"

Specifies the date and time of the event.

", + "PendingMaintenanceAction$AutoAppliedAfterDate":"

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.

", + "PendingMaintenanceAction$ForcedApplyDate":"

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.

", + "PendingMaintenanceAction$CurrentApplyDate":"

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.

", + "RestoreDBClusterToPointInTimeMessage$RestoreToTime":"

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

" + } + }, + "Tag":{ + "base":"

Metadata assigned to an Amazon Neptune resource consisting of a key-value pair.

", + "refs":{ + "TagList$member":null + } + }, + "TagList":{ + "base":"

A list of tags. For more information, see Tagging Amazon Neptune Resources.

", + "refs":{ + "AddTagsToResourceMessage$Tags":"

The tags to be assigned to the Amazon Neptune resource.

", + "CopyDBClusterParameterGroupMessage$Tags":null, + "CopyDBClusterSnapshotMessage$Tags":null, + "CopyDBParameterGroupMessage$Tags":null, + "CreateDBClusterMessage$Tags":null, + "CreateDBClusterParameterGroupMessage$Tags":null, + "CreateDBClusterSnapshotMessage$Tags":"

The tags to be assigned to the DB cluster snapshot.

", + "CreateDBInstanceMessage$Tags":null, + "CreateDBParameterGroupMessage$Tags":null, + "CreateDBSubnetGroupMessage$Tags":null, + "CreateEventSubscriptionMessage$Tags":null, + "RestoreDBClusterFromSnapshotMessage$Tags":"

The tags to be assigned to the restored DB cluster.

", + "RestoreDBClusterToPointInTimeMessage$Tags":null, + "TagListMessage$TagList":"

List of tags returned by the ListTagsForResource operation.

" + } + }, + "TagListMessage":{ + "base":"

", + "refs":{ + } + }, + "Timezone":{ + "base":"

A time zone associated with a DBInstance. This data type is an element in the response to the DescribeDBInstances, and the DescribeDBEngineVersions actions.

", + "refs":{ + "SupportedTimezonesList$member":null + } + }, + "UpgradeTarget":{ + "base":"

The version of the database engine that a DB instance can be upgraded to.

", + "refs":{ + "ValidUpgradeTargetList$member":null + } + }, + "ValidDBInstanceModificationsMessage":{ + "base":"

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.

", + "refs":{ + "DescribeValidDBInstanceModificationsResult$ValidDBInstanceModificationsMessage":null + } + }, + "ValidStorageOptions":{ + "base":"

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action.

", + "refs":{ + "ValidStorageOptionsList$member":null + } + }, + "ValidStorageOptionsList":{ + "base":null, + "refs":{ + "ValidDBInstanceModificationsMessage$Storage":"

Valid storage options for your DB instance.

" + } + }, + "ValidUpgradeTargetList":{ + "base":null, + "refs":{ + "DBEngineVersion$ValidUpgradeTarget":"

A list of engine versions that this database engine version can be upgraded to.

" + } + }, + "VpcSecurityGroupIdList":{ + "base":null, + "refs":{ + "CreateDBClusterMessage$VpcSecurityGroupIds":"

A list of EC2 VPC security groups to associate with this DB cluster.

", + "CreateDBInstanceMessage$VpcSecurityGroupIds":"

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.

", + "ModifyDBClusterMessage$VpcSecurityGroupIds":"

A list of VPC security groups that the DB cluster will belong to.

", + "ModifyDBInstanceMessage$VpcSecurityGroupIds":"

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.

", + "RestoreDBClusterFromSnapshotMessage$VpcSecurityGroupIds":"

A list of VPC security groups that the new DB cluster will belong to.

", + "RestoreDBClusterToPointInTimeMessage$VpcSecurityGroupIds":"

A list of VPC security groups that the new DB cluster belongs to.

" + } + }, + "VpcSecurityGroupMembership":{ + "base":"

This data type is used as a response element for queries on VPC security group membership.

", + "refs":{ + "VpcSecurityGroupMembershipList$member":null + } + }, + "VpcSecurityGroupMembershipList":{ + "base":null, + "refs":{ + "DBCluster$VpcSecurityGroups":"

Provides a list of VPC security groups that the DB cluster belongs to.

", + "DBInstance$VpcSecurityGroups":"

Provides a list of VPC security group elements that the DB instance belongs to.

" + } + } + } +} diff --git a/models/apis/neptune/2014-10-31/examples-1.json b/models/apis/neptune/2014-10-31/examples-1.json new file mode 100644 index 00000000000..faff7689444 --- /dev/null +++ b/models/apis/neptune/2014-10-31/examples-1.json @@ -0,0 +1,5 @@ +{ + "version":"1.0", + "examples":{ + } +} diff --git a/models/apis/rds/2013-01-10/paginators-1.json b/models/apis/neptune/2014-10-31/paginators-1.json similarity index 61% rename from models/apis/rds/2013-01-10/paginators-1.json rename to models/apis/neptune/2014-10-31/paginators-1.json index 2461b481b7c..2a4588640a8 100644 --- a/models/apis/rds/2013-01-10/paginators-1.json +++ b/models/apis/neptune/2014-10-31/paginators-1.json @@ -24,18 +24,6 @@ "output_token": "Marker", "result_key": "Parameters" }, - "DescribeDBSecurityGroups": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DBSecurityGroups" - }, - "DescribeDBSnapshots": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DBSnapshots" - }, "DescribeDBSubnetGroups": { "input_token": "Marker", "limit_key": "MaxRecords", @@ -60,36 +48,12 @@ "output_token": "Marker", "result_key": "Events" }, - "DescribeOptionGroupOptions": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "OptionGroupOptions" - }, - "DescribeOptionGroups": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "OptionGroupsList" - }, "DescribeOrderableDBInstanceOptions": { "input_token": "Marker", "limit_key": "MaxRecords", "output_token": "Marker", "result_key": "OrderableDBInstanceOptions" }, - "DescribeReservedDBInstances": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "ReservedDBInstances" - }, - "DescribeReservedDBInstancesOfferings": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "ReservedDBInstancesOfferings" - }, "ListTagsForResource": { "result_key": "TagList" } diff --git a/models/apis/rds/2013-09-09/waiters-2.json b/models/apis/neptune/2014-10-31/waiters-2.json similarity index 86% rename from models/apis/rds/2013-09-09/waiters-2.json rename to models/apis/neptune/2014-10-31/waiters-2.json index b01500797d0..e75f03b2aa8 100644 --- a/models/apis/rds/2013-09-09/waiters-2.json +++ b/models/apis/neptune/2014-10-31/waiters-2.json @@ -41,18 +41,6 @@ "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" } ] }, @@ -67,6 +55,11 @@ "state": "success", "argument": "DBInstances[].DBInstanceStatus" }, + { + "expected": "DBInstanceNotFound", + "matcher": "error", + "state": "success" + }, { "expected": "creating", "matcher": "pathAny", diff --git a/models/apis/opsworks/2013-02-18/api-2.json b/models/apis/opsworks/2013-02-18/api-2.json index ffcbc67fa93..49c60c2d2ad 100644 --- a/models/apis/opsworks/2013-02-18/api-2.json +++ b/models/apis/opsworks/2013-02-18/api-2.json @@ -6,6 +6,7 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS OpsWorks", + "serviceId":"OpsWorks", "signatureVersion":"v4", "targetPrefix":"OpsWorks_20130218", "uid":"opsworks-2013-02-18" @@ -406,6 +407,14 @@ }, "output":{"shape":"DescribeMyUserProfileResult"} }, + "DescribeOperatingSystems":{ + "name":"DescribeOperatingSystems", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "output":{"shape":"DescribeOperatingSystemsResponse"} + }, "DescribePermissions":{ "name":"DescribePermissions", "http":{ @@ -1712,6 +1721,12 @@ "UserProfile":{"shape":"SelfUserProfile"} } }, + "DescribeOperatingSystemsResponse":{ + "type":"structure", + "members":{ + "OperatingSystems":{"shape":"OperatingSystems"} + } + }, "DescribePermissionsRequest":{ "type":"structure", "members":{ @@ -2042,6 +2057,7 @@ "SetupFailed":{"shape":"Integer"}, "ShuttingDown":{"shape":"Integer"}, "StartFailed":{"shape":"Integer"}, + "StopFailed":{"shape":"Integer"}, "Stopped":{"shape":"Integer"}, "Stopping":{"shape":"Integer"}, "Terminated":{"shape":"Integer"}, @@ -2180,6 +2196,33 @@ "min":1 }, "NextToken":{"type":"string"}, + "OperatingSystem":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Id":{"shape":"String"}, + "Type":{"shape":"String"}, + "ConfigurationManagers":{"shape":"OperatingSystemConfigurationManagers"}, + "ReportedName":{"shape":"String"}, + "ReportedVersion":{"shape":"String"}, + "Supported":{"shape":"Boolean"} + } + }, + "OperatingSystemConfigurationManager":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Version":{"shape":"String"} + } + }, + "OperatingSystemConfigurationManagers":{ + "type":"list", + "member":{"shape":"OperatingSystemConfigurationManager"} + }, + "OperatingSystems":{ + "type":"list", + "member":{"shape":"OperatingSystem"} + }, "Parameters":{ "type":"map", "key":{"shape":"String"}, @@ -2532,7 +2575,8 @@ "type":"structure", "required":["InstanceId"], "members":{ - "InstanceId":{"shape":"String"} + "InstanceId":{"shape":"String"}, + "Force":{"shape":"Boolean"} } }, "StopStackRequest":{ @@ -2788,7 +2832,8 @@ "Region":{"shape":"String"}, "AvailabilityZone":{"shape":"String"}, "VolumeType":{"shape":"String"}, - "Iops":{"shape":"Integer"} + "Iops":{"shape":"Integer"}, + "Encrypted":{"shape":"Boolean"} } }, "VolumeConfiguration":{ @@ -2804,7 +2849,8 @@ "NumberOfDisks":{"shape":"Integer"}, "Size":{"shape":"Integer"}, "VolumeType":{"shape":"String"}, - "Iops":{"shape":"Integer"} + "Iops":{"shape":"Integer"}, + "Encrypted":{"shape":"Boolean"} } }, "VolumeConfigurations":{ diff --git a/models/apis/opsworks/2013-02-18/docs-2.json b/models/apis/opsworks/2013-02-18/docs-2.json index 07d9c6771b6..ac418911231 100644 --- a/models/apis/opsworks/2013-02-18/docs-2.json +++ b/models/apis/opsworks/2013-02-18/docs-2.json @@ -1,49 +1,50 @@ { "version": "2.0", - "service": "AWS OpsWorks

Welcome to the AWS OpsWorks Stacks API Reference. This guide provides descriptions, syntax, and usage examples for AWS OpsWorks Stacks actions and data types, including common parameters and error codes.

AWS OpsWorks Stacks is an application management service that provides an integrated experience for overseeing the complete application lifecycle. For information about this product, go to the AWS OpsWorks details page.

SDKs and CLI

The most common way to use the AWS OpsWorks Stacks API is by using the AWS Command Line Interface (CLI) or by using one of the AWS SDKs to implement applications in your preferred language. For more information, see:

Endpoints

AWS OpsWorks Stacks supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Stacks can only be accessed or managed within the endpoint in which they are created.

  • opsworks.us-east-1.amazonaws.com

  • opsworks.us-east-2.amazonaws.com

  • opsworks.us-west-1.amazonaws.com

  • opsworks.us-west-2.amazonaws.com

  • opsworks.eu-west-1.amazonaws.com

  • opsworks.eu-west-2.amazonaws.com

  • opsworks.eu-central-1.amazonaws.com

  • opsworks.ap-northeast-1.amazonaws.com

  • opsworks.ap-northeast-2.amazonaws.com

  • opsworks.ap-south-1.amazonaws.com

  • opsworks.ap-southeast-1.amazonaws.com

  • opsworks.ap-southeast-2.amazonaws.com

  • opsworks.sa-east-1.amazonaws.com

Chef Versions

When you call CreateStack, CloneStack, or UpdateStack we recommend you use the ConfigurationManager parameter to specify the Chef version. The recommended and default value for Linux stacks is currently 12. Windows stacks use Chef 12.2. For more information, see Chef Versions.

You can specify Chef 12, 11.10, or 11.4 for your Linux stack. We recommend migrating your existing Linux stacks to Chef 12 as soon as possible.

", + "service": "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.

", "operations": { "AssignInstance": "

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": "

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": "

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": "

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": "

Creates a clone of a specified stack. For more information, see Clone a Stack. By default, all parameters are set to the values used by the parent stack.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", + "CloneStack": "

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": "

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": "

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": "

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": "

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": "

Creates a new stack. For more information, see Create a New Stack.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "CreateUserProfile": "

Creates a new user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", + "CreateStack": "

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": "

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": "

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": "

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": "

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": "

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": "

Deletes a user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", + "DeleteUserProfile": "

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": "

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": "

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": "

Deregister a registered Amazon EC2 or on-premises instance. This action removes the instance from the stack and returns it to your control. This action can not be used with instances that were created with AWS OpsWorks Stacks.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", + "DeregisterInstance": "

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": "

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": "

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": "

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": "

Requests a description of a specified set of apps.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeCommands": "

Describes the results of specified commands.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeDeployments": "

Requests a description of a specified set of deployments.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeEcsClusters": "

Describes Amazon ECS clusters that are registered with a stack. If you specify only a stack ID, you can use the MaxResults and NextToken parameters to paginate the response. However, AWS OpsWorks Stacks currently supports only one cluster per layer, so the result set has a maximum of one element.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permission. For more information on user permissions, see Managing User Permissions.

This call accepts only one resource-identifying parameter.

", - "DescribeElasticIps": "

Describes Elastic IP addresses.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeElasticLoadBalancers": "

Describes a stack's Elastic Load Balancing instances.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeInstances": "

Requests a description of a set of instances.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeLayers": "

Requests a description of one or more layers in a specified stack.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeLoadBasedAutoScaling": "

Describes load-based auto scaling configurations for specified layers.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeMyUserProfile": "

Describes a user's SSH information.

Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", + "DescribeApps": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Describes the operating systems that are supported by AWS OpsWorks Stacks.

", "DescribePermissions": "

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": "

Describe an instance's RAID arrays.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeRdsDbInstances": "

Describes Amazon RDS instances.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

This call accepts only one resource-identifying parameter.

", - "DescribeServiceErrors": "

Describes AWS OpsWorks Stacks service errors.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

This call accepts only one resource-identifying parameter.

", - "DescribeStackProvisioningParameters": "

Requests a description of a stack's provisioning parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeStackSummary": "

Describes the number of layers and apps in a specified stack, and the number of instances in each state, such as running_setup or online.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeStacks": "

Requests a description of one or more stacks.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeTimeBasedAutoScaling": "

Describes time-based auto scaling configurations for specified instances.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeUserProfiles": "

Describe specified users.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", - "DescribeVolumes": "

Describes an instance's Amazon EBS volumes.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", + "DescribeRaidArrays": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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.

", @@ -63,17 +64,17 @@ "StopInstance": "

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": "

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": "

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": "

Unassigns a registered instance from all of it's layers. The instance remains in the stack as an unassigned instance and can be assigned to another layer, as needed. You cannot use this action with instances that were created with AWS OpsWorks Stacks.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", + "UnassignInstance": "

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": "

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": "

Removes tags from a specified stack or layer.

", "UpdateApp": "

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": "

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": "

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": "

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": "

Updates a user's SSH public key.

Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", + "UpdateMyUserProfile": "

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": "

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": "

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": "

Updates a specified user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

", + "UpdateUserProfile": "

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": "

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": { @@ -213,6 +214,7 @@ "Layer$InstallUpdatesOnBoot": "

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.

", "Layer$UseEbsOptimizedInstances": "

Whether the layer uses Amazon EBS-optimized instances.

", "LoadBasedAutoScalingConfiguration$Enable": "

Whether load-based auto scaling is enabled for the layer.

", + "OperatingSystem$Supported": "

Indicates that an operating system is not supported for new instances.

", "Permission$AllowSsh": "

Whether the user can use SSH.

", "Permission$AllowSudo": "

Whether the user can use sudo.

", "RdsDbInstance$MissingOnRds": "

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.

", @@ -222,6 +224,7 @@ "ShutdownEventConfiguration$DelayUntilElbConnectionsDrained": "

Whether to enable Elastic Load Balancing connection draining. For more information, see Connection Draining

", "Stack$UseCustomCookbooks": "

Whether the stack uses custom cookbooks.

", "Stack$UseOpsworksSecurityGroups": "

Whether the stack automatically associates the AWS OpsWorks Stacks built-in security groups with the stack's layers.

", + "StopInstanceRequest$Force": "

Specifies whether to force an instance to stop.

", "UpdateAppRequest$EnableSsl": "

Whether SSL is enabled for the app.

", "UpdateInstanceRequest$InstallUpdatesOnBoot": "

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.

", "UpdateInstanceRequest$EbsOptimized": "

This property cannot be updated.

", @@ -233,7 +236,9 @@ "UpdateStackRequest$UseCustomCookbooks": "

Whether the stack uses custom cookbooks.

", "UpdateStackRequest$UseOpsworksSecurityGroups": "

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.

", "UpdateUserProfileRequest$AllowSelfManagement": "

Whether users can specify their own SSH public key through the My Settings page. For more information, see Managing User Permissions.

", - "UserProfile$AllowSelfManagement": "

Whether users can specify their own SSH public key through the My Settings page. For more information, see Managing User Permissions.

" + "UserProfile$AllowSelfManagement": "

Whether users can specify their own SSH public key through the My Settings page. For more information, see Managing User Permissions.

", + "Volume$Encrypted": "

Specifies whether an Amazon EBS volume is encrypted. For more information, see Amazon EBS Encryption.

", + "VolumeConfiguration$Encrypted": "

Specifies whether an Amazon EBS volume is encrypted. For more information, see Amazon EBS Encryption.

" } }, "ChefConfiguration": { @@ -593,6 +598,11 @@ "refs": { } }, + "DescribeOperatingSystemsResponse": { + "base": "

The response to a DescribeOperatingSystems request.

", + "refs": { + } + }, "DescribePermissionsRequest": { "base": null, "refs": { @@ -843,6 +853,7 @@ "InstancesCount$SetupFailed": "

The number of instances with setup_failed status.

", "InstancesCount$ShuttingDown": "

The number of instances with shutting_down status.

", "InstancesCount$StartFailed": "

The number of instances with start_failed status.

", + "InstancesCount$StopFailed": "

The number of instances with stop_failed status.

", "InstancesCount$Stopped": "

The number of instances with stopped status.

", "InstancesCount$Stopping": "

The number of instances with stopping status.

", "InstancesCount$Terminated": "

The number of instances with terminated status.

", @@ -947,6 +958,30 @@ "ListTagsResult$NextToken": "

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.

" } }, + "OperatingSystem": { + "base": "

Describes supported operating systems in AWS OpsWorks Stacks.

", + "refs": { + "OperatingSystems$member": null + } + }, + "OperatingSystemConfigurationManager": { + "base": "

A block that contains information about the configuration manager (Chef) and the versions of the configuration manager that are supported for an operating system.

", + "refs": { + "OperatingSystemConfigurationManagers$member": null + } + }, + "OperatingSystemConfigurationManagers": { + "base": null, + "refs": { + "OperatingSystem$ConfigurationManagers": "

Supported configuration manager name and versions for an AWS OpsWorks Stacks operating system.

" + } + }, + "OperatingSystems": { + "base": null, + "refs": { + "DescribeOperatingSystemsResponse$OperatingSystems": "

Contains information in response to a DescribeOperatingSystems request.

" + } + }, "Parameters": { "base": null, "refs": { @@ -1169,10 +1204,10 @@ "refs": { "AgentVersion$ConfigurationManager": "

The configuration manager.

", "CloneStackRequest$ConfigurationManager": "

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.

", - "CreateStackRequest$ConfigurationManager": "

The configuration manager. When you create a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 11.4.

", + "CreateStackRequest$ConfigurationManager": "

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.

", "DescribeAgentVersionsRequest$ConfigurationManager": "

The configuration manager.

", "Stack$ConfigurationManager": "

The configuration manager.

", - "UpdateStackRequest$ConfigurationManager": "

The configuration manager. When you update a stack, we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 11.4.

" + "UpdateStackRequest$ConfigurationManager": "

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.

" } }, "StackSummary": { @@ -1224,7 +1259,7 @@ "AssociateElasticIpRequest$ElasticIp": "

The Elastic IP address.

", "AssociateElasticIpRequest$InstanceId": "

The instance ID.

", "AttachElasticLoadBalancerRequest$ElasticLoadBalancerName": "

The Elastic Load Balancing instance's name.

", - "AttachElasticLoadBalancerRequest$LayerId": "

The ID of the layer that the Elastic Load Balancing instance is to be attached to.

", + "AttachElasticLoadBalancerRequest$LayerId": "

The ID of the layer to which the Elastic Load Balancing instance is to be attached.

", "BlockDeviceMapping$DeviceName": "

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.

", "BlockDeviceMapping$NoDevice": "

Suppresses the specified device included in the AMI's block device mapping.

", "BlockDeviceMapping$VirtualName": "

The virtual device name. For more information, see BlockDeviceMapping.

", @@ -1232,14 +1267,14 @@ "CloneStackRequest$SourceStackId": "

The source stack ID.

", "CloneStackRequest$Name": "

The cloned stack name.

", "CloneStackRequest$Region": "

The cloned stack AWS region, such as \"ap-northeast-2\". For more information about AWS regions, see Regions and Endpoints.

", - "CloneStackRequest$VpcId": "

The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later.

  • If your account supports EC2 Classic, the default value is no VPC.

  • If your account does not support EC2 Classic, the default value is the default VPC for the specified region.

If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified region.

  • You must specify a value for DefaultSubnetId.

For more information on how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a VPC. For more information on default VPC and EC2 Classic, see Supported Platforms.

", + "CloneStackRequest$VpcId": "

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.

", "CloneStackRequest$ServiceRoleArn": "

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.

", "CloneStackRequest$DefaultInstanceProfileArn": "

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.

", - "CloneStackRequest$DefaultOs": "

The stack's operating system, which must be set to one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

The default option is the parent stack's operating system. For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems.

You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux.

", + "CloneStackRequest$DefaultOs": "

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.

", "CloneStackRequest$HostnameTheme": "

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.

", "CloneStackRequest$DefaultAvailabilityZone": "

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.

", "CloneStackRequest$DefaultSubnetId": "

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.

", - "CloneStackRequest$CustomJson": "

A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes

", + "CloneStackRequest$CustomJson": "

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

", "CloneStackRequest$DefaultSshKeyName": "

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.

", "CloneStackRequest$AgentVersion": "

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$StackId": "

The cloned stack ID.

", @@ -1262,12 +1297,12 @@ "CreateDeploymentRequest$StackId": "

The stack ID.

", "CreateDeploymentRequest$AppId": "

The app ID. This parameter is required for app deployments, but not for other deployment commands.

", "CreateDeploymentRequest$Comment": "

A user-defined comment.

", - "CreateDeploymentRequest$CustomJson": "

A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

", + "CreateDeploymentRequest$CustomJson": "

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$DeploymentId": "

The deployment ID, which can be used with other requests to identify the deployment.

", "CreateInstanceRequest$StackId": "

The stack ID.

", "CreateInstanceRequest$InstanceType": "

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.

", "CreateInstanceRequest$Hostname": "

The instance host name.

", - "CreateInstanceRequest$Os": "

The instance's operating system, which must be set to one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom.

For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the CreateInstance action's AmiId parameter to specify the custom AMI that you want to use. Block device mappings are not supported if the value is Custom. For more information on the supported operating systems, see Operating SystemsFor more information on how to use custom AMIs with AWS OpsWorks Stacks, see Using Custom AMIs.

", + "CreateInstanceRequest$Os": "

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.

", "CreateInstanceRequest$AmiId": "

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.

", "CreateInstanceRequest$SshKeyName": "

The instance's Amazon EC2 key-pair name.

", "CreateInstanceRequest$AvailabilityZone": "

The instance Availability Zone. For more information, see Regions and Endpoints.

", @@ -1283,15 +1318,15 @@ "CreateLayerRequest$CustomJson": "

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.

", "CreateLayerResult$LayerId": "

The layer ID.

", "CreateStackRequest$Name": "

The stack name.

", - "CreateStackRequest$Region": "

The stack's AWS region, such as \"ap-south-1\". For more information about Amazon regions, see Regions and Endpoints.

", - "CreateStackRequest$VpcId": "

The ID of the VPC that the stack is to be launched into. The VPC must be in the stack's region. All instances are launched into this VPC. You cannot change the ID later.

  • If your account supports EC2-Classic, the default value is no VPC.

  • If your account does not support EC2-Classic, the default value is the default VPC for the specified region.

If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified region.

  • You must specify a value for DefaultSubnetId.

For more information on how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a VPC. For more information on default VPC and EC2-Classic, see Supported Platforms.

", + "CreateStackRequest$Region": "

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.

", + "CreateStackRequest$VpcId": "

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.

", "CreateStackRequest$ServiceRoleArn": "

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.

", "CreateStackRequest$DefaultInstanceProfileArn": "

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.

", - "CreateStackRequest$DefaultOs": "

The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance. You can specify one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information, see Using Custom AMIs.

The default option is the current Amazon Linux version. For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems.

", + "CreateStackRequest$DefaultOs": "

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.

", "CreateStackRequest$HostnameTheme": "

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.

", "CreateStackRequest$DefaultAvailabilityZone": "

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.

", "CreateStackRequest$DefaultSubnetId": "

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.

", - "CreateStackRequest$CustomJson": "

A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

", + "CreateStackRequest$CustomJson": "

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.

", "CreateStackRequest$DefaultSshKeyName": "

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.

", "CreateStackRequest$AgentVersion": "

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$StackId": "

The stack ID, which is an opaque string that you use to identify the stack when performing actions such as DescribeStacks.

", @@ -1299,7 +1334,7 @@ "CreateUserProfileRequest$SshUsername": "

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.

", "CreateUserProfileRequest$SshPublicKey": "

The user's public SSH key.

", "CreateUserProfileResult$IamUserArn": "

The user's IAM ARN.

", - "DataSource$Type": "

The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance, or RdsDbInstance.

", + "DataSource$Type": "

The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance, RdsDbInstance, or None.

", "DataSource$Arn": "

The data source's ARN.

", "DataSource$DatabaseName": "

The database name.

", "DeleteAppRequest$AppId": "

The app ID.

", @@ -1315,7 +1350,7 @@ "Deployment$Status": "

The deployment status:

  • running

  • successful

  • failed

", "Deployment$CustomJson": "

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.

", "DeploymentCommandArgs$key": null, - "DeregisterEcsClusterRequest$EcsClusterArn": "

The cluster's ARN.

", + "DeregisterEcsClusterRequest$EcsClusterArn": "

The cluster's Amazon Resource Number (ARN).

", "DeregisterElasticIpRequest$ElasticIp": "

The Elastic IP address.

", "DeregisterInstanceRequest$InstanceId": "

The instance ID.

", "DeregisterRdsDbInstanceRequest$RdsDbInstanceArn": "

The Amazon RDS instance's ARN.

", @@ -1324,8 +1359,8 @@ "DescribeAppsRequest$StackId": "

The app stack ID. If you use this parameter, DescribeApps returns a description of the apps in the specified stack.

", "DescribeCommandsRequest$DeploymentId": "

The deployment ID. If you include this parameter, DescribeCommands returns a description of the commands associated with the specified deployment.

", "DescribeCommandsRequest$InstanceId": "

The instance ID. If you include this parameter, DescribeCommands returns a description of the commands associated with the specified instance.

", - "DescribeDeploymentsRequest$StackId": "

The stack ID. If you include this parameter, DescribeDeployments returns a description of the commands associated with the specified stack.

", - "DescribeDeploymentsRequest$AppId": "

The app ID. If you include this parameter, DescribeDeployments returns a description of the commands associated with the specified app.

", + "DescribeDeploymentsRequest$StackId": "

The stack ID. If you include this parameter, the command returns a description of the commands associated with the specified stack.

", + "DescribeDeploymentsRequest$AppId": "

The app ID. If you include this parameter, the command returns a description of the commands associated with the specified app.

", "DescribeEcsClustersRequest$StackId": "

A stack ID. DescribeEcsClusters returns a description of the cluster that is registered with the stack.

", "DescribeEcsClustersRequest$NextToken": "

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.

", "DescribeEcsClustersResult$NextToken": "

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.

", @@ -1339,10 +1374,10 @@ "DescribePermissionsRequest$StackId": "

The stack ID.

", "DescribeRaidArraysRequest$InstanceId": "

The instance ID. If you use this parameter, DescribeRaidArrays returns descriptions of the RAID arrays associated with the specified instance.

", "DescribeRaidArraysRequest$StackId": "

The stack ID.

", - "DescribeRdsDbInstancesRequest$StackId": "

The stack ID that the instances are registered with. The operation returns descriptions of all registered Amazon RDS instances.

", + "DescribeRdsDbInstancesRequest$StackId": "

The ID of the stack with which the instances are registered. The operation returns descriptions of all registered Amazon RDS instances.

", "DescribeServiceErrorsRequest$StackId": "

The stack ID. If you use this parameter, DescribeServiceErrors returns descriptions of the errors associated with the specified stack.

", "DescribeServiceErrorsRequest$InstanceId": "

The instance ID. If you use this parameter, DescribeServiceErrors returns descriptions of the errors associated with the specified instance.

", - "DescribeStackProvisioningParametersRequest$StackId": "

The stack ID

", + "DescribeStackProvisioningParametersRequest$StackId": "

The stack ID.

", "DescribeStackProvisioningParametersResult$AgentInstallerUrl": "

The AWS OpsWorks Stacks agent installer's URL.

", "DescribeStackSummaryRequest$StackId": "

The stack ID.

", "DescribeVolumesRequest$InstanceId": "

The instance ID. If you use this parameter, DescribeVolumes returns descriptions of the volumes associated with the specified instance.

", @@ -1374,7 +1409,7 @@ "GrantAccessRequest$InstanceId": "

The instance's AWS OpsWorks Stacks ID.

", "Instance$AgentVersion": "

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.

", "Instance$AmiId": "

A custom AMI ID to be used to create the instance. For more information, see Instances

", - "Instance$Arn": null, + "Instance$Arn": "

The instance's Amazon Resource Number (ARN).

", "Instance$AvailabilityZone": "

The instance Availability Zone. For more information, see Regions and Endpoints.

", "Instance$Ec2InstanceId": "

The ID of the associated Amazon EC2 instance.

", "Instance$EcsClusterArn": "

For container instances, the Amazon ECS cluster's ARN.

", @@ -1404,7 +1439,7 @@ "Instance$Tenancy": "

The instance's tenancy option, such as dedicated or host.

", "InstanceIdentity$Document": "

A JSON document that contains the metadata.

", "InstanceIdentity$Signature": "

A signature that can be used to verify the document's accuracy and authenticity.

", - "Layer$Arn": null, + "Layer$Arn": "

The Amazon Resource Number (ARN) of a layer.

", "Layer$StackId": "

The layer stack ID.

", "Layer$LayerId": "

The layer ID.

", "Layer$Name": "

The layer name.

", @@ -1413,6 +1448,13 @@ "Layer$CustomJson": "

A JSON formatted string containing the layer's custom stack configuration and deployment attributes.

", "LayerAttributes$value": null, "LoadBasedAutoScalingConfiguration$LayerId": "

The layer ID.

", + "OperatingSystem$Name": "

The name of the operating system, such as Amazon Linux 2017.09.

", + "OperatingSystem$Id": "

The ID of a supported operating system, such as Amazon Linux 2017.09.

", + "OperatingSystem$Type": "

The type of a supported operating system, either Linux or Windows.

", + "OperatingSystem$ReportedName": "

A short name for the operating system manufacturer.

", + "OperatingSystem$ReportedVersion": "

The version of the operating system, including the release and edition, if applicable.

", + "OperatingSystemConfigurationManager$Name": "

The name of the configuration manager, which is Chef.

", + "OperatingSystemConfigurationManager$Version": "

The versions of the configuration manager that are supported by an operating system.

", "Parameters$key": null, "Parameters$value": null, "Permission$StackId": "

A stack ID.

", @@ -1471,7 +1513,7 @@ "SetLoadBasedAutoScalingRequest$LayerId": "

The layer ID.

", "SetPermissionRequest$StackId": "

The stack ID.

", "SetPermissionRequest$IamUserArn": "

The user's IAM ARN. This can also be a federated user's ARN.

", - "SetPermissionRequest$Level": "

The user's permission level, which must be set to one of the following strings. You cannot set your own permissions level.

  • deny

  • show

  • deploy

  • manage

  • iam_only

For more information on the permissions associated with these levels, see Managing User Permissions.

", + "SetPermissionRequest$Level": "

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$InstanceId": "

The instance ID.

", "Source$Url": "

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.

", "Source$Username": "

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.

", @@ -1515,12 +1557,12 @@ "UpdateAppRequest$AppId": "

The app ID.

", "UpdateAppRequest$Name": "

The app name.

", "UpdateAppRequest$Description": "

A description of the app.

", - "UpdateElasticIpRequest$ElasticIp": "

The address.

", + "UpdateElasticIpRequest$ElasticIp": "

The IP address for which you want to update the name.

", "UpdateElasticIpRequest$Name": "

The new name.

", "UpdateInstanceRequest$InstanceId": "

The instance ID.

", "UpdateInstanceRequest$InstanceType": "

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.

", "UpdateInstanceRequest$Hostname": "

The instance host name.

", - "UpdateInstanceRequest$Os": "

The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the AmiId parameter to specify the custom AMI that you want to use. For more information on the supported operating systems, see Operating Systems. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux.

", + "UpdateInstanceRequest$Os": "

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.

", "UpdateInstanceRequest$AmiId": "

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.

", "UpdateInstanceRequest$SshKeyName": "

The instance's Amazon EC2 key name.

", "UpdateInstanceRequest$AgentVersion": "

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.

", @@ -1537,11 +1579,11 @@ "UpdateStackRequest$Name": "

The stack's new name.

", "UpdateStackRequest$ServiceRoleArn": "

Do not use this parameter. You cannot update a stack's service role.

", "UpdateStackRequest$DefaultInstanceProfileArn": "

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.

", - "UpdateStackRequest$DefaultOs": "

The stack's operating system, which must be set to one of the following:

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

The default option is the stack's current operating system. For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems.

", + "UpdateStackRequest$DefaultOs": "

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.

", "UpdateStackRequest$HostnameTheme": "

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.

", "UpdateStackRequest$DefaultAvailabilityZone": "

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.

", "UpdateStackRequest$DefaultSubnetId": "

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.

", - "UpdateStackRequest$CustomJson": "

A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration JSON values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

", + "UpdateStackRequest$CustomJson": "

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.

", "UpdateStackRequest$DefaultSshKeyName": "

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.

", "UpdateStackRequest$AgentVersion": "

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$IamUserArn": "

The user IAM ARN. This can also be a federated user's ARN.

", @@ -1565,9 +1607,9 @@ "Volume$MountPoint": "

The volume mount point. For example, \"/mnt/disk1\".

", "Volume$Region": "

The AWS region. For more information about AWS regions, see Regions and Endpoints.

", "Volume$AvailabilityZone": "

The volume Availability Zone. For more information, see Regions and Endpoints.

", - "Volume$VolumeType": "

The volume type, standard or PIOPS.

", + "Volume$VolumeType": "

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.

", "VolumeConfiguration$MountPoint": "

The volume mount point. For example \"/dev/sdh\".

", - "VolumeConfiguration$VolumeType": "

The volume type:

  • standard - Magnetic

  • io1 - Provisioned IOPS (SSD)

  • gp2 - General Purpose (SSD)

" + "VolumeConfiguration$VolumeType": "

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.

" } }, "Strings": { @@ -1587,7 +1629,7 @@ "DeploymentCommandArgs$value": null, "DescribeAppsRequest$AppIds": "

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.

", "DescribeCommandsRequest$CommandIds": "

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.

", - "DescribeDeploymentsRequest$DeploymentIds": "

An array of deployment IDs to be described. If you include this parameter, DescribeDeployments returns a description of the specified deployments. Otherwise, it returns a description of every deployment.

", + "DescribeDeploymentsRequest$DeploymentIds": "

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.

", "DescribeEcsClustersRequest$EcsClusterArns": "

A list of ARNs, one for each cluster to be described.

", "DescribeElasticIpsRequest$Ips": "

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.

", "DescribeElasticLoadBalancersRequest$LayerIds": "

A list of layer IDs. The action describes the Elastic Load Balancing instances for the specified layers.

", @@ -1787,7 +1829,7 @@ "VolumeType": { "base": null, "refs": { - "EbsBlockDevice$VolumeType": "

The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, and standard for Magnetic volumes.

" + "EbsBlockDevice$VolumeType": "

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).

" } }, "Volumes": { diff --git a/models/apis/opsworks/2013-02-18/smoke.json b/models/apis/opsworks/2013-02-18/smoke.json new file mode 100644 index 00000000000..241d2be69bd --- /dev/null +++ b/models/apis/opsworks/2013-02-18/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeStacks", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeLayers", + "input": { + "StackId": "fake_stack" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/opsworks/2013-02-18/waiters-2.json b/models/apis/opsworks/2013-02-18/waiters-2.json index 8daa084ffaf..1b9dfaad9d5 100644 --- a/models/apis/opsworks/2013-02-18/waiters-2.json +++ b/models/apis/opsworks/2013-02-18/waiters-2.json @@ -22,7 +22,7 @@ "delay": 15, "operation": "DescribeDeployments", "maxAttempts": 40, - "description": "Wait until a deployment has completed successfully", + "description": "Wait until a deployment has completed successfully.", "acceptors": [ { "expected": "successful", @@ -174,12 +174,6 @@ "state": "failure", "argument": "Instances[].Status" }, - { - "expected": "online", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, { "expected": "pending", "matcher": "pathAny", diff --git a/models/apis/organizations/2016-11-28/api-2.json b/models/apis/organizations/2016-11-28/api-2.json index 255598bd9ba..20a084a47b8 100644 --- a/models/apis/organizations/2016-11-28/api-2.json +++ b/models/apis/organizations/2016-11-28/api-2.json @@ -1513,7 +1513,8 @@ "MAX_LIMIT_EXCEEDED_FILTER", "MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS", "INVALID_FULL_NAME_TARGET", - "UNRECOGNIZED_SERVICE_PRINCIPAL" + "UNRECOGNIZED_SERVICE_PRINCIPAL", + "INVALID_ROLE_NAME" ] }, "InviteAccountToOrganizationRequest":{ @@ -2052,8 +2053,9 @@ }, "ServicePrincipal":{ "type":"string", - "max":1000, - "min":1 + "max":128, + "min":1, + "pattern":"[\\w+=,.@-]*" }, "SourceParentNotFoundException":{ "type":"structure", diff --git a/models/apis/organizations/2016-11-28/docs-2.json b/models/apis/organizations/2016-11-28/docs-2.json index 995075a769c..e3c4dbb701b 100644 --- a/models/apis/organizations/2016-11-28/docs-2.json +++ b/models/apis/organizations/2016-11-28/docs-2.json @@ -1,47 +1,47 @@ { "version": "2.0", - "service": "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.

", + "service": "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.

", "operations": { "AcceptHandshake": "

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": "

Attaches a policy to a root, an organizational unit, or an individual account. How the policy affects accounts depends on the type of policy:

  • Service control policy (SCP) - An SCP specifies what permissions can be delegated to users in affected member accounts. The scope of influence for a policy depends on what you attach the policy to:

    • If you attach an SCP to a root, it affects all accounts in the organization.

    • If you attach an SCP to an OU, it affects all accounts in that OU and in any child OUs.

    • If you attach the policy directly to an account, then it affects only that account.

    SCPs essentially are permission \"filters\". When you attach one SCP to a higher level root or OU, and you also attach a different SCP to a child OU or to an account, the child policy can further restrict only the permissions that pass through the parent filter and are available to the child. An SCP that is attached to a child cannot grant a permission that is not already granted by the parent. For example, imagine that the parent SCP allows permissions A, B, C, D, and E. The child SCP allows C, D, E, F, and G. The result is that the accounts affected by the child SCP are allowed to use only C, D, and E. They cannot use A or B because they were filtered out by the child OU. They also cannot use F and G because they were filtered out by the parent OU. They cannot be granted back by the child SCP; child SCPs can only filter the permissions they receive from the parent SCP.

    AWS Organizations attaches a default SCP named \"FullAWSAccess to every root, OU, and account. This default SCP allows all services and actions, enabling any new child OU or account to inherit the permissions of the parent root or OU. If you detach the default policy, you must replace it with a policy that specifies the permissions that you want to allow in that OU or account.

    For more information about how Organizations policies permissions work, see Using Service Control Policies in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

", + "AttachPolicy": "

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": "

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": "

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.

When you create a member account with this operation, you can choose whether to create the account with the IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable this, then only the account root user can access billing information. For information about how to disable this for an account, see Granting Access to Your Billing Information and Tools.

This operation can be called only from the organization's master account.

If you get an exception that indicates that you exceeded your account limits for the organization or that you can\"t add an account because your organization is still initializing, please contact AWS Customer Support.

", + "CreateAccount": "

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": "

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": "

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": "

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": "

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": "

Deletes the organization. You can delete an organization only by using credentials from the master account. The organization must be empty of member accounts, OUs, and policies.

", - "DeleteOrganizationalUnit": "

Deletes an organizational unit from a root or another OU. You must first remove all accounts and child OUs from the OU that you want to delete.

This operation can be called only from the organization's master account.

", - "DeletePolicy": "

Deletes the specified policy from your organization. Before you perform this operation, you must first detach the policy from all OUs, roots, and accounts.

This operation can be called only from the organization's master account.

", + "DeleteOrganization": "

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": "

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": "

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": "

Retrieves Organizations-related information about the specified account.

This operation can be called only from the organization's master account.

", "DescribeCreateAccountStatus": "

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": "

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": "

Retrieves information about the organization that the user's account belongs to.

This operation can be called from any account in the organization.

", + "DescribeOrganization": "

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": "

Retrieves information about an organizational unit (OU).

This operation can be called only from the organization's master account.

", "DescribePolicy": "

Retrieves information about a policy.

This operation can be called only from the organization's master account.

", - "DetachPolicy": "

Detaches a policy from a target root, organizational unit, or account. If the policy being detached is a service control policy (SCP), the changes to permissions for IAM users and roles in affected accounts are immediate.

Note: Every root, OU, and account must have at least one SCP attached. If you want to replace the default FullAWSAccess policy with one that limits the permissions that can be delegated, then you must attach the replacement policy before you can remove the default one. This is the authorization strategy of whitelisting. If you instead attach a second SCP and leave the FullAWSAccess SCP still attached, and specify \"Effect\": \"Deny\" in the second SCP to override the \"Effect\": \"Allow\" in the FullAWSAccess policy (or any other attached SCP), then you are using the authorization strategy of blacklisting.

This operation can be called only from the organization's master account.

", + "DetachPolicy": "

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": "

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": "

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 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.

", + "DisablePolicyType": "

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": "

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": "

Enables all features in an organization. This enables the use of organization policies that can restrict the services and actions that can be called in each account. Until you enable all features, you have access only to consolidated billing, and you can't use any of the advanced account administration features that AWS Organizations supports. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

This operation is required only for organizations that were created explicitly with only the consolidated billing features enabled, or that were migrated from a Consolidated Billing account family to Organizations. Calling this operation sends a handshake to every invited account in the organization. The feature set change can be finalized and the additional features enabled only after all administrators in the invited accounts approve the change by accepting the handshake.

After all invited member accounts accept the handshake, you finalize the feature set change by accepting the handshake that contains \"Action\": \"ENABLE_ALL_FEATURES\". This completes the change.

After you enable all features in your organization, the master account in the organization can apply policies on all member accounts. These policies can restrict what users and even administrators in those accounts can do. The master account can apply policies that prevent accounts from leaving the organization. Ensure that your account administrators are aware of this.

This operation can be called only from the organization's master account.

", - "EnablePolicyType": "

Enables a policy type in a root. After you enable a policy type in a root, you can attach policies of that type to the root, any OU, or account in that root. You can undo this by using the DisablePolicyType operation.

This operation can be called only from the organization's master account.

", - "InviteAccountToOrganization": "

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.

This operation can be called only from the organization's master account.

If you get an exception that indicates that you exceeded your account limits for the organization or that you can\"t add an account because your organization is still initializing, please contact AWS Customer Support.

", + "EnableAllFeatures": "

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": "

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": "

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": "

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": "

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": "

Lists all the accounts in the organization. To request only the accounts in a root or OU, use the ListAccountsForParent operation instead.

This operation can be called only from the organization's master account.

", - "ListAccountsForParent": "

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.

This operation can be called only from the organization's master account.

", - "ListChildren": "

Lists all of the OUs or accounts that are contained in the specified parent OU or root. This operation, along with ListParents enables you to traverse the tree structure that makes up this root.

This operation can be called only from the organization's master account.

", - "ListCreateAccountStatus": "

Lists the account creation requests that match the specified status that is currently being tracked for the organization.

This operation can be called only from the organization's master account.

", - "ListHandshakesForAccount": "

Lists the current handshakes that are associated with the account of the requesting user.

Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that they are deleted and no longer accessible.

This operation can be called from any account in the organization.

", - "ListHandshakesForOrganization": "

Lists the handshakes that are associated with the organization that the requesting user is part of. The ListHandshakesForOrganization operation returns a list of handshake structures. Each structure contains details and status about a handshake.

Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that they are deleted and no longer accessible.

This operation can be called only from the organization's master account.

", - "ListOrganizationalUnitsForParent": "

Lists the organizational units (OUs) in a parent organizational unit or root.

This operation can be called only from the organization's master account.

", - "ListParents": "

Lists the root or organizational units (OUs) that serve as the immediate parent of the specified child OU or account. This operation, along with ListChildren enables you to traverse the tree structure that makes up this root.

This operation can be called only from the organization's master account.

In the current release, a child can have only a single parent.

", - "ListPolicies": "

Retrieves the list of all policies in an organization of a specified type.

This operation can be called only from the organization's master account.

", - "ListPoliciesForTarget": "

Lists the policies that are directly attached to the specified target root, organizational unit (OU), or account. You must specify the policy type that you want included in the returned list.

This operation can be called only from the organization's master account.

", - "ListRoots": "

Lists the roots that are defined in the current organization.

This operation can be called only from the organization's master account.

", - "ListTargetsForPolicy": "

Lists all the roots, OUs, and accounts to which the specified policy is attached.

This operation can be called only from the organization's master account.

", - "MoveAccount": "

Moves an account from its current source parent root or OU to the specified destination parent root or OU.

This operation can be called only from the organization's master account.

", - "RemoveAccountFromOrganization": "

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.

  • You can remove a member account only after you enable IAM user access to billing in the member account. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

", + "ListAccounts": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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.

" }, @@ -204,7 +204,7 @@ } }, "ConstraintViolationException": { - "base": "

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 an exception that indicates that you exceeded your account limits for the organization or that you can\"t add an account because your organization is still initializing, please 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.

  • 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.

", + "base": "

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.

", "refs": { } }, @@ -519,7 +519,7 @@ } }, "FinalizingOrganizationException": { - "base": "

AWS Organizations could not finalize the creation of your organization. Try again later. If this persists, contact AWS customer support.

", + "base": "

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.

", "refs": { } }, @@ -553,7 +553,7 @@ } }, "HandshakeConstraintViolationException": { - "base": "

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 an exception that indicates that you exceeded your account limits for the organization or that you can\"t add an account because your organization is still initializing, please 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.

", + "base": "

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.

", "refs": { } }, @@ -667,7 +667,7 @@ } }, "InvalidInputException": { - "base": "

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:

  • INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a party.

  • INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid ARN for the organization.

  • INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.

  • INVALID_ENUM: You specified a value that is not valid for that parameter.

  • INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters.

  • INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value.

  • MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed.

  • MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed.

  • MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed.

  • MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed.

  • IMMUTABLE_POLICY: You specified a policy that is managed by AWS and cannot be modified.

  • INVALID_PATTERN: You provided a value that doesn't match the required pattern.

  • INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern.

  • INPUT_REQUIRED: You must include a value for all required parameters.

  • INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a previous call of the operation.

  • MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation.

  • MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root.

", + "base": "

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.

", "refs": { } }, @@ -1137,8 +1137,8 @@ "PolicyTypes": { "base": null, "refs": { - "Organization$AvailablePolicyTypes": "

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.

", - "Root$PolicyTypes": "

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.

" + "Organization$AvailablePolicyTypes": "

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.

", + "Root$PolicyTypes": "

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.

" } }, "RemoveAccountFromOrganizationRequest": { diff --git a/models/apis/pi/2018-02-27/api-2.json b/models/apis/pi/2018-02-27/api-2.json new file mode 100644 index 00000000000..8188b6ac3bf --- /dev/null +++ b/models/apis/pi/2018-02-27/api-2.json @@ -0,0 +1,253 @@ +{ + "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"} + ] + }, + "GetResourceMetrics":{ + "name":"GetResourceMetrics", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResourceMetricsRequest"}, + "output":{"shape":"GetResourceMetricsResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"InternalServiceError"}, + {"shape":"NotAuthorizedException"} + ] + } + }, + "shapes":{ + "DataPoint":{ + "type":"structure", + "required":[ + "Timestamp", + "Value" + ], + "members":{ + "Timestamp":{"shape":"ISOTimestamp"}, + "Value":{"shape":"Double"} + } + }, + "DataPointsList":{ + "type":"list", + "member":{"shape":"DataPoint"} + }, + "DescribeDimensionKeysRequest":{ + "type":"structure", + "required":[ + "ServiceType", + "Identifier", + "StartTime", + "EndTime", + "Metric", + "GroupBy" + ], + "members":{ + "ServiceType":{"shape":"ServiceType"}, + "Identifier":{"shape":"String"}, + "StartTime":{"shape":"ISOTimestamp"}, + "EndTime":{"shape":"ISOTimestamp"}, + "Metric":{"shape":"String"}, + "PeriodInSeconds":{"shape":"Integer"}, + "GroupBy":{"shape":"DimensionGroup"}, + "PartitionBy":{"shape":"DimensionGroup"}, + "Filter":{"shape":"MetricQueryFilterMap"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeDimensionKeysResponse":{ + "type":"structure", + "members":{ + "AlignedStartTime":{"shape":"ISOTimestamp"}, + "AlignedEndTime":{"shape":"ISOTimestamp"}, + "PartitionKeys":{"shape":"ResponsePartitionKeyList"}, + "Keys":{"shape":"DimensionKeyDescriptionList"}, + "NextToken":{"shape":"String"} + } + }, + "DimensionGroup":{ + "type":"structure", + "required":["Group"], + "members":{ + "Group":{"shape":"String"}, + "Dimensions":{"shape":"StringList"}, + "Limit":{"shape":"Limit"} + } + }, + "DimensionKeyDescription":{ + "type":"structure", + "members":{ + "Dimensions":{"shape":"DimensionMap"}, + "Total":{"shape":"Double"}, + "Partitions":{"shape":"MetricValuesList"} + } + }, + "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"}, + "Identifier":{"shape":"String"}, + "MetricQueries":{"shape":"MetricQueryList"}, + "StartTime":{"shape":"ISOTimestamp"}, + "EndTime":{"shape":"ISOTimestamp"}, + "PeriodInSeconds":{"shape":"Integer"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"String"} + } + }, + "GetResourceMetricsResponse":{ + "type":"structure", + "members":{ + "AlignedStartTime":{"shape":"ISOTimestamp"}, + "AlignedEndTime":{"shape":"ISOTimestamp"}, + "Identifier":{"shape":"String"}, + "MetricList":{"shape":"MetricKeyDataPointsList"}, + "NextToken":{"shape":"String"} + } + }, + "ISOTimestamp":{"type":"timestamp"}, + "Integer":{"type":"integer"}, + "InternalServiceError":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true, + "fault":true + }, + "InvalidArgumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "Limit":{ + "type":"integer", + "max":10, + "min":1 + }, + "MaxResults":{ + "type":"integer", + "max":20, + "min":0 + }, + "MetricKeyDataPoints":{ + "type":"structure", + "members":{ + "Key":{"shape":"ResponseResourceMetricKey"}, + "DataPoints":{"shape":"DataPointsList"} + } + }, + "MetricKeyDataPointsList":{ + "type":"list", + "member":{"shape":"MetricKeyDataPoints"} + }, + "MetricQuery":{ + "type":"structure", + "required":["Metric"], + "members":{ + "Metric":{"shape":"String"}, + "GroupBy":{"shape":"DimensionGroup"}, + "Filter":{"shape":"MetricQueryFilterMap"} + } + }, + "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"} + }, + "exception":true + }, + "ResponsePartitionKey":{ + "type":"structure", + "required":["Dimensions"], + "members":{ + "Dimensions":{"shape":"DimensionMap"} + } + }, + "ResponsePartitionKeyList":{ + "type":"list", + "member":{"shape":"ResponsePartitionKey"} + }, + "ResponseResourceMetricKey":{ + "type":"structure", + "required":["Metric"], + "members":{ + "Metric":{"shape":"String"}, + "Dimensions":{"shape":"DimensionMap"} + } + }, + "ServiceType":{ + "type":"string", + "enum":["RDS"] + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"}, + "max":10, + "min":1 + } + } +} diff --git a/models/apis/pi/2018-02-27/docs-2.json b/models/apis/pi/2018-02-27/docs-2.json new file mode 100644 index 00000000000..a1d3ef40520 --- /dev/null +++ b/models/apis/pi/2018-02-27/docs-2.json @@ -0,0 +1,219 @@ +{ + "version": "2.0", + "service": "

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.

", + "operations": { + "DescribeDimensionKeys": "

For a specific time period, retrieve the top N dimension keys for a metric.

", + "GetResourceMetrics": "

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": { + "base": "

A timestamp, and a single numerical value, which together represent a measurement at a particular point in time.

", + "refs": { + "DataPointsList$member": null + } + }, + "DataPointsList": { + "base": null, + "refs": { + "MetricKeyDataPoints$DataPoints": "

An array of timestamp-value pairs, representing measurements over a period of time.

" + } + }, + "DescribeDimensionKeysRequest": { + "base": null, + "refs": { + } + }, + "DescribeDimensionKeysResponse": { + "base": null, + "refs": { + } + }, + "DimensionGroup": { + "base": "

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.

", + "refs": { + "DescribeDimensionKeysRequest$GroupBy": "

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.

", + "DescribeDimensionKeysRequest$PartitionBy": "

For each dimension specified in GroupBy, specify a secondary dimension to further subdivide the partition keys in the response.

", + "MetricQuery$GroupBy": "

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.

" + } + }, + "DimensionKeyDescription": { + "base": "

An array of descriptions and aggregated values for each dimension within a dimension group.

", + "refs": { + "DimensionKeyDescriptionList$member": null + } + }, + "DimensionKeyDescriptionList": { + "base": null, + "refs": { + "DescribeDimensionKeysResponse$Keys": "

The dimension keys that were requested.

" + } + }, + "DimensionMap": { + "base": null, + "refs": { + "DimensionKeyDescription$Dimensions": "

A map of name-value pairs for the dimensions in the group.

", + "ResponsePartitionKey$Dimensions": "

A dimension map that contains the dimension(s) for this partition.

", + "ResponseResourceMetricKey$Dimensions": "

The valid dimensions for the metric.

" + } + }, + "Double": { + "base": null, + "refs": { + "DataPoint$Value": "

The actual value associated with a particular Timestamp.

", + "DimensionKeyDescription$Total": "

The aggregated metric value for the dimension(s), over the requested time range.

", + "MetricValuesList$member": null + } + }, + "GetResourceMetricsRequest": { + "base": null, + "refs": { + } + }, + "GetResourceMetricsResponse": { + "base": null, + "refs": { + } + }, + "ISOTimestamp": { + "base": null, + "refs": { + "DataPoint$Timestamp": "

The time, in epoch format, associated with a particular Value.

", + "DescribeDimensionKeysRequest$StartTime": "

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.

", + "DescribeDimensionKeysRequest$EndTime": "

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.

", + "DescribeDimensionKeysResponse$AlignedStartTime": "

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.

", + "DescribeDimensionKeysResponse$AlignedEndTime": "

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.

", + "GetResourceMetricsRequest$StartTime": "

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.

", + "GetResourceMetricsRequest$EndTime": "

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.

", + "GetResourceMetricsResponse$AlignedStartTime": "

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.

", + "GetResourceMetricsResponse$AlignedEndTime": "

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.

" + } + }, + "Integer": { + "base": null, + "refs": { + "DescribeDimensionKeysRequest$PeriodInSeconds": "

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.

", + "GetResourceMetricsRequest$PeriodInSeconds": "

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.

" + } + }, + "InternalServiceError": { + "base": "

The request failed due to an unknown error.

", + "refs": { + } + }, + "InvalidArgumentException": { + "base": "

One of the arguments provided is invalid for this request.

", + "refs": { + } + }, + "Limit": { + "base": null, + "refs": { + "DimensionGroup$Limit": "

The maximum number of items to fetch for this dimension group.

" + } + }, + "MaxResults": { + "base": null, + "refs": { + "DescribeDimensionKeysRequest$MaxResults": "

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.

", + "GetResourceMetricsRequest$MaxResults": "

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.

" + } + }, + "MetricKeyDataPoints": { + "base": "

A time-ordered series of data points, correpsonding to a dimension of a Performance Insights metric.

", + "refs": { + "MetricKeyDataPointsList$member": null + } + }, + "MetricKeyDataPointsList": { + "base": null, + "refs": { + "GetResourceMetricsResponse$MetricList": "

An array of metric results,, where each array element contains all of the data points for a particular dimension.

" + } + }, + "MetricQuery": { + "base": "

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).

", + "refs": { + "MetricQueryList$member": null + } + }, + "MetricQueryFilterMap": { + "base": null, + "refs": { + "DescribeDimensionKeysRequest$Filter": "

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.

", + "MetricQuery$Filter": "

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.

" + } + }, + "MetricQueryList": { + "base": null, + "refs": { + "GetResourceMetricsRequest$MetricQueries": "

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.

" + } + }, + "MetricValuesList": { + "base": null, + "refs": { + "DimensionKeyDescription$Partitions": "

If PartitionBy was specified, PartitionKeys contains the dimensions that were.

" + } + }, + "NotAuthorizedException": { + "base": "

The user is not authorized to perform this request.

", + "refs": { + } + }, + "ResponsePartitionKey": { + "base": "

If PartitionBy was specified in a DescribeDimensionKeys request, the dimensions are returned in an array. Each element in the array specifies one dimension.

", + "refs": { + "ResponsePartitionKeyList$member": null + } + }, + "ResponsePartitionKeyList": { + "base": null, + "refs": { + "DescribeDimensionKeysResponse$PartitionKeys": "

If PartitionBy was present in the request, PartitionKeys contains the breakdown of dimension keys by the specified partitions.

" + } + }, + "ResponseResourceMetricKey": { + "base": "

An object describing a Performance Insights metric and one or more dimensions for that metric.

", + "refs": { + "MetricKeyDataPoints$Key": "

The dimension(s) to which the data points apply.

" + } + }, + "ServiceType": { + "base": null, + "refs": { + "DescribeDimensionKeysRequest$ServiceType": "

The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is: RDS

", + "GetResourceMetricsRequest$ServiceType": "

The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is: RDS

" + } + }, + "String": { + "base": null, + "refs": { + "DescribeDimensionKeysRequest$Identifier": "

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

", + "DescribeDimensionKeysRequest$Metric": "

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.

", + "DescribeDimensionKeysRequest$NextToken": "

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$NextToken": "

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$Group": "

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

", + "DimensionMap$key": null, + "DimensionMap$value": null, + "GetResourceMetricsRequest$Identifier": "

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

", + "GetResourceMetricsRequest$NextToken": "

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$Identifier": "

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

", + "GetResourceMetricsResponse$NextToken": "

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.

", + "InternalServiceError$Message": null, + "InvalidArgumentException$Message": null, + "MetricQuery$Metric": "

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.

", + "MetricQueryFilterMap$key": null, + "MetricQueryFilterMap$value": null, + "NotAuthorizedException$Message": null, + "ResponseResourceMetricKey$Metric": "

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.

", + "StringList$member": null + } + }, + "StringList": { + "base": null, + "refs": { + "DimensionGroup$Dimensions": "

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

" + } + } + } +} diff --git a/models/apis/dynamodb/2011-12-05/examples-1.json b/models/apis/pi/2018-02-27/examples-1.json similarity index 100% rename from models/apis/dynamodb/2011-12-05/examples-1.json rename to models/apis/pi/2018-02-27/examples-1.json diff --git a/models/apis/pi/2018-02-27/paginators-1.json b/models/apis/pi/2018-02-27/paginators-1.json new file mode 100644 index 00000000000..5677bd8e4a2 --- /dev/null +++ b/models/apis/pi/2018-02-27/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/models/apis/pinpoint/2016-12-01/api-2.json b/models/apis/pinpoint/2016-12-01/api-2.json index c5e9eef4813..857020b5333 100644 --- a/models/apis/pinpoint/2016-12-01/api-2.json +++ b/models/apis/pinpoint/2016-12-01/api-2.json @@ -4,6 +4,7 @@ "endpointPrefix" : "pinpoint", "signingName" : "mobiletargeting", "serviceFullName" : "Amazon Pinpoint", + "serviceId" : "Pinpoint", "protocol" : "rest-json", "jsonVersion" : "1.1", "uid" : "pinpoint-2016-12-01", @@ -64,6 +65,33 @@ "shape" : "TooManyRequestsException" } ] }, + "CreateExportJob" : { + "name" : "CreateExportJob", + "http" : { + "method" : "POST", + "requestUri" : "/v1/apps/{application-id}/jobs/export", + "responseCode" : 202 + }, + "input" : { + "shape" : "CreateExportJobRequest" + }, + "output" : { + "shape" : "CreateExportJobResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "CreateImportJob" : { "name" : "CreateImportJob", "http" : { @@ -361,6 +389,33 @@ "shape" : "TooManyRequestsException" } ] }, + "DeleteEndpoint" : { + "name" : "DeleteEndpoint", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/apps/{application-id}/endpoints/{endpoint-id}", + "responseCode" : 202 + }, + "input" : { + "shape" : "DeleteEndpointRequest" + }, + "output" : { + "shape" : "DeleteEndpointResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "DeleteEventStream" : { "name" : "DeleteEventStream", "http" : { @@ -469,6 +524,33 @@ "shape" : "TooManyRequestsException" } ] }, + "DeleteUserEndpoints" : { + "name" : "DeleteUserEndpoints", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/apps/{application-id}/users/{user-id}", + "responseCode" : 202 + }, + "input" : { + "shape" : "DeleteUserEndpointsRequest" + }, + "output" : { + "shape" : "DeleteUserEndpointsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "GetAdmChannel" : { "name" : "GetAdmChannel", "http" : { @@ -847,6 +929,33 @@ "shape" : "TooManyRequestsException" } ] }, + "GetChannels" : { + "name" : "GetChannels", + "http" : { + "method" : "GET", + "requestUri" : "/v1/apps/{application-id}/channels", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetChannelsRequest" + }, + "output" : { + "shape" : "GetChannelsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "GetEmailChannel" : { "name" : "GetEmailChannel", "http" : { @@ -928,6 +1037,60 @@ "shape" : "TooManyRequestsException" } ] }, + "GetExportJob" : { + "name" : "GetExportJob", + "http" : { + "method" : "GET", + "requestUri" : "/v1/apps/{application-id}/jobs/export/{job-id}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetExportJobRequest" + }, + "output" : { + "shape" : "GetExportJobResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, + "GetExportJobs" : { + "name" : "GetExportJobs", + "http" : { + "method" : "GET", + "requestUri" : "/v1/apps/{application-id}/jobs/export", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetExportJobsRequest" + }, + "output" : { + "shape" : "GetExportJobsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "GetGcmChannel" : { "name" : "GetGcmChannel", "http" : { @@ -1036,6 +1199,33 @@ "shape" : "TooManyRequestsException" } ] }, + "GetSegmentExportJobs" : { + "name" : "GetSegmentExportJobs", + "http" : { + "method" : "GET", + "requestUri" : "/v1/apps/{application-id}/segments/{segment-id}/jobs/export", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetSegmentExportJobsRequest" + }, + "output" : { + "shape" : "GetSegmentExportJobsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "GetSegmentImportJobs" : { "name" : "GetSegmentImportJobs", "http" : { @@ -1171,6 +1361,60 @@ "shape" : "TooManyRequestsException" } ] }, + "GetUserEndpoints" : { + "name" : "GetUserEndpoints", + "http" : { + "method" : "GET", + "requestUri" : "/v1/apps/{application-id}/users/{user-id}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetUserEndpointsRequest" + }, + "output" : { + "shape" : "GetUserEndpointsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, + "PhoneNumberValidate" : { + "name" : "PhoneNumberValidate", + "http" : { + "method" : "POST", + "requestUri" : "/v1/phone/number/validate", + "responseCode" : 200 + }, + "input" : { + "shape" : "PhoneNumberValidateRequest" + }, + "output" : { + "shape" : "PhoneNumberValidateResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "PutEventStream" : { "name" : "PutEventStream", "http" : { @@ -1198,6 +1442,33 @@ "shape" : "TooManyRequestsException" } ] }, + "RemoveAttributes" : { + "name" : "RemoveAttributes", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/apps/{application-id}/attributes/{attribute-type}", + "responseCode" : 200 + }, + "input" : { + "shape" : "RemoveAttributesRequest" + }, + "output" : { + "shape" : "RemoveAttributesResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "SendMessages" : { "name" : "SendMessages", "http" : { @@ -1644,7 +1915,8 @@ "Enabled" : { "shape" : "__boolean" } - } + }, + "required" : [ ] }, "ADMChannelResponse" : { "type" : "structure", @@ -1679,7 +1951,8 @@ "Version" : { "shape" : "__integer" } - } + }, + "required" : [ ] }, "ADMMessage" : { "type" : "structure", @@ -1761,7 +2034,8 @@ "TokenKeyId" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "APNSChannelResponse" : { "type" : "structure", @@ -1802,7 +2076,8 @@ "Version" : { "shape" : "__integer" } - } + }, + "required" : [ ] }, "APNSMessage" : { "type" : "structure", @@ -1887,7 +2162,8 @@ "TokenKeyId" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "APNSSandboxChannelResponse" : { "type" : "structure", @@ -1928,7 +2204,8 @@ "Version" : { "shape" : "__integer" } - } + }, + "required" : [ ] }, "APNSVoipChannelRequest" : { "type" : "structure", @@ -1957,7 +2234,8 @@ "TokenKeyId" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "APNSVoipChannelResponse" : { "type" : "structure", @@ -1998,7 +2276,8 @@ "Version" : { "shape" : "__integer" } - } + }, + "required" : [ ] }, "APNSVoipSandboxChannelRequest" : { "type" : "structure", @@ -2027,7 +2306,8 @@ "TokenKeyId" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "APNSVoipSandboxChannelResponse" : { "type" : "structure", @@ -2068,7 +2348,8 @@ "Version" : { "shape" : "__integer" } - } + }, + "required" : [ ] }, "Action" : { "type" : "string", @@ -2080,7 +2361,8 @@ "Item" : { "shape" : "ListOfActivityResponse" } - } + }, + "required" : [ ] }, "ActivityResponse" : { "type" : "structure", @@ -2124,7 +2406,8 @@ "TreatmentId" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "AddressConfiguration" : { "type" : "structure", @@ -2158,7 +2441,8 @@ "Name" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "ApplicationSettingsResource" : { "type" : "structure", @@ -2166,6 +2450,9 @@ "ApplicationId" : { "shape" : "__string" }, + "CampaignHook" : { + "shape" : "CampaignHook" + }, "LastModifiedDate" : { "shape" : "__string" }, @@ -2175,7 +2462,8 @@ "QuietTime" : { "shape" : "QuietTime" } - } + }, + "required" : [ ] }, "ApplicationsResponse" : { "type" : "structure", @@ -2197,19 +2485,35 @@ "Values" : { "shape" : "ListOf__string" } - } + }, + "required" : [ ] }, "AttributeType" : { "type" : "string", "enum" : [ "INCLUSIVE", "EXCLUSIVE" ] }, - "BadRequestException" : { + "AttributesResource" : { "type" : "structure", "members" : { - "Message" : { + "ApplicationId" : { "shape" : "__string" }, - "RequestID" : { + "AttributeType" : { + "shape" : "__string" + }, + "Attributes" : { + "shape" : "ListOf__string" + } + }, + "required" : [ ] + }, + "BadRequestException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "__string" + }, + "RequestID" : { "shape" : "__string" } }, @@ -2230,7 +2534,8 @@ "SecretKey" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "BaiduChannelResponse" : { "type" : "structure", @@ -2268,7 +2573,8 @@ "Version" : { "shape" : "__integer" } - } + }, + "required" : [ ] }, "BaiduMessage" : { "type" : "structure", @@ -2306,6 +2612,9 @@ "Substitutions" : { "shape" : "MapOfListOf__string" }, + "TimeToLive" : { + "shape" : "__integer" + }, "Title" : { "shape" : "__string" }, @@ -2329,6 +2638,21 @@ "Title" : { "shape" : "__string" } + }, + "required" : [ ] + }, + "CampaignHook" : { + "type" : "structure", + "members" : { + "LambdaFunctionName" : { + "shape" : "__string" + }, + "Mode" : { + "shape" : "Mode" + }, + "WebUrl" : { + "shape" : "__string" + } } }, "CampaignLimits" : { @@ -2369,6 +2693,9 @@ "HoldoutPercent" : { "shape" : "__integer" }, + "Hook" : { + "shape" : "CampaignHook" + }, "Id" : { "shape" : "__string" }, @@ -2408,7 +2735,8 @@ "Version" : { "shape" : "__integer" } - } + }, + "required" : [ ] }, "CampaignSmsMessage" : { "type" : "structure", @@ -2434,7 +2762,7 @@ }, "CampaignStatus" : { "type" : "string", - "enum" : [ "SCHEDULED", "EXECUTING", "PENDING_NEXT_RUN", "COMPLETED", "PAUSED" ] + "enum" : [ "SCHEDULED", "EXECUTING", "PENDING_NEXT_RUN", "COMPLETED", "PAUSED", "DELETED" ] }, "CampaignsResponse" : { "type" : "structure", @@ -2445,11 +2773,53 @@ "NextToken" : { "shape" : "__string" } + }, + "required" : [ ] + }, + "ChannelResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string" + }, + "CreationDate" : { + "shape" : "__string" + }, + "Enabled" : { + "shape" : "__boolean" + }, + "HasCredential" : { + "shape" : "__boolean" + }, + "Id" : { + "shape" : "__string" + }, + "IsArchived" : { + "shape" : "__boolean" + }, + "LastModifiedBy" : { + "shape" : "__string" + }, + "LastModifiedDate" : { + "shape" : "__string" + }, + "Version" : { + "shape" : "__integer" + } } }, "ChannelType" : { "type" : "string", - "enum" : [ "GCM", "APNS", "APNS_SANDBOX", "APNS_VOIP", "APNS_VOIP_SANDBOX", "ADM", "SMS", "EMAIL", "BAIDU"] + "enum" : [ "GCM", "APNS", "APNS_SANDBOX", "APNS_VOIP", "APNS_VOIP_SANDBOX", "ADM", "SMS", "EMAIL", "BAIDU", "CUSTOM" ] + }, + "ChannelsResponse" : { + "type" : "structure", + "members" : { + "Channels" : { + "shape" : "MapOfChannelResponse" + } + }, + "required" : [ ] }, "CreateAppRequest" : { "type" : "structure", @@ -2477,7 +2847,8 @@ "Name" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "CreateCampaignRequest" : { "type" : "structure", @@ -2504,6 +2875,31 @@ "required" : [ "CampaignResponse" ], "payload" : "CampaignResponse" }, + "CreateExportJobRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + }, + "ExportJobRequest" : { + "shape" : "ExportJobRequest" + } + }, + "required" : [ "ApplicationId", "ExportJobRequest" ], + "payload" : "ExportJobRequest" + }, + "CreateExportJobResponse" : { + "type" : "structure", + "members" : { + "ExportJobResponse" : { + "shape" : "ExportJobResponse" + } + }, + "required" : [ "ExportJobResponse" ], + "payload" : "ExportJobResponse" + }, "CreateImportJobRequest" : { "type" : "structure", "members" : { @@ -2785,6 +3181,32 @@ "required" : [ "EmailChannelResponse" ], "payload" : "EmailChannelResponse" }, + "DeleteEndpointRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + }, + "EndpointId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "endpoint-id" + } + }, + "required" : [ "ApplicationId", "EndpointId" ] + }, + "DeleteEndpointResponse" : { + "type" : "structure", + "members" : { + "EndpointResponse" : { + "shape" : "EndpointResponse" + } + }, + "required" : [ "EndpointResponse" ], + "payload" : "EndpointResponse" + }, "DeleteEventStreamRequest" : { "type" : "structure", "members" : { @@ -2874,6 +3296,32 @@ "required" : [ "SMSChannelResponse" ], "payload" : "SMSChannelResponse" }, + "DeleteUserEndpointsRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + }, + "UserId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "user-id" + } + }, + "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" ] @@ -2906,7 +3354,8 @@ "SMSMessage" : { "shape" : "SMSMessage" } - } + }, + "required" : [ ] }, "Duration" : { "type" : "string", @@ -2927,7 +3376,8 @@ "RoleArn" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "EmailChannelResponse" : { "type" : "structure", @@ -2962,6 +3412,9 @@ "LastModifiedDate" : { "shape" : "__string" }, + "MessagesPerSecond" : { + "shape" : "__integer" + }, "Platform" : { "shape" : "__string" }, @@ -2971,7 +3424,8 @@ "Version" : { "shape" : "__integer" } - } + }, + "required" : [ ] }, "EndpointBatchItem" : { "type" : "structure", @@ -3020,7 +3474,8 @@ "Item" : { "shape" : "ListOfEndpointBatchItem" } - } + }, + "required" : [ ] }, "EndpointDemographic" : { "type" : "structure", @@ -3083,6 +3538,9 @@ "DeliveryStatus" : { "shape" : "DeliveryStatus" }, + "MessageId" : { + "shape" : "__string" + }, "StatusCode" : { "shape" : "__integer" }, @@ -3092,7 +3550,8 @@ "UpdatedToken" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "EndpointRequest" : { "type" : "structure", @@ -3213,6 +3672,15 @@ } } }, + "EndpointsResponse" : { + "type" : "structure", + "members" : { + "Item" : { + "shape" : "ListOfEndpointResponse" + } + }, + "required" : [ ] + }, "EventStream" : { "type" : "structure", "members" : { @@ -3234,7 +3702,101 @@ "RoleArn" : { "shape" : "__string" } - } + }, + "required" : [ ] + }, + "ExportJobRequest" : { + "type" : "structure", + "members" : { + "RoleArn" : { + "shape" : "__string" + }, + "S3UrlPrefix" : { + "shape" : "__string" + }, + "SegmentId" : { + "shape" : "__string" + }, + "SegmentVersion" : { + "shape" : "__integer" + } + }, + "required" : [ ] + }, + "ExportJobResource" : { + "type" : "structure", + "members" : { + "RoleArn" : { + "shape" : "__string" + }, + "S3UrlPrefix" : { + "shape" : "__string" + }, + "SegmentId" : { + "shape" : "__string" + }, + "SegmentVersion" : { + "shape" : "__integer" + } + }, + "required" : [ ] + }, + "ExportJobResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string" + }, + "CompletedPieces" : { + "shape" : "__integer" + }, + "CompletionDate" : { + "shape" : "__string" + }, + "CreationDate" : { + "shape" : "__string" + }, + "Definition" : { + "shape" : "ExportJobResource" + }, + "FailedPieces" : { + "shape" : "__integer" + }, + "Failures" : { + "shape" : "ListOf__string" + }, + "Id" : { + "shape" : "__string" + }, + "JobStatus" : { + "shape" : "JobStatus" + }, + "TotalFailures" : { + "shape" : "__integer" + }, + "TotalPieces" : { + "shape" : "__integer" + }, + "TotalProcessed" : { + "shape" : "__integer" + }, + "Type" : { + "shape" : "__string" + } + }, + "required" : [ ] + }, + "ExportJobsResponse" : { + "type" : "structure", + "members" : { + "Item" : { + "shape" : "ListOfExportJobResponse" + }, + "NextToken" : { + "shape" : "__string" + } + }, + "required" : [ ] }, "ForbiddenException" : { "type" : "structure", @@ -3268,7 +3830,8 @@ "Enabled" : { "shape" : "__boolean" } - } + }, + "required" : [ ] }, "GCMChannelResponse" : { "type" : "structure", @@ -3306,7 +3869,8 @@ "Version" : { "shape" : "__integer" } - } + }, + "required" : [ ] }, "GCMMessage" : { "type" : "structure", @@ -3364,6 +3928,30 @@ } } }, + "GPSCoordinates" : { + "type" : "structure", + "members" : { + "Latitude" : { + "shape" : "__double" + }, + "Longitude" : { + "shape" : "__double" + } + }, + "required" : [ ] + }, + "GPSPointDimension" : { + "type" : "structure", + "members" : { + "Coordinates" : { + "shape" : "GPSCoordinates" + }, + "RangeInKilometers" : { + "shape" : "__double" + } + }, + "required" : [ ] + }, "GetAdmChannelRequest" : { "type" : "structure", "members" : { @@ -3717,7 +4305,7 @@ "required" : [ "CampaignsResponse" ], "payload" : "CampaignsResponse" }, - "GetEmailChannelRequest" : { + "GetChannelsRequest" : { "type" : "structure", "members" : { "ApplicationId" : { @@ -3728,7 +4316,28 @@ }, "required" : [ "ApplicationId" ] }, - "GetEmailChannelResponse" : { + "GetChannelsResponse" : { + "type" : "structure", + "members" : { + "ChannelsResponse" : { + "shape" : "ChannelsResponse" + } + }, + "required" : [ "ChannelsResponse" ], + "payload" : "ChannelsResponse" + }, + "GetEmailChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId" ] + }, + "GetEmailChannelResponse" : { "type" : "structure", "members" : { "EmailChannelResponse" : { @@ -3785,6 +4394,63 @@ "required" : [ "EventStream" ], "payload" : "EventStream" }, + "GetExportJobRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + }, + "JobId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "job-id" + } + }, + "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" + }, + "PageSize" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "page-size" + }, + "Token" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "token" + } + }, + "required" : [ "ApplicationId" ] + }, + "GetExportJobsResponse" : { + "type" : "structure", + "members" : { + "ExportJobsResponse" : { + "shape" : "ExportJobsResponse" + } + }, + "required" : [ "ExportJobsResponse" ], + "payload" : "ExportJobsResponse" + }, "GetGcmChannelRequest" : { "type" : "structure", "members" : { @@ -3863,6 +4529,42 @@ "required" : [ "ImportJobsResponse" ], "payload" : "ImportJobsResponse" }, + "GetSegmentExportJobsRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + }, + "PageSize" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "page-size" + }, + "SegmentId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "segment-id" + }, + "Token" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "token" + } + }, + "required" : [ "SegmentId", "ApplicationId" ] + }, + "GetSegmentExportJobsResponse" : { + "type" : "structure", + "members" : { + "ExportJobsResponse" : { + "shape" : "ExportJobsResponse" + } + }, + "required" : [ "ExportJobsResponse" ], + "payload" : "ExportJobsResponse" + }, "GetSegmentImportJobsRequest" : { "type" : "structure", "members" : { @@ -4044,6 +4746,32 @@ "required" : [ "SMSChannelResponse" ], "payload" : "SMSChannelResponse" }, + "GetUserEndpointsRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + }, + "UserId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "user-id" + } + }, + "required" : [ "ApplicationId", "UserId" ] + }, + "GetUserEndpointsResponse" : { + "type" : "structure", + "members" : { + "EndpointsResponse" : { + "shape" : "EndpointsResponse" + } + }, + "required" : [ "EndpointsResponse" ], + "payload" : "EndpointsResponse" + }, "ImportJobRequest" : { "type" : "structure", "members" : { @@ -4071,7 +4799,8 @@ "SegmentName" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "ImportJobResource" : { "type" : "structure", @@ -4100,7 +4829,8 @@ "SegmentName" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "ImportJobResponse" : { "type" : "structure", @@ -4144,7 +4874,8 @@ "Type" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "ImportJobsResponse" : { "type" : "structure", @@ -4155,7 +4886,12 @@ "NextToken" : { "shape" : "__string" } - } + }, + "required" : [ ] + }, + "Include" : { + "type" : "string", + "enum" : [ "ALL", "ANY", "NONE" ] }, "InternalServerErrorException" : { "type" : "structure", @@ -4176,150 +4912,6 @@ "type" : "string", "enum" : [ "CREATED", "INITIALIZING", "PROCESSING", "COMPLETING", "COMPLETED", "FAILING", "FAILED" ] }, - "ListOfActivityResponse" : { - "type" : "list", - "member" : { - "shape" : "ActivityResponse" - } - }, - "ListOfApplicationResponse" : { - "type" : "list", - "member" : { - "shape" : "ApplicationResponse" - } - }, - "ListOfCampaignResponse" : { - "type" : "list", - "member" : { - "shape" : "CampaignResponse" - } - }, - "ListOfEndpointBatchItem" : { - "type" : "list", - "member" : { - "shape" : "EndpointBatchItem" - } - }, - "ListOfImportJobResponse" : { - "type" : "list", - "member" : { - "shape" : "ImportJobResponse" - } - }, - "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" - } - }, - "MapOfAddressConfiguration" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "AddressConfiguration" - } - }, - "MapOfAttributeDimension" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "AttributeDimension" - } - }, - "MapOfEndpointMessageResult" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "EndpointMessageResult" - } - }, - "MapOfEndpointSendConfiguration" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "EndpointSendConfiguration" - } - }, - "MapOfListOf__string" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "ListOf__string" - } - }, - "MapOfMapOfEndpointMessageResult" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "MapOfEndpointMessageResult" - } - }, - "MapOfMessageResult" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "MessageResult" - } - }, - "MapOf__double" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "__double" - } - }, - "MapOf__integer" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "__integer" - } - }, - "MapOf__string" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "__string" - } - }, "Message" : { "type" : "structure", "members" : { @@ -4350,13 +4942,17 @@ "SilentPush" : { "shape" : "__boolean" }, + "TimeToLive" : { + "shape" : "__integer" + }, "Title" : { "shape" : "__string" }, "Url" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "MessageBody" : { "type" : "structure", @@ -4410,7 +5006,8 @@ "MessageConfiguration" : { "shape" : "DirectMessageConfiguration" } - } + }, + "required" : [ ] }, "MessageResponse" : { "type" : "structure", @@ -4427,7 +5024,8 @@ "Result" : { "shape" : "MapOfMessageResult" } - } + }, + "required" : [ ] }, "MessageResult" : { "type" : "structure", @@ -4435,6 +5033,9 @@ "DeliveryStatus" : { "shape" : "DeliveryStatus" }, + "MessageId" : { + "shape" : "__string" + }, "StatusCode" : { "shape" : "__integer" }, @@ -4444,7 +5045,8 @@ "UpdatedToken" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "MessageType" : { "type" : "string", @@ -4465,6 +5067,21 @@ "httpStatusCode" : 405 } }, + "MetricDimension" : { + "type" : "structure", + "members" : { + "ComparisonOperator" : { + "shape" : "__string" + }, + "Value" : { + "shape" : "__double" + } + } + }, + "Mode" : { + "type" : "string", + "enum" : [ "DELIVERY", "FILTER" ] + }, "NotFoundException" : { "type" : "structure", "members" : { @@ -4480,6 +5097,84 @@ "httpStatusCode" : 404 } }, + "NumberValidateRequest" : { + "type" : "structure", + "members" : { + "IsoCountryCode" : { + "shape" : "__string" + }, + "PhoneNumber" : { + "shape" : "__string" + } + } + }, + "NumberValidateResponse" : { + "type" : "structure", + "members" : { + "Carrier" : { + "shape" : "__string" + }, + "City" : { + "shape" : "__string" + }, + "CleansedPhoneNumberE164" : { + "shape" : "__string" + }, + "CleansedPhoneNumberNational" : { + "shape" : "__string" + }, + "Country" : { + "shape" : "__string" + }, + "CountryCodeIso2" : { + "shape" : "__string" + }, + "CountryCodeNumeric" : { + "shape" : "__string" + }, + "County" : { + "shape" : "__string" + }, + "OriginalCountryCodeIso2" : { + "shape" : "__string" + }, + "OriginalPhoneNumber" : { + "shape" : "__string" + }, + "PhoneType" : { + "shape" : "__string" + }, + "PhoneTypeCode" : { + "shape" : "__integer" + }, + "Timezone" : { + "shape" : "__string" + }, + "ZipCode" : { + "shape" : "__string" + } + } + }, + "PhoneNumberValidateRequest" : { + "type" : "structure", + "members" : { + "NumberValidateRequest" : { + "shape" : "NumberValidateRequest" + } + }, + "required" : [ "NumberValidateRequest" ], + "payload" : "NumberValidateRequest" + }, + "PhoneNumberValidateResponse" : { + "type" : "structure", + "members" : { + "NumberValidateResponse" : { + "shape" : "NumberValidateResponse" + } + }, + "required" : [ "NumberValidateResponse" ], + "payload" : "NumberValidateResponse" + }, "PutEventStreamRequest" : { "type" : "structure", "members" : { @@ -4525,12 +5220,43 @@ "RecencyType" : { "shape" : "RecencyType" } - } + }, + "required" : [ ] }, "RecencyType" : { "type" : "string", "enum" : [ "ACTIVE", "INACTIVE" ] }, + "RemoveAttributesRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + }, + "AttributeType" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "attribute-type" + }, + "UpdateAttributesRequest" : { + "shape" : "UpdateAttributesRequest" + } + }, + "required" : [ "AttributeType", "ApplicationId", "UpdateAttributesRequest" ], + "payload" : "UpdateAttributesRequest" + }, + "RemoveAttributesResponse" : { + "type" : "structure", + "members" : { + "AttributesResource" : { + "shape" : "AttributesResource" + } + }, + "required" : [ "AttributesResource" ], + "payload" : "AttributesResource" + }, "SMSChannelRequest" : { "type" : "structure", "members" : { @@ -4543,7 +5269,8 @@ "ShortCode" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "SMSChannelResponse" : { "type" : "structure", @@ -4575,16 +5302,23 @@ "Platform" : { "shape" : "__string" }, + "PromotionalMessagesPerSecond" : { + "shape" : "__integer" + }, "SenderId" : { "shape" : "__string" }, "ShortCode" : { "shape" : "__string" }, + "TransactionalMessagesPerSecond" : { + "shape" : "__integer" + }, "Version" : { "shape" : "__integer" } - } + }, + "required" : [ ] }, "SMSMessage" : { "type" : "structure", @@ -4592,9 +5326,15 @@ "Body" : { "shape" : "__string" }, + "Keyword" : { + "shape" : "__string" + }, "MessageType" : { "shape" : "MessageType" }, + "OriginationNumber" : { + "shape" : "__string" + }, "SenderId" : { "shape" : "__string" }, @@ -4624,7 +5364,8 @@ "Timezone" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "SegmentBehaviors" : { "type" : "structure", @@ -4672,11 +5413,44 @@ "Location" : { "shape" : "SegmentLocation" }, + "Metrics" : { + "shape" : "MapOfMetricDimension" + }, "UserAttributes" : { "shape" : "MapOfAttributeDimension" } } }, + "SegmentGroup" : { + "type" : "structure", + "members" : { + "Dimensions" : { + "shape" : "ListOfSegmentDimensions" + }, + "SourceSegments" : { + "shape" : "ListOfSegmentReference" + }, + "SourceType" : { + "shape" : "SourceType" + }, + "Type" : { + "shape" : "Type" + } + }, + "required" : [ ] + }, + "SegmentGroupList" : { + "type" : "structure", + "members" : { + "Groups" : { + "shape" : "ListOfSegmentGroup" + }, + "Include" : { + "shape" : "Include" + } + }, + "required" : [ ] + }, "SegmentImportResource" : { "type" : "structure", "members" : { @@ -4698,13 +5472,28 @@ "Size" : { "shape" : "__integer" } - } + }, + "required" : [ ] }, "SegmentLocation" : { "type" : "structure", "members" : { "Country" : { "shape" : "SetDimension" + }, + "GPSPoint" : { + "shape" : "GPSPointDimension" + } + } + }, + "SegmentReference" : { + "type" : "structure", + "members" : { + "Id" : { + "shape" : "__string" + }, + "Version" : { + "shape" : "__integer" } } }, @@ -4732,13 +5521,17 @@ "Name" : { "shape" : "__string" }, + "SegmentGroups" : { + "shape" : "SegmentGroupList" + }, "SegmentType" : { "shape" : "SegmentType" }, "Version" : { "shape" : "__integer" } - } + }, + "required" : [ ] }, "SegmentType" : { "type" : "string", @@ -4753,7 +5546,8 @@ "NextToken" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "SendMessagesRequest" : { "type" : "structure", @@ -4792,7 +5586,8 @@ "Users" : { "shape" : "MapOfEndpointSendConfiguration" } - } + }, + "required" : [ ] }, "SendUsersMessageResponse" : { "type" : "structure", @@ -4806,7 +5601,8 @@ "Result" : { "shape" : "MapOfMapOfEndpointMessageResult" } - } + }, + "required" : [ ] }, "SendUsersMessagesRequest" : { "type" : "structure", @@ -4842,7 +5638,12 @@ "Values" : { "shape" : "ListOf__string" } - } + }, + "required" : [ ] + }, + "SourceType" : { + "type" : "string", + "enum" : [ "ALL", "ANY" ] }, "TooManyRequestsException" : { "type" : "structure", @@ -4883,7 +5684,12 @@ "TreatmentName" : { "shape" : "__string" } - } + }, + "required" : [ ] + }, + "Type" : { + "type" : "string", + "enum" : [ "ALL", "ANY", "NONE" ] }, "UpdateAdmChannelRequest" : { "type" : "structure", @@ -5035,6 +5841,14 @@ "required" : [ "ApplicationSettingsResource" ], "payload" : "ApplicationSettingsResource" }, + "UpdateAttributesRequest" : { + "type" : "structure", + "members" : { + "Blacklist" : { + "shape" : "ListOf__string" + } + } + }, "UpdateBaiduChannelRequest" : { "type" : "structure", "members" : { @@ -5253,6 +6067,12 @@ "WriteApplicationSettingsRequest" : { "type" : "structure", "members" : { + "CampaignHook" : { + "shape" : "CampaignHook" + }, + "CloudWatchMetricsEnabled" : { + "shape" : "__boolean" + }, "Limits" : { "shape" : "CampaignLimits" }, @@ -5273,6 +6093,9 @@ "HoldoutPercent" : { "shape" : "__integer" }, + "Hook" : { + "shape" : "CampaignHook" + }, "IsPaused" : { "shape" : "__boolean" }, @@ -5311,7 +6134,8 @@ "RoleArn" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "WriteSegmentRequest" : { "type" : "structure", @@ -5321,8 +6145,12 @@ }, "Name" : { "shape" : "__string" + }, + "SegmentGroups" : { + "shape" : "SegmentGroupList" } - } + }, + "required" : [ ] }, "WriteTreatmentResource" : { "type" : "structure", @@ -5342,7 +6170,8 @@ "TreatmentName" : { "shape" : "__string" } - } + }, + "required" : [ ] }, "__boolean" : { "type" : "boolean" @@ -5353,11 +6182,211 @@ "__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" + } + }, + "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" }, - "__timestamp" : { - "type" : "timestamp" + "__timestampIso8601" : { + "type" : "timestamp", + "timestampFormat" : "iso8601" + }, + "__timestampUnix" : { + "type" : "timestamp", + "timestampFormat" : "unixTimestamp" } } -} +} \ No newline at end of file diff --git a/models/apis/pinpoint/2016-12-01/docs-2.json b/models/apis/pinpoint/2016-12-01/docs-2.json index 9deb2249648..903070b9aab 100644 --- a/models/apis/pinpoint/2016-12-01/docs-2.json +++ b/models/apis/pinpoint/2016-12-01/docs-2.json @@ -4,26 +4,29 @@ "operations" : { "CreateApp" : "Creates or updates an app.", "CreateCampaign" : "Creates or updates a campaign.", + "CreateExportJob" : "Creates an export job.", "CreateImportJob" : "Creates or updates an import job.", "CreateSegment" : "Used to create or update a segment.", - "DeleteAdmChannel" : "Delete an ADM channel", + "DeleteAdmChannel" : "Delete an ADM channel.", "DeleteApnsChannel" : "Deletes the APNs channel for an app.", - "DeleteApnsSandboxChannel" : "Delete an APNS sandbox channel", - "DeleteApnsVoipChannel" : "Delete an APNS VOIP channel", - "DeleteApnsVoipSandboxChannel" : "Delete an APNS VOIP sandbox channel", + "DeleteApnsSandboxChannel" : "Delete an APNS sandbox channel.", + "DeleteApnsVoipChannel" : "Delete an APNS VoIP channel", + "DeleteApnsVoipSandboxChannel" : "Delete an APNS VoIP sandbox channel", "DeleteApp" : "Deletes an app.", "DeleteBaiduChannel" : "Delete a BAIDU GCM channel", "DeleteCampaign" : "Deletes a campaign.", - "DeleteEmailChannel" : "Delete an email channel", + "DeleteEmailChannel" : "Delete an email channel.", + "DeleteEndpoint" : "Deletes an endpoint.", "DeleteEventStream" : "Deletes the event stream for an app.", "DeleteGcmChannel" : "Deletes the GCM channel for an app.", "DeleteSegment" : "Deletes a segment.", - "DeleteSmsChannel" : "Delete an SMS channel", - "GetAdmChannel" : "Get an ADM channel", + "DeleteSmsChannel" : "Delete an SMS channel.", + "DeleteUserEndpoints" : "Deletes endpoints associated with an user id.", + "GetAdmChannel" : "Get an ADM channel.", "GetApnsChannel" : "Returns information about the APNs channel for an app.", - "GetApnsSandboxChannel" : "Get an APNS sandbox channel", - "GetApnsVoipChannel" : "Get an APNS Voip channel", - "GetApnsVoipSandboxChannel" : "Get an APNS VoipSandbox channel", + "GetApnsSandboxChannel" : "Get an APNS sandbox channel.", + "GetApnsVoipChannel" : "Get an APNS VoIP channel", + "GetApnsVoipSandboxChannel" : "Get an APNS VoIPSandbox channel", "GetApp" : "Returns information about an app.", "GetApplicationSettings" : "Used to request the settings for an app.", "GetApps" : "Returns information about your apps.", @@ -33,35 +36,42 @@ "GetCampaignVersion" : "Returns information about a specific version of a campaign.", "GetCampaignVersions" : "Returns information about your campaign versions.", "GetCampaigns" : "Returns information about your campaigns.", - "GetEmailChannel" : "Get an email channel", + "GetChannels" : "Get all channels.", + "GetEmailChannel" : "Get an email channel.", "GetEndpoint" : "Returns information about an endpoint.", "GetEventStream" : "Returns the event stream for an app.", + "GetExportJob" : "Returns information about an export job.", + "GetExportJobs" : "Returns information about your export jobs.", "GetGcmChannel" : "Returns information about the GCM channel for an app.", "GetImportJob" : "Returns information about an import job.", "GetImportJobs" : "Returns information about your import jobs.", "GetSegment" : "Returns information about a segment.", + "GetSegmentExportJobs" : "Returns a list of export jobs for a specific segment.", "GetSegmentImportJobs" : "Returns a list of import jobs for a specific segment.", "GetSegmentVersion" : "Returns information about a segment version.", "GetSegmentVersions" : "Returns information about your segment versions.", "GetSegments" : "Used to get information about your segments.", - "GetSmsChannel" : "Get an SMS channel", + "GetSmsChannel" : "Get an SMS channel.", + "GetUserEndpoints" : "Returns information about the endpoints associated with an user id.", + "PhoneNumberValidate" : "Returns information about the specified phone number.", "PutEventStream" : "Use to create or update the event stream for an app.", - "SendMessages" : "Send a batch of messages", - "SendUsersMessages" : "Send a batch of messages to users", - "UpdateAdmChannel" : "Update an ADM channel", + "RemoveAttributes" : "Used to remove the attributes for an app", + "SendMessages" : "Use this resource to send a direct message, which is a one time message that you send to a limited audience without creating a campaign. \n\nYou can send the message to up to 100 recipients. You cannot use the message to engage a segment. When you send the message, Amazon Pinpoint delivers it immediately, and you cannot schedule the delivery. To engage a user segment, and to schedule the message delivery, create a campaign instead of sending a direct message.\n\nYou can send a direct message as a push notification to your mobile app or as an SMS message to SMS-enabled devices.", + "SendUsersMessages" : "Use this resource to message a list of users. Amazon Pinpoint sends the message to all of the endpoints that are associated with each user.\n\nA user represents an individual who is assigned a unique user ID, and this ID is assigned to one or more endpoints. For example, if an individual uses your app on multiple devices, your app could assign that person's user ID to the endpoint for each device.\n\nWith the users-messages resource, you specify the message recipients as user IDs. For each user ID, Amazon Pinpoint delivers the message to all of the user's endpoints. Within the body of your request, you can specify a default message, and you can tailor your message for different channels, including those for mobile push and SMS.\n\nWith this resource, you send a direct message, which is a one time message that you send to a limited audience without creating a campaign. You can send the message to up to 100 users per request. You cannot use the message to engage a segment. When you send the message, Amazon Pinpoint delivers it immediately, and you cannot schedule the delivery. To engage a user segment, and to schedule the message delivery, create a campaign instead of using the users-messages resource.", + "UpdateAdmChannel" : "Update an ADM channel.", "UpdateApnsChannel" : "Use to update the APNs channel for an app.", - "UpdateApnsSandboxChannel" : "Update an APNS sandbox channel", - "UpdateApnsVoipChannel" : "Update an APNS VOIP channel", - "UpdateApnsVoipSandboxChannel" : "Update an APNS VOIP sandbox channel", + "UpdateApnsSandboxChannel" : "Update an APNS sandbox channel.", + "UpdateApnsVoipChannel" : "Update an APNS VoIP channel", + "UpdateApnsVoipSandboxChannel" : "Update an APNS VoIP sandbox channel", "UpdateApplicationSettings" : "Used to update the settings for an app.", "UpdateBaiduChannel" : "Update a BAIDU GCM channel", "UpdateCampaign" : "Use to update a campaign.", - "UpdateEmailChannel" : "Update an email channel", - "UpdateEndpoint" : "Use to update an endpoint.", + "UpdateEmailChannel" : "Update an email channel.", + "UpdateEndpoint" : "Creates or updates an endpoint.", "UpdateEndpointsBatch" : "Use to update a batch of endpoints.", "UpdateGcmChannel" : "Use to update the GCM channel for an app.", "UpdateSegment" : "Use to update a segment.", - "UpdateSmsChannel" : "Update an SMS channel" + "UpdateSmsChannel" : "Update an SMS channel." }, "shapes" : { "ADMChannelRequest" : { @@ -101,19 +111,19 @@ "refs" : { } }, "APNSVoipChannelRequest" : { - "base" : "Apple VOIP Push Notification Service channel definition.", + "base" : "Apple VoIP Push Notification Service channel definition.", "refs" : { } }, "APNSVoipChannelResponse" : { - "base" : "Apple VOIP Push Notification Service channel definition.", + "base" : "Apple VoIP Push Notification Service channel definition.", "refs" : { } }, "APNSVoipSandboxChannelRequest" : { - "base" : "Apple VOIP Developer Push Notification Service channel definition.", + "base" : "Apple VoIP Developer Push Notification Service channel definition.", "refs" : { } }, "APNSVoipSandboxChannelResponse" : { - "base" : "Apple VOIP Developer Push Notification Service channel definition.", + "base" : "Apple VoIP Developer Push Notification Service channel definition.", "refs" : { } }, "Action" : { @@ -134,19 +144,19 @@ "ActivityResponse" : { "base" : "Activity definition", "refs" : { - "ActivitiesResponse$Item" : "List of campaign activities" + "ListOfActivityResponse$member" : null } }, "AddressConfiguration" : { "base" : "Address configuration.", "refs" : { - "MessageRequest$Addresses" : "A map of destination addresses, with the address as the key(Email address, phone number or push token) and the Address Configuration as the value." + "MapOfAddressConfiguration$member" : null } }, "ApplicationResponse" : { "base" : "Application Response.", "refs" : { - "ApplicationsResponse$Item" : "List of applications returned in this page." + "ListOfApplicationResponse$member" : null } }, "ApplicationSettingsResource" : { @@ -160,8 +170,7 @@ "AttributeDimension" : { "base" : "Custom attibute dimension", "refs" : { - "SegmentDimensions$Attributes" : "Custom segment attributes.", - "SegmentDimensions$UserAttributes" : "Custom segment user attributes." + "MapOfAttributeDimension$member" : null } }, "AttributeType" : { @@ -170,8 +179,12 @@ "AttributeDimension$AttributeType" : "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." } }, + "AttributesResource" : { + "base" : "Attributes.", + "refs" : { } + }, "BadRequestException" : { - "base" : null, + "base" : "Simple message object.", "refs" : { } }, "BaiduChannelRequest" : { @@ -194,6 +207,15 @@ "MessageConfiguration$EmailMessage" : "The email message configuration." } }, + "CampaignHook" : { + "base" : "Campaign hook information.", + "refs" : { + "ApplicationSettingsResource$CampaignHook" : "Default campaign hook.", + "CampaignResponse$Hook" : "Campaign hook information.", + "WriteApplicationSettingsRequest$CampaignHook" : "Default campaign hook information.", + "WriteCampaignRequest$Hook" : "Campaign hook information." + } + }, "CampaignLimits" : { "base" : "Campaign Limits are used to limit the number of messages that can be sent to a user.", "refs" : { @@ -206,7 +228,7 @@ "CampaignResponse" : { "base" : "Campaign definition", "refs" : { - "CampaignsResponse$Item" : "A list of campaigns." + "ListOfCampaignResponse$member" : null } }, "CampaignSmsMessage" : { @@ -233,15 +255,25 @@ "base" : "List of available campaigns.", "refs" : { } }, + "ChannelResponse" : { + "base" : "Base definition for channel response.", + "refs" : { + "MapOfChannelResponse$member" : null + } + }, "ChannelType" : { "base" : null, "refs" : { - "AddressConfiguration$ChannelType" : "The channel type.\n\nValid values: GCM | APNS | SMS | EMAIL", - "EndpointBatchItem$ChannelType" : "The channel type.\n\nValid values: GCM | APNS | SMS | EMAIL", - "EndpointRequest$ChannelType" : "The channel type.\n\nValid values: GCM | APNS | SMS | EMAIL", - "EndpointResponse$ChannelType" : "The channel type.\n\nValid values: GCM | APNS | SMS | EMAIL" + "AddressConfiguration$ChannelType" : "The channel type.\n\nValid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU", + "EndpointBatchItem$ChannelType" : "The channel type.\n\nValid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU", + "EndpointRequest$ChannelType" : "The channel type.\n\nValid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU", + "EndpointResponse$ChannelType" : "The channel type.\n\nValid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU" } }, + "ChannelsResponse" : { + "base" : "Get channels definition", + "refs" : { } + }, "CreateApplicationRequest" : { "base" : "Application Request.", "refs" : { } @@ -272,10 +304,10 @@ } }, "DirectMessageConfiguration" : { - "base" : "The message configuration.", + "base" : "Message definitions for the default message and any messages that are tailored for specific channels.", "refs" : { "MessageRequest$MessageConfiguration" : "Message configuration.", - "SendUsersMessageRequest$MessageConfiguration" : "Message configuration." + "SendUsersMessageRequest$MessageConfiguration" : "Message definitions for the default message and any messages that are tailored for specific channels." } }, "Duration" : { @@ -295,7 +327,7 @@ "EndpointBatchItem" : { "base" : "Endpoint update request", "refs" : { - "EndpointBatchRequest$Item" : "List of items to update. Maximum 100 items" + "ListOfEndpointBatchItem$member" : null } }, "EndpointBatchRequest" : { @@ -321,8 +353,7 @@ "EndpointMessageResult" : { "base" : "The result from sending a message to an endpoint.", "refs" : { - "MessageResponse$EndpointResult" : "A map containing a multi part response for each address, with the endpointId as the key and the result as the value.", - "SendUsersMessageResponse$Result" : "A map containing of UserId to Map of EndpointId to Endpoint Message Result." + "MapOfEndpointMessageResult$member" : null } }, "EndpointRequest" : { @@ -331,13 +362,14 @@ }, "EndpointResponse" : { "base" : "Endpoint response", - "refs" : { } + "refs" : { + "ListOfEndpointResponse$member" : null + } }, "EndpointSendConfiguration" : { "base" : "Endpoint send configuration.", "refs" : { - "MessageRequest$Endpoints" : "A map of destination addresses, with the address as the key(Email address, phone number or push token) and the Address Configuration as the value.", - "SendUsersMessageRequest$Users" : "A map of destination endpoints, with the EndpointId as the key Endpoint Message Configuration as the value." + "MapOfEndpointSendConfiguration$member" : null } }, "EndpointUser" : { @@ -348,12 +380,36 @@ "EndpointResponse$User" : "Custom user-specific attributes that your app reports to Amazon Pinpoint." } }, + "EndpointsResponse" : { + "base" : "List of endpoints", + "refs" : { } + }, "EventStream" : { "base" : "Model for an event publishing subscription export.", "refs" : { } }, + "ExportJobRequest" : { + "base" : "Export job request.", + "refs" : { } + }, + "ExportJobResource" : { + "base" : "Export job resource.", + "refs" : { + "ExportJobResponse$Definition" : "The export job settings." + } + }, + "ExportJobResponse" : { + "base" : "Export job response.", + "refs" : { + "ListOfExportJobResponse$member" : null + } + }, + "ExportJobsResponse" : { + "base" : "Export job list.", + "refs" : { } + }, "ForbiddenException" : { - "base" : null, + "base" : "Simple message object.", "refs" : { } }, "Format" : { @@ -384,114 +440,57 @@ "DirectMessageConfiguration$GCMMessage" : "The message to GCM channels. Overrides the default push notification message." } }, + "GPSCoordinates" : { + "base" : "GPS coordinates", + "refs" : { + "GPSPointDimension$Coordinates" : "Coordinate to measure distance from." + } + }, + "GPSPointDimension" : { + "base" : "GPS point location dimension", + "refs" : { + "SegmentLocation$GPSPoint" : "The GPS Point dimension." + } + }, "ImportJobRequest" : { - "base" : null, + "base" : "Import job request.", "refs" : { } }, "ImportJobResource" : { - "base" : null, + "base" : "Import job resource", "refs" : { "ImportJobResponse$Definition" : "The import job settings." } }, "ImportJobResponse" : { - "base" : null, + "base" : "Import job response.", "refs" : { - "ImportJobsResponse$Item" : "A list of import jobs for the application." + "ListOfImportJobResponse$member" : null } }, "ImportJobsResponse" : { "base" : "Import job list.", "refs" : { } }, - "InternalServerErrorException" : { + "Include" : { "base" : null, + "refs" : { + "SegmentGroupList$Include" : "How should the groups be applied for the result" + } + }, + "InternalServerErrorException" : { + "base" : "Simple message object.", "refs" : { } }, "JobStatus" : { "base" : null, "refs" : { + "ExportJobResponse$JobStatus" : "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.", "ImportJobResponse$JobStatus" : "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." } }, - "ListOfActivityResponse" : { - "base" : null, - "refs" : { } - }, - "ListOfApplicationResponse" : { - "base" : null, - "refs" : { } - }, - "ListOfCampaignResponse" : { - "base" : null, - "refs" : { } - }, - "ListOfEndpointBatchItem" : { - "base" : null, - "refs" : { } - }, - "ListOfImportJobResponse" : { - "base" : null, - "refs" : { } - }, - "ListOfSegmentResponse" : { - "base" : null, - "refs" : { } - }, - "ListOfTreatmentResource" : { - "base" : null, - "refs" : { } - }, - "ListOfWriteTreatmentResource" : { - "base" : null, - "refs" : { } - }, - "ListOf__string" : { - "base" : null, - "refs" : { } - }, - "MapOfAddressConfiguration" : { - "base" : null, - "refs" : { } - }, - "MapOfAttributeDimension" : { - "base" : null, - "refs" : { } - }, - "MapOfEndpointMessageResult" : { - "base" : null, - "refs" : { } - }, - "MapOfEndpointSendConfiguration" : { - "base" : null, - "refs" : { } - }, - "MapOfListOf__string" : { - "base" : null, - "refs" : { } - }, - "MapOfMapOfEndpointMessageResult" : { - "base" : null, - "refs" : { } - }, - "MapOfMessageResult" : { - "base" : null, - "refs" : { } - }, - "MapOf__double" : { - "base" : null, - "refs" : { } - }, - "MapOf__integer" : { - "base" : null, - "refs" : { } - }, - "MapOf__string" : { - "base" : null, - "refs" : { } - }, "Message" : { - "base" : null, + "base" : "Message to send", "refs" : { "MessageConfiguration$ADMMessage" : "The message that the campaign delivers to ADM channels. Overrides the default message.", "MessageConfiguration$APNSMessage" : "The message that the campaign delivers to APNS channels. Overrides the default message.", @@ -524,7 +523,7 @@ "MessageResult" : { "base" : "The result from sending a message to an address.", "refs" : { - "MessageResponse$Result" : "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." + "MapOfMessageResult$member" : null } }, "MessageType" : { @@ -535,11 +534,31 @@ } }, "MethodNotAllowedException" : { - "base" : null, + "base" : "Simple message object.", "refs" : { } }, - "NotFoundException" : { + "MetricDimension" : { + "base" : "Custom metric dimension", + "refs" : { + "MapOfMetricDimension$member" : null + } + }, + "Mode" : { "base" : null, + "refs" : { + "CampaignHook$Mode" : "What mode Lambda should be invoked in." + } + }, + "NotFoundException" : { + "base" : "Simple message object.", + "refs" : { } + }, + "NumberValidateRequest" : { + "base" : "Phone Number Information request.", + "refs" : { } + }, + "NumberValidateResponse" : { + "base" : "Phone Number Information response.", "refs" : { } }, "QuietTime" : { @@ -601,7 +620,21 @@ "base" : "Segment dimensions", "refs" : { "SegmentResponse$Dimensions" : "The segment dimensions attributes.", - "WriteSegmentRequest$Dimensions" : "The segment dimensions attributes." + "WriteSegmentRequest$Dimensions" : "The segment dimensions attributes.", + "ListOfSegmentDimensions$member" : null + } + }, + "SegmentGroup" : { + "base" : "Segment group definition.", + "refs" : { + "ListOfSegmentGroup$member" : null + } + }, + "SegmentGroupList" : { + "base" : "Segment group definition.", + "refs" : { + "SegmentResponse$SegmentGroups" : "Segment definition groups. We currently only support one. If specified Dimensions must be empty.", + "WriteSegmentRequest$SegmentGroups" : "Segment definition groups. We currently only support one. If specified Dimensions must be empty." } }, "SegmentImportResource" : { @@ -616,10 +649,16 @@ "SegmentDimensions$Location" : "The segment location attributes." } }, + "SegmentReference" : { + "base" : "Segment reference.", + "refs" : { + "ListOfSegmentReference$member" : null + } + }, "SegmentResponse" : { "base" : "Segment definition.", "refs" : { - "SegmentsResponse$Item" : "The list of segments." + "ListOfSegmentResponse$member" : null } }, "SegmentType" : { @@ -652,16 +691,32 @@ "SegmentLocation$Country" : "The country filter according to ISO 3166-1 Alpha-2 codes." } }, - "TooManyRequestsException" : { + "SourceType" : { "base" : null, + "refs" : { + "SegmentGroup$SourceType" : "Include or exclude the source." + } + }, + "TooManyRequestsException" : { + "base" : "Simple message object.", "refs" : { } }, "TreatmentResource" : { "base" : "Treatment resource", "refs" : { - "CampaignResponse$AdditionalTreatments" : "Treatments that are defined in addition to the default treatment." + "ListOfTreatmentResource$member" : null } }, + "Type" : { + "base" : null, + "refs" : { + "SegmentGroup$Type" : "How should the dimensions be applied for the result" + } + }, + "UpdateAttributesRequest" : { + "base" : "Update attributes request", + "refs" : { } + }, "WriteApplicationSettingsRequest" : { "base" : "Creating application setting request", "refs" : { } @@ -681,7 +736,7 @@ "WriteTreatmentResource" : { "base" : "Used to create a campaign treatment.", "refs" : { - "WriteCampaignRequest$AdditionalTreatments" : "Treatments that are defined in addition to the default treatment." + "ListOfWriteTreatmentResource$member" : null } }, "__boolean" : { @@ -689,44 +744,47 @@ "refs" : { "ADMChannelRequest$Enabled" : "If the channel is enabled for sending messages.", "ADMChannelResponse$Enabled" : "If the channel is enabled for sending messages.", - "ADMChannelResponse$HasCredential" : "If the channel is registered with a credential for authentication.", + "ADMChannelResponse$HasCredential" : "Not used. Retained for backwards compatibility.", "ADMChannelResponse$IsArchived" : "Is this channel archived", "ADMMessage$SilentPush" : "Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.", "APNSChannelRequest$Enabled" : "If the channel is enabled for sending messages.", "APNSChannelResponse$Enabled" : "If the channel is enabled for sending messages.", - "APNSChannelResponse$HasCredential" : "If the channel is registered with a credential for authentication.", - "APNSChannelResponse$HasTokenKey" : "If the channel is registered with a token key for authentication.", + "APNSChannelResponse$HasCredential" : "Not used. Retained for backwards compatibility.", + "APNSChannelResponse$HasTokenKey" : "Indicates whether the channel is configured with a key for APNs token authentication. Provide a token key by setting the TokenKey attribute.", "APNSChannelResponse$IsArchived" : "Is this channel archived", "APNSMessage$SilentPush" : "Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.", "APNSSandboxChannelRequest$Enabled" : "If the channel is enabled for sending messages.", "APNSSandboxChannelResponse$Enabled" : "If the channel is enabled for sending messages.", - "APNSSandboxChannelResponse$HasCredential" : "If the channel is registered with a credential for authentication.", - "APNSSandboxChannelResponse$HasTokenKey" : "If the channel is registered with a token key for authentication.", + "APNSSandboxChannelResponse$HasCredential" : "Not used. Retained for backwards compatibility.", + "APNSSandboxChannelResponse$HasTokenKey" : "Indicates whether the channel is configured with a key for APNs token authentication. Provide a token key by setting the TokenKey attribute.", "APNSSandboxChannelResponse$IsArchived" : "Is this channel archived", "APNSVoipChannelRequest$Enabled" : "If the channel is enabled for sending messages.", "APNSVoipChannelResponse$Enabled" : "If the channel is enabled for sending messages.", - "APNSVoipChannelResponse$HasCredential" : "If the channel is registered with a credential for authentication.", + "APNSVoipChannelResponse$HasCredential" : "Not used. Retained for backwards compatibility.", "APNSVoipChannelResponse$HasTokenKey" : "If the channel is registered with a token key for authentication.", "APNSVoipChannelResponse$IsArchived" : "Is this channel archived", "APNSVoipSandboxChannelRequest$Enabled" : "If the channel is enabled for sending messages.", "APNSVoipSandboxChannelResponse$Enabled" : "If the channel is enabled for sending messages.", - "APNSVoipSandboxChannelResponse$HasCredential" : "If the channel is registered with a credential for authentication.", + "APNSVoipSandboxChannelResponse$HasCredential" : "Not used. Retained for backwards compatibility.", "APNSVoipSandboxChannelResponse$HasTokenKey" : "If the channel is registered with a token key for authentication.", "APNSVoipSandboxChannelResponse$IsArchived" : "Is this channel archived", "BaiduChannelRequest$Enabled" : "If the channel is enabled for sending messages.", "BaiduChannelResponse$Enabled" : "If the channel is enabled for sending messages.", - "BaiduChannelResponse$HasCredential" : "If the channel is registered with a credential for authentication.", + "BaiduChannelResponse$HasCredential" : "Not used. Retained for backwards compatibility.", "BaiduChannelResponse$IsArchived" : "Is this channel archived", "BaiduMessage$SilentPush" : "Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.", "CampaignResponse$IsPaused" : "Indicates whether the campaign is paused. A paused campaign does not send messages unless you resume it by setting IsPaused to false.", + "ChannelResponse$Enabled" : "If the channel is enabled for sending messages.", + "ChannelResponse$HasCredential" : "Not used. Retained for backwards compatibility.", + "ChannelResponse$IsArchived" : "Is this channel archived", "DefaultPushNotificationMessage$SilentPush" : "Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.", "EmailChannelRequest$Enabled" : "If the channel is enabled for sending messages.", "EmailChannelResponse$Enabled" : "If the channel is enabled for sending messages.", - "EmailChannelResponse$HasCredential" : "If the channel is registered with a credential for authentication.", + "EmailChannelResponse$HasCredential" : "Not used. Retained for backwards compatibility.", "EmailChannelResponse$IsArchived" : "Is this channel archived", "GCMChannelRequest$Enabled" : "If the channel is enabled for sending messages.", "GCMChannelResponse$Enabled" : "If the channel is enabled for sending messages.", - "GCMChannelResponse$HasCredential" : "If the channel is registered with a credential for authentication.", + "GCMChannelResponse$HasCredential" : "Not used. Retained for backwards compatibility.", "GCMChannelResponse$IsArchived" : "Is this channel archived", "GCMMessage$SilentPush" : "Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.", "ImportJobRequest$DefineSegment" : "Sets whether the endpoints create a segment when they are imported.", @@ -736,9 +794,10 @@ "Message$SilentPush" : "Indicates if the message should display on the users device.\n\nSilent pushes can be used for Remote Configuration and Phone Home use cases. ", "SMSChannelRequest$Enabled" : "If the channel is enabled for sending messages.", "SMSChannelResponse$Enabled" : "If the channel is enabled for sending messages.", - "SMSChannelResponse$HasCredential" : "If the channel is registered with a credential for authentication.", + "SMSChannelResponse$HasCredential" : "Not used. Retained for backwards compatibility.", "SMSChannelResponse$IsArchived" : "Is this channel archived", "Schedule$IsLocalTime" : "Indicates whether the campaign schedule takes effect according to each user's local time.", + "WriteApplicationSettingsRequest$CloudWatchMetricsEnabled" : "The CloudWatchMetrics settings for the app.", "WriteCampaignRequest$IsPaused" : "Indicates whether the campaign is paused. A paused campaign does not send messages unless you resume it by setting IsPaused to false." } }, @@ -746,7 +805,12 @@ "base" : null, "refs" : { "EndpointLocation$Latitude" : "The latitude of the endpoint location. Rounded to one decimal (Roughly corresponding to a mile).", - "EndpointLocation$Longitude" : "The longitude of the endpoint location. Rounded to one decimal (Roughly corresponding to a mile)." + "EndpointLocation$Longitude" : "The longitude of the endpoint location. Rounded to one decimal (Roughly corresponding to a mile).", + "GPSCoordinates$Latitude" : "Latitude", + "GPSCoordinates$Longitude" : "Longitude", + "GPSPointDimension$RangeInKilometers" : "Range in kilometers from the coordinate.", + "MetricDimension$Value" : "Value to be compared.", + "MapOf__double$member" : null } }, "__integer" : { @@ -755,7 +819,7 @@ "ADMChannelResponse$Version" : "Version of channel", "APNSChannelResponse$Version" : "Version of channel", "APNSMessage$Badge" : "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.", - "APNSMessage$TimeToLive" : "This parameter specifies how long (in seconds) the message should be kept if APNS is unable to deliver the notification the first time. If the value is 0, APNS 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 APNS", + "APNSMessage$TimeToLive" : "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.", "APNSSandboxChannelResponse$Version" : "Version of channel", "APNSVoipChannelResponse$Version" : "Version of channel", "APNSVoipSandboxChannelResponse$Version" : "Version of channel", @@ -764,30 +828,233 @@ "ActivityResponse$TimezonesTotalCount" : "The total number of unique timezones present in the segment.", "ActivityResponse$TotalEndpointCount" : "The total number of endpoints to which the campaign attempts to deliver messages.", "BaiduChannelResponse$Version" : "Version of channel", + "BaiduMessage$TimeToLive" : "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)", "CampaignLimits$Daily" : "The maximum number of messages that the campaign can send daily.", - "CampaignLimits$MaximumDuration" : "The maximum duration of a campaign from the scheduled start. Must be a minimum of 60 seconds.", - "CampaignLimits$MessagesPerSecond" : "The maximum number of messages per second that the campaign will send. This is a best effort maximum cap and can go as high as 20000 and as low as 50", + "CampaignLimits$MaximumDuration" : "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.", + "CampaignLimits$MessagesPerSecond" : "The number of messages that the campaign can send per second. The minimum value is 50, and the maximum is 20000.", "CampaignLimits$Total" : "The maximum total number of messages that the campaign can send.", "CampaignResponse$HoldoutPercent" : "The allocated percentage of end users who will not receive messages from this campaign.", "CampaignResponse$SegmentVersion" : "The version of the segment to which the campaign sends messages.", "CampaignResponse$Version" : "The campaign version number.", + "ChannelResponse$Version" : "Version of channel", + "EmailChannelResponse$MessagesPerSecond" : "Messages per second that can be sent", "EmailChannelResponse$Version" : "Version of channel", "EndpointMessageResult$StatusCode" : "Downstream service status code.", + "ExportJobRequest$SegmentVersion" : "The version of the segment to export if specified.", + "ExportJobResource$SegmentVersion" : "The version of the segment to export if specified.", + "ExportJobResponse$CompletedPieces" : "The number of pieces that have successfully completed as of the time of the request.", + "ExportJobResponse$FailedPieces" : "The number of pieces that failed to be processed as of the time of the request.", + "ExportJobResponse$TotalFailures" : "The number of endpoints that were not processed; for example, because of syntax errors.", + "ExportJobResponse$TotalPieces" : "The total number of pieces that must be processed to finish the job. Each piece is an approximately equal portion of the endpoints.", + "ExportJobResponse$TotalProcessed" : "The number of endpoints that were processed by the job.", "GCMChannelResponse$Version" : "Version of channel", - "GCMMessage$TimeToLive" : "This parameter specifies how long (in seconds) the message should be kept in GCM storage if the device is offline. The maximum time to live supported is 4 weeks, and the default value is 4 weeks.", + "GCMMessage$TimeToLive" : "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.", "ImportJobResponse$CompletedPieces" : "The number of pieces that have successfully imported as of the time of the request.", "ImportJobResponse$FailedPieces" : "The number of pieces that have failed to import as of the time of the request.", "ImportJobResponse$TotalFailures" : "The number of endpoints that failed to import; for example, because of syntax errors.", "ImportJobResponse$TotalPieces" : "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.", "ImportJobResponse$TotalProcessed" : "The number of endpoints that were processed by the import job.", + "Message$TimeToLive" : "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", "MessageResult$StatusCode" : "Downstream service status code.", + "NumberValidateResponse$PhoneTypeCode" : "The phone type as an integer. Possible values include 0 (MOBILE), 1 (LANDLINE), 2 (VOIP), 3 (INVALID), and 4 (OTHER).", + "SMSChannelResponse$PromotionalMessagesPerSecond" : "Promotional messages per second that can be sent", + "SMSChannelResponse$TransactionalMessagesPerSecond" : "Transactional messages per second that can be sent", "SMSChannelResponse$Version" : "Version of channel", "SegmentImportResource$Size" : "The number of endpoints that were successfully imported to create this segment.", + "SegmentReference$Version" : "If specified contains a specific version of the segment included.", "SegmentResponse$Version" : "The segment version number.", "TreatmentResource$SizePercent" : "The allocated percentage of users for this treatment.", "WriteCampaignRequest$HoldoutPercent" : "The allocated percentage of end users who will not receive messages from this campaign.", "WriteCampaignRequest$SegmentVersion" : "The version of the segment to which the campaign sends messages.", - "WriteTreatmentResource$SizePercent" : "The allocated percentage of users for this treatment." + "WriteTreatmentResource$SizePercent" : "The allocated percentage of users for this treatment.", + "MapOf__integer$member" : null + } + }, + "ListOfActivityResponse" : { + "base" : null, + "refs" : { + "ActivitiesResponse$Item" : "List of campaign activities" + } + }, + "ListOfApplicationResponse" : { + "base" : null, + "refs" : { + "ApplicationsResponse$Item" : "List of applications returned in this page." + } + }, + "ListOfCampaignResponse" : { + "base" : null, + "refs" : { + "CampaignsResponse$Item" : "A list of campaigns." + } + }, + "ListOfEndpointBatchItem" : { + "base" : null, + "refs" : { + "EndpointBatchRequest$Item" : "List of items to update. Maximum 100 items" + } + }, + "ListOfEndpointResponse" : { + "base" : null, + "refs" : { + "EndpointsResponse$Item" : "The list of endpoints." + } + }, + "ListOfExportJobResponse" : { + "base" : null, + "refs" : { + "ExportJobsResponse$Item" : "A list of export jobs for the application." + } + }, + "ListOfImportJobResponse" : { + "base" : null, + "refs" : { + "ImportJobsResponse$Item" : "A list of import jobs for the application." + } + }, + "ListOfSegmentDimensions" : { + "base" : null, + "refs" : { + "SegmentGroup$Dimensions" : "List of dimensions to include or exclude." + } + }, + "ListOfSegmentGroup" : { + "base" : null, + "refs" : { + "SegmentGroupList$Groups" : "List of dimension groups to evaluate." + } + }, + "ListOfSegmentReference" : { + "base" : null, + "refs" : { + "SegmentGroup$SourceSegments" : "Segments that define the source of this segment. Currently a maximum of 1 import segment is supported." + } + }, + "ListOfSegmentResponse" : { + "base" : null, + "refs" : { + "SegmentsResponse$Item" : "The list of segments." + } + }, + "ListOfTreatmentResource" : { + "base" : null, + "refs" : { + "CampaignResponse$AdditionalTreatments" : "Treatments that are defined in addition to the default treatment." + } + }, + "ListOfWriteTreatmentResource" : { + "base" : null, + "refs" : { + "WriteCampaignRequest$AdditionalTreatments" : "Treatments that are defined in addition to the default treatment." + } + }, + "ListOf__string" : { + "base" : null, + "refs" : { + "AttributeDimension$Values" : "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.", + "AttributesResource$Attributes" : "The attributes for the application.", + "ExportJobResponse$Failures" : "Provides up to 100 of the first failed entries for the job, if any exist.", + "ImportJobResponse$Failures" : "Provides up to 100 of the first failed entries for the job, if any exist.", + "SetDimension$Values" : "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.", + "UpdateAttributesRequest$Blacklist" : "The GLOB wildcard for removing the attributes in the application", + "MapOfListOf__string$member" : null + } + }, + "MapOfAddressConfiguration" : { + "base" : null, + "refs" : { + "MessageRequest$Addresses" : "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." + } + }, + "MapOfAttributeDimension" : { + "base" : null, + "refs" : { + "SegmentDimensions$Attributes" : "Custom segment attributes.", + "SegmentDimensions$UserAttributes" : "Custom segment user attributes." + } + }, + "MapOfChannelResponse" : { + "base" : null, + "refs" : { + "ChannelsResponse$Channels" : "A map of channels, with the ChannelType as the key and the Channel as the value." + } + }, + "MapOfEndpointMessageResult" : { + "base" : null, + "refs" : { + "MessageResponse$EndpointResult" : "A map containing a multi part response for each address, with the endpointId as the key and the result as the value.", + "MapOfMapOfEndpointMessageResult$member" : null + } + }, + "MapOfEndpointSendConfiguration" : { + "base" : null, + "refs" : { + "MessageRequest$Endpoints" : "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.", + "SendUsersMessageRequest$Users" : "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." + } + }, + "MapOfMessageResult" : { + "base" : null, + "refs" : { + "MessageResponse$Result" : "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." + } + }, + "MapOfMetricDimension" : { + "base" : null, + "refs" : { + "SegmentDimensions$Metrics" : "Custom segment metrics." + } + }, + "MapOf__double" : { + "base" : null, + "refs" : { + "EndpointBatchItem$Metrics" : "Custom metrics that your app reports to Amazon Pinpoint.", + "EndpointRequest$Metrics" : "Custom metrics that your app reports to Amazon Pinpoint.", + "EndpointResponse$Metrics" : "Custom metrics that your app reports to Amazon Pinpoint." + } + }, + "MapOf__integer" : { + "base" : null, + "refs" : { + "SegmentImportResource$ChannelCounts" : "Channel type counts" + } + }, + "MapOfListOf__string" : { + "base" : null, + "refs" : { + "ADMMessage$Substitutions" : "Default message substitutions. Can be overridden by individual address substitutions.", + "APNSMessage$Substitutions" : "Default message substitutions. Can be overridden by individual address substitutions.", + "AddressConfiguration$Substitutions" : "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.", + "BaiduMessage$Substitutions" : "Default message substitutions. Can be overridden by individual address substitutions.", + "DefaultMessage$Substitutions" : "Default message substitutions. Can be overridden by individual address substitutions.", + "DefaultPushNotificationMessage$Substitutions" : "Default message substitutions. Can be overridden by individual address substitutions.", + "EndpointBatchItem$Attributes" : "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.", + "EndpointRequest$Attributes" : "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.", + "EndpointResponse$Attributes" : "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.", + "EndpointSendConfiguration$Substitutions" : "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.", + "EndpointUser$UserAttributes" : "Custom attributes that describe an end user 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.", + "GCMMessage$Substitutions" : "Default message substitutions. Can be overridden by individual address substitutions.", + "SMSMessage$Substitutions" : "Default message substitutions. Can be overridden by individual address substitutions." + } + }, + "MapOfMapOfEndpointMessageResult" : { + "base" : null, + "refs" : { + "SendUsersMessageResponse$Result" : "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." + } + }, + "MapOf__string" : { + "base" : null, + "refs" : { + "ADMMessage$Data" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object", + "APNSMessage$Data" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object", + "AddressConfiguration$Context" : "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.", + "BaiduMessage$Data" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object", + "DefaultPushNotificationMessage$Data" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object", + "EndpointSendConfiguration$Context" : "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.", + "GCMMessage$Data" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object", + "MessageRequest$Context" : "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.", + "SendUsersMessageRequest$Context" : "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." } }, "__string" : { @@ -795,7 +1062,7 @@ "refs" : { "ADMChannelRequest$ClientId" : "Client ID as gotten from Amazon", "ADMChannelRequest$ClientSecret" : "Client secret as gotten from Amazon", - "ADMChannelResponse$ApplicationId" : "Application id", + "ADMChannelResponse$ApplicationId" : "The ID of the application to which the channel applies.", "ADMChannelResponse$CreationDate" : "When was this segment created", "ADMChannelResponse$Id" : "Channel ID. Not used, only for backwards compatibility.", "ADMChannelResponse$LastModifiedBy" : "Who last updated this entry", @@ -829,10 +1096,10 @@ "APNSChannelResponse$Platform" : "The platform type. Will be APNS.", "APNSMessage$Body" : "The message body of the notification, the email body or the text message.", "APNSMessage$Category" : "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.", - "APNSMessage$CollapseId" : "Multiple notifications with the same collapse identifier are displayed to the user as a single notification. The value of this key must not exceed 64 bytes.", + "APNSMessage$CollapseId" : "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.", "APNSMessage$MediaUrl" : "The URL that points to a video used in the push notification.", "APNSMessage$PreferredAuthenticationMethod" : "The preferred authentication method, either \"CERTIFICATE\" or \"TOKEN\"", - "APNSMessage$Priority" : "Is this a transaction priority message or lower priority.", + "APNSMessage$Priority" : "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.", "APNSMessage$RawContent" : "The Raw JSON formatted string to be used as the payload. This value overrides the message.", "APNSMessage$Sound" : "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.", "APNSMessage$ThreadId" : "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.", @@ -845,7 +1112,7 @@ "APNSSandboxChannelRequest$TeamId" : "The team id used for APNs Tokens.", "APNSSandboxChannelRequest$TokenKey" : "The token key used for APNs Tokens.", "APNSSandboxChannelRequest$TokenKeyId" : "The token key used for APNs Tokens.", - "APNSSandboxChannelResponse$ApplicationId" : "Application id", + "APNSSandboxChannelResponse$ApplicationId" : "The ID of the application to which the channel applies.", "APNSSandboxChannelResponse$CreationDate" : "When was this segment created", "APNSSandboxChannelResponse$DefaultAuthenticationMethod" : "The default authentication method used for APNs.", "APNSSandboxChannelResponse$Id" : "Channel ID. Not used, only for backwards compatibility.", @@ -897,6 +1164,8 @@ "ApplicationSettingsResource$ApplicationId" : "The unique ID for the application.", "ApplicationSettingsResource$LastModifiedDate" : "The date that the settings were last updated in ISO 8601 format.", "ApplicationsResponse$NextToken" : "The string that you use in a subsequent request to get the next page of results in a paginated response.", + "AttributesResource$ApplicationId" : "The unique ID for the application.", + "AttributesResource$AttributeType" : "The attribute type for the application.", "BaiduChannelRequest$ApiKey" : "Platform credential API key from Baidu.", "BaiduChannelRequest$SecretKey" : "Platform credential Secret key from Baidu.", "BaiduChannelResponse$ApplicationId" : "Application id", @@ -919,6 +1188,8 @@ "CampaignEmailMessage$FromAddress" : "The email address used to send the email from. Defaults to use FromAddress specified in the Email Channel.", "CampaignEmailMessage$HtmlBody" : "The email html body.", "CampaignEmailMessage$Title" : "The email title (Or subject).", + "CampaignHook$LambdaFunctionName" : "Lambda function name or arn to be called for delivery", + "CampaignHook$WebUrl" : "Web URL to call for hook. If the URL has authentication specified it will be added as authentication to the request", "CampaignResponse$ApplicationId" : "The ID of the application to which the campaign applies.", "CampaignResponse$CreationDate" : "The date the campaign was created in ISO 8601 format.", "CampaignResponse$Description" : "A description of the campaign.", @@ -931,6 +1202,11 @@ "CampaignSmsMessage$Body" : "The SMS text body.", "CampaignSmsMessage$SenderId" : "Sender ID of sent message.", "CampaignsResponse$NextToken" : "The string that you use in a subsequent request to get the next page of results in a paginated response.", + "ChannelResponse$ApplicationId" : "Application id", + "ChannelResponse$CreationDate" : "When was this segment created", + "ChannelResponse$Id" : "Channel ID. Not used, only for backwards compatibility.", + "ChannelResponse$LastModifiedBy" : "Who made the last change", + "ChannelResponse$LastModifiedDate" : "Last date this was updated", "CreateApplicationRequest$Name" : "The display name of the application. Used in the Amazon Pinpoint console.", "DefaultMessage$Body" : "The message body of the notification, the email body or the text message.", "DefaultPushNotificationMessage$Body" : "The message body of the notification, the email body or the text message.", @@ -948,9 +1224,9 @@ "EmailChannelResponse$LastModifiedDate" : "Last date this was updated", "EmailChannelResponse$Platform" : "Platform type. Will be \"EMAIL\"", "EmailChannelResponse$RoleArn" : "The ARN of an IAM Role used to submit events to Mobile Analytics' event ingestion service", - "EndpointBatchItem$Address" : "The address or token of the endpoint as provided by your push provider (e.g. DeviceToken or RegistrationId).", + "EndpointBatchItem$Address" : "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 +1206XXX5550100. For the email channel, use an email address.", "EndpointBatchItem$EffectiveDate" : "The last time the endpoint was updated. Provided in ISO 8601 format.", - "EndpointBatchItem$EndpointStatus" : "The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated.", + "EndpointBatchItem$EndpointStatus" : "Unused.", "EndpointBatchItem$Id" : "The unique Id for the Endpoint in the batch.", "EndpointBatchItem$OptOut" : "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.", "EndpointBatchItem$RequestId" : "The unique ID for the most recent request to update the endpoint.", @@ -967,11 +1243,12 @@ "EndpointLocation$PostalCode" : "The postal code or zip code of the endpoint.", "EndpointLocation$Region" : "The region of the endpoint location. For example, corresponds to a state in US.", "EndpointMessageResult$Address" : "Address that endpoint message was delivered to.", + "EndpointMessageResult$MessageId" : "Unique message identifier associated with the message that was sent.", "EndpointMessageResult$StatusMessage" : "Status message for message delivery.", "EndpointMessageResult$UpdatedToken" : "If token was updated as part of delivery. (This is GCM Specific)", - "EndpointRequest$Address" : "The address or token of the endpoint as provided by your push provider (e.g. DeviceToken or RegistrationId).", + "EndpointRequest$Address" : "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 +1206XXX5550100. For the email channel, use an email address.", "EndpointRequest$EffectiveDate" : "The last time the endpoint was updated. Provided in ISO 8601 format.", - "EndpointRequest$EndpointStatus" : "The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated.", + "EndpointRequest$EndpointStatus" : "Unused.", "EndpointRequest$OptOut" : "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.", "EndpointRequest$RequestId" : "The unique ID for the most recent request to update the endpoint.", "EndpointResponse$Address" : "The address or token of the endpoint as provided by your push provider (e.g. DeviceToken or RegistrationId).", @@ -979,7 +1256,7 @@ "EndpointResponse$CohortId" : "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.", "EndpointResponse$CreationDate" : "The last time the endpoint was created. Provided in ISO 8601 format.", "EndpointResponse$EffectiveDate" : "The last time the endpoint was updated. Provided in ISO 8601 format.", - "EndpointResponse$EndpointStatus" : "The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated.", + "EndpointResponse$EndpointStatus" : "Unused.", "EndpointResponse$Id" : "The unique ID that you assigned to the endpoint. The ID should be a globally unique identifier (GUID) to ensure that it is unique compared to all other endpoints for the application.", "EndpointResponse$OptOut" : "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.", "EndpointResponse$RequestId" : "The unique ID for the most recent request to update the endpoint.", @@ -989,10 +1266,22 @@ "EndpointUser$UserId" : "The unique ID of the user.", "EventStream$ApplicationId" : "The ID of the application from which events should be published.", "EventStream$DestinationStreamArn" : "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", - "EventStream$ExternalId" : "The external ID assigned the IAM role that authorizes Amazon Pinpoint to publish to the stream.", + "EventStream$ExternalId" : "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.", "EventStream$LastModifiedDate" : "The date the event stream was last updated in ISO 8601 format.", "EventStream$LastUpdatedBy" : "The IAM user who last modified the event stream.", "EventStream$RoleArn" : "The IAM role that authorizes Amazon Pinpoint to publish events to the stream in your account.", + "ExportJobRequest$RoleArn" : "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.", + "ExportJobRequest$S3UrlPrefix" : "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.", + "ExportJobRequest$SegmentId" : "The ID of the segment to export endpoints from. If not present, Amazon Pinpoint exports all of the endpoints that belong to the application.", + "ExportJobResource$RoleArn" : "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.", + "ExportJobResource$S3UrlPrefix" : "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.", + "ExportJobResource$SegmentId" : "The ID of the segment to export endpoints from. If not present, Amazon Pinpoint exports all of the endpoints that belong to the application.", + "ExportJobResponse$ApplicationId" : "The unique ID of the application to which the job applies.", + "ExportJobResponse$CompletionDate" : "The date the job completed in ISO 8601 format.", + "ExportJobResponse$CreationDate" : "The date the job was created in ISO 8601 format.", + "ExportJobResponse$Id" : "The unique ID of the job.", + "ExportJobResponse$Type" : "The job type. Will be 'EXPORT'.", + "ExportJobsResponse$NextToken" : "The string that you use in a subsequent request to get the next page of results in a paginated response.", "GCMChannelRequest$ApiKey" : "Platform credential API key from Google.", "GCMChannelResponse$ApplicationId" : "The ID of the application to which the channel applies.", "GCMChannelResponse$CreationDate" : "When was this segment created", @@ -1006,19 +1295,19 @@ "GCMMessage$IconReference" : "The icon image name of the asset saved in your application.", "GCMMessage$ImageIconUrl" : "The URL that points to an image used as the large icon to the notification content view.", "GCMMessage$ImageUrl" : "The URL that points to an image used in the push notification.", - "GCMMessage$Priority" : "Is this a transaction priority message or lower priority.", + "GCMMessage$Priority" : "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.", "GCMMessage$RawContent" : "The Raw JSON formatted string to be used as the payload. This value overrides the message.", "GCMMessage$RestrictedPackageName" : "This parameter specifies the package name of the application where the registration tokens must match in order to receive the message.", "GCMMessage$SmallImageIconUrl" : "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", "GCMMessage$Sound" : "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/", "GCMMessage$Title" : "The message title that displays above the message on the user's device.", "GCMMessage$Url" : "The URL to open in the user's mobile browser. Used if the value for Action is URL.", - "ImportJobRequest$ExternalId" : "A unique, custom ID assigned to the IAM role that restricts who can assume the role.\t", + "ImportJobRequest$ExternalId" : "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.", "ImportJobRequest$RoleArn" : "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.", "ImportJobRequest$S3Url" : "A URL that points to the location within an Amazon S3 bucket that contains the endpoints to import. The location can be a folder or a single file.\nThe URL should follow this format: s3://bucket-name/folder-name/file-name\n\nAmazon Pinpoint will import endpoints from this location and any subfolders it contains.", "ImportJobRequest$SegmentId" : "The ID of the segment to update if the import job is meant to update an existing segment.", "ImportJobRequest$SegmentName" : "A custom name for the segment created by the import job. Use if DefineSegment is true.", - "ImportJobResource$ExternalId" : "A unique, custom ID assigned to the IAM role that restricts who can assume the role.\t", + "ImportJobResource$ExternalId" : "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.", "ImportJobResource$RoleArn" : "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.", "ImportJobResource$S3Url" : "A URL that points to the location within an Amazon S3 bucket that contains the endpoints to import. The location can be a folder or a single file.\nThe URL should follow this format: s3://bucket-name/folder-name/file-name\n\nAmazon Pinpoint will import endpoints from this location and any subfolders it contains.", "ImportJobResource$SegmentId" : "The ID of the segment to update if the import job is meant to update an existing segment.", @@ -1038,12 +1327,29 @@ "Message$RawContent" : "The Raw JSON formatted string to be used as the payload. This value overrides the message.", "Message$Title" : "The message title that displays above the message on the user's device.", "Message$Url" : "The URL to open in the user's mobile browser. Used if the value for Action is URL.", - "MessageBody$Message" : "The error message returned from the API.", + "MessageBody$Message" : "The error message that's returned from the API.", "MessageBody$RequestID" : "The unique message body ID.", "MessageResponse$ApplicationId" : "Application id of the message.", "MessageResponse$RequestId" : "Original request Id for which this message was delivered.", + "MessageResult$MessageId" : "Unique message identifier associated with the message that was sent.", "MessageResult$StatusMessage" : "Status message for message delivery.", "MessageResult$UpdatedToken" : "If token was updated as part of delivery. (This is GCM Specific)", + "MetricDimension$ComparisonOperator" : "GREATER_THAN | LESS_THAN | GREATER_THAN_OR_EQUAL | LESS_THAN_OR_EQUAL | EQUAL", + "NumberValidateRequest$IsoCountryCode" : "(Optional) The two-character ISO country code for the country where the phone number was originally registered.", + "NumberValidateRequest$PhoneNumber" : "The phone number to get information about.", + "NumberValidateResponse$Carrier" : "The carrier that the phone number is registered with.", + "NumberValidateResponse$City" : "The city where the phone number was originally registered.", + "NumberValidateResponse$CleansedPhoneNumberE164" : "The cleansed (standardized) phone number in E.164 format.", + "NumberValidateResponse$CleansedPhoneNumberNational" : "The cleansed phone number in national format.", + "NumberValidateResponse$Country" : "The country where the phone number was originally registered.", + "NumberValidateResponse$CountryCodeIso2" : "The two-character ISO country code for the country where the phone number was originally registered.", + "NumberValidateResponse$CountryCodeNumeric" : "The numeric country code for the country where the phone number was originally registered.", + "NumberValidateResponse$County" : "The county where the phone number was originally registered.", + "NumberValidateResponse$OriginalCountryCodeIso2" : "The two-character ISO country code that was included in the request body.", + "NumberValidateResponse$OriginalPhoneNumber" : "The phone number that you included in the request body.", + "NumberValidateResponse$PhoneType" : "A description of the phone type. Possible values include MOBILE, LANDLINE, VOIP, INVALID, and OTHER.", + "NumberValidateResponse$Timezone" : "The time zone for the location where the phone number was originally registered.", + "NumberValidateResponse$ZipCode" : "The zip code for the location where the phone number was originally registered.", "QuietTime$End" : "The default end time for quiet time in ISO 8601 format.", "QuietTime$Start" : "The default start time for quiet time in ISO 8601 format.", "SMSChannelRequest$SenderId" : "Sender identifier of your messages.", @@ -1056,22 +1362,25 @@ "SMSChannelResponse$Platform" : "Platform type. Will be \"SMS\"", "SMSChannelResponse$SenderId" : "Sender identifier of your messages.", "SMSChannelResponse$ShortCode" : "The short code registered with the phone provider.", - "SMSMessage$Body" : "The message body of the notification, the email body or the text message.", - "SMSMessage$SenderId" : "Sender ID of sent message.", + "SMSMessage$Body" : "The body of the SMS message.", + "SMSMessage$Keyword" : "The SMS program name that you provided to AWS Support when you requested your dedicated number.", + "SMSMessage$OriginationNumber" : "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.", + "SMSMessage$SenderId" : "The sender ID that is shown as the message sender on the recipient's device. Support for sender IDs varies by country or region.", "Schedule$EndTime" : "The scheduled time that the campaign ends in ISO 8601 format.", "Schedule$StartTime" : "The scheduled time that the campaign begins in ISO 8601 format.", "Schedule$Timezone" : "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", - "SegmentImportResource$ExternalId" : "A unique, custom ID assigned to the IAM role that restricts who can assume the role.", + "SegmentImportResource$ExternalId" : "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.", "SegmentImportResource$RoleArn" : "The Amazon Resource Name (ARN) of an IAM role that grants Amazon Pinpoint access to the endpoints in Amazon S3.", "SegmentImportResource$S3Url" : "A URL that points to the Amazon S3 location from which the endpoints for this segment were imported.", + "SegmentReference$Id" : "Segment Id.", "SegmentResponse$ApplicationId" : "The ID of the application to which the segment applies.", "SegmentResponse$CreationDate" : "The date the segment was created in ISO 8601 format.", "SegmentResponse$Id" : "The unique segment ID.", "SegmentResponse$LastModifiedDate" : "The date the segment was last updated in ISO 8601 format.", "SegmentResponse$Name" : "The name of segment", "SegmentsResponse$NextToken" : "An identifier used to retrieve the next page of results. The token is null if no additional pages exist.", - "SendUsersMessageResponse$ApplicationId" : "Application id of the message.", - "SendUsersMessageResponse$RequestId" : "Original request Id for which this message was delivered.", + "SendUsersMessageResponse$ApplicationId" : "The unique ID of the Amazon Pinpoint project used to send the message.", + "SendUsersMessageResponse$RequestId" : "The unique ID assigned to the users-messages request.", "TreatmentResource$Id" : "The unique treatment ID.", "TreatmentResource$TreatmentDescription" : "A custom description for the treatment.", "TreatmentResource$TreatmentName" : "The custom name of a variation of the campaign used for A/B testing.", @@ -1085,11 +1394,9 @@ "WriteSegmentRequest$Name" : "The name of segment", "WriteTreatmentResource$TreatmentDescription" : "A custom description for the treatment.", "WriteTreatmentResource$TreatmentName" : "The custom name of a variation of the campaign used for A/B testing.", - "PutEventStreamRequest$ApplicationId": "Application Id.", - "PutEventStreamRequest$WriteEventStream": "Write event stream wrapper.", - "GetEventStreamRequest$ApplicationId": "Application Id.", - "DeleteEventStreamRequest$ApplicationId": "Application Id." + "ListOf__string$member" : null, + "MapOf__string$member" : null } } } -} +} \ No newline at end of file diff --git a/models/apis/polly/2016-06-10/api-2.json b/models/apis/polly/2016-06-10/api-2.json index 15f501283b0..22822d376e6 100644 --- a/models/apis/polly/2016-06-10/api-2.json +++ b/models/apis/polly/2016-06-10/api-2.json @@ -52,6 +52,21 @@ {"shape":"ServiceFailureException"} ] }, + "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"} + ] + }, "ListLexicons":{ "name":"ListLexicons", "http":{ @@ -66,6 +81,20 @@ {"shape":"ServiceFailureException"} ] }, + "ListSpeechSynthesisTasks":{ + "name":"ListSpeechSynthesisTasks", + "http":{ + "method":"GET", + "requestUri":"/v1/synthesisTasks", + "responseCode":200 + }, + "input":{"shape":"ListSpeechSynthesisTasksInput"}, + "output":{"shape":"ListSpeechSynthesisTasksOutput"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ServiceFailureException"} + ] + }, "PutLexicon":{ "name":"PutLexicon", "http":{ @@ -85,6 +114,29 @@ {"shape":"ServiceFailureException"} ] }, + "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"} + ] + }, "SynthesizeSpeech":{ "name":"SynthesizeSpeech", "http":{ @@ -101,7 +153,8 @@ {"shape":"LexiconNotFoundException"}, {"shape":"ServiceFailureException"}, {"shape":"MarksNotSupportedForFormatException"}, - {"shape":"SsmlMarksNotSupportedForTextTypeException"} + {"shape":"SsmlMarksNotSupportedForTextTypeException"}, + {"shape":"LanguageNotSupportedException"} ] } }, @@ -112,6 +165,7 @@ "streaming":true }, "ContentType":{"type":"string"}, + "DateTime":{"type":"timestamp"}, "DeleteLexiconInput":{ "type":"structure", "required":["Name"], @@ -136,6 +190,11 @@ "location":"querystring", "locationName":"LanguageCode" }, + "IncludeAdditionalLanguageCodes":{ + "shape":"IncludeAdditionalLanguageCodes", + "location":"querystring", + "locationName":"IncludeAdditionalLanguageCodes" + }, "NextToken":{ "shape":"NextToken", "location":"querystring", @@ -176,6 +235,24 @@ "LexiconAttributes":{"shape":"LexiconAttributes"} } }, + "GetSpeechSynthesisTaskInput":{ + "type":"structure", + "required":["TaskId"], + "members":{ + "TaskId":{ + "shape":"TaskId", + "location":"uri", + "locationName":"TaskId" + } + } + }, + "GetSpeechSynthesisTaskOutput":{ + "type":"structure", + "members":{ + "SynthesisTask":{"shape":"SynthesisTask"} + } + }, + "IncludeAdditionalLanguageCodes":{"type":"boolean"}, "InvalidLexiconException":{ "type":"structure", "members":{ @@ -192,6 +269,22 @@ "error":{"httpStatusCode":400}, "exception":true }, + "InvalidS3BucketException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidS3KeyException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "InvalidSampleRateException":{ "type":"structure", "members":{ @@ -200,6 +293,14 @@ "error":{"httpStatusCode":400}, "exception":true }, + "InvalidSnsTopicArnException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "InvalidSsmlException":{ "type":"structure", "members":{ @@ -208,6 +309,14 @@ "error":{"httpStatusCode":400}, "exception":true }, + "InvalidTaskIdException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "LanguageCode":{ "type":"string", "enum":[ @@ -225,8 +334,9 @@ "fr-FR", "is-IS", "it-IT", - "ko-KR", "ja-JP", + "hi-IN", + "ko-KR", "nb-NO", "nl-NL", "pl-PL", @@ -238,7 +348,19 @@ "tr-TR" ] }, + "LanguageCodeList":{ + "type":"list", + "member":{"shape":"LanguageCode"} + }, "LanguageName":{"type":"string"}, + "LanguageNotSupportedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "LastModified":{"type":"timestamp"}, "LexemesCount":{"type":"integer"}, "Lexicon":{ @@ -315,6 +437,33 @@ "NextToken":{"shape":"NextToken"} } }, + "ListSpeechSynthesisTasksInput":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"NextToken" + }, + "Status":{ + "shape":"TaskStatus", + "location":"querystring", + "locationName":"Status" + } + } + }, + "ListSpeechSynthesisTasksOutput":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "SynthesisTasks":{"shape":"SynthesisTasks"} + } + }, "MarksNotSupportedForFormatException":{ "type":"structure", "members":{ @@ -339,6 +488,11 @@ "error":{"httpStatusCode":400}, "exception":true }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, "NextToken":{"type":"string"}, "OutputFormat":{ "type":"string", @@ -349,6 +503,15 @@ "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":[ @@ -381,6 +544,10 @@ "fault":true }, "Size":{"type":"integer"}, + "SnsTopicArn":{ + "type":"string", + "pattern":"^arn:aws(-(cn|iso(-b)?|us-gov))?:sns:.*:\\w{12}:.+$" + }, "SpeechMarkType":{ "type":"string", "enum":[ @@ -403,6 +570,65 @@ "error":{"httpStatusCode":400}, "exception":true }, + "StartSpeechSynthesisTaskInput":{ + "type":"structure", + "required":[ + "OutputFormat", + "OutputS3BucketName", + "Text", + "VoiceId" + ], + "members":{ + "LexiconNames":{"shape":"LexiconNameList"}, + "OutputFormat":{"shape":"OutputFormat"}, + "OutputS3BucketName":{"shape":"OutputS3BucketName"}, + "OutputS3KeyPrefix":{"shape":"OutputS3KeyPrefix"}, + "SampleRate":{"shape":"SampleRate"}, + "SnsTopicArn":{"shape":"SnsTopicArn"}, + "SpeechMarkTypes":{"shape":"SpeechMarkTypeList"}, + "Text":{"shape":"Text"}, + "TextType":{"shape":"TextType"}, + "VoiceId":{"shape":"VoiceId"}, + "LanguageCode":{"shape":"LanguageCode"} + } + }, + "StartSpeechSynthesisTaskOutput":{ + "type":"structure", + "members":{ + "SynthesisTask":{"shape":"SynthesisTask"} + } + }, + "SynthesisTask":{ + "type":"structure", + "members":{ + "TaskId":{"shape":"TaskId"}, + "TaskStatus":{"shape":"TaskStatus"}, + "TaskStatusReason":{"shape":"TaskStatusReason"}, + "OutputUri":{"shape":"OutputUri"}, + "CreationTime":{"shape":"DateTime"}, + "RequestCharacters":{"shape":"RequestCharacters"}, + "SnsTopicArn":{"shape":"SnsTopicArn"}, + "LexiconNames":{"shape":"LexiconNameList"}, + "OutputFormat":{"shape":"OutputFormat"}, + "SampleRate":{"shape":"SampleRate"}, + "SpeechMarkTypes":{"shape":"SpeechMarkTypeList"}, + "TextType":{"shape":"TextType"}, + "VoiceId":{"shape":"VoiceId"}, + "LanguageCode":{"shape":"LanguageCode"} + } + }, + "SynthesisTaskNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "SynthesisTasks":{ + "type":"list", + "member":{"shape":"SynthesisTask"} + }, "SynthesizeSpeechInput":{ "type":"structure", "required":[ @@ -417,7 +643,8 @@ "SpeechMarkTypes":{"shape":"SpeechMarkTypeList"}, "Text":{"shape":"Text"}, "TextType":{"shape":"TextType"}, - "VoiceId":{"shape":"VoiceId"} + "VoiceId":{"shape":"VoiceId"}, + "LanguageCode":{"shape":"LanguageCode"} } }, "SynthesizeSpeechOutput":{ @@ -437,6 +664,21 @@ }, "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", @@ -476,7 +718,8 @@ "Id":{"shape":"VoiceId"}, "LanguageCode":{"shape":"LanguageCode"}, "LanguageName":{"shape":"LanguageName"}, - "Name":{"shape":"VoiceName"} + "Name":{"shape":"VoiceName"}, + "AdditionalLanguageCodes":{"shape":"LanguageCodeList"} } }, "VoiceId":{ @@ -508,6 +751,7 @@ "Penelope", "Chantal", "Celine", + "Lea", "Mathieu", "Dora", "Karl", diff --git a/models/apis/polly/2016-06-10/docs-2.json b/models/apis/polly/2016-06-10/docs-2.json index a8462652cc7..e73b24c0f1b 100644 --- a/models/apis/polly/2016-06-10/docs-2.json +++ b/models/apis/polly/2016-06-10/docs-2.json @@ -5,8 +5,11 @@ "DeleteLexicon": "

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": "

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": "

Returns the content of the specified pronunciation lexicon stored in an AWS Region. For more information, see Managing Lexicons.

", + "GetSpeechSynthesisTask": "

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": "

Returns a list of pronunciation lexicons stored in an AWS Region. For more information, see Managing Lexicons.

", + "ListSpeechSynthesisTasks": "

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": "

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": "

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": "

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": { @@ -28,6 +31,12 @@ "SynthesizeSpeechOutput$ContentType": "

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.

" } }, + "DateTime": { + "base": null, + "refs": { + "SynthesisTask$CreationTime": "

Timestamp for the time the synthesis task was started.

" + } + }, "DeleteLexiconInput": { "base": null, "refs": { @@ -53,8 +62,13 @@ "refs": { "InvalidLexiconException$message": null, "InvalidNextTokenException$message": null, + "InvalidS3BucketException$message": null, + "InvalidS3KeyException$message": null, "InvalidSampleRateException$message": null, + "InvalidSnsTopicArnException$message": null, "InvalidSsmlException$message": null, + "InvalidTaskIdException$message": null, + "LanguageNotSupportedException$message": null, "LexiconNotFoundException$message": null, "LexiconSizeExceededException$message": null, "MarksNotSupportedForFormatException$message": null, @@ -62,6 +76,7 @@ "MaxLexiconsNumberExceededException$message": null, "ServiceFailureException$message": null, "SsmlMarksNotSupportedForTextTypeException$message": null, + "SynthesisTaskNotFoundException$message": null, "TextLengthExceededException$message": null, "UnsupportedPlsAlphabetException$message": null, "UnsupportedPlsLanguageException$message": null @@ -83,6 +98,22 @@ "refs": { } }, + "GetSpeechSynthesisTaskInput": { + "base": null, + "refs": { + } + }, + "GetSpeechSynthesisTaskOutput": { + "base": null, + "refs": { + } + }, + "IncludeAdditionalLanguageCodes": { + "base": null, + "refs": { + "DescribeVoicesInput$IncludeAdditionalLanguageCodes": "

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.

" + } + }, "InvalidLexiconException": { "base": "

Amazon Polly can't find the specified lexicon. Verify that the lexicon's name is spelled correctly, and then try again.

", "refs": { @@ -93,30 +124,65 @@ "refs": { } }, + "InvalidS3BucketException": { + "base": "

The provided Amazon S3 bucket name is invalid. Please check your input with S3 bucket naming requirements and try again.

", + "refs": { + } + }, + "InvalidS3KeyException": { + "base": "

The provided Amazon S3 key prefix is invalid. Please provide a valid S3 object key name.

", + "refs": { + } + }, "InvalidSampleRateException": { "base": "

The specified sample rate is not valid.

", "refs": { } }, + "InvalidSnsTopicArnException": { + "base": "

The provided SNS topic ARN is invalid. Please provide a valid SNS topic ARN and try again.

", + "refs": { + } + }, "InvalidSsmlException": { "base": "

The SSML you provided is invalid. Verify the SSML syntax, spelling of tags and values, and then try again.

", "refs": { } }, + "InvalidTaskIdException": { + "base": "

The provided Task ID is not valid. Please provide a valid Task ID and try again.

", + "refs": { + } + }, "LanguageCode": { "base": null, "refs": { "DescribeVoicesInput$LanguageCode": "

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.

", + "LanguageCodeList$member": null, "LexiconAttributes$LanguageCode": "

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.

", + "StartSpeechSynthesisTaskInput$LanguageCode": "

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.

", + "SynthesisTask$LanguageCode": "

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.

", + "SynthesizeSpeechInput$LanguageCode": "

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.

", "Voice$LanguageCode": "

Language code of the voice.

" } }, + "LanguageCodeList": { + "base": null, + "refs": { + "Voice$AdditionalLanguageCodes": "

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.

" + } + }, "LanguageName": { "base": null, "refs": { "Voice$LanguageName": "

Human readable name of the language in English.

" } }, + "LanguageNotSupportedException": { + "base": "

The language specified is not currently supported by Amazon Polly in this capacity.

", + "refs": { + } + }, "LastModified": { "base": null, "refs": { @@ -181,6 +247,8 @@ "LexiconNameList": { "base": null, "refs": { + "StartSpeechSynthesisTaskInput$LexiconNames": "

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.

", + "SynthesisTask$LexiconNames": "

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.

", "SynthesizeSpeechInput$LexiconNames": "

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.

" } }, @@ -204,6 +272,16 @@ "refs": { } }, + "ListSpeechSynthesisTasksInput": { + "base": null, + "refs": { + } + }, + "ListSpeechSynthesisTasksOutput": { + "base": null, + "refs": { + } + }, "MarksNotSupportedForFormatException": { "base": "

Speech marks are not supported for the OutputFormat selected. Speech marks are only available for content in json format.

", "refs": { @@ -219,21 +297,49 @@ "refs": { } }, + "MaxResults": { + "base": null, + "refs": { + "ListSpeechSynthesisTasksInput$MaxResults": "

Maximum number of speech synthesis tasks returned in a List operation.

" + } + }, "NextToken": { "base": null, "refs": { "DescribeVoicesInput$NextToken": "

An opaque pagination token returned from the previous DescribeVoices operation. If present, this indicates where to continue the listing.

", "DescribeVoicesOutput$NextToken": "

The pagination token to use in the next request to continue the listing of voices. NextToken is returned only if the response is truncated.

", "ListLexiconsInput$NextToken": "

An opaque pagination token returned from previous ListLexicons operation. If present, indicates where to continue the list of lexicons.

", - "ListLexiconsOutput$NextToken": "

The pagination token to use in the next request to continue the listing of lexicons. NextToken is returned only if the response is truncated.

" + "ListLexiconsOutput$NextToken": "

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$NextToken": "

The pagination token to use in the next request to continue the listing of speech synthesis tasks.

", + "ListSpeechSynthesisTasksOutput$NextToken": "

An opaque pagination token returned from the previous List operation in this request. If present, this indicates where to continue the listing.

" } }, "OutputFormat": { "base": null, "refs": { + "StartSpeechSynthesisTaskInput$OutputFormat": "

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.

", + "SynthesisTask$OutputFormat": "

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.

", "SynthesizeSpeechInput$OutputFormat": "

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": { + "base": null, + "refs": { + "StartSpeechSynthesisTaskInput$OutputS3BucketName": "

Amazon S3 bucket name to which the output file will be saved.

" + } + }, + "OutputS3KeyPrefix": { + "base": null, + "refs": { + "StartSpeechSynthesisTaskInput$OutputS3KeyPrefix": "

The Amazon S3 key prefix for the output speech file.

" + } + }, + "OutputUri": { + "base": null, + "refs": { + "SynthesisTask$OutputUri": "

Pathway for the output speech file.

" + } + }, "PutLexiconInput": { "base": null, "refs": { @@ -247,12 +353,15 @@ "RequestCharacters": { "base": null, "refs": { + "SynthesisTask$RequestCharacters": "

Number of billable characters synthesized.

", "SynthesizeSpeechOutput$RequestCharacters": "

Number of characters synthesized.

" } }, "SampleRate": { "base": null, "refs": { + "StartSpeechSynthesisTaskInput$SampleRate": "

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\".

", + "SynthesisTask$SampleRate": "

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\".

", "SynthesizeSpeechInput$SampleRate": "

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\".

" } }, @@ -267,6 +376,13 @@ "LexiconAttributes$Size": "

Total size of the lexicon, in characters.

" } }, + "SnsTopicArn": { + "base": null, + "refs": { + "StartSpeechSynthesisTaskInput$SnsTopicArn": "

ARN for the SNS topic optionally used for providing status notification for a speech synthesis task.

", + "SynthesisTask$SnsTopicArn": "

ARN for the SNS topic optionally used for providing status notification for a speech synthesis task.

" + } + }, "SpeechMarkType": { "base": null, "refs": { @@ -276,6 +392,8 @@ "SpeechMarkTypeList": { "base": null, "refs": { + "StartSpeechSynthesisTaskInput$SpeechMarkTypes": "

The type of speech marks returned for the input text.

", + "SynthesisTask$SpeechMarkTypes": "

The type of speech marks returned for the input text.

", "SynthesizeSpeechInput$SpeechMarkTypes": "

The type of speech marks returned for the input text.

" } }, @@ -284,6 +402,35 @@ "refs": { } }, + "StartSpeechSynthesisTaskInput": { + "base": null, + "refs": { + } + }, + "StartSpeechSynthesisTaskOutput": { + "base": null, + "refs": { + } + }, + "SynthesisTask": { + "base": "

SynthesisTask object that provides information about a speech synthesis task.

", + "refs": { + "GetSpeechSynthesisTaskOutput$SynthesisTask": "

SynthesisTask object that provides information from the requested task, including output format, creation time, task status, and so on.

", + "StartSpeechSynthesisTaskOutput$SynthesisTask": "

SynthesisTask object that provides information and attributes about a newly submitted speech synthesis task.

", + "SynthesisTasks$member": null + } + }, + "SynthesisTaskNotFoundException": { + "base": "

The Speech Synthesis task with requested Task ID cannot be found.

", + "refs": { + } + }, + "SynthesisTasks": { + "base": null, + "refs": { + "ListSpeechSynthesisTasksOutput$SynthesisTasks": "

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.

" + } + }, "SynthesizeSpeechInput": { "base": null, "refs": { @@ -294,20 +441,43 @@ "refs": { } }, + "TaskId": { + "base": null, + "refs": { + "GetSpeechSynthesisTaskInput$TaskId": "

The Amazon Polly generated identifier for a speech synthesis task.

", + "SynthesisTask$TaskId": "

The Amazon Polly generated identifier for a speech synthesis task.

" + } + }, + "TaskStatus": { + "base": null, + "refs": { + "ListSpeechSynthesisTasksInput$Status": "

Status of the speech synthesis tasks returned in a List operation

", + "SynthesisTask$TaskStatus": "

Current status of the individual speech synthesis task.

" + } + }, + "TaskStatusReason": { + "base": null, + "refs": { + "SynthesisTask$TaskStatusReason": "

Reason for the current status of a specific speech synthesis task, including errors if the task has failed.

" + } + }, "Text": { "base": null, "refs": { + "StartSpeechSynthesisTaskInput$Text": "

The input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the input text.

", "SynthesizeSpeechInput$Text": "

Input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the input text.

" } }, "TextLengthExceededException": { - "base": "

The value of the \"Text\" parameter is longer than the accepted limits. The limit for input text is a maximum of 3000 characters total, of which no more than 1500 can be billed characters. SSML tags are not counted as billed characters.

", + "base": "

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.

", "refs": { } }, "TextType": { "base": null, "refs": { + "StartSpeechSynthesisTaskInput$TextType": "

Specifies whether the input text is plain text or SSML. The default value is plain text.

", + "SynthesisTask$TextType": "

Specifies whether the input text is plain text or SSML. The default value is plain text.

", "SynthesizeSpeechInput$TextType": "

Specifies whether the input text is plain text or SSML. The default value is plain text. For more information, see Using SSML.

" } }, @@ -330,6 +500,8 @@ "VoiceId": { "base": null, "refs": { + "StartSpeechSynthesisTaskInput$VoiceId": "

Voice ID to use for the synthesis.

", + "SynthesisTask$VoiceId": "

Voice ID to use for the synthesis.

", "SynthesizeSpeechInput$VoiceId": "

Voice ID to use for the synthesis. You can get a list of available voice IDs by calling the DescribeVoices operation.

", "Voice$Id": "

Amazon Polly assigned voice ID. This is the ID that you specify when calling the SynthesizeSpeech operation.

" } diff --git a/models/apis/polly/2016-06-10/paginators-1.json b/models/apis/polly/2016-06-10/paginators-1.json index 5677bd8e4a2..3b06676e0d9 100644 --- a/models/apis/polly/2016-06-10/paginators-1.json +++ b/models/apis/polly/2016-06-10/paginators-1.json @@ -1,4 +1,9 @@ { "pagination": { + "ListSpeechSynthesisTasks": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } } } diff --git a/models/apis/polly/2016-06-10/smoke.json b/models/apis/polly/2016-06-10/smoke.json new file mode 100644 index 00000000000..13bd72715d3 --- /dev/null +++ b/models/apis/polly/2016-06-10/smoke.json @@ -0,0 +1,11 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeVoices", + "input": {}, + "errorExpectedFromService": false + } + ] +} diff --git a/models/apis/rds/2013-01-10/api-2.json b/models/apis/rds/2013-01-10/api-2.json deleted file mode 100644 index f7b1614c737..00000000000 --- a/models/apis/rds/2013-01-10/api-2.json +++ /dev/null @@ -1,2903 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2013-01-10", - "endpointPrefix":"rds", - "protocol":"query", - "serviceAbbreviation":"Amazon RDS", - "serviceFullName":"Amazon Relational Database Service", - "serviceId":"RDS", - "signatureVersion":"v4", - "uid":"rds-2013-01-10", - "xmlNamespace":"http://rds.amazonaws.com/doc/2013-01-10/" - }, - "operations":{ - "AddSourceIdentifierToSubscription":{ - "name":"AddSourceIdentifierToSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddSourceIdentifierToSubscriptionMessage"}, - "output":{ - "shape":"AddSourceIdentifierToSubscriptionResult", - "resultWrapper":"AddSourceIdentifierToSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"SourceNotFoundFault"} - ] - }, - "AddTagsToResource":{ - "name":"AddTagsToResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToResourceMessage"}, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "AuthorizeDBSecurityGroupIngress":{ - "name":"AuthorizeDBSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeDBSecurityGroupIngressMessage"}, - "output":{ - "shape":"AuthorizeDBSecurityGroupIngressResult", - "resultWrapper":"AuthorizeDBSecurityGroupIngressResult" - }, - "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"AuthorizationAlreadyExistsFault"}, - {"shape":"AuthorizationQuotaExceededFault"} - ] - }, - "CopyDBSnapshot":{ - "name":"CopyDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyDBSnapshotMessage"}, - "output":{ - "shape":"CopyDBSnapshotResult", - "resultWrapper":"CopyDBSnapshotResult" - }, - "errors":[ - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"SnapshotQuotaExceededFault"} - ] - }, - "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":"InvalidSubnet"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, - {"shape":"OptionGroupNotFoundFault"} - ] - }, - "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"} - ] - }, - "CreateDBParameterGroup":{ - "name":"CreateDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBParameterGroupMessage"}, - "output":{ - "shape":"CreateDBParameterGroupResult", - "resultWrapper":"CreateDBParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupQuotaExceededFault"}, - {"shape":"DBParameterGroupAlreadyExistsFault"} - ] - }, - "CreateDBSecurityGroup":{ - "name":"CreateDBSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBSecurityGroupMessage"}, - "output":{ - "shape":"CreateDBSecurityGroupResult", - "resultWrapper":"CreateDBSecurityGroupResult" - }, - "errors":[ - {"shape":"DBSecurityGroupAlreadyExistsFault"}, - {"shape":"DBSecurityGroupQuotaExceededFault"}, - {"shape":"DBSecurityGroupNotSupportedFault"} - ] - }, - "CreateDBSnapshot":{ - "name":"CreateDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBSnapshotMessage"}, - "output":{ - "shape":"CreateDBSnapshotResult", - "resultWrapper":"CreateDBSnapshotResult" - }, - "errors":[ - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"SnapshotQuotaExceededFault"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "CreateOptionGroup":{ - "name":"CreateOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateOptionGroupMessage"}, - "output":{ - "shape":"CreateOptionGroupResult", - "resultWrapper":"CreateOptionGroupResult" - }, - "errors":[ - {"shape":"OptionGroupAlreadyExistsFault"}, - {"shape":"OptionGroupQuotaExceededFault"} - ] - }, - "DeleteDBInstance":{ - "name":"DeleteDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBInstanceMessage"}, - "output":{ - "shape":"DeleteDBInstanceResult", - "resultWrapper":"DeleteDBInstanceResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"SnapshotQuotaExceededFault"} - ] - }, - "DeleteDBParameterGroup":{ - "name":"DeleteDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBParameterGroupMessage"}, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ] - }, - "DeleteDBSecurityGroup":{ - "name":"DeleteDBSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSecurityGroupMessage"}, - "errors":[ - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"DBSecurityGroupNotFoundFault"} - ] - }, - "DeleteDBSnapshot":{ - "name":"DeleteDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSnapshotMessage"}, - "output":{ - "shape":"DeleteDBSnapshotResult", - "resultWrapper":"DeleteDBSnapshotResult" - }, - "errors":[ - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "DeleteDBSubnetGroup":{ - "name":"DeleteDBSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSubnetGroupMessage"}, - "errors":[ - {"shape":"InvalidDBSubnetGroupStateFault"}, - {"shape":"InvalidDBSubnetStateFault"}, - {"shape":"DBSubnetGroupNotFoundFault"} - ] - }, - "DeleteEventSubscription":{ - "name":"DeleteEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEventSubscriptionMessage"}, - "output":{ - "shape":"DeleteEventSubscriptionResult", - "resultWrapper":"DeleteEventSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"InvalidEventSubscriptionStateFault"} - ] - }, - "DeleteOptionGroup":{ - "name":"DeleteOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteOptionGroupMessage"}, - "errors":[ - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"InvalidOptionGroupStateFault"} - ] - }, - "DescribeDBEngineVersions":{ - "name":"DescribeDBEngineVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBEngineVersionsMessage"}, - "output":{ - "shape":"DBEngineVersionMessage", - "resultWrapper":"DescribeDBEngineVersionsResult" - } - }, - "DescribeDBInstances":{ - "name":"DescribeDBInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBInstancesMessage"}, - "output":{ - "shape":"DBInstanceMessage", - "resultWrapper":"DescribeDBInstancesResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"} - ] - }, - "DescribeDBParameterGroups":{ - "name":"DescribeDBParameterGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBParameterGroupsMessage"}, - "output":{ - "shape":"DBParameterGroupsMessage", - "resultWrapper":"DescribeDBParameterGroupsResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ] - }, - "DescribeDBParameters":{ - "name":"DescribeDBParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBParametersMessage"}, - "output":{ - "shape":"DBParameterGroupDetails", - "resultWrapper":"DescribeDBParametersResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ] - }, - "DescribeDBSecurityGroups":{ - "name":"DescribeDBSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSecurityGroupsMessage"}, - "output":{ - "shape":"DBSecurityGroupMessage", - "resultWrapper":"DescribeDBSecurityGroupsResult" - }, - "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"} - ] - }, - "DescribeDBSnapshots":{ - "name":"DescribeDBSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSnapshotsMessage"}, - "output":{ - "shape":"DBSnapshotMessage", - "resultWrapper":"DescribeDBSnapshotsResult" - }, - "errors":[ - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "DescribeDBSubnetGroups":{ - "name":"DescribeDBSubnetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSubnetGroupsMessage"}, - "output":{ - "shape":"DBSubnetGroupMessage", - "resultWrapper":"DescribeDBSubnetGroupsResult" - }, - "errors":[ - {"shape":"DBSubnetGroupNotFoundFault"} - ] - }, - "DescribeEngineDefaultParameters":{ - "name":"DescribeEngineDefaultParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEngineDefaultParametersMessage"}, - "output":{ - "shape":"DescribeEngineDefaultParametersResult", - "resultWrapper":"DescribeEngineDefaultParametersResult" - } - }, - "DescribeEventCategories":{ - "name":"DescribeEventCategories", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventCategoriesMessage"}, - "output":{ - "shape":"EventCategoriesMessage", - "resultWrapper":"DescribeEventCategoriesResult" - } - }, - "DescribeEventSubscriptions":{ - "name":"DescribeEventSubscriptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventSubscriptionsMessage"}, - "output":{ - "shape":"EventSubscriptionsMessage", - "resultWrapper":"DescribeEventSubscriptionsResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"} - ] - }, - "DescribeEvents":{ - "name":"DescribeEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventsMessage"}, - "output":{ - "shape":"EventsMessage", - "resultWrapper":"DescribeEventsResult" - } - }, - "DescribeOptionGroupOptions":{ - "name":"DescribeOptionGroupOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOptionGroupOptionsMessage"}, - "output":{ - "shape":"OptionGroupOptionsMessage", - "resultWrapper":"DescribeOptionGroupOptionsResult" - } - }, - "DescribeOptionGroups":{ - "name":"DescribeOptionGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOptionGroupsMessage"}, - "output":{ - "shape":"OptionGroups", - "resultWrapper":"DescribeOptionGroupsResult" - }, - "errors":[ - {"shape":"OptionGroupNotFoundFault"} - ] - }, - "DescribeOrderableDBInstanceOptions":{ - "name":"DescribeOrderableDBInstanceOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOrderableDBInstanceOptionsMessage"}, - "output":{ - "shape":"OrderableDBInstanceOptionsMessage", - "resultWrapper":"DescribeOrderableDBInstanceOptionsResult" - } - }, - "DescribeReservedDBInstances":{ - "name":"DescribeReservedDBInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedDBInstancesMessage"}, - "output":{ - "shape":"ReservedDBInstanceMessage", - "resultWrapper":"DescribeReservedDBInstancesResult" - }, - "errors":[ - {"shape":"ReservedDBInstanceNotFoundFault"} - ] - }, - "DescribeReservedDBInstancesOfferings":{ - "name":"DescribeReservedDBInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedDBInstancesOfferingsMessage"}, - "output":{ - "shape":"ReservedDBInstancesOfferingMessage", - "resultWrapper":"DescribeReservedDBInstancesOfferingsResult" - }, - "errors":[ - {"shape":"ReservedDBInstancesOfferingNotFoundFault"} - ] - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceMessage"}, - "output":{ - "shape":"TagListMessage", - "resultWrapper":"ListTagsForResourceResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "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"} - ] - }, - "ModifyDBParameterGroup":{ - "name":"ModifyDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBParameterGroupMessage"}, - "output":{ - "shape":"DBParameterGroupNameMessage", - "resultWrapper":"ModifyDBParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"InvalidDBParameterGroupStateFault"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ModifyOptionGroup":{ - "name":"ModifyOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyOptionGroupMessage"}, - "output":{ - "shape":"ModifyOptionGroupResult", - "resultWrapper":"ModifyOptionGroupResult" - }, - "errors":[ - {"shape":"InvalidOptionGroupStateFault"}, - {"shape":"OptionGroupNotFoundFault"} - ] - }, - "PromoteReadReplica":{ - "name":"PromoteReadReplica", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PromoteReadReplicaMessage"}, - "output":{ - "shape":"PromoteReadReplicaResult", - "resultWrapper":"PromoteReadReplicaResult" - }, - "errors":[ - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"} - ] - }, - "PurchaseReservedDBInstancesOffering":{ - "name":"PurchaseReservedDBInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedDBInstancesOfferingMessage"}, - "output":{ - "shape":"PurchaseReservedDBInstancesOfferingResult", - "resultWrapper":"PurchaseReservedDBInstancesOfferingResult" - }, - "errors":[ - {"shape":"ReservedDBInstancesOfferingNotFoundFault"}, - {"shape":"ReservedDBInstanceAlreadyExistsFault"}, - {"shape":"ReservedDBInstanceQuotaExceededFault"} - ] - }, - "RebootDBInstance":{ - "name":"RebootDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootDBInstanceMessage"}, - "output":{ - "shape":"RebootDBInstanceResult", - "resultWrapper":"RebootDBInstanceResult" - }, - "errors":[ - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"} - ] - }, - "RemoveSourceIdentifierFromSubscription":{ - "name":"RemoveSourceIdentifierFromSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveSourceIdentifierFromSubscriptionMessage"}, - "output":{ - "shape":"RemoveSourceIdentifierFromSubscriptionResult", - "resultWrapper":"RemoveSourceIdentifierFromSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"SourceNotFoundFault"} - ] - }, - "RemoveTagsFromResource":{ - "name":"RemoveTagsFromResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromResourceMessage"}, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "ResetDBParameterGroup":{ - "name":"ResetDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetDBParameterGroupMessage"}, - "output":{ - "shape":"DBParameterGroupNameMessage", - "resultWrapper":"ResetDBParameterGroupResult" - }, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "RevokeDBSecurityGroupIngress":{ - "name":"RevokeDBSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeDBSecurityGroupIngressMessage"}, - "output":{ - "shape":"RevokeDBSecurityGroupIngressResult", - "resultWrapper":"RevokeDBSecurityGroupIngressResult" - }, - "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"InvalidDBSecurityGroupStateFault"} - ] - } - }, - "shapes":{ - "AddSourceIdentifierToSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SourceIdentifier" - ], - "members":{ - "SubscriptionName":{"shape":"String"}, - "SourceIdentifier":{"shape":"String"} - } - }, - "AddSourceIdentifierToSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "AddTagsToResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "Tags" - ], - "members":{ - "ResourceName":{"shape":"String"}, - "Tags":{"shape":"TagList"} - } - }, - "ApplyMethod":{ - "type":"string", - "enum":[ - "immediate", - "pending-reboot" - ] - }, - "AuthorizationAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AuthorizationNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "AuthorizationQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AuthorizeDBSecurityGroupIngressMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "CIDRIP":{"shape":"String"}, - "EC2SecurityGroupName":{"shape":"String"}, - "EC2SecurityGroupId":{"shape":"String"}, - "EC2SecurityGroupOwnerId":{"shape":"String"} - } - }, - "AuthorizeDBSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "ProvisionedIopsCapable":{"shape":"Boolean"} - }, - "wrapper":true - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"AvailabilityZone" - } - }, - "Boolean":{"type":"boolean"}, - "BooleanOptional":{"type":"boolean"}, - "CharacterSet":{ - "type":"structure", - "members":{ - "CharacterSetName":{"shape":"String"}, - "CharacterSetDescription":{"shape":"String"} - } - }, - "CopyDBSnapshotMessage":{ - "type":"structure", - "required":[ - "SourceDBSnapshotIdentifier", - "TargetDBSnapshotIdentifier" - ], - "members":{ - "SourceDBSnapshotIdentifier":{"shape":"String"}, - "TargetDBSnapshotIdentifier":{"shape":"String"} - } - }, - "CopyDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "CreateDBInstanceMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "AllocatedStorage", - "DBInstanceClass", - "Engine", - "MasterUsername", - "MasterUserPassword" - ], - "members":{ - "DBName":{"shape":"String"}, - "DBInstanceIdentifier":{"shape":"String"}, - "AllocatedStorage":{"shape":"IntegerOptional"}, - "DBInstanceClass":{"shape":"String"}, - "Engine":{"shape":"String"}, - "MasterUsername":{"shape":"String"}, - "MasterUserPassword":{"shape":"String"}, - "DBSecurityGroups":{"shape":"DBSecurityGroupNameList"}, - "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, - "AvailabilityZone":{"shape":"String"}, - "DBSubnetGroupName":{"shape":"String"}, - "PreferredMaintenanceWindow":{"shape":"String"}, - "DBParameterGroupName":{"shape":"String"}, - "BackupRetentionPeriod":{"shape":"IntegerOptional"}, - "PreferredBackupWindow":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "EngineVersion":{"shape":"String"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "LicenseModel":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "CharacterSetName":{"shape":"String"}, - "PubliclyAccessible":{"shape":"BooleanOptional"} - } - }, - "CreateDBInstanceReadReplicaMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "SourceDBInstanceIdentifier" - ], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "SourceDBInstanceIdentifier":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "AvailabilityZone":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "PubliclyAccessible":{"shape":"BooleanOptional"} - } - }, - "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"}, - "DBParameterGroupFamily":{"shape":"String"}, - "Description":{"shape":"String"} - } - }, - "CreateDBParameterGroupResult":{ - "type":"structure", - "members":{ - "DBParameterGroup":{"shape":"DBParameterGroup"} - } - }, - "CreateDBSecurityGroupMessage":{ - "type":"structure", - "required":[ - "DBSecurityGroupName", - "DBSecurityGroupDescription" - ], - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "DBSecurityGroupDescription":{"shape":"String"} - } - }, - "CreateDBSecurityGroupResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "CreateDBSnapshotMessage":{ - "type":"structure", - "required":[ - "DBSnapshotIdentifier", - "DBInstanceIdentifier" - ], - "members":{ - "DBSnapshotIdentifier":{"shape":"String"}, - "DBInstanceIdentifier":{"shape":"String"} - } - }, - "CreateDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "CreateDBSubnetGroupMessage":{ - "type":"structure", - "required":[ - "DBSubnetGroupName", - "DBSubnetGroupDescription", - "SubnetIds" - ], - "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "DBSubnetGroupDescription":{"shape":"String"}, - "SubnetIds":{"shape":"SubnetIdentifierList"} - } - }, - "CreateDBSubnetGroupResult":{ - "type":"structure", - "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } - }, - "CreateEventSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SnsTopicArn" - ], - "members":{ - "SubscriptionName":{"shape":"String"}, - "SnsTopicArn":{"shape":"String"}, - "SourceType":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "SourceIds":{"shape":"SourceIdsList"}, - "Enabled":{"shape":"BooleanOptional"} - } - }, - "CreateEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "CreateOptionGroupMessage":{ - "type":"structure", - "required":[ - "OptionGroupName", - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], - "members":{ - "OptionGroupName":{"shape":"String"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "OptionGroupDescription":{"shape":"String"} - } - }, - "CreateOptionGroupResult":{ - "type":"structure", - "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } - }, - "DBEngineVersion":{ - "type":"structure", - "members":{ - "Engine":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "DBParameterGroupFamily":{"shape":"String"}, - "DBEngineDescription":{"shape":"String"}, - "DBEngineVersionDescription":{"shape":"String"}, - "DefaultCharacterSet":{"shape":"CharacterSet"}, - "SupportedCharacterSets":{"shape":"SupportedCharacterSetsList"} - } - }, - "DBEngineVersionList":{ - "type":"list", - "member":{ - "shape":"DBEngineVersion", - "locationName":"DBEngineVersion" - } - }, - "DBEngineVersionMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBEngineVersions":{"shape":"DBEngineVersionList"} - } - }, - "DBInstance":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Engine":{"shape":"String"}, - "DBInstanceStatus":{"shape":"String"}, - "MasterUsername":{"shape":"String"}, - "DBName":{"shape":"String"}, - "Endpoint":{"shape":"Endpoint"}, - "AllocatedStorage":{"shape":"Integer"}, - "InstanceCreateTime":{"shape":"TStamp"}, - "PreferredBackupWindow":{"shape":"String"}, - "BackupRetentionPeriod":{"shape":"Integer"}, - "DBSecurityGroups":{"shape":"DBSecurityGroupMembershipList"}, - "VpcSecurityGroups":{"shape":"VpcSecurityGroupMembershipList"}, - "DBParameterGroups":{"shape":"DBParameterGroupStatusList"}, - "AvailabilityZone":{"shape":"String"}, - "DBSubnetGroup":{"shape":"DBSubnetGroup"}, - "PreferredMaintenanceWindow":{"shape":"String"}, - "PendingModifiedValues":{"shape":"PendingModifiedValues"}, - "LatestRestorableTime":{"shape":"TStamp"}, - "MultiAZ":{"shape":"Boolean"}, - "EngineVersion":{"shape":"String"}, - "AutoMinorVersionUpgrade":{"shape":"Boolean"}, - "ReadReplicaSourceDBInstanceIdentifier":{"shape":"String"}, - "ReadReplicaDBInstanceIdentifiers":{"shape":"ReadReplicaDBInstanceIdentifierList"}, - "LicenseModel":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupMembership":{"shape":"OptionGroupMembership"}, - "CharacterSetName":{"shape":"String"}, - "SecondaryAvailabilityZone":{"shape":"String"}, - "PubliclyAccessible":{"shape":"Boolean"} - }, - "wrapper":true - }, - "DBInstanceAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBInstanceAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBInstanceList":{ - "type":"list", - "member":{ - "shape":"DBInstance", - "locationName":"DBInstance" - } - }, - "DBInstanceMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBInstances":{"shape":"DBInstanceList"} - } - }, - "DBInstanceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroup":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "DBParameterGroupFamily":{"shape":"String"}, - "Description":{"shape":"String"} - }, - "wrapper":true - }, - "DBParameterGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBParameterGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupDetails":{ - "type":"structure", - "members":{ - "Parameters":{"shape":"ParametersList"}, - "Marker":{"shape":"String"} - } - }, - "DBParameterGroupList":{ - "type":"list", - "member":{ - "shape":"DBParameterGroup", - "locationName":"DBParameterGroup" - } - }, - "DBParameterGroupNameMessage":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{"shape":"String"} - } - }, - "DBParameterGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBParameterGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupStatus":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "ParameterApplyStatus":{"shape":"String"} - } - }, - "DBParameterGroupStatusList":{ - "type":"list", - "member":{ - "shape":"DBParameterGroupStatus", - "locationName":"DBParameterGroup" - } - }, - "DBParameterGroupsMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBParameterGroups":{"shape":"DBParameterGroupList"} - } - }, - "DBSecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{"shape":"String"}, - "DBSecurityGroupName":{"shape":"String"}, - "DBSecurityGroupDescription":{"shape":"String"}, - "VpcId":{"shape":"String"}, - "EC2SecurityGroups":{"shape":"EC2SecurityGroupList"}, - "IPRanges":{"shape":"IPRangeList"} - }, - "wrapper":true - }, - "DBSecurityGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroupMembership":{ - "type":"structure", - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "Status":{"shape":"String"} - } - }, - "DBSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"DBSecurityGroupMembership", - "locationName":"DBSecurityGroup" - } - }, - "DBSecurityGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBSecurityGroups":{"shape":"DBSecurityGroups"} - } - }, - "DBSecurityGroupNameList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DBSecurityGroupName" - } - }, - "DBSecurityGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroupNotSupportedFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "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"}, - "DBInstanceIdentifier":{"shape":"String"}, - "SnapshotCreateTime":{"shape":"TStamp"}, - "Engine":{"shape":"String"}, - "AllocatedStorage":{"shape":"Integer"}, - "Status":{"shape":"String"}, - "Port":{"shape":"Integer"}, - "AvailabilityZone":{"shape":"String"}, - "VpcId":{"shape":"String"}, - "InstanceCreateTime":{"shape":"TStamp"}, - "MasterUsername":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "LicenseModel":{"shape":"String"}, - "SnapshotType":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"} - }, - "wrapper":true - }, - "DBSnapshotAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSnapshotAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSnapshotList":{ - "type":"list", - "member":{ - "shape":"DBSnapshot", - "locationName":"DBSnapshot" - } - }, - "DBSnapshotMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBSnapshots":{"shape":"DBSnapshotList"} - } - }, - "DBSnapshotNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroup":{ - "type":"structure", - "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "DBSubnetGroupDescription":{"shape":"String"}, - "VpcId":{"shape":"String"}, - "SubnetGroupStatus":{"shape":"String"}, - "Subnets":{"shape":"SubnetList"} - }, - "wrapper":true - }, - "DBSubnetGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupDoesNotCoverEnoughAZs":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupDoesNotCoverEnoughAZs", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBSubnetGroups":{"shape":"DBSubnetGroups"} - } - }, - "DBSubnetGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroups":{ - "type":"list", - "member":{ - "shape":"DBSubnetGroup", - "locationName":"DBSubnetGroup" - } - }, - "DBSubnetQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBUpgradeDependencyFailureFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBUpgradeDependencyFailure", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DeleteDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "SkipFinalSnapshot":{"shape":"Boolean"}, - "FinalDBSnapshotIdentifier":{"shape":"String"} - } - }, - "DeleteDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "DeleteDBParameterGroupMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{"shape":"String"} - } - }, - "DeleteDBSecurityGroupMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{"shape":"String"} - } - }, - "DeleteDBSnapshotMessage":{ - "type":"structure", - "required":["DBSnapshotIdentifier"], - "members":{ - "DBSnapshotIdentifier":{"shape":"String"} - } - }, - "DeleteDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "DeleteDBSubnetGroupMessage":{ - "type":"structure", - "required":["DBSubnetGroupName"], - "members":{ - "DBSubnetGroupName":{"shape":"String"} - } - }, - "DeleteEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{"shape":"String"} - } - }, - "DeleteEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "DeleteOptionGroupMessage":{ - "type":"structure", - "required":["OptionGroupName"], - "members":{ - "OptionGroupName":{"shape":"String"} - } - }, - "DescribeDBEngineVersionsMessage":{ - "type":"structure", - "members":{ - "Engine":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "DBParameterGroupFamily":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"}, - "DefaultOnly":{"shape":"Boolean"}, - "ListSupportedCharacterSets":{"shape":"BooleanOptional"} - } - }, - "DescribeDBInstancesMessage":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBParameterGroupsMessage":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "Source":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBSecurityGroupsMessage":{ - "type":"structure", - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBSnapshotsMessage":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "DBSnapshotIdentifier":{"shape":"String"}, - "SnapshotType":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBSubnetGroupsMessage":{ - "type":"structure", - "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeEngineDefaultParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupFamily"], - "members":{ - "DBParameterGroupFamily":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeEngineDefaultParametersResult":{ - "type":"structure", - "members":{ - "EngineDefaults":{"shape":"EngineDefaults"} - } - }, - "DescribeEventCategoriesMessage":{ - "type":"structure", - "members":{ - "SourceType":{"shape":"String"} - } - }, - "DescribeEventSubscriptionsMessage":{ - "type":"structure", - "members":{ - "SubscriptionName":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeEventsMessage":{ - "type":"structure", - "members":{ - "SourceIdentifier":{"shape":"String"}, - "SourceType":{"shape":"SourceType"}, - "StartTime":{"shape":"TStamp"}, - "EndTime":{"shape":"TStamp"}, - "Duration":{"shape":"IntegerOptional"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeOptionGroupOptionsMessage":{ - "type":"structure", - "required":["EngineName"], - "members":{ - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeOptionGroupsMessage":{ - "type":"structure", - "members":{ - "OptionGroupName":{"shape":"String"}, - "Marker":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"} - } - }, - "DescribeOrderableDBInstanceOptionsMessage":{ - "type":"structure", - "required":["Engine"], - "members":{ - "Engine":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "LicenseModel":{"shape":"String"}, - "Vpc":{"shape":"BooleanOptional"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeReservedDBInstancesMessage":{ - "type":"structure", - "members":{ - "ReservedDBInstanceId":{"shape":"String"}, - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Duration":{"shape":"String"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeReservedDBInstancesOfferingsMessage":{ - "type":"structure", - "members":{ - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Duration":{"shape":"String"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "Double":{"type":"double"}, - "EC2SecurityGroup":{ - "type":"structure", - "members":{ - "Status":{"shape":"String"}, - "EC2SecurityGroupName":{"shape":"String"}, - "EC2SecurityGroupId":{"shape":"String"}, - "EC2SecurityGroupOwnerId":{"shape":"String"} - } - }, - "EC2SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"EC2SecurityGroup", - "locationName":"EC2SecurityGroup" - } - }, - "Endpoint":{ - "type":"structure", - "members":{ - "Address":{"shape":"String"}, - "Port":{"shape":"Integer"} - } - }, - "EngineDefaults":{ - "type":"structure", - "members":{ - "DBParameterGroupFamily":{"shape":"String"}, - "Marker":{"shape":"String"}, - "Parameters":{"shape":"ParametersList"} - }, - "wrapper":true - }, - "Event":{ - "type":"structure", - "members":{ - "SourceIdentifier":{"shape":"String"}, - "SourceType":{"shape":"SourceType"}, - "Message":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "Date":{"shape":"TStamp"} - } - }, - "EventCategoriesList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"EventCategory" - } - }, - "EventCategoriesMap":{ - "type":"structure", - "members":{ - "SourceType":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"} - }, - "wrapper":true - }, - "EventCategoriesMapList":{ - "type":"list", - "member":{ - "shape":"EventCategoriesMap", - "locationName":"EventCategoriesMap" - } - }, - "EventCategoriesMessage":{ - "type":"structure", - "members":{ - "EventCategoriesMapList":{"shape":"EventCategoriesMapList"} - } - }, - "EventList":{ - "type":"list", - "member":{ - "shape":"Event", - "locationName":"Event" - } - }, - "EventSubscription":{ - "type":"structure", - "members":{ - "Id":{"shape":"String"}, - "CustomerAwsId":{"shape":"String"}, - "CustSubscriptionId":{"shape":"String"}, - "SnsTopicArn":{"shape":"String"}, - "Status":{"shape":"String"}, - "SubscriptionCreationTime":{"shape":"String"}, - "SourceType":{"shape":"String"}, - "SourceIdsList":{"shape":"SourceIdsList"}, - "EventCategoriesList":{"shape":"EventCategoriesList"}, - "Enabled":{"shape":"Boolean"} - }, - "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"}, - "EventSubscriptionsList":{"shape":"EventSubscriptionsList"} - } - }, - "EventsMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "Events":{"shape":"EventList"} - } - }, - "IPRange":{ - "type":"structure", - "members":{ - "Status":{"shape":"String"}, - "CIDRIP":{"shape":"String"} - } - }, - "IPRangeList":{ - "type":"list", - "member":{ - "shape":"IPRange", - "locationName":"IPRange" - } - }, - "InstanceQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InsufficientDBInstanceCapacityFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InsufficientDBInstanceCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Integer":{"type":"integer"}, - "IntegerOptional":{"type":"integer"}, - "InvalidDBInstanceStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBInstanceState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBParameterGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSecurityGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSnapshotStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSubnetGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSubnetGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSubnetStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSubnetStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidEventSubscriptionStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidEventSubscriptionState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidOptionGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidOptionGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidRestoreFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidRestoreFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSubnet":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidVPCNetworkStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "KeyList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ListTagsForResourceMessage":{ - "type":"structure", - "required":["ResourceName"], - "members":{ - "ResourceName":{"shape":"String"} - } - }, - "ModifyDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "AllocatedStorage":{"shape":"IntegerOptional"}, - "DBInstanceClass":{"shape":"String"}, - "DBSecurityGroups":{"shape":"DBSecurityGroupNameList"}, - "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, - "ApplyImmediately":{"shape":"Boolean"}, - "MasterUserPassword":{"shape":"String"}, - "DBParameterGroupName":{"shape":"String"}, - "BackupRetentionPeriod":{"shape":"IntegerOptional"}, - "PreferredBackupWindow":{"shape":"String"}, - "PreferredMaintenanceWindow":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "EngineVersion":{"shape":"String"}, - "AllowMajorVersionUpgrade":{"shape":"Boolean"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "NewDBInstanceIdentifier":{"shape":"String"} - } - }, - "ModifyDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "ModifyDBParameterGroupMessage":{ - "type":"structure", - "required":[ - "DBParameterGroupName", - "Parameters" - ], - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "Parameters":{"shape":"ParametersList"} - } - }, - "ModifyDBSubnetGroupMessage":{ - "type":"structure", - "required":[ - "DBSubnetGroupName", - "SubnetIds" - ], - "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "DBSubnetGroupDescription":{"shape":"String"}, - "SubnetIds":{"shape":"SubnetIdentifierList"} - } - }, - "ModifyDBSubnetGroupResult":{ - "type":"structure", - "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } - }, - "ModifyEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{"shape":"String"}, - "SnsTopicArn":{"shape":"String"}, - "SourceType":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "Enabled":{"shape":"BooleanOptional"} - } - }, - "ModifyEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "ModifyOptionGroupMessage":{ - "type":"structure", - "required":["OptionGroupName"], - "members":{ - "OptionGroupName":{"shape":"String"}, - "OptionsToInclude":{"shape":"OptionConfigurationList"}, - "OptionsToRemove":{"shape":"OptionNamesList"}, - "ApplyImmediately":{"shape":"Boolean"} - } - }, - "ModifyOptionGroupResult":{ - "type":"structure", - "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } - }, - "Option":{ - "type":"structure", - "members":{ - "OptionName":{"shape":"String"}, - "OptionDescription":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "DBSecurityGroupMemberships":{"shape":"DBSecurityGroupMembershipList"}, - "VpcSecurityGroupMemberships":{"shape":"VpcSecurityGroupMembershipList"} - } - }, - "OptionConfiguration":{ - "type":"structure", - "required":["OptionName"], - "members":{ - "OptionName":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "DBSecurityGroupMemberships":{"shape":"DBSecurityGroupNameList"}, - "VpcSecurityGroupMemberships":{"shape":"VpcSecurityGroupIdList"} - } - }, - "OptionConfigurationList":{ - "type":"list", - "member":{ - "shape":"OptionConfiguration", - "locationName":"OptionConfiguration" - } - }, - "OptionGroup":{ - "type":"structure", - "members":{ - "OptionGroupName":{"shape":"String"}, - "OptionGroupDescription":{"shape":"String"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "Options":{"shape":"OptionsList"}, - "AllowsVpcAndNonVpcInstanceMemberships":{"shape":"Boolean"}, - "VpcId":{"shape":"String"} - }, - "wrapper":true - }, - "OptionGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "OptionGroupMembership":{ - "type":"structure", - "members":{ - "OptionGroupName":{"shape":"String"}, - "Status":{"shape":"String"} - } - }, - "OptionGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "OptionGroupOption":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "Description":{"shape":"String"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "MinimumRequiredMinorEngineVersion":{"shape":"String"}, - "PortRequired":{"shape":"Boolean"}, - "DefaultPort":{"shape":"IntegerOptional"}, - "OptionsDependedOn":{"shape":"OptionsDependedOn"} - } - }, - "OptionGroupOptionsList":{ - "type":"list", - "member":{ - "shape":"OptionGroupOption", - "locationName":"OptionGroupOption" - } - }, - "OptionGroupOptionsMessage":{ - "type":"structure", - "members":{ - "OptionGroupOptions":{"shape":"OptionGroupOptionsList"}, - "Marker":{"shape":"String"} - } - }, - "OptionGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "OptionGroups":{ - "type":"structure", - "members":{ - "OptionGroupsList":{"shape":"OptionGroupsList"}, - "Marker":{"shape":"String"} - } - }, - "OptionGroupsList":{ - "type":"list", - "member":{ - "shape":"OptionGroup", - "locationName":"OptionGroup" - } - }, - "OptionNamesList":{ - "type":"list", - "member":{"shape":"String"} - }, - "OptionsDependedOn":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"OptionName" - } - }, - "OptionsList":{ - "type":"list", - "member":{ - "shape":"Option", - "locationName":"Option" - } - }, - "OrderableDBInstanceOption":{ - "type":"structure", - "members":{ - "Engine":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "LicenseModel":{"shape":"String"}, - "AvailabilityZones":{"shape":"AvailabilityZoneList"}, - "MultiAZCapable":{"shape":"Boolean"}, - "ReadReplicaCapable":{"shape":"Boolean"}, - "Vpc":{"shape":"Boolean"} - }, - "wrapper":true - }, - "OrderableDBInstanceOptionsList":{ - "type":"list", - "member":{ - "shape":"OrderableDBInstanceOption", - "locationName":"OrderableDBInstanceOption" - } - }, - "OrderableDBInstanceOptionsMessage":{ - "type":"structure", - "members":{ - "OrderableDBInstanceOptions":{"shape":"OrderableDBInstanceOptionsList"}, - "Marker":{"shape":"String"} - } - }, - "Parameter":{ - "type":"structure", - "members":{ - "ParameterName":{"shape":"String"}, - "ParameterValue":{"shape":"String"}, - "Description":{"shape":"String"}, - "Source":{"shape":"String"}, - "ApplyType":{"shape":"String"}, - "DataType":{"shape":"String"}, - "AllowedValues":{"shape":"String"}, - "IsModifiable":{"shape":"Boolean"}, - "MinimumEngineVersion":{"shape":"String"}, - "ApplyMethod":{"shape":"ApplyMethod"} - } - }, - "ParametersList":{ - "type":"list", - "member":{ - "shape":"Parameter", - "locationName":"Parameter" - } - }, - "PendingModifiedValues":{ - "type":"structure", - "members":{ - "DBInstanceClass":{"shape":"String"}, - "AllocatedStorage":{"shape":"IntegerOptional"}, - "MasterUserPassword":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "BackupRetentionPeriod":{"shape":"IntegerOptional"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "EngineVersion":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "DBInstanceIdentifier":{"shape":"String"} - } - }, - "PointInTimeRestoreNotEnabledFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"PointInTimeRestoreNotEnabled", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PromoteReadReplicaMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "BackupRetentionPeriod":{"shape":"IntegerOptional"}, - "PreferredBackupWindow":{"shape":"String"} - } - }, - "PromoteReadReplicaResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "ProvisionedIopsNotAvailableInAZFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ProvisionedIopsNotAvailableInAZFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PurchaseReservedDBInstancesOfferingMessage":{ - "type":"structure", - "required":["ReservedDBInstancesOfferingId"], - "members":{ - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "ReservedDBInstanceId":{"shape":"String"}, - "DBInstanceCount":{"shape":"IntegerOptional"} - } - }, - "PurchaseReservedDBInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedDBInstance":{"shape":"ReservedDBInstance"} - } - }, - "ReadReplicaDBInstanceIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReadReplicaDBInstanceIdentifier" - } - }, - "RebootDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "ForceFailover":{"shape":"BooleanOptional"} - } - }, - "RebootDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "RecurringChargeAmount":{"shape":"Double"}, - "RecurringChargeFrequency":{"shape":"String"} - }, - "wrapper":true - }, - "RecurringChargeList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"RecurringCharge" - } - }, - "RemoveSourceIdentifierFromSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SourceIdentifier" - ], - "members":{ - "SubscriptionName":{"shape":"String"}, - "SourceIdentifier":{"shape":"String"} - } - }, - "RemoveSourceIdentifierFromSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "RemoveTagsFromResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "TagKeys" - ], - "members":{ - "ResourceName":{"shape":"String"}, - "TagKeys":{"shape":"KeyList"} - } - }, - "ReservedDBInstance":{ - "type":"structure", - "members":{ - "ReservedDBInstanceId":{"shape":"String"}, - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "StartTime":{"shape":"TStamp"}, - "Duration":{"shape":"Integer"}, - "FixedPrice":{"shape":"Double"}, - "UsagePrice":{"shape":"Double"}, - "CurrencyCode":{"shape":"String"}, - "DBInstanceCount":{"shape":"Integer"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"Boolean"}, - "State":{"shape":"String"}, - "RecurringCharges":{"shape":"RecurringChargeList"} - }, - "wrapper":true - }, - "ReservedDBInstanceAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstanceAlreadyExists", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstanceList":{ - "type":"list", - "member":{ - "shape":"ReservedDBInstance", - "locationName":"ReservedDBInstance" - } - }, - "ReservedDBInstanceMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "ReservedDBInstances":{"shape":"ReservedDBInstanceList"} - } - }, - "ReservedDBInstanceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstanceQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Duration":{"shape":"Integer"}, - "FixedPrice":{"shape":"Double"}, - "UsagePrice":{"shape":"Double"}, - "CurrencyCode":{"shape":"String"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"Boolean"}, - "RecurringCharges":{"shape":"RecurringChargeList"} - }, - "wrapper":true - }, - "ReservedDBInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedDBInstancesOffering", - "locationName":"ReservedDBInstancesOffering" - } - }, - "ReservedDBInstancesOfferingMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "ReservedDBInstancesOfferings":{"shape":"ReservedDBInstancesOfferingList"} - } - }, - "ReservedDBInstancesOfferingNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstancesOfferingNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ResetDBParameterGroupMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "ResetAllParameters":{"shape":"Boolean"}, - "Parameters":{"shape":"ParametersList"} - } - }, - "RestoreDBInstanceFromDBSnapshotMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "DBSnapshotIdentifier" - ], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "DBSnapshotIdentifier":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "AvailabilityZone":{"shape":"String"}, - "DBSubnetGroupName":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "PubliclyAccessible":{"shape":"BooleanOptional"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "LicenseModel":{"shape":"String"}, - "DBName":{"shape":"String"}, - "Engine":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"} - } - }, - "RestoreDBInstanceFromDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RestoreDBInstanceToPointInTimeMessage":{ - "type":"structure", - "required":[ - "SourceDBInstanceIdentifier", - "TargetDBInstanceIdentifier" - ], - "members":{ - "SourceDBInstanceIdentifier":{"shape":"String"}, - "TargetDBInstanceIdentifier":{"shape":"String"}, - "RestoreTime":{"shape":"TStamp"}, - "UseLatestRestorableTime":{"shape":"Boolean"}, - "DBInstanceClass":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "AvailabilityZone":{"shape":"String"}, - "DBSubnetGroupName":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "PubliclyAccessible":{"shape":"BooleanOptional"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "LicenseModel":{"shape":"String"}, - "DBName":{"shape":"String"}, - "Engine":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"} - } - }, - "RestoreDBInstanceToPointInTimeResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RevokeDBSecurityGroupIngressMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "CIDRIP":{"shape":"String"}, - "EC2SecurityGroupName":{"shape":"String"}, - "EC2SecurityGroupId":{"shape":"String"}, - "EC2SecurityGroupOwnerId":{"shape":"String"} - } - }, - "RevokeDBSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "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 - }, - "SnapshotQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "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" - ] - }, - "StorageQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"StorageQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetIdentifier":{"shape":"String"}, - "SubnetAvailabilityZone":{"shape":"AvailabilityZone"}, - "SubnetStatus":{"shape":"String"} - } - }, - "SubnetAlreadyInUse":{ - "type":"structure", - "members":{ - }, - "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" - } - }, - "TStamp":{"type":"timestamp"}, - "Tag":{ - "type":"structure", - "members":{ - "Key":{"shape":"String"}, - "Value":{"shape":"String"} - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagListMessage":{ - "type":"structure", - "members":{ - "TagList":{"shape":"TagList"} - } - }, - "VpcSecurityGroupIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcSecurityGroupId" - } - }, - "VpcSecurityGroupMembership":{ - "type":"structure", - "members":{ - "VpcSecurityGroupId":{"shape":"String"}, - "Status":{"shape":"String"} - } - }, - "VpcSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"VpcSecurityGroupMembership", - "locationName":"VpcSecurityGroupMembership" - } - } - } -} diff --git a/models/apis/rds/2013-01-10/docs-2.json b/models/apis/rds/2013-01-10/docs-2.json deleted file mode 100644 index 811c7bd7a0c..00000000000 --- a/models/apis/rds/2013-01-10/docs-2.json +++ /dev/null @@ -1,1681 +0,0 @@ -{ - "version": "2.0", - "service": null, - "operations": { - "AddSourceIdentifierToSubscription": null, - "AddTagsToResource": null, - "AuthorizeDBSecurityGroupIngress": null, - "CopyDBSnapshot": null, - "CreateDBInstance": null, - "CreateDBInstanceReadReplica": null, - "CreateDBParameterGroup": null, - "CreateDBSecurityGroup": null, - "CreateDBSnapshot": null, - "CreateDBSubnetGroup": null, - "CreateEventSubscription": null, - "CreateOptionGroup": null, - "DeleteDBInstance": null, - "DeleteDBParameterGroup": null, - "DeleteDBSecurityGroup": null, - "DeleteDBSnapshot": null, - "DeleteDBSubnetGroup": null, - "DeleteEventSubscription": null, - "DeleteOptionGroup": null, - "DescribeDBEngineVersions": null, - "DescribeDBInstances": null, - "DescribeDBParameterGroups": null, - "DescribeDBParameters": null, - "DescribeDBSecurityGroups": null, - "DescribeDBSnapshots": null, - "DescribeDBSubnetGroups": null, - "DescribeEngineDefaultParameters": null, - "DescribeEventCategories": null, - "DescribeEventSubscriptions": null, - "DescribeEvents": null, - "DescribeOptionGroupOptions": null, - "DescribeOptionGroups": null, - "DescribeOrderableDBInstanceOptions": null, - "DescribeReservedDBInstances": null, - "DescribeReservedDBInstancesOfferings": null, - "ListTagsForResource": null, - "ModifyDBInstance": null, - "ModifyDBParameterGroup": null, - "ModifyDBSubnetGroup": null, - "ModifyEventSubscription": null, - "ModifyOptionGroup": null, - "PromoteReadReplica": null, - "PurchaseReservedDBInstancesOffering": null, - "RebootDBInstance": null, - "RemoveSourceIdentifierFromSubscription": null, - "RemoveTagsFromResource": null, - "ResetDBParameterGroup": null, - "RestoreDBInstanceFromDBSnapshot": null, - "RestoreDBInstanceToPointInTime": null, - "RevokeDBSecurityGroupIngress": null - }, - "shapes": { - "AddSourceIdentifierToSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "AddSourceIdentifierToSubscriptionResult": { - "base": null, - "refs": { - } - }, - "AddTagsToResourceMessage": { - "base": null, - "refs": { - } - }, - "ApplyMethod": { - "base": null, - "refs": { - "Parameter$ApplyMethod": null - } - }, - "AuthorizationAlreadyExistsFault": { - "base": "

The specified CIDRIP or EC2 security group is already authorized for the specified DB security group.

", - "refs": { - } - }, - "AuthorizationNotFoundFault": { - "base": "

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.

", - "refs": { - } - }, - "AuthorizationQuotaExceededFault": { - "base": "

DB security group authorization quota has been reached.

", - "refs": { - } - }, - "AuthorizeDBSecurityGroupIngressMessage": { - "base": null, - "refs": { - } - }, - "AuthorizeDBSecurityGroupIngressResult": { - "base": null, - "refs": { - } - }, - "AvailabilityZone": { - "base": null, - "refs": { - "AvailabilityZoneList$member": null, - "Subnet$SubnetAvailabilityZone": null - } - }, - "AvailabilityZoneList": { - "base": null, - "refs": { - "OrderableDBInstanceOption$AvailabilityZones": null - } - }, - "Boolean": { - "base": null, - "refs": { - "AvailabilityZone$ProvisionedIopsCapable": null, - "DBInstance$MultiAZ": null, - "DBInstance$AutoMinorVersionUpgrade": null, - "DBInstance$PubliclyAccessible": null, - "DeleteDBInstanceMessage$SkipFinalSnapshot": null, - "DescribeDBEngineVersionsMessage$DefaultOnly": null, - "EventSubscription$Enabled": null, - "ModifyDBInstanceMessage$ApplyImmediately": null, - "ModifyDBInstanceMessage$AllowMajorVersionUpgrade": null, - "ModifyOptionGroupMessage$ApplyImmediately": null, - "OptionGroup$AllowsVpcAndNonVpcInstanceMemberships": null, - "OptionGroupOption$PortRequired": null, - "OrderableDBInstanceOption$MultiAZCapable": null, - "OrderableDBInstanceOption$ReadReplicaCapable": null, - "OrderableDBInstanceOption$Vpc": null, - "Parameter$IsModifiable": null, - "ReservedDBInstance$MultiAZ": null, - "ReservedDBInstancesOffering$MultiAZ": null, - "ResetDBParameterGroupMessage$ResetAllParameters": null, - "RestoreDBInstanceToPointInTimeMessage$UseLatestRestorableTime": null - } - }, - "BooleanOptional": { - "base": null, - "refs": { - "CreateDBInstanceMessage$MultiAZ": null, - "CreateDBInstanceMessage$AutoMinorVersionUpgrade": null, - "CreateDBInstanceMessage$PubliclyAccessible": null, - "CreateDBInstanceReadReplicaMessage$AutoMinorVersionUpgrade": null, - "CreateDBInstanceReadReplicaMessage$PubliclyAccessible": null, - "CreateEventSubscriptionMessage$Enabled": null, - "DescribeDBEngineVersionsMessage$ListSupportedCharacterSets": null, - "DescribeOrderableDBInstanceOptionsMessage$Vpc": null, - "DescribeReservedDBInstancesMessage$MultiAZ": null, - "DescribeReservedDBInstancesOfferingsMessage$MultiAZ": null, - "ModifyDBInstanceMessage$MultiAZ": null, - "ModifyDBInstanceMessage$AutoMinorVersionUpgrade": null, - "ModifyEventSubscriptionMessage$Enabled": null, - "PendingModifiedValues$MultiAZ": null, - "RebootDBInstanceMessage$ForceFailover": null, - "RestoreDBInstanceFromDBSnapshotMessage$MultiAZ": null, - "RestoreDBInstanceFromDBSnapshotMessage$PubliclyAccessible": null, - "RestoreDBInstanceFromDBSnapshotMessage$AutoMinorVersionUpgrade": null, - "RestoreDBInstanceToPointInTimeMessage$MultiAZ": null, - "RestoreDBInstanceToPointInTimeMessage$PubliclyAccessible": null, - "RestoreDBInstanceToPointInTimeMessage$AutoMinorVersionUpgrade": null - } - }, - "CharacterSet": { - "base": null, - "refs": { - "DBEngineVersion$DefaultCharacterSet": null, - "SupportedCharacterSetsList$member": null - } - }, - "CopyDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "CopyDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceReadReplicaMessage": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceReadReplicaResult": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceResult": { - "base": null, - "refs": { - } - }, - "CreateDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateDBParameterGroupResult": { - "base": null, - "refs": { - } - }, - "CreateDBSecurityGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateDBSecurityGroupResult": { - "base": null, - "refs": { - } - }, - "CreateDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "CreateDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "CreateDBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateDBSubnetGroupResult": { - "base": null, - "refs": { - } - }, - "CreateEventSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "CreateEventSubscriptionResult": { - "base": null, - "refs": { - } - }, - "CreateOptionGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateOptionGroupResult": { - "base": null, - "refs": { - } - }, - "DBEngineVersion": { - "base": null, - "refs": { - "DBEngineVersionList$member": null - } - }, - "DBEngineVersionList": { - "base": null, - "refs": { - "DBEngineVersionMessage$DBEngineVersions": null - } - }, - "DBEngineVersionMessage": { - "base": null, - "refs": { - } - }, - "DBInstance": { - "base": null, - "refs": { - "CreateDBInstanceReadReplicaResult$DBInstance": null, - "CreateDBInstanceResult$DBInstance": null, - "DBInstanceList$member": null, - "DeleteDBInstanceResult$DBInstance": null, - "ModifyDBInstanceResult$DBInstance": null, - "PromoteReadReplicaResult$DBInstance": null, - "RebootDBInstanceResult$DBInstance": null, - "RestoreDBInstanceFromDBSnapshotResult$DBInstance": null, - "RestoreDBInstanceToPointInTimeResult$DBInstance": null - } - }, - "DBInstanceAlreadyExistsFault": { - "base": "

User already has a DB instance with the given identifier.

", - "refs": { - } - }, - "DBInstanceList": { - "base": null, - "refs": { - "DBInstanceMessage$DBInstances": null - } - }, - "DBInstanceMessage": { - "base": null, - "refs": { - } - }, - "DBInstanceNotFoundFault": { - "base": "

DBInstanceIdentifier does not refer to an existing DB instance.

", - "refs": { - } - }, - "DBParameterGroup": { - "base": null, - "refs": { - "CreateDBParameterGroupResult$DBParameterGroup": null, - "DBParameterGroupList$member": null - } - }, - "DBParameterGroupAlreadyExistsFault": { - "base": "

A DB parameter group with the same name exists.

", - "refs": { - } - }, - "DBParameterGroupDetails": { - "base": null, - "refs": { - } - }, - "DBParameterGroupList": { - "base": null, - "refs": { - "DBParameterGroupsMessage$DBParameterGroups": null - } - }, - "DBParameterGroupNameMessage": { - "base": null, - "refs": { - } - }, - "DBParameterGroupNotFoundFault": { - "base": "

DBParameterGroupName does not refer to an existing DB parameter group.

", - "refs": { - } - }, - "DBParameterGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB parameter groups.

", - "refs": { - } - }, - "DBParameterGroupStatus": { - "base": null, - "refs": { - "DBParameterGroupStatusList$member": null - } - }, - "DBParameterGroupStatusList": { - "base": null, - "refs": { - "DBInstance$DBParameterGroups": null - } - }, - "DBParameterGroupsMessage": { - "base": null, - "refs": { - } - }, - "DBSecurityGroup": { - "base": null, - "refs": { - "AuthorizeDBSecurityGroupIngressResult$DBSecurityGroup": null, - "CreateDBSecurityGroupResult$DBSecurityGroup": null, - "DBSecurityGroups$member": null, - "RevokeDBSecurityGroupIngressResult$DBSecurityGroup": null - } - }, - "DBSecurityGroupAlreadyExistsFault": { - "base": "

A DB security group with the name specified in DBSecurityGroupName already exists.

", - "refs": { - } - }, - "DBSecurityGroupMembership": { - "base": null, - "refs": { - "DBSecurityGroupMembershipList$member": null - } - }, - "DBSecurityGroupMembershipList": { - "base": null, - "refs": { - "DBInstance$DBSecurityGroups": null, - "Option$DBSecurityGroupMemberships": null - } - }, - "DBSecurityGroupMessage": { - "base": null, - "refs": { - } - }, - "DBSecurityGroupNameList": { - "base": null, - "refs": { - "CreateDBInstanceMessage$DBSecurityGroups": null, - "ModifyDBInstanceMessage$DBSecurityGroups": null, - "OptionConfiguration$DBSecurityGroupMemberships": null - } - }, - "DBSecurityGroupNotFoundFault": { - "base": "

DBSecurityGroupName does not refer to an existing DB security group.

", - "refs": { - } - }, - "DBSecurityGroupNotSupportedFault": { - "base": "

A DB security group is not allowed for this action.

", - "refs": { - } - }, - "DBSecurityGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB security groups.

", - "refs": { - } - }, - "DBSecurityGroups": { - "base": null, - "refs": { - "DBSecurityGroupMessage$DBSecurityGroups": null - } - }, - "DBSnapshot": { - "base": null, - "refs": { - "CopyDBSnapshotResult$DBSnapshot": null, - "CreateDBSnapshotResult$DBSnapshot": null, - "DBSnapshotList$member": null, - "DeleteDBSnapshotResult$DBSnapshot": null - } - }, - "DBSnapshotAlreadyExistsFault": { - "base": "

DBSnapshotIdentifier is already used by an existing snapshot.

", - "refs": { - } - }, - "DBSnapshotList": { - "base": null, - "refs": { - "DBSnapshotMessage$DBSnapshots": null - } - }, - "DBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "DBSnapshotNotFoundFault": { - "base": "

DBSnapshotIdentifier does not refer to an existing DB snapshot.

", - "refs": { - } - }, - "DBSubnetGroup": { - "base": null, - "refs": { - "CreateDBSubnetGroupResult$DBSubnetGroup": null, - "DBInstance$DBSubnetGroup": null, - "DBSubnetGroups$member": null, - "ModifyDBSubnetGroupResult$DBSubnetGroup": null - } - }, - "DBSubnetGroupAlreadyExistsFault": { - "base": "

DBSubnetGroupName is already used by an existing DB subnet group.

", - "refs": { - } - }, - "DBSubnetGroupDoesNotCoverEnoughAZs": { - "base": "

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

", - "refs": { - } - }, - "DBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "DBSubnetGroupNotFoundFault": { - "base": "

DBSubnetGroupName does not refer to an existing DB subnet group.

", - "refs": { - } - }, - "DBSubnetGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB subnet groups.

", - "refs": { - } - }, - "DBSubnetGroups": { - "base": null, - "refs": { - "DBSubnetGroupMessage$DBSubnetGroups": null - } - }, - "DBSubnetQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of subnets in a DB subnet groups.

", - "refs": { - } - }, - "DBUpgradeDependencyFailureFault": { - "base": "

The DB upgrade failed because a resource the DB depends on could not be modified.

", - "refs": { - } - }, - "DeleteDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBInstanceResult": { - "base": null, - "refs": { - } - }, - "DeleteDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBSecurityGroupMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "DeleteDBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "DeleteEventSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "DeleteEventSubscriptionResult": { - "base": null, - "refs": { - } - }, - "DeleteOptionGroupMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBEngineVersionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBInstancesMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBParameterGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBParametersMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBSecurityGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBSnapshotsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBSubnetGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeEngineDefaultParametersMessage": { - "base": null, - "refs": { - } - }, - "DescribeEngineDefaultParametersResult": { - "base": null, - "refs": { - } - }, - "DescribeEventCategoriesMessage": { - "base": null, - "refs": { - } - }, - "DescribeEventSubscriptionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeEventsMessage": { - "base": null, - "refs": { - } - }, - "DescribeOptionGroupOptionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeOptionGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeOrderableDBInstanceOptionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeReservedDBInstancesMessage": { - "base": null, - "refs": { - } - }, - "DescribeReservedDBInstancesOfferingsMessage": { - "base": null, - "refs": { - } - }, - "Double": { - "base": null, - "refs": { - "RecurringCharge$RecurringChargeAmount": null, - "ReservedDBInstance$FixedPrice": null, - "ReservedDBInstance$UsagePrice": null, - "ReservedDBInstancesOffering$FixedPrice": null, - "ReservedDBInstancesOffering$UsagePrice": null - } - }, - "EC2SecurityGroup": { - "base": null, - "refs": { - "EC2SecurityGroupList$member": null - } - }, - "EC2SecurityGroupList": { - "base": null, - "refs": { - "DBSecurityGroup$EC2SecurityGroups": null - } - }, - "Endpoint": { - "base": null, - "refs": { - "DBInstance$Endpoint": null - } - }, - "EngineDefaults": { - "base": null, - "refs": { - "DescribeEngineDefaultParametersResult$EngineDefaults": null - } - }, - "Event": { - "base": null, - "refs": { - "EventList$member": null - } - }, - "EventCategoriesList": { - "base": null, - "refs": { - "CreateEventSubscriptionMessage$EventCategories": null, - "DescribeEventsMessage$EventCategories": null, - "Event$EventCategories": null, - "EventCategoriesMap$EventCategories": null, - "EventSubscription$EventCategoriesList": null, - "ModifyEventSubscriptionMessage$EventCategories": null - } - }, - "EventCategoriesMap": { - "base": null, - "refs": { - "EventCategoriesMapList$member": null - } - }, - "EventCategoriesMapList": { - "base": null, - "refs": { - "EventCategoriesMessage$EventCategoriesMapList": null - } - }, - "EventCategoriesMessage": { - "base": null, - "refs": { - } - }, - "EventList": { - "base": null, - "refs": { - "EventsMessage$Events": null - } - }, - "EventSubscription": { - "base": null, - "refs": { - "AddSourceIdentifierToSubscriptionResult$EventSubscription": null, - "CreateEventSubscriptionResult$EventSubscription": null, - "DeleteEventSubscriptionResult$EventSubscription": null, - "EventSubscriptionsList$member": null, - "ModifyEventSubscriptionResult$EventSubscription": null, - "RemoveSourceIdentifierFromSubscriptionResult$EventSubscription": null - } - }, - "EventSubscriptionQuotaExceededFault": { - "base": "

You have reached the maximum number of event subscriptions.

", - "refs": { - } - }, - "EventSubscriptionsList": { - "base": null, - "refs": { - "EventSubscriptionsMessage$EventSubscriptionsList": null - } - }, - "EventSubscriptionsMessage": { - "base": null, - "refs": { - } - }, - "EventsMessage": { - "base": null, - "refs": { - } - }, - "IPRange": { - "base": null, - "refs": { - "IPRangeList$member": null - } - }, - "IPRangeList": { - "base": null, - "refs": { - "DBSecurityGroup$IPRanges": null - } - }, - "InstanceQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB instances.

", - "refs": { - } - }, - "InsufficientDBInstanceCapacityFault": { - "base": "

Specified DB instance class is not available in the specified Availability Zone.

", - "refs": { - } - }, - "Integer": { - "base": null, - "refs": { - "DBInstance$AllocatedStorage": null, - "DBInstance$BackupRetentionPeriod": null, - "DBSnapshot$AllocatedStorage": null, - "DBSnapshot$Port": null, - "Endpoint$Port": null, - "ReservedDBInstance$Duration": null, - "ReservedDBInstance$DBInstanceCount": null, - "ReservedDBInstancesOffering$Duration": null - } - }, - "IntegerOptional": { - "base": null, - "refs": { - "CreateDBInstanceMessage$AllocatedStorage": null, - "CreateDBInstanceMessage$BackupRetentionPeriod": null, - "CreateDBInstanceMessage$Port": null, - "CreateDBInstanceMessage$Iops": null, - "CreateDBInstanceReadReplicaMessage$Port": null, - "CreateDBInstanceReadReplicaMessage$Iops": null, - "DBInstance$Iops": null, - "DBSnapshot$Iops": null, - "DescribeDBEngineVersionsMessage$MaxRecords": null, - "DescribeDBInstancesMessage$MaxRecords": null, - "DescribeDBParameterGroupsMessage$MaxRecords": null, - "DescribeDBParametersMessage$MaxRecords": null, - "DescribeDBSecurityGroupsMessage$MaxRecords": null, - "DescribeDBSnapshotsMessage$MaxRecords": null, - "DescribeDBSubnetGroupsMessage$MaxRecords": null, - "DescribeEngineDefaultParametersMessage$MaxRecords": null, - "DescribeEventSubscriptionsMessage$MaxRecords": null, - "DescribeEventsMessage$Duration": null, - "DescribeEventsMessage$MaxRecords": null, - "DescribeOptionGroupOptionsMessage$MaxRecords": null, - "DescribeOptionGroupsMessage$MaxRecords": null, - "DescribeOrderableDBInstanceOptionsMessage$MaxRecords": null, - "DescribeReservedDBInstancesMessage$MaxRecords": null, - "DescribeReservedDBInstancesOfferingsMessage$MaxRecords": null, - "ModifyDBInstanceMessage$AllocatedStorage": null, - "ModifyDBInstanceMessage$BackupRetentionPeriod": null, - "ModifyDBInstanceMessage$Iops": null, - "Option$Port": null, - "OptionConfiguration$Port": null, - "OptionGroupOption$DefaultPort": null, - "PendingModifiedValues$AllocatedStorage": null, - "PendingModifiedValues$Port": null, - "PendingModifiedValues$BackupRetentionPeriod": null, - "PendingModifiedValues$Iops": null, - "PromoteReadReplicaMessage$BackupRetentionPeriod": null, - "PurchaseReservedDBInstancesOfferingMessage$DBInstanceCount": null, - "RestoreDBInstanceFromDBSnapshotMessage$Port": null, - "RestoreDBInstanceFromDBSnapshotMessage$Iops": null, - "RestoreDBInstanceToPointInTimeMessage$Port": null, - "RestoreDBInstanceToPointInTimeMessage$Iops": null - } - }, - "InvalidDBInstanceStateFault": { - "base": "

The specified DB instance is not in the available state.

", - "refs": { - } - }, - "InvalidDBParameterGroupStateFault": { - "base": "

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.

", - "refs": { - } - }, - "InvalidDBSecurityGroupStateFault": { - "base": "

The state of the DB security group does not allow deletion.

", - "refs": { - } - }, - "InvalidDBSnapshotStateFault": { - "base": "

The state of the DB snapshot does not allow deletion.

", - "refs": { - } - }, - "InvalidDBSubnetGroupStateFault": { - "base": "

The DB subnet group cannot be deleted because it is in use.

", - "refs": { - } - }, - "InvalidDBSubnetStateFault": { - "base": "

The DB subnet is not in the available state.

", - "refs": { - } - }, - "InvalidEventSubscriptionStateFault": { - "base": "

This error can occur if someone else is modifying a subscription. You should retry the action.

", - "refs": { - } - }, - "InvalidOptionGroupStateFault": { - "base": "

The option group is not in the available state.

", - "refs": { - } - }, - "InvalidRestoreFault": { - "base": "

Cannot restore from vpc backup to non-vpc DB instance.

", - "refs": { - } - }, - "InvalidSubnet": { - "base": "

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

", - "refs": { - } - }, - "InvalidVPCNetworkStateFault": { - "base": "

DB subnet group does not cover all Availability Zones after it is created because users' change.

", - "refs": { - } - }, - "KeyList": { - "base": null, - "refs": { - "RemoveTagsFromResourceMessage$TagKeys": null - } - }, - "ListTagsForResourceMessage": { - "base": null, - "refs": { - } - }, - "ModifyDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "ModifyDBInstanceResult": { - "base": null, - "refs": { - } - }, - "ModifyDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "ModifyDBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "ModifyDBSubnetGroupResult": { - "base": null, - "refs": { - } - }, - "ModifyEventSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "ModifyEventSubscriptionResult": { - "base": null, - "refs": { - } - }, - "ModifyOptionGroupMessage": { - "base": null, - "refs": { - } - }, - "ModifyOptionGroupResult": { - "base": null, - "refs": { - } - }, - "Option": { - "base": null, - "refs": { - "OptionsList$member": null - } - }, - "OptionConfiguration": { - "base": null, - "refs": { - "OptionConfigurationList$member": null - } - }, - "OptionConfigurationList": { - "base": null, - "refs": { - "ModifyOptionGroupMessage$OptionsToInclude": null - } - }, - "OptionGroup": { - "base": null, - "refs": { - "CreateOptionGroupResult$OptionGroup": null, - "ModifyOptionGroupResult$OptionGroup": null, - "OptionGroupsList$member": null - } - }, - "OptionGroupAlreadyExistsFault": { - "base": "

The option group you are trying to create already exists.

", - "refs": { - } - }, - "OptionGroupMembership": { - "base": null, - "refs": { - "DBInstance$OptionGroupMembership": null - } - }, - "OptionGroupNotFoundFault": { - "base": "

The specified option group could not be found.

", - "refs": { - } - }, - "OptionGroupOption": { - "base": null, - "refs": { - "OptionGroupOptionsList$member": null - } - }, - "OptionGroupOptionsList": { - "base": null, - "refs": { - "OptionGroupOptionsMessage$OptionGroupOptions": null - } - }, - "OptionGroupOptionsMessage": { - "base": null, - "refs": { - } - }, - "OptionGroupQuotaExceededFault": { - "base": "

The quota of 20 option groups was exceeded for this AWS account.

", - "refs": { - } - }, - "OptionGroups": { - "base": null, - "refs": { - } - }, - "OptionGroupsList": { - "base": null, - "refs": { - "OptionGroups$OptionGroupsList": null - } - }, - "OptionNamesList": { - "base": null, - "refs": { - "ModifyOptionGroupMessage$OptionsToRemove": null - } - }, - "OptionsDependedOn": { - "base": null, - "refs": { - "OptionGroupOption$OptionsDependedOn": null - } - }, - "OptionsList": { - "base": null, - "refs": { - "OptionGroup$Options": null - } - }, - "OrderableDBInstanceOption": { - "base": null, - "refs": { - "OrderableDBInstanceOptionsList$member": null - } - }, - "OrderableDBInstanceOptionsList": { - "base": null, - "refs": { - "OrderableDBInstanceOptionsMessage$OrderableDBInstanceOptions": null - } - }, - "OrderableDBInstanceOptionsMessage": { - "base": null, - "refs": { - } - }, - "Parameter": { - "base": null, - "refs": { - "ParametersList$member": null - } - }, - "ParametersList": { - "base": null, - "refs": { - "DBParameterGroupDetails$Parameters": null, - "EngineDefaults$Parameters": null, - "ModifyDBParameterGroupMessage$Parameters": null, - "ResetDBParameterGroupMessage$Parameters": null - } - }, - "PendingModifiedValues": { - "base": null, - "refs": { - "DBInstance$PendingModifiedValues": null - } - }, - "PointInTimeRestoreNotEnabledFault": { - "base": "

SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod equal to 0.

", - "refs": { - } - }, - "PromoteReadReplicaMessage": { - "base": null, - "refs": { - } - }, - "PromoteReadReplicaResult": { - "base": null, - "refs": { - } - }, - "ProvisionedIopsNotAvailableInAZFault": { - "base": "

Provisioned IOPS not available in the specified Availability Zone.

", - "refs": { - } - }, - "PurchaseReservedDBInstancesOfferingMessage": { - "base": null, - "refs": { - } - }, - "PurchaseReservedDBInstancesOfferingResult": { - "base": null, - "refs": { - } - }, - "ReadReplicaDBInstanceIdentifierList": { - "base": null, - "refs": { - "DBInstance$ReadReplicaDBInstanceIdentifiers": null - } - }, - "RebootDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "RebootDBInstanceResult": { - "base": null, - "refs": { - } - }, - "RecurringCharge": { - "base": null, - "refs": { - "RecurringChargeList$member": null - } - }, - "RecurringChargeList": { - "base": null, - "refs": { - "ReservedDBInstance$RecurringCharges": null, - "ReservedDBInstancesOffering$RecurringCharges": null - } - }, - "RemoveSourceIdentifierFromSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "RemoveSourceIdentifierFromSubscriptionResult": { - "base": null, - "refs": { - } - }, - "RemoveTagsFromResourceMessage": { - "base": null, - "refs": { - } - }, - "ReservedDBInstance": { - "base": null, - "refs": { - "PurchaseReservedDBInstancesOfferingResult$ReservedDBInstance": null, - "ReservedDBInstanceList$member": null - } - }, - "ReservedDBInstanceAlreadyExistsFault": { - "base": "

User already has a reservation with the given identifier.

", - "refs": { - } - }, - "ReservedDBInstanceList": { - "base": null, - "refs": { - "ReservedDBInstanceMessage$ReservedDBInstances": null - } - }, - "ReservedDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "ReservedDBInstanceNotFoundFault": { - "base": "

The specified reserved DB Instance not found.

", - "refs": { - } - }, - "ReservedDBInstanceQuotaExceededFault": { - "base": "

Request would exceed the user's DB Instance quota.

", - "refs": { - } - }, - "ReservedDBInstancesOffering": { - "base": null, - "refs": { - "ReservedDBInstancesOfferingList$member": null - } - }, - "ReservedDBInstancesOfferingList": { - "base": null, - "refs": { - "ReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferings": null - } - }, - "ReservedDBInstancesOfferingMessage": { - "base": null, - "refs": { - } - }, - "ReservedDBInstancesOfferingNotFoundFault": { - "base": "

Specified offering does not exist.

", - "refs": { - } - }, - "ResetDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceFromDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceFromDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceToPointInTimeMessage": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceToPointInTimeResult": { - "base": null, - "refs": { - } - }, - "RevokeDBSecurityGroupIngressMessage": { - "base": null, - "refs": { - } - }, - "RevokeDBSecurityGroupIngressResult": { - "base": null, - "refs": { - } - }, - "SNSInvalidTopicFault": { - "base": "

SNS has responded that there is a problem with the SND topic specified.

", - "refs": { - } - }, - "SNSNoAuthorizationFault": { - "base": "

You do not have permission to publish to the SNS topic ARN.

", - "refs": { - } - }, - "SNSTopicArnNotFoundFault": { - "base": "

The SNS topic ARN does not exist.

", - "refs": { - } - }, - "SnapshotQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB snapshots.

", - "refs": { - } - }, - "SourceIdsList": { - "base": null, - "refs": { - "CreateEventSubscriptionMessage$SourceIds": null, - "EventSubscription$SourceIdsList": null - } - }, - "SourceNotFoundFault": { - "base": "

The requested source could not be found.

", - "refs": { - } - }, - "SourceType": { - "base": null, - "refs": { - "DescribeEventsMessage$SourceType": null, - "Event$SourceType": null - } - }, - "StorageQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed amount of storage available across all DB instances.

", - "refs": { - } - }, - "String": { - "base": null, - "refs": { - "AddSourceIdentifierToSubscriptionMessage$SubscriptionName": null, - "AddSourceIdentifierToSubscriptionMessage$SourceIdentifier": null, - "AddTagsToResourceMessage$ResourceName": null, - "AuthorizeDBSecurityGroupIngressMessage$DBSecurityGroupName": null, - "AuthorizeDBSecurityGroupIngressMessage$CIDRIP": null, - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupName": null, - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupId": null, - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupOwnerId": null, - "AvailabilityZone$Name": null, - "CharacterSet$CharacterSetName": null, - "CharacterSet$CharacterSetDescription": null, - "CopyDBSnapshotMessage$SourceDBSnapshotIdentifier": null, - "CopyDBSnapshotMessage$TargetDBSnapshotIdentifier": null, - "CreateDBInstanceMessage$DBName": null, - "CreateDBInstanceMessage$DBInstanceIdentifier": null, - "CreateDBInstanceMessage$DBInstanceClass": null, - "CreateDBInstanceMessage$Engine": null, - "CreateDBInstanceMessage$MasterUsername": null, - "CreateDBInstanceMessage$MasterUserPassword": null, - "CreateDBInstanceMessage$AvailabilityZone": null, - "CreateDBInstanceMessage$DBSubnetGroupName": null, - "CreateDBInstanceMessage$PreferredMaintenanceWindow": null, - "CreateDBInstanceMessage$DBParameterGroupName": null, - "CreateDBInstanceMessage$PreferredBackupWindow": null, - "CreateDBInstanceMessage$EngineVersion": null, - "CreateDBInstanceMessage$LicenseModel": null, - "CreateDBInstanceMessage$OptionGroupName": null, - "CreateDBInstanceMessage$CharacterSetName": null, - "CreateDBInstanceReadReplicaMessage$DBInstanceIdentifier": null, - "CreateDBInstanceReadReplicaMessage$SourceDBInstanceIdentifier": null, - "CreateDBInstanceReadReplicaMessage$DBInstanceClass": null, - "CreateDBInstanceReadReplicaMessage$AvailabilityZone": null, - "CreateDBInstanceReadReplicaMessage$OptionGroupName": null, - "CreateDBParameterGroupMessage$DBParameterGroupName": null, - "CreateDBParameterGroupMessage$DBParameterGroupFamily": null, - "CreateDBParameterGroupMessage$Description": null, - "CreateDBSecurityGroupMessage$DBSecurityGroupName": null, - "CreateDBSecurityGroupMessage$DBSecurityGroupDescription": null, - "CreateDBSnapshotMessage$DBSnapshotIdentifier": null, - "CreateDBSnapshotMessage$DBInstanceIdentifier": null, - "CreateDBSubnetGroupMessage$DBSubnetGroupName": null, - "CreateDBSubnetGroupMessage$DBSubnetGroupDescription": null, - "CreateEventSubscriptionMessage$SubscriptionName": null, - "CreateEventSubscriptionMessage$SnsTopicArn": null, - "CreateEventSubscriptionMessage$SourceType": null, - "CreateOptionGroupMessage$OptionGroupName": null, - "CreateOptionGroupMessage$EngineName": null, - "CreateOptionGroupMessage$MajorEngineVersion": null, - "CreateOptionGroupMessage$OptionGroupDescription": null, - "DBEngineVersion$Engine": null, - "DBEngineVersion$EngineVersion": null, - "DBEngineVersion$DBParameterGroupFamily": null, - "DBEngineVersion$DBEngineDescription": null, - "DBEngineVersion$DBEngineVersionDescription": null, - "DBEngineVersionMessage$Marker": null, - "DBInstance$DBInstanceIdentifier": null, - "DBInstance$DBInstanceClass": null, - "DBInstance$Engine": null, - "DBInstance$DBInstanceStatus": null, - "DBInstance$MasterUsername": null, - "DBInstance$DBName": null, - "DBInstance$PreferredBackupWindow": null, - "DBInstance$AvailabilityZone": null, - "DBInstance$PreferredMaintenanceWindow": null, - "DBInstance$EngineVersion": null, - "DBInstance$ReadReplicaSourceDBInstanceIdentifier": null, - "DBInstance$LicenseModel": null, - "DBInstance$CharacterSetName": null, - "DBInstance$SecondaryAvailabilityZone": null, - "DBInstanceMessage$Marker": null, - "DBParameterGroup$DBParameterGroupName": null, - "DBParameterGroup$DBParameterGroupFamily": null, - "DBParameterGroup$Description": null, - "DBParameterGroupDetails$Marker": null, - "DBParameterGroupNameMessage$DBParameterGroupName": null, - "DBParameterGroupStatus$DBParameterGroupName": null, - "DBParameterGroupStatus$ParameterApplyStatus": null, - "DBParameterGroupsMessage$Marker": null, - "DBSecurityGroup$OwnerId": null, - "DBSecurityGroup$DBSecurityGroupName": null, - "DBSecurityGroup$DBSecurityGroupDescription": null, - "DBSecurityGroup$VpcId": null, - "DBSecurityGroupMembership$DBSecurityGroupName": null, - "DBSecurityGroupMembership$Status": null, - "DBSecurityGroupMessage$Marker": null, - "DBSecurityGroupNameList$member": null, - "DBSnapshot$DBSnapshotIdentifier": null, - "DBSnapshot$DBInstanceIdentifier": null, - "DBSnapshot$Engine": null, - "DBSnapshot$Status": null, - "DBSnapshot$AvailabilityZone": null, - "DBSnapshot$VpcId": null, - "DBSnapshot$MasterUsername": null, - "DBSnapshot$EngineVersion": null, - "DBSnapshot$LicenseModel": null, - "DBSnapshot$SnapshotType": null, - "DBSnapshotMessage$Marker": null, - "DBSubnetGroup$DBSubnetGroupName": null, - "DBSubnetGroup$DBSubnetGroupDescription": null, - "DBSubnetGroup$VpcId": null, - "DBSubnetGroup$SubnetGroupStatus": null, - "DBSubnetGroupMessage$Marker": null, - "DeleteDBInstanceMessage$DBInstanceIdentifier": null, - "DeleteDBInstanceMessage$FinalDBSnapshotIdentifier": null, - "DeleteDBParameterGroupMessage$DBParameterGroupName": null, - "DeleteDBSecurityGroupMessage$DBSecurityGroupName": null, - "DeleteDBSnapshotMessage$DBSnapshotIdentifier": null, - "DeleteDBSubnetGroupMessage$DBSubnetGroupName": null, - "DeleteEventSubscriptionMessage$SubscriptionName": null, - "DeleteOptionGroupMessage$OptionGroupName": null, - "DescribeDBEngineVersionsMessage$Engine": null, - "DescribeDBEngineVersionsMessage$EngineVersion": null, - "DescribeDBEngineVersionsMessage$DBParameterGroupFamily": null, - "DescribeDBEngineVersionsMessage$Marker": null, - "DescribeDBInstancesMessage$DBInstanceIdentifier": null, - "DescribeDBInstancesMessage$Marker": null, - "DescribeDBParameterGroupsMessage$DBParameterGroupName": null, - "DescribeDBParameterGroupsMessage$Marker": null, - "DescribeDBParametersMessage$DBParameterGroupName": null, - "DescribeDBParametersMessage$Source": null, - "DescribeDBParametersMessage$Marker": null, - "DescribeDBSecurityGroupsMessage$DBSecurityGroupName": null, - "DescribeDBSecurityGroupsMessage$Marker": null, - "DescribeDBSnapshotsMessage$DBInstanceIdentifier": null, - "DescribeDBSnapshotsMessage$DBSnapshotIdentifier": null, - "DescribeDBSnapshotsMessage$SnapshotType": null, - "DescribeDBSnapshotsMessage$Marker": null, - "DescribeDBSubnetGroupsMessage$DBSubnetGroupName": null, - "DescribeDBSubnetGroupsMessage$Marker": null, - "DescribeEngineDefaultParametersMessage$DBParameterGroupFamily": null, - "DescribeEngineDefaultParametersMessage$Marker": null, - "DescribeEventCategoriesMessage$SourceType": null, - "DescribeEventSubscriptionsMessage$SubscriptionName": null, - "DescribeEventSubscriptionsMessage$Marker": null, - "DescribeEventsMessage$SourceIdentifier": null, - "DescribeEventsMessage$Marker": null, - "DescribeOptionGroupOptionsMessage$EngineName": null, - "DescribeOptionGroupOptionsMessage$MajorEngineVersion": null, - "DescribeOptionGroupOptionsMessage$Marker": null, - "DescribeOptionGroupsMessage$OptionGroupName": null, - "DescribeOptionGroupsMessage$Marker": null, - "DescribeOptionGroupsMessage$EngineName": null, - "DescribeOptionGroupsMessage$MajorEngineVersion": null, - "DescribeOrderableDBInstanceOptionsMessage$Engine": null, - "DescribeOrderableDBInstanceOptionsMessage$EngineVersion": null, - "DescribeOrderableDBInstanceOptionsMessage$DBInstanceClass": null, - "DescribeOrderableDBInstanceOptionsMessage$LicenseModel": null, - "DescribeOrderableDBInstanceOptionsMessage$Marker": null, - "DescribeReservedDBInstancesMessage$ReservedDBInstanceId": null, - "DescribeReservedDBInstancesMessage$ReservedDBInstancesOfferingId": null, - "DescribeReservedDBInstancesMessage$DBInstanceClass": null, - "DescribeReservedDBInstancesMessage$Duration": null, - "DescribeReservedDBInstancesMessage$ProductDescription": null, - "DescribeReservedDBInstancesMessage$OfferingType": null, - "DescribeReservedDBInstancesMessage$Marker": null, - "DescribeReservedDBInstancesOfferingsMessage$ReservedDBInstancesOfferingId": null, - "DescribeReservedDBInstancesOfferingsMessage$DBInstanceClass": null, - "DescribeReservedDBInstancesOfferingsMessage$Duration": null, - "DescribeReservedDBInstancesOfferingsMessage$ProductDescription": null, - "DescribeReservedDBInstancesOfferingsMessage$OfferingType": null, - "DescribeReservedDBInstancesOfferingsMessage$Marker": null, - "EC2SecurityGroup$Status": null, - "EC2SecurityGroup$EC2SecurityGroupName": null, - "EC2SecurityGroup$EC2SecurityGroupId": null, - "EC2SecurityGroup$EC2SecurityGroupOwnerId": null, - "Endpoint$Address": null, - "EngineDefaults$DBParameterGroupFamily": null, - "EngineDefaults$Marker": null, - "Event$SourceIdentifier": null, - "Event$Message": null, - "EventCategoriesList$member": null, - "EventCategoriesMap$SourceType": null, - "EventSubscription$Id": null, - "EventSubscription$CustomerAwsId": null, - "EventSubscription$CustSubscriptionId": null, - "EventSubscription$SnsTopicArn": null, - "EventSubscription$Status": null, - "EventSubscription$SubscriptionCreationTime": null, - "EventSubscription$SourceType": null, - "EventSubscriptionsMessage$Marker": null, - "EventsMessage$Marker": null, - "IPRange$Status": null, - "IPRange$CIDRIP": null, - "KeyList$member": null, - "ListTagsForResourceMessage$ResourceName": null, - "ModifyDBInstanceMessage$DBInstanceIdentifier": null, - "ModifyDBInstanceMessage$DBInstanceClass": null, - "ModifyDBInstanceMessage$MasterUserPassword": null, - "ModifyDBInstanceMessage$DBParameterGroupName": null, - "ModifyDBInstanceMessage$PreferredBackupWindow": null, - "ModifyDBInstanceMessage$PreferredMaintenanceWindow": null, - "ModifyDBInstanceMessage$EngineVersion": null, - "ModifyDBInstanceMessage$OptionGroupName": null, - "ModifyDBInstanceMessage$NewDBInstanceIdentifier": null, - "ModifyDBParameterGroupMessage$DBParameterGroupName": null, - "ModifyDBSubnetGroupMessage$DBSubnetGroupName": null, - "ModifyDBSubnetGroupMessage$DBSubnetGroupDescription": null, - "ModifyEventSubscriptionMessage$SubscriptionName": null, - "ModifyEventSubscriptionMessage$SnsTopicArn": null, - "ModifyEventSubscriptionMessage$SourceType": null, - "ModifyOptionGroupMessage$OptionGroupName": null, - "Option$OptionName": null, - "Option$OptionDescription": null, - "OptionConfiguration$OptionName": null, - "OptionGroup$OptionGroupName": null, - "OptionGroup$OptionGroupDescription": null, - "OptionGroup$EngineName": null, - "OptionGroup$MajorEngineVersion": null, - "OptionGroup$VpcId": null, - "OptionGroupMembership$OptionGroupName": null, - "OptionGroupMembership$Status": null, - "OptionGroupOption$Name": null, - "OptionGroupOption$Description": null, - "OptionGroupOption$EngineName": null, - "OptionGroupOption$MajorEngineVersion": null, - "OptionGroupOption$MinimumRequiredMinorEngineVersion": null, - "OptionGroupOptionsMessage$Marker": null, - "OptionGroups$Marker": null, - "OptionNamesList$member": null, - "OptionsDependedOn$member": null, - "OrderableDBInstanceOption$Engine": null, - "OrderableDBInstanceOption$EngineVersion": null, - "OrderableDBInstanceOption$DBInstanceClass": null, - "OrderableDBInstanceOption$LicenseModel": null, - "OrderableDBInstanceOptionsMessage$Marker": null, - "Parameter$ParameterName": null, - "Parameter$ParameterValue": null, - "Parameter$Description": null, - "Parameter$Source": null, - "Parameter$ApplyType": null, - "Parameter$DataType": null, - "Parameter$AllowedValues": null, - "Parameter$MinimumEngineVersion": null, - "PendingModifiedValues$DBInstanceClass": null, - "PendingModifiedValues$MasterUserPassword": null, - "PendingModifiedValues$EngineVersion": null, - "PendingModifiedValues$DBInstanceIdentifier": null, - "PromoteReadReplicaMessage$DBInstanceIdentifier": null, - "PromoteReadReplicaMessage$PreferredBackupWindow": null, - "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferingId": null, - "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstanceId": null, - "ReadReplicaDBInstanceIdentifierList$member": null, - "RebootDBInstanceMessage$DBInstanceIdentifier": null, - "RecurringCharge$RecurringChargeFrequency": null, - "RemoveSourceIdentifierFromSubscriptionMessage$SubscriptionName": null, - "RemoveSourceIdentifierFromSubscriptionMessage$SourceIdentifier": null, - "RemoveTagsFromResourceMessage$ResourceName": null, - "ReservedDBInstance$ReservedDBInstanceId": null, - "ReservedDBInstance$ReservedDBInstancesOfferingId": null, - "ReservedDBInstance$DBInstanceClass": null, - "ReservedDBInstance$CurrencyCode": null, - "ReservedDBInstance$ProductDescription": null, - "ReservedDBInstance$OfferingType": null, - "ReservedDBInstance$State": null, - "ReservedDBInstanceMessage$Marker": null, - "ReservedDBInstancesOffering$ReservedDBInstancesOfferingId": null, - "ReservedDBInstancesOffering$DBInstanceClass": null, - "ReservedDBInstancesOffering$CurrencyCode": null, - "ReservedDBInstancesOffering$ProductDescription": null, - "ReservedDBInstancesOffering$OfferingType": null, - "ReservedDBInstancesOfferingMessage$Marker": null, - "ResetDBParameterGroupMessage$DBParameterGroupName": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceIdentifier": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBSnapshotIdentifier": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceClass": null, - "RestoreDBInstanceFromDBSnapshotMessage$AvailabilityZone": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBSubnetGroupName": null, - "RestoreDBInstanceFromDBSnapshotMessage$LicenseModel": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBName": null, - "RestoreDBInstanceFromDBSnapshotMessage$Engine": null, - "RestoreDBInstanceFromDBSnapshotMessage$OptionGroupName": null, - "RestoreDBInstanceToPointInTimeMessage$SourceDBInstanceIdentifier": null, - "RestoreDBInstanceToPointInTimeMessage$TargetDBInstanceIdentifier": null, - "RestoreDBInstanceToPointInTimeMessage$DBInstanceClass": null, - "RestoreDBInstanceToPointInTimeMessage$AvailabilityZone": null, - "RestoreDBInstanceToPointInTimeMessage$DBSubnetGroupName": null, - "RestoreDBInstanceToPointInTimeMessage$LicenseModel": null, - "RestoreDBInstanceToPointInTimeMessage$DBName": null, - "RestoreDBInstanceToPointInTimeMessage$Engine": null, - "RestoreDBInstanceToPointInTimeMessage$OptionGroupName": null, - "RevokeDBSecurityGroupIngressMessage$DBSecurityGroupName": null, - "RevokeDBSecurityGroupIngressMessage$CIDRIP": null, - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupName": null, - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupId": null, - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupOwnerId": null, - "SourceIdsList$member": null, - "Subnet$SubnetIdentifier": null, - "Subnet$SubnetStatus": null, - "SubnetIdentifierList$member": null, - "Tag$Key": null, - "Tag$Value": null, - "VpcSecurityGroupIdList$member": null, - "VpcSecurityGroupMembership$VpcSecurityGroupId": null, - "VpcSecurityGroupMembership$Status": null - } - }, - "Subnet": { - "base": null, - "refs": { - "SubnetList$member": null - } - }, - "SubnetAlreadyInUse": { - "base": "

The DB subnet is already in use in the Availability Zone.

", - "refs": { - } - }, - "SubnetIdentifierList": { - "base": null, - "refs": { - "CreateDBSubnetGroupMessage$SubnetIds": null, - "ModifyDBSubnetGroupMessage$SubnetIds": null - } - }, - "SubnetList": { - "base": null, - "refs": { - "DBSubnetGroup$Subnets": null - } - }, - "SubscriptionAlreadyExistFault": { - "base": "

The supplied subscription name already exists.

", - "refs": { - } - }, - "SubscriptionCategoryNotFoundFault": { - "base": "

The supplied category does not exist.

", - "refs": { - } - }, - "SubscriptionNotFoundFault": { - "base": "

The subscription name does not exist.

", - "refs": { - } - }, - "SupportedCharacterSetsList": { - "base": null, - "refs": { - "DBEngineVersion$SupportedCharacterSets": null - } - }, - "TStamp": { - "base": null, - "refs": { - "DBInstance$InstanceCreateTime": null, - "DBInstance$LatestRestorableTime": null, - "DBSnapshot$SnapshotCreateTime": null, - "DBSnapshot$InstanceCreateTime": null, - "DescribeEventsMessage$StartTime": null, - "DescribeEventsMessage$EndTime": null, - "Event$Date": null, - "ReservedDBInstance$StartTime": null, - "RestoreDBInstanceToPointInTimeMessage$RestoreTime": null - } - }, - "Tag": { - "base": null, - "refs": { - "TagList$member": null - } - }, - "TagList": { - "base": null, - "refs": { - "AddTagsToResourceMessage$Tags": null, - "TagListMessage$TagList": null - } - }, - "TagListMessage": { - "base": null, - "refs": { - } - }, - "VpcSecurityGroupIdList": { - "base": null, - "refs": { - "CreateDBInstanceMessage$VpcSecurityGroupIds": null, - "ModifyDBInstanceMessage$VpcSecurityGroupIds": null, - "OptionConfiguration$VpcSecurityGroupMemberships": null - } - }, - "VpcSecurityGroupMembership": { - "base": null, - "refs": { - "VpcSecurityGroupMembershipList$member": null - } - }, - "VpcSecurityGroupMembershipList": { - "base": null, - "refs": { - "DBInstance$VpcSecurityGroups": null, - "Option$VpcSecurityGroupMemberships": null - } - } - } -} diff --git a/models/apis/rds/2013-02-12/api-2.json b/models/apis/rds/2013-02-12/api-2.json deleted file mode 100644 index 76c0b639d5a..00000000000 --- a/models/apis/rds/2013-02-12/api-2.json +++ /dev/null @@ -1,3059 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2013-02-12", - "endpointPrefix":"rds", - "protocol":"query", - "serviceAbbreviation":"Amazon RDS", - "serviceFullName":"Amazon Relational Database Service", - "serviceId":"RDS", - "signatureVersion":"v4", - "uid":"rds-2013-02-12", - "xmlNamespace":"http://rds.amazonaws.com/doc/2013-02-12/" - }, - "operations":{ - "AddSourceIdentifierToSubscription":{ - "name":"AddSourceIdentifierToSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddSourceIdentifierToSubscriptionMessage"}, - "output":{ - "shape":"AddSourceIdentifierToSubscriptionResult", - "resultWrapper":"AddSourceIdentifierToSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"SourceNotFoundFault"} - ] - }, - "AddTagsToResource":{ - "name":"AddTagsToResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToResourceMessage"}, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "AuthorizeDBSecurityGroupIngress":{ - "name":"AuthorizeDBSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeDBSecurityGroupIngressMessage"}, - "output":{ - "shape":"AuthorizeDBSecurityGroupIngressResult", - "resultWrapper":"AuthorizeDBSecurityGroupIngressResult" - }, - "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"AuthorizationAlreadyExistsFault"}, - {"shape":"AuthorizationQuotaExceededFault"} - ] - }, - "CopyDBSnapshot":{ - "name":"CopyDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyDBSnapshotMessage"}, - "output":{ - "shape":"CopyDBSnapshotResult", - "resultWrapper":"CopyDBSnapshotResult" - }, - "errors":[ - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"SnapshotQuotaExceededFault"} - ] - }, - "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":"InvalidSubnet"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, - {"shape":"OptionGroupNotFoundFault"} - ] - }, - "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"} - ] - }, - "CreateDBParameterGroup":{ - "name":"CreateDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBParameterGroupMessage"}, - "output":{ - "shape":"CreateDBParameterGroupResult", - "resultWrapper":"CreateDBParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupQuotaExceededFault"}, - {"shape":"DBParameterGroupAlreadyExistsFault"} - ] - }, - "CreateDBSecurityGroup":{ - "name":"CreateDBSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBSecurityGroupMessage"}, - "output":{ - "shape":"CreateDBSecurityGroupResult", - "resultWrapper":"CreateDBSecurityGroupResult" - }, - "errors":[ - {"shape":"DBSecurityGroupAlreadyExistsFault"}, - {"shape":"DBSecurityGroupQuotaExceededFault"}, - {"shape":"DBSecurityGroupNotSupportedFault"} - ] - }, - "CreateDBSnapshot":{ - "name":"CreateDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBSnapshotMessage"}, - "output":{ - "shape":"CreateDBSnapshotResult", - "resultWrapper":"CreateDBSnapshotResult" - }, - "errors":[ - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"SnapshotQuotaExceededFault"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "CreateOptionGroup":{ - "name":"CreateOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateOptionGroupMessage"}, - "output":{ - "shape":"CreateOptionGroupResult", - "resultWrapper":"CreateOptionGroupResult" - }, - "errors":[ - {"shape":"OptionGroupAlreadyExistsFault"}, - {"shape":"OptionGroupQuotaExceededFault"} - ] - }, - "DeleteDBInstance":{ - "name":"DeleteDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBInstanceMessage"}, - "output":{ - "shape":"DeleteDBInstanceResult", - "resultWrapper":"DeleteDBInstanceResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"SnapshotQuotaExceededFault"} - ] - }, - "DeleteDBParameterGroup":{ - "name":"DeleteDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBParameterGroupMessage"}, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ] - }, - "DeleteDBSecurityGroup":{ - "name":"DeleteDBSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSecurityGroupMessage"}, - "errors":[ - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"DBSecurityGroupNotFoundFault"} - ] - }, - "DeleteDBSnapshot":{ - "name":"DeleteDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSnapshotMessage"}, - "output":{ - "shape":"DeleteDBSnapshotResult", - "resultWrapper":"DeleteDBSnapshotResult" - }, - "errors":[ - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "DeleteDBSubnetGroup":{ - "name":"DeleteDBSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSubnetGroupMessage"}, - "errors":[ - {"shape":"InvalidDBSubnetGroupStateFault"}, - {"shape":"InvalidDBSubnetStateFault"}, - {"shape":"DBSubnetGroupNotFoundFault"} - ] - }, - "DeleteEventSubscription":{ - "name":"DeleteEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEventSubscriptionMessage"}, - "output":{ - "shape":"DeleteEventSubscriptionResult", - "resultWrapper":"DeleteEventSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"InvalidEventSubscriptionStateFault"} - ] - }, - "DeleteOptionGroup":{ - "name":"DeleteOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteOptionGroupMessage"}, - "errors":[ - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"InvalidOptionGroupStateFault"} - ] - }, - "DescribeDBEngineVersions":{ - "name":"DescribeDBEngineVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBEngineVersionsMessage"}, - "output":{ - "shape":"DBEngineVersionMessage", - "resultWrapper":"DescribeDBEngineVersionsResult" - } - }, - "DescribeDBInstances":{ - "name":"DescribeDBInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBInstancesMessage"}, - "output":{ - "shape":"DBInstanceMessage", - "resultWrapper":"DescribeDBInstancesResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"} - ] - }, - "DescribeDBLogFiles":{ - "name":"DescribeDBLogFiles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBLogFilesMessage"}, - "output":{ - "shape":"DescribeDBLogFilesResponse", - "resultWrapper":"DescribeDBLogFilesResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"} - ] - }, - "DescribeDBParameterGroups":{ - "name":"DescribeDBParameterGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBParameterGroupsMessage"}, - "output":{ - "shape":"DBParameterGroupsMessage", - "resultWrapper":"DescribeDBParameterGroupsResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ] - }, - "DescribeDBParameters":{ - "name":"DescribeDBParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBParametersMessage"}, - "output":{ - "shape":"DBParameterGroupDetails", - "resultWrapper":"DescribeDBParametersResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ] - }, - "DescribeDBSecurityGroups":{ - "name":"DescribeDBSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSecurityGroupsMessage"}, - "output":{ - "shape":"DBSecurityGroupMessage", - "resultWrapper":"DescribeDBSecurityGroupsResult" - }, - "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"} - ] - }, - "DescribeDBSnapshots":{ - "name":"DescribeDBSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSnapshotsMessage"}, - "output":{ - "shape":"DBSnapshotMessage", - "resultWrapper":"DescribeDBSnapshotsResult" - }, - "errors":[ - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "DescribeDBSubnetGroups":{ - "name":"DescribeDBSubnetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSubnetGroupsMessage"}, - "output":{ - "shape":"DBSubnetGroupMessage", - "resultWrapper":"DescribeDBSubnetGroupsResult" - }, - "errors":[ - {"shape":"DBSubnetGroupNotFoundFault"} - ] - }, - "DescribeEngineDefaultParameters":{ - "name":"DescribeEngineDefaultParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEngineDefaultParametersMessage"}, - "output":{ - "shape":"DescribeEngineDefaultParametersResult", - "resultWrapper":"DescribeEngineDefaultParametersResult" - } - }, - "DescribeEventCategories":{ - "name":"DescribeEventCategories", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventCategoriesMessage"}, - "output":{ - "shape":"EventCategoriesMessage", - "resultWrapper":"DescribeEventCategoriesResult" - } - }, - "DescribeEventSubscriptions":{ - "name":"DescribeEventSubscriptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventSubscriptionsMessage"}, - "output":{ - "shape":"EventSubscriptionsMessage", - "resultWrapper":"DescribeEventSubscriptionsResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"} - ] - }, - "DescribeEvents":{ - "name":"DescribeEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventsMessage"}, - "output":{ - "shape":"EventsMessage", - "resultWrapper":"DescribeEventsResult" - } - }, - "DescribeOptionGroupOptions":{ - "name":"DescribeOptionGroupOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOptionGroupOptionsMessage"}, - "output":{ - "shape":"OptionGroupOptionsMessage", - "resultWrapper":"DescribeOptionGroupOptionsResult" - } - }, - "DescribeOptionGroups":{ - "name":"DescribeOptionGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOptionGroupsMessage"}, - "output":{ - "shape":"OptionGroups", - "resultWrapper":"DescribeOptionGroupsResult" - }, - "errors":[ - {"shape":"OptionGroupNotFoundFault"} - ] - }, - "DescribeOrderableDBInstanceOptions":{ - "name":"DescribeOrderableDBInstanceOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOrderableDBInstanceOptionsMessage"}, - "output":{ - "shape":"OrderableDBInstanceOptionsMessage", - "resultWrapper":"DescribeOrderableDBInstanceOptionsResult" - } - }, - "DescribeReservedDBInstances":{ - "name":"DescribeReservedDBInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedDBInstancesMessage"}, - "output":{ - "shape":"ReservedDBInstanceMessage", - "resultWrapper":"DescribeReservedDBInstancesResult" - }, - "errors":[ - {"shape":"ReservedDBInstanceNotFoundFault"} - ] - }, - "DescribeReservedDBInstancesOfferings":{ - "name":"DescribeReservedDBInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedDBInstancesOfferingsMessage"}, - "output":{ - "shape":"ReservedDBInstancesOfferingMessage", - "resultWrapper":"DescribeReservedDBInstancesOfferingsResult" - }, - "errors":[ - {"shape":"ReservedDBInstancesOfferingNotFoundFault"} - ] - }, - "DownloadDBLogFilePortion":{ - "name":"DownloadDBLogFilePortion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DownloadDBLogFilePortionMessage"}, - "output":{ - "shape":"DownloadDBLogFilePortionDetails", - "resultWrapper":"DownloadDBLogFilePortionResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBLogFileNotFoundFault"} - ] - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceMessage"}, - "output":{ - "shape":"TagListMessage", - "resultWrapper":"ListTagsForResourceResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "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"} - ] - }, - "ModifyDBParameterGroup":{ - "name":"ModifyDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBParameterGroupMessage"}, - "output":{ - "shape":"DBParameterGroupNameMessage", - "resultWrapper":"ModifyDBParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"InvalidDBParameterGroupStateFault"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ModifyOptionGroup":{ - "name":"ModifyOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyOptionGroupMessage"}, - "output":{ - "shape":"ModifyOptionGroupResult", - "resultWrapper":"ModifyOptionGroupResult" - }, - "errors":[ - {"shape":"InvalidOptionGroupStateFault"}, - {"shape":"OptionGroupNotFoundFault"} - ] - }, - "PromoteReadReplica":{ - "name":"PromoteReadReplica", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PromoteReadReplicaMessage"}, - "output":{ - "shape":"PromoteReadReplicaResult", - "resultWrapper":"PromoteReadReplicaResult" - }, - "errors":[ - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"} - ] - }, - "PurchaseReservedDBInstancesOffering":{ - "name":"PurchaseReservedDBInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedDBInstancesOfferingMessage"}, - "output":{ - "shape":"PurchaseReservedDBInstancesOfferingResult", - "resultWrapper":"PurchaseReservedDBInstancesOfferingResult" - }, - "errors":[ - {"shape":"ReservedDBInstancesOfferingNotFoundFault"}, - {"shape":"ReservedDBInstanceAlreadyExistsFault"}, - {"shape":"ReservedDBInstanceQuotaExceededFault"} - ] - }, - "RebootDBInstance":{ - "name":"RebootDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootDBInstanceMessage"}, - "output":{ - "shape":"RebootDBInstanceResult", - "resultWrapper":"RebootDBInstanceResult" - }, - "errors":[ - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"} - ] - }, - "RemoveSourceIdentifierFromSubscription":{ - "name":"RemoveSourceIdentifierFromSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveSourceIdentifierFromSubscriptionMessage"}, - "output":{ - "shape":"RemoveSourceIdentifierFromSubscriptionResult", - "resultWrapper":"RemoveSourceIdentifierFromSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"SourceNotFoundFault"} - ] - }, - "RemoveTagsFromResource":{ - "name":"RemoveTagsFromResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromResourceMessage"}, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "ResetDBParameterGroup":{ - "name":"ResetDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetDBParameterGroupMessage"}, - "output":{ - "shape":"DBParameterGroupNameMessage", - "resultWrapper":"ResetDBParameterGroupResult" - }, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "RevokeDBSecurityGroupIngress":{ - "name":"RevokeDBSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeDBSecurityGroupIngressMessage"}, - "output":{ - "shape":"RevokeDBSecurityGroupIngressResult", - "resultWrapper":"RevokeDBSecurityGroupIngressResult" - }, - "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"InvalidDBSecurityGroupStateFault"} - ] - } - }, - "shapes":{ - "AddSourceIdentifierToSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SourceIdentifier" - ], - "members":{ - "SubscriptionName":{"shape":"String"}, - "SourceIdentifier":{"shape":"String"} - } - }, - "AddSourceIdentifierToSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "AddTagsToResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "Tags" - ], - "members":{ - "ResourceName":{"shape":"String"}, - "Tags":{"shape":"TagList"} - } - }, - "ApplyMethod":{ - "type":"string", - "enum":[ - "immediate", - "pending-reboot" - ] - }, - "AuthorizationAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AuthorizationNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "AuthorizationQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AuthorizeDBSecurityGroupIngressMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "CIDRIP":{"shape":"String"}, - "EC2SecurityGroupName":{"shape":"String"}, - "EC2SecurityGroupId":{"shape":"String"}, - "EC2SecurityGroupOwnerId":{"shape":"String"} - } - }, - "AuthorizeDBSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "ProvisionedIopsCapable":{"shape":"Boolean"} - }, - "wrapper":true - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"AvailabilityZone" - } - }, - "Boolean":{"type":"boolean"}, - "BooleanOptional":{"type":"boolean"}, - "CharacterSet":{ - "type":"structure", - "members":{ - "CharacterSetName":{"shape":"String"}, - "CharacterSetDescription":{"shape":"String"} - } - }, - "CopyDBSnapshotMessage":{ - "type":"structure", - "required":[ - "SourceDBSnapshotIdentifier", - "TargetDBSnapshotIdentifier" - ], - "members":{ - "SourceDBSnapshotIdentifier":{"shape":"String"}, - "TargetDBSnapshotIdentifier":{"shape":"String"} - } - }, - "CopyDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "CreateDBInstanceMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "AllocatedStorage", - "DBInstanceClass", - "Engine", - "MasterUsername", - "MasterUserPassword" - ], - "members":{ - "DBName":{"shape":"String"}, - "DBInstanceIdentifier":{"shape":"String"}, - "AllocatedStorage":{"shape":"IntegerOptional"}, - "DBInstanceClass":{"shape":"String"}, - "Engine":{"shape":"String"}, - "MasterUsername":{"shape":"String"}, - "MasterUserPassword":{"shape":"String"}, - "DBSecurityGroups":{"shape":"DBSecurityGroupNameList"}, - "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, - "AvailabilityZone":{"shape":"String"}, - "DBSubnetGroupName":{"shape":"String"}, - "PreferredMaintenanceWindow":{"shape":"String"}, - "DBParameterGroupName":{"shape":"String"}, - "BackupRetentionPeriod":{"shape":"IntegerOptional"}, - "PreferredBackupWindow":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "EngineVersion":{"shape":"String"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "LicenseModel":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "CharacterSetName":{"shape":"String"}, - "PubliclyAccessible":{"shape":"BooleanOptional"} - } - }, - "CreateDBInstanceReadReplicaMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "SourceDBInstanceIdentifier" - ], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "SourceDBInstanceIdentifier":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "AvailabilityZone":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "PubliclyAccessible":{"shape":"BooleanOptional"} - } - }, - "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"}, - "DBParameterGroupFamily":{"shape":"String"}, - "Description":{"shape":"String"} - } - }, - "CreateDBParameterGroupResult":{ - "type":"structure", - "members":{ - "DBParameterGroup":{"shape":"DBParameterGroup"} - } - }, - "CreateDBSecurityGroupMessage":{ - "type":"structure", - "required":[ - "DBSecurityGroupName", - "DBSecurityGroupDescription" - ], - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "DBSecurityGroupDescription":{"shape":"String"} - } - }, - "CreateDBSecurityGroupResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "CreateDBSnapshotMessage":{ - "type":"structure", - "required":[ - "DBSnapshotIdentifier", - "DBInstanceIdentifier" - ], - "members":{ - "DBSnapshotIdentifier":{"shape":"String"}, - "DBInstanceIdentifier":{"shape":"String"} - } - }, - "CreateDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "CreateDBSubnetGroupMessage":{ - "type":"structure", - "required":[ - "DBSubnetGroupName", - "DBSubnetGroupDescription", - "SubnetIds" - ], - "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "DBSubnetGroupDescription":{"shape":"String"}, - "SubnetIds":{"shape":"SubnetIdentifierList"} - } - }, - "CreateDBSubnetGroupResult":{ - "type":"structure", - "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } - }, - "CreateEventSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SnsTopicArn" - ], - "members":{ - "SubscriptionName":{"shape":"String"}, - "SnsTopicArn":{"shape":"String"}, - "SourceType":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "SourceIds":{"shape":"SourceIdsList"}, - "Enabled":{"shape":"BooleanOptional"} - } - }, - "CreateEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "CreateOptionGroupMessage":{ - "type":"structure", - "required":[ - "OptionGroupName", - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], - "members":{ - "OptionGroupName":{"shape":"String"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "OptionGroupDescription":{"shape":"String"} - } - }, - "CreateOptionGroupResult":{ - "type":"structure", - "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } - }, - "DBEngineVersion":{ - "type":"structure", - "members":{ - "Engine":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "DBParameterGroupFamily":{"shape":"String"}, - "DBEngineDescription":{"shape":"String"}, - "DBEngineVersionDescription":{"shape":"String"}, - "DefaultCharacterSet":{"shape":"CharacterSet"}, - "SupportedCharacterSets":{"shape":"SupportedCharacterSetsList"} - } - }, - "DBEngineVersionList":{ - "type":"list", - "member":{ - "shape":"DBEngineVersion", - "locationName":"DBEngineVersion" - } - }, - "DBEngineVersionMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBEngineVersions":{"shape":"DBEngineVersionList"} - } - }, - "DBInstance":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Engine":{"shape":"String"}, - "DBInstanceStatus":{"shape":"String"}, - "MasterUsername":{"shape":"String"}, - "DBName":{"shape":"String"}, - "Endpoint":{"shape":"Endpoint"}, - "AllocatedStorage":{"shape":"Integer"}, - "InstanceCreateTime":{"shape":"TStamp"}, - "PreferredBackupWindow":{"shape":"String"}, - "BackupRetentionPeriod":{"shape":"Integer"}, - "DBSecurityGroups":{"shape":"DBSecurityGroupMembershipList"}, - "VpcSecurityGroups":{"shape":"VpcSecurityGroupMembershipList"}, - "DBParameterGroups":{"shape":"DBParameterGroupStatusList"}, - "AvailabilityZone":{"shape":"String"}, - "DBSubnetGroup":{"shape":"DBSubnetGroup"}, - "PreferredMaintenanceWindow":{"shape":"String"}, - "PendingModifiedValues":{"shape":"PendingModifiedValues"}, - "LatestRestorableTime":{"shape":"TStamp"}, - "MultiAZ":{"shape":"Boolean"}, - "EngineVersion":{"shape":"String"}, - "AutoMinorVersionUpgrade":{"shape":"Boolean"}, - "ReadReplicaSourceDBInstanceIdentifier":{"shape":"String"}, - "ReadReplicaDBInstanceIdentifiers":{"shape":"ReadReplicaDBInstanceIdentifierList"}, - "LicenseModel":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupMemberships":{"shape":"OptionGroupMembershipList"}, - "CharacterSetName":{"shape":"String"}, - "SecondaryAvailabilityZone":{"shape":"String"}, - "PubliclyAccessible":{"shape":"Boolean"} - }, - "wrapper":true - }, - "DBInstanceAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBInstanceAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBInstanceList":{ - "type":"list", - "member":{ - "shape":"DBInstance", - "locationName":"DBInstance" - } - }, - "DBInstanceMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBInstances":{"shape":"DBInstanceList"} - } - }, - "DBInstanceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBLogFileNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBLogFileNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroup":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "DBParameterGroupFamily":{"shape":"String"}, - "Description":{"shape":"String"} - }, - "wrapper":true - }, - "DBParameterGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBParameterGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupDetails":{ - "type":"structure", - "members":{ - "Parameters":{"shape":"ParametersList"}, - "Marker":{"shape":"String"} - } - }, - "DBParameterGroupList":{ - "type":"list", - "member":{ - "shape":"DBParameterGroup", - "locationName":"DBParameterGroup" - } - }, - "DBParameterGroupNameMessage":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{"shape":"String"} - } - }, - "DBParameterGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBParameterGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupStatus":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "ParameterApplyStatus":{"shape":"String"} - } - }, - "DBParameterGroupStatusList":{ - "type":"list", - "member":{ - "shape":"DBParameterGroupStatus", - "locationName":"DBParameterGroup" - } - }, - "DBParameterGroupsMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBParameterGroups":{"shape":"DBParameterGroupList"} - } - }, - "DBSecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{"shape":"String"}, - "DBSecurityGroupName":{"shape":"String"}, - "DBSecurityGroupDescription":{"shape":"String"}, - "VpcId":{"shape":"String"}, - "EC2SecurityGroups":{"shape":"EC2SecurityGroupList"}, - "IPRanges":{"shape":"IPRangeList"} - }, - "wrapper":true - }, - "DBSecurityGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroupMembership":{ - "type":"structure", - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "Status":{"shape":"String"} - } - }, - "DBSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"DBSecurityGroupMembership", - "locationName":"DBSecurityGroup" - } - }, - "DBSecurityGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBSecurityGroups":{"shape":"DBSecurityGroups"} - } - }, - "DBSecurityGroupNameList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DBSecurityGroupName" - } - }, - "DBSecurityGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroupNotSupportedFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "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"}, - "DBInstanceIdentifier":{"shape":"String"}, - "SnapshotCreateTime":{"shape":"TStamp"}, - "Engine":{"shape":"String"}, - "AllocatedStorage":{"shape":"Integer"}, - "Status":{"shape":"String"}, - "Port":{"shape":"Integer"}, - "AvailabilityZone":{"shape":"String"}, - "VpcId":{"shape":"String"}, - "InstanceCreateTime":{"shape":"TStamp"}, - "MasterUsername":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "LicenseModel":{"shape":"String"}, - "SnapshotType":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"} - }, - "wrapper":true - }, - "DBSnapshotAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSnapshotAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSnapshotList":{ - "type":"list", - "member":{ - "shape":"DBSnapshot", - "locationName":"DBSnapshot" - } - }, - "DBSnapshotMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBSnapshots":{"shape":"DBSnapshotList"} - } - }, - "DBSnapshotNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroup":{ - "type":"structure", - "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "DBSubnetGroupDescription":{"shape":"String"}, - "VpcId":{"shape":"String"}, - "SubnetGroupStatus":{"shape":"String"}, - "Subnets":{"shape":"SubnetList"} - }, - "wrapper":true - }, - "DBSubnetGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupDoesNotCoverEnoughAZs":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupDoesNotCoverEnoughAZs", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBSubnetGroups":{"shape":"DBSubnetGroups"} - } - }, - "DBSubnetGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroups":{ - "type":"list", - "member":{ - "shape":"DBSubnetGroup", - "locationName":"DBSubnetGroup" - } - }, - "DBSubnetQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBUpgradeDependencyFailureFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBUpgradeDependencyFailure", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DeleteDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "SkipFinalSnapshot":{"shape":"Boolean"}, - "FinalDBSnapshotIdentifier":{"shape":"String"} - } - }, - "DeleteDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "DeleteDBParameterGroupMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{"shape":"String"} - } - }, - "DeleteDBSecurityGroupMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{"shape":"String"} - } - }, - "DeleteDBSnapshotMessage":{ - "type":"structure", - "required":["DBSnapshotIdentifier"], - "members":{ - "DBSnapshotIdentifier":{"shape":"String"} - } - }, - "DeleteDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "DeleteDBSubnetGroupMessage":{ - "type":"structure", - "required":["DBSubnetGroupName"], - "members":{ - "DBSubnetGroupName":{"shape":"String"} - } - }, - "DeleteEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{"shape":"String"} - } - }, - "DeleteEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "DeleteOptionGroupMessage":{ - "type":"structure", - "required":["OptionGroupName"], - "members":{ - "OptionGroupName":{"shape":"String"} - } - }, - "DescribeDBEngineVersionsMessage":{ - "type":"structure", - "members":{ - "Engine":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "DBParameterGroupFamily":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"}, - "DefaultOnly":{"shape":"Boolean"}, - "ListSupportedCharacterSets":{"shape":"BooleanOptional"} - } - }, - "DescribeDBInstancesMessage":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBLogFilesDetails":{ - "type":"structure", - "members":{ - "LogFileName":{"shape":"String"}, - "LastWritten":{"shape":"Long"}, - "Size":{"shape":"Long"} - } - }, - "DescribeDBLogFilesList":{ - "type":"list", - "member":{ - "shape":"DescribeDBLogFilesDetails", - "locationName":"DescribeDBLogFilesDetails" - } - }, - "DescribeDBLogFilesMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "FilenameContains":{"shape":"String"}, - "FileLastWritten":{"shape":"Long"}, - "FileSize":{"shape":"Long"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBLogFilesResponse":{ - "type":"structure", - "members":{ - "DescribeDBLogFiles":{"shape":"DescribeDBLogFilesList"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBParameterGroupsMessage":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "Source":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBSecurityGroupsMessage":{ - "type":"structure", - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBSnapshotsMessage":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "DBSnapshotIdentifier":{"shape":"String"}, - "SnapshotType":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBSubnetGroupsMessage":{ - "type":"structure", - "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeEngineDefaultParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupFamily"], - "members":{ - "DBParameterGroupFamily":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeEngineDefaultParametersResult":{ - "type":"structure", - "members":{ - "EngineDefaults":{"shape":"EngineDefaults"} - } - }, - "DescribeEventCategoriesMessage":{ - "type":"structure", - "members":{ - "SourceType":{"shape":"String"} - } - }, - "DescribeEventSubscriptionsMessage":{ - "type":"structure", - "members":{ - "SubscriptionName":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeEventsMessage":{ - "type":"structure", - "members":{ - "SourceIdentifier":{"shape":"String"}, - "SourceType":{"shape":"SourceType"}, - "StartTime":{"shape":"TStamp"}, - "EndTime":{"shape":"TStamp"}, - "Duration":{"shape":"IntegerOptional"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeOptionGroupOptionsMessage":{ - "type":"structure", - "required":["EngineName"], - "members":{ - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeOptionGroupsMessage":{ - "type":"structure", - "members":{ - "OptionGroupName":{"shape":"String"}, - "Marker":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"} - } - }, - "DescribeOrderableDBInstanceOptionsMessage":{ - "type":"structure", - "required":["Engine"], - "members":{ - "Engine":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "LicenseModel":{"shape":"String"}, - "Vpc":{"shape":"BooleanOptional"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeReservedDBInstancesMessage":{ - "type":"structure", - "members":{ - "ReservedDBInstanceId":{"shape":"String"}, - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Duration":{"shape":"String"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeReservedDBInstancesOfferingsMessage":{ - "type":"structure", - "members":{ - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Duration":{"shape":"String"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "Double":{"type":"double"}, - "DownloadDBLogFilePortionDetails":{ - "type":"structure", - "members":{ - "LogFileData":{"shape":"String"}, - "Marker":{"shape":"String"}, - "AdditionalDataPending":{"shape":"Boolean"} - } - }, - "DownloadDBLogFilePortionMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "LogFileName" - ], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "LogFileName":{"shape":"String"}, - "Marker":{"shape":"String"}, - "NumberOfLines":{"shape":"Integer"} - } - }, - "EC2SecurityGroup":{ - "type":"structure", - "members":{ - "Status":{"shape":"String"}, - "EC2SecurityGroupName":{"shape":"String"}, - "EC2SecurityGroupId":{"shape":"String"}, - "EC2SecurityGroupOwnerId":{"shape":"String"} - } - }, - "EC2SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"EC2SecurityGroup", - "locationName":"EC2SecurityGroup" - } - }, - "Endpoint":{ - "type":"structure", - "members":{ - "Address":{"shape":"String"}, - "Port":{"shape":"Integer"} - } - }, - "EngineDefaults":{ - "type":"structure", - "members":{ - "DBParameterGroupFamily":{"shape":"String"}, - "Marker":{"shape":"String"}, - "Parameters":{"shape":"ParametersList"} - }, - "wrapper":true - }, - "Event":{ - "type":"structure", - "members":{ - "SourceIdentifier":{"shape":"String"}, - "SourceType":{"shape":"SourceType"}, - "Message":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "Date":{"shape":"TStamp"} - } - }, - "EventCategoriesList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"EventCategory" - } - }, - "EventCategoriesMap":{ - "type":"structure", - "members":{ - "SourceType":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"} - }, - "wrapper":true - }, - "EventCategoriesMapList":{ - "type":"list", - "member":{ - "shape":"EventCategoriesMap", - "locationName":"EventCategoriesMap" - } - }, - "EventCategoriesMessage":{ - "type":"structure", - "members":{ - "EventCategoriesMapList":{"shape":"EventCategoriesMapList"} - } - }, - "EventList":{ - "type":"list", - "member":{ - "shape":"Event", - "locationName":"Event" - } - }, - "EventSubscription":{ - "type":"structure", - "members":{ - "CustomerAwsId":{"shape":"String"}, - "CustSubscriptionId":{"shape":"String"}, - "SnsTopicArn":{"shape":"String"}, - "Status":{"shape":"String"}, - "SubscriptionCreationTime":{"shape":"String"}, - "SourceType":{"shape":"String"}, - "SourceIdsList":{"shape":"SourceIdsList"}, - "EventCategoriesList":{"shape":"EventCategoriesList"}, - "Enabled":{"shape":"Boolean"} - }, - "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"}, - "EventSubscriptionsList":{"shape":"EventSubscriptionsList"} - } - }, - "EventsMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "Events":{"shape":"EventList"} - } - }, - "IPRange":{ - "type":"structure", - "members":{ - "Status":{"shape":"String"}, - "CIDRIP":{"shape":"String"} - } - }, - "IPRangeList":{ - "type":"list", - "member":{ - "shape":"IPRange", - "locationName":"IPRange" - } - }, - "InstanceQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InsufficientDBInstanceCapacityFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InsufficientDBInstanceCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Integer":{"type":"integer"}, - "IntegerOptional":{"type":"integer"}, - "InvalidDBInstanceStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBInstanceState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBParameterGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSecurityGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSnapshotStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSubnetGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSubnetGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSubnetStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSubnetStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidEventSubscriptionStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidEventSubscriptionState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidOptionGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidOptionGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidRestoreFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidRestoreFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSubnet":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidVPCNetworkStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "KeyList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ListTagsForResourceMessage":{ - "type":"structure", - "required":["ResourceName"], - "members":{ - "ResourceName":{"shape":"String"} - } - }, - "Long":{"type":"long"}, - "ModifyDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "AllocatedStorage":{"shape":"IntegerOptional"}, - "DBInstanceClass":{"shape":"String"}, - "DBSecurityGroups":{"shape":"DBSecurityGroupNameList"}, - "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, - "ApplyImmediately":{"shape":"Boolean"}, - "MasterUserPassword":{"shape":"String"}, - "DBParameterGroupName":{"shape":"String"}, - "BackupRetentionPeriod":{"shape":"IntegerOptional"}, - "PreferredBackupWindow":{"shape":"String"}, - "PreferredMaintenanceWindow":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "EngineVersion":{"shape":"String"}, - "AllowMajorVersionUpgrade":{"shape":"Boolean"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "NewDBInstanceIdentifier":{"shape":"String"} - } - }, - "ModifyDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "ModifyDBParameterGroupMessage":{ - "type":"structure", - "required":[ - "DBParameterGroupName", - "Parameters" - ], - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "Parameters":{"shape":"ParametersList"} - } - }, - "ModifyDBSubnetGroupMessage":{ - "type":"structure", - "required":[ - "DBSubnetGroupName", - "SubnetIds" - ], - "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "DBSubnetGroupDescription":{"shape":"String"}, - "SubnetIds":{"shape":"SubnetIdentifierList"} - } - }, - "ModifyDBSubnetGroupResult":{ - "type":"structure", - "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } - }, - "ModifyEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{"shape":"String"}, - "SnsTopicArn":{"shape":"String"}, - "SourceType":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "Enabled":{"shape":"BooleanOptional"} - } - }, - "ModifyEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "ModifyOptionGroupMessage":{ - "type":"structure", - "required":["OptionGroupName"], - "members":{ - "OptionGroupName":{"shape":"String"}, - "OptionsToInclude":{"shape":"OptionConfigurationList"}, - "OptionsToRemove":{"shape":"OptionNamesList"}, - "ApplyImmediately":{"shape":"Boolean"} - } - }, - "ModifyOptionGroupResult":{ - "type":"structure", - "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } - }, - "Option":{ - "type":"structure", - "members":{ - "OptionName":{"shape":"String"}, - "OptionDescription":{"shape":"String"}, - "Persistent":{"shape":"Boolean"}, - "Port":{"shape":"IntegerOptional"}, - "OptionSettings":{"shape":"OptionSettingConfigurationList"}, - "DBSecurityGroupMemberships":{"shape":"DBSecurityGroupMembershipList"}, - "VpcSecurityGroupMemberships":{"shape":"VpcSecurityGroupMembershipList"} - } - }, - "OptionConfiguration":{ - "type":"structure", - "required":["OptionName"], - "members":{ - "OptionName":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "DBSecurityGroupMemberships":{"shape":"DBSecurityGroupNameList"}, - "VpcSecurityGroupMemberships":{"shape":"VpcSecurityGroupIdList"}, - "OptionSettings":{"shape":"OptionSettingsList"} - } - }, - "OptionConfigurationList":{ - "type":"list", - "member":{ - "shape":"OptionConfiguration", - "locationName":"OptionConfiguration" - } - }, - "OptionGroup":{ - "type":"structure", - "members":{ - "OptionGroupName":{"shape":"String"}, - "OptionGroupDescription":{"shape":"String"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "Options":{"shape":"OptionsList"}, - "AllowsVpcAndNonVpcInstanceMemberships":{"shape":"Boolean"}, - "VpcId":{"shape":"String"} - }, - "wrapper":true - }, - "OptionGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "OptionGroupMembership":{ - "type":"structure", - "members":{ - "OptionGroupName":{"shape":"String"}, - "Status":{"shape":"String"} - } - }, - "OptionGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"OptionGroupMembership", - "locationName":"OptionGroupMembership" - } - }, - "OptionGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "OptionGroupOption":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "Description":{"shape":"String"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "MinimumRequiredMinorEngineVersion":{"shape":"String"}, - "PortRequired":{"shape":"Boolean"}, - "DefaultPort":{"shape":"IntegerOptional"}, - "OptionsDependedOn":{"shape":"OptionsDependedOn"}, - "Persistent":{"shape":"Boolean"}, - "OptionGroupOptionSettings":{"shape":"OptionGroupOptionSettingsList"} - } - }, - "OptionGroupOptionSetting":{ - "type":"structure", - "members":{ - "SettingName":{"shape":"String"}, - "SettingDescription":{"shape":"String"}, - "DefaultValue":{"shape":"String"}, - "ApplyType":{"shape":"String"}, - "AllowedValues":{"shape":"String"}, - "IsModifiable":{"shape":"Boolean"} - } - }, - "OptionGroupOptionSettingsList":{ - "type":"list", - "member":{ - "shape":"OptionGroupOptionSetting", - "locationName":"OptionGroupOptionSetting" - } - }, - "OptionGroupOptionsList":{ - "type":"list", - "member":{ - "shape":"OptionGroupOption", - "locationName":"OptionGroupOption" - } - }, - "OptionGroupOptionsMessage":{ - "type":"structure", - "members":{ - "OptionGroupOptions":{"shape":"OptionGroupOptionsList"}, - "Marker":{"shape":"String"} - } - }, - "OptionGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "OptionGroups":{ - "type":"structure", - "members":{ - "OptionGroupsList":{"shape":"OptionGroupsList"}, - "Marker":{"shape":"String"} - } - }, - "OptionGroupsList":{ - "type":"list", - "member":{ - "shape":"OptionGroup", - "locationName":"OptionGroup" - } - }, - "OptionNamesList":{ - "type":"list", - "member":{"shape":"String"} - }, - "OptionSetting":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "Value":{"shape":"String"}, - "DefaultValue":{"shape":"String"}, - "Description":{"shape":"String"}, - "ApplyType":{"shape":"String"}, - "DataType":{"shape":"String"}, - "AllowedValues":{"shape":"String"}, - "IsModifiable":{"shape":"Boolean"}, - "IsCollection":{"shape":"Boolean"} - } - }, - "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"}, - "EngineVersion":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "LicenseModel":{"shape":"String"}, - "AvailabilityZones":{"shape":"AvailabilityZoneList"}, - "MultiAZCapable":{"shape":"Boolean"}, - "ReadReplicaCapable":{"shape":"Boolean"}, - "Vpc":{"shape":"Boolean"} - }, - "wrapper":true - }, - "OrderableDBInstanceOptionsList":{ - "type":"list", - "member":{ - "shape":"OrderableDBInstanceOption", - "locationName":"OrderableDBInstanceOption" - } - }, - "OrderableDBInstanceOptionsMessage":{ - "type":"structure", - "members":{ - "OrderableDBInstanceOptions":{"shape":"OrderableDBInstanceOptionsList"}, - "Marker":{"shape":"String"} - } - }, - "Parameter":{ - "type":"structure", - "members":{ - "ParameterName":{"shape":"String"}, - "ParameterValue":{"shape":"String"}, - "Description":{"shape":"String"}, - "Source":{"shape":"String"}, - "ApplyType":{"shape":"String"}, - "DataType":{"shape":"String"}, - "AllowedValues":{"shape":"String"}, - "IsModifiable":{"shape":"Boolean"}, - "MinimumEngineVersion":{"shape":"String"}, - "ApplyMethod":{"shape":"ApplyMethod"} - } - }, - "ParametersList":{ - "type":"list", - "member":{ - "shape":"Parameter", - "locationName":"Parameter" - } - }, - "PendingModifiedValues":{ - "type":"structure", - "members":{ - "DBInstanceClass":{"shape":"String"}, - "AllocatedStorage":{"shape":"IntegerOptional"}, - "MasterUserPassword":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "BackupRetentionPeriod":{"shape":"IntegerOptional"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "EngineVersion":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "DBInstanceIdentifier":{"shape":"String"} - } - }, - "PointInTimeRestoreNotEnabledFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"PointInTimeRestoreNotEnabled", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PromoteReadReplicaMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "BackupRetentionPeriod":{"shape":"IntegerOptional"}, - "PreferredBackupWindow":{"shape":"String"} - } - }, - "PromoteReadReplicaResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "ProvisionedIopsNotAvailableInAZFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ProvisionedIopsNotAvailableInAZFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PurchaseReservedDBInstancesOfferingMessage":{ - "type":"structure", - "required":["ReservedDBInstancesOfferingId"], - "members":{ - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "ReservedDBInstanceId":{"shape":"String"}, - "DBInstanceCount":{"shape":"IntegerOptional"} - } - }, - "PurchaseReservedDBInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedDBInstance":{"shape":"ReservedDBInstance"} - } - }, - "ReadReplicaDBInstanceIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReadReplicaDBInstanceIdentifier" - } - }, - "RebootDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "ForceFailover":{"shape":"BooleanOptional"} - } - }, - "RebootDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "RecurringChargeAmount":{"shape":"Double"}, - "RecurringChargeFrequency":{"shape":"String"} - }, - "wrapper":true - }, - "RecurringChargeList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"RecurringCharge" - } - }, - "RemoveSourceIdentifierFromSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SourceIdentifier" - ], - "members":{ - "SubscriptionName":{"shape":"String"}, - "SourceIdentifier":{"shape":"String"} - } - }, - "RemoveSourceIdentifierFromSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "RemoveTagsFromResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "TagKeys" - ], - "members":{ - "ResourceName":{"shape":"String"}, - "TagKeys":{"shape":"KeyList"} - } - }, - "ReservedDBInstance":{ - "type":"structure", - "members":{ - "ReservedDBInstanceId":{"shape":"String"}, - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "StartTime":{"shape":"TStamp"}, - "Duration":{"shape":"Integer"}, - "FixedPrice":{"shape":"Double"}, - "UsagePrice":{"shape":"Double"}, - "CurrencyCode":{"shape":"String"}, - "DBInstanceCount":{"shape":"Integer"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"Boolean"}, - "State":{"shape":"String"}, - "RecurringCharges":{"shape":"RecurringChargeList"} - }, - "wrapper":true - }, - "ReservedDBInstanceAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstanceAlreadyExists", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstanceList":{ - "type":"list", - "member":{ - "shape":"ReservedDBInstance", - "locationName":"ReservedDBInstance" - } - }, - "ReservedDBInstanceMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "ReservedDBInstances":{"shape":"ReservedDBInstanceList"} - } - }, - "ReservedDBInstanceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstanceQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Duration":{"shape":"Integer"}, - "FixedPrice":{"shape":"Double"}, - "UsagePrice":{"shape":"Double"}, - "CurrencyCode":{"shape":"String"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"Boolean"}, - "RecurringCharges":{"shape":"RecurringChargeList"} - }, - "wrapper":true - }, - "ReservedDBInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedDBInstancesOffering", - "locationName":"ReservedDBInstancesOffering" - } - }, - "ReservedDBInstancesOfferingMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "ReservedDBInstancesOfferings":{"shape":"ReservedDBInstancesOfferingList"} - } - }, - "ReservedDBInstancesOfferingNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstancesOfferingNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ResetDBParameterGroupMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "ResetAllParameters":{"shape":"Boolean"}, - "Parameters":{"shape":"ParametersList"} - } - }, - "RestoreDBInstanceFromDBSnapshotMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "DBSnapshotIdentifier" - ], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "DBSnapshotIdentifier":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "AvailabilityZone":{"shape":"String"}, - "DBSubnetGroupName":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "PubliclyAccessible":{"shape":"BooleanOptional"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "LicenseModel":{"shape":"String"}, - "DBName":{"shape":"String"}, - "Engine":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"} - } - }, - "RestoreDBInstanceFromDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RestoreDBInstanceToPointInTimeMessage":{ - "type":"structure", - "required":[ - "SourceDBInstanceIdentifier", - "TargetDBInstanceIdentifier" - ], - "members":{ - "SourceDBInstanceIdentifier":{"shape":"String"}, - "TargetDBInstanceIdentifier":{"shape":"String"}, - "RestoreTime":{"shape":"TStamp"}, - "UseLatestRestorableTime":{"shape":"Boolean"}, - "DBInstanceClass":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "AvailabilityZone":{"shape":"String"}, - "DBSubnetGroupName":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "PubliclyAccessible":{"shape":"BooleanOptional"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "LicenseModel":{"shape":"String"}, - "DBName":{"shape":"String"}, - "Engine":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"} - } - }, - "RestoreDBInstanceToPointInTimeResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RevokeDBSecurityGroupIngressMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "CIDRIP":{"shape":"String"}, - "EC2SecurityGroupName":{"shape":"String"}, - "EC2SecurityGroupId":{"shape":"String"}, - "EC2SecurityGroupOwnerId":{"shape":"String"} - } - }, - "RevokeDBSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "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 - }, - "SnapshotQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "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" - ] - }, - "StorageQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"StorageQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetIdentifier":{"shape":"String"}, - "SubnetAvailabilityZone":{"shape":"AvailabilityZone"}, - "SubnetStatus":{"shape":"String"} - } - }, - "SubnetAlreadyInUse":{ - "type":"structure", - "members":{ - }, - "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" - } - }, - "TStamp":{"type":"timestamp"}, - "Tag":{ - "type":"structure", - "members":{ - "Key":{"shape":"String"}, - "Value":{"shape":"String"} - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagListMessage":{ - "type":"structure", - "members":{ - "TagList":{"shape":"TagList"} - } - }, - "VpcSecurityGroupIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcSecurityGroupId" - } - }, - "VpcSecurityGroupMembership":{ - "type":"structure", - "members":{ - "VpcSecurityGroupId":{"shape":"String"}, - "Status":{"shape":"String"} - } - }, - "VpcSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"VpcSecurityGroupMembership", - "locationName":"VpcSecurityGroupMembership" - } - } - } -} diff --git a/models/apis/rds/2013-02-12/docs-2.json b/models/apis/rds/2013-02-12/docs-2.json deleted file mode 100644 index 695558b0bb6..00000000000 --- a/models/apis/rds/2013-02-12/docs-2.json +++ /dev/null @@ -1,1796 +0,0 @@ -{ - "version": "2.0", - "service": null, - "operations": { - "AddSourceIdentifierToSubscription": null, - "AddTagsToResource": null, - "AuthorizeDBSecurityGroupIngress": null, - "CopyDBSnapshot": null, - "CreateDBInstance": null, - "CreateDBInstanceReadReplica": null, - "CreateDBParameterGroup": null, - "CreateDBSecurityGroup": null, - "CreateDBSnapshot": null, - "CreateDBSubnetGroup": null, - "CreateEventSubscription": null, - "CreateOptionGroup": null, - "DeleteDBInstance": null, - "DeleteDBParameterGroup": null, - "DeleteDBSecurityGroup": null, - "DeleteDBSnapshot": null, - "DeleteDBSubnetGroup": null, - "DeleteEventSubscription": null, - "DeleteOptionGroup": null, - "DescribeDBEngineVersions": null, - "DescribeDBInstances": null, - "DescribeDBLogFiles": null, - "DescribeDBParameterGroups": null, - "DescribeDBParameters": null, - "DescribeDBSecurityGroups": null, - "DescribeDBSnapshots": null, - "DescribeDBSubnetGroups": null, - "DescribeEngineDefaultParameters": null, - "DescribeEventCategories": null, - "DescribeEventSubscriptions": null, - "DescribeEvents": null, - "DescribeOptionGroupOptions": null, - "DescribeOptionGroups": null, - "DescribeOrderableDBInstanceOptions": null, - "DescribeReservedDBInstances": null, - "DescribeReservedDBInstancesOfferings": null, - "DownloadDBLogFilePortion": null, - "ListTagsForResource": null, - "ModifyDBInstance": null, - "ModifyDBParameterGroup": null, - "ModifyDBSubnetGroup": null, - "ModifyEventSubscription": null, - "ModifyOptionGroup": null, - "PromoteReadReplica": null, - "PurchaseReservedDBInstancesOffering": null, - "RebootDBInstance": null, - "RemoveSourceIdentifierFromSubscription": null, - "RemoveTagsFromResource": null, - "ResetDBParameterGroup": null, - "RestoreDBInstanceFromDBSnapshot": null, - "RestoreDBInstanceToPointInTime": null, - "RevokeDBSecurityGroupIngress": null - }, - "shapes": { - "AddSourceIdentifierToSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "AddSourceIdentifierToSubscriptionResult": { - "base": null, - "refs": { - } - }, - "AddTagsToResourceMessage": { - "base": null, - "refs": { - } - }, - "ApplyMethod": { - "base": null, - "refs": { - "Parameter$ApplyMethod": null - } - }, - "AuthorizationAlreadyExistsFault": { - "base": "

The specified CIDRIP or EC2 security group is already authorized for the specified DB security group.

", - "refs": { - } - }, - "AuthorizationNotFoundFault": { - "base": "

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.

", - "refs": { - } - }, - "AuthorizationQuotaExceededFault": { - "base": "

DB security group authorization quota has been reached.

", - "refs": { - } - }, - "AuthorizeDBSecurityGroupIngressMessage": { - "base": null, - "refs": { - } - }, - "AuthorizeDBSecurityGroupIngressResult": { - "base": null, - "refs": { - } - }, - "AvailabilityZone": { - "base": null, - "refs": { - "AvailabilityZoneList$member": null, - "Subnet$SubnetAvailabilityZone": null - } - }, - "AvailabilityZoneList": { - "base": null, - "refs": { - "OrderableDBInstanceOption$AvailabilityZones": null - } - }, - "Boolean": { - "base": null, - "refs": { - "AvailabilityZone$ProvisionedIopsCapable": null, - "DBInstance$MultiAZ": null, - "DBInstance$AutoMinorVersionUpgrade": null, - "DBInstance$PubliclyAccessible": null, - "DeleteDBInstanceMessage$SkipFinalSnapshot": null, - "DescribeDBEngineVersionsMessage$DefaultOnly": null, - "DownloadDBLogFilePortionDetails$AdditionalDataPending": null, - "EventSubscription$Enabled": null, - "ModifyDBInstanceMessage$ApplyImmediately": null, - "ModifyDBInstanceMessage$AllowMajorVersionUpgrade": null, - "ModifyOptionGroupMessage$ApplyImmediately": null, - "Option$Persistent": null, - "OptionGroup$AllowsVpcAndNonVpcInstanceMemberships": null, - "OptionGroupOption$PortRequired": null, - "OptionGroupOption$Persistent": null, - "OptionGroupOptionSetting$IsModifiable": null, - "OptionSetting$IsModifiable": null, - "OptionSetting$IsCollection": null, - "OrderableDBInstanceOption$MultiAZCapable": null, - "OrderableDBInstanceOption$ReadReplicaCapable": null, - "OrderableDBInstanceOption$Vpc": null, - "Parameter$IsModifiable": null, - "ReservedDBInstance$MultiAZ": null, - "ReservedDBInstancesOffering$MultiAZ": null, - "ResetDBParameterGroupMessage$ResetAllParameters": null, - "RestoreDBInstanceToPointInTimeMessage$UseLatestRestorableTime": null - } - }, - "BooleanOptional": { - "base": null, - "refs": { - "CreateDBInstanceMessage$MultiAZ": null, - "CreateDBInstanceMessage$AutoMinorVersionUpgrade": null, - "CreateDBInstanceMessage$PubliclyAccessible": null, - "CreateDBInstanceReadReplicaMessage$AutoMinorVersionUpgrade": null, - "CreateDBInstanceReadReplicaMessage$PubliclyAccessible": null, - "CreateEventSubscriptionMessage$Enabled": null, - "DescribeDBEngineVersionsMessage$ListSupportedCharacterSets": null, - "DescribeOrderableDBInstanceOptionsMessage$Vpc": null, - "DescribeReservedDBInstancesMessage$MultiAZ": null, - "DescribeReservedDBInstancesOfferingsMessage$MultiAZ": null, - "ModifyDBInstanceMessage$MultiAZ": null, - "ModifyDBInstanceMessage$AutoMinorVersionUpgrade": null, - "ModifyEventSubscriptionMessage$Enabled": null, - "PendingModifiedValues$MultiAZ": null, - "RebootDBInstanceMessage$ForceFailover": null, - "RestoreDBInstanceFromDBSnapshotMessage$MultiAZ": null, - "RestoreDBInstanceFromDBSnapshotMessage$PubliclyAccessible": null, - "RestoreDBInstanceFromDBSnapshotMessage$AutoMinorVersionUpgrade": null, - "RestoreDBInstanceToPointInTimeMessage$MultiAZ": null, - "RestoreDBInstanceToPointInTimeMessage$PubliclyAccessible": null, - "RestoreDBInstanceToPointInTimeMessage$AutoMinorVersionUpgrade": null - } - }, - "CharacterSet": { - "base": null, - "refs": { - "DBEngineVersion$DefaultCharacterSet": null, - "SupportedCharacterSetsList$member": null - } - }, - "CopyDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "CopyDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceReadReplicaMessage": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceReadReplicaResult": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceResult": { - "base": null, - "refs": { - } - }, - "CreateDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateDBParameterGroupResult": { - "base": null, - "refs": { - } - }, - "CreateDBSecurityGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateDBSecurityGroupResult": { - "base": null, - "refs": { - } - }, - "CreateDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "CreateDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "CreateDBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateDBSubnetGroupResult": { - "base": null, - "refs": { - } - }, - "CreateEventSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "CreateEventSubscriptionResult": { - "base": null, - "refs": { - } - }, - "CreateOptionGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateOptionGroupResult": { - "base": null, - "refs": { - } - }, - "DBEngineVersion": { - "base": null, - "refs": { - "DBEngineVersionList$member": null - } - }, - "DBEngineVersionList": { - "base": null, - "refs": { - "DBEngineVersionMessage$DBEngineVersions": null - } - }, - "DBEngineVersionMessage": { - "base": null, - "refs": { - } - }, - "DBInstance": { - "base": null, - "refs": { - "CreateDBInstanceReadReplicaResult$DBInstance": null, - "CreateDBInstanceResult$DBInstance": null, - "DBInstanceList$member": null, - "DeleteDBInstanceResult$DBInstance": null, - "ModifyDBInstanceResult$DBInstance": null, - "PromoteReadReplicaResult$DBInstance": null, - "RebootDBInstanceResult$DBInstance": null, - "RestoreDBInstanceFromDBSnapshotResult$DBInstance": null, - "RestoreDBInstanceToPointInTimeResult$DBInstance": null - } - }, - "DBInstanceAlreadyExistsFault": { - "base": "

User already has a DB instance with the given identifier.

", - "refs": { - } - }, - "DBInstanceList": { - "base": null, - "refs": { - "DBInstanceMessage$DBInstances": null - } - }, - "DBInstanceMessage": { - "base": null, - "refs": { - } - }, - "DBInstanceNotFoundFault": { - "base": "

DBInstanceIdentifier does not refer to an existing DB instance.

", - "refs": { - } - }, - "DBLogFileNotFoundFault": { - "base": "

LogFileName does not refer to an existing DB log file.

", - "refs": { - } - }, - "DBParameterGroup": { - "base": null, - "refs": { - "CreateDBParameterGroupResult$DBParameterGroup": null, - "DBParameterGroupList$member": null - } - }, - "DBParameterGroupAlreadyExistsFault": { - "base": "

A DB parameter group with the same name exists.

", - "refs": { - } - }, - "DBParameterGroupDetails": { - "base": null, - "refs": { - } - }, - "DBParameterGroupList": { - "base": null, - "refs": { - "DBParameterGroupsMessage$DBParameterGroups": null - } - }, - "DBParameterGroupNameMessage": { - "base": null, - "refs": { - } - }, - "DBParameterGroupNotFoundFault": { - "base": "

DBParameterGroupName does not refer to an existing DB parameter group.

", - "refs": { - } - }, - "DBParameterGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB parameter groups.

", - "refs": { - } - }, - "DBParameterGroupStatus": { - "base": null, - "refs": { - "DBParameterGroupStatusList$member": null - } - }, - "DBParameterGroupStatusList": { - "base": null, - "refs": { - "DBInstance$DBParameterGroups": null - } - }, - "DBParameterGroupsMessage": { - "base": null, - "refs": { - } - }, - "DBSecurityGroup": { - "base": null, - "refs": { - "AuthorizeDBSecurityGroupIngressResult$DBSecurityGroup": null, - "CreateDBSecurityGroupResult$DBSecurityGroup": null, - "DBSecurityGroups$member": null, - "RevokeDBSecurityGroupIngressResult$DBSecurityGroup": null - } - }, - "DBSecurityGroupAlreadyExistsFault": { - "base": "

A DB security group with the name specified in DBSecurityGroupName already exists.

", - "refs": { - } - }, - "DBSecurityGroupMembership": { - "base": null, - "refs": { - "DBSecurityGroupMembershipList$member": null - } - }, - "DBSecurityGroupMembershipList": { - "base": null, - "refs": { - "DBInstance$DBSecurityGroups": null, - "Option$DBSecurityGroupMemberships": null - } - }, - "DBSecurityGroupMessage": { - "base": null, - "refs": { - } - }, - "DBSecurityGroupNameList": { - "base": null, - "refs": { - "CreateDBInstanceMessage$DBSecurityGroups": null, - "ModifyDBInstanceMessage$DBSecurityGroups": null, - "OptionConfiguration$DBSecurityGroupMemberships": null - } - }, - "DBSecurityGroupNotFoundFault": { - "base": "

DBSecurityGroupName does not refer to an existing DB security group.

", - "refs": { - } - }, - "DBSecurityGroupNotSupportedFault": { - "base": "

A DB security group is not allowed for this action.

", - "refs": { - } - }, - "DBSecurityGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB security groups.

", - "refs": { - } - }, - "DBSecurityGroups": { - "base": null, - "refs": { - "DBSecurityGroupMessage$DBSecurityGroups": null - } - }, - "DBSnapshot": { - "base": null, - "refs": { - "CopyDBSnapshotResult$DBSnapshot": null, - "CreateDBSnapshotResult$DBSnapshot": null, - "DBSnapshotList$member": null, - "DeleteDBSnapshotResult$DBSnapshot": null - } - }, - "DBSnapshotAlreadyExistsFault": { - "base": "

DBSnapshotIdentifier is already used by an existing snapshot.

", - "refs": { - } - }, - "DBSnapshotList": { - "base": null, - "refs": { - "DBSnapshotMessage$DBSnapshots": null - } - }, - "DBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "DBSnapshotNotFoundFault": { - "base": "

DBSnapshotIdentifier does not refer to an existing DB snapshot.

", - "refs": { - } - }, - "DBSubnetGroup": { - "base": null, - "refs": { - "CreateDBSubnetGroupResult$DBSubnetGroup": null, - "DBInstance$DBSubnetGroup": null, - "DBSubnetGroups$member": null, - "ModifyDBSubnetGroupResult$DBSubnetGroup": null - } - }, - "DBSubnetGroupAlreadyExistsFault": { - "base": "

DBSubnetGroupName is already used by an existing DB subnet group.

", - "refs": { - } - }, - "DBSubnetGroupDoesNotCoverEnoughAZs": { - "base": "

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

", - "refs": { - } - }, - "DBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "DBSubnetGroupNotFoundFault": { - "base": "

DBSubnetGroupName does not refer to an existing DB subnet group.

", - "refs": { - } - }, - "DBSubnetGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB subnet groups.

", - "refs": { - } - }, - "DBSubnetGroups": { - "base": null, - "refs": { - "DBSubnetGroupMessage$DBSubnetGroups": null - } - }, - "DBSubnetQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of subnets in a DB subnet groups.

", - "refs": { - } - }, - "DBUpgradeDependencyFailureFault": { - "base": "

The DB upgrade failed because a resource the DB depends on could not be modified.

", - "refs": { - } - }, - "DeleteDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBInstanceResult": { - "base": null, - "refs": { - } - }, - "DeleteDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBSecurityGroupMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "DeleteDBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "DeleteEventSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "DeleteEventSubscriptionResult": { - "base": null, - "refs": { - } - }, - "DeleteOptionGroupMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBEngineVersionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBInstancesMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBLogFilesDetails": { - "base": null, - "refs": { - "DescribeDBLogFilesList$member": null - } - }, - "DescribeDBLogFilesList": { - "base": null, - "refs": { - "DescribeDBLogFilesResponse$DescribeDBLogFiles": null - } - }, - "DescribeDBLogFilesMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBLogFilesResponse": { - "base": null, - "refs": { - } - }, - "DescribeDBParameterGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBParametersMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBSecurityGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBSnapshotsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBSubnetGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeEngineDefaultParametersMessage": { - "base": null, - "refs": { - } - }, - "DescribeEngineDefaultParametersResult": { - "base": null, - "refs": { - } - }, - "DescribeEventCategoriesMessage": { - "base": null, - "refs": { - } - }, - "DescribeEventSubscriptionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeEventsMessage": { - "base": null, - "refs": { - } - }, - "DescribeOptionGroupOptionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeOptionGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeOrderableDBInstanceOptionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeReservedDBInstancesMessage": { - "base": null, - "refs": { - } - }, - "DescribeReservedDBInstancesOfferingsMessage": { - "base": null, - "refs": { - } - }, - "Double": { - "base": null, - "refs": { - "RecurringCharge$RecurringChargeAmount": null, - "ReservedDBInstance$FixedPrice": null, - "ReservedDBInstance$UsagePrice": null, - "ReservedDBInstancesOffering$FixedPrice": null, - "ReservedDBInstancesOffering$UsagePrice": null - } - }, - "DownloadDBLogFilePortionDetails": { - "base": null, - "refs": { - } - }, - "DownloadDBLogFilePortionMessage": { - "base": null, - "refs": { - } - }, - "EC2SecurityGroup": { - "base": null, - "refs": { - "EC2SecurityGroupList$member": null - } - }, - "EC2SecurityGroupList": { - "base": null, - "refs": { - "DBSecurityGroup$EC2SecurityGroups": null - } - }, - "Endpoint": { - "base": null, - "refs": { - "DBInstance$Endpoint": null - } - }, - "EngineDefaults": { - "base": null, - "refs": { - "DescribeEngineDefaultParametersResult$EngineDefaults": null - } - }, - "Event": { - "base": null, - "refs": { - "EventList$member": null - } - }, - "EventCategoriesList": { - "base": null, - "refs": { - "CreateEventSubscriptionMessage$EventCategories": null, - "DescribeEventsMessage$EventCategories": null, - "Event$EventCategories": null, - "EventCategoriesMap$EventCategories": null, - "EventSubscription$EventCategoriesList": null, - "ModifyEventSubscriptionMessage$EventCategories": null - } - }, - "EventCategoriesMap": { - "base": null, - "refs": { - "EventCategoriesMapList$member": null - } - }, - "EventCategoriesMapList": { - "base": null, - "refs": { - "EventCategoriesMessage$EventCategoriesMapList": null - } - }, - "EventCategoriesMessage": { - "base": null, - "refs": { - } - }, - "EventList": { - "base": null, - "refs": { - "EventsMessage$Events": null - } - }, - "EventSubscription": { - "base": null, - "refs": { - "AddSourceIdentifierToSubscriptionResult$EventSubscription": null, - "CreateEventSubscriptionResult$EventSubscription": null, - "DeleteEventSubscriptionResult$EventSubscription": null, - "EventSubscriptionsList$member": null, - "ModifyEventSubscriptionResult$EventSubscription": null, - "RemoveSourceIdentifierFromSubscriptionResult$EventSubscription": null - } - }, - "EventSubscriptionQuotaExceededFault": { - "base": "

You have reached the maximum number of event subscriptions.

", - "refs": { - } - }, - "EventSubscriptionsList": { - "base": null, - "refs": { - "EventSubscriptionsMessage$EventSubscriptionsList": null - } - }, - "EventSubscriptionsMessage": { - "base": null, - "refs": { - } - }, - "EventsMessage": { - "base": null, - "refs": { - } - }, - "IPRange": { - "base": null, - "refs": { - "IPRangeList$member": null - } - }, - "IPRangeList": { - "base": null, - "refs": { - "DBSecurityGroup$IPRanges": null - } - }, - "InstanceQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB instances.

", - "refs": { - } - }, - "InsufficientDBInstanceCapacityFault": { - "base": "

Specified DB instance class is not available in the specified Availability Zone.

", - "refs": { - } - }, - "Integer": { - "base": null, - "refs": { - "DBInstance$AllocatedStorage": null, - "DBInstance$BackupRetentionPeriod": null, - "DBSnapshot$AllocatedStorage": null, - "DBSnapshot$Port": null, - "DownloadDBLogFilePortionMessage$NumberOfLines": null, - "Endpoint$Port": null, - "ReservedDBInstance$Duration": null, - "ReservedDBInstance$DBInstanceCount": null, - "ReservedDBInstancesOffering$Duration": null - } - }, - "IntegerOptional": { - "base": null, - "refs": { - "CreateDBInstanceMessage$AllocatedStorage": null, - "CreateDBInstanceMessage$BackupRetentionPeriod": null, - "CreateDBInstanceMessage$Port": null, - "CreateDBInstanceMessage$Iops": null, - "CreateDBInstanceReadReplicaMessage$Port": null, - "CreateDBInstanceReadReplicaMessage$Iops": null, - "DBInstance$Iops": null, - "DBSnapshot$Iops": null, - "DescribeDBEngineVersionsMessage$MaxRecords": null, - "DescribeDBInstancesMessage$MaxRecords": null, - "DescribeDBLogFilesMessage$MaxRecords": null, - "DescribeDBParameterGroupsMessage$MaxRecords": null, - "DescribeDBParametersMessage$MaxRecords": null, - "DescribeDBSecurityGroupsMessage$MaxRecords": null, - "DescribeDBSnapshotsMessage$MaxRecords": null, - "DescribeDBSubnetGroupsMessage$MaxRecords": null, - "DescribeEngineDefaultParametersMessage$MaxRecords": null, - "DescribeEventSubscriptionsMessage$MaxRecords": null, - "DescribeEventsMessage$Duration": null, - "DescribeEventsMessage$MaxRecords": null, - "DescribeOptionGroupOptionsMessage$MaxRecords": null, - "DescribeOptionGroupsMessage$MaxRecords": null, - "DescribeOrderableDBInstanceOptionsMessage$MaxRecords": null, - "DescribeReservedDBInstancesMessage$MaxRecords": null, - "DescribeReservedDBInstancesOfferingsMessage$MaxRecords": null, - "ModifyDBInstanceMessage$AllocatedStorage": null, - "ModifyDBInstanceMessage$BackupRetentionPeriod": null, - "ModifyDBInstanceMessage$Iops": null, - "Option$Port": null, - "OptionConfiguration$Port": null, - "OptionGroupOption$DefaultPort": null, - "PendingModifiedValues$AllocatedStorage": null, - "PendingModifiedValues$Port": null, - "PendingModifiedValues$BackupRetentionPeriod": null, - "PendingModifiedValues$Iops": null, - "PromoteReadReplicaMessage$BackupRetentionPeriod": null, - "PurchaseReservedDBInstancesOfferingMessage$DBInstanceCount": null, - "RestoreDBInstanceFromDBSnapshotMessage$Port": null, - "RestoreDBInstanceFromDBSnapshotMessage$Iops": null, - "RestoreDBInstanceToPointInTimeMessage$Port": null, - "RestoreDBInstanceToPointInTimeMessage$Iops": null - } - }, - "InvalidDBInstanceStateFault": { - "base": "

The specified DB instance is not in the available state.

", - "refs": { - } - }, - "InvalidDBParameterGroupStateFault": { - "base": "

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.

", - "refs": { - } - }, - "InvalidDBSecurityGroupStateFault": { - "base": "

The state of the DB security group does not allow deletion.

", - "refs": { - } - }, - "InvalidDBSnapshotStateFault": { - "base": "

The state of the DB snapshot does not allow deletion.

", - "refs": { - } - }, - "InvalidDBSubnetGroupStateFault": { - "base": "

The DB subnet group cannot be deleted because it is in use.

", - "refs": { - } - }, - "InvalidDBSubnetStateFault": { - "base": "

The DB subnet is not in the available state.

", - "refs": { - } - }, - "InvalidEventSubscriptionStateFault": { - "base": "

This error can occur if someone else is modifying a subscription. You should retry the action.

", - "refs": { - } - }, - "InvalidOptionGroupStateFault": { - "base": "

The option group is not in the available state.

", - "refs": { - } - }, - "InvalidRestoreFault": { - "base": "

Cannot restore from vpc backup to non-vpc DB instance.

", - "refs": { - } - }, - "InvalidSubnet": { - "base": "

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

", - "refs": { - } - }, - "InvalidVPCNetworkStateFault": { - "base": "

DB subnet group does not cover all Availability Zones after it is created because users' change.

", - "refs": { - } - }, - "KeyList": { - "base": null, - "refs": { - "RemoveTagsFromResourceMessage$TagKeys": null - } - }, - "ListTagsForResourceMessage": { - "base": null, - "refs": { - } - }, - "Long": { - "base": null, - "refs": { - "DescribeDBLogFilesDetails$LastWritten": null, - "DescribeDBLogFilesDetails$Size": null, - "DescribeDBLogFilesMessage$FileLastWritten": null, - "DescribeDBLogFilesMessage$FileSize": null - } - }, - "ModifyDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "ModifyDBInstanceResult": { - "base": null, - "refs": { - } - }, - "ModifyDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "ModifyDBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "ModifyDBSubnetGroupResult": { - "base": null, - "refs": { - } - }, - "ModifyEventSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "ModifyEventSubscriptionResult": { - "base": null, - "refs": { - } - }, - "ModifyOptionGroupMessage": { - "base": null, - "refs": { - } - }, - "ModifyOptionGroupResult": { - "base": null, - "refs": { - } - }, - "Option": { - "base": null, - "refs": { - "OptionsList$member": null - } - }, - "OptionConfiguration": { - "base": null, - "refs": { - "OptionConfigurationList$member": null - } - }, - "OptionConfigurationList": { - "base": null, - "refs": { - "ModifyOptionGroupMessage$OptionsToInclude": null - } - }, - "OptionGroup": { - "base": null, - "refs": { - "CreateOptionGroupResult$OptionGroup": null, - "ModifyOptionGroupResult$OptionGroup": null, - "OptionGroupsList$member": null - } - }, - "OptionGroupAlreadyExistsFault": { - "base": "

The option group you are trying to create already exists.

", - "refs": { - } - }, - "OptionGroupMembership": { - "base": null, - "refs": { - "OptionGroupMembershipList$member": null - } - }, - "OptionGroupMembershipList": { - "base": null, - "refs": { - "DBInstance$OptionGroupMemberships": null - } - }, - "OptionGroupNotFoundFault": { - "base": "

The specified option group could not be found.

", - "refs": { - } - }, - "OptionGroupOption": { - "base": null, - "refs": { - "OptionGroupOptionsList$member": null - } - }, - "OptionGroupOptionSetting": { - "base": null, - "refs": { - "OptionGroupOptionSettingsList$member": null - } - }, - "OptionGroupOptionSettingsList": { - "base": null, - "refs": { - "OptionGroupOption$OptionGroupOptionSettings": null - } - }, - "OptionGroupOptionsList": { - "base": null, - "refs": { - "OptionGroupOptionsMessage$OptionGroupOptions": null - } - }, - "OptionGroupOptionsMessage": { - "base": null, - "refs": { - } - }, - "OptionGroupQuotaExceededFault": { - "base": "

The quota of 20 option groups was exceeded for this AWS account.

", - "refs": { - } - }, - "OptionGroups": { - "base": null, - "refs": { - } - }, - "OptionGroupsList": { - "base": null, - "refs": { - "OptionGroups$OptionGroupsList": null - } - }, - "OptionNamesList": { - "base": null, - "refs": { - "ModifyOptionGroupMessage$OptionsToRemove": null - } - }, - "OptionSetting": { - "base": null, - "refs": { - "OptionSettingConfigurationList$member": null, - "OptionSettingsList$member": null - } - }, - "OptionSettingConfigurationList": { - "base": null, - "refs": { - "Option$OptionSettings": null - } - }, - "OptionSettingsList": { - "base": null, - "refs": { - "OptionConfiguration$OptionSettings": null - } - }, - "OptionsDependedOn": { - "base": null, - "refs": { - "OptionGroupOption$OptionsDependedOn": null - } - }, - "OptionsList": { - "base": null, - "refs": { - "OptionGroup$Options": null - } - }, - "OrderableDBInstanceOption": { - "base": null, - "refs": { - "OrderableDBInstanceOptionsList$member": null - } - }, - "OrderableDBInstanceOptionsList": { - "base": null, - "refs": { - "OrderableDBInstanceOptionsMessage$OrderableDBInstanceOptions": null - } - }, - "OrderableDBInstanceOptionsMessage": { - "base": null, - "refs": { - } - }, - "Parameter": { - "base": null, - "refs": { - "ParametersList$member": null - } - }, - "ParametersList": { - "base": null, - "refs": { - "DBParameterGroupDetails$Parameters": null, - "EngineDefaults$Parameters": null, - "ModifyDBParameterGroupMessage$Parameters": null, - "ResetDBParameterGroupMessage$Parameters": null - } - }, - "PendingModifiedValues": { - "base": null, - "refs": { - "DBInstance$PendingModifiedValues": null - } - }, - "PointInTimeRestoreNotEnabledFault": { - "base": "

SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod equal to 0.

", - "refs": { - } - }, - "PromoteReadReplicaMessage": { - "base": null, - "refs": { - } - }, - "PromoteReadReplicaResult": { - "base": null, - "refs": { - } - }, - "ProvisionedIopsNotAvailableInAZFault": { - "base": "

Provisioned IOPS not available in the specified Availability Zone.

", - "refs": { - } - }, - "PurchaseReservedDBInstancesOfferingMessage": { - "base": null, - "refs": { - } - }, - "PurchaseReservedDBInstancesOfferingResult": { - "base": null, - "refs": { - } - }, - "ReadReplicaDBInstanceIdentifierList": { - "base": null, - "refs": { - "DBInstance$ReadReplicaDBInstanceIdentifiers": null - } - }, - "RebootDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "RebootDBInstanceResult": { - "base": null, - "refs": { - } - }, - "RecurringCharge": { - "base": null, - "refs": { - "RecurringChargeList$member": null - } - }, - "RecurringChargeList": { - "base": null, - "refs": { - "ReservedDBInstance$RecurringCharges": null, - "ReservedDBInstancesOffering$RecurringCharges": null - } - }, - "RemoveSourceIdentifierFromSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "RemoveSourceIdentifierFromSubscriptionResult": { - "base": null, - "refs": { - } - }, - "RemoveTagsFromResourceMessage": { - "base": null, - "refs": { - } - }, - "ReservedDBInstance": { - "base": null, - "refs": { - "PurchaseReservedDBInstancesOfferingResult$ReservedDBInstance": null, - "ReservedDBInstanceList$member": null - } - }, - "ReservedDBInstanceAlreadyExistsFault": { - "base": "

User already has a reservation with the given identifier.

", - "refs": { - } - }, - "ReservedDBInstanceList": { - "base": null, - "refs": { - "ReservedDBInstanceMessage$ReservedDBInstances": null - } - }, - "ReservedDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "ReservedDBInstanceNotFoundFault": { - "base": "

The specified reserved DB Instance not found.

", - "refs": { - } - }, - "ReservedDBInstanceQuotaExceededFault": { - "base": "

Request would exceed the user's DB Instance quota.

", - "refs": { - } - }, - "ReservedDBInstancesOffering": { - "base": null, - "refs": { - "ReservedDBInstancesOfferingList$member": null - } - }, - "ReservedDBInstancesOfferingList": { - "base": null, - "refs": { - "ReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferings": null - } - }, - "ReservedDBInstancesOfferingMessage": { - "base": null, - "refs": { - } - }, - "ReservedDBInstancesOfferingNotFoundFault": { - "base": "

Specified offering does not exist.

", - "refs": { - } - }, - "ResetDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceFromDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceFromDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceToPointInTimeMessage": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceToPointInTimeResult": { - "base": null, - "refs": { - } - }, - "RevokeDBSecurityGroupIngressMessage": { - "base": null, - "refs": { - } - }, - "RevokeDBSecurityGroupIngressResult": { - "base": null, - "refs": { - } - }, - "SNSInvalidTopicFault": { - "base": "

SNS has responded that there is a problem with the SND topic specified.

", - "refs": { - } - }, - "SNSNoAuthorizationFault": { - "base": "

You do not have permission to publish to the SNS topic ARN.

", - "refs": { - } - }, - "SNSTopicArnNotFoundFault": { - "base": "

The SNS topic ARN does not exist.

", - "refs": { - } - }, - "SnapshotQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB snapshots.

", - "refs": { - } - }, - "SourceIdsList": { - "base": null, - "refs": { - "CreateEventSubscriptionMessage$SourceIds": null, - "EventSubscription$SourceIdsList": null - } - }, - "SourceNotFoundFault": { - "base": "

The requested source could not be found.

", - "refs": { - } - }, - "SourceType": { - "base": null, - "refs": { - "DescribeEventsMessage$SourceType": null, - "Event$SourceType": null - } - }, - "StorageQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed amount of storage available across all DB instances.

", - "refs": { - } - }, - "String": { - "base": null, - "refs": { - "AddSourceIdentifierToSubscriptionMessage$SubscriptionName": null, - "AddSourceIdentifierToSubscriptionMessage$SourceIdentifier": null, - "AddTagsToResourceMessage$ResourceName": null, - "AuthorizeDBSecurityGroupIngressMessage$DBSecurityGroupName": null, - "AuthorizeDBSecurityGroupIngressMessage$CIDRIP": null, - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupName": null, - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupId": null, - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupOwnerId": null, - "AvailabilityZone$Name": null, - "CharacterSet$CharacterSetName": null, - "CharacterSet$CharacterSetDescription": null, - "CopyDBSnapshotMessage$SourceDBSnapshotIdentifier": null, - "CopyDBSnapshotMessage$TargetDBSnapshotIdentifier": null, - "CreateDBInstanceMessage$DBName": null, - "CreateDBInstanceMessage$DBInstanceIdentifier": null, - "CreateDBInstanceMessage$DBInstanceClass": null, - "CreateDBInstanceMessage$Engine": null, - "CreateDBInstanceMessage$MasterUsername": null, - "CreateDBInstanceMessage$MasterUserPassword": null, - "CreateDBInstanceMessage$AvailabilityZone": null, - "CreateDBInstanceMessage$DBSubnetGroupName": null, - "CreateDBInstanceMessage$PreferredMaintenanceWindow": null, - "CreateDBInstanceMessage$DBParameterGroupName": null, - "CreateDBInstanceMessage$PreferredBackupWindow": null, - "CreateDBInstanceMessage$EngineVersion": null, - "CreateDBInstanceMessage$LicenseModel": null, - "CreateDBInstanceMessage$OptionGroupName": null, - "CreateDBInstanceMessage$CharacterSetName": null, - "CreateDBInstanceReadReplicaMessage$DBInstanceIdentifier": null, - "CreateDBInstanceReadReplicaMessage$SourceDBInstanceIdentifier": null, - "CreateDBInstanceReadReplicaMessage$DBInstanceClass": null, - "CreateDBInstanceReadReplicaMessage$AvailabilityZone": null, - "CreateDBInstanceReadReplicaMessage$OptionGroupName": null, - "CreateDBParameterGroupMessage$DBParameterGroupName": null, - "CreateDBParameterGroupMessage$DBParameterGroupFamily": null, - "CreateDBParameterGroupMessage$Description": null, - "CreateDBSecurityGroupMessage$DBSecurityGroupName": null, - "CreateDBSecurityGroupMessage$DBSecurityGroupDescription": null, - "CreateDBSnapshotMessage$DBSnapshotIdentifier": null, - "CreateDBSnapshotMessage$DBInstanceIdentifier": null, - "CreateDBSubnetGroupMessage$DBSubnetGroupName": null, - "CreateDBSubnetGroupMessage$DBSubnetGroupDescription": null, - "CreateEventSubscriptionMessage$SubscriptionName": null, - "CreateEventSubscriptionMessage$SnsTopicArn": null, - "CreateEventSubscriptionMessage$SourceType": null, - "CreateOptionGroupMessage$OptionGroupName": null, - "CreateOptionGroupMessage$EngineName": null, - "CreateOptionGroupMessage$MajorEngineVersion": null, - "CreateOptionGroupMessage$OptionGroupDescription": null, - "DBEngineVersion$Engine": null, - "DBEngineVersion$EngineVersion": null, - "DBEngineVersion$DBParameterGroupFamily": null, - "DBEngineVersion$DBEngineDescription": null, - "DBEngineVersion$DBEngineVersionDescription": null, - "DBEngineVersionMessage$Marker": null, - "DBInstance$DBInstanceIdentifier": null, - "DBInstance$DBInstanceClass": null, - "DBInstance$Engine": null, - "DBInstance$DBInstanceStatus": null, - "DBInstance$MasterUsername": null, - "DBInstance$DBName": null, - "DBInstance$PreferredBackupWindow": null, - "DBInstance$AvailabilityZone": null, - "DBInstance$PreferredMaintenanceWindow": null, - "DBInstance$EngineVersion": null, - "DBInstance$ReadReplicaSourceDBInstanceIdentifier": null, - "DBInstance$LicenseModel": null, - "DBInstance$CharacterSetName": null, - "DBInstance$SecondaryAvailabilityZone": null, - "DBInstanceMessage$Marker": null, - "DBParameterGroup$DBParameterGroupName": null, - "DBParameterGroup$DBParameterGroupFamily": null, - "DBParameterGroup$Description": null, - "DBParameterGroupDetails$Marker": null, - "DBParameterGroupNameMessage$DBParameterGroupName": null, - "DBParameterGroupStatus$DBParameterGroupName": null, - "DBParameterGroupStatus$ParameterApplyStatus": null, - "DBParameterGroupsMessage$Marker": null, - "DBSecurityGroup$OwnerId": null, - "DBSecurityGroup$DBSecurityGroupName": null, - "DBSecurityGroup$DBSecurityGroupDescription": null, - "DBSecurityGroup$VpcId": null, - "DBSecurityGroupMembership$DBSecurityGroupName": null, - "DBSecurityGroupMembership$Status": null, - "DBSecurityGroupMessage$Marker": null, - "DBSecurityGroupNameList$member": null, - "DBSnapshot$DBSnapshotIdentifier": null, - "DBSnapshot$DBInstanceIdentifier": null, - "DBSnapshot$Engine": null, - "DBSnapshot$Status": null, - "DBSnapshot$AvailabilityZone": null, - "DBSnapshot$VpcId": null, - "DBSnapshot$MasterUsername": null, - "DBSnapshot$EngineVersion": null, - "DBSnapshot$LicenseModel": null, - "DBSnapshot$SnapshotType": null, - "DBSnapshot$OptionGroupName": null, - "DBSnapshotMessage$Marker": null, - "DBSubnetGroup$DBSubnetGroupName": null, - "DBSubnetGroup$DBSubnetGroupDescription": null, - "DBSubnetGroup$VpcId": null, - "DBSubnetGroup$SubnetGroupStatus": null, - "DBSubnetGroupMessage$Marker": null, - "DeleteDBInstanceMessage$DBInstanceIdentifier": null, - "DeleteDBInstanceMessage$FinalDBSnapshotIdentifier": null, - "DeleteDBParameterGroupMessage$DBParameterGroupName": null, - "DeleteDBSecurityGroupMessage$DBSecurityGroupName": null, - "DeleteDBSnapshotMessage$DBSnapshotIdentifier": null, - "DeleteDBSubnetGroupMessage$DBSubnetGroupName": null, - "DeleteEventSubscriptionMessage$SubscriptionName": null, - "DeleteOptionGroupMessage$OptionGroupName": null, - "DescribeDBEngineVersionsMessage$Engine": null, - "DescribeDBEngineVersionsMessage$EngineVersion": null, - "DescribeDBEngineVersionsMessage$DBParameterGroupFamily": null, - "DescribeDBEngineVersionsMessage$Marker": null, - "DescribeDBInstancesMessage$DBInstanceIdentifier": null, - "DescribeDBInstancesMessage$Marker": null, - "DescribeDBLogFilesDetails$LogFileName": null, - "DescribeDBLogFilesMessage$DBInstanceIdentifier": null, - "DescribeDBLogFilesMessage$FilenameContains": null, - "DescribeDBLogFilesMessage$Marker": null, - "DescribeDBLogFilesResponse$Marker": null, - "DescribeDBParameterGroupsMessage$DBParameterGroupName": null, - "DescribeDBParameterGroupsMessage$Marker": null, - "DescribeDBParametersMessage$DBParameterGroupName": null, - "DescribeDBParametersMessage$Source": null, - "DescribeDBParametersMessage$Marker": null, - "DescribeDBSecurityGroupsMessage$DBSecurityGroupName": null, - "DescribeDBSecurityGroupsMessage$Marker": null, - "DescribeDBSnapshotsMessage$DBInstanceIdentifier": null, - "DescribeDBSnapshotsMessage$DBSnapshotIdentifier": null, - "DescribeDBSnapshotsMessage$SnapshotType": null, - "DescribeDBSnapshotsMessage$Marker": null, - "DescribeDBSubnetGroupsMessage$DBSubnetGroupName": null, - "DescribeDBSubnetGroupsMessage$Marker": null, - "DescribeEngineDefaultParametersMessage$DBParameterGroupFamily": null, - "DescribeEngineDefaultParametersMessage$Marker": null, - "DescribeEventCategoriesMessage$SourceType": null, - "DescribeEventSubscriptionsMessage$SubscriptionName": null, - "DescribeEventSubscriptionsMessage$Marker": null, - "DescribeEventsMessage$SourceIdentifier": null, - "DescribeEventsMessage$Marker": null, - "DescribeOptionGroupOptionsMessage$EngineName": null, - "DescribeOptionGroupOptionsMessage$MajorEngineVersion": null, - "DescribeOptionGroupOptionsMessage$Marker": null, - "DescribeOptionGroupsMessage$OptionGroupName": null, - "DescribeOptionGroupsMessage$Marker": null, - "DescribeOptionGroupsMessage$EngineName": null, - "DescribeOptionGroupsMessage$MajorEngineVersion": null, - "DescribeOrderableDBInstanceOptionsMessage$Engine": null, - "DescribeOrderableDBInstanceOptionsMessage$EngineVersion": null, - "DescribeOrderableDBInstanceOptionsMessage$DBInstanceClass": null, - "DescribeOrderableDBInstanceOptionsMessage$LicenseModel": null, - "DescribeOrderableDBInstanceOptionsMessage$Marker": null, - "DescribeReservedDBInstancesMessage$ReservedDBInstanceId": null, - "DescribeReservedDBInstancesMessage$ReservedDBInstancesOfferingId": null, - "DescribeReservedDBInstancesMessage$DBInstanceClass": null, - "DescribeReservedDBInstancesMessage$Duration": null, - "DescribeReservedDBInstancesMessage$ProductDescription": null, - "DescribeReservedDBInstancesMessage$OfferingType": null, - "DescribeReservedDBInstancesMessage$Marker": null, - "DescribeReservedDBInstancesOfferingsMessage$ReservedDBInstancesOfferingId": null, - "DescribeReservedDBInstancesOfferingsMessage$DBInstanceClass": null, - "DescribeReservedDBInstancesOfferingsMessage$Duration": null, - "DescribeReservedDBInstancesOfferingsMessage$ProductDescription": null, - "DescribeReservedDBInstancesOfferingsMessage$OfferingType": null, - "DescribeReservedDBInstancesOfferingsMessage$Marker": null, - "DownloadDBLogFilePortionDetails$LogFileData": null, - "DownloadDBLogFilePortionDetails$Marker": null, - "DownloadDBLogFilePortionMessage$DBInstanceIdentifier": null, - "DownloadDBLogFilePortionMessage$LogFileName": null, - "DownloadDBLogFilePortionMessage$Marker": null, - "EC2SecurityGroup$Status": null, - "EC2SecurityGroup$EC2SecurityGroupName": null, - "EC2SecurityGroup$EC2SecurityGroupId": null, - "EC2SecurityGroup$EC2SecurityGroupOwnerId": null, - "Endpoint$Address": null, - "EngineDefaults$DBParameterGroupFamily": null, - "EngineDefaults$Marker": null, - "Event$SourceIdentifier": null, - "Event$Message": null, - "EventCategoriesList$member": null, - "EventCategoriesMap$SourceType": null, - "EventSubscription$CustomerAwsId": null, - "EventSubscription$CustSubscriptionId": null, - "EventSubscription$SnsTopicArn": null, - "EventSubscription$Status": null, - "EventSubscription$SubscriptionCreationTime": null, - "EventSubscription$SourceType": null, - "EventSubscriptionsMessage$Marker": null, - "EventsMessage$Marker": null, - "IPRange$Status": null, - "IPRange$CIDRIP": null, - "KeyList$member": null, - "ListTagsForResourceMessage$ResourceName": null, - "ModifyDBInstanceMessage$DBInstanceIdentifier": null, - "ModifyDBInstanceMessage$DBInstanceClass": null, - "ModifyDBInstanceMessage$MasterUserPassword": null, - "ModifyDBInstanceMessage$DBParameterGroupName": null, - "ModifyDBInstanceMessage$PreferredBackupWindow": null, - "ModifyDBInstanceMessage$PreferredMaintenanceWindow": null, - "ModifyDBInstanceMessage$EngineVersion": null, - "ModifyDBInstanceMessage$OptionGroupName": null, - "ModifyDBInstanceMessage$NewDBInstanceIdentifier": null, - "ModifyDBParameterGroupMessage$DBParameterGroupName": null, - "ModifyDBSubnetGroupMessage$DBSubnetGroupName": null, - "ModifyDBSubnetGroupMessage$DBSubnetGroupDescription": null, - "ModifyEventSubscriptionMessage$SubscriptionName": null, - "ModifyEventSubscriptionMessage$SnsTopicArn": null, - "ModifyEventSubscriptionMessage$SourceType": null, - "ModifyOptionGroupMessage$OptionGroupName": null, - "Option$OptionName": null, - "Option$OptionDescription": null, - "OptionConfiguration$OptionName": null, - "OptionGroup$OptionGroupName": null, - "OptionGroup$OptionGroupDescription": null, - "OptionGroup$EngineName": null, - "OptionGroup$MajorEngineVersion": null, - "OptionGroup$VpcId": null, - "OptionGroupMembership$OptionGroupName": null, - "OptionGroupMembership$Status": null, - "OptionGroupOption$Name": null, - "OptionGroupOption$Description": null, - "OptionGroupOption$EngineName": null, - "OptionGroupOption$MajorEngineVersion": null, - "OptionGroupOption$MinimumRequiredMinorEngineVersion": null, - "OptionGroupOptionSetting$SettingName": null, - "OptionGroupOptionSetting$SettingDescription": null, - "OptionGroupOptionSetting$DefaultValue": null, - "OptionGroupOptionSetting$ApplyType": null, - "OptionGroupOptionSetting$AllowedValues": null, - "OptionGroupOptionsMessage$Marker": null, - "OptionGroups$Marker": null, - "OptionNamesList$member": null, - "OptionSetting$Name": null, - "OptionSetting$Value": null, - "OptionSetting$DefaultValue": null, - "OptionSetting$Description": null, - "OptionSetting$ApplyType": null, - "OptionSetting$DataType": null, - "OptionSetting$AllowedValues": null, - "OptionsDependedOn$member": null, - "OrderableDBInstanceOption$Engine": null, - "OrderableDBInstanceOption$EngineVersion": null, - "OrderableDBInstanceOption$DBInstanceClass": null, - "OrderableDBInstanceOption$LicenseModel": null, - "OrderableDBInstanceOptionsMessage$Marker": null, - "Parameter$ParameterName": null, - "Parameter$ParameterValue": null, - "Parameter$Description": null, - "Parameter$Source": null, - "Parameter$ApplyType": null, - "Parameter$DataType": null, - "Parameter$AllowedValues": null, - "Parameter$MinimumEngineVersion": null, - "PendingModifiedValues$DBInstanceClass": null, - "PendingModifiedValues$MasterUserPassword": null, - "PendingModifiedValues$EngineVersion": null, - "PendingModifiedValues$DBInstanceIdentifier": null, - "PromoteReadReplicaMessage$DBInstanceIdentifier": null, - "PromoteReadReplicaMessage$PreferredBackupWindow": null, - "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferingId": null, - "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstanceId": null, - "ReadReplicaDBInstanceIdentifierList$member": null, - "RebootDBInstanceMessage$DBInstanceIdentifier": null, - "RecurringCharge$RecurringChargeFrequency": null, - "RemoveSourceIdentifierFromSubscriptionMessage$SubscriptionName": null, - "RemoveSourceIdentifierFromSubscriptionMessage$SourceIdentifier": null, - "RemoveTagsFromResourceMessage$ResourceName": null, - "ReservedDBInstance$ReservedDBInstanceId": null, - "ReservedDBInstance$ReservedDBInstancesOfferingId": null, - "ReservedDBInstance$DBInstanceClass": null, - "ReservedDBInstance$CurrencyCode": null, - "ReservedDBInstance$ProductDescription": null, - "ReservedDBInstance$OfferingType": null, - "ReservedDBInstance$State": null, - "ReservedDBInstanceMessage$Marker": null, - "ReservedDBInstancesOffering$ReservedDBInstancesOfferingId": null, - "ReservedDBInstancesOffering$DBInstanceClass": null, - "ReservedDBInstancesOffering$CurrencyCode": null, - "ReservedDBInstancesOffering$ProductDescription": null, - "ReservedDBInstancesOffering$OfferingType": null, - "ReservedDBInstancesOfferingMessage$Marker": null, - "ResetDBParameterGroupMessage$DBParameterGroupName": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceIdentifier": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBSnapshotIdentifier": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceClass": null, - "RestoreDBInstanceFromDBSnapshotMessage$AvailabilityZone": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBSubnetGroupName": null, - "RestoreDBInstanceFromDBSnapshotMessage$LicenseModel": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBName": null, - "RestoreDBInstanceFromDBSnapshotMessage$Engine": null, - "RestoreDBInstanceFromDBSnapshotMessage$OptionGroupName": null, - "RestoreDBInstanceToPointInTimeMessage$SourceDBInstanceIdentifier": null, - "RestoreDBInstanceToPointInTimeMessage$TargetDBInstanceIdentifier": null, - "RestoreDBInstanceToPointInTimeMessage$DBInstanceClass": null, - "RestoreDBInstanceToPointInTimeMessage$AvailabilityZone": null, - "RestoreDBInstanceToPointInTimeMessage$DBSubnetGroupName": null, - "RestoreDBInstanceToPointInTimeMessage$LicenseModel": null, - "RestoreDBInstanceToPointInTimeMessage$DBName": null, - "RestoreDBInstanceToPointInTimeMessage$Engine": null, - "RestoreDBInstanceToPointInTimeMessage$OptionGroupName": null, - "RevokeDBSecurityGroupIngressMessage$DBSecurityGroupName": null, - "RevokeDBSecurityGroupIngressMessage$CIDRIP": null, - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupName": null, - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupId": null, - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupOwnerId": null, - "SourceIdsList$member": null, - "Subnet$SubnetIdentifier": null, - "Subnet$SubnetStatus": null, - "SubnetIdentifierList$member": null, - "Tag$Key": null, - "Tag$Value": null, - "VpcSecurityGroupIdList$member": null, - "VpcSecurityGroupMembership$VpcSecurityGroupId": null, - "VpcSecurityGroupMembership$Status": null - } - }, - "Subnet": { - "base": null, - "refs": { - "SubnetList$member": null - } - }, - "SubnetAlreadyInUse": { - "base": "

The DB subnet is already in use in the Availability Zone.

", - "refs": { - } - }, - "SubnetIdentifierList": { - "base": null, - "refs": { - "CreateDBSubnetGroupMessage$SubnetIds": null, - "ModifyDBSubnetGroupMessage$SubnetIds": null - } - }, - "SubnetList": { - "base": null, - "refs": { - "DBSubnetGroup$Subnets": null - } - }, - "SubscriptionAlreadyExistFault": { - "base": "

The supplied subscription name already exists.

", - "refs": { - } - }, - "SubscriptionCategoryNotFoundFault": { - "base": "

The supplied category does not exist.

", - "refs": { - } - }, - "SubscriptionNotFoundFault": { - "base": "

The subscription name does not exist.

", - "refs": { - } - }, - "SupportedCharacterSetsList": { - "base": null, - "refs": { - "DBEngineVersion$SupportedCharacterSets": null - } - }, - "TStamp": { - "base": null, - "refs": { - "DBInstance$InstanceCreateTime": null, - "DBInstance$LatestRestorableTime": null, - "DBSnapshot$SnapshotCreateTime": null, - "DBSnapshot$InstanceCreateTime": null, - "DescribeEventsMessage$StartTime": null, - "DescribeEventsMessage$EndTime": null, - "Event$Date": null, - "ReservedDBInstance$StartTime": null, - "RestoreDBInstanceToPointInTimeMessage$RestoreTime": null - } - }, - "Tag": { - "base": null, - "refs": { - "TagList$member": null - } - }, - "TagList": { - "base": null, - "refs": { - "AddTagsToResourceMessage$Tags": null, - "TagListMessage$TagList": null - } - }, - "TagListMessage": { - "base": null, - "refs": { - } - }, - "VpcSecurityGroupIdList": { - "base": null, - "refs": { - "CreateDBInstanceMessage$VpcSecurityGroupIds": null, - "ModifyDBInstanceMessage$VpcSecurityGroupIds": null, - "OptionConfiguration$VpcSecurityGroupMemberships": null - } - }, - "VpcSecurityGroupMembership": { - "base": null, - "refs": { - "VpcSecurityGroupMembershipList$member": null - } - }, - "VpcSecurityGroupMembershipList": { - "base": null, - "refs": { - "DBInstance$VpcSecurityGroups": null, - "Option$VpcSecurityGroupMemberships": null - } - } - } -} diff --git a/models/apis/rds/2013-02-12/examples-1.json b/models/apis/rds/2013-02-12/examples-1.json deleted file mode 100644 index 0ea7e3b0bbe..00000000000 --- a/models/apis/rds/2013-02-12/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/models/apis/rds/2013-02-12/paginators-1.json b/models/apis/rds/2013-02-12/paginators-1.json deleted file mode 100644 index c51d8d15b25..00000000000 --- a/models/apis/rds/2013-02-12/paginators-1.json +++ /dev/null @@ -1,110 +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" - }, - "DescribeDBLogFiles": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DescribeDBLogFiles" - }, - "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" - }, - "DescribeDBSecurityGroups": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DBSecurityGroups" - }, - "DescribeDBSnapshots": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DBSnapshots" - }, - "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" - }, - "DescribeOptionGroupOptions": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "OptionGroupOptions" - }, - "DescribeOptionGroups": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "OptionGroupsList" - }, - "DescribeOrderableDBInstanceOptions": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "OrderableDBInstanceOptions" - }, - "DescribeReservedDBInstances": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "ReservedDBInstances" - }, - "DescribeReservedDBInstancesOfferings": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "ReservedDBInstancesOfferings" - }, - "DownloadDBLogFilePortion": { - "input_token": "Marker", - "limit_key": "NumberOfLines", - "more_results": "AdditionalDataPending", - "output_token": "Marker", - "result_key": "LogFileData" - }, - "ListTagsForResource": { - "result_key": "TagList" - } - } -} \ No newline at end of file diff --git a/models/apis/rds/2013-09-09/api-2.json b/models/apis/rds/2013-09-09/api-2.json deleted file mode 100644 index c7e975155af..00000000000 --- a/models/apis/rds/2013-09-09/api-2.json +++ /dev/null @@ -1,3160 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2013-09-09", - "endpointPrefix":"rds", - "protocol":"query", - "serviceAbbreviation":"Amazon RDS", - "serviceFullName":"Amazon Relational Database Service", - "serviceId":"RDS", - "signatureVersion":"v4", - "uid":"rds-2013-09-09", - "xmlNamespace":"http://rds.amazonaws.com/doc/2013-09-09/" - }, - "operations":{ - "AddSourceIdentifierToSubscription":{ - "name":"AddSourceIdentifierToSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddSourceIdentifierToSubscriptionMessage"}, - "output":{ - "shape":"AddSourceIdentifierToSubscriptionResult", - "resultWrapper":"AddSourceIdentifierToSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"SourceNotFoundFault"} - ] - }, - "AddTagsToResource":{ - "name":"AddTagsToResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToResourceMessage"}, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "AuthorizeDBSecurityGroupIngress":{ - "name":"AuthorizeDBSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeDBSecurityGroupIngressMessage"}, - "output":{ - "shape":"AuthorizeDBSecurityGroupIngressResult", - "resultWrapper":"AuthorizeDBSecurityGroupIngressResult" - }, - "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"AuthorizationAlreadyExistsFault"}, - {"shape":"AuthorizationQuotaExceededFault"} - ] - }, - "CopyDBSnapshot":{ - "name":"CopyDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyDBSnapshotMessage"}, - "output":{ - "shape":"CopyDBSnapshotResult", - "resultWrapper":"CopyDBSnapshotResult" - }, - "errors":[ - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"SnapshotQuotaExceededFault"} - ] - }, - "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":"InvalidSubnet"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, - {"shape":"OptionGroupNotFoundFault"} - ] - }, - "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"} - ] - }, - "CreateDBParameterGroup":{ - "name":"CreateDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBParameterGroupMessage"}, - "output":{ - "shape":"CreateDBParameterGroupResult", - "resultWrapper":"CreateDBParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupQuotaExceededFault"}, - {"shape":"DBParameterGroupAlreadyExistsFault"} - ] - }, - "CreateDBSecurityGroup":{ - "name":"CreateDBSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBSecurityGroupMessage"}, - "output":{ - "shape":"CreateDBSecurityGroupResult", - "resultWrapper":"CreateDBSecurityGroupResult" - }, - "errors":[ - {"shape":"DBSecurityGroupAlreadyExistsFault"}, - {"shape":"DBSecurityGroupQuotaExceededFault"}, - {"shape":"DBSecurityGroupNotSupportedFault"} - ] - }, - "CreateDBSnapshot":{ - "name":"CreateDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBSnapshotMessage"}, - "output":{ - "shape":"CreateDBSnapshotResult", - "resultWrapper":"CreateDBSnapshotResult" - }, - "errors":[ - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"SnapshotQuotaExceededFault"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "CreateOptionGroup":{ - "name":"CreateOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateOptionGroupMessage"}, - "output":{ - "shape":"CreateOptionGroupResult", - "resultWrapper":"CreateOptionGroupResult" - }, - "errors":[ - {"shape":"OptionGroupAlreadyExistsFault"}, - {"shape":"OptionGroupQuotaExceededFault"} - ] - }, - "DeleteDBInstance":{ - "name":"DeleteDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBInstanceMessage"}, - "output":{ - "shape":"DeleteDBInstanceResult", - "resultWrapper":"DeleteDBInstanceResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"SnapshotQuotaExceededFault"} - ] - }, - "DeleteDBParameterGroup":{ - "name":"DeleteDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBParameterGroupMessage"}, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ] - }, - "DeleteDBSecurityGroup":{ - "name":"DeleteDBSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSecurityGroupMessage"}, - "errors":[ - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"DBSecurityGroupNotFoundFault"} - ] - }, - "DeleteDBSnapshot":{ - "name":"DeleteDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSnapshotMessage"}, - "output":{ - "shape":"DeleteDBSnapshotResult", - "resultWrapper":"DeleteDBSnapshotResult" - }, - "errors":[ - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "DeleteDBSubnetGroup":{ - "name":"DeleteDBSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSubnetGroupMessage"}, - "errors":[ - {"shape":"InvalidDBSubnetGroupStateFault"}, - {"shape":"InvalidDBSubnetStateFault"}, - {"shape":"DBSubnetGroupNotFoundFault"} - ] - }, - "DeleteEventSubscription":{ - "name":"DeleteEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEventSubscriptionMessage"}, - "output":{ - "shape":"DeleteEventSubscriptionResult", - "resultWrapper":"DeleteEventSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"InvalidEventSubscriptionStateFault"} - ] - }, - "DeleteOptionGroup":{ - "name":"DeleteOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteOptionGroupMessage"}, - "errors":[ - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"InvalidOptionGroupStateFault"} - ] - }, - "DescribeDBEngineVersions":{ - "name":"DescribeDBEngineVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBEngineVersionsMessage"}, - "output":{ - "shape":"DBEngineVersionMessage", - "resultWrapper":"DescribeDBEngineVersionsResult" - } - }, - "DescribeDBInstances":{ - "name":"DescribeDBInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBInstancesMessage"}, - "output":{ - "shape":"DBInstanceMessage", - "resultWrapper":"DescribeDBInstancesResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"} - ] - }, - "DescribeDBLogFiles":{ - "name":"DescribeDBLogFiles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBLogFilesMessage"}, - "output":{ - "shape":"DescribeDBLogFilesResponse", - "resultWrapper":"DescribeDBLogFilesResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"} - ] - }, - "DescribeDBParameterGroups":{ - "name":"DescribeDBParameterGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBParameterGroupsMessage"}, - "output":{ - "shape":"DBParameterGroupsMessage", - "resultWrapper":"DescribeDBParameterGroupsResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ] - }, - "DescribeDBParameters":{ - "name":"DescribeDBParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBParametersMessage"}, - "output":{ - "shape":"DBParameterGroupDetails", - "resultWrapper":"DescribeDBParametersResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ] - }, - "DescribeDBSecurityGroups":{ - "name":"DescribeDBSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSecurityGroupsMessage"}, - "output":{ - "shape":"DBSecurityGroupMessage", - "resultWrapper":"DescribeDBSecurityGroupsResult" - }, - "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"} - ] - }, - "DescribeDBSnapshots":{ - "name":"DescribeDBSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSnapshotsMessage"}, - "output":{ - "shape":"DBSnapshotMessage", - "resultWrapper":"DescribeDBSnapshotsResult" - }, - "errors":[ - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "DescribeDBSubnetGroups":{ - "name":"DescribeDBSubnetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSubnetGroupsMessage"}, - "output":{ - "shape":"DBSubnetGroupMessage", - "resultWrapper":"DescribeDBSubnetGroupsResult" - }, - "errors":[ - {"shape":"DBSubnetGroupNotFoundFault"} - ] - }, - "DescribeEngineDefaultParameters":{ - "name":"DescribeEngineDefaultParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEngineDefaultParametersMessage"}, - "output":{ - "shape":"DescribeEngineDefaultParametersResult", - "resultWrapper":"DescribeEngineDefaultParametersResult" - } - }, - "DescribeEventCategories":{ - "name":"DescribeEventCategories", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventCategoriesMessage"}, - "output":{ - "shape":"EventCategoriesMessage", - "resultWrapper":"DescribeEventCategoriesResult" - } - }, - "DescribeEventSubscriptions":{ - "name":"DescribeEventSubscriptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventSubscriptionsMessage"}, - "output":{ - "shape":"EventSubscriptionsMessage", - "resultWrapper":"DescribeEventSubscriptionsResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"} - ] - }, - "DescribeEvents":{ - "name":"DescribeEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventsMessage"}, - "output":{ - "shape":"EventsMessage", - "resultWrapper":"DescribeEventsResult" - } - }, - "DescribeOptionGroupOptions":{ - "name":"DescribeOptionGroupOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOptionGroupOptionsMessage"}, - "output":{ - "shape":"OptionGroupOptionsMessage", - "resultWrapper":"DescribeOptionGroupOptionsResult" - } - }, - "DescribeOptionGroups":{ - "name":"DescribeOptionGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOptionGroupsMessage"}, - "output":{ - "shape":"OptionGroups", - "resultWrapper":"DescribeOptionGroupsResult" - }, - "errors":[ - {"shape":"OptionGroupNotFoundFault"} - ] - }, - "DescribeOrderableDBInstanceOptions":{ - "name":"DescribeOrderableDBInstanceOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOrderableDBInstanceOptionsMessage"}, - "output":{ - "shape":"OrderableDBInstanceOptionsMessage", - "resultWrapper":"DescribeOrderableDBInstanceOptionsResult" - } - }, - "DescribeReservedDBInstances":{ - "name":"DescribeReservedDBInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedDBInstancesMessage"}, - "output":{ - "shape":"ReservedDBInstanceMessage", - "resultWrapper":"DescribeReservedDBInstancesResult" - }, - "errors":[ - {"shape":"ReservedDBInstanceNotFoundFault"} - ] - }, - "DescribeReservedDBInstancesOfferings":{ - "name":"DescribeReservedDBInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedDBInstancesOfferingsMessage"}, - "output":{ - "shape":"ReservedDBInstancesOfferingMessage", - "resultWrapper":"DescribeReservedDBInstancesOfferingsResult" - }, - "errors":[ - {"shape":"ReservedDBInstancesOfferingNotFoundFault"} - ] - }, - "DownloadDBLogFilePortion":{ - "name":"DownloadDBLogFilePortion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DownloadDBLogFilePortionMessage"}, - "output":{ - "shape":"DownloadDBLogFilePortionDetails", - "resultWrapper":"DownloadDBLogFilePortionResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBLogFileNotFoundFault"} - ] - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceMessage"}, - "output":{ - "shape":"TagListMessage", - "resultWrapper":"ListTagsForResourceResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "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"} - ] - }, - "ModifyDBParameterGroup":{ - "name":"ModifyDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBParameterGroupMessage"}, - "output":{ - "shape":"DBParameterGroupNameMessage", - "resultWrapper":"ModifyDBParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"InvalidDBParameterGroupStateFault"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "ModifyOptionGroup":{ - "name":"ModifyOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyOptionGroupMessage"}, - "output":{ - "shape":"ModifyOptionGroupResult", - "resultWrapper":"ModifyOptionGroupResult" - }, - "errors":[ - {"shape":"InvalidOptionGroupStateFault"}, - {"shape":"OptionGroupNotFoundFault"} - ] - }, - "PromoteReadReplica":{ - "name":"PromoteReadReplica", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PromoteReadReplicaMessage"}, - "output":{ - "shape":"PromoteReadReplicaResult", - "resultWrapper":"PromoteReadReplicaResult" - }, - "errors":[ - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"} - ] - }, - "PurchaseReservedDBInstancesOffering":{ - "name":"PurchaseReservedDBInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedDBInstancesOfferingMessage"}, - "output":{ - "shape":"PurchaseReservedDBInstancesOfferingResult", - "resultWrapper":"PurchaseReservedDBInstancesOfferingResult" - }, - "errors":[ - {"shape":"ReservedDBInstancesOfferingNotFoundFault"}, - {"shape":"ReservedDBInstanceAlreadyExistsFault"}, - {"shape":"ReservedDBInstanceQuotaExceededFault"} - ] - }, - "RebootDBInstance":{ - "name":"RebootDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootDBInstanceMessage"}, - "output":{ - "shape":"RebootDBInstanceResult", - "resultWrapper":"RebootDBInstanceResult" - }, - "errors":[ - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"} - ] - }, - "RemoveSourceIdentifierFromSubscription":{ - "name":"RemoveSourceIdentifierFromSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveSourceIdentifierFromSubscriptionMessage"}, - "output":{ - "shape":"RemoveSourceIdentifierFromSubscriptionResult", - "resultWrapper":"RemoveSourceIdentifierFromSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"SourceNotFoundFault"} - ] - }, - "RemoveTagsFromResource":{ - "name":"RemoveTagsFromResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromResourceMessage"}, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ] - }, - "ResetDBParameterGroup":{ - "name":"ResetDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetDBParameterGroupMessage"}, - "output":{ - "shape":"DBParameterGroupNameMessage", - "resultWrapper":"ResetDBParameterGroupResult" - }, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ] - }, - "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"} - ] - }, - "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"} - ] - }, - "RevokeDBSecurityGroupIngress":{ - "name":"RevokeDBSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeDBSecurityGroupIngressMessage"}, - "output":{ - "shape":"RevokeDBSecurityGroupIngressResult", - "resultWrapper":"RevokeDBSecurityGroupIngressResult" - }, - "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"InvalidDBSecurityGroupStateFault"} - ] - } - }, - "shapes":{ - "AddSourceIdentifierToSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SourceIdentifier" - ], - "members":{ - "SubscriptionName":{"shape":"String"}, - "SourceIdentifier":{"shape":"String"} - } - }, - "AddSourceIdentifierToSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "AddTagsToResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "Tags" - ], - "members":{ - "ResourceName":{"shape":"String"}, - "Tags":{"shape":"TagList"} - } - }, - "ApplyMethod":{ - "type":"string", - "enum":[ - "immediate", - "pending-reboot" - ] - }, - "AuthorizationAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AuthorizationNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "AuthorizationQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AuthorizeDBSecurityGroupIngressMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "CIDRIP":{"shape":"String"}, - "EC2SecurityGroupName":{"shape":"String"}, - "EC2SecurityGroupId":{"shape":"String"}, - "EC2SecurityGroupOwnerId":{"shape":"String"} - } - }, - "AuthorizeDBSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "ProvisionedIopsCapable":{"shape":"Boolean"} - }, - "wrapper":true - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"AvailabilityZone" - } - }, - "Boolean":{"type":"boolean"}, - "BooleanOptional":{"type":"boolean"}, - "CharacterSet":{ - "type":"structure", - "members":{ - "CharacterSetName":{"shape":"String"}, - "CharacterSetDescription":{"shape":"String"} - } - }, - "CopyDBSnapshotMessage":{ - "type":"structure", - "required":[ - "SourceDBSnapshotIdentifier", - "TargetDBSnapshotIdentifier" - ], - "members":{ - "SourceDBSnapshotIdentifier":{"shape":"String"}, - "TargetDBSnapshotIdentifier":{"shape":"String"}, - "Tags":{"shape":"TagList"} - } - }, - "CopyDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "CreateDBInstanceMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "AllocatedStorage", - "DBInstanceClass", - "Engine", - "MasterUsername", - "MasterUserPassword" - ], - "members":{ - "DBName":{"shape":"String"}, - "DBInstanceIdentifier":{"shape":"String"}, - "AllocatedStorage":{"shape":"IntegerOptional"}, - "DBInstanceClass":{"shape":"String"}, - "Engine":{"shape":"String"}, - "MasterUsername":{"shape":"String"}, - "MasterUserPassword":{"shape":"String"}, - "DBSecurityGroups":{"shape":"DBSecurityGroupNameList"}, - "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, - "AvailabilityZone":{"shape":"String"}, - "DBSubnetGroupName":{"shape":"String"}, - "PreferredMaintenanceWindow":{"shape":"String"}, - "DBParameterGroupName":{"shape":"String"}, - "BackupRetentionPeriod":{"shape":"IntegerOptional"}, - "PreferredBackupWindow":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "EngineVersion":{"shape":"String"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "LicenseModel":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "CharacterSetName":{"shape":"String"}, - "PubliclyAccessible":{"shape":"BooleanOptional"}, - "Tags":{"shape":"TagList"} - } - }, - "CreateDBInstanceReadReplicaMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "SourceDBInstanceIdentifier" - ], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "SourceDBInstanceIdentifier":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "AvailabilityZone":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "PubliclyAccessible":{"shape":"BooleanOptional"}, - "Tags":{"shape":"TagList"}, - "DBSubnetGroupName":{"shape":"String"} - } - }, - "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"}, - "DBParameterGroupFamily":{"shape":"String"}, - "Description":{"shape":"String"}, - "Tags":{"shape":"TagList"} - } - }, - "CreateDBParameterGroupResult":{ - "type":"structure", - "members":{ - "DBParameterGroup":{"shape":"DBParameterGroup"} - } - }, - "CreateDBSecurityGroupMessage":{ - "type":"structure", - "required":[ - "DBSecurityGroupName", - "DBSecurityGroupDescription" - ], - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "DBSecurityGroupDescription":{"shape":"String"}, - "Tags":{"shape":"TagList"} - } - }, - "CreateDBSecurityGroupResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "CreateDBSnapshotMessage":{ - "type":"structure", - "required":[ - "DBSnapshotIdentifier", - "DBInstanceIdentifier" - ], - "members":{ - "DBSnapshotIdentifier":{"shape":"String"}, - "DBInstanceIdentifier":{"shape":"String"}, - "Tags":{"shape":"TagList"} - } - }, - "CreateDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "CreateDBSubnetGroupMessage":{ - "type":"structure", - "required":[ - "DBSubnetGroupName", - "DBSubnetGroupDescription", - "SubnetIds" - ], - "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "DBSubnetGroupDescription":{"shape":"String"}, - "SubnetIds":{"shape":"SubnetIdentifierList"}, - "Tags":{"shape":"TagList"} - } - }, - "CreateDBSubnetGroupResult":{ - "type":"structure", - "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } - }, - "CreateEventSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SnsTopicArn" - ], - "members":{ - "SubscriptionName":{"shape":"String"}, - "SnsTopicArn":{"shape":"String"}, - "SourceType":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "SourceIds":{"shape":"SourceIdsList"}, - "Enabled":{"shape":"BooleanOptional"}, - "Tags":{"shape":"TagList"} - } - }, - "CreateEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "CreateOptionGroupMessage":{ - "type":"structure", - "required":[ - "OptionGroupName", - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], - "members":{ - "OptionGroupName":{"shape":"String"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "OptionGroupDescription":{"shape":"String"}, - "Tags":{"shape":"TagList"} - } - }, - "CreateOptionGroupResult":{ - "type":"structure", - "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } - }, - "DBEngineVersion":{ - "type":"structure", - "members":{ - "Engine":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "DBParameterGroupFamily":{"shape":"String"}, - "DBEngineDescription":{"shape":"String"}, - "DBEngineVersionDescription":{"shape":"String"}, - "DefaultCharacterSet":{"shape":"CharacterSet"}, - "SupportedCharacterSets":{"shape":"SupportedCharacterSetsList"} - } - }, - "DBEngineVersionList":{ - "type":"list", - "member":{ - "shape":"DBEngineVersion", - "locationName":"DBEngineVersion" - } - }, - "DBEngineVersionMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBEngineVersions":{"shape":"DBEngineVersionList"} - } - }, - "DBInstance":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Engine":{"shape":"String"}, - "DBInstanceStatus":{"shape":"String"}, - "MasterUsername":{"shape":"String"}, - "DBName":{"shape":"String"}, - "Endpoint":{"shape":"Endpoint"}, - "AllocatedStorage":{"shape":"Integer"}, - "InstanceCreateTime":{"shape":"TStamp"}, - "PreferredBackupWindow":{"shape":"String"}, - "BackupRetentionPeriod":{"shape":"Integer"}, - "DBSecurityGroups":{"shape":"DBSecurityGroupMembershipList"}, - "VpcSecurityGroups":{"shape":"VpcSecurityGroupMembershipList"}, - "DBParameterGroups":{"shape":"DBParameterGroupStatusList"}, - "AvailabilityZone":{"shape":"String"}, - "DBSubnetGroup":{"shape":"DBSubnetGroup"}, - "PreferredMaintenanceWindow":{"shape":"String"}, - "PendingModifiedValues":{"shape":"PendingModifiedValues"}, - "LatestRestorableTime":{"shape":"TStamp"}, - "MultiAZ":{"shape":"Boolean"}, - "EngineVersion":{"shape":"String"}, - "AutoMinorVersionUpgrade":{"shape":"Boolean"}, - "ReadReplicaSourceDBInstanceIdentifier":{"shape":"String"}, - "ReadReplicaDBInstanceIdentifiers":{"shape":"ReadReplicaDBInstanceIdentifierList"}, - "LicenseModel":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupMemberships":{"shape":"OptionGroupMembershipList"}, - "CharacterSetName":{"shape":"String"}, - "SecondaryAvailabilityZone":{"shape":"String"}, - "PubliclyAccessible":{"shape":"Boolean"}, - "StatusInfos":{"shape":"DBInstanceStatusInfoList"} - }, - "wrapper":true - }, - "DBInstanceAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBInstanceAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBInstanceList":{ - "type":"list", - "member":{ - "shape":"DBInstance", - "locationName":"DBInstance" - } - }, - "DBInstanceMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBInstances":{"shape":"DBInstanceList"} - } - }, - "DBInstanceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBInstanceStatusInfo":{ - "type":"structure", - "members":{ - "StatusType":{"shape":"String"}, - "Normal":{"shape":"Boolean"}, - "Status":{"shape":"String"}, - "Message":{"shape":"String"} - } - }, - "DBInstanceStatusInfoList":{ - "type":"list", - "member":{ - "shape":"DBInstanceStatusInfo", - "locationName":"DBInstanceStatusInfo" - } - }, - "DBLogFileNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBLogFileNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroup":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "DBParameterGroupFamily":{"shape":"String"}, - "Description":{"shape":"String"} - }, - "wrapper":true - }, - "DBParameterGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBParameterGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupDetails":{ - "type":"structure", - "members":{ - "Parameters":{"shape":"ParametersList"}, - "Marker":{"shape":"String"} - } - }, - "DBParameterGroupList":{ - "type":"list", - "member":{ - "shape":"DBParameterGroup", - "locationName":"DBParameterGroup" - } - }, - "DBParameterGroupNameMessage":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{"shape":"String"} - } - }, - "DBParameterGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBParameterGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupStatus":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "ParameterApplyStatus":{"shape":"String"} - } - }, - "DBParameterGroupStatusList":{ - "type":"list", - "member":{ - "shape":"DBParameterGroupStatus", - "locationName":"DBParameterGroup" - } - }, - "DBParameterGroupsMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBParameterGroups":{"shape":"DBParameterGroupList"} - } - }, - "DBSecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{"shape":"String"}, - "DBSecurityGroupName":{"shape":"String"}, - "DBSecurityGroupDescription":{"shape":"String"}, - "VpcId":{"shape":"String"}, - "EC2SecurityGroups":{"shape":"EC2SecurityGroupList"}, - "IPRanges":{"shape":"IPRangeList"} - }, - "wrapper":true - }, - "DBSecurityGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroupMembership":{ - "type":"structure", - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "Status":{"shape":"String"} - } - }, - "DBSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"DBSecurityGroupMembership", - "locationName":"DBSecurityGroup" - } - }, - "DBSecurityGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBSecurityGroups":{"shape":"DBSecurityGroups"} - } - }, - "DBSecurityGroupNameList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DBSecurityGroupName" - } - }, - "DBSecurityGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroupNotSupportedFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "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"}, - "DBInstanceIdentifier":{"shape":"String"}, - "SnapshotCreateTime":{"shape":"TStamp"}, - "Engine":{"shape":"String"}, - "AllocatedStorage":{"shape":"Integer"}, - "Status":{"shape":"String"}, - "Port":{"shape":"Integer"}, - "AvailabilityZone":{"shape":"String"}, - "VpcId":{"shape":"String"}, - "InstanceCreateTime":{"shape":"TStamp"}, - "MasterUsername":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "LicenseModel":{"shape":"String"}, - "SnapshotType":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "PercentProgress":{"shape":"Integer"}, - "SourceRegion":{"shape":"String"} - }, - "wrapper":true - }, - "DBSnapshotAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSnapshotAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSnapshotList":{ - "type":"list", - "member":{ - "shape":"DBSnapshot", - "locationName":"DBSnapshot" - } - }, - "DBSnapshotMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBSnapshots":{"shape":"DBSnapshotList"} - } - }, - "DBSnapshotNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroup":{ - "type":"structure", - "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "DBSubnetGroupDescription":{"shape":"String"}, - "VpcId":{"shape":"String"}, - "SubnetGroupStatus":{"shape":"String"}, - "Subnets":{"shape":"SubnetList"} - }, - "wrapper":true - }, - "DBSubnetGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupDoesNotCoverEnoughAZs":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupDoesNotCoverEnoughAZs", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "DBSubnetGroups":{"shape":"DBSubnetGroups"} - } - }, - "DBSubnetGroupNotAllowedFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupNotAllowedFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroups":{ - "type":"list", - "member":{ - "shape":"DBSubnetGroup", - "locationName":"DBSubnetGroup" - } - }, - "DBSubnetQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBUpgradeDependencyFailureFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBUpgradeDependencyFailure", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DeleteDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "SkipFinalSnapshot":{"shape":"Boolean"}, - "FinalDBSnapshotIdentifier":{"shape":"String"} - } - }, - "DeleteDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "DeleteDBParameterGroupMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{"shape":"String"} - } - }, - "DeleteDBSecurityGroupMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{"shape":"String"} - } - }, - "DeleteDBSnapshotMessage":{ - "type":"structure", - "required":["DBSnapshotIdentifier"], - "members":{ - "DBSnapshotIdentifier":{"shape":"String"} - } - }, - "DeleteDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "DeleteDBSubnetGroupMessage":{ - "type":"structure", - "required":["DBSubnetGroupName"], - "members":{ - "DBSubnetGroupName":{"shape":"String"} - } - }, - "DeleteEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{"shape":"String"} - } - }, - "DeleteEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "DeleteOptionGroupMessage":{ - "type":"structure", - "required":["OptionGroupName"], - "members":{ - "OptionGroupName":{"shape":"String"} - } - }, - "DescribeDBEngineVersionsMessage":{ - "type":"structure", - "members":{ - "Engine":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "DBParameterGroupFamily":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"}, - "DefaultOnly":{"shape":"Boolean"}, - "ListSupportedCharacterSets":{"shape":"BooleanOptional"} - } - }, - "DescribeDBInstancesMessage":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBLogFilesDetails":{ - "type":"structure", - "members":{ - "LogFileName":{"shape":"String"}, - "LastWritten":{"shape":"Long"}, - "Size":{"shape":"Long"} - } - }, - "DescribeDBLogFilesList":{ - "type":"list", - "member":{ - "shape":"DescribeDBLogFilesDetails", - "locationName":"DescribeDBLogFilesDetails" - } - }, - "DescribeDBLogFilesMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "FilenameContains":{"shape":"String"}, - "FileLastWritten":{"shape":"Long"}, - "FileSize":{"shape":"Long"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBLogFilesResponse":{ - "type":"structure", - "members":{ - "DescribeDBLogFiles":{"shape":"DescribeDBLogFilesList"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBParameterGroupsMessage":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "Source":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBSecurityGroupsMessage":{ - "type":"structure", - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBSnapshotsMessage":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "DBSnapshotIdentifier":{"shape":"String"}, - "SnapshotType":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeDBSubnetGroupsMessage":{ - "type":"structure", - "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeEngineDefaultParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupFamily"], - "members":{ - "DBParameterGroupFamily":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeEngineDefaultParametersResult":{ - "type":"structure", - "members":{ - "EngineDefaults":{"shape":"EngineDefaults"} - } - }, - "DescribeEventCategoriesMessage":{ - "type":"structure", - "members":{ - "SourceType":{"shape":"String"}, - "Filters":{"shape":"FilterList"} - } - }, - "DescribeEventSubscriptionsMessage":{ - "type":"structure", - "members":{ - "SubscriptionName":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeEventsMessage":{ - "type":"structure", - "members":{ - "SourceIdentifier":{"shape":"String"}, - "SourceType":{"shape":"SourceType"}, - "StartTime":{"shape":"TStamp"}, - "EndTime":{"shape":"TStamp"}, - "Duration":{"shape":"IntegerOptional"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeOptionGroupOptionsMessage":{ - "type":"structure", - "required":["EngineName"], - "members":{ - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeOptionGroupsMessage":{ - "type":"structure", - "members":{ - "OptionGroupName":{"shape":"String"}, - "Filters":{"shape":"FilterList"}, - "Marker":{"shape":"String"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"} - } - }, - "DescribeOrderableDBInstanceOptionsMessage":{ - "type":"structure", - "required":["Engine"], - "members":{ - "Engine":{"shape":"String"}, - "EngineVersion":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "LicenseModel":{"shape":"String"}, - "Vpc":{"shape":"BooleanOptional"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeReservedDBInstancesMessage":{ - "type":"structure", - "members":{ - "ReservedDBInstanceId":{"shape":"String"}, - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Duration":{"shape":"String"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "DescribeReservedDBInstancesOfferingsMessage":{ - "type":"structure", - "members":{ - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Duration":{"shape":"String"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "Filters":{"shape":"FilterList"}, - "MaxRecords":{"shape":"IntegerOptional"}, - "Marker":{"shape":"String"} - } - }, - "Double":{"type":"double"}, - "DownloadDBLogFilePortionDetails":{ - "type":"structure", - "members":{ - "LogFileData":{"shape":"String"}, - "Marker":{"shape":"String"}, - "AdditionalDataPending":{"shape":"Boolean"} - } - }, - "DownloadDBLogFilePortionMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "LogFileName" - ], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "LogFileName":{"shape":"String"}, - "Marker":{"shape":"String"}, - "NumberOfLines":{"shape":"Integer"} - } - }, - "EC2SecurityGroup":{ - "type":"structure", - "members":{ - "Status":{"shape":"String"}, - "EC2SecurityGroupName":{"shape":"String"}, - "EC2SecurityGroupId":{"shape":"String"}, - "EC2SecurityGroupOwnerId":{"shape":"String"} - } - }, - "EC2SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"EC2SecurityGroup", - "locationName":"EC2SecurityGroup" - } - }, - "Endpoint":{ - "type":"structure", - "members":{ - "Address":{"shape":"String"}, - "Port":{"shape":"Integer"} - } - }, - "EngineDefaults":{ - "type":"structure", - "members":{ - "DBParameterGroupFamily":{"shape":"String"}, - "Marker":{"shape":"String"}, - "Parameters":{"shape":"ParametersList"} - }, - "wrapper":true - }, - "Event":{ - "type":"structure", - "members":{ - "SourceIdentifier":{"shape":"String"}, - "SourceType":{"shape":"SourceType"}, - "Message":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "Date":{"shape":"TStamp"} - } - }, - "EventCategoriesList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"EventCategory" - } - }, - "EventCategoriesMap":{ - "type":"structure", - "members":{ - "SourceType":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"} - }, - "wrapper":true - }, - "EventCategoriesMapList":{ - "type":"list", - "member":{ - "shape":"EventCategoriesMap", - "locationName":"EventCategoriesMap" - } - }, - "EventCategoriesMessage":{ - "type":"structure", - "members":{ - "EventCategoriesMapList":{"shape":"EventCategoriesMapList"} - } - }, - "EventList":{ - "type":"list", - "member":{ - "shape":"Event", - "locationName":"Event" - } - }, - "EventSubscription":{ - "type":"structure", - "members":{ - "CustomerAwsId":{"shape":"String"}, - "CustSubscriptionId":{"shape":"String"}, - "SnsTopicArn":{"shape":"String"}, - "Status":{"shape":"String"}, - "SubscriptionCreationTime":{"shape":"String"}, - "SourceType":{"shape":"String"}, - "SourceIdsList":{"shape":"SourceIdsList"}, - "EventCategoriesList":{"shape":"EventCategoriesList"}, - "Enabled":{"shape":"Boolean"} - }, - "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"}, - "EventSubscriptionsList":{"shape":"EventSubscriptionsList"} - } - }, - "EventsMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "Events":{"shape":"EventList"} - } - }, - "Filter":{ - "type":"structure", - "required":[ - "Name", - "Values" - ], - "members":{ - "Name":{"shape":"String"}, - "Values":{"shape":"FilterValueList"} - } - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "FilterValueList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"Value" - } - }, - "IPRange":{ - "type":"structure", - "members":{ - "Status":{"shape":"String"}, - "CIDRIP":{"shape":"String"} - } - }, - "IPRangeList":{ - "type":"list", - "member":{ - "shape":"IPRange", - "locationName":"IPRange" - } - }, - "InstanceQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InsufficientDBInstanceCapacityFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InsufficientDBInstanceCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Integer":{"type":"integer"}, - "IntegerOptional":{"type":"integer"}, - "InvalidDBInstanceStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBInstanceState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBParameterGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSecurityGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSnapshotStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSubnetGroupFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSubnetGroupFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSubnetGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSubnetGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSubnetStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSubnetStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidEventSubscriptionStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidEventSubscriptionState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidOptionGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidOptionGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidRestoreFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidRestoreFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSubnet":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidVPCNetworkStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "KeyList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ListTagsForResourceMessage":{ - "type":"structure", - "required":["ResourceName"], - "members":{ - "ResourceName":{"shape":"String"}, - "Filters":{"shape":"FilterList"} - } - }, - "Long":{"type":"long"}, - "ModifyDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "AllocatedStorage":{"shape":"IntegerOptional"}, - "DBInstanceClass":{"shape":"String"}, - "DBSecurityGroups":{"shape":"DBSecurityGroupNameList"}, - "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, - "ApplyImmediately":{"shape":"Boolean"}, - "MasterUserPassword":{"shape":"String"}, - "DBParameterGroupName":{"shape":"String"}, - "BackupRetentionPeriod":{"shape":"IntegerOptional"}, - "PreferredBackupWindow":{"shape":"String"}, - "PreferredMaintenanceWindow":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "EngineVersion":{"shape":"String"}, - "AllowMajorVersionUpgrade":{"shape":"Boolean"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "NewDBInstanceIdentifier":{"shape":"String"} - } - }, - "ModifyDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "ModifyDBParameterGroupMessage":{ - "type":"structure", - "required":[ - "DBParameterGroupName", - "Parameters" - ], - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "Parameters":{"shape":"ParametersList"} - } - }, - "ModifyDBSubnetGroupMessage":{ - "type":"structure", - "required":[ - "DBSubnetGroupName", - "SubnetIds" - ], - "members":{ - "DBSubnetGroupName":{"shape":"String"}, - "DBSubnetGroupDescription":{"shape":"String"}, - "SubnetIds":{"shape":"SubnetIdentifierList"} - } - }, - "ModifyDBSubnetGroupResult":{ - "type":"structure", - "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } - }, - "ModifyEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{"shape":"String"}, - "SnsTopicArn":{"shape":"String"}, - "SourceType":{"shape":"String"}, - "EventCategories":{"shape":"EventCategoriesList"}, - "Enabled":{"shape":"BooleanOptional"} - } - }, - "ModifyEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "ModifyOptionGroupMessage":{ - "type":"structure", - "required":["OptionGroupName"], - "members":{ - "OptionGroupName":{"shape":"String"}, - "OptionsToInclude":{"shape":"OptionConfigurationList"}, - "OptionsToRemove":{"shape":"OptionNamesList"}, - "ApplyImmediately":{"shape":"Boolean"} - } - }, - "ModifyOptionGroupResult":{ - "type":"structure", - "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } - }, - "Option":{ - "type":"structure", - "members":{ - "OptionName":{"shape":"String"}, - "OptionDescription":{"shape":"String"}, - "Persistent":{"shape":"Boolean"}, - "Permanent":{"shape":"Boolean"}, - "Port":{"shape":"IntegerOptional"}, - "OptionSettings":{"shape":"OptionSettingConfigurationList"}, - "DBSecurityGroupMemberships":{"shape":"DBSecurityGroupMembershipList"}, - "VpcSecurityGroupMemberships":{"shape":"VpcSecurityGroupMembershipList"} - } - }, - "OptionConfiguration":{ - "type":"structure", - "required":["OptionName"], - "members":{ - "OptionName":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "DBSecurityGroupMemberships":{"shape":"DBSecurityGroupNameList"}, - "VpcSecurityGroupMemberships":{"shape":"VpcSecurityGroupIdList"}, - "OptionSettings":{"shape":"OptionSettingsList"} - } - }, - "OptionConfigurationList":{ - "type":"list", - "member":{ - "shape":"OptionConfiguration", - "locationName":"OptionConfiguration" - } - }, - "OptionGroup":{ - "type":"structure", - "members":{ - "OptionGroupName":{"shape":"String"}, - "OptionGroupDescription":{"shape":"String"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "Options":{"shape":"OptionsList"}, - "AllowsVpcAndNonVpcInstanceMemberships":{"shape":"Boolean"}, - "VpcId":{"shape":"String"} - }, - "wrapper":true - }, - "OptionGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "OptionGroupMembership":{ - "type":"structure", - "members":{ - "OptionGroupName":{"shape":"String"}, - "Status":{"shape":"String"} - } - }, - "OptionGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"OptionGroupMembership", - "locationName":"OptionGroupMembership" - } - }, - "OptionGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "OptionGroupOption":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "Description":{"shape":"String"}, - "EngineName":{"shape":"String"}, - "MajorEngineVersion":{"shape":"String"}, - "MinimumRequiredMinorEngineVersion":{"shape":"String"}, - "PortRequired":{"shape":"Boolean"}, - "DefaultPort":{"shape":"IntegerOptional"}, - "OptionsDependedOn":{"shape":"OptionsDependedOn"}, - "Persistent":{"shape":"Boolean"}, - "Permanent":{"shape":"Boolean"}, - "OptionGroupOptionSettings":{"shape":"OptionGroupOptionSettingsList"} - } - }, - "OptionGroupOptionSetting":{ - "type":"structure", - "members":{ - "SettingName":{"shape":"String"}, - "SettingDescription":{"shape":"String"}, - "DefaultValue":{"shape":"String"}, - "ApplyType":{"shape":"String"}, - "AllowedValues":{"shape":"String"}, - "IsModifiable":{"shape":"Boolean"} - } - }, - "OptionGroupOptionSettingsList":{ - "type":"list", - "member":{ - "shape":"OptionGroupOptionSetting", - "locationName":"OptionGroupOptionSetting" - } - }, - "OptionGroupOptionsList":{ - "type":"list", - "member":{ - "shape":"OptionGroupOption", - "locationName":"OptionGroupOption" - } - }, - "OptionGroupOptionsMessage":{ - "type":"structure", - "members":{ - "OptionGroupOptions":{"shape":"OptionGroupOptionsList"}, - "Marker":{"shape":"String"} - } - }, - "OptionGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "OptionGroups":{ - "type":"structure", - "members":{ - "OptionGroupsList":{"shape":"OptionGroupsList"}, - "Marker":{"shape":"String"} - } - }, - "OptionGroupsList":{ - "type":"list", - "member":{ - "shape":"OptionGroup", - "locationName":"OptionGroup" - } - }, - "OptionNamesList":{ - "type":"list", - "member":{"shape":"String"} - }, - "OptionSetting":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"}, - "Value":{"shape":"String"}, - "DefaultValue":{"shape":"String"}, - "Description":{"shape":"String"}, - "ApplyType":{"shape":"String"}, - "DataType":{"shape":"String"}, - "AllowedValues":{"shape":"String"}, - "IsModifiable":{"shape":"Boolean"}, - "IsCollection":{"shape":"Boolean"} - } - }, - "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"}, - "EngineVersion":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "LicenseModel":{"shape":"String"}, - "AvailabilityZones":{"shape":"AvailabilityZoneList"}, - "MultiAZCapable":{"shape":"Boolean"}, - "ReadReplicaCapable":{"shape":"Boolean"}, - "Vpc":{"shape":"Boolean"} - }, - "wrapper":true - }, - "OrderableDBInstanceOptionsList":{ - "type":"list", - "member":{ - "shape":"OrderableDBInstanceOption", - "locationName":"OrderableDBInstanceOption" - } - }, - "OrderableDBInstanceOptionsMessage":{ - "type":"structure", - "members":{ - "OrderableDBInstanceOptions":{"shape":"OrderableDBInstanceOptionsList"}, - "Marker":{"shape":"String"} - } - }, - "Parameter":{ - "type":"structure", - "members":{ - "ParameterName":{"shape":"String"}, - "ParameterValue":{"shape":"String"}, - "Description":{"shape":"String"}, - "Source":{"shape":"String"}, - "ApplyType":{"shape":"String"}, - "DataType":{"shape":"String"}, - "AllowedValues":{"shape":"String"}, - "IsModifiable":{"shape":"Boolean"}, - "MinimumEngineVersion":{"shape":"String"}, - "ApplyMethod":{"shape":"ApplyMethod"} - } - }, - "ParametersList":{ - "type":"list", - "member":{ - "shape":"Parameter", - "locationName":"Parameter" - } - }, - "PendingModifiedValues":{ - "type":"structure", - "members":{ - "DBInstanceClass":{"shape":"String"}, - "AllocatedStorage":{"shape":"IntegerOptional"}, - "MasterUserPassword":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "BackupRetentionPeriod":{"shape":"IntegerOptional"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "EngineVersion":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "DBInstanceIdentifier":{"shape":"String"} - } - }, - "PointInTimeRestoreNotEnabledFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"PointInTimeRestoreNotEnabled", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PromoteReadReplicaMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "BackupRetentionPeriod":{"shape":"IntegerOptional"}, - "PreferredBackupWindow":{"shape":"String"} - } - }, - "PromoteReadReplicaResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "ProvisionedIopsNotAvailableInAZFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ProvisionedIopsNotAvailableInAZFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PurchaseReservedDBInstancesOfferingMessage":{ - "type":"structure", - "required":["ReservedDBInstancesOfferingId"], - "members":{ - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "ReservedDBInstanceId":{"shape":"String"}, - "DBInstanceCount":{"shape":"IntegerOptional"}, - "Tags":{"shape":"TagList"} - } - }, - "PurchaseReservedDBInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedDBInstance":{"shape":"ReservedDBInstance"} - } - }, - "ReadReplicaDBInstanceIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReadReplicaDBInstanceIdentifier" - } - }, - "RebootDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "ForceFailover":{"shape":"BooleanOptional"} - } - }, - "RebootDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "RecurringChargeAmount":{"shape":"Double"}, - "RecurringChargeFrequency":{"shape":"String"} - }, - "wrapper":true - }, - "RecurringChargeList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"RecurringCharge" - } - }, - "RemoveSourceIdentifierFromSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SourceIdentifier" - ], - "members":{ - "SubscriptionName":{"shape":"String"}, - "SourceIdentifier":{"shape":"String"} - } - }, - "RemoveSourceIdentifierFromSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "RemoveTagsFromResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "TagKeys" - ], - "members":{ - "ResourceName":{"shape":"String"}, - "TagKeys":{"shape":"KeyList"} - } - }, - "ReservedDBInstance":{ - "type":"structure", - "members":{ - "ReservedDBInstanceId":{"shape":"String"}, - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "StartTime":{"shape":"TStamp"}, - "Duration":{"shape":"Integer"}, - "FixedPrice":{"shape":"Double"}, - "UsagePrice":{"shape":"Double"}, - "CurrencyCode":{"shape":"String"}, - "DBInstanceCount":{"shape":"Integer"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"Boolean"}, - "State":{"shape":"String"}, - "RecurringCharges":{"shape":"RecurringChargeList"} - }, - "wrapper":true - }, - "ReservedDBInstanceAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstanceAlreadyExists", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstanceList":{ - "type":"list", - "member":{ - "shape":"ReservedDBInstance", - "locationName":"ReservedDBInstance" - } - }, - "ReservedDBInstanceMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "ReservedDBInstances":{"shape":"ReservedDBInstanceList"} - } - }, - "ReservedDBInstanceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstanceQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedDBInstancesOfferingId":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Duration":{"shape":"Integer"}, - "FixedPrice":{"shape":"Double"}, - "UsagePrice":{"shape":"Double"}, - "CurrencyCode":{"shape":"String"}, - "ProductDescription":{"shape":"String"}, - "OfferingType":{"shape":"String"}, - "MultiAZ":{"shape":"Boolean"}, - "RecurringCharges":{"shape":"RecurringChargeList"} - }, - "wrapper":true - }, - "ReservedDBInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedDBInstancesOffering", - "locationName":"ReservedDBInstancesOffering" - } - }, - "ReservedDBInstancesOfferingMessage":{ - "type":"structure", - "members":{ - "Marker":{"shape":"String"}, - "ReservedDBInstancesOfferings":{"shape":"ReservedDBInstancesOfferingList"} - } - }, - "ReservedDBInstancesOfferingNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstancesOfferingNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ResetDBParameterGroupMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{"shape":"String"}, - "ResetAllParameters":{"shape":"Boolean"}, - "Parameters":{"shape":"ParametersList"} - } - }, - "RestoreDBInstanceFromDBSnapshotMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "DBSnapshotIdentifier" - ], - "members":{ - "DBInstanceIdentifier":{"shape":"String"}, - "DBSnapshotIdentifier":{"shape":"String"}, - "DBInstanceClass":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "AvailabilityZone":{"shape":"String"}, - "DBSubnetGroupName":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "PubliclyAccessible":{"shape":"BooleanOptional"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "LicenseModel":{"shape":"String"}, - "DBName":{"shape":"String"}, - "Engine":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "Tags":{"shape":"TagList"} - } - }, - "RestoreDBInstanceFromDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RestoreDBInstanceToPointInTimeMessage":{ - "type":"structure", - "required":[ - "SourceDBInstanceIdentifier", - "TargetDBInstanceIdentifier" - ], - "members":{ - "SourceDBInstanceIdentifier":{"shape":"String"}, - "TargetDBInstanceIdentifier":{"shape":"String"}, - "RestoreTime":{"shape":"TStamp"}, - "UseLatestRestorableTime":{"shape":"Boolean"}, - "DBInstanceClass":{"shape":"String"}, - "Port":{"shape":"IntegerOptional"}, - "AvailabilityZone":{"shape":"String"}, - "DBSubnetGroupName":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"}, - "PubliclyAccessible":{"shape":"BooleanOptional"}, - "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "LicenseModel":{"shape":"String"}, - "DBName":{"shape":"String"}, - "Engine":{"shape":"String"}, - "Iops":{"shape":"IntegerOptional"}, - "OptionGroupName":{"shape":"String"}, - "Tags":{"shape":"TagList"} - } - }, - "RestoreDBInstanceToPointInTimeResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RevokeDBSecurityGroupIngressMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{"shape":"String"}, - "CIDRIP":{"shape":"String"}, - "EC2SecurityGroupName":{"shape":"String"}, - "EC2SecurityGroupId":{"shape":"String"}, - "EC2SecurityGroupOwnerId":{"shape":"String"} - } - }, - "RevokeDBSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "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 - }, - "SnapshotQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "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" - ] - }, - "StorageQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"StorageQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetIdentifier":{"shape":"String"}, - "SubnetAvailabilityZone":{"shape":"AvailabilityZone"}, - "SubnetStatus":{"shape":"String"} - } - }, - "SubnetAlreadyInUse":{ - "type":"structure", - "members":{ - }, - "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" - } - }, - "TStamp":{"type":"timestamp"}, - "Tag":{ - "type":"structure", - "members":{ - "Key":{"shape":"String"}, - "Value":{"shape":"String"} - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagListMessage":{ - "type":"structure", - "members":{ - "TagList":{"shape":"TagList"} - } - }, - "VpcSecurityGroupIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcSecurityGroupId" - } - }, - "VpcSecurityGroupMembership":{ - "type":"structure", - "members":{ - "VpcSecurityGroupId":{"shape":"String"}, - "Status":{"shape":"String"} - } - }, - "VpcSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"VpcSecurityGroupMembership", - "locationName":"VpcSecurityGroupMembership" - } - } - } -} diff --git a/models/apis/rds/2013-09-09/docs-2.json b/models/apis/rds/2013-09-09/docs-2.json deleted file mode 100644 index 2058250be20..00000000000 --- a/models/apis/rds/2013-09-09/docs-2.json +++ /dev/null @@ -1,1876 +0,0 @@ -{ - "version": "2.0", - "service": null, - "operations": { - "AddSourceIdentifierToSubscription": null, - "AddTagsToResource": null, - "AuthorizeDBSecurityGroupIngress": null, - "CopyDBSnapshot": null, - "CreateDBInstance": null, - "CreateDBInstanceReadReplica": null, - "CreateDBParameterGroup": null, - "CreateDBSecurityGroup": null, - "CreateDBSnapshot": null, - "CreateDBSubnetGroup": null, - "CreateEventSubscription": null, - "CreateOptionGroup": null, - "DeleteDBInstance": null, - "DeleteDBParameterGroup": null, - "DeleteDBSecurityGroup": null, - "DeleteDBSnapshot": null, - "DeleteDBSubnetGroup": null, - "DeleteEventSubscription": null, - "DeleteOptionGroup": null, - "DescribeDBEngineVersions": null, - "DescribeDBInstances": null, - "DescribeDBLogFiles": null, - "DescribeDBParameterGroups": null, - "DescribeDBParameters": null, - "DescribeDBSecurityGroups": null, - "DescribeDBSnapshots": null, - "DescribeDBSubnetGroups": null, - "DescribeEngineDefaultParameters": null, - "DescribeEventCategories": null, - "DescribeEventSubscriptions": null, - "DescribeEvents": null, - "DescribeOptionGroupOptions": null, - "DescribeOptionGroups": null, - "DescribeOrderableDBInstanceOptions": null, - "DescribeReservedDBInstances": null, - "DescribeReservedDBInstancesOfferings": null, - "DownloadDBLogFilePortion": null, - "ListTagsForResource": null, - "ModifyDBInstance": null, - "ModifyDBParameterGroup": null, - "ModifyDBSubnetGroup": null, - "ModifyEventSubscription": null, - "ModifyOptionGroup": null, - "PromoteReadReplica": null, - "PurchaseReservedDBInstancesOffering": null, - "RebootDBInstance": null, - "RemoveSourceIdentifierFromSubscription": null, - "RemoveTagsFromResource": null, - "ResetDBParameterGroup": null, - "RestoreDBInstanceFromDBSnapshot": null, - "RestoreDBInstanceToPointInTime": null, - "RevokeDBSecurityGroupIngress": null - }, - "shapes": { - "AddSourceIdentifierToSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "AddSourceIdentifierToSubscriptionResult": { - "base": null, - "refs": { - } - }, - "AddTagsToResourceMessage": { - "base": null, - "refs": { - } - }, - "ApplyMethod": { - "base": null, - "refs": { - "Parameter$ApplyMethod": null - } - }, - "AuthorizationAlreadyExistsFault": { - "base": "

The specified CIDRIP or EC2 security group is already authorized for the specified DB security group.

", - "refs": { - } - }, - "AuthorizationNotFoundFault": { - "base": "

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.

", - "refs": { - } - }, - "AuthorizationQuotaExceededFault": { - "base": "

DB security group authorization quota has been reached.

", - "refs": { - } - }, - "AuthorizeDBSecurityGroupIngressMessage": { - "base": null, - "refs": { - } - }, - "AuthorizeDBSecurityGroupIngressResult": { - "base": null, - "refs": { - } - }, - "AvailabilityZone": { - "base": null, - "refs": { - "AvailabilityZoneList$member": null, - "Subnet$SubnetAvailabilityZone": null - } - }, - "AvailabilityZoneList": { - "base": null, - "refs": { - "OrderableDBInstanceOption$AvailabilityZones": null - } - }, - "Boolean": { - "base": null, - "refs": { - "AvailabilityZone$ProvisionedIopsCapable": null, - "DBInstance$MultiAZ": null, - "DBInstance$AutoMinorVersionUpgrade": null, - "DBInstance$PubliclyAccessible": null, - "DBInstanceStatusInfo$Normal": null, - "DeleteDBInstanceMessage$SkipFinalSnapshot": null, - "DescribeDBEngineVersionsMessage$DefaultOnly": null, - "DownloadDBLogFilePortionDetails$AdditionalDataPending": null, - "EventSubscription$Enabled": null, - "ModifyDBInstanceMessage$ApplyImmediately": null, - "ModifyDBInstanceMessage$AllowMajorVersionUpgrade": null, - "ModifyOptionGroupMessage$ApplyImmediately": null, - "Option$Persistent": null, - "Option$Permanent": null, - "OptionGroup$AllowsVpcAndNonVpcInstanceMemberships": null, - "OptionGroupOption$PortRequired": null, - "OptionGroupOption$Persistent": null, - "OptionGroupOption$Permanent": null, - "OptionGroupOptionSetting$IsModifiable": null, - "OptionSetting$IsModifiable": null, - "OptionSetting$IsCollection": null, - "OrderableDBInstanceOption$MultiAZCapable": null, - "OrderableDBInstanceOption$ReadReplicaCapable": null, - "OrderableDBInstanceOption$Vpc": null, - "Parameter$IsModifiable": null, - "ReservedDBInstance$MultiAZ": null, - "ReservedDBInstancesOffering$MultiAZ": null, - "ResetDBParameterGroupMessage$ResetAllParameters": null, - "RestoreDBInstanceToPointInTimeMessage$UseLatestRestorableTime": null - } - }, - "BooleanOptional": { - "base": null, - "refs": { - "CreateDBInstanceMessage$MultiAZ": null, - "CreateDBInstanceMessage$AutoMinorVersionUpgrade": null, - "CreateDBInstanceMessage$PubliclyAccessible": null, - "CreateDBInstanceReadReplicaMessage$AutoMinorVersionUpgrade": null, - "CreateDBInstanceReadReplicaMessage$PubliclyAccessible": null, - "CreateEventSubscriptionMessage$Enabled": null, - "DescribeDBEngineVersionsMessage$ListSupportedCharacterSets": null, - "DescribeOrderableDBInstanceOptionsMessage$Vpc": null, - "DescribeReservedDBInstancesMessage$MultiAZ": null, - "DescribeReservedDBInstancesOfferingsMessage$MultiAZ": null, - "ModifyDBInstanceMessage$MultiAZ": null, - "ModifyDBInstanceMessage$AutoMinorVersionUpgrade": null, - "ModifyEventSubscriptionMessage$Enabled": null, - "PendingModifiedValues$MultiAZ": null, - "RebootDBInstanceMessage$ForceFailover": null, - "RestoreDBInstanceFromDBSnapshotMessage$MultiAZ": null, - "RestoreDBInstanceFromDBSnapshotMessage$PubliclyAccessible": null, - "RestoreDBInstanceFromDBSnapshotMessage$AutoMinorVersionUpgrade": null, - "RestoreDBInstanceToPointInTimeMessage$MultiAZ": null, - "RestoreDBInstanceToPointInTimeMessage$PubliclyAccessible": null, - "RestoreDBInstanceToPointInTimeMessage$AutoMinorVersionUpgrade": null - } - }, - "CharacterSet": { - "base": null, - "refs": { - "DBEngineVersion$DefaultCharacterSet": null, - "SupportedCharacterSetsList$member": null - } - }, - "CopyDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "CopyDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceReadReplicaMessage": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceReadReplicaResult": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceResult": { - "base": null, - "refs": { - } - }, - "CreateDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateDBParameterGroupResult": { - "base": null, - "refs": { - } - }, - "CreateDBSecurityGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateDBSecurityGroupResult": { - "base": null, - "refs": { - } - }, - "CreateDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "CreateDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "CreateDBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateDBSubnetGroupResult": { - "base": null, - "refs": { - } - }, - "CreateEventSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "CreateEventSubscriptionResult": { - "base": null, - "refs": { - } - }, - "CreateOptionGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateOptionGroupResult": { - "base": null, - "refs": { - } - }, - "DBEngineVersion": { - "base": null, - "refs": { - "DBEngineVersionList$member": null - } - }, - "DBEngineVersionList": { - "base": null, - "refs": { - "DBEngineVersionMessage$DBEngineVersions": null - } - }, - "DBEngineVersionMessage": { - "base": null, - "refs": { - } - }, - "DBInstance": { - "base": null, - "refs": { - "CreateDBInstanceReadReplicaResult$DBInstance": null, - "CreateDBInstanceResult$DBInstance": null, - "DBInstanceList$member": null, - "DeleteDBInstanceResult$DBInstance": null, - "ModifyDBInstanceResult$DBInstance": null, - "PromoteReadReplicaResult$DBInstance": null, - "RebootDBInstanceResult$DBInstance": null, - "RestoreDBInstanceFromDBSnapshotResult$DBInstance": null, - "RestoreDBInstanceToPointInTimeResult$DBInstance": null - } - }, - "DBInstanceAlreadyExistsFault": { - "base": "

User already has a DB instance with the given identifier.

", - "refs": { - } - }, - "DBInstanceList": { - "base": null, - "refs": { - "DBInstanceMessage$DBInstances": null - } - }, - "DBInstanceMessage": { - "base": null, - "refs": { - } - }, - "DBInstanceNotFoundFault": { - "base": "

DBInstanceIdentifier does not refer to an existing DB instance.

", - "refs": { - } - }, - "DBInstanceStatusInfo": { - "base": null, - "refs": { - "DBInstanceStatusInfoList$member": null - } - }, - "DBInstanceStatusInfoList": { - "base": null, - "refs": { - "DBInstance$StatusInfos": null - } - }, - "DBLogFileNotFoundFault": { - "base": "

LogFileName does not refer to an existing DB log file.

", - "refs": { - } - }, - "DBParameterGroup": { - "base": null, - "refs": { - "CreateDBParameterGroupResult$DBParameterGroup": null, - "DBParameterGroupList$member": null - } - }, - "DBParameterGroupAlreadyExistsFault": { - "base": "

A DB parameter group with the same name exists.

", - "refs": { - } - }, - "DBParameterGroupDetails": { - "base": null, - "refs": { - } - }, - "DBParameterGroupList": { - "base": null, - "refs": { - "DBParameterGroupsMessage$DBParameterGroups": null - } - }, - "DBParameterGroupNameMessage": { - "base": null, - "refs": { - } - }, - "DBParameterGroupNotFoundFault": { - "base": "

DBParameterGroupName does not refer to an existing DB parameter group.

", - "refs": { - } - }, - "DBParameterGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB parameter groups.

", - "refs": { - } - }, - "DBParameterGroupStatus": { - "base": null, - "refs": { - "DBParameterGroupStatusList$member": null - } - }, - "DBParameterGroupStatusList": { - "base": null, - "refs": { - "DBInstance$DBParameterGroups": null - } - }, - "DBParameterGroupsMessage": { - "base": null, - "refs": { - } - }, - "DBSecurityGroup": { - "base": null, - "refs": { - "AuthorizeDBSecurityGroupIngressResult$DBSecurityGroup": null, - "CreateDBSecurityGroupResult$DBSecurityGroup": null, - "DBSecurityGroups$member": null, - "RevokeDBSecurityGroupIngressResult$DBSecurityGroup": null - } - }, - "DBSecurityGroupAlreadyExistsFault": { - "base": "

A DB security group with the name specified in DBSecurityGroupName already exists.

", - "refs": { - } - }, - "DBSecurityGroupMembership": { - "base": null, - "refs": { - "DBSecurityGroupMembershipList$member": null - } - }, - "DBSecurityGroupMembershipList": { - "base": null, - "refs": { - "DBInstance$DBSecurityGroups": null, - "Option$DBSecurityGroupMemberships": null - } - }, - "DBSecurityGroupMessage": { - "base": null, - "refs": { - } - }, - "DBSecurityGroupNameList": { - "base": null, - "refs": { - "CreateDBInstanceMessage$DBSecurityGroups": null, - "ModifyDBInstanceMessage$DBSecurityGroups": null, - "OptionConfiguration$DBSecurityGroupMemberships": null - } - }, - "DBSecurityGroupNotFoundFault": { - "base": "

DBSecurityGroupName does not refer to an existing DB security group.

", - "refs": { - } - }, - "DBSecurityGroupNotSupportedFault": { - "base": "

A DB security group is not allowed for this action.

", - "refs": { - } - }, - "DBSecurityGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB security groups.

", - "refs": { - } - }, - "DBSecurityGroups": { - "base": null, - "refs": { - "DBSecurityGroupMessage$DBSecurityGroups": null - } - }, - "DBSnapshot": { - "base": null, - "refs": { - "CopyDBSnapshotResult$DBSnapshot": null, - "CreateDBSnapshotResult$DBSnapshot": null, - "DBSnapshotList$member": null, - "DeleteDBSnapshotResult$DBSnapshot": null - } - }, - "DBSnapshotAlreadyExistsFault": { - "base": "

DBSnapshotIdentifier is already used by an existing snapshot.

", - "refs": { - } - }, - "DBSnapshotList": { - "base": null, - "refs": { - "DBSnapshotMessage$DBSnapshots": null - } - }, - "DBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "DBSnapshotNotFoundFault": { - "base": "

DBSnapshotIdentifier does not refer to an existing DB snapshot.

", - "refs": { - } - }, - "DBSubnetGroup": { - "base": null, - "refs": { - "CreateDBSubnetGroupResult$DBSubnetGroup": null, - "DBInstance$DBSubnetGroup": null, - "DBSubnetGroups$member": null, - "ModifyDBSubnetGroupResult$DBSubnetGroup": null - } - }, - "DBSubnetGroupAlreadyExistsFault": { - "base": "

DBSubnetGroupName is already used by an existing DB subnet group.

", - "refs": { - } - }, - "DBSubnetGroupDoesNotCoverEnoughAZs": { - "base": "

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

", - "refs": { - } - }, - "DBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "DBSubnetGroupNotAllowedFault": { - "base": "

Indicates that the DBSubnetGroup should not be specified while creating read replicas that lie in the same region as the source instance.

", - "refs": { - } - }, - "DBSubnetGroupNotFoundFault": { - "base": "

DBSubnetGroupName does not refer to an existing DB subnet group.

", - "refs": { - } - }, - "DBSubnetGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB subnet groups.

", - "refs": { - } - }, - "DBSubnetGroups": { - "base": null, - "refs": { - "DBSubnetGroupMessage$DBSubnetGroups": null - } - }, - "DBSubnetQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of subnets in a DB subnet groups.

", - "refs": { - } - }, - "DBUpgradeDependencyFailureFault": { - "base": "

The DB upgrade failed because a resource the DB depends on could not be modified.

", - "refs": { - } - }, - "DeleteDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBInstanceResult": { - "base": null, - "refs": { - } - }, - "DeleteDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBSecurityGroupMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "DeleteDBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "DeleteEventSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "DeleteEventSubscriptionResult": { - "base": null, - "refs": { - } - }, - "DeleteOptionGroupMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBEngineVersionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBInstancesMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBLogFilesDetails": { - "base": null, - "refs": { - "DescribeDBLogFilesList$member": null - } - }, - "DescribeDBLogFilesList": { - "base": null, - "refs": { - "DescribeDBLogFilesResponse$DescribeDBLogFiles": null - } - }, - "DescribeDBLogFilesMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBLogFilesResponse": { - "base": null, - "refs": { - } - }, - "DescribeDBParameterGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBParametersMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBSecurityGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBSnapshotsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBSubnetGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeEngineDefaultParametersMessage": { - "base": null, - "refs": { - } - }, - "DescribeEngineDefaultParametersResult": { - "base": null, - "refs": { - } - }, - "DescribeEventCategoriesMessage": { - "base": null, - "refs": { - } - }, - "DescribeEventSubscriptionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeEventsMessage": { - "base": null, - "refs": { - } - }, - "DescribeOptionGroupOptionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeOptionGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeOrderableDBInstanceOptionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeReservedDBInstancesMessage": { - "base": null, - "refs": { - } - }, - "DescribeReservedDBInstancesOfferingsMessage": { - "base": null, - "refs": { - } - }, - "Double": { - "base": null, - "refs": { - "RecurringCharge$RecurringChargeAmount": null, - "ReservedDBInstance$FixedPrice": null, - "ReservedDBInstance$UsagePrice": null, - "ReservedDBInstancesOffering$FixedPrice": null, - "ReservedDBInstancesOffering$UsagePrice": null - } - }, - "DownloadDBLogFilePortionDetails": { - "base": null, - "refs": { - } - }, - "DownloadDBLogFilePortionMessage": { - "base": null, - "refs": { - } - }, - "EC2SecurityGroup": { - "base": null, - "refs": { - "EC2SecurityGroupList$member": null - } - }, - "EC2SecurityGroupList": { - "base": null, - "refs": { - "DBSecurityGroup$EC2SecurityGroups": null - } - }, - "Endpoint": { - "base": null, - "refs": { - "DBInstance$Endpoint": null - } - }, - "EngineDefaults": { - "base": null, - "refs": { - "DescribeEngineDefaultParametersResult$EngineDefaults": null - } - }, - "Event": { - "base": null, - "refs": { - "EventList$member": null - } - }, - "EventCategoriesList": { - "base": null, - "refs": { - "CreateEventSubscriptionMessage$EventCategories": null, - "DescribeEventsMessage$EventCategories": null, - "Event$EventCategories": null, - "EventCategoriesMap$EventCategories": null, - "EventSubscription$EventCategoriesList": null, - "ModifyEventSubscriptionMessage$EventCategories": null - } - }, - "EventCategoriesMap": { - "base": null, - "refs": { - "EventCategoriesMapList$member": null - } - }, - "EventCategoriesMapList": { - "base": null, - "refs": { - "EventCategoriesMessage$EventCategoriesMapList": null - } - }, - "EventCategoriesMessage": { - "base": null, - "refs": { - } - }, - "EventList": { - "base": null, - "refs": { - "EventsMessage$Events": null - } - }, - "EventSubscription": { - "base": null, - "refs": { - "AddSourceIdentifierToSubscriptionResult$EventSubscription": null, - "CreateEventSubscriptionResult$EventSubscription": null, - "DeleteEventSubscriptionResult$EventSubscription": null, - "EventSubscriptionsList$member": null, - "ModifyEventSubscriptionResult$EventSubscription": null, - "RemoveSourceIdentifierFromSubscriptionResult$EventSubscription": null - } - }, - "EventSubscriptionQuotaExceededFault": { - "base": "

You have reached the maximum number of event subscriptions.

", - "refs": { - } - }, - "EventSubscriptionsList": { - "base": null, - "refs": { - "EventSubscriptionsMessage$EventSubscriptionsList": null - } - }, - "EventSubscriptionsMessage": { - "base": null, - "refs": { - } - }, - "EventsMessage": { - "base": null, - "refs": { - } - }, - "Filter": { - "base": null, - "refs": { - "FilterList$member": null - } - }, - "FilterList": { - "base": null, - "refs": { - "DescribeDBEngineVersionsMessage$Filters": null, - "DescribeDBInstancesMessage$Filters": null, - "DescribeDBLogFilesMessage$Filters": null, - "DescribeDBParameterGroupsMessage$Filters": null, - "DescribeDBParametersMessage$Filters": null, - "DescribeDBSecurityGroupsMessage$Filters": null, - "DescribeDBSnapshotsMessage$Filters": null, - "DescribeDBSubnetGroupsMessage$Filters": null, - "DescribeEngineDefaultParametersMessage$Filters": null, - "DescribeEventCategoriesMessage$Filters": null, - "DescribeEventSubscriptionsMessage$Filters": null, - "DescribeEventsMessage$Filters": null, - "DescribeOptionGroupOptionsMessage$Filters": null, - "DescribeOptionGroupsMessage$Filters": null, - "DescribeOrderableDBInstanceOptionsMessage$Filters": null, - "DescribeReservedDBInstancesMessage$Filters": null, - "DescribeReservedDBInstancesOfferingsMessage$Filters": null, - "ListTagsForResourceMessage$Filters": null - } - }, - "FilterValueList": { - "base": null, - "refs": { - "Filter$Values": null - } - }, - "IPRange": { - "base": null, - "refs": { - "IPRangeList$member": null - } - }, - "IPRangeList": { - "base": null, - "refs": { - "DBSecurityGroup$IPRanges": null - } - }, - "InstanceQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB instances.

", - "refs": { - } - }, - "InsufficientDBInstanceCapacityFault": { - "base": "

Specified DB instance class is not available in the specified Availability Zone.

", - "refs": { - } - }, - "Integer": { - "base": null, - "refs": { - "DBInstance$AllocatedStorage": null, - "DBInstance$BackupRetentionPeriod": null, - "DBSnapshot$AllocatedStorage": null, - "DBSnapshot$Port": null, - "DBSnapshot$PercentProgress": null, - "DownloadDBLogFilePortionMessage$NumberOfLines": null, - "Endpoint$Port": null, - "ReservedDBInstance$Duration": null, - "ReservedDBInstance$DBInstanceCount": null, - "ReservedDBInstancesOffering$Duration": null - } - }, - "IntegerOptional": { - "base": null, - "refs": { - "CreateDBInstanceMessage$AllocatedStorage": null, - "CreateDBInstanceMessage$BackupRetentionPeriod": null, - "CreateDBInstanceMessage$Port": null, - "CreateDBInstanceMessage$Iops": null, - "CreateDBInstanceReadReplicaMessage$Port": null, - "CreateDBInstanceReadReplicaMessage$Iops": null, - "DBInstance$Iops": null, - "DBSnapshot$Iops": null, - "DescribeDBEngineVersionsMessage$MaxRecords": null, - "DescribeDBInstancesMessage$MaxRecords": null, - "DescribeDBLogFilesMessage$MaxRecords": null, - "DescribeDBParameterGroupsMessage$MaxRecords": null, - "DescribeDBParametersMessage$MaxRecords": null, - "DescribeDBSecurityGroupsMessage$MaxRecords": null, - "DescribeDBSnapshotsMessage$MaxRecords": null, - "DescribeDBSubnetGroupsMessage$MaxRecords": null, - "DescribeEngineDefaultParametersMessage$MaxRecords": null, - "DescribeEventSubscriptionsMessage$MaxRecords": null, - "DescribeEventsMessage$Duration": null, - "DescribeEventsMessage$MaxRecords": null, - "DescribeOptionGroupOptionsMessage$MaxRecords": null, - "DescribeOptionGroupsMessage$MaxRecords": null, - "DescribeOrderableDBInstanceOptionsMessage$MaxRecords": null, - "DescribeReservedDBInstancesMessage$MaxRecords": null, - "DescribeReservedDBInstancesOfferingsMessage$MaxRecords": null, - "ModifyDBInstanceMessage$AllocatedStorage": null, - "ModifyDBInstanceMessage$BackupRetentionPeriod": null, - "ModifyDBInstanceMessage$Iops": null, - "Option$Port": null, - "OptionConfiguration$Port": null, - "OptionGroupOption$DefaultPort": null, - "PendingModifiedValues$AllocatedStorage": null, - "PendingModifiedValues$Port": null, - "PendingModifiedValues$BackupRetentionPeriod": null, - "PendingModifiedValues$Iops": null, - "PromoteReadReplicaMessage$BackupRetentionPeriod": null, - "PurchaseReservedDBInstancesOfferingMessage$DBInstanceCount": null, - "RestoreDBInstanceFromDBSnapshotMessage$Port": null, - "RestoreDBInstanceFromDBSnapshotMessage$Iops": null, - "RestoreDBInstanceToPointInTimeMessage$Port": null, - "RestoreDBInstanceToPointInTimeMessage$Iops": null - } - }, - "InvalidDBInstanceStateFault": { - "base": "

The specified DB instance is not in the available state.

", - "refs": { - } - }, - "InvalidDBParameterGroupStateFault": { - "base": "

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.

", - "refs": { - } - }, - "InvalidDBSecurityGroupStateFault": { - "base": "

The state of the DB security group does not allow deletion.

", - "refs": { - } - }, - "InvalidDBSnapshotStateFault": { - "base": "

The state of the DB snapshot does not allow deletion.

", - "refs": { - } - }, - "InvalidDBSubnetGroupFault": { - "base": "

Indicates the DBSubnetGroup does not belong to the same VPC as that of an existing cross region read replica of the same source instance.

", - "refs": { - } - }, - "InvalidDBSubnetGroupStateFault": { - "base": "

The DB subnet group cannot be deleted because it is in use.

", - "refs": { - } - }, - "InvalidDBSubnetStateFault": { - "base": "

The DB subnet is not in the available state.

", - "refs": { - } - }, - "InvalidEventSubscriptionStateFault": { - "base": "

This error can occur if someone else is modifying a subscription. You should retry the action.

", - "refs": { - } - }, - "InvalidOptionGroupStateFault": { - "base": "

The option group is not in the available state.

", - "refs": { - } - }, - "InvalidRestoreFault": { - "base": "

Cannot restore from vpc backup to non-vpc DB instance.

", - "refs": { - } - }, - "InvalidSubnet": { - "base": "

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

", - "refs": { - } - }, - "InvalidVPCNetworkStateFault": { - "base": "

DB subnet group does not cover all Availability Zones after it is created because users' change.

", - "refs": { - } - }, - "KeyList": { - "base": null, - "refs": { - "RemoveTagsFromResourceMessage$TagKeys": null - } - }, - "ListTagsForResourceMessage": { - "base": null, - "refs": { - } - }, - "Long": { - "base": null, - "refs": { - "DescribeDBLogFilesDetails$LastWritten": null, - "DescribeDBLogFilesDetails$Size": null, - "DescribeDBLogFilesMessage$FileLastWritten": null, - "DescribeDBLogFilesMessage$FileSize": null - } - }, - "ModifyDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "ModifyDBInstanceResult": { - "base": null, - "refs": { - } - }, - "ModifyDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "ModifyDBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "ModifyDBSubnetGroupResult": { - "base": null, - "refs": { - } - }, - "ModifyEventSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "ModifyEventSubscriptionResult": { - "base": null, - "refs": { - } - }, - "ModifyOptionGroupMessage": { - "base": null, - "refs": { - } - }, - "ModifyOptionGroupResult": { - "base": null, - "refs": { - } - }, - "Option": { - "base": null, - "refs": { - "OptionsList$member": null - } - }, - "OptionConfiguration": { - "base": null, - "refs": { - "OptionConfigurationList$member": null - } - }, - "OptionConfigurationList": { - "base": null, - "refs": { - "ModifyOptionGroupMessage$OptionsToInclude": null - } - }, - "OptionGroup": { - "base": null, - "refs": { - "CreateOptionGroupResult$OptionGroup": null, - "ModifyOptionGroupResult$OptionGroup": null, - "OptionGroupsList$member": null - } - }, - "OptionGroupAlreadyExistsFault": { - "base": "

The option group you are trying to create already exists.

", - "refs": { - } - }, - "OptionGroupMembership": { - "base": null, - "refs": { - "OptionGroupMembershipList$member": null - } - }, - "OptionGroupMembershipList": { - "base": null, - "refs": { - "DBInstance$OptionGroupMemberships": null - } - }, - "OptionGroupNotFoundFault": { - "base": "

The specified option group could not be found.

", - "refs": { - } - }, - "OptionGroupOption": { - "base": null, - "refs": { - "OptionGroupOptionsList$member": null - } - }, - "OptionGroupOptionSetting": { - "base": null, - "refs": { - "OptionGroupOptionSettingsList$member": null - } - }, - "OptionGroupOptionSettingsList": { - "base": null, - "refs": { - "OptionGroupOption$OptionGroupOptionSettings": null - } - }, - "OptionGroupOptionsList": { - "base": null, - "refs": { - "OptionGroupOptionsMessage$OptionGroupOptions": null - } - }, - "OptionGroupOptionsMessage": { - "base": null, - "refs": { - } - }, - "OptionGroupQuotaExceededFault": { - "base": "

The quota of 20 option groups was exceeded for this AWS account.

", - "refs": { - } - }, - "OptionGroups": { - "base": null, - "refs": { - } - }, - "OptionGroupsList": { - "base": null, - "refs": { - "OptionGroups$OptionGroupsList": null - } - }, - "OptionNamesList": { - "base": null, - "refs": { - "ModifyOptionGroupMessage$OptionsToRemove": null - } - }, - "OptionSetting": { - "base": null, - "refs": { - "OptionSettingConfigurationList$member": null, - "OptionSettingsList$member": null - } - }, - "OptionSettingConfigurationList": { - "base": null, - "refs": { - "Option$OptionSettings": null - } - }, - "OptionSettingsList": { - "base": null, - "refs": { - "OptionConfiguration$OptionSettings": null - } - }, - "OptionsDependedOn": { - "base": null, - "refs": { - "OptionGroupOption$OptionsDependedOn": null - } - }, - "OptionsList": { - "base": null, - "refs": { - "OptionGroup$Options": null - } - }, - "OrderableDBInstanceOption": { - "base": null, - "refs": { - "OrderableDBInstanceOptionsList$member": null - } - }, - "OrderableDBInstanceOptionsList": { - "base": null, - "refs": { - "OrderableDBInstanceOptionsMessage$OrderableDBInstanceOptions": null - } - }, - "OrderableDBInstanceOptionsMessage": { - "base": null, - "refs": { - } - }, - "Parameter": { - "base": null, - "refs": { - "ParametersList$member": null - } - }, - "ParametersList": { - "base": null, - "refs": { - "DBParameterGroupDetails$Parameters": null, - "EngineDefaults$Parameters": null, - "ModifyDBParameterGroupMessage$Parameters": null, - "ResetDBParameterGroupMessage$Parameters": null - } - }, - "PendingModifiedValues": { - "base": null, - "refs": { - "DBInstance$PendingModifiedValues": null - } - }, - "PointInTimeRestoreNotEnabledFault": { - "base": "

SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod equal to 0.

", - "refs": { - } - }, - "PromoteReadReplicaMessage": { - "base": null, - "refs": { - } - }, - "PromoteReadReplicaResult": { - "base": null, - "refs": { - } - }, - "ProvisionedIopsNotAvailableInAZFault": { - "base": "

Provisioned IOPS not available in the specified Availability Zone.

", - "refs": { - } - }, - "PurchaseReservedDBInstancesOfferingMessage": { - "base": null, - "refs": { - } - }, - "PurchaseReservedDBInstancesOfferingResult": { - "base": null, - "refs": { - } - }, - "ReadReplicaDBInstanceIdentifierList": { - "base": null, - "refs": { - "DBInstance$ReadReplicaDBInstanceIdentifiers": null - } - }, - "RebootDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "RebootDBInstanceResult": { - "base": null, - "refs": { - } - }, - "RecurringCharge": { - "base": null, - "refs": { - "RecurringChargeList$member": null - } - }, - "RecurringChargeList": { - "base": null, - "refs": { - "ReservedDBInstance$RecurringCharges": null, - "ReservedDBInstancesOffering$RecurringCharges": null - } - }, - "RemoveSourceIdentifierFromSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "RemoveSourceIdentifierFromSubscriptionResult": { - "base": null, - "refs": { - } - }, - "RemoveTagsFromResourceMessage": { - "base": null, - "refs": { - } - }, - "ReservedDBInstance": { - "base": null, - "refs": { - "PurchaseReservedDBInstancesOfferingResult$ReservedDBInstance": null, - "ReservedDBInstanceList$member": null - } - }, - "ReservedDBInstanceAlreadyExistsFault": { - "base": "

User already has a reservation with the given identifier.

", - "refs": { - } - }, - "ReservedDBInstanceList": { - "base": null, - "refs": { - "ReservedDBInstanceMessage$ReservedDBInstances": null - } - }, - "ReservedDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "ReservedDBInstanceNotFoundFault": { - "base": "

The specified reserved DB Instance not found.

", - "refs": { - } - }, - "ReservedDBInstanceQuotaExceededFault": { - "base": "

Request would exceed the user's DB Instance quota.

", - "refs": { - } - }, - "ReservedDBInstancesOffering": { - "base": null, - "refs": { - "ReservedDBInstancesOfferingList$member": null - } - }, - "ReservedDBInstancesOfferingList": { - "base": null, - "refs": { - "ReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferings": null - } - }, - "ReservedDBInstancesOfferingMessage": { - "base": null, - "refs": { - } - }, - "ReservedDBInstancesOfferingNotFoundFault": { - "base": "

Specified offering does not exist.

", - "refs": { - } - }, - "ResetDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceFromDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceFromDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceToPointInTimeMessage": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceToPointInTimeResult": { - "base": null, - "refs": { - } - }, - "RevokeDBSecurityGroupIngressMessage": { - "base": null, - "refs": { - } - }, - "RevokeDBSecurityGroupIngressResult": { - "base": null, - "refs": { - } - }, - "SNSInvalidTopicFault": { - "base": "

SNS has responded that there is a problem with the SND topic specified.

", - "refs": { - } - }, - "SNSNoAuthorizationFault": { - "base": "

You do not have permission to publish to the SNS topic ARN.

", - "refs": { - } - }, - "SNSTopicArnNotFoundFault": { - "base": "

The SNS topic ARN does not exist.

", - "refs": { - } - }, - "SnapshotQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB snapshots.

", - "refs": { - } - }, - "SourceIdsList": { - "base": null, - "refs": { - "CreateEventSubscriptionMessage$SourceIds": null, - "EventSubscription$SourceIdsList": null - } - }, - "SourceNotFoundFault": { - "base": "

The requested source could not be found.

", - "refs": { - } - }, - "SourceType": { - "base": null, - "refs": { - "DescribeEventsMessage$SourceType": null, - "Event$SourceType": null - } - }, - "StorageQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed amount of storage available across all DB instances.

", - "refs": { - } - }, - "String": { - "base": null, - "refs": { - "AddSourceIdentifierToSubscriptionMessage$SubscriptionName": null, - "AddSourceIdentifierToSubscriptionMessage$SourceIdentifier": null, - "AddTagsToResourceMessage$ResourceName": null, - "AuthorizeDBSecurityGroupIngressMessage$DBSecurityGroupName": null, - "AuthorizeDBSecurityGroupIngressMessage$CIDRIP": null, - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupName": null, - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupId": null, - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupOwnerId": null, - "AvailabilityZone$Name": null, - "CharacterSet$CharacterSetName": null, - "CharacterSet$CharacterSetDescription": null, - "CopyDBSnapshotMessage$SourceDBSnapshotIdentifier": null, - "CopyDBSnapshotMessage$TargetDBSnapshotIdentifier": null, - "CreateDBInstanceMessage$DBName": null, - "CreateDBInstanceMessage$DBInstanceIdentifier": null, - "CreateDBInstanceMessage$DBInstanceClass": null, - "CreateDBInstanceMessage$Engine": null, - "CreateDBInstanceMessage$MasterUsername": null, - "CreateDBInstanceMessage$MasterUserPassword": null, - "CreateDBInstanceMessage$AvailabilityZone": null, - "CreateDBInstanceMessage$DBSubnetGroupName": null, - "CreateDBInstanceMessage$PreferredMaintenanceWindow": null, - "CreateDBInstanceMessage$DBParameterGroupName": null, - "CreateDBInstanceMessage$PreferredBackupWindow": null, - "CreateDBInstanceMessage$EngineVersion": null, - "CreateDBInstanceMessage$LicenseModel": null, - "CreateDBInstanceMessage$OptionGroupName": null, - "CreateDBInstanceMessage$CharacterSetName": null, - "CreateDBInstanceReadReplicaMessage$DBInstanceIdentifier": null, - "CreateDBInstanceReadReplicaMessage$SourceDBInstanceIdentifier": null, - "CreateDBInstanceReadReplicaMessage$DBInstanceClass": null, - "CreateDBInstanceReadReplicaMessage$AvailabilityZone": null, - "CreateDBInstanceReadReplicaMessage$OptionGroupName": null, - "CreateDBInstanceReadReplicaMessage$DBSubnetGroupName": null, - "CreateDBParameterGroupMessage$DBParameterGroupName": null, - "CreateDBParameterGroupMessage$DBParameterGroupFamily": null, - "CreateDBParameterGroupMessage$Description": null, - "CreateDBSecurityGroupMessage$DBSecurityGroupName": null, - "CreateDBSecurityGroupMessage$DBSecurityGroupDescription": null, - "CreateDBSnapshotMessage$DBSnapshotIdentifier": null, - "CreateDBSnapshotMessage$DBInstanceIdentifier": null, - "CreateDBSubnetGroupMessage$DBSubnetGroupName": null, - "CreateDBSubnetGroupMessage$DBSubnetGroupDescription": null, - "CreateEventSubscriptionMessage$SubscriptionName": null, - "CreateEventSubscriptionMessage$SnsTopicArn": null, - "CreateEventSubscriptionMessage$SourceType": null, - "CreateOptionGroupMessage$OptionGroupName": null, - "CreateOptionGroupMessage$EngineName": null, - "CreateOptionGroupMessage$MajorEngineVersion": null, - "CreateOptionGroupMessage$OptionGroupDescription": null, - "DBEngineVersion$Engine": null, - "DBEngineVersion$EngineVersion": null, - "DBEngineVersion$DBParameterGroupFamily": null, - "DBEngineVersion$DBEngineDescription": null, - "DBEngineVersion$DBEngineVersionDescription": null, - "DBEngineVersionMessage$Marker": null, - "DBInstance$DBInstanceIdentifier": null, - "DBInstance$DBInstanceClass": null, - "DBInstance$Engine": null, - "DBInstance$DBInstanceStatus": null, - "DBInstance$MasterUsername": null, - "DBInstance$DBName": null, - "DBInstance$PreferredBackupWindow": null, - "DBInstance$AvailabilityZone": null, - "DBInstance$PreferredMaintenanceWindow": null, - "DBInstance$EngineVersion": null, - "DBInstance$ReadReplicaSourceDBInstanceIdentifier": null, - "DBInstance$LicenseModel": null, - "DBInstance$CharacterSetName": null, - "DBInstance$SecondaryAvailabilityZone": null, - "DBInstanceMessage$Marker": null, - "DBInstanceStatusInfo$StatusType": null, - "DBInstanceStatusInfo$Status": null, - "DBInstanceStatusInfo$Message": null, - "DBParameterGroup$DBParameterGroupName": null, - "DBParameterGroup$DBParameterGroupFamily": null, - "DBParameterGroup$Description": null, - "DBParameterGroupDetails$Marker": null, - "DBParameterGroupNameMessage$DBParameterGroupName": null, - "DBParameterGroupStatus$DBParameterGroupName": null, - "DBParameterGroupStatus$ParameterApplyStatus": null, - "DBParameterGroupsMessage$Marker": null, - "DBSecurityGroup$OwnerId": null, - "DBSecurityGroup$DBSecurityGroupName": null, - "DBSecurityGroup$DBSecurityGroupDescription": null, - "DBSecurityGroup$VpcId": null, - "DBSecurityGroupMembership$DBSecurityGroupName": null, - "DBSecurityGroupMembership$Status": null, - "DBSecurityGroupMessage$Marker": null, - "DBSecurityGroupNameList$member": null, - "DBSnapshot$DBSnapshotIdentifier": null, - "DBSnapshot$DBInstanceIdentifier": null, - "DBSnapshot$Engine": null, - "DBSnapshot$Status": null, - "DBSnapshot$AvailabilityZone": null, - "DBSnapshot$VpcId": null, - "DBSnapshot$MasterUsername": null, - "DBSnapshot$EngineVersion": null, - "DBSnapshot$LicenseModel": null, - "DBSnapshot$SnapshotType": null, - "DBSnapshot$OptionGroupName": null, - "DBSnapshot$SourceRegion": null, - "DBSnapshotMessage$Marker": null, - "DBSubnetGroup$DBSubnetGroupName": null, - "DBSubnetGroup$DBSubnetGroupDescription": null, - "DBSubnetGroup$VpcId": null, - "DBSubnetGroup$SubnetGroupStatus": null, - "DBSubnetGroupMessage$Marker": null, - "DeleteDBInstanceMessage$DBInstanceIdentifier": null, - "DeleteDBInstanceMessage$FinalDBSnapshotIdentifier": null, - "DeleteDBParameterGroupMessage$DBParameterGroupName": null, - "DeleteDBSecurityGroupMessage$DBSecurityGroupName": null, - "DeleteDBSnapshotMessage$DBSnapshotIdentifier": null, - "DeleteDBSubnetGroupMessage$DBSubnetGroupName": null, - "DeleteEventSubscriptionMessage$SubscriptionName": null, - "DeleteOptionGroupMessage$OptionGroupName": null, - "DescribeDBEngineVersionsMessage$Engine": null, - "DescribeDBEngineVersionsMessage$EngineVersion": null, - "DescribeDBEngineVersionsMessage$DBParameterGroupFamily": null, - "DescribeDBEngineVersionsMessage$Marker": null, - "DescribeDBInstancesMessage$DBInstanceIdentifier": null, - "DescribeDBInstancesMessage$Marker": null, - "DescribeDBLogFilesDetails$LogFileName": null, - "DescribeDBLogFilesMessage$DBInstanceIdentifier": null, - "DescribeDBLogFilesMessage$FilenameContains": null, - "DescribeDBLogFilesMessage$Marker": null, - "DescribeDBLogFilesResponse$Marker": null, - "DescribeDBParameterGroupsMessage$DBParameterGroupName": null, - "DescribeDBParameterGroupsMessage$Marker": null, - "DescribeDBParametersMessage$DBParameterGroupName": null, - "DescribeDBParametersMessage$Source": null, - "DescribeDBParametersMessage$Marker": null, - "DescribeDBSecurityGroupsMessage$DBSecurityGroupName": null, - "DescribeDBSecurityGroupsMessage$Marker": null, - "DescribeDBSnapshotsMessage$DBInstanceIdentifier": null, - "DescribeDBSnapshotsMessage$DBSnapshotIdentifier": null, - "DescribeDBSnapshotsMessage$SnapshotType": null, - "DescribeDBSnapshotsMessage$Marker": null, - "DescribeDBSubnetGroupsMessage$DBSubnetGroupName": null, - "DescribeDBSubnetGroupsMessage$Marker": null, - "DescribeEngineDefaultParametersMessage$DBParameterGroupFamily": null, - "DescribeEngineDefaultParametersMessage$Marker": null, - "DescribeEventCategoriesMessage$SourceType": null, - "DescribeEventSubscriptionsMessage$SubscriptionName": null, - "DescribeEventSubscriptionsMessage$Marker": null, - "DescribeEventsMessage$SourceIdentifier": null, - "DescribeEventsMessage$Marker": null, - "DescribeOptionGroupOptionsMessage$EngineName": null, - "DescribeOptionGroupOptionsMessage$MajorEngineVersion": null, - "DescribeOptionGroupOptionsMessage$Marker": null, - "DescribeOptionGroupsMessage$OptionGroupName": null, - "DescribeOptionGroupsMessage$Marker": null, - "DescribeOptionGroupsMessage$EngineName": null, - "DescribeOptionGroupsMessage$MajorEngineVersion": null, - "DescribeOrderableDBInstanceOptionsMessage$Engine": null, - "DescribeOrderableDBInstanceOptionsMessage$EngineVersion": null, - "DescribeOrderableDBInstanceOptionsMessage$DBInstanceClass": null, - "DescribeOrderableDBInstanceOptionsMessage$LicenseModel": null, - "DescribeOrderableDBInstanceOptionsMessage$Marker": null, - "DescribeReservedDBInstancesMessage$ReservedDBInstanceId": null, - "DescribeReservedDBInstancesMessage$ReservedDBInstancesOfferingId": null, - "DescribeReservedDBInstancesMessage$DBInstanceClass": null, - "DescribeReservedDBInstancesMessage$Duration": null, - "DescribeReservedDBInstancesMessage$ProductDescription": null, - "DescribeReservedDBInstancesMessage$OfferingType": null, - "DescribeReservedDBInstancesMessage$Marker": null, - "DescribeReservedDBInstancesOfferingsMessage$ReservedDBInstancesOfferingId": null, - "DescribeReservedDBInstancesOfferingsMessage$DBInstanceClass": null, - "DescribeReservedDBInstancesOfferingsMessage$Duration": null, - "DescribeReservedDBInstancesOfferingsMessage$ProductDescription": null, - "DescribeReservedDBInstancesOfferingsMessage$OfferingType": null, - "DescribeReservedDBInstancesOfferingsMessage$Marker": null, - "DownloadDBLogFilePortionDetails$LogFileData": null, - "DownloadDBLogFilePortionDetails$Marker": null, - "DownloadDBLogFilePortionMessage$DBInstanceIdentifier": null, - "DownloadDBLogFilePortionMessage$LogFileName": null, - "DownloadDBLogFilePortionMessage$Marker": null, - "EC2SecurityGroup$Status": null, - "EC2SecurityGroup$EC2SecurityGroupName": null, - "EC2SecurityGroup$EC2SecurityGroupId": null, - "EC2SecurityGroup$EC2SecurityGroupOwnerId": null, - "Endpoint$Address": null, - "EngineDefaults$DBParameterGroupFamily": null, - "EngineDefaults$Marker": null, - "Event$SourceIdentifier": null, - "Event$Message": null, - "EventCategoriesList$member": null, - "EventCategoriesMap$SourceType": null, - "EventSubscription$CustomerAwsId": null, - "EventSubscription$CustSubscriptionId": null, - "EventSubscription$SnsTopicArn": null, - "EventSubscription$Status": null, - "EventSubscription$SubscriptionCreationTime": null, - "EventSubscription$SourceType": null, - "EventSubscriptionsMessage$Marker": null, - "EventsMessage$Marker": null, - "Filter$Name": null, - "FilterValueList$member": null, - "IPRange$Status": null, - "IPRange$CIDRIP": null, - "KeyList$member": null, - "ListTagsForResourceMessage$ResourceName": null, - "ModifyDBInstanceMessage$DBInstanceIdentifier": null, - "ModifyDBInstanceMessage$DBInstanceClass": null, - "ModifyDBInstanceMessage$MasterUserPassword": null, - "ModifyDBInstanceMessage$DBParameterGroupName": null, - "ModifyDBInstanceMessage$PreferredBackupWindow": null, - "ModifyDBInstanceMessage$PreferredMaintenanceWindow": null, - "ModifyDBInstanceMessage$EngineVersion": null, - "ModifyDBInstanceMessage$OptionGroupName": null, - "ModifyDBInstanceMessage$NewDBInstanceIdentifier": null, - "ModifyDBParameterGroupMessage$DBParameterGroupName": null, - "ModifyDBSubnetGroupMessage$DBSubnetGroupName": null, - "ModifyDBSubnetGroupMessage$DBSubnetGroupDescription": null, - "ModifyEventSubscriptionMessage$SubscriptionName": null, - "ModifyEventSubscriptionMessage$SnsTopicArn": null, - "ModifyEventSubscriptionMessage$SourceType": null, - "ModifyOptionGroupMessage$OptionGroupName": null, - "Option$OptionName": null, - "Option$OptionDescription": null, - "OptionConfiguration$OptionName": null, - "OptionGroup$OptionGroupName": null, - "OptionGroup$OptionGroupDescription": null, - "OptionGroup$EngineName": null, - "OptionGroup$MajorEngineVersion": null, - "OptionGroup$VpcId": null, - "OptionGroupMembership$OptionGroupName": null, - "OptionGroupMembership$Status": null, - "OptionGroupOption$Name": null, - "OptionGroupOption$Description": null, - "OptionGroupOption$EngineName": null, - "OptionGroupOption$MajorEngineVersion": null, - "OptionGroupOption$MinimumRequiredMinorEngineVersion": null, - "OptionGroupOptionSetting$SettingName": null, - "OptionGroupOptionSetting$SettingDescription": null, - "OptionGroupOptionSetting$DefaultValue": null, - "OptionGroupOptionSetting$ApplyType": null, - "OptionGroupOptionSetting$AllowedValues": null, - "OptionGroupOptionsMessage$Marker": null, - "OptionGroups$Marker": null, - "OptionNamesList$member": null, - "OptionSetting$Name": null, - "OptionSetting$Value": null, - "OptionSetting$DefaultValue": null, - "OptionSetting$Description": null, - "OptionSetting$ApplyType": null, - "OptionSetting$DataType": null, - "OptionSetting$AllowedValues": null, - "OptionsDependedOn$member": null, - "OrderableDBInstanceOption$Engine": null, - "OrderableDBInstanceOption$EngineVersion": null, - "OrderableDBInstanceOption$DBInstanceClass": null, - "OrderableDBInstanceOption$LicenseModel": null, - "OrderableDBInstanceOptionsMessage$Marker": null, - "Parameter$ParameterName": null, - "Parameter$ParameterValue": null, - "Parameter$Description": null, - "Parameter$Source": null, - "Parameter$ApplyType": null, - "Parameter$DataType": null, - "Parameter$AllowedValues": null, - "Parameter$MinimumEngineVersion": null, - "PendingModifiedValues$DBInstanceClass": null, - "PendingModifiedValues$MasterUserPassword": null, - "PendingModifiedValues$EngineVersion": null, - "PendingModifiedValues$DBInstanceIdentifier": null, - "PromoteReadReplicaMessage$DBInstanceIdentifier": null, - "PromoteReadReplicaMessage$PreferredBackupWindow": null, - "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferingId": null, - "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstanceId": null, - "ReadReplicaDBInstanceIdentifierList$member": null, - "RebootDBInstanceMessage$DBInstanceIdentifier": null, - "RecurringCharge$RecurringChargeFrequency": null, - "RemoveSourceIdentifierFromSubscriptionMessage$SubscriptionName": null, - "RemoveSourceIdentifierFromSubscriptionMessage$SourceIdentifier": null, - "RemoveTagsFromResourceMessage$ResourceName": null, - "ReservedDBInstance$ReservedDBInstanceId": null, - "ReservedDBInstance$ReservedDBInstancesOfferingId": null, - "ReservedDBInstance$DBInstanceClass": null, - "ReservedDBInstance$CurrencyCode": null, - "ReservedDBInstance$ProductDescription": null, - "ReservedDBInstance$OfferingType": null, - "ReservedDBInstance$State": null, - "ReservedDBInstanceMessage$Marker": null, - "ReservedDBInstancesOffering$ReservedDBInstancesOfferingId": null, - "ReservedDBInstancesOffering$DBInstanceClass": null, - "ReservedDBInstancesOffering$CurrencyCode": null, - "ReservedDBInstancesOffering$ProductDescription": null, - "ReservedDBInstancesOffering$OfferingType": null, - "ReservedDBInstancesOfferingMessage$Marker": null, - "ResetDBParameterGroupMessage$DBParameterGroupName": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceIdentifier": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBSnapshotIdentifier": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceClass": null, - "RestoreDBInstanceFromDBSnapshotMessage$AvailabilityZone": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBSubnetGroupName": null, - "RestoreDBInstanceFromDBSnapshotMessage$LicenseModel": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBName": null, - "RestoreDBInstanceFromDBSnapshotMessage$Engine": null, - "RestoreDBInstanceFromDBSnapshotMessage$OptionGroupName": null, - "RestoreDBInstanceToPointInTimeMessage$SourceDBInstanceIdentifier": null, - "RestoreDBInstanceToPointInTimeMessage$TargetDBInstanceIdentifier": null, - "RestoreDBInstanceToPointInTimeMessage$DBInstanceClass": null, - "RestoreDBInstanceToPointInTimeMessage$AvailabilityZone": null, - "RestoreDBInstanceToPointInTimeMessage$DBSubnetGroupName": null, - "RestoreDBInstanceToPointInTimeMessage$LicenseModel": null, - "RestoreDBInstanceToPointInTimeMessage$DBName": null, - "RestoreDBInstanceToPointInTimeMessage$Engine": null, - "RestoreDBInstanceToPointInTimeMessage$OptionGroupName": null, - "RevokeDBSecurityGroupIngressMessage$DBSecurityGroupName": null, - "RevokeDBSecurityGroupIngressMessage$CIDRIP": null, - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupName": null, - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupId": null, - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupOwnerId": null, - "SourceIdsList$member": null, - "Subnet$SubnetIdentifier": null, - "Subnet$SubnetStatus": null, - "SubnetIdentifierList$member": null, - "Tag$Key": null, - "Tag$Value": null, - "VpcSecurityGroupIdList$member": null, - "VpcSecurityGroupMembership$VpcSecurityGroupId": null, - "VpcSecurityGroupMembership$Status": null - } - }, - "Subnet": { - "base": null, - "refs": { - "SubnetList$member": null - } - }, - "SubnetAlreadyInUse": { - "base": "

The DB subnet is already in use in the Availability Zone.

", - "refs": { - } - }, - "SubnetIdentifierList": { - "base": null, - "refs": { - "CreateDBSubnetGroupMessage$SubnetIds": null, - "ModifyDBSubnetGroupMessage$SubnetIds": null - } - }, - "SubnetList": { - "base": null, - "refs": { - "DBSubnetGroup$Subnets": null - } - }, - "SubscriptionAlreadyExistFault": { - "base": "

The supplied subscription name already exists.

", - "refs": { - } - }, - "SubscriptionCategoryNotFoundFault": { - "base": "

The supplied category does not exist.

", - "refs": { - } - }, - "SubscriptionNotFoundFault": { - "base": "

The subscription name does not exist.

", - "refs": { - } - }, - "SupportedCharacterSetsList": { - "base": null, - "refs": { - "DBEngineVersion$SupportedCharacterSets": null - } - }, - "TStamp": { - "base": null, - "refs": { - "DBInstance$InstanceCreateTime": null, - "DBInstance$LatestRestorableTime": null, - "DBSnapshot$SnapshotCreateTime": null, - "DBSnapshot$InstanceCreateTime": null, - "DescribeEventsMessage$StartTime": null, - "DescribeEventsMessage$EndTime": null, - "Event$Date": null, - "ReservedDBInstance$StartTime": null, - "RestoreDBInstanceToPointInTimeMessage$RestoreTime": null - } - }, - "Tag": { - "base": null, - "refs": { - "TagList$member": null - } - }, - "TagList": { - "base": null, - "refs": { - "AddTagsToResourceMessage$Tags": null, - "CopyDBSnapshotMessage$Tags": null, - "CreateDBInstanceMessage$Tags": null, - "CreateDBInstanceReadReplicaMessage$Tags": null, - "CreateDBParameterGroupMessage$Tags": null, - "CreateDBSecurityGroupMessage$Tags": null, - "CreateDBSnapshotMessage$Tags": null, - "CreateDBSubnetGroupMessage$Tags": null, - "CreateEventSubscriptionMessage$Tags": null, - "CreateOptionGroupMessage$Tags": null, - "PurchaseReservedDBInstancesOfferingMessage$Tags": null, - "RestoreDBInstanceFromDBSnapshotMessage$Tags": null, - "RestoreDBInstanceToPointInTimeMessage$Tags": null, - "TagListMessage$TagList": null - } - }, - "TagListMessage": { - "base": null, - "refs": { - } - }, - "VpcSecurityGroupIdList": { - "base": null, - "refs": { - "CreateDBInstanceMessage$VpcSecurityGroupIds": null, - "ModifyDBInstanceMessage$VpcSecurityGroupIds": null, - "OptionConfiguration$VpcSecurityGroupMemberships": null - } - }, - "VpcSecurityGroupMembership": { - "base": null, - "refs": { - "VpcSecurityGroupMembershipList$member": null - } - }, - "VpcSecurityGroupMembershipList": { - "base": null, - "refs": { - "DBInstance$VpcSecurityGroups": null, - "Option$VpcSecurityGroupMemberships": null - } - } - } -} diff --git a/models/apis/rds/2013-09-09/examples-1.json b/models/apis/rds/2013-09-09/examples-1.json deleted file mode 100644 index 0ea7e3b0bbe..00000000000 --- a/models/apis/rds/2013-09-09/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/models/apis/rds/2013-09-09/paginators-1.json b/models/apis/rds/2013-09-09/paginators-1.json deleted file mode 100644 index c51d8d15b25..00000000000 --- a/models/apis/rds/2013-09-09/paginators-1.json +++ /dev/null @@ -1,110 +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" - }, - "DescribeDBLogFiles": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DescribeDBLogFiles" - }, - "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" - }, - "DescribeDBSecurityGroups": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DBSecurityGroups" - }, - "DescribeDBSnapshots": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DBSnapshots" - }, - "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" - }, - "DescribeOptionGroupOptions": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "OptionGroupOptions" - }, - "DescribeOptionGroups": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "OptionGroupsList" - }, - "DescribeOrderableDBInstanceOptions": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "OrderableDBInstanceOptions" - }, - "DescribeReservedDBInstances": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "ReservedDBInstances" - }, - "DescribeReservedDBInstancesOfferings": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "ReservedDBInstancesOfferings" - }, - "DownloadDBLogFilePortion": { - "input_token": "Marker", - "limit_key": "NumberOfLines", - "more_results": "AdditionalDataPending", - "output_token": "Marker", - "result_key": "LogFileData" - }, - "ListTagsForResource": { - "result_key": "TagList" - } - } -} \ No newline at end of file diff --git a/models/apis/rds/2014-09-01/docs-2.json b/models/apis/rds/2014-09-01/docs-2.json deleted file mode 100644 index 66e4ff9880f..00000000000 --- a/models/apis/rds/2014-09-01/docs-2.json +++ /dev/null @@ -1,1932 +0,0 @@ -{ - "version": "2.0", - "service": null, - "operations": { - "AddSourceIdentifierToSubscription": null, - "AddTagsToResource": null, - "AuthorizeDBSecurityGroupIngress": null, - "CopyDBParameterGroup": null, - "CopyDBSnapshot": null, - "CopyOptionGroup": null, - "CreateDBInstance": null, - "CreateDBInstanceReadReplica": null, - "CreateDBParameterGroup": null, - "CreateDBSecurityGroup": null, - "CreateDBSnapshot": null, - "CreateDBSubnetGroup": null, - "CreateEventSubscription": null, - "CreateOptionGroup": null, - "DeleteDBInstance": null, - "DeleteDBParameterGroup": null, - "DeleteDBSecurityGroup": null, - "DeleteDBSnapshot": null, - "DeleteDBSubnetGroup": null, - "DeleteEventSubscription": null, - "DeleteOptionGroup": null, - "DescribeDBEngineVersions": null, - "DescribeDBInstances": null, - "DescribeDBLogFiles": null, - "DescribeDBParameterGroups": null, - "DescribeDBParameters": null, - "DescribeDBSecurityGroups": null, - "DescribeDBSnapshots": null, - "DescribeDBSubnetGroups": null, - "DescribeEngineDefaultParameters": null, - "DescribeEventCategories": null, - "DescribeEventSubscriptions": null, - "DescribeEvents": null, - "DescribeOptionGroupOptions": null, - "DescribeOptionGroups": null, - "DescribeOrderableDBInstanceOptions": null, - "DescribeReservedDBInstances": null, - "DescribeReservedDBInstancesOfferings": null, - "DownloadDBLogFilePortion": null, - "ListTagsForResource": null, - "ModifyDBInstance": null, - "ModifyDBParameterGroup": null, - "ModifyDBSubnetGroup": null, - "ModifyEventSubscription": null, - "ModifyOptionGroup": null, - "PromoteReadReplica": null, - "PurchaseReservedDBInstancesOffering": null, - "RebootDBInstance": null, - "RemoveSourceIdentifierFromSubscription": null, - "RemoveTagsFromResource": null, - "ResetDBParameterGroup": null, - "RestoreDBInstanceFromDBSnapshot": null, - "RestoreDBInstanceToPointInTime": null, - "RevokeDBSecurityGroupIngress": null - }, - "shapes": { - "AddSourceIdentifierToSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "AddSourceIdentifierToSubscriptionResult": { - "base": null, - "refs": { - } - }, - "AddTagsToResourceMessage": { - "base": null, - "refs": { - } - }, - "ApplyMethod": { - "base": null, - "refs": { - "Parameter$ApplyMethod": null - } - }, - "AuthorizationAlreadyExistsFault": { - "base": "

The specified CIDRIP or EC2 security group is already authorized for the specified DB security group.

", - "refs": { - } - }, - "AuthorizationNotFoundFault": { - "base": "

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.

", - "refs": { - } - }, - "AuthorizationQuotaExceededFault": { - "base": "

DB security group authorization quota has been reached.

", - "refs": { - } - }, - "AuthorizeDBSecurityGroupIngressMessage": { - "base": null, - "refs": { - } - }, - "AuthorizeDBSecurityGroupIngressResult": { - "base": null, - "refs": { - } - }, - "AvailabilityZone": { - "base": null, - "refs": { - "AvailabilityZoneList$member": null, - "Subnet$SubnetAvailabilityZone": null - } - }, - "AvailabilityZoneList": { - "base": null, - "refs": { - "OrderableDBInstanceOption$AvailabilityZones": null - } - }, - "Boolean": { - "base": null, - "refs": { - "DBInstance$MultiAZ": null, - "DBInstance$AutoMinorVersionUpgrade": null, - "DBInstance$PubliclyAccessible": null, - "DBInstanceStatusInfo$Normal": null, - "DeleteDBInstanceMessage$SkipFinalSnapshot": null, - "DescribeDBEngineVersionsMessage$DefaultOnly": null, - "DownloadDBLogFilePortionDetails$AdditionalDataPending": null, - "EventSubscription$Enabled": null, - "ModifyDBInstanceMessage$ApplyImmediately": null, - "ModifyDBInstanceMessage$AllowMajorVersionUpgrade": null, - "ModifyOptionGroupMessage$ApplyImmediately": null, - "Option$Persistent": null, - "Option$Permanent": null, - "OptionGroup$AllowsVpcAndNonVpcInstanceMemberships": null, - "OptionGroupOption$PortRequired": null, - "OptionGroupOption$Persistent": null, - "OptionGroupOption$Permanent": null, - "OptionGroupOptionSetting$IsModifiable": null, - "OptionSetting$IsModifiable": null, - "OptionSetting$IsCollection": null, - "OrderableDBInstanceOption$MultiAZCapable": null, - "OrderableDBInstanceOption$ReadReplicaCapable": null, - "OrderableDBInstanceOption$Vpc": null, - "OrderableDBInstanceOption$SupportsIops": null, - "Parameter$IsModifiable": null, - "ReservedDBInstance$MultiAZ": null, - "ReservedDBInstancesOffering$MultiAZ": null, - "ResetDBParameterGroupMessage$ResetAllParameters": null, - "RestoreDBInstanceToPointInTimeMessage$UseLatestRestorableTime": null - } - }, - "BooleanOptional": { - "base": null, - "refs": { - "CreateDBInstanceMessage$MultiAZ": null, - "CreateDBInstanceMessage$AutoMinorVersionUpgrade": null, - "CreateDBInstanceMessage$PubliclyAccessible": null, - "CreateDBInstanceReadReplicaMessage$AutoMinorVersionUpgrade": null, - "CreateDBInstanceReadReplicaMessage$PubliclyAccessible": null, - "CreateEventSubscriptionMessage$Enabled": null, - "DescribeDBEngineVersionsMessage$ListSupportedCharacterSets": null, - "DescribeOrderableDBInstanceOptionsMessage$Vpc": null, - "DescribeReservedDBInstancesMessage$MultiAZ": null, - "DescribeReservedDBInstancesOfferingsMessage$MultiAZ": null, - "ModifyDBInstanceMessage$MultiAZ": null, - "ModifyDBInstanceMessage$AutoMinorVersionUpgrade": null, - "ModifyEventSubscriptionMessage$Enabled": null, - "PendingModifiedValues$MultiAZ": null, - "RebootDBInstanceMessage$ForceFailover": null, - "RestoreDBInstanceFromDBSnapshotMessage$MultiAZ": null, - "RestoreDBInstanceFromDBSnapshotMessage$PubliclyAccessible": null, - "RestoreDBInstanceFromDBSnapshotMessage$AutoMinorVersionUpgrade": null, - "RestoreDBInstanceToPointInTimeMessage$MultiAZ": null, - "RestoreDBInstanceToPointInTimeMessage$PubliclyAccessible": null, - "RestoreDBInstanceToPointInTimeMessage$AutoMinorVersionUpgrade": null - } - }, - "CharacterSet": { - "base": null, - "refs": { - "DBEngineVersion$DefaultCharacterSet": null, - "SupportedCharacterSetsList$member": null - } - }, - "CopyDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "CopyDBParameterGroupResult": { - "base": null, - "refs": { - } - }, - "CopyDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "CopyDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "CopyOptionGroupMessage": { - "base": null, - "refs": { - } - }, - "CopyOptionGroupResult": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceReadReplicaMessage": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceReadReplicaResult": { - "base": null, - "refs": { - } - }, - "CreateDBInstanceResult": { - "base": null, - "refs": { - } - }, - "CreateDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateDBParameterGroupResult": { - "base": null, - "refs": { - } - }, - "CreateDBSecurityGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateDBSecurityGroupResult": { - "base": null, - "refs": { - } - }, - "CreateDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "CreateDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "CreateDBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateDBSubnetGroupResult": { - "base": null, - "refs": { - } - }, - "CreateEventSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "CreateEventSubscriptionResult": { - "base": null, - "refs": { - } - }, - "CreateOptionGroupMessage": { - "base": null, - "refs": { - } - }, - "CreateOptionGroupResult": { - "base": null, - "refs": { - } - }, - "DBEngineVersion": { - "base": null, - "refs": { - "DBEngineVersionList$member": null - } - }, - "DBEngineVersionList": { - "base": null, - "refs": { - "DBEngineVersionMessage$DBEngineVersions": null - } - }, - "DBEngineVersionMessage": { - "base": null, - "refs": { - } - }, - "DBInstance": { - "base": null, - "refs": { - "CreateDBInstanceReadReplicaResult$DBInstance": null, - "CreateDBInstanceResult$DBInstance": null, - "DBInstanceList$member": null, - "DeleteDBInstanceResult$DBInstance": null, - "ModifyDBInstanceResult$DBInstance": null, - "PromoteReadReplicaResult$DBInstance": null, - "RebootDBInstanceResult$DBInstance": null, - "RestoreDBInstanceFromDBSnapshotResult$DBInstance": null, - "RestoreDBInstanceToPointInTimeResult$DBInstance": null - } - }, - "DBInstanceAlreadyExistsFault": { - "base": "

User already has a DB instance with the given identifier.

", - "refs": { - } - }, - "DBInstanceList": { - "base": null, - "refs": { - "DBInstanceMessage$DBInstances": null - } - }, - "DBInstanceMessage": { - "base": null, - "refs": { - } - }, - "DBInstanceNotFoundFault": { - "base": "

DBInstanceIdentifier does not refer to an existing DB instance.

", - "refs": { - } - }, - "DBInstanceStatusInfo": { - "base": null, - "refs": { - "DBInstanceStatusInfoList$member": null - } - }, - "DBInstanceStatusInfoList": { - "base": null, - "refs": { - "DBInstance$StatusInfos": null - } - }, - "DBLogFileNotFoundFault": { - "base": "

LogFileName does not refer to an existing DB log file.

", - "refs": { - } - }, - "DBParameterGroup": { - "base": null, - "refs": { - "CopyDBParameterGroupResult$DBParameterGroup": null, - "CreateDBParameterGroupResult$DBParameterGroup": null, - "DBParameterGroupList$member": null - } - }, - "DBParameterGroupAlreadyExistsFault": { - "base": "

A DB parameter group with the same name exists.

", - "refs": { - } - }, - "DBParameterGroupDetails": { - "base": null, - "refs": { - } - }, - "DBParameterGroupList": { - "base": null, - "refs": { - "DBParameterGroupsMessage$DBParameterGroups": null - } - }, - "DBParameterGroupNameMessage": { - "base": null, - "refs": { - } - }, - "DBParameterGroupNotFoundFault": { - "base": "

DBParameterGroupName does not refer to an existing DB parameter group.

", - "refs": { - } - }, - "DBParameterGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB parameter groups.

", - "refs": { - } - }, - "DBParameterGroupStatus": { - "base": null, - "refs": { - "DBParameterGroupStatusList$member": null - } - }, - "DBParameterGroupStatusList": { - "base": null, - "refs": { - "DBInstance$DBParameterGroups": null - } - }, - "DBParameterGroupsMessage": { - "base": null, - "refs": { - } - }, - "DBSecurityGroup": { - "base": null, - "refs": { - "AuthorizeDBSecurityGroupIngressResult$DBSecurityGroup": null, - "CreateDBSecurityGroupResult$DBSecurityGroup": null, - "DBSecurityGroups$member": null, - "RevokeDBSecurityGroupIngressResult$DBSecurityGroup": null - } - }, - "DBSecurityGroupAlreadyExistsFault": { - "base": "

A DB security group with the name specified in DBSecurityGroupName already exists.

", - "refs": { - } - }, - "DBSecurityGroupMembership": { - "base": null, - "refs": { - "DBSecurityGroupMembershipList$member": null - } - }, - "DBSecurityGroupMembershipList": { - "base": null, - "refs": { - "DBInstance$DBSecurityGroups": null, - "Option$DBSecurityGroupMemberships": null - } - }, - "DBSecurityGroupMessage": { - "base": null, - "refs": { - } - }, - "DBSecurityGroupNameList": { - "base": null, - "refs": { - "CreateDBInstanceMessage$DBSecurityGroups": null, - "ModifyDBInstanceMessage$DBSecurityGroups": null, - "OptionConfiguration$DBSecurityGroupMemberships": null - } - }, - "DBSecurityGroupNotFoundFault": { - "base": "

DBSecurityGroupName does not refer to an existing DB security group.

", - "refs": { - } - }, - "DBSecurityGroupNotSupportedFault": { - "base": "

A DB security group is not allowed for this action.

", - "refs": { - } - }, - "DBSecurityGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB security groups.

", - "refs": { - } - }, - "DBSecurityGroups": { - "base": null, - "refs": { - "DBSecurityGroupMessage$DBSecurityGroups": null - } - }, - "DBSnapshot": { - "base": null, - "refs": { - "CopyDBSnapshotResult$DBSnapshot": null, - "CreateDBSnapshotResult$DBSnapshot": null, - "DBSnapshotList$member": null, - "DeleteDBSnapshotResult$DBSnapshot": null - } - }, - "DBSnapshotAlreadyExistsFault": { - "base": "

DBSnapshotIdentifier is already used by an existing snapshot.

", - "refs": { - } - }, - "DBSnapshotList": { - "base": null, - "refs": { - "DBSnapshotMessage$DBSnapshots": null - } - }, - "DBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "DBSnapshotNotFoundFault": { - "base": "

DBSnapshotIdentifier does not refer to an existing DB snapshot.

", - "refs": { - } - }, - "DBSubnetGroup": { - "base": null, - "refs": { - "CreateDBSubnetGroupResult$DBSubnetGroup": null, - "DBInstance$DBSubnetGroup": null, - "DBSubnetGroups$member": null, - "ModifyDBSubnetGroupResult$DBSubnetGroup": null - } - }, - "DBSubnetGroupAlreadyExistsFault": { - "base": "

DBSubnetGroupName is already used by an existing DB subnet group.

", - "refs": { - } - }, - "DBSubnetGroupDoesNotCoverEnoughAZs": { - "base": "

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

", - "refs": { - } - }, - "DBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "DBSubnetGroupNotAllowedFault": { - "base": "

Indicates that the DBSubnetGroup should not be specified while creating read replicas that lie in the same region as the source instance.

", - "refs": { - } - }, - "DBSubnetGroupNotFoundFault": { - "base": "

DBSubnetGroupName does not refer to an existing DB subnet group.

", - "refs": { - } - }, - "DBSubnetGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB subnet groups.

", - "refs": { - } - }, - "DBSubnetGroups": { - "base": null, - "refs": { - "DBSubnetGroupMessage$DBSubnetGroups": null - } - }, - "DBSubnetQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of subnets in a DB subnet groups.

", - "refs": { - } - }, - "DBUpgradeDependencyFailureFault": { - "base": "

The DB upgrade failed because a resource the DB depends on could not be modified.

", - "refs": { - } - }, - "DeleteDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBInstanceResult": { - "base": null, - "refs": { - } - }, - "DeleteDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBSecurityGroupMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "DeleteDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "DeleteDBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "DeleteEventSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "DeleteEventSubscriptionResult": { - "base": null, - "refs": { - } - }, - "DeleteOptionGroupMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBEngineVersionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBInstancesMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBLogFilesDetails": { - "base": null, - "refs": { - "DescribeDBLogFilesList$member": null - } - }, - "DescribeDBLogFilesList": { - "base": null, - "refs": { - "DescribeDBLogFilesResponse$DescribeDBLogFiles": null - } - }, - "DescribeDBLogFilesMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBLogFilesResponse": { - "base": null, - "refs": { - } - }, - "DescribeDBParameterGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBParametersMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBSecurityGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBSnapshotsMessage": { - "base": null, - "refs": { - } - }, - "DescribeDBSubnetGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeEngineDefaultParametersMessage": { - "base": null, - "refs": { - } - }, - "DescribeEngineDefaultParametersResult": { - "base": null, - "refs": { - } - }, - "DescribeEventCategoriesMessage": { - "base": null, - "refs": { - } - }, - "DescribeEventSubscriptionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeEventsMessage": { - "base": null, - "refs": { - } - }, - "DescribeOptionGroupOptionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeOptionGroupsMessage": { - "base": null, - "refs": { - } - }, - "DescribeOrderableDBInstanceOptionsMessage": { - "base": null, - "refs": { - } - }, - "DescribeReservedDBInstancesMessage": { - "base": null, - "refs": { - } - }, - "DescribeReservedDBInstancesOfferingsMessage": { - "base": null, - "refs": { - } - }, - "Double": { - "base": null, - "refs": { - "RecurringCharge$RecurringChargeAmount": null, - "ReservedDBInstance$FixedPrice": null, - "ReservedDBInstance$UsagePrice": null, - "ReservedDBInstancesOffering$FixedPrice": null, - "ReservedDBInstancesOffering$UsagePrice": null - } - }, - "DownloadDBLogFilePortionDetails": { - "base": null, - "refs": { - } - }, - "DownloadDBLogFilePortionMessage": { - "base": null, - "refs": { - } - }, - "EC2SecurityGroup": { - "base": null, - "refs": { - "EC2SecurityGroupList$member": null - } - }, - "EC2SecurityGroupList": { - "base": null, - "refs": { - "DBSecurityGroup$EC2SecurityGroups": null - } - }, - "Endpoint": { - "base": null, - "refs": { - "DBInstance$Endpoint": null - } - }, - "EngineDefaults": { - "base": null, - "refs": { - "DescribeEngineDefaultParametersResult$EngineDefaults": null - } - }, - "Event": { - "base": null, - "refs": { - "EventList$member": null - } - }, - "EventCategoriesList": { - "base": null, - "refs": { - "CreateEventSubscriptionMessage$EventCategories": null, - "DescribeEventsMessage$EventCategories": null, - "Event$EventCategories": null, - "EventCategoriesMap$EventCategories": null, - "EventSubscription$EventCategoriesList": null, - "ModifyEventSubscriptionMessage$EventCategories": null - } - }, - "EventCategoriesMap": { - "base": null, - "refs": { - "EventCategoriesMapList$member": null - } - }, - "EventCategoriesMapList": { - "base": null, - "refs": { - "EventCategoriesMessage$EventCategoriesMapList": null - } - }, - "EventCategoriesMessage": { - "base": null, - "refs": { - } - }, - "EventList": { - "base": null, - "refs": { - "EventsMessage$Events": null - } - }, - "EventSubscription": { - "base": null, - "refs": { - "AddSourceIdentifierToSubscriptionResult$EventSubscription": null, - "CreateEventSubscriptionResult$EventSubscription": null, - "DeleteEventSubscriptionResult$EventSubscription": null, - "EventSubscriptionsList$member": null, - "ModifyEventSubscriptionResult$EventSubscription": null, - "RemoveSourceIdentifierFromSubscriptionResult$EventSubscription": null - } - }, - "EventSubscriptionQuotaExceededFault": { - "base": "

You have reached the maximum number of event subscriptions.

", - "refs": { - } - }, - "EventSubscriptionsList": { - "base": null, - "refs": { - "EventSubscriptionsMessage$EventSubscriptionsList": null - } - }, - "EventSubscriptionsMessage": { - "base": null, - "refs": { - } - }, - "EventsMessage": { - "base": null, - "refs": { - } - }, - "Filter": { - "base": null, - "refs": { - "FilterList$member": null - } - }, - "FilterList": { - "base": null, - "refs": { - "DescribeDBEngineVersionsMessage$Filters": null, - "DescribeDBInstancesMessage$Filters": null, - "DescribeDBLogFilesMessage$Filters": null, - "DescribeDBParameterGroupsMessage$Filters": null, - "DescribeDBParametersMessage$Filters": null, - "DescribeDBSecurityGroupsMessage$Filters": null, - "DescribeDBSnapshotsMessage$Filters": null, - "DescribeDBSubnetGroupsMessage$Filters": null, - "DescribeEngineDefaultParametersMessage$Filters": null, - "DescribeEventCategoriesMessage$Filters": null, - "DescribeEventSubscriptionsMessage$Filters": null, - "DescribeEventsMessage$Filters": null, - "DescribeOptionGroupOptionsMessage$Filters": null, - "DescribeOptionGroupsMessage$Filters": null, - "DescribeOrderableDBInstanceOptionsMessage$Filters": null, - "DescribeReservedDBInstancesMessage$Filters": null, - "DescribeReservedDBInstancesOfferingsMessage$Filters": null, - "ListTagsForResourceMessage$Filters": null - } - }, - "FilterValueList": { - "base": null, - "refs": { - "Filter$Values": null - } - }, - "IPRange": { - "base": null, - "refs": { - "IPRangeList$member": null - } - }, - "IPRangeList": { - "base": null, - "refs": { - "DBSecurityGroup$IPRanges": null - } - }, - "InstanceQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB instances.

", - "refs": { - } - }, - "InsufficientDBInstanceCapacityFault": { - "base": "

Specified DB instance class is not available in the specified Availability Zone.

", - "refs": { - } - }, - "Integer": { - "base": null, - "refs": { - "DBInstance$AllocatedStorage": null, - "DBInstance$BackupRetentionPeriod": null, - "DBSnapshot$AllocatedStorage": null, - "DBSnapshot$Port": null, - "DBSnapshot$PercentProgress": null, - "DownloadDBLogFilePortionMessage$NumberOfLines": null, - "Endpoint$Port": null, - "ReservedDBInstance$Duration": null, - "ReservedDBInstance$DBInstanceCount": null, - "ReservedDBInstancesOffering$Duration": null - } - }, - "IntegerOptional": { - "base": null, - "refs": { - "CreateDBInstanceMessage$AllocatedStorage": null, - "CreateDBInstanceMessage$BackupRetentionPeriod": null, - "CreateDBInstanceMessage$Port": null, - "CreateDBInstanceMessage$Iops": null, - "CreateDBInstanceReadReplicaMessage$Port": null, - "CreateDBInstanceReadReplicaMessage$Iops": null, - "DBInstance$Iops": null, - "DBSnapshot$Iops": null, - "DescribeDBEngineVersionsMessage$MaxRecords": null, - "DescribeDBInstancesMessage$MaxRecords": null, - "DescribeDBLogFilesMessage$MaxRecords": null, - "DescribeDBParameterGroupsMessage$MaxRecords": null, - "DescribeDBParametersMessage$MaxRecords": null, - "DescribeDBSecurityGroupsMessage$MaxRecords": null, - "DescribeDBSnapshotsMessage$MaxRecords": null, - "DescribeDBSubnetGroupsMessage$MaxRecords": null, - "DescribeEngineDefaultParametersMessage$MaxRecords": null, - "DescribeEventSubscriptionsMessage$MaxRecords": null, - "DescribeEventsMessage$Duration": null, - "DescribeEventsMessage$MaxRecords": null, - "DescribeOptionGroupOptionsMessage$MaxRecords": null, - "DescribeOptionGroupsMessage$MaxRecords": null, - "DescribeOrderableDBInstanceOptionsMessage$MaxRecords": null, - "DescribeReservedDBInstancesMessage$MaxRecords": null, - "DescribeReservedDBInstancesOfferingsMessage$MaxRecords": null, - "ModifyDBInstanceMessage$AllocatedStorage": null, - "ModifyDBInstanceMessage$BackupRetentionPeriod": null, - "ModifyDBInstanceMessage$Iops": null, - "Option$Port": null, - "OptionConfiguration$Port": null, - "OptionGroupOption$DefaultPort": null, - "PendingModifiedValues$AllocatedStorage": null, - "PendingModifiedValues$Port": null, - "PendingModifiedValues$BackupRetentionPeriod": null, - "PendingModifiedValues$Iops": null, - "PromoteReadReplicaMessage$BackupRetentionPeriod": null, - "PurchaseReservedDBInstancesOfferingMessage$DBInstanceCount": null, - "RestoreDBInstanceFromDBSnapshotMessage$Port": null, - "RestoreDBInstanceFromDBSnapshotMessage$Iops": null, - "RestoreDBInstanceToPointInTimeMessage$Port": null, - "RestoreDBInstanceToPointInTimeMessage$Iops": null - } - }, - "InvalidDBInstanceStateFault": { - "base": "

The specified DB instance is not in the available state.

", - "refs": { - } - }, - "InvalidDBParameterGroupStateFault": { - "base": "

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.

", - "refs": { - } - }, - "InvalidDBSecurityGroupStateFault": { - "base": "

The state of the DB security group does not allow deletion.

", - "refs": { - } - }, - "InvalidDBSnapshotStateFault": { - "base": "

The state of the DB snapshot does not allow deletion.

", - "refs": { - } - }, - "InvalidDBSubnetGroupFault": { - "base": "

Indicates the DBSubnetGroup does not belong to the same VPC as that of an existing cross region read replica of the same source instance.

", - "refs": { - } - }, - "InvalidDBSubnetGroupStateFault": { - "base": "

The DB subnet group cannot be deleted because it is in use.

", - "refs": { - } - }, - "InvalidDBSubnetStateFault": { - "base": "

The DB subnet is not in the available state.

", - "refs": { - } - }, - "InvalidEventSubscriptionStateFault": { - "base": "

This error can occur if someone else is modifying a subscription. You should retry the action.

", - "refs": { - } - }, - "InvalidOptionGroupStateFault": { - "base": "

The option group is not in the available state.

", - "refs": { - } - }, - "InvalidRestoreFault": { - "base": "

Cannot restore from vpc backup to non-vpc DB instance.

", - "refs": { - } - }, - "InvalidSubnet": { - "base": "

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

", - "refs": { - } - }, - "InvalidVPCNetworkStateFault": { - "base": "

DB subnet group does not cover all Availability Zones after it is created because users' change.

", - "refs": { - } - }, - "KeyList": { - "base": null, - "refs": { - "RemoveTagsFromResourceMessage$TagKeys": null - } - }, - "ListTagsForResourceMessage": { - "base": null, - "refs": { - } - }, - "Long": { - "base": null, - "refs": { - "DescribeDBLogFilesDetails$LastWritten": null, - "DescribeDBLogFilesDetails$Size": null, - "DescribeDBLogFilesMessage$FileLastWritten": null, - "DescribeDBLogFilesMessage$FileSize": null - } - }, - "ModifyDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "ModifyDBInstanceResult": { - "base": null, - "refs": { - } - }, - "ModifyDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "ModifyDBSubnetGroupMessage": { - "base": null, - "refs": { - } - }, - "ModifyDBSubnetGroupResult": { - "base": null, - "refs": { - } - }, - "ModifyEventSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "ModifyEventSubscriptionResult": { - "base": null, - "refs": { - } - }, - "ModifyOptionGroupMessage": { - "base": null, - "refs": { - } - }, - "ModifyOptionGroupResult": { - "base": null, - "refs": { - } - }, - "Option": { - "base": null, - "refs": { - "OptionsList$member": null - } - }, - "OptionConfiguration": { - "base": null, - "refs": { - "OptionConfigurationList$member": null - } - }, - "OptionConfigurationList": { - "base": null, - "refs": { - "ModifyOptionGroupMessage$OptionsToInclude": null - } - }, - "OptionGroup": { - "base": null, - "refs": { - "CopyOptionGroupResult$OptionGroup": null, - "CreateOptionGroupResult$OptionGroup": null, - "ModifyOptionGroupResult$OptionGroup": null, - "OptionGroupsList$member": null - } - }, - "OptionGroupAlreadyExistsFault": { - "base": "

The option group you are trying to create already exists.

", - "refs": { - } - }, - "OptionGroupMembership": { - "base": null, - "refs": { - "OptionGroupMembershipList$member": null - } - }, - "OptionGroupMembershipList": { - "base": null, - "refs": { - "DBInstance$OptionGroupMemberships": null - } - }, - "OptionGroupNotFoundFault": { - "base": "

The specified option group could not be found.

", - "refs": { - } - }, - "OptionGroupOption": { - "base": null, - "refs": { - "OptionGroupOptionsList$member": null - } - }, - "OptionGroupOptionSetting": { - "base": null, - "refs": { - "OptionGroupOptionSettingsList$member": null - } - }, - "OptionGroupOptionSettingsList": { - "base": null, - "refs": { - "OptionGroupOption$OptionGroupOptionSettings": null - } - }, - "OptionGroupOptionsList": { - "base": null, - "refs": { - "OptionGroupOptionsMessage$OptionGroupOptions": null - } - }, - "OptionGroupOptionsMessage": { - "base": null, - "refs": { - } - }, - "OptionGroupQuotaExceededFault": { - "base": "

The quota of 20 option groups was exceeded for this AWS account.

", - "refs": { - } - }, - "OptionGroups": { - "base": null, - "refs": { - } - }, - "OptionGroupsList": { - "base": null, - "refs": { - "OptionGroups$OptionGroupsList": null - } - }, - "OptionNamesList": { - "base": null, - "refs": { - "ModifyOptionGroupMessage$OptionsToRemove": null - } - }, - "OptionSetting": { - "base": null, - "refs": { - "OptionSettingConfigurationList$member": null, - "OptionSettingsList$member": null - } - }, - "OptionSettingConfigurationList": { - "base": null, - "refs": { - "Option$OptionSettings": null - } - }, - "OptionSettingsList": { - "base": null, - "refs": { - "OptionConfiguration$OptionSettings": null - } - }, - "OptionsDependedOn": { - "base": null, - "refs": { - "OptionGroupOption$OptionsDependedOn": null - } - }, - "OptionsList": { - "base": null, - "refs": { - "OptionGroup$Options": null - } - }, - "OrderableDBInstanceOption": { - "base": null, - "refs": { - "OrderableDBInstanceOptionsList$member": null - } - }, - "OrderableDBInstanceOptionsList": { - "base": null, - "refs": { - "OrderableDBInstanceOptionsMessage$OrderableDBInstanceOptions": null - } - }, - "OrderableDBInstanceOptionsMessage": { - "base": null, - "refs": { - } - }, - "Parameter": { - "base": null, - "refs": { - "ParametersList$member": null - } - }, - "ParametersList": { - "base": null, - "refs": { - "DBParameterGroupDetails$Parameters": null, - "EngineDefaults$Parameters": null, - "ModifyDBParameterGroupMessage$Parameters": null, - "ResetDBParameterGroupMessage$Parameters": null - } - }, - "PendingModifiedValues": { - "base": null, - "refs": { - "DBInstance$PendingModifiedValues": null - } - }, - "PointInTimeRestoreNotEnabledFault": { - "base": "

SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod equal to 0.

", - "refs": { - } - }, - "PromoteReadReplicaMessage": { - "base": null, - "refs": { - } - }, - "PromoteReadReplicaResult": { - "base": null, - "refs": { - } - }, - "ProvisionedIopsNotAvailableInAZFault": { - "base": "

Provisioned IOPS not available in the specified Availability Zone.

", - "refs": { - } - }, - "PurchaseReservedDBInstancesOfferingMessage": { - "base": null, - "refs": { - } - }, - "PurchaseReservedDBInstancesOfferingResult": { - "base": null, - "refs": { - } - }, - "ReadReplicaDBInstanceIdentifierList": { - "base": null, - "refs": { - "DBInstance$ReadReplicaDBInstanceIdentifiers": null - } - }, - "RebootDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "RebootDBInstanceResult": { - "base": null, - "refs": { - } - }, - "RecurringCharge": { - "base": null, - "refs": { - "RecurringChargeList$member": null - } - }, - "RecurringChargeList": { - "base": null, - "refs": { - "ReservedDBInstance$RecurringCharges": null, - "ReservedDBInstancesOffering$RecurringCharges": null - } - }, - "RemoveSourceIdentifierFromSubscriptionMessage": { - "base": null, - "refs": { - } - }, - "RemoveSourceIdentifierFromSubscriptionResult": { - "base": null, - "refs": { - } - }, - "RemoveTagsFromResourceMessage": { - "base": null, - "refs": { - } - }, - "ReservedDBInstance": { - "base": null, - "refs": { - "PurchaseReservedDBInstancesOfferingResult$ReservedDBInstance": null, - "ReservedDBInstanceList$member": null - } - }, - "ReservedDBInstanceAlreadyExistsFault": { - "base": "

User already has a reservation with the given identifier.

", - "refs": { - } - }, - "ReservedDBInstanceList": { - "base": null, - "refs": { - "ReservedDBInstanceMessage$ReservedDBInstances": null - } - }, - "ReservedDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "ReservedDBInstanceNotFoundFault": { - "base": "

The specified reserved DB Instance not found.

", - "refs": { - } - }, - "ReservedDBInstanceQuotaExceededFault": { - "base": "

Request would exceed the user's DB Instance quota.

", - "refs": { - } - }, - "ReservedDBInstancesOffering": { - "base": null, - "refs": { - "ReservedDBInstancesOfferingList$member": null - } - }, - "ReservedDBInstancesOfferingList": { - "base": null, - "refs": { - "ReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferings": null - } - }, - "ReservedDBInstancesOfferingMessage": { - "base": null, - "refs": { - } - }, - "ReservedDBInstancesOfferingNotFoundFault": { - "base": "

Specified offering does not exist.

", - "refs": { - } - }, - "ResetDBParameterGroupMessage": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceFromDBSnapshotMessage": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceFromDBSnapshotResult": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceToPointInTimeMessage": { - "base": null, - "refs": { - } - }, - "RestoreDBInstanceToPointInTimeResult": { - "base": null, - "refs": { - } - }, - "RevokeDBSecurityGroupIngressMessage": { - "base": null, - "refs": { - } - }, - "RevokeDBSecurityGroupIngressResult": { - "base": null, - "refs": { - } - }, - "SNSInvalidTopicFault": { - "base": "

SNS has responded that there is a problem with the SND topic specified.

", - "refs": { - } - }, - "SNSNoAuthorizationFault": { - "base": "

You do not have permission to publish to the SNS topic ARN.

", - "refs": { - } - }, - "SNSTopicArnNotFoundFault": { - "base": "

The SNS topic ARN does not exist.

", - "refs": { - } - }, - "SnapshotQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB snapshots.

", - "refs": { - } - }, - "SourceIdsList": { - "base": null, - "refs": { - "CreateEventSubscriptionMessage$SourceIds": null, - "EventSubscription$SourceIdsList": null - } - }, - "SourceNotFoundFault": { - "base": "

The requested source could not be found.

", - "refs": { - } - }, - "SourceType": { - "base": null, - "refs": { - "DescribeEventsMessage$SourceType": null, - "Event$SourceType": null - } - }, - "StorageQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed amount of storage available across all DB instances.

", - "refs": { - } - }, - "StorageTypeNotSupportedFault": { - "base": "

StorageType specified cannot be associated with the DB Instance.

", - "refs": { - } - }, - "String": { - "base": null, - "refs": { - "AddSourceIdentifierToSubscriptionMessage$SubscriptionName": null, - "AddSourceIdentifierToSubscriptionMessage$SourceIdentifier": null, - "AddTagsToResourceMessage$ResourceName": null, - "AuthorizeDBSecurityGroupIngressMessage$DBSecurityGroupName": null, - "AuthorizeDBSecurityGroupIngressMessage$CIDRIP": null, - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupName": null, - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupId": null, - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupOwnerId": null, - "AvailabilityZone$Name": null, - "CharacterSet$CharacterSetName": null, - "CharacterSet$CharacterSetDescription": null, - "CopyDBParameterGroupMessage$SourceDBParameterGroupIdentifier": null, - "CopyDBParameterGroupMessage$TargetDBParameterGroupIdentifier": null, - "CopyDBParameterGroupMessage$TargetDBParameterGroupDescription": null, - "CopyDBSnapshotMessage$SourceDBSnapshotIdentifier": null, - "CopyDBSnapshotMessage$TargetDBSnapshotIdentifier": null, - "CopyOptionGroupMessage$SourceOptionGroupIdentifier": null, - "CopyOptionGroupMessage$TargetOptionGroupIdentifier": null, - "CopyOptionGroupMessage$TargetOptionGroupDescription": null, - "CreateDBInstanceMessage$DBName": null, - "CreateDBInstanceMessage$DBInstanceIdentifier": null, - "CreateDBInstanceMessage$DBInstanceClass": null, - "CreateDBInstanceMessage$Engine": null, - "CreateDBInstanceMessage$MasterUsername": null, - "CreateDBInstanceMessage$MasterUserPassword": null, - "CreateDBInstanceMessage$AvailabilityZone": null, - "CreateDBInstanceMessage$DBSubnetGroupName": null, - "CreateDBInstanceMessage$PreferredMaintenanceWindow": null, - "CreateDBInstanceMessage$DBParameterGroupName": null, - "CreateDBInstanceMessage$PreferredBackupWindow": null, - "CreateDBInstanceMessage$EngineVersion": null, - "CreateDBInstanceMessage$LicenseModel": null, - "CreateDBInstanceMessage$OptionGroupName": null, - "CreateDBInstanceMessage$CharacterSetName": null, - "CreateDBInstanceMessage$StorageType": null, - "CreateDBInstanceMessage$TdeCredentialArn": null, - "CreateDBInstanceMessage$TdeCredentialPassword": null, - "CreateDBInstanceReadReplicaMessage$DBInstanceIdentifier": null, - "CreateDBInstanceReadReplicaMessage$SourceDBInstanceIdentifier": null, - "CreateDBInstanceReadReplicaMessage$DBInstanceClass": null, - "CreateDBInstanceReadReplicaMessage$AvailabilityZone": null, - "CreateDBInstanceReadReplicaMessage$OptionGroupName": null, - "CreateDBInstanceReadReplicaMessage$DBSubnetGroupName": null, - "CreateDBInstanceReadReplicaMessage$StorageType": null, - "CreateDBParameterGroupMessage$DBParameterGroupName": null, - "CreateDBParameterGroupMessage$DBParameterGroupFamily": null, - "CreateDBParameterGroupMessage$Description": null, - "CreateDBSecurityGroupMessage$DBSecurityGroupName": null, - "CreateDBSecurityGroupMessage$DBSecurityGroupDescription": null, - "CreateDBSnapshotMessage$DBSnapshotIdentifier": null, - "CreateDBSnapshotMessage$DBInstanceIdentifier": null, - "CreateDBSubnetGroupMessage$DBSubnetGroupName": null, - "CreateDBSubnetGroupMessage$DBSubnetGroupDescription": null, - "CreateEventSubscriptionMessage$SubscriptionName": null, - "CreateEventSubscriptionMessage$SnsTopicArn": null, - "CreateEventSubscriptionMessage$SourceType": null, - "CreateOptionGroupMessage$OptionGroupName": null, - "CreateOptionGroupMessage$EngineName": null, - "CreateOptionGroupMessage$MajorEngineVersion": null, - "CreateOptionGroupMessage$OptionGroupDescription": null, - "DBEngineVersion$Engine": null, - "DBEngineVersion$EngineVersion": null, - "DBEngineVersion$DBParameterGroupFamily": null, - "DBEngineVersion$DBEngineDescription": null, - "DBEngineVersion$DBEngineVersionDescription": null, - "DBEngineVersionMessage$Marker": null, - "DBInstance$DBInstanceIdentifier": null, - "DBInstance$DBInstanceClass": null, - "DBInstance$Engine": null, - "DBInstance$DBInstanceStatus": null, - "DBInstance$MasterUsername": null, - "DBInstance$DBName": null, - "DBInstance$PreferredBackupWindow": null, - "DBInstance$AvailabilityZone": null, - "DBInstance$PreferredMaintenanceWindow": null, - "DBInstance$EngineVersion": null, - "DBInstance$ReadReplicaSourceDBInstanceIdentifier": null, - "DBInstance$LicenseModel": null, - "DBInstance$CharacterSetName": null, - "DBInstance$SecondaryAvailabilityZone": null, - "DBInstance$StorageType": null, - "DBInstance$TdeCredentialArn": null, - "DBInstanceMessage$Marker": null, - "DBInstanceStatusInfo$StatusType": null, - "DBInstanceStatusInfo$Status": null, - "DBInstanceStatusInfo$Message": null, - "DBParameterGroup$DBParameterGroupName": null, - "DBParameterGroup$DBParameterGroupFamily": null, - "DBParameterGroup$Description": null, - "DBParameterGroupDetails$Marker": null, - "DBParameterGroupNameMessage$DBParameterGroupName": null, - "DBParameterGroupStatus$DBParameterGroupName": null, - "DBParameterGroupStatus$ParameterApplyStatus": null, - "DBParameterGroupsMessage$Marker": null, - "DBSecurityGroup$OwnerId": null, - "DBSecurityGroup$DBSecurityGroupName": null, - "DBSecurityGroup$DBSecurityGroupDescription": null, - "DBSecurityGroup$VpcId": null, - "DBSecurityGroupMembership$DBSecurityGroupName": null, - "DBSecurityGroupMembership$Status": null, - "DBSecurityGroupMessage$Marker": null, - "DBSecurityGroupNameList$member": null, - "DBSnapshot$DBSnapshotIdentifier": null, - "DBSnapshot$DBInstanceIdentifier": null, - "DBSnapshot$Engine": null, - "DBSnapshot$Status": null, - "DBSnapshot$AvailabilityZone": null, - "DBSnapshot$VpcId": null, - "DBSnapshot$MasterUsername": null, - "DBSnapshot$EngineVersion": null, - "DBSnapshot$LicenseModel": null, - "DBSnapshot$SnapshotType": null, - "DBSnapshot$OptionGroupName": null, - "DBSnapshot$SourceRegion": null, - "DBSnapshot$StorageType": null, - "DBSnapshot$TdeCredentialArn": null, - "DBSnapshotMessage$Marker": null, - "DBSubnetGroup$DBSubnetGroupName": null, - "DBSubnetGroup$DBSubnetGroupDescription": null, - "DBSubnetGroup$VpcId": null, - "DBSubnetGroup$SubnetGroupStatus": null, - "DBSubnetGroupMessage$Marker": null, - "DeleteDBInstanceMessage$DBInstanceIdentifier": null, - "DeleteDBInstanceMessage$FinalDBSnapshotIdentifier": null, - "DeleteDBParameterGroupMessage$DBParameterGroupName": null, - "DeleteDBSecurityGroupMessage$DBSecurityGroupName": null, - "DeleteDBSnapshotMessage$DBSnapshotIdentifier": null, - "DeleteDBSubnetGroupMessage$DBSubnetGroupName": null, - "DeleteEventSubscriptionMessage$SubscriptionName": null, - "DeleteOptionGroupMessage$OptionGroupName": null, - "DescribeDBEngineVersionsMessage$Engine": null, - "DescribeDBEngineVersionsMessage$EngineVersion": null, - "DescribeDBEngineVersionsMessage$DBParameterGroupFamily": null, - "DescribeDBEngineVersionsMessage$Marker": null, - "DescribeDBInstancesMessage$DBInstanceIdentifier": null, - "DescribeDBInstancesMessage$Marker": null, - "DescribeDBLogFilesDetails$LogFileName": null, - "DescribeDBLogFilesMessage$DBInstanceIdentifier": null, - "DescribeDBLogFilesMessage$FilenameContains": null, - "DescribeDBLogFilesMessage$Marker": null, - "DescribeDBLogFilesResponse$Marker": null, - "DescribeDBParameterGroupsMessage$DBParameterGroupName": null, - "DescribeDBParameterGroupsMessage$Marker": null, - "DescribeDBParametersMessage$DBParameterGroupName": null, - "DescribeDBParametersMessage$Source": null, - "DescribeDBParametersMessage$Marker": null, - "DescribeDBSecurityGroupsMessage$DBSecurityGroupName": null, - "DescribeDBSecurityGroupsMessage$Marker": null, - "DescribeDBSnapshotsMessage$DBInstanceIdentifier": null, - "DescribeDBSnapshotsMessage$DBSnapshotIdentifier": null, - "DescribeDBSnapshotsMessage$SnapshotType": null, - "DescribeDBSnapshotsMessage$Marker": null, - "DescribeDBSubnetGroupsMessage$DBSubnetGroupName": null, - "DescribeDBSubnetGroupsMessage$Marker": null, - "DescribeEngineDefaultParametersMessage$DBParameterGroupFamily": null, - "DescribeEngineDefaultParametersMessage$Marker": null, - "DescribeEventCategoriesMessage$SourceType": null, - "DescribeEventSubscriptionsMessage$SubscriptionName": null, - "DescribeEventSubscriptionsMessage$Marker": null, - "DescribeEventsMessage$SourceIdentifier": null, - "DescribeEventsMessage$Marker": null, - "DescribeOptionGroupOptionsMessage$EngineName": null, - "DescribeOptionGroupOptionsMessage$MajorEngineVersion": null, - "DescribeOptionGroupOptionsMessage$Marker": null, - "DescribeOptionGroupsMessage$OptionGroupName": null, - "DescribeOptionGroupsMessage$Marker": null, - "DescribeOptionGroupsMessage$EngineName": null, - "DescribeOptionGroupsMessage$MajorEngineVersion": null, - "DescribeOrderableDBInstanceOptionsMessage$Engine": null, - "DescribeOrderableDBInstanceOptionsMessage$EngineVersion": null, - "DescribeOrderableDBInstanceOptionsMessage$DBInstanceClass": null, - "DescribeOrderableDBInstanceOptionsMessage$LicenseModel": null, - "DescribeOrderableDBInstanceOptionsMessage$Marker": null, - "DescribeReservedDBInstancesMessage$ReservedDBInstanceId": null, - "DescribeReservedDBInstancesMessage$ReservedDBInstancesOfferingId": null, - "DescribeReservedDBInstancesMessage$DBInstanceClass": null, - "DescribeReservedDBInstancesMessage$Duration": null, - "DescribeReservedDBInstancesMessage$ProductDescription": null, - "DescribeReservedDBInstancesMessage$OfferingType": null, - "DescribeReservedDBInstancesMessage$Marker": null, - "DescribeReservedDBInstancesOfferingsMessage$ReservedDBInstancesOfferingId": null, - "DescribeReservedDBInstancesOfferingsMessage$DBInstanceClass": null, - "DescribeReservedDBInstancesOfferingsMessage$Duration": null, - "DescribeReservedDBInstancesOfferingsMessage$ProductDescription": null, - "DescribeReservedDBInstancesOfferingsMessage$OfferingType": null, - "DescribeReservedDBInstancesOfferingsMessage$Marker": null, - "DownloadDBLogFilePortionDetails$LogFileData": null, - "DownloadDBLogFilePortionDetails$Marker": null, - "DownloadDBLogFilePortionMessage$DBInstanceIdentifier": null, - "DownloadDBLogFilePortionMessage$LogFileName": null, - "DownloadDBLogFilePortionMessage$Marker": null, - "EC2SecurityGroup$Status": null, - "EC2SecurityGroup$EC2SecurityGroupName": null, - "EC2SecurityGroup$EC2SecurityGroupId": null, - "EC2SecurityGroup$EC2SecurityGroupOwnerId": null, - "Endpoint$Address": null, - "EngineDefaults$DBParameterGroupFamily": null, - "EngineDefaults$Marker": null, - "Event$SourceIdentifier": null, - "Event$Message": null, - "EventCategoriesList$member": null, - "EventCategoriesMap$SourceType": null, - "EventSubscription$CustomerAwsId": null, - "EventSubscription$CustSubscriptionId": null, - "EventSubscription$SnsTopicArn": null, - "EventSubscription$Status": null, - "EventSubscription$SubscriptionCreationTime": null, - "EventSubscription$SourceType": null, - "EventSubscriptionsMessage$Marker": null, - "EventsMessage$Marker": null, - "Filter$Name": null, - "FilterValueList$member": null, - "IPRange$Status": null, - "IPRange$CIDRIP": null, - "KeyList$member": null, - "ListTagsForResourceMessage$ResourceName": null, - "ModifyDBInstanceMessage$DBInstanceIdentifier": null, - "ModifyDBInstanceMessage$DBInstanceClass": null, - "ModifyDBInstanceMessage$MasterUserPassword": null, - "ModifyDBInstanceMessage$DBParameterGroupName": null, - "ModifyDBInstanceMessage$PreferredBackupWindow": null, - "ModifyDBInstanceMessage$PreferredMaintenanceWindow": null, - "ModifyDBInstanceMessage$EngineVersion": null, - "ModifyDBInstanceMessage$OptionGroupName": null, - "ModifyDBInstanceMessage$NewDBInstanceIdentifier": null, - "ModifyDBInstanceMessage$StorageType": null, - "ModifyDBInstanceMessage$TdeCredentialArn": null, - "ModifyDBInstanceMessage$TdeCredentialPassword": null, - "ModifyDBParameterGroupMessage$DBParameterGroupName": null, - "ModifyDBSubnetGroupMessage$DBSubnetGroupName": null, - "ModifyDBSubnetGroupMessage$DBSubnetGroupDescription": null, - "ModifyEventSubscriptionMessage$SubscriptionName": null, - "ModifyEventSubscriptionMessage$SnsTopicArn": null, - "ModifyEventSubscriptionMessage$SourceType": null, - "ModifyOptionGroupMessage$OptionGroupName": null, - "Option$OptionName": null, - "Option$OptionDescription": null, - "OptionConfiguration$OptionName": null, - "OptionGroup$OptionGroupName": null, - "OptionGroup$OptionGroupDescription": null, - "OptionGroup$EngineName": null, - "OptionGroup$MajorEngineVersion": null, - "OptionGroup$VpcId": null, - "OptionGroupMembership$OptionGroupName": null, - "OptionGroupMembership$Status": null, - "OptionGroupOption$Name": null, - "OptionGroupOption$Description": null, - "OptionGroupOption$EngineName": null, - "OptionGroupOption$MajorEngineVersion": null, - "OptionGroupOption$MinimumRequiredMinorEngineVersion": null, - "OptionGroupOptionSetting$SettingName": null, - "OptionGroupOptionSetting$SettingDescription": null, - "OptionGroupOptionSetting$DefaultValue": null, - "OptionGroupOptionSetting$ApplyType": null, - "OptionGroupOptionSetting$AllowedValues": null, - "OptionGroupOptionsMessage$Marker": null, - "OptionGroups$Marker": null, - "OptionNamesList$member": null, - "OptionSetting$Name": null, - "OptionSetting$Value": null, - "OptionSetting$DefaultValue": null, - "OptionSetting$Description": null, - "OptionSetting$ApplyType": null, - "OptionSetting$DataType": null, - "OptionSetting$AllowedValues": null, - "OptionsDependedOn$member": null, - "OrderableDBInstanceOption$Engine": null, - "OrderableDBInstanceOption$EngineVersion": null, - "OrderableDBInstanceOption$DBInstanceClass": null, - "OrderableDBInstanceOption$LicenseModel": null, - "OrderableDBInstanceOption$StorageType": null, - "OrderableDBInstanceOptionsMessage$Marker": null, - "Parameter$ParameterName": null, - "Parameter$ParameterValue": null, - "Parameter$Description": null, - "Parameter$Source": null, - "Parameter$ApplyType": null, - "Parameter$DataType": null, - "Parameter$AllowedValues": null, - "Parameter$MinimumEngineVersion": null, - "PendingModifiedValues$DBInstanceClass": null, - "PendingModifiedValues$MasterUserPassword": null, - "PendingModifiedValues$EngineVersion": null, - "PendingModifiedValues$DBInstanceIdentifier": null, - "PendingModifiedValues$StorageType": null, - "PromoteReadReplicaMessage$DBInstanceIdentifier": null, - "PromoteReadReplicaMessage$PreferredBackupWindow": null, - "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferingId": null, - "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstanceId": null, - "ReadReplicaDBInstanceIdentifierList$member": null, - "RebootDBInstanceMessage$DBInstanceIdentifier": null, - "RecurringCharge$RecurringChargeFrequency": null, - "RemoveSourceIdentifierFromSubscriptionMessage$SubscriptionName": null, - "RemoveSourceIdentifierFromSubscriptionMessage$SourceIdentifier": null, - "RemoveTagsFromResourceMessage$ResourceName": null, - "ReservedDBInstance$ReservedDBInstanceId": null, - "ReservedDBInstance$ReservedDBInstancesOfferingId": null, - "ReservedDBInstance$DBInstanceClass": null, - "ReservedDBInstance$CurrencyCode": null, - "ReservedDBInstance$ProductDescription": null, - "ReservedDBInstance$OfferingType": null, - "ReservedDBInstance$State": null, - "ReservedDBInstanceMessage$Marker": null, - "ReservedDBInstancesOffering$ReservedDBInstancesOfferingId": null, - "ReservedDBInstancesOffering$DBInstanceClass": null, - "ReservedDBInstancesOffering$CurrencyCode": null, - "ReservedDBInstancesOffering$ProductDescription": null, - "ReservedDBInstancesOffering$OfferingType": null, - "ReservedDBInstancesOfferingMessage$Marker": null, - "ResetDBParameterGroupMessage$DBParameterGroupName": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceIdentifier": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBSnapshotIdentifier": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceClass": null, - "RestoreDBInstanceFromDBSnapshotMessage$AvailabilityZone": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBSubnetGroupName": null, - "RestoreDBInstanceFromDBSnapshotMessage$LicenseModel": null, - "RestoreDBInstanceFromDBSnapshotMessage$DBName": null, - "RestoreDBInstanceFromDBSnapshotMessage$Engine": null, - "RestoreDBInstanceFromDBSnapshotMessage$OptionGroupName": null, - "RestoreDBInstanceFromDBSnapshotMessage$StorageType": null, - "RestoreDBInstanceFromDBSnapshotMessage$TdeCredentialArn": null, - "RestoreDBInstanceFromDBSnapshotMessage$TdeCredentialPassword": null, - "RestoreDBInstanceToPointInTimeMessage$SourceDBInstanceIdentifier": null, - "RestoreDBInstanceToPointInTimeMessage$TargetDBInstanceIdentifier": null, - "RestoreDBInstanceToPointInTimeMessage$DBInstanceClass": null, - "RestoreDBInstanceToPointInTimeMessage$AvailabilityZone": null, - "RestoreDBInstanceToPointInTimeMessage$DBSubnetGroupName": null, - "RestoreDBInstanceToPointInTimeMessage$LicenseModel": null, - "RestoreDBInstanceToPointInTimeMessage$DBName": null, - "RestoreDBInstanceToPointInTimeMessage$Engine": null, - "RestoreDBInstanceToPointInTimeMessage$OptionGroupName": null, - "RestoreDBInstanceToPointInTimeMessage$StorageType": null, - "RestoreDBInstanceToPointInTimeMessage$TdeCredentialArn": null, - "RestoreDBInstanceToPointInTimeMessage$TdeCredentialPassword": null, - "RevokeDBSecurityGroupIngressMessage$DBSecurityGroupName": null, - "RevokeDBSecurityGroupIngressMessage$CIDRIP": null, - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupName": null, - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupId": null, - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupOwnerId": null, - "SourceIdsList$member": null, - "Subnet$SubnetIdentifier": null, - "Subnet$SubnetStatus": null, - "SubnetIdentifierList$member": null, - "Tag$Key": null, - "Tag$Value": null, - "VpcSecurityGroupIdList$member": null, - "VpcSecurityGroupMembership$VpcSecurityGroupId": null, - "VpcSecurityGroupMembership$Status": null - } - }, - "Subnet": { - "base": null, - "refs": { - "SubnetList$member": null - } - }, - "SubnetAlreadyInUse": { - "base": "

The DB subnet is already in use in the Availability Zone.

", - "refs": { - } - }, - "SubnetIdentifierList": { - "base": null, - "refs": { - "CreateDBSubnetGroupMessage$SubnetIds": null, - "ModifyDBSubnetGroupMessage$SubnetIds": null - } - }, - "SubnetList": { - "base": null, - "refs": { - "DBSubnetGroup$Subnets": null - } - }, - "SubscriptionAlreadyExistFault": { - "base": "

The supplied subscription name already exists.

", - "refs": { - } - }, - "SubscriptionCategoryNotFoundFault": { - "base": "

The supplied category does not exist.

", - "refs": { - } - }, - "SubscriptionNotFoundFault": { - "base": "

The subscription name does not exist.

", - "refs": { - } - }, - "SupportedCharacterSetsList": { - "base": null, - "refs": { - "DBEngineVersion$SupportedCharacterSets": null - } - }, - "TStamp": { - "base": null, - "refs": { - "DBInstance$InstanceCreateTime": null, - "DBInstance$LatestRestorableTime": null, - "DBSnapshot$SnapshotCreateTime": null, - "DBSnapshot$InstanceCreateTime": null, - "DescribeEventsMessage$StartTime": null, - "DescribeEventsMessage$EndTime": null, - "Event$Date": null, - "ReservedDBInstance$StartTime": null, - "RestoreDBInstanceToPointInTimeMessage$RestoreTime": null - } - }, - "Tag": { - "base": null, - "refs": { - "TagList$member": null - } - }, - "TagList": { - "base": null, - "refs": { - "AddTagsToResourceMessage$Tags": null, - "CopyDBParameterGroupMessage$Tags": null, - "CopyDBSnapshotMessage$Tags": null, - "CopyOptionGroupMessage$Tags": null, - "CreateDBInstanceMessage$Tags": null, - "CreateDBInstanceReadReplicaMessage$Tags": null, - "CreateDBParameterGroupMessage$Tags": null, - "CreateDBSecurityGroupMessage$Tags": null, - "CreateDBSnapshotMessage$Tags": null, - "CreateDBSubnetGroupMessage$Tags": null, - "CreateEventSubscriptionMessage$Tags": null, - "CreateOptionGroupMessage$Tags": null, - "PurchaseReservedDBInstancesOfferingMessage$Tags": null, - "RestoreDBInstanceFromDBSnapshotMessage$Tags": null, - "RestoreDBInstanceToPointInTimeMessage$Tags": null, - "TagListMessage$TagList": null - } - }, - "TagListMessage": { - "base": null, - "refs": { - } - }, - "VpcSecurityGroupIdList": { - "base": null, - "refs": { - "CreateDBInstanceMessage$VpcSecurityGroupIds": null, - "ModifyDBInstanceMessage$VpcSecurityGroupIds": null, - "OptionConfiguration$VpcSecurityGroupMemberships": null - } - }, - "VpcSecurityGroupMembership": { - "base": null, - "refs": { - "VpcSecurityGroupMembershipList$member": null - } - }, - "VpcSecurityGroupMembershipList": { - "base": null, - "refs": { - "DBInstance$VpcSecurityGroups": null, - "Option$VpcSecurityGroupMemberships": null - } - } - } -} diff --git a/models/apis/rds/2014-09-01/examples-1.json b/models/apis/rds/2014-09-01/examples-1.json deleted file mode 100644 index 0ea7e3b0bbe..00000000000 --- a/models/apis/rds/2014-09-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/models/apis/rds/2014-10-31/api-2.json b/models/apis/rds/2014-10-31/api-2.json index 4520f990368..e3ee0284ece 100644 --- a/models/apis/rds/2014-10-31/api-2.json +++ b/models/apis/rds/2014-10-31/api-2.json @@ -88,6 +88,22 @@ {"shape":"AuthorizationQuotaExceededFault"} ] }, + "BacktrackDBCluster":{ + "name":"BacktrackDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BacktrackDBClusterMessage"}, + "output":{ + "shape":"DBClusterBacktrack", + "resultWrapper":"BacktrackDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"} + ] + }, "CopyDBClusterParameterGroup":{ "name":"CopyDBClusterParameterGroup", "http":{ @@ -587,6 +603,22 @@ {"shape":"CertificateNotFoundFault"} ] }, + "DescribeDBClusterBacktracks":{ + "name":"DescribeDBClusterBacktracks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterBacktracksMessage"}, + "output":{ + "shape":"DBClusterBacktrackMessage", + "resultWrapper":"DescribeDBClusterBacktracksResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBClusterBacktrackNotFoundFault"} + ] + }, "DescribeDBClusterParameterGroups":{ "name":"DescribeDBClusterParameterGroups", "http":{ @@ -1404,7 +1436,8 @@ {"shape":"DBSubnetGroupNotFoundFault"}, {"shape":"InvalidSubnet"}, {"shape":"OptionGroupNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"} + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"DBClusterParameterGroupNotFoundFault"} ] }, "RestoreDBClusterToPointInTime":{ @@ -1434,7 +1467,8 @@ {"shape":"InvalidVPCNetworkStateFault"}, {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"OptionGroupNotFoundFault"}, - {"shape":"StorageQuotaExceededFault"} + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBClusterParameterGroupNotFoundFault"} ] }, "RestoreDBInstanceFromDBSnapshot":{ @@ -1466,7 +1500,8 @@ {"shape":"AuthorizationNotFoundFault"}, {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"DomainNotFoundFault"} + {"shape":"DomainNotFoundFault"}, + {"shape":"DBParameterGroupNotFoundFault"} ] }, "RestoreDBInstanceFromS3":{ @@ -1529,7 +1564,8 @@ {"shape":"AuthorizationNotFoundFault"}, {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"DomainNotFoundFault"} + {"shape":"DomainNotFoundFault"}, + {"shape":"DBParameterGroupNotFoundFault"} ] }, "RevokeDBSecurityGroupIngress":{ @@ -1760,6 +1796,34 @@ "locationName":"AvailabilityZone" } }, + "AvailableProcessorFeature":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "DefaultValue":{"shape":"String"}, + "AllowedValues":{"shape":"String"} + } + }, + "AvailableProcessorFeatureList":{ + "type":"list", + "member":{ + "shape":"AvailableProcessorFeature", + "locationName":"AvailableProcessorFeature" + } + }, + "BacktrackDBClusterMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "BacktrackTo" + ], + "members":{ + "DBClusterIdentifier":{"shape":"String"}, + "BacktrackTo":{"shape":"TStamp"}, + "Force":{"shape":"BooleanOptional"}, + "UseEarliestTimeOnPointInTimeUnavailable":{"shape":"BooleanOptional"} + } + }, "Boolean":{"type":"boolean"}, "BooleanOptional":{"type":"boolean"}, "Certificate":{ @@ -1806,6 +1870,13 @@ "CharacterSetDescription":{"shape":"String"} } }, + "CloudwatchLogsExportConfiguration":{ + "type":"structure", + "members":{ + "EnableLogTypes":{"shape":"LogTypeList"}, + "DisableLogTypes":{"shape":"LogTypeList"} + } + }, "CopyDBClusterParameterGroupMessage":{ "type":"structure", "required":[ @@ -1937,7 +2008,9 @@ "StorageEncrypted":{"shape":"BooleanOptional"}, "KmsKeyId":{"shape":"String"}, "PreSignedUrl":{"shape":"String"}, - "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"} + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, + "BacktrackWindow":{"shape":"LongOptional"}, + "EnableCloudwatchLogsExports":{"shape":"LogTypeList"} } }, "CreateDBClusterParameterGroupMessage":{ @@ -2032,7 +2105,10 @@ "Timezone":{"shape":"String"}, "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, "EnablePerformanceInsights":{"shape":"BooleanOptional"}, - "PerformanceInsightsKMSKeyId":{"shape":"String"} + "PerformanceInsightsKMSKeyId":{"shape":"String"}, + "PerformanceInsightsRetentionPeriod":{"shape":"IntegerOptional"}, + "EnableCloudwatchLogsExports":{"shape":"LogTypeList"}, + "ProcessorFeatures":{"shape":"ProcessorFeatureList"} } }, "CreateDBInstanceReadReplicaMessage":{ @@ -2047,6 +2123,7 @@ "DBInstanceClass":{"shape":"String"}, "AvailabilityZone":{"shape":"String"}, "Port":{"shape":"IntegerOptional"}, + "MultiAZ":{"shape":"BooleanOptional"}, "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, "Iops":{"shape":"IntegerOptional"}, "OptionGroupName":{"shape":"String"}, @@ -2061,7 +2138,11 @@ "PreSignedUrl":{"shape":"String"}, "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, "EnablePerformanceInsights":{"shape":"BooleanOptional"}, - "PerformanceInsightsKMSKeyId":{"shape":"String"} + "PerformanceInsightsKMSKeyId":{"shape":"String"}, + "PerformanceInsightsRetentionPeriod":{"shape":"IntegerOptional"}, + "EnableCloudwatchLogsExports":{"shape":"LogTypeList"}, + "ProcessorFeatures":{"shape":"ProcessorFeatureList"}, + "UseDefaultProcessorFeatures":{"shape":"BooleanOptional"} } }, "CreateDBInstanceReadReplicaResult":{ @@ -2233,7 +2314,11 @@ "AssociatedRoles":{"shape":"DBClusterRoles"}, "IAMDatabaseAuthenticationEnabled":{"shape":"Boolean"}, "CloneGroupId":{"shape":"String"}, - "ClusterCreateTime":{"shape":"TStamp"} + "ClusterCreateTime":{"shape":"TStamp"}, + "EarliestBacktrackTime":{"shape":"TStamp"}, + "BacktrackWindow":{"shape":"LongOptional"}, + "BacktrackConsumedChangeRecords":{"shape":"LongOptional"}, + "EnabledCloudwatchLogsExports":{"shape":"LogTypeList"} }, "wrapper":true }, @@ -2248,6 +2333,42 @@ }, "exception":true }, + "DBClusterBacktrack":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{"shape":"String"}, + "BacktrackIdentifier":{"shape":"String"}, + "BacktrackTo":{"shape":"TStamp"}, + "BacktrackedFrom":{"shape":"TStamp"}, + "BacktrackRequestCreationTime":{"shape":"TStamp"}, + "Status":{"shape":"String"} + } + }, + "DBClusterBacktrackList":{ + "type":"list", + "member":{ + "shape":"DBClusterBacktrack", + "locationName":"DBClusterBacktrack" + } + }, + "DBClusterBacktrackMessage":{ + "type":"structure", + "members":{ + "Marker":{"shape":"String"}, + "DBClusterBacktracks":{"shape":"DBClusterBacktrackList"} + } + }, + "DBClusterBacktrackNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"DBClusterBacktrackNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, "DBClusterList":{ "type":"list", "member":{ @@ -2505,7 +2626,10 @@ "DefaultCharacterSet":{"shape":"CharacterSet"}, "SupportedCharacterSets":{"shape":"SupportedCharacterSetsList"}, "ValidUpgradeTarget":{"shape":"ValidUpgradeTargetList"}, - "SupportedTimezones":{"shape":"SupportedTimezonesList"} + "SupportedTimezones":{"shape":"SupportedTimezonesList"}, + "ExportableLogTypes":{"shape":"LogTypeList"}, + "SupportsLogExportsToCloudwatchLogs":{"shape":"Boolean"}, + "SupportsReadReplica":{"shape":"Boolean"} } }, "DBEngineVersionList":{ @@ -2575,7 +2699,10 @@ "Timezone":{"shape":"String"}, "IAMDatabaseAuthenticationEnabled":{"shape":"Boolean"}, "PerformanceInsightsEnabled":{"shape":"BooleanOptional"}, - "PerformanceInsightsKMSKeyId":{"shape":"String"} + "PerformanceInsightsKMSKeyId":{"shape":"String"}, + "PerformanceInsightsRetentionPeriod":{"shape":"IntegerOptional"}, + "EnabledCloudwatchLogsExports":{"shape":"LogTypeList"}, + "ProcessorFeatures":{"shape":"ProcessorFeatureList"} }, "wrapper":true }, @@ -2846,7 +2973,8 @@ "KmsKeyId":{"shape":"String"}, "DBSnapshotArn":{"shape":"String"}, "Timezone":{"shape":"String"}, - "IAMDatabaseAuthenticationEnabled":{"shape":"Boolean"} + "IAMDatabaseAuthenticationEnabled":{"shape":"Boolean"}, + "ProcessorFeatures":{"shape":"ProcessorFeatureList"} }, "wrapper":true }, @@ -3130,6 +3258,17 @@ "Marker":{"shape":"String"} } }, + "DescribeDBClusterBacktracksMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{"shape":"String"}, + "BacktrackIdentifier":{"shape":"String"}, + "Filters":{"shape":"FilterList"}, + "MaxRecords":{"shape":"IntegerOptional"}, + "Marker":{"shape":"String"} + } + }, "DescribeDBClusterParameterGroupsMessage":{ "type":"structure", "members":{ @@ -3942,7 +4081,12 @@ "Filters":{"shape":"FilterList"} } }, + "LogTypeList":{ + "type":"list", + "member":{"shape":"String"} + }, "Long":{"type":"long"}, + "LongOptional":{"type":"long"}, "ModifyDBClusterMessage":{ "type":"structure", "required":["DBClusterIdentifier"], @@ -3958,7 +4102,10 @@ "OptionGroupName":{"shape":"String"}, "PreferredBackupWindow":{"shape":"String"}, "PreferredMaintenanceWindow":{"shape":"String"}, - "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"} + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, + "BacktrackWindow":{"shape":"LongOptional"}, + "CloudwatchLogsExportConfiguration":{"shape":"CloudwatchLogsExportConfiguration"}, + "EngineVersion":{"shape":"String"} } }, "ModifyDBClusterParameterGroupMessage":{ @@ -4035,7 +4182,11 @@ "PromotionTier":{"shape":"IntegerOptional"}, "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, "EnablePerformanceInsights":{"shape":"BooleanOptional"}, - "PerformanceInsightsKMSKeyId":{"shape":"String"} + "PerformanceInsightsKMSKeyId":{"shape":"String"}, + "PerformanceInsightsRetentionPeriod":{"shape":"IntegerOptional"}, + "CloudwatchLogsExportConfiguration":{"shape":"CloudwatchLogsExportConfiguration"}, + "ProcessorFeatures":{"shape":"ProcessorFeatureList"}, + "UseDefaultProcessorFeatures":{"shape":"BooleanOptional"} } }, "ModifyDBInstanceResult":{ @@ -4390,7 +4541,8 @@ "MinIopsPerDbInstance":{"shape":"IntegerOptional"}, "MaxIopsPerDbInstance":{"shape":"IntegerOptional"}, "MinIopsPerGib":{"shape":"DoubleOptional"}, - "MaxIopsPerGib":{"shape":"DoubleOptional"} + "MaxIopsPerGib":{"shape":"DoubleOptional"}, + "AvailableProcessorFeatures":{"shape":"AvailableProcessorFeatureList"} }, "wrapper":true }, @@ -4430,6 +4582,13 @@ "locationName":"Parameter" } }, + "PendingCloudwatchLogsExports":{ + "type":"structure", + "members":{ + "LogTypesToEnable":{"shape":"LogTypeList"}, + "LogTypesToDisable":{"shape":"LogTypeList"} + } + }, "PendingMaintenanceAction":{ "type":"structure", "members":{ @@ -4477,7 +4636,9 @@ "DBInstanceIdentifier":{"shape":"String"}, "StorageType":{"shape":"String"}, "CACertificateIdentifier":{"shape":"String"}, - "DBSubnetGroupName":{"shape":"String"} + "DBSubnetGroupName":{"shape":"String"}, + "PendingCloudwatchLogsExports":{"shape":"PendingCloudwatchLogsExports"}, + "ProcessorFeatures":{"shape":"ProcessorFeatureList"} } }, "PointInTimeRestoreNotEnabledFault":{ @@ -4491,6 +4652,20 @@ }, "exception":true }, + "ProcessorFeature":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Value":{"shape":"String"} + } + }, + "ProcessorFeatureList":{ + "type":"list", + "member":{ + "shape":"ProcessorFeature", + "locationName":"ProcessorFeature" + } + }, "PromoteReadReplicaDBClusterMessage":{ "type":"structure", "required":["DBClusterIdentifier"], @@ -4833,7 +5008,9 @@ "SourceEngineVersion":{"shape":"String"}, "S3BucketName":{"shape":"String"}, "S3Prefix":{"shape":"String"}, - "S3IngestionRoleArn":{"shape":"String"} + "S3IngestionRoleArn":{"shape":"String"}, + "BacktrackWindow":{"shape":"LongOptional"}, + "EnableCloudwatchLogsExports":{"shape":"LogTypeList"} } }, "RestoreDBClusterFromS3Result":{ @@ -4862,7 +5039,9 @@ "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, "Tags":{"shape":"TagList"}, "KmsKeyId":{"shape":"String"}, - "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"} + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, + "BacktrackWindow":{"shape":"LongOptional"}, + "EnableCloudwatchLogsExports":{"shape":"LogTypeList"} } }, "RestoreDBClusterFromSnapshotResult":{ @@ -4889,7 +5068,9 @@ "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, "Tags":{"shape":"TagList"}, "KmsKeyId":{"shape":"String"}, - "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"} + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, + "BacktrackWindow":{"shape":"LongOptional"}, + "EnableCloudwatchLogsExports":{"shape":"LogTypeList"} } }, "RestoreDBClusterToPointInTimeResult":{ @@ -4926,7 +5107,10 @@ "Domain":{"shape":"String"}, "CopyTagsToSnapshot":{"shape":"BooleanOptional"}, "DomainIAMRoleName":{"shape":"String"}, - "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"} + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, + "EnableCloudwatchLogsExports":{"shape":"LogTypeList"}, + "ProcessorFeatures":{"shape":"ProcessorFeatureList"}, + "UseDefaultProcessorFeatures":{"shape":"BooleanOptional"} } }, "RestoreDBInstanceFromDBSnapshotResult":{ @@ -4984,7 +5168,11 @@ "S3Prefix":{"shape":"String"}, "S3IngestionRoleArn":{"shape":"String"}, "EnablePerformanceInsights":{"shape":"BooleanOptional"}, - "PerformanceInsightsKMSKeyId":{"shape":"String"} + "PerformanceInsightsKMSKeyId":{"shape":"String"}, + "PerformanceInsightsRetentionPeriod":{"shape":"IntegerOptional"}, + "EnableCloudwatchLogsExports":{"shape":"LogTypeList"}, + "ProcessorFeatures":{"shape":"ProcessorFeatureList"}, + "UseDefaultProcessorFeatures":{"shape":"BooleanOptional"} } }, "RestoreDBInstanceFromS3Result":{ @@ -5023,7 +5211,10 @@ "TdeCredentialPassword":{"shape":"String"}, "Domain":{"shape":"String"}, "DomainIAMRoleName":{"shape":"String"}, - "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"} + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, + "EnableCloudwatchLogsExports":{"shape":"LogTypeList"}, + "ProcessorFeatures":{"shape":"ProcessorFeatureList"}, + "UseDefaultProcessorFeatures":{"shape":"BooleanOptional"} } }, "RestoreDBInstanceToPointInTimeResult":{ @@ -5325,7 +5516,8 @@ "ValidDBInstanceModificationsMessage":{ "type":"structure", "members":{ - "Storage":{"shape":"ValidStorageOptionsList"} + "Storage":{"shape":"ValidStorageOptionsList"}, + "ValidProcessorFeatures":{"shape":"AvailableProcessorFeatureList"} }, "wrapper":true }, diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index 9c9ec8340e8..01cb108fe15 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -1,3157 +1,3307 @@ { - "version": "2.0", - "service": "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

", - "operations": { - "AddRoleToDBCluster": "

Associates an Identity and Access Management (IAM) role from an Aurora DB cluster. For more information, see Authorizing Amazon Aurora to Access Other AWS Services On Your Behalf.

", - "AddSourceIdentifierToSubscription": "

Adds a source identifier to an existing RDS event notification subscription.

", - "AddTagsToResource": "

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": "

Applies a pending maintenance action to a resource (for example, to a DB instance).

", - "AuthorizeDBSecurityGroupIngress": "

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.

", - "CopyDBClusterParameterGroup": "

Copies the specified DB cluster parameter group.

", - "CopyDBClusterSnapshot": "

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 DB Cluster Snapshot in the Same Account, Either in the Same Region or Across Regions in the Amazon RDS User Guide.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "CopyDBParameterGroup": "

Copies the specified DB parameter group.

", - "CopyDBSnapshot": "

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.

You can't copy an encrypted, shared DB snapshot from one AWS Region to another.

For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide.

", - "CopyOptionGroup": "

Copies the specified option group.

", - "CreateDBCluster": "

Creates a new Amazon Aurora DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance. For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl parameter.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "CreateDBClusterParameterGroup": "

Creates a new DB cluster parameter group.

Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.

A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "CreateDBClusterSnapshot": "

Creates a snapshot of a DB cluster. For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "CreateDBInstance": "

Creates a new DB instance.

", - "CreateDBInstanceReadReplica": "

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.

Amazon Aurora does not support this action. You must call the CreateDBInstance action to create a DB instance for an Aurora DB cluster.

All Read Replica DB instances are created as Single-AZ deployments with backups disabled. All other DB instance attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance, except as specified below.

The source DB instance must have backup retention enabled.

For more information, see Working with PostgreSQL, MySQL, and MariaDB Read Replicas.

", - "CreateDBParameterGroup": "

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": "

Creates a new DB security group. DB security groups control access to a DB instance.

", - "CreateDBSnapshot": "

Creates a DBSnapshot. The source DBInstance must be in \"available\" state.

", - "CreateDBSubnetGroup": "

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": "

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": "

Creates a new option group. You can create up to 20 option groups.

", - "DeleteDBCluster": "

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 Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "DeleteDBClusterParameterGroup": "

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 Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "DeleteDBClusterSnapshot": "

Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.

The DB cluster snapshot must be in the available state to be deleted.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "DeleteDBInstance": "

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": "

Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted can't be associated with any DB instances.

", - "DeleteDBSecurityGroup": "

Deletes a DB security group.

The specified DB security group must not be associated with any DB instances.

", - "DeleteDBSnapshot": "

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": "

Deletes a DB subnet group.

The specified database subnet group must not be associated with any DB instances.

", - "DeleteEventSubscription": "

Deletes an RDS event notification subscription.

", - "DeleteOptionGroup": "

Deletes an existing option group.

", - "DescribeAccountAttributes": "

Lists all of the attributes for a customer account. The attributes include Amazon RDS quotas for the account, such as the number of DB instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value.

This command does not take any parameters.

", - "DescribeCertificates": "

Lists the set of CA certificates provided by Amazon RDS for this AWS account.

", - "DescribeDBClusterParameterGroups": "

Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "DescribeDBClusterParameters": "

Returns the detailed parameter list for a particular DB cluster parameter group.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "DescribeDBClusterSnapshotAttributes": "

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": "

Returns information about DB cluster snapshots. This API action supports pagination.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "DescribeDBClusters": "

Returns information about provisioned Aurora DB clusters. This API supports pagination.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "DescribeDBEngineVersions": "

Returns a list of the available DB engines.

", - "DescribeDBInstances": "

Returns information about provisioned RDS instances. This API supports pagination.

", - "DescribeDBLogFiles": "

Returns a list of DB log files for the DB instance.

", - "DescribeDBParameterGroups": "

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": "

Returns the detailed parameter list for a particular DB parameter group.

", - "DescribeDBSecurityGroups": "

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": "

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": "

Returns information about DB snapshots. This API action supports pagination.

", - "DescribeDBSubnetGroups": "

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": "

Returns the default engine and system parameter information for the cluster database engine.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "DescribeEngineDefaultParameters": "

Returns the default engine and system parameter information for the specified database engine.

", - "DescribeEventCategories": "

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": "

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": "

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": "

Describes all available options.

", - "DescribeOptionGroups": "

Describes the available option groups.

", - "DescribeOrderableDBInstanceOptions": "

Returns a list of orderable DB instance options for the specified engine.

", - "DescribePendingMaintenanceActions": "

Returns a list of resources (for example, DB instances) that have at least one pending maintenance action.

", - "DescribeReservedDBInstances": "

Returns information about reserved DB instances for this account, or about a specified reserved DB instance.

", - "DescribeReservedDBInstancesOfferings": "

Lists available reserved DB instance offerings.

", - "DescribeSourceRegions": "

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": "

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": "

Downloads all or a portion of the specified log file, up to 1 MB in size.

", - "FailoverDBCluster": "

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 Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "ListTagsForResource": "

Lists all tags on an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources.

", - "ModifyDBCluster": "

Modify a setting for an Amazon Aurora DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "ModifyDBClusterParameterGroup": "

Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

", - "ModifyDBClusterSnapshotAttribute": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

Modifies an existing option group.

", - "PromoteReadReplica": "

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.

", - "PromoteReadReplicaDBCluster": "

Promotes a Read Replica DB cluster to a standalone DB cluster.

", - "PurchaseReservedDBInstancesOffering": "

Purchases a reserved DB instance offering.

", - "RebootDBInstance": "

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 is conducted through a failover. An Amazon RDS event is created when the reboot is completed.

If your DB instance is deployed in multiple Availability Zones, you can force a failover from one AZ to the other during the reboot. You might force a failover to test the availability of your DB instance deployment or to restore operations to the original AZ after a failover occurs.

The time required to reboot is a function of the specific database engine's crash recovery process. To improve the reboot time, we recommend that you reduce database activities as much as possible during the reboot process to reduce rollback activity for in-transit transactions.

", - "RemoveRoleFromDBCluster": "

Disassociates an Identity and Access Management (IAM) role from an Aurora DB cluster. For more information, see Authorizing Amazon Aurora to Access Other AWS Services On Your Behalf.

", - "RemoveSourceIdentifierFromSubscription": "

Removes a source identifier from an existing RDS event notification subscription.

", - "RemoveTagsFromResource": "

Removes metadata tags from an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources.

", - "ResetDBClusterParameterGroup": "

Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "ResetDBParameterGroup": "

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": "

Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in Migrating Data from MySQL by Using an Amazon S3 Bucket.

", - "RestoreDBClusterFromSnapshot": "

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 Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "RestoreDBClusterToPointInTime": "

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 Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "RestoreDBInstanceFromDBSnapshot": "

Creates a new DB instance from a DB snapshot. The target database is created from the source database restore point with the most of original configuration with the default security group and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored AZ deployment and not a single-AZ deployment.

If your intent is to replace your original DB instance with the new, restored DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot action. RDS does not allow two DB instances with the same name. Once you have renamed your original DB instance with a different identifier, then you can pass the original name of the DB instance as the DBInstanceIdentifier in the call to the RestoreDBInstanceFromDBSnapshot action. The result is that you will replace the original DB instance with the DB instance created from the snapshot.

If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

", - "RestoreDBInstanceFromS3": "

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.

", - "RestoreDBInstanceToPointInTime": "

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.

", - "RevokeDBSecurityGroupIngress": "

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": "

Starts a DB instance that was stopped using the AWS console, the stop-db-instance AWS CLI command, or the StopDBInstance action. For more information, see Stopping and Starting a DB instance in the AWS RDS user guide.

", - "StopDBInstance": "

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.

" + "version":"2.0", + "service":"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

", + "operations":{ + "AddRoleToDBCluster":"

Associates an Identity and Access Management (IAM) role from an Aurora DB cluster. For more information, see Authorizing Amazon Aurora to Access Other AWS Services On Your Behalf.

", + "AddSourceIdentifierToSubscription":"

Adds a source identifier to an existing RDS event notification subscription.

", + "AddTagsToResource":"

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":"

Applies a pending maintenance action to a resource (for example, to a DB instance).

", + "AuthorizeDBSecurityGroupIngress":"

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":"

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 RDS User Guide.

", + "CopyDBClusterParameterGroup":"

Copies the specified DB cluster parameter group.

", + "CopyDBClusterSnapshot":"

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 DB Cluster Snapshot in the Same Account, Either in the Same Region or Across Regions in the Amazon RDS User Guide.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "CopyDBParameterGroup":"

Copies the specified DB parameter group.

", + "CopyDBSnapshot":"

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":"

Copies the specified option group.

", + "CreateDBCluster":"

Creates a new Amazon Aurora DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance. For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl parameter.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "CreateDBClusterParameterGroup":"

Creates a new DB cluster parameter group.

Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.

A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "CreateDBClusterSnapshot":"

Creates a snapshot of a DB cluster. For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "CreateDBInstance":"

Creates a new DB instance.

", + "CreateDBInstanceReadReplica":"

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.

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":"

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":"

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":"

Creates a DBSnapshot. The source DBInstance must be in \"available\" state.

", + "CreateDBSubnetGroup":"

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":"

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":"

Creates a new option group. You can create up to 20 option groups.

", + "DeleteDBCluster":"

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 Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "DeleteDBClusterParameterGroup":"

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 Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "DeleteDBClusterSnapshot":"

Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.

The DB cluster snapshot must be in the available state to be deleted.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "DeleteDBInstance":"

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":"

Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted can't be associated with any DB instances.

", + "DeleteDBSecurityGroup":"

Deletes a DB security group.

The specified DB security group must not be associated with any DB instances.

", + "DeleteDBSnapshot":"

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":"

Deletes a DB subnet group.

The specified database subnet group must not be associated with any DB instances.

", + "DeleteEventSubscription":"

Deletes an RDS event notification subscription.

", + "DeleteOptionGroup":"

Deletes an existing option group.

", + "DescribeAccountAttributes":"

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":"

Lists the set of CA certificates provided by Amazon RDS for this AWS account.

", + "DescribeDBClusterBacktracks":"

Returns information about backtracks for a DB cluster.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "DescribeDBClusterParameterGroups":"

Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "DescribeDBClusterParameters":"

Returns the detailed parameter list for a particular DB cluster parameter group.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "DescribeDBClusterSnapshotAttributes":"

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":"

Returns information about DB cluster snapshots. This API action supports pagination.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "DescribeDBClusters":"

Returns information about provisioned Aurora DB clusters. This API supports pagination.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "DescribeDBEngineVersions":"

Returns a list of the available DB engines.

", + "DescribeDBInstances":"

Returns information about provisioned RDS instances. This API supports pagination.

", + "DescribeDBLogFiles":"

Returns a list of DB log files for the DB instance.

", + "DescribeDBParameterGroups":"

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":"

Returns the detailed parameter list for a particular DB parameter group.

", + "DescribeDBSecurityGroups":"

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":"

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":"

Returns information about DB snapshots. This API action supports pagination.

", + "DescribeDBSubnetGroups":"

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":"

Returns the default engine and system parameter information for the cluster database engine.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "DescribeEngineDefaultParameters":"

Returns the default engine and system parameter information for the specified database engine.

", + "DescribeEventCategories":"

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":"

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":"

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":"

Describes all available options.

", + "DescribeOptionGroups":"

Describes the available option groups.

", + "DescribeOrderableDBInstanceOptions":"

Returns a list of orderable DB instance options for the specified engine.

", + "DescribePendingMaintenanceActions":"

Returns a list of resources (for example, DB instances) that have at least one pending maintenance action.

", + "DescribeReservedDBInstances":"

Returns information about reserved DB instances for this account, or about a specified reserved DB instance.

", + "DescribeReservedDBInstancesOfferings":"

Lists available reserved DB instance offerings.

", + "DescribeSourceRegions":"

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":"

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":"

Downloads all or a portion of the specified log file, up to 1 MB in size.

", + "FailoverDBCluster":"

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 Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "ListTagsForResource":"

Lists all tags on an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources.

", + "ModifyDBCluster":"

Modify a setting for an Amazon Aurora DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "ModifyDBClusterParameterGroup":"

Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

", + "ModifyDBClusterSnapshotAttribute":"

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":"

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":"

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":"

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":"

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":"

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":"

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":"

Modifies an existing option group.

", + "PromoteReadReplica":"

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":"

Promotes a Read Replica DB cluster to a standalone DB cluster.

", + "PurchaseReservedDBInstancesOffering":"

Purchases a reserved DB instance offering.

", + "RebootDBInstance":"

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.

", + "RemoveRoleFromDBCluster":"

Disassociates an Identity and Access Management (IAM) role from an Aurora DB cluster. For more information, see Authorizing Amazon Aurora to Access Other AWS Services On Your Behalf.

", + "RemoveSourceIdentifierFromSubscription":"

Removes a source identifier from an existing RDS event notification subscription.

", + "RemoveTagsFromResource":"

Removes metadata tags from an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources.

", + "ResetDBClusterParameterGroup":"

Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "ResetDBParameterGroup":"

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":"

Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in Migrating Data from MySQL by Using an Amazon S3 Bucket.

", + "RestoreDBClusterFromSnapshot":"

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 Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "RestoreDBClusterToPointInTime":"

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 Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "RestoreDBInstanceFromDBSnapshot":"

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":"

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.

", + "RestoreDBInstanceToPointInTime":"

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":"

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":"

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":"

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": { - "base": "

Data returned by the DescribeAccountAttributes action.

", - "refs": { + "shapes":{ + "AccountAttributesMessage":{ + "base":"

Data returned by the DescribeAccountAttributes action.

", + "refs":{ } }, - "AccountQuota": { - "base": "

Describes a quota for an AWS account, for example, the number of DB instances allowed.

", - "refs": { - "AccountQuotaList$member": null + "AccountQuota":{ + "base":"

Describes a quota for an AWS account, for example, the number of DB instances allowed.

", + "refs":{ + "AccountQuotaList$member":null } }, - "AccountQuotaList": { - "base": null, - "refs": { - "AccountAttributesMessage$AccountQuotas": "

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.

" + "AccountQuotaList":{ + "base":null, + "refs":{ + "AccountAttributesMessage$AccountQuotas":"

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.

" } }, - "AddRoleToDBClusterMessage": { - "base": null, - "refs": { + "AddRoleToDBClusterMessage":{ + "base":null, + "refs":{ } }, - "AddSourceIdentifierToSubscriptionMessage": { - "base": "

", - "refs": { + "AddSourceIdentifierToSubscriptionMessage":{ + "base":"

", + "refs":{ } }, - "AddSourceIdentifierToSubscriptionResult": { - "base": null, - "refs": { + "AddSourceIdentifierToSubscriptionResult":{ + "base":null, + "refs":{ } }, - "AddTagsToResourceMessage": { - "base": "

", - "refs": { + "AddTagsToResourceMessage":{ + "base":"

", + "refs":{ } }, - "ApplyMethod": { - "base": null, - "refs": { - "Parameter$ApplyMethod": "

Indicates when to apply parameter updates.

" + "ApplyMethod":{ + "base":null, + "refs":{ + "Parameter$ApplyMethod":"

Indicates when to apply parameter updates.

" } }, - "ApplyPendingMaintenanceActionMessage": { - "base": "

", - "refs": { + "ApplyPendingMaintenanceActionMessage":{ + "base":"

", + "refs":{ } }, - "ApplyPendingMaintenanceActionResult": { - "base": null, - "refs": { + "ApplyPendingMaintenanceActionResult":{ + "base":null, + "refs":{ } }, - "AttributeValueList": { - "base": null, - "refs": { - "DBClusterSnapshotAttribute$AttributeValues": "

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.

", - "DBSnapshotAttribute$AttributeValues": "

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.

", - "ModifyDBClusterSnapshotAttributeMessage$ValuesToAdd": "

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.

", - "ModifyDBClusterSnapshotAttributeMessage$ValuesToRemove": "

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.

", - "ModifyDBSnapshotAttributeMessage$ValuesToAdd": "

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.

", - "ModifyDBSnapshotAttributeMessage$ValuesToRemove": "

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.

" - } - }, - "AuthorizationAlreadyExistsFault": { - "base": "

The specified CIDRIP or EC2 security group is already authorized for the specified DB security group.

", - "refs": { - } - }, - "AuthorizationNotFoundFault": { - "base": "

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.

", - "refs": { - } - }, - "AuthorizationQuotaExceededFault": { - "base": "

DB security group authorization quota has been reached.

", - "refs": { - } - }, - "AuthorizeDBSecurityGroupIngressMessage": { - "base": "

", - "refs": { - } - }, - "AuthorizeDBSecurityGroupIngressResult": { - "base": null, - "refs": { - } - }, - "AvailabilityZone": { - "base": "

Contains Availability Zone information.

This data type is used as an element in the following data type:

", - "refs": { - "AvailabilityZoneList$member": null, - "Subnet$SubnetAvailabilityZone": null - } - }, - "AvailabilityZoneList": { - "base": null, - "refs": { - "OrderableDBInstanceOption$AvailabilityZones": "

A list of Availability Zones for a DB instance.

" - } - }, - "AvailabilityZones": { - "base": null, - "refs": { - "CreateDBClusterMessage$AvailabilityZones": "

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 Regions and Availability Zones.

", - "DBCluster$AvailabilityZones": "

Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in.

", - "DBClusterSnapshot$AvailabilityZones": "

Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.

", - "RestoreDBClusterFromS3Message$AvailabilityZones": "

A list of EC2 Availability Zones that instances in the restored DB cluster can be created in.

", - "RestoreDBClusterFromSnapshotMessage$AvailabilityZones": "

Provides the list of EC2 Availability Zones that instances in the restored DB cluster can be created in.

" - } - }, - "Boolean": { - "base": null, - "refs": { - "DBCluster$MultiAZ": "

Specifies whether the DB cluster has instances in multiple Availability Zones.

", - "DBCluster$StorageEncrypted": "

Specifies whether the DB cluster is encrypted.

", - "DBCluster$IAMDatabaseAuthenticationEnabled": "

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

", - "DBClusterMember$IsClusterWriter": "

Value that is true if the cluster member is the primary instance for the DB cluster and false otherwise.

", - "DBClusterSnapshot$StorageEncrypted": "

Specifies whether the DB cluster snapshot is encrypted.

", - "DBClusterSnapshot$IAMDatabaseAuthenticationEnabled": "

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

", - "DBInstance$MultiAZ": "

Specifies if the DB instance is a Multi-AZ deployment.

", - "DBInstance$AutoMinorVersionUpgrade": "

Indicates that minor version patches are applied automatically.

", - "DBInstance$PubliclyAccessible": "

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 is 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 is private.

", - "DBInstance$StorageEncrypted": "

Specifies whether the DB instance is encrypted.

", - "DBInstance$CopyTagsToSnapshot": "

Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

", - "DBInstance$IAMDatabaseAuthenticationEnabled": "

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.

", - "DBInstanceStatusInfo$Normal": "

Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

", - "DBSnapshot$Encrypted": "

Specifies whether the DB snapshot is encrypted.

", - "DBSnapshot$IAMDatabaseAuthenticationEnabled": "

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

", - "DeleteDBClusterMessage$SkipFinalSnapshot": "

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

", - "DeleteDBInstanceMessage$SkipFinalSnapshot": "

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

", - "DescribeDBClusterSnapshotsMessage$IncludeShared": "

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.

", - "DescribeDBClusterSnapshotsMessage$IncludePublic": "

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.

", - "DescribeDBEngineVersionsMessage$DefaultOnly": "

Indicates that only the default version of the specified engine or engine and major version combination is returned.

", - "DescribeDBSnapshotsMessage$IncludeShared": "

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.

", - "DescribeDBSnapshotsMessage$IncludePublic": "

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.

", - "DownloadDBLogFilePortionDetails$AdditionalDataPending": "

Boolean value that if true, indicates there is more data to be downloaded.

", - "EventSubscription$Enabled": "

A Boolean value indicating if the subscription is enabled. True indicates the subscription is enabled.

", - "ModifyDBClusterMessage$ApplyImmediately": "

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

", - "ModifyDBInstanceMessage$ApplyImmediately": "

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 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

", - "ModifyDBInstanceMessage$AllowMajorVersionUpgrade": "

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.

", - "ModifyOptionGroupMessage$ApplyImmediately": "

Indicates whether the changes should be applied immediately, or during the next maintenance window for each instance associated with the option group.

", - "Option$Persistent": "

Indicate if this option is persistent.

", - "Option$Permanent": "

Indicate if this option is permanent.

", - "OptionGroup$AllowsVpcAndNonVpcInstanceMemberships": "

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.

", - "OptionGroupOption$PortRequired": "

Specifies whether the option requires a port.

", - "OptionGroupOption$Persistent": "

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.

", - "OptionGroupOption$Permanent": "

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.

", - "OptionGroupOption$RequiresAutoMinorEngineVersionUpgrade": "

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.

", - "OptionGroupOption$VpcOnly": "

If true, you can only use this option with a DB instance that is in a VPC.

", - "OptionGroupOptionSetting$IsModifiable": "

Boolean value where true indicates that this option group option can be changed from the default value.

", - "OptionSetting$IsModifiable": "

A Boolean value that, when true, indicates the option setting can be modified from the default.

", - "OptionSetting$IsCollection": "

Indicates if the option setting is part of a collection.

", - "OptionVersion$IsDefault": "

True if the version is the default version of the option, and otherwise false.

", - "OrderableDBInstanceOption$MultiAZCapable": "

Indicates whether a DB instance is Multi-AZ capable.

", - "OrderableDBInstanceOption$ReadReplicaCapable": "

Indicates whether a DB instance can have a Read Replica.

", - "OrderableDBInstanceOption$Vpc": "

Indicates whether a DB instance is in a VPC.

", - "OrderableDBInstanceOption$SupportsStorageEncryption": "

Indicates whether a DB instance supports encrypted storage.

", - "OrderableDBInstanceOption$SupportsIops": "

Indicates whether a DB instance supports provisioned IOPS.

", - "OrderableDBInstanceOption$SupportsEnhancedMonitoring": "

Indicates whether a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.

", - "OrderableDBInstanceOption$SupportsIAMDatabaseAuthentication": "

Indicates whether a DB instance supports IAM database authentication.

", - "OrderableDBInstanceOption$SupportsPerformanceInsights": "

True if a DB instance supports Performance Insights, otherwise false.

", - "Parameter$IsModifiable": "

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

", - "ReservedDBInstance$MultiAZ": "

Indicates if the reservation applies to Multi-AZ deployments.

", - "ReservedDBInstancesOffering$MultiAZ": "

Indicates if the offering applies to Multi-AZ deployments.

", - "ResetDBClusterParameterGroupMessage$ResetAllParameters": "

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.

", - "ResetDBParameterGroupMessage$ResetAllParameters": "

Specifies whether (true) or not (false) to reset all parameters in the DB parameter group to default values.

Default: true

", - "RestoreDBClusterToPointInTimeMessage$UseLatestRestorableTime": "

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.

", - "RestoreDBInstanceToPointInTimeMessage$UseLatestRestorableTime": "

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.

", - "UpgradeTarget$AutoUpgrade": "

A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

", - "UpgradeTarget$IsMajorVersionUpgrade": "

A value that indicates whether a database engine is upgraded to a major version.

" - } - }, - "BooleanOptional": { - "base": null, - "refs": { - "CopyDBClusterSnapshotMessage$CopyTags": "

True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. The default is false.

", - "CopyDBSnapshotMessage$CopyTags": "

True to copy all tags from the source DB snapshot to the target DB snapshot, and otherwise false. The default is false.

", - "CreateDBClusterMessage$StorageEncrypted": "

Specifies whether the DB cluster is encrypted.

", - "CreateDBClusterMessage$EnableIAMDatabaseAuthentication": "

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", - "CreateDBInstanceMessage$MultiAZ": "

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.

", - "CreateDBInstanceMessage$AutoMinorVersionUpgrade": "

Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.

Default: true

", - "CreateDBInstanceMessage$PubliclyAccessible": "

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 is 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 is private.

", - "CreateDBInstanceMessage$StorageEncrypted": "

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

", - "CreateDBInstanceMessage$CopyTagsToSnapshot": "

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

", - "CreateDBInstanceMessage$EnableIAMDatabaseAuthentication": "

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

", - "CreateDBInstanceMessage$EnablePerformanceInsights": "

True to enable Performance Insights for the DB instance, and otherwise false.

", - "CreateDBInstanceReadReplicaMessage$AutoMinorVersionUpgrade": "

Indicates that minor engine upgrades are applied automatically to the Read Replica during the maintenance window.

Default: Inherits from the source DB instance

", - "CreateDBInstanceReadReplicaMessage$PubliclyAccessible": "

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 is 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 is private.

", - "CreateDBInstanceReadReplicaMessage$CopyTagsToSnapshot": "

True to copy all tags from the Read Replica to snapshots of the Read Replica, and otherwise false. The default is false.

", - "CreateDBInstanceReadReplicaMessage$EnableIAMDatabaseAuthentication": "

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

", - "CreateDBInstanceReadReplicaMessage$EnablePerformanceInsights": "

True to enable Performance Insights for the read replica, and otherwise false.

", - "CreateEventSubscriptionMessage$Enabled": "

A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

", - "DBInstance$PerformanceInsightsEnabled": "

True if Performance Insights is enabled for the DB instance, and otherwise false.

", - "DescribeDBEngineVersionsMessage$ListSupportedCharacterSets": "

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.

", - "DescribeDBEngineVersionsMessage$ListSupportedTimezones": "

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.

", - "DescribeOrderableDBInstanceOptionsMessage$Vpc": "

The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings.

", - "DescribeReservedDBInstancesMessage$MultiAZ": "

The Multi-AZ filter value. Specify this parameter to show only those reservations matching the specified Multi-AZ parameter.

", - "DescribeReservedDBInstancesOfferingsMessage$MultiAZ": "

The Multi-AZ filter value. Specify this parameter to show only the available offerings matching the specified Multi-AZ parameter.

", - "ModifyDBClusterMessage$EnableIAMDatabaseAuthentication": "

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", - "ModifyDBInstanceMessage$MultiAZ": "

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.

", - "ModifyDBInstanceMessage$AutoMinorVersionUpgrade": "

Indicates that minor version upgrades are 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.

", - "ModifyDBInstanceMessage$CopyTagsToSnapshot": "

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

", - "ModifyDBInstanceMessage$PubliclyAccessible": "

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

", - "ModifyDBInstanceMessage$EnableIAMDatabaseAuthentication": "

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

", - "ModifyDBInstanceMessage$EnablePerformanceInsights": "

True to enable Performance Insights for the DB instance, and otherwise false.

", - "ModifyEventSubscriptionMessage$Enabled": "

A Boolean value; set to true to activate the subscription.

", - "OptionGroupOption$SupportsOptionVersionDowngrade": "

If true, you can change the option to an earlier version of the option. This only applies to options that have different versions available.

", - "PendingModifiedValues$MultiAZ": "

Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.

", - "RebootDBInstanceMessage$ForceFailover": "

When true, the reboot is conducted through a MultiAZ failover.

Constraint: You can't specify true if the instance is not configured for MultiAZ.

", - "RestoreDBClusterFromS3Message$StorageEncrypted": "

Specifies whether the restored DB cluster is encrypted.

", - "RestoreDBClusterFromS3Message$EnableIAMDatabaseAuthentication": "

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", - "RestoreDBClusterFromSnapshotMessage$EnableIAMDatabaseAuthentication": "

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", - "RestoreDBClusterToPointInTimeMessage$EnableIAMDatabaseAuthentication": "

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", - "RestoreDBInstanceFromDBSnapshotMessage$MultiAZ": "

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.

", - "RestoreDBInstanceFromDBSnapshotMessage$PubliclyAccessible": "

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 is 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 is private.

", - "RestoreDBInstanceFromDBSnapshotMessage$AutoMinorVersionUpgrade": "

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window.

", - "RestoreDBInstanceFromDBSnapshotMessage$CopyTagsToSnapshot": "

True to copy all tags from the restored DB instance to snapshots of the DB instance, and otherwise false. The default is false.

", - "RestoreDBInstanceFromDBSnapshotMessage$EnableIAMDatabaseAuthentication": "

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

", - "RestoreDBInstanceFromS3Message$MultiAZ": "

Specifies whether the DB instance is a Multi-AZ deployment. If MultiAZ is set to true, you can't set the AvailabilityZone parameter.

", - "RestoreDBInstanceFromS3Message$AutoMinorVersionUpgrade": "

True to indicate that minor engine upgrades are applied automatically to the DB instance during the maintenance window, and otherwise false.

Default: true

", - "RestoreDBInstanceFromS3Message$PubliclyAccessible": "

Specifies whether the DB instance is publicly accessible or not. For more information, see CreateDBInstance.

", - "RestoreDBInstanceFromS3Message$StorageEncrypted": "

Specifies whether the new DB instance is encrypted or not.

", - "RestoreDBInstanceFromS3Message$CopyTagsToSnapshot": "

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false.

Default: false.

", - "RestoreDBInstanceFromS3Message$EnableIAMDatabaseAuthentication": "

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", - "RestoreDBInstanceFromS3Message$EnablePerformanceInsights": "

True to enable Performance Insights for the DB instance, and otherwise false.

", - "RestoreDBInstanceToPointInTimeMessage$MultiAZ": "

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.

", - "RestoreDBInstanceToPointInTimeMessage$PubliclyAccessible": "

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 is 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 is private.

", - "RestoreDBInstanceToPointInTimeMessage$AutoMinorVersionUpgrade": "

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window.

", - "RestoreDBInstanceToPointInTimeMessage$CopyTagsToSnapshot": "

True to copy all tags from the restored DB instance to snapshots of the DB instance, and otherwise false. The default is false.

", - "RestoreDBInstanceToPointInTimeMessage$EnableIAMDatabaseAuthentication": "

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

" - } - }, - "Certificate": { - "base": "

A CA certificate for an AWS account.

", - "refs": { - "CertificateList$member": null - } - }, - "CertificateList": { - "base": null, - "refs": { - "CertificateMessage$Certificates": "

The list of Certificate objects for the AWS account.

" - } - }, - "CertificateMessage": { - "base": "

Data returned by the DescribeCertificates action.

", - "refs": { - } - }, - "CertificateNotFoundFault": { - "base": "

CertificateIdentifier does not refer to an existing certificate.

", - "refs": { + "AttributeValueList":{ + "base":null, + "refs":{ + "DBClusterSnapshotAttribute$AttributeValues":"

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.

", + "DBSnapshotAttribute$AttributeValues":"

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.

", + "ModifyDBClusterSnapshotAttributeMessage$ValuesToAdd":"

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.

", + "ModifyDBClusterSnapshotAttributeMessage$ValuesToRemove":"

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.

", + "ModifyDBSnapshotAttributeMessage$ValuesToAdd":"

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.

", + "ModifyDBSnapshotAttributeMessage$ValuesToRemove":"

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.

" } }, - "CharacterSet": { - "base": "

This data type is used as a response element in the action DescribeDBEngineVersions.

", - "refs": { - "DBEngineVersion$DefaultCharacterSet": "

The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API is not specified.

", - "SupportedCharacterSetsList$member": null + "AuthorizationAlreadyExistsFault":{ + "base":"

The specified CIDRIP or Amazon EC2 security group is already authorized for the specified DB security group.

", + "refs":{ } }, - "CopyDBClusterParameterGroupMessage": { - "base": null, - "refs": { + "AuthorizationNotFoundFault":{ + "base":"

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.

", + "refs":{ } }, - "CopyDBClusterParameterGroupResult": { - "base": null, - "refs": { + "AuthorizationQuotaExceededFault":{ + "base":"

The DB security group authorization quota has been reached.

", + "refs":{ + } + }, + "AuthorizeDBSecurityGroupIngressMessage":{ + "base":"

", + "refs":{ + } + }, + "AuthorizeDBSecurityGroupIngressResult":{ + "base":null, + "refs":{ + } + }, + "AvailabilityZone":{ + "base":"

Contains Availability Zone information.

This data type is used as an element in the following data type:

", + "refs":{ + "AvailabilityZoneList$member":null, + "Subnet$SubnetAvailabilityZone":null + } + }, + "AvailabilityZoneList":{ + "base":null, + "refs":{ + "OrderableDBInstanceOption$AvailabilityZones":"

A list of Availability Zones for a DB instance.

" + } + }, + "AvailabilityZones":{ + "base":null, + "refs":{ + "CreateDBClusterMessage$AvailabilityZones":"

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 Regions and Availability Zones.

", + "DBCluster$AvailabilityZones":"

Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in.

", + "DBClusterSnapshot$AvailabilityZones":"

Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.

", + "RestoreDBClusterFromS3Message$AvailabilityZones":"

A list of EC2 Availability Zones that instances in the restored DB cluster can be created in.

", + "RestoreDBClusterFromSnapshotMessage$AvailabilityZones":"

Provides the list of EC2 Availability Zones that instances in the restored DB cluster can be created in.

" + } + }, + "AvailableProcessorFeature":{ + "base":"

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.

", + "refs":{ + "AvailableProcessorFeatureList$member":null + } + }, + "AvailableProcessorFeatureList":{ + "base":null, + "refs":{ + "OrderableDBInstanceOption$AvailableProcessorFeatures":"

A list of the available processor features for the DB instance class of a DB instance.

", + "ValidDBInstanceModificationsMessage$ValidProcessorFeatures":"

Valid processor features for your DB instance.

" + } + }, + "BacktrackDBClusterMessage":{ + "base":"

", + "refs":{ + } + }, + "Boolean":{ + "base":null, + "refs":{ + "DBCluster$MultiAZ":"

Specifies whether the DB cluster has instances in multiple Availability Zones.

", + "DBCluster$StorageEncrypted":"

Specifies whether the DB cluster is encrypted.

", + "DBCluster$IAMDatabaseAuthenticationEnabled":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

", + "DBClusterMember$IsClusterWriter":"

Value that is true if the cluster member is the primary instance for the DB cluster and false otherwise.

", + "DBClusterSnapshot$StorageEncrypted":"

Specifies whether the DB cluster snapshot is encrypted.

", + "DBClusterSnapshot$IAMDatabaseAuthenticationEnabled":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

", + "DBEngineVersion$SupportsLogExportsToCloudwatchLogs":"

A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

", + "DBEngineVersion$SupportsReadReplica":"

Indicates whether the database engine version supports read replicas.

", + "DBInstance$MultiAZ":"

Specifies if the DB instance is a Multi-AZ deployment.

", + "DBInstance$AutoMinorVersionUpgrade":"

Indicates that minor version patches are applied automatically.

", + "DBInstance$PubliclyAccessible":"

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 is 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 is private.

", + "DBInstance$StorageEncrypted":"

Specifies whether the DB instance is encrypted.

", + "DBInstance$CopyTagsToSnapshot":"

Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

", + "DBInstance$IAMDatabaseAuthenticationEnabled":"

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.

", + "DBInstanceStatusInfo$Normal":"

Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

", + "DBSnapshot$Encrypted":"

Specifies whether the DB snapshot is encrypted.

", + "DBSnapshot$IAMDatabaseAuthenticationEnabled":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

", + "DeleteDBClusterMessage$SkipFinalSnapshot":"

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

", + "DeleteDBInstanceMessage$SkipFinalSnapshot":"

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

", + "DescribeDBClusterSnapshotsMessage$IncludeShared":"

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.

", + "DescribeDBClusterSnapshotsMessage$IncludePublic":"

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.

", + "DescribeDBEngineVersionsMessage$DefaultOnly":"

Indicates that only the default version of the specified engine or engine and major version combination is returned.

", + "DescribeDBSnapshotsMessage$IncludeShared":"

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.

", + "DescribeDBSnapshotsMessage$IncludePublic":"

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.

", + "DownloadDBLogFilePortionDetails$AdditionalDataPending":"

Boolean value that if true, indicates there is more data to be downloaded.

", + "EventSubscription$Enabled":"

A Boolean value indicating if the subscription is enabled. True indicates the subscription is enabled.

", + "ModifyDBClusterMessage$ApplyImmediately":"

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

", + "ModifyDBInstanceMessage$ApplyImmediately":"

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 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

", + "ModifyDBInstanceMessage$AllowMajorVersionUpgrade":"

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.

", + "ModifyOptionGroupMessage$ApplyImmediately":"

Indicates whether the changes should be applied immediately, or during the next maintenance window for each instance associated with the option group.

", + "Option$Persistent":"

Indicate if this option is persistent.

", + "Option$Permanent":"

Indicate if this option is permanent.

", + "OptionGroup$AllowsVpcAndNonVpcInstanceMemberships":"

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.

", + "OptionGroupOption$PortRequired":"

Specifies whether the option requires a port.

", + "OptionGroupOption$Persistent":"

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.

", + "OptionGroupOption$Permanent":"

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.

", + "OptionGroupOption$RequiresAutoMinorEngineVersionUpgrade":"

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.

", + "OptionGroupOption$VpcOnly":"

If true, you can only use this option with a DB instance that is in a VPC.

", + "OptionGroupOptionSetting$IsModifiable":"

Boolean value where true indicates that this option group option can be changed from the default value.

", + "OptionSetting$IsModifiable":"

A Boolean value that, when true, indicates the option setting can be modified from the default.

", + "OptionSetting$IsCollection":"

Indicates if the option setting is part of a collection.

", + "OptionVersion$IsDefault":"

True if the version is the default version of the option, and otherwise false.

", + "OrderableDBInstanceOption$MultiAZCapable":"

Indicates whether a DB instance is Multi-AZ capable.

", + "OrderableDBInstanceOption$ReadReplicaCapable":"

Indicates whether a DB instance can have a Read Replica.

", + "OrderableDBInstanceOption$Vpc":"

Indicates whether a DB instance is in a VPC.

", + "OrderableDBInstanceOption$SupportsStorageEncryption":"

Indicates whether a DB instance supports encrypted storage.

", + "OrderableDBInstanceOption$SupportsIops":"

Indicates whether a DB instance supports provisioned IOPS.

", + "OrderableDBInstanceOption$SupportsEnhancedMonitoring":"

Indicates whether a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.

", + "OrderableDBInstanceOption$SupportsIAMDatabaseAuthentication":"

Indicates whether a DB instance supports IAM database authentication.

", + "OrderableDBInstanceOption$SupportsPerformanceInsights":"

True if a DB instance supports Performance Insights, otherwise false.

", + "Parameter$IsModifiable":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

", + "ReservedDBInstance$MultiAZ":"

Indicates if the reservation applies to Multi-AZ deployments.

", + "ReservedDBInstancesOffering$MultiAZ":"

Indicates if the offering applies to Multi-AZ deployments.

", + "ResetDBClusterParameterGroupMessage$ResetAllParameters":"

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.

", + "ResetDBParameterGroupMessage$ResetAllParameters":"

Specifies whether (true) or not (false) to reset all parameters in the DB parameter group to default values.

Default: true

", + "RestoreDBClusterToPointInTimeMessage$UseLatestRestorableTime":"

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.

", + "RestoreDBInstanceToPointInTimeMessage$UseLatestRestorableTime":"

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.

", + "UpgradeTarget$AutoUpgrade":"

A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

", + "UpgradeTarget$IsMajorVersionUpgrade":"

A value that indicates whether a database engine is upgraded to a major version.

" + } + }, + "BooleanOptional":{ + "base":null, + "refs":{ + "BacktrackDBClusterMessage$Force":"

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.

", + "BacktrackDBClusterMessage$UseEarliestTimeOnPointInTimeUnavailable":"

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.

", + "CopyDBClusterSnapshotMessage$CopyTags":"

True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. The default is false.

", + "CopyDBSnapshotMessage$CopyTags":"

True to copy all tags from the source DB snapshot to the target DB snapshot, and otherwise false. The default is false.

", + "CreateDBClusterMessage$StorageEncrypted":"

Specifies whether the DB cluster is encrypted.

", + "CreateDBClusterMessage$EnableIAMDatabaseAuthentication":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", + "CreateDBInstanceMessage$MultiAZ":"

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.

", + "CreateDBInstanceMessage$AutoMinorVersionUpgrade":"

Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.

Default: true

", + "CreateDBInstanceMessage$PubliclyAccessible":"

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 is 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 is private.

", + "CreateDBInstanceMessage$StorageEncrypted":"

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

", + "CreateDBInstanceMessage$CopyTagsToSnapshot":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

", + "CreateDBInstanceMessage$EnableIAMDatabaseAuthentication":"

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

", + "CreateDBInstanceMessage$EnablePerformanceInsights":"

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.

", + "CreateDBInstanceReadReplicaMessage$MultiAZ":"

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.

", + "CreateDBInstanceReadReplicaMessage$AutoMinorVersionUpgrade":"

Indicates that minor engine upgrades are applied automatically to the Read Replica during the maintenance window.

Default: Inherits from the source DB instance

", + "CreateDBInstanceReadReplicaMessage$PubliclyAccessible":"

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 is 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 is private.

", + "CreateDBInstanceReadReplicaMessage$CopyTagsToSnapshot":"

True to copy all tags from the Read Replica to snapshots of the Read Replica, and otherwise false. The default is false.

", + "CreateDBInstanceReadReplicaMessage$EnableIAMDatabaseAuthentication":"

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

", + "CreateDBInstanceReadReplicaMessage$EnablePerformanceInsights":"

True to enable Performance Insights for the read replica, and otherwise false.

For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

", + "CreateDBInstanceReadReplicaMessage$UseDefaultProcessorFeatures":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

", + "CreateEventSubscriptionMessage$Enabled":"

A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

", + "DBInstance$PerformanceInsightsEnabled":"

True if Performance Insights is enabled for the DB instance, and otherwise false.

", + "DescribeDBEngineVersionsMessage$ListSupportedCharacterSets":"

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.

", + "DescribeDBEngineVersionsMessage$ListSupportedTimezones":"

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.

", + "DescribeOrderableDBInstanceOptionsMessage$Vpc":"

The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings.

", + "DescribeReservedDBInstancesMessage$MultiAZ":"

The Multi-AZ filter value. Specify this parameter to show only those reservations matching the specified Multi-AZ parameter.

", + "DescribeReservedDBInstancesOfferingsMessage$MultiAZ":"

The Multi-AZ filter value. Specify this parameter to show only the available offerings matching the specified Multi-AZ parameter.

", + "ModifyDBClusterMessage$EnableIAMDatabaseAuthentication":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", + "ModifyDBInstanceMessage$MultiAZ":"

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.

", + "ModifyDBInstanceMessage$AutoMinorVersionUpgrade":"

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.

", + "ModifyDBInstanceMessage$CopyTagsToSnapshot":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

", + "ModifyDBInstanceMessage$PubliclyAccessible":"

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

", + "ModifyDBInstanceMessage$EnableIAMDatabaseAuthentication":"

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

", + "ModifyDBInstanceMessage$EnablePerformanceInsights":"

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.

", + "ModifyDBInstanceMessage$UseDefaultProcessorFeatures":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

", + "ModifyEventSubscriptionMessage$Enabled":"

A Boolean value; set to true to activate the subscription.

", + "OptionGroupOption$SupportsOptionVersionDowngrade":"

If true, you can change the option to an earlier version of the option. This only applies to options that have different versions available.

", + "PendingModifiedValues$MultiAZ":"

Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.

", + "RebootDBInstanceMessage$ForceFailover":"

When true, the reboot is conducted through a MultiAZ failover.

Constraint: You can't specify true if the instance is not configured for MultiAZ.

", + "RestoreDBClusterFromS3Message$StorageEncrypted":"

Specifies whether the restored DB cluster is encrypted.

", + "RestoreDBClusterFromS3Message$EnableIAMDatabaseAuthentication":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", + "RestoreDBClusterFromSnapshotMessage$EnableIAMDatabaseAuthentication":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", + "RestoreDBClusterToPointInTimeMessage$EnableIAMDatabaseAuthentication":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", + "RestoreDBInstanceFromDBSnapshotMessage$MultiAZ":"

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.

", + "RestoreDBInstanceFromDBSnapshotMessage$PubliclyAccessible":"

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 is 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 is private.

", + "RestoreDBInstanceFromDBSnapshotMessage$AutoMinorVersionUpgrade":"

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window.

", + "RestoreDBInstanceFromDBSnapshotMessage$CopyTagsToSnapshot":"

True to copy all tags from the restored DB instance to snapshots of the DB instance, and otherwise false. The default is false.

", + "RestoreDBInstanceFromDBSnapshotMessage$EnableIAMDatabaseAuthentication":"

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

", + "RestoreDBInstanceFromDBSnapshotMessage$UseDefaultProcessorFeatures":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

", + "RestoreDBInstanceFromS3Message$MultiAZ":"

Specifies whether the DB instance is a Multi-AZ deployment. If MultiAZ is set to true, you can't set the AvailabilityZone parameter.

", + "RestoreDBInstanceFromS3Message$AutoMinorVersionUpgrade":"

True to indicate that minor engine upgrades are applied automatically to the DB instance during the maintenance window, and otherwise false.

Default: true

", + "RestoreDBInstanceFromS3Message$PubliclyAccessible":"

Specifies whether the DB instance is publicly accessible or not. For more information, see CreateDBInstance.

", + "RestoreDBInstanceFromS3Message$StorageEncrypted":"

Specifies whether the new DB instance is encrypted or not.

", + "RestoreDBInstanceFromS3Message$CopyTagsToSnapshot":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false.

Default: false.

", + "RestoreDBInstanceFromS3Message$EnableIAMDatabaseAuthentication":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

", + "RestoreDBInstanceFromS3Message$EnablePerformanceInsights":"

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.

", + "RestoreDBInstanceFromS3Message$UseDefaultProcessorFeatures":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

", + "RestoreDBInstanceToPointInTimeMessage$MultiAZ":"

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.

", + "RestoreDBInstanceToPointInTimeMessage$PubliclyAccessible":"

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 is 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 is private.

", + "RestoreDBInstanceToPointInTimeMessage$AutoMinorVersionUpgrade":"

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window.

", + "RestoreDBInstanceToPointInTimeMessage$CopyTagsToSnapshot":"

True to copy all tags from the restored DB instance to snapshots of the DB instance, and otherwise false. The default is false.

", + "RestoreDBInstanceToPointInTimeMessage$EnableIAMDatabaseAuthentication":"

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

", + "RestoreDBInstanceToPointInTimeMessage$UseDefaultProcessorFeatures":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

" + } + }, + "Certificate":{ + "base":"

A CA certificate for an AWS account.

", + "refs":{ + "CertificateList$member":null + } + }, + "CertificateList":{ + "base":null, + "refs":{ + "CertificateMessage$Certificates":"

The list of Certificate objects for the AWS account.

" + } + }, + "CertificateMessage":{ + "base":"

Data returned by the DescribeCertificates action.

", + "refs":{ + } + }, + "CertificateNotFoundFault":{ + "base":"

CertificateIdentifier doesn't refer to an existing certificate.

", + "refs":{ + } + }, + "CharacterSet":{ + "base":"

This data type is used as a response element in the action DescribeDBEngineVersions.

", + "refs":{ + "DBEngineVersion$DefaultCharacterSet":"

The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API is not specified.

", + "SupportedCharacterSetsList$member":null + } + }, + "CloudwatchLogsExportConfiguration":{ + "base":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

", + "refs":{ + "ModifyDBClusterMessage$CloudwatchLogsExportConfiguration":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB cluster.

", + "ModifyDBInstanceMessage$CloudwatchLogsExportConfiguration":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance.

" + } + }, + "CopyDBClusterParameterGroupMessage":{ + "base":null, + "refs":{ + } + }, + "CopyDBClusterParameterGroupResult":{ + "base":null, + "refs":{ + } + }, + "CopyDBClusterSnapshotMessage":{ + "base":"

", + "refs":{ + } + }, + "CopyDBClusterSnapshotResult":{ + "base":null, + "refs":{ + } + }, + "CopyDBParameterGroupMessage":{ + "base":"

", + "refs":{ } }, - "CopyDBClusterSnapshotMessage": { - "base": "

", - "refs": { + "CopyDBParameterGroupResult":{ + "base":null, + "refs":{ } }, - "CopyDBClusterSnapshotResult": { - "base": null, - "refs": { + "CopyDBSnapshotMessage":{ + "base":"

", + "refs":{ } }, - "CopyDBParameterGroupMessage": { - "base": "

", - "refs": { + "CopyDBSnapshotResult":{ + "base":null, + "refs":{ } }, - "CopyDBParameterGroupResult": { - "base": null, - "refs": { + "CopyOptionGroupMessage":{ + "base":"

", + "refs":{ } }, - "CopyDBSnapshotMessage": { - "base": "

", - "refs": { + "CopyOptionGroupResult":{ + "base":null, + "refs":{ } }, - "CopyDBSnapshotResult": { - "base": null, - "refs": { + "CreateDBClusterMessage":{ + "base":"

", + "refs":{ } }, - "CopyOptionGroupMessage": { - "base": "

", - "refs": { + "CreateDBClusterParameterGroupMessage":{ + "base":"

", + "refs":{ } }, - "CopyOptionGroupResult": { - "base": null, - "refs": { + "CreateDBClusterParameterGroupResult":{ + "base":null, + "refs":{ } }, - "CreateDBClusterMessage": { - "base": "

", - "refs": { + "CreateDBClusterResult":{ + "base":null, + "refs":{ } }, - "CreateDBClusterParameterGroupMessage": { - "base": "

", - "refs": { + "CreateDBClusterSnapshotMessage":{ + "base":"

", + "refs":{ } }, - "CreateDBClusterParameterGroupResult": { - "base": null, - "refs": { + "CreateDBClusterSnapshotResult":{ + "base":null, + "refs":{ } }, - "CreateDBClusterResult": { - "base": null, - "refs": { + "CreateDBInstanceMessage":{ + "base":"

", + "refs":{ } }, - "CreateDBClusterSnapshotMessage": { - "base": "

", - "refs": { + "CreateDBInstanceReadReplicaMessage":{ + "base":null, + "refs":{ } }, - "CreateDBClusterSnapshotResult": { - "base": null, - "refs": { + "CreateDBInstanceReadReplicaResult":{ + "base":null, + "refs":{ } }, - "CreateDBInstanceMessage": { - "base": "

", - "refs": { + "CreateDBInstanceResult":{ + "base":null, + "refs":{ } }, - "CreateDBInstanceReadReplicaMessage": { - "base": null, - "refs": { + "CreateDBParameterGroupMessage":{ + "base":"

", + "refs":{ } }, - "CreateDBInstanceReadReplicaResult": { - "base": null, - "refs": { + "CreateDBParameterGroupResult":{ + "base":null, + "refs":{ } }, - "CreateDBInstanceResult": { - "base": null, - "refs": { + "CreateDBSecurityGroupMessage":{ + "base":"

", + "refs":{ } }, - "CreateDBParameterGroupMessage": { - "base": "

", - "refs": { + "CreateDBSecurityGroupResult":{ + "base":null, + "refs":{ } }, - "CreateDBParameterGroupResult": { - "base": null, - "refs": { + "CreateDBSnapshotMessage":{ + "base":"

", + "refs":{ } }, - "CreateDBSecurityGroupMessage": { - "base": "

", - "refs": { + "CreateDBSnapshotResult":{ + "base":null, + "refs":{ } }, - "CreateDBSecurityGroupResult": { - "base": null, - "refs": { + "CreateDBSubnetGroupMessage":{ + "base":"

", + "refs":{ } }, - "CreateDBSnapshotMessage": { - "base": "

", - "refs": { + "CreateDBSubnetGroupResult":{ + "base":null, + "refs":{ } }, - "CreateDBSnapshotResult": { - "base": null, - "refs": { + "CreateEventSubscriptionMessage":{ + "base":"

", + "refs":{ } }, - "CreateDBSubnetGroupMessage": { - "base": "

", - "refs": { + "CreateEventSubscriptionResult":{ + "base":null, + "refs":{ } }, - "CreateDBSubnetGroupResult": { - "base": null, - "refs": { + "CreateOptionGroupMessage":{ + "base":"

", + "refs":{ } }, - "CreateEventSubscriptionMessage": { - "base": "

", - "refs": { + "CreateOptionGroupResult":{ + "base":null, + "refs":{ } }, - "CreateEventSubscriptionResult": { - "base": null, - "refs": { + "DBCluster":{ + "base":"

Contains the details of an Amazon RDS DB cluster.

This data type is used as a response element in the DescribeDBClusters action.

", + "refs":{ + "CreateDBClusterResult$DBCluster":null, + "DBClusterList$member":null, + "DeleteDBClusterResult$DBCluster":null, + "FailoverDBClusterResult$DBCluster":null, + "ModifyDBClusterResult$DBCluster":null, + "PromoteReadReplicaDBClusterResult$DBCluster":null, + "RestoreDBClusterFromS3Result$DBCluster":null, + "RestoreDBClusterFromSnapshotResult$DBCluster":null, + "RestoreDBClusterToPointInTimeResult$DBCluster":null } }, - "CreateOptionGroupMessage": { - "base": "

", - "refs": { + "DBClusterAlreadyExistsFault":{ + "base":"

The user already has a DB cluster with the given identifier.

", + "refs":{ } }, - "CreateOptionGroupResult": { - "base": null, - "refs": { + "DBClusterBacktrack":{ + "base":"

This data type is used as a response element in the DescribeDBClusterBacktracks action.

", + "refs":{ + "DBClusterBacktrackList$member":null } }, - "DBCluster": { - "base": "

Contains the details of an Amazon RDS DB cluster.

This data type is used as a response element in the DescribeDBClusters action.

", - "refs": { - "CreateDBClusterResult$DBCluster": null, - "DBClusterList$member": null, - "DeleteDBClusterResult$DBCluster": null, - "FailoverDBClusterResult$DBCluster": null, - "ModifyDBClusterResult$DBCluster": null, - "PromoteReadReplicaDBClusterResult$DBCluster": null, - "RestoreDBClusterFromS3Result$DBCluster": null, - "RestoreDBClusterFromSnapshotResult$DBCluster": null, - "RestoreDBClusterToPointInTimeResult$DBCluster": null + "DBClusterBacktrackList":{ + "base":null, + "refs":{ + "DBClusterBacktrackMessage$DBClusterBacktracks":"

Contains a list of backtracks for the user.

" } }, - "DBClusterAlreadyExistsFault": { - "base": "

User already has a DB cluster with the given identifier.

", - "refs": { + "DBClusterBacktrackMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeDBClusterBacktracks action.

", + "refs":{ } }, - "DBClusterList": { - "base": null, - "refs": { - "DBClusterMessage$DBClusters": "

Contains a list of DB clusters for the user.

" + "DBClusterBacktrackNotFoundFault":{ + "base":"

BacktrackIdentifier doesn't refer to an existing backtrack.

", + "refs":{ } }, - "DBClusterMember": { - "base": "

Contains information about an instance that is part of a DB cluster.

", - "refs": { - "DBClusterMemberList$member": null + "DBClusterList":{ + "base":null, + "refs":{ + "DBClusterMessage$DBClusters":"

Contains a list of DB clusters for the user.

" } }, - "DBClusterMemberList": { - "base": null, - "refs": { - "DBCluster$DBClusterMembers": "

Provides the list of instances that make up the DB cluster.

" + "DBClusterMember":{ + "base":"

Contains information about an instance that is part of a DB cluster.

", + "refs":{ + "DBClusterMemberList$member":null } }, - "DBClusterMessage": { - "base": "

Contains the result of a successful invocation of the DescribeDBClusters action.

", - "refs": { + "DBClusterMemberList":{ + "base":null, + "refs":{ + "DBCluster$DBClusterMembers":"

Provides the list of instances that make up the DB cluster.

" } }, - "DBClusterNotFoundFault": { - "base": "

DBClusterIdentifier does not refer to an existing DB cluster.

", - "refs": { + "DBClusterMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeDBClusters action.

", + "refs":{ } }, - "DBClusterOptionGroupMemberships": { - "base": null, - "refs": { - "DBCluster$DBClusterOptionGroupMemberships": "

Provides the list of option group memberships for this DB cluster.

" + "DBClusterNotFoundFault":{ + "base":"

DBClusterIdentifier doesn't refer to an existing DB cluster.

", + "refs":{ } }, - "DBClusterOptionGroupStatus": { - "base": "

Contains status information for a DB cluster option group.

", - "refs": { - "DBClusterOptionGroupMemberships$member": null + "DBClusterOptionGroupMemberships":{ + "base":null, + "refs":{ + "DBCluster$DBClusterOptionGroupMemberships":"

Provides the list of option group memberships for this DB cluster.

" } }, - "DBClusterParameterGroup": { - "base": "

Contains the details of an Amazon RDS DB cluster parameter group.

This data type is used as a response element in the DescribeDBClusterParameterGroups action.

", - "refs": { - "CopyDBClusterParameterGroupResult$DBClusterParameterGroup": null, - "CreateDBClusterParameterGroupResult$DBClusterParameterGroup": null, - "DBClusterParameterGroupList$member": null + "DBClusterOptionGroupStatus":{ + "base":"

Contains status information for a DB cluster option group.

", + "refs":{ + "DBClusterOptionGroupMemberships$member":null } }, - "DBClusterParameterGroupDetails": { - "base": "

Provides details about a DB cluster parameter group including the parameters in the DB cluster parameter group.

", - "refs": { + "DBClusterParameterGroup":{ + "base":"

Contains the details of an Amazon RDS DB cluster parameter group.

This data type is used as a response element in the DescribeDBClusterParameterGroups action.

", + "refs":{ + "CopyDBClusterParameterGroupResult$DBClusterParameterGroup":null, + "CreateDBClusterParameterGroupResult$DBClusterParameterGroup":null, + "DBClusterParameterGroupList$member":null } }, - "DBClusterParameterGroupList": { - "base": null, - "refs": { - "DBClusterParameterGroupsMessage$DBClusterParameterGroups": "

A list of DB cluster parameter groups.

" + "DBClusterParameterGroupDetails":{ + "base":"

Provides details about a DB cluster parameter group including the parameters in the DB cluster parameter group.

", + "refs":{ } }, - "DBClusterParameterGroupNameMessage": { - "base": "

", - "refs": { + "DBClusterParameterGroupList":{ + "base":null, + "refs":{ + "DBClusterParameterGroupsMessage$DBClusterParameterGroups":"

A list of DB cluster parameter groups.

" } }, - "DBClusterParameterGroupNotFoundFault": { - "base": "

DBClusterParameterGroupName does not refer to an existing DB Cluster parameter group.

", - "refs": { + "DBClusterParameterGroupNameMessage":{ + "base":"

", + "refs":{ } }, - "DBClusterParameterGroupsMessage": { - "base": "

", - "refs": { + "DBClusterParameterGroupNotFoundFault":{ + "base":"

DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter group.

", + "refs":{ } }, - "DBClusterQuotaExceededFault": { - "base": "

User attempted to create a new DB cluster and the user has already reached the maximum allowed DB cluster quota.

", - "refs": { + "DBClusterParameterGroupsMessage":{ + "base":"

", + "refs":{ } }, - "DBClusterRole": { - "base": "

Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.

", - "refs": { - "DBClusterRoles$member": null + "DBClusterQuotaExceededFault":{ + "base":"

The user attempted to create a new DB cluster and the user has already reached the maximum allowed DB cluster quota.

", + "refs":{ } }, - "DBClusterRoleAlreadyExistsFault": { - "base": "

The specified IAM role Amazon Resource Name (ARN) is already associated with the specified DB cluster.

", - "refs": { + "DBClusterRole":{ + "base":"

Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.

", + "refs":{ + "DBClusterRoles$member":null } }, - "DBClusterRoleNotFoundFault": { - "base": "

The specified IAM role Amazon Resource Name (ARN) is not associated with the specified DB cluster.

", - "refs": { + "DBClusterRoleAlreadyExistsFault":{ + "base":"

The specified IAM role Amazon Resource Name (ARN) is already associated with the specified DB cluster.

", + "refs":{ } }, - "DBClusterRoleQuotaExceededFault": { - "base": "

You have exceeded the maximum number of IAM roles that can be associated with the specified DB cluster.

", - "refs": { + "DBClusterRoleNotFoundFault":{ + "base":"

The specified IAM role Amazon Resource Name (ARN) isn't associated with the specified DB cluster.

", + "refs":{ } }, - "DBClusterRoles": { - "base": null, - "refs": { - "DBCluster$AssociatedRoles": "

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.

" + "DBClusterRoleQuotaExceededFault":{ + "base":"

You have exceeded the maximum number of IAM roles that can be associated with the specified DB cluster.

", + "refs":{ } }, - "DBClusterSnapshot": { - "base": "

Contains the details for an Amazon RDS DB cluster snapshot

This data type is used as a response element in the DescribeDBClusterSnapshots action.

", - "refs": { - "CopyDBClusterSnapshotResult$DBClusterSnapshot": null, - "CreateDBClusterSnapshotResult$DBClusterSnapshot": null, - "DBClusterSnapshotList$member": null, - "DeleteDBClusterSnapshotResult$DBClusterSnapshot": null + "DBClusterRoles":{ + "base":null, + "refs":{ + "DBCluster$AssociatedRoles":"

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.

" } }, - "DBClusterSnapshotAlreadyExistsFault": { - "base": "

User already has a DB cluster snapshot with the given identifier.

", - "refs": { + "DBClusterSnapshot":{ + "base":"

Contains the details for an Amazon RDS DB cluster snapshot

This data type is used as a response element in the DescribeDBClusterSnapshots action.

", + "refs":{ + "CopyDBClusterSnapshotResult$DBClusterSnapshot":null, + "CreateDBClusterSnapshotResult$DBClusterSnapshot":null, + "DBClusterSnapshotList$member":null, + "DeleteDBClusterSnapshotResult$DBClusterSnapshot":null } }, - "DBClusterSnapshotAttribute": { - "base": "

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.

", - "refs": { - "DBClusterSnapshotAttributeList$member": null + "DBClusterSnapshotAlreadyExistsFault":{ + "base":"

The user already has a DB cluster snapshot with the given identifier.

", + "refs":{ } }, - "DBClusterSnapshotAttributeList": { - "base": null, - "refs": { - "DBClusterSnapshotAttributesResult$DBClusterSnapshotAttributes": "

The list of attributes and values for the manual DB cluster snapshot.

" + "DBClusterSnapshotAttribute":{ + "base":"

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.

", + "refs":{ + "DBClusterSnapshotAttributeList$member":null } }, - "DBClusterSnapshotAttributesResult": { - "base": "

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.

", - "refs": { - "DescribeDBClusterSnapshotAttributesResult$DBClusterSnapshotAttributesResult": null, - "ModifyDBClusterSnapshotAttributeResult$DBClusterSnapshotAttributesResult": null + "DBClusterSnapshotAttributeList":{ + "base":null, + "refs":{ + "DBClusterSnapshotAttributesResult$DBClusterSnapshotAttributes":"

The list of attributes and values for the manual DB cluster snapshot.

" } }, - "DBClusterSnapshotList": { - "base": null, - "refs": { - "DBClusterSnapshotMessage$DBClusterSnapshots": "

Provides a list of DB cluster snapshots for the user.

" + "DBClusterSnapshotAttributesResult":{ + "base":"

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.

", + "refs":{ + "DescribeDBClusterSnapshotAttributesResult$DBClusterSnapshotAttributesResult":null, + "ModifyDBClusterSnapshotAttributeResult$DBClusterSnapshotAttributesResult":null } }, - "DBClusterSnapshotMessage": { - "base": "

Provides a list of DB cluster snapshots for the user as the result of a call to the DescribeDBClusterSnapshots action.

", - "refs": { + "DBClusterSnapshotList":{ + "base":null, + "refs":{ + "DBClusterSnapshotMessage$DBClusterSnapshots":"

Provides a list of DB cluster snapshots for the user.

" } }, - "DBClusterSnapshotNotFoundFault": { - "base": "

DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.

", - "refs": { + "DBClusterSnapshotMessage":{ + "base":"

Provides a list of DB cluster snapshots for the user as the result of a call to the DescribeDBClusterSnapshots action.

", + "refs":{ } }, - "DBEngineVersion": { - "base": "

This data type is used as a response element in the action DescribeDBEngineVersions.

", - "refs": { - "DBEngineVersionList$member": null + "DBClusterSnapshotNotFoundFault":{ + "base":"

DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.

", + "refs":{ } }, - "DBEngineVersionList": { - "base": null, - "refs": { - "DBEngineVersionMessage$DBEngineVersions": "

A list of DBEngineVersion elements.

" + "DBEngineVersion":{ + "base":"

This data type is used as a response element in the action DescribeDBEngineVersions.

", + "refs":{ + "DBEngineVersionList$member":null } }, - "DBEngineVersionMessage": { - "base": "

Contains the result of a successful invocation of the DescribeDBEngineVersions action.

", - "refs": { + "DBEngineVersionList":{ + "base":null, + "refs":{ + "DBEngineVersionMessage$DBEngineVersions":"

A list of DBEngineVersion elements.

" } }, - "DBInstance": { - "base": "

Contains the details of an Amazon RDS DB instance.

This data type is used as a response element in the DescribeDBInstances action.

", - "refs": { - "CreateDBInstanceReadReplicaResult$DBInstance": null, - "CreateDBInstanceResult$DBInstance": null, - "DBInstanceList$member": null, - "DeleteDBInstanceResult$DBInstance": null, - "ModifyDBInstanceResult$DBInstance": null, - "PromoteReadReplicaResult$DBInstance": null, - "RebootDBInstanceResult$DBInstance": null, - "RestoreDBInstanceFromDBSnapshotResult$DBInstance": null, - "RestoreDBInstanceFromS3Result$DBInstance": null, - "RestoreDBInstanceToPointInTimeResult$DBInstance": null, - "StartDBInstanceResult$DBInstance": null, - "StopDBInstanceResult$DBInstance": null + "DBEngineVersionMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeDBEngineVersions action.

", + "refs":{ } }, - "DBInstanceAlreadyExistsFault": { - "base": "

User already has a DB instance with the given identifier.

", - "refs": { + "DBInstance":{ + "base":"

Contains the details of an Amazon RDS DB instance.

This data type is used as a response element in the DescribeDBInstances action.

", + "refs":{ + "CreateDBInstanceReadReplicaResult$DBInstance":null, + "CreateDBInstanceResult$DBInstance":null, + "DBInstanceList$member":null, + "DeleteDBInstanceResult$DBInstance":null, + "ModifyDBInstanceResult$DBInstance":null, + "PromoteReadReplicaResult$DBInstance":null, + "RebootDBInstanceResult$DBInstance":null, + "RestoreDBInstanceFromDBSnapshotResult$DBInstance":null, + "RestoreDBInstanceFromS3Result$DBInstance":null, + "RestoreDBInstanceToPointInTimeResult$DBInstance":null, + "StartDBInstanceResult$DBInstance":null, + "StopDBInstanceResult$DBInstance":null } }, - "DBInstanceList": { - "base": null, - "refs": { - "DBInstanceMessage$DBInstances": "

A list of DBInstance instances.

" + "DBInstanceAlreadyExistsFault":{ + "base":"

The user already has a DB instance with the given identifier.

", + "refs":{ } }, - "DBInstanceMessage": { - "base": "

Contains the result of a successful invocation of the DescribeDBInstances action.

", - "refs": { + "DBInstanceList":{ + "base":null, + "refs":{ + "DBInstanceMessage$DBInstances":"

A list of DBInstance instances.

" } }, - "DBInstanceNotFoundFault": { - "base": "

DBInstanceIdentifier does not refer to an existing DB instance.

", - "refs": { + "DBInstanceMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeDBInstances action.

", + "refs":{ } }, - "DBInstanceStatusInfo": { - "base": "

Provides a list of status information for a DB instance.

", - "refs": { - "DBInstanceStatusInfoList$member": null + "DBInstanceNotFoundFault":{ + "base":"

DBInstanceIdentifier doesn't refer to an existing DB instance.

", + "refs":{ } }, - "DBInstanceStatusInfoList": { - "base": null, - "refs": { - "DBInstance$StatusInfos": "

The status of a Read Replica. If the instance is not a Read Replica, this is blank.

" + "DBInstanceStatusInfo":{ + "base":"

Provides a list of status information for a DB instance.

", + "refs":{ + "DBInstanceStatusInfoList$member":null } }, - "DBLogFileNotFoundFault": { - "base": "

LogFileName does not refer to an existing DB log file.

", - "refs": { + "DBInstanceStatusInfoList":{ + "base":null, + "refs":{ + "DBInstance$StatusInfos":"

The status of a Read Replica. If the instance is not a Read Replica, this is blank.

" } }, - "DBParameterGroup": { - "base": "

Contains the details of an Amazon RDS DB parameter group.

This data type is used as a response element in the DescribeDBParameterGroups action.

", - "refs": { - "CopyDBParameterGroupResult$DBParameterGroup": null, - "CreateDBParameterGroupResult$DBParameterGroup": null, - "DBParameterGroupList$member": null + "DBLogFileNotFoundFault":{ + "base":"

LogFileName doesn't refer to an existing DB log file.

", + "refs":{ } }, - "DBParameterGroupAlreadyExistsFault": { - "base": "

A DB parameter group with the same name exists.

", - "refs": { + "DBParameterGroup":{ + "base":"

Contains the details of an Amazon RDS DB parameter group.

This data type is used as a response element in the DescribeDBParameterGroups action.

", + "refs":{ + "CopyDBParameterGroupResult$DBParameterGroup":null, + "CreateDBParameterGroupResult$DBParameterGroup":null, + "DBParameterGroupList$member":null } }, - "DBParameterGroupDetails": { - "base": "

Contains the result of a successful invocation of the DescribeDBParameters action.

", - "refs": { + "DBParameterGroupAlreadyExistsFault":{ + "base":"

A DB parameter group with the same name exists.

", + "refs":{ } }, - "DBParameterGroupList": { - "base": null, - "refs": { - "DBParameterGroupsMessage$DBParameterGroups": "

A list of DBParameterGroup instances.

" + "DBParameterGroupDetails":{ + "base":"

Contains the result of a successful invocation of the DescribeDBParameters action.

", + "refs":{ } }, - "DBParameterGroupNameMessage": { - "base": "

Contains the result of a successful invocation of the ModifyDBParameterGroup or ResetDBParameterGroup action.

", - "refs": { + "DBParameterGroupList":{ + "base":null, + "refs":{ + "DBParameterGroupsMessage$DBParameterGroups":"

A list of DBParameterGroup instances.

" } }, - "DBParameterGroupNotFoundFault": { - "base": "

DBParameterGroupName does not refer to an existing DB parameter group.

", - "refs": { + "DBParameterGroupNameMessage":{ + "base":"

Contains the result of a successful invocation of the ModifyDBParameterGroup or ResetDBParameterGroup action.

", + "refs":{ } }, - "DBParameterGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB parameter groups.

", - "refs": { + "DBParameterGroupNotFoundFault":{ + "base":"

DBParameterGroupName doesn't refer to an existing DB parameter group.

", + "refs":{ } }, - "DBParameterGroupStatus": { - "base": "

The status of the DB parameter group.

This data type is used as a response element in the following actions:

", - "refs": { - "DBParameterGroupStatusList$member": null + "DBParameterGroupQuotaExceededFault":{ + "base":"

The request would result in the user exceeding the allowed number of DB parameter groups.

", + "refs":{ } }, - "DBParameterGroupStatusList": { - "base": null, - "refs": { - "DBInstance$DBParameterGroups": "

Provides the list of DB parameter groups applied to this DB instance.

" + "DBParameterGroupStatus":{ + "base":"

The status of the DB parameter group.

This data type is used as a response element in the following actions:

", + "refs":{ + "DBParameterGroupStatusList$member":null } }, - "DBParameterGroupsMessage": { - "base": "

Contains the result of a successful invocation of the DescribeDBParameterGroups action.

", - "refs": { + "DBParameterGroupStatusList":{ + "base":null, + "refs":{ + "DBInstance$DBParameterGroups":"

Provides the list of DB parameter groups applied to this DB instance.

" } }, - "DBSecurityGroup": { - "base": "

Contains the details for an Amazon RDS DB security group.

This data type is used as a response element in the DescribeDBSecurityGroups action.

", - "refs": { - "AuthorizeDBSecurityGroupIngressResult$DBSecurityGroup": null, - "CreateDBSecurityGroupResult$DBSecurityGroup": null, - "DBSecurityGroups$member": null, - "RevokeDBSecurityGroupIngressResult$DBSecurityGroup": null + "DBParameterGroupsMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeDBParameterGroups action.

", + "refs":{ } }, - "DBSecurityGroupAlreadyExistsFault": { - "base": "

A DB security group with the name specified in DBSecurityGroupName already exists.

", - "refs": { + "DBSecurityGroup":{ + "base":"

Contains the details for an Amazon RDS DB security group.

This data type is used as a response element in the DescribeDBSecurityGroups action.

", + "refs":{ + "AuthorizeDBSecurityGroupIngressResult$DBSecurityGroup":null, + "CreateDBSecurityGroupResult$DBSecurityGroup":null, + "DBSecurityGroups$member":null, + "RevokeDBSecurityGroupIngressResult$DBSecurityGroup":null } }, - "DBSecurityGroupMembership": { - "base": "

This data type is used as a response element in the following actions:

", - "refs": { - "DBSecurityGroupMembershipList$member": null + "DBSecurityGroupAlreadyExistsFault":{ + "base":"

A DB security group with the name specified in DBSecurityGroupName already exists.

", + "refs":{ } }, - "DBSecurityGroupMembershipList": { - "base": null, - "refs": { - "DBInstance$DBSecurityGroups": "

Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

", - "Option$DBSecurityGroupMemberships": "

If the option requires access to a port, then this DB security group allows access to the port.

" + "DBSecurityGroupMembership":{ + "base":"

This data type is used as a response element in the following actions:

", + "refs":{ + "DBSecurityGroupMembershipList$member":null } }, - "DBSecurityGroupMessage": { - "base": "

Contains the result of a successful invocation of the DescribeDBSecurityGroups action.

", - "refs": { + "DBSecurityGroupMembershipList":{ + "base":null, + "refs":{ + "DBInstance$DBSecurityGroups":"

Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

", + "Option$DBSecurityGroupMemberships":"

If the option requires access to a port, then this DB security group allows access to the port.

" } }, - "DBSecurityGroupNameList": { - "base": null, - "refs": { - "CreateDBInstanceMessage$DBSecurityGroups": "

A list of DB security groups to associate with this DB instance.

Default: The default DB security group for the database engine.

", - "ModifyDBInstanceMessage$DBSecurityGroups": "

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:

  • If supplied, must match existing DBSecurityGroups.

", - "OptionConfiguration$DBSecurityGroupMemberships": "

A list of DBSecurityGroupMemebrship name strings used for this option.

", - "RestoreDBInstanceFromS3Message$DBSecurityGroups": "

A list of DB security groups to associate with this DB instance.

Default: The default DB security group for the database engine.

" + "DBSecurityGroupMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeDBSecurityGroups action.

", + "refs":{ } }, - "DBSecurityGroupNotFoundFault": { - "base": "

DBSecurityGroupName does not refer to an existing DB security group.

", - "refs": { + "DBSecurityGroupNameList":{ + "base":null, + "refs":{ + "CreateDBInstanceMessage$DBSecurityGroups":"

A list of DB security groups to associate with this DB instance.

Default: The default DB security group for the database engine.

", + "ModifyDBInstanceMessage$DBSecurityGroups":"

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.

", + "OptionConfiguration$DBSecurityGroupMemberships":"

A list of DBSecurityGroupMemebrship name strings used for this option.

", + "RestoreDBInstanceFromS3Message$DBSecurityGroups":"

A list of DB security groups to associate with this DB instance.

Default: The default DB security group for the database engine.

" } }, - "DBSecurityGroupNotSupportedFault": { - "base": "

A DB security group is not allowed for this action.

", - "refs": { + "DBSecurityGroupNotFoundFault":{ + "base":"

DBSecurityGroupName doesn't refer to an existing DB security group.

", + "refs":{ } }, - "DBSecurityGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB security groups.

", - "refs": { + "DBSecurityGroupNotSupportedFault":{ + "base":"

A DB security group isn't allowed for this action.

", + "refs":{ } }, - "DBSecurityGroups": { - "base": null, - "refs": { - "DBSecurityGroupMessage$DBSecurityGroups": "

A list of DBSecurityGroup instances.

" + "DBSecurityGroupQuotaExceededFault":{ + "base":"

The request would result in the user exceeding the allowed number of DB security groups.

", + "refs":{ } }, - "DBSnapshot": { - "base": "

Contains the details of an Amazon RDS DB snapshot.

This data type is used as a response element in the DescribeDBSnapshots action.

", - "refs": { - "CopyDBSnapshotResult$DBSnapshot": null, - "CreateDBSnapshotResult$DBSnapshot": null, - "DBSnapshotList$member": null, - "DeleteDBSnapshotResult$DBSnapshot": null, - "ModifyDBSnapshotResult$DBSnapshot": null + "DBSecurityGroups":{ + "base":null, + "refs":{ + "DBSecurityGroupMessage$DBSecurityGroups":"

A list of DBSecurityGroup instances.

" } }, - "DBSnapshotAlreadyExistsFault": { - "base": "

DBSnapshotIdentifier is already used by an existing snapshot.

", - "refs": { + "DBSnapshot":{ + "base":"

Contains the details of an Amazon RDS DB snapshot.

This data type is used as a response element in the DescribeDBSnapshots action.

", + "refs":{ + "CopyDBSnapshotResult$DBSnapshot":null, + "CreateDBSnapshotResult$DBSnapshot":null, + "DBSnapshotList$member":null, + "DeleteDBSnapshotResult$DBSnapshot":null, + "ModifyDBSnapshotResult$DBSnapshot":null } }, - "DBSnapshotAttribute": { - "base": "

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.

", - "refs": { - "DBSnapshotAttributeList$member": null + "DBSnapshotAlreadyExistsFault":{ + "base":"

DBSnapshotIdentifier is already used by an existing snapshot.

", + "refs":{ } }, - "DBSnapshotAttributeList": { - "base": null, - "refs": { - "DBSnapshotAttributesResult$DBSnapshotAttributes": "

The list of attributes and values for the manual DB snapshot.

" + "DBSnapshotAttribute":{ + "base":"

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.

", + "refs":{ + "DBSnapshotAttributeList$member":null } }, - "DBSnapshotAttributesResult": { - "base": "

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.

", - "refs": { - "DescribeDBSnapshotAttributesResult$DBSnapshotAttributesResult": null, - "ModifyDBSnapshotAttributeResult$DBSnapshotAttributesResult": null + "DBSnapshotAttributeList":{ + "base":null, + "refs":{ + "DBSnapshotAttributesResult$DBSnapshotAttributes":"

The list of attributes and values for the manual DB snapshot.

" } }, - "DBSnapshotList": { - "base": null, - "refs": { - "DBSnapshotMessage$DBSnapshots": "

A list of DBSnapshot instances.

" + "DBSnapshotAttributesResult":{ + "base":"

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.

", + "refs":{ + "DescribeDBSnapshotAttributesResult$DBSnapshotAttributesResult":null, + "ModifyDBSnapshotAttributeResult$DBSnapshotAttributesResult":null } }, - "DBSnapshotMessage": { - "base": "

Contains the result of a successful invocation of the DescribeDBSnapshots action.

", - "refs": { + "DBSnapshotList":{ + "base":null, + "refs":{ + "DBSnapshotMessage$DBSnapshots":"

A list of DBSnapshot instances.

" } }, - "DBSnapshotNotFoundFault": { - "base": "

DBSnapshotIdentifier does not refer to an existing DB snapshot.

", - "refs": { + "DBSnapshotMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeDBSnapshots action.

", + "refs":{ } }, - "DBSubnetGroup": { - "base": "

Contains the details of an Amazon RDS DB subnet group.

This data type is used as a response element in the DescribeDBSubnetGroups action.

", - "refs": { - "CreateDBSubnetGroupResult$DBSubnetGroup": null, - "DBInstance$DBSubnetGroup": "

Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.

", - "DBSubnetGroups$member": null, - "ModifyDBSubnetGroupResult$DBSubnetGroup": null + "DBSnapshotNotFoundFault":{ + "base":"

DBSnapshotIdentifier doesn't refer to an existing DB snapshot.

", + "refs":{ } }, - "DBSubnetGroupAlreadyExistsFault": { - "base": "

DBSubnetGroupName is already used by an existing DB subnet group.

", - "refs": { + "DBSubnetGroup":{ + "base":"

Contains the details of an Amazon RDS DB subnet group.

This data type is used as a response element in the DescribeDBSubnetGroups action.

", + "refs":{ + "CreateDBSubnetGroupResult$DBSubnetGroup":null, + "DBInstance$DBSubnetGroup":"

Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.

", + "DBSubnetGroups$member":null, + "ModifyDBSubnetGroupResult$DBSubnetGroup":null } }, - "DBSubnetGroupDoesNotCoverEnoughAZs": { - "base": "

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

", - "refs": { + "DBSubnetGroupAlreadyExistsFault":{ + "base":"

DBSubnetGroupName is already used by an existing DB subnet group.

", + "refs":{ } }, - "DBSubnetGroupMessage": { - "base": "

Contains the result of a successful invocation of the DescribeDBSubnetGroups action.

", - "refs": { + "DBSubnetGroupDoesNotCoverEnoughAZs":{ + "base":"

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

", + "refs":{ } }, - "DBSubnetGroupNotAllowedFault": { - "base": "

Indicates that the DBSubnetGroup should not be specified while creating read replicas that lie in the same region as the source instance.

", - "refs": { + "DBSubnetGroupMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeDBSubnetGroups action.

", + "refs":{ } }, - "DBSubnetGroupNotFoundFault": { - "base": "

DBSubnetGroupName does not refer to an existing DB subnet group.

", - "refs": { + "DBSubnetGroupNotAllowedFault":{ + "base":"

The DBSubnetGroup shouldn't be specified while creating read replicas that lie in the same region as the source instance.

", + "refs":{ } }, - "DBSubnetGroupQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB subnet groups.

", - "refs": { + "DBSubnetGroupNotFoundFault":{ + "base":"

DBSubnetGroupName doesn't refer to an existing DB subnet group.

", + "refs":{ } }, - "DBSubnetGroups": { - "base": null, - "refs": { - "DBSubnetGroupMessage$DBSubnetGroups": "

A list of DBSubnetGroup instances.

" + "DBSubnetGroupQuotaExceededFault":{ + "base":"

The request would result in the user exceeding the allowed number of DB subnet groups.

", + "refs":{ } }, - "DBSubnetQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of subnets in a DB subnet groups.

", - "refs": { + "DBSubnetGroups":{ + "base":null, + "refs":{ + "DBSubnetGroupMessage$DBSubnetGroups":"

A list of DBSubnetGroup instances.

" } }, - "DBUpgradeDependencyFailureFault": { - "base": "

The DB upgrade failed because a resource the DB depends on could not be modified.

", - "refs": { + "DBSubnetQuotaExceededFault":{ + "base":"

The request would result in the user exceeding the allowed number of subnets in a DB subnet groups.

", + "refs":{ } }, - "DeleteDBClusterMessage": { - "base": "

", - "refs": { + "DBUpgradeDependencyFailureFault":{ + "base":"

The DB upgrade failed because a resource the DB depends on can't be modified.

", + "refs":{ } }, - "DeleteDBClusterParameterGroupMessage": { - "base": "

", - "refs": { + "DeleteDBClusterMessage":{ + "base":"

", + "refs":{ } }, - "DeleteDBClusterResult": { - "base": null, - "refs": { + "DeleteDBClusterParameterGroupMessage":{ + "base":"

", + "refs":{ } }, - "DeleteDBClusterSnapshotMessage": { - "base": "

", - "refs": { + "DeleteDBClusterResult":{ + "base":null, + "refs":{ } }, - "DeleteDBClusterSnapshotResult": { - "base": null, - "refs": { + "DeleteDBClusterSnapshotMessage":{ + "base":"

", + "refs":{ } }, - "DeleteDBInstanceMessage": { - "base": "

", - "refs": { + "DeleteDBClusterSnapshotResult":{ + "base":null, + "refs":{ } }, - "DeleteDBInstanceResult": { - "base": null, - "refs": { + "DeleteDBInstanceMessage":{ + "base":"

", + "refs":{ } }, - "DeleteDBParameterGroupMessage": { - "base": "

", - "refs": { + "DeleteDBInstanceResult":{ + "base":null, + "refs":{ } }, - "DeleteDBSecurityGroupMessage": { - "base": "

", - "refs": { + "DeleteDBParameterGroupMessage":{ + "base":"

", + "refs":{ } }, - "DeleteDBSnapshotMessage": { - "base": "

", - "refs": { + "DeleteDBSecurityGroupMessage":{ + "base":"

", + "refs":{ } }, - "DeleteDBSnapshotResult": { - "base": null, - "refs": { + "DeleteDBSnapshotMessage":{ + "base":"

", + "refs":{ } }, - "DeleteDBSubnetGroupMessage": { - "base": "

", - "refs": { + "DeleteDBSnapshotResult":{ + "base":null, + "refs":{ } }, - "DeleteEventSubscriptionMessage": { - "base": "

", - "refs": { + "DeleteDBSubnetGroupMessage":{ + "base":"

", + "refs":{ } }, - "DeleteEventSubscriptionResult": { - "base": null, - "refs": { + "DeleteEventSubscriptionMessage":{ + "base":"

", + "refs":{ } }, - "DeleteOptionGroupMessage": { - "base": "

", - "refs": { + "DeleteEventSubscriptionResult":{ + "base":null, + "refs":{ } }, - "DescribeAccountAttributesMessage": { - "base": "

", - "refs": { + "DeleteOptionGroupMessage":{ + "base":"

", + "refs":{ } }, - "DescribeCertificatesMessage": { - "base": "

", - "refs": { + "DescribeAccountAttributesMessage":{ + "base":"

", + "refs":{ } }, - "DescribeDBClusterParameterGroupsMessage": { - "base": "

", - "refs": { + "DescribeCertificatesMessage":{ + "base":"

", + "refs":{ } }, - "DescribeDBClusterParametersMessage": { - "base": "

", - "refs": { + "DescribeDBClusterBacktracksMessage":{ + "base":"

", + "refs":{ } }, - "DescribeDBClusterSnapshotAttributesMessage": { - "base": "

", - "refs": { + "DescribeDBClusterParameterGroupsMessage":{ + "base":"

", + "refs":{ } }, - "DescribeDBClusterSnapshotAttributesResult": { - "base": null, - "refs": { + "DescribeDBClusterParametersMessage":{ + "base":"

", + "refs":{ } }, - "DescribeDBClusterSnapshotsMessage": { - "base": "

", - "refs": { + "DescribeDBClusterSnapshotAttributesMessage":{ + "base":"

", + "refs":{ } }, - "DescribeDBClustersMessage": { - "base": "

", - "refs": { + "DescribeDBClusterSnapshotAttributesResult":{ + "base":null, + "refs":{ } }, - "DescribeDBEngineVersionsMessage": { - "base": null, - "refs": { + "DescribeDBClusterSnapshotsMessage":{ + "base":"

", + "refs":{ } }, - "DescribeDBInstancesMessage": { - "base": "

", - "refs": { + "DescribeDBClustersMessage":{ + "base":"

", + "refs":{ } }, - "DescribeDBLogFilesDetails": { - "base": "

This data type is used as a response element to DescribeDBLogFiles.

", - "refs": { - "DescribeDBLogFilesList$member": null + "DescribeDBEngineVersionsMessage":{ + "base":null, + "refs":{ } }, - "DescribeDBLogFilesList": { - "base": null, - "refs": { - "DescribeDBLogFilesResponse$DescribeDBLogFiles": "

The DB log files returned.

" + "DescribeDBInstancesMessage":{ + "base":"

", + "refs":{ } }, - "DescribeDBLogFilesMessage": { - "base": "

", - "refs": { + "DescribeDBLogFilesDetails":{ + "base":"

This data type is used as a response element to DescribeDBLogFiles.

", + "refs":{ + "DescribeDBLogFilesList$member":null } }, - "DescribeDBLogFilesResponse": { - "base": "

The response from a call to DescribeDBLogFiles.

", - "refs": { + "DescribeDBLogFilesList":{ + "base":null, + "refs":{ + "DescribeDBLogFilesResponse$DescribeDBLogFiles":"

The DB log files returned.

" } }, - "DescribeDBParameterGroupsMessage": { - "base": "

", - "refs": { + "DescribeDBLogFilesMessage":{ + "base":"

", + "refs":{ } }, - "DescribeDBParametersMessage": { - "base": null, - "refs": { + "DescribeDBLogFilesResponse":{ + "base":"

The response from a call to DescribeDBLogFiles.

", + "refs":{ } }, - "DescribeDBSecurityGroupsMessage": { - "base": "

", - "refs": { + "DescribeDBParameterGroupsMessage":{ + "base":"

", + "refs":{ } }, - "DescribeDBSnapshotAttributesMessage": { - "base": "

", - "refs": { + "DescribeDBParametersMessage":{ + "base":null, + "refs":{ } }, - "DescribeDBSnapshotAttributesResult": { - "base": null, - "refs": { + "DescribeDBSecurityGroupsMessage":{ + "base":"

", + "refs":{ } }, - "DescribeDBSnapshotsMessage": { - "base": "

", - "refs": { + "DescribeDBSnapshotAttributesMessage":{ + "base":"

", + "refs":{ } }, - "DescribeDBSubnetGroupsMessage": { - "base": "

", - "refs": { + "DescribeDBSnapshotAttributesResult":{ + "base":null, + "refs":{ } }, - "DescribeEngineDefaultClusterParametersMessage": { - "base": "

", - "refs": { + "DescribeDBSnapshotsMessage":{ + "base":"

", + "refs":{ } }, - "DescribeEngineDefaultClusterParametersResult": { - "base": null, - "refs": { + "DescribeDBSubnetGroupsMessage":{ + "base":"

", + "refs":{ } }, - "DescribeEngineDefaultParametersMessage": { - "base": "

", - "refs": { + "DescribeEngineDefaultClusterParametersMessage":{ + "base":"

", + "refs":{ } }, - "DescribeEngineDefaultParametersResult": { - "base": null, - "refs": { + "DescribeEngineDefaultClusterParametersResult":{ + "base":null, + "refs":{ } }, - "DescribeEventCategoriesMessage": { - "base": "

", - "refs": { + "DescribeEngineDefaultParametersMessage":{ + "base":"

", + "refs":{ } }, - "DescribeEventSubscriptionsMessage": { - "base": "

", - "refs": { + "DescribeEngineDefaultParametersResult":{ + "base":null, + "refs":{ } }, - "DescribeEventsMessage": { - "base": "

", - "refs": { + "DescribeEventCategoriesMessage":{ + "base":"

", + "refs":{ } }, - "DescribeOptionGroupOptionsMessage": { - "base": "

", - "refs": { + "DescribeEventSubscriptionsMessage":{ + "base":"

", + "refs":{ } }, - "DescribeOptionGroupsMessage": { - "base": "

", - "refs": { + "DescribeEventsMessage":{ + "base":"

", + "refs":{ } }, - "DescribeOrderableDBInstanceOptionsMessage": { - "base": "

", - "refs": { + "DescribeOptionGroupOptionsMessage":{ + "base":"

", + "refs":{ } }, - "DescribePendingMaintenanceActionsMessage": { - "base": "

", - "refs": { + "DescribeOptionGroupsMessage":{ + "base":"

", + "refs":{ } }, - "DescribeReservedDBInstancesMessage": { - "base": "

", - "refs": { + "DescribeOrderableDBInstanceOptionsMessage":{ + "base":"

", + "refs":{ } }, - "DescribeReservedDBInstancesOfferingsMessage": { - "base": "

", - "refs": { + "DescribePendingMaintenanceActionsMessage":{ + "base":"

", + "refs":{ } }, - "DescribeSourceRegionsMessage": { - "base": "

", - "refs": { + "DescribeReservedDBInstancesMessage":{ + "base":"

", + "refs":{ } }, - "DescribeValidDBInstanceModificationsMessage": { - "base": "

", - "refs": { + "DescribeReservedDBInstancesOfferingsMessage":{ + "base":"

", + "refs":{ } }, - "DescribeValidDBInstanceModificationsResult": { - "base": null, - "refs": { + "DescribeSourceRegionsMessage":{ + "base":"

", + "refs":{ } }, - "DomainMembership": { - "base": "

An Active Directory Domain membership record associated with the DB instance.

", - "refs": { - "DomainMembershipList$member": null + "DescribeValidDBInstanceModificationsMessage":{ + "base":"

", + "refs":{ } }, - "DomainMembershipList": { - "base": "

List of Active Directory Domain membership records associated with a DB instance.

", - "refs": { - "DBInstance$DomainMemberships": "

The Active Directory Domain membership records associated with the DB instance.

" + "DescribeValidDBInstanceModificationsResult":{ + "base":null, + "refs":{ } }, - "DomainNotFoundFault": { - "base": "

Domain does not refer to an existing Active Directory Domain.

", - "refs": { + "DomainMembership":{ + "base":"

An Active Directory Domain membership record associated with the DB instance.

", + "refs":{ + "DomainMembershipList$member":null } }, - "Double": { - "base": null, - "refs": { - "DoubleRange$From": "

The minimum value in the range.

", - "DoubleRange$To": "

The maximum value in the range.

", - "RecurringCharge$RecurringChargeAmount": "

The amount of the recurring charge.

", - "ReservedDBInstance$FixedPrice": "

The fixed price charged for this reserved DB instance.

", - "ReservedDBInstance$UsagePrice": "

The hourly price charged for this reserved DB instance.

", - "ReservedDBInstancesOffering$FixedPrice": "

The fixed price charged for this offering.

", - "ReservedDBInstancesOffering$UsagePrice": "

The hourly price charged for this offering.

" + "DomainMembershipList":{ + "base":"

List of Active Directory Domain membership records associated with a DB instance.

", + "refs":{ + "DBInstance$DomainMemberships":"

The Active Directory Domain membership records associated with the DB instance.

" } }, - "DoubleOptional": { - "base": null, - "refs": { - "OrderableDBInstanceOption$MinIopsPerGib": "

Minimum provisioned IOPS per GiB for a DB instance.

", - "OrderableDBInstanceOption$MaxIopsPerGib": "

Maximum provisioned IOPS per GiB for a DB instance.

" + "DomainNotFoundFault":{ + "base":"

Domain doesn't refer to an existing Active Directory domain.

", + "refs":{ } }, - "DoubleRange": { - "base": "

A range of double values.

", - "refs": { - "DoubleRangeList$member": null + "Double":{ + "base":null, + "refs":{ + "DoubleRange$From":"

The minimum value in the range.

", + "DoubleRange$To":"

The maximum value in the range.

", + "RecurringCharge$RecurringChargeAmount":"

The amount of the recurring charge.

", + "ReservedDBInstance$FixedPrice":"

The fixed price charged for this reserved DB instance.

", + "ReservedDBInstance$UsagePrice":"

The hourly price charged for this reserved DB instance.

", + "ReservedDBInstancesOffering$FixedPrice":"

The fixed price charged for this offering.

", + "ReservedDBInstancesOffering$UsagePrice":"

The hourly price charged for this offering.

" } }, - "DoubleRangeList": { - "base": null, - "refs": { - "ValidStorageOptions$IopsToStorageRatio": "

The valid range of Provisioned IOPS to gigabytes of storage multiplier. For example, 3-10, which means that provisioned IOPS can be between 3 and 10 times storage.

" + "DoubleOptional":{ + "base":null, + "refs":{ + "OrderableDBInstanceOption$MinIopsPerGib":"

Minimum provisioned IOPS per GiB for a DB instance.

", + "OrderableDBInstanceOption$MaxIopsPerGib":"

Maximum provisioned IOPS per GiB for a DB instance.

" } }, - "DownloadDBLogFilePortionDetails": { - "base": "

This data type is used as a response element to DownloadDBLogFilePortion.

", - "refs": { + "DoubleRange":{ + "base":"

A range of double values.

", + "refs":{ + "DoubleRangeList$member":null } }, - "DownloadDBLogFilePortionMessage": { - "base": "

", - "refs": { + "DoubleRangeList":{ + "base":null, + "refs":{ + "ValidStorageOptions$IopsToStorageRatio":"

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.

" } }, - "EC2SecurityGroup": { - "base": "

This data type is used as a response element in the following actions:

", - "refs": { - "EC2SecurityGroupList$member": null + "DownloadDBLogFilePortionDetails":{ + "base":"

This data type is used as a response element to DownloadDBLogFilePortion.

", + "refs":{ } }, - "EC2SecurityGroupList": { - "base": null, - "refs": { - "DBSecurityGroup$EC2SecurityGroups": "

Contains a list of EC2SecurityGroup elements.

" + "DownloadDBLogFilePortionMessage":{ + "base":"

", + "refs":{ } }, - "Endpoint": { - "base": "

This data type is used as a response element in the following actions:

", - "refs": { - "DBInstance$Endpoint": "

Specifies the connection endpoint.

" + "EC2SecurityGroup":{ + "base":"

This data type is used as a response element in the following actions:

", + "refs":{ + "EC2SecurityGroupList$member":null } }, - "EngineDefaults": { - "base": "

Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

", - "refs": { - "DescribeEngineDefaultClusterParametersResult$EngineDefaults": null, - "DescribeEngineDefaultParametersResult$EngineDefaults": null + "EC2SecurityGroupList":{ + "base":null, + "refs":{ + "DBSecurityGroup$EC2SecurityGroups":"

Contains a list of EC2SecurityGroup elements.

" } }, - "Event": { - "base": "

This data type is used as a response element in the DescribeEvents action.

", - "refs": { - "EventList$member": null + "Endpoint":{ + "base":"

This data type is used as a response element in the following actions:

", + "refs":{ + "DBInstance$Endpoint":"

Specifies the connection endpoint.

" } }, - "EventCategoriesList": { - "base": null, - "refs": { - "CreateEventSubscriptionMessage$EventCategories": "

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.

", - "DescribeEventsMessage$EventCategories": "

A list of event categories that trigger notifications for a event notification subscription.

", - "Event$EventCategories": "

Specifies the category for the event.

", - "EventCategoriesMap$EventCategories": "

The event categories for the specified source type

", - "EventSubscription$EventCategoriesList": "

A list of event categories for the RDS event notification subscription.

", - "ModifyEventSubscriptionMessage$EventCategories": "

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.

" + "EngineDefaults":{ + "base":"

Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

", + "refs":{ + "DescribeEngineDefaultClusterParametersResult$EngineDefaults":null, + "DescribeEngineDefaultParametersResult$EngineDefaults":null } }, - "EventCategoriesMap": { - "base": "

Contains the results of a successful invocation of the DescribeEventCategories action.

", - "refs": { - "EventCategoriesMapList$member": null + "Event":{ + "base":"

This data type is used as a response element in the DescribeEvents action.

", + "refs":{ + "EventList$member":null } }, - "EventCategoriesMapList": { - "base": null, - "refs": { - "EventCategoriesMessage$EventCategoriesMapList": "

A list of EventCategoriesMap data types.

" + "EventCategoriesList":{ + "base":null, + "refs":{ + "CreateEventSubscriptionMessage$EventCategories":"

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.

", + "DescribeEventsMessage$EventCategories":"

A list of event categories that trigger notifications for a event notification subscription.

", + "Event$EventCategories":"

Specifies the category for the event.

", + "EventCategoriesMap$EventCategories":"

The event categories for the specified source type

", + "EventSubscription$EventCategoriesList":"

A list of event categories for the RDS event notification subscription.

", + "ModifyEventSubscriptionMessage$EventCategories":"

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.

" } }, - "EventCategoriesMessage": { - "base": "

Data returned from the DescribeEventCategories action.

", - "refs": { + "EventCategoriesMap":{ + "base":"

Contains the results of a successful invocation of the DescribeEventCategories action.

", + "refs":{ + "EventCategoriesMapList$member":null } }, - "EventList": { - "base": null, - "refs": { - "EventsMessage$Events": "

A list of Event instances.

" + "EventCategoriesMapList":{ + "base":null, + "refs":{ + "EventCategoriesMessage$EventCategoriesMapList":"

A list of EventCategoriesMap data types.

" } }, - "EventSubscription": { - "base": "

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

", - "refs": { - "AddSourceIdentifierToSubscriptionResult$EventSubscription": null, - "CreateEventSubscriptionResult$EventSubscription": null, - "DeleteEventSubscriptionResult$EventSubscription": null, - "EventSubscriptionsList$member": null, - "ModifyEventSubscriptionResult$EventSubscription": null, - "RemoveSourceIdentifierFromSubscriptionResult$EventSubscription": null + "EventCategoriesMessage":{ + "base":"

Data returned from the DescribeEventCategories action.

", + "refs":{ } }, - "EventSubscriptionQuotaExceededFault": { - "base": "

You have reached the maximum number of event subscriptions.

", - "refs": { + "EventList":{ + "base":null, + "refs":{ + "EventsMessage$Events":"

A list of Event instances.

" } }, - "EventSubscriptionsList": { - "base": null, - "refs": { - "EventSubscriptionsMessage$EventSubscriptionsList": "

A list of EventSubscriptions data types.

" + "EventSubscription":{ + "base":"

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

", + "refs":{ + "AddSourceIdentifierToSubscriptionResult$EventSubscription":null, + "CreateEventSubscriptionResult$EventSubscription":null, + "DeleteEventSubscriptionResult$EventSubscription":null, + "EventSubscriptionsList$member":null, + "ModifyEventSubscriptionResult$EventSubscription":null, + "RemoveSourceIdentifierFromSubscriptionResult$EventSubscription":null } }, - "EventSubscriptionsMessage": { - "base": "

Data returned by the DescribeEventSubscriptions action.

", - "refs": { + "EventSubscriptionQuotaExceededFault":{ + "base":"

You have reached the maximum number of event subscriptions.

", + "refs":{ } }, - "EventsMessage": { - "base": "

Contains the result of a successful invocation of the DescribeEvents action.

", - "refs": { + "EventSubscriptionsList":{ + "base":null, + "refs":{ + "EventSubscriptionsMessage$EventSubscriptionsList":"

A list of EventSubscriptions data types.

" } }, - "FailoverDBClusterMessage": { - "base": "

", - "refs": { + "EventSubscriptionsMessage":{ + "base":"

Data returned by the DescribeEventSubscriptions action.

", + "refs":{ } }, - "FailoverDBClusterResult": { - "base": null, - "refs": { + "EventsMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeEvents action.

", + "refs":{ } }, - "Filter": { - "base": "

This type is not currently supported.

", - "refs": { - "FilterList$member": null + "FailoverDBClusterMessage":{ + "base":"

", + "refs":{ + } + }, + "FailoverDBClusterResult":{ + "base":null, + "refs":{ + } + }, + "Filter":{ + "base":"

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:

", + "refs":{ + "FilterList$member":null + } + }, + "FilterList":{ + "base":null, + "refs":{ + "DescribeCertificatesMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBClusterBacktracksMessage$Filters":"

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.

", + "DescribeDBClusterParameterGroupsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBClusterParametersMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBClusterSnapshotsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBClustersMessage$Filters":"

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.

", + "DescribeDBEngineVersionsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBInstancesMessage$Filters":"

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.

", + "DescribeDBLogFilesMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBParameterGroupsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBParametersMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBSecurityGroupsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBSnapshotsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeDBSubnetGroupsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeEngineDefaultClusterParametersMessage$Filters":"

This parameter is not currently supported.

", + "DescribeEngineDefaultParametersMessage$Filters":"

This parameter is not currently supported.

", + "DescribeEventCategoriesMessage$Filters":"

This parameter is not currently supported.

", + "DescribeEventSubscriptionsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeEventsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeOptionGroupOptionsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeOptionGroupsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeOrderableDBInstanceOptionsMessage$Filters":"

This parameter is not currently supported.

", + "DescribePendingMaintenanceActionsMessage$Filters":"

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.

", + "DescribeReservedDBInstancesMessage$Filters":"

This parameter is not currently supported.

", + "DescribeReservedDBInstancesOfferingsMessage$Filters":"

This parameter is not currently supported.

", + "DescribeSourceRegionsMessage$Filters":"

This parameter is not currently supported.

", + "ListTagsForResourceMessage$Filters":"

This parameter is not currently supported.

" + } + }, + "FilterValueList":{ + "base":null, + "refs":{ + "Filter$Values":"

One or more filter values. Filter values are case-sensitive.

" + } + }, + "IPRange":{ + "base":"

This data type is used as a response element in the DescribeDBSecurityGroups action.

", + "refs":{ + "IPRangeList$member":null + } + }, + "IPRangeList":{ + "base":null, + "refs":{ + "DBSecurityGroup$IPRanges":"

Contains a list of IPRange elements.

" + } + }, + "InstanceQuotaExceededFault":{ + "base":"

The request would result in the user exceeding the allowed number of DB instances.

", + "refs":{ + } + }, + "InsufficientDBClusterCapacityFault":{ + "base":"

The DB cluster doesn't have enough capacity for the current operation.

", + "refs":{ + } + }, + "InsufficientDBInstanceCapacityFault":{ + "base":"

The specified DB instance class isn't available in the specified Availability Zone.

", + "refs":{ + } + }, + "InsufficientStorageClusterCapacityFault":{ + "base":"

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.

", + "refs":{ + } + }, + "Integer":{ + "base":null, + "refs":{ + "DBClusterSnapshot$AllocatedStorage":"

Specifies the allocated storage size in gibibytes (GiB).

", + "DBClusterSnapshot$Port":"

Specifies the port that the DB cluster was listening on at the time of the snapshot.

", + "DBClusterSnapshot$PercentProgress":"

Specifies the percentage of the estimated data that has been transferred.

", + "DBInstance$AllocatedStorage":"

Specifies the allocated storage size specified in gibibytes.

", + "DBInstance$BackupRetentionPeriod":"

Specifies the number of days for which automatic DB snapshots are retained.

", + "DBInstance$DbInstancePort":"

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.

", + "DBSnapshot$AllocatedStorage":"

Specifies the allocated storage size in gibibytes (GiB).

", + "DBSnapshot$Port":"

Specifies the port that the database engine was listening on at the time of the snapshot.

", + "DBSnapshot$PercentProgress":"

The percentage of the estimated data that has been transferred.

", + "DownloadDBLogFilePortionMessage$NumberOfLines":"

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.

", + "Endpoint$Port":"

Specifies the port that the database engine is listening on.

", + "Range$From":"

The minimum value in the range.

", + "Range$To":"

The maximum value in the range.

", + "ReservedDBInstance$Duration":"

The duration of the reservation in seconds.

", + "ReservedDBInstance$DBInstanceCount":"

The number of reserved DB instances.

", + "ReservedDBInstancesOffering$Duration":"

The duration of the offering in seconds.

" + } + }, + "IntegerOptional":{ + "base":null, + "refs":{ + "CreateDBClusterMessage$BackupRetentionPeriod":"

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

", + "CreateDBClusterMessage$Port":"

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.

", + "CreateDBInstanceMessage$AllocatedStorage":"

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.

", + "CreateDBInstanceMessage$BackupRetentionPeriod":"

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

", + "CreateDBInstanceMessage$Port":"

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

", + "CreateDBInstanceMessage$Iops":"

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.

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.

", + "CreateDBInstanceMessage$MonitoringInterval":"

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

", + "CreateDBInstanceMessage$PromotionTier":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster.

Default: 1

Valid Values: 0 - 15

", + "CreateDBInstanceMessage$PerformanceInsightsRetentionPeriod":"

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

", + "CreateDBInstanceReadReplicaMessage$Port":"

The port number that the DB instance uses for connections.

Default: Inherits from the source DB instance

Valid Values: 1150-65535

", + "CreateDBInstanceReadReplicaMessage$Iops":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

", + "CreateDBInstanceReadReplicaMessage$MonitoringInterval":"

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

", + "CreateDBInstanceReadReplicaMessage$PerformanceInsightsRetentionPeriod":"

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

", + "DBCluster$AllocatedStorage":"

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.

", + "DBCluster$BackupRetentionPeriod":"

Specifies the number of days for which automatic DB snapshots are retained.

", + "DBCluster$Port":"

Specifies the port that the database engine is listening on.

", + "DBClusterMember$PromotionTier":"

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.

", + "DBInstance$Iops":"

Specifies the Provisioned IOPS (I/O operations per second) value.

", + "DBInstance$MonitoringInterval":"

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.

", + "DBInstance$PromotionTier":"

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.

", + "DBInstance$PerformanceInsightsRetentionPeriod":"

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

", + "DBSnapshot$Iops":"

Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.

", + "DescribeCertificatesMessage$MaxRecords":"

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.

", + "DescribeDBClusterBacktracksMessage$MaxRecords":"

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.

", + "DescribeDBClusterParameterGroupsMessage$MaxRecords":"

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.

", + "DescribeDBClusterParametersMessage$MaxRecords":"

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.

", + "DescribeDBClusterSnapshotsMessage$MaxRecords":"

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.

", + "DescribeDBClustersMessage$MaxRecords":"

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.

", + "DescribeDBEngineVersionsMessage$MaxRecords":"

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.

", + "DescribeDBInstancesMessage$MaxRecords":"

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.

", + "DescribeDBLogFilesMessage$MaxRecords":"

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.

", + "DescribeDBParameterGroupsMessage$MaxRecords":"

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.

", + "DescribeDBParametersMessage$MaxRecords":"

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.

", + "DescribeDBSecurityGroupsMessage$MaxRecords":"

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.

", + "DescribeDBSnapshotsMessage$MaxRecords":"

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.

", + "DescribeDBSubnetGroupsMessage$MaxRecords":"

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.

", + "DescribeEngineDefaultClusterParametersMessage$MaxRecords":"

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.

", + "DescribeEngineDefaultParametersMessage$MaxRecords":"

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.

", + "DescribeEventSubscriptionsMessage$MaxRecords":"

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.

", + "DescribeEventsMessage$Duration":"

The number of minutes to retrieve events for.

Default: 60

", + "DescribeEventsMessage$MaxRecords":"

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.

", + "DescribeOptionGroupOptionsMessage$MaxRecords":"

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.

", + "DescribeOptionGroupsMessage$MaxRecords":"

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.

", + "DescribeOrderableDBInstanceOptionsMessage$MaxRecords":"

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.

", + "DescribePendingMaintenanceActionsMessage$MaxRecords":"

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.

", + "DescribeReservedDBInstancesMessage$MaxRecords":"

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.

", + "DescribeReservedDBInstancesOfferingsMessage$MaxRecords":"

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.

", + "DescribeSourceRegionsMessage$MaxRecords":"

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.

", + "ModifyDBClusterMessage$BackupRetentionPeriod":"

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

", + "ModifyDBClusterMessage$Port":"

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.

", + "ModifyDBInstanceMessage$AllocatedStorage":"

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.

", + "ModifyDBInstanceMessage$BackupRetentionPeriod":"

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

", + "ModifyDBInstanceMessage$Iops":"

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

", + "ModifyDBInstanceMessage$MonitoringInterval":"

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

", + "ModifyDBInstanceMessage$DBPortNumber":"

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

", + "ModifyDBInstanceMessage$PromotionTier":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster.

Default: 1

Valid Values: 0 - 15

", + "ModifyDBInstanceMessage$PerformanceInsightsRetentionPeriod":"

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

", + "Option$Port":"

If required, the port configured for this option to use.

", + "OptionConfiguration$Port":"

The optional port for the option.

", + "OptionGroupOption$DefaultPort":"

If the option requires a port, specifies the default port for the option.

", + "OrderableDBInstanceOption$MinStorageSize":"

Minimum storage size for a DB instance.

", + "OrderableDBInstanceOption$MaxStorageSize":"

Maximum storage size for a DB instance.

", + "OrderableDBInstanceOption$MinIopsPerDbInstance":"

Minimum total provisioned IOPS for a DB instance.

", + "OrderableDBInstanceOption$MaxIopsPerDbInstance":"

Maximum total provisioned IOPS for a DB instance.

", + "PendingModifiedValues$AllocatedStorage":"

Contains the new AllocatedStorage size for the DB instance that will be applied or is currently being applied.

", + "PendingModifiedValues$Port":"

Specifies the pending port for the DB instance.

", + "PendingModifiedValues$BackupRetentionPeriod":"

Specifies the pending number of days for which automated backups are retained.

", + "PendingModifiedValues$Iops":"

Specifies the new Provisioned IOPS value for the DB instance that will be applied or is currently being applied.

", + "PromoteReadReplicaMessage$BackupRetentionPeriod":"

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

", + "PurchaseReservedDBInstancesOfferingMessage$DBInstanceCount":"

The number of instances to reserve.

Default: 1

", + "Range$Step":"

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...

", + "RestoreDBClusterFromS3Message$BackupRetentionPeriod":"

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

", + "RestoreDBClusterFromS3Message$Port":"

The port number on which the instances in the restored DB cluster accept connections.

Default: 3306

", + "RestoreDBClusterFromSnapshotMessage$Port":"

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.

", + "RestoreDBClusterToPointInTimeMessage$Port":"

The port number on which the new DB cluster accepts connections.

Constraints: A value from 1150-65535.

Default: The default port for the engine.

", + "RestoreDBInstanceFromDBSnapshotMessage$Port":"

The port number on which the database accepts connections.

Default: The same port as the original DB instance

Constraints: Value must be 1150-65535

", + "RestoreDBInstanceFromDBSnapshotMessage$Iops":"

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.

Constraints: Must be an integer greater than 1000.

", + "RestoreDBInstanceFromS3Message$AllocatedStorage":"

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.

", + "RestoreDBInstanceFromS3Message$BackupRetentionPeriod":"

The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. For more information, see CreateDBInstance.

", + "RestoreDBInstanceFromS3Message$Port":"

The port number on which the database accepts connections.

Type: Integer

Valid Values: 1150-65535

Default: 3306

", + "RestoreDBInstanceFromS3Message$Iops":"

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.

", + "RestoreDBInstanceFromS3Message$MonitoringInterval":"

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

", + "RestoreDBInstanceFromS3Message$PerformanceInsightsRetentionPeriod":"

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

", + "RestoreDBInstanceToPointInTimeMessage$Port":"

The port number on which the database accepts connections.

Constraints: Value must be 1150-65535

Default: The same port as the original DB instance.

", + "RestoreDBInstanceToPointInTimeMessage$Iops":"

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.

" + } + }, + "InvalidDBClusterSnapshotStateFault":{ + "base":"

The supplied value isn't a valid DB cluster snapshot state.

", + "refs":{ + } + }, + "InvalidDBClusterStateFault":{ + "base":"

The DB cluster isn't in a valid state.

", + "refs":{ + } + }, + "InvalidDBInstanceStateFault":{ + "base":"

The specified DB instance isn't in the available state.

", + "refs":{ + } + }, + "InvalidDBParameterGroupStateFault":{ + "base":"

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.

", + "refs":{ + } + }, + "InvalidDBSecurityGroupStateFault":{ + "base":"

The state of the DB security group doesn't allow deletion.

", + "refs":{ + } + }, + "InvalidDBSnapshotStateFault":{ + "base":"

The state of the DB snapshot doesn't allow deletion.

", + "refs":{ + } + }, + "InvalidDBSubnetGroupFault":{ + "base":"

The DBSubnetGroup doesn't belong to the same VPC as that of an existing cross-region read replica of the same source instance.

", + "refs":{ + } + }, + "InvalidDBSubnetGroupStateFault":{ + "base":"

The DB subnet group cannot be deleted because it's in use.

", + "refs":{ + } + }, + "InvalidDBSubnetStateFault":{ + "base":"

The DB subnet isn't in the available state.

", + "refs":{ + } + }, + "InvalidEventSubscriptionStateFault":{ + "base":"

This error can occur if someone else is modifying a subscription. You should retry the action.

", + "refs":{ } }, - "FilterList": { - "base": null, - "refs": { - "DescribeCertificatesMessage$Filters": "

This parameter is not currently supported.

", - "DescribeDBClusterParameterGroupsMessage$Filters": "

This parameter is not currently supported.

", - "DescribeDBClusterParametersMessage$Filters": "

This parameter is not currently supported.

", - "DescribeDBClusterSnapshotsMessage$Filters": "

This parameter is not currently supported.

", - "DescribeDBClustersMessage$Filters": "

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.

", - "DescribeDBEngineVersionsMessage$Filters": "

Not currently supported.

", - "DescribeDBInstancesMessage$Filters": "

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.

", - "DescribeDBLogFilesMessage$Filters": "

This parameter is not currently supported.

", - "DescribeDBParameterGroupsMessage$Filters": "

This parameter is not currently supported.

", - "DescribeDBParametersMessage$Filters": "

This parameter is not currently supported.

", - "DescribeDBSecurityGroupsMessage$Filters": "

This parameter is not currently supported.

", - "DescribeDBSnapshotsMessage$Filters": "

This parameter is not currently supported.

", - "DescribeDBSubnetGroupsMessage$Filters": "

This parameter is not currently supported.

", - "DescribeEngineDefaultClusterParametersMessage$Filters": "

This parameter is not currently supported.

", - "DescribeEngineDefaultParametersMessage$Filters": "

Not currently supported.

", - "DescribeEventCategoriesMessage$Filters": "

This parameter is not currently supported.

", - "DescribeEventSubscriptionsMessage$Filters": "

This parameter is not currently supported.

", - "DescribeEventsMessage$Filters": "

This parameter is not currently supported.

", - "DescribeOptionGroupOptionsMessage$Filters": "

This parameter is not currently supported.

", - "DescribeOptionGroupsMessage$Filters": "

This parameter is not currently supported.

", - "DescribeOrderableDBInstanceOptionsMessage$Filters": "

This parameter is not currently supported.

", - "DescribePendingMaintenanceActionsMessage$Filters": "

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.

", - "DescribeReservedDBInstancesMessage$Filters": "

This parameter is not currently supported.

", - "DescribeReservedDBInstancesOfferingsMessage$Filters": "

This parameter is not currently supported.

", - "DescribeSourceRegionsMessage$Filters": "

This parameter is not currently supported.

", - "ListTagsForResourceMessage$Filters": "

This parameter is not currently supported.

" - } - }, - "FilterValueList": { - "base": null, - "refs": { - "Filter$Values": "

This parameter is not currently supported.

" - } - }, - "IPRange": { - "base": "

This data type is used as a response element in the DescribeDBSecurityGroups action.

", - "refs": { - "IPRangeList$member": null - } - }, - "IPRangeList": { - "base": null, - "refs": { - "DBSecurityGroup$IPRanges": "

Contains a list of IPRange elements.

" - } - }, - "InstanceQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB instances.

", - "refs": { - } - }, - "InsufficientDBClusterCapacityFault": { - "base": "

The DB cluster does not have enough capacity for the current operation.

", - "refs": { - } - }, - "InsufficientDBInstanceCapacityFault": { - "base": "

Specified DB instance class is not available in the specified Availability Zone.

", - "refs": { - } - }, - "InsufficientStorageClusterCapacityFault": { - "base": "

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.

", - "refs": { - } - }, - "Integer": { - "base": null, - "refs": { - "DBClusterSnapshot$AllocatedStorage": "

Specifies the allocated storage size in gigabytes (GB).

", - "DBClusterSnapshot$Port": "

Specifies the port that the DB cluster was listening on at the time of the snapshot.

", - "DBClusterSnapshot$PercentProgress": "

Specifies the percentage of the estimated data that has been transferred.

", - "DBInstance$AllocatedStorage": "

Specifies the allocated storage size specified in gigabytes.

", - "DBInstance$BackupRetentionPeriod": "

Specifies the number of days for which automatic DB snapshots are retained.

", - "DBInstance$DbInstancePort": "

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.

", - "DBSnapshot$AllocatedStorage": "

Specifies the allocated storage size in gigabytes (GB).

", - "DBSnapshot$Port": "

Specifies the port that the database engine was listening on at the time of the snapshot.

", - "DBSnapshot$PercentProgress": "

The percentage of the estimated data that has been transferred.

", - "DownloadDBLogFilePortionMessage$NumberOfLines": "

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.

", - "Endpoint$Port": "

Specifies the port that the database engine is listening on.

", - "Range$From": "

The minimum value in the range.

", - "Range$To": "

The maximum value in the range.

", - "ReservedDBInstance$Duration": "

The duration of the reservation in seconds.

", - "ReservedDBInstance$DBInstanceCount": "

The number of reserved DB instances.

", - "ReservedDBInstancesOffering$Duration": "

The duration of the offering in seconds.

" - } - }, - "IntegerOptional": { - "base": null, - "refs": { - "CreateDBClusterMessage$BackupRetentionPeriod": "

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

", - "CreateDBClusterMessage$Port": "

The port number on which the instances in the DB cluster accept connections.

Default: 3306

", - "CreateDBInstanceMessage$AllocatedStorage": "

The amount of storage (in gigabytes) to be initially allocated 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 5 to 6144.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 6144.

  • 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 5 to 6144.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 6144.

  • 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 5 to 6144.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 6144.

  • 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 10 to 6144.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 6144.

  • 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.

", - "CreateDBInstanceMessage$BackupRetentionPeriod": "

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

", - "CreateDBInstanceMessage$Port": "

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

", - "CreateDBInstanceMessage$Iops": "

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.

Constraints: Must be a multiple between 3 and 10 of the storage amount for the DB instance. Must also be an integer multiple of 1000. For example, if the size of your DB instance is 500 GB, then your Iops value can be 2000, 3000, 4000, or 5000.

", - "CreateDBInstanceMessage$MonitoringInterval": "

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

", - "CreateDBInstanceMessage$PromotionTier": "

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster.

Default: 1

Valid Values: 0 - 15

", - "CreateDBInstanceReadReplicaMessage$Port": "

The port number that the DB instance uses for connections.

Default: Inherits from the source DB instance

Valid Values: 1150-65535

", - "CreateDBInstanceReadReplicaMessage$Iops": "

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

", - "CreateDBInstanceReadReplicaMessage$MonitoringInterval": "

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

", - "DBCluster$AllocatedStorage": "

For all database engines except Amazon Aurora, AllocatedStorage specifies the allocated storage size in gigabytes (GB). For Aurora, AllocatedStorage always returns 1, because Aurora DB cluster storage size is not fixed, but instead automatically adjusts as needed.

", - "DBCluster$BackupRetentionPeriod": "

Specifies the number of days for which automatic DB snapshots are retained.

", - "DBCluster$Port": "

Specifies the port that the database engine is listening on.

", - "DBClusterMember$PromotionTier": "

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.

", - "DBInstance$Iops": "

Specifies the Provisioned IOPS (I/O operations per second) value.

", - "DBInstance$MonitoringInterval": "

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.

", - "DBInstance$PromotionTier": "

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.

", - "DBSnapshot$Iops": "

Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.

", - "DescribeCertificatesMessage$MaxRecords": "

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.

", - "DescribeDBClusterParameterGroupsMessage$MaxRecords": "

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.

", - "DescribeDBClusterParametersMessage$MaxRecords": "

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.

", - "DescribeDBClusterSnapshotsMessage$MaxRecords": "

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.

", - "DescribeDBClustersMessage$MaxRecords": "

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.

", - "DescribeDBEngineVersionsMessage$MaxRecords": "

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.

", - "DescribeDBInstancesMessage$MaxRecords": "

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.

", - "DescribeDBLogFilesMessage$MaxRecords": "

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.

", - "DescribeDBParameterGroupsMessage$MaxRecords": "

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.

", - "DescribeDBParametersMessage$MaxRecords": "

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.

", - "DescribeDBSecurityGroupsMessage$MaxRecords": "

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.

", - "DescribeDBSnapshotsMessage$MaxRecords": "

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.

", - "DescribeDBSubnetGroupsMessage$MaxRecords": "

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.

", - "DescribeEngineDefaultClusterParametersMessage$MaxRecords": "

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.

", - "DescribeEngineDefaultParametersMessage$MaxRecords": "

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.

", - "DescribeEventSubscriptionsMessage$MaxRecords": "

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.

", - "DescribeEventsMessage$Duration": "

The number of minutes to retrieve events for.

Default: 60

", - "DescribeEventsMessage$MaxRecords": "

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.

", - "DescribeOptionGroupOptionsMessage$MaxRecords": "

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.

", - "DescribeOptionGroupsMessage$MaxRecords": "

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.

", - "DescribeOrderableDBInstanceOptionsMessage$MaxRecords": "

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.

", - "DescribePendingMaintenanceActionsMessage$MaxRecords": "

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.

", - "DescribeReservedDBInstancesMessage$MaxRecords": "

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.

", - "DescribeReservedDBInstancesOfferingsMessage$MaxRecords": "

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.

", - "DescribeSourceRegionsMessage$MaxRecords": "

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.

", - "ModifyDBClusterMessage$BackupRetentionPeriod": "

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

", - "ModifyDBClusterMessage$Port": "

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.

", - "ModifyDBInstanceMessage$AllocatedStorage": "

The new storage capacity of the RDS instance. Changing this setting does not result in an outage and the change is applied during the next maintenance window unless ApplyImmediately is set to true for this request.

MySQL

Default: Uses existing setting

Valid Values: 5-6144

Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

Type: Integer

MariaDB

Default: Uses existing setting

Valid Values: 5-6144

Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

Type: Integer

PostgreSQL

Default: Uses existing setting

Valid Values: 5-6144

Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

Type: Integer

Oracle

Default: Uses existing setting

Valid Values: 10-6144

Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

SQL Server

Cannot be modified.

If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance 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.

", - "ModifyDBInstanceMessage$BackupRetentionPeriod": "

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

", - "ModifyDBInstanceMessage$Iops": "

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 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.

", - "ModifyDBInstanceMessage$MonitoringInterval": "

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

", - "ModifyDBInstanceMessage$DBPortNumber": "

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

", - "ModifyDBInstanceMessage$PromotionTier": "

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster.

Default: 1

Valid Values: 0 - 15

", - "Option$Port": "

If required, the port configured for this option to use.

", - "OptionConfiguration$Port": "

The optional port for the option.

", - "OptionGroupOption$DefaultPort": "

If the option requires a port, specifies the default port for the option.

", - "OrderableDBInstanceOption$MinStorageSize": "

Minimum storage size for a DB instance.

", - "OrderableDBInstanceOption$MaxStorageSize": "

Maximum storage size for a DB instance.

", - "OrderableDBInstanceOption$MinIopsPerDbInstance": "

Minimum total provisioned IOPS for a DB instance.

", - "OrderableDBInstanceOption$MaxIopsPerDbInstance": "

Maximum total provisioned IOPS for a DB instance.

", - "PendingModifiedValues$AllocatedStorage": "

Contains the new AllocatedStorage size for the DB instance that will be applied or is currently being applied.

", - "PendingModifiedValues$Port": "

Specifies the pending port for the DB instance.

", - "PendingModifiedValues$BackupRetentionPeriod": "

Specifies the pending number of days for which automated backups are retained.

", - "PendingModifiedValues$Iops": "

Specifies the new Provisioned IOPS value for the DB instance that will be applied or is currently being applied.

", - "PromoteReadReplicaMessage$BackupRetentionPeriod": "

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

", - "PurchaseReservedDBInstancesOfferingMessage$DBInstanceCount": "

The number of instances to reserve.

Default: 1

", - "Range$Step": "

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...

", - "RestoreDBClusterFromS3Message$BackupRetentionPeriod": "

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

", - "RestoreDBClusterFromS3Message$Port": "

The port number on which the instances in the restored DB cluster accept connections.

Default: 3306

", - "RestoreDBClusterFromSnapshotMessage$Port": "

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.

", - "RestoreDBClusterToPointInTimeMessage$Port": "

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.

", - "RestoreDBInstanceFromDBSnapshotMessage$Port": "

The port number on which the database accepts connections.

Default: The same port as the original DB instance

Constraints: Value must be 1150-65535

", - "RestoreDBInstanceFromDBSnapshotMessage$Iops": "

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.

Constraints: Must be an integer greater than 1000.

", - "RestoreDBInstanceFromS3Message$AllocatedStorage": "

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.

", - "RestoreDBInstanceFromS3Message$BackupRetentionPeriod": "

The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. For more information, see CreateDBInstance.

", - "RestoreDBInstanceFromS3Message$Port": "

The port number on which the database accepts connections.

Type: Integer

Valid Values: 1150-65535

Default: 3306

", - "RestoreDBInstanceFromS3Message$Iops": "

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.

", - "RestoreDBInstanceFromS3Message$MonitoringInterval": "

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

", - "RestoreDBInstanceToPointInTimeMessage$Port": "

The port number on which the database accepts connections.

Constraints: Value must be 1150-65535

Default: The same port as the original DB instance.

", - "RestoreDBInstanceToPointInTimeMessage$Iops": "

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.

" - } - }, - "InvalidDBClusterSnapshotStateFault": { - "base": "

The supplied value is not a valid DB cluster snapshot state.

", - "refs": { - } - }, - "InvalidDBClusterStateFault": { - "base": "

The DB cluster is not in a valid state.

", - "refs": { - } - }, - "InvalidDBInstanceStateFault": { - "base": "

The specified DB instance is not in the available state.

", - "refs": { - } - }, - "InvalidDBParameterGroupStateFault": { - "base": "

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.

", - "refs": { - } - }, - "InvalidDBSecurityGroupStateFault": { - "base": "

The state of the DB security group does not allow deletion.

", - "refs": { - } - }, - "InvalidDBSnapshotStateFault": { - "base": "

The state of the DB snapshot does not allow deletion.

", - "refs": { + "InvalidOptionGroupStateFault":{ + "base":"

The option group isn't in the available state.

", + "refs":{ } }, - "InvalidDBSubnetGroupFault": { - "base": "

Indicates the DBSubnetGroup does not belong to the same VPC as that of an existing cross region read replica of the same source instance.

", - "refs": { + "InvalidRestoreFault":{ + "base":"

Cannot restore from VPC backup to non-VPC DB instance.

", + "refs":{ } }, - "InvalidDBSubnetGroupStateFault": { - "base": "

The DB subnet group cannot be deleted because it is in use.

", - "refs": { + "InvalidS3BucketFault":{ + "base":"

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.

", + "refs":{ } }, - "InvalidDBSubnetStateFault": { - "base": "

The DB subnet is not in the available state.

", - "refs": { + "InvalidSubnet":{ + "base":"

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

", + "refs":{ } }, - "InvalidEventSubscriptionStateFault": { - "base": "

This error can occur if someone else is modifying a subscription. You should retry the action.

", - "refs": { + "InvalidVPCNetworkStateFault":{ + "base":"

The DB subnet group doesn't cover all Availability Zones after it's created because of users' change.

", + "refs":{ } }, - "InvalidOptionGroupStateFault": { - "base": "

The option group is not in the available state.

", - "refs": { + "KMSKeyNotAccessibleFault":{ + "base":"

An error occurred accessing an AWS KMS key.

", + "refs":{ } }, - "InvalidRestoreFault": { - "base": "

Cannot restore from vpc backup to non-vpc DB instance.

", - "refs": { + "KeyList":{ + "base":null, + "refs":{ + "RemoveTagsFromResourceMessage$TagKeys":"

The tag key (name) of the tag to be removed.

" } }, - "InvalidS3BucketFault": { - "base": "

The specified Amazon S3 bucket name could not be found or Amazon RDS is not authorized to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and S3IngestionRoleArn values and try again.

", - "refs": { + "ListTagsForResourceMessage":{ + "base":"

", + "refs":{ } }, - "InvalidSubnet": { - "base": "

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

", - "refs": { + "LogTypeList":{ + "base":null, + "refs":{ + "CloudwatchLogsExportConfiguration$EnableLogTypes":"

The list of log types to enable.

", + "CloudwatchLogsExportConfiguration$DisableLogTypes":"

The list of log types to disable.

", + "CreateDBClusterMessage$EnableCloudwatchLogsExports":"

The list of log types that need to be enabled for exporting to CloudWatch Logs.

", + "CreateDBInstanceMessage$EnableCloudwatchLogsExports":"

The list of log types that need to be enabled for exporting to CloudWatch Logs.

", + "CreateDBInstanceReadReplicaMessage$EnableCloudwatchLogsExports":"

The list of logs that the new DB instance is to export to CloudWatch Logs.

", + "DBCluster$EnabledCloudwatchLogsExports":"

A list of log types that this DB cluster is configured to export to CloudWatch Logs.

", + "DBEngineVersion$ExportableLogTypes":"

The types of logs that the database engine has available for export to CloudWatch Logs.

", + "DBInstance$EnabledCloudwatchLogsExports":"

A list of log types that this DB instance is configured to export to CloudWatch Logs.

", + "PendingCloudwatchLogsExports$LogTypesToEnable":"

Log types that are in the process of being deactivated. After they are deactivated, these log types aren't exported to CloudWatch Logs.

", + "PendingCloudwatchLogsExports$LogTypesToDisable":"

Log types that are in the process of being enabled. After they are enabled, these log types are exported to CloudWatch Logs.

", + "RestoreDBClusterFromS3Message$EnableCloudwatchLogsExports":"

The list of logs that the restored DB cluster is to export to CloudWatch Logs.

", + "RestoreDBClusterFromSnapshotMessage$EnableCloudwatchLogsExports":"

The list of logs that the restored DB cluster is to export to CloudWatch Logs.

", + "RestoreDBClusterToPointInTimeMessage$EnableCloudwatchLogsExports":"

The list of logs that the restored DB cluster is to export to CloudWatch Logs.

", + "RestoreDBInstanceFromDBSnapshotMessage$EnableCloudwatchLogsExports":"

The list of logs that the restored DB instance is to export to CloudWatch Logs.

", + "RestoreDBInstanceFromS3Message$EnableCloudwatchLogsExports":"

The list of logs that the restored DB instance is to export to CloudWatch Logs.

", + "RestoreDBInstanceToPointInTimeMessage$EnableCloudwatchLogsExports":"

The list of logs that the restored DB instance is to export to CloudWatch Logs.

" } }, - "InvalidVPCNetworkStateFault": { - "base": "

DB subnet group does not cover all Availability Zones after it is created because users' change.

", - "refs": { + "Long":{ + "base":null, + "refs":{ + "AccountQuota$Used":"

The amount currently used toward the quota maximum.

", + "AccountQuota$Max":"

The maximum allowed value for the quota.

", + "DescribeDBLogFilesDetails$LastWritten":"

A POSIX timestamp when the last log entry was written.

", + "DescribeDBLogFilesDetails$Size":"

The size, in bytes, of the log file for the specified DB instance.

", + "DescribeDBLogFilesMessage$FileLastWritten":"

Filters the available log files for files written since the specified date, in POSIX timestamp format with milliseconds.

", + "DescribeDBLogFilesMessage$FileSize":"

Filters the available log files for files larger than the specified size.

" } }, - "KMSKeyNotAccessibleFault": { - "base": "

Error accessing KMS key.

", - "refs": { + "LongOptional":{ + "base":null, + "refs":{ + "CreateDBClusterMessage$BacktrackWindow":"

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).

", + "DBCluster$BacktrackWindow":"

The target backtrack window, in seconds. If this value is set to 0, backtracking is disabled for the DB cluster. Otherwise, backtracking is enabled.

", + "DBCluster$BacktrackConsumedChangeRecords":"

The number of change records stored for Backtrack.

", + "ModifyDBClusterMessage$BacktrackWindow":"

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).

", + "RestoreDBClusterFromS3Message$BacktrackWindow":"

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).

", + "RestoreDBClusterFromSnapshotMessage$BacktrackWindow":"

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).

", + "RestoreDBClusterToPointInTimeMessage$BacktrackWindow":"

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).

" } }, - "KeyList": { - "base": null, - "refs": { - "RemoveTagsFromResourceMessage$TagKeys": "

The tag key (name) of the tag to be removed.

" + "ModifyDBClusterMessage":{ + "base":"

", + "refs":{ } }, - "ListTagsForResourceMessage": { - "base": "

", - "refs": { + "ModifyDBClusterParameterGroupMessage":{ + "base":"

", + "refs":{ } }, - "Long": { - "base": null, - "refs": { - "AccountQuota$Used": "

The amount currently used toward the quota maximum.

", - "AccountQuota$Max": "

The maximum allowed value for the quota.

", - "DescribeDBLogFilesDetails$LastWritten": "

A POSIX timestamp when the last log entry was written.

", - "DescribeDBLogFilesDetails$Size": "

The size, in bytes, of the log file for the specified DB instance.

", - "DescribeDBLogFilesMessage$FileLastWritten": "

Filters the available log files for files written since the specified date, in POSIX timestamp format with milliseconds.

", - "DescribeDBLogFilesMessage$FileSize": "

Filters the available log files for files larger than the specified size.

" + "ModifyDBClusterResult":{ + "base":null, + "refs":{ } }, - "ModifyDBClusterMessage": { - "base": "

", - "refs": { + "ModifyDBClusterSnapshotAttributeMessage":{ + "base":"

", + "refs":{ } }, - "ModifyDBClusterParameterGroupMessage": { - "base": "

", - "refs": { + "ModifyDBClusterSnapshotAttributeResult":{ + "base":null, + "refs":{ } }, - "ModifyDBClusterResult": { - "base": null, - "refs": { + "ModifyDBInstanceMessage":{ + "base":"

", + "refs":{ } }, - "ModifyDBClusterSnapshotAttributeMessage": { - "base": "

", - "refs": { + "ModifyDBInstanceResult":{ + "base":null, + "refs":{ } }, - "ModifyDBClusterSnapshotAttributeResult": { - "base": null, - "refs": { + "ModifyDBParameterGroupMessage":{ + "base":"

", + "refs":{ } }, - "ModifyDBInstanceMessage": { - "base": "

", - "refs": { + "ModifyDBSnapshotAttributeMessage":{ + "base":"

", + "refs":{ } }, - "ModifyDBInstanceResult": { - "base": null, - "refs": { + "ModifyDBSnapshotAttributeResult":{ + "base":null, + "refs":{ } }, - "ModifyDBParameterGroupMessage": { - "base": "

", - "refs": { + "ModifyDBSnapshotMessage":{ + "base":null, + "refs":{ } }, - "ModifyDBSnapshotAttributeMessage": { - "base": "

", - "refs": { + "ModifyDBSnapshotResult":{ + "base":null, + "refs":{ } }, - "ModifyDBSnapshotAttributeResult": { - "base": null, - "refs": { + "ModifyDBSubnetGroupMessage":{ + "base":"

", + "refs":{ } }, - "ModifyDBSnapshotMessage": { - "base": null, - "refs": { + "ModifyDBSubnetGroupResult":{ + "base":null, + "refs":{ } }, - "ModifyDBSnapshotResult": { - "base": null, - "refs": { + "ModifyEventSubscriptionMessage":{ + "base":"

", + "refs":{ } }, - "ModifyDBSubnetGroupMessage": { - "base": "

", - "refs": { + "ModifyEventSubscriptionResult":{ + "base":null, + "refs":{ } }, - "ModifyDBSubnetGroupResult": { - "base": null, - "refs": { + "ModifyOptionGroupMessage":{ + "base":"

", + "refs":{ } }, - "ModifyEventSubscriptionMessage": { - "base": "

", - "refs": { + "ModifyOptionGroupResult":{ + "base":null, + "refs":{ } }, - "ModifyEventSubscriptionResult": { - "base": null, - "refs": { + "Option":{ + "base":"

Option details.

", + "refs":{ + "OptionsList$member":null } }, - "ModifyOptionGroupMessage": { - "base": "

", - "refs": { + "OptionConfiguration":{ + "base":"

A list of all available options

", + "refs":{ + "OptionConfigurationList$member":null } }, - "ModifyOptionGroupResult": { - "base": null, - "refs": { + "OptionConfigurationList":{ + "base":null, + "refs":{ + "ModifyOptionGroupMessage$OptionsToInclude":"

Options in this list are added to the option group or, if already present, the specified configuration is used to update the existing configuration.

" } }, - "Option": { - "base": "

Option details.

", - "refs": { - "OptionsList$member": null + "OptionGroup":{ + "base":"

", + "refs":{ + "CopyOptionGroupResult$OptionGroup":null, + "CreateOptionGroupResult$OptionGroup":null, + "ModifyOptionGroupResult$OptionGroup":null, + "OptionGroupsList$member":null } }, - "OptionConfiguration": { - "base": "

A list of all available options

", - "refs": { - "OptionConfigurationList$member": null + "OptionGroupAlreadyExistsFault":{ + "base":"

The option group you are trying to create already exists.

", + "refs":{ } }, - "OptionConfigurationList": { - "base": null, - "refs": { - "ModifyOptionGroupMessage$OptionsToInclude": "

Options in this list are added to the option group or, if already present, the specified configuration is used to update the existing configuration.

" + "OptionGroupMembership":{ + "base":"

Provides information on the option groups the DB instance is a member of.

", + "refs":{ + "OptionGroupMembershipList$member":null } }, - "OptionGroup": { - "base": "

", - "refs": { - "CopyOptionGroupResult$OptionGroup": null, - "CreateOptionGroupResult$OptionGroup": null, - "ModifyOptionGroupResult$OptionGroup": null, - "OptionGroupsList$member": null + "OptionGroupMembershipList":{ + "base":null, + "refs":{ + "DBInstance$OptionGroupMemberships":"

Provides the list of option group memberships for this DB instance.

" } }, - "OptionGroupAlreadyExistsFault": { - "base": "

The option group you are trying to create already exists.

", - "refs": { + "OptionGroupNotFoundFault":{ + "base":"

The specified option group could not be found.

", + "refs":{ } }, - "OptionGroupMembership": { - "base": "

Provides information on the option groups the DB instance is a member of.

", - "refs": { - "OptionGroupMembershipList$member": null + "OptionGroupOption":{ + "base":"

Available option.

", + "refs":{ + "OptionGroupOptionsList$member":null } }, - "OptionGroupMembershipList": { - "base": null, - "refs": { - "DBInstance$OptionGroupMemberships": "

Provides the list of option group memberships for this DB instance.

" + "OptionGroupOptionSetting":{ + "base":"

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.

", + "refs":{ + "OptionGroupOptionSettingsList$member":null } }, - "OptionGroupNotFoundFault": { - "base": "

The specified option group could not be found.

", - "refs": { + "OptionGroupOptionSettingsList":{ + "base":null, + "refs":{ + "OptionGroupOption$OptionGroupOptionSettings":"

The option settings that are available (and the default value) for each option in an option group.

" } }, - "OptionGroupOption": { - "base": "

Available option.

", - "refs": { - "OptionGroupOptionsList$member": null + "OptionGroupOptionVersionsList":{ + "base":null, + "refs":{ + "OptionGroupOption$OptionGroupOptionVersions":"

The versions that are available for the option.

" } }, - "OptionGroupOptionSetting": { - "base": "

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.

", - "refs": { - "OptionGroupOptionSettingsList$member": null + "OptionGroupOptionsList":{ + "base":"

List of available option group options.

", + "refs":{ + "OptionGroupOptionsMessage$OptionGroupOptions":null } }, - "OptionGroupOptionSettingsList": { - "base": null, - "refs": { - "OptionGroupOption$OptionGroupOptionSettings": "

The option settings that are available (and the default value) for each option in an option group.

" + "OptionGroupOptionsMessage":{ + "base":"

", + "refs":{ } }, - "OptionGroupOptionVersionsList": { - "base": null, - "refs": { - "OptionGroupOption$OptionGroupOptionVersions": "

The versions that are available for the option.

" + "OptionGroupQuotaExceededFault":{ + "base":"

The quota of 20 option groups was exceeded for this AWS account.

", + "refs":{ } }, - "OptionGroupOptionsList": { - "base": "

List of available option group options.

", - "refs": { - "OptionGroupOptionsMessage$OptionGroupOptions": null + "OptionGroups":{ + "base":"

List of option groups.

", + "refs":{ } }, - "OptionGroupOptionsMessage": { - "base": "

", - "refs": { + "OptionGroupsList":{ + "base":null, + "refs":{ + "OptionGroups$OptionGroupsList":"

List of option groups.

" } }, - "OptionGroupQuotaExceededFault": { - "base": "

The quota of 20 option groups was exceeded for this AWS account.

", - "refs": { + "OptionNamesList":{ + "base":null, + "refs":{ + "ModifyOptionGroupMessage$OptionsToRemove":"

Options in this list are removed from the option group.

" } }, - "OptionGroups": { - "base": "

List of option groups.

", - "refs": { + "OptionSetting":{ + "base":"

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.

", + "refs":{ + "OptionSettingConfigurationList$member":null, + "OptionSettingsList$member":null } }, - "OptionGroupsList": { - "base": null, - "refs": { - "OptionGroups$OptionGroupsList": "

List of option groups.

" + "OptionSettingConfigurationList":{ + "base":null, + "refs":{ + "Option$OptionSettings":"

The option settings for this option.

" } }, - "OptionNamesList": { - "base": null, - "refs": { - "ModifyOptionGroupMessage$OptionsToRemove": "

Options in this list are removed from the option group.

" + "OptionSettingsList":{ + "base":null, + "refs":{ + "OptionConfiguration$OptionSettings":"

The option settings to include in an option group.

" } }, - "OptionSetting": { - "base": "

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.

", - "refs": { - "OptionSettingConfigurationList$member": null, - "OptionSettingsList$member": null + "OptionVersion":{ + "base":"

The version for an option. Option group option versions are returned by the DescribeOptionGroupOptions action.

", + "refs":{ + "OptionGroupOptionVersionsList$member":null } }, - "OptionSettingConfigurationList": { - "base": null, - "refs": { - "Option$OptionSettings": "

The option settings for this option.

" + "OptionsConflictsWith":{ + "base":null, + "refs":{ + "OptionGroupOption$OptionsConflictsWith":"

The options that conflict with this option.

" } }, - "OptionSettingsList": { - "base": null, - "refs": { - "OptionConfiguration$OptionSettings": "

The option settings to include in an option group.

" + "OptionsDependedOn":{ + "base":null, + "refs":{ + "OptionGroupOption$OptionsDependedOn":"

The options that are prerequisites for this option.

" } }, - "OptionVersion": { - "base": "

The version for an option. Option group option versions are returned by the DescribeOptionGroupOptions action.

", - "refs": { - "OptionGroupOptionVersionsList$member": null + "OptionsList":{ + "base":null, + "refs":{ + "OptionGroup$Options":"

Indicates what options are available in the option group.

" } }, - "OptionsConflictsWith": { - "base": null, - "refs": { - "OptionGroupOption$OptionsConflictsWith": "

The options that conflict with this option.

" + "OrderableDBInstanceOption":{ + "base":"

Contains a list of available options for a DB instance.

This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

", + "refs":{ + "OrderableDBInstanceOptionsList$member":null } }, - "OptionsDependedOn": { - "base": null, - "refs": { - "OptionGroupOption$OptionsDependedOn": "

The options that are prerequisites for this option.

" + "OrderableDBInstanceOptionsList":{ + "base":null, + "refs":{ + "OrderableDBInstanceOptionsMessage$OrderableDBInstanceOptions":"

An OrderableDBInstanceOption structure containing information about orderable options for the DB instance.

" } }, - "OptionsList": { - "base": null, - "refs": { - "OptionGroup$Options": "

Indicates what options are available in the option group.

" + "OrderableDBInstanceOptionsMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions action.

", + "refs":{ } }, - "OrderableDBInstanceOption": { - "base": "

Contains a list of available options for a DB instance.

This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

", - "refs": { - "OrderableDBInstanceOptionsList$member": null + "Parameter":{ + "base":"

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.

", + "refs":{ + "ParametersList$member":null } }, - "OrderableDBInstanceOptionsList": { - "base": null, - "refs": { - "OrderableDBInstanceOptionsMessage$OrderableDBInstanceOptions": "

An OrderableDBInstanceOption structure containing information about orderable options for the DB instance.

" + "ParametersList":{ + "base":null, + "refs":{ + "DBClusterParameterGroupDetails$Parameters":"

Provides a list of parameters for the DB cluster parameter group.

", + "DBParameterGroupDetails$Parameters":"

A list of Parameter values.

", + "EngineDefaults$Parameters":"

Contains a list of engine default parameters.

", + "ModifyDBClusterParameterGroupMessage$Parameters":"

A list of parameters in the DB cluster parameter group to modify.

", + "ModifyDBParameterGroupMessage$Parameters":"

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.

", + "ResetDBClusterParameterGroupMessage$Parameters":"

A list of parameter names in the DB cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is set to true.

", + "ResetDBParameterGroupMessage$Parameters":"

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

" } }, - "OrderableDBInstanceOptionsMessage": { - "base": "

Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions action.

", - "refs": { + "PendingCloudwatchLogsExports":{ + "base":"

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.

", + "refs":{ + "PendingModifiedValues$PendingCloudwatchLogsExports":null } }, - "Parameter": { - "base": "

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.

", - "refs": { - "ParametersList$member": null + "PendingMaintenanceAction":{ + "base":"

Provides information about a pending maintenance action for a resource.

", + "refs":{ + "PendingMaintenanceActionDetails$member":null } }, - "ParametersList": { - "base": null, - "refs": { - "DBClusterParameterGroupDetails$Parameters": "

Provides a list of parameters for the DB cluster parameter group.

", - "DBParameterGroupDetails$Parameters": "

A list of Parameter values.

", - "EngineDefaults$Parameters": "

Contains a list of engine default parameters.

", - "ModifyDBClusterParameterGroupMessage$Parameters": "

A list of parameters in the DB cluster parameter group to modify.

", - "ModifyDBParameterGroupMessage$Parameters": "

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.

", - "ResetDBClusterParameterGroupMessage$Parameters": "

A list of parameter names in the DB cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is set to true.

", - "ResetDBParameterGroupMessage$Parameters": "

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

" + "PendingMaintenanceActionDetails":{ + "base":null, + "refs":{ + "ResourcePendingMaintenanceActions$PendingMaintenanceActionDetails":"

A list that provides details about the pending maintenance actions for the resource.

" } }, - "PendingMaintenanceAction": { - "base": "

Provides information about a pending maintenance action for a resource.

", - "refs": { - "PendingMaintenanceActionDetails$member": null + "PendingMaintenanceActions":{ + "base":null, + "refs":{ + "PendingMaintenanceActionsMessage$PendingMaintenanceActions":"

A list of the pending maintenance actions for the resource.

" } }, - "PendingMaintenanceActionDetails": { - "base": null, - "refs": { - "ResourcePendingMaintenanceActions$PendingMaintenanceActionDetails": "

A list that provides details about the pending maintenance actions for the resource.

" + "PendingMaintenanceActionsMessage":{ + "base":"

Data returned from the DescribePendingMaintenanceActions action.

", + "refs":{ } }, - "PendingMaintenanceActions": { - "base": null, - "refs": { - "PendingMaintenanceActionsMessage$PendingMaintenanceActions": "

A list of the pending maintenance actions for the resource.

" + "PendingModifiedValues":{ + "base":"

This data type is used as a response element in the ModifyDBInstance action.

", + "refs":{ + "DBInstance$PendingModifiedValues":"

Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.

" } }, - "PendingMaintenanceActionsMessage": { - "base": "

Data returned from the DescribePendingMaintenanceActions action.

", - "refs": { + "PointInTimeRestoreNotEnabledFault":{ + "base":"

SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod equal to 0.

", + "refs":{ } }, - "PendingModifiedValues": { - "base": "

This data type is used as a response element in the ModifyDBInstance action.

", - "refs": { - "DBInstance$PendingModifiedValues": "

Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.

" + "ProcessorFeature":{ + "base":"

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.

", + "refs":{ + "ProcessorFeatureList$member":null } }, - "PointInTimeRestoreNotEnabledFault": { - "base": "

SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod equal to 0.

", - "refs": { + "ProcessorFeatureList":{ + "base":null, + "refs":{ + "CreateDBInstanceMessage$ProcessorFeatures":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

", + "CreateDBInstanceReadReplicaMessage$ProcessorFeatures":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

", + "DBInstance$ProcessorFeatures":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

", + "DBSnapshot$ProcessorFeatures":"

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.

", + "ModifyDBInstanceMessage$ProcessorFeatures":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

", + "PendingModifiedValues$ProcessorFeatures":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

", + "RestoreDBInstanceFromDBSnapshotMessage$ProcessorFeatures":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

", + "RestoreDBInstanceFromS3Message$ProcessorFeatures":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

", + "RestoreDBInstanceToPointInTimeMessage$ProcessorFeatures":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" } }, - "PromoteReadReplicaDBClusterMessage": { - "base": "

", - "refs": { + "PromoteReadReplicaDBClusterMessage":{ + "base":"

", + "refs":{ } }, - "PromoteReadReplicaDBClusterResult": { - "base": null, - "refs": { + "PromoteReadReplicaDBClusterResult":{ + "base":null, + "refs":{ } }, - "PromoteReadReplicaMessage": { - "base": "

", - "refs": { + "PromoteReadReplicaMessage":{ + "base":"

", + "refs":{ } }, - "PromoteReadReplicaResult": { - "base": null, - "refs": { + "PromoteReadReplicaResult":{ + "base":null, + "refs":{ } }, - "ProvisionedIopsNotAvailableInAZFault": { - "base": "

Provisioned IOPS not available in the specified Availability Zone.

", - "refs": { + "ProvisionedIopsNotAvailableInAZFault":{ + "base":"

Provisioned IOPS not available in the specified Availability Zone.

", + "refs":{ } }, - "PurchaseReservedDBInstancesOfferingMessage": { - "base": "

", - "refs": { + "PurchaseReservedDBInstancesOfferingMessage":{ + "base":"

", + "refs":{ } }, - "PurchaseReservedDBInstancesOfferingResult": { - "base": null, - "refs": { + "PurchaseReservedDBInstancesOfferingResult":{ + "base":null, + "refs":{ } }, - "Range": { - "base": "

A range of integer values.

", - "refs": { - "RangeList$member": null + "Range":{ + "base":"

A range of integer values.

", + "refs":{ + "RangeList$member":null } }, - "RangeList": { - "base": null, - "refs": { - "ValidStorageOptions$StorageSize": "

The valid range of storage in gigabytes. For example, 100 to 6144.

", - "ValidStorageOptions$ProvisionedIops": "

The valid range of provisioned IOPS. For example, 1000-20000.

" + "RangeList":{ + "base":null, + "refs":{ + "ValidStorageOptions$StorageSize":"

The valid range of storage in gibibytes. For example, 100 to 16384.

", + "ValidStorageOptions$ProvisionedIops":"

The valid range of provisioned IOPS. For example, 1000-20000.

" } }, - "ReadReplicaDBClusterIdentifierList": { - "base": null, - "refs": { - "DBInstance$ReadReplicaDBClusterIdentifiers": "

Contains one or more identifiers of Aurora DB clusters that are Read Replicas of this DB instance.

" + "ReadReplicaDBClusterIdentifierList":{ + "base":null, + "refs":{ + "DBInstance$ReadReplicaDBClusterIdentifiers":"

Contains one or more identifiers of Aurora DB clusters that are Read Replicas of this DB instance.

" } }, - "ReadReplicaDBInstanceIdentifierList": { - "base": null, - "refs": { - "DBInstance$ReadReplicaDBInstanceIdentifiers": "

Contains one or more identifiers of the Read Replicas associated with this DB instance.

" + "ReadReplicaDBInstanceIdentifierList":{ + "base":null, + "refs":{ + "DBInstance$ReadReplicaDBInstanceIdentifiers":"

Contains one or more identifiers of the Read Replicas associated with this DB instance.

" } }, - "ReadReplicaIdentifierList": { - "base": null, - "refs": { - "DBCluster$ReadReplicaIdentifiers": "

Contains one or more identifiers of the Read Replicas associated with this DB cluster.

" + "ReadReplicaIdentifierList":{ + "base":null, + "refs":{ + "DBCluster$ReadReplicaIdentifiers":"

Contains one or more identifiers of the Read Replicas associated with this DB cluster.

" } }, - "RebootDBInstanceMessage": { - "base": "

", - "refs": { + "RebootDBInstanceMessage":{ + "base":"

", + "refs":{ } }, - "RebootDBInstanceResult": { - "base": null, - "refs": { + "RebootDBInstanceResult":{ + "base":null, + "refs":{ } }, - "RecurringCharge": { - "base": "

This data type is used as a response element in the DescribeReservedDBInstances and DescribeReservedDBInstancesOfferings actions.

", - "refs": { - "RecurringChargeList$member": null + "RecurringCharge":{ + "base":"

This data type is used as a response element in the DescribeReservedDBInstances and DescribeReservedDBInstancesOfferings actions.

", + "refs":{ + "RecurringChargeList$member":null } }, - "RecurringChargeList": { - "base": null, - "refs": { - "ReservedDBInstance$RecurringCharges": "

The recurring price charged to run this reserved DB instance.

", - "ReservedDBInstancesOffering$RecurringCharges": "

The recurring price charged to run this reserved DB instance.

" + "RecurringChargeList":{ + "base":null, + "refs":{ + "ReservedDBInstance$RecurringCharges":"

The recurring price charged to run this reserved DB instance.

", + "ReservedDBInstancesOffering$RecurringCharges":"

The recurring price charged to run this reserved DB instance.

" } }, - "RemoveRoleFromDBClusterMessage": { - "base": null, - "refs": { + "RemoveRoleFromDBClusterMessage":{ + "base":null, + "refs":{ } }, - "RemoveSourceIdentifierFromSubscriptionMessage": { - "base": "

", - "refs": { + "RemoveSourceIdentifierFromSubscriptionMessage":{ + "base":"

", + "refs":{ } }, - "RemoveSourceIdentifierFromSubscriptionResult": { - "base": null, - "refs": { + "RemoveSourceIdentifierFromSubscriptionResult":{ + "base":null, + "refs":{ } }, - "RemoveTagsFromResourceMessage": { - "base": "

", - "refs": { + "RemoveTagsFromResourceMessage":{ + "base":"

", + "refs":{ } }, - "ReservedDBInstance": { - "base": "

This data type is used as a response element in the DescribeReservedDBInstances and PurchaseReservedDBInstancesOffering actions.

", - "refs": { - "PurchaseReservedDBInstancesOfferingResult$ReservedDBInstance": null, - "ReservedDBInstanceList$member": null + "ReservedDBInstance":{ + "base":"

This data type is used as a response element in the DescribeReservedDBInstances and PurchaseReservedDBInstancesOffering actions.

", + "refs":{ + "PurchaseReservedDBInstancesOfferingResult$ReservedDBInstance":null, + "ReservedDBInstanceList$member":null } }, - "ReservedDBInstanceAlreadyExistsFault": { - "base": "

User already has a reservation with the given identifier.

", - "refs": { + "ReservedDBInstanceAlreadyExistsFault":{ + "base":"

User already has a reservation with the given identifier.

", + "refs":{ } }, - "ReservedDBInstanceList": { - "base": null, - "refs": { - "ReservedDBInstanceMessage$ReservedDBInstances": "

A list of reserved DB instances.

" + "ReservedDBInstanceList":{ + "base":null, + "refs":{ + "ReservedDBInstanceMessage$ReservedDBInstances":"

A list of reserved DB instances.

" } }, - "ReservedDBInstanceMessage": { - "base": "

Contains the result of a successful invocation of the DescribeReservedDBInstances action.

", - "refs": { + "ReservedDBInstanceMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeReservedDBInstances action.

", + "refs":{ } }, - "ReservedDBInstanceNotFoundFault": { - "base": "

The specified reserved DB Instance not found.

", - "refs": { + "ReservedDBInstanceNotFoundFault":{ + "base":"

The specified reserved DB Instance not found.

", + "refs":{ } }, - "ReservedDBInstanceQuotaExceededFault": { - "base": "

Request would exceed the user's DB Instance quota.

", - "refs": { + "ReservedDBInstanceQuotaExceededFault":{ + "base":"

Request would exceed the user's DB Instance quota.

", + "refs":{ } }, - "ReservedDBInstancesOffering": { - "base": "

This data type is used as a response element in the DescribeReservedDBInstancesOfferings action.

", - "refs": { - "ReservedDBInstancesOfferingList$member": null + "ReservedDBInstancesOffering":{ + "base":"

This data type is used as a response element in the DescribeReservedDBInstancesOfferings action.

", + "refs":{ + "ReservedDBInstancesOfferingList$member":null } }, - "ReservedDBInstancesOfferingList": { - "base": null, - "refs": { - "ReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferings": "

A list of reserved DB instance offerings.

" + "ReservedDBInstancesOfferingList":{ + "base":null, + "refs":{ + "ReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferings":"

A list of reserved DB instance offerings.

" } }, - "ReservedDBInstancesOfferingMessage": { - "base": "

Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings action.

", - "refs": { + "ReservedDBInstancesOfferingMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings action.

", + "refs":{ } }, - "ReservedDBInstancesOfferingNotFoundFault": { - "base": "

Specified offering does not exist.

", - "refs": { + "ReservedDBInstancesOfferingNotFoundFault":{ + "base":"

Specified offering does not exist.

", + "refs":{ } }, - "ResetDBClusterParameterGroupMessage": { - "base": "

", - "refs": { + "ResetDBClusterParameterGroupMessage":{ + "base":"

", + "refs":{ } }, - "ResetDBParameterGroupMessage": { - "base": "

", - "refs": { + "ResetDBParameterGroupMessage":{ + "base":"

", + "refs":{ } }, - "ResourceNotFoundFault": { - "base": "

The specified resource ID was not found.

", - "refs": { + "ResourceNotFoundFault":{ + "base":"

The specified resource ID was not found.

", + "refs":{ } }, - "ResourcePendingMaintenanceActions": { - "base": "

Describes the pending maintenance actions for a resource.

", - "refs": { - "ApplyPendingMaintenanceActionResult$ResourcePendingMaintenanceActions": null, - "PendingMaintenanceActions$member": null + "ResourcePendingMaintenanceActions":{ + "base":"

Describes the pending maintenance actions for a resource.

", + "refs":{ + "ApplyPendingMaintenanceActionResult$ResourcePendingMaintenanceActions":null, + "PendingMaintenanceActions$member":null } }, - "RestoreDBClusterFromS3Message": { - "base": null, - "refs": { + "RestoreDBClusterFromS3Message":{ + "base":null, + "refs":{ } }, - "RestoreDBClusterFromS3Result": { - "base": null, - "refs": { + "RestoreDBClusterFromS3Result":{ + "base":null, + "refs":{ } }, - "RestoreDBClusterFromSnapshotMessage": { - "base": "

", - "refs": { + "RestoreDBClusterFromSnapshotMessage":{ + "base":"

", + "refs":{ } }, - "RestoreDBClusterFromSnapshotResult": { - "base": null, - "refs": { + "RestoreDBClusterFromSnapshotResult":{ + "base":null, + "refs":{ } }, - "RestoreDBClusterToPointInTimeMessage": { - "base": "

", - "refs": { + "RestoreDBClusterToPointInTimeMessage":{ + "base":"

", + "refs":{ } }, - "RestoreDBClusterToPointInTimeResult": { - "base": null, - "refs": { + "RestoreDBClusterToPointInTimeResult":{ + "base":null, + "refs":{ } }, - "RestoreDBInstanceFromDBSnapshotMessage": { - "base": "

", - "refs": { + "RestoreDBInstanceFromDBSnapshotMessage":{ + "base":"

", + "refs":{ } }, - "RestoreDBInstanceFromDBSnapshotResult": { - "base": null, - "refs": { + "RestoreDBInstanceFromDBSnapshotResult":{ + "base":null, + "refs":{ } }, - "RestoreDBInstanceFromS3Message": { - "base": null, - "refs": { + "RestoreDBInstanceFromS3Message":{ + "base":null, + "refs":{ } }, - "RestoreDBInstanceFromS3Result": { - "base": null, - "refs": { + "RestoreDBInstanceFromS3Result":{ + "base":null, + "refs":{ } }, - "RestoreDBInstanceToPointInTimeMessage": { - "base": "

", - "refs": { + "RestoreDBInstanceToPointInTimeMessage":{ + "base":"

", + "refs":{ } }, - "RestoreDBInstanceToPointInTimeResult": { - "base": null, - "refs": { + "RestoreDBInstanceToPointInTimeResult":{ + "base":null, + "refs":{ } }, - "RevokeDBSecurityGroupIngressMessage": { - "base": "

", - "refs": { + "RevokeDBSecurityGroupIngressMessage":{ + "base":"

", + "refs":{ } }, - "RevokeDBSecurityGroupIngressResult": { - "base": null, - "refs": { + "RevokeDBSecurityGroupIngressResult":{ + "base":null, + "refs":{ } }, - "SNSInvalidTopicFault": { - "base": "

SNS has responded that there is a problem with the SND topic specified.

", - "refs": { + "SNSInvalidTopicFault":{ + "base":"

SNS has responded that there is a problem with the SND topic specified.

", + "refs":{ } }, - "SNSNoAuthorizationFault": { - "base": "

You do not have permission to publish to the SNS topic ARN.

", - "refs": { + "SNSNoAuthorizationFault":{ + "base":"

You do not have permission to publish to the SNS topic ARN.

", + "refs":{ } }, - "SNSTopicArnNotFoundFault": { - "base": "

The SNS topic ARN does not exist.

", - "refs": { + "SNSTopicArnNotFoundFault":{ + "base":"

The SNS topic ARN does not exist.

", + "refs":{ } }, - "SharedSnapshotQuotaExceededFault": { - "base": "

You have exceeded the maximum number of accounts that you can share a manual DB snapshot with.

", - "refs": { + "SharedSnapshotQuotaExceededFault":{ + "base":"

You have exceeded the maximum number of accounts that you can share a manual DB snapshot with.

", + "refs":{ } }, - "SnapshotQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed number of DB snapshots.

", - "refs": { + "SnapshotQuotaExceededFault":{ + "base":"

The request would result in the user exceeding the allowed number of DB snapshots.

", + "refs":{ } }, - "SourceIdsList": { - "base": null, - "refs": { - "CreateEventSubscriptionMessage$SourceIds": "

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.

", - "EventSubscription$SourceIdsList": "

A list of source IDs for the RDS event notification subscription.

" + "SourceIdsList":{ + "base":null, + "refs":{ + "CreateEventSubscriptionMessage$SourceIds":"

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.

", + "EventSubscription$SourceIdsList":"

A list of source IDs for the RDS event notification subscription.

" } }, - "SourceNotFoundFault": { - "base": "

The requested source could not be found.

", - "refs": { + "SourceNotFoundFault":{ + "base":"

The requested source could not be found.

", + "refs":{ } }, - "SourceRegion": { - "base": "

Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions action.

", - "refs": { - "SourceRegionList$member": null + "SourceRegion":{ + "base":"

Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions action.

", + "refs":{ + "SourceRegionList$member":null } }, - "SourceRegionList": { - "base": null, - "refs": { - "SourceRegionMessage$SourceRegions": "

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.

" + "SourceRegionList":{ + "base":null, + "refs":{ + "SourceRegionMessage$SourceRegions":"

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.

" } }, - "SourceRegionMessage": { - "base": "

Contains the result of a successful invocation of the DescribeSourceRegions action.

", - "refs": { + "SourceRegionMessage":{ + "base":"

Contains the result of a successful invocation of the DescribeSourceRegions action.

", + "refs":{ } }, - "SourceType": { - "base": null, - "refs": { - "DescribeEventsMessage$SourceType": "

The event source to retrieve events for. If no value is specified, all events are returned.

", - "Event$SourceType": "

Specifies the source type for this event.

" + "SourceType":{ + "base":null, + "refs":{ + "DescribeEventsMessage$SourceType":"

The event source to retrieve events for. If no value is specified, all events are returned.

", + "Event$SourceType":"

Specifies the source type for this event.

" } }, - "StartDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "StartDBInstanceResult": { - "base": null, - "refs": { - } - }, - "StopDBInstanceMessage": { - "base": null, - "refs": { - } - }, - "StopDBInstanceResult": { - "base": null, - "refs": { - } - }, - "StorageQuotaExceededFault": { - "base": "

Request would result in user exceeding the allowed amount of storage available across all DB instances.

", - "refs": { - } - }, - "StorageTypeNotSupportedFault": { - "base": "

StorageType specified cannot be associated with the DB Instance.

", - "refs": { - } - }, - "String": { - "base": null, - "refs": { - "AccountQuota$AccountQuotaName": "

The name of the Amazon RDS quota for this AWS account.

", - "AddRoleToDBClusterMessage$DBClusterIdentifier": "

The name of the DB cluster to associate the IAM role with.

", - "AddRoleToDBClusterMessage$RoleArn": "

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$SubscriptionName": "

The name of the RDS event notification subscription you want to add a source identifier to.

", - "AddSourceIdentifierToSubscriptionMessage$SourceIdentifier": "

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.

", - "AddTagsToResourceMessage$ResourceName": "

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).

", - "ApplyPendingMaintenanceActionMessage$ResourceIdentifier": "

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).

", - "ApplyPendingMaintenanceActionMessage$ApplyAction": "

The pending maintenance action to apply to this resource.

Valid values: system-update, db-upgrade

", - "ApplyPendingMaintenanceActionMessage$OptInType": "

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.

", - "AttributeValueList$member": null, - "AuthorizeDBSecurityGroupIngressMessage$DBSecurityGroupName": "

The name of the DB security group to add authorization to.

", - "AuthorizeDBSecurityGroupIngressMessage$CIDRIP": "

The IP range to authorize.

", - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupName": "

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.

", - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupId": "

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.

", - "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupOwnerId": "

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.

", - "AvailabilityZone$Name": "

The name of the availability zone.

", - "AvailabilityZones$member": null, - "Certificate$CertificateIdentifier": "

The unique key that identifies a certificate.

", - "Certificate$CertificateType": "

The type of the certificate.

", - "Certificate$Thumbprint": "

The thumbprint of the certificate.

", - "Certificate$CertificateArn": "

The Amazon Resource Name (ARN) for the certificate.

", - "CertificateMessage$Marker": "

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 .

", - "CharacterSet$CharacterSetName": "

The name of the character set.

", - "CharacterSet$CharacterSetDescription": "

The description of the character set.

", - "CopyDBClusterParameterGroupMessage$SourceDBClusterParameterGroupIdentifier": "

The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB cluster parameter group.

  • If the source DB cluster parameter group is in the same 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.

", - "CopyDBClusterParameterGroupMessage$TargetDBClusterParameterGroupIdentifier": "

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

", - "CopyDBClusterParameterGroupMessage$TargetDBClusterParameterGroupDescription": "

A description for the copied DB cluster parameter group.

", - "CopyDBClusterSnapshotMessage$SourceDBClusterSnapshotIdentifier": "

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 a DB Snapshot or DB Cluster Snapshot.

Example: my-cluster-snapshot1

", - "CopyDBClusterSnapshotMessage$TargetDBClusterSnapshotIdentifier": "

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

", - "CopyDBClusterSnapshotMessage$KmsKeyId": "

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 RDS encrypts the target DB cluster snapshot using the specified KMS encryption key.

If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot.

If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

To copy an encrypted DB cluster snapshot to another 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.

", - "CopyDBClusterSnapshotMessage$PreSignedUrl": "

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.

", - "CopyDBParameterGroupMessage$SourceDBParameterGroupIdentifier": "

The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB parameter group.

  • Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN.

", - "CopyDBParameterGroupMessage$TargetDBParameterGroupIdentifier": "

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

", - "CopyDBParameterGroupMessage$TargetDBParameterGroupDescription": "

A description for the copied DB parameter group.

", - "CopyDBSnapshotMessage$SourceDBSnapshotIdentifier": "

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

", - "CopyDBSnapshotMessage$TargetDBSnapshotIdentifier": "

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

", - "CopyDBSnapshotMessage$KmsKeyId": "

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.

", - "CopyDBSnapshotMessage$PreSignedUrl": "

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.

", - "CopyDBSnapshotMessage$OptionGroupName": "

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.

", - "CopyOptionGroupMessage$SourceOptionGroupIdentifier": "

The identifier or ARN for the source option group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid option group.

  • If the source option group is in the same 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.

", - "CopyOptionGroupMessage$TargetOptionGroupIdentifier": "

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

", - "CopyOptionGroupMessage$TargetOptionGroupDescription": "

The description for the copied option group.

", - "CreateDBClusterMessage$CharacterSetName": "

A value that indicates that the DB cluster should be associated with the specified CharacterSet.

", - "CreateDBClusterMessage$DatabaseName": "

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.

", - "CreateDBClusterMessage$DBClusterIdentifier": "

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

", - "CreateDBClusterMessage$DBClusterParameterGroupName": "

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.

", - "CreateDBClusterMessage$DBSubnetGroupName": "

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

", - "CreateDBClusterMessage$Engine": "

The name of the database engine to be used for this DB cluster.

Valid Values: aurora, aurora-postgresql

", - "CreateDBClusterMessage$EngineVersion": "

The version number of the database engine to use.

Aurora

Example: 5.6.10a

", - "CreateDBClusterMessage$MasterUsername": "

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.

", - "CreateDBClusterMessage$MasterUserPassword": "

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.

", - "CreateDBClusterMessage$OptionGroupName": "

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.

", - "CreateDBClusterMessage$PreferredBackupWindow": "

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.

", - "CreateDBClusterMessage$PreferredMaintenanceWindow": "

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 RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

", - "CreateDBClusterMessage$ReplicationSourceIdentifier": "

The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.

", - "CreateDBClusterMessage$KmsKeyId": "

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.

", - "CreateDBClusterMessage$PreSignedUrl": "

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.

", - "CreateDBClusterParameterGroupMessage$DBClusterParameterGroupName": "

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.

", - "CreateDBClusterParameterGroupMessage$DBParameterGroupFamily": "

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.

", - "CreateDBClusterParameterGroupMessage$Description": "

The description for the DB cluster parameter group.

", - "CreateDBClusterSnapshotMessage$DBClusterSnapshotIdentifier": "

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

", - "CreateDBClusterSnapshotMessage$DBClusterIdentifier": "

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

", - "CreateDBInstanceMessage$DBName": "

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

", - "CreateDBInstanceMessage$DBInstanceIdentifier": "

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

", - "CreateDBInstanceMessage$DBInstanceClass": "

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.

", - "CreateDBInstanceMessage$Engine": "

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

  • aurora-postgresql

  • mariadb

  • mysql

  • oracle-ee

  • oracle-se2

  • oracle-se1

  • oracle-se

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

", - "CreateDBInstanceMessage$MasterUsername": "

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.

", - "CreateDBInstanceMessage$MasterUserPassword": "

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.

", - "CreateDBInstanceMessage$AvailabilityZone": "

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.

", - "CreateDBInstanceMessage$DBSubnetGroupName": "

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.

", - "CreateDBInstanceMessage$PreferredMaintenanceWindow": "

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.

", - "CreateDBInstanceMessage$DBParameterGroupName": "

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

", - "CreateDBInstanceMessage$PreferredBackupWindow": "

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.

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.

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.

", - "CreateDBInstanceMessage$EngineVersion": "

The version number of the database engine to use.

The following are the database engines and major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.

Amazon Aurora

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

  • 10.1.23 (supported in all AWS Regions)

  • 10.1.19 (supported in all AWS Regions)

  • 10.1.14 (supported in all AWS Regions except us-east-2)

  • 10.0.31 (supported in all AWS Regions)

  • 10.0.28 (supported in all AWS Regions)

  • 10.0.24 (supported in all AWS Regions)

  • 10.0.17 (supported in all AWS Regions except us-east-2, ca-central-1, eu-west-2)

Microsoft SQL Server 2016

  • 13.00.4422.0.v1 (supported for all editions, and all AWS Regions)

  • 13.00.2164.0.v1 (supported for all editions, and all AWS Regions)

Microsoft SQL Server 2014

  • 12.00.5546.0.v1 (supported for all editions, and all AWS Regions)

  • 12.00.5000.0.v1 (supported for all editions, and all AWS Regions)

  • 12.00.4422.0.v1 (supported for all editions except Enterprise Edition, and all AWS Regions except ca-central-1 and eu-west-2)

Microsoft SQL Server 2012

  • 11.00.6594.0.v1 (supported for all editions, and all AWS Regions)

  • 11.00.6020.0.v1 (supported for all editions, and all AWS Regions)

  • 11.00.5058.0.v1 (supported for all editions, and all AWS Regions except us-east-2, ca-central-1, and eu-west-2)

  • 11.00.2100.60.v1 (supported for all editions, and all AWS Regions except us-east-2, ca-central-1, and eu-west-2)

Microsoft SQL Server 2008 R2

  • 10.50.6529.0.v1 (supported for all editions, and all AWS Regions except us-east-2, ca-central-1, and eu-west-2)

  • 10.50.6000.34.v1 (supported for all editions, and all AWS Regions except us-east-2, ca-central-1, and eu-west-2)

  • 10.50.2789.0.v1 (supported for all editions, and all AWS Regions except us-east-2, ca-central-1, and eu-west-2)

MySQL

  • 5.7.19 (supported in all AWS regions)

  • 5.7.17 (supported in all AWS regions)

  • 5.7.16 (supported in all AWS regions)

  • 5.6.37 (supported in all AWS Regions)

  • 5.6.35 (supported in all AWS Regions)

  • 5.6.34 (supported in all AWS Regions)

  • 5.6.29 (supported in all AWS Regions)

  • 5.6.27 (supported in all AWS Regions except us-east-2, ca-central-1, eu-west-2)

  • 5.5.57 (supported in all AWS Regions)

  • 5.5.54 (supported in all AWS Regions)

  • 5.5.53 (supported in all AWS Regions)

  • 5.5.46 (supported in all AWS Regions)

Oracle 12c

  • 12.1.0.2.v9 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v8 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v7 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v6 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v5 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v4 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v3 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v2 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v1 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

Oracle 11g

  • 11.2.0.4.v13 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v12 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v11 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v10 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v9 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v8 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v7 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v6 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v5 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v4 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v3 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v1 (supported for EE, SE1, and SE, in all AWS regions)

PostgreSQL

  • Version 9.6.x: 9.6.5 | 9.6.3 | 9.6.2 | 9.6.1

  • Version 9.5.x: 9.5.9 | 9.5.7 | 9.5.6 | 9.5.4 | 9.5.2

  • Version 9.4.x: 9.4.14 | 9.4.12 | 9.4.11 | 9.4.9 | 9.4.7

  • Version 9.3.x: 9.3.19 | 9.3.17 | 9.3.16 | 9.3.14 | 9.3.12

", - "CreateDBInstanceMessage$LicenseModel": "

License model information for this DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

", - "CreateDBInstanceMessage$OptionGroupName": "

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

", - "CreateDBInstanceMessage$CharacterSetName": "

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.

", - "CreateDBInstanceMessage$DBClusterIdentifier": "

The identifier of the DB cluster that the instance will belong to.

For information on creating a DB cluster, see CreateDBCluster.

Type: String

", - "CreateDBInstanceMessage$StorageType": "

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

", - "CreateDBInstanceMessage$TdeCredentialArn": "

The ARN from the key store with which to associate the instance for TDE encryption.

", - "CreateDBInstanceMessage$TdeCredentialPassword": "

The password for the given ARN from the key store in order to access the device.

", - "CreateDBInstanceMessage$KmsKeyId": "

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.

", - "CreateDBInstanceMessage$Domain": "

Specify the Active Directory Domain to create the instance in.

", - "CreateDBInstanceMessage$MonitoringRoleArn": "

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.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

", - "CreateDBInstanceMessage$DomainIAMRoleName": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

", - "CreateDBInstanceMessage$Timezone": "

The time zone of the DB instance. The time zone parameter is currently supported only by Microsoft SQL Server.

", - "CreateDBInstanceMessage$PerformanceInsightsKMSKeyId": "

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.

", - "CreateDBInstanceReadReplicaMessage$DBInstanceIdentifier": "

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.

", - "CreateDBInstanceReadReplicaMessage$SourceDBInstanceIdentifier": "

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 a Amazon RDS Amazon Resource Name (ARN).

", - "CreateDBInstanceReadReplicaMessage$DBInstanceClass": "

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.

", - "CreateDBInstanceReadReplicaMessage$AvailabilityZone": "

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

", - "CreateDBInstanceReadReplicaMessage$OptionGroupName": "

The option group the DB instance is associated with. If omitted, the default option group for the engine specified is used.

", - "CreateDBInstanceReadReplicaMessage$DBSubnetGroupName": "

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

", - "CreateDBInstanceReadReplicaMessage$StorageType": "

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

", - "CreateDBInstanceReadReplicaMessage$MonitoringRoleArn": "

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.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

", - "CreateDBInstanceReadReplicaMessage$KmsKeyId": "

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.

", - "CreateDBInstanceReadReplicaMessage$PreSignedUrl": "

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.

", - "CreateDBInstanceReadReplicaMessage$PerformanceInsightsKMSKeyId": "

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.

", - "CreateDBParameterGroupMessage$DBParameterGroupName": "

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.

", - "CreateDBParameterGroupMessage$DBParameterGroupFamily": "

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.

", - "CreateDBParameterGroupMessage$Description": "

The description for the DB parameter group.

", - "CreateDBSecurityGroupMessage$DBSecurityGroupName": "

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

", - "CreateDBSecurityGroupMessage$DBSecurityGroupDescription": "

The description for the DB security group.

", - "CreateDBSnapshotMessage$DBSnapshotIdentifier": "

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

", - "CreateDBSnapshotMessage$DBInstanceIdentifier": "

The identifier of the DB instance that you want to create the snapshot of.

Constraints:

  • Must match the identifier of an existing DBInstance.

", - "CreateDBSubnetGroupMessage$DBSubnetGroupName": "

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

", - "CreateDBSubnetGroupMessage$DBSubnetGroupDescription": "

The description for the DB subnet group.

", - "CreateEventSubscriptionMessage$SubscriptionName": "

The name of the subscription.

Constraints: The name must be less than 255 characters.

", - "CreateEventSubscriptionMessage$SnsTopicArn": "

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.

", - "CreateEventSubscriptionMessage$SourceType": "

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

", - "CreateOptionGroupMessage$OptionGroupName": "

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

", - "CreateOptionGroupMessage$EngineName": "

Specifies the name of the engine that this option group should be associated with.

", - "CreateOptionGroupMessage$MajorEngineVersion": "

Specifies the major version of the engine that this option group should be associated with.

", - "CreateOptionGroupMessage$OptionGroupDescription": "

The description of the option group.

", - "DBCluster$CharacterSetName": "

If present, specifies the name of the character set that this cluster is associated with.

", - "DBCluster$DatabaseName": "

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.

", - "DBCluster$DBClusterIdentifier": "

Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

", - "DBCluster$DBClusterParameterGroup": "

Specifies the name of the DB cluster parameter group for the DB cluster.

", - "DBCluster$DBSubnetGroup": "

Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.

", - "DBCluster$Status": "

Specifies the current state of this DB cluster.

", - "DBCluster$PercentProgress": "

Specifies the progress of the operation as a percentage.

", - "DBCluster$Endpoint": "

Specifies the connection endpoint for the primary instance of the DB cluster.

", - "DBCluster$ReaderEndpoint": "

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.

", - "DBCluster$Engine": "

Provides the name of the database engine to be used for this DB cluster.

", - "DBCluster$EngineVersion": "

Indicates the database engine version.

", - "DBCluster$MasterUsername": "

Contains the master username for the DB cluster.

", - "DBCluster$PreferredBackupWindow": "

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

", - "DBCluster$PreferredMaintenanceWindow": "

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

", - "DBCluster$ReplicationSourceIdentifier": "

Contains the identifier of the source DB cluster if this DB cluster is a Read Replica.

", - "DBCluster$HostedZoneId": "

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

", - "DBCluster$KmsKeyId": "

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster.

", - "DBCluster$DbClusterResourceId": "

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.

", - "DBCluster$DBClusterArn": "

The Amazon Resource Name (ARN) for the DB cluster.

", - "DBCluster$CloneGroupId": "

Identifies the clone group to which the DB cluster is associated.

", - "DBClusterMember$DBInstanceIdentifier": "

Specifies the instance identifier for this member of the DB cluster.

", - "DBClusterMember$DBClusterParameterGroupStatus": "

Specifies the status of the DB cluster parameter group for this member of the DB cluster.

", - "DBClusterMessage$Marker": "

A pagination token that can be used in a subsequent DescribeDBClusters request.

", - "DBClusterOptionGroupStatus$DBClusterOptionGroupName": "

Specifies the name of the DB cluster option group.

", - "DBClusterOptionGroupStatus$Status": "

Specifies the status of the DB cluster option group.

", - "DBClusterParameterGroup$DBClusterParameterGroupName": "

Provides the name of the DB cluster parameter group.

", - "DBClusterParameterGroup$DBParameterGroupFamily": "

Provides the name of the DB parameter group family that this DB cluster parameter group is compatible with.

", - "DBClusterParameterGroup$Description": "

Provides the customer-specified description for this DB cluster parameter group.

", - "DBClusterParameterGroup$DBClusterParameterGroupArn": "

The Amazon Resource Name (ARN) for the DB cluster parameter group.

", - "DBClusterParameterGroupDetails$Marker": "

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 .

", - "DBClusterParameterGroupNameMessage$DBClusterParameterGroupName": "

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.

", - "DBClusterParameterGroupsMessage$Marker": "

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.

", - "DBClusterRole$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.

", - "DBClusterRole$Status": "

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.

", - "DBClusterSnapshot$DBClusterSnapshotIdentifier": "

Specifies the identifier for the DB cluster snapshot.

", - "DBClusterSnapshot$DBClusterIdentifier": "

Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.

", - "DBClusterSnapshot$Engine": "

Specifies the name of the database engine.

", - "DBClusterSnapshot$Status": "

Specifies the status of this DB cluster snapshot.

", - "DBClusterSnapshot$VpcId": "

Provides the VPC ID associated with the DB cluster snapshot.

", - "DBClusterSnapshot$MasterUsername": "

Provides the master username for the DB cluster snapshot.

", - "DBClusterSnapshot$EngineVersion": "

Provides the version of the database engine for this DB cluster snapshot.

", - "DBClusterSnapshot$LicenseModel": "

Provides the license model information for this DB cluster snapshot.

", - "DBClusterSnapshot$SnapshotType": "

Provides the type of the DB cluster snapshot.

", - "DBClusterSnapshot$KmsKeyId": "

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.

", - "DBClusterSnapshot$DBClusterSnapshotArn": "

The Amazon Resource Name (ARN) for the DB cluster snapshot.

", - "DBClusterSnapshot$SourceDBClusterSnapshotArn": "

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.

", - "DBClusterSnapshotAttribute$AttributeName": "

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.

", - "DBClusterSnapshotAttributesResult$DBClusterSnapshotIdentifier": "

The identifier of the manual DB cluster snapshot that the attributes apply to.

", - "DBClusterSnapshotMessage$Marker": "

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.

", - "DBEngineVersion$Engine": "

The name of the database engine.

", - "DBEngineVersion$EngineVersion": "

The version number of the database engine.

", - "DBEngineVersion$DBParameterGroupFamily": "

The name of the DB parameter group family for the database engine.

", - "DBEngineVersion$DBEngineDescription": "

The description of the database engine.

", - "DBEngineVersion$DBEngineVersionDescription": "

The description of the database engine version.

", - "DBEngineVersionMessage$Marker": "

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.

", - "DBInstance$DBInstanceIdentifier": "

Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.

", - "DBInstance$DBInstanceClass": "

Contains the name of the compute and memory capacity class of the DB instance.

", - "DBInstance$Engine": "

Provides the name of the database engine to be used for this DB instance.

", - "DBInstance$DBInstanceStatus": "

Specifies the current state of this database.

", - "DBInstance$MasterUsername": "

Contains the master username for the DB instance.

", - "DBInstance$DBName": "

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.

", - "DBInstance$PreferredBackupWindow": "

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

", - "DBInstance$AvailabilityZone": "

Specifies the name of the Availability Zone the DB instance is located in.

", - "DBInstance$PreferredMaintenanceWindow": "

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

", - "DBInstance$EngineVersion": "

Indicates the database engine version.

", - "DBInstance$ReadReplicaSourceDBInstanceIdentifier": "

Contains the identifier of the source DB instance if this DB instance is a Read Replica.

", - "DBInstance$LicenseModel": "

License model information for this DB instance.

", - "DBInstance$CharacterSetName": "

If present, specifies the name of the character set that this instance is associated with.

", - "DBInstance$SecondaryAvailabilityZone": "

If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.

", - "DBInstance$StorageType": "

Specifies the storage type associated with DB instance.

", - "DBInstance$TdeCredentialArn": "

The ARN from the key store with which the instance is associated for TDE encryption.

", - "DBInstance$DBClusterIdentifier": "

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.

", - "DBInstance$KmsKeyId": "

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.

", - "DBInstance$DbiResourceId": "

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.

", - "DBInstance$CACertificateIdentifier": "

The identifier of the CA certificate for this DB instance.

", - "DBInstance$EnhancedMonitoringResourceArn": "

The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.

", - "DBInstance$MonitoringRoleArn": "

The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

", - "DBInstance$DBInstanceArn": "

The Amazon Resource Name (ARN) for the DB instance.

", - "DBInstance$Timezone": "

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.

", - "DBInstance$PerformanceInsightsKMSKeyId": "

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.

", - "DBInstanceMessage$Marker": "

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 .

", - "DBInstanceStatusInfo$StatusType": "

This value is currently \"read replication.\"

", - "DBInstanceStatusInfo$Status": "

Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.

", - "DBInstanceStatusInfo$Message": "

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.

", - "DBParameterGroup$DBParameterGroupName": "

Provides the name of the DB parameter group.

", - "DBParameterGroup$DBParameterGroupFamily": "

Provides the name of the DB parameter group family that this DB parameter group is compatible with.

", - "DBParameterGroup$Description": "

Provides the customer-specified description for this DB parameter group.

", - "DBParameterGroup$DBParameterGroupArn": "

The Amazon Resource Name (ARN) for the DB parameter group.

", - "DBParameterGroupDetails$Marker": "

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.

", - "DBParameterGroupNameMessage$DBParameterGroupName": "

Provides the name of the DB parameter group.

", - "DBParameterGroupStatus$DBParameterGroupName": "

The name of the DP parameter group.

", - "DBParameterGroupStatus$ParameterApplyStatus": "

The status of parameter updates.

", - "DBParameterGroupsMessage$Marker": "

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.

", - "DBSecurityGroup$OwnerId": "

Provides the AWS ID of the owner of a specific DB security group.

", - "DBSecurityGroup$DBSecurityGroupName": "

Specifies the name of the DB security group.

", - "DBSecurityGroup$DBSecurityGroupDescription": "

Provides the description of the DB security group.

", - "DBSecurityGroup$VpcId": "

Provides the VpcId of the DB security group.

", - "DBSecurityGroup$DBSecurityGroupArn": "

The Amazon Resource Name (ARN) for the DB security group.

", - "DBSecurityGroupMembership$DBSecurityGroupName": "

The name of the DB security group.

", - "DBSecurityGroupMembership$Status": "

The status of the DB security group.

", - "DBSecurityGroupMessage$Marker": "

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.

", - "DBSecurityGroupNameList$member": null, - "DBSnapshot$DBSnapshotIdentifier": "

Specifies the identifier for the DB snapshot.

", - "DBSnapshot$DBInstanceIdentifier": "

Specifies the DB instance identifier of the DB instance this DB snapshot was created from.

", - "DBSnapshot$Engine": "

Specifies the name of the database engine.

", - "DBSnapshot$Status": "

Specifies the status of this DB snapshot.

", - "DBSnapshot$AvailabilityZone": "

Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.

", - "DBSnapshot$VpcId": "

Provides the VPC ID associated with the DB snapshot.

", - "DBSnapshot$MasterUsername": "

Provides the master username for the DB snapshot.

", - "DBSnapshot$EngineVersion": "

Specifies the version of the database engine.

", - "DBSnapshot$LicenseModel": "

License model information for the restored DB instance.

", - "DBSnapshot$SnapshotType": "

Provides the type of the DB snapshot.

", - "DBSnapshot$OptionGroupName": "

Provides the option group name for the DB snapshot.

", - "DBSnapshot$SourceRegion": "

The AWS Region that the DB snapshot was created in or copied from.

", - "DBSnapshot$SourceDBSnapshotIdentifier": "

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.

", - "DBSnapshot$StorageType": "

Specifies the storage type associated with DB snapshot.

", - "DBSnapshot$TdeCredentialArn": "

The ARN from the key store with which to associate the instance for TDE encryption.

", - "DBSnapshot$KmsKeyId": "

If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot.

", - "DBSnapshot$DBSnapshotArn": "

The Amazon Resource Name (ARN) for the DB snapshot.

", - "DBSnapshot$Timezone": "

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.

", - "DBSnapshotAttribute$AttributeName": "

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.

", - "DBSnapshotAttributesResult$DBSnapshotIdentifier": "

The identifier of the manual DB snapshot that the attributes apply to.

", - "DBSnapshotMessage$Marker": "

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.

", - "DBSubnetGroup$DBSubnetGroupName": "

The name of the DB subnet group.

", - "DBSubnetGroup$DBSubnetGroupDescription": "

Provides the description of the DB subnet group.

", - "DBSubnetGroup$VpcId": "

Provides the VpcId of the DB subnet group.

", - "DBSubnetGroup$SubnetGroupStatus": "

Provides the status of the DB subnet group.

", - "DBSubnetGroup$DBSubnetGroupArn": "

The Amazon Resource Name (ARN) for the DB subnet group.

", - "DBSubnetGroupMessage$Marker": "

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.

", - "DeleteDBClusterMessage$DBClusterIdentifier": "

The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case-sensitive.

Constraints:

  • Must match an existing DBClusterIdentifier.

", - "DeleteDBClusterMessage$FinalDBSnapshotIdentifier": "

The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

", - "DeleteDBClusterParameterGroupMessage$DBClusterParameterGroupName": "

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.

", - "DeleteDBClusterSnapshotMessage$DBClusterSnapshotIdentifier": "

The identifier of the DB cluster snapshot to delete.

Constraints: Must be the name of an existing DB cluster snapshot in the available state.

", - "DeleteDBInstanceMessage$DBInstanceIdentifier": "

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.

", - "DeleteDBInstanceMessage$FinalDBSnapshotIdentifier": "

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.

", - "DeleteDBParameterGroupMessage$DBParameterGroupName": "

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

", - "DeleteDBSecurityGroupMessage$DBSecurityGroupName": "

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\"

", - "DeleteDBSnapshotMessage$DBSnapshotIdentifier": "

The DBSnapshot identifier.

Constraints: Must be the name of an existing DB snapshot in the available state.

", - "DeleteDBSubnetGroupMessage$DBSubnetGroupName": "

The name of the database subnet group to delete.

You can't delete the default subnet group.

Constraints:

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

", - "DeleteEventSubscriptionMessage$SubscriptionName": "

The name of the RDS event notification subscription you want to delete.

", - "DeleteOptionGroupMessage$OptionGroupName": "

The name of the option group to be deleted.

You can't delete default option groups.

", - "DescribeCertificatesMessage$CertificateIdentifier": "

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.

", - "DescribeCertificatesMessage$Marker": "

An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", - "DescribeDBClusterParameterGroupsMessage$DBClusterParameterGroupName": "

The name of a specific DB cluster parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

", - "DescribeDBClusterParameterGroupsMessage$Marker": "

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", - "DescribeDBClusterParametersMessage$DBClusterParameterGroupName": "

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.

", - "DescribeDBClusterParametersMessage$Source": "

A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer.

", - "DescribeDBClusterParametersMessage$Marker": "

An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", - "DescribeDBClusterSnapshotAttributesMessage$DBClusterSnapshotIdentifier": "

The identifier for the DB cluster snapshot to describe the attributes for.

", - "DescribeDBClusterSnapshotsMessage$DBClusterIdentifier": "

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.

", - "DescribeDBClusterSnapshotsMessage$DBClusterSnapshotIdentifier": "

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.

", - "DescribeDBClusterSnapshotsMessage$SnapshotType": "

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.

", - "DescribeDBClusterSnapshotsMessage$Marker": "

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.

", - "DescribeDBClustersMessage$DBClusterIdentifier": "

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.

", - "DescribeDBClustersMessage$Marker": "

An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", - "DescribeDBEngineVersionsMessage$Engine": "

The database engine to return.

", - "DescribeDBEngineVersionsMessage$EngineVersion": "

The database engine version to return.

Example: 5.1.49

", - "DescribeDBEngineVersionsMessage$DBParameterGroupFamily": "

The name of a specific DB parameter group family to return details for.

Constraints:

  • If supplied, must match an existing DBParameterGroupFamily.

", - "DescribeDBEngineVersionsMessage$Marker": "

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.

", - "DescribeDBInstancesMessage$DBInstanceIdentifier": "

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.

", - "DescribeDBInstancesMessage$Marker": "

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.

", - "DescribeDBLogFilesDetails$LogFileName": "

The name of the log file for the specified DB instance.

", - "DescribeDBLogFilesMessage$DBInstanceIdentifier": "

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.

", - "DescribeDBLogFilesMessage$FilenameContains": "

Filters the available log files for log file names that contain the specified string.

", - "DescribeDBLogFilesMessage$Marker": "

The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.

", - "DescribeDBLogFilesResponse$Marker": "

A pagination token that can be used in a subsequent DescribeDBLogFiles request.

", - "DescribeDBParameterGroupsMessage$DBParameterGroupName": "

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

", - "DescribeDBParameterGroupsMessage$Marker": "

An optional pagination token provided by a previous DescribeDBParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", - "DescribeDBParametersMessage$DBParameterGroupName": "

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBParameterGroup.

", - "DescribeDBParametersMessage$Source": "

The parameter types to return.

Default: All parameter types returned

Valid Values: user | system | engine-default

", - "DescribeDBParametersMessage$Marker": "

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$DBSecurityGroupName": "

The name of the DB security group to return details for.

", - "DescribeDBSecurityGroupsMessage$Marker": "

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.

", - "DescribeDBSnapshotAttributesMessage$DBSnapshotIdentifier": "

The identifier for the DB snapshot to describe the attributes for.

", - "DescribeDBSnapshotsMessage$DBInstanceIdentifier": "

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.

", - "DescribeDBSnapshotsMessage$DBSnapshotIdentifier": "

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.

", - "DescribeDBSnapshotsMessage$SnapshotType": "

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.

", - "DescribeDBSnapshotsMessage$Marker": "

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.

", - "DescribeDBSubnetGroupsMessage$DBSubnetGroupName": "

The name of the DB subnet group to return details for.

", - "DescribeDBSubnetGroupsMessage$Marker": "

An optional pagination token provided by a previous DescribeDBSubnetGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", - "DescribeEngineDefaultClusterParametersMessage$DBParameterGroupFamily": "

The name of the DB cluster parameter group family to return engine parameter information for.

", - "DescribeEngineDefaultClusterParametersMessage$Marker": "

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.

", - "DescribeEngineDefaultParametersMessage$DBParameterGroupFamily": "

The name of the DB parameter group family.

", - "DescribeEngineDefaultParametersMessage$Marker": "

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.

", - "DescribeEventCategoriesMessage$SourceType": "

The type of source that is generating the events.

Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

", - "DescribeEventSubscriptionsMessage$SubscriptionName": "

The name of the RDS event notification subscription you want to describe.

", - "DescribeEventSubscriptionsMessage$Marker": "

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

", - "DescribeEventsMessage$SourceIdentifier": "

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.

", - "DescribeEventsMessage$Marker": "

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.

", - "DescribeOptionGroupOptionsMessage$EngineName": "

A required parameter. Options available for the given engine name are described.

", - "DescribeOptionGroupOptionsMessage$MajorEngineVersion": "

If specified, filters the results to include only options for the specified major engine version.

", - "DescribeOptionGroupOptionsMessage$Marker": "

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.

", - "DescribeOptionGroupsMessage$OptionGroupName": "

The name of the option group to describe. Cannot be supplied together with EngineName or MajorEngineVersion.

", - "DescribeOptionGroupsMessage$Marker": "

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.

", - "DescribeOptionGroupsMessage$EngineName": "

Filters the list of option groups to only include groups associated with a specific database engine.

", - "DescribeOptionGroupsMessage$MajorEngineVersion": "

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.

", - "DescribeOrderableDBInstanceOptionsMessage$Engine": "

The name of the engine to retrieve DB instance options for.

", - "DescribeOrderableDBInstanceOptionsMessage$EngineVersion": "

The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version.

", - "DescribeOrderableDBInstanceOptionsMessage$DBInstanceClass": "

The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

", - "DescribeOrderableDBInstanceOptionsMessage$LicenseModel": "

The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.

", - "DescribeOrderableDBInstanceOptionsMessage$Marker": "

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

", - "DescribePendingMaintenanceActionsMessage$ResourceIdentifier": "

The ARN of a resource to return pending maintenance actions for.

", - "DescribePendingMaintenanceActionsMessage$Marker": "

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.

", - "DescribeReservedDBInstancesMessage$ReservedDBInstanceId": "

The reserved DB instance identifier filter value. Specify this parameter to show only the reservation that matches the specified reservation ID.

", - "DescribeReservedDBInstancesMessage$ReservedDBInstancesOfferingId": "

The offering identifier filter value. Specify this parameter to show only purchased reservations matching the specified offering identifier.

", - "DescribeReservedDBInstancesMessage$DBInstanceClass": "

The DB instance class filter value. Specify this parameter to show only those reservations matching the specified DB instances class.

", - "DescribeReservedDBInstancesMessage$Duration": "

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

", - "DescribeReservedDBInstancesMessage$ProductDescription": "

The product description filter value. Specify this parameter to show only those reservations matching the specified product description.

", - "DescribeReservedDBInstancesMessage$OfferingType": "

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\"

", - "DescribeReservedDBInstancesMessage$Marker": "

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.

", - "DescribeReservedDBInstancesOfferingsMessage$ReservedDBInstancesOfferingId": "

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

", - "DescribeReservedDBInstancesOfferingsMessage$DBInstanceClass": "

The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

", - "DescribeReservedDBInstancesOfferingsMessage$Duration": "

Duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration.

Valid Values: 1 | 3 | 31536000 | 94608000

", - "DescribeReservedDBInstancesOfferingsMessage$ProductDescription": "

Product description filter value. Specify this parameter to show only the available offerings matching the specified product description.

", - "DescribeReservedDBInstancesOfferingsMessage$OfferingType": "

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\"

", - "DescribeReservedDBInstancesOfferingsMessage$Marker": "

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.

", - "DescribeSourceRegionsMessage$RegionName": "

The source AWS Region name. For example, us-east-1.

Constraints:

  • Must specify a valid AWS Region name.

", - "DescribeSourceRegionsMessage$Marker": "

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.

", - "DescribeValidDBInstanceModificationsMessage$DBInstanceIdentifier": "

The customer identifier or the ARN of your DB instance.

", - "DomainMembership$Domain": "

The identifier of the Active Directory Domain.

", - "DomainMembership$Status": "

The status of the DB instance's Active Directory Domain membership, such as joined, pending-join, failed etc).

", - "DomainMembership$FQDN": "

The fully qualified domain name of the Active Directory Domain.

", - "DomainMembership$IAMRoleName": "

The name of the IAM role to be used when making API calls to the Directory Service.

", - "DownloadDBLogFilePortionDetails$LogFileData": "

Entries from the specified log file.

", - "DownloadDBLogFilePortionDetails$Marker": "

A pagination token that can be used in a subsequent DownloadDBLogFilePortion request.

", - "DownloadDBLogFilePortionMessage$DBInstanceIdentifier": "

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.

", - "DownloadDBLogFilePortionMessage$LogFileName": "

The name of the log file to be downloaded.

", - "DownloadDBLogFilePortionMessage$Marker": "

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.

", - "EC2SecurityGroup$Status": "

Provides the status of the EC2 security group. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".

", - "EC2SecurityGroup$EC2SecurityGroupName": "

Specifies the name of the EC2 security group.

", - "EC2SecurityGroup$EC2SecurityGroupId": "

Specifies the id of the EC2 security group.

", - "EC2SecurityGroup$EC2SecurityGroupOwnerId": "

Specifies the AWS ID of the owner of the EC2 security group specified in the EC2SecurityGroupName field.

", - "Endpoint$Address": "

Specifies the DNS address of the DB instance.

", - "Endpoint$HostedZoneId": "

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

", - "EngineDefaults$DBParameterGroupFamily": "

Specifies the name of the DB parameter group family that the engine default parameters apply to.

", - "EngineDefaults$Marker": "

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 .

", - "Event$SourceIdentifier": "

Provides the identifier for the source of the event.

", - "Event$Message": "

Provides the text of this event.

", - "Event$SourceArn": "

The Amazon Resource Name (ARN) for the event.

", - "EventCategoriesList$member": null, - "EventCategoriesMap$SourceType": "

The source type that the returned categories belong to

", - "EventSubscription$CustomerAwsId": "

The AWS customer account associated with the RDS event notification subscription.

", - "EventSubscription$CustSubscriptionId": "

The RDS event notification subscription Id.

", - "EventSubscription$SnsTopicArn": "

The topic ARN of the RDS event notification subscription.

", - "EventSubscription$Status": "

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.

", - "EventSubscription$SubscriptionCreationTime": "

The time the RDS event notification subscription was created.

", - "EventSubscription$SourceType": "

The source type for the RDS event notification subscription.

", - "EventSubscription$EventSubscriptionArn": "

The Amazon Resource Name (ARN) for the event subscription.

", - "EventSubscriptionsMessage$Marker": "

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.

", - "EventsMessage$Marker": "

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 .

", - "FailoverDBClusterMessage$DBClusterIdentifier": "

A DB cluster identifier to force a failover for. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

", - "FailoverDBClusterMessage$TargetDBInstanceIdentifier": "

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.

", - "Filter$Name": "

This parameter is not currently supported.

", - "FilterValueList$member": null, - "IPRange$Status": "

Specifies the status of the IP range. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".

", - "IPRange$CIDRIP": "

Specifies the IP range.

", - "KeyList$member": null, - "ListTagsForResourceMessage$ResourceName": "

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).

", - "ModifyDBClusterMessage$DBClusterIdentifier": "

The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

", - "ModifyDBClusterMessage$NewDBClusterIdentifier": "

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

", - "ModifyDBClusterMessage$DBClusterParameterGroupName": "

The name of the DB cluster parameter group to use for the DB cluster.

", - "ModifyDBClusterMessage$MasterUserPassword": "

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.

", - "ModifyDBClusterMessage$OptionGroupName": "

A value that indicates that the DB cluster should be associated with the specified option group. Changing this parameter does not result in an outage except in the following case, and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options 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.

", - "ModifyDBClusterMessage$PreferredBackupWindow": "

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.

", - "ModifyDBClusterMessage$PreferredMaintenanceWindow": "

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 RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

", - "ModifyDBClusterParameterGroupMessage$DBClusterParameterGroupName": "

The name of the DB cluster parameter group to modify.

", - "ModifyDBClusterSnapshotAttributeMessage$DBClusterSnapshotIdentifier": "

The identifier for the DB cluster snapshot to modify the attributes for.

", - "ModifyDBClusterSnapshotAttributeMessage$AttributeName": "

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.

", - "ModifyDBInstanceMessage$DBInstanceIdentifier": "

The DB instance identifier. This value is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

", - "ModifyDBInstanceMessage$DBInstanceClass": "

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

", - "ModifyDBInstanceMessage$DBSubnetGroupName": "

The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance is not in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see Updating the VPC for a DB Instance.

Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify true for the ApplyImmediately parameter.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetGroup

", - "ModifyDBInstanceMessage$MasterUserPassword": "

The new password for the master user. The password can include 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.

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.

", - "ModifyDBInstanceMessage$DBParameterGroupName": "

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.

", - "ModifyDBInstanceMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod parameter. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible.

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

", - "ModifyDBInstanceMessage$PreferredMaintenanceWindow": "

The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter does not result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

Default: Uses existing setting

Format: ddd:hh24:mi-ddd:hh24:mi

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Must be at least 30 minutes

", - "ModifyDBInstanceMessage$EngineVersion": "

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 a list of valid engine versions, see CreateDBInstance.

", - "ModifyDBInstanceMessage$LicenseModel": "

The license model for the DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

", - "ModifyDBInstanceMessage$OptionGroupName": "

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, 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

", - "ModifyDBInstanceMessage$NewDBInstanceIdentifier": "

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

", - "ModifyDBInstanceMessage$StorageType": "

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

", - "ModifyDBInstanceMessage$TdeCredentialArn": "

The ARN from the key store with which to associate the instance for TDE encryption.

", - "ModifyDBInstanceMessage$TdeCredentialPassword": "

The password for the given ARN from the key store in order to access the device.

", - "ModifyDBInstanceMessage$CACertificateIdentifier": "

Indicates the certificate that needs to be associated with the instance.

", - "ModifyDBInstanceMessage$Domain": "

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.

", - "ModifyDBInstanceMessage$MonitoringRoleArn": "

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.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

", - "ModifyDBInstanceMessage$DomainIAMRoleName": "

The name of the IAM role to use when making API calls to the Directory Service.

", - "ModifyDBInstanceMessage$PerformanceInsightsKMSKeyId": "

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.

", - "ModifyDBParameterGroupMessage$DBParameterGroupName": "

The name of the DB parameter group.

Constraints:

  • If supplied, must match the name of an existing DBParameterGroup.

", - "ModifyDBSnapshotAttributeMessage$DBSnapshotIdentifier": "

The identifier for the DB snapshot to modify the attributes for.

", - "ModifyDBSnapshotAttributeMessage$AttributeName": "

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.

", - "ModifyDBSnapshotMessage$DBSnapshotIdentifier": "

The identifier of the DB snapshot to modify.

", - "ModifyDBSnapshotMessage$EngineVersion": "

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)

", - "ModifyDBSnapshotMessage$OptionGroupName": "

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.

", - "ModifyDBSubnetGroupMessage$DBSubnetGroupName": "

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

", - "ModifyDBSubnetGroupMessage$DBSubnetGroupDescription": "

The description for the DB subnet group.

", - "ModifyEventSubscriptionMessage$SubscriptionName": "

The name of the RDS event notification subscription.

", - "ModifyEventSubscriptionMessage$SnsTopicArn": "

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.

", - "ModifyEventSubscriptionMessage$SourceType": "

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

", - "ModifyOptionGroupMessage$OptionGroupName": "

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

", - "Option$OptionName": "

The name of the option.

", - "Option$OptionDescription": "

The description of the option.

", - "Option$OptionVersion": "

The version of the option.

", - "OptionConfiguration$OptionName": "

The configuration of options to include in a group.

", - "OptionConfiguration$OptionVersion": "

The version for the option.

", - "OptionGroup$OptionGroupName": "

Specifies the name of the option group.

", - "OptionGroup$OptionGroupDescription": "

Provides a description of the option group.

", - "OptionGroup$EngineName": "

Indicates the name of the engine that this option group can be applied to.

", - "OptionGroup$MajorEngineVersion": "

Indicates the major engine version associated with this option group.

", - "OptionGroup$VpcId": "

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.

", - "OptionGroup$OptionGroupArn": "

The Amazon Resource Name (ARN) for the option group.

", - "OptionGroupMembership$OptionGroupName": "

The name of the option group that the instance belongs to.

", - "OptionGroupMembership$Status": "

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.

", - "OptionGroupOption$Name": "

The name of the option.

", - "OptionGroupOption$Description": "

The description of the option.

", - "OptionGroupOption$EngineName": "

The name of the engine that this option can be applied to.

", - "OptionGroupOption$MajorEngineVersion": "

Indicates the major engine version that the option is available for.

", - "OptionGroupOption$MinimumRequiredMinorEngineVersion": "

The minimum required engine version for the option to be applied.

", - "OptionGroupOptionSetting$SettingName": "

The name of the option group option.

", - "OptionGroupOptionSetting$SettingDescription": "

The description of the option group option.

", - "OptionGroupOptionSetting$DefaultValue": "

The default value for the option group option.

", - "OptionGroupOptionSetting$ApplyType": "

The DB engine specific parameter type for the option group option.

", - "OptionGroupOptionSetting$AllowedValues": "

Indicates the acceptable values for the option group option.

", - "OptionGroupOptionsMessage$Marker": "

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.

", - "OptionGroups$Marker": "

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.

", - "OptionNamesList$member": null, - "OptionSetting$Name": "

The name of the option that has settings that you can set.

", - "OptionSetting$Value": "

The current value of the option setting.

", - "OptionSetting$DefaultValue": "

The default value of the option setting.

", - "OptionSetting$Description": "

The description of the option setting.

", - "OptionSetting$ApplyType": "

The DB engine specific parameter type.

", - "OptionSetting$DataType": "

The data type of the option setting.

", - "OptionSetting$AllowedValues": "

The allowed values of the option setting.

", - "OptionVersion$Version": "

The version of the option.

", - "OptionsConflictsWith$member": null, - "OptionsDependedOn$member": null, - "OrderableDBInstanceOption$Engine": "

The engine type of a DB instance.

", - "OrderableDBInstanceOption$EngineVersion": "

The engine version of a DB instance.

", - "OrderableDBInstanceOption$DBInstanceClass": "

The DB instance class for a DB instance.

", - "OrderableDBInstanceOption$LicenseModel": "

The license model for a DB instance.

", - "OrderableDBInstanceOption$StorageType": "

Indicates the storage type for a DB instance.

", - "OrderableDBInstanceOptionsMessage$Marker": "

An optional pagination token provided by a previous OrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

", - "Parameter$ParameterName": "

Specifies the name of the parameter.

", - "Parameter$ParameterValue": "

Specifies the value of the parameter.

", - "Parameter$Description": "

Provides a description of the parameter.

", - "Parameter$Source": "

Indicates the source of the parameter value.

", - "Parameter$ApplyType": "

Specifies the engine specific parameters type.

", - "Parameter$DataType": "

Specifies the valid data type for the parameter.

", - "Parameter$AllowedValues": "

Specifies the valid range of values for the parameter.

", - "Parameter$MinimumEngineVersion": "

The earliest engine version to which the parameter can apply.

", - "PendingMaintenanceAction$Action": "

The type of pending maintenance action that is available for the resource.

", - "PendingMaintenanceAction$OptInStatus": "

Indicates the type of opt-in request that has been received for the resource.

", - "PendingMaintenanceAction$Description": "

A description providing more detail about the maintenance action.

", - "PendingMaintenanceActionsMessage$Marker": "

An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.

", - "PendingModifiedValues$DBInstanceClass": "

Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied.

", - "PendingModifiedValues$MasterUserPassword": "

Contains the pending or currently-in-progress change of the master credentials for the DB instance.

", - "PendingModifiedValues$EngineVersion": "

Indicates the database engine version.

", - "PendingModifiedValues$LicenseModel": "

The license model for the DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

", - "PendingModifiedValues$DBInstanceIdentifier": "

Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied.

", - "PendingModifiedValues$StorageType": "

Specifies the storage type to be associated with the DB instance.

", - "PendingModifiedValues$CACertificateIdentifier": "

Specifies the identifier of the CA certificate for the DB instance.

", - "PendingModifiedValues$DBSubnetGroupName": "

The new DB subnet group for the DB instance.

", - "PromoteReadReplicaDBClusterMessage$DBClusterIdentifier": "

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

", - "PromoteReadReplicaMessage$DBInstanceIdentifier": "

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

", - "PromoteReadReplicaMessage$PreferredBackupWindow": "

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.

", - "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferingId": "

The ID of the Reserved DB instance offering to purchase.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

", - "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstanceId": "

Customer-specified identifier to track this reservation.

Example: myreservationID

", - "ReadReplicaDBClusterIdentifierList$member": null, - "ReadReplicaDBInstanceIdentifierList$member": null, - "ReadReplicaIdentifierList$member": null, - "RebootDBInstanceMessage$DBInstanceIdentifier": "

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

", - "RecurringCharge$RecurringChargeFrequency": "

The frequency of the recurring charge.

", - "RemoveRoleFromDBClusterMessage$DBClusterIdentifier": "

The name of the DB cluster to disassociate the IAM role from.

", - "RemoveRoleFromDBClusterMessage$RoleArn": "

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$SubscriptionName": "

The name of the RDS event notification subscription you want to remove a source identifier from.

", - "RemoveSourceIdentifierFromSubscriptionMessage$SourceIdentifier": "

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.

", - "RemoveTagsFromResourceMessage$ResourceName": "

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 RDS Amazon Resource Name (ARN).

", - "ReservedDBInstance$ReservedDBInstanceId": "

The unique identifier for the reservation.

", - "ReservedDBInstance$ReservedDBInstancesOfferingId": "

The offering identifier.

", - "ReservedDBInstance$DBInstanceClass": "

The DB instance class for the reserved DB instance.

", - "ReservedDBInstance$CurrencyCode": "

The currency code for the reserved DB instance.

", - "ReservedDBInstance$ProductDescription": "

The description of the reserved DB instance.

", - "ReservedDBInstance$OfferingType": "

The offering type of this reserved DB instance.

", - "ReservedDBInstance$State": "

The state of the reserved DB instance.

", - "ReservedDBInstance$ReservedDBInstanceArn": "

The Amazon Resource Name (ARN) for the reserved DB instance.

", - "ReservedDBInstanceMessage$Marker": "

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.

", - "ReservedDBInstancesOffering$ReservedDBInstancesOfferingId": "

The offering identifier.

", - "ReservedDBInstancesOffering$DBInstanceClass": "

The DB instance class for the reserved DB instance.

", - "ReservedDBInstancesOffering$CurrencyCode": "

The currency code for the reserved DB instance offering.

", - "ReservedDBInstancesOffering$ProductDescription": "

The database engine used by the offering.

", - "ReservedDBInstancesOffering$OfferingType": "

The offering type.

", - "ReservedDBInstancesOfferingMessage$Marker": "

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.

", - "ResetDBClusterParameterGroupMessage$DBClusterParameterGroupName": "

The name of the DB cluster parameter group to reset.

", - "ResetDBParameterGroupMessage$DBParameterGroupName": "

The name of the DB parameter group.

Constraints:

  • Must match the name of an existing DBParameterGroup.

", - "ResourcePendingMaintenanceActions$ResourceIdentifier": "

The ARN of the resource that has pending maintenance actions.

", - "RestoreDBClusterFromS3Message$CharacterSetName": "

A value that indicates that the restored DB cluster should be associated with the specified CharacterSet.

", - "RestoreDBClusterFromS3Message$DatabaseName": "

The database name for the restored DB cluster.

", - "RestoreDBClusterFromS3Message$DBClusterIdentifier": "

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

", - "RestoreDBClusterFromS3Message$DBClusterParameterGroupName": "

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.

", - "RestoreDBClusterFromS3Message$DBSubnetGroupName": "

A DB subnet group to associate with the restored DB cluster.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

", - "RestoreDBClusterFromS3Message$Engine": "

The name of the database engine to be used for the restored DB cluster.

Valid Values: aurora, aurora-postgresql

", - "RestoreDBClusterFromS3Message$EngineVersion": "

The version number of the database engine to use.

Aurora

Example: 5.6.10a

", - "RestoreDBClusterFromS3Message$MasterUsername": "

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.

", - "RestoreDBClusterFromS3Message$MasterUserPassword": "

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.

", - "RestoreDBClusterFromS3Message$OptionGroupName": "

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.

", - "RestoreDBClusterFromS3Message$PreferredBackupWindow": "

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.

", - "RestoreDBClusterFromS3Message$PreferredMaintenanceWindow": "

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 RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

", - "RestoreDBClusterFromS3Message$KmsKeyId": "

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.

", - "RestoreDBClusterFromS3Message$SourceEngine": "

The identifier for the database engine that was backed up to create the files stored in the Amazon S3 bucket.

Valid values: mysql

", - "RestoreDBClusterFromS3Message$SourceEngineVersion": "

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

", - "RestoreDBClusterFromS3Message$S3BucketName": "

The name of the Amazon S3 bucket that contains the data used to create the Amazon Aurora DB cluster.

", - "RestoreDBClusterFromS3Message$S3Prefix": "

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.

", - "RestoreDBClusterFromS3Message$S3IngestionRoleArn": "

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.

", - "RestoreDBClusterFromSnapshotMessage$DBClusterIdentifier": "

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 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

", - "RestoreDBClusterFromSnapshotMessage$SnapshotIdentifier": "

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.

", - "RestoreDBClusterFromSnapshotMessage$Engine": "

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

", - "RestoreDBClusterFromSnapshotMessage$EngineVersion": "

The version of the database engine to use for the new DB cluster.

", - "RestoreDBClusterFromSnapshotMessage$DBSubnetGroupName": "

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

", - "RestoreDBClusterFromSnapshotMessage$DatabaseName": "

The database name for the restored DB cluster.

", - "RestoreDBClusterFromSnapshotMessage$OptionGroupName": "

The name of the option group to use for the restored DB cluster.

", - "RestoreDBClusterFromSnapshotMessage$KmsKeyId": "

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.

", - "RestoreDBClusterToPointInTimeMessage$DBClusterIdentifier": "

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

", - "RestoreDBClusterToPointInTimeMessage$RestoreType": "

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.

", - "RestoreDBClusterToPointInTimeMessage$SourceDBClusterIdentifier": "

The identifier of the source DB cluster from which to restore.

Constraints:

  • Must match the identifier of an existing DBCluster.

", - "RestoreDBClusterToPointInTimeMessage$DBSubnetGroupName": "

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

", - "RestoreDBClusterToPointInTimeMessage$OptionGroupName": "

The name of the option group for the new DB cluster.

", - "RestoreDBClusterToPointInTimeMessage$KmsKeyId": "

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.

", - "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceIdentifier": "

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

", - "RestoreDBInstanceFromDBSnapshotMessage$DBSnapshotIdentifier": "

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.

", - "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceClass": "

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.

", - "RestoreDBInstanceFromDBSnapshotMessage$AvailabilityZone": "

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

", - "RestoreDBInstanceFromDBSnapshotMessage$DBSubnetGroupName": "

The DB subnet group name to use for the new instance.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

", - "RestoreDBInstanceFromDBSnapshotMessage$LicenseModel": "

License model information for the restored DB instance.

Default: Same as source.

Valid values: license-included | bring-your-own-license | general-public-license

", - "RestoreDBInstanceFromDBSnapshotMessage$DBName": "

The database name for the restored DB instance.

This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.

", - "RestoreDBInstanceFromDBSnapshotMessage$Engine": "

The database engine to use for the new instance.

Default: The same as source

Constraint: Must be compatible with the engine of the source. You can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

Valid Values:

  • aurora

  • aurora-postgresql

  • mariadb

  • mysql

  • oracle-ee

  • oracle-se2

  • oracle-se1

  • oracle-se

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

", - "RestoreDBInstanceFromDBSnapshotMessage$OptionGroupName": "

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

", - "RestoreDBInstanceFromDBSnapshotMessage$StorageType": "

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

", - "RestoreDBInstanceFromDBSnapshotMessage$TdeCredentialArn": "

The ARN from the key store with which to associate the instance for TDE encryption.

", - "RestoreDBInstanceFromDBSnapshotMessage$TdeCredentialPassword": "

The password for the given ARN from the key store in order to access the device.

", - "RestoreDBInstanceFromDBSnapshotMessage$Domain": "

Specify the Active Directory Domain to restore the instance in.

", - "RestoreDBInstanceFromDBSnapshotMessage$DomainIAMRoleName": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

", - "RestoreDBInstanceFromS3Message$DBName": "

The name of the database to create when the DB instance is created. Follow the naming rules specified in CreateDBInstance.

", - "RestoreDBInstanceFromS3Message$DBInstanceIdentifier": "

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

", - "RestoreDBInstanceFromS3Message$DBInstanceClass": "

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.

", - "RestoreDBInstanceFromS3Message$Engine": "

The name of the database engine to be used for this instance.

Valid Values: mysql

", - "RestoreDBInstanceFromS3Message$MasterUsername": "

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.

", - "RestoreDBInstanceFromS3Message$MasterUserPassword": "

The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

", - "RestoreDBInstanceFromS3Message$AvailabilityZone": "

The Availability Zone that the DB instance is created in. For information about 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.

", - "RestoreDBInstanceFromS3Message$DBSubnetGroupName": "

A DB subnet group to associate with this DB instance.

", - "RestoreDBInstanceFromS3Message$PreferredMaintenanceWindow": "

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window.

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.

", - "RestoreDBInstanceFromS3Message$DBParameterGroupName": "

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.

", - "RestoreDBInstanceFromS3Message$PreferredBackupWindow": "

The time range each day during which automated backups are created if automated backups are enabled. For more information, see The Backup Window.

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.

", - "RestoreDBInstanceFromS3Message$EngineVersion": "

The version number of the database engine to use. Choose the latest minor version of your database engine as specified in CreateDBInstance.

", - "RestoreDBInstanceFromS3Message$LicenseModel": "

The license model for this DB instance. Use general-public-license.

", - "RestoreDBInstanceFromS3Message$OptionGroupName": "

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.

", - "RestoreDBInstanceFromS3Message$StorageType": "

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

", - "RestoreDBInstanceFromS3Message$KmsKeyId": "

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.

", - "RestoreDBInstanceFromS3Message$MonitoringRoleArn": "

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.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

", - "RestoreDBInstanceFromS3Message$SourceEngine": "

The name of the engine of your source database.

Valid Values: mysql

", - "RestoreDBInstanceFromS3Message$SourceEngineVersion": "

The engine version of your source database.

Valid Values: 5.6

", - "RestoreDBInstanceFromS3Message$S3BucketName": "

The name of your Amazon S3 bucket that contains your database backup file.

", - "RestoreDBInstanceFromS3Message$S3Prefix": "

The prefix of your Amazon S3 bucket.

", - "RestoreDBInstanceFromS3Message$S3IngestionRoleArn": "

An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access your Amazon S3 bucket.

", - "RestoreDBInstanceFromS3Message$PerformanceInsightsKMSKeyId": "

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.

", - "RestoreDBInstanceToPointInTimeMessage$SourceDBInstanceIdentifier": "

The identifier of the source DB instance from which to restore.

Constraints:

  • Must match the identifier of an existing DBInstance.

", - "RestoreDBInstanceToPointInTimeMessage$TargetDBInstanceIdentifier": "

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

", - "RestoreDBInstanceToPointInTimeMessage$DBInstanceClass": "

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.

", - "RestoreDBInstanceToPointInTimeMessage$AvailabilityZone": "

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

", - "RestoreDBInstanceToPointInTimeMessage$DBSubnetGroupName": "

The DB subnet group name to use for the new instance.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

", - "RestoreDBInstanceToPointInTimeMessage$LicenseModel": "

License model information for the restored DB instance.

Default: Same as source.

Valid values: license-included | bring-your-own-license | general-public-license

", - "RestoreDBInstanceToPointInTimeMessage$DBName": "

The database name for the restored DB instance.

This parameter is not used for the MySQL or MariaDB engines.

", - "RestoreDBInstanceToPointInTimeMessage$Engine": "

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:

  • aurora

  • aurora-postgresql

  • mariadb

  • mysql

  • oracle-ee

  • oracle-se2

  • oracle-se1

  • oracle-se

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

", - "RestoreDBInstanceToPointInTimeMessage$OptionGroupName": "

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

", - "RestoreDBInstanceToPointInTimeMessage$StorageType": "

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

", - "RestoreDBInstanceToPointInTimeMessage$TdeCredentialArn": "

The ARN from the key store with which to associate the instance for TDE encryption.

", - "RestoreDBInstanceToPointInTimeMessage$TdeCredentialPassword": "

The password for the given ARN from the key store in order to access the device.

", - "RestoreDBInstanceToPointInTimeMessage$Domain": "

Specify the Active Directory Domain to restore the instance in.

", - "RestoreDBInstanceToPointInTimeMessage$DomainIAMRoleName": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

", - "RevokeDBSecurityGroupIngressMessage$DBSecurityGroupName": "

The name of the DB security group to revoke ingress from.

", - "RevokeDBSecurityGroupIngressMessage$CIDRIP": "

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.

", - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupName": "

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.

", - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupId": "

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.

", - "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupOwnerId": "

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.

", - "SourceIdsList$member": null, - "SourceRegion$RegionName": "

The name of the source AWS Region.

", - "SourceRegion$Endpoint": "

The endpoint for the source AWS Region endpoint.

", - "SourceRegion$Status": "

The status of the source AWS Region.

", - "SourceRegionMessage$Marker": "

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.

", - "StartDBInstanceMessage$DBInstanceIdentifier": "

The user-supplied instance identifier.

", - "StopDBInstanceMessage$DBInstanceIdentifier": "

The user-supplied instance identifier.

", - "StopDBInstanceMessage$DBSnapshotIdentifier": "

The user-supplied instance identifier of the DB Snapshot created immediately before the DB instance is stopped.

", - "Subnet$SubnetIdentifier": "

Specifies the identifier of the subnet.

", - "Subnet$SubnetStatus": "

Specifies the status of the subnet.

", - "SubnetIdentifierList$member": null, - "Tag$Key": "

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}_.:/=+\\\\-]*)$\").

", - "Tag$Value": "

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}_.:/=+\\\\-]*)$\").

", - "Timezone$TimezoneName": "

The name of the time zone.

", - "UpgradeTarget$Engine": "

The name of the upgrade target database engine.

", - "UpgradeTarget$EngineVersion": "

The version number of the upgrade target database engine.

", - "UpgradeTarget$Description": "

The version of the database engine that a DB instance can be upgraded to.

", - "ValidStorageOptions$StorageType": "

The valid storage types for your DB instance. For example, gp2, io1.

", - "VpcSecurityGroupIdList$member": null, - "VpcSecurityGroupMembership$VpcSecurityGroupId": "

The name of the VPC security group.

", - "VpcSecurityGroupMembership$Status": "

The status of the VPC security group.

" - } - }, - "Subnet": { - "base": "

This data type is used as a response element in the DescribeDBSubnetGroups action.

", - "refs": { - "SubnetList$member": null - } - }, - "SubnetAlreadyInUse": { - "base": "

The DB subnet is already in use in the Availability Zone.

", - "refs": { - } - }, - "SubnetIdentifierList": { - "base": null, - "refs": { - "CreateDBSubnetGroupMessage$SubnetIds": "

The EC2 Subnet IDs for the DB subnet group.

", - "ModifyDBSubnetGroupMessage$SubnetIds": "

The EC2 subnet IDs for the DB subnet group.

" - } - }, - "SubnetList": { - "base": null, - "refs": { - "DBSubnetGroup$Subnets": "

Contains a list of Subnet elements.

" - } - }, - "SubscriptionAlreadyExistFault": { - "base": "

The supplied subscription name already exists.

", - "refs": { - } - }, - "SubscriptionCategoryNotFoundFault": { - "base": "

The supplied category does not exist.

", - "refs": { - } - }, - "SubscriptionNotFoundFault": { - "base": "

The subscription name does not exist.

", - "refs": { - } - }, - "SupportedCharacterSetsList": { - "base": null, - "refs": { - "DBEngineVersion$SupportedCharacterSets": "

A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance action.

" - } - }, - "SupportedTimezonesList": { - "base": null, - "refs": { - "DBEngineVersion$SupportedTimezones": "

A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action.

" - } - }, - "TStamp": { - "base": null, - "refs": { - "Certificate$ValidFrom": "

The starting date from which the certificate is valid.

", - "Certificate$ValidTill": "

The final date that the certificate continues to be valid.

", - "DBCluster$EarliestRestorableTime": "

Specifies the earliest time to which a database can be restored with point-in-time restore.

", - "DBCluster$LatestRestorableTime": "

Specifies the latest time to which a database can be restored with point-in-time restore.

", - "DBCluster$ClusterCreateTime": "

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

", - "DBClusterSnapshot$SnapshotCreateTime": "

Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

", - "DBClusterSnapshot$ClusterCreateTime": "

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

", - "DBInstance$InstanceCreateTime": "

Provides the date and time the DB instance was created.

", - "DBInstance$LatestRestorableTime": "

Specifies the latest time to which a database can be restored with point-in-time restore.

", - "DBSnapshot$SnapshotCreateTime": "

Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

", - "DBSnapshot$InstanceCreateTime": "

Specifies the time when the snapshot was taken, in Universal Coordinated Time (UTC).

", - "DescribeEventsMessage$StartTime": "

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

", - "DescribeEventsMessage$EndTime": "

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

", - "Event$Date": "

Specifies the date and time of the event.

", - "PendingMaintenanceAction$AutoAppliedAfterDate": "

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.

", - "PendingMaintenanceAction$ForcedApplyDate": "

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.

", - "PendingMaintenanceAction$CurrentApplyDate": "

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.

", - "ReservedDBInstance$StartTime": "

The time the reservation started.

", - "RestoreDBClusterToPointInTimeMessage$RestoreToTime": "

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

", - "RestoreDBInstanceToPointInTimeMessage$RestoreTime": "

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

" - } - }, - "Tag": { - "base": "

Metadata assigned to an Amazon RDS resource consisting of a key-value pair.

", - "refs": { - "TagList$member": null - } - }, - "TagList": { - "base": "

A list of tags. For more information, see Tagging Amazon RDS Resources.

", - "refs": { - "AddTagsToResourceMessage$Tags": "

The tags to be assigned to the Amazon RDS resource.

", - "CopyDBClusterParameterGroupMessage$Tags": null, - "CopyDBClusterSnapshotMessage$Tags": null, - "CopyDBParameterGroupMessage$Tags": null, - "CopyDBSnapshotMessage$Tags": null, - "CopyOptionGroupMessage$Tags": null, - "CreateDBClusterMessage$Tags": null, - "CreateDBClusterParameterGroupMessage$Tags": null, - "CreateDBClusterSnapshotMessage$Tags": "

The tags to be assigned to the DB cluster snapshot.

", - "CreateDBInstanceMessage$Tags": null, - "CreateDBInstanceReadReplicaMessage$Tags": null, - "CreateDBParameterGroupMessage$Tags": null, - "CreateDBSecurityGroupMessage$Tags": null, - "CreateDBSnapshotMessage$Tags": null, - "CreateDBSubnetGroupMessage$Tags": null, - "CreateEventSubscriptionMessage$Tags": null, - "CreateOptionGroupMessage$Tags": null, - "PurchaseReservedDBInstancesOfferingMessage$Tags": null, - "RestoreDBClusterFromS3Message$Tags": null, - "RestoreDBClusterFromSnapshotMessage$Tags": "

The tags to be assigned to the restored DB cluster.

", - "RestoreDBClusterToPointInTimeMessage$Tags": null, - "RestoreDBInstanceFromDBSnapshotMessage$Tags": null, - "RestoreDBInstanceFromS3Message$Tags": "

A list of tags to associate with this DB instance. For more information, see Tagging Amazon RDS Resources.

", - "RestoreDBInstanceToPointInTimeMessage$Tags": null, - "TagListMessage$TagList": "

List of tags returned by the ListTagsForResource operation.

" - } - }, - "TagListMessage": { - "base": "

", - "refs": { - } - }, - "Timezone": { - "base": "

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.

", - "refs": { - "SupportedTimezonesList$member": null - } - }, - "UpgradeTarget": { - "base": "

The version of the database engine that a DB instance can be upgraded to.

", - "refs": { - "ValidUpgradeTargetList$member": null - } - }, - "ValidDBInstanceModificationsMessage": { - "base": "

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.

", - "refs": { - "DescribeValidDBInstanceModificationsResult$ValidDBInstanceModificationsMessage": null - } - }, - "ValidStorageOptions": { - "base": "

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action.

", - "refs": { - "ValidStorageOptionsList$member": null - } - }, - "ValidStorageOptionsList": { - "base": null, - "refs": { - "ValidDBInstanceModificationsMessage$Storage": "

Valid storage options for your DB instance.

" - } - }, - "ValidUpgradeTargetList": { - "base": null, - "refs": { - "DBEngineVersion$ValidUpgradeTarget": "

A list of engine versions that this database engine version can be upgraded to.

" - } - }, - "VpcSecurityGroupIdList": { - "base": null, - "refs": { - "CreateDBClusterMessage$VpcSecurityGroupIds": "

A list of EC2 VPC security groups to associate with this DB cluster.

", - "CreateDBInstanceMessage$VpcSecurityGroupIds": "

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.

", - "ModifyDBClusterMessage$VpcSecurityGroupIds": "

A list of VPC security groups that the DB cluster will belong to.

", - "ModifyDBInstanceMessage$VpcSecurityGroupIds": "

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.

", - "OptionConfiguration$VpcSecurityGroupMemberships": "

A list of VpcSecurityGroupMemebrship name strings used for this option.

", - "RestoreDBClusterFromS3Message$VpcSecurityGroupIds": "

A list of EC2 VPC security groups to associate with the restored DB cluster.

", - "RestoreDBClusterFromSnapshotMessage$VpcSecurityGroupIds": "

A list of VPC security groups that the new DB cluster will belong to.

", - "RestoreDBClusterToPointInTimeMessage$VpcSecurityGroupIds": "

A list of VPC security groups that the new DB cluster belongs to.

", - "RestoreDBInstanceFromS3Message$VpcSecurityGroupIds": "

A list of VPC security groups to associate with this DB instance.

" - } - }, - "VpcSecurityGroupMembership": { - "base": "

This data type is used as a response element for queries on VPC security group membership.

", - "refs": { - "VpcSecurityGroupMembershipList$member": null - } - }, - "VpcSecurityGroupMembershipList": { - "base": null, - "refs": { - "DBCluster$VpcSecurityGroups": "

Provides a list of VPC security groups that the DB cluster belongs to.

", - "DBInstance$VpcSecurityGroups": "

Provides a list of VPC security group elements that the DB instance belongs to.

", - "Option$VpcSecurityGroupMemberships": "

If the option requires access to a port, then this VPC security group allows access to the port.

" + "StartDBInstanceMessage":{ + "base":null, + "refs":{ + } + }, + "StartDBInstanceResult":{ + "base":null, + "refs":{ + } + }, + "StopDBInstanceMessage":{ + "base":null, + "refs":{ + } + }, + "StopDBInstanceResult":{ + "base":null, + "refs":{ + } + }, + "StorageQuotaExceededFault":{ + "base":"

The request would result in the user exceeding the allowed amount of storage available across all DB instances.

", + "refs":{ + } + }, + "StorageTypeNotSupportedFault":{ + "base":"

Storage of the StorageType specified can't be associated with the DB instance.

", + "refs":{ + } + }, + "String":{ + "base":null, + "refs":{ + "AccountQuota$AccountQuotaName":"

The name of the Amazon RDS quota for this AWS account.

", + "AddRoleToDBClusterMessage$DBClusterIdentifier":"

The name of the DB cluster to associate the IAM role with.

", + "AddRoleToDBClusterMessage$RoleArn":"

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$SubscriptionName":"

The name of the RDS event notification subscription you want to add a source identifier to.

", + "AddSourceIdentifierToSubscriptionMessage$SourceIdentifier":"

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.

", + "AddTagsToResourceMessage$ResourceName":"

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).

", + "ApplyPendingMaintenanceActionMessage$ResourceIdentifier":"

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).

", + "ApplyPendingMaintenanceActionMessage$ApplyAction":"

The pending maintenance action to apply to this resource.

Valid values: system-update, db-upgrade

", + "ApplyPendingMaintenanceActionMessage$OptInType":"

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.

", + "AttributeValueList$member":null, + "AuthorizeDBSecurityGroupIngressMessage$DBSecurityGroupName":"

The name of the DB security group to add authorization to.

", + "AuthorizeDBSecurityGroupIngressMessage$CIDRIP":"

The IP range to authorize.

", + "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupName":"

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.

", + "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupId":"

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.

", + "AuthorizeDBSecurityGroupIngressMessage$EC2SecurityGroupOwnerId":"

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.

", + "AvailabilityZone$Name":"

The name of the Availability Zone.

", + "AvailabilityZones$member":null, + "AvailableProcessorFeature$Name":"

The name of the processor feature. Valid names are coreCount and threadsPerCore.

", + "AvailableProcessorFeature$DefaultValue":"

The default value for the processor feature of the DB instance class.

", + "AvailableProcessorFeature$AllowedValues":"

The allowed values for the processor feature of the DB instance class.

", + "BacktrackDBClusterMessage$DBClusterIdentifier":"

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

", + "Certificate$CertificateIdentifier":"

The unique key that identifies a certificate.

", + "Certificate$CertificateType":"

The type of the certificate.

", + "Certificate$Thumbprint":"

The thumbprint of the certificate.

", + "Certificate$CertificateArn":"

The Amazon Resource Name (ARN) for the certificate.

", + "CertificateMessage$Marker":"

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 .

", + "CharacterSet$CharacterSetName":"

The name of the character set.

", + "CharacterSet$CharacterSetDescription":"

The description of the character set.

", + "CopyDBClusterParameterGroupMessage$SourceDBClusterParameterGroupIdentifier":"

The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB cluster parameter group.

  • If the source DB cluster parameter group is in the same 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.

", + "CopyDBClusterParameterGroupMessage$TargetDBClusterParameterGroupIdentifier":"

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

", + "CopyDBClusterParameterGroupMessage$TargetDBClusterParameterGroupDescription":"

A description for the copied DB cluster parameter group.

", + "CopyDBClusterSnapshotMessage$SourceDBClusterSnapshotIdentifier":"

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 a DB Snapshot or DB Cluster Snapshot.

Example: my-cluster-snapshot1

", + "CopyDBClusterSnapshotMessage$TargetDBClusterSnapshotIdentifier":"

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

", + "CopyDBClusterSnapshotMessage$KmsKeyId":"

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.

", + "CopyDBClusterSnapshotMessage$PreSignedUrl":"

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.

", + "CopyDBParameterGroupMessage$SourceDBParameterGroupIdentifier":"

The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB parameter group.

  • Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN.

", + "CopyDBParameterGroupMessage$TargetDBParameterGroupIdentifier":"

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

", + "CopyDBParameterGroupMessage$TargetDBParameterGroupDescription":"

A description for the copied DB parameter group.

", + "CopyDBSnapshotMessage$SourceDBSnapshotIdentifier":"

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

", + "CopyDBSnapshotMessage$TargetDBSnapshotIdentifier":"

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

", + "CopyDBSnapshotMessage$KmsKeyId":"

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.

", + "CopyDBSnapshotMessage$PreSignedUrl":"

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.

", + "CopyDBSnapshotMessage$OptionGroupName":"

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.

", + "CopyOptionGroupMessage$SourceOptionGroupIdentifier":"

The identifier or ARN for the source option group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid option group.

  • If the source option group is in the same 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.

", + "CopyOptionGroupMessage$TargetOptionGroupIdentifier":"

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

", + "CopyOptionGroupMessage$TargetOptionGroupDescription":"

The description for the copied option group.

", + "CreateDBClusterMessage$CharacterSetName":"

A value that indicates that the DB cluster should be associated with the specified CharacterSet.

", + "CreateDBClusterMessage$DatabaseName":"

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.

", + "CreateDBClusterMessage$DBClusterIdentifier":"

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

", + "CreateDBClusterMessage$DBClusterParameterGroupName":"

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.

", + "CreateDBClusterMessage$DBSubnetGroupName":"

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

", + "CreateDBClusterMessage$Engine":"

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

", + "CreateDBClusterMessage$EngineVersion":"

The version number of the database engine to use.

Aurora MySQL

Example: 5.6.10a, 5.7.12

Aurora PostgreSQL

Example: 9.6.3

", + "CreateDBClusterMessage$MasterUsername":"

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.

", + "CreateDBClusterMessage$MasterUserPassword":"

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.

", + "CreateDBClusterMessage$OptionGroupName":"

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.

", + "CreateDBClusterMessage$PreferredBackupWindow":"

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.

", + "CreateDBClusterMessage$PreferredMaintenanceWindow":"

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 RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

", + "CreateDBClusterMessage$ReplicationSourceIdentifier":"

The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.

", + "CreateDBClusterMessage$KmsKeyId":"

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.

", + "CreateDBClusterMessage$PreSignedUrl":"

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.

", + "CreateDBClusterParameterGroupMessage$DBClusterParameterGroupName":"

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.

", + "CreateDBClusterParameterGroupMessage$DBParameterGroupFamily":"

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

", + "CreateDBClusterParameterGroupMessage$Description":"

The description for the DB cluster parameter group.

", + "CreateDBClusterSnapshotMessage$DBClusterSnapshotIdentifier":"

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

", + "CreateDBClusterSnapshotMessage$DBClusterIdentifier":"

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

", + "CreateDBInstanceMessage$DBName":"

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

", + "CreateDBInstanceMessage$DBInstanceIdentifier":"

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

", + "CreateDBInstanceMessage$DBInstanceClass":"

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.

", + "CreateDBInstanceMessage$Engine":"

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

", + "CreateDBInstanceMessage$MasterUsername":"

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.

", + "CreateDBInstanceMessage$MasterUserPassword":"

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.

", + "CreateDBInstanceMessage$AvailabilityZone":"

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.

", + "CreateDBInstanceMessage$DBSubnetGroupName":"

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.

", + "CreateDBInstanceMessage$PreferredMaintenanceWindow":"

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.

", + "CreateDBInstanceMessage$DBParameterGroupName":"

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

", + "CreateDBInstanceMessage$PreferredBackupWindow":"

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.

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.

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.

", + "CreateDBInstanceMessage$EngineVersion":"

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.

", + "CreateDBInstanceMessage$LicenseModel":"

License model information for this DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

", + "CreateDBInstanceMessage$OptionGroupName":"

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

", + "CreateDBInstanceMessage$CharacterSetName":"

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.

", + "CreateDBInstanceMessage$DBClusterIdentifier":"

The identifier of the DB cluster that the instance will belong to.

For information on creating a DB cluster, see CreateDBCluster.

Type: String

", + "CreateDBInstanceMessage$StorageType":"

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

", + "CreateDBInstanceMessage$TdeCredentialArn":"

The ARN from the key store with which to associate the instance for TDE encryption.

", + "CreateDBInstanceMessage$TdeCredentialPassword":"

The password for the given ARN from the key store in order to access the device.

", + "CreateDBInstanceMessage$KmsKeyId":"

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.

", + "CreateDBInstanceMessage$Domain":"

Specify the Active Directory Domain to create the instance in.

", + "CreateDBInstanceMessage$MonitoringRoleArn":"

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.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

", + "CreateDBInstanceMessage$DomainIAMRoleName":"

Specify the name of the IAM role to be used when making API calls to the Directory Service.

", + "CreateDBInstanceMessage$Timezone":"

The time zone of the DB instance. The time zone parameter is currently supported only by Microsoft SQL Server.

", + "CreateDBInstanceMessage$PerformanceInsightsKMSKeyId":"

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.

", + "CreateDBInstanceReadReplicaMessage$DBInstanceIdentifier":"

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.

", + "CreateDBInstanceReadReplicaMessage$SourceDBInstanceIdentifier":"

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 a Amazon RDS Amazon Resource Name (ARN).

", + "CreateDBInstanceReadReplicaMessage$DBInstanceClass":"

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.

", + "CreateDBInstanceReadReplicaMessage$AvailabilityZone":"

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

", + "CreateDBInstanceReadReplicaMessage$OptionGroupName":"

The option group the DB instance is associated with. If omitted, the default option group for the engine specified is used.

", + "CreateDBInstanceReadReplicaMessage$DBSubnetGroupName":"

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

", + "CreateDBInstanceReadReplicaMessage$StorageType":"

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

", + "CreateDBInstanceReadReplicaMessage$MonitoringRoleArn":"

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.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

", + "CreateDBInstanceReadReplicaMessage$KmsKeyId":"

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.

", + "CreateDBInstanceReadReplicaMessage$PreSignedUrl":"

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.

", + "CreateDBInstanceReadReplicaMessage$PerformanceInsightsKMSKeyId":"

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.

", + "CreateDBParameterGroupMessage$DBParameterGroupName":"

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.

", + "CreateDBParameterGroupMessage$DBParameterGroupFamily":"

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.

", + "CreateDBParameterGroupMessage$Description":"

The description for the DB parameter group.

", + "CreateDBSecurityGroupMessage$DBSecurityGroupName":"

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

", + "CreateDBSecurityGroupMessage$DBSecurityGroupDescription":"

The description for the DB security group.

", + "CreateDBSnapshotMessage$DBSnapshotIdentifier":"

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

", + "CreateDBSnapshotMessage$DBInstanceIdentifier":"

The identifier of the DB instance that you want to create the snapshot of.

Constraints:

  • Must match the identifier of an existing DBInstance.

", + "CreateDBSubnetGroupMessage$DBSubnetGroupName":"

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

", + "CreateDBSubnetGroupMessage$DBSubnetGroupDescription":"

The description for the DB subnet group.

", + "CreateEventSubscriptionMessage$SubscriptionName":"

The name of the subscription.

Constraints: The name must be less than 255 characters.

", + "CreateEventSubscriptionMessage$SnsTopicArn":"

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.

", + "CreateEventSubscriptionMessage$SourceType":"

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

", + "CreateOptionGroupMessage$OptionGroupName":"

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

", + "CreateOptionGroupMessage$EngineName":"

Specifies the name of the engine that this option group should be associated with.

", + "CreateOptionGroupMessage$MajorEngineVersion":"

Specifies the major version of the engine that this option group should be associated with.

", + "CreateOptionGroupMessage$OptionGroupDescription":"

The description of the option group.

", + "DBCluster$CharacterSetName":"

If present, specifies the name of the character set that this cluster is associated with.

", + "DBCluster$DatabaseName":"

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.

", + "DBCluster$DBClusterIdentifier":"

Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

", + "DBCluster$DBClusterParameterGroup":"

Specifies the name of the DB cluster parameter group for the DB cluster.

", + "DBCluster$DBSubnetGroup":"

Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.

", + "DBCluster$Status":"

Specifies the current state of this DB cluster.

", + "DBCluster$PercentProgress":"

Specifies the progress of the operation as a percentage.

", + "DBCluster$Endpoint":"

Specifies the connection endpoint for the primary instance of the DB cluster.

", + "DBCluster$ReaderEndpoint":"

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.

", + "DBCluster$Engine":"

Provides the name of the database engine to be used for this DB cluster.

", + "DBCluster$EngineVersion":"

Indicates the database engine version.

", + "DBCluster$MasterUsername":"

Contains the master username for the DB cluster.

", + "DBCluster$PreferredBackupWindow":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

", + "DBCluster$PreferredMaintenanceWindow":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

", + "DBCluster$ReplicationSourceIdentifier":"

Contains the identifier of the source DB cluster if this DB cluster is a Read Replica.

", + "DBCluster$HostedZoneId":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

", + "DBCluster$KmsKeyId":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster.

", + "DBCluster$DbClusterResourceId":"

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.

", + "DBCluster$DBClusterArn":"

The Amazon Resource Name (ARN) for the DB cluster.

", + "DBCluster$CloneGroupId":"

Identifies the clone group to which the DB cluster is associated.

", + "DBClusterBacktrack$DBClusterIdentifier":"

Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

", + "DBClusterBacktrack$BacktrackIdentifier":"

Contains the backtrack identifier.

", + "DBClusterBacktrack$Status":"

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.

", + "DBClusterBacktrackMessage$Marker":"

A pagination token that can be used in a subsequent DescribeDBClusterBacktracks request.

", + "DBClusterMember$DBInstanceIdentifier":"

Specifies the instance identifier for this member of the DB cluster.

", + "DBClusterMember$DBClusterParameterGroupStatus":"

Specifies the status of the DB cluster parameter group for this member of the DB cluster.

", + "DBClusterMessage$Marker":"

A pagination token that can be used in a subsequent DescribeDBClusters request.

", + "DBClusterOptionGroupStatus$DBClusterOptionGroupName":"

Specifies the name of the DB cluster option group.

", + "DBClusterOptionGroupStatus$Status":"

Specifies the status of the DB cluster option group.

", + "DBClusterParameterGroup$DBClusterParameterGroupName":"

Provides the name of the DB cluster parameter group.

", + "DBClusterParameterGroup$DBParameterGroupFamily":"

Provides the name of the DB parameter group family that this DB cluster parameter group is compatible with.

", + "DBClusterParameterGroup$Description":"

Provides the customer-specified description for this DB cluster parameter group.

", + "DBClusterParameterGroup$DBClusterParameterGroupArn":"

The Amazon Resource Name (ARN) for the DB cluster parameter group.

", + "DBClusterParameterGroupDetails$Marker":"

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 .

", + "DBClusterParameterGroupNameMessage$DBClusterParameterGroupName":"

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.

", + "DBClusterParameterGroupsMessage$Marker":"

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.

", + "DBClusterRole$RoleArn":"

The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.

", + "DBClusterRole$Status":"

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.

", + "DBClusterSnapshot$DBClusterSnapshotIdentifier":"

Specifies the identifier for the DB cluster snapshot.

", + "DBClusterSnapshot$DBClusterIdentifier":"

Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.

", + "DBClusterSnapshot$Engine":"

Specifies the name of the database engine.

", + "DBClusterSnapshot$Status":"

Specifies the status of this DB cluster snapshot.

", + "DBClusterSnapshot$VpcId":"

Provides the VPC ID associated with the DB cluster snapshot.

", + "DBClusterSnapshot$MasterUsername":"

Provides the master username for the DB cluster snapshot.

", + "DBClusterSnapshot$EngineVersion":"

Provides the version of the database engine for this DB cluster snapshot.

", + "DBClusterSnapshot$LicenseModel":"

Provides the license model information for this DB cluster snapshot.

", + "DBClusterSnapshot$SnapshotType":"

Provides the type of the DB cluster snapshot.

", + "DBClusterSnapshot$KmsKeyId":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.

", + "DBClusterSnapshot$DBClusterSnapshotArn":"

The Amazon Resource Name (ARN) for the DB cluster snapshot.

", + "DBClusterSnapshot$SourceDBClusterSnapshotArn":"

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.

", + "DBClusterSnapshotAttribute$AttributeName":"

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.

", + "DBClusterSnapshotAttributesResult$DBClusterSnapshotIdentifier":"

The identifier of the manual DB cluster snapshot that the attributes apply to.

", + "DBClusterSnapshotMessage$Marker":"

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.

", + "DBEngineVersion$Engine":"

The name of the database engine.

", + "DBEngineVersion$EngineVersion":"

The version number of the database engine.

", + "DBEngineVersion$DBParameterGroupFamily":"

The name of the DB parameter group family for the database engine.

", + "DBEngineVersion$DBEngineDescription":"

The description of the database engine.

", + "DBEngineVersion$DBEngineVersionDescription":"

The description of the database engine version.

", + "DBEngineVersionMessage$Marker":"

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.

", + "DBInstance$DBInstanceIdentifier":"

Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.

", + "DBInstance$DBInstanceClass":"

Contains the name of the compute and memory capacity class of the DB instance.

", + "DBInstance$Engine":"

Provides the name of the database engine to be used for this DB instance.

", + "DBInstance$DBInstanceStatus":"

Specifies the current state of this database.

", + "DBInstance$MasterUsername":"

Contains the master username for the DB instance.

", + "DBInstance$DBName":"

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.

", + "DBInstance$PreferredBackupWindow":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

", + "DBInstance$AvailabilityZone":"

Specifies the name of the Availability Zone the DB instance is located in.

", + "DBInstance$PreferredMaintenanceWindow":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

", + "DBInstance$EngineVersion":"

Indicates the database engine version.

", + "DBInstance$ReadReplicaSourceDBInstanceIdentifier":"

Contains the identifier of the source DB instance if this DB instance is a Read Replica.

", + "DBInstance$LicenseModel":"

License model information for this DB instance.

", + "DBInstance$CharacterSetName":"

If present, specifies the name of the character set that this instance is associated with.

", + "DBInstance$SecondaryAvailabilityZone":"

If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.

", + "DBInstance$StorageType":"

Specifies the storage type associated with DB instance.

", + "DBInstance$TdeCredentialArn":"

The ARN from the key store with which the instance is associated for TDE encryption.

", + "DBInstance$DBClusterIdentifier":"

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.

", + "DBInstance$KmsKeyId":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.

", + "DBInstance$DbiResourceId":"

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.

", + "DBInstance$CACertificateIdentifier":"

The identifier of the CA certificate for this DB instance.

", + "DBInstance$EnhancedMonitoringResourceArn":"

The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.

", + "DBInstance$MonitoringRoleArn":"

The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

", + "DBInstance$DBInstanceArn":"

The Amazon Resource Name (ARN) for the DB instance.

", + "DBInstance$Timezone":"

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.

", + "DBInstance$PerformanceInsightsKMSKeyId":"

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.

", + "DBInstanceMessage$Marker":"

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 .

", + "DBInstanceStatusInfo$StatusType":"

This value is currently \"read replication.\"

", + "DBInstanceStatusInfo$Status":"

Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.

", + "DBInstanceStatusInfo$Message":"

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.

", + "DBParameterGroup$DBParameterGroupName":"

Provides the name of the DB parameter group.

", + "DBParameterGroup$DBParameterGroupFamily":"

Provides the name of the DB parameter group family that this DB parameter group is compatible with.

", + "DBParameterGroup$Description":"

Provides the customer-specified description for this DB parameter group.

", + "DBParameterGroup$DBParameterGroupArn":"

The Amazon Resource Name (ARN) for the DB parameter group.

", + "DBParameterGroupDetails$Marker":"

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.

", + "DBParameterGroupNameMessage$DBParameterGroupName":"

Provides the name of the DB parameter group.

", + "DBParameterGroupStatus$DBParameterGroupName":"

The name of the DP parameter group.

", + "DBParameterGroupStatus$ParameterApplyStatus":"

The status of parameter updates.

", + "DBParameterGroupsMessage$Marker":"

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.

", + "DBSecurityGroup$OwnerId":"

Provides the AWS ID of the owner of a specific DB security group.

", + "DBSecurityGroup$DBSecurityGroupName":"

Specifies the name of the DB security group.

", + "DBSecurityGroup$DBSecurityGroupDescription":"

Provides the description of the DB security group.

", + "DBSecurityGroup$VpcId":"

Provides the VpcId of the DB security group.

", + "DBSecurityGroup$DBSecurityGroupArn":"

The Amazon Resource Name (ARN) for the DB security group.

", + "DBSecurityGroupMembership$DBSecurityGroupName":"

The name of the DB security group.

", + "DBSecurityGroupMembership$Status":"

The status of the DB security group.

", + "DBSecurityGroupMessage$Marker":"

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.

", + "DBSecurityGroupNameList$member":null, + "DBSnapshot$DBSnapshotIdentifier":"

Specifies the identifier for the DB snapshot.

", + "DBSnapshot$DBInstanceIdentifier":"

Specifies the DB instance identifier of the DB instance this DB snapshot was created from.

", + "DBSnapshot$Engine":"

Specifies the name of the database engine.

", + "DBSnapshot$Status":"

Specifies the status of this DB snapshot.

", + "DBSnapshot$AvailabilityZone":"

Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.

", + "DBSnapshot$VpcId":"

Provides the VPC ID associated with the DB snapshot.

", + "DBSnapshot$MasterUsername":"

Provides the master username for the DB snapshot.

", + "DBSnapshot$EngineVersion":"

Specifies the version of the database engine.

", + "DBSnapshot$LicenseModel":"

License model information for the restored DB instance.

", + "DBSnapshot$SnapshotType":"

Provides the type of the DB snapshot.

", + "DBSnapshot$OptionGroupName":"

Provides the option group name for the DB snapshot.

", + "DBSnapshot$SourceRegion":"

The AWS Region that the DB snapshot was created in or copied from.

", + "DBSnapshot$SourceDBSnapshotIdentifier":"

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.

", + "DBSnapshot$StorageType":"

Specifies the storage type associated with DB snapshot.

", + "DBSnapshot$TdeCredentialArn":"

The ARN from the key store with which to associate the instance for TDE encryption.

", + "DBSnapshot$KmsKeyId":"

If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot.

", + "DBSnapshot$DBSnapshotArn":"

The Amazon Resource Name (ARN) for the DB snapshot.

", + "DBSnapshot$Timezone":"

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.

", + "DBSnapshotAttribute$AttributeName":"

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.

", + "DBSnapshotAttributesResult$DBSnapshotIdentifier":"

The identifier of the manual DB snapshot that the attributes apply to.

", + "DBSnapshotMessage$Marker":"

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.

", + "DBSubnetGroup$DBSubnetGroupName":"

The name of the DB subnet group.

", + "DBSubnetGroup$DBSubnetGroupDescription":"

Provides the description of the DB subnet group.

", + "DBSubnetGroup$VpcId":"

Provides the VpcId of the DB subnet group.

", + "DBSubnetGroup$SubnetGroupStatus":"

Provides the status of the DB subnet group.

", + "DBSubnetGroup$DBSubnetGroupArn":"

The Amazon Resource Name (ARN) for the DB subnet group.

", + "DBSubnetGroupMessage$Marker":"

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.

", + "DeleteDBClusterMessage$DBClusterIdentifier":"

The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case-sensitive.

Constraints:

  • Must match an existing DBClusterIdentifier.

", + "DeleteDBClusterMessage$FinalDBSnapshotIdentifier":"

The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

", + "DeleteDBClusterParameterGroupMessage$DBClusterParameterGroupName":"

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.

", + "DeleteDBClusterSnapshotMessage$DBClusterSnapshotIdentifier":"

The identifier of the DB cluster snapshot to delete.

Constraints: Must be the name of an existing DB cluster snapshot in the available state.

", + "DeleteDBInstanceMessage$DBInstanceIdentifier":"

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.

", + "DeleteDBInstanceMessage$FinalDBSnapshotIdentifier":"

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.

", + "DeleteDBParameterGroupMessage$DBParameterGroupName":"

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

", + "DeleteDBSecurityGroupMessage$DBSecurityGroupName":"

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\"

", + "DeleteDBSnapshotMessage$DBSnapshotIdentifier":"

The DBSnapshot identifier.

Constraints: Must be the name of an existing DB snapshot in the available state.

", + "DeleteDBSubnetGroupMessage$DBSubnetGroupName":"

The name of the database subnet group to delete.

You can't delete the default subnet group.

Constraints:

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

", + "DeleteEventSubscriptionMessage$SubscriptionName":"

The name of the RDS event notification subscription you want to delete.

", + "DeleteOptionGroupMessage$OptionGroupName":"

The name of the option group to be deleted.

You can't delete default option groups.

", + "DescribeCertificatesMessage$CertificateIdentifier":"

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.

", + "DescribeCertificatesMessage$Marker":"

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.

", + "DescribeDBClusterBacktracksMessage$DBClusterIdentifier":"

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

", + "DescribeDBClusterBacktracksMessage$BacktrackIdentifier":"

If specified, this value is the backtrack identifier of the backtrack to be described.

Constraints:

Example: 123e4567-e89b-12d3-a456-426655440000

", + "DescribeDBClusterBacktracksMessage$Marker":"

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.

", + "DescribeDBClusterParameterGroupsMessage$DBClusterParameterGroupName":"

The name of a specific DB cluster parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

", + "DescribeDBClusterParameterGroupsMessage$Marker":"

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeDBClusterParametersMessage$DBClusterParameterGroupName":"

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.

", + "DescribeDBClusterParametersMessage$Source":"

A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer.

", + "DescribeDBClusterParametersMessage$Marker":"

An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeDBClusterSnapshotAttributesMessage$DBClusterSnapshotIdentifier":"

The identifier for the DB cluster snapshot to describe the attributes for.

", + "DescribeDBClusterSnapshotsMessage$DBClusterIdentifier":"

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.

", + "DescribeDBClusterSnapshotsMessage$DBClusterSnapshotIdentifier":"

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.

", + "DescribeDBClusterSnapshotsMessage$SnapshotType":"

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.

", + "DescribeDBClusterSnapshotsMessage$Marker":"

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.

", + "DescribeDBClustersMessage$DBClusterIdentifier":"

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.

", + "DescribeDBClustersMessage$Marker":"

An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeDBEngineVersionsMessage$Engine":"

The database engine to return.

", + "DescribeDBEngineVersionsMessage$EngineVersion":"

The database engine version to return.

Example: 5.1.49

", + "DescribeDBEngineVersionsMessage$DBParameterGroupFamily":"

The name of a specific DB parameter group family to return details for.

Constraints:

  • If supplied, must match an existing DBParameterGroupFamily.

", + "DescribeDBEngineVersionsMessage$Marker":"

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.

", + "DescribeDBInstancesMessage$DBInstanceIdentifier":"

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.

", + "DescribeDBInstancesMessage$Marker":"

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.

", + "DescribeDBLogFilesDetails$LogFileName":"

The name of the log file for the specified DB instance.

", + "DescribeDBLogFilesMessage$DBInstanceIdentifier":"

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.

", + "DescribeDBLogFilesMessage$FilenameContains":"

Filters the available log files for log file names that contain the specified string.

", + "DescribeDBLogFilesMessage$Marker":"

The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.

", + "DescribeDBLogFilesResponse$Marker":"

A pagination token that can be used in a subsequent DescribeDBLogFiles request.

", + "DescribeDBParameterGroupsMessage$DBParameterGroupName":"

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

", + "DescribeDBParameterGroupsMessage$Marker":"

An optional pagination token provided by a previous DescribeDBParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeDBParametersMessage$DBParameterGroupName":"

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBParameterGroup.

", + "DescribeDBParametersMessage$Source":"

The parameter types to return.

Default: All parameter types returned

Valid Values: user | system | engine-default

", + "DescribeDBParametersMessage$Marker":"

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$DBSecurityGroupName":"

The name of the DB security group to return details for.

", + "DescribeDBSecurityGroupsMessage$Marker":"

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.

", + "DescribeDBSnapshotAttributesMessage$DBSnapshotIdentifier":"

The identifier for the DB snapshot to describe the attributes for.

", + "DescribeDBSnapshotsMessage$DBInstanceIdentifier":"

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.

", + "DescribeDBSnapshotsMessage$DBSnapshotIdentifier":"

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.

", + "DescribeDBSnapshotsMessage$SnapshotType":"

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.

", + "DescribeDBSnapshotsMessage$Marker":"

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.

", + "DescribeDBSubnetGroupsMessage$DBSubnetGroupName":"

The name of the DB subnet group to return details for.

", + "DescribeDBSubnetGroupsMessage$Marker":"

An optional pagination token provided by a previous DescribeDBSubnetGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeEngineDefaultClusterParametersMessage$DBParameterGroupFamily":"

The name of the DB cluster parameter group family to return engine parameter information for.

", + "DescribeEngineDefaultClusterParametersMessage$Marker":"

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.

", + "DescribeEngineDefaultParametersMessage$DBParameterGroupFamily":"

The name of the DB parameter group family.

", + "DescribeEngineDefaultParametersMessage$Marker":"

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.

", + "DescribeEventCategoriesMessage$SourceType":"

The type of source that is generating the events.

Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

", + "DescribeEventSubscriptionsMessage$SubscriptionName":"

The name of the RDS event notification subscription you want to describe.

", + "DescribeEventSubscriptionsMessage$Marker":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

", + "DescribeEventsMessage$SourceIdentifier":"

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.

", + "DescribeEventsMessage$Marker":"

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.

", + "DescribeOptionGroupOptionsMessage$EngineName":"

A required parameter. Options available for the given engine name are described.

", + "DescribeOptionGroupOptionsMessage$MajorEngineVersion":"

If specified, filters the results to include only options for the specified major engine version.

", + "DescribeOptionGroupOptionsMessage$Marker":"

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.

", + "DescribeOptionGroupsMessage$OptionGroupName":"

The name of the option group to describe. Cannot be supplied together with EngineName or MajorEngineVersion.

", + "DescribeOptionGroupsMessage$Marker":"

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.

", + "DescribeOptionGroupsMessage$EngineName":"

Filters the list of option groups to only include groups associated with a specific database engine.

", + "DescribeOptionGroupsMessage$MajorEngineVersion":"

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.

", + "DescribeOrderableDBInstanceOptionsMessage$Engine":"

The name of the engine to retrieve DB instance options for.

", + "DescribeOrderableDBInstanceOptionsMessage$EngineVersion":"

The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version.

", + "DescribeOrderableDBInstanceOptionsMessage$DBInstanceClass":"

The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

", + "DescribeOrderableDBInstanceOptionsMessage$LicenseModel":"

The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.

", + "DescribeOrderableDBInstanceOptionsMessage$Marker":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

", + "DescribePendingMaintenanceActionsMessage$ResourceIdentifier":"

The ARN of a resource to return pending maintenance actions for.

", + "DescribePendingMaintenanceActionsMessage$Marker":"

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.

", + "DescribeReservedDBInstancesMessage$ReservedDBInstanceId":"

The reserved DB instance identifier filter value. Specify this parameter to show only the reservation that matches the specified reservation ID.

", + "DescribeReservedDBInstancesMessage$ReservedDBInstancesOfferingId":"

The offering identifier filter value. Specify this parameter to show only purchased reservations matching the specified offering identifier.

", + "DescribeReservedDBInstancesMessage$DBInstanceClass":"

The DB instance class filter value. Specify this parameter to show only those reservations matching the specified DB instances class.

", + "DescribeReservedDBInstancesMessage$Duration":"

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

", + "DescribeReservedDBInstancesMessage$ProductDescription":"

The product description filter value. Specify this parameter to show only those reservations matching the specified product description.

", + "DescribeReservedDBInstancesMessage$OfferingType":"

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\"

", + "DescribeReservedDBInstancesMessage$Marker":"

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.

", + "DescribeReservedDBInstancesOfferingsMessage$ReservedDBInstancesOfferingId":"

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

", + "DescribeReservedDBInstancesOfferingsMessage$DBInstanceClass":"

The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

", + "DescribeReservedDBInstancesOfferingsMessage$Duration":"

Duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration.

Valid Values: 1 | 3 | 31536000 | 94608000

", + "DescribeReservedDBInstancesOfferingsMessage$ProductDescription":"

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.

", + "DescribeReservedDBInstancesOfferingsMessage$OfferingType":"

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\"

", + "DescribeReservedDBInstancesOfferingsMessage$Marker":"

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.

", + "DescribeSourceRegionsMessage$RegionName":"

The source AWS Region name. For example, us-east-1.

Constraints:

  • Must specify a valid AWS Region name.

", + "DescribeSourceRegionsMessage$Marker":"

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.

", + "DescribeValidDBInstanceModificationsMessage$DBInstanceIdentifier":"

The customer identifier or the ARN of your DB instance.

", + "DomainMembership$Domain":"

The identifier of the Active Directory Domain.

", + "DomainMembership$Status":"

The status of the DB instance's Active Directory Domain membership, such as joined, pending-join, failed etc).

", + "DomainMembership$FQDN":"

The fully qualified domain name of the Active Directory Domain.

", + "DomainMembership$IAMRoleName":"

The name of the IAM role to be used when making API calls to the Directory Service.

", + "DownloadDBLogFilePortionDetails$LogFileData":"

Entries from the specified log file.

", + "DownloadDBLogFilePortionDetails$Marker":"

A pagination token that can be used in a subsequent DownloadDBLogFilePortion request.

", + "DownloadDBLogFilePortionMessage$DBInstanceIdentifier":"

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.

", + "DownloadDBLogFilePortionMessage$LogFileName":"

The name of the log file to be downloaded.

", + "DownloadDBLogFilePortionMessage$Marker":"

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.

", + "EC2SecurityGroup$Status":"

Provides the status of the EC2 security group. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".

", + "EC2SecurityGroup$EC2SecurityGroupName":"

Specifies the name of the EC2 security group.

", + "EC2SecurityGroup$EC2SecurityGroupId":"

Specifies the id of the EC2 security group.

", + "EC2SecurityGroup$EC2SecurityGroupOwnerId":"

Specifies the AWS ID of the owner of the EC2 security group specified in the EC2SecurityGroupName field.

", + "Endpoint$Address":"

Specifies the DNS address of the DB instance.

", + "Endpoint$HostedZoneId":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

", + "EngineDefaults$DBParameterGroupFamily":"

Specifies the name of the DB parameter group family that the engine default parameters apply to.

", + "EngineDefaults$Marker":"

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 .

", + "Event$SourceIdentifier":"

Provides the identifier for the source of the event.

", + "Event$Message":"

Provides the text of this event.

", + "Event$SourceArn":"

The Amazon Resource Name (ARN) for the event.

", + "EventCategoriesList$member":null, + "EventCategoriesMap$SourceType":"

The source type that the returned categories belong to

", + "EventSubscription$CustomerAwsId":"

The AWS customer account associated with the RDS event notification subscription.

", + "EventSubscription$CustSubscriptionId":"

The RDS event notification subscription Id.

", + "EventSubscription$SnsTopicArn":"

The topic ARN of the RDS event notification subscription.

", + "EventSubscription$Status":"

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.

", + "EventSubscription$SubscriptionCreationTime":"

The time the RDS event notification subscription was created.

", + "EventSubscription$SourceType":"

The source type for the RDS event notification subscription.

", + "EventSubscription$EventSubscriptionArn":"

The Amazon Resource Name (ARN) for the event subscription.

", + "EventSubscriptionsMessage$Marker":"

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.

", + "EventsMessage$Marker":"

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 .

", + "FailoverDBClusterMessage$DBClusterIdentifier":"

A DB cluster identifier to force a failover for. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

", + "FailoverDBClusterMessage$TargetDBInstanceIdentifier":"

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.

", + "Filter$Name":"

The name of the filter. Filter names are case-sensitive.

", + "FilterValueList$member":null, + "IPRange$Status":"

Specifies the status of the IP range. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".

", + "IPRange$CIDRIP":"

Specifies the IP range.

", + "KeyList$member":null, + "ListTagsForResourceMessage$ResourceName":"

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).

", + "LogTypeList$member":null, + "ModifyDBClusterMessage$DBClusterIdentifier":"

The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

", + "ModifyDBClusterMessage$NewDBClusterIdentifier":"

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

", + "ModifyDBClusterMessage$DBClusterParameterGroupName":"

The name of the DB cluster parameter group to use for the DB cluster.

", + "ModifyDBClusterMessage$MasterUserPassword":"

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.

", + "ModifyDBClusterMessage$OptionGroupName":"

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.

", + "ModifyDBClusterMessage$PreferredBackupWindow":"

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.

", + "ModifyDBClusterMessage$PreferredMaintenanceWindow":"

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 RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

", + "ModifyDBClusterMessage$EngineVersion":"

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.

", + "ModifyDBClusterParameterGroupMessage$DBClusterParameterGroupName":"

The name of the DB cluster parameter group to modify.

", + "ModifyDBClusterSnapshotAttributeMessage$DBClusterSnapshotIdentifier":"

The identifier for the DB cluster snapshot to modify the attributes for.

", + "ModifyDBClusterSnapshotAttributeMessage$AttributeName":"

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.

", + "ModifyDBInstanceMessage$DBInstanceIdentifier":"

The DB instance identifier. This value is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

", + "ModifyDBInstanceMessage$DBInstanceClass":"

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

", + "ModifyDBInstanceMessage$DBSubnetGroupName":"

The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance is not in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see Updating the VPC for a DB Instance.

Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify true for the ApplyImmediately parameter.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetGroup

", + "ModifyDBInstanceMessage$MasterUserPassword":"

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.

", + "ModifyDBInstanceMessage$DBParameterGroupName":"

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.

", + "ModifyDBInstanceMessage$PreferredBackupWindow":"

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

", + "ModifyDBInstanceMessage$PreferredMaintenanceWindow":"

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

", + "ModifyDBInstanceMessage$EngineVersion":"

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.

", + "ModifyDBInstanceMessage$LicenseModel":"

The license model for the DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

", + "ModifyDBInstanceMessage$OptionGroupName":"

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

", + "ModifyDBInstanceMessage$NewDBInstanceIdentifier":"

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

", + "ModifyDBInstanceMessage$StorageType":"

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

", + "ModifyDBInstanceMessage$TdeCredentialArn":"

The ARN from the key store with which to associate the instance for TDE encryption.

", + "ModifyDBInstanceMessage$TdeCredentialPassword":"

The password for the given ARN from the key store in order to access the device.

", + "ModifyDBInstanceMessage$CACertificateIdentifier":"

Indicates the certificate that needs to be associated with the instance.

", + "ModifyDBInstanceMessage$Domain":"

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.

", + "ModifyDBInstanceMessage$MonitoringRoleArn":"

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.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

", + "ModifyDBInstanceMessage$DomainIAMRoleName":"

The name of the IAM role to use when making API calls to the Directory Service.

", + "ModifyDBInstanceMessage$PerformanceInsightsKMSKeyId":"

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.

", + "ModifyDBParameterGroupMessage$DBParameterGroupName":"

The name of the DB parameter group.

Constraints:

  • If supplied, must match the name of an existing DBParameterGroup.

", + "ModifyDBSnapshotAttributeMessage$DBSnapshotIdentifier":"

The identifier for the DB snapshot to modify the attributes for.

", + "ModifyDBSnapshotAttributeMessage$AttributeName":"

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.

", + "ModifyDBSnapshotMessage$DBSnapshotIdentifier":"

The identifier of the DB snapshot to modify.

", + "ModifyDBSnapshotMessage$EngineVersion":"

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)

", + "ModifyDBSnapshotMessage$OptionGroupName":"

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.

", + "ModifyDBSubnetGroupMessage$DBSubnetGroupName":"

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

", + "ModifyDBSubnetGroupMessage$DBSubnetGroupDescription":"

The description for the DB subnet group.

", + "ModifyEventSubscriptionMessage$SubscriptionName":"

The name of the RDS event notification subscription.

", + "ModifyEventSubscriptionMessage$SnsTopicArn":"

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.

", + "ModifyEventSubscriptionMessage$SourceType":"

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

", + "ModifyOptionGroupMessage$OptionGroupName":"

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

", + "Option$OptionName":"

The name of the option.

", + "Option$OptionDescription":"

The description of the option.

", + "Option$OptionVersion":"

The version of the option.

", + "OptionConfiguration$OptionName":"

The configuration of options to include in a group.

", + "OptionConfiguration$OptionVersion":"

The version for the option.

", + "OptionGroup$OptionGroupName":"

Specifies the name of the option group.

", + "OptionGroup$OptionGroupDescription":"

Provides a description of the option group.

", + "OptionGroup$EngineName":"

Indicates the name of the engine that this option group can be applied to.

", + "OptionGroup$MajorEngineVersion":"

Indicates the major engine version associated with this option group.

", + "OptionGroup$VpcId":"

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.

", + "OptionGroup$OptionGroupArn":"

The Amazon Resource Name (ARN) for the option group.

", + "OptionGroupMembership$OptionGroupName":"

The name of the option group that the instance belongs to.

", + "OptionGroupMembership$Status":"

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.

", + "OptionGroupOption$Name":"

The name of the option.

", + "OptionGroupOption$Description":"

The description of the option.

", + "OptionGroupOption$EngineName":"

The name of the engine that this option can be applied to.

", + "OptionGroupOption$MajorEngineVersion":"

Indicates the major engine version that the option is available for.

", + "OptionGroupOption$MinimumRequiredMinorEngineVersion":"

The minimum required engine version for the option to be applied.

", + "OptionGroupOptionSetting$SettingName":"

The name of the option group option.

", + "OptionGroupOptionSetting$SettingDescription":"

The description of the option group option.

", + "OptionGroupOptionSetting$DefaultValue":"

The default value for the option group option.

", + "OptionGroupOptionSetting$ApplyType":"

The DB engine specific parameter type for the option group option.

", + "OptionGroupOptionSetting$AllowedValues":"

Indicates the acceptable values for the option group option.

", + "OptionGroupOptionsMessage$Marker":"

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.

", + "OptionGroups$Marker":"

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.

", + "OptionNamesList$member":null, + "OptionSetting$Name":"

The name of the option that has settings that you can set.

", + "OptionSetting$Value":"

The current value of the option setting.

", + "OptionSetting$DefaultValue":"

The default value of the option setting.

", + "OptionSetting$Description":"

The description of the option setting.

", + "OptionSetting$ApplyType":"

The DB engine specific parameter type.

", + "OptionSetting$DataType":"

The data type of the option setting.

", + "OptionSetting$AllowedValues":"

The allowed values of the option setting.

", + "OptionVersion$Version":"

The version of the option.

", + "OptionsConflictsWith$member":null, + "OptionsDependedOn$member":null, + "OrderableDBInstanceOption$Engine":"

The engine type of a DB instance.

", + "OrderableDBInstanceOption$EngineVersion":"

The engine version of a DB instance.

", + "OrderableDBInstanceOption$DBInstanceClass":"

The DB instance class for a DB instance.

", + "OrderableDBInstanceOption$LicenseModel":"

The license model for a DB instance.

", + "OrderableDBInstanceOption$StorageType":"

Indicates the storage type for a DB instance.

", + "OrderableDBInstanceOptionsMessage$Marker":"

An optional pagination token provided by a previous OrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

", + "Parameter$ParameterName":"

Specifies the name of the parameter.

", + "Parameter$ParameterValue":"

Specifies the value of the parameter.

", + "Parameter$Description":"

Provides a description of the parameter.

", + "Parameter$Source":"

Indicates the source of the parameter value.

", + "Parameter$ApplyType":"

Specifies the engine specific parameters type.

", + "Parameter$DataType":"

Specifies the valid data type for the parameter.

", + "Parameter$AllowedValues":"

Specifies the valid range of values for the parameter.

", + "Parameter$MinimumEngineVersion":"

The earliest engine version to which the parameter can apply.

", + "PendingMaintenanceAction$Action":"

The type of pending maintenance action that is available for the resource.

", + "PendingMaintenanceAction$OptInStatus":"

Indicates the type of opt-in request that has been received for the resource.

", + "PendingMaintenanceAction$Description":"

A description providing more detail about the maintenance action.

", + "PendingMaintenanceActionsMessage$Marker":"

An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.

", + "PendingModifiedValues$DBInstanceClass":"

Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied.

", + "PendingModifiedValues$MasterUserPassword":"

Contains the pending or currently-in-progress change of the master credentials for the DB instance.

", + "PendingModifiedValues$EngineVersion":"

Indicates the database engine version.

", + "PendingModifiedValues$LicenseModel":"

The license model for the DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

", + "PendingModifiedValues$DBInstanceIdentifier":"

Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied.

", + "PendingModifiedValues$StorageType":"

Specifies the storage type to be associated with the DB instance.

", + "PendingModifiedValues$CACertificateIdentifier":"

Specifies the identifier of the CA certificate for the DB instance.

", + "PendingModifiedValues$DBSubnetGroupName":"

The new DB subnet group for the DB instance.

", + "ProcessorFeature$Name":"

The name of the processor feature. Valid names are coreCount and threadsPerCore.

", + "ProcessorFeature$Value":"

The value of a processor feature name.

", + "PromoteReadReplicaDBClusterMessage$DBClusterIdentifier":"

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

", + "PromoteReadReplicaMessage$DBInstanceIdentifier":"

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

", + "PromoteReadReplicaMessage$PreferredBackupWindow":"

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.

", + "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferingId":"

The ID of the Reserved DB instance offering to purchase.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

", + "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstanceId":"

Customer-specified identifier to track this reservation.

Example: myreservationID

", + "ReadReplicaDBClusterIdentifierList$member":null, + "ReadReplicaDBInstanceIdentifierList$member":null, + "ReadReplicaIdentifierList$member":null, + "RebootDBInstanceMessage$DBInstanceIdentifier":"

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

", + "RecurringCharge$RecurringChargeFrequency":"

The frequency of the recurring charge.

", + "RemoveRoleFromDBClusterMessage$DBClusterIdentifier":"

The name of the DB cluster to disassociate the IAM role from.

", + "RemoveRoleFromDBClusterMessage$RoleArn":"

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$SubscriptionName":"

The name of the RDS event notification subscription you want to remove a source identifier from.

", + "RemoveSourceIdentifierFromSubscriptionMessage$SourceIdentifier":"

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.

", + "RemoveTagsFromResourceMessage$ResourceName":"

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 RDS Amazon Resource Name (ARN).

", + "ReservedDBInstance$ReservedDBInstanceId":"

The unique identifier for the reservation.

", + "ReservedDBInstance$ReservedDBInstancesOfferingId":"

The offering identifier.

", + "ReservedDBInstance$DBInstanceClass":"

The DB instance class for the reserved DB instance.

", + "ReservedDBInstance$CurrencyCode":"

The currency code for the reserved DB instance.

", + "ReservedDBInstance$ProductDescription":"

The description of the reserved DB instance.

", + "ReservedDBInstance$OfferingType":"

The offering type of this reserved DB instance.

", + "ReservedDBInstance$State":"

The state of the reserved DB instance.

", + "ReservedDBInstance$ReservedDBInstanceArn":"

The Amazon Resource Name (ARN) for the reserved DB instance.

", + "ReservedDBInstanceMessage$Marker":"

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.

", + "ReservedDBInstancesOffering$ReservedDBInstancesOfferingId":"

The offering identifier.

", + "ReservedDBInstancesOffering$DBInstanceClass":"

The DB instance class for the reserved DB instance.

", + "ReservedDBInstancesOffering$CurrencyCode":"

The currency code for the reserved DB instance offering.

", + "ReservedDBInstancesOffering$ProductDescription":"

The database engine used by the offering.

", + "ReservedDBInstancesOffering$OfferingType":"

The offering type.

", + "ReservedDBInstancesOfferingMessage$Marker":"

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.

", + "ResetDBClusterParameterGroupMessage$DBClusterParameterGroupName":"

The name of the DB cluster parameter group to reset.

", + "ResetDBParameterGroupMessage$DBParameterGroupName":"

The name of the DB parameter group.

Constraints:

  • Must match the name of an existing DBParameterGroup.

", + "ResourcePendingMaintenanceActions$ResourceIdentifier":"

The ARN of the resource that has pending maintenance actions.

", + "RestoreDBClusterFromS3Message$CharacterSetName":"

A value that indicates that the restored DB cluster should be associated with the specified CharacterSet.

", + "RestoreDBClusterFromS3Message$DatabaseName":"

The database name for the restored DB cluster.

", + "RestoreDBClusterFromS3Message$DBClusterIdentifier":"

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

", + "RestoreDBClusterFromS3Message$DBClusterParameterGroupName":"

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.

", + "RestoreDBClusterFromS3Message$DBSubnetGroupName":"

A DB subnet group to associate with the restored DB cluster.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

", + "RestoreDBClusterFromS3Message$Engine":"

The name of the database engine to be used for the restored DB cluster.

Valid Values: aurora, aurora-postgresql

", + "RestoreDBClusterFromS3Message$EngineVersion":"

The version number of the database engine to use.

Aurora MySQL

Example: 5.6.10a

Aurora PostgreSQL

Example: 9.6.3

", + "RestoreDBClusterFromS3Message$MasterUsername":"

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.

", + "RestoreDBClusterFromS3Message$MasterUserPassword":"

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.

", + "RestoreDBClusterFromS3Message$OptionGroupName":"

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.

", + "RestoreDBClusterFromS3Message$PreferredBackupWindow":"

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.

", + "RestoreDBClusterFromS3Message$PreferredMaintenanceWindow":"

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 RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

", + "RestoreDBClusterFromS3Message$KmsKeyId":"

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.

", + "RestoreDBClusterFromS3Message$SourceEngine":"

The identifier for the database engine that was backed up to create the files stored in the Amazon S3 bucket.

Valid values: mysql

", + "RestoreDBClusterFromS3Message$SourceEngineVersion":"

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

", + "RestoreDBClusterFromS3Message$S3BucketName":"

The name of the Amazon S3 bucket that contains the data used to create the Amazon Aurora DB cluster.

", + "RestoreDBClusterFromS3Message$S3Prefix":"

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.

", + "RestoreDBClusterFromS3Message$S3IngestionRoleArn":"

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.

", + "RestoreDBClusterFromSnapshotMessage$DBClusterIdentifier":"

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

", + "RestoreDBClusterFromSnapshotMessage$SnapshotIdentifier":"

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.

", + "RestoreDBClusterFromSnapshotMessage$Engine":"

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

", + "RestoreDBClusterFromSnapshotMessage$EngineVersion":"

The version of the database engine to use for the new DB cluster.

", + "RestoreDBClusterFromSnapshotMessage$DBSubnetGroupName":"

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

", + "RestoreDBClusterFromSnapshotMessage$DatabaseName":"

The database name for the restored DB cluster.

", + "RestoreDBClusterFromSnapshotMessage$OptionGroupName":"

The name of the option group to use for the restored DB cluster.

", + "RestoreDBClusterFromSnapshotMessage$KmsKeyId":"

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.

", + "RestoreDBClusterToPointInTimeMessage$DBClusterIdentifier":"

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

", + "RestoreDBClusterToPointInTimeMessage$RestoreType":"

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.

", + "RestoreDBClusterToPointInTimeMessage$SourceDBClusterIdentifier":"

The identifier of the source DB cluster from which to restore.

Constraints:

  • Must match the identifier of an existing DBCluster.

", + "RestoreDBClusterToPointInTimeMessage$DBSubnetGroupName":"

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

", + "RestoreDBClusterToPointInTimeMessage$OptionGroupName":"

The name of the option group for the new DB cluster.

", + "RestoreDBClusterToPointInTimeMessage$KmsKeyId":"

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.

", + "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceIdentifier":"

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

", + "RestoreDBInstanceFromDBSnapshotMessage$DBSnapshotIdentifier":"

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.

", + "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceClass":"

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.

", + "RestoreDBInstanceFromDBSnapshotMessage$AvailabilityZone":"

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

", + "RestoreDBInstanceFromDBSnapshotMessage$DBSubnetGroupName":"

The DB subnet group name to use for the new instance.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

", + "RestoreDBInstanceFromDBSnapshotMessage$LicenseModel":"

License model information for the restored DB instance.

Default: Same as source.

Valid values: license-included | bring-your-own-license | general-public-license

", + "RestoreDBInstanceFromDBSnapshotMessage$DBName":"

The database name for the restored DB instance.

This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.

", + "RestoreDBInstanceFromDBSnapshotMessage$Engine":"

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

", + "RestoreDBInstanceFromDBSnapshotMessage$OptionGroupName":"

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

", + "RestoreDBInstanceFromDBSnapshotMessage$StorageType":"

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

", + "RestoreDBInstanceFromDBSnapshotMessage$TdeCredentialArn":"

The ARN from the key store with which to associate the instance for TDE encryption.

", + "RestoreDBInstanceFromDBSnapshotMessage$TdeCredentialPassword":"

The password for the given ARN from the key store in order to access the device.

", + "RestoreDBInstanceFromDBSnapshotMessage$Domain":"

Specify the Active Directory Domain to restore the instance in.

", + "RestoreDBInstanceFromDBSnapshotMessage$DomainIAMRoleName":"

Specify the name of the IAM role to be used when making API calls to the Directory Service.

", + "RestoreDBInstanceFromS3Message$DBName":"

The name of the database to create when the DB instance is created. Follow the naming rules specified in CreateDBInstance.

", + "RestoreDBInstanceFromS3Message$DBInstanceIdentifier":"

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

", + "RestoreDBInstanceFromS3Message$DBInstanceClass":"

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.

", + "RestoreDBInstanceFromS3Message$Engine":"

The name of the database engine to be used for this instance.

Valid Values: mysql

", + "RestoreDBInstanceFromS3Message$MasterUsername":"

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.

", + "RestoreDBInstanceFromS3Message$MasterUserPassword":"

The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

", + "RestoreDBInstanceFromS3Message$AvailabilityZone":"

The Availability Zone that the DB instance is created in. For information about 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.

", + "RestoreDBInstanceFromS3Message$DBSubnetGroupName":"

A DB subnet group to associate with this DB instance.

", + "RestoreDBInstanceFromS3Message$PreferredMaintenanceWindow":"

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window.

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.

", + "RestoreDBInstanceFromS3Message$DBParameterGroupName":"

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.

", + "RestoreDBInstanceFromS3Message$PreferredBackupWindow":"

The time range each day during which automated backups are created if automated backups are enabled. For more information, see The Backup Window.

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.

", + "RestoreDBInstanceFromS3Message$EngineVersion":"

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.

", + "RestoreDBInstanceFromS3Message$LicenseModel":"

The license model for this DB instance. Use general-public-license.

", + "RestoreDBInstanceFromS3Message$OptionGroupName":"

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.

", + "RestoreDBInstanceFromS3Message$StorageType":"

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

", + "RestoreDBInstanceFromS3Message$KmsKeyId":"

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.

", + "RestoreDBInstanceFromS3Message$MonitoringRoleArn":"

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.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

", + "RestoreDBInstanceFromS3Message$SourceEngine":"

The name of the engine of your source database.

Valid Values: mysql

", + "RestoreDBInstanceFromS3Message$SourceEngineVersion":"

The engine version of your source database.

Valid Values: 5.6

", + "RestoreDBInstanceFromS3Message$S3BucketName":"

The name of your Amazon S3 bucket that contains your database backup file.

", + "RestoreDBInstanceFromS3Message$S3Prefix":"

The prefix of your Amazon S3 bucket.

", + "RestoreDBInstanceFromS3Message$S3IngestionRoleArn":"

An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access your Amazon S3 bucket.

", + "RestoreDBInstanceFromS3Message$PerformanceInsightsKMSKeyId":"

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.

", + "RestoreDBInstanceToPointInTimeMessage$SourceDBInstanceIdentifier":"

The identifier of the source DB instance from which to restore.

Constraints:

  • Must match the identifier of an existing DB instance.

", + "RestoreDBInstanceToPointInTimeMessage$TargetDBInstanceIdentifier":"

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

", + "RestoreDBInstanceToPointInTimeMessage$DBInstanceClass":"

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.

", + "RestoreDBInstanceToPointInTimeMessage$AvailabilityZone":"

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

", + "RestoreDBInstanceToPointInTimeMessage$DBSubnetGroupName":"

The DB subnet group name to use for the new instance.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

", + "RestoreDBInstanceToPointInTimeMessage$LicenseModel":"

License model information for the restored DB instance.

Default: Same as source.

Valid values: license-included | bring-your-own-license | general-public-license

", + "RestoreDBInstanceToPointInTimeMessage$DBName":"

The database name for the restored DB instance.

This parameter is not used for the MySQL or MariaDB engines.

", + "RestoreDBInstanceToPointInTimeMessage$Engine":"

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

", + "RestoreDBInstanceToPointInTimeMessage$OptionGroupName":"

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

", + "RestoreDBInstanceToPointInTimeMessage$StorageType":"

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

", + "RestoreDBInstanceToPointInTimeMessage$TdeCredentialArn":"

The ARN from the key store with which to associate the instance for TDE encryption.

", + "RestoreDBInstanceToPointInTimeMessage$TdeCredentialPassword":"

The password for the given ARN from the key store in order to access the device.

", + "RestoreDBInstanceToPointInTimeMessage$Domain":"

Specify the Active Directory Domain to restore the instance in.

", + "RestoreDBInstanceToPointInTimeMessage$DomainIAMRoleName":"

Specify the name of the IAM role to be used when making API calls to the Directory Service.

", + "RevokeDBSecurityGroupIngressMessage$DBSecurityGroupName":"

The name of the DB security group to revoke ingress from.

", + "RevokeDBSecurityGroupIngressMessage$CIDRIP":"

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.

", + "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupName":"

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.

", + "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupId":"

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.

", + "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupOwnerId":"

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.

", + "SourceIdsList$member":null, + "SourceRegion$RegionName":"

The name of the source AWS Region.

", + "SourceRegion$Endpoint":"

The endpoint for the source AWS Region endpoint.

", + "SourceRegion$Status":"

The status of the source AWS Region.

", + "SourceRegionMessage$Marker":"

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.

", + "StartDBInstanceMessage$DBInstanceIdentifier":"

The user-supplied instance identifier.

", + "StopDBInstanceMessage$DBInstanceIdentifier":"

The user-supplied instance identifier.

", + "StopDBInstanceMessage$DBSnapshotIdentifier":"

The user-supplied instance identifier of the DB Snapshot created immediately before the DB instance is stopped.

", + "Subnet$SubnetIdentifier":"

Specifies the identifier of the subnet.

", + "Subnet$SubnetStatus":"

Specifies the status of the subnet.

", + "SubnetIdentifierList$member":null, + "Tag$Key":"

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}_.:/=+\\\\-]*)$\").

", + "Tag$Value":"

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}_.:/=+\\\\-]*)$\").

", + "Timezone$TimezoneName":"

The name of the time zone.

", + "UpgradeTarget$Engine":"

The name of the upgrade target database engine.

", + "UpgradeTarget$EngineVersion":"

The version number of the upgrade target database engine.

", + "UpgradeTarget$Description":"

The version of the database engine that a DB instance can be upgraded to.

", + "ValidStorageOptions$StorageType":"

The valid storage types for your DB instance. For example, gp2, io1.

", + "VpcSecurityGroupIdList$member":null, + "VpcSecurityGroupMembership$VpcSecurityGroupId":"

The name of the VPC security group.

", + "VpcSecurityGroupMembership$Status":"

The status of the VPC security group.

" + } + }, + "Subnet":{ + "base":"

This data type is used as a response element in the DescribeDBSubnetGroups action.

", + "refs":{ + "SubnetList$member":null + } + }, + "SubnetAlreadyInUse":{ + "base":"

The DB subnet is already in use in the Availability Zone.

", + "refs":{ + } + }, + "SubnetIdentifierList":{ + "base":null, + "refs":{ + "CreateDBSubnetGroupMessage$SubnetIds":"

The EC2 Subnet IDs for the DB subnet group.

", + "ModifyDBSubnetGroupMessage$SubnetIds":"

The EC2 subnet IDs for the DB subnet group.

" + } + }, + "SubnetList":{ + "base":null, + "refs":{ + "DBSubnetGroup$Subnets":"

Contains a list of Subnet elements.

" + } + }, + "SubscriptionAlreadyExistFault":{ + "base":"

The supplied subscription name already exists.

", + "refs":{ + } + }, + "SubscriptionCategoryNotFoundFault":{ + "base":"

The supplied category does not exist.

", + "refs":{ + } + }, + "SubscriptionNotFoundFault":{ + "base":"

The subscription name does not exist.

", + "refs":{ + } + }, + "SupportedCharacterSetsList":{ + "base":null, + "refs":{ + "DBEngineVersion$SupportedCharacterSets":"

A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance action.

" + } + }, + "SupportedTimezonesList":{ + "base":null, + "refs":{ + "DBEngineVersion$SupportedTimezones":"

A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action.

" + } + }, + "TStamp":{ + "base":null, + "refs":{ + "BacktrackDBClusterMessage$BacktrackTo":"

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

", + "Certificate$ValidFrom":"

The starting date from which the certificate is valid.

", + "Certificate$ValidTill":"

The final date that the certificate continues to be valid.

", + "DBCluster$EarliestRestorableTime":"

The earliest time to which a database can be restored with point-in-time restore.

", + "DBCluster$LatestRestorableTime":"

Specifies the latest time to which a database can be restored with point-in-time restore.

", + "DBCluster$ClusterCreateTime":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

", + "DBCluster$EarliestBacktrackTime":"

The earliest time to which a DB cluster can be backtracked.

", + "DBClusterBacktrack$BacktrackTo":"

The timestamp of the time to which the DB cluster was backtracked.

", + "DBClusterBacktrack$BacktrackedFrom":"

The timestamp of the time from which the DB cluster was backtracked.

", + "DBClusterBacktrack$BacktrackRequestCreationTime":"

The timestamp of the time at which the backtrack was requested.

", + "DBClusterSnapshot$SnapshotCreateTime":"

Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

", + "DBClusterSnapshot$ClusterCreateTime":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

", + "DBInstance$InstanceCreateTime":"

Provides the date and time the DB instance was created.

", + "DBInstance$LatestRestorableTime":"

Specifies the latest time to which a database can be restored with point-in-time restore.

", + "DBSnapshot$SnapshotCreateTime":"

Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

", + "DBSnapshot$InstanceCreateTime":"

Specifies the time when the snapshot was taken, in Universal Coordinated Time (UTC).

", + "DescribeEventsMessage$StartTime":"

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

", + "DescribeEventsMessage$EndTime":"

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

", + "Event$Date":"

Specifies the date and time of the event.

", + "PendingMaintenanceAction$AutoAppliedAfterDate":"

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.

", + "PendingMaintenanceAction$ForcedApplyDate":"

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.

", + "PendingMaintenanceAction$CurrentApplyDate":"

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.

", + "ReservedDBInstance$StartTime":"

The time the reservation started.

", + "RestoreDBClusterToPointInTimeMessage$RestoreToTime":"

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

", + "RestoreDBInstanceToPointInTimeMessage$RestoreTime":"

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

" + } + }, + "Tag":{ + "base":"

Metadata assigned to an Amazon RDS resource consisting of a key-value pair.

", + "refs":{ + "TagList$member":null + } + }, + "TagList":{ + "base":"

A list of tags. For more information, see Tagging Amazon RDS Resources.

", + "refs":{ + "AddTagsToResourceMessage$Tags":"

The tags to be assigned to the Amazon RDS resource.

", + "CopyDBClusterParameterGroupMessage$Tags":null, + "CopyDBClusterSnapshotMessage$Tags":null, + "CopyDBParameterGroupMessage$Tags":null, + "CopyDBSnapshotMessage$Tags":null, + "CopyOptionGroupMessage$Tags":null, + "CreateDBClusterMessage$Tags":null, + "CreateDBClusterParameterGroupMessage$Tags":null, + "CreateDBClusterSnapshotMessage$Tags":"

The tags to be assigned to the DB cluster snapshot.

", + "CreateDBInstanceMessage$Tags":null, + "CreateDBInstanceReadReplicaMessage$Tags":null, + "CreateDBParameterGroupMessage$Tags":null, + "CreateDBSecurityGroupMessage$Tags":null, + "CreateDBSnapshotMessage$Tags":null, + "CreateDBSubnetGroupMessage$Tags":null, + "CreateEventSubscriptionMessage$Tags":null, + "CreateOptionGroupMessage$Tags":null, + "PurchaseReservedDBInstancesOfferingMessage$Tags":null, + "RestoreDBClusterFromS3Message$Tags":null, + "RestoreDBClusterFromSnapshotMessage$Tags":"

The tags to be assigned to the restored DB cluster.

", + "RestoreDBClusterToPointInTimeMessage$Tags":null, + "RestoreDBInstanceFromDBSnapshotMessage$Tags":null, + "RestoreDBInstanceFromS3Message$Tags":"

A list of tags to associate with this DB instance. For more information, see Tagging Amazon RDS Resources.

", + "RestoreDBInstanceToPointInTimeMessage$Tags":null, + "TagListMessage$TagList":"

List of tags returned by the ListTagsForResource operation.

" + } + }, + "TagListMessage":{ + "base":"

", + "refs":{ + } + }, + "Timezone":{ + "base":"

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.

", + "refs":{ + "SupportedTimezonesList$member":null + } + }, + "UpgradeTarget":{ + "base":"

The version of the database engine that a DB instance can be upgraded to.

", + "refs":{ + "ValidUpgradeTargetList$member":null + } + }, + "ValidDBInstanceModificationsMessage":{ + "base":"

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.

", + "refs":{ + "DescribeValidDBInstanceModificationsResult$ValidDBInstanceModificationsMessage":null + } + }, + "ValidStorageOptions":{ + "base":"

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action.

", + "refs":{ + "ValidStorageOptionsList$member":null + } + }, + "ValidStorageOptionsList":{ + "base":null, + "refs":{ + "ValidDBInstanceModificationsMessage$Storage":"

Valid storage options for your DB instance.

" + } + }, + "ValidUpgradeTargetList":{ + "base":null, + "refs":{ + "DBEngineVersion$ValidUpgradeTarget":"

A list of engine versions that this database engine version can be upgraded to.

" + } + }, + "VpcSecurityGroupIdList":{ + "base":null, + "refs":{ + "CreateDBClusterMessage$VpcSecurityGroupIds":"

A list of EC2 VPC security groups to associate with this DB cluster.

", + "CreateDBInstanceMessage$VpcSecurityGroupIds":"

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.

", + "ModifyDBClusterMessage$VpcSecurityGroupIds":"

A list of VPC security groups that the DB cluster will belong to.

", + "ModifyDBInstanceMessage$VpcSecurityGroupIds":"

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.

", + "OptionConfiguration$VpcSecurityGroupMemberships":"

A list of VpcSecurityGroupMemebrship name strings used for this option.

", + "RestoreDBClusterFromS3Message$VpcSecurityGroupIds":"

A list of EC2 VPC security groups to associate with the restored DB cluster.

", + "RestoreDBClusterFromSnapshotMessage$VpcSecurityGroupIds":"

A list of VPC security groups that the new DB cluster will belong to.

", + "RestoreDBClusterToPointInTimeMessage$VpcSecurityGroupIds":"

A list of VPC security groups that the new DB cluster belongs to.

", + "RestoreDBInstanceFromS3Message$VpcSecurityGroupIds":"

A list of VPC security groups to associate with this DB instance.

" + } + }, + "VpcSecurityGroupMembership":{ + "base":"

This data type is used as a response element for queries on VPC security group membership.

", + "refs":{ + "VpcSecurityGroupMembershipList$member":null + } + }, + "VpcSecurityGroupMembershipList":{ + "base":null, + "refs":{ + "DBCluster$VpcSecurityGroups":"

Provides a list of VPC security groups that the DB cluster belongs to.

", + "DBInstance$VpcSecurityGroups":"

Provides a list of VPC security group elements that the DB instance belongs to.

", + "Option$VpcSecurityGroupMemberships":"

If the option requires access to a port, then this VPC security group allows access to the port.

" } } } diff --git a/models/apis/rds/2014-10-31/examples-1.json b/models/apis/rds/2014-10-31/examples-1.json index e72a328e812..b365c209cd2 100644 --- a/models/apis/rds/2014-10-31/examples-1.json +++ b/models/apis/rds/2014-10-31/examples-1.json @@ -1,1950 +1,1950 @@ { - "version": "1.0", - "examples": { - "AddSourceIdentifierToSubscription": [ + "version":"1.0", + "examples":{ + "AddSourceIdentifierToSubscription":[ { - "input": { - "SourceIdentifier": "mymysqlinstance", - "SubscriptionName": "mymysqleventsubscription" + "input":{ + "SourceIdentifier":"mymysqlinstance", + "SubscriptionName":"mymysqleventsubscription" }, - "output": { - "EventSubscription": { + "output":{ + "EventSubscription":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "AddTagsToResource":[ { - "input": { - "ResourceName": "arn:aws:rds:us-east-1:992648334831:og:mymysqloptiongroup", - "Tags": [ + "input":{ + "ResourceName":"arn:aws:rds:us-east-1:992648334831:og:mymysqloptiongroup", + "Tags":[ { - "Key": "Staging", - "Value": "LocationDB" + "Key":"Staging", + "Value":"LocationDB" } ] }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ApplyPendingMaintenanceAction":[ { - "input": { - "ApplyAction": "system-update", - "OptInType": "immediate", - "ResourceIdentifier": "arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance" + "input":{ + "ApplyAction":"system-update", + "OptInType":"immediate", + "ResourceIdentifier":"arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance" }, - "output": { - "ResourcePendingMaintenanceActions": { + "output":{ + "ResourcePendingMaintenanceActions":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "AuthorizeDBSecurityGroupIngress":[ { - "input": { - "CIDRIP": "203.0.113.5/32", - "DBSecurityGroupName": "mydbsecuritygroup" + "input":{ + "CIDRIP":"203.0.113.5/32", + "DBSecurityGroupName":"mydbsecuritygroup" }, - "output": { - "DBSecurityGroup": { + "output":{ + "DBSecurityGroup":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "CopyDBClusterParameterGroup":[ { - "input": { - "SourceDBClusterParameterGroupIdentifier": "mydbclusterparametergroup", - "TargetDBClusterParameterGroupDescription": "My DB cluster parameter group copy", - "TargetDBClusterParameterGroupIdentifier": "mydbclusterparametergroup-copy" + "input":{ + "SourceDBClusterParameterGroupIdentifier":"mydbclusterparametergroup", + "TargetDBClusterParameterGroupDescription":"My DB cluster parameter group copy", + "TargetDBClusterParameterGroupIdentifier":"mydbclusterparametergroup-copy" }, - "output": { - "DBClusterParameterGroup": { + "output":{ + "DBClusterParameterGroup":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "CopyDBClusterSnapshot":[ { - "input": { - "SourceDBClusterSnapshotIdentifier": "rds:sample-cluster-2016-09-14-10-38", - "TargetDBClusterSnapshotIdentifier": "cluster-snapshot-copy-1" + "input":{ + "SourceDBClusterSnapshotIdentifier":"rds:sample-cluster-2016-09-14-10-38", + "TargetDBClusterSnapshotIdentifier":"cluster-snapshot-copy-1" }, - "output": { - "DBClusterSnapshot": { + "output":{ + "DBClusterSnapshot":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "CopyDBParameterGroup":[ { - "input": { - "SourceDBParameterGroupIdentifier": "mymysqlparametergroup", - "TargetDBParameterGroupDescription": "My MySQL parameter group copy", - "TargetDBParameterGroupIdentifier": "mymysqlparametergroup-copy" + "input":{ + "SourceDBParameterGroupIdentifier":"mymysqlparametergroup", + "TargetDBParameterGroupDescription":"My MySQL parameter group copy", + "TargetDBParameterGroupIdentifier":"mymysqlparametergroup-copy" }, - "output": { - "DBParameterGroup": { + "output":{ + "DBParameterGroup":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "CopyDBSnapshot":[ { - "input": { - "SourceDBSnapshotIdentifier": "mydbsnapshot", - "TargetDBSnapshotIdentifier": "mydbsnapshot-copy" + "input":{ + "SourceDBSnapshotIdentifier":"mydbsnapshot", + "TargetDBSnapshotIdentifier":"mydbsnapshot-copy" }, - "output": { - "DBSnapshot": { + "output":{ + "DBSnapshot":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This example copies a DB snapshot.", - "id": "copy-db-snapshot-1b2f0210-bc67-415d-9822-6eecf447dc86", - "title": "To copy a DB snapshot" + "description":"This example copies a DB snapshot.", + "id":"copy-db-snapshot-1b2f0210-bc67-415d-9822-6eecf447dc86", + "title":"To copy a DB snapshot" } ], - "CopyOptionGroup": [ + "CopyOptionGroup":[ { - "input": { - "SourceOptionGroupIdentifier": "mymysqloptiongroup", - "TargetOptionGroupDescription": "My MySQL option group copy", - "TargetOptionGroupIdentifier": "mymysqloptiongroup-copy" + "input":{ + "SourceOptionGroupIdentifier":"mymysqloptiongroup", + "TargetOptionGroupDescription":"My MySQL option group copy", + "TargetOptionGroupIdentifier":"mymysqloptiongroup-copy" }, - "output": { - "OptionGroup": { + "output":{ + "OptionGroup":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This example copies an option group.", - "id": "copy-option-group-8d5c01c3-8846-4e9c-a4b0-1b7237f7d0ec", - "title": "To copy an option group" + "description":"This example copies an option group.", + "id":"copy-option-group-8d5c01c3-8846-4e9c-a4b0-1b7237f7d0ec", + "title":"To copy an option group" } ], - "CreateDBCluster": [ + "CreateDBCluster":[ { - "input": { - "AvailabilityZones": [ + "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 + "BackupRetentionPeriod":1, + "DBClusterIdentifier":"mydbcluster", + "DBClusterParameterGroupName":"mydbclusterparametergroup", + "DatabaseName":"myauroradb", + "Engine":"aurora", + "EngineVersion":"5.6.10a", + "MasterUserPassword":"mypassword", + "MasterUsername":"myuser", + "Port":3306, + "StorageEncrypted":true }, - "output": { - "DBCluster": { + "output":{ + "DBCluster":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This example creates a DB cluster.", - "id": "create-db-cluster-423b998d-eba9-40dd-8e19-96c5b6e5f31d", - "title": "To create a DB cluster" + "description":"This example creates a DB cluster.", + "id":"create-db-cluster-423b998d-eba9-40dd-8e19-96c5b6e5f31d", + "title":"To create a DB cluster" } ], - "CreateDBClusterParameterGroup": [ + "CreateDBClusterParameterGroup":[ { - "input": { - "DBClusterParameterGroupName": "mydbclusterparametergroup", - "DBParameterGroupFamily": "aurora5.6", - "Description": "My DB cluster parameter group" + "input":{ + "DBClusterParameterGroupName":"mydbclusterparametergroup", + "DBParameterGroupFamily":"aurora5.6", + "Description":"My DB cluster parameter group" }, - "output": { - "DBClusterParameterGroup": { + "output":{ + "DBClusterParameterGroup":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "CreateDBClusterSnapshot":[ { - "input": { - "DBClusterIdentifier": "mydbcluster", - "DBClusterSnapshotIdentifier": "mydbclustersnapshot" + "input":{ + "DBClusterIdentifier":"mydbcluster", + "DBClusterSnapshotIdentifier":"mydbclustersnapshot" }, - "output": { - "DBClusterSnapshot": { + "output":{ + "DBClusterSnapshot":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This example creates a DB cluster snapshot.", - "id": "create-db-cluster-snapshot-", - "title": "To create a DB cluster snapshot" + "description":"This example creates a DB cluster snapshot.", + "id":"create-db-cluster-snapshot-", + "title":"To create a DB cluster snapshot" } ], - "CreateDBInstance": [ + "CreateDBInstance":[ { - "input": { - "AllocatedStorage": 5, - "DBInstanceClass": "db.t2.micro", - "DBInstanceIdentifier": "mymysqlinstance", - "Engine": "MySQL", - "MasterUserPassword": "MyPassword", - "MasterUsername": "MyUser" + "input":{ + "AllocatedStorage":5, + "DBInstanceClass":"db.t2.micro", + "DBInstanceIdentifier":"mymysqlinstance", + "Engine":"MySQL", + "MasterUserPassword":"MyPassword", + "MasterUsername":"MyUser" }, - "output": { - "DBInstance": { + "output":{ + "DBInstance":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This example creates a DB instance.", - "id": "create-db-instance-57eb5d16-8bf8-4c84-9709-1700322b37b9", - "title": "To create a DB instance." + "description":"This example creates a DB instance.", + "id":"create-db-instance-57eb5d16-8bf8-4c84-9709-1700322b37b9", + "title":"To create a DB instance." } ], - "CreateDBInstanceReadReplica": [ + "CreateDBInstanceReadReplica":[ { - "input": { - "AvailabilityZone": "us-east-1a", - "CopyTagsToSnapshot": true, - "DBInstanceClass": "db.t2.micro", - "DBInstanceIdentifier": "mydbreadreplica", - "PubliclyAccessible": true, - "SourceDBInstanceIdentifier": "mymysqlinstance", - "StorageType": "gp2", - "Tags": [ + "input":{ + "AvailabilityZone":"us-east-1a", + "CopyTagsToSnapshot":true, + "DBInstanceClass":"db.t2.micro", + "DBInstanceIdentifier":"mydbreadreplica", + "PubliclyAccessible":true, + "SourceDBInstanceIdentifier":"mymysqlinstance", + "StorageType":"gp2", + "Tags":[ { - "Key": "mydbreadreplicakey", - "Value": "mydbreadreplicavalue" + "Key":"mydbreadreplicakey", + "Value":"mydbreadreplicavalue" } ] }, - "output": { - "DBInstance": { + "output":{ + "DBInstance":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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." + "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": [ + "CreateDBParameterGroup":[ { - "input": { - "DBParameterGroupFamily": "mysql5.6", - "DBParameterGroupName": "mymysqlparametergroup", - "Description": "My MySQL parameter group" + "input":{ + "DBParameterGroupFamily":"mysql5.6", + "DBParameterGroupName":"mymysqlparametergroup", + "Description":"My MySQL parameter group" }, - "output": { - "DBParameterGroup": { + "output":{ + "DBParameterGroup":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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." + "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": [ + "CreateDBSecurityGroup":[ { - "input": { - "DBSecurityGroupDescription": "My DB security group", - "DBSecurityGroupName": "mydbsecuritygroup" + "input":{ + "DBSecurityGroupDescription":"My DB security group", + "DBSecurityGroupName":"mydbsecuritygroup" }, - "output": { - "DBSecurityGroup": { + "output":{ + "DBSecurityGroup":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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." + "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": [ + "CreateDBSnapshot":[ { - "input": { - "DBInstanceIdentifier": "mymysqlinstance", - "DBSnapshotIdentifier": "mydbsnapshot" + "input":{ + "DBInstanceIdentifier":"mymysqlinstance", + "DBSnapshotIdentifier":"mydbsnapshot" }, - "output": { - "DBSnapshot": { + "output":{ + "DBSnapshot":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This example creates a DB snapshot.", - "id": "create-db-snapshot-e10e0e2c-9ac4-426d-9b17-6b6a3e382ce2", - "title": "To create a DB snapshot." + "description":"This example creates a DB snapshot.", + "id":"create-db-snapshot-e10e0e2c-9ac4-426d-9b17-6b6a3e382ce2", + "title":"To create a DB snapshot." } ], - "CreateDBSubnetGroup": [ + "CreateDBSubnetGroup":[ { - "input": { - "DBSubnetGroupDescription": "My DB subnet group", - "DBSubnetGroupName": "mydbsubnetgroup", - "SubnetIds": [ + "input":{ + "DBSubnetGroupDescription":"My DB subnet group", + "DBSubnetGroupName":"mydbsubnetgroup", + "SubnetIds":[ "subnet-1fab8a69", "subnet-d43a468c" ] }, - "output": { - "DBSubnetGroup": { + "output":{ + "DBSubnetGroup":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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." + "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": [ + "CreateEventSubscription":[ { - "input": { - "Enabled": true, - "EventCategories": [ + "input":{ + "Enabled":true, + "EventCategories":[ "availability" ], - "SnsTopicArn": "arn:aws:sns:us-east-1:992648334831:MyDemoSNSTopic", - "SourceIds": [ + "SnsTopicArn":"arn:aws:sns:us-east-1:992648334831:MyDemoSNSTopic", + "SourceIds":[ "mymysqlinstance" ], - "SourceType": "db-instance", - "SubscriptionName": "mymysqleventsubscription" + "SourceType":"db-instance", + "SubscriptionName":"mymysqleventsubscription" }, - "output": { - "EventSubscription": { + "output":{ + "EventSubscription":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "CreateOptionGroup":[ { - "input": { - "EngineName": "MySQL", - "MajorEngineVersion": "5.6", - "OptionGroupDescription": "My MySQL 5.6 option group", - "OptionGroupName": "mymysqloptiongroup" + "input":{ + "EngineName":"MySQL", + "MajorEngineVersion":"5.6", + "OptionGroupDescription":"My MySQL 5.6 option group", + "OptionGroupName":"mymysqloptiongroup" }, - "output": { - "OptionGroup": { + "output":{ + "OptionGroup":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This example creates an option group.", - "id": "create-option-group-a7708c87-1b79-4a5e-a762-21cf8fc62b78", - "title": "To create an option group" + "description":"This example creates an option group.", + "id":"create-option-group-a7708c87-1b79-4a5e-a762-21cf8fc62b78", + "title":"To create an option group" } ], - "DeleteDBCluster": [ + "DeleteDBCluster":[ { - "input": { - "DBClusterIdentifier": "mydbcluster", - "SkipFinalSnapshot": true + "input":{ + "DBClusterIdentifier":"mydbcluster", + "SkipFinalSnapshot":true }, - "output": { - "DBCluster": { + "output":{ + "DBCluster":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This example deletes the specified DB cluster.", - "id": "delete-db-cluster-927fc2c8-6c67-4075-b1ba-75490be0f7d6", - "title": "To delete a DB cluster." + "description":"This example deletes the specified DB cluster.", + "id":"delete-db-cluster-927fc2c8-6c67-4075-b1ba-75490be0f7d6", + "title":"To delete a DB cluster." } ], - "DeleteDBClusterParameterGroup": [ + "DeleteDBClusterParameterGroup":[ { - "input": { - "DBClusterParameterGroupName": "mydbclusterparametergroup" + "input":{ + "DBClusterParameterGroupName":"mydbclusterparametergroup" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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." + "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": [ + "DeleteDBClusterSnapshot":[ { - "input": { - "DBClusterSnapshotIdentifier": "mydbclustersnapshot" + "input":{ + "DBClusterSnapshotIdentifier":"mydbclustersnapshot" }, - "output": { - "DBClusterSnapshot": { + "output":{ + "DBClusterSnapshot":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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." + "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": [ + "DeleteDBInstance":[ { - "input": { - "DBInstanceIdentifier": "mymysqlinstance", - "SkipFinalSnapshot": true + "input":{ + "DBInstanceIdentifier":"mymysqlinstance", + "SkipFinalSnapshot":true }, - "output": { - "DBInstance": { + "output":{ + "DBInstance":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This example deletes the specified DB instance.", - "id": "delete-db-instance-4412e650-949c-488a-b32a-7d3038ebccc4", - "title": "To delete a DB instance." + "description":"This example deletes the specified DB instance.", + "id":"delete-db-instance-4412e650-949c-488a-b32a-7d3038ebccc4", + "title":"To delete a DB instance." } ], - "DeleteDBParameterGroup": [ + "DeleteDBParameterGroup":[ { - "input": { - "DBParameterGroupName": "mydbparamgroup3" + "input":{ + "DBParameterGroupName":"mydbparamgroup3" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DeleteDBSecurityGroup":[ { - "input": { - "DBSecurityGroupName": "mysecgroup" + "input":{ + "DBSecurityGroupName":"mysecgroup" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DeleteDBSnapshot":[ { - "input": { - "DBSnapshotIdentifier": "mydbsnapshot" + "input":{ + "DBSnapshotIdentifier":"mydbsnapshot" }, - "output": { - "DBSnapshot": { + "output":{ + "DBSnapshot":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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." + "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": [ + "DeleteDBSubnetGroup":[ { - "input": { - "DBSubnetGroupName": "mydbsubnetgroup" + "input":{ + "DBSubnetGroupName":"mydbsubnetgroup" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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." + "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": [ + "DeleteEventSubscription":[ { - "input": { - "SubscriptionName": "myeventsubscription" + "input":{ + "SubscriptionName":"myeventsubscription" }, - "output": { - "EventSubscription": { + "output":{ + "EventSubscription":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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." + "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": [ + "DeleteOptionGroup":[ { - "input": { - "OptionGroupName": "mydboptiongroup" + "input":{ + "OptionGroupName":"mydboptiongroup" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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." + "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": [ + "DescribeAccountAttributes":[ { - "input": { + "input":{ }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This example lists account attributes.", - "id": "describe-account-attributes-683d3ff7-5524-421a-8da5-e88f1ea2222b", - "title": "To list account attributes" + "description":"This example lists account attributes.", + "id":"describe-account-attributes-683d3ff7-5524-421a-8da5-e88f1ea2222b", + "title":"To list account attributes" } ], - "DescribeCertificates": [ + "DescribeCertificates":[ { - "input": { - "CertificateIdentifier": "rds-ca-2015", - "MaxRecords": 20 + "input":{ + "CertificateIdentifier":"rds-ca-2015", + "MaxRecords":20 }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBClusterParameterGroups":[ { - "input": { - "DBClusterParameterGroupName": "mydbclusterparametergroup" + "input":{ + "DBClusterParameterGroupName":"mydbclusterparametergroup" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBClusterParameters":[ { - "input": { - "DBClusterParameterGroupName": "mydbclusterparametergroup", - "Source": "system" + "input":{ + "DBClusterParameterGroupName":"mydbclusterparametergroup", + "Source":"system" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBClusterSnapshotAttributes":[ { - "input": { - "DBClusterSnapshotIdentifier": "mydbclustersnapshot" + "input":{ + "DBClusterSnapshotIdentifier":"mydbclustersnapshot" }, - "output": { - "DBClusterSnapshotAttributesResult": { + "output":{ + "DBClusterSnapshotAttributesResult":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBClusterSnapshots":[ { - "input": { - "DBClusterSnapshotIdentifier": "mydbclustersnapshot", - "SnapshotType": "manual" + "input":{ + "DBClusterSnapshotIdentifier":"mydbclustersnapshot", + "SnapshotType":"manual" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBClusters":[ { - "input": { - "DBClusterIdentifier": "mynewdbcluster" + "input":{ + "DBClusterIdentifier":"mynewdbcluster" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBEngineVersions":[ { - "input": { - "DBParameterGroupFamily": "mysql5.6", - "DefaultOnly": true, - "Engine": "mysql", - "EngineVersion": "5.6", - "ListSupportedCharacterSets": true + "input":{ + "DBParameterGroupFamily":"mysql5.6", + "DefaultOnly":true, + "Engine":"mysql", + "EngineVersion":"5.6", + "ListSupportedCharacterSets":true }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBInstances":[ { - "input": { - "DBInstanceIdentifier": "mymysqlinstance" + "input":{ + "DBInstanceIdentifier":"mymysqlinstance" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBLogFiles":[ { - "input": { - "DBInstanceIdentifier": "mymysqlinstance", - "FileLastWritten": 1470873600000, - "FileSize": 0, - "FilenameContains": "error" + "input":{ + "DBInstanceIdentifier":"mymysqlinstance", + "FileLastWritten":1470873600000, + "FileSize":0, + "FilenameContains":"error" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBParameterGroups":[ { - "input": { - "DBParameterGroupName": "mymysqlparametergroup" + "input":{ + "DBParameterGroupName":"mymysqlparametergroup" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBParameters":[ { - "input": { - "DBParameterGroupName": "mymysqlparametergroup", - "MaxRecords": 20, - "Source": "system" + "input":{ + "DBParameterGroupName":"mymysqlparametergroup", + "MaxRecords":20, + "Source":"system" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBSecurityGroups":[ { - "input": { - "DBSecurityGroupName": "mydbsecuritygroup" + "input":{ + "DBSecurityGroupName":"mydbsecuritygroup" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBSnapshotAttributes":[ { - "input": { - "DBSnapshotIdentifier": "mydbsnapshot" + "input":{ + "DBSnapshotIdentifier":"mydbsnapshot" }, - "output": { - "DBSnapshotAttributesResult": { + "output":{ + "DBSnapshotAttributesResult":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBSnapshots":[ { - "input": { - "DBInstanceIdentifier": "mymysqlinstance", - "IncludePublic": false, - "IncludeShared": true, - "SnapshotType": "manual" + "input":{ + "DBInstanceIdentifier":"mymysqlinstance", + "IncludePublic":false, + "IncludeShared":true, + "SnapshotType":"manual" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeDBSubnetGroups":[ { - "input": { - "DBSubnetGroupName": "mydbsubnetgroup" + "input":{ + "DBSubnetGroupName":"mydbsubnetgroup" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeEngineDefaultClusterParameters":[ { - "input": { - "DBParameterGroupFamily": "aurora5.6" + "input":{ + "DBParameterGroupFamily":"aurora5.6" }, - "output": { - "EngineDefaults": { + "output":{ + "EngineDefaults":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeEngineDefaultParameters":[ { - "input": { - "DBParameterGroupFamily": "mysql5.6" + "input":{ + "DBParameterGroupFamily":"mysql5.6" }, - "output": { - "EngineDefaults": { + "output":{ + "EngineDefaults":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeEventCategories":[ { - "input": { - "SourceType": "db-instance" + "input":{ + "SourceType":"db-instance" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This example lists all DB instance event categories.", - "id": "describe-event-categories-97bd4c77-12da-4be6-b42f-edf77771428b", - "title": "To list event categories." + "description":"This example lists all DB instance event categories.", + "id":"describe-event-categories-97bd4c77-12da-4be6-b42f-edf77771428b", + "title":"To list event categories." } ], - "DescribeEventSubscriptions": [ + "DescribeEventSubscriptions":[ { - "input": { - "SubscriptionName": "mymysqleventsubscription" + "input":{ + "SubscriptionName":"mymysqleventsubscription" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeEvents":[ { - "input": { - "Duration": 10080, - "EventCategories": [ + "input":{ + "Duration":10080, + "EventCategories":[ "backup" ], - "SourceIdentifier": "mymysqlinstance", - "SourceType": "db-instance" + "SourceIdentifier":"mymysqlinstance", + "SourceType":"db-instance" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeOptionGroupOptions":[ { - "input": { - "EngineName": "mysql", - "MajorEngineVersion": "5.6" + "input":{ + "EngineName":"mysql", + "MajorEngineVersion":"5.6" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeOptionGroups":[ { - "input": { - "EngineName": "mysql", - "MajorEngineVersion": "5.6" + "input":{ + "EngineName":"mysql", + "MajorEngineVersion":"5.6" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeOrderableDBInstanceOptions":[ { - "input": { - "DBInstanceClass": "db.t2.micro", - "Engine": "mysql", - "EngineVersion": "5.6.27", - "LicenseModel": "general-public-license", - "Vpc": true + "input":{ + "DBInstanceClass":"db.t2.micro", + "Engine":"mysql", + "EngineVersion":"5.6.27", + "LicenseModel":"general-public-license", + "Vpc":true }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribePendingMaintenanceActions":[ { - "input": { - "ResourceIdentifier": "arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance" + "input":{ + "ResourceIdentifier":"arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeReservedDBInstances":[ { - "input": { - "DBInstanceClass": "db.t2.micro", - "Duration": "1y", - "MultiAZ": false, - "OfferingType": "No Upfront", - "ProductDescription": "mysql" + "input":{ + "DBInstanceClass":"db.t2.micro", + "Duration":"1y", + "MultiAZ":false, + "OfferingType":"No Upfront", + "ProductDescription":"mysql" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeReservedDBInstancesOfferings":[ { - "input": { - "DBInstanceClass": "db.t2.micro", - "Duration": "1y", - "MultiAZ": false, - "OfferingType": "No Upfront", - "ProductDescription": "mysql" + "input":{ + "DBInstanceClass":"db.t2.micro", + "Duration":"1y", + "MultiAZ":false, + "OfferingType":"No Upfront", + "ProductDescription":"mysql" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DescribeSourceRegions":[ { - "input": { + "input":{ }, - "output": { - "SourceRegions": [ + "output":{ + "SourceRegions":[ { - "Endpoint": "https://rds.ap-northeast-1.amazonaws.com", - "RegionName": "ap-northeast-1", - "Status": "available" + "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-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-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-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.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-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.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.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-1.amazonaws.com", + "RegionName":"us-west-1", + "Status":"available" }, { - "Endpoint": "https://rds.us-west-2.amazonaws.com", - "RegionName": "us-west-2", - "Status": "available" + "Endpoint":"https://rds.us-west-2.amazonaws.com", + "RegionName":"us-west-2", + "Status":"available" } ] }, - "comments": { + "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" + "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": [ + "DownloadDBLogFilePortion":[ { - "input": { - "DBInstanceIdentifier": "mymysqlinstance", - "LogFileName": "mysqlUpgrade" + "input":{ + "DBInstanceIdentifier":"mymysqlinstance", + "LogFileName":"mysqlUpgrade" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "FailoverDBCluster":[ { - "input": { - "DBClusterIdentifier": "myaurorainstance-cluster", - "TargetDBInstanceIdentifier": "myaurorareplica" + "input":{ + "DBClusterIdentifier":"myaurorainstance-cluster", + "TargetDBInstanceIdentifier":"myaurorareplica" }, - "output": { - "DBCluster": { + "output":{ + "DBCluster":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ListTagsForResource":[ { - "input": { - "ResourceName": "arn:aws:rds:us-east-1:992648334831:og:mymysqloptiongroup" + "input":{ + "ResourceName":"arn:aws:rds:us-east-1:992648334831:og:mymysqloptiongroup" }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ModifyDBCluster":[ { - "input": { - "ApplyImmediately": true, - "DBClusterIdentifier": "mydbcluster", - "MasterUserPassword": "mynewpassword", - "NewDBClusterIdentifier": "mynewdbcluster", - "PreferredBackupWindow": "04:00-04:30", - "PreferredMaintenanceWindow": "Tue:05:00-Tue:05:30" + "input":{ + "ApplyImmediately":true, + "DBClusterIdentifier":"mydbcluster", + "MasterUserPassword":"mynewpassword", + "NewDBClusterIdentifier":"mynewdbcluster", + "PreferredBackupWindow":"04:00-04:30", + "PreferredMaintenanceWindow":"Tue:05:00-Tue:05:30" }, - "output": { - "DBCluster": { + "output":{ + "DBCluster":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ModifyDBClusterParameterGroup":[ { - "input": { - "DBClusterParameterGroupName": "mydbclusterparametergroup", - "Parameters": [ + "input":{ + "DBClusterParameterGroupName":"mydbclusterparametergroup", + "Parameters":[ { - "ApplyMethod": "immediate", - "ParameterName": "time_zone", - "ParameterValue": "America/Phoenix" + "ApplyMethod":"immediate", + "ParameterName":"time_zone", + "ParameterValue":"America/Phoenix" } ] }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ModifyDBClusterSnapshotAttribute":[ { - "input": { - "AttributeName": "restore", - "DBClusterSnapshotIdentifier": "manual-cluster-snapshot1", - "ValuesToAdd": [ + "input":{ + "AttributeName":"restore", + "DBClusterSnapshotIdentifier":"manual-cluster-snapshot1", + "ValuesToAdd":[ "123451234512", "123456789012" ], - "ValuesToRemove": [ + "ValuesToRemove":[ "all" ] }, - "output": { - "DBClusterSnapshotAttributesResult": { + "output":{ + "DBClusterSnapshotAttributesResult":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "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" + "input":{ + "AllocatedStorage":10, + "ApplyImmediately":true, + "BackupRetentionPeriod":1, + "DBInstanceClass":"db.t2.small", + "DBInstanceIdentifier":"mymysqlinstance", + "MasterUserPassword":"mynewpassword", + "PreferredBackupWindow":"04:00-04:30", + "PreferredMaintenanceWindow":"Tue:05:00-Tue:05:30" }, - "output": { - "DBInstance": { + "output":{ + "DBInstance":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ModifyDBParameterGroup":[ { - "input": { - "DBParameterGroupName": "mymysqlparametergroup", - "Parameters": [ + "input":{ + "DBParameterGroupName":"mymysqlparametergroup", + "Parameters":[ { - "ApplyMethod": "immediate", - "ParameterName": "time_zone", - "ParameterValue": "America/Phoenix" + "ApplyMethod":"immediate", + "ParameterName":"time_zone", + "ParameterValue":"America/Phoenix" } ] }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ModifyDBSnapshotAttribute":[ { - "input": { - "AttributeName": "restore", - "DBSnapshotIdentifier": "mydbsnapshot", - "ValuesToAdd": [ + "input":{ + "AttributeName":"restore", + "DBSnapshotIdentifier":"mydbsnapshot", + "ValuesToAdd":[ "all" ] }, - "output": { - "DBSnapshotAttributesResult": { + "output":{ + "DBSnapshotAttributesResult":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ModifyDBSubnetGroup":[ { - "input": { - "DBSubnetGroupName": "mydbsubnetgroup", - "SubnetIds": [ + "input":{ + "DBSubnetGroupName":"mydbsubnetgroup", + "SubnetIds":[ "subnet-70e1975a", "subnet-747a5c49" ] }, - "output": { - "DBSubnetGroup": { + "output":{ + "DBSubnetGroup":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ModifyEventSubscription":[ { - "input": { - "Enabled": true, - "EventCategories": [ + "input":{ + "Enabled":true, + "EventCategories":[ "deletion", "low storage" ], - "SourceType": "db-instance", - "SubscriptionName": "mymysqleventsubscription" + "SourceType":"db-instance", + "SubscriptionName":"mymysqleventsubscription" }, - "output": { - "EventSubscription": { + "output":{ + "EventSubscription":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ModifyOptionGroup":[ { - "input": { - "ApplyImmediately": true, - "OptionGroupName": "myawsuser-og02", - "OptionsToInclude": [ + "input":{ + "ApplyImmediately":true, + "OptionGroupName":"myawsuser-og02", + "OptionsToInclude":[ { - "DBSecurityGroupMemberships": [ + "DBSecurityGroupMemberships":[ "default" ], - "OptionName": "MEMCACHED" + "OptionName":"MEMCACHED" } ] }, - "output": { - "OptionGroup": { + "output":{ + "OptionGroup":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "PromoteReadReplica":[ { - "input": { - "BackupRetentionPeriod": 1, - "DBInstanceIdentifier": "mydbreadreplica", - "PreferredBackupWindow": "03:30-04:00" + "input":{ + "BackupRetentionPeriod":1, + "DBInstanceIdentifier":"mydbreadreplica", + "PreferredBackupWindow":"03:30-04:00" }, - "output": { - "DBInstance": { + "output":{ + "DBInstance":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "PurchaseReservedDBInstancesOffering":[ { - "input": { - "ReservedDBInstanceId": "myreservationid", - "ReservedDBInstancesOfferingId": "fb29428a-646d-4390-850e-5fe89926e727" + "input":{ + "ReservedDBInstanceId":"myreservationid", + "ReservedDBInstancesOfferingId":"fb29428a-646d-4390-850e-5fe89926e727" }, - "output": { - "ReservedDBInstance": { + "output":{ + "ReservedDBInstance":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "RebootDBInstance":[ { - "input": { - "DBInstanceIdentifier": "mymysqlinstance", - "ForceFailover": false + "input":{ + "DBInstanceIdentifier":"mymysqlinstance", + "ForceFailover":false }, - "output": { - "DBInstance": { + "output":{ + "DBInstance":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "RemoveSourceIdentifierFromSubscription":[ { - "input": { - "SourceIdentifier": "mymysqlinstance", - "SubscriptionName": "myeventsubscription" + "input":{ + "SourceIdentifier":"mymysqlinstance", + "SubscriptionName":"myeventsubscription" }, - "output": { - "EventSubscription": { + "output":{ + "EventSubscription":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "RemoveTagsFromResource":[ { - "input": { - "ResourceName": "arn:aws:rds:us-east-1:992648334831:og:mydboptiongroup", - "TagKeys": [ + "input":{ + "ResourceName":"arn:aws:rds:us-east-1:992648334831:og:mydboptiongroup", + "TagKeys":[ "MyKey" ] }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ResetDBClusterParameterGroup":[ { - "input": { - "DBClusterParameterGroupName": "mydbclusterparametergroup", - "ResetAllParameters": true + "input":{ + "DBClusterParameterGroupName":"mydbclusterparametergroup", + "ResetAllParameters":true }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ResetDBParameterGroup":[ { - "input": { - "DBParameterGroupName": "mydbparametergroup", - "ResetAllParameters": true + "input":{ + "DBParameterGroupName":"mydbparametergroup", + "ResetAllParameters":true }, - "output": { + "output":{ }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "RestoreDBClusterFromSnapshot":[ { - "input": { - "DBClusterIdentifier": "restored-cluster1", - "Engine": "aurora", - "SnapshotIdentifier": "sample-cluster-snapshot1" + "input":{ + "DBClusterIdentifier":"restored-cluster1", + "Engine":"aurora", + "SnapshotIdentifier":"sample-cluster-snapshot1" }, - "output": { - "DBCluster": { + "output":{ + "DBCluster":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "RestoreDBClusterToPointInTime":[ { - "input": { - "DBClusterIdentifier": "sample-restored-cluster1", - "RestoreToTime": "2016-09-13T18:45:00Z", - "SourceDBClusterIdentifier": "sample-cluster1" + "input":{ + "DBClusterIdentifier":"sample-restored-cluster1", + "RestoreToTime":"2016-09-13T18:45:00Z", + "SourceDBClusterIdentifier":"sample-cluster1" }, - "output": { - "DBCluster": { + "output":{ + "DBCluster":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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." + "description":"The following example restores a DB cluster to a new DB cluster at a point in time from the source DB cluster.", + "id":"to-restore-a-db-cluster-to-a-point-in-time-1473962082214", + "title":"To restore a DB cluster to a point in time." } ], - "RestoreDBInstanceFromDBSnapshot": [ + "RestoreDBInstanceFromDBSnapshot":[ { - "input": { - "DBInstanceIdentifier": "mysqldb-restored", - "DBSnapshotIdentifier": "rds:mysqldb-2014-04-22-08-15" + "input":{ + "DBInstanceIdentifier":"mysqldb-restored", + "DBSnapshotIdentifier":"rds:mysqldb-2014-04-22-08-15" }, - "output": { - "DBInstance": { - "AllocatedStorage": 200, - "AutoMinorVersionUpgrade": true, - "AvailabilityZone": "us-west-2b", - "BackupRetentionPeriod": 7, - "CACertificateIdentifier": "rds-ca-2015", - "CopyTagsToSnapshot": false, - "DBInstanceArn": "arn:aws:rds:us-west-2:123456789012:db:mysqldb-restored", - "DBInstanceClass": "db.t2.small", - "DBInstanceIdentifier": "mysqldb-restored", - "DBInstanceStatus": "available", - "DBName": "sample", - "DBParameterGroups": [ + "output":{ + "DBInstance":{ + "AllocatedStorage":200, + "AutoMinorVersionUpgrade":true, + "AvailabilityZone":"us-west-2b", + "BackupRetentionPeriod":7, + "CACertificateIdentifier":"rds-ca-2015", + "CopyTagsToSnapshot":false, + "DBInstanceArn":"arn:aws:rds:us-west-2:123456789012:db:mysqldb-restored", + "DBInstanceClass":"db.t2.small", + "DBInstanceIdentifier":"mysqldb-restored", + "DBInstanceStatus":"available", + "DBName":"sample", + "DBParameterGroups":[ { - "DBParameterGroupName": "default.mysql5.6", - "ParameterApplyStatus": "in-sync" + "DBParameterGroupName":"default.mysql5.6", + "ParameterApplyStatus":"in-sync" } ], - "DBSecurityGroups": [ + "DBSecurityGroups":[ ], - "DBSubnetGroup": { - "DBSubnetGroupDescription": "default", - "DBSubnetGroupName": "default", - "SubnetGroupStatus": "Complete", - "Subnets": [ + "DBSubnetGroup":{ + "DBSubnetGroupDescription":"default", + "DBSubnetGroupName":"default", + "SubnetGroupStatus":"Complete", + "Subnets":[ { - "SubnetAvailabilityZone": { - "Name": "us-west-2a" + "SubnetAvailabilityZone":{ + "Name":"us-west-2a" }, - "SubnetIdentifier": "subnet-77e8db03", - "SubnetStatus": "Active" + "SubnetIdentifier":"subnet-77e8db03", + "SubnetStatus":"Active" }, { - "SubnetAvailabilityZone": { - "Name": "us-west-2b" + "SubnetAvailabilityZone":{ + "Name":"us-west-2b" }, - "SubnetIdentifier": "subnet-c39989a1", - "SubnetStatus": "Active" + "SubnetIdentifier":"subnet-c39989a1", + "SubnetStatus":"Active" }, { - "SubnetAvailabilityZone": { - "Name": "us-west-2c" + "SubnetAvailabilityZone":{ + "Name":"us-west-2c" }, - "SubnetIdentifier": "subnet-4b267b0d", - "SubnetStatus": "Active" + "SubnetIdentifier":"subnet-4b267b0d", + "SubnetStatus":"Active" } ], - "VpcId": "vpc-c1c5b3a3" + "VpcId":"vpc-c1c5b3a3" }, - "DbInstancePort": 0, - "DbiResourceId": "db-VNZUCCBTEDC4WR7THXNJO72HVQ", - "DomainMemberships": [ + "DbInstancePort":0, + "DbiResourceId":"db-VNZUCCBTEDC4WR7THXNJO72HVQ", + "DomainMemberships":[ ], - "Engine": "mysql", - "EngineVersion": "5.6.27", - "LicenseModel": "general-public-license", - "MasterUsername": "mymasteruser", - "MonitoringInterval": 0, - "MultiAZ": false, - "OptionGroupMemberships": [ + "Engine":"mysql", + "EngineVersion":"5.6.27", + "LicenseModel":"general-public-license", + "MasterUsername":"mymasteruser", + "MonitoringInterval":0, + "MultiAZ":false, + "OptionGroupMemberships":[ { - "OptionGroupName": "default:mysql-5-6", - "Status": "in-sync" + "OptionGroupName":"default:mysql-5-6", + "Status":"in-sync" } ], - "PendingModifiedValues": { + "PendingModifiedValues":{ }, - "PreferredBackupWindow": "12:58-13:28", - "PreferredMaintenanceWindow": "tue:10:16-tue:10:46", - "PubliclyAccessible": true, - "ReadReplicaDBInstanceIdentifiers": [ + "PreferredBackupWindow":"12:58-13:28", + "PreferredMaintenanceWindow":"tue:10:16-tue:10:46", + "PubliclyAccessible":true, + "ReadReplicaDBInstanceIdentifiers":[ ], - "StorageEncrypted": false, - "StorageType": "gp2", - "VpcSecurityGroups": [ + "StorageEncrypted":false, + "StorageType":"gp2", + "VpcSecurityGroups":[ { - "Status": "active", - "VpcSecurityGroupId": "sg-e5e5b0d2" + "Status":"active", + "VpcSecurityGroupId":"sg-e5e5b0d2" } ] } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "The following example restores a DB instance from a DB snapshot.", - "id": "to-restore-a-db-instance-from-a-db-snapshot-1473961657311", - "title": "To restore a DB instance from a DB snapshot." + "description":"The following example restores a DB instance from a DB snapshot.", + "id":"to-restore-a-db-instance-from-a-db-snapshot-1473961657311", + "title":"To restore a DB instance from a DB snapshot." } ], - "RestoreDBInstanceToPointInTime": [ + "RestoreDBInstanceToPointInTime":[ { - "input": { - "RestoreTime": "2016-09-13T18:45:00Z", - "SourceDBInstanceIdentifier": "mysql-sample", - "TargetDBInstanceIdentifier": "mysql-sample-restored" + "input":{ + "RestoreTime":"2016-09-13T18:45:00Z", + "SourceDBInstanceIdentifier":"mysql-sample", + "TargetDBInstanceIdentifier":"mysql-sample-restored" }, - "output": { - "DBInstance": { - "AllocatedStorage": 200, - "AutoMinorVersionUpgrade": true, - "AvailabilityZone": "us-west-2b", - "BackupRetentionPeriod": 7, - "CACertificateIdentifier": "rds-ca-2015", - "CopyTagsToSnapshot": false, - "DBInstanceArn": "arn:aws:rds:us-west-2:123456789012:db:mysql-sample-restored", - "DBInstanceClass": "db.t2.small", - "DBInstanceIdentifier": "mysql-sample-restored", - "DBInstanceStatus": "available", - "DBName": "sample", - "DBParameterGroups": [ + "output":{ + "DBInstance":{ + "AllocatedStorage":200, + "AutoMinorVersionUpgrade":true, + "AvailabilityZone":"us-west-2b", + "BackupRetentionPeriod":7, + "CACertificateIdentifier":"rds-ca-2015", + "CopyTagsToSnapshot":false, + "DBInstanceArn":"arn:aws:rds:us-west-2:123456789012:db:mysql-sample-restored", + "DBInstanceClass":"db.t2.small", + "DBInstanceIdentifier":"mysql-sample-restored", + "DBInstanceStatus":"available", + "DBName":"sample", + "DBParameterGroups":[ { - "DBParameterGroupName": "default.mysql5.6", - "ParameterApplyStatus": "in-sync" + "DBParameterGroupName":"default.mysql5.6", + "ParameterApplyStatus":"in-sync" } ], - "DBSecurityGroups": [ + "DBSecurityGroups":[ ], - "DBSubnetGroup": { - "DBSubnetGroupDescription": "default", - "DBSubnetGroupName": "default", - "SubnetGroupStatus": "Complete", - "Subnets": [ + "DBSubnetGroup":{ + "DBSubnetGroupDescription":"default", + "DBSubnetGroupName":"default", + "SubnetGroupStatus":"Complete", + "Subnets":[ { - "SubnetAvailabilityZone": { - "Name": "us-west-2a" + "SubnetAvailabilityZone":{ + "Name":"us-west-2a" }, - "SubnetIdentifier": "subnet-77e8db03", - "SubnetStatus": "Active" + "SubnetIdentifier":"subnet-77e8db03", + "SubnetStatus":"Active" }, { - "SubnetAvailabilityZone": { - "Name": "us-west-2b" + "SubnetAvailabilityZone":{ + "Name":"us-west-2b" }, - "SubnetIdentifier": "subnet-c39989a1", - "SubnetStatus": "Active" + "SubnetIdentifier":"subnet-c39989a1", + "SubnetStatus":"Active" }, { - "SubnetAvailabilityZone": { - "Name": "us-west-2c" + "SubnetAvailabilityZone":{ + "Name":"us-west-2c" }, - "SubnetIdentifier": "subnet-4b267b0d", - "SubnetStatus": "Active" + "SubnetIdentifier":"subnet-4b267b0d", + "SubnetStatus":"Active" } ], - "VpcId": "vpc-c1c5b3a3" + "VpcId":"vpc-c1c5b3a3" }, - "DbInstancePort": 0, - "DbiResourceId": "db-VNZUCCBTEDC4WR7THXNJO72HVQ", - "DomainMemberships": [ + "DbInstancePort":0, + "DbiResourceId":"db-VNZUCCBTEDC4WR7THXNJO72HVQ", + "DomainMemberships":[ ], - "Engine": "mysql", - "EngineVersion": "5.6.27", - "LicenseModel": "general-public-license", - "MasterUsername": "mymasteruser", - "MonitoringInterval": 0, - "MultiAZ": false, - "OptionGroupMemberships": [ + "Engine":"mysql", + "EngineVersion":"5.6.27", + "LicenseModel":"general-public-license", + "MasterUsername":"mymasteruser", + "MonitoringInterval":0, + "MultiAZ":false, + "OptionGroupMemberships":[ { - "OptionGroupName": "default:mysql-5-6", - "Status": "in-sync" + "OptionGroupName":"default:mysql-5-6", + "Status":"in-sync" } ], - "PendingModifiedValues": { + "PendingModifiedValues":{ }, - "PreferredBackupWindow": "12:58-13:28", - "PreferredMaintenanceWindow": "tue:10:16-tue:10:46", - "PubliclyAccessible": true, - "ReadReplicaDBInstanceIdentifiers": [ + "PreferredBackupWindow":"12:58-13:28", + "PreferredMaintenanceWindow":"tue:10:16-tue:10:46", + "PubliclyAccessible":true, + "ReadReplicaDBInstanceIdentifiers":[ ], - "StorageEncrypted": false, - "StorageType": "gp2", - "VpcSecurityGroups": [ + "StorageEncrypted":false, + "StorageType":"gp2", + "VpcSecurityGroups":[ { - "Status": "active", - "VpcSecurityGroupId": "sg-e5e5b0d2" + "Status":"active", + "VpcSecurityGroupId":"sg-e5e5b0d2" } ] } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "The following example restores a DB instance to a new DB instance at a point in time from the source DB instance.", - "id": "to-restore-a-db-instance-to-a-point-in-time-1473962652154", - "title": "To restore a DB instance to a point in time." + "description":"The following example restores a DB instance to a new DB instance at a point in time from the source DB instance.", + "id":"to-restore-a-db-instance-to-a-point-in-time-1473962652154", + "title":"To restore a DB instance to a point in time." } ], - "RevokeDBSecurityGroupIngress": [ + "RevokeDBSecurityGroupIngress":[ { - "input": { - "CIDRIP": "203.0.113.5/32", - "DBSecurityGroupName": "mydbsecuritygroup" + "input":{ + "CIDRIP":"203.0.113.5/32", + "DBSecurityGroupName":"mydbsecuritygroup" }, - "output": { - "DBSecurityGroup": { + "output":{ + "DBSecurityGroup":{ } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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/models/apis/rds/2014-10-31/smoke.json b/models/apis/rds/2014-10-31/smoke.json new file mode 100644 index 00000000000..068b23492c3 --- /dev/null +++ b/models/apis/rds/2014-10-31/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeDBEngineVersions", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeDBInstances", + "input": { + "DBInstanceIdentifier": "fake-id" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/redshift/2012-12-01/api-2.json b/models/apis/redshift/2012-12-01/api-2.json index 0d200734716..f3f9618557c 100644 --- a/models/apis/redshift/2012-12-01/api-2.json +++ b/models/apis/redshift/2012-12-01/api-2.json @@ -5,11 +5,33 @@ "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"} + ] + }, "AuthorizeClusterSecurityGroupIngress":{ "name":"AuthorizeClusterSecurityGroupIngress", "http":{ @@ -96,7 +118,8 @@ {"shape":"TagLimitExceededFault"}, {"shape":"InvalidTagFault"}, {"shape":"LimitExceededFault"}, - {"shape":"DependentServiceRequestThrottlingFault"} + {"shape":"DependentServiceRequestThrottlingFault"}, + {"shape":"InvalidClusterTrackFault"} ] }, "CreateClusterParameterGroup":{ @@ -402,6 +425,21 @@ {"shape":"InvalidTagFault"} ] }, + "DescribeClusterDbRevisions":{ + "name":"DescribeClusterDbRevisions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClusterDbRevisionsMessage"}, + "output":{ + "shape":"ClusterDbRevisionsMessage", + "resultWrapper":"DescribeClusterDbRevisionsResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"} + ] + }, "DescribeClusterParameterGroups":{ "name":"DescribeClusterParameterGroups", "http":{ @@ -461,6 +499,7 @@ "resultWrapper":"DescribeClusterSnapshotsResult" }, "errors":[ + {"shape":"ClusterNotFoundFault"}, {"shape":"ClusterSnapshotNotFoundFault"}, {"shape":"InvalidTagFault"} ] @@ -481,6 +520,22 @@ {"shape":"InvalidTagFault"} ] }, + "DescribeClusterTracks":{ + "name":"DescribeClusterTracks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClusterTracksMessage"}, + "output":{ + "shape":"TrackListMessage", + "resultWrapper":"DescribeClusterTracksResult" + }, + "errors":[ + {"shape":"InvalidClusterTrackFault"}, + {"shape":"UnauthorizedOperation"} + ] + }, "DescribeClusterVersions":{ "name":"DescribeClusterVersions", "http":{ @@ -809,6 +864,26 @@ {"shape":"UnsupportedOperationFault"} ] }, + "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"} + ] + }, "ModifyCluster":{ "name":"ModifyCluster", "http":{ @@ -836,7 +911,26 @@ {"shape":"ClusterAlreadyExistsFault"}, {"shape":"LimitExceededFault"}, {"shape":"DependentServiceRequestThrottlingFault"}, - {"shape":"InvalidElasticIpFault"} + {"shape":"InvalidElasticIpFault"}, + {"shape":"TableLimitExceededFault"}, + {"shape":"InvalidClusterTrackFault"} + ] + }, + "ModifyClusterDbRevision":{ + "name":"ModifyClusterDbRevision", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyClusterDbRevisionMessage"}, + "output":{ + "shape":"ModifyClusterDbRevisionResult", + "resultWrapper":"ModifyClusterDbRevisionResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"ClusterOnLatestRevisionFault"}, + {"shape":"InvalidClusterStateFault"} ] }, "ModifyClusterIamRoles":{ @@ -1014,7 +1108,8 @@ {"shape":"ClusterParameterGroupNotFoundFault"}, {"shape":"ClusterSecurityGroupNotFoundFault"}, {"shape":"LimitExceededFault"}, - {"shape":"DependentServiceRequestThrottlingFault"} + {"shape":"DependentServiceRequestThrottlingFault"}, + {"shape":"InvalidClusterTrackFault"} ] }, "RestoreTableFromClusterSnapshot":{ @@ -1091,6 +1186,23 @@ } }, "shapes":{ + "AcceptReservedNodeExchangeInputMessage":{ + "type":"structure", + "required":[ + "ReservedNodeId", + "TargetReservedNodeOfferingId" + ], + "members":{ + "ReservedNodeId":{"shape":"String"}, + "TargetReservedNodeOfferingId":{"shape":"String"} + } + }, + "AcceptReservedNodeExchangeOutputMessage":{ + "type":"structure", + "members":{ + "ExchangedReservedNode":{"shape":"ReservedNode"} + } + }, "AccessToSnapshotDeniedFault":{ "type":"structure", "members":{ @@ -1186,7 +1298,8 @@ "AvailabilityZone":{ "type":"structure", "members":{ - "Name":{"shape":"String"} + "Name":{"shape":"String"}, + "SupportedPlatforms":{"shape":"SupportedPlatformsList"} }, "wrapper":true }, @@ -1245,7 +1358,9 @@ "Tags":{"shape":"TagList"}, "KmsKeyId":{"shape":"String"}, "EnhancedVpcRouting":{"shape":"Boolean"}, - "IamRoles":{"shape":"ClusterIamRoleList"} + "IamRoles":{"shape":"ClusterIamRoleList"}, + "PendingActions":{"shape":"PendingActionsList"}, + "MaintenanceTrackName":{"shape":"String"} }, "wrapper":true }, @@ -1268,6 +1383,29 @@ "Expiration":{"shape":"TStamp"} } }, + "ClusterDbRevision":{ + "type":"structure", + "members":{ + "ClusterIdentifier":{"shape":"String"}, + "CurrentDatabaseRevision":{"shape":"String"}, + "DatabaseRevisionReleaseDate":{"shape":"TStamp"}, + "RevisionTargets":{"shape":"RevisionTargetsList"} + } + }, + "ClusterDbRevisionsList":{ + "type":"list", + "member":{ + "shape":"ClusterDbRevision", + "locationName":"ClusterDbRevision" + } + }, + "ClusterDbRevisionsMessage":{ + "type":"structure", + "members":{ + "Marker":{"shape":"String"}, + "ClusterDbRevisions":{"shape":"ClusterDbRevisionsList"} + } + }, "ClusterIamRole":{ "type":"structure", "members":{ @@ -1312,6 +1450,17 @@ }, "exception":true }, + "ClusterOnLatestRevisionFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ClusterOnLatestRevision", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "ClusterParameterGroup":{ "type":"structure", "members":{ @@ -1697,7 +1846,8 @@ "KmsKeyId":{"shape":"String"}, "EnhancedVpcRouting":{"shape":"BooleanOptional"}, "AdditionalInfo":{"shape":"String"}, - "IamRoles":{"shape":"IamRoleArnList"} + "IamRoles":{"shape":"IamRoleArnList"}, + "MaintenanceTrackName":{"shape":"String"} } }, "CreateClusterParameterGroupMessage":{ @@ -1998,6 +2148,14 @@ }, "exception":true }, + "DescribeClusterDbRevisionsMessage":{ + "type":"structure", + "members":{ + "ClusterIdentifier":{"shape":"String"}, + "MaxRecords":{"shape":"IntegerOptional"}, + "Marker":{"shape":"String"} + } + }, "DescribeClusterParameterGroupsMessage":{ "type":"structure", "members":{ @@ -2040,7 +2198,8 @@ "Marker":{"shape":"String"}, "OwnerAccount":{"shape":"String"}, "TagKeys":{"shape":"TagKeyList"}, - "TagValues":{"shape":"TagValueList"} + "TagValues":{"shape":"TagValueList"}, + "ClusterExists":{"shape":"BooleanOptional"} } }, "DescribeClusterSubnetGroupsMessage":{ @@ -2053,6 +2212,14 @@ "TagValues":{"shape":"TagValueList"} } }, + "DescribeClusterTracksMessage":{ + "type":"structure", + "members":{ + "MaintenanceTrackName":{"shape":"String"}, + "MaxRecords":{"shape":"IntegerOptional"}, + "Marker":{"shape":"String"} + } + }, "DescribeClusterVersionsMessage":{ "type":"structure", "members":{ @@ -2249,6 +2416,13 @@ "Status":{"shape":"String"} } }, + "EligibleTracksToUpdateList":{ + "type":"list", + "member":{ + "shape":"UpdateTarget", + "locationName":"UpdateTarget" + } + }, "EnableLoggingMessage":{ "type":"structure", "required":[ @@ -2415,6 +2589,22 @@ "DbGroups":{"shape":"DbGroupList"} } }, + "GetReservedNodeExchangeOfferingsInputMessage":{ + "type":"structure", + "required":["ReservedNodeId"], + "members":{ + "ReservedNodeId":{"shape":"String"}, + "MaxRecords":{"shape":"IntegerOptional"}, + "Marker":{"shape":"String"} + } + }, + "GetReservedNodeExchangeOfferingsOutputMessage":{ + "type":"structure", + "members":{ + "Marker":{"shape":"String"}, + "ReservedNodeOfferings":{"shape":"ReservedNodeOfferingList"} + } + }, "HsmClientCertificate":{ "type":"structure", "members":{ @@ -2683,6 +2873,17 @@ }, "exception":true }, + "InvalidClusterTrackFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InvalidClusterTrack", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidElasticIpFault":{ "type":"structure", "members":{ @@ -2716,6 +2917,17 @@ }, "exception":true }, + "InvalidReservedNodeStateFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InvalidReservedNodeState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidRestoreFault":{ "type":"structure", "members":{ @@ -2839,6 +3051,31 @@ }, "Long":{"type":"long"}, "LongOptional":{"type":"long"}, + "MaintenanceTrack":{ + "type":"structure", + "members":{ + "MaintenanceTrackName":{"shape":"String"}, + "DatabaseVersion":{"shape":"String"}, + "UpdateTargets":{"shape":"EligibleTracksToUpdateList"} + } + }, + "ModifyClusterDbRevisionMessage":{ + "type":"structure", + "required":[ + "ClusterIdentifier", + "RevisionTarget" + ], + "members":{ + "ClusterIdentifier":{"shape":"String"}, + "RevisionTarget":{"shape":"String"} + } + }, + "ModifyClusterDbRevisionResult":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, "ModifyClusterIamRolesMessage":{ "type":"structure", "required":["ClusterIdentifier"], @@ -2875,7 +3112,8 @@ "NewClusterIdentifier":{"shape":"String"}, "PubliclyAccessible":{"shape":"BooleanOptional"}, "ElasticIp":{"shape":"String"}, - "EnhancedVpcRouting":{"shape":"BooleanOptional"} + "EnhancedVpcRouting":{"shape":"BooleanOptional"}, + "MaintenanceTrackName":{"shape":"String"} } }, "ModifyClusterParameterGroupMessage":{ @@ -3030,6 +3268,10 @@ "locationName":"Parameter" } }, + "PendingActionsList":{ + "type":"list", + "member":{"shape":"String"} + }, "PendingModifiedValues":{ "type":"structure", "members":{ @@ -3041,7 +3283,8 @@ "AutomatedSnapshotRetentionPeriod":{"shape":"IntegerOptional"}, "ClusterIdentifier":{"shape":"String"}, "PubliclyAccessible":{"shape":"BooleanOptional"}, - "EnhancedVpcRouting":{"shape":"BooleanOptional"} + "EnhancedVpcRouting":{"shape":"BooleanOptional"}, + "MaintenanceTrackName":{"shape":"String"} } }, "PurchaseReservedNodeOfferingMessage":{ @@ -3100,7 +3343,8 @@ "NodeCount":{"shape":"Integer"}, "State":{"shape":"String"}, "OfferingType":{"shape":"String"}, - "RecurringCharges":{"shape":"RecurringChargeList"} + "RecurringCharges":{"shape":"RecurringChargeList"}, + "ReservedNodeOfferingType":{"shape":"ReservedNodeOfferingType"} }, "wrapper":true }, @@ -3115,6 +3359,17 @@ }, "exception":true }, + "ReservedNodeAlreadyMigratedFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ReservedNodeAlreadyMigrated", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "ReservedNodeList":{ "type":"list", "member":{ @@ -3143,7 +3398,8 @@ "UsagePrice":{"shape":"Double"}, "CurrencyCode":{"shape":"String"}, "OfferingType":{"shape":"String"}, - "RecurringCharges":{"shape":"RecurringChargeList"} + "RecurringCharges":{"shape":"RecurringChargeList"}, + "ReservedNodeOfferingType":{"shape":"ReservedNodeOfferingType"} }, "wrapper":true }, @@ -3165,6 +3421,13 @@ }, "exception":true }, + "ReservedNodeOfferingType":{ + "type":"string", + "enum":[ + "Regular", + "Upgradable" + ] + }, "ReservedNodeOfferingsMessage":{ "type":"structure", "members":{ @@ -3273,7 +3536,8 @@ "NodeType":{"shape":"String"}, "EnhancedVpcRouting":{"shape":"BooleanOptional"}, "AdditionalInfo":{"shape":"String"}, - "IamRoles":{"shape":"IamRoleArnList"} + "IamRoles":{"shape":"IamRoleArnList"}, + "MaintenanceTrackName":{"shape":"String"} } }, "RestoreFromClusterSnapshotResult":{ @@ -3319,6 +3583,21 @@ "TableRestoreStatus":{"shape":"TableRestoreStatus"} } }, + "RevisionTarget":{ + "type":"structure", + "members":{ + "DatabaseRevision":{"shape":"String"}, + "Description":{"shape":"String"}, + "DatabaseRevisionReleaseDate":{"shape":"TStamp"} + } + }, + "RevisionTargetsList":{ + "type":"list", + "member":{ + "shape":"RevisionTarget", + "locationName":"RevisionTarget" + } + }, "RevokeClusterSecurityGroupIngressMessage":{ "type":"structure", "required":["ClusterSecurityGroupName"], @@ -3434,7 +3713,8 @@ "SourceRegion":{"shape":"String"}, "Tags":{"shape":"TagList"}, "RestorableNodeTypes":{"shape":"RestorableNodeTypeList"}, - "EnhancedVpcRouting":{"shape":"Boolean"} + "EnhancedVpcRouting":{"shape":"Boolean"}, + "MaintenanceTrackName":{"shape":"String"} }, "wrapper":true }, @@ -3657,7 +3937,32 @@ }, "exception":true }, + "SupportedPlatform":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"} + }, + "wrapper":true + }, + "SupportedPlatformsList":{ + "type":"list", + "member":{ + "shape":"SupportedPlatform", + "locationName":"SupportedPlatform" + } + }, "TStamp":{"type":"timestamp"}, + "TableLimitExceededFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"TableLimitExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "TableRestoreNotFoundFault":{ "type":"structure", "members":{ @@ -3774,6 +4079,20 @@ "Marker":{"shape":"String"} } }, + "TrackList":{ + "type":"list", + "member":{ + "shape":"MaintenanceTrack", + "locationName":"MaintenanceTrack" + } + }, + "TrackListMessage":{ + "type":"structure", + "members":{ + "MaintenanceTracks":{"shape":"TrackList"}, + "Marker":{"shape":"String"} + } + }, "UnauthorizedOperation":{ "type":"structure", "members":{ @@ -3818,6 +4137,13 @@ }, "exception":true }, + "UpdateTarget":{ + "type":"structure", + "members":{ + "MaintenanceTrackName":{"shape":"String"}, + "DatabaseVersion":{"shape":"String"} + } + }, "VpcSecurityGroupIdList":{ "type":"list", "member":{ diff --git a/models/apis/redshift/2012-12-01/docs-2.json b/models/apis/redshift/2012-12-01/docs-2.json index a5d729ac621..b5a30bd94bf 100644 --- a/models/apis/redshift/2012-12-01/docs-2.json +++ b/models/apis/redshift/2012-12-01/docs-2.json @@ -2,10 +2,11 @@ "version": "2.0", "service": "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.

", "operations": { + "AcceptReservedNodeExchange": "

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": "

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": "

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": "

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": "

Creates a new cluster.

To create the cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

", + "CreateCluster": "

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": "

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": "

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": "

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.

", @@ -14,7 +15,7 @@ "CreateHsmClientCertificate": "

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": "

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": "

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": "

Adds one or more tags to a specified resource.

A resource can have up to 10 tags. If you try to create more than 10 tags for a resource, you will receive an error and the attempt will fail.

If you specify a key that already exists for the resource, the value for that key will be updated with the new value.

", + "CreateTags": "

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": "

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": "

Deletes a specified Amazon Redshift parameter group.

You cannot delete a parameter group if it is associated with a cluster.

", "DeleteClusterSecurityGroup": "

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.

", @@ -25,11 +26,13 @@ "DeleteHsmConfiguration": "

Deletes the specified Amazon Redshift HSM configuration.

", "DeleteSnapshotCopyGrant": "

Deletes the specified snapshot copy grant.

", "DeleteTags": "

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": "

Returns an array of ClusterDbRevision objects.

", "DescribeClusterParameterGroups": "

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": "

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": "

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": "

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": "

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": "

Returns a list of all the available maintenance tracks.

", "DescribeClusterVersions": "

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": "

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": "

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.

", @@ -51,7 +54,9 @@ "EnableLogging": "

Starts logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.

", "EnableSnapshotCopy": "

Enables the automatic copy of snapshots from one region to another region for a specified cluster.

", "GetClusterCredentials": "

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": "

Returns an array of DC2 ReservedNodeOfferings that matches the payment type, term, and usage price of the given DC1 reserved node.

", "ModifyCluster": "

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": "

Modifies the database revision of a cluster. The database revision is a unique revision of the database running in a cluster.

", "ModifyClusterIamRoles": "

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": "

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": "

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.

", @@ -67,6 +72,16 @@ "RotateEncryptionKey": "

Rotates the encryption keys for a cluster.

" }, "shapes": { + "AcceptReservedNodeExchangeInputMessage": { + "base": null, + "refs": { + } + }, + "AcceptReservedNodeExchangeOutputMessage": { + "base": null, + "refs": { + } + }, "AccessToSnapshotDeniedFault": { "base": "

The owner of the specified snapshot has not authorized your account to access the snapshot.

", "refs": { @@ -157,6 +172,7 @@ "CreateClusterMessage$Encrypted": "

If true, the data in the cluster is encrypted at rest.

Default: false

", "CreateClusterMessage$EnhancedVpcRouting": "

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

", "CreateEventSubscriptionMessage$Enabled": "

A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

", + "DescribeClusterSnapshotsMessage$ClusterExists": "

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.

", "GetClusterCredentialsMessage$AutoCreate": "

Create a database user with the name specified for the user named in DbUser if one does not exist.

", "ModifyClusterMessage$AllowVersionUpgrade": "

If true, major version upgrades will be applied automatically to the cluster during the maintenance window.

Default: false

", "ModifyClusterMessage$PubliclyAccessible": "

If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be publicly available.

", @@ -182,6 +198,7 @@ "DeleteClusterResult$Cluster": null, "DisableSnapshotCopyResult$Cluster": null, "EnableSnapshotCopyResult$Cluster": null, + "ModifyClusterDbRevisionResult$Cluster": null, "ModifyClusterIamRolesResult$Cluster": null, "ModifyClusterResult$Cluster": null, "ModifySnapshotCopyRetentionPeriodResult$Cluster": null, @@ -200,6 +217,23 @@ "refs": { } }, + "ClusterDbRevision": { + "base": "

Describes a ClusterDbRevision.

", + "refs": { + "ClusterDbRevisionsList$member": null + } + }, + "ClusterDbRevisionsList": { + "base": null, + "refs": { + "ClusterDbRevisionsMessage$ClusterDbRevisions": "

A list of revisions.

" + } + }, + "ClusterDbRevisionsMessage": { + "base": null, + "refs": { + } + }, "ClusterIamRole": { "base": "

An AWS Identity and Access Management (IAM) role that can be used by the associated Amazon Redshift cluster to access other AWS services.

", "refs": { @@ -235,6 +269,11 @@ "refs": { } }, + "ClusterOnLatestRevisionFault": { + "base": "

Cluster is already on the latest database revision.

", + "refs": { + } + }, "ClusterParameterGroup": { "base": "

Describes a parameter group.

", "refs": { @@ -630,6 +669,11 @@ "refs": { } }, + "DescribeClusterDbRevisionsMessage": { + "base": null, + "refs": { + } + }, "DescribeClusterParameterGroupsMessage": { "base": "

", "refs": { @@ -655,6 +699,11 @@ "refs": { } }, + "DescribeClusterTracksMessage": { + "base": null, + "refs": { + } + }, "DescribeClusterVersionsMessage": { "base": "

", "refs": { @@ -794,6 +843,12 @@ "Cluster$ElasticIpStatus": "

The status of the elastic IP (EIP) address.

" } }, + "EligibleTracksToUpdateList": { + "base": null, + "refs": { + "MaintenanceTrack$UpdateTargets": "

An array of UpdateTarget objects to update with the maintenance track.

" + } + }, "EnableLoggingMessage": { "base": "

", "refs": { @@ -900,6 +955,16 @@ "refs": { } }, + "GetReservedNodeExchangeOfferingsInputMessage": { + "base": "

", + "refs": { + } + }, + "GetReservedNodeExchangeOfferingsOutputMessage": { + "base": null, + "refs": { + } + }, "HsmClientCertificate": { "base": "

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.

", "refs": { @@ -1051,11 +1116,13 @@ "CreateClusterMessage$AutomatedSnapshotRetentionPeriod": "

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.

", "CreateClusterMessage$Port": "

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

", "CreateClusterMessage$NumberOfNodes": "

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.

", + "DescribeClusterDbRevisionsMessage$MaxRecords": "

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.

", "DescribeClusterParameterGroupsMessage$MaxRecords": "

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.

", "DescribeClusterParametersMessage$MaxRecords": "

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.

", "DescribeClusterSecurityGroupsMessage$MaxRecords": "

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.

", "DescribeClusterSnapshotsMessage$MaxRecords": "

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.

", "DescribeClusterSubnetGroupsMessage$MaxRecords": "

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.

", + "DescribeClusterTracksMessage$MaxRecords": "

An integer value for the maximum number of maintenance tracks to return.

", "DescribeClusterVersionsMessage$MaxRecords": "

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.

", "DescribeClustersMessage$MaxRecords": "

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.

", "DescribeDefaultClusterParametersMessage$MaxRecords": "

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.

", @@ -1072,6 +1139,7 @@ "DescribeTagsMessage$MaxRecords": "

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.

", "EnableSnapshotCopyMessage$RetentionPeriod": "

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.

", "GetClusterCredentialsMessage$DurationSeconds": "

The number of seconds until the returned temporary password expires.

Constraint: minimum 900, maximum 3600.

Default: 900

", + "GetReservedNodeExchangeOfferingsInputMessage$MaxRecords": "

An integer setting the maximum number of ReservedNodeOfferings to retrieve.

", "ModifyClusterMessage$NumberOfNodes": "

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.

", "ModifyClusterMessage$AutomatedSnapshotRetentionPeriod": "

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.

", "PendingModifiedValues$NumberOfNodes": "

The pending or in-progress change of the number of nodes in the cluster.

", @@ -1112,6 +1180,11 @@ "refs": { } }, + "InvalidClusterTrackFault": { + "base": "

The provided cluster track name is not valid.

", + "refs": { + } + }, "InvalidElasticIpFault": { "base": "

The Elastic IP (EIP) is invalid or cannot be found.

", "refs": { @@ -1127,6 +1200,11 @@ "refs": { } }, + "InvalidReservedNodeStateFault": { + "base": "

Indicates that the Reserved Node being exchanged is not in an active state.

", + "refs": { + } + }, "InvalidRestoreFault": { "base": "

The restore is invalid.

", "refs": { @@ -1205,6 +1283,22 @@ "TableRestoreStatus$TotalDataInMegaBytes": "

The total amount of data to restore to the new table, in megabytes (MB).

" } }, + "MaintenanceTrack": { + "base": "

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.

", + "refs": { + "TrackList$member": null + } + }, + "ModifyClusterDbRevisionMessage": { + "base": null, + "refs": { + } + }, + "ModifyClusterDbRevisionResult": { + "base": null, + "refs": { + } + }, "ModifyClusterIamRolesMessage": { "base": "

", "refs": { @@ -1314,6 +1408,12 @@ "ResetClusterParameterGroupMessage$Parameters": "

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.

" } }, + "PendingActionsList": { + "base": null, + "refs": { + "Cluster$PendingActions": "

Cluster operations that are waiting to be started.

" + } + }, "PendingModifiedValues": { "base": "

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.

", "refs": { @@ -1356,6 +1456,7 @@ "ReservedNode": { "base": "

Describes a reserved node. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node offerings.

", "refs": { + "AcceptReservedNodeExchangeOutputMessage$ExchangedReservedNode": null, "PurchaseReservedNodeOfferingResult$ReservedNode": null, "ReservedNodeList$member": null } @@ -1365,6 +1466,11 @@ "refs": { } }, + "ReservedNodeAlreadyMigratedFault": { + "base": "

Indicates that the reserved node has already been exchanged.

", + "refs": { + } + }, "ReservedNodeList": { "base": null, "refs": { @@ -1385,6 +1491,7 @@ "ReservedNodeOfferingList": { "base": null, "refs": { + "GetReservedNodeExchangeOfferingsOutputMessage$ReservedNodeOfferings": "

Returns an array of ReservedNodeOffering objects.

", "ReservedNodeOfferingsMessage$ReservedNodeOfferings": "

A list of ReservedNodeOffering objects.

" } }, @@ -1393,6 +1500,13 @@ "refs": { } }, + "ReservedNodeOfferingType": { + "base": null, + "refs": { + "ReservedNode$ReservedNodeOfferingType": null, + "ReservedNodeOffering$ReservedNodeOfferingType": null + } + }, "ReservedNodeOfferingsMessage": { "base": "

", "refs": { @@ -1460,6 +1574,18 @@ "refs": { } }, + "RevisionTarget": { + "base": "

Describes a RevisionTarget.

", + "refs": { + "RevisionTargetsList$member": null + } + }, + "RevisionTargetsList": { + "base": null, + "refs": { + "ClusterDbRevision$RevisionTargets": "

A list of RevisionTarget objects, where each object describes the database revision that a cluster can be updated to.

" + } + }, "RevokeClusterSecurityGroupIngressMessage": { "base": "

", "refs": { @@ -1604,6 +1730,8 @@ "String": { "base": null, "refs": { + "AcceptReservedNodeExchangeInputMessage$ReservedNodeId": "

A string representing the node identifier of the DC1 Reserved Node to be exchanged.

", + "AcceptReservedNodeExchangeInputMessage$TargetReservedNodeOfferingId": "

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

", "AccountWithRestoreAccess$AccountId": "

The identifier of an AWS customer account authorized to restore a snapshot.

", "AccountWithRestoreAccess$AccountAlias": "

The identifier of an AWS support account authorized to restore a snapshot. For AWS support, the identifier is amazon-redshift-support.

", "AuthorizeClusterSecurityGroupIngressMessage$ClusterSecurityGroupName": "

The name of the security group to which the ingress rule is added.

", @@ -1628,7 +1756,11 @@ "Cluster$ClusterPublicKey": "

The public key for the cluster.

", "Cluster$ClusterRevisionNumber": "

The specific revision number of the database in the cluster.

", "Cluster$KmsKeyId": "

The AWS Key Management Service (AWS KMS) key ID of the encryption key used to encrypt data in the cluster.

", + "Cluster$MaintenanceTrackName": "

The name of the maintenance track for the cluster.

", "ClusterCredentials$DbUser": "

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.

", + "ClusterDbRevision$ClusterIdentifier": "

The unique identifier of the cluster.

", + "ClusterDbRevision$CurrentDatabaseRevision": "

A string representing the current cluster version.

", + "ClusterDbRevisionsMessage$Marker": "

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.

", "ClusterIamRole$IamRoleArn": "

The Amazon Resource Name (ARN) of the IAM role, for example, arn:aws:iam::123456789012:role/RedshiftCopyUnload.

", "ClusterIamRole$ApplyStatus": "

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.

", "ClusterNode$NodeRole": "

Whether the node is a leader node or a compute node.

", @@ -1670,8 +1802,8 @@ "CreateClusterMessage$DBName": "

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.

", "CreateClusterMessage$ClusterIdentifier": "

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

", "CreateClusterMessage$ClusterType": "

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

", - "CreateClusterMessage$NodeType": "

The node type to be provisioned for the cluster. For information about node types, go to Working with Clusters in the Amazon Redshift Cluster Management Guide.

Valid Values: ds1.xlarge | ds1.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge.

", - "CreateClusterMessage$MasterUsername": "

The user name associated with the master user account for the cluster that is being created.

Constraints:

  • Must be 1 - 128 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

", + "CreateClusterMessage$NodeType": "

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

", + "CreateClusterMessage$MasterUsername": "

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.

", "CreateClusterMessage$MasterUserPassword": "

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.

", "CreateClusterMessage$ClusterSubnetGroupName": "

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).

", "CreateClusterMessage$AvailabilityZone": "

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.

", @@ -1683,6 +1815,7 @@ "CreateClusterMessage$ElasticIp": "

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.

", "CreateClusterMessage$KmsKeyId": "

The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.

", "CreateClusterMessage$AdditionalInfo": "

Reserved.

", + "CreateClusterMessage$MaintenanceTrackName": "

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.

", "CreateClusterParameterGroupMessage$ParameterGroupName": "

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.

", "CreateClusterParameterGroupMessage$ParameterGroupFamily": "

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\".

", "CreateClusterParameterGroupMessage$Description": "

A description of the parameter group.

", @@ -1721,6 +1854,8 @@ "DeleteHsmConfigurationMessage$HsmConfigurationIdentifier": "

The identifier of the Amazon Redshift HSM configuration to be deleted.

", "DeleteSnapshotCopyGrantMessage$SnapshotCopyGrantName": "

The name of the snapshot copy grant to delete.

", "DeleteTagsMessage$ResourceName": "

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.

", + "DescribeClusterDbRevisionsMessage$ClusterIdentifier": "

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.

", + "DescribeClusterDbRevisionsMessage$Marker": "

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$ParameterGroupName": "

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.

", "DescribeClusterParameterGroupsMessage$Marker": "

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.

", "DescribeClusterParametersMessage$ParameterGroupName": "

The name of a cluster parameter group for which to return details.

", @@ -1735,6 +1870,8 @@ "DescribeClusterSnapshotsMessage$OwnerAccount": "

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.

", "DescribeClusterSubnetGroupsMessage$ClusterSubnetGroupName": "

The name of the cluster subnet group for which information is requested.

", "DescribeClusterSubnetGroupsMessage$Marker": "

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.

", + "DescribeClusterTracksMessage$MaintenanceTrackName": "

The name of the maintenance track.

", + "DescribeClusterTracksMessage$Marker": "

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$ClusterVersion": "

The specific cluster version to return.

Example: 1.0

", "DescribeClusterVersionsMessage$ClusterParameterGroupFamily": "

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

", "DescribeClusterVersionsMessage$Marker": "

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.

", @@ -1799,9 +1936,12 @@ "EventSubscription$Severity": "

The event severity specified in the Amazon Redshift event notification subscription.

Values: ERROR, INFO

", "EventSubscriptionsMessage$Marker": "

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.

", "EventsMessage$Marker": "

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.

", - "GetClusterCredentialsMessage$DbUser": "

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

  • 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.

", + "GetClusterCredentialsMessage$DbUser": "

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.

", "GetClusterCredentialsMessage$DbName": "

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.

", "GetClusterCredentialsMessage$ClusterIdentifier": "

The unique identifier of the cluster that contains the database for which your are requesting credentials. This parameter is case sensitive.

", + "GetReservedNodeExchangeOfferingsInputMessage$ReservedNodeId": "

A string representing the node identifier for the DC1 Reserved Node to be exchanged.

", + "GetReservedNodeExchangeOfferingsInputMessage$Marker": "

A value that indicates the starting point for the next set of ReservedNodeOfferings.

", + "GetReservedNodeExchangeOfferingsOutputMessage$Marker": "

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.

", "HsmClientCertificate$HsmClientCertificateIdentifier": "

The identifier of the HSM client certificate.

", "HsmClientCertificate$HsmClientCertificatePublicKey": "

The public key that the Amazon Redshift cluster will use to connect to the HSM. You must register the public key in the HSM.

", "HsmClientCertificateMessage$Marker": "

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.

", @@ -1822,10 +1962,14 @@ "LoggingStatus$BucketName": "

The name of the S3 bucket where the log files are stored.

", "LoggingStatus$S3KeyPrefix": "

The prefix applied to the log file names.

", "LoggingStatus$LastFailureMessage": "

The message indicating that logs failed to be delivered.

", + "MaintenanceTrack$MaintenanceTrackName": "

The name of the maintenance track. Possible values are current and trailing.

", + "MaintenanceTrack$DatabaseVersion": "

The version number for the cluster release.

", + "ModifyClusterDbRevisionMessage$ClusterIdentifier": "

The unique identifier of a cluster whose database revision you want to modify.

Example: examplecluster

", + "ModifyClusterDbRevisionMessage$RevisionTarget": "

The identifier of the database revision. You can retrieve this value from the response to the DescribeClusterDbRevisions request.

", "ModifyClusterIamRolesMessage$ClusterIdentifier": "

The unique identifier of the cluster for which you want to associate or disassociate IAM roles.

", "ModifyClusterMessage$ClusterIdentifier": "

The unique identifier of the cluster to be modified.

Example: examplecluster

", "ModifyClusterMessage$ClusterType": "

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

", - "ModifyClusterMessage$NodeType": "

The new node type of the cluster. If you specify a new node type, you must also specify the number of nodes parameter.

When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the new connection is complete, the original access permissions for the cluster are restored. You can use DescribeResize to track the progress of the resize request.

Valid Values: ds1.xlarge | ds1.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge.

", + "ModifyClusterMessage$NodeType": "

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

", "ModifyClusterMessage$MasterUserPassword": "

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.

", "ModifyClusterMessage$ClusterParameterGroupName": "

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.

", "ModifyClusterMessage$PreferredMaintenanceWindow": "

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.

", @@ -1834,6 +1978,7 @@ "ModifyClusterMessage$HsmConfigurationIdentifier": "

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.

", "ModifyClusterMessage$NewClusterIdentifier": "

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

", "ModifyClusterMessage$ElasticIp": "

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.

", + "ModifyClusterMessage$MaintenanceTrackName": "

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.

", "ModifyClusterParameterGroupMessage$ParameterGroupName": "

The name of the parameter group to be modified.

", "ModifyClusterSubnetGroupMessage$ClusterSubnetGroupName": "

The name of the subnet group to be modified.

", "ModifyClusterSubnetGroupMessage$Description": "

A text description of the subnet group to be modified.

", @@ -1853,11 +1998,13 @@ "Parameter$DataType": "

The data type of the parameter.

", "Parameter$AllowedValues": "

The valid range of values for the parameter.

", "Parameter$MinimumEngineVersion": "

The earliest engine version to which the parameter can apply.

", + "PendingActionsList$member": null, "PendingModifiedValues$MasterUserPassword": "

The pending or in-progress change of the master user password for the cluster.

", "PendingModifiedValues$NodeType": "

The pending or in-progress change of the cluster's node type.

", "PendingModifiedValues$ClusterType": "

The pending or in-progress change of the cluster type.

", "PendingModifiedValues$ClusterVersion": "

The pending or in-progress change of the service version.

", "PendingModifiedValues$ClusterIdentifier": "

The pending or in-progress change of the new identifier for the cluster.

", + "PendingModifiedValues$MaintenanceTrackName": "

The name of the maintenance track that the cluster will change to during the next maintenance window.

", "PurchaseReservedNodeOfferingMessage$ReservedNodeOfferingId": "

The unique identifier of the reserved node offering you want to purchase.

", "RebootClusterMessage$ClusterIdentifier": "

The cluster identifier.

", "RecurringCharge$RecurringChargeFrequency": "

The frequency at which the recurring charge amount is applied.

", @@ -1865,7 +2012,7 @@ "ReservedNode$ReservedNodeOfferingId": "

The identifier for the reserved node offering.

", "ReservedNode$NodeType": "

The node type of the reserved node.

", "ReservedNode$CurrencyCode": "

The currency code for the reserved cluster.

", - "ReservedNode$State": "

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.

", + "ReservedNode$State": "

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.

", "ReservedNode$OfferingType": "

The anticipated utilization of the reserved node, as defined in the reserved node offering.

", "ReservedNodeOffering$ReservedNodeOfferingId": "

The offering identifier.

", "ReservedNodeOffering$NodeType": "

The node type offered by the reserved node offering.

", @@ -1890,8 +2037,9 @@ "RestoreFromClusterSnapshotMessage$ClusterParameterGroupName": "

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.

", "RestoreFromClusterSnapshotMessage$PreferredMaintenanceWindow": "

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.

", "RestoreFromClusterSnapshotMessage$KmsKeyId": "

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.

", - "RestoreFromClusterSnapshotMessage$NodeType": "

The node type that the restored cluster will be provisioned with.

Default: The node type of the cluster from which the snapshot was taken. You can modify this if you are using any DS node type. In that case, you can choose to restore into another DS node type of the same size. For example, you can restore ds1.8xlarge into ds2.8xlarge, or ds2.xlarge into ds1.xlarge. If you have a DC instance type, you must restore into that same instance type and size. In other words, you can only restore a dc1.large instance type into another dc1.large instance type. For more information about node types, see About Clusters and Nodes in the Amazon Redshift Cluster Management Guide

", + "RestoreFromClusterSnapshotMessage$NodeType": "

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.

", "RestoreFromClusterSnapshotMessage$AdditionalInfo": "

Reserved.

", + "RestoreFromClusterSnapshotMessage$MaintenanceTrackName": "

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.

", "RestoreStatus$Status": "

The status of the restore action. Returns starting, restoring, completed, or failed.

", "RestoreTableFromClusterSnapshotMessage$ClusterIdentifier": "

The identifier of the Amazon Redshift cluster to restore the table to.

", "RestoreTableFromClusterSnapshotMessage$SnapshotIdentifier": "

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.

", @@ -1901,6 +2049,8 @@ "RestoreTableFromClusterSnapshotMessage$TargetDatabaseName": "

The name of the database to restore the table to.

", "RestoreTableFromClusterSnapshotMessage$TargetSchemaName": "

The name of the schema to restore the table to.

", "RestoreTableFromClusterSnapshotMessage$NewTableName": "

The name of the table to create as a result of the current request.

", + "RevisionTarget$DatabaseRevision": "

A unique string that identifies the version to update the cluster to. You can use this value in ModifyClusterDbRevision.

", + "RevisionTarget$Description": "

A string that describes the changes and features that will be applied to the cluster when it is updated to the corresponding ClusterDbRevision.

", "RevokeClusterSecurityGroupIngressMessage$ClusterSecurityGroupName": "

The name of the security Group from which to revoke the ingress rule.

", "RevokeClusterSecurityGroupIngressMessage$CIDRIP": "

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.

", "RevokeClusterSecurityGroupIngressMessage$EC2SecurityGroupName": "

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.

", @@ -1922,6 +2072,7 @@ "Snapshot$KmsKeyId": "

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.

", "Snapshot$OwnerAccount": "

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.

", "Snapshot$SourceRegion": "

The source region from which the snapshot was copied.

", + "Snapshot$MaintenanceTrackName": "

The name of the maintenance track for the snapshot.

", "SnapshotCopyGrant$SnapshotCopyGrantName": "

The name of the snapshot copy grant.

", "SnapshotCopyGrant$KmsKeyId": "

The unique identifier of the customer master key (CMK) in AWS KMS to which Amazon Redshift is granted permission.

", "SnapshotCopyGrantMessage$Marker": "

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.

", @@ -1930,6 +2081,7 @@ "Subnet$SubnetIdentifier": "

The identifier of the subnet.

", "Subnet$SubnetStatus": "

The status of the subnet.

", "SubnetIdentifierList$member": null, + "SupportedPlatform$Name": null, "TableRestoreStatus$TableRestoreRequestId": "

The unique identifier for the table restore request.

", "TableRestoreStatus$Message": "

A description of the status of the table restore request. Status values include SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS.

", "TableRestoreStatus$ClusterIdentifier": "

The identifier of the Amazon Redshift cluster that the table is being restored to.

", @@ -1948,6 +2100,9 @@ "TaggedResource$ResourceName": "

The Amazon Resource Name (ARN) with which the tag is associated. For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.

", "TaggedResource$ResourceType": "

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.

", "TaggedResourceListMessage$Marker": "

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.

", + "TrackListMessage$Marker": "

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.

", + "UpdateTarget$MaintenanceTrackName": "

The name of the new maintenance track.

", + "UpdateTarget$DatabaseVersion": "

The cluster version for the new maintenance track.

", "VpcSecurityGroupIdList$member": null, "VpcSecurityGroupMembership$VpcSecurityGroupId": "

The identifier of the VPC security group.

", "VpcSecurityGroupMembership$Status": "

The status of the VPC security group.

" @@ -2002,11 +2157,24 @@ "refs": { } }, + "SupportedPlatform": { + "base": "

A list of supported platforms for orderable clusters.

", + "refs": { + "SupportedPlatformsList$member": null + } + }, + "SupportedPlatformsList": { + "base": null, + "refs": { + "AvailabilityZone$SupportedPlatforms": null + } + }, "TStamp": { "base": null, "refs": { "Cluster$ClusterCreateTime": "

The date and time that the cluster was created.

", "ClusterCredentials$Expiration": "

The date and time the password in DbPassword expires.

", + "ClusterDbRevision$DatabaseRevisionReleaseDate": "

The date on which the database revision was released.

", "DescribeClusterSnapshotsMessage$StartTime": "

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

", "DescribeClusterSnapshotsMessage$EndTime": "

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

", "DescribeEventsMessage$StartTime": "

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

", @@ -2016,11 +2184,17 @@ "LoggingStatus$LastSuccessfulDeliveryTime": "

The last time that logs were delivered.

", "LoggingStatus$LastFailureTime": "

The last time when logs failed to be delivered.

", "ReservedNode$StartTime": "

The time the reservation started. You purchase a reserved node offering for a duration. This is the start time of that duration.

", + "RevisionTarget$DatabaseRevisionReleaseDate": "

The date on which the database revision was released.

", "Snapshot$SnapshotCreateTime": "

The time (UTC) when Amazon Redshift began the snapshot. A snapshot contains a copy of the cluster data as of this exact time.

", "Snapshot$ClusterCreateTime": "

The time (UTC) when the cluster was originally created.

", "TableRestoreStatus$RequestTime": "

The time that the table restore request was made, in Universal Coordinated Time (UTC).

" } }, + "TableLimitExceededFault": { + "base": "

The number of tables in the cluster exceeds the limit for the requested new cluster node type.

", + "refs": { + } + }, "TableRestoreNotFoundFault": { "base": "

The specified TableRestoreRequestId value was not found.

", "refs": { @@ -2074,7 +2248,7 @@ } }, "TagLimitExceededFault": { - "base": "

The request exceeds the limit of 10 tags for the resource.

", + "base": "

The number of tables in your source cluster exceeds the limit for the target cluster. Resize to a larger cluster node type.

", "refs": { } }, @@ -2136,6 +2310,17 @@ "refs": { } }, + "TrackList": { + "base": null, + "refs": { + "TrackListMessage$MaintenanceTracks": "

A list of maintenance tracks output by the DescribeClusterTracks operation.

" + } + }, + "TrackListMessage": { + "base": null, + "refs": { + } + }, "UnauthorizedOperation": { "base": "

Your account is not authorized to perform the requested operation.

", "refs": { @@ -2156,11 +2341,17 @@ "refs": { } }, + "UpdateTarget": { + "base": "

A maintenance track that you can switch the current track to.

", + "refs": { + "EligibleTracksToUpdateList$member": null + } + }, "VpcSecurityGroupIdList": { "base": null, "refs": { "CreateClusterMessage$VpcSecurityGroupIds": "

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.

", - "ModifyClusterMessage$VpcSecurityGroupIds": "

A list of virtual private cloud (VPC) security groups to be associated with the cluster.

", + "ModifyClusterMessage$VpcSecurityGroupIds": "

A list of virtual private cloud (VPC) security groups to be associated with the cluster. This change is asynchronously applied as soon as possible.

", "RestoreFromClusterSnapshotMessage$VpcSecurityGroupIds": "

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.

" } }, diff --git a/models/apis/redshift/2012-12-01/smoke.json b/models/apis/redshift/2012-12-01/smoke.json new file mode 100644 index 00000000000..f3c1fa669ca --- /dev/null +++ b/models/apis/redshift/2012-12-01/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeClusterVersions", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeClusters", + "input": { + "ClusterIdentifier": "fake-cluster" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/rekognition/2016-06-27/docs-2.json b/models/apis/rekognition/2016-06-27/docs-2.json index 4a850d5c098..2ca436b96d2 100644 --- a/models/apis/rekognition/2016-06-27/docs-2.json +++ b/models/apis/rekognition/2016-06-27/docs-2.json @@ -1,1389 +1,1389 @@ { - "version": "2.0", - "service": "

This is the Amazon Rekognition API reference.

", - "operations": { - "CompareFaces": "

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 faces-compare-images.

This operation requires permissions to perform the rekognition:CompareFaces action.

", - "CreateCollection": "

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": "

Creates an Amazon Rekognition stream processor that you can use to detect and recognize faces in a streaming video.

Rekognition Video is a consumer of live video from Amazon Kinesis Video Streams. 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": "

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": "

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": "

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.

", - "DescribeStreamProcessor": "

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": "

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.

For an example, see procedure-detecting-faces-in-images.

This operation requires permissions to perform the rekognition:DetectFaces action.

", - "DetectLabels": "

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 images-s3.

DetectLabels does not support the detection of activities. However, activity detection is supported for label detection in videos. For more information, see .

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": "

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 moderation.

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": "

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 +/- 30 degrees orientation of the horizontal axis.

For more information, see text-detection.

", - "GetCelebrityInfo": "

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 get-celebrity-info-procedure.

This operation requires permissions to perform the rekognition:GetCelebrityInfo action.

", - "GetCelebrityRecognition": "

Gets the celebrity recognition results for a 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, 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 video.

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.

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": "

Gets the content moderation analysis results for a 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, 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 video.

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 moderation.

", - "GetFaceDetection": "

Gets face detection results for a Rekognition Video analysis started by .

Face detection with Rekognition Video is an asynchronous operation. You start face detection by calling which returns a job identifier (JobId). When the face detection operation finishes, 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": "

Gets the face search results for 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, 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 collections.

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 for the matched person, and the time the person was matched in the video.

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": "

Gets the label detection results of a 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": "

Gets the person tracking results of a 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, 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.

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": "

Detects faces in the input image and adds them to the specified collection.

Amazon Rekognition does not save the actual faces detected. Instead, the underlying detection algorithm first detects the faces in the input image, and for each face extracts facial features into a feature vector, and stores it in the back-end database. Amazon Rekognition uses feature vectors when performing face match and search operations using the and operations.

If you 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, check the the value of FaceModelVersion in the response from IndexFaces. For more information, see face-detection-model.

If you provide the optional ExternalImageID for the input image you provided, Amazon Rekognition associates this ID with all faces that it detects. When you call the operation, the response returns the external ID. You can use this external image ID to create a client-side index to associate the faces with each image. You can then use the index to find all faces in an image.

In response, the operation returns an array of metadata for all detected faces. This includes, the bounding box of the detected face, confidence value (indicating the bounding box contains a face), a face ID assigned by the service for each face that is detected and stored, and an image ID assigned by the service for the input image. If you request all facial attributes (using the detectionAttributes parameter, Amazon Rekognition returns detailed facial attributes such as facial landmarks (for example, location of eye and mount) and other facial attributes such gender. If you provide the same image, specify the same collection, and use the same external ID in the IndexFaces operation, Amazon Rekognition doesn't save duplicate face metadata.

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": "

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 list-collection-procedure.

This operation requires permissions to perform the rekognition:ListCollections action.

", - "ListFaces": "

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 list-faces-in-collection-procedure.

This operation requires permissions to perform the rekognition:ListFaces action.

", - "ListStreamProcessors": "

Gets a list of stream processors that you have created with .

", - "RecognizeCelebrities": "

Returns an array of celebrities recognized in the input image. For more information, see celebrities.

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 celebrities-procedure-image.

This operation requires permissions to perform the rekognition:RecognizeCelebrities operation.

", - "SearchFaces": "

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 search-face-with-id-procedure.

This operation requires permissions to perform the rekognition:SearchFaces action.

", - "SearchFacesByImage": "

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, see search-face-with-image-procedure.

This operation requires permissions to perform the rekognition:SearchFacesByImage action.

", - "StartCelebrityRecognition": "

Starts asynchronous recognition of celebrities in a stored video.

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, 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 celebrities.

", - "StartContentModeration": "

Starts asynchronous detection of explicit or suggestive adult content in a stored video.

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, 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 moderation.

", - "StartFaceDetection": "

Starts asynchronous detection of faces in a stored video.

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, 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 faces-video.

", - "StartFaceSearch": "

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, 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 collections-search-person.

", - "StartLabelDetection": "

Starts asynchronous detection of labels in a stored video.

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, 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.

", - "StartPersonTracking": "

Starts the asynchronous tracking of persons in a stored video.

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.

", - "StartStreamProcessor": "

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": "

Stops a running stream processor that was created by .

" + "version":"2.0", + "service":"

This is the Amazon Rekognition API reference.

", + "operations":{ + "CompareFaces":"

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":"

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":"

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":"

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":"

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":"

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.

", + "DescribeStreamProcessor":"

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":"

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":"

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":"

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":"

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 +/- 30 degrees orientation of the horizontal axis.

For more information, see DetectText in the Amazon Rekognition Developer Guide.

", + "GetCelebrityInfo":"

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":"

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":"

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":"

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":"

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":"

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":"

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":"

Detects faces in the input image and adds them to the specified collection.

Amazon Rekognition does not save the actual faces detected. Instead, the underlying detection algorithm first detects the faces in the input image, and for each face extracts facial features into a feature vector, and stores it in the back-end database. Amazon Rekognition uses feature vectors when performing face match and search operations using the and operations.

If you 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, check the 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 mount) and other facial attributes such gender. If you provide the same image, specify the same collection, and use the same external ID in the IndexFaces operation, Amazon Rekognition doesn't save duplicate face metadata.

For 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":"

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":"

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":"

Gets a list of stream processors that you have created with .

", + "RecognizeCelebrities":"

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":"

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":"

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":"

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.

", + "StartContentModeration":"

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.

", + "StartFaceDetection":"

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.

", + "StartFaceSearch":"

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 collections-search-person.

", + "StartLabelDetection":"

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.

", + "StartPersonTracking":"

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.

", + "StartStreamProcessor":"

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":"

Stops a running stream processor that was created by .

" }, - "shapes": { - "AccessDeniedException": { - "base": "

You are not authorized to perform the action.

", - "refs": { + "shapes":{ + "AccessDeniedException":{ + "base":"

You are not authorized to perform the action.

", + "refs":{ } }, - "AgeRange": { - "base": "

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.

", - "refs": { - "FaceDetail$AgeRange": "

The estimated age range, in years, for the face. Low represents the lowest estimated age and High represents the highest estimated age.

" + "AgeRange":{ + "base":"

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.

", + "refs":{ + "FaceDetail$AgeRange":"

The estimated age range, in years, for the face. Low represents the lowest estimated age and High represents the highest estimated age.

" } }, - "Attribute": { - "base": null, - "refs": { - "Attributes$member": null + "Attribute":{ + "base":null, + "refs":{ + "Attributes$member":null } }, - "Attributes": { - "base": null, - "refs": { - "DetectFacesRequest$Attributes": "

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).

", - "IndexFacesRequest$DetectionAttributes": "

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).

" + "Attributes":{ + "base":null, + "refs":{ + "DetectFacesRequest$Attributes":"

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).

", + "IndexFacesRequest$DetectionAttributes":"

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).

" } }, - "Beard": { - "base": "

Indicates whether or not the face has a beard, and the confidence level in the determination.

", - "refs": { - "FaceDetail$Beard": "

Indicates whether or not the face has a beard, and the confidence level in the determination.

" + "Beard":{ + "base":"

Indicates whether or not the face has a beard, and the confidence level in the determination.

", + "refs":{ + "FaceDetail$Beard":"

Indicates whether or not the face has a beard, and the confidence level in the determination.

" } }, - "Boolean": { - "base": null, - "refs": { - "Beard$Value": "

Boolean value that indicates whether the face has beard or not.

", - "EyeOpen$Value": "

Boolean value that indicates whether the eyes on the face are open.

", - "Eyeglasses$Value": "

Boolean value that indicates whether the face is wearing eye glasses or not.

", - "MouthOpen$Value": "

Boolean value that indicates whether the mouth on the face is open or not.

", - "Mustache$Value": "

Boolean value that indicates whether the face has mustache or not.

", - "Smile$Value": "

Boolean value that indicates whether the face is smiling or not.

", - "Sunglasses$Value": "

Boolean value that indicates whether the face is wearing sunglasses or not.

" + "Boolean":{ + "base":null, + "refs":{ + "Beard$Value":"

Boolean value that indicates whether the face has beard or not.

", + "EyeOpen$Value":"

Boolean value that indicates whether the eyes on the face are open.

", + "Eyeglasses$Value":"

Boolean value that indicates whether the face is wearing eye glasses or not.

", + "MouthOpen$Value":"

Boolean value that indicates whether the mouth on the face is open or not.

", + "Mustache$Value":"

Boolean value that indicates whether the face has mustache or not.

", + "Smile$Value":"

Boolean value that indicates whether the face is smiling or not.

", + "Sunglasses$Value":"

Boolean value that indicates whether the face is wearing sunglasses or not.

" } }, - "BoundingBox": { - "base": "

Identifies the bounding box around the object, 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.

", - "refs": { - "CelebrityDetail$BoundingBox": "

Bounding box around the body of a celebrity.

", - "ComparedFace$BoundingBox": "

Bounding box of the face.

", - "ComparedSourceImageFace$BoundingBox": "

Bounding box of the face.

", - "Face$BoundingBox": "

Bounding box of the face.

", - "FaceDetail$BoundingBox": "

Bounding box of the face.

", - "Geometry$BoundingBox": "

An axis-aligned coarse representation of the detected text's location on the image.

", - "PersonDetail$BoundingBox": "

Bounding box around the detected person.

", - "SearchFacesByImageResponse$SearchedFaceBoundingBox": "

The bounding box around the face in the input image that Amazon Rekognition used for the search.

" + "BoundingBox":{ + "base":"

Identifies the bounding box around the object, 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.

", + "refs":{ + "CelebrityDetail$BoundingBox":"

Bounding box around the body of a celebrity.

", + "ComparedFace$BoundingBox":"

Bounding box of the face.

", + "ComparedSourceImageFace$BoundingBox":"

Bounding box of the face.

", + "Face$BoundingBox":"

Bounding box of the face.

", + "FaceDetail$BoundingBox":"

Bounding box of the face. Default attribute.

", + "Geometry$BoundingBox":"

An axis-aligned coarse representation of the detected text's location on the image.

", + "PersonDetail$BoundingBox":"

Bounding box around the detected person.

", + "SearchFacesByImageResponse$SearchedFaceBoundingBox":"

The bounding box around the face in the input image that Amazon Rekognition used for the search.

" } }, - "Celebrity": { - "base": "

Provides information about a celebrity recognized by the operation.

", - "refs": { - "CelebrityList$member": null + "Celebrity":{ + "base":"

Provides information about a celebrity recognized by the operation.

", + "refs":{ + "CelebrityList$member":null } }, - "CelebrityDetail": { - "base": "

Information about a recognized celebrity.

", - "refs": { - "CelebrityRecognition$Celebrity": "

Information about a recognized celebrity.

" + "CelebrityDetail":{ + "base":"

Information about a recognized celebrity.

", + "refs":{ + "CelebrityRecognition$Celebrity":"

Information about a recognized celebrity.

" } }, - "CelebrityList": { - "base": null, - "refs": { - "RecognizeCelebritiesResponse$CelebrityFaces": "

Details about each celebrity found in the image. Amazon Rekognition can detect a maximum of 15 celebrities in an image.

" + "CelebrityList":{ + "base":null, + "refs":{ + "RecognizeCelebritiesResponse$CelebrityFaces":"

Details about each celebrity found in the image. Amazon Rekognition can detect a maximum of 15 celebrities in an image.

" } }, - "CelebrityRecognition": { - "base": "

Information about a detected celebrity and the time the celebrity was detected in a stored video. For more information, see .

", - "refs": { - "CelebrityRecognitions$member": null + "CelebrityRecognition":{ + "base":"

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.

", + "refs":{ + "CelebrityRecognitions$member":null } }, - "CelebrityRecognitionSortBy": { - "base": null, - "refs": { - "GetCelebrityRecognitionRequest$SortBy": "

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.

" + "CelebrityRecognitionSortBy":{ + "base":null, + "refs":{ + "GetCelebrityRecognitionRequest$SortBy":"

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.

" } }, - "CelebrityRecognitions": { - "base": null, - "refs": { - "GetCelebrityRecognitionResponse$Celebrities": "

Array of celebrities recognized in the video.

" + "CelebrityRecognitions":{ + "base":null, + "refs":{ + "GetCelebrityRecognitionResponse$Celebrities":"

Array of celebrities recognized in the video.

" } }, - "ClientRequestToken": { - "base": null, - "refs": { - "StartCelebrityRecognitionRequest$ClientRequestToken": "

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.

", - "StartContentModerationRequest$ClientRequestToken": "

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.

", - "StartFaceDetectionRequest$ClientRequestToken": "

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.

", - "StartFaceSearchRequest$ClientRequestToken": "

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.

", - "StartLabelDetectionRequest$ClientRequestToken": "

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.

", - "StartPersonTrackingRequest$ClientRequestToken": "

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.

" + "ClientRequestToken":{ + "base":null, + "refs":{ + "StartCelebrityRecognitionRequest$ClientRequestToken":"

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.

", + "StartContentModerationRequest$ClientRequestToken":"

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.

", + "StartFaceDetectionRequest$ClientRequestToken":"

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.

", + "StartFaceSearchRequest$ClientRequestToken":"

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.

", + "StartLabelDetectionRequest$ClientRequestToken":"

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.

", + "StartPersonTrackingRequest$ClientRequestToken":"

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.

" } }, - "CollectionId": { - "base": null, - "refs": { - "CollectionIdList$member": null, - "CreateCollectionRequest$CollectionId": "

ID for the collection that you are creating.

", - "DeleteCollectionRequest$CollectionId": "

ID of the collection to delete.

", - "DeleteFacesRequest$CollectionId": "

Collection from which to remove the specific faces.

", - "FaceSearchSettings$CollectionId": "

The ID of a collection that contains faces that you want to search for.

", - "IndexFacesRequest$CollectionId": "

The ID of an existing collection to which you want to add the faces that are detected in the input images.

", - "ListFacesRequest$CollectionId": "

ID of the collection from which to list the faces.

", - "SearchFacesByImageRequest$CollectionId": "

ID of the collection to search.

", - "SearchFacesRequest$CollectionId": "

ID of the collection the face belongs to.

", - "StartFaceSearchRequest$CollectionId": "

ID of the collection that contains the faces you want to search for.

" + "CollectionId":{ + "base":null, + "refs":{ + "CollectionIdList$member":null, + "CreateCollectionRequest$CollectionId":"

ID for the collection that you are creating.

", + "DeleteCollectionRequest$CollectionId":"

ID of the collection to delete.

", + "DeleteFacesRequest$CollectionId":"

Collection from which to remove the specific faces.

", + "FaceSearchSettings$CollectionId":"

The ID of a collection that contains faces that you want to search for.

", + "IndexFacesRequest$CollectionId":"

The ID of an existing collection to which you want to add the faces that are detected in the input images.

", + "ListFacesRequest$CollectionId":"

ID of the collection from which to list the faces.

", + "SearchFacesByImageRequest$CollectionId":"

ID of the collection to search.

", + "SearchFacesRequest$CollectionId":"

ID of the collection the face belongs to.

", + "StartFaceSearchRequest$CollectionId":"

ID of the collection that contains the faces you want to search for.

" } }, - "CollectionIdList": { - "base": null, - "refs": { - "ListCollectionsResponse$CollectionIds": "

An array of collection IDs.

" + "CollectionIdList":{ + "base":null, + "refs":{ + "ListCollectionsResponse$CollectionIds":"

An array of collection IDs.

" } }, - "CompareFacesMatch": { - "base": "

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.

", - "refs": { - "CompareFacesMatchList$member": null + "CompareFacesMatch":{ + "base":"

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.

", + "refs":{ + "CompareFacesMatchList$member":null } }, - "CompareFacesMatchList": { - "base": null, - "refs": { - "CompareFacesResponse$FaceMatches": "

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.

" + "CompareFacesMatchList":{ + "base":null, + "refs":{ + "CompareFacesResponse$FaceMatches":"

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.

" } }, - "CompareFacesRequest": { - "base": null, - "refs": { + "CompareFacesRequest":{ + "base":null, + "refs":{ } }, - "CompareFacesResponse": { - "base": null, - "refs": { + "CompareFacesResponse":{ + "base":null, + "refs":{ } }, - "CompareFacesUnmatchList": { - "base": null, - "refs": { - "CompareFacesResponse$UnmatchedFaces": "

An array of faces in the target image that did not match the source image face.

" + "CompareFacesUnmatchList":{ + "base":null, + "refs":{ + "CompareFacesResponse$UnmatchedFaces":"

An array of faces in the target image that did not match the source image face.

" } }, - "ComparedFace": { - "base": "

Provides face metadata for target image faces that are analysed by CompareFaces and RecognizeCelebrities.

", - "refs": { - "Celebrity$Face": "

Provides information about the celebrity's face, such as its location on the image.

", - "CompareFacesMatch$Face": "

Provides face metadata (bounding box and confidence that the bounding box actually contains a face).

", - "CompareFacesUnmatchList$member": null, - "ComparedFaceList$member": null + "ComparedFace":{ + "base":"

Provides face metadata for target image faces that are analysed by CompareFaces and RecognizeCelebrities.

", + "refs":{ + "Celebrity$Face":"

Provides information about the celebrity's face, such as its location on the image.

", + "CompareFacesMatch$Face":"

Provides face metadata (bounding box and confidence that the bounding box actually contains a face).

", + "CompareFacesUnmatchList$member":null, + "ComparedFaceList$member":null } }, - "ComparedFaceList": { - "base": null, - "refs": { - "RecognizeCelebritiesResponse$UnrecognizedFaces": "

Details about each unrecognized face in the image.

" + "ComparedFaceList":{ + "base":null, + "refs":{ + "RecognizeCelebritiesResponse$UnrecognizedFaces":"

Details about each unrecognized face in the image.

" } }, - "ComparedSourceImageFace": { - "base": "

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.

", - "refs": { - "CompareFacesResponse$SourceImageFace": "

The face in the source image that was used for comparison.

" + "ComparedSourceImageFace":{ + "base":"

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.

", + "refs":{ + "CompareFacesResponse$SourceImageFace":"

The face in the source image that was used for comparison.

" } }, - "ContentModerationDetection": { - "base": "

Information about a moderation label detection in a stored video.

", - "refs": { - "ContentModerationDetections$member": null + "ContentModerationDetection":{ + "base":"

Information about a moderation label detection in a stored video.

", + "refs":{ + "ContentModerationDetections$member":null } }, - "ContentModerationDetections": { - "base": null, - "refs": { - "GetContentModerationResponse$ModerationLabels": "

The detected moderation labels and the time(s) they were detected.

" + "ContentModerationDetections":{ + "base":null, + "refs":{ + "GetContentModerationResponse$ModerationLabels":"

The detected moderation labels and the time(s) they were detected.

" } }, - "ContentModerationSortBy": { - "base": null, - "refs": { - "GetContentModerationRequest$SortBy": "

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.

" + "ContentModerationSortBy":{ + "base":null, + "refs":{ + "GetContentModerationRequest$SortBy":"

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.

" } }, - "CreateCollectionRequest": { - "base": null, - "refs": { + "CreateCollectionRequest":{ + "base":null, + "refs":{ } }, - "CreateCollectionResponse": { - "base": null, - "refs": { + "CreateCollectionResponse":{ + "base":null, + "refs":{ } }, - "CreateStreamProcessorRequest": { - "base": null, - "refs": { + "CreateStreamProcessorRequest":{ + "base":null, + "refs":{ } }, - "CreateStreamProcessorResponse": { - "base": null, - "refs": { + "CreateStreamProcessorResponse":{ + "base":null, + "refs":{ } }, - "DateTime": { - "base": null, - "refs": { - "DescribeStreamProcessorResponse$CreationTimestamp": "

Date and time the stream processor was created

", - "DescribeStreamProcessorResponse$LastUpdateTimestamp": "

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.

" + "DateTime":{ + "base":null, + "refs":{ + "DescribeStreamProcessorResponse$CreationTimestamp":"

Date and time the stream processor was created

", + "DescribeStreamProcessorResponse$LastUpdateTimestamp":"

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.

" } }, - "Degree": { - "base": null, - "refs": { - "Pose$Roll": "

Value representing the face rotation on the roll axis.

", - "Pose$Yaw": "

Value representing the face rotation on the yaw axis.

", - "Pose$Pitch": "

Value representing the face rotation on the pitch axis.

" + "Degree":{ + "base":null, + "refs":{ + "Pose$Roll":"

Value representing the face rotation on the roll axis.

", + "Pose$Yaw":"

Value representing the face rotation on the yaw axis.

", + "Pose$Pitch":"

Value representing the face rotation on the pitch axis.

" } }, - "DeleteCollectionRequest": { - "base": null, - "refs": { + "DeleteCollectionRequest":{ + "base":null, + "refs":{ } }, - "DeleteCollectionResponse": { - "base": null, - "refs": { + "DeleteCollectionResponse":{ + "base":null, + "refs":{ } }, - "DeleteFacesRequest": { - "base": null, - "refs": { + "DeleteFacesRequest":{ + "base":null, + "refs":{ } }, - "DeleteFacesResponse": { - "base": null, - "refs": { + "DeleteFacesResponse":{ + "base":null, + "refs":{ } }, - "DeleteStreamProcessorRequest": { - "base": null, - "refs": { + "DeleteStreamProcessorRequest":{ + "base":null, + "refs":{ } }, - "DeleteStreamProcessorResponse": { - "base": null, - "refs": { + "DeleteStreamProcessorResponse":{ + "base":null, + "refs":{ } }, - "DescribeStreamProcessorRequest": { - "base": null, - "refs": { + "DescribeStreamProcessorRequest":{ + "base":null, + "refs":{ } }, - "DescribeStreamProcessorResponse": { - "base": null, - "refs": { + "DescribeStreamProcessorResponse":{ + "base":null, + "refs":{ } }, - "DetectFacesRequest": { - "base": null, - "refs": { + "DetectFacesRequest":{ + "base":null, + "refs":{ } }, - "DetectFacesResponse": { - "base": null, - "refs": { + "DetectFacesResponse":{ + "base":null, + "refs":{ } }, - "DetectLabelsRequest": { - "base": null, - "refs": { + "DetectLabelsRequest":{ + "base":null, + "refs":{ } }, - "DetectLabelsResponse": { - "base": null, - "refs": { + "DetectLabelsResponse":{ + "base":null, + "refs":{ } }, - "DetectModerationLabelsRequest": { - "base": null, - "refs": { + "DetectModerationLabelsRequest":{ + "base":null, + "refs":{ } }, - "DetectModerationLabelsResponse": { - "base": null, - "refs": { + "DetectModerationLabelsResponse":{ + "base":null, + "refs":{ } }, - "DetectTextRequest": { - "base": null, - "refs": { + "DetectTextRequest":{ + "base":null, + "refs":{ } }, - "DetectTextResponse": { - "base": null, - "refs": { + "DetectTextResponse":{ + "base":null, + "refs":{ } }, - "Emotion": { - "base": "

The emotions detected on the face, and the confidence level in the determination. For example, HAPPY, SAD, and ANGRY.

", - "refs": { - "Emotions$member": null + "Emotion":{ + "base":"

The emotions detected on the face, and the confidence level in the determination. For example, HAPPY, SAD, and ANGRY.

", + "refs":{ + "Emotions$member":null } }, - "EmotionName": { - "base": null, - "refs": { - "Emotion$Type": "

Type of emotion detected.

" + "EmotionName":{ + "base":null, + "refs":{ + "Emotion$Type":"

Type of emotion detected.

" } }, - "Emotions": { - "base": null, - "refs": { - "FaceDetail$Emotions": "

The emotions detected on the face, and the confidence level in the determination. For example, HAPPY, SAD, and ANGRY.

" + "Emotions":{ + "base":null, + "refs":{ + "FaceDetail$Emotions":"

The emotions detected on the face, and the confidence level in the determination. For example, HAPPY, SAD, and ANGRY.

" } }, - "ExternalImageId": { - "base": null, - "refs": { - "Face$ExternalImageId": "

Identifier that you assign to all the faces in the input image.

", - "IndexFacesRequest$ExternalImageId": "

ID you want to assign to all the faces detected in the image.

" + "ExternalImageId":{ + "base":null, + "refs":{ + "Face$ExternalImageId":"

Identifier that you assign to all the faces in the input image.

", + "IndexFacesRequest$ExternalImageId":"

ID you want to assign to all the faces detected in the image.

" } }, - "EyeOpen": { - "base": "

Indicates whether or not the eyes on the face are open, and the confidence level in the determination.

", - "refs": { - "FaceDetail$EyesOpen": "

Indicates whether or not the eyes on the face are open, and the confidence level in the determination.

" + "EyeOpen":{ + "base":"

Indicates whether or not the eyes on the face are open, and the confidence level in the determination.

", + "refs":{ + "FaceDetail$EyesOpen":"

Indicates whether or not the eyes on the face are open, and the confidence level in the determination.

" } }, - "Eyeglasses": { - "base": "

Indicates whether or not the face is wearing eye glasses, and the confidence level in the determination.

", - "refs": { - "FaceDetail$Eyeglasses": "

Indicates whether or not the face is wearing eye glasses, and the confidence level in the determination.

" + "Eyeglasses":{ + "base":"

Indicates whether or not the face is wearing eye glasses, and the confidence level in the determination.

", + "refs":{ + "FaceDetail$Eyeglasses":"

Indicates whether or not the face is wearing eye glasses, and the confidence level in the determination.

" } }, - "Face": { - "base": "

Describes the face properties such as the bounding box, face ID, image ID of the input image, and external image ID that you assigned.

", - "refs": { - "FaceList$member": null, - "FaceMatch$Face": "

Describes the face properties such as the bounding box, face ID, image ID of the source image, and external image ID that you assigned.

", - "FaceRecord$Face": "

Describes the face properties such as the bounding box, face ID, image ID of the input image, and external image ID that you assigned.

" + "Face":{ + "base":"

Describes the face properties such as the bounding box, face ID, image ID of the input image, and external image ID that you assigned.

", + "refs":{ + "FaceList$member":null, + "FaceMatch$Face":"

Describes the face properties such as the bounding box, face ID, image ID of the source image, and external image ID that you assigned.

", + "FaceRecord$Face":"

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": { - "base": null, - "refs": { - "StartFaceDetectionRequest$FaceAttributes": "

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.

" + "FaceAttributes":{ + "base":null, + "refs":{ + "StartFaceDetectionRequest$FaceAttributes":"

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.

" } }, - "FaceDetail": { - "base": "

Structure containing attributes of the face that the algorithm detected.

", - "refs": { - "CelebrityDetail$Face": "

Face details for the recognized celebrity.

", - "FaceDetailList$member": null, - "FaceDetection$Face": "

The face properties for the detected face.

", - "FaceRecord$FaceDetail": "

Structure containing attributes of the face that the algorithm detected.

", - "PersonDetail$Face": "

Face details for the detected person.

" + "FaceDetail":{ + "base":"

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.

", + "refs":{ + "CelebrityDetail$Face":"

Face details for the recognized celebrity.

", + "FaceDetailList$member":null, + "FaceDetection$Face":"

The face properties for the detected face.

", + "FaceRecord$FaceDetail":"

Structure containing attributes of the face that the algorithm detected.

", + "PersonDetail$Face":"

Face details for the detected person.

" } }, - "FaceDetailList": { - "base": null, - "refs": { - "DetectFacesResponse$FaceDetails": "

Details of each face found in the image.

" + "FaceDetailList":{ + "base":null, + "refs":{ + "DetectFacesResponse$FaceDetails":"

Details of each face found in the image.

" } }, - "FaceDetection": { - "base": "

Information about a face detected in a video analysis request and the time the face was detected in the video.

", - "refs": { - "FaceDetections$member": null + "FaceDetection":{ + "base":"

Information about a face detected in a video analysis request and the time the face was detected in the video.

", + "refs":{ + "FaceDetections$member":null } }, - "FaceDetections": { - "base": null, - "refs": { - "GetFaceDetectionResponse$Faces": "

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.

" + "FaceDetections":{ + "base":null, + "refs":{ + "GetFaceDetectionResponse$Faces":"

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.

" } }, - "FaceId": { - "base": null, - "refs": { - "Face$FaceId": "

Unique identifier that Amazon Rekognition assigns to the face.

", - "FaceIdList$member": null, - "SearchFacesRequest$FaceId": "

ID of a face to find matches for in the collection.

", - "SearchFacesResponse$SearchedFaceId": "

ID of the face that was searched for matches in a collection.

" + "FaceId":{ + "base":null, + "refs":{ + "Face$FaceId":"

Unique identifier that Amazon Rekognition assigns to the face.

", + "FaceIdList$member":null, + "SearchFacesRequest$FaceId":"

ID of a face to find matches for in the collection.

", + "SearchFacesResponse$SearchedFaceId":"

ID of the face that was searched for matches in a collection.

" } }, - "FaceIdList": { - "base": null, - "refs": { - "DeleteFacesRequest$FaceIds": "

An array of face IDs to delete.

", - "DeleteFacesResponse$DeletedFaces": "

An array of strings (face IDs) of the faces that were deleted.

" + "FaceIdList":{ + "base":null, + "refs":{ + "DeleteFacesRequest$FaceIds":"

An array of face IDs to delete.

", + "DeleteFacesResponse$DeletedFaces":"

An array of strings (face IDs) of the faces that were deleted.

" } }, - "FaceList": { - "base": null, - "refs": { - "ListFacesResponse$Faces": "

An array of Face objects.

" + "FaceList":{ + "base":null, + "refs":{ + "ListFacesResponse$Faces":"

An array of Face objects.

" } }, - "FaceMatch": { - "base": "

Provides face metadata. In addition, it also provides the confidence in the match of this face with the input face.

", - "refs": { - "FaceMatchList$member": null + "FaceMatch":{ + "base":"

Provides face metadata. In addition, it also provides the confidence in the match of this face with the input face.

", + "refs":{ + "FaceMatchList$member":null } }, - "FaceMatchList": { - "base": null, - "refs": { - "PersonMatch$FaceMatches": "

Information about the faces in the input collection that match the face of a person in the video.

", - "SearchFacesByImageResponse$FaceMatches": "

An array of faces that match the input face, along with the confidence in the match.

", - "SearchFacesResponse$FaceMatches": "

An array of faces that matched the input face, along with the confidence in the match.

" + "FaceMatchList":{ + "base":null, + "refs":{ + "PersonMatch$FaceMatches":"

Information about the faces in the input collection that match the face of a person in the video.

", + "SearchFacesByImageResponse$FaceMatches":"

An array of faces that match the input face, along with the confidence in the match.

", + "SearchFacesResponse$FaceMatches":"

An array of faces that matched the input face, along with the confidence in the match.

" } }, - "FaceModelVersionList": { - "base": null, - "refs": { - "ListCollectionsResponse$FaceModelVersions": "

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].

" + "FaceModelVersionList":{ + "base":null, + "refs":{ + "ListCollectionsResponse$FaceModelVersions":"

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].

" } }, - "FaceRecord": { - "base": "

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.

", - "refs": { - "FaceRecordList$member": null + "FaceRecord":{ + "base":"

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.

", + "refs":{ + "FaceRecordList$member":null } }, - "FaceRecordList": { - "base": null, - "refs": { - "IndexFacesResponse$FaceRecords": "

An array of faces detected and added to the collection. For more information, see collections-index-faces.

" + "FaceRecordList":{ + "base":null, + "refs":{ + "IndexFacesResponse$FaceRecords":"

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.

" } }, - "FaceSearchSettings": { - "base": "

Input face recognition parameters for an Amazon Rekognition stream processor. FaceRecognitionSettings is a request parameter for .

", - "refs": { - "StreamProcessorSettings$FaceSearch": "

Face search settings to use on a streaming video.

" + "FaceSearchSettings":{ + "base":"

Input face recognition parameters for an Amazon Rekognition stream processor. FaceRecognitionSettings is a request parameter for .

", + "refs":{ + "StreamProcessorSettings$FaceSearch":"

Face search settings to use on a streaming video.

" } }, - "FaceSearchSortBy": { - "base": null, - "refs": { - "GetFaceSearchRequest$SortBy": "

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.

" + "FaceSearchSortBy":{ + "base":null, + "refs":{ + "GetFaceSearchRequest$SortBy":"

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.

" } }, - "Float": { - "base": null, - "refs": { - "BoundingBox$Width": "

Width of the bounding box as a ratio of the overall image width.

", - "BoundingBox$Height": "

Height of the bounding box as a ratio of the overall image height.

", - "BoundingBox$Left": "

Left coordinate of the bounding box as a ratio of overall image width.

", - "BoundingBox$Top": "

Top coordinate of the bounding box as a ratio of overall image height.

", - "ImageQuality$Brightness": "

Value representing brightness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a brighter face image.

", - "ImageQuality$Sharpness": "

Value representing sharpness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a sharper face image.

", - "Landmark$X": "

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.

", - "Landmark$Y": "

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.

", - "Point$X": "

The value of the X coordinate for a point on a Polygon.

", - "Point$Y": "

The value of the Y coordinate for a point on a Polygon.

", - "VideoMetadata$FrameRate": "

Number of frames per second in the video.

" + "Float":{ + "base":null, + "refs":{ + "BoundingBox$Width":"

Width of the bounding box as a ratio of the overall image width.

", + "BoundingBox$Height":"

Height of the bounding box as a ratio of the overall image height.

", + "BoundingBox$Left":"

Left coordinate of the bounding box as a ratio of overall image width.

", + "BoundingBox$Top":"

Top coordinate of the bounding box as a ratio of overall image height.

", + "ImageQuality$Brightness":"

Value representing brightness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a brighter face image.

", + "ImageQuality$Sharpness":"

Value representing sharpness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a sharper face image.

", + "Landmark$X":"

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.

", + "Landmark$Y":"

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.

", + "Point$X":"

The value of the X coordinate for a point on a Polygon.

", + "Point$Y":"

The value of the Y coordinate for a point on a Polygon.

", + "VideoMetadata$FrameRate":"

Number of frames per second in the video.

" } }, - "Gender": { - "base": "

Gender of the face and the confidence level in the determination.

", - "refs": { - "FaceDetail$Gender": "

Gender of the face and the confidence level in the determination.

" + "Gender":{ + "base":"

Gender of the face and the confidence level in the determination.

", + "refs":{ + "FaceDetail$Gender":"

Gender of the face and the confidence level in the determination.

" } }, - "GenderType": { - "base": null, - "refs": { - "Gender$Value": "

Gender of the face.

" + "GenderType":{ + "base":null, + "refs":{ + "Gender$Value":"

Gender of the face.

" } }, - "Geometry": { - "base": "

Information about where text detected by is located on an image.

", - "refs": { - "TextDetection$Geometry": "

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.

" + "Geometry":{ + "base":"

Information about where text detected by is located on an image.

", + "refs":{ + "TextDetection$Geometry":"

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.

" } }, - "GetCelebrityInfoRequest": { - "base": null, - "refs": { + "GetCelebrityInfoRequest":{ + "base":null, + "refs":{ } }, - "GetCelebrityInfoResponse": { - "base": null, - "refs": { + "GetCelebrityInfoResponse":{ + "base":null, + "refs":{ } }, - "GetCelebrityRecognitionRequest": { - "base": null, - "refs": { + "GetCelebrityRecognitionRequest":{ + "base":null, + "refs":{ } }, - "GetCelebrityRecognitionResponse": { - "base": null, - "refs": { + "GetCelebrityRecognitionResponse":{ + "base":null, + "refs":{ } }, - "GetContentModerationRequest": { - "base": null, - "refs": { + "GetContentModerationRequest":{ + "base":null, + "refs":{ } }, - "GetContentModerationResponse": { - "base": null, - "refs": { + "GetContentModerationResponse":{ + "base":null, + "refs":{ } }, - "GetFaceDetectionRequest": { - "base": null, - "refs": { + "GetFaceDetectionRequest":{ + "base":null, + "refs":{ } }, - "GetFaceDetectionResponse": { - "base": null, - "refs": { + "GetFaceDetectionResponse":{ + "base":null, + "refs":{ } }, - "GetFaceSearchRequest": { - "base": null, - "refs": { + "GetFaceSearchRequest":{ + "base":null, + "refs":{ } }, - "GetFaceSearchResponse": { - "base": null, - "refs": { + "GetFaceSearchResponse":{ + "base":null, + "refs":{ } }, - "GetLabelDetectionRequest": { - "base": null, - "refs": { + "GetLabelDetectionRequest":{ + "base":null, + "refs":{ } }, - "GetLabelDetectionResponse": { - "base": null, - "refs": { + "GetLabelDetectionResponse":{ + "base":null, + "refs":{ } }, - "GetPersonTrackingRequest": { - "base": null, - "refs": { + "GetPersonTrackingRequest":{ + "base":null, + "refs":{ } }, - "GetPersonTrackingResponse": { - "base": null, - "refs": { + "GetPersonTrackingResponse":{ + "base":null, + "refs":{ } }, - "IdempotentParameterMismatchException": { - "base": "

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.

", - "refs": { + "IdempotentParameterMismatchException":{ + "base":"

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.

", + "refs":{ } }, - "Image": { - "base": "

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 images-bytes.

You pass images stored in an S3 bucket to a Rekognition API operation by using the S3Object property. Images stored in an S3 bucket do not need to be base64-encoded.

The region for the S3 bucket containing the S3 object must match the region you use for Amazon Rekognition operations.

If you use the Amazon CLI to call Amazon Rekognition operations, passing image bytes using the Bytes property is not supported. You must first upload the image to an Amazon S3 bucket and then call the operation using the S3Object property.

For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see manage-access-resource-policies.

", - "refs": { - "CompareFacesRequest$SourceImage": "

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.

", - "CompareFacesRequest$TargetImage": "

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.

", - "DetectFacesRequest$Image": "

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.

", - "DetectLabelsRequest$Image": "

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.

", - "DetectModerationLabelsRequest$Image": "

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.

", - "DetectTextRequest$Image": "

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.

", - "IndexFacesRequest$Image": "

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.

", - "RecognizeCelebritiesRequest$Image": "

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.

", - "SearchFacesByImageRequest$Image": "

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.

" + "Image":{ + "base":"

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.

", + "refs":{ + "CompareFacesRequest$SourceImage":"

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.

", + "CompareFacesRequest$TargetImage":"

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.

", + "DetectFacesRequest$Image":"

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.

", + "DetectLabelsRequest$Image":"

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.

", + "DetectModerationLabelsRequest$Image":"

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.

", + "DetectTextRequest$Image":"

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.

", + "IndexFacesRequest$Image":"

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.

", + "RecognizeCelebritiesRequest$Image":"

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.

", + "SearchFacesByImageRequest$Image":"

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.

" } }, - "ImageBlob": { - "base": null, - "refs": { - "Image$Bytes": "

Blob of image bytes up to 5 MBs.

" + "ImageBlob":{ + "base":null, + "refs":{ + "Image$Bytes":"

Blob of image bytes up to 5 MBs.

" } }, - "ImageId": { - "base": null, - "refs": { - "Face$ImageId": "

Unique identifier that Amazon Rekognition assigns to the input image.

" + "ImageId":{ + "base":null, + "refs":{ + "Face$ImageId":"

Unique identifier that Amazon Rekognition assigns to the input image.

" } }, - "ImageQuality": { - "base": "

Identifies face image brightness and sharpness.

", - "refs": { - "ComparedFace$Quality": "

Identifies face image brightness and sharpness.

", - "FaceDetail$Quality": "

Identifies image brightness and sharpness.

" + "ImageQuality":{ + "base":"

Identifies face image brightness and sharpness.

", + "refs":{ + "ComparedFace$Quality":"

Identifies face image brightness and sharpness.

", + "FaceDetail$Quality":"

Identifies image brightness and sharpness. Default attribute.

" } }, - "ImageTooLargeException": { - "base": "

The input image size exceeds the allowed limit. For more information, see limits.

", - "refs": { + "ImageTooLargeException":{ + "base":"

The input image size exceeds the allowed limit. For more information, see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.

", + "refs":{ } }, - "IndexFacesRequest": { - "base": null, - "refs": { + "IndexFacesRequest":{ + "base":null, + "refs":{ } }, - "IndexFacesResponse": { - "base": null, - "refs": { + "IndexFacesResponse":{ + "base":null, + "refs":{ } }, - "InternalServerError": { - "base": "

Amazon Rekognition experienced a service issue. Try your call again.

", - "refs": { + "InternalServerError":{ + "base":"

Amazon Rekognition experienced a service issue. Try your call again.

", + "refs":{ } }, - "InvalidImageFormatException": { - "base": "

The provided image format is not supported.

", - "refs": { + "InvalidImageFormatException":{ + "base":"

The provided image format is not supported.

", + "refs":{ } }, - "InvalidPaginationTokenException": { - "base": "

Pagination token in the request is not valid.

", - "refs": { + "InvalidPaginationTokenException":{ + "base":"

Pagination token in the request is not valid.

", + "refs":{ } }, - "InvalidParameterException": { - "base": "

Input parameter violated a constraint. Validate your parameter before calling the API operation again.

", - "refs": { + "InvalidParameterException":{ + "base":"

Input parameter violated a constraint. Validate your parameter before calling the API operation again.

", + "refs":{ } }, - "InvalidS3ObjectException": { - "base": "

Amazon Rekognition is unable to access the S3 object specified in the request.

", - "refs": { + "InvalidS3ObjectException":{ + "base":"

Amazon Rekognition is unable to access the S3 object specified in the request.

", + "refs":{ } }, - "JobId": { - "base": null, - "refs": { - "GetCelebrityRecognitionRequest$JobId": "

Job identifier for the required celebrity recognition analysis. You can get the job identifer from a call to StartCelebrityRecognition.

", - "GetContentModerationRequest$JobId": "

The identifier for the content moderation job. Use JobId to identify the job in a subsequent call to GetContentModeration.

", - "GetFaceDetectionRequest$JobId": "

Unique identifier for the face detection job. The JobId is returned from StartFaceDetection.

", - "GetFaceSearchRequest$JobId": "

The job identifer for the search request. You get the job identifier from an initial call to StartFaceSearch.

", - "GetLabelDetectionRequest$JobId": "

Job identifier for the label detection operation for which you want results returned. You get the job identifer from an initial call to StartlabelDetection.

", - "GetPersonTrackingRequest$JobId": "

The identifier for a job that tracks persons in a video. You get the JobId from a call to StartPersonTracking.

", - "StartCelebrityRecognitionResponse$JobId": "

The identifier for the celebrity recognition analysis job. Use JobId to identify the job in a subsequent call to GetCelebrityRecognition.

", - "StartContentModerationResponse$JobId": "

The identifier for the content moderation analysis job. Use JobId to identify the job in a subsequent call to GetContentModeration.

", - "StartFaceDetectionResponse$JobId": "

The identifier for the face detection job. Use JobId to identify the job in a subsequent call to GetFaceDetection.

", - "StartFaceSearchResponse$JobId": "

The identifier for the search job. Use JobId to identify the job in a subsequent call to GetFaceSearch.

", - "StartLabelDetectionResponse$JobId": "

The identifier for the label detection job. Use JobId to identify the job in a subsequent call to GetLabelDetection.

", - "StartPersonTrackingResponse$JobId": "

The identifier for the person detection job. Use JobId to identify the job in a subsequent call to GetPersonTracking.

" + "JobId":{ + "base":null, + "refs":{ + "GetCelebrityRecognitionRequest$JobId":"

Job identifier for the required celebrity recognition analysis. You can get the job identifer from a call to StartCelebrityRecognition.

", + "GetContentModerationRequest$JobId":"

The identifier for the content moderation job. Use JobId to identify the job in a subsequent call to GetContentModeration.

", + "GetFaceDetectionRequest$JobId":"

Unique identifier for the face detection job. The JobId is returned from StartFaceDetection.

", + "GetFaceSearchRequest$JobId":"

The job identifer for the search request. You get the job identifier from an initial call to StartFaceSearch.

", + "GetLabelDetectionRequest$JobId":"

Job identifier for the label detection operation for which you want results returned. You get the job identifer from an initial call to StartlabelDetection.

", + "GetPersonTrackingRequest$JobId":"

The identifier for a job that tracks persons in a video. You get the JobId from a call to StartPersonTracking.

", + "StartCelebrityRecognitionResponse$JobId":"

The identifier for the celebrity recognition analysis job. Use JobId to identify the job in a subsequent call to GetCelebrityRecognition.

", + "StartContentModerationResponse$JobId":"

The identifier for the content moderation analysis job. Use JobId to identify the job in a subsequent call to GetContentModeration.

", + "StartFaceDetectionResponse$JobId":"

The identifier for the face detection job. Use JobId to identify the job in a subsequent call to GetFaceDetection.

", + "StartFaceSearchResponse$JobId":"

The identifier for the search job. Use JobId to identify the job in a subsequent call to GetFaceSearch.

", + "StartLabelDetectionResponse$JobId":"

The identifier for the label detection job. Use JobId to identify the job in a subsequent call to GetLabelDetection.

", + "StartPersonTrackingResponse$JobId":"

The identifier for the person detection job. Use JobId to identify the job in a subsequent call to GetPersonTracking.

" } }, - "JobTag": { - "base": null, - "refs": { - "StartCelebrityRecognitionRequest$JobTag": "

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

", - "StartContentModerationRequest$JobTag": "

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

", - "StartFaceDetectionRequest$JobTag": "

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

", - "StartFaceSearchRequest$JobTag": "

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

", - "StartLabelDetectionRequest$JobTag": "

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

", - "StartPersonTrackingRequest$JobTag": "

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

" + "JobTag":{ + "base":null, + "refs":{ + "StartCelebrityRecognitionRequest$JobTag":"

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

", + "StartContentModerationRequest$JobTag":"

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

", + "StartFaceDetectionRequest$JobTag":"

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

", + "StartFaceSearchRequest$JobTag":"

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

", + "StartLabelDetectionRequest$JobTag":"

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

", + "StartPersonTrackingRequest$JobTag":"

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

" } }, - "KinesisDataArn": { - "base": null, - "refs": { - "KinesisDataStream$Arn": "

ARN of the output Amazon Kinesis Data Streams stream.

" + "KinesisDataArn":{ + "base":null, + "refs":{ + "KinesisDataStream$Arn":"

ARN of the output Amazon Kinesis Data Streams stream.

" } }, - "KinesisDataStream": { - "base": "

The Kinesis data stream Amazon Rekognition to which the analysis results of a Amazon Rekognition stream processor are streamed. For more information, see .

", - "refs": { - "StreamProcessorOutput$KinesisDataStream": "

The Amazon Kinesis Data Streams stream to which the Amazon Rekognition stream processor streams the analysis results.

" + "KinesisDataStream":{ + "base":"

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.

", + "refs":{ + "StreamProcessorOutput$KinesisDataStream":"

The Amazon Kinesis Data Streams stream to which the Amazon Rekognition stream processor streams the analysis results.

" } }, - "KinesisVideoArn": { - "base": null, - "refs": { - "KinesisVideoStream$Arn": "

ARN of the Kinesis video stream stream that streams the source video.

" + "KinesisVideoArn":{ + "base":null, + "refs":{ + "KinesisVideoStream$Arn":"

ARN of the Kinesis video stream stream that streams the source video.

" } }, - "KinesisVideoStream": { - "base": "

Kinesis video stream stream that provides the source streaming video for a Rekognition Video stream processor. For more information, see .

", - "refs": { - "StreamProcessorInput$KinesisVideoStream": "

The Kinesis video stream input stream for the source streaming video.

" + "KinesisVideoStream":{ + "base":"

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.

", + "refs":{ + "StreamProcessorInput$KinesisVideoStream":"

The Kinesis video stream input stream for the source streaming video.

" } }, - "Label": { - "base": "

Structure containing details about the detected label, including name, and level of confidence.

", - "refs": { - "LabelDetection$Label": "

Details about the detected label.

", - "Labels$member": null + "Label":{ + "base":"

Structure containing details about the detected label, including name, and level of confidence.

", + "refs":{ + "LabelDetection$Label":"

Details about the detected label.

", + "Labels$member":null } }, - "LabelDetection": { - "base": "

Information about a label detected in a video analysis request and the time the label was detected in the video.

", - "refs": { - "LabelDetections$member": null + "LabelDetection":{ + "base":"

Information about a label detected in a video analysis request and the time the label was detected in the video.

", + "refs":{ + "LabelDetections$member":null } }, - "LabelDetectionSortBy": { - "base": null, - "refs": { - "GetLabelDetectionRequest$SortBy": "

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.

" + "LabelDetectionSortBy":{ + "base":null, + "refs":{ + "GetLabelDetectionRequest$SortBy":"

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.

" } }, - "LabelDetections": { - "base": null, - "refs": { - "GetLabelDetectionResponse$Labels": "

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.

" + "LabelDetections":{ + "base":null, + "refs":{ + "GetLabelDetectionResponse$Labels":"

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.

" } }, - "Labels": { - "base": null, - "refs": { - "DetectLabelsResponse$Labels": "

An array of labels for the real-world objects detected.

" + "Labels":{ + "base":null, + "refs":{ + "DetectLabelsResponse$Labels":"

An array of labels for the real-world objects detected.

" } }, - "Landmark": { - "base": "

Indicates the location of the landmark on the face.

", - "refs": { - "Landmarks$member": null + "Landmark":{ + "base":"

Indicates the location of the landmark on the face.

", + "refs":{ + "Landmarks$member":null } }, - "LandmarkType": { - "base": null, - "refs": { - "Landmark$Type": "

Type of the landmark.

" + "LandmarkType":{ + "base":null, + "refs":{ + "Landmark$Type":"

Type of the landmark.

" } }, - "Landmarks": { - "base": null, - "refs": { - "ComparedFace$Landmarks": "

An array of facial landmarks.

", - "FaceDetail$Landmarks": "

Indicates the location of landmarks on the face.

" + "Landmarks":{ + "base":null, + "refs":{ + "ComparedFace$Landmarks":"

An array of facial landmarks.

", + "FaceDetail$Landmarks":"

Indicates the location of landmarks on the face. Default attribute.

" } }, - "LimitExceededException": { - "base": "

", - "refs": { + "LimitExceededException":{ + "base":"

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.

", + "refs":{ } }, - "ListCollectionsRequest": { - "base": null, - "refs": { + "ListCollectionsRequest":{ + "base":null, + "refs":{ } }, - "ListCollectionsResponse": { - "base": null, - "refs": { + "ListCollectionsResponse":{ + "base":null, + "refs":{ } }, - "ListFacesRequest": { - "base": null, - "refs": { + "ListFacesRequest":{ + "base":null, + "refs":{ } }, - "ListFacesResponse": { - "base": null, - "refs": { + "ListFacesResponse":{ + "base":null, + "refs":{ } }, - "ListStreamProcessorsRequest": { - "base": null, - "refs": { + "ListStreamProcessorsRequest":{ + "base":null, + "refs":{ } }, - "ListStreamProcessorsResponse": { - "base": null, - "refs": { + "ListStreamProcessorsResponse":{ + "base":null, + "refs":{ } }, - "MaxFaces": { - "base": null, - "refs": { - "SearchFacesByImageRequest$MaxFaces": "

Maximum number of faces to return. The operation returns the maximum number of faces with the highest confidence in the match.

", - "SearchFacesRequest$MaxFaces": "

Maximum number of faces to return. The operation returns the maximum number of faces with the highest confidence in the match.

" + "MaxFaces":{ + "base":null, + "refs":{ + "SearchFacesByImageRequest$MaxFaces":"

Maximum number of faces to return. The operation returns the maximum number of faces with the highest confidence in the match.

", + "SearchFacesRequest$MaxFaces":"

Maximum number of faces to return. The operation returns the maximum number of faces with the highest confidence in the match.

" } }, - "MaxResults": { - "base": null, - "refs": { - "GetCelebrityRecognitionRequest$MaxResults": "

Maximum number of celebrities you want Rekognition Video to return in the response. The default is 1000.

", - "GetContentModerationRequest$MaxResults": "

Maximum number of content moderation labels to return. The default is 1000.

", - "GetFaceDetectionRequest$MaxResults": "

Maximum number of detected faces to return. The default is 1000.

", - "GetFaceSearchRequest$MaxResults": "

Maximum number of search results you want Rekognition Video to return in the response. The default is 1000.

", - "GetLabelDetectionRequest$MaxResults": "

Maximum number of labels you want Amazon Rekognition to return in the response. The default is 1000.

", - "GetPersonTrackingRequest$MaxResults": "

Maximum number of tracked persons to return. The default is 1000.

", - "ListStreamProcessorsRequest$MaxResults": "

Maximum number of stream processors you want Rekognition Video to return in the response. The default is 1000.

" + "MaxResults":{ + "base":null, + "refs":{ + "GetCelebrityRecognitionRequest$MaxResults":"

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.

", + "GetContentModerationRequest$MaxResults":"

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.

", + "GetFaceDetectionRequest$MaxResults":"

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.

", + "GetFaceSearchRequest$MaxResults":"

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.

", + "GetLabelDetectionRequest$MaxResults":"

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.

", + "GetPersonTrackingRequest$MaxResults":"

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.

", + "ListStreamProcessorsRequest$MaxResults":"

Maximum number of stream processors you want Amazon Rekognition Video to return in the response. The default is 1000.

" } }, - "ModerationLabel": { - "base": "

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 moderation.

", - "refs": { - "ContentModerationDetection$ModerationLabel": "

The moderation label detected by in the stored video.

", - "ModerationLabels$member": null - } - }, - "ModerationLabels": { - "base": null, - "refs": { - "DetectModerationLabelsResponse$ModerationLabels": "

Array of detected Moderation labels and the time, in millseconds from the start of the video, they were detected.

" - } - }, - "MouthOpen": { - "base": "

Indicates whether or not the mouth on the face is open, and the confidence level in the determination.

", - "refs": { - "FaceDetail$MouthOpen": "

Indicates whether or not the mouth on the face is open, and the confidence level in the determination.

" - } - }, - "Mustache": { - "base": "

Indicates whether or not the face has a mustache, and the confidence level in the determination.

", - "refs": { - "FaceDetail$Mustache": "

Indicates whether or not the face has a mustache, and the confidence level in the determination.

" - } - }, - "NotificationChannel": { - "base": "

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.

", - "refs": { - "StartCelebrityRecognitionRequest$NotificationChannel": "

The Amazon SNS topic ARN that you want Rekognition Video to publish the completion status of the celebrity recognition analysis to.

", - "StartContentModerationRequest$NotificationChannel": "

The Amazon SNS topic ARN that you want Rekognition Video to publish the completion status of the content moderation analysis to.

", - "StartFaceDetectionRequest$NotificationChannel": "

The ARN of the Amazon SNS topic to which you want Rekognition Video to publish the completion status of the face detection operation.

", - "StartFaceSearchRequest$NotificationChannel": "

The ARN of the Amazon SNS topic to which you want Rekognition Video to publish the completion status of the search.

", - "StartLabelDetectionRequest$NotificationChannel": "

The Amazon SNS topic ARN you want Rekognition Video to publish the completion status of the label detection operation to.

", - "StartPersonTrackingRequest$NotificationChannel": "

The Amazon SNS topic ARN you want Rekognition Video to publish the completion status of the people detection operation to.

" - } - }, - "OrientationCorrection": { - "base": null, - "refs": { - "CompareFacesResponse$SourceImageOrientationCorrection": "

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.

", - "CompareFacesResponse$TargetImageOrientationCorrection": "

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.

", - "DetectFacesResponse$OrientationCorrection": "

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.

", - "DetectLabelsResponse$OrientationCorrection": "

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.

", - "IndexFacesResponse$OrientationCorrection": "

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.

", - "RecognizeCelebritiesResponse$OrientationCorrection": "

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.

" - } - }, - "PageSize": { - "base": null, - "refs": { - "ListCollectionsRequest$MaxResults": "

Maximum number of collection IDs to return.

", - "ListFacesRequest$MaxResults": "

Maximum number of faces to return.

" - } - }, - "PaginationToken": { - "base": null, - "refs": { - "GetCelebrityRecognitionRequest$NextToken": "

If the previous response was incomplete (because there is more recognized celebrities to retrieve), Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of celebrities.

", - "GetCelebrityRecognitionResponse$NextToken": "

If the response is truncated, Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of celebrities.

", - "GetContentModerationRequest$NextToken": "

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.

", - "GetContentModerationResponse$NextToken": "

If the response is truncated, Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of moderation labels.

", - "GetFaceDetectionRequest$NextToken": "

If the previous response was incomplete (because there are more faces to retrieve), Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of faces.

", - "GetFaceDetectionResponse$NextToken": "

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.

", - "GetFaceSearchRequest$NextToken": "

If the previous response was incomplete (because there is more search results to retrieve), Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of search results.

", - "GetFaceSearchResponse$NextToken": "

If the response is truncated, Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of search results.

", - "GetLabelDetectionRequest$NextToken": "

If the previous response was incomplete (because there are more labels to retrieve), Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of labels.

", - "GetLabelDetectionResponse$NextToken": "

If the response is truncated, Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of labels.

", - "GetPersonTrackingRequest$NextToken": "

If the previous response was incomplete (because there are more persons to retrieve), Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of persons.

", - "GetPersonTrackingResponse$NextToken": "

If the response is truncated, Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of persons.

", - "ListCollectionsRequest$NextToken": "

Pagination token from the previous response.

", - "ListCollectionsResponse$NextToken": "

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.

", - "ListFacesRequest$NextToken": "

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.

", - "ListStreamProcessorsRequest$NextToken": "

If the previous response was incomplete (because there are more stream processors to retrieve), Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of stream processors.

", - "ListStreamProcessorsResponse$NextToken": "

If the response is truncated, Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of stream processors.

" - } - }, - "Percent": { - "base": null, - "refs": { - "Beard$Confidence": "

Level of confidence in the determination.

", - "Celebrity$MatchConfidence": "

The confidence, in percentage, that Rekognition has that the recognized face is the celebrity.

", - "CelebrityDetail$Confidence": "

The confidence, in percentage, that Amazon Rekognition has that the recognized face is the celebrity.

", - "CompareFacesMatch$Similarity": "

Level of confidence that the faces match.

", - "CompareFacesRequest$SimilarityThreshold": "

The minimum level of confidence in the face matches that a match must meet to be included in the FaceMatches array.

", - "ComparedFace$Confidence": "

Level of confidence that what the bounding box contains is a face.

", - "ComparedSourceImageFace$Confidence": "

Confidence level that the selected bounding box contains a face.

", - "DetectLabelsRequest$MinConfidence": "

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.

", - "DetectModerationLabelsRequest$MinConfidence": "

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.

", - "Emotion$Confidence": "

Level of confidence in the determination.

", - "EyeOpen$Confidence": "

Level of confidence in the determination.

", - "Eyeglasses$Confidence": "

Level of confidence in the determination.

", - "Face$Confidence": "

Confidence level that the bounding box contains a face (and not a different object such as a tree).

", - "FaceDetail$Confidence": "

Confidence level that the bounding box contains a face (and not a different object such as a tree).

", - "FaceMatch$Similarity": "

Confidence in the match of this face with the input face.

", - "FaceSearchSettings$FaceMatchThreshold": "

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.

", - "Gender$Confidence": "

Level of confidence in the determination.

", - "Label$Confidence": "

Level of confidence.

", - "ModerationLabel$Confidence": "

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.

", - "MouthOpen$Confidence": "

Level of confidence in the determination.

", - "Mustache$Confidence": "

Level of confidence in the determination.

", - "SearchFacesByImageRequest$FaceMatchThreshold": "

(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$SearchedFaceConfidence": "

The level of confidence that the searchedFaceBoundingBox, contains a face.

", - "SearchFacesRequest$FaceMatchThreshold": "

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%.

", - "Smile$Confidence": "

Level of confidence in the determination.

", - "StartContentModerationRequest$MinConfidence": "

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.

", - "StartFaceSearchRequest$FaceMatchThreshold": "

The minimum confidence in the person match to return. For example, don't return any matches where confidence in matches is less than 70%.

", - "StartLabelDetectionRequest$MinConfidence": "

Specifies the minimum confidence that 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. 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.

", - "Sunglasses$Confidence": "

Level of confidence in the determination.

", - "TextDetection$Confidence": "

The confidence that Amazon Rekognition has in the accuracy of the detected text and the accuracy of the geometry points around the detected text.

" - } + "ModerationLabel":{ + "base":"

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.

", + "refs":{ + "ContentModerationDetection$ModerationLabel":"

The moderation label detected by in the stored video.

", + "ModerationLabels$member":null + } + }, + "ModerationLabels":{ + "base":null, + "refs":{ + "DetectModerationLabelsResponse$ModerationLabels":"

Array of detected Moderation labels and the time, in millseconds from the start of the video, they were detected.

" + } + }, + "MouthOpen":{ + "base":"

Indicates whether or not the mouth on the face is open, and the confidence level in the determination.

", + "refs":{ + "FaceDetail$MouthOpen":"

Indicates whether or not the mouth on the face is open, and the confidence level in the determination.

" + } + }, + "Mustache":{ + "base":"

Indicates whether or not the face has a mustache, and the confidence level in the determination.

", + "refs":{ + "FaceDetail$Mustache":"

Indicates whether or not the face has a mustache, and the confidence level in the determination.

" + } + }, + "NotificationChannel":{ + "base":"

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.

", + "refs":{ + "StartCelebrityRecognitionRequest$NotificationChannel":"

The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the celebrity recognition analysis to.

", + "StartContentModerationRequest$NotificationChannel":"

The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the content moderation analysis to.

", + "StartFaceDetectionRequest$NotificationChannel":"

The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the face detection operation.

", + "StartFaceSearchRequest$NotificationChannel":"

The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the search.

", + "StartLabelDetectionRequest$NotificationChannel":"

The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the label detection operation to.

", + "StartPersonTrackingRequest$NotificationChannel":"

The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the people detection operation to.

" + } + }, + "OrientationCorrection":{ + "base":null, + "refs":{ + "CompareFacesResponse$SourceImageOrientationCorrection":"

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.

", + "CompareFacesResponse$TargetImageOrientationCorrection":"

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.

", + "DetectFacesResponse$OrientationCorrection":"

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.

", + "DetectLabelsResponse$OrientationCorrection":"

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.

", + "IndexFacesResponse$OrientationCorrection":"

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.

", + "RecognizeCelebritiesResponse$OrientationCorrection":"

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.

" + } + }, + "PageSize":{ + "base":null, + "refs":{ + "ListCollectionsRequest$MaxResults":"

Maximum number of collection IDs to return.

", + "ListFacesRequest$MaxResults":"

Maximum number of faces to return.

" + } + }, + "PaginationToken":{ + "base":null, + "refs":{ + "GetCelebrityRecognitionRequest$NextToken":"

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.

", + "GetCelebrityRecognitionResponse$NextToken":"

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.

", + "GetContentModerationRequest$NextToken":"

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.

", + "GetContentModerationResponse$NextToken":"

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$NextToken":"

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$NextToken":"

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.

", + "GetFaceSearchRequest$NextToken":"

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.

", + "GetFaceSearchResponse$NextToken":"

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.

", + "GetLabelDetectionRequest$NextToken":"

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.

", + "GetLabelDetectionResponse$NextToken":"

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.

", + "GetPersonTrackingRequest$NextToken":"

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.

", + "GetPersonTrackingResponse$NextToken":"

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.

", + "ListCollectionsRequest$NextToken":"

Pagination token from the previous response.

", + "ListCollectionsResponse$NextToken":"

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.

", + "ListFacesRequest$NextToken":"

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.

", + "ListStreamProcessorsRequest$NextToken":"

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.

", + "ListStreamProcessorsResponse$NextToken":"

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.

" + } + }, + "Percent":{ + "base":null, + "refs":{ + "Beard$Confidence":"

Level of confidence in the determination.

", + "Celebrity$MatchConfidence":"

The confidence, in percentage, that Rekognition has that the recognized face is the celebrity.

", + "CelebrityDetail$Confidence":"

The confidence, in percentage, that Amazon Rekognition has that the recognized face is the celebrity.

", + "CompareFacesMatch$Similarity":"

Level of confidence that the faces match.

", + "CompareFacesRequest$SimilarityThreshold":"

The minimum level of confidence in the face matches that a match must meet to be included in the FaceMatches array.

", + "ComparedFace$Confidence":"

Level of confidence that what the bounding box contains is a face.

", + "ComparedSourceImageFace$Confidence":"

Confidence level that the selected bounding box contains a face.

", + "DetectLabelsRequest$MinConfidence":"

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.

", + "DetectModerationLabelsRequest$MinConfidence":"

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.

", + "Emotion$Confidence":"

Level of confidence in the determination.

", + "EyeOpen$Confidence":"

Level of confidence in the determination.

", + "Eyeglasses$Confidence":"

Level of confidence in the determination.

", + "Face$Confidence":"

Confidence level that the bounding box contains a face (and not a different object such as a tree).

", + "FaceDetail$Confidence":"

Confidence level that the bounding box contains a face (and not a different object such as a tree). Default attribute.

", + "FaceMatch$Similarity":"

Confidence in the match of this face with the input face.

", + "FaceSearchSettings$FaceMatchThreshold":"

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.

", + "Gender$Confidence":"

Level of confidence in the determination.

", + "Label$Confidence":"

Level of confidence.

", + "ModerationLabel$Confidence":"

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.

", + "MouthOpen$Confidence":"

Level of confidence in the determination.

", + "Mustache$Confidence":"

Level of confidence in the determination.

", + "SearchFacesByImageRequest$FaceMatchThreshold":"

(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$SearchedFaceConfidence":"

The level of confidence that the searchedFaceBoundingBox, contains a face.

", + "SearchFacesRequest$FaceMatchThreshold":"

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%.

", + "Smile$Confidence":"

Level of confidence in the determination.

", + "StartContentModerationRequest$MinConfidence":"

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.

", + "StartFaceSearchRequest$FaceMatchThreshold":"

The minimum confidence in the person match to return. For example, don't return any matches where confidence in matches is less than 70%.

", + "StartLabelDetectionRequest$MinConfidence":"

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.

", + "Sunglasses$Confidence":"

Level of confidence in the determination.

", + "TextDetection$Confidence":"

The confidence that Amazon Rekognition has in the accuracy of the detected text and the accuracy of the geometry points around the detected text.

" + } }, - "PersonDetail": { - "base": "

Details about a person detected in a video analysis request.

", - "refs": { - "PersonDetection$Person": "

Details about a person tracked in a video.

", - "PersonMatch$Person": "

Information about the matched person.

" - } - }, - "PersonDetection": { - "base": "

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 .

", - "refs": { - "PersonDetections$member": null - } - }, - "PersonDetections": { - "base": null, - "refs": { - "GetPersonTrackingResponse$Persons": "

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.

" - } - }, - "PersonIndex": { - "base": null, - "refs": { - "PersonDetail$Index": "

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.

" + "PersonDetail":{ + "base":"

Details about a person detected in a video analysis request.

", + "refs":{ + "PersonDetection$Person":"

Details about a person tracked in a video.

", + "PersonMatch$Person":"

Information about the matched person.

" + } + }, + "PersonDetection":{ + "base":"

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.

", + "refs":{ + "PersonDetections$member":null + } + }, + "PersonDetections":{ + "base":null, + "refs":{ + "GetPersonTrackingResponse$Persons":"

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.

" + } + }, + "PersonIndex":{ + "base":null, + "refs":{ + "PersonDetail$Index":"

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.

" } - }, - "PersonMatch": { - "base": "

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 .

", - "refs": { - "PersonMatches$member": null + }, + "PersonMatch":{ + "base":"

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 .

", + "refs":{ + "PersonMatches$member":null } }, - "PersonMatches": { - "base": null, - "refs": { - "GetFaceSearchResponse$Persons": "

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.

" + "PersonMatches":{ + "base":null, + "refs":{ + "GetFaceSearchResponse$Persons":"

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.

" } }, - "PersonTrackingSortBy": { - "base": null, - "refs": { - "GetPersonTrackingRequest$SortBy": "

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.

" + "PersonTrackingSortBy":{ + "base":null, + "refs":{ + "GetPersonTrackingRequest$SortBy":"

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.

" } }, - "Point": { - "base": "

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 .

", - "refs": { - "Polygon$member": null + "Point":{ + "base":"

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.

", + "refs":{ + "Polygon$member":null } }, - "Polygon": { - "base": null, - "refs": { - "Geometry$Polygon": "

Within the bounding box, a fine-grained polygon around the detected text.

" + "Polygon":{ + "base":null, + "refs":{ + "Geometry$Polygon":"

Within the bounding box, a fine-grained polygon around the detected text.

" } }, - "Pose": { - "base": "

Indicates the pose of the face as determined by its pitch, roll, and yaw.

", - "refs": { - "ComparedFace$Pose": "

Indicates the pose of the face as determined by its pitch, roll, and yaw.

", - "FaceDetail$Pose": "

Indicates the pose of the face as determined by its pitch, roll, and yaw.

" + "Pose":{ + "base":"

Indicates the pose of the face as determined by its pitch, roll, and yaw.

", + "refs":{ + "ComparedFace$Pose":"

Indicates the pose of the face as determined by its pitch, roll, and yaw.

", + "FaceDetail$Pose":"

Indicates the pose of the face as determined by its pitch, roll, and yaw. Default attribute.

" } }, - "ProvisionedThroughputExceededException": { - "base": "

The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon Rekognition.

", - "refs": { + "ProvisionedThroughputExceededException":{ + "base":"

The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon Rekognition.

", + "refs":{ } }, - "RecognizeCelebritiesRequest": { - "base": null, - "refs": { + "RecognizeCelebritiesRequest":{ + "base":null, + "refs":{ } }, - "RecognizeCelebritiesResponse": { - "base": null, - "refs": { + "RecognizeCelebritiesResponse":{ + "base":null, + "refs":{ } }, - "RekognitionUniqueId": { - "base": null, - "refs": { - "Celebrity$Id": "

A unique identifier for the celebrity.

", - "CelebrityDetail$Id": "

The unique identifier for the celebrity.

", - "GetCelebrityInfoRequest$Id": "

The ID for the celebrity. You get the celebrity ID from a call to the operation, which recognizes celebrities in an image.

" + "RekognitionUniqueId":{ + "base":null, + "refs":{ + "Celebrity$Id":"

A unique identifier for the celebrity.

", + "CelebrityDetail$Id":"

The unique identifier for the celebrity.

", + "GetCelebrityInfoRequest$Id":"

The ID for the celebrity. You get the celebrity ID from a call to the operation, which recognizes celebrities in an image.

" } }, - "ResourceAlreadyExistsException": { - "base": "

A collection with the specified ID already exists.

", - "refs": { + "ResourceAlreadyExistsException":{ + "base":"

A collection with the specified ID already exists.

", + "refs":{ } }, - "ResourceInUseException": { - "base": "

", - "refs": { + "ResourceInUseException":{ + "base":"

", + "refs":{ } }, - "ResourceNotFoundException": { - "base": "

The collection specified in the request cannot be found.

", - "refs": { + "ResourceNotFoundException":{ + "base":"

The collection specified in the request cannot be found.

", + "refs":{ } }, - "RoleArn": { - "base": null, - "refs": { - "CreateStreamProcessorRequest$RoleArn": "

ARN of the IAM role that allows access to the stream processor.

", - "DescribeStreamProcessorResponse$RoleArn": "

ARN of the IAM role that allows access to the stream processor.

", - "NotificationChannel$RoleArn": "

The ARN of an IAM role that gives Amazon Rekognition publishing permissions to the Amazon SNS topic.

" + "RoleArn":{ + "base":null, + "refs":{ + "CreateStreamProcessorRequest$RoleArn":"

ARN of the IAM role that allows access to the stream processor.

", + "DescribeStreamProcessorResponse$RoleArn":"

ARN of the IAM role that allows access to the stream processor.

", + "NotificationChannel$RoleArn":"

The ARN of an IAM role that gives Amazon Rekognition publishing permissions to the Amazon SNS topic.

" } }, - "S3Bucket": { - "base": null, - "refs": { - "S3Object$Bucket": "

Name of the S3 bucket.

" + "S3Bucket":{ + "base":null, + "refs":{ + "S3Object$Bucket":"

Name of the S3 bucket.

" } }, - "S3Object": { - "base": "

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 manage-access-resource-policies.

", - "refs": { - "Image$S3Object": "

Identifies an S3 object as the image source.

", - "Video$S3Object": "

The Amazon S3 bucket name and file name for the video.

" + "S3Object":{ + "base":"

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.

", + "refs":{ + "Image$S3Object":"

Identifies an S3 object as the image source.

", + "Video$S3Object":"

The Amazon S3 bucket name and file name for the video.

" } }, - "S3ObjectName": { - "base": null, - "refs": { - "S3Object$Name": "

S3 object key name.

" + "S3ObjectName":{ + "base":null, + "refs":{ + "S3Object$Name":"

S3 object key name.

" } }, - "S3ObjectVersion": { - "base": null, - "refs": { - "S3Object$Version": "

If the bucket is versioning enabled, you can specify the object version.

" + "S3ObjectVersion":{ + "base":null, + "refs":{ + "S3Object$Version":"

If the bucket is versioning enabled, you can specify the object version.

" } }, - "SNSTopicArn": { - "base": null, - "refs": { - "NotificationChannel$SNSTopicArn": "

The Amazon SNS topic to which Amazon Rekognition to posts the completion status.

" + "SNSTopicArn":{ + "base":null, + "refs":{ + "NotificationChannel$SNSTopicArn":"

The Amazon SNS topic to which Amazon Rekognition to posts the completion status.

" } }, - "SearchFacesByImageRequest": { - "base": null, - "refs": { + "SearchFacesByImageRequest":{ + "base":null, + "refs":{ } }, - "SearchFacesByImageResponse": { - "base": null, - "refs": { + "SearchFacesByImageResponse":{ + "base":null, + "refs":{ } }, - "SearchFacesRequest": { - "base": null, - "refs": { + "SearchFacesRequest":{ + "base":null, + "refs":{ } }, - "SearchFacesResponse": { - "base": null, - "refs": { + "SearchFacesResponse":{ + "base":null, + "refs":{ } }, - "Smile": { - "base": "

Indicates whether or not the face is smiling, and the confidence level in the determination.

", - "refs": { - "FaceDetail$Smile": "

Indicates whether or not the face is smiling, and the confidence level in the determination.

" + "Smile":{ + "base":"

Indicates whether or not the face is smiling, and the confidence level in the determination.

", + "refs":{ + "FaceDetail$Smile":"

Indicates whether or not the face is smiling, and the confidence level in the determination.

" } }, - "StartCelebrityRecognitionRequest": { - "base": null, - "refs": { + "StartCelebrityRecognitionRequest":{ + "base":null, + "refs":{ } }, - "StartCelebrityRecognitionResponse": { - "base": null, - "refs": { + "StartCelebrityRecognitionResponse":{ + "base":null, + "refs":{ } }, - "StartContentModerationRequest": { - "base": null, - "refs": { + "StartContentModerationRequest":{ + "base":null, + "refs":{ } }, - "StartContentModerationResponse": { - "base": null, - "refs": { + "StartContentModerationResponse":{ + "base":null, + "refs":{ } }, - "StartFaceDetectionRequest": { - "base": null, - "refs": { + "StartFaceDetectionRequest":{ + "base":null, + "refs":{ } }, - "StartFaceDetectionResponse": { - "base": null, - "refs": { + "StartFaceDetectionResponse":{ + "base":null, + "refs":{ } }, - "StartFaceSearchRequest": { - "base": null, - "refs": { + "StartFaceSearchRequest":{ + "base":null, + "refs":{ } }, - "StartFaceSearchResponse": { - "base": null, - "refs": { + "StartFaceSearchResponse":{ + "base":null, + "refs":{ } }, - "StartLabelDetectionRequest": { - "base": null, - "refs": { + "StartLabelDetectionRequest":{ + "base":null, + "refs":{ } }, - "StartLabelDetectionResponse": { - "base": null, - "refs": { + "StartLabelDetectionResponse":{ + "base":null, + "refs":{ } }, - "StartPersonTrackingRequest": { - "base": null, - "refs": { + "StartPersonTrackingRequest":{ + "base":null, + "refs":{ } }, - "StartPersonTrackingResponse": { - "base": null, - "refs": { + "StartPersonTrackingResponse":{ + "base":null, + "refs":{ } }, - "StartStreamProcessorRequest": { - "base": null, - "refs": { + "StartStreamProcessorRequest":{ + "base":null, + "refs":{ } }, - "StartStreamProcessorResponse": { - "base": null, - "refs": { + "StartStreamProcessorResponse":{ + "base":null, + "refs":{ } }, - "StatusMessage": { - "base": null, - "refs": { - "GetCelebrityRecognitionResponse$StatusMessage": "

If the job fails, StatusMessage provides a descriptive error message.

", - "GetContentModerationResponse$StatusMessage": "

If the job fails, StatusMessage provides a descriptive error message.

", - "GetFaceDetectionResponse$StatusMessage": "

If the job fails, StatusMessage provides a descriptive error message.

", - "GetFaceSearchResponse$StatusMessage": "

If the job fails, StatusMessage provides a descriptive error message.

", - "GetLabelDetectionResponse$StatusMessage": "

If the job fails, StatusMessage provides a descriptive error message.

", - "GetPersonTrackingResponse$StatusMessage": "

If the job fails, StatusMessage provides a descriptive error message.

" + "StatusMessage":{ + "base":null, + "refs":{ + "GetCelebrityRecognitionResponse$StatusMessage":"

If the job fails, StatusMessage provides a descriptive error message.

", + "GetContentModerationResponse$StatusMessage":"

If the job fails, StatusMessage provides a descriptive error message.

", + "GetFaceDetectionResponse$StatusMessage":"

If the job fails, StatusMessage provides a descriptive error message.

", + "GetFaceSearchResponse$StatusMessage":"

If the job fails, StatusMessage provides a descriptive error message.

", + "GetLabelDetectionResponse$StatusMessage":"

If the job fails, StatusMessage provides a descriptive error message.

", + "GetPersonTrackingResponse$StatusMessage":"

If the job fails, StatusMessage provides a descriptive error message.

" } }, - "StopStreamProcessorRequest": { - "base": null, - "refs": { + "StopStreamProcessorRequest":{ + "base":null, + "refs":{ } }, - "StopStreamProcessorResponse": { - "base": null, - "refs": { + "StopStreamProcessorResponse":{ + "base":null, + "refs":{ } }, - "StreamProcessor": { - "base": "

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.

", - "refs": { - "StreamProcessorList$member": null + "StreamProcessor":{ + "base":"

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.

", + "refs":{ + "StreamProcessorList$member":null } }, - "StreamProcessorArn": { - "base": null, - "refs": { - "CreateStreamProcessorResponse$StreamProcessorArn": "

ARN for the newly create stream processor.

", - "DescribeStreamProcessorResponse$StreamProcessorArn": "

ARN of the stream processor.

" + "StreamProcessorArn":{ + "base":null, + "refs":{ + "CreateStreamProcessorResponse$StreamProcessorArn":"

ARN for the newly create stream processor.

", + "DescribeStreamProcessorResponse$StreamProcessorArn":"

ARN of the stream processor.

" } }, - "StreamProcessorInput": { - "base": "

Information about the source streaming video.

", - "refs": { - "CreateStreamProcessorRequest$Input": "

Kinesis video stream stream that provides the source streaming video. If you are using the AWS CLI, the parameter name is StreamProcessorInput.

", - "DescribeStreamProcessorResponse$Input": "

Kinesis video stream that provides the source streaming video.

" + "StreamProcessorInput":{ + "base":"

Information about the source streaming video.

", + "refs":{ + "CreateStreamProcessorRequest$Input":"

Kinesis video stream stream that provides the source streaming video. If you are using the AWS CLI, the parameter name is StreamProcessorInput.

", + "DescribeStreamProcessorResponse$Input":"

Kinesis video stream that provides the source streaming video.

" } }, - "StreamProcessorList": { - "base": null, - "refs": { - "ListStreamProcessorsResponse$StreamProcessors": "

List of stream processors that you have created.

" + "StreamProcessorList":{ + "base":null, + "refs":{ + "ListStreamProcessorsResponse$StreamProcessors":"

List of stream processors that you have created.

" } }, - "StreamProcessorName": { - "base": null, - "refs": { - "CreateStreamProcessorRequest$Name": "

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.

", - "DeleteStreamProcessorRequest$Name": "

The name of the stream processor you want to delete.

", - "DescribeStreamProcessorRequest$Name": "

Name of the stream processor for which you want information.

", - "DescribeStreamProcessorResponse$Name": "

Name of the stream processor.

", - "StartStreamProcessorRequest$Name": "

The name of the stream processor to start processing.

", - "StopStreamProcessorRequest$Name": "

The name of a stream processor created by .

", - "StreamProcessor$Name": "

Name of the Amazon Rekognition stream processor.

" + "StreamProcessorName":{ + "base":null, + "refs":{ + "CreateStreamProcessorRequest$Name":"

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.

", + "DeleteStreamProcessorRequest$Name":"

The name of the stream processor you want to delete.

", + "DescribeStreamProcessorRequest$Name":"

Name of the stream processor for which you want information.

", + "DescribeStreamProcessorResponse$Name":"

Name of the stream processor.

", + "StartStreamProcessorRequest$Name":"

The name of the stream processor to start processing.

", + "StopStreamProcessorRequest$Name":"

The name of a stream processor created by .

", + "StreamProcessor$Name":"

Name of the Amazon Rekognition stream processor.

" } }, - "StreamProcessorOutput": { - "base": "

Information about the Amazon Kinesis Data Streams stream to which a Rekognition Video stream processor streams the results of a video analysis. For more information, see .

", - "refs": { - "CreateStreamProcessorRequest$Output": "

Kinesis data stream stream to which Rekognition Video puts the analysis results. If you are using the AWS CLI, the parameter name is StreamProcessorOutput.

", - "DescribeStreamProcessorResponse$Output": "

Kinesis data stream to which Rekognition Video puts the analysis results.

" + "StreamProcessorOutput":{ + "base":"

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.

", + "refs":{ + "CreateStreamProcessorRequest$Output":"

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.

", + "DescribeStreamProcessorResponse$Output":"

Kinesis data stream to which Amazon Rekognition Video puts the analysis results.

" } }, - "StreamProcessorSettings": { - "base": "

Input parameters used to recognize faces in a streaming video analyzed by a Amazon Rekognition stream processor.

", - "refs": { - "CreateStreamProcessorRequest$Settings": "

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.

", - "DescribeStreamProcessorResponse$Settings": "

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.

" + "StreamProcessorSettings":{ + "base":"

Input parameters used to recognize faces in a streaming video analyzed by a Amazon Rekognition stream processor.

", + "refs":{ + "CreateStreamProcessorRequest$Settings":"

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.

", + "DescribeStreamProcessorResponse$Settings":"

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.

" } }, - "StreamProcessorStatus": { - "base": null, - "refs": { - "DescribeStreamProcessorResponse$Status": "

Current status of the stream processor.

", - "StreamProcessor$Status": "

Current status of the Amazon Rekognition stream processor.

" + "StreamProcessorStatus":{ + "base":null, + "refs":{ + "DescribeStreamProcessorResponse$Status":"

Current status of the stream processor.

", + "StreamProcessor$Status":"

Current status of the Amazon Rekognition stream processor.

" } }, - "String": { - "base": null, - "refs": { - "Celebrity$Name": "

The name of the celebrity.

", - "CelebrityDetail$Name": "

The name of the celebrity.

", - "CreateCollectionResponse$CollectionArn": "

Amazon Resource Name (ARN) of the collection. You can use this to manage permissions on your resources.

", - "CreateCollectionResponse$FaceModelVersion": "

Version number of the face detection model associated with the collection you are creating.

", - "DescribeStreamProcessorResponse$StatusMessage": "

Detailed status message about the stream processor.

", - "FaceModelVersionList$member": null, - "GetCelebrityInfoResponse$Name": "

The name of the celebrity.

", - "IndexFacesResponse$FaceModelVersion": "

Version number of the face detection model associated with the input collection (CollectionId).

", - "Label$Name": "

The name (label) of the object.

", - "ListFacesResponse$NextToken": "

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.

", - "ListFacesResponse$FaceModelVersion": "

Version number of the face detection model associated with the input collection (CollectionId).

", - "ModerationLabel$Name": "

The label name for the type of content detected in the image.

", - "ModerationLabel$ParentName": "

The name for the parent label. Labels at the top-level of the hierarchy have the parent label \"\".

", - "SearchFacesByImageResponse$FaceModelVersion": "

Version number of the face detection model associated with the input collection (CollectionId).

", - "SearchFacesResponse$FaceModelVersion": "

Version number of the face detection model associated with the input collection (CollectionId).

", - "TextDetection$DetectedText": "

The word or line of text recognized by Amazon Rekognition.

", - "VideoMetadata$Codec": "

Type of compression used in the analyzed video.

", - "VideoMetadata$Format": "

Format of the analyzed video. Possible values are MP4, MOV and AVI.

" - } - }, - "Sunglasses": { - "base": "

Indicates whether or not the face is wearing sunglasses, and the confidence level in the determination.

", - "refs": { - "FaceDetail$Sunglasses": "

Indicates whether or not the face is wearing sunglasses, and the confidence level in the determination.

" - } - }, - "TextDetection": { - "base": "

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 text-detection.

", - "refs": { - "TextDetectionList$member": null - } - }, - "TextDetectionList": { - "base": null, - "refs": { - "DetectTextResponse$TextDetections": "

An array of text that was detected in the input image.

" - } - }, - "TextTypes": { - "base": null, - "refs": { - "TextDetection$Type": "

The type of text that was detected.

" - } - }, - "ThrottlingException": { - "base": "

Amazon Rekognition is temporarily unable to process the request. Try your call again.

", - "refs": { - } - }, - "Timestamp": { - "base": null, - "refs": { - "CelebrityRecognition$Timestamp": "

The time, in milliseconds from the start of the video, that the celebrity was recognized.

", - "ContentModerationDetection$Timestamp": "

Time, in milliseconds from the beginning of the video, that the moderation label was detected.

", - "FaceDetection$Timestamp": "

Time, in milliseconds from the start of the video, that the face was detected.

", - "LabelDetection$Timestamp": "

Time, in milliseconds from the start of the video, that the label was detected.

", - "PersonDetection$Timestamp": "

The time, in milliseconds from the start of the video, that the person was tracked.

", - "PersonMatch$Timestamp": "

The time, in milliseconds from the beginning of the video, that the person was matched in the video.

" - } - }, - "UInteger": { - "base": null, - "refs": { - "AgeRange$Low": "

The lowest estimated age.

", - "AgeRange$High": "

The highest estimated age.

", - "CreateCollectionResponse$StatusCode": "

HTTP status code indicating the result of the operation.

", - "DeleteCollectionResponse$StatusCode": "

HTTP status code that indicates the result of the operation.

", - "DetectLabelsRequest$MaxLabels": "

Maximum number of labels you want the service to return in the response. The service returns the specified number of highest confidence labels.

", - "TextDetection$Id": "

The identifier for the detected text. The identifier is only unique for a single call to DetectText.

", - "TextDetection$ParentId": "

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.

" - } - }, - "ULong": { - "base": null, - "refs": { - "VideoMetadata$DurationMillis": "

Length of the video in milliseconds.

", - "VideoMetadata$FrameHeight": "

Vertical pixel dimension of the video.

", - "VideoMetadata$FrameWidth": "

Horizontal pixel dimension of the video.

" - } - }, - "Url": { - "base": null, - "refs": { - "Urls$member": null - } - }, - "Urls": { - "base": null, - "refs": { - "Celebrity$Urls": "

An array of URLs pointing to additional information about the celebrity. If there is no additional information about the celebrity, this list is empty.

", - "CelebrityDetail$Urls": "

An array of URLs pointing to additional celebrity information.

", - "GetCelebrityInfoResponse$Urls": "

An array of URLs pointing to additional celebrity information.

" - } - }, - "Video": { - "base": "

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.

", - "refs": { - "StartCelebrityRecognitionRequest$Video": "

The video in which you want to recognize celebrities. The video must be stored in an Amazon S3 bucket.

", - "StartContentModerationRequest$Video": "

The video in which you want to moderate content. The video must be stored in an Amazon S3 bucket.

", - "StartFaceDetectionRequest$Video": "

The video in which you want to detect faces. The video must be stored in an Amazon S3 bucket.

", - "StartFaceSearchRequest$Video": "

The video you want to search. The video must be stored in an Amazon S3 bucket.

", - "StartLabelDetectionRequest$Video": "

The video in which you want to detect labels. The video must be stored in an Amazon S3 bucket.

", - "StartPersonTrackingRequest$Video": "

The video in which you want to detect people. The video must be stored in an Amazon S3 bucket.

" - } - }, - "VideoJobStatus": { - "base": null, - "refs": { - "GetCelebrityRecognitionResponse$JobStatus": "

The current status of the celebrity recognition job.

", - "GetContentModerationResponse$JobStatus": "

The current status of the content moderation job.

", - "GetFaceDetectionResponse$JobStatus": "

The current status of the face detection job.

", - "GetFaceSearchResponse$JobStatus": "

The current status of the face search job.

", - "GetLabelDetectionResponse$JobStatus": "

The current status of the label detection job.

", - "GetPersonTrackingResponse$JobStatus": "

The current status of the person tracking job.

" - } + "String":{ + "base":null, + "refs":{ + "Celebrity$Name":"

The name of the celebrity.

", + "CelebrityDetail$Name":"

The name of the celebrity.

", + "CreateCollectionResponse$CollectionArn":"

Amazon Resource Name (ARN) of the collection. You can use this to manage permissions on your resources.

", + "CreateCollectionResponse$FaceModelVersion":"

Version number of the face detection model associated with the collection you are creating.

", + "DescribeStreamProcessorResponse$StatusMessage":"

Detailed status message about the stream processor.

", + "FaceModelVersionList$member":null, + "GetCelebrityInfoResponse$Name":"

The name of the celebrity.

", + "IndexFacesResponse$FaceModelVersion":"

Version number of the face detection model associated with the input collection (CollectionId).

", + "Label$Name":"

The name (label) of the object.

", + "ListFacesResponse$NextToken":"

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.

", + "ListFacesResponse$FaceModelVersion":"

Version number of the face detection model associated with the input collection (CollectionId).

", + "ModerationLabel$Name":"

The label name for the type of content detected in the image.

", + "ModerationLabel$ParentName":"

The name for the parent label. Labels at the top-level of the hierarchy have the parent label \"\".

", + "SearchFacesByImageResponse$FaceModelVersion":"

Version number of the face detection model associated with the input collection (CollectionId).

", + "SearchFacesResponse$FaceModelVersion":"

Version number of the face detection model associated with the input collection (CollectionId).

", + "TextDetection$DetectedText":"

The word or line of text recognized by Amazon Rekognition.

", + "VideoMetadata$Codec":"

Type of compression used in the analyzed video.

", + "VideoMetadata$Format":"

Format of the analyzed video. Possible values are MP4, MOV and AVI.

" + } + }, + "Sunglasses":{ + "base":"

Indicates whether or not the face is wearing sunglasses, and the confidence level in the determination.

", + "refs":{ + "FaceDetail$Sunglasses":"

Indicates whether or not the face is wearing sunglasses, and the confidence level in the determination.

" + } + }, + "TextDetection":{ + "base":"

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.

", + "refs":{ + "TextDetectionList$member":null + } + }, + "TextDetectionList":{ + "base":null, + "refs":{ + "DetectTextResponse$TextDetections":"

An array of text that was detected in the input image.

" + } + }, + "TextTypes":{ + "base":null, + "refs":{ + "TextDetection$Type":"

The type of text that was detected.

" + } + }, + "ThrottlingException":{ + "base":"

Amazon Rekognition is temporarily unable to process the request. Try your call again.

", + "refs":{ + } + }, + "Timestamp":{ + "base":null, + "refs":{ + "CelebrityRecognition$Timestamp":"

The time, in milliseconds from the start of the video, that the celebrity was recognized.

", + "ContentModerationDetection$Timestamp":"

Time, in milliseconds from the beginning of the video, that the moderation label was detected.

", + "FaceDetection$Timestamp":"

Time, in milliseconds from the start of the video, that the face was detected.

", + "LabelDetection$Timestamp":"

Time, in milliseconds from the start of the video, that the label was detected.

", + "PersonDetection$Timestamp":"

The time, in milliseconds from the start of the video, that the person was tracked.

", + "PersonMatch$Timestamp":"

The time, in milliseconds from the beginning of the video, that the person was matched in the video.

" + } + }, + "UInteger":{ + "base":null, + "refs":{ + "AgeRange$Low":"

The lowest estimated age.

", + "AgeRange$High":"

The highest estimated age.

", + "CreateCollectionResponse$StatusCode":"

HTTP status code indicating the result of the operation.

", + "DeleteCollectionResponse$StatusCode":"

HTTP status code that indicates the result of the operation.

", + "DetectLabelsRequest$MaxLabels":"

Maximum number of labels you want the service to return in the response. The service returns the specified number of highest confidence labels.

", + "TextDetection$Id":"

The identifier for the detected text. The identifier is only unique for a single call to DetectText.

", + "TextDetection$ParentId":"

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.

" + } + }, + "ULong":{ + "base":null, + "refs":{ + "VideoMetadata$DurationMillis":"

Length of the video in milliseconds.

", + "VideoMetadata$FrameHeight":"

Vertical pixel dimension of the video.

", + "VideoMetadata$FrameWidth":"

Horizontal pixel dimension of the video.

" + } + }, + "Url":{ + "base":null, + "refs":{ + "Urls$member":null + } + }, + "Urls":{ + "base":null, + "refs":{ + "Celebrity$Urls":"

An array of URLs pointing to additional information about the celebrity. If there is no additional information about the celebrity, this list is empty.

", + "CelebrityDetail$Urls":"

An array of URLs pointing to additional celebrity information.

", + "GetCelebrityInfoResponse$Urls":"

An array of URLs pointing to additional celebrity information.

" + } + }, + "Video":{ + "base":"

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.

", + "refs":{ + "StartCelebrityRecognitionRequest$Video":"

The video in which you want to recognize celebrities. The video must be stored in an Amazon S3 bucket.

", + "StartContentModerationRequest$Video":"

The video in which you want to moderate content. The video must be stored in an Amazon S3 bucket.

", + "StartFaceDetectionRequest$Video":"

The video in which you want to detect faces. The video must be stored in an Amazon S3 bucket.

", + "StartFaceSearchRequest$Video":"

The video you want to search. The video must be stored in an Amazon S3 bucket.

", + "StartLabelDetectionRequest$Video":"

The video in which you want to detect labels. The video must be stored in an Amazon S3 bucket.

", + "StartPersonTrackingRequest$Video":"

The video in which you want to detect people. The video must be stored in an Amazon S3 bucket.

" + } + }, + "VideoJobStatus":{ + "base":null, + "refs":{ + "GetCelebrityRecognitionResponse$JobStatus":"

The current status of the celebrity recognition job.

", + "GetContentModerationResponse$JobStatus":"

The current status of the content moderation job.

", + "GetFaceDetectionResponse$JobStatus":"

The current status of the face detection job.

", + "GetFaceSearchResponse$JobStatus":"

The current status of the face search job.

", + "GetLabelDetectionResponse$JobStatus":"

The current status of the label detection job.

", + "GetPersonTrackingResponse$JobStatus":"

The current status of the person tracking job.

" + } }, - "VideoMetadata": { - "base": "

Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

", - "refs": { - "GetCelebrityRecognitionResponse$VideoMetadata": "

Information about a video that Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Rekognition Video operation.

", - "GetContentModerationResponse$VideoMetadata": "

Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from GetContentModeration.

", - "GetFaceDetectionResponse$VideoMetadata": "

Information about a video that Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

", - "GetFaceSearchResponse$VideoMetadata": "

Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from a Rekognition Video operation.

", - "GetLabelDetectionResponse$VideoMetadata": "

Information about a video that Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

", - "GetPersonTrackingResponse$VideoMetadata": "

Information about a video that Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Rekognition Video operation.

" - } - }, - "VideoTooLargeException": { - "base": "

The file size or duration of the supplied media is too large. The maximum file size is 8GB. The maximum duration is 2 hours.

", - "refs": { + "VideoMetadata":{ + "base":"

Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

", + "refs":{ + "GetCelebrityRecognitionResponse$VideoMetadata":"

Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition Video operation.

", + "GetContentModerationResponse$VideoMetadata":"

Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from GetContentModeration.

", + "GetFaceDetectionResponse$VideoMetadata":"

Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

", + "GetFaceSearchResponse$VideoMetadata":"

Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition Video operation.

", + "GetLabelDetectionResponse$VideoMetadata":"

Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

", + "GetPersonTrackingResponse$VideoMetadata":"

Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition Video operation.

" + } + }, + "VideoTooLargeException":{ + "base":"

The file size or duration of the supplied media is too large. The maximum file size is 8GB. The maximum duration is 2 hours.

", + "refs":{ } } } diff --git a/models/apis/rekognition/2016-06-27/examples-1.json b/models/apis/rekognition/2016-06-27/examples-1.json index 039e04d60f3..2b6a2e9fb16 100644 --- a/models/apis/rekognition/2016-06-27/examples-1.json +++ b/models/apis/rekognition/2016-06-27/examples-1.json @@ -1,650 +1,650 @@ { - "version": "1.0", - "examples": { - "CompareFaces": [ + "version":"1.0", + "examples":{ + "CompareFaces":[ { - "input": { - "SimilarityThreshold": 90, - "SourceImage": { - "S3Object": { - "Bucket": "mybucket", - "Name": "mysourceimage" + "input":{ + "SimilarityThreshold":90, + "SourceImage":{ + "S3Object":{ + "Bucket":"mybucket", + "Name":"mysourceimage" } }, - "TargetImage": { - "S3Object": { - "Bucket": "mybucket", - "Name": "mytargetimage" + "TargetImage":{ + "S3Object":{ + "Bucket":"mybucket", + "Name":"mytargetimage" } } }, - "output": { - "FaceMatches": [ + "output":{ + "FaceMatches":[ { - "Face": { - "BoundingBox": { - "Height": 0.33481481671333313, - "Left": 0.31888890266418457, - "Top": 0.4933333396911621, - "Width": 0.25 + "Face":{ + "BoundingBox":{ + "Height":0.33481481671333313, + "Left":0.31888890266418457, + "Top":0.4933333396911621, + "Width":0.25 }, - "Confidence": 99.9991226196289 + "Confidence":99.9991226196289 }, - "Similarity": 100 + "Similarity":100 } ], - "SourceImageFace": { - "BoundingBox": { - "Height": 0.33481481671333313, - "Left": 0.31888890266418457, - "Top": 0.4933333396911621, - "Width": 0.25 + "SourceImageFace":{ + "BoundingBox":{ + "Height":0.33481481671333313, + "Left":0.31888890266418457, + "Top":0.4933333396911621, + "Width":0.25 }, - "Confidence": 99.9991226196289 + "Confidence":99.9991226196289 } }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "CreateCollection":[ { - "input": { - "CollectionId": "myphotos" + "input":{ + "CollectionId":"myphotos" }, - "output": { - "CollectionArn": "aws:rekognition:us-west-2:123456789012:collection/myphotos", - "StatusCode": 200 + "output":{ + "CollectionArn":"aws:rekognition:us-west-2:123456789012:collection/myphotos", + "StatusCode":200 }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This operation creates a Rekognition collection for storing image data.", - "id": "to-create-a-collection-1481833313674", - "title": "To create a collection" + "description":"This operation creates a Rekognition collection for storing image data.", + "id":"to-create-a-collection-1481833313674", + "title":"To create a collection" } ], - "DeleteCollection": [ + "DeleteCollection":[ { - "input": { - "CollectionId": "myphotos" + "input":{ + "CollectionId":"myphotos" }, - "output": { - "StatusCode": 200 + "output":{ + "StatusCode":200 }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This operation deletes a Rekognition collection.", - "id": "to-delete-a-collection-1481838179973", - "title": "To delete a collection" + "description":"This operation deletes a Rekognition collection.", + "id":"to-delete-a-collection-1481838179973", + "title":"To delete a collection" } ], - "DeleteFaces": [ + "DeleteFaces":[ { - "input": { - "CollectionId": "myphotos", - "FaceIds": [ + "input":{ + "CollectionId":"myphotos", + "FaceIds":[ "ff43d742-0c13-5d16-a3e8-03d3f58e980b" ] }, - "output": { - "DeletedFaces": [ + "output":{ + "DeletedFaces":[ "ff43d742-0c13-5d16-a3e8-03d3f58e980b" ] }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This operation deletes one or more faces from a Rekognition collection.", - "id": "to-delete-a-face-1482182799377", - "title": "To delete a face" + "description":"This operation deletes one or more faces from a Rekognition collection.", + "id":"to-delete-a-face-1482182799377", + "title":"To delete a face" } ], - "DetectFaces": [ + "DetectFaces":[ { - "input": { - "Image": { - "S3Object": { - "Bucket": "mybucket", - "Name": "myphoto" + "input":{ + "Image":{ + "S3Object":{ + "Bucket":"mybucket", + "Name":"myphoto" } } }, - "output": { - "FaceDetails": [ + "output":{ + "FaceDetails":[ { - "BoundingBox": { - "Height": 0.18000000715255737, - "Left": 0.5555555820465088, - "Top": 0.33666667342185974, - "Width": 0.23999999463558197 + "BoundingBox":{ + "Height":0.18000000715255737, + "Left":0.5555555820465088, + "Top":0.33666667342185974, + "Width":0.23999999463558197 }, - "Confidence": 100, - "Landmarks": [ + "Confidence":100, + "Landmarks":[ { - "Type": "eyeLeft", - "X": 0.6394737362861633, - "Y": 0.40819624066352844 + "Type":"eyeLeft", + "X":0.6394737362861633, + "Y":0.40819624066352844 }, { - "Type": "eyeRight", - "X": 0.7266660928726196, - "Y": 0.41039225459098816 + "Type":"eyeRight", + "X":0.7266660928726196, + "Y":0.41039225459098816 }, { - "Type": "eyeRight", - "X": 0.6912462115287781, - "Y": 0.44240960478782654 + "Type":"eyeRight", + "X":0.6912462115287781, + "Y":0.44240960478782654 }, { - "Type": "mouthDown", - "X": 0.6306198239326477, - "Y": 0.46700039505958557 + "Type":"mouthDown", + "X":0.6306198239326477, + "Y":0.46700039505958557 }, { - "Type": "mouthUp", - "X": 0.7215608954429626, - "Y": 0.47114261984825134 + "Type":"mouthUp", + "X":0.7215608954429626, + "Y":0.47114261984825134 } ], - "Pose": { - "Pitch": 4.050806522369385, - "Roll": 0.9950747489929199, - "Yaw": 13.693790435791016 + "Pose":{ + "Pitch":4.050806522369385, + "Roll":0.9950747489929199, + "Yaw":13.693790435791016 }, - "Quality": { - "Brightness": 37.60169982910156, - "Sharpness": 80 + "Quality":{ + "Brightness":37.60169982910156, + "Sharpness":80 } } ], - "OrientationCorrection": "ROTATE_0" + "OrientationCorrection":"ROTATE_0" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "DetectLabels":[ { - "input": { - "Image": { - "S3Object": { - "Bucket": "mybucket", - "Name": "myphoto" + "input":{ + "Image":{ + "S3Object":{ + "Bucket":"mybucket", + "Name":"myphoto" } }, - "MaxLabels": 123, - "MinConfidence": 70 + "MaxLabels":123, + "MinConfidence":70 }, - "output": { - "Labels": [ + "output":{ + "Labels":[ { - "Confidence": 99.25072479248047, - "Name": "People" + "Confidence":99.25072479248047, + "Name":"People" }, { - "Confidence": 99.25074005126953, - "Name": "Person" + "Confidence":99.25074005126953, + "Name":"Person" } ] }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This operation detects labels in the supplied image", - "id": "to-detect-labels-1481834255770", - "title": "To detect labels" + "description":"This operation detects labels in the supplied image", + "id":"to-detect-labels-1481834255770", + "title":"To detect labels" } ], - "IndexFaces": [ + "IndexFaces":[ { - "input": { - "CollectionId": "myphotos", - "DetectionAttributes": [ + "input":{ + "CollectionId":"myphotos", + "DetectionAttributes":[ ], - "ExternalImageId": "myphotoid", - "Image": { - "S3Object": { - "Bucket": "mybucket", - "Name": "myphoto" + "ExternalImageId":"myphotoid", + "Image":{ + "S3Object":{ + "Bucket":"mybucket", + "Name":"myphoto" } } }, - "output": { - "FaceRecords": [ + "output":{ + "FaceRecords":[ { - "Face": { - "BoundingBox": { - "Height": 0.33481481671333313, - "Left": 0.31888890266418457, - "Top": 0.4933333396911621, - "Width": 0.25 + "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" + "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 + "FaceDetail":{ + "BoundingBox":{ + "Height":0.33481481671333313, + "Left":0.31888890266418457, + "Top":0.4933333396911621, + "Width":0.25 }, - "Confidence": 99.9991226196289, - "Landmarks": [ + "Confidence":99.9991226196289, + "Landmarks":[ { - "Type": "eyeLeft", - "X": 0.3976764678955078, - "Y": 0.6248345971107483 + "Type":"eyeLeft", + "X":0.3976764678955078, + "Y":0.6248345971107483 }, { - "Type": "eyeRight", - "X": 0.4810936450958252, - "Y": 0.6317117214202881 + "Type":"eyeRight", + "X":0.4810936450958252, + "Y":0.6317117214202881 }, { - "Type": "noseLeft", - "X": 0.41986238956451416, - "Y": 0.7111940383911133 + "Type":"noseLeft", + "X":0.41986238956451416, + "Y":0.7111940383911133 }, { - "Type": "mouthDown", - "X": 0.40525302290916443, - "Y": 0.7497701048851013 + "Type":"mouthDown", + "X":0.40525302290916443, + "Y":0.7497701048851013 }, { - "Type": "mouthUp", - "X": 0.4753248989582062, - "Y": 0.7558549642562866 + "Type":"mouthUp", + "X":0.4753248989582062, + "Y":0.7558549642562866 } ], - "Pose": { - "Pitch": -9.713645935058594, - "Roll": 4.707281112670898, - "Yaw": -24.438663482666016 + "Pose":{ + "Pitch":-9.713645935058594, + "Roll":4.707281112670898, + "Yaw":-24.438663482666016 }, - "Quality": { - "Brightness": 29.23358917236328, - "Sharpness": 80 + "Quality":{ + "Brightness":29.23358917236328, + "Sharpness":80 } } }, { - "Face": { - "BoundingBox": { - "Height": 0.32592591643333435, - "Left": 0.5144444704055786, - "Top": 0.15111111104488373, - "Width": 0.24444444477558136 + "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" + "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 + "FaceDetail":{ + "BoundingBox":{ + "Height":0.32592591643333435, + "Left":0.5144444704055786, + "Top":0.15111111104488373, + "Width":0.24444444477558136 }, - "Confidence": 99.99950408935547, - "Landmarks": [ + "Confidence":99.99950408935547, + "Landmarks":[ { - "Type": "eyeLeft", - "X": 0.6006892323493958, - "Y": 0.290842205286026 + "Type":"eyeLeft", + "X":0.6006892323493958, + "Y":0.290842205286026 }, { - "Type": "eyeRight", - "X": 0.6808141469955444, - "Y": 0.29609042406082153 + "Type":"eyeRight", + "X":0.6808141469955444, + "Y":0.29609042406082153 }, { - "Type": "noseLeft", - "X": 0.6395332217216492, - "Y": 0.3522595763206482 + "Type":"noseLeft", + "X":0.6395332217216492, + "Y":0.3522595763206482 }, { - "Type": "mouthDown", - "X": 0.5892083048820496, - "Y": 0.38689887523651123 + "Type":"mouthDown", + "X":0.5892083048820496, + "Y":0.38689887523651123 }, { - "Type": "mouthUp", - "X": 0.674560010433197, - "Y": 0.394125759601593 + "Type":"mouthUp", + "X":0.674560010433197, + "Y":0.394125759601593 } ], - "Pose": { - "Pitch": -4.683138370513916, - "Roll": 2.1029529571533203, - "Yaw": 6.716655254364014 + "Pose":{ + "Pitch":-4.683138370513916, + "Roll":2.1029529571533203, + "Yaw":6.716655254364014 }, - "Quality": { - "Brightness": 34.951698303222656, - "Sharpness": 160 + "Quality":{ + "Brightness":34.951698303222656, + "Sharpness":160 } } } ], - "OrientationCorrection": "ROTATE_0" + "OrientationCorrection":"ROTATE_0" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "ListCollections":[ { - "input": { + "input":{ }, - "output": { - "CollectionIds": [ + "output":{ + "CollectionIds":[ "myphotos" ] }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "output":{ } }, - "description": "This operation returns a list of Rekognition collections.", - "id": "to-list-the-collections-1482179199088", - "title": "To list the collections" + "description":"This operation returns a list of Rekognition collections.", + "id":"to-list-the-collections-1482179199088", + "title":"To list the collections" } ], - "ListFaces": [ + "ListFaces":[ { - "input": { - "CollectionId": "myphotos", - "MaxResults": 20 + "input":{ + "CollectionId":"myphotos", + "MaxResults":20 }, - "output": { - "Faces": [ + "output":{ + "Faces":[ { - "BoundingBox": { - "Height": 0.18000000715255737, - "Left": 0.5555559992790222, - "Top": 0.336667001247406, - "Width": 0.23999999463558197 + "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" + "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 + "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" + "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 + "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" + "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 + "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" + "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 + "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" + "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 + "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" + "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 + "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" + "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 + "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" + "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 + "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" + "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 + "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" + "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 + "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" + "Confidence":99.99909973144531, + "FaceId":"ff43d742-0c13-5d16-a3e8-03d3f58e980b", + "ImageId":"465f4e93-763e-51d0-b030-b9667a2d94b1" } ] }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "SearchFaces":[ { - "input": { - "CollectionId": "myphotos", - "FaceId": "70008e50-75e4-55d0-8e80-363fb73b3a14", - "FaceMatchThreshold": 90, - "MaxFaces": 10 - }, - "output": { - "FaceMatches": [ + "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 + "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" + "Confidence":99.99949645996094, + "FaceId":"8be04dba-4e58-520d-850e-9eae4af70eb2", + "ImageId":"465f4e93-763e-51d0-b030-b9667a2d94b1" }, - "Similarity": 99.97222137451172 + "Similarity":99.97222137451172 }, { - "Face": { - "BoundingBox": { - "Height": 0.16555599868297577, - "Left": 0.30963000655174255, - "Top": 0.7066670060157776, - "Width": 0.22074100375175476 + "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" + "Confidence":100, + "FaceId":"29a75abe-397b-5101-ba4f-706783b2246c", + "ImageId":"147fdf82-7a71-52cf-819b-e786c7b9746e" }, - "Similarity": 97.04154968261719 + "Similarity":97.04154968261719 }, { - "Face": { - "BoundingBox": { - "Height": 0.18888899683952332, - "Left": 0.3783380091190338, - "Top": 0.2355560064315796, - "Width": 0.25222599506378174 + "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" + "Confidence":99.9999008178711, + "FaceId":"908544ad-edc3-59df-8faf-6a87cc256cf5", + "ImageId":"3c731605-d772-541a-a5e7-0375dbc68a07" }, - "Similarity": 95.94520568847656 + "Similarity":95.94520568847656 } ], - "SearchedFaceId": "70008e50-75e4-55d0-8e80-363fb73b3a14" + "SearchedFaceId":"70008e50-75e4-55d0-8e80-363fb73b3a14" }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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": [ + "SearchFacesByImage":[ { - "input": { - "CollectionId": "myphotos", - "FaceMatchThreshold": 95, - "Image": { - "S3Object": { - "Bucket": "mybucket", - "Name": "myphoto" + "input":{ + "CollectionId":"myphotos", + "FaceMatchThreshold":95, + "Image":{ + "S3Object":{ + "Bucket":"mybucket", + "Name":"myphoto" } }, - "MaxFaces": 5 + "MaxFaces":5 }, - "output": { - "FaceMatches": [ + "output":{ + "FaceMatches":[ { - "Face": { - "BoundingBox": { - "Height": 0.3234420120716095, - "Left": 0.3233329951763153, - "Top": 0.5, - "Width": 0.24222199618816376 + "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" + "Confidence":99.99829864501953, + "FaceId":"38271d79-7bc2-5efb-b752-398a8d575b85", + "ImageId":"d5631190-d039-54e4-b267-abd22c8647c5" }, - "Similarity": 99.97036743164062 + "Similarity":99.97036743164062 } ], - "SearchedFaceBoundingBox": { - "Height": 0.33481481671333313, - "Left": 0.31888890266418457, - "Top": 0.4933333396911621, - "Width": 0.25 + "SearchedFaceBoundingBox":{ + "Height":0.33481481671333313, + "Left":0.31888890266418457, + "Top":0.4933333396911621, + "Width":0.25 }, - "SearchedFaceConfidence": 99.9991226196289 + "SearchedFaceConfidence":99.9991226196289 }, - "comments": { - "input": { + "comments":{ + "input":{ }, - "output": { + "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" + "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/models/apis/resource-groups/2017-11-27/api-2.json b/models/apis/resource-groups/2017-11-27/api-2.json index a0938198f57..a2b32744121 100644 --- a/models/apis/resource-groups/2017-11-27/api-2.json +++ b/models/apis/resource-groups/2017-11-27/api-2.json @@ -99,8 +99,8 @@ "ListGroupResources":{ "name":"ListGroupResources", "http":{ - "method":"GET", - "requestUri":"/groups/{GroupName}/resource-identifiers" + "method":"POST", + "requestUri":"/groups/{GroupName}/resource-identifiers-list" }, "input":{"shape":"ListGroupResourcesInput"}, "output":{"shape":"ListGroupResourcesOutput"}, @@ -117,8 +117,8 @@ "ListGroups":{ "name":"ListGroups", "http":{ - "method":"GET", - "requestUri":"/groups" + "method":"POST", + "requestUri":"/groups-list" }, "input":{"shape":"ListGroupsInput"}, "output":{"shape":"ListGroupsOutput"}, @@ -347,7 +347,7 @@ "GroupDescription":{ "type":"string", "max":512, - "pattern":"[\\sa-zA-Z0-9_\\.-]+" + "pattern":"[\\sa-zA-Z0-9_\\.-]*" }, "GroupList":{ "type":"list", @@ -387,6 +387,7 @@ "location":"uri", "locationName":"GroupName" }, + "Filters":{"shape":"ResourceFilterList"}, "MaxResults":{ "shape":"MaxResults", "location":"querystring", @@ -460,7 +461,38 @@ }, "ResourceArn":{ "type":"string", - "pattern":"arn:aws:[a-z0-9]*:([a-z]{2}-[a-z]+-\\d{1})?:([0-9]{12})?:.+" + "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"}, + "Values":{"shape":"ResourceFilterValues"} + } + }, + "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", diff --git a/models/apis/resource-groups/2017-11-27/docs-2.json b/models/apis/resource-groups/2017-11-27/docs-2.json index 79084a96d3a..50d9fbeaf5f 100644 --- a/models/apis/resource-groups/2017-11-27/docs-2.json +++ b/models/apis/resource-groups/2017-11-27/docs-2.json @@ -127,7 +127,7 @@ "GroupName": { "base": null, "refs": { - "CreateGroupInput$Name": "

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 127 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.

", + "CreateGroupInput$Name": "

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.

", "DeleteGroupInput$GroupName": "

The name of the resource group to delete.

", "GetGroupInput$GroupName": "

The name of the resource group.

", "GetGroupQueryInput$GroupName": "

The name of the resource group.

", @@ -217,6 +217,36 @@ "ResourceIdentifier$ResourceArn": "

The ARN of a resource.

" } }, + "ResourceFilter": { + "base": "

A filter name and value pair that is used to obtain more specific results from a list of resources.

", + "refs": { + "ResourceFilterList$member": null + } + }, + "ResourceFilterList": { + "base": null, + "refs": { + "ListGroupResourcesInput$Filters": "

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.

" + } + }, + "ResourceFilterName": { + "base": null, + "refs": { + "ResourceFilter$Name": "

The name of the filter. Filter names are case-sensitive.

" + } + }, + "ResourceFilterValue": { + "base": null, + "refs": { + "ResourceFilterValues$member": null + } + }, + "ResourceFilterValues": { + "base": null, + "refs": { + "ResourceFilter$Values": "

One or more filter values. Allowed filter values vary by resource filter name, and are case-sensitive.

" + } + }, "ResourceIdentifier": { "base": "

The ARN of a resource, and its resource type.

", "refs": { @@ -289,10 +319,10 @@ "Tags": { "base": null, "refs": { - "CreateGroupInput$Tags": "

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 127 characters, and tag values can have a maximum length of 255 characters.

", + "CreateGroupInput$Tags": "

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$Tags": "

The tags associated with the group.

", "GetTagsOutput$Tags": "

The tags associated with the specified resource.

", - "TagInput$Tags": "

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 127 characters, and tag values can have a maximum length of 255 characters.

", + "TagInput$Tags": "

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.

", "TagOutput$Tags": "

The tags that have been added to the specified resource.

" } }, diff --git a/models/apis/route53/2013-04-01/api-2.json b/models/apis/route53/2013-04-01/api-2.json index 35e79b002e5..3f4f1e507e2 100644 --- a/models/apis/route53/2013-04-01/api-2.json +++ b/models/apis/route53/2013-04-01/api-2.json @@ -7,6 +7,7 @@ "protocol":"rest-xml", "serviceAbbreviation":"Route 53", "serviceFullName":"Amazon Route 53", + "serviceId":"Route 53", "signatureVersion":"v4", "uid":"route53-2013-04-01" }, @@ -219,6 +220,7 @@ "errors":[ {"shape":"NoSuchTrafficPolicy"}, {"shape":"InvalidInput"}, + {"shape":"TooManyTrafficPolicyVersionsForCurrentPolicy"}, {"shape":"ConcurrentModification"}, {"shape":"InvalidTrafficPolicyDocument"} ] @@ -1101,11 +1103,13 @@ "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, @@ -3176,13 +3180,16 @@ "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, @@ -3431,6 +3438,14 @@ "error":{"httpStatusCode":400}, "exception":true }, + "TooManyTrafficPolicyVersionsForCurrentPolicy":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "TooManyVPCAssociationAuthorizations":{ "type":"structure", "members":{ @@ -3724,12 +3739,14 @@ "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" diff --git a/models/apis/route53/2013-04-01/docs-2.json b/models/apis/route53/2013-04-01/docs-2.json index 2f3e225de9f..edce14294ab 100644 --- a/models/apis/route53/2013-04-01/docs-2.json +++ b/models/apis/route53/2013-04-01/docs-2.json @@ -8,7 +8,7 @@ "CreateHealthCheck": "

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": "

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": "

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": "

Creates a delegation set (a group of four name servers) that can be reused by multiple hosted zones. If a hosted zoned ID is specified, CreateReusableDelegationSet marks the delegation set associated with that zone as reusable

A reusable delegation set can't be associated with a private hosted zone.

For information on how to use a reusable delegation set to configure white label name servers, see Configuring White Label Name Servers.

", + "CreateReusableDelegationSet": "

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": "

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": "

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": "

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.

", @@ -219,7 +219,7 @@ } }, "ConflictingDomainExists": { - "base": "

The cause of this error depends on whether you're trying to create a public or a private hosted zone:

  • Public hosted zone: Two hosted zones that have the same name or that have a parent/child relationship (example.com and test.example.com) can't have any common name servers. You tried to create a hosted zone that has the same name as an existing hosted zone or that's the parent or child of an existing hosted zone, and you specified a delegation set that shares one or more name servers with the existing hosted zone.

  • Private hosted zone: You specified an Amazon VPC that you're already using for another hosted zone, and the domain that you specified for one of the hosted zones is a subdomain of the domain that you specified for the other hosted zone. For example, you can't use the same Amazon VPC for the hosted zones for example.com and test.example.com.

", + "base": "

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.

", "refs": { } }, @@ -546,6 +546,7 @@ "TooManyHostedZones$message": "

Descriptive message for the error response.

", "TooManyTrafficPolicies$message": "

Descriptive message for the error response.

", "TooManyTrafficPolicyInstances$message": "

Descriptive message for the error response.

", + "TooManyTrafficPolicyVersionsForCurrentPolicy$message": "

Descriptive message for the error response.

", "TooManyVPCAssociationAuthorizations$message": "

Descriptive message for the error response.

", "TrafficPolicyAlreadyExists$message": "

Descriptive message for the error response.

", "TrafficPolicyInUse$message": "

Descriptive message for the error response.

", @@ -849,7 +850,7 @@ "refs": { "ChildHealthCheckList$member": null, "DeleteHealthCheckRequest$HealthCheckId": "

The ID of the health check that you want to delete.

", - "GetHealthCheckLastFailureReasonRequest$HealthCheckId": "

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.

", + "GetHealthCheckLastFailureReasonRequest$HealthCheckId": "

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.

", "GetHealthCheckRequest$HealthCheckId": "

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.

", "GetHealthCheckStatusRequest$HealthCheckId": "

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.

", "HealthCheck$Id": "

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.

", @@ -963,8 +964,8 @@ "HostedZoneLimitType": { "base": null, "refs": { - "GetHostedZoneLimitRequest$Type": "

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_TYPE: The maximum number of Amazon VPCs that you can associate with the specified private hosted zone.

", - "HostedZoneLimit$Type": "

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_TYPE: The maximum number of Amazon VPCs that you can associate with the specified private hosted zone.

" + "GetHostedZoneLimitRequest$Type": "

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.

", + "HostedZoneLimit$Type": "

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.

" } }, "HostedZoneNotEmpty": { @@ -1823,6 +1824,11 @@ "refs": { } }, + "TooManyTrafficPolicyVersionsForCurrentPolicy": { + "base": "

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.

", + "refs": { + } + }, "TooManyVPCAssociationAuthorizations": { "base": "

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.

", "refs": { diff --git a/models/apis/route53/2013-04-01/smoke.json b/models/apis/route53/2013-04-01/smoke.json new file mode 100644 index 00000000000..0b571737085 --- /dev/null +++ b/models/apis/route53/2013-04-01/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-east-1", + "testCases": [ + { + "operationName": "ListHostedZones", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "GetHostedZone", + "input": { + "Id": "fake-zone" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/route53domains/2014-05-15/api-2.json b/models/apis/route53domains/2014-05-15/api-2.json index f291a3d5321..493e58c243d 100644 --- a/models/apis/route53domains/2014-05-15/api-2.json +++ b/models/apis/route53domains/2014-05-15/api-2.json @@ -1015,6 +1015,7 @@ "ListOperationsRequest":{ "type":"structure", "members":{ + "SubmittedSince":{"shape":"Timestamp"}, "Marker":{"shape":"PageMarker"}, "MaxItems":{"shape":"PageMaxItems"} } diff --git a/models/apis/route53domains/2014-05-15/docs-2.json b/models/apis/route53domains/2014-05-15/docs-2.json index ccc2cee6908..2c45d5c793a 100644 --- a/models/apis/route53domains/2014-05-15/docs-2.json +++ b/models/apis/route53domains/2014-05-15/docs-2.json @@ -7,7 +7,7 @@ "DeleteTagsForDomain": "

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": "

This operation disables automatic renewal of domain registration for the specified domain.

", "DisableDomainTransferLock": "

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": "

This operation configures Amazon Route 53 to automatically renew the specified domain before the domain registration expires. The cost of renewing your domain registration is billed to your AWS account.

The period during which you can renew a domain name varies by TLD. For a list of TLDs and their renewal policies, see \"Renewal, restoration, and deletion times\" on the website for our registrar partner, Gandi. Route 53 requires that you renew before the end of the renewal period that is listed on the Gandi website so we can complete processing before the deadline.

", + "EnableDomainAutoRenew": "

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": "

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": "

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": "

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.

", @@ -16,13 +16,13 @@ "ListDomains": "

This operation returns all the domain names registered with Amazon Route 53 for the current AWS account.

", "ListOperations": "

This operation returns the operation IDs of operations that are not yet complete.

", "ListTagsForDomain": "

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": "

This operation registers a domain. Domains are registered by the AWS registrar partner, Gandi. For some top-level domains (TLDs), this operation requires extra parameters.

When you register a domain, Amazon Route 53 does the following:

  • Creates a Amazon Route 53 hosted zone that has the same name as the domain. Amazon Route 53 assigns four name servers to your hosted zone and automatically updates your domain registration with the names of these name servers.

  • Enables autorenew, so your domain registration will renew automatically each year. We'll notify you in advance of the renewal date so you can choose whether to renew the registration.

  • Optionally enables privacy protection, so WHOIS queries return contact information for our registrar partner, Gandi, instead of the information you entered for registrant, admin, and tech contacts.

  • If registration is successful, returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant is notified by email.

  • Charges your AWS account an amount based on the top-level domain. For more information, see Amazon Route 53 Pricing.

", + "RegisterDomain": "

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": "

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": "

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": "

This operation returns the AuthCode for the domain. To transfer a domain to another registrar, you provide this value to the new registrar.

", - "TransferDomain": "

This operation transfers a domain from another registrar to Amazon Route 53. When the transfer is complete, the domain is registered with the AWS registrar partner, Gandi.

For transfer requirements, a detailed procedure, and information about viewing the status of a domain transfer, see Transferring Registration for a Domain to Amazon Route 53 in the Amazon Route 53 Developer Guide.

If the registrar for your domain is also the DNS service provider for the domain, we highly recommend that you consider transferring your DNS service to Amazon Route 53 or to another DNS service provider before you transfer your registration. Some registrars provide free DNS service when you purchase a domain registration. When you transfer the registration, the previous registrar will not renew your domain registration and could end your DNS service at any time.

If the registrar for your domain is also the DNS service provider for the domain and you don't transfer DNS service to another provider, your website, email, and the web applications associated with the domain might become unavailable.

If the transfer is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the transfer doesn't complete successfully, the domain registrant will be notified by email.

", - "UpdateDomainContact": "

This operation updates the contact information for a particular domain. Information for at least one contact (registrant, administrator, or technical) must be supplied for update.

If the update is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

", - "UpdateDomainContactPrivacy": "

This operation updates the specified domain contact's privacy setting. When the privacy option is enabled, personal information such as postal or email address is hidden from the results of a public WHOIS query. The privacy services are provided by the AWS registrar, Gandi. For more information, see the Gandi privacy features.

This operation only affects the privacy of the specified contact type (registrant, administrator, or tech). Successful acceptance returns an operation ID that you can use with GetOperationDetail to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

", + "TransferDomain": "

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": "

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": "

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": "

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": "

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": "

Returns all the domain-related billing records for the current AWS account for a specified period

" @@ -53,22 +53,22 @@ "DomainSummary$AutoRenew": "

Indicates whether the domain is automatically renewed upon expiration.

", "DomainSummary$TransferLock": "

Indicates whether a domain is locked from unauthorized transfer to another party.

", "GetDomainDetailResponse$AutoRenew": "

Specifies whether the domain registration is set to renew automatically.

", - "GetDomainDetailResponse$AdminPrivacy": "

Specifies whether contact information for the admin contact is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

", - "GetDomainDetailResponse$RegistrantPrivacy": "

Specifies whether contact information for the registrant contact is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

", - "GetDomainDetailResponse$TechPrivacy": "

Specifies whether contact information for the tech contact is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

", + "GetDomainDetailResponse$AdminPrivacy": "

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.

", + "GetDomainDetailResponse$RegistrantPrivacy": "

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).

", + "GetDomainDetailResponse$TechPrivacy": "

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.

", "GetDomainSuggestionsRequest$OnlyAvailable": "

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.

", "RegisterDomainRequest$AutoRenew": "

Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect after the account is charged.

Default: true

", - "RegisterDomainRequest$PrivacyProtectAdminContact": "

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Default: true

", - "RegisterDomainRequest$PrivacyProtectRegistrantContact": "

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Default: true

", - "RegisterDomainRequest$PrivacyProtectTechContact": "

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Default: true

", + "RegisterDomainRequest$PrivacyProtectAdminContact": "

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

", + "RegisterDomainRequest$PrivacyProtectRegistrantContact": "

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

", + "RegisterDomainRequest$PrivacyProtectTechContact": "

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

", "ResendContactReachabilityEmailResponse$isAlreadyVerified": "

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.

", "TransferDomainRequest$AutoRenew": "

Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect after the account is charged.

Default: true

", - "TransferDomainRequest$PrivacyProtectAdminContact": "

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Default: true

", - "TransferDomainRequest$PrivacyProtectRegistrantContact": "

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Default: true

", - "TransferDomainRequest$PrivacyProtectTechContact": "

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Default: true

", - "UpdateDomainContactPrivacyRequest$AdminPrivacy": "

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

", - "UpdateDomainContactPrivacyRequest$RegistrantPrivacy": "

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

", - "UpdateDomainContactPrivacyRequest$TechPrivacy": "

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

" + "TransferDomainRequest$PrivacyProtectAdminContact": "

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

", + "TransferDomainRequest$PrivacyProtectRegistrantContact": "

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

", + "TransferDomainRequest$PrivacyProtectTechContact": "

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

", + "UpdateDomainContactPrivacyRequest$AdminPrivacy": "

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.

", + "UpdateDomainContactPrivacyRequest$RegistrantPrivacy": "

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).

", + "UpdateDomainContactPrivacyRequest$TechPrivacy": "

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.

" } }, "CheckDomainAvailabilityRequest": { @@ -272,7 +272,7 @@ } }, "DomainTransferability": { - "base": null, + "base": "

A complex type that contains information about whether the specified domain can be transferred to Amazon Route 53.

", "refs": { "CheckDomainTransferabilityResponse$Transferability": "

A complex type that contains information about whether the specified domain can be transferred to Amazon Route 53.

" } @@ -345,7 +345,7 @@ "ExtraParamName": { "base": null, "refs": { - "ExtraParam$Name": "

Name of the additional parameter required by the top-level domain.

" + "ExtraParam$Name": "

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.

" } }, "ExtraParamValue": { @@ -579,7 +579,7 @@ "RegistrarName": { "base": null, "refs": { - "GetDomainDetailResponse$RegistrarName": "

Name of the registrar of the domain as identified in the registry. Amazon Route 53 domains are registered by registrar Gandi. The value is \"GANDI SAS\".

" + "GetDomainDetailResponse$RegistrarName": "

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\".

" } }, "RegistrarUrl": { @@ -690,13 +690,14 @@ "refs": { "BillingRecord$BillDate": "

The date that the operation was billed, in Unix format.

", "DomainSummary$Expiry": "

Expiration date of the domain in Coordinated Universal Time (UTC).

", - "GetDomainDetailResponse$CreationDate": "

The date when the domain was created as found in the response to a WHOIS query. The date format is Unix time.

", - "GetDomainDetailResponse$UpdatedDate": "

The last updated date of the domain as found in the response to a WHOIS query. The date format is Unix time.

", - "GetDomainDetailResponse$ExpirationDate": "

The date when the registration for the domain is set to expire. The date format is Unix time.

", + "GetDomainDetailResponse$CreationDate": "

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).

", + "GetDomainDetailResponse$UpdatedDate": "

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).

", + "GetDomainDetailResponse$ExpirationDate": "

The date when the registration for the domain is set to expire. The date and time is in Coordinated Universal time (UTC).

", "GetOperationDetailResponse$SubmittedDate": "

The date when the request was submitted.

", + "ListOperationsRequest$SubmittedSince": "

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).

", "OperationSummary$SubmittedDate": "

The date when the request was submitted.

", - "ViewBillingRequest$Start": "

The beginning date and time for the time period for which you want a list of billing records. Specify the date in Unix time format.

", - "ViewBillingRequest$End": "

The end date and time for the time period for which you want a list of billing records. Specify the date in Unix time format.

" + "ViewBillingRequest$Start": "

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).

", + "ViewBillingRequest$End": "

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).

" } }, "TransferDomainRequest": { diff --git a/models/apis/runtime.lex/2016-11-28/api-2.json b/models/apis/runtime.lex/2016-11-28/api-2.json index 91d42c10f98..5fe565ffa8e 100644 --- a/models/apis/runtime.lex/2016-11-28/api-2.json +++ b/models/apis/runtime.lex/2016-11-28/api-2.json @@ -6,6 +6,7 @@ "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" @@ -177,6 +178,15 @@ "error":{"httpStatusCode":508}, "exception":true }, + "MessageFormatType":{ + "type":"string", + "enum":[ + "PlainText", + "CustomPayload", + "SSML", + "Composite" + ] + }, "NotAcceptableException":{ "type":"structure", "members":{ @@ -274,6 +284,11 @@ "location":"header", "locationName":"x-amz-lex-message" }, + "messageFormat":{ + "shape":"MessageFormatType", + "location":"header", + "locationName":"x-amz-lex-message-format" + }, "dialogState":{ "shape":"DialogState", "location":"header", @@ -329,6 +344,7 @@ "slots":{"shape":"StringMap"}, "sessionAttributes":{"shape":"StringMap"}, "message":{"shape":"Text"}, + "messageFormat":{"shape":"MessageFormatType"}, "dialogState":{"shape":"DialogState"}, "slotToElicit":{"shape":"String"}, "responseCard":{"shape":"ResponseCard"} diff --git a/models/apis/runtime.lex/2016-11-28/docs-2.json b/models/apis/runtime.lex/2016-11-28/docs-2.json index 00f049c8fb1..322e5e8dae9 100644 --- a/models/apis/runtime.lex/2016-11-28/docs-2.json +++ b/models/apis/runtime.lex/2016-11-28/docs-2.json @@ -134,6 +134,13 @@ "refs": { } }, + "MessageFormatType": { + "base": null, + "refs": { + "PostContentResponse$messageFormat": "

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.

", + "PostTextResponse$messageFormat": "

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.

" + } + }, "NotAcceptableException": { "base": "

The accept header in the request does not have a valid value.

", "refs": { @@ -223,9 +230,9 @@ "Text": { "base": null, "refs": { - "PostContentResponse$message": "

Message to convey to the user. It can come from the bot's configuration or a code hook (Lambda function). If the current intent is not configured with a code hook or if the code hook returned Delegate as the dialogAction.type in its response, then Amazon Lex decides the next course of action and selects an appropriate message from the bot configuration based on the current user interaction context. For example, if Amazon Lex is not able to understand the user input, it uses a clarification prompt message (For more information, see the Error Handling section in the Amazon Lex console). Another example: if the intent requires confirmation before fulfillment, then Amazon Lex uses the confirmation prompt message in the intent configuration. If the code hook returns a message, Amazon Lex passes it as-is in its response to the client.

", + "PostContentResponse$message": "

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.

", "PostTextRequest$inputText": "

The text that the user entered (Amazon Lex interprets this text).

", - "PostTextResponse$message": "

A message to convey to the user. It can come from the bot's configuration or a code hook (Lambda function). If the current intent is not configured with a code hook or the code hook returned Delegate as the dialogAction.type in its response, then Amazon Lex decides the next course of action and selects an appropriate message from the bot configuration based on the current user interaction context. For example, if Amazon Lex is not able to understand the user input, it uses a clarification prompt message (for more information, see the Error Handling section in the Amazon Lex console). Another example: if the intent requires confirmation before fulfillment, then Amazon Lex uses the confirmation prompt message in the intent configuration. If the code hook returns a message, Amazon Lex passes it as-is in its response to the client.

" + "PostTextResponse$message": "

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.

" } }, "UnsupportedMediaTypeException": { diff --git a/models/apis/s3/2006-03-01/api-2.json b/models/apis/s3/2006-03-01/api-2.json index 0ba2fa8c9cf..cf132919a60 100644 --- a/models/apis/s3/2006-03-01/api-2.json +++ b/models/apis/s3/2006-03-01/api-2.json @@ -751,6 +751,19 @@ "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectRestore.html", "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"} + }, "UploadPart":{ "name":"UploadPart", "http":{ @@ -846,6 +859,7 @@ } }, "AccountId":{"type":"string"}, + "AllowQuotedRecordDelimiter":{"type":"boolean"}, "AllowedHeader":{"type":"string"}, "AllowedHeaders":{ "type":"list", @@ -1016,6 +1030,9 @@ "locationName":"Bucket" } }, + "BytesProcessed":{"type":"long"}, + "BytesReturned":{"type":"long"}, + "BytesScanned":{"type":"long"}, "CORSConfiguration":{ "type":"structure", "required":["CORSRules"], @@ -1065,7 +1082,8 @@ "QuoteEscapeCharacter":{"shape":"QuoteEscapeCharacter"}, "RecordDelimiter":{"shape":"RecordDelimiter"}, "FieldDelimiter":{"shape":"FieldDelimiter"}, - "QuoteCharacter":{"shape":"QuoteCharacter"} + "QuoteCharacter":{"shape":"QuoteCharacter"}, + "AllowQuotedRecordDelimiter":{"shape":"AllowQuotedRecordDelimiter"} } }, "CSVOutput":{ @@ -1201,6 +1219,14 @@ "member":{"shape":"CompletedPart"}, "flattened":true }, + "CompressionType":{ + "type":"string", + "enum":[ + "NONE", + "GZIP", + "BZIP2" + ] + }, "Condition":{ "type":"structure", "members":{ @@ -1216,6 +1242,12 @@ "ContentMD5":{"type":"string"}, "ContentRange":{"type":"string"}, "ContentType":{"type":"string"}, + "ContinuationEvent":{ + "type":"structure", + "members":{ + }, + "event":true + }, "CopyObjectOutput":{ "type":"structure", "members":{ @@ -2044,6 +2076,7 @@ "DisplayName":{"type":"string"}, "ETag":{"type":"string"}, "EmailAddress":{"type":"string"}, + "EnableRequestProgress":{"type":"boolean"}, "EncodingType":{ "type":"string", "enum":["url"] @@ -2063,6 +2096,12 @@ "ReplicaKmsKeyID":{"shape":"ReplicaKmsKeyID"} } }, + "EndEvent":{ + "type":"structure", + "members":{ + }, + "event":true + }, "Error":{ "type":"structure", "members":{ @@ -3159,7 +3198,9 @@ "InputSerialization":{ "type":"structure", "members":{ - "CSV":{"shape":"CSVInput"} + "CSV":{"shape":"CSVInput"}, + "CompressionType":{"shape":"CompressionType"}, + "JSON":{"shape":"JSONInput"} } }, "InventoryConfiguration":{ @@ -3278,6 +3319,25 @@ "IsEnabled":{"type":"boolean"}, "IsLatest":{"type":"boolean"}, "IsTruncated":{"type":"boolean"}, + "JSONInput":{ + "type":"structure", + "members":{ + "Type":{"shape":"JSONType"} + } + }, + "JSONOutput":{ + "type":"structure", + "members":{ + "RecordDelimiter":{"shape":"RecordDelimiter"} + } + }, + "JSONType":{ + "type":"string", + "enum":[ + "DOCUMENT", + "LINES" + ] + }, "KMSContext":{"type":"string"}, "KeyCount":{"type":"integer"}, "KeyMarker":{"type":"string"}, @@ -3793,6 +3853,10 @@ "LocationPrefix":{"type":"string"}, "LoggingEnabled":{ "type":"structure", + "required":[ + "TargetBucket", + "TargetPrefix" + ], "members":{ "TargetBucket":{"shape":"TargetBucket"}, "TargetGrants":{"shape":"TargetGrants"}, @@ -4031,7 +4095,9 @@ "enum":[ "STANDARD", "REDUCED_REDUNDANCY", - "GLACIER" + "GLACIER", + "STANDARD_IA", + "ONEZONE_IA" ] }, "ObjectVersion":{ @@ -4066,7 +4132,8 @@ "OutputSerialization":{ "type":"structure", "members":{ - "CSV":{"shape":"CSVOutput"} + "CSV":{"shape":"CSVOutput"}, + "JSON":{"shape":"JSONOutput"} } }, "Owner":{ @@ -4116,6 +4183,24 @@ }, "Policy":{"type":"string"}, "Prefix":{"type":"string"}, + "Progress":{ + "type":"structure", + "members":{ + "BytesScanned":{"shape":"BytesScanned"}, + "BytesProcessed":{"shape":"BytesProcessed"}, + "BytesReturned":{"shape":"BytesReturned"} + } + }, + "ProgressEvent":{ + "type":"structure", + "members":{ + "Details":{ + "shape":"Progress", + "eventpayload":true + } + }, + "event":true + }, "Protocol":{ "type":"string", "enum":[ @@ -4950,6 +5035,16 @@ }, "Range":{"type":"string"}, "RecordDelimiter":{"type":"string"}, + "RecordsEvent":{ + "type":"structure", + "members":{ + "Payload":{ + "shape":"Body", + "eventpayload":true + } + }, + "event":true + }, "Redirect":{ "type":"structure", "members":{ @@ -5036,6 +5131,12 @@ "Payer":{"shape":"Payer"} } }, + "RequestProgress":{ + "type":"structure", + "members":{ + "Enabled":{"shape":"EnableRequestProgress"} + } + }, "ResponseCacheControl":{"type":"string"}, "ResponseContentDisposition":{"type":"string"}, "ResponseContentEncoding":{"type":"string"}, @@ -5198,6 +5299,67 @@ }, "locationName":"SSE-S3" }, + "SelectObjectContentEventStream":{ + "type":"structure", + "members":{ + "Records":{"shape":"RecordsEvent"}, + "Stats":{"shape":"StatsEvent"}, + "Progress":{"shape":"ProgressEvent"}, + "Cont":{"shape":"ContinuationEvent"}, + "End":{"shape":"EndEvent"} + }, + "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", + "location":"uri", + "locationName":"Bucket" + }, + "Key":{ + "shape":"ObjectKey", + "location":"uri", + "locationName":"Key" + }, + "SSECustomerAlgorithm":{ + "shape":"SSECustomerAlgorithm", + "location":"header", + "locationName":"x-amz-server-side-encryption-customer-algorithm" + }, + "SSECustomerKey":{ + "shape":"SSECustomerKey", + "location":"header", + "locationName":"x-amz-server-side-encryption-customer-key" + }, + "SSECustomerKeyMD5":{ + "shape":"SSECustomerKeyMD5", + "location":"header", + "locationName":"x-amz-server-side-encryption-customer-key-MD5" + }, + "Expression":{"shape":"Expression"}, + "ExpressionType":{"shape":"ExpressionType"}, + "RequestProgress":{"shape":"RequestProgress"}, + "InputSerialization":{"shape":"InputSerialization"}, + "OutputSerialization":{"shape":"OutputSerialization"} + } + }, "SelectParameters":{ "type":"structure", "required":[ @@ -5271,12 +5433,31 @@ ] }, "StartAfter":{"type":"string"}, + "Stats":{ + "type":"structure", + "members":{ + "BytesScanned":{"shape":"BytesScanned"}, + "BytesProcessed":{"shape":"BytesProcessed"}, + "BytesReturned":{"shape":"BytesReturned"} + } + }, + "StatsEvent":{ + "type":"structure", + "members":{ + "Details":{ + "shape":"Stats", + "eventpayload":true + } + }, + "event":true + }, "StorageClass":{ "type":"string", "enum":[ "STANDARD", "REDUCED_REDUNDANCY", - "STANDARD_IA" + "STANDARD_IA", + "ONEZONE_IA" ] }, "StorageClassAnalysis":{ @@ -5417,7 +5598,8 @@ "type":"string", "enum":[ "GLACIER", - "STANDARD_IA" + "STANDARD_IA", + "ONEZONE_IA" ] }, "Type":{ diff --git a/models/apis/s3/2006-03-01/docs-2.json b/models/apis/s3/2006-03-01/docs-2.json index 11a65781891..c1b09a97b1e 100644 --- a/models/apis/s3/2006-03-01/docs-2.json +++ b/models/apis/s3/2006-03-01/docs-2.json @@ -2,94 +2,95 @@ "version": "2.0", "service": null, "operations": { - "AbortMultipartUpload": "

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": "Completes a multipart upload by assembling previously uploaded parts.", - "CopyObject": "Creates a copy of an object that is already stored in Amazon S3.", - "CreateBucket": "Creates a new bucket.", - "CreateMultipartUpload": "

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.

", - "DeleteBucket": "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": "Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).", - "DeleteBucketCors": "Deletes the cors configuration information set for the bucket.", - "DeleteBucketEncryption": "Deletes the server-side encryption configuration from the bucket.", - "DeleteBucketInventoryConfiguration": "Deletes an inventory configuration (identified by the inventory ID) from the bucket.", - "DeleteBucketLifecycle": "Deletes the lifecycle configuration from the bucket.", - "DeleteBucketMetricsConfiguration": "Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket.", - "DeleteBucketPolicy": "Deletes the policy from the bucket.", - "DeleteBucketReplication": "Deletes the replication configuration from the bucket.", - "DeleteBucketTagging": "Deletes the tags from the bucket.", - "DeleteBucketWebsite": "This operation removes the website configuration from the bucket.", - "DeleteObject": "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": "Removes the tag-set from an existing object.", - "DeleteObjects": "This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000 keys.", - "GetBucketAccelerateConfiguration": "Returns the accelerate configuration of a bucket.", - "GetBucketAcl": "Gets the access control policy for the bucket.", - "GetBucketAnalyticsConfiguration": "Gets an analytics configuration for the bucket (specified by the analytics configuration ID).", - "GetBucketCors": "Returns the cors configuration for the bucket.", - "GetBucketEncryption": "Returns the server-side encryption configuration of a bucket.", - "GetBucketInventoryConfiguration": "Returns an inventory configuration (identified by the inventory ID) from the bucket.", - "GetBucketLifecycle": "Deprecated, see the GetBucketLifecycleConfiguration operation.", - "GetBucketLifecycleConfiguration": "Returns the lifecycle configuration information set on the bucket.", - "GetBucketLocation": "Returns the region the bucket resides in.", - "GetBucketLogging": "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": "Gets a metrics configuration (specified by the metrics configuration ID) from the bucket.", - "GetBucketNotification": "Deprecated, see the GetBucketNotificationConfiguration operation.", - "GetBucketNotificationConfiguration": "Returns the notification configuration of a bucket.", - "GetBucketPolicy": "Returns the policy of a specified bucket.", - "GetBucketReplication": "Returns the replication configuration of a bucket.", - "GetBucketRequestPayment": "Returns the request payment configuration of a bucket.", - "GetBucketTagging": "Returns the tag set associated with the bucket.", - "GetBucketVersioning": "Returns the versioning state of a bucket.", - "GetBucketWebsite": "Returns the website configuration for a bucket.", - "GetObject": "Retrieves objects from Amazon S3.", - "GetObjectAcl": "Returns the access control list (ACL) of an object.", - "GetObjectTagging": "Returns the tag-set of an object.", - "GetObjectTorrent": "Return torrent files from a bucket.", - "HeadBucket": "This operation is useful to determine if a bucket exists and you have permission to access it.", - "HeadObject": "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": "Lists the analytics configurations for the bucket.", - "ListBucketInventoryConfigurations": "Returns a list of inventory configurations for the bucket.", - "ListBucketMetricsConfigurations": "Lists the metrics configurations for the bucket.", - "ListBuckets": "Returns a list of all buckets owned by the authenticated sender of the request.", - "ListMultipartUploads": "This operation lists in-progress multipart uploads.", - "ListObjectVersions": "Returns metadata about all of the versions of objects in a bucket.", - "ListObjects": "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.", - "ListObjectsV2": "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": "Lists the parts that have been uploaded for a specific multipart upload.", - "PutBucketAccelerateConfiguration": "Sets the accelerate configuration of an existing bucket.", - "PutBucketAcl": "Sets the permissions on a bucket using access control lists (ACL).", - "PutBucketAnalyticsConfiguration": "Sets an analytics configuration for the bucket (specified by the analytics configuration ID).", - "PutBucketCors": "Sets the cors configuration for a bucket.", - "PutBucketEncryption": "Creates a new server-side encryption configuration (or replaces an existing one, if present).", - "PutBucketInventoryConfiguration": "Adds an inventory configuration (identified by the inventory ID) from the bucket.", - "PutBucketLifecycle": "Deprecated, see the PutBucketLifecycleConfiguration operation.", - "PutBucketLifecycleConfiguration": "Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it.", - "PutBucketLogging": "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": "Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.", - "PutBucketNotification": "Deprecated, see the PutBucketNotificationConfiguraiton operation.", - "PutBucketNotificationConfiguration": "Enables notifications of specified events for a bucket.", - "PutBucketPolicy": "Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.", - "PutBucketReplication": "Creates a new replication configuration (or replaces an existing one, if present).", - "PutBucketRequestPayment": "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": "Sets the tags for a bucket.", - "PutBucketVersioning": "Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner.", - "PutBucketWebsite": "Set the website configuration for a bucket.", - "PutObject": "Adds an object to a bucket.", - "PutObjectAcl": "uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket", - "PutObjectTagging": "Sets the supplied tag-set to an object that already exists in a bucket", - "RestoreObject": "Restores an archived copy of an object back into Amazon S3", - "UploadPart": "

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": "Uploads a part by copying data from an existing object as data source." + "AbortMultipartUpload": "

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": "

Completes a multipart upload by assembling previously uploaded parts.

", + "CopyObject": "

Creates a copy of an object that is already stored in Amazon S3.

", + "CreateBucket": "

Creates a new bucket.

", + "CreateMultipartUpload": "

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.

", + "DeleteBucket": "

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": "

Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).

", + "DeleteBucketCors": "

Deletes the cors configuration information set for the bucket.

", + "DeleteBucketEncryption": "

Deletes the server-side encryption configuration from the bucket.

", + "DeleteBucketInventoryConfiguration": "

Deletes an inventory configuration (identified by the inventory ID) from the bucket.

", + "DeleteBucketLifecycle": "

Deletes the lifecycle configuration from the bucket.

", + "DeleteBucketMetricsConfiguration": "

Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket.

", + "DeleteBucketPolicy": "

Deletes the policy from the bucket.

", + "DeleteBucketReplication": "

Deletes the replication configuration from the bucket.

", + "DeleteBucketTagging": "

Deletes the tags from the bucket.

", + "DeleteBucketWebsite": "

This operation removes the website configuration from the bucket.

", + "DeleteObject": "

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": "

Removes the tag-set from an existing object.

", + "DeleteObjects": "

This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000 keys.

", + "GetBucketAccelerateConfiguration": "

Returns the accelerate configuration of a bucket.

", + "GetBucketAcl": "

Gets the access control policy for the bucket.

", + "GetBucketAnalyticsConfiguration": "

Gets an analytics configuration for the bucket (specified by the analytics configuration ID).

", + "GetBucketCors": "

Returns the cors configuration for the bucket.

", + "GetBucketEncryption": "

Returns the server-side encryption configuration of a bucket.

", + "GetBucketInventoryConfiguration": "

Returns an inventory configuration (identified by the inventory ID) from the bucket.

", + "GetBucketLifecycle": "

Deprecated, see the GetBucketLifecycleConfiguration operation.

", + "GetBucketLifecycleConfiguration": "

Returns the lifecycle configuration information set on the bucket.

", + "GetBucketLocation": "

Returns the region the bucket resides in.

", + "GetBucketLogging": "

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": "

Gets a metrics configuration (specified by the metrics configuration ID) from the bucket.

", + "GetBucketNotification": "

Deprecated, see the GetBucketNotificationConfiguration operation.

", + "GetBucketNotificationConfiguration": "

Returns the notification configuration of a bucket.

", + "GetBucketPolicy": "

Returns the policy of a specified bucket.

", + "GetBucketReplication": "

Returns the replication configuration of a bucket.

", + "GetBucketRequestPayment": "

Returns the request payment configuration of a bucket.

", + "GetBucketTagging": "

Returns the tag set associated with the bucket.

", + "GetBucketVersioning": "

Returns the versioning state of a bucket.

", + "GetBucketWebsite": "

Returns the website configuration for a bucket.

", + "GetObject": "

Retrieves objects from Amazon S3.

", + "GetObjectAcl": "

Returns the access control list (ACL) of an object.

", + "GetObjectTagging": "

Returns the tag-set of an object.

", + "GetObjectTorrent": "

Return torrent files from a bucket.

", + "HeadBucket": "

This operation is useful to determine if a bucket exists and you have permission to access it.

", + "HeadObject": "

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": "

Lists the analytics configurations for the bucket.

", + "ListBucketInventoryConfigurations": "

Returns a list of inventory configurations for the bucket.

", + "ListBucketMetricsConfigurations": "

Lists the metrics configurations for the bucket.

", + "ListBuckets": "

Returns a list of all buckets owned by the authenticated sender of the request.

", + "ListMultipartUploads": "

This operation lists in-progress multipart uploads.

", + "ListObjectVersions": "

Returns metadata about all of the versions of objects in a bucket.

", + "ListObjects": "

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.

", + "ListObjectsV2": "

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": "

Lists the parts that have been uploaded for a specific multipart upload.

", + "PutBucketAccelerateConfiguration": "

Sets the accelerate configuration of an existing bucket.

", + "PutBucketAcl": "

Sets the permissions on a bucket using access control lists (ACL).

", + "PutBucketAnalyticsConfiguration": "

Sets an analytics configuration for the bucket (specified by the analytics configuration ID).

", + "PutBucketCors": "

Sets the cors configuration for a bucket.

", + "PutBucketEncryption": "

Creates a new server-side encryption configuration (or replaces an existing one, if present).

", + "PutBucketInventoryConfiguration": "

Adds an inventory configuration (identified by the inventory ID) from the bucket.

", + "PutBucketLifecycle": "

Deprecated, see the PutBucketLifecycleConfiguration operation.

", + "PutBucketLifecycleConfiguration": "

Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it.

", + "PutBucketLogging": "

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": "

Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.

", + "PutBucketNotification": "

Deprecated, see the PutBucketNotificationConfiguraiton operation.

", + "PutBucketNotificationConfiguration": "

Enables notifications of specified events for a bucket.

", + "PutBucketPolicy": "

Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.

", + "PutBucketReplication": "

Creates a new replication configuration (or replaces an existing one, if present).

", + "PutBucketRequestPayment": "

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": "

Sets the tags for a bucket.

", + "PutBucketVersioning": "

Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner.

", + "PutBucketWebsite": "

Set the website configuration for a bucket.

", + "PutObject": "

Adds an object to a bucket.

", + "PutObjectAcl": "

uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket

", + "PutObjectTagging": "

Sets the supplied tag-set to an object that already exists in a bucket

", + "RestoreObject": "

Restores an archived copy of an object back into Amazon S3

", + "SelectObjectContent": "

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": "

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": "

Uploads a part by copying data from an existing object as data source.

" }, "shapes": { "AbortDate": { "base": null, "refs": { - "CreateMultipartUploadOutput$AbortDate": "Date when multipart upload will become eligible for abort operation by lifecycle.", - "ListPartsOutput$AbortDate": "Date when multipart upload will become eligible for abort operation by lifecycle." + "CreateMultipartUploadOutput$AbortDate": "

Date when multipart upload will become eligible for abort operation by lifecycle.

", + "ListPartsOutput$AbortDate": "

Date when multipart upload will become eligible for abort operation by lifecycle.

" } }, "AbortIncompleteMultipartUpload": { - "base": "Specifies the days since the initiation of an Incomplete Multipart Upload that Lifecycle will wait before permanently removing all parts of the upload.", + "base": "

Specifies the days since the initiation of an Incomplete Multipart Upload that Lifecycle will wait before permanently removing all parts of the upload.

", "refs": { "LifecycleRule$AbortIncompleteMultipartUpload": null, "Rule$AbortIncompleteMultipartUpload": null @@ -108,14 +109,14 @@ "AbortRuleId": { "base": null, "refs": { - "CreateMultipartUploadOutput$AbortRuleId": "Id of the lifecycle rule that makes a multipart upload eligible for abort operation.", - "ListPartsOutput$AbortRuleId": "Id of the lifecycle rule that makes a multipart upload eligible for abort operation." + "CreateMultipartUploadOutput$AbortRuleId": "

Id of the lifecycle rule that makes a multipart upload eligible for abort operation.

", + "ListPartsOutput$AbortRuleId": "

Id of the lifecycle rule that makes a multipart upload eligible for abort operation.

" } }, "AccelerateConfiguration": { "base": null, "refs": { - "PutBucketAccelerateConfigurationRequest$AccelerateConfiguration": "Specifies the Accelerate Configuration you want to set for the bucket." + "PutBucketAccelerateConfigurationRequest$AccelerateConfiguration": "

Specifies the Accelerate Configuration you want to set for the bucket.

" } }, "AcceptRanges": { @@ -133,17 +134,23 @@ } }, "AccessControlTranslation": { - "base": "Container for information regarding the access control for replicas.", + "base": "

Container for information regarding the access control for replicas.

", "refs": { - "Destination$AccessControlTranslation": "Container for information regarding the access control for replicas." + "Destination$AccessControlTranslation": "

Container for information regarding the access control for replicas.

" } }, "AccountId": { "base": null, "refs": { - "AnalyticsS3BucketDestination$BucketAccountId": "The account ID that owns the destination bucket. If no account ID is provided, the owner will not be validated prior to exporting data.", - "Destination$Account": "Account ID of the destination bucket. Currently this is only being verified if Access Control Translation is enabled", - "InventoryS3BucketDestination$AccountId": "The ID of the account that owns the destination bucket." + "AnalyticsS3BucketDestination$BucketAccountId": "

The account ID that owns the destination bucket. If no account ID is provided, the owner will not be validated prior to exporting data.

", + "Destination$Account": "

Account ID of the destination bucket. Currently this is only being verified if Access Control Translation is enabled

", + "InventoryS3BucketDestination$AccountId": "

The ID of the account that owns the destination bucket.

" + } + }, + "AllowQuotedRecordDelimiter": { + "base": null, + "refs": { + "CSVInput$AllowQuotedRecordDelimiter": "

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.

" } }, "AllowedHeader": { @@ -155,7 +162,7 @@ "AllowedHeaders": { "base": null, "refs": { - "CORSRule$AllowedHeaders": "Specifies which headers are allowed in a pre-flight OPTIONS request." + "CORSRule$AllowedHeaders": "

Specifies which headers are allowed in a pre-flight OPTIONS request.

" } }, "AllowedMethod": { @@ -167,7 +174,7 @@ "AllowedMethods": { "base": null, "refs": { - "CORSRule$AllowedMethods": "Identifies HTTP methods that the domain/origin specified in the rule is allowed to execute." + "CORSRule$AllowedMethods": "

Identifies HTTP methods that the domain/origin specified in the rule is allowed to execute.

" } }, "AllowedOrigin": { @@ -179,69 +186,70 @@ "AllowedOrigins": { "base": null, "refs": { - "CORSRule$AllowedOrigins": "One or more origins you want customers to be able to access the bucket from." + "CORSRule$AllowedOrigins": "

One or more origins you want customers to be able to access the bucket from.

" } }, "AnalyticsAndOperator": { "base": null, "refs": { - "AnalyticsFilter$And": "A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates." + "AnalyticsFilter$And": "

A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates.

" } }, "AnalyticsConfiguration": { "base": null, "refs": { "AnalyticsConfigurationList$member": null, - "GetBucketAnalyticsConfigurationOutput$AnalyticsConfiguration": "The configuration and any analyses for the analytics filter.", - "PutBucketAnalyticsConfigurationRequest$AnalyticsConfiguration": "The configuration and any analyses for the analytics filter." + "GetBucketAnalyticsConfigurationOutput$AnalyticsConfiguration": "

The configuration and any analyses for the analytics filter.

", + "PutBucketAnalyticsConfigurationRequest$AnalyticsConfiguration": "

The configuration and any analyses for the analytics filter.

" } }, "AnalyticsConfigurationList": { "base": null, "refs": { - "ListBucketAnalyticsConfigurationsOutput$AnalyticsConfigurationList": "The list of analytics configurations for a bucket." + "ListBucketAnalyticsConfigurationsOutput$AnalyticsConfigurationList": "

The list of analytics configurations for a bucket.

" } }, "AnalyticsExportDestination": { "base": null, "refs": { - "StorageClassAnalysisDataExport$Destination": "The place to store the data for an analysis." + "StorageClassAnalysisDataExport$Destination": "

The place to store the data for an analysis.

" } }, "AnalyticsFilter": { "base": null, "refs": { - "AnalyticsConfiguration$Filter": "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." + "AnalyticsConfiguration$Filter": "

The filter used to describe a set of objects for analyses. A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided, all objects will be considered in any analysis.

" } }, "AnalyticsId": { "base": null, "refs": { - "AnalyticsConfiguration$Id": "The identifier used to represent an analytics configuration.", - "DeleteBucketAnalyticsConfigurationRequest$Id": "The identifier used to represent an analytics configuration.", - "GetBucketAnalyticsConfigurationRequest$Id": "The identifier used to represent an analytics configuration.", - "PutBucketAnalyticsConfigurationRequest$Id": "The identifier used to represent an analytics configuration." + "AnalyticsConfiguration$Id": "

The identifier used to represent an analytics configuration.

", + "DeleteBucketAnalyticsConfigurationRequest$Id": "

The identifier used to represent an analytics configuration.

", + "GetBucketAnalyticsConfigurationRequest$Id": "

The identifier used to represent an analytics configuration.

", + "PutBucketAnalyticsConfigurationRequest$Id": "

The identifier used to represent an analytics configuration.

" } }, "AnalyticsS3BucketDestination": { "base": null, "refs": { - "AnalyticsExportDestination$S3BucketDestination": "A destination signifying output to an S3 bucket." + "AnalyticsExportDestination$S3BucketDestination": "

A destination signifying output to an S3 bucket.

" } }, "AnalyticsS3ExportFileFormat": { "base": null, "refs": { - "AnalyticsS3BucketDestination$Format": "The file format used when exporting data to Amazon S3." + "AnalyticsS3BucketDestination$Format": "

The file format used when exporting data to Amazon S3.

" } }, "Body": { "base": null, "refs": { - "GetObjectOutput$Body": "Object data.", + "GetObjectOutput$Body": "

Object data.

", "GetObjectTorrentOutput$Body": null, - "PutObjectRequest$Body": "Object data.", - "UploadPartRequest$Body": "Object data." + "PutObjectRequest$Body": "

Object data.

", + "RecordsEvent$Payload": "

The byte array of partial, one or more result records.

", + "UploadPartRequest$Body": "

Object data.

" } }, "Bucket": { @@ -253,12 +261,12 @@ "BucketAccelerateStatus": { "base": null, "refs": { - "AccelerateConfiguration$Status": "The accelerate configuration of the bucket.", - "GetBucketAccelerateConfigurationOutput$Status": "The accelerate configuration of the bucket." + "AccelerateConfiguration$Status": "

The accelerate configuration of the bucket.

", + "GetBucketAccelerateConfigurationOutput$Status": "

The accelerate configuration of the bucket.

" } }, "BucketAlreadyExists": { - "base": "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.", + "base": "

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.

", "refs": { } }, @@ -270,8 +278,8 @@ "BucketCannedACL": { "base": null, "refs": { - "CreateBucketRequest$ACL": "The canned ACL to apply to the bucket.", - "PutBucketAclRequest$ACL": "The canned ACL to apply to the bucket." + "CreateBucketRequest$ACL": "

The canned ACL to apply to the bucket.

", + "PutBucketAclRequest$ACL": "

The canned ACL to apply to the bucket.

" } }, "BucketLifecycleConfiguration": { @@ -283,7 +291,7 @@ "BucketLocationConstraint": { "base": null, "refs": { - "CreateBucketConfiguration$LocationConstraint": "Specifies the region where the bucket will be created. If you don't specify a region, the bucket will be created in US Standard.", + "CreateBucketConfiguration$LocationConstraint": "

Specifies the region where the bucket will be created. If you don't specify a region, the bucket will be created in US Standard.

", "GetBucketLocationOutput$LocationConstraint": null } }, @@ -296,27 +304,27 @@ "BucketLogsPermission": { "base": null, "refs": { - "TargetGrant$Permission": "Logging permissions assigned to the Grantee for the bucket." + "TargetGrant$Permission": "

Logging permissions assigned to the Grantee for the bucket.

" } }, "BucketName": { "base": null, "refs": { "AbortMultipartUploadRequest$Bucket": null, - "AnalyticsS3BucketDestination$Bucket": "The Amazon resource name (ARN) of the bucket to which data is exported.", - "Bucket$Name": "The name of the bucket.", + "AnalyticsS3BucketDestination$Bucket": "

The Amazon resource name (ARN) of the bucket to which data is exported.

", + "Bucket$Name": "

The name of the bucket.

", "CompleteMultipartUploadOutput$Bucket": null, "CompleteMultipartUploadRequest$Bucket": null, "CopyObjectRequest$Bucket": null, "CreateBucketRequest$Bucket": null, - "CreateMultipartUploadOutput$Bucket": "Name of the bucket to which the multipart upload was initiated.", + "CreateMultipartUploadOutput$Bucket": "

Name of the bucket to which the multipart upload was initiated.

", "CreateMultipartUploadRequest$Bucket": null, - "DeleteBucketAnalyticsConfigurationRequest$Bucket": "The name of the bucket from which an analytics configuration is deleted.", + "DeleteBucketAnalyticsConfigurationRequest$Bucket": "

The name of the bucket from which an analytics configuration is deleted.

", "DeleteBucketCorsRequest$Bucket": null, - "DeleteBucketEncryptionRequest$Bucket": "The name of the bucket containing the server-side encryption configuration to delete.", - "DeleteBucketInventoryConfigurationRequest$Bucket": "The name of the bucket containing the inventory configuration to delete.", + "DeleteBucketEncryptionRequest$Bucket": "

The name of the bucket containing the server-side encryption configuration to delete.

", + "DeleteBucketInventoryConfigurationRequest$Bucket": "

The name of the bucket containing the inventory configuration to delete.

", "DeleteBucketLifecycleRequest$Bucket": null, - "DeleteBucketMetricsConfigurationRequest$Bucket": "The name of the bucket containing the metrics configuration to delete.", + "DeleteBucketMetricsConfigurationRequest$Bucket": "

The name of the bucket containing the metrics configuration to delete.

", "DeleteBucketPolicyRequest$Bucket": null, "DeleteBucketReplicationRequest$Bucket": null, "DeleteBucketRequest$Bucket": null, @@ -325,19 +333,19 @@ "DeleteObjectRequest$Bucket": null, "DeleteObjectTaggingRequest$Bucket": null, "DeleteObjectsRequest$Bucket": null, - "Destination$Bucket": "Amazon resource name (ARN) of the bucket where you want Amazon S3 to store replicas of the object identified by the rule.", - "GetBucketAccelerateConfigurationRequest$Bucket": "Name of the bucket for which the accelerate configuration is retrieved.", + "Destination$Bucket": "

Amazon resource name (ARN) of the bucket where you want Amazon S3 to store replicas of the object identified by the rule.

", + "GetBucketAccelerateConfigurationRequest$Bucket": "

Name of the bucket for which the accelerate configuration is retrieved.

", "GetBucketAclRequest$Bucket": null, - "GetBucketAnalyticsConfigurationRequest$Bucket": "The name of the bucket from which an analytics configuration is retrieved.", + "GetBucketAnalyticsConfigurationRequest$Bucket": "

The name of the bucket from which an analytics configuration is retrieved.

", "GetBucketCorsRequest$Bucket": null, - "GetBucketEncryptionRequest$Bucket": "The name of the bucket from which the server-side encryption configuration is retrieved.", - "GetBucketInventoryConfigurationRequest$Bucket": "The name of the bucket containing the inventory configuration to retrieve.", + "GetBucketEncryptionRequest$Bucket": "

The name of the bucket from which the server-side encryption configuration is retrieved.

", + "GetBucketInventoryConfigurationRequest$Bucket": "

The name of the bucket containing the inventory configuration to retrieve.

", "GetBucketLifecycleConfigurationRequest$Bucket": null, "GetBucketLifecycleRequest$Bucket": null, "GetBucketLocationRequest$Bucket": null, "GetBucketLoggingRequest$Bucket": null, - "GetBucketMetricsConfigurationRequest$Bucket": "The name of the bucket containing the metrics configuration to retrieve.", - "GetBucketNotificationConfigurationRequest$Bucket": "Name of the bucket to get the notification configuration for.", + "GetBucketMetricsConfigurationRequest$Bucket": "

The name of the bucket containing the metrics configuration to retrieve.

", + "GetBucketNotificationConfigurationRequest$Bucket": "

Name of the bucket to get the notification configuration for.

", "GetBucketPolicyRequest$Bucket": null, "GetBucketReplicationRequest$Bucket": null, "GetBucketRequestPaymentRequest$Bucket": null, @@ -350,30 +358,30 @@ "GetObjectTorrentRequest$Bucket": null, "HeadBucketRequest$Bucket": null, "HeadObjectRequest$Bucket": null, - "InventoryS3BucketDestination$Bucket": "The Amazon resource name (ARN) of the bucket where inventory results will be published.", - "ListBucketAnalyticsConfigurationsRequest$Bucket": "The name of the bucket from which analytics configurations are retrieved.", - "ListBucketInventoryConfigurationsRequest$Bucket": "The name of the bucket containing the inventory configurations to retrieve.", - "ListBucketMetricsConfigurationsRequest$Bucket": "The name of the bucket containing the metrics configurations to retrieve.", - "ListMultipartUploadsOutput$Bucket": "Name of the bucket to which the multipart upload was initiated.", + "InventoryS3BucketDestination$Bucket": "

The Amazon resource name (ARN) of the bucket where inventory results will be published.

", + "ListBucketAnalyticsConfigurationsRequest$Bucket": "

The name of the bucket from which analytics configurations are retrieved.

", + "ListBucketInventoryConfigurationsRequest$Bucket": "

The name of the bucket containing the inventory configurations to retrieve.

", + "ListBucketMetricsConfigurationsRequest$Bucket": "

The name of the bucket containing the metrics configurations to retrieve.

", + "ListMultipartUploadsOutput$Bucket": "

Name of the bucket to which the multipart upload was initiated.

", "ListMultipartUploadsRequest$Bucket": null, "ListObjectVersionsOutput$Name": null, "ListObjectVersionsRequest$Bucket": null, "ListObjectsOutput$Name": null, "ListObjectsRequest$Bucket": null, - "ListObjectsV2Output$Name": "Name of the bucket to list.", - "ListObjectsV2Request$Bucket": "Name of the bucket to list.", - "ListPartsOutput$Bucket": "Name of the bucket to which the multipart upload was initiated.", + "ListObjectsV2Output$Name": "

Name of the bucket to list.

", + "ListObjectsV2Request$Bucket": "

Name of the bucket to list.

", + "ListPartsOutput$Bucket": "

Name of the bucket to which the multipart upload was initiated.

", "ListPartsRequest$Bucket": null, - "PutBucketAccelerateConfigurationRequest$Bucket": "Name of the bucket for which the accelerate configuration is set.", + "PutBucketAccelerateConfigurationRequest$Bucket": "

Name of the bucket for which the accelerate configuration is set.

", "PutBucketAclRequest$Bucket": null, - "PutBucketAnalyticsConfigurationRequest$Bucket": "The name of the bucket to which an analytics configuration is stored.", + "PutBucketAnalyticsConfigurationRequest$Bucket": "

The name of the bucket to which an analytics configuration is stored.

", "PutBucketCorsRequest$Bucket": null, - "PutBucketEncryptionRequest$Bucket": "The name of the bucket for which the server-side encryption configuration is set.", - "PutBucketInventoryConfigurationRequest$Bucket": "The name of the bucket where the inventory configuration will be stored.", + "PutBucketEncryptionRequest$Bucket": "

The name of the bucket for which the server-side encryption configuration is set.

", + "PutBucketInventoryConfigurationRequest$Bucket": "

The name of the bucket where the inventory configuration will be stored.

", "PutBucketLifecycleConfigurationRequest$Bucket": null, "PutBucketLifecycleRequest$Bucket": null, "PutBucketLoggingRequest$Bucket": null, - "PutBucketMetricsConfigurationRequest$Bucket": "The name of the bucket for which the metrics configuration is set.", + "PutBucketMetricsConfigurationRequest$Bucket": "

The name of the bucket for which the metrics configuration is set.

", "PutBucketNotificationConfigurationRequest$Bucket": null, "PutBucketNotificationRequest$Bucket": null, "PutBucketPolicyRequest$Bucket": null, @@ -383,19 +391,20 @@ "PutBucketVersioningRequest$Bucket": null, "PutBucketWebsiteRequest$Bucket": null, "PutObjectAclRequest$Bucket": null, - "PutObjectRequest$Bucket": "Name of the bucket to which the PUT operation was initiated.", + "PutObjectRequest$Bucket": "

Name of the bucket to which the PUT operation was initiated.

", "PutObjectTaggingRequest$Bucket": null, "RestoreObjectRequest$Bucket": null, - "S3Location$BucketName": "The name of the bucket where the restore results will be placed.", + "S3Location$BucketName": "

The name of the bucket where the restore results will be placed.

", + "SelectObjectContentRequest$Bucket": "

The S3 Bucket.

", "UploadPartCopyRequest$Bucket": null, - "UploadPartRequest$Bucket": "Name of the bucket to which the multipart upload was initiated." + "UploadPartRequest$Bucket": "

Name of the bucket to which the multipart upload was initiated.

" } }, "BucketVersioningStatus": { "base": null, "refs": { - "GetBucketVersioningOutput$Status": "The versioning state of the bucket.", - "VersioningConfiguration$Status": "The versioning state of the bucket." + "GetBucketVersioningOutput$Status": "

The versioning state of the bucket.

", + "VersioningConfiguration$Status": "

The versioning state of the bucket.

" } }, "Buckets": { @@ -404,6 +413,27 @@ "ListBucketsOutput$Buckets": null } }, + "BytesProcessed": { + "base": null, + "refs": { + "Progress$BytesProcessed": "

Current number of uncompressed object bytes processed.

", + "Stats$BytesProcessed": "

Total number of uncompressed object bytes processed.

" + } + }, + "BytesReturned": { + "base": null, + "refs": { + "Progress$BytesReturned": "

Current number of bytes of records payload data returned.

", + "Stats$BytesReturned": "

Total number of bytes of records payload data returned.

" + } + }, + "BytesScanned": { + "base": null, + "refs": { + "Progress$BytesScanned": "

Current number of object bytes scanned.

", + "Stats$BytesScanned": "

Total number of object bytes scanned.

" + } + }, "CORSConfiguration": { "base": null, "refs": { @@ -424,25 +454,25 @@ } }, "CSVInput": { - "base": "Describes how a CSV-formatted input object is formatted.", + "base": "

Describes how a CSV-formatted input object is formatted.

", "refs": { - "InputSerialization$CSV": "Describes the serialization of a CSV-encoded object." + "InputSerialization$CSV": "

Describes the serialization of a CSV-encoded object.

" } }, "CSVOutput": { - "base": "Describes how CSV-formatted results are formatted.", + "base": "

Describes how CSV-formatted results are formatted.

", "refs": { - "OutputSerialization$CSV": "Describes the serialization of CSV-encoded Select results." + "OutputSerialization$CSV": "

Describes the serialization of CSV-encoded Select results.

" } }, "CacheControl": { "base": null, "refs": { - "CopyObjectRequest$CacheControl": "Specifies caching behavior along the request/reply chain.", - "CreateMultipartUploadRequest$CacheControl": "Specifies caching behavior along the request/reply chain.", - "GetObjectOutput$CacheControl": "Specifies caching behavior along the request/reply chain.", - "HeadObjectOutput$CacheControl": "Specifies caching behavior along the request/reply chain.", - "PutObjectRequest$CacheControl": "Specifies caching behavior along the request/reply chain." + "CopyObjectRequest$CacheControl": "

Specifies caching behavior along the request/reply chain.

", + "CreateMultipartUploadRequest$CacheControl": "

Specifies caching behavior along the request/reply chain.

", + "GetObjectOutput$CacheControl": "

Specifies caching behavior along the request/reply chain.

", + "HeadObjectOutput$CacheControl": "

Specifies caching behavior along the request/reply chain.

", + "PutObjectRequest$CacheControl": "

Specifies caching behavior along the request/reply chain.

" } }, "CloudFunction": { @@ -472,7 +502,7 @@ "Comments": { "base": null, "refs": { - "CSVInput$Comments": "Single character used to indicate a row should be ignored when present at the start of a row." + "CSVInput$Comments": "

Single character used to indicate a row should be ignored when present at the start of a row.

" } }, "CommonPrefix": { @@ -487,7 +517,7 @@ "ListMultipartUploadsOutput$CommonPrefixes": null, "ListObjectVersionsOutput$CommonPrefixes": null, "ListObjectsOutput$CommonPrefixes": null, - "ListObjectsV2Output$CommonPrefixes": "CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence of the string specified by delimiter" + "ListObjectsV2Output$CommonPrefixes": "

CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence of the string specified by delimiter

" } }, "CompleteMultipartUploadOutput": { @@ -518,55 +548,61 @@ "CompletedMultipartUpload$Parts": null } }, + "CompressionType": { + "base": null, + "refs": { + "InputSerialization$CompressionType": "

Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default Value: NONE.

" + } + }, "Condition": { "base": null, "refs": { - "RoutingRule$Condition": "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." + "RoutingRule$Condition": "

A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.

" } }, "ConfirmRemoveSelfBucketAccess": { "base": null, "refs": { - "PutBucketPolicyRequest$ConfirmRemoveSelfBucketAccess": "Set this parameter to true to confirm that you want to remove your permissions to change this bucket policy in the future." + "PutBucketPolicyRequest$ConfirmRemoveSelfBucketAccess": "

Set this parameter to true to confirm that you want to remove your permissions to change this bucket policy in the future.

" } }, "ContentDisposition": { "base": null, "refs": { - "CopyObjectRequest$ContentDisposition": "Specifies presentational information for the object.", - "CreateMultipartUploadRequest$ContentDisposition": "Specifies presentational information for the object.", - "GetObjectOutput$ContentDisposition": "Specifies presentational information for the object.", - "HeadObjectOutput$ContentDisposition": "Specifies presentational information for the object.", - "PutObjectRequest$ContentDisposition": "Specifies presentational information for the object." + "CopyObjectRequest$ContentDisposition": "

Specifies presentational information for the object.

", + "CreateMultipartUploadRequest$ContentDisposition": "

Specifies presentational information for the object.

", + "GetObjectOutput$ContentDisposition": "

Specifies presentational information for the object.

", + "HeadObjectOutput$ContentDisposition": "

Specifies presentational information for the object.

", + "PutObjectRequest$ContentDisposition": "

Specifies presentational information for the object.

" } }, "ContentEncoding": { "base": null, "refs": { - "CopyObjectRequest$ContentEncoding": "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.", - "CreateMultipartUploadRequest$ContentEncoding": "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.", - "GetObjectOutput$ContentEncoding": "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.", - "HeadObjectOutput$ContentEncoding": "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.", - "PutObjectRequest$ContentEncoding": "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." + "CopyObjectRequest$ContentEncoding": "

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.

", + "CreateMultipartUploadRequest$ContentEncoding": "

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.

", + "GetObjectOutput$ContentEncoding": "

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.

", + "HeadObjectOutput$ContentEncoding": "

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.

", + "PutObjectRequest$ContentEncoding": "

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.

" } }, "ContentLanguage": { "base": null, "refs": { - "CopyObjectRequest$ContentLanguage": "The language the content is in.", - "CreateMultipartUploadRequest$ContentLanguage": "The language the content is in.", - "GetObjectOutput$ContentLanguage": "The language the content is in.", - "HeadObjectOutput$ContentLanguage": "The language the content is in.", - "PutObjectRequest$ContentLanguage": "The language the content is in." + "CopyObjectRequest$ContentLanguage": "

The language the content is in.

", + "CreateMultipartUploadRequest$ContentLanguage": "

The language the content is in.

", + "GetObjectOutput$ContentLanguage": "

The language the content is in.

", + "HeadObjectOutput$ContentLanguage": "

The language the content is in.

", + "PutObjectRequest$ContentLanguage": "

The language the content is in.

" } }, "ContentLength": { "base": null, "refs": { - "GetObjectOutput$ContentLength": "Size of the body in bytes.", - "HeadObjectOutput$ContentLength": "Size of the body in bytes.", - "PutObjectRequest$ContentLength": "Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.", - "UploadPartRequest$ContentLength": "Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically." + "GetObjectOutput$ContentLength": "

Size of the body in bytes.

", + "HeadObjectOutput$ContentLength": "

Size of the body in bytes.

", + "PutObjectRequest$ContentLength": "

Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.

", + "UploadPartRequest$ContentLength": "

Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.

" } }, "ContentMD5": { @@ -574,7 +610,7 @@ "refs": { "PutBucketAclRequest$ContentMD5": null, "PutBucketCorsRequest$ContentMD5": null, - "PutBucketEncryptionRequest$ContentMD5": "The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.", + "PutBucketEncryptionRequest$ContentMD5": "

The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.

", "PutBucketLifecycleRequest$ContentMD5": null, "PutBucketLoggingRequest$ContentMD5": null, "PutBucketNotificationRequest$ContentMD5": null, @@ -585,25 +621,31 @@ "PutBucketVersioningRequest$ContentMD5": null, "PutBucketWebsiteRequest$ContentMD5": null, "PutObjectAclRequest$ContentMD5": null, - "PutObjectRequest$ContentMD5": "The base64-encoded 128-bit MD5 digest of the part data.", + "PutObjectRequest$ContentMD5": "

The base64-encoded 128-bit MD5 digest of the part data.

", "PutObjectTaggingRequest$ContentMD5": null, - "UploadPartRequest$ContentMD5": "The base64-encoded 128-bit MD5 digest of the part data." + "UploadPartRequest$ContentMD5": "

The base64-encoded 128-bit MD5 digest of the part data.

" } }, "ContentRange": { "base": null, "refs": { - "GetObjectOutput$ContentRange": "The portion of the object returned in the response." + "GetObjectOutput$ContentRange": "

The portion of the object returned in the response.

" } }, "ContentType": { "base": null, "refs": { - "CopyObjectRequest$ContentType": "A standard MIME type describing the format of the object data.", - "CreateMultipartUploadRequest$ContentType": "A standard MIME type describing the format of the object data.", - "GetObjectOutput$ContentType": "A standard MIME type describing the format of the object data.", - "HeadObjectOutput$ContentType": "A standard MIME type describing the format of the object data.", - "PutObjectRequest$ContentType": "A standard MIME type describing the format of the object data." + "CopyObjectRequest$ContentType": "

A standard MIME type describing the format of the object data.

", + "CreateMultipartUploadRequest$ContentType": "

A standard MIME type describing the format of the object data.

", + "GetObjectOutput$ContentType": "

A standard MIME type describing the format of the object data.

", + "HeadObjectOutput$ContentType": "

A standard MIME type describing the format of the object data.

", + "PutObjectRequest$ContentType": "

A standard MIME type describing the format of the object data.

" + } + }, + "ContinuationEvent": { + "base": null, + "refs": { + "SelectObjectContentEventStream$Cont": "

The Continuation Event.

" } }, "CopyObjectOutput": { @@ -631,70 +673,70 @@ "CopySource": { "base": null, "refs": { - "CopyObjectRequest$CopySource": "The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.", - "UploadPartCopyRequest$CopySource": "The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded." + "CopyObjectRequest$CopySource": "

The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.

", + "UploadPartCopyRequest$CopySource": "

The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.

" } }, "CopySourceIfMatch": { "base": null, "refs": { - "CopyObjectRequest$CopySourceIfMatch": "Copies the object if its entity tag (ETag) matches the specified tag.", - "UploadPartCopyRequest$CopySourceIfMatch": "Copies the object if its entity tag (ETag) matches the specified tag." + "CopyObjectRequest$CopySourceIfMatch": "

Copies the object if its entity tag (ETag) matches the specified tag.

", + "UploadPartCopyRequest$CopySourceIfMatch": "

Copies the object if its entity tag (ETag) matches the specified tag.

" } }, "CopySourceIfModifiedSince": { "base": null, "refs": { - "CopyObjectRequest$CopySourceIfModifiedSince": "Copies the object if it has been modified since the specified time.", - "UploadPartCopyRequest$CopySourceIfModifiedSince": "Copies the object if it has been modified since the specified time." + "CopyObjectRequest$CopySourceIfModifiedSince": "

Copies the object if it has been modified since the specified time.

", + "UploadPartCopyRequest$CopySourceIfModifiedSince": "

Copies the object if it has been modified since the specified time.

" } }, "CopySourceIfNoneMatch": { "base": null, "refs": { - "CopyObjectRequest$CopySourceIfNoneMatch": "Copies the object if its entity tag (ETag) is different than the specified ETag.", - "UploadPartCopyRequest$CopySourceIfNoneMatch": "Copies the object if its entity tag (ETag) is different than the specified ETag." + "CopyObjectRequest$CopySourceIfNoneMatch": "

Copies the object if its entity tag (ETag) is different than the specified ETag.

", + "UploadPartCopyRequest$CopySourceIfNoneMatch": "

Copies the object if its entity tag (ETag) is different than the specified ETag.

" } }, "CopySourceIfUnmodifiedSince": { "base": null, "refs": { - "CopyObjectRequest$CopySourceIfUnmodifiedSince": "Copies the object if it hasn't been modified since the specified time.", - "UploadPartCopyRequest$CopySourceIfUnmodifiedSince": "Copies the object if it hasn't been modified since the specified time." + "CopyObjectRequest$CopySourceIfUnmodifiedSince": "

Copies the object if it hasn't been modified since the specified time.

", + "UploadPartCopyRequest$CopySourceIfUnmodifiedSince": "

Copies the object if it hasn't been modified since the specified time.

" } }, "CopySourceRange": { "base": null, "refs": { - "UploadPartCopyRequest$CopySourceRange": "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." + "UploadPartCopyRequest$CopySourceRange": "

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.

" } }, "CopySourceSSECustomerAlgorithm": { "base": null, "refs": { - "CopyObjectRequest$CopySourceSSECustomerAlgorithm": "Specifies the algorithm to use when decrypting the source object (e.g., AES256).", - "UploadPartCopyRequest$CopySourceSSECustomerAlgorithm": "Specifies the algorithm to use when decrypting the source object (e.g., AES256)." + "CopyObjectRequest$CopySourceSSECustomerAlgorithm": "

Specifies the algorithm to use when decrypting the source object (e.g., AES256).

", + "UploadPartCopyRequest$CopySourceSSECustomerAlgorithm": "

Specifies the algorithm to use when decrypting the source object (e.g., AES256).

" } }, "CopySourceSSECustomerKey": { "base": null, "refs": { - "CopyObjectRequest$CopySourceSSECustomerKey": "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.", - "UploadPartCopyRequest$CopySourceSSECustomerKey": "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." + "CopyObjectRequest$CopySourceSSECustomerKey": "

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.

", + "UploadPartCopyRequest$CopySourceSSECustomerKey": "

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.

" } }, "CopySourceSSECustomerKeyMD5": { "base": null, "refs": { - "CopyObjectRequest$CopySourceSSECustomerKeyMD5": "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.", - "UploadPartCopyRequest$CopySourceSSECustomerKeyMD5": "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." + "CopyObjectRequest$CopySourceSSECustomerKeyMD5": "

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.

", + "UploadPartCopyRequest$CopySourceSSECustomerKeyMD5": "

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.

" } }, "CopySourceVersionId": { "base": null, "refs": { "CopyObjectOutput$CopySourceVersionId": null, - "UploadPartCopyOutput$CopySourceVersionId": "The version of the source object that was copied, if you have enabled versioning on the source bucket." + "UploadPartCopyOutput$CopySourceVersionId": "

The version of the source object that was copied, if you have enabled versioning on the source bucket.

" } }, "CreateBucketConfiguration": { @@ -726,30 +768,30 @@ "CreationDate": { "base": null, "refs": { - "Bucket$CreationDate": "Date the bucket was created." + "Bucket$CreationDate": "

Date the bucket was created.

" } }, "Date": { "base": null, "refs": { - "LifecycleExpiration$Date": "Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.", - "Transition$Date": "Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format." + "LifecycleExpiration$Date": "

Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.

", + "Transition$Date": "

Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.

" } }, "Days": { "base": null, "refs": { - "LifecycleExpiration$Days": "Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.", - "NoncurrentVersionExpiration$NoncurrentDays": "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.", - "NoncurrentVersionTransition$NoncurrentDays": "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.", - "RestoreRequest$Days": "Lifetime of the active copy in days. Do not use with restores that specify OutputLocation.", - "Transition$Days": "Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer." + "LifecycleExpiration$Days": "

Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

", + "NoncurrentVersionExpiration$NoncurrentDays": "

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.

", + "NoncurrentVersionTransition$NoncurrentDays": "

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.

", + "RestoreRequest$Days": "

Lifetime of the active copy in days. Do not use with restores that specify OutputLocation.

", + "Transition$Days": "

Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

" } }, "DaysAfterInitiation": { "base": null, "refs": { - "AbortIncompleteMultipartUpload$DaysAfterInitiation": "Indicates the number of days that must pass since initiation for Lifecycle to abort an Incomplete Multipart Upload." + "AbortIncompleteMultipartUpload$DaysAfterInitiation": "

Indicates the number of days that must pass since initiation for Lifecycle to abort an Incomplete Multipart Upload.

" } }, "Delete": { @@ -816,10 +858,10 @@ "DeleteMarker": { "base": null, "refs": { - "DeleteObjectOutput$DeleteMarker": "Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker.", + "DeleteObjectOutput$DeleteMarker": "

Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker.

", "DeletedObject$DeleteMarker": null, - "GetObjectOutput$DeleteMarker": "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.", - "HeadObjectOutput$DeleteMarker": "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." + "GetObjectOutput$DeleteMarker": "

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.

", + "HeadObjectOutput$DeleteMarker": "

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.

" } }, "DeleteMarkerEntry": { @@ -886,80 +928,92 @@ "base": null, "refs": { "ListMultipartUploadsOutput$Delimiter": null, - "ListMultipartUploadsRequest$Delimiter": "Character you use to group keys.", + "ListMultipartUploadsRequest$Delimiter": "

Character you use to group keys.

", "ListObjectVersionsOutput$Delimiter": null, - "ListObjectVersionsRequest$Delimiter": "A delimiter is a character you use to group keys.", + "ListObjectVersionsRequest$Delimiter": "

A delimiter is a character you use to group keys.

", "ListObjectsOutput$Delimiter": null, - "ListObjectsRequest$Delimiter": "A delimiter is a character you use to group keys.", - "ListObjectsV2Output$Delimiter": "A delimiter is a character you use to group keys.", - "ListObjectsV2Request$Delimiter": "A delimiter is a character you use to group keys." + "ListObjectsRequest$Delimiter": "

A delimiter is a character you use to group keys.

", + "ListObjectsV2Output$Delimiter": "

A delimiter is a character you use to group keys.

", + "ListObjectsV2Request$Delimiter": "

A delimiter is a character you use to group keys.

" } }, "Description": { "base": null, "refs": { - "RestoreRequest$Description": "The optional description for the job." + "RestoreRequest$Description": "

The optional description for the job.

" } }, "Destination": { - "base": "Container for replication destination information.", + "base": "

Container for replication destination information.

", "refs": { - "ReplicationRule$Destination": "Container for replication destination information." + "ReplicationRule$Destination": "

Container for replication destination information.

" } }, "DisplayName": { "base": null, "refs": { - "Grantee$DisplayName": "Screen name of the grantee.", - "Initiator$DisplayName": "Name of the Principal.", + "Grantee$DisplayName": "

Screen name of the grantee.

", + "Initiator$DisplayName": "

Name of the Principal.

", "Owner$DisplayName": null } }, "ETag": { "base": null, "refs": { - "CompleteMultipartUploadOutput$ETag": "Entity tag of the object.", - "CompletedPart$ETag": "Entity tag returned when the part was uploaded.", + "CompleteMultipartUploadOutput$ETag": "

Entity tag of the object.

", + "CompletedPart$ETag": "

Entity tag returned when the part was uploaded.

", "CopyObjectResult$ETag": null, - "CopyPartResult$ETag": "Entity tag of the object.", - "GetObjectOutput$ETag": "An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL", - "HeadObjectOutput$ETag": "An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL", + "CopyPartResult$ETag": "

Entity tag of the object.

", + "GetObjectOutput$ETag": "

An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL

", + "HeadObjectOutput$ETag": "

An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL

", "Object$ETag": null, "ObjectVersion$ETag": null, - "Part$ETag": "Entity tag returned when the part was uploaded.", - "PutObjectOutput$ETag": "Entity tag for the uploaded object.", - "UploadPartOutput$ETag": "Entity tag for the uploaded object." + "Part$ETag": "

Entity tag returned when the part was uploaded.

", + "PutObjectOutput$ETag": "

Entity tag for the uploaded object.

", + "UploadPartOutput$ETag": "

Entity tag for the uploaded object.

" } }, "EmailAddress": { "base": null, "refs": { - "Grantee$EmailAddress": "Email address of the grantee." + "Grantee$EmailAddress": "

Email address of the grantee.

" + } + }, + "EnableRequestProgress": { + "base": null, + "refs": { + "RequestProgress$Enabled": "

Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE.

" } }, "EncodingType": { - "base": "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.", + "base": "

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.

", "refs": { - "ListMultipartUploadsOutput$EncodingType": "Encoding type used by Amazon S3 to encode object keys in the response.", + "ListMultipartUploadsOutput$EncodingType": "

Encoding type used by Amazon S3 to encode object keys in the response.

", "ListMultipartUploadsRequest$EncodingType": null, - "ListObjectVersionsOutput$EncodingType": "Encoding type used by Amazon S3 to encode object keys in the response.", + "ListObjectVersionsOutput$EncodingType": "

Encoding type used by Amazon S3 to encode object keys in the response.

", "ListObjectVersionsRequest$EncodingType": null, - "ListObjectsOutput$EncodingType": "Encoding type used by Amazon S3 to encode object keys in the response.", + "ListObjectsOutput$EncodingType": "

Encoding type used by Amazon S3 to encode object keys in the response.

", "ListObjectsRequest$EncodingType": null, - "ListObjectsV2Output$EncodingType": "Encoding type used by Amazon S3 to encode object keys in the response.", - "ListObjectsV2Request$EncodingType": "Encoding type used by Amazon S3 to encode object keys in the response." + "ListObjectsV2Output$EncodingType": "

Encoding type used by Amazon S3 to encode object keys in the response.

", + "ListObjectsV2Request$EncodingType": "

Encoding type used by Amazon S3 to encode object keys in the response.

" } }, "Encryption": { - "base": "Describes the server-side encryption that will be applied to the restore results.", + "base": "

Describes the server-side encryption that will be applied to the restore results.

", "refs": { "S3Location$Encryption": null } }, "EncryptionConfiguration": { - "base": "Container for information regarding encryption based configuration for replicas.", + "base": "

Container for information regarding encryption based configuration for replicas.

", + "refs": { + "Destination$EncryptionConfiguration": "

Container for information regarding encryption based configuration for replicas.

" + } + }, + "EndEvent": { + "base": null, "refs": { - "Destination$EncryptionConfiguration": "Container for information regarding encryption based configuration for replicas." + "SelectObjectContentEventStream$End": "

The End Event.

" } }, "Error": { @@ -982,12 +1036,12 @@ } }, "Event": { - "base": "Bucket event for which to send notifications.", + "base": "

Bucket event for which to send notifications.

", "refs": { "CloudFunctionConfiguration$Event": null, "EventList$member": null, "QueueConfigurationDeprecated$Event": null, - "TopicConfigurationDeprecated$Event": "Bucket event for which to send notifications." + "TopicConfigurationDeprecated$Event": "

Bucket event for which to send notifications.

" } }, "EventList": { @@ -1004,34 +1058,34 @@ "Expiration": { "base": null, "refs": { - "CompleteMultipartUploadOutput$Expiration": "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.", - "CopyObjectOutput$Expiration": "If the object expiration is configured, the response includes this header.", - "GetObjectOutput$Expiration": "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.", - "HeadObjectOutput$Expiration": "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.", - "PutObjectOutput$Expiration": "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." + "CompleteMultipartUploadOutput$Expiration": "

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.

", + "CopyObjectOutput$Expiration": "

If the object expiration is configured, the response includes this header.

", + "GetObjectOutput$Expiration": "

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.

", + "HeadObjectOutput$Expiration": "

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.

", + "PutObjectOutput$Expiration": "

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.

" } }, "ExpirationStatus": { "base": null, "refs": { - "LifecycleRule$Status": "If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.", - "Rule$Status": "If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied." + "LifecycleRule$Status": "

If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

", + "Rule$Status": "

If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

" } }, "ExpiredObjectDeleteMarker": { "base": null, "refs": { - "LifecycleExpiration$ExpiredObjectDeleteMarker": "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." + "LifecycleExpiration$ExpiredObjectDeleteMarker": "

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.

" } }, "Expires": { "base": null, "refs": { - "CopyObjectRequest$Expires": "The date and time at which the object is no longer cacheable.", - "CreateMultipartUploadRequest$Expires": "The date and time at which the object is no longer cacheable.", - "GetObjectOutput$Expires": "The date and time at which the object is no longer cacheable.", - "HeadObjectOutput$Expires": "The date and time at which the object is no longer cacheable.", - "PutObjectRequest$Expires": "The date and time at which the object is no longer cacheable." + "CopyObjectRequest$Expires": "

The date and time at which the object is no longer cacheable.

", + "CreateMultipartUploadRequest$Expires": "

The date and time at which the object is no longer cacheable.

", + "GetObjectOutput$Expires": "

The date and time at which the object is no longer cacheable.

", + "HeadObjectOutput$Expires": "

The date and time at which the object is no longer cacheable.

", + "PutObjectRequest$Expires": "

The date and time at which the object is no longer cacheable.

" } }, "ExposeHeader": { @@ -1043,48 +1097,50 @@ "ExposeHeaders": { "base": null, "refs": { - "CORSRule$ExposeHeaders": "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)." + "CORSRule$ExposeHeaders": "

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).

" } }, "Expression": { "base": null, "refs": { - "SelectParameters$Expression": "The expression that is used to query the object." + "SelectObjectContentRequest$Expression": "

The expression that is used to query the object.

", + "SelectParameters$Expression": "

The expression that is used to query the object.

" } }, "ExpressionType": { "base": null, "refs": { - "SelectParameters$ExpressionType": "The type of the provided expression (e.g., SQL)." + "SelectObjectContentRequest$ExpressionType": "

The type of the provided expression (e.g., SQL).

", + "SelectParameters$ExpressionType": "

The type of the provided expression (e.g., SQL).

" } }, "FetchOwner": { "base": null, "refs": { - "ListObjectsV2Request$FetchOwner": "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" + "ListObjectsV2Request$FetchOwner": "

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

" } }, "FieldDelimiter": { "base": null, "refs": { - "CSVInput$FieldDelimiter": "Value used to separate individual fields in a record.", - "CSVOutput$FieldDelimiter": "Value used to separate individual fields in a record." + "CSVInput$FieldDelimiter": "

Value used to separate individual fields in a record.

", + "CSVOutput$FieldDelimiter": "

Value used to separate individual fields in a record.

" } }, "FileHeaderInfo": { "base": null, "refs": { - "CSVInput$FileHeaderInfo": "Describes the first line of input. Valid values: None, Ignore, Use." + "CSVInput$FileHeaderInfo": "

Describes the first line of input. Valid values: None, Ignore, Use.

" } }, "FilterRule": { - "base": "Container for key value pair that defines the criteria for the filter rule.", + "base": "

Container for key value pair that defines the criteria for the filter rule.

", "refs": { "FilterRuleList$member": null } }, "FilterRuleList": { - "base": "A list of containers for key value pair that defines the criteria for the filter rule.", + "base": "

A list of containers for key value pair that defines the criteria for the filter rule.

", "refs": { "S3KeyFilter$FilterRules": null } @@ -1092,7 +1148,7 @@ "FilterRuleName": { "base": null, "refs": { - "FilterRule$Name": "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." + "FilterRule$Name": "

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.

" } }, "FilterRuleValue": { @@ -1319,7 +1375,7 @@ "GlacierJobParameters": { "base": null, "refs": { - "RestoreRequest$GlacierJobParameters": "Glacier related parameters pertaining to this job. Do not use with restores that specify OutputLocation." + "RestoreRequest$GlacierJobParameters": "

Glacier related parameters pertaining to this job. Do not use with restores that specify OutputLocation.

" } }, "Grant": { @@ -1331,53 +1387,53 @@ "GrantFullControl": { "base": null, "refs": { - "CopyObjectRequest$GrantFullControl": "Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.", - "CreateBucketRequest$GrantFullControl": "Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.", - "CreateMultipartUploadRequest$GrantFullControl": "Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.", - "PutBucketAclRequest$GrantFullControl": "Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.", - "PutObjectAclRequest$GrantFullControl": "Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.", - "PutObjectRequest$GrantFullControl": "Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object." + "CopyObjectRequest$GrantFullControl": "

Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

", + "CreateBucketRequest$GrantFullControl": "

Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

", + "CreateMultipartUploadRequest$GrantFullControl": "

Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

", + "PutBucketAclRequest$GrantFullControl": "

Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

", + "PutObjectAclRequest$GrantFullControl": "

Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

", + "PutObjectRequest$GrantFullControl": "

Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

" } }, "GrantRead": { "base": null, "refs": { - "CopyObjectRequest$GrantRead": "Allows grantee to read the object data and its metadata.", - "CreateBucketRequest$GrantRead": "Allows grantee to list the objects in the bucket.", - "CreateMultipartUploadRequest$GrantRead": "Allows grantee to read the object data and its metadata.", - "PutBucketAclRequest$GrantRead": "Allows grantee to list the objects in the bucket.", - "PutObjectAclRequest$GrantRead": "Allows grantee to list the objects in the bucket.", - "PutObjectRequest$GrantRead": "Allows grantee to read the object data and its metadata." + "CopyObjectRequest$GrantRead": "

Allows grantee to read the object data and its metadata.

", + "CreateBucketRequest$GrantRead": "

Allows grantee to list the objects in the bucket.

", + "CreateMultipartUploadRequest$GrantRead": "

Allows grantee to read the object data and its metadata.

", + "PutBucketAclRequest$GrantRead": "

Allows grantee to list the objects in the bucket.

", + "PutObjectAclRequest$GrantRead": "

Allows grantee to list the objects in the bucket.

", + "PutObjectRequest$GrantRead": "

Allows grantee to read the object data and its metadata.

" } }, "GrantReadACP": { "base": null, "refs": { - "CopyObjectRequest$GrantReadACP": "Allows grantee to read the object ACL.", - "CreateBucketRequest$GrantReadACP": "Allows grantee to read the bucket ACL.", - "CreateMultipartUploadRequest$GrantReadACP": "Allows grantee to read the object ACL.", - "PutBucketAclRequest$GrantReadACP": "Allows grantee to read the bucket ACL.", - "PutObjectAclRequest$GrantReadACP": "Allows grantee to read the bucket ACL.", - "PutObjectRequest$GrantReadACP": "Allows grantee to read the object ACL." + "CopyObjectRequest$GrantReadACP": "

Allows grantee to read the object ACL.

", + "CreateBucketRequest$GrantReadACP": "

Allows grantee to read the bucket ACL.

", + "CreateMultipartUploadRequest$GrantReadACP": "

Allows grantee to read the object ACL.

", + "PutBucketAclRequest$GrantReadACP": "

Allows grantee to read the bucket ACL.

", + "PutObjectAclRequest$GrantReadACP": "

Allows grantee to read the bucket ACL.

", + "PutObjectRequest$GrantReadACP": "

Allows grantee to read the object ACL.

" } }, "GrantWrite": { "base": null, "refs": { - "CreateBucketRequest$GrantWrite": "Allows grantee to create, overwrite, and delete any object in the bucket.", - "PutBucketAclRequest$GrantWrite": "Allows grantee to create, overwrite, and delete any object in the bucket.", - "PutObjectAclRequest$GrantWrite": "Allows grantee to create, overwrite, and delete any object in the bucket." + "CreateBucketRequest$GrantWrite": "

Allows grantee to create, overwrite, and delete any object in the bucket.

", + "PutBucketAclRequest$GrantWrite": "

Allows grantee to create, overwrite, and delete any object in the bucket.

", + "PutObjectAclRequest$GrantWrite": "

Allows grantee to create, overwrite, and delete any object in the bucket.

" } }, "GrantWriteACP": { "base": null, "refs": { - "CopyObjectRequest$GrantWriteACP": "Allows grantee to write the ACL for the applicable object.", - "CreateBucketRequest$GrantWriteACP": "Allows grantee to write the ACL for the applicable bucket.", - "CreateMultipartUploadRequest$GrantWriteACP": "Allows grantee to write the ACL for the applicable object.", - "PutBucketAclRequest$GrantWriteACP": "Allows grantee to write the ACL for the applicable bucket.", - "PutObjectAclRequest$GrantWriteACP": "Allows grantee to write the ACL for the applicable bucket.", - "PutObjectRequest$GrantWriteACP": "Allows grantee to write the ACL for the applicable object." + "CopyObjectRequest$GrantWriteACP": "

Allows grantee to write the ACL for the applicable object.

", + "CreateBucketRequest$GrantWriteACP": "

Allows grantee to write the ACL for the applicable bucket.

", + "CreateMultipartUploadRequest$GrantWriteACP": "

Allows grantee to write the ACL for the applicable object.

", + "PutBucketAclRequest$GrantWriteACP": "

Allows grantee to write the ACL for the applicable bucket.

", + "PutObjectAclRequest$GrantWriteACP": "

Allows grantee to write the ACL for the applicable bucket.

", + "PutObjectRequest$GrantWriteACP": "

Allows grantee to write the ACL for the applicable object.

" } }, "Grantee": { @@ -1390,10 +1446,10 @@ "Grants": { "base": null, "refs": { - "AccessControlPolicy$Grants": "A list of grants.", - "GetBucketAclOutput$Grants": "A list of grants.", - "GetObjectAclOutput$Grants": "A list of grants.", - "S3Location$AccessControlList": "A list of grants that control access to the staged results." + "AccessControlPolicy$Grants": "

A list of grants.

", + "GetBucketAclOutput$Grants": "

A list of grants.

", + "GetObjectAclOutput$Grants": "

A list of grants.

", + "S3Location$AccessControlList": "

A list of grants that control access to the staged results.

" } }, "HeadBucketRequest": { @@ -1414,59 +1470,59 @@ "HostName": { "base": null, "refs": { - "Redirect$HostName": "The host name to use in the redirect request.", - "RedirectAllRequestsTo$HostName": "Name of the host where requests will be redirected." + "Redirect$HostName": "

The host name to use in the redirect request.

", + "RedirectAllRequestsTo$HostName": "

Name of the host where requests will be redirected.

" } }, "HttpErrorCodeReturnedEquals": { "base": null, "refs": { - "Condition$HttpErrorCodeReturnedEquals": "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." + "Condition$HttpErrorCodeReturnedEquals": "

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.

" } }, "HttpRedirectCode": { "base": null, "refs": { - "Redirect$HttpRedirectCode": "The HTTP redirect code to use on the response. Not required if one of the siblings is present." + "Redirect$HttpRedirectCode": "

The HTTP redirect code to use on the response. Not required if one of the siblings is present.

" } }, "ID": { "base": null, "refs": { - "Grantee$ID": "The canonical user ID of the grantee.", - "Initiator$ID": "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.", - "LifecycleRule$ID": "Unique identifier for the rule. The value cannot be longer than 255 characters.", + "Grantee$ID": "

The canonical user ID of the grantee.

", + "Initiator$ID": "

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.

", + "LifecycleRule$ID": "

Unique identifier for the rule. The value cannot be longer than 255 characters.

", "Owner$ID": null, - "ReplicationRule$ID": "Unique identifier for the rule. The value cannot be longer than 255 characters.", - "Rule$ID": "Unique identifier for the rule. The value cannot be longer than 255 characters." + "ReplicationRule$ID": "

Unique identifier for the rule. The value cannot be longer than 255 characters.

", + "Rule$ID": "

Unique identifier for the rule. The value cannot be longer than 255 characters.

" } }, "IfMatch": { "base": null, "refs": { - "GetObjectRequest$IfMatch": "Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).", - "HeadObjectRequest$IfMatch": "Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed)." + "GetObjectRequest$IfMatch": "

Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).

", + "HeadObjectRequest$IfMatch": "

Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).

" } }, "IfModifiedSince": { "base": null, "refs": { - "GetObjectRequest$IfModifiedSince": "Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).", - "HeadObjectRequest$IfModifiedSince": "Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified)." + "GetObjectRequest$IfModifiedSince": "

Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).

", + "HeadObjectRequest$IfModifiedSince": "

Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).

" } }, "IfNoneMatch": { "base": null, "refs": { - "GetObjectRequest$IfNoneMatch": "Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).", - "HeadObjectRequest$IfNoneMatch": "Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified)." + "GetObjectRequest$IfNoneMatch": "

Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).

", + "HeadObjectRequest$IfNoneMatch": "

Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).

" } }, "IfUnmodifiedSince": { "base": null, "refs": { - "GetObjectRequest$IfUnmodifiedSince": "Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).", - "HeadObjectRequest$IfUnmodifiedSince": "Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed)." + "GetObjectRequest$IfUnmodifiedSince": "

Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).

", + "HeadObjectRequest$IfUnmodifiedSince": "

Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).

" } }, "IndexDocument": { @@ -1479,79 +1535,80 @@ "Initiated": { "base": null, "refs": { - "MultipartUpload$Initiated": "Date and time at which the multipart upload was initiated." + "MultipartUpload$Initiated": "

Date and time at which the multipart upload was initiated.

" } }, "Initiator": { "base": null, "refs": { - "ListPartsOutput$Initiator": "Identifies who initiated the multipart upload.", - "MultipartUpload$Initiator": "Identifies who initiated the multipart upload." + "ListPartsOutput$Initiator": "

Identifies who initiated the multipart upload.

", + "MultipartUpload$Initiator": "

Identifies who initiated the multipart upload.

" } }, "InputSerialization": { - "base": "Describes the serialization format of the object.", + "base": "

Describes the serialization format of the object.

", "refs": { - "SelectParameters$InputSerialization": "Describes the serialization format of the object." + "SelectObjectContentRequest$InputSerialization": "

Describes the format of the data in the object that is being queried.

", + "SelectParameters$InputSerialization": "

Describes the serialization format of the object.

" } }, "InventoryConfiguration": { "base": null, "refs": { - "GetBucketInventoryConfigurationOutput$InventoryConfiguration": "Specifies the inventory configuration.", + "GetBucketInventoryConfigurationOutput$InventoryConfiguration": "

Specifies the inventory configuration.

", "InventoryConfigurationList$member": null, - "PutBucketInventoryConfigurationRequest$InventoryConfiguration": "Specifies the inventory configuration." + "PutBucketInventoryConfigurationRequest$InventoryConfiguration": "

Specifies the inventory configuration.

" } }, "InventoryConfigurationList": { "base": null, "refs": { - "ListBucketInventoryConfigurationsOutput$InventoryConfigurationList": "The list of inventory configurations for a bucket." + "ListBucketInventoryConfigurationsOutput$InventoryConfigurationList": "

The list of inventory configurations for a bucket.

" } }, "InventoryDestination": { "base": null, "refs": { - "InventoryConfiguration$Destination": "Contains information about where to publish the inventory results." + "InventoryConfiguration$Destination": "

Contains information about where to publish the inventory results.

" } }, "InventoryEncryption": { - "base": "Contains the type of server-side encryption used to encrypt the inventory results.", + "base": "

Contains the type of server-side encryption used to encrypt the inventory results.

", "refs": { - "InventoryS3BucketDestination$Encryption": "Contains the type of server-side encryption used to encrypt the inventory results." + "InventoryS3BucketDestination$Encryption": "

Contains the type of server-side encryption used to encrypt the inventory results.

" } }, "InventoryFilter": { "base": null, "refs": { - "InventoryConfiguration$Filter": "Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria." + "InventoryConfiguration$Filter": "

Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria.

" } }, "InventoryFormat": { "base": null, "refs": { - "InventoryS3BucketDestination$Format": "Specifies the output format of the inventory results." + "InventoryS3BucketDestination$Format": "

Specifies the output format of the inventory results.

" } }, "InventoryFrequency": { "base": null, "refs": { - "InventorySchedule$Frequency": "Specifies how frequently inventory results are produced." + "InventorySchedule$Frequency": "

Specifies how frequently inventory results are produced.

" } }, "InventoryId": { "base": null, "refs": { - "DeleteBucketInventoryConfigurationRequest$Id": "The ID used to identify the inventory configuration.", - "GetBucketInventoryConfigurationRequest$Id": "The ID used to identify the inventory configuration.", - "InventoryConfiguration$Id": "The ID used to identify the inventory configuration.", - "PutBucketInventoryConfigurationRequest$Id": "The ID used to identify the inventory configuration." + "DeleteBucketInventoryConfigurationRequest$Id": "

The ID used to identify the inventory configuration.

", + "GetBucketInventoryConfigurationRequest$Id": "

The ID used to identify the inventory configuration.

", + "InventoryConfiguration$Id": "

The ID used to identify the inventory configuration.

", + "PutBucketInventoryConfigurationRequest$Id": "

The ID used to identify the inventory configuration.

" } }, "InventoryIncludedObjectVersions": { "base": null, "refs": { - "InventoryConfiguration$IncludedObjectVersions": "Specifies which object version(s) to included in the inventory results." + "InventoryConfiguration$IncludedObjectVersions": "

Specifies which object version(s) to included in the inventory results.

" } }, "InventoryOptionalField": { @@ -1563,82 +1620,100 @@ "InventoryOptionalFields": { "base": null, "refs": { - "InventoryConfiguration$OptionalFields": "Contains the optional fields that are included in the inventory results." + "InventoryConfiguration$OptionalFields": "

Contains the optional fields that are included in the inventory results.

" } }, "InventoryS3BucketDestination": { "base": null, "refs": { - "InventoryDestination$S3BucketDestination": "Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published." + "InventoryDestination$S3BucketDestination": "

Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.

" } }, "InventorySchedule": { "base": null, "refs": { - "InventoryConfiguration$Schedule": "Specifies the schedule for generating inventory results." + "InventoryConfiguration$Schedule": "

Specifies the schedule for generating inventory results.

" } }, "IsEnabled": { "base": null, "refs": { - "InventoryConfiguration$IsEnabled": "Specifies whether the inventory is enabled or disabled." + "InventoryConfiguration$IsEnabled": "

Specifies whether the inventory is enabled or disabled.

" } }, "IsLatest": { "base": null, "refs": { - "DeleteMarkerEntry$IsLatest": "Specifies whether the object is (true) or is not (false) the latest version of an object.", - "ObjectVersion$IsLatest": "Specifies whether the object is (true) or is not (false) the latest version of an object." + "DeleteMarkerEntry$IsLatest": "

Specifies whether the object is (true) or is not (false) the latest version of an object.

", + "ObjectVersion$IsLatest": "

Specifies whether the object is (true) or is not (false) the latest version of an object.

" } }, "IsTruncated": { "base": null, "refs": { - "ListBucketAnalyticsConfigurationsOutput$IsTruncated": "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.", - "ListBucketInventoryConfigurationsOutput$IsTruncated": "Indicates whether the returned list of inventory configurations is truncated in this response. A value of true indicates that the list is truncated.", - "ListBucketMetricsConfigurationsOutput$IsTruncated": "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.", - "ListMultipartUploadsOutput$IsTruncated": "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.", - "ListObjectVersionsOutput$IsTruncated": "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.", - "ListObjectsOutput$IsTruncated": "A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria.", - "ListObjectsV2Output$IsTruncated": "A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria.", - "ListPartsOutput$IsTruncated": "Indicates whether the returned list of parts is truncated." + "ListBucketAnalyticsConfigurationsOutput$IsTruncated": "

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.

", + "ListBucketInventoryConfigurationsOutput$IsTruncated": "

Indicates whether the returned list of inventory configurations is truncated in this response. A value of true indicates that the list is truncated.

", + "ListBucketMetricsConfigurationsOutput$IsTruncated": "

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.

", + "ListMultipartUploadsOutput$IsTruncated": "

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.

", + "ListObjectVersionsOutput$IsTruncated": "

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.

", + "ListObjectsOutput$IsTruncated": "

A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria.

", + "ListObjectsV2Output$IsTruncated": "

A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria.

", + "ListPartsOutput$IsTruncated": "

Indicates whether the returned list of parts is truncated.

" + } + }, + "JSONInput": { + "base": null, + "refs": { + "InputSerialization$JSON": "

Specifies JSON as object's input serialization format.

" + } + }, + "JSONOutput": { + "base": null, + "refs": { + "OutputSerialization$JSON": "

Specifies JSON as request's output serialization format.

" + } + }, + "JSONType": { + "base": null, + "refs": { + "JSONInput$Type": "

The type of JSON. Valid values: Document, Lines.

" } }, "KMSContext": { "base": null, "refs": { - "Encryption$KMSContext": "If the encryption type is aws:kms, this optional value can be used to specify the encryption context for the restore results." + "Encryption$KMSContext": "

If the encryption type is aws:kms, this optional value can be used to specify the encryption context for the restore results.

" } }, "KeyCount": { "base": null, "refs": { - "ListObjectsV2Output$KeyCount": "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" + "ListObjectsV2Output$KeyCount": "

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

" } }, "KeyMarker": { "base": null, "refs": { - "ListMultipartUploadsOutput$KeyMarker": "The key at or after which the listing began.", - "ListMultipartUploadsRequest$KeyMarker": "Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin.", - "ListObjectVersionsOutput$KeyMarker": "Marks the last Key returned in a truncated response.", - "ListObjectVersionsRequest$KeyMarker": "Specifies the key to start with when listing objects in a bucket." + "ListMultipartUploadsOutput$KeyMarker": "

The key at or after which the listing began.

", + "ListMultipartUploadsRequest$KeyMarker": "

Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin.

", + "ListObjectVersionsOutput$KeyMarker": "

Marks the last Key returned in a truncated response.

", + "ListObjectVersionsRequest$KeyMarker": "

Specifies the key to start with when listing objects in a bucket.

" } }, "KeyPrefixEquals": { "base": null, "refs": { - "Condition$KeyPrefixEquals": "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." + "Condition$KeyPrefixEquals": "

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.

" } }, "LambdaFunctionArn": { "base": null, "refs": { - "LambdaFunctionConfiguration$LambdaFunctionArn": "Lambda cloud function ARN that Amazon S3 can invoke when it detects events of the specified type." + "LambdaFunctionConfiguration$LambdaFunctionArn": "

Lambda cloud function ARN that Amazon S3 can invoke when it detects events of the specified type.

" } }, "LambdaFunctionConfiguration": { - "base": "Container for specifying the AWS Lambda notification configuration.", + "base": "

Container for specifying the AWS Lambda notification configuration.

", "refs": { "LambdaFunctionConfigurationList$member": null } @@ -1653,13 +1728,13 @@ "base": null, "refs": { "CopyObjectResult$LastModified": null, - "CopyPartResult$LastModified": "Date and time at which the object was uploaded.", - "DeleteMarkerEntry$LastModified": "Date and time the object was last modified.", - "GetObjectOutput$LastModified": "Last modified date of the object", - "HeadObjectOutput$LastModified": "Last modified date of the object", + "CopyPartResult$LastModified": "

Date and time at which the object was uploaded.

", + "DeleteMarkerEntry$LastModified": "

Date and time the object was last modified.

", + "GetObjectOutput$LastModified": "

Last modified date of the object

", + "HeadObjectOutput$LastModified": "

Last modified date of the object

", "Object$LastModified": null, - "ObjectVersion$LastModified": "Date and time the object was last modified.", - "Part$LastModified": "Date and time at which the part was uploaded." + "ObjectVersion$LastModified": "

Date and time the object was last modified.

", + "Part$LastModified": "

Date and time at which the part was uploaded.

" } }, "LifecycleConfiguration": { @@ -1682,13 +1757,13 @@ } }, "LifecycleRuleAndOperator": { - "base": "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.", + "base": "

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.

", "refs": { "LifecycleRuleFilter$And": null } }, "LifecycleRuleFilter": { - "base": "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.", + "base": "

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.

", "refs": { "LifecycleRule$Filter": null } @@ -1795,11 +1870,11 @@ "LocationPrefix": { "base": null, "refs": { - "S3Location$Prefix": "The prefix that is prepended to the restore results for this request." + "S3Location$Prefix": "

The prefix that is prepended to the restore results for this request.

" } }, "LoggingEnabled": { - "base": null, + "base": "

Container for logging information. Presence of this element indicates that logging is enabled. Parameters TargetBucket and TargetPrefix are required in this case.

", "refs": { "BucketLoggingStatus$LoggingEnabled": null, "GetBucketLoggingOutput$LoggingEnabled": null @@ -1808,59 +1883,59 @@ "MFA": { "base": null, "refs": { - "DeleteObjectRequest$MFA": "The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.", - "DeleteObjectsRequest$MFA": "The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.", - "PutBucketVersioningRequest$MFA": "The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device." + "DeleteObjectRequest$MFA": "

The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

", + "DeleteObjectsRequest$MFA": "

The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

", + "PutBucketVersioningRequest$MFA": "

The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

" } }, "MFADelete": { "base": null, "refs": { - "VersioningConfiguration$MFADelete": "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." + "VersioningConfiguration$MFADelete": "

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.

" } }, "MFADeleteStatus": { "base": null, "refs": { - "GetBucketVersioningOutput$MFADelete": "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." + "GetBucketVersioningOutput$MFADelete": "

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.

" } }, "Marker": { "base": null, "refs": { "ListObjectsOutput$Marker": null, - "ListObjectsRequest$Marker": "Specifies the key to start with when listing objects in a bucket." + "ListObjectsRequest$Marker": "

Specifies the key to start with when listing objects in a bucket.

" } }, "MaxAgeSeconds": { "base": null, "refs": { - "CORSRule$MaxAgeSeconds": "The time in seconds that your browser is to cache the preflight response for the specified resource." + "CORSRule$MaxAgeSeconds": "

The time in seconds that your browser is to cache the preflight response for the specified resource.

" } }, "MaxKeys": { "base": null, "refs": { "ListObjectVersionsOutput$MaxKeys": null, - "ListObjectVersionsRequest$MaxKeys": "Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.", + "ListObjectVersionsRequest$MaxKeys": "

Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.

", "ListObjectsOutput$MaxKeys": null, - "ListObjectsRequest$MaxKeys": "Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.", - "ListObjectsV2Output$MaxKeys": "Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.", - "ListObjectsV2Request$MaxKeys": "Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more." + "ListObjectsRequest$MaxKeys": "

Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.

", + "ListObjectsV2Output$MaxKeys": "

Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.

", + "ListObjectsV2Request$MaxKeys": "

Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.

" } }, "MaxParts": { "base": null, "refs": { - "ListPartsOutput$MaxParts": "Maximum number of parts that were allowed in the response.", - "ListPartsRequest$MaxParts": "Sets the maximum number of parts to return." + "ListPartsOutput$MaxParts": "

Maximum number of parts that were allowed in the response.

", + "ListPartsRequest$MaxParts": "

Sets the maximum number of parts to return.

" } }, "MaxUploads": { "base": null, "refs": { - "ListMultipartUploadsOutput$MaxUploads": "Maximum number of multipart uploads that could have been included in the response.", - "ListMultipartUploadsRequest$MaxUploads": "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." + "ListMultipartUploadsOutput$MaxUploads": "

Maximum number of multipart uploads that could have been included in the response.

", + "ListMultipartUploadsRequest$MaxUploads": "

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.

" } }, "Message": { @@ -1872,21 +1947,21 @@ "Metadata": { "base": null, "refs": { - "CopyObjectRequest$Metadata": "A map of metadata to store with the object in S3.", - "CreateMultipartUploadRequest$Metadata": "A map of metadata to store with the object in S3.", - "GetObjectOutput$Metadata": "A map of metadata to store with the object in S3.", - "HeadObjectOutput$Metadata": "A map of metadata to store with the object in S3.", - "PutObjectRequest$Metadata": "A map of metadata to store with the object in S3." + "CopyObjectRequest$Metadata": "

A map of metadata to store with the object in S3.

", + "CreateMultipartUploadRequest$Metadata": "

A map of metadata to store with the object in S3.

", + "GetObjectOutput$Metadata": "

A map of metadata to store with the object in S3.

", + "HeadObjectOutput$Metadata": "

A map of metadata to store with the object in S3.

", + "PutObjectRequest$Metadata": "

A map of metadata to store with the object in S3.

" } }, "MetadataDirective": { "base": null, "refs": { - "CopyObjectRequest$MetadataDirective": "Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request." + "CopyObjectRequest$MetadataDirective": "

Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.

" } }, "MetadataEntry": { - "base": "A metadata key-value pair to store with an object.", + "base": "

A metadata key-value pair to store with an object.

", "refs": { "UserMetadata$member": null } @@ -1908,43 +1983,43 @@ "MetricsAndOperator": { "base": null, "refs": { - "MetricsFilter$And": "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." + "MetricsFilter$And": "

A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

" } }, "MetricsConfiguration": { "base": null, "refs": { - "GetBucketMetricsConfigurationOutput$MetricsConfiguration": "Specifies the metrics configuration.", + "GetBucketMetricsConfigurationOutput$MetricsConfiguration": "

Specifies the metrics configuration.

", "MetricsConfigurationList$member": null, - "PutBucketMetricsConfigurationRequest$MetricsConfiguration": "Specifies the metrics configuration." + "PutBucketMetricsConfigurationRequest$MetricsConfiguration": "

Specifies the metrics configuration.

" } }, "MetricsConfigurationList": { "base": null, "refs": { - "ListBucketMetricsConfigurationsOutput$MetricsConfigurationList": "The list of metrics configurations for a bucket." + "ListBucketMetricsConfigurationsOutput$MetricsConfigurationList": "

The list of metrics configurations for a bucket.

" } }, "MetricsFilter": { "base": null, "refs": { - "MetricsConfiguration$Filter": "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)." + "MetricsConfiguration$Filter": "

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).

" } }, "MetricsId": { "base": null, "refs": { - "DeleteBucketMetricsConfigurationRequest$Id": "The ID used to identify the metrics configuration.", - "GetBucketMetricsConfigurationRequest$Id": "The ID used to identify the metrics configuration.", - "MetricsConfiguration$Id": "The ID used to identify the metrics configuration.", - "PutBucketMetricsConfigurationRequest$Id": "The ID used to identify the metrics configuration." + "DeleteBucketMetricsConfigurationRequest$Id": "

The ID used to identify the metrics configuration.

", + "GetBucketMetricsConfigurationRequest$Id": "

The ID used to identify the metrics configuration.

", + "MetricsConfiguration$Id": "

The ID used to identify the metrics configuration.

", + "PutBucketMetricsConfigurationRequest$Id": "

The ID used to identify the metrics configuration.

" } }, "MissingMeta": { "base": null, "refs": { - "GetObjectOutput$MissingMeta": "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.", - "HeadObjectOutput$MissingMeta": "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." + "GetObjectOutput$MissingMeta": "

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.

", + "HeadObjectOutput$MissingMeta": "

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.

" } }, "MultipartUpload": { @@ -1958,12 +2033,12 @@ "refs": { "AbortMultipartUploadRequest$UploadId": null, "CompleteMultipartUploadRequest$UploadId": null, - "CreateMultipartUploadOutput$UploadId": "ID for the initiated multipart upload.", - "ListPartsOutput$UploadId": "Upload ID identifying the multipart upload whose parts are being listed.", - "ListPartsRequest$UploadId": "Upload ID identifying the multipart upload whose parts are being listed.", - "MultipartUpload$UploadId": "Upload ID that identifies the multipart upload.", - "UploadPartCopyRequest$UploadId": "Upload ID identifying the multipart upload whose part is being copied.", - "UploadPartRequest$UploadId": "Upload ID identifying the multipart upload whose part is being uploaded." + "CreateMultipartUploadOutput$UploadId": "

ID for the initiated multipart upload.

", + "ListPartsOutput$UploadId": "

Upload ID identifying the multipart upload whose parts are being listed.

", + "ListPartsRequest$UploadId": "

Upload ID identifying the multipart upload whose parts are being listed.

", + "MultipartUpload$UploadId": "

Upload ID that identifies the multipart upload.

", + "UploadPartCopyRequest$UploadId": "

Upload ID identifying the multipart upload whose part is being copied.

", + "UploadPartRequest$UploadId": "

Upload ID identifying the multipart upload whose part is being uploaded.

" } }, "MultipartUploadList": { @@ -1975,67 +2050,67 @@ "NextKeyMarker": { "base": null, "refs": { - "ListMultipartUploadsOutput$NextKeyMarker": "When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request.", - "ListObjectVersionsOutput$NextKeyMarker": "Use this value for the key marker request parameter in a subsequent request." + "ListMultipartUploadsOutput$NextKeyMarker": "

When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request.

", + "ListObjectVersionsOutput$NextKeyMarker": "

Use this value for the key marker request parameter in a subsequent request.

" } }, "NextMarker": { "base": null, "refs": { - "ListObjectsOutput$NextMarker": "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." + "ListObjectsOutput$NextMarker": "

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.

" } }, "NextPartNumberMarker": { "base": null, "refs": { - "ListPartsOutput$NextPartNumberMarker": "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." + "ListPartsOutput$NextPartNumberMarker": "

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.

" } }, "NextToken": { "base": null, "refs": { - "ListBucketAnalyticsConfigurationsOutput$NextContinuationToken": "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.", - "ListBucketInventoryConfigurationsOutput$NextContinuationToken": "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.", - "ListBucketMetricsConfigurationsOutput$NextContinuationToken": "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.", - "ListObjectsV2Output$NextContinuationToken": "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" + "ListBucketAnalyticsConfigurationsOutput$NextContinuationToken": "

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.

", + "ListBucketInventoryConfigurationsOutput$NextContinuationToken": "

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.

", + "ListBucketMetricsConfigurationsOutput$NextContinuationToken": "

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.

", + "ListObjectsV2Output$NextContinuationToken": "

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

" } }, "NextUploadIdMarker": { "base": null, "refs": { - "ListMultipartUploadsOutput$NextUploadIdMarker": "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." + "ListMultipartUploadsOutput$NextUploadIdMarker": "

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.

" } }, "NextVersionIdMarker": { "base": null, "refs": { - "ListObjectVersionsOutput$NextVersionIdMarker": "Use this value for the next version id marker parameter in a subsequent request." + "ListObjectVersionsOutput$NextVersionIdMarker": "

Use this value for the next version id marker parameter in a subsequent request.

" } }, "NoSuchBucket": { - "base": "The specified bucket does not exist.", + "base": "

The specified bucket does not exist.

", "refs": { } }, "NoSuchKey": { - "base": "The specified key does not exist.", + "base": "

The specified key does not exist.

", "refs": { } }, "NoSuchUpload": { - "base": "The specified multipart upload does not exist.", + "base": "

The specified multipart upload does not exist.

", "refs": { } }, "NoncurrentVersionExpiration": { - "base": "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.", + "base": "

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.

", "refs": { "LifecycleRule$NoncurrentVersionExpiration": null, "Rule$NoncurrentVersionExpiration": null } }, "NoncurrentVersionTransition": { - "base": "Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.", + "base": "

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.

", "refs": { "NoncurrentVersionTransitionList$member": null, "Rule$NoncurrentVersionTransition": null @@ -2048,7 +2123,7 @@ } }, "NotificationConfiguration": { - "base": "Container for specifying the notification configuration of the bucket. If this element is empty, notifications are turned off on the bucket.", + "base": "

Container for specifying the notification configuration of the bucket. If this element is empty, notifications are turned off on the bucket.

", "refs": { "PutBucketNotificationConfigurationRequest$NotificationConfiguration": null } @@ -2060,7 +2135,7 @@ } }, "NotificationConfigurationFilter": { - "base": "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.", + "base": "

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.

", "refs": { "LambdaFunctionConfiguration$Filter": null, "QueueConfiguration$Filter": null, @@ -2068,7 +2143,7 @@ } }, "NotificationId": { - "base": "Optional unique identifier for configurations in a notification configuration. If you don't provide one, Amazon S3 will assign an ID.", + "base": "

Optional unique identifier for configurations in a notification configuration. If you don't provide one, Amazon S3 will assign an ID.

", "refs": { "CloudFunctionConfiguration$Id": null, "LambdaFunctionConfiguration$Id": null, @@ -2085,18 +2160,18 @@ } }, "ObjectAlreadyInActiveTierError": { - "base": "This operation is not allowed against this storage tier", + "base": "

This operation is not allowed against this storage tier

", "refs": { } }, "ObjectCannedACL": { "base": null, "refs": { - "CopyObjectRequest$ACL": "The canned ACL to apply to the object.", - "CreateMultipartUploadRequest$ACL": "The canned ACL to apply to the object.", - "PutObjectAclRequest$ACL": "The canned ACL to apply to the object.", - "PutObjectRequest$ACL": "The canned ACL to apply to the object.", - "S3Location$CannedACL": "The canned ACL to apply to the restore results." + "CopyObjectRequest$ACL": "

The canned ACL to apply to the object.

", + "CreateMultipartUploadRequest$ACL": "

The canned ACL to apply to the object.

", + "PutObjectAclRequest$ACL": "

The canned ACL to apply to the object.

", + "PutObjectRequest$ACL": "

The canned ACL to apply to the object.

", + "S3Location$CannedACL": "

The canned ACL to apply to the restore results.

" } }, "ObjectIdentifier": { @@ -2118,50 +2193,51 @@ "CompleteMultipartUploadOutput$Key": null, "CompleteMultipartUploadRequest$Key": null, "CopyObjectRequest$Key": null, - "CreateMultipartUploadOutput$Key": "Object key for which the multipart upload was initiated.", + "CreateMultipartUploadOutput$Key": "

Object key for which the multipart upload was initiated.

", "CreateMultipartUploadRequest$Key": null, - "DeleteMarkerEntry$Key": "The object key.", + "DeleteMarkerEntry$Key": "

The object key.

", "DeleteObjectRequest$Key": null, "DeleteObjectTaggingRequest$Key": null, "DeletedObject$Key": null, "Error$Key": null, - "ErrorDocument$Key": "The object key name to use when a 4XX class error occurs.", + "ErrorDocument$Key": "

The object key name to use when a 4XX class error occurs.

", "GetObjectAclRequest$Key": null, "GetObjectRequest$Key": null, "GetObjectTaggingRequest$Key": null, "GetObjectTorrentRequest$Key": null, "HeadObjectRequest$Key": null, - "ListPartsOutput$Key": "Object key for which the multipart upload was initiated.", + "ListPartsOutput$Key": "

Object key for which the multipart upload was initiated.

", "ListPartsRequest$Key": null, - "MultipartUpload$Key": "Key of the object for which the multipart upload was initiated.", + "MultipartUpload$Key": "

Key of the object for which the multipart upload was initiated.

", "Object$Key": null, - "ObjectIdentifier$Key": "Key name of the object to delete.", - "ObjectVersion$Key": "The object key.", + "ObjectIdentifier$Key": "

Key name of the object to delete.

", + "ObjectVersion$Key": "

The object key.

", "PutObjectAclRequest$Key": null, - "PutObjectRequest$Key": "Object key for which the PUT operation was initiated.", + "PutObjectRequest$Key": "

Object key for which the PUT operation was initiated.

", "PutObjectTaggingRequest$Key": null, "RestoreObjectRequest$Key": null, - "Tag$Key": "Name of the tag.", + "SelectObjectContentRequest$Key": "

The Object Key.

", + "Tag$Key": "

Name of the tag.

", "UploadPartCopyRequest$Key": null, - "UploadPartRequest$Key": "Object key for which the multipart upload was initiated." + "UploadPartRequest$Key": "

Object key for which the multipart upload was initiated.

" } }, "ObjectList": { "base": null, "refs": { "ListObjectsOutput$Contents": null, - "ListObjectsV2Output$Contents": "Metadata about each object returned." + "ListObjectsV2Output$Contents": "

Metadata about each object returned.

" } }, "ObjectNotInActiveTierError": { - "base": "The source object of the COPY operation is not in the active tier and is only stored in Amazon Glacier.", + "base": "

The source object of the COPY operation is not in the active tier and is only stored in Amazon Glacier.

", "refs": { } }, "ObjectStorageClass": { "base": null, "refs": { - "Object$StorageClass": "The class of storage used to store the object." + "Object$StorageClass": "

The class of storage used to store the object.

" } }, "ObjectVersion": { @@ -2173,26 +2249,26 @@ "ObjectVersionId": { "base": null, "refs": { - "CompleteMultipartUploadOutput$VersionId": "Version of the object.", - "CopyObjectOutput$VersionId": "Version ID of the newly created copy.", - "DeleteMarkerEntry$VersionId": "Version ID of an object.", - "DeleteObjectOutput$VersionId": "Returns the version ID of the delete marker created as a result of the DELETE operation.", - "DeleteObjectRequest$VersionId": "VersionId used to reference a specific version of the object.", - "DeleteObjectTaggingOutput$VersionId": "The versionId of the object the tag-set was removed from.", - "DeleteObjectTaggingRequest$VersionId": "The versionId of the object that the tag-set will be removed from.", + "CompleteMultipartUploadOutput$VersionId": "

Version of the object.

", + "CopyObjectOutput$VersionId": "

Version ID of the newly created copy.

", + "DeleteMarkerEntry$VersionId": "

Version ID of an object.

", + "DeleteObjectOutput$VersionId": "

Returns the version ID of the delete marker created as a result of the DELETE operation.

", + "DeleteObjectRequest$VersionId": "

VersionId used to reference a specific version of the object.

", + "DeleteObjectTaggingOutput$VersionId": "

The versionId of the object the tag-set was removed from.

", + "DeleteObjectTaggingRequest$VersionId": "

The versionId of the object that the tag-set will be removed from.

", "DeletedObject$VersionId": null, "Error$VersionId": null, - "GetObjectAclRequest$VersionId": "VersionId used to reference a specific version of the object.", - "GetObjectOutput$VersionId": "Version of the object.", - "GetObjectRequest$VersionId": "VersionId used to reference a specific version of the object.", + "GetObjectAclRequest$VersionId": "

VersionId used to reference a specific version of the object.

", + "GetObjectOutput$VersionId": "

Version of the object.

", + "GetObjectRequest$VersionId": "

VersionId used to reference a specific version of the object.

", "GetObjectTaggingOutput$VersionId": null, "GetObjectTaggingRequest$VersionId": null, - "HeadObjectOutput$VersionId": "Version of the object.", - "HeadObjectRequest$VersionId": "VersionId used to reference a specific version of the object.", - "ObjectIdentifier$VersionId": "VersionId for the specific version of the object to delete.", - "ObjectVersion$VersionId": "Version ID of an object.", - "PutObjectAclRequest$VersionId": "VersionId used to reference a specific version of the object.", - "PutObjectOutput$VersionId": "Version of the object.", + "HeadObjectOutput$VersionId": "

Version of the object.

", + "HeadObjectRequest$VersionId": "

VersionId used to reference a specific version of the object.

", + "ObjectIdentifier$VersionId": "

VersionId for the specific version of the object to delete.

", + "ObjectVersion$VersionId": "

Version ID of an object.

", + "PutObjectAclRequest$VersionId": "

VersionId used to reference a specific version of the object.

", + "PutObjectOutput$VersionId": "

Version of the object.

", "PutObjectTaggingOutput$VersionId": null, "PutObjectTaggingRequest$VersionId": null, "RestoreObjectRequest$VersionId": null @@ -2207,19 +2283,20 @@ "ObjectVersionStorageClass": { "base": null, "refs": { - "ObjectVersion$StorageClass": "The class of storage used to store the object." + "ObjectVersion$StorageClass": "

The class of storage used to store the object.

" } }, "OutputLocation": { - "base": "Describes the location where the restore job's output is stored.", + "base": "

Describes the location where the restore job's output is stored.

", "refs": { - "RestoreRequest$OutputLocation": "Describes the location where the restore job's output is stored." + "RestoreRequest$OutputLocation": "

Describes the location where the restore job's output is stored.

" } }, "OutputSerialization": { - "base": "Describes how results of the Select job are serialized.", + "base": "

Describes how results of the Select job are serialized.

", "refs": { - "SelectParameters$OutputSerialization": "Describes how the results of the Select job are serialized." + "SelectObjectContentRequest$OutputSerialization": "

Describes the format of the data that you want Amazon S3 to return in response.

", + "SelectParameters$OutputSerialization": "

Describes how the results of the Select job are serialized.

" } }, "Owner": { @@ -2239,7 +2316,7 @@ "OwnerOverride": { "base": null, "refs": { - "AccessControlTranslation$Owner": "The override value for the owner of the replica object." + "AccessControlTranslation$Owner": "

The override value for the owner of the replica object.

" } }, "Part": { @@ -2251,19 +2328,19 @@ "PartNumber": { "base": null, "refs": { - "CompletedPart$PartNumber": "Part number that identifies the part. This is a positive integer between 1 and 10,000.", - "GetObjectRequest$PartNumber": "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.", - "HeadObjectRequest$PartNumber": "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.", - "Part$PartNumber": "Part number identifying the part. This is a positive integer between 1 and 10,000.", - "UploadPartCopyRequest$PartNumber": "Part number of part being copied. This is a positive integer between 1 and 10,000.", - "UploadPartRequest$PartNumber": "Part number of part being uploaded. This is a positive integer between 1 and 10,000." + "CompletedPart$PartNumber": "

Part number that identifies the part. This is a positive integer between 1 and 10,000.

", + "GetObjectRequest$PartNumber": "

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.

", + "HeadObjectRequest$PartNumber": "

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.

", + "Part$PartNumber": "

Part number identifying the part. This is a positive integer between 1 and 10,000.

", + "UploadPartCopyRequest$PartNumber": "

Part number of part being copied. This is a positive integer between 1 and 10,000.

", + "UploadPartRequest$PartNumber": "

Part number of part being uploaded. This is a positive integer between 1 and 10,000.

" } }, "PartNumberMarker": { "base": null, "refs": { - "ListPartsOutput$PartNumberMarker": "Part number after which listing begins.", - "ListPartsRequest$PartNumberMarker": "Specifies the part after which listing should begin. Only parts with higher part numbers will be listed." + "ListPartsOutput$PartNumberMarker": "

Part number after which listing begins.

", + "ListPartsRequest$PartNumberMarker": "

Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.

" } }, "Parts": { @@ -2275,61 +2352,73 @@ "PartsCount": { "base": null, "refs": { - "GetObjectOutput$PartsCount": "The count of parts this object has.", - "HeadObjectOutput$PartsCount": "The count of parts this object has." + "GetObjectOutput$PartsCount": "

The count of parts this object has.

", + "HeadObjectOutput$PartsCount": "

The count of parts this object has.

" } }, "Payer": { "base": null, "refs": { - "GetBucketRequestPaymentOutput$Payer": "Specifies who pays for the download and request fees.", - "RequestPaymentConfiguration$Payer": "Specifies who pays for the download and request fees." + "GetBucketRequestPaymentOutput$Payer": "

Specifies who pays for the download and request fees.

", + "RequestPaymentConfiguration$Payer": "

Specifies who pays for the download and request fees.

" } }, "Permission": { "base": null, "refs": { - "Grant$Permission": "Specifies the permission given to the grantee." + "Grant$Permission": "

Specifies the permission given to the grantee.

" } }, "Policy": { "base": null, "refs": { - "GetBucketPolicyOutput$Policy": "The bucket policy as a JSON document.", - "PutBucketPolicyRequest$Policy": "The bucket policy as a JSON document." + "GetBucketPolicyOutput$Policy": "

The bucket policy as a JSON document.

", + "PutBucketPolicyRequest$Policy": "

The bucket policy as a JSON document.

" } }, "Prefix": { "base": null, "refs": { - "AnalyticsAndOperator$Prefix": "The prefix to use when evaluating an AND predicate.", - "AnalyticsFilter$Prefix": "The prefix to use when evaluating an analytics filter.", - "AnalyticsS3BucketDestination$Prefix": "The prefix to use when exporting data. The exported data begins with this prefix.", + "AnalyticsAndOperator$Prefix": "

The prefix to use when evaluating an AND predicate.

", + "AnalyticsFilter$Prefix": "

The prefix to use when evaluating an analytics filter.

", + "AnalyticsS3BucketDestination$Prefix": "

The prefix to use when exporting data. The exported data begins with this prefix.

", "CommonPrefix$Prefix": null, - "InventoryFilter$Prefix": "The prefix that an object must have to be included in the inventory results.", - "InventoryS3BucketDestination$Prefix": "The prefix that is prepended to all inventory results.", - "LifecycleRule$Prefix": "Prefix identifying one or more objects to which the rule applies. This is deprecated; use Filter instead.", + "InventoryFilter$Prefix": "

The prefix that an object must have to be included in the inventory results.

", + "InventoryS3BucketDestination$Prefix": "

The prefix that is prepended to all inventory results.

", + "LifecycleRule$Prefix": "

Prefix identifying one or more objects to which the rule applies. This is deprecated; use Filter instead.

", "LifecycleRuleAndOperator$Prefix": null, - "LifecycleRuleFilter$Prefix": "Prefix identifying one or more objects to which the rule applies.", - "ListMultipartUploadsOutput$Prefix": "When a prefix is provided in the request, this field contains the specified prefix. The result contains only keys starting with the specified prefix.", - "ListMultipartUploadsRequest$Prefix": "Lists in-progress uploads only for those keys that begin with the specified prefix.", + "LifecycleRuleFilter$Prefix": "

Prefix identifying one or more objects to which the rule applies.

", + "ListMultipartUploadsOutput$Prefix": "

When a prefix is provided in the request, this field contains the specified prefix. The result contains only keys starting with the specified prefix.

", + "ListMultipartUploadsRequest$Prefix": "

Lists in-progress uploads only for those keys that begin with the specified prefix.

", "ListObjectVersionsOutput$Prefix": null, - "ListObjectVersionsRequest$Prefix": "Limits the response to keys that begin with the specified prefix.", + "ListObjectVersionsRequest$Prefix": "

Limits the response to keys that begin with the specified prefix.

", "ListObjectsOutput$Prefix": null, - "ListObjectsRequest$Prefix": "Limits the response to keys that begin with the specified prefix.", - "ListObjectsV2Output$Prefix": "Limits the response to keys that begin with the specified prefix.", - "ListObjectsV2Request$Prefix": "Limits the response to keys that begin with the specified prefix.", - "MetricsAndOperator$Prefix": "The prefix used when evaluating an AND predicate.", - "MetricsFilter$Prefix": "The prefix used when evaluating a metrics filter.", - "ReplicationRule$Prefix": "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.", - "Rule$Prefix": "Prefix identifying one or more objects to which the rule applies." + "ListObjectsRequest$Prefix": "

Limits the response to keys that begin with the specified prefix.

", + "ListObjectsV2Output$Prefix": "

Limits the response to keys that begin with the specified prefix.

", + "ListObjectsV2Request$Prefix": "

Limits the response to keys that begin with the specified prefix.

", + "MetricsAndOperator$Prefix": "

The prefix used when evaluating an AND predicate.

", + "MetricsFilter$Prefix": "

The prefix used when evaluating a metrics filter.

", + "ReplicationRule$Prefix": "

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.

", + "Rule$Prefix": "

Prefix identifying one or more objects to which the rule applies.

" + } + }, + "Progress": { + "base": null, + "refs": { + "ProgressEvent$Details": "

The Progress event details.

" + } + }, + "ProgressEvent": { + "base": null, + "refs": { + "SelectObjectContentEventStream$Progress": "

The Progress Event.

" } }, "Protocol": { "base": null, "refs": { - "Redirect$Protocol": "Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.", - "RedirectAllRequestsTo$Protocol": "Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request." + "Redirect$Protocol": "

Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.

", + "RedirectAllRequestsTo$Protocol": "

Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.

" } }, "PutBucketAccelerateConfigurationRequest": { @@ -2455,12 +2544,12 @@ "QueueArn": { "base": null, "refs": { - "QueueConfiguration$QueueArn": "Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects events of specified type.", + "QueueConfiguration$QueueArn": "

Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects events of specified type.

", "QueueConfigurationDeprecated$Queue": null } }, "QueueConfiguration": { - "base": "Container for specifying an configuration when you want Amazon S3 to publish events to an Amazon Simple Queue Service (Amazon SQS) queue.", + "base": "

Container for specifying an configuration when you want Amazon S3 to publish events to an Amazon Simple Queue Service (Amazon SQS) queue.

", "refs": { "QueueConfigurationList$member": null } @@ -2480,47 +2569,54 @@ "Quiet": { "base": null, "refs": { - "Delete$Quiet": "Element to enable quiet mode for the request. When you add this element, you must set its value to true." + "Delete$Quiet": "

Element to enable quiet mode for the request. When you add this element, you must set its value to true.

" } }, "QuoteCharacter": { "base": null, "refs": { - "CSVInput$QuoteCharacter": "Value used for escaping where the field delimiter is part of the value.", - "CSVOutput$QuoteCharacter": "Value used for escaping where the field delimiter is part of the value." + "CSVInput$QuoteCharacter": "

Value used for escaping where the field delimiter is part of the value.

", + "CSVOutput$QuoteCharacter": "

Value used for escaping where the field delimiter is part of the value.

" } }, "QuoteEscapeCharacter": { "base": null, "refs": { - "CSVInput$QuoteEscapeCharacter": "Single character used for escaping the quote character inside an already escaped value.", - "CSVOutput$QuoteEscapeCharacter": "Single character used for escaping the quote character inside an already escaped value." + "CSVInput$QuoteEscapeCharacter": "

Single character used for escaping the quote character inside an already escaped value.

", + "CSVOutput$QuoteEscapeCharacter": "

Single character used for escaping the quote character inside an already escaped value.

" } }, "QuoteFields": { "base": null, "refs": { - "CSVOutput$QuoteFields": "Indicates whether or not all output fields should be quoted." + "CSVOutput$QuoteFields": "

Indicates whether or not all output fields should be quoted.

" } }, "Range": { "base": null, "refs": { - "GetObjectRequest$Range": "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.", - "HeadObjectRequest$Range": "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." + "GetObjectRequest$Range": "

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.

", + "HeadObjectRequest$Range": "

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.

" } }, "RecordDelimiter": { "base": null, "refs": { - "CSVInput$RecordDelimiter": "Value used to separate individual records.", - "CSVOutput$RecordDelimiter": "Value used to separate individual records." + "CSVInput$RecordDelimiter": "

Value used to separate individual records.

", + "CSVOutput$RecordDelimiter": "

Value used to separate individual records.

", + "JSONOutput$RecordDelimiter": "

The value used to separate individual records in the output.

" + } + }, + "RecordsEvent": { + "base": null, + "refs": { + "SelectObjectContentEventStream$Records": "

The Records Event.

" } }, "Redirect": { "base": null, "refs": { - "RoutingRule$Redirect": "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." + "RoutingRule$Redirect": "

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.

" } }, "RedirectAllRequestsTo": { @@ -2533,30 +2629,30 @@ "ReplaceKeyPrefixWith": { "base": null, "refs": { - "Redirect$ReplaceKeyPrefixWith": "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." + "Redirect$ReplaceKeyPrefixWith": "

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": { "base": null, "refs": { - "Redirect$ReplaceKeyWith": "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." + "Redirect$ReplaceKeyWith": "

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.

" } }, "ReplicaKmsKeyID": { "base": null, "refs": { - "EncryptionConfiguration$ReplicaKmsKeyID": "The id of the KMS key used to encrypt the replica object." + "EncryptionConfiguration$ReplicaKmsKeyID": "

The id of the KMS key used to encrypt the replica object.

" } }, "ReplicationConfiguration": { - "base": "Container for replication rules. You can add as many as 1,000 rules. Total replication configuration size can be up to 2 MB.", + "base": "

Container for replication rules. You can add as many as 1,000 rules. Total replication configuration size can be up to 2 MB.

", "refs": { "GetBucketReplicationOutput$ReplicationConfiguration": null, "PutBucketReplicationRequest$ReplicationConfiguration": null } }, "ReplicationRule": { - "base": "Container for information about a particular replication rule.", + "base": "

Container for information about a particular replication rule.

", "refs": { "ReplicationRules$member": null } @@ -2564,13 +2660,13 @@ "ReplicationRuleStatus": { "base": null, "refs": { - "ReplicationRule$Status": "The rule is ignored if status is not Enabled." + "ReplicationRule$Status": "

The rule is ignored if status is not Enabled.

" } }, "ReplicationRules": { "base": null, "refs": { - "ReplicationConfiguration$Rules": "Container for information about a particular replication rule. Replication configuration must have at least one rule and can contain up to 1,000 rules." + "ReplicationConfiguration$Rules": "

Container for information about a particular replication rule. Replication configuration must have at least one rule and can contain up to 1,000 rules.

" } }, "ReplicationStatus": { @@ -2581,7 +2677,7 @@ } }, "RequestCharged": { - "base": "If present, indicates that the requester was successfully charged for the request.", + "base": "

If present, indicates that the requester was successfully charged for the request.

", "refs": { "AbortMultipartUploadOutput$RequestCharged": null, "CompleteMultipartUploadOutput$RequestCharged": null, @@ -2602,7 +2698,7 @@ } }, "RequestPayer": { - "base": "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", + "base": "

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

", "refs": { "AbortMultipartUploadRequest$RequestPayer": null, "CompleteMultipartUploadRequest$RequestPayer": null, @@ -2614,8 +2710,8 @@ "GetObjectRequest$RequestPayer": null, "GetObjectTorrentRequest$RequestPayer": null, "HeadObjectRequest$RequestPayer": null, - "ListObjectsRequest$RequestPayer": "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.", - "ListObjectsV2Request$RequestPayer": "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.", + "ListObjectsRequest$RequestPayer": "

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.

", + "ListObjectsV2Request$RequestPayer": "

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.

", "ListPartsRequest$RequestPayer": null, "PutObjectAclRequest$RequestPayer": null, "PutObjectRequest$RequestPayer": null, @@ -2630,47 +2726,53 @@ "PutBucketRequestPaymentRequest$RequestPaymentConfiguration": null } }, + "RequestProgress": { + "base": null, + "refs": { + "SelectObjectContentRequest$RequestProgress": "

Specifies if periodic request progress information should be enabled.

" + } + }, "ResponseCacheControl": { "base": null, "refs": { - "GetObjectRequest$ResponseCacheControl": "Sets the Cache-Control header of the response." + "GetObjectRequest$ResponseCacheControl": "

Sets the Cache-Control header of the response.

" } }, "ResponseContentDisposition": { "base": null, "refs": { - "GetObjectRequest$ResponseContentDisposition": "Sets the Content-Disposition header of the response" + "GetObjectRequest$ResponseContentDisposition": "

Sets the Content-Disposition header of the response

" } }, "ResponseContentEncoding": { "base": null, "refs": { - "GetObjectRequest$ResponseContentEncoding": "Sets the Content-Encoding header of the response." + "GetObjectRequest$ResponseContentEncoding": "

Sets the Content-Encoding header of the response.

" } }, "ResponseContentLanguage": { "base": null, "refs": { - "GetObjectRequest$ResponseContentLanguage": "Sets the Content-Language header of the response." + "GetObjectRequest$ResponseContentLanguage": "

Sets the Content-Language header of the response.

" } }, "ResponseContentType": { "base": null, "refs": { - "GetObjectRequest$ResponseContentType": "Sets the Content-Type header of the response." + "GetObjectRequest$ResponseContentType": "

Sets the Content-Type header of the response.

" } }, "ResponseExpires": { "base": null, "refs": { - "GetObjectRequest$ResponseExpires": "Sets the Expires header of the response." + "GetObjectRequest$ResponseExpires": "

Sets the Expires header of the response.

" } }, "Restore": { "base": null, "refs": { - "GetObjectOutput$Restore": "Provides information about object restoration operation and expiration time of the restored object copy.", - "HeadObjectOutput$Restore": "Provides information about object restoration operation and expiration time of the restored object copy." + "GetObjectOutput$Restore": "

Provides information about object restoration operation and expiration time of the restored object copy.

", + "HeadObjectOutput$Restore": "

Provides information about object restoration operation and expiration time of the restored object copy.

" } }, "RestoreObjectOutput": { @@ -2686,11 +2788,11 @@ "RestoreOutputPath": { "base": null, "refs": { - "RestoreObjectOutput$RestoreOutputPath": "Indicates the path in the provided S3 output location where Select results will be restored to." + "RestoreObjectOutput$RestoreOutputPath": "

Indicates the path in the provided S3 output location where Select results will be restored to.

" } }, "RestoreRequest": { - "base": "Container for restore job parameters.", + "base": "

Container for restore job parameters.

", "refs": { "RestoreObjectRequest$RestoreRequest": null } @@ -2698,13 +2800,13 @@ "RestoreRequestType": { "base": null, "refs": { - "RestoreRequest$Type": "Type of restore request." + "RestoreRequest$Type": "

Type of restore request.

" } }, "Role": { "base": null, "refs": { - "ReplicationConfiguration$Role": "Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when replicating the objects." + "ReplicationConfiguration$Role": "

Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when replicating the objects.

" } }, "RoutingRule": { @@ -2734,137 +2836,156 @@ } }, "S3KeyFilter": { - "base": "Container for object key name prefix and suffix filtering rules.", + "base": "

Container for object key name prefix and suffix filtering rules.

", "refs": { "NotificationConfigurationFilter$Key": null } }, "S3Location": { - "base": "Describes an S3 location that will receive the results of the restore request.", + "base": "

Describes an S3 location that will receive the results of the restore request.

", "refs": { - "OutputLocation$S3": "Describes an S3 location that will receive the results of the restore request." + "OutputLocation$S3": "

Describes an S3 location that will receive the results of the restore request.

" } }, "SSECustomerAlgorithm": { "base": null, "refs": { - "CopyObjectOutput$SSECustomerAlgorithm": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", - "CopyObjectRequest$SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (e.g., AES256).", - "CreateMultipartUploadOutput$SSECustomerAlgorithm": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", - "CreateMultipartUploadRequest$SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (e.g., AES256).", - "GetObjectOutput$SSECustomerAlgorithm": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", - "GetObjectRequest$SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (e.g., AES256).", - "HeadObjectOutput$SSECustomerAlgorithm": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", - "HeadObjectRequest$SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (e.g., AES256).", - "PutObjectOutput$SSECustomerAlgorithm": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", - "PutObjectRequest$SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (e.g., AES256).", - "UploadPartCopyOutput$SSECustomerAlgorithm": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", - "UploadPartCopyRequest$SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (e.g., AES256).", - "UploadPartOutput$SSECustomerAlgorithm": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", - "UploadPartRequest$SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (e.g., AES256)." + "CopyObjectOutput$SSECustomerAlgorithm": "

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", + "CopyObjectRequest$SSECustomerAlgorithm": "

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

", + "CreateMultipartUploadOutput$SSECustomerAlgorithm": "

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", + "CreateMultipartUploadRequest$SSECustomerAlgorithm": "

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

", + "GetObjectOutput$SSECustomerAlgorithm": "

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", + "GetObjectRequest$SSECustomerAlgorithm": "

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

", + "HeadObjectOutput$SSECustomerAlgorithm": "

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", + "HeadObjectRequest$SSECustomerAlgorithm": "

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

", + "PutObjectOutput$SSECustomerAlgorithm": "

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", + "PutObjectRequest$SSECustomerAlgorithm": "

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

", + "SelectObjectContentRequest$SSECustomerAlgorithm": "

The SSE Algorithm used to encrypt the object. For more information, go to Server-Side Encryption (Using Customer-Provided Encryption Keys.

", + "UploadPartCopyOutput$SSECustomerAlgorithm": "

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", + "UploadPartCopyRequest$SSECustomerAlgorithm": "

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

", + "UploadPartOutput$SSECustomerAlgorithm": "

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", + "UploadPartRequest$SSECustomerAlgorithm": "

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

" } }, "SSECustomerKey": { "base": null, "refs": { - "CopyObjectRequest$SSECustomerKey": "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.", - "CreateMultipartUploadRequest$SSECustomerKey": "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.", - "GetObjectRequest$SSECustomerKey": "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.", - "HeadObjectRequest$SSECustomerKey": "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.", - "PutObjectRequest$SSECustomerKey": "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.", - "UploadPartCopyRequest$SSECustomerKey": "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.", - "UploadPartRequest$SSECustomerKey": "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." + "CopyObjectRequest$SSECustomerKey": "

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.

", + "CreateMultipartUploadRequest$SSECustomerKey": "

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.

", + "GetObjectRequest$SSECustomerKey": "

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.

", + "HeadObjectRequest$SSECustomerKey": "

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.

", + "PutObjectRequest$SSECustomerKey": "

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.

", + "SelectObjectContentRequest$SSECustomerKey": "

The SSE Customer Key. For more information, go to Server-Side Encryption (Using Customer-Provided Encryption Keys.

", + "UploadPartCopyRequest$SSECustomerKey": "

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.

", + "UploadPartRequest$SSECustomerKey": "

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.

" } }, "SSECustomerKeyMD5": { "base": null, "refs": { - "CopyObjectOutput$SSECustomerKeyMD5": "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.", - "CopyObjectRequest$SSECustomerKeyMD5": "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.", - "CreateMultipartUploadOutput$SSECustomerKeyMD5": "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.", - "CreateMultipartUploadRequest$SSECustomerKeyMD5": "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.", - "GetObjectOutput$SSECustomerKeyMD5": "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.", - "GetObjectRequest$SSECustomerKeyMD5": "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.", - "HeadObjectOutput$SSECustomerKeyMD5": "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.", - "HeadObjectRequest$SSECustomerKeyMD5": "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.", - "PutObjectOutput$SSECustomerKeyMD5": "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.", - "PutObjectRequest$SSECustomerKeyMD5": "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.", - "UploadPartCopyOutput$SSECustomerKeyMD5": "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.", - "UploadPartCopyRequest$SSECustomerKeyMD5": "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.", - "UploadPartOutput$SSECustomerKeyMD5": "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.", - "UploadPartRequest$SSECustomerKeyMD5": "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." + "CopyObjectOutput$SSECustomerKeyMD5": "

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.

", + "CopyObjectRequest$SSECustomerKeyMD5": "

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.

", + "CreateMultipartUploadOutput$SSECustomerKeyMD5": "

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.

", + "CreateMultipartUploadRequest$SSECustomerKeyMD5": "

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.

", + "GetObjectOutput$SSECustomerKeyMD5": "

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.

", + "GetObjectRequest$SSECustomerKeyMD5": "

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.

", + "HeadObjectOutput$SSECustomerKeyMD5": "

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.

", + "HeadObjectRequest$SSECustomerKeyMD5": "

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.

", + "PutObjectOutput$SSECustomerKeyMD5": "

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.

", + "PutObjectRequest$SSECustomerKeyMD5": "

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.

", + "SelectObjectContentRequest$SSECustomerKeyMD5": "

The SSE Customer Key MD5. For more information, go to Server-Side Encryption (Using Customer-Provided Encryption Keys.

", + "UploadPartCopyOutput$SSECustomerKeyMD5": "

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.

", + "UploadPartCopyRequest$SSECustomerKeyMD5": "

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.

", + "UploadPartOutput$SSECustomerKeyMD5": "

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.

", + "UploadPartRequest$SSECustomerKeyMD5": "

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.

" } }, "SSEKMS": { - "base": "Specifies the use of SSE-KMS to encrypt delievered Inventory reports.", + "base": "

Specifies the use of SSE-KMS to encrypt delievered Inventory reports.

", "refs": { - "InventoryEncryption$SSEKMS": "Specifies the use of SSE-KMS to encrypt delievered Inventory reports." + "InventoryEncryption$SSEKMS": "

Specifies the use of SSE-KMS to encrypt delievered Inventory reports.

" } }, "SSEKMSKeyId": { "base": null, "refs": { - "CompleteMultipartUploadOutput$SSEKMSKeyId": "If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", - "CopyObjectOutput$SSEKMSKeyId": "If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", - "CopyObjectRequest$SSEKMSKeyId": "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", - "CreateMultipartUploadOutput$SSEKMSKeyId": "If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", - "CreateMultipartUploadRequest$SSEKMSKeyId": "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", - "Encryption$KMSKeyId": "If the encryption type is aws:kms, this optional value specifies the AWS KMS key ID to use for encryption of job results.", - "GetObjectOutput$SSEKMSKeyId": "If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", - "HeadObjectOutput$SSEKMSKeyId": "If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", - "PutObjectOutput$SSEKMSKeyId": "If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", - "PutObjectRequest$SSEKMSKeyId": "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", - "SSEKMS$KeyId": "Specifies the ID of the AWS Key Management Service (KMS) master encryption key to use for encrypting Inventory reports.", - "ServerSideEncryptionByDefault$KMSMasterKeyID": "KMS master key ID to use for the default encryption. This parameter is allowed if SSEAlgorithm is aws:kms.", - "UploadPartCopyOutput$SSEKMSKeyId": "If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", - "UploadPartOutput$SSEKMSKeyId": "If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object." + "CompleteMultipartUploadOutput$SSEKMSKeyId": "

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", + "CopyObjectOutput$SSEKMSKeyId": "

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", + "CopyObjectRequest$SSEKMSKeyId": "

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

", + "CreateMultipartUploadOutput$SSEKMSKeyId": "

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", + "CreateMultipartUploadRequest$SSEKMSKeyId": "

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

", + "Encryption$KMSKeyId": "

If the encryption type is aws:kms, this optional value specifies the AWS KMS key ID to use for encryption of job results.

", + "GetObjectOutput$SSEKMSKeyId": "

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", + "HeadObjectOutput$SSEKMSKeyId": "

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", + "PutObjectOutput$SSEKMSKeyId": "

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", + "PutObjectRequest$SSEKMSKeyId": "

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

", + "SSEKMS$KeyId": "

Specifies the ID of the AWS Key Management Service (KMS) master encryption key to use for encrypting Inventory reports.

", + "ServerSideEncryptionByDefault$KMSMasterKeyID": "

KMS master key ID to use for the default encryption. This parameter is allowed if SSEAlgorithm is aws:kms.

", + "UploadPartCopyOutput$SSEKMSKeyId": "

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", + "UploadPartOutput$SSEKMSKeyId": "

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

" } }, "SSES3": { - "base": "Specifies the use of SSE-S3 to encrypt delievered Inventory reports.", + "base": "

Specifies the use of SSE-S3 to encrypt delievered Inventory reports.

", + "refs": { + "InventoryEncryption$SSES3": "

Specifies the use of SSE-S3 to encrypt delievered Inventory reports.

" + } + }, + "SelectObjectContentEventStream": { + "base": null, + "refs": { + "SelectObjectContentOutput$Payload": null + } + }, + "SelectObjectContentOutput": { + "base": null, + "refs": { + } + }, + "SelectObjectContentRequest": { + "base": "

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.

", "refs": { - "InventoryEncryption$SSES3": "Specifies the use of SSE-S3 to encrypt delievered Inventory reports." } }, "SelectParameters": { - "base": "Describes the parameters for Select job types.", + "base": "

Describes the parameters for Select job types.

", "refs": { - "RestoreRequest$SelectParameters": "Describes the parameters for Select job types." + "RestoreRequest$SelectParameters": "

Describes the parameters for Select job types.

" } }, "ServerSideEncryption": { "base": null, "refs": { - "CompleteMultipartUploadOutput$ServerSideEncryption": "The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", - "CopyObjectOutput$ServerSideEncryption": "The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", - "CopyObjectRequest$ServerSideEncryption": "The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", - "CreateMultipartUploadOutput$ServerSideEncryption": "The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", - "CreateMultipartUploadRequest$ServerSideEncryption": "The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", - "Encryption$EncryptionType": "The server-side encryption algorithm used when storing job results in Amazon S3 (e.g., AES256, aws:kms).", - "GetObjectOutput$ServerSideEncryption": "The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", - "HeadObjectOutput$ServerSideEncryption": "The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", - "PutObjectOutput$ServerSideEncryption": "The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", - "PutObjectRequest$ServerSideEncryption": "The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", - "ServerSideEncryptionByDefault$SSEAlgorithm": "Server-side encryption algorithm to use for the default encryption.", - "UploadPartCopyOutput$ServerSideEncryption": "The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", - "UploadPartOutput$ServerSideEncryption": "The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms)." + "CompleteMultipartUploadOutput$ServerSideEncryption": "

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", + "CopyObjectOutput$ServerSideEncryption": "

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", + "CopyObjectRequest$ServerSideEncryption": "

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", + "CreateMultipartUploadOutput$ServerSideEncryption": "

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", + "CreateMultipartUploadRequest$ServerSideEncryption": "

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", + "Encryption$EncryptionType": "

The server-side encryption algorithm used when storing job results in Amazon S3 (e.g., AES256, aws:kms).

", + "GetObjectOutput$ServerSideEncryption": "

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", + "HeadObjectOutput$ServerSideEncryption": "

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", + "PutObjectOutput$ServerSideEncryption": "

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", + "PutObjectRequest$ServerSideEncryption": "

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", + "ServerSideEncryptionByDefault$SSEAlgorithm": "

Server-side encryption algorithm to use for the default encryption.

", + "UploadPartCopyOutput$ServerSideEncryption": "

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", + "UploadPartOutput$ServerSideEncryption": "

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

" } }, "ServerSideEncryptionByDefault": { - "base": "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.", + "base": "

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.

", "refs": { - "ServerSideEncryptionRule$ApplyServerSideEncryptionByDefault": "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." + "ServerSideEncryptionRule$ApplyServerSideEncryptionByDefault": "

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": { - "base": "Container for server-side encryption configuration rules. Currently S3 supports one rule only.", + "base": "

Container for server-side encryption configuration rules. Currently S3 supports one rule only.

", "refs": { "GetBucketEncryptionOutput$ServerSideEncryptionConfiguration": null, "PutBucketEncryptionRequest$ServerSideEncryptionConfiguration": null } }, "ServerSideEncryptionRule": { - "base": "Container for information about a particular server-side encryption configuration rule.", + "base": "

Container for information about a particular server-side encryption configuration rule.

", "refs": { "ServerSideEncryptionRules$member": null } @@ -2872,103 +2993,115 @@ "ServerSideEncryptionRules": { "base": null, "refs": { - "ServerSideEncryptionConfiguration$Rules": "Container for information about a particular server-side encryption configuration rule." + "ServerSideEncryptionConfiguration$Rules": "

Container for information about a particular server-side encryption configuration rule.

" } }, "Size": { "base": null, "refs": { "Object$Size": null, - "ObjectVersion$Size": "Size in bytes of the object.", - "Part$Size": "Size of the uploaded part data." + "ObjectVersion$Size": "

Size in bytes of the object.

", + "Part$Size": "

Size of the uploaded part data.

" } }, "SourceSelectionCriteria": { - "base": "Container for filters that define which source objects should be replicated.", + "base": "

Container for filters that define which source objects should be replicated.

", "refs": { - "ReplicationRule$SourceSelectionCriteria": "Container for filters that define which source objects should be replicated." + "ReplicationRule$SourceSelectionCriteria": "

Container for filters that define which source objects should be replicated.

" } }, "SseKmsEncryptedObjects": { - "base": "Container for filter information of selection of KMS Encrypted S3 objects.", + "base": "

Container for filter information of selection of KMS Encrypted S3 objects.

", "refs": { - "SourceSelectionCriteria$SseKmsEncryptedObjects": "Container for filter information of selection of KMS Encrypted S3 objects." + "SourceSelectionCriteria$SseKmsEncryptedObjects": "

Container for filter information of selection of KMS Encrypted S3 objects.

" } }, "SseKmsEncryptedObjectsStatus": { "base": null, "refs": { - "SseKmsEncryptedObjects$Status": "The replication for KMS encrypted S3 objects is disabled if status is not Enabled." + "SseKmsEncryptedObjects$Status": "

The replication for KMS encrypted S3 objects is disabled if status is not Enabled.

" } }, "StartAfter": { "base": null, "refs": { - "ListObjectsV2Output$StartAfter": "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$StartAfter": "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" + "ListObjectsV2Output$StartAfter": "

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$StartAfter": "

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

" + } + }, + "Stats": { + "base": null, + "refs": { + "StatsEvent$Details": "

The Stats event details.

" + } + }, + "StatsEvent": { + "base": null, + "refs": { + "SelectObjectContentEventStream$Stats": "

The Stats Event.

" } }, "StorageClass": { "base": null, "refs": { - "CopyObjectRequest$StorageClass": "The type of storage to use for the object. Defaults to 'STANDARD'.", - "CreateMultipartUploadRequest$StorageClass": "The type of storage to use for the object. Defaults to 'STANDARD'.", - "Destination$StorageClass": "The class of storage used to store the object.", + "CopyObjectRequest$StorageClass": "

The type of storage to use for the object. Defaults to 'STANDARD'.

", + "CreateMultipartUploadRequest$StorageClass": "

The type of storage to use for the object. Defaults to 'STANDARD'.

", + "Destination$StorageClass": "

The class of storage used to store the object.

", "GetObjectOutput$StorageClass": null, "HeadObjectOutput$StorageClass": null, - "ListPartsOutput$StorageClass": "The class of storage used to store the object.", - "MultipartUpload$StorageClass": "The class of storage used to store the object.", - "PutObjectRequest$StorageClass": "The type of storage to use for the object. Defaults to 'STANDARD'.", - "S3Location$StorageClass": "The class of storage used to store the restore results." + "ListPartsOutput$StorageClass": "

The class of storage used to store the object.

", + "MultipartUpload$StorageClass": "

The class of storage used to store the object.

", + "PutObjectRequest$StorageClass": "

The type of storage to use for the object. Defaults to 'STANDARD'.

", + "S3Location$StorageClass": "

The class of storage used to store the restore results.

" } }, "StorageClassAnalysis": { "base": null, "refs": { - "AnalyticsConfiguration$StorageClassAnalysis": "If present, it indicates that data related to access patterns will be collected and made available to analyze the tradeoffs between different storage classes." + "AnalyticsConfiguration$StorageClassAnalysis": "

If present, it indicates that data related to access patterns will be collected and made available to analyze the tradeoffs between different storage classes.

" } }, "StorageClassAnalysisDataExport": { "base": null, "refs": { - "StorageClassAnalysis$DataExport": "A container used to describe how data related to the storage class analysis should be exported." + "StorageClassAnalysis$DataExport": "

A container used to describe how data related to the storage class analysis should be exported.

" } }, "StorageClassAnalysisSchemaVersion": { "base": null, "refs": { - "StorageClassAnalysisDataExport$OutputSchemaVersion": "The version of the output schema to use when exporting data. Must be V_1." + "StorageClassAnalysisDataExport$OutputSchemaVersion": "

The version of the output schema to use when exporting data. Must be V_1.

" } }, "Suffix": { "base": null, "refs": { - "IndexDocument$Suffix": "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." + "IndexDocument$Suffix": "

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.

" } }, "Tag": { "base": null, "refs": { - "AnalyticsFilter$Tag": "The tag to use when evaluating an analytics filter.", - "LifecycleRuleFilter$Tag": "This tag must exist in the object's tag set in order for the rule to apply.", - "MetricsFilter$Tag": "The tag used when evaluating a metrics filter.", + "AnalyticsFilter$Tag": "

The tag to use when evaluating an analytics filter.

", + "LifecycleRuleFilter$Tag": "

This tag must exist in the object's tag set in order for the rule to apply.

", + "MetricsFilter$Tag": "

The tag used when evaluating a metrics filter.

", "TagSet$member": null } }, "TagCount": { "base": null, "refs": { - "GetObjectOutput$TagCount": "The number of tags, if any, on the object." + "GetObjectOutput$TagCount": "

The number of tags, if any, on the object.

" } }, "TagSet": { "base": null, "refs": { - "AnalyticsAndOperator$Tags": "The list of tags to use when evaluating an AND predicate.", + "AnalyticsAndOperator$Tags": "

The list of tags to use when evaluating an AND predicate.

", "GetBucketTaggingOutput$TagSet": null, "GetObjectTaggingOutput$TagSet": null, - "LifecycleRuleAndOperator$Tags": "All of these tags must exist in the object's tag set in order for the rule to apply.", - "MetricsAndOperator$Tags": "The list of tags used when evaluating an AND predicate.", + "LifecycleRuleAndOperator$Tags": "

All of these tags must exist in the object's tag set in order for the rule to apply.

", + "MetricsAndOperator$Tags": "

The list of tags used when evaluating an AND predicate.

", "Tagging$TagSet": null } }, @@ -2977,27 +3110,27 @@ "refs": { "PutBucketTaggingRequest$Tagging": null, "PutObjectTaggingRequest$Tagging": null, - "S3Location$Tagging": "The tag-set that is applied to the restore results." + "S3Location$Tagging": "

The tag-set that is applied to the restore results.

" } }, "TaggingDirective": { "base": null, "refs": { - "CopyObjectRequest$TaggingDirective": "Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request." + "CopyObjectRequest$TaggingDirective": "

Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request.

" } }, "TaggingHeader": { "base": null, "refs": { - "CopyObjectRequest$Tagging": "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", - "CreateMultipartUploadRequest$Tagging": "The tag-set for the object. The tag-set must be encoded as URL Query parameters", - "PutObjectRequest$Tagging": "The tag-set for the object. The tag-set must be encoded as URL Query parameters" + "CopyObjectRequest$Tagging": "

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

", + "CreateMultipartUploadRequest$Tagging": "

The tag-set for the object. The tag-set must be encoded as URL Query parameters

", + "PutObjectRequest$Tagging": "

The tag-set for the object. The tag-set must be encoded as URL Query parameters

" } }, "TargetBucket": { "base": null, "refs": { - "LoggingEnabled$TargetBucket": "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." + "LoggingEnabled$TargetBucket": "

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.

" } }, "TargetGrant": { @@ -3015,38 +3148,38 @@ "TargetPrefix": { "base": null, "refs": { - "LoggingEnabled$TargetPrefix": "This element lets you specify a prefix for the keys that the log files will be stored under." + "LoggingEnabled$TargetPrefix": "

This element lets you specify a prefix for the keys that the log files will be stored under.

" } }, "Tier": { "base": null, "refs": { - "GlacierJobParameters$Tier": "Glacier retrieval tier at which the restore will be processed.", - "RestoreRequest$Tier": "Glacier retrieval tier at which the restore will be processed." + "GlacierJobParameters$Tier": "

Glacier retrieval tier at which the restore will be processed.

", + "RestoreRequest$Tier": "

Glacier retrieval tier at which the restore will be processed.

" } }, "Token": { "base": null, "refs": { - "ListBucketAnalyticsConfigurationsOutput$ContinuationToken": "The ContinuationToken that represents where this request began.", - "ListBucketAnalyticsConfigurationsRequest$ContinuationToken": "The ContinuationToken that represents a placeholder from where this request should begin.", - "ListBucketInventoryConfigurationsOutput$ContinuationToken": "If sent in the request, the marker that is used as a starting point for this inventory configuration list response.", - "ListBucketInventoryConfigurationsRequest$ContinuationToken": "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.", - "ListBucketMetricsConfigurationsOutput$ContinuationToken": "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.", - "ListBucketMetricsConfigurationsRequest$ContinuationToken": "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.", - "ListObjectsV2Output$ContinuationToken": "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", - "ListObjectsV2Request$ContinuationToken": "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" + "ListBucketAnalyticsConfigurationsOutput$ContinuationToken": "

The ContinuationToken that represents where this request began.

", + "ListBucketAnalyticsConfigurationsRequest$ContinuationToken": "

The ContinuationToken that represents a placeholder from where this request should begin.

", + "ListBucketInventoryConfigurationsOutput$ContinuationToken": "

If sent in the request, the marker that is used as a starting point for this inventory configuration list response.

", + "ListBucketInventoryConfigurationsRequest$ContinuationToken": "

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.

", + "ListBucketMetricsConfigurationsOutput$ContinuationToken": "

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.

", + "ListBucketMetricsConfigurationsRequest$ContinuationToken": "

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.

", + "ListObjectsV2Output$ContinuationToken": "

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

", + "ListObjectsV2Request$ContinuationToken": "

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

" } }, "TopicArn": { "base": null, "refs": { - "TopicConfiguration$TopicArn": "Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects events of specified type.", - "TopicConfigurationDeprecated$Topic": "Amazon SNS topic to which Amazon S3 will publish a message to report the specified events for the bucket." + "TopicConfiguration$TopicArn": "

Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects events of specified type.

", + "TopicConfigurationDeprecated$Topic": "

Amazon SNS topic to which Amazon S3 will publish a message to report the specified events for the bucket.

" } }, "TopicConfiguration": { - "base": "Container for specifying the configuration when you want Amazon S3 to publish events to an Amazon Simple Notification Service (Amazon SNS) topic.", + "base": "

Container for specifying the configuration when you want Amazon S3 to publish events to an Amazon Simple Notification Service (Amazon SNS) topic.

", "refs": { "TopicConfigurationList$member": null } @@ -3079,27 +3212,27 @@ "TransitionStorageClass": { "base": null, "refs": { - "NoncurrentVersionTransition$StorageClass": "The class of storage used to store the object.", - "Transition$StorageClass": "The class of storage used to store the object." + "NoncurrentVersionTransition$StorageClass": "

The class of storage used to store the object.

", + "Transition$StorageClass": "

The class of storage used to store the object.

" } }, "Type": { "base": null, "refs": { - "Grantee$Type": "Type of grantee" + "Grantee$Type": "

Type of grantee

" } }, "URI": { "base": null, "refs": { - "Grantee$URI": "URI of the grantee group." + "Grantee$URI": "

URI of the grantee group.

" } }, "UploadIdMarker": { "base": null, "refs": { - "ListMultipartUploadsOutput$UploadIdMarker": "Upload ID after which listing began.", - "ListMultipartUploadsRequest$UploadIdMarker": "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." + "ListMultipartUploadsOutput$UploadIdMarker": "

Upload ID after which listing began.

", + "ListMultipartUploadsRequest$UploadIdMarker": "

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.

" } }, "UploadPartCopyOutput": { @@ -3125,20 +3258,20 @@ "UserMetadata": { "base": null, "refs": { - "S3Location$UserMetadata": "A list of metadata to store with the restore results in S3." + "S3Location$UserMetadata": "

A list of metadata to store with the restore results in S3.

" } }, "Value": { "base": null, "refs": { - "Tag$Value": "Value of the tag." + "Tag$Value": "

Value of the tag.

" } }, "VersionIdMarker": { "base": null, "refs": { "ListObjectVersionsOutput$VersionIdMarker": null, - "ListObjectVersionsRequest$VersionIdMarker": "Specifies the object version you want to start listing from." + "ListObjectVersionsRequest$VersionIdMarker": "

Specifies the object version you want to start listing from.

" } }, "VersioningConfiguration": { @@ -3156,11 +3289,11 @@ "WebsiteRedirectLocation": { "base": null, "refs": { - "CopyObjectRequest$WebsiteRedirectLocation": "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.", - "CreateMultipartUploadRequest$WebsiteRedirectLocation": "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.", - "GetObjectOutput$WebsiteRedirectLocation": "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.", - "HeadObjectOutput$WebsiteRedirectLocation": "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.", - "PutObjectRequest$WebsiteRedirectLocation": "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." + "CopyObjectRequest$WebsiteRedirectLocation": "

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.

", + "CreateMultipartUploadRequest$WebsiteRedirectLocation": "

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.

", + "GetObjectOutput$WebsiteRedirectLocation": "

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.

", + "HeadObjectOutput$WebsiteRedirectLocation": "

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.

", + "PutObjectRequest$WebsiteRedirectLocation": "

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.

" } } } diff --git a/models/apis/s3/2006-03-01/smoke.json b/models/apis/s3/2006-03-01/smoke.json new file mode 100644 index 00000000000..2c6625a7907 --- /dev/null +++ b/models/apis/s3/2006-03-01/smoke.json @@ -0,0 +1,11 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListBuckets", + "input": {}, + "errorExpectedFromService": false + } + ] +} diff --git a/models/apis/secretsmanager/2017-10-17/api-2.json b/models/apis/secretsmanager/2017-10-17/api-2.json new file mode 100644 index 00000000000..8d706823b94 --- /dev/null +++ b/models/apis/secretsmanager/2017-10-17/api-2.json @@ -0,0 +1,970 @@ +{ + "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"} + ] + }, + "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"} + ] + }, + "DeleteResourcePolicy":{ + "name":"DeleteResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourcePolicyRequest"}, + "output":{"shape":"DeleteResourcePolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"} + ] + }, + "DeleteSecret":{ + "name":"DeleteSecret", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSecretRequest"}, + "output":{"shape":"DeleteSecretResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceError"} + ] + }, + "DescribeSecret":{ + "name":"DescribeSecret", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSecretRequest"}, + "output":{"shape":"DescribeSecretResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceError"} + ] + }, + "GetRandomPassword":{ + "name":"GetRandomPassword", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRandomPasswordRequest"}, + "output":{"shape":"GetRandomPasswordResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceError"} + ] + }, + "GetResourcePolicy":{ + "name":"GetResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResourcePolicyRequest"}, + "output":{"shape":"GetResourcePolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"} + ] + }, + "GetSecretValue":{ + "name":"GetSecretValue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSecretValueRequest"}, + "output":{"shape":"GetSecretValueResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"DecryptionFailure"}, + {"shape":"InternalServiceError"} + ] + }, + "ListSecretVersionIds":{ + "name":"ListSecretVersionIds", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSecretVersionIdsRequest"}, + "output":{"shape":"ListSecretVersionIdsResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceError"} + ] + }, + "ListSecrets":{ + "name":"ListSecrets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSecretsRequest"}, + "output":{"shape":"ListSecretsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalServiceError"} + ] + }, + "PutResourcePolicy":{ + "name":"PutResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutResourcePolicyRequest"}, + "output":{"shape":"PutResourcePolicyResponse"}, + "errors":[ + {"shape":"MalformedPolicyDocumentException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"} + ] + }, + "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"} + ] + }, + "RestoreSecret":{ + "name":"RestoreSecret", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreSecretRequest"}, + "output":{"shape":"RestoreSecretResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceError"} + ] + }, + "RotateSecret":{ + "name":"RotateSecret", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RotateSecretRequest"}, + "output":{"shape":"RotateSecretResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceError"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceError"} + ] + }, + "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"} + ] + }, + "UpdateSecretVersionStage":{ + "name":"UpdateSecretVersionStage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSecretVersionStageRequest"}, + "output":{"shape":"UpdateSecretVersionStageResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServiceError"} + ] + } + }, + "shapes":{ + "AutomaticallyRotateAfterDaysType":{ + "type":"long", + "max":1000, + "min":1 + }, + "BooleanType":{"type":"boolean"}, + "CancelRotateSecretRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{"shape":"SecretIdType"} + } + }, + "CancelRotateSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"SecretNameType"}, + "VersionId":{"shape":"SecretVersionIdType"} + } + }, + "ClientRequestTokenType":{ + "type":"string", + "max":64, + "min":32 + }, + "CreateSecretRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameType"}, + "ClientRequestToken":{ + "shape":"ClientRequestTokenType", + "idempotencyToken":true + }, + "Description":{"shape":"DescriptionType"}, + "KmsKeyId":{"shape":"KmsKeyIdType"}, + "SecretBinary":{"shape":"SecretBinaryType"}, + "SecretString":{"shape":"SecretStringType"}, + "Tags":{"shape":"TagListType"} + } + }, + "CreateSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"SecretNameType"}, + "VersionId":{"shape":"SecretVersionIdType"} + } + }, + "CreatedDateType":{"type":"timestamp"}, + "DecryptionFailure":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "DeleteResourcePolicyRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{"shape":"SecretIdType"} + } + }, + "DeleteResourcePolicyResponse":{ + "type":"structure", + "members":{ + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"NameType"} + } + }, + "DeleteSecretRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{"shape":"SecretIdType"}, + "RecoveryWindowInDays":{ + "shape":"RecoveryWindowInDaysType", + "box":true + } + } + }, + "DeleteSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"SecretNameType"}, + "DeletionDate":{ + "shape":"DeletionDateType", + "box":true + } + } + }, + "DeletedDateType":{"type":"timestamp"}, + "DeletionDateType":{"type":"timestamp"}, + "DescribeSecretRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{"shape":"SecretIdType"} + } + }, + "DescribeSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"SecretNameType"}, + "Description":{"shape":"DescriptionType"}, + "KmsKeyId":{"shape":"KmsKeyIdType"}, + "RotationEnabled":{ + "shape":"RotationEnabledType", + "box":true + }, + "RotationLambdaARN":{"shape":"RotationLambdaARNType"}, + "RotationRules":{"shape":"RotationRulesType"}, + "LastRotatedDate":{ + "shape":"LastRotatedDateType", + "box":true + }, + "LastChangedDate":{ + "shape":"LastChangedDateType", + "box":true + }, + "LastAccessedDate":{ + "shape":"LastAccessedDateType", + "box":true + }, + "DeletedDate":{ + "shape":"DeletedDateType", + "box":true + }, + "Tags":{"shape":"TagListType"}, + "VersionIdsToStages":{"shape":"SecretVersionsToStagesMapType"} + } + }, + "DescriptionType":{ + "type":"string", + "max":2048 + }, + "EncryptionFailure":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "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", + "box":true + }, + "ExcludeCharacters":{"shape":"ExcludeCharactersType"}, + "ExcludeNumbers":{ + "shape":"ExcludeNumbersType", + "box":true + }, + "ExcludePunctuation":{ + "shape":"ExcludePunctuationType", + "box":true + }, + "ExcludeUppercase":{ + "shape":"ExcludeUppercaseType", + "box":true + }, + "ExcludeLowercase":{ + "shape":"ExcludeLowercaseType", + "box":true + }, + "IncludeSpace":{ + "shape":"IncludeSpaceType", + "box":true + }, + "RequireEachIncludedType":{ + "shape":"RequireEachIncludedTypeType", + "box":true + } + } + }, + "GetRandomPasswordResponse":{ + "type":"structure", + "members":{ + "RandomPassword":{"shape":"RandomPasswordType"} + } + }, + "GetResourcePolicyRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{"shape":"SecretIdType"} + } + }, + "GetResourcePolicyResponse":{ + "type":"structure", + "members":{ + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"NameType"}, + "ResourcePolicy":{"shape":"NonEmptyResourcePolicyType"} + } + }, + "GetSecretValueRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{"shape":"SecretIdType"}, + "VersionId":{"shape":"SecretVersionIdType"}, + "VersionStage":{"shape":"SecretVersionStageType"} + } + }, + "GetSecretValueResponse":{ + "type":"structure", + "members":{ + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"SecretNameType"}, + "VersionId":{"shape":"SecretVersionIdType"}, + "SecretBinary":{"shape":"SecretBinaryType"}, + "SecretString":{"shape":"SecretStringType"}, + "VersionStages":{"shape":"SecretVersionStagesType"}, + "CreatedDate":{ + "shape":"CreatedDateType", + "box":true + } + } + }, + "IncludeSpaceType":{"type":"boolean"}, + "InternalServiceError":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true, + "fault":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "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"} + }, + "exception":true + }, + "ListSecretVersionIdsRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{"shape":"SecretIdType"}, + "MaxResults":{ + "shape":"MaxResultsType", + "box":true + }, + "NextToken":{"shape":"NextTokenType"}, + "IncludeDeprecated":{ + "shape":"BooleanType", + "box":true + } + } + }, + "ListSecretVersionIdsResponse":{ + "type":"structure", + "members":{ + "Versions":{"shape":"SecretVersionsListType"}, + "NextToken":{"shape":"NextTokenType"}, + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"SecretNameType"} + } + }, + "ListSecretsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResultsType", + "box":true + }, + "NextToken":{"shape":"NextTokenType"} + } + }, + "ListSecretsResponse":{ + "type":"structure", + "members":{ + "SecretList":{"shape":"SecretListType"}, + "NextToken":{"shape":"NextTokenType"} + } + }, + "MalformedPolicyDocumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "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"} + }, + "exception":true + }, + "PutResourcePolicyRequest":{ + "type":"structure", + "required":[ + "SecretId", + "ResourcePolicy" + ], + "members":{ + "SecretId":{"shape":"SecretIdType"}, + "ResourcePolicy":{"shape":"NonEmptyResourcePolicyType"} + } + }, + "PutResourcePolicyResponse":{ + "type":"structure", + "members":{ + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"NameType"} + } + }, + "PutSecretValueRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{"shape":"SecretIdType"}, + "ClientRequestToken":{ + "shape":"ClientRequestTokenType", + "idempotencyToken":true + }, + "SecretBinary":{"shape":"SecretBinaryType"}, + "SecretString":{"shape":"SecretStringType"}, + "VersionStages":{"shape":"SecretVersionStagesType"} + } + }, + "PutSecretValueResponse":{ + "type":"structure", + "members":{ + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"SecretNameType"}, + "VersionId":{"shape":"SecretVersionIdType"}, + "VersionStages":{"shape":"SecretVersionStagesType"} + } + }, + "RandomPasswordType":{ + "type":"string", + "max":4096, + "min":0 + }, + "RecoveryWindowInDaysType":{"type":"long"}, + "RequireEachIncludedTypeType":{"type":"boolean"}, + "ResourceExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "RestoreSecretRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{"shape":"SecretIdType"} + } + }, + "RestoreSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"SecretNameType"} + } + }, + "RotateSecretRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{"shape":"SecretIdType"}, + "ClientRequestToken":{ + "shape":"ClientRequestTokenType", + "idempotencyToken":true + }, + "RotationLambdaARN":{"shape":"RotationLambdaARNType"}, + "RotationRules":{"shape":"RotationRulesType"} + } + }, + "RotateSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"SecretNameType"}, + "VersionId":{ + "shape":"SecretVersionIdType", + "box":true + } + } + }, + "RotationEnabledType":{"type":"boolean"}, + "RotationLambdaARNType":{ + "type":"string", + "max":2048, + "min":0 + }, + "RotationRulesType":{ + "type":"structure", + "members":{ + "AutomaticallyAfterDays":{ + "shape":"AutomaticallyRotateAfterDaysType", + "box":true + } + } + }, + "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"}, + "Name":{"shape":"SecretNameType"}, + "Description":{"shape":"DescriptionType"}, + "KmsKeyId":{"shape":"KmsKeyIdType"}, + "RotationEnabled":{ + "shape":"RotationEnabledType", + "box":true + }, + "RotationLambdaARN":{"shape":"RotationLambdaARNType"}, + "RotationRules":{"shape":"RotationRulesType"}, + "LastRotatedDate":{ + "shape":"LastRotatedDateType", + "box":true + }, + "LastChangedDate":{ + "shape":"LastChangedDateType", + "box":true + }, + "LastAccessedDate":{ + "shape":"LastAccessedDateType", + "box":true + }, + "DeletedDate":{"shape":"DeletedDateType"}, + "Tags":{"shape":"TagListType"}, + "SecretVersionsToStages":{"shape":"SecretVersionsToStagesMapType"} + } + }, + "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"}, + "VersionStages":{"shape":"SecretVersionStagesType"}, + "LastAccessedDate":{ + "shape":"LastAccessedDateType", + "box":true + }, + "CreatedDate":{ + "shape":"CreatedDateType", + "box":true + } + } + }, + "SecretVersionsListType":{ + "type":"list", + "member":{"shape":"SecretVersionsListEntry"} + }, + "SecretVersionsToStagesMapType":{ + "type":"map", + "key":{"shape":"SecretVersionIdType"}, + "value":{"shape":"SecretVersionStagesType"} + }, + "Tag":{ + "type":"structure", + "members":{ + "Key":{"shape":"TagKeyType"}, + "Value":{"shape":"TagValueType"} + } + }, + "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"}, + "Tags":{"shape":"TagListType"} + } + }, + "TagValueType":{ + "type":"string", + "max":256, + "min":0 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "SecretId", + "TagKeys" + ], + "members":{ + "SecretId":{"shape":"SecretIdType"}, + "TagKeys":{"shape":"TagKeyListType"} + } + }, + "UpdateSecretRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{"shape":"SecretIdType"}, + "ClientRequestToken":{ + "shape":"ClientRequestTokenType", + "idempotencyToken":true + }, + "Description":{"shape":"DescriptionType"}, + "KmsKeyId":{"shape":"KmsKeyIdType"}, + "SecretBinary":{"shape":"SecretBinaryType"}, + "SecretString":{"shape":"SecretStringType"} + } + }, + "UpdateSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"SecretNameType"}, + "VersionId":{"shape":"SecretVersionIdType"} + } + }, + "UpdateSecretVersionStageRequest":{ + "type":"structure", + "required":[ + "SecretId", + "VersionStage" + ], + "members":{ + "SecretId":{"shape":"SecretIdType"}, + "VersionStage":{"shape":"SecretVersionStageType"}, + "RemoveFromVersionId":{ + "shape":"SecretVersionIdType", + "box":true + }, + "MoveToVersionId":{ + "shape":"SecretVersionIdType", + "box":true + } + } + }, + "UpdateSecretVersionStageResponse":{ + "type":"structure", + "members":{ + "ARN":{"shape":"SecretARNType"}, + "Name":{"shape":"SecretNameType"} + } + } + } +} diff --git a/models/apis/secretsmanager/2017-10-17/docs-2.json b/models/apis/secretsmanager/2017-10-17/docs-2.json new file mode 100644 index 00000000000..13c0ba5485f --- /dev/null +++ b/models/apis/secretsmanager/2017-10-17/docs-2.json @@ -0,0 +1,637 @@ +{ + "version": "2.0", + "service": "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.

", + "operations": { + "CancelRotateSecret": "

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 SecretVersionId 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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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 SecretVersionId 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": "

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": "

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.

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": "

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": "

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": "

Modifies many of the details of a 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 SecretVersionId with the same value as the ClientRequestToken parameter already exists, the operation generates an error. You cannot modify an existing version, you can only create new ones.

  • 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": "

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": { + "base": null, + "refs": { + "RotationRulesType$AutomaticallyAfterDays": "

Specifies the number of days between automatic scheduled rotations of the secret.

" + } + }, + "BooleanType": { + "base": null, + "refs": { + "ListSecretVersionIdsRequest$IncludeDeprecated": "

(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.

" + } + }, + "CancelRotateSecretRequest": { + "base": null, + "refs": { + } + }, + "CancelRotateSecretResponse": { + "base": null, + "refs": { + } + }, + "ClientRequestTokenType": { + "base": null, + "refs": { + "CreateSecretRequest$ClientRequestToken": "

(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 SecretVersionId of the new version.

", + "PutSecretValueRequest$ClientRequestToken": "

(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 SecretVersionId of the new version.

", + "RotateSecretRequest$ClientRequestToken": "

(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.

  • 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 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 SecretVersionId of the new version.

", + "UpdateSecretRequest$ClientRequestToken": "

(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 SecretVersionId of the new version.

" + } + }, + "CreateSecretRequest": { + "base": null, + "refs": { + } + }, + "CreateSecretResponse": { + "base": null, + "refs": { + } + }, + "CreatedDateType": { + "base": null, + "refs": { + "GetSecretValueResponse$CreatedDate": "

The date and time that this version of the secret was created.

", + "SecretVersionsListEntry$CreatedDate": "

The date and time this version of the secret was created.

" + } + }, + "DecryptionFailure": { + "base": "

Secrets Manager can't decrypt the protected secret text using the provided KMS key.

", + "refs": { + } + }, + "DeleteResourcePolicyRequest": { + "base": null, + "refs": { + } + }, + "DeleteResourcePolicyResponse": { + "base": null, + "refs": { + } + }, + "DeleteSecretRequest": { + "base": null, + "refs": { + } + }, + "DeleteSecretResponse": { + "base": null, + "refs": { + } + }, + "DeletedDateType": { + "base": null, + "refs": { + "DescribeSecretResponse$DeletedDate": "

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.

", + "SecretListEntry$DeletedDate": "

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.

" + } + }, + "DeletionDateType": { + "base": null, + "refs": { + "DeleteSecretResponse$DeletionDate": "

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.

" + } + }, + "DescribeSecretRequest": { + "base": null, + "refs": { + } + }, + "DescribeSecretResponse": { + "base": null, + "refs": { + } + }, + "DescriptionType": { + "base": null, + "refs": { + "CreateSecretRequest$Description": "

(Optional) Specifies a user-provided description of the secret.

", + "DescribeSecretResponse$Description": "

The user-provided description of the secret.

", + "SecretListEntry$Description": "

The user-provided description of the secret.

", + "UpdateSecretRequest$Description": "

(Optional) Specifies a user-provided description of the secret.

" + } + }, + "EncryptionFailure": { + "base": "

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.

", + "refs": { + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "DecryptionFailure$Message": null, + "EncryptionFailure$Message": null, + "InternalServiceError$Message": null, + "InvalidNextTokenException$Message": null, + "InvalidParameterException$Message": null, + "InvalidRequestException$Message": null, + "LimitExceededException$Message": null, + "MalformedPolicyDocumentException$Message": null, + "PreconditionNotMetException$Message": null, + "ResourceExistsException$Message": null, + "ResourceNotFoundException$Message": null + } + }, + "ExcludeCharactersType": { + "base": null, + "refs": { + "GetRandomPasswordRequest$ExcludeCharacters": "

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.

" + } + }, + "ExcludeLowercaseType": { + "base": null, + "refs": { + "GetRandomPasswordRequest$ExcludeLowercase": "

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.

" + } + }, + "ExcludeNumbersType": { + "base": null, + "refs": { + "GetRandomPasswordRequest$ExcludeNumbers": "

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.

" + } + }, + "ExcludePunctuationType": { + "base": null, + "refs": { + "GetRandomPasswordRequest$ExcludePunctuation": "

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.

" + } + }, + "ExcludeUppercaseType": { + "base": null, + "refs": { + "GetRandomPasswordRequest$ExcludeUppercase": "

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.

" + } + }, + "GetRandomPasswordRequest": { + "base": null, + "refs": { + } + }, + "GetRandomPasswordResponse": { + "base": null, + "refs": { + } + }, + "GetResourcePolicyRequest": { + "base": null, + "refs": { + } + }, + "GetResourcePolicyResponse": { + "base": null, + "refs": { + } + }, + "GetSecretValueRequest": { + "base": null, + "refs": { + } + }, + "GetSecretValueResponse": { + "base": null, + "refs": { + } + }, + "IncludeSpaceType": { + "base": null, + "refs": { + "GetRandomPasswordRequest$IncludeSpace": "

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.

" + } + }, + "InternalServiceError": { + "base": "

An error occurred on the server side.

", + "refs": { + } + }, + "InvalidNextTokenException": { + "base": "

You provided an invalid NextToken value.

", + "refs": { + } + }, + "InvalidParameterException": { + "base": "

You provided an invalid value for a parameter.

", + "refs": { + } + }, + "InvalidRequestException": { + "base": "

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.

", + "refs": { + } + }, + "KmsKeyIdType": { + "base": null, + "refs": { + "CreateSecretRequest$KmsKeyId": "

(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.

", + "DescribeSecretResponse$KmsKeyId": "

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.

", + "SecretListEntry$KmsKeyId": "

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.

", + "UpdateSecretRequest$KmsKeyId": "

(Optional) Specifies the ARN or alias of the AWS KMS customer master key (CMK) to be used to encrypt the protected text in the versions of this secret.

If you don't specify this value, then Secrets Manager defaults to using the default CMK in the account (the one named aws/secretsmanager). If a AWS KMS CMK with that name doesn't exist, then Secrets Manager creates it for you automatically the first time it needs to encrypt a version's Plaintext or PlaintextString fields.

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 in this field.

" + } + }, + "LastAccessedDateType": { + "base": null, + "refs": { + "DescribeSecretResponse$LastAccessedDate": "

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.

", + "SecretListEntry$LastAccessedDate": "

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.

", + "SecretVersionsListEntry$LastAccessedDate": "

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.

" + } + }, + "LastChangedDateType": { + "base": null, + "refs": { + "DescribeSecretResponse$LastChangedDate": "

The last date and time that this secret was modified in any way.

", + "SecretListEntry$LastChangedDate": "

The last date and time that this secret was modified in any way.

" + } + }, + "LastRotatedDateType": { + "base": null, + "refs": { + "DescribeSecretResponse$LastRotatedDate": "

The last date and time that the Secrets Manager rotation process for this secret was invoked.

", + "SecretListEntry$LastRotatedDate": "

The last date and time that the rotation process for this secret was invoked.

" + } + }, + "LimitExceededException": { + "base": "

The request failed because it would exceed one of the Secrets Manager internal limits.

", + "refs": { + } + }, + "ListSecretVersionIdsRequest": { + "base": null, + "refs": { + } + }, + "ListSecretVersionIdsResponse": { + "base": null, + "refs": { + } + }, + "ListSecretsRequest": { + "base": null, + "refs": { + } + }, + "ListSecretsResponse": { + "base": null, + "refs": { + } + }, + "MalformedPolicyDocumentException": { + "base": "

The policy document that you provided isn't valid.

", + "refs": { + } + }, + "MaxResultsType": { + "base": null, + "refs": { + "ListSecretVersionIdsRequest$MaxResults": "

(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.

", + "ListSecretsRequest$MaxResults": "

(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.

" + } + }, + "NameType": { + "base": null, + "refs": { + "CreateSecretRequest$Name": "

Specifies the friendly name of the new secret.

The secret name must be ASCII letters, digits, or the following characters : /_+=.@-

", + "DeleteResourcePolicyResponse$Name": "

The friendly name of the secret that the resource-based policy was deleted for.

", + "GetResourcePolicyResponse$Name": "

The friendly name of the secret that the resource-based policy was retrieved for.

", + "PutResourcePolicyResponse$Name": "

The friendly name of the secret that the resource-based policy was retrieved for.

" + } + }, + "NextTokenType": { + "base": null, + "refs": { + "ListSecretVersionIdsRequest$NextToken": "

(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.

", + "ListSecretVersionIdsResponse$NextToken": "

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).

", + "ListSecretsRequest$NextToken": "

(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$NextToken": "

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).

" + } + }, + "NonEmptyResourcePolicyType": { + "base": null, + "refs": { + "GetResourcePolicyResponse$ResourcePolicy": "

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.

", + "PutResourcePolicyRequest$ResourcePolicy": "

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.

" + } + }, + "PasswordLengthType": { + "base": null, + "refs": { + "GetRandomPasswordRequest$PasswordLength": "

The desired length of the generated password. The default value if you do not include this parameter is 32 characters.

" + } + }, + "PreconditionNotMetException": { + "base": "

The request failed because you did not complete all the prerequisite steps.

", + "refs": { + } + }, + "PutResourcePolicyRequest": { + "base": null, + "refs": { + } + }, + "PutResourcePolicyResponse": { + "base": null, + "refs": { + } + }, + "PutSecretValueRequest": { + "base": null, + "refs": { + } + }, + "PutSecretValueResponse": { + "base": null, + "refs": { + } + }, + "RandomPasswordType": { + "base": null, + "refs": { + "GetRandomPasswordResponse$RandomPassword": "

A string with the generated password.

" + } + }, + "RecoveryWindowInDaysType": { + "base": null, + "refs": { + "DeleteSecretRequest$RecoveryWindowInDays": "

(Optional) Specifies the number of days that Secrets Manager waits before it can delete the secret.

This value can range from 7 to 30 days. The default value is 30.

" + } + }, + "RequireEachIncludedTypeType": { + "base": null, + "refs": { + "GetRandomPasswordRequest$RequireEachIncludedType": "

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.

" + } + }, + "ResourceExistsException": { + "base": "

A resource with the ID you requested already exists.

", + "refs": { + } + }, + "ResourceNotFoundException": { + "base": "

We can't find the resource that you asked for.

", + "refs": { + } + }, + "RestoreSecretRequest": { + "base": null, + "refs": { + } + }, + "RestoreSecretResponse": { + "base": null, + "refs": { + } + }, + "RotateSecretRequest": { + "base": null, + "refs": { + } + }, + "RotateSecretResponse": { + "base": null, + "refs": { + } + }, + "RotationEnabledType": { + "base": null, + "refs": { + "DescribeSecretResponse$RotationEnabled": "

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.

", + "SecretListEntry$RotationEnabled": "

Indicated whether automatic, scheduled rotation is enabled for this secret.

" + } + }, + "RotationLambdaARNType": { + "base": null, + "refs": { + "DescribeSecretResponse$RotationLambdaARN": "

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.

", + "RotateSecretRequest$RotationLambdaARN": "

(Optional) Specifies the ARN of the Lambda function that can rotate the secret.

", + "SecretListEntry$RotationLambdaARN": "

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.

" + } + }, + "RotationRulesType": { + "base": "

A structure that defines the rotation configuration for the secret.

", + "refs": { + "DescribeSecretResponse$RotationRules": "

A structure that contains the rotation configuration for this secret.

", + "RotateSecretRequest$RotationRules": "

A structure that defines the rotation configuration for this secret.

", + "SecretListEntry$RotationRules": "

A structure that defines the rotation configuration for the secret.

" + } + }, + "SecretARNType": { + "base": null, + "refs": { + "CancelRotateSecretResponse$ARN": "

The ARN of the secret for which rotation was canceled.

", + "CreateSecretResponse$ARN": "

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.

", + "DeleteResourcePolicyResponse$ARN": "

The ARN of the secret that the resource-based policy was deleted for.

", + "DeleteSecretResponse$ARN": "

The ARN of the secret that is now scheduled for deletion.

", + "DescribeSecretResponse$ARN": "

The ARN of the secret.

", + "GetResourcePolicyResponse$ARN": "

The ARN of the secret that the resource-based policy was retrieved for.

", + "GetSecretValueResponse$ARN": "

The ARN of the secret.

", + "ListSecretVersionIdsResponse$ARN": "

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.

", + "PutResourcePolicyResponse$ARN": "

The ARN of the secret that the resource-based policy was retrieved for.

", + "PutSecretValueResponse$ARN": "

The Amazon Resource Name (ARN) for the secret for which you just created a version.

", + "RestoreSecretResponse$ARN": "

The ARN of the secret that was restored.

", + "RotateSecretResponse$ARN": "

The ARN of the secret.

", + "SecretListEntry$ARN": "

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.

", + "UpdateSecretResponse$ARN": "

The ARN of this 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.

", + "UpdateSecretVersionStageResponse$ARN": "

The ARN of the secret with the staging labels that were modified.

" + } + }, + "SecretBinaryType": { + "base": null, + "refs": { + "CreateSecretRequest$SecretBinary": "

(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.

", + "GetSecretValueResponse$SecretBinary": "

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.

", + "PutSecretValueRequest$SecretBinary": "

(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.

", + "UpdateSecretRequest$SecretBinary": "

(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 using the Secrets Manager console.

" + } + }, + "SecretIdType": { + "base": null, + "refs": { + "CancelRotateSecretRequest$SecretId": "

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.

", + "DeleteResourcePolicyRequest$SecretId": "

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.

", + "DeleteSecretRequest$SecretId": "

Specifies the secret that you want to delete. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

", + "DescribeSecretRequest$SecretId": "

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.

", + "GetResourcePolicyRequest$SecretId": "

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.

", + "GetSecretValueRequest$SecretId": "

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.

", + "ListSecretVersionIdsRequest$SecretId": "

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.

", + "PutResourcePolicyRequest$SecretId": "

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.

", + "PutSecretValueRequest$SecretId": "

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.

", + "RestoreSecretRequest$SecretId": "

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.

", + "RotateSecretRequest$SecretId": "

Specifies the secret that you want to rotate. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

", + "TagResourceRequest$SecretId": "

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.

", + "UntagResourceRequest$SecretId": "

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.

", + "UpdateSecretRequest$SecretId": "

Specifies the secret that you want to update 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.

", + "UpdateSecretVersionStageRequest$SecretId": "

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.

" + } + }, + "SecretListEntry": { + "base": "

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.

", + "refs": { + "SecretListType$member": null + } + }, + "SecretListType": { + "base": null, + "refs": { + "ListSecretsResponse$SecretList": "

A list of the secrets in the account.

" + } + }, + "SecretNameType": { + "base": null, + "refs": { + "CancelRotateSecretResponse$Name": "

The friendly name of the secret for which rotation was canceled.

", + "CreateSecretResponse$Name": "

The friendly name of the secret that you just created.

", + "DeleteSecretResponse$Name": "

The friendly name of the secret that is now scheduled for deletion.

", + "DescribeSecretResponse$Name": "

The user-provided friendly name of the secret.

", + "GetSecretValueResponse$Name": "

The friendly name of the secret.

", + "ListSecretVersionIdsResponse$Name": "

The friendly name of the secret.

", + "PutSecretValueResponse$Name": "

The friendly name of the secret for which you just created or updated a version.

", + "RestoreSecretResponse$Name": "

The friendly name of the secret that was restored.

", + "RotateSecretResponse$Name": "

The friendly name of the secret.

", + "SecretListEntry$Name": "

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.

", + "UpdateSecretResponse$Name": "

The friendly name of this secret.

", + "UpdateSecretVersionStageResponse$Name": "

The friendly name of the secret with the staging labels that were modified.

" + } + }, + "SecretStringType": { + "base": null, + "refs": { + "CreateSecretRequest$SecretString": "

(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.

", + "GetSecretValueResponse$SecretString": "

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.

", + "PutSecretValueRequest$SecretString": "

(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.

", + "UpdateSecretRequest$SecretString": "

(Optional) Specifies 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.

" + } + }, + "SecretVersionIdType": { + "base": null, + "refs": { + "CancelRotateSecretResponse$VersionId": "

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.

", + "CreateSecretResponse$VersionId": "

The unique identifier that's associated with the version of the secret you just created.

", + "GetSecretValueRequest$VersionId": "

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 SecretVersionId 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.

", + "GetSecretValueResponse$VersionId": "

The unique identifier of this version of the secret.

", + "PutSecretValueResponse$VersionId": "

The unique identifier of the version of the secret you just created or updated.

", + "RotateSecretResponse$VersionId": "

The ID of the new version of the secret created by the rotation started by this request.

", + "SecretVersionsListEntry$VersionId": "

The unique version identifier of this version of the secret.

", + "SecretVersionsToStagesMapType$key": null, + "UpdateSecretResponse$VersionId": "

If a version of the secret was created or updated by this operation, then its unique identifier is returned.

", + "UpdateSecretVersionStageRequest$RemoveFromVersionId": "

(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.

", + "UpdateSecretVersionStageRequest$MoveToVersionId": "

(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 removed from that version before adding them to this version.

" + } + }, + "SecretVersionStageType": { + "base": null, + "refs": { + "GetSecretValueRequest$VersionStage": "

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 SecretVersionId. If you don't specify either a VersionStage or SecretVersionId, then the default is to perform the operation on the version with the VersionStage value of AWSCURRENT.

", + "SecretVersionStagesType$member": null, + "UpdateSecretVersionStageRequest$VersionStage": "

The list of staging labels to add to this version.

" + } + }, + "SecretVersionStagesType": { + "base": null, + "refs": { + "GetSecretValueResponse$VersionStages": "

A list of all of the staging labels currently attached to this version of the secret.

", + "PutSecretValueRequest$VersionStages": "

(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$VersionStages": "

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.

", + "SecretVersionsListEntry$VersionStages": "

An array of staging labels that are currently associated with this version of the secret.

", + "SecretVersionsToStagesMapType$value": null + } + }, + "SecretVersionsListEntry": { + "base": "

A structure that contains information about one version of a secret.

", + "refs": { + "SecretVersionsListType$member": null + } + }, + "SecretVersionsListType": { + "base": null, + "refs": { + "ListSecretVersionIdsResponse$Versions": "

The list of the currently available versions of the specified secret.

" + } + }, + "SecretVersionsToStagesMapType": { + "base": null, + "refs": { + "DescribeSecretResponse$VersionIdsToStages": "

A list of all of the currently assigned VersionStage 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 staging labels attached is considered deprecated and subject to deletion. Such versions are not included in this list.

", + "SecretListEntry$SecretVersionsToStages": "

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.

" + } + }, + "Tag": { + "base": "

A structure that contains information about a tag.

", + "refs": { + "TagListType$member": null + } + }, + "TagKeyListType": { + "base": null, + "refs": { + "UntagResourceRequest$TagKeys": "

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.

" + } + }, + "TagKeyType": { + "base": null, + "refs": { + "Tag$Key": "

The key identifier, or name, of the tag.

", + "TagKeyListType$member": null + } + }, + "TagListType": { + "base": null, + "refs": { + "CreateSecretRequest$Tags": "

(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: + - = . _ : / @.

", + "DescribeSecretResponse$Tags": "

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.

", + "SecretListEntry$Tags": "

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.

", + "TagResourceRequest$Tags": "

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\"[,…]

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagValueType": { + "base": null, + "refs": { + "Tag$Value": "

The string value that's associated with the key of the tag.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UpdateSecretRequest": { + "base": null, + "refs": { + } + }, + "UpdateSecretResponse": { + "base": null, + "refs": { + } + }, + "UpdateSecretVersionStageRequest": { + "base": null, + "refs": { + } + }, + "UpdateSecretVersionStageResponse": { + "base": null, + "refs": { + } + } + } +} diff --git a/models/apis/secretsmanager/2017-10-17/examples-1.json b/models/apis/secretsmanager/2017-10-17/examples-1.json new file mode 100644 index 00000000000..8433121ebe0 --- /dev/null +++ b/models/apis/secretsmanager/2017-10-17/examples-1.json @@ -0,0 +1,571 @@ +{ + "version": "1.0", + "examples": { + "CancelRotateSecret": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "Name" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to cancel rotation for a secret. The operation sets the RotationEnabled field to false and cancels all scheduled rotations. To resume scheduled rotations, you must re-enable rotation by calling the rotate-secret operation.", + "id": "to-cancel-scheduled-rotation-for-a-secret-1523996016032", + "title": "To cancel scheduled rotation for a secret" + } + ], + "CreateSecret": [ + { + "input": { + "ClientRequestToken": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1", + "Description": "My test database secret created with the CLI", + "Name": "MyTestDatabaseSecret", + "SecretString": "{\"username\":\"david\",\"password\":\"BnQw!XDWgaEeT9XGTT29\"}" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret", + "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to create a secret. The credentials stored in the encrypted secret value are retrieved from a file on disk named mycreds.json.", + "id": "to-create-a-basic-secret-1523996473658", + "title": "To create a basic secret" + } + ], + "DeleteResourcePolicy": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseMasterSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to delete the resource-based policy that is attached to a secret.", + "id": "to-delete-the-resource-based-policy-attached-to-a-secret-1530209419204", + "title": "To delete the resource-based policy attached to a secret" + } + ], + "DeleteSecret": [ + { + "input": { + "RecoveryWindowInDays": 7, + "SecretId": "MyTestDatabaseSecret1" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "DeletionDate": "1524085349.095", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to delete a secret. The secret stays in your account in a deprecated and inaccessible state until the recovery window ends. After the date and time in the DeletionDate response field has passed, you can no longer recover this secret with restore-secret.", + "id": "to-delete-a-secret-1523996905092", + "title": "To delete a secret" + } + ], + "DescribeSecret": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Description": "My test database secret", + "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987KMSKEY1", + "LastAccessedDate": "1523923200", + "LastChangedDate": 1523477145.729, + "LastRotatedDate": 1525747253.72, + "Name": "MyTestDatabaseSecret", + "RotationEnabled": true, + "RotationLambdaARN": "arn:aws:lambda:us-west-2:123456789012:function:MyTestRotationLambda", + "RotationRules": { + "AutomaticallyAfterDays": 30 + }, + "Tags": [ + { + "Key": "SecondTag", + "Value": "AnotherValue" + }, + { + "Key": "FirstTag", + "Value": "SomeValue" + } + ], + "VersionIdsToStages": { + "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE": [ + "AWSPREVIOUS" + ], + "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE": [ + "AWSCURRENT" + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to get the details about a secret.", + "id": "to-retrieve-the-details-of-a-secret-1524000138629", + "title": "To retrieve the details of a secret" + } + ], + "GetRandomPassword": [ + { + "input": { + "IncludeSpace": true, + "PasswordLength": 20, + "RequireEachIncludedType": true + }, + "output": { + "RandomPassword": "N+Z43a,>vx7j O8^*<8i3" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to request a randomly generated password. This example includes the optional flags to require spaces and at least one character of each included type. It specifies a length of 20 characters.", + "id": "to-generate-a-random-password-1524000546092", + "title": "To generate a random password" + } + ], + "GetResourcePolicy": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret", + "ResourcePolicy": "{\n\"Version\":\"2012-10-17\",\n\"Statement\":[{\n\"Effect\":\"Allow\",\n\"Principal\":{\n\"AWS\":\"arn:aws:iam::123456789012:root\"\n},\n\"Action\":\"secretsmanager:GetSecretValue\",\n\"Resource\":\"*\"\n}]\n}" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to retrieve the resource-based policy that is attached to a secret.", + "id": "to-retrieve-the-resource-based-policy-attached-to-a-secret-1530209677536", + "title": "To retrieve the resource-based policy attached to a secret" + } + ], + "GetSecretValue": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret", + "VersionStage": "AWSPREVIOUS" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "CreatedDate": 1523477145.713, + "Name": "MyTestDatabaseSecret", + "SecretString": "{\n \"username\":\"david\",\n \"password\":\"BnQw&XDWgaEeT9XGTT29\"\n}\n", + "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1", + "VersionStages": [ + "AWSPREVIOUS" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to retrieve the secret string value from the version of the secret that has the AWSPREVIOUS staging label attached. If you want to retrieve the AWSCURRENT version of the secret, then you can omit the VersionStage parameter because it defaults to AWSCURRENT.", + "id": "to-retrieve-the-encrypted-secret-value-of-a-secret-1524000702484", + "title": "To retrieve the encrypted secret value of a secret" + } + ], + "ListSecretVersionIds": [ + { + "input": { + "IncludeDeprecated": true, + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret", + "Versions": [ + { + "CreatedDate": 1523477145.713, + "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", + "VersionStages": [ + "AWSPREVIOUS" + ] + }, + { + "CreatedDate": 1523486221.391, + "VersionId": "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", + "VersionStages": [ + "AWSCURRENT" + ] + }, + { + "CreatedDate": 1511974462.36, + "VersionId": "EXAMPLE3-90ab-cdef-fedc-ba987EXAMPLE;" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to retrieve a list of all of the versions of a secret, including those without any staging labels.", + "id": "to-list-all-of-the-secret-versions-associated-with-a-secret-1524000999164", + "title": "To list all of the secret versions associated with a secret" + } + ], + "ListSecrets": [ + { + "input": { + }, + "output": { + "SecretList": [ + { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Description": "My test database secret", + "LastChangedDate": 1523477145.729, + "Name": "MyTestDatabaseSecret", + "SecretVersionsToStages": { + "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE": [ + "AWSCURRENT" + ] + } + }, + { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret1-d4e5f6", + "Description": "Another secret created for a different database", + "LastChangedDate": 1523482025.685, + "Name": "MyTestDatabaseSecret1", + "SecretVersionsToStages": { + "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE": [ + "AWSCURRENT" + ] + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to list all of the secrets in your account.", + "id": "to-list-the-secrets-in-your-account-1524001246087", + "title": "To list the secrets in your account" + } + ], + "PutResourcePolicy": [ + { + "input": { + "ResourcePolicy": "{\n\"Version\":\"2012-10-17\",\n\"Statement\":[{\n\"Effect\":\"Allow\",\n\"Principal\":{\n\"AWS\":\"arn:aws:iam::123456789012:root\"\n},\n\"Action\":\"secretsmanager:GetSecretValue\",\n\"Resource\":\"*\"\n}]\n}", + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to add a resource-based policy to a secret.", + "id": "to-add-a-resource-based-policy-to-a-secret-1530209881839", + "title": "To add a resource-based policy to a secret" + } + ], + "PutSecretValue": [ + { + "input": { + "ClientRequestToken": "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", + "SecretId": "MyTestDatabaseSecret", + "SecretString": "{\"username\":\"david\",\"password\":\"BnQw!XDWgaEeT9XGTT29\"}" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret", + "VersionId": "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", + "VersionStages": [ + "AWSCURRENT" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to create a new version of the secret. Alternatively, you can use the update-secret command.", + "id": "to-store-a-secret-value-in-a-new-version-of-a-secret-1524001393971", + "title": "To store a secret value in a new version of a secret" + } + ], + "RestoreSecret": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to restore a secret that you previously scheduled for deletion.", + "id": "to-restore-a-previously-deleted-secret-1524001513930", + "title": "To restore a previously deleted secret" + } + ], + "RotateSecret": [ + { + "input": { + "RotationLambdaARN": "arn:aws:lambda:us-west-2:123456789012:function:MyTestDatabaseRotationLambda", + "RotationRules": { + "AutomaticallyAfterDays": 30 + }, + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret", + "VersionId": "EXAMPLE2-90ab-cdef-fedc-ba987SECRET2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example configures rotation for a secret by providing the ARN of a Lambda rotation function (which must already exist) and the number of days between rotation. The first rotation happens immediately upon completion of this command. The rotation function runs asynchronously in the background.", + "id": "to-configure-rotation-for-a-secret-1524001629475", + "title": "To configure rotation for a secret" + }, + { + "input": { + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "SecretARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "SecretName": "MyTestDatabaseSecret", + "SecretVersionId": "EXAMPLE2-90ab-cdef-fedc-ba987SECRET2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example requests an immediate invocation of the secret's Lambda rotation function. It assumes that the specified secret already has rotation configured. The rotation function runs asynchronously in the background.", + "id": "to-request-an-immediate-rotation-for-a-secret-1524001949004", + "title": "To request an immediate rotation for a secret" + } + ], + "TagResource": [ + { + "input": { + "SecretId": "MyExampleSecret", + "Tags": [ + { + "Key": "FirstTag", + "Value": "SomeValue" + }, + { + "Key": "SecondTag", + "Value": "AnotherValue" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to attach two tags each with a Key and Value to a secret. There is no output from this API. To see the result, use the DescribeSecret operation.", + "id": "to-add-tags-to-a-secret-1524002106718", + "title": "To add tags to a secret" + } + ], + "UntagResource": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret", + "TagKeys": [ + "FirstTag", + "SecondTag" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to remove two tags from a secret's metadata. For each, both the tag and the associated value are removed. There is no output from this API. To see the result, use the DescribeSecret operation.", + "id": "to-remove-tags-from-a-secret-1524002239065", + "title": "To remove tags from a secret" + } + ], + "UpdateSecret": [ + { + "input": { + "ClientRequestToken": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", + "Description": "This is a new description for the secret.", + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to modify the description of a secret.", + "id": "to-update-the-description-of-a-secret-1524002349094", + "title": "To update the description of a secret" + }, + { + "input": { + "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows how to update the KMS customer managed key (CMK) used to encrypt the secret value. The KMS CMK must be in the same region as the secret.", + "id": "to-update-the-kms-key-associated-with-a-secret-1524002421563", + "title": "To update the KMS key associated with a secret" + }, + { + "input": { + "SecretId": "MyTestDatabaseSecret", + "SecretString": "{JSON STRING WITH CREDENTIALS}" + }, + "output": { + "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret", + "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to create a new version of the secret by updating the SecretString field. Alternatively, you can use the put-secret-value operation.", + "id": "to-create-a-new-version-of-the-encrypted-secret-value-1524004651836", + "title": "To create a new version of the encrypted secret value" + } + ], + "UpdateSecretVersionStage": [ + { + "input": { + "MoveToVersionId": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1", + "SecretId": "MyTestDatabaseSecret", + "VersionStage": "STAGINGLABEL1" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows you how to add a staging label to a version of a secret. You can review the results by running the operation ListSecretVersionIds and viewing the VersionStages response field for the affected version.", + "id": "to-add-a-staging-label-attached-to-a-version-of-a-secret-1524004783841", + "title": "To add a staging label attached to a version of a secret" + }, + { + "input": { + "RemoveFromVersionId": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1", + "SecretId": "MyTestDatabaseSecret", + "VersionStage": "STAGINGLABEL1" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows you how to delete a staging label that is attached to a version of a secret. You can review the results by running the operation ListSecretVersionIds and viewing the VersionStages response field for the affected version.", + "id": "to-delete-a-staging-label-attached-to-a-version-of-a-secret-1524004862181", + "title": "To delete a staging label attached to a version of a secret" + }, + { + "input": { + "MoveToVersionId": "EXAMPLE2-90ab-cdef-fedc-ba987SECRET2", + "RemoveFromVersionId": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1", + "SecretId": "MyTestDatabaseSecret", + "VersionStage": "AWSCURRENT" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows you how to move a staging label that is attached to one version of a secret to a different version. You can review the results by running the operation ListSecretVersionIds and viewing the VersionStages response field for the affected version.", + "id": "to-move-a-staging-label-from-one-version-of-a-secret-to-another-1524004963841", + "title": "To move a staging label from one version of a secret to another" + } + ] + } +} diff --git a/models/apis/secretsmanager/2017-10-17/paginators-1.json b/models/apis/secretsmanager/2017-10-17/paginators-1.json new file mode 100644 index 00000000000..23589621f3c --- /dev/null +++ b/models/apis/secretsmanager/2017-10-17/paginators-1.json @@ -0,0 +1,14 @@ +{ + "pagination": { + "ListSecretVersionIds": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListSecrets": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff --git a/models/apis/secretsmanager/2017-10-17/smoke.json b/models/apis/secretsmanager/2017-10-17/smoke.json new file mode 100644 index 00000000000..51e9dc240b6 --- /dev/null +++ b/models/apis/secretsmanager/2017-10-17/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListSecrets", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeSecret", + "input": { + "SecretId": "fake-secret-id" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/serverlessrepo/2017-09-08/api-2.json b/models/apis/serverlessrepo/2017-09-08/api-2.json index f1812a472f6..37cdbfbd629 100644 --- a/models/apis/serverlessrepo/2017-09-08/api-2.json +++ b/models/apis/serverlessrepo/2017-09-08/api-2.json @@ -84,6 +84,30 @@ "shape" : "ForbiddenException" } ] }, + "DeleteApplication" : { + "name" : "DeleteApplication", + "http" : { + "method" : "DELETE", + "requestUri" : "/applications/{applicationId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteApplicationRequest" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException" + }, { + "shape" : "ConflictException" + } ] + }, "GetApplication" : { "name" : "GetApplication", "http" : { @@ -255,8 +279,12 @@ "shape" : "__string", "locationName" : "description" }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl" + }, "Labels" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "labels" }, "LicenseUrl" : { @@ -279,46 +307,50 @@ "shape" : "Version", "locationName" : "version" } - } + }, + "required" : [ "Description", "Author", "ApplicationId", "Name" ] }, "ApplicationPage" : { "type" : "structure", "members" : { "Applications" : { - "shape" : "ListOfApplicationSummary", + "shape" : "__listOfApplicationSummary", "locationName" : "applications" }, "NextToken" : { "shape" : "__string", "locationName" : "nextToken" } - } + }, + "required" : [ "Applications" ] }, "ApplicationPolicy" : { "type" : "structure", "members" : { "Statements" : { - "shape" : "ListOfApplicationPolicyStatement", + "shape" : "__listOfApplicationPolicyStatement", "locationName" : "statements" } - } + }, + "required" : [ "Statements" ] }, "ApplicationPolicyStatement" : { "type" : "structure", "members" : { "Actions" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "actions" }, "Principals" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "principals" }, "StatementId" : { "shape" : "__string", "locationName" : "statementId" } - } + }, + "required" : [ "Principals", "Actions" ] }, "ApplicationSummary" : { "type" : "structure", @@ -339,8 +371,12 @@ "shape" : "__string", "locationName" : "description" }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl" + }, "Labels" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "labels" }, "Name" : { @@ -351,7 +387,8 @@ "shape" : "__string", "locationName" : "spdxLicenseId" } - } + }, + "required" : [ "Description", "Author", "ApplicationId", "Name" ] }, "ApplicationVersionPage" : { "type" : "structure", @@ -361,10 +398,11 @@ "locationName" : "nextToken" }, "Versions" : { - "shape" : "ListOfVersionSummary", + "shape" : "__listOfVersionSummary", "locationName" : "versions" } - } + }, + "required" : [ "Versions" ] }, "BadRequestException" : { "type" : "structure", @@ -402,7 +440,8 @@ "shape" : "__string", "locationName" : "stackId" } - } + }, + "required" : [ "ChangeSetId", "ApplicationId", "StackId", "SemanticVersion" ] }, "ConflictException" : { "type" : "structure", @@ -432,8 +471,12 @@ "shape" : "__string", "locationName" : "description" }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl" + }, "Labels" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "labels" }, "LicenseBody" : { @@ -476,7 +519,8 @@ "shape" : "__string", "locationName" : "templateUrl" } - } + }, + "required" : [ "Description", "Name", "Author" ] }, "CreateApplicationRequest" : { "type" : "structure", @@ -489,8 +533,12 @@ "shape" : "__string", "locationName" : "description" }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl" + }, "Labels" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "labels" }, "LicenseBody" : { @@ -533,7 +581,8 @@ "shape" : "__string", "locationName" : "templateUrl" } - } + }, + "required" : [ "Description", "Name", "Author" ] }, "CreateApplicationResponse" : { "type" : "structure", @@ -554,8 +603,12 @@ "shape" : "__string", "locationName" : "description" }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl" + }, "Labels" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "labels" }, "LicenseUrl" : { @@ -637,7 +690,7 @@ "locationName" : "creationTime" }, "ParameterDefinitions" : { - "shape" : "ListOfParameterDefinition", + "shape" : "__listOfParameterDefinition", "locationName" : "parameterDefinitions" }, "SemanticVersion" : { @@ -658,7 +711,7 @@ "type" : "structure", "members" : { "ParameterOverrides" : { - "shape" : "ListOfParameterValue", + "shape" : "__listOfParameterValue", "locationName" : "parameterOverrides" }, "SemanticVersion" : { @@ -669,7 +722,8 @@ "shape" : "__string", "locationName" : "stackName" } - } + }, + "required" : [ "StackName" ] }, "CreateCloudFormationChangeSetRequest" : { "type" : "structure", @@ -680,7 +734,7 @@ "locationName" : "applicationId" }, "ParameterOverrides" : { - "shape" : "ListOfParameterValue", + "shape" : "__listOfParameterValue", "locationName" : "parameterOverrides" }, "SemanticVersion" : { @@ -692,7 +746,7 @@ "locationName" : "stackName" } }, - "required" : [ "ApplicationId" ] + "required" : [ "ApplicationId", "StackName" ] }, "CreateCloudFormationChangeSetResponse" : { "type" : "structure", @@ -715,6 +769,17 @@ } } }, + "DeleteApplicationRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "applicationId" + } + }, + "required" : [ "ApplicationId" ] + }, "ForbiddenException" : { "type" : "structure", "members" : { @@ -747,7 +812,7 @@ "type" : "structure", "members" : { "Statements" : { - "shape" : "ListOfApplicationPolicyStatement", + "shape" : "__listOfApplicationPolicyStatement", "locationName" : "statements" } } @@ -787,8 +852,12 @@ "shape" : "__string", "locationName" : "description" }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl" + }, "Labels" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "labels" }, "LicenseUrl" : { @@ -859,7 +928,7 @@ "locationName" : "nextToken" }, "Versions" : { - "shape" : "ListOfVersionSummary", + "shape" : "__listOfVersionSummary", "locationName" : "versions" } } @@ -883,7 +952,7 @@ "type" : "structure", "members" : { "Applications" : { - "shape" : "ListOfApplicationSummary", + "shape" : "__listOfApplicationSummary", "locationName" : "applications" }, "NextToken" : { @@ -892,42 +961,6 @@ } } }, - "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" - } - }, "MaxItems" : { "type" : "integer", "min" : 1, @@ -958,7 +991,7 @@ "locationName" : "allowedPattern" }, "AllowedValues" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "allowedValues" }, "ConstraintDescription" : { @@ -998,14 +1031,15 @@ "locationName" : "noEcho" }, "ReferencedByResources" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "referencedByResources" }, "Type" : { "shape" : "__string", "locationName" : "type" } - } + }, + "required" : [ "ReferencedByResources", "Name" ] }, "ParameterValue" : { "type" : "structure", @@ -1018,7 +1052,8 @@ "shape" : "__string", "locationName" : "value" } - } + }, + "required" : [ "Value", "Name" ] }, "PutApplicationPolicyRequest" : { "type" : "structure", @@ -1029,17 +1064,17 @@ "locationName" : "applicationId" }, "Statements" : { - "shape" : "ListOfApplicationPolicyStatement", + "shape" : "__listOfApplicationPolicyStatement", "locationName" : "statements" } }, - "required" : [ "ApplicationId" ] + "required" : [ "ApplicationId", "Statements" ] }, "PutApplicationPolicyResponse" : { "type" : "structure", "members" : { "Statements" : { - "shape" : "ListOfApplicationPolicyStatement", + "shape" : "__listOfApplicationPolicyStatement", "locationName" : "statements" } } @@ -1072,8 +1107,12 @@ "shape" : "__string", "locationName" : "description" }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl" + }, "Labels" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "labels" }, "ReadmeBody" : { @@ -1102,8 +1141,12 @@ "shape" : "__string", "locationName" : "description" }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl" + }, "Labels" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "labels" }, "ReadmeBody" : { @@ -1136,8 +1179,12 @@ "shape" : "__string", "locationName" : "description" }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl" + }, "Labels" : { - "shape" : "ListOf__string", + "shape" : "__listOf__string", "locationName" : "labels" }, "LicenseUrl" : { @@ -1174,7 +1221,7 @@ "locationName" : "creationTime" }, "ParameterDefinitions" : { - "shape" : "ListOfParameterDefinition", + "shape" : "__listOfParameterDefinition", "locationName" : "parameterDefinitions" }, "SemanticVersion" : { @@ -1189,7 +1236,8 @@ "shape" : "__string", "locationName" : "templateUrl" } - } + }, + "required" : [ "TemplateUrl", "ParameterDefinitions", "CreationTime", "ApplicationId", "SemanticVersion" ] }, "VersionSummary" : { "type" : "structure", @@ -1210,7 +1258,8 @@ "shape" : "__string", "locationName" : "sourceCodeUrl" } - } + }, + "required" : [ "CreationTime", "ApplicationId", "SemanticVersion" ] }, "__boolean" : { "type" : "boolean" @@ -1221,21 +1270,47 @@ "__integer" : { "type" : "integer" }, - "__string" : { - "type" : "string" + "__listOfApplicationPolicyStatement" : { + "type" : "list", + "member" : { + "shape" : "ApplicationPolicyStatement" + } }, - "__timestamp" : { - "type" : "timestamp" - } - }, - "authorizers" : { - "authorization_strategy" : { - "name" : "authorization_strategy", - "type" : "provided", - "placement" : { - "location" : "header", - "name" : "Authorization" + "__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" } } } \ No newline at end of file diff --git a/models/apis/serverlessrepo/2017-09-08/docs-2.json b/models/apis/serverlessrepo/2017-09-08/docs-2.json index 3a7fb5a08f8..32bd6c5f108 100644 --- a/models/apis/serverlessrepo/2017-09-08/docs-2.json +++ b/models/apis/serverlessrepo/2017-09-08/docs-2.json @@ -1,247 +1,252 @@ { "version" : "2.0", - "service" : "AWS Serverless Application Repository", + "service" : "

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
", "operations" : { - "CreateApplication" : "Creates an application, optionally including an AWS SAM file to create the first application version in the same call.", - "CreateApplicationVersion" : "Creates an application version.", - "CreateCloudFormationChangeSet" : "Creates an AWS CloudFormation ChangeSet for the given application.", - "GetApplication" : "Gets the specified application.", - "GetApplicationPolicy" : "Gets the policy for the specified application.", - "ListApplicationVersions" : "Lists versions for the specified application.", - "ListApplications" : "Lists applications owned by the requester.", - "PutApplicationPolicy" : "Puts the policy for the specified application.", - "UpdateApplication" : "Updates the specified application." + "CreateApplication" : "

Creates an application, optionally including an AWS SAM file to create the first application version in the same call.

", + "CreateApplicationVersion" : "

Creates an application version.

", + "CreateCloudFormationChangeSet" : "

Creates an AWS CloudFormation change set for the given application.

", + "DeleteApplication" : "

Deletes the specified application.

", + "GetApplication" : "

Gets the specified application.

", + "GetApplicationPolicy" : "

Retrieves the policy for the application.

", + "ListApplicationVersions" : "

Lists versions for the specified application.

", + "ListApplications" : "

Lists applications owned by the requester.

", + "PutApplicationPolicy" : "

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" : "

Updates the specified application.

" }, "shapes" : { "Application" : { - "base" : "Details about the application.", + "base" : "

Details about the application.

", "refs" : { } }, "ApplicationPage" : { - "base" : "List of application details.", + "base" : "

A list of application details.

", "refs" : { } }, "ApplicationPolicy" : { - "base" : "Policy statements applied to the application.", + "base" : "

Policy statements applied to the application.

", "refs" : { } }, "ApplicationPolicyStatement" : { - "base" : "Policy statement applied to the application.", + "base" : "

Policy statement applied to the application.

", "refs" : { - "ListOfApplicationPolicyStatement$member" : null + "__listOfApplicationPolicyStatement$member" : null } }, "ApplicationSummary" : { - "base" : "Summary of details about the application.", + "base" : "

Summary of details about the application.

", "refs" : { - "ListOfApplicationSummary$member" : null + "__listOfApplicationSummary$member" : null } }, "ApplicationVersionPage" : { - "base" : "List of version summaries for the application.", + "base" : "

A list of version summaries for the application.

", "refs" : { } }, "BadRequestException" : { - "base" : "One of the parameters in the request is invalid.", + "base" : "

One of the parameters in the request is invalid.

", "refs" : { } }, "ChangeSetDetails" : { - "base" : "Details of the change set.", + "base" : "

Details of the change set.

", "refs" : { } }, "ConflictException" : { - "base" : "The resource already exists.", + "base" : "

The resource already exists.

", "refs" : { } }, "CreateApplicationInput" : { - "base" : "Create application request.", + "base" : "

Create an application request.

", "refs" : { } }, "CreateApplicationVersionInput" : { - "base" : "Create version request.", + "base" : "

Create a version request.

", "refs" : { } }, "CreateCloudFormationChangeSetInput" : { - "base" : "Create application ChangeSet request.", + "base" : "

Create an application change set request.

", "refs" : { } }, "ForbiddenException" : { - "base" : "The client is not authenticated.", + "base" : "

The client is not authenticated.

", "refs" : { } }, "InternalServerErrorException" : { - "base" : "The AWS Serverless Application Repository service encountered an internal error.", + "base" : "

The AWS Serverless Application Repository service encountered an internal error.

", "refs" : { } }, - "ListOfApplicationPolicyStatement" : { - "base" : null, + "NotFoundException" : { + "base" : "

The resource (for example, an access policy statement) specified in the request doesn't exist.

", + "refs" : { } + }, + "ParameterDefinition" : { + "base" : "

Parameters supported by the application.

", "refs" : { - "ApplicationPolicy$Statements" : "Array of policy statements applied to the application." + "__listOfParameterDefinition$member" : null } }, - "ListOfApplicationSummary" : { - "base" : null, + "ParameterValue" : { + "base" : "

Parameter value of the application.

", "refs" : { - "ApplicationPage$Applications" : "Array of application summaries." + "__listOfParameterValue$member" : null } }, - "ListOfParameterDefinition" : { - "base" : null, + "TooManyRequestsException" : { + "base" : "

The client is sending more than the allowed number of requests per unit of time.

", + "refs" : { } + }, + "UpdateApplicationInput" : { + "base" : "

Update the application request.

", + "refs" : { } + }, + "Version" : { + "base" : "

Application version details.

", "refs" : { - "Version$ParameterDefinitions" : "Array of parameter types supported by the application." + "Application$Version" : "

Version information about the application.

" } }, - "ListOfParameterValue" : { - "base" : null, + "VersionSummary" : { + "base" : "

An application version summary.

", "refs" : { - "CreateCloudFormationChangeSetInput$ParameterOverrides" : "A list of parameter values for the parameters of the application." + "__listOfVersionSummary$member" : null } }, - "ListOfVersionSummary" : { + "__boolean" : { "base" : null, "refs" : { - "ApplicationVersionPage$Versions" : "Array of version summaries for the application." + "ParameterDefinition$NoEcho" : "

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 (*****).

" } }, - "ListOf__string" : { + "__integer" : { "base" : null, "refs" : { - "Application$Labels" : "Labels to improve discovery of apps in search results.\\nMin Length=1. Max Length=127. Maximum number of labels: 10\\nPattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";", - "ApplicationPolicyStatement$Actions" : "A list of supported actions:\\n\\n GetApplication \\n \\n\\n CreateCloudFormationChangeSet \\n \\n\\n ListApplicationVersions \\n \\n\\n SearchApplications \\n \\n\\n Deploy (Note: This action enables all other actions above.)", - "ApplicationPolicyStatement$Principals" : "An AWS account ID, or * to make the application public.", - "ApplicationSummary$Labels" : "Labels to improve discovery of apps in search results.\\nMin Length=1. Max Length=127. Maximum number of labels: 10\\nPattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";", - "CreateApplicationInput$Labels" : "Labels to improve discovery of apps in search results.\\nMin Length=1. Max Length=127. Maximum number of labels: 10\\nPattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";", - "ParameterDefinition$AllowedValues" : "Array containing the list of values allowed for the parameter.", - "ParameterDefinition$ReferencedByResources" : "A list of SAM resources that use this parameter.", - "UpdateApplicationInput$Labels" : "Labels to improve discovery of apps in search results.\\nMin Length=1. Max Length=127. Maximum number of labels: 10\\nPattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";" + "ParameterDefinition$MaxLength" : "

An integer value that determines the largest number of characters that you want to allow for String types.

", + "ParameterDefinition$MaxValue" : "

A numeric value that determines the largest numeric value that you want to allow for Number types.

", + "ParameterDefinition$MinLength" : "

An integer value that determines the smallest number of characters that you want to allow for String types.

", + "ParameterDefinition$MinValue" : "

A numeric value that determines the smallest numeric value that you want to allow for Number types.

" } }, - "NotFoundException" : { - "base" : "The resource (for example, an access policy statement) specified in the request does not exist.", - "refs" : { } - }, - "ParameterDefinition" : { - "base" : "Parameters supported by the application.", + "__listOfApplicationPolicyStatement" : { + "base" : null, "refs" : { - "ListOfParameterDefinition$member" : null + "ApplicationPolicy$Statements" : "

An array of policy statements applied to the application.

" } }, - "ParameterValue" : { - "base" : "Parameter value of the application.", + "__listOfApplicationSummary" : { + "base" : null, "refs" : { - "ListOfParameterValue$member" : null + "ApplicationPage$Applications" : "

An array of application summaries.

" } }, - "TooManyRequestsException" : { - "base" : "The client is sending more than the allowed number of requests per unit time.", - "refs" : { } - }, - "UpdateApplicationInput" : { - "base" : "Update application request.", - "refs" : { } - }, - "Version" : { - "base" : "Application version details.", + "__listOfParameterDefinition" : { + "base" : null, "refs" : { - "Application$Version" : "Version information about the application." + "Version$ParameterDefinitions" : "

An array of parameter types supported by the application.

" } }, - "VersionSummary" : { - "base" : "Application version summary.", + "__listOfParameterValue" : { + "base" : null, "refs" : { - "ListOfVersionSummary$member" : null + "CreateCloudFormationChangeSetInput$ParameterOverrides" : "

A list of parameter values for the parameters of the application.

" } }, - "__boolean" : { + "__listOfVersionSummary" : { "base" : null, "refs" : { - "ParameterDefinition$NoEcho" : "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 (*****)." + "ApplicationVersionPage$Versions" : "

An array of version summaries for the application.

" } }, - "__integer" : { + "__listOf__string" : { "base" : null, "refs" : { - "ParameterDefinition$MaxLength" : "An integer value that determines the largest number of characters you want to allow for String types.", - "ParameterDefinition$MaxValue" : "A numeric value that determines the largest numeric value you want to allow for Number types.", - "ParameterDefinition$MinLength" : "An integer value that determines the smallest number of characters you want to allow for String types.", - "ParameterDefinition$MinValue" : "A numeric value that determines the smallest numeric value you want to allow for Number types." + "Application$Labels" : "

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+\\\\-_:\\\\/@]+$\";

", + "ApplicationPolicyStatement$Actions" : "

See Application Permissions for the list of supported actions.

", + "ApplicationPolicyStatement$Principals" : "

An AWS account ID, or * to make the application public.

", + "ApplicationSummary$Labels" : "

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+\\\\-_:\\\\/@]+$\";

", + "CreateApplicationInput$Labels" : "

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+\\\\-_:\\\\/@]+$\";

", + "ParameterDefinition$AllowedValues" : "

An array containing the list of values allowed for the parameter.

", + "ParameterDefinition$ReferencedByResources" : "

A list of AWS SAM resources that use this parameter.

", + "UpdateApplicationInput$Labels" : "

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+\\\\-_:\\\\/@]+$\";

" } }, "__string" : { "base" : null, "refs" : { - "Application$ApplicationId" : "The application Amazon Resource Name (ARN).", - "Application$Author" : "The name of the author publishing the app.\\nMin Length=1. Max Length=127.\\nPattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";", - "Application$CreationTime" : "The date/time this resource was created.", - "Application$Description" : "The description of the application.\\nMin Length=1. Max Length=256", - "Application$LicenseUrl" : "A link to a license file of the app that matches the spdxLicenseID of your application.\\nMax size 5 MB", - "Application$Name" : "The name of the application.\\nMin Length=1. Max Length=140\\nPattern: \"[a-zA-Z0-9\\\\-]+\";", - "Application$ReadmeUrl" : "A link to the Readme file that contains a more detailed description of the application and how it works in markdown language.\\nMax size 5 MB", - "Application$SpdxLicenseId" : "A valid identifier from https://spdx.org/licenses/.", - "ApplicationPage$NextToken" : "The token to request the next page of results.", - "ApplicationPolicyStatement$StatementId" : "A unique ID for the statement.", - "ApplicationSummary$ApplicationId" : "The application ARN.", - "ApplicationSummary$Author" : "The name of the author publishing the app\\nMin Length=1. Max Length=127.\\nPattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";", - "ApplicationSummary$CreationTime" : "The date/time this resource was created.", - "ApplicationSummary$Description" : "The description of the application.\\nMin Length=1. Max Length=256", - "ApplicationSummary$Name" : "The name of the application.\\nMin Length=1. Max Length=140\\nPattern: \"[a-zA-Z0-9\\\\-]+\";", - "ApplicationSummary$SpdxLicenseId" : "A valid identifier from https://spdx.org/licenses/ .", - "ApplicationVersionPage$NextToken" : "The token to request the next page of results.", - "BadRequestException$ErrorCode" : "400", - "BadRequestException$Message" : "One of the parameters in the request is invalid.", - "ChangeSetDetails$ApplicationId" : "The application Amazon Resource Name (ARN).", - "ChangeSetDetails$ChangeSetId" : "The ARN of the change set.\\nLength Constraints: Minimum length of 1.\\nPattern: arn:[-a-zA-Z0-9:/]*", - "ChangeSetDetails$SemanticVersion" : "The semantic version of the application:\\n\\n https://semver.org/", - "ChangeSetDetails$StackId" : "The unique ID of the stack.", - "ConflictException$ErrorCode" : "409", - "ConflictException$Message" : "The resource already exists.", - "CreateApplicationInput$Author" : "The name of the author publishing the app.\\nMin Length=1. Max Length=127.\\nPattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";", - "CreateApplicationInput$Description" : "The description of the application.\\nMin Length=1. Max Length=256", - "CreateApplicationInput$LicenseBody" : "A raw text file that contains the license of the app that matches the spdxLicenseID of your application.\\nMax size 5 MB", - "CreateApplicationInput$LicenseUrl" : "A link to a license file of the app that matches the spdxLicenseID of your application.\\nMax size 5 MB", - "CreateApplicationInput$Name" : "The name of the application you want to publish.\\nMin Length=1. Max Length=140\\nPattern: \"[a-zA-Z0-9\\\\-]+\";", - "CreateApplicationInput$ReadmeBody" : "A raw text Readme file that contains a more detailed description of the application and how it works in markdown language.\\nMax size 5 MB", - "CreateApplicationInput$ReadmeUrl" : "A link to the Readme file that contains a more detailed description of the application and how it works in markdown language.\\nMax size 5 MB", - "CreateApplicationInput$SemanticVersion" : "The semantic version of the application:\\n\\n https://semver.org/", - "CreateApplicationInput$SourceCodeUrl" : "A link to a public repository for the source code of your application.", - "CreateApplicationInput$SpdxLicenseId" : "A valid identifier from https://spdx.org/licenses/ .", - "CreateApplicationInput$TemplateBody" : "The raw packaged SAM template of your application.", - "CreateApplicationInput$TemplateUrl" : "A link to the packaged SAM template of your application.", - "CreateApplicationVersionInput$SourceCodeUrl" : "A link to a public repository for the source code of your application.", - "CreateApplicationVersionInput$TemplateBody" : "The raw packaged SAM template of your application.", - "CreateApplicationVersionInput$TemplateUrl" : "A link to the packaged SAM template of your application.", - "CreateCloudFormationChangeSetInput$SemanticVersion" : "The semantic version of the application:\\n\\n https://semver.org/", - "CreateCloudFormationChangeSetInput$StackName" : "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. \\nConstraints: Minimum length of 1.\\nPattern: ([a-zA-Z][-a-zA-Z0-9]*)|(arn:\\b(aws|aws-us-gov|aws-cn)\\b:[-a-zA-Z0-9:/._+]*)", - "ForbiddenException$ErrorCode" : "403", - "ForbiddenException$Message" : "The client is not authenticated.", - "InternalServerErrorException$ErrorCode" : "500", - "InternalServerErrorException$Message" : "The AWS Serverless Application Repository service encountered an internal error.", - "ListOf__string$member" : null, - "NotFoundException$ErrorCode" : "404", - "NotFoundException$Message" : "The resource (for example, an access policy statement) specified in the request does not exist.", - "ParameterDefinition$AllowedPattern" : "A regular expression that represents the patterns to allow for String types.", - "ParameterDefinition$ConstraintDescription" : "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\\n Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+ \\n \\nBy 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\\n Malformed input-Parameter MyParameter must contain only uppercase and lowercase letters and numbers.", - "ParameterDefinition$DefaultValue" : "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.", - "ParameterDefinition$Description" : "A string of up to 4,000 characters that describes the parameter.", - "ParameterDefinition$Name" : "The name of the parameter.", - "ParameterDefinition$Type" : "The type of the parameter.\\nValid values: String | Number | List | CommaDelimitedList \\n \\n\\n String : A literal string.\\nFor example, users could specify \"MyUserName\" .\\n\\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.\\nFor example, users could specify \"8888\" .\\n\\n List : 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.\\nFor example, users could specify \"80,20\", and a Ref results in [\"80\",\"20\"] .\\n\\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.\\nFor example, users could specify \"test,dev,prod\", and a Ref results in [\"test\",\"dev\",\"prod\"] .", - "ParameterValue$Name" : "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.", - "ParameterValue$Value" : "The input value associated with the parameter.", - "TooManyRequestsException$ErrorCode" : "429", - "TooManyRequestsException$Message" : "The client is sending more than the allowed number of requests per unit time.", - "UpdateApplicationInput$Author" : "The name of the author publishing the app.\\nMin Length=1. Max Length=127.\\nPattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";", - "UpdateApplicationInput$Description" : "The description of the application.\\nMin Length=1. Max Length=256", - "UpdateApplicationInput$ReadmeBody" : "A raw text Readme file that contains a more detailed description of the application and how it works in markdown language.\\nMax size 5 MB", - "UpdateApplicationInput$ReadmeUrl" : "A link to the Readme file that contains a more detailed description of the application and how it works in markdown language.\\nMax size 5 MB", - "Version$ApplicationId" : "The application Amazon Resource Name (ARN).", - "Version$CreationTime" : "The date/time this resource was created.", - "Version$SemanticVersion" : "The semantic version of the application:\\n\\n https://semver.org/", - "Version$SourceCodeUrl" : "A link to a public repository for the source code of your application.", - "Version$TemplateUrl" : "A link to the packaged SAM template of your application.", - "VersionSummary$ApplicationId" : "The application Amazon Resource Name (ARN).", - "VersionSummary$CreationTime" : "The date/time this resource was created.", - "VersionSummary$SemanticVersion" : "The semantic version of the application:\\n\\n https://semver.org/", - "VersionSummary$SourceCodeUrl" : "A link to a public repository for the source code of your application." + "Application$ApplicationId" : "

The application Amazon Resource Name (ARN).

", + "Application$Author" : "

The name of the author publishing the app.

Minimum length=1. Maximum length=127.

Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

", + "Application$CreationTime" : "

The date and time this resource was created.

", + "Application$Description" : "

The description of the application.

Minimum length=1. Maximum length=256

", + "Application$HomePageUrl" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

", + "Application$LicenseUrl" : "

A link to a license file of the app that matches the spdxLicenseID value of your application.

Maximum size 5 MB

", + "Application$Name" : "

The name of the application.

Minimum length=1. Maximum length=140

Pattern: \"[a-zA-Z0-9\\\\-]+\";

", + "Application$ReadmeUrl" : "

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

", + "Application$SpdxLicenseId" : "

A valid identifier from https://spdx.org/licenses/.

", + "ApplicationPage$NextToken" : "

The token to request the next page of results.

", + "ApplicationPolicyStatement$StatementId" : "

A unique ID for the statement.

", + "ApplicationSummary$ApplicationId" : "

The application Amazon Resource Name (ARN).

", + "ApplicationSummary$Author" : "

The name of the author publishing the app.

Minimum length=1. Maximum length=127.

Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

", + "ApplicationSummary$CreationTime" : "

The date and time this resource was created.

", + "ApplicationSummary$Description" : "

The description of the application.

Minimum length=1. Maximum length=256

", + "ApplicationSummary$HomePageUrl" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

", + "ApplicationSummary$Name" : "

The name of the application.

Minimum length=1. Maximum length=140

Pattern: \"[a-zA-Z0-9\\\\-]+\";

", + "ApplicationSummary$SpdxLicenseId" : "

A valid identifier from https://spdx.org/licenses/.

", + "ApplicationVersionPage$NextToken" : "

The token to request the next page of results.

", + "BadRequestException$ErrorCode" : "

400

", + "BadRequestException$Message" : "

One of the parameters in the request is invalid.

", + "ChangeSetDetails$ApplicationId" : "

The application Amazon Resource Name (ARN).

", + "ChangeSetDetails$ChangeSetId" : "

The Amazon Resource Name (ARN) of the change set.

Length constraints: Minimum length of 1.

Pattern: ARN:[-a-zA-Z0-9:/]*

", + "ChangeSetDetails$SemanticVersion" : "

The semantic version of the application:

\n https://semver.org/\n

", + "ChangeSetDetails$StackId" : "

The unique ID of the stack.

", + "ConflictException$ErrorCode" : "

409

", + "ConflictException$Message" : "

The resource already exists.

", + "CreateApplicationInput$Author" : "

The name of the author publishing the app.

Minimum length=1. Maximum length=127.

Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

", + "CreateApplicationInput$Description" : "

The description of the application.

Minimum length=1. Maximum length=256

", + "CreateApplicationInput$HomePageUrl" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

", + "CreateApplicationInput$LicenseBody" : "

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.

", + "CreateApplicationInput$LicenseUrl" : "

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.

", + "CreateApplicationInput$Name" : "

The name of the application that you want to publish.

Minimum length=1. Maximum length=140

Pattern: \"[a-zA-Z0-9\\\\-]+\";

", + "CreateApplicationInput$ReadmeBody" : "

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.

", + "CreateApplicationInput$ReadmeUrl" : "

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.

", + "CreateApplicationInput$SemanticVersion" : "

The semantic version of the application:

\n https://semver.org/\n

", + "CreateApplicationInput$SourceCodeUrl" : "

A link to a public repository for the source code of your application.

", + "CreateApplicationInput$SpdxLicenseId" : "

A valid identifier from https://spdx.org/licenses/.

", + "CreateApplicationInput$TemplateBody" : "

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.

", + "CreateApplicationInput$TemplateUrl" : "

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.

", + "CreateApplicationVersionInput$SourceCodeUrl" : "

A link to a public repository for the source code of your application.

", + "CreateApplicationVersionInput$TemplateBody" : "

The raw packaged AWS SAM template of your application.

", + "CreateApplicationVersionInput$TemplateUrl" : "

A link to the packaged AWS SAM template of your application.

", + "CreateCloudFormationChangeSetInput$SemanticVersion" : "

The semantic version of the application:

\n https://semver.org/\n

", + "CreateCloudFormationChangeSetInput$StackName" : "

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:/._+]*)

", + "ForbiddenException$ErrorCode" : "

403

", + "ForbiddenException$Message" : "

The client is not authenticated.

", + "InternalServerErrorException$ErrorCode" : "

500

", + "InternalServerErrorException$Message" : "

The AWS Serverless Application Repository service encountered an internal error.

", + "NotFoundException$ErrorCode" : "

404

", + "NotFoundException$Message" : "

The resource (for example, an access policy statement) specified in the request doesn't exist.

", + "ParameterDefinition$AllowedPattern" : "

A regular expression that represents the patterns to allow for String types.

", + "ParameterDefinition$ConstraintDescription" : "

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

", + "ParameterDefinition$DefaultValue" : "

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.

", + "ParameterDefinition$Description" : "

A string of up to 4,000 characters that describes the parameter.

", + "ParameterDefinition$Name" : "

The name of the parameter.

", + "ParameterDefinition$Type" : "

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\"].

", + "ParameterValue$Name" : "

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.

", + "ParameterValue$Value" : "

The input value associated with the parameter.

", + "TooManyRequestsException$ErrorCode" : "

429

", + "TooManyRequestsException$Message" : "

The client is sending more than the allowed number of requests per unit of time.

", + "UpdateApplicationInput$Author" : "

The name of the author publishing the app.

Minimum length=1. Maximum length=127.

Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

", + "UpdateApplicationInput$Description" : "

The description of the application.

Minimum length=1. Maximum length=256

", + "UpdateApplicationInput$HomePageUrl" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

", + "UpdateApplicationInput$ReadmeBody" : "

A text readme file in Markdown language that contains a more detailed description of the application and how it works.

Maximum size 5 MB

", + "UpdateApplicationInput$ReadmeUrl" : "

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

", + "Version$ApplicationId" : "

The application Amazon Resource Name (ARN).

", + "Version$CreationTime" : "

The date and time this resource was created.

", + "Version$SemanticVersion" : "

The semantic version of the application:

\n https://semver.org/\n

", + "Version$SourceCodeUrl" : "

A link to a public repository for the source code of your application.

", + "Version$TemplateUrl" : "

A link to the packaged AWS SAM template of your application.

", + "VersionSummary$ApplicationId" : "

The application Amazon Resource Name (ARN).

", + "VersionSummary$CreationTime" : "

The date and time this resource was created.

", + "VersionSummary$SemanticVersion" : "

The semantic version of the application:

\n https://semver.org/\n

", + "VersionSummary$SourceCodeUrl" : "

A link to a public repository for the source code of your application.

", + "__listOf__string$member" : null } } } diff --git a/models/apis/serverlessrepo/2017-09-08/paginators-1.json b/models/apis/serverlessrepo/2017-09-08/paginators-1.json new file mode 100644 index 00000000000..63b3034f0f7 --- /dev/null +++ b/models/apis/serverlessrepo/2017-09-08/paginators-1.json @@ -0,0 +1,14 @@ +{ + "pagination" : { + "ListApplicationVersions" : { + "input_token" : "NextToken", + "output_token" : "NextToken", + "limit_key" : "MaxItems" + }, + "ListApplications" : { + "input_token" : "NextToken", + "output_token" : "NextToken", + "limit_key" : "MaxItems" + } + } +} \ No newline at end of file diff --git a/models/apis/servicecatalog/2015-12-10/api-2.json b/models/apis/servicecatalog/2015-12-10/api-2.json index 2d6b3ceb585..425faeb6d46 100644 --- a/models/apis/servicecatalog/2015-12-10/api-2.json +++ b/models/apis/servicecatalog/2015-12-10/api-2.json @@ -6,6 +6,7 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS Service Catalog", + "serviceId":"Service Catalog", "signatureVersion":"v4", "targetPrefix":"AWS242ServiceCatalogService", "uid":"servicecatalog-2015-12-10" @@ -140,6 +141,20 @@ {"shape":"TagOptionNotMigratedException"} ] }, + "CreateProvisionedProductPlan":{ + "name":"CreateProvisionedProductPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProvisionedProductPlanInput"}, + "output":{"shape":"CreateProvisionedProductPlanOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"} + ] + }, "CreateProvisioningArtifact":{ "name":"CreateProvisioningArtifact", "http":{ @@ -223,6 +238,19 @@ {"shape":"TagOptionNotMigratedException"} ] }, + "DeleteProvisionedProductPlan":{ + "name":"DeleteProvisionedProductPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProvisionedProductPlanInput"}, + "output":{"shape":"DeleteProvisionedProductPlanOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "DeleteProvisioningArtifact":{ "name":"DeleteProvisioningArtifact", "http":{ @@ -237,6 +265,20 @@ {"shape":"InvalidParametersException"} ] }, + "DeleteTagOption":{ + "name":"DeleteTagOption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTagOptionInput"}, + "output":{"shape":"DeleteTagOptionOutput"}, + "errors":[ + {"shape":"TagOptionNotMigratedException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "DescribeConstraint":{ "name":"DescribeConstraint", "http":{ @@ -323,6 +365,19 @@ {"shape":"ResourceNotFoundException"} ] }, + "DescribeProvisionedProductPlan":{ + "name":"DescribeProvisionedProductPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProvisionedProductPlanInput"}, + "output":{"shape":"DescribeProvisionedProductPlanOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ] + }, "DescribeProvisioningArtifact":{ "name":"DescribeProvisioningArtifact", "http":{ @@ -413,6 +468,20 @@ {"shape":"ResourceNotFoundException"} ] }, + "ExecuteProvisionedProductPlan":{ + "name":"ExecuteProvisionedProductPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExecuteProvisionedProductPlanInput"}, + "output":{"shape":"ExecuteProvisionedProductPlanOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"} + ] + }, "ListAcceptedPortfolioShares":{ "name":"ListAcceptedPortfolioShares", "http":{ @@ -501,6 +570,19 @@ {"shape":"InvalidParametersException"} ] }, + "ListProvisionedProductPlans":{ + "name":"ListProvisionedProductPlans", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProvisionedProductPlansInput"}, + "output":{"shape":"ListProvisionedProductPlansOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ] + }, "ListProvisioningArtifacts":{ "name":"ListProvisioningArtifacts", "http":{ @@ -616,6 +698,18 @@ {"shape":"InvalidParametersException"} ] }, + "SearchProvisionedProducts":{ + "name":"SearchProvisionedProducts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchProvisionedProductsInput"}, + "output":{"shape":"SearchProvisionedProductsOutput"}, + "errors":[ + {"shape":"InvalidParametersException"} + ] + }, "TerminateProvisionedProduct":{ "name":"TerminateProvisionedProduct", "http":{ @@ -816,6 +910,26 @@ } }, "AttributeValue":{"type":"string"}, + "CausingEntity":{"type":"string"}, + "ChangeAction":{ + "type":"string", + "enum":[ + "ADD", + "MODIFY", + "REMOVE" + ] + }, + "CloudWatchDashboard":{ + "type":"structure", + "members":{ + "Name":{"shape":"CloudWatchDashboardName"} + } + }, + "CloudWatchDashboardName":{"type":"string"}, + "CloudWatchDashboards":{ + "type":"list", + "member":{"shape":"CloudWatchDashboard"} + }, "ConstraintDescription":{ "type":"string", "max":2000 @@ -999,6 +1113,43 @@ "Tags":{"shape":"Tags"} } }, + "CreateProvisionedProductPlanInput":{ + "type":"structure", + "required":[ + "PlanName", + "PlanType", + "ProductId", + "ProvisionedProductName", + "ProvisioningArtifactId", + "IdempotencyToken" + ], + "members":{ + "AcceptLanguage":{"shape":"AcceptLanguage"}, + "PlanName":{"shape":"ProvisionedProductPlanName"}, + "PlanType":{"shape":"ProvisionedProductPlanType"}, + "NotificationArns":{"shape":"NotificationArns"}, + "PathId":{"shape":"Id"}, + "ProductId":{"shape":"Id"}, + "ProvisionedProductName":{"shape":"ProvisionedProductName"}, + "ProvisioningArtifactId":{"shape":"Id"}, + "ProvisioningParameters":{"shape":"UpdateProvisioningParameters"}, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + }, + "Tags":{"shape":"Tags"} + } + }, + "CreateProvisionedProductPlanOutput":{ + "type":"structure", + "members":{ + "PlanName":{"shape":"ProvisionedProductPlanName"}, + "PlanId":{"shape":"Id"}, + "ProvisionProductId":{"shape":"Id"}, + "ProvisionedProductName":{"shape":"ProvisionedProductName"}, + "ProvisioningArtifactId":{"shape":"Id"} + } + }, "CreateProvisioningArtifactInput":{ "type":"structure", "required":[ @@ -1100,6 +1251,20 @@ "members":{ } }, + "DeleteProvisionedProductPlanInput":{ + "type":"structure", + "required":["PlanId"], + "members":{ + "AcceptLanguage":{"shape":"AcceptLanguage"}, + "PlanId":{"shape":"Id"}, + "IgnoreErrors":{"shape":"IgnoreErrors"} + } + }, + "DeleteProvisionedProductPlanOutput":{ + "type":"structure", + "members":{ + } + }, "DeleteProvisioningArtifactInput":{ "type":"structure", "required":[ @@ -1117,6 +1282,18 @@ "members":{ } }, + "DeleteTagOptionInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{"shape":"TagOptionId"} + } + }, + "DeleteTagOptionOutput":{ + "type":"structure", + "members":{ + } + }, "DescribeConstraintInput":{ "type":"structure", "required":["Id"], @@ -1223,7 +1400,26 @@ "DescribeProvisionedProductOutput":{ "type":"structure", "members":{ - "ProvisionedProductDetail":{"shape":"ProvisionedProductDetail"} + "ProvisionedProductDetail":{"shape":"ProvisionedProductDetail"}, + "CloudWatchDashboards":{"shape":"CloudWatchDashboards"} + } + }, + "DescribeProvisionedProductPlanInput":{ + "type":"structure", + "required":["PlanId"], + "members":{ + "AcceptLanguage":{"shape":"AcceptLanguage"}, + "PlanId":{"shape":"Id"}, + "PageSize":{"shape":"PageSize"}, + "PageToken":{"shape":"PageToken"} + } + }, + "DescribeProvisionedProductPlanOutput":{ + "type":"structure", + "members":{ + "ProvisionedProductPlanDetails":{"shape":"ProvisionedProductPlanDetails"}, + "ResourceChanges":{"shape":"ResourceChanges"}, + "NextPageToken":{"shape":"PageToken"} } }, "DescribeProvisioningArtifactInput":{ @@ -1359,6 +1555,34 @@ }, "ErrorCode":{"type":"string"}, "ErrorDescription":{"type":"string"}, + "EvaluationType":{ + "type":"string", + "enum":[ + "STATIC", + "DYNAMIC" + ] + }, + "ExecuteProvisionedProductPlanInput":{ + "type":"structure", + "required":[ + "PlanId", + "IdempotencyToken" + ], + "members":{ + "AcceptLanguage":{"shape":"AcceptLanguage"}, + "PlanId":{"shape":"Id"}, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + } + } + }, + "ExecuteProvisionedProductPlanOutput":{ + "type":"structure", + "members":{ + "RecordDetail":{"shape":"RecordDetail"} + } + }, "HasDefaultPath":{"type":"boolean"}, "Id":{ "type":"string", @@ -1411,7 +1635,8 @@ "members":{ "AcceptLanguage":{"shape":"AcceptLanguage"}, "PageToken":{"shape":"PageToken"}, - "PageSize":{"shape":"PageSize"} + "PageSize":{"shape":"PageSize"}, + "PortfolioShareType":{"shape":"PortfolioShareType"} } }, "ListAcceptedPortfolioSharesOutput":{ @@ -1520,6 +1745,23 @@ "NextPageToken":{"shape":"PageToken"} } }, + "ListProvisionedProductPlansInput":{ + "type":"structure", + "members":{ + "AcceptLanguage":{"shape":"AcceptLanguage"}, + "ProvisionProductId":{"shape":"Id"}, + "PageSize":{"shape":"PageSize"}, + "PageToken":{"shape":"PageToken"}, + "AccessLevelFilter":{"shape":"AccessLevelFilter"} + } + }, + "ListProvisionedProductPlansOutput":{ + "type":"structure", + "members":{ + "ProvisionedProductPlans":{"shape":"ProvisionedProductPlans"}, + "NextPageToken":{"shape":"PageToken"} + } + }, "ListProvisioningArtifactsInput":{ "type":"structure", "required":["ProductId"], @@ -1599,6 +1841,7 @@ "PageToken":{"shape":"PageToken"} } }, + "LogicalResourceId":{"type":"string"}, "NoEcho":{"type":"boolean"}, "NotificationArn":{ "type":"string", @@ -1638,6 +1881,13 @@ "type":"string", "max":4096 }, + "PhysicalId":{"type":"string"}, + "PhysicalResourceId":{"type":"string"}, + "PlanResourceType":{ + "type":"string", + "max":256, + "min":1 + }, "PortfolioDescription":{ "type":"string", "max":2000 @@ -1663,6 +1913,13 @@ "min":1 }, "PortfolioName":{"type":"string"}, + "PortfolioShareType":{ + "type":"string", + "enum":[ + "IMPORTED", + "AWS_SERVICECATALOG" + ] + }, "Principal":{ "type":"structure", "members":{ @@ -1698,7 +1955,8 @@ "enum":[ "CLOUD_FORMATION_TEMPLATE", "MARKETPLACE" - ] + ], + "max":8191 }, "ProductViewAggregationType":{"type":"string"}, "ProductViewAggregationValue":{ @@ -1750,9 +2008,18 @@ "key":{"shape":"ProductViewFilterBy"}, "value":{"shape":"ProductViewFilterValues"} }, - "ProductViewName":{"type":"string"}, - "ProductViewOwner":{"type":"string"}, - "ProductViewShortDescription":{"type":"string"}, + "ProductViewName":{ + "type":"string", + "max":8191 + }, + "ProductViewOwner":{ + "type":"string", + "max":8191 + }, + "ProductViewShortDescription":{ + "type":"string", + "max":8191 + }, "ProductViewSortBy":{ "type":"string", "enum":[ @@ -1781,9 +2048,10 @@ "SupportUrl":{"shape":"SupportUrl"} } }, + "PropertyName":{"type":"string"}, "ProviderName":{ "type":"string", - "max":20, + "max":50, "min":1 }, "ProvisionProductInput":{ @@ -1815,6 +2083,30 @@ "RecordDetail":{"shape":"RecordDetail"} } }, + "ProvisionedProductAttribute":{ + "type":"structure", + "members":{ + "Name":{"shape":"ProvisionedProductNameOrArn"}, + "Arn":{"shape":"ProvisionedProductNameOrArn"}, + "Type":{"shape":"ProvisionedProductType"}, + "Id":{"shape":"Id"}, + "Status":{"shape":"ProvisionedProductStatus"}, + "StatusMessage":{"shape":"ProvisionedProductStatusMessage"}, + "CreatedTime":{"shape":"CreatedTime"}, + "IdempotencyToken":{"shape":"IdempotencyToken"}, + "LastRecordId":{"shape":"Id"}, + "Tags":{"shape":"Tags"}, + "PhysicalId":{"shape":"PhysicalId"}, + "ProductId":{"shape":"Id"}, + "ProvisioningArtifactId":{"shape":"Id"}, + "UserArn":{"shape":"UserArn"}, + "UserArnSession":{"shape":"UserArnSession"} + } + }, + "ProvisionedProductAttributes":{ + "type":"list", + "member":{"shape":"ProvisionedProductAttribute"} + }, "ProvisionedProductDetail":{ "type":"structure", "members":{ @@ -1833,6 +2125,11 @@ "type":"list", "member":{"shape":"ProvisionedProductDetail"} }, + "ProvisionedProductFilters":{ + "type":"map", + "key":{"shape":"ProvisionedProductViewFilterBy"}, + "value":{"shape":"ProvisionedProductViewFilterValues"} + }, "ProvisionedProductId":{"type":"string"}, "ProvisionedProductName":{ "type":"string", @@ -1846,17 +2143,78 @@ "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"}, + "PathId":{"shape":"Id"}, + "ProductId":{"shape":"Id"}, + "PlanName":{"shape":"ProvisionedProductPlanName"}, + "PlanId":{"shape":"Id"}, + "ProvisionProductId":{"shape":"Id"}, + "ProvisionProductName":{"shape":"ProvisionedProductName"}, + "PlanType":{"shape":"ProvisionedProductPlanType"}, + "ProvisioningArtifactId":{"shape":"Id"}, + "Status":{"shape":"ProvisionedProductPlanStatus"}, + "UpdatedTime":{"shape":"UpdatedTime"}, + "NotificationArns":{"shape":"NotificationArns"}, + "ProvisioningParameters":{"shape":"UpdateProvisioningParameters"}, + "Tags":{"shape":"Tags"}, + "StatusMessage":{"shape":"StatusMessage"} + } + }, + "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"}, + "PlanId":{"shape":"Id"}, + "ProvisionProductId":{"shape":"Id"}, + "ProvisionProductName":{"shape":"ProvisionedProductName"}, + "PlanType":{"shape":"ProvisionedProductPlanType"}, + "ProvisioningArtifactId":{"shape":"Id"} + } + }, + "ProvisionedProductPlanType":{ + "type":"string", + "enum":["CLOUDFORMATION"] + }, + "ProvisionedProductPlans":{ + "type":"list", + "member":{"shape":"ProvisionedProductPlanSummary"} + }, "ProvisionedProductStatus":{ "type":"string", "enum":[ "AVAILABLE", "UNDER_CHANGE", "TAINTED", - "ERROR" + "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":{ @@ -1866,6 +2224,7 @@ "CreatedTime":{"shape":"ProvisioningArtifactCreatedTime"} } }, + "ProvisioningArtifactActive":{"type":"boolean"}, "ProvisioningArtifactCreatedTime":{"type":"timestamp"}, "ProvisioningArtifactDescription":{"type":"string"}, "ProvisioningArtifactDetail":{ @@ -1875,7 +2234,8 @@ "Name":{"shape":"ProvisioningArtifactName"}, "Description":{"shape":"ProvisioningArtifactName"}, "Type":{"shape":"ProvisioningArtifactType"}, - "CreatedTime":{"shape":"CreationTime"} + "CreatedTime":{"shape":"CreationTime"}, + "Active":{"shape":"ProvisioningArtifactActive"} } }, "ProvisioningArtifactDetails":{ @@ -2052,11 +2412,66 @@ "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"}, + "LogicalResourceId":{"shape":"LogicalResourceId"}, + "PhysicalResourceId":{"shape":"PhysicalResourceId"}, + "ResourceType":{"shape":"PlanResourceType"}, + "Replacement":{"shape":"Replacement"}, + "Scope":{"shape":"Scope"}, + "Details":{"shape":"ResourceChangeDetails"} + } + }, + "ResourceChangeDetail":{ + "type":"structure", + "members":{ + "Target":{"shape":"ResourceTargetDefinition"}, + "Evaluation":{"shape":"EvaluationType"}, + "CausingEntity":{"shape":"CausingEntity"} + } + }, + "ResourceChangeDetails":{ + "type":"list", + "member":{"shape":"ResourceChangeDetail"} + }, + "ResourceChanges":{ + "type":"list", + "member":{"shape":"ResourceChange"} + }, "ResourceDetail":{ "type":"structure", "members":{ @@ -2089,6 +2504,14 @@ }, "exception":true }, + "ResourceTargetDefinition":{ + "type":"structure", + "members":{ + "Attribute":{"shape":"ResourceAttribute"}, + "Name":{"shape":"PropertyName"}, + "RequiresRecreation":{"shape":"RequiresRecreation"} + } + }, "ResourceType":{"type":"string"}, "ScanProvisionedProductsInput":{ "type":"structure", @@ -2106,6 +2529,10 @@ "NextPageToken":{"shape":"PageToken"} } }, + "Scope":{ + "type":"list", + "member":{"shape":"ResourceAttribute"} + }, "SearchFilterKey":{"type":"string"}, "SearchFilterValue":{"type":"string"}, "SearchProductsAsAdminInput":{ @@ -2147,6 +2574,32 @@ "NextPageToken":{"shape":"PageToken"} } }, + "SearchProvisionedProductsInput":{ + "type":"structure", + "members":{ + "AcceptLanguage":{"shape":"AcceptLanguage"}, + "AccessLevelFilter":{"shape":"AccessLevelFilter"}, + "Filters":{"shape":"ProvisionedProductFilters"}, + "SortBy":{"shape":"SortField"}, + "SortOrder":{"shape":"SortOrder"}, + "PageSize":{"shape":"SearchProvisionedProductsPageSize"}, + "PageToken":{"shape":"PageToken"} + } + }, + "SearchProvisionedProductsOutput":{ + "type":"structure", + "members":{ + "ProvisionedProducts":{"shape":"ProvisionedProductAttributes"}, + "TotalResultsCount":{"shape":"TotalResultsCount"}, + "NextPageToken":{"shape":"PageToken"} + } + }, + "SearchProvisionedProductsPageSize":{ + "type":"integer", + "max":100, + "min":0 + }, + "SortField":{"type":"string"}, "SortOrder":{ "type":"string", "enum":[ @@ -2172,9 +2625,22 @@ ] }, "StatusDetail":{"type":"string"}, - "SupportDescription":{"type":"string"}, - "SupportEmail":{"type":"string"}, - "SupportUrl":{"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":[ @@ -2279,6 +2745,7 @@ "RecordDetail":{"shape":"RecordDetail"} } }, + "TotalResultsCount":{"type":"integer"}, "UpdateConstraintInput":{ "type":"structure", "required":["Id"], @@ -2374,7 +2841,8 @@ "ProductId":{"shape":"Id"}, "ProvisioningArtifactId":{"shape":"Id"}, "Name":{"shape":"ProvisioningArtifactName"}, - "Description":{"shape":"ProvisioningArtifactDescription"} + "Description":{"shape":"ProvisioningArtifactDescription"}, + "Active":{"shape":"ProvisioningArtifactActive"} } }, "UpdateProvisioningArtifactOutput":{ @@ -2425,6 +2893,8 @@ "member":{"shape":"UsageInstruction"} }, "UsePreviousValue":{"type":"boolean"}, + "UserArn":{"type":"string"}, + "UserArnSession":{"type":"string"}, "Verbose":{"type":"boolean"} } } diff --git a/models/apis/servicecatalog/2015-12-10/docs-2.json b/models/apis/servicecatalog/2015-12-10/docs-2.json index 8276f503e41..3d379c0caad 100644 --- a/models/apis/servicecatalog/2015-12-10/docs-2.json +++ b/models/apis/servicecatalog/2015-12-10/docs-2.json @@ -1,60 +1,67 @@ { "version": "2.0", - "service": "AWS Service Catalog

Overview

AWS Service Catalog allows organizations to create and manage catalogs of IT services that are approved for use on AWS. This documentation provides reference material for the AWS Service Catalog end user API. To get the most out of this documentation, be familiar with the terminology discussed in AWS Service Catalog Concepts.

Additional Resources

", + "service": "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.

", "operations": { - "AcceptPortfolioShare": "

Accepts an offer to share a portfolio.

", + "AcceptPortfolioShare": "

Accepts an offer to share the specified portfolio.

", "AssociatePrincipalWithPortfolio": "

Associates the specified principal ARN with the specified portfolio.

", - "AssociateProductWithPortfolio": "

Associates a product with a portfolio.

", - "AssociateTagOptionWithResource": "

Associate a TagOption identifier with a resource identifier.

", - "CopyProduct": "

Copies the specified source product to the specified target product or a new product.

You can copy the product to the same account or another account. You can copy the product to the same region or another region.

This operation is performed asynchronously. To track the progress of the operation, use DescribeCopyProductStatus.

", - "CreateConstraint": "

Creates a new constraint. For more information, see Using Constraints.

", - "CreatePortfolio": "

Creates a new portfolio.

", - "CreatePortfolioShare": "

Creates a new portfolio share.

", - "CreateProduct": "

Creates a new product.

", - "CreateProvisioningArtifact": "

Create a new provisioning artifact for the specified product. This operation does not work with a product that has been shared with you.

", - "CreateTagOption": "

Create a new TagOption.

", + "AssociateProductWithPortfolio": "

Associates the specified product with the specified portfolio.

", + "AssociateTagOptionWithResource": "

Associate the specified TagOption with the specified portfolio or product.

", + "CopyProduct": "

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": "

Creates a constraint.

", + "CreatePortfolio": "

Creates a portfolio.

", + "CreatePortfolioShare": "

Shares the specified portfolio with the specified account.

", + "CreateProduct": "

Creates a product.

", + "CreateProvisionedProductPlan": "

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": "

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": "

Creates a TagOption.

", "DeleteConstraint": "

Deletes the specified constraint.

", - "DeletePortfolio": "

Deletes the specified portfolio. This operation does not work with a portfolio that has been shared with you or if it has products, users, constraints, or shared accounts associated with it.

", - "DeletePortfolioShare": "

Deletes the specified portfolio share.

", - "DeleteProduct": "

Deletes the specified product. This operation does not work with a product that has been shared with you or is associated with a portfolio.

", - "DeleteProvisioningArtifact": "

Deletes the specified provisioning artifact. This operation does not work on a provisioning artifact associated with a product that has been shared with you, or on the last provisioning artifact associated with a product (a product must have at least one provisioning artifact).

", - "DescribeConstraint": "

Retrieves detailed information for a specified constraint.

", - "DescribeCopyProductStatus": "

Describes the status of the specified copy product operation.

", - "DescribePortfolio": "

Retrieves detailed information and any tags associated with the specified portfolio.

", - "DescribeProduct": "

Retrieves information about a specified product.

This operation is functionally identical to DescribeProductView except that it takes as input ProductId instead of ProductViewId.

", - "DescribeProductAsAdmin": "

Retrieves information about a specified product, run with administrator access.

", - "DescribeProductView": "

Retrieves information about a specified product.

This operation is functionally identical to DescribeProduct except that it takes as input ProductViewId instead of ProductId.

", - "DescribeProvisionedProduct": "

Retrieve detailed information about the provisioned product.

", - "DescribeProvisioningArtifact": "

Retrieves detailed information about the specified provisioning artifact.

", - "DescribeProvisioningParameters": "

Provides information about parameters required to provision a specified product in a specified manner. Use this operation to obtain the list of ProvisioningArtifactParameters parameters available to call the ProvisionProduct operation for the specified product.

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 the ProvisionProduct operation, do not include conflicted TagOption keys as tags. Calls to ProvisionProduct with empty TagOption values cause the error \"Parameter validation failed: Missing required parameter in Tags[N]:Value \". Calls to ProvisionProduct with conflicted TagOption keys automatically tag the provisioned product with the conflicted keys with the value \"sc-tagoption-conflict-portfolioId-productId\".

", - "DescribeRecord": "

Retrieves a paginated list of the full details of a specific request. Use this operation after calling a request operation (ProvisionProduct, TerminateProvisionedProduct, or UpdateProvisionedProduct).

", - "DescribeTagOption": "

Describes a TagOption.

", + "DeletePortfolio": "

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": "

Stops sharing the specified portfolio with the specified account.

", + "DeleteProduct": "

Deletes the specified product.

You cannot delete a product if it was shared with you or is associated with a portfolio.

", + "DeleteProvisionedProductPlan": "

Deletes the specified plan.

", + "DeleteProvisioningArtifact": "

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": "

Deletes the specified TagOption.

You cannot delete a TagOption if it is associated with a product or portfolio.

", + "DescribeConstraint": "

Gets information about the specified constraint.

", + "DescribeCopyProductStatus": "

Gets the status of the specified copy product operation.

", + "DescribePortfolio": "

Gets information about the specified portfolio.

", + "DescribeProduct": "

Gets information about the specified product.

", + "DescribeProductAsAdmin": "

Gets information about the specified product. This operation is run with administrator access.

", + "DescribeProductView": "

Gets information about the specified product.

", + "DescribeProvisionedProduct": "

Gets information about the specified provisioned product.

", + "DescribeProvisionedProductPlan": "

Gets information about the resource changes for the specified plan.

", + "DescribeProvisioningArtifact": "

Gets information about the specified provisioning artifact (also known as a version) for the specified product.

", + "DescribeProvisioningParameters": "

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": "

Gets information about the specified request operation.

Use this operation after calling a request operation (for example, ProvisionProduct, TerminateProvisionedProduct, or UpdateProvisionedProduct).

", + "DescribeTagOption": "

Gets information about the specified TagOption.

", "DisassociatePrincipalFromPortfolio": "

Disassociates a previously associated principal ARN from a specified portfolio.

", "DisassociateProductFromPortfolio": "

Disassociates the specified product from the specified portfolio.

", - "DisassociateTagOptionFromResource": "

Disassociates a TagOption from a resource.

", - "ListAcceptedPortfolioShares": "

Lists details of all portfolios for which sharing was accepted by this account.

", - "ListConstraintsForPortfolio": "

Retrieves detailed constraint information for the specified portfolio and product.

", - "ListLaunchPaths": "

Returns a paginated list of all paths to a specified product. A path is how the user has access to a specified product, and is necessary when provisioning a product. A path also determines the constraints put on the product.

", - "ListPortfolioAccess": "

Lists the account IDs that have been authorized sharing of the specified portfolio.

", + "DisassociateTagOptionFromResource": "

Disassociates the specified TagOption from the specified resource.

", + "ExecuteProvisionedProductPlan": "

Provisions or modifies a product based on the resource changes for the specified plan.

", + "ListAcceptedPortfolioShares": "

Lists all portfolios for which sharing was accepted by this account.

", + "ListConstraintsForPortfolio": "

Lists the constraints for the specified portfolio and product.

", + "ListLaunchPaths": "

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": "

Lists the account IDs that have access to the specified portfolio.

", "ListPortfolios": "

Lists all portfolios in the catalog.

", "ListPortfoliosForProduct": "

Lists all portfolios that the specified product is associated with.

", "ListPrincipalsForPortfolio": "

Lists all principal ARNs associated with the specified portfolio.

", - "ListProvisioningArtifacts": "

Lists all provisioning artifacts associated with the specified product.

", - "ListRecordHistory": "

Returns a paginated list of all performed requests, in the form of RecordDetails objects that are filtered as specified.

", - "ListResourcesForTagOption": "

Lists resources associated with a TagOption.

", - "ListTagOptions": "

Lists detailed TagOptions information.

", - "ProvisionProduct": "

Requests a provision of a specified product. A provisioned product is a resourced instance for a product. For example, provisioning a CloudFormation-template-backed product results in launching a CloudFormation stack and all the underlying resources that come with it.

You can check the status of this request using the DescribeRecord operation. The error \"Parameter validation failed: Missing required parameter in Tags[N]:Value\" indicates that your request contains a tag which has a tag key but no corresponding tag value (value is empty or null). Your call may have included values returned from a DescribeProvisioningParameters call that resulted in a TagOption key with an empty list. This happens when TagOption keys are in conflict. For more information, see DescribeProvisioningParameters.

", - "RejectPortfolioShare": "

Rejects an offer to share a portfolio.

", - "ScanProvisionedProducts": "

Returns a paginated list of all the ProvisionedProduct objects that are currently available (not terminated).

", - "SearchProducts": "

Returns a paginated list all of the Products objects to which the caller has access.

The output of this operation can be used as input for other operations, such as DescribeProductView.

", - "SearchProductsAsAdmin": "

Retrieves summary and status information about all products created within the caller's account. If a portfolio ID is provided, this operation retrieves information for only those products that are associated with the specified portfolio.

", - "TerminateProvisionedProduct": "

Requests termination of an existing ProvisionedProduct object. If there are Tags associated with the object, they are terminated when the ProvisionedProduct object is terminated.

This operation does not delete any records associated with the ProvisionedProduct object.

You can check the status of this request using the DescribeRecord operation.

", - "UpdateConstraint": "

Updates an existing constraint.

", - "UpdatePortfolio": "

Updates the specified portfolio's details. This operation does not work with a product that has been shared with you.

", - "UpdateProduct": "

Updates an existing product.

", - "UpdateProvisionedProduct": "

Requests updates to the configuration of an existing ProvisionedProduct object. If there are tags associated with the object, they cannot be updated or added with this operation. Depending on the specific updates requested, this operation may update with no interruption, with some interruption, or replace the ProvisionedProduct object entirely.

You can check the status of this request using the DescribeRecord operation.

", - "UpdateProvisioningArtifact": "

Updates an existing provisioning artifact's information. This operation does not work on a provisioning artifact associated with a product that has been shared with you.

", - "UpdateTagOption": "

Updates an existing TagOption.

" + "ListProvisionedProductPlans": "

Lists the plans for the specified provisioned product or all plans to which the user has access.

", + "ListProvisioningArtifacts": "

Lists all provisioning artifacts (also known as versions) for the specified product.

", + "ListRecordHistory": "

Lists the specified requests or all performed requests.

", + "ListResourcesForTagOption": "

Lists the resources associated with the specified TagOption.

", + "ListTagOptions": "

Lists the specified TagOptions or all TagOptions.

", + "ProvisionProduct": "

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": "

Rejects an offer to share the specified portfolio.

", + "ScanProvisionedProducts": "

Lists the provisioned products that are available (not terminated).

To use additional filtering, see SearchProvisionedProducts.

", + "SearchProducts": "

Gets information about the products to which the caller has access.

", + "SearchProductsAsAdmin": "

Gets information about the products for the specified portfolio or all products.

", + "SearchProvisionedProducts": "

Gets information about the provisioned products that meet the specified criteria.

", + "TerminateProvisionedProduct": "

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": "

Updates the specified constraint.

", + "UpdatePortfolio": "

Updates the specified portfolio.

You cannot update a product that was shared with you.

", + "UpdateProduct": "

Updates the specified product.

", + "UpdateProvisionedProduct": "

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": "

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": "

Updates the specified TagOption.

" }, "shapes": { "AcceptLanguage": { @@ -68,11 +75,13 @@ "CreatePortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "CreatePortfolioShareInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "CreateProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "CreateProvisionedProductPlanInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "CreateProvisioningArtifactInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DeleteConstraintInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DeletePortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DeletePortfolioShareInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DeleteProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DeleteProvisionedProductPlanInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DeleteProvisioningArtifactInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DescribeConstraintInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DescribeCopyProductStatusInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", @@ -81,11 +90,13 @@ "DescribeProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DescribeProductViewInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DescribeProvisionedProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DescribeProvisionedProductPlanInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DescribeProvisioningArtifactInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DescribeProvisioningParametersInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DescribeRecordInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DisassociatePrincipalFromPortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "DisassociateProductFromPortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "ExecuteProvisionedProductPlanInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "ListAcceptedPortfolioSharesInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "ListConstraintsForPortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "ListLaunchPathsInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", @@ -93,6 +104,7 @@ "ListPortfoliosForProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "ListPortfoliosInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "ListPrincipalsForPortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "ListProvisionedProductPlansInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "ListProvisioningArtifactsInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "ListRecordHistoryInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "ProvisionProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", @@ -100,6 +112,7 @@ "ScanProvisionedProductsInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "SearchProductsAsAdminInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "SearchProductsInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "SearchProvisionedProductsInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "TerminateProvisionedProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "UpdateConstraintInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", "UpdatePortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", @@ -119,22 +132,24 @@ } }, "AccessLevelFilter": { - "base": "

The access level to limit results.

", + "base": "

The access level to use to filter results.

", "refs": { - "ListRecordHistoryInput$AccessLevelFilter": "

The access level for obtaining results. If left unspecified, User level access is used.

", - "ScanProvisionedProductsInput$AccessLevelFilter": "

The access level for obtaining results. If left unspecified, User level access is used.

" + "ListProvisionedProductPlansInput$AccessLevelFilter": "

The access level to use to obtain results. The default is User.

", + "ListRecordHistoryInput$AccessLevelFilter": "

The access level to use to obtain results. The default is User.

", + "ScanProvisionedProductsInput$AccessLevelFilter": "

The access level to use to obtain results. The default is User.

", + "SearchProvisionedProductsInput$AccessLevelFilter": "

The access level to use to obtain results. The default is User.

" } }, "AccessLevelFilterKey": { "base": null, "refs": { - "AccessLevelFilter$Key": "

Specifies the access level.

Account allows results at the account level.

Role allows results based on the federated role of the specified user.

User allows results limited to the specified user.

" + "AccessLevelFilter$Key": "

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.

" } }, "AccessLevelFilterValue": { "base": null, "refs": { - "AccessLevelFilter$Value": "

Specifies the user to which the access level applies. A value of Self is currently supported.

" + "AccessLevelFilter$Value": "

The user to which the access level applies. The only supported value is Self.

" } }, "AccountId": { @@ -142,23 +157,23 @@ "refs": { "AccountIds$member": null, "ConstraintDetail$Owner": "

The owner of the constraint.

", - "CreatePortfolioShareInput$AccountId": "

The account ID with which to share the portfolio.

", - "DeletePortfolioShareInput$AccountId": "

The account ID associated with the share to delete.

" + "CreatePortfolioShareInput$AccountId": "

The AWS account ID.

", + "DeletePortfolioShareInput$AccountId": "

The AWS account ID.

" } }, "AccountIds": { "base": null, "refs": { - "ListPortfolioAccessOutput$AccountIds": "

List of account IDs associated with access to the portfolio.

" + "ListPortfolioAccessOutput$AccountIds": "

Information about the AWS accounts with access to the portfolio.

" } }, "AddTags": { "base": null, "refs": { - "CreatePortfolioInput$Tags": "

Tags to associate with the new portfolio.

", - "CreateProductInput$Tags": "

Tags to associate with the new product.

", - "UpdatePortfolioInput$AddTags": "

Tags to add to the existing list of tags associated with the portfolio.

", - "UpdateProductInput$AddTags": "

Tags to add to the existing list of tags associated with the product.

" + "CreatePortfolioInput$Tags": "

One or more tags.

", + "CreateProductInput$Tags": "

One or more tags.

", + "UpdatePortfolioInput$AddTags": "

The tags to add.

", + "UpdateProductInput$AddTags": "

The tags to add to the product.

" } }, "AllowedValue": { @@ -215,48 +230,78 @@ "ProductViewAggregationValue$Value": "

The value of the product view aggregation.

" } }, + "CausingEntity": { + "base": null, + "refs": { + "ResourceChangeDetail$CausingEntity": "

The ID of the entity that caused the change.

" + } + }, + "ChangeAction": { + "base": null, + "refs": { + "ResourceChange$Action": "

The change action.

" + } + }, + "CloudWatchDashboard": { + "base": "

Information about a CloudWatch dashboard.

", + "refs": { + "CloudWatchDashboards$member": null + } + }, + "CloudWatchDashboardName": { + "base": null, + "refs": { + "CloudWatchDashboard$Name": "

The name of the CloudWatch dashboard.

" + } + }, + "CloudWatchDashboards": { + "base": null, + "refs": { + "DescribeProvisionedProductOutput$CloudWatchDashboards": "

Any CloudWatch dashboards that were created when provisioning the product.

" + } + }, "ConstraintDescription": { "base": null, "refs": { - "ConstraintDetail$Description": "

The text description of the constraint.

", - "ConstraintSummary$Description": "

The text description of the constraint.

", - "CreateConstraintInput$Description": "

The text description of the constraint.

", - "UpdateConstraintInput$Description": "

The updated text description of the constraint.

" + "ConstraintDetail$Description": "

The description of the constraint.

", + "ConstraintSummary$Description": "

The description of the constraint.

", + "CreateConstraintInput$Description": "

The description of the constraint.

", + "UpdateConstraintInput$Description": "

The updated description of the constraint.

" } }, "ConstraintDetail": { - "base": "

Detailed constraint information.

", + "base": "

Information about a constraint.

", "refs": { "ConstraintDetails$member": null, - "CreateConstraintOutput$ConstraintDetail": "

The resulting detailed constraint information.

", - "DescribeConstraintOutput$ConstraintDetail": "

Detailed constraint information.

", - "UpdateConstraintOutput$ConstraintDetail": "

The resulting detailed constraint information.

" + "CreateConstraintOutput$ConstraintDetail": "

Information about the constraint.

", + "DescribeConstraintOutput$ConstraintDetail": "

Information about the constraint.

", + "UpdateConstraintOutput$ConstraintDetail": "

Information about the constraint.

" } }, "ConstraintDetails": { "base": null, "refs": { - "ListConstraintsForPortfolioOutput$ConstraintDetails": "

List of detailed constraint information objects.

" + "ListConstraintsForPortfolioOutput$ConstraintDetails": "

Information about the constraints.

" } }, "ConstraintParameters": { "base": null, "refs": { - "CreateConstraintInput$Parameters": "

The constraint parameters. Expected values vary depending on which Type is specified. For more information, see the Examples section.

For Type LAUNCH, the RoleArn property is required.

For Type NOTIFICATION, the NotificationArns property is required.

For Type TEMPLATE, the Rules property is required.

", - "CreateConstraintOutput$ConstraintParameters": "

The resulting constraint parameters.

", - "DescribeConstraintOutput$ConstraintParameters": "

The current parameters associated with the specified constraint.

", - "UpdateConstraintOutput$ConstraintParameters": "

The resulting updated constraint parameters.

" + "CreateConstraintInput$Parameters": "

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.

", + "CreateConstraintOutput$ConstraintParameters": "

The constraint parameters.

", + "DescribeConstraintOutput$ConstraintParameters": "

The constraint parameters.

", + "UpdateConstraintOutput$ConstraintParameters": "

The constraint parameters.

" } }, "ConstraintSummaries": { "base": null, "refs": { - "DescribeProvisioningParametersOutput$ConstraintSummaries": "

The list of constraint summaries that apply to provisioning this product.

", - "LaunchPathSummary$ConstraintSummaries": "

List of constraints on the portfolio-product relationship.

" + "DescribeProvisioningParametersOutput$ConstraintSummaries": "

Information about the constraints used to provision the product.

", + "LaunchPathSummary$ConstraintSummaries": "

The constraints on the portfolio-product relationship.

" } }, "ConstraintSummary": { - "base": "

An administrator-specified constraint to apply when provisioning a product.

", + "base": "

Summary information about a constraint.

", "refs": { "ConstraintSummaries$member": null } @@ -264,9 +309,9 @@ "ConstraintType": { "base": null, "refs": { - "ConstraintDetail$Type": "

The type of the constraint.

", - "ConstraintSummary$Type": "

The type of the constraint.

", - "CreateConstraintInput$Type": "

The type of the constraint. Case-sensitive valid values are: LAUNCH, NOTIFICATION, or TEMPLATE.

" + "ConstraintDetail$Type": "

The type of constraint.

  • LAUNCH

  • NOTIFICATION

  • TEMPLATE

", + "ConstraintSummary$Type": "

The type of constraint.

  • LAUNCH

  • NOTIFICATION

  • TEMPLATE

", + "CreateConstraintInput$Type": "

The type of constraint.

  • LAUNCH

  • NOTIFICATION

  • TEMPLATE

" } }, "CopyOption": { @@ -337,6 +382,16 @@ "refs": { } }, + "CreateProvisionedProductPlanInput": { + "base": null, + "refs": { + } + }, + "CreateProvisionedProductPlanOutput": { + "base": null, + "refs": { + } + }, "CreateProvisioningArtifactInput": { "base": null, "refs": { @@ -360,22 +415,24 @@ "CreatedTime": { "base": null, "refs": { - "ProductViewDetail$CreatedTime": "

The UTC timestamp of the creation time.

", - "ProvisionedProductDetail$CreatedTime": "

The UTC timestamp of the creation time.

", - "RecordDetail$CreatedTime": "

The UTC timestamp of the creation time.

" + "ProductViewDetail$CreatedTime": "

The UTC time stamp of the creation time.

", + "ProvisionedProductAttribute$CreatedTime": "

The UTC time stamp of the creation time.

", + "ProvisionedProductDetail$CreatedTime": "

The UTC time stamp of the creation time.

", + "ProvisionedProductPlanDetails$CreatedTime": "

The UTC time stamp of the creation time.

", + "RecordDetail$CreatedTime": "

The UTC time stamp of the creation time.

" } }, "CreationTime": { "base": null, "refs": { - "PortfolioDetail$CreatedTime": "

The UTC timestamp of the creation time.

", - "ProvisioningArtifactDetail$CreatedTime": "

The UTC timestamp of the creation time.

" + "PortfolioDetail$CreatedTime": "

The UTC time stamp of the creation time.

", + "ProvisioningArtifactDetail$CreatedTime": "

The UTC time stamp of the creation time.

" } }, "DefaultValue": { "base": null, "refs": { - "ProvisioningArtifactParameter$DefaultValue": "

The default value for this parameter.

" + "ProvisioningArtifactParameter$DefaultValue": "

The default value.

" } }, "DeleteConstraintInput": { @@ -418,6 +475,16 @@ "refs": { } }, + "DeleteProvisionedProductPlanInput": { + "base": null, + "refs": { + } + }, + "DeleteProvisionedProductPlanOutput": { + "base": null, + "refs": { + } + }, "DeleteProvisioningArtifactInput": { "base": null, "refs": { @@ -428,6 +495,16 @@ "refs": { } }, + "DeleteTagOptionInput": { + "base": null, + "refs": { + } + }, + "DeleteTagOptionOutput": { + "base": null, + "refs": { + } + }, "DescribeConstraintInput": { "base": null, "refs": { @@ -498,6 +575,16 @@ "refs": { } }, + "DescribeProvisionedProductPlanInput": { + "base": null, + "refs": { + } + }, + "DescribeProvisionedProductPlanOutput": { + "base": null, + "refs": { + } + }, "DescribeProvisioningArtifactInput": { "base": null, "refs": { @@ -541,8 +628,8 @@ "Description": { "base": null, "refs": { - "ProvisioningArtifactParameter$Description": "

The text description of the parameter.

", - "RecordOutput$Description": "

The text description of the output.

" + "ProvisioningArtifactParameter$Description": "

The description of the parameter.

", + "RecordOutput$Description": "

The description of the output.

" } }, "DisassociatePrincipalFromPortfolioInput": { @@ -589,13 +676,29 @@ "ErrorDescription": { "base": null, "refs": { - "RecordError$Description": "

The text description of the error.

" + "RecordError$Description": "

The description of the error.

" + } + }, + "EvaluationType": { + "base": null, + "refs": { + "ResourceChangeDetail$Evaluation": "

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.

" + } + }, + "ExecuteProvisionedProductPlanInput": { + "base": null, + "refs": { + } + }, + "ExecuteProvisionedProductPlanOutput": { + "base": null, + "refs": { } }, "HasDefaultPath": { "base": null, "refs": { - "ProductViewSummary$HasDefaultPath": "

A value of false indicates that the product does not have a default path, while a value of true indicates that it does. If it's false, call ListLaunchPaths to disambiguate between paths. If true, ListLaunchPaths is not required, and the output of the ProductViewSummary operation can be used directly with DescribeProvisioningParameters.

" + "ProductViewSummary$HasDefaultPath": "

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.

" } }, "Id": { @@ -605,91 +708,117 @@ "AssociatePrincipalWithPortfolioInput$PortfolioId": "

The portfolio identifier.

", "AssociateProductWithPortfolioInput$ProductId": "

The product identifier.

", "AssociateProductWithPortfolioInput$PortfolioId": "

The portfolio identifier.

", - "AssociateProductWithPortfolioInput$SourcePortfolioId": "

The identifier of the source portfolio to use with this association.

", + "AssociateProductWithPortfolioInput$SourcePortfolioId": "

The identifier of the source portfolio.

", "ConstraintDetail$ConstraintId": "

The identifier of the constraint.

", - "CopyProductInput$TargetProductId": "

The ID of the target product. By default, a new product is created.

", - "CopyProductOutput$CopyProductToken": "

A unique token to pass to DescribeCopyProductStatus to track the progress of the operation.

", + "CopyProductInput$TargetProductId": "

The identifier of the target product. By default, a new product is created.

", + "CopyProductOutput$CopyProductToken": "

The token to use to track the progress of the operation.

", "CreateConstraintInput$PortfolioId": "

The portfolio identifier.

", "CreateConstraintInput$ProductId": "

The product identifier.

", "CreatePortfolioShareInput$PortfolioId": "

The portfolio identifier.

", + "CreateProvisionedProductPlanInput$PathId": "

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.

", + "CreateProvisionedProductPlanInput$ProductId": "

The product identifier.

", + "CreateProvisionedProductPlanInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", + "CreateProvisionedProductPlanOutput$PlanId": "

The plan identifier.

", + "CreateProvisionedProductPlanOutput$ProvisionProductId": "

The product identifier.

", + "CreateProvisionedProductPlanOutput$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", "CreateProvisioningArtifactInput$ProductId": "

The product identifier.

", - "DeleteConstraintInput$Id": "

The identifier of the constraint to delete.

", - "DeletePortfolioInput$Id": "

The identifier of the portfolio for the delete request.

", + "DeleteConstraintInput$Id": "

The identifier of the constraint.

", + "DeletePortfolioInput$Id": "

The portfolio identifier.

", "DeletePortfolioShareInput$PortfolioId": "

The portfolio identifier.

", - "DeleteProductInput$Id": "

The identifier of the product for the delete request.

", + "DeleteProductInput$Id": "

The product identifier.

", + "DeleteProvisionedProductPlanInput$PlanId": "

The plan identifier.

", "DeleteProvisioningArtifactInput$ProductId": "

The product identifier.

", - "DeleteProvisioningArtifactInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact for the delete request. This is sometimes referred to as the product version.

", + "DeleteProvisioningArtifactInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", "DescribeConstraintInput$Id": "

The identifier of the constraint.

", - "DescribeCopyProductStatusInput$CopyProductToken": "

The token returned from the call to CopyProduct that initiated the operation.

", - "DescribeCopyProductStatusOutput$TargetProductId": "

The ID of the copied product.

", - "DescribePortfolioInput$Id": "

The identifier of the portfolio for which to retrieve information.

", - "DescribeProductAsAdminInput$Id": "

The identifier of the product for which to retrieve information.

", - "DescribeProductInput$Id": "

The ProductId of the product to describe.

", - "DescribeProductViewInput$Id": "

The ProductViewId of the product to describe.

", + "DescribeCopyProductStatusInput$CopyProductToken": "

The token for the copy product operation. This token is returned by CopyProduct.

", + "DescribeCopyProductStatusOutput$TargetProductId": "

The identifier of the copied product.

", + "DescribePortfolioInput$Id": "

The portfolio identifier.

", + "DescribeProductAsAdminInput$Id": "

The product identifier.

", + "DescribeProductInput$Id": "

The product identifier.

", + "DescribeProductViewInput$Id": "

The product view identifier.

", "DescribeProvisionedProductInput$Id": "

The provisioned product identifier.

", - "DescribeProvisioningArtifactInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact. This is sometimes referred to as the product version.

", + "DescribeProvisionedProductPlanInput$PlanId": "

The plan identifier.

", + "DescribeProvisioningArtifactInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", "DescribeProvisioningArtifactInput$ProductId": "

The product identifier.

", "DescribeProvisioningParametersInput$ProductId": "

The product identifier.

", - "DescribeProvisioningParametersInput$ProvisioningArtifactId": "

The provisioning artifact identifier for this product. This is sometimes referred to as the product version.

", - "DescribeProvisioningParametersInput$PathId": "

The identifier of the path for this product's provisioning. This value is optional if the product has a default path, and is required if there is more than one path for the specified product.

", - "DescribeRecordInput$Id": "

The record identifier of the ProvisionedProduct object for which to retrieve output information. This is the RecordDetail.RecordId obtained from the request operation's response.

", + "DescribeProvisioningParametersInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", + "DescribeProvisioningParametersInput$PathId": "

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.

", + "DescribeRecordInput$Id": "

The record identifier of the provisioned product. This identifier is returned by the request operation.

", "DisassociatePrincipalFromPortfolioInput$PortfolioId": "

The portfolio identifier.

", "DisassociateProductFromPortfolioInput$ProductId": "

The product identifier.

", "DisassociateProductFromPortfolioInput$PortfolioId": "

The portfolio identifier.

", - "LaunchPathSummary$Id": "

The unique identifier of the product path.

", + "ExecuteProvisionedProductPlanInput$PlanId": "

The plan identifier.

", + "LaunchPathSummary$Id": "

The identifier of the product path.

", "ListConstraintsForPortfolioInput$PortfolioId": "

The portfolio identifier.

", "ListConstraintsForPortfolioInput$ProductId": "

The product identifier.

", - "ListLaunchPathsInput$ProductId": "

The product identifier. Identifies the product for which to retrieve LaunchPathSummaries information.

", + "ListLaunchPathsInput$ProductId": "

The product identifier.

", "ListPortfolioAccessInput$PortfolioId": "

The portfolio identifier.

", "ListPortfoliosForProductInput$ProductId": "

The product identifier.

", "ListPrincipalsForPortfolioInput$PortfolioId": "

The portfolio identifier.

", + "ListProvisionedProductPlansInput$ProvisionProductId": "

The product identifier.

", "ListProvisioningArtifactsInput$ProductId": "

The product identifier.

", - "PortfolioDetail$Id": "

The identifier for the portfolio.

", + "PortfolioDetail$Id": "

The portfolio identifier.

", "ProductViewSummary$Id": "

The product view identifier.

", "ProductViewSummary$ProductId": "

The product identifier.

", "ProvisionProductInput$ProductId": "

The product identifier.

", - "ProvisionProductInput$ProvisioningArtifactId": "

The provisioning artifact identifier for this product. This is sometimes referred to as the product version.

", - "ProvisionProductInput$PathId": "

The identifier of the path for this product's provisioning. This value is optional if the product has a default path, and is required if there is more than one path for the specified product.

", - "ProvisioningArtifact$Id": "

The identifier for the artifact. This is sometimes referred to as the product version.

", - "ProvisioningArtifactDetail$Id": "

The identifier of the provisioning artifact. This is sometimes referred to as the product version.

", + "ProvisionProductInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", + "ProvisionProductInput$PathId": "

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.

", + "ProvisionedProductAttribute$Id": "

The identifier of the provisioned product.

", + "ProvisionedProductAttribute$LastRecordId": "

The record identifier of the last request performed on this provisioned product.

", + "ProvisionedProductAttribute$ProductId": "

The product identifier.

", + "ProvisionedProductAttribute$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", + "ProvisionedProductPlanDetails$PathId": "

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.

", + "ProvisionedProductPlanDetails$ProductId": "

The product identifier.

", + "ProvisionedProductPlanDetails$PlanId": "

The plan identifier.

", + "ProvisionedProductPlanDetails$ProvisionProductId": "

The product identifier.

", + "ProvisionedProductPlanDetails$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", + "ProvisionedProductPlanSummary$PlanId": "

The plan identifier.

", + "ProvisionedProductPlanSummary$ProvisionProductId": "

The product identifier.

", + "ProvisionedProductPlanSummary$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", + "ProvisioningArtifact$Id": "

The identifier of the provisioning artifact.

", + "ProvisioningArtifactDetail$Id": "

The identifier of the provisioning artifact.

", "ProvisioningArtifactSummary$Id": "

The identifier of the provisioning artifact.

", - "RecordDetail$RecordId": "

The identifier of the ProvisionedProduct object record.

", - "RecordDetail$ProvisionedProductId": "

The identifier of the ProvisionedProduct object.

", + "RecordDetail$RecordId": "

The identifier of the record.

", + "RecordDetail$ProvisionedProductId": "

The identifier of the provisioned product.

", "RecordDetail$ProductId": "

The product identifier.

", - "RecordDetail$ProvisioningArtifactId": "

The provisioning artifact identifier for this product. This is sometimes referred to as the product version.

", - "RecordDetail$PathId": "

The identifier of the path for this product's provisioning.

", + "RecordDetail$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", + "RecordDetail$PathId": "

The path identifier.

", "RejectPortfolioShareInput$PortfolioId": "

The portfolio identifier.

", "SearchProductsAsAdminInput$PortfolioId": "

The portfolio identifier.

", - "TerminateProvisionedProductInput$ProvisionedProductId": "

The identifier of the ProvisionedProduct object to terminate. Specify either ProvisionedProductName or ProvisionedProductId, but not both.

", - "UpdateConstraintInput$Id": "

The identifier of the constraint to update.

", - "UpdatePortfolioInput$Id": "

The identifier of the portfolio for the update request.

", - "UpdateProductInput$Id": "

The identifier of the product for the update request.

", - "UpdateProvisionedProductInput$ProvisionedProductId": "

The identifier of the ProvisionedProduct object to update. Specify either ProvisionedProductName or ProvisionedProductId, but not both.

", - "UpdateProvisionedProductInput$ProductId": "

The identifier of the ProvisionedProduct object.

", - "UpdateProvisionedProductInput$ProvisioningArtifactId": "

The provisioning artifact identifier for this product. This is sometimes referred to as the product version.

", - "UpdateProvisionedProductInput$PathId": "

The identifier of the path to use in the updated ProvisionedProduct object. This value is optional if the product has a default path, and is required if there is more than one path for the specified product.

", + "TerminateProvisionedProductInput$ProvisionedProductId": "

The identifier of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

", + "UpdateConstraintInput$Id": "

The identifier of the constraint.

", + "UpdatePortfolioInput$Id": "

The portfolio identifier.

", + "UpdateProductInput$Id": "

The product identifier.

", + "UpdateProvisionedProductInput$ProvisionedProductId": "

The identifier of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

", + "UpdateProvisionedProductInput$ProductId": "

The identifier of the provisioned product.

", + "UpdateProvisionedProductInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", + "UpdateProvisionedProductInput$PathId": "

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.

", "UpdateProvisioningArtifactInput$ProductId": "

The product identifier.

", - "UpdateProvisioningArtifactInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact for the update request. This is sometimes referred to as the product version.

" + "UpdateProvisioningArtifactInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

" } }, "IdempotencyToken": { "base": null, "refs": { - "CopyProductInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", - "CreateConstraintInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", - "CreatePortfolioInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", - "CreateProductInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", - "CreateProvisioningArtifactInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", - "ProvisionProductInput$ProvisionToken": "

An idempotency token that uniquely identifies the provisioning request.

", - "ProvisionedProductDetail$IdempotencyToken": "

A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", - "TerminateProvisionedProductInput$TerminateToken": "

An idempotency token that uniquely identifies the termination request. This token is only valid during the termination process. After the ProvisionedProduct object is terminated, further requests to terminate the same ProvisionedProduct object always return ResourceNotFound regardless of the value of TerminateToken.

", + "CopyProductInput$IdempotencyToken": "

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.

", + "CreateConstraintInput$IdempotencyToken": "

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.

", + "CreatePortfolioInput$IdempotencyToken": "

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.

", + "CreateProductInput$IdempotencyToken": "

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.

", + "CreateProvisionedProductPlanInput$IdempotencyToken": "

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.

", + "CreateProvisioningArtifactInput$IdempotencyToken": "

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.

", + "ExecuteProvisionedProductPlanInput$IdempotencyToken": "

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.

", + "ProvisionProductInput$ProvisionToken": "

An idempotency token that uniquely identifies the provisioning request.

", + "ProvisionedProductAttribute$IdempotencyToken": "

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.

", + "ProvisionedProductDetail$IdempotencyToken": "

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.

", + "TerminateProvisionedProductInput$TerminateToken": "

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.

", "UpdateProvisionedProductInput$UpdateToken": "

The idempotency token that uniquely identifies the provisioning update request.

" } }, "IgnoreErrors": { "base": null, "refs": { - "TerminateProvisionedProductInput$IgnoreErrors": "

If set to true, AWS Service Catalog stops managing the specified ProvisionedProduct object even if it cannot delete the underlying resources.

" + "DeleteProvisionedProductPlanInput$IgnoreErrors": "

If set to true, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources.

", + "TerminateProvisionedProductInput$IgnoreErrors": "

If set to true, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources.

" } }, "InstructionType": { @@ -705,35 +834,35 @@ } }, "InvalidParametersException": { - "base": "

One or more parameters provided to the operation are invalid.

", + "base": "

One or more parameters provided to the operation are not valid.

", "refs": { } }, "InvalidStateException": { - "base": "

An attempt was made to modify a resource that is in an invalid state. Inspect the resource you are using for this operation to ensure that all resource states are valid before retrying the operation.

", + "base": "

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.

", "refs": { } }, "LastRequestId": { "base": null, "refs": { - "ProvisionedProductDetail$LastRecordId": "

The record identifier of the last request performed on this ProvisionedProduct object.

" + "ProvisionedProductDetail$LastRecordId": "

The record identifier of the last request performed on this provisioned product.

" } }, "LaunchPathSummaries": { "base": null, "refs": { - "ListLaunchPathsOutput$LaunchPathSummaries": "

List of launch path information summaries for the specified PageToken.

" + "ListLaunchPathsOutput$LaunchPathSummaries": "

Information about the launch path.

" } }, "LaunchPathSummary": { - "base": "

Summary information about a path for a user to have access to a specified product.

", + "base": "

Summary information about a product path for a user.

", "refs": { "LaunchPathSummaries$member": null } }, "LimitExceededException": { - "base": "

The current limits of the service would have been exceeded by this operation. Reduce the resource use or increase the service limits and retry the operation.

", + "base": "

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.

", "refs": { } }, @@ -807,6 +936,16 @@ "refs": { } }, + "ListProvisionedProductPlansInput": { + "base": null, + "refs": { + } + }, + "ListProvisionedProductPlansOutput": { + "base": null, + "refs": { + } + }, "ListProvisioningArtifactsInput": { "base": null, "refs": { @@ -828,9 +967,9 @@ } }, "ListRecordHistorySearchFilter": { - "base": "

The search filter to limit results when listing request history records.

", + "base": "

The search filter to use when listing history records.

", "refs": { - "ListRecordHistoryInput$SearchFilter": "

The filter to limit search results.

" + "ListRecordHistoryInput$SearchFilter": "

The search filter to scope the results.

" } }, "ListResourcesForTagOptionInput": { @@ -844,9 +983,9 @@ } }, "ListTagOptionsFilters": { - "base": "

The ListTagOptions filters.

", + "base": "

Filters to use when listing TagOptions.

", "refs": { - "ListTagOptionsInput$Filters": "

The list of filters with which to limit search results. If no search filters are specified, the output is all TagOptions.

" + "ListTagOptionsInput$Filters": "

The search filters. If no search filters are specified, the output includes all TagOptions.

" } }, "ListTagOptionsInput": { @@ -859,6 +998,12 @@ "refs": { } }, + "LogicalResourceId": { + "base": null, + "refs": { + "ResourceChange$LogicalResourceId": "

The ID of the resource, as defined in the CloudFormation template.

" + } + }, "NoEcho": { "base": null, "refs": { @@ -874,7 +1019,9 @@ "NotificationArns": { "base": null, "refs": { - "ProvisionProductInput$NotificationArns": "

Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.

" + "CreateProvisionedProductPlanInput$NotificationArns": "

Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.

", + "ProvisionProductInput$NotificationArns": "

Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.

", + "ProvisionedProductPlanDetails$NotificationArns": "

Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.

" } }, "OutputKey": { @@ -892,66 +1039,74 @@ "PageSize": { "base": null, "refs": { - "DescribeRecordInput$PageSize": "

The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

", - "ListAcceptedPortfolioSharesInput$PageSize": "

The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

", - "ListConstraintsForPortfolioInput$PageSize": "

The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

", - "ListLaunchPathsInput$PageSize": "

The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

", - "ListPortfoliosForProductInput$PageSize": "

The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

", - "ListPortfoliosInput$PageSize": "

The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

", - "ListPrincipalsForPortfolioInput$PageSize": "

The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

", - "ListRecordHistoryInput$PageSize": "

The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

", - "ListResourcesForTagOptionInput$PageSize": "

The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

", - "ListTagOptionsInput$PageSize": "

The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

", - "ScanProvisionedProductsInput$PageSize": "

The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

", - "SearchProductsAsAdminInput$PageSize": "

The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

", - "SearchProductsInput$PageSize": "

The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

" + "DescribeProvisionedProductPlanInput$PageSize": "

The maximum number of items to return with this call.

", + "DescribeRecordInput$PageSize": "

The maximum number of items to return with this call.

", + "ListAcceptedPortfolioSharesInput$PageSize": "

The maximum number of items to return with this call.

", + "ListConstraintsForPortfolioInput$PageSize": "

The maximum number of items to return with this call.

", + "ListLaunchPathsInput$PageSize": "

The maximum number of items to return with this call.

", + "ListPortfoliosForProductInput$PageSize": "

The maximum number of items to return with this call.

", + "ListPortfoliosInput$PageSize": "

The maximum number of items to return with this call.

", + "ListPrincipalsForPortfolioInput$PageSize": "

The maximum number of items to return with this call.

", + "ListProvisionedProductPlansInput$PageSize": "

The maximum number of items to return with this call.

", + "ListRecordHistoryInput$PageSize": "

The maximum number of items to return with this call.

", + "ListResourcesForTagOptionInput$PageSize": "

The maximum number of items to return with this call.

", + "ListTagOptionsInput$PageSize": "

The maximum number of items to return with this call.

", + "ScanProvisionedProductsInput$PageSize": "

The maximum number of items to return with this call.

", + "SearchProductsAsAdminInput$PageSize": "

The maximum number of items to return with this call.

", + "SearchProductsInput$PageSize": "

The maximum number of items to return with this call.

" } }, "PageToken": { "base": null, "refs": { - "DescribeRecordInput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "DescribeRecordOutput$NextPageToken": "

The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "ListAcceptedPortfolioSharesInput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "ListAcceptedPortfolioSharesOutput$NextPageToken": "

The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "ListConstraintsForPortfolioInput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "ListConstraintsForPortfolioOutput$NextPageToken": "

The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "ListLaunchPathsInput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "ListLaunchPathsOutput$NextPageToken": "

The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "ListPortfolioAccessOutput$NextPageToken": "

The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "ListPortfoliosForProductInput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "ListPortfoliosForProductOutput$NextPageToken": "

The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "ListPortfoliosInput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "ListPortfoliosOutput$NextPageToken": "

The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "ListPrincipalsForPortfolioInput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "ListPrincipalsForPortfolioOutput$NextPageToken": "

The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "ListProvisioningArtifactsOutput$NextPageToken": "

The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "ListRecordHistoryInput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "ListRecordHistoryOutput$NextPageToken": "

The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "ListResourcesForTagOptionInput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "ListResourcesForTagOptionOutput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "ListTagOptionsInput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "ListTagOptionsOutput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "ScanProvisionedProductsInput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "ScanProvisionedProductsOutput$NextPageToken": "

The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "SearchProductsAsAdminInput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "SearchProductsAsAdminOutput$NextPageToken": "

The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "SearchProductsInput$PageToken": "

The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

", - "SearchProductsOutput$NextPageToken": "

The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + "DescribeProvisionedProductPlanInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "DescribeProvisionedProductPlanOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "DescribeRecordInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "DescribeRecordOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "ListAcceptedPortfolioSharesInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "ListAcceptedPortfolioSharesOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "ListConstraintsForPortfolioInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "ListConstraintsForPortfolioOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "ListLaunchPathsInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "ListLaunchPathsOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "ListPortfolioAccessOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "ListPortfoliosForProductInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "ListPortfoliosForProductOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "ListPortfoliosInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "ListPortfoliosOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "ListPrincipalsForPortfolioInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "ListPrincipalsForPortfolioOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "ListProvisionedProductPlansInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "ListProvisionedProductPlansOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "ListProvisioningArtifactsOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "ListRecordHistoryInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "ListRecordHistoryOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "ListResourcesForTagOptionInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "ListResourcesForTagOptionOutput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "ListTagOptionsInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "ListTagOptionsOutput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "ScanProvisionedProductsInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "ScanProvisionedProductsOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "SearchProductsAsAdminInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "SearchProductsAsAdminOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "SearchProductsInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "SearchProductsOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

", + "SearchProvisionedProductsInput$PageToken": "

The page token for the next set of results. To retrieve the first set of results, use null.

", + "SearchProvisionedProductsOutput$NextPageToken": "

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" } }, "ParameterConstraints": { "base": "

The constraints that the administrator has put on the parameter.

", "refs": { - "ProvisioningArtifactParameter$ParameterConstraints": "

The list of constraints that the administrator has put on the parameter.

" + "ProvisioningArtifactParameter$ParameterConstraints": "

Constraints that the administrator has put on a parameter.

" } }, "ParameterKey": { "base": null, "refs": { - "ProvisioningArtifactParameter$ParameterKey": "

The parameter key.

", - "ProvisioningParameter$Key": "

The ProvisioningArtifactParameter.ParameterKey parameter from DescribeProvisioningParameters.

", - "UpdateProvisioningParameter$Key": "

The ProvisioningArtifactParameter.ParameterKey parameter from DescribeProvisioningParameters.

" + "ProvisioningArtifactParameter$ParameterKey": "

The parameter key.

", + "ProvisioningParameter$Key": "

The parameter key.

", + "UpdateProvisioningParameter$Key": "

The parameter key.

" } }, "ParameterType": { @@ -963,33 +1118,51 @@ "ParameterValue": { "base": null, "refs": { - "ProvisioningParameter$Value": "

The value to use for provisioning. Any constraints on this value can be found in ProvisioningArtifactParameter for Key.

", - "UpdateProvisioningParameter$Value": "

The value to use for updating the product provisioning. Any constraints on this value can be found in the ProvisioningArtifactParameter parameter for Key.

" + "ProvisioningParameter$Value": "

The parameter value.

", + "UpdateProvisioningParameter$Value": "

The parameter value.

" + } + }, + "PhysicalId": { + "base": null, + "refs": { + "ProvisionedProductAttribute$PhysicalId": "

The assigned identifier for the resource, such as an EC2 instance ID or an S3 bucket name.

" + } + }, + "PhysicalResourceId": { + "base": null, + "refs": { + "ResourceChange$PhysicalResourceId": "

The ID of the resource, if it was already created.

" + } + }, + "PlanResourceType": { + "base": null, + "refs": { + "ResourceChange$ResourceType": "

The type of resource.

" } }, "PortfolioDescription": { "base": null, "refs": { - "CreatePortfolioInput$Description": "

The text description of the portfolio.

", - "PortfolioDetail$Description": "

The text description of the portfolio.

", - "UpdatePortfolioInput$Description": "

The updated text description of the portfolio.

" + "CreatePortfolioInput$Description": "

The description of the portfolio.

", + "PortfolioDetail$Description": "

The description of the portfolio.

", + "UpdatePortfolioInput$Description": "

The updated description of the portfolio.

" } }, "PortfolioDetail": { - "base": "

Detailed portfolio information.

", + "base": "

Information about a portfolio.

", "refs": { - "CreatePortfolioOutput$PortfolioDetail": "

The resulting detailed portfolio information.

", - "DescribePortfolioOutput$PortfolioDetail": "

Detailed portfolio information.

", + "CreatePortfolioOutput$PortfolioDetail": "

Information about the portfolio.

", + "DescribePortfolioOutput$PortfolioDetail": "

Information about the portfolio.

", "PortfolioDetails$member": null, - "UpdatePortfolioOutput$PortfolioDetail": "

The resulting detailed portfolio information.

" + "UpdatePortfolioOutput$PortfolioDetail": "

Information about the portfolio.

" } }, "PortfolioDetails": { "base": null, "refs": { - "ListAcceptedPortfolioSharesOutput$PortfolioDetails": "

List of detailed portfolio information objects.

", - "ListPortfoliosForProductOutput$PortfolioDetails": "

List of detailed portfolio information objects.

", - "ListPortfoliosOutput$PortfolioDetails": "

List of detailed portfolio information objects.

" + "ListAcceptedPortfolioSharesOutput$PortfolioDetails": "

Information about the portfolios.

", + "ListPortfoliosForProductOutput$PortfolioDetails": "

Information about the portfolios.

", + "ListPortfoliosOutput$PortfolioDetails": "

Information about the portfolios.

" } }, "PortfolioDisplayName": { @@ -1003,11 +1176,17 @@ "PortfolioName": { "base": null, "refs": { - "LaunchPathSummary$Name": "

Corresponds to the name of the portfolio to which the user was assigned.

" + "LaunchPathSummary$Name": "

The name of the portfolio to which the user was assigned.

" + } + }, + "PortfolioShareType": { + "base": null, + "refs": { + "ListAcceptedPortfolioSharesInput$PortfolioShareType": "

The type of shared portfolios to list. The default is to list imported portfolios.

  • AWS_SERVICECATALOG - List default portfolios

  • IMPORTED - List imported portfolios

" } }, "Principal": { - "base": "

A principal's ARN and type.

", + "base": "

Information about a principal.

", "refs": { "Principals$member": null } @@ -1015,16 +1194,16 @@ "PrincipalARN": { "base": null, "refs": { - "AssociatePrincipalWithPortfolioInput$PrincipalARN": "

The ARN representing the principal (IAM user, role, or group).

", - "DisassociatePrincipalFromPortfolioInput$PrincipalARN": "

The ARN representing the principal (IAM user, role, or group).

", - "Principal$PrincipalARN": "

The ARN representing the principal (IAM user, role, or group).

" + "AssociatePrincipalWithPortfolioInput$PrincipalARN": "

The ARN of the principal (IAM user, role, or group).

", + "DisassociatePrincipalFromPortfolioInput$PrincipalARN": "

The ARN of the principal (IAM user, role, or group).

", + "Principal$PrincipalARN": "

The ARN of the principal (IAM user, role, or group).

" } }, "PrincipalType": { "base": null, "refs": { - "AssociatePrincipalWithPortfolioInput$PrincipalType": "

The principal type. Must be IAM

", - "Principal$PrincipalType": "

The principal type. Must be IAM

" + "AssociatePrincipalWithPortfolioInput$PrincipalType": "

The principal type. The supported value is IAM.

", + "Principal$PrincipalType": "

The principal type. The supported value is IAM.

" } }, "Principals": { @@ -1048,7 +1227,7 @@ "ProductType": { "base": null, "refs": { - "CreateProductInput$ProductType": "

The type of the product to create.

", + "CreateProductInput$ProductType": "

The type of product.

", "ProductViewSummary$Type": "

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.

" } }, @@ -1073,22 +1252,22 @@ "ProductViewAggregations": { "base": null, "refs": { - "SearchProductsOutput$ProductViewAggregations": "

A list of the product view aggregation value objects.

" + "SearchProductsOutput$ProductViewAggregations": "

The product view aggregations.

" } }, "ProductViewDetail": { - "base": "

Detailed product view information.

", + "base": "

Information about a product view.

", "refs": { - "CreateProductOutput$ProductViewDetail": "

The resulting detailed product view information.

", - "DescribeProductAsAdminOutput$ProductViewDetail": "

Detailed product view information.

", + "CreateProductOutput$ProductViewDetail": "

Information about the product view.

", + "DescribeProductAsAdminOutput$ProductViewDetail": "

Information about the product view.

", "ProductViewDetails$member": null, - "UpdateProductOutput$ProductViewDetail": "

The resulting detailed product view information.

" + "UpdateProductOutput$ProductViewDetail": "

Information about the product view.

" } }, "ProductViewDetails": { "base": null, "refs": { - "SearchProductsAsAdminOutput$ProductViewDetails": "

List of detailed product view information objects.

" + "SearchProductsAsAdminOutput$ProductViewDetails": "

Information about the product views.

" } }, "ProductViewDistributor": { @@ -1118,8 +1297,8 @@ "ProductViewFilters": { "base": null, "refs": { - "SearchProductsAsAdminInput$Filters": "

The list of filters with which to limit search results. If no search filters are specified, the output is all the products to which the administrator has access.

", - "SearchProductsInput$Filters": "

The list of filters with which to limit search results. If no search filters are specified, the output is all the products to which the calling user has access.

" + "SearchProductsAsAdminInput$Filters": "

The search filters. If no search filters are specified, the output includes all products to which the administrator has access.

", + "SearchProductsInput$Filters": "

The search filters. If no search filters are specified, the output includes all products to which the caller has access.

" } }, "ProductViewName": { @@ -1144,33 +1323,39 @@ "ProductViewShortDescription": { "base": null, "refs": { - "CreateProductInput$Description": "

The text description of the product.

", + "CreateProductInput$Description": "

The description of the product.

", "ProductViewSummary$ShortDescription": "

Short description of the product.

", - "UpdateProductInput$Description": "

The updated text description of the product.

" + "UpdateProductInput$Description": "

The updated description of the product.

" } }, "ProductViewSortBy": { "base": null, "refs": { - "SearchProductsAsAdminInput$SortBy": "

The sort field specifier. If no value is specified, results are not sorted.

", - "SearchProductsInput$SortBy": "

The sort field specifier. If no value is specified, results are not sorted.

" + "SearchProductsAsAdminInput$SortBy": "

The sort field. If no value is specified, the results are not sorted.

", + "SearchProductsInput$SortBy": "

The sort field. If no value is specified, the results are not sorted.

" } }, "ProductViewSummaries": { "base": null, "refs": { - "SearchProductsOutput$ProductViewSummaries": "

A list of the product view summary objects.

" + "SearchProductsOutput$ProductViewSummaries": "

Information about the product views.

" } }, "ProductViewSummary": { - "base": "

The summary metadata about the specified product.

", + "base": "

Summary information about a product view.

", "refs": { - "DescribeProductOutput$ProductViewSummary": "

The summary metadata about the specified product.

", - "DescribeProductViewOutput$ProductViewSummary": "

The summary metadata about the specified product.

", - "ProductViewDetail$ProductViewSummary": "

The summary metadata about the specified product view.

", + "DescribeProductOutput$ProductViewSummary": "

Summary information about the product view.

", + "DescribeProductViewOutput$ProductViewSummary": "

Summary information about the product.

", + "ProductViewDetail$ProductViewSummary": "

Summary information about the product view.

", "ProductViewSummaries$member": null } }, + "PropertyName": { + "base": null, + "refs": { + "ResourceTargetDefinition$Name": "

If the attribute is Properties, the value is the name of the property. Otherwise, the value is null.

" + } + }, "ProviderName": { "base": null, "refs": { @@ -1189,106 +1374,199 @@ "refs": { } }, + "ProvisionedProductAttribute": { + "base": "

Information about a provisioned product.

", + "refs": { + "ProvisionedProductAttributes$member": null + } + }, + "ProvisionedProductAttributes": { + "base": null, + "refs": { + "SearchProvisionedProductsOutput$ProvisionedProducts": "

Information about the provisioned products.

" + } + }, "ProvisionedProductDetail": { - "base": "

Detailed information about a ProvisionedProduct object.

", + "base": "

Information about a provisioned product.

", "refs": { - "DescribeProvisionedProductOutput$ProvisionedProductDetail": "

Detailed provisioned product information.

", + "DescribeProvisionedProductOutput$ProvisionedProductDetail": "

Information about the provisioned product.

", "ProvisionedProductDetails$member": null } }, "ProvisionedProductDetails": { "base": null, "refs": { - "ScanProvisionedProductsOutput$ProvisionedProducts": "

A list of ProvisionedProduct detail objects.

" + "ScanProvisionedProductsOutput$ProvisionedProducts": "

Information about the provisioned products.

" + } + }, + "ProvisionedProductFilters": { + "base": null, + "refs": { + "SearchProvisionedProductsInput$Filters": "

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\"]

" } }, "ProvisionedProductId": { "base": null, "refs": { - "ProvisionedProductDetail$Id": "

The identifier of the ProvisionedProduct object.

" + "ProvisionedProductDetail$Id": "

The identifier of the provisioned product.

" } }, "ProvisionedProductName": { "base": null, "refs": { - "ProvisionProductInput$ProvisionedProductName": "

A user-friendly name to identify the ProvisionedProduct object. This value must be unique for the AWS account and cannot be updated after the product is provisioned.

", - "RecordDetail$ProvisionedProductName": "

The user-friendly name of the ProvisionedProduct object.

" + "CreateProvisionedProductPlanInput$ProvisionedProductName": "

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.

", + "CreateProvisionedProductPlanOutput$ProvisionedProductName": "

The user-friendly name of the provisioned product.

", + "ProvisionProductInput$ProvisionedProductName": "

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.

", + "ProvisionedProductPlanDetails$ProvisionProductName": "

The user-friendly name of the provisioned product.

", + "ProvisionedProductPlanSummary$ProvisionProductName": "

The user-friendly name of the provisioned product.

", + "RecordDetail$ProvisionedProductName": "

The user-friendly name of the provisioned product.

" } }, "ProvisionedProductNameOrArn": { "base": null, "refs": { - "ProvisionedProductDetail$Name": "

The user-friendly name of the ProvisionedProduct object.

", - "ProvisionedProductDetail$Arn": "

The ARN associated with the ProvisionedProduct object.

", - "TerminateProvisionedProductInput$ProvisionedProductName": "

The name of the ProvisionedProduct object to terminate. Specify either ProvisionedProductName or ProvisionedProductId, but not both.

", - "UpdateProvisionedProductInput$ProvisionedProductName": "

The updated name of the ProvisionedProduct object. Specify either ProvisionedProductName or ProvisionedProductId, but not both.

" + "ProvisionedProductAttribute$Name": "

The user-friendly name of the provisioned product.

", + "ProvisionedProductAttribute$Arn": "

The ARN of the provisioned product.

", + "ProvisionedProductDetail$Name": "

The user-friendly name of the provisioned product.

", + "ProvisionedProductDetail$Arn": "

The ARN of the provisioned product.

", + "TerminateProvisionedProductInput$ProvisionedProductName": "

The name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

", + "UpdateProvisionedProductInput$ProvisionedProductName": "

The updated name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

" + } + }, + "ProvisionedProductPlanDetails": { + "base": "

Information about a plan.

", + "refs": { + "DescribeProvisionedProductPlanOutput$ProvisionedProductPlanDetails": "

Information about the plan.

" + } + }, + "ProvisionedProductPlanName": { + "base": null, + "refs": { + "CreateProvisionedProductPlanInput$PlanName": "

The name of the plan.

", + "CreateProvisionedProductPlanOutput$PlanName": "

The name of the plan.

", + "ProvisionedProductPlanDetails$PlanName": "

The name of the plan.

", + "ProvisionedProductPlanSummary$PlanName": "

The name of the plan.

" + } + }, + "ProvisionedProductPlanStatus": { + "base": null, + "refs": { + "ProvisionedProductPlanDetails$Status": "

The status.

" + } + }, + "ProvisionedProductPlanSummary": { + "base": "

Summary information about a plan.

", + "refs": { + "ProvisionedProductPlans$member": null + } + }, + "ProvisionedProductPlanType": { + "base": null, + "refs": { + "CreateProvisionedProductPlanInput$PlanType": "

The plan type.

", + "ProvisionedProductPlanDetails$PlanType": "

The plan type.

", + "ProvisionedProductPlanSummary$PlanType": "

The plan type.

" + } + }, + "ProvisionedProductPlans": { + "base": null, + "refs": { + "ListProvisionedProductPlansOutput$ProvisionedProductPlans": "

Information about the plans.

" } }, "ProvisionedProductStatus": { "base": null, "refs": { - "ProvisionedProductDetail$Status": "

The current status of the ProvisionedProduct.

AVAILABLE - Stable state, ready to perform any operation. The most recent action request succeeded and completed.

UNDER_CHANGE - Transitive state, operations performed may or may not have valid results. Wait for an AVAILABLE status before performing operations.

TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

ERROR - Something unexpected happened such that the provisioned product exists but the stack is not running. For example, CloudFormation received an invalid parameter value and could not launch the stack.

" + "ProvisionedProductAttribute$Status": "

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.

", + "ProvisionedProductDetail$Status": "

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.

" } }, "ProvisionedProductStatusMessage": { "base": null, "refs": { - "ProvisionedProductDetail$StatusMessage": "

The current status message of the ProvisionedProduct.

" + "ProvisionedProductAttribute$StatusMessage": "

The current status message of the provisioned product.

", + "ProvisionedProductDetail$StatusMessage": "

The current status message of the provisioned product.

" } }, "ProvisionedProductType": { "base": null, "refs": { - "ProvisionedProductDetail$Type": "

The type of the ProvisionedProduct object.

", - "RecordDetail$ProvisionedProductType": "

The type of the ProvisionedProduct object.

" + "ProvisionedProductAttribute$Type": "

The type of provisioned product. The supported value is CFN_STACK.

", + "ProvisionedProductDetail$Type": "

The type of provisioned product. The supported value is CFN_STACK.

", + "RecordDetail$ProvisionedProductType": "

The type of provisioned product. The supported value is CFN_STACK.

" + } + }, + "ProvisionedProductViewFilterBy": { + "base": null, + "refs": { + "ProvisionedProductFilters$key": null + } + }, + "ProvisionedProductViewFilterValue": { + "base": null, + "refs": { + "ProvisionedProductViewFilterValues$member": null + } + }, + "ProvisionedProductViewFilterValues": { + "base": null, + "refs": { + "ProvisionedProductFilters$value": null } }, "ProvisioningArtifact": { - "base": "

Contains information indicating the ways in which a product can be provisioned.

", + "base": "

Information about a provisioning artifact. A provisioning artifact is also known as a product version.

", "refs": { "ProvisioningArtifacts$member": null } }, + "ProvisioningArtifactActive": { + "base": null, + "refs": { + "ProvisioningArtifactDetail$Active": "

Indicates whether the product version is active.

", + "UpdateProvisioningArtifactInput$Active": "

Indicates whether the product version is active.

" + } + }, "ProvisioningArtifactCreatedTime": { "base": null, "refs": { - "ProvisioningArtifact$CreatedTime": "

The UTC timestamp of the creation time.

", - "ProvisioningArtifactSummary$CreatedTime": "

The UTC timestamp of the creation time.

" + "ProvisioningArtifact$CreatedTime": "

The UTC time stamp of the creation time.

", + "ProvisioningArtifactSummary$CreatedTime": "

The UTC time stamp of the creation time.

" } }, "ProvisioningArtifactDescription": { "base": null, "refs": { - "ProvisioningArtifact$Description": "

The text description of the artifact.

", - "ProvisioningArtifactProperties$Description": "

The text description of the provisioning artifact properties.

", + "ProvisioningArtifact$Description": "

The description of the provisioning artifact.

", + "ProvisioningArtifactProperties$Description": "

The description of the provisioning artifact, including how it differs from the previous provisioning artifact.

", "ProvisioningArtifactSummary$Description": "

The description of the provisioning artifact.

", - "UpdateProvisioningArtifactInput$Description": "

The updated text description of the provisioning artifact.

" + "UpdateProvisioningArtifactInput$Description": "

The updated description of the provisioning artifact.

" } }, "ProvisioningArtifactDetail": { - "base": "

Detailed provisioning artifact information.

", + "base": "

Information about a provisioning artifact (also known as a version) for a product.

", "refs": { - "CreateProductOutput$ProvisioningArtifactDetail": "

The resulting detailed provisioning artifact information.

", - "CreateProvisioningArtifactOutput$ProvisioningArtifactDetail": "

The resulting detailed provisioning artifact information.

", - "DescribeProvisioningArtifactOutput$ProvisioningArtifactDetail": "

Detailed provisioning artifact information.

", + "CreateProductOutput$ProvisioningArtifactDetail": "

Information about the provisioning artifact.

", + "CreateProvisioningArtifactOutput$ProvisioningArtifactDetail": "

Information about the provisioning artifact.

", + "DescribeProvisioningArtifactOutput$ProvisioningArtifactDetail": "

Information about the provisioning artifact.

", "ProvisioningArtifactDetails$member": null, - "UpdateProvisioningArtifactOutput$ProvisioningArtifactDetail": "

The resulting detailed provisioning artifact information.

" + "UpdateProvisioningArtifactOutput$ProvisioningArtifactDetail": "

Information about the provisioning artifact.

" } }, "ProvisioningArtifactDetails": { "base": null, "refs": { - "ListProvisioningArtifactsOutput$ProvisioningArtifactDetails": "

List of detailed provisioning artifact information objects.

" + "ListProvisioningArtifactsOutput$ProvisioningArtifactDetails": "

Information about the provisioning artifacts.

" } }, "ProvisioningArtifactInfo": { "base": null, "refs": { - "CreateProvisioningArtifactOutput$Info": "

Additional information about the creation request for the provisioning artifact.

", - "DescribeProvisioningArtifactOutput$Info": "

Additional information about the provisioning artifact.

", - "ProvisioningArtifactProperties$Info": "

Additional information about the provisioning artifact properties. When using this element in a request, you must specify LoadTemplateFromURL. For more information, see CreateProvisioningArtifact.

", - "ProvisioningArtifactSummary$ProvisioningArtifactMetadata": "

The provisioning artifact metadata. This data is used with products created by AWS Marketplace.

", - "UpdateProvisioningArtifactOutput$Info": "

Additional information about the provisioning artifact update request.

" + "CreateProvisioningArtifactOutput$Info": "

The URL of the CloudFormation template in Amazon S3, in JSON format.

", + "DescribeProvisioningArtifactOutput$Info": "

The URL of the CloudFormation template in Amazon S3.

", + "ProvisioningArtifactProperties$Info": "

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/...\"

", + "ProvisioningArtifactSummary$ProvisioningArtifactMetadata": "

The metadata for the provisioning artifact. This is used with AWS Marketplace products.

", + "UpdateProvisioningArtifactOutput$Info": "

The URL of the CloudFormation template in Amazon S3.

" } }, "ProvisioningArtifactInfoKey": { @@ -1306,16 +1584,16 @@ "ProvisioningArtifactName": { "base": null, "refs": { - "ProvisioningArtifact$Name": "

The name of the artifact.

", - "ProvisioningArtifactDetail$Name": "

The name assigned to the provisioning artifact.

", - "ProvisioningArtifactDetail$Description": "

The text description of the provisioning artifact.

", - "ProvisioningArtifactProperties$Name": "

The name assigned to the provisioning artifact properties.

", + "ProvisioningArtifact$Name": "

The name of the provisioning artifact.

", + "ProvisioningArtifactDetail$Name": "

The name of the provisioning artifact.

", + "ProvisioningArtifactDetail$Description": "

The description of the provisioning artifact.

", + "ProvisioningArtifactProperties$Name": "

The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed.

", "ProvisioningArtifactSummary$Name": "

The name of the provisioning artifact.

", "UpdateProvisioningArtifactInput$Name": "

The updated name of the provisioning artifact.

" } }, "ProvisioningArtifactParameter": { - "base": "

A parameter used to successfully provision the product. This value includes a list of allowable values and additional metadata.

", + "base": "

Information about a parameter used to provision a product.

", "refs": { "ProvisioningArtifactParameters$member": null } @@ -1323,14 +1601,14 @@ "ProvisioningArtifactParameters": { "base": null, "refs": { - "DescribeProvisioningParametersOutput$ProvisioningArtifactParameters": "

The list of parameters used to successfully provision the product. Each parameter includes a list of allowable values and additional metadata about each parameter.

" + "DescribeProvisioningParametersOutput$ProvisioningArtifactParameters": "

Information about the parameters used to provision the product.

" } }, "ProvisioningArtifactProperties": { - "base": "

Provisioning artifact properties. For example request JSON, see CreateProvisioningArtifact.

", + "base": "

Information about a provisioning artifact (also known as a version) for a product.

", "refs": { - "CreateProductInput$ProvisioningArtifactParameters": "

Parameters for the provisioning artifact.

", - "CreateProvisioningArtifactInput$Parameters": "

The parameters to use when creating the new provisioning artifact.

" + "CreateProductInput$ProvisioningArtifactParameters": "

The configuration of the provisioning artifact.

", + "CreateProvisioningArtifactInput$Parameters": "

The configuration for the provisioning artifact.

" } }, "ProvisioningArtifactPropertyName": { @@ -1348,11 +1626,11 @@ "ProvisioningArtifactSummaries": { "base": null, "refs": { - "DescribeProductAsAdminOutput$ProvisioningArtifactSummaries": "

A list of provisioning artifact summaries for the product.

" + "DescribeProductAsAdminOutput$ProvisioningArtifactSummaries": "

Information about the provisioning artifacts (also known as versions) for the specified product.

" } }, "ProvisioningArtifactSummary": { - "base": "

Stores summary information about a provisioning artifact.

", + "base": "

Summary information about a provisioning artifact (also known as a version) for a product.

", "refs": { "ProvisioningArtifactSummaries$member": null } @@ -1360,19 +1638,19 @@ "ProvisioningArtifactType": { "base": null, "refs": { - "ProvisioningArtifactDetail$Type": "

The type of the provisioning artifact. The following provisioning artifact types are used by AWS Marketplace products:

MARKETPLACE_AMI - AMI products.

MARKETPLACE_CAR - CAR (Cluster and AWS Resources) products.

", - "ProvisioningArtifactProperties$Type": "

The type of the provisioning artifact properties. The following provisioning artifact property types are used by AWS Marketplace products:

MARKETPLACE_AMI - AMI products.

MARKETPLACE_CAR - CAR (Cluster and AWS Resources) products.

" + "ProvisioningArtifactDetail$Type": "

The type of provisioning artifact.

  • CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template

  • MARKETPLACE_AMI - AWS Marketplace AMI

  • MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources

", + "ProvisioningArtifactProperties$Type": "

The type of provisioning artifact.

  • CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template

  • MARKETPLACE_AMI - AWS Marketplace AMI

  • MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources

" } }, "ProvisioningArtifacts": { "base": null, "refs": { - "DescribeProductOutput$ProvisioningArtifacts": "

A list of provisioning artifact objects for the specified product. The ProvisioningArtifacts parameter represent the ways the specified product can be provisioned.

", - "DescribeProductViewOutput$ProvisioningArtifacts": "

A list of provisioning artifact objects for the specified product. The ProvisioningArtifacts represent the ways in which the specified product can be provisioned.

" + "DescribeProductOutput$ProvisioningArtifacts": "

Information about the provisioning artifacts for the specified product.

", + "DescribeProductViewOutput$ProvisioningArtifacts": "

Information about the provisioning artifacts for the product.

" } }, "ProvisioningParameter": { - "base": "

The parameter key-value pairs used to provision a product.

", + "base": "

Information about a parameter used to provision a product.

", "refs": { "ProvisioningParameters$member": null } @@ -1384,19 +1662,20 @@ } }, "RecordDetail": { - "base": "

The full details of a specific ProvisionedProduct object.

", + "base": "

Information about a request operation.

", "refs": { - "DescribeRecordOutput$RecordDetail": "

Detailed record information for the specified product.

", - "ProvisionProductOutput$RecordDetail": "

The detailed result of the ProvisionProduct request, containing the inputs made to that request, the current state of the request, a pointer to the ProvisionedProduct object of the request, and a list of any errors that the request encountered.

", + "DescribeRecordOutput$RecordDetail": "

Information about the product.

", + "ExecuteProvisionedProductPlanOutput$RecordDetail": "

Information about the result of provisioning the product.

", + "ProvisionProductOutput$RecordDetail": "

Information about the result of provisioning the product.

", "RecordDetails$member": null, - "TerminateProvisionedProductOutput$RecordDetail": "

The detailed result of the TerminateProvisionedProduct request, containing the inputs made to that request, the current state of the request, a pointer to the ProvisionedProduct object that the request is modifying, and a list of any errors that the request encountered.

", - "UpdateProvisionedProductOutput$RecordDetail": "

The detailed result of the UpdateProvisionedProduct request, containing the inputs made to that request, the current state of the request, a pointer to the ProvisionedProduct object that the request is modifying, and a list of any errors that the request encountered.

" + "TerminateProvisionedProductOutput$RecordDetail": "

Information about the result of this request.

", + "UpdateProvisionedProductOutput$RecordDetail": "

Information about the result of the request.

" } }, "RecordDetails": { "base": null, "refs": { - "ListRecordHistoryOutput$RecordDetails": "

A list of record detail objects, listed in reverse chronological order.

" + "ListRecordHistoryOutput$RecordDetails": "

The records, in reverse chronological order.

" } }, "RecordError": { @@ -1408,11 +1687,11 @@ "RecordErrors": { "base": null, "refs": { - "RecordDetail$RecordErrors": "

A list of errors that occurred while processing the request.

" + "RecordDetail$RecordErrors": "

The errors that occurred.

" } }, "RecordOutput": { - "base": "

An output for the specified Product object created as the result of a request. For example, a CloudFormation-backed product that creates an S3 bucket would have an output for the S3 bucket URL.

", + "base": "

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.

", "refs": { "RecordOutputs$member": null } @@ -1420,17 +1699,17 @@ "RecordOutputs": { "base": null, "refs": { - "DescribeRecordOutput$RecordOutputs": "

A list of outputs for the specified Product object created as the result of a request. For example, a CloudFormation-backed product that creates an S3 bucket would have an output for the S3 bucket URL.

" + "DescribeRecordOutput$RecordOutputs": "

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.

" } }, "RecordStatus": { "base": null, "refs": { - "RecordDetail$Status": "

The status of the ProvisionedProduct object.

CREATED - Request created but the operation has not yet started.

IN_PROGRESS - The requested operation is in-progress.

IN_PROGRESS_IN_ERROR - The provisioned product is under change but the requested operation failed and some remediation is occurring. For example, a rollback.

SUCCEEDED - The requested operation has successfully completed.

FAILED - The requested operation has completed but has failed. Investigate using the error messages returned.

" + "RecordDetail$Status": "

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.

" } }, "RecordTag": { - "base": "

A tag associated with the record, stored as a key-value pair.

", + "base": "

Information about a tag, which is a key-value pair.

", "refs": { "RecordTags$member": null } @@ -1450,13 +1729,13 @@ "RecordTags": { "base": null, "refs": { - "RecordDetail$RecordTags": "

List of tags associated with this record.

" + "RecordDetail$RecordTags": "

One or more tags.

" } }, "RecordType": { "base": null, "refs": { - "RecordDetail$RecordType": "

The record type for this record.

" + "RecordDetail$RecordType": "

The record type.

  • PROVISION_PRODUCT

  • UPDATE_PROVISIONED_PRODUCT

  • TERMINATE_PROVISIONED_PRODUCT

" } }, "RejectPortfolioShareInput": { @@ -1469,15 +1748,58 @@ "refs": { } }, + "Replacement": { + "base": null, + "refs": { + "ResourceChange$Replacement": "

If the change type is Modify, indicates whether the existing resource is deleted and replaced with a new one.

" + } + }, + "RequiresRecreation": { + "base": null, + "refs": { + "ResourceTargetDefinition$RequiresRecreation": "

If the attribute is Properties, indicates whether a change to this property causes the resource to be re-created.

" + } + }, "ResourceARN": { "base": null, "refs": { "PortfolioDetail$ARN": "

The ARN assigned to the portfolio.

", - "ProductViewDetail$ProductARN": "

The ARN associated with the product.

" + "ProductViewDetail$ProductARN": "

The ARN of the product.

" + } + }, + "ResourceAttribute": { + "base": null, + "refs": { + "ResourceTargetDefinition$Attribute": "

The attribute to be changed.

", + "Scope$member": null + } + }, + "ResourceChange": { + "base": "

Information about a resource change that will occur when a plan is executed.

", + "refs": { + "ResourceChanges$member": null + } + }, + "ResourceChangeDetail": { + "base": "

Information about a change to a resource attribute.

", + "refs": { + "ResourceChangeDetails$member": null + } + }, + "ResourceChangeDetails": { + "base": null, + "refs": { + "ResourceChange$Details": "

Information about the resource changes.

" + } + }, + "ResourceChanges": { + "base": null, + "refs": { + "DescribeProvisionedProductPlanOutput$ResourceChanges": "

Information about the resource changes that will occur when the plan is executed.

" } }, "ResourceDetail": { - "base": "

Detailed resource information.

", + "base": "

Information about a resource.

", "refs": { "ResourceDetails$member": null } @@ -1485,48 +1807,48 @@ "ResourceDetailARN": { "base": null, "refs": { - "ResourceDetail$ARN": "

ARN of the resource.

" + "ResourceDetail$ARN": "

The ARN of the resource.

" } }, "ResourceDetailCreatedTime": { "base": null, "refs": { - "ResourceDetail$CreatedTime": "

Creation time of the resource.

" + "ResourceDetail$CreatedTime": "

The creation time of the resource.

" } }, "ResourceDetailDescription": { "base": null, "refs": { - "ResourceDetail$Description": "

Description of the resource.

" + "ResourceDetail$Description": "

The description of the resource.

" } }, "ResourceDetailId": { "base": null, "refs": { - "ResourceDetail$Id": "

Identifier of the resource.

" + "ResourceDetail$Id": "

The identifier of the resource.

" } }, "ResourceDetailName": { "base": null, "refs": { - "ResourceDetail$Name": "

Name of the resource.

" + "ResourceDetail$Name": "

The name of the resource.

" } }, "ResourceDetails": { "base": null, "refs": { - "ListResourcesForTagOptionOutput$ResourceDetails": "

The resulting detailed resource information.

" + "ListResourcesForTagOptionOutput$ResourceDetails": "

Information about the resources.

" } }, "ResourceId": { "base": null, "refs": { "AssociateTagOptionWithResourceInput$ResourceId": "

The resource identifier.

", - "DisassociateTagOptionFromResourceInput$ResourceId": "

Identifier of the resource from which to disassociate the TagOption.

" + "DisassociateTagOptionFromResourceInput$ResourceId": "

The resource identifier.

" } }, "ResourceInUseException": { - "base": "

The operation was requested against a resource that is currently in use. Free the resource from use and retry the operation.

", + "base": "

A resource that is currently in use. Ensure that the resource is not in use and retry the operation.

", "refs": { } }, @@ -1535,10 +1857,16 @@ "refs": { } }, + "ResourceTargetDefinition": { + "base": "

Information about a change to a resource attribute.

", + "refs": { + "ResourceChangeDetail$Target": "

Information about the resource attribute to be modified.

" + } + }, "ResourceType": { "base": null, "refs": { - "ListResourcesForTagOptionInput$ResourceType": "

Resource type.

" + "ListResourcesForTagOptionInput$ResourceType": "

The resource type.

  • Portfolio

  • Product

" } }, "ScanProvisionedProductsInput": { @@ -1551,16 +1879,22 @@ "refs": { } }, + "Scope": { + "base": null, + "refs": { + "ResourceChange$Scope": "

The change scope.

" + } + }, "SearchFilterKey": { "base": null, "refs": { - "ListRecordHistorySearchFilter$Key": "

The filter key.

" + "ListRecordHistorySearchFilter$Key": "

The filter key.

  • product - Filter results based on the specified product identifier.

  • provisionedproduct - Filter results based on the provisioned product identifier.

" } }, "SearchFilterValue": { "base": null, "refs": { - "ListRecordHistorySearchFilter$Value": "

The filter value for Key.

" + "ListRecordHistorySearchFilter$Value": "

The filter value.

" } }, "SearchProductsAsAdminInput": { @@ -1583,17 +1917,40 @@ "refs": { } }, + "SearchProvisionedProductsInput": { + "base": null, + "refs": { + } + }, + "SearchProvisionedProductsOutput": { + "base": null, + "refs": { + } + }, + "SearchProvisionedProductsPageSize": { + "base": null, + "refs": { + "SearchProvisionedProductsInput$PageSize": "

The maximum number of items to return with this call.

" + } + }, + "SortField": { + "base": null, + "refs": { + "SearchProvisionedProductsInput$SortBy": "

The sort field. If no value is specified, the results are not sorted. The valid values are arn, id, name, and lastRecordId.

" + } + }, "SortOrder": { "base": null, "refs": { - "SearchProductsAsAdminInput$SortOrder": "

The sort order specifier. If no value is specified, results are not sorted.

", - "SearchProductsInput$SortOrder": "

The sort order specifier. If no value is specified, results are not sorted.

" + "SearchProductsAsAdminInput$SortOrder": "

The sort order. If no value is specified, the results are not sorted.

", + "SearchProductsInput$SortOrder": "

The sort order. If no value is specified, the results are not sorted.

", + "SearchProvisionedProductsInput$SortOrder": "

The sort order. If no value is specified, the results are not sorted.

" } }, "SourceProvisioningArtifactProperties": { "base": null, "refs": { - "CopyProductInput$SourceProvisioningArtifactIdentifiers": "

The IDs of the product versions to copy. By default, all provisioning artifacts are copied.

" + "CopyProductInput$SourceProvisioningArtifactIdentifiers": "

The identifiers of the provisioning artifacts (also known as versions) of the product to copy. By default, all provisioning artifacts are copied.

" } }, "SourceProvisioningArtifactPropertiesMap": { @@ -1609,7 +1966,7 @@ "CreateProvisioningArtifactOutput$Status": "

The status of the current request.

", "DescribeConstraintOutput$Status": "

The status of the current request.

", "DescribeProvisioningArtifactOutput$Status": "

The status of the current request.

", - "ProductViewDetail$Status": "

Current status of the product.

AVAILABLE - Product is available for use.

CREATING - Creation of product started, not ready for use.

FAILED - Action on product failed.

", + "ProductViewDetail$Status": "

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.

", "UpdateConstraintOutput$Status": "

The status of the current request.

", "UpdateProvisioningArtifactOutput$Status": "

The status of the current request.

" } @@ -1620,10 +1977,16 @@ "DescribeCopyProductStatusOutput$StatusDetail": "

The status message.

" } }, + "StatusMessage": { + "base": null, + "refs": { + "ProvisionedProductPlanDetails$StatusMessage": "

The status message.

" + } + }, "SupportDescription": { "base": null, "refs": { - "CreateProductInput$SupportDescription": "

Support information about the product.

", + "CreateProductInput$SupportDescription": "

The support information about the product.

", "ProductViewSummary$SupportDescription": "

The description of the support for this Product.

", "UpdateProductInput$SupportDescription": "

The updated support description for the product.

" } @@ -1631,7 +1994,7 @@ "SupportEmail": { "base": null, "refs": { - "CreateProductInput$SupportEmail": "

Contact email for product support.

", + "CreateProductInput$SupportEmail": "

The contact email for product support.

", "ProductViewSummary$SupportEmail": "

The email contact information to obtain support for this Product.

", "UpdateProductInput$SupportEmail": "

The updated support email for the product.

" } @@ -1639,13 +2002,13 @@ "SupportUrl": { "base": null, "refs": { - "CreateProductInput$SupportUrl": "

Contact URL for product support.

", + "CreateProductInput$SupportUrl": "

The contact URL for product support.

", "ProductViewSummary$SupportUrl": "

The URL information to obtain support for this Product.

", "UpdateProductInput$SupportUrl": "

The updated support URL for the product.

" } }, "Tag": { - "base": "

Key-value pairs to associate with this provisioning. These tags are entirely discretionary and are propagated to the resources created in the provisioning.

", + "base": "

Information about a tag. A tag is a key-value pair. Tags are propagated to the resources created when provisioning a product.

", "refs": { "AddTags$member": null, "Tags$member": null @@ -1654,60 +2017,61 @@ "TagKey": { "base": null, "refs": { - "Tag$Key": "

The ProvisioningArtifactParameter.TagKey parameter from DescribeProvisioningParameters.

", + "Tag$Key": "

The tag key.

", "TagKeys$member": null } }, "TagKeys": { "base": null, "refs": { - "UpdatePortfolioInput$RemoveTags": "

Tags to remove from the existing list of tags associated with the portfolio.

", - "UpdateProductInput$RemoveTags": "

Tags to remove from the existing list of tags associated with the product.

" + "UpdatePortfolioInput$RemoveTags": "

The tags to remove.

", + "UpdateProductInput$RemoveTags": "

The tags to remove from the product.

" } }, "TagOptionActive": { "base": null, "refs": { - "ListTagOptionsFilters$Active": "

The ListTagOptionsFilters active state.

", - "TagOptionDetail$Active": "

The TagOptionDetail active state.

", + "ListTagOptionsFilters$Active": "

The active state.

", + "TagOptionDetail$Active": "

The TagOption active state.

", "UpdateTagOptionInput$Active": "

The updated active state.

" } }, "TagOptionDetail": { - "base": "

The TagOption details.

", + "base": "

Information about a TagOption.

", "refs": { - "CreateTagOptionOutput$TagOptionDetail": "

The resulting detailed TagOption information.

", - "DescribeTagOptionOutput$TagOptionDetail": "

The resulting detailed TagOption information.

", + "CreateTagOptionOutput$TagOptionDetail": "

Information about the TagOption.

", + "DescribeTagOptionOutput$TagOptionDetail": "

Information about the TagOption.

", "TagOptionDetails$member": null, - "UpdateTagOptionOutput$TagOptionDetail": "

The resulting detailed TagOption information.

" + "UpdateTagOptionOutput$TagOptionDetail": "

Information about the TagOption.

" } }, "TagOptionDetails": { "base": null, "refs": { - "DescribePortfolioOutput$TagOptions": "

TagOptions associated with the portfolio.

", - "DescribeProductAsAdminOutput$TagOptions": "

List of TagOptions associated with the product.

", - "ListTagOptionsOutput$TagOptionDetails": "

The resulting detailed TagOption information.

" + "DescribePortfolioOutput$TagOptions": "

Information about the TagOptions associated with the portfolio.

", + "DescribeProductAsAdminOutput$TagOptions": "

Information about the TagOptions associated with the product.

", + "ListTagOptionsOutput$TagOptionDetails": "

Information about the TagOptions.

" } }, "TagOptionId": { "base": null, "refs": { "AssociateTagOptionWithResourceInput$TagOptionId": "

The TagOption identifier.

", - "DescribeTagOptionInput$Id": "

The identifier of the TagOption.

", - "DisassociateTagOptionFromResourceInput$TagOptionId": "

Identifier of the TagOption to disassociate from the resource.

", - "ListResourcesForTagOptionInput$TagOptionId": "

Identifier of the TagOption.

", - "TagOptionDetail$Id": "

The TagOptionDetail identifier.

", - "UpdateTagOptionInput$Id": "

The identifier of the constraint to update.

" + "DeleteTagOptionInput$Id": "

The TagOption identifier.

", + "DescribeTagOptionInput$Id": "

The TagOption identifier.

", + "DisassociateTagOptionFromResourceInput$TagOptionId": "

The TagOption identifier.

", + "ListResourcesForTagOptionInput$TagOptionId": "

The TagOption identifier.

", + "TagOptionDetail$Id": "

The TagOption identifier.

", + "UpdateTagOptionInput$Id": "

The TagOption identifier.

" } }, "TagOptionKey": { "base": null, "refs": { "CreateTagOptionInput$Key": "

The TagOption key.

", - "ListTagOptionsFilters$Key": "

The ListTagOptionsFilters key.

", - "TagOptionDetail$Key": "

The TagOptionDetail key.

", - "TagOptionSummary$Key": "

The TagOptionSummary key.

" + "ListTagOptionsFilters$Key": "

The TagOption key.

", + "TagOptionDetail$Key": "

The TagOption key.

", + "TagOptionSummary$Key": "

The TagOption key.

" } }, "TagOptionNotMigratedException": { @@ -1718,11 +2082,11 @@ "TagOptionSummaries": { "base": null, "refs": { - "DescribeProvisioningParametersOutput$TagOptions": "

List of TagOptions associated with the provisioned provisioning parameters.

" + "DescribeProvisioningParametersOutput$TagOptions": "

Information about the TagOptions associated with the resource.

" } }, "TagOptionSummary": { - "base": "

The TagOption summary key-value pair.

", + "base": "

Summary information about a TagOption.

", "refs": { "TagOptionSummaries$member": null } @@ -1731,8 +2095,8 @@ "base": null, "refs": { "CreateTagOptionInput$Value": "

The TagOption value.

", - "ListTagOptionsFilters$Value": "

The ListTagOptionsFilters value.

", - "TagOptionDetail$Value": "

The TagOptionDetail value.

", + "ListTagOptionsFilters$Value": "

The TagOption value.

", + "TagOptionDetail$Value": "

The TagOption value.

", "TagOptionValues$member": null, "UpdateTagOptionInput$Value": "

The updated value.

" } @@ -1740,26 +2104,29 @@ "TagOptionValues": { "base": null, "refs": { - "TagOptionSummary$Values": "

The TagOptionSummary value.

" + "TagOptionSummary$Values": "

The TagOption value.

" } }, "TagValue": { "base": null, "refs": { - "Tag$Value": "

The desired value for this key.

" + "Tag$Value": "

The value for this key.

" } }, "Tags": { "base": null, "refs": { - "CreatePortfolioOutput$Tags": "

Tags successfully associated with the new portfolio.

", - "CreateProductOutput$Tags": "

Tags successfully associated with the new product.

", - "DescribePortfolioOutput$Tags": "

Tags associated with the portfolio.

", - "DescribeProductAsAdminOutput$Tags": "

Tags associated with the product.

", - "LaunchPathSummary$Tags": "

List of tags used by this launch path.

", - "ProvisionProductInput$Tags": "

A list of tags to use as provisioning options.

", - "UpdatePortfolioOutput$Tags": "

Tags associated with the portfolio.

", - "UpdateProductOutput$Tags": "

Tags associated with the product.

" + "CreatePortfolioOutput$Tags": "

Information about the tags associated with the portfolio.

", + "CreateProductOutput$Tags": "

Information about the tags associated with the product.

", + "CreateProvisionedProductPlanInput$Tags": "

One or more tags.

", + "DescribePortfolioOutput$Tags": "

Information about the tags associated with the portfolio.

", + "DescribeProductAsAdminOutput$Tags": "

Information about the tags associated with the product.

", + "LaunchPathSummary$Tags": "

The tags associated with this product path.

", + "ProvisionProductInput$Tags": "

One or more tags.

", + "ProvisionedProductAttribute$Tags": "

One or more tags.

", + "ProvisionedProductPlanDetails$Tags": "

One or more tags.

", + "UpdatePortfolioOutput$Tags": "

Information about the tags associated with the portfolio.

", + "UpdateProductOutput$Tags": "

Information about the tags associated with the product.

" } }, "TerminateProvisionedProductInput": { @@ -1772,6 +2139,12 @@ "refs": { } }, + "TotalResultsCount": { + "base": null, + "refs": { + "SearchProvisionedProductsOutput$TotalResultsCount": "

The number of provisioned products found.

" + } + }, "UpdateConstraintInput": { "base": null, "refs": { @@ -1823,7 +2196,7 @@ } }, "UpdateProvisioningParameter": { - "base": "

The parameter key-value pair used to update a ProvisionedProduct object. If UsePreviousValue is set to true, Value is ignored and the value for Key is kept as previously set (current value).

", + "base": "

The parameter key-value pair used to update a provisioned product.

", "refs": { "UpdateProvisioningParameters$member": null } @@ -1831,7 +2204,9 @@ "UpdateProvisioningParameters": { "base": null, "refs": { - "UpdateProvisionedProductInput$ProvisioningParameters": "

A list of ProvisioningParameter objects used to update the ProvisionedProduct object.

" + "CreateProvisionedProductPlanInput$ProvisioningParameters": "

Parameters specified by the administrator that are required for provisioning the product.

", + "ProvisionedProductPlanDetails$ProvisioningParameters": "

Parameters specified by the administrator that are required for provisioning the product.

", + "UpdateProvisionedProductInput$ProvisioningParameters": "

The new parameters.

" } }, "UpdateTagOptionInput": { @@ -1847,7 +2222,8 @@ "UpdatedTime": { "base": null, "refs": { - "RecordDetail$UpdatedTime": "

The time when the record for the ProvisionedProduct object was last updated.

" + "ProvisionedProductPlanDetails$UpdatedTime": "

The time when the plan was last updated.

", + "RecordDetail$UpdatedTime": "

The time when the record was last updated.

" } }, "UsageInstruction": { @@ -1865,13 +2241,25 @@ "UsePreviousValue": { "base": null, "refs": { - "UpdateProvisioningParameter$UsePreviousValue": "

If true, uses the currently set value for Key, ignoring UpdateProvisioningParameter.Value.

" + "UpdateProvisioningParameter$UsePreviousValue": "

If set to true, Value is ignored and the previous parameter value is kept.

" + } + }, + "UserArn": { + "base": null, + "refs": { + "ProvisionedProductAttribute$UserArn": "

The Amazon Resource Name (ARN) of the IAM user.

" + } + }, + "UserArnSession": { + "base": null, + "refs": { + "ProvisionedProductAttribute$UserArnSession": "

The ARN of the IAM user in the session. This ARN might contain a session ID.

" } }, "Verbose": { "base": null, "refs": { - "DescribeProvisioningArtifactInput$Verbose": "

Enable a verbose level of details for the provisioning artifact.

" + "DescribeProvisioningArtifactInput$Verbose": "

Indicates whether a verbose level of detail is enabled.

" } } } diff --git a/models/apis/servicecatalog/2015-12-10/paginators-1.json b/models/apis/servicecatalog/2015-12-10/paginators-1.json index e988d6f2be9..e653bfb9025 100644 --- a/models/apis/servicecatalog/2015-12-10/paginators-1.json +++ b/models/apis/servicecatalog/2015-12-10/paginators-1.json @@ -49,6 +49,11 @@ "input_token": "PageToken", "output_token": "NextPageToken", "limit_key": "PageSize" + }, + "SearchProvisionedProducts": { + "input_token": "PageToken", + "output_token": "NextPageToken", + "limit_key": "PageSize" } } } diff --git a/models/apis/servicecatalog/2015-12-10/smoke.json b/models/apis/servicecatalog/2015-12-10/smoke.json new file mode 100644 index 00000000000..3d4641f84d6 --- /dev/null +++ b/models/apis/servicecatalog/2015-12-10/smoke.json @@ -0,0 +1,11 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListAcceptedPortfolioShares", + "input": {}, + "errorExpectedFromService": false + } + ] +} diff --git a/models/apis/servicediscovery/2017-03-14/api-2.json b/models/apis/servicediscovery/2017-03-14/api-2.json new file mode 100644 index 00000000000..34f669e99d5 --- /dev/null +++ b/models/apis/servicediscovery/2017-03-14/api-2.json @@ -0,0 +1,1047 @@ +{ + "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"} + ] + }, + "CreatePublicDnsNamespace":{ + "name":"CreatePublicDnsNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePublicDnsNamespaceRequest"}, + "output":{"shape":"CreatePublicDnsNamespaceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"NamespaceAlreadyExists"}, + {"shape":"ResourceLimitExceeded"}, + {"shape":"DuplicateRequest"} + ] + }, + "CreateService":{ + "name":"CreateService", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateServiceRequest"}, + "output":{"shape":"CreateServiceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"ResourceLimitExceeded"}, + {"shape":"NamespaceNotFound"}, + {"shape":"ServiceAlreadyExists"} + ] + }, + "DeleteNamespace":{ + "name":"DeleteNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNamespaceRequest"}, + "output":{"shape":"DeleteNamespaceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"NamespaceNotFound"}, + {"shape":"ResourceInUse"}, + {"shape":"DuplicateRequest"} + ] + }, + "DeleteService":{ + "name":"DeleteService", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServiceRequest"}, + "output":{"shape":"DeleteServiceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"ServiceNotFound"}, + {"shape":"ResourceInUse"} + ] + }, + "DeregisterInstance":{ + "name":"DeregisterInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterInstanceRequest"}, + "output":{"shape":"DeregisterInstanceResponse"}, + "errors":[ + {"shape":"DuplicateRequest"}, + {"shape":"InvalidInput"}, + {"shape":"InstanceNotFound"}, + {"shape":"ResourceInUse"}, + {"shape":"ServiceNotFound"} + ] + }, + "GetInstance":{ + "name":"GetInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstanceRequest"}, + "output":{"shape":"GetInstanceResponse"}, + "errors":[ + {"shape":"InstanceNotFound"}, + {"shape":"InvalidInput"}, + {"shape":"ServiceNotFound"} + ] + }, + "GetInstancesHealthStatus":{ + "name":"GetInstancesHealthStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstancesHealthStatusRequest"}, + "output":{"shape":"GetInstancesHealthStatusResponse"}, + "errors":[ + {"shape":"InstanceNotFound"}, + {"shape":"InvalidInput"}, + {"shape":"ServiceNotFound"} + ] + }, + "GetNamespace":{ + "name":"GetNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetNamespaceRequest"}, + "output":{"shape":"GetNamespaceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"NamespaceNotFound"} + ] + }, + "GetOperation":{ + "name":"GetOperation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOperationRequest"}, + "output":{"shape":"GetOperationResponse"}, + "errors":[ + {"shape":"OperationNotFound"} + ] + }, + "GetService":{ + "name":"GetService", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceRequest"}, + "output":{"shape":"GetServiceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"ServiceNotFound"} + ] + }, + "ListInstances":{ + "name":"ListInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListInstancesRequest"}, + "output":{"shape":"ListInstancesResponse"}, + "errors":[ + {"shape":"ServiceNotFound"}, + {"shape":"InvalidInput"} + ] + }, + "ListNamespaces":{ + "name":"ListNamespaces", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListNamespacesRequest"}, + "output":{"shape":"ListNamespacesResponse"}, + "errors":[ + {"shape":"InvalidInput"} + ] + }, + "ListOperations":{ + "name":"ListOperations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListOperationsRequest"}, + "output":{"shape":"ListOperationsResponse"}, + "errors":[ + {"shape":"InvalidInput"} + ] + }, + "ListServices":{ + "name":"ListServices", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServicesRequest"}, + "output":{"shape":"ListServicesResponse"}, + "errors":[ + {"shape":"InvalidInput"} + ] + }, + "RegisterInstance":{ + "name":"RegisterInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterInstanceRequest"}, + "output":{"shape":"RegisterInstanceResponse"}, + "errors":[ + {"shape":"DuplicateRequest"}, + {"shape":"InvalidInput"}, + {"shape":"ResourceInUse"}, + {"shape":"ResourceLimitExceeded"}, + {"shape":"ServiceNotFound"} + ] + }, + "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"} + ] + } + }, + "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"}, + "CreatorRequestId":{ + "shape":"ResourceId", + "idempotencyToken":true + }, + "Description":{"shape":"ResourceDescription"}, + "Vpc":{"shape":"ResourceId"} + } + }, + "CreatePrivateDnsNamespaceResponse":{ + "type":"structure", + "members":{ + "OperationId":{"shape":"OperationId"} + } + }, + "CreatePublicDnsNamespaceRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NamespaceName"}, + "CreatorRequestId":{ + "shape":"ResourceId", + "idempotencyToken":true + }, + "Description":{"shape":"ResourceDescription"} + } + }, + "CreatePublicDnsNamespaceResponse":{ + "type":"structure", + "members":{ + "OperationId":{"shape":"OperationId"} + } + }, + "CreateServiceRequest":{ + "type":"structure", + "required":[ + "Name", + "DnsConfig" + ], + "members":{ + "Name":{"shape":"ServiceName"}, + "CreatorRequestId":{ + "shape":"ResourceId", + "idempotencyToken":true + }, + "Description":{"shape":"ResourceDescription"}, + "DnsConfig":{"shape":"DnsConfig"}, + "HealthCheckConfig":{"shape":"HealthCheckConfig"}, + "HealthCheckCustomConfig":{"shape":"HealthCheckCustomConfig"} + } + }, + "CreateServiceResponse":{ + "type":"structure", + "members":{ + "Service":{"shape":"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"} + } + }, + "DeleteNamespaceResponse":{ + "type":"structure", + "members":{ + "OperationId":{"shape":"OperationId"} + } + }, + "DeleteServiceRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{"shape":"ResourceId"} + } + }, + "DeleteServiceResponse":{ + "type":"structure", + "members":{ + } + }, + "DeregisterInstanceRequest":{ + "type":"structure", + "required":[ + "ServiceId", + "InstanceId" + ], + "members":{ + "ServiceId":{"shape":"ResourceId"}, + "InstanceId":{"shape":"ResourceId"} + } + }, + "DeregisterInstanceResponse":{ + "type":"structure", + "members":{ + "OperationId":{"shape":"OperationId"} + } + }, + "DnsConfig":{ + "type":"structure", + "required":[ + "NamespaceId", + "DnsRecords" + ], + "members":{ + "NamespaceId":{"shape":"ResourceId"}, + "RoutingPolicy":{"shape":"RoutingPolicy"}, + "DnsRecords":{"shape":"DnsRecordList"} + } + }, + "DnsConfigChange":{ + "type":"structure", + "required":["DnsRecords"], + "members":{ + "DnsRecords":{"shape":"DnsRecordList"} + } + }, + "DnsProperties":{ + "type":"structure", + "members":{ + "HostedZoneId":{"shape":"ResourceId"} + } + }, + "DnsRecord":{ + "type":"structure", + "required":[ + "Type", + "TTL" + ], + "members":{ + "Type":{"shape":"RecordType"}, + "TTL":{"shape":"RecordTTL"} + } + }, + "DnsRecordList":{ + "type":"list", + "member":{"shape":"DnsRecord"} + }, + "DuplicateRequest":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "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"}, + "InstanceId":{"shape":"ResourceId"} + } + }, + "GetInstanceResponse":{ + "type":"structure", + "members":{ + "Instance":{"shape":"Instance"} + } + }, + "GetInstancesHealthStatusRequest":{ + "type":"structure", + "required":["ServiceId"], + "members":{ + "ServiceId":{"shape":"ResourceId"}, + "Instances":{"shape":"InstanceIdList"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "GetInstancesHealthStatusResponse":{ + "type":"structure", + "members":{ + "Status":{"shape":"InstanceHealthStatusMap"}, + "NextToken":{"shape":"NextToken"} + } + }, + "GetNamespaceRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{"shape":"ResourceId"} + } + }, + "GetNamespaceResponse":{ + "type":"structure", + "members":{ + "Namespace":{"shape":"Namespace"} + } + }, + "GetOperationRequest":{ + "type":"structure", + "required":["OperationId"], + "members":{ + "OperationId":{"shape":"ResourceId"} + } + }, + "GetOperationResponse":{ + "type":"structure", + "members":{ + "Operation":{"shape":"Operation"} + } + }, + "GetServiceRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{"shape":"ResourceId"} + } + }, + "GetServiceResponse":{ + "type":"structure", + "members":{ + "Service":{"shape":"Service"} + } + }, + "HealthCheckConfig":{ + "type":"structure", + "members":{ + "Type":{"shape":"HealthCheckType"}, + "ResourcePath":{"shape":"ResourcePath"}, + "FailureThreshold":{"shape":"FailureThreshold"} + } + }, + "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"}, + "CreatorRequestId":{"shape":"ResourceId"}, + "Attributes":{"shape":"Attributes"} + } + }, + "InstanceHealthStatusMap":{ + "type":"map", + "key":{"shape":"ResourceId"}, + "value":{"shape":"HealthStatus"} + }, + "InstanceIdList":{ + "type":"list", + "member":{"shape":"ResourceId"}, + "min":1 + }, + "InstanceNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "InstanceSummary":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResourceId"}, + "Attributes":{"shape":"Attributes"} + } + }, + "InstanceSummaryList":{ + "type":"list", + "member":{"shape":"InstanceSummary"} + }, + "InvalidInput":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ListInstancesRequest":{ + "type":"structure", + "required":["ServiceId"], + "members":{ + "ServiceId":{"shape":"ResourceId"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListInstancesResponse":{ + "type":"structure", + "members":{ + "Instances":{"shape":"InstanceSummaryList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListNamespacesRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"}, + "Filters":{"shape":"NamespaceFilters"} + } + }, + "ListNamespacesResponse":{ + "type":"structure", + "members":{ + "Namespaces":{"shape":"NamespaceSummariesList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListOperationsRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"}, + "Filters":{"shape":"OperationFilters"} + } + }, + "ListOperationsResponse":{ + "type":"structure", + "members":{ + "Operations":{"shape":"OperationSummaryList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListServicesRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"}, + "Filters":{"shape":"ServiceFilters"} + } + }, + "ListServicesResponse":{ + "type":"structure", + "members":{ + "Services":{"shape":"ServiceSummariesList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "Message":{"type":"string"}, + "Namespace":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResourceId"}, + "Arn":{"shape":"Arn"}, + "Name":{"shape":"NamespaceName"}, + "Type":{"shape":"NamespaceType"}, + "Description":{"shape":"ResourceDescription"}, + "ServiceCount":{"shape":"ResourceCount"}, + "Properties":{"shape":"NamespaceProperties"}, + "CreateDate":{"shape":"Timestamp"}, + "CreatorRequestId":{"shape":"ResourceId"} + } + }, + "NamespaceAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "CreatorRequestId":{"shape":"ResourceId"}, + "NamespaceId":{"shape":"ResourceId"} + }, + "exception":true + }, + "NamespaceFilter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{"shape":"NamespaceFilterName"}, + "Values":{"shape":"FilterValues"}, + "Condition":{"shape":"FilterCondition"} + } + }, + "NamespaceFilterName":{ + "type":"string", + "enum":["TYPE"] + }, + "NamespaceFilters":{ + "type":"list", + "member":{"shape":"NamespaceFilter"} + }, + "NamespaceName":{ + "type":"string", + "max":1024 + }, + "NamespaceNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "NamespaceProperties":{ + "type":"structure", + "members":{ + "DnsProperties":{"shape":"DnsProperties"} + } + }, + "NamespaceSummariesList":{ + "type":"list", + "member":{"shape":"NamespaceSummary"} + }, + "NamespaceSummary":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResourceId"}, + "Arn":{"shape":"Arn"}, + "Name":{"shape":"NamespaceName"}, + "Type":{"shape":"NamespaceType"} + } + }, + "NamespaceType":{ + "type":"string", + "enum":[ + "DNS_PUBLIC", + "DNS_PRIVATE" + ] + }, + "NextToken":{ + "type":"string", + "max":4096 + }, + "Operation":{ + "type":"structure", + "members":{ + "Id":{"shape":"OperationId"}, + "Type":{"shape":"OperationType"}, + "Status":{"shape":"OperationStatus"}, + "ErrorMessage":{"shape":"Message"}, + "ErrorCode":{"shape":"Code"}, + "CreateDate":{"shape":"Timestamp"}, + "UpdateDate":{"shape":"Timestamp"}, + "Targets":{"shape":"OperationTargetsMap"} + } + }, + "OperationFilter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{"shape":"OperationFilterName"}, + "Values":{"shape":"FilterValues"}, + "Condition":{"shape":"FilterCondition"} + } + }, + "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"} + }, + "exception":true + }, + "OperationStatus":{ + "type":"string", + "enum":[ + "SUBMITTED", + "PENDING", + "SUCCESS", + "FAIL" + ] + }, + "OperationSummary":{ + "type":"structure", + "members":{ + "Id":{"shape":"OperationId"}, + "Status":{"shape":"OperationStatus"} + } + }, + "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"}, + "InstanceId":{"shape":"ResourceId"}, + "CreatorRequestId":{ + "shape":"ResourceId", + "idempotencyToken":true + }, + "Attributes":{"shape":"Attributes"} + } + }, + "RegisterInstanceResponse":{ + "type":"structure", + "members":{ + "OperationId":{"shape":"OperationId"} + } + }, + "ResourceCount":{"type":"integer"}, + "ResourceDescription":{ + "type":"string", + "max":1024 + }, + "ResourceId":{ + "type":"string", + "max":64 + }, + "ResourceInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ResourceLimitExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ResourcePath":{ + "type":"string", + "max":255 + }, + "RoutingPolicy":{ + "type":"string", + "enum":[ + "MULTIVALUE", + "WEIGHTED" + ] + }, + "Service":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResourceId"}, + "Arn":{"shape":"Arn"}, + "Name":{"shape":"ServiceName"}, + "Description":{"shape":"ResourceDescription"}, + "InstanceCount":{"shape":"ResourceCount"}, + "DnsConfig":{"shape":"DnsConfig"}, + "HealthCheckConfig":{"shape":"HealthCheckConfig"}, + "HealthCheckCustomConfig":{"shape":"HealthCheckCustomConfig"}, + "CreateDate":{"shape":"Timestamp"}, + "CreatorRequestId":{"shape":"ResourceId"} + } + }, + "ServiceAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "CreatorRequestId":{"shape":"ResourceId"}, + "ServiceId":{"shape":"ResourceId"} + }, + "exception":true + }, + "ServiceChange":{ + "type":"structure", + "required":["DnsConfig"], + "members":{ + "Description":{"shape":"ResourceDescription"}, + "DnsConfig":{"shape":"DnsConfigChange"}, + "HealthCheckConfig":{"shape":"HealthCheckConfig"} + } + }, + "ServiceFilter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{"shape":"ServiceFilterName"}, + "Values":{"shape":"FilterValues"}, + "Condition":{"shape":"FilterCondition"} + } + }, + "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"} + }, + "exception":true + }, + "ServiceSummariesList":{ + "type":"list", + "member":{"shape":"ServiceSummary"} + }, + "ServiceSummary":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResourceId"}, + "Arn":{"shape":"Arn"}, + "Name":{"shape":"ServiceName"}, + "Description":{"shape":"ResourceDescription"}, + "InstanceCount":{"shape":"ResourceCount"} + } + }, + "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"}, + "Service":{"shape":"ServiceChange"} + } + }, + "UpdateServiceResponse":{ + "type":"structure", + "members":{ + "OperationId":{"shape":"OperationId"} + } + } + } +} diff --git a/models/apis/servicediscovery/2017-03-14/docs-2.json b/models/apis/servicediscovery/2017-03-14/docs-2.json new file mode 100644 index 00000000000..e8519cec5f3 --- /dev/null +++ b/models/apis/servicediscovery/2017-03-14/docs-2.json @@ -0,0 +1,742 @@ +{ + "version": "2.0", + "service": "

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.

", + "operations": { + "CreatePrivateDnsNamespace": "

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": "

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": "

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": "

Deletes a namespace from the current account. If the namespace still contains one or more services, the request fails.

", + "DeleteService": "

Deletes a specified service. If the service still contains one or more registered instances, the request fails.

", + "DeregisterInstance": "

Deletes the records and the health check, if any, that Amazon Route 53 created for the specified instance.

", + "GetInstance": "

Gets information about a specified instance.

", + "GetInstancesHealthStatus": "

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": "

Gets information about a namespace.

", + "GetOperation": "

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": "

Gets the settings for a specified service.

", + "ListInstances": "

Lists summary information about the instances that you registered by using a specified service.

", + "ListNamespaces": "

Lists summary information about the namespaces that were created by the current AWS account.

", + "ListOperations": "

Lists operations that match the criteria that you specify.

", + "ListServices": "

Lists summary information for all the services that are associated with one or more specified namespaces.

", + "RegisterInstance": "

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": null, + "UpdateService": "

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": { + "base": null, + "refs": { + "Namespace$Arn": "

The Amazon Resource Name (ARN) that Route 53 assigns to the namespace when you create it.

", + "NamespaceSummary$Arn": "

The Amazon Resource Name (ARN) that Route 53 assigns to the namespace when you create it.

", + "Service$Arn": "

The Amazon Resource Name (ARN) that Route 53 assigns to the service when you create it.

", + "ServiceSummary$Arn": "

The Amazon Resource Name (ARN) that Route 53 assigns to the service when you create it.

" + } + }, + "AttrKey": { + "base": null, + "refs": { + "Attributes$key": null + } + }, + "AttrValue": { + "base": null, + "refs": { + "Attributes$value": null + } + }, + "Attributes": { + "base": null, + "refs": { + "Instance$Attributes": "

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.

", + "InstanceSummary$Attributes": "

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.

", + "RegisterInstanceRequest$Attributes": "

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.

" + } + }, + "Code": { + "base": null, + "refs": { + "Operation$ErrorCode": "

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

" + } + }, + "CreatePrivateDnsNamespaceRequest": { + "base": null, + "refs": { + } + }, + "CreatePrivateDnsNamespaceResponse": { + "base": null, + "refs": { + } + }, + "CreatePublicDnsNamespaceRequest": { + "base": null, + "refs": { + } + }, + "CreatePublicDnsNamespaceResponse": { + "base": null, + "refs": { + } + }, + "CreateServiceRequest": { + "base": null, + "refs": { + } + }, + "CreateServiceResponse": { + "base": null, + "refs": { + } + }, + "CustomHealthNotFound": { + "base": null, + "refs": { + } + }, + "CustomHealthStatus": { + "base": null, + "refs": { + "UpdateInstanceCustomHealthStatusRequest$Status": null + } + }, + "DeleteNamespaceRequest": { + "base": null, + "refs": { + } + }, + "DeleteNamespaceResponse": { + "base": null, + "refs": { + } + }, + "DeleteServiceRequest": { + "base": null, + "refs": { + } + }, + "DeleteServiceResponse": { + "base": null, + "refs": { + } + }, + "DeregisterInstanceRequest": { + "base": null, + "refs": { + } + }, + "DeregisterInstanceResponse": { + "base": null, + "refs": { + } + }, + "DnsConfig": { + "base": "

A complex type that contains information about the records that you want Amazon Route 53 to create when you register an instance.

", + "refs": { + "CreateServiceRequest$DnsConfig": "

A complex type that contains information about the records that you want Route 53 to create when you register an instance.

", + "Service$DnsConfig": "

A complex type that contains information about the records that you want Route 53 to create when you register an instance.

" + } + }, + "DnsConfigChange": { + "base": "

A complex type that contains information about changes to the records that Route 53 creates when you register an instance.

", + "refs": { + "ServiceChange$DnsConfig": "

A complex type that contains information about the records that you want Route 53 to create when you register an instance.

" + } + }, + "DnsProperties": { + "base": "

A complex type that contains the ID for the hosted zone that Route 53 creates when you create a namespace.

", + "refs": { + "NamespaceProperties$DnsProperties": "

A complex type that contains the ID for the hosted zone that Route 53 creates when you create a namespace.

" + } + }, + "DnsRecord": { + "base": "

A complex type that contains information about the records that you want Route 53 to create when you register an instance.

", + "refs": { + "DnsRecordList$member": null + } + }, + "DnsRecordList": { + "base": null, + "refs": { + "DnsConfig$DnsRecords": "

An array that contains one DnsRecord object for each record that you want Route 53 to create when you register an instance.

", + "DnsConfigChange$DnsRecords": "

An array that contains one DnsRecord object for each record that you want Route 53 to create when you register an instance.

" + } + }, + "DuplicateRequest": { + "base": "

The operation is already in progress.

", + "refs": { + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "CustomHealthNotFound$Message": null, + "DuplicateRequest$Message": null, + "InstanceNotFound$Message": null, + "InvalidInput$Message": null, + "NamespaceAlreadyExists$Message": null, + "NamespaceNotFound$Message": null, + "OperationNotFound$Message": null, + "ResourceInUse$Message": null, + "ResourceLimitExceeded$Message": null, + "ServiceAlreadyExists$Message": null, + "ServiceNotFound$Message": null + } + }, + "FailureThreshold": { + "base": null, + "refs": { + "HealthCheckConfig$FailureThreshold": "

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.

", + "HealthCheckCustomConfig$FailureThreshold": null + } + }, + "FilterCondition": { + "base": null, + "refs": { + "NamespaceFilter$Condition": "

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

", + "OperationFilter$Condition": "

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.

", + "ServiceFilter$Condition": "

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.

" + } + }, + "FilterValue": { + "base": null, + "refs": { + "FilterValues$member": null + } + }, + "FilterValues": { + "base": null, + "refs": { + "NamespaceFilter$Values": "

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.

", + "OperationFilter$Values": "

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.

", + "ServiceFilter$Values": "

The values that are applicable to the value that you specify for Condition to filter the list of services.

" + } + }, + "GetInstanceRequest": { + "base": null, + "refs": { + } + }, + "GetInstanceResponse": { + "base": null, + "refs": { + } + }, + "GetInstancesHealthStatusRequest": { + "base": null, + "refs": { + } + }, + "GetInstancesHealthStatusResponse": { + "base": null, + "refs": { + } + }, + "GetNamespaceRequest": { + "base": null, + "refs": { + } + }, + "GetNamespaceResponse": { + "base": null, + "refs": { + } + }, + "GetOperationRequest": { + "base": null, + "refs": { + } + }, + "GetOperationResponse": { + "base": null, + "refs": { + } + }, + "GetServiceRequest": { + "base": null, + "refs": { + } + }, + "GetServiceResponse": { + "base": null, + "refs": { + } + }, + "HealthCheckConfig": { + "base": "

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.

", + "refs": { + "CreateServiceRequest$HealthCheckConfig": "

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.

", + "Service$HealthCheckConfig": "

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.

", + "ServiceChange$HealthCheckConfig": null + } + }, + "HealthCheckCustomConfig": { + "base": null, + "refs": { + "CreateServiceRequest$HealthCheckCustomConfig": null, + "Service$HealthCheckCustomConfig": null + } + }, + "HealthCheckType": { + "base": null, + "refs": { + "HealthCheckConfig$Type": "

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.

" + } + }, + "HealthStatus": { + "base": null, + "refs": { + "InstanceHealthStatusMap$value": null + } + }, + "Instance": { + "base": "

A complex type that contains information about an instance that Amazon Route 53 creates when you submit a RegisterInstance request.

", + "refs": { + "GetInstanceResponse$Instance": "

A complex type that contains information about a specified instance.

" + } + }, + "InstanceHealthStatusMap": { + "base": null, + "refs": { + "GetInstancesHealthStatusResponse$Status": "

A complex type that contains the IDs and the health status of the instances that you specified in the GetInstancesHealthStatus request.

" + } + }, + "InstanceIdList": { + "base": null, + "refs": { + "GetInstancesHealthStatusRequest$Instances": "

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.

" + } + }, + "InstanceNotFound": { + "base": "

No instance exists with the specified ID, or the instance was recently registered, and information about the instance hasn't propagated yet.

", + "refs": { + } + }, + "InstanceSummary": { + "base": "

A complex type that contains information about the instances that you registered by using a specified service.

", + "refs": { + "InstanceSummaryList$member": null + } + }, + "InstanceSummaryList": { + "base": null, + "refs": { + "ListInstancesResponse$Instances": "

Summary information about the instances that are associated with the specified service.

" + } + }, + "InvalidInput": { + "base": "

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.

", + "refs": { + } + }, + "ListInstancesRequest": { + "base": null, + "refs": { + } + }, + "ListInstancesResponse": { + "base": null, + "refs": { + } + }, + "ListNamespacesRequest": { + "base": null, + "refs": { + } + }, + "ListNamespacesResponse": { + "base": null, + "refs": { + } + }, + "ListOperationsRequest": { + "base": null, + "refs": { + } + }, + "ListOperationsResponse": { + "base": null, + "refs": { + } + }, + "ListServicesRequest": { + "base": null, + "refs": { + } + }, + "ListServicesResponse": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "GetInstancesHealthStatusRequest$MaxResults": "

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.

", + "ListInstancesRequest$MaxResults": "

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.

", + "ListNamespacesRequest$MaxResults": "

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.

", + "ListOperationsRequest$MaxResults": "

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.

", + "ListServicesRequest$MaxResults": "

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.

" + } + }, + "Message": { + "base": null, + "refs": { + "Operation$ErrorMessage": "

If the value of Status is FAIL, the reason that the operation failed.

" + } + }, + "Namespace": { + "base": "

A complex type that contains information about a specified namespace.

", + "refs": { + "GetNamespaceResponse$Namespace": "

A complex type that contains information about the specified namespace.

" + } + }, + "NamespaceAlreadyExists": { + "base": "

The namespace that you're trying to create already exists.

", + "refs": { + } + }, + "NamespaceFilter": { + "base": "

A complex type that identifies the namespaces that you want to list. You can choose to list public or private namespaces.

", + "refs": { + "NamespaceFilters$member": null + } + }, + "NamespaceFilterName": { + "base": null, + "refs": { + "NamespaceFilter$Name": "

Specify TYPE.

" + } + }, + "NamespaceFilters": { + "base": null, + "refs": { + "ListNamespacesRequest$Filters": "

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.

" + } + }, + "NamespaceName": { + "base": null, + "refs": { + "CreatePrivateDnsNamespaceRequest$Name": "

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.

", + "CreatePublicDnsNamespaceRequest$Name": "

The name that you want to assign to this namespace.

", + "Namespace$Name": "

The name of the namespace, such as example.com.

", + "NamespaceSummary$Name": "

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.

" + } + }, + "NamespaceNotFound": { + "base": "

No namespace exists with the specified ID.

", + "refs": { + } + }, + "NamespaceProperties": { + "base": "

A complex type that contains information that is specific to the namespace type.

", + "refs": { + "Namespace$Properties": "

A complex type that contains information that's specific to the type of the namespace.

" + } + }, + "NamespaceSummariesList": { + "base": null, + "refs": { + "ListNamespacesResponse$Namespaces": "

An array that contains one NamespaceSummary object for each namespace that matches the specified filter criteria.

" + } + }, + "NamespaceSummary": { + "base": "

A complex type that contains information about a namespace.

", + "refs": { + "NamespaceSummariesList$member": null + } + }, + "NamespaceType": { + "base": null, + "refs": { + "Namespace$Type": "

The type of the namespace. Valid values are DNS_PUBLIC and DNS_PRIVATE.

", + "NamespaceSummary$Type": "

The type of the namespace, either public or private.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "GetInstancesHealthStatusRequest$NextToken": "

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$NextToken": "

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.

", + "ListInstancesRequest$NextToken": "

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.

", + "ListInstancesResponse$NextToken": "

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$NextToken": "

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.

", + "ListNamespacesResponse$NextToken": "

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$NextToken": "

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.

", + "ListOperationsResponse$NextToken": "

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$NextToken": "

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.

", + "ListServicesResponse$NextToken": "

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.

" + } + }, + "Operation": { + "base": "

A complex type that contains information about a specified operation.

", + "refs": { + "GetOperationResponse$Operation": "

A complex type that contains information about the operation.

" + } + }, + "OperationFilter": { + "base": "

A complex type that lets you select the operations that you want to list.

", + "refs": { + "OperationFilters$member": null + } + }, + "OperationFilterName": { + "base": null, + "refs": { + "OperationFilter$Name": "

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.

" + } + }, + "OperationFilters": { + "base": null, + "refs": { + "ListOperationsRequest$Filters": "

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.

" + } + }, + "OperationId": { + "base": null, + "refs": { + "CreatePrivateDnsNamespaceResponse$OperationId": "

A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

", + "CreatePublicDnsNamespaceResponse$OperationId": "

A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

", + "DeleteNamespaceResponse$OperationId": "

A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

", + "DeregisterInstanceResponse$OperationId": "

A value that you can use to determine whether the request completed successfully. For more information, see GetOperation.

", + "Operation$Id": "

The ID of the operation that you want to get information about.

", + "OperationSummary$Id": "

The ID for an operation.

", + "RegisterInstanceResponse$OperationId": "

A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

", + "UpdateServiceResponse$OperationId": "

A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

" + } + }, + "OperationNotFound": { + "base": "

No operation exists with the specified ID.

", + "refs": { + } + }, + "OperationStatus": { + "base": null, + "refs": { + "Operation$Status": "

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.

", + "OperationSummary$Status": "

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.

" + } + }, + "OperationSummary": { + "base": "

A complex type that contains information about an operation that matches the criteria that you specified in a ListOperations request.

", + "refs": { + "OperationSummaryList$member": null + } + }, + "OperationSummaryList": { + "base": null, + "refs": { + "ListOperationsResponse$Operations": "

Summary information about the operations that match the specified criteria.

" + } + }, + "OperationTargetType": { + "base": null, + "refs": { + "OperationTargetsMap$key": null + } + }, + "OperationTargetsMap": { + "base": null, + "refs": { + "Operation$Targets": "

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.

" + } + }, + "OperationType": { + "base": null, + "refs": { + "Operation$Type": "

The name of the operation that is associated with the specified ID.

" + } + }, + "RecordTTL": { + "base": null, + "refs": { + "DnsRecord$TTL": "

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.

" + } + }, + "RecordType": { + "base": null, + "refs": { + "DnsRecord$Type": "

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.

" + } + }, + "RegisterInstanceRequest": { + "base": null, + "refs": { + } + }, + "RegisterInstanceResponse": { + "base": null, + "refs": { + } + }, + "ResourceCount": { + "base": null, + "refs": { + "Namespace$ServiceCount": "

The number of services that are associated with the namespace.

", + "Service$InstanceCount": "

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.

", + "ServiceSummary$InstanceCount": "

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.

" + } + }, + "ResourceDescription": { + "base": null, + "refs": { + "CreatePrivateDnsNamespaceRequest$Description": "

A description for the namespace.

", + "CreatePublicDnsNamespaceRequest$Description": "

A description for the namespace.

", + "CreateServiceRequest$Description": "

A description for the service.

", + "Namespace$Description": "

The description that you specify for the namespace when you create it.

", + "Service$Description": "

The description of the service.

", + "ServiceChange$Description": "

A description for the service.

", + "ServiceSummary$Description": "

The description that you specify when you create the service.

" + } + }, + "ResourceId": { + "base": null, + "refs": { + "CreatePrivateDnsNamespaceRequest$CreatorRequestId": "

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.

", + "CreatePrivateDnsNamespaceRequest$Vpc": "

The ID of the Amazon VPC that you want to associate the namespace with.

", + "CreatePublicDnsNamespaceRequest$CreatorRequestId": "

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.

", + "CreateServiceRequest$CreatorRequestId": "

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.

", + "DeleteNamespaceRequest$Id": "

The ID of the namespace that you want to delete.

", + "DeleteServiceRequest$Id": "

The ID of the service that you want to delete.

", + "DeregisterInstanceRequest$ServiceId": "

The ID of the service that the instance is associated with.

", + "DeregisterInstanceRequest$InstanceId": "

The value that you specified for Id in the RegisterInstance request.

", + "DnsConfig$NamespaceId": "

The ID of the namespace to use for DNS configuration.

", + "DnsProperties$HostedZoneId": "

The ID for the hosted zone that Route 53 creates when you create a namespace.

", + "GetInstanceRequest$ServiceId": "

The ID of the service that the instance is associated with.

", + "GetInstanceRequest$InstanceId": "

The ID of the instance that you want to get information about.

", + "GetInstancesHealthStatusRequest$ServiceId": "

The ID of the service that the instance is associated with.

", + "GetNamespaceRequest$Id": "

The ID of the namespace that you want to get information about.

", + "GetOperationRequest$OperationId": "

The ID of the operation that you want to get more information about.

", + "GetServiceRequest$Id": "

The ID of the service that you want to get settings for.

", + "Instance$Id": "

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.

", + "Instance$CreatorRequestId": "

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.

", + "InstanceHealthStatusMap$key": null, + "InstanceIdList$member": null, + "InstanceSummary$Id": "

The ID for an instance that you created by using a specified service.

", + "ListInstancesRequest$ServiceId": "

The ID of the service that you want to list instances for.

", + "Namespace$Id": "

The ID of a namespace.

", + "Namespace$CreatorRequestId": "

A unique string that identifies the request and that allows failed requests to be retried without the risk of executing an operation twice.

", + "NamespaceAlreadyExists$CreatorRequestId": "

The CreatorRequestId that was used to create the namespace.

", + "NamespaceAlreadyExists$NamespaceId": "

The ID of the existing namespace.

", + "NamespaceSummary$Id": "

The ID of the namespace.

", + "OperationTargetsMap$value": null, + "RegisterInstanceRequest$ServiceId": "

The ID of the service that you want to use for settings for the records and health check that Route 53 will create.

", + "RegisterInstanceRequest$InstanceId": "

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.

", + "RegisterInstanceRequest$CreatorRequestId": "

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.

", + "Service$Id": "

The ID that Route 53 assigned to the service when you created it.

", + "Service$CreatorRequestId": "

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.

", + "ServiceAlreadyExists$CreatorRequestId": "

The CreatorRequestId that was used to create the service.

", + "ServiceAlreadyExists$ServiceId": "

The ID of the existing service.

", + "ServiceSummary$Id": "

The ID that Route 53 assigned to the service when you created it.

", + "UpdateInstanceCustomHealthStatusRequest$ServiceId": null, + "UpdateInstanceCustomHealthStatusRequest$InstanceId": null, + "UpdateServiceRequest$Id": "

The ID of the service that you want to update.

" + } + }, + "ResourceInUse": { + "base": "

The specified resource can't be deleted because it contains other resources. For example, you can't delete a service that contains any instances.

", + "refs": { + } + }, + "ResourceLimitExceeded": { + "base": "

The resource can't be created because you've reached the limit on the number of resources.

", + "refs": { + } + }, + "ResourcePath": { + "base": null, + "refs": { + "HealthCheckConfig$ResourcePath": "

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.

" + } + }, + "RoutingPolicy": { + "base": null, + "refs": { + "DnsConfig$RoutingPolicy": "

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.

" + } + }, + "Service": { + "base": "

A complex type that contains information about the specified service.

", + "refs": { + "CreateServiceResponse$Service": "

A complex type that contains information about the new service.

", + "GetServiceResponse$Service": "

A complex type that contains information about the service.

" + } + }, + "ServiceAlreadyExists": { + "base": "

The service can't be created because a service with the same name already exists.

", + "refs": { + } + }, + "ServiceChange": { + "base": "

A complex type that contains changes to an existing service.

", + "refs": { + "UpdateServiceRequest$Service": "

A complex type that contains the new settings for the service.

" + } + }, + "ServiceFilter": { + "base": "

A complex type that lets you specify the namespaces that you want to list services for.

", + "refs": { + "ServiceFilters$member": null + } + }, + "ServiceFilterName": { + "base": null, + "refs": { + "ServiceFilter$Name": "

Specify NAMESPACE_ID.

" + } + }, + "ServiceFilters": { + "base": null, + "refs": { + "ListServicesRequest$Filters": "

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.

" + } + }, + "ServiceName": { + "base": null, + "refs": { + "CreateServiceRequest$Name": "

The name that you want to assign to the service.

", + "Service$Name": "

The name of the service.

", + "ServiceSummary$Name": "

The name of the service.

" + } + }, + "ServiceNotFound": { + "base": "

No service exists with the specified ID.

", + "refs": { + } + }, + "ServiceSummariesList": { + "base": null, + "refs": { + "ListServicesResponse$Services": "

An array that contains one ServiceSummary object for each service that matches the specified filter criteria.

" + } + }, + "ServiceSummary": { + "base": "

A complex type that contains information about a specified service.

", + "refs": { + "ServiceSummariesList$member": null + } + }, + "Timestamp": { + "base": null, + "refs": { + "Namespace$CreateDate": "

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.

", + "Operation$CreateDate": "

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.

", + "Operation$UpdateDate": "

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.

", + "Service$CreateDate": "

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.

" + } + }, + "UpdateInstanceCustomHealthStatusRequest": { + "base": null, + "refs": { + } + }, + "UpdateServiceRequest": { + "base": null, + "refs": { + } + }, + "UpdateServiceResponse": { + "base": null, + "refs": { + } + } + } +} diff --git a/models/apis/ec2/2015-10-01/examples-1.json b/models/apis/servicediscovery/2017-03-14/examples-1.json similarity index 100% rename from models/apis/ec2/2015-10-01/examples-1.json rename to models/apis/servicediscovery/2017-03-14/examples-1.json diff --git a/models/apis/servicediscovery/2017-03-14/paginators-1.json b/models/apis/servicediscovery/2017-03-14/paginators-1.json new file mode 100644 index 00000000000..28919998295 --- /dev/null +++ b/models/apis/servicediscovery/2017-03-14/paginators-1.json @@ -0,0 +1,29 @@ +{ + "pagination": { + "GetInstancesHealthStatus": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListInstances": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListNamespaces": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListOperations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListServices": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff --git a/models/apis/shield/2016-06-02/api-2.json b/models/apis/shield/2016-06-02/api-2.json index d19f6ad500d..2696b1d99f1 100644 --- a/models/apis/shield/2016-06-02/api-2.json +++ b/models/apis/shield/2016-06-02/api-2.json @@ -12,6 +12,42 @@ "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"} + ] + }, + "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"} + ] + }, "CreateProtection":{ "name":"CreateProtection", "http":{ @@ -69,7 +105,8 @@ {"shape":"InternalErrorException"}, {"shape":"LockedSubscriptionException"}, {"shape":"ResourceNotFoundException"} - ] + ], + "deprecated":true }, "DescribeAttack":{ "name":"DescribeAttack", @@ -84,6 +121,32 @@ {"shape":"InvalidParameterException"} ] }, + "DescribeDRTAccess":{ + "name":"DescribeDRTAccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDRTAccessRequest"}, + "output":{"shape":"DescribeDRTAccessResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "DescribeEmergencyContactSettings":{ + "name":"DescribeEmergencyContactSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEmergencyContactSettingsRequest"}, + "output":{"shape":"DescribeEmergencyContactSettingsResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "DescribeProtection":{ "name":"DescribeProtection", "http":{ @@ -110,6 +173,38 @@ {"shape":"ResourceNotFoundException"} ] }, + "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"} + ] + }, + "DisassociateDRTRole":{ + "name":"DisassociateDRTRole", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateDRTRoleRequest"}, + "output":{"shape":"DisassociateDRTRoleResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidOperationException"}, + {"shape":"OptimisticLockException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "GetSubscriptionState":{ "name":"GetSubscriptionState", "http":{ @@ -146,11 +241,74 @@ "output":{"shape":"ListProtectionsResponse"}, "errors":[ {"shape":"InternalErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidPaginationTokenException"} + ] + }, + "UpdateEmergencyContactSettings":{ + "name":"UpdateEmergencyContactSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateEmergencyContactSettingsRequest"}, + "output":{"shape":"UpdateEmergencyContactSettingsResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OptimisticLockException"}, {"shape":"ResourceNotFoundException"} ] + }, + "UpdateSubscription":{ + "name":"UpdateSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSubscriptionRequest"}, + "output":{"shape":"UpdateSubscriptionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"LockedSubscriptionException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OptimisticLockException"} + ] } }, "shapes":{ + "AccessDeniedForDependencyException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "exception":true + }, + "AssociateDRTLogBucketRequest":{ + "type":"structure", + "required":["LogBucket"], + "members":{ + "LogBucket":{"shape":"LogBucket"} + } + }, + "AssociateDRTLogBucketResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociateDRTRoleRequest":{ + "type":"structure", + "required":["RoleArn"], + "members":{ + "RoleArn":{"shape":"RoleArn"} + } + }, + "AssociateDRTRoleResponse":{ + "type":"structure", + "members":{ + } + }, "AttackDetail":{ "type":"structure", "members":{ @@ -228,6 +386,13 @@ "type":"list", "member":{"shape":"AttackVectorDescription"} }, + "AutoRenew":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "Contributor":{ "type":"structure", "members":{ @@ -277,12 +442,14 @@ "DeleteSubscriptionRequest":{ "type":"structure", "members":{ - } + }, + "deprecated":true }, "DeleteSubscriptionResponse":{ "type":"structure", "members":{ - } + }, + "deprecated":true }, "DescribeAttackRequest":{ "type":"structure", @@ -297,6 +464,29 @@ "Attack":{"shape":"AttackDetail"} } }, + "DescribeDRTAccessRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeDRTAccessResponse":{ + "type":"structure", + "members":{ + "RoleArn":{"shape":"RoleArn"}, + "LogBucketList":{"shape":"LogBucketList"} + } + }, + "DescribeEmergencyContactSettingsRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeEmergencyContactSettingsResponse":{ + "type":"structure", + "members":{ + "EmergencyContactList":{"shape":"EmergencyContactList"} + } + }, "DescribeProtectionRequest":{ "type":"structure", "required":["ProtectionId"], @@ -321,11 +511,50 @@ "Subscription":{"shape":"Subscription"} } }, + "DisassociateDRTLogBucketRequest":{ + "type":"structure", + "required":["LogBucket"], + "members":{ + "LogBucket":{"shape":"LogBucket"} + } + }, + "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"} + } + }, + "EmergencyContactList":{ + "type":"list", + "member":{"shape":"EmergencyContact"}, + "max":10, + "min":0 + }, "GetSubscriptionStateRequest":{ "type":"structure", "members":{ @@ -354,6 +583,13 @@ }, "exception":true }, + "InvalidPaginationTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "exception":true + }, "InvalidParameterException":{ "type":"structure", "members":{ @@ -368,8 +604,19 @@ }, "exception":true }, + "Limit":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Max":{"shape":"Long"} + } + }, "LimitNumber":{"type":"long"}, "LimitType":{"type":"string"}, + "Limits":{ + "type":"list", + "member":{"shape":"Limit"} + }, "LimitsExceededException":{ "type":"structure", "members":{ @@ -417,6 +664,18 @@ }, "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", @@ -434,6 +693,13 @@ "type":"list", "member":{"shape":"Mitigation"} }, + "NoAssociatedRoleException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "exception":true + }, "OptimisticLockException":{ "type":"structure", "members":{ @@ -487,6 +753,11 @@ }, "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", @@ -512,7 +783,10 @@ "type":"structure", "members":{ "StartTime":{"shape":"Timestamp"}, - "TimeCommitmentInSeconds":{"shape":"DurationInSeconds"} + "EndTime":{"shape":"Timestamp"}, + "TimeCommitmentInSeconds":{"shape":"DurationInSeconds"}, + "AutoRenew":{"shape":"AutoRenew"}, + "Limits":{"shape":"Limits"} } }, "SubscriptionState":{ @@ -574,6 +848,28 @@ "REQUESTS" ] }, + "UpdateEmergencyContactSettingsRequest":{ + "type":"structure", + "members":{ + "EmergencyContactList":{"shape":"EmergencyContactList"} + } + }, + "UpdateEmergencyContactSettingsResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateSubscriptionRequest":{ + "type":"structure", + "members":{ + "AutoRenew":{"shape":"AutoRenew"} + } + }, + "UpdateSubscriptionResponse":{ + "type":"structure", + "members":{ + } + }, "errorMessage":{"type":"string"} } } diff --git a/models/apis/shield/2016-06-02/docs-2.json b/models/apis/shield/2016-06-02/docs-2.json index b32a177f821..56d56a1ecb8 100644 --- a/models/apis/shield/2016-06-02/docs-2.json +++ b/models/apis/shield/2016-06-02/docs-2.json @@ -2,18 +2,51 @@ "version": "2.0", "service": "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.

", "operations": { - "CreateProtection": "

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.

", - "CreateSubscription": "

Activates AWS Shield Advanced for an account.

", + "AssociateDRTLogBucket": "

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": "

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": "

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": "

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": "

Deletes an AWS Shield Advanced Protection.

", "DeleteSubscription": "

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.

", "DescribeAttack": "

Describes the details of a DDoS attack.

", + "DescribeDRTAccess": "

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": "

Lists the email addresses that the DRT can use to contact you during a suspected attack.

", "DescribeProtection": "

Lists the details of a Protection object.

", "DescribeSubscription": "

Provides details about the AWS Shield Advanced subscription for an account.

", + "DisassociateDRTLogBucket": "

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": "

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": "

Returns the SubscriptionState, either Active or Inactive.

", "ListAttacks": "

Returns all ongoing DDoS attacks or all DDoS attacks during a specified time period.

", - "ListProtections": "

Lists all Protection objects for the account.

" + "ListProtections": "

Lists all Protection objects for the account.

", + "UpdateEmergencyContactSettings": "

Updates the details of the list of email addresses that the DRT can use to contact you during a suspected attack.

", + "UpdateSubscription": "

Updates the details of an existing subscription. Only enter values for parameters you want to change. Empty parameters are not updated.

" }, "shapes": { + "AccessDeniedForDependencyException": { + "base": "

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.

", + "refs": { + } + }, + "AssociateDRTLogBucketRequest": { + "base": null, + "refs": { + } + }, + "AssociateDRTLogBucketResponse": { + "base": null, + "refs": { + } + }, + "AssociateDRTRoleRequest": { + "base": null, + "refs": { + } + }, + "AssociateDRTRoleResponse": { + "base": null, + "refs": { + } + }, "AttackDetail": { "base": "

The details of a DDoS attack.

", "refs": { @@ -86,6 +119,13 @@ "AttackSummary$AttackVectors": "

The list of attacks for a specified time period.

" } }, + "AutoRenew": { + "base": null, + "refs": { + "Subscription$AutoRenew": "

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.

", + "UpdateSubscriptionRequest$AutoRenew": "

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.

" + } + }, "Contributor": { "base": "

A contributor to the attack and their contribution.

", "refs": { @@ -142,6 +182,26 @@ "refs": { } }, + "DescribeDRTAccessRequest": { + "base": null, + "refs": { + } + }, + "DescribeDRTAccessResponse": { + "base": null, + "refs": { + } + }, + "DescribeEmergencyContactSettingsRequest": { + "base": null, + "refs": { + } + }, + "DescribeEmergencyContactSettingsResponse": { + "base": null, + "refs": { + } + }, "DescribeProtectionRequest": { "base": null, "refs": { @@ -162,6 +222,26 @@ "refs": { } }, + "DisassociateDRTLogBucketRequest": { + "base": null, + "refs": { + } + }, + "DisassociateDRTLogBucketResponse": { + "base": null, + "refs": { + } + }, + "DisassociateDRTRoleRequest": { + "base": null, + "refs": { + } + }, + "DisassociateDRTRoleResponse": { + "base": null, + "refs": { + } + }, "Double": { "base": null, "refs": { @@ -176,6 +256,25 @@ "Subscription$TimeCommitmentInSeconds": "

The length, in seconds, of the AWS Shield Advanced subscription for the account.

" } }, + "EmailAddress": { + "base": null, + "refs": { + "EmergencyContact$EmailAddress": "

An email address that the DRT can use to contact you during a suspected attack.

" + } + }, + "EmergencyContact": { + "base": "

Contact information that the DRT can use to contact you during a suspected attack.

", + "refs": { + "EmergencyContactList$member": null + } + }, + "EmergencyContactList": { + "base": null, + "refs": { + "DescribeEmergencyContactSettingsResponse$EmergencyContactList": "

A list of email addresses that the DRT can use to contact you during a suspected attack.

", + "UpdateEmergencyContactSettingsRequest$EmergencyContactList": "

A list of email addresses that the DRT can use to contact you during a suspected attack.

" + } + }, "GetSubscriptionStateRequest": { "base": null, "refs": { @@ -202,6 +301,11 @@ "refs": { } }, + "InvalidPaginationTokenException": { + "base": "

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.

", + "refs": { + } + }, "InvalidParameterException": { "base": "

Exception that indicates that the parameters passed to the API are invalid.

", "refs": { @@ -212,6 +316,12 @@ "refs": { } }, + "Limit": { + "base": "

Specifies how many protections of a given type you can create.

", + "refs": { + "Limits$member": null + } + }, "LimitNumber": { "base": null, "refs": { @@ -224,6 +334,12 @@ "LimitsExceededException$Type": null } }, + "Limits": { + "base": null, + "refs": { + "Subscription$Limits": "

Specifies how many protections of a given type you can create.

" + } + }, "LimitsExceededException": { "base": "

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.

", "refs": { @@ -250,15 +366,30 @@ } }, "LockedSubscriptionException": { - "base": "

Exception that indicates that the subscription you are trying to delete has not yet completed the 1-year commitment. You cannot delete this subscription.

", + "base": "

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.

", + "refs": { + } + }, + "LogBucket": { + "base": null, "refs": { + "AssociateDRTLogBucketRequest$LogBucket": "

The Amazon S3 bucket that contains your flow logs.

", + "DisassociateDRTLogBucketRequest$LogBucket": "

The Amazon S3 bucket that contains your flow logs.

", + "LogBucketList$member": null + } + }, + "LogBucketList": { + "base": null, + "refs": { + "DescribeDRTAccessResponse$LogBucketList": "

The list of Amazon S3 buckets accessed by the DRT.

" } }, "Long": { "base": null, "refs": { "AttackProperty$Total": "

The total contributions made to this attack by all contributors, not just the five listed in the TopContributors list.

", - "Contributor$Value": "

The contribution of this contributor expressed in Protection units. For example 10,000.

" + "Contributor$Value": "

The contribution of this contributor expressed in Protection units. For example 10,000.

", + "Limit$Max": "

The maximum number of protections that can be created for the specified Type.

" } }, "MaxResults": { @@ -280,6 +411,11 @@ "AttackDetail$Mitigations": "

List of mitigation actions taken for the attack.

" } }, + "NoAssociatedRoleException": { + "base": "

The ARN of the role that you specifed does not exist.

", + "refs": { + } + }, "OptimisticLockException": { "base": "

Exception that indicates that the protection state has been modified by another client. You can retry the request.

", "refs": { @@ -339,6 +475,13 @@ "refs": { } }, + "RoleArn": { + "base": null, + "refs": { + "AssociateDRTRoleRequest$RoleArn": "

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.

", + "DescribeDRTAccessResponse$RoleArn": "

The Amazon Resource Name (ARN) of the role the DRT used to access your AWS account.

" + } + }, "String": { "base": null, "refs": { @@ -346,6 +489,7 @@ "AttackSummary$ResourceArn": "

The ARN (Amazon Resource Name) of the resource that was attacked.

", "AttackVectorDescription$VectorType": "

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

", "Contributor$Name": "

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.

", + "Limit$Type": "

The type of protection.

", "Mitigation$MitigationName": "

The name of the mitigation taken for this attack.

", "SubResourceSummary$Id": "

The unique identifier (ID) of the SubResource.

", "SummarizedAttackVector$VectorType": "

The attack type, for example, SNMP reflection or SYN flood.

", @@ -419,7 +563,8 @@ "Timestamp": { "base": null, "refs": { - "Subscription$StartTime": "

The start time of the subscription, in Unix time in seconds. For more information see timestamp.

" + "Subscription$StartTime": "

The start time of the subscription, in Unix time in seconds. For more information see timestamp.

", + "Subscription$EndTime": "

The date and time your subscription will end.

" } }, "Token": { @@ -443,15 +588,38 @@ "AttackProperty$Unit": "

The unit of the Value of the contributions.

" } }, + "UpdateEmergencyContactSettingsRequest": { + "base": null, + "refs": { + } + }, + "UpdateEmergencyContactSettingsResponse": { + "base": null, + "refs": { + } + }, + "UpdateSubscriptionRequest": { + "base": null, + "refs": { + } + }, + "UpdateSubscriptionResponse": { + "base": null, + "refs": { + } + }, "errorMessage": { "base": null, "refs": { + "AccessDeniedForDependencyException$message": null, "InternalErrorException$message": null, "InvalidOperationException$message": null, + "InvalidPaginationTokenException$message": null, "InvalidParameterException$message": null, "InvalidResourceException$message": null, "LimitsExceededException$message": null, "LockedSubscriptionException$message": null, + "NoAssociatedRoleException$message": null, "OptimisticLockException$message": null, "ResourceAlreadyExistsException$message": null, "ResourceNotFoundException$message": null diff --git a/models/apis/sms/2016-10-24/docs-2.json b/models/apis/sms/2016-10-24/docs-2.json index a4d9d522238..47e843f7570 100644 --- a/models/apis/sms/2016-10-24/docs-2.json +++ b/models/apis/sms/2016-10-24/docs-2.json @@ -54,7 +54,7 @@ } }, "ConnectorStatus": { - "base": "Status of on-premise Connector", + "base": "Status of on-premises Connector", "refs": { "Connector$status": null } diff --git a/models/apis/snowball/2016-06-30/api-2.json b/models/apis/snowball/2016-06-30/api-2.json index b2eb52d2854..a9a449cba6d 100755 --- a/models/apis/snowball/2016-06-30/api-2.json +++ b/models/apis/snowball/2016-06-30/api-2.json @@ -7,6 +7,7 @@ "protocol":"json", "serviceAbbreviation":"Amazon Snowball", "serviceFullName":"Amazon Import/Export Snowball", + "serviceId":"Snowball", "signatureVersion":"v4", "targetPrefix":"AWSIESnowballJobManagementService", "uid":"snowball-2016-06-30" @@ -64,7 +65,8 @@ "errors":[ {"shape":"InvalidResourceException"}, {"shape":"KMSRequestFailedException"}, - {"shape":"InvalidInputCombinationException"} + {"shape":"InvalidInputCombinationException"}, + {"shape":"Ec2RequestFailedException"} ] }, "CreateJob":{ @@ -79,7 +81,8 @@ {"shape":"InvalidResourceException"}, {"shape":"KMSRequestFailedException"}, {"shape":"InvalidInputCombinationException"}, - {"shape":"ClusterLimitExceededException"} + {"shape":"ClusterLimitExceededException"}, + {"shape":"Ec2RequestFailedException"} ] }, "DescribeAddress":{ @@ -191,6 +194,19 @@ {"shape":"InvalidNextTokenException"} ] }, + "ListCompatibleImages":{ + "name":"ListCompatibleImages", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCompatibleImagesRequest"}, + "output":{"shape":"ListCompatibleImagesResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"Ec2RequestFailedException"} + ] + }, "ListJobs":{ "name":"ListJobs", "http":{ @@ -215,7 +231,8 @@ {"shape":"InvalidResourceException"}, {"shape":"InvalidJobStateException"}, {"shape":"KMSRequestFailedException"}, - {"shape":"InvalidInputCombinationException"} + {"shape":"InvalidInputCombinationException"}, + {"shape":"Ec2RequestFailedException"} ] }, "UpdateJob":{ @@ -231,7 +248,8 @@ {"shape":"InvalidJobStateException"}, {"shape":"KMSRequestFailedException"}, {"shape":"InvalidInputCombinationException"}, - {"shape":"ClusterLimitExceededException"} + {"shape":"ClusterLimitExceededException"}, + {"shape":"Ec2RequestFailedException"} ] } }, @@ -265,6 +283,12 @@ "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", @@ -344,6 +368,17 @@ "Cancelled" ] }, + "CompatibleImage":{ + "type":"structure", + "members":{ + "AmiId":{"shape":"String"}, + "Name":{"shape":"String"} + } + }, + "CompatibleImageList":{ + "type":"list", + "member":{"shape":"CompatibleImage"} + }, "CreateAddressRequest":{ "type":"structure", "required":["Address"], @@ -471,6 +506,25 @@ "SubJobMetadata":{"shape":"JobMetadataList"} } }, + "Ec2AmiResource":{ + "type":"structure", + "required":["AmiId"], + "members":{ + "AmiId":{"shape":"AmiId"}, + "SnowballAmiId":{"shape":"String"} + } + }, + "Ec2AmiResourceList":{ + "type":"list", + "member":{"shape":"Ec2AmiResource"} + }, + "Ec2RequestFailedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "EventTriggerDefinition":{ "type":"structure", "members":{ @@ -551,7 +605,8 @@ "InvalidResourceException":{ "type":"structure", "members":{ - "Message":{"shape":"String"} + "Message":{"shape":"String"}, + "ResourceType":{"shape":"String"} }, "exception":true }, @@ -615,7 +670,8 @@ "type":"structure", "members":{ "S3Resources":{"shape":"S3ResourceList"}, - "LambdaResources":{"shape":"LambdaResourceList"} + "LambdaResources":{"shape":"LambdaResourceList"}, + "Ec2AmiResources":{"shape":"Ec2AmiResourceList"} } }, "JobState":{ @@ -707,6 +763,20 @@ "NextToken":{"shape":"String"} } }, + "ListCompatibleImagesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"ListLimit"}, + "NextToken":{"shape":"String"} + } + }, + "ListCompatibleImagesResult":{ + "type":"structure", + "members":{ + "CompatibleImages":{"shape":"CompatibleImageList"}, + "NextToken":{"shape":"String"} + } + }, "ListJobsRequest":{ "type":"structure", "members":{ diff --git a/models/apis/snowball/2016-06-30/docs-2.json b/models/apis/snowball/2016-06-30/docs-2.json index 194f4fe9661..693c11a461d 100755 --- a/models/apis/snowball/2016-06-30/docs-2.json +++ b/models/apis/snowball/2016-06-30/docs-2.json @@ -1,9 +1,9 @@ { "version": "2.0", - "service": "

AWS Snowball is a petabyte-scale data transport solution that uses secure appliances to transfer large amounts of data between your on-premises data centers and Amazon Simple Storage Service (Amazon S3). The Snowball commands described here provide access to the same functionality that is available in the AWS Snowball Management Console, which enables you to create and manage jobs for Snowball. To transfer data locally with a Snowball appliance, you'll need to use the Snowball client or the Amazon S3 API adapter for Snowball. For more information, see the User Guide.

", + "service": "

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.

", "operations": { "CancelCluster": "

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": "

Cancels the specified job. You can only cancel a job before its JobState value changes to PreparingAppliance. Requesting the ListJobs or DescribeJob action will return a job's JobState as part of the response element data returned.

", + "CancelJob": "

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": "

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": "

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": "

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.

", @@ -16,6 +16,7 @@ "GetSnowballUsage": "

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": "

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": "

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": "

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": "

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": "

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": "

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.

" @@ -35,7 +36,7 @@ "Address$AddressId": "

The unique ID for an address.

", "ClusterMetadata$AddressId": "

The automatically generated ID for a specific address.

", "ClusterMetadata$ForwardingAddressId": "

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.

", - "CreateClusterRequest$AddressId": "

The ID for the address that you want the cluster shipped to.>

", + "CreateClusterRequest$AddressId": "

The ID for the address that you want the cluster shipped to.

", "CreateClusterRequest$ForwardingAddressId": "

The forwarding address ID for a cluster. This field is not supported in most regions.

", "CreateJobRequest$AddressId": "

The ID for the address that you want the Snowball shipped to.

", "CreateJobRequest$ForwardingAddressId": "

The forwarding address ID for a job. This field is not supported in most regions.

", @@ -54,6 +55,12 @@ "DescribeAddressesResult$Addresses": "

The Snowball shipping addresses that were created for this account.

" } }, + "AmiId": { + "base": null, + "refs": { + "Ec2AmiResource$AmiId": "

The ID of the AMI in Amazon EC2.

" + } + }, "Boolean": { "base": null, "refs": { @@ -123,6 +130,18 @@ "ClusterMetadata$ClusterState": "

The current status of the cluster.

" } }, + "CompatibleImage": { + "base": "

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.

", + "refs": { + "CompatibleImageList$member": null + } + }, + "CompatibleImageList": { + "base": null, + "refs": { + "ListCompatibleImagesResult$CompatibleImages": "

A JSON-formatted object that describes a compatible AMI, including the ID and name for a Snowball Edge AMI.

" + } + }, "CreateAddressRequest": { "base": null, "refs": { @@ -154,9 +173,9 @@ } }, "DataTransfer": { - "base": "

Defines the real-time status of a Snowball's data transfer while the appliance is at AWS. This data is only available while a job has a JobState value of InProgress, for both import and export jobs.

", + "base": "

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.

", "refs": { - "JobMetadata$DataTransferProgress": "

A value that defines the real-time status of a Snowball's data transfer while the appliance is at AWS. This data is only available while a job has a JobState value of InProgress, for both import and export jobs.

" + "JobMetadata$DataTransferProgress": "

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.

" } }, "DescribeAddressRequest": { @@ -199,6 +218,23 @@ "refs": { } }, + "Ec2AmiResource": { + "base": "

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.

", + "refs": { + "Ec2AmiResourceList$member": null + } + }, + "Ec2AmiResourceList": { + "base": null, + "refs": { + "JobResource$Ec2AmiResources": "

The Amazon Machine Images (AMIs) associated with this job.

" + } + }, + "Ec2RequestFailedException": { + "base": "

Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted action.

", + "refs": { + } + }, "EventTriggerDefinition": { "base": "

The container for the EventTriggerDefinition$EventResourceARN.

", "refs": { @@ -317,14 +353,14 @@ } }, "JobResource": { - "base": "

Contains an array of S3Resource objects. Each S3Resource object represents an Amazon S3 bucket that your transferred data will be exported from or imported into.

", + "base": "

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.

", "refs": { "ClusterMetadata$Resources": "

The arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects.

", "CreateClusterRequest$Resources": "

The resources associated with the cluster job. These resources include Amazon S3 buckets and optional AWS Lambda functions written in the Python language.

", "CreateJobRequest$Resources": "

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.

", "JobMetadata$Resources": "

An array of S3Resource objects. Each S3Resource object represents an Amazon S3 bucket that your transferred data will be exported from or imported into.

", "UpdateClusterRequest$Resources": "

The updated arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects.

", - "UpdateJobRequest$Resources": "

The updated S3Resource object (for a single Amazon S3 bucket or key range), or the updated JobResource object (for multiple buckets or key ranges).

" + "UpdateJobRequest$Resources": "

The updated JobResource object, or the updated JobResource object.

" } }, "JobState": { @@ -403,6 +439,16 @@ "refs": { } }, + "ListCompatibleImagesRequest": { + "base": null, + "refs": { + } + }, + "ListCompatibleImagesResult": { + "base": null, + "refs": { + } + }, "ListJobsRequest": { "base": null, "refs": { @@ -419,6 +465,7 @@ "DescribeAddressesRequest$MaxResults": "

The number of ADDRESS objects to return.

", "ListClusterJobsRequest$MaxResults": "

The number of JobListEntry objects to return.

", "ListClustersRequest$MaxResults": "

The number of ClusterListEntry objects to return.

", + "ListCompatibleImagesRequest$MaxResults": "

The maximum number of results for the list of compatible images. Currently, a Snowball Edge device can store 10 AMIs.

", "ListJobsRequest$MaxResults": "

The number of JobListEntry objects to return.

" } }, @@ -476,8 +523,8 @@ "Shipment": { "base": "

The Status and TrackingNumber information for an inbound or outbound shipment.

", "refs": { - "ShippingDetails$InboundShipment": "

The Status and TrackingNumber values for a Snowball being delivered to the address that you specified for a particular job.

", - "ShippingDetails$OutboundShipment": "

The Status and TrackingNumber values for a Snowball being returned to AWS for a particular job.

" + "ShippingDetails$InboundShipment": "

The Status and TrackingNumber values for a Snowball being returned to AWS for a particular job.

", + "ShippingDetails$OutboundShipment": "

The Status and TrackingNumber values for a Snowball being delivered to the address that you specified for a particular job.

" } }, "ShippingDetails": { @@ -489,8 +536,8 @@ "ShippingOption": { "base": null, "refs": { - "ClusterMetadata$ShippingOption": "

The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge appliance, rather it represents how quickly each appliance moves to its destination while in transit. Regional shipping speeds are as follows:

  • In Australia, you have access to express shipping. Typically, appliances 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.

", - "CreateClusterRequest$ShippingOption": "

The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge appliance, rather it represents how quickly each appliance moves to its destination while in transit. Regional shipping speeds are as follows:

  • In Australia, you have access to express shipping. Typically, appliances 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.

", + "ClusterMetadata$ShippingOption": "

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.

", + "CreateClusterRequest$ShippingOption": "

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.

", "CreateJobRequest$ShippingOption": "

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.

", "ShippingDetails$ShippingOption": "

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.

", "UpdateClusterRequest$ShippingOption": "

The updated shipping option value of this cluster's ShippingDetails object.

", @@ -508,11 +555,11 @@ "SnowballType": { "base": null, "refs": { - "ClusterMetadata$SnowballType": "

The type of AWS Snowball appliance to use for this cluster. Currently, the only supported appliance type for cluster jobs is EDGE.

", - "CreateClusterRequest$SnowballType": "

The type of AWS Snowball appliance to use for this cluster. Currently, the only supported appliance type for cluster jobs is EDGE.

", - "CreateJobRequest$SnowballType": "

The type of AWS Snowball appliance to use for this job. Currently, the only supported appliance type for cluster jobs is EDGE.

", - "JobListEntry$SnowballType": "

The type of appliance used with this job.

", - "JobMetadata$SnowballType": "

The type of appliance used with this job.

" + "ClusterMetadata$SnowballType": "

The type of AWS Snowball device to use for this cluster. Currently, the only supported device type for cluster jobs is EDGE.

", + "CreateClusterRequest$SnowballType": "

The type of AWS Snowball device to use for this cluster. Currently, the only supported device type for cluster jobs is EDGE.

", + "CreateJobRequest$SnowballType": "

The type of AWS Snowball device to use for this job. Currently, the only supported device type for cluster jobs is EDGE.

", + "JobListEntry$SnowballType": "

The type of device used with this job.

", + "JobMetadata$SnowballType": "

The type of device used with this job.

" } }, "SnsTopicARN": { @@ -541,11 +588,15 @@ "ClusterListEntry$Description": "

Defines an optional description of the cluster, for example Environmental Data Cluster-01.

", "ClusterMetadata$ClusterId": "

The automatically generated ID for a cluster.

", "ClusterMetadata$Description": "

The optional description of the cluster.

", + "CompatibleImage$AmiId": "

The unique identifier for an individual Snowball Edge AMI.

", + "CompatibleImage$Name": "

The optional name of a compatible image.

", "CreateAddressResult$AddressId": "

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$Description": "

An optional description of this specific cluster, for example Environmental Data Cluster-01.

", "CreateJobRequest$Description": "

Defines an optional description of this specific job, for example Important Photos 2016-08-11.

", "DescribeAddressesRequest$NextToken": "

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$NextToken": "

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.

", + "Ec2AmiResource$SnowballAmiId": "

The ID of the AMI on the Snowball Edge device.

", + "Ec2RequestFailedException$Message": null, "GetJobManifestResult$ManifestURI": "

The Amazon S3 presigned URL for the manifest file associated with the specified JobId value.

", "GetJobUnlockCodeResult$UnlockCode": "

The UnlockCode value for the specified job. The UnlockCode value can be accessed for up to 90 days after the job has been created.

", "InvalidAddressException$Message": null, @@ -553,6 +604,7 @@ "InvalidJobStateException$Message": null, "InvalidNextTokenException$Message": null, "InvalidResourceException$Message": null, + "InvalidResourceException$ResourceType": "

The provided resource value is invalid.

", "JobListEntry$JobId": "

The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.

", "JobListEntry$Description": "

The optional description of this specific job, for example Important Photos 2016-08-11.

", "JobLogs$JobCompletionReportURI": "

A link to an Amazon S3 presigned URL where the job completion report is located.

", @@ -568,6 +620,8 @@ "ListClusterJobsResult$NextToken": "

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$NextToken": "

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$NextToken": "

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$NextToken": "

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$NextToken": "

Because HTTP requests are stateless, this is the starting point for your next list of returned images.

", "ListJobsRequest$NextToken": "

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$NextToken": "

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.

", "Shipment$Status": "

Status information for a shipment.

", diff --git a/models/apis/snowball/2016-06-30/smoke.json b/models/apis/snowball/2016-06-30/smoke.json new file mode 100644 index 00000000000..a512b51752c --- /dev/null +++ b/models/apis/snowball/2016-06-30/smoke.json @@ -0,0 +1,11 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeAddresses", + "input": {}, + "errorExpectedFromService": false + } + ] +} diff --git a/models/apis/sns/2010-03-31/api-2.json b/models/apis/sns/2010-03-31/api-2.json index de483026a4d..944854b9b6f 100644 --- a/models/apis/sns/2010-03-31/api-2.json +++ b/models/apis/sns/2010-03-31/api-2.json @@ -1,13 +1,14 @@ { "version":"2.0", "metadata":{ - "uid":"sns-2010-03-31", "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":{ @@ -458,6 +459,7 @@ "input":{"shape":"SetSubscriptionAttributesInput"}, "errors":[ {"shape":"InvalidParameterException"}, + {"shape":"FilterPolicyLimitExceededException"}, {"shape":"InternalErrorException"}, {"shape":"NotFoundException"}, {"shape":"AuthorizationErrorException"} @@ -490,6 +492,7 @@ }, "errors":[ {"shape":"SubscriptionLimitExceededException"}, + {"shape":"FilterPolicyLimitExceededException"}, {"shape":"InvalidParameterException"}, {"shape":"InternalErrorException"}, {"shape":"NotFoundException"}, @@ -670,6 +673,18 @@ }, "exception":true }, + "FilterPolicyLimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "error":{ + "code":"FilterPolicyLimitExceeded", + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, "GetEndpointAttributesInput":{ "type":"structure", "required":["EndpointArn"], @@ -1035,7 +1050,9 @@ "members":{ "TopicArn":{"shape":"topicARN"}, "Protocol":{"shape":"protocol"}, - "Endpoint":{"shape":"endpoint"} + "Endpoint":{"shape":"endpoint"}, + "Attributes":{"shape":"SubscriptionAttributesMap"}, + "ReturnSubscriptionArn":{"shape":"boolean"} } }, "SubscribeResponse":{ diff --git a/models/apis/sns/2010-03-31/docs-2.json b/models/apis/sns/2010-03-31/docs-2.json index 6073ae181f6..750def9826e 100644 --- a/models/apis/sns/2010-03-31/docs-2.json +++ b/models/apis/sns/2010-03-31/docs-2.json @@ -16,22 +16,22 @@ "GetSMSAttributes": "

Returns the settings for sending SMS messages from your account.

These settings are set with the SetSMSAttributes action.

", "GetSubscriptionAttributes": "

Returns all of the properties of a subscription.

", "GetTopicAttributes": "

Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.

", - "ListEndpointsByPlatformApplication": "

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.

", + "ListEndpointsByPlatformApplication": "

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": "

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": "

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.

", - "ListSubscriptions": "

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.

", - "ListSubscriptionsByTopic": "

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.

", - "ListTopics": "

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.

", + "ListPlatformApplications": "

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": "

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": "

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": "

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": "

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": "

Sends a message to all of a topic's subscribed endpoints. When a messageId is returned, the message has been saved and Amazon SNS will attempt to deliver it to the topic's subscribers shortly. The format of the outgoing message to each subscribed endpoint depends on the notification protocol.

To use the Publish action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the CreatePlatformEndpoint action.

For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.

", + "Publish": "

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": "

Removes a statement from a topic's access control policy.

", "SetEndpointAttributes": "

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": "

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": "

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": "

Allows a subscription owner to set an attribute of the topic to a new value.

", + "SetSubscriptionAttributes": "

Allows a subscription owner to set an attribute of the subscription to a new value.

", "SetTopicAttributes": "

Allows a topic owner to set an attribute of the topic to a new value.

", - "Subscribe": "

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.

", - "Unsubscribe": "

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.

" + "Subscribe": "

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": "

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": { @@ -138,6 +138,11 @@ "refs": { } }, + "FilterPolicyLimitExceededException": { + "base": "

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.

", + "refs": { + } + }, "GetEndpointAttributesInput": { "base": "

Input for GetEndpointAttributes action.

", "refs": { @@ -293,7 +298,7 @@ "PlatformApplication$Attributes": "

Attributes for platform application object.

", "SetEndpointAttributesInput$Attributes": "

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.

", "SetPlatformApplicationAttributesInput$Attributes": "

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.

", - "SetSMSAttributesInput$attributes": "

The default settings for sending SMS messages from your account. You can set values for the following attribute names:

MonthlySpendLimit – The maximum amount in USD that you are willing to spend each month to send SMS messages. When Amazon SNS determines that sending an SMS message would incur a cost that exceeds this limit, it stops sending SMS messages within minutes.

Amazon SNS stops sending SMS messages within minutes of the limit being crossed. During that interval, if you continue to send SMS messages, you will incur costs that exceed your limit.

By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to exceed the maximum, contact AWS Support or your AWS sales representative for a service limit increase.

DeliveryStatusIAMRole – The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For each SMS message that you send, Amazon SNS writes a log that includes the message price, the success or failure status, the reason for failure (if the message failed), the message dwell time, and other information.

DeliveryStatusSuccessSamplingRate – The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value can be an integer from 0 - 100. For example, to write logs only for failed deliveries, set this value to 0. To write logs for 10% of your successful deliveries, set it to 10.

DefaultSenderID – A string, such as your business brand, that is displayed as the sender on the receiving device. Support for sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric characters, and it must contain at least one letter.

DefaultSMSType – The type of SMS message that you will send by default. You can assign the following values:

  • Promotional – (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the message delivery to incur the lowest cost.

  • Transactional – Critical messages that support customer transactions, such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes the message delivery to achieve the highest reliability.

UsageReportS3Bucket – The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage report as a CSV file to the bucket. The report includes the following information for each SMS message that was successfully delivered by your account:

  • Time that the message was published (in UTC)

  • Message ID

  • Destination phone number

  • Message type

  • Delivery status

  • Message price (in USD)

  • Part number (a message is split into multiple parts if it is too long for a single message)

  • Total number of parts

To receive the report, the bucket must have a policy that allows the Amazon SNS service principle to perform the s3:PutObject and s3:GetBucketLocation actions.

For an example bucket policy and usage report, see Monitoring SMS Activity in the Amazon SNS Developer Guide.

" + "SetSMSAttributesInput$attributes": "

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.

" } }, "MessageAttributeMap": { @@ -417,7 +422,7 @@ "MapStringToString$key": null, "MapStringToString$value": null, "MessageAttributeMap$key": null, - "MessageAttributeValue$DataType": "

Amazon SNS supports the following logical data types: String, Number, and Binary. For more information, see Message Attribute Data Types.

", + "MessageAttributeValue$DataType": "

Amazon SNS supports the following logical data types: String, String.Array, Number, and Binary. For more information, see Message Attribute Data Types.

", "MessageAttributeValue$StringValue": "

Strings are Unicode with UTF8 binary encoding. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

", "PlatformApplication$PlatformApplicationArn": "

PlatformApplicationArn for platform application object.

", "PublishInput$TargetArn": "

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.

", @@ -445,7 +450,8 @@ "SubscriptionAttributesMap": { "base": null, "refs": { - "GetSubscriptionAttributesResponse$Attributes": "

A map of the subscription's attributes. Attributes in this map include the following:

  • SubscriptionArn -- the subscription's ARN

  • TopicArn -- the topic ARN that the subscription is associated with

  • Owner -- the AWS account ID of the subscription's owner

  • ConfirmationWasAuthenticated -- true if the subscription confirmation request was authenticated

  • DeliveryPolicy -- the JSON serialization of the subscription's delivery policy

  • EffectiveDeliveryPolicy -- the JSON serialization of the effective delivery policy that takes into account the topic delivery policy and account system defaults

" + "GetSubscriptionAttributesResponse$Attributes": "

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.

", + "SubscribeInput$Attributes": "

Assigns attributes to the subscription as a map of key-value pairs. You can assign any attribute that is supported by the SetSubscriptionAttributes action.

" } }, "SubscriptionLimitExceededException": { @@ -508,7 +514,7 @@ "attributeName": { "base": null, "refs": { - "SetSubscriptionAttributesInput$AttributeName": "

The name of the attribute you want to set. Only a subset of the subscriptions attributes are mutable.

Valid values: DeliveryPolicy | RawMessageDelivery

", + "SetSubscriptionAttributesInput$AttributeName": "

The name of the attribute you want to set. Only a subset of the subscriptions attributes are mutable.

Valid values: DeliveryPolicy | FilterPolicy | RawMessageDelivery

", "SetTopicAttributesInput$AttributeName": "

The name of the attribute you want to set. Only a subset of the topic's attributes are mutable.

Valid values: Policy | DisplayName | DeliveryPolicy

", "SubscriptionAttributesMap$key": null, "TopicAttributesMap$key": null @@ -532,7 +538,8 @@ "boolean": { "base": null, "refs": { - "CheckIfPhoneNumberIsOptedOutResponse$isOptedOut": "

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.

" + "CheckIfPhoneNumberIsOptedOutResponse$isOptedOut": "

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.

", + "SubscribeInput$ReturnSubscriptionArn": "

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.

" } }, "delegate": { @@ -558,7 +565,7 @@ "message": { "base": null, "refs": { - "PublishInput$Message": "

The message you want to send to the topic.

If you want to send the same message to all transport protocols, include the text of the message as a String value.

If you want to send different messages for each transport protocol, set the value of the MessageStructure parameter to json and use a JSON object for the Message parameter.

Constraints: Messages must be UTF-8 encoded strings at most 256 KB in size (262144 bytes, not 262144 characters).

JSON-specific constraints:

  • Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values.

  • The values will be parsed (unescaped) before they are used in outgoing messages.

  • Outbound notifications are JSON encoded (meaning that the characters will be reescaped for sending).

  • Values have a minimum length of 0 (the empty string, \"\", is allowed).

  • Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes).

  • Non-string values will cause the key to be ignored.

  • Keys that do not correspond to supported transport protocols are ignored.

  • Duplicate keys are not allowed.

  • Failure to parse or validate any key or value in the message will cause the Publish call to return an error (no partial delivery).

" + "PublishInput$Message": "

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).

" } }, "messageId": { @@ -596,6 +603,7 @@ "refs": { "AuthorizationErrorException$message": null, "EndpointDisabledException$message": "

Message for endpoint disabled.

", + "FilterPolicyLimitExceededException$message": null, "InternalErrorException$message": null, "InvalidParameterException$message": null, "InvalidParameterValueException$message": "

The parameter value is invalid.

", @@ -620,7 +628,7 @@ "ConfirmSubscriptionResponse$SubscriptionArn": "

The ARN of the created subscription.

", "GetSubscriptionAttributesInput$SubscriptionArn": "

The ARN of the subscription whose properties you want to get.

", "SetSubscriptionAttributesInput$SubscriptionArn": "

The ARN of the subscription to modify.

", - "SubscribeResponse$SubscriptionArn": "

The ARN of the subscription, if the service was able to create a subscription immediately (without requiring endpoint owner confirmation).

", + "SubscribeResponse$SubscriptionArn": "

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.

", "Subscription$SubscriptionArn": "

The subscription's ARN.

", "UnsubscribeInput$SubscriptionArn": "

The ARN of the subscription to be deleted.

" } diff --git a/models/apis/sns/2010-03-31/paginators-1.json b/models/apis/sns/2010-03-31/paginators-1.json index 455e4708ec8..df5bc6bdd71 100644 --- a/models/apis/sns/2010-03-31/paginators-1.json +++ b/models/apis/sns/2010-03-31/paginators-1.json @@ -26,4 +26,4 @@ "result_key": "Topics" } } -} +} \ No newline at end of file diff --git a/models/apis/sns/2010-03-31/smoke.json b/models/apis/sns/2010-03-31/smoke.json new file mode 100644 index 00000000000..0dcf07ba91f --- /dev/null +++ b/models/apis/sns/2010-03-31/smoke.json @@ -0,0 +1,19 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "ListTopics", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "Publish", + "input": { + "Message": "hello", + "TopicArn": "fake_topic" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/ssm/2014-11-06/api-2.json b/models/apis/ssm/2014-11-06/api-2.json index 582fe6eaaff..95eb80a8e78 100644 --- a/models/apis/ssm/2014-11-06/api-2.json +++ b/models/apis/ssm/2014-11-06/api-2.json @@ -25,7 +25,8 @@ {"shape":"InvalidResourceType"}, {"shape":"InvalidResourceId"}, {"shape":"InternalServerError"}, - {"shape":"TooManyTagsError"} + {"shape":"TooManyTagsError"}, + {"shape":"TooManyUpdates"} ] }, "CancelCommand":{ @@ -205,6 +206,22 @@ {"shape":"AssociatedInstances"} ] }, + "DeleteInventory":{ + "name":"DeleteInventory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteInventoryRequest"}, + "output":{"shape":"DeleteInventoryResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidTypeNameException"}, + {"shape":"InvalidOptionException"}, + {"shape":"InvalidDeleteInventoryParametersException"}, + {"shape":"InvalidInventoryRequestException"} + ] + }, "DeleteMaintenanceWindow":{ "name":"DeleteMaintenanceWindow", "http":{ @@ -351,6 +368,35 @@ {"shape":"InvalidInstanceId"} ] }, + "DescribeAssociationExecutionTargets":{ + "name":"DescribeAssociationExecutionTargets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAssociationExecutionTargetsRequest"}, + "output":{"shape":"DescribeAssociationExecutionTargetsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"AssociationDoesNotExist"}, + {"shape":"InvalidNextToken"}, + {"shape":"AssociationExecutionDoesNotExist"} + ] + }, + "DescribeAssociationExecutions":{ + "name":"DescribeAssociationExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAssociationExecutionsRequest"}, + "output":{"shape":"DescribeAssociationExecutionsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"AssociationDoesNotExist"}, + {"shape":"InvalidNextToken"} + ] + }, "DescribeAutomationExecutions":{ "name":"DescribeAutomationExecutions", "http":{ @@ -523,6 +569,20 @@ {"shape":"InvalidNextToken"} ] }, + "DescribeInventoryDeletions":{ + "name":"DescribeInventoryDeletions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInventoryDeletionsRequest"}, + "output":{"shape":"DescribeInventoryDeletionsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidDeletionIdException"}, + {"shape":"InvalidNextToken"} + ] + }, "DescribeMaintenanceWindowExecutionTaskInvocations":{ "name":"DescribeMaintenanceWindowExecutionTaskInvocations", "http":{ @@ -901,6 +961,22 @@ {"shape":"InternalServerError"} ] }, + "LabelParameterVersion":{ + "name":"LabelParameterVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"LabelParameterVersionRequest"}, + "output":{"shape":"LabelParameterVersionResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"TooManyUpdates"}, + {"shape":"ParameterNotFound"}, + {"shape":"ParameterVersionNotFound"}, + {"shape":"ParameterVersionLabelLimitExceeded"} + ] + }, "ListAssociationVersions":{ "name":"ListAssociationVersions", "http":{ @@ -1226,7 +1302,8 @@ "errors":[ {"shape":"InvalidResourceType"}, {"shape":"InvalidResourceId"}, - {"shape":"InternalServerError"} + {"shape":"InternalServerError"}, + {"shape":"TooManyUpdates"} ] }, "SendAutomationSignal":{ @@ -1257,6 +1334,7 @@ {"shape":"InternalServerError"}, {"shape":"InvalidInstanceId"}, {"shape":"InvalidDocument"}, + {"shape":"InvalidDocumentVersion"}, {"shape":"InvalidOutputFolder"}, {"shape":"InvalidParameters"}, {"shape":"UnsupportedPlatformType"}, @@ -1265,6 +1343,19 @@ {"shape":"InvalidNotificationConfig"} ] }, + "StartAssociationsOnce":{ + "name":"StartAssociationsOnce", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartAssociationsOnceRequest"}, + "output":{"shape":"StartAssociationsOnceResult"}, + "errors":[ + {"shape":"InvalidAssociation"}, + {"shape":"AssociationDoesNotExist"} + ] + }, "StartAutomationExecution":{ "name":"StartAutomationExecution", "http":{ @@ -1578,6 +1669,110 @@ }, "exception":true }, + "AssociationExecution":{ + "type":"structure", + "members":{ + "AssociationId":{"shape":"AssociationId"}, + "AssociationVersion":{"shape":"AssociationVersion"}, + "ExecutionId":{"shape":"AssociationExecutionId"}, + "Status":{"shape":"StatusName"}, + "DetailedStatus":{"shape":"StatusName"}, + "CreatedTime":{"shape":"DateTime"}, + "LastExecutionDate":{"shape":"DateTime"}, + "ResourceCountByStatus":{"shape":"ResourceCountByStatus"} + } + }, + "AssociationExecutionDoesNotExist":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "AssociationExecutionFilter":{ + "type":"structure", + "required":[ + "Key", + "Value", + "Type" + ], + "members":{ + "Key":{"shape":"AssociationExecutionFilterKey"}, + "Value":{"shape":"AssociationExecutionFilterValue"}, + "Type":{"shape":"AssociationFilterOperatorType"} + } + }, + "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"}, + "AssociationVersion":{"shape":"AssociationVersion"}, + "ExecutionId":{"shape":"AssociationExecutionId"}, + "ResourceId":{"shape":"AssociationResourceId"}, + "ResourceType":{"shape":"AssociationResourceType"}, + "Status":{"shape":"StatusName"}, + "DetailedStatus":{"shape":"StatusName"}, + "LastExecutionDate":{"shape":"DateTime"}, + "OutputSource":{"shape":"OutputSource"} + } + }, + "AssociationExecutionTargetsFilter":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"AssociationExecutionTargetsFilterKey"}, + "Value":{"shape":"AssociationExecutionTargetsFilterValue"} + } + }, + "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":[ @@ -1606,6 +1801,14 @@ "member":{"shape":"AssociationFilter"}, "min":1 }, + "AssociationFilterOperatorType":{ + "type":"string", + "enum":[ + "EQUAL", + "LESS_THAN", + "GREATER_THAN" + ] + }, "AssociationFilterValue":{ "type":"string", "min":1 @@ -1614,6 +1817,12 @@ "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":{ @@ -1636,6 +1845,16 @@ "AssociationStatusAggregatedCount":{"shape":"AssociationStatusAggregatedCount"} } }, + "AssociationResourceId":{ + "type":"string", + "max":100, + "min":1 + }, + "AssociationResourceType":{ + "type":"string", + "max":50, + "min":1 + }, "AssociationStatus":{ "type":"structure", "required":[ @@ -1917,11 +2136,26 @@ "max":64, "min":1 }, + "CloudWatchLogGroupName":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[\\.\\-_/#A-Za-z0-9]+" + }, + "CloudWatchOutputConfig":{ + "type":"structure", + "members":{ + "CloudWatchLogGroupName":{"shape":"CloudWatchLogGroupName"}, + "CloudWatchOutputEnabled":{"shape":"CloudWatchOutputEnabled"} + } + }, + "CloudWatchOutputEnabled":{"type":"boolean"}, "Command":{ "type":"structure", "members":{ "CommandId":{"shape":"CommandId"}, "DocumentName":{"shape":"DocumentName"}, + "DocumentVersion":{"shape":"DocumentVersion"}, "Comment":{"shape":"Comment"}, "ExpiresAfter":{"shape":"DateTime"}, "Parameters":{"shape":"Parameters"}, @@ -1938,8 +2172,10 @@ "TargetCount":{"shape":"TargetCount"}, "CompletedCount":{"shape":"CompletedCount"}, "ErrorCount":{"shape":"ErrorCount"}, + "DeliveryTimedOutCount":{"shape":"DeliveryTimedOutCount"}, "ServiceRole":{"shape":"ServiceRole"}, - "NotificationConfig":{"shape":"NotificationConfig"} + "NotificationConfig":{"shape":"NotificationConfig"}, + "CloudWatchOutputConfig":{"shape":"CloudWatchOutputConfig"} } }, "CommandFilter":{ @@ -1984,6 +2220,7 @@ "InstanceName":{"shape":"InstanceTagName"}, "Comment":{"shape":"Comment"}, "DocumentName":{"shape":"DocumentName"}, + "DocumentVersion":{"shape":"DocumentVersion"}, "RequestedDateTime":{"shape":"DateTime"}, "Status":{"shape":"CommandInvocationStatus"}, "StatusDetails":{"shape":"StatusDetails"}, @@ -1992,7 +2229,8 @@ "StandardErrorUrl":{"shape":"Url"}, "CommandPlugins":{"shape":"CommandPluginList"}, "ServiceRole":{"shape":"ServiceRole"}, - "NotificationConfig":{"shape":"NotificationConfig"} + "NotificationConfig":{"shape":"NotificationConfig"}, + "CloudWatchOutputConfig":{"shape":"CloudWatchOutputConfig"} } }, "CommandInvocationList":{ @@ -2393,8 +2631,13 @@ "ApprovalRules":{"shape":"PatchRuleGroup"}, "ApprovedPatches":{"shape":"PatchIdList"}, "ApprovedPatchesComplianceLevel":{"shape":"PatchComplianceLevel"}, + "ApprovedPatchesEnableNonSecurity":{ + "shape":"Boolean", + "box":true + }, "RejectedPatches":{"shape":"PatchIdList"}, "Description":{"shape":"BaselineDescription"}, + "Sources":{"shape":"PatchSourceList"}, "ClientToken":{ "shape":"ClientToken", "idempotencyToken":true @@ -2476,6 +2719,27 @@ "members":{ } }, + "DeleteInventoryRequest":{ + "type":"structure", + "required":["TypeName"], + "members":{ + "TypeName":{"shape":"InventoryItemTypeName"}, + "SchemaDeleteOption":{"shape":"InventorySchemaDeleteOption"}, + "DryRun":{"shape":"DryRun"}, + "ClientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "DeleteInventoryResult":{ + "type":"structure", + "members":{ + "DeletionId":{"shape":"InventoryDeletionId"}, + "TypeName":{"shape":"InventoryItemTypeName"}, + "DeletionSummary":{"shape":"InventoryDeletionSummary"} + } + }, "DeleteMaintenanceWindowRequest":{ "type":"structure", "required":["WindowId"], @@ -2540,6 +2804,7 @@ "members":{ } }, + "DeliveryTimedOutCount":{"type":"integer"}, "DeregisterManagedInstanceRequest":{ "type":"structure", "required":["InstanceId"], @@ -2647,6 +2912,50 @@ "NextToken":{"shape":"NextToken"} } }, + "DescribeAssociationExecutionTargetsRequest":{ + "type":"structure", + "required":[ + "AssociationId", + "ExecutionId" + ], + "members":{ + "AssociationId":{"shape":"AssociationId"}, + "ExecutionId":{"shape":"AssociationExecutionId"}, + "Filters":{"shape":"AssociationExecutionTargetsFilterList"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + }, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeAssociationExecutionTargetsResult":{ + "type":"structure", + "members":{ + "AssociationExecutionTargets":{"shape":"AssociationExecutionTargetsList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeAssociationExecutionsRequest":{ + "type":"structure", + "required":["AssociationId"], + "members":{ + "AssociationId":{"shape":"AssociationId"}, + "Filters":{"shape":"AssociationExecutionFilterList"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + }, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeAssociationExecutionsResult":{ + "type":"structure", + "members":{ + "AssociationExecutions":{"shape":"AssociationExecutionsList"}, + "NextToken":{"shape":"NextToken"} + } + }, "DescribeAssociationRequest":{ "type":"structure", "members":{ @@ -2888,6 +3197,24 @@ "NextToken":{"shape":"NextToken"} } }, + "DescribeInventoryDeletionsRequest":{ + "type":"structure", + "members":{ + "DeletionId":{"shape":"InventoryDeletionId"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + } + } + }, + "DescribeInventoryDeletionsResult":{ + "type":"structure", + "members":{ + "InventoryDeletions":{"shape":"InventoryDeletionsList"}, + "NextToken":{"shape":"NextToken"} + } + }, "DescribeMaintenanceWindowExecutionTaskInvocationsRequest":{ "type":"structure", "required":[ @@ -3326,6 +3653,7 @@ }, "exception":true }, + "DryRun":{"type":"boolean"}, "DuplicateDocumentContent":{ "type":"structure", "members":{ @@ -3431,6 +3759,7 @@ "InstanceId":{"shape":"InstanceId"}, "Comment":{"shape":"Comment"}, "DocumentName":{"shape":"DocumentName"}, + "DocumentVersion":{"shape":"DocumentVersion"}, "PluginName":{"shape":"CommandPluginName"}, "ResponseCode":{"shape":"ResponseCode"}, "ExecutionStartDateTime":{"shape":"StringDateTime"}, @@ -3441,7 +3770,8 @@ "StandardOutputContent":{"shape":"StandardOutputContent"}, "StandardOutputUrl":{"shape":"Url"}, "StandardErrorContent":{"shape":"StandardErrorContent"}, - "StandardErrorUrl":{"shape":"Url"} + "StandardErrorUrl":{"shape":"Url"}, + "CloudWatchOutputConfig":{"shape":"CloudWatchOutputConfig"} } }, "GetDefaultPatchBaselineRequest":{ @@ -3797,11 +4127,16 @@ "ApprovalRules":{"shape":"PatchRuleGroup"}, "ApprovedPatches":{"shape":"PatchIdList"}, "ApprovedPatchesComplianceLevel":{"shape":"PatchComplianceLevel"}, + "ApprovedPatchesEnableNonSecurity":{ + "shape":"Boolean", + "box":true + }, "RejectedPatches":{"shape":"PatchIdList"}, "PatchGroups":{"shape":"PatchGroupList"}, "CreatedDate":{"shape":"DateTime"}, "ModifiedDate":{"shape":"DateTime"}, - "Description":{"shape":"BaselineDescription"} + "Description":{"shape":"BaselineDescription"}, + "Sources":{"shape":"PatchSourceList"} } }, "HierarchyLevelLimitExceededException":{ @@ -4096,7 +4431,8 @@ "members":{ "Message":{"shape":"String"} }, - "exception":true + "exception":true, + "fault":true }, "InvalidActivation":{ "type":"structure", @@ -4119,6 +4455,13 @@ }, "exception":true }, + "InvalidAssociation":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "InvalidAssociationVersion":{ "type":"structure", "members":{ @@ -4153,6 +4496,20 @@ }, "exception":true }, + "InvalidDeleteInventoryParametersException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "InvalidDeletionIdException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "InvalidDocument":{ "type":"structure", "members":{ @@ -4236,6 +4593,13 @@ }, "exception":true }, + "InvalidInventoryRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "InvalidItemContentException":{ "type":"structure", "members":{ @@ -4265,6 +4629,13 @@ }, "exception":true }, + "InvalidOptionException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "InvalidOutputFolder":{ "type":"structure", "members":{ @@ -4376,6 +4747,53 @@ "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"}, + "TypeName":{"shape":"InventoryItemTypeName"}, + "DeletionStartTime":{"shape":"InventoryDeletionStartTime"}, + "LastStatus":{"shape":"InventoryDeletionStatus"}, + "LastStatusMessage":{"shape":"InventoryDeletionLastStatusMessage"}, + "DeletionSummary":{"shape":"InventoryDeletionSummary"}, + "LastStatusUpdateTime":{"shape":"InventoryDeletionLastStatusUpdateTime"} + } + }, + "InventoryDeletionSummary":{ + "type":"structure", + "members":{ + "TotalCount":{"shape":"TotalCount"}, + "RemainingCount":{"shape":"RemainingCount"}, + "SummaryItems":{"shape":"InventoryDeletionSummaryItems"} + } + }, + "InventoryDeletionSummaryItem":{ + "type":"structure", + "members":{ + "Version":{"shape":"InventoryItemSchemaVersion"}, + "Count":{"shape":"ResourceCount"}, + "RemainingCount":{"shape":"RemainingCount"} + } + }, + "InventoryDeletionSummaryItems":{ + "type":"list", + "member":{"shape":"InventoryDeletionSummaryItem"} + }, + "InventoryDeletionsList":{ + "type":"list", + "member":{"shape":"InventoryDeletionStatusItem"} + }, "InventoryFilter":{ "type":"structure", "required":[ @@ -4549,6 +4967,13 @@ "key":{"shape":"InventoryResultItemKey"}, "value":{"shape":"InventoryResultItem"} }, + "InventorySchemaDeleteOption":{ + "type":"string", + "enum":[ + "DisableSchema", + "DeleteSchema" + ] + }, "InventoryTypeDisplayName":{"type":"string"}, "InvocationDoesNotExist":{ "type":"structure", @@ -4581,6 +5006,28 @@ "type":"list", "member":{"shape":"TagKey"} }, + "LabelParameterVersionRequest":{ + "type":"structure", + "required":[ + "Name", + "Labels" + ], + "members":{ + "Name":{"shape":"PSParameterName"}, + "ParameterVersion":{ + "shape":"PSParameterVersion", + "box":true + }, + "Labels":{"shape":"ParameterLabelList"} + } + }, + "LabelParameterVersionResult":{ + "type":"structure", + "members":{ + "InvalidLabels":{"shape":"ParameterLabelList"} + } + }, + "LastResourceDataSyncMessage":{"type":"string"}, "LastResourceDataSyncStatus":{ "type":"string", "enum":[ @@ -5301,10 +5748,26 @@ "enum":[ "WINDOWS", "AMAZON_LINUX", + "AMAZON_LINUX_2", "UBUNTU", - "REDHAT_ENTERPRISE_LINUX" + "REDHAT_ENTERPRISE_LINUX", + "SUSE", + "CENTOS" ] }, + "OutputSource":{ + "type":"structure", + "members":{ + "OutputSourceId":{"shape":"OutputSourceId"}, + "OutputSourceType":{"shape":"OutputSourceType"} + } + }, + "OutputSourceId":{ + "type":"string", + "max":36, + "min":36 + }, + "OutputSourceType":{"type":"string"}, "OwnerInformation":{ "type":"string", "max":128, @@ -5316,6 +5779,11 @@ "max":2048, "min":1 }, + "PSParameterSelector":{ + "type":"string", + "max":128, + "min":0 + }, "PSParameterValue":{ "type":"string", "max":4096, @@ -5328,7 +5796,11 @@ "Name":{"shape":"PSParameterName"}, "Type":{"shape":"ParameterType"}, "Value":{"shape":"PSParameterValue"}, - "Version":{"shape":"PSParameterVersion"} + "Version":{"shape":"PSParameterVersion"}, + "Selector":{"shape":"PSParameterSelector"}, + "SourceResult":{"shape":"String"}, + "LastModifiedDate":{"shape":"DateTime"}, + "ARN":{"shape":"String"} } }, "ParameterAlreadyExists":{ @@ -5354,7 +5826,8 @@ "Description":{"shape":"ParameterDescription"}, "Value":{"shape":"PSParameterValue"}, "AllowedPattern":{"shape":"AllowedPattern"}, - "Version":{"shape":"PSParameterVersion"} + "Version":{"shape":"PSParameterVersion"}, + "Labels":{"shape":"ParameterLabelList"} } }, "ParameterHistoryList":{ @@ -5367,6 +5840,17 @@ "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":{ @@ -5436,7 +5920,7 @@ "type":"string", "max":132, "min":1, - "pattern":"tag:.+|Name|Type|KeyId|Path" + "pattern":"tag:.+|Name|Type|KeyId|Path|Label" }, "ParameterStringFilterList":{ "type":"list", @@ -5471,6 +5955,13 @@ "type":"list", "member":{"shape":"ParameterValue"} }, + "ParameterVersionLabelLimitExceeded":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, "ParameterVersionNotFound":{ "type":"structure", "members":{ @@ -5755,6 +6246,10 @@ "ApproveAfterDays":{ "shape":"ApproveAfterDays", "box":true + }, + "EnableNonSecurity":{ + "shape":"Boolean", + "box":true } } }, @@ -5772,6 +6267,46 @@ "min":0 }, "PatchSeverity":{"type":"string"}, + "PatchSource":{ + "type":"structure", + "required":[ + "Name", + "Products", + "Configuration" + ], + "members":{ + "Name":{"shape":"PatchSourceName"}, + "Products":{"shape":"PatchSourceProductList"}, + "Configuration":{"shape":"PatchSourceConfiguration"} + } + }, + "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":{ @@ -5825,6 +6360,7 @@ "members":{ } }, + "PutInventoryMessage":{"type":"string"}, "PutInventoryRequest":{ "type":"structure", "required":[ @@ -5839,6 +6375,7 @@ "PutInventoryResult":{ "type":"structure", "members":{ + "Message":{"shape":"PutInventoryMessage"} } }, "PutParameterRequest":{ @@ -5930,7 +6467,6 @@ "WindowId", "Targets", "TaskArn", - "ServiceRoleArn", "TaskType", "MaxConcurrency", "MaxErrors" @@ -5974,6 +6510,7 @@ "max":1000, "min":1 }, + "RemainingCount":{"type":"integer"}, "RemoveTagsFromResourceRequest":{ "type":"structure", "required":[ @@ -6016,6 +6553,8 @@ "type":"list", "member":{"shape":"ResourceComplianceSummaryItem"} }, + "ResourceCount":{"type":"integer"}, + "ResourceCountByStatus":{"type":"string"}, "ResourceDataSyncAWSKMSKeyARN":{ "type":"string", "max":512, @@ -6052,7 +6591,8 @@ "LastSyncTime":{"shape":"LastResourceDataSyncTime"}, "LastSuccessfulSyncTime":{"shape":"LastSuccessfulResourceDataSyncTime"}, "LastStatus":{"shape":"LastResourceDataSyncStatus"}, - "SyncCreatedTime":{"shape":"ResourceDataSyncCreatedTime"} + "SyncCreatedTime":{"shape":"ResourceDataSyncCreatedTime"}, + "LastSyncStatusMessage":{"shape":"LastResourceDataSyncMessage"} } }, "ResourceDataSyncItemList":{ @@ -6209,6 +6749,7 @@ "InstanceIds":{"shape":"InstanceIdList"}, "Targets":{"shape":"Targets"}, "DocumentName":{"shape":"DocumentARN"}, + "DocumentVersion":{"shape":"DocumentVersion"}, "DocumentHash":{"shape":"DocumentHash"}, "DocumentHashType":{"shape":"DocumentHashType"}, "TimeoutSeconds":{ @@ -6223,7 +6764,8 @@ "MaxConcurrency":{"shape":"MaxConcurrency"}, "MaxErrors":{"shape":"MaxErrors"}, "ServiceRoleArn":{"shape":"ServiceRole"}, - "NotificationConfig":{"shape":"NotificationConfig"} + "NotificationConfig":{"shape":"NotificationConfig"}, + "CloudWatchOutputConfig":{"shape":"CloudWatchOutputConfig"} } }, "SendCommandResult":{ @@ -6269,6 +6811,18 @@ "type":"string", "max":24000 }, + "StartAssociationsOnceRequest":{ + "type":"structure", + "required":["AssociationIds"], + "members":{ + "AssociationIds":{"shape":"AssociationIdList"} + } + }, + "StartAssociationsOnceResult":{ + "type":"structure", + "members":{ + } + }, "StartAutomationExecutionRequest":{ "type":"structure", "required":["DocumentName"], @@ -6338,7 +6892,20 @@ "FailureMessage":{"shape":"String"}, "FailureDetails":{"shape":"FailureDetails"}, "StepExecutionId":{"shape":"String"}, - "OverriddenParameters":{"shape":"AutomationParameterMap"} + "OverriddenParameters":{"shape":"AutomationParameterMap"}, + "IsEnd":{ + "shape":"Boolean", + "box":true + }, + "NextStep":{ + "shape":"String", + "box":true + }, + "IsCritical":{ + "shape":"Boolean", + "box":true + }, + "ValidNextSteps":{"shape":"ValidNextStepList"} } }, "StepExecutionFilter":{ @@ -6508,6 +7075,7 @@ }, "exception":true }, + "TotalCount":{"type":"integer"}, "TotalSizeLimitExceededException":{ "type":"structure", "members":{ @@ -6774,8 +7342,17 @@ "ApprovalRules":{"shape":"PatchRuleGroup"}, "ApprovedPatches":{"shape":"PatchIdList"}, "ApprovedPatchesComplianceLevel":{"shape":"PatchComplianceLevel"}, + "ApprovedPatchesEnableNonSecurity":{ + "shape":"Boolean", + "box":true + }, "RejectedPatches":{"shape":"PatchIdList"}, - "Description":{"shape":"BaselineDescription"} + "Description":{"shape":"BaselineDescription"}, + "Sources":{"shape":"PatchSourceList"}, + "Replace":{ + "shape":"Boolean", + "box":true + } } }, "UpdatePatchBaselineResult":{ @@ -6788,13 +7365,27 @@ "ApprovalRules":{"shape":"PatchRuleGroup"}, "ApprovedPatches":{"shape":"PatchIdList"}, "ApprovedPatchesComplianceLevel":{"shape":"PatchComplianceLevel"}, + "ApprovedPatchesEnableNonSecurity":{ + "shape":"Boolean", + "box":true + }, "RejectedPatches":{"shape":"PatchIdList"}, "CreatedDate":{"shape":"DateTime"}, "ModifiedDate":{"shape":"DateTime"}, - "Description":{"shape":"BaselineDescription"} + "Description":{"shape":"BaselineDescription"}, + "Sources":{"shape":"PatchSourceList"} } }, "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}$" diff --git a/models/apis/ssm/2014-11-06/docs-2.json b/models/apis/ssm/2014-11-06/docs-2.json index da6fb58b554..15ec636354f 100644 --- a/models/apis/ssm/2014-11-06/docs-2.json +++ b/models/apis/ssm/2014-11-06/docs-2.json @@ -1,30 +1,33 @@ { "version": "2.0", - "service": "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.

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.

", + "service": "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.

", "operations": { - "AddTagsToResource": "

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 10 tags.

We recommend that you devise a set of tag keys that meets your needs for each resource type. Using a consistent set of tag keys makes it easier for you to manage your resources. You can search and filter the resources based on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and are interpreted strictly as a string of characters.

For more information about tags, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide.

", + "AddTagsToResource": "

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": "

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": "

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": "

Associates the specified Systems Manager document with the specified instances or targets.

When you associate a document with one or more instances using instance IDs or tags, the SSM Agent running on the instance processes the document and configures the instance as specified.

If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception.

", "CreateAssociationBatch": "

Associates the specified Systems Manager document with the specified instances or targets.

When you associate a document with one or more instances using instance IDs or tags, the SSM Agent running on the instance processes the document and configures the instance as specified.

If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception.

", "CreateDocument": "

Creates a Systems Manager document.

After you create a document, you can use CreateAssociation to associate it with one or more running instances.

", "CreateMaintenanceWindow": "

Creates a new Maintenance Window.

", - "CreatePatchBaseline": "

Creates a patch baseline.

", - "CreateResourceDataSync": "

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 Configuring Resource Data Sync for Inventory.

", + "CreatePatchBaseline": "

Creates a patch baseline.

For information about valid key and value pairs in PatchFilters for each supported operating system type, see PatchFilter.

", + "CreateResourceDataSync": "

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": "

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": "

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": "

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": "

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": "

Deletes a Maintenance Window.

", "DeleteParameter": "

Delete a parameter from the system.

", "DeleteParameters": "

Delete a list of parameters. This API is used to delete parameters by using the Amazon EC2 console.

", "DeletePatchBaseline": "

Deletes a patch baseline.

", "DeleteResourceDataSync": "

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": "

Removes the server or virtual machine from the list of registered servers. You can reregister the instance again at any time. If you don't plan to use Run Command on the server, we suggest uninstalling the SSM Agent first.

", + "DeregisterManagedInstance": "

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": "

Removes a patch group from a patch baseline.

", "DeregisterTargetFromMaintenanceWindow": "

Removes a target from a Maintenance Window.

", "DeregisterTaskFromMaintenanceWindow": "

Removes a task from a Maintenance Window.

", "DescribeActivations": "

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": "

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": "

Use this API action to view information about a specific execution of a specific association.

", + "DescribeAssociationExecutions": "

Use this API action to view all executions for a specific association ID.

", "DescribeAutomationExecutions": "

Provides details about all active and terminated Automation executions.

", "DescribeAutomationStepExecutions": "

Information about all active and terminated step executions in an Automation workflow.

", "DescribeAvailablePatches": "

Lists all patches that could possibly be included in a patch baseline.

", @@ -33,10 +36,11 @@ "DescribeEffectiveInstanceAssociations": "

All associations for the instance(s).

", "DescribeEffectivePatchesForPatchBaseline": "

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": "

The status of the associations for the instance(s).

", - "DescribeInstanceInformation": "

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.

", + "DescribeInstanceInformation": "

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": "

Retrieves the high-level patch state of one or more instances.

", "DescribeInstancePatchStatesForPatchGroup": "

Retrieves the high-level patch state for the instances in the specified patch group.

", "DescribeInstancePatches": "

Retrieves information about the patches on the specified instance and their state relative to the patch baseline being used for the instance.

", + "DescribeInventoryDeletions": "

Describes a specific delete inventory operation.

", "DescribeMaintenanceWindowExecutionTaskInvocations": "

Retrieves the individual task executions (one per target) for a particular task executed as part of a Maintenance Window execution.

", "DescribeMaintenanceWindowExecutionTasks": "

For a given Maintenance Window execution, lists the tasks that were executed.

", "DescribeMaintenanceWindowExecutions": "

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.

", @@ -49,7 +53,7 @@ "DescribePatchGroups": "

Lists all patch groups that have been registered with patch baselines.

", "GetAutomationExecution": "

Get detailed information about a particular Automation execution.

", "GetCommandInvocation": "

Returns detailed information about command execution for an invocation or plugin.

", - "GetDefaultPatchBaseline": "

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.

", + "GetDefaultPatchBaseline": "

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": "

Retrieves the current snapshot for the patch baseline the instance uses. This API is primarily used by the AWS-RunPatchBaseline Systems Manager document.

", "GetDocument": "

Gets the contents of the specified Systems Manager document.

", "GetInventory": "

Query inventory information.

", @@ -59,12 +63,13 @@ "GetMaintenanceWindowExecutionTask": "

Retrieves the details about a specific task executed as part of a Maintenance Window execution.

", "GetMaintenanceWindowExecutionTaskInvocation": "

Retrieves a task invocation. A task invocation is a specific task executing on a specific target. Maintenance Windows report status for all invocations.

", "GetMaintenanceWindowTask": "

Lists the tasks in a Maintenance Window.

", - "GetParameter": "

Get information about a parameter by using the parameter name.

", + "GetParameter": "

Get information about a parameter by using the parameter name. Don't confuse this API action with the GetParameters API action.

", "GetParameterHistory": "

Query a list of all parameters used by the AWS account.

", - "GetParameters": "

Get details of a parameter.

", - "GetParametersByPath": "

Retrieve parameters in a specific hierarchy. For more information, see Working with Systems Manager Parameters.

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.

", + "GetParameters": "

Get details of a parameter. Don't confuse this API action with the GetParameter API action.

", + "GetParametersByPath": "

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": "

Retrieves information about a patch baseline.

", "GetPatchBaselineForPatchGroup": "

Retrieves the patch baseline that should be used for the specified patch group.

", + "LabelParameterVersion": "

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": "

Retrieves all versions of an association for a specific association ID.

", "ListAssociations": "

Lists the associations for the specified Systems Manager document or instance.

", "ListCommandInvocations": "

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.

", @@ -78,9 +83,9 @@ "ListResourceDataSync": "

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": "

Returns a list of the tags assigned to the specified resource.

", "ModifyDocumentPermission": "

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": "

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.

", + "PutComplianceItems": "

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": "

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": "

Add one or more parameters to the system.

", + "PutParameter": "

Add a parameter to the system.

", "RegisterDefaultPatchBaseline": "

Defines the default patch baseline.

", "RegisterPatchBaselineForPatchGroup": "

Registers a patch baseline for a patch group.

", "RegisterTargetWithMaintenanceWindow": "

Registers a target with a Maintenance Window.

", @@ -88,6 +93,7 @@ "RemoveTagsFromResource": "

Removes all tags from the specified resource.

", "SendAutomationSignal": "

Sends a signal to an Automation execution to change the current behavior or status of the execution.

", "SendCommand": "

Executes commands on one or more managed instances.

", + "StartAssociationsOnce": "

Use this API action to execute an association immediately and only one time. This action can be helpful when troubleshooting associations.

", "StartAutomationExecution": "

Initiates execution of an Automation document.

", "StopAutomationExecution": "

Stop an Automation that is currently executing.

", "UpdateAssociation": "

Updates an association. You can update the association name and version, the document version, schedule, parameters, and Amazon S3 output.

", @@ -96,9 +102,9 @@ "UpdateDocumentDefaultVersion": "

Set the default version of a document.

", "UpdateMaintenanceWindow": "

Updates an existing Maintenance Window. Only specified parameters are modified.

", "UpdateMaintenanceWindowTarget": "

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": "

Modifies a task assigned to a Maintenance Window. You can't change the task type, but you can change the following values:

Task ARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript.

Service role ARN.

Task parameters.

Task priority.

Task MaxConcurrency and MaxErrors.

Log location.

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.

", + "UpdateMaintenanceWindowTask": "

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": "

Assigns or changes an Amazon Identity and Access Management (IAM) role to the managed instance.

", - "UpdatePatchBaseline": "

Modifies an existing patch baseline. Fields not specified in the request are left unchanged.

" + "UpdatePatchBaseline": "

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": { @@ -131,7 +137,7 @@ "base": null, "refs": { "Activation$Description": "

A user defined description of the activation.

", - "CreateActivationRequest$Description": "

A userdefined description of the resource that you want to register with Amazon EC2.

" + "CreateActivationRequest$Description": "

A user-defined description of the resource that you want to register with Amazon EC2.

Do not enter personally identifiable information in this field.

" } }, "ActivationId": { @@ -187,7 +193,7 @@ "ApproveAfterDays": { "base": null, "refs": { - "PatchRule$ApproveAfterDays": "

The number of days after the release date of each patch matched by the rule the patch is marked as approved in the patch baseline.

" + "PatchRule$ApproveAfterDays": "

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.

" } }, "AssociatedInstances": { @@ -227,6 +233,91 @@ "refs": { } }, + "AssociationExecution": { + "base": "

Includes information about the specified association.

", + "refs": { + "AssociationExecutionsList$member": null + } + }, + "AssociationExecutionDoesNotExist": { + "base": "

The specified execution ID does not exist. Verify the ID number and try again.

", + "refs": { + } + }, + "AssociationExecutionFilter": { + "base": "

Filters used in the request.

", + "refs": { + "AssociationExecutionFilterList$member": null + } + }, + "AssociationExecutionFilterKey": { + "base": null, + "refs": { + "AssociationExecutionFilter$Key": "

The key value used in the request.

" + } + }, + "AssociationExecutionFilterList": { + "base": null, + "refs": { + "DescribeAssociationExecutionsRequest$Filters": "

Filters for the request. You can specify the following filters and values.

ExecutionId (EQUAL)

Status (EQUAL)

CreatedTime (EQUAL, GREATER_THAN, LESS_THAN)

" + } + }, + "AssociationExecutionFilterValue": { + "base": null, + "refs": { + "AssociationExecutionFilter$Value": "

The value specified for the key.

" + } + }, + "AssociationExecutionId": { + "base": null, + "refs": { + "AssociationExecution$ExecutionId": "

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.

", + "AssociationExecutionTarget$ExecutionId": "

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.

", + "DescribeAssociationExecutionTargetsRequest$ExecutionId": "

The execution ID for which you want to view details.

" + } + }, + "AssociationExecutionTarget": { + "base": "

Includes information about the specified association execution.

", + "refs": { + "AssociationExecutionTargetsList$member": null + } + }, + "AssociationExecutionTargetsFilter": { + "base": "

Filters for the association execution.

", + "refs": { + "AssociationExecutionTargetsFilterList$member": null + } + }, + "AssociationExecutionTargetsFilterKey": { + "base": null, + "refs": { + "AssociationExecutionTargetsFilter$Key": "

The key value used in the request.

" + } + }, + "AssociationExecutionTargetsFilterList": { + "base": null, + "refs": { + "DescribeAssociationExecutionTargetsRequest$Filters": "

Filters for the request. You can specify the following filters and values.

Status (EQUAL)

ResourceId (EQUAL)

ResourceType (EQUAL)

" + } + }, + "AssociationExecutionTargetsFilterValue": { + "base": null, + "refs": { + "AssociationExecutionTargetsFilter$Value": "

The value specified for the key.

" + } + }, + "AssociationExecutionTargetsList": { + "base": null, + "refs": { + "DescribeAssociationExecutionTargetsResult$AssociationExecutionTargets": "

Information about the execution.

" + } + }, + "AssociationExecutionsList": { + "base": null, + "refs": { + "DescribeAssociationExecutionsResult$AssociationExecutions": "

A list of the executions for the specified association ID.

" + } + }, "AssociationFilter": { "base": "

Describes a filter.

", "refs": { @@ -245,6 +336,12 @@ "ListAssociationsRequest$AssociationFilterList": "

One or more filters. Use a filter to return a more specific list of results.

" } }, + "AssociationFilterOperatorType": { + "base": null, + "refs": { + "AssociationExecutionFilter$Type": "

The filter type specified in the request.

" + } + }, "AssociationFilterValue": { "base": null, "refs": { @@ -256,8 +353,13 @@ "refs": { "Association$AssociationId": "

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.

", "AssociationDescription$AssociationId": "

The association ID.

", + "AssociationExecution$AssociationId": "

The association ID.

", + "AssociationExecutionTarget$AssociationId": "

The association ID.

", + "AssociationIdList$member": null, "AssociationVersionInfo$AssociationId": "

The ID created by the system when the association was created.

", "DeleteAssociationRequest$AssociationId": "

The association ID that you want to delete.

", + "DescribeAssociationExecutionTargetsRequest$AssociationId": "

The association ID that includes the execution for which you want to view details.

", + "DescribeAssociationExecutionsRequest$AssociationId": "

The association ID for which you want to view execution history details.

", "DescribeAssociationRequest$AssociationId": "

The association ID for which you want information.

", "InstanceAssociation$AssociationId": "

The association ID.

", "InstanceAssociationStatusInfo$AssociationId": "

The association ID.

", @@ -265,6 +367,12 @@ "UpdateAssociationRequest$AssociationId": "

The ID of the association you want to update.

" } }, + "AssociationIdList": { + "base": null, + "refs": { + "StartAssociationsOnceRequest$AssociationIds": "

The association IDs that you want to execute immediately and only one time.

" + } + }, "AssociationLimitExceeded": { "base": "

You can have at most 2,000 active associations.

", "refs": { @@ -295,6 +403,18 @@ "AssociationDescription$Overview": "

Information about the association.

" } }, + "AssociationResourceId": { + "base": null, + "refs": { + "AssociationExecutionTarget$ResourceId": "

The resource ID, for example, the instance ID where the association ran.

" + } + }, + "AssociationResourceType": { + "base": null, + "refs": { + "AssociationExecutionTarget$ResourceType": "

The resource type, for example, instance.

" + } + }, "AssociationStatus": { "base": "

Describes an association status.

", "refs": { @@ -319,6 +439,8 @@ "refs": { "Association$AssociationVersion": "

The association version.

", "AssociationDescription$AssociationVersion": "

The association version.

", + "AssociationExecution$AssociationVersion": "

The association version.

", + "AssociationExecutionTarget$AssociationVersion": "

The association version.

", "AssociationVersionInfo$AssociationVersion": "

The association version.

", "DescribeAssociationRequest$AssociationVersion": "

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.

", "InstanceAssociation$AssociationVersion": "

Version information for the association on the instance.

", @@ -471,7 +593,7 @@ "AutomationExecution$Outputs": "

The list of execution outputs as defined in the automation document.

", "AutomationExecutionMetadata$Outputs": "

The list of execution outputs as defined in the Automation document.

", "FailureDetails$Details": "

Detailed information about the Automation step failure.

", - "MaintenanceWindowAutomationParameters$Parameters": "

The parameters for the AUTOMATION task.

", + "MaintenanceWindowAutomationParameters$Parameters": "

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.

", "SendAutomationSignalRequest$Payload": "

The data sent with the signal. The data schema depends on the type of signal used in the request.

", "StartAutomationExecutionRequest$Parameters": "

A key-value map of execution parameters, which match the declared parameters in the Automation document.

", "StepExecution$Outputs": "

Returned values from the execution of the step.

", @@ -549,21 +671,29 @@ "refs": { "Activation$Expired": "

Whether or not the activation is expired.

", "AutomationExecution$StepExecutionsTruncated": "

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.

", + "CreatePatchBaselineRequest$ApprovedPatchesEnableNonSecurity": "

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.

", "DeregisterTargetFromMaintenanceWindowRequest$Safe": "

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.

", "DescribeAutomationStepExecutionsRequest$ReverseOrder": "

A boolean that indicates whether to list step executions in reverse order by start time. The default value is false.

", "DocumentVersionInfo$IsDefaultVersion": "

An identifier for the default version of the document.

", "GetParameterHistoryRequest$WithDecryption": "

Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

", "GetParameterRequest$WithDecryption": "

Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

", - "GetParametersByPathRequest$Recursive": "

Retrieve all parameters within a hierarchy.

", + "GetParametersByPathRequest$Recursive": "

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.

", "GetParametersByPathRequest$WithDecryption": "

Retrieve all parameters in a hierarchy with their value decrypted.

", "GetParametersRequest$WithDecryption": "

Return decrypted secure string value. Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

", - "InstanceInformation$IsLatestVersion": "

Indicates whether latest version of the SSM Agent is running on your instance.

", + "GetPatchBaselineResult$ApprovedPatchesEnableNonSecurity": "

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.

", + "InstanceInformation$IsLatestVersion": "

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.

", "ListCommandInvocationsRequest$Details": "

(Optional) If set this returns the response of the command executions and any command output. By default this is set to False.

", + "PatchRule$EnableNonSecurity": "

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.

", "PutParameterRequest$Overwrite": "

Overwrite an existing parameter. If not specified, will default to \"false\".

", "ResolvedTargets$Truncated": "

A boolean value indicating whether the resolved target list is truncated.

", + "StepExecution$IsEnd": "

The flag which can be used to end automation no matter whether the step succeeds or fails.

", + "StepExecution$IsCritical": "

The flag which can be used to help decide whether the failure of current step leads to the Automation failure.

", "UpdateMaintenanceWindowRequest$Replace": "

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.

", "UpdateMaintenanceWindowTargetRequest$Replace": "

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.

", - "UpdateMaintenanceWindowTaskRequest$Replace": "

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.

" + "UpdateMaintenanceWindowTaskRequest$Replace": "

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.

", + "UpdatePatchBaselineRequest$ApprovedPatchesEnableNonSecurity": "

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.

", + "UpdatePatchBaselineRequest$Replace": "

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.

", + "UpdatePatchBaselineResult$ApprovedPatchesEnableNonSecurity": "

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.

" } }, "CancelCommandRequest": { @@ -581,10 +711,32 @@ "refs": { "CreateMaintenanceWindowRequest$ClientToken": "

User-provided idempotency token.

", "CreatePatchBaselineRequest$ClientToken": "

User-provided idempotency token.

", + "DeleteInventoryRequest$ClientToken": "

User-provided idempotency token.

", "RegisterTargetWithMaintenanceWindowRequest$ClientToken": "

User-provided idempotency token.

", "RegisterTaskWithMaintenanceWindowRequest$ClientToken": "

User-provided idempotency token.

" } }, + "CloudWatchLogGroupName": { + "base": null, + "refs": { + "CloudWatchOutputConfig$CloudWatchLogGroupName": "

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.

" + } + }, + "CloudWatchOutputConfig": { + "base": "

Configuration options for sending command output to CloudWatch Logs.

", + "refs": { + "Command$CloudWatchOutputConfig": "

CloudWatch Logs information where you want Systems Manager to send the command output.

", + "CommandInvocation$CloudWatchOutputConfig": "

CloudWatch Logs information where you want Systems Manager to send the command output.

", + "GetCommandInvocationResult$CloudWatchOutputConfig": "

CloudWatch Logs information where Systems Manager sent the command output.

", + "SendCommandRequest$CloudWatchOutputConfig": "

Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs.

" + } + }, + "CloudWatchOutputEnabled": { + "base": null, + "refs": { + "CloudWatchOutputConfig$CloudWatchOutputEnabled": "

Enables Systems Manager to send command output to CloudWatch Logs.

" + } + }, "Command": { "base": "

Describes a command request.

", "refs": { @@ -645,7 +797,7 @@ "base": null, "refs": { "CommandInvocation$Status": "

Whether or not the invocation succeeded, failed, or is pending.

", - "GetCommandInvocationResult$Status": "

The status of the parent command for this invocation. This status can be different than StatusDetails.

" + "GetCommandInvocationResult$Status": "

The status of this invocation plugin. This status can be different than StatusDetails.

" } }, "CommandList": { @@ -775,7 +927,7 @@ "ComplianceItemId": { "base": null, "refs": { - "ComplianceItem$Id": "

An ID for the compliance item. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article. Here's an example: KB4010320.

", + "ComplianceItem$Id": "

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.

", "ComplianceItemEntry$Id": "

The compliance item ID. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article.

" } }, @@ -788,8 +940,8 @@ "ComplianceItemTitle": { "base": null, "refs": { - "ComplianceItem$Title": "

A title for the compliance item. For example, if the compliance item is a Windows patch, the title could be the title of the KB article for the patch. Here's an example: Security Update for Active Directory Federation Services.

", - "ComplianceItemEntry$Title": "

The title of the compliance item. For example, if the compliance item is a Windows patch, the title could be the title of the KB article for the patch. Here's an example: Security Update for Active Directory Federation Services.

" + "ComplianceItem$Title": "

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.

", + "ComplianceItemEntry$Title": "

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.

" } }, "ComplianceQueryOperatorType": { @@ -1024,13 +1176,16 @@ "AssociationDescription$LastUpdateAssociationDate": "

The date when the association was last updated.

", "AssociationDescription$LastExecutionDate": "

The date on which the association was last run.

", "AssociationDescription$LastSuccessfulExecutionDate": "

The last date on which the association was successfully run.

", + "AssociationExecution$CreatedTime": "

The time the execution started.

", + "AssociationExecution$LastExecutionDate": "

The date of the last execution.

", + "AssociationExecutionTarget$LastExecutionDate": "

The date of the last execution.

", "AssociationStatus$Date": "

The date when the status changed.

", "AssociationVersionInfo$CreatedDate": "

The date the association version was created.

", "AutomationExecution$ExecutionStartTime": "

The time the execution started.

", "AutomationExecution$ExecutionEndTime": "

The time the execution finished.

", "AutomationExecutionMetadata$ExecutionStartTime": "

The time the execution started.>

", "AutomationExecutionMetadata$ExecutionEndTime": "

The time the execution finished. This is not populated if the execution is still in progress.

", - "Command$ExpiresAfter": "

If this time is reached and the command has not already started executing, it will not execute. Calculated based on the ExpiresAfter user input provided as part of the SendCommand API.

", + "Command$ExpiresAfter": "

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.

", "Command$RequestedDateTime": "

The date and time the command was requested.

", "CommandInvocation$RequestedDateTime": "

The time and date the request was sent to this instance.

", "CommandPlugin$ResponseStartDateTime": "

The time the plugin started executing.

", @@ -1061,6 +1216,7 @@ "MaintenanceWindowExecutionTaskIdentity$EndTime": "

The time the task execution finished.

", "MaintenanceWindowExecutionTaskInvocationIdentity$StartTime": "

The time the invocation started.

", "MaintenanceWindowExecutionTaskInvocationIdentity$EndTime": "

The time the invocation finished.

", + "Parameter$LastModifiedDate": "

Date the parameter was last changed or updated and the parameter version was created.

", "ParameterHistory$LastModifiedDate": "

Date the parameter was last changed or updated.

", "ParameterMetadata$LastModifiedDate": "

Date the parameter was last changed or updated.

", "Patch$ReleaseDate": "

The date the patch was released.

", @@ -1082,7 +1238,7 @@ "base": null, "refs": { "Activation$DefaultInstanceName": "

A name for the managed instance when it is created.

", - "CreateActivationRequest$DefaultInstanceName": "

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.

" + "CreateActivationRequest$DefaultInstanceName": "

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.

" } }, "DeleteActivationRequest": { @@ -1115,6 +1271,16 @@ "refs": { } }, + "DeleteInventoryRequest": { + "base": null, + "refs": { + } + }, + "DeleteInventoryResult": { + "base": null, + "refs": { + } + }, "DeleteMaintenanceWindowRequest": { "base": null, "refs": { @@ -1165,6 +1331,12 @@ "refs": { } }, + "DeliveryTimedOutCount": { + "base": null, + "refs": { + "Command$DeliveryTimedOutCount": "

The number of targets for which the status is Delivery Timed Out.

" + } + }, "DeregisterManagedInstanceRequest": { "base": null, "refs": { @@ -1233,6 +1405,26 @@ "refs": { } }, + "DescribeAssociationExecutionTargetsRequest": { + "base": null, + "refs": { + } + }, + "DescribeAssociationExecutionTargetsResult": { + "base": null, + "refs": { + } + }, + "DescribeAssociationExecutionsRequest": { + "base": null, + "refs": { + } + }, + "DescribeAssociationExecutionsResult": { + "base": null, + "refs": { + } + }, "DescribeAssociationRequest": { "base": null, "refs": { @@ -1363,6 +1555,16 @@ "refs": { } }, + "DescribeInventoryDeletionsRequest": { + "base": null, + "refs": { + } + }, + "DescribeInventoryDeletionsResult": { + "base": null, + "refs": { + } + }, "DescribeMaintenanceWindowExecutionTaskInvocationsRequest": { "base": null, "refs": { @@ -1620,7 +1822,7 @@ "CommandInvocation$DocumentName": "

The document name that was requested for execution.

", "CreateAssociationBatchRequestEntry$Name": "

The name of the configuration document.

", "CreateAssociationRequest$Name": "

The name of the Systems Manager document.

", - "CreateDocumentRequest$Name": "

A name for the Systems Manager document.

", + "CreateDocumentRequest$Name": "

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

", "DeleteAssociationRequest$Name": "

The name of the Systems Manager document.

", "DeleteDocumentRequest$Name": "

The name of the document.

", "DescribeAssociationRequest$Name": "

The name of the Systems Manager document.

", @@ -1728,6 +1930,8 @@ "AssociationVersionInfo$DocumentVersion": "

The version of a Systems Manager document used when the association version was created.

", "AutomationExecution$DocumentVersion": "

The version of the document to use during execution.

", "AutomationExecutionMetadata$DocumentVersion": "

The document version used during the execution.

", + "Command$DocumentVersion": "

The SSM document version.

", + "CommandInvocation$DocumentVersion": "

The SSM document version.

", "CreateAssociationBatchRequestEntry$DocumentVersion": "

The document version.

", "CreateAssociationRequest$DocumentVersion": "

The document version you want to associate with the target(s). Can be a specific version or the default version.

", "DescribeDocumentRequest$DocumentVersion": "

The document version for which you want information. Can be a specific version or the default version.

", @@ -1737,10 +1941,12 @@ "DocumentDescription$DefaultVersion": "

The default version.

", "DocumentIdentifier$DocumentVersion": "

The document version.

", "DocumentVersionInfo$DocumentVersion": "

The document version.

", + "GetCommandInvocationResult$DocumentVersion": "

The SSM document version used in the request.

", "GetDocumentRequest$DocumentVersion": "

The document version for which you want information.

", "GetDocumentResult$DocumentVersion": "

The document version.

", "InstanceAssociationStatusInfo$DocumentVersion": "

The association document verions.

", "MaintenanceWindowAutomationParameters$DocumentVersion": "

The version of an Automation document to use during task execution.

", + "SendCommandRequest$DocumentVersion": "

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\"

", "StartAutomationExecutionRequest$DocumentVersion": "

The version of the Automation document to use for this execution.

", "UpdateAssociationRequest$DocumentVersion": "

The document version you want update for the association.

", "UpdateDocumentRequest$DocumentVersion": "

The version of the document that you want to update.

" @@ -1770,8 +1976,14 @@ } }, "DoesNotExistException": { - "base": "

Error returned when the ID specified for a resource (e.g. a Maintenance Window) doesn't exist.

", + "base": "

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.

", + "refs": { + } + }, + "DryRun": { + "base": null, "refs": { + "DeleteInventoryRequest$DryRun": "

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.

" } }, "DuplicateDocumentContent": { @@ -2045,7 +2257,7 @@ } }, "HierarchyLevelLimitExceededException": { - "base": "

A hierarchy can have a maximum of five levels. For example:

/Finance/Prod/IAD/OS/WinServ2016/license15

For more information, see Working with Systems Manager Parameters.

", + "base": "

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.

", "refs": { } }, @@ -2065,7 +2277,7 @@ "refs": { "Activation$IamRole": "

The Amazon Identity and Access Management (IAM) role to assign to the managed instance.

", "CreateActivationRequest$IamRole": "

The Amazon Identity and Access Management (IAM) role that you want to assign to the managed instance.

", - "InstanceInformation$IamRole": "

The Amazon Identity and Access Management (IAM) role assigned to EC2 instances or managed instances.

", + "InstanceInformation$IamRole": "

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.

", "UpdateManagedInstanceRoleRequest$IamRole": "

The IAM role you want to assign or change.

" } }, @@ -2181,7 +2393,7 @@ "CancelCommandRequest$InstanceIds": "

(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.

", "Command$InstanceIds": "

The instance IDs against which this command was requested.

", "DescribeInstancePatchStatesRequest$InstanceIds": "

The ID of the instance whose patch state information should be retrieved.

", - "SendCommandRequest$InstanceIds": "

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.

" + "SendCommandRequest$InstanceIds": "

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.

" } }, "InstanceInformation": { @@ -2338,6 +2550,11 @@ "refs": { } }, + "InvalidAssociation": { + "base": "

The association is not valid or does not exist.

", + "refs": { + } + }, "InvalidAssociationVersion": { "base": "

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.

", "refs": { @@ -2363,6 +2580,16 @@ "refs": { } }, + "InvalidDeleteInventoryParametersException": { + "base": "

One or more of the parameters specified for the delete operation is not valid. Verify all parameters and try again.

", + "refs": { + } + }, + "InvalidDeletionIdException": { + "base": "

The ID specified for the delete operation does not exist or is not valide. Verify the ID and try again.

", + "refs": { + } + }, "InvalidDocument": { "base": "

The specified document does not exist.

", "refs": { @@ -2409,7 +2636,7 @@ } }, "InvalidInstanceId": { - "base": "

The following problems can cause this exception:

You do not have permission to access the instance.

The SSM Agent is not running. On managed instances and Linux instances, verify that the SSM Agent is running. On EC2 Windows instances, verify that the EC2Config service is running.

The SSM Agent or EC2Config service is not registered to the SSM endpoint. Try reinstalling the SSM Agent or EC2Config service.

The instance is not in valid state. Valid states are: Running, Pending, Stopped, Stopping. Invalid states are: Shutting-down and Terminated.

", + "base": "

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.

", "refs": { } }, @@ -2423,6 +2650,11 @@ "refs": { } }, + "InvalidInventoryRequestException": { + "base": "

The request is not valid.

", + "refs": { + } + }, "InvalidItemContentException": { "base": "

One or more content items is not valid.

", "refs": { @@ -2443,6 +2675,11 @@ "refs": { } }, + "InvalidOptionException": { + "base": "

The delete inventory option specified is not valid. Verify the option and try again.

", + "refs": { + } + }, "InvalidOutputFolder": { "base": "

The S3 bucket does not exist.

", "refs": { @@ -2533,6 +2770,69 @@ "InventoryItemAttribute$DataType": "

The data type of the inventory item attribute.

" } }, + "InventoryDeletionId": { + "base": null, + "refs": { + "DeleteInventoryResult$DeletionId": "

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.

", + "DescribeInventoryDeletionsRequest$DeletionId": "

Specify the delete inventory ID for which you want information. This ID was returned by the DeleteInventory action.

", + "InventoryDeletionStatusItem$DeletionId": "

The deletion ID returned by the DeleteInventory action.

" + } + }, + "InventoryDeletionLastStatusMessage": { + "base": null, + "refs": { + "InventoryDeletionStatusItem$LastStatusMessage": "

Information about the status.

" + } + }, + "InventoryDeletionLastStatusUpdateTime": { + "base": null, + "refs": { + "InventoryDeletionStatusItem$LastStatusUpdateTime": "

The UTC timestamp of when the last status report.

" + } + }, + "InventoryDeletionStartTime": { + "base": null, + "refs": { + "InventoryDeletionStatusItem$DeletionStartTime": "

The UTC timestamp when the delete operation started.

" + } + }, + "InventoryDeletionStatus": { + "base": null, + "refs": { + "InventoryDeletionStatusItem$LastStatus": "

The status of the operation. Possible values are InProgress and Complete.

" + } + }, + "InventoryDeletionStatusItem": { + "base": "

Status information returned by the DeleteInventory action.

", + "refs": { + "InventoryDeletionsList$member": null + } + }, + "InventoryDeletionSummary": { + "base": "

Information about the delete operation.

", + "refs": { + "DeleteInventoryResult$DeletionSummary": "

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.

", + "InventoryDeletionStatusItem$DeletionSummary": "

Information about the delete operation. For more information about this summary, see Understanding the Delete Inventory Summary in the AWS Systems Manager User Guide.

" + } + }, + "InventoryDeletionSummaryItem": { + "base": "

Either a count, remaining count, or a version number in a delete inventory summary.

", + "refs": { + "InventoryDeletionSummaryItems$member": null + } + }, + "InventoryDeletionSummaryItems": { + "base": null, + "refs": { + "InventoryDeletionSummary$SummaryItems": "

A list of counts and versions for deleted items.

" + } + }, + "InventoryDeletionsList": { + "base": null, + "refs": { + "DescribeInventoryDeletionsResult$InventoryDeletions": "

A list of status items for deleted inventory.

" + } + }, "InventoryFilter": { "base": "

One or more filters. Use a filter to return a more specific list of results.

", "refs": { @@ -2644,6 +2944,7 @@ "InventoryItemSchemaVersion": { "base": null, "refs": { + "InventoryDeletionSummaryItem$Version": "

The inventory type version.

", "InventoryItem$SchemaVersion": "

The schema version for the inventory item.

", "InventoryItemSchema$Version": "

The schema version for the inventory item.

", "InventoryResultItem$SchemaVersion": "

The schema version for the inventory result item/

", @@ -2653,7 +2954,10 @@ "InventoryItemTypeName": { "base": null, "refs": { + "DeleteInventoryRequest$TypeName": "

The name of the custom inventory type for which you want to delete either all previously collected data, or the inventory type itself.

", + "DeleteInventoryResult$TypeName": "

The name of the inventory data type specified in the request.

", "InvalidItemContentException$TypeName": null, + "InventoryDeletionStatusItem$TypeName": "

The name of the inventory data type.

", "InventoryItem$TypeName": "

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.

", "InventoryItemSchema$TypeName": "

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.

", "InventoryResultItem$TypeName": "

The name of the inventory result item type.

", @@ -2713,6 +3017,12 @@ "InventoryResultEntity$Data": "

The data section in the inventory result entity JSON.

" } }, + "InventorySchemaDeleteOption": { + "base": null, + "refs": { + "DeleteInventoryRequest$SchemaDeleteOption": "

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.

" + } + }, "InventoryTypeDisplayName": { "base": null, "refs": { @@ -2752,6 +3062,22 @@ "RemoveTagsFromResourceRequest$TagKeys": "

Tag keys that you want to remove from the specified resource.

" } }, + "LabelParameterVersionRequest": { + "base": null, + "refs": { + } + }, + "LabelParameterVersionResult": { + "base": null, + "refs": { + } + }, + "LastResourceDataSyncMessage": { + "base": null, + "refs": { + "ResourceDataSyncItem$LastSyncStatusMessage": "

The status message details reported by the last sync.

" + } + }, "LastResourceDataSyncStatus": { "base": null, "refs": { @@ -2891,13 +3217,13 @@ } }, "LoggingInfo": { - "base": "

Information about an Amazon S3 bucket to write instance-level logs to.

", + "base": "

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.

", "refs": { - "GetMaintenanceWindowTaskResult$LoggingInfo": "

The location in Amazon S3 where the task results are logged.

", - "MaintenanceWindowTask$LoggingInfo": "

Information about an Amazon S3 bucket to write task-level logs to.

", - "RegisterTaskWithMaintenanceWindowRequest$LoggingInfo": "

A structure containing information about an Amazon S3 bucket to write instance-level logs to.

", - "UpdateMaintenanceWindowTaskRequest$LoggingInfo": "

The new logging location in Amazon S3 to specify.

", - "UpdateMaintenanceWindowTaskResult$LoggingInfo": "

The updated logging information in Amazon S3.

" + "GetMaintenanceWindowTaskResult$LoggingInfo": "

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.

", + "MaintenanceWindowTask$LoggingInfo": "

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.

", + "RegisterTaskWithMaintenanceWindowRequest$LoggingInfo": "

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.

", + "UpdateMaintenanceWindowTaskRequest$LoggingInfo": "

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.

", + "UpdateMaintenanceWindowTaskResult$LoggingInfo": "

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.

" } }, "Long": { @@ -2918,7 +3244,7 @@ "MaintenanceWindowAutomationParameters": { "base": "

The parameters for an AUTOMATION task type.

", "refs": { - "MaintenanceWindowTaskInvocationParameters$Automation": "

The parameters for a AUTOMATION task type.

" + "MaintenanceWindowTaskInvocationParameters$Automation": "

The parameters for an AUTOMATION task type.

" } }, "MaintenanceWindowCutoff": { @@ -3141,7 +3467,7 @@ "MaintenanceWindowTarget$WindowId": "

The Maintenance Window ID where the target is registered.

", "MaintenanceWindowTask$WindowId": "

The Maintenance Window ID where the task is registered.

", "RegisterTargetWithMaintenanceWindowRequest$WindowId": "

The ID of the Maintenance Window the target should be registered with.

", - "RegisterTaskWithMaintenanceWindowRequest$WindowId": "

The id of the Maintenance Window the task should be added to.

", + "RegisterTaskWithMaintenanceWindowRequest$WindowId": "

The ID of the Maintenance Window the task should be added to.

", "UpdateMaintenanceWindowRequest$WindowId": "

The ID of the Maintenance Window to update.

", "UpdateMaintenanceWindowResult$WindowId": "

The ID of the created Maintenance Window.

", "UpdateMaintenanceWindowTargetRequest$WindowId": "

The Maintenance Window ID with which to modify the target.

", @@ -3169,7 +3495,7 @@ } }, "MaintenanceWindowLambdaParameters": { - "base": "

The parameters for a LAMBDA task type.

", + "base": "

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.

", "refs": { "MaintenanceWindowTaskInvocationParameters$Lambda": "

The parameters for a LAMBDA task type.

" } @@ -3224,7 +3550,7 @@ } }, "MaintenanceWindowRunCommandParameters": { - "base": "

The parameters for a RUN_COMMAND task type.

", + "base": "

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.

", "refs": { "MaintenanceWindowTaskInvocationParameters$RunCommand": "

The parameters for a RUN_COMMAND task type.

" } @@ -3251,7 +3577,7 @@ } }, "MaintenanceWindowStepFunctionsParameters": { - "base": "

The parameters for the STEP_FUNCTION execution.

", + "base": "

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.

", "refs": { "MaintenanceWindowTaskInvocationParameters$StepFunctions": "

The parameters for a STEP_FUNCTION task type.

" } @@ -3352,18 +3678,18 @@ "MaintenanceWindowTaskParameters": { "base": null, "refs": { - "GetMaintenanceWindowTaskResult$TaskParameters": "

The parameters to pass to the task when it executes.

", - "MaintenanceWindowTask$TaskParameters": "

The parameters that should be passed to the task when it is executed.

", + "GetMaintenanceWindowTaskResult$TaskParameters": "

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.

", + "MaintenanceWindowTask$TaskParameters": "

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.

", "MaintenanceWindowTaskParametersList$member": null, - "RegisterTaskWithMaintenanceWindowRequest$TaskParameters": "

The parameters that should be passed to the task when it is executed.

", - "UpdateMaintenanceWindowTaskRequest$TaskParameters": "

The parameters to modify. 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

", - "UpdateMaintenanceWindowTaskResult$TaskParameters": "

The updated parameter values.

" + "RegisterTaskWithMaintenanceWindowRequest$TaskParameters": "

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.

", + "UpdateMaintenanceWindowTaskRequest$TaskParameters": "

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

", + "UpdateMaintenanceWindowTaskResult$TaskParameters": "

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.

" } }, "MaintenanceWindowTaskParametersList": { "base": null, "refs": { - "GetMaintenanceWindowExecutionTaskResult$TaskParameters": "

The parameters passed to the task when it was executed. The map has the following format:

Key: string, between 1 and 255 characters

Value: an array of strings, each string is between 1 and 255 characters

" + "GetMaintenanceWindowExecutionTaskResult$TaskParameters": "

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

" } }, "MaintenanceWindowTaskPriority": { @@ -3408,12 +3734,12 @@ "refs": { "AutomationExecution$MaxConcurrency": "

The MaxConcurrency value specified by the user when the execution started.

", "AutomationExecutionMetadata$MaxConcurrency": "

The MaxConcurrency value specified by the user when starting the Automation.

", - "Command$MaxConcurrency": "

The maximum number of instances that are allowed to execute the command at the same time. You can specify a number of instances, such as 10, or a percentage of instances, such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Executing a Command Using Systems Manager Run Command.

", + "Command$MaxConcurrency": "

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.

", "GetMaintenanceWindowExecutionTaskResult$MaxConcurrency": "

The defined maximum number of task executions that could be run in parallel.

", "GetMaintenanceWindowTaskResult$MaxConcurrency": "

The maximum number of targets allowed to run this task in parallel.

", "MaintenanceWindowTask$MaxConcurrency": "

The maximum number of targets this task can be run for in parallel.

", "RegisterTaskWithMaintenanceWindowRequest$MaxConcurrency": "

The maximum number of targets this task can be run for in parallel.

", - "SendCommandRequest$MaxConcurrency": "

(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.

", + "SendCommandRequest$MaxConcurrency": "

(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.

", "StartAutomationExecutionRequest$MaxConcurrency": "

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.

", "UpdateMaintenanceWindowTaskRequest$MaxConcurrency": "

The new MaxConcurrency value you want to specify. MaxConcurrency is the number of targets that are allowed to run this task in parallel.

", "UpdateMaintenanceWindowTaskResult$MaxConcurrency": "

The updated MaxConcurrency value.

" @@ -3429,12 +3755,12 @@ "refs": { "AutomationExecution$MaxErrors": "

The MaxErrors value specified by the user when the execution started.

", "AutomationExecutionMetadata$MaxErrors": "

The MaxErrors value specified by the user when starting the Automation.

", - "Command$MaxErrors": "

The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is 50. For more information about how to use MaxErrors, see Executing a Command Using Systems Manager Run Command.

", + "Command$MaxErrors": "

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.

", "GetMaintenanceWindowExecutionTaskResult$MaxErrors": "

The defined maximum number of task execution errors allowed before scheduling of the task execution would have been stopped.

", "GetMaintenanceWindowTaskResult$MaxErrors": "

The maximum number of errors allowed before the task stops being scheduled.

", "MaintenanceWindowTask$MaxErrors": "

The maximum number of errors allowed before this task stops being scheduled.

", "RegisterTaskWithMaintenanceWindowRequest$MaxErrors": "

The maximum number of errors allowed before this task stops being scheduled.

", - "SendCommandRequest$MaxErrors": "

The maximum number of errors allowed without the command failing. When the command fails one more time beyond the value of MaxErrors, the systems stops sending the command to additional targets. You can specify a number like 10 or a percentage like 10%. The default value is 50. For more information about how to use MaxErrors, see Using Error Controls.

", + "SendCommandRequest$MaxErrors": "

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.

", "StartAutomationExecutionRequest$MaxErrors": "

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.

", "UpdateMaintenanceWindowTaskRequest$MaxErrors": "

The new MaxErrors value to specify. MaxErrors is the maximum number of errors that are allowed before the task stops being scheduled.

", "UpdateMaintenanceWindowTaskResult$MaxErrors": "

The updated MaxErrors value.

" @@ -3444,9 +3770,12 @@ "base": null, "refs": { "DescribeActivationsRequest$MaxResults": "

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.

", + "DescribeAssociationExecutionTargetsRequest$MaxResults": "

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.

", + "DescribeAssociationExecutionsRequest$MaxResults": "

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.

", "DescribeAutomationExecutionsRequest$MaxResults": "

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.

", "DescribeAutomationStepExecutionsRequest$MaxResults": "

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.

", "DescribeInstanceAssociationsStatusRequest$MaxResults": "

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.

", + "DescribeInventoryDeletionsRequest$MaxResults": "

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.

", "DescribeParametersRequest$MaxResults": "

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.

", "GetInventoryRequest$MaxResults": "

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.

", "GetParameterHistoryRequest$MaxResults": "

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.

", @@ -3482,6 +3811,10 @@ "refs": { "DescribeActivationsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", "DescribeActivationsResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", + "DescribeAssociationExecutionTargetsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "DescribeAssociationExecutionTargetsResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", + "DescribeAssociationExecutionsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "DescribeAssociationExecutionsResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", "DescribeAutomationExecutionsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "DescribeAutomationExecutionsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "DescribeAutomationStepExecutionsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", @@ -3502,6 +3835,8 @@ "DescribeInstancePatchStatesResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "DescribeInstancePatchesRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "DescribeInstancePatchesResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", + "DescribeInventoryDeletionsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "DescribeInventoryDeletionsResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", "DescribeMaintenanceWindowExecutionTaskInvocationsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "DescribeMaintenanceWindowExecutionTaskInvocationsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "DescribeMaintenanceWindowExecutionTasksRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", @@ -3589,7 +3924,7 @@ "NotificationEventList": { "base": null, "refs": { - "NotificationConfig$NotificationEvents": "

The different events for which you can receive notifications. These events include the following: All (events), InProgress, Success, TimedOut, Cancelled, Failed. To learn more about these events, see Setting Up Events and Notifications in the AWS Systems Manager User Guide.

" + "NotificationConfig$NotificationEvents": "

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": { @@ -3611,11 +3946,29 @@ "UpdatePatchBaselineResult$OperatingSystem": "

The operating system rule used by the updated patch baseline.

" } }, + "OutputSource": { + "base": "

Information about the source where the association execution details are stored.

", + "refs": { + "AssociationExecutionTarget$OutputSource": "

The location where the association details are saved.

" + } + }, + "OutputSourceId": { + "base": null, + "refs": { + "OutputSource$OutputSourceId": "

The ID of the output source, for example the URL of an Amazon S3 bucket.

" + } + }, + "OutputSourceType": { + "base": null, + "refs": { + "OutputSource$OutputSourceType": "

The type of source where the association execution details are stored, for example, Amazon S3.

" + } + }, "OwnerInformation": { "base": null, "refs": { "GetMaintenanceWindowExecutionTaskInvocationResult$OwnerInformation": "

User-provided value to be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

", - "InstancePatchState$OwnerInformation": "

Placeholder information, this field will always be empty in the current release of the service.

", + "InstancePatchState$OwnerInformation": "

Placeholder information. This field will always be empty in the current release of the service.

", "MaintenanceWindowExecutionTaskInvocationIdentity$OwnerInformation": "

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.

", "MaintenanceWindowTarget$OwnerInformation": "

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

", "RegisterTargetWithMaintenanceWindowRequest$OwnerInformation": "

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

", @@ -3629,12 +3982,19 @@ "DeleteParameterRequest$Name": "

The name of the parameter to delete.

", "GetParameterHistoryRequest$Name": "

The name of a parameter you want to query.

", "GetParameterRequest$Name": "

The name of the parameter you want to query.

", - "GetParametersByPathRequest$Path": "

The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the parameter name. A hierarchy can have a maximum of five levels. For example: /Finance/Prod/IAD/WinServ2016/license15

", + "GetParametersByPathRequest$Path": "

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

", + "LabelParameterVersionRequest$Name": "

The parameter name on which you want to attach one or more labels.

", "Parameter$Name": "

The name of the parameter.

", "ParameterHistory$Name": "

The name of the parameter.

", "ParameterMetadata$Name": "

The parameter name.

", "ParameterNameList$member": null, - "PutParameterRequest$Name": "

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

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.

" + "PutParameterRequest$Name": "

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.

" + } + }, + "PSParameterSelector": { + "base": null, + "refs": { + "Parameter$Selector": "

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

" } }, "PSParameterValue": { @@ -3648,6 +4008,7 @@ "PSParameterVersion": { "base": null, "refs": { + "LabelParameterVersionRequest$ParameterVersion": "

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.)

", "Parameter$Version": "

The parameter version.

", "ParameterHistory$Version": "

The parameter version.

", "ParameterMetadata$Version": "

The parameter version.

", @@ -3671,7 +4032,7 @@ "refs": { "ParameterHistory$Description": "

Information about the parameter.

", "ParameterMetadata$Description": "

Description of the parameter actions.

", - "PutParameterRequest$Description": "

Information about the parameter that you want to add to the system.

" + "PutParameterRequest$Description": "

Information about the parameter that you want to add to the system. Optional but recommended.

Do not enter personally identifiable information in this field.

" } }, "ParameterHistory": { @@ -3691,7 +4052,21 @@ "refs": { "ParameterHistory$KeyId": "

The ID of the query key used for this parameter.

", "ParameterMetadata$KeyId": "

The ID of the query key used for this parameter.

", - "PutParameterRequest$KeyId": "

The KMS Key ID that you want to use to encrypt a parameter when you choose the SecureString data type. If you don't specify a key ID, the system uses the default key associated with your AWS account.

" + "PutParameterRequest$KeyId": "

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.

" + } + }, + "ParameterLabel": { + "base": null, + "refs": { + "ParameterLabelList$member": null + } + }, + "ParameterLabelList": { + "base": null, + "refs": { + "LabelParameterVersionRequest$Labels": "

One or more labels to attach to the specified parameter version.

", + "LabelParameterVersionResult$InvalidLabels": "

The label does not meet the requirements. For information about parameter label requirements, see Labeling Parameters in the AWS Systems Manager User Guide.

", + "ParameterHistory$Labels": "

Labels assigned to the parameter version.

" } }, "ParameterLimitExceeded": { @@ -3750,7 +4125,7 @@ } }, "ParameterStringFilter": { - "base": "

One or more filters. Use a filter to return a more specific list of results.

", + "base": "

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.

", "refs": { "ParameterStringFilterList$member": null } @@ -3765,7 +4140,7 @@ "base": null, "refs": { "DescribeParametersRequest$ParameterFilters": "

Filters to limit the request results.

", - "GetParametersByPathRequest$ParameterFilters": "

Filters to limit the request results.

" + "GetParametersByPathRequest$ParameterFilters": "

Filters to limit the request results.

You can't filter using the parameter name.

" } }, "ParameterStringFilterValue": { @@ -3792,7 +4167,7 @@ "Parameter$Type": "

The type of parameter. Valid values include the following: String, String list, Secure string.

", "ParameterHistory$Type": "

The type of parameter used.

", "ParameterMetadata$Type": "

The type of parameter. Valid parameter types include the following: String, String list, Secure string.

", - "PutParameterRequest$Type": "

The type of parameter that you want to add to the system.

" + "PutParameterRequest$Type": "

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.

" } }, "ParameterValue": { @@ -3808,6 +4183,11 @@ "Parameters$value": null } }, + "ParameterVersionLabelLimitExceeded": { + "base": "

A parameter version can have a maximum of ten labels.

", + "refs": { + } + }, "ParameterVersionNotFound": { "base": "

The specified parameter version was not found. Verify the parameter name and version, and try again.

", "refs": { @@ -3827,7 +4207,7 @@ } }, "ParametersFilter": { - "base": "

One or more filters. Use a filter to return a more specific list of results.

", + "base": "

This data type is deprecated. Instead, use ParameterStringFilter.

", "refs": { "ParametersFilterList$member": null } @@ -3913,7 +4293,7 @@ "PatchComplianceLevel": { "base": null, "refs": { - "CreatePatchBaselineRequest$ApprovedPatchesComplianceLevel": "

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. Valid compliance severity levels include the following: CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED. The default value is UNSPECIFIED.

", + "CreatePatchBaselineRequest$ApprovedPatchesComplianceLevel": "

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.

", "GetPatchBaselineResult$ApprovedPatchesComplianceLevel": "

Returns the specified compliance severity level for approved patches in the patch baseline.

", "PatchRule$ComplianceLevel": "

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.

", "PatchStatus$ComplianceLevel": "

The compliance severity level for a patch.

", @@ -3954,7 +4334,7 @@ } }, "PatchFilter": { - "base": "

Defines a patch filter.

", + "base": "

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

", "refs": { "PatchFilterList$member": null } @@ -3972,7 +4352,7 @@ "PatchFilterKey": { "base": null, "refs": { - "PatchFilter$Key": "

The key for the filter (PRODUCT, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID)

" + "PatchFilter$Key": "

The key for the filter.

See PatchFilter for lists of valid keys for each operating system type.

" } }, "PatchFilterList": { @@ -3990,7 +4370,7 @@ "PatchFilterValueList": { "base": null, "refs": { - "PatchFilter$Values": "

The value for the filter key.

" + "PatchFilter$Values": "

The value for the filter key.

See PatchFilter for lists of valid values for each key based on operating system type.

" } }, "PatchGroup": { @@ -4037,12 +4417,12 @@ "PatchIdList": { "base": null, "refs": { - "CreatePatchBaselineRequest$ApprovedPatches": "

A list of explicitly approved patches for the baseline.

", - "CreatePatchBaselineRequest$RejectedPatches": "

A list of explicitly rejected patches for the baseline.

", + "CreatePatchBaselineRequest$ApprovedPatches": "

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.

", + "CreatePatchBaselineRequest$RejectedPatches": "

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.

", "GetPatchBaselineResult$ApprovedPatches": "

A list of explicitly approved patches for the baseline.

", "GetPatchBaselineResult$RejectedPatches": "

A list of explicitly rejected patches for the baseline.

", - "UpdatePatchBaselineRequest$ApprovedPatches": "

A list of explicitly approved patches for the baseline.

", - "UpdatePatchBaselineRequest$RejectedPatches": "

A list of explicitly rejected patches for the baseline.

", + "UpdatePatchBaselineRequest$ApprovedPatches": "

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.

", + "UpdatePatchBaselineRequest$RejectedPatches": "

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.

", "UpdatePatchBaselineResult$ApprovedPatches": "

A list of explicitly approved patches for the baseline.

", "UpdatePatchBaselineResult$RejectedPatches": "

A list of explicitly rejected patches for the baseline.

" } @@ -4180,6 +4560,45 @@ "PatchComplianceData$Severity": "

The severity of the patch (for example, Critical, Important, Moderate).

" } }, + "PatchSource": { + "base": "

Information about the patches to use to update the instances, including target operating systems and source repository. Applies to Linux instances only.

", + "refs": { + "PatchSourceList$member": null + } + }, + "PatchSourceConfiguration": { + "base": null, + "refs": { + "PatchSource$Configuration": "

The value of the yum repo configuration. For example:

cachedir=/var/cache/yum/$basesearch

$releasever

keepcache=0

debuglevel=2

" + } + }, + "PatchSourceList": { + "base": null, + "refs": { + "CreatePatchBaselineRequest$Sources": "

Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

", + "GetPatchBaselineResult$Sources": "

Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

", + "UpdatePatchBaselineRequest$Sources": "

Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

", + "UpdatePatchBaselineResult$Sources": "

Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

" + } + }, + "PatchSourceName": { + "base": null, + "refs": { + "PatchSource$Name": "

The name specified to identify the patch source.

" + } + }, + "PatchSourceProduct": { + "base": null, + "refs": { + "PatchSourceProductList$member": null + } + }, + "PatchSourceProductList": { + "base": null, + "refs": { + "PatchSource$Products": "

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.

" + } + }, "PatchStatus": { "base": "

Information about the approval status of a patch.

", "refs": { @@ -4202,7 +4621,7 @@ "PingStatus": { "base": null, "refs": { - "InstanceInformation$PingStatus": "

Connection status of the SSM Agent.

" + "InstanceInformation$PingStatus": "

Connection status of SSM Agent.

" } }, "PlatformType": { @@ -4235,6 +4654,12 @@ "refs": { } }, + "PutInventoryMessage": { + "base": null, + "refs": { + "PutInventoryResult$Message": "

Information about the request.

" + } + }, "PutInventoryRequest": { "base": null, "refs": { @@ -4308,6 +4733,13 @@ "Activation$RegistrationsCount": "

The number of managed instances already registered with this activation.

" } }, + "RemainingCount": { + "base": null, + "refs": { + "InventoryDeletionSummary$RemainingCount": "

Remaining number of items to delete.

", + "InventoryDeletionSummaryItem$RemainingCount": "

The remaining number of items to delete.

" + } + }, "RemoveTagsFromResourceRequest": { "base": null, "refs": { @@ -4337,6 +4769,18 @@ "ListResourceComplianceSummariesResult$ResourceComplianceSummaryItems": "

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.

" } }, + "ResourceCount": { + "base": null, + "refs": { + "InventoryDeletionSummaryItem$Count": "

A count of the number of deleted items.

" + } + }, + "ResourceCountByStatus": { + "base": null, + "refs": { + "AssociationExecution$ResourceCountByStatus": "

An aggregate status of the resources in the execution based on the status type.

" + } + }, "ResourceDataSyncAWSKMSKeyARN": { "base": null, "refs": { @@ -4425,9 +4869,9 @@ "ResourceId": { "base": null, "refs": { - "AddTagsToResourceRequest$ResourceId": "

The resource ID you want to tag.

For the ManagedInstance, MaintenanceWindow, and PatchBaseline values, use the ID of the resource, such as mw-01234361858c9b57b for a Maintenance Window.

For the Document and Parameter values, use the name of the resource.

", + "AddTagsToResourceRequest$ResourceId": "

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.

", "ListTagsForResourceRequest$ResourceId": "

The resource ID for which you want to see a list of tags.

", - "RemoveTagsFromResourceRequest$ResourceId": "

The resource ID for which you want to remove tags.

" + "RemoveTagsFromResourceRequest$ResourceId": "

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.

" } }, "ResourceInUseException": { @@ -4436,7 +4880,7 @@ } }, "ResourceLimitExceededException": { - "base": "

Error returned when the caller has exceeded the default resource limits (e.g. too many Maintenance Windows have been created).

", + "base": "

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.

", "refs": { } }, @@ -4449,9 +4893,9 @@ "ResourceTypeForTagging": { "base": null, "refs": { - "AddTagsToResourceRequest$ResourceType": "

Specifies the type of resource you are tagging.

", + "AddTagsToResourceRequest$ResourceType": "

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.

", "ListTagsForResourceRequest$ResourceType": "

Returns a list of tags for a specific resource type.

", - "RemoveTagsFromResourceRequest$ResourceType": "

The type of resource of which you want to remove a tag.

" + "RemoveTagsFromResourceRequest$ResourceType": "

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.

" } }, "ResponseCode": { @@ -4557,9 +5001,9 @@ "GetMaintenanceWindowTaskResult$ServiceRoleArn": "

The IAM service role to assume during task execution.

", "MaintenanceWindowRunCommandParameters$ServiceRoleArn": "

The IAM service role to assume during task execution.

", "MaintenanceWindowTask$ServiceRoleArn": "

The role that should be assumed when executing the task

", - "RegisterTaskWithMaintenanceWindowRequest$ServiceRoleArn": "

The role that should be assumed when executing the task.

", + "RegisterTaskWithMaintenanceWindowRequest$ServiceRoleArn": "

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.

", "SendCommandRequest$ServiceRoleArn": "

The IAM role that Systems Manager uses to send notifications.

", - "UpdateMaintenanceWindowTaskRequest$ServiceRoleArn": "

The IAM service role ARN to modify. The system assumes this role during task execution.

", + "UpdateMaintenanceWindowTaskRequest$ServiceRoleArn": "

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.

", "UpdateMaintenanceWindowTaskResult$ServiceRoleArn": "

The updated service role ARN value.

" } }, @@ -4602,6 +5046,16 @@ "GetCommandInvocationResult$StandardOutputContent": "

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.

" } }, + "StartAssociationsOnceRequest": { + "base": null, + "refs": { + } + }, + "StartAssociationsOnceResult": { + "base": null, + "refs": { + } + }, "StartAutomationExecutionRequest": { "base": null, "refs": { @@ -4621,10 +5075,10 @@ "StatusDetails": { "base": null, "refs": { - "Command$StatusDetails": "

A detailed status of the command execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Run Command Status. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to any instances.

  • In Progress: The command has been sent to at least one instance but has not reached a final state on all instances.

  • Success: The command successfully executed on all invocations. This is a terminal state.

  • Delivery Timed Out: The value of MaxErrors or more command invocations shows a status of Delivery Timed Out. This is a terminal state.

  • Execution Timed Out: The value of MaxErrors or more command invocations shows a status of Execution Timed Out. This is a terminal state.

  • Failed: The value of MaxErrors or more command invocations shows a status of Failed. This is a terminal state.

  • Incomplete: The command was attempted on all instances and one or more invocations does not have a value of Success but not enough invocations failed for the status to be Failed. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Rate Exceeded: The number of instances targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before executing it on any instance. This is a terminal state.

", - "CommandInvocation$StatusDetails": "

A detailed status of the command execution for each invocation (each instance targeted by the command). StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Run Command Status. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to the instance.

  • In Progress: The command has been sent to the instance but has not reached a terminal state.

  • Success: The execution of the command or plugin was successfully completed. This is a terminal state.

  • Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Execution Timed Out: Command execution started on the instance, but the execution was not complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

  • Failed: The command was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Undeliverable: The command can't be delivered to the instance. The instance might not exist or might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

", - "CommandPlugin$StatusDetails": "

A detailed status of the plugin execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Run Command Status. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to the instance.

  • In Progress: The command has been sent to the instance but has not reached a terminal state.

  • Success: The execution of the command or plugin was successfully completed. This is a terminal state.

  • Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Execution Timed Out: Command execution started on the instance, but the execution was not complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

  • Failed: The command was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Undeliverable: The command can't be delivered to the instance. The instance might not exist, or it might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit, and they don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

", - "GetCommandInvocationResult$StatusDetails": "

A detailed status of the command execution for an invocation. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Run Command Status. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to the instance.

  • In Progress: The command has been sent to the instance but has not reached a terminal state.

  • Delayed: The system attempted to send the command to the target, but the target was not available. The instance might not be available because of network issues, the instance was stopped, etc. The system will try to deliver the command again.

  • Success: The command or plugin was executed successfully. This is a terminal state.

  • Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Execution Timed Out: The command started to execute on the instance, but the execution was not complete before the timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

  • Failed: The command wasn't executed successfully on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Undeliverable: The command can't be delivered to the instance. The instance might not exist or might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

" + "Command$StatusDetails": "

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.

", + "CommandInvocation$StatusDetails": "

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.

", + "CommandPlugin$StatusDetails": "

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.

", + "GetCommandInvocationResult$StatusDetails": "

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.

" } }, "StatusMessage": { @@ -4636,6 +5090,10 @@ "StatusName": { "base": null, "refs": { + "AssociationExecution$Status": "

The status of the association execution.

", + "AssociationExecution$DetailedStatus": "

Detailed status information about the execution.

", + "AssociationExecutionTarget$Status": "

The association execution status.

", + "AssociationExecutionTarget$DetailedStatus": "

Detailed information about the execution status.

", "AssociationOverview$Status": "

The status of the association. Status can be: Pending, Success, or Failed.

", "AssociationOverview$DetailedStatus": "

A detailed status of the association.

", "AssociationStatusAggregatedCount$key": null, @@ -4715,6 +5173,7 @@ "refs": { "AlreadyExistsException$Message": null, "AssociationDoesNotExist$Message": null, + "AssociationExecutionDoesNotExist$Message": null, "AssociationVersionLimitExceeded$Message": null, "AutomationDefinitionNotFoundException$Message": null, "AutomationDefinitionVersionNotFoundException$Message": null, @@ -4743,7 +5202,7 @@ "FailureDetails$FailureStage": "

The stage of the Automation execution when the failure occurred. The stages include the following: InputValidation, PreVerification, Invocation, PostVerification.

", "FailureDetails$FailureType": "

The type of Automation failure. Failure types include the following: Action, Permission, Throttling, Verification, Internal.

", "FeatureNotAvailableException$Message": null, - "HierarchyLevelLimitExceededException$message": "

A hierarchy can have a maximum of five levels. For example:

/Finance/Prod/IAD/OS/WinServ2016/license15

For more information, see Working with Systems Manager Parameters.

", + "HierarchyLevelLimitExceededException$message": "

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.

", "HierarchyTypeMismatchException$message": "

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.

", "IdempotentParameterMismatch$Message": null, "InstanceInformation$PlatformName": "

The name of the operating system platform running on your instance.

", @@ -4753,10 +5212,13 @@ "InvalidActivation$Message": null, "InvalidActivationId$Message": null, "InvalidAllowedPatternException$message": "

The request does not meet the regular expression requirement.

", + "InvalidAssociation$Message": null, "InvalidAssociationVersion$Message": null, "InvalidAutomationExecutionParametersException$Message": null, "InvalidAutomationSignalException$Message": null, "InvalidAutomationStatusUpdateException$Message": null, + "InvalidDeleteInventoryParametersException$Message": null, + "InvalidDeletionIdException$Message": null, "InvalidDocument$Message": "

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.

", "InvalidDocumentContent$Message": "

A description of the validation error.

", "InvalidDocumentOperation$Message": null, @@ -4768,10 +5230,12 @@ "InvalidInstanceId$Message": null, "InvalidInstanceInformationFilterValue$message": null, "InvalidInventoryItemContextException$Message": null, + "InvalidInventoryRequestException$Message": null, "InvalidItemContentException$Message": null, "InvalidKeyId$message": null, "InvalidNextToken$Message": null, "InvalidNotificationConfig$Message": null, + "InvalidOptionException$Message": null, "InvalidParameters$Message": null, "InvalidPermissionType$Message": null, "InvalidResultAttributeException$Message": null, @@ -4785,6 +5249,8 @@ "MaxDocumentSizeExceeded$Message": null, "NormalStringMap$key": null, "NormalStringMap$value": null, + "Parameter$SourceResult": "

Applies to parameters that reference information in other AWS services. SourceResult is the raw result or response from the source.

", + "Parameter$ARN": "

The Amazon Resource Name (ARN) of the parameter.

", "ParameterAlreadyExists$message": null, "ParameterHistory$LastModifiedUser": "

Amazon Resource Name (ARN) of the AWS user who last changed the parameter.

", "ParameterLimitExceeded$message": null, @@ -4792,6 +5258,7 @@ "ParameterMetadata$LastModifiedUser": "

Amazon Resource Name (ARN) of the AWS user who last changed the parameter.

", "ParameterNotFound$message": null, "ParameterPatternMismatchException$message": "

The parameter name is not valid.

", + "ParameterVersionLabelLimitExceeded$message": null, "ParameterVersionNotFound$message": null, "ResourceDataSyncCountExceededException$Message": null, "ResourceDataSyncInvalidConfigurationException$Message": null, @@ -4803,6 +5270,7 @@ "StepExecution$Response": "

A message associated with the response code for an execution.

", "StepExecution$FailureMessage": "

If a step failed, this message explains why the execution failed.

", "StepExecution$StepExecutionId": "

The unique ID of a step execution.

", + "StepExecution$NextStep": "

The next step after the step succeeds.

", "StringList$member": null, "SubTypeCountLimitExceededException$Message": null, "TargetInUseException$Message": null, @@ -4850,7 +5318,7 @@ "TagList": { "base": null, "refs": { - "AddTagsToResourceRequest$Tags": "

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.

", + "AddTagsToResourceRequest$Tags": "

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.

", "DocumentDescription$Tags": "

The tags, or metadata, that have been applied to the document.

", "DocumentIdentifier$Tags": "

The tags, or metadata, that have been applied to the document.

", "ListTagsForResourceResult$TagList": "

A list of tags.

" @@ -4882,7 +5350,7 @@ "TargetKey": { "base": null, "refs": { - "Target$Key": "

User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see Executing a Command Using Systems Manager Run Command.

" + "Target$Key": "

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.

" } }, "TargetParameterList": { @@ -4909,7 +5377,7 @@ "TargetValues": { "base": null, "refs": { - "Target$Values": "

User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to execute a command on instances that include Amazon EC2 tags of ServerRole,WebServer. For more information about how to send commands that target instances using Key,Value parameters, see Executing a Command Using Systems Manager Run Command.

" + "Target$Values": "

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.

" } }, "Targets": { @@ -4926,9 +5394,9 @@ "GetMaintenanceWindowTaskResult$Targets": "

The targets where the task should execute.

", "MaintenanceWindowTarget$Targets": "

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>.

", "MaintenanceWindowTask$Targets": "

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>.

", - "RegisterTargetWithMaintenanceWindowRequest$Targets": "

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>.

", - "RegisterTaskWithMaintenanceWindowRequest$Targets": "

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>.

", - "SendCommandRequest$Targets": "

(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.

", + "RegisterTargetWithMaintenanceWindowRequest$Targets": "

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>

", + "RegisterTaskWithMaintenanceWindowRequest$Targets": "

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>

", + "SendCommandRequest$Targets": "

(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.

", "StartAutomationExecutionRequest$Targets": "

A key-value mapping to target resources. Required if you specify TargetParameterName.

", "UpdateAssociationRequest$Targets": "

The targets of the association.

", "UpdateMaintenanceWindowTargetRequest$Targets": "

The targets to add or replace.

", @@ -4941,7 +5409,7 @@ "base": null, "refs": { "MaintenanceWindowRunCommandParameters$TimeoutSeconds": "

If this time is reached and the command has not already started executing, it doesn not execute.

", - "SendCommandRequest$TimeoutSeconds": "

If this time is reached and the command has not already started executing, it will not execute.

" + "SendCommandRequest$TimeoutSeconds": "

If this time is reached and the command has not already started executing, it will not run.

" } }, "TooManyTagsError": { @@ -4954,6 +5422,12 @@ "refs": { } }, + "TotalCount": { + "base": null, + "refs": { + "InventoryDeletionSummary$TotalCount": "

The total number of items to delete. This count does not change during the delete operation.

" + } + }, "TotalSizeLimitExceededException": { "base": "

The size of inventory data has exceeded the total size limit for the resource.

", "refs": { @@ -5086,10 +5560,22 @@ "S3OutputUrl$OutputUrl": "

A URL for an Amazon S3 bucket where you want to store the results of this request.

" } }, + "ValidNextStep": { + "base": null, + "refs": { + "ValidNextStepList$member": null + } + }, + "ValidNextStepList": { + "base": null, + "refs": { + "StepExecution$ValidNextSteps": "

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.

" + } + }, "Version": { "base": null, "refs": { - "InstanceInformation$AgentVersion": "

The version of the SSM Agent running on your Linux instance.

" + "InstanceInformation$AgentVersion": "

The version of SSM Agent running on your Linux instance.

" } } } diff --git a/models/apis/storagegateway/2013-06-30/api-2.json b/models/apis/storagegateway/2013-06-30/api-2.json index 5a3fded6f09..0803de22d28 100644 --- a/models/apis/storagegateway/2013-06-30/api-2.json +++ b/models/apis/storagegateway/2013-06-30/api-2.json @@ -129,6 +129,19 @@ {"shape":"InternalServerError"} ] }, + "CreateSMBFileShare":{ + "name":"CreateSMBFileShare", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSMBFileShareInput"}, + "output":{"shape":"CreateSMBFileShareOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ] + }, "CreateSnapshot":{ "name":"CreateSnapshot", "http":{ @@ -391,6 +404,32 @@ {"shape":"InternalServerError"} ] }, + "DescribeSMBFileShares":{ + "name":"DescribeSMBFileShares", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSMBFileSharesInput"}, + "output":{"shape":"DescribeSMBFileSharesOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ] + }, + "DescribeSMBSettings":{ + "name":"DescribeSMBSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSMBSettingsInput"}, + "output":{"shape":"DescribeSMBSettingsOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ] + }, "DescribeSnapshotSchedule":{ "name":"DescribeSnapshotSchedule", "http":{ @@ -508,6 +547,19 @@ {"shape":"InternalServerError"} ] }, + "JoinDomain":{ + "name":"JoinDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"JoinDomainInput"}, + "output":{"shape":"JoinDomainOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ] + }, "ListFileShares":{ "name":"ListFileShares", "http":{ @@ -703,6 +755,19 @@ {"shape":"InternalServerError"} ] }, + "SetSMBGuestPassword":{ + "name":"SetSMBGuestPassword", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetSMBGuestPasswordInput"}, + "output":{"shape":"SetSMBGuestPasswordOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ] + }, "ShutdownGateway":{ "name":"ShutdownGateway", "http":{ @@ -807,6 +872,19 @@ {"shape":"InternalServerError"} ] }, + "UpdateSMBFileShare":{ + "name":"UpdateSMBFileShare", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSMBFileShareInput"}, + "output":{"shape":"UpdateSMBFileShareOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ] + }, "UpdateSnapshotSchedule":{ "name":"UpdateSnapshotSchedule", "http":{ @@ -932,6 +1010,11 @@ "GatewayARN":{"shape":"GatewayARN"} } }, + "Authentication":{ + "type":"string", + "max":15, + "min":5 + }, "BandwidthDownloadRateLimit":{ "type":"long", "min":102400 @@ -958,7 +1041,8 @@ "SourceSnapshotId":{"shape":"SnapshotId"}, "VolumeiSCSIAttributes":{"shape":"VolumeiSCSIAttributes"}, "CreatedDate":{"shape":"CreatedDate"}, - "VolumeUsedInBytes":{"shape":"VolumeUsedInBytes"} + "VolumeUsedInBytes":{"shape":"VolumeUsedInBytes"}, + "KMSKey":{"shape":"KMSKey"} } }, "CachediSCSIVolumes":{ @@ -1038,7 +1122,9 @@ "TargetName":{"shape":"TargetName"}, "SourceVolumeARN":{"shape":"VolumeARN"}, "NetworkInterfaceId":{"shape":"NetworkInterfaceId"}, - "ClientToken":{"shape":"ClientToken"} + "ClientToken":{"shape":"ClientToken"}, + "KMSEncrypted":{"shape":"Boolean"}, + "KMSKey":{"shape":"KMSKey"} } }, "CreateCachediSCSIVolumeOutput":{ @@ -1065,10 +1151,12 @@ "Role":{"shape":"Role"}, "LocationARN":{"shape":"LocationARN"}, "DefaultStorageClass":{"shape":"StorageClass"}, + "ObjectACL":{"shape":"ObjectACL"}, "ClientList":{"shape":"FileShareClientList"}, "Squash":{"shape":"Squash"}, "ReadOnly":{"shape":"Boolean"}, - "GuessMIMETypeEnabled":{"shape":"Boolean"} + "GuessMIMETypeEnabled":{"shape":"Boolean"}, + "RequesterPays":{"shape":"Boolean"} } }, "CreateNFSFileShareOutput":{ @@ -1077,6 +1165,37 @@ "FileShareARN":{"shape":"FileShareARN"} } }, + "CreateSMBFileShareInput":{ + "type":"structure", + "required":[ + "ClientToken", + "GatewayARN", + "Role", + "LocationARN" + ], + "members":{ + "ClientToken":{"shape":"ClientToken"}, + "GatewayARN":{"shape":"GatewayARN"}, + "KMSEncrypted":{"shape":"Boolean"}, + "KMSKey":{"shape":"KMSKey"}, + "Role":{"shape":"Role"}, + "LocationARN":{"shape":"LocationARN"}, + "DefaultStorageClass":{"shape":"StorageClass"}, + "ObjectACL":{"shape":"ObjectACL"}, + "ReadOnly":{"shape":"Boolean"}, + "GuessMIMETypeEnabled":{"shape":"Boolean"}, + "RequesterPays":{"shape":"Boolean"}, + "ValidUserList":{"shape":"FileShareUserList"}, + "InvalidUserList":{"shape":"FileShareUserList"}, + "Authentication":{"shape":"Authentication"} + } + }, + "CreateSMBFileShareOutput":{ + "type":"structure", + "members":{ + "FileShareARN":{"shape":"FileShareARN"} + } + }, "CreateSnapshotFromVolumeRecoveryPointInput":{ "type":"structure", "required":[ @@ -1129,7 +1248,9 @@ "SnapshotId":{"shape":"SnapshotId"}, "PreserveExistingData":{"shape":"boolean"}, "TargetName":{"shape":"TargetName"}, - "NetworkInterfaceId":{"shape":"NetworkInterfaceId"} + "NetworkInterfaceId":{"shape":"NetworkInterfaceId"}, + "KMSEncrypted":{"shape":"Boolean"}, + "KMSKey":{"shape":"KMSKey"} } }, "CreateStorediSCSIVolumeOutput":{ @@ -1150,7 +1271,9 @@ "members":{ "GatewayARN":{"shape":"GatewayARN"}, "TapeSizeInBytes":{"shape":"TapeSize"}, - "TapeBarcode":{"shape":"TapeBarcode"} + "TapeBarcode":{"shape":"TapeBarcode"}, + "KMSEncrypted":{"shape":"Boolean"}, + "KMSKey":{"shape":"KMSKey"} } }, "CreateTapeWithBarcodeOutput":{ @@ -1173,7 +1296,9 @@ "TapeSizeInBytes":{"shape":"TapeSize"}, "ClientToken":{"shape":"ClientToken"}, "NumTapesToCreate":{"shape":"NumTapesToCreate"}, - "TapeBarcodePrefix":{"shape":"TapeBarcodePrefix"} + "TapeBarcodePrefix":{"shape":"TapeBarcodePrefix"}, + "KMSEncrypted":{"shape":"Boolean"}, + "KMSKey":{"shape":"KMSKey"} } }, "CreateTapesOutput":{ @@ -1417,6 +1542,34 @@ "NFSFileShareInfoList":{"shape":"NFSFileShareInfoList"} } }, + "DescribeSMBFileSharesInput":{ + "type":"structure", + "required":["FileShareARNList"], + "members":{ + "FileShareARNList":{"shape":"FileShareARNList"} + } + }, + "DescribeSMBFileSharesOutput":{ + "type":"structure", + "members":{ + "SMBFileShareInfoList":{"shape":"SMBFileShareInfoList"} + } + }, + "DescribeSMBSettingsInput":{ + "type":"structure", + "required":["GatewayARN"], + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + } + }, + "DescribeSMBSettingsOutput":{ + "type":"structure", + "members":{ + "GatewayARN":{"shape":"GatewayARN"}, + "DomainName":{"shape":"DomainName"}, + "SMBGuestPasswordSet":{"shape":"Boolean"} + } + }, "DescribeSnapshotScheduleInput":{ "type":"structure", "required":["VolumeARN"], @@ -1608,6 +1761,19 @@ "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", @@ -1700,6 +1866,7 @@ "FileShareInfo":{ "type":"structure", "members":{ + "FileShareType":{"shape":"FileShareType"}, "FileShareARN":{"shape":"FileShareARN"}, "FileShareId":{"shape":"FileShareId"}, "FileShareStatus":{"shape":"FileShareStatus"}, @@ -1715,6 +1882,24 @@ "max":50, "min":3 }, + "FileShareType":{ + "type":"string", + "enum":[ + "NFS", + "SMB" + ] + }, + "FileShareUser":{ + "type":"string", + "max":64, + "min":1 + }, + "FileShareUserList":{ + "type":"list", + "member":{"shape":"FileShareUser"}, + "max":100, + "min":0 + }, "GatewayARN":{ "type":"string", "max":500, @@ -1809,6 +1994,27 @@ "min":1, "pattern":"[0-9a-z:.-]+" }, + "JoinDomainInput":{ + "type":"structure", + "required":[ + "GatewayARN", + "DomainName", + "UserName", + "Password" + ], + "members":{ + "GatewayARN":{"shape":"GatewayARN"}, + "DomainName":{"shape":"DomainName"}, + "UserName":{"shape":"DomainUserName"}, + "Password":{"shape":"DomainUserPassword"} + } + }, + "JoinDomainOutput":{ + "type":"structure", + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + } + }, "KMSKey":{ "type":"string", "max":2048, @@ -1988,10 +2194,12 @@ "Role":{"shape":"Role"}, "LocationARN":{"shape":"LocationARN"}, "DefaultStorageClass":{"shape":"StorageClass"}, + "ObjectACL":{"shape":"ObjectACL"}, "ClientList":{"shape":"FileShareClientList"}, "Squash":{"shape":"Squash"}, "ReadOnly":{"shape":"Boolean"}, - "GuessMIMETypeEnabled":{"shape":"Boolean"} + "GuessMIMETypeEnabled":{"shape":"Boolean"}, + "RequesterPays":{"shape":"Boolean"} } }, "NFSFileShareInfoList":{ @@ -2039,6 +2247,18 @@ "max":10, "min":1 }, + "ObjectACL":{ + "type":"string", + "enum":[ + "private", + "public-read", + "public-read-write", + "authenticated-read", + "bucket-owner-read", + "bucket-owner-full-control", + "aws-exec-read" + ] + }, "Path":{"type":"string"}, "PermissionId":{ "type":"long", @@ -2152,6 +2372,39 @@ "max":2048, "min":20 }, + "SMBFileShareInfo":{ + "type":"structure", + "members":{ + "FileShareARN":{"shape":"FileShareARN"}, + "FileShareId":{"shape":"FileShareId"}, + "FileShareStatus":{"shape":"FileShareStatus"}, + "GatewayARN":{"shape":"GatewayARN"}, + "KMSEncrypted":{"shape":"boolean"}, + "KMSKey":{"shape":"KMSKey"}, + "Path":{"shape":"Path"}, + "Role":{"shape":"Role"}, + "LocationARN":{"shape":"LocationARN"}, + "DefaultStorageClass":{"shape":"StorageClass"}, + "ObjectACL":{"shape":"ObjectACL"}, + "ReadOnly":{"shape":"Boolean"}, + "GuessMIMETypeEnabled":{"shape":"Boolean"}, + "RequesterPays":{"shape":"Boolean"}, + "ValidUserList":{"shape":"FileShareUserList"}, + "InvalidUserList":{"shape":"FileShareUserList"}, + "Authentication":{"shape":"Authentication"} + } + }, + "SMBFileShareInfoList":{ + "type":"list", + "member":{"shape":"SMBFileShareInfo"} + }, + "SMBGuestPassword":{ + "type":"string", + "max":512, + "min":6, + "pattern":"^[ -~]+$", + "sensitive":true + }, "ServiceUnavailableError":{ "type":"structure", "members":{ @@ -2177,6 +2430,23 @@ "GatewayARN":{"shape":"GatewayARN"} } }, + "SetSMBGuestPasswordInput":{ + "type":"structure", + "required":[ + "GatewayARN", + "Password" + ], + "members":{ + "GatewayARN":{"shape":"GatewayARN"}, + "Password":{"shape":"SMBGuestPassword"} + } + }, + "SetSMBGuestPasswordOutput":{ + "type":"structure", + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + } + }, "ShutdownGatewayInput":{ "type":"structure", "required":["GatewayARN"], @@ -2243,7 +2513,8 @@ "PreservedExistingData":{"shape":"boolean"}, "VolumeiSCSIAttributes":{"shape":"VolumeiSCSIAttributes"}, "CreatedDate":{"shape":"CreatedDate"}, - "VolumeUsedInBytes":{"shape":"VolumeUsedInBytes"} + "VolumeUsedInBytes":{"shape":"VolumeUsedInBytes"}, + "KMSKey":{"shape":"KMSKey"} } }, "StorediSCSIVolumes":{ @@ -2265,7 +2536,7 @@ "type":"string", "max":128, "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "TagKeys":{ "type":"list", @@ -2289,14 +2560,15 @@ "TapeStatus":{"shape":"TapeStatus"}, "VTLDevice":{"shape":"VTLDeviceARN"}, "Progress":{"shape":"DoubleObject"}, - "TapeUsedInBytes":{"shape":"TapeUsage"} + "TapeUsedInBytes":{"shape":"TapeUsage"}, + "KMSKey":{"shape":"KMSKey"} } }, "TapeARN":{ "type":"string", "max":500, "min":50, - "pattern":"^arn:(aws|aws-cn):storagegateway:[a-z\\-0-9]+:[0-9]+:tape\\/[0-9A-Z]{7,16}$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov):storagegateway:[a-z\\-0-9]+:[0-9]+:tape\\/[0-9A-Z]{7,16}$" }, "TapeARNs":{ "type":"list", @@ -2312,7 +2584,8 @@ "CompletionTime":{"shape":"Time"}, "RetrievedTo":{"shape":"GatewayARN"}, "TapeStatus":{"shape":"TapeArchiveStatus"}, - "TapeUsedInBytes":{"shape":"TapeUsage"} + "TapeUsedInBytes":{"shape":"TapeUsage"}, + "KMSKey":{"shape":"KMSKey"} } }, "TapeArchiveStatus":{"type":"string"}, @@ -2479,10 +2752,12 @@ "KMSKey":{"shape":"KMSKey"}, "NFSFileShareDefaults":{"shape":"NFSFileShareDefaults"}, "DefaultStorageClass":{"shape":"StorageClass"}, + "ObjectACL":{"shape":"ObjectACL"}, "ClientList":{"shape":"FileShareClientList"}, "Squash":{"shape":"Squash"}, "ReadOnly":{"shape":"Boolean"}, - "GuessMIMETypeEnabled":{"shape":"Boolean"} + "GuessMIMETypeEnabled":{"shape":"Boolean"}, + "RequesterPays":{"shape":"Boolean"} } }, "UpdateNFSFileShareOutput":{ @@ -2491,6 +2766,28 @@ "FileShareARN":{"shape":"FileShareARN"} } }, + "UpdateSMBFileShareInput":{ + "type":"structure", + "required":["FileShareARN"], + "members":{ + "FileShareARN":{"shape":"FileShareARN"}, + "KMSEncrypted":{"shape":"Boolean"}, + "KMSKey":{"shape":"KMSKey"}, + "DefaultStorageClass":{"shape":"StorageClass"}, + "ObjectACL":{"shape":"ObjectACL"}, + "ReadOnly":{"shape":"Boolean"}, + "GuessMIMETypeEnabled":{"shape":"Boolean"}, + "RequesterPays":{"shape":"Boolean"}, + "ValidUserList":{"shape":"FileShareUserList"}, + "InvalidUserList":{"shape":"FileShareUserList"} + } + }, + "UpdateSMBFileShareOutput":{ + "type":"structure", + "members":{ + "FileShareARN":{"shape":"FileShareARN"} + } + }, "UpdateSnapshotScheduleInput":{ "type":"structure", "required":[ diff --git a/models/apis/storagegateway/2013-06-30/docs-2.json b/models/apis/storagegateway/2013-06-30/docs-2.json index 610e0ac5ab8..5554c7ff359 100644 --- a/models/apis/storagegateway/2013-06-30/docs-2.json +++ b/models/apis/storagegateway/2013-06-30/docs-2.json @@ -1,8 +1,8 @@ { "version": "2.0", - "service": "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.

", + "service": "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.

", "operations": { - "ActivateGateway": "

Activates the gateway you previously deployed on your host. For more information, see Activate the AWS Storage Gateway. In the activation process, you specify information such as the region you want to use for storing snapshots or tapes, the time zone for scheduled snapshots the gateway snapshot schedule window, an activation key, and a name for your gateway. The activation process also associates your gateway with your account; for more information, see UpdateGatewayInformation.

You must turn on the gateway VM before you can activate your gateway.

", + "ActivateGateway": "

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": "

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": "

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": "

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.

", @@ -10,7 +10,8 @@ "CancelArchival": "

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": "

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": "

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": "

Creates a file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway exposes file shares using a Network File System (NFS) interface. This operation is only supported in the file gateway type.

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.

", + "CreateNFSFileShare": "

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": "

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": "

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": "

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": "

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.

", @@ -18,7 +19,7 @@ "CreateTapes": "

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": "

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": "

Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target and initiator pair.

", - "DeleteFileShare": "

Deletes a file share from a file gateway. This operation is only supported in the file gateway type.

", + "DeleteFileShare": "

Deletes a file share from a file gateway. This operation is only supported for file gateways.

", "DeleteGateway": "

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": "

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": "

Deletes the specified virtual tape. This operation is only supported in the tape gateway type.

", @@ -30,7 +31,9 @@ "DescribeChapCredentials": "

Returns an array of Challenge-Handshake Authentication Protocol (CHAP) credentials information for a specified iSCSI target, one for each target-initiator pair.

", "DescribeGatewayInformation": "

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": "

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": "

Gets a description for one or more file shares from a file gateway. This operation is only supported in the file gateway type.

", + "DescribeNFSFileShares": "

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": "

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": "

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": "

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": "

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": "

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.

", @@ -40,7 +43,8 @@ "DescribeVTLDevices": "

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": "

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": "

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.

", - "ListFileShares": "

Gets a list of the file shares for a specific file gateway, or the list of file shares that belong to the calling user account. This operation is only supported in the file gateway type.

", + "JoinDomain": "

Adds a file gateway to an Active Directory domain. This operation is only supported for file gateways that support the SMB file protocol.

", + "ListFileShares": "

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": "

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": "

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": "

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.

", @@ -48,13 +52,14 @@ "ListVolumeInitiators": "

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": "

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": "

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": "

Sends you notification when all file data written to the NFS file share has 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 sent the notification through event targets such as email, SNS or a Lambda function. text or Lambda functions. This operation is only supported in the file gateway type.

", + "NotifyWhenUploaded": "

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": "

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": "

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": "

Resets all cache disks that have encountered a error and makes the disks available for reconfiguration as cache storage. If your cache disk encounters a error, the gateway prevents read and write operations on virtual tapes in the gateway. For example, an error can occur when a disk is corrupted or removed from the gateway. When a cache is reset, the gateway loses its cache storage. At this point you can reconfigure the disks as cache disks. This operation is only supported in the cached volume, tape and file gateway 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.

", + "ResetCache": "

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": "

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": "

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": "

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": "

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": "

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": "

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": "

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.

", @@ -62,7 +67,8 @@ "UpdateGatewayInformation": "

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": "

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": "

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": "

Updates a 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.

", + "UpdateNFSFileShare": "

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": "

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": "

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": "

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.

" }, @@ -80,7 +86,7 @@ "ActivationKey": { "base": null, "refs": { - "ActivateGatewayInput$ActivationKey": "

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.

" + "ActivateGatewayInput$ActivationKey": "

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.

" } }, "AddCacheInput": { @@ -123,6 +129,13 @@ "refs": { } }, + "Authentication": { + "base": "

The authentication method of the file share.

Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory.

", + "refs": { + "CreateSMBFileShareInput$Authentication": "

The authentication method that users use to access the file share.

Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory.

", + "SMBFileShareInfo$Authentication": null + } + }, "BandwidthDownloadRateLimit": { "base": null, "refs": { @@ -144,16 +157,35 @@ } }, "Boolean": { - "base": "

A value that indicates whether the write status of a file share is read-only: \"true\" if write status is read-only, and otherwise \"false\".

", + "base": null, "refs": { + "CreateCachediSCSIVolumeInput$KMSEncrypted": "

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.

", "CreateNFSFileShareInput$KMSEncrypted": "

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.

", - "CreateNFSFileShareInput$ReadOnly": "

Sets the write status of a file share: \"true\" if the write status is read-only, and otherwise \"false\".

", - "CreateNFSFileShareInput$GuessMIMETypeEnabled": "

Enables guessing of the MIME type for uploaded objects based on file extensions: \"true\" to enable MIME type guessing, and otherwise \"false\".

", - "NFSFileShareInfo$ReadOnly": null, - "NFSFileShareInfo$GuessMIMETypeEnabled": "

Enables guessing of the MIME type for uploaded objects based on file extensions: \"true\" to enable MIME type guessing, and otherwise \"false\".

", + "CreateNFSFileShareInput$ReadOnly": "

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.

", + "CreateNFSFileShareInput$GuessMIMETypeEnabled": "

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.

", + "CreateNFSFileShareInput$RequesterPays": "

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.

", + "CreateSMBFileShareInput$KMSEncrypted": "

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.

", + "CreateSMBFileShareInput$ReadOnly": "

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.

", + "CreateSMBFileShareInput$GuessMIMETypeEnabled": "

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.

", + "CreateSMBFileShareInput$RequesterPays": "

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.

", + "CreateStorediSCSIVolumeInput$KMSEncrypted": "

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.

", + "CreateTapeWithBarcodeInput$KMSEncrypted": "

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.

", + "CreateTapesInput$KMSEncrypted": "

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.

", + "DescribeSMBSettingsOutput$SMBGuestPasswordSet": "

This value is true if a password for the guest user “smbguest” is set, and otherwise false.

", + "NFSFileShareInfo$ReadOnly": "

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.

", + "NFSFileShareInfo$GuessMIMETypeEnabled": "

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.

", + "NFSFileShareInfo$RequesterPays": "

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.

", + "SMBFileShareInfo$ReadOnly": "

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.

", + "SMBFileShareInfo$GuessMIMETypeEnabled": "

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.

", + "SMBFileShareInfo$RequesterPays": "

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.

", "UpdateNFSFileShareInput$KMSEncrypted": "

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.

", - "UpdateNFSFileShareInput$ReadOnly": "

Sets the write status of a file share: \"true\" if the write status is read-only, otherwise \"false\".

", - "UpdateNFSFileShareInput$GuessMIMETypeEnabled": "

Enables guessing of the MIME type for uploaded objects based on file extensions: \"true\" to enable MIME type guessing, and otherwise \"false\".

" + "UpdateNFSFileShareInput$ReadOnly": "

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.

", + "UpdateNFSFileShareInput$GuessMIMETypeEnabled": "

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.

", + "UpdateNFSFileShareInput$RequesterPays": "

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.

", + "UpdateSMBFileShareInput$KMSEncrypted": "

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.

", + "UpdateSMBFileShareInput$ReadOnly": "

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.

", + "UpdateSMBFileShareInput$GuessMIMETypeEnabled": "

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.

", + "UpdateSMBFileShareInput$RequesterPays": "

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.

" } }, "CachediSCSIVolume": { @@ -212,8 +244,9 @@ "ClientToken": { "base": null, "refs": { - "CreateCachediSCSIVolumeInput$ClientToken": null, + "CreateCachediSCSIVolumeInput$ClientToken": "

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.

", "CreateNFSFileShareInput$ClientToken": "

A unique string value that you supply that is used by file gateway to ensure idempotent file share creation.

", + "CreateSMBFileShareInput$ClientToken": "

A unique string value that you supply that is used by file gateway to ensure idempotent file share creation.

", "CreateTapesInput$ClientToken": "

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.

" } }, @@ -237,6 +270,16 @@ "refs": { } }, + "CreateSMBFileShareInput": { + "base": "

CreateSMBFileShareInput

", + "refs": { + } + }, + "CreateSMBFileShareOutput": { + "base": "

CreateSMBFileShareOutput

", + "refs": { + } + }, "CreateSnapshotFromVolumeRecoveryPointInput": { "base": null, "refs": { @@ -451,6 +494,26 @@ "refs": { } }, + "DescribeSMBFileSharesInput": { + "base": "

DescribeSMBFileSharesInput

", + "refs": { + } + }, + "DescribeSMBFileSharesOutput": { + "base": "

DescribeSMBFileSharesOutput

", + "refs": { + } + }, + "DescribeSMBSettingsInput": { + "base": null, + "refs": { + } + }, + "DescribeSMBSettingsOutput": { + "base": null, + "refs": { + } + }, "DescribeSnapshotScheduleInput": { "base": "

A JSON object containing the DescribeSnapshotScheduleInput$VolumeARN of the volume.

", "refs": { @@ -598,6 +661,25 @@ "ListLocalDisksOutput$Disks": null } }, + "DomainName": { + "base": null, + "refs": { + "DescribeSMBSettingsOutput$DomainName": "

The name of the domain that the gateway is joined to.

", + "JoinDomainInput$DomainName": "

The name of the domain that you want the gateway to join.

" + } + }, + "DomainUserName": { + "base": null, + "refs": { + "JoinDomainInput$UserName": "

Sets the user name of user who has permission to add the gateway to the Active Directory domain.

" + } + }, + "DomainUserPassword": { + "base": null, + "refs": { + "JoinDomainInput$Password": "

Sets the password of the user who has permission to add the gateway to the Active Directory domain.

" + } + }, "DoubleObject": { "base": null, "refs": { @@ -616,6 +698,7 @@ "base": "

The Amazon Resource Name (ARN) of the file share.

", "refs": { "CreateNFSFileShareOutput$FileShareARN": "

The Amazon Resource Name (ARN) of the newly created file share.

", + "CreateSMBFileShareOutput$FileShareARN": "

The Amazon Resource Name (ARN) of the newly created file share.

", "DeleteFileShareInput$FileShareARN": "

The Amazon Resource Name (ARN) of the file share to be deleted.

", "DeleteFileShareOutput$FileShareARN": "

The Amazon Resource Name (ARN) of the deleted file share.

", "FileShareARNList$member": null, @@ -625,14 +708,18 @@ "NotifyWhenUploadedOutput$FileShareARN": null, "RefreshCacheInput$FileShareARN": null, "RefreshCacheOutput$FileShareARN": null, + "SMBFileShareInfo$FileShareARN": null, "UpdateNFSFileShareInput$FileShareARN": "

The Amazon Resource Name (ARN) of the file share to be updated.

", - "UpdateNFSFileShareOutput$FileShareARN": "

The Amazon Resource Name (ARN) of the updated file share.

" + "UpdateNFSFileShareOutput$FileShareARN": "

The Amazon Resource Name (ARN) of the updated file share.

", + "UpdateSMBFileShareInput$FileShareARN": "

The Amazon Resource Name (ARN) of the SMB file share that you want to update.

", + "UpdateSMBFileShareOutput$FileShareARN": "

The Amazon Resource Name (ARN) of the updated SMB file share.

" } }, "FileShareARNList": { "base": null, "refs": { - "DescribeNFSFileSharesInput$FileShareARNList": "

An array containing the Amazon Resource Name (ARN) of each file share to be described.

" + "DescribeNFSFileSharesInput$FileShareARNList": "

An array containing the Amazon Resource Name (ARN) of each file share to be described.

", + "DescribeSMBFileSharesInput$FileShareARNList": "

An array containing the Amazon Resource Name (ARN) of each file share to be described.

" } }, "FileShareClientList": { @@ -647,7 +734,8 @@ "base": "

The ID of the file share.

", "refs": { "FileShareInfo$FileShareId": null, - "NFSFileShareInfo$FileShareId": null + "NFSFileShareInfo$FileShareId": null, + "SMBFileShareInfo$FileShareId": null } }, "FileShareInfo": { @@ -663,10 +751,34 @@ } }, "FileShareStatus": { - "base": "

The status of the file share. Possible values are CREATING, UPDATING, AVAILABLE and DELETING.

", + "base": "

The status of the file share. Possible values are CREATING, UPDATING, AVAILABLE and DELETING.

", "refs": { "FileShareInfo$FileShareStatus": null, - "NFSFileShareInfo$FileShareStatus": null + "NFSFileShareInfo$FileShareStatus": null, + "SMBFileShareInfo$FileShareStatus": null + } + }, + "FileShareType": { + "base": "

The type of the file share.

", + "refs": { + "FileShareInfo$FileShareType": null + } + }, + "FileShareUser": { + "base": null, + "refs": { + "FileShareUserList$member": null + } + }, + "FileShareUserList": { + "base": null, + "refs": { + "CreateSMBFileShareInput$ValidUserList": "

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.

", + "CreateSMBFileShareInput$InvalidUserList": "

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.

", + "SMBFileShareInfo$ValidUserList": "

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.

", + "SMBFileShareInfo$InvalidUserList": "

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.

", + "UpdateSMBFileShareInput$ValidUserList": "

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.

", + "UpdateSMBFileShareInput$InvalidUserList": "

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.

" } }, "GatewayARN": { @@ -683,6 +795,7 @@ "CancelRetrievalInput$GatewayARN": null, "CreateCachediSCSIVolumeInput$GatewayARN": null, "CreateNFSFileShareInput$GatewayARN": "

The Amazon Resource Name (ARN) of the file gateway on which you want to create a file share.

", + "CreateSMBFileShareInput$GatewayARN": "

The Amazon Resource Name (ARN) of the file gateway on which you want to create a file share.

", "CreateStorediSCSIVolumeInput$GatewayARN": null, "CreateTapeWithBarcodeInput$GatewayARN": "

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.

", "CreateTapesInput$GatewayARN": "

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.

", @@ -699,6 +812,8 @@ "DescribeGatewayInformationOutput$GatewayARN": null, "DescribeMaintenanceStartTimeInput$GatewayARN": null, "DescribeMaintenanceStartTimeOutput$GatewayARN": null, + "DescribeSMBSettingsInput$GatewayARN": null, + "DescribeSMBSettingsOutput$GatewayARN": null, "DescribeTapeRecoveryPointsInput$GatewayARN": null, "DescribeTapeRecoveryPointsOutput$GatewayARN": null, "DescribeTapesInput$GatewayARN": null, @@ -709,9 +824,11 @@ "DescribeWorkingStorageInput$GatewayARN": null, "DescribeWorkingStorageOutput$GatewayARN": null, "DisableGatewayInput$GatewayARN": null, - "DisableGatewayOutput$GatewayARN": "

The unique Amazon Resource Name of the disabled gateway.

", + "DisableGatewayOutput$GatewayARN": "

The unique Amazon Resource Name (ARN) of the disabled gateway.

", "FileShareInfo$GatewayARN": null, "GatewayInfo$GatewayARN": "

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

", + "JoinDomainInput$GatewayARN": "

The unique Amazon Resource Name (ARN) of the file gateway you want to add to the Active Directory domain.

", + "JoinDomainOutput$GatewayARN": "

The unique Amazon Resource Name (ARN) of the gateway that joined the domain.

", "ListFileSharesInput$GatewayARN": "

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.

", "ListLocalDisksInput$GatewayARN": null, "ListLocalDisksOutput$GatewayARN": null, @@ -724,8 +841,11 @@ "ResetCacheOutput$GatewayARN": null, "RetrieveTapeArchiveInput$GatewayARN": "

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.

", "RetrieveTapeRecoveryPointInput$GatewayARN": null, + "SMBFileShareInfo$GatewayARN": null, "SetLocalConsolePasswordInput$GatewayARN": null, "SetLocalConsolePasswordOutput$GatewayARN": null, + "SetSMBGuestPasswordInput$GatewayARN": "

The Amazon Resource Name (ARN) of the file gateway the SMB file share is associated with.

", + "SetSMBGuestPasswordOutput$GatewayARN": null, "ShutdownGatewayInput$GatewayARN": null, "ShutdownGatewayOutput$GatewayARN": null, "StartGatewayInput$GatewayARN": null, @@ -853,12 +973,33 @@ "UpdateChapCredentialsOutput$InitiatorName": "

The iSCSI initiator that connects to the target. This is the same initiator name specified in the request.

" } }, - "KMSKey": { - "base": "

The ARN of the KMS key used for Amazon S3 server side encryption.

", + "JoinDomainInput": { + "base": "

JoinDomainInput

", + "refs": { + } + }, + "JoinDomainOutput": { + "base": "

JoinDomainOutput

", "refs": { - "CreateNFSFileShareInput$KMSKey": "

The KMS key used for Amazon S3 server side encryption. This value can only be set when KmsEncrypted is true. Optional.

", + } + }, + "KMSKey": { + "base": "

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.

", + "refs": { + "CachediSCSIVolume$KMSKey": null, + "CreateCachediSCSIVolumeInput$KMSKey": "

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.

", + "CreateNFSFileShareInput$KMSKey": "

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.

", + "CreateSMBFileShareInput$KMSKey": "

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.

", + "CreateStorediSCSIVolumeInput$KMSKey": "

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.

", + "CreateTapeWithBarcodeInput$KMSKey": "

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.

", + "CreateTapesInput$KMSKey": "

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.

", "NFSFileShareInfo$KMSKey": null, - "UpdateNFSFileShareInput$KMSKey": "

The KMS key used for Amazon S3 server side encryption. This value can only be set when KmsEncrypted is true. Optional.

" + "SMBFileShareInfo$KMSKey": null, + "StorediSCSIVolume$KMSKey": null, + "Tape$KMSKey": null, + "TapeArchive$KMSKey": null, + "UpdateNFSFileShareInput$KMSKey": "

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.

", + "UpdateSMBFileShareInput$KMSKey": "

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.

" } }, "LastSoftwareUpdate": { @@ -957,7 +1098,9 @@ "base": "

The ARN of the backend storage used for storing file data.

", "refs": { "CreateNFSFileShareInput$LocationARN": "

The ARN of the backed storage used for storing file data.

", - "NFSFileShareInfo$LocationARN": null + "CreateSMBFileShareInput$LocationARN": "

The ARN of the backed storage used for storing file data.

", + "NFSFileShareInfo$LocationARN": null, + "SMBFileShareInfo$LocationARN": null } }, "Marker": { @@ -998,7 +1141,7 @@ } }, "NFSFileShareDefaults": { - "base": "

Describes file share default values. Files and folders stored as Amazon S3 objects in S3 buckets don't, by default, have Unix file permissions assigned to them. Upon discovery in an S3 bucket by Storage Gateway, the S3 objects that represent files and folders are assigned these default Unix permissions. This operation is only supported in the file gateway type.

", + "base": "

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.

", "refs": { "CreateNFSFileShareInput$NFSFileShareDefaults": "

File share default values. Optional.

", "NFSFileShareInfo$NFSFileShareDefaults": null, @@ -1026,7 +1169,7 @@ "NetworkInterfaceId": { "base": null, "refs": { - "CreateCachediSCSIVolumeInput$NetworkInterfaceId": null, + "CreateCachediSCSIVolumeInput$NetworkInterfaceId": "

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.

", "CreateStorediSCSIVolumeInput$NetworkInterfaceId": "

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.

", "DeviceiSCSIAttributes$NetworkInterfaceId": "

The network interface identifier of the VTL device.

", "VolumeiSCSIAttributes$NetworkInterfaceId": "

The network interface identifier.

" @@ -1060,10 +1203,22 @@ "CreateTapesInput$NumTapesToCreate": "

The number of virtual tapes that you want to create.

" } }, + "ObjectACL": { + "base": "

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\".

", + "refs": { + "CreateNFSFileShareInput$ObjectACL": "

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\".

", + "CreateSMBFileShareInput$ObjectACL": "

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\".

", + "NFSFileShareInfo$ObjectACL": null, + "SMBFileShareInfo$ObjectACL": null, + "UpdateNFSFileShareInput$ObjectACL": "

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\".

", + "UpdateSMBFileShareInput$ObjectACL": "

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\".

" + } + }, "Path": { "base": "

The file share path used by the NFS client to identify the mount point.

", "refs": { - "NFSFileShareInfo$Path": null + "NFSFileShareInfo$Path": null, + "SMBFileShareInfo$Path": "

The file share path used by the SMB client to identify the mount point.

" } }, "PermissionId": { @@ -1115,7 +1270,7 @@ "RegionId": { "base": null, "refs": { - "ActivateGatewayInput$GatewayRegion": "

A value that indicates the region where you want to store your data. The gateway region specified must be the same region as the region in your Host header in the request. For more information about available regions and endpoints for AWS Storage Gateway, see Regions and Endpoints in the Amazon Web Services Glossary.

Valid Values: \"us-east-1\", \"us-east-2\", \"us-west-1\", \"us-west-2\", \"ca-central-1\", \"eu-west-1\", \"eu-central-1\", \"eu-west-2\", \"ap-northeast-1\", \"ap-northeast-2\", \"ap-southeast-1\", \"ap-southeast-2\", \"ap-south-1\", \"sa-east-1\"

" + "ActivateGatewayInput$GatewayRegion": "

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\"

" } }, "RemoveTagsFromResourceInput": { @@ -1173,7 +1328,27 @@ "base": "

The ARN of the IAM role that file gateway assumes when it accesses the underlying storage.

", "refs": { "CreateNFSFileShareInput$Role": "

The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.

", - "NFSFileShareInfo$Role": null + "CreateSMBFileShareInput$Role": "

The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.

", + "NFSFileShareInfo$Role": null, + "SMBFileShareInfo$Role": null + } + }, + "SMBFileShareInfo": { + "base": "

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.

", + "refs": { + "SMBFileShareInfoList$member": null + } + }, + "SMBFileShareInfoList": { + "base": null, + "refs": { + "DescribeSMBFileSharesOutput$SMBFileShareInfoList": "

An array containing a description for each requested file share.

" + } + }, + "SMBGuestPassword": { + "base": null, + "refs": { + "SetSMBGuestPasswordInput$Password": "

The password that you want to set for your SMB Server.

" } }, "ServiceUnavailableError": { @@ -1191,6 +1366,16 @@ "refs": { } }, + "SetSMBGuestPasswordInput": { + "base": "

SetSMBGuestPasswordInput

", + "refs": { + } + }, + "SetSMBGuestPasswordOutput": { + "base": null, + "refs": { + } + }, "ShutdownGatewayInput": { "base": "

A JSON object containing the of the gateway to shut down.

", "refs": { @@ -1212,7 +1397,7 @@ "base": null, "refs": { "CachediSCSIVolume$SourceSnapshotId": "

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.

", - "CreateCachediSCSIVolumeInput$SnapshotId": null, + "CreateCachediSCSIVolumeInput$SnapshotId": "

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.

", "CreateSnapshotFromVolumeRecoveryPointOutput$SnapshotId": null, "CreateSnapshotOutput$SnapshotId": "

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).

", "CreateStorediSCSIVolumeInput$SnapshotId": "

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.

", @@ -1220,11 +1405,11 @@ } }, "Squash": { - "base": "

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.

", + "base": "

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.

", "refs": { - "CreateNFSFileShareInput$Squash": "

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.

", + "CreateNFSFileShareInput$Squash": "

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.

", "NFSFileShareInfo$Squash": null, - "UpdateNFSFileShareInput$Squash": "

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.

" + "UpdateNFSFileShareInput$Squash": "

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.

" } }, "StartGatewayInput": { @@ -1240,9 +1425,12 @@ "StorageClass": { "base": "

", "refs": { - "CreateNFSFileShareInput$DefaultStorageClass": "

The default storage class for objects put into an Amazon S3 bucket by file gateway. Possible values are S3_STANDARD or S3_STANDARD_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

", - "NFSFileShareInfo$DefaultStorageClass": "

The default storage class for objects put into an Amazon S3 bucket by file gateway. Possible values are S3_STANDARD or S3_STANDARD_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

", - "UpdateNFSFileShareInput$DefaultStorageClass": "

The default storage class for objects put into an Amazon S3 bucket by a file gateway. Possible values are S3_STANDARD or S3_STANDARD_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

" + "CreateNFSFileShareInput$DefaultStorageClass": "

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.

", + "CreateSMBFileShareInput$DefaultStorageClass": "

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.

", + "NFSFileShareInfo$DefaultStorageClass": "

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.

", + "SMBFileShareInfo$DefaultStorageClass": "

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.

", + "UpdateNFSFileShareInput$DefaultStorageClass": "

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.

", + "UpdateSMBFileShareInput$DefaultStorageClass": "

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.

" } }, "StorageGatewayError": { @@ -1350,7 +1538,7 @@ "TapeArchives": { "base": null, "refs": { - "DescribeTapeArchivesOutput$TapeArchives": "

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.

" + "DescribeTapeArchivesOutput$TapeArchives": "

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.

" } }, "TapeBarcode": { @@ -1439,12 +1627,12 @@ "base": null, "refs": { "ChapInfo$TargetARN": "

The Amazon Resource Name (ARN) of the volume.

Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

", - "CreateCachediSCSIVolumeOutput$TargetARN": null, + "CreateCachediSCSIVolumeOutput$TargetARN": "

he Amazon Resource Name (ARN) of the volume target that includes the iSCSI name that initiators can use to connect to the target.

", "CreateStorediSCSIVolumeOutput$TargetARN": "

he Amazon Resource Name (ARN) of the volume target that includes the iSCSI name that initiators can use to connect to the target.

", "DeleteChapCredentialsInput$TargetARN": "

The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.

", "DeleteChapCredentialsOutput$TargetARN": "

The Amazon Resource Name (ARN) of the target.

", "DescribeChapCredentialsInput$TargetARN": "

The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.

", - "DeviceiSCSIAttributes$TargetARN": "

Specifies the unique Amazon Resource Name(ARN) that encodes the iSCSI qualified name(iqn) of a tape drive or media changer target.

", + "DeviceiSCSIAttributes$TargetARN": "

Specifies the unique Amazon Resource Name (ARN) that encodes the iSCSI qualified name(iqn) of a tape drive or media changer target.

", "UpdateChapCredentialsInput$TargetARN": "

The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return the TargetARN for specified VolumeARN.

", "UpdateChapCredentialsOutput$TargetARN": "

The Amazon Resource Name (ARN) of the target. This is the same target specified in the request.

", "VolumeiSCSIAttributes$TargetARN": "

The Amazon Resource Name (ARN) of the volume target.

" @@ -1453,7 +1641,7 @@ "TargetName": { "base": null, "refs": { - "CreateCachediSCSIVolumeInput$TargetName": null, + "CreateCachediSCSIVolumeInput$TargetName": "

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.

", "CreateStorediSCSIVolumeInput$TargetName": "

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.

" } }, @@ -1461,9 +1649,9 @@ "base": null, "refs": { "Tape$TapeCreatedDate": "

The date the virtual tape was created.

", - "TapeArchive$TapeCreatedDate": null, - "TapeArchive$CompletionTime": "

The time that the archiving of the virtual tape was completed.

The string format of the completion time is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

", - "TapeRecoveryPointInfo$TapeRecoveryPointTime": "

The time when the point-in-time view of the virtual tape was replicated for later recovery.

The string format of the tape recovery point time is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

" + "TapeArchive$TapeCreatedDate": "

The date the virtual tape was created.

", + "TapeArchive$CompletionTime": "

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.

", + "TapeRecoveryPointInfo$TapeRecoveryPointTime": "

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.

" } }, "UpdateBandwidthRateLimitInput": { @@ -1526,6 +1714,16 @@ "refs": { } }, + "UpdateSMBFileShareInput": { + "base": "

UpdateSMBFileShareInput

", + "refs": { + } + }, + "UpdateSMBFileShareOutput": { + "base": "

UpdateSMBFileShareOutput

", + "refs": { + } + }, "UpdateSnapshotScheduleInput": { "base": "

A JSON object containing one or more of the following fields:

", "refs": { @@ -1597,7 +1795,7 @@ "refs": { "CachediSCSIVolume$VolumeARN": "

The Amazon Resource Name (ARN) of the storage volume.

", "CreateCachediSCSIVolumeInput$SourceVolumeARN": "

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.

", - "CreateCachediSCSIVolumeOutput$VolumeARN": null, + "CreateCachediSCSIVolumeOutput$VolumeARN": "

The Amazon Resource Name (ARN) of the configured volume.

", "CreateSnapshotFromVolumeRecoveryPointInput$VolumeARN": null, "CreateSnapshotFromVolumeRecoveryPointOutput$VolumeARN": null, "CreateSnapshotInput$VolumeARN": "

The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.

", @@ -1692,7 +1890,8 @@ "CreateStorediSCSIVolumeInput$PreserveExistingData": "

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

", "DeleteFileShareInput$ForceDelete": "

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.

", "DeviceiSCSIAttributes$ChapEnabled": "

Indicates whether mutual CHAP is enabled for the iSCSI target.

", - "NFSFileShareInfo$KMSEncrypted": "

True to use Amazon S3 server side encryption with your own KMS key, or false to use a key managed by Amazon S3. Optional.

", + "NFSFileShareInfo$KMSEncrypted": "

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.

", + "SMBFileShareInfo$KMSEncrypted": "

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.

", "StorediSCSIVolume$PreservedExistingData": "

Indicates if when the stored volume was created, existing data on the underlying local disk was preserved.

Valid Values: true, false

", "VolumeiSCSIAttributes$ChapEnabled": "

Indicates whether mutual CHAP is enabled for the iSCSI target.

" } @@ -1723,7 +1922,7 @@ "base": null, "refs": { "CachediSCSIVolume$VolumeSizeInBytes": "

The size, in bytes, of the volume capacity.

", - "CreateCachediSCSIVolumeInput$VolumeSizeInBytes": null, + "CreateCachediSCSIVolumeInput$VolumeSizeInBytes": "

The size of the volume in bytes.

", "CreateStorediSCSIVolumeOutput$VolumeSizeInBytes": "

The size of the volume in bytes.

", "DescribeCacheOutput$CacheAllocatedInBytes": null, "DescribeUploadBufferOutput$UploadBufferUsedInBytes": null, diff --git a/models/apis/sts/2011-06-15/api-2.json b/models/apis/sts/2011-06-15/api-2.json index d76ecf05f42..ab819391be0 100644 --- a/models/apis/sts/2011-06-15/api-2.json +++ b/models/apis/sts/2011-06-15/api-2.json @@ -7,6 +7,7 @@ "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/" @@ -405,7 +406,7 @@ }, "SAMLAssertionType":{ "type":"string", - "max":50000, + "max":100000, "min":4 }, "Subject":{"type":"string"}, @@ -473,7 +474,7 @@ "regionDisabledMessage":{"type":"string"}, "roleDurationSecondsType":{ "type":"integer", - "max":3600, + "max":43200, "min":900 }, "roleSessionNameType":{ diff --git a/models/apis/sts/2011-06-15/docs-2.json b/models/apis/sts/2011-06-15/docs-2.json index a6bb38a459e..c58bff8c22e 100644 --- a/models/apis/sts/2011-06-15/docs-2.json +++ b/models/apis/sts/2011-06-15/docs-2.json @@ -2,9 +2,9 @@ "version": "2.0", "service": "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.

", "operations": { - "AssumeRole": "

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) that you can use to access AWS resources that you might not normally have access to. Typically, you use AssumeRole for cross-account access or federation. For a comparison of AssumeRole with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

Important: You cannot call AssumeRole by using AWS root account credentials; access is denied. You must use credentials for an IAM user or an IAM role to call AssumeRole.

For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account and then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see IAM Roles (Delegation and Federation) in the IAM User Guide.

For federation, you can, for example, grant single sign-on access to the AWS Management Console. If you already have an identity and authentication system in your corporate network, you don't have to recreate user identities in AWS in order to grant those user identities access to AWS. Instead, after a user has been authenticated, you call AssumeRole (and specify the role with the appropriate permissions) to get temporary security credentials for that user. With those temporary security credentials, you construct a sign-in URL that users can use to access the console. For more information, see Common Scenarios for Temporary Credentials in the IAM User Guide.

The temporary security credentials are valid for the duration that you specified when calling AssumeRole, which can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour.

The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

To assume a role, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate access to this account's role.

The user who wants to access the role must also have permissions delegated from the role's administrator. If the user is in a different account than the role, then the user's administrator must attach a policy that allows the user to call AssumeRole on the ARN of the role in the other account. If the user is in the same account as the role, then you can either attach a policy to the user (identical to the previous different account user), or you can add the user as a principal directly in the role's trust policy

Using MFA with AssumeRole

You can optionally include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios in which you want to make sure that the user who is assuming the role has been authenticated using an AWS MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication; if the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

\"Condition\": {\"Bool\": {\"aws:MultiFactorAuthPresent\": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA devices produces.

", - "AssumeRoleWithSAML": "

Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS services.

The temporary security credentials are valid for the duration that you specified when calling AssumeRole, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. The duration can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour.

The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by the intersection of both the access policy of the role that is being assumed, and the policy that you pass. This means that both policies must grant the permission for the action to be allowed. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by AWS. Additionally, you must use AWS Identity and Access Management (IAM) to create a SAML provider entity in your AWS account that represents your identity provider, and create an IAM role that specifies this SAML provider in its trust policy.

Calling AssumeRoleWithSAML does not require the use of AWS security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the Persistent Identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

For more information, see the following resources:

", - "AssumeRoleWithWebIdentity": "

Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider, such as Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the AWS SDK for iOS and the AWS SDK for Android to uniquely identify a user and supply the user with a consistent identity throughout the lifetime of an application.

To learn more about Amazon Cognito, see Amazon Cognito Overview in the AWS SDK for Android Developer Guide guide and Amazon Cognito Overview in the AWS SDK for iOS Developer Guide.

Calling AssumeRoleWithWebIdentity does not require the use of AWS security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term AWS credentials in the application, and without deploying server-based proxy services that use long-term AWS credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS service APIs.

The credentials are valid for the duration that you specified when calling AssumeRoleWithWebIdentity, which can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour.

The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail logs. The entry includes the Subject of the provided Web Identity Token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

", + "AssumeRole": "

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": "

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": "

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": "

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": "

Returns details about the IAM identity whose credentials are used to call the API.

", "GetFederationToken": "

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.

", @@ -322,9 +322,9 @@ "roleDurationSecondsType": { "base": null, "refs": { - "AssumeRoleRequest$DurationSeconds": "

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds.

This is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session, separately from the DurationSeconds parameter on this API. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

", - "AssumeRoleWithSAMLRequest$DurationSeconds": "

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds. An expiration can also be specified in the SAML authentication response's SessionNotOnOrAfter value. The actual expiration time is whichever value is shorter.

This is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session, separately from the DurationSeconds parameter on this API. For more information, see Enabling SAML 2.0 Federated Users to Access the AWS Management Console in the IAM User Guide.

", - "AssumeRoleWithWebIdentityRequest$DurationSeconds": "

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds.

This is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session, separately from the DurationSeconds parameter on this API. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

" + "AssumeRoleRequest$DurationSeconds": "

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.

", + "AssumeRoleWithSAMLRequest$DurationSeconds": "

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.

", + "AssumeRoleWithWebIdentityRequest$DurationSeconds": "

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.

" } }, "roleSessionNameType": { diff --git a/models/apis/sts/2011-06-15/smoke.json b/models/apis/sts/2011-06-15/smoke.json new file mode 100644 index 00000000000..238975e3024 --- /dev/null +++ b/models/apis/sts/2011-06-15/smoke.json @@ -0,0 +1,19 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "GetSessionToken", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "GetFederationToken", + "input": { + "Name": "temp", + "Policy": "{\\\"temp\\\":true}" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/transcribe/2017-10-26/api-2.json b/models/apis/transcribe/2017-10-26/api-2.json new file mode 100644 index 00000000000..273c5f74909 --- /dev/null +++ b/models/apis/transcribe/2017-10-26/api-2.json @@ -0,0 +1,472 @@ +{ + "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"} + ] + }, + "DeleteVocabulary":{ + "name":"DeleteVocabulary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVocabularyRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalFailureException"} + ] + }, + "GetTranscriptionJob":{ + "name":"GetTranscriptionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTranscriptionJobRequest"}, + "output":{"shape":"GetTranscriptionJobResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"} + ] + }, + "GetVocabulary":{ + "name":"GetVocabulary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetVocabularyRequest"}, + "output":{"shape":"GetVocabularyResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ] + }, + "ListTranscriptionJobs":{ + "name":"ListTranscriptionJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTranscriptionJobsRequest"}, + "output":{"shape":"ListTranscriptionJobsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"} + ] + }, + "ListVocabularies":{ + "name":"ListVocabularies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListVocabulariesRequest"}, + "output":{"shape":"ListVocabulariesResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"} + ] + }, + "StartTranscriptionJob":{ + "name":"StartTranscriptionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartTranscriptionJobRequest"}, + "output":{"shape":"StartTranscriptionJobResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"} + ] + }, + "UpdateVocabulary":{ + "name":"UpdateVocabulary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateVocabularyRequest"}, + "output":{"shape":"UpdateVocabularyResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"}, + {"shape":"ConflictException"} + ] + } + }, + "shapes":{ + "BadRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"FailureReason"} + }, + "exception":true + }, + "Boolean":{"type":"boolean"}, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "CreateVocabularyRequest":{ + "type":"structure", + "required":[ + "VocabularyName", + "LanguageCode", + "Phrases" + ], + "members":{ + "VocabularyName":{"shape":"VocabularyName"}, + "LanguageCode":{"shape":"LanguageCode"}, + "Phrases":{"shape":"Phrases"} + } + }, + "CreateVocabularyResponse":{ + "type":"structure", + "members":{ + "VocabularyName":{"shape":"VocabularyName"}, + "LanguageCode":{"shape":"LanguageCode"}, + "VocabularyState":{"shape":"VocabularyState"}, + "LastModifiedTime":{"shape":"DateTime"}, + "FailureReason":{"shape":"FailureReason"} + } + }, + "DateTime":{"type":"timestamp"}, + "DeleteVocabularyRequest":{ + "type":"structure", + "required":["VocabularyName"], + "members":{ + "VocabularyName":{"shape":"VocabularyName"} + } + }, + "FailureReason":{"type":"string"}, + "GetTranscriptionJobRequest":{ + "type":"structure", + "required":["TranscriptionJobName"], + "members":{ + "TranscriptionJobName":{"shape":"TranscriptionJobName"} + } + }, + "GetTranscriptionJobResponse":{ + "type":"structure", + "members":{ + "TranscriptionJob":{"shape":"TranscriptionJob"} + } + }, + "GetVocabularyRequest":{ + "type":"structure", + "required":["VocabularyName"], + "members":{ + "VocabularyName":{"shape":"VocabularyName"} + } + }, + "GetVocabularyResponse":{ + "type":"structure", + "members":{ + "VocabularyName":{"shape":"VocabularyName"}, + "LanguageCode":{"shape":"LanguageCode"}, + "VocabularyState":{"shape":"VocabularyState"}, + "LastModifiedTime":{"shape":"DateTime"}, + "FailureReason":{"shape":"FailureReason"}, + "DownloadUri":{"shape":"Uri"} + } + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true, + "fault":true + }, + "LanguageCode":{ + "type":"string", + "enum":[ + "en-US", + "es-US" + ] + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "ListTranscriptionJobsRequest":{ + "type":"structure", + "members":{ + "Status":{"shape":"TranscriptionJobStatus"}, + "JobNameContains":{"shape":"TranscriptionJobName"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListTranscriptionJobsResponse":{ + "type":"structure", + "members":{ + "Status":{"shape":"TranscriptionJobStatus"}, + "NextToken":{"shape":"NextToken"}, + "TranscriptionJobSummaries":{"shape":"TranscriptionJobSummaries"} + } + }, + "ListVocabulariesRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"}, + "StateEquals":{"shape":"VocabularyState"}, + "NameContains":{"shape":"VocabularyName"} + } + }, + "ListVocabulariesResponse":{ + "type":"structure", + "members":{ + "Status":{"shape":"TranscriptionJobStatus"}, + "NextToken":{"shape":"NextToken"}, + "Vocabularies":{"shape":"Vocabularies"} + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "MaxSpeakers":{ + "type":"integer", + "max":10, + "min":2 + }, + "Media":{ + "type":"structure", + "members":{ + "MediaFileUri":{"shape":"Uri"} + } + }, + "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"} + }, + "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"}, + "ShowSpeakerLabels":{"shape":"Boolean"}, + "MaxSpeakerLabels":{"shape":"MaxSpeakers"}, + "ChannelIdentification":{"shape":"Boolean"} + } + }, + "StartTranscriptionJobRequest":{ + "type":"structure", + "required":[ + "TranscriptionJobName", + "LanguageCode", + "MediaFormat", + "Media" + ], + "members":{ + "TranscriptionJobName":{"shape":"TranscriptionJobName"}, + "LanguageCode":{"shape":"LanguageCode"}, + "MediaSampleRateHertz":{"shape":"MediaSampleRateHertz"}, + "MediaFormat":{"shape":"MediaFormat"}, + "Media":{"shape":"Media"}, + "OutputBucketName":{"shape":"OutputBucketName"}, + "Settings":{"shape":"Settings"} + } + }, + "StartTranscriptionJobResponse":{ + "type":"structure", + "members":{ + "TranscriptionJob":{"shape":"TranscriptionJob"} + } + }, + "String":{"type":"string"}, + "Transcript":{ + "type":"structure", + "members":{ + "TranscriptFileUri":{"shape":"Uri"} + } + }, + "TranscriptionJob":{ + "type":"structure", + "members":{ + "TranscriptionJobName":{"shape":"TranscriptionJobName"}, + "TranscriptionJobStatus":{"shape":"TranscriptionJobStatus"}, + "LanguageCode":{"shape":"LanguageCode"}, + "MediaSampleRateHertz":{"shape":"MediaSampleRateHertz"}, + "MediaFormat":{"shape":"MediaFormat"}, + "Media":{"shape":"Media"}, + "Transcript":{"shape":"Transcript"}, + "CreationTime":{"shape":"DateTime"}, + "CompletionTime":{"shape":"DateTime"}, + "FailureReason":{"shape":"FailureReason"}, + "Settings":{"shape":"Settings"} + } + }, + "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"}, + "CreationTime":{"shape":"DateTime"}, + "CompletionTime":{"shape":"DateTime"}, + "LanguageCode":{"shape":"LanguageCode"}, + "TranscriptionJobStatus":{"shape":"TranscriptionJobStatus"}, + "FailureReason":{"shape":"FailureReason"}, + "OutputLocationType":{"shape":"OutputLocationType"} + } + }, + "UpdateVocabularyRequest":{ + "type":"structure", + "required":[ + "VocabularyName", + "LanguageCode", + "Phrases" + ], + "members":{ + "VocabularyName":{"shape":"VocabularyName"}, + "LanguageCode":{"shape":"LanguageCode"}, + "Phrases":{"shape":"Phrases"} + } + }, + "UpdateVocabularyResponse":{ + "type":"structure", + "members":{ + "VocabularyName":{"shape":"VocabularyName"}, + "LanguageCode":{"shape":"LanguageCode"}, + "LastModifiedTime":{"shape":"DateTime"}, + "VocabularyState":{"shape":"VocabularyState"} + } + }, + "Uri":{ + "type":"string", + "max":2000, + "min":1 + }, + "Vocabularies":{ + "type":"list", + "member":{"shape":"VocabularyInfo"} + }, + "VocabularyInfo":{ + "type":"structure", + "members":{ + "VocabularyName":{"shape":"VocabularyName"}, + "LanguageCode":{"shape":"LanguageCode"}, + "LastModifiedTime":{"shape":"DateTime"}, + "VocabularyState":{"shape":"VocabularyState"} + } + }, + "VocabularyName":{ + "type":"string", + "max":200, + "min":1, + "pattern":"^[0-9a-zA-Z._-]+" + }, + "VocabularyState":{ + "type":"string", + "enum":[ + "PENDING", + "READY", + "FAILED" + ] + } + } +} diff --git a/models/apis/transcribe/2017-10-26/docs-2.json b/models/apis/transcribe/2017-10-26/docs-2.json new file mode 100644 index 00000000000..c75fb568172 --- /dev/null +++ b/models/apis/transcribe/2017-10-26/docs-2.json @@ -0,0 +1,334 @@ +{ + "version": "2.0", + "service": "

Operations and objects for transcribing speech to text.

", + "operations": { + "CreateVocabulary": "

Creates a new custom vocabulary that you can use to change the way Amazon Transcribe handles transcription of an audio file.

", + "DeleteVocabulary": "

Deletes a vocabulary from Amazon Transcribe.

", + "GetTranscriptionJob": "

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": "

Gets information about a vocabulary.

", + "ListTranscriptionJobs": "

Lists transcription jobs with the specified status.

", + "ListVocabularies": "

Returns a list of vocabularies that match the specified criteria. If no criteria are specified, returns the entire list of vocabularies.

", + "StartTranscriptionJob": "

Starts an asynchronous job to transcribe speech to text.

", + "UpdateVocabulary": "

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": { + "base": "

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.

", + "refs": { + } + }, + "Boolean": { + "base": null, + "refs": { + "Settings$ShowSpeakerLabels": "

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.

", + "Settings$ChannelIdentification": "

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.

" + } + }, + "ConflictException": { + "base": "

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.

", + "refs": { + } + }, + "CreateVocabularyRequest": { + "base": null, + "refs": { + } + }, + "CreateVocabularyResponse": { + "base": null, + "refs": { + } + }, + "DateTime": { + "base": null, + "refs": { + "CreateVocabularyResponse$LastModifiedTime": "

The date and time that the vocabulary was created.

", + "GetVocabularyResponse$LastModifiedTime": "

The date and time that the vocabulary was last modified.

", + "TranscriptionJob$CreationTime": "

A timestamp that shows when the job was created.

", + "TranscriptionJob$CompletionTime": "

A timestamp that shows when the job was completed.

", + "TranscriptionJobSummary$CreationTime": "

A timestamp that shows when the job was created.

", + "TranscriptionJobSummary$CompletionTime": "

A timestamp that shows when the job was completed.

", + "UpdateVocabularyResponse$LastModifiedTime": "

The date and time that the vocabulary was updated.

", + "VocabularyInfo$LastModifiedTime": "

The date and time that the vocabulary was last modified.

" + } + }, + "DeleteVocabularyRequest": { + "base": null, + "refs": { + } + }, + "FailureReason": { + "base": null, + "refs": { + "BadRequestException$Message": null, + "CreateVocabularyResponse$FailureReason": "

If the VocabularyState field is FAILED, this field contains information about why the job failed.

", + "GetVocabularyResponse$FailureReason": "

If the VocabularyState field is FAILED, this field contains information about why the job failed.

", + "TranscriptionJob$FailureReason": "

If the TranscriptionJobStatus field is FAILED, this field contains information about why the job failed.

", + "TranscriptionJobSummary$FailureReason": "

If the TranscriptionJobStatus field is FAILED, a description of the error.

" + } + }, + "GetTranscriptionJobRequest": { + "base": null, + "refs": { + } + }, + "GetTranscriptionJobResponse": { + "base": null, + "refs": { + } + }, + "GetVocabularyRequest": { + "base": null, + "refs": { + } + }, + "GetVocabularyResponse": { + "base": null, + "refs": { + } + }, + "InternalFailureException": { + "base": "

There was an internal error. Check the error message and try your request again.

", + "refs": { + } + }, + "LanguageCode": { + "base": null, + "refs": { + "CreateVocabularyRequest$LanguageCode": "

The language code of the vocabulary entries.

", + "CreateVocabularyResponse$LanguageCode": "

The language code of the vocabulary entries.

", + "GetVocabularyResponse$LanguageCode": "

The language code of the vocabulary entries.

", + "StartTranscriptionJobRequest$LanguageCode": "

The language code for the language used in the input media file.

", + "TranscriptionJob$LanguageCode": "

The language code for the input speech.

", + "TranscriptionJobSummary$LanguageCode": "

The language code for the input speech.

", + "UpdateVocabularyRequest$LanguageCode": "

The language code of the vocabulary entries.

", + "UpdateVocabularyResponse$LanguageCode": "

The language code of the vocabulary entries.

", + "VocabularyInfo$LanguageCode": "

The language code of the vocabulary entries.

" + } + }, + "LimitExceededException": { + "base": "

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.

", + "refs": { + } + }, + "ListTranscriptionJobsRequest": { + "base": null, + "refs": { + } + }, + "ListTranscriptionJobsResponse": { + "base": null, + "refs": { + } + }, + "ListVocabulariesRequest": { + "base": null, + "refs": { + } + }, + "ListVocabulariesResponse": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListTranscriptionJobsRequest$MaxResults": "

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.

", + "ListVocabulariesRequest$MaxResults": "

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.

" + } + }, + "MaxSpeakers": { + "base": null, + "refs": { + "Settings$MaxSpeakerLabels": "

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.

" + } + }, + "Media": { + "base": "

Describes the input media file in a transcription request.

", + "refs": { + "StartTranscriptionJobRequest$Media": "

An object that describes the input media for a transcription job.

", + "TranscriptionJob$Media": "

An object that describes the input media for the transcription job.

" + } + }, + "MediaFormat": { + "base": null, + "refs": { + "StartTranscriptionJobRequest$MediaFormat": "

The format of the input media file.

", + "TranscriptionJob$MediaFormat": "

The format of the input media file.

" + } + }, + "MediaSampleRateHertz": { + "base": null, + "refs": { + "StartTranscriptionJobRequest$MediaSampleRateHertz": "

The sample rate, in Hertz, of the audio track in the input media file.

", + "TranscriptionJob$MediaSampleRateHertz": "

The sample rate, in Hertz, of the audio track in the input media file.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "ListTranscriptionJobsRequest$NextToken": "

If the result of the previous request to ListTranscriptionJobs was truncated, include the NextToken to fetch the next set of jobs.

", + "ListTranscriptionJobsResponse$NextToken": "

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.

", + "ListVocabulariesRequest$NextToken": "

If the result of the previous request to ListVocabularies was truncated, include the NextToken to fetch the next set of jobs.

", + "ListVocabulariesResponse$NextToken": "

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.

" + } + }, + "NotFoundException": { + "base": "

We can't find the requested resource. Check the name and try your request again.

", + "refs": { + } + }, + "OutputBucketName": { + "base": null, + "refs": { + "StartTranscriptionJobRequest$OutputBucketName": "

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.

" + } + }, + "OutputLocationType": { + "base": null, + "refs": { + "TranscriptionJobSummary$OutputLocationType": "

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.

" + } + }, + "Phrase": { + "base": null, + "refs": { + "Phrases$member": null + } + }, + "Phrases": { + "base": null, + "refs": { + "CreateVocabularyRequest$Phrases": "

An array of strings that contains the vocabulary entries.

", + "UpdateVocabularyRequest$Phrases": "

An array of strings containing the vocabulary entries.

" + } + }, + "Settings": { + "base": "

Provides optional settings for the StartTranscriptionJob operation.

", + "refs": { + "StartTranscriptionJobRequest$Settings": "

A Settings object that provides optional settings for a transcription job.

", + "TranscriptionJob$Settings": "

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.

" + } + }, + "StartTranscriptionJobRequest": { + "base": null, + "refs": { + } + }, + "StartTranscriptionJobResponse": { + "base": null, + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "ConflictException$Message": null, + "InternalFailureException$Message": null, + "LimitExceededException$Message": null, + "NotFoundException$Message": null + } + }, + "Transcript": { + "base": "

Identifies the location of a transcription.

", + "refs": { + "TranscriptionJob$Transcript": "

An object that describes the output of the transcription job.

" + } + }, + "TranscriptionJob": { + "base": "

Describes an asynchronous transcription job that was created with the StartTranscriptionJob operation.

", + "refs": { + "GetTranscriptionJobResponse$TranscriptionJob": "

An object that contains the results of the transcription job.

", + "StartTranscriptionJobResponse$TranscriptionJob": "

An object containing details of the asynchronous transcription job.

" + } + }, + "TranscriptionJobName": { + "base": null, + "refs": { + "GetTranscriptionJobRequest$TranscriptionJobName": "

The name of the job.

", + "ListTranscriptionJobsRequest$JobNameContains": "

When specified, the jobs returned in the list are limited to jobs whose name contains the specified string.

", + "StartTranscriptionJobRequest$TranscriptionJobName": "

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.

", + "TranscriptionJob$TranscriptionJobName": "

The name of the transcription job.

", + "TranscriptionJobSummary$TranscriptionJobName": "

The name of the transcription job.

" + } + }, + "TranscriptionJobStatus": { + "base": null, + "refs": { + "ListTranscriptionJobsRequest$Status": "

When specified, returns only transcription jobs with the specified status.

", + "ListTranscriptionJobsResponse$Status": "

The requested status of the jobs returned.

", + "ListVocabulariesResponse$Status": "

The requested vocabulary state.

", + "TranscriptionJob$TranscriptionJobStatus": "

The status of the transcription job.

", + "TranscriptionJobSummary$TranscriptionJobStatus": "

The status of the transcription job. When the status is COMPLETED, use the GetTranscriptionJob operation to get the results of the transcription.

" + } + }, + "TranscriptionJobSummaries": { + "base": null, + "refs": { + "ListTranscriptionJobsResponse$TranscriptionJobSummaries": "

A list of objects containing summary information for a transcription job.

" + } + }, + "TranscriptionJobSummary": { + "base": "

Provides a summary of information about a transcription job.

", + "refs": { + "TranscriptionJobSummaries$member": null + } + }, + "UpdateVocabularyRequest": { + "base": null, + "refs": { + } + }, + "UpdateVocabularyResponse": { + "base": null, + "refs": { + } + }, + "Uri": { + "base": null, + "refs": { + "GetVocabularyResponse$DownloadUri": "

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.

", + "Media$MediaFileUri": "

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.

", + "Transcript$TranscriptFileUri": "

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.

" + } + }, + "Vocabularies": { + "base": null, + "refs": { + "ListVocabulariesResponse$Vocabularies": "

A list of objects that describe the vocabularies that match the search criteria in the request.

" + } + }, + "VocabularyInfo": { + "base": "

Provides information about a custom vocabulary.

", + "refs": { + "Vocabularies$member": null + } + }, + "VocabularyName": { + "base": null, + "refs": { + "CreateVocabularyRequest$VocabularyName": "

The name of the vocabulary. The name must be unique within an AWS account. The name is case-sensitive.

", + "CreateVocabularyResponse$VocabularyName": "

The name of the vocabulary.

", + "DeleteVocabularyRequest$VocabularyName": "

The name of the vocabulary to delete.

", + "GetVocabularyRequest$VocabularyName": "

The name of the vocabulary to return information about. The name is case-sensitive.

", + "GetVocabularyResponse$VocabularyName": "

The name of the vocabulary to return.

", + "ListVocabulariesRequest$NameContains": "

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.

", + "Settings$VocabularyName": "

The name of a vocabulary to use when processing the transcription job.

", + "UpdateVocabularyRequest$VocabularyName": "

The name of the vocabulary to update. The name is case-sensitive.

", + "UpdateVocabularyResponse$VocabularyName": "

The name of the vocabulary that was updated.

", + "VocabularyInfo$VocabularyName": "

The name of the vocabulary.

" + } + }, + "VocabularyState": { + "base": null, + "refs": { + "CreateVocabularyResponse$VocabularyState": "

The processing state of the vocabulary. When the VocabularyState field contains READY the vocabulary is ready to be used in a StartTranscriptionJob request.

", + "GetVocabularyResponse$VocabularyState": "

The processing state of the vocabulary.

", + "ListVocabulariesRequest$StateEquals": "

When specified, only returns vocabularies with the VocabularyState field equal to the specified state.

", + "UpdateVocabularyResponse$VocabularyState": "

The processing state of the vocabulary. When the VocabularyState field contains READY the vocabulary is ready to be used in a StartTranscriptionJob request.

", + "VocabularyInfo$VocabularyState": "

The processing state of the vocabulary. If the state is READY you can use the vocabulary in a StartTranscriptionJob request.

" + } + } + } +} diff --git a/models/apis/inspector/2015-08-18/examples-1.json b/models/apis/transcribe/2017-10-26/examples-1.json similarity index 100% rename from models/apis/inspector/2015-08-18/examples-1.json rename to models/apis/transcribe/2017-10-26/examples-1.json diff --git a/models/apis/transcribe/2017-10-26/paginators-1.json b/models/apis/transcribe/2017-10-26/paginators-1.json new file mode 100644 index 00000000000..cdf0f1f38bd --- /dev/null +++ b/models/apis/transcribe/2017-10-26/paginators-1.json @@ -0,0 +1,14 @@ +{ + "pagination": { + "ListTranscriptionJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListVocabularies": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff --git a/models/apis/translate/2017-07-01/api-2.json b/models/apis/translate/2017-07-01/api-2.json index e17694e9e94..e062145ec8b 100644 --- a/models/apis/translate/2017-07-01/api-2.json +++ b/models/apis/translate/2017-07-01/api-2.json @@ -26,6 +26,7 @@ {"shape":"TextSizeLimitExceededException"}, {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedLanguagePairException"}, + {"shape":"DetectedLanguageLowConfidenceException"}, {"shape":"InternalServerException"}, {"shape":"ServiceUnavailableException"} ] @@ -34,9 +35,17 @@ "shapes":{ "BoundedLengthString":{ "type":"string", - "max":1000, + "max":5000, "min":1 }, + "DetectedLanguageLowConfidenceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "DetectedLanguageCode":{"shape":"LanguageCodeString"} + }, + "exception":true + }, "InternalServerException":{ "type":"structure", "members":{ diff --git a/models/apis/translate/2017-07-01/docs-2.json b/models/apis/translate/2017-07-01/docs-2.json index ab705eb9e1e..72f349539f5 100644 --- a/models/apis/translate/2017-07-01/docs-2.json +++ b/models/apis/translate/2017-07-01/docs-2.json @@ -2,7 +2,7 @@ "version": "2.0", "service": "

Provides translation between English and one of six languages, or between one of the six languages and English.

", "operations": { - "TranslateText": "

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)

" + "TranslateText": "

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": { @@ -11,6 +11,11 @@ "TranslateTextRequest$Text": "

The text to translate.

" } }, + "DetectedLanguageLowConfidenceException": { + "base": "

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.

", + "refs": { + } + }, "InternalServerException": { "base": "

An internal server error occurred. Retry your request.

", "refs": { @@ -24,7 +29,8 @@ "LanguageCodeString": { "base": null, "refs": { - "TranslateTextRequest$SourceLanguageCode": "

One of the supported language codes for the source text. If the TargetLanguageCode is not \"en\", the SourceLanguageCode must be \"en\".

", + "DetectedLanguageLowConfidenceException$DetectedLanguageCode": "

Auto detected language code from Comprehend.

", + "TranslateTextRequest$SourceLanguageCode": "

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.

", "TranslateTextRequest$TargetLanguageCode": "

One of the supported language codes for the target text. If the SourceLanguageCode is not \"en\", the TargetLanguageCode must be \"en\".

", "TranslateTextResponse$SourceLanguageCode": "

The language code for the language of the input text.

", "TranslateTextResponse$TargetLanguageCode": "

The language code for the language of the translated text.

" @@ -38,6 +44,7 @@ "String": { "base": null, "refs": { + "DetectedLanguageLowConfidenceException$Message": null, "InternalServerException$Message": null, "InvalidRequestException$Message": null, "ServiceUnavailableException$Message": null, diff --git a/models/apis/waf-regional/2016-11-28/api-2.json b/models/apis/waf-regional/2016-11-28/api-2.json index 29546f09377..cc93f4ed1a9 100644 --- a/models/apis/waf-regional/2016-11-28/api-2.json +++ b/models/apis/waf-regional/2016-11-28/api-2.json @@ -276,6 +276,20 @@ {"shape":"WAFNonEmptyEntityException"} ] }, + "DeletePermissionPolicy":{ + "name":"DeletePermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePermissionPolicyRequest"}, + "output":{"shape":"DeletePermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonexistentItemException"} + ] + }, "DeleteRateBasedRule":{ "name":"DeleteRateBasedRule", "http":{ @@ -510,6 +524,19 @@ {"shape":"WAFNonexistentItemException"} ] }, + "GetPermissionPolicy":{ + "name":"GetPermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPermissionPolicyRequest"}, + "output":{"shape":"GetPermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"} + ] + }, "GetRateBasedRule":{ "name":"GetRateBasedRule", "http":{ @@ -875,6 +902,21 @@ {"shape":"WAFInvalidAccountException"} ] }, + "PutPermissionPolicy":{ + "name":"PutPermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutPermissionPolicyRequest"}, + "output":{"shape":"PutPermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidPermissionPolicyException"} + ] + }, "UpdateByteMatchSet":{ "name":"UpdateByteMatchSet", "http":{ @@ -1521,6 +1563,18 @@ "ChangeToken":{"shape":"ChangeToken"} } }, + "DeletePermissionPolicyRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"ResourceArn"} + } + }, + "DeletePermissionPolicyResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteRateBasedRuleRequest":{ "type":"structure", "required":[ @@ -2073,6 +2127,19 @@ "IPSet":{"shape":"IPSet"} } }, + "GetPermissionPolicyRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"ResourceArn"} + } + }, + "GetPermissionPolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{"shape":"PolicyString"} + } + }, "GetRateBasedRuleManagedKeysRequest":{ "type":"structure", "required":["RuleId"], @@ -2607,6 +2674,10 @@ "ILLEGAL_COMBINATION" ] }, + "PolicyString":{ + "type":"string", + "min":1 + }, "PopulationSize":{"type":"long"}, "PositionalConstraint":{ "type":"string", @@ -2647,6 +2718,22 @@ "type":"list", "member":{"shape":"Predicate"} }, + "PutPermissionPolicyRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Policy" + ], + "members":{ + "ResourceArn":{"shape":"ResourceArn"}, + "Policy":{"shape":"PolicyString"} + } + }, + "PutPermissionPolicyResponse":{ + "type":"structure", + "members":{ + } + }, "RateBasedRule":{ "type":"structure", "required":[ @@ -3338,6 +3425,13 @@ }, "exception":true }, + "WAFInvalidPermissionPolicyException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "exception":true + }, "WAFInvalidRegexPatternException":{ "type":"structure", "members":{ diff --git a/models/apis/waf-regional/2016-11-28/docs-2.json b/models/apis/waf-regional/2016-11-28/docs-2.json index 65130477547..22cd7713e4e 100644 --- a/models/apis/waf-regional/2016-11-28/docs-2.json +++ b/models/apis/waf-regional/2016-11-28/docs-2.json @@ -18,6 +18,7 @@ "DeleteByteMatchSet": "

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": "

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": "

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.

", + "DeletePermissionPolicy": "

Permanently deletes an IAM policy from the specified RuleGroup.

The user making the request must be the owner of the RuleGroup.

", "DeleteRateBasedRule": "

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": "

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": "

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.

", @@ -33,6 +34,7 @@ "GetChangeTokenStatus": "

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": "

Returns the GeoMatchSet that is specified by GeoMatchSetId.

", "GetIPSet": "

Returns the IPSet that is specified by IPSetId.

", + "GetPermissionPolicy": "

Returns the IAM policy attached to the RuleGroup.

", "GetRateBasedRule": "

Returns the RateBasedRule that is specified by the RuleId that you included in the GetRateBasedRule request.

", "GetRateBasedRuleManagedKeys": "

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": "

Returns the RegexMatchSet specified by RegexMatchSetId.

", @@ -60,6 +62,7 @@ "ListSubscribedRuleGroups": "

Returns an array of RuleGroup objects that you are subscribed to.

", "ListWebACLs": "

Returns an array of WebACLSummary objects in the response.

", "ListXssMatchSets": "

Returns an array of XssMatchSet objects.

", + "PutPermissionPolicy": "

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 and waf-regional:UpdateWebACL. 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": "

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": "

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": "

Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one.

  • The IP address version, IPv4 or IPv6.

  • The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44).

AWS WAF supports /8, /16, /24, and /32 IP address ranges for IPv4, and /24, /32, /48, /56, /64 and /128 for IPv6. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

IPv6 addresses can be represented using any of the following formats:

  • 1111:0000:0000:0000:0000:0000:0000:0111/128

  • 1111:0:0:0:0:0:0:0111/128

  • 1111::0111/128

  • 1111::111/128

You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Submit a CreateIPSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", @@ -418,6 +421,16 @@ "refs": { } }, + "DeletePermissionPolicyRequest": { + "base": null, + "refs": { + } + }, + "DeletePermissionPolicyResponse": { + "base": null, + "refs": { + } + }, "DeleteRateBasedRuleRequest": { "base": null, "refs": { @@ -634,6 +647,16 @@ "refs": { } }, + "GetPermissionPolicyRequest": { + "base": null, + "refs": { + } + }, + "GetPermissionPolicyResponse": { + "base": null, + "refs": { + } + }, "GetRateBasedRuleManagedKeysRequest": { "base": null, "refs": { @@ -1130,6 +1153,13 @@ "WAFInvalidParameterException$reason": null } }, + "PolicyString": { + "base": null, + "refs": { + "GetPermissionPolicyResponse$Policy": "

The IAM policy attached to the specified RuleGroup.

", + "PutPermissionPolicyRequest$Policy": "

The policy to attach to the specified RuleGroup.

" + } + }, "PopulationSize": { "base": null, "refs": { @@ -1162,6 +1192,16 @@ "Rule$Predicates": "

The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to include in a Rule.

" } }, + "PutPermissionPolicyRequest": { + "base": null, + "refs": { + } + }, + "PutPermissionPolicyResponse": { + "base": null, + "refs": { + } + }, "RateBasedRule": { "base": "

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.

", "refs": { @@ -1276,8 +1316,11 @@ "base": null, "refs": { "AssociateWebACLRequest$ResourceArn": "

The ARN (Amazon Resource Name) of the resource to be protected.

", + "DeletePermissionPolicyRequest$ResourceArn": "

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.

", "DisassociateWebACLRequest$ResourceArn": "

The ARN (Amazon Resource Name) of the resource from which the web ACL is being removed.

", + "GetPermissionPolicyRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the RuleGroup for which you want to get the policy.

", "GetWebACLForResourceRequest$ResourceArn": "

The ARN (Amazon Resource Name) of the resource for which to get the web ACL.

", + "PutPermissionPolicyRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

", "ResourceArns$member": null } }, @@ -1438,7 +1481,7 @@ "RuleGroupUpdates": { "base": null, "refs": { - "UpdateRuleGroupRequest$Updates": "

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.

The Action data type within ActivatedRule is used only when submitting an UpdateWebACL request. ActivatedRule|Action is not applicable and therefore not available for UpdateRuleGroup.

" + "UpdateRuleGroupRequest$Updates": "

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.

" } }, "RulePriority": { @@ -1773,6 +1816,11 @@ "refs": { } }, + "WAFInvalidPermissionPolicyException": { + "base": "

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 or waf-regional:UpdateWebACL. 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.

", + "refs": { + } + }, "WAFInvalidRegexPatternException": { "base": "

The regular expression (regex) you specified in RegexPatternString is invalid.

", "refs": { @@ -1821,7 +1869,7 @@ "WafAction": { "base": "

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.

", "refs": { - "ActivatedRule$Action": "

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.

The Action data type within ActivatedRule is used only when submitting an UpdateWebACL request. ActivatedRule|Action is not applicable and therefore not available for UpdateRuleGroup.

", + "ActivatedRule$Action": "

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.

", "CreateWebACLRequest$DefaultAction": "

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.

", "UpdateWebACLRequest$DefaultAction": "

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.

", "WebACL$DefaultAction": "

The action to perform if none of the Rules contained in the WebACL match. The action is specified by the WafAction object.

" @@ -1836,7 +1884,7 @@ "WafOverrideAction": { "base": "

The action to take if any rule within the RuleGroup matches a request.

", "refs": { - "ActivatedRule$OverrideAction": "

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.

The OverrideAction data type within ActivatedRule is used only when submitting an UpdateRuleGroup request. ActivatedRule|OverrideAction is not applicable and therefore not available for UpdateWebACL.

" + "ActivatedRule$OverrideAction": "

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.

" } }, "WafOverrideActionType": { @@ -1880,7 +1928,7 @@ "WebACLUpdates": { "base": null, "refs": { - "UpdateWebACLRequest$Updates": "

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, Priority, RuleId, and Type. The OverrideAction data type within ActivatedRule is used only when submitting an UpdateRuleGroup request. ActivatedRule|OverrideAction is not applicable and therefore not available for UpdateWebACL.

  • WafAction: Contains Type

" + "UpdateWebACLRequest$Updates": "

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

" } }, "XssMatchSet": { @@ -1933,6 +1981,7 @@ "WAFDisallowedNameException$message": null, "WAFInternalErrorException$message": null, "WAFInvalidOperationException$message": null, + "WAFInvalidPermissionPolicyException$message": null, "WAFInvalidRegexPatternException$message": null, "WAFLimitsExceededException$message": null, "WAFNonEmptyEntityException$message": null, diff --git a/models/apis/waf/2015-08-24/api-2.json b/models/apis/waf/2015-08-24/api-2.json index 13f837d4875..89b0ec4d728 100644 --- a/models/apis/waf/2015-08-24/api-2.json +++ b/models/apis/waf/2015-08-24/api-2.json @@ -260,6 +260,20 @@ {"shape":"WAFNonEmptyEntityException"} ] }, + "DeletePermissionPolicy":{ + "name":"DeletePermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePermissionPolicyRequest"}, + "output":{"shape":"DeletePermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonexistentItemException"} + ] + }, "DeleteRateBasedRule":{ "name":"DeleteRateBasedRule", "http":{ @@ -479,6 +493,19 @@ {"shape":"WAFNonexistentItemException"} ] }, + "GetPermissionPolicy":{ + "name":"GetPermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPermissionPolicyRequest"}, + "output":{"shape":"GetPermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"} + ] + }, "GetRateBasedRule":{ "name":"GetRateBasedRule", "http":{ @@ -814,6 +841,21 @@ {"shape":"WAFInvalidAccountException"} ] }, + "PutPermissionPolicy":{ + "name":"PutPermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutPermissionPolicyRequest"}, + "output":{"shape":"PutPermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidPermissionPolicyException"} + ] + }, "UpdateByteMatchSet":{ "name":"UpdateByteMatchSet", "http":{ @@ -1444,6 +1486,18 @@ "ChangeToken":{"shape":"ChangeToken"} } }, + "DeletePermissionPolicyRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"ResourceArn"} + } + }, + "DeletePermissionPolicyResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteRateBasedRuleRequest":{ "type":"structure", "required":[ @@ -1984,6 +2038,19 @@ "IPSet":{"shape":"IPSet"} } }, + "GetPermissionPolicyRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"ResourceArn"} + } + }, + "GetPermissionPolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{"shape":"PolicyString"} + } + }, "GetRateBasedRuleManagedKeysRequest":{ "type":"structure", "required":["RuleId"], @@ -2492,6 +2559,10 @@ "ILLEGAL_COMBINATION" ] }, + "PolicyString":{ + "type":"string", + "min":1 + }, "PopulationSize":{"type":"long"}, "PositionalConstraint":{ "type":"string", @@ -2532,6 +2603,22 @@ "type":"list", "member":{"shape":"Predicate"} }, + "PutPermissionPolicyRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Policy" + ], + "members":{ + "ResourceArn":{"shape":"ResourceArn"}, + "Policy":{"shape":"PolicyString"} + } + }, + "PutPermissionPolicyResponse":{ + "type":"structure", + "members":{ + } + }, "RateBasedRule":{ "type":"structure", "required":[ @@ -2665,6 +2752,11 @@ "member":{"shape":"RegexPatternString"}, "max":10 }, + "ResourceArn":{ + "type":"string", + "max":1224, + "min":1 + }, "ResourceId":{ "type":"string", "max":128, @@ -3214,6 +3306,13 @@ }, "exception":true }, + "WAFInvalidPermissionPolicyException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "exception":true + }, "WAFInvalidRegexPatternException":{ "type":"structure", "members":{ diff --git a/models/apis/waf/2015-08-24/docs-2.json b/models/apis/waf/2015-08-24/docs-2.json index 66c5cd0877a..829ca778cf5 100644 --- a/models/apis/waf/2015-08-24/docs-2.json +++ b/models/apis/waf/2015-08-24/docs-2.json @@ -17,6 +17,7 @@ "DeleteByteMatchSet": "

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": "

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": "

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.

", + "DeletePermissionPolicy": "

Permanently deletes an IAM policy from the specified RuleGroup.

The user making the request must be the owner of the RuleGroup.

", "DeleteRateBasedRule": "

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": "

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": "

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.

", @@ -31,6 +32,7 @@ "GetChangeTokenStatus": "

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": "

Returns the GeoMatchSet that is specified by GeoMatchSetId.

", "GetIPSet": "

Returns the IPSet that is specified by IPSetId.

", + "GetPermissionPolicy": "

Returns the IAM policy attached to the RuleGroup.

", "GetRateBasedRule": "

Returns the RateBasedRule that is specified by the RuleId that you included in the GetRateBasedRule request.

", "GetRateBasedRuleManagedKeys": "

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": "

Returns the RegexMatchSet specified by RegexMatchSetId.

", @@ -56,6 +58,7 @@ "ListSubscribedRuleGroups": "

Returns an array of RuleGroup objects that you are subscribed to.

", "ListWebACLs": "

Returns an array of WebACLSummary objects in the response.

", "ListXssMatchSets": "

Returns an array of XssMatchSet objects.

", + "PutPermissionPolicy": "

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 and waf-regional:UpdateWebACL. 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": "

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": "

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": "

Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one.

  • The IP address version, IPv4 or IPv6.

  • The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44).

AWS WAF supports /8, /16, /24, and /32 IP address ranges for IPv4, and /24, /32, /48, /56, /64 and /128 for IPv6. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

IPv6 addresses can be represented using any of the following formats:

  • 1111:0000:0000:0000:0000:0000:0000:0111/128

  • 1111:0:0:0:0:0:0:0111/128

  • 1111::0111/128

  • 1111::111/128

You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Submit a CreateIPSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", @@ -404,6 +407,16 @@ "refs": { } }, + "DeletePermissionPolicyRequest": { + "base": null, + "refs": { + } + }, + "DeletePermissionPolicyResponse": { + "base": null, + "refs": { + } + }, "DeleteRateBasedRuleRequest": { "base": null, "refs": { @@ -610,6 +623,16 @@ "refs": { } }, + "GetPermissionPolicyRequest": { + "base": null, + "refs": { + } + }, + "GetPermissionPolicyResponse": { + "base": null, + "refs": { + } + }, "GetRateBasedRuleManagedKeysRequest": { "base": null, "refs": { @@ -1086,6 +1109,13 @@ "WAFInvalidParameterException$reason": null } }, + "PolicyString": { + "base": null, + "refs": { + "GetPermissionPolicyResponse$Policy": "

The IAM policy attached to the specified RuleGroup.

", + "PutPermissionPolicyRequest$Policy": "

The policy to attach to the specified RuleGroup.

" + } + }, "PopulationSize": { "base": null, "refs": { @@ -1118,6 +1148,16 @@ "Rule$Predicates": "

The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to include in a Rule.

" } }, + "PutPermissionPolicyRequest": { + "base": null, + "refs": { + } + }, + "PutPermissionPolicyResponse": { + "base": null, + "refs": { + } + }, "RateBasedRule": { "base": "

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.

", "refs": { @@ -1228,6 +1268,14 @@ "RegexPatternSet$RegexPatternStrings": "

Specifies the regular expression (regex) patterns that you want AWS WAF to search for, such as B[a@]dB[o0]t.

" } }, + "ResourceArn": { + "base": null, + "refs": { + "DeletePermissionPolicyRequest$ResourceArn": "

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.

", + "GetPermissionPolicyRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the RuleGroup for which you want to get the policy.

", + "PutPermissionPolicyRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

" + } + }, "ResourceId": { "base": null, "refs": { @@ -1377,7 +1425,7 @@ "RuleGroupUpdates": { "base": null, "refs": { - "UpdateRuleGroupRequest$Updates": "

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.

The Action data type within ActivatedRule is used only when submitting an UpdateWebACL request. ActivatedRule|Action is not applicable and therefore not available for UpdateRuleGroup.

" + "UpdateRuleGroupRequest$Updates": "

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.

" } }, "RulePriority": { @@ -1712,6 +1760,11 @@ "refs": { } }, + "WAFInvalidPermissionPolicyException": { + "base": "

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 or waf-regional:UpdateWebACL. 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.

", + "refs": { + } + }, "WAFInvalidRegexPatternException": { "base": "

The regular expression (regex) you specified in RegexPatternString is invalid.

", "refs": { @@ -1755,7 +1808,7 @@ "WafAction": { "base": "

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.

", "refs": { - "ActivatedRule$Action": "

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.

The Action data type within ActivatedRule is used only when submitting an UpdateWebACL request. ActivatedRule|Action is not applicable and therefore not available for UpdateRuleGroup.

", + "ActivatedRule$Action": "

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.

", "CreateWebACLRequest$DefaultAction": "

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.

", "UpdateWebACLRequest$DefaultAction": "

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.

", "WebACL$DefaultAction": "

The action to perform if none of the Rules contained in the WebACL match. The action is specified by the WafAction object.

" @@ -1770,7 +1823,7 @@ "WafOverrideAction": { "base": "

The action to take if any rule within the RuleGroup matches a request.

", "refs": { - "ActivatedRule$OverrideAction": "

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.

The OverrideAction data type within ActivatedRule is used only when submitting an UpdateRuleGroup request. ActivatedRule|OverrideAction is not applicable and therefore not available for UpdateWebACL.

" + "ActivatedRule$OverrideAction": "

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.

" } }, "WafOverrideActionType": { @@ -1813,7 +1866,7 @@ "WebACLUpdates": { "base": null, "refs": { - "UpdateWebACLRequest$Updates": "

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, Priority, RuleId, and Type. The OverrideAction data type within ActivatedRule is used only when submitting an UpdateRuleGroup request. ActivatedRule|OverrideAction is not applicable and therefore not available for UpdateWebACL.

  • WafAction: Contains Type

" + "UpdateWebACLRequest$Updates": "

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

" } }, "XssMatchSet": { @@ -1866,6 +1919,7 @@ "WAFDisallowedNameException$message": null, "WAFInternalErrorException$message": null, "WAFInvalidOperationException$message": null, + "WAFInvalidPermissionPolicyException$message": null, "WAFInvalidRegexPatternException$message": null, "WAFLimitsExceededException$message": null, "WAFNonEmptyEntityException$message": null, diff --git a/models/apis/workmail/2017-10-01/api-2.json b/models/apis/workmail/2017-10-01/api-2.json new file mode 100644 index 00000000000..7bd7a9c7350 --- /dev/null +++ b/models/apis/workmail/2017-10-01/api-2.json @@ -0,0 +1,1482 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-10-01", + "endpointPrefix":"workmail", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon 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"} + ], + "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"} + ], + "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"} + ], + "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"} + ], + "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"} + ], + "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"} + ], + "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"} + ], + "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"} + ], + "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"} + ], + "idempotent":true + }, + "DeleteResource":{ + "name":"DeleteResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourceRequest"}, + "output":{"shape":"DeleteResourceResponse"}, + "errors":[ + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "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"} + ], + "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"} + ], + "idempotent":true + }, + "DescribeGroup":{ + "name":"DescribeGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGroupRequest"}, + "output":{"shape":"DescribeGroupResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "idempotent":true + }, + "DescribeOrganization":{ + "name":"DescribeOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeOrganizationRequest"}, + "output":{"shape":"DescribeOrganizationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"} + ], + "idempotent":true + }, + "DescribeResource":{ + "name":"DescribeResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeResourceRequest"}, + "output":{"shape":"DescribeResourceResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "idempotent":true + }, + "DescribeUser":{ + "name":"DescribeUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserRequest"}, + "output":{"shape":"DescribeUserResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "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"} + ], + "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"} + ], + "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"} + ], + "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"} + ], + "idempotent":true + }, + "ListGroups":{ + "name":"ListGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGroupsRequest"}, + "output":{"shape":"ListGroupsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "idempotent":true + }, + "ListMailboxPermissions":{ + "name":"ListMailboxPermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMailboxPermissionsRequest"}, + "output":{"shape":"ListMailboxPermissionsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "idempotent":true + }, + "ListOrganizations":{ + "name":"ListOrganizations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListOrganizationsRequest"}, + "output":{"shape":"ListOrganizationsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"} + ], + "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"} + ], + "idempotent":true + }, + "ListResources":{ + "name":"ListResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourcesRequest"}, + "output":{"shape":"ListResourcesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "idempotent":true + }, + "ListUsers":{ + "name":"ListUsers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListUsersRequest"}, + "output":{"shape":"ListUsersResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "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"} + ], + "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"} + ], + "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"} + ], + "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"} + ], + "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"} + ], + "idempotent":true + } + }, + "shapes":{ + "Aliases":{ + "type":"list", + "member":{"shape":"EmailAddress"} + }, + "AssociateDelegateToResourceRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "ResourceId", + "EntityId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "ResourceId":{"shape":"ResourceId"}, + "EntityId":{"shape":"WorkMailIdentifier"} + } + }, + "AssociateDelegateToResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociateMemberToGroupRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "GroupId", + "MemberId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "GroupId":{"shape":"WorkMailIdentifier"}, + "MemberId":{"shape":"WorkMailIdentifier"} + } + }, + "AssociateMemberToGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "BookingOptions":{ + "type":"structure", + "members":{ + "AutoAcceptRequests":{"shape":"Boolean"}, + "AutoDeclineRecurringRequests":{"shape":"Boolean"}, + "AutoDeclineConflictingRequests":{"shape":"Boolean"} + } + }, + "Boolean":{"type":"boolean"}, + "CreateAliasRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId", + "Alias" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "EntityId":{"shape":"WorkMailIdentifier"}, + "Alias":{"shape":"EmailAddress"} + } + }, + "CreateAliasResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateGroupRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "Name" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "Name":{"shape":"GroupName"} + } + }, + "CreateGroupResponse":{ + "type":"structure", + "members":{ + "GroupId":{"shape":"WorkMailIdentifier"} + } + }, + "CreateResourceRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "Name", + "Type" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "Name":{"shape":"ResourceName"}, + "Type":{"shape":"ResourceType"} + } + }, + "CreateResourceResponse":{ + "type":"structure", + "members":{ + "ResourceId":{"shape":"ResourceId"} + } + }, + "CreateUserRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "Name", + "DisplayName", + "Password" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "Name":{"shape":"UserName"}, + "DisplayName":{"shape":"String"}, + "Password":{"shape":"Password"} + } + }, + "CreateUserResponse":{ + "type":"structure", + "members":{ + "UserId":{"shape":"WorkMailIdentifier"} + } + }, + "Delegate":{ + "type":"structure", + "required":[ + "Id", + "Type" + ], + "members":{ + "Id":{"shape":"String"}, + "Type":{"shape":"MemberType"} + } + }, + "DeleteAliasRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId", + "Alias" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "EntityId":{"shape":"WorkMailIdentifier"}, + "Alias":{"shape":"EmailAddress"} + } + }, + "DeleteAliasResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteGroupRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "GroupId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "GroupId":{"shape":"WorkMailIdentifier"} + } + }, + "DeleteGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteMailboxPermissionsRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId", + "GranteeId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "EntityId":{"shape":"WorkMailIdentifier"}, + "GranteeId":{"shape":"WorkMailIdentifier"} + } + }, + "DeleteMailboxPermissionsResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteResourceRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "ResourceId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "ResourceId":{"shape":"ResourceId"} + } + }, + "DeleteResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteUserRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "UserId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "UserId":{"shape":"WorkMailIdentifier"} + } + }, + "DeleteUserResponse":{ + "type":"structure", + "members":{ + } + }, + "DeregisterFromWorkMailRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "EntityId":{"shape":"WorkMailIdentifier"} + } + }, + "DeregisterFromWorkMailResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeGroupRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "GroupId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "GroupId":{"shape":"WorkMailIdentifier"} + } + }, + "DescribeGroupResponse":{ + "type":"structure", + "members":{ + "GroupId":{"shape":"WorkMailIdentifier"}, + "Name":{"shape":"GroupName"}, + "Email":{"shape":"EmailAddress"}, + "State":{"shape":"EntityState"}, + "EnabledDate":{"shape":"Timestamp"}, + "DisabledDate":{"shape":"Timestamp"} + } + }, + "DescribeOrganizationRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{"shape":"OrganizationId"} + } + }, + "DescribeOrganizationResponse":{ + "type":"structure", + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "Alias":{"shape":"OrganizationName"}, + "State":{"shape":"String"}, + "DirectoryId":{"shape":"String"}, + "DirectoryType":{"shape":"String"}, + "DefaultMailDomain":{"shape":"String"}, + "CompletedDate":{"shape":"Timestamp"}, + "ErrorMessage":{"shape":"String"} + } + }, + "DescribeResourceRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "ResourceId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "ResourceId":{"shape":"ResourceId"} + } + }, + "DescribeResourceResponse":{ + "type":"structure", + "members":{ + "ResourceId":{"shape":"ResourceId"}, + "Email":{"shape":"EmailAddress"}, + "Name":{"shape":"ResourceName"}, + "Type":{"shape":"ResourceType"}, + "BookingOptions":{"shape":"BookingOptions"}, + "State":{"shape":"EntityState"}, + "EnabledDate":{"shape":"Timestamp"}, + "DisabledDate":{"shape":"Timestamp"} + } + }, + "DescribeUserRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "UserId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "UserId":{"shape":"WorkMailIdentifier"} + } + }, + "DescribeUserResponse":{ + "type":"structure", + "members":{ + "UserId":{"shape":"WorkMailIdentifier"}, + "Name":{"shape":"UserName"}, + "Email":{"shape":"EmailAddress"}, + "DisplayName":{"shape":"String"}, + "State":{"shape":"EntityState"}, + "UserRole":{"shape":"UserRole"}, + "EnabledDate":{"shape":"Timestamp"}, + "DisabledDate":{"shape":"Timestamp"} + } + }, + "DirectoryServiceAuthenticationFailedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "DirectoryUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "DisassociateDelegateFromResourceRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "ResourceId", + "EntityId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "ResourceId":{"shape":"ResourceId"}, + "EntityId":{"shape":"WorkMailIdentifier"} + } + }, + "DisassociateDelegateFromResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateMemberFromGroupRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "GroupId", + "MemberId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "GroupId":{"shape":"WorkMailIdentifier"}, + "MemberId":{"shape":"WorkMailIdentifier"} + } + }, + "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"} + }, + "exception":true + }, + "EntityAlreadyRegisteredException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "EntityNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "EntityState":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED", + "DELETED" + ] + }, + "EntityStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "Group":{ + "type":"structure", + "members":{ + "Id":{"shape":"WorkMailIdentifier"}, + "Email":{"shape":"EmailAddress"}, + "Name":{"shape":"GroupName"}, + "State":{"shape":"EntityState"}, + "EnabledDate":{"shape":"Timestamp"}, + "DisabledDate":{"shape":"Timestamp"} + } + }, + "GroupName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\u0020-\\u00FF]+" + }, + "Groups":{ + "type":"list", + "member":{"shape":"Group"} + }, + "InvalidConfigurationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "InvalidPasswordException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "ListAliasesRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "EntityId":{"shape":"WorkMailIdentifier"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListAliasesResponse":{ + "type":"structure", + "members":{ + "Aliases":{"shape":"Aliases"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListGroupMembersRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "GroupId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "GroupId":{"shape":"WorkMailIdentifier"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListGroupMembersResponse":{ + "type":"structure", + "members":{ + "Members":{"shape":"Members"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListGroupsRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListGroupsResponse":{ + "type":"structure", + "members":{ + "Groups":{"shape":"Groups"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListMailboxPermissionsRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "EntityId":{"shape":"WorkMailIdentifier"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListMailboxPermissionsResponse":{ + "type":"structure", + "members":{ + "Permissions":{"shape":"Permissions"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListOrganizationsRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListOrganizationsResponse":{ + "type":"structure", + "members":{ + "OrganizationSummaries":{"shape":"OrganizationSummaries"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListResourceDelegatesRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "ResourceId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "ResourceId":{"shape":"WorkMailIdentifier"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListResourceDelegatesResponse":{ + "type":"structure", + "members":{ + "Delegates":{"shape":"ResourceDelegates"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListResourcesRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListResourcesResponse":{ + "type":"structure", + "members":{ + "Resources":{"shape":"Resources"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListUsersRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListUsersResponse":{ + "type":"structure", + "members":{ + "Users":{"shape":"Users"}, + "NextToken":{"shape":"NextToken"} + } + }, + "MailDomainNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "MailDomainStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "Member":{ + "type":"structure", + "members":{ + "Id":{"shape":"String"}, + "Name":{"shape":"String"}, + "Type":{"shape":"MemberType"}, + "State":{"shape":"EntityState"}, + "EnabledDate":{"shape":"Timestamp"}, + "DisabledDate":{"shape":"Timestamp"} + } + }, + "MemberType":{ + "type":"string", + "enum":[ + "GROUP", + "USER" + ] + }, + "Members":{ + "type":"list", + "member":{"shape":"Member"} + }, + "NameAvailabilityException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "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"} + }, + "exception":true + }, + "OrganizationStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "OrganizationSummaries":{ + "type":"list", + "member":{"shape":"OrganizationSummary"} + }, + "OrganizationSummary":{ + "type":"structure", + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "Alias":{"shape":"OrganizationName"}, + "ErrorMessage":{"shape":"String"}, + "State":{"shape":"String"} + } + }, + "Password":{ + "type":"string", + "max":256, + "pattern":"[\\u0020-\\u00FF]+", + "sensitive":true + }, + "Permission":{ + "type":"structure", + "required":[ + "GranteeId", + "GranteeType", + "PermissionValues" + ], + "members":{ + "GranteeId":{"shape":"WorkMailIdentifier"}, + "GranteeType":{"shape":"MemberType"}, + "PermissionValues":{"shape":"PermissionValues"} + } + }, + "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"}, + "EntityId":{"shape":"WorkMailIdentifier"}, + "GranteeId":{"shape":"WorkMailIdentifier"}, + "PermissionValues":{"shape":"PermissionValues"} + } + }, + "PutMailboxPermissionsResponse":{ + "type":"structure", + "members":{ + } + }, + "RegisterToWorkMailRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId", + "Email" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "EntityId":{"shape":"WorkMailIdentifier"}, + "Email":{"shape":"EmailAddress"} + } + }, + "RegisterToWorkMailResponse":{ + "type":"structure", + "members":{ + } + }, + "ReservedNameException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "ResetPasswordRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "UserId", + "Password" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "UserId":{"shape":"WorkMailIdentifier"}, + "Password":{"shape":"Password"} + } + }, + "ResetPasswordResponse":{ + "type":"structure", + "members":{ + } + }, + "Resource":{ + "type":"structure", + "members":{ + "Id":{"shape":"WorkMailIdentifier"}, + "Email":{"shape":"EmailAddress"}, + "Name":{"shape":"ResourceName"}, + "Type":{"shape":"ResourceType"}, + "State":{"shape":"EntityState"}, + "EnabledDate":{"shape":"Timestamp"}, + "DisabledDate":{"shape":"Timestamp"} + } + }, + "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"} + }, + "exception":true + }, + "UpdatePrimaryEmailAddressRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId", + "Email" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "EntityId":{"shape":"WorkMailIdentifier"}, + "Email":{"shape":"EmailAddress"} + } + }, + "UpdatePrimaryEmailAddressResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateResourceRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "ResourceId" + ], + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "ResourceId":{"shape":"ResourceId"}, + "Name":{"shape":"ResourceName"}, + "BookingOptions":{"shape":"BookingOptions"} + } + }, + "UpdateResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "User":{ + "type":"structure", + "members":{ + "Id":{"shape":"WorkMailIdentifier"}, + "Email":{"shape":"EmailAddress"}, + "Name":{"shape":"UserName"}, + "DisplayName":{"shape":"String"}, + "State":{"shape":"EntityState"}, + "UserRole":{"shape":"UserRole"}, + "EnabledDate":{"shape":"Timestamp"}, + "DisabledDate":{"shape":"Timestamp"} + } + }, + "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 + } + } +} diff --git a/models/apis/workmail/2017-10-01/docs-2.json b/models/apis/workmail/2017-10-01/docs-2.json new file mode 100644 index 00000000000..71bb3a893b7 --- /dev/null +++ b/models/apis/workmail/2017-10-01/docs-2.json @@ -0,0 +1,811 @@ +{ + "version": "2.0", + "service": "

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.

", + "operations": { + "AssociateDelegateToResource": "

Adds a member to the resource's set of delegates.

", + "AssociateMemberToGroup": "

Adds a member to the group's set.

", + "CreateAlias": "

Adds an alias to the set of a given member of Amazon WorkMail.

", + "CreateGroup": "

Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

", + "CreateResource": "

Creates a new Amazon WorkMail resource. The available types are equipment and room.

", + "CreateUser": "

Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

", + "DeleteAlias": "

Remove the alias from a set of aliases for a given user.

", + "DeleteGroup": "

Deletes a group from Amazon WorkMail.

", + "DeleteMailboxPermissions": "

Deletes permissions granted to a user or group.

", + "DeleteResource": "

Deletes the specified resource.

", + "DeleteUser": "

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.

", + "DeregisterFromWorkMail": "

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.

", + "DescribeGroup": "

Returns the data available for the group.

", + "DescribeOrganization": "

Provides more information regarding a given organization based on its identifier.

", + "DescribeResource": "

Returns the data available for the resource.

", + "DescribeUser": "

Provides information regarding the user.

", + "DisassociateDelegateFromResource": "

Removes a member from the resource's set of delegates.

", + "DisassociateMemberFromGroup": "

Removes a member from a group.

", + "ListAliases": "

Creates a paginated call to list the aliases associated with a given entity.

", + "ListGroupMembers": "

Returns an overview of the members of a group.

", + "ListGroups": "

Returns summaries of the organization's groups.

", + "ListMailboxPermissions": "

Lists the mailbox permissions associated with a mailbox.

", + "ListOrganizations": "

Returns summaries of the customer's non-deleted organizations.

", + "ListResourceDelegates": "

Lists the delegates associated with a resource. Users and groups can be resource delegates and answer requests on behalf of the resource.

", + "ListResources": "

Returns summaries of the organization's resources.

", + "ListUsers": "

Returns summaries of the organization's users.

", + "PutMailboxPermissions": "

Sets permissions for a user or group. This replaces any pre-existing permissions set for the entity.

", + "RegisterToWorkMail": "

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.

", + "ResetPassword": "

Allows the administrator to reset the password for a user.

", + "UpdatePrimaryEmailAddress": "

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.

", + "UpdateResource": "

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.

" + }, + "shapes": { + "Aliases": { + "base": null, + "refs": { + "ListAliasesResponse$Aliases": "

The entity's paginated aliases.

" + } + }, + "AssociateDelegateToResourceRequest": { + "base": null, + "refs": { + } + }, + "AssociateDelegateToResourceResponse": { + "base": null, + "refs": { + } + }, + "AssociateMemberToGroupRequest": { + "base": null, + "refs": { + } + }, + "AssociateMemberToGroupResponse": { + "base": null, + "refs": { + } + }, + "BookingOptions": { + "base": "

At least one delegate must be associated to the resource to disable automatic replies from the resource.

", + "refs": { + "DescribeResourceResponse$BookingOptions": "

The booking options for the described resource.

", + "UpdateResourceRequest$BookingOptions": "

The resource's booking options to be updated.

" + } + }, + "Boolean": { + "base": null, + "refs": { + "BookingOptions$AutoAcceptRequests": "

The resource's ability to automatically reply to requests. If disabled, delegates must be associated to the resource.

", + "BookingOptions$AutoDeclineRecurringRequests": "

The resource's ability to automatically decline any recurring requests.

", + "BookingOptions$AutoDeclineConflictingRequests": "

The resource's ability to automatically decline any conflicting requests.

" + } + }, + "CreateAliasRequest": { + "base": null, + "refs": { + } + }, + "CreateAliasResponse": { + "base": null, + "refs": { + } + }, + "CreateGroupRequest": { + "base": null, + "refs": { + } + }, + "CreateGroupResponse": { + "base": null, + "refs": { + } + }, + "CreateResourceRequest": { + "base": null, + "refs": { + } + }, + "CreateResourceResponse": { + "base": null, + "refs": { + } + }, + "CreateUserRequest": { + "base": null, + "refs": { + } + }, + "CreateUserResponse": { + "base": null, + "refs": { + } + }, + "Delegate": { + "base": "

The name of the attribute, which is one of the values defined in the UserAttribute enumeration.

", + "refs": { + "ResourceDelegates$member": null + } + }, + "DeleteAliasRequest": { + "base": null, + "refs": { + } + }, + "DeleteAliasResponse": { + "base": null, + "refs": { + } + }, + "DeleteGroupRequest": { + "base": null, + "refs": { + } + }, + "DeleteGroupResponse": { + "base": null, + "refs": { + } + }, + "DeleteMailboxPermissionsRequest": { + "base": null, + "refs": { + } + }, + "DeleteMailboxPermissionsResponse": { + "base": null, + "refs": { + } + }, + "DeleteResourceRequest": { + "base": null, + "refs": { + } + }, + "DeleteResourceResponse": { + "base": null, + "refs": { + } + }, + "DeleteUserRequest": { + "base": null, + "refs": { + } + }, + "DeleteUserResponse": { + "base": null, + "refs": { + } + }, + "DeregisterFromWorkMailRequest": { + "base": null, + "refs": { + } + }, + "DeregisterFromWorkMailResponse": { + "base": null, + "refs": { + } + }, + "DescribeGroupRequest": { + "base": null, + "refs": { + } + }, + "DescribeGroupResponse": { + "base": null, + "refs": { + } + }, + "DescribeOrganizationRequest": { + "base": null, + "refs": { + } + }, + "DescribeOrganizationResponse": { + "base": null, + "refs": { + } + }, + "DescribeResourceRequest": { + "base": null, + "refs": { + } + }, + "DescribeResourceResponse": { + "base": null, + "refs": { + } + }, + "DescribeUserRequest": { + "base": null, + "refs": { + } + }, + "DescribeUserResponse": { + "base": null, + "refs": { + } + }, + "DirectoryServiceAuthenticationFailedException": { + "base": "

The Directory Service doesn't recognize the credentials supplied by the Amazon WorkMail service.

", + "refs": { + } + }, + "DirectoryUnavailableException": { + "base": "

The directory that you are trying to perform operations on isn't available.

", + "refs": { + } + }, + "DisassociateDelegateFromResourceRequest": { + "base": null, + "refs": { + } + }, + "DisassociateDelegateFromResourceResponse": { + "base": null, + "refs": { + } + }, + "DisassociateMemberFromGroupRequest": { + "base": null, + "refs": { + } + }, + "DisassociateMemberFromGroupResponse": { + "base": null, + "refs": { + } + }, + "EmailAddress": { + "base": null, + "refs": { + "Aliases$member": null, + "CreateAliasRequest$Alias": "

The alias to add to the user.

", + "DeleteAliasRequest$Alias": "

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).

", + "DescribeGroupResponse$Email": "

The email of the described group.

", + "DescribeResourceResponse$Email": "

The email of the described resource.

", + "DescribeUserResponse$Email": "

The email of the user.

", + "Group$Email": "

The email of the group.

", + "RegisterToWorkMailRequest$Email": "

The email for the entity to be updated.

", + "Resource$Email": "

The email of the resource.

", + "UpdatePrimaryEmailAddressRequest$Email": "

The value of the email to be updated as primary.

", + "User$Email": "

The email of the user.

" + } + }, + "EmailAddressInUseException": { + "base": "

The email address that you're trying to assign is already created for a different user, group, or resource.

", + "refs": { + } + }, + "EntityAlreadyRegisteredException": { + "base": "

The user, group, or resource that you're trying to register is already registered.

", + "refs": { + } + }, + "EntityNotFoundException": { + "base": "

The identifier supplied for the entity is valid, but it does not exist in your organization.

", + "refs": { + } + }, + "EntityState": { + "base": null, + "refs": { + "DescribeGroupResponse$State": "

The state of the user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to Amazon WorkMail).

", + "DescribeResourceResponse$State": "

The state of the resource: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to Amazon WorkMail).

", + "DescribeUserResponse$State": "

The state of a user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to Amazon WorkMail).

", + "Group$State": "

The state of the group, which can be ENABLED, DISABLED, or DELETED.

", + "Member$State": "

The state of the member, which can be ENABLED, DISABLED, or DELETED.

", + "Resource$State": "

The state of the resource, which can be ENABLED, DISABLED, or DELETED.

", + "User$State": "

The state of the user, which can be ENABLED, DISABLED, or DELETED.

" + } + }, + "EntityStateException": { + "base": "

You are performing an operation on an entity that isn't in the expected state, such as trying to update a deleted user.

", + "refs": { + } + }, + "Group": { + "base": "

The representation of an Amazon WorkMail group.

", + "refs": { + "Groups$member": null + } + }, + "GroupName": { + "base": null, + "refs": { + "CreateGroupRequest$Name": "

The name of the group.

", + "DescribeGroupResponse$Name": "

The name of the described group.

", + "Group$Name": "

The name of the group.

" + } + }, + "Groups": { + "base": null, + "refs": { + "ListGroupsResponse$Groups": "

The overview of groups for an organization.

" + } + }, + "InvalidConfigurationException": { + "base": "

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.

", + "refs": { + } + }, + "InvalidParameterException": { + "base": "

One or more of the input parameters don't match the service's restrictions.

", + "refs": { + } + }, + "InvalidPasswordException": { + "base": "

The supplied password doesn't match the minimum security constraints, such as length or use of special characters.

", + "refs": { + } + }, + "ListAliasesRequest": { + "base": null, + "refs": { + } + }, + "ListAliasesResponse": { + "base": null, + "refs": { + } + }, + "ListGroupMembersRequest": { + "base": null, + "refs": { + } + }, + "ListGroupMembersResponse": { + "base": null, + "refs": { + } + }, + "ListGroupsRequest": { + "base": null, + "refs": { + } + }, + "ListGroupsResponse": { + "base": null, + "refs": { + } + }, + "ListMailboxPermissionsRequest": { + "base": null, + "refs": { + } + }, + "ListMailboxPermissionsResponse": { + "base": null, + "refs": { + } + }, + "ListOrganizationsRequest": { + "base": null, + "refs": { + } + }, + "ListOrganizationsResponse": { + "base": null, + "refs": { + } + }, + "ListResourceDelegatesRequest": { + "base": null, + "refs": { + } + }, + "ListResourceDelegatesResponse": { + "base": null, + "refs": { + } + }, + "ListResourcesRequest": { + "base": null, + "refs": { + } + }, + "ListResourcesResponse": { + "base": null, + "refs": { + } + }, + "ListUsersRequest": { + "base": null, + "refs": { + } + }, + "ListUsersResponse": { + "base": null, + "refs": { + } + }, + "MailDomainNotFoundException": { + "base": "

For an email or alias to be created in Amazon WorkMail, the included domain must be defined in the organization.

", + "refs": { + } + }, + "MailDomainStateException": { + "base": "

After a domain has been added to the organization, it must be verified. The domain is not yet verified.

", + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListAliasesRequest$MaxResults": "

The maximum number of results to return in a single call.

", + "ListGroupMembersRequest$MaxResults": "

The maximum number of results to return in a single call.

", + "ListGroupsRequest$MaxResults": "

The maximum number of results to return in a single call.

", + "ListMailboxPermissionsRequest$MaxResults": "

The maximum number of results to return in a single call.

", + "ListOrganizationsRequest$MaxResults": "

The maximum number of results to return in a single call.

", + "ListResourceDelegatesRequest$MaxResults": "

The number of maximum results in a page.

", + "ListResourcesRequest$MaxResults": "

The maximum number of results to return in a single call.

", + "ListUsersRequest$MaxResults": "

The maximum number of results to return in a single call.

" + } + }, + "Member": { + "base": "

The representation of a group member (user or group).

", + "refs": { + "Members$member": null + } + }, + "MemberType": { + "base": null, + "refs": { + "Delegate$Type": "

The type of the delegate: user or group.

", + "Member$Type": "

A member can be a user or group.

", + "Permission$GranteeType": "

The type of entity (user, group) of the entity referred to in GranteeId.

" + } + }, + "Members": { + "base": null, + "refs": { + "ListGroupMembersResponse$Members": "

The members associated to the group.

" + } + }, + "NameAvailabilityException": { + "base": "

The entity (user, group, or user) name isn't unique in Amazon WorkMail.

", + "refs": { + } + }, + "NextToken": { + "base": null, + "refs": { + "ListAliasesRequest$NextToken": "

The token to use to retrieve the next page of results. The first call does not contain any tokens.

", + "ListAliasesResponse$NextToken": "

The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.

", + "ListGroupMembersRequest$NextToken": "

The token to use to retrieve the next page of results. The first call does not contain any tokens.

", + "ListGroupMembersResponse$NextToken": "

The token to use to retrieve the next page of results. The first call does not contain any tokens.

", + "ListGroupsRequest$NextToken": "

The token to use to retrieve the next page of results. The first call does not contain any tokens.

", + "ListGroupsResponse$NextToken": "

The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.

", + "ListMailboxPermissionsRequest$NextToken": "

The token to use to retrieve the next page of results. The first call does not contain any tokens.

", + "ListMailboxPermissionsResponse$NextToken": "

The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.

", + "ListOrganizationsRequest$NextToken": "

The token to use to retrieve the next page of results. The first call does not contain any tokens.

", + "ListOrganizationsResponse$NextToken": "

The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.

", + "ListResourceDelegatesRequest$NextToken": "

The token used to paginate through the delegates associated with a resource.

", + "ListResourceDelegatesResponse$NextToken": "

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$NextToken": "

The token to use to retrieve the next page of results. The first call does not contain any tokens.

", + "ListResourcesResponse$NextToken": "

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$NextToken": "

TBD

", + "ListUsersResponse$NextToken": "

The token to use to retrieve the next page of results. This value is `null` when there are no more results to return.

" + } + }, + "OrganizationId": { + "base": null, + "refs": { + "AssociateDelegateToResourceRequest$OrganizationId": "

The organization under which the resource exists.

", + "AssociateMemberToGroupRequest$OrganizationId": "

The organization under which the group exists.

", + "CreateAliasRequest$OrganizationId": "

The organization under which the member exists.

", + "CreateGroupRequest$OrganizationId": "

The organization under which the group is to be created.

", + "CreateResourceRequest$OrganizationId": "

The identifier associated with the organization for which the resource is created.

", + "CreateUserRequest$OrganizationId": "

The identifier of the organization for which the user is created.

", + "DeleteAliasRequest$OrganizationId": "

The identifier for the organization under which the user exists.

", + "DeleteGroupRequest$OrganizationId": "

The organization that contains the group.

", + "DeleteMailboxPermissionsRequest$OrganizationId": "

The identifier of the organization under which the entity (user or group) exists.

", + "DeleteResourceRequest$OrganizationId": "

The identifier associated with the organization for which the resource is deleted.

", + "DeleteUserRequest$OrganizationId": "

The organization that contains the user.

", + "DeregisterFromWorkMailRequest$OrganizationId": "

The identifier for the organization under which the Amazon WorkMail entity exists.

", + "DescribeGroupRequest$OrganizationId": "

The identifier for the organization under which the group exists.

", + "DescribeOrganizationRequest$OrganizationId": "

The identifier for the organization to be described.

", + "DescribeOrganizationResponse$OrganizationId": "

The identifier of an organization.

", + "DescribeResourceRequest$OrganizationId": "

The identifier associated with the organization for which the resource is described.

", + "DescribeUserRequest$OrganizationId": "

The identifier for the organization under which the user exists.

", + "DisassociateDelegateFromResourceRequest$OrganizationId": "

The identifier for the organization under which the resource exists.

", + "DisassociateMemberFromGroupRequest$OrganizationId": "

The identifier for the organization under which the group exists.

", + "ListAliasesRequest$OrganizationId": "

The identifier for the organization under which the entity exists.

", + "ListGroupMembersRequest$OrganizationId": "

The identifier for the organization under which the group exists.

", + "ListGroupsRequest$OrganizationId": "

The identifier for the organization under which the groups exist.

", + "ListMailboxPermissionsRequest$OrganizationId": "

The identifier of the organization under which the entity (user or group) exists.

", + "ListResourceDelegatesRequest$OrganizationId": "

The identifier for the organization that contains the resource for which delegates are listed.

", + "ListResourcesRequest$OrganizationId": "

The identifier for the organization under which the resources exist.

", + "ListUsersRequest$OrganizationId": "

The identifier for the organization under which the users exist.

", + "OrganizationSummary$OrganizationId": "

The identifier associated with the organization.

", + "PutMailboxPermissionsRequest$OrganizationId": "

The identifier of the organization under which the entity (user or group) exists.

", + "RegisterToWorkMailRequest$OrganizationId": "

The identifier for the organization under which the Amazon WorkMail entity exists.

", + "ResetPasswordRequest$OrganizationId": "

The identifier of the organization that contains the user for which the password is reset.

", + "UpdatePrimaryEmailAddressRequest$OrganizationId": "

The organization that contains the entity to update.

", + "UpdateResourceRequest$OrganizationId": "

The identifier associated with the organization for which the resource is updated.

" + } + }, + "OrganizationName": { + "base": null, + "refs": { + "DescribeOrganizationResponse$Alias": "

The alias for an organization.

", + "OrganizationSummary$Alias": "

The alias associated with the organization.

" + } + }, + "OrganizationNotFoundException": { + "base": "

An operation received a valid organization identifier that either doesn't belong or exist in the system.

", + "refs": { + } + }, + "OrganizationStateException": { + "base": "

The organization must have a valid state (Active or Synchronizing) to perform certain operations on the organization or its entities.

", + "refs": { + } + }, + "OrganizationSummaries": { + "base": null, + "refs": { + "ListOrganizationsResponse$OrganizationSummaries": "

The overview of owned organizations presented as a list of organization summaries.

" + } + }, + "OrganizationSummary": { + "base": "

The brief overview associated with an organization.

", + "refs": { + "OrganizationSummaries$member": null + } + }, + "Password": { + "base": null, + "refs": { + "CreateUserRequest$Password": "

The password for the user to be created.

", + "ResetPasswordRequest$Password": "

The new password for the user.

" + } + }, + "Permission": { + "base": "

Permission granted to an entity (user, group) to access a certain aspect of another entity's mailbox.

", + "refs": { + "Permissions$member": null + } + }, + "PermissionType": { + "base": null, + "refs": { + "PermissionValues$member": null + } + }, + "PermissionValues": { + "base": null, + "refs": { + "Permission$PermissionValues": "

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.

", + "PutMailboxPermissionsRequest$PermissionValues": "

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.

" + } + }, + "Permissions": { + "base": null, + "refs": { + "ListMailboxPermissionsResponse$Permissions": "

One page of the entity's mailbox permissions.

" + } + }, + "PutMailboxPermissionsRequest": { + "base": null, + "refs": { + } + }, + "PutMailboxPermissionsResponse": { + "base": null, + "refs": { + } + }, + "RegisterToWorkMailRequest": { + "base": null, + "refs": { + } + }, + "RegisterToWorkMailResponse": { + "base": null, + "refs": { + } + }, + "ReservedNameException": { + "base": "

This entity name is not allowed in Amazon WorkMail.

", + "refs": { + } + }, + "ResetPasswordRequest": { + "base": null, + "refs": { + } + }, + "ResetPasswordResponse": { + "base": null, + "refs": { + } + }, + "Resource": { + "base": "

The overview for a resource containing relevant data regarding it.

", + "refs": { + "Resources$member": null + } + }, + "ResourceDelegates": { + "base": null, + "refs": { + "ListResourceDelegatesResponse$Delegates": "

One page of the resource's delegates.

" + } + }, + "ResourceId": { + "base": null, + "refs": { + "AssociateDelegateToResourceRequest$ResourceId": "

The resource for which members are associated.

", + "CreateResourceResponse$ResourceId": "

The identifier of the created resource.

", + "DeleteResourceRequest$ResourceId": "

The identifier of the resource to be deleted.

", + "DescribeResourceRequest$ResourceId": "

The identifier of the resource to be described.

", + "DescribeResourceResponse$ResourceId": "

The identifier of the described resource.

", + "DisassociateDelegateFromResourceRequest$ResourceId": "

The identifier of the resource from which delegates' set members are removed.

", + "UpdateResourceRequest$ResourceId": "

The identifier of the resource to be updated.

" + } + }, + "ResourceName": { + "base": null, + "refs": { + "CreateResourceRequest$Name": "

The name of the created resource.

", + "DescribeResourceResponse$Name": "

The name of the described resource.

", + "Resource$Name": "

The name of the resource.

", + "UpdateResourceRequest$Name": "

The name of the resource to be updated.

" + } + }, + "ResourceType": { + "base": null, + "refs": { + "CreateResourceRequest$Type": "

The type of the created resource.

", + "DescribeResourceResponse$Type": "

The type of the described resource.

", + "Resource$Type": "

The type of the resource: equipment or room.

" + } + }, + "Resources": { + "base": null, + "refs": { + "ListResourcesResponse$Resources": "

One page of the organization's resource representation.

" + } + }, + "String": { + "base": null, + "refs": { + "CreateUserRequest$DisplayName": "

The display name for the user to be created.

", + "Delegate$Id": "

The identifier for the user or group is associated as the resource's delegate.

", + "DescribeOrganizationResponse$State": "

The state of an organization.

", + "DescribeOrganizationResponse$DirectoryId": "

The identifier for the directory associated with an Amazon WorkMail organization.

", + "DescribeOrganizationResponse$DirectoryType": "

The type of directory associated with the Amazon WorkMail organization.

", + "DescribeOrganizationResponse$DefaultMailDomain": "

The default mail domain associated with the organization.

", + "DescribeOrganizationResponse$ErrorMessage": "

The (optional) error message indicating if unexpected behavior was encountered with regards to the organization.

", + "DescribeUserResponse$DisplayName": "

The display name of the user.

", + "DirectoryServiceAuthenticationFailedException$Message": null, + "DirectoryUnavailableException$Message": null, + "EmailAddressInUseException$Message": null, + "EntityAlreadyRegisteredException$Message": null, + "EntityNotFoundException$Message": null, + "EntityStateException$Message": null, + "InvalidConfigurationException$Message": null, + "InvalidParameterException$Message": null, + "InvalidPasswordException$Message": null, + "MailDomainNotFoundException$Message": null, + "MailDomainStateException$Message": null, + "Member$Id": "

The identifier of the member.

", + "Member$Name": "

The name of the member.

", + "NameAvailabilityException$Message": null, + "OrganizationNotFoundException$Message": null, + "OrganizationStateException$Message": null, + "OrganizationSummary$ErrorMessage": "

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.

", + "OrganizationSummary$State": "

The state associated with the organization.

", + "ReservedNameException$Message": null, + "UnsupportedOperationException$Message": null, + "User$DisplayName": "

The display name of the user.

" + } + }, + "Timestamp": { + "base": null, + "refs": { + "DescribeGroupResponse$EnabledDate": "

The date and time when a user was registered to Amazon WorkMail, in UNIX epoch time format.

", + "DescribeGroupResponse$DisabledDate": "

The date and time when a user was deregistered from Amazon WorkMail, in UNIX epoch time format.

", + "DescribeOrganizationResponse$CompletedDate": "

The date at which the organization became usable in the Amazon WorkMail context, in UNIX epoch time format.

", + "DescribeResourceResponse$EnabledDate": "

The date and time when a resource was registered to Amazon WorkMail, in UNIX epoch time format.

", + "DescribeResourceResponse$DisabledDate": "

The date and time when a resource was registered from Amazon WorkMail, in UNIX epoch time format.

", + "DescribeUserResponse$EnabledDate": "

The date and time at which the user was enabled for Amazon WorkMail usage, in UNIX epoch time format.

", + "DescribeUserResponse$DisabledDate": "

The date and time at which the user was disabled for Amazon WorkMail usage, in UNIX epoch time format.

", + "Group$EnabledDate": "

The date indicating when the group was enabled for Amazon WorkMail use.

", + "Group$DisabledDate": "

The date indicating when the group was disabled from Amazon WorkMail use.

", + "Member$EnabledDate": "

The date indicating when the member was enabled for Amazon WorkMail use.

", + "Member$DisabledDate": "

The date indicating when the member was disabled from Amazon WorkMail use.

", + "Resource$EnabledDate": "

The date indicating when the resource was enabled for Amazon WorkMail use.

", + "Resource$DisabledDate": "

The date indicating when the resource was disabled from Amazon WorkMail use.

", + "User$EnabledDate": "

The date indicating when the user was enabled for Amazon WorkMail use.

", + "User$DisabledDate": "

The date indicating when the user was disabled from Amazon WorkMail use.

" + } + }, + "UnsupportedOperationException": { + "base": "

You can't perform a write operation against a read-only directory.

", + "refs": { + } + }, + "UpdatePrimaryEmailAddressRequest": { + "base": null, + "refs": { + } + }, + "UpdatePrimaryEmailAddressResponse": { + "base": null, + "refs": { + } + }, + "UpdateResourceRequest": { + "base": null, + "refs": { + } + }, + "UpdateResourceResponse": { + "base": null, + "refs": { + } + }, + "User": { + "base": "

The representation of an Amazon WorkMail user.

", + "refs": { + "Users$member": null + } + }, + "UserName": { + "base": null, + "refs": { + "CreateUserRequest$Name": "

The name for the user to be created.

", + "DescribeUserResponse$Name": "

The name for the user.

", + "User$Name": "

The name of the user.

" + } + }, + "UserRole": { + "base": null, + "refs": { + "DescribeUserResponse$UserRole": "

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.

", + "User$UserRole": "

The role of the user.

" + } + }, + "Users": { + "base": null, + "refs": { + "ListUsersResponse$Users": "

The overview of users for an organization.

" + } + }, + "WorkMailIdentifier": { + "base": null, + "refs": { + "AssociateDelegateToResourceRequest$EntityId": "

The member (user or group) to associate to the resource.

", + "AssociateMemberToGroupRequest$GroupId": "

The group for which the member is associated.

", + "AssociateMemberToGroupRequest$MemberId": "

The member to associate to the group.

", + "CreateAliasRequest$EntityId": "

The alias is added to this Amazon WorkMail entity.

", + "CreateGroupResponse$GroupId": "

The ID of the group.

", + "CreateUserResponse$UserId": "

The information regarding the newly created user.

", + "DeleteAliasRequest$EntityId": "

The identifier for the Amazon WorkMail entity to have the aliases removed.

", + "DeleteGroupRequest$GroupId": "

The identifier of the group to be deleted.

", + "DeleteMailboxPermissionsRequest$EntityId": "

The identifier of the entity (user or group) for which to delete mailbox permissions.

", + "DeleteMailboxPermissionsRequest$GranteeId": "

The identifier of the entity (user or group) for which to delete granted permissions.

", + "DeleteUserRequest$UserId": "

The identifier of the user to be deleted.

", + "DeregisterFromWorkMailRequest$EntityId": "

The identifier for the entity to be updated.

", + "DescribeGroupRequest$GroupId": "

The identifier for the group to be described.

", + "DescribeGroupResponse$GroupId": "

The identifier of the described group.

", + "DescribeUserRequest$UserId": "

The identifier for the user to be described.

", + "DescribeUserResponse$UserId": "

The identifier for the described user.

", + "DisassociateDelegateFromResourceRequest$EntityId": "

The identifier for the member (user, group) to be removed from the resource's delegates.

", + "DisassociateMemberFromGroupRequest$GroupId": "

The identifier for the group from which members are removed.

", + "DisassociateMemberFromGroupRequest$MemberId": "

The identifier for the member to be removed to the group.

", + "Group$Id": "

The identifier of the group.

", + "ListAliasesRequest$EntityId": "

The identifier for the entity for which to list the aliases.

", + "ListGroupMembersRequest$GroupId": "

The identifier for the group to which the members are associated.

", + "ListMailboxPermissionsRequest$EntityId": "

The identifier of the entity (user or group) for which to list mailbox permissions.

", + "ListResourceDelegatesRequest$ResourceId": "

The identifier for the resource whose delegates are listed.

", + "Permission$GranteeId": "

The identifier of the entity (user or group) to which the permissions are granted.

", + "PutMailboxPermissionsRequest$EntityId": "

The identifier of the entity (user or group) for which to update mailbox permissions.

", + "PutMailboxPermissionsRequest$GranteeId": "

The identifier of the entity (user or group) to which to grant the permissions.

", + "RegisterToWorkMailRequest$EntityId": "

The identifier for the entity to be updated.

", + "ResetPasswordRequest$UserId": "

The identifier of the user for whom the password is reset.

", + "Resource$Id": "

The identifier of the resource.

", + "UpdatePrimaryEmailAddressRequest$EntityId": "

The entity to update (user, group, or resource).

", + "User$Id": "

The identifier of the user.

" + } + } + } +} diff --git a/models/apis/rds/2013-01-10/examples-1.json b/models/apis/workmail/2017-10-01/examples-1.json similarity index 100% rename from models/apis/rds/2013-01-10/examples-1.json rename to models/apis/workmail/2017-10-01/examples-1.json diff --git a/models/apis/workmail/2017-10-01/paginators-1.json b/models/apis/workmail/2017-10-01/paginators-1.json new file mode 100644 index 00000000000..b76bc1d0f3b --- /dev/null +++ b/models/apis/workmail/2017-10-01/paginators-1.json @@ -0,0 +1,39 @@ +{ + "pagination": { + "ListAliases": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListGroupMembers": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListGroups": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListMailboxPermissions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListOrganizations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListResources": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListUsers": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff --git a/models/apis/workspaces/2015-04-08/api-2.json b/models/apis/workspaces/2015-04-08/api-2.json index 05e36001c46..17b141f40e5 100644 --- a/models/apis/workspaces/2015-04-08/api-2.json +++ b/models/apis/workspaces/2015-04-08/api-2.json @@ -6,11 +6,61 @@ "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"} + ] + }, + "AuthorizeIpRules":{ + "name":"AuthorizeIpRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AuthorizeIpRulesRequest"}, + "output":{"shape":"AuthorizeIpRulesResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"AccessDeniedException"} + ] + }, + "CreateIpGroup":{ + "name":"CreateIpGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateIpGroupRequest"}, + "output":{"shape":"CreateIpGroupResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceCreationFailedException"}, + {"shape":"AccessDeniedException"} + ] + }, "CreateTags":{ "name":"CreateTags", "http":{ @@ -38,6 +88,21 @@ {"shape":"InvalidParameterValuesException"} ] }, + "DeleteIpGroup":{ + "name":"DeleteIpGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIpGroupRequest"}, + "output":{"shape":"DeleteIpGroupResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAssociatedException"}, + {"shape":"AccessDeniedException"} + ] + }, "DeleteTags":{ "name":"DeleteTags", "http":{ @@ -51,6 +116,19 @@ {"shape":"InvalidParameterValuesException"} ] }, + "DescribeIpGroups":{ + "name":"DescribeIpGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeIpGroupsRequest"}, + "output":{"shape":"DescribeIpGroupsResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"AccessDeniedException"} + ] + }, "DescribeTags":{ "name":"DescribeTags", "http":{ @@ -112,6 +190,21 @@ {"shape":"InvalidParameterValuesException"} ] }, + "DisassociateIpGroups":{ + "name":"DisassociateIpGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateIpGroupsRequest"}, + "output":{"shape":"DisassociateIpGroupsResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"AccessDeniedException"} + ] + }, "ModifyWorkspaceProperties":{ "name":"ModifyWorkspaceProperties", "http":{ @@ -130,6 +223,20 @@ {"shape":"ResourceUnavailableException"} ] }, + "ModifyWorkspaceState":{ + "name":"ModifyWorkspaceState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyWorkspaceStateRequest"}, + "output":{"shape":"ModifyWorkspaceStateResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "RebootWorkspaces":{ "name":"RebootWorkspaces", "http":{ @@ -148,6 +255,21 @@ "input":{"shape":"RebuildWorkspacesRequest"}, "output":{"shape":"RebuildWorkspacesResult"} }, + "RevokeIpRules":{ + "name":"RevokeIpRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RevokeIpRulesRequest"}, + "output":{"shape":"RevokeIpRulesResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"AccessDeniedException"} + ] + }, "StartWorkspaces":{ "name":"StartWorkspaces", "http":{ @@ -174,6 +296,22 @@ }, "input":{"shape":"TerminateWorkspacesRequest"}, "output":{"shape":"TerminateWorkspacesResult"} + }, + "UpdateRulesOfIpGroup":{ + "name":"UpdateRulesOfIpGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRulesOfIpGroupRequest"}, + "output":{"shape":"UpdateRulesOfIpGroupResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"AccessDeniedException"} + ] } }, "shapes":{ @@ -189,6 +327,38 @@ "exception":true }, "Alias":{"type":"string"}, + "AssociateIpGroupsRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "GroupIds" + ], + "members":{ + "DirectoryId":{"shape":"DirectoryId"}, + "GroupIds":{"shape":"IpGroupIdList"} + } + }, + "AssociateIpGroupsResult":{ + "type":"structure", + "members":{ + } + }, + "AuthorizeIpRulesRequest":{ + "type":"structure", + "required":[ + "GroupId", + "UserRules" + ], + "members":{ + "GroupId":{"shape":"IpGroupId"}, + "UserRules":{"shape":"IpRuleList"} + } + }, + "AuthorizeIpRulesResult":{ + "type":"structure", + "members":{ + } + }, "BooleanObject":{"type":"boolean"}, "BundleId":{ "type":"string", @@ -210,7 +380,9 @@ "enum":[ "VALUE", "STANDARD", - "PERFORMANCE" + "PERFORMANCE", + "POWER", + "GRAPHICS" ] }, "ComputeType":{ @@ -228,6 +400,21 @@ "UNKNOWN" ] }, + "CreateIpGroupRequest":{ + "type":"structure", + "required":["GroupName"], + "members":{ + "GroupName":{"shape":"IpGroupName"}, + "GroupDesc":{"shape":"IpGroupDesc"}, + "UserRules":{"shape":"IpRuleList"} + } + }, + "CreateIpGroupResult":{ + "type":"structure", + "members":{ + "GroupId":{"shape":"IpGroupId"} + } + }, "CreateTagsRequest":{ "type":"structure", "required":[ @@ -269,6 +456,18 @@ "UserEnabledAsLocalAdministrator":{"shape":"BooleanObject"} } }, + "DeleteIpGroupRequest":{ + "type":"structure", + "required":["GroupId"], + "members":{ + "GroupId":{"shape":"IpGroupId"} + } + }, + "DeleteIpGroupResult":{ + "type":"structure", + "members":{ + } + }, "DeleteTagsRequest":{ "type":"structure", "required":[ @@ -285,6 +484,21 @@ "members":{ } }, + "DescribeIpGroupsRequest":{ + "type":"structure", + "members":{ + "GroupIds":{"shape":"IpGroupIdList"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{"shape":"Limit"} + } + }, + "DescribeIpGroupsResult":{ + "type":"structure", + "members":{ + "Result":{"shape":"WorkspacesIpGroupsList"}, + "NextToken":{"shape":"PaginationToken"} + } + }, "DescribeTagsRequest":{ "type":"structure", "required":["ResourceId"], @@ -375,6 +589,22 @@ "member":{"shape":"WorkspaceDirectory"} }, "DirectoryName":{"type":"string"}, + "DisassociateIpGroupsRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "GroupIds" + ], + "members":{ + "DirectoryId":{"shape":"DirectoryId"}, + "GroupIds":{"shape":"IpGroupIdList"} + } + }, + "DisassociateIpGroupsResult":{ + "type":"structure", + "members":{ + } + }, "DnsIpAddresses":{ "type":"list", "member":{"shape":"IpAddress"} @@ -436,11 +666,64 @@ "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"}, + "ruleDesc":{"shape":"IpRuleDesc"} + } + }, + "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"}, + "State":{"shape":"ModificationStateEnum"} + } + }, + "ModificationStateEnum":{ + "type":"string", + "enum":[ + "UPDATE_INITIATED", + "UPDATE_IN_PROGRESS" + ] + }, + "ModificationStateList":{ + "type":"list", + "member":{"shape":"ModificationState"} + }, "ModifyWorkspacePropertiesRequest":{ "type":"structure", "required":[ @@ -457,6 +740,22 @@ "members":{ } }, + "ModifyWorkspaceStateRequest":{ + "type":"structure", + "required":[ + "WorkspaceId", + "WorkspaceState" + ], + "members":{ + "WorkspaceId":{"shape":"WorkspaceId"}, + "WorkspaceState":{"shape":"TargetWorkspaceState"} + } + }, + "ModifyWorkspaceStateResult":{ + "type":"structure", + "members":{ + } + }, "NonEmptyString":{ "type":"string", "min":1 @@ -468,6 +767,13 @@ }, "exception":true }, + "OperationNotSupportedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, "PaginationToken":{ "type":"string", "max":63, @@ -530,6 +836,27 @@ "max":20, "min":1 }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, + "ResourceAssociatedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, + "ResourceCreationFailedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, "ResourceLimitExceededException":{ "type":"structure", "members":{ @@ -553,6 +880,29 @@ }, "exception":true }, + "RevokeIpRulesRequest":{ + "type":"structure", + "required":[ + "GroupId", + "UserRules" + ], + "members":{ + "GroupId":{"shape":"IpGroupId"}, + "UserRules":{"shape":"IpRevokedRuleList"} + } + }, + "RevokeIpRulesResult":{ + "type":"structure", + "members":{ + } + }, + "RootStorage":{ + "type":"structure", + "members":{ + "Capacity":{"shape":"NonEmptyString"} + } + }, + "RootVolumeSizeGib":{"type":"integer"}, "RunningMode":{ "type":"string", "enum":[ @@ -648,6 +998,13 @@ "type":"string", "max":255 }, + "TargetWorkspaceState":{ + "type":"string", + "enum":[ + "AVAILABLE", + "ADMIN_MAINTENANCE" + ] + }, "TerminateRequest":{ "type":"structure", "required":["WorkspaceId"], @@ -682,6 +1039,22 @@ }, "exception":true }, + "UpdateRulesOfIpGroupRequest":{ + "type":"structure", + "required":[ + "GroupId", + "UserRules" + ], + "members":{ + "GroupId":{"shape":"IpGroupId"}, + "UserRules":{"shape":"IpRuleList"} + } + }, + "UpdateRulesOfIpGroupResult":{ + "type":"structure", + "members":{ + } + }, "UserName":{ "type":"string", "max":63, @@ -693,6 +1066,7 @@ "Capacity":{"shape":"NonEmptyString"} } }, + "UserVolumeSizeGib":{"type":"integer"}, "VolumeEncryptionKey":{"type":"string"}, "Workspace":{ "type":"structure", @@ -710,7 +1084,8 @@ "VolumeEncryptionKey":{"shape":"VolumeEncryptionKey"}, "UserVolumeEncryptionEnabled":{"shape":"BooleanObject"}, "RootVolumeEncryptionEnabled":{"shape":"BooleanObject"}, - "WorkspaceProperties":{"shape":"WorkspaceProperties"} + "WorkspaceProperties":{"shape":"WorkspaceProperties"}, + "ModificationStates":{"shape":"ModificationStateList"} } }, "WorkspaceBundle":{ @@ -720,6 +1095,7 @@ "Name":{"shape":"NonEmptyString"}, "Owner":{"shape":"BundleOwner"}, "Description":{"shape":"Description"}, + "RootStorage":{"shape":"RootStorage"}, "UserStorage":{"shape":"UserStorage"}, "ComputeType":{"shape":"ComputeType"} } @@ -751,7 +1127,8 @@ "DirectoryType":{"shape":"WorkspaceDirectoryType"}, "WorkspaceSecurityGroupId":{"shape":"SecurityGroupId"}, "State":{"shape":"WorkspaceDirectoryState"}, - "WorkspaceCreationProperties":{"shape":"DefaultWorkspaceCreationProperties"} + "WorkspaceCreationProperties":{"shape":"DefaultWorkspaceCreationProperties"}, + "ipGroupIds":{"shape":"IpGroupIdList"} } }, "WorkspaceDirectoryState":{ @@ -790,7 +1167,10 @@ "type":"structure", "members":{ "RunningMode":{"shape":"RunningMode"}, - "RunningModeAutoStopTimeoutInMinutes":{"shape":"RunningModeAutoStopTimeoutInMinutes"} + "RunningModeAutoStopTimeoutInMinutes":{"shape":"RunningModeAutoStopTimeoutInMinutes"}, + "RootVolumeSizeGib":{"shape":"RootVolumeSizeGib"}, + "UserVolumeSizeGib":{"shape":"UserVolumeSizeGib"}, + "ComputeTypeName":{"shape":"Compute"} } }, "WorkspaceRequest":{ @@ -828,13 +1208,28 @@ "STARTING", "REBUILDING", "MAINTENANCE", + "ADMIN_MAINTENANCE", "TERMINATING", "TERMINATED", "SUSPENDED", + "UPDATING", "STOPPING", "STOPPED", "ERROR" ] + }, + "WorkspacesIpGroup":{ + "type":"structure", + "members":{ + "groupId":{"shape":"IpGroupId"}, + "groupName":{"shape":"IpGroupName"}, + "groupDesc":{"shape":"IpGroupDesc"}, + "userRules":{"shape":"IpRuleList"} + } + }, + "WorkspacesIpGroupsList":{ + "type":"list", + "member":{"shape":"WorkspacesIpGroup"} } } } diff --git a/models/apis/workspaces/2015-04-08/docs-2.json b/models/apis/workspaces/2015-04-08/docs-2.json index d4c90e4f04b..8b032c7f61e 100644 --- a/models/apis/workspaces/2015-04-08/docs-2.json +++ b/models/apis/workspaces/2015-04-08/docs-2.json @@ -1,21 +1,30 @@ { "version": "2.0", - "service": "Amazon WorkSpaces Service

This reference provides detailed information about the Amazon WorkSpaces operations.

", + "service": "Amazon WorkSpaces Service

Amazon WorkSpaces enables you to provision virtual, cloud-based Microsoft Windows desktops for your users.

", "operations": { - "CreateTags": "

Creates tags for a WorkSpace.

", - "CreateWorkspaces": "

Creates one or more WorkSpaces.

This operation is asynchronous and returns before the WorkSpaces are created.

", - "DeleteTags": "

Deletes tags from a WorkSpace.

", - "DescribeTags": "

Describes tags for a WorkSpace.

", - "DescribeWorkspaceBundles": "

Obtains information about the WorkSpace bundles that are available to your account in the specified region.

You can filter the results with either the BundleIds parameter, or the Owner parameter, but not both.

This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the NextToken response member contains a token that you pass in the next call to this operation to retrieve the next set of items.

", - "DescribeWorkspaceDirectories": "

Retrieves information about the AWS Directory Service directories in the region that are registered with Amazon WorkSpaces and are available to your account.

This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the NextToken response member contains a token that you pass in the next call to this operation to retrieve the next set of items.

", - "DescribeWorkspaces": "

Obtains information about the specified WorkSpaces.

Only one of the filter parameters, such as BundleId, DirectoryId, or WorkspaceIds, can be specified at a time.

This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the NextToken response member contains a token that you pass in the next call to this operation to retrieve the next set of items.

", - "DescribeWorkspacesConnectionStatus": "

Describes the connection status of a specified WorkSpace.

", - "ModifyWorkspaceProperties": "

Modifies the WorkSpace properties, including the running mode and AutoStop time.

", - "RebootWorkspaces": "

Reboots the specified WorkSpaces.

To be able to reboot a WorkSpace, the WorkSpace must have a State of AVAILABLE, IMPAIRED, or INOPERABLE.

This operation is asynchronous and returns before the WorkSpaces have rebooted.

", - "RebuildWorkspaces": "

Rebuilds the specified WorkSpaces.

Rebuilding a WorkSpace is a potentially destructive action that can result in the loss of data. Rebuilding a WorkSpace causes the following to occur:

  • The system is restored to the image of the bundle that the WorkSpace is created from. Any applications that have been installed, or system settings that have been made since the WorkSpace was created will be lost.

  • The data drive (D drive) is re-created from the last automatic snapshot taken of the data drive. The current contents of the data drive are overwritten. Automatic snapshots of the data drive are taken every 12 hours, so the snapshot can be as much as 12 hours old.

To be able to rebuild a WorkSpace, the WorkSpace must have a State of AVAILABLE or ERROR.

This operation is asynchronous and returns before the WorkSpaces have been completely rebuilt.

", - "StartWorkspaces": "

Starts the specified WorkSpaces. The WorkSpaces must have a running mode of AutoStop and a state of STOPPED.

", - "StopWorkspaces": "

Stops the specified WorkSpaces. The WorkSpaces must have a running mode of AutoStop and a state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR.

", - "TerminateWorkspaces": "

Terminates the specified WorkSpaces.

Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is not maintained and will be destroyed. If you need to archive any user data, contact Amazon Web Services before terminating the WorkSpace.

You can terminate a WorkSpace that is in any state except SUSPENDED.

This operation is asynchronous and returns before the WorkSpaces have been completely terminated.

" + "AssociateIpGroups": "

Associates the specified IP access control group with the specified directory.

", + "AuthorizeIpRules": "

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": "

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": "

Creates the specified tags for the specified WorkSpace.

", + "CreateWorkspaces": "

Creates one or more WorkSpaces.

This operation is asynchronous and returns before the WorkSpaces are created.

", + "DeleteIpGroup": "

Deletes the specified IP access control group.

You cannot delete an IP access control group that is associated with a directory.

", + "DeleteTags": "

Deletes the specified tags from the specified WorkSpace.

", + "DescribeIpGroups": "

Describes one or more of your IP access control groups.

", + "DescribeTags": "

Describes the specified tags for the specified WorkSpace.

", + "DescribeWorkspaceBundles": "

Describes the available WorkSpace bundles.

You can filter the results using either bundle ID or owner, but not both.

", + "DescribeWorkspaceDirectories": "

Describes the available AWS Directory Service directories that are registered with Amazon WorkSpaces.

", + "DescribeWorkspaces": "

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": "

Describes the connection status of the specified WorkSpaces.

", + "DisassociateIpGroups": "

Disassociates the specified IP access control group from the specified directory.

", + "ModifyWorkspaceProperties": "

Modifies the specified WorkSpace properties.

", + "ModifyWorkspaceState": "

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": "

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": "

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": "

Removes one or more rules from the specified IP access control group.

", + "StartWorkspaces": "

Starts the specified WorkSpaces.

You cannot start a WorkSpace unless it has a running mode of AutoStop and a state of STOPPED.

", + "StopWorkspaces": "

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": "

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": "

Replaces the current rules of the specified IP access control group with the specified rules.

" }, "shapes": { "ARN": { @@ -35,140 +44,191 @@ "WorkspaceDirectory$Alias": "

The directory alias.

" } }, + "AssociateIpGroupsRequest": { + "base": null, + "refs": { + } + }, + "AssociateIpGroupsResult": { + "base": null, + "refs": { + } + }, + "AuthorizeIpRulesRequest": { + "base": null, + "refs": { + } + }, + "AuthorizeIpRulesResult": { + "base": null, + "refs": { + } + }, "BooleanObject": { "base": null, "refs": { - "DefaultWorkspaceCreationProperties$EnableWorkDocs": "

Specifies if the directory is enabled for Amazon WorkDocs.

", - "DefaultWorkspaceCreationProperties$EnableInternetAccess": "

A public IP address will be attached to all WorkSpaces that are created or rebuilt.

", - "DefaultWorkspaceCreationProperties$UserEnabledAsLocalAdministrator": "

The WorkSpace user is an administrator on the WorkSpace.

", - "Workspace$UserVolumeEncryptionEnabled": "

Specifies whether the data stored on the user volume, or D: drive, is encrypted.

", - "Workspace$RootVolumeEncryptionEnabled": "

Specifies whether the data stored on the root volume, or C: drive, is encrypted.

", - "WorkspaceRequest$UserVolumeEncryptionEnabled": "

Specifies whether the data stored on the user volume, or D: drive, is encrypted.

", - "WorkspaceRequest$RootVolumeEncryptionEnabled": "

Specifies whether the data stored on the root volume, or C: drive, is encrypted.

" + "DefaultWorkspaceCreationProperties$EnableWorkDocs": "

Indicates whether the directory is enabled for Amazon WorkDocs.

", + "DefaultWorkspaceCreationProperties$EnableInternetAccess": "

The public IP address to attach to all WorkSpaces that are created or rebuilt.

", + "DefaultWorkspaceCreationProperties$UserEnabledAsLocalAdministrator": "

Indicates whether the WorkSpace user is an administrator on the WorkSpace.

", + "Workspace$UserVolumeEncryptionEnabled": "

Indicates whether the data stored on the user volume is encrypted.

", + "Workspace$RootVolumeEncryptionEnabled": "

Indicates whether the data stored on the root volume is encrypted.

", + "WorkspaceRequest$UserVolumeEncryptionEnabled": "

Indicates whether the data stored on the user volume is encrypted.

", + "WorkspaceRequest$RootVolumeEncryptionEnabled": "

Indicates whether the data stored on the root volume is encrypted.

" } }, "BundleId": { "base": null, "refs": { "BundleIdList$member": null, - "DescribeWorkspacesRequest$BundleId": "

The identifier of a bundle to obtain the WorkSpaces for. All WorkSpaces that are created from this bundle will be retrieved. This parameter cannot be combined with any other filter parameter.

", - "Workspace$BundleId": "

The identifier of the bundle that the WorkSpace was created from.

", + "DescribeWorkspacesRequest$BundleId": "

The ID of the bundle. All WorkSpaces that are created from this bundle are retrieved. This parameter cannot be combined with any other filter.

", + "Workspace$BundleId": "

The identifier of the bundle used to create the WorkSpace.

", "WorkspaceBundle$BundleId": "

The bundle identifier.

", - "WorkspaceRequest$BundleId": "

The identifier of the bundle to create the WorkSpace from. You can use the DescribeWorkspaceBundles operation to obtain a list of the bundles that are available.

" + "WorkspaceRequest$BundleId": "

The identifier of the bundle for the WorkSpace. You can use DescribeWorkspaceBundles to list the available bundles.

" } }, "BundleIdList": { "base": null, "refs": { - "DescribeWorkspaceBundlesRequest$BundleIds": "

An array of strings that contains the identifiers of the bundles to retrieve. This parameter cannot be combined with any other filter parameter.

" + "DescribeWorkspaceBundlesRequest$BundleIds": "

The IDs of the bundles. This parameter cannot be combined with any other filter.

" } }, "BundleList": { "base": null, "refs": { - "DescribeWorkspaceBundlesResult$Bundles": "

An array of structures that contain information about the bundles.

" + "DescribeWorkspaceBundlesResult$Bundles": "

Information about the bundles.

" } }, "BundleOwner": { "base": null, "refs": { - "DescribeWorkspaceBundlesRequest$Owner": "

The owner of the bundles to retrieve. This parameter cannot be combined with any other filter parameter.

This contains one of the following values:

  • null- Retrieves the bundles that belong to the account making the call.

  • AMAZON- Retrieves the bundles that are provided by AWS.

", - "WorkspaceBundle$Owner": "

The owner of the bundle. This contains the owner's account identifier, or AMAZON if the bundle is provided by AWS.

" + "DescribeWorkspaceBundlesRequest$Owner": "

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.

", + "WorkspaceBundle$Owner": "

The owner of the bundle. This is the account identifier of the owner, or AMAZON if the bundle is provided by AWS.

" } }, "Compute": { "base": null, "refs": { - "ComputeType$Name": "

The name of the compute type for the bundle.

" + "ComputeType$Name": "

The compute type.

", + "WorkspaceProperties$ComputeTypeName": "

The compute type. For more information, see Amazon WorkSpaces Bundles.

" } }, "ComputeType": { - "base": "

Contains information about the compute type of a WorkSpace bundle.

", + "base": "

Information about the compute type.

", "refs": { - "WorkspaceBundle$ComputeType": "

A ComputeType object that specifies the compute type for the bundle.

" + "WorkspaceBundle$ComputeType": "

The compute type. For more information, see Amazon WorkSpaces Bundles.

" } }, "ComputerName": { "base": null, "refs": { - "Workspace$ComputerName": "

The name of the WorkSpace as seen by the operating system.

" + "Workspace$ComputerName": "

The name of the WorkSpace, as seen by the operating system.

" } }, "ConnectionState": { "base": null, "refs": { - "WorkspaceConnectionStatus$ConnectionState": "

The connection state of the WorkSpace. Returns UNKOWN if the WorkSpace is in a Stopped state.

" + "WorkspaceConnectionStatus$ConnectionState": "

The connection state of the WorkSpace. The connection state is unknown if the WorkSpace is stopped.

" + } + }, + "CreateIpGroupRequest": { + "base": null, + "refs": { + } + }, + "CreateIpGroupResult": { + "base": null, + "refs": { } }, "CreateTagsRequest": { - "base": "

The request of the CreateTags operation.

", + "base": null, "refs": { } }, "CreateTagsResult": { - "base": "

The result of the CreateTags operation.

", + "base": null, "refs": { } }, "CreateWorkspacesRequest": { - "base": "

Contains the inputs for the CreateWorkspaces operation.

", + "base": null, "refs": { } }, "CreateWorkspacesResult": { - "base": "

Contains the result of the CreateWorkspaces operation.

", + "base": null, "refs": { } }, "DefaultOu": { "base": null, "refs": { - "DefaultWorkspaceCreationProperties$DefaultOu": "

The organizational unit (OU) in the directory that the WorkSpace machine accounts are placed in.

" + "DefaultWorkspaceCreationProperties$DefaultOu": "

The organizational unit (OU) in the directory for the WorkSpace machine accounts.

" } }, "DefaultWorkspaceCreationProperties": { - "base": "

Contains default WorkSpace creation information.

", + "base": "

Information about defaults used to create a WorkSpace.

", + "refs": { + "WorkspaceDirectory$WorkspaceCreationProperties": "

The default creation properties for all WorkSpaces in the directory.

" + } + }, + "DeleteIpGroupRequest": { + "base": null, + "refs": { + } + }, + "DeleteIpGroupResult": { + "base": null, "refs": { - "WorkspaceDirectory$WorkspaceCreationProperties": "

A structure that specifies the default creation properties for all WorkSpaces in the directory.

" } }, "DeleteTagsRequest": { - "base": "

The request of the DeleteTags operation.

", + "base": null, "refs": { } }, "DeleteTagsResult": { - "base": "

The result of the DeleteTags operation.

", + "base": null, + "refs": { + } + }, + "DescribeIpGroupsRequest": { + "base": null, + "refs": { + } + }, + "DescribeIpGroupsResult": { + "base": null, "refs": { } }, "DescribeTagsRequest": { - "base": "

The request of the DescribeTags operation.

", + "base": null, "refs": { } }, "DescribeTagsResult": { - "base": "

The result of the DescribeTags operation.

", + "base": null, "refs": { } }, "DescribeWorkspaceBundlesRequest": { - "base": "

Contains the inputs for the DescribeWorkspaceBundles operation.

", + "base": null, "refs": { } }, "DescribeWorkspaceBundlesResult": { - "base": "

Contains the results of the DescribeWorkspaceBundles operation.

", + "base": null, "refs": { } }, "DescribeWorkspaceDirectoriesRequest": { - "base": "

Contains the inputs for the DescribeWorkspaceDirectories operation.

", + "base": null, "refs": { } }, "DescribeWorkspaceDirectoriesResult": { - "base": "

Contains the results of the DescribeWorkspaceDirectories operation.

", + "base": null, "refs": { } }, @@ -183,12 +243,12 @@ } }, "DescribeWorkspacesRequest": { - "base": "

Contains the inputs for the DescribeWorkspaces operation.

", + "base": null, "refs": { } }, "DescribeWorkspacesResult": { - "base": "

Contains the results for the DescribeWorkspaces operation.

", + "base": null, "refs": { } }, @@ -197,30 +257,32 @@ "refs": { "FailedCreateWorkspaceRequest$ErrorMessage": "

The textual error message.

", "FailedWorkspaceChangeRequest$ErrorMessage": "

The textual error message.

", - "Workspace$ErrorMessage": "

If the WorkSpace could not be created, this contains a textual error message that describes the failure.

", - "WorkspaceBundle$Description": "

The bundle description.

" + "Workspace$ErrorMessage": "

If the WorkSpace could not be created, contains a textual error message that describes the failure.

", + "WorkspaceBundle$Description": "

A description.

" } }, "DirectoryId": { "base": null, "refs": { - "DescribeWorkspacesRequest$DirectoryId": "

Specifies the directory identifier to which to limit the WorkSpaces. Optionally, you can specify a specific directory user with the UserName parameter. This parameter cannot be combined with any other filter parameter.

", + "AssociateIpGroupsRequest$DirectoryId": "

The ID of the directory.

", + "DescribeWorkspacesRequest$DirectoryId": "

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.

", "DirectoryIdList$member": null, - "Workspace$DirectoryId": "

The identifier of the AWS Directory Service directory that the WorkSpace belongs to.

", + "DisassociateIpGroupsRequest$DirectoryId": "

The ID of the directory.

", + "Workspace$DirectoryId": "

The identifier of the AWS Directory Service directory for the WorkSpace.

", "WorkspaceDirectory$DirectoryId": "

The directory identifier.

", - "WorkspaceRequest$DirectoryId": "

The identifier of the AWS Directory Service directory to create the WorkSpace in. You can use the DescribeWorkspaceDirectories operation to obtain a list of the directories that are available.

" + "WorkspaceRequest$DirectoryId": "

The identifier of the AWS Directory Service directory for the WorkSpace. You can use DescribeWorkspaceDirectories to list the available directories.

" } }, "DirectoryIdList": { "base": null, "refs": { - "DescribeWorkspaceDirectoriesRequest$DirectoryIds": "

An array of strings that contains the directory identifiers to retrieve information for. If this member is null, all directories are retrieved.

" + "DescribeWorkspaceDirectoriesRequest$DirectoryIds": "

The identifiers of the directories. If the value is null, all directories are retrieved.

" } }, "DirectoryList": { "base": null, "refs": { - "DescribeWorkspaceDirectoriesResult$Directories": "

An array of structures that contain information about the directories.

" + "DescribeWorkspaceDirectoriesResult$Directories": "

Information about the directories.

" } }, "DirectoryName": { @@ -229,10 +291,20 @@ "WorkspaceDirectory$DirectoryName": "

The name of the directory.

" } }, + "DisassociateIpGroupsRequest": { + "base": null, + "refs": { + } + }, + "DisassociateIpGroupsResult": { + "base": null, + "refs": { + } + }, "DnsIpAddresses": { "base": null, "refs": { - "WorkspaceDirectory$DnsIpAddresses": "

An array of strings that contains the IP addresses of the DNS servers for the directory.

" + "WorkspaceDirectory$DnsIpAddresses": "

The IP addresses of the DNS servers for the directory.

" } }, "ErrorType": { @@ -249,6 +321,10 @@ "InvalidParameterValuesException$message": "

The exception error message.

", "InvalidResourceStateException$message": null, "OperationInProgressException$message": null, + "OperationNotSupportedException$message": null, + "ResourceAlreadyExistsException$message": null, + "ResourceAssociatedException$message": null, + "ResourceCreationFailedException$message": null, "ResourceLimitExceededException$message": "

The exception error message.

", "ResourceNotFoundException$message": "

The resource could not be found.

", "ResourceUnavailableException$message": "

The exception error message.

", @@ -256,7 +332,7 @@ } }, "FailedCreateWorkspaceRequest": { - "base": "

Contains information about a WorkSpace that could not be created.

", + "base": "

Information about a WorkSpace that could not be created.

", "refs": { "FailedCreateWorkspaceRequests$member": null } @@ -264,41 +340,41 @@ "FailedCreateWorkspaceRequests": { "base": null, "refs": { - "CreateWorkspacesResult$FailedRequests": "

An array of structures that represent the WorkSpaces that could not be created.

" + "CreateWorkspacesResult$FailedRequests": "

Information about the WorkSpaces that could not be created.

" } }, "FailedRebootWorkspaceRequests": { "base": null, "refs": { - "RebootWorkspacesResult$FailedRequests": "

An array of structures representing any WorkSpaces that could not be rebooted.

" + "RebootWorkspacesResult$FailedRequests": "

Information about the WorkSpaces that could not be rebooted.

" } }, "FailedRebuildWorkspaceRequests": { "base": null, "refs": { - "RebuildWorkspacesResult$FailedRequests": "

An array of structures representing any WorkSpaces that could not be rebuilt.

" + "RebuildWorkspacesResult$FailedRequests": "

Information about the WorkSpace if it could not be rebuilt.

" } }, "FailedStartWorkspaceRequests": { "base": null, "refs": { - "StartWorkspacesResult$FailedRequests": "

The failed requests.

" + "StartWorkspacesResult$FailedRequests": "

Information about the WorkSpaces that could not be started.

" } }, "FailedStopWorkspaceRequests": { "base": null, "refs": { - "StopWorkspacesResult$FailedRequests": "

The failed requests.

" + "StopWorkspacesResult$FailedRequests": "

Information about the WorkSpaces that could not be stopped.

" } }, "FailedTerminateWorkspaceRequests": { "base": null, "refs": { - "TerminateWorkspacesResult$FailedRequests": "

An array of structures representing any WorkSpaces that could not be terminated.

" + "TerminateWorkspacesResult$FailedRequests": "

Information about the WorkSpaces that could not be terminated.

" } }, "FailedWorkspaceChangeRequest": { - "base": "

Contains information about a WorkSpace that could not be rebooted (RebootWorkspaces), rebuilt (RebuildWorkspaces), terminated (TerminateWorkspaces), started (StartWorkspaces), or stopped (StopWorkspaces).

", + "base": "

Information about a WorkSpace that could not be rebooted (RebootWorkspaces), rebuilt (RebuildWorkspaces), terminated (TerminateWorkspaces), started (StartWorkspaces), or stopped (StopWorkspaces).

", "refs": { "FailedRebootWorkspaceRequests$member": null, "FailedRebuildWorkspaceRequests$member": null, @@ -313,7 +389,7 @@ } }, "InvalidResourceStateException": { - "base": "

The state of the WorkSpace is not valid for this operation.

", + "base": "

The state of the resource is not valid for this operation.

", "refs": { } }, @@ -324,12 +400,106 @@ "Workspace$IpAddress": "

The IP address of the WorkSpace.

" } }, + "IpGroupDesc": { + "base": null, + "refs": { + "CreateIpGroupRequest$GroupDesc": "

The description of the group.

", + "WorkspacesIpGroup$groupDesc": "

The description of the group.

" + } + }, + "IpGroupId": { + "base": null, + "refs": { + "AuthorizeIpRulesRequest$GroupId": "

The ID of the group.

", + "CreateIpGroupResult$GroupId": "

The ID of the group.

", + "DeleteIpGroupRequest$GroupId": "

The ID of the IP access control group.

", + "IpGroupIdList$member": null, + "RevokeIpRulesRequest$GroupId": "

The ID of the group.

", + "UpdateRulesOfIpGroupRequest$GroupId": "

The ID of the group.

", + "WorkspacesIpGroup$groupId": "

The ID of the group.

" + } + }, + "IpGroupIdList": { + "base": null, + "refs": { + "AssociateIpGroupsRequest$GroupIds": "

The IDs of one or more IP access control groups.

", + "DescribeIpGroupsRequest$GroupIds": "

The IDs of one or more IP access control groups.

", + "DisassociateIpGroupsRequest$GroupIds": "

The IDs of one or more IP access control groups.

", + "WorkspaceDirectory$ipGroupIds": "

The identifiers of the IP access control groups associated with the directory.

" + } + }, + "IpGroupName": { + "base": null, + "refs": { + "CreateIpGroupRequest$GroupName": "

The name of the group.

", + "WorkspacesIpGroup$groupName": "

The name of the group.

" + } + }, + "IpRevokedRuleList": { + "base": null, + "refs": { + "RevokeIpRulesRequest$UserRules": "

The rules to remove from the group.

" + } + }, + "IpRule": { + "base": null, + "refs": { + "IpRevokedRuleList$member": null, + "IpRuleItem$ipRule": "

The IP address range, in CIDR notation.

" + } + }, + "IpRuleDesc": { + "base": null, + "refs": { + "IpRuleItem$ruleDesc": "

The description.

" + } + }, + "IpRuleItem": { + "base": "

Information about a rule for an IP access control group.

", + "refs": { + "IpRuleList$member": null + } + }, + "IpRuleList": { + "base": null, + "refs": { + "AuthorizeIpRulesRequest$UserRules": "

The rules to add to the group.

", + "CreateIpGroupRequest$UserRules": "

The rules to add to the group.

", + "UpdateRulesOfIpGroupRequest$UserRules": "

One or more rules.

", + "WorkspacesIpGroup$userRules": "

The rules.

" + } + }, "Limit": { "base": null, "refs": { + "DescribeIpGroupsRequest$MaxResults": "

The maximum number of items to return.

", "DescribeWorkspacesRequest$Limit": "

The maximum number of items to return.

" } }, + "ModificationResourceEnum": { + "base": null, + "refs": { + "ModificationState$Resource": "

The resource.

" + } + }, + "ModificationState": { + "base": "

Information about a WorkSpace modification.

", + "refs": { + "ModificationStateList$member": null + } + }, + "ModificationStateEnum": { + "base": null, + "refs": { + "ModificationState$State": "

The modification state.

" + } + }, + "ModificationStateList": { + "base": null, + "refs": { + "Workspace$ModificationStates": "

The modification states of the WorkSpace.

" + } + }, "ModifyWorkspacePropertiesRequest": { "base": null, "refs": { @@ -340,16 +510,27 @@ "refs": { } }, + "ModifyWorkspaceStateRequest": { + "base": null, + "refs": { + } + }, + "ModifyWorkspaceStateResult": { + "base": null, + "refs": { + } + }, "NonEmptyString": { "base": null, "refs": { - "CreateTagsRequest$ResourceId": "

The resource ID of the request.

", - "DeleteTagsRequest$ResourceId": "

The resource ID of the request.

", - "DescribeTagsRequest$ResourceId": "

The resource ID of the request.

", - "ResourceNotFoundException$ResourceId": "

The resource could not be found.

", + "CreateTagsRequest$ResourceId": "

The ID of the WorkSpace. To find this ID, use DescribeWorkspaces.

", + "DeleteTagsRequest$ResourceId": "

The ID of the WorkSpace. To find this ID, use DescribeWorkspaces.

", + "DescribeTagsRequest$ResourceId": "

The ID of the WorkSpace. To find this ID, use DescribeWorkspaces.

", + "ResourceNotFoundException$ResourceId": "

The ID of the resource that could not be found.

", "ResourceUnavailableException$ResourceId": "

The identifier of the resource that is not available.

", + "RootStorage$Capacity": "

The size of the root volume.

", "TagKeyList$member": null, - "UserStorage$Capacity": "

The amount of user storage for the bundle.

", + "UserStorage$Capacity": "

The size of the user storage.

", "WorkspaceBundle$Name": "

The name of the bundle.

" } }, @@ -358,21 +539,28 @@ "refs": { } }, + "OperationNotSupportedException": { + "base": "

This operation is not supported.

", + "refs": { + } + }, "PaginationToken": { "base": null, "refs": { - "DescribeWorkspaceBundlesRequest$NextToken": "

The NextToken value from a previous call to this operation. Pass null if this is the first call.

", - "DescribeWorkspaceBundlesResult$NextToken": "

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to this operation to retrieve the next set of items. This token is valid for one day and must be used within that time frame.

", - "DescribeWorkspaceDirectoriesRequest$NextToken": "

The NextToken value from a previous call to this operation. Pass null if this is the first call.

", - "DescribeWorkspaceDirectoriesResult$NextToken": "

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to this operation to retrieve the next set of items. This token is valid for one day and must be used within that time frame.

", - "DescribeWorkspacesConnectionStatusRequest$NextToken": "

The next token of the request.

", - "DescribeWorkspacesConnectionStatusResult$NextToken": "

The next token of the result.

", - "DescribeWorkspacesRequest$NextToken": "

The NextToken value from a previous call to this operation. Pass null if this is the first call.

", - "DescribeWorkspacesResult$NextToken": "

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to this operation to retrieve the next set of items. This token is valid for one day and must be used within that time frame.

" + "DescribeIpGroupsRequest$NextToken": "

The token for the next set of results. (You received this token from a previous call.)

", + "DescribeIpGroupsResult$NextToken": "

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.

", + "DescribeWorkspaceBundlesRequest$NextToken": "

The token for the next set of results. (You received this token from a previous call.)

", + "DescribeWorkspaceBundlesResult$NextToken": "

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$NextToken": "

The token for the next set of results. (You received this token from a previous call.)

", + "DescribeWorkspaceDirectoriesResult$NextToken": "

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$NextToken": "

The token for the next set of results. (You received this token from a previous call.)

", + "DescribeWorkspacesConnectionStatusResult$NextToken": "

The token to use to retrieve the next set of results, or null if there are no more results available.

", + "DescribeWorkspacesRequest$NextToken": "

The token for the next set of results. (You received this token from a previous call.)

", + "DescribeWorkspacesResult$NextToken": "

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.

" } }, "RebootRequest": { - "base": "

Contains information used with the RebootWorkspaces operation to reboot a WorkSpace.

", + "base": "

Information used to reboot a WorkSpace.

", "refs": { "RebootWorkspaceRequests$member": null } @@ -380,21 +568,21 @@ "RebootWorkspaceRequests": { "base": null, "refs": { - "RebootWorkspacesRequest$RebootWorkspaceRequests": "

An array of structures that specify the WorkSpaces to reboot.

" + "RebootWorkspacesRequest$RebootWorkspaceRequests": "

The WorkSpaces to reboot. You can specify up to 25 WorkSpaces.

" } }, "RebootWorkspacesRequest": { - "base": "

Contains the inputs for the RebootWorkspaces operation.

", + "base": null, "refs": { } }, "RebootWorkspacesResult": { - "base": "

Contains the results of the RebootWorkspaces operation.

", + "base": null, "refs": { } }, "RebuildRequest": { - "base": "

Contains information used with the RebuildWorkspaces operation to rebuild a WorkSpace.

", + "base": "

Information used to rebuild a WorkSpace.

", "refs": { "RebuildWorkspaceRequests$member": null } @@ -402,16 +590,16 @@ "RebuildWorkspaceRequests": { "base": null, "refs": { - "RebuildWorkspacesRequest$RebuildWorkspaceRequests": "

An array of structures that specify the WorkSpaces to rebuild.

" + "RebuildWorkspacesRequest$RebuildWorkspaceRequests": "

The WorkSpace to rebuild. You can specify a single WorkSpace.

" } }, "RebuildWorkspacesRequest": { - "base": "

Contains the inputs for the RebuildWorkspaces operation.

", + "base": null, "refs": { } }, "RebuildWorkspacesResult": { - "base": "

Contains the results of the RebuildWorkspaces operation.

", + "base": null, "refs": { } }, @@ -421,6 +609,21 @@ "WorkspaceDirectory$RegistrationCode": "

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

" } }, + "ResourceAlreadyExistsException": { + "base": "

The specified resource already exists.

", + "refs": { + } + }, + "ResourceAssociatedException": { + "base": "

The resource is associated with a directory.

", + "refs": { + } + }, + "ResourceCreationFailedException": { + "base": "

The resource could not be created.

", + "refs": { + } + }, "ResourceLimitExceededException": { "base": "

Your resource limits have been exceeded.

", "refs": { @@ -436,10 +639,32 @@ "refs": { } }, + "RevokeIpRulesRequest": { + "base": null, + "refs": { + } + }, + "RevokeIpRulesResult": { + "base": null, + "refs": { + } + }, + "RootStorage": { + "base": "

Information about the root volume for a WorkSpace bundle.

", + "refs": { + "WorkspaceBundle$RootStorage": "

The size of the root volume.

" + } + }, + "RootVolumeSizeGib": { + "base": null, + "refs": { + "WorkspaceProperties$RootVolumeSizeGib": "

The size of the root volume.

" + } + }, "RunningMode": { "base": null, "refs": { - "WorkspaceProperties$RunningMode": "

The running mode of the WorkSpace. AlwaysOn WorkSpaces are billed monthly. AutoStop WorkSpaces are billed by the hour and stopped when no longer being used in order to save on costs.

" + "WorkspaceProperties$RunningMode": "

The running mode. For more information, see Manage the WorkSpace Running Mode.

" } }, "RunningModeAutoStopTimeoutInMinutes": { @@ -451,12 +676,12 @@ "SecurityGroupId": { "base": null, "refs": { - "DefaultWorkspaceCreationProperties$CustomSecurityGroupId": "

The identifier of any custom security groups that are applied to the WorkSpaces when they are created.

", + "DefaultWorkspaceCreationProperties$CustomSecurityGroupId": "

The identifier of any security groups to apply to WorkSpaces when they are created.

", "WorkspaceDirectory$WorkspaceSecurityGroupId": "

The identifier of the security group that is assigned to new WorkSpaces.

" } }, "StartRequest": { - "base": "

Describes the start request.

", + "base": "

Information used to start a WorkSpace.

", "refs": { "StartWorkspaceRequests$member": null } @@ -464,7 +689,7 @@ "StartWorkspaceRequests": { "base": null, "refs": { - "StartWorkspacesRequest$StartWorkspaceRequests": "

The requests.

" + "StartWorkspacesRequest$StartWorkspaceRequests": "

The WorkSpaces to start. You can specify up to 25 WorkSpaces.

" } }, "StartWorkspacesRequest": { @@ -478,7 +703,7 @@ } }, "StopRequest": { - "base": "

Describes the stop request.

", + "base": "

Information used to stop a WorkSpace.

", "refs": { "StopWorkspaceRequests$member": null } @@ -486,7 +711,7 @@ "StopWorkspaceRequests": { "base": null, "refs": { - "StopWorkspacesRequest$StopWorkspaceRequests": "

The requests.

" + "StopWorkspacesRequest$StopWorkspaceRequests": "

The WorkSpaces to stop. You can specify up to 25 WorkSpaces.

" } }, "StopWorkspacesRequest": { @@ -503,17 +728,17 @@ "base": null, "refs": { "SubnetIds$member": null, - "Workspace$SubnetId": "

The identifier of the subnet that the WorkSpace is in.

" + "Workspace$SubnetId": "

The identifier of the subnet for the WorkSpace.

" } }, "SubnetIds": { "base": null, "refs": { - "WorkspaceDirectory$SubnetIds": "

An array of strings that contains the identifiers of the subnets used with the directory.

" + "WorkspaceDirectory$SubnetIds": "

The identifiers of the subnets used with the directory.

" } }, "Tag": { - "base": "

Describes the tag of the WorkSpace.

", + "base": "

Information about a tag.

", "refs": { "TagList$member": null } @@ -527,15 +752,15 @@ "TagKeyList": { "base": null, "refs": { - "DeleteTagsRequest$TagKeys": "

The tag keys of the request.

" + "DeleteTagsRequest$TagKeys": "

The tag keys.

" } }, "TagList": { "base": null, "refs": { - "CreateTagsRequest$Tags": "

The tags of the request.

", - "DescribeTagsResult$TagList": "

The list of tags.

", - "WorkspaceRequest$Tags": "

The tags of the WorkSpace request.

" + "CreateTagsRequest$Tags": "

The tags. Each WorkSpace can have a maximum of 50 tags.

", + "DescribeTagsResult$TagList": "

The tags.

", + "WorkspaceRequest$Tags": "

The tags for the WorkSpace.

" } }, "TagValue": { @@ -544,8 +769,14 @@ "Tag$Value": "

The value of the tag.

" } }, + "TargetWorkspaceState": { + "base": null, + "refs": { + "ModifyWorkspaceStateRequest$WorkspaceState": "

The WorkSpace state.

" + } + }, "TerminateRequest": { - "base": "

Contains information used with the TerminateWorkspaces operation to terminate a WorkSpace.

", + "base": "

Information used to terminate a WorkSpace.

", "refs": { "TerminateWorkspaceRequests$member": null } @@ -553,16 +784,16 @@ "TerminateWorkspaceRequests": { "base": null, "refs": { - "TerminateWorkspacesRequest$TerminateWorkspaceRequests": "

An array of structures that specify the WorkSpaces to terminate.

" + "TerminateWorkspacesRequest$TerminateWorkspaceRequests": "

The WorkSpaces to terminate. You can specify up to 25 WorkSpaces.

" } }, "TerminateWorkspacesRequest": { - "base": "

Contains the inputs for the TerminateWorkspaces operation.

", + "base": null, "refs": { } }, "TerminateWorkspacesResult": { - "base": "

Contains the results of the TerminateWorkspaces operation.

", + "base": null, "refs": { } }, @@ -578,19 +809,35 @@ "refs": { } }, + "UpdateRulesOfIpGroupRequest": { + "base": null, + "refs": { + } + }, + "UpdateRulesOfIpGroupResult": { + "base": null, + "refs": { + } + }, "UserName": { "base": null, "refs": { - "DescribeWorkspacesRequest$UserName": "

Used with the DirectoryId parameter to specify the directory user for whom to obtain the WorkSpace.

", - "Workspace$UserName": "

The user that the WorkSpace is assigned to.

", + "DescribeWorkspacesRequest$UserName": "

The name of the directory user. You must specify this parameter with DirectoryId.

", + "Workspace$UserName": "

The user for the WorkSpace.

", "WorkspaceDirectory$CustomerUserName": "

The user name for the service account.

", - "WorkspaceRequest$UserName": "

The username that the WorkSpace is assigned to. This username must exist in the AWS Directory Service directory specified by the DirectoryId member.

" + "WorkspaceRequest$UserName": "

The username of the user for the WorkSpace. This username must exist in the AWS Directory Service directory for the WorkSpace.

" } }, "UserStorage": { - "base": "

Contains information about the user storage for a WorkSpace bundle.

", + "base": "

Information about the user storage for a WorkSpace bundle.

", "refs": { - "WorkspaceBundle$UserStorage": "

A UserStorage object that specifies the amount of user storage that the bundle contains.

" + "WorkspaceBundle$UserStorage": "

The size of the user storage.

" + } + }, + "UserVolumeSizeGib": { + "base": null, + "refs": { + "WorkspaceProperties$UserVolumeSizeGib": "

The size of the user storage.

" } }, "VolumeEncryptionKey": { @@ -601,13 +848,13 @@ } }, "Workspace": { - "base": "

Contains information about a WorkSpace.

", + "base": "

Information about a WorkSpace.

", "refs": { "WorkspaceList$member": null } }, "WorkspaceBundle": { - "base": "

Contains information about a WorkSpace bundle.

", + "base": "

Information about a WorkSpace bundle.

", "refs": { "BundleList$member": null } @@ -621,11 +868,11 @@ "WorkspaceConnectionStatusList": { "base": null, "refs": { - "DescribeWorkspacesConnectionStatusResult$WorkspacesConnectionStatus": "

The connection status of the WorkSpace.

" + "DescribeWorkspacesConnectionStatusResult$WorkspacesConnectionStatus": "

Information about the connection status of the WorkSpace.

" } }, "WorkspaceDirectory": { - "base": "

Contains information about an AWS Directory Service directory for use with Amazon WorkSpaces.

", + "base": "

Information about an AWS Directory Service directory for use with Amazon WorkSpaces.

", "refs": { "DirectoryList$member": null } @@ -645,7 +892,7 @@ "WorkspaceErrorCode": { "base": null, "refs": { - "Workspace$ErrorCode": "

If the WorkSpace could not be created, this contains the error code.

" + "Workspace$ErrorCode": "

If the WorkSpace could not be created, contains the error code.

" } }, "WorkspaceId": { @@ -653,11 +900,12 @@ "refs": { "FailedWorkspaceChangeRequest$WorkspaceId": "

The identifier of the WorkSpace.

", "ModifyWorkspacePropertiesRequest$WorkspaceId": "

The ID of the WorkSpace.

", - "RebootRequest$WorkspaceId": "

The identifier of the WorkSpace to reboot.

", - "RebuildRequest$WorkspaceId": "

The identifier of the WorkSpace to rebuild.

", + "ModifyWorkspaceStateRequest$WorkspaceId": "

The ID of the WorkSpace.

", + "RebootRequest$WorkspaceId": "

The ID of the WorkSpace.

", + "RebuildRequest$WorkspaceId": "

The ID of the WorkSpace.

", "StartRequest$WorkspaceId": "

The ID of the WorkSpace.

", "StopRequest$WorkspaceId": "

The ID of the WorkSpace.

", - "TerminateRequest$WorkspaceId": "

The identifier of the WorkSpace to terminate.

", + "TerminateRequest$WorkspaceId": "

The ID of the WorkSpace.

", "Workspace$WorkspaceId": "

The identifier of the WorkSpace.

", "WorkspaceConnectionStatus$WorkspaceId": "

The ID of the WorkSpace.

", "WorkspaceIdList$member": null @@ -666,36 +914,36 @@ "WorkspaceIdList": { "base": null, "refs": { - "DescribeWorkspacesConnectionStatusRequest$WorkspaceIds": "

An array of strings that contain the identifiers of the WorkSpaces.

", - "DescribeWorkspacesRequest$WorkspaceIds": "

An array of strings that contain the identifiers of the WorkSpaces for which to retrieve information. This parameter cannot be combined with any other filter parameter.

Because the CreateWorkspaces operation is asynchronous, the identifier it returns is not immediately available. If you immediately call DescribeWorkspaces with this identifier, no information is returned.

" + "DescribeWorkspacesConnectionStatusRequest$WorkspaceIds": "

The identifiers of the WorkSpaces. You can specify up to 25 WorkSpaces.

", + "DescribeWorkspacesRequest$WorkspaceIds": "

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.

" } }, "WorkspaceList": { "base": null, "refs": { - "CreateWorkspacesResult$PendingRequests": "

An array of structures that represent the WorkSpaces that were created.

Because this operation is asynchronous, the identifier in WorkspaceId is not immediately available. If you immediately call DescribeWorkspaces with this identifier, no information will be returned.

", - "DescribeWorkspacesResult$Workspaces": "

An array of structures that contain the information about the WorkSpaces.

Because the CreateWorkspaces operation is asynchronous, some of this information may be incomplete for a newly-created WorkSpace.

" + "CreateWorkspacesResult$PendingRequests": "

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.

", + "DescribeWorkspacesResult$Workspaces": "

Information about the WorkSpaces.

Because CreateWorkspaces is an asynchronous operation, some of the returned information could be incomplete.

" } }, "WorkspaceProperties": { - "base": "

Describes the properties of a WorkSpace.

", + "base": "

Information about a WorkSpace.

", "refs": { - "ModifyWorkspacePropertiesRequest$WorkspaceProperties": "

The WorkSpace properties of the request.

", - "Workspace$WorkspaceProperties": null, - "WorkspaceRequest$WorkspaceProperties": null + "ModifyWorkspacePropertiesRequest$WorkspaceProperties": "

The properties of the WorkSpace.

", + "Workspace$WorkspaceProperties": "

The properties of the WorkSpace.

", + "WorkspaceRequest$WorkspaceProperties": "

The WorkSpace properties.

" } }, "WorkspaceRequest": { - "base": "

Contains information about a WorkSpace creation request.

", + "base": "

Information used to create a WorkSpace.

", "refs": { - "FailedCreateWorkspaceRequest$WorkspaceRequest": "

A FailedCreateWorkspaceRequest$WorkspaceRequest object that contains the information about the WorkSpace that could not be created.

", + "FailedCreateWorkspaceRequest$WorkspaceRequest": "

Information about the WorkSpace.

", "WorkspaceRequestList$member": null } }, "WorkspaceRequestList": { "base": null, "refs": { - "CreateWorkspacesRequest$Workspaces": "

An array of structures that specify the WorkSpaces to create.

" + "CreateWorkspacesRequest$Workspaces": "

The WorkSpaces to create. You can specify up to 25 WorkSpaces.

" } }, "WorkspaceState": { @@ -703,6 +951,18 @@ "refs": { "Workspace$State": "

The operational state of the WorkSpace.

" } + }, + "WorkspacesIpGroup": { + "base": "

Information about an IP access control group.

", + "refs": { + "WorkspacesIpGroupsList$member": null + } + }, + "WorkspacesIpGroupsList": { + "base": null, + "refs": { + "DescribeIpGroupsResult$Result": "

Information about the IP access control groups.

" + } } } } diff --git a/models/apis/workspaces/2015-04-08/smoke.json b/models/apis/workspaces/2015-04-08/smoke.json new file mode 100644 index 00000000000..02e89229062 --- /dev/null +++ b/models/apis/workspaces/2015-04-08/smoke.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + { + "operationName": "DescribeWorkspaces", + "input": {}, + "errorExpectedFromService": false + }, + { + "operationName": "DescribeWorkspaces", + "input": { + "DirectoryId": "fake-id" + }, + "errorExpectedFromService": true + } + ] +} diff --git a/models/apis/xray/2016-04-12/api-2.json b/models/apis/xray/2016-04-12/api-2.json index 1baab6ef8d3..c6efd125425 100644 --- a/models/apis/xray/2016-04-12/api-2.json +++ b/models/apis/xray/2016-04-12/api-2.json @@ -22,6 +22,19 @@ {"shape":"ThrottledException"} ] }, + "GetEncryptionConfig":{ + "name":"GetEncryptionConfig", + "http":{ + "method":"POST", + "requestUri":"/EncryptionConfig" + }, + "input":{"shape":"GetEncryptionConfigRequest"}, + "output":{"shape":"GetEncryptionConfigResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ] + }, "GetServiceGraph":{ "name":"GetServiceGraph", "http":{ @@ -61,6 +74,19 @@ {"shape":"ThrottledException"} ] }, + "PutEncryptionConfig":{ + "name":"PutEncryptionConfig", + "http":{ + "method":"POST", + "requestUri":"/PutEncryptionConfig" + }, + "input":{"shape":"PutEncryptionConfigRequest"}, + "output":{"shape":"PutEncryptionConfigResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ] + }, "PutTelemetryRecords":{ "name":"PutTelemetryRecords", "http":{ @@ -176,6 +202,33 @@ "TotalResponseTime":{"shape":"NullableDouble"} } }, + "EncryptionConfig":{ + "type":"structure", + "members":{ + "KeyId":{"shape":"String"}, + "Status":{"shape":"EncryptionStatus"}, + "Type":{"shape":"EncryptionType"} + } + }, + "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", @@ -197,6 +250,17 @@ "max":2000, "min":1 }, + "GetEncryptionConfigRequest":{ + "type":"structure", + "members":{ + } + }, + "GetEncryptionConfigResult":{ + "type":"structure", + "members":{ + "EncryptionConfig":{"shape":"EncryptionConfig"} + } + }, "GetServiceGraphRequest":{ "type":"structure", "required":[ @@ -293,6 +357,20 @@ "NullableDouble":{"type":"double"}, "NullableInteger":{"type":"integer"}, "NullableLong":{"type":"long"}, + "PutEncryptionConfigRequest":{ + "type":"structure", + "required":["Type"], + "members":{ + "KeyId":{"shape":"EncryptionKeyId"}, + "Type":{"shape":"EncryptionType"} + } + }, + "PutEncryptionConfigResult":{ + "type":"structure", + "members":{ + "EncryptionConfig":{"shape":"EncryptionConfig"} + } + }, "PutTelemetryRecordsRequest":{ "type":"structure", "required":["TelemetryRecords"], diff --git a/models/apis/xray/2016-04-12/docs-2.json b/models/apis/xray/2016-04-12/docs-2.json index fd7434b8060..ab34c4c5a85 100644 --- a/models/apis/xray/2016-04-12/docs-2.json +++ b/models/apis/xray/2016-04-12/docs-2.json @@ -3,11 +3,13 @@ "service": "

AWS X-Ray provides APIs for managing debug traces and retrieving service maps and other data created by processing those traces.

", "operations": { "BatchGetTraces": "

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.

", + "GetEncryptionConfig": "

Retrieves the current encryption configuration for X-Ray data.

", "GetServiceGraph": "

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": "

Retrieves a service graph for one or more specific trace IDs.

", "GetTraceSummaries": "

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": "

Updates the encryption configuration for X-Ray data.

", "PutTelemetryRecords": "

Used by the AWS X-Ray daemon to upload telemetry.

", - "PutTraceSegments": "

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.

" + "PutTraceSegments": "

Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in batches. A segment document can be a completed segment, an in-progress segment, or an array of subsegments.

Segments must include the following fields. For the full segment document schema, see AWS X-Ray Segment Documents in the AWS X-Ray Developer Guide.

Required Segment Document Fields

  • name - The name of the service that handled the request.

  • id - A 64-bit identifier for the segment, unique among segments in the same trace, in 16 hexadecimal digits.

  • trace_id - A unique identifier that connects all segments and subsegments originating from a single client request.

  • start_time - Time the segment or subsegment was created, in floating point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010 or 1.480615200010E9.

  • end_time - Time the segment or subsegment was closed. For example, 1480615200.090 or 1.480615200090E9. Specify either an end_time or in_progress.

  • in_progress - Set to true instead of specifying an end_time to record that a segment has been started, but is not complete. Send an in progress segment when your application receives a request that will take a long time to serve, to trace the fact that the request was received. When the response is sent, send the complete segment to overwrite the in-progress segment.

A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. This includes:

Trace ID Format

  • The version number, i.e. 1.

  • The time of the original request, in Unix epoch time, in 8 hexadecimal digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200 seconds, or 58406520 in hexadecimal.

  • A 96-bit identifier for the trace, globally unique, in 24 hexadecimal digits.

" }, "shapes": { "Alias": { @@ -92,6 +94,32 @@ "Edge$SummaryStatistics": "

Response statistics for segments on the edge.

" } }, + "EncryptionConfig": { + "base": "

A configuration document that specifies encryption configuration settings.

", + "refs": { + "GetEncryptionConfigResult$EncryptionConfig": "

The encryption configuration document.

", + "PutEncryptionConfigResult$EncryptionConfig": "

The new encryption configuration.

" + } + }, + "EncryptionKeyId": { + "base": null, + "refs": { + "PutEncryptionConfigRequest$KeyId": "

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.

" + } + }, + "EncryptionStatus": { + "base": null, + "refs": { + "EncryptionConfig$Status": "

The encryption status. After modifying encryption configuration with PutEncryptionConfig, the status can be UPDATING for up to one hour before X-Ray starts encrypting data with the new key.

" + } + }, + "EncryptionType": { + "base": null, + "refs": { + "EncryptionConfig$Type": "

The type of encryption. Set to KMS for encryption with CMKs. Set to NONE for default encryption.

", + "PutEncryptionConfigRequest$Type": "

The type of encryption. Set to KMS to use your own key for encryption. Set to NONE for default encryption.

" + } + }, "ErrorMessage": { "base": null, "refs": { @@ -119,6 +147,16 @@ "GetTraceSummariesRequest$FilterExpression": "

Specify a filter expression to retrieve trace summaries for services or requests that meet certain requirements.

" } }, + "GetEncryptionConfigRequest": { + "base": null, + "refs": { + } + }, + "GetEncryptionConfigResult": { + "base": null, + "refs": { + } + }, "GetServiceGraphRequest": { "base": null, "refs": { @@ -237,11 +275,21 @@ "ErrorStatistics$TotalCount": "

The total number of requests that failed with a 4xx Client Error status code.

", "FaultStatistics$OtherCount": "

The number of requests that failed with untracked 5xx Server Error status codes.

", "FaultStatistics$TotalCount": "

The total number of requests that failed with a 5xx Server Error status code.

", - "GetTraceSummariesResult$TracesProcessedCount": "

The number of traces that were processed to get this set of summaries.

", + "GetTraceSummariesResult$TracesProcessedCount": "

The total number of traces processed, including traces that did not match the specified filter expression.

", "ServiceStatistics$OkCount": "

The number of requests that completed with a 2xx Success status code.

", "ServiceStatistics$TotalCount": "

The total number of completed requests.

" } }, + "PutEncryptionConfigRequest": { + "base": null, + "refs": { + } + }, + "PutEncryptionConfigResult": { + "base": null, + "refs": { + } + }, "PutTelemetryRecordsRequest": { "base": null, "refs": { @@ -269,7 +317,7 @@ } }, "Segment": { - "base": "

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.

", + "base": "

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.

", "refs": { "SegmentList$member": null } @@ -277,7 +325,7 @@ "SegmentDocument": { "base": null, "refs": { - "Segment$Document": "

The segment document

" + "Segment$Document": "

The segment document.

" } }, "SegmentId": { @@ -341,6 +389,7 @@ "AnnotationValue$StringValue": "

Value for a String annotation.

", "BatchGetTracesRequest$NextToken": "

Pagination token. Not used.

", "BatchGetTracesResult$NextToken": "

Pagination token. Not used.

", + "EncryptionConfig$KeyId": "

The ID of the customer master key (CMK) used for encryption, if applicable.

", "GetServiceGraphRequest$NextToken": "

Pagination token. Not used.

", "GetServiceGraphResult$NextToken": "

Pagination token. Not used.

", "GetTraceGraphRequest$NextToken": "

Pagination token. Not used.

", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 555397b6f1a..c3ba2aa0063 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -37,6 +37,9 @@ "eu-west-2" : { "description" : "EU (London)" }, + "eu-west-3" : { + "description" : "EU (Paris)" + }, "sa-east-1" : { "description" : "South America (Sao Paulo)" }, @@ -54,6 +57,11 @@ } }, "services" : { + "a4b" : { + "endpoints" : { + "us-east-1" : { } + } + }, "acm" : { "endpoints" : { "ap-northeast-1" : { }, @@ -65,6 +73,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -72,6 +81,32 @@ "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" : { @@ -94,6 +129,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -119,6 +155,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -143,10 +180,13 @@ "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" : { } @@ -166,6 +206,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -173,16 +214,37 @@ "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" : { } } }, @@ -198,10 +260,32 @@ "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" : { }, @@ -220,6 +304,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -255,6 +340,11 @@ } }, "cloudhsmv2" : { + "defaults" : { + "credentialScope" : { + "service" : "cloudhsm" + } + }, "endpoints" : { "ap-northeast-1" : { }, "ap-south-1" : { }, @@ -263,6 +353,7 @@ "ca-central-1" : { }, "eu-central-1" : { }, "eu-west-1" : { }, + "eu-west-2" : { }, "us-east-1" : { }, "us-east-2" : { }, "us-west-1" : { }, @@ -294,6 +385,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -304,16 +396,44 @@ "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-2" : { } + "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" : { @@ -327,6 +447,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -345,6 +466,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -363,6 +485,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -372,8 +495,11 @@ }, "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" : { }, @@ -428,6 +554,17 @@ "us-west-2" : { } } }, + "comprehend" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, "config" : { "endpoints" : { "ap-northeast-1" : { }, @@ -439,6 +576,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -461,11 +599,14 @@ "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" : { } } }, @@ -482,9 +623,12 @@ "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" : { } } @@ -505,6 +649,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -528,6 +673,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -539,6 +685,7 @@ "endpoints" : { "ap-northeast-1" : { }, "ap-northeast-2" : { }, + "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ca-central-1" : { }, @@ -566,6 +713,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "local" : { "credentialScope" : { "region" : "us-east-1" @@ -594,6 +742,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -605,12 +754,15 @@ "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" : { }, @@ -621,12 +773,15 @@ "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" : { }, @@ -644,6 +799,13 @@ "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" : { }, @@ -662,6 +824,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -671,11 +834,14 @@ }, "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" : { } } }, @@ -693,6 +859,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -717,6 +884,7 @@ }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { "sslCommonName" : "{service}.{region}.{dnsSuffix}" @@ -766,6 +934,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -784,6 +953,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -794,10 +964,29 @@ "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" : { } } }, @@ -833,6 +1022,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "us-east-1" : { }, "us-east-2" : { }, "us-west-1" : { }, @@ -841,6 +1031,14 @@ }, "glue" : { "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" : { } @@ -854,7 +1052,31 @@ "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 @@ -896,8 +1118,10 @@ "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" : { } } @@ -911,6 +1135,7 @@ "endpoints" : { "ap-northeast-1" : { }, "ap-northeast-2" : { }, + "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "eu-central-1" : { }, @@ -932,6 +1157,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -941,6 +1167,16 @@ }, "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" : { } @@ -957,6 +1193,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -975,6 +1212,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -985,12 +1223,15 @@ "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" : { } @@ -1007,6 +1248,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -1025,6 +1267,62 @@ "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-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" : { @@ -1041,6 +1339,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -1065,7 +1364,9 @@ } }, "endpoints" : { - "us-east-1" : { } + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } } }, "monitoring" : { @@ -1082,6 +1383,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -1098,16 +1400,46 @@ }, "isRegionalized" : false }, - "opsworks" : { + "neptune" : { "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" : { }, + "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" : { }, @@ -1117,8 +1449,14 @@ }, "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" : { } } }, @@ -1155,6 +1493,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -1173,6 +1512,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { "sslCommonName" : "{service}.{dnsSuffix}" @@ -1193,6 +1533,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -1202,8 +1543,30 @@ }, "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" : { } } }, @@ -1232,7 +1595,20 @@ }, "endpoints" : { "eu-west-1" : { }, - "us-east-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" : { @@ -1262,6 +1638,7 @@ "signatureVersions" : [ "s3", "s3v4" ] }, "eu-west-2" : { }, + "eu-west-3" : { }, "s3-external-1" : { "credentialScope" : { "region" : "us-east-1" @@ -1290,6 +1667,18 @@ "isRegionalized" : true, "partitionEndpoint" : "us-east-1" }, + "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" : { } + } + }, "sdb" : { "defaults" : { "protocols" : [ "http", "https" ], @@ -1308,6 +1697,73 @@ "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" : { }, @@ -1319,6 +1775,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -1326,6 +1783,15 @@ "us-west-2" : { } } }, + "servicediscovery" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "shield" : { "defaults" : { "protocols" : [ "https" ], @@ -1341,11 +1807,17 @@ "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" : { } } }, @@ -1353,10 +1825,13 @@ "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" : { }, @@ -1378,6 +1853,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -1400,6 +1876,31 @@ "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}" @@ -1420,6 +1921,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -1430,12 +1932,17 @@ "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" : { } } }, @@ -1450,6 +1957,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -1474,6 +1982,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "local" : { "credentialScope" : { "region" : "us-east-1" @@ -1511,6 +2020,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-1-fips" : { @@ -1559,6 +2069,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -1577,6 +2088,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -1584,6 +2096,17 @@ "us-west-2" : { } } }, + "translate" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, "waf" : { "endpoints" : { "aws-global" : { @@ -1599,8 +2122,11 @@ "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" : { } } @@ -1615,14 +2141,27 @@ "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" : { } } @@ -1659,12 +2198,16 @@ "regions" : { "cn-north-1" : { "description" : "China (Beijing)" + }, + "cn-northwest-1" : { + "description" : "China (Ningxia)" } }, "services" : { "apigateway" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "application-autoscaling" : { @@ -1676,7 +2219,8 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "autoscaling" : { @@ -1684,22 +2228,26 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "cloudformation" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "cloudtrail" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "codedeploy" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "cognito-identity" : { @@ -1708,13 +2256,32 @@ } }, "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-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "ds" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "dynamodb" : { @@ -1722,7 +2289,8 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "ec2" : { @@ -1730,27 +2298,32 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "ecr" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "ecs" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "elasticache" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "elasticbeanstalk" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "elasticloadbalancing" : { @@ -1758,7 +2331,8 @@ "protocols" : [ "https" ] }, "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "elasticmapreduce" : { @@ -1766,13 +2340,19 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "es" : { + "endpoints" : { + "cn-northwest-1" : { } } }, - "es" : { }, "events" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "glacier" : { @@ -1780,7 +2360,8 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "iam" : { @@ -1807,17 +2388,20 @@ }, "kinesis" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "lambda" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "logs" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "monitoring" : { @@ -1825,17 +2409,20 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "rds" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "redshift" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "s3" : { @@ -1844,7 +2431,14 @@ "signatureVersions" : [ "s3v4" ] }, "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "sms" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "snowball" : { @@ -1857,7 +2451,8 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "sqs" : { @@ -1866,12 +2461,14 @@ "sslCommonName" : "{region}.queue.{dnsSuffix}" }, "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "ssm" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "storagegateway" : { @@ -1887,22 +2484,26 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "sts" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "swf" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } }, "tagging" : { "endpoints" : { - "cn-north-1" : { } + "cn-north-1" : { }, + "cn-northwest-1" : { } } } } @@ -1949,6 +2550,16 @@ "us-gov-west-1" : { } } }, + "cloudhsmv2" : { + "defaults" : { + "credentialScope" : { + "service" : "cloudhsm" + } + }, + "endpoints" : { + "us-gov-west-1" : { } + } + }, "cloudtrail" : { "endpoints" : { "us-gov-west-1" : { } @@ -1990,8 +2601,24 @@ "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" : { } } }, @@ -2014,6 +2641,11 @@ } } }, + "es" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, "events" : { "endpoints" : { "us-gov-west-1" : { } @@ -2038,6 +2670,11 @@ "isRegionalized" : false, "partitionEndpoint" : "aws-us-gov-global" }, + "inspector" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, "kinesis" : { "endpoints" : { "us-gov-west-1" : { } @@ -2058,11 +2695,26 @@ "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" : { } @@ -2125,6 +2777,16 @@ "us-gov-west-1" : { } } }, + "states" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "storagegateway" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, "streams.dynamodb" : { "defaults" : { "credentialScope" : { @@ -2150,6 +2812,19 @@ "endpoints" : { "us-gov-west-1" : { } } + }, + "tagging" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "translate" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "us-gov-west-1" : { } + } } } } ],